2009-05-29 67 views
0

我正在設計一個遠程線程原語協議。目前我們只需要互斥體(即監視器)和信號量。主要思想是不需要成爲中央權威機構 - 原語應該在對其感興趣的同行之間進行協調。遠程鎖定

我已經在紙上和頭腦中想了幾個周,但我認爲我應該真的看看以前的文獻。有沒有?

它將運行在XMPP上 - 但這是一個實現細節。我只是在實際的協議流程中尋找一個規範或者這樣的規範 - 所以文獻起源的協議並不重要。

非常感謝。

+1

不知道這是否有幫助,但我會看看一些開源中間件項目http://en.wikipedia.org/wiki/Message_queue的來源,特別是有很多更高層次的算法分佈式緩存等可能會使用像你需要的基元,並處理超時,腐敗等... – 2009-05-29 12:46:54

回答

1

分佈式互斥體是棘手的結構。您需要處理單個基於機器的實現中不存在的各種奇怪的情況。特別是,您需要處理代理與組失去通信並仍然鎖定共享資源的情況。除此之外,還有一些複雜的場景,您的羣組已分解並且您在資源上獲取鎖定。當破裂的羣體加入到一個大羣體中時,你需要一些方法來調和遠離瑣碎的鎖定。

我會強烈建議考慮一些messaging based middlewareErlangJBoss

我也建議張貼在您需要實現特定的分佈式算法/數據結構不同的問題。有可能您可以在中間件庫中實現一個開箱即用的實現,這個中間件庫可以根據您的需求進行調整。