(57)【特許請求の範囲】
【請求項１】
ネットワークを介して接続される複数のサブシステムを備える計算機システムであって、
前記複数のサブシステムの各々は、第１のプロセッサ、前記第１のプロセッサに接続される第１のメモリ、及び他の装置と通信するための第１のネットワークインタフェースを有する一以上の計算機と、第２のプロセッサ、前記第２のプロセッサに接続される第２のメモリ、及び他の装置と通信するための第２のネットワークインタフェースを有する一以上のネットワーク装置と、を含み、
前記計算機システムは、前記複数のサブシステムを管理するサブシステム制御部を備え、
前記サブシステム制御部は、
前記複数のサブシステムの各々の構成を管理するサブシステム管理情報と、
少なくとも一つの前記サブシステムから構成されるグループの構成及び当該グループを用いて提供されるサービスに必要なネットワーク品質を含む、前記グループの条件を管理するサービス管理情報と、を保持し、
前記ネットワーク品質は、前記複数のサブシステム間の通信の遅延を示す値を含み、
前記サブシステム制御部は、
複数のサービスの提供に用いる複数のグループの構築要求を受け付けた場合、前記複数のサブシステムの中から構築されるグループの数だけ、前記グループに含まれる前記少なくとも一つのサブシステムのネットワーク品質及び稼働状態を監視するマイクロ管理ノードとなる前記サブシステムを選択し、
前記マイクロ管理ノードと、前記マイクロ管理ノード以外の前記複数のサブシステムの各々との間のネットワーク品質の測定を前記複数のマイクロ管理ノードの各々に命令し、
前記複数のマイクロ管理ノードの各々は、ＴＴＬが所定の閾値以下に設定されたＩＰパケットを用いて、前記マイクロ管理ノードと、所定のネットワーク範囲に含まれ、かつ、前記マイクロ管理ノード以外の前記複数のサブシステムの各々との間の前記ネットワーク品質を計測し、
前記サブシステム制御部は、
前記複数のマイクロ管理ノードの各々から前記ネットワーク品質の測定結果を受信した場合、前記受信したネットワーク品質の測定結果に基づいて、少なくとも一つの前記マイクロ管理ノードを再度選択する必要があるか否かを判定し、
前記少なくとも一つのマイクロ管理ノードを再度選択する必要があると判定された場合、新たなマイクロ管理ノードを選択し、前記新たなマイクロ管理ノードから受信した前記ネットワーク品質の測定結果に基づいて前記新たなマイクロ管理ノードを再度選択する必要があるか否かを判定し、
前記複数のマイクロ管理ノードのいずれも再度選択する必要がないと判定された場合、前記複数のサービスの中から対象のサービスを選択し、
前記サービス管理情報を参照して、前記対象のサービスに用いるグループの条件を抽出し、
前記サブシステム管理情報及び前記ネットワーク品質の測定結果に基づいて、前記複数のマイクロ管理ノードの中から前記抽出されたグループの条件を満たすマイクロ管理ノードを検索し、前記複数のサブシステムの中から前記検索されたマイクロ管理ノードを中心としたグループを構成する前記少なくとも一つのサブシステムを選択することによって前記グループの構成を決定し、
前記複数のサービスに用いる複数のグループの構成が決定された後、決定された前記グループの構成に関する情報を含むグループ構築命令を前記複数のマイクロ管理ノードに送信することを特徴とする計算機システム。
【請求項２】
前記サブシステム制御部は、
前記複数のマイクロ管理ノードから前記ネットワーク品質の測定結果を受信した場合、前記受信した前記ネットワーク品質の測定結果に基づいて、前記ネットワーク品質が所定の条件を満たさない前記サブシステムが所定数以上存在するか否かを判定し、
前記受信した前記ネットワーク品質の測定結果に基づいて、前記ネットワーク品質が計測されていない前記サブシステムが存在するか否かを判定し、
前記ネットワーク品質が所定の条件を満たさない前記サブシステムが所定数以上存在すると判定された場合、又は、前記ネットワーク品質が計測されていない前記サブシステムが存在すると判定された場合、前記少なくとも一つのマイクロ管理ノードを再度選択する必要があると判定することを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記サブシステム制御部は、
前記複数のマイクロ管理ノードから前記ネットワーク品質の計測結果を受信した場合、前記複数のネットワーク品質の測定結果を比較して、類似する前記ネットワーク品質の測定結果が存在するか否かを判定し、
類似する前記ネットワーク品質の測定結果が存在する場合、前記少なくとも一つのマイクロ管理ノードを再度選択する必要があると判定することを特徴とする請求項１又は請求項２に記載の計算機システム。
【請求項４】
前記マイクロ管理ノードは、前記サブシステム宛にパケットを送信してから、当該サブシステムからの応答を受信するまでの時間であるラウンドトリップタイム、前記ラウンドトリップタイムを複数回計測することによって算出されるラウンドトリップタイムの時間の揺らぎ、及び、前記ネットワークを介した時刻同期の精度の少なくとも一つ以上を、前記マイクロ管理ノードと、前記マイクロ管理ノード以外の前記複数のサブシステムの各々との間の前記ネットワーク品質として計測することを特徴とする請求項１から請求項３のいずれか一つに記載の計算機システム。
【請求項５】
前記マイクロ管理ノードは、
前記グループに含まれる前記少なくとも一つ以上のサブシステムを管理するグループ管理情報を保持し、
受信した前記グループ構築命令に基づいて、前記グループを構築し、前記グループ管理情報を生成し、
前記グループに含まれる前記サブシステムの前記ネットワーク品質を周期的に計測し、
前記サブシステム制御部に、前記ネットワーク品質の計測結果を送信し、
前記サブシステム制御部は、
前記グループ構築命令の送信後、任意の前記マイクロ管理ノードから前記ネットワーク品質の測定結果を受信した場合、前記ネットワーク品質が所定の条件を満たすか否かを判定し、
前記ネットワーク品質が所定の条件を満たさない場合、前記受信した前記ネットワーク品質の測定結果に基づいて、前記任意のマイクロ管理ノードが含まれる前記グループの構成を変更することを特徴とする請求項１に記載の計算機システム。
【請求項６】
ネットワークを介して接続される複数のサブシステムを備える計算機システムにおけるサブシステム管理方法であって、
前記複数のサブシステムの各々は、第１のプロセッサ、前記第１のプロセッサに接続される第１のメモリ、及び他の装置と通信するための第１のネットワークインタフェースを有する一以上の計算機と、第２のプロセッサ、前記第２のプロセッサに接続される第２のメモリ、及び他の装置と通信するための第２のネットワークインタフェースを有する一以上のネットワーク装置と、を含み、
前記計算機システムは、前記複数のサブシステムを管理するサブシステム制御部を備え、
前記サブシステム制御部は、前記複数のサブシステムの各々の構成を管理するサブシステム管理情報と、少なくとも一つの前記サブシステムから構成されるグループの構成、及び、当該グループを用いて提供されるサービスに必要なネットワーク品質を含む、前記グループの条件を管理するサービス管理情報と、を保持し、
前記ネットワーク品質は、前記複数のサブシステム間の通信の遅延を示す値を含み、
前記サブシステム管理方法は、
前記サブシステム制御部が、複数のサービスの提供に用いる複数のグループの構築要求を受け付けた場合、前記複数のサブシステムの中から構築されるグループの数だけ、前記グループに含まれる前記少なくとも一つのサブシステムのネットワーク品質及び稼働状態を監視するマイクロ管理ノードとなる前記サブシステムを選択する第１のステップと、
前記複数のマイクロ管理ノードの各々が、ＴＴＬが所定の閾値以下に設定されたＩＰパケットを用いて、前記マイクロ管理ノードと、所定のネットワーク範囲に含まれ、かつ、前記マイクロ管理ノード以外の前記複数のサブシステムの各々との間のネットワーク品質を測定する第２のステップと、
前記サブシステム制御部が、前記複数のマイクロ管理ノードの各々から前記ネットワーク品質の測定結果を受信した場合、前記受信したネットワーク品質の測定結果に基づいて、少なくとも一つの前記マイクロ管理ノードを再度選択する必要があるか否かを判定する第３のステップと、
前記サブシステム制御部が、前記少なくとも一つのマイクロ管理ノードを再度選択する必要があると判定された場合、新たなマイクロ管理ノードを選択し、前記新たなマイクロ管理ノードから受信した前記ネットワーク品質の測定結果に基づいて前記新たなマイクロ管理ノードを再度選択する必要があるか否かを判定する第４のステップと、
前記サブシステム制御部が、前記複数のマイクロ管理ノードのいずれも再度選択する必要がないと判定された場合、前記複数のサービスの中から対象のサービスを選択する第５のステップと、
前記サブシステム制御部が、前記サービス管理情報を参照して、前記対象のサービスに用いるグループの条件を抽出する第６のステップと、
前記サブシステム制御部が、前記サブシステム管理情報及び前記ネットワーク品質の測定結果に基づいて、前記複数のマイクロ管理ノードの中から前記抽出されたグループの条件を満たすマイクロ管理ノードを検索し、前記複数のサブシステムの中から前記検索されたマイクロ管理ノードを中心としたグループを構成する前記少なくとも一つのサブシステムを選択することによって前記グループの構成を決定する第７のステップと、
前記サブシステム制御部が、前記複数のサービスに用いる複数のグループの構成が決定された後、決定された前記グループの構成に関する情報を含むグループ構築命令を前記複数のマイクロ管理ノードに送信する第８のステップと、
を含むことを特徴とするサブシステム管理方法。
【請求項７】
前記第３のステップは、
前記複数のマイクロ管理ノードから前記ネットワーク品質の測定結果を受信した場合、前記受信した前記ネットワーク品質の測定結果に基づいて、前記ネットワーク品質が所定の条件を満たさない前記サブシステムが所定数以上存在するか否かを判定するステップと、
前記受信した前記ネットワーク品質の測定結果に基づいて、前記ネットワーク品質が計測されていない前記サブシステムが存在するか否かを判定するステップと、
前記ネットワーク品質が所定の条件を満たさない前記サブシステムが所定数以上存在すると判定された場合、又は、前記ネットワーク品質が計測されていない前記サブシステムが存在すると判定された場合、前記少なくとも一つのマイクロ管理ノードを再度選択する必要があると判定するステップと、
を含むことを特徴とする請求項６に記載のサブシステム管理方法。
【請求項８】
前記第３のステップは、
前記複数のマイクロ管理ノードから前記ネットワーク品質の計測結果を受信した場合、前記複数のネットワーク品質の測定結果を比較して、類似する前記ネットワーク品質の測定結果が存在するか否かを判定するステップと、
類似する前記ネットワーク品質の測定結果が存在する場合、前記少なくとも一つのマイクロ管理ノードを再度選択する必要があると判定するステップと、
を含むことを特徴とする請求項６又は請求項７に記載のサブシステム管理方法。
【請求項９】
前記マイクロ管理ノードは、前記サブシステム宛にパケットを送信してから、当該サブシステムからの応答を受信するまでの時間であるラウンドトリップタイム、前記ラウンドトリップタイムを複数回計測することによって算出されるラウンドトリップタイムの時間の揺らぎ、及び、前記ネットワークを介した時刻同期の精度の少なくとも一つ以上を、前記マイクロ管理ノードと、前記マイクロ管理ノード以外の前記複数のサブシステムの各々との間の前記ネットワーク品質として計測することを特徴とする請求項６から請求項８のいずれか一つに記載のサブシステム管理方法。
【請求項１０】
前記マイクロ管理ノードは、前記グループに含まれる前記少なくとも一つ以上のサブシステムを管理するグループ管理情報を保持し、
前記サブシステム管理方法は、さらに、
前記マイクロ管理ノードが、受信した前記グループ構築命令に基づいて、前記グループを構築し、前記グループ管理情報を生成するステップと、
前記マイクロ管理ノードが、前記グループに含まれる前記サブシステムの前記ネットワーク品質を周期的に計測するステップと、
前記マイクロ管理ノードが、前記サブシステム制御部に、前記ネットワーク品質の計測結果を送信するステップと、
前記サブシステム制御部が、前記グループ構築命令の送信後、任意の前記マイクロ管理ノードから前記ネットワーク品質の測定結果を受信した場合、前記ネットワーク品質が所定の条件を満たすか否かを判定するステップと、
前記サブシステム制御部が、前記ネットワーク品質が所定の条件を満たさない場合、前記受信したネットワーク品質の測定結果に基づいて、前記任意のマイクロ管理ノードが含まれる前記グループの構成を変更するステップと、
を含むことを特徴とする請求項６に記載のサブシステム管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介してサービスを提供する計算機システムに関する。特に、複数の拠点に分散したサブシステム（データセンタ）をグループ単位で管理するシステム及び方法に関する。
【背景技術】
【０００２】
近年のトレンドの一つとしてクラウドコンピューティングが存在する。クラウドコンピューティングでは、ネットワークを介して地理的に散在する複数のデータセンタ（以下ＤＣと記載する）等のサブシステムを接続し、仮想化技術を用いて効率的なサービス提供を実現する。
【０００３】
クラウドコンピューティングにおけるＤＣ等の計算機資源の管理方法についてはさまざま考えられている（例えば、特許文献１参照）。
【０００４】
特許文献１には、ネットワークを介してクラウドを構築するために、クラウドを構成する各ＤＣに対して付与された様々な属性に基づいてグループを構築し、又は、グループを再編することが記載されている。ここで、データセンタの所在地、及びデータセンタが有する計算機資源の種類などが属性として付与される。本技術ではこれらの属性を元にモデル化を行い、グループ化、階層化、並列化などを行う。
【０００５】
一方で、クラウドを構築する場合に、ＤＣのような大規模な施設ではなく、より細かな単位のマイクロＤＣを用いた分散クラウド技術が存在する。
【０００６】
分散クラウド技術では、既存ＩＣＴ設備、インテリジェントノード、及びルーティング機能を有するネットワーク装置を利用することによって、マイクロＤＣを構築する。分散クラウドシステムでは、ネットワーク上に存在する小規模な計算機資源を管理し、当該計算機資源を用いて複数のユーザに対してサービスを提供することを目的とする。
【０００７】
分散クラウドシステムでは、マイクロＤＣを管理するために階層的な管理構造を用いることを想定している。具体的には、下位の管理ノードが個々のマイクロＤＣの管理し、上位の管理ノードがシステム全体を監視する。これによって、従来のクラウドコンピューティングと比較して、小規模で多数のＩＣＴ設備をクラウドに組み込むことを可能にする。
【０００８】
グループ化によるネットワークシステムの管理を実現するための従来の手法の例として、例えば、特許文献２及び特許文献３に記載の技術が知られている。
【０００９】
特許文献２では、階層化された管理構成を自動的に構築するために、自己評価による立候補方式を用いた管理方法が記載されている。特許文献３では、代表サーバの選出に、多数派となるグループ内からサーバを選出することによって階層的な管理構造を構築することが記載されている。
【００１０】
一方、分散クラウドシステムでは、マイクロＤＣ間の通信帯域及び遅延時間などがサービス品質に影響を与える。そのため、ネットワーク品質を考慮したグループの構築及びグループの管理が必要となる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００６−１８９９７１号公報
【特許文献２】国際公開第０１／０５７６８５号
【特許文献３】特開２０１１−１８６６０９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
特許文献１に記載の技術では、ＤＣに付与された属性を用いたグループを構築する方法であり、ネットワーク品質を考慮してグループを構築するものではない。
【００１３】
マイクロＤＣを用いてグループを構築する場合、マイクロＤＣ間の応答時間及びネットワーク帯域等のネットワーク品質を示すパラメータがグループの構築に重要となる。
【００１４】
しかし、前述したパラメータは、新規ＩＣＴ設備の追加又はネットワークトラフィック量の増減によって頻繁に変化するため、固定的な属性では管理できず、ネットワークの状態を監視する必要がある。そのため、従来の方法では、ネットワークの状態を考慮したグループの構築、及び、ネットワーク状態に応じたグループの再構築ができなかった。
【課題を解決するための手段】
【００１５】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、ネットワークを介して接続される複数のサブシステムを備える計算機システムであって、前記複数のサブシステムの各々は、第１のプロセッサ、前記第１のプロセッサに接続される第１のメモリ、及び他の装置と通信するための第１のネットワークインタフェースを有する一以上の計算機と、第２のプロセッサ、前記第２のプロセッサに接続される第２のメモリ、及び他の装置と通信するための第２のネットワークインタフェースを有する一以上のネットワーク装置と、を含み、前記計算機システムは、前記複数のサブシステムを管理するサブシステム制御部を備え、前記サブシステム制御部は、前記複数のサブシステムの各々の構成を管理するサブシステム管理情報と、少なくとも一つの前記サブシステムから構成されるグループの構成及び当該グループを用いて提供されるサービスに必要なネットワーク品質を含む、前記グループの条件を管理するサービス管理情報と、を保持し、前記ネットワーク品質は、前記複数のサブシステム間の通信の遅延を示す値を含み、前記サブシステム制御部は、複数のサービスの提供に用いる複数のグループの構築要求を受け付けた場合、前記複数のサブシステムの中から構築されるグループの数だけ、前記グループに含まれる前記少なくとも一つのサブシステムのネットワーク品質及び稼働状態を監視するマイクロ管理ノードとなる前記サブシステムを選択し、前記マイクロ管理ノードと、前記マイクロ管理ノード以外の前記複数のサブシステムの各々との間のネットワーク品質の測定を前記複数のマイクロ管理ノードの各々に命令し、前記複数のマイクロ管理ノードの各々は、ＴＴＬが所定の閾値以下に設定されたＩＰパケットを用いて、前記マイクロ管理ノードと、所定のネットワーク範囲に含まれ、かつ、前記マイクロ管理ノード以外の前記複数のサブシステムの各々との間の前記ネットワーク品質を計測し、前記サブシステム制御部は、前記複数のマイクロ管理ノードの各々から前記ネットワーク品質の測定結果を受信した場合、前記受信したネットワーク品質の測定結果に基づいて、少なくとも一つの前記マイクロ管理ノードを再度選択する必要があるか否かを判定し、前記少なくとも一つのマイクロ管理ノードを再度選択する必要があると判定された場合、新たなマイクロ管理ノードを選択し、前記新たなマイクロ管理ノードから受信した前記ネットワーク品質の測定結果に基づいて前記新たなマイクロ管理ノードを再度選択する必要があるか否かを判定し、前記複数のマイクロ管理ノードのいずれも再度選択する必要がないと判定された場合、前記複数のサービスの中から対象のサービスを選択し、前記サービス管理情報を参照して、前記対象のサービスに用いるグループの条件を抽出し、前記サブシステム管理情報及び前記ネットワーク品質の測定結果に基づいて、前記複数のマイクロ管理ノードの中から前記抽出されたグループの条件を満たすマイクロ管理ノードを検索し、前記複数のサブシステムの中から前記検索されたマイクロ管理ノードを中心としたグループを構成する前記少なくとも一つのサブシステムを選択することによって前記グループの構成を決定し、前記複数のサービスに用いる複数のグループの構成が決定された後、決定された前記グループの構成に関する情報を含むグループ構築命令を前記複数のマイクロ管理ノードに送信することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、時々刻々と変化するネットワーク品質を考慮したサブシステム（データセンタ）のグループを構築し、階層的にサブシステム（データセンタ）の状態を管理することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態におけるデータセンタシステムの構成例を示すブロック図である。
【図２】本発明の実施形態における概要を示す説明図である。
【図３】本発明の実施形態におけるマイクロＤＣの構成例を示すブロック図である。
【図４】本発明の実施形態におけるゲートウェイの構成を説明するブロック図である。
【図５】本発明の実施形態におけるゲートウェイの構成を説明するブロック図である。
【図６】本発明の実施形態におけるマイクロＤＣ管理テーブルの一例を示す説明図である。
【図７】本発明の実施形態におけるグループ管理テーブルの一例を示す説明図である。
【図８】本発明の実施形態におけるサービス管理テーブルの一例を示す説明図である。
【図９】本発明の実施形態におけるグループメンバ管理テーブルの一例を示す説明図である。
【図１０】本発明の実施形態におけるサービス管理テーブルの一例を示す説明図である。
【図１１】本発明の実施形態における管理ノードが実行する処理を説明するフローチャートである。
【図１２】本発明の実施形態におけるマイクロ管理ノードが実行する処理を説明するフローチャートである。
【図１３Ａ】本発明の実施形態におけるマイクロＤＣの追加時に管理ノードが実行する処理を説明するフローチャートである。
【図１３Ｂ】本発明の実施形態におけるマイクロＤＣの追加時に管理ノードが実行する処理を説明するフローチャートである。
【発明を実施するための形態】
【００１８】
図１は、本発明の実施形態におけるデータセンタシステムの構成例を示すブロック図である。
【００１９】
本実施形態におけるデータセンタシステムは、複数のノード（サブシステム）から構成される。各ノードは、ネットワークを介して接続される。ネットワークは、ＷＡＮ及びＬＡＮ等が考えられるが、本発明は、ネットワークの種別に限定されない。
【００２０】
本実施形態では、一つのマイクロＤＣが一つのノードに対応する。また、複数のノードは、管理ノード１０及びノード１１を含む。ここで、マイクロＤＣは、一つ以上のサーバ１１２（図３参照）、インテリジェンスノード、ネットワーク装置及びストレージ装置を備える計算機システムであって、クラウドコンピューティングにおいて計算機資源を提供する計算機システムである。
【００２１】
管理ノード１０は、データセンタシステムに含まれる全ノード１１を管理するノードである。ノード１１は、計算機資源を提供する計算機システムである。
【００２２】
図２は、本発明の実施形態における概要を示す説明図である。
【００２３】
本発明では、管理ノード１０が、ノード（マイクロＤＣ）１１の中からマイクロ管理ノード１２を選択し、当該マイクロ管理ノード１２が各ノード（マイクロＤＣ）１１との間のネットワーク品質を計測する。マイクロ管理ノード１２はノード（マイクロＤＣ）１１との間のネットワーク品質の計測結果を管理ノード１０に送信し、管理ノード１０は受信した計測結果に基づいて、ノード（マイクロＤＣ）１１のグループ構成を決定する。
【００２４】
マイクロ管理ノード１２は、担当するグループに含まれるノード（マイクロＤＣ）１１との間のネットワーク品質及び稼動状態を監視し、監視結果を管理ノード１０に送信する。これによって、管理ノード１０は、グループ単位にノード（マイクロＤＣ）１１を監視することができる。例えば、管理ノード１０は、監視結果に基づいて、ネットワーク品質の劣化を検出し、グループの構成を変更する。
【００２５】
グループの構成の変更方法としては、グループからノード（マイクロＤＣ）１１を削除し、ノード（マイクロＤＣ）１１が所属するグループを変更し、又は、グループに新たなノード（マイクロＤＣ）１１を追加する等の方法が考えられる。
【００２６】
前述のように、マイクロ管理ノード１２はノード単位で各ノード１１の稼動状態及びノード１１との間のネットワーク品質を監視し、管理ノード１０はグループ単位でノード１１の稼動状態及びノードとの間のネットワーク品質を監視する。
【００２７】
図３は、本発明の実施形態におけるマイクロＤＣ１１の構成例を示すブロック図である。図３では、マイクロＤＣ１１を一例に説明するが、管理ノード１０も同一の構成であるものとする。
【００２８】
マイクロＤＣ１１は、ゲートウェイ１１１及びサーバ１１２から構成される。なお、マイクロＤＣ１１は、ストレージ装置等その他の装置を含んでいてもよい。
【００２９】
サーバ１１２は、所定のサービスを提供する計算機である。サーバ１１２は、ＣＰＵ（図示省略）、メモリ（図示省略）、及びＩ／Ｏデバイス（図示省略）等の計算機資源を備える。本実施形態では、仮想化技術をサーバ１１２に適用することによって、計算機資源が割り当てられた仮想計算機がサーバ１１２上に一つ以上稼動する。
【００３０】
ゲートウェイ１１１は、マイクロＤＣ１１とネットワーク１５０とを接続する。例えば、ネットワーク１５０がＷＡＮの場合、ゲートウェイ１１１は、ＷＡＮ接続回線１１３を介してＷＡＮ（ネットワーク１５０）と接続される。また、ゲートウェイ１１１は、サーバ１１２を接続するスイッチ機能の他に、マイクロＤＣ１１を管理する管理機能を備える。
【００３１】
図４及び図５は、本発明の実施形態におけるゲートウェイ１１１の構成を説明するブロック図である。図４は、通常のマイクロＤＣ１１に含まれるゲートウェイ１１１の構成を示す。図５は、管理ノード１０であるマイクロＤＣ１１に含まれるゲートウェイ１１１の構成を示す。
【００３２】
まず、通常のマイクロＤＣ１１に含まれるゲートウェイ１１１の構成について説明する。
【００３３】
ゲートウェイ１１１は、ＣＰＵ１１１１、メモリ１１１２、クロスバスイッチ１１１３、及び複数のネットワークインタフェース（ＮＩＣ）１１１４を備える。
【００３４】
ＣＰＵ１１１１は、メモリ１１１２に格納されるプログラムを実行する。ＣＰＵ１１１１がプログラムを実行することによって、ゲートウェイ１１１が有する機能を実現できる。
【００３５】
メモリ１１１２は、ＣＰＵ１１１１によって実行されるプログラム及び当該プログラムを実行するために必要な情報を格納する。メモリ１１１２に格納されるプログラム及び情報については後述する。
【００３６】
クロスバスイッチ１１１３は、ＮＩＣ１１１４への接続を切り替えることによって所定の宛先にパケットを転送する。ＮＩＣ１１１４は、ネットワーク１５０と接続するためのインタフェースである。
【００３７】
ゲートウェイ１１１は、ＮＩＣ１１１４を介してパケットを受信した場合、クロスバスイッチ１１１３を介してＣＰＵ１１１１にパケットを転送する。ＣＰＵ１１１１は、パケットを解析して、メモリ１１１２に格納されるネットワーク情報等を参照し、受信したパケットの宛先を解決し、クロスバスイッチ１１１３を介して所定のＮＩＣ１１１４に対してパケットを転送する。
【００３８】
本実施形態では、メモリ１１１２は、ゲートウェイとしての機能を実現するためのプログラム及び情報の他に、マイクロＤＣ管理部１１１２１及びノード管理部１１１２２を実現するプログラムを格納する。また、メモリ１１１２は、グループメンバ管理テーブル１１１２３及びサービス管理テーブル１１１２４を格納する。なお、メモリ１１１２は、他のプログラム及び情報を格納してもよい。
【００３９】
マイクロＤＣ管理部１１１２１は、マイクロＤＣ１１内のサーバ１１２の負荷及び稼動状態を収集し、マイクロＤＣ１１内の計算機資源の状態を管理する。
【００４０】
具体的には、マイクロＤＣ管理部１１１２１は、マイクロＤＣ１１内のサーバ１１２と通信するためのパケットを生成し、生成されたパケットをクロスバスイッチ１１１３及びＮＩＣ１１１４を介してサーバ１１２に送信する。マイクロＤＣ管理部１１１２１は、サーバ１１２から負荷及び稼動状態を示す情報を含むパケットを受信した場合、当該情報を各管理テーブルに格納する。
【００４１】
また、マイクロＤＣ管理部１１１２１は、マイクロＤＣ１１として提供するサービスの状況及び計算機資源の割り当て等も管理する。
【００４２】
ノード管理部１１１２２は、ネットワークを介して他のマイクロＤＣ１１と通信する機能、及びマイクロ管理ノード１２としての動作するための機能を有する。
【００４３】
ノード管理部１１１２２は、マイクロＤＣ１１間で時刻情報を付与したパケットを送受信することによって、各マイクロＤＣ１１におけるラウンドトリップタイム（ＲＴＴ）、及び時刻同期の揺らぎ等のネットワーク品質を計測する。
【００４４】
また、ノード管理部１１１２２は、マイクロＤＣ１１との間のネットワーク品質の計測結果、各マイクロＤＣ１１内のサーバ１１２の負荷及び稼動状態に関する情報、並びに各マイクロＤＣ１１におけるサービスの提供状況に関する情報などをマイクロ管理ノード１２に送信する。
【００４５】
ノード管理部１１１２２は、マイクロ管理ノード１２としての選出された場合、他のマイクロＤＣ１１から受信したネットワーク品質の計測結果及びサービスの提供状況に関する情報等を各管理テーブルに記録し、管理ノード１０に記録された情報を送信する。
【００４６】
グループメンバ管理テーブル１１１２３は、マイクロ管理ノード１２として監視するグループに含まれるマイクロＤＣ１１に関する情報を格納する。グループメンバ管理テーブル１１１２３の詳細については、図９を用いて後述する。サービス管理テーブル１１１２４は、グループ内で提供するサービスに関する情報を格納する。サービス管理テーブル１１１２４の詳細については、図１０を用いて後述する。
【００４７】
次に、管理ノード１０に含まれるゲートウェイ１１１の構成について説明する。
【００４８】
ゲートウェイ１１１のハードウェア構成は、ノード１１に含まれるゲートウェイ１１１と同一であるため説明を省略する。管理ノード１０に含まれるゲートウェイ１１１は、メモリ１１１２にデータセンタ制御部１１１２５が格納される点が異なる。なお、メモリ１１１２に、マイクロＤＣ管理部１１１２１及びノード管理部１１１２２が格納されてもよい。
【００４９】
データセンタ制御部１１１２５は、マイクロ管理ノード１２を選択し、マイクロ管理ノード１２から送信されるマイクロＤＣ１１との間のネットワーク品質に関する情報に基づいて、グループの構成を決定する。また、データセンタ制御部１１１２５は、マイクロ管理ノード１２から送信され、グループに含まれるマイクロＤＣ１１との間のネットワーク品質に関する情報に基づいて、グループの構成を変更する。
【００５０】
データセンタ制御部１１１２５は、マイクロＤＣ管理テーブル１１１２６、グループ管理テーブル１１１２７、及びサービス管理テーブル１１１２８を含む。
【００５１】
マイクロＤＣ管理テーブル１１１２６は、データセンタシステムに含まれるマイクロＤＣ１１の情報を格納する。マイクロＤＣ管理テーブル１１１２６の詳細については、図６を用いて後述する。
【００５２】
グループ管理テーブル１１１２７は、グループの情報を格納する。グループ管理テーブル１１１２７の詳細については、図７を用いて後述する。
【００５３】
サービス管理テーブル１１１２８は、データセンタシステムを用いて提供されるサービスの情報を格納する。サービス管理テーブル１１１２８の詳細については、図８を用いて後述する。
【００５４】
なお、マイクロＤＣ管理部１１１２１、ノード管理部１１１２２、及びデータセンタ制御部１１１２５が備える機能を専用のハードウェアを用いて実現してもよい。また、管理ノード１０は、マイクロＤＣ１１に含まれるゲートウェイ１１１である必要は無く、データセンタ制御部１１１２５を備える計算機又はネットワーク装置であってもよい。
【００５５】
図６は、本発明の実施形態におけるマイクロＤＣ管理テーブル１１１２６の一例を示す説明図である。
【００５６】
マイクロＤＣ管理テーブル１１１２６は、ＤＣ名１１１２６１、ＤＣアドレス１１１２６２、管理機能１１１２６３、演算性能１１１２６４、稼動情報１１１２６５、所属グループ１１１２６６、及び属性情報１１１２６７を含む。
【００５７】
ＤＣ名１１１２６１は、管理対象のマイクロＤＣ１１の識別子を格納する。
【００５８】
ＤＣアドレス１１１２６２は、マイクロＤＣ１１のアドレスを格納する。本実施形態では、マイクロＤＣ１１を構成するゲートウェイ１１１のアドレスが格納される。
【００５９】
管理機能１１１２６３は、ノード管理部１１１２２を有するか否かを示す情報を格納する。
【００６０】
演算性能１１１２６４は、ＤＣ名１１１２６１に対応するマイクロＤＣ１１における演算処理の性能を示す値を格納する。演算処理の性能としては、例えば、計算機資源の性能、ネットワーク帯域、及びサービスを提供可能なユーザ数などが考えられる。
【００６１】
なお、演算処理の性能は、マイクロＤＣ１１の構成時に決定される値である。ただし、マイクロＤＣ１１の構成が変更された場合等には、当該値は変更される。この場合、マイクロＤＣ１１が管理ノード１０又はマイクロ管理ノード１２に変更後の値を通知する。
【００６２】
稼動情報１１１２６５は、ＤＣ名１１１２６１に対応するマイクロＤＣ１１の稼動状態を示す情報を格納する。具体的には、通常のマイクロＤＣ１１として稼動する場合には「通常」が格納され、マイクロ管理ノード１２として稼動する場合には「管理」が格納される。
【００６３】
所属グループ１１１２６６は、ＤＣ名１１１２６１に対応するマイクロＤＣ１１が所属するグループの識別子を格納する。
【００６４】
属性情報１１１２６７は、ＤＣ名１１１２６１に対応するマイクロＤＣ１１が有する各種属性情報を格納する。属性情報は、例えば、地理的な情報、ストレージシステムの有無を示す情報、及び特定の機能の有無などを示す情報などが考えられる。
【００６５】
図７は、本発明の実施形態におけるグループ管理テーブル１１１２７の一例を示す説明図である。
【００６６】
グループ管理テーブル１１１２７は、グループ名１１１２７１、マイクロ管理ノードアドレス１１１２７２、演算性能１１１２７３、負荷１１１２７４、サービス１１１２７５、及び属性情報１１１２７６を含む。
【００６７】
グループ名１１１２７１は、グループの識別子を格納する。
【００６８】
マイクロ管理ノードアドレス１１１２７２は、グループ名１１１２７１に対応するグループを管理するマイクロ管理ノード１２のアドレスを格納する。本実施形態では、ゲートウェイ１１１のアドレスが格納される。
【００６９】
演算性能１１１２７３は、グループ名１１１２７１に対応するグループの演算処理の性能を示す数値を格納する。演算性能１１１２７３には、グループに含まれる全てのマイクロＤＣ１１の演算処理の性能（演算性能１１１２６４）の合計値が格納される。
【００７０】
負荷１１１２７４は、グループ名１１１２７１に対応するグループにおける現在の負荷を表す情報を格納する。例えば、計算機資源の使用量若しくは使用率、又は、ネットワーク帯域の使用量若しくは使用率などが格納される。当該情報は、各マイクロ管理ノード１２から周期的に送信される情報である。
【００７１】
サービス１１１２７５は、グループ名１１１２７１に対応するグループが提供されるサービスの識別情報を格納する。
【００７２】
属性情報１１１２７６は、属性情報１１１２６７と同一のものである。なお、属性情報１１１２７６には、グループに含まれる全てのマイクロＤＣ１１の属性情報１１１２６７が統計処理された形式の情報が格納される。
【００７３】
図８は、本発明の実施形態におけるサービス管理テーブル１１１２８の一例を示す説明図である。
【００７４】
サービス管理テーブル１１１２８は、ＩＤ１１１２８１、サービス名１１１２８２、推定負荷１１１２８３、提供対象１１１２８４、稼動プログラム１１１２８５、属性情報１１１２８６、及び冗長構成１１１２８７を含む。
【００７５】
ＩＤ１１１２８１は、サービスを一意に識別するための識別子を格納する。サービス名１１１２８２は、サービスの名称を格納する。
【００７６】
推定負荷１１１２８３は、サービス名１１１２８２に対応するサービスを提供する場合にマイクロＤＣ１１又はグループに対する負荷を表す値を格納する。推定負荷１１１２８３に格納される値は、サービス毎に予め設定されているものとする。なお、前述した値は、管理者によって変更することも可能である。
【００７７】
提供対象１１１２８４は、サービスを提供するユーザの識別情報を格納する。
【００７８】
稼動プログラム１１１２８５は、サービスの提供時に窓口となるアドレス、すなわち、ポートのアドレスを格納する。
【００７９】
属性情報１１１２８６は、サービス名１１１２８２に対応するサービスを提供するためにマイクロＤＣ１１又はグループに必要な属性情報を格納する。
【００８０】
冗長構成１１１２８７は、サービスを提供するために冗長化された構成が必要か否かを示す情報を格納する。冗長化された構成が必要な場合には「必要」が格納され、冗長化された構成が必要ない場合には「不要」が格納される。
【００８１】
図９は、本発明の実施形態におけるグループメンバ管理テーブル１１１２３の一例を示す説明図である。
【００８２】
グループメンバ管理テーブル１１１２３は、ＤＣ名１１１２３０１、ＤＣアドレス１１１２３０２、負荷１１１２３０３、演算性能１１１２３０４、サービス１１１２３０５、時刻同期１１１２３０６、ＲＴＴ１１１２３０７、帯域１１１２３０８、揺らぎ１１１２３０９、及び属性情報１１１２３１０を含む。
【００８３】
ＤＣ名１１１２３０１、ＤＣアドレス１１１２３０２、演算性能１１１２３０４、及び属性情報１１１２３１０は、ＤＣ名１１１２６１、ＤＣアドレス１１１２６２、演算性能１１１２６４、及び属性情報１１１２６７と同一のものである。また、負荷１１１２３０３は、負荷１１１２７４と同一のものである。サービス１１１２３０５は、ＩＤ１１１２８１と同一のものである。
【００８４】
時刻同期１１１２３０６、ＲＴＴ１１１２３０７、帯域１１１２３０８、及び揺らぎ１１１２３０９は、ネットワーク品質を表すパラメータである。
【００８５】
時刻同期１１１２３０６は、時刻同期のグループを示す情報を格納する。
【００８６】
ＲＴＴ１１１２３０７、マイクロ管理ノード１２とマイクロＤＣ１１との間のラウンドトリップタイム（ＲＴＴ）を格納する。帯域１１１２３０８は、マイクロ管理ノード１２とマイクロＤＣ１１との間の帯域を格納する。揺らぎ１１１２３０９は、ＲＴＴの揺らぎ又は時刻同期の際の揺らぎを格納する。
【００８７】
図１０は、本発明の実施形態におけるサービス管理テーブル１１１２４の一例を示す説明図である。
【００８８】
サービス管理テーブル１１１２４は、ＩＤ１１１２４１、サービス名１１１２４２、推定負荷１１１２４３、提供対象１１１２４４、稼動プログラム１１１２４５、属性情報１１１２４６、及び冗長構成１１１２４７を含む。
【００８９】
ＩＤ１１１２４１、サービス名１１１２４２、推定負荷１１１２４３、提供対象１１１２４４、稼動プログラム１１１２４５、属性情報１１１２４６、及び冗長構成１１１２４７は、それぞれ、ＩＤ１１１２８１、サービス名１１１２８２、推定負荷１１１２８３、提供対象１１１２８４、稼動プログラム１１１２８５、属性情報１１１２８６、及び冗長構成１１１２８７と同一のものである。
【００９０】
図１１は、本発明の実施形態における管理ノード１０が実行する処理を説明するフローチャートである。
【００９１】
以下の説明では、グループが初めて構築される場合を例に説明する。したがって、マイクロＤＣ管理テーブル１１１２６の全てのエントリの所属グループ１１１２６６は空欄であり、また、全てのエントリの稼動情報１１１２６５には「通常」が格納される。さらに、グループ管理テーブル１１１２７は、空欄のままである。なお、サービス管理テーブル１１１２８には、全ての情報が格納される。
【００９２】
管理ノード１０は、処理の開始要求を受け付けると処理を開始する（ステップＳ１００）。なお、開始要求には、少なくとも構築するグループの数及びグループの識別子が含まれる。また、本実施形態では、構築されるグループ毎に提供するサービスが予め設定されているものとする。したがって、開始要求には、グループの識別子とサービスの識別子とが対応づけられた情報も含まれる。
【００９３】
管理ノード１０は、受信した開始要求に基づいて、グループ管理テーブル１１１２７を更新する。具体的には、管理ノード１０は、構築するグループの数だけエントリを生成し、当該エントリのグループ名１１１２７１にグループの識別子を格納し、サービス１１１２７５にサービスの識別子を格納する。
【００９４】
管理ノード１０は、まず、マイクロＤＣ１１の中からマイクロ管理ノード１２を選出する（ステップＳ１０１）。具体的には、以下のような処理が実行される。
【００９５】
管理ノード１０は、マイクロＤＣ管理テーブル１１１２６の管理機能１１１２６３を参照して、ノード管理部１１１２２を有するマイクロＤＣ１１を特定する。
【００９６】
管理ノード１０は、構築するグループの数及びサイズに基づいて、特定されたマイクロＤＣ１１の中からマイクロ管理ノード１２をグループ数だけ選択し、選出されたマイクロＤＣ１１に選出命令を送信する。例えば、グループを三つ構築する場合、管理ノード１０は、三つのマイクロ管理ノード１２を選出する。
【００９７】
このとき、管理ノード１０は、属性情報１１１２６７等の情報に基づいて、最適なマイクロ管理ノード１２を選択してもよい。例えば、管理ノード１０は、配置が分散するように、マイクロ管理ノード１２を選出してもよい。
【００９８】
管理ノード１０は、選出されたマイクロＤＣ１１に対応するエントリの稼動情報１１１２６５を「管理」に更新する。また、管理ノード１０は、グループ管理テーブル１１１２７のマイクロ管理ノードアドレス１１１２７２に、選出されたマイクロＤＣ１１のアドレスを格納する。
【００９９】
以上がステップＳ１０１の処理である。
【０１００】
次に、管理ノード１０は、選出されたマイクロ管理ノード１２からネットワーク品質の計測結果を受信する（ステップＳ１０３）。
【０１０１】
管理ノード１０は、受信した計測結果に基づいて、ネットワーク品質が所定の条件を満たすか否かを判定する（ステップＳ１０５）。具体的には、以下のような処理が実行される。
【０１０２】
管理ノード１０は、各マイクロ管理ノード１２から受信した計測結果を集計する。管理ノード１０は、集計結果及び各管理テーブルに基づいて、計測結果が悪いマイクロＤＣ１１が一定数以上存在するか否か、又は、ネットワーク品質が計測されていないマイクロＤＣ１１が存在するか否かを判定する。
【０１０３】
例えば、ＲＴＴの値が所定の閾値より大きい場合には、計測結果が悪いマイクロＤＣ１１が存在すると判定される。なお、閾値は、予め設定されているものとする。
【０１０４】
計測結果が悪いマイクロＤＣ１１が一定数以上存在する場合、又は、ネットワーク品質が計測されていないマイクロＤＣ１１が存在する場合、管理ノード１０は、ネットワーク品質が所定の条件を満たさないと判定する。一方、計測結果が悪いマイクロＤＣが一定数以上存在せず、かつ、全てのマイクロＤＣ１１に対してネットワーク品質が計測されている場合、管理ノード１０は、ネットワーク品質が所定の条件を満たすと判定する。
【０１０５】
ネットワーク品質が所定の条件を満たさないと判定された場合、管理ノード１０は、計測結果に基づいて、再度、マイクロ管理ノード１２を選出し（ステップＳ１１３）、ステップＳ１０３に戻る。なお、管理ノード１０は、マイクロ管理ノード１２の設定を解除するため場合、マイクロ管理ノード１２に対して解除命令を送信する。
【０１０６】
ネットワーク品質が所定の条件を満たすと判定された場合、管理ノード１０は、類似する計測結果のマイクロ管理ノード１２が存在するか否かを判定する（ステップＳ１０７）。これは、同一のマイクロＤＣ１１を構成要素とするグループが生成され、グループの管理効率が悪くなるのを避けるためである。
【０１０７】
具体的には、管理ノード１０は、各マイクロ管理ノード１２から受信した計測結果を比較し、類似する計測結果が存在するか否かを判定する。例えば、テーブル形式の情報として計測結果が送信される場合、同一のマイクロＤＣ１１との間のＲＴＴの誤差が所定の閾値内に含まれるエントリが一定数以上存在する場合には、類似する計測結果と判定される。
【０１０８】
類似する計測結果のマイクロ管理ノード１２が存在すると判定された場合、管理ノード１０は、再度、マイクロ管理ノード１２を選出し（ステップＳ１１３）、ステップＳ１０３に戻る。
【０１０９】
類似する計測結果のマイクロ管理ノード１２が存在しないと判定された場合、管理ノード１０は、計測結果に基づいて、グループの構成を決定する（ステップＳ１０９）。
【０１１０】
このとき、管理ノード１０は、グループの構成を決定した後、各管理テーブルを以下のように更新する。
【０１１１】
管理ノード１０は、グループ管理テーブル１１１２７の各エントリの演算性能１１１２７３に、当該グループを構成するマイクロＤＣ１１の演算性能１１１２６４の合計値を格納する。管理ノード１０は、グループを構成するマイクロＤＣ１１の属性情報１１１２６７を集計し、属性情報１１１２７６に集計結果を格納する。なお、演算性能１１１２７３には、マイクロ管理ノード１２からの通知に基づいて修正された値が格納されてもよい。
【０１１２】
また、管理ノード１０は、マイクロＤＣ管理テーブル１１１２６の所属グループ１１１２６６に、当該マイクロＤＣ１１が所属するグループの識別子を格納する。
【０１１３】
なお、マイクロ管理ノード１２に対してクライアントから要求があった場合、マイクロ管理ノード１２は、新たに追加されたサービスの識別子を通知する。当該通知を受信した管理ノード１０は、サービス１１１２７５に通知されたサービスの識別子を追加する。
【０１１４】
ステップＳ１０９におけるグループの構成の決定方法としては、例えば、以下のような方法が考えられる。
【０１１５】
一つの方法としては、マイクロ管理ノード１２毎に、当該マイクロ管理ノード１２との間のＲＴＴが小さいマイクロＤＣ１１から順に割り当てる方法が考えられる。
【０１１６】
また、他の方法としては、サービスを考慮した割り当て方法が考えられる。グループ毎に提供するサービスと、サービスの処理負荷の大きさとが予め分かる場合に、当該サービスの提供に必要となる機能（属性）などの構成情報を反映して、マイクロＤＣ１１を割り当てる。具体的には、以下のような処理を行う。
【０１１７】
管理ノード１０は、サービス管理テーブル１１１２４を参照し、推定負荷１１１２８３及び属性情報１１１２８６に基づいて、サービスを提供するグループに必要な条件を抽出する。
【０１１８】
管理ノード１０は、要求される条件が厳しいサービスから順に、マイクロＤＣ管理テーブル１１１２６、及び受信した計測結果に基づいて、条件を満たすグループを構成しやすいマイクロ管理ノード１２を検索し、当該マイクロ管理ノード１２を中心にグループを構成するマイクロＤＣ１１を選択する。
【０１１９】
管理ノード１０は、サービスを提供するために十分な計算機資源を有するグループが構築されると、次に条件の厳しいサービスについて同様の処理を実行する。
【０１２０】
なお、既にサービスの提供が決まっているグループが他のサービスも提供するために用いられる場合もある。この場合、既に割り当てられているサービスの処理負荷、属性情報を考慮し、当該グループに対して新たなマイクロＤＣ１１を割り当てる。
【０１２１】
グループへのマイクロＤＣ１１の割り当て状況はマイクロＤＣ管理テーブル１１１２６及びグループ管理テーブル１１１２７に反映される。
【０１２２】
全てのサービスについてグループの割り当てが完了した後、管理ノード１０は、さらに、どのグループにも割り当てられなかったマイクロＤＣ１１を、予備の計算機資源を提供するマイクロＤＣ１１として管理し、処理を終了する。
【０１２３】
以上が、グループの構成の決定方法の説明である。図１１の説明に戻る。
【０１２４】
管理ノード１０は、グループの構成を決定した後、マイクロ管理ノード１２にグループの構築指示を送信する（ステップＳ１１１）。
【０１２５】
このとき、管理ノード１０は、マイクロＤＣ管理テーブル１１１２６からグループを構成するマイクロＤＣ１１に関する情報を取得し、サービス管理テーブル１１１２８から各グループが提供するサービスに関する情報を取得する。管理ノード１０は、取得された情報を含むグループの構築指示を生成する。なお、グループ構成情報には、少なくともマイクロＤＣ１１の名称、マイクロＤＣ１１のアドレス、属性情報、サービスの識別子、及び提供対象が含まれる。
【０１２６】
図１２は、本発明の実施形態におけるマイクロ管理ノード１２が実行する処理を説明するフローチャートである。
【０１２７】
以下の処理は、マイクロＤＣ１１に含まれるゲートウェイ１１１によって実行される。
【０１２８】
ゲートウェイ１１１は、管理ノード１０から選出命令を受信すると、ノード管理部１１１２２を呼び出し、マイクロ管理ノード１２として処理を開始する（ステップ２０１）。以下、マイクロ管理ノード１２を主体として処理を記載する。
【０１２９】
マイクロ管理ノード１２は、計測対象のマイクロＤＣ１１との間のネットワーク品質を計測し、計測結果を管理ノード１０に通知する（ステップＳ２０３、ステップＳ２０５）。なお、計測結果には、マイクロ管理ノード１２の識別子、計測対象のマイクロＤＣ１１の識別子、及びネットワーク品質を示す各種パラメータが含まれる。
【０１３０】
ここで、計測対象のマイクロＤＣ１１との間のネットワーク品質の計測方法について説明する。
【０１３１】
まず、マイクロ管理ノード１２は、ＲＴＴを計測するために、近傍に存在するマイクロＤＣ１１に対してＲＴＴ計測パケットをマルチキャスト送信する。ＲＴＴ計測パケットを受信したマイクロＤＣ１１は、ＰＩＮＧと同様に、マイクロ管理ノード１２に対して当該パケットの応答を返信する。
【０１３２】
このとき、マルチキャスト送信するパケットがＩＰパケットである場合、マイクロ管理ノード１２は、ＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）を小さく設定することによって、ネットワーク上の特定のホップ数以内の範囲に含まれるマイクロＤＣ１１にのみパケットが到着するようにできる。すなわち、パケットの生存期間を短く設定することによって、近傍に存在するマイクロＤＣ１１にのみＲＴＴ計測パケットを送信することができる。
【０１３３】
マイクロ管理ノード１２は、計測対象のマイクロＤＣ１１のアドレスと到着間隔とをＲＴＴの計測結果として記録する。
【０１３４】
マイクロ管理ノード１２は、ＲＴＴの計測処理を複数回実行し、ＲＴＴの大きさの揺らぎも併せて計測する。本実施形態では、ＲＴＴの計測結果からＲＴＴが小さいマイクロＤＣ１１又はＲＴＴの揺らぎが小さいマイクロＤＣ１１が、グループを構成するマイクロＤＣ１１の候補となる。
【０１３５】
マイクロ管理ノード１２は、ＲＴＴの計測後、候補となるマイクロＤＣ１１との間で時刻同期の揺らぎを計測する。
【０１３６】
時刻同期の揺らぎの計測については、ＮＴＰやＩＥＥＥ  １５８８などのネットワークを介した時刻同期プロトコル、及びＧＰＳなどの無線による時刻同期プロトコルを用いて各マイクロＤＣ１１の時刻同期が行われている場合、マイクロ管理ノード１２は、マイクロＤＣ１１との間で時刻情報を含むパケットを互いに送信することによって、時刻同期の差を計測できる。
【０１３７】
このとき、マイクロ管理ノード１２は、時刻同期のズレの大きさではなく、時刻情報の差分がどれだけ変動するかという情報を記録する。管理ノード１０は、マイクロ管理ノード１２とマイクロＤＣ１１との間の通信経路におけるトラフィックの負荷が原因で発生する遅延時間の変動量を判定するために前述した情報を用いる。
【０１３８】
管理ノード１０は、前述した差分の変動量が小さいほど、通信経路におけるトラフィック負荷がかかっておらず、遅延が安定していると判定できる。通信の遅延時間が安定していることなどが重視されるサービスの提供時には、管理ノード１０は、前述した値を条件としてグループの構成を決定できる。
【０１３９】
なお、前述の差分の変動量は時々刻々と変動するため、マイクロ管理ノード１２は、グループの構築後も前述した差分の変動量を計測する。
【０１４０】
マイクロ管理ノード１２は、管理ノード１０から解除命令を受信したか否かを判定する（ステップＳ２０７）。
【０１４１】
管理ノード１０から解除命令を受信したと判定された場合、マイクロ管理ノード１２は、ノード管理部１１１２２を停止し、処理を終了する。
【０１４２】
管理ノード１０から解除命令を受信していないと判定された場合、マイクロ管理ノード１２は、ネットワーク品質を再計測する必要があるか否かを判定する（ステップＳ２０９）。具体的には、管理ノード１０から再度選出命令を受信したか否かを判定する。これは、管理ノード１０が、マイクロ管理ノード１２を再度選出した場合に、改めて、マイクロ管理ノード１２として選出されたことを示す。
【０１４３】
ネットワーク品質を再計測する必要があると判定された場合、マイクロ管理ノード１２は、ステップＳ２０３に戻り、同様の処理を実行する。
【０１４４】
ネットワーク品質を再計測する必要がないと判定された場合、マイクロ管理ノード１２は、グループの構築指示を受信したか否かを判定する（ステップＳ２１１）。
【０１４５】
グループの構築指示を受信していないと判定された場合、マイクロ管理ノード１２は、ステップＳ２０９に戻り、同様の処理を実行する。
【０１４６】
グループの構築指示を受信したと判定された場合、マイクロ管理ノード１２は、受信したグループの構築指示に基づいてグループを生成し、処理を終了する（ステップＳ２１３）。具体的には、以下のような処理を実行する。
【０１４７】
マイクロ管理ノード１２は、受信したグループの構築指示に基づいて、グループメンバ管理テーブル１１１２３及びサービス管理テーブル１１１２４を更新する。
【０１４８】
その後、マイクロ管理ノード１２は、周期的に、グループに含まれるマイクロＤＣ１１との間のネットワーク品質を監視する。ネットワーク品質が劣化することによってサービス品質の維持が困難となった場合、マイクロ管理ノード１２は、管理ノード１０にサービス品質の維持が困難である旨を通知する。管理ノード１０は、前述の通知を受信すると、グループからマイクロＤＣ１１を削除し、グループに代替のマイクロＤＣ１１を追加し、又は、新たにグループを再構築する。
【０１４９】
また、特定のマイクロＤＣ１１を用いてサービスを提供する場合、時刻同期を行う場合、又は、冗長構成を組む場合において、マイクロ管理ノード１２は、周期的に、特定のマイクロＤＣ１１との間のネットワーク品質を監視する。ネットワーク品質が劣化し、特定のマイクロＤＣ１１を用いたサービスの品質が維持できない場合、マイクロ管理ノード１２は、サービスを提供するためのマイクロＤＣ１１の組み合わせを変更する。
【０１５０】
また、マイクロ管理ノード１２は、ネットワーク品質の計測結果をログとして格納してもよい。これによって、マイクロ管理ノード１２は、過去の履歴からネットワーク品質の劣化を検出することができる。
【０１５１】
次に、データセンタシステムに、新たなマイクロＤＣ１１が追加された場合の処理について説明する。
【０１５２】
図１３Ａ及び図１３Ｂは、本発明の実施形態におけるマイクロＤＣ１１の追加時に管理ノード１０が実行する処理を説明するフローチャートである。
【０１５３】
管理ノード１０は、追加された新規マイクロＤＣ１１の情報を取得する（ステップＳ３０１）。例えば、ユーザが管理ノード１０に対して、新規マイクロＤＣ１１の情報を入力する方法が考えられるが、本発明は、新規マイクロＤＣ１１の情報の取得方法に限定されない。なお、新規マイクロＤＣ１１の情報には、マイクロＤＣ管理テーブル１１１２６を生成するために必要な各種情報が含まれる。
【０１５４】
管理ノード１０は、マイクロ管理ノード１２に対して、新規マイクロＤＣ１１のアドレスを通知する（ステップＳ３０３）。各マイクロ管理ノード１２は、当該アドレスを受信すると、新規マイクロＤＣ１１との間のネットワーク品質を計測する。具体的には、各マイクロ管理ノード１２は、通知されたアドレス宛にＲＴＴ計測パケットを送信してＲＴＴ等のネットワーク品質を計測する。
【０１５５】
管理ノード１０は、各マイクロ管理ノード１２から新規マイクロＤＣ１１との間のネットワーク品質の計測結果を受信する（ステップＳ３０５）。
【０１５６】
管理ノード１０は、受信した計測結果に基づいて、新規マイクロＤＣ１１との間のＲＴＴが一定値以下のマイクロ管理ノード１２が存在するか否かを判定する（ステップＳ３０７）。
【０１５７】
新規マイクロＤＣ１１との間のＲＴＴが一定値以下のマイクロ管理ノード１２が存在しないと判定された場合、管理ノード１０は、グループを再構築するために図１１に示す処理を実行し、処理を終了する（ステップＳ３１３）。これは、現在のグループ構成では、新規マイクロＤＣ１１を追加することができないため、改めて、新規マイクロＤＣ１１を含めてグループを構築する必要があるためである。
【０１５８】
新規マイクロＤＣ１１との間のＲＴＴが一定値以下のマイクロ管理ノード１２が存在すると判定された場合、管理ノード１０は、グループ管理テーブル１１１２７を参照し、演算性能が不足するグループが存在するか否かを判定する（ステップＳ３０９）。例えば、管理ノード１０は、演算性能１１１２７３の値と、負荷１１１１２７４の値との差が所定の閾値以下の場合、演算性能が不足していると判定する。以下、演算性能が不足するグループを対象グループとも記載する。
【０１５９】
対象グループが存在しないと判定された場合、管理ノード１０は、新規マイクロＤＣ１１との間のＲＴＴが最小のマイクロ管理ノード１２に、当該マイクロ管理ノード１２が管理するグループへの新規マイクロＤＣ１１の追加指示を送信し、処理を終了する（ステップＳ３１１）。なお、当該追加指示には、新規マイクロＤＣ１１の各種情報が格納される。
【０１６０】
マイクロ管理ノード１２は、受信した追加指示に基づいて、新規マイクロＤＣ１１をグループに追加し、グループメンバ管理テーブル１１１２３を更新する。
【０１６１】
対象グループが存在すると判定された場合、管理ノード１０は、対象グループを管理するマイクロ管理ノード１２と新規マイクロＤＣ１１との間のＲＴＴが一定値以下であるか否かを判定する（ステップＳ３１５）。すなわち、対象グループに新規マイクロＤＣ１１を追加できるか否かが判定される。以下、対象グループを管理するマイクロ管理ノード１２を対象マイクロ管理ノード１２とも記載する。
【０１６２】
対象マイクロ管理ノード１２と新規マイクロＤＣ１１との間のＲＴＴが一定値以下であると判定された場合、すなわち、対象グループに新規マイクロＤＣ１１を追加できると判定された場合、管理ノード１０は、当該マイクロ管理ノード１２に、グループへの新規マイクロＤＣ１１の追加指示を送信し、処理を終了する（ステップＳ３２７）。
【０１６３】
マイクロ管理ノード１２と新規マイクロＤＣ１１との間のＲＴＴが一定値以下でないと判定された場合、管理ノード１０は、新規マイクロＤＣ１１との間のＲＴＴが一定値以下のマイクロ管理ノード１２に対して、対象グループに追加可能なマイクロＤＣ１１が存在するか否かを問い合わせる（ステップＳ３１７）。
【０１６４】
マイクロ管理ノード１２は、当該問い合わせを受け付けると、グループメンバ管理テーブル１１１２３及びサービス管理テーブル１１１２４を参照し、グループから削除可能なマイクロＤＣ１１が存在するか否か判定する。例えば、マイクロ管理ノード１２は、所定のマイクロＤＣ１１を削除した場合の演算性能及び属性情報に基づいて、提供するサービスの品質を維持できるか否かを判定する。
【０１６５】
マイクロ管理ノード１２は、管理ノード１０に削除可能なマイクロＤＣ１１のアドレスを含む応答を送信する。
【０１６６】
管理ノード１０は、対象マイクロ管理ノード１２に、削除可能なマイクロＤＣ１１のアドレスを含むネットワーク品質の計測指示を送信する（ステップＳ３１９）。
【０１６７】
対象マイクロ管理ノード１２は、計測指示に含まれるアドレスに基づいて、削除可能なマイクロＤＣ１１にＲＴＴ計測パケット等を送信して、ネットワーク品質を計測する。対象マイクロ管理ノード１２は、管理ノード１０に計測結果を送信する。
【０１６８】
管理ノード１０は、受信した計測結果に基づいて、削除可能なマイクロＤＣ１１の中に、対象マイクロ管理ノード１２との間のＲＴＴが一定値以下のマイクロＤＣ１１が存在するか否かを判定する（ステップＳ３２１）。以下、削除可能なマイクロＤＣ１１のうち、対象マイクロ管理ノード１２との間のＲＴＴが一定値以下のマイクロＤＣ１１を追加候補マイクロＤＣ１１とも記載する。
【０１６９】
追加候補マイクロＤＣ１１が存在しないと判定された場合、管理ノード１０は、ステップＳ３１３に進む。
【０１７０】
追加候補マイクロＤＣ１１が存在すると判定された場合、管理ノード１０は、対象マイクロ管理ノード１２に、対象グループへの追加候補マイクロＤＣ１１の追加指示を送信する（ステップＳ３２３）。なお、追加候補マイクロＤＣ１１が複数ある場合、ＲＴＴが小さいものから順に追加する方法が考えられる。
【０１７１】
さらに、管理ノード１０は、新規マイクロＤＣ１１との間のＲＴＴが一定値以下のマイクロ管理ノード１２に、グループからの追加候補マイクロＤＣ１１の削除指示と、グループへの新規マイクロＤＣ１１の追加指示とを送信し、処理を終了する（ステップＳ３２５）。
【０１７２】
本実施形態では、管理ノード１０及び所定のグループに所属するマイクロＤＣ１１は、マイクロ管理ノード１２との間で周期的な通信がない場合に、当該マイクロ管理ノード１２の障害発生を検出できる。
【０１７３】
マイクロＤＣ１１がマイクロ管理ノード１２の障害発生を検出した場合、マイクロＤＣ１１は、管理ノード１０に対して、マイクロ管理ノード１２との通信ができない旨、すなわち、マイクロ管理ノード１２が存在しない旨を通知する。
【０１７４】
管理ノード１０は、マイクロ管理ノード１２と通信ができない場合、又は、マイクロＤＣ１１からマイクロ管理ノード１２が存在しない旨の通知を受信した場合に、障害が発生したマイクロ管理ノード１２が管理するグループに含まれるマイクロＤＣ１１の中から新たなマイクロ管理ノード１２を選出する。
【０１７５】
なお、グループの中にマイクロ管理ノード１２の候補となるマイクロＤＣ１１が存在しない場合、管理ノード１０は、グループを再構築する。
【０１７６】
本実施形態では、マイクロ管理ノード１２を一つ決定していたが、マイクロ管理ノード１２の障害に対応するために、管理ノード１０は、グループを構成する時に、代替のマイクロ管理ノード１２とするマイクロＤＣ１１を設定してもよい。
【０１７７】
この場合、グループ管理テーブル１１１２７に代替えマイクロ管理ノードのアドレスを格納するようにすればよい。
【０１７８】
ユーザがサービス提供の要求を入力した場合、サービス提供の要求を受け取った窓口となるノードは、要求されたサービスを提供する各グループに当該要求を通知し、応答時間を等のサービス品質を考慮して、接続先のグループを選択する。
【０１７９】
本発明の一形態によれば、ネットワーク品質に基づいて、マイクロＤＣ１１のグループを適切に構成することができる。これによって、ネットワークを介してクラウドを用いて提供するサービスの品質を維持することが可能となる。
【符号の説明】
【０１８０】
１０  管理ノード
１１  マイクロＤＣ
１２  マイクロ管理ノード
１１１  ゲートウェイ
１１２  サーバ
１１３  ＷＡＮ接続回線
１５０  ネットワーク
１１１１  ＣＰＵ
１１１２  メモリ
１１１３  クロスバスイッチ
１１１４  ＮＩＣ
１１１２１  マイクロＤＣ管理部
１１１２２  ノード管理部
１１１２３  グループメンバ管理テーブル
１１１２４  サービス管理テーブル
１１１２５  データセンタ制御部
１１１２６  マイクロＤＣ管理テーブル
１１１２７  グループ管理テーブル
１１１２８  サービス管理テーブル
【図１】
0005740652.tif 000002
【図２】
0005740652.tif 000003
【図３】
0005740652.tif 000004
【図４】
0005740652.tif 000005
【図５】
0005740652.tif 000006
【図６】
0005740652.tif 000007
【図７】
0005740652.tif 000008
【図８】
0005740652.tif 000009
【図９】
0005740652.tif 000010
【図１０】
0005740652.tif 000011
【図１１】
0005740652.tif 000012
【図１２】
0005740652.tif 000013
【図１３Ａ】
0005740652.tif 000014
【図１３Ｂ】
0005740652.tif 000015