(57)【特許請求の範囲】
【請求項１】
サービスチェーンを構成するノードのインスタンスの数を示すスケール数と前記ノードが処理可能なサービス量との関係を定式化する第１の式を生成する第１の式生成手段と、
前記スケール数の増減と前記ノードにおける処理の遅延時間との関係を定式化する第２の式を生成する第２の式生成手段と、
前記サービスチェーンにおけるトラフィック量の測定値を用いて一定時間後の前記トラフィック量を予測するトラフィック予測手段と、
前記ノードに対して、前記第１の式に基づいて、前記一定時間後のトラフィック量を処理可能な前記サービス量から一定時間後に必要な前記スケール数の増減を算出し、前記第２の式に基づいて、前記スケール数の増減から前記遅延時間を算出し、前記遅延時間を基に前記スケール数の増減のタイミングを設定した制御スケジュールを生成する制御スケジュール生成手段と、を包含する、サービスチェーン管理装置。
【請求項２】
前記トラフィック量の測定値を用いて時系列解析手法によりトラフィック量変動予測式を導出するトラフィック予測式生成手段を更に備え、
前記トラフィック予測手段が、前記トラフィック量変動予測式に基づいて、前記トラフィック量を予測する、請求項１に記載のサービスチェーン管理装置。
【請求項３】
前記制御スケジュール生成手段が、複数の前記ノードに対応する前記制御スケジュールを時刻の順にソートする、請求項１または２に記載のサービスチェーン管理装置。
【請求項４】
請求項１乃至３のいずれかに記載のサービスチェーン管理装置と、
前記サービスチェーンを実行するサービスチェーン実行装置から、前記サービス量、前記スケール数の増減に対応する前記遅延時間、及び、前記トラフィック量を測定する測定装置と、
前記制御スケジュールに基づいて、前記サービスチェーン実行装置に対して、対象の前記ノードの前記スケール数の増減の制御を行う制御装置と、を備えた、サービスチェーン管理システム。
【請求項５】
サービスチェーンを構成するノードのインスタンスの数を示すスケール数と前記ノードが処理可能なサービス量との関係を定式化する第１の式を生成し、
前記スケール数の増減と前記ノードにおける処理の遅延時間との関係を定式化する第２の式を生成し、
前記サービスチェーンにおけるトラフィック量の測定値を用いて一定時間後の前記トラフィック量を予測し、
前記ノードに対して、前記第１の式に基づいて、前記一定時間後のトラフィック量を処理可能な前記サービス量から一定時間後に必要な前記スケール数の増減を算出し、前記第２の式に基づいて、前記スケール数の増減から前記遅延時間を算出し、前記遅延時間を基に前記スケール数の増減のタイミングを設定した制御スケジュールを生成する、サービスチェーン管理方法。
【請求項６】
前記トラフィック量の測定値を用いて時系列解析手法によりトラフィック量変動予測式を導出し、
前記トラフィック量変動予測式に基づいて、前記トラフィック量を予測する、請求項５に記載のサービスチェーン管理方法。
【請求項７】
複数の前記ノードに対応する前記制御スケジュールを時刻の順にソートする、請求項５または６に記載のサービスチェーン管理方法。
【請求項８】
サービスチェーンを構成するノードのインスタンスの数を示すスケール数と前記ノードが処理可能なサービス量との関係を定式化する第１の式を生成する処理と、
前記スケール数の増減と前記ノードにおける処理の遅延時間との関係を定式化する第２の式を生成する処理と、
前記サービスチェーンにおけるトラフィック量の測定値を用いて一定時間後の前記トラフィック量を予測する処理と、
前記ノードに対して、前記第１の式に基づいて、前記一定時間後のトラフィック量を処理可能な前記サービス量から一定時間後に必要な前記スケール数の増減を算出し、前記第２の式に基づいて、前記スケール数の増減から前記遅延時間を算出し、前記遅延時間を基に前記スケール数の増減のタイミングを設定した制御スケジュールを生成する処理と、をコンピュータに実行させるためのプログラム。
【請求項９】
前記トラフィック量の測定値を用いて時系列解析手法によりトラフィック量変動予測式を導出する処理と、
前記トラフィック量変動予測式に基づいて、前記トラフィック量を予測する処理と、を前記コンピュータに実行させるための請求項８に記載のプログラム。
【請求項１０】
複数の前記ノードに対応する前記制御スケジュールを時刻の順にソートする処理、を前記コンピュータに実行させるための請求項８または９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービスチェーン管理装置、サービスチェーン管理システム、サービスチェーン管理方法、及び、プログラム記録媒体に関する。
【背景技術】
【０００２】
ＩＴ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）サービス提供者は、携帯電話やコンピュータ等の端末向けに、ネットワークを経由したＩＴサービス（例：Ｗｅｂサーバや動画配信、業務システム等）を提供する。この場合、ＩＴサービスで利用されるネットワークには、不要なトラフィックの排除やＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス変換といったネットワーク機能が必要となる。たとえば、ネットワークを利用するＩＴサービス提供者は、ＬＢ（ロードバランサ：Ｌｏａｄ  Ｂａｌａｎｃｅｒ）やＦＷ（ファイアウォール：Ｆｉｒｅｗａｌｌ）、ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）等の、ネットワーク機能を提供するノードを連結させたサービスチェーンを利用する。【０００３】
ＩＴサービスの利用トラフィック量は、利用者数や時間帯といった複数の要因により、常に変動する。既存のネットワーク制御技術では、各種ノードは専用機器であり、スループット性能の制御は困難である。そのため、サービスチェーン側のスループット性能に合わせてサービスチェーンに流入するトラフィック量を調整する必要があった。【０００４】
これに対し、ＮＦＶ（Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ）やＳＤＮ（Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｒｋｉｎｇ）といったネットワーク機能仮想化技術が開発されている。この仮想化技術では、ＬＢやＦＷといったノード毎に、ノード内の仮想インスタンスの並列数を増加（スケールアウト）または減少（スケールイン）させる制御が可能である。このような制御により、スループット性能を適切に制御することが可能である。このとき、ノードのスケールアウト・スケールイン制御は、ノードインスタンスの生成・削除、ネットワーク設定の変更、ノードインスタンス内の設定変更といった処理を行うため、１０分から１５分程度の遅延を発生させる。【０００５】
このようなサービスチェーンを管理するためのシステムの一例が、特許文献１に記載されている。特許文献１に記載のネットワークシステムは、ＬＢやＦＷといった中継処理装置とサーバ装置、制御機能を提供するコントローラ装置から構成されている。このような構成を有するネットワークシステムは、中継処理装置のスケールアウト・スケールインによるスループット性能の調整を、コントローラ装置経由の手動操作によって行う。【０００６】
また、特許文献２に記載の仮想サーバ制御システムは、パブリッククラウド等の対象システムにおける仮想サーバ等のスケール制御に関し、特に、対象システムのサーバ負荷や起動時間を考慮した、静的なスケール制御を行う。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】国際公開第２０１１／０４９１３５号
【特許文献２】国際公開第２０１３／０２４６０１号
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記の各特許文献に記載されたシステムでは、動的に変化するトラフィック量に合わせて、サービスチェーンのスループット性能を制御することが困難である。その理由は、各種ノードのスケールアウト・スケールイン制御に遅延が生じるため、制御実行時のスループット性能が、制御完了時点のトラフィック量に対して不足または余剰になるからである。【０００９】
本発明の目的は、動的に変化するトラフィック量に合わせたサービスチェーンのスループット性能の制御を実現する場合における前述の課題を解決できるサービスチェーン管理システムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一態様に係るサービスチェーン管理装置は、サービスチェーンを構成するノードのインスタンスの数を示すスケール数と前記ノードが処理可能なサービス量との関係を定式化する第１の式を生成する第１の式生成手段と、前記スケール数の増減と前記ノードにおける処理の遅延時間との関係を定式化する第２の式を生成する第２の式生成手段と、前記サービスチェーンにおけるトラフィック量の測定値を用いて一定時間後の前記トラフィック量を予測するトラフィック予測手段と、前記ノードに対して、前記第１の式に基づいて、前記一定時間後のトラフィック量を処理可能な前記サービス量から一定時間後に必要な前記スケール数の増減を算出し、前記第２の式に基づいて、前記スケール数の増減から前記遅延時間を算出し、前記遅延時間を基に前記スケール数の増減のタイミングを設定した制御スケジュールを生成する制御スケジュール生成手段と、を包含する。【００１１】
本発明の一態様に係るサービスチェーン管理方法は、サービスチェーンを構成するノードのインスタンスの数を示すスケール数と前記ノードが処理可能なサービス量との関係を定式化する第１の式を生成し、前記スケール数の増減と前記ノードにおける処理の遅延時間との関係を定式化する第２の式を生成し、前記サービスチェーンにおけるトラフィック量の測定値を用いて一定時間後の前記トラフィック量を予測し、前記ノードに対して、前記第１の式に基づいて、前記一定時間後のトラフィック量を処理可能な前記サービス量から一定時間後に必要な前記スケール数の増減を算出し、前記第２の式に基づいて、前記スケール数の増減から前記遅延時間を算出し、前記遅延時間を基に前記スケール数の増減のタイミングを設定した制御スケジュールを生成する。【００１２】
本発明の一態様に係るプログラムは、コンピュータに、サービスチェーンを構成するノードのインスタンスの数を示すスケール数と前記ノードが処理可能なサービス量との関係を定式化する第１の式を生成する処理と、前記スケール数の増減と前記ノードにおける処理の遅延時間との関係を定式化する第２の式を生成する処理と、前記サービスチェーンにおけるトラフィック量の測定値を用いて一定時間後の前記トラフィック量を予測する処理と、前記ノードに対して、前記第１の式に基づいて、前記一定時間後のトラフィック量を処理可能な前記サービス量から一定時間後に必要な前記スケール数の増減を算出し、前記第２の式に基づいて、前記スケール数の増減から前記遅延時間を算出し、前記遅延時間を基に前記スケール数の増減のタイミングを設定した制御スケジュールを生成する処理と、を実行させる。
【発明の効果】
【００１３】
本発明によれば、サービスチェーンのスループット性能の動的最適化を実現することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、ネットワーク機能を提供するノードを連結させたサービスチェーンの一例を示す図である。
【図２】図２は、本発明の第１の実施形態に係る、サービスチェーン管理システムの構成の一例を示すブロック図である。
【図３】図３は、本発明の第１の実施形態におけるサービスチェーン管理システムを、コンピュータ装置である情報処理装置で実現したハードウェア回路を示すブロック図である。
【図４】図４は、稼働率の式を導出する動作を示す流れ図である。
【図５】図５は、制御遅延式を導出する動作を示す流れ図である。
【図６】図６は、トラフィック量予測式を導出する動作を示す流れ図である。
【図７】図７は、予測トラフィック量を算出する動作を示す流れ図である。
【図８】図８は、制御スケジュールを導出する動作を示す流れ図である。
【図９】図９は、トラフィック量記憶装置及びそこに格納されるデータの一例を示す図である。
【図１０】図１０は、第３の式記憶部及びそこに格納されるデータの一例を示す図である。
【図１１】図１１は、予測トラフィック記憶部及びそこに格納されるデータの一例を示す図である。
【図１２】図１２は、制御遅延記憶装置及びそこに格納されるデータの一例を示す図である。
【図１３】図１３は、第２の式記憶部及びそこに格納されるデータの一例を示す図である。
【図１４】図１４は、第１の式記憶部及びそこに格納されるデータの一例を示す図である。
【図１５】図１５は、サービス時間記憶装置及びそこに格納されるデータの一例を示す図である。
【図１６】図１６は、サービスチェーン構成記憶装置及びそこに格納されるデータの一例を示す図である。
【図１７】図１７は、制御スケジュール記憶装置及びそこに格納されるデータの一例を示す図である。
【図１８】図１８は、本発明の第２の実施形態に係る、サービスチェーン管理装置の構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１５】
図１は、ネットワーク機能を提供するノードを連結させたサービスチェーンの一例を示す図である。
【００１６】
図１は、右端に示すＩＴシステム、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）システム、通話システム、及び、動画配信システム等の各種のサービスを左端の顧客（モバイルアクセス：Ｍｏｂｉｌｅ  Ａｃｃｅｓｓ）に提供するために構成されたサービスチェーンの一例を示す。
【００１７】
ＩＴシステムは、ＮＡＴ、ＦＷ（ファイアウォール）、Ｗｅｂ  Ｐｒｏｘｙ（ウェブプロキシ）、ＬＢ（ロードバランサ）の各ノードで構成されるサービスチェーンに接続する。ＶＰＮシステムは、Ｒｏｕｔｅｒ  ＡＣＬ（Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｌｉｓｔ）のノードで構成されるサービスチェーンに接続する。通話システムは、ＳＢＣ（Ｓｅｓｓｉｏｎ  Ｂｏｒｄｅｒ  Ｃｏｎｔｒｏｌｌｅｒ）のノードで構成されるサービスチェーンに接続する。動画配信システムは、ＦＷ、Ｖｉｄｅｏ  Ｏｐｔｉｍｉｚｅｒの各ノードで構成されるサービスチェーンに接続する。
【００１８】
なお、各サービスチェーンは、ＡＰＮ（Ａｃｃｅｓｓ  Ｐｏｉｎｔ  Ｎａｍｅ）、ゲートウェイ装置（Ｐ−ＧＷ：Ｐａｃｋｅｔ  Ｄａｔａ  Ｎｅｔｗｏｒｋ−Ｇａｔｅｗａｙ）を介して、ユーザ（Ｍｏｂｉｌｅ  Ａｃｃｅｓｓ）に接続される。
【００１９】
次に本発明を実施するための第一の形態について図面を参照して詳細に説明する。
【００２０】
図２は、本発明の第１の実施形態に係る、サービスチェーン管理システム４００の構成の一例を示すブロック図である。
【００２１】
図２を参照すると、サービスチェーン管理システム４００は、サービスチェーン管理装置１００、測定装置２００、制御装置２０１、サービス時間記憶装置２０２、制御遅延記憶装置２０３、トラフィック量記憶装置２０４、サービスチェーン構成記憶装置２０５、及び、制御スケジュール記憶装置２０６を備えている。
【００２２】
また、サービスチェーン実行装置３００は、図１に示すような複数のサービスチェーンが稼働する環境を提供する。
【００２３】
なお、図２は、サービスチェーンの例として、上段のＦＷ、ＬＢ、Ｐｒｏｘｙ、ＮＡＴによる構成、及び、下段のＦＷ、ＤＰＩ（Ｄｅｅｐ  Ｐａｃｋｅｔ  Ｉｎｓｐｅｃｔｉｏｎ）による構成を記載している。
【００２４】
サービスチェーン管理装置１００は、第１の式生成部１０１、第１の式記憶部１０２、第２の式生成部１０３、第２の式記憶部１０４、第３の式生成部１０５、第３の式記憶部１０６、トラフィック予測部１０７、予測トラフィック記憶部１０８、及び、制御スケジュール生成部１０９を備える。
【００２５】
第１の式生成部１０１は、サービスチェーンを構成するノードのインスタンスの数を示すスケール数とノードが処理可能なサービス量との関係を定式化する稼働率の式（第１の式）を生成する。
【００２６】
第１の式記憶部１０２は、第１の式生成部１０１で生成された式を格納する。第１の式記憶部１０２に格納されるデータについては、図１４を参照して後述する。
【００２７】
第２の式生成部１０３は、スケール数の増減とノードにおける処理の遅延時間との関係を定式化する制御遅延式（第２の式）を生成する。
【００２８】
第２の式記憶部１０４は、第２の式生成部１０３で生成された制御遅延式を格納する。第２の式記憶部１０４に格納されるデータについては、図１３を参照して後述する。
【００２９】
第３の式生成部１０５は、トラフィック量の測定値を用いてトラフィック量の変動を表すトラフィック予測式（第３の式）を導出する。
【００３０】
第３の式記憶部１０６は、第３の式生成部１０５で導出されたトラフィック予測式を格納する。第３の式記憶部１０６に格納されるデータについては、図１０を参照して後述する。
【００３１】
トラフィック予測部１０７は、サービスチェーンにおけるトラフィック量の測定値と第３の式記憶部１０６に格納されたトラフィック予測式とを用いて一定時間後のトラフィック量を予測する。
【００３２】
予測トラフィック記憶部１０８は、トラフィック予測部１０７で予測されたトラフィック量（以下、予測トラフィック量とも言う）を格納する。予測トラフィック記憶部１０８に格納されるデータについては、図１１を参照して後述する。
【００３３】
なお、第１の式記憶部１０２、第２の式記憶部１０４、第３の式記憶部１０６、及び、予測トラフィック記憶部１０８は、それぞれ、個別の記憶装置でも、１つあるいは２つの記憶装置で構成されてもよく、図２に示す構成に限定されない。
【００３４】
制御スケジュール生成部１０９は、稼働率の式と将来のトラフィック量の変動（予測トラフィック量）とノードの制御遅延（制御遅延式）に基づいて、サービスチェーンを構成するノードのスケール数の変更と制御開始のタイミングを含む制御スケジュールを決定する。
【００３５】
測定装置２００は、サービス時間記憶装置２０２、制御遅延記憶装置２０３、及び、トラフィック量記憶装置２０４に、それぞれ接続する。測定装置２００は、サービスチェーン実行装置３００に対して各種測定を実施して各種測定データを発生する。測定装置２００は、測定データをその種別ごとに対応する記憶装置に格納する。測定データは、サービスチェーンに対するサービス時間、データ量、各種ノード毎に、スケール数を変更した際の処理遅延時間とその変更前後のスケール数の値、サービスチェーンに流入するトラフィック量を含む。なお、サービス時間記憶装置２０２、制御遅延記憶装置２０３、及び、トラフィック量記憶装置２０４は、測定装置２００の中に構成されてもよいし、内部バスまたはネットワークを介して測定装置２００に接続されていてもよい。
【００３６】
サービス時間記憶装置２０２は、サービス時間のログとデータ量のログを格納する。サービス時間記憶装置２０２に格納されるデータについては、図１５を参照して後述する。制御遅延記憶装置２０３は、各種ノード毎に、スケール数を変更した際の処理遅延時間と変更前後のスケール数の値を格納する。制御遅延記憶装置２０３に格納されるデータについては、図１２を参照して後述する。トラフィック量記憶装置２０４は、サービスチェーンに流入するトラフィック量のログを格納する。トラフィック量記憶装置２０４に格納されるデータについては、図９を参照して後述する。サービスチェーン構成記憶装置２０５は、サービスチェーン構成情報を格納する。サービスチェーン構成記憶装置２０５に格納されるデータについては、図１６を参照して後述する。制御スケジュール記憶装置２０６は、各ノードの制御スケジュールを格納する。制御スケジュール記憶装置２０６に格納されるデータについては、図１７を参照して後述する。
【００３７】
制御装置２０１は、制御スケジュール記憶装置２０６に格納されるデータ（後述される図１７に示す制御スケジュール情報）に基づいて、サービスチェーン実行装置３００に対する処理の制御を実行する。
【００３８】
なお、第１の式生成部１０１、第２の式生成部１０３、第３の式生成部１０５、及び、トラフィック予測部１０７は、それぞれサービス時間記憶装置２０２、制御遅延記憶装置２０３、及び、トラフィック量記憶装置２０４から必要な情報を読み取るように構成されてもよい。
【００３９】
以上説明したサービスチェーン管理システム４００において、第１の式生成部１０１、第２の式生成部１０３、第３の式生成部１０５、トラフィック予測部１０７、制御スケジュール生成部１０９、測定装置２００、及び、制御装置２０１は、それぞれ論理回路等のハードウェアで構成されてもよい。
【００４０】
また、第１の式記憶部１０２、第２の式記憶部１０４、第３の式記憶部１０６、予測トラフィック記憶部１０８、サービス時間記憶装置２０２、制御遅延記憶装置２０３、トラフィック量記憶装置２０４、サービスチェーン構成記憶装置２０５、及び、制御スケジュール記憶装置２０６は、ディスク装置、半導体メモリ、等の記憶装置で構成されてもよい。
【００４１】
サービスチェーン管理システム４００は、プロセッサ及び記憶装置を含むコンピュータ装置によって構成されてもよい。この場合、第１の式生成部１０１、第２の式生成部１０３、第３の式生成部１０５、トラフィック予測部１０７、制御スケジュール生成部１０９、測定装置２００、及び、制御装置２０１は、コンピュータであるサービスチェーン管理システム４００のプロセッサが、図示されない不揮発性メモリに格納されたプログラムを読み取り、それを実行することで機能するよう実現されてもよい。
【００４２】
図３は、本発明の第１の実施形態におけるサービスチェーン管理システム４００を、コンピュータ装置である情報処理装置５００で実現したハードウェア回路を示すブロック図である。なお、サービスチェーン実行装置３００の各ノードは、コンピュータ装置で構成されてもよい。
【００４３】
図３に示されるように、情報処理装置５００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０１、メモリ５０２、プログラムを格納するハードディスク等の記憶装置５０３、およびネットワーク接続用のＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）５０４（インターフェース５０４）を含む。また、情報処理装置５００は、バス５０５を介して入力装置５０６および出力装置５０７に接続されている。Ｉ／Ｆ５０４は、図２の測定装置２００、制御装置２０１の一部に対応する。
【００４４】
ＣＰＵ５０１は、オペレーティングシステムを動作させて情報処理装置５００の全体を制御する。また、ＣＰＵ５０１は、例えばドライブ装置などに装着された記録媒体５０８からプログラムやデータを読み出し、メモリ５０２に格納してもよい。また、ＣＰＵ５０１は、第１の実施形態における、第１の式生成部１０１、第２の式生成部１０３、第３の式生成部１０５、トラフィック予測部１０７、制御スケジュール生成部１０９、測定装置２００、及び、制御装置２０１の一部として機能し、プログラムに基づいて各種の処理を実行する。ＣＰＵ５０１は、複数のＣＰＵによって構成されてもよい。
【００４５】
記憶装置５０３は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、または半導体メモリ等である。記録媒体５０８は、不揮発性記憶装置であり、そこにＣＰＵ５０１が実行するプログラムを記録する。記録媒体５０８は、記憶装置５０３の一部であってもよい。また、プログラムは、通信網に接続されている図示しない外部コンピュータからＩ／Ｆ５０４を介してダウンロードされてもよい。
【００４６】
入力装置５０６は、例えばマウスやキーボード、内蔵のキーボタンなどで実現され、入力操作に用いられる。入力装置５０６は、マウスやキーボード、内蔵のキーボタンに限らず、例えばタッチパネルでもよい。出力装置５０７は、例えばディスプレイで実現され、出力を確認するために用いられる。
【００４７】
以上のように、図２に示す第１の実施形態におけるサービスチェーン管理システム４００に対応する情報処理装置は、図３に示されるハードウェア構成によって実現される。
ただし、情報処理装置５００は、図３の構成に限定されない。例えば、入力装置５０６、出力装置５０７は、インターフェース５０４を介して外付けされるものでもよい。
【００４８】
また、情報処理装置５００は、物理的に結合した一つの装置により実現されてもよいし、物理的に分離した二つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
【００４９】
次に、本実施形態の全体の動作について説明する。
[稼働率の式導出]
図４は、稼働率の式を導出する動作を示す流れ図である。
【００５０】
第１の式生成部１０１は、ノード毎に（ステップＡ１）サービス時間記憶装置２０２よりサービス時間のログとデータ量のログ（ログ集合）を読み出す（ステップＡ２）。図１５はサービス時間記憶装置２０２及びそこに格納される情報の一例を示す図である。図１５において、各行は、サービスが発生したノードに対応する情報を示す。また、各ノードに対応する情報は、サービスを示す識別情報（ＩＤ：Ｉｄｅｎｔｉｆｉｅｒ）、ノード識別情報（ｎｏｄｅ  ＩＤ）、ノードのタイプ、サービスの開始時間、サービスの終了時間、及び、対応するノードにおけるログの情報のデータ量（単位：Ｍｂｐｓ）を含む。なお、図１５において、ログの情報については、省略されているが、ＩＤごとにログが関連付けられている。情報の内容については、後述の実施例で説明する。
【００５１】
第１の式生成部１０１は、各ログを入力データとして各種ノード毎に平均サービス時間を算出し（ステップＡ３）、その平均サービス時間で平均データ量を割った値をサービス量として第１の式記憶部１０２に格納する（ステップＡ３）。
【００５２】
図１４は第１の式記憶部１０２及びそこに格納される情報の一例を示す図である。図１４において、各行は、対象のノードに対応する状態情報を示す。また、各ノードに対応する状態情報は、状態の識別のためのＩＤ及び対象ノードのタイプ毎に、稼働率の式、稼働率ρの値、及び、サービス量μの値を含む。
【００５３】
ここで、ノードの振る舞いを定式化した稼働率の式としては、例えば、複数窓口の待ち行列モデル（Ｍ／Ｍ／Ｓ）における稼働率の式（１）が適している。
【００５４】
【数１】
0006493400.tif 000002
【００５５】
ただし、λはノードに到着するトラフィック量（例：Ｍｂｐｓ）、μはノードインスタンス単体が処理可能なサービス量（単位：Ｍｂｐｓ）を示し、Ｓはノードインスタンスの数を示すスケール数である。
【００５６】
トラフィック量λに対応するために必要なスケール数Ｓは、式（１）においてρ、λ、及び、μを入力することで求められる。
[制御遅延式導出]
図５は、制御遅延式を導出する動作を示す流れ図である。
【００５７】
第２の式生成部１０３は、制御遅延記憶装置２０３より、各種ノード毎に（ステップＢ１）スケール数を変更した際の処理遅延時間と変更前後のスケール数の値（ログ集合）を読み取る（ステップＢ２）。図１２は制御遅延記憶装置２０３及びそこに格納される情報の一例を示す図である。図１２において、各行は、対象のノードに対応する遅延状態情報を示す。また、各ノードに対応する遅延状態情報は、遅延状態の識別のためのＩＤ及び対象ノードのタイプ毎に、制御前のスケール数と制御後のスケール数、及び、スケール数を変更した際の処理の遅延時間を含む。
【００５８】
次に、第２の式生成部１０３は、読み取ったデータをスケールアウト時とスケールイン時の情報に分け（ステップＢ３）、分けられたデータのそれぞれの処理遅延時間を目的変数及びスケール数を説明変数とし、スケール増減数の関係を回帰分析等の解析手段により定式化する（ステップＢ４）。これは、スケールアウト時とスケールイン時では、処理遅延時間が異なるためである。この後、第２の式生成部１０３は、この式を制御遅延式として、第２の式記憶部１０４に格納する。
【００５９】
図１３は第２の式記憶部１０４及びそこに格納される情報の一例を示す図である。図１３において、各行は、対象のノードに対応する遅延予測情報を示す。また、各ノードに対応する遅延予測情報は、遅延予測の識別のためのＩＤ及び対象ノードのタイプ毎に、スケールアウト時とスケールイン時の制御遅延式（推定式）を含む。
[トラフィック予測式導出]
図６は、トラフィック予測式を導出する動作を示す流れ図である。
【００６０】
まず、第３の式生成部１０５は、一定時間毎に（ステップＣ１）、トラフィック量記憶装置２０４からサービスチェーンに流入するトラフィック量のログ（ログ集合）を読み取る（ステップＣ２）。図９はトラフィック量記憶装置２０４及びそこに格納されるログの一例を示す図である。図９において、各行は、対象のサービスチェーンのトラフィック情報を示す。トラフィック量記憶装置２０４は、そのトラフィック情報として、各サービスチェーンに流入するトラフィック量、発生時刻のログ（タイムスタンプ）、分散及びログのＩＤを、チェーンＩＤ毎に格納する。
【００６１】
次に、第３の式生成部１０５は、トラフィック量のログに対し、自己回帰移動平均（ＡＲＭＡ：Ａｕｔｏｒｅｇｒｅｓｓｉｖｅ  Ｍｏｖｉｎｇ  Ａｖｅｒａｇｅ  Ｍｏｄｅｌ）等の時系列データを予測可能な解析手法により、トラフィック予測式を導出し、第３の式記憶部１０６に格納する（ステップＣ３）。
【００６２】
図１０は第３の式記憶部１０６及びそこに格納される情報の一例を示す図である。図１０において、各行は、対象のサービスチェーンに対応するトラフィック予測式情報を示す。第３の式記憶部１０６は、トラフィック予測式情報として、データ識別のためのＩＤおよびチェーンＩＤ毎に、一定時間毎に格納されたトラフィック予測式を格納する。
【００６３】
なお、トラフィック量は急な変動をすることがあるため、変動を吸収するために、ＡＲＭＡ等の移動平均を用いた時系列解析手法が適している。ＡＲＭＡは以下の式（２）に示すような定式化が可能で、時点tのトラフィック量（Ｍｂｐｓ）は、単位時間（例：１分）p回分過去までのトラフィック量と、単位時間q回分過去までのトラフィック量の分散εの値から推定することができる。
【００６４】
【数２】
0006493400.tif 000003
【００６５】
ただし、ｘｔは時点ｔのトラフィック量、εｔは時点ｔの分散、φｉ及びθｉは係数である。ｉは、自然数で、ｐまたはｑまでの値である。ｘｔ−ｉは、時点ｔから単位時間ｉ回分過去の時点のトラフィック量を示し、εｔ−ｉは、時点ｔから単位時間ｉ回分過去の時点のトラフィック量の分散を示す。
【００６６】
ここで、上記のステップを一定時間（単位時間）毎に繰り返す理由は、トラフィック予測式を更新し、予測精度を高めるためである。なお、後述の予測スケジュール生成の繰り返しループが回る前に、トラフィック予測式の更新が完了することが望ましい。
[予測トラフィック量生成]
図７は、予測トラフィック量を算出する動作を示す流れ図である。
【００６７】
トラフィック予測部１０７は、単位時間を１ステップとしてループを回し（ステップＤ１）、第３の式記憶部１０６（図１０）から最新のトラフィック予測式を読み出す（ステップＤ２）。次に、トラフィック予測部１０７は、トラフィック予測式に記述された回数の分の過去のトラフィック量をトラフィック量記憶装置２０４（図９）から取り出し、単位時間１つ分先のトラフィック量を予測する（ステップＤ３）。
【００６８】
この計算を単位時間のステップごとに繰り返すことにより、トラフィック予測部１０７は、今後の制御スケジュール終了時点までの予測トラフィック量を算出する。さらに、トラフィック予測部１０７は、予測トラフィック量が極大・極小となる転換点にて、極大・極小を示す「ｍａｘｉｍａｌ」、「ｍｉｎｉｍａｌ」フラグ情報を付与して予測トラフィック記憶部１０８に格納する（ステップＤ４）。
【００６９】
図１１は、予測トラフィック記憶部１０８及びそこに格納されるデータの一例を示す図である。図１１において、各行は、トラフィック量の予測値の情報を示す。また、予測トラフィック記憶部１０８は、ＩＤ（単位時間）毎に、現在時刻（タイムスタンプ）、各時間に対応する現在時刻から一定時間（たとえば、１時間）分先までの予測トラフィック量、及び、上記の「ｍａｘｉｍａｌ」、「ｍｉｎｉｍａｌ」のフラグ情報を含む転換点を格納する。なお、図中のｎ／ａは、フラグ情報が無い状態を示す。
[制御スケジュール生成]
図８は、制御スケジュールを導出する動作を示す流れ図である。
【００７０】
制御スケジュール生成部１０９は、オペレータによって指定されたサービスチェーン構成情報をサービスチェーン構成記憶装置２０５から取り出し、第１の式記憶部１０２（図１４）から稼働率の式、稼働率、及び、サービス量の各情報を取り出し、第２の式記憶部１０４（図１３）から制御遅延式を取り出し、予測トラフィック量の情報を予測トラフィック記憶部１０８（図１１）から取り出す（ステップＥ１）。
【００７１】
図１６は、サービスチェーン構成記憶装置２０５及びそこに格納されるデータの一例を示す図である。図１６において、上図は、サービスチェーン実行装置３００で稼働している各サービスチェーンの構成を示すサービスチェーン情報である。また、図１６の下図は、上図のサービスチェーン情報で示されるサービスチェーンを構成する各ノードの情報を示す。各ノードの情報は、ノードＩＤと、ノードのタイプと、モデルと、ノードのスケール数を含む。スケール数は、前述したように、サービスチェーンを構成するノードのインスタンスの数を示す。
【００７２】
制御スケジュール生成部１０９は、１時間等の一定時間間隔で制御スケジュールを生成する。制御スケジュール生成部１０９は、以下の制御スケジュール生成過程を一定時間毎に繰り返し、かつノード毎に並列で制御スケジュールの生成を実行する（ステップＥ２）。
【００７３】
まず、制御スケジュール生成部１０９は、予測トラフィック記憶部１０８の情報（図１１）を読み出し、予測トラフィック量より、次の転換点（予測トラフィック量が極大・極小となる点）を選択する（ステップＥ３）。次に、制御スケジュール生成部１０９は、その転換点の手前で、第１の式記憶部１０２から読み取った現在のノードのサービス量（式（１）（図１４）におけるλ、すなわち、μ×Ｓ×ρの値）を超えるトラフィック量が有るかを判定する（ステップＥ４）。そして、制御スケジュール生成部１０９は、そのようなトラフィック量が有る場合には、その時刻を制御完了時刻とし（ステップＥ５）、そのようなトラフィック量が無い場合には、転換点の時刻を制御完了時刻とする（ステップＥ６）。
【００７４】
次に、制御スケジュール生成部１０９は、図１４に示す稼働率の式から、転換点のトラフィック量を処理できるスケール数（制御後）を算出する（ステップＥ７）。そして、制御スケジュール生成部１０９は、第２の式記憶部１０４にアクセスし、制御後のスケール数と制御前のスケール数の差分（スケール数の増減分ｘ）、及び、制御遅延式（推定式）に基づいて、制御遅延時間を算出する。また、制御スケジュール生成部１０９は、制御完了時刻から制御遅延時間を引き、制御開始時刻とする（ステップＥ８）。このとき、制御開始時刻が現在時刻より前（過去）の場合は（ステップＥ９）、制御スケジュール生成部１０９は、制御開始時刻を現在時刻に置き換える（ステップＥ１０）。
【００７５】
そして、制御スケジュール生成部１０９は、制御スケジュール、すなわち、制御開始時刻とスケール数を制御スケジュール記憶装置２０６に格納する（ステップＥ１１）。
【００７６】
図１７は、制御スケジュール記憶装置２０６及びそこに格納されるデータの一例を示す図である。図１７において、各行は、制御スケジュールを識別するＩＤ及び制御対象のノード毎に、制御開始時刻、制御後のスケール数を格納する。
【００７７】
その後、制御スケジュール生成部１０９は、次の転換点が無い場合はループを終了し（ステップＥ１２）、有る場合は再度ループを回す。
【００７８】
全ノードに対する処理完了後に、制御スケジュール生成部１０９は、制御スケジュール記憶装置２０６（図１７）の制御スケジュールの情報を時刻の順（昇順）にソートする（ステップＥ１３）。
【００７９】
この後、制御装置２０１は、制御スケジュール記憶装置２０６より制御スケジュールを取り出し、そのスケジュールに沿ってサービスチェーン実行装置３００のスケールアウト・スケールインの制御を行う。
【００８０】
本実施形態では、トラフィック予測部１０７が一定時間後までのトラフィック量の変動を予測し、制御スケジュール生成部１０９がトラフィック量の変動とノードの制御遅延も考慮した上で、スケール数の変更と制御開始タイミングを導出するというように構成されている。そのため、本実施形態は、サービスチェーンのスループット性能の動的最適化を実現できる。
［具体例］
次に、具体的な例を用いて、本実施形態の動作について詳細に説明する。
[サービスチェーン構成の定義]
サービスチェーンを管理する管理オペレータは、図２のサービスチェーン実行装置３００で稼働しているサービスチェーン（例：ＦＷ→ＬＢ→Ｐｒｏｘｙ→ＮＡＴ）の構成情報を、図１６に示すようにサービスチェーン構成記憶装置２０５に格納し、サービスチェーンを自動制御の対象とする。
[稼働率の式導出]
サービスチェーンを構成するノードのスループット性能は、待ち行列モデル（Ｍ／Ｍ／Ｓ）における稼働率の式（前述の式（１））で表現される。なお、この式は、第１の式記憶部１０２（図１４）に格納されている。
0006493400.tif 000004
【００８１】
ここで、λは到着するトラフィック量（例：Ｍｂｐｓ）、μはノードインスタンス単体が処理可能なサービス量（例：Ｍｂｐｓ）、Ｓはノードインスタンスの数を示すスケール数を示す。スケール数Ｓはサービスチェーン構成記憶装置２０５に定義されている（図１６）。稼働率ρは、各ノードにおける処理の混雑度（０〜１）を示し、１に近くなるほど待ち時間が長くなるが、ここでは０．７と指定することで待ち時間を抑制している（図１４）。
【００８２】
また、サービス量μは、第１の式生成部１０１により算出される。第１の式生成部１０１は、サービス時間記憶装置２０２より図１５に示すような各ノードにおけるサービス開始時間と終了時間を取得する。そして、第１の式生成部１０１は、サービスの終了時間と開始時間の差をサービス時間とし、サービス時間の平均とデータ量の平均から処理能力を示すサービス量μ（Ｍｂｐｓ）を算出し、第１の式記憶部１０２（図１４）のサービス量の列の値として格納する。
[制御遅延式導出]
ノードのスケール数増加時または減少時の処理遅延時間は、線形に近似できるとする。制御遅延記憶装置２０３は、図１２に示すように制御前のスケール数と制御後のスケール数、及び、ノードインスタンス生成・ネットワーク設定・ノードインスタンス設定変更が完了するまでの遅延時間を格納する。
【００８３】
制御遅延記憶装置２０３は、例えば対象ノードがＦＷの場合は、ＦＷのデータのうちスケール数が増加するデータ集合を取り出して回帰分析を行うことにより、以下の式（３）に示す定式化を行うことができる。
【００８４】
【数３】
0006493400.tif 000005
【００８５】
ただし、ｘはスケール数の増減分、ｙは遅延時間を示す。
【００８６】
なお、スケールアウト時とスケールイン時では処理遅延時間が異なるため、定式化は、別々に行う必要がある。
【００８７】
第２の式生成部１０３は、この式をＦＷのスケールアウト時の制御遅延式（推定式）として、図１３に示すように第２の式記憶部１０４に格納する。
[トラフィック予測式導出]
チェーンに流入するトラフィック量の予測には、自己回帰移動平均ＡＲＭＡを用いる。
第３の式生成部１０５は、トラフィック量記憶装置２０４より、図９に示すような、トラフィック量の過去のログを取り出す。このログは、単位時間毎に記録されている。
【００８８】
ＡＲＭＡでは、過去への遡りの範囲を[1≦p≦6、1≦q≦6]とし、pとqの組み合わせを変えたトラフィック予測式を生成し、赤池情報量基準（ＡＩＣ：Ａｋａｉｋｅ’ｓ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｃｒｉｔｅｒｉｏｎ）が最小となる式が最適な式として選択される。例えば、「２０１４／０３／０９：０８：００」時点でのトラフィック予測式において、ＡＩＣが最小となるpとqの組み合わせは、ｐ＝２、ｑ＝３となり、これによって前述の式（２）の各係数が決定される。その結果、第３の式生成部１０５は、以下の式（４）を生成する。そして、第３の式生成部１０５は、図１０に示すように第３の式記憶部１０６に、トラフィック予測式を格納する。
【００８９】
【数４】
0006493400.tif 000006
【００９０】
このトラフィック予測式は、一定間隔で生成される。間隔は、例えば、１時間とする。
[予測トラフィック量生成]
トラフィック予測部１０７は、図１０の第３の式記憶部１０６から最新のトラフィック量予測式を取り出す。トラフィック予測部１０７は、例えば、トラフィック量予測式のpの値が２、qの値が３の場合、大きい方を用いて、図９に示すトラフィック量記憶装置２０４から、現在時刻を含む過去３回分のトラフィック情報を読み出し、予測式より単位時間分１つ先のトラフィック量を推定する。
【００９１】
そして、トラフィック予測部１０７は、この計算を６０回繰り返すことにより、現在時刻から１時間分先までのトラフィック量を推定し、図１１に示すように予測トラフィック記憶部１０８に格納する。さらに、トラフィック予測部１０７は、その１時間分のデータにおいて予測トラフィック量が極大・極小となる転換点にて、極大・極小を示す「ｍａｘｉｍａｌ」、「ｍｉｎｉｍａｌ」のフラグ情報を付与する。
[制御スケジュール生成]
制御スケジュール生成部１０９は、１時間毎にサービスチェーン構成記憶装置２０５から図１６に示すサービスチェーン構成情報を取り出し、第１の式記憶部１０２から図１４に示す稼働率の式、稼働率、及び、サービス量の情報を取り出し、第２の式記憶部１０４から図１３に示す制御遅延式を取り出し、予測トラフィック記憶部１０８から図１１に示すように１時間分先までの予測トラフィック量の情報を取り出す。そして、制御スケジュール生成部１０９は、ノード毎に並列処理で制御スケジュールを生成する。
【００９２】
例えば、ノード１のＦＷの場合、制御スケジュール開始時点（現在時刻）のスケール数は、「Ｓ＝２」である（図１６）。また、稼働率の式は、下記に示す式（５）となっている（図１４）。
【００９３】
【数５】
0006493400.tif 000007
【００９４】
すなわち、この時のトラフィック量λは、「７０．３（Ｍｂｐｓ）」となる。
【００９５】
図１１の予測トラフィックは、「２０１４／０３／０９：１１：１８：００」の時点で最初の転換点（極大）となるが、その前の「２０１４／０３／０９：１１：１２：００」の時点で「７２（Ｍｂｐｓ）」のトラフィック量である。すなわち、制御スケジュール生成部１０９は、開始時点のスケール数「２」では処理能力が不足することがわかる。
【００９６】
したがって、「２０１４／０３／０９：１１：１２：００」を最初の制御完了時刻とし、制御スケジュール生成部１０９は、この時点までにスケール数増加を終了させる必要がある。
【００９７】
また、転換点「２０１４／０３／０９：１１：１８：００」でのトラフィック量「１３８（Ｍｂｐｓ）」を処理可能なスケール数は、稼働率の式より「Ｓ＝４」となる。この場合、トラフィック量λは、「１４０．６（Ｍｂｐｓ）」となる。
【００９８】
ここで、ＦＷのスケールアウト時の制御遅延式は、前述の式（３）になる（図１３）。
0006493400.tif 000008
【００９９】
スケール数の増分「ｘ＝２」とすると、式（３）は、６５５（秒）の制御遅延を推定する。そのため、制御スケジュール生成部１０９は、制御完了時刻「２０１４／０３／０９：１１：１２：００」から６５５秒前の「２０１４／０３／０９：１１：０１：０５」を制御開始時刻とし、制御後のスケール数を「Ｓ＝４」としたＦＷの制御スケジュールを作成し、図１７に示すように制御スケジュール記憶装置２０６に格納する。
【０１００】
このような処理を繰り返すことにより、制御スケジュール生成部１０９は、制御スケジュールを作成する。そして、全ノードの処理完了後、制御スケジュール生成部１０９は、制御スケジュール記憶装置２０６内の制御スケジュールを時刻の順（昇順）にソートする。
【０１０１】
制御スケジュール生成部１０９は、この制御スケジュール生成処理を１時間毎に繰り返す。これにより、サービスチェーン管理システム４００は、サービスチェーン実行装置３００のネットワークのトラフィック量の変動に対応した自動制御が可能となる。
【０１０２】
制御装置２０１は、制御スケジュール記憶装置２０６より図１７に示す制御スケジュールを１時間分取り出し、そのスケジュールに沿ってスケールアウト・スケールインの制御を行う。
【０１０３】
本実施形態に係るサービスチェーン管理システム４００は、以下に記載するような効果を奏する。
【０１０４】
サービスチェーン管理システム４００は、サービスチェーンのスループット性能の動的最適化を実現できる。
【０１０５】
その理由は、将来のトラフィック量の変動を予測し、さらにノードの制御遅延も考慮した上で、スケール数の変更と制御開始タイミングを導出するためである。
＜第２の実施形態＞
次に、本発明の第２の実施形態について図面を参照して詳細に説明する。
【０１０６】
図１８は、本発明の第２の実施形態に係る、サービスチェーン管理装置６００の構成の一例を示すブロック図である。
【０１０７】
サービスチェーン管理装置６００は、第１の式生成部６０１、第２の式生成部６０２、トラフィック予測部６０３、及び、制御スケジュール生成部６０４を包含する。
【０１０８】
第１の式生成部６０１は、サービスチェーンを構成するノードのインスタンスの数を示すスケール数とノードが処理可能なサービス量との関係を定式化する式（第１の式）を生成する。
【０１０９】
第２の式生成部６０２は、スケール数の増減とノードにおける処理の遅延時間との関係を定式化する式（第２の式）を生成する。
【０１１０】
トラフィック予測部６０３は、サービスチェーンにおけるトラフィック量の測定値を用いて一定時間後のトラフィック量を予測する。
【０１１１】
制御スケジュール生成部６０４は、ノードに対して、第１の式に基づいて、一定時間後のトラフィック量を処理可能なサービス量から一定時間後に必要なスケール数の増減を算出し、第２の式に基づいて、スケール数の増減から遅延時間を算出し、遅延時間を基にスケール数の増減のタイミングを設定した制御スケジュールを生成する。
【０１１２】
本実施形態に係るサービスチェーン管理装置６００は、以下に記載するような効果を奏する。
【０１１３】
サービスチェーン管理装置６００は、サービスチェーンのスループット性能の動的最適化を実現できる。
【０１１４】
その理由は、将来のトラフィック量の変動を予測し、さらにノードの制御遅延も考慮した上で、スケール数の変更と制御開始タイミングを導出するためである。
【０１１５】
以上、図面を参照して本発明の実施形態を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１１６】
この出願は、２０１４年６月１９日に出願された日本出願特願２０１４-１２５９８９を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１１７】
１００    サービスチェーン管理装置
１０１    第１の式生成部
１０２    第１の式記憶部
１０３    第２の式生成部
１０４    第２の式記憶部
１０５    第３の式生成部
１０６    第３の式記憶部
１０７    トラフィック予測部
１０８    予測トラフィック記憶部
１０９    制御スケジュール生成部
２００    測定装置
２０１    制御装置
２０２    サービス時間記憶装置
２０３    制御遅延記憶装置
２０４    トラフィック量記憶装置
２０５    サービスチェーン構成記憶装置
２０６    制御スケジュール記憶装置
３００    サービスチェーン実行装置
４００    サービスチェーン管理システム
５００    情報処理装置
６００    サービスチェーン管理装置
６０１    第１の式生成部
６０２    第２の式生成部
６０３    トラフィック予測部
６０４    制御スケジュール生成部
【図１】
0006493400.tif 000009
【図２】
0006493400.tif 000010
【図３】
0006493400.tif 000011
【図４】
0006493400.tif 000012
【図５】
0006493400.tif 000013
【図６】
0006493400.tif 000014
【図７】
0006493400.tif 000015
【図８】
0006493400.tif 000016
【図９】
0006493400.tif 000017
【図１０】
0006493400.tif 000018
【図１１】
0006493400.tif 000019
【図１２】
0006493400.tif 000020
【図１３】
0006493400.tif 000021
【図１４】
0006493400.tif 000022
【図１５】
0006493400.tif 000023
【図１６】
0006493400.tif 000024
【図１７】
0006493400.tif 000025
【図１８】
0006493400.tif 000026