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