Architettura e protocolli di distribuzione dello stato in videogiochi Multiplayer distribuiti Michele Pace Esame di Reti di Calcolatori LS Aa 2004-2005.

Slides:



Advertisements
Presentazioni simili
Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004
Advertisements

IDUL 2010 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
IDUL 2009 RETI E PROTOCOLLI. INTERNET. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Reti di Calcolatori IL LIVELLO RETE.
Concetti introduttivi
Reti di Calcolatori IL LIVELLO RETE.
ADSL VOIP Voice Over IP.
Reti di Calcolatori Reti di Calcolatori2 Il modello Client/Server I Sistemi di Rete Dal punto di vista del programmatore.
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito1 Reti di Calcolatori LS REALIZZAZIONE DI UN SERVIZIO DI ANNUNCI DISTRIBUITO Studente:
Supporto per servizi di File Hosting Presentazione di progetto per lesame di Reti di Calcolatori LS Valerio Guagliumi
Qualità di servizio in ambiente wireless Progetto per il corso di Reti di Calcolatori L-S Prof. Antonio CorradiValentina Maraldi.
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
CryptoAnalisisServer(CAS) Reti di Calcolatori LS progetto di Carpenè Michele, Busacca Fulvio Servizio distribuito basato sul calcolo parallelo per operazioni.
PuntoPunto Reliable peer-to-peer overlay network con capacità di NAT traversal Vincenzo Pacella matr
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
High-Available Service Manager Diego Costantini Università degli studi di Bologna Corso di Laurea Specialistica.
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.
1 Internet e nuove tecnologie Anno Accademico Prof. Flavio De Paoli Dott. Marco Loregian.
P O L I T E C N I C O D I B A R I I Facoltà di Ingegneria Corso di Laurea in Ingegneria delle Telecomunicazioni Ottimizzazione energetica e servizi real-time.
Modulo 1 – Reti Informatiche u.d. 4 (syllabus – 1.4.4)
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
File system distribuito transazionale con replicazione
Reti di calcolatori 14 novembre 2003 INFORMATICA GENERALE Scienze per Operatori dei Servizi Giuridici Anno Accademico
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
Corso di Laurea in Conservazione e Restauro dei Beni Culturali
L’architettura a strati
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.
Tipi e topologie di LAN Lezione 2.
Progetto di un Agente per l’Apprendimento mediante Alberi Decisionali in ambito distribuito Studente: Luca Monaco Anno Accademico
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
Progetto di: Daniele De Angelis Corso di: Reti di Calcolatori LS Un sistema fault tolerance per protocollo Diffie-Hellman.
Studio di una soluzione distribuita per la gestione di un centro sondaggi.
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
PROTOTIPO DI UN GIOCO DI STRATEGIA IN RETE Alberto Buccella Università degli studi di Bologna Facoltà di Ingegneria Corso di Ingegneria Informatica.
Progetto e prototipazione di una infrastruttura di comunicazione per il supporto al monitoraggio distribuito del traffico di rete Progetto di Reti di Calcolatori.
Progetto di un Group Communication System Reti di Calcolatori LS A.A Giampaolo Capelli.
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
Sistema di Replicazione di Risorse Distribuite Ring-Based Reti di Calcolatori LS Alessio Bonfietti.
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.
Servizi Internet Claudia Raibulet
Progetto e Realizzazione di un servizio di Chat Progetto di: Nicoli Leonardo Corso di: Reti di Calcolatori L-S.
Middleware per la sincronizzazione di ambienti eterogenei Progetto di Reti di Calcolatori LS Emanuele Crescentini matr Ingegneria Informatica LS.
Corso di Reti di Calcolatori LS Progetto di un server FTP in grado di coordinarsi con altri mirror per garantire QoS di Marco Buccione.
Servizi continui su rete IEEE – Music Everywhere Presentazione di Alberto Mercati Reti di Calcolatori LS.
Progetto RE.VE.N.GE. MQ REliable and VErsatile News delivery support for aGEncies Sistema di Distribuzione Reti di Calcolatori LS – Prof. Antonio Corradi.
Reti di Calcolatori LS - Fabio Poli 15 Giugno 2006 Sviluppo di un player di Campo Minato multigiocatore con supporto di Chat MultiCast.
Proxy based infrastructure for LBS availability Reti di Calcolatori LS Serena Agresti.
TXJA --- Reti logiche fuzzy distribuite --- Reti di Calcolatori LS Davide Sottara.
Università degli Studi di Bologna Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Scienze dell’Informazione Università degli Studi.
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.
Hattrick Stadium Corso di Reti di Calcolatori LS Anno Accademico 2005/2006 Dolif Emilano matr
Reti di Calcolatori L-S Professor Antonio Corradi A.A Sistema Publish-Subscribe per la Gestione degli Eventi della Provincia di Rimini Provincia.
Pari Gioia Reti Di Calcolatori LS A.A. 2003/04.
Implementazioni di un analizzatore di protocollo Esistono quattro fondamentali tradeoff per la realizzazione di un analizzatore di protocollo:  Analisi.
Transcript della presentazione:

Architettura e protocolli di distribuzione dello stato in videogiochi Multiplayer distribuiti Michele Pace Esame di Reti di Calcolatori LS Aa

MMOG Il principale ostacolo nell interazione real-time è limpossibilità intrinseca di Internet di fornire garanzie sulla bassa latenza della trasmissione di informazioni. Il principale ostacolo nell interazione real-time è limpossibilità intrinseca di Internet di fornire garanzie sulla bassa latenza della trasmissione di informazioni. I messaggi possono essere ritardati indefinitamente dalla rete o possono anche essere persi. I messaggi possono essere ritardati indefinitamente dalla rete o possono anche essere persi.

C\S vs P2P vs Mirrored Server I videogiochi commerciali sono costruiti prinipalmente con architetture C\S, o, meno frequentemente con architetture Peer-to-Peer. I videogiochi commerciali sono costruiti prinipalmente con architetture C\S, o, meno frequentemente con architetture Peer-to-Peer. Le architetture C\S permettono alle compagnie di videogiochi di avere un forte controllo sullo stato del gioco Le architetture C\S permettono alle compagnie di videogiochi di avere un forte controllo sullo stato del gioco Architetture Peer-to-Peer permettono di ottenere minori latenze e di eliminare i colli di bottiglia sui server. Architetture Peer-to-Peer permettono di ottenere minori latenze e di eliminare i colli di bottiglia sui server. Tipologia di giocoAnalisi dei ritardi Simulazione corsa auto 50 msNon si nota 100 msSi nota ma accettabile oltreNon accettabile Gioco di strategiaDa 0 a 500 msAccettabile OltreNon accettabile Sparatutto in prima persona Oltre 150Non accettabile Qualità della sensazione di immersione nella simulazione - architettura best-effort di Internet

Architettura Client Server Forte controllo centralizzato dello stato del gioco. I giocatori inviano informazioni sulle loro azioni, il server calcola e aggiorna lo stato del gioco e invia le informazioni ai clients.

Partizionamento del mondo di gioco Organizzazione del gioco più diffusa attualmente. Al crescere della complessità del mondo virtuale l architettura virtuale l architettura client server pura si sposta verso un architettura Client\Server Cluster in cui lo stato del gioco è condiviso tra una serie di computer interconnessi.

Architettura Peer to Peer Ogni client calcola lo stato del gioco attraverso i messaggi che riceve dagli altri client. Minor latenza dei messaggi, nessun collo di bottiglia sul server ma problemi nel Mantenimento della consistenza.

Architettura Mirrored Server Mirror 1Mirror 2 Connessione ad alta velocità

Progetto Realizzazione di uno strato software basato sulle API di basso livello DirectPlay Servizi di QoS (qualità della simulazione)Servizi di QoS (qualità della simulazione) Mantenimento dello stato distribuito della simulazioneMantenimento dello stato distribuito della simulazione Tolleranza ai guasti e replicazione.Tolleranza ai guasti e replicazione. Meccanismi per l implementazione di politicheMeccanismi per l implementazione di politiche Coordinamento dei serverCoordinamento dei server

Gestione C\S

Il modello scelto è quello Client-Server con server collaborativi, ognuno dei quali si occupa di una parte del mondo di gioco. Il modello scelto è quello Client-Server con server collaborativi, ognuno dei quali si occupa di una parte del mondo di gioco. Allocazione statica delle risorse. (Server) Allocazione statica delle risorse. (Server) Applicazione non elastica (Real time). Adattativa. (Maggiori latenze possono essere tollerate entro certi limiti con interpolazioni più pesanti.) Applicazione non elastica (Real time). Adattativa. (Maggiori latenze possono essere tollerate entro certi limiti con interpolazioni più pesanti.) Alla connessione di un client e potenzialmente in un qualsiasi altro momento durante la connessione un qualsiasi altro momento durante la connessione il server invia un pacchetto contenente delle il server invia un pacchetto contenente delle direttive che il client dovrà osservare per direttive che il client dovrà osservare per comunicare con il server. comunicare con il server. (Meccanismi, non politiche). ClientNetConfig{ DWORD dwThreadWait; WORD UpdateMessages_rate; WORD wTimeout; BYTE ubReliableRate;} L utilizzo di ClientNetConfig costituisce un azione sia statica che dinamica (sia preventiva che adattativa) per ottenere forme di bilanciamento. L utilizzo di ClientNetConfig costituisce un azione sia statica che dinamica (sia preventiva che adattativa) per ottenere forme di bilanciamento.

MasterServer MasterServer: Coordinamento dei serverCoordinamento dei server Punto di controllo centralizzatoPunto di controllo centralizzato Recupero di informazioni sulRecupero di informazioni sul carico e il funzionamento dei carico e il funzionamento dei server. server. Fail-Safe tolleratoFail-Safe tollerato (definizione mutuata da (definizione mutuata da ipotesi di guasto di processori), ipotesi di guasto di processori), Bizantine no.

Modello di replicazione e meccanismo di tolleranza ai guasti. Proprietà perseguita: Avaiability Proprietà perseguita: Avaiability. Si cerca di fornire sempre il servizio anche a fronte del degrado dei tempi di risposta. Si mira quindi a liveness del servizio Failover. Migrazione del servizio a fronte di un guasto. Crash del MasterServer tollerato entro tempi ragionevoli. Ricerca del rispetto del Principio di minima intrusione. L heartbeat contiene informazioni sul funzionamento di un server, il Masterserver comunica solo se necessario. Modello di replicazione è a copie fredde: lo stato non viene mantenuto sincronizzato sulle copie. Quando si verifica un guasto lo stato viene ricostruito sul nuovo server attraverso una fase di inizializzazione di durata molto breve.

Conclusioni e Test Il progetto è stato svolto nel tentativo di applicare considerazioni e metodi analizzati nel corso ai fini di costruire un sistema distribuito sufficientemente funzionale. Il progetto è stato svolto nel tentativo di applicare considerazioni e metodi analizzati nel corso ai fini di costruire un sistema distribuito sufficientemente funzionale. L accento è stato posto su aspetti di QoS e di tolleranza ai guasti. L accento è stato posto su aspetti di QoS e di tolleranza ai guasti. L architettura utilizzata è quella client-server perché è stata ritenuta la più adatta al tipo di sistema che si voleva costruire. L architettura utilizzata è quella client-server perché è stata ritenuta la più adatta al tipo di sistema che si voleva costruire. Il sistema è stato testato su una LAN in una sessione di 5 giocatori e non si sono riscontrati problemi di utilizzo o di ritardi. Il sistema è stato testato su una LAN in una sessione di 5 giocatori e non si sono riscontrati problemi di utilizzo o di ritardi. Il sistema è stato testato su connessione Internet, con due computer ognuno dei quali ospitava due sessioni di gioco. Una linea a 56kb e una linea ADSL. Anche in quasto caso non si sono riscontrate latenze fastidiose per la simulazione. Il sistema è stato testato su connessione Internet, con due computer ognuno dei quali ospitava due sessioni di gioco. Una linea a 56kb e una linea ADSL. Anche in quasto caso non si sono riscontrate latenze fastidiose per la simulazione.