Distributed HashTable (DHT) - Base de Données Distribuée

godvicien Messages postés 36 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 6 avril 2014 - 27 juin 2008 à 04:04
godvicien Messages postés 36 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 6 avril 2014 - 15 juil. 2008 à 14:56
Salut,

Je suis ingénieur MIAGE, et je bosse depuis un an sur une nouvelle sorte de P2P révolutionaire (si si...). Tout le concept tiens la route et je viens de terminer le client.

Se pose maintenant l'évidente question des Serveurs de Recherche. La suite logique voudrait que je m'attaque à un serveur mono-tiers, puis à du multi-tiers, et enfin le rêve, à du full-decentralized : Une DHT.

Mes fichiers ont un hash (SHA512), et je développe actuellement le protocole
P2P avec DotNet Remoting :
J'ai fais les premiers testes c'est assez basique.

Et si... et si, je sautais une, voire deux étapes : je passe direct à la DHT.

Je développe en C#, mais je pose ma question ici car quasi-tous les softs de P2P sont en C/C++.

J'ai un budgé de plusieurs milliers d'Euro pour une suivre une formation d'une journée sur les DHT :
Mais je ne trouve aucun bouquin, ni aucune formation sur ces maudites DHT.

Quelqu'un aurait-il une solution à cette infernal déséquilibre ?

PS: Peut-on poster dans plusieurs rubriques à la fois ? Non pas possible...

2 réponses

cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
29 juin 2008 à 23:02
Salut,

En ce moment ce qui se fait de mieux en DHT c'est Kademlia, et c'est pas la doc qui manque sur le net (par exemple ici).

En plus c'est utilisé par plein de logiciels p2p qui sont evidemment
opensource, donc y'a plus qu'a retrousser ses manches et plonger les
mains dans le cambouis pour étudier comment tout ça fonctionne.
0
godvicien Messages postés 36 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 6 avril 2014
15 juil. 2008 à 14:56
Ca y est j'ai globalement compris Kademlia :

1: On cherche des données formulées par des mots-clés.
2: On cherche quel Peer indexe ces mots-clés (c'est le peer qui sait chez qui se trouve l'info).
3: Pour cela on calcul une adresse IP a partir des mots-clés recherché (mot=>IP).
4: On cherche ensuite le Peer le plus "proche" de l'IP calculée.
5: C'est un algorithme complexe de "distance" d'adresse IP entre elles.
6: C'est ce Peer qui indexe les données cherchées, et sais chez quel autres Peers se trouve l'info.
7: Il nous donne donc la liste des Peers à contacter pour récupérer l'info.
8: On contacte les Peers qui nous donnent l'info, de Peer à Peer.

Problème : le calcul de "distance" est un algorithme complexe et surtout mathématique dont je ne comprend pas garnd chose...
Et comme je ne sais pas lire le C/C++ je ne risque pas de comprendre "Emule".

Tant pis, j'embaucherais un ingénieur qui sait lire le C et pourra me décrypter la partie d'Emule qui m'intérresse...

Godvicien
0
Rejoignez-nous