(57)【要約】【課題】トラフィック量の変化に応じ、適切なVNFリソースの提供を行う。【解決手段】制御システム１０は、VNFへ入力されるトラフィックのパケットサイズの分布を分析するパケットサイズ分析部１４と、１台のVNFの単位時間あたり処理可能なトラフィック量（bps、pps）をパケットサイズごとに示したVNFキャパシティ情報と、VNFへ入力されるパケットサイズの分布とに基づき、１台のVNFが単位時間あたり処理可能なトラフィック量を算出するキャパシティ算出部１２３と、１台のVNFが単位時間あたり処理可能なトラフィック量と、トラフィックの引き込みにより必要となるリソース量とに基づき、VNFの増設数または減設数を算出する設置数算出部１２４とを備える。【選択図】図２
2020014169.tif 000002
【特許請求の範囲】
【請求項１】
トラフィックを処理するVNF（Virtual  Network  Function）の設置数を算出する制御装置であって、
１台のVNFが単位時間あたり処理可能なトラフィック量を、前記VNFに入力されるトラフィックのパケットサイズごとに示したVNFキャパシティ情報を記憶する記憶部と、
前記VNFに入力されるトラフィックのパケットサイズの分布を分析するパケットサイズ分析部と、
前記VNFキャパシティ情報と、前記VNFに入力されるパケットサイズの分布とに基づき、１台のVNFが単位時間あたり処理可能なトラフィック量を算出するキャパシティ算出部と、
前記VNFへのトラフィックの引き込みにより必要となる総リソース量と、既設のVNFにより提供される総リソース量との差分である必要リソース量を算出する必要リソース量算出部と、
前記キャパシティ算出部により算出された１台のVNFが単位時間あたり処理可能なトラフィック量と、前記必要リソース量算出部により算出された必要リソース量とに基づき、前記トラフィックを処理するVNFの増設数または減設数を算出する設置数算出部と、
を備えることを特徴とする制御装置。
【請求項２】
前記トラフィック量は、
単位時間あたりのパケット数およびビット数である
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
既設のVNFの台数と、前記キャパシティ算出部により算出された１台のVNFが単位時間あたり処理可能なトラフィック量とに基づき、前記既設のVNFにより提供される総リソース量を算出する既存提供リソース量算出部
をさらに備えることを特徴とする請求項１に記載の制御装置。
【請求項４】
前記制御装置は、
トラフィックのサンプリングにより、前記VNFへの引込対象となるトラフィックを検知するフローコレクタ部をさらに備え、
前記パケットサイズ分析部は、
前記VNFに入力されるトラフィックのパケットサイズの分布として、前記フローコレクタ部により前記VNFへの引込対象となるトラフィックとして検知されたトラフィックのパケットサイズの分布を分析する
ことを特徴とする請求項１に記載の制御装置。
【請求項５】
前記制御装置は、
トラフィックのサンプリングにより、前記VNFへの引込対象となるトラフィックを検知するフローコレクタ部をさらに備え、
前記パケットサイズ分析部は、
前記VNFに入力されるトラフィックのパケットサイズの分布として、前記フローコレクタ部によりサンプリングされたトラフィックのパケットサイズの分布を分析し、
前記キャパシティ算出部は、
前記１台のVNFが単位時間あたり処理可能なトラフィック量を算出する際、前記分析されたトラフィックのパケットサイズの分布のうち、前記VNFへの引込対象となるトラフィックとして検知されたトラフィックのパケットの分布を用いる
ことを特徴とする請求項１に記載の制御装置。
【請求項６】
トラフィックを処理するVNF（Virtual  Network  Function）の設置数を算出する制御装置により実行される制御方法であって、
前記VNFに入力されるトラフィックのパケットサイズの分布を分析するステップと、
１台のVNFが単位時間あたり処理可能なトラフィック量を、前記VNFに入力されるトラフィックのパケットサイズごとに示したVNFキャパシティ情報と、前記VNFに入力されるパケットサイズの分布とに基づき、１台のVNFが単位時間あたり処理可能なトラフィック量を算出するステップと、
前記VNFへのトラフィックの引き込みにより必要となる総リソース量と、既設のVNFにより提供される総リソース量との差分である必要リソース量を算出するステップと、
前記算出した１台のVNFが単位時間あたり処理可能なトラフィック量と、前記算出した必要リソース量とに基づき、引き込んだトラフィックを処理するVNFの増設数または減設数を算出するステップと、
を含んだことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、および、制御方法に関する。
【背景技術】
【０００２】
トラフィックモニタリングやトラフィック分析の手法としてnetFlow等のフローコレクタを活用した手法がある。このフローコレクタは、宛先アドレス単位でトラフィックを監視する。そして、フローコレクタにおいて攻撃の疑いのあるトラフィックを検出すると、制御装置は、当該トラフィックを攻撃トラフィック用のVNF（Virtual  Network  Function）へ引き込み、詳細な解析を行う。なお、上記の攻撃トラフィック用のVNFとして、例えば、vRouterやvMitigationが用いられる。ここで、攻撃の疑いのあるトラフィックが検出されると、制御装置は、引込予定のトラフィックのトラフィック量に応じてVNFの増設を行う必要がある。
【０００３】
ここで、VNFが転送可能なトラフィック量（pps（packets  per  second）、bps（bit  per  second））は引込予定のトラフィックのパケットサイズにより異なる。よって、VNFの増設数の決定には、引込予定のトラフィックのパケットサイズの分布特性を考慮する必要がある。
【０００４】
例えば、引込予定のトラフィックのショートパケットの割合が大きいことを前提として、時間あたりの転送パケット数（pps）が高くなるようにVNFの増設数を決定したが、実際にはロングパケットの割合が大きかった場合、過剰にVNFを提供してしまうおそれがある。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】ニフクラ、［平成30年7月9日検索］、インターネット＜URL：https://cloud.nifty.com/service/autoscale.htm＞
【非特許文献２】ポータルでクラウドサービスの自動スケールを構成する方法、［平成30年7月9日検索］、インターネット＜URL：https://docs.microsoft.com/ja-jp/azure/cloud-services/cloud-services-how-to-scale-portal＞
【非特許文献３】OpenStackチャレンジ  第18回HEAT紹介編、［平成30年7月9日検索］、インターネット＜URL：https://www.adoc.co.jp/blog/e000365.html
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、上記のnetFlow等を用いた既存のトラフィック監視技術では、トラフィックのサンプリングレートとのバランスから、トラフィックのパケットサイズの分布を把握することは困難であった。そのため、トラフィックのパケットサイズの分布特性を考慮した、適切なVNFリソースの提供を行うことができなかった。そこで、本発明は、前記した問題を解決し、トラフィックのパケットサイズの分布特性を考慮した、適切なVNFリソースの提供を行うことを課題とする。
【課題を解決するための手段】
【０００７】
前記した課題を解決するため、本発明は、トラフィックを処理するVNF（Virtual  Network  Function）の設置数を算出する制御装置であって、１台のVNFが単位時間あたり処理可能なトラフィック量を、前記VNFに入力されるトラフィックのパケットサイズごとに示したVNFキャパシティ情報を記憶する記憶部と、前記VNFに入力されるトラフィックのパケットサイズの分布を分析するパケットサイズ分析部と、前記VNFキャパシティ情報と、前記VNFに入力されるパケットサイズの分布とに基づき、１台のVNFが単位時間あたり処理可能なトラフィック量を算出するキャパシティ算出部と、前記VNFへのトラフィックの引き込みにより必要となる総リソース量と、既設のVNFにより提供される総リソース量との差分である必要リソース量を算出する必要リソース量算出部と、前記キャパシティ算出部により算出された１台のVNFが単位時間あたり処理可能なトラフィック量と、前記必要リソース量算出部により算出された必要リソース量とに基づき、前記トラフィックを処理するVNFの増設数または減設数を算出する設置数算出部と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、トラフィックのパケットサイズの分布特性を考慮した、適切なVNFリソースの提供を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、制御システムの基本動作を説明するための図である。
【図２】図２は、第１の実施形態の制御システムを説明するための図である。
【図３】図３は、図２の制御システムの処理手順の例を示すフローチャートである。
【図４】図４は、図２の制御システムのVNFの増設および減設の処理手順の例を説明する図である。
【図５】図５は、図２の制御システムのVNFの増設および減設の処理手順の例を説明する図である。
【図６】図６は、第２の実施形態の制御システムを説明するための図である。
【図７】図７は、図６の制御システムの処理手順の例を示すフローチャートである。
【図８】図８は、第２の実施形態の制御システムの変形例における処理手順の例を示すフローチャートである。
【図９】図９は、制御プログラムを実行するコンピュータの例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら、本発明を実施するための形態（実施形態）を、第１の実施形態および第２の実施形態に分けて説明する。本発明は、各実施形態に限定されない。
【００１１】
［各実施形態の概要］
まず、図１を用いて各実施形態の制御装置（制御システム）の基本動作を説明する。制御システム１０は、例えば、攻撃トラフィックを検出すると、当該トラフィックを引き込み、当該トラフィックを自身の備えるVNF（vRouterおよびvMitigation）へ転送する。そして、引き込まれたトラフィックは、例えば、vRouterによりvMitigationに到達し、vMitigationは攻撃トラフィックの詳細な解析を行う。
【００１２】
この制御システム１０は、VNF（リソース）の管理および制御を行い、必要に応じて、VNFの増減を行う。
【００１３】
例えば、制御システム１０内のフローコレクタ部１１は、エッジルータのトラフィックの収集・監視を行い（（１））、DDoS（Distributed  Denial  of  Service）攻撃等の攻撃を検知すると（（２））、リソース制御部１２にその旨を通知する。当該通知を受けたリソース制御部１２は、オーケストレータ部１３に対しVNFの増減を指示する（（３））。これによりオーケストレータ部１３はVNFを増設または減設を行う。
【００１４】
その後、リソース制御部１２はエッジルータに対し攻撃トラフィックの引き込み指示を行う（（４）トラフィック引込指示）。これにより、攻撃トラフィックはVNF（VNF#1〜#N）へ引き込まれ、当該VNFにおいて攻撃トラフィックの詳細な解析が行われる。
【００１５】
つまり、例えば、図１に示すように、通常時、攻撃トラフィックを含むトラフィックはインターネットからエッジルータ経由でトランスポートネットワークに転送されアクセスネットワークへ到達するが、攻撃検知後（引込時）、攻撃トラフィックはエッジルータからVNF#1〜#N経由に引き込まれる。
【００１６】
ここで、制御システム１０は、引込予定のトラフィック（あるいは引き込んだトラフィック）のパケットサイズの分布を分析し、その分析結果に基づき、上記のトラフィックを中継するVNFの増減を行う。これにより、制御システム１０は、トラフィックのパケットサイズの分布特性を考慮し、適切なVNFリソースの提供を行うことができる。
【００１７】
なお、各実施形態の制御システム１０は、例えば、複数のVNFを制御する仮想化基盤により実現されてもよい。また、制御システム１０の各部は、１つの装置（例えば、サーバ）内に装備されてもよいし、それぞれ別個の装置に装備されてもよい。
【００１８】
［第１の実施形態］
次に、図２を用いて第１の実施形態の制御システム１０を説明する。制御システム１０は、まず、トラフィックのパケットサイズの分布がすべてショートパケットであると仮定してVNFを設置し、トラフィックの引き込みを行う。その後、制御システム１０は、設置されたVNFに入力されたトラフィックのパケットサイズの分析結果を受け取り、その分析結果に基づき、VNFの設置数を補正することを特徴とする。
【００１９】
制御システム１０は、フローコレクタ部１１と、リソース制御部１２と、オーケストレータ部１３とを備える。なお、以下の説明において、リソースプールから起動（設置）されたVNFを既設VNFと称す。
【００２０】
フローコレクタ部１１は、トラフィック監視部１１１によりトラフィックの収集および監視を行う。トラフィック監視部１１１は、例えば、エッジルータ等からトラフィックを収集し、監視する。そして、トラフィック監視部１１１は、攻撃トラフィックを検知すると、当該トラフィックのトラフィック量を引込予定のトラフィックのトラフィック量としてリソース制御部１２に通知する。
【００２１】
リソース制御部１２は、リソース（VNF）をどの程度提供すればよいかを算出する。リソース制御部１２は、記憶部１３０と、キャパシティ制御部１２０とを備える。
【００２２】
記憶部１３０は、キャパシティ制御部１２０がVNF数を算出する際に用いる各種情報を記憶する。例えば、記憶部１３０は、トラフィック総量情報と、VNFキャパシティ情報とを記憶する。
【００２３】
トラフィック総量情報は、既にVNFへ引込済みのトラフィック（既存引込トラフィック）を示す情報である。
【００２４】
このトラフィック総量情報は、例えば、図４の符号１２０１に示すように既存引込トラフィックごとのトラフィック量が記録される。例えば、図４の符号１２０１に示すトラフィック総量情報は、既存引込トラフィック#1（宛先BBB）のトラフィック量は5Mpps/5Gbpsであり、既存引込トラフィック#2（宛先CCC）のトラフィック量は10Mpps/7Gbpsであることを示す。このトラフィック総量情報は、VNFへのトラフィックの引き込みの開始や引き込みの終了に伴い、リソース制御部１２により更新される。
【００２５】
図２のVNFキャパシティ情報は、対象VNFが処理するトラフィックのパケットサイズごとに、当該対象VNFが単位時間あたり処理可能なトラフィック量（ppsおよびbps）を示した情報である。
【００２６】
このVNFキャパシティ情報は、例えば、図４の符号１２０２に示すように、トラフィックのパケットサイズごとに、対象VNF（vRouterおよびvMitigation）が単位時間あたり処理可能なトラフィック量（ppsおよびbps）を示した情報である。例えば、符号１２０２に示すVNFキャパシティ情報は、パケットサイズ64byte〜256byteのトラフィックについて、vRouterが処理可能なトラフィック量は12M（pps）/6G（bps）であり、vMitigationが処理可能なトラフィック量は6M（pps）/3G（bps）であることを示す。
【００２７】
図２のキャパシティ制御部１２０は、トラフィックの引き込みに伴い、VNFをどの程度提供すればよいかを算出し、その算出結果に基づき、オーケストレータ部１３へVNFの増設または減設を指示する。
【００２８】
図２のキャパシティ制御部１２０は、既存提供リソース量算出部１２１と、必要リソース量算出部１２２と、キャパシティ算出部１２３と、設置数算出部１２４とを備える。
【００２９】
既存提供リソース量算出部１２１は、既設のVNFにより提供される総リソース量を算出する。
【００３０】
例えば、既存提供リソース量算出部１２１は、オーケストレータ部１３から既設VNFの台数を取得し、この既設VNFの台数と、VNFキャパシティ情報とに基づき、既設のVNFが単位時間あたり処理可能なトラフィック量の総量を算出する。
【００３１】
既存提供リソース量算出部１２１による既設のVNFにより提供される総リソース量の算出の詳細は、具体例を用いて後記する。
【００３２】
必要リソース量算出部１２２は、トラフィックの引き込みにより必要となる総リソース量と、既設のVNFにより提供される総リソース量との差分である必要リソース量を算出する。
【００３３】
具体的には、必要リソース量算出部１２２は、まず、トラフィック総量情報に示される既にVNFへ引込済みのトラフィック量と、フローコレクタ部１１から取得した引込予定のトラフィック量との合計値（トラフィックの引き込みにより必要となる総リソース量）を算出する。次に、必要リソース量算出部１２２は、トラフィックの引き込みにより必要となる総リソース量と、既存提供リソース量算出部１２１により算出された既設のVNFにより提供される総リソース量との差分（必要リソース量）を算出する。
【００３４】
キャパシティ算出部１２３は、１台のVNFが単位時間あたり処理可能なトラフィック量を算出する。
【００３５】
例えば、キャパシティ算出部１２３は、オーケストレータ部１３経由で、VNFから当該VNFに入力されたトラフィックのパケットサイズの分布の分析結果を受け取る。そして、キャパシティ算出部１２３は、受け取ったパケットサイズの分布の分析結果と、VNFキャパシティ情報に示されるパケットサイズごとのVNFのキャパシティ（当該VNFが単位時間あたり処理可能なトラフィック量（ppsおよびbps））とに基づき、１台のVNFが単位時間あたり処理可能なトラフィック量を算出する。このキャパシティ算出部１２３による１台のVNFのキャパシティの算出の詳細は、具体例を用いて後記する。
【００３６】
設置数算出部１２４は、必要リソース量算出部１２２により算出された必要リソース量に基づき、引き込んだトラフィックを中継するVNFの設置数を算出する。
【００３７】
例えば、設置数算出部１２４は、必要リソース量算出部１２２により算出された必要リソース量を、キャパシティ算出部１２３により算出された１台のVNFが単位時間あたり処理可能なトラフィック量で割ることにより、VNFの設置数を算出する。なお、必要リソース量が正の値であれば、算出されるVNFの設置数はVNFの増設数となる。また、必要リソース量が負の値であれば、算出されるVNFの設置数はVNFの減設数となる。設置数算出部１２４は、上記のVNFの設置数の算出結果に基づき、オーケストレータ部１３に、VNFの増設または減設を指示する。この設置数算出部１２４によるVNFの設置数の算出の詳細も、具体例を用いて後記する。
【００３８】
オーケストレータ部１３は、VNFの制御および管理を行う。このオーケストレータ部１３は、VNF情報収集部１３１と、リソース増減部１３２とを備える。
【００３９】
VNF情報収集部１３１は、既設VNFから当該VNFに関する様々な情報を収集し、リソース制御部１２へ出力する。例えば、VNF情報収集部１３１は、所定期間ごとに、既設VNFから、当該VNFが中継するトラフィックのパケットサイズの分布の分析結果を収集し、リソース制御部１２へ出力する。また、VNF情報収集部１３１は、既設VNFの情報（例えば、既設VNFの台数等）をリソース制御部１２へ出力する。
【００４０】
リソース増減部１３２は、リソース制御部１２からの指示に基づき、VNFの増設または減設を行う。例えば、リソース増減部１３２は、リソース制御部１２からの指示に基づきリソースプールのVNFを起動させることによりVNFを増設したり、既設VNFを停止させることによりVNFを減設したりする。
【００４１】
また、既設VNFはそれぞれ、パケットサイズ分析部１４を備える。このパケットサイズ分析部１４は、入力されたトラフィックのパケットサイズの分布を分析する。このパケットサイズの分布の分析結果は、例えば、図５の符号１３０１に示すように、64byte〜256byteのパケットの分布比率は0（％）であり、256byte〜768byteのパケットの分布比率は50（％）であり、768byte〜1518byteのパケットの分布比率は50（％）というものである。
【００４２】
次に、図３を用いて、制御システム１０の処理手順の例を説明する。まず、フローコレクタ部１１のトラフィック監視部１１１は、トラフィックのサンプリングを行い（Ｓ１）、攻撃トラフィックを検知すると（Ｓ２）、Ｓ３へ進む。
【００４３】
Ｓ２の後、リソース制御部１２の必要リソース量算出部１２２は、フローコレクタ部１１から引込予定のトラフィック（例えば、上記の攻撃トラフィック）のトラフィック量を取得する（Ｓ３：引込予定のトラフィック量の把握）。
【００４４】
Ｓ３の後、リソース制御部１２の既存提供リソース量算出部１２１は、既存提供リソース量を算出する（Ｓ４）。例えば、既存提供リソース量算出部１２１は、オーケストレータ部１３から既設VNFの台数を取得する。そして、既存提供リソース量算出部１２１は、取得した既設VNFの台数と、VNFキャパシティ情報とに基づき、既設のVNFが単位時間あたり処理可能なトラフィック量の総量（既存提供リソース量）を算出する。
【００４５】
Ｓ４の後、リソース制御部１２の必要リソース量算出部１２２は、必要リソース量を算出する（Ｓ５）。例えば、必要リソース量算出部１２２は、トラフィック総量情報に示される既にVNFへ引込済みのトラフィック量と、Ｓ３で取得した引込予定のトラフィック量との合計値を、トラフィックの引き込みにより必要となる総リソース量として算出する。次に、必要リソース量算出部１２２は、トラフィックの引き込みにより必要となる総リソース量と、Ｓ４で算出した既存提供リソース量との差分（必要リソース量）を算出する。
【００４６】
その後、設置数算出部１２４は、上記の必要リソース量に基づき、VNFの設置数を算出する。なお、この段階では、VNFへのトラフィックの引き込みはまだ行われていないので、トラフィックのパケットサイズの分布は不明である。よって、設置数算出部１２４は、トラフィックのパケットサイズは全てショートパケット（例えば、64byte〜256byteのパケット）であるものと仮定して、VNFの設置数（VNFの増設数または減設数）を算出する。そして、設置数算出部１２４は、算出した設置数のVNFの起動をオーケストレータ部１３に指示する。これによりオーケストレータ部１３のリソース増減部１３２は、必要なVNFを起動させる（Ｓ６）。
【００４７】
Ｓ６の後、起動されたVNFにトラフィックが引き込まれ、当該VNFは当該トラフィック（引込トラフィック）の処理を開始する。そして、当該VNFのパケットサイズ分析部１４は、引込トラフィックのパケットサイズの分布を分析する（Ｓ７）。
【００４８】
Ｓ７の後、リソース制御部１２は必要リソース量の再計算を行う（Ｓ８）。
【００４９】
すなわち、まず、リソース制御部１２のキャパシティ算出部１２３は、オーケストレータ部１３経由で、Ｓ７で分析された引込トラフィックのパケットサイズの分布を取得する。その後、キャパシティ算出部１２３は、引込トラフィックのパケットサイズの分布と、VNFキャパシティ情報とに基づき、１台のVNFが単位時間あたり処理可能なトラフィック量を算出する。次に、既存提供リソース量算出部１２１は、キャパシティ算出部１２３が算出した１台のVNFの単位時間あたり処理可能なトラフィック量に基づき、既設のVNFが単位時間あたり処理可能なトラフィック量の総量（既存提供リソース量）を再計算する。そして、必要リソース量算出部１２２は、トラフィックの引き込みにより必要となる総リソース量と、再計算した既存提供リソース量との差分（必要リソース量）を算出する。
【００５０】
その後、設置数算出部１２４は、算出した必要リソース量と、キャパシティ算出部１２３が算出した１台のVNFの単位時間あたり処理可能なトラフィック量とに基づき、VNFの設置数を再計算する。そして、設置数算出部１２４は、再計算した台数のVNFの起動をオーケストレータ部１３に指示する。オーケストレータ部１３のリソース増減部１３２は、当該指示に基づき、必要なVNF数を補正する（Ｓ９）。つまり、リソース増減部１３２は、Ｓ６で起動させたVNFの減設または増設を行う。
【００５１】
このようにすることで、制御システム１０は、トラフィックのパケットサイズの分布に応じ、適切な台数のVNFを提供することができる。
【００５２】
次に、図４および図５を用いて、制御システム１０によるVNFの増設および減設の処理手順の例を説明する。
【００５３】
まず、リソース制御部１２の必要リソース量算出部１２２は、フローコレクタ部１１から引込予定のトラフィック情報を取得する（図４の（１））。例えば、必要リソース量算出部１２２は、引込予定のトラフィック情報として、引込予定のトラフィックの宛先アドレスはAAAであり、AAAのトラフィック［pps］は10Mppsであり、AAAのトラフィック［bps］は20Gbpsであるという情報を取得する。
【００５４】
また、必要リソース量算出部１２２は、トラフィック総量情報から、既に引込済みのトラフィック情報（既存引込トラフィックのトラフィック量）を取得する（（２））。例えば、必要リソース量算出部１２２は、トラフィック総量情報から、既存引込トラフィック#1（宛先BBB）のトラフィック量は5Mpps/5Gbpsであり、既存引込トラフィック#2（宛先CCC）のトラフィック量は10Mpps/7Gbpsであるという情報を取得し、これらのトラフィック量の合計（15Mpps/12Gbps）を得る。
【００５５】
次に、必要リソース量算出部１２２は、（１）で取得した引込予定のトラフィック情報と、（２）で取得した既に引込済みのトラフィック情報とに基づき、総リソース量の算出を行う（（３））。例えば、必要リソース量算出部１２２は、（１）で取得した引込予定のトラフィックのトラフィック量（10Mpps/20Gbps）と、（２）で算出した既に引込済みのトラフィック量（15Mpps/12Gbps）とを合計することにより、総リソース量（25Mpps/32Gbps）を得る。
【００５６】
また、既存提供リソース量算出部１２１は、オーケストレータ部１３から既設のVNF数を取得する（（４））。例えば、既存提供リソース量算出部１２１は、既設のvRT（vRouter）が３台であり、既設のvMit（vMitigation）が５台であるという情報を取得する。
【００５７】
その後、既存提供リソース量算出部１２１は、VNFキャパシティ情報から１台のVNFが処理可能なトラフィック量（pps,pps/VNF）を取得する（（５））。なお、既存提供リソース量算出部１２１は、引込予定のトラフィックのパケットサイズが不明な時点では、全てショートパケットであると仮定してリソースを算出する。つまり、この時点では、引込予定のトラフィックのパケットサイズが不明なので、既存提供リソース量算出部１２１は、引込予定のトラフィックのパケットが全てショートパケットであるものと仮定して、VNFキャパシティ情報から１台のVNFが処理可能なトラフィック量（pps,pps/VNF）を取得する。
【００５８】
例えば、VNFキャパシティ情報が、符号１２０２に示す情報であった場合、既存提供リソース量算出部１２１は、引込予定のトラフィックのパケットサイズ64byte〜256byteであると仮定して、vRouterが処理可能なトラフィック量＝12M（pps）/6G（bps）、vMitigationが処理可能なトラフィック量＝6M（pps）/3G（bps）という情報を取得する。
【００５９】
そして、既存提供リソース量算出部１２１は、（４）で取得した既設のVNF数に、（５）で取得した１台のVNFが処理可能なトラフィック量（pps，bps/VNF）を掛けることにより、既存提供リソース量の算出を行う（（６））。
【００６０】
例えば、既存提供リソース量算出部１２１は、既設VNFのうち、vRT（vRouter）全体の提供リソース量（トラフィック量）は3×（12Mpps/6Gpps）=36Mpps/18Gbps、vMit（vMitigation）全体の提供リソース量は5×（6Mpps/3Gpps）=30Mpps/15Gbpsという算出結果を得る。
【００６１】
次に、必要リソース量算出部１２２は、総リソース量（（３））と、（６）で算出した既存提供リソース量との差を算出することにより、必要リソース量を算出する（（７））。例えば、必要リソース量算出部１２２は、総リソース量（25Mpps/32Gbps）から、（６）で算出したvRT全体の提供リソース量（36Mpps/18Gbps）およびvMit全体の提供リソース量（30Mpps/15Gbps）を減算する。これにより、必要リソース量算出部１２２は、vRTの必要リソース量は-11Mpps/14Gbps、vMitの必要リソース量は-5Mpps/17Gbpsという算出結果を得る。
【００６２】
その後、設置数算出部１２４は、（５）で算出した１台のVNFが処理可能なトラフィック量と、（７）で算出した必要リソース量とに基づき、引き込んだトラフィックを中継するVNFの設置数を算出する（（８）VNF設置数算出）。
【００６３】
例えば、設置数算出部１２４は、（７）で算出した必要リソース量（vRT=-11Mpps/14Gbps、vMit=-5Mpps/17Gbps）を、（５）で算出した１台のVNFが処理可能なトラフィック量で割ることにより、vRT=+3台（３台増設）、vMitは+6台（６台増設）という算出結果を得る。
【００６４】
その後、設置数算出部１２４は、（８）で得た算出結果に基づき、オーケストレータ部１３にVNF（vRTおよびvMit）の増減設を指示する。そして、オーケストレータ部１３は当該指示に基づきVNFの増設または減設を行い、設置されたVNFは引き込まれたトラフィックの処理を行う。
【００６５】
図５の説明に移る。VNFのパケットサイズ分析部１４は、当該VNFに引き込まれたトラフィックのパケットサイズの分布の分析を行う。そして、リソース制御部１２は、当該VNFから引込済みトラフィックのパケットサイズの分布を取得する（図５の（１））。また、リソース制御部１２は、オーケストレータ部１３から既設のVNF数の取得する（（２））。
【００６６】
そして、リソース制御部１２は、（１）で取得した引込済みのトラフィックのパケットサイズの分布とVNFキャパシティ情報とに基づき、１台のVNFが処理可能なトラフィック量（pps，bps/VNF）を算出する（（３））。次に、リソース制御部１２は、（２）で取得した既設のVNF数に、（３）で算出した１台のVNFが処理可能なトラフィック量を掛けることにより、既存提供リソース量を算出する。つまり、リソース制御部１２は、引込済みのトラフィックのパケットサイズの分布に基づき、既存提供リソース量を補正する（（４）既存提供リソース量の補正）。
【００６７】
例えば、リソース制御部１２のキャパシティ算出部１２３は、符号１３０１に示すパケットサイズの分布（64byte〜256byteのパケットの分布比率は0（％）、256byte〜768byteのパケットの分布比率は50（％）、768byte〜1518byteのパケットの分布比率は50（％））をVNFから取得する。
【００６８】
そして、キャパシティ算出部１２３は、上記のパケットサイズの分布に基づき、VNFキャパシティ情報（符号１３０２参照）に示される256byte〜768byteのパケットを処理する際のトラフィック量と、768byte〜1518byteのパケットのパケットを処理する際のトラフィック量とを50％ずつとした値を算出する。例えば、キャパシティ算出部１２３は、符号１３０３に示すように、１台のvRouterが処理可能なトラフィック量（pps）は6Mpps、１台のvMitigationが処理可能なトラフィック量（pps）は3Mpps、１台のvRouterが処理可能なトラフィック量（bps）は39Gbps、１台のvMitigationが処理可能なトラフィック量（bps）は19.5Mppsという値を算出する。
【００６９】
そして、既存提供リソース量算出部１２１は、（２）で取得した既設のVNF数（例えば、vRT=6台、vMit=11台）に、（３）で算出された１台のVNF（vRTおよびvMit）が処理可能なトラフィック量（pps,bps）を掛けた値を算出する。
【００７０】
例えば、既存提供リソース量算出部１２１は、vRT全体の既存提供リソース量=6台×（6Mpps/39Gbps）=36Mpps/234Gbps、vMit全体の既存提供リソース量=11台×（3Gpps/19.5Gbps）=33Mpps/214Gbpsという算出結果を得る。なお、上記の算出結果において、小数点以下は四捨五入している。
【００７１】
その後、必要リソース量算出部１２２は、（５）総リソース量（図４の（３）で算出した総リソース量）と、（４）で補正した既存提供リソース量との差を算出することにより、必要リソース量を算出する（（６））。
【００７２】
例えば、必要リソース量算出部１２２は、（５）総リソース量（25Mpps/32Gbps）と、（４）で補正した既存提供リソース量（vRT全体の提供リソース量（36Mpps/234Gbps）、vMit全体の提供リソース量（33Mpps/214Gbps））との差分を算出すると、vRTの必要リソース量は-11Mpps/-202Gbps、vMitの必要リソース量は-1Mpps/-182Gbpsであるという算出結果を得る。
【００７３】
その後、設置数算出部１２４は、（３）で算出された１台のVNFが処理可能なトラフィック量と、（６）で算出された必要リソース量とに基づき、VNFの設置数を算出する（（７）VNF設置数算出）。
【００７４】
例えば、設置数算出部１２４は、（６）で算出された必要リソース量（vRT=-11Mpps/-202Gbps、vMit=-1Mpps/-182Gbps）を、（３）で算出された１台のVNFが処理可能なトラフィック量で割ると、vRT=-1台（１台減設）という算出結果を得る。
【００７５】
その後、設置数算出部１２４は、（７）で得た算出結果に基づき、オーケストレータ部１３にVNF（vRTおよびvMit）の増減設を指示する。例えば、設置数算出部１２４は、オーケストレータ部１３にvRTを１台減設するよう指示する。そして、オーケストレータ部１３は当該指示に基づきVNF（vRT）の減設を行う。
【００７６】
このようにすることで、制御システム１０は、トラフィックのパケットサイズの分布特性を考慮し、VNFの増減設を行うことができる。また、制御システム１０は、例えば、所定期間ごとに、既設VNFから当該VNFに入力されたトラフィックのパケットサイズの分布の分析結果を収集し、その分析結果に基づきVNFの設置数を補正するので、トラフィックのパケットサイズの分布が変化したとしても、これに動的に対応し、VNFの増減設を行うことができる。
【００７７】
なお、前記した第１の実施形態において、パケットサイズ分析部１４は、既設のVNF内に装備されるものとして説明したが、VNFに引き込まれるトラフィックのパケットサイズの分布を分析することができれば、既設のVNF外に設置されてもよい。
【００７８】
［第２の実施形態］
次に、本発明の第２の実施形態を説明する。第１の実施形態と同じ構成は同じ符号を付して説明を省略する。
【００７９】
第２の実施形態の制御システム１０ａは、パケットサイズ分析部１４が、フローコレクタ部１１に装備されることを特徴とする（図６参照）。つまり、パケットサイズ分析部１４は、フローコレクタ部１１のトラフィック監視部１１１によりサンプリングされたトラフィックを対象にパケットサイズの分布を分析することを特徴とする。
【００８０】
例えば、フローコレクタ部１１のトラフィック監視部１１１は、攻撃トラフィックを検知すると、当該トラフィックのサンプリングレートを引き上げる。次に、パケットサイズ分析部１４は、攻撃トラフィックの検知後、トラフィック監視部１１１によりサンプリングされた当該トラフィック（攻撃トラフィック）のパケットサイズの分布を分析する。そして、リソース制御部１２は、フローコレクタ部１１から取得した当該トラフィックのパケットサイズの分布に基づきVNFの設置数を算出する。
【００８１】
次に、図７を用いて、制御システム１０ａの処理手順の例を説明する。まず、フローコレクタ部１１のトラフィック監視部１１１は、トラフィックのサンプリングを行い（Ｓ１１）、攻撃トラフィックを検知すると（Ｓ１２）、サンプリングレートを引き上げる（Ｓ１３）。その後、パケットサイズ分析部１４は、トラフィック監視部１１１によりサンプリングされたトラフィックのパケットサイズの分布を分析する（Ｓ１４）。
【００８２】
Ｓ１４の後、リソース制御部１２は、フローコレクタ部１１から攻撃トラフィック（引込予定のトラフィック）のトラフィック量を取得することにより、引込予定のトラフィック量を把握する（Ｓ１５）。また、リソース制御部１２はフローコレクタ部１１から攻撃トラフィック（引込予定のトラフィック）のパケットサイズの分布を取得する。
【００８３】
そして、リソース制御部１２の既存提供リソース量算出部１２１は、既存提供リソース量を算出する（Ｓ１６）。すなわち、まず、キャパシティ算出部１２３は、フローコレクタ部１１から取得したパケットサイズの分布と、VNFキャパシティ情報とに基づき、１台のVNFが単位時間あたり処理可能なトラフィック量を算出する。次に、既存提供リソース量算出部１２１は、オーケストレータ部１３から既設VNFの台数を取得する。そして、既存提供リソース量算出部１２１は、取得した既設VNFの台数と、キャパシティ算出部１２３により算出された１台のVNFが単位時間あたり処理可能なトラフィック量とに基づき、既設のVNFが単位時間あたり処理可能なトラフィック量の総量（既存提供リソース量）を算出する。
【００８４】
Ｓ１６の後、必要リソース量算出部１２２は、必要リソース量の算出を行う（Ｓ１７）。例えば、必要リソース量算出部１２２は、トラフィック総量情報に示される既にVNFへ引込済みのトラフィック量と、Ｓ１５で取得した引込予定のトラフィック量との合計値（トラフィックの引き込みにより必要となる総リソース量）を算出する。そして、必要リソース量算出部１２２は、トラフィックの引き込みにより必要となる総リソース量と、Ｓ１６で算出した既存提供リソース量との差分（必要リソース量）を算出する。
【００８５】
Ｓ１７の後、設置数算出部１２４は、Ｓ１７で算出された必要リソース量と、キャパシティ算出部１２３により算出された１台のVNFの単位時間あたり処理可能なトラフィック量とに基づき、VNFの設置数を計算する。そして、設置数算出部１２４は、計算した数のVNFの起動をオーケストレータ部１３に指示する。これによりオーケストレータ部１３のリソース増減部１３２は、必要なVNFを起動させる（Ｓ１８）。
【００８６】
このような制御システム１０ａによれば、引き込むトラフィックのパケットサイズの分布を分析してから、VNFを設置するので、第１の実施形態の制御システム１０のように、VNFの設置数の補正を行う必要がない。
【００８７】
［その他の実施形態］
なお、第２の実施形態の制御システム１０ａにおいて、パケットサイズ分析部１４は、トラフィック監視部１１１による攻撃トラフィックの検知に関係なく、トラフィック監視部１１１によりサンプリングされたトラフィックを対象に常時パケットサイズの分布を分析してもよい。
【００８８】
この場合、制御システム１０ａのフローコレクタ部１１のトラフィック監視部１１１は、トラフィックのサンプリングを行い、パケットサイズ分析部１４は、トラフィック監視部１１１によりサンプリングされたトラフィックのパケットサイズの分布を分析する（図８のＳ２１：トラフィックのサンプリングとパケットサイズの分布の分析）。その後、トラフィック監視部１１１が攻撃トラフィックを検知すると（Ｓ２２）、リソース制御部１２は、Ｓ２１で得られたパケットサイズの分布のうち、Ｓ２２で検知された攻撃トラフィックのパケットサイズの分布を用いてＳ２３〜Ｓ２６の処理を実行する。すなわち、リソース制御部１２は、Ｓ２１で得られたパケットサイズの分布のうち、Ｓ２２で検知された攻撃トラフィックのパケットサイズの分布を用いて図７のＳ１５〜Ｓ１８と同様の処理を実行する。例えば、図８のＳ２３において、キャパシティ算出部１２３は、１台のVNFが単位時間あたり処理可能なトラフィック量を算出する際、Ｓ２１で得られたパケットサイズの分布のうち、Ｓ２２で検知された攻撃トラフィックのパケットサイズの分布を用いて１台のVNFが単位時間あたり処理可能なトラフィック量を算出する。
【００８９】
このような制御システム１０ａによれば、パケットサイズ分析部１４は、トラフィック監視部１１１がサンプリングするトラフィックを対象に常時パケットサイズの分布を分析するので、リソース制御部１２は、引き込んだトラフィックのパケットサイズの分布が変化したとしても、これに応じてVNF設置数を増減させることができる。
【００９０】
（プログラム）
また、上記の実施形態で述べた制御システム１０，１０ａの機能を実現するプログラムを所望の情報処理装置（コンピュータ）にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のプログラムを情報処理装置に実行させることにより、情報処理装置を制御システム１０，１０ａとして機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータ、ラック搭載型のサーバコンピュータ等が含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）等の移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistants）等がその範疇に含まれる。また、制御システム１０，１０ａを、クラウドサーバに実装してもよい。
【００９１】
図９を用いて、上記のプログラム（異常検出プログラム）を実行するコンピュータの一例を説明する。図９に示すように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００９２】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。ディスクドライブ１１００には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１１１０およびキーボード１１２０が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１１３０が接続される。
【００９３】
ここで、図９に示すように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。前記した実施形態で説明した各種データや情報は、例えばハードディスクドライブ１０９０やメモリ１０１０に記憶される。
【００９４】
そして、ＣＰＵ１０２０が、ハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００９５】
なお、上記の異常検出プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、上記のプログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮやＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００９６】
１０，１０ａ  制御システム
１１  フローコレクタ部
１２  リソース制御部
１３  オーケストレータ部
１４  パケットサイズ分析部
１２０  キャパシティ制御部
１２１  既存提供リソース量算出部
１２２  必要リソース量算出部
１２３  キャパシティ算出部
１２４  設置数算出部
１３０  記憶部
１３１  VNF情報収集部
１３２  リソース増減部
【図１】
2020014169.tif 000003
【図２】
2020014169.tif 000004
【図３】
2020014169.tif 000005
【図４】
2020014169.tif 000006
【図５】
2020014169.tif 000007
【図６】
2020014169.tif 000008
【図７】
2020014169.tif 000009
【図８】
2020014169.tif 000010
【図９】
2020014169.tif 000011