(57)【要約】【課題】ネットワークの通信量が減少した時、ネットワークに要求される能力を維持しつつ、必要としないリソースの電源をオフとし、消費電力を低減することを可能とする。【解決手段】ネットワークに要求される能力を記憶する制約条件記憶手段126と、リソースの電源のオンオフを表す二進パターンを順次生成するネットワークパターン生成手段121と、ネットワークパターンを制約条件により評価する被覆判定手段125と、ネットワークパターンが表すネットワークの消費電力を求めるコスト計算手段127を有し、前記コスト計算手段が求めた消費電力から通信路の電源のオンオフを制御する。【選択図】  図２
2010034792.tif 000002
【特許請求の範囲】
【請求項１】
複数のノード間を結ぶ複数の通信路を有するネットワークの電源制御方法であって、
ネットワークの制約条件を設定する工程と、
前記複数の通信路の電源のオンオフを表す二進パターンを順次生成する工程と、
前記二進パターンを前記制約条件により評価する工程と、
前記二進パターンが表すネットワークの消費電力を求める工程と、
前記評価の結果と消費電力から通信路の電源のオンオフを決定する工程とからなることを特徴とするネットワークの電源制御方法。
【請求項２】
請求項１記載のネットワークの電源制御方法であって、
前記制約条件は前記通信路の通信容量であることを特徴とするネットワークの電源制御方法。
【請求項３】
請求項１記載のネットワークの電源制御方法であって、
前記制約条件はノード間通信が必要とする中継の数であることを特徴とするネットワークの電源制御方法。
【請求項４】
請求項１乃至請求項３記載のネットワークの電源制御方法であって、
前記二進パターンは電源をオンする通信路の数に基づいて生成されることを特徴とするネットワークの電源制御方法。
【請求項５】
請求項４記載のネットワークの電源の制御方法であって、
前記二進パターンを複数のグループに分割し前記グループ毎に並列に前記二進パターンを生成し前記制約条件により評価することを特徴とするネットワークの電源の制御方法。
【請求項６】
複数のノード間を結ぶ複数の通信路を有するネットワークの電源制御装置であって、
ネットワークの制約条件を記憶する制約条件記憶手段と、
前記ネットワークを構成する複数の通信路の電源のオンオフを表す二進パターンを順次生成するネットワークパターン生成手段と、
前記ネットワークパターン生成手段が生成した二進パターンを前記制約条件により評価する被覆判定手段と、
前記ネットワークパターン生成手段が生成した二進パターンが表すネットワークの消費電力を求めるコスト計算手段と、
前記被覆判定手段による評価と前記コスト計算手段が求めた消費電力から通信路の電源のオンオフを制御する電源制御手段を有することを特徴とするネットワークの電源制御装置。
【請求項７】
請求項６記載のネットワークの電源制御装置であって、
前記制約条件は前記通信路の通信容量であることを特徴とするネットワークの電源制御装置。
【請求項８】
請求項６記載のネットワークの電源制御装置であって、
前記制約条件はノード間通信が必要とする中継の数であることを特徴とするネットワークの電源制御装置。
【請求項９】
請求項６乃至請求項８記載のネットワークの電源制御装置であって、
前記ネットワークパターン生成手段は電源をオンする通信路の数に基づいて二進パターンを生成することを特徴とするネットワークの電源制御装置。
【請求項１０】
請求項９記載のネットワークの電源制御装置であって、
前記ネットワークパターン生成手段は二進パターンを複数のグループに分割し前記グループ毎に並列に二進パターンを生成し、前記被覆判定手段はグループ毎に並列に前記二進パターンを前記制約条件により評価することを特徴とするネットワークの電源制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のノードにより構成されるネットワークにおいて、ネットワークが処理すべき通信量が減少した時、ネットワークを構成するノード或いは通信路の機能を縮小或いは停止し、ネットワーク全体の消費電力を低減することが可能なネットワークの電源制御方法及びネットワークの電源制御装置に関するものである。
【背景技術】
【０００２】
ネットワークシステムは、ネットワークに要求される最大の通信量に対応し得るように各ノードの処理能力とノード間の通信能力が決められる。ネットワークが処理すべき通信量はネットワークの利用者の活動状況により大きく変化する。例えば、年末年始は多くの企業が営業を休止するため、ネットワークの通信量は大きく減少する。通信量が減少したにもかかわらず、ネットワークの処理能力を最大の通信量に対応する状態に維持することは不必要な電力の消費となり、好ましいことではない。この問題解決策として、ネットワークに要求される通信量が減少した時、予め決められたノードの動作クロックを低くする等、ノードの機能を低下させ電力の消費を押さえることが考えられている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の方法は、ノードの機能を低下させるものであり、ノードの電源を落とし消費電力を大きく低減することはできない。また、機能を低下させるノードを予め決定しておくものであり、ネットワークが処理すべき通信量、或いは通信の集中度等を考慮した最良のネットワークの状態を実現することはできない。また、機能を低下させ、不要なインタフェースを停止するノードをヒューリスティックな選択アルゴリズムにより決定する方法が考えられている。しかし、この方法は最適に近いと思われるノードやインタフェースの制御形態を求めるものであり、通信量の状況に即した最適な制御形態を求めることはできない。
【課題を解決するための手段】
【０００４】
ネットワークシステムはノード間を複数の通信経路により接続し、一部の通信路が障害、或いは輻輳状態となった場合、他の通信路を迂回する構成を採用している。従って、ネットワーク内のデータの転送に重大な影響を与えることなく、ネットワークの一部のノード或いはインタフェースの機能を停止させることが可能である。
本発明は、ネットワーク機器の電源を通信路単位、或いはノード単位で制御し、省電力ネットワークを実現するための構成を提供するものである。本発明は、不要な通信路或いはノードの電源を落とすものであり、電源を落としてもネットワークに要求される通信量を維持することが可能であり、且つ消費電力の低減効果が最も高い通信路或いはノードを決定するものである。また、通信路だけでなく、ノードを構成する機器単位での電源制御や、データセンターにおけるディスク割り当て制御などに応用可能である。
【０００５】
消費電力を節減するためネットワークの通信路等、一部のリソースの機能を停止した場合、機能を停止したリソースを通過していた通信を別の通信路（リンク）を用いて転送する必要があり、稼働している通信路を迂回路として使用する。従って、稼働している通信路に通信が集中し、通信路の使用率(通信量)が高くなる。通信路の処理能力以上に通信が集中した場合は、ネットワークのパフォーマンスは低下する。また、送信元ノードから宛先ノードへの最短経路の通信路を用いた場合に比べ、別経路を通ることにより、宛先までのホップ数（距離）が増大し、遅延やスループットが劣化する可能性がある。従って、ネットワークのパフォーマンスの劣化を抑え、要求される通信能力を維持しつつ、最大の省電力効果が得られ通信路を選択して停止することが必要である。
本発明は、機能を停止することが可能な通信路等のリソースの候補を検証し、省電力効果とネットワークのパフォーマンスの両者を検討し、最良の組合せを判定することが可能な構成を提供するものである。
【０００６】
図１−１(ａ)はノードＡ乃至ノードＥの５個のノードを有するネットワークの例である。各ノード間の実線はノード間の通信路(リンク)を表し、各通信路には当該通信路のリソースIDが記載されている。図１−１(ａ)に示される例では、例えばノードＡはノードＢとノードＣとノードＥと各々通信路１、通信路４、及び通信路９により結合されている。同図(ｂ)と(ｃ)は、(ａ)に示されるネットワークの一部の通信路を停止した状態を示す図である。(ｂ)は通信路の２、５、６、８、及び９を停止した状態であり、(ｃ)は通信路の８と９を停止した状態である。(ｂ)では、ノードＤに接続されている通信路は全て停止されるため、ノードＤの機能を停止することが可能となる。図１−１(ａ)に示されるネットワークでは、通信路を停止する形態は全部で２9通りある。
図１−１(ｃ)のネットワークでは、停止する２つの通信路が接続されているノード、例えば通信路９が接続されているノードＡとノードＥの対応するインタフェース部の機能が停止され、各ノードの消費電力が小さくなる。この場合、通信路９を介して行われる通信は、通信路９が停止されたことにより、他の通信路、例えば通信路４−通信路７を介して行われる。この結果、迂回路となった通信路４と７の通信量は増大する。迂回路して使用される通信路４と７の能力が増大する通信量に対応し得ない場合、図１−１(ｃ)のネットワークの形態は採用することができない。
【０００７】
本発明の実施形態では、ネットワークの構成を、活動状態にある通信路を「１」、停止状態にある通信路を「０」とする二進パターン(当該二進パターンを「ネットワークパターン」と言う)により表す。従って、図１−１(ａ)に示されるネットワークは９ビットのネットワークパターンにより表される。図１−２(ａ)は図１−１(ｂ)に示される状態に設定されたネットワークのネットワークパターンを示すものであり、「１０１１００１００」となる。また、図１−２(ｂ)は図１−１(ｃ)に示されるネットワークのネットワークパターンであり、「１１１１１１１００」となる。
図１−１(ａ)に示されるネットワークのネットワークパターンは「０００００００００」から「１１１１１１１１１」の２9パターンが可能であり、本発明これらのネットワークパターンを順次検討し(「０００００００００」と「１１１１１１１１１」の検討は不要であり、「００００００００１」から「１１１１１１１１０」を検討する)、ネットワークに要求される通信能力を実現可能か否か、実現可能な場合その消費電力はどの様になるかを判定し、最適なネットワークパターンを取得するものである。
【０００８】
図２は、本発明の実施態様を示す図であり、(ａ)は概要図、(ｂ)は詳細図である。図３は同構成の処理フローの図である。図１−１(ａ)に示されるネットワークは９個の通信路(リソース)からなり、９ビットのネットワークパターンにより表される。活動化し使用するリソースの数を１から８まで変化させて得られるネットワークパターンを順次検討する。検討の順番は活動化するリソース数を８から開始し、順次減らしていく方法と、１から開始し、順次増加していく方法があるが、以下で、１から開始し順次増加していく方法により説明する。
リソース数変更ループ部101：検証するｎビットのネットワークパターン(図１−１(ａ)では、ｎ＝９)において「１」であるビットの数ｋを指定する。初期値はｋ＝１であり、終了判定部105の指示108によりｋを１ずつ増加する。
全パターン列導出部102：ｎビットの内ｋビットが「１」である全ての二進パターンを昇順(又は、降順)に生成する。
被覆判定部103：全パターン列導出部102が生成した二進パターン、即ちネットワークパターンで表されるネットワークが要求される通信能力を実現可能か否かを判定する。
コスト計算部104：被覆判定部103がネットワークに要求される通信能力を実現可能と判定したネットワークパターンに対して、当該ネットワークパターンに従ってリソース(通信路とノード)の電源をオン／オフした時の消費電力を算出する。
終了判定部105：探査を続ける必要があるか否かを判定する。続ける必要がある時は、リソース数変更ループ部101に指示108を出し、ｋを１つ増加したパターンによる探査を行う。
【０００９】
終了判定部105が探査を終了する条件は、全てのパターンの検査が終了した時、或いは、予め設定された条件を満足するパターンが得られた時とする。ネットワークの消費電力は、電源がオンされ動作状態にあるリソースの数、即ちｋの値が大きくなると増大する。従って、ｋを１から順次増加させて探査を行う構成では、特定のリソース数(ｋの値)で設定条件を満足するネットワークパターンが1つ以上得られた時、当該リソース数で得られたネットワークパターンの中から消費電力が最小のパターンを選び出し、最終的な解とする。
リソース数が最大(ｋ＝ｎ−１)のパターンから探査を開始し、ｋの値を順次減じていく構成では、ｋ＝ｎ−１、ｋ＝ｎ−２、・・・と順次探査を行い、特定のリソース数(例えば、ｋ＝Ｐ)の探査で実行可能なネットワークパターンが初めて見つからなくなった時、ｋ＝Ｐ＋１までの探査で発見された実行可能解の中から消費電力が最小のパターンを選び出し、最終的な解とする。
【００１０】
図２(ａ)の全パターン列導出部102はｎビットの内ｋビットが「１」である全ての二進パターンを昇順(又は、降順)に生成する。ｎビットの内ｋビットが「１」である二進パターンの数は「ｎＣｋ  (Ｃはコンビネーション)」である。ノード間の通信路が多数存在するネットワークでは、上記の数は非常に大きなものとなり、マイクロプロセッサ等処理能力が小さい装置により上記二進パターンを１つずつ逐次的に検証する構成では、実用的な時間内に解を得ることが困難な場合がある。本発明の実施態様は、「ｎＣｋ  」個の二進パターンを複数のグループに分割し、複数の処理装置により前記複数のグループを並列に処理する構成とするものである。
図２(ｂ)は、図２(ａ)に示される構成を並列処理可能な処理装置により実現するものであり、並列処理可能な処理装置としてDAPDNA(登録商標)を例に示すものである。
DAPDNAはプログラムにより制御されるDAP121とプロセッサエレメント（演算器）がマトリックス状に配置されたDNA122から成る。DAP121はソフトウェアを実行しながら高速処理が必要な部分をDNA122に担わせる。DNA122はプロセッサエレメントの接続を規定することにより、４重の並列処理が可能である。
【００１１】
図２(ｂ)に示される構成の動作フローが図３に示される。
ステップ１５１：DAP121の制御部は、DNA122を初期化すると共に、記憶部にネットワークに要求される機能、能力等の条件を判定条件126として設定する。また、結果出力部128が参照する終了条件ポリシー129を設定する。初期化が終了するとリソースの数(ｋ)を１にセットする。
ステップ１５２：DAP121は、ｎビットの内ｋビットが「１」である「ｎＣｋ  」個の二進パターンをグループに分割し並列処理するため、各グループの先頭となる二進パターンを生成し、DNA122の先頭パターンレジスタ123に格納する。
ステップ１５３：パターン生成部124は、先頭パターンレジスタ123に格納されている先頭パターンから連続する「ｎビットの内ｋビットが「１」のパターン」をビーラー法により生成する。
ステップ１５４：ステップ１５３で生成されたパターンは順次被覆判定部125に渡される。制約条件126にはネットワークが実現すべき機能或いは性能等の条件が設定されており、被覆判定部125はパターン生成部124から渡されたパターン(ネットワークパターン)が制約条件126に適合するか否かを判定する。
ステップ１５５：ステップ１５４において、制約条件126に適合していると判定されたネットワークパターンはコスト計算部127に渡され、当該ネットワークパターンに従って構成されたネットワークの消費電力(コスト)を算定し、ネットワークパターンとその消費電力を結果出力部128に渡す。
DNA122はステップ１５３からステップ１５５までを前記グループ毎に並列処理する(同実施態様では４多重の並列により処理する)。
ステップ１５６：結果出力部128は終了条件ポリシー129を参照し、DAP121に送信するネットワークパターン等の情報を決定する。終了条件ポリシーには、グループに属する全てのネットワークパターンの処理が終了したか、実行可能解は存在するか等の条件が設定される。
全ての並列処理部の検証が終了した時、DAP121は各処理部の結果出力部128から送信された検証結果を統合し、制約条件に適合するとされたビットパターンが存在するか否かを判定する。存在する時はステップ１５７に進み、存在しない時はステップ１５８に進む。
ステップ１５７：適合するネットワークパターンが１つの時は、当該ネットワークパターンを、ネットワークを制御する候補パターンとして出力する。適合するネットワークパターンが複数存在する場合は、最も消費電力が小さいネットワークパターンを候補パターンとして出力する。
ステップ１５８：すべのパターンの検証が終了したか、即ち「ｋ」は「ｎ−１」が否かを判別する。終了した時はステップ１５９に進み、終了していない時はステップ１６０に進む。
ステップ１５９：候補とするネットワークパターンは存在しないとする。
ステップ１６０：「ｋ」に１を加算して、ステップ１５２に戻る。この処理により、動作させるリソースの数を１増加させて、候補となるネットワークパターンを探査する。
【００１２】
図４は、９本の通信路を有するネットワークにおいて、７本の通信路を停止し２本の通信路を使用するネットワークパターンと、４多重による並列処理を行うために、9Ｃ2個のネットワークパターンを４分割すると共に、ビーラー法により分割したグループ内の連続するパターンをクーループの先頭パターンから順次生成する概要を示す図である。
９本の通信路中の２本の通信路を使用するネットワークパターンは9Ｃ2＝36通り存在する。図４(ａ)には36のパターンが昇順に示されている。本実施態様では、ネットワークパターンの検証を４組の処理部により並列処理する。図３−２のステップ１５２で、36のパターンを４分割した時に先頭となるパターン、即ち、１番目、１０番目、１９番目、及び２８番目のパターンを生成する。生成されるパターンは「０００００００１１」「００００１１０００」、「００１００１０００」、及び「０１１００００００」となる。
生成された各先頭パターンは、先頭パターンレジスタ123を介してパターン生成手段124に渡される。パターン生成手段124はビーラー法により先頭パターンに続くパターンを順番に生成し被覆判定部に送る。先頭パターン「０００００００１１」からは、「００００００１０１」、「００００００１１０」、「０００００１００１」、及び「０００００１０１０」が生成される。
【００１３】
［先頭パターン生成部］
図５−１はDAP121が行う先頭パターンを決定する動作の原理を、６ビット中３ビットが「１」の組合せの６番目のパターンを生成する例により示すものである。
図５−１(ａ)は、６ビット中３ビットが「１」の組合せの全てのパターンを示すものであり、図５−１(ｂ)は上記パターンの６番目のパターンを生成する原理を示す図である。
［図５−１(ｂ)の「３０１」に対応する処理］
「６ビット中３ビットが「１」の組合せ」は、
上位桁の４ビットが「０００１」であり、下位桁の２ビットが［２ビット中２ビットが「１」の組合せ］であるグループ(グループ１)と、
上位桁の３ビットが「００１」であり、下位桁の３ビットが［３ビット中２ビットが「１」の組合せ］であるグループ(グループ２)と、
上位桁の２ビットが「０１」であり、下位桁の４ビットが［４ビット中２ビットが「１」の組合せ］であるグループ(グループ３)と、
上位桁の１ビットが「１」であり、下位桁の５ビットが［５ビット中２ビットが「１」の組合せ］であるグループ(グループ４)に分けられる。
ｎビット中ｋビットが「１」の組合せの数は「ｎＣｋ  」となる。従って、「６ビット中３ビットが「１」の組合せ」の数は6Ｃ3であり、グループ１乃至グループ４に属するパターンの数は各々、2Ｃ2、3Ｃ2、4Ｃ2、5Ｃ2である。また、これらに数には以下の関係が成り立つ。
6Ｃ3＝2Ｃ2＋3Ｃ2＋4Ｃ2＋5Ｃ2
＝１＋３＋６＋１０
【００１４】
上記の規則によりグループ化されたパターンは昇順となる。従って、６番目のパターンは、
１＋３＜６＜１＋３＋６  (2Ｃ2＋3Ｃ2＜６＜2Ｃ2＋3Ｃ2＋4Ｃ2)
の関係から、グループ３に属す。また、
６−(１＋３)＝２  (「１＋３＜６」の差分)
であり、求めるパターンは、グループ３の２番目である。
従って、６ビット中３ビットが「１」の組合せの６番目のパターンは、上位桁の２ビット目が「１」であり、下位桁の４ビットが、４ビット中２ビットが「１」の組合せの２番目のパターンである。
【００１５】
［図５−１の「３０２」に対応する処理］
次に［４ビット中２ビットが「１」の組合せ］の２番目のパターンを求める。
［４ビット中２ビットが「１」の組合せ］は、
上位桁の３ビットが「００１」であり、下位桁の１ビットが［１ビット中１ビットが「１」の組合せ］であるグループ(グループ１)と、
上位桁の２ビットが「０１」であり、下位桁の２ビットが［２ビット中１ビットが「１」の組合せ］であるグループ(グループ２)と、
上位桁の１ビットが「１」であり、下位桁の３ビットが［３ビット中１ビットが「１」の組合せ］であるグループ(グループ３)に分けられる。
４ビット中２ビットが「１」の組合せの数は、4Ｃ2であり、以下の関係が成り立つ。
4Ｃ2＝1Ｃ1＋2Ｃ1＋3Ｃ1
＝１＋２＋３
【００１６】
４ビット中２ビットが「１」の組合せの２番目のパターンは、
１＜２＜１＋２  (1Ｃ1＜２＜1Ｃ1＋2Ｃ1)
２−１＝１  (「１＜２」の差分)
の関係から、グループ２の１番目である。
即ち、４ビット中２ビットが「１」の組合せの２番目のパターンは、上位桁の２ビット目が「１」であり、下位桁の２ビットが、２ビット中１ビットが「１」の組合せの１番目のパターンである。
【００１７】
［図５−１の「３０３」に対応する処理］
次に、［２ビット中１ビットが「１」の組合せ］の１番目のパターンを求める。
［２ビット中１ビットが「１」の組合せ］は、
上位桁の２ビットが「０１」であり、下位桁の０ビットが［０ビット中０ビットが「１」の組合せ］であるグループ(グループ１)と、
上位桁の１ビットが「１」であり、下位桁の１ビットが［１ビット中０ビットが「１」の組合せ］であるグループ(グループ２)に分けられる。
２ビット中１ビットが「１」の組合せの数は、2Ｃ1であり、以下の関係が成り立つ。
2Ｃ1＝0Ｃ0＋1Ｃ0
＝１＋１
【００１８】
２ビット中１ビットが「１」の組合せの１番目のパターンは、
０＜１＝１  (０＜１＝0Ｃ0)
の関係から、グループ１の１番目である。
従って、２ビット中１ビットが「１」の組合せの１番目のパターンは、上位桁の２ビット目が「１」であり、下位桁の０ビットが［０ビット中０ビットが「１」の組合せ］のパターンである。
［図５−１の「３０４」対応する処理］
「３０３」の処理の結果、次に「０ビット中０ビットが「１」の組合せ」を処理することになる。この組み合わせは、「１」となるビットは存在せず、ビットのパターンが全て確定されたことを意味する。従って、６ビット中３ビットが「１」の組合せの６番目のパターンは、「３０１」、「３０２」、「３０３」で確定したビット位置を「１」とした「０１０１０１」である。
【００１９】
図５−２は、図５−１に示される過程の処理フローを示す図である。
ステップ３１１：６ビット中３ビットが「１」のパターンの６番目のパターンを求める。６ビット中３ビットが「１」の組合せるパターンの数は6Ｃ3である。６ビットパターンを４つのグループに分け、６番目のパターンがどのグループに属すかを判別する。
ステップ３１２：「2Ｃ2＋3Ｃ2＜６＜2Ｃ2＋3Ｃ2＋4Ｃ2」から、６番目のパターンは「4Ｃ2」のグループに属することを判別し、次に処理するパターンを「4Ｃ2」のグループとする。
ステップ３１３：「4Ｃ2」のグループのパターンは４ビットにより構成されている。従って、求める６ビットの内、上位桁の２ビットが確定し、上位桁の２ビット目が「１」となる。
【００２０】
ステップ３１４：４ビット中２ビットが「１」のパターンから２(＝６−(１＋３))番目のパターンを求める。４ビット中２ビットが「１」の組合せるパターンの数は4Ｃ2である。４ビットパターンを３つのグループに分け、２番目のパターンがどのグループに属すかを判別する。
ステップ３１５：「1Ｃ1＜２＜1Ｃ1＋2Ｃ1」から、当該パターンは「2Ｃ1」のグループに属することを判別し、次に処理するパターンを「2Ｃ1」のグループとする。
ステップ３１６：「2Ｃ1」のグループを選択したことにより、求める４ビットの内、上位桁の２(＝４−２)ビットが確定し、２ビット目が「１」となる。
【００２１】
ステップ３１７：２ビット中１ビットが「１」のパターンから１(＝２−１)番目のパターンを求める。２ビット中１ビットが「１」の組合せるパターンの数は2Ｃ1である。２ビットパターンを２つのグループに分け、１番目のパターンがどのグループに属すかを判別する。
ステップ３１８：「０＜１＝0Ｃ0」から、当該パターンは「0Ｃ0」のグループに属することを判別し、次に処理するパターンを「0Ｃ0」のグループとする。
ステップ３１９：「0Ｃ0」のグループを選択したことにより、求める２ビットの内、２(＝２−０)ビット目を「１」と確定する。
ステップ３２０：ステップ３１９で選択された「0Ｃ0」のグループのパターンは、０個の「１」からなるパターンであり、処理が全て終了したことを意味する。ステップ３１３、ステップ３１６、ステップ３１９の各ステップで確定したビット位置に「１」をセットし、「０１０１０１」を出力する。
【００２２】
図４−１の先頭パターン決定部201は、図５−２に示される処理フローを６番目の他、１番目、１１番目、及び１６番目に対して行い、生成した４個のパターンをビーラー法演算部203に渡す。
図４−１乃至図５−２は、６ビット中３ビットが「１」のパターンを例に説明されている。図６は、ｘ多重処理において、ｎビット中ｋビットが「１」のパターンをｘ多重処理により処理する態様を示す図である。この場合、先頭パターン決定部201は、ｎビット中ｋビットが「１」のパターンの、１番目、ｊ＋１番目、２ｊ＋１番目、・・・、(ｘ−１)ｊ＋１番目のパターンを生成して多重処理装置に渡す。
図７はｎビット中ｋビットが「１」の組合せのＪ番目のパターンを求めるフローであり、図７に示されるフローを一般化したものである。
【００２３】
ステップ４０１：
ｎビット中ｋビットが「１」の組合せのＪ番目のパターンを求める処理を行う。
k-1Ｃk-1＋k-1+1Ｃk-1＋・・・・＋p-1Ｃk-1
＜Ｊ＜＝
k-1Ｃk-1＋k-1+1Ｃk-1＋・・・・＋p-1Ｃk-1＋pＣk-1
となる「ｐ」を求める。
ステップ４０２：上位桁の(ｎ−ｐ)ビットのパターンは、(ｎ−ｐ−１)個の「０」 と１個の「１」 からなる［０・・・０１］である。従って、ステップ４０２で上位桁の(ｎ−ｐ)ビット目を［１］とする。
ステップ４０３：パターンは昇順に並んでいる。従って、Ｊ番目のパターンは「pＣk-1」のグループの、「Ｊ−(k-1Ｃk-1＋k-1+1Ｃk-1＋・・・・＋p-1Ｃk-1)」番目である(この値を「ｑ」とする)。
ｋ−１が０の時、「「pＣk-1」のグループ」は「ｐビット中０ビットが「１」のグループ」であり、位置を確定すべき「１」は存在しないことを意味する。従って、ｋ−１が０の時は、「１」の確定処理を終了する。
ｋ−１が０ではない時、ステップ４０３で、ｐビット中(ｋ−１)ビットが「１」であるパターンのｑ番目のパターンを求める。この処理は、ｎをｐ、ｋをｋ−１、Ｊをｑに置換してステップ４０１からの処理を繰り返す処理である。
ステップ４０４：ステップ４０３でｋ−１が０の時、ｋ個の「１」の全ての位置が確定したことを意味する。ステップ４０２で確定されたビット位置に「１」をセットしたｎビットパターンを出力する。
【００２４】
［パターン生成部］
パターン生成部124は、先頭パターンレジスタ123に格納されたパターンを基に、ビーラー法を用いて順次昇順のパターンを生成する。図８は、パターン生成部124が、ビーラー法によりパターンＸを基に１つ大きいパターンを生成する処理フローである。各ステップの上段はパターンＸに対する処理であり、下段はＸ＝「０００１１１」とした例である。
ステップ５０１：対象パターンの最も右の「１」だけ残して他を全て「０」にしたものをＳ１とする。Ｘ＝「０００１１１」の場合、Ｓ１は「０００００１」となる。
ステップ５０２：ＸとＳ１を加算し結果をＲとする。Ｒ＝Ｘ＋Ｓ１＝「０００１１１」＋「０００００１」＝「００１０００」となる。
ステップ５０３：Ｒが含む「１」のビットの最も右のものだけ残して他を全て「０」にしたものをＳ２とする。Ｒは「００１０００」であり、Ｓ２は「００１０００」となる。
ステップ５０４：Ｓ２をＳ１で除算する。本例では、「００１０００／０００００１＝００１０００」となる。除算した結果を１ビット右にシフトする。本例では「００１０００」を１ビット右にシフトした「０００１００」となる。次にシフトされたデータから「１」減算してＳ３とする。Ｓ３＝０００１００−１＝００００１１となる。
ステップ５０５：ＲとＳ３の論理和を採り、結果を出力する。本例では「００１０００」ＯＲ「００００１１」＝「００１０１１」となる。
【００２５】
［被覆判定部］
被覆判定部125はパターン生成部124が生成したネットワークパターンが、当該ネットワークに要求される条件に適合するか否かを判定する。DNA122にはネットワークに要求される条件が制約条件126として記憶され、被覆判定部125により参照される。
図９−１乃至図９−５は、ノード間に要求される通信量を制約条件としてネットワークパターンの適否を判定する構成を示すものである。
図９−１(ａ)は、本実施態様の説明に使用するネットワークの例であり、図１−１(ａ)に示されるものと同一であり、Ａ乃至Ｅの５つのノードと、ノード間を結ぶ９つの通信路から構成されている。  
図９−１(ｂ)は各ノード間に要求される処理可能な通信量であり、最大値が１となるように正規化されている。例えば、ノードＡからノードＢへの通信量は「0.2」であり、ノードＢからノードＡへの通信量は「0.1」である。図９−１(ｂ)に示されるデータが制約条件126として記憶される。
【００２６】
図９−２(ａ)は、パターン生成部124が生成したネットワークパターン「１１１１１１１００」に従って、図９−１(ａ)に示されるネットワークの一部の通信路を停止した状態の図である。
ノード間の通信は最短の通信路により行われる。複数のノードにより構成されるネットワークにおいて、２つのノード間の最短経路を探査する方法には多くの方法か知られており、本発明は特定の探査方法に依存するものではない。図９−２(ｂ)は、図９−２(ａ)に示されるネットワークの２つのノード間の最短の通信路を示すものである。隣接しないノード間には、最短の経路が併記されている。たとえは、ノードＡからノードＤへ通信は、ノードＡ−ノードＣ−ノードＤの通信路で行われる。同様に、ノードＡからノードＥへ通信は、ノードＡ−ノードＣ−ノードＥの通信路で行われる。
ノードＡからノードＤへ通信は、ノードＡ−ノードＢ−ノードＤの通信路で行われるため、ノードＡからノードＢへの通信量は、ノードＡが送信元でありノードＢが宛先である通信量に、ノードＡが送信元でありノードＤが宛先である通信量を加えたものとなる。同様に、ノードＢからノードＤへの通信量は、ノードＢが送信元でありノードＤが宛先である通信量に、ノードＡが送信元でありノードＤが宛先である通信量を加えたものとなる。
【００２７】
図９−３は、図９−１(ｂ)に示される各ノード間の通信量を示す表を、隣接しないノード間の通信量を隣接するノード間の通信量に置き換えたものである。ノードＡからノードＢへの通信は、ノードＡが送信元でありノードＢが宛先である通信量「0.2」に、ノードＡが送信元でありノードＤが宛先である通信量「0.3」を加えた「0.2＋0.3」となる。同様に、ノードＢからノードＤへの通信量には、ノードＢが送信元でありノードＤが宛先である通信量「0.1」に、ノードＡが送信元でありノードＤが宛先である通信量「0.3」が加えられる。また、ノードＢからノードＥへの通信は、ノードＢ−ノードＤ−ノードＥの通信路で行われるため、ノードＢからノードＤへの通信量にはノードＢが送信元でありノードＥが宛先である通信量「0.4」が加算される。従って、ノードＢからノードＤへの通信量は、ノードＢが送信元でありノードＤが宛先である通信量「0.1」と、ノードＡが送信元でありノードＤが宛先である通信量「0.3」と、ノードＢが送信元でありノードＥが宛先である通信量「0.4」とを加えた「0.1＋0.3＋0.4」となる。
図９−１(ｂ)の通信量を表す各数値は、ノード間の通信量の最大値が１となるように正規化されている。ネットワークの通信量を隣接するノード間の通信量で表した図９−３の値の何れかが１を越えた場合、そのノード間の通信路に要求される通信量が当該通信路の許容量を超えることを意味する。従って、この様なネットワークパターンに従ってネットワークリソースの電源のオン／オフを制御することはできない。
【００２８】
図９−４はネットワークパターンの適否を判定する処理フローであり、図９−５は当該フローのデータを示す図である。
ステップ６０１：図９−２(ｂ)に示される２つのノード間の最短の通信路を二進データで表す。図９−５の611、612、613、・・・・は上記の二進データである。例えば、613のノードＡからノードＤへの通信路は(Ａ，Ｂ)と(Ｂ，Ｄ)の項が「１」であり、他の項が「０」となる。
ステップ６０２：各ノード間の通信量を取得する。図９−１(ｂ)に示される各ノード間の通信量を制約条件記憶部から取得し、図９−５の621に示されるデータを生成する。
ステップ６０３：ステップ６０１で生成された二進データの各ビットと、ステップ６０２で生成された通信量のデータの対応する項を乗算する。当該処理により、例えば、図９−５のデータ611の項(Ａ，Ａ)とデータ621の項(Ａ，Ａ)を乗算し、データ631の項(Ａ，Ａ)が生成される。当該処理はステップ６０１で生成された全ての二進データ(611、612、613、・・・・)の全ての項に対して行う。
ステップ６０４：ステップ６０３で生成されたデータの同一の項を加算する。当該処理により、図９−５のデータ631、632、633、・・・・の全ての(Ａ，Ａ)を加算したデータ、乃至、全ての(Ｅ，Ｅ)加算したデータが得られる。
ステップ６０５：ステップ６０３の加算結果に１を越える項が存在するか否かを判定する。加算結果が１を越える場合、そのノード間に予想される通信量は、当該ノード間の許容量を越えることを意味する。従って、ステップ６０３の加算結果に１を越える項が存在するは場合、そのネットワークパターンに従ってネットワークのリソースの電源を制御することはできず、当該ネットワークパターンは破棄される。
【００２９】
図９−１乃至図９−５に示される被覆判定は、各通信路に許容される通信量を制約条件とするものである。制約条件は通信路の許容通信量に限られるものではない。ノードに要求される機能を制約条件とすることが可能である。例えば、他のネットワークとのゲートウェイとして機能するノードは停止することができない。従って、図１−１(ａ)に示されるネットワークおいて、ノードＤがゲートウェイの場合、図１−１(ｂ)に示されるネットワークパターンでは、ノードＤはネットワーク内の他のノードから分離されるため、当該ネットワークパターンは候補とすることができない。
通信路の制約条件には下記の条件が可能である。
１．全ての通信路において、通信が必要とする波長数を充足している。
２．全ての通信路が処理すべき通信量は、通信路の最大帯域以下である。
３．全てのノード間の通信遅延は許容範囲内である。
４．全ての通信を中継するノードの数、及び通信距離は所定数以下である。
【００３０】
［コスト計算部・結果出力部］
被覆判定部125は、図９−４のフローにより制約条件を満たしていると判断されたネットワークパターンを図２(ｂ)のコスト計算部127に渡す。コスト計算部127は、当該ネットワークパターンに従ってネットワークの通信路の電源のオン／オフを制御した時にネットワーク全体が消費する電力を予測する。
図１０は、ノードとノードに接続されている通信路の数に基づいて消費電力を予測する方法を示すものである。稼働中のノードの消費電力を「１０」、ノードが１つの通信路を制御するために必要とする電力を「２」とすると、ノードＡの消費電力は「１４」となり、ノードＢの消費電力は「１６」となる。全てのノードの消費電力を予測し、それらの合計を当該ネットワークパターンのコストとする。
結果出力部128は、終了条件ポリシー129に従って、グループに属する全てのネットワークパターンの処理が終了したことを検知すると、制約条件を満たしたネットワークパターンとコスト計算部127が出力したそのコストを全体の制御部、即ち、図３−１(ｂ)のDAP121に送信する。制約条件を満たしたネットワークパターンが存在しない場合は、存在しない旨を通知する。
【００３１】
［候補選定］
DAP121は現在の「ｋ」の調査が全て終了した時、候補の選定処理を行う。DAP121は並列処理を行うDNA122内の結果出力部128から被覆判定に合格したネットワークパターンの出力があったか否かを検査する(図３−２のステップ１５６)。出力が１つの場合、そのネットワークパターンをネットワークの電源制御の候補として出力する。出力が２つ以上存在した場合、各ネットワークパターンと共に結果出力部128から出力されたコストを検査し、最もコストが小さなネットワークパターンを選択し、ネットワークの電源制御の候補として出力する。
全ての結果出力部128から制約条件を満たしたネットワークパターンが出力されなかった時、DAP121は全ての「ｋ」の調査が終了したかを判定し(図３−２のステップ１５８)、終了していない時は「ｋ」に１加算して再度調査を行う(図３−２のステップ１６０)。
【００３２】
本実施態様に係る構成は、ノード間の通信路の機能を停止することにより消費電力の低減を図るものである。通信路の構成方法として、通信容量が比較的小さいサブ通信路を複数並列に設けることにより大きな通信容量とする方法が存在する。図１１はノードＡとノードＢの間の通信路を６本のサブ通信路により構成する形態を示している。
上記の構成の通信路では、全てのサブ通信路を同時にオン／オフするのではなく、図９−３に示されるノード間の予想通信量に応じて一部のサブ通信路のみを動作させ、他のサブ通信路を停止する構成とすることが可能である。
【産業上の利用可能性】
【００３３】
ネットワークは要求される最大の通信量に対応し得るように、各ノードの処理能力とノード間の通信能力が決めされている。しかし、最大の能力を必要としない場合、ネットワーク内の必要としないリソースの電源をオフとし、消費電力を低減することが考えられる。しかし、電源をオフにするリソースを決定するに際して、ネットワークに要求される能力を維持することは必須の条件である。
広域ネットワークは大量のリソースを有しており、所定の通信能力の維持と消費電力の削減を両立させる最良のリソースの組合せを決定するには大量のデータを処理する必要があり、状況に即した最良の組合せを短時間で決定することが困難であった。
本発明では、ネットワーク内の通信路の構成を二進パターンにより表し、通信路の電源のオン／オフの組合せを順次検討することにより、要求される通信能力を維持することが可能なリソースの組合せを探査し、それら組合せから消費電力が最も小さい組合せを選択するものである。
本発明の実施態様では、前記通信路の電源のオン／オフを前記二進パターンの対応するビットの「１」「０」により表現し、「１」の数を順次増加、或いは減少させて組合せパターンを生成する構成を有している。また、生成された組合せパターンを複数のグループに分割し、各グループをDAPDNA等の並列動作可能な処理装置により並列に処理することにより前記探査を高速に実行可能な構成を有している。
本発明の構成により、多くのノードと通信路を有するネットワークにおいて、通信量の減少に対応して不要なリソースの電源をオフとし、消費電力の低減を図る場合、ネットワークに要求される能力を維持しつつ、最も消費電力を少なくすることが可能なリソースの組合せを迅速に決定することが可能となる。
【図面の簡単な説明】
【００３４】
【図１−１】本発明が適用されるネットワークの概要図
【図１−２】ネットワークパターンの概要図
【図２】本発明の実施態様の構成図
【図３】本発明の実施態様の動作フロー図
【図４】本発明の実施態様のネットワークパターンの処理図
【図５−１】並列処理の先頭パターンの生成の概要図
【図５−２】並列処理の先頭パターンの生成フロー図
【図６】本発明の実施態様における並列処理の概要図
【図７】並列処理の先頭パターンの生成フロー図
【図８】ビーラー法によるネットワークパターンの生成フロー図
【図９−１】ネットワークパターンの適合を判定する制約条件の概要図
【図９−２】ネットワークパターンによるノード間の通信路の概要図
【図９−３】ネットワークパターンによるノード間の通信路の通信量の概要図
【図９−４】ネットワークパターンの適合を判定する処理フロー図
【図９−５】ネットワークパターンの適合を判定する処理データの概要図
【図１０】ネットワークのコストを判定する概要図
【図１１】ノードと通信路の概要図
【図１−１】
2010034792.tif 000003
【図１−２】
2010034792.tif 000004
【図２】
2010034792.tif 000005
【図３】
2010034792.tif 000006
【図４】
2010034792.tif 000007
【図５−１】
2010034792.tif 000008
【図５−２】
2010034792.tif 000009
【図６】
2010034792.tif 000010
【図７】
2010034792.tif 000011
【図８】
2010034792.tif 000012
【図９−１】
2010034792.tif 000013
【図９−２】
2010034792.tif 000014
【図９−３】
2010034792.tif 000015
【図９−４】
2010034792.tif 000016
【図９−５】
2010034792.tif 000017
【図１０】
2010034792.tif 000018
【図１１】
2010034792.tif 000019
【手続補正書】
【提出日】平成20年8月7日(2008.8.7)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図９−３
【補正方法】変更
【補正の内容】
【図９−３】
2010034792.tif 000020