Dynamic Block Requests (DBR) (ita)

Revision as of 18:56, 7 June 2008 by Raid (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Questa funzione regolamenta la richiesta di blocchi, evitando eccessi, e dato il funzionamento potrebbe essere intesa come una sorta di endgame.

La procedura del download si sviluppa in questo modo:

  • Viene effettuata una connessione al Peer e vengono determinati i chunk che il peer ha.
  • Un Datarange viene riservato sul client locale per il download. Si tratta di una piccola parte del file. Lo stesso datarange non verrà richiesto ad altri peer.
  • Lo stesso datarange è richiesto dal peer.

In questo modo richiedendo meno blocchi ai client lenti. Possiamo richiedere maggiori/più grandi blocchi ai client più veloci che ci comporta di conseguenza una maggiore velocità di download e quindi un più veloce completamento del download.

Questa funziona ha senso solo se rimane una piccola parte del file/chunk da terminare.

NOTA (a titolo informativo, non vale per la SharkX):
Una precedente versione di questa funzione, includeva la "rimozione" delle fonti troppo lente in modo da permettere l'avanzamento dei client più veloci. La rimozione delle fonti in questo caso non è una buona idea dato che le fonti lente potrebbero diventare veloci in poco tempo, ad esempio si potrebbe essere assegnati ad un trickle slot.

La funzione è stata ideata da Netfinity

Versione Inglese