- 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.
- 地域と規模によって階層化されたクラスタを作ることで,近いノードから探索を始めて低レイテンシーを実現