(57)【要約】【課題】  単一あるいは複数のデータセンタ上で動作する汎用的なスケールアウト型クラウドアプリケーションを物理的なリソース制約のもとで動作させる。【解決手段】  本発明は、経路管理サーバは、トラヒック監視装置からトラヒック監視情報を取得すると、該トラヒック監視情報に基づいて物理リソース資源と通信経路を対応付けたトポロジ情報を参照し、該トラヒック監視情報から現在利用されている許容使用率を超過している経路を除外した経路を計算し、経路計算結果と、遮断閾値に基づいて通信を遮断すべき経路を決定し、通信遮断対象とする遮断指示と、を網制御サーバに送出し、網制御サーバは、経路管理サーバから取得した遮断指示に対する遮断コマンドを、通信を遮断すべき経路の情報と共に前記網制御装置に送出し、網制御装置は、網制御サーバから取得した遮断コマンドと通信を遮断すべき経路情報に基づいて、データセンタを制御する。【選択図】  図２
2013187656.tif 000002
【特許請求の範囲】
【請求項１】
単一あるいは複数のデータセンタ装置上で動作する汎用的なスケールアウト型クラウドアプリケーションを動作させる分散型クラウドインフラ管理のための網制御システムであって、
許容使用率及び経路の遮断指示のための遮断閾値を管理するシステム運用装置と、
管理対象のクラウドのネットワークのリソース資源及びＣＰＵの資源のトラヒックを監視し、前記システム運用装置から取得した許容使用率を超過した場合に、トラヒック監視情報を送信するトラヒック監視装置と、
物理リソース資源と通信経路を対応付けたトポロジ情報を保持し、前記トラヒック監視装置から前記トラヒック監視情報を取得し、該トラヒック監視情報に基づいて該トポロジ情報を参照し、該トラヒック監視情報から現在利用されている許容使用率を超過している経路を除外した経路を計算し、前記遮断閾値に基づいて決定された通信を遮断すべき経路の情報を遮断指示として送出する経路管理サーバと、
前記経路管理サーバから取得した前記遮断指示に対する遮断コマンドを、通信を遮断すべき経路の情報と共に送出する網制御サーバと、
前記網制御サーバから取得した前記遮断コマンドと前記通信を遮断すべき経路情報に基づいて、前記データセンタ装置を制御する網制御装置と、
を有することを特徴とする分散型クラウドインフラのための網制御システム。
【請求項２】
前記経路管理サーバは、
一定の比率で遮断を回避するリンクを残して経路計算を行う手段を含む
請求項１記載の分散型クラウドインフラのための網制御システム。
【請求項３】
単一あるいは複数のデータセンタ上で動作する汎用的なスケールアウト型クラウドアプリケーションを動作させる分散型クラウドインフラ管理のための網制御システムにおける経路管理サーバであって、
許容使用率及び経路の遮断指示のための遮断閾値を管理するシステム運用装置と、
ネットワークのリソース資源及びＣＰＵの資源のトラヒックを監視し、前記システム運用装置から取得した許容使用率を超過した場合に、トラヒック監視情報を送信するトラヒック監視装置と、
物理リソース資源と通信経路を対応付けたトポロジ情報を保持するトポロジ情報記憶手段と、
トラヒック監視装置から所定の許容使用率を超過したリソース資源に関するトラヒック監視情報を取得すると、該トラヒック監視情報に基づいて該トポロジ情報を参照し、該トラヒック監視情報から現在利用されている許容使用率を超過している経路を除外した経路を計算する経路計算手段と、
前記遮断閾値に基づいて決定された通信を遮断すべき経路の情報を、通信を遮断する命令として、管理対象クラウドを制御する網制御サーバに対して送出する遮断指示送出手段と、
を有することを特徴とする経路管理サーバ。
【請求項４】
前記経路計算手段は、
一定の比率で遮断を回避するリンクを残して経路計算を行う手段を含む
請求項３記載の経路管理サーバ。
【請求項５】
単一あるいは複数のデータセンタ装置上で動作する汎用的なスケールアウト型クラウドアプリケーションを動作させる分散型クラウドインフラ管理のための分散型クラウドインフラのための網制御方法であって、
システム運用装置、トラヒック監視装置、経路管理サーバ、網制御サーバ、網制御装置、前記データセンタ装置からなるネットワークにおいて、
前記システム運用装置は、
前記トラヒック監視装置及び前記経路管理サーバに対して、許容使用率及び遮断指示のための遮断閾値を通知し、
前記トラヒック監視装置は、
管理対象のクラウドのネットワークのリソース資源及びＣＰＵの資源のトラヒックを監視し、前記許容使用率を超過した場合に、トラヒック監視情報を前記経路管理サーバに送信し、
前記経路管理サーバは、
前記トラヒック監視装置から前記トラヒック監視情報を取得すると、該トラヒック監視情報に基づいて物理リソース資源と通信経路を対応付けたトポロジ情報を参照し、該トラヒック監視情報から現在利用されている許容使用率を超過している経路を除外した経路を計算し、前記遮断閾値に基づいて決定された通信を遮断すべき経路の情報を遮断指示として前記網制御サーバに送出し、
前記網制御サーバは、
前記経路管理サーバから取得した前記遮断指示に対する遮断コマンドを、通信を遮断すべき経路の情報と共に前記網制御装置に送出し、
前記網制御装置は、
前記網制御サーバから取得した前記遮断コマンドと前記通信を遮断すべき経路情報に基づいて、前記データセンタ装置を制御する
ことを特徴とする網制御方法。
【請求項６】
前記経路計算装置において、
一定の比率で遮断を回避するリンクを残して経路計算を行う
請求項５記載の網制御方法。
【請求項７】
コンピュータを、
請求項３または４に記載の経路管理サーバの各手段として機能させるための分散型クラウドインフラのための網制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散型クラウドインフラのための網制御システム及び経路管理サーバ及び網制御方法及びプログラムに係り、特に、大規模分散処理システム基盤における網制御を実現するための技術に関する。
【０００２】
詳しくは、クラウドアプリケーションなどを動作させる大規模分散処理基盤において、アプリケーション側に依らず、汎用的な網設備側の制御によって負荷集中や故障回避を実現するための技術に関する。
【背景技術】
【０００３】
クラウドコンピューティングの普及にともない、データセンタ内やデータセンタ間で多数のノードが連携して分散動作するクラウド基盤アプリケーションの利用が進んでいる。
【０００４】
サーバ単位での仮想化を行うVMWare（登録商標）やKVM(Kernel based Virtual Machine)(登録商標)といった仮想化インフラアプリケーションについては、その実装上1台のサーバに対して直接n台の仮想サーバが対応するため、運用上の困難性はこれまでのサーバ収容設計と大きく異なる点はない。
【０００５】
その一方で、Hadoop（登録商標）やcassandra（登録商標）に代表されるスケールアウト型と呼ばれるクラウド基盤アプリケーションにおいては、計算プロセス、データ収納ともにアプリケーション側で処理負荷が低いサーバへの自動的な割り当てが行われるため、ユーザに提供されるサービスと実サーバとの対応を取ることが困難である。
【０００６】
スケールアウト型のクラウド基盤アプリケーションでは、少数の利用者で運用する場合は、適当に確保できたサーバをどんどん追加していき、壊れたら入れ替えるという低コストでの運用が可能となり、大きなメリットといえ、Google（登録商標）のようなソフトウェア開発に強みを持つ事業者がこのような思想（例えば、非特許文献1参照）のもとでクラウドコンピューティング領域でのシェアを延ばしている。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Barroso, L. A., & Hlzle, U. (2009). The Datacenter as a Computer: AnIntroduction to the Design of Warehouse-Scale Machines. Synthesis Lectures on Computer Architecture, 4(1), 1-108. doi: 10.2200/S00193ED1V01Y200905CAC006.__
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、通信事業者等が従来型の設備管理フローに従ってある程度保証されたサービスを提供するに際しては、物理的なリソース(ネットワーク資源やCPU資源等)をどのように保護、割り当てるか、といった点が重要になるが、現在のスケールアウト型クラウド基盤アプリケーションにおいては前述のように、このような機能はほとんど実装されていない。
【０００９】
個別のアプリケーションに手を入れて権限分離をする試みは進められているが、アプリケーションそのものの進歩が著しい中、このような試みは汎用的とは言えない。
【００１０】
以上により、現状において上記のようなサービスを通信事業者が提供する際には、個別に事業者毎に分離された設備を用意する必要があり、これは既存の実マシン貸しにあたるデータセンタビジネスと比較した時にメリットを得られにくく、統計多重効果も効きにくいという問題点がある。
【００１１】
本発明は、上記の点に鑑みなされたもので、単一あるいは複数のデータセンタ上で動作する汎用的なスケールアウト型クラウドアプリケーションを物理的なリソース制約のもとで動作させることが可能な分散型クラウドインフラのための網制御システム及び経路管理サーバ及び網制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の課題を解決するため、本発明は単一あるいは複数のデータセンタ装置上で動作する汎用的なスケールアウト型クラウドアプリケーションを動作させる分散型クラウドインフラ管理のための網制御システムであって、
許容使用率及び経路の遮断指示のための遮断閾値を管理するシステム運用装置と、
管理対象のクラウドのネットワークのリソース資源及びＣＰＵの資源のトラヒックを監視し、前記システム運用装置から取得した許容使用率を超過した場合に、トラヒック監視情報を送信するトラヒック監視装置と、
物理リソース資源と通信経路を対応付けたトポロジ情報を保持し、前記トラヒック監視装置から前記トラヒック監視情報を取得し、該トラヒック監視情報に基づいて該トポロジ情報を参照し、該トラヒック監視情報から現在利用されている許容使用率を超過している経路を除外した経路を計算し、前記遮断閾値に基づいて決定された通信を遮断すべき経路の情報を遮断指示として送出する経路管理サーバと、
前記経路管理サーバから取得した前記遮断指示に対する遮断コマンドを、通信を遮断すべき経路の情報と共に送出する網制御サーバと、
前記網制御サーバから取得した前記遮断コマンドと前記通信を遮断すべき経路情報に基づいて、前記データセンタ装置を制御する網制御装置と、を有する。
【発明の効果】
【００１３】
既存技術では、特定物理サーバや回線に対する負荷の集中を防ぐ手段はなく、アプリケーションの挙動による負荷分散機構に頼ることになるめ、長期的には安定した状態が保たれるものの、一時的には特定部位に負荷が集中して性能が劣化したり、ネットワークが輻輳する等の現象が発生していたが、上述のように、本発明によれば、アプリケーションの仕様に任せるしかなかった分散インフラ型のクラウドアプリケーションからネットワーク設備を守りつつ、逼迫した特定の物理リソースに負荷が集中すること防止しつつ、大規模な運用を行うことが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施の形態におけるネットワークの構成図である。
【図２】本発明の一実施の形態におけるシステム構成図である。
【図３】本発明の一実施の形態におけるシステムの定常動作のシーケンスチャートである。
【図４】本発明の一実施の形態における制御動作のシーケンスチャートである。
【発明を実施するための形態】
【００１５】
以下、図面と共に本発明の実施の形態を説明する。
【００１６】
本発明は、経路管理サーバにおいて、物理リソース資源と通信経路の対応表を保持し、各物理リソースやリソース管理サーバからあがってくるアラートをもとに通信路を制限する網制御システムと連携することで、逼迫した個別の物理リソースに負荷集中することを防止するものである。
【００１７】
図１は、本発明の一実施の形態におけるネットワーク構成を示す。
【００１８】
同図に示すネットワークは、1台のトラヒック監視装置Ｙと、複数のサーバｓ１〜ｓ１１がネットワークスイッチａ〜ｅ、またはハブ等やネットワーク監視装置Ｙやネットワーク制御装置Ｘから構成され、複数のサーバｓ１〜ｓ１１がネットワークスイッチまたはハブ等に接続され、当該ネットワークスイッチまたはハブ等はトラヒック監視装置Ｙに接続されている。トラヒック監視装置Ｙは、SNMP（Simple Network Management Protocol）により、ネットワークスイッチまたはハブ等から網の情報を取得する。
【００１９】
ネットワーク制御装置Ｘは、各サーバに内蔵されたIPフィルタ、ネットワークスイッチに配備されたアクセスリスト等の形態を取り得る。
【００２０】
ネットワーク監視装置Ｙは、サーバＣＰＵ、ディスクI/O、ネットワーク使用率等のトラブルを事前に検出するために継続的に監視している。
【００２１】
図２は、本発明の一実施の形態におけるサーバの構成図である。
【００２２】
同図に示すシステムは、システム運用部１、網制御サーバ２、経路管理サーバ３、監視装置４、網制御装置５から構成される。
【００２３】
システム運用部１は、使用許容率や経路遮断の閾値のパラメータが入力されるとメモリ（図示せず）に格納する。使用許容率は、リソースや運用ポリシ、目標品質によって異なるが、例えば、CPU利用率は５０％まで許容、ネットワーク利用率は８０％まで許容等と設定する。また、経路遮断の閾値は、「５％を残して９５％を遮断」のように決定する。これらの値は、網制御サーバ２からの要求に応じて提供する。
【００２４】
トラヒック監視装置４は、ネットワークのトラヒックを監視し、特定のリンクや特定のサーバにおける負荷集中を検出し、その時点における使用中の経路を抽出し、経路管理サーバ３に通知する。
【００２５】
経路管理サーバ３は、内部のメモリまたは記憶媒体に、ネットワークの物理リソース（ネットワーク資源やCPU資源等）とその通信経路の対応を保持するネットワークトポロジ３１を管理しており、トラヒック監視装置４から特定リンクや特定サーバのトラヒック監視情報（負荷情報、使用中の経路情報）を取得し、負荷があるサーバや使用中の経路の利用を避けるようなネットワーク経路を計算する経路計算部３１を備える。経路計算部３２の経路計算方法としては、当該リンクを除いたネットワーク構造に対する最短経路探索（例えば、dijkstra法等）や、制約ベースのOSF等の利用が考えられる。
【００２６】
網制御サーバ２は、トラヒック監視装置４において、特定リンクや特定サーバにおける負荷集中が検出された場合に、システム運用部１から取得した上記の使用許容率及び経路遮断の閾値に基づいて、経路管理サーバ３から得られた経路情報のうち負荷が集中している経路に対して経路遮断するよう遮断命令を網制御装置５に通知する。
【００２７】
網制御装置５は、網制御サーバ２から網遮断の命令を取得すると、ネットワーク上のセンタ６（図２の例ではクラウドデータセンタ）にトラヒックを遮断するよう遮断命令を通知し、経路表６１を書き換えるよう指示する。例えば、『dst addr(ディスティネーションアドレス)、hop1，hop2，…dst addr』の組となる経路表の場合、該当する経路（例えば、hop1→hop2）が遮断対象である場合は、当該経路の行を経路表６１から削除する。または、『hop1→hop2→hop3』となる別の経路を探索して経路表６１の行に追加する。
【００２８】
クラウドデータセンタ６は、ネットワーク上のセンタであり、網制御装置５から遮断命令を取得すると、経路表６１を書き換える。遮断方法は、実際にサーバ群が収容されているネットワークが備える機能によって最適なものは異なるが、クラウドデータセンタ向けに提案されているOpenFlowの場合には明示的に経路表を書き換える。
【００２９】
この際、通信が頻繁に行われているリンクを途中で遮断してしまうことを防止するために、トラヒック監視装置４により現時点で流れているトラヒックを把握しておき、クラウドデータセンタ６は、トラヒック監視装置４から現時点における使用中の経路情報を取得して、当該経路を除外して経路表６１を更新する。
【００３０】
以下に上記のシステムにおける動作のフローを示す。
【００３１】
＜定常動作＞
図３は、本発明の一実施の形態におけるシステムの定常動作のシーケンスチャートである。
【００３２】
ステップ１０１）  経路管理サーバ３は予めネットワークトポロジを登録しておく。当該ネットワークトポロジは、外部から入力されるものとする。
【００３３】
ステップ１０２）  システム運用部１は、外部から入力され使用許容率及び経路遮断閾値を取得し保持する。そのうち、使用許容率をトラヒック監視装置４及び経路管理サーバ３に送出する。トラヒック監視装置４は、取得した使用許容率をメモリ（図示せず）に格納する。なお、このタイミングで網制御サーバ２に対して、使用許容率と遮断閾値を送信してもよい。このタイミングで送信する場合には、図４のステップ２０６の処理は不要となる。
【００３４】
ステップ１０３）  トラヒック監視装置４は、定常的にリンク、CPU等の使用率を監視し、監視情報として経路管理サーバ３に送出する。
【００３５】
ステップ１０４）  トラヒック監視装置４は、どの対地ペアに対して通信が行われているかを定常的に監視し、監視情報として経路管理サーバ３に送出する。
【００３６】
＜制御動作＞
図４は、本発明の一実施の形態におけるシステムの制御動作のシーケンスチャートである。
【００３７】
ステップ２０１）  トラヒック監視装置は４、ネットワークの特定のリソースでの使用許容率を超過したことを検出する。
【００３８】
ステップ２０２）  トラヒック監視装置４は、使用許容率超過の検出情報を経路管理サーバ３に通知する。例えば、使用許容率は予めシステム運用部１において、「８０％までは許容する」のように設定されるものとし、８０％を超過した場合に経路管理サーバ３に通知する。
【００３９】
ステップ２０３）  経路管理サーバ３は、トラヒック監視装置４から使用率超過の通知を取得すると、ネットワークトポロジ３１を取得して、使用率が超過しているリソースを特定する。
【００４０】
ステップ２０４）  経路管理サーバ３は、使用率を超過しているリソースを含む現在利用されている経路を除外して経路を計算する。
【００４１】
ステップ２０５）  経路管理サーバ３は、網制御サーバ２に対して経路計算結果及び使用率を超過しているリソースの情報を送信する。
【００４２】
ステップ２０６）  網制御サーバ２は、システム運用部１から許容使用率及び遮断閾値を取得する。但し、ステップ１０２において既に取得している場合は、当該処理は不要である。
【００４３】
ステップ２０７）  網制御サーバ２は、使用率を超過したリソースを含む現在利用されている経路を除外した経路を抽出し、遮断閾値に基づいてどの経路を遮断するか否かを決定する。例えば、抽出された経路のうち、予め定めた比率、例えば、５％にあたる経路を残して遮断するように決定する。
【００４４】
ステップ２０８）  網制御サーバ２は、遮断する経路を指定した遮断命令を網制御装置５に通知する。
【００４５】
ステップ２０９）  網制御装置５は、遮断命令に対応するクラウドデータセンタ６を抽出する。当該クラウドデータセンタを選択する方法については、予め網制御装置５に、各クラウドデータセンタ６が管理する経路が登録されているテーブルを用意しておき、遮断命令で指定された経路に基づいてクラウドデータセンタを決定する等の方法が考えられる。
【００４６】
ステップ２１０）  網制御装置５は、抽出されたクラウドデータセンタ６に対して経路遮断を指示する。
【００４７】
ステップ２１１）  クラウドデータセンタ６は、経路遮断指示に基づいて経路表を更新する。
【００４８】
上記の処理後、網制御装置５は、予め定めた時間が経過、または、該当リンクの使用率が所定の値以下となった時点で、クラウドデータセンタ６に遮断解除を指示する。これにより定常状態に戻る。
【００４９】
以下に具体的な経路管理サーバ３の動作を説明する。
【００５０】
例えば、ネットワークトポロジ３１として、以下のような経路情報が蓄積されているものとする。
【００５１】
Link：ｐ   1，2，3−4，5，6，7，8，9，10，11
Link：ｑ   1，2，3，4，5，6−7，8，9，10，11
Link：ｒ  1，2，3，4，5，6，7−8，9，10，11
Link：ｓ  1，2，3，4，5，6，7，8，9−10，11
リンクｒの使用率が例えば、70％を超えたために、それ以上の利用を防止したいとする。
【００５２】
直接的にはリンクｒを通る『1，2，3，4，5，6，7−8，9，10，11』の通信を遮断すればよいが、単純に遮断すると既存通信が落ちてしまう可能性がある。通常落ちても正常動作はするが、性能が劣化する可能性がある。このため、トラヒック監視装置４から通知された該当経路の中で現在利用されている経路を除外した上で遮断指示を出す。つまり、現在利用されている経路を除外して経路計算を行う。遮断時に完全遮断することでパフォーマンスが劣化することを防止するため、一定比率で遮断を回避するリンクも残しておく。このために、例えば、５％の経路をランダムに残す等の手法を用いることが可能である。
【００５３】
なお、本発明は、上記の実施の形態における経路管理サーバ３の動作をプログラムとして構築し、経路管理サーバとして利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【００５４】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【符号の説明】
【００５５】
１  システム運用部
２  網制御サーバ
３  経路管理サーバ
４  トラヒック監視装置
５  網制御装置
６  クラウドデータセンタ
３１  ネットワークトポロジ
３２  経路計算部
５１  経路遮断制御部
６１  経路表
【図１】
2013187656.tif 000003
【図２】
2013187656.tif 000004
【図３】
2013187656.tif 000005
【図４】
2013187656.tif 000006