Mots, programmazione collaborativa di Ettore Ferranti.

Slides:



Advertisements
Presentazioni simili
Gestione di un Sistema di Talk multiutente
Advertisements

Prof. Carla Fanchin – L.S. Tron
Corso di Fondamenti di Informatica
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
Elaborazione del Book Informatico
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
LE RETI DI COMPUTER Presentazione realizzata da: Pipitone Antonella VDp Gennaio 2008.
1 Reti di Calcolatori Esercitazione 5 Implementazione del TFTP tramite RPC Copyright © by D. Romagnoli & C. Salati Alma Mater Studiorum - Universita'
I modelli di riferimento OSI e TCP/IP
Come programmare servizi di rete?
Distributed Object Computing
Architettura Three Tier
Architettura del World Wide Web
Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 1 JAVA: obiettivi di progetto del linguaggio Nota storica: Il linguaggio JAVA (inizialmente.
Struttura dei sistemi operativi (panoramica)
Concetti introduttivi
SARAH Shop Assistant in Reti Ad-Hoc Presence Awareness, modalità disconnessa e dinamiche di update Antonio Gaetani.
Reti di Calcolatori LS Universitá degli Studi di Bologna Remotizzazione del Framework Unibo-env Autrice: Leticia Riestra Ainsua.
autore: Simone Artesino ( )
BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di Calcolatori LS Nicola Bonoli - 27 Giugno 2007.
SARAH Shop Assistant in Reti Ad-Hoc Marco Montali.
PERMESSO PERsistent MESSaging in ad hOc networks Alessio Franco Matr Corso di Reti di Calcolatori LS A.A. 2005/2006.
DEIS Università di Bologna
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr
Corso di Informatica per Giurisprudenza Lezione 7
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
Il modello di riferimento OSI
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
Reti Insieme di computer e di altri dispositivi che comunicano tra loro per condividere i dati, le applicazioni e lhardware Modulo 1.
Modulo 2 - U.D. 3 - L.4 Ernesto Damiani - Sistemi di eleborazione dell'informazione.
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
Distributed System ( )7 TCP/IP four-layer model.
Progetto Message Queues Service Olivelli Enrico Corso di Reti di Calcolatori LS A.A
Nemesi Creazione e pubblicazione di una rivista online tramite l’utilizzo di Java Message Service.
1 Esercitazione Sistemi distribuiti: sistemi che risisedono su più calcolatori interconnessi da una rete di comunicazione Algoritmi distribuiti: programmi.
LE RETI INFORMATICHE Cosa sono?? A cosa servono??
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Producer – Consumer System Di Carlo Matteo CdLS Ingegneria Informatica (0234) Reti di Calcolatori LS A.A. 2004/2005.
MCSA Mobile Code System Architecture Infrastruttura a supporto della code mobility Pierfrancesco Felicioni Reti di Calcolatori L.S. 2005/2006.
Reti di computer Condivisione di risorse e
Support for Emulation of Services and Applications in Mobile Environments with Bluetooth Gruppo: Davide Bonomo Salvatore Baglieri Referente: Ing. Dario.
Progetto di: Daniele De Angelis Corso di: Reti di Calcolatori LS Un sistema fault tolerance per protocollo Diffie-Hellman.
Progetto di Linguaggi e modelli computazionali M Prof. Enrico Denti Progetto di: Francesco Paci.
Supporto per la replicazione attiva di servizi Progetto per il corso di Reti di Calcolatori LS Montanari Mirko Matr:
Sistema di replicazione master-multislave con server di backup per un servizio di chat di Marco Andolfo matr
Programmazione Attività di progettazione ed implementazione di programmi I programmi permettono di realizzare funzioni complesse su un hardware in grado.
STUDIO SULLA REPLICAZIONE DEGLI AGENTI NEL SISTEMA SOMA Andrea Sambi.
Bonjour Post-It servizio di post-it distribuito di Elisa Rondini.
Servizio di newsgroup con replicazione dei server Studente: Letizia Cheng Cheng Sun Matricola: Reti di Calcolatori LS – Prof. A. Corradi A.A. 2003/2004.
Progetto di un Gestore di Nomi Corso di Reti di Calcolatori L-S prof. Antonio Corradi A.A 2003/2004 Autore: Molesini Ambra.
MUSE 2 WIFI MUSic Everywhere with WIFI presentazione di Pierangeli Diego Membri del gruppo: Bambini Stefano Bergamini Andrea Pierangeli Diego AA 2006/2007.
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 1.
Sistemi di elaborazione dell’informazione Modulo 1 - Tecniche di comunicazione digitale Unità didattica 3 - Modelli astratti di protocolli Ernesto Damiani.
Progetto e Realizzazione di un servizio di Chat Progetto di: Nicoli Leonardo Corso di: Reti di Calcolatori L-S.
Corso di Ingegneria del Web A A Domenico Rosaci 1. Sistemi Distribuiti Introduzione.
Corso di Reti di Calcolatori LS Progetto di un server FTP in grado di coordinarsi con altri mirror per garantire QoS di Marco Buccione.
Bacheca: Supporto alla creazione e diffusione di annunci basato su CORBA Corso di Reti di Calcolatori LS Prof. Antonio Corradi Progetto di Elisa Addimanda.
Alex Marchetti Infrastruttura di supporto per l’accesso a un disco remoto Presentazione del progetto di: Reti di calcolatori L-S.
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
Mobile Agent and Enterprise Architecture Integration Il Gestore di Librerie e Servizi Lambertini Riccardo.
JDICS Java Dynamic Infrastructure for C/S systems Laura Galli matr Reti di calcolatori LS, Prof. A.Corradi A.A
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
Socket programming in Java La realizzazione di un server in Java consente di scrivere una sola versione eseguibile su diverse piattaforme. Il linguaggio.
Introduzione Misurare l’impatto che può avere l’aggiunta di traffico sulle prestazioni di un sistema di rete è molto utile. Nel testing di applicazioni.
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Algoritmi distribuiti Lezione n°9.
Socket programming in Java La realizzazione di un server in Java consente di scrivere una sola versione eseguibile su diverse piattaforme. Il linguaggio.
Framework di sicurezza della piattaforma OCP (Identity & Access Management) Smart Cities and Communities and Social Innovation Bando MIUR D.D. 391/Ric.
Transcript della presentazione:

Mots, programmazione collaborativa di Ettore Ferranti

Scenario locale: editor di sorgenti java con supporto per il syntax coloring, la compilazione e l’input/output da file Obiettivi Scenario distribuito: applicazione per l’editing di sorgenti java condivisi con supporto per la concorrenza e la tolleranza ai guasti

Scenario Il primo computer crea un documento condiviso Ogni computer che si connette alla rete rileva la presenza di un documento e può decidere di unirsi a chi lo sta modificando L’uso di Bonjour e Java permette di eseguire l’applicazione sulla maggior parte dei sistemi operativi, sia in rete locale che in wireless ad-hoc

Middleware, implementazione Apple dello standard Zeroconf (IETF) Multipiattaforma e multilinguaggio DNS e DHCP senza necessità di un server centralizzato Open-source Bonjour

Bonjour Java API Classe principale: DNSSD (astratta) I suoi metodi statici sono gli unici messi a disposizione dalla libreria Permette di registrare e cercare servizi in rete L’oggetto chiamante deve passare al metodo una classe che implementa una particolare interfaccia, per consentire a DNSSD di restituire ad essa il risultato (callback o poll object) Il risultato viene poi recuperato dal chiamante nel modo che esso preferisce (Mots utilizza il pattern Observer)

Presence Awareness Due tipi di servizi: utenti e documenti Ogni istanza di Mots è sempre consapevole di ogni utente e documento condiviso presenti in rete Users:Documents: Aristotele Platone Socrate Metafisica

Architettura Utilizzo di Layer diversi, ognuno specializzato in un compito particolare Particolare attenzione al riutilizzo dei componenti ed alla trasparenza dei livelli inferiori Possibilità di sostituire layer (UDP invece di TCP, sintassi C# invece di Java)

TCP layer send permette di inviare un messaggio (stringa) specificando il nome del destinatario con il metodo receive il server trasmette al livello superiore il messaggio ricevuto ogni server permette di registrare un servizio in rete locale, rendendolo visibile agli utenti in rete e creando una socket per ogni nuovo client che intende mandare messaggi (utilizzo di thread)

Pattern Observer BonjourBrowser è un oggetto del TCP layer che consente di avvertire chiunque si sia registrato della pubblicazione o della caduta di un certo servizio Gli oggetti BonjourBrowser di Mots sono due, uno per i servizi “User” ed uno per i “Document” BonjourBrowser (Observable) Obser ver

Messaggi Protocollo di messaggi per la registrazione di un subscriber all’host e la propagazione delle modifiche al documento Testuale, 5 tipi di messaggi client -> host e 2 tipi di messaggi host -> client Indipendente dal protocollo di trasmissione

Messaggi (2) Aristotele (host di “Metafisica”) Platone Socrate register:Platone register:Socrate insert:0:Socrate:hello insert:Metafisica:0:hello hellohellohello

Fault Tolerance Il nodo host condivide il documento distribuito “Doc”, gli editor sono connessi all’host e partecipano attivamente alla modifica del documento (hot stand by) Il nodo host cade, il documento condiviso non esiste più ma il suo stato è presente in tutti gli editor Elezione: tutti gli editor si candidano per diventare il nuovo host del documento, solo il primo arrivato riesce a creare un documento con lo stesso nome, gli altri vengono tutti rinominati da Bonjour Il vincitore dell’elezione è il nuovo host, tutti gli altri editor si registrano presso di lui e l’editing può continuare dallo stato in cui si era interrotto

Sviluppi Futuri Sicurezza: policy per specificare quali utenti sono autorizzati a vedere e/o editare il documento condiviso Identificazione: utilizzo di colori diversi per ogni editor, in modo da identificare immediatamente l’autore delle modifiche Linguaggi: aggiunta di moduli per la gestione di linguaggi diversi dal java o per l’auto-completamento del codice.

demo