2009-05-29 2 views
0

私はリモートスレッドプリミティブプロトコルを設計しています。現在のところ、mutex(モニタ)とセマフォだけが必要です。主な考え方は、中心的な権威である必要はないということです。プリミティブは、それらに興味のある同僚の間で調整されるべきです。リモートロック

私は数週間、紙の上や頭の中でいくつかのアイデアを見つけました。しかし私は先の文献を実際に調べるべきだと思う。何かありますか?

これはXMPP上で動作しますが、これは実装の詳細です。私は実際のプロトコルフローで仕様などを探しているだけなので、文献がどのプロトコルから由来するかは実際問題ではありません。

ありがとうございます。

+1

これが役立つかどうかわかりませんが、オープンソースのミドルウェアプロジェクトhttp://en.wikipedia.org/wiki/Message_queueのソースを見てください。特に、いくつかの高レベルのアルゴリズムがあります。分散キャッシュなど、必要なもののようなプリミティブを使用し、タイムアウト、破損などを処理する可能性があります。 –

+0

@ sambo99 - これを答えにしませんか? –

答えて

1

分散mutexはトリッキーな構造です。単一のマシンベースの実装では存在しないあらゆる種類の奇妙な条件を処理する必要があります。特に、エージェントがグループとの通信を失い、共有リソースをロックしている状況を処理する必要があります。そのシナリオに加えて、グループが分割され、リソースのロックを取得する複雑なシナリオがあります。骨折したグループが大きなグループに参加するときは、ロックを調整する方法が必要です。これは簡単ではありません。

私は強く、一部Erlangなどmessaging based middlewareJBoss

私はまた、あなたが実装する必要が特定の分散アルゴリズム/データ構造上の別の質問を投稿する推薦に探してお勧めします。ミドルウェア・ライブラリーのすぐに使用できるインプリメンテーションは、ニーズに合わせて調整することができます。