(57)【要約】【課題】通信ネットワークを介したサービスのためのシステムにおいて、新たに要求する状態変化をもたらす制御手順を容易に生成することを可能にすること。【解決手段】管理装置１００は、通信ネットワークを介したサービスのためのシステムにおいて要求される第１の状態変化を示す状態変化情報を取得する情報取得部１３１と、上記システムにおける状態変化と上記システムにおける制御との関係性を表す関係情報に基づいて、上記第１の状態変化をもたらす制御手順を生成する手順生成部１３３と、を備え、上記制御手順は、第１の制御と第２の制御とを含み、上記第１の制御は、上記第１の状態変化及び第２の状態変化をもたらす制御であり、上記第２の制御は、上記第２の状態変化に対応する制御である。【選択図】図５
2019106133.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークを介したサービスのためのシステムにおいて要求される第１の状態変化を示す状態変化情報を取得する情報取得部と、
前記システムにおける状態変化と前記システムにおける制御との関係性を表す関係情報に基づいて、前記第１の状態変化をもたらす制御手順を生成する手順生成部と、を備え、
前記制御手順は、第１の制御と第２の制御とを含み、
前記第１の制御は、前記第１の状態変化及び第２の状態変化をもたらす制御であり、
前記第２の制御は、前記第２の状態変化に対応する制御である、管理装置。
【請求項２】
前記第２の制御は、前記第１の制御によってもたらされる前記第２の状態変化に対して逆方向の状態変化をもたらす制御である、請求項１記載の管理装置。
【請求項３】
前記情報取得部は、前記システムにおける前記状態変化について規定される許容条件を示す状態許容条件情報を取得し、
前記第２の制御は、前記第１の制御によってもたらされる前記第２の状態変化が前記許容条件を満たすように抑制する制御である、請求項２記載の管理装置。
【請求項４】
前記第２の制御は、前記第１の制御によってもたらされる前記第２の状態変化を相殺する制御である、請求項２又は３記載の管理装置。
【請求項５】
前記制御手順は、前記第２の制御が行われた後に、前記第１の制御を行う制御手順である、請求項１乃至４のうち何れか１項記載の管理装置。
【請求項６】
前記手順生成部は、前記システムにおける複数の制御の中から、前記関係情報に基づいて前記第１の制御と前記第２の制御とを選択することにより、前記制御手順を生成する、請求項１乃至５のうち何れか１項記載の管理装置。
【請求項７】
前記システムにおける前記状態変化は、前記サービスを提供するための拠点に関する状態変化を含む、請求項１乃至６のうち何れか１項記載の管理装置。
【請求項８】
前記システムにおける前記制御は、前記サービスを提供するための拠点に関する制御を含む、請求項１乃至７のうち何れか１項記載の管理装置。
【請求項９】
前記システムにおける前記状態変化は、前記サービスを提供するための仮想マシンに関する状態変化を含む、請求項１乃至８のうち何れか１項記載の管理装置。
【請求項１０】
前記システムにおける前記制御は、前記サービスを提供するための仮想マシンに関する制御を含む、請求項１乃至９のうち何れか１項記載の管理装置。
【請求項１１】
通信ネットワークを介したサービスのためのシステムにおいて要求される第１の状態変化を示す状態変化情報を取得することと、
前記システムにおける状態変化と前記システムにおける制御との関係性を表す関係情報に基づいて、前記第１の状態変化をもたらす制御手順を生成することと、を含み、
前記制御手順は、第１の制御と第２の制御とを含み、
前記第１の制御は、前記第１の状態変化及び第２の状態変化をもたらす制御であり、
前記第２の制御は、前記第２の状態変化に対応する制御である、管理方法。
【請求項１２】
通信ネットワークを介したサービスのためのシステムにおいて要求される第１の状態変化を示す状態変化情報を取得することと、
前記システムにおける状態変化と前記システムにおける制御との関係性を表す関係情報に基づいて、前記第１の状態変化をもたらす制御手順を生成することと、をプロセッサに実行させるプログラムであり、
前記制御手順は、第１の制御と第２の制御とを含み、
前記第１の制御は、前記第１の状態変化及び第２の状態変化をもたらす制御であり、
前記第２の制御は、前記第２の状態変化に対応する制御である、プログラム。
【請求項１３】
通信ネットワークを介したサービスのためのシステムにおいて要求される第１の状態変化を示す状態変化情報を取得することと、
前記システムにおける状態変化と前記システムにおける制御との関係性を表す関係情報に基づいて、前記第１の状態変化をもたらす制御手順を生成することと、をプロセッサに実行させるプログラムを記録したコンピュータに読み取り可能な非一時的記録媒体であり、
前記制御手順は、第１の制御と第２の制御とを含み、
前記第１の制御は、前記第１の状態変化及び第２の状態変化をもたらす制御であり、
前記第２の制御は、前記第２の状態変化に対応する制御である、非一時的記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークを介したサービスの提供に関する管理装置、管理方法、プログラム、及び記録媒体に関する。
【背景技術】
【０００２】
ＩｏＴ（Internet of Things）サービス提供プラットフォームなど、通信ネットワークを介して提供されるサービスを管理するため、様々な施策が検討されている。
【０００３】
例えば、特許文献１には、外部機器に対するユーザ操作履歴を用いて、ユーザが望む外部機器の状態を再現可能な連携動作を特定し、ユーザが望む所定の外部機器の状態を再現するための契機となるトリガー動作を検知した場合、その連携動作を外部機器が実行するよう制御する機器連携装置が記載されている。
【０００４】
また、例えば、特許文献２には、利用者の状況と予測される将来の行動（利用者のコンテキスト）に基づいて、ある指標が改善されるように公共輸送（列車）の運行状況（公共輸送のコンテキスト）を変更することが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４５７９６１２号公報
【特許文献２】特表２０１６−５３５９０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記特許文献１に開示されている技術では、ユーザが以前実行した動作の系列を、過去の動作の履歴情報から再現することができる。しかしながら、上記特許文献１に開示されている技術では、今まで実行したことがない状態変化をもたらす制御手順を生成するようなことができない。また、今まで実行したことがない状態変化をもたらす制御手順の作成は、各々の機器の動作によってもたらされる状態変化（副作用）も考慮する必要があるので、制御手順の作成者（オペレータ）にとって煩わしい。
【０００７】
本発明の目的の１つは、通信ネットワークを介したサービスのためのシステムにおいて、新たに要求される状態変化をもたらす制御手順を容易に生成することを可能にする管理装置、管理方法、プログラム、及び記録媒体を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一態様において、管理装置は、通信ネットワークを介したサービスのためのシステムにおいて要求される第１の状態変化を示す状態変化情報を取得する情報取得部と、上記システムにおける状態変化と上記システムにおける制御との関係性を表す関係情報に基づいて、上記第１の状態変化をもたらす制御手順を生成する手順生成部と、を備え、上記制御手順は、第１の制御と第２の制御とを含み、上記第１の制御は、上記第１の状態変化及び第２の状態変化をもたらす制御であり、上記第２の制御は、上記第２の状態変化に対応する制御である。
【０００９】
本発明の一態様において、管理方法は、通信ネットワークを介したサービスのためのシステムにおいて要求される第１の状態変化を示す状態変化情報を取得することと、上記システムにおける状態変化と上記システムにおける制御との関係性を表す関係情報に基づいて、上記第１の状態変化をもたらす制御手順を生成することと、を含み、上記制御手順は、第１の制御と第２の制御とを含み、上記第１の制御は、上記第１の状態変化及び第２の状態変化をもたらす制御であり、上記第２の制御は、上記第２の状態変化に対応する制御である。
【００１０】
本発明の一態様において、プログラムは、通信ネットワークを介したサービスのためのシステムにおいて要求される第１の状態変化を示す状態変化情報を取得することと、上記システムにおける状態変化と上記システムにおける制御との関係性を表す関係情報に基づいて、上記第１の状態変化をもたらす制御手順を生成することと、をプロセッサに実行させるプログラムであり、上記制御手順は、第１の制御と第２の制御とを含み、上記第１の制御は、上記第１の状態変化及び第２の状態変化をもたらす制御であり、上記第２の制御は、上記第２の状態変化に対応する制御である。
【００１１】
本発明の一態様において、記録媒体は、通信ネットワークを介したサービスのためのシステムにおいて要求される第１の状態変化を示す状態変化情報を取得することと、上記システムにおける状態変化と上記システムにおける制御との関係性を表す関係情報に基づいて、上記第１の状態変化をもたらす制御手順を生成することと、をプロセッサに実行させるプログラムを記録したコンピュータに読み取り可能な非一時的記録媒体であり、上記制御手順は、第１の制御と第２の制御とを含み、上記第１の制御は、上記第１の状態変化及び第２の状態変化をもたらす制御であり、上記第２の制御は、上記第２の状態変化に対応する制御である。
【発明の効果】
【００１２】
本発明によれば、通信ネットワークを介したサービスのためのシステムにおいて、新たに要求される状態変化をもたらす制御手順を容易に生成することが可能になる。なお、本発明により、当該効果の代わりに、又は当該効果とともに、他の効果が奏されてもよい。
【図面の簡単な説明】
【００１３】
【図１】図１は、ＩｏＴサービスプラットフォームの概略的な構成の一例を示す説明図である。
【図２】図２は、ＩｏＴサービスプラットフォーム１０００に設けられた複数のコントローラと、複数のコントローラを管理するための管理装置とからなるシステム構成の概略図である。
【図３】図３は、ＩｏＴサービスプラットフォーム１０００に提供されるサービスに関するトラフィックの経路、ＶＮＦ（Virtual Network Function）、仮想化されたアプリケーションサーバを模式的に示す図である。
【図４】図４は、本発明の実施形態に係るシステム１の概略的な構成の一例を示す説明図である。
【図５】図５は、本発明の第１の実施形態に係る管理装置１００の概略的な構成の例を示すブロック図である。
【図６】図６は、拠点に関する制御コンテキストの具体例を説明するための図である。
【図７】図７は、拠点に関する制御コンテキストに関係付けられる管理主体の例を示す図である。
【図８】図８は、仮想マシンに関する制御コンテキストの具体例を説明するための図である。
【図９】図９は、仮想マシンに関する制御コンテキストに関係付けられる管理主体の例を示す図である。
【図１０】図１０は、第１の生成例について説明するための説明図である。
【図１１】図１１は、第１の生成例の処理の流れを説明するためのフローチャートである。
【図１２】図１２は、第２の生成例について説明するための説明図である。
【図１３】図１３は、第２の生成例の処理の流れを説明するためのフローチャートである。
【図１４】図１４は、再帰的探索により制御手順を生成する処理の流れを説明するためのフローチャートである。
【図１５】図１５は、本発明の第２の実施形態に係る管理装置１００の概略的な構成の例を示すブロック図である。
【図１６】図１６は、管理装置を実現するためのハードウェア資源の概略図である。
【発明を実施するための形態】
【００１４】
以下、添付の図面を参照して本発明の実施形態を詳細に説明する。なお、本明細書及び図面において、同様に説明されることが可能な要素については、同一の符号を付することにより重複説明が省略され得る。
【００１５】
また、本明細書で用いられる「及び／又は」とは、「及び／又は」で接続される２以上の要素のうちの任意の１つ又は複数の要素をいう。一例として、「ｘ及び／又はｙ」とは、３つの要素集合｛（ｘ），（ｙ），（ｘ，ｙ）｝のうちの任意の要素を意味する。本明細書で用いられる「及び／若しくは」と「並びに／又は」についても、それぞれ「及び／若しくは」と「並びに／又は」で接続される２以上の要素のうちの任意の１つ又は複数の要素をいう。
【００１６】
説明は、以下の順序で行われる。
１．関連技術
２．本発明の実施形態の概要
３．システムの構成
４．第１の実施形態
４．１．管理装置の構成
４．２．技術的特徴
５．第２の実施形態
５．１．管理装置の構成
５．２．技術的特徴
６．他の実施形態
【００１７】
＜＜１．関連技術＞＞
本発明の実施形態に関連する技術として、ＭＮＯ（Mobile Network Operator）、ＭＮＶＯ（mobile virtual network operator）などが提供するＩｏＴサービスプラットフォームを説明する。
【００１８】
図１は、ＩｏＴサービスプラットフォームの構成の概略図である。ＩｏＴサービスプラットフォーム１０００は、図１に示すように、例えば、携帯電話機、自動車などのＵＥ（User Equipment）１１００と、ＵＥ（User Equipment）１１００がアクセスする通信ネットワーク１２００と、通信ネットワーク１２００に接続された複数のデータセンタ１３００と、から構成される。データセンタ１３００は、例えば通信プロバイダが管理するデータセンタ１３０１、クラウド／アプリケーションプロバイダが管理するデータセンタ１３０２などを含む。
【００１９】
ＩｏＴサービスプラットフォーム１０００は、仮想化技術を適用することで、通信ネットワーク１２００及びデータセンタ１３００の一部を仮想化し得る。このような仮想化により、データセンタ１３０２が実行する処理の一部又は全ては、データセンタ１３０１によって実行され得る。
【００２０】
さらに、ＩｏＴサービスプラットフォーム１０００は、アプリケーションレイヤ、ネットワークレイヤなど、互いに異なるレイヤを管理する複数のコントローラを含む。図２は、ＩｏＴサービスプラットフォーム１０００に含まれる複数のコントローラと、複数のコントローラを管理するための管理装置とからなるシステム構成の概略図である。
【００２１】
すなわち、ＩｏＴサービスプラットフォーム１０００は、アプリケーションの計算リソースを制御するアプリケーションコントローラ１４０１と、仮想ネットワーク機能（Virtual Network Function）の計算リソースを制御するネットワーク機能仮想化コントローラ１４０２と、を含む。さらに、ＩｏＴサービスプラットフォーム１０００は、例えば、ＱｏＳ（Quality  of  Service）の維持とリソースの利用効率との両立を図るため、これらのコントローラの動作を管理する管理装置１５００を備える。
【００２２】
図３は、ＩｏＴサービスプラットフォーム１０００に提供されるサービスに関する仮想化されたアプリケーションサーバ１５１０、仮想ネットワーク機能１５２０、及びトラフィックの経路１５３０を模式的に示す図である。
【００２３】
例えば、上述したアプリケーションコントローラ１４０１は、図３に示すような仮想化されたアプリケーションサーバ１５１０の配置を変更するなど、サービスを提供するためのアプリケーションの計算リソースを制御する。アプリケーションコントローラ１４０１は、例えば、サービスオーケストレータと呼ばれる。
【００２４】
また、上述したネットワーク機能仮想化コントローラ１４０２は、仮想ネットワーク機能１５２０の追加など、仮想ネットワーク機能の計算リソースを制御する。なお、ネットワーク機能仮想化コントローラ１４０２は、例えば、リソースオーケストレータと呼ばれる。
【００２５】
＜＜２．本発明の実施形態の概要＞＞
まず、本発明の実施形態の概要を説明する。
【００２６】
（１）技術的課題
上述したアプリケーションコントローラ１４０１、及びネットワーク機能仮想化コントローラ１４０２などの各種コントローラに関する制御手順は、例えばＱｏＳ違反を防止するなどのルールベースで管理される。
【００２７】
ルールベースでの制御手順の管理は、コントローラの更新および増加により制御機能数が増加する点、ＱｏＳ違反などの監視のためのアラーム種類が増加する点、制御を実行する理由（求める効果）が状況により異なる点、などを考慮する必要がある。
【００２８】
例えば、同じ内容の制御を実行する場合でも理由が異なる例として以下を挙げることができる。まず、仮想マシンを追加する制御は、その制御に求める効果として、例えば、新規サービスの立ち上げ、スケールアウトなどがある。また、仮想マシンを追加する制御は、その制御に求める効果として、サービスの終了、スケールインなどがある。さらに、仮想マシンの移動する制御は、その制御に求める効果として、ＴＡＴ（Turn Around Time）の改善、空きリソースの確保、メンテナンスなどがある。
【００２９】
また、求める効果を得るために制御を実行しても、その副作用としてシステム負荷が増大したり、ＴＡＴが増加したりするなどの状態変化が生じ得る。このため、システムの管理者は、上述した副作用を考慮してルールベースで制御手順を作成することが煩わしく、作業時間が長くなり得るという問題がある。言い換えれば、ルールベースでの制御手順の管理は、人手での作業がボトルネックとなる。
【００３０】
そこで、本発明の実施形態の主たる目的は、通信ネットワークを介したサービスのためのシステムにおいて、新たに要求される状態変化をもたらす制御手順を容易に生成することである。
【００３１】
（２）技術的特徴
本発明の実施形態では、例えば、通信ネットワークを介したサービスのためのシステムにおいて要求される第１の状態変化を示す状態変化情報を取得し、上記システムにおける状態変化と上記システムにおける制御との関係性を表す関係情報に基づいて、上記第１の状態変化をもたらす制御手順を生成する。ここで、上記制御手順は、第１の制御と第２の制御とを含み、上記第１の制御は、上記第１の状態変化及び第２の状態変化をもたらす制御であり、上記第２の制御は、前記第２の状態変化に対応する制御である。
【００３２】
上述した構成により、例えば、通信ネットワークを介したサービスのためのシステムにおいて、新たに要求される状態変化をもたらす制御手順を容易に生成することが可能になる。
【００３３】
なお、上述した技術的特徴は本発明の実施形態の具体的な一例であり、当然ながら、本発明の実施形態は上述した技術的特徴に限定されない。
【００３４】
＜＜３．システムの構成＞＞
図４を参照して、本発明の実施形態に係るシステム１の構成の例を説明する。図４は、本発明の実施形態に係るシステム１の概略的な構成の一例を示す説明図である。図４を参照すると、システム１は、ユーザ端末１０に通信ネットワーク２０を介してＩｏＴアプリケーション３０で提供されるサービスに関する制御ないし管理を行うシステムであって、管理装置１００、アプリケーションコントローラ２００、及びネットワーク機能仮想化コントローラ３００を含む。ここで、通信ネットワーク２０は、その機能の一部がハイパーバイザー２１により仮想化されている。また、ＩｏＴアプリケーション３０は、その機能の全て又は一部がハイパーバイザー３１により仮想化されている。
【００３５】
（１）管理装置
管理装置１００は、アプリケーションコントローラ２００、及びネットワーク機能仮想化コントローラ３００とそれぞれ通信を行う。
【００３６】
（２）アプリケーションコントローラ２００
アプリケーションコントローラ２００は、例えばハイパーバイザー３１にアクセスし、ＩｏＴアプリケーション３０に関する制御を行う。上述したように、アプリケーションコントローラ２００は、例えばサービスオーケストレータとも呼ばれる。
【００３７】
（３）ネットワーク機能仮想化コントローラ３００
ネットワーク機能仮想化コントローラ３００は、例えばハイパーバイザー２１にアクセスすることにより、通信ネットワーク２０のネットワーク機能仮想化に関する制御を行う。上述したように、アプリケーションコントローラ２００は、例えばリソースオーケストレータとも呼ばれる。
【００３８】
（４）まとめ
上述したアプリケーションコントローラ２００、及びネットワーク機能仮想化コントローラ３００は、いずれも、通信ネットワーク２０を介したサービスを提供する制御を行う制御装置である。
【００３９】
＜＜４．第１の実施形態＞＞
続いて、図５〜図１４を参照して、本発明の第１の実施形態を説明する。
【００４０】
＜４．１．管理装置の構成＞
次に、図５を参照して、第１の実施形態に係る管理装置１００の構成の例を説明する。図５は、第１の実施形態に係る管理装置１００の概略的な構成の例を示すブロック図である。図５を参照すると、管理装置１００は、通信部１１０、記憶部１２０及び処理部１３０を備える。
【００４１】
（１）通信部１１０
通信部１１０は、アプリケーションコントローラ２００、及びネットワーク機能仮想化コントローラ３００のそれぞれから信号を受信し、アプリケーションコントローラ２００、ネットワーク機能仮想化コントローラ３００のそれぞれへ信号を送信する。
【００４２】
（２）記憶部１２０
記憶部１２０は、管理装置１００の動作制御に使用するプログラム及びパラメータ、並びに様々なデータを、一時的に又は恒久的に記憶する。当該プログラムは、管理装置１００の動作のための１つ以上の命令を含む。
【００４３】
（３）処理部１３０
処理部１３０は、管理装置１００の様々な機能を提供する。処理部１３０は、情報取得部１３１、手順生成部１３３、及び制御部１３５を含む。なお、処理部１３０は、これらの構成要素以外の他の構成要素を更に含み得る。すなわち、処理部１３０は、これらの構成要素の動作以外の動作も行い得る。
【００４４】
例えば、制御部１３５は、後述するように手順生成部１３３により生成された制御手順に従って、アプリケーションコントローラ２００、及びネットワーク機能仮想化コントローラ３００を制御する。情報取得部１３１、手順生成部１３３、及び制御部１３５の具体的な動作は、後に詳細に説明する。
【００４５】
（４）実装例
通信部１１０は、送信回路及び受信回路、ネットワークアダプタ並びに／又はネットワークインタフェースカード等により実装されてもよい。記憶部１２０は、メモリ（例えば、不揮発性メモリ及び／若しくは揮発性メモリ）並びに／又はハードディスク等により実装されてもよい。情報取得部１３１、手順生成部１３３、及び制御部１３５は、同一のプロセッサにより実装されてもよく、別々に異なるプロセッサにより実装されてもよい。上記メモリ（記憶部１２０）は、このようなプロセッサ（チップ）内に含まれてもよい。
【００４６】
管理装置１００は、プログラム（命令）を記憶するメモリと、当該プログラム（命令）を実行可能な１つ以上のプロセッサとを含んでもよく、当該１つ以上のプロセッサは、上記プログラムを実行して処理部１３０の動作（情報取得部１３１、手順生成部１３３、及び制御部１３５の動作）を行ってもよい。上記プログラムは、処理部１３０の動作（情報取得部１３１、手順生成部１３３、及び制御部１３５の動作）をプロセッサに実行させるプログラムであってもよい。
【００４７】
＜４．２．技術的特徴＞
次に、第１の実施形態の技術的特徴を説明する。
【００４８】
管理装置１００（情報取得部１３１）は、通信ネットワークを介したサービスのためのシステムにおいて要求される第１の状態変化を示す状態変化情報を取得する。そして、管理装置１００（手順生成部１３３）は、上記システムにおける状態変化と上記システムにおける制御との関係性を表す関係情報に基づいて、上記第１の状態変化をもたらす制御手順を生成する。上記制御手順は、第１の制御と第２の制御とを含み、上記第１の制御は、上記第１の状態変化及び第２の状態変化をもたらす制御であり、上記第２の制御は、上記第２の状態変化に対応する制御である。
【００４９】
とりわけ、上記第２の制御は、上記第１の制御によってもたらされる上記第２の状態変化に対して逆方向の状態変化をもたらす制御である。
【００５０】
（１）状態変化情報
上記状態変化情報は、例えば、オペレータ（例えば管理装置１００の管理者）からの要求、又は上記システムの状態変化（例えばＱｏＳ違反）などを契機に、情報取得部１３１によって得られる情報である。例えば、ユーザ端末のサービス体感品質を改善したい場合には、オペレータは、当該サービスの提供に関する通信遅延を短くするため、ＴＡＴの減少を要求する情報を、上記状態変化情報として管理装置１００に操作入力する。これにより、情報取得部１３１は、上記状態変化情報として、ＴＡＴの減少を要求する情報を取得することができる。
【００５１】
（２）関係情報
上記関係情報は、例えば上記システムにおける上記状態変化に関する履歴情報、及び上記システムにおける上記制御に関する履歴情報から得られる制御コンテキストである。
【００５２】
具体的に、上記関係情報は、例えば管理装置１００により次のような処理が行われることによって得られる情報である。まず、管理装置１００は、上記状態変化に関する上記履歴情報と、上記システムにおける上記制御に関する履歴情報とを照合する。そして、管理装置１００は、照合結果に基づいて、上記システムにおける上記制御の前後で起きた状態変化を抽出し、当該制御と抽出した状態変化とを互いに関係付ける。このようにして管理装置１００は、上記関係情報を取得し、例えば記憶部１２０により保持する。
【００５３】
なお、上記関係情報は、管理装置１００以外の他の装置で作成してもよい。この場合、管理装置１００は、当該他の装置で作成された上記関係情報を取得し、例えば記憶部１２０に保持してもよい。
【００５４】
（２−１）拠点に関する制御コンテキスト
例えば上記関係情報は、上記サービスを提供するための拠点に関する制御コンテキストを含んでもよい。ここで、拠点は、例えばクラウド基盤を実現するための拠点である。以下では、上記サービスを提供するための上記拠点に関する上記制御コンテキストについて、具体的に説明する。
【００５５】
−拠点に関する制御の具体例
上記システムにおける上記制御は、上記サービスを提供するための、上記拠点に関する制御を含む。
【００５６】
具体的に、上記サービスを提供するための上記拠点に関する上記制御は、言い換えれば、拠点の計算リソースを確保する制御であって、上記拠点にリソースを追加する制御、上記拠点からリソースを削除する制御、及び第１の拠点から第２の拠点へのリソースの移動を行う制御を含む。
【００５７】
−拠点に関する制御に関係付けられる状態変化の具体例
上記システムにおける上記状態変化は、上記サービスを提供するための、上記拠点に関する状態変化を含む。
【００５８】
具体的に、上記サービスを提供するための、上記拠点に関する上記状態変化は、上記拠点で稼働する仮想マシンの数の変化、上記拠点における処理時間に関する変化、上記拠点の消費電力の変化、及び上記拠点の空きリソースの変化を含む。ここで、上記拠点における処理時間に関する変化とは、例えば上記拠点と上記サービスが提供される端末との間のＴＡＴの変化である。
【００５９】
−制御コンテキストの具体例
図６は、拠点に関する制御コンテキストの具体例を説明するための図である。なお、図６中の「Ｘ」及び「Ｙ」は、例えばテンプレート化のため、互いに異なる任意の自然数を表している。
【００６０】
図６（Ａ）は、拠点Ｘに仮想マシン（ＶＭ）を追加する制御と、当該制御によってもたらされる状態変化との関係性を表す制御コンテキストの具体例を示している。すなわち、図６（Ａ）に示す制御コンテキストは、拠点Ｘに仮想マシン（ＶＭ）を追加する制御によってもたらされる状態変化として、拠点Ｘの仮想マシンの数が１つ増加すること、拠点Ｘに近いユーザ端末のＴＡＴが減少すること、拠点Ｘの空きリソースが減少すること、及び拠点Ｘの消費電力が増加することを示している。
【００６１】
図６（Ｂ）は、拠点Ｘから仮想マシン（ＶＭ）を削除する制御と、当該制御によってもたらされる状態変化との関係性を表す制御コンテキストの具体例を示している。すなわち、図６（Ｂ）に示す制御コンテキストは、拠点Ｘから仮想マシン（ＶＭ）を削除する制御によってもたらされる状態変化として、拠点Ｘの仮想マシンの数が１つ減少すること、拠点Ｘに近いユーザ端末のＴＡＴが増加すること、拠点Ｘの空きリソースが増加すること、及び拠点Ｘの消費電力が減少することを示している。
【００６２】
図６（Ｃ）は、拠点Ｘから拠点Ｙへ仮想マシン（ＶＭ）を移動する制御と、当該制御によってもたらされる状態変化との関係性を表す制御コンテキストの具体例を示している。すなわち、図６（Ｃ）に示す制御コンテキストは、拠点Ｘから拠点Ｙへ仮想マシン（ＶＭ）を移動する制御によって、拠点Ｘにもたらされる状態変化と、拠点Ｙにもたらされる状態変化を示している。
【００６３】
ここで、拠点Ｘにもたらされる状態変化は、拠点Ｘの仮想マシンの数が１つ減少すること、拠点Ｘの空きリソースが増加すること、及び拠点Ｘの消費電力が減少すること、及び拠点Ｘに近いユーザ端末のＴＡＴが増加することである。また、拠点Ｙにもたらされる状態変化は、拠点Ｙの仮想マシンの数が１つ増加すること、拠点Ｙの空きリソースが減少すること、及び拠点Ｙの消費電力が増加すること、及び拠点Ｙに近いユーザ端末のＴＡＴが減少することである。
【００６４】
なお、制御コンテキストは、図６（Ａ）乃至図６（Ｃ）のようなグラフ形式で記述されてもよいし、ルックアップテーブル形式などによって記述されてもよい。
【００６５】
−制御主体又は管理主体
図７は、拠点に関する制御コンテキストに関係付けられる管理主体の例を示す図である。
【００６６】
すなわち、図７に示すように、上記拠点に関する上記制御コンテキストは、実際に上記拠点に関する制御を行うリソースコントローラ、若しくは当該リソースコントローラを管理するリソースオーケストレータ（例えばネットワーク機能仮想化コントローラ３００）に関係付けられてもよい。
【００６７】
（２−２）仮想マシンに関する制御コンテキスト
例えば上記関係情報は、上記サービスを提供するための仮想マシンに関する制御コンテキストを含んでもよい。以下では、上記サービスを提供するための上記仮想マシンに関する上記制御コンテキストについて、具体的に説明する。
【００６８】
−仮想マシンに関する制御の具体例
上記システムにおける上記制御は、上記サービスを提供するための上記仮想マシンに関する上記制御を含む。
【００６９】
具体的に、上記サービスを提供するための上記仮想マシンに関する上記制御は、言い換えれば上記仮想マシンで実行されるアプリケーションレイヤ上の計算リソースを確保する制御であって、例えば、上記仮想マシンが行うタスクの追加を行う制御、上記仮想マシンが行うタスクの削除を行う制御、及び第１の仮想マシンから第２の仮想マシンへのタスクの移動を行う制御を含む。
【００７０】
−仮想マシンに関する制御に関係付けられる状態変化の具体例
上記システムにおける上記状態変化は、上記サービスを提供するための上記仮想マシンに関する状態変化を含む。
【００７１】
具体的に、上記サービスを提供するための上記仮想マシンに関する上記状態変化は、上記仮想マシンによって実行されるタスクの数の変化、上記仮想マシンのタスクの処理時間に関する変化、上記仮想マシンの空きリソースの変化、及び上記仮想マシンが存在する拠点の消費電力の変化を含む。ここで、上記仮想マシンのタスクの処理時間に関する変化は、例えば上記仮想マシンと上記サービスが提供されるユーザ端末との間のＴＡＴの変化である。
【００７２】
−制御コンテキストの具体例
図８は、仮想マシンに関する制御コンテキストの具体例を説明するための図である。なお、図８中の「Ｘ」及び「Ｙ」は、例えばテンプレート化のため、互いに異なる任意の自然数を表している。
【００７３】
図８（Ａ）は、仮想マシン（ＶＭ）Ｘが行うタスクを追加する制御と、当該制御によってもたらされる状態変化との関係性を表す制御コンテキストの具体例を示している。すなわち、図８（Ａ）に示す制御コンテキストは、仮想マシンＸが行うタスクを追加する制御によってもたらされる状態変化として、仮想マシンＸが行うタスクの数が１つ増加すること、仮想マシンＸのタスクに関するＴＡＴが減少すること、仮想マシンＸの空きリソースが減少すること、及び仮想マシンＸが存在する拠点の消費電力が増加することを示している。
【００７４】
図８（Ｂ）は、仮想マシンＸが行うタスクを削除する制御と、当該制御によってもたらされる状態変化との関係性を表す制御コンテキストの具体例を示している。すなわち、図８（Ｂ）に示す制御コンテキストは、仮想マシンＸが行うタスクを削除する制御によってもたらされる状態変化として、仮想マシンが行うタスクの数が１つ減少すること、仮想マシンＸのタスクに関するＴＡＴが増加すること、仮想マシンＸの空きリソースが増加すること、及び仮想マシンＸが存在する拠点の消費電力が減少することを示している。
【００７５】
図８（Ｃ）は、仮想マシンＸから仮想マシンＹへタスクを移動する制御と、当該制御によってもたらされる状態変化との関係性を表す制御コンテキストの具体例を示している。すなわち、図８（Ｃ）に示す制御コンテキストは、仮想マシンＸから仮想マシンＹへタスクを移動する制御によって、仮想マシンＸにもたらされる状態変化と、仮想マシンＹにもたらされる状態変化を示している。
【００７６】
ここで、仮想マシンＸにもたらされる状態変化は、仮想マシンＸが行うタスクの数が１つ減少すること、仮想マシンＸの空きリソースが増加すること、及び仮想マシンＸが存在する拠点の消費電力が減少すること、及び仮想マシンＸが行うタスクに関するＴＡＴが増加することである。また、仮想マシンＹにもたらされる状態変化は、仮想マシンＹが行うタスクの数が１つ増加すること、仮想マシンＹの空きリソースが減少すること、及び仮想マシンＹが存在する拠点の消費電力が増加すること、及び仮想マシンＹが行うタスクに関するＴＡＴが減少することである。
【００７７】
なお、制御コンテキストは、図８（Ａ）乃至図８（Ｃ）のようなグラフ形式で記述されてもよいし、ルックアップテーブル形式などによって記述されてもよい。
【００７８】
−制御主体又は管理主体
図９は、仮想マシンに関する制御コンテキストに関係付けられる管理主体の例を示す図である。
【００７９】
すなわち、図９に示すように、上記仮想マシンに関する制御コンテキストは、実際に仮想マシンに関する制御を行うサービスコントローラ、若しくは当該サービスコントローラを管理するリソースオーケストレータ（例えばアプリケーションコントローラ２００）に関係付けられてもよい。
【００８０】
（３）制御手順
上記制御手順は、上述したように上記第１の制御と上記第２の制御とを含む。
−第１の制御
上記第１の制御は、上述したように、上記第１の状態変化及び上記第２の状態変化をもたらす制御である。上記第１の制御が例えば拠点に仮想マシンを追加することである場合、上記第１の状態変化は、上記拠点に近いユーザ端末のＴＡＴが減少することと捉えることができる。また、上記第２の状態変化は、上記拠点での消費電力が増加することと捉えることができる。
【００８１】
−第２の制御
上記第２の制御は、上述したように上記第２の状態変化に対応する制御であって、具体的には上記第１の制御によってもたらされる上記第２の状態変化に対して逆方向の状態変化をもたらす制御である。
【００８２】
例えば、上記第２の状態変化が、上記拠点の消費電力が増加することである場合には、上記第２の状態変化に対して逆方向の状態変化は、上記拠点の消費電力が減少することである。すなわち、上記第２の状態変化に対して逆方向の状態変化をもたらす第２の制御は、上記拠点の仮想マシンを削除することと捉えることができる。
【００８３】
また、上記第２の制御は、上記第１の制御によってもたらされる上記第２の状態変化が許容条件を満たすように抑制する制御であってもよい。ここで、上記許容条件は、例えば上記システムにおける上記状態変化について規定される許容範囲であって、具体的にはシステム全体での消費電力の下限値及び上限値などである。また、上記許容条件を示す情報は、例えばオペレータの操作入力によって管理装置１００に入力されることにより、情報取得部１３１により取得される。
【００８４】
また、上記第２の制御は、上記第１の制御によってもたらされる上記第２の状態変化を相殺する制御であってもよい。例えば、上記第２の制御は、上記第１の制御によってもたらされる消費電力の増加量を相殺するような制御、具体的には仮想マシンの削除を行う制御であってもよい。
【００８５】
−制御の順番
上記第１の制御と第２の制御は、任意の順番で行われてもよい。とりわけ、上記制御手順は、上記第２の制御が行われた後に、上記第１の制御を行う制御手順である。このような順番で制御が行われることで、例えば後述する第１の生成例、及び第２の生成例のように、上記第２の状態変化の影響によって上記許容条件を充足できない事態を防止することができる。
【００８６】
（４）制御手順の生成過程
具体的に、手順生成部１３３は、上記システムにおける複数の制御の中から、上記関係情報に基づいて上記第１の制御と上記第２の制御とを選択することにより、上記制御手順を生成する。
【００８７】
（４−１）第１の生成例
第１の生成例として、上記リソースオーケストレータに関する制御コンテキストに基づいて上記制御手順が生成される例について説明する。図１０は、第１の生成例について説明するための説明図である。また、図１１は、第１の生成例の処理の流れを説明するためのフローチャートである。
【００８８】
図１１に示す処理の前提として、まず、ユーザ端末１０ａのサービス体感品質を改善するため、上記第１の状態変化が、ユーザ端末１０ａに関するＴＡＴを減少することであるものとする。また、初期状態として、図１０の実線で示すように、ユーザ端末１０ａは、第１の拠点２１０に存在する仮想マシン２１５と通信しているものとする。さらに、図１０に示すように、ユーザ端末１０ａは、第１の拠点２１０に存在する仮想マシン２１５に比べて、第２の拠点２２０に存在し得る仮想マシン２２５の方が、通信時間が短い、言い換えれば近い位置にいるものとする。
【００８９】
なお、図１０に示す例では、ユーザ端末１０ａ以外にも他のユーザ端末がシステム１内に存在し、それぞれに論理的に独立したスライスが提供されているものとする。すなわち、第１の拠点２１０及び第２の拠点２２０のそれぞれは、物理的に任意のユーザ端末によって共用可能であるものとする。
【００９０】
ステップＳ１１０１において、手順生成部１３３は、例えば記憶部１２０に記憶されている制御コンテキストの中から、ユーザ端末１０ａに関するＴＡＴの削減（第１の状態変化）をもたらすことが可能な制御を検索し、第２の拠点２２０に仮想マシン２２５を追加する制御（第１の制御）を選択する。
【００９１】
次に、ステップＳ１１０３において、手順生成部１３３は、上記許容条件を満たすか否かを確認し、上記第１の制御によりもたらされる状態変化が上記許容条件を満たす場合（ステップＳ１１０３：Ｙｅｓ）には図１１に示す処理を終了する。一方、手順生成部１３３は、上記許容条件を満たさない場合（ステップＳ１１０３：Ｎｏ）にはステップＳ１１０５に進む。
【００９２】
具体的に、ステップＳ１１０３において、手順生成部１３３は、第２の拠点２２０に仮想マシン２５０を追加するための許容条件を確認する。すなわち、手順生成部１３３は、第２の拠点２２０に近いユーザ端末１０ａに関するＴＡＴが減少すること以外の状態変化（第２の状態変化）が、上記許容条件を満たすかどうかを確認する。
【００９３】
図７及び図８に示す例に当てはめると、第２の拠点２２０に仮想マシン２２５を追加する場合、制御コンテキストとして管理されている状態変化（副作用）は、第２の拠点２２０の仮想マシンの数が1つ増加すること、第２の拠点２２０の消費電力が増加すること、第２の拠点２２０の空きリソースが減少すること、の３つがある。
【００９４】
ここで、第２の拠点２２０に仮想マシン２２５を追加するだけの十分な空きリソースがない場合には、第２の拠点２２０に仮想マシン２２５を追加する制御（第１の制御）を実行することができない。つまり、上記許容条件を満たさない場合（ステップＳ１１０３：Ｎｏ）に該当し、ステップＳ１１０５に進むことになる。
【００９５】
ステップＳ１１０５において、手順生成部１３３は、例えば記憶部１２０に記憶されている制御コンテキストの中から、第２の拠点２２０の空きリソースを増やす制御（第２の制御）を検索する。この検索により、図７及び図８に示した例に当てはめると、手順生成部１３３は、第２の拠点２２０に存在する仮想マシン（仮想マシン２２５以外の他の仮想マシン）を削除すれば、第２の拠点２２０の空きリソースが増加することを確認できる。
【００９６】
そこで、手順生成部１３３は、第２の拠点２２０で稼動している仮想マシンの中から、ユーザ端末１０ａとは関係なく、かつ削除しても、その削除によりもたされる副作用（第２の状態変化）の影響が上記許容条件を満たす仮想マシンを探す。そして、上記許容条件を満たす仮想マシンが発見された場合、手順生成部１３３は、当該仮想マシンを第２の拠点から削除する制御を、上記第２の制御として選択する。そして、手順生成部１３３は、ユーザ端末１０ａのための仮想マシン２２５を第２の拠点２２０に追加する制御を、上記第１の制御として選択する。
【００９７】
−第３の制御
なお、図１１に示すステップＳ１１０５の後に、更に許容条件を満たすかどうかを判断する処理と、第３の制御の探索及び選択に関する処理とを行うようにしてもよい。具体的に、第１の生成例では、次の例に示すように、上記許容条件の内容に応じて制御コンテキストの再帰的な制御の探索を行うことにより、上記第１の制御及び上記第２の制御以外の他の制御（第３の制御）を、制御手順に含めてもよい。
【００９８】
例えば上記許容条件の一つの例として、同一のユーザ端末のための仮想マシンが１つしか存在できないという運用ポリシがあることを仮定する。すなわち、第１の拠点２１０に存在するユーザ端末１０ａ向けの仮想マシンの数をｎ１とし、第２の拠点２２０に存在するユーザ端末１０ａ向けの仮想マシンの数をｎ２とした場合、上記許容条件は、ｎ１＋ｎ２＜＝１となる。この場合、手順生成部１３３は、第１の拠点２１０の仮想マシン２１５を削除する制御（第３の制御）を選択する。そして、手順生成部１３３は、第２の拠点２２０にユーザ端末１０ａ向けの仮想マシン２２５を追加する制御（第１の制御）の前に、第１の拠点２１０の仮想マシン２１５を削除する制御（第３の制御）を行う制御手順、すなわち合計３段階の制御を含む制御手順を生成する。
【００９９】
また、例えば上記許容条件の他の例として、上記同一のユーザ端末のための仮想マシンを１つ以上で最低限の台数のみ稼働させるという運用ポリシがあることを仮定する。すなわち、第１の拠点２１０に存在するユーザ端末１０ａ向けの仮想マシンの数をｎ１とし、第２の拠点２２０に存在するユーザ端末１０ａ向けの仮想マシンの数をｎ２とした場合、上記許容条件は、ｎ１＋ｎ２＞＝１かつｍｉｎ｛ｎ１＋ｎ２｝となる。この場合、手順生成部１３３は、第１の拠点２１０のユーザ端末１０ａ向け仮想マシン２１５を削除する制御（第３の制御）を選択する。そして、手順生成部１３３は、第２の拠点２２０に仮想マシン２２５を追加する制御（第１の制御）の後に、第１の拠点２１０のユーザ端末１０ａ向け仮想マシン２１５を削除する制御（第３の制御）を行う制御手順、すなわち合計３段階の制御を含む制御手順を生成する。
【０１００】
−制御手順の生成不可の場合の処理
手順生成部１３３は、上述した制御コンテキストの再帰的な制御の探索を行う中で、上記第１の制御によりもたらされる第２の状態変化（副作用）による影響が上記許容条件を満たすことができない、言い換えれば当該影響を解消できる制御（例えば、第２の制御、第３の制御など）が見つからない場合、その探索を打ち切って、実行可能な制御手順が見出せないことをオペレータへ通知してもよい。例えば上記第１の生成例に当てはめてみると、例えば、第２の拠点２２０で稼動している他のユーザ端末のための仮想マシンをいずれも削除できない場合には、探索が打ち切られることになる。
【０１０１】
（４−２）第２の生成例
第２の生成例として、上記リソースオーケストレータに関する制御コンテキストと、上記サービスオーケストレータに関する制御コンテキストとの両方に基づいて上記制御手順が生成される例について説明する。図１２は、第２の生成例について説明するための説明図である。また、図１３は、第２の生成例の処理の流れを説明するためのフローチャートである。
【０１０２】
図１３に示す処理の前提として、まず、ユーザ端末１０ａのサービス体感品質を改善するため、上記第１の状態変化が、ユーザ端末１０ａに関するＴＡＴを減少することであるものとする。また、図１２の実線で示すように、ユーザ端末１０ａは、第１の拠点２１０に存在する仮想マシン２１５と通信しているものとする。さらに、図１２に示すように、ユーザ端末１０ａは、第１の拠点２１０に存在する仮想マシン２１５に比べて、第２の拠点に存在し得る仮想マシン２２５の方が、通信時間が短い、言い換えれば近い位置にいるものとする。
【０１０３】
また、図１２に示すように、第２の拠点２２０には、２つの仮想マシンが稼働しているものとする。すなわち、第２の拠点２２０には、ユーザ端末１０ｂ向けの仮想マシン２２１（仮想マシンＶＭｉともいう。）、及び仮想マシン２２３（仮想マシンＶＭｊともいう。）が使用され、仮想マシンＶＭｉにはタスクｐが存在し、ＶＭｊにはタスクｑが存在するものとする。
【０１０４】
第２の生成例では、手順生成部１３３は、例えば次のような許容条件の下、ユーザ端末１０ａに関するＴＡＴを減少する制御手順を生成するものとする。
【０１０５】
すなわち、上記許容条件は、ｎ１＋ｎ２＝１、ｎ３＞＝１、ｔｉｐ＋ｔｉｑ＝１、ｔｊｐ＋ｔｊｑ＝１、及び第２の拠点の消費電力の最小化とする。ただし、ｎ３は、ユーザ端末１０ｂ向けの第２の拠点２２０における仮想マシンの台数、ｔｉｐ，ｔｊｑは、仮想マシンＶＭｉにおけるタスクｐおよびｑのインスタンス数である。また、ｔｊｐ，ｔｊｑは、仮想マシンＶＭｊにおけるタスクｐおよびｑのインスタンス数である。
【０１０６】
−第１の制御の選択
ステップＳ１３０１において、手順生成部１３３は、まず、ユーザ端末１０ａに関するＴＡＴを短縮するため、例えば図７に示したような上記リソースオーケストレータに関する制御コンテキストを参照して、第２の拠点２２０にユーザ端末１０ａ向けの仮想マシンを追加する制御と、第１の拠点２１０から第２の拠点２２０に仮想マシンを移動する制御との２つの選択肢を特定する。ここで、手順生成部１３３は、上述したようにｎ１＋ｎ２＝１であることに基づき、ユーザ端末１０ａ向けの仮想マシンが1台も存在しない状態が許されないことを確認する。このため、手順生成部１３３は、後者の選択肢、すなわち、第１の拠点２１０から第２の拠点２２０に仮想マシンを移動する制御を、上記第１の制御として選択する。
【０１０７】
次に、ステップＳ１１０３において、手順生成部１３３は、上記許容条件を満たすか否かを確認し、上記第１の制御によりもたらされる状態変化が上記許容条件を満たす場合（ステップＳ１３０３：Ｙｅｓ）には図１３に示す処理を終了する。一方、手順生成部１３３は、上記許容条件を満たさない場合（ステップＳ１３０３：Ｎｏ）にはステップＳ１３０５に進む。
【０１０８】
具体的に、ステップＳ１３０３において、手順生成部１３３は、例えば次のようにベクトル形式で状態変化を捉え、上記許容条件を満たすかどうかを確認する。
【０１０９】
まず、システム１における状態は、ベクトル（ｎ１，ｎ２，ｎ３，ｃ２，ｔｉｐ，ｔｉｑ，ｔｊｐ，ｔｊｑ）で表現することができる。ただし、ｃ２は、第２の拠点２２０の空きリソース量を仮想マシン単位で正規化したものとする。なお、ベクトルの要素はこれら以外の要素を含んでもよい。
【０１１０】
このようなベクトル表現を用いると、図１２に示すようなシステム１の初期状態に対応する初期状態ベクトルは、（１，０，２，０，１，０，０，１）となる。また、上記第１の制御に対応する状態変化ベクトルは、（−１，＋１，０，−１，０，０，０，０）となる。
【０１１１】
手順生成部１３３は、上記初期状態から上記第１の制御を直接適用することを仮定して、上記初期状態ベクトルに上記第１の制御に対応する状態変化ベクトルを加算し、状態ベクトル（０，１，２，−１，１，０，０，１）を得る。ここで、手順生成部１３３は、状態ベクトル（０，１，２，−１，１，０，０，１）に基づき、空きリソース量が負の値という現実では不可能な状況（ｃ２＝−１）を確認することで、第２の制御の探索を行うことを決定する。つまり、上記許容条件を満たさない場合（ステップＳ１３０３：Ｎｏ）に該当し、ステップＳ１３０５に進むことになる。
【０１１２】
−第２の制御の選択
ステップＳ１３０５において、手順生成部１３３は、空きリソース量が負の値になるのを回避するため、制御コンテキストを参照して、状態変化ベクトル（＊，＊，＊，＋１，＊，＊，＊，＊）をもたらす制御（第２の制御）を探索する。ただし、＊は任意の値を意味する。このような探索により、手順生成部１３３は、第２の制御として、第２の拠点２２０に存在する仮想マシンＶＭｉ、ＶＭｊを削除する制御を特定する。
【０１１３】
ここで、第２の拠点２２０に存在する仮想マシンＶＭｉ、ＶＭｊは、ユーザ端末１０ｂ向けに使用されている。このため、手順生成部１３３は、ユーザ端末１０ｂ向けの仮想マシンＶＭｉ又は仮想マシンＶＭｊが削除可能であるかを判断する。当該判断により、例えば、仮想マシンＶＭｉを削除する制御が第２の制御として選択される。この場合、仮想マシンＶＭｉを削除する制御（第２の制御）に対応する状態変化ベクトルは、（０，０，−１，＋１，−１，０，０，０）となる。
【０１１４】
次に、ステップＳ１３０７において、手順生成部１３３は、上記許容条件を満たすか否かを確認し、上記第２の制御によりもたらされる状態変化が上記許容条件を満たす場合（ステップＳ１３０７：Ｙｅｓ）には図１３に示す処理を終了する。一方、手順生成部１３３は、上記許容条件を満たさない場合（ステップＳ１３０７：Ｎｏ）にはステップＳ１３０９に進む。
【０１１５】
具体的に、ステップＳ１３０７では、手順生成部１３３は、上記初期状態から上記第２の制御を適用することを仮定して、上記初期状態ベクトルに上記第２の制御に対応する状態変化ベクトルを加算し、状態ベクトル（１，０，１，１，０，０，０，１）を得る。ここで、手順生成部１３３は、状態ベクトル（１，０，１，１，０，０，０，１）に基づき、ｎ３＝１を満たす一方ｔｉ＝０のため上記許容条件を満たさないことを確認することで、第３の制御の探索を行うことを決定する。つまり、上記許容条件を満たさない場合（ステップＳ１３０７：Ｎｏ）に該当し、ステップＳ１３０９に進むことになる。
【０１１６】
−第３の制御の選択
ステップＳ１３０９において、手順生成部１３３は、ｔｉ＝０を回避するため、制御コンテキストを参照して、状態変化ベクトル（＊，＊，＊，＊，＋１，＊，＊，＊）又は状態変化ベクトル（＊，＊，＊，＊，−１，＋１，＊，＊）をもたらす制御（第３の制御）を探索する。ここで、前者の状態変化ベクトル（＊，＊，＊，＊，＋１，＊，＊，＊）をもたらす制御は、上記サービスオーケストレータによるタスクの追加である。また、後者の状態変化ベクトル（＊，＊，＊，＊，−１，＋１，＊，＊）をもたらす制御は、上記サービスオーケストレータによるタスクの移動である。
【０１１７】
手順生成部１３３は、例えば第２の拠点の消費電力の最小化の観点から、後者の状態変化ベクトル（＊，＊，＊，＊，−１，＋１，＊，＊）をもたらす制御を、上記第３の制御として選択する。
【０１１８】
そして、手順生成部１３３は、上記初期状態から上記第３の制御を適用することを仮定して、上記初期状態ベクトルに上記第３の制御に対応する状態変化ベクトルを加算し、状態ベクトル（１，０，２，０，０，１，０，１）を得る。ここで、手順生成部１３３は、状態ベクトル（１，０，２，０，０，１，０，１）が上記許容条件を満たすことを確認することができる。
【０１１９】
−まとめ
以上のような制御の選択により、手順生成部１３３は、上記第３の制御、上記第２の制御、上記第１の制御の順番で合計３工程の制御を行う制御手順を生成することで、例えば、第２の拠点で稼動している他のユーザ端末のための仮想マシンを削除することなく、ユーザのサービス体感品質を改善することができる。
【０１２０】
すなわち、上記制御手順に従った処理では、ベクトル（ｎ１，ｎ２，ｎ３，ｃ２，ｔｉｐ，ｔｉｑ，ｔｊｐ，ｔｊｑ）は、（１，０，２，０，１，０，０，１）から上記第３の制御により（１，０，２，０，０，１，０，１）に状態遷移し、上記第２の制御により（１，０，１，１，０，１，０，１）に状態遷移し、上記第１の制御により最終的に状態ベクトル（０，１，１，０，０，１，０，１）となる。すなわち、上記制御手順に従った処理では、上記許容条件に違反することなく、仮想マシンの移動を完了することが可能になる。
【０１２１】
（４−３）再帰的探索を用いた生成例
例えば、上述した第１の生成例、及び第２の生成例などは、例えば図１４に示すような再帰的探索処理を実装することで、制御手順を生成してもよい。
【０１２２】
図１４は、再帰的探索により制御手順を生成する処理の流れを説明するためのフローチャートである。
【０１２３】
まず、ステップＳ１４０１において、手順生成部１３３は、システムの状態変化（上記第１の状態変化及び上記第２の状態変化など）及び上記許容条件などに基づいて、制御の探索条件を設定する。
【０１２４】
ステップＳ１４０３において、手順生成部１３３は、上記探索条件に基づいて制御の探索および選択を行う。
【０１２５】
ステップＳ１４０５において、手順生成部１３３は、直前のステップＳ１４０３で選択した制御によりもたらされる状態変化が上記許容条件を満たすか否かを判断する。そして上記許容条件を満たす場合（Ｓ１４０５：Ｙｅｓ）には図１４に示す処理を終了し、上記許容条件を満たさない場合（Ｓ１４０５：Ｎｏ）にはステップＳ１４０１に戻って再帰的な探索処理を行う。
【０１２６】
上記図１４に示す処理によれば、例えば、処理を開始してからどのような制御を探索および選択していたかをスタックによって記憶しながら、許容条件を満たすようになるまで繰り返すことができる。
【０１２７】
また、上述した図１１および図１３に示す処理では、それぞれ２段階および３段階までの制御手順しか探索できない。これに対して、上記図１４に示す処理では、上記許容条件を満たすまで必要な回数だけ、制御の探索および選択が繰り返されるため、汎用性が高い。また、上記図１４に示す処理では、処理の途中で上記許容条件を満たす制御手順が見つからなかったときに制御の探索条件の設定変更を行うなどバックトラックを行うことにより、処理の途中で別の制御手順を探索することもできる。
【０１２８】
＜＜５．第２の実施形態＞＞
続いて、図１５を参照して、本発明の第２の実施形態を説明する。上述した第１の実施形態は、具体的な実施形態であるが、第２の実施形態は、より一般化された実施形態である。
【０１２９】
＜５．１．管理装置の構成＞
まず、図１５を参照して、第２の実施形態に係る管理装置１００の構成の例を説明する。図１５は、第２の実施形態に係る管理装置１００の概略的な構成の例を示すブロック図である。図１５を参照すると、管理装置１００は、情報取得部１４１、及び手順生成部１４３を備える。情報取得部１４１、及び手順生成部１４３の具体的な動作は、後に説明する。
【０１３０】
情報取得部１４１、及び手順生成部１４３は、同一のプロセッサにより実装されてもよく、別々に異なるプロセッサにより実装されてもよい。管理装置１００は、プログラム（命令）を記憶するメモリと、当該プログラム（命令）を実行可能な１つ以上のプロセッサとを含んでもよく、当該１つ以上のプロセッサは、情報取得部１４１、及び手順生成部１４３の動作を行ってもよい。上記プログラムは、情報取得部１４１、及び手順生成部１４３の動作をプロセッサに実行させるためのプログラムであってもよい。
【０１３１】
＜５．２．技術的特徴＞
次に、第２の実施形態の技術的特徴を説明する。
【０１３２】
第２の実施形態では、管理装置１００（情報取得部１４１）は、通信ネットワークを介したサービスのためのシステムにおいて要求される第１の状態変化を示す状態変化情報を取得する。そして、管理装置１００（手順生成部１４３）は、上記システムにおける状態変化と上記システムにおける制御との関係性を表す関係情報に基づいて、上記第１の状態変化をもたらす制御手順を生成する。上記制御手順は、第１の制御と第２の制御とを含み、上記第１の制御は、上記第１の状態変化及び第２の状態変化をもたらす制御であり、上記第２の制御は、上記第２の状態変化に対応する制御である。
【０１３３】
これにより、例えば、通信ネットワークを介したサービスのためのシステムにおいて、新たに要求する状態変化をもたらす制御手順を容易に生成することが可能になる。
【０１３４】
一例として、上記状態変化情報、上記関係情報、及び／又は制御手順についての説明は、第１の実施形態における説明と同じである。よって、ここでは重複説明を省略する。なお、この場合には、情報取得部１４１は、第１の実施形態の情報取得部１３１と同様に動作してもよく、手順生成部１４３は、第１の実施形態の手順生成部１３３と同様に動作してもよい。
【０１３５】
＜＜６．他の実施形態＞＞
以上、本発明の実施形態を説明したが、本発明はこれらの実施形態に限定されるものではない。これらの実施形態は例示にすぎないということ、及び、本発明のスコープ及び精神から逸脱することなく様々な変形が可能であるということは、当業者に理解されるであろう。
【０１３６】
また、本明細書において説明した管理装置の構成要素（例えば、情報取得部、手順生成部、及び／又は制御部）を備える装置（例えば、管理装置を構成する複数の装置（又はユニット）のうちの１つ以上の装置（又はユニット）、又は上記複数の装置（又はユニット）のうちの１つのためのモジュール）が提供されてもよい。また、上記構成要素の処理を含む方法が提供されてもよく、上記構成要素の処理をプロセッサに実行させるためのプログラムが提供されてもよい。また、当該プログラムを記録したコンピュータに読み取り可能な非一時的記録媒体（Non-transitory  computer  readable  medium）が提供されてもよい。当然ながら、このような装置、モジュール、方法、プログラム、及びコンピュータに読み取り可能な非一時的記録媒体も本発明に含まれる。例えば、図１６は、上記プログラムがインストールされるハードウェア資源の概略図である。つまり、上記プログラムが、図１５に示すようなＣＰＵ５１０、メモリ５２０、及び入出力インタフェース５３０を含むハードウェア５００にインストールされることにより、管理装置の構成要素（例えば、情報取得部、手順生成部、及び／又は制御部）が実現される。
【０１３７】
上記実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【０１３８】
（付記１）
通信ネットワークを介したサービスのためのシステムにおいて要求される第１の状態変化を示す状態変化情報を取得する情報取得部と、
前記システムにおける状態変化と前記システムにおける制御との関係性を表す関係情報に基づいて、前記第１の状態変化をもたらす制御手順を生成する手順生成部と、を備え、
前記制御手順は、第１の制御と第２の制御とを含み、
前記第１の制御は、前記第１の状態変化及び第２の状態変化をもたらす制御であり、
前記第２の制御は、前記第２の状態変化に対応する制御である、管理装置。
【０１３９】
（付記２）
前記第２の制御は、前記第１の制御によってもたらされる前記第２の状態変化に対して逆方向の状態変化をもたらす制御である、付記１記載の管理装置。
【０１４０】
（付記３）
前記情報取得部は、前記システムにおける前記状態変化について規定される許容条件を示す状態許容条件情報を取得し、
前記第２の制御は、前記第１の制御によってもたらされる前記第２の状態変化が前記許容条件を満たすように抑制する制御である、付記２記載の管理装置。
【０１４１】
（付記４）
前記第２の制御は、前記第１の制御によってもたらされる前記第２の状態変化を相殺する制御である、付記２又は３記載の管理装置。
【０１４２】
（付記５）
前記制御手順は、前記第２の制御が行われた後に、前記第１の制御を行う制御手順である、付記１乃至４のうち何れか１項記載の管理装置。
【０１４３】
（付記６）
前記手順生成部は、前記システムにおける複数の制御の中から、前記関係情報に基づいて前記第１の制御と前記第２の制御とを選択することにより、前記制御手順を生成する、付記１乃至５のうち何れか１項記載の管理装置。
【０１４４】
（付記７）
前記システムにおける前記状態変化は、前記サービスを提供するための拠点に関する状態変化を含む、付記１乃至６のうち何れか１項記載の管理装置。
【０１４５】
（付記８）
前記サービスを提供するための前記拠点に関する前記状態変化は、前記拠点で稼働する仮想マシンの数の変化を含む、付記７記載の管理装置。
【０１４６】
（付記９）
前記サービスを提供するための前記拠点に関する前記状態変化は、前記拠点における処理時間に関する変化を含む、付記７又は８記載の管理装置。
【０１４７】
（付記１０）
前記拠点における前記処理時間に関する前記変化は、前記拠点と前記サービスが提供される端末との間のターンアラウンドタイムの変化である、付記９記載の管理装置。
【０１４８】
（付記１１）
前記サービスを提供するための前記拠点に関する前記状態変化は、前記拠点の消費電力の変化を含む、付記７乃至１０のうち何れか１項記載の管理装置。
【０１４９】
（付記１２）
前記サービスを提供するための前記拠点に関する前記状態変化は、前記拠点の空きリソースの変化を含む、付記７乃至１１のうち何れか１項記載の管理装置。
【０１５０】
（付記１３）
前記システムにおける前記制御は、前記サービスを提供するための拠点に関する制御を含む、付記１乃至１２のうち何れか１項記載の管理装置。
【０１５１】
（付記１４）
前記サービスを提供するための前記拠点に関する前記制御は、前記拠点にリソースを追加する制御を含む、付記１３記載の管理装置。
【０１５２】
（付記１５）
前記サービスを提供するための前記拠点に関する前記制御は、前記拠点からリソースを削除する制御を含む、付記１３又は１４記載の管理装置。
【０１５３】
（付記１６）
前記サービスを提供するための前記拠点に関する前記制御は、第１の拠点から第２の拠点へのリソースの移動を行う制御を含む、請求項１３乃至１５のうち何れか１項記載の管理装置。
【０１５４】
（付記１７）
前記システムにおける前記状態変化は、前記サービスを提供するための仮想マシンに関する状態変化を含む、付記１乃至１６のうち何れか１項記載の管理装置。
【０１５５】
（付記１８）
前記サービスを提供するための前記仮想マシンに関する前記状態変化は、前記仮想マシンによって実行されるタスクの数の変化を含む、付記１７記載の管理装置。
【０１５６】
（付記１９）
前記サービスを提供するための前記仮想マシンに関する前記状態変化は、前記仮想マシンによって実行されるタスクの処理時間に関する変化を含む、付記１７又は１８記載の管理装置。
【０１５７】
（付記２０）
前記仮想マシンによって実行される前記タスクの前記処理時間に関する変化は、前記仮想マシンと前記サービスが提供される端末との間のターンアラウンドタイムの変化である、付記１９記載の管理装置。
【０１５８】
（付記２１）
前記サービスを提供するための前記仮想マシンに関する前記状態変化は、前記仮想マシンの空きリソースの変化を含む、付記１７乃至２０のうちの何れか１項記載の管理装置。
【０１５９】
（付記２２）
前記サービスを提供するための前記仮想マシンに関する前記状態変化は、前記仮想マシンが存在する拠点の消費電力の変化を含む、付記１７乃至２０のうちの何れか１項記載の管理装置。
【０１６０】
（付記２３）
前記システムにおける前記制御は、前記サービスを提供するための仮想マシンに関する制御を含む、付記１乃至２２のうち何れか１項記載の管理装置。
【０１６１】
（付記２４）
前記サービスを提供するための前記仮想マシンに関する前記制御は、前記仮想マシンが行うタスクの追加を行う制御を含む、付記２３記載の管理装置。
【０１６２】
（付記２５）
前記サービスを提供するための前記仮想マシンに関する前記制御は、前記仮想マシンが行うタスクの削除を行う制御を含む、請求項２３又は２４記載の管理装置。
【０１６３】
（付記２６）
前記サービスを提供するための前記仮想マシンに関する前記制御は、第１の仮想マシンから第２の仮想マシンへのタスクの移動を行う制御を含む、付記２３乃至２５のうち何れか１項記載の管理装置。
【０１６４】
（付記２７）
通信ネットワークを介したサービスのためのシステムにおいて要求される第１の状態変化を示す状態変化情報を取得することと、
前記システムにおける状態変化と前記システムにおける制御との関係性を表す関係情報に基づいて、前記第１の状態変化をもたらす制御手順を生成することと、を含み、
前記制御手順は、第１の制御と第２の制御とを含み、
前記第１の制御は、前記第１の状態変化及び第２の状態変化をもたらす制御であり、
前記第２の制御は、前記第２の状態変化に対応する制御である、管理方法。
【０１６５】
（付記２８）
通信ネットワークを介したサービスのためのシステムにおいて要求される第１の状態変化を示す状態変化情報を取得することと、
前記システムにおける状態変化と前記システムにおける制御との関係性を表す関係情報に基づいて、前記第１の状態変化をもたらす制御手順を生成することと、をプロセッサに実行させるプログラムであり、
前記制御手順は、第１の制御と第２の制御とを含み、
前記第１の制御は、前記第１の状態変化及び第２の状態変化をもたらす制御であり、
前記第２の制御は、前記第２の状態変化に対応する制御である、プログラム。
【０１６６】
（付記２９）
通信ネットワークを介したサービスのためのシステムにおいて要求される第１の状態変化を示す状態変化情報を取得することと、
前記システムにおける状態変化と前記システムにおける制御との関係性を表す関係情報に基づいて、前記第１の状態変化をもたらす制御手順を生成することと、をプロセッサに実行させるプログラムを記録したコンピュータに読み取り可能な非一時的記録媒体であり、
前記制御手順は、第１の制御と第２の制御とを含み、
前記第１の制御は、前記第１の状態変化及び第２の状態変化をもたらす制御であり、
前記第２の制御は、前記第２の状態変化に対応する制御である、非一時的記録媒体。
【産業上の利用可能性】
【０１６７】
通信ネットワークを介したサービスのためのシステムにおいて、新たに要求する状態変化をもたらす制御手順を容易に生成することができる。
【符号の説明】
【０１６８】
１  システム
１００  管理装置
１３１、１４１  情報取得部
１３３、１４３  手順生成部
１３５  制御部
２００  アプリケーションコントローラ
３００  ネットワーク機能仮想化コントローラ
【図１】
2019106133.tif 000003
【図２】
2019106133.tif 000004
【図３】
2019106133.tif 000005
【図４】
2019106133.tif 000006
【図５】
2019106133.tif 000007
【図６】
2019106133.tif 000008
【図７】
2019106133.tif 000009
【図８】
2019106133.tif 000010
【図９】
2019106133.tif 000011
【図１０】
2019106133.tif 000012
【図１１】
2019106133.tif 000013
【図１２】
2019106133.tif 000014
【図１３】
2019106133.tif 000015
【図１４】
2019106133.tif 000016
【図１５】
2019106133.tif 000017
【図１６】
2019106133.tif 000018