2012-04-08 66 views
1

在分佈式系統中,所有代理都需要使用相同的密鑰來加密信息。系統是完全分佈式的,沒有代理人特權,代理人可以離開。用於存儲同步數據的分佈式算法

每個代理都持有一個密鑰,並且我希望任何代理能夠立即替換密鑰。也就是說,從某個時間點t開始,所有代理將使用新密鑰K'而不是以前的密鑰K

連接可靠(tcp),但應該考慮更多功能的解決方案。

有沒有一個標準的算法來做到這一點?

我錯過了類似共識算法的教科書。

我的想法:

  1. 所有代理都將在一個圓圈相連。
  2. 每個代理人在密鑰創建之後都會將新密鑰發送給他的鄰居,
  3. 當代理正在接收新密鑰時,它將比較兩個密鑰的創建日期,並丟棄較舊的密鑰。
  4. 當代理人拋出他以前的密鑰 - 他會發送他的新密鑰給他的鄰居。
+1

你能否更清楚地陳述你的問題? – Matthias 2012-04-08 17:06:21

+0

很難說出你的問題是什麼。你提出的算法有什麼問題? – 2012-04-08 17:18:49

+0

1)連接可靠嗎? 2)一致性?任何ACID保證? 3)代理商可以加入並離開? 4)。...... – 2012-04-08 17:21:38

回答

0

如果我說得對,你想要一個協議協議。根據你的假設(例如,同步,可能的錯誤等),有很多這樣的協議。例如,在許多情況下,simpe group communication protocols(例如ISIS)就足夠了,對於需要拜占庭協議的更復雜的故障模式。

+0

請你指點我介紹這種協議的地方,我甚至不知道你所指的基本術語。 – mikebloch 2012-04-08 18:26:26

+0

好吧,我命名了谷歌應該找到的兩個術語:「組通信協議」和「拜占庭協議」。希望有所幫助。如果你對分佈式算法感興趣,我可以推薦Lynch的教科書(如果你不是算數學)或者Mattern。 – Matthias 2012-04-08 18:45:55

0

你可以看到this幾個通用的方法,甚至this幾個着名的。