Hallo,
Ich bin am entwickeln einer p2p anwendung, und frage mich nun wie man ein einfaches bootstrapping realisieren sollte. Also dass sich die Peers untereinander kennenlernen. Es sollte relativ einfach bleiben, also kein distributed hashtable oder ähnliches.
Nun ich habe mir vorgestellt, dass es einen Server gibt, der zwar nicht teil des p2p netzwerkes ist, aber jedoch für einen neuen peer einen (oder mehrere?) "Einstiegsknoten" bereitstellt. Nun das simpelste würde jetzt sein dass ein neuer peer sich diesen Entrypoint vom server holt. Somit kennt der peer mal einen peer. diesen Peer kann er nun fragen welcher peer er kennt... usw. Das setzt man quasi rekursiv fort. Das würde dann darin enden dass jeder peer jeden anderen peer kennt. Das ist nun natürlich nicht der Sinn der sache.
Habt ihr hier tipps wie man das möglichst einfach (es muss nicht wahnsinnig ausgeklügelt sein) realisieren kann? Soll der Server immer nur den gleichen peer bereitstellen? Oder jene Peers die sich als letztes eingestiegen sind? Sollte man nur eine Ebene der "rekursion" beim bootstrappen machen? Wie stellt man sicher dass ein peer nicht völlig abgekapselt ist? etc..
p.s. jxta ist leider keine option, und andere frameworks haben sich als nicht so brauchbar herausgestellt. Das ganze würde ich mit sockets realisieren.
greetz
Ich bin am entwickeln einer p2p anwendung, und frage mich nun wie man ein einfaches bootstrapping realisieren sollte. Also dass sich die Peers untereinander kennenlernen. Es sollte relativ einfach bleiben, also kein distributed hashtable oder ähnliches.
Nun ich habe mir vorgestellt, dass es einen Server gibt, der zwar nicht teil des p2p netzwerkes ist, aber jedoch für einen neuen peer einen (oder mehrere?) "Einstiegsknoten" bereitstellt. Nun das simpelste würde jetzt sein dass ein neuer peer sich diesen Entrypoint vom server holt. Somit kennt der peer mal einen peer. diesen Peer kann er nun fragen welcher peer er kennt... usw. Das setzt man quasi rekursiv fort. Das würde dann darin enden dass jeder peer jeden anderen peer kennt. Das ist nun natürlich nicht der Sinn der sache.
Habt ihr hier tipps wie man das möglichst einfach (es muss nicht wahnsinnig ausgeklügelt sein) realisieren kann? Soll der Server immer nur den gleichen peer bereitstellen? Oder jene Peers die sich als letztes eingestiegen sind? Sollte man nur eine Ebene der "rekursion" beim bootstrappen machen? Wie stellt man sicher dass ein peer nicht völlig abgekapselt ist? etc..
p.s. jxta ist leider keine option, und andere frameworks haben sich als nicht so brauchbar herausgestellt. Das ganze würde ich mit sockets realisieren.
greetz