タグ

Programmingとdhtに関するjjzakのブックマーク (3)

  • 分散ハッシュテーブル(DHT) - FreeStyleWiki

    分散ハッシュテーブル(DHT : Distributed Hash Table)とは、大量のデータから検索情報を手早くたどることができる構成である。 たとえば、「リンゴ」「ぶどう」「みかん」「バナナ」「パイナップル」のようなキーワードがあった場合に、 リンゴ ==> 「ら」行のノードに格納 ぶどう ==> 「は」行のノードに格納 みかん ==> 「ま」行のノードに格納 バナナ ==> 「は」行のノードに格納 パイナップル ==> 「は」行のノードに格納 のように、「あかさたな...」で分類して、インデックスで引き出せるように効率化したものをイメージするとよい。 ただし、上記のように「は」行が多いようであると、それを管理するノードに処理が集中してしまう。それを回避するために、「ハッシュコード」を使用する。 ハッシュ値(メッセージダイジェスト)とは? 与えられた原文から生成された固定長

  • Erlangで分散ハッシュテーブルを実装してみた - NO!と言えるようになりたい

    並行言語であるErlangでPeer-to-Peer Network技術の一つである分散ハッシュテーブルを実装してみたところ,わずか1000行程度で実現できました.ノードが頻繁に出たり入ったりする,いわゆるchurn下でもそれなりの性能が出せたので,SourceForge.netで公開してみます.興味のある方はどうぞ. http://sourceforge.net/projects/ermdia/ 内部アルゴリズムはKademliaと呼ばれるものを利用しています.BitTorrent等でおなじみのアルゴリズムですが,データのput/getなどの通常のメッセージの交換時にルーティングテーブルをアップデートするため,ルーティングテーブルの維持コストがChord等に比べて低いという特徴があります.実装もそれなりに簡単で,過去にSymphonyと呼ばれる分散ハッシュテーブルを実装したのですが,それ

    Erlangで分散ハッシュテーブルを実装してみた - NO!と言えるようになりたい
  • P2Pな自作ソフトとLISP言語 メインページ

    人気再燃!ポケモンGOをより楽しむウェアラブルデバイス4選 街中で『ポケモンGO』を遊ぶにしても、スマートフォンを出したりしまったりしながら歩くのはなかなか難し…

    P2Pな自作ソフトとLISP言語 メインページ
  • 1