Centrala begrepp
本報告書は、ソケットプログラミングを利用した分散コンピューティング環境における、ネットワーク型分散システムの開発について述べている。
Sammanfattning
本報告書では、Java を使用して開発された「グループコミュニケーションシステム(GCS)」について説明している。GCSは、クライアントとサーバー間の通信を可能にするクライアント-サーバーアーキテクチャを採用している。主な特徴は以下の通りである:
- クライアントハンドラースレッドを使用して、複数のクライアントを同時に処理し、システムの応答性を向上させている。
- TCP通信プロトコルを使用して、信頼性の高いデータ転送を実現している。
- クライアントの障害や切断に対する耐障害性メカニズムを備えている。
- クライアント間の公開メッセージと非公開メッセージの両方をサポートしている。
- クライアントがコーディネータクライアントから接続クライアントの詳細情報を取得できる機能を提供している。
- クライアントが "/quit" コマンドを使ってサーバーから切断できる機能を備えている。
設計パターンとしては、シングルトンパターンとファクトリーパターンを採用している。また、JUnitテストを通じて、システムの信頼性と堅牢性を検証している。
全体として、本システムは分散環境における信頼性の高いコミュニケーションインフラストラクチャを提供するものであり、今後の発展に向けた課題も示されている。
Statistik
クライアントの切断時に、関連するClientHandlerスレッドを終了させることで、通信の流れを中断させないようにしている。
コーディネータクライアントが不在の場合でも、グループコミュニケーションの継続性を確保している。
サーバーのIPアドレスとポートの設定を正しく行うことを検証するテストを実施している。
現在の時刻を正しく取得できることを検証するテストを実施している。
Citat
"シングルトンパターンを採用することで、アプリケーションのライフサイクル全体を通して、サーバーのインスタンスが1つだけ存在するようにしている。"
"ファクトリーパターンを使用することで、ClientHandlerオブジェクトを動的に生成し、クライアント接続の管理と、コードの柔軟性および再利用性を高めている。"
"TCP通信プロトコルを使用することで、信頼性の高いデータ転送を実現している。"