2012-04-08 11 views
1

分散システムでは、すべてのエージェントが同じ鍵を使用して情報を暗号化することが期待されます。システムは完全に分散されており、エージェントは特権を持たず、エージェントは出入りすることができます。同期データを格納するための分散アルゴリズム

各エージェントが鍵を保持しているため、どのエージェントもその鍵をすぐに置き換えることができます。つまり、ある時点からtから、すべてのエージェントは前のキーKの代わりに新しい鍵K'を使用します。

接続は信頼性がありますが(tcp)、より汎用性のあるソリューションも考慮する必要があります。

これを行うための標準アルゴリズムはありますか?

私は同様のコンセンサスアルゴリズムの教科書がありません。

私の考え:

  1. すべてのエージェントが円形に接続します。
  2. 各エージェントは、鍵が作成された時点で、新しい鍵を近隣の人に送信します。
  3. エージェントは新しい鍵を受け取ると、2つの鍵の作成日を比較し、古い鍵を破棄します。
  4. エージェントが前のキーをスローすると、新しいキーを近隣の人に送信します。
+1

あなたの問題を少し明確に述べることができますか? – Matthias

+0

あなたの問題が何であるかを伝えることは本当に難しいです。あなたが思いついたアルゴリズムに何が問題なのですか? –

+0

1)信頼できる接続ですか? 2)一貫性? ACID保証のいずれか? 3)エージェントは参加したり離れることができますか? 4).... –

答えて

0

私が正しいとすれば、合意のプロトコルが必要です。あなたの仮定(例えば、同期、起こりうる障害など)に応じて、そのようなプロトコルがたくさんあります。 たとえば、多くの場合、シンプグループ通信プロトコル(ISISなど)が十分であり、より洗練されたフォルトモードでは、ビザンチン契約が必要です。

+0

この種のプロトコルを紹介する場所を指摘できますか、私はあなたが言及している基本的な用語については知らない。 – mikebloch

+0

さて、私はgoogleが見つけるべき二つの用語、「グループ通信プロトコル」と「ビザンチン契約」を挙げました。希望が役立ちます。分散アルゴリズムに全般的に興味があるなら、Lynchの教科書(あなたが少しの数学的に荒れていない場合)やMatternをお勧めします。 – Matthias

0

いくつかの一般的なアプローチについてはthis、いくつかの有名なものについてはthisさえあります。

関連する問題