(57)【要約】【課題】仮想分散機能の数を少なくして転送遅延を抑制できるサーバ装置等を提供する。【解決手段】サーバ装置は、仮想領域上に仮想通信機能群を複数段に配置する際に前記複数段のうちの最前段の仮想通信機能群の前段に配置する仮想分散機能を決定する。サーバ装置は、前記仮想分散機能から前記複数段の仮想通信機能群のうちの終端の仮想通信機能群内の各仮想通信機能までの負荷に基づいて、通信経路を決定する。サーバ装置は、決定された前記通信経路を前記仮想領域上に配置された前記仮想分散機能及び前記各仮想通信機能に設定する。【選択図】図３
2017063409.tif 000002
【特許請求の範囲】
【請求項１】
仮想領域上に仮想通信機能群を複数段に配置する際に前記複数段のうちの最前段の仮想通信機能群の前段に配置する仮想分散機能を決定し、
前記仮想分散機能から前記複数段の仮想通信機能群のうちの終端の仮想通信機能群内の各仮想通信機能までの負荷に基づいて、通信経路を決定し、
決定された前記通信経路を前記仮想領域上に配置された前記仮想分散機能及び前記各仮想通信機能に設定する
処理を実行することを特徴とする設定方法。
【請求項２】
前記仮想分散機能を決定する処理として、
前記仮想領域上に前記仮想通信機能群を複数段に配置する際に指定する各仮想通信機能群内の仮想通信機能の数に基づき、前記最前段の仮想通信機能群の前段に配置する前記仮想分散機能の数を決定することを特徴とする請求項１に記載の設定方法。
【請求項３】
前記仮想分散機能を決定する処理として、
前記指定された各仮想通信機能群の任意の機能特性の仮想通信機能群を特定し、特定された仮想通信機能群内の仮想通信機能の数に応じて、前記仮想分散機能の数を決定することを特徴とする請求項２に記載の設定方法。
【請求項４】
前記仮想分散機能を決定する処理として、
前記指定された各仮想通信機能群の任意の機能特性の仮想通信機能群を特定し、特定された仮想通信機能群の内、仮想通信機能の数が最大数の仮想通信機能群を特定し、特定された仮想通信機能群内の仮想通信機能の数に応じて、前記仮想分散機能の数を決定することを特徴とする請求項３に記載の設定方法。
【請求項５】
前記仮想分散機能を決定する処理として、
前記指定された各仮想通信機能群から、機能特性の内、上位レイヤ特性の仮想通信機能群を特定し、特定された仮想通信機能群内の仮想通信機能の数に応じて、前記仮想分散機能の数を決定することを特徴とする請求項２に記載の設定方法。
【請求項６】
前記仮想分散機能を決定する処理として、
前記仮想領域上に前記仮想通信機能群を複数段に配置する際に指定する前記仮想通信機能群毎の仮想分散機能の数に基づき、複数の仮想通信機能群の内、任意の機能特性の仮想通信機能群を特定し、特定された仮想通信機能群に対応する前記仮想分散機能の数に応じて、前記仮想分散機能の数を決定すると共に、前記指定された仮想分散機能の数を削除することを特徴とする請求項２に記載の設定方法。
【請求項７】
前記通信経路を決定する処理として、
前記複数の仮想通信機能群のうちの終端となる仮想通信機能を決定すると共に、前記仮想分散機能から各終端の仮想通信機能までの最適経路を決定し、
各最適経路に配置する前記仮想通信機能群のうち、その仮想通信機能の数が最大数の仮想通信機能群の各仮想通信機能へのトラヒック量が均等になるように、前記仮想分散機能から各最前段の仮想通信機能へのトラヒックの分配割合に関わる前記仮想分散機能の通信経路を決定し、
前記最適経路毎に配置する各仮想通信機能のトラヒック量の割合が最適になるように各仮想通信機能のトラヒック割合に関わる前記仮想通信機能の通信経路を決定し
前記通信経路を前記仮想分散機能及び前記各仮想通信機能に設定する処理として、
決定された前記仮想分散機能の数及び前記最適経路に基づき、前記仮想分散機能及び前記各仮想通信機能を前記仮想領域上に配置し、
決定された前記仮想分散機能の通信経路を前記仮想領域上に配置された前記仮想分散機能に設定すると共に、決定された各仮想通信機能の通信経路を前記仮想領域上に配置された前記仮想通信機能に設定する
ことを特徴とする請求項２に記載の設定方法。
【請求項８】
前記仮想分散機能を決定する処理として、
前記指定された各仮想通信機能群の機能特性の内、任意の機能特性の前記仮想分散機能の数を決定し、
前記最適経路を決定する処理として、
前記仮想通信機能群の内、前記任意の機能特性で終端となる仮想通信機能を決定すると共に、前記仮想分散機能から各終端の仮想通信機能までの最適経路を決定し、
前記仮想分散機能の通信経路を決定する処理として、
前記各最適経路の前記任意の機能特性の前記仮想通信機能群のうち、その仮想通信機能の数が最大数の仮想通信機能群を特定し、特定された仮想通信機能群内の各仮想通信機能のトラヒック量が均等になるように、前記仮想分散機能から各最前段の仮想通信機能への分配割合を決定することを特徴とする請求項７に記載の設定方法。
【請求項９】
前記仮想領域上に配置された前記仮想分散機能及び前記仮想通信機能の内、前記仮想分散機能から各終端の仮想通信機能までの前記仮想分散機能毎及び前記仮想通信機能毎の転送経路を設定テーブルに登録し、
前記仮想領域上の前記仮想通信機能を変更する場合に、当該仮想領域上に配置された前記仮想分散機能及び前記仮想通信機能毎の変更前後の転送経路を取得し、
前記終端の仮想通信機能群から前記最前段の仮想通信機能群までの仮想通信機能群を順次指定し、指定された前記仮想通信機能群内の各仮想通信機能の変更前後の転送経路を比較すると共に、前記最前段の仮想通信機能群内の全ての仮想通信機能の変更前後の転送経路の比較が完了した場合に前記仮想分散機能の変更前後の転送経路を比較し、
前記指定された前記仮想通信機能群内の前記仮想通信機能毎又は前記仮想分散機能毎の変更前後の転送経路の比較結果に基づき、前記変更後の転送経路で前記設定テーブル内の転送経路を更新すると共に、前記比較結果に基づき、前記変更後の各トラヒック量の割合を前記仮想領域上に配置された前記仮想分機能及び前記各仮想通信機能に設定した後、前記比較結果に基づき、前記変更前の転送経路が前記変更後の転送経路に該当なしの転送経路を前記設定テーブルから削除する
処理をさらに実行することを特徴とする請求項１に記載の設定方法。
【請求項１０】
前記設定テーブル内の前記転送経路を更新する処理として、
前記指定された前記仮想通信機能群内の前記仮想通信機能毎又は前記仮想分散機能毎の変更前後の転送経路の比較結果に基づき、前記変更後の転送経路の内、前記変更前に未設定の終端宛先の転送経路を前記設定テーブルに登録し、
前記比較結果に基づき、前記変更後の転送経路の内、前記変更前の転送経路と同一の終端宛先であって出力先の仮想通信機能が異なる転送経路に基づき、前記設定テーブル内の該当転送経路を更新し、
前記変更後の各トラヒックの割合を前記仮想領域上に配置された前記仮想分散機能及び前記各仮想通信機能に設定した後、前記比較結果に基づき、前記変更前の転送経路が前記変更後の転送経路に該当なしの転送経路を前記設定テーブルから削除する
ことを特徴とする請求項９に記載の設定方法。
【請求項１１】
仮想領域上に仮想通信機能群を複数段に配置する際に前記複数段のうちの最前段の仮想通信機能群の前段に配置する仮想分散機能を決定する第１の決定部と、
前記仮想分散機能から前記複数段の仮想通信機能群のうちの終端の仮想通信機能群内の各仮想通信機能までの負荷に基づいて、通信経路を決定する第２の決定部と、
前記第２の決定部で決定した前記通信経路を前記仮想領域上に配置された前記仮想分散機能及び前記各仮想通信機能に設定する設定部と
を有することを特徴とするサーバ装置。
【請求項１２】
サーバ装置が仮想領域上に仮想通信機能群を複数段に配置してサービスチェインを構築するサービスチェインシステムであって、
前記サーバ装置は、
前記仮想領域上に前記仮想通信機能群を複数段に配置する際に前記複数段のうちの最前段の仮想通信機能群の前段に配置する仮想分散機能を決定する第１の決定部と、
前記仮想分散機能から前記複数段の仮想通信機能群のうちの終端の仮想通信機能群内の各仮想通信機能までの負荷に基づいて、通信経路を決定する第２の決定部と、
前記第２の決定部で決定した前記通信経路を前記仮想領域上に配置された前記仮想分散機能及び前記各仮想通信機能に設定する設定部と
を有することを特徴とするサービスチェインシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設定方法、サーバ装置及びサービスチェインシステムに関する。
【背景技術】
【０００２】
最近のネットワークでは、拠点から外部のサイト、又は、拠点から他の拠点にアクセスする際に、要求に応じてＦＷ（FireWall）やＰｒｏｘｙ等のＮＷ（NetWork）機能を通信経路上に仮想的に配置してパケットを転送するサービスチェインシステムがある。仮想的なＮＷ機能を経由する通信経路をサービスチェインという。
【０００３】
従来、ＮＷ機能は、ＮＷサーバ等の物理ＮＷ装置で機能していた。しかしながら、近年の汎用サーバの性能向上によって汎用サーバ上のソフトウェア処理でもＮＷ機能が機能できる。従って、汎用サーバの仮想化環境の仮想マシン上でＮＷ機能のプログラムを動作させる形態でＮＷ機能の運用を開始している。尚、仮想マシン上で動作するＮＷに関するソフトウェア処理を仮想ＮＷ機能(Virtual  Network  Function：ＶＮＦ)という。
【０００４】
しかしながら、データ転送等のＮＷ関連の処理が物理ＮＷ装置から汎用サーバ上のソフトウェア処理のＶＮＦに運用形態が移行した結果、データ転送の処理性能が低下する事態が生じている。そこで、複数のプログラムを並列に実行し、複数のサーバ上に仮想マシンを並列動作してスケールアウトすることで、データ転送の負荷を分散し、データ転送の処理性能を改善している。
【０００５】
図３０は、サービスチェインの配置構成の一例を示す説明図である。図３０に示すサービスチェイン２００は、例えば、ＦＷ２０１Ａ、ＩＤＳ（Intrusive  Detection  System）２０１Ｂ及びＰｒｏｘｙ２０１Ｃ等の各ＶＮＦ２０１を配置している。更に、サービスチェイン２００は、各ＶＮＦ２０１の前段にトラヒック負荷を分散するＬＢ（Load  Balancer）２０２を仮想的に配置している。ＬＢ２０２は、次段に配置する各ＶＮＦ２０１にトラヒックを分配する。その結果、各ＶＮＦ２０１の転送処理の負荷を分配することで、ソフトウェア化による処理性能の低下を抑制している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−２２５１５７号公報
【特許文献２】特開２０１４−２１８５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、サービスチェイン２００を構成するＶＮＦ２０１では、ＶＮＦ２０１毎にＬＢ２０２を要し、ＬＢ２０２を通過する毎に転送遅延が生じる。しかも、サービスチェイン２００は、多数のＬＢ２０２を要するため、汎用サーバ上の仮想領域のリソースが使われることになる。
【０００８】
一つの側面では、ＬＢの数を少なくして転送遅延を抑制できる設定方法、サーバ装置及びサービスチェインシステムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
一つの態様の設定方法としては、仮想領域上に仮想通信機能群を複数段に配置する際に前記複数段のうちの最前段の仮想通信機能群の前段に配置する仮想分散機能を決定する処理を実行する。更に、設定方法としては、前記仮想分散機能から前記複数段の仮想通信機能群のうちの終端の仮想通信機能群内の各仮想通信機能までの負荷に基づいて、通信経路を決定する処理を実行する。更に、設定方法としては、決定された前記通信経路を前記仮想領域上に配置された前記仮想分散機能及び前記各仮想通信機能に設定する処理を実行する。
【発明の効果】
【００１０】
一つの側面として、仮想分散機能を集約して転送遅延を抑制できる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１のサービスチェインシステムの一例を示す説明図である。
【図２】図２は、管理サーバのハードウェア構成の一例を示す説明図である。
【図３】図３は、管理サーバのプロセッサの機能構成の一例を示す説明図である。
【図４】図４は、構成要求のフォーマットの一例を示す説明図である。
【図５】図５は、構成要求のＬＢ集約前の配置構成の一例を示す説明図である。
【図６】図６は、図５に示す構成要求に関わるトポロジ構成の一例を示す説明図である。
【図７】図７は、図５に示す構成要求に関わる終端宛先の一例を示す説明図である。
【図８】図８は、図５に示す構成要求に関わる最適経路の一例を示す説明図である。
【図９】図９は、図５に示す構成要求に関わる集約ＬＢの分配割合の一例を示す説明図である。
【図１０】図１０は、図５に示す構成要求に関わるＶＮＦの負荷割合の一例を示す説明図である。
【図１１】図１１は、サービスチェイン構築処理に関わる管理サーバの処理動作の一例を示すフローチャートである。
【図１２】図１２は、他の構成要求のフォーマットの一例を示す説明図である。
【図１３】図１３は、他の構成要求のＬＢ集約前の配置構成の一例を示す説明図である。
【図１４】図１４は、図１３に示す構成要求に関わるトポロジ構成の一例を示す説明図である。
【図１５】図１５は、図１３に示す構成要求に関わる終端宛先の一例を示す説明図である。
【図１６】図１６は、図１３に示す構成要求に関わる最適経路の一例を示す説明図である。
【図１７】図１７は、図１３に示す構成要求に関わる集約ＬＢの分配割合の一例を示す説明図である。
【図１８】図１８は、図１３に示す構成要求に関わるＶＮＦの負荷割合の一例を示す説明図である。
【図１９Ａ】図１９Ａは、構成要求のＬＢ集約前の配置構成の一例を示す説明図である。
【図１９Ｂ】図１９Ｂは、図１９Ａに示す構成要求に関わるＬＢ集約後の配置構成の一例を示す説明図である。
【図２０Ａ】図２０Ａは、構成要求のＬＢ集約前の配置構成の一例を示す説明図である。
【図２０Ｂ】図２０Ｂは、図２０Ａに示す構成要求に関わるＬＢ集約後の配置構成の一例を示す説明図である。
【図２１Ａ】図２１Ａは、構成要求のＬＢ集約前の配置構成の一例を示す説明図である。
【図２１Ｂ】図２１Ｂは、図２１Ａに示す構成要求に関わるＬＢ集約後の配置構成の一例を示す説明図である。
【図２２Ａ】図２２Ａは、実施例２のＦＷ５追加前の配置構成の一例を示す説明図である。
【図２２Ｂ】図２２Ｂは、ＦＷ５追加後の配置構成の一例を示す説明図である。
【図２３】図２３は、ＦＷ５追加前後の集約ＬＢの分配割合及び各ＶＮＦの転送経路の一例を示す説明図である。
【図２４】図２４は、実施例２の管理サーバのプロセッサの機能構成の一例を示す説明図である。
【図２５】図２５は、ＶＮＦ追加処理に関わる管理サーバ内のプロセッサの処理動作の一例を示すフローチャートである。
【図２６Ａ】図２６Ａは、実施例３のＦＷ５削除前の配置構成の一例を示す説明図である。
【図２６Ｂ】図２６Ｂは、ＦＷ５削除後の配置構成の一例を示す説明図である。
【図２７】図２７は、ＦＷ５削除前後の集約ＬＢの分配割合及び各ＶＮＦの転送経路の一例を示す説明図である。
【図２８】図２８は、ＶＮＦ削除処理に関わる管理サーバ内のプロセッサの処理動作の一例を示すフローチャートである。
【図２９】図２９は、サービスチェイン構築プログラムを実行する情報処理装置の一例を示す説明図である。
【図３０】図３０は、サービスチェインの配置構成の一例を示す説明図である。
【発明を実施するための形態】
【００１２】
以下、図面に基づいて、本願の開示する設定方法、サーバ装置及びサービスチェインシステムの実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。また、以下に示す実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
【実施例１】
【００１３】
図１は、実施例１のサービスチェインシステム１の一例を示す説明図である。図１に示すサービスチェインシステム１は、キャリアＮＷ２と、管理サーバ３と、端末装置４とを有する。キャリアＮＷ２は、例えば、企業の本社、支社や海外拠点等の拠点２Ａと接続するＮＷである。キャリアＮＷ２は、例えば、複数の汎用サーバ２Ｂで構成し、各汎用サーバ２Ｂのリソース領域にある仮想領域で稼働する仮想ＮＷ１１と、その仮想ＮＷ１１上に配置した複数のＶＮＦ１２とを有する。管理サーバ３は、拠点２Ａ間で通信するサービスチェインを仮想領域に確立する。
【００１４】
ＶＮＦ１２は、例えば、Ｗｅｂキャッシュ１２Ａ、パケットモニタリング１２Ｂ、ＦＷ１２Ｃ、高速ＷＡＮ１２Ｄ、アドレス変換部１２Ｅ、ＶＰＮ１２Ｆ、ＩＤＳやＰｒｏｘｙ等の仮想ＮＷ機能である。Ｗｅｂキャッシュ１２Ａは、図示せぬＷｅｂサーバとのキャッシュデータを格納するＮＷ機能である。パケットモニタリング１２Ｂは、通信経路上のパケットの状態を監視するＮＷ機能である。ＦＷ１２Ｃは、不正アクセスを防止するＮＷ機能である。高速ＷＡＮ１２Ｄは、高速ＷＡＮ等のＮＷ機能である。アドレス変換部１２Ｅは、アドレスを変換するＮＷ機能である。ＶＰＮ１２Ｆは仮想専用線等のＮＷ機能である。ＩＤＳは、外部からの不正侵入を検知するＮＷ機能である。Ｐｒｏｘｙは、代理サーバのＮＷ機能である。ＶＮＦ１２は、汎用サーバ２Ｂ上の仮想領域に仮想的に配置した仮想通信機能である。
【００１５】
管理サーバ３は、端末装置４からサービスチェインの構成要求に応じて、キャリアＮＷ２内の各汎用サーバ２Ｂの仮想領域上に所望の仮想ＮＷ１１及びＶＮＦ１２を配置するサーバ装置である。端末装置４は、例えば、ＦＷ４Ａ、高速ＷＡＮ４ＢやＶＰＮ４Ｃ等を経由して管理サーバ３と接続し、管理サーバ３に対してサービスチェインの構成要求を指示する、例えば、システム管理者等の端末装置である。尚、構成要求は、パケット転送の通信経路上に１台若しくは複数台のＶＮＦ１２の配置を要求するコマンドである。また、構成要求は、ＶＮＦ１２及びＬＢ１３のインスタンス数を指定する場合の他に、ＶＮＦ１２のインスタンス数のみを指定する場合もある。また、構成要求には、例えば、サービスチェインの要求品質を指定する場合もある。管理サーバ３は、要求品質を指定した構成要求を検出した場合、構成要求で指定された所望の機能や負荷状況からＶＮＦ１２やＬＢ１３のインスタンス数を決定する。
【００１６】
図２は、管理サーバ３のハードウェア構成の一例を示す説明図である。図２に示す管理サーバ３は、例えば、ＮＷサーバとしての専用コンピュータや、汎用コンピュータに相当する。管理サーバ３は、ＮＷインタフェース３１と、入力装置３２と、出力装置３３と、補助記憶装置３４と、主記憶装置３５と、プロセッサ３６とを有する。ＮＷインタフェース３１は、キャリアＮＷ２と接続すると共に、ＶＰＮ１２と接続する通信インタフェースである。尚、ＮＷインタフェース３１は、例えば、有線又は無線の通信を司る通信インタフェースである。ＮＷインタフェース３１は、例えば、ＮＩＣ(Network  Interface  Card)やＬＡＮ(Local  Area  Network)カード等の通信カードである。
【００１７】
入力装置３２は、各種情報を入力する、例えば、キーボードやマウス等のポインティングデバイス等の入力インタフェースである。出力装置３３は、各種情報を出力する、例えば、音声出力装置や表示装置等の出力インタフェースである。補助記憶装置３４は、例えば、各種プログラムや、プロセッサ３６が使用するデータ等の各種情報を記憶する、例えば、ＥＰＲＯＭ（Erasable  Programmable  ROM）、又はハードディスクドライブ（Hard  Disc  Drive）等の不揮発性のメモリである。更に、補助記憶装置３４は、例えば、オペレーティングシステム（ＯＳ）や、その他様々なアプリケーションプログラムを保持する領域である。
【００１８】
主記憶装置３５は、各種情報、例えば、補助記憶装置３４に格納されているプログラムをロードする領域や作業領域を提供する、例えば、ＲＡＭ（Random  Access  Memory）等の半導体メモリである。プロセッサ３６は、管理サーバ３全体を制御する、例えば、ＣＰＵ（Central  Processing  Unit）等の制御部である。プロセッサ３６は、補助記憶装置３４又は可搬記録媒体に保持されたＯＳや様々なアプリケーションプログラムを主記憶装置３５にロードして実行することで各種処理機能を実行する。プロセッサ３６は、１個に限定されるものではなく、複数個設けても良い。
【００１９】
図３は、管理サーバ３のプロセッサ３６の機能構成の一例を示す説明図である。プロセッサ３６は、補助記憶装置３４に格納されたプログラムを読み出し、読み出したプログラムを実行することで、機能構成として、第１の決定部４１と、第２の決定部４２と、設定部４３とを有する。
【００２０】
図４は、構成要求のフォーマットの一例を示す説明図、図５は、構成要求のＬＢ集約前の配置構成の一例を示す説明図である。構成要求５０は、端末装置４から管理サーバ３にサービスチェインの構築を要求するコマンドである。尚、図４に示す構成要求５０は、図５に示すように、３種類＃１〜＃３のＶＮＦ群２０の種別と、ＶＮＦ群２０毎のＶＮＦ１２のインスタンス数と、ＶＮＦ群２０に設定する３種類のＬＢ群２１の種別と、ＬＢ群２１毎のＬＢ１３のインスタンス数とを有する。尚、説明の便宜上、＃１のＶＮＦ群２０は「ＶＮＦ＃１」、＃２のＶＮＦ群２０は「ＶＮＦ＃２」及び＃３のＶＮＦ群２０は「ＶＮＦ＃３」で表現する。
【００２１】
構成要求５０は、メッセージ種別５１と、要求ＶＮＦ数５２と、ＶＮＦ＃１のＬＢ種別５３Ａと、ＶＮＦ＃１のＬＢインスタンス数５４Ａと、ＶＮＦ＃１の種別５５Ａと、ＶＮＦ＃１のインスタンス数５６Ａとを有する。更に、構成要求５０は、ＶＮＦ＃２のＬＢ種別５３Ｂと、ＶＮＦ＃２のＬＢインスタンス数５４Ｂと、ＶＮＦ＃２の種別５５Ｂと、ＶＮＦ＃２のインスタンス数５６Ｂとを有する。更に、構成要求５０は、ＶＮＦ＃３のＬＢ種別５３Ｃと、ＶＮＦ＃３のＬＢインスタンス数５４Ｃと、ＶＮＦ＃３の種別５５Ｃと、ＶＮＦ＃３のインスタンス数５６Ｃと、送信元アドレス５７と、宛先アドレス５８とを有する。
【００２２】
メッセージ種別５１は、構成要求５０のメッセージ種別を識別する情報であって、例えば、「サービスチェイン構成要求」である。要求ＶＮＦ数５２は、構成要求５０のＬＢ種別及びＶＮＦ種別の合計数であって、例えば、「６」個とする。尚、例えば、ＶＮＦ＃１、ＶＮＦ＃１のＬＢ１３、ＶＮＦ＃２、ＶＮＦ＃２のＬＢ１３、ＶＮＦ＃３、ＶＮＦ＃３のＬＢ１３の「６」個とする。ＶＮＦ＃１のＬＢ種別５３Ａは、ＶＮＦ＃１の前段に配置するＬＢ１３の種別を識別する情報であって、例えば、レベルＬ３の「Ｌ３レベルＬＢ」とする。ＶＮＦ＃１のＬＢインスタンス数５４Ａは、ＶＮＦ＃１の前段に配置を要求するＬＢ１３の数に相当し、例えば、「１」個とする。ＶＮＦ＃１の種別５５Ａは、配置を要求するＶＮＦ＃１の種別を識別する情報であって、例えば、「ＦＷ」とする。ＶＮＦ＃１のインスタンス数５６Ａは、配置を要求するＶＮＦ＃１内のＶＮＦ１２の数に相当し、例えば、「４」個とする。
【００２３】
ＶＮＦ＃２のＬＢ種別５３Ｂは、ＶＮＦ＃２の前段に配置するＬＢ１３の種別を識別する情報であって、例えば、「Ｌ４レベルＬＢ」とする。ＶＮＦ＃２のＬＢインスタンス数５４Ｂは、ＶＮＦ＃２の前段に配置を要求するＬＢ１３の数に相当し、例えば、「２」個とする。ＶＮＦ＃２の種別５５Ｂは、配置を要求するＶＮＦ＃２の種別を識別する情報であって、例えば、「ＩＤＳ」とする。ＶＮＦ＃２のインスタンス数５６Ｂは、配置を要求するＶＮＦ＃２内のＶＮＦ１２の数に相当し、例えば、「３」個とする。
【００２４】
ＶＮＦ＃３のＬＢ種別５３Ｃは、ＶＮＦ＃３の前段に配置するＬＢ１３の種別を識別する情報であって、例えば、「Ｌ４レベルＬＢ」とする。ＶＮＦ＃３のＬＢインスタンス数５４Ｃは、ＶＮＦ＃３の前段に配置を要求するＬＢ１３の数に相当し、例えば、「２」個とする。ＶＮＦ＃３の種別５５Ｃは、配置を要求するＶＮＦ＃３の種別を識別する情報であって、例えば、「Ｐｒｏｘｙ」とする。ＶＮＦ＃３のインスタンス数５６Ｃは、配置を要求するＶＮＦ＃３内のＶＮＦ１２の数に相当し、例えば、「３」個とする。送信元アドレス５７は、構成要求５０に関わるサービスチェインを使用する通信の送信元アドレスである。宛先アドレス５８は、構成要求５０に関わるサービスチェインを使用する通信の宛先アドレスである。
【００２５】
第１の決定部４１は、図５に示す構成要求５０を検出すると、構成要求５０内で指定する各ＶＮＦ群２０内のＶＮＦ１２のインスタンス数に基づき、所定順序の内、最前段のＶＮＦ群２０、すなわちＶＮＦ＃１の前段に配置する集約ＬＢ１３Ａの数を決定する。尚、所定順序は、例えば、前段からＶＮＦ＃１（ＦＷ）、ＶＮＦ＃２（ＩＤＳ）及びＶＮＦ＃３（Ｐｒｏｘｙ）の順に配置する順序とする。
【００２６】
第１の決定部４１は、図５に示す構成要求５０を検出すると、構成要求５０に基づき、ＶＮＦ群２０へのトラヒックを分配するＬＢ１３の特性の内、上位レイヤ「Ｌ４レベル」のＬＢ群２１（ＶＮＦ＃３に対するＬＢ（Ｌ４））を特定する。尚、Ｌ４レベル（ＴＣＰセッション）単位の分配処理は、Ｌ３レベル（ＩＰ）単位の分配処理も実行できる。第１の決定部４１は、上位レイヤ「Ｌ４レベル」の分配処理を実行するＬＢ群２１の内、ＬＢインスタンス数が最大数となるＬＢ１３（すなわちＶＮＦ＃３に対するＬＢ（Ｌ４））を特定し、そのＬＢインスタンス数を集約ＬＢ１３Ａのインスタンス数と決定する。すなわち、第１の決定部４１は、ＶＮＦ＃３のＬＢインスタンス数はＬ４レベルＬＢの２個であるため、そのＬ４レベルＬＢの２個を集約ＬＢ１３Ａとして決定する。尚、Ｌ４レベルのＶＮＦ群２０を特定する理由は、Ｌ４レベル（ＴＣＰセッション）単位の処理でＬ３レベル（ＩＰ）単位の処理も実行できるためである。
【００２７】
更に、第１の決定部４１は、ＶＮＦ＃１、ＶＮＦ＃２及びＶＮＦ＃３の配置順序としてトポロジ構成を決定する。図６は、図５に示す構成要求５０に関わるトポロジ構成の一例を示す説明図である。第１の決定部４１は、図６に示すようにサービスチェインの最前段にＶＮＦ＃１、ＶＮＦ＃１の次段にＶＮＦ＃２、ＶＮＦ＃２の次段にＶＮＦ＃３を配置し、更に、最前段のＶＮＦ＃１の前段に集約ＬＢ１３Ａを配置するトポロジ構成を決定する。
【００２８】
図６に示すトポロジ構成は、最前段に集約ＬＢ１３Ａ内のＬＢ１及びＬＢ２、次段にＶＮＦ＃１内のＦＷ１〜ＦＷ４、その次段にＶＮＦ＃２内のＩＤＳ１〜ＩＤＳ３、その次段にＶＮＦ＃３内のＰｒｏｘｙ１〜Ｐｒｏｘｙ３を配置する構成である。
【００２９】
第２の決定部４２は、集約ＬＢ１３Ａから複数のＶＮＦ群２０の内、終端のＶＮＦ群２０内の各ＶＮＦ１２までのトラヒック等の負荷が分散する、集約ＬＢ１３Ａのトラヒック等の負荷の分配割合及びＶＮＦ１２の負荷割合（トラヒック割合）を決定する。第２の決定部４２は、第３の決定部４２Ａと、第４の決定部４２Ｂと、第５の決定部４２Ｃとを有する。
【００３０】
図７は、図５に示す構成要求５０に関わる終端宛先の一例を示す説明図である。第３の決定部４２Ａは、複数のＶＮＦ群２０の内、終端となるＶＮＦ群２０内のＶＮＦ１２を決定すると共に、集約ＬＢ１３Ａから各終端のＶＮＦ１２までの最適経路を決定する。
【００３１】
第３の決定部４２Ａは、集約ＬＢ１３ＡがＬ４レベルのＬＢであるため、図７に示すように、集約ＬＢ１３ＡからＬ４レベルが終端となる終端のＶＮＦ１２として、例えば、ＶＮＦ＃３のＰｒｏｘｙ１〜Ｐｒｏｘｙ３と決定する。集約ＬＢ１３Ａの「ＬＢ１」は、Ｐｒｏｘｙ１〜Ｐｒｏｘｙ３の３本の経路を決定する。更に、集約ＬＢ１３Ａの「ＬＢ２」も、Ｐｒｏｘｙ１〜Ｐｒｏｘｙ３の３本の経路を決定する。
【００３２】
図８は、図５に示す構成要求５０に関わる最適経路の一例を示す説明図である。第３の決定部４２Ａは、集約ＬＢ１３Ａの「ＬＢ１」から終端ＶＮＦ１２、すなわちＰｒｏｘｙ１〜Ｐｒｏｘｙ３までの３経路で、例えば、ダイクストラ法等の最短経路コスト法において計算済み経路上のリンクコストを高くして最短経路計算を行うことによって、ＶＮＦ＃１及びＶＮＦ＃２を経由する経路が分散した最適経路Ｒ１、Ｒ３及びＲ５を決定する。第３の決定部４２Ａは、集約ＬＢ１３Ａの「ＬＢ２」から終端ＶＮＦ、すなわちＰｒｏｘｙ１〜Ｐｒｏｘｙ３までの３経路で、最短経路コスト法の利用とリンクコスト加算を行うことによってＶＮＦ＃１及びＶＮＦ＃２を経由する経路が分散した最適経路Ｒ２、Ｒ４及びＲ６を決定する。
【００３３】
第４の決定部４２Ｂは、各最適経路Ｒ１〜Ｒ６に配置するＶＮＦ群２０の内、ＶＮＦ１２のインスタンス数が最大数のＶＮＦ群２０の各ＶＮＦ１２のトラヒック量等の負荷量が均等に分散するように、集約ＬＢ１３Ａから各最前段のＶＮＦ１２への負荷の分配割合を決定する。
【００３４】
図９は、図５に示す構成要求５０に関わる集約ＬＢ１３Ａの分配割合の一例を示す説明図である。第４の決定部４２Ｂは、ＶＮＦ＃１〜ＶＮＦ＃３の内、最大個数のＶＮＦ１２、すなわちＶＮＦ＃１（ＦＷ１〜ＦＷ４）を特定する。第４の決定部４２Ｂは、６本の最適経路の内、ＶＮＦ＃１のＦＷ１〜ＦＷ４の負荷量（トラヒック量）が均等になるように集約ＬＢ１３Ａ「ＬＢ１」及び「ＬＢ２」からＶＮＦ＃１内のＦＷ１〜ＦＷ４に分配する分配割合を算出する。例えば、サービスチェイン全体の負荷量（トラヒック量）を「１」とした場合、ＬＢ１からＦＷ１への分配割合はトラヒック量全体の１／４、ＬＢ１からＦＷ２への分配割合はトラヒック量全体の１／８、ＬＢ１からＦＷ３への分配割合はトラヒック量全体の１／８となる。更に、ＬＢ２からＦＷ４への分配割合はトラヒック量全体の１／４、ＬＢ２からＦＷ２への分配割合はトラヒック量全体の１／８、ＬＢ２からＦＷ３への分配割合はトラヒック量全体の１／８となる。その結果、ＦＷ１〜ＦＷ４は、各々、１／４の負荷量（トラヒック量）が均等に割り当てられることになる。
【００３５】
第５の決定部４２Ｃは、最適経路毎に各ＶＮＦ１２への負荷量の負荷割合が最適となるように各ＶＮＦ１２から次段のＶＮＦ１２への負荷割合を算出する。図１０は、図５に示す構成要求５０に関わるＶＮＦ１２の負荷割合の一例を示す説明図である。第５の決定部４２Ｃは、集約ＬＢ１３Ａの「ＬＢ１」及び「ＬＢ２」から各ＶＮＦ＃１内の各ＦＷ１〜ＦＷ４の負荷の分配割合を決定した後、先に決定した最適経路Ｒ１〜Ｒ６上の転送経路を決定すると共に、その転送経路上の各ＶＮＦ１２への分配割合を決定する。転送経路は、最適経路の内、ＶＮＦ１２が次段のＶＮＦ１２にパケットを転送する経路である。
【００３６】
集約ＬＢ１３Ａの「ＬＢ１」の転送経路は、Ｐｒｏｘｙ１宛のパケットをＦＷ１に転送する経路、Ｐｒｏｘｙ２宛のパケットをＦＷ２に転送する経路、Ｐｒｏｘｙ３宛のパケットをＦＷ３に転送する経路となる。集約ＬＢ１３Ａの「ＬＢ２」の転送経路は、Ｐｒｏｘｙ１宛のパケットをＦＷ２に転送する経路、Ｐｒｏｘｙ２宛のパケットをＦＷ３に転送する経路、Ｐｒｏｘｙ３宛のパケットをＦＷ４に転送する経路となる。
【００３７】
更に、ＦＷ１の転送経路は、Ｐｒｏｘｙ１宛のパケットをＩＤＳ１に転送する経路となる。ＦＷ２の転送経路は、Ｐｒｏｘｙ１宛のパケットをＩＤＳ１に転送する経路及び、Ｐｒｏｘｙ２宛のパケットをＩＤＳ２に転送する経路となる。ＦＷ３の転送経路は、Ｐｒｏｘｙ２宛のパケットをＩＤＳ２に転送する経路及び、Ｐｒｏｘｙ３宛のパケットをＩＤＳ３に転送する経路となる。ＦＷ４の転送経路は、Ｐｒｏｘｙ３宛のパケットをＩＤＳ３に転送する経路となる。
【００３８】
更に、ＩＤＳ１の転送経路は、Ｐｒｏｘｙ１宛のパケットをＰｒｏｘｙ１に転送する経路となる。ＩＤＳ２の転送経路は、Ｐｒｏｘｙ２宛のパケットをＰｒｏｘｙ２に転送する経路となる。ＩＤＳ３の転送経路は、Ｐｒｏｘｙ３宛のパケットをＰｒｏｘｙ３に転送する経路となる。
【００３９】
更に、第５の決定部４２Ｃは、各転送経路の各ＶＮＦ１２の負荷量が最適となるように各ＶＮＦ１２の負荷割合（トラヒック割合）を決定する。尚、各ＶＮＦ１２の負荷割合は、例えば、Weighted  Round  Robin方式やWeighted  HASH振り分け方式等で算出する。
【００４０】
第５の決定部４２Ｃは、ＶＮＦ＃１からＶＮＦ＃２までの転送経路毎に負荷割合（トラヒック割合）を決定する。例えば、ＦＷ１からＩＤＳ１への転送経路の負荷割合は２／８、ＦＷ２からＩＤＳ１への転送経路の負荷割合は１／８、ＦＷ２からＩＤＳ２への転送経路の負荷割合は１／８となる。更に、ＦＷ３からＩＤＳ２への転送経路の負荷割合は１／８、ＦＷ３からＩＤＳ３への転送経路の負荷割合は１／８、ＦＷ４からＩＤＳ３への転送経路の負荷割合は２／８となる。
【００４１】
更に、第５の決定部４２Ｃは、ＶＮＦ＃２からＶＮＦ＃３までの転送経路毎に負荷割合（トラヒック割合）を決定する。例えば、ＩＤＳ１からＰｒｏｘｙ１への転送経路の負荷割合は３／８、ＩＤＳ２からＰｒｏｘｙ２への転送経路の負荷割合は２／８、ＩＤＳ３からＰｒｏｘｙ３への転送経路の負荷割合は３／８となる。尚、説明の便宜上、ＶＮＦ＃２からＶＮＦ＃３までの転送経路の負荷割合は、例えば、３／８、２／８及び３／８としたが、転送経路毎に負荷割合を均等になるように調整しても良い。
【００４２】
設定部４３は、配置部４３Ａと、割合設定部４３Ｂとを有する。配置部４３Ａは、集約ＬＢ１３Ａ及びＶＮＦ１２の数、最適経路Ｒ１〜Ｒ６及び転送経路に基づき、集約ＬＢ１３Ａ及びＶＮＦ１２を汎用サーバ２Ｂ等の仮想領域に配置して機能を起動させる。
【００４３】
割合設定部４３Ｂは、第４の決定部４２Ｂで決定した集約ＬＢ１３Ａの分配割合を配置された集約ＬＢ１３Ａに設定する。割合設定部４３Ｂは、第５の決定部４２Ｃで決定した各ＶＮＦ１２の負荷割合を配置されたＶＮＦ１２に設定する。その結果、仮想環境下で構成要求のサービスチェインを構築できる。
【００４４】
管理サーバ３は、集約ＬＢ１３Ａ、集約ＬＢ１３Ａから終端ＶＮＦ１２までの最適経路Ｒ、集約ＬＢ１３Ａの分配割合及び各ＶＮＦ１２の負荷割合に基づき、キャリアＮＷ２上の指定の汎用サーバ２Ｂの仮想領域に、構成要求のサービスチェインを構築する。
【００４５】
次に本実施例のサービスチェインシステム１の動作について説明する。図１１は、サービスチェイン構築処理に関わる管理サーバ３内の処理動作の一例を示すフローチャートである。図１１に示すサービスチェイン構築処理は、端末装置４からの構成要求に応じて、構成要求に対応したサービスチェインを仮想領域上に構築する処理である。
【００４６】
図１１において管理サーバ３内のプロセッサ３６内の第１の決定部４１は、端末装置４から構成要求を受信したか否かを判定する（ステップＳ１１）。第１の決定部４１は、構成要求を受信した場合（ステップＳ１１肯定）、構成要求内のＶＮＦ群２０内のＶＮＦ１２のインスタンス数及びＶＮＦ群２０毎のＬＢ１３のインスタンス数に基づき、集約ＬＢ１３Ａの数を決定する（ステップＳ１２）。尚、第１の決定部４１は、構成要求内の上位レベルのＶＮＦ群２０の内、そのＶＮＦ１２のインスタンス数が最大数のＶＮＦ群２０を特定し、特定されたＶＮＦ群２０のＬＢインスタンス数を集約ＬＢ１３Ａの数と決定する。更に、第１の決定部４１は、構成要求内のＶＮＦ群２０に基づき、図６に示すように集約ＬＢ１３Ａ、ＶＮＦ群２０のトポロジ構成を決定する（ステップＳ１３）。
【００４７】
第３の決定部４２Ａは、図７に示すように、複数のＶＮＦ群２０の内、終端となるＶＮＦ群２０内のＶＮＦ１２を決定すると共に、図８に示すように、集約ＬＢ１３Ａから各終端のＶＮＦ群２０までの最適経路Ｒを決定する（ステップＳ１４）。
【００４８】
第４の決定部４２Ｂは、各最適経路に配置するＶＮＦ群２０の内、最大数のＶＮＦ群２０の各ＶＮＦ１２の負荷量（トラヒック量）が均等にすべく、図９に示すように集約ＬＢ１３Ａから各最前段のＶＮＦ群２０の各ＶＮＦ１２への分配割合を算出して決定する（ステップＳ１５）。
【００４９】
更に、第５の決定部４２Ｃは、図１０に示すように、最適経路毎の転送経路を決定する（ステップＳ１６）。
【００５０】
更に、配置部４３Ａは、集約ＬＢ１３Ａ、ＶＮＦ１２、最適経路及び転送経路に基づき、集約ＬＢ１３Ａ及びＶＮＦ１２を汎用サーバ２Ｂ上の仮想領域に配置して、その機能を起動する（ステップＳ１７）。更に、割合設定部４３Ｂは、集約ＬＢ１３Ａの分散割合を仮想領域上の集約ＬＢ１３Ａに設定すると共に、各ＶＮＦ１２の負荷割合（トラヒック割合）を仮想領域上の各ＶＮＦ１２に設定し（ステップＳ１８）、図１１に示す処理動作を終了する。その結果、構成要求に応じたサービスチェインを仮想領域上に配置できる。
【００５１】
上記実施例では、サービスチェインの最前段に複数の集約ＬＢ１３Ａを配置し、集約ＬＢ１３Ａから終端のＶＮＦ１２までの負荷量（トラヒック量）が均等になるように集約ＬＢ１３Ａの分配割合及び各ＶＮＦ１２の負荷割合（トラヒック割合）を決定する。その結果、ＬＢ１３の数を少なくすることで転送遅延を抑制できると共に、有限な仮想領域の資源を節減できる。
【００５２】
尚、同一構成のＶＮＦ１２のサービスチェインを複数配置し、各サービスチェインの最前段に単一のＬＢ１３を配置し、単一のＬＢ１３で負荷量（トラヒック量）を分散する方法も考えられる。しかしながら、各サービスチェイン内のＶＮＦ１２の性能、例えば、ＦＷ、ＩＤＳやＰｒｏｘｙの性能に余裕がある場合でも、ボトルネックとなるＶＮＦ１２の増設数に合わせて全てのＶＮＦ１２を同じ数だけ用意する必要があり、部品コストが嵩んでしまう。これに対して、本実施例では、必要最小限のＶＮＦ１２で済むため、部品コストも節減できる。
【００５３】
尚、上記実施例では、構成要求５０のフォーマットとしてＶＮＦ群２０及びＶＮＦ群２０に使用するＬＢ１３の情報を含む場合を例示したが、ＶＮＦ群２０毎に使用するＬＢ１３が１台の場合、使用するＬＢ１３の情報を含めなくても良い。図１２は、他の構成要求５０Ａのフォーマットの一例を示す説明図である。図１２に示す構成要求５０Ａは、メッセージ種別５１、要求ＶＮＦ数５２、ＶＮＦ群２０の種別５５Ａ〜５５Ｃ、ＶＮＦ群２０のインスタンス数５６Ａ〜５６Ｃ、送信元アドレス５７及び宛先アドレス５８を含む。そして、構成要求５０Ａは、ＶＮＦ群２０のＬＢ種別５３及びＬＢインスタンス数５４等のＬＢ１３の情報を含めないものとする。その結果、構成要求の容量をコンパクト化できる。
【００５４】
図１３は、他の構成要求５０ＢのＬＢ集約前の配置構成の一例を示す説明図である。図１３に示す構成要求５０Ｂは、ＶＮＦ＃１のＦＷを２インスタンス、ＶＮＦ＃１のＬＢ１３を１インスタンス、ＶＮＦ＃２のＩＤＳを３インスタンス、ＶＮＦ＃２のＬＢ１３を１インスタンスとする。更に、ＶＮＦ＃３のＰｒｏｘｙを３インスタンス、ＶＮＦ＃３のＬＢ１３を１インスタンスとする。更に、ＶＮＦ＃１のＬＢ１３はＬ３レベルのＬＢ１３、ＶＮＦ＃２のＬＢ１３はＬ３レベルのＬＢ１３及びＶＮＦ＃３のＬＢ１３はＬ４レベルのＬＢ１３とする。
【００５５】
第１の決定部４１は、図１３に示す構成要求５０Ｂを検出すると、構成要求５０Ｂに基づき、ＶＮＦ群２０へのトラヒックを分配するＬＢ１３の特性の内、上位レイヤ「Ｌ４レベル」のＬＢ群２１（ＶＮＦ＃３に対するＬＢ（Ｌ４））を特定する。第１の決定部４１は、上位レイヤ「Ｌ４レベル」の分配処理を実行するＬＢ群２１の内、ＬＢインスタンス数が最大数となるＬＢ１３（すなわちＶＮＦ＃３に対するＬＢ（Ｌ４））を特定し、そのＬＢインスタンス数を集約ＬＢ１３Ａのインスタンス数と決定する。すなわち、第１の決定部４１は、ＶＮＦ＃３のＬＢインスタンス数がＬ４レベルＬＢの１個であるため、そのＬ４レベルＬＢの１個を集約ＬＢ１３Ａとして決定する。
【００５６】
更に、第１の決定部４１は、ＶＮＦ＃１、ＶＮＦ＃２及びＶＮＦ＃３の配置順序としてトポロジ構成を決定する。図１４は、図１３に示す構成要求５０Ｂに関わるトポロジ構成の一例を示す説明図である。第１の決定部４１は、図１４に示すようにサービスチェインの最前段にＶＮＦ＃１、ＶＮＦ＃１の次段にＶＮＦ＃２、ＶＮＦ＃２の次段にＶＮＦ＃３を配置し、更に、最前段のＶＮＦ＃１の前段に集約ＬＢ１３Ａを配置するトポロジ構成を決定する。
【００５７】
図１４に示すトポロジ構成は、最前段に集約ＬＢ１３Ａ内の「ＬＢ１」、次段にＶＮＦ＃１内のＦＷ１及びＦＷ２、その次段にＶＮＦ＃２内のＩＤＳ１〜ＩＤＳ３、その次段にＶＮＦ＃３内のＰｒｏｘｙ１〜Ｐｒｏｘｙ３を配置する構成である。
【００５８】
図１５は、図１３に示す構成要求５０Ｂに関わる終端宛先の一例を示す説明図である。第３の決定部４２Ａは、集約ＬＢ１３ＡがＬ４レベルのＬＢであるため、図１５に示すように集約ＬＢ１３ＡからＬ４レベルが終端となる終端のＶＮＦ１２として、例えば、ＶＮＦ＃３のＰｒｏｘｙ１〜Ｐｒｏｘｙ３を決定する。集約ＬＢ１３Ａの「ＬＢ１」は、Ｐｒｏｘｙ１〜Ｐｒｏｘｙ３の３本の経路を決定する。
【００５９】
図１６は、図１３に示す構成要求５０Ｂに関わる最適経路の一例を示す説明図である。第３の決定部４２Ａは、集約ＬＢ１３Ａの「ＬＢ１」から終端ＶＮＦ１２、すなわちＰｒｏｘｙ１〜Ｐｒｏｘｙ３までの３経路で、ダイクストラ法等の最短経路コスト法において計算済み経路上のリンクコストを高くして最短経路計算を行うことによって、ＶＮＦ＃１及びＶＮＦ＃２を経由する経路が分散した最適経路Ｒ１〜Ｒ３を決定する。
【００６０】
図１７は、図１３に示す構成要求５０Ｂに関わる集約ＬＢ１３Ａの分配割合の一例を示す説明図である。第４の決定部４２Ｂは、ＶＮＦ＃１〜ＶＮＦ＃３の内、最大数のＶＮＦ１２、すなわちＶＮＦ＃２を特定する。第４の決定部４２Ｂは、ＬＢ１から終端ＶＮＦ１２までの３本の最適経路の内、ＶＮＦ＃２のＩＤＳ１〜ＩＤＳ３に負荷量（トラヒック量）が均等になるように「ＬＢ１」でＶＮＦ＃１のＦＷ１及びＦＷ２に分配する分配割合を算出する。例えば、「ＬＢ１」から「ＦＷ１」への分配割合は２／３、「ＬＢ１」から「ＦＷ２」への分配割合は１／３となる。
【００６１】
図１８は、図１３に示す構成要求５０Ｂに関わるＶＮＦ１２の負荷割合の一例を示す説明図である。第５の決定部４２Ｃは、集約ＬＢ１３Ａの「ＬＢ１」から各ＶＮＦ＃１内の各ＦＷ１及びＦＷ２の負荷の分配割合を決定した後、先に決定した最適経路Ｒ１〜Ｒ３上の転送経路を決定する。更に、第５の決定部４２Ｃは、その転送経路上の各ＶＮＦ１２の負荷割合を算出して決定する。
【００６２】
集約ＬＢ１３Ａの「ＬＢ１」の転送経路は、Ｐｒｏｘｙ１宛のパケットをＦＷ１に転送する経路、Ｐｒｏｘｙ２宛のパケットをＦＷ１に転送する経路、Ｐｒｏｘｙ３宛のパケットをＦＷ２に転送する経路となる。
【００６３】
更に、ＦＷ１の転送経路は、Ｐｒｏｘｙ１宛のパケットをＩＤＳ１に転送する経路及び、Ｐｒｏｘｙ２宛のパケットをＩＤＳ２に転送する経路となる。ＦＷ２の転送経路は、Ｐｒｏｘｙ３宛のパケットをＩＤＳ３に転送する経路となる。
【００６４】
更に、ＩＤＳ１の転送経路は、Ｐｒｏｘｙ１宛のパケットをＰｒｏｘｙ１に転送する経路となる。ＩＤＳ２の転送経路は、Ｐｒｏｘｙ２宛のパケットをＰｒｏｘｙ２に転送する経路となる。ＩＤＳ３の転送経路は、Ｐｒｏｘｙ３宛のパケットをＰｒｏｘｙ３に転送する経路となる。
【００６５】
更に、第５の決定部４２Ｃは、ＶＮＦ＃１からＶＮＦ＃２までの転送経路毎に負荷割合（トラヒック割合）を算出して決定する。例えば、ＦＷ１からＩＤＳ１への転送経路の負荷割合は１／３、ＦＷ１からＩＤＳ２への転送経路の負荷割合は１／３、ＦＷ２からＩＤＳ３への転送経路の負荷割合は１／３となる。
【００６６】
更に、第５の決定部４２Ｃは、ＶＮＦ＃２からＶＮＦ＃３までの転送経路毎の負荷割合を算出して決定する。例えば、ＩＤＳ１からＰｒｏｘｙ１への転送経路の負荷割合は１／３、ＩＤＳ２からＰｒｏｘｙ２への転送経路の負荷割合は１／３、ＩＤＳ３からＰｒｏｘｙ３への転送経路の負荷割合は１／３となる。
【００６７】
配置部４３Ａは、集約ＬＢ１３Ａ及びＶＮＦ１２の数、最適経路Ｒ１〜Ｒ３及び転送経路に基づき、集約ＬＢ１３Ａ及びＶＮＦ１２を汎用サーバ２Ｂ等の仮想領域に配置して機能を起動させる。
【００６８】
割合設定部４３Ｂは、第４の決定部４２Ｂで決定した集約ＬＢ１３Ａの分配割合を配置された集約ＬＢ１３Ａに設定する。割合設定部４３Ｂは、第５の決定部４２Ｃで決定した各ＶＮＦ１２の負荷割合を配置されたＶＮＦ１２に設定する。その結果、仮想環境下で構成要求のサービスチェインを構築できる。
【００６９】
管理サーバ３は、集約ＬＢ１３Ａ及び各ＶＮＦ１２の数、最適経路、転送経路、集約ＬＢ１３Ａの分配割合及び各ＶＮＦ１２の負荷割合に基づき、キャリアＮＷ２上の指定の汎用サーバ２Ｂの仮想領域に、構成要求のサービスチェインを構築する。その結果、ＬＢ１３の数を少なくすることで、ＬＢ１３配置に伴う転送遅延を抑制し、そのＬＢ１３の配置に要する仮想領域の資源を節減できる。
【００７０】
図１８に示す例では、サービスチェインの最前段に単一の集約ＬＢ１３Ａを配置し、集約ＬＢ１３Ａから終端のＶＮＦ１２までの負荷量（トラヒック量）が均等になるように集約ＬＢ１３Ａの分配割合及び各ＶＮＦ１２の負荷割合（トラヒック割合）を決定する。その結果、ＬＢ１３の数を１台にすることで、転送遅延を抑制できると共に、有限な仮想領域の資源を節減できる。
【００７１】
本実施例の管理サーバ３は、仮想領域上にＶＮＦ群２０を複数段に配置する際に最前段のＶＮＦ群２０（ＶＮＦ＃１）の前段に配置する集約ＬＢ１３Ａを決定する。管理サーバ３は、集約ＬＢ１３Ａから終端のＶＮＦ群２０内の各ＶＮＦ１２までの負荷（トラヒック）が分散する、集約ＬＢ１３Ａの分配割合及び各ＶＮＦ１２の負荷割合（トラヒック割合）を決定する。そして、管理サーバ３は、集約ＬＢ１３Ａの分配割合を仮想領域上の集約ＬＢ１３Ａに設定すると共に、各ＶＮＦ１２の負荷割合（トラヒック割合）を仮想領域上の集約ＬＢ１３Ａに設定する。その結果、管理サーバ３は、サービスチェインを構築する際にＶＮＦ群２０の前段に配置するＬＢ１３を集約してＬＢ１３の数を少なくすることで、その処理遅延を抑制できる。しかも、ＬＢ１３の配置による仮想領域の資源を節減できる。
【００７２】
管理サーバ３は、仮想領域上にＶＮＦ群２０を複数段に配置する際に指定するＶＮＦ群２０毎のＬＢインスタンス数に基づき、最前段のＶＮＦ群２０（ＶＮＦ＃１）の前段に配置する集約ＬＢ１３Ａの数を決定する。その結果、管理サーバ３は、サービスチェインを構築する際に要する最小限の集約ＬＢ１３Ａの数を決定できる。
【００７３】
管理サーバ３は、構成要求で指定された各ＶＮＦ群２０の任意の機能特性、例えば、Ｌ４レベルのＶＮＦ群２０を特定し、特定されたＶＮＦ群２０内のＬＢインスタンス数に応じて、集約ＬＢ１３Ａの数を決定する。その結果、管理サーバ３は、サービスチェインを構築する際に、任意の機能特性に適した最小限の集約ＬＢ１３Ａの数を決定できる。
【００７４】
管理サーバ３は、構成要求で指定された各ＶＮＦ群２０の任意の機能特性、例えば、Ｌ４レベルのＶＮＦ群２０を特定する。更に、管理サーバ３は、特定されたＶＮＦ群２０の内、ＶＮＦ１２の数が最大数のＶＮＦ群２０を特定する。更に、管理サーバ３は、特定されたＶＮＦ群２０のＬＢインスタンス数に応じて集約ＬＢ１３Ａの数を決定する。その結果、管理サーバ３は、サービスチェインを構築する際に、任意の機能特性の最大数のＶＮＦ１２を収容したＶＮＦ群２０に適し、かつ、最小限の集約ＬＢ１３Ａの数を決定できる。
【００７５】
管理サーバ３は、構成要求で指定された各ＶＮＦ群２０の内、上位レイヤ特性、例えばＬ４レベルのＶＮＦ群２０を特定し、特定されたＶＮＦ群２０内のＬＢインスタンス数に応じて、集約ＬＢ１３Ａの数を決定する。その結果、管理サーバ３は、サービスチェインを構築する際に、上位レイヤ特性のＶＮＦ１２を収容したＶＮＦ群２０に適し、かつ、最小限の集約ＬＢ１３Ａの数を決定できる。
【００７６】
管理サーバ３は、構成要求で指定されたＶＮＦ群２０毎のＶＮＦ１２の数に基づき、複数のＶＮＦ群２０の内、上位レイヤ特性のＶＮＦ群２０を特定する。更に、特定されたＶＮＦ群２０内のＬＢインスタンス数に応じて、集約ＬＢ１３Ａの数を決定すると共に、指定されたＬＢ１３の数を削除する。
【００７７】
尚、上記実施例では、構成要求で指定されたＬＢインスタンス数に応じて集約ＬＢ１３Ａの数を決定した。しかしながら、構成要求にＬＢインスタンス数が含まれていなくても良い。この場合、管理サーバ３は、構成要求で指定されたＶＮＦ群２０のＶＮＦ１２のインスタンス数に基づき、ＶＮＦ群２０毎に必要となる処理性能を算出しそれを処理するために必要なＬＢインスタンス数を算出する。そして、管理サーバ３は、自分で算出したＶＮＦ群２０毎のＬＢインスタンス数に基づき集約ＬＢ１３Ａの数を決定しても良い。
【００７８】
また、上記実施例の第１の決定部４１は、構成要求５０を検出すると、構成要求５０内の上位レイヤであるＬ４レベルのＶＮＦ群２０を特定し、特定したＶＮＦ群２０の内、そのＶＮＦ１２のインスタンス数が最大数のＶＮＦ群２０を特定する。そして、第１の決定部４１は、特定したＶＮＦ群２０内のＬＢインスタンス数に応じて集約ＬＢ１３Ａの数を決定した。しかしながら、これらに限定されるものではない。
【００７９】
図１９Ａは、構成要求５０ＣのＬＢ集約前の配置構成の一例を示す説明図、図１９Ｂは、図１９Ａに示す構成要求５０Ｃに関わるＬＢ集約後の配置構成の一例を示す説明図である。図１９Ａに示す構成要求５０Ｃは、ＶＮＦ＃１をＵＲＬフィルタ、ＶＮＦ＃１のインスタンス数を「４」、ＶＮＦ＃１のＬＢ種別をＬ４レベルのＬＢ１３、ＶＮＦ＃１のＬＢインスタンス数を「１」とする。更に、ＶＮＦ＃２をＰｒｏｘｙ、ＶＮＦ＃２のインスタンス数を「３」、ＶＮＦ＃２のＬＢ種別をＬ４レベルのＬＢ１３、ＶＮＦ＃２のＬＢインスタンス数を「２」とする。更に、ＶＮＦ＃３をＣａｃｈｅ、ＶＮＦ＃３のインスタンス数を「３」、ＶＮＦ＃３のＬＢ種別をＬ４レベルのＬＢ１３、ＶＮＦ＃３のＬＢインスタンス数を「２」とする。
【００８０】
第１の決定部４１は、全てのＶＮＦ１２がＬ４レベルであるため、ＶＮＦ群２０の内、その最大インスタンス数のＶＮＦ群２０、すなわちＶＮＦ＃３を特定し、特定したＶＮＦ＃３のＬ４レベルのＬＢのインスタンス数「２」を特定する。そして、第１の決定部４１は、Ｌ４レベルのＬＢのインスタンス数「２」を集約ＬＢ１３Ａのインスタンス数として決定する。その結果、図１９Ｂに示すように、Ｌ４レベルの集約ＬＢ１３Ａの２台を最前段に配置し、その次段にＶＮＦ＃１、その次段にＶＮＦ＃２、その次段にＶＮＦ＃３を配置する構成となる。その結果、ＶＮＦ群２０が同一レベル特性（Ｌ４レベル）の場合、Ｌ４レベルのＬＢ１３を集約できる。
【００８１】
図２０Ａは、構成要求５０ＤのＬＢ集約前の配置構成の一例を示す説明図、図２０Ｂは、図２０Ａに示す構成要求５０Ｄに関わるＬＢ集約後の配置構成の一例を示す説明図である。図２０Ａに示す構成要求５０Ｄは、ＶＮＦ＃１をＵＲＬフィルタ、ＶＮＦ＃１のインスタンス数を「４」、ＶＮＦ＃１のＬＢ種別をＬ４レベルのＬＢ１３、ＶＮＦ＃１のＬＢインスタンス数を「１」とする。ＶＮＦ＃２をＰｒｏｘｙ、ＶＮＦ＃２のインスタンス数を「３」、ＶＮＦ＃２のＬＢ種別をＬ４レベルのＬＢ１３、ＶＮＦ＃２のＬＢインスタンス数を「２」とする。ＶＮＦ＃３をＣａｃｈｅ、ＶＮＦ＃３のインスタンス数を「３」、ＶＮＦ＃３のＬＢ種別をＬ７レベルのＬＢ１３、ＶＮＦ＃３のＬＢインスタンス数を「２」とする。尚、ＶＮＦ＃１及びＶＮＦ＃２がＬ４レベル、次段のＶＮＦ＃３がＬ７レベルとする。
【００８２】
第１の決定部４１は、Ｌ４レベルのＶＮＦ＃１及びＶＮＦ＃２が連続するため、Ｌ４レベルのＶＮＦ群２０の内、その最大インスタンス数のＶＮＦ群２０、すなわちＶＮＦ＃１を特定し、特定したＶＮＦ＃１のＬ４レベルのＬＢのインスタンス数「１」を特定する。そして、第１の決定部４１は、Ｌ４レベルのＬＢのインスタンス数「１」を、ＶＮＦ＃１の前段に配置する集約ＬＢ１３Ａのインスタンス数と決定する。
【００８３】
更に、第１の決定部４１は、Ｌ７レベルのＶＮＦ＃３のＶＮＦ群２０の内、最大インスタンス数のＶＮＦ群２０、すなわちＶＮＦ＃３を特定し、特定したＶＮＦ＃３のＬ７レベルのＬＢのインスタンス数「２」を特定する。そして、第１の決定部４１は、Ｌ７レベルのＬＢ１３のインスタンス数「２」を、ＶＮＦ＃３の前段に配置するＬ７レベルの集約ＬＢ１３Ｂのインスタンス数と決定する。
【００８４】
つまり、図２０Ｂに示す構成要求５０Ｄのサービスチェインでは、レベル特性毎に集約ＬＢ１３Ａを配置、例えば、Ｌ４レベルの集約ＬＢ１３ＡをＶＮＦ＃１の前段に配置、レベルＬ７の集約ＬＢ１３ＢをＶＮＦ＃３の前段に配置した。その結果、集約ＬＢ１３Ａは、Ｌ４レベル、すなわちＴＣＰのセッション単位で分配できる。更に、集約ＬＢ１３Ｂは、レベルＬ７、すなわちアプリケーションレベルの識別子、例えば、ＨＴＴＰプロトコルのＵＲＬ、アプリケーションで使用するユーザ名やファイル名単位で分配できる。
【００８５】
管理サーバ３は、構成要求で指定された各ＶＮＦ群２０のレイヤ特性の内、各最適経路Ｒ内の同一レイヤ特性、例えばＬ４レベル又はＬ７レベルの最前段のＶＮＦ群２０（ＶＮＦ＃１）の前段に配置する集約ＬＢ１３Ａ（１３Ｂ）の数を決定する。更に、管理サーバ３は、ＶＮＦ群２０の内、同一レイヤ特性の範囲内で終端となるＶＮＦ１２を決定すると共に、集約ＬＢ１３Ａから各終端のＶＮＦ１２までの最適経路Ｒを決定する。管理サーバ３は、各最適経路Ｒの同一レイヤ特性の範囲内の最大数のＶＮＦ群２０の各ＶＮＦ１２の負荷量（トラヒック量）が均等になるように、各最前段のＶＮＦ１２（ＶＮＦ＃１）への負荷割合（トラヒック割合）を決定する。その結果、同一レイヤ特性毎に、集約ＬＢ１３Ａの数を少なくすることで、転送遅延を抑制できる。
【００８６】
図２１Ａは、構成要求５０ＥのＬＢ集約前の配置構成の一例を示す説明図、図２１Ｂは、図２１Ａに示す構成要求５０Ｅに関わるＬＢ集約後の配置構成の一例を示す説明図である。図２１Ａに示す構成要求５０Ｅは、ＶＮＦ＃１を「ＦＷ」、ＶＮＦ＃１のインスタンス数を「４」、ＶＮＦ＃１のＬＢ種別をＬ３レベルのＬＢ１３、ＶＮＦ＃１のＬＢインスタンス数を「１」とする。ＶＮＦ＃２をＣａｃｈｅ、ＶＮＦ＃２のインスタンス数を「３」、ＶＮＦ＃２のＬＢ種別をＬ４レベルのＬＢ１３、ＶＮＦ＃２のＬＢインスタンス数を「２」とする。ＶＮＦ＃３をＰｒｏｘｙ、ＶＮＦ＃３のインスタンス数を「３」、ＶＮＦ＃３のＬＢ種別をＬ４レベルのＬＢ１３、ＶＮＦ＃３のＬＢインスタンス数を「２」とする。
【００８７】
ＶＮＦ＃１はＬ３レベル、ＶＮＦ＃２及びＶＮＦ＃３はＬ４レベルとする。Ｌ３レベルは上位レイヤのＬ４レベルのＬＢ１３でＴＣＰのセッション単位で分配できる。この際、ＶＮＦ＃２及びＶＮＦ＃３はＴＣＰセッションを終端するＶＮＦ群２０となる。
【００８８】
ＬＢ１３は、ＩＣＭＰ(Internet  Control  Message  Protocol)パケットを送受することで分配先の通信疎通を監視する機能がある。しかしながら、Ｌ４レベルのＬＢ１３をＶＮＦ＃１の前段に集約ＬＢ１３Ａとして配置した場合、ＶＮＦ＃２でＴＣＰセッションを終端するため、ＩＣＭＰパケットでＶＮＦ＃２までの到達性を監視できるものの、ＶＮＦ＃３以降の到達性を監視できない。
【００８９】
そこで、第１の決定部４１は、ＶＮＦ＃２のＬ４レベルのＬＢ１３のインスタンス数でＶＮＦ＃１の前段に集約ＬＢ１３Ａを配置すると共に、ＶＮＦ＃３のＬ４レベルのＬＢ１３のインスタンス数でＶＮＦ＃３の前段に集約ＬＢ１３Ｂを配置する。その結果、集約ＬＢ１３Ａは、ＩＣＭＰパケットでＶＮＦ＃２までの到達性を監視し、集約ＬＢ１３Ｂは、ＩＣＭＰパケットでＶＮＦ＃３までの到達性を監視できる。
【００９０】
上記実施例では、集約ＬＢ１３Ａの最適経路を決定し、集約ＬＢ１３Ａの分配割合を算出したが、集約ＬＢ１３Ａの分配割合を算出した後、集約ＬＢ１３Ａの最適経路を決定しても良い。
【００９１】
上記実施例では、集約ＬＢ１３Ａの分配割合を算出した後、各最適経路のＶＮＦ１２毎の負荷割合を算出した。しかしながら、最適経路のＶＮＦ１２毎の負荷割合を算出した後、集約ＬＢ１３Ａの分配割合を算出しても良く、特定アルゴリズムを用いて最適経路のＶＮＦ１２毎の負荷割合及び集約ＬＢ１３Ａの分配割合を同時に算出しても良い。
【００９２】
上記実施例では、構成要求で指定された複数のＶＮＦ群２０の内、機能特性、例えば、Ｌ４レベルのＶＮＦ群２０のＬＢインスタンス数で集約ＬＢ１３Ａの数を決定した。しかしながら、機能特性として、例えば、送信元アドレスのハッシュ計算で分散する計算機能を使用するＶＮＦ群２０を特定し、その特定されたＶＮＦ群２０のＬＢインスタンス数で集約ＬＢ１３Ａの数を決定しても良い。
【００９３】
上記実施例では、構成要求で指定された各ＶＮＦ群２０のＬＢインスタンス数で最前段のＬＢ１３に集約し、最前段のＬＢインスタンス数を算出しても良い。また、最前段の集約ＬＢ１３Ａと、この集約ＬＢ１３Ａに接続する次段のＶＮＦ１２と、そのＶＮＦ１２のインスタンス数を指定する構成要求でも良い。
【００９４】
尚、上記実施例１の管理サーバ３は、仮想領域上にＶＮＦ群２０を複数段に配置する際に最前段のＶＮＦ群２０（ＶＮＦ＃１）の前段に配置する集約ＬＢ１３Ａを決定する。管理サーバ３は、集約ＬＢ１３Ａから終端のＶＮＦ群２０内の各ＶＮＦ１２までの負荷が分散するように、集約ＬＢ１３Ａの分配割合、各ＶＮＦ１２の負荷割合（トラヒック割合）及び転送経路を決定する。そして、管理サーバ３は、集約ＬＢ１３Ａの分配割合を仮想領域上の集約ＬＢ１３Ａに設定すると共に、各ＶＮＦ１２のトラヒック割合を転送経路上の各ＶＮＦ１２に設定する。しかしながら、管理サーバ３では、例えば、サービスチェインシステム１内のトラヒック量の増大に応じて新規ＶＮＦ１２を追加するスケールアウトを実行する場合がある。この場合、サービスチェインシステム１内の複数のＶＮＦ１２の設定を変更する必要がある。しかしながら、各ＶＮＦ１２の設定変更の同期を確保するのは困難であるため、集約ＬＢ１３Ａ及び各ＶＮＦ１２の転送経路の設定完了時刻に時間差が生じて通信断が発生する。そこで、ＶＮＦ１２の追加に伴う設定変更が生じた場合でも通信断の発生を回避できるサービスチェインシステム１の実施の形態につき、実施例２として以下に説明する。
【実施例２】
【００９５】
図２２Ａは、実施例２のＦＷ５追加前の配置構成の一例を示す説明図、図２２Ｂは、ＦＷ５の追加後の配置構成の一例を示す説明図、図２３は、ＦＷ５追加前後の集約ＬＢ１３Ａの分配割合及び各ＶＮＦ１２の転送経路の一例を示す説明図である。
【００９６】
図２２Ａに示す配置構成は、ＦＷ５追加前、すなわちスケールアウト前のサービスチェイン１のＶＮＦ１２の配置構成である。図２２Ａに示す配置構成は、最前段のＶＮＦ群２０として２台のＬＢ１、ＬＢ２、次段のＶＮＦ＃１として４台のＦＷ１〜ＦＷ４、次段のＶＮＦ＃２として３台のＩＤＳ１〜ＩＤＳ３、最後段のＶＮＦ＃３として３台のＰｒｏｘｙ１〜Ｐｒｏｘｙ３として配置する。
【００９７】
ＦＷ５追加前のＬＢ１の分配割合は、全体トラヒック量の２／８、つまり、ＬＢ１が受信するトラヒック量の１／４をＰｒｏｘｙ１宛にＦＷ１経由で送信とする。更に、ＬＢ１の分配割合は、全体トラヒック量の１／８、つまり、ＬＢ１が受信するトラヒック量の１／８をＰｒｏｘｙ２宛にＦＷ２経由で送信とする。更に、ＬＢ１の分配割合は、全体トラヒック量の１／８、つまり、ＬＢ１が受信するトラヒック量の１／８をＰｒｏｘｙ３宛にＦＷ３経由で送信とする。
【００９８】
ＦＷ５の追加前のＬＢ２の分配割合は、全体トラヒック量の１／８、つまり、ＬＢ２が受信するトラヒック量の１／８をＰｒｏｘｙ１宛にＦＷ２経由で送信とする。更に、ＬＢ２の分配割合は、全体トラヒック量の１／８、つまり、ＬＢ２が受信するトラヒック量の１／８をＰｒｏｘｙ２宛にＦＷ３経由で送信とする。更に、ＬＢ２の分配割合は、全体トラヒック量の２／８、つまり、ＬＢ２が受信するトラヒック量の１／４をＰｒｏｘｙ３宛にＦＷ４経由で送信とする。
【００９９】
ＦＷ５追加前のＬＢ１の転送経路は、Ｐｒｏｘｙ１宛をＦＷ１経由で送信、Ｐｒｏｘｙ２宛をＦＷ２経由で送信、Ｐｒｏｘｙ３宛をＦＷ３経由で送信とする。ＦＷ５追加前のＬＢ２の転送経路は、Ｐｒｏｘｙ１宛をＦＷ２経由で送信、Ｐｒｏｘｙ２宛をＦＷ３経由で送信、Ｐｒｏｘｙ３宛をＦＷ４経由で送信とする。ＦＷ５追加前のＦＷ１の転送経路は、Ｐｒｏｘｙ１宛をＩＤＳ１経由で送信とする。ＦＷ５追加前のＦＷ２の転送経路は、Ｐｒｏｘｙ１宛をＩＤＳ１経由で送信、Ｐｒｏｘｙ２宛をＩＤＳ２経由で送信とする。ＦＷ５追加前のＦＷ３の転送経路は、Ｐｒｏｘｙ２宛をＩＤＳ２経由で送信、Ｐｒｏｘｙ３宛をＩＤＳ３経由で送信とする。ＦＷ５追加前のＦＷ４の転送経路は、Ｐｒｏｘｙ３宛をＩＤＳ３経由で送信とする。ＦＷ５追加前のＩＤＳ１の転送経路は、Ｐｒｏｘｙ１宛をＰｒｏｘｙ１経由で送信とする。ＦＷ５追加前のＩＤＳ２の転送経路は、Ｐｒｏｘｙ２宛をＰｒｏｘｙ２経由で送信とする。ＦＷ５追加前のＩＤＳ３の転送経路は、Ｐｒｏｘｙ３宛をＰｒｏｘｙ３経由で送信とする。
【０１００】
図２２Ｂに示す配置構成は、図２２Ａに示す配置構成のＶＮＦ＃２にＦＷ５を追加配置するスケールアウト後の配置構成である。
【０１０１】
ＦＷ５追加後のＬＢ１の分配割合は、全体トラヒック量の２／１０、つまり、ＬＢ１が受信するトラヒック量の１／５をＰｒｏｘｙ１宛にＦＷ１経由で送信とする。更に、ＬＢ１の分配割合は、全体トラヒック量の２／１０、つまり、ＬＢ１が受信するトラヒック量の１／５をＰｒｏｘｙ２宛にＦＷ２経由で送信とする。更に、ＬＢ１の分配割合は、全体トラヒック量の１／１０、つまり、ＬＢ１が受信するトラヒック量の１／１０をＰｒｏｘｙ３宛にＦＷ３経由で送信とする。
【０１０２】
ＦＷ５の追加後のＬＢ２の分配割合は、全体トラヒック量の１／１０、つまり、ＬＢ２が受信するトラヒック量の１／１０をＰｒｏｘｙ１宛にＦＷ３経由で送信とする。更に、ＬＢ２の分配割合は、全体トラヒック量の２／１０、つまり、ＬＢ２が受信するトラヒック量の１／５をＰｒｏｘｙ２宛にＦＷ４経由で送信とする。更に、ＬＢ２の分配割合は、全体トラヒック量の２／１０、つまり、ＬＢ２が受信するトラヒック量の１／５をＰｒｏｘｙ３宛にＦＷ５経由で送信とする。
【０１０３】
ＦＷ５追加後のＬＢ１の転送経路は、Ｐｒｏｘｙ１宛をＦＷ１経由で送信、Ｐｒｏｘｙ２宛をＦＷ２経由で送信、Ｐｒｏｘｙ３宛をＦＷ３経由で送信とする。ＦＷ５追加後のＬＢ２の転送経路は、Ｐｒｏｘｙ１宛をＦＷ３経由で送信、Ｐｒｏｘｙ２宛をＦＷ４経由で送信、Ｐｒｏｘｙ３宛をＦＷ５経由で送信とする。ＦＷ５追加後のＦＷ１の転送経路は、Ｐｒｏｘｙ１宛をＩＤＳ１経由で送信とする。ＦＷ５追加後のＦＷ２の転送経路は、Ｐｒｏｘｙ２宛をＩＤＳ２経由で送信とする。ＦＷ５追加後のＦＷ３の転送経路は、Ｐｒｏｘｙ１宛をＩＤＳ１経由で送信、Ｐｒｏｘｙ３宛をＩＤＳ３経由で送信とする。ＦＷ５追加後のＦＷ４の転送経路は、Ｐｒｏｘｙ２宛をＩＤＳ２経由で送信とする。ＦＷ５の転送経路は、Ｐｒｏｘｙ３宛をＩＤＳ３経由で送信とする。ＦＷ５追加後のＩＤＳ１の転送経路は、Ｐｒｏｘｙ１宛をＰｒｏｘｙ１経由で送信とする。ＦＷ５追加後のＩＤＳ２の転送経路は、Ｐｒｏｘｙ２宛をＰｒｏｘｙ２経由で送信とする。ＦＷ５追加後のＩＤＳ３の転送経路は、Ｐｒｏｘｙ３宛をＰｒｏｘｙ３経由で送信とする。
【０１０４】
図２４は、実施例２の管理サーバ３のプロセッサ３６Ａの機能構成の一例を示す説明図である。尚、実施例１のサービスチェインシステム１と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。
【０１０５】
図２４に示すプロセッサ３６Ａは、第１の決定部４１、第２の決定部４２及び設定部４３の他に、取得部４４、比較部４５及び記憶制御部４６を有する。主記憶装置３５には、例えば、設定テーブル３５Ａを格納する領域を有する。設定テーブル３５Ａは、現状の各ＶＮＦ１２及び集約ＬＢ１３Ａの転送経路及び集約ＬＢ１３Ａの分配割合等を格納している。補助記憶装置３４には、例えば、後述する保持テーブル３４Ａを格納する領域を有する。取得部４４は、設定テーブル３４Ａから追加前の集約ＬＢ１３Ａの分配割合と、各ＶＮＦ１２及び集約ＬＢ１３Ａの転送経路とを取得する。尚、追加前の集約ＬＢ１３Ａの分配割合は、新規ＶＮＦ１２をサービスチェインシステム１に追加する前の分配割合である。追加前の集約ＬＢ１３Ａ及び各ＶＮＦ１２の転送経路は、新規ＶＮＦ１２をサービスチェインシステム１に追加する前の転送経路である。また、取得部４４は、追加後の集約ＬＢ１３Ａの分配割合と各ＶＮＦ１２及び集約ＬＢ１３Ａの転送経路とを取得する。尚、追加後の集約ＬＢ１３Ａの分配割合は、新規ＶＮＦ１２をサービスチェインシステム１に追加する場合に第２の決定部４２で得た分配割合である。追加後の集約ＬＢ１３Ａ及び各ＶＮＦ１２の転送経路は、新規ＶＮＦ１２をサービスチェインシステム１に追加する場合の転送経路である。取得部４４は、第２の決定部４２Ｂにて算出された追加後の集約ＬＢ１３Ａ及び各ＶＮＦ１２の転送経路及び集約ＬＢ１３Ａの分配割合を取得する。
【０１０６】
比較部４５は、サービスチェインシステム１内の最後段のＶＮＦ群２０を指定し、指定されたＶＮＦ群２０内のＶＮＦ１２毎に追加前後の転送経路同士を比較する。比較部４５は、最後段のＶＮＦ群２０内の全ＶＮＦ１２の追加前後の転送経路の比較が完了した場合、次に最後段のＶＮＦ群２０を指定する。つまり、比較部４５は、図２２Ａ及び２２Ｂに示すように最後段のＶＮＦ＃３（Ｐｒｏｘｙ）→ＶＮＦ＃２（ＩＤＳ）→ＶＮＦ＃１（ＦＷ）→最前段ＶＮＦ群（ＬＢ）の順に各ＶＮＦ群２０を順次指定する。そして、比較部４５は、指定されたＶＮＦ群２０内のＶＮＦ１２毎の追加前後の転送経路同士を順次比較する。記憶制御部４６は、第１の更新部４６Ａと、第２の更新部４６Ｂと、第３の更新部４６Ｃとを有する。第１の更新部４６Ａは、比較部４５にて指定ＶＮＦ１２の追加前後の転送経路同士を比較し、指定ＶＮＦ１２の追加後の転送経路が追加前に未設定の宛先アドレス宛の転送経路であるか否かを判定する。尚、宛先アドレスは、サービスチェインを使用する通信の宛先、例えば、Ｐｒｏｘｙ１〜３等に相当し、未設定の宛先アドレスは、指定ＶＮＦ１２において、追加前の転送経路に未設定の宛先アドレスである。
【０１０７】
第１の更新部４６Ａは、指定ＶＮＦ１２の追加後の転送経路が追加前に未設定の宛先アドレス宛の転送経路の場合、指定ＶＮＦ１２の未設定の宛先アドレス宛の転送経路を設定テーブル３５Ａに追加登録する。尚、設定テーブル３５Ａは、現在設定中の追加前の転送経路を記憶した領域である。第１の更新部４６Ａは、例えば、図２３に示すＦＷ３の転送経路に着目した場合、追加前に未設定の宛先アドレス宛の追加後の転送経路として「Ｐｒｏｘｙ１宛をＩＤＳ１経由で送信」の転送経路を設定テーブル３５Ａに追加登録する。
【０１０８】
第２の更新部４６Ｂは、指定ＶＮＦ１２の追加後の転送経路が追加前に未設定の宛先アドレス宛の転送経路でない場合、指定ＶＮＦ１２の追加後の転送経路が追加前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路であるか否かを判定する。第２の更新部４６Ｂは、指定ＶＮＦ１２の追加後の転送経路が追加前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路の場合、設定テーブル３５Ａ内の指定ＶＮＦ１２の該当転送経路を更新する。第２の更新部４６Ｂは、例えば、図２３に示すＬＢ２の転送経路に着目した場合、追加前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路として「Ｐｒｏｘｙ１宛をＦＷ３経由で送信」の転送経路を決定する。そして、第２の更新部４６Ｂは、設定テーブル３５Ａ内のＬＢ２の「Ｐｒｏｘｙ１宛をＦＷ２経由で送信」の転送経路を「Ｐｒｏｘｙ１宛をＦＷ３経由で送信」に更新する。尚、出力先とは、指定されたＶＮＦ１２又は集約ＬＢ１３Ａの出力先である。更新には、削除や追加も含むものとする。
【０１０９】
第３の更新部４６Ｃは、指定ＶＮＦ１２の追加後の転送経路が追加前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路でない場合、指定ＶＮＦ１２の追加前の転送経路が追加後の転送経路に該当なしの転送経路であるか否かを判定する。第３の更新部４６Ｃは、指定ＶＮＦ１２の追加前の転送経路が追加後の転送経路に該当なしの転送経路の場合、該当なしの転送経路を保持テーブル３４Ａに保持する。第３の更新部４６Ｃは、例えば、図２３に示すＦＷ３の転送経路に着目した場合、追加後の転送経路に該当なしの追加前の転送経路としてＦＷ３の「Ｐｒｏｘｙ２宛をＩＤＳ２経由で送信」と決定する。そして、第３の更新部４６Ｃは、ＦＷ３の追加前の転送経路として「Ｐｒｏｘｙ２宛をＩＤＳ２経由で送信」を保持テーブル３４Ａに保持する。
【０１１０】
そして、設定部４３は、全ＶＮＦ群２０内の全ＶＮＦ１２の追加前後の転送経路同士の比較が完了した場合、追加後の集約ＬＢ１３Ａの分配割合を設定する。更に、第３の更新部４６Ｃは、集約ＬＢ１３Ａの分配割合を設定した後、保持テーブル３４Ａに保持中の該当なし転送経路を設定テーブル３５Ａから削除する。その結果、設定テーブル３５Ａは、ＦＷ５追加後の各ＶＮＦ１２の転送経路に更新されたことになる。
【０１１１】
次にＶＮＦ追加時の管理サーバ３の動作について説明する。図２５は、ＶＮＦ追加処理に関わる管理サーバ３内のプロセッサ３６Ａの処理動作の一例を示すフローチャートである。
【０１１２】
図２５において管理サーバ３内のプロセッサ３６Ａは、ＶＮＦ１２の過負荷状態を検出したか否かを判定する（ステップＳ２１）。プロセッサ３６Ａ内の設定部４３は、ＶＮＦ１２の過負荷状態を検出した場合（ステップＳ２１肯定）、過負荷状態の解消に対応する新規ＶＮＦ１２をサービスチェインシステム１に追加する（ステップＳ２２）。
【０１１３】
プロセッサ３６Ａ内の取得部４４は、ＶＮＦ１２追加後のサービスチェイン構成の集約ＬＢ１３Ａの分配割合及び転送経路を算出する（ステップＳ２３）。取得部４４は、設定テーブル３５ＡからＶＮＦ１２追加前のサービスチェイン構成の集約ＬＢ１３Ａの分配割合及び転送経路を取得する（ステップＳ２４）。
【０１１４】
比較部４５は、サービスチェイン構成の最後段のＶＮＦ群２０を指定する（ステップＳ２５）。尚、最後段のＶＮＦ群２０は、図２１Ｂに示す配置構成の場合、ＶＮＦ群＃３である。比較部４５は、指定されたＶＮＦ群２０内のＶＮＦ１２を指定する（ステップＳ２６）。比較部４５は、指定ＶＮＦ１２の追加前後の転送経路同士を比較する（ステップＳ２７）。
【０１１５】
第１の更新部４６Ａは、指定ＶＮＦ１２の追加後の転送経路が追加前に未設定の宛先アドレス宛の転送経路であるか否かを判定する（ステップＳ２８）。尚、宛先アドレス宛は、図２２Ｂの配置構成の場合、例えば、Ｐｒｏｘｙ１〜３等の最終宛先アドレスである。第１の更新部４６Ａは、指定ＶＮＦ１２の追加後の転送経路が追加前に未設定の宛先アドレス宛の転送経路の場合（ステップＳ２８肯定）、指定ＶＮＦ１２の追加後の該当転送経路を設定テーブル３５Ａに登録する（ステップＳ２９）。比較部４５は、該当転送経路を設定テーブル３５Ａ内に登録した後、指定ＶＮＦ群２０内に未指定のＶＮＦ１２があるか否かを判定する（ステップＳ３０）。
【０１１６】
比較部４５は、指定ＶＮＦ群２０内に未指定のＶＮＦ１２がある場合（ステップＳ３０肯定）、指定ＶＮＦ群２０内に未指定のＶＮＦ１２の内、次のＶＮＦ１２を指定する（ステップＳ３１）。そして、比較部４５は、次のＶＮＦ１２を指定した後、指定ＶＮＦ１２の追加前後の転送経路同士を比較すべく、ステップＳ２７に移行する。
【０１１７】
第２の更新部４６Ｂは、指定ＶＮＦ１２の追加後の転送経路が追加前に未設定の宛先アドレス宛の転送経路でない場合（ステップＳ２８否定）、ステップＳ３２に移行する。第２の更新部４６Ｂは、指定ＶＮＦ１２の追加後の転送経路が追加前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路であるか否かを判定する（ステップＳ３２）。第２の更新部４６Ｂは、指定ＶＮＦ１２の追加後の転送経路が追加前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路の場合（ステップＳ３２肯定）、ステップＳ３３に移行する。第２の更新部４６Ｂは、指定ＶＮＦ１２の追加後の転送経路に基づき、設定テーブル３５Ａ内の該当転送経路を更新する（ステップＳ３３）。そして、比較部４５は、未指定のＶＮＦ１２があるか否かを判定すべく、ステップＳ３０に移行する。
【０１１８】
第３の更新部４６Ｃは、指定ＶＮＦ１２の追加後の転送経路が追加前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路でない場合（ステップＳ３２否定）、ステップＳ３４に移行する。第３の更新部４６Ｃは、指定ＶＮＦ１２の追加前の転送経路が追加後に該当なしの転送経路であるか否かを判定する（ステップＳ３４）。第３の更新部４６Ｃは、指定ＶＮＦ１２の追加前の転送経路が追加後に該当なしの転送経路である場合（ステップＳ３４肯定）、指定ＶＮＦ１２の該当なしの転送経路を保持テーブル３４Ａに保持する（ステップＳ３５）。そして、比較部４５は、未指定のＶＮＦ群があるか否かを判定すべく、ステップＳ３０に移行する。
【０１１９】
比較部４５は、指定ＶＮＦ１２の追加前の転送経路が追加後に該当なしの転送経路でない場合（ステップＳ３４否定）、未指定のＶＮＦ１２があるか否かを判定すべく、ステップＳ３０に移行する。
【０１２０】
比較部４５は、指定ＶＮＦ群２０内に未指定のＶＮＦ１２がない場合（ステップＳ３０否定）、指定ＶＮＦ群２０がＬＢであるか否かを判定する（ステップＳ３６）。比較部４５は、指定ＶＮＦ群２０がＬＢでない場合（ステップＳ３６否定）、指定ＶＮＦ群２０を除いて、最後段のＶＮＦ群２０を指定し（ステップＳ３７）、指定ＶＮＦ群２０内のＶＮＦ１２を指定すべく、ステップＳ２６に移行する。尚、ステップＳ３７の最後段のＶＮＦ群２０は、指定ＶＮＦ群２０がＶＮＦ群＃３の場合、ＶＮＦ群＃２に相当し、指定ＶＮＦ群２０がＶＮＦ群＃２の場合、ＶＮＦ群＃１に相当し、指定ＶＮＦ群２０がＶＮＦ群＃１の場合、ＬＢに相当する。
【０１２１】
設定部４３は、指定ＶＮＦ群２０がＬＢの場合（ステップＳ３６肯定）、追加後の集約ＬＢ１３Ａの分配割合を更新する（ステップＳ３８）。更に、第３の更新部４６Ｃは、保持テーブル３４Ａに保持中の該当なし転送経路を設定テーブル３５Ａから削除し（ステップＳ３９）、図２５に示す処理動作を終了する。
【０１２２】
つまり、先ず、比較部４５は、最後段のＶＮＦ群＃３を指定し、ＶＮＦ群＃３内の各Ｐｒｏｘｙ１〜３を順次指定し、ＶＮＦ群＃３内の指定Ｐｒｏｘｙの追加前後の転送経路同士を比較する。尚、比較部４５は、最後段のＶＮＦ群＃３のＶＮＦ１２がＰｒｏｘｙであるため、受信パケットを転送することがないため、追加前後の転送経路同士の比較を実行しなくても良い。比較部４５は、ＶＮＦ群＃３内の全Ｐｒｏｘｙの追加前後の転送経路同士の比較が完了した場合、ＶＮＦ群＃２を指定する。
【０１２３】
比較部４５は、指定したＶＮＦ群＃２内の各ＶＮＦ１２、すなわちＩＤＳ１〜３を順次指定し、ＶＮＦ群＃２内の指定ＩＤＳの追加前後の転送経路同士を比較する。尚、比較部４５は、ＶＮＦ群＃２のＶＮＦ１２がＩＤＳであるため、ＦＷ５の追加前後でも転送経路の変更がないため、追加前後の転送経路同士の比較を実行しなくても良い。比較部４５は、ＶＮＦ群＃２内の全ＩＤＳ１〜３の追加前後の転送経路同士の比較が完了した場合、ＶＮＦ＃１を指定する。
【０１２４】
比較部４５は、指定したＶＮＦ群＃１内の各ＶＮＦ１２、すなわちＦＷ１〜５を順次指定し、ＶＮＦ群＃１内の指定ＦＷの追加前後の転送経路同士を比較する。この際、記憶制御部４６は、ステップＳ２８、Ｓ３２及びＳ３４の判定処理を実行する。そして、第１の更新部４６Ａは、ステップＳ２８の判定処理にて、ＦＷ３の「Ｐｒｏｘｙ１宛をＩＤＳ１経由で送信」、ＦＷ４の「Ｐｒｏｘｙ２宛をＩＤＳ２経由で送信」、ＦＷ５の「Ｐｒｏｘｙ３宛をＩＤＳ３経由で送信」を該当転送経路と判断する。そして、第１の更新部４６Ａは、ＦＷ３の「Ｐｒｏｘｙ１宛をＩＤＳ１経由で送信」、ＦＷ４の「Ｐｒｏｘｙ２宛をＩＤＳ２経由で送信」、ＦＷ５の「Ｐｒｏｘｙ３宛をＩＤＳ３経由で送信」の転送経路を設定テーブル３５Ａに追加登録する。
【０１２５】
更に、第３の更新部４６Ｃは、ステップＳ３４の判定処理にてＦＷ２の「Ｐｒｏｘｙ１宛をＩＤＳ１経由で送信」、ＦＷ３の「Ｐｒｏｘｙ２宛をＩＤＳ２経由で送信」を追加後に該当なし転送経路として保持テーブル３４Ａに保持する。また、第３の更新部４６Ｃは、ＦＷ４の「Ｐｒｏｘｙ３宛をＩＤＳ３経由で送信」も、追加後に該当なし転送経路として保持テーブル３４Ａに保持する。
【０１２６】
次に比較部４５は、ＶＮＦ群＃１内の全ＦＷ１〜５の追加前後の転送経路同士の比較が完了した場合、ＬＢのＶＮＦ群２０を指定する。比較部４５は、指定されたＬＢのＶＮＦ群２０内の指定ＶＮＦ１２、すなわちＬＢ１及びＬＢ２を順次指定する。比較部４５は、ＬＢのＶＮＦ群２０内の指定ＬＢの追加前後の転送経路同士を比較する。この際、比較部４５は、ステップＳ２８、Ｓ３２及びＳ３４の判定処理を実行する。そして、第２の更新部４６Ｂは、ステップＳ３２の判定処理にて、ＬＢ２の「Ｐｒｏｘｙ１宛をＦＷ３経由で送信」、「Ｐｒｏｘｙ２宛をＦＷ４経由で送信」及び「Ｐｒｏｘｙ３宛をＦＷ５経由で送信」を該当転送経路として判断する。そして、第２の更新部４６Ｂは、ステップＳ３２の判定結果に基づき、設定テーブル３５Ａ内のＬＢ２の「Ｐｒｏｘｙ１宛をＦＷ２経由で送信」の転送経路を「Ｐｒｏｘｙ１宛をＦＷ３経由で送信」に更新する。更に、第２の更新部４６Ｂは、設定テーブル３５Ａ内のＬＢ２の「Ｐｒｏｘｙ２宛をＦＷ３経由で送信」の転送経路を「Ｐｒｏｘｙ２宛をＦＷ４経由で送信」に更新する。更に、第２の更新部４６Ｂは、設定テーブル３５Ａ内のＬＢ２の「Ｐｒｏｘｙ３宛をＦＷ４経由で送信」の転送経路を「Ｐｒｏｘｙ３宛をＦＷ５経由で送信」に更新する。
【０１２７】
そして、設定部４３は、集約ＬＢ１３ＡのＶＮＦ群２０内の全ての集約ＬＢ１３Ａの追加前後の転送経路同士の比較が完了した場合、追加後の集約ＬＢ１３Ａの分配割合を各ＶＮＦ１２に設定する。そして、第３の更新部４６Ｃは、追加後の集約ＬＢ１３Ａの分配割合を各ＶＮＦ１２に設定した後、保持テーブル３４Ａに保持中の該当なし転送経路を設定テーブル３５Ａから削除する。例えば、第３の更新部４６Ｃは、設定テーブル３５ＡからＦＷ２の「Ｐｒｏｘｙ１宛をＩＤＳ１経由で送信」、ＦＷ３の「Ｐｒｏｘｙ２宛をＩＤＳ２経由で送信」、ＦＷ４の「Ｐｒｏｘｙ３宛をＩＤＳ３経由で送信」を削除する。その結果、設定テーブル３５Ａには、ＦＷ５追加後の各ＶＮＦ１２の転送経路が更新されたことになる。つまり、サービスチェインシステム１内にＦＷ５を追加する場合でも集約ＬＢ１３及び各ＶＮＦ１２の設定完了時刻の時間差による通信断の発生を回避できる。
【０１２８】
実施例２の管理サーバ３は、新規のＶＮＦ１２を追加する場合、追加前後の集約ＬＢ１３Ａ及び各ＶＮＦ１２の転送経路を取得する。管理サーバ３は、最後段のＶＮＦ群２０からＶＮＦ群２０を順次指定し、指定ＶＮＦ群２０内のＶＮＦ１２を順次指定し、指定ＶＮＦ１２の追加前後の転送経路同士を比較する。管理サーバ３は、指定ＶＮＦ１２の追加後の転送経路が追加前に未設定の宛先アドレス宛の転送経路の場合、指定ＶＮＦの追加後の該当転送経路を設定テーブル３５Ａに追加登録する。また、管理サーバ３は、指定ＶＮＦ１２の追加後の転送経路が追加前の転送経路と同一宛先アドレス宛であって出力先が異なる転送経路の場合、指定ＶＮＦ１２の追加後の該当転送経路に基づき、設定テーブル３５Ａの追加前の該当転送経路を更新する。
【０１２９】
更に、管理サーバ３は、指定ＶＮＦ１２の追加前の転送経路が追加後の転送経路内に該当なしの転送経路の場合、指定ＶＮＦ１２の該当なしの転送経路を保持テーブル３４Ａに保持する。更に、管理サーバ３は、全てのＶＮＦ群２０内の全てのＶＮＦ１２の追加前後の転送経路同士の比較が完了した場合、追加後の集約ＬＢ１３Ａの分配割合を設定した後、設定テーブル３５Ａから保持テーブル３４Ａに保持中の該当なしの転送経路を削除する。つまり、管理サーバ３は、設定テーブル３５Ａに対して、追加前に未設定の宛先アドレス宛の転送経路を追加、追加前と同一の宛先アドレス宛であって出力先が異なる転送経路を更新する。更に、管理サーバ３は、追加後の集約ＬＢ１３Ａの分配割合の設定を実行した後、追加後に該当なしの追加前の転送経路を設定テーブル３５Ａから削除する。その結果、サービスチェインシステム１内にＶＮＦ１２を追加する場合でも、集約ＬＢ１３Ａ及び各ＶＮＦ１２の転送経路の設定完了時刻の時間差による通信断の発生を回避できる。
【０１３０】
実施例１では、例えば、ＶＮＦ＃１にＦＷ５を追加した場合、集約ＬＢ１３Ａの分配割合や転送経路の変更が求められるため、ＬＢ２、ＦＷ３、ＦＷ４、ＦＷ５の設定変更が生じ、例えばＦＷ４が他の処理を実行中等で同時に設定変更ができず、通信断が生じる。また、ＦＷ４の変更処理が遅れてＬＢ２での設定変更が先行して行われた場合、トラヒックがＦＷ４に到着したとしてもＦＷ４にはＰｒｏｘｙ２宛の転送経路が登録されていないため、パケットが廃棄されてしまう。しかしながら、実施例２では、未設定の宛先アドレスの転送経路の追加、追加前と同一宛先アドレスであって出力先が異なる転送経路の更新、追加後の集約ＬＢ１３Ａの分配割合の設定を実行した後、追加後に該当なしの転送経路を設定テーブル３５Ａから削除する。その結果、サービスチェインシステム１内にＶＮＦ１２を追加する場合でも、集約ＬＢ１３Ａ及び各ＶＮＦ１２の転送経路の設定完了時刻の時間差による通信断の発生を回避できる。
【０１３１】
尚、実施例２では、ＶＮＦ群＃１内にＦＷ５を追加した場合を例示したが、ＶＮＦ群＃１に限定されるものではなく、他のＶＮＦ群２０のＩＤＳ、ＰｒｏｘｙやＬＢ等のＶＮＦ１２であっても良い。
【０１３２】
また、比較部４５は、指定ＶＮＦ２０群内の各ＶＮＦ１２を個別に指定して追加前後の転送経路同士を比較したが、指定ＶＮＦ群２０内のＶＮＦ１２を複数個単位又は一括で指定して各指定ＶＮＦ１２の追加前後の転送経路同士を比較しても良い。
【０１３３】
第３の更新部４６Ｃは、ステップＳ３４にて指定ＶＮＦ１２の追加前の転送経路が追加後の転送経路内に該当なしの転送経路であるか否かを判定し、その該当なし転送経路を保持テーブル３４Ａに保持したが、これに限定されるものではない。第３の更新部４６Ｃは、ステップＳ３８にて追加後の集約ＬＢ１３Ａの分配割合を設定した後、各ＶＮＦ１２につき、ステップＳ３４の追加前の転送経路が追加後の転送経路内に該当なしの転送経路であるか否かを判定する。そして、第３の更新部４６Ｃは、該当なしの転送経路を保持テーブル３４Ａに保持した後、その保持テーブル３４Ａに保持中の該当なしの転送経路を設定テーブル３５Ａから削除するステップＳ３９に移行しても良い。また、第３の更新部４６Ｃは、保持テーブル３４Ａに保持中の該当なしの転送経路を設定テーブル３５Ａから削除する順序は適宜変更可能であって、例えば、該当なしの転送経路をＶＮＦ１２毎に削除、複数個単位、若しくは一括で削除しても良い。
【０１３４】
取得部４４は、追加前の転送経路を設定テーブル３５Ａから取得したが、転送経路を算出しても良い。
【０１３５】
また、管理サーバ３では、例えば、サービスチェインシステム１内の負荷の低下に応じてＶＮＦ１２を停止削除するスケールインを実行する場合もある。この場合も、サービスチェインシステム１内の複数のＶＮＦ１２の設定を変更する必要がある。しかしながら、各ＶＮＦ１２の設定変更の同期を確保するのは困難であるため、集約ＬＢ１３Ａ及び各ＶＮＦ１２の転送経路の設定完了時刻に時間差が生じて通信断が発生する。そこで、ＶＮＦ１２の削除に伴う設定変更が生じた場合でも通信断の発生を回避できるサービスチェインシステム１の実施の形態につき、実施例３として以下に説明する。
【実施例３】
【０１３６】
図２６Ａは、実施例３のＦＷ５削除前の配置構成の一例を示す説明図、図２６Ｂは、ＦＷ５の削除後の配置構成の一例を示す説明図、図２７は、ＦＷ５削除前後の集約ＬＢ１３Ａの分配割合及び各ＶＮＦ１２の転送経路の一例を示す説明図である。
【０１３７】
図２６Ａに示すＦＷ５削除前の配置構成は、ＦＷ５削除前、すなわちスケールイン前のサービスチェインシステム１のＶＮＦ１２の配置構成である。図２６Ａに示す配置構成は、最前段のＶＮＦ群２０として２台のＬＢ１、ＬＢ２、次段のＶＮＦ＃１として５台のＦＷ１〜ＦＷ５、次段のＶＮＦ＃２として３台のＩＤＳ１〜ＩＤＳ３、最後段のＶＮＦ＃３として３台のＰｒｏｘｙ１〜Ｐｒｏｘｙ３として配置する。
【０１３８】
ＦＷ５削除前のＬＢ１の分配割合は、全体トラヒック量の２／１０、つまり、ＬＢ１が受信するトラヒック量の１／５をＰｒｏｘｙ１宛にＦＷ１経由で送信とする。更に、ＬＢ１の分配割合は、全体トラヒック量の２／１０、つまり、ＬＢ１が受信するトラヒック量の１／５をＰｒｏｘｙ２宛にＦＷ２経由で送信とする。更に、ＬＢ１の分配割合は、全体トラヒック量の１／１０、つまり、ＬＢ１が受信するトラヒック量の１／１０をＰｒｏｘｙ３宛にＦＷ３経由で送信とする。
【０１３９】
ＦＷ５削除前のＬＢ２の分配割合は、全体トラヒック量の１／１０、つまり、ＬＢ２が受信するトラヒック量の１／１０をＰｒｏｘｙ１宛にＦＷ３経由で送信とする。更に、ＬＢ２の分配割合は、全体トラヒック量の２／１０、つまり、ＬＢ２が受信するトラヒック量の１／５をＰｒｏｘｙ２宛にＦＷ４経由で送信とする。更に、ＬＢ２の分配割合は、全体トラヒック量の２／１０、つまり、ＬＢ２が受信するトラヒック量の１／５をＰｒｏｘｙ３宛にＦＷ５経由で送信とする。
【０１４０】
ＦＷ５削除前のＬＢ１の転送経路は、Ｐｒｏｘｙ１宛をＦＷ１経由で送信、Ｐｒｏｘｙ２宛をＦＷ２経由で送信、Ｐｒｏｘｙ３宛をＦＷ３経由で送信とする。ＦＷ５削除前のＬＢ２の転送経路は、Ｐｒｏｘｙ１宛をＦＷ３経由で送信、Ｐｒｏｘｙ２宛をＦＷ４経由で送信、Ｐｒｏｘｙ３宛をＦＷ５経由で送信とする。ＦＷ５削除前のＦＷ１の転送経路は、Ｐｒｏｘｙ１宛をＩＤＳ１経由で送信とする。ＦＷ５削除前のＦＷ２の転送経路は、Ｐｒｏｘｙ２宛をＩＤＳ２経由で送信とする。ＦＷ５削除前のＦＷ３の転送経路は、Ｐｒｏｘｙ１宛をＩＤＳ１経由で送信、Ｐｒｏｘｙ３宛をＩＤＳ３経由で送信とする。ＦＷ５削除前のＦＷ４の転送経路は、Ｐｒｏｘｙ２宛をＩＤＳ２経由で送信とする。ＦＷ５の転送経路は、Ｐｒｏｘｙ３宛をＩＤＳ３経由で送信とする。ＦＷ５削除前のＩＤＳ１の転送経路は、Ｐｒｏｘｙ１宛をＰｒｏｘｙ１経由で送信とする。ＦＷ５削除前のＩＤＳ２の転送経路は、Ｐｒｏｘｙ２宛をＰｒｏｘｙ２経由で送信とする。ＦＷ５削除前のＩＤＳ３の転送経路は、Ｐｒｏｘｙ３宛をＰｒｏｘｙ３経由で送信とする。
【０１４１】
図２６Ｂに示す配置構成は、図２６Ａに示す配置構成のＶＮＦ＃２内のＦＷ５を削除したスケールイン後の配置構成である。
【０１４２】
ＦＷ５削除後のＬＢ１の分配割合は、全体トラヒック量の２／８、つまり、ＬＢ１が受信するトラヒック量の１／４をＰｒｏｘｙ１宛にＦＷ１経由で送信とする。更に、ＬＢ１の分配割合は、全体トラヒック量の１／８、つまり、ＬＢ１が受信するトラヒック量の１／８をＰｒｏｘｙ２宛にＦＷ２経由で送信とする。更に、ＬＢ１の分配割合は、全体トラヒック量の１／８、つまり、ＬＢ１が受信するトラヒック量の１／８をＰｒｏｘｙ３宛にＦＷ３経由で送信とする。
【０１４３】
ＦＷ５削除後のＬＢ２の分配割合は、全体トラヒック量の１／８、つまり、ＬＢ２が受信するトラヒック量の１／８をＰｒｏｘｙ１宛にＦＷ２経由で送信とする。更に、ＬＢ２の分配割合は、全体トラヒック量の１／８、つまり、ＬＢ２が受信するトラヒック量の１／８をＰｒｏｘｙ２宛にＦＷ３経由で送信とする。更に、ＬＢ２の分配割合は、全体トラヒック量の２／８、つまり、ＬＢ２が受信するトラヒック量の１／４をＰｒｏｘｙ３宛にＦＷ４経由で送信とする。
【０１４４】
ＦＷ５削除後のＬＢ１の転送経路は、Ｐｒｏｘｙ１宛をＦＷ１経由で送信、Ｐｒｏｘｙ２宛をＦＷ２経由で送信、Ｐｒｏｘｙ３宛をＦＷ３経由で送信とする。ＦＷ５削除後のＬＢ２の転送経路は、Ｐｒｏｘｙ１宛をＦＷ２経由で送信、Ｐｒｏｘｙ２宛をＦＷ３経由で送信、Ｐｒｏｘｙ３宛をＦＷ４経由で送信とする。ＦＷ５削除後のＦＷ１の転送経路は、Ｐｒｏｘｙ１宛をＩＤＳ１経由で送信とする。ＦＷ５削除後のＦＷ２の転送経路は、Ｐｒｏｘｙ１宛をＩＤＳ１経由で送信、Ｐｒｏｘｙ２宛をＩＤＳ２経由で送信とする。ＦＷ５削除後のＦＷ３の転送経路は、Ｐｒｏｘｙ２宛をＩＤＳ２経由で送信、Ｐｒｏｘｙ３宛をＩＤＳ３経由で送信とする。ＦＷ５削除後のＦＷ４の転送経路は、Ｐｒｏｘｙ３宛をＩＤＳ３経由で送信とする。ＦＷ５削除後のＩＤＳ１の転送経路は、Ｐｒｏｘｙ１宛をＰｒｏｘｙ１経由で送信とする。ＦＷ５削除後のＩＤＳ２の転送経路は、Ｐｒｏｘｙ２宛をＰｒｏｘｙ２経由で送信とする。ＦＷ５削除後のＩＤＳ３の転送経路は、Ｐｒｏｘｙ３宛をＰｒｏｘｙ３経由で送信とする。
【０１４５】
プロセッサ３６Ａは、第１の決定部４１、第２の決定部４２及び設定部４３の他に、取得部４４、比較部４５及び記憶制御部４６を有する。取得部４４は、設定テーブル３５Ａから削除前の集約ＬＢ１３Ａの分配割合と、集約ＬＢ１３Ａ及び各ＶＮＦ１２の転送経路を取得する。尚、削除前の集約ＬＢ１３Ａの分配割合は、サービスチェインシステム１から配置ＶＮＦ１２を削除する前の分配割合である。削除前の集約ＬＢ１３Ａ及び各ＶＮＦ１２の転送経路は、配置ＶＮＦ１２をサービスチェインシステム１から削除する前の転送経路である。更に、取得部４４は、削除後の集約ＬＢ１３Ａの分配割合と、各ＶＮＦ１２及び集約ＬＢ１３Ａの転送経路を取得する。削除後の集約ＬＢ１３Ａの分配割合は、サービスチェインシステム１から配置ＶＮＦ１２を削除する場合に第２の決定部４２で得た分配割合である。削除後の集約ＬＢ１３Ａ及び各ＶＮＦ１２の転送経路は、サービスチェインシステム１から配置ＶＮＦ１２を削除する場合の転送経路である。取得部４４は、第２の決定部４２Ｂにて算出された削除後の集約ＬＢ１３Ａ及び各ＶＮＦ１２の転送経路及び集約ＬＢ１３Ａの分配割合を取得する。
【０１４６】
比較部４５は、サービスチェインシステム１内の最後段のＶＮＦ群２０を指定し、指定されたＶＮＦ群２０内のＶＮＦ１２毎に削除前後の転送経路同士を比較する。比較部４５は、最後段のＶＮＦ群２０内の全ＶＮＦ１２の削除前後の転送経路同士の比較が完了した場合、次に最後段のＶＮＦ群２０を指定する。そして、比較部４５は、指定されたＶＮＦ群２０内のＶＮＦ１２毎の削除前後の転送経路同士を順次比較する。つまり、比較部４５は、図２６Ａ及び２６Ｂに示すように最後段のＶＮＦ＃３（Ｐｒｏｘｙ）→ＶＮＦ＃２（ＩＤＳ）→ＶＮＦ＃１（ＦＷ）→最前段ＶＮＦ群（ＬＢ）を順次指定する。そして、比較部４５は、指定されたＶＮＦ群２０内のＶＮＦ１２毎の削除前後の転送経路同士を順次比較する。記憶制御部４６は、第１の更新部４６Ａと、第２の更新部４６Ｂと、第３の更新部４６Ｃとを有する。第１の更新部４６Ａは、比較部４５にて指定ＶＮＦ１２の削除前後の転送経路同士を比較し、指定ＶＮＦ１２の削除後の転送経路が削除前に未設定の宛先アドレス宛の転送経路であるか否かを判定する。尚、宛先アドレスは、サービスチェインを使用する通信の宛先、例えば、Ｐｒｏｘｙ１〜３等に相当し、未設定の宛先アドレスは、指定ＶＮＦ１２において、削除前の転送経路に未設定の宛先アドレスである。
【０１４７】
第１の更新部４６Ａは、指定ＶＮＦ１２の削除後の転送経路が削除前に未設定の宛先アドレス宛の転送経路の場合、指定ＶＮＦ１２の未設定の宛先アドレス宛の転送経路を設定テーブル３５Ａに追加登録する。尚、設定テーブル３５Ａは、現在設定中の削除前の転送経路を記憶した領域である。第１の更新部４６Ａは、例えば、図２７に示すＦＷ２の転送経路に着目した場合、削除前に未設定の宛先アドレス宛の削除後の転送経路として「Ｐｒｏｘｙ１宛をＩＤＳ１経由で送信」の転送経路を設定テーブル３５Ａに追加登録する。
【０１４８】
第２の更新部４６Ｂは、指定ＶＮＦ１２の削除後の転送経路が削除前に未設定の宛先アドレス宛の転送経路でない場合、指定ＶＮＦ１２の削除後の転送経路が削除前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路であるか否かを判定する。第２の更新部４６Ｂは、指定ＶＮＦ１２の削除後の転送経路が削除前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路の場合、設定テーブル３５Ａ内の指定ＶＮＦ１２の該当転送経路を更新する。第２の更新部４６Ｂは、例えば、図２７に示すＬＢ２の転送経路に着目した場合、削除前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路として「Ｐｒｏｘｙ１宛をＦＷ２経由で送信」の転送経路を決定する。そして、第２の更新部４６Ｂは、設定テーブル３５Ａ内のＬＢ２の「Ｐｒｏｘｙ１宛をＦＷ３経由で送信」の転送経路を「Ｐｒｏｘｙ１宛をＦＷ２経由で送信」に更新する。
【０１４９】
第３の更新部４６Ｃは、指定ＶＮＦ１２の削除後の転送経路が削除前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路でない場合、指定ＶＮＦ１２の削除前の転送経路が削除後の転送経路に該当なしの転送経路であるか否かを判定する。第３の更新部４６Ｃは、指定ＶＮＦ１２の削除前の転送経路が削除後の転送経路に該当なしの転送経路の場合、その該当なし転送経路を保持テーブル３４Ａに保持する。第３の更新部４６Ｃは、例えば、図２７に示すＦＷ３の転送経路に着目した場合、削除後の転送経路に該当なしの削除前の転送経路としてＦＷ３の「Ｐｒｏｘｙ１宛をＩＤＳ１経由で送信」と決定する。そして、第３の更新部４６Ｃは、ＦＷ３の追加前の転送経路として「Ｐｒｏｘｙ１宛をＩＤＳ１経由で送信」を保持テーブル３４Ａに保持する。
【０１５０】
そして、設定部４３は、全ＶＮＦ群２０内の削除前後の全ての転送経路同士の比較が完了した場合、削除後の集約ＬＢ１３Ａの分配割合を設定する。更に、第３の更新部４６Ｃは、集約ＬＢ１３Ａの分配割合を設定した後、保持テーブル３４Ａに保持中の該当なし転送経路を設定テーブル３５Ａから削除する。更に、設定部４３は、削除前のサービスチェインシステム１からＦＷ５を停止して削除する。
【０１５１】
そして、設定部４３は、全ＶＮＦ群２０内の全ＶＮＦ１２の削除前後の転送経路同士の比較が完了した場合、削除後の集約ＬＢ１３Ａの分配割合を設定する。更に、第３の更新部４６Ｃは、集約ＬＢ１３Ａの分配割合を設定した後、保持テーブル３４Ａに保持中の該当なし転送経路を設定テーブル３５Ａから削除する。その結果、設定テーブル３５Ａは、ＦＷ５削除後の各ＶＮＦ１２の転送経路に更新されたことになる。そして、設定部４３は、設定テーブル３５Ａの更新後、サービスチェインシステム１からＦＷ５を削除する。
【０１５２】
次にＶＮＦ削除時の管理サーバ３の動作について説明する。図２８は、ＶＮＦ削除処理に関わる管理サーバ３内のプロセッサ３６Ａの処理動作の一例を示すフローチャートである。
【０１５３】
図２８において管理サーバ３内のプロセッサ３６Ａは、ＶＮＦ１２の負荷低下を検出したか否かを判定する（ステップＳ４１）。プロセッサ３６Ａ内の取得部４４は、ＶＮＦ１２の負荷低下を検出した場合（ステップＳ４１肯定）、負荷低下に応じたＶＮＦ削除に関わるＶＮＦ削除後のサービスチェイン構成の集約ＬＢ１３Ａの分配割合及び転送経路を算出する（ステップＳ４２）。取得部４４は、設定テーブル３５ＡからＶＮＦ削除前のサービスチェイン構成の集約ＬＢ１３Ａの分配割合及び転送経路を取得する（ステップＳ４３）。
【０１５４】
比較部４５は、サービスチェイン構成の最後段のＶＮＦ群２０を指定する（ステップＳ４４）。尚、最後段のＶＮＦ群２０は、図２６Ａに示す配置構成の場合、ＶＮＦ群＃３である。比較部４５は、指定されたＶＮＦ群２０内のＶＮＦ１２を指定する（ステップＳ４５）。比較部４５は、指定ＶＮＦ１２の削除前後の転送経路同士を比較する（ステップＳ４６）。
【０１５５】
第１の更新部４６Ａは、指定ＶＮＦ１２の削除後の転送経路が削除前に未設定の宛先アドレス宛の転送経路であるか否かを判定する（ステップＳ４７）。尚、宛先アドレス宛は、図２６Ｂの配置構成の場合、例えば、Ｐｒｏｘｙ１〜３等の最終宛先アドレスである。第１の更新部４６Ａは、指定ＶＮＦ１２の削除後の転送経路が削除前に未設定の宛先アドレス宛の転送経路の場合（ステップＳ４７肯定）、指定ＶＮＦ１２の削除後の該当転送経路を設定テーブル３５Ａに登録する（ステップＳ４８）。比較部４５は、該当転送経路を設定テーブル３５Ａ内に登録した後、指定ＶＮＦ群２０内に未指定のＶＮＦ１２があるか否かを判定する（ステップＳ４９）。
【０１５６】
比較部４５は、指定ＶＮＦ群２０内に未指定のＶＮＦ１２がある場合（ステップＳ４９肯定）、指定ＶＮＦ群２０内に未指定のＶＮＦ１２の内、次のＶＮＦ１２を指定する（ステップＳ５０）。比較部４５は、次のＶＮＦ１２を指定した後、指定ＶＮＦ１２の削除前後の転送経路同士を比較すべく、ステップＳ４６に移行する。
【０１５７】
第２の更新部４６Ｂは、指定ＶＮＦ１２の削除後の転送経路が削除前に未設定の宛先アドレス宛の転送経路でない場合（ステップＳ４７否定）、ステップＳ５１に移行する。第２の更新部４６Ｂは、指定ＶＮＦ１２の削除後の転送経路が削除前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路であるか否かを判定する（ステップＳ５１）。第２の更新部４６Ｂは、指定ＶＮＦ１２の削除後の転送経路が削除前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路の場合（ステップＳ５１肯定）、ステップＳ５２に移行する。第２の更新部４６Ｂは、指定ＶＮＦ１２の削除後の転送経路に基づき、設定テーブル３５Ａ内の該当転送経路を更新する（ステップＳ５２）。そして、比較部４５は、未指定のＶＮＦ１２があるか否かを判定すべく、ステップＳ４９に移行する。
【０１５８】
第３の更新部４６Ｃは、指定ＶＮＦ１２の削除後の転送経路が削除前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路でない場合（ステップＳ５１否定）、ステップＳ５３に移行する。第３の更新部４６Ｃは、指定ＶＮＦ１２の削除前の転送経路が削除後に該当なしの転送経路であるか否かを判定する（ステップＳ５３）。第３の更新部４６Ｃは、指定ＶＮＦ１２の削除前の転送経路が削除後に該当なしの転送経路である場合（ステップＳ５３肯定）、指定ＶＮＦ１２の該当なしの転送経路を保持テーブル３４Ａに保持する（ステップＳ５４）。そして、比較部４５は、未指定のＶＮＦ群２０があるか否かを判定すべく、ステップＳ４９に移行する。
【０１５９】
比較部４５は、指定ＶＮＦ１２の削除前の転送経路が削除後に該当なしの転送経路でない場合（ステップＳ５３否定）、未指定のＶＮＦ１２があるか否かを判定すべく、ステップＳ４９に移行する。
【０１６０】
比較部４５は、指定ＶＮＦ群２０内に未指定のＶＮＦ１２がない場合（ステップＳ４９否定）、指定ＶＮＦ群２０がＬＢであるか否かを判定する（ステップＳ５５）。比較部４５は、指定ＶＮＦ群２０がＬＢでない場合（ステップＳ５５否定）、指定ＶＮＦ群２０を除いて、最後段のＶＮＦ群２０を指定し（ステップＳ５６）、指定ＶＮＦ群２０内のＶＮＦ１２を指定すべく、ステップＳ４５に移行する。尚、ステップＳ５６の最後段のＶＮＦ群２０は、指定ＶＮＦ群２０がＶＮＦ群＃３の場合、ＶＮＦ群＃２に相当し、指定ＶＮＦ群２０がＶＮＦ群＃２の場合、ＶＮＦ群＃１に相当し、指定ＶＮＦ群２０がＶＮＦ群＃１の場合、ＬＢに相当する。
【０１６１】
設定部４３は、指定ＶＮＦ群２０がＬＢの場合（ステップＳ５５肯定）、削除後の集約ＬＢ１３Ａの分配割合を更新する（ステップＳ５７）。更に、第３の更新部４６Ｃは、保持テーブル３４Ａに保持中の該当なし転送経路を設定テーブル３５Ａから削除する（ステップＳ５８）。更に、設定部４３は、削除前のサービスチェインシステム１から削除対象のＶＮＦ１２を停止して削除し（ステップＳ５９）、図２８に示す処理動作を終了する。
【０１６２】
つまり、先ず、比較部４５は、最後段のＶＮＦ群＃３を指定し、ＶＮＦ群＃３内の各Ｐｒｏｘｙ１〜３を順次指定し、ＶＮＦ群＃３内の指定Ｐｒｏｘｙの削除前後の転送経路同士を比較する。尚、比較部４５は、最後段のＶＮＦ群＃３のＶＮＦ１２がＰｒｏｘｙであるため、受信パケットを転送することがないため、追加前後の転送経路同士の比較を実行しなくても良い。比較部４５は、ＶＮＦ群＃３内の全Ｐｒｏｘｙの削除前後の転送経路同士の比較が完了した場合、ＶＮＦ群＃２を指定する。
【０１６３】
比較部４５は、指定したＶＮＦ群＃２内の各ＶＮＦ１２、すなわちＩＤＳ１〜３を順次指定し、ＶＮＦ群＃２内の指定ＩＤＳの削除前後の転送経路同士を比較する。尚、比較部４５は、ＶＮＦ群＃２のＶＮＦ１２がＩＤＳであるため、ＦＷ５の追加前後でも転送経路の変更がないため、追加前後の転送経路同士の比較を実行しなくても良い。比較部４５は、ＶＮＦ群＃２内の全ＩＤＳの削除前後の転送経路同士の比較が完了した場合、ＶＮＦ＃１を指定する。
【０１６４】
比較部４５は、指定したＶＮＦ群＃１内の各ＶＮＦ１２、すなわちＦＷ１〜５を順次指定し、ＶＮＦ群＃１内の指定ＦＷの削除前後の転送経路同士を比較する。この際、記憶制御部４６は、ステップＳ４７、Ｓ５１及びＳ５３の判定処理を実行する。そして、第１の更新部４６Ａは、ステップＳ４７の判定処理にて、ＦＷ２の「Ｐｒｏｘｙ１宛をＩＤＳ１経由で送信」、ＦＷ３の「Ｐｒｏｘｙ２宛をＩＤＳ２経由で送信」、ＦＷ４の「Ｐｒｏｘｙ３宛をＩＤＳ３経由で送信」の該当転送経路と判断する。そして、第１の更新部４６Ａは、ＦＷ２の「Ｐｒｏｘｙ１宛をＩＤＳ１経由で送信」、ＦＷ３の「Ｐｒｏｘｙ２宛をＩＤＳ２経由で送信」、ＦＷ４の「Ｐｒｏｘｙ３宛をＩＤＳ３経由で送信」の転送経路を設定テーブル３５Ａに追加登録する。
【０１６５】
更に、第３の更新部４６Ｃは、ステップＳ５３の判定処理にてＦＷ３の「Ｐｒｏｘｙ１宛をＩＤＳ１経由で送信」、ＦＷ４の「Ｐｒｏｘｙ２宛をＩＤＳ２経由で送信」を削除後に該当なし転送経路として保持テーブル３４Ａに保持する。更に、第３の更新部４６Ｃは、ＦＷ５の「Ｐｒｏｘｙ３宛をＩＤＳ３経由で送信」を削除後に該当なし転送経路として保持テーブル３４Ａに保持する。
【０１６６】
次に比較部４５は、ＶＮＦ群＃１内の全ＦＷ１〜５の削除前後の転送経路同士の比較が完了した場合、ＬＢのＶＮＦ群２０を指定する。比較部４５は、指定されたＬＢのＶＮＦ群２０内の指定ＶＮＦ１２、すなわちＬＢ１及びＬＢ２を順次指定する。比較部４５は、ＬＢのＶＮＦ群２０内の指定ＬＢの削除前後の転送経路同士を比較する。この際、比較部４５は、ステップＳ４７、Ｓ５１及びＳ５３の判定処理を実行する。そして、第２の更新部４６Ｂは、ステップＳ５１の判定処理にて、ＬＢ２の「Ｐｒｏｘｙ１宛をＦＷ２経由で送信」、「Ｐｒｏｘｙ２宛をＦＷ３経由で送信」及び「Ｐｒｏｘｙ３宛をＦＷ４経由で送信」を該当転送経路として判断する。そして、第２の更新部４６Ｂは、ステップＳ５１の判定結果に基づき、設定テーブル３５Ａ内のＬＢ２の「Ｐｒｏｘｙ１宛をＦＷ３経由で送信」の転送経路を「Ｐｒｏｘｙ１宛をＦＷ２経由で送信」に更新する。更に、第２の更新部４６Ｂは、設定テーブル３５Ａ内のＬＢ２の「Ｐｒｏｘｙ２宛をＦＷ４経由で送信」の転送経路を「Ｐｒｏｘｙ２宛をＦＷ３経由で送信」に更新する。更に、第２の更新部４６Ｂは、設定テーブル３５Ａ内のＬＢ２の「Ｐｒｏｘｙ３宛をＦＷ５経由で送信」の転送経路を「Ｐｒｏｘｙ３宛をＦＷ４経由で送信」に更新する。
【０１６７】
設定部４３は、集約ＬＢ１３ＡのＶＮＦ群２０内の全ての集約ＬＢ１３Ａの削除前後の転送経路同士の比較が完了した場合、削除後の集約ＬＢ１３Ａの分配割合を各ＶＮＦ１２に設定する。そして、第３の更新部４６Ｃは、削除後の集約ＬＢ１３Ａの分配割合を各ＶＮＦ１２に設定した後、保持テーブル３４Ａに保持中の該当なし転送経路を設定テーブル３５Ａから削除する。例えば、第３の更新部４６Ｃは、設定テーブル３５ＡからＦＷ３の「Ｐｒｏｘｙ１宛をＩＤＳ１経由で送信」、ＦＷ４の「Ｐｒｏｘｙ２宛をＩＤＳ２経由で送信」、ＦＷ５の「Ｐｒｏｘｙ３宛をＩＤＳ３経由で送信」を削除する。その結果、設定テーブル３５Ａには、ＦＷ５削除後の各ＶＮＦ１２の転送経路が更新されたことになる。そして、設定部４３は、サービスチェインシステム１から削除対象のＦＷ５を停止して削除する。つまり、サービスチェインシステム１からＦＷ５を削除する場合でも集約ＬＢ１３Ａ及び各ＶＮＦ１２の設定完了時刻の時間差による通信断の発生を回避できる。
【０１６８】
実施例３の管理サーバ３は、サービスチェインシステム１からＶＮＦ１２を削除する場合、削除前後の集約ＬＢ１３Ａ及び各ＶＮＦ１２の転送経路を取得する。管理サーバ３は、最後段のＶＮＦ群２０からＶＮＦ群２０を順次指定し、指定ＶＮＦ群２０内のＶＮＦ１２を順次指定し、指定ＶＮＦ１２の削除前後の転送経路同士を比較する。管理サーバ３は、指定ＶＮＦ１２の削除後の転送経路が削除前に未設定の宛先アドレス宛の転送経路の場合、指定ＶＮＦ１２の削除後の該当転送経路を設定テーブル３５Ａに追加登録する。また、管理サーバ３は、指定ＶＮＦ１２の削除後の転送経路が削除前の転送経路と同一宛先アドレス宛であって出力先が異なる転送経路の場合、指定ＶＮＦ１２削除後の該当転送経路に基づき、設定テーブル３５Ａの削除前の該当転送経路を更新する。
【０１６９】
更に、管理サーバ３は、指定ＶＮＦ１２の削除前の転送経路が削除後の転送経路内に該当なしの転送経路の場合、指定ＶＮＦ１２の該当なしの転送経路を保持テーブル３４Ａに保持する。更に、管理サーバ３は、全てのＶＮＦ群２０内の全てのＶＮＦ１２の削除前後の転送経路同士の比較が完了した場合、削除後の集約ＬＢ１３Ａの分配割合を設定した後、設定テーブル３５Ａから保持テーブル３４Ａに保持中の該当なしの転送経路を削除する。つまり、管理サーバ３は、設定テーブル３５Ａに対して、削除前に未設定の宛先アドレス宛の転送経路を追加、削除前と同一の宛先アドレス宛であって出力先が異なる転送経路を更新する。更に、管理サーバ３は、削除後の集約ＬＢ１３Ａの分配割合の設定を実行した後、削除後に該当なしの削除前の転送経路を設定テーブル３５Ａから削除する。そして、管理サーバ３は、サービスチェインシステム１から削除対象のＶＮＦ１２を停止して削除する。その結果、サービスチェインシステム１からＶＮＦ１２を削除する場合でも、集約ＬＢ１３Ａ及び各ＶＮＦ１２の転送経路の設定完了時刻の時間差による通信断の発生を回避できる。
【０１７０】
実施例１では、例えば、ＶＮＦ＃１のＦＷ５を削除する場合、集約ＬＢ１３Ａの分配割合や転送経路の変更が求められるため、ＬＢ２、ＦＷ３及びＦＷ４の設定変更が生じ、例えば、ＦＷ４が他の処理を実行中等で同時に設定変更ができず、通信断が生じる。また、ＦＷ４の変更処理が遅れてＬＢ２での設定変更が先行して行われた場合、トラヒックがＦＷ４に到着したとしてもＦＷ４にはＰｒｏｘｙ２宛の転送経路が登録されていないため、パケットが廃棄されてしまう。しかしながら、実施例３では、未設定の宛先アドレスの転送経路の追加、削除前と同一宛先アドレスであって出力先が異なる転送経路の更新、削除後の集約ＬＢ１３Ａの分配割合の設定を実行した後、削除後に該当なしの転送経路を設定テーブル３５Ａから削除する。その結果、サービスチェインシステム１内にＶＮＦ１２を削除する場合でも、集約ＬＢ１３Ａ及び各ＶＮＦ１２の転送経路の設定完了時刻の時間差による通信断の発生を回避できる。
【０１７１】
尚、実施例３では、ＶＮＦ群＃１からＦＷ５を削除した場合を例示したが、ＶＮＦ群＃１に限定されるものではなく、他のＶＮＦ群２０のＩＤＳ、ＰｒｏｘｙやＬＢ等のＶＮＦ１２であっても良い。
【０１７２】
また、比較部４５は、指定ＶＮＦ２０群内の各ＶＮＦ１２を個別に指定して削除前後の転送経路同士を比較したが、指定ＶＮＦ群２０内のＶＮＦ１２を複数個単位又は一括で指定して各指定ＶＮＦ１２の削除前後の転送経路同士を比較しても良い。
【０１７３】
第３の更新部４６Ｃは、ステップＳ５３にて指定ＶＮＦ１２の削除前の転送経路が削除後の転送経路内に該当なしの転送経路であるか否かを判定し、その該当なし転送経路を保持テーブル３４Ａに保持したが、これに限定されるものではない。第３の更新部４６Ｃは、ステップＳ５７にて削除後の集約ＬＢ１３の分配割合を設定した後、各ＶＮＦ１２につき、ステップＳ５３の削除前の転送経路が削除後の転送経路内に該当なしの転送経路であるか否かを判定する。そして、第３の更新部４６Ｃは、該当なしの転送経路を保持テーブル３４Ａに保持した後、その保持テーブル３４Ａに保持中の該当なしの転送経路を設定テーブル３５Ａから削除するステップＳ５８に移行しても良い。
【０１７４】
第３の更新部４６Ｃは、削除後に該当なしの転送経路を設定テーブル３５Ａから削除したが、設定部４３にてＦＷ５をサービスチェインシステム１から停止して削除するため、設定テーブル３５Ａから削除しなくても良い。
【０１７５】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【０１７６】
更に、各装置で行われる各種処理機能は、ＣＰＵ（Central  Processing  Unit）、ＤＳＰ（Digital  Signal  Processor）やＦＰＧＡ（Field  Programmable  Gate  Array）等上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、ＣＰＵ等で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良い。
【０１７７】
各種情報を記憶する領域は、例えば、ＲＯＭ（Read  Only  Memory）や、ＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory）、ＭＲＡＭ（Magnetoresistive  Random  Access  Memory）やＮＶＲＡＭ（Non  Volatile  Random  Access  Memory）等のＲＡＭ（Random  Access  Memory）で構成しても良い。
【０１７８】
ところで、本実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータ内のＣＰＵ等のプロセッサで実行させることによって実現できる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行する情報処理装置の一例を説明する。図２９は、サービスチェイン構築プログラムを実行する情報処理装置の一例を示す説明図である。
【０１７９】
図２９に示すサービスチェイン構築プログラムを実行する情報処理装置１００は、通信部１１０と、ＨＤＤ（Hard  Disc  Drive）１２０と、ＲＯＭ１３０と、ＲＡＭ１４０と、ＣＰＵ１５０とを有する。通信部１１０、ＨＤＤ１２０、ＲＯＭ１３０、ＲＡＭ１４０及びＣＰＵ１５０は、バス１６０を介して接続される。通信部１１０は、図示せぬ他の情報処理装置と接続し、他の情報処理装置と通信する。そして、情報処理装置１００は、他の情報処理装置と通信し、他の情報処理装置内の仮想領域上に仮想通信機能群を複数段に配置してサービスチェインを構成する。
【０１８０】
そして、ＲＯＭ１３０には、上記実施例と同様の機能を発揮するサービスチェイン構築プログラムが予め記憶されている。ＲＯＭ１３０は、サービスチェイン構築プログラムとして第１の決定プログラム１３０Ａ、第２の決定プログラム１３０Ｂ及び設定プログラム１３０Ｃが記憶されている。尚、ＲＯＭ１３０ではなく、図示せぬドライブでコンピュータ読取可能な記録媒体にサービスチェイン構築プログラムが記録されていても良い。また、記録媒体としては、例えば、ＣＤ−ＲＯＭ、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ等でも良い。
【０１８１】
そして、ＣＰＵ１５０は、第１の決定プログラム１３０ＡをＲＯＭ１３０から読み出し、ＲＡＭ１４０上で第１の決定プロセス１４０Ａとして機能させる。更に、ＣＰＵ１５０は、第２の決定プログラム１３０ＢをＲＯＭ１３０から読み出し、ＲＡＭ１４０上で第２の決定プロセス１４０Ｂとして機能させる。更に、ＣＰＵ１５０は、設定プログラム１３０ＣをＲＯＭ１３０から読み出し、ＲＡＭ１４０上で設定プロセス１４０Ｃとして機能させる。
【０１８２】
ＣＰＵ１５０は、他の情報処理装置の仮想領域上に仮想通信機能群を複数段に配置する際に複数段の内の最前段の仮想通信機能群の前段に配置する仮想分散機能を決定する。ＣＰＵ１５０は、仮想分散機能から複数段の仮想通信機能群の内、終端の仮想通信機能群内の各仮想通信機能までの負荷に基づいて通信経路を決定する。ＣＰＵ１５０は、決定された通信経路を仮想領域上に配置された仮想分散機能及び各仮想通信機能に設定する。その結果、サービスチェインを構築する際に仮想分散機能の数を少なくして転送遅延を抑制できる。
【符号の説明】
【０１８３】
１  サービスチェインシステム
２Ｂ  汎用サーバ
３  管理サーバ
１２  ＶＮＦ
１３  ＬＢ
１３Ａ  集約ＬＢ
４１  第１の決定部
４２  第２の決定部
４２Ａ  第３の決定部
４２Ｂ  第４の決定部
４２Ｃ  第５の決定部
４３  設定部
４３Ａ  配置部
４３Ｂ  割合設定部
４４  取得部
４５  比較部
４６  記憶制御部
４６Ａ  第１の更新部
４６Ｂ  第２の更新部
４６Ｃ  第３の更新部
【図１】
2017063409.tif 000003
【図２】
2017063409.tif 000004
【図３】
2017063409.tif 000005
【図４】
2017063409.tif 000006
【図５】
2017063409.tif 000007
【図６】
2017063409.tif 000008
【図７】
2017063409.tif 000009
【図８】
2017063409.tif 000010
【図９】
2017063409.tif 000011
【図１０】
2017063409.tif 000012
【図１１】
2017063409.tif 000013
【図１２】
2017063409.tif 000014
【図１３】
2017063409.tif 000015
【図１４】
2017063409.tif 000016
【図１５】
2017063409.tif 000017
【図１６】
2017063409.tif 000018
【図１７】
2017063409.tif 000019
【図１８】
2017063409.tif 000020
【図１９Ａ】
2017063409.tif 000021
【図１９Ｂ】
2017063409.tif 000022
【図２０Ａ】
2017063409.tif 000023
【図２０Ｂ】
2017063409.tif 000024
【図２１Ａ】
2017063409.tif 000025
【図２１Ｂ】
2017063409.tif 000026
【図２２Ａ】
2017063409.tif 000027
【図２２Ｂ】
2017063409.tif 000028
【図２３】
2017063409.tif 000029
【図２４】
2017063409.tif 000030
【図２５】
2017063409.tif 000031
【図２６Ａ】
2017063409.tif 000032
【図２６Ｂ】
2017063409.tif 000033
【図２７】
2017063409.tif 000034
【図２８】
2017063409.tif 000035
【図２９】
2017063409.tif 000036
【図３０】
2017063409.tif 000037