相互排除を利用するプログラミング割り当てのために、複製されたファイル システムを作成しています。
アイデアは次のとおりです。3 つのサーバー ノード、6 つのクライアント ノード。クライアントは、レプリケートされたテキスト ファイルのコピーを保持しているサーバーに WRITE 要求を送信します。各ノードは仮想ネットワーク内の独自のマシン上にあり、Java ソケットを使用して相互に通信します。
問題: クリティカル セクションに入る要求を出しているクライアントをどのように処理すればよいですか? セクションに入ろうとするクライアントが 3 つのサーバーに許可を求める Ricart-Agrawala アルゴリズムを使用しています。
まず、クライアントはこのリクエストをどの程度正確にモデル化する必要がありますか? リクエストオブジェクトを作成する必要がありますか? ブール配列だけですか?
第 2 に、サーバー ノードはどのようにリクエスト キューを処理する必要があり、ソケット接続を介して特定のクライアント アクセス許可をどのように付与する必要があるのでしょうか? クライアントは、終了後に「終了」メッセージをサーバーに送信し、サーバーがそれを受信すると、リクエストキューをチェックできると思いますか? これは、リクエストを行っているノードの ID に基づくキューである可能性があります。キューの先頭を削除してから、要求を行ったノードにメッセージを送信しますか?
助けてくれてありがとう。