概要
分散ハッシュテーブルの実装の一つである Chord を WebRTC を用いて実装しました。
Chord とは
Chord は分散ハッシュテーブル (DHT: Distributed Hash Table) の実装の一つです。
分散ハッシュテーブルはその名の通りハッシュテーブルを分散して管理するものであり、P2P においては例えばファイル共有ソフトで「あるファイルを提供しているノードはどれか」といった情報をピア間で分散管理し高速に検索できるようにする用途で利用されています。
Chord の解説としては以下のスライドが分かりやすいです。
webrtc-chord
その分散ハッシュテーブルの実装の一つである Chord を、Web ブラウザー間で P2P 通信を行う機能を持つ WebRTC で実装しました。
従来の Web ブラウザーは HTTP や WebSocket などのクライアント/サーバー型の通信しかサポートしていませんでしたが、WebRTC ではサーバーを介さず Web ブラウザー同士で直接 P2P 通信を行うことができます。
これにより、従来のクライアント/サーバー型の Web サービスとは異なる、大規模な分散型 P2P Web アプリケーションを実現できるのではと思います。
まとめ
参考
- I. Stoica, et al, Chord: A scalable peer-to-peer lookup service for internet applications, 2001
- Open Chord