90 likes | 209 Views
A Case Study in Building Layered DHT Applications. Yatin Chawathe, Intel Research Seattle Sriram Ramabhadran, UCSD Sylvia Ratnasamy, Intel Research Berkeley Anthony LaMarca, Intel Research Seattle Scott Shenker, ICSI/UC Berkeley Joseph Hellerstein, Intel Research Berkeley. 概要.
E N D
A Case Study in Building Layered DHT Applications Yatin Chawathe, Intel Research Seattle Sriram Ramabhadran, UCSD Sylvia Ratnasamy, Intel Research Berkeley Anthony LaMarca, Intel Research Seattle Scott Shenker, ICSI/UC Berkeley Joseph Hellerstein, Intel Research Berkeley
概要 • DHT (Distributed Hash Table) のアプリケーションの一つを提案 • Place Labのデータベース保管に利用 • 既存のDHT上で、range queryに対応させるPHT (Prefix Hash Trees)を提案
Place Lab • 概要 • 位置情報取得システムの一種 • 成り立ち • Intel Research Laboratoryのプロジェクトの1つ • 以前、Jeffrey HightowerがUniversity of Washingtonで行っていた“The Location Stack”というプロジェクトが起源
Place Lab -Overview- • 既存の無線ビーコンを用いた位置特定システム • ラップトップ、PDA、携帯 • ビーコンの情報をデータベース化 • データベースの肥大化により耐故障性が問題に • →DHTによる分散化
Place Lab • Mapping Server • War driverのデータをDHTを利用して保存 • ビーコンのIDをSHA1でハッシュ • Availability, RobustnessはDHT頼み • Place Lab Client • Mapping Serverの発見にOpenDHTのReDiRを利用 • 新しい地域に入ると、Mapping Serverから一括で情報をダウンロード→PHTの利用
Prefix Hash Trees • 著者が定義するデータ構造体 • Put / get / removeのあるあらゆるDHT上に実装可能(例えばOpenDHTなど) • Range queryをget(key)のみで指定可能 • Trieのような構造をしている
Trieとは • ツリー型の文字列構造 • 補完入力、文章中の特定の単語抽出などに利用される • 単語数が増加しても処理速度があまり落ちない • メモリ使用量が大きい • 例)hotmail → hotmail $v[m] = 1;$v[ma] = 1;$v[mai] = 1;$v[mail] = 2;$v[mak] = 1;$v[make] = 2;$v[x] = 1;$v[xm] = 1;$v[xma] = 1;$v[xman] = 2; $v[0] = mail; $v[1] = make; $v[2] = xman;
Adapting PHTs for Place Lab 2次元 1次元 • Trieのバイナリ対応化 • 緯度・経度をそれぞれ40ビットの整数に変換、結合 • 例: (1,2) • (001, 010) →(000110) (2,4) 011000(5,6) 110110
Adapting PHTs for Place Lab :ノード • TrieのDHT対応化 • Mapping Server(以下、ノード)にラベルの割り当て • 各ノードには0 or 2の子供 • 末端ノードのみがデータ所持