Si ipotizzi di avere un file composto da tre
blocchi, si ipotizzi ancora che il file abbia una dimensione totale di
30MB (nella realtà un file di tre blocchi ha una dimensione totale di
9.28*3=27.84MB, l' ipotesi che si sta facendo serve per semplificare
ulteriormente il ragionamento).
Se il file è richiesto da 3 utenti, con i
P2P tradizionali, si invierà a tutti il primo pezzo di file.
Se alla
fine della sessione si è riusciti ad inviare una sola parte per client,
questi si ritroverranno ad avere tutti la stessa parte di file e
dovranno aspettare il successivo collegamento della fonte completa per
riprendere il down del file.
Utilizzando eMule invece verranno inviati ad ogni utente un
chunk diverso, ad esempio: al primo utente si invia la parte numero
1, al secondo la parte numero 2, al terzo la parte numero 3.
Se,
come ipotizzato prima, dopo aver inviato un chunk per client, la fonte
completa si scollega, nel network ci sarà comunque tutto il file in
condivisione, e i client che prima hanno dialogato con la fonte
completa, adesso possono scambiarsi fra di loro le relative parti
mancanti.
Il vantaggio è evidente: maggiore
possibilità di diffusione dei file, maggiore probabilità di terminare
un download.
Altri P2P | eMule | |
---|---|---|
Disconnesso : | Disconnesso : | |
Questa cosa ha ovviamente un costo, ed il costo è che eMule, a seconda della parte ricevuta del file, potrà creare file temporanei molto più lunghi di quanto si è effettivamente trasferito. E' così possibile avere ricevuto solo 2MB di un file di oltre 700MB, e avere un file temporaneo di 700MB. Questo appunto perchè non si riceverà il file dall'inizio alla fine in modo lineare, ma i chunk saranno scaricati in base alla disponibilità istantanea, in ordine irregolare.
Ogni client sceglie i pezzi più rari da chiedere, per bilanciare e velocizzare la diffusione globale. Prima si controlla se un pezzo è rarissimo, se non ci sono pezzi molto rari si cerca di completare i blocchi da 9 mega già iniziati per poterli diffondere. Con questo sistema si tenta di minimizzare la possibilità di avere file incompleti in condivisione.
Infine, una nota. eMule automaticamente rende disponibile alla condivisione i files che avete in download, anche se non sono completati. Questo per permettere una diffusione dei files più veloce. Per potere condividere un file che avete in download però dovete aver ricevuto almeno un chunk completo dello stesso.