(57)【特許請求の範囲】
【請求項１】
自身が有するアプリケーションプログラムの起動を検出する検出手段と、
自身と直接通信可能なコンピュータを隣接ノードとして管理する隣接ノード管理手段と、
前記検出手段によりアプリケーションプログラムの起動が検出された場合には、自身で該アプリケーションプログラムが起動した旨の情報を隣接ノードとして管理されているコンピュータに通知し、隣接ノードとして管理されているコンピュータからあるコンピュータでアプリケーションプログラムが起動した旨の情報を通知された場合には、その情報を所在管理テーブルに記憶するとともに隣接ノードとして管理されている別のコンピュータに通知する所在情報通知手段とを備えたことを特徴とするネットワーク通信管理装置。
【請求項２】
同一のアプリケーションプログラムを有する複数のコンピュータが通信回線を介して接続されてなるネットワーク通信管理システムであって、前記複数のコンピュータのそれぞれは、
自身が有するアプリケーションプログラムの起動を検出する検出手段と、
自身と直接通信可能なコンピュータを隣接ノードとして管理する隣接ノード管理手段と、
前記検出手段によりアプリケーションプログラムの起動が検出された場合には、自身で該アプリケーションプログラムが起動した旨の情報を隣接ノードとして管理されているコンピュータに通知し、隣接ノードとして管理されているコンピュータからあるコンピュータでアプリケーションプログラムが起動した旨の情報を通知された場合には、その情報を所在管理テーブルに記憶するとともに隣接ノードとして管理されている別のコンピュータに通知する所在情報通知手段と、
利用者からアプリケーションプログラムに対する接続要求があると、前記所在管理テーブルを参照して、該アプリケーションプログラムを起動したコンピュータとの間で通信パスを確立する通信制御部とを備えたことを特徴とするネットワーク通信管理システム。
【請求項３】
前記検出手段は、さらに、自身が有するアプリケーションプログラムの停止を検出し、
前記所在情報通知手段は、前記検出手段によりアプリケーションプログラムの停止が検出された場合には、自身で起動した該アプリケーションプログラムが停止した旨の情報を隣接ノードとして管理されているコンピュータに通知し、隣接ノードとして管理されているコンピュータから第１のコンピュータで起動したアプリケーションプログラムが停止した旨の情報を通知された場合には、前記所在管理テーブルに記憶されていた当該第１のコンピュータで該アプリケーションプログラムが起動した旨の情報を削除するとともに当該停止した旨の情報を隣接ノードとして管理されている別のコンピュータに通知し、
前記通信制御部は、隣接ノードとして管理されているコンピュータから、第２のコンピュータでアプリケーションプログラムが起動した旨の情報を通知された時に、前記第２のコンピュータとの間で通信パスを確立してから前記第１のコンピュータとの間で確立されていた通信パスを解放することを特徴とする請求項２記載のネットワーク通信管理システム。
【請求項４】
前記隣接ノード管理手段は、自身にあらかじめ隣接ノードとして定義されているコンピュータに、自身を隣接ノードとして管理するよう要求するとともに、他のコンピュータから、当該他のコンピュータを隣接ノードとして管理するよう要求があった場合に、当該他のコンピュータを隣接ノードとして管理することを特徴とする請求項２又は３のいずれかに記載のネットワーク通信管理システム。
【請求項５】
同一のアプリケーションプログラムを有し、互いに通信回線を介して接続されてなる複数のコンピュータのそれぞれにおいて、
自身が有するアプリケーションプログラムの起動を検出する検出ステップと、
自身と直接通信可能なコンピュータを隣接ノードとして記憶する隣接ノード記憶ステップと、
前記検出ステップでアプリケーションプログラムの起動が検出された場合には、自身で該アプリケーションプログラムが起動した旨の情報を隣接ノードとして記憶されたコンピュータに通知し、隣接ノードとして記憶されたコンピュータからあるコンピュータでアプリケーションプログラムが起動した旨の情報を通知された場合には、その情報を所在管理テーブルに記憶するとともに隣接ノードとして記憶された別のコンピュータに通知する所在情報通知ステップと、
利用者からアプリケーションプログラムに対する接続要求があると、前記所在管理テーブルを参照して、該アプリケーションプログラムを起動したコンピュータとの間で通信パスを確立する通信制御ステップとを含むことを特徴とするネットワーク通信管理方法。
【請求項６】
前記検出ステップでは、さらに、自身が有するアプリケーションプログラムの停止を検出し、
前記所在情報通知ステップでは、前記検出ステップでアプリケーションプログラムの停止が検出された場合には、自身で起動した該アプリケーションプログラムが停止した旨の情報を隣接ノードとして記憶されたコンピュータに通知し、隣接ノードとして記憶されたコンピュータから第１のコンピュータで起動したアプリケーションプログラムが停止した旨の情報を通知された場合には、前記所在管理テーブルに記憶されていた当該第１のコンピュータで該アプリケーションプログラムが起動した旨の情報を削除するとともに当該停止した旨の情報を隣接ノードとして記憶された別のコンピュータに通知し、
前記通信制御ステップでは、隣接ノードとして記憶されたコンピュータから、第２のコンピュータでアプリケーションプログラムが起動した旨の情報を通知された時に、前記第２のコンピュータとの間で通信パスを確立してから前記第１のコンピュータとの間で確立されていた通信パスを解放することを特徴とする請求項５記載のネットワーク通信管理方法。
【請求項７】
前記隣接ノード管理ステップでは、自身にあらかじめ隣接ノードとして定義されているコンピュータに、自身を隣接ノードとして管理するよう要求するとともに、他のコンピュータから、当該他のコンピュータを隣接ノードとして管理するよう要求があった場合に、当該他のコンピュータを隣接ノードとして管理することを特徴とする請求項５又は６のいずれかに記載のネットワーク通信管理方法。
【請求項８】
同一のアプリケーションプログラムを有し、互いに通信回線を介して接続されてなる複数のコンピュータのいずれかに対し、
自身が有するアプリケーションプログラムの起動を検出する検出処理と、
自身と直接通信可能なコンピュータを隣接ノードとして記憶する隣接ノード記憶処理と、
前記検出処理でアプリケーションプログラムの起動が検出された場合には、自身で該アプリケーションプログラムが起動した旨の情報を隣接ノードとして記憶されたコンピュータに通知し、隣接ノードとして記憶されたコンピュータからあるコンピュータでアプリケーションプログラムが起動した旨の情報を通知された場合には、その情報を所在管理テーブルに記憶するとともに隣接ノードとして記憶された別のコンピュータに通知する所在情報通知処理と、
利用者からアプリケーションプログラムに対する接続要求があると、前記所在管理テーブルを参照して、該アプリケーションプログラムを起動したコンピュータとの間で通信パスを確立する通信制御処理と、
を実行させるプログラムを記録したことを特徴とする記録媒体。
【請求項９】
前記検出処理では、さらに、自身が有するアプリケーションプログラムの停止を検出し、
前記所在情報通知処理では、前記検出処理でアプリケーションプログラムの停止が検出された場合には、自身で起動した該アプリケーションプログラムが停止した旨の情報を隣接ノードとして記憶されたコンピュータに通知し、隣接ノードとして記憶されたコンピュータから第１のコンピュータで起動したアプリケーションプログラムが停止した旨の情報を通知された場合には、前記所在管理テーブルに記憶されていた当該第１のコンピュータで該アプリケーションプログラムが起動した旨の情報を削除するとともに当該停止した旨の情報を隣接ノードとして記憶された別のコンピュータに通知し、
前記通信制御処理では、隣接ノードとして記憶されたコンピュータから、第２のコンピュータでアプリケーションプログラムが起動した旨の情報を通知された時に、前記第２のコンピュータとの間で通信パスを確立してから前記第１のコンピュータとの間で確立されていた通信パスを解放するプログラムを記録したことを特徴とする請求項８記載の記録媒体。
【請求項１０】
前記隣接ノード管理処理では、自身にあらかじめ隣接ノードとして定義されているコンピュータに、自身を隣接ノードとして管理するよう要求するとともに、他のコンピュータから、当該他のコンピュータを隣接ノードとして管理するよう要求があった場合に、当該他のコンピュータを隣接ノードとして管理するプログラムを記録したことを特徴とする請求項８又は９のいずれかに記載の記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、同一のサーバアプリケーションプログラム（以下、「サーバＡＰ」という）を有する複数のサーバコンピュータ（以下、「サーバ」という）と、そのサーバＡＰを利用して処理を行うクライアントアプリケーションプログラム（以下、「クライアントＡＰ」という）を有するクライアントコンピュータ（以下、「クライアント」という）とが通信回線を介して接続されてなるクライアント・サーバシステムにおけるネットワーク通信管理システムに関する。
【０００２】
【従来の技術】
クライアント・サーバシステムにおいて、クライアントＡＰがサーバＡＰを使用するには、あらかじめサーバＡＰの所在（サーバＡＰがどのサーバで起動されているか）を知っている必要がある。従来のクライアント・サーバシステムでは、サーバＡＰの所在や数が明らかであったため、通信を行うのに必要なアドレス等の情報（以下、「構成情報」という）やサーバＡＰがどのサーバで起動されているかに関する情報（以下、「所在情報」という）をクライアントＡＰで定義しておくことが可能であった。
【０００３】
【発明が解決しようとする課題】
しかしながら、近年のインターネット／イントラネットの普及等により、多数のサーバを接続してコンピュータネットワークを構成し、サーバＡＰを複数のサーバ上に分散配置するようになると、サーバＡＰの所在を把握することが非常に困難となる。
【０００４】
また、所在情報を集中管理するマネージャを置くことによって上記の問題を解決する手法を取ることもできるが、通信がマネージャへ集中し負荷がかかるという問題点や、マネージャに障害が発生した場合に接続が不可能となる等の問題点がある。
【０００５】
本発明は、上記従来技術の問題点を解決するためになされたものであり、その目的は、サーバＡＰの所在をクライアントＡＰがあらかじめ知らなくても、クライアントＡＰからサーバＡＰに接続することができるネットワーク通信管理システムを提供することにある。
【０００６】
また本発明の他の目的は、サーバＡＰとクライアントＡＰとの接続中にサーバＡＰを起動するサーバを他のサーバに切り替えた場合であっても、切り替えを意識することなく通信を続行することができるネットワーク通信管理システムを提供することにある。
【０００７】
さらに本発明の他の目的は、ネットワークを容易に拡張することができるネットワーク通信管理システムを提供することにある。
【０００８】
【課題を解決するための手段】
本発明の第１のネットワーク通信管理装置（サーバコンピュータ）は、自身が有するアプリケーションプログラムの起動を検出する検出手段と、自身と直接通信可能なコンピュータを隣接ノードとして管理する隣接ノード管理手段と、前記検出手段によりアプリケーションプログラムの起動が検出された場合には、自身で該アプリケーションプログラムが起動した旨の情報を隣接ノードとして管理されているコンピュータに通知し、隣接ノードとして管理されているコンピュータからあるコンピュータでアプリケーションプログラムが起動した旨の情報を通知された場合には、その情報を所在管理テーブルに記憶するとともに隣接ノードとして管理されている別のコンピュータに通知する所在情報通知手段とを備えている。
【０００９】
本発明の第２のネットワーク通信管理装置（クライアントコンピュータ）は、自身と直接通信可能なコンピュータから、いずれかのコンピュータでアプリケーションプログラムが起動した旨の情報を通知されると、その情報を所在管理テーブルに記憶する所在管理手段と、利用者からアプリケーションプログラムに対する接続要求があると、前記所在管理テーブルを参照して、該アプリケーションプログラムを起動したコンピュータとの間で通信パスを確立する通信制御部とを備えている。
【００１０】
本発明の第１のネットワーク通信管理システムは、同一のアプリケーションプログラムを有する複数のサーバコンピュータと、前記アプリケーションプログラムを利用して処理を行うクライアントコンピュータとが通信回線を介して接続されてなるネットワーク通信管理システムであって、前記複数のサーバコンピュータのそれぞれは、自身が有するアプリケーションプログラムの起動を検出する検出手段と、前記検出手段によりアプリケーションプログラムの起動が検出された場合に、自身で該アプリケーションプログラムが起動した旨の情報を前記クライアントコンピュータに通知する所在情報通知手段とを備え、前記クライアントコンピュータは、前記複数のサーバコンピュータのいずれかから、そのサーバコンピュータでアプリケーションプログラムが起動した旨の情報を通知されると、その情報を所在管理テーブルに記憶する所在管理手段と、利用者からアプリケーションプログラムに対する接続要求があると、前記所在管理テーブルを参照して、該アプリケーションプログラムを起動したサーバコンピュータとの間で通信パスを確立する通信制御部とを備えている。
【００１１】
本発明の第２のネットワーク通信管理システムは、上記第１のネットワーク通信管理システムにおいて、前記検出手段は、さらに、自身が有するアプリケーションプログラムの停止を検出し、前記所在情報通知手段は、前記検出手段によりアプリケーションプログラムの停止が検出された場合には、自身で起動した該アプリケーションプログラムが停止した旨の情報を前記クライアントコンピュータに通知し、前記所在管理手段は、第１のサーバコンピュータから、当該第１のサーバコンピュータで起動したアプリケーションプログラムが停止した旨の情報を通知されると、所在管理テーブルに記憶されていた当該第１のサーバコンピュータで該アプリケーションプログラムが起動した旨の情報を削除し、前記通信制御部は、第２のサーバコンピュータから、当該第２のサーバコンピュータでアプリケーションプログラムが起動した旨の情報を通知された時に、前記第２のサーバコンピュータとの間で通信パスを確立してから前記第１のサーバコンピュータとの間で確立されていた通信パスを解放することを特徴とする。
【００１２】
本発明の第３のネットワーク通信管理システムは、同一のアプリケーションプログラムを有する複数のコンピュータが通信回線を介して接続されてなるネットワーク通信管理システムであって、前記複数のコンピュータのそれぞれは、自身が有するアプリケーションプログラムの起動を検出する検出手段と、自身と直接通信可能なコンピュータを隣接ノードとして管理する隣接ノード管理手段と、前記検出手段によりアプリケーションプログラムの起動が検出された場合には、自身で該アプリケーションプログラムが起動した旨の情報を隣接ノードとして管理されているコンピュータに通知し、隣接ノードとして管理されているコンピュータからあるコンピュータでアプリケーションプログラムが起動した旨の情報を通知された場合には、その情報を所在管理テーブルに記憶するとともに隣接ノードとして管理されている別のコンピュータに通知する所在情報通知手段と、利用者からアプリケーションプログラムに対する接続要求があると、前記所在管理テーブルを参照して、該アプリケーションプログラムを起動したコンピュータとの間で通信パスを確立する通信制御部とを備えている。
【００１３】
本発明の第４のネットワーク通信管理システムは、上記第３のネットワーク通信管理システムにおいて、前記検出手段は、さらに、自身が有するアプリケーションプログラムの停止を検出し、前記所在情報通知手段は、前記検出手段によりアプリケーションプログラムの停止が検出された場合には、自身で起動した該アプリケーションプログラムが停止した旨の情報を隣接ノードとして管理されているコンピュータに通知し、隣接ノードとして管理されているコンピュータから第１のコンピュータで起動したアプリケーションプログラムが停止した旨の情報を通知された場合には、前記所在管理テーブルに記憶されていた当該第１のコンピュータで該アプリケーションプログラムが起動した旨の情報を削除するとともに当該停止した旨の情報を隣接ノードとして管理されている別のコンピュータに通知し、前記通信制御部は、隣接ノードとして管理されているコンピュータから、第２のコンピュータでアプリケーションプログラムが起動した旨の情報を通知された時に、前記第２のコンピュータとの間で通信パスを確立してから前記第１のコンピュータとの間で確立されていた通信パスを解放することを特徴とする。
【００１４】
本発明の第５のネットワーク通信管理システムは、上記第３又は第４のいずれかのネットワーク通信管理システムにおいて、前記隣接ノード管理手段は、自身にあらかじめ隣接ノードとして定義されているコンピュータに、自身を隣接ノードとして管理するよう要求するとともに、他のコンピュータから、当該他のコンピュータを隣接ノードとして管理するよう要求があった場合に、当該他のコンピュータを隣接ノードとして管理することを特徴とする。
【００１５】
本発明の第１のネットワーク通信管理方法は、同一のアプリケーションプログラムを有し、互いに通信回線を介して接続されてなる複数のコンピュータのそれぞれにおいて、自身が有するアプリケーションプログラムの起動を検出する検出ステップと、自身と直接通信可能なコンピュータを隣接ノードとして記憶する隣接ノード記憶ステップと、前記検出ステップでアプリケーションプログラムの起動が検出された場合には、自身で該アプリケーションプログラムが起動した旨の情報を隣接ノードとして記憶されたコンピュータに通知し、隣接ノードとして記憶されたコンピュータからあるコンピュータでアプリケーションプログラムが起動した旨の情報を通知された場合には、その情報を所在管理テーブルに記憶するとともに隣接ノードとして記憶された別のコンピュータに通知する所在情報通知ステップと、利用者からアプリケーションプログラムに対する接続要求があると、前記所在管理テーブルを参照して、該アプリケーションプログラムを起動したコンピュータとの間で通信パスを確立する通信制御ステップとを含んでいる。
【００１６】
本発明の第２のネットワーク通信管理方法は、上記第１のネットワーク通信管理方法において、前記検出ステップでは、さらに、自身が有するアプリケーションプログラムの停止を検出し、前記所在情報通知ステップでは、前記検出ステップでアプリケーションプログラムの停止が検出された場合には、自身で起動した該アプリケーションプログラムが停止した旨の情報を隣接ノードとして記憶されたコンピュータに通知し、隣接ノードとして記憶されたコンピュータから第１のコンピュータで起動したアプリケーションプログラムが停止した旨の情報を通知された場合には、前記所在管理テーブルに記憶されていた当該第１のコンピュータで該アプリケーションプログラムが起動した旨の情報を削除するとともに当該停止した旨の情報を隣接ノードとして記憶された別のコンピュータに通知し、前記通信制御ステップでは、隣接ノードとして記憶されたコンピュータから、第２のコンピュータでアプリケーションプログラムが起動した旨の情報を通知された時に、前記第２のコンピュータとの間で通信パスを確立してから前記第１のコンピュータとの間で確立されていた通信パスを解放することを特徴とする。
【００１７】
本発明の第３のネットワーク通信管理方法は、上記第１又は第２のいずれかのネットワーク通信管理方法において、前記隣接ノード管理ステップでは、自身にあらかじめ隣接ノードとして定義されているコンピュータに、自身を隣接ノードとして管理するよう要求するとともに、他のコンピュータから、当該他のコンピュータを隣接ノードとして管理するよう要求があった場合に、当該他のコンピュータを隣接ノードとして管理することを特徴とする。
【００１８】
本発明の第１の記録媒体は、同一のアプリケーションプログラムを有し、互いに通信回線を介して接続されてなる複数のコンピュータのいずれかに対し、自身が有するアプリケーションプログラムの起動を検出する検出処理と、自身と直接通信可能なコンピュータを隣接ノードとして記憶する隣接ノード記憶処理と、前記検出処理でアプリケーションプログラムの起動が検出された場合には、自身で該アプリケーションプログラムが起動した旨の情報を隣接ノードとして記憶されたコンピュータに通知し、隣接ノードとして記憶されたコンピュータからあるコンピュータでアプリケーションプログラムが起動した旨の情報を通知された場合には、その情報を所在管理テーブルに記憶するとともに隣接ノードとして記憶された別のコンピュータに通知する所在情報通知処理と、利用者からアプリケーションプログラムに対する接続要求があると、前記所在管理テーブルを参照して、該アプリケーションプログラムを起動したコンピュータとの間で通信パスを確立する通信制御処理と、を実行させるプログラムを記録している。
【００１９】
本発明の第２の記録媒体は、上記第１の記録媒体において、前記検出処理では、さらに、自身が有するアプリケーションプログラムの停止を検出し、前記所在情報通知処理では、前記検出処理でアプリケーションプログラムの停止が検出された場合には、自身で起動した該アプリケーションプログラムが停止した旨の情報を隣接ノードとして記憶されたコンピュータに通知し、隣接ノードとして記憶されたコンピュータから第１のコンピュータで起動したアプリケーションプログラムが停止した旨の情報を通知された場合には、前記所在管理テーブルに記憶されていた当該第１のコンピュータで該アプリケーションプログラムが起動した旨の情報を削除するとともに当該停止した旨の情報を隣接ノードとして記憶された別のコンピュータに通知し、前記通信制御処理では、隣接ノードとして記憶されたコンピュータから、第２のコンピュータでアプリケーションプログラムが起動した旨の情報を通知された時に、前記第２のコンピュータとの間で通信パスを確立してから前記第１のコンピュータとの間で確立されていた通信パスを解放するプログラムを記録している。
【００２０】
本発明の第３の記録媒体は、上記第１又は第２のいずれかの記録媒体において、前記隣接ノード管理処理では、自身にあらかじめ隣接ノードとして定義されているコンピュータに、自身を隣接ノードとして管理するよう要求するとともに、他のコンピュータから、当該他のコンピュータを隣接ノードとして管理するよう要求があった場合に、当該他のコンピュータを隣接ノードとして管理するプログラムを記録している。
【００２１】
【発明の実施の形態】
次に本発明の第１の実施の形態について図面を参照して詳細に説明する。
【００２２】
図１を参照すると、本発明の第１の実施の形態は、クライアント１と、サーバ２と、サーバＡＰの切り替え先サーバであるサーバ３とを含む。クライアント１、サーバ２、サーバ３は、それぞれ、通信管理１−２，２−２，３−２を有している。
【００２３】
通信管理１−２，２−２，３−２は、それぞれ、通信制御部１−２１，２−２１，３−２１と、運用管理エージェント部１−２２，２−２２，３−２２と、所在管理テーブル１−２３，２−２３，３−２３とからなる。
【００２４】
通信制御部１−２１，２−２１，３−２１はそれぞれクライアントＡＰとサーバＡＰとの間の通信を行う手段を備えている。クライアント１の通信制御部１−２１は、クライアントＡＰからサーバ接続要求を受け、所在管理テーブル１−２３を参照して宛先サーバの稼働するノードの通信制御部へ接続を要求する手段を有し、サーバ２，３の通信制御部２−２１，３−２１は、クライアントからの接続要求を受け付ける手段を備えている。
【００２５】
運用管理エージェント部１−２２，２−２２，３−２２は、サーバ上でのみ動作するサーバ対応機能（特許請求の範囲の「検出手段」）と、所在情報通知機能（特許請求の範囲の「所在情報通知手段」）と、隣接ノード管理機能（特許請求の範囲の「隣接ノード管理手段」）と、所在管理機能（特許請求の範囲の「所在管理手段」）とを備えている。サーバ対応機能は、サーバ２，３の通信管理２−２２，３−２２において動作し、サーバＡＰの起動／停止の監視を行う手段と、定期的にサーバＡＰを監視する手段とを有する。所在情報通知機能は、サーバＡＰの所在情報、例えば、サーバの識別情報を、自ノード又は自ノード以外から取得して隣接ノードへ通知する手段を有する。隣接ノード管理機能は、自ノードで定義されている隣接ノードに自ノードの構成情報を送り、隣接ノードへの追加・更新を要求する手段と、他ノードから隣接ノード追加要求を受け付け、自ノードに構成情報を追加・更新する手段とを備えている。所在管理機能は、受け取ったサーバＡＰの所在情報を保持する手段と、必要に応じてサーバＡＰの所在情報の取得を要求する手段と、取得要求に対して応答を返却する手段とを備えている。
【００２６】
所在管理テーブル１−２３，２−２３，３−２３は、どのサーバでどのサーバＡＰが起動したかを示す情報を、例えば、サーバＡＰの識別情報と、そのサーバＡＰの所在情報との対応のような形式で記憶する。
【００２７】
次に、本発明の実施の形態に動作について説明する。
【００２８】
まず、本発明が適用されるネットワークシステムの全体構成について、図２を参照して説明する。ここでは、図１のクライアント１、サーバ２、サーバ３は、全て「ノード」として表されている。すなわち、図２の各ノードは、それぞれ、サーバとしてもクライアントとしても機能し得る。
【００２９】
図２を参照すると、各ノード１ａ〜４ｄは共通の通信管理を備え、任意の通信ネットワーク、例えば、インターネットにより結合されている。ここで、サーバＡＰが起動するサーバを１ａ（図１でいえば、サーバ２）とし、各ノードについてその上下左右のノードを隣接ノードとする。ここで、「隣接ノード」とは、自ノードがそのアドレスをわかっていてそれとの通信が可能であるようなノードのことをいい、自ノードと直接通信回線を介して接続されている場合だけでなく、ハブやルータを介して接続されている場合も含むものである。
【００３０】
ノード１ａのサーバＡＰが起動すると、ノード１ａの運用管理エージェント部は、起動を検出し、隣接ノード１ｂ，２ａに、サーバＡＰの起動に関する情報を通知する（Ｓ１）。例えば、図３及び図５に示したような動作を行う。すなわち、ノード１ａの運用管理エージェント部のサーバ対応機能は、サーバＡＰが起動されたかどうかを判断し（ステップ３０１）、起動されていれば、所在情報通知機能に所在情報の通知を指示する（ステップ３０２）。そして、所在情報通知機能は、隣接ノード管理機能から隣接ノードの情報を受け取り（ステップ５０１）、隣接ノードにサーバＡＰの識別情報とそのサーバＡＰの所在情報（自ノードの識別情報）とを通知する（ステップ５０２）。
【００３１】
通知を受けたノード１ｂ，２ａの運用管理エージェント部は、自ノード内の所在管理テーブルを更新し、それぞれ、通知元以外の隣接ノードであるノード１ｃ，２ｂと、ノード２ｂ，３ａとに、ノード１ａにおけるサーバＡＰの起動に関する情報を通知する（Ｓ２）。例えば、図４及び図５に示したような動作を行う。すなわち、ノード１ｂ，２ａの運用管理エージェント部の所在管理機能は、他のノードから所在情報が送られれば（ステップ４０１でＹＥＳ）、それを受け取り（ステップ４０２）、所在管理テーブルとの情報と同一でなければ（ステップ４０３でＮＯ）、所在情報管理テーブルを更新、すなわち、所在管理テーブルにサーバＡＰの識別情報とそのサーバＡＰの所在情報（ノード１ａの識別情報）との対応を記憶し（ステップ４０４）、所在情報通知機能に所在情報の通知を指示する（ステップ４０５）。そして、所在情報通知機能は、隣接ノード管理機能から隣接ノードの情報を受け取り（ステップ５０１）、隣接ノードにサーバＡＰの識別情報とそのサーバＡＰの所在情報を通知する（ステップ５０２）。
【００３２】
さらに通知を受けたノード１ｃ，２ｂ，３ａは、自ノード内の所在管理テーブルを更新し、通知元以外の隣接ノードにノード１ａにおけるサーバＡＰの起動に関する情報を通知する。ただし、通知情報と所在管理テーブルの情報が同一の場合、所在管理テーブルの更新および隣接ノードへの通知は行わない。例えば、図４及び図５に示したような動作を行う。すなわち、ノード１ｃ，２ｂ，３ａの運用管理エージェント部の所在管理機能は、他のノードから所在情報が送られれば（ステップ４０１でＹＥＳ）、それを受け取り（ステップ４０２）、所在管理テーブルとの情報と同一でなければ（ステップ４０３でＮＯ）、所在情報管理テーブルを更新、すなわち、所在管理テーブルにサーバＡＰの識別情報とそのサーバＡＰの所在情報との対応を記憶し（ステップ４０４）、所在情報通知機能を起動する（ステップ４０５）。そして、所在情報通知機能は、隣接ノード管理機能から隣接ノードの情報を受け取り（ステップ５０１）、隣接ノードにサーバＡＰの識別情報とそのサーバＡＰの所在情報（ノード１ａの識別情報）を通知する（ステップ５０２）。ここで、ノード２ｂは、ノード２ａ，１ｂから同じ通知を受けるが、２回目の通知については、ステップ４０３でＹＥＳとなり、所在管理テーブルの更新及び隣接ノードへの通知を行わない。
【００３３】
以上の動作を各ノードで繰り返して行うことで、全ノードがサーバＡＰの所在情報を保有する。
【００３４】
次に再び図１を参照してクライアントからサーバへの接続時及び接続の切り替え時の動作について説明する。
【００３５】
クライアントＡＰ１−１が、通信制御部１−２１にサーバＡＰとの接続を要求すると、通信制御部１−２１は、所在管理テーブル１−２３を参照する。所在管理テーブル１−２３に当該サーバＡＰがサーバ２で起動している旨の情報が記憶されていたとすると、通信制御部１−２１は、サーバ２の通信制御部２−２１との間で通信パスを確立する。通信パス確立後は、通信制御部１−２１，２−２１は通信パスを維持する。
【００３６】
また、クライアントＡＰ１−１とサーバＡＰ２−１との間で通信パスが維持された状態でサーバＡＰ２−１に障害等が発生した場合は、サーバＡＰの停止をクライアントに意識させないために、以下のようにして、サーバＡＰをサーバ３で起動するサーバＡＰ３−１に切り替える。
【００３７】
すなわち、サーバＡＰ２−１が停止すると、運用管理エージェント２−２２は停止を検出し、サーバＡＰ２−１の停止に関する情報を起動時と同様の方法を用いて全ノードへ通知し、所在情報が更新される。その場合の更新は、例えば、全ノードに記憶されていたサーバＡＰの識別情報とそのサーバＡＰの所在情報との対応を削除することによって行う。そして、サーバ２におけるサーバＡＰの停止後に同じサーバＡＰがサーバ３で起動した場合、運用管理エージェント部３−２２はサーバＡＰ３−１の起動を検出し、サーバＡＰ３−１の起動に関する情報をサーバＡＰ２−１の起動の場合と同様の方法を用いて全ノードへ通知する。
【００３８】
クライアントの運用管理エージェント１−２２はサーバＡＰの起動に関する情報を通知されると所在管理テーブル１−２３を更新、すなわち、所在管理テーブル１−２３にサーバＡＰの識別情報とそのサーバＡＰの所在情報（サーバ３の識別情報）との対応を記憶する。そして、通信制御部１−２１は、切り替え先のサーバ３の通信制御部３−２１との間の通信パスを確立し、サーバ２の通信制御部２−２１との通信パスを解放することによって、通信パスの切り替えを行う。
【００３９】
次に、図６を参照して、ネットワークに新たにノードを追加する場合を説明する。図６では、新たなノード１を既にネットワークに接続されているノード２および３に接続する場合を示している。ここで、ノード２および３にはノード１の構成情報は定義されていないが、ノード１には予めノード２，３が隣接ノードとして定義されていることが前提である。
【００４０】
ノード１の通信管理が起動すると（Ｓ１）、ノード１の運用管理エージェント部１−２は定義されている隣接ノード２，３の運用管理エージェント部２−２，３−２へ自ノードの構成情報を送り、隣接ノードへの追加を要求すると共に、サーバＡＰ所在情報の取得を要求する（Ｓ２）。要求を受けたノード２，３は構成情報を追加・更新し、所在管理テーブル２−３，３−３に格納しているサーバＡＰの所在情報を返却する（Ｓ３）。起動時に上記の動作を行うことにより、ネットワークへのノードの追加、およびサーバＡＰの所在情報を取得する。
【００４１】
別の実施例を図７に示す。図２のネットワークを一つのネットワークグループとし、ネットワークグループ内の代表ノードが別のネットワークグループとの通知を行うように構成する。ネットワークグループ１内のサーバ１１ａでサーバＡＰが起動すると、グループ内では図２の実施例で示したように所在情報を通知する。代表ノード１４ｄは通知する隣接ノードとして、ネットワークグループ２の代表ノード４ａとネットワークグループ３の代表ノード１ｄとに通知し、通知された代表ノードからネットワークグループ４の代表ノード１ａおよびグループ内の隣接ノードへ通知することで、全てのノードが所在情報を保有することができる。また、代表ノードを複数にし、多重化にすることで代表ノードの障害時にも対応できる構成を取ることもできる。
【００４２】
また、図８を参照すると、本発明の第２の実施の形態は、クライアント４と、サーバ５と、サーバＡＰの切り替え先サーバであるサーバ６と、これらのサーバおよびクライアントにネットワーク通信管理を実行させるためのプログラム（以下、「ネットワーク通信管理用プログラム」という）を記録した記録媒体７とを含む。ここで、記録媒体７は、磁気ディスク、半導体メモリその他の記録媒体であってよく、また、ネットワーク通信管理用プログラムは複数の記録媒体からなる記録媒体群に分割して記録されていてもよい。このような構成を備えた場合、クライアント４、サーバ５、サーバ６は、記録媒体７からロードされたプログラムによる制御の下で、上記第１の実施の形態におけるクライアント１、サーバ２、サーバ３と同様の動作を行う。
【００４３】
以上述べたように、本発明の第１および第２の実施の形態は、各サーバが、自身におけるサーバＡＰの起動を検出して隣接ノードに通知するとともに、隣接ノードからサーバＡＰの起動に関する情報の通知を受けると、その情報を別の隣接ノードに通知することで、サーバＡＰの所在情報をネットワークに接続された全てのコンピュータで保有するようにしたことにより、サーバＡＰの所在をクライアントＡＰがあらかじめ知らなくても、クライアントＡＰからサーバＡＰに接続することができるという効果を有している。
【００４４】
また、サーバＡＰとクライアントＡＰとの接続中にサーバＡＰを起動するサーバを他のサーバに切り替えた場合であっても、新たにサーバＡＰが起動されたコンピュータとの通信パスを確立してから、これまでサーバＡＰが起動されていたコンピュータとの通信パスを解放するようにしたことにより、切り替えを意識することなく通信を続行することができる、という効果も有している。
【００４５】
さらに、新規にネットワークに接続されるノードがあらかじめ隣接ノードとして定義しておいたノードに自ノードの構成情報を送り、構成情報を送られたノードはその構成情報を追加して管理するようにしたことにより、ネットワークを容易に拡張することができるという効果もある。
【００４６】
【発明の効果】
本発明には、サーバＡＰの所在をクライアントＡＰがあらかじめ知らなくても、クライアントＡＰからサーバＡＰに接続することができるという効果がある。
【００４７】
また、サーバＡＰとクライアントＡＰとの接続中にサーバＡＰを起動するサーバを他のサーバに切り替えた場合であっても、切り替えを意識することなく通信を続行することができる、という効果もある。
【００４８】
さらに、ネットワークを容易に拡張することができるという効果もある。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態の構成を示すブロック図である。
【図２】本発明の第１の実施の形態が適用されるネットワークの第１の例を示す図である。
【図３】本発明の第１の実施の形態におけるサーバ対応機能の動作を示す流れ図である。
【図４】本発明の第１の実施の形態における所在情報通知機能の動作を示す流れ図である。
【図５】本発明の第１の実施の形態における所在管理機能の動作を示す流れ図である。
【図６】本発明の第１の実施の形態においてノードを新たに追加する場合の構成を示す図である。
【図７】本発明の第１の実施の形態が適用されるネットワークの第２の例を示す図である。
【図８】本発明の第１の実施の形態の構成を示すブロック図である。
【符号の説明】
１  クライアント
２、３  サーバ
１−１  クライアントＡＰ
２−１、３−１  サーバＡＰ
１−２、２−２、３−２  通信管理
１−２１、２−２１、３−２１  通信制御部
１−２２、２−２２、３−２２  運用管理エージェント部
１−２３、２−２３、３−２３  所在管理テーブル
【図１】
0003591400.tif 000002
【図２】
0003591400.tif 000003
【図３】
0003591400.tif 000004
【図４】
0003591400.tif 000005
【図５】
0003591400.tif 000006
【図６】
0003591400.tif 000007
【図７】
0003591400.tif 000008
【図８】
0003591400.tif 000009