08.09.2019 Views

Progettazione e Sviluppo di un Multiplayer Online Game su Reti Peer-to-Peer

Alma Mater Studiorum Universit`a degli Studi di Bologna Facolta` di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Scienze di Internet Tesi di Laurea in Laboratorio di Programmazione Internet

Alma Mater Studiorum Universit`a degli Studi di Bologna
Facolta` di Scienze Matematiche, Fisiche e Naturali
Corso di Laurea in Scienze di Internet
Tesi di Laurea in Laboratorio di Programmazione Internet

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

12 CAPITOLO 1. STATO DELL’ARTE<br />

Figura 1.5: Bucket Synchronization: nella Bucket Synchronization il tempo<br />

viene idealmente <strong>su</strong>d<strong>di</strong>viso in intervalli, “Bucket Intervals” (rettangoli grigi),<br />

<strong>di</strong> N millisecon<strong>di</strong> (rettangolo verde), calcolati in base al <strong>Peer</strong> più len<strong>to</strong>.<br />

Viene inoltre defini<strong>to</strong> <strong>un</strong> TimeSpan, “Delay” (rettangolo rosso), calcola<strong>to</strong> in<br />

base alla latenza più alta presente all’interno della Membership. Ogni <strong>Peer</strong><br />

assegna ad ogni singolo intervallo <strong>un</strong> “Bucket”, cioè <strong>un</strong> Buffer destina<strong>to</strong> a<br />

mantenere gli eventi in attesa <strong>di</strong> essere effettivamente eseguiti.<br />

Nell’intervallo I1, il <strong>Peer</strong> A genera <strong>un</strong> even<strong>to</strong> e lo invia <strong>di</strong> conseguenza agli<br />

altri <strong>Peer</strong> appartenenti alla Membership (<strong>Peer</strong> B). Localmente, però, tale<br />

even<strong>to</strong> non viene esegui<strong>to</strong> come conseguenza <strong>di</strong>retta della <strong>su</strong>a generazione:<br />

Verrà invece esegui<strong>to</strong> in I3, poiché quest’ultimo rappresenta il primo intervallo<br />

<strong>di</strong> tempo <strong>su</strong>ccessivo all’istante in<strong>di</strong>vidua<strong>to</strong> dalla somma temporale tra<br />

il momen<strong>to</strong> <strong>di</strong> generazione ed il periodo <strong>di</strong> “Delay”.<br />

Il <strong>Peer</strong> B, riceve l’even<strong>to</strong> in I2 ma, utilizzando il medesimo calcolo, sa che<br />

dovrà eseguirlo in I3. In entrambi i <strong>Peer</strong>, quin<strong>di</strong>, l’even<strong>to</strong> in questione verrà<br />

memorizza<strong>to</strong> nel Bucket relativo all’intervallo I3, e quin<strong>di</strong> esegui<strong>to</strong> a tempo<br />

debi<strong>to</strong>.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!