(57)【要約】  管理ノード（Ｎ１）のノード選択部（ｍ４１）は、オーバーレイネットワークのノード（Ｎ２〜Ｎ４）から、ノードの属する管理範囲、データ容量、および運用時間を指標として管理ノードのバックアップノードを選択する。データ複製部（ｍ４２）は、バックアップノードに管理情報を複製し、切り替え処理部（ｍ４３）は、管理ノードが停止した場合にバックアップノードを管理ノードに切り替える。このため、ネットワークシステムの管理における負荷を分散し、スケーラビリティおよび信頼性を向上することができる。
2012101785.tif 000002
【特許請求の範囲】
【請求項１】
管理対象のネットワークに対して予め定められたルールによって構築されたネットワークのノードから、ノードの属する管理範囲、データ容量、および運用時間のうち少なくともいずれかを含む複数の指標に基づいて管理ノードのバックアップノードを選択するノード選択部と、
前記バックアップノードに管理情報を複製する複製部と、
前記管理ノードが停止した場合に前記バックアップノードを管理ノードに切り替える切り替え処理部と、
を備えたことを特徴とする管理装置。
【請求項２】
前記ノード選択部は、前記運用時間が閾値を満たすノードが存在しない場合に、運用時間が他のノードよりも長いノードを複数前記バックアップノードとして選択することを特徴とする請求項１に記載の管理装置。
【請求項３】
前記切り替え処理部によってバックアップノードから管理ノードに切り替えられたノードは、切り替えから所定時間内に元の管理ノードが復帰した場合には元の管理ノードを管理ノードに戻し、所定時間経過後は元の管理ノードの復帰の有無に関わらず管理ノードとして動作することを特徴とする請求項１に記載の管理装置。
【請求項４】
前記切り替え処理部によってバックアップノードから管理ノードに切り替えられたノードは、自ノードのバックアップノードを選択することを特徴とする請求項２に記載の管理装置。
【請求項５】
管理対象のネットワークに対して予め定められたルールによって構築されたネットワークのノードから、ノードの属する管理範囲、データ容量、および運用時間のうち少なくともいずれかを含む複数の指標に基づいて管理ノードのバックアップノードを選択するステップと、
前記バックアップノードに管理情報を複製するステップと、
前記管理ノードが停止した場合に前記バックアップノードを管理ノードに切り替えるステップと、
を含んだことを特徴とする管理方法。
【請求項６】
管理対象のネットワークに対して予め定められたルールによって構築されたネットワークのノードから、ノードの属する管理範囲、データ容量、および運用時間のうち少なくともいずれかを含む複数の指標に基づいて管理ノードのバックアップノードを選択する手順と、
前記バックアップノードに管理情報を複製する手順と、
前記管理ノードが停止した場合に前記バックアップノードを管理ノードに切り替える手順と、
をコンピュータに実行させることを特徴とする管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理装置、管理方法および管理プログラムに関する。
【背景技術】
【０００２】
従来、大規模なネットワークシステムを管理するには、運用管理用の装置である運用管理マネージャを階層化する技術が用いられてきた。このような大規模システム環境の管理の一例としては、大規模データセンタ等の分散コンピュータシステムの運用管理がある。【０００３】
また、ネットワークの管理技術としては、ネットワーク上に他のネットワークを構築するオーバーレイネットワークを用い、ネットワーク障害に関する情報に基づいてルーティングテーブルを作成、変更する技術が知られている。【０００４】
また、複数の端末から構成されるネットワーク上で、マスターと呼ぶ役割を端末に設けてイベントの順序を保証する方法があり、マスターの役割をもつ端末の異常を検出したとき、イベント受付順で一意に決まるマスター候補リストの最上位にリストされた端末がマスターの役割を引き継ぐ異常復旧方法も知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２７５５３９号公報
【特許文献２】特開２００８−３１１７１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
運用管理マネージャを階層化して大規模データセンタ等のネットワークを運用管理する場合には、マネージャへの負荷集中によって処理が遅延する場合がある。この負荷集中に備えるため、高性能サーバを用いるとコストが増大する。また、マネージャを階層化する構成では、マネージャがＳＰＯＦ（Single  Point  of  Failure）となり、耐障害性が低下する。【０００７】
開示の技術は、上記に鑑みてなされたものであって、ネットワークシステムの管理における負荷分散、スケーラビリティおよび信頼性の向上を目的とする。
【課題を解決するための手段】
【０００８】
本願の開示する管理装置、管理方法および管理プログラムは、管理対象のネットワークに対して予め定められたルールによって構築されたネットワークのノードから、ノードの属する管理範囲、データ容量、および運用時間のうち少なくともいずれかを含む複数の指標に基づいて管理ノードのバックアップノードを選択する。開示の装置、方法、プログラムは、バックアップノードに管理情報を複製し、管理ノードが停止した場合にバックアップノードを管理ノードに切り替える。
【発明の効果】
【０００９】
本願の開示する管理装置、管理方法および管理プログラムによれば、ネットワークシステムの管理における負荷を分散し、スケーラビリティおよび信頼性を向上することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本実施例に係る管理システムの説明図である。
【図２】図２は、本実施例に係るネットワークの説明図である。
【図３】図３は、本実施例にかかる管理装置の構成図である。
【図４】図４は、管理プログラムによる実施についての説明図である。
【図５】図５は、階層化した管理の説明図である。
【図６】図６は、サーバのハードウェアと管理プログラムの関係についての説明図である。
【図７】図７は、オーバーレイネットワークの説明図である。
【図８】図８は、ハッシュテーブルの定義の具体例についての説明図である。
【図９】図９は、図３に示したセルフノードテーブルｔ２の具体例を示す図である。
【図１０】図１０は、図３に示したドメインテーブルｔ3の具体例を示す図である。
【図１１】図１１は、図３に示したノード管理テーブルｔ４の具体例を示す図である。
【図１２】図１２は、図３に示したルーティングテーブルｔ５の具体例を示す図である。
【図１３】図１３は、バックアップ処理部ｍ４０の処理動作を説明するフローチャートである。
【発明を実施するための形態】
【００１１】
以下に、本発明にかかる管理装置、管理方法および管理プログラムの実施例を図面に基づいて詳細に説明する。なお、本実施例は開示の技術を限定するものではない。
【実施例】
【００１２】
図１は、本実施例に係る管理システムの説明図である。図１に示したノードＮ１は、ノードＮ２〜Ｎ４を含むオーバーレイネットワークを管理する管理ノード（マネージャ）であり、ノード選択部ｍ４１、データ複製部ｍ４２、切り替え処理部ｍ４３を有する。図示しないが、ノードＮ２〜Ｎ４もノードＮ１と同様に、ノード選択部ｍ４１、データ複製部ｍ４２、切り替え処理部ｍ４３を有する。【００１３】
ノード選択部ｍ４１は、ノードＮ２〜Ｎ４から、ノードの属する管理範囲、データ容量、および運用時間を取得し、これらを指標として管理ノードのバックアップノードを選択する。【００１４】
データ複製部ｍ４２は、ノード選択部ｍ４１が選択したバックアップノードに管理情報を複製し、切り替え処理部ｍ４３は、管理ノードが停止した場合にバックアップノードを管理ノードに切り替える。【００１５】
図２は、本実施例に係るネットワークの説明図であり、図３は、本実施例にかかる管理装置の構成図である。図２に示したように、管理対象装置ｎ１〜４は、ネットワークを介して接続されている。このネットワークが監視対象のネットワークとなる。【００１６】
管理対象装置ｎ１には、管理装置ｍ１が接続され、管理対象装置ｎ２には、管理装置ｍ２が接続され、管理対象装置ｎ３には、管理装置ｍ３が接続されている。管理装置ｍ１〜４は、管理対象装置ｎ１〜４のネットワークインタフェースを利用して、管理対象装置ｎ１〜４が属するネットワークに対してオーバーレイネットワークを構築する。管理装置ｍ１〜４は、このオーバーレイネットワークのノードとして機能し、互いに通信可能である。【００１７】
管理装置ｍ１〜４は、同一の構成を有するので、以降の説明では管理装置ｍ１を例に説明を行なう。管理装置ｍ１は、ノード選択部ｍ４１、データ複製部ｍ４２、切り替え処理部ｍ４３を有する。【００１８】
図３に示したように、管理装置ｍ１は、オーバーレイネットワーク構築部ｍ１１、管理対象検索部ｍ１２、管理情報作成部ｍ１３、生死監視部ｍ３０およびバックアップ処理部ｍ４０を有する。そして、バックアップ処理部ｍ４０の内部にノード選択部ｍ４１、データ複製部ｍ４２、切り替え処理部ｍ４３を有する。また、管理装置ｍ１は、ＳＡＮ（Storage  Area  Network）と接続し、ＳＡＮに後述する各種情報を保持させる。【００１９】
オーバーレイネットワーク構築部ｍ１１は、管理対象のネットワークに対してオーバーレイネットワークを構築する処理部であり、通信処理部ｍ２１、ハッシュ処理部ｍ２２、情報取得部ｍ２３、通知部ｍ２４を有する。【００２０】
通信処理部ｍ２１は、管理対象装置ｎ１がノードとして参加するネットワーク上の他のノードと通信する処理を行なう。ハッシュ処理部ｍ２２は、通信処理部ｍ２１が他のノードから取得した情報や管理対象装置の情報からハッシュ値を求め、得られたハッシュ値をオーバーレイネットワークのキーとする。情報取得部ｍ２３は、通信処理部ｍ２１を介してオーバーレイネットワークの他のノードから情報を取得する処理部である。通知部ｍ２４は、通信処理部ｍ２１を介してオーバーレイネットワークの他のノードに対して情報を通知する処理部である。【００２１】
管理対象検索部ｍ１２は、オーバーレイネットワーク構築部ｍ１１が構築したオーバーレイネットワークから、管理装置ｍ１が直接接続された管理対象装置である自ノードと同一の管理範囲に属するノードを検索する処理を行なう。【００２２】
管理情報作成部ｍ１３は、管理対象検索部ｍ１２による検索によって得られたノードを管理対象ノードとする管理情報を作成する。【００２３】
生死監視部ｍ３０は、監視対象に指定されたノードの生死を監視する処理部である。バックアップ処理部ｍ４０は、ノード選択部ｍ４１、データ複製部ｍ４２、切り替え処理部ｍ４３を有し、バックアップノードの選択、データの複製、生死監視部ｍ３０の監視結果に基づく切り替えを行なう。【００２４】
管理装置ｍ１は、管理対象装置であるコンピュータ上で動作する管理プログラムとして実施することが好適である。図４に示した例では、ドメインＡとドメインＢにそれぞれ３つのサーバが含まれており、ドメインＡとドメインＢとの間は通信可能である。【００２５】
ドメインＡのサーバ１１では、他のコンピュータシステムの動作環境を仮想的に実現するＶＭ（Virtual  Machines）ホストプログラム２１が動作している。そして、ＶＭホストプログラム２１上に４つのＶＭゲストプログラム４１〜４４が動作している。このサーバ１１では、ＶＭホストプログラム２１上で運用管理プログラム３１がさらに動作している。ＶＭホストプログラム２１上で動作する運用管理プログラム３１は、サーバ１１を管理装置として機能させる。この運用管理プログラム３１の管理対象装置は、サーバ１１自体とサーバ１１上で動作するＶＭホストプログラム２１、ＶＭゲストプログラム４１〜４４である。【００２６】
また、ドメインＡのサーバ１２では、ＯＳ（Operating  System）２３が動作し、ＯＳ２３上で運用管理プログラム３２が動作している。そして、このサーバ１２にはスイッチ５１とルータ５３が接続されている。このサーバのＯＳ２３上で動作する運用管理プログラム３２は、サーバ１２を管理装置として機能させる。この運用管理プログラム３２の管理対象装置は、サーバ１２自体とサーバに接続されたスイッチ５１およびルータ５３である。【００２７】
また、ドメインＡのサーバ１３では、ＯＳ（Operating  System）２４が動作し、ＯＳ２４上で運用管理プログラム３３が動作している。そして、このサーバ１３にはストレージ５５が接続されている。このサーバ１３のＯＳ２４上で動作する運用管理プログラム３３は、サーバ１３を管理装置として機能させる。この運用管理プログラム３３の管理対象装置は、サーバ１３自体とサーバ１３に接続されたストレージ５５である。【００２８】
ドメインＡと同様にドメインＢに含まれる３つのサーバ１４〜１６についても、サーバ１４〜１６上のＶＭホストプログラム３２やＯＳ２５，２６上でそれぞれ運用管理プログラム３４〜３６が動作し、サーバ１４〜１６を管理装置として機能させる。このため、サーバ１４〜１６、各サーバ上で動作する各種プログラム（ＶＭホスト２２、ＯＳ２５，２６、ＶＭゲスト４５〜４８）、各サーバに接続されたハードウェア（スイッチ５２、ルータ５４、ストレージ５６）は、対応するサーバ上で動作する運用管理プログラムによって管理される。【００２９】
サーバ１４〜１６上の運用管理プログラム３１〜３６は、互いに通信し、オーバーレイネットワークを構築する。加えて、運用管理プログラム３１〜３６は、自らが属するドメイン内の他のノードについて情報を収集し、管理情報を作成することができる。なお、運用管理プログラム３１〜３６は、ドメインＡとドメインＢの双方からアクセス可能な端末１から取得することができる。【００３０】
図４に示したように、運用管理プログラム３１〜３６は、管理を階層化することなく、自動的に自ドメインに属するノードの情報を取得することができる。図５は、図４に対する比較例であり、階層化した管理の説明図である。【００３１】
図５に示したシステムでは、ドメインＡを管理するサブマネージャ３とドメインＢを管理するサブマネージャ４が設けられており、２つのサブマネージャ３，４を統合マネージャ２が管理している。【００３２】
サブマネージャ３，４は、自らの担当するドメインに属する装置に対してSNMPなどを用いて状態監視ポーリングを行う。また、サブマネージャは、自らの担当するドメインに属する装置から、ＳＮＭＰトラップなどのイベントを受信し情報を収集する。【００３３】
具体的には、図５に示した構成では、ドメインＡはサーバ１１，１２、スイッチ５１、ルータ５３、ストレージ５５を含む。サーバ１１上ではＶＭホストプログラム２１が動作し、ＶＭホストプログラム２１上ではＶＭゲストプログラム４１〜４４が動作している。同様に、ドメインＢは、サーバ１４，１５、スイッチ５２、ルータ５４、ストレージ５６を含む。そして、サーバ１４上ではＶＭホストプログラム２２が動作し、ＶＭホストプログラム１５上ではＶＭゲストプログラム４５〜４８が動作している。【００３４】
このように、管理を階層化した場合、階層ごとに異なる装置もしくはプログラムを用意することとなる。また、マネージャ、特に統合マネージャ２に負荷が集中するので、高価な高性能サーバを統合マネージャ２として使用することが求められる。加えて、統合マネージャ２がＳＰＯＦ（Single  Point  of  Failure）となり、統合マネージャ２がダウンするとシステム全体が停止するので、耐障害性の低下を抑えるため、統合マネージャ２をクラスタ構成で運用することが求められていた。【００３５】
これに対し、図４に示した管理プログラム３１〜３６は同一のプログラムを各サーバに配布したものであり、統合マネージャ用、サブマネージャ用の区別がない。また、管理プログラムは、統合マネージャ用のコンピュータやサブマネージャ用のコンピュータを区別して設置することなく、すべての管理対象上で動作する。このため、マネージャに対してバックアップを準備し、マネージャの停止時に管理をバックアップ側に引き継ぐようにすることで、ネットワークシステムの管理における負荷を分散し、システムのスケーラビリティと信頼性を向上することができる。【００３６】
図６は、サーバのハードウェアと管理プログラムの関係についての説明図である。管理プログラムｐｇ１０は、サーバ内部のＨＤＤ（Hard  disk  drive）ｐ１３に格納される。管理プログラムｐｇ１０は、オーバーレイネットワーク構築部としての動作を記述されたオーバーネットワーク構築プロセスｐｇ１１、管理対象検索部としての動作を記述された管理対象検索プロセスｐｇ１２、管理情報作成部としての動作を記述された管理情報作成プロセスｐｇ１３、生死監視部としての動作を記述された生死監視プロセスｐｇ１４、バックアップ処理部としての動作を記述されたバックアップ処理部ｐｇ１５を含む。【００３７】
サーバが起動すると、管理プログラムｐｇ１０はＨＤＤｐ１３から読み出され、メモリｐ１２に展開される。そして、ＣＰＵ（Central  Processing  Unit）ｐ１１がメモリに展開されたプログラムを順次実行することで、サーバを管理装置として機能させる。この時、管理装置におけるオーバーレイネットワークのインタフェースとしては、サーバの通信インタフェースｐ１４を使用する。【００３８】
図７は、オーバーレイネットワークの説明図である。管理装置もしくは管理プログラムは、起動するとオーバーレイネットワークを形成する。オーバーレイネットワーク構築部ｍ１１が、例えば、DHT（分散ハッシュテーブル）アルゴリズムのChordを用いた場合、図７に示したような環状のオーバーレイネットワークが形成される。【００３９】
DHTでは、キー（Key）とバリュー（Value）のペアが、オーバーレイネットワークに参加する各ノードで分散して保持される。Chordの場合は、SHA（Secure  Hash  Algorithm）-1でハッシュした値をキーに用いる。各キーは自分のキーより大きい値のキーを持ち、管理プログラムが動作している最初のノードに格納される。【００４０】
図７の例では、ｖｍｈｏｓｔ２のキーが１、ｄｏｍａｉｎ１のキーが５、ｓｅｒｖｅｒ１のキーが１５、ｓｅｒｖｅｒ２のキーが２０、ｇｒｏｕｐ１のキーが３２、ｕｓｅｒ１のキーが４０、ｖｍｇｕｅｓｔ１１のキーが５５である。同様に、ｓｅｒｖｅｒ３のキーが６６、ｖｍｇｕｅｓｔ１２のキーが７０、ｖｍｈｏｓｔ３のキーが７５、ｖｍｇｕｅｓｔ１３のキーが８５、ｖｍｇｕｅｓｔ１４のキーが９０である。そして、ｖｍｈｏｓｔ１のキーが１００、ｓｗｉｔｃｈ１のキーが１１０、ｓｔｏｒａｇｅ１のキーが１１５、ｖｍｇｕｅｓｔ２１のキーが１２０である。【００４１】
ここで、ｖｍｈｏｓｔ１〜３、ｓｅｒｖｅｒ１〜３は、ｄｏｍａｉｎ１に属し、管理プログラムが実行されたノードであり、図７において黒い円形記号で示している。また、ｄｏｍａｉｎ１に属するｖｍｇｕｅｔ、ｓｔｏｒａｇｅ、ｓｗｉｃｈなどについては、図７において二重円形記号で示している。加えて、図７では、ｄｏｍａｉｎ２に属するノード（キーが４，３３，３６のノード）については、網掛けの円形記号で示している。【００４２】
既に述べたように、キーとValueのペアは自分のキーより大きい値のキーを持ち、管理プログラムが動作している最初のノードに格納されるので、Key    40,  55  は、Key  =  66  のノードに格納される。【００４３】
また、Chordの場合、各ノードは、直前のノードと、直後のノード及び(自ノードkey+2^(x-1))  mod  (2^k)  (xは1からkの自然数、kはkeyのビット数)  のノードの情報をルーティング情報として保持している。具体的には、1,2,4,8,16,32,64,128…というように離散したノードの情報を持つ。【００４４】
これによって、Chord  DHTでは、各ノードがKeyに対するValueを、Keyより大きい最初のKeyを持つノードに保持させ、更にKeyに対応するValueを、Keyより大きい最初のKeyを持つノードから取得することが可能になる。【００４５】
図８は、DHT（分散ハッシュテーブル）の定義の具体例についての説明図である。このDHTは、図３のＳＡＮにおけるハッシュテーブルｔ１に相当する。【００４６】
図８では、ＳＨＡ−１でハッシュしたＫｅｙと、Ｋｅｙに対応づけられるＶａｌｕｅを示している。【００４７】
サーバについては、サーバ名をSHA-1でハッシュしてKeyとする。そして、サーバであることを示すタグ「server」、サーバ名、サーバ名から求めたkey、サーバが有するＩＰアドレスの一覧（ＩＰリスト）、サーバが有するWWNの一覧（ＷＷＮリスト）、管理ノードとして機能しているかを示すmanager-flag、バックアップノードとして登録されているかを示すフラグであるsecondary-manage、サーバの属するドメインとドメインのキーのリスト、をValueとして有する。【００４８】
ＶＭホストについては、VMホスト名をSHA-1でハッシュしてKeyとする。そして、ＶＭホストであることを示すタグ「vmhost」、VMホスト名、ＶＭホスト名から求めたkey、ＶＭホストのＩＰリスト、ＶＭホストの属するドメインとドメインのキーのリスト、ＶＭホスト上で動作するVMゲストのリスト、をValueとして有する。【００４９】
ＶＭゲストについては、VMゲスト名をSHA-1でハッシュしてKeyとする。そして、ＶＭホストであることを示すタグ「vmguest」、ＶＭゲスト名、ＶＭゲスト名から求めたkey、ＶＭゲストのＩＰリスト、ＶＭゲストが動作しているＶＭホストの名前とｋｅｙ、をValueとして有する。【００５０】
スイッチについては、スイッチ名をSHA-1でハッシュしてKeyとする。そして、スイッチであることを示すタグ「switch」、スイッチ名、スイッチ名から求めたkey、スイッチのＩＰリスト、スイッチの属するドメインとドメインのキーのリスト、をValueとして有する。【００５１】
ストレージについては、ストレージ名をSHA-1でハッシュしてKeyとする。そして、ストレージであることを示すタグ「storage」、ストレージ名、ストレージ名から求めたkey、ストレージのＩＰリスト、ストレージのWWNリスト、ストレージの属するドメインとドメインのキーのリスト、をValueとして有する。【００５２】
ユーザについては、ユーザ名をSHA-1でハッシュしてKeyとする。そして、ユーザであることを示すタグ「user」、ユーザ名、ユーザ名から求めたkey、ユーザの属するグループ名とグループのkeyのリスト、をValueとして有する。【００５３】
グループについては、グループ名をSHA-1でハッシュしてKeyとする。そして、グループであることを示すタグ「group」、グループ名、グループ名から求めたkey、グループに属するユーザ名とkeyのリスト、をValueとして有する。【００５４】
ドメインについては、ドメイン名をSHA-1でハッシュしてKeyとする。そして、ドメインであることを示すタグ「domain」、ドメイン名、ドメイン名から求めたkey、ドメインの管理装置のキーのリスト、をValueとして有する。【００５５】
図９は、図３に示したセルフノードテーブルｔ２の具体例である。セルフノードテーブルは、管理プログラムが動作するサーバ上のノード、すなわちサーバ自体、サーバ上で動作するＶＭホスト、ＶＭゲストなどの情報を登録したテーブルである。図９は、ｖｍｇｕｅｓｔ１１〜１４とともに、ｖｍｈｏｓｔ１上で動作する管理プログラムが作成したセルフノードテーブルを示している。セルフノードテーブルには、種別、ノード名、key、IPアドレス、WWNの項目を有する。【００５６】
図９の例では、種別がvmhost、ノード名がvmhost1.domain1.company.com、keyが100、IPアドレスが10.20.30.40、WWNが10:00:00:60:69:00:23:74のエントリが登録されている。また、種別がvmguest、ノード名がvmguest11.domain1.company.com、keyが55、IPアドレスが10.20.30.41、WWNがnullのエントリが登録されている。【００５７】
同様に、種別がvmguest、ノード名がvmguest12.domain1.company.com、keyが70、IPアドレスが10.20.30.42、WWNがnullのエントリが登録されている。そして、種別がvmguest、ノード名がvmguest13.domain1.company.com、keyが85、IPアドレスが10.20.30.43、WWNがnullのエントリと、種別がvmguest、ノード名がvmguest14.domain1.company.com、keyが90、IPアドレスが10.20.30.44、WWNがnullのエントリが登録されている。【００５８】
図１０は、図３に示したドメインテーブルｔ3の具体例である。各管理装置や管理プログラムは、自ノードが属するドメインのドメイン名をＳＨＡ−１でハッシュしてkeyを求め、ドメインテーブルｔ３に登録する。また、ドメインテーブルｔ3には、ドメイン名とドメインのkeyの他、ドメインの管理を行なうマネージャのkeyを登録する。管理プログラムが動作するノードであれば、任意ノードがマネージャとしてノードの管理を行なうことができ、ドメイン内に複数のマネージャが存在してもよい。【００５９】
図１１は、図３に示したノード管理テーブルｔ４の具体例である。ノード管理テーブルｔ４は、ドメイン内のノードを管理するマネージャとして動作する管理装置や管理プログラムが作成する管理情報であり、自ノードと同一ドメインに属する全てのノードの情報である。【００６０】
図１１のノード管理テーブルｔ４は、図７に示したオーバーレイネットワークのうちｄｏｍａｉｎ１を管理するマネージャ（Key100,vmhost1）が作成し、保持するテーブルを示している。【００６１】
図１１に示したノード管理テーブルｔ４は、種別、ノード名、key、Domain  key、Manager  Flag、Managed  Flag、secondary-manager  Key、生死監視フラグ、生死監視通知先の項目（カラム）を有する。Manager  Flagは、そのノードがマネージャである場合にtrue、マネージャではない場合にfalseの値をとる。Managed  Flagは、そのノードが管理されている場合にtrue、管理されていない場合にfalseの値をとる。secondary-manager  Keyは、そのノードに対するバックアップノードのKeyを示す。生死監視フラグは、監視対象のノードについてtrue、監視対象ではないノードについてfalse、監視対象とならないものについてNULLの値をとる。生死監視通知先の項目は、自ノードが監視ノードとして動作する際に、そのノードの監視結果を通知すべき通知先のkeyを示す。【００６２】
具体的には、図１１に示したノード管理テーブルｔ４は、種別がvmhost、ノード名がvmhost2.domain1.company.com、Keyが1、Domain  Keyが5、Manager  Flagがfalse、Managed  Flagがtrue、secondary-manager  Keyがブランク、生死監視フラグがtrue、生死監視通知先がブランクのエントリを有する。【００６３】
また、ノード管理テーブルｔ４は、種別がserver、ノード名がserver1.domain1.company.com、Keyが15、Domain  Keyが5、Manager  Flagがtrue、Managed  Flagがtrue、生死監視フラグがfalse、secondary-manager  Keyがブランク、生死監視通知先がブランクのエントリを有する。【００６４】
また、ノード管理テーブルｔ４は、種別がserver、ノード名がserver2.domain1.company.com、Keyが20、Domain  Keyが5、Manager  Flagがfalse、Managed  Flagがtrue、secondary-manager  Keyがブランク、生死監視フラグがfalse、生死監視通知先がブランクのエントリを有する。【００６５】
また、ノード管理テーブルｔ４は、種別がvmguest、ノード名がvmguest11.domain1.company.com、Keyが55、Domain  Keyが5、Manager  Flagがfalse、Managed  Flagがtrue、secondary-manager  Keyがブランク、生死監視フラグがNULL、生死監視通知先がブランク、のエントリを有する。【００６６】
また、ノード管理テーブルｔ４は、種別がserver、ノード名がserver3.domain1.company.com、Keyが66、Domain  Keyが5、Manager  Flagがfalse、Managed  Flagがtrue、secondary-manager  Keyがブランク、生死監視フラグがfalse、生死監視通知先がブランク、のエントリを有する。【００６７】
また、ノード管理テーブルｔ４は、種別がvmguest、ノード名がvmguest12.domain1.company.com、Keyが70、Domain  Keyが5、Manager  Flagがfalse、Managed  Flagがtrue、secondary-manager  Keyがブランク、生死監視フラグがNULL、生死監視通知先がブランク、のエントリを有する。【００６８】
また、ノード管理テーブルｔ４は、種別がvmhost、ノード名がvmhost3.domain1.company.com、Keyが75、Domain  Keyが5、Manager  Flagがfalse、Managed  Flagがtrue、secondary-manager  Keyがブランク、生死監視フラグがfalse、生死監視通知先がブランク、のエントリを有する。【００６９】
また、ノード管理テーブルｔ４は、種別がvmguest、ノード名がvmguest13.domain1.company.com、Keyが85、Domain  Keyが5、Manager  Flagがfalse、Managed  Flagがtrue、secondary-manager  Keyがブランク、生死監視フラグがNULL、生死監視通知先がブランク、のエントリを有する。【００７０】
また、ノード管理テーブルｔ４は、種別がvmguest、ノード名がvmguest14.domain1.company.com、Keyが90、Domain  Keyが5、Manager  Flagがfalse、Managed  Flagがtrue、secondary-manager  Keyがブランク、生死監視フラグがNULL、生死監視通知先がブランク、のエントリを有する。【００７１】
また、ノード管理テーブルｔ４は、種別がvmhost、ノード名がvmhost1.domain1.company.com、Keyが100、Domain  Keyが5、Manager  Flagがtrue、Managed  Flagがtrue、secondary-manager  Keyが1、生死監視フラグがNULL、生死監視通知先がブランク、のエントリを有する。【００７２】
また、ノード管理テーブルｔ４は、種別がswitch、ノード名がswitch1.domain1.company.com、Keyが110、Domain  Keyが5、Manager  Flagがfalse、Managed  Flagがtrue、secondary-manager  Keyがブランク、生死監視フラグがNULL、生死監視通知先がブランク、のエントリを有する。【００７３】
また、ノード管理テーブルｔ４は、種別がstorage、ノード名がstorage1.domain1.company.com、Keyが115、Domain  Keyが5、Manager  Flagがfalse、Managed  Flagがtrue、secondary-manager  Keyがブランク、生死監視フラグがNULL、生死監視通知先がブランク、のエントリを有する。【００７４】
また、ノード管理テーブルｔ４は、種別がvmguest、ノード名がvmguest21.domain1.company.com、Keyが120、Domain  Keyが5、Manager  Flagがfalse、Managed  Flagがtrue、secondary-manager  Keyがブランク、生死監視フラグがNULL、生死監視通知先がブランク、のエントリを有する。【００７５】
図１１では、Key1,vmhost2を監視し、Key100,vmhost1のバックアップノードをKey1,vmhost2としている。したがって、Key100,vmhost1が停止したときには、Key100,vmhost1からKey1,vmhost2に管理が引き継がれる。また、Key1,vmhost2が停止した場合にはKey100,vmhost1は新たなバックアップノードを選択する。【００７６】
図１２は、図３に示したルーティングテーブルｔ５の具体例である。ルーティングテーブルｔ５は、各管理装置や管理プログラムがオーバーレイネットワークにおけるルーティングに用いるテーブルである。【００７７】
図１２に示した例では、ルーティングテーブルｔ５は、最終的な宛先である目的地のキーを示すdistance、目的地のノード名、目的地と通信する場合のルーティング先を示す宛先のキーであるDestination  Key、ルーティング先のＩＰアドレスであるDestination  IPの項目を有する。【００７８】
図１２は、キー１００のノードが用いるルーティングテーブルの具体例である。図１１のルーティングテーブルｔ５は、distanceが1、ノード名がvmhost1.domain1.company.com、Destination  Keyが1、Destination  IPがa1.b1.c1.d1、distanceが2、ノード名がvmhost2.domain1.company.com、Destination  Keyが1、Destination  IPがa1.b1.c1.d1の項目を有する。【００７９】
また、ルーティングテーブルｔ５は、distanceが3、ノード名がvmhost2.domain1.company.com、Destination  Keyが1、Destination  IPがa1.b1.c1.d1
の項目を有する。【００８０】
また、ルーティングテーブルｔ５は、distanceが5、ノード名がvmhost2.domain1.company.com、Destination  Keyが1、Destination  IPがa1.b1.c1.d1
の項目を有する。【００８１】
また、ルーティングテーブルｔ５は、distanceが9、ノード名がvmhost2.domain1.company.com、Destination  Keyが1、Destination  IPがa1.b1.c1.d1
の項目を有する。【００８２】
また、ルーティングテーブルｔ５は、distanceが17、ノード名がvmhost2.domain1.company.com、Destination  Keyが1、Destination  IPがa1.b1.c1.d1
の項目を有する。【００８３】
また、ルーティングテーブルｔ５は、distanceが33、ノード名がnode1.domain2.company.com、Destination  Keyが4、Destination  IPがa4.b4.c4.d4の項目を有する。【００８４】
また、ルーティングテーブルｔ５は、distanceが65、ノード名がnode3.domain2.company.com、Destination  Keyが36、Destination  IPがa36.b36.c36.d36の項目を有する。【００８５】
このように、ルーティングテーブルｔ５は、ドメイン１に属するノード(key:1,2,3,5,9,17)が目的地である場合にはKey1（IPアドレス:a1.b1.c1.d1）にルーティングすることを規定している。また、ルーティングテーブルｔ５は、ドメイン１に属するノードkey:33が目的地である場合にはKey4（IPアドレス:a4.b4.c4.d4）にルーティングし、ドメイン２に属するノードkey:65が目的地である場合にはKey36（IPアドレス:a36.b36.c36.d36）にルーティングすることを規定している。【００８６】
図１３は、バックアップ処理部ｍ４０の処理動作を説明するフローチャートである。ノード選択部ｍ４１は、オーバーレイネットワークからノードを一つ選択し（Ｓ１０１）、マネージャと同一ドメインであるか否かを判定する（Ｓ１０２）。【００８７】
選択したノードがマネージャと同一ドメインである場合（Ｓ１０２，Ｙｅｓ）、ノード選択部ｍ４１は、選択したノードのデータ領域に十分な容量があるかを判定する（Ｓ１０３）。【００８８】
選択したノードのデータ領域に十分な容量がある場合（Ｓ１０３，Ｙｅｓ）、ノード選択部ｍ４１は、選択したノードの運用時間が閾値以上、すなわち選択したノードが閾値以上の時間連続して運用されているかを判定する（Ｓ１０４）。【００８９】
選択したノードの運用時間が閾値以上である場合（Ｓ１０４，Ｙｅｓ）、ノード選択部ｍ４１は選択したノードをバックアップノードとする（Ｓ１０５）。選択したノードがマネージャと同一ドメインでない場合（Ｓ１０２，Ｎｏ）、選択したノードのデータ領域に十分な容量がない場合（Ｓ１０３，Ｎｏ）、運用時間が閾値に満たない場合（Ｓ１０４，Ｎｏ）、ノード選択部ｍ４１は、ステップＳ１０１に戻ってノードを選択し直す。具体的には、Key  1,  15,  20.  というように順番に探す。【００９０】
バックアップノードが決定した（Ｓ１０５）後、ノード選択部ｍ４１は、ハッシュテーブルｔ１を更新し（Ｓ１０６）、管理情報であるノード管理テーブルｔ４をバックアップノードに複製する（Ｓ１０７）。【００９１】
生死監視部ｍ３０は、バックアップノードと相互に生死監視を開始し（Ｓ１０８）、バックアップノードがダウンした場合（Ｓ１０９，Ｙｅｓ）には、ステップＳ１０１に戻って新たにバックアップノードを選択する。【００９２】
なお、バックアップノード側が管理ノードのダウンを検出した場合、バックアップノードの切り替え処理部ｍ４３によって、管理業務を自動的に引き継ぐ。元の管理ノードが故障から復旧した場合、バックアップノードから管理業務を呼び戻し、管理ノードに復帰すればよい。【００９３】
図１３の処理において、運用時間が閾値以上のノードが存在しない場合、他のノードよりも運用時間の長いノードをバックアップノードとする。運用時間が閾値未満のノードをバックアップノードとする際には、例えば運用時間が上位２つのノードをバックアップノードとしてもよい。このように複数のバックアップノードを設けることで、バックアップノードのうちいずれかが停止しても他のバックアップノードを使用可能であるので、信頼性を向上することができる。【００９４】
また、管理ノードがダウンし、バックアップノードに管理業務が引き継がれると、バックアップノードは、更にバックアップノードのバックアップノードを選定する。そして、バックアップノードが管理業務を引き継いで一定期間後、元の管理ノードが復旧しない場合は、バックアップノードが管理マネージャに昇格し、バックアップノードのバックアップノードはバックアップノードにそれぞれ昇格する。したがって、所定時間経過後は元の管理ノードの復帰の有無に関わらずバックアップノードであったノードが管理ノードとして動作することとなる。【００９５】
上述したように、本実施例にかかる管理装置、管理方法および管理プログラムは、オーバーレイネットワークのノードから、ノードの属する管理範囲、データ容量、および運用時間を指標として管理ノードのバックアップノードを選択する。そして、バックアップノードに管理情報を複製し、管理ノードが停止した場合にバックアップノードを管理ノードに切り替える。このため、ネットワークシステムの管理における負荷を分散し、スケーラビリティおよび信頼性を向上することができる。
【符号の説明】
【００９６】
Ｎ１〜４  ノード
ｍ１  管理装置
ｍ１１  オーバーレイネットワーク構築部
ｍ１２  管理対象検索部
ｍ１３  管理情報作成部
ｍ２１  通信処理部
ｍ２２  ハッシュ処理部
ｍ２３  情報取得部
ｍ２４  通知部
ｍ３０  生死監視部
ｍ３１  購読申請部
ｍ３２  監視依頼部
ｍ３３  監視部
ｍ３４  判定部
ｍ４０  バックアップ処理部
ｍ４１  ノード選択部
ｍ４２  データ複製部
ｍ４３  切り替え処理部
ｔ１  ハッシュテーブル
ｔ２  セルフノードテーブル
ｔ３  ドメインテーブル
ｔ４  ノード管理テーブル
ｔ５  ルーティングテーブル
ｐ１１  ＣＰＵ
ｐ１２  メモリ
ｐ１３  ＨＤＤ
ｐ１４  通信インタフェース
ｐｇ１０  管理プログラム
ｐｇ１１  オーバーレイネットワーク構築プロセス
ｐｇ１２  管理対象検索プロセス
ｐｇ１３  管理情報作成プロセス
ｐｇ１４  生死監視プロセス
ｐｇ１５  バックアップ処理プロセス
【図１】
2012101785.tif 000003
【図２】
2012101785.tif 000004
【図３】
2012101785.tif 000005
【図４】
2012101785.tif 000006
【図５】
2012101785.tif 000007
【図６】
2012101785.tif 000008
【図７】
2012101785.tif 000009
【図８】
2012101785.tif 000010
【図９】
2012101785.tif 000011
【図１０】
2012101785.tif 000012
【図１１】
2012101785.tif 000013
【図１２】
2012101785.tif 000014
【図１３】
2012101785.tif 000015
【国際調査報告】
2012101785.tif 000016
2012101785.tif 000017