(57)【要約】【課題】転送遅延を抑制できるサーバ装置等を提供する。【解決手段】サーバ装置は、第１の決定部と、第２の決定部と、第３の決定部と、設定部とを有する。第１の決定部は、複数段配置された仮想通信機能群のうちの最前段の仮想通信機能群の前段に配置され、かつ、最前段の仮想通信機能群内の仮想通信機能にトラヒックを分散する仮想分散機能を決定する。第２の決定部は、最前段の仮想通信機能群内の各仮想通信機能から複数段配置された仮想通信機能群のうちの終端の仮想通信機能群内の各仮想通信機能までの転送経路を決定する。第３の決定部は、決定された転送経路ごとのトラフィック量に基づき、最前段の仮想通信機能群内の各仮想通信機能に対する仮想分散機能のトラヒックの分配割合を決定する。設定部は、決定された転送経路を各仮想通信機能に設定すると共に、決定された仮想分散機能の分配割合を仮想分散機能に設定する。【選択図】図７
2018032953.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振り分け方式等で算出する。
【００３１】
プロセッサ３６は、ＶＮＦ＃１からＶＮＦ＃２までの転送経路毎に負荷割合を決定する。例えば、ＦＷ１からＩＤＳ１への転送経路の負荷割合は２／８、ＦＷ２からＩＤＳ１への転送経路の負荷割合は１／８、ＦＷ２からＩＤＳ２への転送経路の負荷割合は１／８となる。更に、ＦＷ３からＩＤＳ２への転送経路の負荷割合は１／８、ＦＷ３からＩＤＳ３への転送経路の負荷割合は１／８、ＦＷ４からＩＤＳ３への転送経路の負荷割合は２／８となる。
【００３２】
更に、プロセッサ３６は、ＶＮＦ＃２からＶＮＦ＃３までの転送経路毎に負荷割合を決定する。例えば、ＩＤＳ１からＰｒｏｘｙ１への転送経路の負荷割合は３／８、ＩＤＳ２からＰｒｏｘｙ２への転送経路の負荷割合は２／８、ＩＤＳ３からＰｒｏｘｙ３への転送経路の負荷割合は３／８となる。尚、説明の便宜上、ＶＮＦ＃２からＶＮＦ＃３までの転送経路の負荷割合は、例えば、３／８、２／８及び３／８としたが、転送経路毎に負荷割合を均等になるように調整しても良い。
【００３３】
プロセッサ３６は、集約ＬＢ１３Ａ及びＶＮＦ１２の数、最適経路Ｒ１〜Ｒ６及び転送経路に基づき、集約ＬＢ１３Ａ及びＶＮＦ１２を汎用サーバ２Ｂ等の仮想領域に配置して機能を起動させる。プロセッサ３６は、決定した集約ＬＢ１３Ａの分配割合を配置された集約ＬＢ１３Ａに設定する。プロセッサ３６は、決定した各ＶＮＦ１２の負荷割合を配置されたＶＮＦ１２に設定する。その結果、仮想環境下で構成要求のサービスチェインを構築できる。
【００３４】
管理サーバ３は、集約ＬＢ１３Ａ、集約ＬＢ１３Ａから終端ＶＮＦ１２までの最適経路、集約ＬＢ１３Ａの分配割合及び各ＶＮＦ１２の負荷割合に基づき、キャリアＮＷ２上の指定の汎用サーバ２Ｂの仮想領域に、構成要求のサービスチェインを構築する。
【００３５】
次にサービスチェインシステム１について説明する。図４は、第１のサービスチェイン構築処理に関わる管理サーバ３の処理動作の一例を示すフローチャートである。
【００３６】
図４において管理サーバ３内のプロセッサ３６は、端末装置４から構成要求を受信したか否かを判定する（ステップＳ１１）。プロセッサ３６は、構成要求を受信した場合（ステップＳ１１肯定）、構成要求内のＶＮＦ群２０内のＶＮＦ１２のインスタンス数及びＶＮＦ群２０毎のＬＢ１３のインスタンス数に基づき、集約ＬＢ１３Ａの数を決定する（ステップＳ１２）。尚、プロセッサ３６は、構成要求内の上位レベルのＶＮＦ群２０の内、そのＶＮＦ１２のインスタンス数が最大数のＶＮＦ群２０を特定し、特定されたＶＮＦ群２０のＬＢインスタンス数を集約ＬＢ１３Ａの数と決定する。更に、プロセッサ３６は、構成要求内のＶＮＦ群２０に基づき、図３に示すように、集約ＬＢ１３Ａ、ＶＮＦ群２０のトポロジ構成を決定する（ステップＳ１３）。
【００３７】
プロセッサ３６は、複数のＶＮＦ群２０の内、終端となるＶＮＦ群２０内のＶＮＦ１２を決定すると共に、集約ＬＢ１３Ａから各終端のＶＮＦ群２０までの最適経路を決定する（ステップＳ１４）。プロセッサ３６は、各最適経路に配置するＶＮＦ群２０の内、最大数のＶＮＦ群２０の各ＶＮＦ１２のトラヒック量（負荷量）を均等にすべく、集約ＬＢ１３Ａから各最前段のＶＮＦ群２０の各ＶＮＦ１２への分配割合を算出して決定する（ステップＳ１５）。
【００３８】
更に、プロセッサ３６は、最適経路毎の集約ＬＢ１３Ａ及びＶＮＦ１２毎の転送経路及び負荷割合を決定する（ステップＳ１６）。更に、プロセッサ３６は、集約ＬＢ１３Ａ、ＶＮＦ１２、最適経路及び転送経路に基づき、集約ＬＢ１３Ａ及びＶＮＦ１２を汎用サーバ２Ｂ上の仮想領域に配置して、その機能を起動する（ステップＳ１７）。更に、プロセッサ３６は、集約ＬＢ１３Ａの分散割合を仮想領域上の集約ＬＢ１３Ａに設定すると共に、各ＶＮＦ１２の負荷割合を仮想領域上の各ＶＮＦ１２に設定し（ステップＳ１８）、図４に示す処理動作を終了する。その結果、構成要求に応じたサービスチェインを仮想領域上に配置できる。
【００３９】
上記例では、サービスチェインの最前段に複数の集約ＬＢ１３Ａを配置し、集約ＬＢ１３Ａから終端のＶＮＦ１２までの負荷量が均等になるように集約ＬＢ１３Ａの分配割合及び各ＶＮＦ１２の負荷割合を決定する。その結果、ＬＢ１３の数を少なくすることで転送遅延を抑制できると共に、有限な仮想領域の資源を節減できる。
【００４０】
しかしながら、サービスチェインに使用する集約ＬＢ１３は、受信したトラヒックを複数の終端宛先にトラヒックを分散する終端型ＬＢである。図５は、終端型ＬＢ１３Ｂの動作の一例を示す説明図である。図５に示す終端型ＬＢ１３Ｂは、ＦＷ１〜ＦＷ３の前段に配置され、ＦＷ１〜３の後段にＰｒｏｘｙ１〜２を配置した場合、受信トラヒックの終端宛先である終端ＶＮＦ数、すなわちＰｒｏｘｙ１〜２の２台であるため、受信トラヒックを２箇所に分散できる。すなわち、終端型ＬＢ１３Ｂは、後段に複数のＶＮＦ１２を増設した場合でも、そのＶＮＦ１２の増加数に関係なく、受信トラヒックの終端宛先である終端ＶＮＦ１２の台数しか負荷を分散できない。従って、終端型ＬＢ１３Ｂは、後段に終端ＶＮＦ１２、例えば、ＦＷの台数を増設した場合でもＦＷの台数しか負荷を分散できない。
【００４１】
そこで、このような事態に対処すべく、サービスチェインの集約ＬＢ１３にＬＢＧＷを採用した場合の実施の形態につき、実施例１として以下に説明する。尚、サービスチェインシステム１と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。
【実施例１】
【００４２】
ＬＢＧＷ１５は、受信トラヒックの終端宛先に関係なく、後段のＶＮＦ群２０内の各ＶＮＦ１２に受信トラヒックを中継できる中継型ＬＢである。
【００４３】
図６は、実施例１のサービスチェインの一例を示す説明図である。図６に示すサービスチェインは、複数のＶＮＦ群２０と、ＬＢＧＷ群１５とを有する。複数のＶＮＦ群２０は、ＶＮＦ＃１と、ＶＮＦ＃２と、ＶＮＦ＃３とを順次配置する。ＶＮＦ＃１は、例えば、ＦＷ１〜ＦＷ４である。ＶＮＦ＃２は、例えば、ＩＤＳ１〜ＩＤＳ３である。ＶＮＦ＃３は、例えば、Ｐｒｏｘｙ１〜Ｐｒｏｘｙ２である。ＬＢＧＷ群１５は、ＬＢＧＷ１及びＬＢＧＷ２の集約ＬＢＧＷ１５Ａを有する。
【００４４】
図７は、実施例１の管理サーバ３のプロセッサ３６の機能構成の一例を示す説明図である。プロセッサ３６は、補助記憶装置３４に格納されたプログラムを読み出し、読み出したプログラムを実行することで、機能構成として、第１の決定部４１と、第２の決定部４２と、第３の決定部４３と、設定部４４とを有する。
【００４５】
第１の決定部４１は、構成要求を検出すると、構成要求内で指定する各ＶＮＦ群２０内のＶＮＦ１２のインスタンス数に基づき、所定順序の内、最前段のＶＮＦ群２０、すなわちＶＮＦ＃１の前段に配置する集約ＬＢＧＷ１５Ａの数を決定する。尚、所定順序は、例えば、前段からＶＮＦ＃１（ＦＷ）、ＶＮＦ＃２（ＩＤＳ）及びＶＮＦ＃３（Ｐｒｏｘｙ）の順に配置する順序とする。
【００４６】
第１の決定部４１は、例えば、ＶＮＦ＃１のＬＢインスタンス数がＬ４レベルＬＢの４個であるため、そのＬ４レベルＬＢの２個を集約ＬＢＧＷ１５Ａとして決定する。更に、第１の決定部４１は、ＶＮＦ＃１、ＶＮＦ＃２及びＶＮＦ＃３の配置順序としてトポロジ構成を決定する。第１の決定部４１は、図６に示すようにサービスチェインの最前段にＶＮＦ＃１、ＶＮＦ＃１の次段にＶＮＦ＃２、ＶＮＦ＃２の次段にＶＮＦ＃３を配置し、更に、最前段のＶＮＦ＃１の前段に集約ＬＢＧＷ１５Ａを配置するトポロジ構成を決定する。トポロジ構成は、最前段に集約ＬＢＧＷ１５Ａ内のＬＢＧＷ１及びＬＢＧＷ２、次段にＶＮＦ＃１内のＦＷ１〜ＦＷ４、その次段にＶＮＦ＃２内のＩＤＳ１〜ＩＤＳ３、その次段にＶＮＦ＃３内のＰｒｏｘｙ１〜Ｐｒｏｘｙ２を配置する構成である。第２の決定部４２は、集約ＬＢＧＷ１５ＡとＶＮＦ＃１との間の第１の区間５１と、ＶＮＦ＃１とＶＮＦ＃３との間の第２の区間５２とに区分する。
【００４７】
第２の決定部４２は、第２の区間５２内の最前段のＶＮＦ＃１から複数のＶＮＦ群２０の内、終端のＶＮＦ群２０内の各ＶＮＦ１２までのトラヒック量を分散する、ＶＮＦ＃１内の各ＶＮＦ１２の負荷の分配割合及びＶＮＦ１２の負荷割合を決定する。第２の決定部４２は、最前段のＶＮＦ＃１内のＦＷ１〜ＦＷ４から終端のＶＮＦ＃３の各Ｐｒｏｘｙ１〜Ｐｒｏｘｙ２までの負荷を分散する、ＦＷ１〜ＦＷ４の負荷の分配割合及びＶＮＦ＃２及び＃３内の各ＶＮＦ１２の負荷割合を決定する。第２の決定部４２は、第４の決定部４２Ａと、第５の決定部４２Ｂと、第６の決定部４２Ｃとを有する。
【００４８】
図８は、第２の区間５２内の終端宛先の一例を示す説明図である。第４の決定部４２Ａは、複数のＶＮＦ群２０の内、終端となるＶＮＦ群２０内のＶＮＦ１２を決定すると共に、最前段のＶＮＦ＃１のＶＮＦ１２から各終端のＶＮＦ１２までの最適経路を決定する。第４の決定部４２Ａは、図８に示すように、第２の区間５２内のＶＮＦ＃１内のＦＷ１〜ＦＷ４から終端となる終端のＶＮＦ１２として、例えば、ＶＮＦ＃３のＰｒｏｘｙ１〜Ｐｒｏｘｙ２を決定する。ＦＷ１は、Ｐｒｏｘｙ１〜Ｐｒｏｘｙ２の２本の経路を決定する。ＦＷ２は、Ｐｒｏｘｙ１〜Ｐｒｏｘｙ２の２本の経路を決定する。ＦＷ３は、Ｐｒｏｘｙ１〜Ｐｒｏｘｙ２の２本の経路を決定する。ＦＷ４は、Ｐｒｏｘｙ１〜Ｐｒｏｘｙ２の２本の経路を決定する。すなわち、ＦＷ１〜ＦＷ４は、Ｐｒｏｘｙ１宛及びＰｒｏｘｙ２宛の経路として合計８経路となる。
【００４９】
図９は、第２の区間５２内の各ＶＮＦ１２の転送経路の一例を示す説明図である。第４の決定部４２Ａは、最前段のＶＮＦ＃１内のＦＷ１〜ＦＷ４から終端ＶＮＦ１２、すなわちＰｒｏｘｙ１〜Ｐｒｏｘｙ２までの２経路で、例えば、ダイクストラ法等の最短経路コスト法において計算済み経路上のリンクコストを高くして最短経路計算を行う。そして、第４の決定部４２Ａは、その計算によって、ＶＮＦ＃２を経由する経路が分散した最適経路として決定する。第４の決定部４２Ａは、最前段のＶＮＦ＃１内のＦＷ１〜ＦＷ４から終端ＶＮＦ１２、すなわちＰｒｏｘｙ１〜Ｐｒｏｘｙ２までの２経路で、最短経路コスト法の利用とリンクコスト加算を行うことによってＶＮＦ＃２を経由する経路が分散した最適経路として決定する。
【００５０】
第５の決定部４２Ｂは、各最適経路に配置するＶＮＦ群２０の内、特定のＶＮＦ群２０、例えば、ＶＮＦ＃２内の各ＶＮＦ１２の負荷量が均等に分散するように、ＶＮＦ＃１内の各ＶＮＦ１２から次段のＶＮＦ＃２のＶＮＦ１２への負荷の分配割合を決定する。
【００５１】
図１０は、第２の区間５２内の各ＶＮＦ１２の転送経路の負荷割合の一例を示す説明図である。第５の決定部４２Ｂは、８本の最適経路の内、ＶＮＦ＃２のＩＤＳ１〜ＩＤＳ３の負荷量が均等になるようにＦＷ１〜ＦＷ４からＶＮＦ＃２内のＩＤＳ１〜ＩＤＳ３に分配する分配割合を算出する。例えば、ＦＷ１からＩＤＳ１へのＰｒｏｘｙ１宛の分配割合は１／６、ＦＷ１からＩＤＳ２へのＰｒｏｘｙ２宛の分配割合は１／９となる。また、ＦＷ２からＩＤＳ１へのＰｒｏｘｙ１宛の分配割合は１／６、ＦＷ２からＩＤＳ２へのＰｒｏｘｙ２宛の分配割合は１／９となる。ＦＷ３からＩＤＳ２へのＰｒｏｘｙ１宛の分配割合は１／９、ＦＷ３からＩＤＳ３へのＰｒｏｘｙ２宛の分配割合は１／９となる。また、ＦＷ４からＩＤＳ１へのＰｒｏｘｙ１宛の分配割合は１／９、ＦＷ２からＩＤＳ２へのＰｒｏｘｙ２宛の分配割合は１／９となる。その結果、ＩＤＳ１〜ＩＤＳ３の負荷割合は、各々、１／３となる。
【００５２】
第６の決定部４２Ｃは、最適経路毎に各ＶＮＦ１２への負荷量の負荷割合が最適となるように各ＶＮＦ１２から次段のＶＮＦ１２への負荷割合を算出する。第６の決定部４２Ｃは、第２の区間５２内のＶＮＦ＃１から各ＶＮＦ＃２内の各ＩＤＳ１〜ＩＤＳ３の負荷の分配割合を決定した後、先に決定した最適経路上の転送経路を決定すると共に、その転送経路上の各ＶＮＦ１２への分配割合を決定する。転送経路は、最適経路の内、ＶＮＦ１２が次段のＶＮＦ１２にパケットを転送する経路である。
【００５３】
図１１は、ＬＢＧＷの分配割合の一例を示す説明図である。第３の決定部４３は、第２の区間５２内の最前段のＶＮＦ＃１のＦＷ１〜ＦＷ４の負荷量の分配割合に応じて各ＬＢＧＷ１〜ＬＢＧＷ２の分配割合を決定する。図１１に示すＬＢＧＷ１の転送経路は、例えば、Ｐｒｏｘｙ１宛のパケットをＦＷ１〜ＦＷ４に転送する経路、Ｐｒｏｘｙ２宛のパケットをＦＷ１〜ＦＷ４に転送する経路となる。ＬＢＧＷ２の転送経路は、例えば、Ｐｒｏｘｙ１宛のパケットをＦＷ１〜ＦＷ４に転送する経路、Ｐｒｏｘｙ２宛のパケットをＦＷ１〜ＦＷ４に転送する経路となる。
【００５４】
第３の決定部４３は、ＬＢＧＷ１及びＬＢＧＷ２に対して、Ｐｒｏｘｙ１宛のパケットの３／８をＦＷ１に中継、Ｐｒｏｘｙ１宛のパケットの３／８をＦＷ２に中継、Ｐｒｏｘｙ１宛のパケットの２／８をＦＷ３に中継、Ｐｒｏｘｙ１宛のパケットの２／８をＦＷ４に中継と決定する。第３の決定部４３は、ＬＢＧＷ１及びＬＢＧＷ２に対して、Ｐｒｏｘｙ２宛のパケットの１／４をＦＷ１に中継、Ｐｒｏｘｙ２宛のパケットの１／４をＦＷ２に中継、Ｐｒｏｘｙ２宛のパケットの１／４をＦＷ３に中継、Ｐｒｏｘｙ２宛のパケットの１／４をＦＷ４に中継と決定する。
【００５５】
ＬＢＧＷ１及びＬＢＧＷ２の分配設定は、Ｐｒｏｘｙ１宛のパケットの３／８をＦＷ１に中継、Ｐｒｏｘｙ１宛のパケットの３／８をＦＷ２に中継、Ｐｒｏｘｙ１宛のパケットの２／８をＦＷ３に中継、Ｐｒｏｘｙ１宛のパケットの２／８をＦＷ４に中継となる。更に、ＬＢＧＷ１及びＬＢＧＷ２の分配設定は、ＬＢＧＷ１及びＬＢＧＷ２に対して、Ｐｒｏｘｙ２宛のパケットの１／４をＦＷ１に中継、Ｐｒｏｘｙ２宛のパケットの１／４をＦＷ２に中継、Ｐｒｏｘｙ２宛のパケットの１／４をＦＷ３に中継、Ｐｒｏｘｙ２宛のパケットの１／４をＦＷ４に中継となる。
【００５６】
更に、ＦＷ１の転送経路は、Ｐｒｏｘｙ１宛のパケットをＩＤＳ１に転送及び、Ｐｒｏｘｙ２宛のパケットをＩＤＳ２に転送する経路となる。ＦＷ２の転送経路は、Ｐｒｏｘｙ１宛のパケットをＩＤＳ１に転送する経路及び、Ｐｒｏｘｙ２宛のパケットをＩＤＳ２に転送する経路となる。ＦＷ３の転送経路は、Ｐｒｏｘｙ１宛のパケットをＩＤＳ２に転送及び、Ｐｒｏｘｙ２宛のパケットをＩＤＳ３に転送する経路となる。ＦＷ４の転送経路は、Ｐｒｏｘｙ１宛のパケットをＩＤＳ３に転送する経路及びＰｒｏｘｙ２宛のパケットをＩＤＳ３に転送する経路となる。
【００５７】
更に、ＩＤＳ１の転送経路は、Ｐｒｏｘｙ１宛のパケットをＰｒｏｘｙ１に転送する経路となる。ＩＤＳ２の転送経路は、Ｐｒｏｘｙ１宛のパケットをＰｒｏｘｙ１に転送する経路及びＰｒｏｘｙ２宛のパケットをＰｒｏｘｙ２に転送する経路となる。ＩＤＳ３の転送経路は、Ｐｒｏｘｙ２宛のパケットをＰｒｏｘｙ２に転送する経路となる。
【００５８】
更に、第６の決定部４２Ｃは、各転送経路の各ＶＮＦ１２の負荷量が最適となるように各ＶＮＦ１２の負荷割合を決定する。尚、各ＶＮＦ１２の負荷割合は、例えば、Weighted  Round  Robin方式やWeighted  HASH振り分け方式等で算出する。
【００５９】
設定部４４は、配置部４４Ａと、割合設定部４４Ｂとを有する。配置部４４Ａは、集約ＬＢＧＷ１５Ａ及びＶＮＦ１２の数、集約ＬＢＧＷ１５Ａ及びＶＮＦ１２の転送経路に基づき、集約ＬＢＧＷ１５Ａ及びＶＮＦ１２を汎用サーバ２Ｂ等の仮想領域に配置して機能を起動させる。
【００６０】
割合設定部４４Ｂは、第３の決定部４３で決定した集約ＬＢＧＷ１５Ａの分配割合を配置された集約ＬＢＧＷ１５Ａに設定する。割合設定部４４Ｂは、第５の決定部４２Ｂ及び第６の決定部４２Ｃで決定した各ＶＮＦ１２の負荷割合を配置されたＶＮＦ１２に設定する。その結果、仮想環境下で構成要求のサービスチェインを構築できる。
【００６１】
管理サーバ３は、集約ＬＢＧＷ１５Ａ及びＶＮＦ１２毎の転送経路、集約ＬＢＧＷ１５Ａの分配割合及び各ＶＮＦ１２の負荷割合に基づき、キャリアＮＷ２上の指定の汎用サーバ２Ｂの仮想領域に、構成要求のサービスチェインを構築する。
【００６２】
次に実施例１のサービスチェインシステム１の動作について説明する。図１２は、第２のサービスチェイン構築処理に関わる管理サーバ３内の処理動作の一例を示すフローチャートである。図１２に示す第２のサービスチェイン構築処理は、端末装置４からの構成要求に応じて、最前段のＶＮＦ群２０の直前に集約ＬＢＧＷ１５Ａを配置したサービスチェインを仮想領域上に構築する処理である。
【００６３】
図１２において管理サーバ３内のプロセッサ３６内の第１の決定部４１は、端末装置４から構成要求を受信したか否かを判定する（ステップＳ２１）。第１の決定部４１は、構成要求を受信した場合（ステップＳ２１肯定）、構成要求内のＶＮＦ群２０内のＶＮＦ１２のインスタンス数及びＶＮＦ群２０毎のＬＢＧＷ１５のインスタンス数に基づき、集約ＬＢＧＷ１５Ａの数を決定する（ステップＳ２２）。尚、第１の決定部４１は、例えば、構成要求内の上位レベルのＶＮＦ群２０の内、そのＶＮＦ１２のインスタンス数が最大数のＶＮＦ群２０を特定し、特定されたＶＮＦ群２０のＬＢインスタンス数を集約ＬＢＧＷ１５Ａの数と決定する。更に、第１の決定部４１は、構成要求内のＶＮＦ群２０に基づき、集約ＬＢＧＷ１５Ａ、ＶＮＦ群２０のトポロジ構成を決定する（ステップＳ２３）。
【００６４】
第１の決定部４１は、トポロジ構成のサービスチェインを第１の区間５１及び第２の区間５２に区分する（ステップＳ２４）。尚、第１の区間５１は、集約ＬＢＧＷ１５Ａと最前段のＶＮＦ群＃１との間の区間、第２の区間５２は、最前段のＶＮＦ群＃１と終端のＶＮＦ群＃３との間の区間である。第４の決定部４２Ａは、第２の区間５２内の最前段のＶＮＦ群＃１の宛先となる終端ＶＮＦ１２までの全経路の始点及び終点を決定する（ステップＳ２５）。尚、第４の決定部４２Ａは、第２の区間５２内のＦＷ１〜ＦＷ４の終端宛先となるＰｒｏｘｙ１〜Ｐｒｏｘｙ２宛までの各経路の始点及び終点を決定する。
【００６５】
第５の決定部４２Ｂは、第４の決定部４２Ａで決定した最前段のＶＮＦ群２０から終端ＶＮＦ１２までの全経路を分散する転送経路を決定する（ステップＳ２６）。第６の決定部４２Ｃは、負荷分散対象のＶＮＦ群２０を特定する（ステップＳ２７）。尚、負荷分散対象のＶＮＦ群２０は、例えば、ＶＮＦ＃２のＩＤＳ１〜ＩＤＳ３とする。
【００６６】
第６の決定部４２Ｃは、第５の決定部４２Ｂで決定した最前段のＶＮＦ群２０から終端ＶＮＦ１２までの全経路の内、負荷分散対象のＶＮＦ群２０内の各ＶＮＦ１２の負荷量が均等になるように最前段のＶＮＦ群２０内の各ＶＮＦ１２の転送経路の負荷割合を決定する（ステップＳ２８）。尚、第６の決定部４２Ｃは、第２の区間５２内のＶＮＦ＃１内の各ＦＷ１〜ＦＷ４の転送経路の負荷割合を決定する。第６の決定部４２Ｃは、ＶＮＦ＃１内のＦＷ１〜ＦＷ４の転送経路の負荷割合に基づき、各ＶＮＦ１２の転送経路の負荷割合を決定する（ステップＳ２９）。
【００６７】
第３の決定部４３は、ＶＮＦ＃１内の各ＦＷ１〜ＦＷ４の転送経路の負荷割合に基づき、集約ＬＢＧＷ１５Ａの分配割合を決定する（ステップＳ３０）。配置部４４Ａは、集約ＬＢＧＷ１５Ａ及びＶＮＦ１２の転送経路に基づき、集約ＬＢＧＷ１５Ａ及びＶＮＦ１２を汎用サーバ２Ｂ上の仮想領域に配置して、その機能を起動する（ステップＳ３１）。
【００６８】
そして、割合設定部４４Ｂは、第３の決定部４３で決定した集約ＬＢＧＷ１５Ａの分配割合を仮想領域上の集約ＬＢＧＷ１５Ａに設定すると共に、第６の決定部４２Ｃで決定した各ＶＮＦ１２の負荷割合を仮想領域上の各ＶＮＦ１２に設定する（ステップＳ３２）。割合設定部４４Ｂは、図１２に示す処理動作を終了する。その結果、構成要求に応じたサービスチェインを仮想領域上に配置できる。
【００６９】
上記実施例１の管理サーバ３は、サービスチェインの最前段のＶＮＦ群２０の直前に複数の集約ＬＢＧＷ１５Ａを配置し、最前段のＶＮＦ群２０から終端のＶＮＦ１２までの負荷量が均等になるように最前段のＶＮＦ群２０の負荷割合を決定する。更に、管理サーバ３は、最前段のＶＮＦ群２０の負荷割合に基づき、集約ＬＢＧＷ１５Ａの分配割合を算出し、集約ＬＢＧＷ１５Ａの分配割合を集約ＬＢＧＷ１５Ａに設定すると共に、各ＶＮＦ１２の負荷割合を各ＶＮＦ１２に設定する。その結果、集約ＬＢＧＷ１５Ａの数を少なくすることで転送遅延を抑制できると共に、有限な仮想領域の資源を節減できることは勿論のこと、集約ＬＢＧＷ１５Ａ以降のＶＮＦ１２の台数を増設した場合でもＶＮＦ１２の増設に反映した負荷を分散できる。
【００７０】
尚、上記実施例では、構成要求のフォーマットとしてＶＮＦ群２０及びＶＮＦ群２０に使用する集約ＬＢＧＷ１５Ａの情報を含む場合を例示したが、ＶＮＦ群２０毎に使用する集約ＬＢＧＷ１５Ａが１台の場合、使用する集約ＬＢＧＷ１５Ａの情報を含めなくても良い。その結果、構成要求の容量をコンパクト化できる。
【００７１】
管理サーバ３は、仮想領域上にＶＮＦ群２０を複数段に配置する際に指定するＶＮＦ群２０毎のＬＢインスタンス数に基づき、最前段のＶＮＦ群２０（ＶＮＦ＃１）の前段に配置する集約ＬＢＧＷ１５Ａの数を決定する。その結果、管理サーバ３は、サービスチェインを構築する際に要する最小限の集約ＬＢＧＷ１５Ａの数を決定できる。
【００７２】
管理サーバ３は、構成要求で指定された各ＶＮＦ群２０の任意の機能特性、例えば、Ｌ４レベルのＶＮＦ群２０を特定し、特定されたＶＮＦ群２０内のＬＢインスタンス数に応じて、集約ＬＢＧＷ１５Ａの数を決定する。その結果、管理サーバ３は、サービスチェインを構築する際に、任意の機能特性に適した最小限の集約ＬＢＧＷ１５Ａの数を決定できる。
【００７３】
管理サーバ３は、構成要求で指定された各ＶＮＦ群２０の任意の機能特性、例えば、Ｌ４レベルのＶＮＦ群２０を特定する。更に、管理サーバ３は、特定されたＶＮＦ群２０の内、ＶＮＦ１２の数が最大数のＶＮＦ群２０を特定する。更に、管理サーバ３は、特定されたＶＮＦ群２０のＬＢインスタンス数に応じて集約ＬＢＧＷ１５Ａの数を決定する。その結果、管理サーバ３は、サービスチェインを構築する際に、任意の機能特性の最大数のＶＮＦ１２を収容したＶＮＦ群２０に適し、かつ、最小限の集約ＬＢＧＷ１５Ａの数を決定できる。
【００７４】
管理サーバ３は、構成要求で指定された各ＶＮＦ群２０の内、上位レイヤ特性、例えばＬ４レベルのＶＮＦ群２０を特定し、特定されたＶＮＦ群２０内のＬＢインスタンス数に応じて、集約ＬＢＧＷ１５Ａの数を決定する。その結果、管理サーバ３は、サービスチェインを構築する際に、上位レイヤ特性のＶＮＦ１２を収容したＶＮＦ群２０に適し、かつ、最小限の集約ＬＢＧＷ１５Ａの数を決定できる。
【００７５】
管理サーバ３は、構成要求で指定されたＶＮＦ群２０毎のＶＮＦ１２の数に基づき、複数のＶＮＦ群２０の内、上位レイヤ特性のＶＮＦ群２０を特定する。更に、特定されたＶＮＦ群２０内のＬＢインスタンス数に応じて、集約ＬＢＧＷ１５Ａの数を決定すると共に、指定されたＬＢの数を削除する。
【００７６】
尚、上記実施例では、構成要求で指定されたＬＢインスタンス数に応じて集約ＬＢＧＷ１５Ａの数を決定した。しかしながら、構成要求にＬＢインスタンス数が含まれていなくても良い。この場合、管理サーバ３は、構成要求で指定されたＶＮＦ群２０のＶＮＦ１２のインスタンス数に基づき、ＶＮＦ群２０毎に必要となる処理性能を算出しそれを処理するために必要なＬＢインスタンス数を算出する。そして、管理サーバ３は、自分で算出したＶＮＦ群２０毎のＬＢインスタンス数に基づき集約ＬＢＧＷ１５Ａの数を決定しても良い。
【００７７】
また、上記実施例の第１の決定部４１は、構成要求を検出すると、構成要求内の上位レイヤであるＬ４レベルのＶＮＦ群２０を特定し、特定したＶＮＦ群２０の内、そのＶＮＦ１２のインスタンス数が最大数のＶＮＦ群２０を特定する。そして、第１の決定部４１は、特定したＶＮＦ群２０内のＬＢインスタンス数に応じて集約ＬＢＧＷ１５Ａの数を決定した。しかしながら、これらに限定されるものではない。
【００７８】
上記実施例では、第２の区間５２内の最前段のＶＮＦ群２０の最適経路を決定し、最前段のＶＮＦ群２０内の各ＶＮＦ１２の負荷割合を算出した。しかしながら、最前段のＶＮＦ群２０内の各ＶＮＦ１２の負荷割合を算出した後、最前段のＶＮＦ群２０から終端ＶＮＦ１２までの最適経路を決定しても良い。
【００７９】
上記実施例では、集約ＬＢＧＷ１５Ａの分配割合を算出した後、各最適経路のＶＮＦ１２毎の負荷割合を算出した。しかしながら、最適経路のＶＮＦ１２毎の負荷割合を算出した後、集約ＬＢＧＷ１５Ａの分配割合を算出しても良く、特定アルゴリズムを用いて最適経路のＶＮＦ１２毎の負荷割合及び集約ＬＢＧＷ１５Ａの分配割合を同時に算出しても良い。
【００８０】
上記実施例では、構成要求で指定された複数のＶＮＦ群２０の内、機能特性、例えば、Ｌ４レベルのＶＮＦ群２０のＬＢインスタンス数で集約ＬＢＧＷ１５Ａの数を決定した。しかしながら、機能特性として、例えば、送信元アドレスのハッシュ計算で分散する計算機能を使用するＶＮＦ群２０を特定し、その特定されたＶＮＦ群２０のＬＢインスタンス数で集約ＬＢＧＷ１５Ａの数を決定しても良い。
【００８１】
上記実施例では、構成要求で指定された各ＶＮＦ群２０のＬＢインスタンス数で最前段のＬＢ１３に集約し、最前段のＬＢインスタンス数を算出しても良い。また、最前段の集約ＬＢＧＷ１５Ａと、この集約ＬＢＧＷ１５Ａに接続する次段のＶＮＦ１２と、そのＶＮＦ１２のインスタンス数を指定する構成要求でも良い。
【００８２】
実施例では、集約ＬＢＧＷ１５Ａの最前段のＶＮＦ群２０から終端ＶＮＦ１２までの経路を算出後、第２の区間５２内の負荷分散対象のＶＮＦ群２０内の各ＶＮＦ１２の負荷を均等にすべく、各ＶＮＦ１２の負荷割合及び集約ＬＢＧＷ１５Ａの分配割合を算出した。しかしながら、第２の区間５２内の負荷分散対象のＶＮＦ群２０内のＶＮＦ１２に限定されるものではなく、第２の区間５２内の全てのＶＮＦ群２０の全ＶＮＦ１２の負荷を均等にすべく、各ＶＮＦ１２の負荷割合及び集約ＬＢＧＷ１５Ａの分配割合を算出しても良い。また、管理サーバ３は、各ＶＮＦ１２の転送経路を決定した後、各ＶＮＦ１２の負荷割合を算出したが、ＶＮＦ１２毎の転送経路及び負荷割合を同時に算出しても良い。
【００８３】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【００８４】
更に、各装置で行われる各種処理機能は、ＣＰＵ（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）１２０と、ＲＯＭ１３０と、ＲＡＭ１４０と、ＣＰＵ１５０とを有する。通信部１１０、ＨＤＤ１２０、ＲＯＭ１３０、ＲＡＭ１４０及びＣＰＵ１５０は、バス１６０を介して接続される。通信部１１０は、図示せぬ他の情報処理装置と接続し、他の情報処理装置と通信する。そして、情報処理装置１００は、他の情報処理装置と通信し、他の情報処理装置内の仮想領域上に仮想通信機能群を複数段に配置してサービスチェインを構成する。
【００８８】
そして、ＲＯＭ１３０には、上記実施例と同様の機能を発揮するサービスチェイン構築プログラムが予め記憶されている。ＲＯＭ１３０は、サービスチェイン構築プログラムとして第１の決定プログラム１３０Ａ、第２の決定プログラム１３０Ｂ、第３の決定プログラム１３０Ｃ及び設定プログラム１３０Ｄが記憶されている。尚、ＲＯＭ１３０ではなく、図示せぬドライブでコンピュータ読取可能な記録媒体にサービスチェイン構築プログラムが記録されていても良い。また、記録媒体としては、例えば、ＣＤ−ＲＯＭ、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ等でも良い。
【００８９】
そして、ＣＰＵ１５０は、第１の決定プログラム１３０ＡをＲＯＭ１３０から読み出し、ＲＡＭ１４０上で第１の決定プロセス１４０Ａとして機能させる。更に、ＣＰＵ１５０は、第２の決定プログラム１３０ＢをＲＯＭ１３０から読み出し、ＲＡＭ１４０上で第２の決定プロセス１４０Ｂとして機能させる。更に、ＣＰＵ１５０は、第３の決定プログラム１３０ＣをＲＯＭ１３０から読み出し、ＲＡＭ１４０上で第３の決定プロセス１４０Ｃとして機能させる。更に、ＣＰＵ１５０は、設定プログラム１３０ＤをＲＯＭ１３０から読み出し、ＲＡＭ１４０上で設定プロセス１４０Ｄとして機能させる。
【００９０】
ＣＰＵ１５０は、複数段配置された仮想通信機能群のうちの最前段の仮想通信機能群の前段に配置され、かつ、前記最前段の仮想通信機能群内の仮想通信機能にトラヒックを分散する仮想分散機能を決定する。ＣＰＵ１５０は、前記最前段の仮想通信機能群内の各仮想通信機能から前記複数段配置された仮想通信機能群のうちの終端の仮想通信機能群内の各仮想通信機能までの転送経路を決定する。ＣＰＵ１５０は、決定された前記転送経路ごとのトラヒック量に基づき、前記最前段の仮想通信機能群内の各仮想通信機能に対する前記仮想分散機能の前記トラヒックの分配割合を決定する。ＣＰＵ１５０は、決定された前記転送経路を前記各仮想通信機能に設定すると共に、決定された前記仮想分散機能の前記分配割合を前記仮想分散機能に設定する。その結果、仮想分散機能の後段に仮想通信機能を増設した場合でも、仮想通信機能増加による負荷分散を反映できる。
【符号の説明】
【００９１】
１  サービスチェインシステム
２Ｂ  汎用サーバ
３  管理サーバ
１２  ＶＮＦ
１５  ＬＢＧＷ
１５Ａ  集約ＬＢＧＷ
４１  第１の決定部
４２  第２の決定部
４２Ａ  第４の決定部
４２Ｂ  第５の決定部
４２Ｃ  第６の決定部
４３  第３の決定部
４４  設定部
４４Ａ  配置部
４４Ｂ  割合設定部
【図１】
2018032953.tif 000003
【図２】
2018032953.tif 000004
【図３】
2018032953.tif 000005
【図４】
2018032953.tif 000006
【図５】
2018032953.tif 000007
【図６】
2018032953.tif 000008
【図７】
2018032953.tif 000009
【図８】
2018032953.tif 000010
【図９】
2018032953.tif 000011
【図１０】
2018032953.tif 000012
【図１１】
2018032953.tif 000013
【図１２】
2018032953.tif 000014
【図１３】
2018032953.tif 000015
【図１４】
2018032953.tif 000016