utamaro日記

d557376f :Anonymous 2015-12-02 14:43
12/2
自分の記憶の中では、P2Pといえば今は名前しか残っていない、napsterが最初だった。歴史的にはもっと古いものがあるかもしれない。例のごとく主に違法な用途で広がってしまったわけだが、技術的にも個人でデータをやり取りする、というのはセンセーショナルだった。
そのサーバを介したP2Pは、その後、decentrizedされたwinny、そしてこれらmessage flooding modelから、bittorent等で使用される、
kademliaやらchord、skip graphに代表されるDHTに進化していったと理解している。

一方新月は公式HPにあるとおり、decentrizedではあるが、messaging floodingモデルのP2Pである。データ共有のためデータ情報をばらまく。しかし、現状ノード数は20程度、多くて100ノード程度ときく。正直このレベルであれば、全ノードに更新情報を通知するほうがkademliaで面倒なことをするより効率的であろう。
各ノードが希望するスレを保有するという前提を崩さず、あえてkademliaで実装することを考えれば、
・各ノードのIPアドレスまたは別に与えるノード名からハッシュを作成(HASH(node))
・スレを更新したノードは、スレ名のハッシュ(HASH(thread))に近いHASH(node)をもつノードに自ノードを伝える
・スレ一覧を得たい場合はHASH(thread)に近いノードからスレを更新したノード(スレを持つノード)を得る
・スレ情報をもつノードは定期的に自分のHASH(node)に近いノードに自情報を伝える
となるであろう。
将来kademliaが有効なほどにノード数が増えることを望んでやまない。
Powered by shinGETsu.