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
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
2.3. LAYER P2P 29<br />
Ques<strong>to</strong> modulo, quin<strong>di</strong>, permette <strong>di</strong> convertire in maniera del tut<strong>to</strong> trasparente<br />
il TimeStamp del mittente, che viene appeso a tutti i coman<strong>di</strong> del Layer<br />
Logic, utilizzando come base <strong>di</strong> conversione il proprio TimeStamp.<br />
Non vi è quin<strong>di</strong> <strong>un</strong> sistema <strong>di</strong> Master Clock assolu<strong>to</strong>, associa<strong>to</strong> ad <strong>un</strong> <strong>Peer</strong><br />
elet<strong>to</strong> tale, ad <strong>un</strong>a risorsa esterna alla Membership od <strong>un</strong> sistema centralizza<strong>to</strong><br />
Client-Server, come accade per il più accura<strong>to</strong> NTP 10 , ma <strong>un</strong> sistema<br />
basa<strong>to</strong> <strong>su</strong>lla conversione <strong>di</strong> TimeSpan relativi, simile a quan<strong>to</strong> avviene nella<br />
la conversione <strong>di</strong> orari provenienti da fusi orari <strong>di</strong>fferenti (Figura 2.7 e<br />
Figura 2.8).<br />
Figura 2.7: I <strong>Peer</strong> A e B inviano il proprio TimeStamp a C, che ne memorizza<br />
il TimeSpan rispet<strong>to</strong> al proprio<br />
Ques<strong>to</strong> sistema ri<strong>su</strong>lta essere sogget<strong>to</strong> a problemi derivanti dalla variazione<br />
<strong>di</strong> latenza (Jitter) tra i <strong>di</strong>versi <strong>Peer</strong>: i delta sono infatti destinati a <strong>su</strong>bire<br />
oscillazioni ad ogni aggiornamen<strong>to</strong>, rendendo la stima temporale piut<strong>to</strong>s<strong>to</strong><br />
approssimativa.<br />
L’accuratezza richiesta nelle applicazioni real-time, specialmente nelle situazioni<br />
concorrenziali, viene qui mitigata dal sistema implementa<strong>to</strong> nel Modulo<br />
SharedComponents (sezione 2.4): Grazie a quest’ultimo non si possono presentare<br />
casi <strong>di</strong> inconsistenza dello sta<strong>to</strong> <strong>di</strong> gioco dovuti al margine <strong>di</strong> errore<br />
10 Network Time Pro<strong>to</strong>col