Reti di Calcolatori LS - Fabio Poli 15 Giugno 2006 Sviluppo di un player di Campo Minato multigiocatore con supporto di Chat MultiCast.

Slides:



Advertisements
Presentazioni simili
Gestione di un Sistema di Talk multiutente
Advertisements

Amministrazione dei servizi di stampa. Sommario Introduzione ai servizi di stampa Introduzione ai servizi di stampa Terminologia della stampa Terminologia.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D1 Architetture di rete.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D1 Architetture di rete.
SINCRONIZZAZIONE E TRASFERIMENTO VIA WEB DI IMMAGINI E DATI MULTIMEDIALI CON INFORMAZIONI GEOGRAFICHE E RAPPRESENTAZIONI CARTOGRAFICHE Laureando: Mitja.
Esercitazione con socket
Come programmare servizi di rete?
Modello di replicazione attivo e di supporto alla tolleranza ai guasti in ambito MOM Autore: Claudio Fusconi Matricola: Esame: Reti di calcolatori.
SARAH Shop Assistant in Reti Ad-Hoc Presence Awareness, modalità disconnessa e dinamiche di update Antonio Gaetani.
Supporto per servizi di File Hosting Presentazione di progetto per lesame di Reti di Calcolatori LS Valerio Guagliumi
Progetto Di Uninfrastruttura Che Permetta La Modifica Di Dati Condivisi Distribuiti Su Più Nodi Reti di calcolatori L-S Gozzi Daniele
Proxy-based infrastructure for LBS availability Reti di Calcolatori L-S Andrea Licastro
BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di Calcolatori LS Nicola Bonoli - 27 Giugno 2007.
1 Packet Manager Sistema di gestione di pacchetti software per il progetto dell'esame di Reti di Calcolatori LS Progetto realizzato da Fabio Parisini.
PERMESSO PERsistent MESSaging in ad hOc networks Corso di Reti di Calcolatori L-S AA Presentazione di Roberto Gamboni Progetto di Giuseppe Vitalone,
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
DEIS Università di Bologna
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Distributed File System Service Dario Agostinone.
Architettura e protocolli di distribuzione dello stato in videogiochi Multiplayer distribuiti Michele Pace Esame di Reti di Calcolatori LS Aa
Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
BROKER SERVER Progetto di Ingegneria del Web 2008 Alessio Bianchi Andrea Gambitta Giuseppe Siracusano.
Il modello di riferimento OSI
File system distribuito transazionale con replicazione
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
Informatica Lezione 9 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Reti di calcolatori LS Enrico Pirazzini SSB un middleware basato su JMS per l'invocazione di servizi remoti.
Un sistema per la replicazione ottimistica in una rete di pari Progetto di Reti di calcolatori LS Federico Grassi a.a. 2004/2005.
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
Studio di una soluzione distribuita per la gestione di un centro sondaggi.
Progetto di Ingegneria del Web Anno Accademico 2007/2008 Stefano Pigiani Bruno Ricci Marco Ruzzon.
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
Infrastruttura per la gestione distribuita di un sistema di prenotazione Progetto di: Fabio Fabbri Matricola
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 -Protocolli del Web Ernesto Damiani Lezione 1 – World Wide.
Reti di calcolatori Modulo 2 -Protocolli di rete TCP/IP Unità didattica 2 – Il protocollo TCP/IP Ernesto Damiani Università degli Studi di Milano - SSRI.
Bonjour Post-It servizio di post-it distribuito di Elisa Rondini.
Search Engine Distribuito e Replicato Corso di Reti di Calcolatori LS Andrea Boari –
P2P Reliable Multicast Messenger Progetto e realizzazione di un software peer to peer per comunicazioni di gruppo.
Progetto di un sistema di comunicazione di gruppo con multicast causale Reti di Calcolatori L-S Marco Canaparo Matricola
Chat-quiz Reti di Calcolatori L-S AA. 2003/2004 Rossella Rubino.
Java Distributed Event Service Bringing events to J2EE platform Università degli studi di Bologna Corso di Laurea Specialistica in Ingegneria Informatica.
PERMESSO PERsistent MESSaging in ad hOc networks Corso di Reti di Calcolatori LS – AA Presentazione di Davide Sansovini Professore: Antonio Corradi.
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.
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 2.
Progetto e Realizzazione di un servizio di Chat Progetto di: Nicoli Leonardo Corso di: Reti di Calcolatori L-S.
Corso di Reti di Calcolatori LS Progetto di un server FTP in grado di coordinarsi con altri mirror per garantire QoS di Marco Buccione.
Muse2: MUSic Everywhere with WI-FI Progetto realizzato da: Bambini Stefano Bergamini Andrea Pierangeli Diego Bologna C.d.L.S. Ingegneria Informatica.
B IBLIO S ERVICE consultazione di articoli online Anna Riccioni Progetto per il corso di Reti di Calcolatori L-S Anno Accademico
Proxy based infrastructure for LBS availability Reti di Calcolatori LS Serena Agresti.
Progetto PERMESSO Progetto PERMESSO PERsistent MESSagging in ad hOc networks Presentazione di Elisabetta Visciotti Progetto di Gruppo di: Manuela Bassetti,
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.
Hattrick Stadium Corso di Reti di Calcolatori LS Anno Accademico 2005/2006 Dolif Emilano matr
JDICS Java Dynamic Infrastructure for C/S systems Laura Galli matr Reti di calcolatori LS, Prof. A.Corradi A.A
Reti di Calcolatori L-S Professor Antonio Corradi A.A Sistema Publish-Subscribe per la Gestione degli Eventi della Provincia di Rimini Provincia.
Informatica Lezione 8 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Pari Gioia Reti Di Calcolatori LS A.A. 2003/04.
Software di Packet-Filtering e Port-Filtering su reti TCP/IP Come filtrare il traffico di rete in transito sulle interfacce presenti, frapponendosi tra.
Le basi di dati.
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
Implementazioni di un analizzatore di protocollo Esistono quattro fondamentali tradeoff per la realizzazione di un analizzatore di protocollo:  Analisi.
Introduzione Misurare l’impatto che può avere l’aggiunta di traffico sulle prestazioni di un sistema di rete è molto utile. Nel testing di applicazioni.
Transcript della presentazione:

Reti di Calcolatori LS - Fabio Poli 15 Giugno 2006 Sviluppo di un player di Campo Minato multigiocatore con supporto di Chat MultiCast

Reti di Calcolatori LS - Fabio Poli 15 Giugno Funzionalità: L’applicazione offre due tipi di servizi, concettualmente separabili tra loro: una chat, all’interno della quale scambiare messaggi, tra tutti i partecipanti alla sessione; un servizio di gestione di partite a Campo Minato multigiocatore.

Reti di Calcolatori LS - Fabio Poli 15 Giugno Chat: struttura C/S All’inizio della sessione ogni client si collega al server e si registra. Quando vuole comunicare, il client invia un messaggio al server. Il Server provvede alla distribuzione dei messaggi in modalità Broadcast a tutti i client registrati. Server con funzionalità di distributore di messaggi. I Client non si conoscono a vicenda. Protocollo TCP/IP realizzato attraverso Socket Java con connessione. Server centralizzato, gestore unico della comunicazione.

Reti di Calcolatori LS - Fabio Poli 15 Giugno MessengerServer Il server, al suo avvio, apre un canale di comunicazione, e rimane in attesa che i client si iscrivano al servizio. Attraverso la classe ChatHandler il server crea un nuovo listener per ogni client che si iscriva al servizio. Ogni volta che un Client invia un messaggio, questo viene spedito a tutti i Client collegati. Con questo insieme di connessioni punto-a-punto il server simula una connessione di tipo broadcast con tutti i client connessi, raggiungendo lo scopo di inviare a tutti ogni messaggio che arrivi al server.

Reti di Calcolatori LS - Fabio Poli 15 Giugno MessengerServer Ripristino servizio in caso di caduta del Server. Server stateless, funzione esclusiva di distributore di pacchetti. In caso di caduta, è necessario ripristinare esclusivamente la connessione coi client. Controllo persistenza demandata ai Client. Problema: accorgersi tempestivamente della caduta del server; i client devono essere progettati in modo da rendersi conto della chiusura di connessione vantaggio protocollo TCP.

Reti di Calcolatori LS - Fabio Poli 15 Giugno MessengerServer Controllo persistenza server comunicazione: WDogThread SpyThread WDogThread Incrementa periodicamente un contatore interno. Se il contatore raggiunge un valore prefissato, disabilita il server e ne crea uno nuovo. SpyThread Periodicamente si registra presso il server per controllarne l’attività. In caso di registrazione effettuata con successo, azzera il contatore di WDogThread.

Reti di Calcolatori LS - Fabio Poli 15 Giugno MessengerClient

Reti di Calcolatori LS - Fabio Poli 15 Giugno MessengerClient: All’avvio si connette al Server di comunicazione sull’indirizzo IP passatogli dall’utente (porta impostata di default). Il client di chat permette: l’invio di messaggi testuali tra i vari user; La creazione di una partita di Campo Minato tra giocatori appartenenti alla stessa chat (cioè collegati allo stesso server). PROBLEMATICHE: 1.Il server di comunicazione è stateless; chi mantiene le informazioni riguardanti la partita, al momento della creazione e durante il suo svolgimento? 2.Ogni client deve avere una copia della partita; e la congruenza tra i dati? 3.Come avviene lo scambio di dati?.

Reti di Calcolatori LS - Fabio Poli 15 Giugno MessengerClient: PROTOCOLLO DI COMUNICAZIONE: I messaggi per il Campo Minato vengono passati sullo stesso canale di comunicazione utilizzato per la chat. Garanzia recapito messaggi intrinseca nel TCP. PRO: utilizzo di una risorsa preesistente (e scarsamente occupata). CONTRO: necessità di differenziare i messaggi di chat da quelli “di sistema”. Creazione e gestione di una grammatica per il mascheramento dei messaggi “di sistema”..

Reti di Calcolatori LS - Fabio Poli 15 Giugno MessengerClient: CREAZIONE DELLA PARTITA: Il client di chat (ClientCF ) che avvia la partita crea un processo che si occuperà delle problematiche tipiche di gestione e sincronizzazione dell’avvio della partita ( AscoltatoreCM ): interrogazione degli altri client; ricezione accettazioni; avvio partita e sincronizzazione con gli altri Client. MESSAGGI DI CREAZIONE E SINCRONIZZAZIONE: AscoltatoreCM : ***#PARTITA ClientCF : AscoltatoreCM : ***#yourName#turno AscoltatoreCM : ***#CREA#yourName1#yourName2#yourName3 Messaggi inviati in BROADCAST : necessità di mascheramento sui client non interrogati...

Reti di Calcolatori LS - Fabio Poli 15 Giugno MessengerClient: SVOLGIMENTO DELLA PARTITA: All’atto della creazione della partita, vengono creati 2 processi, su ogni Client: CMContainer: “contenitore” della GUI e creatore dei messaggi per la trasmissione delle mosse svolte dall’utente. AscoltatoreCM: capta i messaggi inviati dai CMContainer (anche il proprio ) e aggiorna lo stato della partita. CMContainer e AscoltatoreCM sono Client del MessengerServer. Client aggiornati tutti contemporaneamente per mantenere la congruenza dei dati. Ogni volta che CMContainer invia un messaggio, viene stabilita una nuova connessione  miglior ripristino in caso di crash del server.

Reti di Calcolatori LS - Fabio Poli 15 Giugno MessengerClient: SINCRONIZZAZIONE DURANTE LA PARTITA: Un solo giocatore alla volta deve aver la possibilità di poter fare la propria mossa. Introduzione e gestione del concetto di turno di gioco. MESSAGGI DURANTE LA PARTITA: ***#BOMBA#x#y#player ***#NOBOMBA#x#y#turno ***#VITTORIA#x#y#player#vict ***#PAREGGIO Condizioni di gioco normali Condizioni di fine partita scatenate dall’ultima bomba

Reti di Calcolatori LS - Fabio Poli 15 Giugno MessengerClient: INTERFACCIA GRAFICA: E la classe Bomb? Contiene le informazioni riguardanti la posizione delle bombe. Possibili molto scelte implementative, realizzata la più semplice, estendibile..

Reti di Calcolatori LS - Fabio Poli 15 Giugno Scelte progettuali: difetti… Gestione Socket con connessione TCP richiede un carico maggiore di una comunicazione senza connessione. Il basso numero di processi, e il ridoto numero di messaggi scambiati hanno fatto propendere per questa soluzione. Problemi legati alla centralità della comunicazione. Maggior carico lato Client, per le scelte di gestire e memorizzare le informazioni su ogni client. Necessità di politiche di sincronizzazione e di controllo di congruenza dei dati tra i vari client  carico maggiore sui Client.

Reti di Calcolatori LS - Fabio Poli 15 Giugno Scelte progettuali: … e pregi La scelta delle socket con connessione TCP offre la garanzia che i messaggi siano sempre recapitati (se il sistema funziona correttamente). Un sistema C/S semplifica la gestione della comunicazione. Il server di comunicazione, essendo stateless, è più facile da ripristinare ( necessario solo il ripristino della comunicazione). Mantenendo lo stato su ogni client è facilitata la gestione di eventuali blocchi o malfunzionamenti (implementati in questa versione solo risoluzione problemi di connessione).

Reti di Calcolatori LS - Fabio Poli 15 Giugno Conclusioni: E’ stato realizzato un sistema C/S che deve essere analizzato da due ottiche diverse: Punto di vista della comunicazione: sistema tipicamente C/S. Punto di vista logico a livello applicativo: sistema distribuito che ricorda una struttura P2P, in cui ogni cliente gestisce a turno l’applicazione, diventando di fatto il server logico dell’applicazione.