Sicurezza Informatica e Sistemi - DEI
Transcript
Sicurezza Informatica e Sistemi - DEI
Classe delle lauree in: LM – 32 Ingegneria Informatica Tipo di attività formativa: Ambito Caratterizzante disciplinare: Ingegneria Informatica Titolo dell’Insegnamento: Sistemi Distribuiti Codice (Secondo Modulo del Corso dell’insegnamento: di Sicurezza Informatica e Sistemi Distribuiti da 12CFU) DOCENTE: Marcello Castellano Corso di laurea in: Ingegneria Informatica Settore scientifico disciplinare: Sistemi di Elaborazione dell’ Informazione (ING-INF/05) Anno accademico: 2013 - 2014 CFU: 6 Tipo di insegnamento: Obbligatorio Anno: primo Semestre: secondo ARTICOLAZIONE IN TIPOLOGIE DIDATTICHE: Il corso comprende 40 ore di lezioni teoriche, 12 ore laboratorio, 8 ore di esercitazioni,seminari e tirocini. CONOSCENZE PRELIMINARI: Si richiede la conoscenza dei principali concetti di sistemi operativi e di reti di calcolatori. OBIETTIVI FORMATIVI: Il corso si prefigge di fornire gli elementi concettuali che pongano lo studente in condizioni di conoscere le basi dei sistemi complessi di modelli di sistemi computazionali distribuiti, le principali applicazioni ed elementi di progettazione degli stessi. PROGRAMMA: 1. Principi Generali e Architetture (0.75 CFU: T): Introduzione ai Sistemi Distribuiti, Obiettivi, Tipi di Sistemi Distribuiti, Stili architetturali, Architetture di sistema, Architetture midlleware a confronto, Autogestione nei sistemi distribuiti. 2. Processi Distribuiti (0.75 CFU: T): Introduzione ai Thread, Thread e sistemi distribuiti, Virtualizzazione, Ruolo della Virtualizzazione nei sistemi distribuiti, Architetture delle macchine virtuali, Client, Interfacce utente di rete, Server, Migrazione del Codice. 3. Comunicazione (0.25 CFU: T): Chiamate a procedure remote, Comunicazione orientata ai messaggi, Comunicazione orientata agli stream, Comunicazione multi cast. 4. 5. Naming (0.25 CFU: T): Nomi Identificatori e Indirizzi, Naming Semplice, Naming Strutturato, Naming Basato sugli Attributi. 6. Sistemi Distribuiti basati sul Coordinamento (0.5 CFU: T): Introduzione, Architettura, Processi, Comunicazione, Naming, Sincronizzazione, Consistenza e replica, Tolleranza ai guasti. 7. 8. 9. Sicurezza nei Sistemi Distribuiti (0.25 CFU: T): Canali sicuri, Controllo degli accessi e gestione della sicurezza. Sincronizzazione (0.25 CFU: T): Sincronizzazione dei clock, Orologi Logici, Mutua Esclusione, Posizionamento Globale dei Nodi, Algoritmo di Elezione. Tecnologie per Sistemi Distribuiti (0.25 CFU: T): Sistemi Distribuiti a oggetti Sistemi WEB Distribuiti (0. 5 CFU: T): Architettura, Processi, Comunicazione, Naming, Sincronizzazione, Consistenza e replica, Tolleranza ai guasti. 10. Griglie Computazionali (1.25 CFU: T): Introduzione: Standardizzazione dei servizi internet, Le applicazioni nel Web, Servizi Internet aperti, La elaborazione pervasiva, Elaborazione pervasiva ed e-business, Ambienti di calcolo per il GC, Una panoramica sulle applicazioni, Il distributed supercomputing, high-throughput computing, on-demand computing, data intensive computing, collaborative computing come GC, Componenti funzionali di sistema, Il ruolo delle organizzazioni nel GC, La nuova generazione di GC, il punto di vista tecnologico. 11. Casi di Studio (1 CFU: 12L 8E ): Modelli di Sistemi Distribuiti (Grid Computing,Web Computing, Collaborative Computing,Cloud Computing, Pervasive Computing), Software Defined Networking METODI DI INSEGNAMENTO: Lezioni ed esercitazioni teoriche e pratiche in presenza supportate da PC portatile e proiettore; Inoltre si farà uso anche di metodologie di apprendimento collaborativo anche basate sull’ e-learning. CONOSCENZE E ABILITÀ ATTESE: Al termine del corso gli allievi conosceranno il funzionamento delle principali architetture dei sistemi distribuiti ed i meccanismi per la loro implementazione e gestione e saranno in grado di sviluppare le funzioni principali di middleware. SUPPORTI ALLA DIDATTICA: PC portatile e proiettore; uso del sistema di Learning Management System di Ateneo http://elearning.poliba.it/; libro di testo e dispense in formato elettronico (.pdf) scritte dal docente. CONTROLLO DELL’APPRENDIMENTO E MODALITÀ D’ESAME: Prova Scritta: nella quale si verifica la preparazione relativa ai contenuti del programma ufficiale del corso; Prova Orale: nella quale si verifica l’effettiva preparazione riscontrata nella precedente prova scritta. TESTI DI RIFERIMENTO PRINCIPALI: 1. 2. A. Tanenbaum, M. Van Steen “Sistemi Distribuiti: Principi e Paradigmi”, Pearson Prentice Hall Introduction to Grid Computing with Globus, IBM Redbooks Foster, Kesselman, “The GRID Blueprint for a New Computing Infrastructure” Morgan Kaufmann Publishers 3. 4. Dispense didattiche a cura di Marcello Castellano, disponibili in formato elettronico (.pdf) sulla piattaforma e-learning: http://elearning.poliba.it/. ULTERIORI TESTI SUGGERITI: Su richiesta. Degree class: LM – 32 Computer Engineering Type of course Characterizing Disciplinary area: Computer Engineering Title of the course: Code: Distributed Systems Second level (two year) degree: Computer Engineering Scientific Discipline Sector: Computer Systems (INGINF/05) Type of course: Mandatory Academic year: 2013- 2014 ECTS Credits: 6 Year: st 1 Semester: nd 2 LECTURER: Prof: Marcello Castellano HOURS OF INSTRUCTION The course includes 40 hours of in-class lectures, 12 hours of laboratory, 8 hours of tutorials, seminars and internships. PREREQUISITES: Knowledge of the main concepts of operating systems and computer networks. AIMS: The course aims to provide the conceptual elements that place the student in terms of understanding the complex systems of models of distributed computing systems, applications and design elements of the same. PROGRAMME: 1. General Principles and Architectures: Introduction to Distributed Systems, Goals, Types of Distributed Systems, Architectural Styles, system architecture, Architecture midlleware comparison, self-management in distributed systems. 2. Distributed Processes: Threads in distributed systems, virtualization, virtual machine architecture, Client, User Interfaces Network, Server, Migration of the Code. 3. Communication: Remote procedure calls, message-oriented communication, communication-oriented stream, multicast communication. 4. 5. 6. Naming: Identifiers Names and Addresses, Naming Simple, Structured Naming, Naming attribute-based. 7. 8. 9. Sicurity:Secure Channels, Access Control, Security Management. Synchronization: Clock synchronization, Logical clocks, Mutual exclusion, Global State, Distributed Transactions. Distributed systems based on Coordination: Overview, Architecture, Process, Communication, Naming, Synchronization, Consistency and Replication, Fault Tolerance. Distributed Systems Technology: Distributed Object Systems WEB Distributed Systems: Architecture, Process, Communication, Naming, Synchronization, Consistency and Replication, Fault Tolerance. 10. Computational Grids: Standardization of Internet services, applications on the Web, open Internet Services, the pervasive computing, pervasive computing and e-business computing environments for the GC, An overview of applications, distributed supercomputing, high-throughput computing, on-demand computing, data intensive computing, collaborative computing as GC, functional components of the system, the role of organizations in the GC, the new generation of GC, the technological point of view. 11. Case Studies: Grid Computing, Web Computing, Collaborative Computing, Pervasive Computing, Software Defined Networking TEACHING METHODS: Lectures and theoretical exercises and practices supported by laptop and projector; use of methodologies including collaborative learning also based on e-learning. EXPECTED OUTCOME AND SKILL: At the end of the course students will learn the operation of the main architecture of distributed systems and mechanisms for their implementation and management and will be able to develop the main functions of middleware. TEACHING AIDS: Laptop and projector using the system of the University Learning Management System http://elearning.poliba.it/, textbook and handouts in electronic format (. pdf) written by the teacher. EXAMINATION METHOD: Written Exam: in which there is preparation for the contents of the official program of the course, Oral: in which verifies the preparation found in the previous written test. BIBLIOGRAPHY: 1. A. Tanenbaum, M. Van Steen “Sistemi Distribuiti: Principi e Paradigmi”, Pearson Prentice Hall 2. “Introduction to Grid Computing with Globus”, IBM Redbooks 3. Foster, Kesselman, “The GRID Blueprint for a New Computing Infrastructure” Morgan Kaufmann Publishers 4. Notes by Castellano M., available in electronic format (.pdf) on the e-learning platform: http://elearning.poliba.it/. FURTHER BIBLIOGRAPHY: Upon request.