90 likes | 213 Vues
This study explores the application of Distributed Hash Tables (DHT) in location-based systems, specifically focusing on Place Lab. By introducing the Prefix Hash Trees (PHT) for range queries, the research enhances the existing DHT framework used for data storage within Place Lab’s wireless beacon localization system. The paper discusses the mapping servers that utilize DHT and the hierarchical structure of PHT, which can be implemented across various existing DHT platforms. The proposal aims to improve data availability and robustness for location services.
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の子供 • 末端ノードのみがデータ所持