Aspetti generali dei corsi di
Sitemi Distribuiti (SD), e di
Sistemi Collaborativi e di Protezione
(SCP)

Facolta' di Ingegneria
Universita' degli Studi di Firenze, Firenze, Italia
Laboratorio di Sistemi Distribuiti e Tecnologie Internet, DISIT
Responsabile: Prof. Paolo Nesi

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.

newPer lasciare un commento anomimo fai click su questa riga.new

Dagli Studenti e' stato organizzato un Microsoft Student Day, in modo da dare accesso agli studenti a relative informazioni e strumenti software di sviluppo, in collaborazione con il Laboratorio DISIT. Seguite il Link 27 Gennaio 2011, Viale Morgagni 40/44, Firenze, Auditorium 101. Questo evento puo' essere utile per gli studenti di Sistemi Distribuiti e anche per quelli del corso di Sistemi Collaborativi e di Protezione.

Sistemi Distribuiti (Triennale) (2010/2011, 2011/2012)

  • L'esame consiste nello svolgimento di un elaborato da concordare con il docente.
  • Chi intende sostenere Sistemi Distribuiti come Specialistica/Magistrale senza aver sostenuto Sistemi Distribuiti triennale puo' seguire un percorso didattico misto concordato con il docente. Il superamento dell'esame avviene tramite elaborato.
  • 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 i riferimenti nelle prime slide del corso stesso. Alla fine di ogni sezione di slide o all'interno delle stesse, sono riportati alcuni link che potete seguire per avere del materiale aggiuntivo di approfondimento ed esercitazione per completare la Vostra formazione.
  • Le slide sono solo 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.

Programma del corso di Sistemi Distribuiti (Triennale, 2010/2011, 2011/2012):
Il programma del corso per la triennale 2011/2012 rimane simile a quello svolto nel 2010/2011 e riportato in seguito. Rispetto a tale versione alcune parti saranno via via alleggerite e altre approfondite, in modo da fornire una maggiore formazione professionale ed aggiornata a chi segue il corso.

SEGUI QUESTO LINK: Componi il tuo corso di Sistemi Distribuiti! Gli argomenti piu' votati saranno usati per comporre il programma del corso (valido per l'A.A. 2011/2012), per un max di circa 8-10 argomenti.

Alcuni link che fanno riferimento alle slide del corso sono protetti da password che potete richiedere al docente tramite email.

  • Overview parte 0, ver:0.5: una vista generale al corso: non protetto da password.
  • Introduzione (Parte 1, ver:2.0): (nuova versione 2.2) 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 and Web Services, Caratteristiche: Eterogenei, aperti, sicuri, trasparenti, architetture, n-tier.
  • Modelli Middleware, Call (Parte 2, ver:2.4) (nuova versione 2.6)
    • 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 transmission; si veda in seguito CORBA CDR; MIME;
    • Call Remote: 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
  • XML (parte 2b): fondamenti di XML, uso avanzato dell'XML
  • WEB services e REST (parte 2a, ver:1.2): (nuova versione 1.3) remote invocation via Web Services and REST architectures, strumenti per i WEB services, verifica, SOAP.
  • CORBA (Parte 3, ver:2.5) (nuova versione 2.7) 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;
  • Sistemi P2P (Parte 4a, ver:3.1): (nuova versione 3.4) aspetti generali, applicazioni P2P, evoluzione storica, tecnologiche, requisiti, P2P e sicurezza, 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, verifiche e monitoraggio di sistemi P2P, protocollo bitTorrent, valutazione dei sistemi P2P, soluzione JXTA (requisiti, protocolli, problemi), Modello DIMOB (P2P per sistemi eterogenei, mobili e non in C++), solution BTorrent AXP2P description: and the real Tool that can be installed and used, P2P VOD, P2P TV, P2P webTV, download progressivo, applicazioni del P2P per real time streaming.
  • Clock e ordinamenti in sistemi ditribuiti P2P (Parte 4b, ver:1.3): (nuova versione 1.5) algoritmi per la sincronizzazione di processi, sincronizzazione di orologi/clock, precisione, drift, ritardi, etc.;
  • Architetture Parallele e Sistemi GRID (Parte 5, ver:3.1): (nuova versione 3.6) breve vista sulle architetture parallele, speed up, GRID, calcolo parallelo e distribuito, tipi di GRID, problemi dei GRID, autenticazione, data GRID, process grid, Confronto fra sistemi GRID, Globus, Condor, Unicore, Legion, uso di Condor; Esempi, AXMEDIS Content Processing GRID, adattamento, produzione e protezione di contenuti digitali, marchiatura dei contenuti digitali, tracciamenteo e monitoraggio contenuti digitali, scheduling dei processi; allocazione dei processi sul GRID.
  • Sistemi Coperativi, CSCW, Computer Supported Cooperative Work (Parte 6, ver:3.2): (nuova versione 3.3) Computer Supported Cooperative Work; tipologie e classificazione, tassonomie, sistemi sincroni e asincroni, tempo e spazio, Tecnologie e problemi; Granularità; Paradigmi per l’interazione, architetture; Proprietà per l’interazione, consistenza, convergenza, causalità, conservazione delle intenzioni; progettazione; Undo selettivo e non lineare; esempi vari, da MOODS e da IMAESTRO (MOODS sistema cooperativo per la condivisione e manipolazione di informazione musicale si veda questo articolo su MOODS; esempio di uso del CSCW DISIT, applicazioni varie: Video-Esempio-CSCW-DISIT.zip; Tools IMAESTRO per CSCW su MAX/MSP e non solo: imaestro-mpeg-smr-tools-max-msp-cooperative-work-setup-may-2007-v1-0.exe
  • Sistemi Mobili, PDA (Parte 11, ver:2.1): (versione nuova 2.4) sistemi mobili, da PDA a cellulari e altro, comunicazione; confronti fra sistemi operativi; applicazioni, confronto fra sistemi mobili; profiling, problemi di adattamento, emulazione e sviluppo software per sistemi mobili, Mobili e CORBA con PDA; Lavoro Cooperativo su sistemi Mobili, P2P e sistemi mobili, modelli dei contenuti per sistemi mobili; modello di programmazione per sistemi Microsoft Windows Mobile, modello di programmazione e svilluppo per sistemi iPhone/iPad, Android, Windiows Phone, aspetti di progettazione, confronto fra modelli di programmazione; si veda Mobile Medicine per tool windows mobile, e iPhone Application Mobile Medicine.
  • Cloud Computing and Virtualization (Parte 17, ver:1.8): (nuova versione 2.0) motivation for cloud computing, 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: Microsoft Hyper-V, VMware vSphere, etc.
  • Visita al Laboratorio di Sistemi Distribuiti e Tecnologie Internet: dimostrazione di sistemi GRID, social network, P2P controllato, architetture multitier, cloud computing, e virtualizzazioni.
  • Reti Sociali, short overview on social network (Parte 19, ver:1.1) (nuova 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 Distemi 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):

Sistemi Collaborativi e di Protezione (Laurea Magistrale), 2011/2012:

AA.AA. 2011-2012, le lezioni si svolgono agli orari stabili dall'orario ma nel laboratorio di sistemi distribuiti e tecnologie internet, secondo piano ala destra, Via S. Marta.

Argomenti del corso: sistemi e soluzioni di protezione, e-commerce, sicurezza, protezione dei conteuti digitali, gestione dei diritti, DRM, CAS, MPEG-21, OMA, Windows DRM, iTune, sistemi mobili e protezione, internet advertising, sistemi collaborativi (CSCW), social network, raccomandazioni, semantic computing, Europeana, prestazioni dei sistemi distribuiti (GRID, P2P, etc.), etc.

Il superamento di questo esame avviene tramite elaborato da concordare con il docente. Chi prende questo esame come Specialistica/Magistrale senza aver [sostenuto] Sistemi Distribuiti triennale puo' concordare un programma misto con il docente.

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

Programma e slide del corso di Sistemi Collaborativi e di Protezione, SCP (ex, Sistemi Distribuiti II, Laurea Magistrale). Le slide sono la traccia che segue il docente a lezione aggiungendo su tale traccia dettagli che non sono riportati nelle slide stesse. Essendo materia nuova, e' molto difficile indicare un numero limitato di libri che possono coprire tutto il corso; pertanto si consiglia di seguire le citazioni e i riferimenti riportati via via nelle slide e gli approfondimenti indicati nel seguente programma. L'accesso alle slide viene fornito dal docente a fronte di richiesta per email o a lezione.

  • newParte 0: DESCRIZIONE del CORSO, obiettivi e che benefici avranno glli studentinew
  • Parte 1.1: Commercio elettronico, modelli di protezione (SCP-Parte-1-1-eCommerce-and-DRM-v4-0.pdf): commercio elettronico, e-commerce, protezione dei contenuti multimediali, transactions, business models and value chain, media business models, definition of rights, actors of the value chain. Copy protection, CP; Conditional Access Systems, CAS; Digital Rights Management, DRM; Content Modeling and Packaging, Licensing and content distribution, REL (Rights Expression Language), licenze, distribuzione e modelli di protezione per DVB-T (digitale terrestre), DVB-S (satellitare), sistemi di protezione e modelli, sistemi completi di distribuzione dei media e broadcasting DVB; modelli di licenze Creative Commons, CC, CC licenses and models; Windows Media DRM, Solutions Windows Media, Examples in using Windows Media DRM, licensing, business models, how to.
    • IPR, Intellectually Property Rights: (seminario) diritto d'autore e la distribuzione dei contenuti digitali;
    • MPEG-21, lo standard: MPEG serie di standard, Digital Item DID, Digital Item Description Language DIDL, Right Expression Language REL, Rights Data Dictionary RDD, Intellectually Property Management Processing IPMP, DIBO, Digital Item Metods DIM, Digital Item Adaptation DIA, Digital Item Streaming DIS, la visione di sistema, i player MPEG-21
    • Modello license su Europeana.
  • Parte 1.2: Commercio elettronico, modelli di protezione (SCP-Parte-1-2-eCommerce-and-DRM-v3-3.pdf): Apple FairPlay, Apple iTune plus, AnalogHole, triple play, quadruple play, superdistribution, MPEG-21 DRM, AXMEDIS DRM, mpeg-21 model, intelligent content, newsml, MXF, rights enforcement on media players, multimedia and cross media annotations, directX, directshow, protection model of players, DRM B2B, B2B licensing, domain management, DRM event reporting. Back office postproduction management, DRM interoperability, multichannel distribution, Content Distribution with DRM: controlled P2P, distribution via kiosks, broadcasting satellite and terrestrial, satellite in push, EPG, cultural heritage content distribution among archives; DRM management and P2P, reciprocal trust.
  • Parte 2: Internet advertising (SCP-Parte-2-Media-Advertising-v1-3.pdf), business models, metrics for advertising assessment, problems of internet advertising, semantic computing, Google AdWords, Adsense, lessons learned, produzione di raccomandazioni, distanze simboliche.
  • Parte 3: Sistemi Mobili, meccanismi di protezione e commercio (SCP-Parte-3-SistemiMobili-eCommerce-v1-3.pdf): mobile systems and e-commerce, business models, Open Mobile Alliance, OMA DRM standard, evolution of OMA, Domain Management, migration of rights, OMA SCE (Secure Content Exchange), OMA SRM (Secure Removable Media), ODRL, mapping ORDL to MPEG-21 REL, comparing OMA and MPEG-21 licensing, integrating OMA and MPEG-21 channels via backoffice; Pagamenti con sistemi mobili.
    • OMA 2: Open Mobile Alliance, ODRL, modello di protezione e di contenuto per sistemi mobili, integrazione e gestione di OMA da backoffice, OMA server.
  • Parte 4: Sistemi Collaborativi Social Network, modelli e prestazioni, SCP-Parte-4-Collaborativi-Social-Network-v3-7.pdf, Collaborative systems, Definition and Terminology; Social Network, Forrester Trend for Social Networking, Motivations for Social Networking, Application, classification of Social Networking, Examples of Social Networks, User and content based social network, Taxonomy of Social Network, factors of Social Networks, Users and Social Networks, Classification; User/Content Social Network, Content items descriptors, User Generated Content, UGC, User and group descriptors; Social Network analysis, User profile problems, Measures of Social Networks, Metrics and examples: Centrality, Clustering, Direct measures of user actions; Business of Social Networks, Business model of social networks, Penetration of social networks, Numbers of Social Networks, interoperability and standards; Semantic computing, Semantic Descriptors, Content Enrichment, extraction of Semantics, Folksonomies, SKOS and FOAF, Semantic Annotations, MyStoryPlayer annotations; Suggestion and Clustering, Metrics Similarity Distances, Clustering algorithms comparison, Performances, Incremental Clustering; Inside Real Social Network, Mobile Medicine Social Network, Mobile Content Organizers, ECLAP Best Practice Network, IPR processing and regime, Comparison of Social networks.
  • Parte 5: Controllo e monitoraggio di Sistemi P2P, e Fail over di clusters, cloud computing, SCP-Parte-5-Prestazioni-P2P-Network-failover-v2-3.pdf, Controllo di sistemi P2P e prestazioni, Bittorrent, Controllo di sistemi P2P, Valutazione delle prestazioni dei sistemi P2P, Valutazione del carico del Tracker, Valutazione del varico della rete, Architettura ridondata e scalabile; Sistemi per il cloud computing via clustering: scenari, Gestione del failover, architetture cluster, valutazine delle prestazioni. (la valutazione delle Social network e' trattata nella parte 4).
  • Parte 6: Valutazione delle prestazioni dei sistemi WEB: carico di portali e valutazione delle prestazioni. Come migliorare le prestazioni dei sistemi WEB, mappe dei siti, registrazione dei siti web, Google Analytics, monitoraggio del comportamento utente sui sistemi web. Indicizzazione di pagine web, valutazione delle prestazioni, ottimizzazione delle prestazioni dei siti web.

Complementi opzionali (questi complementi sono approfondimenti che potete svolgere/sviluppare a vostra scelta):

  • Sicurezza Informatica (ver:1.3) Introduzione; Evoluzione della sicurezza; Politiche o meccanismi di sicurezza; Modelli di Sicurezza; Tecnologie per la sicurezza; Tipologie di Attaco; Pericoli Potenziali ed Effettivi; Il Worst Case; Algoritmi di crittografia, DES, RSA, Alg simmetrici e non; Firma Elettronica; Certificazione, scambi di chiavi, autenticazione; Firme digitali; Scenari ed applicazioni, Firewall, SSL;
  • Valutazione della protezione: valutazione del livelo di sicurezza/protezione, resistenza agli attacchi in sistemi di protezione dei contenuti ;
  • Sistemi GRID e ecommerce (sistemi-distribuiti-Parte-5-Sistemi-GRID-ArcParallele-v3-1.pdf), pianificazione ed ottimizzazione delle risorse, allocazione dei processi, controllo dello sfruttamento del GRID; GRID in AXMEDIS, AXMEDIS tools full version, authoring tool, AXCP GRID tools, AXCP Content processing tools and plug ins, documentation, example of MPEg-21/AXMEDIS obejcts with SMIL, MPEG-4, HTML, any kind of resources, DRM licenses, etc
  • Sistemi a Compomenti e Middleware per sistemi embedded: MPEG Multimedia Middleware, MPEG-M3W, ROBOCOP architecture;
  • Sistemi ad Agenti: evoluzione dei sistemi di rete, crawling, migrazione controllata dei dati, etc.;
  • Sistemi Domotici: automazione dell'abitazione, set top box, sistemi GRID per la Domotica, protocolli di comunicazione per sistemi domotici;
  • Logiche temporali: si veda inoltre il seguente articolo accessibile tramite questo link;
  • DCE, COM and DCOM: DCE, oggetti COM e DCOM, interfacce, DCOM/Active X, CORBA and COM interoperabiliti.
  • .NET Framework: In alcuni casi le slide sono state rimosse per motivi di spazio. Possono essere fornite su richiesta.

Sistemi Distribuiti II, Laurea Magistrale: si veda il corso di sistemi Collaborativi e di Protezione: SCP per 2010/12

si faccia riferimento al Corso di Sistemi Collabroativi e di protezione.

Sistemi Distribuiti per Corsi di Dottorato e/o Corsi Avanzati

Problematiche dei sistemi distribuiti (2007/2008): i sistemi distribuiti, il middelware, architetture, problemi, requisiti, sistemi P2P, sitsemi GRID, sistemi CSCW, Alcuni esempi, progetti, riferimenti, etc. Per ulteriori dettagli si prega di riferirsi al materiale dei corsi di Sistemi Distribuiti presentato in precedenza in questa stessa pagina.

Societa’ ad alta intensita’ di conoscenza (2008/2009): seminario breve di: modelli di innovazione e business: Sistemi Distribuiti, Middleware, Sistemi Peer to Peer, P2P, Sistemi GRID computing, Sistemi Cooperativi, CSCW, Social Network, Sistemi Mobili, Mobile Computing, DRM e commercio elettronico.

Modelli Semantici, Collaborativi e Sociali: problematiche, architetture ICT, campi applicativi (2009/2010): seminario breve di modelli semantici, semantic processing, grid, social network, social analysis, social computing, mobile medicine.

Lezione Avanzata per la Summer School Regione Toscana (Settembre 2011, San Rossore): Architetture Distribuite per la Creazione e lo Sfruttamento della Conoscenza.

Altri Riferimenti e libri di testo

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: AXMEDIS, ECLAP, OSIM, WEDELMUSIC, OPTAMS, SAMOPROS, MOODS, MUSICNETWORK, MPEG-M3W, IMAESTRO, MPEG-SMR, VARIAZIONI, 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: nesi@dsi.unifi.it.

  • Distributed Systems, Coulouris, Dollimore and Kindberg, Edition 4, Addison-Wesley 2005
  • lComputer Supported Cooperative Work, Introduction to Distributed Applications, U. M. Borghoff, J. H. Schlinchter, Springer
  • A Methodology for Client/Server and WEB Application Development, Ro. Fournier, Yourdon Press.
  • The GRID: Blue Print for a new Computing Structure, I. Foster, C. Kesselman, Morgan Kaufmann.
  • Advanced CORBA, Programming C++, M. Henning, S. Vinoski, Addison Wesley.
  • lClient/Server Programming with Java and CORBA, R. Orfali, D. Harkey, Wiley.
  • Applied Microsoft .NET Framework Programming, J. Richter, Microsoft .net press
  • UML e Unified Process, J. Arlow and I. Neustadt, McGraw-Hill
  • Performance Analysis and GRID Computing, Getov, Gerndt, Hoise, Malony, Miller, KAP press
  • Mastering JXTA, J. D. Gradecki, Wiley
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. Quelli riportati in questa lista sono solo una minima parte:

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, Dipartimento di Sistemi e Informatica, secondo piano ala est (ala destra entrando dal cancello). Il Laboratorio di Sistemi Distribuiti e Tecnologie Internet e' la porta successiva/precedente nello stesso corridoio. Per Tesi di Laurea, laureandi e dottorandi si riceve ogni giorno senza orario.

DISIT lab e' aperto dalle 8:30 alle 20:00 tutto l'anno, incluso Agosto e Dicembre.

DISIT: Distributed Systems and Internet Technology Lab
DSI: Dipartimento di Sistemi e Informatica
Universita' degli Studi di Firenze , Faculty of Engineering
Via S. Marta, 3; 50139 Firenze, ITALY 
E-mail:nesi@dsi.unifi.it  ,paolo.nesi@unifi.it
Office: +39-055-4796523, DISIT Lab: +39-055-4796567, 425
Fax.: +39-055-4796363 or 730