"複数の制御ノードを有し、少なくとも1つの制御ノードがパケットハンドリング規則を送信することで複数のスイッチ装置の各々を制御する制御システムの構成制御装置であって、少なくとも1つのスイッチ装置を制御している使用中の制御ノードの負荷を監視する監視手段と、前記監視結果である負荷情報に基づいて制御ノードの使用数を変化させる制御手段と、を有することを特徴とする構成制御装置。前記制御手段は、前記複数の制御ノードのうちの1つの制御ノードの負荷情報に基づいて、それ以外の制御ノードの使用数を変化させることを特徴とする請求項1に記載の構成制御装置。前記1つの制御ノードは常時使用中のノンストップノードであることを特徴とする請求項2に記載の構成制御装置。前記制御手段は、前記1つの制御ノードの負荷情報が所定負荷基準より高くなると、未使用の制御ノードを起動させ、当該起動された制御ノードが前記1つの制御ノードから少なくとも1つのスイッチ装置の制御を引き継ぐように制御することを特徴とする請求項2または3に記載の構成制御装置。前記制御手段は、前記1つの制御ノードの負荷情報が所定負荷基準より低くなると、前記1つの制御ノードが使用中の制御ノードから少なくとも1つのスイッチ装置の制御を引き継ぎ、当該使用中の制御ノードをシャットダウンするように制御する、ことを特徴とする請求項2-4のいずれか1項に記載の構成制御装置。複数の制御ノードを有し、少なくとも1つの制御ノードがパケットハンドリング規則を送信することで複数のスイッチ装置の各々を制御する制御システムであって、少なくとも1つのスイッチ装置を制御している使用中の制御ノードの負荷を監視する監視手段と、前記監視結果である負荷情報に基づいて制御ノードの使用数を変化させる制御手段と、を有することを特徴とする制御システム。前記監視手段および前記制御手段は、前記複数の制御ノードのうち常時使用中のノンストップノードに設けられていることを特徴とする請求項6に記載の制御システム。複数の制御ノードを有し、少なくとも1つの制御ノードがパケットハンドリング規則を送信することで複数のスイッチ装置の各々を制御する制御システムの構成制御方法であって、監視手段が少なくとも1つのスイッチ装置を制御している使用中の制御ノードの負荷を監視し、制御手段が前記監視結果である負荷情報に基づいて制御ノードの使用数を変化させる、ことを特徴とする構成制御方法。複数の制御ノードを有し、少なくとも1つの制御ノードがパケットハンドリング規則を送信することで複数のスイッチ装置の各々を制御する制御システムの構成制御装置としてコンピュータを機能させるプログラムであって、監視手段が少なくとも1つのスイッチ装置を制御している使用中の制御ノードの負荷を監視し、制御手段が前記監視結果である負荷情報に基づいて制御ノードの使用数を変化させる、ことを特徴とするプログラム。請求項1-5のいずれか1項に記載の構成制御装置を備えた制御ノード。しかしながら、分散型コントローラを複数サーバのクラスタ上に実装するシステムでは、サーバの台数に比例して制御プレーンの消費電力が増大してしまい、近年益々重要視されている消費電力削減の課題を解決することができない。そこで、本発明の目的は、ソフトウエアネットワーキングSDNにおける制御プレーンの消費電力を性能低下なしに削減することができる制御システム、その構成制御装置および構成制御方法を提供することにある。本発明による構成制御装置は、複数の制御ノードを有し、少なくとも1つの制御ノードがパケットハンドリング規則を送信することで複数のスイッチ装置の各々を制御する制御システムの構成制御装置であって、少なくとも1つのスイッチ装置を制御している使用中の制御ノードの負荷を監視する監視手段と、前記監視結果である負荷情報に基づいて制御ノードの使用数を変化させる制御手段と、を有することを特徴とする。本発明による制御システムは、複数の制御ノードを有し、少なくとも1つの制御ノードがパケットハンドリング規則を送信することで複数のスイッチ装置の各々を制御する制御システムであって、少なくとも1つのスイッチ装置を制御している使用中の制御ノードの負荷を監視する監視手段と、前記監視結果である負荷情報に基づいて制御ノードの使用数を変化させる制御手段と、を有することを特徴とする。本発明による構成制御方法は、複数の制御ノードを有し、少なくとも1つの制御ノードがパケットハンドリング規則を送信することで複数のスイッチ装置の各々を制御する制御システムの構成制御方法であって、監視手段が少なくとも1つのスイッチ装置を制御している使用中の制御ノードの負荷を監視し、制御手段が前記監視結果である負荷情報に基づいて制御ノードの使用数を変化させる、ことを特徴とする。本発明によれば、制御ノードの負荷情報に基づいて制御ノードの使用数を変化させることで、ソフトウエアネットワーキングSDNにおける制御プレーンの消費電力を性能低下なしに削減することができる。本発明によれば、制御プレーンにおけるコントローラクラスタを構成するクラスタノードの使用数を制御負荷に応じて変更することにより、制御プレーンの制御性能を低下させることなく消費電力を削減することができる。以下、ソフトウエアネットワーキングSDNとしてオープンフローを取り上げ、本発明の一実施形態およびその具体的な構成例について詳細に説明する。1.システム図1に示すように、オープンフローシステムは制御プレーンとデータプレーンとに分離されている。ここでは、データプレーンがn個n>1のオープンフロースイッチOFS[1]~OFS[n]に実装され、制御プレーンがオープンフロースイッチOFS[1]~OFS[n]を制御する分散型コントローラクラスタ10に実装されているものとする。分散型コントローラクラスタ10は制御プレーンのサブネットを構成し、ここではm個m>1のクラスタノードCN[1]~CN[m]が使用可能であるとする。クラスタノードCN[1]~CN[m]の各々はセキュアチャネル20で1個あるいは複数個のオープンフロースイッチと接続可能であり、接続されたオープンフロースイッチのフローテーブルをプログラムする。各クラスタノードは物理的な制御装置としてのサーバであり、後述するように、自ノードのオープンフローコントローラの負荷を監視する機能と、外部制御によりコントローラの起動/シャットダウン、セキュアチャネルの接続/切断を行う機能とを有する。本実施形態によれば、m個m>1のクラスタノードCN[1]~CN[m]のうち1つのノードがマスタノードMとして機能し、残りのm-1個のクラスタノードがスレーブノードS[1]~S[m-1]として機能する。マスタノードMは、後述するように、任意のスレーブノードの起動/シャットダウン、当該スレーブノードのセキュアチャネルの接続/切断、当該スレーブノードへの/からのオープンフロースイッチ制御処理のテイクオーバ引渡し/引継ぎなどを自ノードの制御負荷に応じて動的に実行する。マスタノードMはノンストップで動作するので、特定の1つのクラスタノードをマスタノードMとして予め決定しておくことが望ましい。図1ではクラスタノードCN[1]がマスタノードMとなっている。ただし、マスタノードとしての機能を他の任意のクラスタノードへ移転することも可能である。以下、機能的観点から、分散型コントローラクラスタ10が単一のマスタノードMと少なくとも1個のスレーブノードS[1]~S[m-1]からなるものとして説明する。2.システム動作図2に示すように、本実施形態による制御システムでは、単一のマスタノードMが各クラスタノードの負荷を監視し、負荷状態に応じてスレーブノードへの制御の引き渡しあるいはスレーブノードからの制御の引継ぎを実行する。たとえば、マスタノードMが単独でオープンフロースイッチOFS[1]~OFS[n]を制御し、定期的に自ノードの負荷を監視しているとする。マスタノードMの制御負荷が処理能力を超える可能性が高くなると、マスタノードMはオープンフロースイッチの制御に使用されていないスレーブノードS[1]とする。を選択して起動し、負荷が最も大きいオープンフロースイッチOFS[j]の制御をスレーブノードS[1]へ引き渡すステップS31。これにより、スレーブノードS[1]はオープンフロースイッチOFS[j]の制御を引き継ぎ、その分、マスタノードMの負荷が軽減する。マスタノードMとスレーブノードS[1]とは互いの管理データベースを同期させ、分散管理データベースクラスタを構成する。マスタノードMは、自ノードとスレーブノードS[1]の負荷状況をモニタしながら、マスタノードMの制御負荷が処理能力を超える可能性が高くなれば、負荷が最も大きいオープンフロースイッチOFSの制御を別の未使用スレーブノードS[m-1]とする。へ引き渡すステップS32。これにより、スレーブノードS[m-1]はオープンフロースイッチOFS[k]の制御を引き継ぎ、その分、マスタノードMの負荷が軽減する。以下同様に、マスタノードMの制御負荷が処理能力を超える可能性が高くなるごとに、最大負荷のオープンフロースイッチOFSの制御を別の未使用スレーブノードSへ引き渡す、というテイクオーバ処理を繰り返す。別の方法として、マスタノードMは、自ノードの制御負荷が処理能力を超える可能性が高くなるごとに、スレーブノードS[1]の処理能力の範囲内でオープンフロースイッチOFSの制御を当該スレーブノードへ順次引き渡すこともできる。この場合、スレーブノードS[1]の処理能力を超える可能性が高くなると判断すると、マスタノードMは、新たな未使用のスレーブノードS[m-1]を選択して起動し、負荷が最も大きいオープンフロースイッチOFS[k]の制御をスレーブノードS[m-1]へ引き渡すステップS32。以下同様に、マスタノードMは、自ノード、スレーブノードS[1]およびS[m-1]の負荷状況をモニタしながら、マスタノードMおよび現在使用中のスレーブノードの制御負荷が処理能力を超える可能性が高くなれば、さらに別の未使用スレーブノードを起動し、負荷の大きいオープンフロースイッチOFSの制御を新たなスレーブノードへ引き渡す。逆にマスタノードMの制御負荷が十分低くなれば、マスタノードMは、使用中のスレーブノードの中から最も小さい負荷で動作しているスレーブノードを選択し、選択されたスレーブノードのオープンフロースイッチ制御を処理する余裕があれば、その制御を引き継ぎ、当該選択されたスレーブノードをシャットダウンするステップS33、S34。未使用のスレーブノードをシャットダウンすることで制御プレーンの電力消費量が低減する。このように分散型コントローラクラスタ10で動作するスレーブノードの数を負荷状況に応じて増減させることにより、制御能力を低下させることなく制御プレーンの電力消費量を削減することができる。3.クラスタノードの機能構成図3に示すように、マスタノードMは、オープンフロースイッチを制御するオープンフローコントローラ101と管理情報を格納する管理データベース102とを有し、さらにマスタノードMの動作を制御するノード制御部103、オープンフローコントローラ101の負荷を監視する負荷モニタ104および動的なクラスタ構成を実行するクラスタ構成制御部105をそれぞれ機能的に備えている。負荷モニタ104はオープンフローコントローラ101の制御負荷を定期的に検出し、その平均値および増減傾向などから将来の予測負荷を負荷情報として生成してもよい。クラスタ構成制御部105は、所定の再構成しきい値High-THを予め格納し、後述するクラスタ構成機能およびオープンフロースイッチの制御のスレーブノードへの引渡しおよび引継ぎ機能を有する。再構成しきい値High-THは、マスタノードMのオープンフローコントローラ101の処理能力に依存して予め決定された値である。なお、通信機能の図示は省略されている。またオープンフローコントローラ101、ノード制御部103、負荷モニタ104およびクラスタ構成制御部105のそれぞれの機能は、図示しないメモリに格納されたプログラムをコンピュータプログラム制御プロセッサ上で実行することにより実現することができる。スレーブノードS[i]i=1,2,m-1は、オープンフロースイッチを制御するオープンフローコントローラ201とローカルに使用される情報を格納する管理データベース202とを有し、さらにスレーブノードの動作を制御するノード制御部203と、オープンフローコントローラ201の負荷を監視する負荷モニタ204と、マスタノードMとの間でオープンフロースイッチ制御の引継ぎ/引渡しを制御するテイクオーバ制御部205とをそれぞれ機能的に備えている。負荷モニタ204はオープンフローコントローラ201の制御負荷を定期的に検出し、その平均値および増減傾向などから将来の予測負荷を負荷情報として生成してもよい。各スレーブノードのノード制御部203は自ノードの負荷情報をマスタノードMへ定期的に報告する。なお、通信機能の図示は省略されている。またオープンフローコントローラ201、ノード制御部203、負荷モニタ204、およびテイクオーバ制御部205のそれぞれの機能は、図示しないメモリに格納されたプログラムをコンピュータプログラム制御プロセッサ上で実行することにより実現することができる。マスタノードMのクラスタ構成制御部105は、全ての使用可能なスレーブノードと使用中のスレーブノードとを管理しており、負荷モニタ104からの自ノード負荷情報と使用中のスレーブノードからそれぞれ受信した負荷情報とを監視しながら、選択したスレーブノードとの間で制御信号のやりとりおよびデータベース情報の引継ぎなどを行う。以下、マスタノードMによるクラスタ構成制御について説明する。4.クラスタ構成制御図4において、マスタノードMのクラスタ構成制御部105は、全ての使用可能なスレーブノード数m-1と現在使用中のスレーブノードの数および識別情報とを管理し、負荷モニタ104により検出された負荷情報WLmasと使用中のスレーブノードからそれぞれ受信した負荷情報WLS[]とを定期的に監視するステップ301。負荷情報が取得されると、クラスタ構成制御部105はマスタノードMの負荷情報WLmasが再構成しきい値High-THを超えているか否かを判断するステップ302。4.1スレーブノードの追加負荷情報WLmasが再構成しきい値High-THを超えている場合ステップ302のYES、クラスタ構成制御部105は現在使用中のスレーブノード数が全スレーブノード数m-1未満かどうかにより未使用スレーブノードの有無を判断するステップ303。未使用スレーブノードが存在すればステップ303のYES、1つの未使用スレーブノードS[p]を選択して起動するステップ304。たとえば、クラスタ構成制御部105は、未使用スレーブノードS[p]を起動するために、wakeonLANマジックパケットをスレーブノードS[p]へ送信する。スレーブノードS[p]のノード制御部203は、wakeonLANマジックパケットを受信すると、テイクオーバ制御部205を起動し、マスタノードMからのオープンフロースイッチ制御の引継ぎを開始する。クラスタ構成制御部105はICMPエコーパケットを送信し、その応答をスレーブノードS[p]から受信することで、スレーブノードS[p]が正常に起動したことを確認する。正常に起動したことを確認すると、クラスタ構成制御部105はスレーブノードS[p]との間にTCPコネクションを確立し、このTCPコネクションに基づくパス解決やトポロジサービスのような上位レイヤアプリケーションを起動する。スレーブノードS[p]を起動すると、クラスタ構成制御部105は、オープンフローコントローラ101が現在制御しているオープンフロースイッチのうち最も負荷が高いものOFS[j]とする。を選択し、そのセキュアチャネルを切断するとともにステップ305、スレーブノードS[p]に対してオープンフロースイッチOFS[j]とのセキュアチャネルの接続を指示するステップ306。そして、クラスタ構成制御部105は当該スレーブノードS[p]を使用中に設定する。こうして、スレーブノードS[p]のテイクオーバ制御部205はオープンフロースイッチOFS[j]の制御をマスタノードMから引き継ぐ。未使用スレーブノードが存在しなかった場合ステップ303のNOあるいはオープンフロースイッチOFS[j]の制御の引継ぎが完了すれば、クラスタ構成制御部105は処理を終了する。4.2スレーブノードの排除負荷情報WLmasが再構成しきい値High-TH以下である場合ステップ302のNO、クラスタ構成制御部105は、使用中のスレーブノードから報告された負荷情報を参照して、最も負荷が小さいスレーブノードS[q]を選択するステップ308。続いて、クラスタ構成制御部105は、現在の負荷情報WLmasにスレーブノードS[q]の負荷情報WLS[q]を加えた結果が再構成しきい値High-THより小さいか否かを判断するステップ309。WLmasWLS[q]<High-THであればステップ309のYES、クラスタ構成制御部105は、スレーブノードS[q]が制御している全てのオープンフロースイッチOFS[k]とする。のセキュアチャネルを切断すると共にステップ310、マスタノードMのオープンコントローラ101とオープンフロースイッチOFS[k]とのセキュアチャネルを接続するステップ311。そして、クラスタ構成制御部105は、スレーブノードS[q]に関する全てのアプリケーションを終了し、当該スレーブノードS[q]へシャットダウン指示を送信し、ICMPエコーパケットに対する応答がないことを確認して未使用に設定するステップ312。こうして、マスタノードMは、自身の処理能力に余裕があれば、最小負荷で動作しているスレーブノードからオープンフロースイッチの制御を引き継ぎ、当該スレーブノードをシャットダウンすることで制御プレーンの消費電力を削減することができる。スレーブノードのシャットダウンが完了した場合、あるいはWLmasWLS[q]がHigh-TH以上である場合ステップ309のNO、クラスタ構成制御部105は処理を終了する。なお、マスタノードMのデータベース102と各スレーブノードS[i]のデータベース202とは同期するように互いに更新される。すなわち、スレーブノードS[i]のデータベース202において新たなフローエントリの生成あるいは既存のフローエントリの変更があれば、マスタノードMのデータベース102に反映される。逆に、マスタノードMのデータベース102において新たなフローエントリの生成あるいは既存のフローエントリの変更があれば、スレーブノードS[i]のデータベース202に反映される。5.効果上述したように、本実施形態によれば、マスタノードMが、自ノードの制御負荷に応じて、任意のスレーブノードの起動/シャットダウン、当該スレーブノードへのオープンフロースイッチ制御の引渡しあるいは当該スレーブノードからの引継ぎを動的に実行する。すなわち、分散型コントローラクラスタ10で動作するスレーブノードの数を負荷状況に応じて増減させることにより、制御能力を低下させることなく制御プレーンの電力消費量を削減することができる。6.他の実施形態上述した実施形態では、図3に示すように、クラスタ構成制御部105がマスタノードMに設けられているが、本発明はこれに限定されるものではない。他の実施形態として、クラスタ構成制御部105の機能を同じクラスタ内でクラスタノードとは別個のノードに設けることも可能である。その場合、クラスタ構成制御ノードとマスタノードMとの間の通信を除けば、基本的動作は上述した実施形態と同様である。7.付記上述した実施形態の一部あるいは全部は、以下の付記のようにも記載されうるが、これらに限定されるものではない。付記1複数の制御ノードを有し、少なくとも1つの制御ノードがパケットハンドリング規則を送信することで複数のスイッチ装置の各々を制御する制御システムの構成制御装置であって、少なくとも1つのスイッチ装置を制御している使用中の制御ノードの負荷を監視する監視手段と、前記監視結果である負荷情報に基づいて制御ノードの使用数を変化させる制御手段と、を有することを特徴とする構成制御装置。付記2前記制御手段は、前記複数の制御ノードのうちの1つの制御ノードの負荷情報に基づいて、それ以外の制御ノードの使用数を変化させることを特徴とする付記1に記載の構成制御装置。付記3前記1つの制御ノードは常時使用中のノンストップノードであることを特徴とする付記2に記載の構成制御装置。付記4前記制御手段は、前記1つの制御ノードの負荷情報が所定負荷基準より高くなると、未使用の制御ノードを起動させ、当該起動された制御ノードが前記1つの制御ノードから少なくとも1つのスイッチ装置の制御を引き継ぐように制御することを特徴とする付記2または3に記載の構成制御装置。付記5前記制御手段は、前記1つの制御ノードの負荷情報が所定負荷基準より低くなると、前記1つの制御ノードが使用中の制御ノードから少なくとも1つのスイッチ装置の制御を引き継ぎ、当該使用中の制御ノードをシャットダウンするように制御する、ことを特徴とする付記2-4のいずれか1項に記載の構成制御装置。付記6複数の制御ノードを有し、少なくとも1つの制御ノードがパケットハンドリング規則を送信することで複数のスイッチ装置の各々を制御する制御システムであって、少なくとも1つのスイッチ装置を制御している使用中の制御ノードの負荷を監視する監視手段と、前記監視結果である負荷情報に基づいて制御ノードの使用数を変化させる制御手段と、を有することを特徴とする制御システム。付記7前記監視手段および前記制御手段は、前記複数の制御ノードのうち常時使用中のノンストップノードに設けられていることを特徴とする付記6に記載の制御システム。付記8前記制御手段は、前記ノンストップノードの負荷情報に基づいて、それ以外の制御ノードの使用数を変化させることを特徴とする付記7に記載の制御システム。付記9前記制御手段は、前記ノンストップノードの負荷情報が所定負荷基準より高くなると、未使用の制御ノードを起動させ、当該起動された制御ノードが前記ノンストップノードから少なくとも1つのスイッチ装置の制御を引き継ぐように制御することを特徴とする付記7または8に記載の制御システム。付記10前記制御手段は、前記ノンストップノードの負荷情報が所定負荷基準より低くなると、前記ノンストップノードが使用中の制御ノードから少なくとも1つのスイッチ装置の制御を引き継ぎ、当該使用中の制御ノードをシャットダウンするように制御する、ことを特徴とする付記7-9のいずれか1項に記載の制御システム。付記11複数の制御ノードを有し、少なくとも1つの制御ノードがパケットハンドリング規則を送信することで複数のスイッチ装置の各々を制御する制御システムの構成制御方法であって、監視手段が少なくとも1つのスイッチ装置を制御している使用中の制御ノードの負荷を監視し、制御手段が前記監視結果である負荷情報に基づいて制御ノードの使用数を変化させる、ことを特徴とする構成制御方法。付記12前記制御手段が、前記複数の制御ノードのうちの1つの制御ノードの負荷情報に基づいて、それ以外の制御ノードの使用数を変化させることを特徴とする付記11に記載の構成制御方法。付記13前記1つの制御ノードは常時使用中のノンストップノードであることを特徴とする付記12に記載の構成制御方法。付記14前記制御手段が、前記1つの制御ノードの負荷情報が所定負荷基準より高くなると、未使用の制御ノードを起動させ、当該起動された制御ノードが前記1つの制御ノードから少なくとも1つのスイッチ装置の制御を引き継ぐように制御することを特徴とする付記12または13に記載の構成制御方法。付記15前記制御手段が、前記1つの制御ノードの負荷情報が所定負荷基準より低くなると、前記1つの制御ノードが使用中の制御ノードから少なくとも1つのスイッチ装置の制御を引き継ぎ、当該使用中の制御ノードをシャットダウンするように制御する、ことを特徴とする付記12-14のいずれか1項に記載の構成制御方法。付記16複数の制御ノードを有し、少なくとも1つの制御ノードがパケットハンドリング規則を送信することで複数のスイッチ装置の各々を制御する制御システムの構成制御装置としてコンピュータを機能させるプログラムであって、監視手段が少なくとも1つのスイッチ装置を制御している使用中の制御ノードの負荷を監視し、制御手段が前記監視結果である負荷情報に基づいて制御ノードの使用数を変化させる、ことを特徴とするプログラム。付記17前記制御手段が、前記複数の制御ノードのうちの1つの制御ノードの負荷情報に基づいて、それ以外の制御ノードの使用数を変化させることを特徴とする付記16に記載のプログラム。付記18前記1つの制御ノードは常時使用中のノンストップノードであることを特徴とする付記17に記載のプログラム。付記19前記制御手段が、前記1つの制御ノードの負荷情報が所定負荷基準より高くなると、未使用の制御ノードを起動させ、当該起動された制御ノードが前記1つの制御ノードから少なくとも1つのスイッチ装置の制御を引き継ぐように制御することを特徴とする付記17または18に記載のプログラム。付記20前記制御手段が、前記1つの制御ノードの負荷情報が所定負荷基準より低くなると、前記1つの制御ノードが使用中の制御ノードから少なくとも1つのスイッチ装置の制御を引き継ぎ、当該使用中の制御ノードをシャットダウンするように制御する、ことを特徴とする付記17-19のいずれか1項に記載のプログラム。付記21付記1-5のいずれか1項に記載の構成制御装置を備えた制御ノード。"