(57)【要約】【課題】  ノード構成における単一障害点を解決するための方法及びシステムを提供する。【解決手段】  ノード構成におけるそれぞれのサーバで発生するイベントを監視するための方法及びシステムにおいて、第１のノードに設置された第１のサーバは、他のノードに設置されたサーバにおけるイベントに関する情報をメッセージング・システムから受信する。メッセージング・システムは、高可用性（ＨＡ）電子掲示板などを含む。第１のサーバが、第２のノードに設置された第２のサーバに関する始動イベント通知を受信したときに、直接通信経路が、第１のサーバと第２のサーバとの間に確立される。第１のサーバは、第１のサーバのサービスに影響を与えるか又はそれに関係する第２のサーバにおけるイベントを特定する。次いで、第１のサーバは、それぞれの特定されたイベントが発生したときに直接通信経路を介して通知を受信するように、第２のサーバを登録する。【選択図】  図２
2008519477.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのサーバが各々のノードに設置されるノード構成においてそれぞれのサーバで発生するイベントを監視するための方法であって、
他のノードに設置されたサーバにおけるイベントに関する情報をメッセージング・システムから受信するように、第１のノードに設置された第１のサーバを設定するステップと、
前記第１のサーバが第２のノードに設置された第２のサーバに関する始動イベント通知を前記メッセージング・システムから受信したときに、前記第１のサーバと前記第２のサーバとの間に直接通信経路を確立するステップと、
前記第２のサーバにおいて特定のイベントが発生したときに、前記第１のサーバに通知するために、前記第２のサーバから前記直接通信経路を介して前記第１のサーバでメッセージを直接受信するステップと、
を含む方法。
【請求項２】
前記設定するステップは、
前記第１のサーバの現在の状態を前記メッセージング・システムに与えるステップと、
選択された他のサーバに関する始動イベント通知を前記メッセージング・システムから受信するように、前記第１のサーバを登録するステップと、
を含む、請求項１に記載の方法。
【請求項３】
前記サーバの各々は、そのサーバの状態を前記メッセージング・システムに登録して連続的に更新し、前記サーバのうちの他のサーバに関する始動イベント通知を受信するように前記メッセージング・システムにサブスクライブするための、メッセージング・システム・インターフェース・コンポーネントを含む、請求項２に記載の方法。
【請求項４】
前記第１のサーバは１つ又は複数の関連サービスを有し、
前記第２のサーバに関する前記始動イベント通知を受信したときに、前記第２のサーバのどのイベントが前記第１のサーバの前記サービスの１つ又は複数に影響を与えることがあるかを特定するために、前記第１のサーバによって前記サービスの各々に照会するステップと、
特定されたイベントのいずれかが発生したときに前記第２のサーバから前記直接通信経路を介して通知を受信するように、前記第１のサーバによって登録するステップと、
を含む、請求項１乃至３のいずれかに記載の方法。
【請求項５】
前記特定されたイベントの通知を前記第２のサーバから受信するように登録する際に前記第１のサーバによって用いるためのオブジェクトを、前記第２のサーバから前記直接通信経路を介して前記第１のサーバで受信するステップを含む、請求項４に記載の方法。
【請求項６】
前記第２のサーバの前記特定されたイベントは、前記第２のサーバが、始動中であるか、始動済みであるか、停止中であるか、停止済みであるサーバ状態を含む群から選択される、請求項５に記載の方法。
【請求項７】
前記第２のサーバの前記特定されたイベントはＪＭＸイベントを含む、請求項５に記載の方法。
【請求項８】
前記メッセージング・システムは高可用性電子掲示板を含む、請求項１乃至７のいずれかに記載の方法。
【請求項９】
少なくとも１つのサーバが各々のノードに設置されるノード構成においてそれぞれのサーバで発生するイベントを監視するための、コンピュータ可読媒体内のコンピュータ・プログラム製品であって、
他のノードに設置されたサーバにおけるイベントに関する情報をメッセージング・システムから受信するように、第１のノードに設置された第１のサーバを設定するための第１の命令と、
前記第１のサーバが第２のノードに設置された第２のサーバに関する始動イベント通知を前記メッセージング・システムから受信したときに、前記第１のサーバと前記第２のサーバとの間に直接通信経路を確立するための第２の命令と、
前記第２のサーバにおいて特定のイベントが発生したときに、前記第１のサーバに通知するために、前記第２のサーバから前記直接通信経路を介して前記第１のサーバでメッセージを直接受信するための第３の命令と、
を含むコンピュータ・プログラム製品。
【請求項１０】
前記第１のサーバの現在の状態を前記メッセージング・システムに与えるための第４の命令と、
選択された他のサーバに関する始動イベント通知を前記メッセージング・システムから受信するように、前記第１のサーバを登録するための第５の命令と、
を含む、請求項９に記載のコンピュータ・プログラム製品。
【請求項１１】
前記サーバの各々は、そのサーバの状態を前記メッセージング・システムに登録して連続的に更新し、前記サーバのうちの他のサーバに関する始動イベント通知を受信するように前記メッセージング・システムにサブスクライブするための、メッセージング・システム・インターフェース・コンポーネントを含む、請求項１０に記載のコンピュータ・プログラム製品。
【請求項１２】
前記第１のサーバは１つ又は複数の関連サービスを有し、
前記第２のサーバに関する前記始動イベント通知を受信したことに応答して、前記第２のサーバのどのイベントが前記第１のサーバの前記サービスの１つ又は複数に影響を与えることがあるかを特定するために、前記第１のサーバによって前記サービスの各々に照会するための第６の命令と、
特定されたイベントのいずれかが発生したときに前記第２のサーバから前記直接通信経路を介して通知を受信するように、前記第１のサーバによって登録するための第７の命令と、
を含む、請求項９、請求項１０、又は請求項１１に記載のコンピュータ・プログラム製品。
【請求項１３】
前記特定されたイベントの通知を前記第２のサーバから受信するように登録する際に前記第１のサーバによって用いるためのオブジェクトを、前記第２のサーバから前記直接通信経路を介して前記第１のサーバで受信するための第８の命令を含む、請求項１２に記載のコンピュータ・プログラム製品。
【請求項１４】
前記第２のサーバの前記特定されたイベントは、前記第２のサーバが、始動中であるか、始動済みであるか、停止中であるか、停止済みであるサーバ状態を含む群から選択される、請求項１３に記載のコンピュータ・プログラム製品。
【請求項１５】
前記第２のサーバの前記特定されたイベントはＪＭＸイベントを含む、請求項１３に記載のコンピュータ・プログラム製品。
【請求項１６】
前記メッセージング・システムは高可用性電子掲示板を含む、請求項９乃至請求項１５のいずれかの請求項に記載のコンピュータ・プログラム製品。
【請求項１７】
少なくとも１つのサーバが各々のノードに設置されるノード構成においてそれぞれのサーバで発生するイベントを監視するように動作可能なコンピュータ・システムであって、
プロセッサと、
前記プロセッサに接続されたコンピュータ可読媒体であって、前記プロセッサによって読み込まれ、それにより前記プロセッサに、
他のノードに設置されたサーバにおけるイベントに関する情報をメッセージング・システムから受信するように、第１のノードに設置された第１のサーバを設定させ、
前記第１のサーバが第２のノードに設置された第２のサーバに関する始動イベント通知を前記メッセージング・システムから受信したときに、前記第１のサーバと前記第２のサーバとの間に直接通信経路を確立させ、
前記第２のサーバから前記直接通信経路を介して前記第１のサーバでメッセージを直接受信し、それにより、前記第２のサーバにおいて特定のイベントが発生したときに前記第１のサーバに通知させる、
ように構成されたコンピュータ可読媒体と、
を備えるコンピュータ・システム。
【請求項１８】
前記第１のサーバの現在の状態を前記メッセージング・システムに与えるための手段と、
選択された他のサーバに関する始動イベント通知を前記メッセージング・システムから受信するように、前記第１のサーバを登録するための手段と、
を備える、請求項１７に記載のコンピュータ・システム。
【請求項１９】
前記サーバの各々は、そのサーバの状態を前記メッセージング・システムに登録して連続的に更新し、前記サーバのうちの他のサーバに関する始動イベント通知を受信するように前記メッセージング・システムにサブスクライブするための、メッセージング・システム・インターフェース・コンポーネントを含む、請求項１８に記載のコンピュータ・システム。
【請求項２０】
前記第１のサーバは１つ又は複数の関連サービスを有し、
前記第２のサーバに関する前記始動イベント通知を受信したことに応答して、前記第２のサーバのどのイベントが前記第１のサーバの前記サービスの１つ又は複数に影響を与えることがあるかを特定するために、前記第１のサーバによって前記サービスの各々に照会するための手段と、
特定されたイベントのいずれかが発生したときに前記第２のサーバから前記直接通信経路を介して通知を受信するように、前記第１のサーバを登録するための手段と、
を備える、請求項１７乃至請求項１９のいずれかの請求項に記載のコンピュータ・システム。
【請求項２１】
前記特定されたイベントの通知を前記第２のサーバから受信するように登録する際に前記第１のサーバによって用いるために、オブジェクトを前記第２のサーバから前記直接通信経路を介して前記第１のサーバで受信するための手段を含む、請求項２０に記載のコンピュータ・システム。
【請求項２２】
前記第２のサーバの前記特定されたイベントは、前記第２のサーバが、始動中であるか、始動済みであるか、停止中であるか、停止済みであるサーバ状態を含む群から選択される、請求項２１に記載のコンピュータ・システム。
【請求項２３】
前記第２のサーバの前記特定されたイベントはＪＭＸイベントを含む、請求項２１に記載のコンピュータ・システム。
【請求項２４】
前記メッセージング・システムは高可用性電子掲示板を含む、請求項１７乃至請求項２３のいずれかの請求項に記載のコンピュータ・システム。
【請求項２５】
コンピュータ上で実行されたときに、請求項１乃至請求項８のいずれかの請求項に記載の方法を行うように適合されたプログラム・コード手段を含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示され、特許請求される発明は、一般に、ノード・セルすなわちノード構成における各々のセルに、他のノードにおけるサーバに関するサーバ状態情報を提供するための方法及びシステムに関する。より具体的には、本発明は、２つのサーバ間に直接通信経路を確立することによって、異なるノードのサーバ間でサーバ・イベント情報が直接交換される、上述のタイプの方法に関する。さらにより具体的には、本発明は、第２のサーバにおいて特定のイベントが発生したときにはいつでも第１のサーバが通知を受けることで、第１のサーバのサービスが第２のサーバの特定のイベントを特定できる、上述のタイプの方法に関する。
【背景技術】
【０００２】
ますます一般的になる、ノード・セルを備える配列、すなわちノード構成においては、各々のノードは、ノード・エージェントと、１つ又は複数のアプリケーション・サーバとを含む。このタイプの構成においては、一般的に、それぞれのノードが他のノードのサーバ状態を通知され続けることが必要である。対象となるアプリケーション・サーバ状態は、それぞれ、サーバが（１）始動中であるか、（２）始動済みであるか、（３）停止中であるか、（４）停止済みであるかに関する表示を含むことができる。他のノードについてのこのタイプのサーバ状態情報が即時にノードに提供されない場合には、それぞれのサーバは、互いに同期を取ることができない。従って、今日のノード構成には、典型的には、個々のノードが自分自身のサーバ状態情報を報告する中央ノード・マネージャが設けられる。次いで、特定のノードが、別のノードに関する状態情報を要求する場合には、その特定のノードは、そうした情報をノード・マネージャから直接取得する。さらに、ノード構成においては、Ｊａｖａ（登録商標）（商標）Ｍａｎａｇｅｍｅｎｔ  Ｅｘｔｅｎｓｉｏｎ（ＪＭＸ）イベントなどの特定の状態イベントが別のノードのサーバで発生したときに、そうしたイベントを所与のノードに通告又は通知することが望ましい場合もある。（Ｊａｖａ（登録商標）及び全てのＪａｖａ（登録商標）関連の商標及びロゴは、Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ，Ｉｎｃ．の米国及びその他の国における商標）
【０００３】
現在のノード・セル又はノード構成の例が、図１に示される。図示されるように、図１は、ノード１０２Ａ〜Ｃとノード・マネージャ１０４とを有するノード構成１００を示す。ノード・マネージャ１０４は、ノード構成１００を監視して管理するデプロイメント・マネージャを含む。ノード１０２Ａ〜Ｃは、それぞれ、ノード・エージェント１０６Ａ〜Ｃとアプリケーション・サーバ１０８Ａ〜Ｃとを含んだ状態で示されている。ノード・エージェント１０６Ａ〜Ｃは、一般に、それぞれアプリケーション・サーバ１０８Ａ〜Ｃとデプロイメント・マネージャ１１０とを仲介するように機能する。さらに、ノード・エージェント１０６Ａ〜Ｃにおいて稼働する管理ロジックは、それぞれ、ノード構成１００における他のノード１０２Ａ〜Ｃの構成データと同期するノード１０２Ａ〜Ｃの構成データを保持する。一般に、ノード・エージェント１０６Ａ〜Ｃは、それぞれが制御するアプリケーション・サーバ１０８Ａ〜Ｃについての状態情報を、デプロイメント・マネージャ１１０に直接報告する。例えば、ノード１０２Ａ〜Ｃ上のアプリケーション・サーバ１０８Ａ〜Ｃの状態が変化したときには、その変化を示す情報が、ノード・エージェント１０６Ａ〜Ｃによってデプロイメント・マネージャ１１０に送信される。その後、ノード・エージェント１０６Ａ〜Ｃのそれぞれは、この状態情報を取得することを要求する場合には、デプロイメント・マネージャ１１０／ノード・マネージャ１０４と直接通信することによって行う。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
図１に示されるこのタイプのノード構成は、その利点にもかかわらず、単一障害点（single point of failure）を有する。より具体的には、ノード・マネージャ１０４かデプロイメント・マネージャ１１０のいずれかが故障した場合には、ノード１０２Ａ〜Ｃが必要なサーバ状態情報を取得する手段が存在しない。上述のように、ノード１０２Ａ〜Ｃは、サーバ状態情報が利用できない場合には、互いに同期することができなくなる。現在では、２つの異なるノードのノード・エージェントを互いにリンクするによって、この問題を克服する努力がなされている。しかしながら、この解決策を用いても、各々のノードのノード・エージェントは、依然として潜在的な単一障害点として残る。
【課題を解決するための手段】
【０００５】
第１の態様によれば、少なくとも１つのサーバが各々のノードに設置されるノード構成においてそれぞれのサーバで発生するイベントを監視するための方法であって、他のノードに設置されたサーバにおけるイベントに関する情報をメッセージング・システムから受信するように、第１のノードに設置された第１のサーバを設定するステップと、第１のサーバが第２のノードに設置された第２のサーバに関する始動イベント通知をメッセージング・システムから受信したときに、第１のサーバと第２のサーバとの間に直接通信経路を確立するステップと、第２のサーバにおいて特定のイベントが発生したときに第１のサーバに通知するために、第２のサーバから直接通信経路を介して第１のサーバでメッセージを直接受信するステップと、を含む方法が提供される。
【０００６】
１つの実施形態においては、メッセージング・システムには、第１のサーバの現在の状態が与えられる。第１のサーバは、選択された他のサーバに関する始動イベント通知をメッセージング・システムから受信するように登録されることが好ましい。
【０００７】
好ましくは、サーバの各々は、そのサーバの状態をメッセージング・システムに登録して連続的に更新し、サーバのうちの他のサーバに関する始動イベント通知を受信するためにメッセージング・システムにサブスクライブするための、メッセージング・システム・インターフェース・コンポーネントを含む。
【０００８】
好ましくは、第１のサーバは、１つ又は複数の関連サービスを有する。第２のサーバに関する始動イベント通知を受信したときに、第１のサーバは、第２のサーバのどのイベントが第１のサーバのサービスの１つ又は複数に影響を与えることがあるかを特定するために、そのサービスの各々に照会することが好ましい。第１のサーバは、特定されたイベントのいずれかが発生したときに第２のサーバから直接通信経路を介して通知を受信するように登録することが好ましい。
【０００９】
好ましくは、特定されたイベントの通知を第２のサーバから受信するように登録する際に第１のサーバによって用いるためのオブジェクトが、第２のサーバから直接通信経路を介して第１のサーバで受信される。
【００１０】
１つの実施形態においては、第２のサーバの特定されたイベントは、第２のサーバが、始動中であるか、始動済みであるか、停止中であるか、停止済みであるサーバ状態を含む群から選択される。
【００１１】
１つの実施形態においては、第２のサーバの特定されたイベントは、ＪＭＸイベントを含む。
【００１２】
１つの実施形態においては、メッセージング・システムは、高可用性電子掲示板（highly available bulletin board）を含む。
【００１３】
別の態様によれば、少なくとも１つのサーバが各々のノードに設置されるノード構成においてそれぞれのサーバで発生するイベントを監視するための、コンピュータ可読媒体内のコンピュータ・プログラム製品であって、他のノードに設置されたサーバにおけるイベントに関する情報をメッセージング・システムから受信するように、第１のノードに設置された第１のサーバを設定するための第１の命令と、第１のサーバが第２のノードに設置された第２のサーバに関する始動イベント通知をメッセージング・システムから受信したときに、第１のサーバと第２のサーバとの間に直接通信経路を確立するための第２の命令と、第２のサーバにおいて特定のイベントが発生したときに第１のサーバに通知するために、第２のサーバから直接通信経路を介して第１のサーバでメッセージを直接受信するための第３の命令と、を含むコンピュータ・プログラム製品が提供される。
【００１４】
別の態様によれば、少なくとも１つのサーバが各々のノードに設置されるノード構成においてそれぞれのサーバで発生するイベントを監視するように動作可能なコンピュータ・システムであって、プロセッサと、該プロセッサに接続されたコンピュータ可読媒体であって、プロセッサによって読み込まれ、それによりプロセッサに、他のノードに設置されたサーバにおけるイベントに関する情報をメッセージング・システムから受信するように、第１のノードに設置された第１のサーバを設定させ、第１のサーバが第２のノードに設置された第２のサーバに関する始動イベント通知をメッセージング・システムから受信したときに、第１のサーバと第２のサーバとの間に直接通信経路を確立させ、第２のサーバから直接通信経路を介して第１のサーバでメッセージを直接受信し、それにより第２のサーバにおいて特定のイベントが発生したときに第１のサーバに通知させるように構成されたコンピュータ可読媒体と、を備えるシステムが提供される。
【００１５】
本明細書において開示される発明は、一般に、ノード構成における異なるノードに配置された２つのサーバを、該２つのサーバの間に直接通信経路を確立することによって結合することができる実施形態を提供する。確立された経路は、図１に図示されるノード・マネージャ１０４、デプロイメント・マネージャ１１０、及びノード・エージェント１０６Ａ〜Ｃのようなコンポーネントを意図的に除外している。従って、こうしたコンポーネントのいずれも、１つのサーバから別のサーバへの状態情報の伝達を妨げる単一障害点となる可能性はない。本発明の実施形態は、ノード構成の各々のサーバから状態情報を受信するように配置された、高可用性（ＨＡ）電子掲示板などといったメッセージング・システムを用いる。ノード構成のそれぞれのサーバで発生するイベントを監視するための方法を対象とする１つの有用な実施形態においては、第１のノードに設置された第１のサーバは、他のノードに設置されたサーバにおけるイベントに関する情報をメッセージング・システムから受信する。本方法は、さらに、第１のサーバが第２のノードに設置された第２のサーバに関する始動イベント通知をメッセージング・システムから受信したときに、第１のサーバと第２のサーバとの間に直接通信経路を確立すること含む。次いで、第１のサーバに関係する特定のイベントが第２のサーバで発生したときに第１のサーバに通知するために、第２のサーバからこの通信経路を介して第１のサーバにメッセージを直接送信することができる。
【発明を実施するための最良の形態】
【００１６】
ここで、本発明の好ましい実施形態が、添付図面を参照して単なる例として説明される。
【００１７】
図２を参照すると、ノード２０４及び２０６を含むノード構成２０２が示される。ノード構成２０２は２つのノードを持つものとして示されているが、これは、例示のみを目的とし、説明を簡単にするためであることを理解されたい。実際には、ノード構成２０２は、その使用及び用途に応じて異なる数のノードを含むことができる。さらに、ノード２０４及び２０６は、本発明の教示を実行することができるあらゆるタイプのコンピュータ装置を表すように意図されていることを認識すべきである。例えば、ノード２０４及び２０６は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、ハンドヘルド装置、クライアント、サーバなどとすることができる。さらに、ノード２０４及び２０６は、例えばインターネット、ローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、又は仮想プライベート・ネットワーク（ＶＰＮ）といったネットワーク上で選択的に接続することができる。また、ノード構成２０２全体の通信は、有線による直接接続を介して行うか、又は、有線による方法及び／又は無線による方法のいずれかの組み合わせを利用するアドレス可能な接続を介して行うことができる。トークンリング、イーサネット（登録商標）、又は他の従来の通信標準などといった従来のネットワーク接続を用いることができる。接続は従来のＩＰベースのプロトコルによって行うこともでき、インターネット・サービス・プロバイダを利用して相互接続が確立される。
【００１８】
さらに図２を参照すると、ノード２０４には、サーバＡとも呼ばれるアプリケーション・サーバ２０８が設けられ、ノード２０６には、サーバＮとも呼ばれるアプリケーション・サーバ２１０が設けられることが示される。実際には、ノード２０４及び２０６の各々は、サーバＡ及びサーバＮ以外にもさらに多くのサーバを含むことができる。しかしながら、説明及び例示を簡単にするために、そうした追加のサーバはここに示されていない。ノード２０４及び２０６のそれぞれのサーバの操作に用いられるノード・エージェントも示されていない。
【００１９】
図２は、さらに、電子掲示板２１４を有するＨＡメッセージング・システムを有効に含むメッセージング・システム２１２を示す。電子掲示板２１４は、業界でＷｅｂＳｐｈｅｒｅ（商標）として知られているＩｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐｏｒａｔｉｏｎの製品を有効に含むが、電子掲示板２１４は、これに限定されるものではない。（ＷｅｂＳｐｈｅｒｅ（商標）は、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐｏｒａｔｉｏｎの米国及びその他の国における商標）メッセージング・システム２１２は、ノード２０４のサーバ２０８及びノード２０６のサーバ２１０と、情報を直接通信するようになっている。より具体的には、サーバ２０８には、サーバ２０８の状態を電子掲示板２１４に送付するために、メッセージング・システム・インターフェース・サービス２１６などのコンポーネントが設けられる。インターフェース・サービス２１６はまた、ノード２０６のサーバ２１０を含む、ノード構成２０２の特定の他のサーバについての始動イベント通知を受信するために、サーバ２０８をメッセージング・システム２１２に登録するように設定される。一般に、インターフェース２１６は、メッセージング・システム２１２に送付する他のサーバについての始動イベントを受信するように登録し、ここで他のサーバは、サーバ２０８のサービスに関連するトピック又はサブジェクトのメッセージングに関連するものである。
【００２０】
同様に、サーバ２１０には、サーバ２１０の状態を電子掲示板２１４に送付するために、メッセージング・システム・インターフェース２１８が設けられる。インターフェース２１８もまた、サーバ２０８などのノード構成２０２の他のノードのサーバについての始動イベント通知を受信するために、サーバ２１０を登録するように動作可能である。
【００２１】
本発明の幾つかの有用な実施形態においては、サーバの状態は、サーバが始動中のときにはいつでも、そのインターフェース・サービスによって電子掲示板２１４に送付される。電子掲示板２１４に送付される他の情報は、サーバ２０８及び２１０などのアプリケーション・サーバのＪＭＸ状態イベントに関連するものとすることができる。こうした状態イベントは、とりわけ、始動中のサーバ、始動済みのサーバ、停止中のサーバ、及び停止済みのサーバを含むことができる。電子掲示板２１４は、単なる例示の目的でメッセージング・システム２１２の中に描かれていることを理解されたい。当業者であれば、他の構成に想到するものと考えられる。
【００２２】
メッセージング・システム・インターフェース・コンポーネント２１６又は２１８が、最初に、他の特定のサーバの始動イベントを受信するように登録するときには、その時点で稼働中の他の全てのサーバの識別情報を取得する。その後、特定のサーバの１つが始動したときにはいつでも、メッセージング・システム２１２及び電子掲示板２１４は、メッセージング・システム・インターフェース・コンポーネント２１６又は２１８に始動イベントを通知する。
【００２３】
図３を参照すると、以下サーバＡと呼ばれるサーバ２０８が、以下サーバＮと呼ばれるサーバ２１０が始動したとの通知を受信することが示されている。この通知を受信すると、サーバＡは、そのサービスの各々に関して照会又は調査して、サービスのうちのいずれかが、新しく始動したサーバＮのいずれかのイベントを追跡することを必要とするかどうかを判断する。この手続は、例えば、図２に示されるクエリ・サーバＡ・サービス・コンポーネント２２０のようなサーバＡのサービス又はコンポーネントによって実行することができる。サーバＡの１つ又は複数のサービスが、こうした照会に対して肯定応答し、サーバＡが監視又は追跡すべきサーバＮの１つ又は複数のイベントを特定した場合には、サーバＡは、新しく始動したサーバＮとの直接接続を生成する。より具体的には、図３に示されるように、サーバＡは、サーバＮとの直接通信経路又はリンク３０２を確立するように動作する。接続タスクは、図２に示されるサーバ・リンク・コンポーネント２２２のようなサーバＡのサービスによって有効に実行される。
【００２４】
図３をさらに参照すると、サーバＡとサーバＮとの間に直接接続を確立するために通信経路３０２が設定された後、サーバＡは、サーバＮからオブジェクト３０４を取得する。次いで、サーバＡは、このオブジェクトを用いて、上述された照会手続の際に特定されたイベントの通知を受信するようにサーバＮに登録する。このように、それぞれの特定されたイベントに関係するか又はイベントの影響を受けるサーバＡのサービスは、こうしたイベントがサーバＮにおいて発生したときに通知される。図４は、ＪＭＸイベントを含む、特定されたイベントを示す。登録手続は、図２に示されるサーバ登録コンポーネント２２４のようなサーバＡのサービスによって有効に実行される。特定されたサーバＮのイベントの通知は、通信経路３０２によって、サーバＮからサーバＡに直接与えられる。このように、図２〜図４に示される本発明の実施形態は、ノードにおける単一障害点として作用してサーバ状態情報の流れを妨げるノード・エージェントの従来の問題を克服する。
【００２５】
図２は、さらに、サーバＮ又は他のノードのサーバのイベントを監視しようとするサーバＡのそれぞれのサービスをまとめて表す、サーバＡの他のサービス２２６を示す。図２はまた、サーバＡのサービス２２０〜２２６のそれぞれに対応するサービス又はコンポーネント２２８〜２３４がサーバＮに設けられていることを示す。このように、サーバＮが、図３に示されるように、サーバＡが始動したことを電子掲示板２１４によって通知されたときに、サービス２２８〜２３２は、それぞれサービス２２０〜２２４について上述されたものと同様のサーバＮについての機能を実行する。従って、直接接続が、通信経路３０６によってサーバＮとサーバＡとの間に確立される。サーバＮのサービスに関係のある、サーバＡの特定されたＪＭＸイベントを監視するようにサーバＮによって用いるために、オブジェクト３０８がサーバＡからサーバＮに配信される。図４は、サーバＮがサーバＡに関するこれらの特定されたイベントを登録することを示し、さらに、それぞれのイベントの通知が直接通信経路３０６によってサーバＡからサーバＮに直接提供されること示す。
【００２６】
図５を参照すると、上述のように、電子掲示板２１４とサーバＡとの対話及びサーバＮとの対話が示されている。図５の機能ブロック５０２は、サーバＡが、その状態情報を電子掲示板２１４に送付すること、及び、他のノードの選択されたサーバについて電子掲示板２１４から始動イベント通知を受信するように電子掲示板２１４に登録することを示す。
【００２７】
図５は、さらに、判定ブロック５０４及び５０６を示す。これらの判定ブロックは、全体として、サーバＡがサーバＮについての始動イベント通知を受信したときに、サーバＮのいずれかのイベントに関係するものが存在するかどうかを判断するために、サーバＡのそれぞれのサービスが照会されることを示す。存在する場合には、機能ブロック５０８によって示されるように、サーバＡとサーバＮとの間に直接接続が確立され、機能ブロック５１０によって示されるように、サーバＮからのオブジェクトがサーバＡによって取得される。機能ブロック５１２によって示されるように、オブジェクトは、関係のあるイベントの１つが発生したときには常にサーバＡがサーバＮによって通知されるように登録するために用いられる。
【００２８】
図６を参照すると、ノード２０４に関して、本発明のより具体的なコンピュータ実装が示される。ノード２０６及びノード構成２０２の他のノードは、同様のコンポーネントを含むものと理解されるべきである。図６は、処理ユニット６０２と、メモリ６０４と、バス６０６と、入出力（Ｉ／Ｏ）インターフェース６０８と、外部装置／ソース６１０と、記憶ユニット６１２とを含むノード２０４を示す。処理ユニット６０２は、単一の処理ユニットを含むことも、１つ又は複数の位置にある１つ又は複数の処理ユニットにわたって分散させることもできる。メモリ６０４は、磁気媒体、光媒体、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、データ・キャッシュ、又はデータ・オブジェクトといった、任意の既知のタイプのデータ記憶媒体を含むことができる。さらに、メモリ６０４は、単一の物理的位置に存在するようにすることも、様々な形式の複数の物理システムにわたって分散させることもできる。
【００２９】
Ｉ／Ｏインターフェース６０８は、外部装置又はソースとの間で情報を交換するための任意のシステムを含むことができる。外部装置／ソース６１０は、スピーカ、ＣＲＴ、ＬＥＤスクリーン、ハンドヘルド装置、キーボード、マウス、音声認識システム、音声出力システム、プリンタ、モニタ、又はディスプレイといった、任意の既知のタイプの外部装置を含むことができる。バス６０６は、ノード２０４におけるコンポーネントの各々の間に通信リンクを提供するものであり、電気的リンク、光学的リンク、又は無線リンクといった、任意の既知のタイプの伝送リンクを含むことができる。
【００３０】
記憶ユニット６１２は、本発明の下で情報（例えば、サーバ状態情報）を記憶することが可能な任意のシステム（例えば、データベース）とすることができる。従って、記憶ユニット６１２は、磁気ディスク・ドライブ又は光ディスク・ドライブといった１つ又は複数の記憶装置を含むことができる。別の実施形態においては、記憶ユニット６１２は、例えばＬＡＮ、ＷＡＮ、又はストレージ・エリア・ネットワークＳＡＮ（図示せず）にわたって分散されたデータを含むことができる。図示されないが、キャッシュ・メモリ、通信システム、又はシステム・ソフトウェアなどの追加のコンポーネントをノード２０４に組み込むことができる。上述のように、ノード２０６は、ノード２０４について示されたものと同様のコンポーネントを持つことになる。
【００３１】
本発明は、完全に機能するデータ処理システムを背景として説明されたが、当業者であれば、本発明のプロセスは、命令及び種々の形式のコンピュータ可読媒体の形態で配布することが可能であることと、本発明は、配布を行うために実際に用いられる特定のタイプの信号支持媒体にかかわりなく等しく適用されることとが分かるであろうということに留意することが重要である。コンピュータ可読媒体の例には、フレキシブル・ディスク、ハード・ディスク・ドライブ、ＲＡＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどの書込み可能なタイプの媒体と、デジタル通信リンク及びアナログ通信リンク、例えば無線周波数伝送及び光波伝送といった伝送形式を用いる有線通信リンク及び無線通信リンクなどの伝送タイプの媒体とが含まれる。コンピュータ可読媒体は、特定のデータ処理システムにおいて実際の使用するために復号化される符号化フォーマットの形態を取ることができる。
【００３２】
本発明の説明は、例示及び説明の目的で提示されたものであり、網羅的であること、又は、開示された形態の発明に限定されることを意図するものではない。当業者には、多くの修正及び変形が明らかであろう。本実施形態は、本発明の原理、実際の用途を最も良く説明するために、及び、当業者が、考えられる特定の使用に適した種々の修正を伴う種々の実施形態について本発明を理解することができるように、選択され説明された。
【図面の簡単な説明】
【００３３】
【図１】背景技術に係る、ノード構成におけるサーバ状態の集中監視のためのシステムを示すブロック図である。
【図２】本発明の実施形態に従って動作するように構成されたコンポーネントを有するノード構成を示すブロック図である。
【図３】本発明の実施形態に係る、２つのサーバ間の直接通信を示すための、図２のノード構成の選択されたコンポーネントをそれぞれ示すブロック図である。
【図４】本発明の実施形態に係る、２つのサーバ間の直接通信を示すための、図２のノード構成の選択されたコンポーネントをそれぞれ示すブロック図である。
【図５】図３〜図４の実施形態をさらに示すフローチャートである。
【図６】図３〜図４の実施形態を実装するためのコンピュータ構成を示す簡略化されたブロック図である。
【図１】
2008519477.tif 000003
【図２】
2008519477.tif 000004
【図３】
2008519477.tif 000005
【図４】
2008519477.tif 000006
【図５】
2008519477.tif 000007
【図６】
2008519477.tif 000008
【国際調査報告】
2008519477.tif 000009
2008519477.tif 000010
2008519477.tif 000011