Domanda

Se si dispone di un sistema peer-to-peer che può essere interrogato, lo si vorrebbe

  • ridurre il numero totale di query sulla rete (distribuendo ampiamente gli elementi "popolari" e gli elementi "simili" insieme)
  • evitare spazio di archiviazione in eccesso su ciascun nodo
  • garantire una buona disponibilità anche per oggetti moderatamente rari a fronte di tempi di inattività del client, guasti hardware e utenti che se ne vanno (possibilmente rilevando oggetti rari per archivisti/storici)
  • evitare che le query non trovino corrispondenze in caso di partizioni di rete

Dati questi requisiti:

  1. Esistono approcci standard?In caso contrario, esiste qualche ricerca rispettata, ma sperimentale?Conosco alcuni degli schemi di distribuzione, ma non ho visto nulla che affronti realmente l'apprendimento per la robustezza.
  2. Mi sto perdendo qualche criterio ovvio?
  3. Qualcuno è interessato a lavorare/risolvere questo problema?(Se è così, sono felice di rendere open source parte di un simulatore molto noioso che ho messo insieme questo fine settimana e generalmente offro consigli inutili).

@cdv:Ora ho guardato il video ed è molto bello, e anche se non penso che arrivi a una strategia di distribuzione collegabile, è sicuramente al 90% del percorso.Le domande, tuttavia, evidenziano utili differenze con questo approccio che rispondono ad alcune delle mie ulteriori preoccupazioni e mi forniscono alcuni riferimenti su cui approfondire.Accetto quindi provvisoriamente la tua risposta, pur ritenendo la questione aperta.

È stato utile?

Soluzione

Se hai tempo, varrebbe la pena dare un'occhiata il discorso tecnico di Google tenuto da Wuala.Discutono degli stessi problemi che hanno dovuto affrontare durante la creazione del loro file system peer-to-peer.

Altri suggerimenti

Esistono più sistemi là fuori con vari aspetti di ciò che cerchi e ognuno di essi fa diversi compromessi, inclusi ma non limitati a:

Dinamo di Amazon: http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf

Kai: http://www.slideshare.net/takemaru/kai-an-open-source-implementation-of-amazons-dynamo-472179

Hadoop: http://hadoop.apache.org/core/docs/current/hdfs_design.html

Accordo: http://pdos.csail.mit.edu/chord/

Alveare: http://www.cs.cornell.edu/People/egs/beehive/

e molti altri.Dopo aver creato un sistema personalizzato in questo senso, ho rilasciato alcuni degli elementi costitutivi anche in formato open source: http://code.google.com/p/distributerl/(non si tratta di un intero sistema, ma di alcune librerie utili per costruirne uno)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top