Homepage

Corso Sistemi Distribuiti, Triennale, Universita' degli Studi di Firenze

< questa e' la pagina del corso originale di Sistemi Distribuiti della Scuola di Ingegneria, dell'Universita' degli Studi di Firenze!, supportato dal laboratorio DISIT Via S. Marta 3, Firenze>

 
segui questo link per le modalità di esame.

Per eventuali Tesi di Laurea, Stage ed elaborati (anche in relazione a progetti internazionali di ricerca o in collaborazione con aziende) in questo ambito potete farvi un'idea seguendo questo link.
 

Per l'accesso ad altre slide di Paolo Nesi cerca su questo portale oppure si veda la pagina dedicata su SLIDESHARE:

 

Programma del corso di Sistemi Distribuiti new

Il corso puo' essere inserito nei piani di studio di Ingegneria Informatica, Ingegneria delle Telecomunicazioni, e di Informatica di Scienze, etc.
Il docente effettua ogni anno degli aggiornamenti al corso e alle slide in modo da fornire una formazione professionale e aggiornata a chi segue il corso.
Le slide aggiornate del corso sono evidenziate di seguito:

  • new 2015-2016 Overview (parte 0): una vista generale al corso:
  • new 2015-2016 Introduzione (parte 1): Cosa sono i sistemi distribuiti, Tecnologie dei sistemi distribuiti, Internet e sua Evoluzione, Intranet, Penetrazione di internet, Crescita, Sistemi Mobili, Condivisione delle risorse, Web Server, Caratteristiche: Eterogenei, aperti, sicuri, trasparenti, architetture, n-tier.
  • new 2015-2016 XML..WSDL (parte 2): fondamenti di XML, uso avanzato dell'XML, XML e Web Services, esercitazioni;
  • 2015-2016 Programmare in PHP fino ai CMS (parte 3): architetture web server, programmazione in PHP, strutture e costrutti, operatori, get/post, query, form, esempi ed esercitazioni;Content Management Systems, CMS; programmazione PHP per CMS, moduli, call back, ruoli, etc. HTML: strutture, formati, CSS, menu, espressioni regolari, cookie, sessioni. Javascript: ....,  (con esercitazioni comprese)
  • new 2015-2016 Modelli Middleware, remote Call (parte 4a) Evoluzione delle architetture Client Server, Comunicazione fra processi; evoluzione dei sistemi distribuiti; Comunicazione Sincrona, Comunicazione Asincrona; Proxy, peer process, WEB applets, Thin clients; Sistemi Mobili; Progettazione di Sistemi Distribuiti; Modelli di Interazione sincroni ed asincroni; Ordinamento e Sincronizzazione di eventi; Tipi di reti; Middleware: Comunicazione fra processi, Livelli OSI; Perche il Middleware; RPC e RMI; UDP e TCP; Sockets and ports; Example: TCP communication; Data representation and coding for transmssion; si veda in seguito CORBA CDR; MIME;  Remote Call, Invocazioni Remote; Middleware; Descrizione delle Interfacce, IDL; Remote Procedure Call; Ruolo dello  Stub nelle RPC; SUN XDR RPC; CORBA IDL; Modello ad oggetti di sistemi distribuiti; Oggetti remoti ed interfacce; Comunicazione fra oggetti, RMI, semantica delle RMI; ORPC; modelli distribuiti ad oggetti
  • new 2015-2016 Clock e ordinamenti in sistemi ditribuiti (Parte 4b): algoritmi per la sincronizzazione di processi, sincronizzazione di orologi/clock, precisione, drift, ritardi, etc.;
  • new 2015-2016 CORBA (Parte 4c) Architettura CORBA; componenti di CORBA; ORB, Services, Facilities, Application Objects; Struttura degli ORB; Data Flow in CORBA; ORB Invocation and Clients; Server side; Oggetti in CORBA; Caratteristiche di CORBA; IDL e IIOP; IDL e suo definizione ed uso; Modelo di Comunicazione; Client e  Server; Object Adapter; Portable Object Adapter; applicazioni WEB, invocazione via HTML; Costruzione di Applicazioni CORBA; aspetti di Progetto; Single thread e MultiThread;
  • new 2015-2016 Sistemi P2P (Parte 5): aspetti generali, applicazioni P2P, evoluzione storica, tecnologiche, requisiti, architetture (distribuite, concentrare e ibride), propagazione/seeding, algoritmi di routing overlay, DHT, esempio di Skype, replication, download multisorgente, notifica di cambiamenti sulla rete P2P; propagazione ed integrazione di query, protocollo bitTorrent, valutazione dei sistemi P2P, BTorrent, P2P VOD, P2P TV, P2P webTV, download progressivo, applicazioni del P2P per real time streaming.
  • new2015-2016 Architetture Parallele dal grid ad Hadoop (Parte 6): architetture parallele, speed up, calcolo parallelo e distribuito, problemi del calcolo parallelo, GRID (macro e micro), soluzioni GRID (Globus, Condor, Unicore, Legion), uso di GRID Condor; costruzione e progettazione di un sistemi di grid, programmazione su media grid AXCP. Esempio AXCP GRID, confronto fra sistemi GRID. Soluzioni per big data, Hadoop, programmazione parallela MapReduce, esempi.
  • new 2015-2016 Overview on Smart City (Parte 7): Smart City Concepts, Architecture of Smart City Infrastructures, Peripheral processors, Data ingestion and mining, Reasoning and Deduction, Data Acting processors; Data Mining e Problematiche smart City (DISIT Smart City Ontology, Km4City), Data ingestion and integration, Service Map and Linked Open Graph; Twitter Vigilance via Natural Language Processing. DISIT lab ha vari progetti SMART CITY si veda link. Progetti SmartCity brevemente mostrati al corso: Sii-Mobility, FODD (Firenze Open Data Day), RESOLUTE H2020,  REPLICATE H2020, collaborazione con il Comune di Firenze e Regione Toscana; si VEDA PAGINA SMART CITY DI DISIT PER DETTAGLI, vedi Km4City.
  • 2014-2015 Programmazione ETL per DataWarehouse (Parte 8): from open data to triples, OD 2 RDF, OD and PD, static and Dynamic OD, Problemi architetturali, programmazione ETL, esempi concreti, massive data mining and crawling, quality improvement, geolocalization, triplification, reasoning and rendering, example of km4city data ingestion.
  • 2014-2015 Cloud Computing and Virtualization (Parte 9): motivation for cloud computing, PaaS, SaaS, IaaS, MaaS, DbaaS, etc.; virtiual machine concepts, emulation and paravirtualization, VM shapshots, virtual resources; cloud computing, cloud vs grid, goals of cloud computing; high availability, workload balancing; vSphere infrastructure, vmotion, power management, resource scheduling, virtual networking, fault tolerance; Security on the Cloud; Conversion of VM, production of VM; VCenter of vSphere, multi-tier architecture, vapp, NAS/SAN, performance analysis. Example of tools for cloud computing, progetto ICARO.
  • 2013-2014 Sistemi Mobili e loro progettazione (Parte 7a): sistemi mobili, da PDA a cellulari e altro, comunicazione; confronto; profiling, emulazione e sviluppo software per sistemi mobili, modello di programmazione per sistemi mobili iPhone/iPad, modello di programmazione Android, Windows Phone, aspetti di progettazione, confronto fra modelli di programmazione, notifiche in push, sistemi di sensori, soluzioni per la navigazione, navigazione inerziale, connessione e comunicazione diretta fra mobile; esempi di applicazioni.
  • [opzionale 2013-2014] Sistemi mobili programmazione in Objective C (Parte 7b): costrutti del linguaggio, pattern, esertictazioni di programmazione.
  • [opzionale] Reti Sociali, short overview on social network (Parte 19, ver:1.1) (da aggiornare versione 1.2) una breve vista sui problemi delle social network, modelli collaborativi, modellazione delle relazioni, metriche, distanze fra profili, confronto di reti sociali attuali come: youtube, flickr, etc.; Una versione piu' estesa del programma viene svolta nel Corso di Sistemi Collaborativi e di protezione della Laurea Magistrale.

 

Complementi opzionali (questi complementi sono approfondimenti che lo studente puo' svolgere/sviluppare a scelta, alcuni complementi possono essere utili per colmare eventuali lacune):

 

new Modalita' di Esamenew

  • L'esame consiste nello svolgimento di un elaborato da concordare con il docente.
  • PER DETTAGLI SEGUITE questo LINK
  •  
  • Chi intende sostenere Sistemi Distribuiti come Specialistica/Magistrale senza aver sostenuto Sistemi Distribuiti triennale puo' seguire un percorso didattico concordato con il docente.

Altri Riferimenti e libri di testo

  • Per la prima parte del corso, dalla prima lezione fino ai sistemi di Clock inclusi, si consiglia di fare riferimento al libro di testo Colouris di cui trovate descrizione e riferimenti nelle prime slide del corso stesso. Alla fine di ogni sezione di slide e/o all'interno delle stesse, sono riportati alcuni link che potete seguire per trovare del materiale aggiuntivo di approfondimento ed esercitazione per completare la Vostra formazione.
  • Le slide sono una traccia, tipicamente si consiglia di utilizzare il libro per studiare, e le slide come traccia che il docente segue per fare lezione aggiungendo su tale traccia dettagli che non sono riportati nelle slide stesse, ma che sono esposti a lezione.
Parte del materiale deriva da materiale messo a disposizione e dai libri di riferimento, da MPEG, da materiale prodotto in progetti di ricerca collegati alle tecnologie di cui sopra ed in cui il Prof. P. Nesi e' ed e' stato coinvolto in prima persona. Come per esempio i seguenti progetti della Commissione Europea, del Ministero delle Ricerca o MPEG ISO o altro: Sii-Mobility , Coll@bora, AXMEDIS, ECLAP, OSIM, WEDELMUSIC, OPTAMS, SAMOPROS, MOODS, MUSICNETWORK, MPEG-M3W, IMAESTRO, MPEG-SMR, VARIAZIONI, ICARO Cloud, TRACE-IT, RAISSS, TesysRail, etc.). Per ulteriori informazioni su altri progetti di ricerca del Prof. P. Nesi si prega di seguire questo link.

 

Il Prof. P. Nesi ringrazia le varie fonti nonche' i vari collaboratori e partner dei progetti di ricerca, sperando di aver riportato in modo corretto i riferimenti alle fonti. In caso contrario, Vi prego di contattarlo tramite email: paolo.nesi@unifi.it

Alla fine di ogni parte del corso viene presentata come sequenza di slides che alla fine hanno un lista di riferimenti che possono essere seguiti per effettuare degli approfondimenti. 

Ricevimento e Laboratorio DISIT

Paolo Nesi riceve tutti i Venerdi dalle ore 11:30 alle ore 13:00, presso il suo ufficio in Via S. Marta, 3, DINFO, Dipartimento di Ingegneria dell'Informazione, secondo piano ala est (ala destra entrando dal cancello). Il Laboratorio DISIT e' la porta successiva/precedente nello stesso corridoio. Per Tesi di Laurea, laureandi e dottorandi si riceve ogni giorno a qualsiasi orario.

 
DISIT lab
e' aperto dalle 8:30 alle 20:00 tutto l'anno.
Universita' degli Studi di Firenze
Scuola di Engineering, Via S. Marta, 3; 50139 Firenze, ITALY 
DISIT Lab: +39-055-2758516
Fax.: +39-055-2758570

 

0
Your rating: None