(57)【特許請求の範囲】
【請求項１】
クラスタシステム内のノードＡによって、前記クラスタシステムに加入することを要求するための外部ノードによって送信された要求メッセージを受信するステップであって、前記クラスタシステムは、少なくとも２つのノードを含み、前記ノードＡは、前記クラスタシステム内の１つのノードであり、前記ノードＡと前記クラスタシステム内の少なくとも１つの別のノードとは、双方向近隣関係を相互に有し、前記双方向近隣関係を有する２つのノードは、情報を相互に送信する、ステップと、
前記ノードＡによって、前記ノードＡに関する、前記クラスタシステム内に割り当てられた空間面積の、前記ノードＡの各双方向近隣ノードに関する、前記クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たすかどうかを、別々に決定するステップであって、少なくとも１つの外部ノードが、前記クラスタシステムに加入した場合、クラスタ面積のうちの前記１つのノードによって占有される空間面積が、削減され、前記クラスタ面積のうちの空間面積が、前記少なくとも１つの加入した外部ノードにそれぞれ割り当てられる、ステップと、
前記事前設定された関係が満たされた場合、ノードが前記クラスタシステム内に一様に分配されることを保証して、前記クラスタシステムにおけるノードの集中分配を回避するために、前記ノードＡによって、前記外部ノードと前記双方向近隣関係を確立するステップとを含むことを特徴とするクラスタシステム自己組織化方法。
【請求項２】
前記方法は、
前記ノードＡに関する、前記クラスタシステム内に割り当てられた空間面積の、前記ノードＡの少なくとも１つの双方向近隣ノードに関する、前記クラスタシステム内に割り当てられた空間面積に対する前記比が、前記事前設定された関係を満たさない場合、前記外部ノードが、別のノードを使用することによって、前記クラスタシステムに加入するように、前記ノードＡによって、前記クラスタシステム内の前記ノードＡを除く少なくとも１つのノードについての情報を、前記外部ノードに送信するステップ
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記ノードＡによって、前記クラスタシステム内の前記ノードＡを除く少なくとも１つのノードについての情報を、前記外部ノードに送信する前記ステップは、
少なくとも１つのノードに関する、前記クラスタシステム内に割り当てられた空間面積の、前記少なくとも１つのノードの各双方向近隣ノードに関する、前記クラスタシステム内に割り当てられた空間面積に対する比が、前記事前設定された関係を満たす場合、前記ノードＡによって、前記クラスタシステム内のすべてのノードに関する、前記クラスタシステム内に割り当てられた空間面積に従って、前記少なくとも１つのノードについての情報を、前記外部ノードに送信するステップを含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記方法は、
前記ノードＡによって、前記ノードＡの双方向近隣ノードを使用することによって、前記外部ノードが、前記クラスタシステム内の前記ノードＡを除く別のノードを使用することによって、前記クラスタシステムに加入した旨のメッセージを獲得するステップ
をさらに含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記方法は、
前記ノードＡによって、前記ノードＡと前記双方向近隣関係を相互に有するノードについての情報を、前記外部ノードに送信するステップであって、前記情報は、前記クラスタシステム内の前記ノードＡを除く前記別のノードと前記双方向近隣関係を確立するために、前記外部ノードによって使用される、ステップ
をさらに含むことを特徴とする請求項１乃至４のいずれか一項に記載の方法。
【請求項６】
前記方法は、
前記ノードＡによって、前記外部ノードが前記クラスタシステム内の前記ノードＡを除く前記別のノードと前記双方向近隣関係を確立した旨の通知メッセージを受信するステップ
をさらに含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記ノードＡによって、前記外部ノードが前記クラスタシステム内の前記ノードＡを除く前記別のノードと前記双方向近隣関係を確立した旨の通知メッセージを受信する前記ステップは、
前記ノードＡによって、前記外部ノードが前記ノードＡの前記双方向近隣ノードと前記双方向近隣関係を確立した旨の通知メッセージを受信するステップを含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記ノードＡによって、前記外部ノードが前記クラスタシステム内の前記ノードＡを除く前記別のノードと前記双方向近隣関係を確立した旨の通知メッセージを受信する前記ステップは、
前記ノードＡによって、前記外部ノードおよび／または前記ノードＡの別の双方向近隣ノードを使用することによって、前記通知メッセージを受信するステップを含むことを特徴とする請求項６または７に記載の方法。
【請求項９】
前記ノードＡによって、前記外部ノードと前記双方向近隣関係を確立する前記ステップの後、
前記外部ノードが前記クラスタシステムに加入した旨のメッセージが、前記ノードＡの前記双方向近隣ノードを使用することによって、前記クラスタシステム全体において共有されるように、前記ノードＡによって、前記ノードＡが前記外部ノードと前記双方向近隣関係を確立した旨のメッセージを、前記外部ノードを除く前記ノードＡの別の双方向近隣ノードに送信するステップ
をさらに含むことを特徴とする請求項１乃至８のいずれか一項に記載の方法。
【請求項１０】
前記方法は、
前記ノードＡによって、前記ノードＡの前記双方向近隣ノードを使用することによって、別の新しいノードが前記クラスタシステムに加入した旨のメッセージを獲得するステップ
をさらに含むことを特徴とする請求項１乃至９のいずれか一項に記載の方法。
【請求項１１】
前記クラスタシステムが、ただ１つのノードを含む場合、２次元座標系が、前記１つのノードを原点として使用することによって確立され、前記２次元座標において、クラスタ面積が、前記クラスタシステムに割り当てられ、前記クラスタ面積全部が、前記１つのノードに割り当てられることを特徴とする請求項１乃至９のいずれか一項に記載の方法。
【請求項１２】
ノードデバイスであって、前記ノードデバイスは、クラスタシステム内のノード上に配備されるように構成され、通信インターフェースと、メモリと、プロセッサと、通信バスとを備え、前記通信インターフェース、前記メモリ、および前記プロセッサは、前記通信バスを使用することによって通信し、
前記メモリは、プログラムを記憶するように構成され、前記プロセッサは、前記メモリ内に記憶された前記プログラムを実行するように構成され、
前記通信インターフェースは、前記クラスタシステムに加入することを要求するための外部ノードによって送信された要求メッセージを受信するように構成され、前記クラスタシステムは、少なくとも２つのノードを含み、前記要求メッセージを受信したノードは、ノードＡであり、前記ノードＡは、前記クラスタシステム内の１つのノードであり、前記ノードＡと前記クラスタシステム内の少なくとも１つの別のノードとは、双方向近隣関係を相互に有し、前記双方向近隣関係を有する２つのノードは、情報を相互に送信し、
前記プロセッサは、前記ノードＡに関する、前記クラスタシステム内に割り当てられた空間面積の、前記ノードＡの各双方向近隣ノードに関する、前記クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たすかどうかを、別々に決定するように構成され、前記クラスタシステムが、ただ１つのノードを含む場合、２次元座標系が、前記１つのノードを原点として使用することによって確立され、前記２次元座標において、クラスタ面積が、前記クラスタシステムに割り当てられ、前記クラスタ面積全部が、前記１つのノードに割り当てられ、少なくとも１つの外部ノードが、前記クラスタシステムに加入した場合、前記クラスタ面積のうちの前記１つのノードによって占有される空間面積が、削減され、前記クラスタ面積のうちの空間面積が、前記少なくとも１つの加入した外部ノードにそれぞれ割り当てられ、また前記プロセッサは、前記事前設定された関係が満たされた場合、ノードが前記クラスタシステム内に一様に分配されることを保証して、前記クラスタシステムにおけるノードの集中分配を回避するために、前記ノードＡと前記外部ノードとの間の前記双方向近隣関係を確立するように構成される
ことを特徴とするノードデバイス。
【請求項１３】
ノードデバイスであって、前記ノードデバイスは、クラスタシステム外のノード上に配備されるように構成され、通信インターフェースと、メモリと、プロセッサと、通信バスとを備え、前記通信インターフェース、前記メモリ、および前記プロセッサは、前記通信バスを使用することによって通信し、
前記メモリは、プログラムを記憶するように構成され、前記プロセッサは、前記メモリ内に記憶された前記プログラムを実行するように構成され、
前記通信インターフェースは、前記クラスタシステムに加入することを要求するための要求メッセージを、前記クラスタシステム内のノードＡに送信するように構成され、前記クラスタシステムは、少なくとも２つのノードを含み、前記ノードＡは、前記クラスタシステム内の１つのノードであり、前記ノードＡと前記クラスタシステム内の少なくとも１つの別のノードとは、双方向近隣関係を相互に有し、前記双方向近隣関係を有する２つのノードは、情報を相互に送信し、
前記プロセッサは、前記ノードＡが、前記クラスタシステムに加入することを、外部ノードに許可した場合、前記ノードＡと前記双方向近隣関係を確立するように構成される
ことを特徴とするノードデバイス。
【請求項１４】
クラスタシステムであって、前記クラスタシステムは、少なくとも２つのノードと、新たに追加されるノードＢとを含み、ノードＡは、前記少なくとも２つのノードのうちの１つのノードであり、前記新たに追加されるノードが前記クラスタシステムに加入するプロセスが、
前記ノードＡによって、前記クラスタシステムに加入することを要求するための前記ノードＢによって送信された要求メッセージを受信するステップであって、前記ノードＡと前記クラスタシステム内の少なくとも１つの別のノードとは、双方向近隣関係を相互に有し、前記双方向近隣関係を有する２つのノードは、情報を相互に送信する、ステップと、
前記ノードＡによって、前記ノードＡに関する、前記クラスタシステム内に割り当てられた空間面積の、前記ノードＡの各双方向近隣ノードに関する、前記クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たすかどうかを、別々に決定するステップであって、前記クラスタシステムが、ただ１つのノードを含む場合、２次元座標系が、前記１つのノードを原点として使用することによって確立され、前記２次元座標において、クラスタ面積が、前記クラスタシステムに割り当てられ、前記クラスタ面積全部が、前記１つのノードに割り当てられ、少なくとも１つの外部ノードが、前記クラスタシステムに加入した場合、前記クラスタ面積のうちの前記１つのノードによって占有される空間面積が、削減され、前記クラスタ面積のうちの空間面積が、前記少なくとも１つの加入した外部ノードにそれぞれ割り当てられる、ステップと、
前記事前設定された関係が満たされた場合、ノードが前記クラスタシステム内に一様に分配されることを保証して、前記クラスタシステムにおけるノードの集中分配を回避するために、前記ノードＡによって、前記ノードＢと前記双方向近隣関係を確立するステップと
を含むことを特徴とするクラスタシステム。
【請求項１５】
請求項１乃至１１のいずれかに記載の前記方法を実行するために、コンピュータによって実行されることを特徴とする媒体上に記憶されたプログラム。
【請求項１６】
請求項１乃至１１のいずれかに記載の前記方法を実行するためにコンピュータによって実行されるプログラムを記録したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、クラスタシステム自己組織化技術に関し、詳細には、クラスタシステム自己組織化方法、デバイス、およびクラスタシステムに関する。
【背景技術】
【０００２】
クラスタは、高速ネットワークを使用することによって相互接続された、コンピュータおよびモバイル通信デバイスなどの、相互に独立した端末デバイスのグループである。クラスタシステム内のすべての端末デバイスは、ノードと呼ばれることがある。ノードは、グループを形成し、単一のシステムとして管理される。
【０００３】
オープンソース仮想化ＫＶＭ（カーネルベース仮想マシン、Ｋｅｒｎｅｌ−ｂａｓｅｄ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）技術、およびクラウドコンピューティングＯｐｅｎＳｔａｃｋ技術などの技術の開発に伴い、クラスタのサイズは、将来的に、指数関数的に増加し、サービスレイヤによって実行されるクラスタ管理の問題は、ますます顕著になる。したがって、クラスタアーキテクチャ関係をどのように組織化するかは、クラスタ管理において、特に、故障ノードの高速検出のためには、極めて重要である。
【０００４】
現在、ノードを組織化するためにクラスタシステムによって使用される方法は、以下の通りである。クラスタシステムは、複数のノードを含み、クラスタ内の各ノードは、シードノードとして使用され得る。外部の通常ノードが、異なる瞬間に、クラスタに加入する場合、外部ノードは、近隣関係を確立するために、異なるノードをランダムに選択する。例えば、第１の瞬間において、通常ノードＡは、近隣ノードとして、クラスタシステム内のノードＢをランダムに選択し、ノードＡは、ノードＢとの近隣関係に従って、ノードＡについての情報を、ノードＢと共有することがあり、第２の瞬間において、ノードＡは、近隣ノードとして、クラスタシステム内のノードＣをランダムに選択し、ノードＡは、ノードＣとの近隣関係に従って、ノードＡについての情報を、ノードＣと共有することがある。別のノードが、近隣ノードとして、ノードＡを選択した場合、ノードＡは、別のノードによって共有される情報を受け取ることがある。
【０００５】
先行技術では、異なる瞬間において、クラスタシステム内には、ノードと近隣ノードとの間に不確定の関係が存在し、それは、クラスタシステムの高いアベイラビリティを維持するのに役立たない。
【発明の概要】
【０００６】
本発明の実施形態は、クラスタシステムのトポロジ構造の高いアベイラビリティを維持するために、クラスタシステム自己組織化方法、デバイス、およびクラスタシステムを提供する。
【０００７】
第１の態様によれば、本発明の実施形態は、
クラスタシステム内のノードＡによって、クラスタシステムに加入することを要求するための外部ノードによって送信された要求メッセージを受信するステップであって、クラスタシステムは、少なくとも２つのノードを含み、ノードＡは、クラスタシステム内の１つのノードであり、ノードＡとクラスタシステム内の少なくとも１つの別のノードとは、双方向近隣関係を相互に有し、双方向近隣関係を有する２つのノードは、情報を相互に送信する、ステップと、
ノードＡによって、ノードＡに関する、クラスタシステム内に割り当てられた空間面積の、ノードＡの双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たすかどうかを、別々に決定するステップであって、クラスタシステムが、ただ１つのノードを含む場合、２次元座標系が、その１つのノードを原点として使用することによって確立され、２次元座標において、クラスタ面積が、クラスタシステムに割り当てられ、クラスタ面積全部が、その１つのノードに割り当てられ、少なくとも１つの外部ノードが、クラスタシステムに加入した場合、クラスタ面積のうちのその１つのノードによって占有される空間面積が、削減され、クラスタ面積のうちの空間面積が、少なくとも１つの加入した外部ノードにそれぞれ割り当てられる、ステップと、
事前設定された関係が満たされた場合、ノードがクラスタシステム内に一様に分配されることを保証して、クラスタシステムにおけるノードの集中分配を回避するために、ノードＡによって、外部ノードと双方向近隣関係を確立するステップと
を含む、クラスタシステム自己組織化方法を提供する。
【０００８】
任意選択で、方法は、
ノードＡに関する、クラスタシステム内に割り当てられた空間面積の、ノードＡの少なくとも１つの双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たさない場合、外部ノードが、別のノードを使用することによって、クラスタシステムに加入するように、ノードＡによって、クラスタシステム内のノードＡを除く少なくとも１つのノードについての情報を、外部ノードに送信するステップ
をさらに含む。
【０００９】
任意選択で、ノードＡによって、クラスタシステム内のノードＡを除く少なくとも１つのノードについての情報を、外部ノードに送信するステップは、
少なくとも１つのノードに関する、クラスタシステム内に割り当てられた空間面積の、少なくとも１つのノードの各双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たす場合、ノードＡによって、クラスタシステム内のすべてのノードに関する、クラスタシステム内に割り当てられた空間面積に従って、少なくとも１つのノードについての情報を、外部ノードに送信するステップ
を含む。
【００１０】
任意選択で、方法は、
ノードＡによって、ノードＡの双方向近隣ノードを使用することによって、外部ノードが、クラスタシステム内のノードＡを除く別のノードを使用することによって、クラスタシステムに加入した旨のメッセージを獲得するステップ
をさらに含む。
【００１１】
任意選択で、方法は、
ノードＡによって、ノードＡと双方向近隣関係を相互に有するノードについての情報を、外部ノードに送信するステップであって、その情報は、クラスタシステム内のノードＡを除く別のノードと双方向近隣関係を確立するために、外部ノードによって使用される、ステップ
をさらに含む。
【００１２】
任意選択で、方法は、
ノードＡによって、外部ノードがクラスタシステム内のノードＡを除く別のノードと双方向近隣関係を確立した旨の通知メッセージを受信するステップ
をさらに含む。
【００１３】
任意選択で、ノードＡによって、外部ノードがクラスタシステム内のノードＡを除く別のノードと双方向近隣関係を確立した旨の通知メッセージを受信するステップは、
ノードＡによって、外部ノードがノードＡの双方向近隣ノードと双方向近隣関係を確立した旨の通知メッセージを受信するステップ
を含む。
【００１４】
任意選択で、ノードＡによって、外部ノードがクラスタシステム内のノードＡを除く別のノードと双方向近隣関係を確立した旨の通知メッセージを受信するステップは、
ノードＡによって、外部ノードおよび／またはノードＡの別の双方向近隣ノードを使用することによって、通知メッセージを受信するステップ
を含む。
【００１５】
任意選択で、ノードＡによって、外部ノードと双方向近隣関係を確立するステップの後、方法は、
外部ノードがクラスタシステムに加入した旨のメッセージが、ノードＡの双方向近隣ノードを使用することによって、クラスタシステム全体において共有されるように、ノードＡによって、ノードＡが外部ノードと双方向近隣関係を確立した旨のメッセージを、外部ノードを除くノードＡの別の双方向近隣ノードに送信するステップ
をさらに含む。
【００１６】
任意選択で、方法は、
ノードＡによって、ノードＡの双方向近隣ノードを使用することによって、別の新しいノードがクラスタシステムに加入した旨のメッセージを獲得するステップ
をさらに含む。
【００１７】
第２の態様によれば、本発明の実施形態は、
外部ノードによって、クラスタシステムに加入することを要求するための要求メッセージを、クラスタシステム内のノードＡに送信するステップであって、クラスタシステムは、少なくとも２つのノードを含み、ノードＡは、クラスタシステム内の１つのノードであり、ノードＡとクラスタシステム内の少なくとも１つの別のノードとは、双方向近隣関係を相互に有し、双方向近隣関係を有する２つのノードは、情報を相互に送信する、ステップと、
ノードＡが、クラスタシステムに加入することを、外部ノードに許可した場合、外部ノードによって、ノードＡと双方向近隣関係を確立するステップと
を含む、クラスタシステム自己組織化方法を提供する。
【００１８】
任意選択で、方法は、
ノードＡが、クラスタシステムに加入することを、外部ノードに許可しない場合、外部ノードによって、ノードＡによって送信された、クラスタシステム内のノードＡを除く少なくとも１つのノードについての情報を受信するステップと、
外部ノードによって、ノードＡを除く少なくとも１つのノードについての情報に従って、クラスタシステム内のノードＡを除くノードのうちの１つと双方向近隣関係を確立するステップと
をさらに含む。
【００１９】
任意選択で、外部ノードによって、ノードＡによって送信された、クラスタシステム内のノードＡを除く少なくとも１つのノードについての情報を受信するステップは、
少なくとも１つのノードに関する、クラスタシステム内に割り当てられた空間面積の、少なくとも１つのノードの各双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たす場合、外部ノードによって、ノードＡによって送信された、少なくとも１つのノードについての情報を受信するステップ
を含み、
それに対応して、外部ノードによって、ノードＡを除く少なくとも１つのノードについての情報に従って、クラスタシステム内のノードＡを除くノードのうちの１つと双方向近隣関係を確立するステップは、
少なくとも１つのノードに関する、クラスタシステム内に割り当てられた空間面積の、少なくとも１つのノードの各双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たす場合、外部ノードによって、少なくとも１つのノードのいずれか１つと双方向近隣関係を確立するステップ
を含む。
【００２０】
任意選択で、外部ノードについて、ノードＡが、クラスタシステムに加入することを、外部ノードに許可した場合、方法は、
外部ノードによって、ノードＡによって送信された、ノードＡと双方向近隣関係を相互に有するノードについての情報を受信するステップと、
外部ノードによって、ノードＡと双方向近隣関係を相互に有するノードについての情報に従って、ノードＡの双方向近隣ノードと双方向近隣関係を確立するステップと
をさらに含む。
【００２１】
任意選択で、ノードＡの双方向近隣ノードと双方向近隣関係を確立するステップの後、方法は、
外部ノードによって、外部ノードがノードＡの双方向近隣ノードと双方向近隣関係を確立した旨の情報を、ノードＡに送信するステップ
をさらに含む。
【００２２】
第３の態様によれば、本発明の実施形態は、クラスタシステム自己組織化装置を提供し、装置は、クラスタシステム内のノードＡ上に配備され、装置は、
クラスタシステムに加入することを要求するための外部ノードによって送信された要求メッセージを受信するように構成された受信モジュールであって、クラスタシステムは、少なくとも２つのノードを含み、ノードＡは、クラスタシステム内の１つのノードであり、ノードＡとクラスタシステム内の少なくとも１つの別のノードとは、双方向近隣関係を相互に有し、双方向近隣関係を有する２つのノードは、情報を相互に送信する、受信モジュールと、
ノードＡに関する、クラスタシステム内に割り当てられた空間面積の、ノードＡの双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たすかどうかを、別々に決定するように構成された決定モジュールであって、クラスタシステムが、ただ１つのノードを含む場合、２次元座標系が、その１つのノードを原点として使用することによって確立され、２次元座標において、クラスタ面積が、クラスタシステムに割り当てられ、クラスタ面積全部が、その１つのノードに割り当てられ、少なくとも１つの外部ノードが、クラスタシステムに加入した場合、クラスタ面積のうちのその１つのノードによって占有される空間面積が、削減され、クラスタ面積のうちの空間面積が、少なくとも１つの加入した外部ノードにそれぞれ割り当てられる、決定モジュールと、
事前設定された関係が満たされた場合、ノードがクラスタシステム内に一様に分配されることを保証して、クラスタシステムにおけるノードの集中分配を回避するために、ノードＡと外部ノードとの間の双方向近隣関係を確立するように構成された近隣関係確立モジュールと
を含む。
【００２３】
任意選択で、装置は、ノードＡに関する、クラスタシステム内に割り当てられた空間面積の、ノードＡの少なくとも１つの双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たさない場合、外部ノードが、別のノードを使用することによって、クラスタシステムに加入するように、クラスタシステム内のノードＡを除く少なくとも１つのノードについての情報を、外部ノードに送信するように構成された第１の送信モジュールをさらに含む。
【００２４】
任意選択で、第１の送信モジュールが、
少なくとも１つのノードに関する、クラスタシステム内に割り当てられた空間面積の、少なくとも１つのノードの各双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たす場合、クラスタシステム内のすべてのノードに関する、クラスタシステム内に割り当てられた空間面積に従って、少なくとも１つのノードについての情報を、外部ノードに送信する
ように特に構成される。
【００２５】
任意選択で、受信モジュールは、
ノードＡの双方向近隣ノードを使用することによって、外部ノードが、クラスタシステム内のノードＡを除く別のノードを使用することによって、クラスタシステムに加入した旨のメッセージを獲得する
ようにさらに構成される。
【００２６】
任意選択で、装置は、ノードＡと双方向近隣関係を相互に有するノードについての情報を、外部ノードに送信するように構成された第２の送信モジュールであって、その情報は、クラスタシステム内のノードＡを除く別のノードと双方向近隣関係を確立するために、外部ノードによって使用される、第２の送信モジュールをさらに含む。
【００２７】
任意選択で、受信モジュールは、
外部ノードがクラスタシステム内のノードＡを除く別のノードと双方向近隣関係を確立した旨の通知メッセージを受信する
ようにさらに構成される。
【００２８】
任意選択で、受信モジュールは、
外部ノードがノードＡの双方向近隣ノードと双方向近隣関係を確立した旨の通知メッセージを受信する
ように特に構成される。
【００２９】
任意選択で、受信モジュールは、
外部ノードおよび／またはノードＡの別の双方向近隣ノードを使用することによって、通知メッセージを受信する
ように特に構成される。
【００３０】
任意選択で、装置は、外部ノードがクラスタシステムに加入した旨のメッセージが、ノードＡの双方向近隣ノードを使用することによって、クラスタシステム全体において共有されるように、ノードＡが外部ノードと双方向近隣関係を確立した旨のメッセージを、外部ノードを除くノードＡの別の双方向近隣ノードに送信するように構成された第３の送信モジュールをさらに含む。
【００３１】
任意選択で、受信モジュールは、
ノードＡの双方向近隣ノードを使用することによって、別の新しいノードがクラスタシステムに加入した旨のメッセージを獲得する
ようにさらに構成される。
【００３２】
第４の態様によれば、本発明の実施形態は、クラスタシステム自己組織化装置を提供し、装置は、外部ノード上に配備され、
クラスタシステムに加入することを要求するための要求メッセージを、クラスタシステム内のノードＡに送信するように構成された送信モジュールであって、クラスタシステムは、少なくとも２つのノードを含み、ノードＡは、クラスタシステム内の１つのノードであり、ノードＡとクラスタシステム内の少なくとも１つの別のノードとは、双方向近隣関係を相互に有し、双方向近隣関係を有する２つのノードは、情報を相互に送信する、送信モジュールと、
ノードＡが、クラスタシステムに加入することを、外部ノードに許可した場合、外部ノードとノードＡとの間の双方向近隣関係を確立するように構成された近隣関係確立モジュールと
を含む。
【００３３】
任意選択で、装置は、ノードＡが、クラスタシステムに加入することを、外部ノードに許可しない場合、ノードＡによって送信された、クラスタシステム内のノードＡを除く少なくとも１つのノードについての情報を受信するように構成された第１の受信モジュールをさらに含み、
それに対応して、近隣関係確立モジュールは、ノードＡを除く少なくとも１つのノードについての情報に従って、外部ノードとクラスタシステム内のノードＡを除くノードのうちの１つとの間の双方向近隣関係を確立するように特に構成される。
【００３４】
任意選択で、第１の受信モジュールが、
少なくとも１つのノードに関する、クラスタシステム内に割り当てられた空間面積の、少なくとも１つのノードの各双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たす場合、ノードＡによって送信された、少なくとも１つのノードについての情報を受信する
ように特に構成され、
それに対応して、近隣関係確立モジュールは、
少なくとも１つのノードに関する、クラスタシステム内に割り当てられた空間面積の、少なくとも１つのノードの各双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たす場合、外部ノードと少なくとも１つのノードのいずれか１つとの間の双方向近隣関係を確立する
ように特に構成される。
【００３５】
任意選択で、装置は、ノードＡが、クラスタシステムに加入することを、外部ノードに許可した場合、ノードＡによって送信された、ノードＡと双方向近隣関係を相互に有するノードについての情報を受信するように構成された第２の受信モジュールをさらに含み、
それに対応して、近隣関係確立モジュールは、
ノードＡと双方向近隣関係を相互に有するノードについての情報に従って、外部ノードとノードＡの双方向近隣ノードとの間の双方向近隣関係を確立する
ように特に構成される。
【００３６】
任意選択で、送信モジュールが、
双方向近隣関係が外部ノードとノードＡの双方向近隣ノードとの間に確立された旨の情報を、ノードＡに送信する
ようにさらに構成される。
【００３７】
第５の態様によれば、本発明の実施形態は、ノードデバイスを提供し、ノードデバイスは、クラスタシステム内のノード上に配備されるように構成され、通信インターフェースと、メモリと、プロセッサと、通信バスとを含み、通信インターフェース、メモリ、およびプロセッサは、通信バスを使用することによって通信し、
メモリは、プログラムを記憶するように構成され、プロセッサは、メモリ内に記憶されたプログラムを実行するように構成され、
通信インターフェースは、クラスタシステムに加入することを要求するための外部ノードによって送信された要求メッセージを受信するように構成され、クラスタシステムは、少なくとも２つのノードを含み、要求メッセージを受信したノードは、ノードＡであり、ノードＡは、クラスタシステム内の１つのノードであり、ノードＡとクラスタシステム内の少なくとも１つの別のノードとは、双方向近隣関係を相互に有し、双方向近隣関係を有する２つのノードは、情報を相互に送信し、
プロセッサは、ノードＡに関する、クラスタシステム内に割り当てられた空間面積の、ノードＡの各双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たすかどうかを、別々に決定するように構成され、クラスタシステムが、ただ１つのノードを含む場合、２次元座標系が、その１つのノードを原点として使用することによって確立され、２次元座標において、クラスタ面積が、クラスタシステムに割り当てられ、クラスタ面積全部が、その１つのノードに割り当てられ、少なくとも１つの外部ノードが、クラスタシステムに加入した場合、クラスタ面積のうちのその１つのノードによって占有される空間面積が、削減され、クラスタ面積のうちの空間面積が、少なくとも１つの加入した外部ノードにそれぞれ割り当てられ、またプロセッサは、事前設定された関係が満たされた場合、ノードがクラスタシステム内に一様に分配されることを保証して、クラスタシステムにおけるノードの集中分配を回避するために、ノードＡと外部ノードとの間の双方向近隣関係を確立するように構成される。
【００３８】
第６の態様によれば、本発明の実施形態は、ノードデバイスを提供し、ノードデバイスは、クラスタシステム外のノード上に配備されるように構成され、通信インターフェースと、メモリと、プロセッサと、通信バスとを含み、通信インターフェース、メモリ、およびプロセッサは、通信バスを使用することによって通信し、
メモリは、プログラムを記憶するように構成され、プロセッサは、メモリ内に記憶されたプログラムを実行するように構成され、
通信インターフェースは、クラスタシステムに加入することを要求するための要求メッセージを、クラスタシステム内のノードＡに送信するように構成され、クラスタシステムは、少なくとも２つのノードを含み、ノードＡは、クラスタシステム内の１つのノードであり、ノードＡとクラスタシステム内の少なくとも１つの別のノードとは、双方向近隣関係を相互に有し、双方向近隣関係を有する２つのノードは、情報を相互に送信し、
プロセッサは、ノードＡが、クラスタシステムに加入することを、外部ノードに許可した場合、ノードＡと双方向近隣関係を確立するように構成される。
【００３９】
第７の態様によれば、本発明の実施形態は、クラスタシステムを提供し、クラスタシステムは、少なくとも２つのノードと、新たに追加されるノードＢとを含み、ノードＡは、少なくとも２つのノードのうちの１つのノードであり、新たに追加されるノードがクラスタシステムに加入するプロセスが、
ノードＡによって、クラスタシステムに加入することを要求するためのノードＢによって送信された要求メッセージを受信するステップであって、ノードＡとクラスタシステム内の少なくとも１つの別のノードとは、双方向近隣関係を相互に有し、双方向近隣関係を有する２つのノードは、情報を相互に送信する、ステップと、
ノードＡによって、ノードＡに関する、クラスタシステム内に割り当てられた空間面積の、ノードＡの各双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たすかどうかを、別々に決定するステップであって、クラスタシステムが、ただ１つのノードを含む場合、２次元座標系が、その１つのノードを原点として使用することによって確立され、２次元座標において、クラスタ面積が、クラスタシステムに割り当てられ、クラスタ面積全部が、その１つのノードに割り当てられ、少なくとも１つの外部ノードが、クラスタシステムに加入した場合、クラスタ面積のうちのその１つのノードによって占有される空間面積が、削減され、クラスタ面積のうちの空間面積が、少なくとも１つの加入した外部ノードにそれぞれ割り当てられる、ステップと、
事前設定された関係が満たされた場合、ノードがクラスタシステム内に一様に分配されることを保証して、クラスタシステムにおけるノードの集中分配を回避するために、ノードＡによって、ノードＢと双方向近隣関係を確立するステップと
を含む。
【００４０】
本発明では、クラスタシステム内のノードは、固定された双方向近隣関係を維持する。新しい外部ノードがクラスタシステムに加入する場合、外部ノードは、クラスタシステム内のいずれかのノードと双方向近隣関係を確立するが、それは、クラスタシステムのトポロジ構造の安定性を維持するために、クラスタシステムのトポロジ構造全体に影響することなく、クラスタシステムの局所的な近隣関係だけを変更する。加えて、ノード間の双方向近隣関係は、クラスタシステム全体におけるノード情報の高速拡散を容易にする。特に、クラスタ内のノードが故障している場合、ノード間の双方向近隣関係は、故障ノードの高速診断および検出を容易にする。したがって、本方法を使用することによって確立されるクラスタシステムは、相対的に高いアベイラビリティを維持し得る。
【図面の簡単な説明】
【００４１】
本発明の実施形態または先行技術における技術的解決策をより明確に説明するために、以下の記述は、実施形態または先行技術を説明するために必要とされる添付の図面について簡潔に説明する。明らかに、以下の説明における添付の図面は、本発明のいくつかの実施形態を示しているが、当業者は、それでも、これらの添付の図面から、創造的な努力なしに、他の図面を導き出すことがある。
【図１】先行技術における、クラスタ構造を組織化した状態の概略図である。
【図２】先行技術における、クラスタ構造を組織化した別の状態の概略図である。
【図３】本発明の実施形態による、クラスタシステム自己組織化方法のフローチャートである。
【図４】本発明の実施形態による、クラスタシステム自己組織化方法の別のフローチャートである。
【図５】任意のノードがクラスタシステムに加入することを要求した場合に獲得される結果の概略図である。
【図６】ノードＢがクラスタシステムに加入した後に獲得される概略構造図である。
【図７】すべてのノードがクラスタシステムに加入した場合に獲得される結果の概略図である。
【図８】本発明の実施形態による、クラスタシステム自己組織化方法のまた別のフローチャートである。
【図９】本発明の実施形態による、クラスタシステム自己組織化方法のさらに別のフローチャートである。
【図１０】本発明の実施形態による、クラスタシステム自己組織化装置の概略構造図である。
【図１１】本発明の実施形態による、クラスタシステム自己組織化装置の別の概略構造図である。
【図１２】本発明の実施形態による、ノードデバイスの概略構造図である。
【図１３】本発明の実施形態による、ノードデバイスの概略構造図である。
【図１４】クラスタシステムの概略構造図である。
【図１５】本発明の実施形態による、クラスタシステムの別の概略構造図である。
【発明を実施するための形態】
【００４２】
本発明の実施形態の目的、技術的解決策、および利点をより明確にするために、以下の記述は、本発明の実施形態における技術的解決策を、本発明の実施形態における添付の図面を参照しながら、明確かつ完全に説明する。明らかに、説明される実施形態は、本発明の実施形態のいくつかであり、すべてというわけではない。当業者によって、本発明の実施形態に基づいて、創造的な努力なしに、獲得される他のすべての実施形態は、本発明の保護範囲内に包含されるものとする。
【００４３】
クラスタリング技術は、相対的に新しい技術である。クラスタリング技術を使用することによって、性能、信頼性、および柔軟性などの面において、相対的に低いコストで、相対的に高い利益が獲得され得る。
【００４４】
クラスタシステムは、一般に、複数のノードを含み、ノード間の関連付けを維持し、クラスタシステムにおけるサービス情報の送信を容易にするために、何らかの近隣関係が、ノード間に確立される。
【００４５】
図１は、先行技術における、クラスタ構造を組織化した状態の概略図である。
【００４６】
図２は、先行技術における、クラスタ構造を組織化した別の状態の概略図である。
【００４７】
図１および図２に示されるように、クラスタシステム内のいずれのノードも、シードノードとして使用され得、クラスタシステム外のノードは、通常ノードである。クラスタ内またはクラスタ外のノードは、いずれかのシードノード（Ｓ＿Ａ、Ｓ＿Ｂ、Ｓ＿Ｃ、Ｓ＿Ｄ）および別の通常ノード（Ｏ＿Ａ、Ｏ＿Ｂ、Ｏ＿Ｃ、Ｏ＿Ｄ、Ｏ＿Ｅ、Ｏ＿Ｆ）を近隣ノードとして選択することがあり、異なる瞬間には、異なる近隣ノードを選択することがある。
【００４８】
例えば、図１に示されるように、第１の瞬間において、ノードＯ＿Ｆは、ノードＯ＿Ｆの近隣ノードとして、ノードＳ＿ＢおよびノードＯ＿Ｄを選択し、ノードＯ＿Ｄは、ノードＯ＿Ｄの近隣ノードとして、ノードＳ＿ＣおよびノードＯ＿Ａを選択する。ノード間で確立される近隣関係は、単方向であり、独立した近隣関係である。例えば、ノードＯ＿Ｄは、ノードＯ＿Ｆの近隣ノードである。したがって、ノードＯ＿Ｆは、ノードＯ＿Ｆによって保有される情報を、ノードＯ＿Ｄと共有することがある。しかしながら、ノードＯ＿Ｆは、ノードＯ＿Ｄの近隣ノードではない。したがって、ノードＯ＿Ｄは、ノードＯ＿Ｄによって保有される情報を、ノードＯ＿Ｆと共有しない。単方向近隣関係がノード間で確立されることが理解できる。
【００４９】
図２に示されるように、第２の瞬間において、ノードＯ＿Ｆは、ノードＯ＿Ｆの近隣ノードとして、ノードＳ＿ＤおよびノードＯ＿Ｄを選択し、ノードＯ＿Ｄは、ノードＯ＿Ｄの近隣ノードとして、ノードＳ＿ＣおよびノードＯ＿Ａを選択する。第２の瞬間においてノードＯ＿ＦおよびノードＯ＿Ｄによって選択された近隣ノードは、第１の瞬間においてノードＯ＿ＦおよびノードＯ＿Ｄによって選択された近隣ノードとは異なること、すなわち、単一ノード間の近隣関係は、異なる瞬間には異なることが理解できる。
【００５０】
クラスタシステム構造を組織化するための既存の方法には、以下の問題が存在することが理解できる。
【００５１】
（１）ランダムな近隣関係：クラスタ内のノードは、そのノードの近隣ノードとして、１または複数のノードをランダムに選択し、近隣関係は、異なる瞬間には異なる。
【００５２】
（２）単方向の近隣関係：近隣ノードのランダムな選択は、単方向のノード情報同期を引き起こす。
【００５３】
クラスタシステムでは、クラスタ内のノードは、ランダムかつ単方向の近隣関係を有する。したがって、クラスタのトポロジ構造は、相対的に不安定であり、ノード情報送信スピードは、相対的に低く、クラスタ内のノードは、クラスタ内の別のノードの状態を高速診断または検出し得ず、それが、クラスタの高いアベイラビリティに大きく影響する。
【００５４】
クラスタシステム構造が組織化される場合に引き起こされる、先行技術において存在する問題を解決するために、本発明の実施形態は、クラスタシステム自己組織化方法を提供する。この方法では、（図１および図２の通常ノードに対応する）外部ノードは、シードノードとして、クラスタシステム内のいずれかのノードをランダムに選択し、選択されたノードと双方向近隣関係を確立することがある。双方向近隣関係は、ノード間における情報の双方向同期のことを指す。例えば、ノードＡは、ノードＡの近隣ノードとして、ノードＢを選択し、ノードＢも、ノードＢの近隣ノードとして、ノードＡを選択する。クラスタシステムにおけるこの組織化構造は、クラスタシステムのトポロジ構造の安定性を容易にし、クラスタシステムにおけるノード情報の高速拡散を容易にする。特に、クラスタシステム内のいずれかのノードが、故障している場合、組織化構造は、クラスタシステムの高いアベイラビリティを維持するために、故障ノードの高速診断をサポートする。
【００５５】
本発明のこの実施形態では、すべてのノードによって実行される方法のルールの一貫性を維持するために、同じエージェントが、クラスタシステム内のすべてのノード上に配備されることがある。
【００５６】
図３は、本発明の実施形態による、クラスタシステム自己組織化方法のフローチャートである。この方法は、クラスタシステム内のいずれかのノードによって実行され、以下のステップを含む。
【００５７】
ステップＳ１１：クラスタシステム内のノードＡは、クラスタシステムに加入することを要求するための外部ノードによって送信された要求メッセージを受信する。
【００５８】
この実施形態では、クラスタシステムは、少なくとも２つのノードを含み、ノードＡは、クラスタシステム内の１つのノードであり、ノードＡとクラスタシステム内の少なくとも１つの別のノードとは、双方向近隣関係を相互に有し、双方向近隣関係を有する２つのノードは、情報を相互に送信する。
【００５９】
新しいノード（対応する外部ノード）が、クラスタシステムに加入する場合、外部ノードは、結合されるノードとして、クラスタシステム内のいずれかのノードを選択し、選択されたノードに要求メッセージを送信する。
【００６０】
ステップＳ１２：ノードＡは、ノードＡに関する、クラスタシステム内に割り当てられた空間面積の、ノードＡの各双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たすかどうかを、別々に決定する。
【００６１】
クラスタシステムが、ただ１つのノードを含む場合、２次元座標系が、その１つのノードを原点として使用することによって確立され、２次元座標において、クラスタ面積が、クラスタシステムに割り当てられ、クラスタ面積全部が、その１つのノードに割り当てられ、少なくとも１つの外部ノードが、クラスタシステムに加入した場合、クラスタ面積のうちのその１つのノードによって占有される空間面積が、削減され、クラスタ面積のうちの空間面積が、少なくとも１つの加入した外部ノードにそれぞれ割り当てられる。
【００６２】
図７は、すべてのノードがクラスタシステムに加入した場合に獲得される結果の概略図である。図７に示されるように、クラスタシステムが、ノードＡだけを含む場合、２次元座標系Ｏ−ｘｙが、ノードＡを原点として使用することによって確立され、２次元座標系Ｏ−ｘｙにおいて、クラスタ面積が、クラスタシステムに割り当てられ、ここで、クラスタ面積は、恣意的に設定される仮想面積であり、クラスタシステム内のすべてのノード空間の間の空間アーキテクチャまたは空間レイアウトを表すために使用される。図７の第１行の第１の下位図に示されるように、クラスタ面積を決定するための４つの座標点は、（０，０）、（０，４）、（４，０）、および（４，４）であり、クラスタ面積は、１６である。クラスタシステムが、ノードＡだけを含む場合、クラスタ面積全部が、ノードＡに割り当てられる。
【００６３】
外部ノードが、ノードＡを使用することによって、クラスタシステムに加入した場合、ノードＡは、ノードＡに割り当てられた空間面積の一部を、外部ノードに割り当てる。図７に示されるように、ノードＢが、ノードＡを使用することによって、クラスタシステムに加入した後、ノードＡは、ノードＡに割り当てられた空間面積の一部を、ノードＢに割り当て、ここで、ノードＡによってノードＢに割り当てられる空間面積の比例関係は、実際の応用シナリオに従って設定されることがあり、例えば、ノードＡに割り当てられた空間面積の１／２、１／３、．．．、または１／ｎが、新たに加入した外部ノードに割り当てられる。
【００６４】
図７に示されるように、外部ノードＣが、やはりノードＡを使用することによって、クラスタシステムに加入した場合、ノードＡは、ノードＡに割り当てられた空間面積を近隣ノードＢに割り当てられた空間面積と比較する。２つのノードの間の比が、事前設定された関係を満たす場合、ノードＡは、ノードＡを使用することによって、クラスタシステムに加入することを、ノードＣに許可し、ノードＡに現在割り当てられている空間面積の一部を、ノードＣに割り当てる。この実施形態では、ノードＡおよび近隣ノードに割り当てられた空間面積の間の比が、事前設定された関係を満たすかどうかは、その都度、ノードＡによって外部ノードに割り当てられる空間面積に従って決定されることがある。一般的な原則は、外部ノードがクラスタシステムに加入した後、クラスタシステムにおけるネットワーク構造の安定性を保証するために、ノードＡに割り当てられた空間が、ノードＡの近隣ノードに割り当てられた空間面積よりも過度に小さくないことが保証されるというものである。
【００６５】
例えば、図７では、ノードＡは、ノードＡに割り当てられた空間面積の１／２を、ノードＢに割り当てる。ノードＣが、クラスタシステムに加入する場合、ノードＡは、再び、ノードＡに割り当てられた残りの空間面積の１／２を、ノードＣに割り当てる。ノードＤが、クラスタシステムに加入する場合、ノードＡが、再び、ノードＡに割り当てられた残りの空間面積の１／２を、ノードＤに割り当てるならば、ノードＡに割り当てられる空間面積は、ノードＢに割り当てられた空間面積よりも過度に小さくなる。この場合、ノードＤは、ノードＢを使用することによって、クラスタシステムに加入する。
【００６６】
図７では、その都度、領域の１／２が割り当てられる例が、説明のために使用される。実際の応用では、ノードＡは、その都度、ノードＡに割り当てられた空間面積の１／２、１／３、．．．、または１／ｎを割り当てることがある。本発明のこの実施形態では、実施例は、説明されていない。
【００６７】
この実施形態では、クラスタシステムに加入することを外部ノードに許可するかどうかを決定する場合、ノードＡは、ノードＡに関する、クラスタシステム内に割り当てられた空間面積の、ノードＡの双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たすかどうかを決定する。図７の第２行の第１の下位図に示されるように、ノードＦが、ノードＡを使用することによって、クラスタシステムに加入する場合、ノードＡは、ノードＡに割り当てられた空間面積の、ノードＡの双方向近隣ノード（すなわち、ノードＥおよびノードＣ）に割り当てられた空間面積に対する比が、事前設定された比関係を満たすかどうか、例えば、１：１または２：１が満たされるかどうかを、別々に決定する。事前設定された比関係によれば、ノードＡおよびノードＣに割り当てられた空間面積の間の比関係は、指定された比を満たさない。したがって、ノードＡは、ノードＡを使用することによって、クラスタシステムに加入することを、ノードＦに許可しない。クラスタシステムに加入するそのような方法では、すべてのノードに関する、クラスタシステム内に割り当てられた空間面積の間のバランスが、維持され、それは、クラスタシステムのトポロジ構造のバランスおよび安定性を維持するのに役立つ。
【００６８】
ステップＳ１３：事前設定された関係が満たされた場合、ノードＡは、外部ノードと双方向近隣関係を確立する。
【００６９】
クラスタシステムに加入することを、要求メッセージを送信した外部ノードに許可した場合、ノードＡは、ノードがクラスタシステム内に一様に分配されることを保証して、クラスタシステムにおけるノードの集中分配を回避するように、外部ノードと双方向近隣関係を確立する。さらに、ノードＡは、ノードＡに割り当てられた空間面積を、事前設定された関係に従って、加入した外部ノードにさらに割り当てる。
【００７０】
この実施形態では、クラスタシステム内のノードは、固定された双方向近隣関係を維持する。新しい外部ノードがクラスタシステムに加入する場合、外部ノードは、クラスタシステム内のいずれかのノードと双方向近隣関係を確立するが、それは、クラスタシステムのトポロジ構造の安定性を維持するために、クラスタシステムのトポロジ構造全体に影響することなく、クラスタシステムの局所的な近隣関係だけを変更する。加えて、ノード間の双方向近隣関係は、クラスタシステム全体におけるノード情報の高速拡散を容易にする。特に、クラスタ内のノードが故障している場合、ノード間の双方向近隣関係は、故障ノードの高速診断および検出を容易にする。したがって、本方法を使用することによって確立されるクラスタシステムは、相対的に高いアベイラビリティを維持し得る。
【００７１】
この実施形態のクラスタシステム自己組織化方法は、クラウドコンピューティングサーバクラスタシステムに適用されることがある。具体的には、少なくとも２つのサーバが、クラウドコンピューティングサーバクラスタシステム内に配備される。クラスタシステム内のいずれのサーバも、クラスタシステムにおけるデータ送信を実施するために、クラスタシステム内の別のサーバと近隣関係を確立する。
【００７２】
既存の方法では、クラウドコンピューティングサーバクラスタシステム内のいずれのサーバも、単方向近隣関係を確立するために、クラスタシステム内の少なくとも１つの別のサーバを選択し、すなわち、サーバが、サーバの近隣サーバとして、クラスタ内の少なくとも１つの別のサーバを選択した後、サーバは、サーバの近隣サーバに情報を送信することがあるが、サーバの近隣サーバは、近隣サーバについての情報をサーバに送信しない。加えて、サーバは、異なる瞬間に、近隣サーバを変更することがある。既存のクラウドコンピューティングサーバクラスタシステムでは、単方向近隣関係が、ノード間において確立され、サーバについての情報の送信は、単方向であり、それは、クラスタシステムにおけるサーバ情報の拡散に役立たないことが分かる。加えて、サーバは、異なる瞬間には、異なる近隣サーバを選択することがある。したがって、クラスタシステムのトポロジ構造は、不安定であり、それは、クラウドコンピューティングサーバクラスタシステムの高いアベイラビリティを維持するのに役立たない。
【００７３】
クラウドコンピューティングサーバクラスタシステムの高いアベイラビリティを維持するために、本方法では、クラウドコンピューティングサーバクラスタシステム内に配備されたサーバが、サーバの近隣サーバと双方向近隣関係を確立する。サーバ、例えば、サーバＡが、近隣サーバとして、クラスタ内の少なくとも１つのサーバを選択した後、サーバＡは、サーバＡの近隣サーバと双方向近隣関係を確立し、すなわち、サーバＡとサーバＡの双方向近隣サーバは、情報を相互に送信することがある。加えて、異なる瞬間において、サーバ間の双方向近隣関係は、変更されずに保たれる。
【００７４】
さらに、クラウドコンピューティングサーバクラスタシステム外の外部サーバが、クラスタ内のサーバの１つに加入要求メッセージを送信した場合、メッセージを受信したサーバは、サーバによって事前記憶された空間面積の、サーバの双方向近隣サーバの空間面積に対する比が、事前設定された関係を満たすかどうかに従って、クラスタシステムに加入することを、外部サーバに許可するかどうかを決定する。事前設定された関係が満たされた場合、サーバは、クラスタシステムに加入することを、外部サーバに許可し、または事前設定された関係が満たされない場合、サーバは、外部サーバが、別のサーバを使用することによって、クラウドコンピューティングサーバクラスタシステムに加入するように、クラスタシステム内の別のサーバについての情報を、外部サーバに送信する。クラウドコンピューティングサーバクラスタシステム内のすべてのサーバは、上述のノードの概念に一致する。クラウドコンピューティングサーバクラスタシステム内のすべてのサーバに空間面積を割り当てるための方法は、実施形態１である図７の方法と同じであり、詳細は、再びは説明されない。
【００７５】
本発明では、クラウドコンピューティングサーバクラスタシステム内のサーバは、固定された双方向近隣関係を維持することが理解できる。新しい外部サーバがクラスタシステムに加入する場合、外部サーバは、クラスタシステム内のいずれかのサーバと双方向近隣関係を確立するが、それは、クラスタシステムのトポロジ構造の安定性を維持するために、クラスタシステムのトポロジ構造全体に影響することなく、クラスタシステムの局所的な近隣関係だけを変更する。加えて、サーバ間の双方向近隣関係は、クラスタシステム全体におけるサーバ情報の高速拡散を容易にする。特に、クラスタ内のサーバが故障している場合、サーバ間の双方向近隣関係は、故障サーバの高速診断および検出を容易にする。したがって、本方法を使用することによって確立されるクラスタシステムは、相対的に高いアベイラビリティを維持し得る。
【００７６】
図４は、本発明の実施形態による、クラスタシステム自己組織化方法の別のフローチャートである。実施形態１に基づいて、本方法は、クラスタシステム内の双方向近隣関係情報に基づいた高速送信について、さらに詳細に説明する。この実施形態の方法は、クラスタシステム内のいずれかのノードによって実行され、以下のステップを含む。
【００７７】
ステップＳ２１：クラスタシステム内のノードＡは、クラスタシステムに加入することを要求するための外部ノードによって送信された要求メッセージを受信する。
【００７８】
クラスタシステムは、少なくとも２つのノードを含み、ノードＡは、クラスタシステム内の１つのノードであり、ノードＡとクラスタシステム内の少なくとも１つの別のノードとは、双方向近隣関係を相互に有し、双方向近隣関係を有する２つのノードは、情報を相互に送信する。加えて、クラスタシステム内の他のノード間の近隣関係も、双方向近隣関係である。
【００７９】
図５は、任意のノードがクラスタシステムに加入することを要求した場合に獲得される結果の概略図である。
【００８０】
図５に示されるように、ノードＢは、結合されるノードとして、クラスタシステム内のいずれかのノードをランダムに選択し、そのノードに、クラスタシステムに加入することを要求するための要求メッセージを送信し、ノードＡは、ノードＢによって送信された要求メッセージを受信する。
【００８１】
ステップＳ２２：ノードＡは、ノードＡに関する、クラスタシステム内に割り当てられた空間面積の、ノードＡの近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たすかどうかを、別々に決定し、事前設定された関係が満たされる場合、ステップＳ２３が実行され、または事前設定された関係が満たされない場合、ステップＳ２７が実行される。
【００８２】
この実施形態では、クラスタシステムに加入することを外部ノードに許可するかどうかを決定するために、ノードＡによって使用される方法は、実施形態１のものと同じであり、詳細は、再びは説明されない。
【００８３】
図５に示されるように、ノードＢによって送信された要求メッセージを受信した後、ノードＡは、ノードＡに関する、クラスタシステム内に割り当てられた空間面積の、双方向近隣ノードＣ、Ｅ、およびＮの空間面積に対する比が、事前設定された関係を満たすかどうかを、例えば、ｎの値が１、２、または３．．．などの整数であるとして、ｎ：１の関係が満たされるかどうかを決定する。事前設定された関係が満たされる場合、ノードＡは、クラスタシステムに加入することを、外部ノードＢに許可する。
【００８４】
ステップＳ２３：ノードＡは、外部ノードと双方向近隣関係を確立する。
【００８５】
図５に示されるように、ノードＡが、ノードＡに関する、クラスタシステム内に割り当てられた空間面積の、ノードＡの双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たすと決定した場合、ノードＡは、ノードＢと双方向近隣関係を確立する。
【００８６】
ステップＳ２４：ノードＡは、ノードＡと双方向近隣関係を相互に有するノードについての情報を、外部ノードに送信する。
【００８７】
ノードＡは、ノードＡと双方向近隣関係を確立しているノードについての情報を、外部ノードに送信し、外部ノードは、受信された情報に従って、クラスタシステム内のノードＡを除く別のノードと双方向近隣関係を確立する。好ましくは、外部ノードは、ノードＡの双方向近隣ノードと双方向近隣関係を確立する。
【００８８】
図５に示されるように、ノードＡが、クラスタシステムに加入することを、ノードＢに許可すると決定した後、ノードＡは、情報共有を実施するために、ノードＡの双方向近隣ノードＣ、Ｅ、およびＮについての情報を、ノードＢに送信する。
【００８９】
ステップＳ２５：ノードＡは、ノードＡが外部ノードと双方向近隣関係を確立した旨のメッセージを、外部ノードを除くノードＡと双方向近隣関係を有する別のノードに送信する。
【００９０】
この実施形態では、ノードＡが、外部ノードと双方向近隣関係を確立した後、ノードＡは、ノードＡが外部ノードと双方向近隣関係を確立した旨のメッセージを、外部ノードを除くノードＡと双方向近隣関係を有する別のノードに送信し、別のノードは、そのメッセージを、別のノードの双方向近隣ノードに送信することがあり、そうすることで、新しいノードがクラスタシステムに加入した旨のメッセージは、クラスタシステム全体に迅速に送信され得、それが、先行技術における、ノード間の単方向情報送信、および相対的に低い送信スピードという問題を克服する。
【００９１】
図５に示されるように、ノードＡが、ノードＢと双方向近隣関係を確立した後、ノードＡは、ノードＡがノードＢと双方向近隣関係を確立した旨の情報を、ノードＡの双方向近隣ノード、すなわち、ノードＣ、ノードＥ、およびノードＮに送信する。ノードＣ、ノードＥ、およびノードＮは、それぞれ、ノードＢがクラスタシステムに加入し、ノードＡと双方向近隣関係を確立した旨の情報を、ノードＣ、ノードＥ、およびノードＮの近隣ノードにさらに送信することがあり、その情報がシステム全体に送信されるまで、そうしたことが続けられる。
【００９２】
ステップＳ２６：ノードＡは、外部ノードが、クラスタシステム内のノードＡを除く別のノードと双方向近隣関係を確立した旨の通知メッセージを受信する。
【００９３】
ノードＡによって送信された、ノードＡが双方向近隣関係をすでに有することを示す情報を受信した後、外部ノードは、受信されたメッセージに従って、クラスタシステム内のノードＡを除く別のノードと双方向近隣関係を確立し、外部ノードが別のノードと近隣関係を確立した旨のメッセージを、ノードＡに通知する。ノードＡは、ノードＡの双方向近隣ノードを使用することによって、そのメッセージを、システム全体に送信することがある。
【００９４】
好ましくは、双方向接続が、外部ノードとノードＡの双方向近隣ノードとの間に確立された後、外部ノードは、外部ノードがノードＡの双方向近隣ノードと双方向近隣関係を確立した旨の情報を、ノードＡに通知する。
【００９５】
図６は、ノードＢがクラスタシステムに加入した後に獲得される概略構造図である。図６に示されるように、ノードＢが、ノードＡによって送信された、ノードＡの双方向近隣ノードについての情報を受信した後、ノードＢは、ノードＡのすべての双方向近隣ノードと双方向近隣関係を確立し、すなわち、ノードＢは、さらに、ノードＣ、ノードＥ、およびノードＮと双方向近隣関係を確立する。
【００９６】
加えて、ノードＢが、ノードＣ、ノードＥ、およびノードＮと双方向近隣関係を確立した後、ノードＢ、ノードＣ、ノードＥ、またはノードＮのうちの少なくとも１つが、その情報を、ノードＡおよびシステム内の別のノードに送信する。
【００９７】
ステップＳ２７：ノードＡは、クラスタシステム内のノードＡを除く少なくとも１つのノードについての情報を、外部ノードに送信し、その情報は、別のノードを使用することによって、クラスタシステムに加入するために、外部ノードによって使用される。
【００９８】
ノードＡが、クラスタシステムに加入することを、外部ノードに許可しないと決定した場合、ノードＡは、別のノードについての情報を、外部ノードに送信する。
【００９９】
具体的には、ノードＡが、クラスタシステム内のノードＡを除く少なくとも１つのノードについての情報を、外部ノードに送信することは、少なくとも１つのノードに関する、クラスタシステム内に割り当てられた空間面積の、少なくとも１つのノードの双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たす場合、ノードＡによって、クラスタシステム内のすべてのノードに関する、クラスタシステム内に割り当てられた空間面積に従って、少なくとも１つのノードについての情報を、外部ノードに送信することを含む。
【０１００】
この実施形態では、ノードＡを除く別のノードを使用することによって、クラスタシステムに加入するために、外部ノードによって使用される方法は、外部ノードが、ノードＡを使用することによって、クラスタシステムに加入する上述の方法と同じであり、詳細は、再びは説明されない。
【０１０１】
加えて、クラスタシステム内のノード間の双方向近隣関係が確立されるので、ノードＡは、外部ノードが、クラスタシステム内のノードＡを除く別のノードを使用することによって、クラスタシステムに加入した旨のメッセージを、ノードＡの相互的な近隣ノードであるノードを使用することによって、さらに獲得することがある。
【０１０２】
図５に示されるように、ノードＢが、ノードＧを使用することによって、クラスタシステムに加入した後、ノードＧは、ノードＥを使用することによって、ノードＢについての情報を、ノードＡに送信する。
【０１０３】
本発明のこの実施形態では、ノードＡは、別の新しいノードがクラスタシステムに加入した旨のメッセージを、ノードＡの相互的な近隣ノードであるノードを使用することによって、さらに獲得することがある。
【０１０４】
本発明のこの実施形態の方法では、新しいノードがクラスタシステムに加入した場合、クラスタシステムにおける局所的な関係変更を実施し、クラスタシステムの動的な無限拡大をサポートするために、局所的なノード間の近隣関係の変更に基づいて、クラスタ全体の近隣関係ネットワークが確立される。
【０１０５】
本発明のこの実施形態の方法では、ノードが故障している場合、またはクラスタから積極的に退出する場合、クラスタ全体のトポロジ構造の安定性を維持するために、局所的なノード間の近隣関係のみが変更される。
【０１０６】
本発明のこの実施形態の方法では、クラスタシステムにおける情報の高速拡散を容易にし、故障ノードの高速検出および診断をサポートするために、ノード間において、双方向近隣関係が確立される。
【０１０７】
図８は、本発明の実施形態による、クラスタシステム自己組織化方法のまた別のフローチャートである。この方法は、クラスタシステムに加入したい、クラスタシステム外にいるいずれかの外部ノードによって実行され、以下のステップを含む。
【０１０８】
ステップＳ３１：外部ノードは、クラスタシステムに加入することを要求するための要求メッセージを、クラスタシステム内のノードＡに送信する。
【０１０９】
クラスタシステムは、少なくとも２つのノードを含み、ノードＡは、クラスタシステム内の１つのノードであり、ノードＡとクラスタシステム内の少なくとも１つの別のノードとは、双方向近隣関係を相互に有し、双方向近隣関係を有する２つのノードは、情報を相互に送信する。
【０１１０】
ステップＳ３２：ノードＡが、クラスタシステムに加入することを、外部ノードに許可した場合、外部ノードは、ノードＡと双方向近隣関係を確立する。
【０１１１】
図９は、本発明の実施形態による、クラスタシステム自己組織化方法のさらに別のフローチャートである。この方法は、クラスタシステムに加入したい、クラスタシステム外にいるいずれかの外部ノードによって実行され、以下のステップを含む。
【０１１２】
ステップＳ４１：外部ノードは、クラスタシステムに加入することを要求するための要求メッセージを、クラスタシステム内のノードＡに送信する。
【０１１３】
クラスタシステムは、少なくとも２つのノードを含み、ノードＡは、クラスタシステム内の１つのノードであり、ノードＡとクラスタシステム内の少なくとも１つの別のノードとは、双方向近隣関係を相互に有し、双方向近隣関係を有する２つのノードは、情報を相互に送信する。
【０１１４】
ステップＳ４２：ノードＡが、クラスタシステムに加入することを、外部ノードに許可した場合、外部ノードは、ノードＡと双方向近隣関係を確立する。
【０１１５】
ステップＳ４３：外部ノードは、ノードＡによって送信された、ノードＡと双方向近隣関係を相互に有するノードについての情報を受信する。
【０１１６】
ステップＳ４４：外部ノードは、ノードＡと双方向近隣関係を相互に有するノードについての情報に従って、ノードＡの双方向近隣ノードと双方向近隣関係を確立する。
【０１１７】
ステップＳ４５：外部ノードは、外部ノードがノードＡの双方向近隣ノードと双方向近隣関係を確立した旨の情報を、ノードＡに送信する。
【０１１８】
ステップＳ４６：ノードＡが、クラスタシステムに加入することを、外部ノードに許可しない場合、外部ノードは、ノードＡによって送信された、クラスタシステム内のノードＡを除く少なくとも１つのノードについての情報を受信する。
【０１１９】
ステップＳ４７：外部ノードは、ノードＡを除く少なくとも１つのノードについての情報に従って、クラスタシステム内のノードＡを除くノードのうちの１つと双方向近隣関係を確立する。
【０１２０】
この実施形態では、外部ノードが、ノードＡによって送信された、クラスタシステム内のノードＡを除く少なくとも１つのノードについての情報を受信することは、少なくとも１つのノードに関する、クラスタシステム内に割り当てられた空間面積の、少なくとも１つのノードの各双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たす場合、外部ノードによって、ノードＡによって送信された、少なくとも１つのノードについての情報を受信するステップを含む。
【０１２１】
それに対応して、外部ノードが、ノードＡを除く少なくとも１つのノードについての情報に従って、クラスタシステム内のノードＡを除くノードのうちの１つと双方向近隣関係を確立することは、少なくとも１つのノードに関する、クラスタシステム内に割り当てられた空間面積の、少なくとも１つのノードの各双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たす場合、外部ノードによって、いずれかのノードと双方向近隣関係を確立するステップを含む。
【０１２２】
この実施形態では、外部ノードがノードＡを除く別のノードと双方向近隣関係を確立する方法は、ステップＳ４１からステップＳ４６で説明された方法と同じであり、詳細は、再びは説明されない。
【０１２３】
図１０は、本発明の実施形態による、クラスタシステム自己組織化装置の概略構造図である。装置は、クラスタシステム内のすべてのノード上に配備される。図１０に示されるように、装置は、受信モジュール５１と、決定モジュール５２と、近隣関係確立モジュール５３とを含む。
【０１２４】
受信モジュール５１は、クラスタシステムに加入することを要求するための外部ノードによって送信された要求メッセージを受信するように構成され、クラスタシステムは、少なくとも２つのノードを含み、ノードＡは、クラスタシステム内の１つのノードであり、ノードＡとクラスタシステム内の少なくとも１つの別のノードとは、双方向近隣関係を相互に有し、双方向近隣関係を有する２つのノードは、情報を相互に送信する。
【０１２５】
決定モジュール５２は、ノードＡに関する、クラスタシステム内に割り当てられた空間面積の、ノードＡの双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たすかどうかを、別々に決定するように構成され、クラスタシステムが、ただ１つのノードを含む場合、２次元座標系が、その１つのノードを原点として使用することによって確立され、２次元座標において、クラスタ面積が、クラスタシステムに割り当てられ、クラスタ面積全部が、その１つのノードに割り当てられ、少なくとも１つの外部ノードが、クラスタシステムに加入した場合、クラスタ面積のうちのその１つのノードによって占有される空間面積が、削減され、クラスタ面積のうちの空間面積が、少なくとも１つの加入した外部ノードにそれぞれ割り当てられる。
【０１２６】
近隣関係確立モジュール５３は、事前設定された関係が満たされた場合、ノードがクラスタシステム内に一様に分配されることを保証して、クラスタシステムにおけるノードの集中分配を回避するために、ノードＡと外部ノードとの間の双方向近隣関係を確立するように構成される。
【０１２７】
上述の実施形態では、クラスタシステム自己組織化装置は、ノードＡに関する、クラスタシステム内に割り当てられた空間面積の、ノードＡの少なくとも１つの双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たさない場合、外部ノードが、別のノードを使用することによって、クラスタシステムに加入するように、クラスタシステム内のノードＡを除く少なくとも１つのノードについての情報を、外部ノードに送信するように構成された第１の送信モジュールをさらに含む。
【０１２８】
上述の実施形態では、第１の送信モジュールは、
少なくとも１つのノードに関する、クラスタシステム内に割り当てられた空間面積の、少なくとも１つのノードの各双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たす場合、クラスタシステム内のすべてのノードに関する、クラスタシステム内に割り当てられた空間面積に従って、少なくとも１つのノードについての情報を、外部ノードに送信する
ように特に構成される。
【０１２９】
上述の実施形態では、受信モジュール５１は、
ノードＡの双方向近隣ノードを使用することによって、外部ノードが、クラスタシステム内のノードＡを除く別のノードを使用することによって、クラスタシステムに加入した旨のメッセージを獲得する
ようにさらに構成される。
【０１３０】
上述の実施形態では、クラスタシステム自己組織化装置は、ノードＡと双方向近隣関係を相互に有するノードについての情報を、外部ノードに送信するように構成された第２の送信モジュールであって、その情報は、外部ノードによって、クラスタシステム内のノードＡを除く別のノードと双方向近隣関係を確立するために使用される、第２の送信モジュールをさらに含む。
【０１３１】
上述の実施形態では、受信モジュール５１は、
外部ノードがクラスタシステム内のノードＡを除く別のノードと双方向近隣関係を確立した旨の通知メッセージを受信する
ようにさらに構成される。
【０１３２】
上述の実施形態では、受信モジュール５１は、
外部ノードがノードＡの双方向近隣ノードと双方向近隣関係を確立した旨の通知メッセージを受信する
ように特に構成される。
【０１３３】
上述の実施形態では、受信モジュール５１は、
外部ノードおよび／またはノードＡの別の双方向近隣ノードを使用することによって、通知メッセージを受信する
ように特に構成される。
【０１３４】
上述の実施形態では、クラスタシステム自己組織化装置は、外部ノードがクラスタシステムに加入した旨のメッセージが、ノードＡの双方向近隣ノードを使用することによって、クラスタシステム全体において共有されるように、ノードＡが外部ノードと双方向近隣関係を確立した旨のメッセージを、外部ノードを除くノードＡの別の双方向近隣ノードに送信するように構成された第３の送信モジュールをさらに含む。
【０１３５】
上述の実施形態では、受信モジュール５１は、
ノードＡの双方向近隣ノードを使用することによって、別の新しいノードがクラスタシステムに加入した旨のメッセージを獲得する
ようにさらに構成される。
【０１３６】
図１１は、本発明の実施形態による、クラスタシステム自己組織化装置の別の概略構造図である。装置は、外部ノード上に配備され、送信モジュール６１と、近隣関係確立モジュール６２とを含む。
【０１３７】
送信モジュール６１は、クラスタシステムに加入することを要求するための要求メッセージを、クラスタシステム内のノードＡに送信するように構成され、クラスタシステムは、少なくとも２つのノードを含み、ノードＡは、クラスタシステム内の１つのノードであり、ノードＡとクラスタシステム内の少なくとも１つの別のノードとは、双方向近隣関係を相互に有し、双方向近隣関係を有する２つのノードは、情報を相互に送信する。
【０１３８】
近隣関係確立モジュール６２は、ノードＡが、クラスタシステムに加入することを、外部ノードに許可した場合、外部ノードとノードＡとの間の双方向近隣関係を確立するように構成される。
【０１３９】
上述の実施形態では、クラスタシステム自己組織化装置は、ノードＡが、クラスタシステムに加入することを、外部ノードに許可しない場合、ノードＡによって送信された、クラスタシステム内のノードＡを除く少なくとも１つのノードについての情報を受信するように構成された第１の受信モジュールをさらに含む。
【０１４０】
それに対応して、近隣関係確立モジュール６２は、ノードＡを除く少なくとも１つのノードについての情報に従って、外部ノードとクラスタシステム内のノードＡを除くノードのうちの１つとの間の双方向近隣関係を確立するように特に構成される。
【０１４１】
上述の実施形態では、第１の受信モジュールは、
少なくとも１つのノードに関する、クラスタシステム内に割り当てられた空間面積の、少なくとも１つのノードの各双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たす場合、ノードＡによって送信された、少なくとも１つのノードについての情報を受信する
ように特に構成される。
【０１４２】
それに対応して、近隣関係確立モジュール６２は、
少なくとも１つのノードに関する、クラスタシステム内に割り当てられた空間面積の、少なくとも１つのノードの各双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たす場合、外部ノードと少なくとも１つのノードのうちのいずれか１つとの間の双方向近隣関係を確立する
ように特に構成される。
【０１４３】
上述の実施形態では、クラスタシステム自己組織化装置は、ノードＡが、クラスタシステムに加入することを、外部ノードに許可した場合、ノードＡによって送信された、ノードＡと双方向近隣関係を相互に有するノードについての情報を受信するように構成された第２の受信モジュールをさらに含む。
【０１４４】
それに対応して、近隣関係確立モジュール６２は、
ノードＡと双方向近隣関係を相互に有するノードについての情報に従って、外部ノードとノードＡの双方向近隣ノードとの間の双方向近隣関係を確立する
ように特に構成される。
【０１４５】
上述の実施形態では、送信モジュール６１は、
外部ノードがノードＡの双方向近隣ノードと双方向近隣関係を確立した旨の情報を、ノードＡに送信する
ようにさらに構成される。
【０１４６】
図１２は、本発明の実施形態による、ノードデバイスの概略構造図である。ノードデバイスは、クラスタシステム内のノード上に配備されるように構成される。ノードデバイス１２００は、通信インターフェース１２０１と、メモリ１２０３と、プロセッサ１２０２とを含み、通信インターフェース１２０１、プロセッサ１２０２、およびメモリ１２０３は、バス１２０４を使用することによって相互に接続される。バス１２０４は、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（周辺コンポーネント相互接続、略称、ＰＣＩ）バス、またはＥｘｔｅｎｄｅｄ  Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ（拡張業界標準アーキテクチャ、略称、ＥＩＳＡ）バスなどであり得る。バスは、アドレスバス、データバス、および制御バスなどに分類されることがある。表示の便宜上、バスは、図１２では、ただ１つの太線を使用することによって表されるが、しかしながら、それは、ただ１つのバスまたはただ１つのタイプのバスしか存在しないことを示していない。
【０１４７】
通信インターフェース１２０１は、送信エンドと通信するように構成される。メモリ１２０３は、プログラムを記憶するように構成される。具体的には、プログラムは、プログラムコードを含むことがあり、プログラムコードは、コンピュータ操作命令を含む。メモリ１２０３は、ランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、略称、ＲＡＭ）を含むことがあり、または不揮発性メモリ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）、例えば、少なくとも１つの磁気ディスク記憶装置を含むことがある。
【０１４８】
プロセッサ１２０２は、本発明の上述の方法の実施形態の方法を実施するために、１２０３内に記憶されたプログラムを実行する。
【０１４９】
通信インターフェース１２０１は、クラスタシステムに加入することを要求するための外部ノードによって送信された要求メッセージを受信するように構成され、クラスタシステムは、少なくとも２つのノードを含み、要求メッセージを受信するノードは、ノードＡであり、ノードＡは、クラスタシステム内の１つのノードであり、ノードＡとクラスタシステム内の少なくとも１つの別のノードとは、双方向近隣関係を相互に有し、双方向近隣関係を有する２つのノードは、情報を相互に送信する。
【０１５０】
プロセッサ１２０２は、ノードＡに関する、クラスタシステム内に割り当てられた空間面積の、ノードＡの双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たすかどうかを、別々に決定するように構成され、クラスタシステムが、ただ１つのノードを含む場合、２次元座標系が、その１つのノードを原点として使用することによって確立され、２次元座標において、クラスタ面積が、クラスタシステムに割り当てられ、クラスタ面積全部が、その１つのノードに割り当てられ、少なくとも１つの外部ノードが、クラスタシステムに加入した場合、クラスタ面積のうちのその１つのノードによって占有される空間面積が、削減され、クラスタ面積のうちの空間面積が、少なくとも１つの加入した外部ノードにそれぞれ割り当てられ、またプロセッサ１２０２は、事前設定された関係が満たされた場合、ノードがクラスタシステム内に一様に分配されることを保証して、クラスタシステムにおけるノードの集中分配を回避するために、ノードＡと外部ノードとの間の双方向近隣関係を確立するように構成される。
【０１５１】
上述のプロセッサ１２０２は、中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、略称、ＣＰＵ）、およびネットワークプロセッサ（Ｎｅｔｗｏｒｋ  Ｐｒｏｃｅｓｓｏｒ、略称、ＮＰ）などを含む、汎用プロセッサであり得、またはデジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、もしくは別のプログラム可能論理デバイス、個別ゲートもしくはトランジスタ論理デバイス、もしくは個別ハードウェアコンポーネントであり得る。
【０１５２】
図１３は、本発明の実施形態による、ノードデバイスの概略構造図である。ノードデバイスは、クラスタシステム外のノード上に配備されるように構成される。ノードデバイス１３００は、通信インターフェース１３０１と、メモリ１３０３と、プロセッサ１３０２とを含み、通信インターフェース１３０１、プロセッサ１３０２、およびメモリ１３０３は、バス１３０４を使用することによって相互に接続される。バス１３０４は、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（周辺コンポーネント相互接続、略称、ＰＣＩ）バス、またはＥｘｔｅｎｄｅｄ  Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ（拡張業界標準アーキテクチャ、略称、ＥＩＳＡ）バスなどであり得る。バスは、アドレスバス、データバス、および制御バスなどに分類されることがある。表示の便宜上、バスは、図１３では、ただ１つの太線を使用することによって表されるが、しかしながら、それは、ただ１つのバスまたはただ１つのタイプのバスしか存在しないことを示していない。
【０１５３】
通信インターフェース１３０１は、送信エンドと通信するように構成される。メモリ１３０３は、プログラムを記憶するように構成される。具体的には、プログラムは、プログラムコードを含むことがあり、プログラムコードは、コンピュータ操作命令を含む。メモリ１３０３は、ランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、略称、ＲＡＭ）を含むことがあり、または不揮発性メモリ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）、例えば、少なくとも１つの磁気ディスク記憶装置をさらに含むことがある。
【０１５４】
プロセッサ１３０２は、本発明の上述の方法の実施形態の方法を実施するために、１３０３内に記憶されたプログラムを実行する。
【０１５５】
通信インターフェース１３０１は、クラスタシステムに加入することを要求するための要求メッセージを、クラスタシステム内のノードＡに送信するように構成され、クラスタシステムは、少なくとも２つのノードを含み、ノードＡは、クラスタシステム内の１つのノードであり、ノードＡとクラスタシステム内の少なくとも１つの別のノードとは、双方向近隣関係を相互に有し、双方向近隣関係を有する２つのノードは、情報を相互に送信し、
また通信インターフェース１３０１は、ノードＡが、クラスタシステムに加入することを、外部ノードに許可した場合、ノードＡと双方向近隣関係を確立するように構成される。
【０１５６】
上述のプロセッサ１３０２は、中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、略称、ＣＰＵ）、およびネットワークプロセッサ（Ｎｅｔｗｏｒｋ  Ｐｒｏｃｅｓｓｏｒ、略称、ＮＰ）などを含む、汎用プロセッサであり得、またはデジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、もしくは別のプログラム可能論理デバイス、個別ゲートもしくはトランジスタ論理デバイス、もしくは個別ハードウェアコンポーネントであり得る。
【０１５７】
図１４は、クラスタシステムの概略構造図である。図１４に示されるように、クラスタシステムは、少なくとも２つのホストを含み、図１２に示されるノードデバイスが、エージェントデバイスとして、各ホスト上に配備される。
【０１５８】
クラスタシステム内のホストは、エージェントデバイスを使用することによって、そのホストを除く少なくとも１つの別のホストと双方向近隣関係を確立し、双方向近隣関係を有する２つのホストは、エージェントデバイスを使用することによって、情報を相互に送信する。
【０１５９】
クラスタシステム内のいずれかのホストは、エージェントデバイスを使用することによって、クラスタシステムに加入することを要求するための外部ホストによって送信された要求メッセージをさらに受信する。図１３に示されるノードデバイスは、外部ホスト上に配備される。
【０１６０】
要求メッセージを受信したホストは、ホストのエージェントデバイスを使用することによって、そのホストに関する、クラスタシステム内に割り当てられた空間面積の、そのホストの双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たすかどうかを、別々に決定し、クラスタシステムが、ただ１つのノードを含む場合、２次元座標系が、その１つのノードを原点として使用することによって確立され、２次元座標において、クラスタ面積が、クラスタシステムに割り当てられ、クラスタ面積全部が、その１つのノードに割り当てられ、少なくとも１つの外部ノードが、クラスタシステムに加入した場合、クラスタ面積のうちのその１つのノードによって占有される空間面積が、削減され、クラスタ面積のうちの空間面積が、少なくとも１つの加入した外部ノードにそれぞれ割り当てられ、また要求メッセージを受信したホストは、事前設定された関係が満たされた場合、ノードがクラスタシステム内に一様に分配されることを保証して、クラスタシステムにおけるノードの集中分配を回避するために、エージェントデバイスを使用することによって、外部ホストと双方向近隣関係を確立する。
【０１６１】
図１５は、本発明の実施形態による、クラスタシステムの別の概略構造図である。図１５に示されるように、クラスタシステムは、複数のノードデバイスを含み、いずれのノードデバイスも、クラスタシステム内の別のノードデバイスと双方向近隣関係を確立する。各ノードがクラスタに加入した後、クラスタシステムは、ノードにノード番号を割り当て、クラスタシステム内に割り当てられる空間面積を新たに加入したノードに割り当てる。図１５に示されるように、ノード３１８（１０２４）は、ノード番号が３１８であり、クラスタシステムによってノード３１８に割り当てられた空間面積が、１０２４であることを示す。ノード３１８が、クラスタシステムに加入することを要求するための外部ノードによって送信された要求メッセージを受信した後、ノード３１８は、ノード３１８に関する、クラスタシステム内に割り当てられた空間面積の、ノード３１８の双方向近隣ノードに関する、クラスタシステム内に割り当てられた空間面積に対する比が、事前設定された関係を満たすかどうかを決定し、すなわち、ノード３１８は、ノード３１８に割り当てられた空間面積の、近隣ノード２１２、３１５、５０９、２１６、５１３に割り当てられた空間面積に対する比が、事前設定された関係を満たすかどうかを、例えば、１：１または２：１の関係が満たされるかどうかを決定する。ノード３１８（１０２４）に関する空間面積の、ノード５０９（２０４８）に関する空間面積に対する比は、指定された比例関係を満たさないので、ノード３１８は、クラスタシステムに加入することを、外部ノードに許可しない。この場合、ノード３１８は、外部ノードが加入要求メッセージをノード５０９に送信するように、ノード５０９についての情報を、外部ノードに送信することがある。クラスタシステムに加入することを要求するための外部ノードによって送信された要求メッセージを受信した後、ノード５０９は、ノード５０９に割り当てられた空間面積の、双方向近隣ノードに割り当てられた空間面積に対する比が、事前設定された比例関係を満たすと決定する。したがって、ノード５０９は、外部ノードと双方向近隣関係を確立する。外部ノードがクラスタシステムに加入した後、ノード５０９は、ノード５０９の空間面積の半分を新たに加入した外部ノードに割り当て、新たに加入した外部ノードも、外部ノードの番号と、ノード５０９によって割り当てられた面積とを記憶する。
【０１６２】
本発明のこの実施形態では、仮想空間面積が、クラスタシステム内のすべてのノードに割り当てられる。仮想空間面積に従って、クラスタシステム内のすべてのノードの分配状態が、反映され、ノードがクラスタシステム内に一様に分配されることを保証して、クラスタシステムにおけるノードの集中分配を回避するために、外部ノードがクラスタシステムに加入するかどうかは、ノードに割り当てられた空間面積に従って決定される。
【０１６３】
さらに、図１５に示されるクラスタシステム内のすべてのノードは、すべてのノードの近隣ノードと双方向近隣関係を確立する。各ノードは、各ノードの近隣ノードの現状態を維持および検出する。ノードの１つが故障している場合、クラスタシステム内における故障ノードの高速検出を実施するために、故障ノードの近隣ノードは、故障検出結果を同期させ、同時に、故障ノードの近隣関係を引き継ぐ。
【０１６４】
この実施形態のクラスタシステムは、特に、クラウドコンピューティングサーバクラスタシステムに適用されることがある。具体的には、少なくとも２つのサーバが、クラウドコンピューティングサーバクラスタシステム内に配備される。クラスタシステム内のいずれのサーバも、クラスタシステムにおけるデータ送信を実施するために、クラスタシステム内の別のサーバと近隣関係を確立する。
【０１６５】
既存の方法では、クラウドコンピューティングサーバクラスタシステム内のいずれのサーバも、単方向近隣関係を確立するために、クラスタシステム内の少なくとも１つの別のサーバを選択し、すなわち、サーバが、サーバの近隣サーバとして、クラスタシステム内の少なくとも１つの別のサーバを選択した後、サーバは、サーバの近隣サーバに情報を送信することがあるが、サーバの近隣サーバは、近隣サーバについての情報をサーバに送信しない。加えて、サーバは、異なる瞬間には、近隣サーバを変更することがある。既存のクラウドコンピューティングサーバクラスタシステムでは、単方向近隣関係が、ノード間において確立され、サーバについての情報の送信は、単方向であり、それは、クラスタシステムにおけるサーバ情報の拡散に役立たないことが理解できる。加えて、サーバは、異なる瞬間には、異なる近隣サーバを選択することがある。したがって、クラスタシステムのトポロジ構造は、不安定であり、それは、クラウドコンピューティングサーバクラスタシステムの高いアベイラビリティを維持するのに役立たない。
【０１６６】
クラウドコンピューティングサーバクラスタシステムの高いアベイラビリティを維持するために、本方法では、クラウドコンピューティングサーバクラスタシステム内に配備されたサーバが、サーバの近隣サーバと双方向近隣関係を確立する。サーバ、例えば、サーバＡが、近隣サーバとして、クラスタ内の少なくとも１つのサーバを選択した後、サーバＡは、サーバＡの近隣サーバと双方向近隣関係を確立し、すなわち、サーバＡとサーバＡの双方向近隣サーバは、情報を相互に送信することがある。加えて、異なる瞬間において、サーバ間の双方向近隣関係は、変更されずに保たれる。
【０１６７】
さらに、クラウドコンピューティングサーバクラスタシステム外の外部サーバが、クラスタ内のサーバの１つに加入要求メッセージを送信した場合、メッセージを受信したサーバは、サーバによって事前記憶された空間面積の、サーバの双方向近隣サーバの空間面積に対する比が、事前設定された関係を満たすかどうかに従って、クラスタシステムに加入することを、外部サーバに許可するかどうかを決定する。事前設定された関係が満たされた場合、サーバは、クラスタシステムに加入することを、外部サーバに許可し、または事前設定された関係が満たされない場合、サーバは、外部サーバが、別のサーバを使用することによって、クラウドコンピューティングサーバクラスタシステムに加入するように、クラスタシステム内の別のサーバについての情報を、外部サーバに送信する。クラウドコンピューティングサーバクラスタシステム内のすべてのサーバの概念は、上述のノードの概念に一致する。クラウドコンピューティングサーバクラスタシステム内のすべてのサーバに空間面積を割り当てるための方法は、図７の方法と同じであり、詳細は、再びは説明されない。
【０１６８】
本発明では、クラウドコンピューティングサーバクラスタシステム内のサーバは、固定された双方向近隣関係を維持することが理解できる。新しい外部サーバがクラスタシステムに加入する場合、外部サーバは、クラスタシステム内のいずれかのサーバと双方向近隣関係を確立するが、それは、クラスタシステムのトポロジ構造の安定性を維持するために、クラスタシステムのトポロジ構造全体に影響することなく、クラスタシステムの局所的な近隣関係だけを変更する。加えて、サーバ間の双方向近隣関係は、クラスタシステム全体におけるサーバ情報の高速拡散を容易にする。特に、クラスタ内のサーバが故障している場合、サーバ間の双方向近隣関係は、故障サーバの高速診断および検出を容易にする。したがって、本方法を使用することによって確立されるクラスタシステムは、相対的に高いアベイラビリティを維持し得る。
【０１６９】
当業者は、方法の実施形態のステップのすべてまたはいくつかが、関連ハードウェアに命令するプログラムによって実施されることがあることを理解することがある。プログラムは、コンピュータ可読記憶媒体内に記憶されることがある。プログラムが実行されるとき、方法の実施形態のステップが、実行される。上述の記憶媒体は、ＲＯＭ、ＲＡＭ、磁気ディスク、または光ディスクなど、プログラムコードを記憶し得る任意の媒体を含む。
【０１７０】
最後に、上述の実施形態は、本発明の技術的解決策を説明するために意図されたにすぎず、本発明を限定するためには意図されていないことが留意されるべきである。本発明は、上述の実施形態を参照して、詳細に説明されたが、当業者は、彼らが、それでも、本発明の実施形態の技術的解決策の範囲から逸脱することなく、上述の実施形態において説明された技術的解決策に変更を施すことがあり、またはそれのいくつかもしくはすべての技術的特徴に等価な置換を施すことがあることを理解するべきである。
【図１】
0006353025.tif 000002
【図２】
0006353025.tif 000003
【図３】
0006353025.tif 000004
【図４】
0006353025.tif 000005
【図５】
0006353025.tif 000006
【図６】
0006353025.tif 000007
【図７】
0006353025.tif 000008
【図８】
0006353025.tif 000009
【図９】
0006353025.tif 000010
【図１０】
0006353025.tif 000011
【図１１】
0006353025.tif 000012
【図１２】
0006353025.tif 000013
【図１３】
0006353025.tif 000014
【図１４】
0006353025.tif 000015
【図１５】
0006353025.tif 000016