- CoralCDNの中で提案されている - Distributed Sloppy Hash Table - [[DHT]]の一つ - Coralでは,同じキーの下に複数の値が保存されることがある - 各Coralノードはクラスタを形成する - 各クラスタはRTTの直径で結ばれる - 上位の高速クラスタに先に問い合わせる - Method - Put(key, val, ttl, *levels) - 値をセット.TTL(Time-to-live)を設定する. - Get(key, *levels) - 値を取得 - Nodes - Levelで指定されたノードのクラスタに属する隣人数を返す. - Levels - レベルとRTT閾値を返す - 単順にDHTにデータを保存するのは無駄なストレージと帯域幅が浪費されてしまうので,[[Kademlia]]を拡張 1. - [[Kademlia]]はIDがキーに最も近いノードに値を格納しようとする. - XOR距離に基づく - 既にデータを持っているかもしれない遠いノードを無視し,最も近いノードがデータを欲しているかどうかに関わらず格納しようとする - 結果,ストレージと帯域が無駄に消費される - 代わりに,ポインタ(実際にデータを持ってるノードのアドレス)を保持することで効率化を図る 2. - 地域と規模によって階層化されたクラスタを作ることで,近いノードから探索を始めて低レイテンシーを実現