(57)【要約】  制御対象毎に、該制御対象を制御するための制御解を算出する第１の算出部と、前記制御対象毎に、前記制御解の評価を算出する第２の算出部と、前記第２の算出部により算出された評価に基づいて、前記制御解を変更する解変更部と、前記解変更部により変更された制御解に基づいて、前記制御対象を制御する制御部と、を有する。
2018142700.tif 000002
【特許請求の範囲】
【請求項１】
制御対象毎に、該制御対象を制御するための制御解を算出する第１の算出部と、
前記制御対象毎に、前記制御解の評価を算出する第２の算出部と、
前記第２の算出部により算出された評価に基づいて、前記制御解を変更する解変更部と、
前記解変更部により変更された制御解に基づいて、前記制御対象を制御する制御部と、
を有することを特徴とする制御装置。
【請求項２】
前記第２の算出部は、
前記解変更部により変更された制御解の評価を算出し、
前記解変更部は、
前記第２の算出部により算出される前記評価に基づいて、制御解を繰り返し変更する、ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記解変更部は、
前記第２の算出部により算出された前記評価から総合評価を算出し、該総合評価に基づいて、制御解を変更する、ことを特徴とする請求項１又は２に記載の制御装置。
【請求項４】
前記解変更部は、
前記制御対象毎に、強化学習により制御解の変更を学習し、前記総合評価に基づき制御解を変更する１以上のエージェント部と、
強化学習により前記１以上のエージェント部のうちの一のエージェント部の選択を学習し、選択したエージェント部に学習を指示する指示エージェント部と、を有することを特徴とする請求項３に記載の制御装置。
【請求項５】
前記エージェント部は、
前記制御解を状態、前記制御解の変更を行動、前記総合評価を報酬とした強化学習により前記制御解の変更を学習し、
前記指示エージェント部は、
前記エージェント部の選択状態を状態、前記エージェント部の選択を行動、前記エージェント部の学習中に得られた最大の総合評価を報酬とした強化学習により前記１以上のエージェント部のうちの一のエージェント部の選択を学習する、ことを特徴とする請求項４に記載の制御装置。
【請求項６】
制御対象毎に、該制御対象を制御するための制御解を算出する第１の算出手順と、
前記制御対象毎に、前記制御解の評価を算出する第２の算出手順と、
前記第２の算出手順により算出された評価に基づいて、前記制御解を変更する解変更手順と、
前記解変更手順により変更された制御解に基づいて、前記制御対象を制御する制御手順と、
を有することを特徴とする制御方法。
【請求項７】
制御対象毎に、該制御対象を制御するための制御解を算出する第１の算出手段、
前記制御対象毎に、前記制御解の評価を算出する第２の算出手段、
前記第２の算出手段により算出された評価に基づいて、前記制御解を変更する解変更手段、
前記解変更手段により変更された制御解に基づいて、前記制御対象を制御する制御手段、
としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
多種多様な仮想リソース（ＶＲ：Virtual Resource）や仮想ネットワーク機能（ＶＮＦ：Virtual Network Function）を組み合わせて、様々な種別のネットワークサービスを提供することが可能なＮＦＶ（Network Functions Virtualization）と呼ばれる技術が知られている。【０００３】
ＶＲとしては、例えば、ＣＰＵ（Central Processing Unit）やＨＤＤ（Hard Disk Drive）、ＧＰＵ（Graphics Processing Unit）、ＦＰＧＡ（Field Programmable Gate Array）等を組み合わせたＶＭ（Virtual Machine）が挙げられる。また、ＶＮＦとしては、例えば、ＣＰＥ（Customer Premises Equipment）、ＦＷ（Firewall）、ＬＢ（Load Balancer）、ＤＰＩ（Deep Packet Inspection）、Ｐｒｏｘｙ、ＩＤＳ（Intrusion Detection System）、ＮＡＴ（Network Address Translation）等が挙げられる。【０００４】
ＮＦＶでは、「リソースオーケストレーション」及び「サービスオーケストレーション」と呼ばれる機能によりＶＲ及びＶＮＦの制御が行われている。リソースオーケストレーションとは、物理ネットワーク上にＶＲ及びＶＮＦを配置する機能のことである。サービスオーケストレーションとは、ＶＲやＶＮＦ間を繋ぐＥｎｄ−ｔｏ−Ｅｎｄの経路を算出する機能のことである。【０００５】
例えば、図１に示すように、ユーザ端末がＣＰＥ、ＦＷ、及びＬＢを介してＶＭに接続するサービスＡと、ユーザ端末がＤＰＩ及びＰｒｏｘｙを介して他のユーザ端末に接続するサービスＢと、ＶＭがＩＤＳ及びＦＷを介して他のＶＭに接続するサービスＣとの３種類のネットワークサービスをサービス提供者が提供するものとする。この場合、まず、図２のＳＴＥＰ１）に示すように、物理ネットワーク上の各サーバ装置にＶＲ及びＶＮＦを配置することでリソースオーケストレーションが行われる。次に、図２のＳＴＥＰ２）に示すように、物理ネットワーク上に配置されたＶＲ及びＶＮＦ間の経路を算出することでサービスオーケストレーションが行われる。【０００６】
しかしながら、多種多様なＶＲ及びＶＮＦが存在するため、リソースオーケストレーション及びサービスオーケストレーションを手動で行うことは困難である。そこで、ＮＦＶの制御を自動化するＮＦＶオーケストレータの実現が望まれている。【０００７】
ＮＦＶオーケストレータの実現に向けて、リソースオーケストレーション及びサービスオーケストレーションを行うアルゴリズムとして統合制御アルゴリズムが知られている（非特許文献１）。統合制御アルゴリズムでは、制御対象（経路、ＶＲ、ＶＮＦ等）の組み合わせで生じる全ての制約条件を考慮し、全ての制御目的（リンク利用率の最小化、サーバ利用率の平準化等）に応じた解を算出する必要がある。【０００８】
統合制御アルゴリズムに関する技術としては、「集中型統合制御」（非特許文献２、非特許文献３、非特許文献４）と、「分散型統合制御」（非特許文献５、非特許文献６）との２種類が提案されている。【０００９】
集中型統合制御とは、複数の制御対象を同時に考慮する数理モデルを構築して、同時最適化を目指す技術である。しかしながら、集中統合制御では、制御対象の追加や削除、変更等の度に制御アルゴリズムを再構築する必要があり、拡張性が低いことが知られている。【００１０】
これに対し、分散型統合制御では、制御アルゴリズムを実行する「制御エンジン」をモジュール化した上で、これらモジュールを組み合わせることで、拡張性の向上を図っている。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】R. Mijumbi et al., "Management and orchestration challenges in network functions virtualization," Communications Magazine, 54.1, pp.98-105, 2016.
【非特許文献２】J. W. Jiang et al., "Joint VM placement and routing for data center traffic engineering", INFOCOM, 2012.
【非特許文献３】M. Bouet, J. Leguay, and V. Conan, "Cost-based placement of virtualized deep packet inspection functions in sdn", Military Communications Conference (MILCOM), 2013.
【非特許文献４】M. Yoshida et al., "MORSA: A multi-objective resource scheduling algorithm for NFV infrastructure", Network Operations and Management Symposium (APNOMS), 2014.
【非特許文献５】K. Tsagkaris et al., "A survey of autonomic networking architectures: towards a Unified Management Framework", International Journal of Network Management, 23.6, pp.402-423, 2013.
【非特許文献６】K. Tsagkaris et al., "Customizable Autonomic Network Management: Integrating Autonomic Network Management and Software-Defined Networking", Vehicular Technology Magazine, pp.61-68, 2015.
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、分散型統合制御では、具体的な制御アルゴリズムが確立されておらず、各制御エンジンをそれぞれ独立に制御している。このため、分散型統合制御では、ある制御エンジンによる制御の結果が、他の制御エンジンの制御に影響を与え、解の精度が低下することがあった。このような影響は「制御の干渉」又は「解の干渉」とも称される。【００１３】
本発明は、上記の点に鑑みてなされたものであって、制御対象に対する拡張性が高く、かつ、高精度な制御解を算出することを目的とする。
【課題を解決するための手段】
【００１４】
そこで、上記課題を解決するため、制御装置は、制御対象毎に、該制御対象を制御するための制御解を算出する第１の算出部と、前記制御対象毎に、前記制御解の評価を算出する第２の算出部と、前記第２の算出部により算出された評価に基づいて、前記制御解を変更する解変更部と、前記解変更部により変更された制御解に基づいて、前記制御対象を制御する制御部と、を有する。
【発明の効果】
【００１５】
制御対象に対する拡張性が高く、かつ、高精度な制御解を算出することができる。
【図面の簡単な説明】
【００１６】
【図１】仮想ネットワーク上に構築されたネットワークサービスの一例を示す図である。
【図２】リソースオーケストレーション及びサービスオーケストレーションの一例を示す図である。
【図３】本発明の実施の形態における全体構成例を示す図である。
【図４】本発明の実施の形態におけるネットワーク制御装置のハードウェア構成例を示す図である。
【図５】本発明の実施の形態における統合制御エンジン部の機能構成例を示す図である。
【図６】一実施例における統合制御エンジン部の機能構成例を示す図である。
【図７】一実施例における統合制御エンジン部が実行する制御処理を示すフローチャートである。
【図８】一実施例における初期化処理を示すフローチャートである。
【図９】一実施例におけるエージェント部の学習処理を示すフローチャートである。
【図１０】統合制御エンジン部が実行する制御処理の評価例を示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００１８】
＜全体構成＞
まず、本発明の実施の形態における全体構成例について、図３を参照しながら説明する。図３は、本発明の実施の形態における全体構成例を示す図である。
【００１９】
図３に示すように、ネットワーク制御装置１００は、物理ネットワーク３００と接続される。物理ネットワーク３００は、サーバ装置１０と、転送装置２０と、ユーザ端末３０とが含まれるネットワーク環境である。
【００２０】
ネットワーク制御装置１００は、統合制御エンジン部２００を有する１以上のコンピュータである。ネットワーク制御装置１００は、統合制御エンジン部２００により、物理ネットワーク３００上のＮＦＶ環境を制御する。
【００２１】
すなわち、統合制御エンジン部２００は、物理ネットワーク３００上におけるＶＲ及びＶＮＦの最適な配置と、これらＶＲ及びＶＮＦ間を繋ぐＥｎｄ−ｔｏ−Ｅｎｄの最適な経路とを算出することで、ＮＦＶを制御する。このとき、統合制御エンジン部２００は、物理ネットワーク３００から受信したネットワーク観測情報（トラヒック情報やサーバ利用情報等）及びユーザ需要と、ネットワーク構成情報とに基づいて、ＶＲ及びＶＮＦの最適な配置と、最適な経路とを算出する。
【００２２】
なお、ネットワーク構成情報とは、物理ネットワーク３００のネットワークトポロジー情報や、リソースの制約条件（例えば、物理ネットワーク３００に含まれる各物理リソースの量（各サーバ装置１０のサーバ容量や各転送装置２０のリンク容量等））である。
また、トラヒック情報とは、物理ネットワーク３００に含まれるあるリンクのデータ量等である。サーバ利用情報とは、サーバ装置１０の物理リソース（例えばＣＰＵやメモリ等）の利用率等である。ユーザ需要とは、ＶＲ及びＶＮＦの需要情報（ユーザ端末３０毎に必要なＶＲ及びＶＮＦの量）、サービスの制約条件（ユーザ端末３０毎に経由する必要があるＶＲ及びＶＮＦ）等である。
【００２３】
ＮＶＦの制御は、統合制御エンジン部２００により算出された最適な配置及び最適な経路を示す解（制御解）に応じた設定命令を、各サーバ装置１０及び各転送装置２０に送信することで行われる。
【００２４】
サーバ装置１０は、ネットワーク制御装置１００により配置されるＶＲ及びＶＮＦを実現する１以上のコンピュータである。サーバ装置１０は、サーバ利用情報を取得して、取得したサーバ利用情報をネットワーク制御装置１００に送信する。また、サーバ装置１０は、ネットワーク制御装置１００により配置されたＶＲ及びＶＮＦに従ってトラヒックを処理し、トラヒックを発生させる。
【００２５】
転送装置２０は、トラヒックを転送するノードとして機能する機器である。転送装置２０は、トラヒック情報を取得して、取得したトラヒック情報をネットワーク制御装置１００に送信する。また、転送装置２０は、ネットワーク制御装置１００により算出された経路に従ってトラヒックを処理する。
【００２６】
ユーザ端末３０は、ユーザの通信行動（例えば、サービスの利用開始操作等）により発生したトラヒック需要を、他のユーザ端末３０やサーバ装置１０等に送信する１以上のコンピュータである。ユーザ端末３０は、ユーザ需要をネットワーク制御装置１００に送信する。
【００２７】
＜ネットワーク制御装置１００のハードウェア構成＞
次に、本発明の実施の形態におけるネットワーク制御装置１００のハードウェア構成例について、図４を参照しながら説明する。図４は、本発明の実施の形態におけるネットワーク制御装置１００のハードウェア構成例を示す図である。
【００２８】
図４に示すように、ネットワーク制御装置１００は、外部Ｉ／Ｆ１０１と、ＲＡＭ（Random Access Memory）１０２と、ＲＯＭ（Read Only Memory）１０３と、ＣＰＵ１０４と、通信Ｉ／Ｆ１０５と、ＨＤＤ１０６とを有する。これら各ハードウェアは、それぞれがバスＢを介して通信可能に接続されている。
【００２９】
外部Ｉ／Ｆ１０１は、外部装置とのインタフェースである。外部装置には、記録媒体１０１ａ等がある。ネットワーク制御装置１００は、外部Ｉ／Ｆ１０１を介して記録媒体１０１ａ等の読み取りや書き込みを行うことができる。
【００３０】
記録媒体１０１ａには、例えば、フレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（Secure Digital memory card）、ＵＳＢ（Universal Serial Bus）メモリカード等がある。
【００３１】
ＲＡＭ１０２は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＲＯＭ１０３は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ＲＯＭ１０３には、例えば、ＯＳ（Operating System）設定やネットワーク設定等が格納されている。
【００３２】
ＣＰＵ１０４は、ＲＯＭ１０３やＨＤＤ１０６等からプログラムやデータをＲＡＭ１０２上に読み出して処理を実行する演算装置である。通信Ｉ／Ｆ１０５は、ネットワーク制御装置１００を物理ネットワーク３００に接続するためのインタフェースである。
【００３３】
ＨＤＤ１０６は、プログラムやデータを格納している補助記憶装置である。ＨＤＤ１０６に格納されているプログラムやデータには、例えば、ＯＳ、当該ＯＳ上において各種機能を実現するアプリケーションソフトウェア、統合制御エンジン部２００を実現するプログラム等がある。なお、ネットワーク制御装置１００は、補助記憶装置として、例えば、ＳＳＤ（Solid State Drive）等を有していても良い。
【００３４】
なお、ネットワーク制御装置１００は、上記の各ハードウェアに加えて、例えば、ディスプレイ等の表示装置と、キーボードやマウス等の入力装置とを有していても良い。
【００３５】
本実施形態に係るネットワーク制御装置１００は、図４に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。
【００３６】
＜統合制御エンジン部２００の機能構成＞
次に、ネットワーク制御装置１００が有する統合制御エンジン部２００の機能構成例について、図５を参照しながら説明する。図５は、本発明の実施の形態における統合制御エンジン部２００の機能構成例を示す図である。
【００３７】
図５に示すように、統合制御エンジン部２００は、情報共有エンジン部４００と、経路制御エンジン部５００と、１以上のＶＲ配置制御エンジン部６００と、１以上のＶＮＦ配置制御エンジン部７００と、入力情報管理部８００とを有する。
【００３８】
なお、以降は、複数のＶＲ配置制御エンジン部６００のそれぞれを区別するときは、「ＶＲ配置制御エンジン部６００−１」、「ＶＲ配置制御エンジン部６００−２」等と表す。同様に、複数のＶＮＦ配置制御エンジン部７００のそれぞれを区別するときは、「ＶＮＦ配置制御エンジン部７００−１」、「ＶＮＦ配置制御エンジン部７００−２」等と表す。
【００３９】
また、経路制御エンジン部５００と、１以上のＶＲ配置制御エンジン部６００と、１以上のＶＮＦ配置制御エンジン部７００とをそれぞれ区別しないときは、「制御エンジン部９００」と表す。
【００４０】
入力情報管理部８００は、ネットワーク構成情報及びユーザ需要の入力を受け付けて、入力されたネットワーク構成情報及びユーザ需要を各制御エンジン部９００の制約条件に変換した上で、当該各制御エンジン部９００に出力する。
【００４１】
なお、ネットワーク構成情報は、例えば、物理ネットワーク３００を管理する通信事業者等によって予め作成される。また、ユーザ需要は、例えば、ユーザ端末３０のユーザの操作等に応じて作成及び入力される。
【００４２】
ＶＲ配置制御エンジン部６００は、制約条件と、ネットワーク観測情報とに基づいて、物理ネットワーク３００へのＶＲの配置を制御する。
【００４３】
統合制御エンジン部２００は、制御対象のＶＲ毎に、ＶＲ配置制御エンジン部６００を有する。例えば、統合制御エンジン部２００は、第１のＶＭの配置を制御するＶＲ配置制御エンジン部６００−１、第２のＶＭの配置を制御するＶＲ配置制御エンジン部６００−２等を有する。
【００４４】
ここで、ＶＲ配置制御エンジン部６００は、ＶＲ配置計算部６１０と、ＶＲ配置設定部６２０とを有する。ＶＲ配置計算部６１０は、制御対象の制御解と、当該制御解の評価とを算出する。ＶＲ配置設定部６２０は、情報共有エンジン部４００により出力された最適な制御解（すなわち、後述する最も総合評価が高い制御解）に応じた設定命令を、サーバ装置１０等に送信する。これにより、制御対象のＶＲが制御される。
【００４５】
ＶＮＦ配置制御エンジン部７００は、制約条件と、ネットワーク観測情報とに基づいて、物理ネットワーク３００へのＶＮＦの配置を制御する。
【００４６】
統合制御エンジン部２００は、制御対象のＶＮＦ毎に、ＶＮＦ配置制御エンジン部７００を有する。例えば、統合制御エンジン部２００は、ＩＤＳの配置を制御するＶＮＦ配置制御エンジン部７００−１と、ＦＷの配置を制御するＶＮＦ配置制御エンジン部７００−２等を有する。
【００４７】
ここで、ＶＮＦ配置制御エンジン部７００は、ＶＮＦ配置計算部７１０と、ＶＮＦ配置設定部７２０とを有する。ＶＮＦ配置計算部７１０は、制御対象の制御解と、当該制御解の評価とを算出する。ＶＮＦ配置設定部７２０は、情報共有エンジン部４００により出力された最適な制御解（すなわち、後述する最も総合評価が高い制御解）に応じた設定命令を、サーバ装置１０等に送信する。これにより、制御対象のＶＮＦが制御される。
【００４８】
経路制御エンジン部５００は、制約条件と、ネットワーク観測情報とに基づいて、ＶＲ及びＶＮＦ間を繋ぐＥｎｄ−ｔｏ−Ｅｎｄの経路を制御する。
【００４９】
ここで、経路制御エンジン部５００は、経路計算部５１０と、経路設定部５２０とを有する。経路計算部５１０は、制御対象の制御解と、当該制御解の評価とを算出する。経路設定部５２０は、情報共有エンジン部４００により出力された最適な制御解（すなわち、後述する最も総合評価が高い制御解）に応じた設定命令を、転送装置２０等に送信する。これにより、制御対象の経路が制御される。
【００５０】
ここで、制御解とは、制御対象（経路、ＶＲ、ＶＮＦ等）の物理リソースへの割当量や割当箇所（配置箇所）を示す情報である。また、制御解の評価とは、制御エンジン部９００の目的関数（例えば、リンク利用率の最小化や遅延の最小化、品質の最大化等）に解を入力することで算出される情報である。
【００５１】
ただし、制御解の評価は、目的関数だけなく、制約条件から算出することができても良い。例えば、制約条件を満たす場合は「＋１」、制約条件を満たさない場合は「−１」を出力する関数の関数値を制御解の評価としても良い。
【００５２】
なお、各制御エンジン部９００が実行する制御アルゴリズムには、例えば、制御ポリシ（品質の向上やリソース利用効率の向上等）、制約条件（サービス提供条件やリンク容量、サーバ容量等）が定義されている。
【００５３】
情報共有エンジン部４００は、最適な制御解を各制御エンジン部９００に出力する。すなわち、情報共有エンジン部４００は、各制御エンジン部９００から出力された制御解と評価とに基づいて当該制御解の総合評価を算出すると共に、当該総合評価に基づく制御解の変更を行う。そして、情報共有エンジン部４００は、最も総合評価が高い制御解（すなわち、最適な制御解）を当該各制御エンジン部９００に出力する。
【００５４】
なお、情報共有エンジン部４００が制約条件を満たさない場合は、各制御エンジン部９００の制御解の評価の最小値を総合評価としても良い。これにより、各制御エンジン部９００の全ての制約条件を満たすか否かの条件分岐を表すこともできる。
【００５５】
以上のように、統合制御エンジン部２００には、分散型統合制御と同様に、モジュール化された各制御エンジン部９００が含まれる。このため、制御対象が追加や削除、変更等（すなわち、ＶＲやＶＮＦの追加や削除、変更等）された場合であっても、モジュール化された制御エンジン部９００を追加や削除、変更等すれば良い。
【００５６】
また、統合制御エンジン部２００には、これら制御エンジン部９００間の情報共有を行う情報共有エンジン部４００が含まれる。これにより、「制御の干渉」を回避した高精度な制御解を算出することができる。
【００５７】
したがって、本発明における統合制御エンジン部２００は、制御対象に対する拡張性が高く、かつ、高い精度の制御解を算出することができる。また、高い拡張性により、制御対象を追加や削除、変更等する際に新たなアルゴリズムの構築が不要になり、ＯＰＥＸ（Operating Expense）の削減やネットワークサービス提供の迅速化等も図ることができる。更に、高精度の制御解の算出により、ネットワークサービス提供に必要な物理リソース量が削減され、ＣＡＰＥＸ（Capital Expenditure）の削減も図ることができる。
【００５８】
＜実施例＞
次に、本実施形態の一実施例について説明する。以降では、一例として、統合制御エンジン部２００の情報共有エンジン部４００が階層型強化学習の手法を用いて実現される場合について説明する。階層型強化学習の手法を用いることで、各制御エンジン部９００が最初に算出した制御解（初期解）の改善（すなわち、制御解の変更）を繰り返すことにより、最適な制御解を効率的に得ることができる。
【００５９】
（一実施例における統合制御エンジン部２００）
まず、一実施例における統合制御エンジン部２００の機能構成例について、図６を参照しながら説明する。図６は、一実施例における統合制御エンジン部２００の機能構成例を示す図である。
【００６０】
図６に示すように、統合制御エンジン部２００の情報共有エンジン部４００は、学習指示エージェント部４１０と、経路制御エージェント部４２０と、１以上のＶＲ制御エージェント部４３０と、１以上のＶＮＦ制御エージェント部４４０と、総合評価算出部４５０と、入出力変換部４６０とを有する。
【００６１】
なお、以降は、複数のＶＲ制御エージェント部４３０のそれぞれを区別するときは、「ＶＲ制御エージェント部４３０−１」、「ＶＲ制御エージェント部４３０−２」等と表す。同様に、複数のＶＮＦ制御エージェント部４４０のそれぞれを区別するときは、「ＶＮＦ制御エージェント部４４０−１」、「ＶＮＦ制御エージェント部４４０−２」等と表す。
【００６２】
ここで、経路制御エージェント部４２０と、ＶＲ制御エージェント部４３０と、ＶＮＦ制御エージェント部４４０とを、階層型強化学習における「エージェント」と定義する。したがって、経路制御エージェント部４２０と、ＶＲ制御エージェント部４３０と、ＶＮＦ制御エージェント部４４０とをそれぞれ区別しないときは、「エージェント部４７０」と表す。
【００６３】
総合評価算出部４５０は、各制御エンジン部９００により出力された評価から総合評価を算出する。
【００６４】
入出力変換部４６０は、各制御エンジン部９００が情報共有を行うための入出力形式の変換を行う。例えば、ＶＲ配置制御エンジン部６００の出力を経路制御エンジン部５００の入力に変換する場合、入出力変換部４６０は、例えばＶＭの配置情報を当該ＶＭが配置されているサーバ装置１０のサーバ利用情報に変換することで、ＶＭ間のトラヒック情報をサーバ装置１０間のトラヒック情報に変換する。なお、このような変換は、例えば、各制御エンジン部９００の組み合わせ（変換元の制御エンジン部９００と、変換先の制御エンジン部９００との組み合わせ）毎に予め定義される。
【００６５】
学習指示エージェント部４１０は、総合評価算出部４５０が算出した総合評価に基づいてエージェント部４７０の選択を学習する。ここで、各エージェント部４７０の選択状況を、階層型強化学習における「状態」と定義する。同様に、各エージェント部４７０の選択を「行動」、選択されたエージェント部４７０が学習中に獲得した最大総合評価を「報酬」と定義する。
【００６６】
エージェント部４７０（経路制御エージェント部４２０、ＶＲ制御エージェント部４３０、及びＶＮＦ制御エージェント部４４０）は、総合評価算出部４５０が算出した総合評価に基づいて各制御エンジン部９００の制御解の変更を学習する。ここで、制御エンジン部９００の制御解を、階層型強化学習における「状態」と定義する。同様に、各制御エンジン部９００の制御解の変更を「行動」と定義する。また、同様に、各制御エンジン部９００の目的関数を評価とし、全ての制御エンジン部９００の評価から総合評価算出部４５０により算出した総合評価を「報酬」とする。
【００６７】
情報共有エンジン部４００は、制御エンジン部９００毎に、エージェント部４７０を有する。例えば、経路制御エンジン部５００と、ＶＲ配置制御エンジン部６００−１〜６００−２と、ＶＮＦ配置制御エンジン部７００−１〜７００−３とが統合制御エンジン部２００に含まれるものとする。この場合、情報共有エンジン部４００は、経路制御エンジン部５００に対応する経路制御エージェント部４２０と、ＶＲ配置制御エンジン部６００−１〜６００−２にそれぞれ対応するＶＲ制御エージェント部４３０−１〜４３０−２と、ＶＮＦ配置制御エンジン部７００−１〜７００−３にそれぞれ対応するＶＮＦ制御エージェント部４４０−１〜４４０−３とを有する。
【００６８】
このように、情報共有エンジン部４００には、制御エンジン部９００毎のエージェント部４７０を有することで、制御エンジン部９００が追加や削除、変更等（すなわち、制御対象の追加や削除、変更等）された場合であっても、エージェント部４７０の追加や削除、変更等を行えば良い。したがって、情報共有エンジン部４００は、例えば各エージェント部４７０の学習アルゴリズムを変更等することなく、制御エンジン部９００の追加や削除、変更等が行うことができる。
【００６９】
（一実施例における統合制御エンジン部２００が実行する制御処理）
以降では、一例として、経路と、ＶＲの一例であるＶＭの配置と、ＶＮＦの一例であるＩＤＳの配置とを制御する場合について説明する。したがって、統合制御エンジン部２００には、経路制御エンジン部５００と、ＶＭの配置を制御するＶＲ配置制御エンジン部６００と、ＩＤＳの配置を制御するＶＮＦ配置制御エンジン部７００とが含まれるものとする。
【００７０】
ただし、ＶＲ配置制御エンジン部６００が配置を制御するＶＲはＶＭに限られない。同様に、ＶＮＦ配置制御エンジン部７００が配置を制御するＶＮＦはＩＤＳに限られない。ＶＮＦ配置制御エンジン部７００が配置を制御するＶＮＦは、例えば、ＣＰＥ、ＦＷ、ＬＢ、ＤＰＩ、Ｐｒｏｘｙ、ＮＡＴ等であっても良い。
【００７１】
また、説明を簡単にするため、以下の前提の下に一実施例における制御処理を説明するものとする。
・学習指示エージェント部４１０の学習指示の対象は、当該ＶＲ配置制御エンジン部６００に対応するＶＲ制御エージェント部４３０と、当該ＶＮＦ配置制御エンジン部７００に対応するＶＮＦ制御エージェント部４４０とであるものとする。
・ユーザ需要は、ＶＭ需要、ＶＭサイズ（例えば、必要なＣＰＵコア数やＨＤＤ容量等）、ＶＭ間のトラヒック需要、及びＩＤＳ需要（ＩＤＳが必要か否か）とする。
・経路制御エンジン部５００の目的関数は「最大リンク利用率の最小化」、制約条件は「リンク容量」とする。
・ＶＲ配置制御エンジン部６００及びＶＮＦ配置制御エンジン部７００の目的関数は「最大サーバ利用率の最小化」、制約条件は「サーバ容量」とする。
【００７２】
なお、上記の前提は一例であって、本実施例は上記の前提に限定されるものではない。例えば、経路制御エンジン部５００の目的関数としては、「平均リンク伝送遅延時間の最小化」等を用いても良く、制約条件としては、「リンクの伝送遅延時間」や「リンクの伝送品質」等が用いられても良い。また、例えば、ＶＲ配置制御エンジン部６００及びＶＮＦ配置制御エンジン部７００の目的関数として、「最大サーバ消費電力の最小化」等を用いても良く、制約条件としては、「サーバ装置１０が備えるＣＰＵの処理能力」や「サーバ装置１０が備えるＨＤＤ容量」等が用いられても良い。
【００７３】
一実施例における統合制御エンジン部２００が実行する制御処理（ＮＦＶの制御処理）について、図７を参照しながら説明する。図７は、一実施例における統合制御エンジン部２００が実行する制御処理を示すフローチャートである。なお、図７に示す制御処理は、例えば、所定の時間毎に実行される。ただし、例えば、入力情報管理部８００がユーザ需要の入力を受け付けたことを契機として実行されても良い。
【００７４】
図７に示す制御処理の説明の前に、当該制御処理で用いる各変数を定義する。まず、主に、統合制御エンジン部２００全体で用いる変数を以下の数１で定義する。
【００７５】
【数１】
2018142700.tif 000003
次に、主に、経路制御エンジン部５００で用いる各変数を以下の数２で定義する。
【００７６】
【数２】
2018142700.tif 000004
次に、主に、ＶＲ配置制御エンジン部６００及びＶＮＦ配置制御エンジン部７００で用いる各変数を以下の数３で定義する。
【００７７】
【数３】
2018142700.tif 000005
次に、主に、学習指示エージェント部４１０で用いる各変数を以下の数４で定義する。
【００７８】
【数４】
2018142700.tif 000006
次に、主に、ＶＲ制御エージェント部４３０で用いる各変数を以下の数５で定義する。
【００７９】
【数５】
2018142700.tif 000007
最後に、主に、ＶＮＦ制御エージェント部４４０で用いる各変数を以下の数６で定義する。
【００８０】
【数６】
2018142700.tif 000008
まず、各制御エンジン部９００（経路制御エンジン部５００、ＶＲ配置制御エンジン部６００、及びＶＮＦ配置制御エンジン部７００）は、初期化処理を行う（Ｓ１０１）。
【００８１】
ここで、各制御エンジン部９００の初期化処理について、図８を参照しながら説明する。図８は、一実施例における初期化処理を示すフローチャートである。
【００８２】
まず、ＶＲ配置制御エンジン部６００は、以下の数７に示す入力条件を入力する（Ｓ２０１）。なお、これらの入力条件には、入力情報管理部８００から入力される制約条件と、サーバ装置１０から入力されるネットワーク観測情報とが含まれる。
【００８３】
【数７】
2018142700.tif 000009
次に、ＶＲ配置制御エンジン部６００は、ＶＲ配置計算部６１０により、以下の数８に示す数理最適化問題を解くことで、初期解Ａｖｍを算出する（Ｓ２０２）。
【００８４】
【数８】
2018142700.tif 000010
次に、ＶＮＦ配置制御エンジン部７００は、以下の数９に示す入力条件を入力する（Ｓ２０３）。なお、これらの入力条件には、入力情報管理部８００から入力される制約条件と、サーバ装置１０から入力されるネットワーク観測情報とが含まれる。
【００８５】
【数９】
2018142700.tif 000011
次に、ＶＮＦ配置制御エンジン部７００は、ＶＮＦ配置計算部７１０により、以下の数１０に示す数理最適化問題を解くことで、初期解Ａｉｄｓを算出する（Ｓ２０４）。
【００８６】
【数１０】
2018142700.tif 000012
次に、経路制御エンジン部５００は、以下の数１１に示す入力条件を入力する（Ｓ２０５）。なお、これらの入力条件には、入力情報管理部８００から入力される制約条件と、転送装置２０から入力されるネットワーク観測情報とが含まれる。
【００８７】
【数１１】
2018142700.tif 000013
次に、入出力変換部４６０は、ＶＭ間のトラヒック需要Ｔｖｍを、サーバ装置１０間のトラヒック需要に変換する（Ｓ２０６）。変換されたトラヒック需要は、変数Ｔｓｅｒｖｅｒに代入される。
【００８８】
次に、経路制御エンジン部５００は、経路計算部５１０により、以下の数１２に示す数理最適化問題を解くことで、初期解ｘｉｊｐｑを算出する（Ｓ２０７）。
【００８９】
【数１２】
2018142700.tif 000014
以上のように、各制御エンジン部９００（経路制御エンジン部５００、ＶＲ配置制御エンジン部６００、及びＶＮＦ配置制御エンジン部７００）により初期解が算出される。
【００９０】
図７に戻る。Ｓ１０１に続いて、学習指示エージェント部４１０は、収益（すなわち、将来にわたって得られる総合評価の和）の期待値Ｑを０に初期化する（Ｓ１０２）。すなわち、学習指示エージェント部４１０は、以下の数１３に示す代入を行う。
【００９１】
【数１３】
2018142700.tif 000015
次に、学習指示エージェント部４１０は、各エージェント部４７０の集合Ａから一のエージェント部４７０をランダムに選択する（Ｓ１０３）。選択されたエージェント部４７０を以下の数１４に示す変数に代入する。すなわち、当該エージェント部４７０の選択状況を、ステップｔ＝０における学習指示エージェント部４１０の状態ｓｔｃａとする。
【００９２】
【数１４】
2018142700.tif 000016
次に、学習指示エージェント部４１０は、以降のＳ１０４〜Ｓ１１３をステップｔ＝０からステップｔ＝Ｔｃａまで、ｔを１ずつ増加させながら繰り返し実行する。
【００９３】
学習指示エージェント部４１０は、以下の数１５に示す処理及び代入を行って、学習させるエージェント部４７０を１つ選択する（Ｓ１０５）。すなわち、学習指示エージェント部４１０は、行動選択を行う。
【００９４】
【数１５】
2018142700.tif 000017
ここで、ε−ｇｒｅｅｄｙ（ｓｔｃａ）は、学習指示エージェント部４１０の戦略を意味し、εグリーディ法によりエージェント部４７０を１つ選択する。ε−ｇｒｅｅｄｙでは、学習指示エージェント部４１０は、例えば、εの確率でランダムに行動選択（すなわち、ランダムにエージェント部４７０を選択）し、１−εの確率でステップｔにおける期待値Ｑが最大となる行動選択を行う。
【００９５】
次に、学習指示エージェント部４１０は、以下の数１６に示す処理及び代入を行って、上記のＳ１０５で選択されたエージェント部４７０を学習指示の対象に変更する（Ｓ１０６）。すなわち、学習指示エージェント部４１０は、行動を行って、状態遷移させる。
【００９６】
【数１６】
2018142700.tif 000018
ここで、ａｃｔｉｏｎ（ａｔｃａ）は、学習指示エージェント部４１０の行動を意味する。すなわち、学習指示エージェント部４１０は、上記のＳ１０５で選択されたエージェント部４７０に学習指示の対象を切り替えて、状態ｓｔｃａを状態ｓｔ＋１ｃａに遷移させる。
【００９７】
次に、学習指示エージェント部４１０は、以下の数１７を示す処理を行って、上記のＳ１０６で学習指示の対象に変更されたエージェント部４７０に学習指示を行う（Ｓ１０７）。
【００９８】
【数１７】
2018142700.tif 000019
ここで、ａｇｅｎｔ＿ｌｅａｒｎｉｎｇ（ａ）は、各エージェント部４７０の集合Ａに含まれる「ａ」（上記のＳ１０５で選択され、上記のＳ１０６で学習指示の対象に変更されたエージェント部４７０）に学習指示を行うことを意味する。
【００９９】
次に、Ｓ１０７で学習が指示されたエージェント部４７０は、学習処理を行う（Ｓ１０８）。エージェント部４７０の学習処理では、最大総合評価（すなわち、学習指示エージェント部４１０の報酬）ｒｔ´と、当該最大総合評価ｒｔ´が得られた制御解とが出力される。エージェント部４７０の学習処理の詳細は後述する。
【０１００】
次に、学習指示エージェント部４１０は、エージェント部４７０の学習処理で出力された最大総合評価ｒｔ´を、以下の数１８に示す変数に代入する（Ｓ１０９）。これにより、学習指示エージェント部４１０は、報酬を獲得する。
【０１０１】
【数１８】
2018142700.tif 000020
次に、学習指示エージェント部４１０は、以下の数１９に示す計算及び代入を行って、収益の期待値Ｑを更新する（Ｓ１１０）。すなわち、学習指示エージェント部４１０は、状態、行動、及び報酬から収益の期待値を更新する。収益の期待値の更新は、学習指示エージェント部４１０の戦略の学習を意味する。
【０１０２】
【数１９】
2018142700.tif 000021
次に、学習指示エージェント部４１０は、ステップｔ＋１における状態（ｓｔ＋１ｃａ）が、終了状態となったか否かを判定する（Ｓ１１１）。終了状態とは、例えば、所定の精度の制御解が算出された場合等である。終了状態は、ステップ数が所定の回数を超えた場合等であっても良い。
【０１０３】
学習指示エージェント部４１０は、上記のＳ１１１で終了状態となったと判定された場合、ｔにＴｃａを代入する（Ｓ１１２）。これにより、学習指示エージェント部４１０は、Ｓ１０４〜Ｓ１１３の繰り返しを抜けて、後述するＳ１１４を行うことができる。
【０１０４】
学習指示エージェント部４１０は、各エージェント部４７０の学習処理でそれぞれ出力された制御解（すなわち、最大総合評価が得られた、最適な制御解）を、当該各エージェント部４７０に対応する各制御エンジン部９００にそれぞれ出力する（Ｓ１１４）。これにより、例えば、ＶＲ配置制御エンジン部６００は、ＶＲ配置設定部６２０により、当該制御解に応じた設定命令をサーバ装置１０等に送信し、制御対象のＶＲ（本実施例ではＶＭ）の配置を制御することができる。同様に、例えば、ＶＮＦ配置制御エンジン部７００は、ＶＮＦ配置設定部７２０により、当該制御解に応じた設定命令をサーバ装置１０等に送信し、制御対象のＶＮＦ（本実施例ではＩＤＳ）の配置を制御することができる。
【０１０５】
ここで、上記のＳ１０９におけるエージェント部４７０の学習処理について、図９を参照しながら説明する。図９は、一実施例におけるエージェント部４７０の学習処理を示すフローチャートである。
【０１０６】
以降で説明する図９では、学習指示が行われたエージェント部４７０が「ＶＲ制御エージェント部４３０」である場合、「ａｇｅｎｔ」を「ｖｍ」と読み替えるものとする。一方、学習指示が行われたエージェント部４７０が「ＶＮＦ制御エージェント部４４０」である場合、「ａｇｅｎｔ」を「ｉｄｓ」と読み替えるものとする。
【０１０７】
まず、エージェント部４７０は、収益の期待値Ｑを０に初期化する（Ｓ３０１）。すなわち、エージェント部４７０は、以下の数２０に示す代入を行う。
【０１０８】
【数２０】
2018142700.tif 000022
次に、エージェント部４７０は、当該エージェント部４７０に対応する制御エンジン部９００により算出された初期解Ａａｇｅｎｔを、以下の数２１に示す変数に代入する（Ｓ３０２）。すなわち、制御エンジン部９００の初期解Ａａｇｅｎｔを、当該制御エンジン部９００に対応するエージェント部４７０のステップｔ＝０における状態ｓ０ａｇｅｎｔとする
【０１０９】
【数２１】
2018142700.tif 000023
次に、エージェント部４７０は、以降のＳ３０３〜Ｓ３１３をステップｔ＝０からステップｔ＝Ｔａまで、ｔを１ずつ増加させながら繰り返し実行する。
【０１１０】
エージェント部４７０は、以下の数２２に示す処理及び代入を行って、制御解の変更を選択する（Ｓ３０４）。すなわち、エージェント部４７０は、行動選択を行う。
【０１１１】
【数２２】
2018142700.tif 000024
ここで、ε−ｇｒｅｅｄｙ（ｓｔａｇｅｎｔ）は、各エージェント部４７０の戦略を意味し、εグリーディ法により制御解の変更を選択する。ε−ｇｒｅｅｄｙでは、エージェント部４７０は、例えば、εの確率でランダムに行動選択（すなわち、ランダムに制御解の変更を選択）し、１−εの確率でステップｔにおける期待値Ｑが最大となる行動選択を行う。
【０１１２】
次に、エージェント部４７０は、以下の数２３に示す処理及び代入を行って、上記のＳ１０３で選択された制御解を変更する（Ｓ３０５）。すなわち、エージェント部４７０は、行動を行って、状態遷移させる。
【０１１３】
【数２３】
2018142700.tif 000025
ここで、ａｃｔｉｏｎ（ａｔａｇｅｎｔ）は、エージェント部４７０の行動を意味する。すなわち、エージェント部４７０は、上記のＳ３０５で選択された制御解の変更を行って、状態ｓｔａｇｅｎｔを状態ｓｔ＋１ａｇｅｎｔに遷移させる。ａｃｔｉｏｎは、制御解の一部を変更する。ａｃｔｉｏｎでは、エージェント部４７０は、例えば、最も混雑しているサーバ装置１０からランダムにＶＭ、ＩＤＳを１台選択し、戦略に基づいて、ＶＭ又はＩＤＳを移動する。
【０１１４】
次に、入出力変換部４６０は、ＶＭ間のトラヒック需要Ｔｖｍを、サーバ装置１０間のトラヒック需要に変換する（Ｓ３０６）。変換されたトラヒック需要は、変数Ｔｓｅｒｖｅｒに代入される。
【０１１５】
次に、経路制御エンジン部５００は、経路計算部５１０により、上記の数１２に示す数理最適化問題を解くことで、目的関数（評価）を算出する。そして、経路制御エージェント部４２０は、算出した目的関数を以下の数２４に示す変数に代入する（Ｓ３０７）。
【０１１６】
【数２４】
2018142700.tif 000026
次に、ＶＲ配置制御エンジン部６００又はＶＮＦ配置制御エンジン部７００は、上記の数８又は数１０に示す数理最適化問題を解くことで、目的関数（評価）を算出する。そして、ＶＲ配置制御エンジン部６００又はＶＮＦ配置制御エンジン部７００は、算出した目的関数を以下の数２５に示す変数に代入する（Ｓ３０８）。
【０１１７】
【数２５】
2018142700.tif 000027
なお、上記のＳ３０８は、学習指示が行われたエージェント部４７０が「ＶＲ制御エージェント部４３０」である場合、ＶＲ配置制御エンジン部６００により数８に示す数理最適化問題が解かれ、算出された目的関数が上記の数２５に示す変数に代入される。一方で、学習指示が行われたエージェント部４７０が「ＶＮＦ制御エージェント部４４０」である場合、ＶＮＦ配置制御エンジン部７００により数１０に示す数理最適化問題が解かれ、算出された目的関数が上記の数２５に示す変数に代入される。
【０１１８】
次に、総合評価算出部４５０は、以下の数２６に示す処理及び代入を行って、総合評価（報酬）を算出する（Ｓ３０９）。
【０１１９】
【数２６】
2018142700.tif 000028
ここで、ｃａｌｃ＿ｒｅｗａｒｄは、全ての制御エンジン部９００の評価から総合評価を算出することを意味する。ｃａｌｃ＿ｒｅｗａｒｄでは、総合評価算出部４５０は、例えば、各制御エンジン部９００の評価の逆数の加重平均を総合評価とする。このとき、各制御エンジン部９００の評価の逆数の加重は、例えば、当該制御エンジン部９００の制御ポリシの重要度α及びβである。
【０１２０】
次に、エージェント部４７０は、以下の数２７に示す計算及び代入を行って、収益の期待値Ｑを更新する（Ｓ３１０）。すなわち、エージェント部４７０は、状態、行動、及び報酬から収益の期待値を更新する。収益の期待値の更新は、エージェント部４７０の戦略の学習を意味する。
【０１２１】
【数２７】
2018142700.tif 000029
次に、エージェント部４７０は、ステップｔ＋１における状態（ｓｔ＋１ａｇｅｎｔ）が、終了状態となったか否かを判定する（Ｓ３１１）。終了状態とは、例えば、所定の精度の制御解が算出された場合等である。終了状態は、ステップ数が所定の回数を超えた場合等であっても良い。
【０１２２】
エージェント部４７０は、上記のＳ３１１で終了状態となったと判定された場合、ｔにＴａを代入する（Ｓ３１２）。これにより、エージェント部４７０は、Ｓ３０３〜Ｓ３１３の繰り返しを抜けて、後述するＳ３１４を行うことができる。
【０１２３】
エージェント部４７０は、上記のＳ３０９で算出された総合評価のうち、最大の総合評価と、当該最大の総合評価が算出された制御解とを学習指示エージェント部４１０に出力する（Ｓ３１４）。すなわち、エージェント部４７０は、以下の数２８により算出される最大総合評価ｒｔ´と、当該最大総合評価が算出された制御解ｓｔ´ａｇｅｎｔとを出力する。
【０１２４】
【数２８】
2018142700.tif 000030
これにより、各エージェント部４７０は、最大総合評価と、当該最大総合評価が算出された制御解（すなわち、最適な制御解）とを学習指示エージェント部４１０に出力することができる。
【０１２５】
＜統合制御エンジン部２００が実行する制御処理の評価＞
ここで、統合制御エンジン部２００が実行する制御処理の評価について、図１０を参照しながら説明する。図１０は、統合制御エンジン部２００が実行する制御処理の評価例を示す図である。
【０１２６】
図１０は、横軸に試行回数、縦軸に最大リンク利用率を設定したグラフを示している。物理ネットワーク３００のトポロジーとして「Ｉｎｔｅｒｎｅｔ２」を用いて、計算条件を（ＶＭ数、ＩＤＳ数）＝（１０台、５台）とした試行結果がグラフＲ１である。同様に、「Ｉｎｔｅｒｎｅｔ２」を用いて、計算条件を（ＶＭ数、ＩＤＳ数）＝（２０台、５台）とした試行結果がグラフＲ２である。また、同様に、「Ｉｎｔｅｒｎｅｔ２」を用いて、計算条件を（ＶＭ数、ＩＤＳ数）＝（４０台、５台）とした試行結果がグラフＲ３である。
【０１２７】
なお、これらの試行では、全てのユーザ需要に対して、全てのＩＤＳを経由する経路を設定した。また、Ｅｎｄ−ｔｏ−Ｅｎｄの経路を計算する際に、候補となるＩＤＳが複数存在する場合、ＩＤＳの負荷等は考慮せず、Ｅｎｄ−ｔｏ−Ｅｎｄの経路長が短くなるＩＤＳを選択した。
【０１２８】
図１０に示すように、試行回数が進むにつれて（すなわち、エージェント部４７０の学習が進むにつれて）、最大リンク利用率が改善していることがわかる。試行回数が０（すなわち、学習が行われていない段階）では、最大リンク利用率は０．７５〜０．９５（すなわち、７５％〜９５％）と高く、制御解の精度が悪い。一方で、試行回数が１００００回程度まで増加すると、全ての計算条件において、最大リンク利用率は４０％以下まで減少している。したがって、例えば、ＶＭ数が数十台程度のシステムであれば、１００００回程度の試行回数で、最大リンク利用率等のリソース利用率を２倍以上改善することができる。
【０１２９】
このように、本発明によれば、分散型統合制御の拡張性の高さを維持した上で、制御の干渉を回避した高精度な制御解を算出することができる。
【０１３０】
なお、本発明における統合制御エンジン部２００は、ＶＲやＮＦＶの制御に限定されない。制御エンジン部９００が有する前提条件を満たしていれば、複数の制御対象にわたる統合制御を行うことができる。
【０１３１】
また、本発明における統合制御エンジン部２００による制御目的は、物理ネットワーク３００のリソース利用効率の改善に限定されない。例えば、品質、電力、セキュリティ等、様々な制御目的の改善に対しても同様に適用することができる。
【０１３２】
更に、本発明における統合制御エンジン部２００の実現方法は、強化学習の手法に限定されない。例えば、制御エンジン部９００の制御解を「遺伝子」、制御解の変更を「選択」、「交叉」等の遺伝子操作に置き換えることで、遺伝的アルゴリズムの手法を用いて実現することもできる。
【０１３３】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【０１３４】
本願は、日本国に２０１７年２月２日に出願された基礎出願２０１７−０１７９１３号に基づくものであり、その全内容はここに参照をもって援用される。
【符号の説明】
【０１３５】
１０        サーバ装置
２０        転送装置
３０        ユーザ端末
１００      ネットワーク制御装置
２００      統合制御エンジン部
３００      物理ネットワーク
４００      情報共有エンジン部
４１０      学習指示エージェント部
４２０      経路制御エージェント部
４３０      ＶＲ制御エージェント部
４４０      ＶＮＦ制御エージェント部
４５０      総合評価算出部
４６０      入出力変換部
５００      経路制御エンジン部
６００      ＶＲ配置制御エンジン部
７００      ＶＮＦ配置制御エンジン部
８００      入力情報管理部
【図１】
2018142700.tif 000031
【図２】
2018142700.tif 000032
【図３】
2018142700.tif 000033
【図４】
2018142700.tif 000034
【図５】
2018142700.tif 000035
【図６】
2018142700.tif 000036
【図７】
2018142700.tif 000037
【図８】
2018142700.tif 000038
【図９】
2018142700.tif 000039
【図１０】
2018142700.tif 000040
【国際調査報告】
2018142700.tif 000041
2018142700.tif 000042