研究会

機械学習、データベース、分散システム、その他技術的なことを書く研究会です

WebRTC で動く Chord DHT の実装 webrtc-chord を公開しました

概要

分散ハッシュテーブルの実装の一つである ChordWebRTC を用いて実装しました。

tsujio/webrtc-chord - GitHub

f:id:ntsujio:20140704175201p:plain

Chord とは

Chord は分散ハッシュテーブル (DHT: Distributed Hash Table) の実装の一つです。

分散ハッシュテーブルはその名の通りハッシュテーブルを分散して管理するものであり、P2P においては例えばファイル共有ソフトで「あるファイルを提供しているノードはどれか」といった情報をピア間で分散管理し高速に検索できるようにする用途で利用されています。

Chord の解説としては以下のスライドが分かりやすいです。

ChordアルゴリズムによるDHT入門

webrtc-chord

その分散ハッシュテーブルの実装の一つである Chord を、Web ブラウザー間で P2P 通信を行う機能を持つ WebRTC で実装しました。

従来の Web ブラウザーは HTTP や WebSocket などのクライアント/サーバー型の通信しかサポートしていませんでしたが、WebRTC ではサーバーを介さず Web ブラウザー同士で直接 P2P 通信を行うことができます。

これにより、従来のクライアント/サーバー型の Web サービスとは異なる、大規模な分散型 P2P Web アプリケーションを実現できるのではと思います。

まとめ

  • WebRTC で動く Chord を作った

  • P2P な Web サービスが登場するかも

  • 大規模な P2P Web サービスに webrtc-chord をよろしくお願いします

参考