(57)【要約】  ノードの処理性能を正確に推定する。  サービス管理システム１００は、特徴量算出部１１４、及び、性能モデル生成部１１６を含む。特徴量算出部１１４は、ノードが提供するサービスに係る機能ルールに含まれる１以上の単語の各々の特徴量を算出する。性能モデル生成部１１６は、ノードに機能ルールが適用された時のノードの処理性能をもとに、機能ルールに含まれる１以上の単語の各々の特徴量とノードの処理性能とを関連付ける性能モデルを生成する。
2016203756.tif 000002
【特許請求の範囲】
【請求項１】
ノードが提供するサービスに係るルールに含まれる１以上の単語の各々の特徴量を算出する、特徴量算出手段と、
前記ノードに前記ルールが適用された時の前記ノードの処理性能をもとに、前記ルールに含まれる前記１以上の単語の各々の特徴量と前記ノードの処理性能とを関連付ける性能モデルを生成する、性能モデル生成手段と、
を備えたサービス管理システム。
【請求項２】
さらに、前記性能モデルを用いて、新たなルールに対する前記ノードの処理性能を推定し、当該推定した処理性能をもとに、前記ノードにおいて前記サービスに係る処理を行うノードインスタンスの、前記サービスに係る所定の条件を満たすために必要な数を算出し、出力する、インスタンス数算出手段を備える、
請求項１に記載のサービス管理システム。
【請求項３】
前記インスタンス数算出手段は、所定の待ち行列モデルに、前記推定した処理性能、前記ノードに対する最大トラフィック量、及び、所定の稼働率を適用することにより、前記ノードインスタンスの数を算出する、
請求項２に記載のサービス管理システム。
【請求項４】
前記インスタンス数算出手段は、１以上の前記ノードが連結されたサービスチェーンにおける当該１以上の前記ノードの各々について、当該ノードのノードインスタンスの数を算出する、
請求項２または３に記載のサービス管理システム
【請求項５】
前記ルールに含まれる１以上の単語の各々の特徴量は、当該ルールにおける当該単語の出現数をもとに算出される、
請求項１乃至４のいずれかに記載のサービス管理システム。
【請求項６】
前記性能モデル生成手段は、前記ノードの処理性能を目的変数、前記１以上の単語の各々の特徴量を説明変数とした統計解析により、前記性能モデルを生成する、
請求項１乃至５のいずれかに記載のサービス管理システム。
【請求項７】
ノードが提供するサービスに係るルールに含まれる１以上の単語の各々の特徴量を算出し、
前記ノードに前記ルールが適用された時の前記ノードの処理性能をもとに、前記ルールに含まれる前記１以上の単語の各々の特徴量と前記ノードの処理性能とを関連付ける性能モデルを生成する、
サービス管理方法。
【請求項８】
さらに、前記性能モデルを用いて、新たなルールに対する前記ノードの処理性能を推定し、当該推定した処理性能をもとに、前記ノードにおいて前記サービスに係る処理を行うノードインスタンスの、前記サービスに係る所定の条件を満たすために必要な数を算出し、出力する、
請求項７に記載のサービス管理方法。
【請求項９】
コンピュータに、
ノードが提供するサービスに係るルールに含まれる１以上の単語の各々の特徴量を算出し、
前記ノードに前記ルールが適用された時の前記ノードの処理性能をもとに、前記ルールに含まれる前記１以上の単語の各々の特徴量と前記ノードの処理性能とを関連付ける性能モデルを生成する、
処理を実行させるプログラムを格納する、コンピュータが読み取り可能な記録媒体。
【請求項１０】
さらに、前記性能モデルを用いて、新たなルールに対する前記ノードの処理性能を推定し、当該推定した処理性能をもとに、前記ノードにおいて前記サービスに係る処理を行うノードインスタンスの、前記サービスに係る所定の条件を満たすために必要な数を算出し、出力する、処理を実行させる、
請求項９に記載のプログラムを格納する、コンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービス管理システム、サービス管理方法、及び、記録媒体に関し、サービスを提供するノードを管理するための、サービス管理システム、サービス管理方法、及び、記録媒体に関する。
【背景技術】
【０００２】
携帯電話やコンピュータ等の端末向けのＷｅｂサーバや動画配信、業務システム等のＩＴ（Information Technology）サービスでは、サービス提供者は、サービス提供に必要なネットワーク機能を実現するために、サービスチェーンを利用する。図１６は、一般的なサービスチェーンの構成例を示す図である。図１６の例では、端末側のＰ−ＧＷ（Packet Data Network Gateway）と様々なサービスシステムの間に、ロードバランサ（ＬＢ：Load Balancer）やファイアウォール（ＦＷ：Firewall）等のノードを連結したサービスチェーンが配置されている。【０００３】
このようなＩＴサービスのトラフィック量は、利用者数や時間帯等の複数の要因により常に変動する。ノードが専用機器により構成されている場合、各ノードのスループット性能の制御は困難であるため、サービスチェーンのスループット性能に合わせて、サービスチェーンに流入するトラフィック量を調整する必要があった。【０００４】
近年、ＮＦＶ（Network Function Virtualization）やＳＤＮ（Software Defined Networking）等のネットワーク機能の仮想化技術の発展により、ＦＷやＬＢ等のノード毎に、スループット性能を適切に制御することが可能となっている。このような仮想化技術では、ノード内で、仮想化されたノードインスタンスの並列数（スケール数）を増加（スケールアウト）、または、減少（スケールイン）させるような制御が行われる。【０００５】
図１７は、一般的なＮＦＶにおけるノードの例を示す図である。例えば、ＮＦＶの場合、個々のネットワーク機能を提供するノードは、ＶＮＦ（Virtualized Network Function）で実現される。ＶＮＦ内部では、ノードインスタンスであるＶＮＦコンポーネント（ＶＮＦＣ）が複数稼働する。ＶＮＦＣは、それぞれ、個別の仮想マシン（ＶＭ：Virtual Machine）である。ＶＮＦＣの数を増減することにより、ネットワーク機能に係る処理性能の制御が行われる。【０００６】
ＶＮＦ内の各ＶＮＦＣには、ネットワーク要件に合わせた機能（ネットワーク機能）を提供するためのコンフィギュレーションが記述された、機能ルールが設定される。図１８、図１９は、機能ルールの例を示す図である。例えば、ファイアウォールの機能を提供するＶＮＦＣに、図１８に示すような機能ルールを設定することにより、ｈｔｔｐ／ｆｔｐアクセスの許可や、攻撃の回避が行われる。また、ロードバランサの機能を提供するＶＮＦＣの場合、図１９に示すような機能ルールを設定することにより、順繰りの振り分けや、サーバ負荷に合わせた振り分けが行われる。機能ルールの記述文法はＶＮＦ毎に異なる。【０００７】
仮想化技術においてノードのスループット性能を制御するためには、ノードの処理性能を予測する必要がある。このような、ノードの処理性能の予測に関する技術の一例が、特許文献１に開示されている。特許文献１に記載の技術では、システムへのアクセス時にシステム内の各サーバから収集したアクセス情報をもとに、システムの性能パラメータの予測モデルが生成される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許４５７０５２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述のＮＦＶ等の仮想化技術におけるノード（ＶＮＦ）内の各ノードインスタンス（ＶＮＦＣ）の処理性能には、機能ルールの記述内容が影響する。例えば、機能ルールで記述された機能内容が多いほど、ＶＮＦＣが処理すべき内容が増える。このため、ＶＮＦＣを実現するＣＰＵ（Central Processing Unit）の消費が増え、処理に要する時間が長くなる。すなわち、ノードインスタンス（ＶＮＦＣ）の処理性能（例えば、単位時間当たりのアクセス処理能力）と機能ルールの記述内容には相関関係がある。【００１０】
しかしながら、上述の特許文献１に記載された技術では、ノードに設定される機能ルールの記述内容は考慮されていない。このため、機能ルールに応じた、精度の高い処理性能の予測を行うことができない。【００１１】
本発明の目的は、上述した課題を解決し、ノードの処理性能を正確に推定できるサービス管理システム、サービス管理方法、及び、記録媒体を提供することである。
【課題を解決するための手段】
【００１２】
本発明のサービス管理システムは、ノードが提供するサービスに係るルールに含まれる１以上の単語の各々の特徴量を算出する、特徴量算出手段と、前記ノードに前記ルールが適用された時の前記ノードの処理性能をもとに、前記ルールに含まれる前記１以上の単語の各々の特徴量と前記ノードの処理性能とを関連付ける性能モデルを生成する、性能モデル生成手段と、を備える。【００１３】
本発明のサービス管理方法は、ノードが提供するサービスに係るルールに含まれる１以上の単語の各々の特徴量を算出し、前記ノードに前記ルールが適用された時の前記ノードの処理性能をもとに、前記ルールに含まれる前記１以上の単語の各々の特徴量と前記ノードの処理性能とを関連付ける性能モデルを生成する。【００１４】
本発明のコンピュータが読み取り可能な記録媒体は、コンピュータに、ノードが提供するサービスに係るルールに含まれる１以上の単語の各々の特徴量を算出し、前記ノードに前記ルールが適用された時の前記ノードの処理性能をもとに、前記ルールに含まれる前記１以上の単語の各々の特徴量と前記ノードの処理性能とを関連付ける性能モデルを生成する、処理を実行させるプログラムを格納する。
【発明の効果】
【００１５】
本発明の効果は、ノードの処理性能を正確に推定できることである。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態の特徴的な構成を示すブロック図である。
【図２】本発明の実施の形態の構成を示すブロック図である。
【図３】本発明の実施の形態における、コンピュータにより実現されたサービス管理システム１００の構成を示すブロック図である。
【図４】本発明の実施の形態における、特徴ベクトル生成処理を示すフローチャートである。
【図５】本発明の実施の形態における、性能モデル生成処理を示すフローチャートである。
【図６】本発明の実施の形態における、チェーン構成生成処理を示すフローチャートである。
【図７】本発明の実施の形態における、性能情報３１０の例を示す図である。
【図８】本発明の実施の形態における、機能ルール情報３２０の例を示す図である。
【図９】本発明の実施の形態における、特徴ベクトルの生成例を示す図である。
【図１０】本発明の実施の形態における、性能モデルの生成例を示す図である。
【図１１】本発明の実施の形態における、性能モデルの例を示す図である。
【図１２】本発明の実施の形態における、チェーン定義３３０の例を示す図である。
【図１３】本発明の実施の形態における、トラフィック情報３４０の例を示す図である。
【図１４】本発明の実施の形態における、特徴ベクトルの他の生成例を示す図である。
【図１５】本発明の実施の形態における、チェーン構成３５０の例を示す図である。
【図１６】一般的なサービスチェーンの構成例を示す図である。
【図１７】一般的なＮＦＶにおけるノードの例を示す図である。
【図１８】機能ルールの例を示す図である。
【図１９】機能ルールの他の例を示す図である。
【発明を実施するための形態】
【００１７】
はじめに、本発明の実施の形態の構成について説明する。
【００１８】
図２は、本発明の実施の形態の構成を示すブロック図である。図２を参照すると、本発明の実施の形態は、サービス管理システム１００、及び、サービス実行システム２００を含む。
【００１９】
サービス実行システム２００は、１以上のサービスチェーン２０１が稼働するための環境を提供する。ここでは、サービスチェーン２０１が、上述の仮想化技術であるＮＦＶを用いて構成されると仮定する。各サービスチェーン２０１は、１以上のノード（ＶＮＦ）により構成される。各ノードは、１以上のノードインスタンス（ＶＮＦＣ）により構成される。各ノードインスタンスは、サービス実行システム２００に含まれる１以上のコンピュータ上に、仮想マシンとして配備される。
【００２０】
各ノードのノードインスタンスには、ユーザ等により、当該ノードが提供すべきネットワーク機能に係るコンフィギュレーションが記述された、機能ルールが設定される。ノードインスタンスは、設定された機能ルールに従って、ネットワーク機能を提供する。
【００２１】
図２の例では、サービスチェーン２０１ａ「chain1」として、ノード「node1」（ＦＷ）、「node3」（ＮＡＴ（Network Address Translation））、「node7」（ＬＢ）が配備されている。また、サービスチェーン２０１ｂ「chain2」として、ノード「node2」（ＦＷ）、「node6」（ＤＰＩ（Deep Packet Inspection））が配備されている。
【００２２】
サービス管理システム１００は、測定部１１１、性能情報記憶部１１２、機能ルール情報記憶部１１３、特徴量算出部１１４、特徴量記憶部１１５、性能モデル生成部１１６、性能モデル記憶部１１７を含む。サービス管理システム１００は、さらに、チェーン定義記憶部１１８、トラフィック情報記憶部１１９、チェーン構成生成部１２０（以下、インスタンス数算出部とも記載する）、チェーン構成記憶部１２１、及び、制御部１２２を含む。
【００２３】
測定部１１１は、サービスチェーン２０１を構成する各ノードの性能情報３１０、及び、機能ルール情報３２０を取得し、それぞれ、性能情報記憶部１１２、及び、機能ルール情報記憶部１１３に格納する。ここで、性能情報３１０は、ノードの処理性能として、サービス時間（データ処理にかかる時間）とトラフィック量（ネットワーク上のデータ量）のログを示す。機能ルール情報３２０は、ノードに対する機能ルールの設定ログを示す。
【００２４】
性能情報記憶部１１２は、測定部１１１が取得した性能情報３１０を記憶する。
【００２５】
機能ルール情報記憶部１１３は、測定部１１１が取得した機能ルール情報３２０を記憶する。
【００２６】
特徴量算出部１１４は、各機能ルールについて、機能ルールに記述された単語に係る特徴量を算出する。特徴量算出部１１４は、特徴量をもとに、性能モデルの生成に有効な単語を絞り込み、絞り込まれた単語の特徴量が要素として設定された特徴ベクトルを生成する。
【００２７】
特徴量記憶部１１５は、特徴量算出部１１４が生成した特徴ベクトルを記憶する。
【００２８】
性能モデル生成部１１６は、ノードに機能ルールが適用された時の当該ノードの処理性能をもとに、ノードの各種別について、ノードの処理性能と特徴ベクトルとを関連付けた性能モデルを生成する。
【００２９】
性能モデル記憶部１１７は、性能モデル生成部１１６が生成した性能モデルを記憶する。チェーン定義記憶部１１８は、構築対象のサービスチェーン２０１について、チェーン定義３３０を記憶する。ここで、チェーン定義３３０は、サービスチェーン２０１を構成する各ノードに設定すべき機能ルール（新たな機能ルール）を示す。
【００３０】
トラフィック情報記憶部１１９は、構築対象のサービスチェーン２０１について、トラフィック情報３４０を記憶する。ここで、トラフィック情報３４０は、構築対象のサービスチェーン２０１が処理すべき、最大トラフィック量を示す。
【００３１】
チェーン構成生成部１２０は、構築対象のサービスチェーン２０１について、性能モデルを用いて、設定すべき機能ルールに対するノードの処理性能を推定する。そして、チェーン構成生成部１２０は、推定した処理性能をもとに、チェーン構成３５０を生成する。チェーン構成３５０は、サービスチェーン２０１を構成する各ノードにおけるノードインスタンスの、所定の条件を満たすために必要な数（スケール数）を示す。
【００３２】
チェーン構成記憶部１２１は、チェーン構成生成部１２０により生成されたチェーン構成３５０を記憶する。
【００３３】
制御部１２２は、チェーン構成３５０で指定されるサービスチェーン２０１を、サービス実行システム２００上に構築する。
【００３４】
なお、サービス管理システム１００は、ＣＰＵとプログラムを記憶した記憶媒体を含み、プログラムに基づく制御によって動作するコンピュータであってもよい。
【００３５】
図３は、本発明の実施の形態における、コンピュータにより実現されたサービス管理システム１００の構成を示すブロック図である。
【００３６】
この場合、サービス管理システム１００は、ＣＰＵ１０１、ハードディスクやメモリ等の記憶デバイス１０２（記憶媒体）、他の装置等と通信を行う通信デバイス１０３、キーボード等の入力デバイス１０４、及び、ディスプレイ等の出力デバイス１０５を含む。ＣＰＵ１０１は、測定部１１１、特徴量算出部１１４、性能モデル生成部１１６、チェーン構成生成部１２０、及び、制御部１２２を実現するためのコンピュータプログラムを実行する。記憶デバイス１０２は、性能情報記憶部１１２、機能ルール情報記憶部１１３、特徴量記憶部１１５、性能モデル記憶部１１７、チェーン定義記憶部１１８、トラフィック情報記憶部１１９、及び、チェーン構成記憶部１２１のデータを記憶する。通信デバイス１０３は、サービス実行システム２００から各ノードの性能情報３１０を受信する。また、通信デバイス１０３は、サービス実行システム２００に、サービスチェーン２０１の構築指示を送信する。入力デバイス１０４は、ユーザ等から、チェーン定義３３０やトラフィック情報３４０の入力を受け付ける。出力デバイス１０５は、ユーザ等へ、サービスチェーン２０１の構築結果を出力する。
【００３７】
なお、サービス管理システム１００の各構成要素は、独立した論理回路でもよい。
【００３８】
また、サービス管理システム１００の各構成要素は、有線または無線で接続された複数の物理的な装置に分散的に配置されていてもよい。例えば、特徴量算出部１１４、性能モデル生成部１１６、及び、チェーン構成生成部１２０が単一のコンピュータにより実現され、他の構成要素が、当該コンピュータの外部に配置されていてもよい。
【００３９】
次に、本発明の実施の形態の動作を説明する。
【００４０】
＜特徴ベクトル生成処理＞
はじめに、本発明の実施の形態の特徴ベクトル生成処理について説明する。
【００４１】
図７は、本発明の実施の形態における、性能情報３１０の例を示す図である。性能情報３１０には、ノードの識別子（ノードＩＤ）に対して、ノードの種別、データ処理の開始時間、終了時間、及び、データ量が関連付けられたログが登録される。
【００４２】
測定部１１１は、例えば、サービスチェーン２０１における各ノードで、単一のノードインスタンスが稼働中に、各処理単位（パケットやセッション）のデータについて、図７のようなログを取得し、性能情報３１０に登録する。
【００４３】
図８は、本発明の実施の形態における、機能ルール情報３２０の例を示す図である。機能ルール情報３２０には、機能ルールの識別子（ルールＩＤ）に対して、当該機能ルールが設定されたノードの識別子（ノードＩＤ）とノードの種別、設定時刻（タイムスタンプ）、及び、機能ルールの内容（ルール記述）が関連付けられたログが登録される。
【００４４】
測定部１１１は、サービスチェーン２０１における各ノードに対して、ユーザ等により機能ルールが新たに設定された時や更新された時に、図８のようなログを取得し、機能ルール情報３２０に登録する。
【００４５】
ここでは、測定部１１１が、予め、図７の性能情報３１０、図８の機能ルール情報３２０をサービス実行システム２００から取得し、それぞれ、性能情報記憶部１１２、機能ルール情報記憶部１１３に格納していると仮定する。
【００４６】
図４は、本発明の実施の形態における、特徴ベクトル生成処理を示すフローチャートである。
【００４７】
本発明の実施の形態では、特徴量算出部１１４は、ＴＦ−ｉＤＦ（Term Frequency - inverted Document Frequency）法を用いて、機能ルールに含まれる各単語の出現頻度を、特徴量として算出する。
【００４８】
サービス管理システム１００の特徴量算出部１１４は、機能ルール情報記憶部１１３から機能ルール情報３２０を取得する（ステップＳ１０１）。
【００４９】
例えば、特徴量算出部１１４は、図８の機能ルール情報３２０を取得する。
【００５０】
特徴量算出部１１４は、ノードの種別の内の１つを選択する（ステップＳ１０２）。
【００５１】
例えば、特徴量算出部１１４は、ノードの種別「ＦＷ」を選択する。
【００５２】
特徴量算出部１１４は、機能ルール情報３２０のログから、選択した種別に係る機能ルールを抽出する（ステップＳ１０３）。抽出された機能ルールの数がＮであると仮定する。
【００５３】
例えば、特徴量算出部１１４は、ノードの種別「ＦＷ」に係る機能ルール「ruleA」、「ruleB」、…を抽出する。
【００５４】
特徴量算出部１１４は、Ｎ個の機能ルールから、機能ルールを記述する単語の母集団を生成する（ステップＳ１０４）。単語の母集団とは、Ｎ個の機能ルールに含まれる、全ての単語を表す。特徴量算出部１１４は、母集団に含まれる各単語について、当該単語が含まれている機能ルールの数（ＤＦ：Document Frequency）をカウントする（ステップＳ１０５）。
【００５５】
例えば、特徴量算出部１１４は、機能ルール「ruleA」、「ruleB」、…に含まれる単語「vdom」について、当該単語を含む機能ルールの数ＤＦを「11」とカウントする。
【００５６】
特徴量算出部１１４は、Ｎ個の機能ルールの内の１つを選択する（ステップＳ１０６）。
【００５７】
例えば、特徴量算出部１１４は、機能ルール「ruleA」を選択する。
【００５８】
特徴量算出部１１４は、選択した機能ルールに含まれる各単語について、当該機能ルールにおける当該単語の出現回数（ＴＦ：Term Frequency）をカウントする（ステップＳ１０７）。
【００５９】
例えば、特徴量算出部１１４は、機能ルール「ruleA」について、単語「vdom」の出現回数ＴＦを「3」とカウントする。
【００６０】
特徴量算出部１１４は、当該単語のＴＦの値をＤＦの値で除した値を算出し、当該値が所定の閾値以上であれば、当該値を当該機能ルールにおける当該単語の特徴量に決定する（ステップＳ１０８）。
【００６１】
例えば、閾値が「0.02」の場合、特徴量算出部１１４は、ＴＦ／ＤＦとして算出した「0.278」を単語「vdom」の特徴量Ｗ_vdom_ruleAに決定する。
【００６２】
このように、ＴＦをＤＦで除した値が所定の閾値以上の場合に、当該値を特徴量に決定することにより、機能ルールに対して意味のない単語の特徴量を排除できる（有効な単語の特徴量に絞り込むことができる）。
【００６３】
特徴量算出部１１４は、母集団に含まれる各単語の特徴量を要素とする特徴ベクトルに、各単語について得られた特徴量を設定することにより、当該機能ルールの特徴ベクトルを生成する（ステップＳ１０９）。特徴量算出部１１４は、生成した特徴ベクトルを、特徴量記憶部１１５に格納する。
【００６４】
図９は、本発明の実施の形態における、特徴ベクトルの生成例を示す図である。例えば、特徴量算出部１１４は、特徴量Ｗ_vdom_ruleA「0.278」を、機能ルール「ruleA」の特徴ベクトルＦＷ_ruleAに設定する。
【００６５】
特徴量算出部１１４は、Ｎ個の機能ルールの全てについて、ステップＳ１０６からの処理を繰り返す（ステップＳ１１０）。
【００６６】
特徴量算出部１１４は、ノードの種別の全てについて、ステップＳ１０２からの処理を繰り返す（ステップＳ１１１）。
【００６７】
例えば、特徴量算出部１１４は、図９のように、各機能ルール「ruleA」、「ruleB」、…について特徴量を算出し、特徴ベクトルＦＷ_ruleA、ＦＷ_ruleB、…を生成する。
【００６８】
＜性能モデル生成処理＞
次に、本発明の実施の性能モデル生成処理について説明する。
【００６９】
図５は、本発明の実施の形態における、性能モデル生成処理を示すフローチャートである。
【００７０】
はじめに、性能モデル生成部１１６は、機能ルール情報記憶部１１３から機能ルール情報３２０を取得する（ステップＳ２０１）。
【００７１】
例えば、性能モデル生成部１１６は、図８の機能ルール情報３２０を取得する。
【００７２】
性能モデル生成部１１６は、ノードの種別の内の１つを選択する（ステップＳ２０２）。
【００７３】
例えば、性能モデル生成部１１６は、ノードの種別「ＦＷ」を選択する。
【００７４】
性能モデル生成部１１６は、選択した種別に係る機能ルールを抽出する（ステップＳ２０３）。抽出された機能ルールの数がＮであると仮定する。
【００７５】
例えば、性能モデル生成部１１６は、ノードの種別「ＦＷ」に係る機能ルール「ruleA」、「ruleB」、…を抽出する。
【００７６】
性能モデル生成部１１６は、Ｎ個の機能ルールの内の１つを選択する（ステップＳ２０４）。
【００７７】
例えば、性能モデル生成部１１６は、機能ルール「ruleA」を選択する。
【００７８】
性能モデル生成部１１６は、性能情報記憶部１１２の性能情報３１０から、選択した機能ルールが設定されたノードに対する、サービス時間、及び、データ量を取得する（ステップＳ２０５）。ここで、性能モデル生成部１１６は、選択した機能ルールのタイムスタンプから所定期間内のサービス時間、及び、データ量を取得する。サービス時間は、性能情報３１０の各ログの、開始時間と終了時間との差から算出される。
【００７９】
例えば、性能モデル生成部１１６は、図７の性能情報３１０から、機能ルール「ruleA」が設定されたノード「nodeX」について、タイムスタンプ「2014/03/09 08:00:00.000」から所定期間内のサービス時間、データ量を取得する。
【００８０】
性能モデル生成部１１６は、取得した所定期間内のサービス時間、及び、データ量をもとに、平均サービス時間、及び、平均データ量を算出する。そして、性能モデル生成部１１６は、平均サービス時間を平均データ量で除した値をサービス量として算出する（ステップＳ２０６）。
【００８１】
例えば、性能モデル生成部１１６は、平均サービス時間、及び、平均データ量をもとに、サービス量μＦＷ_ruleAを算出する。
【００８２】
性能モデル生成部１１６は、特徴量記憶部１１５から、選択した機能ルールに対する特徴ベクトルを取得し、算出したサービス量と特徴ベクトルの組を取得する（ステップＳ２０７）。
【００８３】
例えば、性能モデル生成部１１６は、サービス量μＦＷ_ruleAと図９の特徴ベクトルＦＷ_ruleAの組を取得する。
【００８４】
性能モデル生成部１１６は、Ｎ個の機能ルールの全てについて、ステップＳ２０４からの処理を繰り返す（ステップＳ２０８）。
【００８５】
図１０は、本発明の実施の形態における、性能モデルの生成例を示す図である。例えば、性能モデル生成部１１６は、図１０に示すように、各機能ルールのサービス量と特徴ベクトルのＮ個の組（μＦＷ_ruleA、ＦＷ_ruleA）、…、（μＦＷ_ruleP、ＦＷ_ruleP）を取得する。
【００８６】
性能モデル生成部１１６は、取得したサービス量と特徴ベクトルのＮ個の組をもとに、サービス量を目的変数、特徴ベクトルの各特徴量を説明変数とした統計解析を行うことにより、サービス量と特徴ベクトルの関係式を生成する（ステップＳ２０９）。
【００８７】
例えば、性能モデル生成部１１６は、図１０に示すように、機能ルールのサービス量と特徴ベクトルのＮ個の組をもとに、関係式μＦＷ＝αＷ_vdom＋βＷ_allowaccess＋…+γＷ_default-gateway＋Ｚの係数α、β、γ、…、Ｚを決定する。
【００８８】
この関係式により、あるノードの機能ルールの記述内容から、当該ノードの処理性能（サービス量）を正確に推定できる。
【００８９】
本発明の実施の形態では、ノードの振る舞いは、複数窓口の待ち行列モデル（Ｍ／Ｍ／Ｓ）の状態方程式ρ＝λ／Ｓμで抽象化できると仮定する。ここで、λは到着するトラフィック量、μは上述のサービス量、Ｓはノードにおいて並列処理を行うノードインスタンスの数（スケール数）を示す。また、ρは稼働率であり、各ノードにおける処理の混雑度（0〜1）を示す。稼働率ρには、ユーザ等がサービスチェーン２０１に要求する値が設定される。なお、稼働率ρは、1に近づく（0.8以上になる）と待ち時間が極端に長くなる。このため、稼働率ρには、例えば、0.5〜0.7程度の値が設定される。
【００９０】
性能モデル生成部１１６は、ステップＳ２０８で生成した関係式と上述の状態方程式を、性能モデルとして、性能モデル記憶部１１７に格納する（ステップＳ２１０）。
【００９１】
図１１は、本発明の実施の形態における、性能モデルの例を示す図である。例えば、性能モデル生成部１１６は、ノードの種別「ＦＷ」について、図１１の性能モデル「model1」を生成する。図１１の例では、稼働率ρとして「0.7」を指定することにより、待ち時間を抑制している。
【００９２】
性能モデル生成部１１６は、ノードの種別の全てについて、ステップＳ２０２からの処理を繰り返す（ステップＳ２１１）。
【００９３】
例えば、性能モデル生成部１１６は、図１１のように、種別「ＦＷ」、「ＬＢ」、「ＮＡＴ」、…について、性能モデル「model1」、「model2」、「model3」、…を生成する。
【００９４】
＜チェーン構成生成処理＞
次に、本発明の実施の形態のチェーン構成生成処理について説明する。
【００９５】
図１２は、本発明の実施の形態における、チェーン定義３３０の例を示す図である。チェーン定義３３０は、ノード情報３３１、及び、機能ルール情報３３２を含む。ノード情報３３１には、サービスチェーン２０１の識別子（チェーンＩＤ）に対して、チェーンを構成する各ノードの識別子（ノードＩＤ）が、チェーンにおける配置順に示される。機能ルール情報３３２には、機能ルールの識別子（ルールＩＤ）に対して、当該機能ルールを設定するノードの識別子（ノードＩＤ）と当該ノードの種別、及び、機能ルールの内容（ルール記述）が示される。
【００９６】
図１３は、本発明の実施の形態における、トラフィック情報３４０の例を示す図である。トラフィック情報３４０では、サービスチェーン２０１の識別子（チェーンＩＤ）に対して、当該サービスチェーン２０１が処理すべき最大トラフィック量が示されている。
【００９７】
ここでは、チェーン定義記憶部１１８、トラフィック情報記憶部１１９に、予め、ユーザ等により、構築対象のチェーン定義３３０とそのトラフィック情報３４０として、それぞれ、図１２、図１３のチェーン定義３３０、トラフィック情報３４０が格納されていると仮定する。
【００９８】
図６は、本発明の実施の形態における、チェーン構成生成処理を示すフローチャートである。
【００９９】
チェーン構成生成部１２０は、チェーン定義記憶部１１８から、チェーン定義３３０を取得する（ステップＳ３０１）。
【０１００】
例えば、チェーン構成生成部１２０は、図１２のチェーン定義３３０を取得する。
【０１０１】
チェーン構成生成部１２０は、トラフィック情報記憶部１１９から、トラフィック情報３４０を取得する（ステップＳ３０２）。
【０１０２】
例えば、チェーン構成生成部１２０は、図１３のトラフィック情報３４０を取得する。
【０１０３】
チェーン構成生成部１２０は、取得したチェーン定義３３０に含まれるサービスチェーン２０１の内の１つを選択する（ステップＳ３０３）。
【０１０４】
例えば、チェーン構成生成部１２０は、サービスチェーン２０１「chain1」を選択する。
【０１０５】
チェーン構成生成部１２０は、チェーン定義３３０で指定される、選択したサービスチェーン２０１を構成するノード内の１つを選択する（ステップＳ３０４）。
【０１０６】
例えば、チェーン構成生成部１２０はノード「node1」を選択する。
【０１０７】
チェーン構成生成部１２０は、チェーン定義３３０で指定される、選択したノードに設定すべき機能ルールの特徴ベクトルを生成する（ステップＳ３０５）。ここで、チェーン構成生成部１２０は、機能ルールを特徴量算出部１１４に入力し、特徴量算出部１１４に特徴ベクトルを生成させる。特徴量算出部１１４は、上述のステップＳ１０６〜Ｓ１０９と同様の処理により、入力された機能ルールに対する特徴ベクトルを生成する。ここで、各単語に対する特徴量の算出には、当該機能ルールに係る種別に対してステップＳ１０５で算出済みのＤＦの値が用いられる。
【０１０８】
図１４は、本発明の実施の形態における、特徴ベクトルの他の生成例を示す図である。例えば、チェーン構成生成部１２０は、ノード「node1」に設定すべき機能ルール「rule1」に対して、図１４のように、特徴ベクトル「ＦＷ_rule1」を算出する。
【０１０９】
チェーン構成生成部１２０は、チェーン定義３３０で指定される、選択したノードの種別に対応する性能モデルを、性能モデル記憶部１１７から取得する（ステップＳ３０６）。
【０１１０】
例えば、チェーン構成生成部１２０は、種別「ＦＷ」に対応する性能モデルとして、図１１の性能モデル「model1」を取得する。
【０１１１】
チェーン構成生成部１２０は、ステップＳ３０５で取得した特徴ベクトルの各単語の特徴量を、取得した性能モデルで指定される関係式に適用し、ノードの処理性能（サービス量）の推定値を算出する（ステップＳ３０７）。
【０１１２】
例えば、チェーン構成生成部１２０は、特徴ベクトル「ＦＷ_rule1」の特徴量を、性能モデル「model1」の関係式に適用し、サービス量の推定値「μＦＷ_rule1_est」を算出する。
【０１１３】
チェーン構成生成部１２０は、算出したサービス量の推定値、及び、トラフィック情報３４０で示されるサービスチェーン２０１の最大トラフィック量をもとに、ノードインスタンスの数（スケール数）を算出する（ステップＳ３０８）。ここで、チェーン構成生成部１２０は、サービス量の推定値、及び、最大トラフィック量を、性能モデルで指定される状態方程式ρ＝λ／Ｓμに適用し、稼働率ρを満たすスケール数Ｓを算出する。
【０１１４】
例えば、チェーン構成生成部１２０は、サービス量「μＦＷ_rule1_est」、最大トラフィック量「68Mbps」、稼働率ρ「0.7」を状態方程式に適用し、スケール数Ｓ「2」を算出する。
【０１１５】
チェーン構成生成部１２０は、算出したスケール数Ｓを、チェーン構成３５０に設定する（ステップＳ３０９）。
【０１１６】
図１５は、本発明の実施の形態における、チェーン構成３５０の例を示す図である。チェーン構成３５０は、ノード情報３５１、及び、スケール数情報３５２を含む。ノード情報３５１には、チェーン定義３３０のノード情報３３１と同じ内容が設定される。スケール数情報３５２には、ノードの識別子（ノードＩＤ）に対して、当該ノードの種別、及び、スケール数が示される。
【０１１７】
例えば、チェーン構成生成部１２０は、図１５のチェーン構成３５０のように、ノード「node1」に対して、スケール数「2」を設定する。
【０１１８】
チェーン構成生成部１２０は、サービスチェーン２０１を構成する全てのノードについて、ステップＳ３０４からの処理を繰り返す（ステップＳ３１０）。
【０１１９】
さらに、チェーン構成生成部１２０は、チェーン定義３３０に含まれる全てのサービスチェーン２０１について、ステップＳ３０３からの処理を繰り返す（ステップＳ３１０）。
【０１２０】
例えば、チェーン構成生成部１２０は、図１５のチェーン構成３５０のように、各サービスチェーン２０１を構成する各ノード「node1」、「node2」、「node3」、…について、スケール数を設定する。
【０１２１】
チェーン構成生成部１２０は、生成されたチェーン構成３５０をチェーン構成記憶部１２１に格納する。
【０１２２】
最後に、制御部１２２は、チェーン構成記憶部１２１のチェーン構成３５０で指定された各サービスチェーン２０１を、サービス実行システム２００上に構築する。ここで、制御部１２２は、各サービスチェーン２０１を構成する各ノードについて、スケール数で指定された数のノードインスタンスを、仮想マシンにより配備する。そして、制御部１２２は、各ノードインスタンスに機能ルールを設定し、稼働させる。
【０１２３】
例えば、制御部１２２は、図１５のチェーン構成３５０をもとに、サービスチェーン２０１「chain1」、「chain2」、…を構築する。制御部１２２は、サービスチェーン２０１「chain1」について、種別「ＦＷ」のノード「node1」のノードインスタンスを２つ、種別「ＮＡＴ」のノード「node3」のノードインスタンスを１つ、種別「ＬＢ」のノード「node7」のノードインスタンスを２つ配備する。同様に、制御部１２２は、サービスチェーン２０１「chain2」について、種別「ＦＷ」のノード「node2」のノードインスタンスを３つ、種別「ＤＰＩ」のノード「node6」のノードインスタンスを３つ配備する。
【０１２４】
以上により、本発明の実施の形態の動作が完了する。
【０１２５】
次に、本発明の実施の形態の特徴的な構成を説明する。図１は、本発明の実施の形態の特徴的な構成を示すブロック図である。
【０１２６】
図１を参照すると、本発明の実施の形態のサービス管理システム１００は、特徴量算出部１１４、及び、性能モデル生成部１１６を含む。特徴量算出部１１４は、ノードが提供するサービスに係る機能ルールに含まれる１以上の単語の各々の特徴量を算出する。性能モデル生成部１１６は、ノードに機能ルールが適用された時のノードの処理性能をもとに、機能ルールに含まれる１以上の単語の各々の特徴量とノードの処理性能とを関連付ける性能モデルを生成する。
【０１２７】
本発明の実施の形態によれば、ノードの処理性能を正確に推定できる。その理由は、サービス管理システム１００が、機能ルールに含まれる単語の特徴量を算出し、ノードに機能ルールが適用された時の処理性能をもとに、機能ルールに含まれる単語の特徴量とノードの処理性能とを関連付ける性能モデルを生成するためである。
【０１２８】
また、本発明の実施の形態によれば、ノードにおける必要なノードインスタンスの数を正確に見積もることができる。その理由は、サービス管理システム１００が、生成された性能モデルを用いて、新たな機能ルールに対するノードの処理性能を推定し、推定した処理性能をもとに、サービスに係る所定の条件を満たすために必要な、ノードインスタンスの数を算出するためである。
【０１２９】
これにより、１以上のノードが連結されたサービスチェーンにおいて、各ノードに必要なノードインスタンスの数を決定でき、最適なチェーン構成を得ることができる。
【０１３０】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１３１】
この出願は、２０１５年６月１６日に出願された日本出願特願２０１５−１２０７３９を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１３２】
本発明は、サービスを提供するノードの性能を推定し、その必要数を決めるために広く適用できる。例えば、本発明は、通信ネットワークにおいてネットワークサービスを提供するノードの並列数を、ノードに設定する機能ルールの変更に合わせて制御する用途に適用できる。
【符号の説明】
【０１３３】
１００    サービス管理システム
１０１    ＣＰＵ
１０２    記憶デバイス
１０３    通信デバイス
１０４    入力デバイス
１０５    出力デバイス
１１１    測定部
１１２    性能情報記憶部
１１３    機能ルール情報記憶部
１１４    特徴量算出部
１１５    特徴量記憶部
１１６    性能モデル生成部
１１７    性能モデル記憶部
１１８    チェーン定義記憶部
１１９    トラフィック情報記憶部
１２０    チェーン構成生成部
１２１    チェーン構成記憶部
１２２    制御部
２００    サービス実行システム
２０１    サービスチェーン
３１０    性能情報
３２０    機能ルール情報
３３０    チェーン定義
３３１    ノード情報
３３２    機能ルール情報
３４０    トラフィック情報
３５０    チェーン構成
３５１    ノード情報
３５２    スケール数情報
【図１】
2016203756.tif 000003
【図２】
2016203756.tif 000004
【図３】
2016203756.tif 000005
【図４】
2016203756.tif 000006
【図５】
2016203756.tif 000007
【図６】
2016203756.tif 000008
【図７】
2016203756.tif 000009
【図８】
2016203756.tif 000010
【図９】
2016203756.tif 000011
【図１０】
2016203756.tif 000012
【図１１】
2016203756.tif 000013
【図１２】
2016203756.tif 000014
【図１３】
2016203756.tif 000015
【図１４】
2016203756.tif 000016
【図１５】
2016203756.tif 000017
【図１６】
2016203756.tif 000018
【図１７】
2016203756.tif 000019
【図１８】
2016203756.tif 000020
【図１９】
2016203756.tif 000021
【国際調査報告】
2016203756.tif 000022
2016203756.tif 000023