Università degli Studi di Napoli "Parthenope"

Scheda dell'insegnamento

Anno accademico: 
2018/2019
Tipologia di insegnamento: 
Caratterizzante
Tipo di attività: 
Obbligatorio
Corso di afferenza: 
Corso di Corso di Laurea Magistrale in INFORMATICA APPLICATA (MACHINE LEARNING E BIG DATA)
Sede: 
Napoli
Settore disciplinare: 
INFORMATICA (INF/01)
Lingua: 
Italiano
Crediti: 
12
Anno di corso: 
2
Docenti: 
Ciclo: 
Annualita' Singola
Ore di attivita' frontale: 
96

Obiettivi

Conoscenza e capacità di comprensione: Lo studente deve dimostrare di conoscere e saper comprendere aspetti avanzati del networking con reti di sensori, dalle strategie a livello MAC fino alle applicazioni, con le quali orientarsi tra le tecniche di acquisizione, gestione e analisi di dati dei sensori in un contesto sia teorico che pratico. Lo studente, inoltre, deve dimostrare di conoscere e saper comprendere aspetti avanzati dei sistemi e delle architetture distribuite in un contesto sia teorico che pratico. Capacità di applicare conoscenza e comprensione: Lo studente deve dimostrare di saper utilizzare la propria conoscenza acquisita per risolvere problemi avanzati di networking di sensori e dispositivi eterogenei e loro integrazione con altre tecnologie dell’ IoT,dal punto di vista dello specifico dominio applicativo, e gestione di sistemi ed architetture nel contesto applicativo dell’IoT. Autonomia di giudizio: Lo studente deve essere in grado di sapere valutare in maniera la qualità delle soluzioni progettuali ed implementative proposte sulla base di diversi e specifici criteri di qualità del servizio. Inoltre, deve sapere rapportare le suddette soluzioni rispetto ad alcuni standard de facto disponibili in letteratura e software open-source.
Abilità comunicative: Lo studente deve essere in grado di affrontare e gestire tutte le fasi di un progetto software incentrato sulle tecnologie per l’IoT. Pertanto lo studente deve essere in grado di produrre una documentazione dettagliata dei requisiti del dominio applicativo, della progettazione e della implementazione, esponendo i risultati ottenuti ed evidenziando vantaggi e svantaggi delle soluzioni proposte, anche con attività seminariali (eventualmente in lingua Inglese).Capacità di apprendimento: Lo studente deve essere in grado di aggiornarsi e approfondire in modo autonomo argomenti e applicazioni specifiche dell’IoT e delle WSNe dei sistemi distribuiti di elaborazione, anche accedendo a banche dati, repository on-line di software e framework di sviluppo e simulazione di WSNe altre modalità messe a disposizione dalla rete.

Prerequisiti

Per gli studenti di Informatica Applicata (Machine Learning e Big Data): è necessario avere acquisito le conoscenze e le competenze trasmesse dai seguenti corsi: Programmazione I, ProgrammazioneII, Sistemi Operativi, Algoritmi e Strutture Dati e Reti di Comunicazione.

Contenuti

Parte I
1.Principi comunicazione wireless
a.onde elettromagnetiche
b.Segnali analogici e digitali
c.Relazione tra banda di frequenza e tasso dei dati
d.Effetti della propagazione delle onde e del rumore
e.Allocazione delle frequenze
f.Modulazione e Multiplexing
2.Reti cellulari
a.definizione e concetti base
b.architettura di una rete cellulare (GSM)
c.Basi di dati nelle reti cellulari
d.Riuso delle frequenze
e.Gestione della posizione
f.Paging
g.Handoff
h.Assegnazione del canale
i.Evoluzione delle reti cellulari
3.Sistemi RFID:
a.definizione
b.componenti di un sistema RFID
c.Tipologie di tag e reader
d.Ciclo di vita tag e problematiche di privacy e sicurezza
e.Accoppiamento elettromagnetico induttivo e Accoppiamento elettromagnetico con backscatter
f.Applicazioni
4.Cloud computing:
a.Definizione
b.modelli di cloud
c.modelli di servizio: SaaS, PaaS e IaaS
d.Tecniche di virtualizzazione
e.Bilanciamento del carico
f.Scalabilità ed elasticità
g.MapReduce
h.Esempi di cloud commerciali.
5.Wireless Sensor Network
a.Introduzione
b.Architettura di un nodo sensore
c.Architetture di reti di sensori
d.Requisiti e vincoli progettuali per i protocolli a livello MAC per WSN
e.Protocolli a livello MAC: basati su contesa e basati su schedulazione
f.Protocolli MAC: S-MAC, T-MAC, PAMAS, LEACH, SMACS, TRAMA
g.Protocolli di Routing per WSN: vincoli e requisiti progettuali, routing geografico unicast; routing perimetrale; Other face routing; GPSR; Routing su una curva; Routing geografico ed energy aware; Routing basato su attributi: GHT, Directed diffusion, rumor routing.
h.Controllo topologia e Sincronizzazione temporale: metodo degli intervalli e reference broadcasting;
i.Database di Reti di Sensori: Interfaccia per le query; Aggregazione in-network; Memorizzazione dati-centrica; Indici dei dati e query range.
j.Sistema operativo per WSN: Contiki.
Parte II
1.Introduzione ai sistemi distribuiti: Modelli architetturali distribuiti e loro programmazione. Principi, caratteristiche chiave, vantaggi e svantaggi. Scelte di progetto e problematiche connesse. Topologie, tipi di rete di interconnessione. Mezzi trasmissivi. Protocollo e servizi. Prestazioni.
2.Comunicazione: Paradigmi client-server e IPC. Group communication. Multicast. Meccanismi di invocazione e chiamata remota: Remote Method Invocation (RMI). Remote Procedure Call (RPC). Tipi e semantiche. Esempi.
3.Tempo e stato di un sistema distribuito: Tempo. Stato. Clock. Sincronizzazione dei clock. Precedenze tra eventi. Registrazione dello stato globale.
4.Algoritmi di controllo distribuiti: Algoritmi di sincronizzazione e coordinamento. Deadlock. Schedulazione. Elezioni di un leader. Allocazione dei processi nei sistemi distribuiti. Rilevazione della terminazione.
5.Processi: allocazione, migrazione e bilanciamento del carico.
6.File system distribuiti: Modello di file service e problematiche di progetto. Casi di studio: NFS, AFS e CODA, GFS, HDFS
7.Distributed Shared Memory
8.Apache Hadoop. Hadoop ecosystem: Zookeeper, Spark, Storm.

Metodi didattici

La didattica è svolta mediante lezioni frontali, seminari di esperti nel settore e da parte degli stessi studentied attività di laboratorio.

Verifica dell'apprendimento

L’obiettivo della procedura di verifica consiste nel quantificare, per ogni studente, il livello di raggiungimento degli obiettivi formativi precedentemente indicati. La procedura di verifica consiste in un seminario su un tema scelto dallo studente e/o dai docentio, in alternativa, in una proposta di progetto da svolgersi in gruppo su un’applicazione di interesse individuata dagli studenti e/o dai docentie in un esame finale orale.

Testi

Parte I
[1]F. Zhao, L. Guibas, Wireless Sensor Networks –An Information Processing Approach, Elsevier, 2004;
[2]H. Karl, A. Willig, Protocols and Architectures for Wireless Sensor Networks, Wiley, 2006
[3]W. Stallings, Wireless communication and networks, 2nd Ed., Pearson
[4]A. Forster, Introduction to Wireless Sensor Networks, Wiley

Parte II
[1] D. Dhamdhere, “Operating Systems: A Concept-Based Approach”, McGraw-Hill Companies, 2008.
[2] A. S. Tanenbaum, M. Van Steen, “Distributed Systems: Principles and Paradigms”, Prentice Hall, 2002.
[3] G. Coulouris, J. Dollimore, T. Kindberg, G. Blair, "Distributed Systems: Concepts and Design", 2009.
[4] P. K. Sinha, " Distributed Operating Systems: Concepts and Design ", 1997.
[5] A. S. Tanenbaum, "Distributed Operating Systems", 1997.
[6] T. White, "Hadoop: The Definitive Guide, 4th Edition", O’Reilly, 2015.
[7] B. Reed, F. Junqueira, "ZooKeeper. Distributed Process Coordination", O’Reilly, 2013.
[8] M. Zaharia, H. Karau, A. Konwinski, P. Wendell, "Learning Spark Lightning-Fast Big Data Analysis", O’Reilly, 2015.
[9] G. Eisbruch, J. Leibiusky, D. Simonassi, "Getting Started with Storm", O’Reilly, 2015.

Tutte le lezioni sono in formato pdf sono fruibili attraverso la piattaforma di e-learning del Dipartimento di Scienze e Tecnologieinsieme con materiale didattico di approfondimento (articoli ed estratti da testi di riferimento, dispense del docente).

Altre informazioni

Tutte le informazioni di dettaglio sul corso sonoreperibili sulla pagina del Corso in piattaforma di e-learning del Dipartimento di Scienze e Tecnologie:http://e-scienzeetecnologie.uniparthenope.it/in particolare:Parte I: http://e-scienzeetecnologie.uniparthenope.it/course/view.php?id=152Parte II: http://e-scienzeetecnologie.uniparthenope.it/course/view.php?id=64