JP6388326B2 - システムおよびシステムの制御方法 - Google Patents

システムおよびシステムの制御方法 Download PDF

Info

Publication number
JP6388326B2
JP6388326B2 JP2013516284A JP2013516284A JP6388326B2 JP 6388326 B2 JP6388326 B2 JP 6388326B2 JP 2013516284 A JP2013516284 A JP 2013516284A JP 2013516284 A JP2013516284 A JP 2013516284A JP 6388326 B2 JP6388326 B2 JP 6388326B2
Authority
JP
Japan
Prior art keywords
control unit
functional block
function
block
evaluation function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013516284A
Other languages
English (en)
Other versions
JPWO2012160978A1 (ja
Inventor
小川 雅嗣
雅嗣 小川
田中 淳裕
淳裕 田中
雄馬 松田
雄馬 松田
雅文 矢野
雅文 矢野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2012160978A1 publication Critical patent/JPWO2012160978A1/ja
Application granted granted Critical
Publication of JP6388326B2 publication Critical patent/JP6388326B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Game Theory and Decision Science (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Educational Administration (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Supply And Distribution Of Alternating Current (AREA)
  • Safety Devices In Control Systems (AREA)
  • Complex Calculations (AREA)

Description

本発明は、複数の機能ブロックを有し、それらの機能ブロックを自律分散適応的に統合して動作可能なシステムに関する。
現在、システムの大規模化、あるいはシステム化されていなかったものが突如大規模システム化するという現象が様々な領域で進展している。前者の代表的なものとしては、クラウドと呼ばれる技術に関係したデータセンター、ネットワークなどのIT分野であり、これらは年々規模が大きくなっている。また、後者としては、電力、エネルギー網、都市といったインフラ領域であり、スマートグリット、スマートシティといった大規模システムの案件として突如制御対象になりつつある。したがって、大規模システムをいかに制御していくかは今後非常に重要な課題になることが予想される。
IT分野におけるシステムで実施される制御としては、計算リソース、ネットワークの負荷分散、ストレージの配置分散などの制御が挙げられる。例えば、計算リソースの負荷分散制御がどのように行われているかを、複数サーバから構成されるデータセンター(DC)をターゲットとした負荷分散方式を例として説明する。
従来の制御の基本的な発想は、「システムの内部状態をバランスさせる」という素朴なものに帰結される。このような発想の場合、一様なシステム(同一サーバが複数)の場合には、制御方針は明らかであるが、異機種混合型システムになると、どんな指標に基づいてバランスさせるべきなのかが明らかではない。例えば、同一性能のサーバの場合には、各サーバのCPU使用率をバランスさせれば良いということが知られている一方で、性能が異なるサーバの場合には、性能に応じたCPU使用率のバランス方法が自明ではない。従来よく使われる指針である待ち行列理論で得られる結果は、確率論に基づく指針であり、どのような手段を用いて確率的な定常状態にシステムを導くか自体は、何も教えてくれない。これは何を意味するかというと、レスポンスやスループットのような満たすべき要件を最終的には満たすことができるかもしれないが、途中のプロセスや最終的に使用されているリソースの状況に関しては何の保証、制約もないことを意味している。それは即ち、エネルギー的には非常に非効率な状態になっていてもとりあえず、性能を満たすという制御になっているということである。このような制御では、システムが大規模になればなるほど、このような非効率は大きくなっていき、大きな問題となることが予想される。
また、昨今、スマートグリッドに代表されるインフラ領域の制御も注目を集めている。これは、エネルギーコンシャスな社会になってきたため、エネルギーの無駄を省く制御をきめ細かく実施したいという思いの他に、太陽エネルギーに代表される再生可能エネルギーが従来の電力網に接続されるという状況が発生してきたため、再生可能エネルギーを含めた全体システムとして電力網を制御しなければ、電力供給がむしろ不安定になってしまうためである。したがって、このような新たな制御対象に対する効率的な制御も重要な課題となってくる。
システムの制御の手法を大きく分けると、中央集権型で制御していくか、自律分散型で制御していくかの2つに大別される。システムがそれほど大きくないときは中央集権型の方が管理しやすく、これまでは多くのシステムが中央集権型で制御されてきた。また、システムへの外乱が予想できる場合や、システムを構成する要素が想定できる場合も中央集権型の制御が適している。つまり、予想できる環境、全体を俯瞰できる規模であるならば、中央集権型の制御は非常に有効である。中央集権型の制御とは、システムの全体像を常に正確に把握し、それにより状況を判断し、アクションを決める制御である。平たく言えば、if then elseでコードを規定していく方法である。
しかしながら、昨今、システムの大規模化により、その中央集権型のシステムでは、大規模なシステムを扱いきれなくなっており、自律分散型のシステムの検討が盛んになっている。自律分散型の制御とは、リソースなどの要素が、要素間の関係だけを用いて動作する制御であり、正確な全体情報を必ずしも必要としない。システムが大規模になればなるほど、全体情報を正確に知ることは難しくなるので、自律分散型の制御が望まれてくる。また、スマートグリッドに代表される電力網などは、再生可能エネルギーがどのタイミングでシステムに入力されるか予測し難いため、中央集権型の制御ではリソース変化にリアルタイムで適応できない可能性がある。当然、ITシステムも故障などの突発的な事故を考えれば、そのようなときを想定して中央集権型の制御をかけるより、自律的に事故を修復するようにリアルタイム動作する自律制御の方が望まれるわけである。これらの要求から、自律分散型の制御の検討が盛んになっている。
自律分散システムと称する検討は非常に多いが、各要素が自律的、分散的に存在するだけで、全体として協調していないシステムが提案されていることが非常に多い。これは、本来の自律分散システムではない。各要素を自律的、分散的にするのは簡単だが、全体として協調する、あるいは全体最適を目指して動作するシステムでなければ意味がないからであり、自律分散的に全体最適を目指して動作するシステムこそ自律分散システムと呼ぶべきである。そのような本来の自律分散システムとはどういうものだろうか。
実は、そのようなシステムは身近に存在し、生物、脳が実施しているシステムがまさに本当の自律分散システムである。したがって、昨今、生物、脳に学ぶ自律分散システムの研究が盛んである。
その中でも、非常に興味深い検討として、「ゆらぎ方程式」を使った技術がある(「ゆらぎで技術革新」 大阪大学ゆらぎプロジェクト 2008)。これは以下の式(1)、(2)に示すゆらぎ方程式をベースに各要素を制御していく技術である。
Figure 0006388326
ここで、Activityとはバイアスの一種でそのシステムが快適と感じる位置xで大きな値をとる関数である。また、ηはランダムなノイズ、Uはそのシステムを駆動するポテンシャルを意味する。
ゆらぎ方程式と似た方程式に、以下の式(3)に示すランジェバン方程式というのがあるが、これらは一見似ているが、工学的見地から決定的な違いがある。
Figure 0006388326
ゆらぎ方程式とランジェバン方程式を比べると、Activityにしか違いがない。ある意味、ゆらぎ方程式は、ポテンシャルをUとActivityに分けて表現したに過ぎない印象を与えるが、これが決定的な差を生むのである。
従来、何かを制御しようとして、ランジェバン方程式を使おうとすれば、ポテンシャルUを正確に求めなくてはならなかった。非線形な複雑な問題に対して、ポテンシャルを求める問題は非常に難しく、解析的に解ける例は少ない。昨今流行の機械学習、強化学習なども実は、物理的にみると、あるシステムのポテンシャルを求めているのと同じであるが、ニューラルネットワークなどを用い、ブラックボックス的にポテンシャルを求めている。従来の技術で非線形な複雑な問題のポテンシャルを求めようとすると、ブラックボックス的に求めざるをえないのが現状である。
いずれにせよ、ポテンシャルを求めるということは、モデルを設定することと同じなので、より複雑な動作を行おうとすると、ポテンシャル関数が非常に複雑になり、ひとつのポテンシャル関数では事象を表現しきれない問題が発生する。これを解決したのが、ゆらぎ方程式である。
ゆらぎ方程式では、システムが感じる快適さをActivityとして、ポテンシャル全体から切り離すことで、システムの動作をトップダウンで人間側が指定することができるようになる。どういうことかと言えば、システムに期待する動作を実現できるように、Activityを設定してやれば良い。例えば、ある位置にシステムを動かしたいとすると、所望の位置で値が最大となる関数をActivityとして与えてやれば良い。所望の位置から遠い場合、式(1)の右辺第1項は小さな値となるので、右辺第2項のランダムノイズによって、システムの各要素が駆動される。システムの各要素を粒子と例えるなら、ブラウン運動のような状態である。所望の位置から遠い位置にあるシステムは、ブラウン運動のようなランダムな動きを行いながら、偶発的に所望の位置に近づくことがある。その際、式(1)の右辺第1項がActivity関数の作用により、大きな値をとる。すると、システムの動作を支配するのが、右辺第2項から右辺第1項に移る。右辺第1項がシステムを制御し始めると、後は自然とActivity最大となるポテンシャル位置にシステムは落ち込むのである。つまり、所望の位置に到達する。
ここで大切なのは、ゆらぎ方程式を用いる場合は、トップダウンにActivityを決定しているだけで、システムの各要素に対して特別な指令、制御をしないことである。システムの各要素には、式(1)の右辺の値に比例した出力を与えておけば良い。要素が複数あっても、同じように式(1)の右辺に比例した出力を与えておけば良いだけである。その際、各駆動部でのランダムノイズは独立にしておく。一方、Activityはすべての各要素で同じものを用いる。すると、各要素は個々の式(1)に従って単純に動作しているだけだが、全体を統括するActivityの作用で、いつしかActivity最大の位置に動くように全体で協調動作するようになる。
このように、ゆらぎ方程式を使うと、複数の要素を持つシステムでも、自律分散協調的に動作させることができる。例えば、特許文献1に示すように、この技術を使って、ネットワークの経路の自律分散制御が検討されており、自律的に障害を回避するなど、有効な結果が得られている(特許文献1)。
特開2005−285016号公報
上記したように、「ゆらぎ方程式」という有望な技術が検討されているが、2つの点で改善が必要と考えられる。ひとつは、確率的な制御になっているところである。即ち、式(1)ではランダムノイズを各要素の動力源として用いているため、必ずしも決定論的な動作を行わない。つまり、動作がそのときの確率によってしまい、場合によっては、冗長な制御となる。本来は、全体最適な状態を目指して、決定論的に動作して欲しいところである。
また、もう一点は、Activityの設定に関してである。上記したように、この関数はトップダウンで人間が設定できるのだが、実は、全体最適の関数自体を人間が描けない場合も多いのである。人間が設定あるいは確認できるのは、各要素にまつわる関数だけであり、要素が協調した場合の状態を示す関数を描けない場合が実際はかなり多い。
本発明は上記課題に鑑みてなされたものであり、その目的は、確率論を用いず、また、各要素にまつわる関数だけを使用して、全体を協調動作可能なシステムを提供することにある。
前述した目的を達成するために、本発明の第1の態様は、相互に関係を持つ複数の機能ブロックを有し、複数の前記機能ブロックは、それぞれに対応した評価関数を有する記憶部と、各機能ブロックの動作レベルを複数の前記機能ブロック全体で満たすべき拘束条件に基づき制御する拘束条件充足制御部と、前記機能ブロックに関係を持つ他の機能ブロックの前記評価関数に関する情報によって、互いの動作レベルを制御する利潤最大化制御部と、前記機能ブロックの動作レベルに応じて、前記拘束条件充足制御部および前記利潤最大化制御部の制御結果を用いて、前記機能ブロックの起動状態、停止状態を制御する起動停止問題解決制御部と、を有することを特徴とするシステムである。
本発明の第2の態様は、第1の態様に記載のシステムを用いたシステムの制御方法である。
本発明によれば、確率論を用いず、また、各要素にまつわる関数だけを使用して、全体を協調動作可能なシステムを提供することができる。
図1は本願発明で検討したシステム概略図である。
図2は本願発明のアーキテクチャ概略図である。
図3は本願発明で用いる評価関数の概略図である。
図4Aは起動停止問題解決部を動作させないときの本願発明の制御イメージ図である。
図4Bは起動停止問題解決部を動作させないときの本願発明の制御イメージ図である。
図4Cは起動停止問題解決部を動作させないときの本願発明の制御イメージ図である。
図5Aは起動停止問題解決部を動作させたときの本願発明の制御イメージ図である。
図5Bは起動停止問題解決部を動作させたときの本願発明の制御イメージ図である。
図5Cは起動停止問題解決部を動作させたときの本願発明の制御イメージ図である。
図6は本願発明で用いる評価関数の一例を示す図である。
図7Aは本願発明の一実施例における実験結果を示す図である。
図7Bは本願発明の一実施例における実験結果を示す図である。
図8Aは本願発明の一実施例における実験結果を示す図である。
図8Bは本願発明の一実施例における実験結果を示す図である。
図9Aは本願発明の一実施例における実験結果を示す図である。
図9Bは本願発明の一実施例における実験結果を示す図である。
図10は本願発明で用いる評価関数の一例を示す図である。
図11Aは本願発明の一実施例における実験結果を示す図である。
図11Bは本願発明の一実施例における実験結果を示す図である。
図12は本願発明で検討したシステム概略図である。
図13Aは本願発明の一実施例における実験結果を示す図である。
図13Bは本願発明の一実施例における実験結果を示す図である。
図14は本願発明で検討したシステム概略図である。
図15Aは本願発明の一実施例における実験結果を示す図である。
図15Bは本願発明の一実施例における実験結果を示す図である。
図16は本願発明で検討したシステム概略図である。
図17は本願発明で用いる評価関数の一例を示す図である。
図18Aは本願発明の一実施例における実験結果を示す図である。
図18Bは本願発明の一実施例における実験結果を示す図である。
図19は本願発明で検討したシステム概略図である。
図20Aは本願発明の一実施例における実験結果を示す図である。
図20Bは本願発明の一実施例における実験結果を示す図である。
図21Aは本願発明で検討したシステム概略図である。
図21Bは本願発明で検討したシステム概略図である。
図22は本願発明の一実施例における実験結果を示す図である。
図23Aは本願発明で検討したシステム概略図である。
図23Bは本願発明で検討したシステム概略図である。
図24Aは本願発明の一実施例における実験結果を示す図である。
図24Bは本願発明の一実施例における実験結果を示す図である。
図25Aは本願発明の一実施例における実験結果を示す図である。
図25Bは本願発明の一実施例における実験結果を示す図である。
以下、図面に基づいて本発明に好適な実施形態を詳細に説明する。
まず、本発明の動作、構成をデータセンターのリソース負荷分散の例を使用して説明する。従来の技術では十分に解くことができない例として、性能の異なるサーバが混在する異機種混合型データセンターにおける負荷分散を取り上げることにする。性能の異なるサーバが複数(N個)存在し、ネットワークで結合されたデータセンターにおいて、レスポンス要求値を満たしながら、処理要求をサーバに適宜分散させる。このときデータセンター全体の消費電力もできるだけ下げる。このような問題を考えていくことにする。この問題の概略図を図1に示す。
本発明者はこの問題を検討した結果、以下の結論に達した。
解くべき問題は、2つの問題が混在している構造になっている。ひとつは、起動停止問題であり、もうひとつは最適化問題である。
起動停止問題とは、リソース群(機能ブロック群)があった場合、どのリソースを使い、どのリソースを使わないかを決定する、または管理する問題である。また、最適化問題は、リソースが与えられたとして、系全体に与えられた仕事をどのように割り振れば、ある指標の元に最適化できるかという問題である。これらの問題は従来、個々に、確率論的なアプローチで解くことを試みられていることが多いが、単純な確率論では、変幻自在に変わっていく環境の中で、状況に応じてロバスト、リアルタイムに即応することが難しい。今回は、これら2つの問題を一体のものとし、状況に応じてロバスト、リアルタイムに即応できるアーキテクチャを考案した。その際、それぞれの問題を、確率論ではなく、決定論的または関係論的な方法で解く方法を考案した。本発明者が創出した機能ブロックのアーキテクチャおよびこれを束ねたシステムの概略図を図2に示す。
図2に示したように、本願の機能ブロックは主に、起動停止問題解決制御部と、最適化問題解決制御部を有し、互いに関連する機能ブロック(他の機能ブロック)とでシステムを構成している。
次に、それぞれの部位の解決手段について詳説する。
まず、最適化問題の解法を説明する。
最適化問題を解くには、ふたつの要件を考えなければならない。ひとつは、需給平衡化であり、もうひとつは全体利潤最大化である。この両者が満たされて始めて最適化が達成されたと言うことができる。需給平衡化制御は拘束条件を充足させる制御でもあるので、拘束条件充足制御と呼んでも良い。
即ち、図2に示すアーキテクチャにおいては、最適化問題解決制御部は、利潤最大化制御部と、拘束条件充足制御部を有することになる。
需給平衡化とは、システム全体に要求されるミッションあるいはタスクの総量を満たさなければならないという拘束条件である場合が多い。これが満たされないまま、効率や利潤が最大化されても意味がない。今回の場合、需要とは、動作レベルλ(iは機能ブロックの番号)の総和となり、以下の式(4)で表される。
Figure 0006388326
需給平衡化を達成しようとした場合、各機能ブロック(リソース)の動作レベルは、拘束条件充足制御部が、以下の関係(5)を満たす方程式を用いて決定する。
Figure 0006388326
なお(5)においてλは、動作レベルλの機能ブロックと関係を持つ他の機能ブロックの動作レベルである。
この方程式は、より具体的には、以下の式(6)で表される。
Figure 0006388326
ここで、Kは動作レベル変更のゲインに相当する係数である。またλnom,iは機能ブロックiの規格化係数(機能ブロックの規模に相当する量)で、必ずしも必要でないが、要素がヘテロな場合、全体で規格化した係数を乗算しておいた方が良い場合が多いので、式(6)に導入している。式(6)に従い、拘束条件充足制御部が機能ブロックの動作レベルを制御すると、システム全体として、拘束条件であるDemを満たすように動作する。
次に解くべきは、全体利潤最大化である。これは全体効率最大化と読み替えても構わない。全体利潤最大化を解くに当たっては、図3のような各要素(機能ブロック)と関係する評価関数を導入する(図2では評価関数は機能ブロックの記憶部に記憶されている)。この場合、横軸は各機能ブロックを制御するパラメータであり、今回の例では処理要求の量λなどに相当する。縦軸は、何らかの効率に関わる指標であり、具体例は後述する実施例で詳説する。
図3から明らかなように、評価関数は凸関数である。凸関数を使用するのも本願発明のポイントである。なぜなら、多くのシステムでは何らかの効率やシステムの安定性などを図3に示すような凸関数で表すことが可能だからである。なお、図3のような上に凸な関数を凹関数と呼び、下に凸な関数を凸関数と呼ぶこともあるが、ここでは、関数の性質上で区別する表現を採用し、凹関数も凸関数と表現することにする。
評価関数が凸関数である要素を連携させて、全体で最適化(各要素の評価関数の値の総和が最大となる状態)する問題は、「凸計画問題」として知られており、各要素の動作レベルにおける評価関数の微分値が等しい状況で最適化が達成されることが数学的に明らかにされている。今回はこの原理を応用した。今回、評価関数として凸関数を使った理由がここにある。
この原理を勘案し、全体利潤最大化を達成する方程式は、以下の関係(7)を満たす。
Figure 0006388326
なお式(7)においてfは、機能ブロックi(i番目の機能ブロック)の評価関数、fは、機能ブロックiと関係を持つ他の機能ブロックkの評価関数である。
より具体的には、以下の式(8)で表される。
Figure 0006388326
ここで、Kは動作レベル変更のゲインに相当する係数である。利潤最大化制御部が式(8)を満たすように各機能ブロックの制御を行うことで、各機能ブロックは、動作レベルにおける評価関数の微分値が等しくなるように動作する。
最終的に最適化問題を解くには、上記の需給平衡化と全体利潤最大化を同時に解くことが必要なので、最適化問題解決制御部は、式(6)と式(8)を統合した以下の式(9)で各機能ブロックの動作レベルを制御する。
Figure 0006388326
次に、起動停止問題の解法を説明する。
式(9)は要素を起動、停止する機能を実は内包している。右辺第2項は要素と要素が評価関数の傾きを経由して、抑制しあう効果を持っている。そして、実際に起こる現象としては、評価関数の傾きが大きなもの(効率の改善が大きいもの)が、評価関数の傾きの小さいもの(効率の改善が小さいもの)を抑制し、場合によっては停止させる。したがって、式(9)の右辺第2項が起動停止問題の停止問題を解く機能を内包していると言える。一方、停止している、あるいは停止させられた要素を起動させることができるのが、右辺第1項である。右辺第1項は需要が足りなければ正になり、各要素をより動作させる方向に動かす。これは結果的に停止している要素も起動する方向に動かすことを意味している。したがって、式(9)の右辺第1項が起動停止問題の起動問題を解く機能を内包している。
しかしながら、式(9)を単純に運用しただけでは、起動停止問題を解いた上で、最適化問題を解くことにはならない。(9)の段階では、式(9)が起動する機能と、停止する機能を内包しているに過ぎないからである。例えば、図4A〜図4Cに、起動停止問題解決制御部が単純に式(9)を解いた場合の機能ブロックの動作例を示す。3つの直列結合した機能ブロック(ここではサーバに相当)が、図4Aに示した評価関数を有するときに、トータルで0.4の負荷を実現するには、各要素がどれだけの負荷(パワ)を担当しなくてはならないかを式(9)を用いて起動停止問題解決制御部が制御したものである。なお、負荷が0以下の場合は、0をとるようにリミッタをかけた。図4Bが各要素の負荷の時刻変化であり、図4Cは各要素の評価関数の微分値の時刻変化である。図4(b)より、自動的に効率の悪い「Node3」(機能ブロック3)が停止していることがわかる。これより、一見、式(9)で起動停止問題が解けているかのように見えるが、図4Cをみると、「Node1」と「Node2」の微分値が一致していないことがわかる。「Node3」は停止したので、「Node3」と微分値が一致する必要はないが、起動している「Node1」と「Node2」の微分値が一致しないということは、システムが最適化されていないことを意味する。つまり、起動停止はできたが、最適化はされていないのである。これは、式(9)を単純に運用しただけでは、停止した機能ブロックが、起動している機能ブロックを抑制してしまうためである。
また、例えば、需要が急に増えたとして、図4で停止された「Node3」が起動するかというと、式(9)の右辺第2項による抑制次第では、右辺第1項の起動する機能が働いたとしても、起動できない可能性がある。例えば、式(9)の第1項の増分が第2項の抑制分より少なければ、「Node3」は停止したままになってしまう。
このように、起動停止問題解決制御部が式(9)を単純に解くだけでは、起動停止問題と最適化問題を両立して解くことはできない。
そこで、本発明では、起動停止問題解決制御部に、式(9)で制御される最適化問題解決制御部に対して、機能ブロックの起動、停止状態を管理し、式(9)の制御を調整する機能を持たせることにした。具体的には、起動停止問題解決制御部には以下の機能を持たせた。
まず、第1の機能は、停止した機能ブロック(自身の負荷分担の最小値に達した機能ブロック)または上限の負荷に到達した機能ブロックは、式(9)の右辺第2項を計算するときには存在しないものとして扱う機能である。また、第2の機能は、停止した機能ブロックまたは上限の負荷に到達した機能ブロックの負荷を計算する場合、式(9)の右辺第2項そのものが存在しないとして、右辺第1項だけを用いて計算する機能(即ち利潤最大化制御部を用いない機能)である。式(9)の右辺第1項、右辺第2項を機能ブロックの状態によって、独立に扱うところがポイントである。そこに起動停止問題解決制御部の存在意義がある。これによって、事実上動作レベルを変更できない停止した機能ブロックまたは上限の負荷に到達した機能ブロックを利潤最大化制御部の制御から切り離しつつ、起動停止問題(事実上停止した機能ブロックと同じである上限に達した機能ブロックを含む)を解き、必要とあれば、拘束条件充足制御部により、事実上停止した機能ブロックを動作する状態(起動状態)に持ち込むことができる。
上述した2つの機能を、より具体的に説明する。
停止した機能ブロックまたは上限の負荷に到達した機能ブロックは、式(9)の右辺第2項を計算するときには存在しない機能ブロックとして扱うというのは、例えば、起動している機能ブロックの負荷を計算しようとした場合、停止した機能ブロックまたは上限の負荷に到達した機能ブロックに関する式(9)の右辺第2項の分子を0にするということである。当然、起動している機能ブロック同士に関しては右辺第2項の分子は存在するので、起動している機能ブロックが負荷を計算しようとしている機能ブロックに繋がっている場合、右辺第2項は何らかの値を持つ可能性がある。一方、停止した機能ブロック、または上限に達した機能ブロックの負荷を計算しようとした場合、右辺第2項はないものとして扱う。つまり、右辺第2項を0として扱う。これにより、停止した機能ブロック、または上限に達した機能ブロックは、式(9)の右辺第1項のみが影響するようになり、需給に問題があれば、それらの機能ブロックを再度起動させることが可能となる。
以上のように、本願発明で提案するような起動停止問題解決制御部と、最適化問題解決制御部により、両問題を一体として解決する制御が完成する。図5A〜図5Cに、需要が0.4から0.8に変わる場合(時刻2において)の3つの「Node」(機能ブロック)の負荷分散の制御例を示す。図の表記は図4A〜図4Cと同じであるが、需要が0.4のときは、「Node3」を停止し、需要が0.8になったときは「Node3」を改めて起動する制御が実現されている。また、評価関数の傾きはどちらの需要でも最終的に同じ値に収束しており、最適化問題も解決されていることがわかる。
需給平衡化の説明のところで、システム全体に要求されるミッションあるいはタスクの総量を満たさなければならないという拘束条件である場合が多いと書いたが、そうでない場合も想定されないわけではない。そのような場合は、その拘束条件を満たすように上述した需給平衡化の項を変形して、制御すれば良い。そのような場合も、起動停止問題解決制御部により、機能ブロックの状況を管理するのは重要で、そうしないと、起動も停止も良好に行われない。
ここで、大きなポイントは、各機能ブロックの評価関数は設定しているが、機能ブロック全体としての評価関数は設定していないことである。全体の評価関数を設定しなくて良いのは非常に大きなメリットである。個々の機能ブロックの評価関数はいろいろ設定できるが、全体の評価関数となると、システムが複雑になればなるほど判然としないからである。また、今回のシステムは、各要素が自身の状態と自身と関係のある要素の状態の情報のみで動作できる可能性がある。需給平衡化で使う情報は、全体の情報とも考えられるが、電力システムのように、需給バランスの崩れを交流周波数の変動で知ることができるものの場合は、需給平衡化も完全に自律分散的に実施できる。つまり、需給平衡化にまつわる情報を自身から得ることができれば、全体としての情報を必要としない真の自律分散システムになれるのである。
このシステムは、基本的に自律分散的に独立に動くので、どこかが故障したりしても、故障した要素からの信号が途絶えた分だけ、他の要素が自律的にリカバーするという動作を行う。また、突然要素を増やしたり、減らしたりしても、徐々に自律的に適正な動作に向かうことができる。つまり、外乱に対して、非常にロバストであり、また、要素の増減を自由にできるスケーラビリティを有している。
従来のシステムは、故障に対して無力であったり、様々なエラー用のシーケンスを用意したりしなければならなかった。また、勝手に要素(リソース)を増やしたり減らしたりすればシステム全体の安定性が保たれるか保証はなく、そのたびにプログラム、処理を見直さなければならなかった。今回のシステムはこれらの問題を自律分散適応的な制御ですべて解決することができるのである。
以下、本発明の実施例を、図面を参照しながら、さらに詳細に説明する。
(実施例1)
図1に示したデータセンターのリソース負荷分散に対して、本願発明を実施した。この場合、動作レベル(nは機能ブロックの番号)は各リソースに割り当てられたタスク量に相当する。
データセンターのリソース負荷分散を考えた場合、管理者がこだわる制約条件としては、レスポンス、スループット、エネルギーなどが挙げられる。まず、最初に、レスポンスとスループットが制約条件になっている場合の本願発明の実施例を示す。
レスポンスとスループットは切っても切れない関係にあるが、それぞれの定義を記述すると以下のようになる。レスポンスRは、処理にかかる時間そのものであり、スループットSは、単位時間に処理される仕事量である。したがって、要求される仕事量λに対して、単純には以下の式(10)が成立する。
S=λ・R …(10)
(S≦1)
しかしながら、実際のリソースの実効的なレスポンスReはこのようにはならない。これは、待ち行列理論による確率的な待ち時間を検討しなければならないのである。実効的なレスポンスはリソース単体の処理能力だけではなく、どれぐらいの仕事が到達し、どのくらい未処理の仕事が溜まっているかに依存するからである。待ち行列理論はそれを確率的な計算で明らかにしたものである。
待ち行列理論によれば、到達してから処理が終わるまでの時間Tmは以下の式(11)のように記述される。
Tm=1/(μ−λ) …(11)
ここで、μは単位時間当たりの処理率を表し、レスポンスRの逆数でもある。実効的なレスポンスReは、Tmの逆数と考えられるので、(10)の関係も使うと、以下の式(12)が成り立つ。
Re=μ−λ
=1/R−S/R
=(1−S)/R …(12)
このように、実効的なレスポンスReもスループットと緊密な関係がある。式(12)からわかるのは、実効的なレスポンスを上げたければ、スループットを下げればよいし、スループットを上げたければ、実効的なレスポンスを下げれば良い。つまり、お互いがトレードオフになっており、かつどちらかの極限値では、他方が無効状態(0になる)になるということであり、管理者は適当な按配で両者をバランスさせる必要がある。
では、本願発明を用いて、管理者はどのようにデータセンターの負荷分散を実現すればよいのだろうか。上述したように、実効的なレスポンスとスループットはトレードオフの関係にあるので、レスポンス重視にしたければ、各要素(リソース)に分散される仕事量を低めにすればよいし、スループットを重視したければそれを多めにすれば良い。したがって、各要素に設定する関数を例えば以下のような手法で設定していけばよい。
図6に評価関数の概略図を示す。今回の検討課題が負荷分散なので、横軸は仕事量とした。先にも述べたが、評価関数は凸関数が良いので、今回は上に凸な2次関数とした。λmaxはそのリソースの限界であり、λpeakは評価関数のピーク位置を表す。評価関数のピークを1として規格化しておくと、規格化評価関数は(0,0)、(λpeak,1)を通る2次関数として決定できる。各要素(リソース)には性能差があるので、その性能差に比例した係数αを規格化評価関数に掛けることで、個々の評価関数とする。λpeakはスループットSが1になり、実効的レスポンスReが0になる位置である。先にも述べたが、レスポンス重視にしたければ、各要素(リソース)に分散される仕事量を低めにすればよいし、スループットを重視したければそれを多めにすれば良い。したがって、レスポンス重視で仕事をシステムに実施してもらいたければ、λpeakの位置を小さめに設定すれば良く、スループット重視で仕事をして欲しければλpeakの位置を大きめすれば良い。システムは本願発明の方法を使って、起動停止問題、最適化問題を解きながら動作し、それぞれの要素のλpeakの位置をできるだけ目指す。したがって、λpeakの位置を小さめに設定していれば、それぞれの要素の負荷が比較的小さめに仕事が分散されることになり、全体としてはレスポンス重視の動作となる。また、λpeakの位置を大きめに設定していれば、それぞれの要素の負荷が比較的大きめに仕事が分散されることになり、全体としてはスループット重視の動作となる。無駄なリソースは適宜停止させるので、エネルギー的にも無駄のない制御となる。
この場合、評価関数の縦軸は実際の何らかの効率にはなっていない。むしろ管理者が動作させたい位置であり、評価関数の設定は、何らかの物理量、法則に支配されることはない。システムを動作させたい人間が、縦軸、横軸を任意に設定することができるのである。ある意味、人間がシステムに評価関数として指示を渡すと、後はシステムが自律的に協調して動作するのである。
今回、評価関数は(0,0)、(λpeak,1)を通る2次関数に係数αを掛けたものとしたが、凸関数であれば良いので、様々に設定して良い。極論すれば、手書きの評価関数を設定しても良い。
上述した評価関数を用いて、図1に示すデータセンターの負荷分散の実験を行った。各サーバには、図2で示した本願発明の機能ブロックが内蔵されており、各サーバは自身に設定された評価関数と自身に接続された他のサーバの状況を見ながら、起動停止問題解決と最適化問題解決を行う。今回の各サーバはすべて接続されており、需給平衡化に必要な全体要求(需要)と現時点でのシステム全体の仕事量の差をモニタすることを可能とした。各サーバをすべて接続するのが大変な場合は、需給の差をモニタし、各サーバに伝えることができる部位を入力のところに設定しても良い。
負荷分散を決定する係数K、Kなどを適宜設定した。また、サーバの総数は1000台とした。また、各サーバの性能は均一ではなく、性能が高いものほどαを大きく設定した。
図7Aおよび図7Bに第1の実験結果を示す。グラフの横軸は時間、縦軸は、図7Aではシステム全体の実効的なレスポンス、スループット、図7Bでは起動しているサーバ(リソース)の数である。最初は、λpeakを小さめに設定し、レスポンス重視で動作させている。その後、図中のスループット重視と描かれた時刻にλpeakを大きめに設定しなおしている。すると、システムは自律的にレスポンス重視な方向に動作を変更していくことが確認された。起動しているサーバも適宜調整されており、本願発明が有効であることが確認できた。
図8Aおよび図8Bに第2の実験結果を示す。グラフの横軸は時間、縦軸は、図8Aではシステム全体の実効的なレスポンス、スループット、図8Bでは起動しているサーバ(リソース)の数である。あるλpeakの設定で動作させている途中で、人為的に1割のサーバを止めた(図中矢印で示す「故障発生」と記載された部分)。すると、一時的にスループット、レスポンス能力が下がるが自律的に回復する様子がわかる。サーバの能力は均一ではなく、ヘテロな状態なので、自律的に回復した後に使用されているサーバの数は、人為的にサーバを止めた前後で変わっている。これは、まさしく自律的に起動停止問題を解いていることを意味している。故障に対するロバスト性に関しても、本願発明が有効であることが確認できた。
図9Aおよび図9Bに第3の実験結果を示す。グラフの横軸は時間、縦軸は、図9Aではシステム全体の実効的なレスポンス、スループット、図9Bでは起動しているサーバ(リソース)の数である。あるλpeakの設定で動作させている途中で、人為的に100台のサーバを追加した(図中矢印で示す「サーバ追加」と記載された部分)。すると、スループット、レスポンス能力を変化させることなく、自律的に追加サーバを含めたサーバの起動停止を行い安定状態に落ち着く。これは、このシステムがスケーラブルであることを示しており、リソースの増減に対してプログラムの変更、処理の変更が全く必要ないことを意味している。これは、非常に有用な特性であり、本願発明が有効であることが確認できた。
(実施例2)
図1に示したデータセンターのリソース負荷分散に対して、実施例1同様に本願発明を実施した。実施例1では、レスポンスとスループットが制約条件になっている場合の本願発明の実施例であったが、ここでは、エネルギーが制約条件になっている場合の本願発明の実施例を説明する。エネルギーが制約になっているという意味は、できるだけ省電力でシステムを運用したいという意味である。
これも基本的には評価関数の設定の問題となる。
ここでは、筋肉の効率の式を参考にすれば、動作するもののエネルギー効率は、アイドリング時の消費電力Hdef、仕事時消費電力W(λ)、仕事時追加消費電力(空冷ファンなど)Hによって、以下の式(13)で記述することができる。
Figure 0006388326
一般的には、この効率はλmax以下のどこかでピークを迎える凸関数になるので、λmax以下は式(13)を評価関数として使用すれば良い。このエネルギー効率の式の場合、λmax以上の仕事量は定義できないので、今回は、人為的に描いた。図10に使用した評価関数のイメージを示すが、λmaxより大きな仕事量における評価関数は、運用者が好みで設定してしまっても良い。例えば、レスポンス重視なら、早く仕事量を減らしたいので、急な斜面にしておけば良いし、スループット重視であれば、仕事量をいきなり減らさなくてもいいので、傾きが緩やかな曲線を描いてやれば良い。このように、評価関数は運用者が自在に作っていけるのである。注意点としては、自在に作れる分、評価関数により適正にされていくものが、客観的定量性をもって適正化されているかを言及できなくなる場合がある。例えば、今回の場合、λmax以下では定量的なエネルギー効率の関数であるが、λmax以上は運用者の快適度のような定性的な関数となる。どうしても客観的定量性が必要なときは、客観的な指標を使う、または客観的な指標に変換できるものを考えていく必要がある。しかしながら、これまでのシステムの運用は管理者の経験や、好みで運用されている場合も多く、定性的な意味の評価関数で運用できるというのは、管理者の好みで運用できることでもあるので、むしろ有益な特性であると言える。
上述した評価関数を用いて、実施例1と同様の構成でデータセンターの負荷分散の実験を行った。図11Aおよび図11Bに実験結果を示す。今回の例では、最初すべてのサーバ(1000台)を動作させておき、その後、エネルギー効率、動作するサーバの台数がどうなるかを見た。図11Aおよび図11Bからわかるように、最初はすべてのサーバが動作することにより、無駄なエネルギーを消費していたが、自律的に起動するサーバを選択、負荷を分散させることで、消費エネルギーを減らしていることが確認できる。つまり、本願発明が有効であることが確認できた。
(実施例3)
本実施例では、実施例1で説明したレスポンスまたはスループットを重視した制御と、実施例2で説明したエネルギー効率を重視した制御を状況依存的に切り替える手法を説明する。基本的には実施例1と同様のデータセンターの構成で実験を行ったが、1点異なるのが、状況依存的に評価関数を切り替える命令を出す評価関数切り替え部を設置しているところである。本実施例のシステム概略図を図12に示す。この評価関数切り替え部は、各サーバ(リソース)が従う評価関数を、実施例1で用いたものと実施例2で用いたもののどちらかに切り替える命令を、各リソースに送信する。その命令を受けた各リソースは、命令にあった評価関数を設定し、起動停止問題、最適化問題を解く制御を実施する。評価関数切り替え部は、管理者の希望を受け取り、それに適した評価関数を選択、各リソースに命令を送信しても良いし、何らかの外部入力から状況を判断する判別器を設定し、その判別器を使って自動的に評価関数の選択を行っても良い。今回は、実施例1で用いた評価関数と実施例2で用いた評価関数の2種類の切り替えを行ったが、この切り替えは2種類にとどまる必要はなく、評価関数を設定すれば、所望の数の評価関数の切り替えを実施することができる。また、今回の例では、評価関数切り替え部を全体でひとつ置いたが、個々の機能ブロック(リソース)に設置するという方法も考えられる。
上述したシステムを用いて、実験を行った結果を図13Aおよび図13Bに示す。評価関数切り替え部がある以外は実施例1、2と同様の条件である。グラフの横軸は時間、縦軸は、図13Aではシステム全体の実効的なレスポンス、エネルギー効率、図13Bでは起動しているサーバ(リソース)の数である。最初は、レスポンス重視で動作させ、途中で(図中矢印の部分)、エネルギー効率重視に切り替えた。すると、最初はレスポンスが高い値で、エネルギー効率はそれほど高くないが、エネルギー効率重視にすると、レスポンスは悪くなるが、エネルギー効率は高くなっていく。つまり、評価関数切り替え部を通じた評価関数の切り替えがうまく行っていることが確認できた。また、この実施例より、管理者は複数の要件(レスポンス重視、エネルギー重視など)があった場合でも、プログラムの変更、処理の変更なしで、適宜システムの動作目標の変更を指示するだけで、システムの動作を変更できることがわかる。つまり、本願発明は、複数の要件が合った場合にも、有効に動作させることができ、本願発明が有効であることが確認できた。
(実施例4)
本実施例では、データセンターが複数あり、それらがネットワークで繋がっている場合のリソース負荷分散の例を説明する。個々のデータセンターは実施例1と同様の構成であるが、それらが図14に示したように、ネットワークで結合されて複数存在するというモデルである。上述の実施例との違いは、リソースがデータセンター内に閉じていないので、ネットワークによる遅延が無視できなくなることである。したがって、レスポンス、スループットを考えるとき、処理要求を行うデータセンター(命令された処理をメインで実施しているデータセンター)からの距離(遅延)も勘案して機能ブロック(リソース)の負荷分散をやらなければならないことである。
今回の実施例では、レスポンス重視の制御を行う。つまり、実施例1で使用した評価関数をすべてのリソースに対して使用した。処理要求を行うデータセンターからの距離(遅延)をどのように勘案するかであるが、処理要求を行うデータセンターからの伝達遅延量Dlyとしたときに、
Figure 0006388326
なる係数を、各データセンター内の要素(リソース)の性能係数αに加えて、規格化評価関数に乗算した。これにより、各リソースが、近くのデータセンターでは比較的高い性能、遠くのデータセンターでは比較的低い性能として認知され、遅延のあるネットワーク越しでも好適なリソースの負荷分散が実施される。
上述した複数のデータセンターがある場合において、実験を行った結果を図15Aおよび図15Bに示す。グラフの横軸は時間、縦軸は、図15Aではシステム全体の実効的なレスポンス、図15Bでは起動しているサーバ(リソース)の数である。今回は処理要求を行うデータセンターの近くに、処理能力が格段に高いリソースが多くあるケースでの実験とした。したがって、ネットワークによる遅延があったとしても、外のデータセンターのリソースを使用したほうが良いと想定されるケースである。図中の矢印の部分までは、単一のデータセンターで処理(を行っているのだが処理要求を行うデータセンターだけで処理を行っているという意味)、その後は、周りのデータセンターとネットワーク的に結合し、レスポンス、起動しているサーバ数を見たものである。起動しているサーバ数というのはネットワークで結合したすべてのデータセンターにおきる起動しているリソース数である。図15Aおよび図15Bから、ネットワークでデータセンター間を結合すると、格段に処理能力の高いリソースを求めて、自律的にリソースを起動停止し、レスポンス能力を維持したまま、ネットワーク越しの格段に処理能力の高いリソースを使用し、起動するリソースの数を自律的に減らしている様子がわかる。遅延のあるネットワークで結合された要素(リソース)においても、本願発明が有効であることが確認された。今後、クラウド間の連携が議論されてきた場合、本願発明を使用する意味は大きい。
(実施例5)
これまでの実施例では、レスポンス、スループット、エネルギーといった処理に関するリソースの負荷分散について記述してきたが、本願発明の適用例はそれだけに止まらない。ここでは、ストレージの負荷分散に使用した実施例を説明する。
この実施例で使用したシステムの概略図を図16に示す。実施例1のリソースがストレージに変更されたイメージである。各ストレージには、図2で示した本願発明の機能ブロックが内蔵されている。この場合も評価関数をどうするかが重要なポイントとなるが、図17に示す評価関数を使用すれば良い。この場合、横軸のλはストレージ量(記録量)である。縦軸は、規格化されているが、この規格化評価関数にストレージの性能に比例した係数αsを乗算する。この場合の性能とは記録スピード、アクセス性、アーカイブ性(保存性)などを勘案して決定すればよい。このケースでは、記録スピードを出したいとき、アーカイブ性を出したいときなどの状況に合わせて、各要素の係数αsだけ変更するという制御も考えられる。その変更により、システムは要求に適したストレージにデータを移していく。このように評価関数の設定は非常に自由であることが、本願発明の大きな利点のひとつとなっている。
上述したストレージの負荷分散の例に関して、実験を行った結果を図18Aおよび図18Bに示す。グラフの横軸は時間、縦軸は、そのストレージに記録されているデータの量である。今回の例では、高速性のあるストレージのひとつと、アーカイブ性の高いストレージのひとつを取り出し、モニタした結果を示している。図中の矢印のところで、評価関数を高速性重視のものから、アーカイブ性を重視するものに変更している。図を見るとわかるとおり、矢印以降では、アーカイブ性の高いストレージの容量が増え、高速性の高いストレージの記録量が減っている。つまり、自律的に管理者の意図をシステムが実現しているのである。このほうに、本願発明は、何らかの機能ブロック(リソース)が関連して存在(ネットワークで結合)していれば様々な分野で同じように使用できる。この実施例ではそれが確認されたことになる。
(実施例6)
これまでの実施例では、情報分野の負荷分散制御の話であったが、本願発明の適用は情報分野に限らない。例えば、インフラ系のエネルギー、水などの制御にも問題なく使用できる。この実施例では、複数の太陽光エネルギーを接続した場合に、適正な電力が得られるか、本願発明を用いて実施した例を説明する。
本実施例の概略図を図19に示す。丸印が太陽光エネルギー源である。エネルギーを消費するのが需要家であるが、需要家は太陽光エネルギーの供給源になる場合もあり、そのような需要家のところには丸印が描いてある。太陽光エネルギー発生源には、図2で示した本願発明の機能ブロックが内蔵されており、各太陽光エネルギー発生源は自身に設定された評価関数と自身に接続された他の太陽光エネルギー発生源の状況を見ながら、起動停止問題解決と最適化問題解決を行う。今回、太陽光エネルギー発生源が自身の電力を調整する方法としては、パネルの角度を変える方法を採用した。今回の実施例は所謂スマートグリッドの雛形を用いた実験例である。実験の都合上、電力会社が供給する電力網を使用した実験はできなかったが、今回の実施例が有効であれば、電力会社の発電所と再生可能エネルギー(太陽エネルギー、風力エネルギーなど)のヘテロな(ハイブリッドな)電力網でも有効に働くのは間違いない。
上述した電力の負荷分散の例に関して、実験を行った結果を図20Aおよび図20Bに示す。グラフの横軸は時間、縦軸は、図20Aでは、そのシステム全体としての電力量、図20Bでは動作している太陽光エネルギー源(リソース数)である。図中の矢印に示す「故障発生」と記載されたところで、故意に幾つかの太陽光エネルギー源を遮断した。幾つかの太陽光エネルギー源を遮断したときに、電力量は一瞬低下するが、すぐに自律的に適正な電力量に戻る。今後、再生可能エネルギーが、既存の電力網にどんどん乗り入れてくると考えられる。再生可能エネルギーは、状況に非常に左右されるエネルギー源なので、電力供給をしたり、しなかったりは日常茶飯事で、かつ予想できない。このような状況では、本願発明が実施したように、システムが自律的に自己復元できる必要がある。本願発明が非常に有効に活用されることが予想される。また、この実施例から、本願発明が情報分野のみならずインフラ分野の制御にも有効であることが実証された。
(実施例7)
これまでの実施例は、評価関数を管理者が予め設定する、あるいは供給するという形をとっていた。つまり、やや固定化された評価関数であった。また、定量的に実際の効率などと完全に適合しているかどうか保証していないものもあった。ここでは、その評価関数を徐々に実際のものに定量的に近づけてしまう方法について説明する。エネルギー効率は実測できる量なので、エネルギー効率に関わる評価関数を徐々に実際に即して変更する方法について述べる。エネルギー効率に関する実施例なので、基本構成は実施例2と同じものを使用した。
今回の場合、各リソースに設定された評価関数を徐々に定量的に正確なものにするというものである。基本的には最初に設定された評価関数の値と現時点での実測値の差に係数を掛けてフィードバックしていくという方法である。これにより、徐々に、評価関数が定量的に正しくなっていく。図21Aに示すように、各機能ブロック(リソース)にこのフィードバックプロセスを実行する評価関数修正制御部を設け、図21BでS0〜S4と示す各プロセスを実行する。
上述したシステムで、エネルギー効率がどう推移するかを見たのが図22である。評価関数修正部が各リソースに取り付けられている以外は、実施例2と同じ条件である。グラフの横軸は時間、縦軸はエネルギー効率であるが、時間とともにエネルギー効率が改善していることがわかる。評価関数のダイナミックな調整も可能であることがわかった。
(実施例8)
これまでの実施例では、停止した要素(ノード)がネットワークを完全に遮断してしまうケースに関して説明しなかった。このようなケースはあまり多くなく、また全ノードを管理している部分があれば問題ないので、必ずしも考える必要はないが、この実施例ではそのようなケースについて考えてみる。簡単のため、図23Aに示す9個のノード(機能ブロック)が直線的に並んだ場合の負荷分散について考える。実施例としては図1の特殊なネットワーク形状とも考えられる。評価関数としては、図23Bに示すように、ノード番号を3で割り、余りが1のもの、2のもの、0のものは同じとした。トータルの需要を0.4として、単純に本願発明を適用すると図24Aおよび図24Bに示す結果となる。本来、ノード1、4、7が同じ負荷となり、その他のノードの負荷が0となるはずであるが、ノード1、4、7は同じ負荷となっていない(図示していないが、その他のノードの負荷は0になっていることは確認されている)。また、評価関数の微分値も同じとなっていない。つまり、うまく起動停止問題と最適化問題を解くことができていない。これは、ノード1、4、7を繋ぐ、間のノードが停止してしまったことで、式(9)の右辺第2項が働かなくなってしまったからである。
このような場合は、停止したノードとはいえ、隣接ノードのうち起動しているノードの評価関数の微分値を周辺のノードに伝えるように制御をかけると問題がなくなる。つまり、自身が停止しても、周辺の起動しているノードの評価関数の微分値を周辺に伝達する機能を起動停止問題解決ブロックに組み込むのである。
そのようにした場合の制御結果を図25Aおよび図25Bに示す。間のノードが停止しても、ノード1、4、7がしっかり相互作用し、起動停止問題、最適化問題を解いていることがわかる。このように、起動停止問題解決ブロックに自身と周辺ノードの状況を管理する機能をつけていくことで、様々な状況でも問題なく起動停止問題、最適化問題を解決することができる。
システムの都合により、クリティカルなパスが存在してしまい、そこが故障してしまうというケースにおいてもこのような手法を使うことで問題なく起動停止問題、最適化問題を解決することができるのである。
本発明は、複数の機能ブロックを有し、それらの機能ブロックを自律分散適応的に統合して動作させるシステムの制御全般に貢献できるものであり、産業上の利用可能性非常に大きい。システムを外乱に対してロバストにし、また状況依存的にリアルタイムにシステムを適応させていくという制御を簡単、かつスケーラブルに実現することができる。
また、上記した実施形態および実施例では、データセンターの負荷分散、ストレージの負荷分散、太陽光発電源の制御などの例を用いて、本願発明を説明したが、上述したように、本願発明は、情報分野、インフラ分野に限定されず、何らかの機能ブロック(リソース)が関連して存在(ネットワークで結合)していれば様々な分野で同じように使用できる。
なお、上記機能ブロックの各部は、ハードウェアとソフトウェアの組み合わせを用いて実現すればよい。ハードウェアとソフトウェアとを組み合わせた形態では、RAMに本発明のシステムのプログラムが展開され、プログラムに基づいて制御部(CPU)等のハードウェアを動作させることによって、各部を各種手段として動作させる。また、前記プログラムは、記憶媒体に記録されて頒布されても良い。当該記録媒体に記録されたプログラムは、有線、無線、又は記録媒体そのものを介して、メモリに読込まれ、制御部等を動作させる。なお、記録媒体を例示すれば、オプティカルディスクや磁気ディスク、半導体メモリ装置、ハードディスクなどが挙げられる。
なお、本出願は、2011年5月23日に出願された、日本国特許出願第2011−114266号からの優先権を基礎として、その利益を主張するものであり、その開示はここに全体として参考文献として取り込む。

Claims (20)

  1. 相互に関係を持つ複数の機能ブロックを有し、
    複数の前記機能ブロックは、
    それぞれに対応した評価関数を有する記憶部と、
    複数の前記機能ブロック全体で満たすべき拘束条件に基づいて、自機能ブロックの連続値で表される動作レベルに関する値を算出する拘束条件充足制御部と、
    自機能ブロックの評価関数、他機能ブロックの評価関数、自機能ブロックの前記動作レベル、及び、他機能ブロックの前記動作レベルに基づいて、自機能ブロックの前記動作レベルに関する値を算出する利潤最大化制御部と、
    前記拘束条件充足制御部が算出する値と、前記利潤最大化制御部が算出する値との和に基づいて、自機能ブロックの前記動作レベルを制御する手段と、
    自機能ブロックが起動している場合、停止した他機能ブロック及びリソースの限界に達した他機能ブロックについて、評価関数及び前記動作レベルをゼロとして扱うように前記利潤最大化制御部に対して指示すると共に、自機能ブロックが停止している場合及び自機能ブロックがリソースの限界に達している場合、前記利潤最大化制御部に対して出力をゼロにするよう指示する、起動停止問題解決制御部と、
    を有する
    ことを特徴とするシステム。
  2. 前記評価関数が凸関数であることを特徴とする請求項1記載のシステム。
  3. 前記起動停止問題解決制御部は、
    リソースの限界に達している機能ブロックがある場合に、前記利潤最大化制御部の制御結果を調整して前記機能ブロックの起動状態、停止状態を制御することを特徴とする請求項1または2に記載のシステム。
  4. 前記起動停止問題解決制御部は、
    前記機能ブロックに関係を持つ他の機能ブロックがリソースの限界に達している場合、前記利潤最大化制御部が、前記他の機能ブロックが存在しないものとして前記動作レベルを制御した結果を用いて前記機能ブロックの起動状態、停止状態を制御することを特徴とする請求項3記載のシステム。
  5. 前記起動停止問題解決制御部は、
    前記機能ブロックがリソースの限界に達している場合、前記利潤最大化制御部の制御結果を用いないで前記機能ブロックの起動状態、停止状態を制御することを特徴とする請求項3記載のシステム。
  6. 前記機能ブロックに関係を持つ他の機能ブロックからの情報は、前記他の機能ブロックの評価関数の傾きに比例した値に関する情報であり、かつ前記機能ブロックの動作を抑制する情報であることを特徴とする請求項1〜5のいずれか1項に記載のシステム。
  7. 前記拘束条件充足制御部は、
    以下の式(1)を満たす関係が成立する方程式を用いて前記機能ブロックの前記動作レベルを決定することを特徴とする請求項1〜6のいずれか1項に記載のシステム。
    Figure 0006388326
  8. 前記拘束条件充足制御部は、
    以下の式(2)を満たす関係が成立する方程式を用いて前記機能ブロックの前記動作レベルを決定することを特徴とする請求項7に記載のシステム。
    Figure 0006388326
  9. 前記利潤最大化制御部は、
    以下の式(3)を満たす関係が成立する方程式を用いて前記機能ブロックの前記動作レベルを決定することを特徴とする請求項1〜8のいずれか1項に記載のシステム。
    Figure 0006388326
  10. 前記利潤最大化制御部は、
    以下の式(4)を満たす関係が成立する方程式を用いて前記機能ブロックの前記動作レベルを決定することを特徴とする請求項9に記載のシステム。
    Figure 0006388326
  11. 前記拘束条件充足制御部および前記起動停止問題解決制御部は、前記機能ブロック自身の前記動作レベルを決定するときに、以下の式(5)を満たす関係が成立する方程式を用いて前記動作レベルを決定することを特徴とする請求項1〜10のいずれか1項に記載のシステム。
    Figure 0006388326
  12. 前記起動停止問題解決制御部は、
    前記式(5)を用いて前記機能ブロックの起動状態、停止状態を制御することを特徴とする請求項10に記載のシステム。
  13. 前記起動停止問題解決制御部は、
    前記機能ブロックに関係を持つ他の機能ブロックがリソースの限界に達している場合、前記他の機能ブロックにおいては、前記式(5)の右辺第2項を計算するときには存在しない機能ブロックとして扱うことを特徴とする請求項12記載のシステム。
  14. 前記起動停止問題解決制御部は、
    前記機能ブロックがリソースの限界に達している場合、前記式(5)の右辺第2項が存在しないものとして前記式(5)を計算することを特徴とすることを特徴とする請求項12記載のシステム。
  15. 前記起動停止問題解決制御部は、
    前記機能ブロックがリソースの限界に達している場合、隣接する機能ブロックの評価関数の情報を伝達することで、利潤最大化制御における起動している機能ブロックの利潤最大化制御を調整することを特徴とする請求項1〜14のいずれか1項に記載のシステム。
  16. 請求項1〜15のいずれか1項に記載のシステムが自システムを制御する制御方法。
  17. 相互に関係を持つ複数の他の機能ブロックに接続され、
    評価関数を有する記憶部と、
    前記機能ブロック全体で満たすべき拘束条件に基づいて、自機能ブロックの連続値で表される動作レベルに関する値を算出する拘束条件充足制御部と、
    自機能ブロックの評価関数、他機能ブロックの評価関数、自機能ブロックの前記動作レベル、及び、他機能ブロックの前記動作レベルに基づいて、自機能ブロックの前記動作レベルに関する値を算出する利潤最大化制御部と、
    前記拘束条件充足制御部が算出する値と、前記利潤最大化制御部が算出する値との和に基づいて、自機能ブロックの前記動作レベルを制御する手段と、
    自機能ブロックが起動している場合、停止した他機能ブロック及びリソースの限界に達した他機能ブロックについて、評価関数及び前記動作レベルをゼロとして扱うように前記利潤最大化制御部に対して指示すると共に、自機能ブロックが停止している場合及び自機能ブロックがリソースの限界に達している場合、前記利潤最大化制御部に対して出力をゼロにするよう指示する、起動停止問題解決制御部と、
    を有することを特徴とする機能ブロック。
  18. 前記評価関数が凸関数であることを特徴とする請求項17記載の機能ブロック。
  19. 前記起動停止問題解決制御部は、
    前記他の機能ブロックがリソースの限界に達している場合、前記利潤最大化制御部が、前記他の機能ブロックが存在しないものとして前記動作レベルを制御した結果を用いて前記機能ブロックの起動状態、停止状態を制御することを特徴とする請求項17または18に記載の機能ブロック。
  20. 前記起動停止問題解決制御部は、
    前記他の機能ブロックがリソースの限界に達している場合、前記利潤最大化制御部の制御結果を用いないで前記機能ブロックの起動状態、停止状態を制御することを特徴とする請求項17または18に記載の機能ブロック。
JP2013516284A 2011-05-23 2012-05-01 システムおよびシステムの制御方法 Active JP6388326B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011114266 2011-05-23
JP2011114266 2011-05-23
PCT/JP2012/061933 WO2012160978A1 (ja) 2011-05-23 2012-05-01 システムおよびシステムの制御方法

Publications (2)

Publication Number Publication Date
JPWO2012160978A1 JPWO2012160978A1 (ja) 2014-07-31
JP6388326B2 true JP6388326B2 (ja) 2018-09-12

Family

ID=47217058

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013516284A Active JP6388326B2 (ja) 2011-05-23 2012-05-01 システムおよびシステムの制御方法

Country Status (6)

Country Link
US (1) US9626635B2 (ja)
EP (1) EP2717218A4 (ja)
JP (1) JP6388326B2 (ja)
AU (1) AU2012260091B2 (ja)
BR (1) BR112013029929B1 (ja)
WO (1) WO2012160978A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6388326B2 (ja) * 2011-05-23 2018-09-12 日本電気株式会社 システムおよびシステムの制御方法
JP6171600B2 (ja) * 2013-06-12 2017-08-02 日本電気株式会社 負荷分散システム、負荷分散装置、負荷分散方法およびプログラム
WO2014208299A1 (ja) * 2013-06-24 2014-12-31 日本電気株式会社 電力制御装置、方法、およびプログラム
JP6358443B2 (ja) * 2013-07-30 2018-07-18 日本電気株式会社 表示装置、電力制御システム、表示方法、電力制御方法、表示プログラム、及び電力制御プログラム
US10839302B2 (en) 2015-11-24 2020-11-17 The Research Foundation For The State University Of New York Approximate value iteration with complex returns by bounding
TWI823431B (zh) * 2022-06-20 2023-11-21 英業達股份有限公司 風扇控制方法及風扇控制裝置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6078904A (en) * 1998-03-16 2000-06-20 Saddle Peak Systems Risk direct asset allocation and risk resolved CAPM for optimally allocating investment assets in an investment portfolio
JP4208404B2 (ja) 2000-11-21 2009-01-14 大阪瓦斯株式会社 電力系統制御方法
JP3821388B2 (ja) 2004-03-30 2006-09-13 独立行政法人科学技術振興機構 N個の制御装置を制御するシステム、方法およびプログラム
US8626353B2 (en) * 2011-01-14 2014-01-07 International Business Machines Corporation Integration of demand response and renewable resources for power generation management
JP6388326B2 (ja) * 2011-05-23 2018-09-12 日本電気株式会社 システムおよびシステムの制御方法
WO2013032026A1 (ja) * 2011-08-30 2013-03-07 日本電気株式会社 システムの制御方法およびシステム

Also Published As

Publication number Publication date
AU2012260091B2 (en) 2016-12-22
JPWO2012160978A1 (ja) 2014-07-31
EP2717218A1 (en) 2014-04-09
US9626635B2 (en) 2017-04-18
BR112013029929B1 (pt) 2021-12-07
EP2717218A4 (en) 2014-11-05
BR112013029929A2 (pt) 2017-01-24
US20140094935A1 (en) 2014-04-03
WO2012160978A1 (ja) 2012-11-29

Similar Documents

Publication Publication Date Title
JP6388326B2 (ja) システムおよびシステムの制御方法
CN102780759B (zh) 基于调度目标空间的云计算资源调度方法
JP5529114B2 (ja) 計算環境内のエネルギ消費を管理するシステムおよび方法
JP6605609B2 (ja) 電力消費の制御
JP2011002929A (ja) 分散電力供給システムおよびその制御方法
CN103150003A (zh) 信息处理系统、该信息处理系统的节电控制方法和装置
Zheng et al. A multi-objective biogeography-based optimization for virtual machine placement
JP2009131045A (ja) 分散エネルギーシステム及びその制御方法
JP6403185B2 (ja) システムの制御方法およびシステム
CN102208986B (zh) 一种集群功耗分配与控制方法
WO2018203423A1 (ja) 電力管理装置及びプログラム
JP2018508901A (ja) 相異なるユニットへのエネルギー供給を制御する方法およびシステム
JP6296251B2 (ja) 電力制御装置、方法、およびプログラム
JP6052896B2 (ja) システムの制御方法及び制御装置
JP2021083290A (ja) 電力制御方法、電力制御システム、及びプログラム
EP4123864A1 (en) A system for controlling energy supply and/or consumption from an energy network
JP6095128B2 (ja) 状態制御装置、制御方法及びプログラム
JP6150058B2 (ja) 電力制御装置、電力制御システム、制御可能な機器、方法、およびプログラム
WO2018037583A1 (ja) 電力需要制御システム、電力需要制御方法、アグリゲータシステム、需要家電力管理システム、及びプログラム
JP2020144930A (ja) 相異なるユニットへのエネルギー供給を制御する方法およびシステム
Kumar et al. A dynamic Workload Management model for saving Electricity Costs in cloud data centers

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150408

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20151221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160802

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20161108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170208

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170216

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20170421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180809

R150 Certificate of patent or registration of utility model

Ref document number: 6388326

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250