(57)【要約】【課題】仮想マシンを追加した場合でも、全ての仮想マシンにトラヒックを分散できる制御装置等を提供する。【解決手段】制御装置は、複数段配置された所定機能を実行する仮想マシン群を制御する制御装置である。制御装置は、特定部と、追加部とを有する。特定部は、第１機能を実行する仮想マシン群に仮想マシンを追加する場合に、第１機能を実行する仮想マシン群を経由するトラヒックの送信元アドレスにある送信元の第２機能を実行する仮想マシン群を特定する。追加部は、特定部にて特定された第２機能を実行する仮想マシン群内の仮想マシン数に基づいて、第２機能を実行する仮想マシン群内に仮想マシンを追加する。【選択図】図５
2018097684.tif 000002
【特許請求の範囲】
【請求項１】
複数段配置された所定機能を実行する仮想マシン群を制御する制御装置であって、
第１機能を実行する仮想マシン群に仮想マシンを追加する場合に、前記第１機能を実行する仮想マシン群を経由するトラヒックの送信元アドレスにある送信元の第２機能を実行する仮想マシン群を特定する特定部と、
前記特定部にて特定された前記第２機能を実行する仮想マシン群内の仮想マシン数に基づいて、前記第２機能を実行する仮想マシン群内に前記仮想マシンを追加する追加部と
を有することを特徴とする制御装置。
【請求項２】
前記第１機能を実行する仮想マシン群内の全仮想マシンの仮想マシン総数に応じて前記第２機能を実行する仮想マシン群内に、前記第２機能を実行する仮想マシンを追加するように前記追加部に要求する要求部を有することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記要求部は、
前記第２機能を実行する仮想マシン群から前記トラヒックの宛先アドレスにある宛先の第３機能を実行する仮想マシン群へのトラヒック数に基づき、前記第１機能を実行する仮想マシン群内の全仮想マシンに前記トラヒックが割振り可能であるか否かを判定し、前記トラヒックが割振り可能でない場合に前記第２機能を実行する仮想マシン群内に前記第２機能を実行する仮想マシンを追加すべく、前記追加部に要求することを特徴とする請求項２に記載の制御装置。
【請求項４】
前記特定部は、
前記第１機能を実行する仮想マシン群から前記トラヒックの宛先アドレスとなる前記第３機能を実行する仮想マシン群を特定し、
前記要求部は、
前記第２機能を実行する仮想マシン群内の仮想マシン総数と、前記第３機能を実行する仮想マシン群内の仮想マシン総数とを乗算して前記トラヒック数を算出することを特徴とする請求項３に記載の制御装置。
【請求項５】
前記要求部は、
前記第２機能を実行する仮想マシン群内の分散機能の仮想マシンからのトラヒックの宛先数に基づき、前記トラヒック数を算出することを特徴とする請求項３に記載の制御装置。
【請求項６】
前記特定部は、
前記第２機能を実行する仮想マシン群内に前記第２機能を実行する仮想マシンを追加した場合に、前記第２機能を実行する仮想マシン群に到着するトラヒックの送信元アドレスにある次の送信元の第４機能を実行する仮想マシン群を特定し、
前記要求部は、
前記第４機能を実行する仮想マシン群内の仮想マシン数に基づいて、前記第４機能を実行する仮想マシン群内に前記第４機能を実行する仮想マシンを追加するように前記追加部に要求することを特徴とする請求項１〜５の何れか一つに記載の制御装置。
【請求項７】
前記特定部は、
前記仮想マシン群の配置位置に基づき、前記第１機能を実行する仮想マシン群から前記トラヒックの送信元側にある最寄りの終端型の仮想マシン群を、前記第２機能を実行する仮想マシン群として特定することを特徴とする請求項１〜６の何れか一つに記載の制御装置。
【請求項８】
前記特定部は、
前記仮想マシン群の配置位置に基づき、前記第１機能を実行する仮想マシン群から前記トラヒックの宛先側にある最寄りの終端型の仮想マシン群を、前記第３機能を実行する仮想マシン群として特定することを特徴とする請求項４に記載の制御装置。
【請求項９】
複数段配置された所定機能を実行する仮想マシン群を制御する制御装置であって、
第１機能を実行する仮想マシン群に仮想マシンを追加する場合に、前記第１機能を実行する仮想マシン群を経由するトラヒックの送信元アドレスにある送信元の第２機能を実行する仮想マシン群及び、前記トラヒックの宛先アドレスにある宛先の第３機能を実行する仮想マシン群を特定する特定部と、
前記特定部にて特定された前記第２機能を実行する仮想マシン群又は前記第３機能を実行する仮想マシン群を選択する選択部と、
前記選択部にて前記第２機能を実行する仮想マシン群が選択された場合に、前記第２機能を実行する仮想マシン群内の仮想マシン数に基づき、前記第２機能を実行する仮想マシン群内に前記仮想マシンを追加すると共に、前記選択部にて前記第３機能を実行する仮想マシン群が選択された場合、前記第３機能を実行する仮想マシン群内の仮想マシン数に基づき、前記第３機能を実行する仮想マシン群内に前記仮想マシンを追加する追加部と
を有することを特徴とする制御装置。
【請求項１０】
前記選択部は、
前記第２機能を実行する仮想マシン群内に所定台数の仮想マシンを追加した場合に増加する第１の仮想リソース消費量と、前記第３機能を実行する仮想マシン群内に前記所定台数の仮想マシンを追加した場合に増加する第２の仮想リソース消費量とを比較し、仮想リソース消費量が少ない方の仮想マシン群を選択することを特徴とする請求項９に記載の制御装置。
【請求項１１】
前記選択部は、
前記第２機能を実行する仮想マシン群内に所定台数の仮想マシンを追加した場合に増加する第１の料金と、前記第３機能を実行する仮想マシン群内に前記所定台数の仮想マシンを追加した場合に増加する第２の料金とを比較し、料金が少ない方の仮想マシン群を選択することを特徴とする請求項９に記載の制御装置。
【請求項１２】
前記選択部は、
前記第２機能を実行する仮想マシン群内の全仮想マシンの処理能力の余裕の総和と、前記第３機能を実行する仮想マシン群内の全仮想マシンの処理能力の余裕の総和とを比較し、余裕の総和が少ない方の仮想マシン群を選択することを特徴とする請求項９に記載の制御装置。
【請求項１３】
前記選択部は、
前記第２機能を実行する仮想マシン群内に所定台数の仮想マシンを追加した場合に割り振り可能となる仮想マシンの第１の増加量と、前記第３機能を実行する仮想マシン群内に前記所定台数の仮想マシンを追加した場合に割り振り可能となる仮想マシンの第２の増加量とを比較し、増加量が多い方の仮想マシン群を選択することを特徴とする請求項９に記載の制御装置。
【請求項１４】
複数段配置された所定機能を実行する仮想マシン群を制御する制御装置であって、
第１機能を実行する仮想マシン群に仮想マシンを追加する場合に、前記第１機能を実行する仮想マシン群を経由するトラヒックの送信元アドレスにある送信元の第２機能を実行する仮想マシン群を特定する特定部と、
前記特定部にて特定された前記第２機能を実行する仮想マシン群内の前記仮想マシンが分散機能の場合に、前記第１機能を実行する仮想マシン群内の全仮想マシンに前記トラヒックが割振り可能となるように前記分散機能のトラヒックの分配数の増加又は前記分散機能の仮想マシンを追加する追加部と
を有することを特徴とする制御装置。
【請求項１５】
複数段配置された所定機能を実行する仮想マシン群を制御する制御装置の制御方法であって、
前記制御装置は、
第１機能を実行する仮想マシン群に仮想マシンを追加する場合に、前記第１機能を実行する仮想マシン群を経由するトラヒックの送信元アドレスにある送信元の第２機能を実行する仮想マシン群を特定し、
前記特定された前記第２機能を実行する仮想マシン群内の仮想マシン数に基づいて、前記第２機能を実行する仮想マシン群内に前記仮想マシンを追加する
処理を実行することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置及び制御方法に関する。
【背景技術】
【０００２】
最近のネットワークでは、拠点から外部のサイトや、拠点から他の拠点にアクセスする際、要求に応じてＦＷ（FireWall）やＰｒｏｘｙ（Web  Proxy）等のＮＷ（NetWork）機能を通信経路上に仮想的に配置してパケットを転送するサービスチェインシステムがある。仮想的なＮＷ機能を経由する通信経路をサービスチェインという。
【０００３】
従来、ＮＷ機能は、ＮＷサーバ等の物理ＮＷ装置で機能していた。しかしながら、近年の汎用サーバの性能向上によって汎用サーバ上のソフトウェア処理でもＮＷ機能が機能できる。従って、汎用サーバの仮想化環境下でＮＷ機能のプログラムを動作させる形態でＮＷ機能の運用を開始している。尚、仮想化環境下で動作するＮＷに関するソフトウェア処理を仮想ＮＷ機能(Virtual  Network  Function：ＶＮＦ)という。
【０００４】
しかしながら、データ転送等のＮＷ関連の処理が物理ＮＷ装置から汎用サーバ上のソフトウェア処理のＶＮＦに運用形態が移行した結果、データ転送の処理性能が低下する事態が生じている。そこで、複数のプログラムを並列に実行し、複数のサーバ上に仮想マシンを並列動作してスケールアウトすることで、データ転送の負荷を分散し、データ転送の処理性能を改善している。
【０００５】
図１６は、サービスチェインの配置構成の一例を示す説明図である。図１６に示すサービスチェイン２００は、仮想マシン（VM:Virtual  Machine）を有するＶＮＦ２０１を複数段配置することで構築する。ＶＭは、例えば、ＦＷ２０１Ａ、ＩＤＳ（Intrusive  Detection  System）２０１Ｂ及びＰｒｏｘｙ２０１Ｃ等のＮＷ機能である。更に、サービスチェイン２００は、ＶＮＦ２０１の前段にトラヒックを分散するＬＢ（Load  Balancer）２０２を配置している。ＬＢ２０２は、次段に配置するＶＮＦ２０１内の各ＶＭにトラヒックを分配する。その結果、ＬＢ２０２は、入力トラヒックを分配することで、ソフトウェア化による処理性能の低下を抑制している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１５−１４９５７８号公報
【特許文献２】特開２０１５−１３８４２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
サービスチェイン２００では、例えば、ＶＮＦ２０１Ｂに過負荷が生じた場合、その過負荷のＶＮＦ２０１ＢにＶＭ（ＩＤＳ）を追加することで、過負荷のＶＮＦ２０１Ｂの処理負担を軽減できる。しかしながら、サービスチェイン２００では、ＶＮＦ２０１ＢにＶＭを追加した場合でも、トラヒックを追加ＶＭに分配できず、過負荷のＶＮＦ２０１Ｂの処理負担を軽減できない場合がある。この場合、ＶＮＦ２０１Ｂの前段にＬＢを配置することも考えられるが、ＬＢ２０２を配置することで転送遅延が生じてしまう。
【０００８】
一つの側面では、仮想マシンを追加した場合でも、全ての仮想マシンにトラヒックを分散できる制御装置及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
一つの態様の制御装置は、複数段配置された所定機能を実行する仮想マシン群を制御する制御装置である。制御装置は、特定部と、追加部とを有する。特定部は、第１機能を実行する仮想マシン群に仮想マシンを追加する場合に、第１機能を実行する仮想マシン群を経由するトラヒックの送信元アドレスにある送信元の第２機能を実行する仮想マシン群を特定する。追加部は、前記特定部にて特定された第２機能を実行する仮想マシン群内の仮想マシン数に基づいて、前記第２機能を実行する仮想マシン群内に前記仮想マシンを追加する。
【発明の効果】
【００１０】
一つの側面として、仮想マシンを追加した場合でも、全ての仮想マシンにトラヒックを分散できる。
【図面の簡単な説明】
【００１１】
【図１】図１は、サービスチェインシステムの一例を示す説明図である。
【図２】図２は、管理サーバのハードウェア構成の一例を示す説明図である。
【図３Ａ】図３Ａは、サービスチェインの一例を示す説明図である。
【図３Ｂ】図３Ｂは、ＶＭ追加後のサービスチェインの一例を示す説明図である。
【図４Ａ】図４Ａは、ＶＭ追加時に全ＶＭにトラヒックを分散できないパターンのサービスチェインの一例を示す説明図である。
【図４Ｂ】図４Ｂは、ＶＭ追加後のサービスチェインの一例を示す説明図である。
【図５】図５は、実施例１の管理サーバのプロセッサの機能構成の一例を示す説明図である。
【図６】図６は、構成テーブルのテーブル構成の一例を示す説明図である。
【図７】図７は、ＶＭ管理テーブルのテーブル構成の一例を示す説明図である。
【図８Ａ】図８Ａは、実施例１のサービスチェインのＶＮＦ＃３の過負荷検出時の管理サーバの動作の一例を示す説明図である。
【図８Ｂ】図８Ｂは、ＶＮＦ＃３のＶＭ追加時の管理サーバの動作の一例を示す説明図である。
【図８Ｃ】図８Ｃは、送信元ＶＮＦ特定時の管理サーバの動作の一例を示す説明図である。
【図８Ｄ】図８Ｄは、送信元ＶＭ数及び追加ＶＭ数抽出時の管理サーバの動作の一例を示す説明図である。
【図８Ｅ】図８Ｅは、送信元ＶＮＦ＃１のＶＭ追加時の管理サーバの動作の一例を示す説明図である。
【図８Ｆ】図８Ｆは、経路再設定時の管理サーバの動作の一例を示す説明図である。
【図９】図９は、第１のＶＭ追加処理に関わる管理サーバ内のプロセッサの処理動作の一例を示すフローチャートである。
【図１０Ａ】図１０Ａは、実施例２のサービスチェインのＶＮＦ＃３の過負荷検出時の管理サーバの動作の一例を示す説明図である。
【図１０Ｂ】図１０Ｂは、ＶＮＦ＃３のＶＭ追加時及び送信元ＶＮＦ特定時の管理サーバの動作の一例を示す説明図である。
【図１０Ｃ】図１０Ｃは、送信元ＶＭ数、追加ＶＭ数及び宛先ＶＭ数抽出時の管理サーバの動作の一例を示す説明図である。
【図１０Ｄ】図１０Ｄは、送信元ＶＮＦ＃１のＶＭ追加時の管理サーバの動作の一例を示す説明図である。
【図１０Ｅ】図１０Ｅは、経路再設定時の管理サーバの動作の一例を示す説明図である。
【図１１Ａ】図１１Ａは、サービスチェインのＶＮＦ＃３の過負荷検出時の管理サーバの動作の一例を示す説明図である。
【図１１Ｂ】図１１Ｂは、ＶＮＦ＃３のＶＭ追加時及び送信元ＶＮＦ特定時の管理サーバの動作の一例を示す説明図である。
【図１１Ｃ】図１１Ｃは、送信元ＶＭ数及び追加ＶＭ数抽出時の管理サーバの動作の一例を示す説明図である。
【図１１Ｄ】図１１Ｄは、送信元ＶＮＦ＃１のＶＭ追加時の管理サーバの動作の一例を示す説明図である。
【図１１Ｅ】図１１Ｅは、経路再設定時の管理サーバの動作の一例を示す説明図である。
【図１２】図１２は、第２のＶＭ追加処理に関わる管理サーバ内のプロセッサの処理動作の一例を示すフローチャートである。
【図１３Ａ】図１３Ａは、実施例３のサービスチェインのＶＮＦ＃４の過負荷検出時の管理サーバの動作の一例を示す説明図である。
【図１３Ｂ】図１３Ｂは、ＶＮＦ＃３及びＶＮＦ＃４のＶＭ追加時の管理サーバの動作の一例を示す説明図である。
【図１３Ｃ】図１３Ｃは、ＶＮＦ＃２のＶＭ追加時の管理サーバの動作の一例を示す説明図である。
【図１３Ｄ】図１３Ｄは、送信元ＶＮＦ特定時の管理サーバの動作の一例を示す説明図である。
【図１３Ｅ】図１３Ｅは、経路再設定時の管理サーバの動作の一例を示す説明図である。
【図１４Ａ】図１４Ａは、第３のＶＭ追加処理に関わる管理サーバ内のプロセッサの処理動作の一例を示すフローチャートである。
【図１４Ｂ】図１４Ｂは、第３のＶＭ追加処理に関わる管理サーバ内のプロセッサの処理動作の一例を示すフローチャートである。
【図１５】図１５は、制御プログラムを実行する情報処理装置の一例を示す説明図である。
【図１６】図１６は、サービスチェインの配置構成の一例を示す説明図である。
【発明を実施するための形態】
【００１２】
以下、図面に基づいて、本願の開示する制御装置及び制御方法の実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。また、以下に示す実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
【００１３】
図１は、サービスチェインシステム１の一例を示す説明図である。図１に示すサービスチェインシステム１は、キャリアＮＷ２と、管理サーバ３と、端末装置４とを有する。キャリアＮＷ２は、例えば、企業の本社、支社や海外拠点等の拠点２Ａと接続するＮＷである。キャリアＮＷ２は、例えば、複数の汎用サーバ２Ｂで構成し、各汎用サーバ２Ｂのリソース領域にある仮想領域で稼働する仮想ＮＷ１１と、その仮想ＮＷ１１上に配置した複数のＶＮＦ１２とを有する。管理サーバ３は、拠点２Ａ間で通信するサービスチェインを仮想領域に確立する。
【００１４】
ＶＮＦ１２は、例えば、Ｗｅｂキャッシュ１２Ａ、パケットモニタリング１２Ｂ、ＦＷ１２Ｃ、高速ＷＡＮ１２Ｄ、アドレス変換部１２Ｅ、ＶＰＮルータ（ＶＰＮ）１２Ｆ、ＩＤＳやＰｒｏｘｙ等の仮想ＮＷ機能である。Ｗｅｂキャッシュ１２Ａは、図示せぬＷｅｂサーバとのキャッシュデータを格納するＮＷ機能である。パケットモニタリング１２Ｂは、通信経路上のパケットの状態を監視するＮＷ機能である。ＦＷ１２Ｃは、不正アクセスを防止するＮＷ機能である。高速ＷＡＮ１２Ｄは、高速ＷＡＮ等のＮＷ機能である。アドレス変換部１２Ｅは、アドレスを変換するＮＷ機能である。ＶＰＮ１２Ｆは、仮想専用線のルータ等のＮＷ機能である。ＩＤＳは、外部からの不正侵入を検知するＮＷ機能である。Ｐｒｏｘｙ（Web  Proxy,  Web  Cache）は、代理サーバのＮＷ機能である。ＶＮＦ１２は、汎用サーバ２Ｂ上の仮想領域に仮想的に配置した仮想通信機能である。
【００１５】
管理サーバ３は、端末装置４からサービスチェインの構成要求に応じて、キャリアＮＷ２内の各汎用サーバ２Ｂの仮想領域上に所望の仮想ＮＷ１１及びＶＮＦ１２を配置する制御装置である。端末装置４は、例えば、ＦＷ４Ａ、高速ＷＡＮ４ＢやＶＰＮ４Ｃ等を経由して管理サーバ３と接続し、管理サーバ３に対してサービスチェインの構成要求を指示する、例えば、システム管理者等の端末装置である。尚、構成要求は、パケット転送の通信経路上に１台若しくは複数台のＶＮＦ１２の配置を要求するコマンドである。また、構成要求は、ＶＮＦ１２及びＬＢのインスタンス数を指定する場合の他に、ＶＮＦ１２のインスタンス数のみを指定する場合もある。また、構成要求には、例えば、サービスチェインの要求品質を指定する場合もある。管理サーバ３は、要求品質を指定した構成要求を検出した場合、構成要求で指定された所望の機能や負荷状況からＶＮＦ１２やＬＢのインスタンス数を決定する。
【００１６】
図２は、管理サーバ３のハードウェア構成の一例を示す説明図である。図２に示す管理サーバ３は、例えば、ＮＷサーバとしての専用コンピュータや、汎用コンピュータに相当する。管理サーバ３は、ＮＷインタフェース３１と、入力装置３２と、出力装置３３と、補助記憶装置３４と、主記憶装置３５と、プロセッサ３６とを有する。ＮＷインタフェース３１は、キャリアＮＷ２と接続すると共に、ＶＮＦ１２と接続する通信インタフェースである。尚、ＮＷインタフェース３１は、例えば、有線又は無線の通信を司る通信インタフェースである。ＮＷインタフェース３１は、例えば、ＮＩＣ(Network  Interface  Card)やＬＡＮ(Local  Area  Network)カード等の通信カードである。
【００１７】
入力装置３２は、各種情報を入力する、例えば、キーボードやマウス等のポインティングデバイス等の入力インタフェースである。出力装置３３は、各種情報を出力する、例えば、音声出力装置や表示装置等の出力インタフェースである。補助記憶装置３４は、例えば、各種プログラムや、プロセッサ３６が使用するデータ等の各種情報を記憶する、例えば、ＥＰＲＯＭ（Erasable  Programmable  ROM）、又はハードディスクドライブ（Hard  Disc  Drive）等の不揮発性のメモリである。更に、補助記憶装置３４は、例えば、オペレーティングシステム（ＯＳ）や、その他、様々なアプリケーションプログラムを保持する領域である。
【００１８】
主記憶装置３５は、各種情報、例えば、補助記憶装置３４に格納されているプログラムをロードする領域や作業領域を提供する、例えば、ＲＡＭ（Random  Access  Memory）等の半導体メモリである。プロセッサ３６は、管理サーバ３全体を制御する、例えば、ＣＰＵ（Central  Processing  Unit）等の制御部である。プロセッサ３６は、補助記憶装置３４又は可搬記録媒体に保持されたＯＳや様々なアプリケーションプログラムを主記憶装置３５にロードして実行することで各種処理機能を実行する。プロセッサ３６は、１個に限定されるものではなく、複数個設けても良い。
【００１９】
図３Ａは、サービスチェインの一例を示す説明図である。図３Ａに示すサービスチェインは、ＶＮＦ＃１〜ＶＮＦ＃４を複数段配置して構築する。ＶＮＦ＃１は、例えば、終端型ＶＮＦのＬＢ１及びＬＢ２の２台のＶＭを有し、ＶＮＦ＃２は、例えば、非終端型ＶＮＦのＦＷ１及びＦＷ２の２台のＶＭを有する。ＶＮＦ＃３は、例えば、非終端型ＶＮＦのＶＰＮ１〜ＶＰＮ４の４台のＶＭを有し、ＶＮＦ＃４は、例えば、終端型ＶＮＦのＣａｃｈｅ１〜Ｃａｃｈｅ３の３台のＶＭを有する。ＬＢ１及びＬＢ２は、出力トラヒックを終端する、例えば、ＶＮＦ＃４の各ＶＭ（Ｃａｃｈｅ１〜Ｃａｃｈｅ３）をトラヒックの宛先アドレスのＶＭとする。ＬＢ１は、入力トラヒックを３本のトラヒックに分割し、各トラヒックを宛先ＶＮＦ＃４内の各ＶＭ（Ｃａｃｈｅ１〜Ｃａｃｈｅ３）に出力する。ＬＢ２は、入力トラヒックを３本のトラヒックに分割し、各トラヒックを宛先ＶＮＦ＃４内の各ＶＭ（Ｃａｃｈｅ１〜Ｃａｃｈｅ３）に出力する。
【００２０】
ＶＮＦ＃１内のＬＢ１及びＬＢ２からのトラヒックは、合計６本である。ＶＮＦ＃１は、ＶＮＦ＃２及びＶＮＦ＃３を経由して宛先ＶＮＦであるＶＮＦ＃４内のＣａｃｈｅ１〜Ｃａｃｈｅ３に６本のトラヒックを出力する。サービスチェインでは、トラヒックが合計６本であるため、転送経路を制御することで、経由する各ＶＮＦ内の全てのＶＭにトラヒックを分散できる。
【００２１】
その結果、サービスチェインでは、最前段のＶＮＦ＃１にのみＬＢを配置し、ＬＢでトラヒックを分散し、トラヒックの転送経路を制御して経由する各ＶＮＦ内の全てのＶＭにトラヒックが通過することで、トラヒックを全ＶＭに分散できる。サービスチェインでは、最前段のＶＮＦ＃１にのみＬＢを配置したので、ＶＮＦ＃２〜ＶＮＦ＃４の処理遅延を軽減しながら、転送経路上の全てのＶＭにトラヒックを分散できる。しかも、最前段のＬＢでトラヒックの分割比率を調整できるため、各ＶＭの負荷を平準化できる。
【００２２】
また、管理サーバ３は、サービスチェイン内のＶＮＦ内のＶＭ毎の負荷を監視し、ＶＭの負荷が所定閾値を超えた場合にＶＮＦの過負荷を検出する。更に、管理サーバ３は、ＶＮＦの過負荷を検出した場合、過負荷のＶＮＦにＶＭを自動的に追加するオートスケールを実行する。
【００２３】
図３Ｂは、ＶＭ追加後のサービスチェインの一例を示す説明図である。管理サーバ３は、図３Ａに示すサービスチェインのＶＮＦ＃３の過負荷を検出した場合、図３Ｂに示すようにＶＮＦ＃３にＶＭを１台追加する。そして、管理サーバ３は、ＶＮＦ＃１とＶＮＦ＃４との間のＶＮＦ＃３のＶＭ数を５台に変更した場合でも、合計６本のトラヒックの転送経路を制御することで、追加ＶＭを含む全てのＶＭにトラヒックを分散できる。
【００２４】
図３Ｂに示すサービスチェインでは、過負荷のＶＮＦ＃３にＶＭ（ＶＰＮ５）を追加した場合でも、転送経路を制御することで、追加ＶＭを含む全てのＶＭにトラヒックを分散できる。しかしながら、過負荷時にＶＭを追加した場合でも、ＶＮＦ内の全てのＶＭにトラヒックが割り振れず、トラヒックを分散できないサービスチェインのパターンがある。
【００２５】
図４Ａは、ＶＭ追加時に全ＶＭにトラヒックを分散できないパターンのサービスチェインの一例を示す説明図である。図４Ａに示すサービスチェインは、ＶＮＦ＃１〜ＶＮＦ＃６を複数段配置して構築する。ＶＮＦ＃１は、例えば、終端型ＶＮＦのＬＢ１及びＬＢ２の２台のＶＭを有し、ＶＮＦ＃２は、例えば、非終端型ＶＮＦのＦＷＡ１及びＦＷＡ２の２台のＶＭを有する。ＶＮＦ＃３は、例えば、非終端型ＶＮＦのＶＰＮ１〜ＶＰＮ４の４台のＶＭを有し、ＶＮＦ＃４は、例えば、終端型ＶＮＦのＰｒｏｘｙ１〜Ｐｒｏｘｙ３の３台のＶＭを有する。ＶＮＦ＃５は、例えば、非終端型ＶＮＦのＦＷＢ１〜ＦＷＢ３の３台のＶＭを有し、ＶＮＦ＃６は、例えば、終端型ＶＮＦのＣａｃｈｅ１及びＣａｃｈｅ２の２台のＶＭを有する。ＶＮＦ＃１のトラヒックの宛先は、ＶＮＦ＃４のＶＭ（Ｐｒｏｘｙ１〜Ｐｒｏｘｙ３）となる。ＶＮＦ＃４のＰｒｏｘｙのトラヒックの宛先は、ＶＮＦ＃６のＶＭ（Ｃａｃｈｅ１及びＣａｃｈｅ２）となる。尚、ＶＮＦ＃４のＰｒｏｘｙ及びＶＮＦ＃６のＣａｃｈｅは、非ＬＢの終端型ＶＮＦである。
【００２６】
非ＬＢの終端型ＶＮＦのＶＭは、自分が出力するトラヒックの宛先アドレスにある宛先ＶＭが１台となる。例えば、終端型ＶＮＦ＃４のＰｒｏｘｙは、非ＬＢのため、最前段のＬＢで分割されたトラヒックの内、自分を宛先とするトラヒックを受信した場合、受信トラヒックを１台の宛先ＶＭに出力する。従って、ＶＮＦ＃４内のＶＭは、３台であるため、３本のトラヒックしか流れないことになる。
【００２７】
管理サーバ３は、サービスチェインのＶＮＦ＃５のＶＭ（ＦＷＢ）の過負荷を検出した場合、図４Ｂに示すようにＶＮＦ＃５に１台のＶＭ（ＦＷＢ４）を追加するオートスケールを実行する。
【００２８】
その結果、図４Ｂに示すサービスチェインでは、ＶＮＦ＃５の過負荷でＶＭ（ＦＷＢ４）を１台追加して合計４台のＶＭ（ＦＷＢ１〜ＦＷＢ４）になる。しかしながら、サービスチェインでは、転送経路を制御しても、トラヒックが３本しかないため、ＶＮＦ＃５内の４台のＶＭにトラヒックを分散できない。その結果、ＶＮＦ＃５内にＦＷＢ４を追加したとしても、追加ＶＭにトラヒックが割り振れないため、全てのＶＭにトラヒックが分散できず、ＶＮＦ＃５の過負荷を軽減できない。そこで、このような事態に対処する実施例１のサービスチェインシステムについて説明する。尚、図１及び図２に示すサービスチェインシステムと同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。
【実施例１】
【００２９】
図５は、実施例１の管理サーバ３のプロセッサ３６の機能構成の一例を示す説明図である。図５に示す管理サーバ３は、前述したプロセッサ３６及び主記憶装置３５を有する。プロセッサ３６は、監視部４１と、追加部４２と、要求部４３と、再設定部４４と、制御部４５とを有する。
【００３０】
監視部４１は、サービスチェインを構成する各ＶＮＦ内の各ＶＭの負荷、例えば、ＣＰＵ使用率を監視し、ＣＰＵ使用率が所定閾値（８０％）を超えた場合にＶＮＦの過負荷を検出する。監視部４１は、ＶＮＦの過負荷を検出した場合、過負荷のＶＮＦに対してＶＭを追加する追加要求を追加部４２に通知する。
【００３１】
追加部４２は、追加要求に応じて、サービスチェインを構成するＶＮＦとして動作するＶＭを汎用サーバ２Ｂ上に起動し、ＶＮＦ内にＶＭを追加する。要求部４３は、ＶＭ追加に応じて、連動して他に追加すべきＶＭの有無を判断し、追加すべきＶＭがある場合、ＶＭの追加要求を追加部４２に通知する。要求部４３は、特定部４３Ａと、選択部４３Ｂとを有する。特定部４３Ａは、追加ＶＭを含む追加ＶＮＦを経由するトラヒックの送信元アドレスにある送信元ＶＮＦを特定する。尚、追加ＶＮＦは、例えば、第１機能を実行するＶＮＦ、送信元ＶＮＦは、例えば、第２機能を実行するＶＮＦである。選択部４３Ｂは、連動して他に追加すべきＶＭとして、送信元ＶＮＦ又は宛先ＶＮＦを選択する。宛先ＶＮＦは、例えば、第３機能を実行するＶＮＦである。尚、実施例１では、説明の便宜上、選択部４３Ｂは事前設定で送信元ＶＮＦを選択するものとする。要求部４３は、送信元ＶＮＦのＶＭ数、すなわち送信元ＶＭ数と、追加ＶＮＦのＶＭ数、すなわち追加ＶＭ数とを比較する。更に、要求部４３は、送信元ＶＭ数と追加ＶＭ数との比較結果に基づき、送信元ＶＭ数の方が少ない場合に、送信元ＶＮＦにＶＭを追加する追加要求を追加部４２に通知する。再設定部４４は、追加要求に応じてサービスチェインの構成が変化した場合、ＬＢの割振り設定やＶＮＦの転送経路を再計算し、割振り設定をＬＢに設定すると共に、転送経路を各ＶＮＦに設定する。制御部４５は、プロセッサ３６全体を制御する。
【００３２】
主記憶装置３５は、構成テーブル５１と、ＶＭ管理テーブル５２とを有する。図６は、構成テーブル５１のテーブル構成の一例を示す説明図である。構成テーブル５１は、各サービスチェインを構成するＶＮＦの配置情報を管理するテーブルである。配置情報は、サービスチェイン識別子５１Ａと、ＶＮＦ数５１Ｂと、ＶＮＦ識別情報５１Ｃとを有する。サービスチェイン識別子５１Ａは、サービスチェインを識別する情報である。ＶＮＦ数５１Ｂは、サービスチェインを構築するＶＮＦの段数である。ＶＮＦ識別情報５１Ｃは、ＶＮＦ識別子５１Ｄと、ＶＮＦ種別５１Ｅと、転送形態５１Ｆと、ＬＢ識別子５１Ｇと、ＶＭ数５１Ｈとを有する。ＶＮＦ識別子５１Ｄは、サービスチェイン内のＶＮＦを識別する情報である。ＶＮＦ種別５１Ｅは、例えば、ＬＢ、ＦＷ、ＶＰＮ、Ｃａｃｈｅ等のＶＮＦの種類を識別する情報である。転送形態５１Ｆは、ＶＭの終端型又は非終端型を識別する情報である。尚、終端型は、自分を宛先とするトラヒックを受信し、ＮＷ処理を実行し、新たな宛先のトラヒックを生成し、生成したトラヒックを出力するタイプのＶＭ、例えば、ＬＢ、ＣａｃｈｅやＰｒｏｘｙ等のＶＭである。非終端型は、トラヒックの宛先を変えることなく、そのトラヒックを中継するタイプのＶＭ、例えば、ＶＰＮルータやＦＷ等のＶＭである。ＬＢ識別子５１Ｇは、ＶＭがＬＢであるか否かを識別する、ＬＢ又は非ＬＢを示す情報である。ＶＭ数５１Ｈは、ＶＮＦ内で動作中のＶＭの台数である。
【００３３】
図７は、ＶＭ管理テーブル５２のテーブル構成の一例を示す説明図である。ＶＭ管理テーブル５２は、各サービスチェインを構成する各ＶＮＦとして動作している汎用サーバ２Ｂ上のＶＭの管理情報を管理する。管理情報は、サービスチェイン識別子５２Ａと、ＶＮＦ識別情報５２Ｂとを有する。サービスチェイン識別子５２Ａは、サービスチェインを識別する情報である。ＶＮＦ識別情報５２Ｂは、サービスチェイン内のＶＮＦ毎の識別情報である。ＶＮＦ識別情報５２Ｂは、ＶＮＦ識別子５２Ｃと、ＶＭ識別情報とを有する。ＶＮＦ識別子５２Ｃは、ＶＮＦを識別する情報である。ＶＭ識別情報は、ＶＮＦ内のＶＭを識別する情報である。ＶＭ識別情報は、ＶＭ識別子５２Ｄと、ＶＭＩＤ５２Ｅと、管理アドレス５２Ｆと、転送アドレス５２Ｇとを有する。ＶＭＩＤ５２Ｅは、ＶＭを識別するＩＤである。管理アドレス５２Ｆは、管理サーバ３がＶＭと通信する管理ＮＷ５Ａ用の宛先情報である。転送アドレス５２Ｇは、例えば、ＶＭ間で通信する転送ＮＷ５Ｂ用の宛先情報である。
【００３４】
図８Ａは、実施例１のサービスチェインのＶＮＦ＃３の過負荷検出時の管理サーバ３の動作の一例を示す説明図である。図８Ａに示すサービスチェインは、ＶＮＦ＃１〜ＶＮＦ＃４を複数段配置して構築する。ＶＮＦ＃１は、例えば、終端型ＶＮＦのＬＢ１及びＬＢ２の２台のＶＭを有し、ＶＮＦ＃２は、例えば、非終端型ＶＮＦのＦＷ１及びＦＷ２の２台のＶＭを有する。ＶＮＦ＃３は、例えば、非終端型ＶＮＦのＶＰＮ１及びＶＰＮ２の２台のＶＭを有し、ＶＮＦ＃４は、例えば、終端型ＶＮＦのＣａｃｈｅ１及びＣａｃｈｅ２の２台のＶＭを有する。
【００３５】
ＬＢ１及びＬＢ２は、トラヒックを終端するＶＮＦ＃４の各ＶＭ（Ｃａｃｈｅ１及びＣａｃｈｅ２）を宛先とする。ＬＢ１は、入力トラヒックを２本のトラヒックに分割し、各トラヒックを宛先ＶＮＦ＃４内の各ＶＭ（Ｃａｃｈｅ１及びＣａｃｈｅ２）に出力する。ＬＢ２は、入力トラヒックを２本のトラヒックに分割し、各トラヒックを宛先ＶＮＦ＃４内の各ＶＭ（Ｃａｃｈｅ１及びＣａｃｈｅ２）に出力する。ＶＮＦ＃１は、ＶＮＦ＃２及びＶＮＦ＃３を経由して宛先ＶＮＦとなるＶＮＦ＃４に４本のトラヒックを出力する。サービスチェインでは、トラヒックが合計４本であるため、転送経路を制御することで、経由するＶＮＦ内の全てのＶＭにトラヒックを分散している。
【００３６】
管理サーバ３内の監視部４１は、図８Ａに示すようにＶＮＦ＃３内のＶＰＮの過負荷を検出する。監視部４１は、ＶＮＦ＃３の過負荷を検出した場合、過負荷のＶＮＦ＃３にＶＭ（ＶＰＮ３）を追加する追加要求を追加部４２に通知する。尚、監視部４１は、サービスチェイン内のＶＮＦ内の各ＶＭの負荷、例えば、ＣＰＵ使用率を定期的に計測し、ＣＰＵ使用率が所定閾値、例えば、８０％を超えた場合、そのＶＮＦを過負荷と判断する。監視部４１は、追加部４２にてＶＭを追加した追加ＶＮＦ＃３を識別するＶＮＦ識別子を要求部４３に通知する。
【００３７】
図８Ｂは、ＶＮＦ＃３のＶＭ追加時の管理サーバ３の動作の一例を示す説明図である。管理サーバ３内の追加部４２は、図８Ｂに示すように、監視部４１からの追加要求に応じて、ＶＮＦ＃３内に３台目のＶＰＮ３を追加起動する。制御部４５は、構成テーブル５１内の追加ＶＮＦ＃３に対応するＶＭ数５１Ｈを“３”に変更する。制御部４５は、ＶＭ管理テーブル５２内の追加ＶＮＦ＃３に対応するＶＰＮ３のＶＭ識別情報としてＶＭ識別子５２Ｄ、ＶＭＩＤ５２Ｅ、管理アドレス５２Ｆ及び転送アドレス５２Ｇを追加する。
【００３８】
図８Ｃは、送信元ＶＮＦ特定時の管理サーバ３の動作の一例を示す説明図である。管理サーバ３内の要求部４３内の特定部４３Ａは、図８Ｃに示すように、構成テーブル５１を参照し、追加ＶＮＦを経由するトラヒックの送信元アドレスとなる送信元ＶＮＦを特定する。特定部４３Ａは、例えば、追加ＶＮＦ＃３を経由するトラヒックの終端型ＶＮＦの送信元ＶＮＦ＃１内のＬＢを特定する。
【００３９】
図８Ｄは、送信元ＶＭ数及び追加ＶＭ数抽出時の管理サーバ３の動作の一例を示す説明図である。要求部４３は、図８Ｄに示すように、追加ＶＮＦのＶＭ数、すなわち追加ＶＭ数と、送信元ＶＮＦのＶＭ数、すなわち送信元ＶＭ数とを比較する。要求部４３は、送信元ＶＭ数の方が少ない場合に、送信元ＶＭ数が追加ＶＭ数以上となるように、送信元ＶＮＦにＶＭを追加する追加要求を追加部４２に通知する。要求部４３は、例えば、送信元ＶＮＦ＃１の送信元ＶＭ数が２台、追加ＶＮＦ＃３の追加ＶＭ数が３台であるため、送信元ＶＮＦ＃１にＶＭ（ＬＢ３）を１台追加する追加要求を追加部４２に通知する。
【００４０】
図８Ｅは、送信元ＶＮＦ＃１のＶＭ追加時の管理サーバ３の動作の一例を示す説明図である。追加部４２は、要求部４３からの追加要求に応じて、図８Ｅに示すように、送信元ＶＮＦ＃１にＶＭ（ＬＢ３）を追加起動する。制御部４５は、構成テーブル５１内の送信元ＶＮＦ＃１に対応するＶＭ数５１Ｈを“３”に変更する。制御部４５は、ＶＭ管理テーブル５２内の送信元ＶＮＦ＃１に対応するＬＢ３のＶＭ識別情報としてＶＭ識別子５２Ｄ、ＶＭＩＤ５２Ｅ、管理アドレス５２Ｆ及び転送アドレス５２Ｇを追加する。そして、追加部４２は、転送経路及び割振り設定を再設定部４４に要求する。
【００４１】
図８Ｆは、経路再設定時の管理サーバ３の動作の一例を示す説明図である。管理サーバ３内の再設定部４４は、図８Ｆに示すように、追加ＶＭを含む全てのＶＭにトラヒックを割り振るため、ＬＢの割振り設定及び各ＶＭの転送経路を再計算し、各ＬＢに割振り設定及び各ＶＭに転送経路を設定する。その結果、サービスチェインを再構築する。管理サーバ３は、ＶＮＦ＃３の過負荷を検出した場合、ＶＰＮ追加の他、送信元ＶＮＦ＃１のＬＢを連動して追加するため、全てのＶＭにトラヒックを割り振ることが可能になる。そして、管理サーバ３は、全てのＶＭにトラヒックを分散できることで、過負荷のＶＮＦ＃３の処理負担を軽減できる。
【００４２】
図９は、第１のＶＭ追加処理に関わる管理サーバ３内のプロセッサ３６の処理動作の一例を示すフローチャートである。図９においてプロセッサ３６内の監視部４１は、サービスチェイン内のＶＮＦ＃ｘの過負荷を検出したか否かを判定する（ステップＳ１１）。監視部４１は、ＶＮＦ＃ｘの過負荷を検出した場合（ステップＳ１１肯定）、ＶＮＦ＃ｘにＶＭを追加する追加要求を追加部４２に通知する。プロセッサ３６内の追加部４２は、追加要求に応じて過負荷のＶＮＦ＃ｘにＶＭを１台追加する（ステップＳ１２）。プロセッサ３６内の制御部４５は、追加ＶＮＦに対する追加ＶＭに応じて構成テーブル５１及びＶＭ管理テーブル５２を更新する（ステップＳ１３）。
【００４３】
更に、プロセッサ３６内の要求部４３内の特定部４３Ａは、構成テーブル５１のＶＮＦ識別子５１Ｄを参照し、ｘ−１＝ｉでＶＮＦ＃ｘの前段、すなわち送信元側のＶＮＦ＃ｉを特定する（ステップＳ１４）。特定部４３Ａは、構成テーブル５１の転送形態５１Ｆを参照し、ＶＮＦ＃ｉが終端型であるか否かを判定する（ステップＳ１５）。
【００４４】
特定部４３Ａは、ＶＮＦ＃ｉが終端型でない場合（ステップＳ１５否定）、構成テーブル５１のＶＮＦ識別子５１Ｄを参照し、ｉ＝ｉ−１で前段のＶＮＦ＃ｉを特定する（ステップＳ１６）。特定部４３Ａは、ｉ＞０が成立するか否かを判定する（ステップＳ１７）。要求部４３は、ｉ＞０が成立する場合（ステップＳ１７肯定）、ステップＳ１６で特定したＶＮＦ＃ｉが終端型であるか否かを判定すべく、ステップＳ１５に移行する。
【００４５】
プロセッサ３６内の再設定部４４は、ｉ＞０が成立しない場合（ステップＳ１７否定）、追加ＶＭを含む全てのＶＭにトラヒックが分散するようにＬＢの割振り設定及び各ＶＭの転送経路を再設定し（ステップＳ１８）、図９に示す処理動作を終了する。
【００４６】
要求部４３は、ＶＮＦ＃ｉが終端型である場合（ステップＳ１５肯定）、構成テーブル５１内のＶＭ数５１Ｈを参照し、追加ＶＮＦ＃ｘの追加ＶＭ数ｎ及び、送信元ＶＮＦ＃ｉの送信元ＶＭ数ｍを抽出する（ステップＳ１９）。要求部４３は、送信元ＶＭ数ｍ＜追加ＶＭ数ｎが成立するか否かを判定する（ステップＳ２０）。
【００４７】
要求部４３は、送信元ＶＭ数ｍ＜追加ＶＭ数ｎが成立する場合（ステップＳ２０肯定）、送信元ＶＮＦ＃ｉにＶＭを追加する追加要求を追加部４２に通知する。追加部４２は、要求部４３からの追加要求に応じて、送信元ＶＮＦ＃ｉにＶＭを１台追加する（ステップＳ２１）。制御部４５は、送信元ＶＮＦに対する追加ＶＭに応じて構成テーブル５１及びＶＭ管理テーブル５２を更新する（ステップＳ２２）。更に、要求部４３は、送信元ＶＮＦに対する追加ＶＭのテーブル更新に応じて追加ＶＭ数及び送信元ＶＭ数を抽出すべく、ステップＳ１９に移行する。
【００４８】
要求部４３は、送信元ＶＭ数ｍ＜追加ＶＭ数ｎが成立しない場合（ステップＳ２０否定）、追加ＶＭを含む全ＶＭにトラヒックが分散するようにＬＢの割振り設定及び各ＶＭの転送経路を再設定すべく、ステップＳ１８に移行する。更に、監視部４１は、ＶＮＦ＃ｘの過負荷を検出しなかった場合（ステップＳ１１否定）、図９に示す処理動作を終了する。
【００４９】
実施例１の管理サーバ３は、過負荷のＶＮＦにＶＭを追加する場合に、追加ＶＮＦを経由するトラヒックの送信元ＶＮＦを特定する。管理サーバ３は、追加のＶＮＦ内の全ＶＭにトラヒックが割振り可能となるように、送信元ＶＮＦ内にＶＭを追加する。その結果、管理サーバ３は、過負荷のＶＮＦにＶＭを追加した場合でも、全てのＶＭにトラヒックを確実に割振り可能になるため、全てのＶＭにトラヒックを分散しながら、過負荷のＶＮＦの処理負担を軽減できる。
【００５０】
管理サーバ３は、追加のＶＮＦ内の全ＶＭの追加ＶＭ数に応じて送信元ＶＮＦ内に仮想マシンを追加する。その結果、管理サーバ３は、全てのＶＭにトラヒックが割振り可能になる。
【００５１】
上記実施例１では、ＶＭを追加した場合でも、追加ＶＭを含む全ＶＭにトラヒックが割振り可能となるように送信元ＶＮＦにＶＭを追加したが、これに限定されるものではなく、適宜変更可能である。例えば、送信元ＶＮＦがＬＢであるか否かの判定結果に基づき、送信元ＶＮＦにＶＭを追加する実施の形態につき、実施例２として以下に説明する。図１０Ａは、実施例２のサービスチェインのＶＮＦ＃３の過負荷検出時の管理サーバ３の動作の一例を示す説明図である。尚、実施例１のサービスチェインと同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。
【実施例２】
【００５２】
図１０Ａに示すサービスチェインは、ＶＮＦ＃１〜ＶＮＦ＃４を複数段配置して構築する。ＶＮＦ＃１は、例えば、終端型ＶＮＦのＬＢ１及びＬＢ２の２台のＶＭを有し、ＶＮＦ＃２は、例えば、非終端型ＶＮＦのＦＷ１〜ＦＷ３の３台のＶＭを有する。ＶＮＦ＃３は、例えば、非終端型ＶＮＦのＶＰＮ１〜ＶＰＮ４の４台のＶＭを有し、ＶＮＦ＃４は、例えば、終端型ＶＮＦのＣａｃｈｅ１及びＣａｃｈｅ２の２台のＶＭを有する。
【００５３】
ＬＢ１及びＬＢ２は、トラヒックを終端する各ＶＭ（Ｃａｃｈｅ１及びＣａｃｈｅ２）を宛先とする。ＬＢ１は、入力トラヒックを２本のトラヒックに分割し、各トラヒックを宛先ＶＮＦ＃４内の各ＶＭ（Ｃａｃｈｅ１及びＣａｃｈｅ２）に出力する。ＬＢ２は、入力トラヒックを２本のトラヒックに分割し、各トラヒックを宛先ＶＮＦ＃４内の各ＶＭ（Ｃａｃｈｅ１及びＣａｃｈｅ２）に出力する。ＶＮＦ＃１は、ＶＮＦ＃２及びＶＮＦ＃３を経由して宛先ＶＮＦとなるＶＮＦ＃４に４本のトラヒックを出力する。図１０Ａに示すサービスチェインでは、トラヒックが合計４本であるため、転送経路を制御することで、経由する全てのＶＭにトラヒックを分散できる。
【００５４】
監視部４１は、ＶＮＦ＃３内のＶＰＮの過負荷を検出した場合、ＶＮＦ＃３内のＶＭ（ＶＰＮ５）を追加する追加要求を追加部４２に通知する。監視部４１は、追加ＶＮＦ＃３を識別するＶＮＦ識別子を要求部４３に通知する。
【００５５】
図１０Ｂは、ＶＮＦ＃３のＶＭ追加時及び送信元ＶＮＦ特定時の管理サーバ３の動作の一例を示す説明図である。追加部４２は、図１０Ｂに示すように監視部４１からの追加要求に応じてＶＮＦ＃３内に５台目のＶＰＮ５を追加起動する。制御部４５は、構成テーブル５１内の追加ＶＮＦ＃３に対応するＶＭ数５１Ｈを“５”に変更する。制御部４５は、ＶＭ管理テーブル５２内の追加ＶＮＦ＃３に対応するＶＰＮ５のＶＭ識別情報としてＶＭ識別子５２Ｄ、ＶＭＩＤ５２Ｅ、管理アドレス５２Ｆ及び転送アドレス５２Ｇを追加する。
【００５６】
特定部４３Ａは、構成テーブル５１内の転送形態５１Ｆを参照し、追加ＶＮＦを経由するトラヒックの終端型の送信元ＶＮＦを特定する。要求部４３は、構成テーブル５１内のＬＢ識別子５１Ｇを参照し、送信元ＶＮＦがＬＢであるか否かを判定する。要求部４３は、送信元ＶＮＦがＬＢの場合、追加ＶＭがトラヒックを割振り可能であるか否かを判定する。要求部４３は、追加ＶＭがトラヒックを割振り可能な場合、追加ＶＮＦのＶＭ数、すなわち追加ＶＭ数と、送信元ＶＮＦのＶＭ数、すなわち送信元ＶＭ数とを比較する。要求部４３は、送信元ＶＮＦがＬＢでない場合、送信元ＶＭ数と追加ＶＭ数とを比較し、追加ＶＭがトラヒックを割振り可能であるか否かを判定する。
【００５７】
追加ＶＭにトラヒックが割振り可能であるか否かの判定は、追加ＶＭを含むＶＮＦを経由するトラヒックの本数で決まる。トラヒックの本数は、追加ＶＭを含む追加ＶＮＦのＶＭ数よりも多い場合、これらのトラヒックの転送経路を制御することで、追加ＶＭにもトラヒックを割り振ることができる。尚、送信元ＶＮＦがＬＢの場合、トラヒックの本数は「ＬＢの台数と宛先ＶＮＦの宛先ＶＭ数との対の数」で算出できる。
【００５８】
図１０Ｃは、送信元ＶＭ数、追加ＶＭ数及び宛先ＶＭ数抽出時の管理サーバ３の動作の一例を示す説明図である。要求部４３は、図１０Ｃに示すように、構成テーブル５１内のＶＭ数５１Ｈを参照し、送信元ＶＭ数及び宛先ＶＭ数を抽出し、送信元ＶＭ数と宛先ＶＭ数とを乗算してトラヒック本数を算出する。尚、要求部４３は、構成テーブル５１を参照し、追加ＶＮＦから宛先側で次段の終端ＶＮＦを宛先ＶＮＦとして特定し、その宛先ＶＮＦのＶＭ数を宛先ＶＭ数として抽出する。尚、宛先ＶＮＦは、図１０Ｃの場合、ＶＮＦ＃４のＣａｃｈｅ１及びＣａｃｈｅ２である。要求部４３は、送信元ＶＭ数「２台」と宛先ＶＭ数「２台」とを乗算して２×２＝４でトラヒック本数を算出する。
【００５９】
要求部４３は、算出したトラヒック本数と追加ＶＭ数とを比較し、トラヒック本数に比較して追加ＶＭ数の方が大きい場合、追加ＶＭにトラヒックを割振り不可と判定する。図１０Ｃの例では、ＬＢ（２台）と宛先ＶＭ数（２台）との対の数が４であり、追加ＶＭ数が５台であることから、追加ＶＭにトラヒックを割り振ることができない。
【００６０】
要求部４３は、トラヒック本数が追加ＶＮＦの追加ＶＭ数以上となるように送信元ＶＮＦにＶＭを追加する追加要求を追加部４２に通知する。
【００６１】
図１０Ｄは、送信元ＶＮＦ＃１のＶＭ追加時の管理サーバ３の動作の一例を示す説明図である。追加部４２は、要求部４３からの追加要求に応じて、図１０Ｄに示すように送信元ＶＮＦ＃１にＶＭ（ＬＢ３）を追加起動する。制御部４５は、構成テーブル５１内の送信元ＶＮＦ＃１に対応するＶＭ数５１Ｈを“３”に変更する。制御部４５は、ＶＭ管理テーブル５２内の送信元ＶＮＦ＃１に対応するＬＢ３のＶＭ識別情報としてＶＭ識別子５２Ｄ、ＶＭＩＤ５２Ｅ、管理アドレス５２Ｆ及び転送アドレス５２Ｇを追加する。そして、追加部４２は、転送経路及び割振り設定を再設定部４４に要求する。
【００６２】
図１０Ｅは、経路再設定時の管理サーバ３の動作の一例を示す説明図である。管理サーバ３内の再設定部４４は、図１０Ｅに示すように、全ての追加ＶＭにトラヒックを割り振るべく、ＬＢの割振り設定及び各ＶＭの転送経路を再計算し、各ＬＢに割振り設定及び各ＶＭに転送経路を設定する。その結果、サービスチェインを再構築する。管理サーバ３は、ＶＮＦ＃３のＶＰＮの過負荷を検出した場合、ＶＰＮ追加の他、ＬＢを連動して追加するため、追加ＶＰＮにトラヒックを割り振ることが可能になり、全てのＶＭにトラヒックを分散できることで、過負荷のＶＮＦ＃３の処理負担を軽減できる。
【００６３】
管理サーバ３は、過負荷のＶＮＦにＶＭを追加する場合に、追加ＶＮＦを経由するトラヒックの送信元ＶＮＦを特定する。管理サーバ３は、送信元ＶＮＦの送信元ＶＭ数と宛先ＶＮＦの宛先ＶＭ数とを乗算してトラヒック本数を算出する。管理サーバ３は、送信元ＶＮＦがＬＢ、トラヒック本数が追加ＶＭ数よりも少ない場合、送信元ＶＮＦ内にＬＢを追加する。その結果、管理サーバ３は、過負荷のＶＮＦにＶＭを追加した場合でも、全てのＶＭにトラヒックを確実に割振り可能になるため、全てのＶＭにトラヒックを分散しながら、過負荷のＶＮＦの処理負担を軽減できる。
【００６４】
管理サーバ３は、送信元ＶＮＦがＬＢで、トラヒック本数が追加ＶＭ数以上の場合、送信元ＶＮＦへの無駄なＬＢの追加を抑制し、転送経路を制御することで、全てのＶＭにトラヒックを確実に割振り可能になる。その結果、全てのＶＭにトラヒックを分散しながら、過負荷のＶＮＦの処理負担を軽減できる。
【００６５】
図１０Ａ〜図１０Ｅでは、送信元ＶＮＦがＬＢのサービスチェインの場合を例示したが、送信元ＶＮＦが非ＬＢのサービスチェインの場合について説明する。図１１Ａは、サービスチェインのＶＮＦ＃３の過負荷検出時の管理サーバ３の動作の一例を示す説明図である。図１１Ａに示すサービスチェインは、ＶＮＦ＃１〜ＶＮＦ＃４を複数段配置して構築する。ＶＮＦ＃１は、例えば、終端型ＶＮＦのＰｒｏｘｙ１及びＰｒｏｘｙ２の２台のＶＭを有し、ＶＮＦ＃２は、例えば、非終端型ＶＮＦのＦＷ１及びＦＷ２の２台のＶＭを有する。ＶＮＦ＃３は、例えば、非終端型ＶＮＦのＶＰＮ１及びＶＰＮ２の２台のＶＭを有し、ＶＮＦ＃４は、例えば、終端型ＶＮＦのＣａｃｈｅ１及びＣａｃｈｅ２の２台のＶＭを有する。Ｐｒｏｘｙ１は、トラヒックを終端するＶＭ（Ｃａｃｈｅ１）を宛先とし、トラヒックを宛先ＶＮＦ＃４内のＣａｃｈｅ１に出力する。Ｐｒｏｘｙ２は、トラヒックを終端するＶＭ（Ｃａｃｈｅ２）を宛先とし、トラヒックを宛先ＶＮＦ＃４内のＣａｃｈｅ２に出力する。ＶＮＦ＃１は、ＶＮＦ＃２及びＶＮＦ＃３を経由して宛先ＶＮＦとなるＶＮＦ＃４に２本のトラヒックを出力する。サービスチェインでは、トラヒック本数が合計２本であるため、転送経路を制御することで、経由する全てのＶＭにトラヒックを分散している。
【００６６】
監視部４１は、ＶＮＦ＃３内のＶＰＮの過負荷を検出した場合、ＶＮＦ＃３内のＶＭ（ＶＰＮ３）を追加する追加要求を追加部４２に通知する。監視部４１は、追加ＶＮＦ＃３を識別するＶＮＦ識別子を要求部４３に通知する。
【００６７】
図１１Ｂは、ＶＮＦ＃３のＶＭ追加時及び送信元ＶＮＦ特定時の管理サーバ３の動作の一例を示す説明図である。追加部４２は、監視部４１からの追加要求に応じて、図１１Ｂに示すようにＶＮＦ＃３内に３台目のＶＰＮ３を追加起動する。制御部４５は、構成テーブル５１内の追加ＶＮＦ＃３に対応するＶＭ数５１Ｈを“３”に変更する。制御部４５は、ＶＭ管理テーブル５２内の追加ＶＮＦ＃３に対応するＶＰＮ３のＶＭ識別情報としてＶＭ識別子５２Ｄ、ＶＭＩＤ５２Ｅ、管理アドレス５２Ｆ及び転送アドレス５２Ｇを追加する。
【００６８】
図１１Ｃは、送信元ＶＭ数及び追加ＶＭ数抽出時の管理サーバ３の動作の一例を示す説明図である。特定部４３Ａは、図１１Ｃに示すように、構成テーブル５１内の転送形態５１Ｆを参照し、追加ＶＮＦを経由するトラヒックの終端型の送信元ＶＮＦを特定する。尚、送信元ＶＮＦのＶＭはＰｒｏｘｙである。要求部４３は、構成テーブル５１内のＬＢ識別子５１Ｇを参照し、送信元ＶＮＦがＬＢであるか否かを判定する。要求部４３は、送信元ＶＮＦがＰｒｏｘｙであるためＬＢでない場合、送信元ＶＭ数と追加ＶＭ数とを比較し、追加ＶＭがトラヒックを割振り可能であるか否かを判定する。尚、送信元ＶＭ数はＶＮＦ＃１内のＰｒｏｘｙ１及びＰｒｏｘｙ２の２台である。追加ＶＭ数は、ＶＮＦ＃３内のＶＰＮ１〜ＶＰＮ３の３台である。
【００６９】
要求部４３は、構成テーブル５１を参照し、送信元ＶＮＦがＬＢでないため、追加ＶＭにトラヒックが割振り可能であるか否かを判定する。要求部４３は、トラヒック本数が追加ＶＭを含むＶＮＦの追加ＶＭ数以上の場合、トラヒックの転送経路を制御することで、追加ＶＭにトラヒックを割り振ることができる。ここで、送信元ＶＮＦがＬＢでない場合には、トラヒック本数は送信元ＶＮＦの送信元ＶＭ数で算出する。図１１Ｃの例では、送信元ＶＮＦ＃１の送信元ＶＭ数が２台、追加ＶＮＦ＃３の追加ＶＭ数が３台のため、追加ＶＮＦにトラヒックを割り振ることができない。そこで、要求部４３は、送信元ＶＮＦの送信元ＶＭ数が追加ＶＮＦの追加ＶＭ数以上になるように送信元ＶＮＦにＶＭを追加する追加要求を追加部４２に通知する。
【００７０】
図１１Ｄは、送信元ＶＮＦ＃１のＶＭ追加時の管理サーバ３の動作の一例を示す説明図である。追加部４２は、要求部４３からの追加要求に応じて、図１１Ｄに示すように送信元ＶＮＦ＃１に３台目のＰｒｏｘｙ３を追加起動する。制御部４５は、構成テーブル５１内の送信元ＶＮＦ＃１に対応するＶＭ数５１Ｈを“３”に変更する。制御部４５は、ＶＭ管理テーブル５２内の送信元ＶＮＦ＃１に対応するＰｒｏｘｙ３のＶＭ識別情報としてＶＭ識別子５２Ｄ、ＶＭＩＤ５２Ｅ、管理アドレス５２Ｆ及び転送アドレス５２Ｇを追加する。そして、追加部４２は、各ＶＭの転送経路及び割振り設定を再設定部４４に要求する。
【００７１】
図１１Ｅは、経路再設定時の管理サーバ３の動作の一例を示す説明図である。再設定部４４は、図１１Ｅに示すように、全ての追加ＶＭにトラヒックを割り振るべく、割振り設定及び各ＶＭの転送経路を再計算し、割振り設定及び各ＶＭに転送経路を設定する。その結果、サービスチェインを再構築する。管理サーバ３は、ＶＮＦ＃３のＶＰＮの過負荷を検出した場合、ＶＰＮ追加の他、送信元ＶＮＦ＃１のＰｒｏｘｙを連動して追加するため、全てのＶＭにトラヒックを割り振ることが可能になる。そして、管理サーバ３は、全てのＶＭにトラヒックを分散できることで、過負荷のＶＮＦ＃３の処理負担を軽減できる。
【００７２】
管理サーバ３は、過負荷のＶＮＦにＶＭを追加する場合に、追加ＶＮＦを経由するトラヒックの送信元ＶＮＦを特定する。管理サーバ３は、送信元ＶＮＦの送信元ＶＭ数と宛先ＶＮＦの宛先ＶＭ数とを乗算してトラヒック本数を算出する。管理サーバ３は、送信元ＶＮＦが非ＬＢで、トラヒック本数が追加ＶＭ数よりも少ない場合、送信元ＶＮＦ内にＶＭを追加する。その結果、管理サーバ３は、過負荷のＶＮＦにＶＭを追加した場合でも、全てのＶＭにトラヒックを確実に割振り可能になるため、全てのＶＭにトラヒックを分散しながら、過負荷のＶＮＦの処理負担を軽減できる。
【００７３】
図１２は、第２のＶＭ追加処理に関わる管理サーバ３内のプロセッサ３６の処理動作の一例を示すフローチャートである。図１２においてプロセッサ３６内の監視部４１は、サービスチェイン内のＶＮＦ＃ｘの過負荷を検出したか否かを判定する（ステップＳ３１）。監視部４１は、ＶＮＦ＃ｘの過負荷を検出した場合（ステップＳ３１肯定）、ＶＮＦ＃ｘにＶＭを１台追加する追加要求を追加部４２に通知する。追加部４２は、追加要求に応じて、ＶＮＦ＃ｘにＶＭを１台追加する（ステップＳ３２）。プロセッサ３６内の制御部４５は、追加ＶＮＦのＶＭ追加に応じて構成テーブル５１及びＶＭ管理テーブル５２を更新する（ステップＳ３３）。
【００７４】
更に、プロセッサ３６内の要求部４３内の特定部４３Ａは、構成テーブル５１のＶＮＦ識別子５１Ｄを参照し、ｘ−１＝ｉに基づき、ＶＮＦ＃ｘの前段のＶＮＦ＃ｉを特定する（ステップＳ３４）。特定部４３Ａは、構成テーブル５１の転送形態５１Ｆを参照し、ＶＮＦ＃ｉが終端型であるか否かを判定する（ステップＳ３５）。
【００７５】
特定部４３Ａは、ＶＮＦ＃ｉが終端型でない場合（ステップＳ３５否定）、構成テーブル５１のＶＮＦ識別子５１Ｄを参照し、ｉ＝ｉ−１に基づき、１段前のＶＮＦ＃ｉを特定する（ステップＳ３６）。特定部４３Ａは、ｉ＞０が成立するか否かを判定する（ステップＳ３７）。要求部４３は、ｉ＞０が成立する場合（ステップＳ３７肯定）、ステップＳ３６で特定したＶＮＦ＃ｉが終端型であるか否かを判定すべく、ステップＳ３５に移行する。
【００７６】
プロセッサ３６内の再設定部４４は、ｉ＞０が成立しない場合（ステップＳ３７否定）、サービスチェイン内の追加ＶＭを含む全ＶＭにトラヒックが分散するように転送経路及び割振り設定を再設定し（ステップＳ３８）、図１２に示す処理動作を終了する。
【００７７】
要求部４３は、ＶＮＦ＃ｉが終端型である場合（ステップＳ３５肯定）、構成テーブル５１内のＬＢ識別子５１Ｇを参照し、ＶＮＦ＃ｉがＬＢであるか否かを判定する（ステップＳ３９）。要求部４３は、ＶＮＦ＃ｉがＬＢでない場合（ステップＳ３９否定）、構成テーブル５１内のＶＭ数５１Ｈを参照し、追加ＶＮＦ＃ｘの追加ＶＭ数ｎ及び、送信元ＶＮＦ＃ｉの送信元ＶＭ数ｍを抽出する（ステップＳ４０）。要求部４３は、送信元ＶＭ数ｍ＜追加ＶＭ数ｎが成立するか否かを判定する（ステップＳ４１）。
【００７８】
要求部４３は、送信元ＶＭ数ｍ＜追加ＶＭ数ｎが成立する場合（ステップＳ４１肯定）、送信元ＶＮＦ＃ｉにＶＭを追加する追加要求を追加部４２に通知する。追加部４２は、要求部４３からの追加要求に応じて、送信元ＶＮＦ＃ｉにＶＭを１台追加する（ステップＳ４２）。制御部４５は、送信元ＶＮＦのＶＭ追加に応じて構成テーブル５１及びＶＭ管理テーブル５２を更新する（ステップＳ４３）。更に、要求部４３は、追加ＶＭのテーブル更新に応じて追加ＶＭ数及び送信元ＶＭ数を抽出すべく、ステップＳ４０に移行する。
【００７９】
要求部４３は、送信元ＶＭ数ｍ＜追加ＶＭ数ｎが成立しない場合（ステップＳ４１否定）、サービスチェイン内の全ＶＭにトラヒックが分散するように転送経路及び割振り設定を再設定すべく、ステップＳ３８に移行する。更に、監視部４１は、ＶＮＦ＃ｘの過負荷を検出しなかった場合（ステップＳ３１否定）、図１２に示す処理動作を終了する。
【００８０】
特定部４３Ａは、ＶＮＦ＃ｉがＬＢの場合（ステップＳ３９肯定）、構成テーブル５１内のＶＮＦ識別子５１Ｄを参照し、ｈ＝ｘ＋１で追加ＶＮＦの１段後（次段）のＶＮＦ＃ｈを特定する（ステップＳ４４）。要求部４３は、構成テーブル５１内の転送形態５１Ｆを参照し、ＶＮＦ＃ｈが終端型であるか否かを判定する（ステップＳ４５）。特定部４３Ａは、ＶＮＦ＃ｈが終端型でない場合（ステップＳ４５否定）、構成テーブル５１内のＶＮＦ識別子５１Ｄを参照し、ｈ＝ｈ＋１で１段後（次段）のＶＮＦ＃ｈを特定する（ステップＳ４６）。
【００８１】
要求部４３は、ｈ≦経由ＶＮＦ数が成立するか否かを判定する（ステップＳ４７）。要求部４３は、ｈ≦経由ＶＮＦ数が成立する場合（ステップＳ４７肯定）、ＶＮＦ＃ｈが終端型であるか否かを判定すべく、ステップＳ４５に移行する。要求部４３は、ｈ≦経由ＶＮＦ数が成立しない場合（ステップＳ４７否定）、構成テーブル５１内のＶＭ数５１Ｈを参照し、追加ＶＭ数ｎ及び送信元ＶＭ数ｍを抽出する（ステップＳ４８）。
【００８２】
要求部４３は、送信元ＶＭ数ｍ＜追加ＶＭ数ｎが成立するか否かを判定する（ステップＳ４９）。要求部４３は、送信元ＶＭ数ｍ＜追加ＶＭ数ｎが成立する場合（ステップＳ４９肯定）、送信元ＶＮＦ＃ｉにＶＭを追加する追加要求を追加部４２に通知する。追加部４２は、要求部４３からの追加要求に応じて、送信元ＶＮＦ＃ｉにＶＭを１台追加する（ステップＳ５０）。そして、制御部４５は、送信元ＶＮＦのＶＭ追加に応じて構成テーブル５１及びＶＭ管理テーブル５２を更新し（ステップＳ５１）、送信元ＶＭ数及び追加ＶＭ数を抽出すべく、ステップＳ４８に移行する。
【００８３】
更に、要求部４３は、ＶＮＦ＃ｈが終端型の場合（ステップＳ４５肯定）、構成テーブル５１内のＶＭ数５１Ｈを参照し、追加ＶＭ数ｎ、送信元ＶＭ数ｍ及び宛先ＶＭ数ｐを抽出する（ステップＳ５２）。更に、要求部４３は、ｍ×ｐ＜ｎが成立するか否かを判定する（ステップＳ５３）。要求部４３は、ｍ×ｐ＜ｎが成立する場合（ステップＳ５３肯定）、送信元ＶＮＦ＃ｉにＶＭを追加する追加要求を追加部４２に通知する。追加部４２は、要求部４３からの追加要求に応じて、送信元ＶＮＦ＃ｉにＶＭを１台追加する（ステップＳ５４）。そして、制御部４５は、送信元ＶＮＦのＶＭ追加に応じて構成テーブル５１及びＶＭ管理テーブル５２を更新し（ステップＳ５５）、送信元ＶＭ数、追加ＶＭ数及び宛先ＶＭ数を抽出すべく、ステップＳ５２に移行する。要求部４３は、ｍ×ｐ＜ｎが成立しない場合（ステップＳ５３否定）、転送経路及び割振り設定を再設定すべく、ステップＳ３８に移行する。要求部４３は、送信元ＶＭ数ｍ＜追加ＶＭ数ｎが成立しない場合（ステップＳ４９否定）、転送経路及び割振り設定を再設定すべく、ステップＳ３８に移行する。
【００８４】
実施例２の管理サーバ３は、過負荷のＶＮＦにＶＭを追加する場合に、追加ＶＮＦを経由するトラヒックの送信元ＶＮＦを特定する。管理サーバ３は、送信元ＶＮＦの送信元ＶＭ数と宛先ＶＮＦの宛先ＶＭ数とを乗算してトラヒック本数を算出する。管理サーバ３は、送信元ＶＮＦのＶＭがＬＢで、トラヒック本数が追加ＶＭ数よりも少ない場合、送信元ＶＮＦ内にＬＢを追加する。その結果、管理サーバ３は、過負荷のＶＮＦにＶＭを追加した場合でも、全てのＶＭにトラヒックを確実に割振り可能になるため、全てのＶＭにトラヒックを分散しながら、過負荷のＶＮＦの処理負担を軽減できる。
【００８５】
管理サーバ３は、送信元ＶＮＦのＶＭがＬＢで、トラヒック本数が追加ＶＭ数以上の場合、送信元ＶＮＦへの無駄なＬＢの追加を抑制し、転送経路を制御することで、全てのＶＭにトラヒックを確実に割振り可能になる。その結果、全てのＶＭにトラヒックを分散しながら、過負荷のＶＮＦの処理負担を軽減できる。
【００８６】
管理サーバ３は、送信元ＶＮＦからトラヒックの宛先ＶＮＦへのトラヒック本数に基づき、追加のＶＮＦ内の全ＶＭにトラヒックが割振り可能であるか否かを判定する。管理サーバ３は、トラヒックが割振り可能でない場合に送信元ＶＮＦ内にＶＭを追加する。その結果、管理サーバ３は、全てのＶＭにトラヒックが割振り可能になる。
【００８７】
管理サーバ３は、追加のＶＮＦからトラヒックの宛先のＶＮＦを特定する。管理サーバ３は、送信元ＶＭ数と宛先ＶＭ数とを乗算してトラヒック本数を算出する。その結果、管理サーバ３は、サービスチェインのトラヒック本数を簡単に算出できる。
【００８８】
尚、上記実施例２では、送信元ＶＭ数と宛先ＶＭ数とを乗算してトラヒック本数を算出した。しかしながら、これに限定されるものではなく、例えば、送信元ＶＮＦがＬＢの場合、そのＬＢの割振り設定を参照し、各ＬＢと宛先ＶＮＦ内のＶＭとの間の宛先数であるトラヒック本数を抽出しても良い。尚、管理サーバ３は、各ＬＢに設定された割振り設定を管理するものとする。また、管理サーバ３は、割振り設定が管理されていない場合、各ＬＢから割振り設定を取得する機能を使用するものとする。図１０Ａの例では、ＬＢ1がＣａｃｈｅ1及びＣａｃｈｅ2にトラヒックを割り振っており、ＬＢ2が同じくＣａｃｈｅ1及びＣａｃｈｅ2にトラヒックを割り振っているため、トラヒック本数は４本ということになる。
【００８９】
また、実施例２の選択部４３Ｂは、追加ＶＭに連動してＶＭを追加する場合に、送信元ＶＮＦにＶＭを追加するように事前設定した。しかしながら、選択部４３Ｂは、送信元ＶＮＦの代わりに、宛先ＶＮＦにＶＭを追加するように事前設定しても良く、適宜設定変更可能である。例えば、選択部４３Ｂは、送信元ＶＮＦ及び宛先ＶＮＦの内、所定台数、例えば、１台の追加ＶＭで消費される仮想リソース消費量が少ない方のＶＮＦにＶＭを追加しても良い。尚、管理サーバ３は、ＶＮＦ毎の各ＶＭの仮想リソース消費量を管理するものとする。
【００９０】
また、選択部４３Ｂは、送信元ＶＮＦ及び宛先ＶＮＦの内、所定台数、例えば１台の追加ＶＭで増加する料金が少ない方のＶＮＦにＶＭを追加しても良い。尚、管理サーバ３は、ＶＮＦ毎の各ＶＭの使用料金を管理するものとする。
【００９１】
また、選択部４３Ｂは、オートスケールによるサービスチェインの再構築の頻度を抑制すべく、送信元ＶＮＦ及び宛先ＶＮＦの内、全ＶＭの処理能力の余裕の総和が少ない方のＶＮＦにＶＭを追加しても良い。例えば、「１−ＶＭのＣＰＵ使用率」を、そのＶＭの処理能力の余裕の総和と考える。管理サーバ３は、各ＶＭのＣＰＵ使用率を用いて、送信元ＶＮＦの全ＶＭの処理能力の余裕の総和と、宛先ＶＮＦの全ＶＭの処理能力の余裕の総和とを比較し、余裕の総和が少ない方のＶＮＦにＶＭを追加する。
【００９２】
また、選択部４３Ｂは、ＶＮＦを追加する頻度を抑制するため、送信元ＶＮＦ及び宛先ＶＮＦの内、ＶＭ追加に応じてトラヒックの割振り可能なＶＭ数が多くなる方のＶＮＦにＶＭを追加する。すなわち、「（送信元ＶＭ数＋１)×宛先ＶＭ数」と「送信元ＶＭ数×（宛先ＶＭ数＋１)」とを比較し、大きい方のＶＮＦにＶＭを追加する。
【００９３】
上記実施例１及び２では、連動して追加したＶＭに対してトラヒックの割り振りができる場合を例示したが、連動して追加したＶＭに対して常にトラヒックの割り振りができるとは限らない。そこで、連動して追加したＶＭに対してトラヒックが割り振れない場合には、更に連動して他のＶＭを追加することになる。そこで、その実施の形態につき、実施例３として、以下に説明する。図１３Ａは、実施例３のサービスチェインのＶＮＦ＃４の過負荷検出時の管理サーバ３の動作の一例を示す説明図である。尚、実施例１及び２のサービスチェインと同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。
【実施例３】
【００９４】
図１３Ａに示すサービスチェインは、ＶＮＦ＃１〜ＶＮＦ＃５を複数段配置して構築する。ＶＮＦ＃１は、例えば、終端型ＶＮＦのＬＢ１の１台のＶＭを有し、ＶＮＦ＃２は、例えば、終端型ＶＮＦのＰｒｏｘｙＡ１及びＰｒｏｘｙＡ２の２台のＶＭを有する。ＶＮＦ＃３は、例えば、終端型ＶＮＦのＰｒｏｘｙＢ１及びＰｒｏｘｙＢ２の２台のＶＭを有し、ＶＮＦ＃４は、例えば、非終端型ＶＮＦのＶＰＮ１及びＶＰＮ２の２台のＶＭを有する。ＶＮＦ＃５は、例えば、終端型ＶＮＦのＣａｃｈｅ１及びＣａｃｈｅ２の２台のＶＭを有する。
【００９５】
ＬＢ１は、トラヒックを終端するＶＭ（ＰｒｏｘｙＡ１及びＰｒｏｘｙＡ２）を宛先とし、トラヒックを宛先ＶＮＦ＃２内の２台のＰｒｏｘｙＡ１及びＰｒｏｘｙＡ２に出力する。また、ＰｒｏｘｙＡ１は、トラヒックを終端するＶＭ（ＰｒｏｘｙＢ１）を宛先とし、トラヒックを宛先ＶＮＦ＃３内のＰｒｏｘｙＢ１に出力する。ＰｒｏｘｙＡ２は、トラヒックを終端するＶＭ（ＰｒｏｘｙＢ２）を宛先とし、トラヒックを宛先ＶＮＦ＃３内のＰｒｏｘｙＢ２に出力する。ＰｒｏｘｙＢ１は、トラヒックを終端するＶＭ（Ｃａｃｈｅ１）を宛先とし、トラヒックを宛先ＶＮＦ＃５内のＣａｃｈｅ１に出力する。ＰｒｏｘｙＢ２は、トラヒックを終端するＶＭ（Ｃａｃｈｅ２）を宛先とし、トラヒックを宛先ＶＮＦ＃５内のＣａｃｈｅ２に出力する。
【００９６】
監視部４１は、ＶＮＦ＃４内のＶＰＮの過負荷を検出した場合、ＶＮＦ＃４内のＶＭ（ＶＰＮ３）を追加する追加要求を追加部４２に通知する。監視部４１は、追加ＶＮＦ＃４を識別するＶＮＦ識別子を要求部４３に通知する。
【００９７】
図１３Ｂは、ＶＮＦ＃３及びＶＮＦ＃４のＶＭ追加時の管理サーバ３の動作の一例を示す説明図である。追加部４２は、監視部４１からの追加要求に応じて、図１３Ｂに示すように、ＶＮＦ＃４内に３台目のＶＭ（ＶＰＮ３）を追加起動する。制御部４５は、構成テーブル５１内の追加ＶＮＦ＃４に対応するＶＭ数５１Ｈを“３”に変更する。制御部４５は、ＶＭ管理テーブル５２内の追加ＶＮＦ＃４に対応するＶＰＮ３のＶＭ識別情報としてＶＭ識別子５２Ｄ、ＶＭＩＤ５２Ｅ、管理アドレス５２Ｆ及び転送アドレス５２Ｇを追加する。
【００９８】
特定部４３Ａは、構成テーブル５１内の転送形態５１Ｆを参照し、追加ＶＮＦ＃４を経由するトラヒックの終端型の送信元ＶＮＦ＃３を特定する。尚、送信元ＶＮＦ＃３のＶＭは、ＰｒｏｘｙＢ１及びＰｒｏｘｙＢ２である。要求部４３は、構成テーブル５１内のＬＢ識別子５１Ｇを参照し、送信元ＶＮＦ＃３がＬＢであるか否かを判定する。要求部４３は、送信元ＶＮＦ＃３がＰｒｏｘｙＢ１及びＰｒｏｘｙＢ２であるためＬＢでない場合、送信元ＶＮＦ＃３の送信元ＶＭ数が追加ＶＮＦ＃４の追加ＶＭ数以上となるように、送信元ＶＮＦ＃３にＶＭを追加する追加要求を追加部４２に通知する。
【００９９】
追加部４２は、要求部４３からの追加要求に応じて、送信元ＶＮＦ＃３に３台目のＰｒｏｘｙＢ３を追加起動する。制御部４５は、構成テーブル５１内の送信元ＶＮＦ＃３に対応するＶＭ数を“３”に変更する。制御部４５は、ＶＭ管理テーブル５２内の送信元ＶＮＦ＃３に対応するＰｒｏｘｙＢ３のＶＭ識別情報としてＶＭ識別子５２Ｄ、ＶＭＩＤ５２Ｅ、管理アドレス５２Ｆ及び転送アドレス５２Ｇを追加する。
【０１００】
図１３Ｃは、ＶＮＦ＃２のＶＭ追加時の管理サーバ３の動作の一例を示す説明図である。特定部４３Ａは、図１３Ｃに示すように構成テーブル５１内の転送形態５１Ｆを参照し、追加ＶＮＦ＃３を経由するトラヒックの終端型ＶＮＦである送信元ＶＮＦ＃２を特定する。尚、送信元ＶＮＦ＃２のＶＭは、ＰｒｏｘｙＡ１及びＰｒｏｘｙＡ２である。要求部４３は、構成テーブル５１内のＬＢ識別子５１Ｇを参照し、送信元ＶＮＦ＃２がＬＢであるか否かを判定する。要求部４３は、送信元ＶＮＦ＃２がＰｒｏｘｙＡ１及びＰｒｏｘｙＡ２であるためＬＢでない場合、送信元ＶＮＦ＃２の送信元ＶＭ数が追加ＶＮＦ＃３の追加ＶＭ数以上となるように、送信元ＶＮＦ＃２にＶＭを追加する追加要求を追加部４２に通知する。
【０１０１】
追加部４２は、要求部４３からの追加要求に応じて、送信元ＶＮＦ＃２に３台目のＰｒｏｘｙＡ３を追加起動する。制御部４５は、構成テーブル５１内の送信元ＶＮＦ＃２に対応するＶＭ数を“３”に変更する。制御部４５は、ＶＭ管理テーブル５２内の送信元ＶＮＦ＃２に対応するＰｒｏｘｙＡ３をＶＭ識別情報としてＶＭ識別子５２Ｄ、ＶＭＩＤ５２Ｅ、管理アドレス５２Ｆ及び転送アドレス５２Ｇを追加する。
【０１０２】
図１３Ｄは、送信元ＶＮＦ特定時の管理サーバ３の動作の一例を示す説明図である。特定部４３Ａは、図１３Ｄに示す構成テーブル５１の転送形態５１Ｆを参照し、追加ＶＮＦ＃２を経由するトラヒックの終端型ＶＮＦである送信元ＶＮＦ＃１を特定する。尚、送信元ＶＮＦ＃１のＶＭはＬＢ１である。要求部４３は、構成テーブル５１内のＬＢ識別子５１Ｇを参照し、送信元ＶＮＦ＃１がＬＢであるか否かを判定する。要求部４３は、送信元ＶＮＦ＃１がＬＢであるため、ＬＢでのトラヒックの割振り可能であるか否かを判定する。尚、トラヒックの割振りが可能と判断する基準としては、例えば、送信元ＶＮＦの送信元ＶＭ数が追加ＶＮＦの追加ＶＭ数以上の場合、送信元ＶＮＦのＶＭがＬＢの場合又は、送信元ＶＮＦが通信全体の送信元（ユーザ）とする。図１３Ｄでは、要求部４３は、送信元ＶＮＦ＃１がＬＢであるため、ＬＢでのトラヒックの割振りが可能と判断する。つまり、ＶＮＦ＃２内のＰｒｏｘｙＡ１〜ＰｒｏｘｙＡ３に到着するトラヒックの送信元ＶＮＦ＃１はＬＢである。従って、ＬＢ１は、ＰｒｏｘｙＡ１〜ＰｒｏｘｙＡ３にトラヒックを割り振り可能である。
【０１０３】
図１３Ｅは、経路再設定時の管理サーバ３の動作の一例を示す説明図である。管理サーバ３内の再設定部４４は、図１３Ｅに示すように、追加した全てのＶＭにトラヒックを割り振るため、ＬＢの割振り設定及び各ＶＭの転送経路を再計算し、ＬＢに割振り設定及び各ＶＭに転送経路を設定する。そして、サービスチェインを再構築する。管理サーバ３は、ＶＮＦ＃４の過負荷を検出した場合、ＶＮＦ＃４のＶＭ追加の他、ＶＮＦ＃３及びＶＮＦ＃２にＶＭを追加するため、追加ＶＭを含む全てのＶＭにトラヒックを割り振ることが可能になる。そして、管理サーバ３は、全てのＶＭにトラヒックを分散しながら、過負荷のＶＮＦの処理負担を軽減できる。
【０１０４】
図１４Ａ及び図１４Ｂは、第３のＶＭ追加処理に関わる管理サーバ３内のプロセッサ３６の処理動作の一例を示すフローチャートである。図１４Ａにおいてプロセッサ３６内の監視部４１は、サービスチェイン内のＶＮＦ＃ｘの過負荷を検出したか否かを判定する（ステップＳ６１）。監視部４１は、ＶＮＦ＃ｘの過負荷を検出した場合（ステップＳ６１肯定）、ＶＮＦ＃ｘにＶＭを１台追加する追加要求を追加部４２に通知する。追加部４２は、追加要求に応じて、ＶＮＦ＃ｘにＶＭを１台追加する（ステップＳ６２）。プロセッサ３６内の制御部４５は、追加ＶＮＦのＶＭ追加に応じて構成テーブル５１及びＶＭ管理テーブル５２を更新する（ステップＳ６３）。
【０１０５】
更に、要求部４３は、構成テーブル５１のＶＮＦ識別子５１Ｄを参照し、ｘ−１＝ｉに基づき、ＶＮＦ＃ｘの前段のＶＮＦ＃ｉを特定する（ステップＳ６４）。特定部４３Ａは、構成テーブル５１の転送形態５１Ｆを参照し、ＶＮＦ＃ｉが終端型であるか否かを判定する（ステップＳ６５）。
【０１０６】
特定部４３Ａは、ＶＮＦ＃ｉが終端型でない場合（ステップＳ６５否定）、構成テーブル５１のＶＮＦ識別子５１Ｄを参照し、ｉ＝ｉ−１に基づき、１段前のＶＮＦ＃ｉを特定する（ステップＳ６６）。特定部４３Ａは、ｉ＞０が成立するか否かを判定する（ステップＳ６７）。要求部４３は、ｉ＞０が成立する場合（ステップＳ６７肯定）、ステップＳ６６で特定したＶＮＦ＃ｉが終端型であるか否かを判定すべく、ステップＳ６５に移行する。
【０１０７】
プロセッサ３６内の再設定部４４は、ｉ＞０が成立しない場合（ステップＳ６７否定）、サービスチェイン内の追加ＶＭを含む全ＶＭにトラヒックが分散するように転送経路及び割振り設定を再設定し（ステップＳ６８）、図１４Ａに示す処理動作を終了する。
【０１０８】
要求部４３は、ＶＮＦ＃ｉが終端型である場合（ステップＳ６５肯定）、構成テーブル５１内のＬＢ識別子５１Ｇを参照し、ＶＮＦ＃ｉがＬＢであるか否かを判定する（ステップＳ６９）。特定部４３Ａは、ＶＮＦ＃ｉがＬＢの場合（ステップＳ６９肯定）、構成テーブル５１内のＶＮＦ識別子５１Ｄを参照し、ｈ＝ｘ＋１で追加ＶＮＦの１段後（次段）のＶＮＦ＃ｈを特定すると共に、追加フラグをｆａｌｓｅにセットする（ステップＳ７０）。尚、追加フラグは、過負荷ＶＮＦへのＶＭ追加に連動して他のＶＭを追加している状態にあるか否かを示すフラグである。ｆａｌｓｅは、連動して他のＶＭを追加していない状態、ｔｒｕｅは、連動して他のＶＭを追加している状態を示すものである。特定部４３Ａは、構成テーブル５１内の転送形態５１Ｆを参照し、ＶＮＦ＃ｈが終端型であるか否かを判定する（ステップＳ７１）。特定部４３Ａは、ＶＮＦ＃ｈが終端型でない場合（ステップＳ７１否定）、構成テーブル５１内のＶＮＦ識別子５１Ｄを参照し、ｈ＝ｈ＋１で１段後（次段）のＶＮＦ＃ｈを特定する（ステップＳ７２）。
【０１０９】
要求部４３は、ｈ≦経由ＶＮＦ数が成立するか否かを判定する（ステップＳ７３）。要求部４３は、ｈ≦経由ＶＮＦ数が成立する場合（ステップＳ７３肯定）、ＶＮＦ＃ｈが終端型であるか否かを判定すべく、ステップＳ７１に移行する。要求部４３は、ｈ≦経由ＶＮＦ数が成立しない場合（ステップＳ７３否定）、構成テーブル５１内のＶＭ数５１Ｈを参照し、追加ＶＭ数ｎ及び送信元ＶＭ数ｍを抽出する（ステップＳ７４）。
【０１１０】
要求部４３は、送信元ＶＭ数ｍ＜追加ＶＭ数ｎが成立するか否かを判定する（ステップＳ７５）。要求部４３は、送信元ＶＭ数ｍ＜追加ＶＭ数ｎが成立する場合（ステップＳ７５肯定）、送信元ＶＮＦ＃ｉにＶＭを追加する追加要求を追加部４２に通知する。追加部４２は、要求部４３からの追加要求に応じて、送信元ＶＮＦ＃ｉにＶＭを１台追加すると共に、追加フラグをｔｒｕｅにセットする（ステップＳ７６）。そして、制御部４５は、送信元ＶＮＦのＶＭ追加に応じて構成テーブル５１及びＶＭ管理テーブル５２を更新し（ステップＳ７７）、送信元ＶＭ数及び追加ＶＭ数を抽出すべく、ステップＳ７４に移行する。
【０１１１】
更に、要求部４３は、ＶＮＦ＃ｈが終端型の場合（ステップＳ７１肯定）、構成テーブル５１内のＶＭ数５１Ｈを参照し、追加ＶＭ数ｎ、送信元ＶＭ数ｍ及び宛先ＶＭ数ｐを抽出する（ステップＳ７８）。更に、要求部４３は、ｍ×ｐ＜ｎが成立するか否かを判定する（ステップＳ７９）。要求部４３は、ｍ×ｐ＜ｎが成立する場合（ステップＳ７９肯定）、送信元ＶＮＦ＃ｉにＶＭを追加する追加要求を追加部４２に通知する。追加部４２は、要求部４３からの追加要求に応じて、送信元ＶＮＦ＃ｉにＶＭを１台追加すると共に、追加フラグをｔｒｕｅにセットする（ステップＳ８０）。そして、制御部４５は、送信元ＶＮＦのＶＭ追加に応じて構成テーブル５１及びＶＭ管理テーブル５２を更新し（ステップＳ８１）、送信元ＶＭ数、追加ＶＭ数及び宛先ＶＭ数を抽出すべく、ステップＳ７８に移行する。要求部４３は、ｍ×ｐ＜ｎが成立しない場合（ステップＳ７９否定）、追加フラグがｔｒｕｅであるか否かを判定する（ステップＳ８２）。
【０１１２】
要求部４３は、追加フラグがｔｒｕｅの場合（ステップＳ８２肯定）、追加ＶＭを含む全ＶＭにトラヒックを分散するように転送経路及び割振り設定を再設定すべく、ステップＳ６８に移行する。また、要求部４３は、追加フラグがｔｒｕｅでない場合（ステップＳ８２否定）、ｘ＝ｉに設定し（ステップＳ８３）、図１４ＢのＭ１に移行する。また、要求部４３は、ＶＮＦ＃ｉがＬＢでない場合（ステップＳ６９否定）、図１４ＢのＭ１に移行する。監視部４１は、ＶＮＦ＃ｘの過負荷を検出しなかった場合（ステップＳ６１否定）、図１４Ａに示す処理動作を終了する。要求部４３は、送信元ＶＭ数ｍ＜追加ＶＭ数ｎが成立しない場合（ステップＳ７５否定）、追加フラグがｔｒｕｅであるか否かを判定すべく、ステップＳ８２に移行する。
【０１１３】
図１４ＢのＭ１において要求部４３は、構成テーブル５１のＶＮＦ識別子５１Ｄを参照し、ｉ＝ｘ−１に基づき、ＶＮＦ＃ｘの前段のＶＮＦ＃ｉを特定する（ステップＳ８５）。要求部４３は、構成テーブル５１の転送形態５１Ｆを参照し、ＶＮＦ＃ｉが終端型であるか否かを判定する（ステップＳ８６）。
【０１１４】
要求部４３は、ＶＮＦ＃ｉが終端型でない場合（ステップＳ８６否定）、構成テーブル５１のＶＮＦ識別子５１Ｄを参照し、ｉ＝ｉ−１に基づき、１段前のＶＮＦ＃ｉを特定する（ステップＳ８７）。要求部４３は、ｉ＞０であるか否かを判定する（ステップＳ８８）。要求部４３は、ｉ＞０の場合（ステップＳ８８肯定）、ステップＳ８７で特定したＶＮＦ＃ｉが終端型であるか否かを判定すべく、ステップＳ８６に移行する。
【０１１５】
プロセッサ３６内の再設定部４４は、ｉ＞０でない場合（ステップＳ８８否定）、追加ＶＭを含む全ＶＭにトラヒックが分散するように転送経路及び割振り設定を再設定すべく、図１４Ａに示すＭ２に移行する。
【０１１６】
要求部４３は、ＶＮＦ＃ｉが終端型の場合（ステップＳ８６肯定）、構成テーブル５１内のＬＢ識別子５１Ｇを参照し、ＶＮＦ＃ｉがＬＢであるか否かを判定する（ステップＳ８９）。要求部４３は、ＶＮＦ＃ｉがＬＢの場合（ステップＳ８９肯定）、追加ＶＭを含む全ＶＭにトラヒックが分散するように転送経路及び割振り設定を再設定すべく、図１４Ａに示すＭ２に移行する。
【０１１７】
要求部４３は、ＶＮＦ＃ｉがＬＢでない場合（ステップＳ８９否定）、構成テーブル５１内のＶＭ数５１Ｈを参照し、追加ＶＮＦ＃ｘの追加ＶＭ数ｎ及び、送信元ＶＮＦ＃ｉの送信元ＶＭ数ｍを抽出し、追加フラグをｆａｌｓｅにセットする（ステップＳ９０）。要求部４３は、送信元ＶＭ数ｍ＜追加ＶＭ数ｎが成立するか否かを判定する（ステップＳ９１）。
【０１１８】
追加部４２は、送信元ＶＭ数ｍ＜追加ＶＭ数ｎが成立する場合（ステップＳ９１肯定）、要求部４３からの追加要求に応じて、送信元ＶＮＦ＃ｉにＶＭを１台追加すると共に、追加フラグをｔｒｕｅにセットする（ステップＳ９２）。制御部４５は、送信元ＶＮＦのＶＭ追加に応じて構成テーブル５１及びＶＭ管理テーブル５２を更新する（ステップＳ９３）。更に、要求部４３は、追加ＶＭのテーブル更新に応じて追加ＶＭ数及び送信元ＶＭ数を抽出すべく、ステップＳ９０に移行する。
【０１１９】
要求部４３は、送信元ＶＭ数ｍ＜追加ＶＭ数ｎが成立しない場合（ステップＳ９１否定）、追加フラグがｔｒｕｅであるか否かを判定する（ステップＳ９４）。要求部４３は、追加フラグがｔｒｕｅでない場合（ステップＳ９４否定）、追加ＶＭを含む全ＶＭにトラヒックが分散するように転送経路及び割振り設定を再設定すべく、図１４Ａに示すＭ２に移行する。また、要求部４３は、追加フラグがｔｒｕｅの場合（ステップＳ９４肯定）、ｘ＝ｉに設定し（ステップＳ９５）、送信元ＶＮＦを特定すべく、ステップＳ８５に移行する。
【０１２０】
実施例３の管理サーバ３は、過負荷のＶＮＦ＃４にＶＭを追加した場合に、ＶＮＦ＃４を経由するトラヒックの送信元ＶＮＦ＃３を特定し、追加ＶＮＦ＃４の追加ＶＭ数が送信元ＶＮＦ＃３の送信元ＶＭ数以上となるように送信元ＶＮＦ＃３内にＶＭを追加する。管理サーバ３は、ＶＮＦ＃３にＶＭを追加した場合に、ＶＮＦ＃３を経由するトラヒックの送信元ＶＮＦ＃２を特定し、追加ＶＮＦ＃３の追加ＶＭ数が送信元ＶＮＦ＃２の送信元ＶＭ数以上となるように送信元ＶＮＦ＃２内にＶＭを追加する。更に、管理サーバ３は、ＶＮＦ＃２にＶＭを追加した場合に、ＶＮＦ＃２を経由するトラヒックの送信元ＶＮＦ＃１を特定し、送信元ＶＮＦ＃１がＬＢであるため、そのＶＭ追加処理を終了する。つまり、連動して追加したＶＭに対してトラヒックが割り振れない場合でも、繰り返し連動して他のＶＭを追加した。その結果、管理サーバ３は、過負荷のＶＮＦにＶＭを追加した場合でも、全てのＶＭにトラヒックを確実に割振り可能になるため、全てのＶＭにトラヒックを分散しながら、過負荷のＶＮＦの処理負担を軽減できる。
【０１２１】
尚、上記実施例では、過負荷のＶＮＦにＶＭを追加する場合を例示したが、ＶＮＦにＶＭを追加する場合であれば、過負荷に限定されるものではない。また、上記実施例では、管理サーバ３がＶＭの追加に連動して他のＶＮＦにＶＭを１台づつ追加したが、１台に限定されるものではなく、全ＶＭにトラヒックが割り振られるように複数台のＶＭを追加しても良い。
【０１２２】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【０１２３】
更に、各装置で行われる各種処理機能は、ＣＰＵ（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）１２０と、ＲＯＭ１３０と、ＲＡＭ１４０と、ＣＰＵ１５０とを有する。通信部１１０、ＨＤＤ１２０、ＲＯＭ１３０、ＲＡＭ１４０及びＣＰＵ１５０は、バス１６０を介して接続される。通信部１１０は、図示せぬ他の情報処理装置と接続し、他の情報処理装置と通信する。そして、情報処理装置１００は、他の情報処理装置と通信し、他の情報処理装置内の仮想領域上に複数段配置された所定機能を実行する仮想マシン群を制御する。
【０１２７】
そして、ＲＯＭ１３０には、上記実施例と同様の機能を発揮する制御プログラムが予め記憶されている。ＲＯＭ１３０は、制御プログラムとして特定プログラム１３０Ａ及び追加プログラム１３０Ｂが記憶されている。尚、ＲＯＭ１３０ではなく、図示せぬドライブでコンピュータ読取可能な記録媒体に制御プログラムが記録されていても良い。また、記録媒体としては、例えば、ＣＤ−ＲＯＭ、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ等でも良い。
【０１２８】
そして、ＣＰＵ１５０は、特定プログラム１３０ＡをＲＯＭ１３０から読み出し、ＲＡＭ１４０上で特定プロセス１４０Ａとして機能させる。更に、ＣＰＵ１５０は、追加プログラム１３０ＢをＲＯＭ１３０から読み出し、ＲＡＭ１４０上で追加プロセス１４０Ｂとして機能させる。
【０１２９】
ＣＰＵ１５０は、第１機能を実行する仮想マシン群に仮想マシンを追加する場合に、第１機能を実行する仮想マシン群を経由するトラヒックの送信元アドレスにある送信元の第２機能を実行する仮想マシン群を特定する。ＣＰＵ１５０は、特定された第２機能を実行する仮想マシン群内の仮想マシン数に基づいて、第２機能を実行する仮想マシン群内に仮想マシンを追加する。その結果、仮想マシンを追加した場合でも、全ての仮想マシンにトラヒックを分散できる。
【符号の説明】
【０１３０】
３  管理サーバ
３６  プロセッサ
４３  要求部
４３Ａ  特定部
４３Ｂ  選択部
【図１】
2018097684.tif 000003
【図２】
2018097684.tif 000004
【図３Ａ】
2018097684.tif 000005
【図３Ｂ】
2018097684.tif 000006
【図４Ａ】
2018097684.tif 000007
【図４Ｂ】
2018097684.tif 000008
【図５】
2018097684.tif 000009
【図６】
2018097684.tif 000010
【図７】
2018097684.tif 000011
【図８Ａ】
2018097684.tif 000012
【図８Ｂ】
2018097684.tif 000013
【図８Ｃ】
2018097684.tif 000014
【図８Ｄ】
2018097684.tif 000015
【図８Ｅ】
2018097684.tif 000016
【図８Ｆ】
2018097684.tif 000017
【図９】
2018097684.tif 000018
【図１０Ａ】
2018097684.tif 000019
【図１０Ｂ】
2018097684.tif 000020
【図１０Ｃ】
2018097684.tif 000021
【図１０Ｄ】
2018097684.tif 000022
【図１０Ｅ】
2018097684.tif 000023
【図１１Ａ】
2018097684.tif 000024
【図１１Ｂ】
2018097684.tif 000025
【図１１Ｃ】
2018097684.tif 000026
【図１１Ｄ】
2018097684.tif 000027
【図１１Ｅ】
2018097684.tif 000028
【図１２】
2018097684.tif 000029
【図１３Ａ】
2018097684.tif 000030
【図１３Ｂ】
2018097684.tif 000031
【図１３Ｃ】
2018097684.tif 000032
【図１３Ｄ】
2018097684.tif 000033
【図１３Ｅ】
2018097684.tif 000034
【図１４Ａ】
2018097684.tif 000035
【図１４Ｂ】
2018097684.tif 000036
【図１５】
2018097684.tif 000037
【図１６】
2018097684.tif 000038