Chord systém

  • = Distribuovaná hashovací tabulka

  • Chord systém se používá pro organizaci a vyhledávání informací v distribuovaných systémech.

  • Navržen tak, aby poskytoval efektivní a spolehlivé řešení pro distribuované uchovávání a vyhledávání klíčů v síti.

  • Původně navržen pro peer-to-peer sítě, ale jeho koncepty jsou aplikovatelné i na jiné typy DS.

  • Chord vytváří kruhovou strukturu, kde každý uzel (node) v síti má přiřazen jedinečný identifikátor (klíč).

  • Uzly jsou uspořádány do kruhu podle hodnot jejich identifikátorů. Identifikátor má bitů (obvykle nebo ) a celkově je poté v uzlů.

  • Uzel s klíčem je spravován uzlem s klíčem , kde , tento uzel se nazývá succ(k) (successor)

  • Hlavní úkol je pro efektivně najít succ(k).

Přidání uzlu do chord systému

  • Proces, který zahrnuje aktualizaci struktury kruhu a redistribuci odpovědnosti za klíče tak, aby nový uzel byl začleněn do sítě.

Postup:

  1. Nový uzel , který se chystá připojit k síti, vygeneruje svůj jedinečný identifikátor (klíč).
  2. Nový uzel musí najít svého “souseda” v kruhu Chord. tj. succ(p+1). Často provedeno pomocí vyhledávacího dotazu.
  3. Každý uzel si drží aktualizovanou FT:
  • ví, že první záznam odkazuje na následující uzel v kruhu.
  • Každý uzel pravidelně ověřuje podmínku:
    • Pokud je nepravdivá, pak , je třeba nastavit (také je třeba ověřit, že ).
    • Musím opravit zbytek ( musí najít , )

Smazání (výpadek, havárie) uzlu

  • Každý uzel testuje, zde je naživu.
  • Pokud aktualizuje spojení na dalšího souseda v kruhu a zjistí, že není nastaven, pak .