(57)【要約】【課題】大容量のデータを転送可能な経路の設定方法を提供する。【解決手段】管理装置は、複数の仮想マシンを含むネットワークを管理し、特定部、決定部、送信部を備える。特定部は、仮想マシンが行う処理の種類と処理が行われる順序により、複数の仮想マシンの中から負荷分散処理を行う複数の仮想マシンを特定する。決定部は、特定した複数の仮想マシンに転送される転送パケットが特定した複数の仮想マシンで終端される場合、転送パケットの宛先を、特定した複数の仮想マシンにおける処理負荷に基づいて、前記特定した複数の仮想マシンのいずれかに決定する。送信部は、転送パケットを生成する仮想マシンに、決定された転送パケットの宛先の情報を含む制御パケットを送信する。【選択図】図３
2018023039.tif 000002
【特許請求の範囲】
【請求項１】
複数の仮想マシンを含むネットワークを管理する管理装置であって、
当該仮想マシンが行う処理の種類と前記処理が行われる順序により、前記複数の仮想マシンの中から負荷分散処理を行う複数の仮想マシンを特定する特定部と、
前記特定した複数の仮想マシンに転送される転送パケットが前記特定した複数の仮想マシンで終端される場合、前記転送パケットの宛先を、前記特定した複数の仮想マシンにおける処理負荷に基づいて、前記特定した複数の仮想マシンのいずれかに決定する決定部と、
前記転送パケットを生成する仮想マシンに、前記決定された前記転送パケットの宛先の情報を含む制御パケットを送信する送信部
を含むことを特徴とする管理装置。
【請求項２】
前記決定部は、前記転送パケットが前記特定した複数の仮想マシンで終端されずに転送される場合、前記特定した複数の仮想マシン間での処理負荷の差を小さくするように、前記特定した複数の仮想マシンへの転送処理が可能な仮想マシンでの前記転送パケットの転送先を決定し、
前記送信部は、前記特定した複数の仮想マシンへの転送処理が可能な仮想マシンに、当該仮想マシンに対して決定された転送先の情報を含む他の制御パケットを送信する
ことを特徴とする請求項１に記載の管理装置。
【請求項３】
前記決定部は、
前記転送パケットが前記特定した複数の仮想マシンで終端されずに転送される場合、前記転送パケットを終端する１つ以上の終端装置を特定し、
前記転送パケットを生成する仮想マシンに、当該仮想マシンから送信するパケットの宛先を前記１つ以上の終端装置から選択した装置に設定し、
前記特定した複数の仮想マシンへの転送処理が可能な仮想マシンでの前記転送パケットの転送先を、前記転送パケットに設定された宛先アドレスごとに、前記特定した複数の仮想マシンから選択する
ことを特徴とする請求項２に記載の管理装置。
【請求項４】
前記決定部は、前記転送パケットが前記特定した複数の仮想マシンで終端され、かつ、前記転送パケットを生成する仮想マシンから前記特定した複数の仮想マシンに至る経路に、前記転送パケットを前記特定した複数の仮想マシンに中継する１つ以上の中継装置が含まれている場合、前記１つ以上の中継装置の各々での前記転送パケットの転送先を、前記転送パケットに設定された宛先アドレスごとに決定する
ことを特徴とする請求項１〜３のいずれか１項に記載の管理装置。
【請求項５】
複数の仮想マシンを含むネットワークを管理する管理装置が、
当該仮想マシンが行う処理の種類と前記処理が行われる順序により、前記複数の仮想マシンの中から負荷分散処理を行う複数の仮想マシンを特定し、
前記特定した複数の仮想マシンに転送される転送パケットが前記特定した複数の仮想マシンで終端される場合、前記転送パケットの宛先を、前記特定した複数の仮想マシンにおける処理負荷に基づいて、前記特定した複数の仮想マシンのいずれかに決定し、
前記転送パケットを生成する仮想マシンに、前記決定された前記転送パケットの宛先の情報を含む制御パケットを送信する
処理を行うことを特徴とする管理方法。
【請求項６】
複数の仮想マシンを含むネットワークを管理する管理装置に、
当該仮想マシンが行う処理の種類と前記処理が行われる順序により、前記複数の仮想マシンの中から負荷分散処理を行う複数の仮想マシンを特定し、
前記特定した複数の仮想マシンに転送される転送パケットが前記特定した複数の仮想マシンで終端される場合、前記転送パケットの宛先を、前記特定した複数の仮想マシンにおける処理負荷に基づいて、前記特定した複数の仮想マシンのいずれかに決定し、
前記転送パケットを生成する仮想マシンに、前記決定された前記転送パケットの宛先の情報を含む制御パケットを送信する
処理を行わせることを特徴とする管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークの管理装置、管理方法、および、管理プログラムに関する。
【背景技術】
【０００２】
ネットワーク機能仮想化（Network Functions Virtualization、ＮＦＶ）と呼ばれる技術が注目されている。ＮＦＶでは、ルータ、ゲートウェイ、ロードバランサなどのネットワーク機器によって実現されていた機能をアプリケーションプログラムとして実装し、サーバ上の仮想マシン（Virtual Machine、ＶＭ）として動作させる。また、ネットワークを介した通信で使用される機能を提供する仮想マシンのことがＶＮＦ（Virtual Network Function）と呼ばれることもある。ネットワーク機能仮想化が適用されたシステムでは、サーバ上の仮想マシン内で動作している複数の機能を選択的に利用するデータ転送経路（サービスチェイン）が生成される。
【０００３】
図１は、サービスチェインによる通信が行われるシステムの例を説明する図である。サービスチェインは、管理サーバ１０によって生成される。まず、企業２などのユーザは、サービスチェインに含めるネットワーク機能の種類や通信先などの情報を、サービス要求として管理サーバ１０に通知する（矢印Ａ１）。管理サーバ１０は、通知されたサービス要求を解析することにより、データセンタ４中のサーバ７（７ａ〜７ｆ）を用いて、ネットワーク機能を実現する仮想マシンの配備や仮想マシンでの転送経路の設定などを行う。なお、図１の例では、データセンタ４と管理サーバ１０は広域ネットワーク３中に含まれている。
【０００４】
企業２中の通信装置は、生成されたサービスチェインを用いて通信する。例えば、企業２中の通信装置は、ファイアウォール（ＦＷ）として動作する仮想マシンＶＭ１と、Ｗｅｂプロキシとして動作する仮想マシンＶＭ２を含むサービスチェインを介して、インターネット５にアクセスする。さらに、企業２中の通信装置は、ＶＰＮ（Virtual Private Network）ルータとして動作する仮想マシンＶＭ３を含むサービスチェインを介して、拠点６中の通信装置と通信できる。図１に示すサービスチェインやデータセンタ４は一例であり、サービスチェイン中の仮想マシンの数やデータセンタ４に設置されているサーバ７の数などは、実装に応じて任意に変更され得る。
【０００５】
例えば、データ転送量が大きい通信では、図１に示すように、ファイアウォールなどのネットワーク機能を１つの仮想マシンで処理するとユーザが要求する処理速度が得られない場合がある。このような場合には、複数の仮想マシンを用いて１つのネットワーク機能を実現すると共に、各ネットワーク機能を実現する仮想マシンの間での負荷分散を行うことができる。
【０００６】
図２は、仮想マシンの間での負荷分散が行われるサービスチェインの例を説明する図である。図２に示すサービスチェインでは、Ｗｅｂプロキシが２台の仮想マシンで実現され、ファイアウォールは４台の仮想マシンで実現される。さらに、ＶＰＮルータの機能は３台の仮想マシンで実現されている。１つのネットワーク機能を実現する複数の仮想マシンの各々は、ロードバランサ（Load balancer、ＬＢ）として動作する仮想マシンＶＭ１１〜ＶＭ１３に接続されており、ロードバランサとして動作する仮想マシンによって負荷分散される。例えば、仮想マシンＶＭ１１は、Ｗｅｂプロキシとして動作する２台の仮想マシンにパケットを振り分ける。同様に、仮想マシンＶＭ１２はファイアウォールとして動作する４台の仮想マシンにパケットを振り分け、仮想マシンＶＭ１３は、ＶＰＮルータとして動作する３台の仮想マシンにパケットを振り分ける。
【０００７】
関連する技術として、複数の分散処理部を有し、分散処理モードと集中処理モードを切り替えるネットワーク中継装置が提案されている。分散処理モードでは、複数の分散処理部のそれぞれが受信パケットの宛先検索を実行してパケットを外部装置に転送し、集中処理モードでは、各分散処理部は受信パケットの宛先検索を実行せずに集中処理部にパケットを転送する（例えば、特許文献１）。予め定められた仮想ＩＰアドレス宛の転送対象パケットを受信すると、仮想ＩＰアドレスに基づいて特定した複数の負荷分散対象サーバのいずれかに割り当てられているＩＰアドレスで、宛先を書き換えるシステムも考案されている（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−１０９４２６号公報
【特許文献２】特開２００３−１７４４７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
一部のネットワーク機能での処理を複数の仮想マシンで実現しても、ロードバランサとして動作する１台の仮想マシンにサービスチェイン中の全てのパケットが集中する場合には、ロードバランサでの処理量により転送可能なデータ量の上限が決まってしまう。そこで、ロードバランサとして動作するネットワーク機能に複数の仮想マシンを含めることが考えられる。しかし、サービスチェイン中のネットワーク機能の順序や組み合わせによっては、ロードバランサとして動作する複数の仮想マシン間で負荷が分散されないことがある。すなわち、サービスチェイン中のネットワーク機能の順序や組み合わせによらず、汎用的に大容量のデータを転送可能なサービスチェインの設定方法は知られていない。
【００１０】
本発明は、１つの側面では、大容量のデータを転送可能な経路の設定方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
ある１つの態様にかかる管理装置は、複数の仮想マシンを含むネットワークを管理し、特定部、決定部、送信部を備える。特定部は、当該仮想マシンが行う処理の種類と前記処理が行われる順序により、前記複数の仮想マシンの中から負荷分散処理を行う複数の仮想マシンを特定する。決定部は、前記特定した複数の仮想マシンに転送される転送パケットが前記特定した複数の仮想マシンで終端される場合、前記転送パケットの宛先を、前記特定した複数の仮想マシンにおける処理負荷に基づいて、前記特定した複数の仮想マシンのいずれかに決定する。送信部は、前記転送パケットを生成する仮想マシンに、前記決定された前記転送パケットの宛先の情報を含む制御パケットを送信する。
【発明の効果】
【００１２】
大容量のデータを転送可能な経路が設定できる。
【図面の簡単な説明】
【００１３】
【図１】サービスチェインによる通信が行われるシステムの例を説明する図である。
【図２】サービスチェインの例を説明する図である。
【図３】実施形態にかかる制御方法の例を説明する図である。
【図４】管理装置の構成の例を説明する図である。
【図５】管理装置のハードウェア構成の例を説明する図である。
【図６】ロードバランサの種類を説明する図である。
【図７】サービスチェインの例を説明する図である。
【図８】処理対象のＶＮＦの検索方法の例を説明するフローチャートである。
【図９】第１のパターンが適用されるサービスチェインの例を説明する図である。
【図１０】サービスチェイン要求とネットワーク管理テーブルの例である。
【図１１】転送先の割り当て方法の例を説明する図である。
【図１２】経路情報の設定例を説明する図である。
【図１３】負荷分散を行うための制御方法の例を説明するフローチャートである。
【図１４】パケットの転送先の決定方法の例を説明するフローチャートである。
【図１５】第２のパターンが適用されるサービスチェインの例を説明する図である。
【図１６】サービスチェイン要求とネットワーク管理テーブルの例である。
【図１７】転送先の割り当て方法の例を説明する図である。
【図１８】経路情報の設定例を説明する図である。
【図１９】終端型のロードバランサへの分散処理でのアドレスの設定例を説明した図である。
【図２０】第３のパターンが適用されるサービスチェインの例を説明する図である。
【図２１】サービスチェイン要求とネットワーク管理テーブルの例である。
【図２２】パケットの宛先の割り当て方法の例を説明する図である。
【図２３】パケットの転送先の割り当て方法の例を説明する図である。
【図２４】経路情報の設定例を説明する図である。
【図２５】負荷分散を行うための制御方法の例を説明するフローチャートである。
【図２６】第４のパターンが適用されるサービスチェインの例を説明する図である。
【図２７】サービスチェイン要求の例である。
【図２８】ネットワーク管理テーブルの例である。
【図２９】パケットの宛先の割り当て方法の例を説明する図である。
【図３０】転送先の割り当て方法の例を説明する図である。
【図３１】転送先の割り当て方法の例を説明する図である。
【図３２】経路情報の設定例を説明する図である。
【図３３】中継型のロードバランサへの分散処理でのアドレスの設定例を説明した図である。
【図３４】実施形態にかかる方法による負荷分散と他の方法との比較例を説明する図である。
【発明を実施するための形態】
【００１４】
図３は、実施形態にかかる制御方法の例を説明する図である。実施形態にかかる方法では、サービスチェインを管理する管理装置は、ロードバランサとして動作する複数の仮想マシン間での負荷分散が可能になるようにサービスチェインを生成する。ステップＳ１において、管理装置は、複数のロードバランサを含むＶＮＦ（対象ＶＮＦ）を特定する。管理装置は、対象ＶＮＦ中のロードバランサが終端型であるかを判定する（ステップＳ２）。ここで、終端型は受信したパケットを終端する装置である。対象ＶＮＦが終端型の場合、管理装置は、対象ＶＮＦで終端されるパケットを生成する仮想マシンの各々でのパケットの宛先を、対象ＶＮＦに含まれているロードバランサ間での処理量の差を小さくするように決定する（ステップＳ２でＹｅｓ、ステップＳ３）。一方、対象ＶＮＦが終端型ではない場合、対象ＶＮＦ中のロードバランサは、受信したパケットを終端せずに宛先に向けて中継する（ステップＳ２でＮｏ）。そこで、管理装置は、対象ＶＮＦにパケットを転送する仮想マシンでのパケットの転送先を設定することにより、対象ＶＮＦ中の装置の負荷を分散させる（ステップＳ４）。
【００１５】
例えば、ネットワークＮ１に示すサービスチェインには、仮想マシンＶＭ２１〜ＶＭ３５が含まれている。仮想マシンＶＭ２３とＶＭ２４は、Ｗｅｂプロキシとして動作する１つのＶＮＦに含まれており、仮想マシンＶＭ２７〜ＶＭ３０は、ファイアウォール（ＦＷ）として動作する１つのＶＮＦに含まれている。さらに、仮想マシンＶＭ３３〜ＶＭ３５は、ＶＰＮルータとして動作する１つのＶＮＦに含まれている。
【００１６】
仮想マシンＶＭ２１、ＶＭ２２、ＶＭ２５、ＶＭ２６、ＶＭ３１、ＶＭ３２は、いずれもロードバランサ（ＬＢ）として動作する。ネットワークＮ１の例では、仮想マシンＶＭ２１とＶＭ２２は、送信元とＷｅｂプロキシとして動作するＶＮＦの間に配置されたＶＮＦに含まれている。仮想マシンＶＭ２５とＶＭ２６は、Ｗｅｂプロキシとして動作するＶＮＦとファイアウォールとして動作するＶＮＦの間に配置されたＶＮＦに属する。仮想マシンＶＭ３１とＶＭ３２は、ファイアウォールとして動作するＶＮＦとＶＰＮルータとして動作するＶＮＦの間に配置されたＶＮＦに属する。
【００１７】
管理装置は、仮想マシンＶＭ２５とＶＭ２６を含むＶＮＦを対象ＶＮＦとした場合、仮想マシンＶＭ２５とＶＭ２６が終端型のロードバランサかを判定する。ここでは、仮想マシンＶＭ２５とＶＭ２６が終端型のロードバランサであり、仮想マシンＶＭ２５やＶＭ２６で終端されるパケットは、Ｗｅｂプロキシとして動作するＶＭ２３とＶＭ２４で生成されているとする。すると、管理装置は、仮想マシンＶＭ２５にかかる処理負荷と、仮想マシンＶＭ２６にかかる処理負荷の差が小さくなるように、ＷｅｂプロキシＶＭ２３が生成するパケットの宛先と、ＷｅｂプロキシＶＭ２４が生成するパケットの宛先を決定する。例えば、管理装置は、ＷｅｂプロキシＶＭ２３が生成するパケットの宛先をロードバランサＶＭ２５に設定するとともに、ＷｅｂプロキシＶＭ２４が生成するパケットの宛先をロードバランサＶＭ２６に設定する。
【００１８】
一方、仮想マシンＶＭ３１とＶＭ３２を含むＶＮＦを対象ＶＮＦとした場合、管理装置は、仮想マシンＶＭ３１とＶＭ３２が終端型のロードバランサかを判定する。ここでは、仮想マシンＶＭ３１とＶＭ３２が中継型のロードバランサであるとする。対象ＶＮＦにパケットを転送する仮想マシンは、ファイアウォールとして動作するＶＭ２７〜ＶＭ３０である。すると、管理装置は、仮想マシンＶＭ３１にかかる処理負荷と、仮想マシンＶＭ３２にかかる処理負荷の差が小さくなるように、ファイアウォールＶＭ２７〜ＶＭ３０でのパケットの転送先を決定し、転送先の情報をファイアウォールＶＭ２７〜ＶＭ３０に設定する。例えば、管理装置は、ファイアウォールＶＭ２７〜ＶＭ２８でのパケットの転送先を、ロードバランサＶＭ３１に設定するとともに、ファイアウォールＶＭ２９〜ＶＭ３０でのパケットの転送先を、ロードバランサＶＭ３２に設定する。なお、ここで、ロードバランサＶＭ３１は、ＶＰＮルータＶＭ３３とＶＭ３４にパケットを転送でき、ロードバランサＶＭ３２は、ＶＰＮルータＶＭ３４とＶＭ３５にパケットを転送できるものとする。管理装置は、ロードバランサＶＭ３１とＶＭ３２からのパケットの転送先が終端型のＶＮＦである場合には、各ロードバランサが受信するパケットの宛先が、そのロードバランサが転送可能な装置に割り当てられたアドレスとなるように設定する。
【００１９】
このように、管理装置は、１つのＶＮＦに含まれる複数のロードバランサがパケットを終端するかに応じて、ロードバランサとして動作するＶＮＦよりも送信元寄りの仮想マシンでの設定を決定することにより、ＶＮＦ中のロードバランサへの負荷を分散する。このため、実施形態にかかる方法では、大容量のデータの転送に使用可能なサービスチェインが自動生成できる。
【００２０】
＜装置構成＞
図４は、管理装置２０の構成の例を説明する図である。管理装置２０は、通信部２１、制御部３０、記憶部４０を備える。通信部２１は、送信部２２と受信部２３を有する。制御部３０は、取得部３１、ＶＭ配備部３２、サービスチェイン生成部３３、特定部３４、決定部３５、経路設定部３６を備える。記憶部４０は、サービスチェイン要求情報４１とネットワーク管理テーブル４２を有する。
【００２１】
送信部２２は、ＶＮＦ中の仮想マシンやサービスチェインの生成の要求元などの他の装置にパケットを送信する。受信部２３は、ＶＮＦ中の仮想マシン、サービスチェインの生成の要求元の装置などの他の装置から、パケットを受信する。なお、仮想マシンとの間のパケットの送受信の際には、仮想マシンを実現しているサーバ７と管理装置２０の間でパケットが送受信される。
【００２２】
取得部３１は、受信部２３が受信したパケットからサービスチェインの情報を取得し、適宜、サービスチェイン要求情報４１として記憶部４０に格納する。ＶＭ配備部３２は、生成が要求されたサービスチェインで使用する仮想マシンの起動を行う。サービスチェイン生成部３３は、ＶＭ配備部３２によって起動された仮想マシンに対して、ＶＮＦを実現するための設定処理を行う。さらに、サービスチェイン生成部３３は、各ＶＮＦの情報や各ＶＮＦに含まれる仮想マシンのアドレスなどの情報を、ネットワーク管理テーブル４２に記録する。特定部３４は、生成されるサービスチェインに含まれるＶＮＦのうち、複数のロードバランサを含むＶＮＦを特定する。特定部３４は、特定したＶＮＦ中のロードバランサがパケットを終端するかも判定する。決定部３５は、特定部３４で特定されたＶＮＦと判定結果とを用いて、処理対象のＶＮＦよりもパケットの送信側のＶＮＦに含まれる仮想マシンでのパケットの転送先や宛先などの設定を決定する。経路設定部３６は、サービスチェイン生成部３３や決定部３５での処理結果を用いて、サービスチェインに含まれる各仮想マシンでの転送経路を設定する。
【００２３】
図５は、管理装置２０のハードウェア構成の例を説明する図である。管理装置２０は、プロセッサ１０１、メモリ１０２、バス１０５、記憶装置１０６、ネットワークインタフェース１０７を備える。さらにオプションとして、管理装置２０は、入力装置１０３、出力装置１０４を備えても良い。管理装置２０は、例えば、コンピュータなどで実現されることがある。
【００２４】
プロセッサ１０１は、Central Processing Unit（ＣＰＵ）や他の任意の処理回路とすることができる。プロセッサ１０１は、メモリ１０２をワーキングメモリとして使用して、プログラムを実行することにより、様々な処理を実行する。メモリ１０２には、ＲＡＭ（Random Access Memory）が含まれ、さらに、ＲＯＭ（Read Only Memory）等の不揮発性のメモリも含まれる。メモリ１０２や記憶装置１０６は、プログラムやプロセッサ１０１での処理に使用されるデータの格納に使用される。ネットワークインタフェース１０７は、ネットワークを介した他の装置との通信に使用される。ネットワークインタフェース１０７は、ＮＩＣ（Network Interface Card）、無線ＬＡＮ（Local Area Network）カード等であっても良い。記憶装置１０６として、ＥＰＲＯＭ（Erasable Programmable ROM）、ハードディスクドライブなどが使用されうる。バス１０５は、プロセッサ１０１、メモリ１０２、入力装置１０３、出力装置１０４、記憶装置１０６、ネットワークインタフェース１０７を、互いにデータの入出力が可能になるように接続する。入力装置１０３は、例えば、ボタン、キーボードやマウスとして実現され、出力装置１０４は、ディスプレイなどとして実現される。
【００２５】
さらに、オプションとして、管理装置２０は、可搬記憶媒体駆動装置を有していても良い。可搬記憶媒体駆動装置は、メモリ１０２や記憶装置１０６中のデータを可搬記憶媒体に出力することができ、また、可搬記憶媒体からプログラムやデータ等を読み出すことができる。ここで、可搬記憶媒体は、持ち運びが可能な任意の記憶媒体である。
【００２６】
管理装置２０において、プロセッサ１０１は、制御部３０として動作する。メモリ１０２と記憶装置１０６は、記憶部４０として動作する。ネットワークインタフェース１０７は、通信部２１を実現する。
【００２７】
図６は、ロードバランサの種類を説明する図である。ケースＣ１は、パケットを終端するロードバランサの処理の例を示している。終端型のロードバランサは、自装置を宛先としたパケットを受信する。さらに、ロードバランサは、サービスチェインでの通信に使用するために設定されている宛先情報に記されたアドレスを宛先とするパケットを生成し、宛先に向けて送信する。宛先情報として、ロードバランサがパケットの振り分け先として使用できる複数のアドレスを保持していてもよい。
【００２８】
例えば、ロードバランサにＩＰＡというＩＰアドレスが割り当てられている場合、ロードバランサは、ＩＰＡ宛てのパケットＰ１を受信する。ロードバランサは、パケットＰ１を終端し、適宜、ＯＳ（Operating System）上で動作するアプリケーションを用いて、送信パケットを生成する。ここで、宛先情報のうち、送信パケットの宛先としてＩＰＤＳＴを利用することを表す情報が選択されたとする。すると、ロードバランサは、ＩＰＤＳＴ宛てのパケットＰ２を生成して、宛先に向けて送信する。
【００２９】
ケースＣ２は、パケットを中継するロードバランサの処理の例を示している。中継型のロードバランサは、他の装置を宛先としたパケットを受信し、受信パケットを、経路情報に従って転送する。経路情報には、宛先アドレス情報と、その宛先にパケットを転送するための転送先の装置に割り当てられたアドレス情報が対応付けられている。ロードバランサは、受信パケットの宛先アドレスをキーとして経路情報中の宛先アドレスを検索し、ヒットしたエントリに含まれている中継アドレスが割り当てられた装置を転送先に設定する。なお、ロードバランサが使用する経路情報では、１つの宛先アドレスに１つ以上の中継アドレスが対応付けられてもよい。この場合、ロードバランサは、転送先の複数の候補から、複数の転送先の負荷の差が小さくなるように、転送先を選択する。なお、ロードバランサでの転送処理は、ＯＳによって行われてもよい。
【００３０】
例えば、ロードバランサは、ＩＰＤＳＴ宛てのパケットＰ３を受信したとする。ここで、経路情報のうち、送信パケットの宛先がＩＰＤＳＴの場合の転送先をＩＰＹが割り当てられた装置とすることを表す情報が使用する情報として選択されたとする。すると、ロードバランサは、ＩＰＤＳＴ宛てのパケットＰ３を、ＩＰＹが割り当てられた装置に接続されたポートから送信する。
【００３１】
＜実施形態＞
以下、実施形態にかかる処理を、処理対象の検索と負荷分散のための制御に分けて説明する。
【００３２】
（Ａ）処理対象の検索方法
図７は、サービスチェインの例を説明する図である。例えば、ユーザの使用する端末等から、サービスチェイン要求が管理装置２０に送信されたとする（矢印Ａ１１）。すると、管理装置２０は、データセンタ４中に含まれているサーバ７ａ〜７ｇから選択した装置を用いて、適宜、複数の仮想マシンを生成し、サービスチェイン要求で要求されたＶＮＦ１２（１２ａ〜１２ｆ）を生成する。矢印Ａ１１で要求されたサービスチェインは、送信元装置とゲートウェイ１１ａを介して接続されている。ＶＮＦ１２ａは終端型のＷｅｂ  Ｐｒｏｘｙとして動作し、ＶＮＦ１２ｂは中継型のファイアウォールとして動作するとする。ＶＮＦ１２ｃは、中継型のロードバランサの一種であるゲートウェイ型のロードバランサ（ＧＷＬＢ）として動作し、ＶＮＦ１２ｄは中継型のファイアウォールとして動作するとする。ＶＮＦ１２ｅは、終端型ロードバランサの一種であるレイヤ４（Ｌ４）の処理を行うタイプのロードバランサ（Ｌ４ＬＢ）として動作し、ＶＮＦ１２ｆは終端型のＷｅｂ  Ｐｒｏｘｙとして動作するものとする。なお、ＶＮＦ１２ｆと宛先装置の間の通信は、ゲートウェイ１１ｂで中継される。また、各ＶＮＦ１２には、１つ以上の仮想マシンが含まれている。
【００３３】
図８は、管理装置２０が処理対象のＶＮＦ１２を検索する方法の例を説明するフローチャートである。図８の例では、処理対象のＶＮＦ１２は、複数のロードバランサを有するＶＮＦ１２である。図８の例では、変数ｎと定数Ｎが使用される。定数Ｎはサービスチェイン中のＶＮＦの総数であり、変数ｎは、特定部３４が判定処理を行ったＶＮＦ１２の数を計数する際に使用する値である。
【００３４】
取得部３１は、受信部２３が受信したパケット等から、サービスチェインの生成要求を読み込む（ステップＳ１１）。取得部３１は、読み込んだ情報をサービスチェイン要求情報４１に格納する。特定部３４は、サービスチェイン要求情報４１から、サービスチェイン中に含まれるＶＮＦ１２の数（Ｎ）を取得する（ステップＳ１２）。特定部３４は、変数ｎを１に設定する（ステップＳ１３）。特定部３４は、ｎ番目のＶＮＦ１２がロードバランサとして動作するＶＮＦ１２であるかを判定する（ステップＳ１４）。ｎ番目のＶＮＦ１２がロードバランサとして動作するＶＮＦ１２である場合、特定部３４は、ｎ番目のＶＮＦ１２に含まれている仮想マシンの数が複数であるかを判定する（ステップＳ１４でＹｅｓ、ステップＳ１５）。ｎ番目のＶＮＦ１２に含まれている仮想マシンの数が複数である場合、決定部３５や経路設定部３６によって、ｎ番目のＶＮＦ１２中のロードバランサ間での負荷分散のための設定処理が行われる（ステップＳ１５でＹｅｓ、ステップＳ１６）。ステップＳ１６で行われる処理の詳細については、負荷分散のための制御例の説明で詳しく述べる。
【００３５】
ステップＳ１６の処理が終わると、特定部３４は、変数ｎを１つインクリメントし、変数ｎが定数Ｎを超えているかを判定する（ステップＳ１７、ステップＳ１８）。変数ｎが定数Ｎを超えている場合、特定部３４は処理を終了する（ステップＳ１８でＹｅｓ）。一方、変数ｎが定数Ｎを超えていない場合、ステップＳ１４以降の処理を行う（ステップＳ１８でＮｏ）。
【００３６】
なお、ｎ番目のＶＮＦ１２がロードバランサではない場合（ステップＳ１４でＮｏ）もステップＳ１７以降の処理が行われる。さらに、ロードバランサとして動作するｎ番目のＶＮＦ１２に含まれる仮想マシンの数が複数ではない場合も、ステップＳ１７以降の処理が行われる（ステップＳ１５でＮｏ）。
【００３７】
なお、図８は一例であり、実装に応じて処理は変更されうる。例えば、ｎ番目のＶＮＦ１２は、送信元装置を基準としてｎ番目のＶＮＦ１２であっても良く、また、宛先装置を基準としてｎ番目のＶＮＦ１２であっても良い。
【００３８】
（Ｂ）負荷分散のための制御例
以下、負荷分散のための制御を、ロードバランサが終端型の場合と中継型の場合に分けて説明する。さらに、それぞれのケースを、ロードバランサとして動作するＶＮＦが終端型のＶＮＦに隣接している場合と、ロードバランサとして動作するＶＮＦが中継型のＶＮＦに隣接している場合に分けて説明する。
【００３９】
（Ｂ１）第１のパターン
第１のパターンでは、終端型のロードバランサが処理対象のＶＮＦ１２であって、さらに、処理対象のＶＮＦ１２にパケットを転送するＶＮＦ１２も終端型である場合について説明する。
【００４０】
図９は、第１のパターンが適用されるサービスチェインの例を説明する図である。図９に示すサービスチェインの例では、サービスチェイン中にプロキシとして動作するＶＮＦ１２ａ、レイヤ４の情報を処理するロードバランサとして動作するＶＮＦ１２ｂ、キャッシュとして動作するＶＮＦ１２ｃが含まれている。ＶＮＦ１２ａは、Ｐｒｏｘｙ１〜Ｐｒｏｘｙ３の３つの仮想マシンを含み、ＶＮＦ１２ｂはＬ４ＬＢ１〜Ｌ４ＬＢ２の２つの仮想マシンを含む。さらに、ＶＮＦ１２ｃは、Ｃａｃｈｅ１とＣａｃｈｅ２の２つの仮想マシンを含む。
【００４１】
図９の例では、管理装置２０はデータセンタ４中に含まれており、データセンタ４中のサーバ７（図示せず）を用いてサービスチェインが生成される。管理装置２０中のＶＭ配備部３２やサービスチェイン生成部３３は、第１のパターンで使用されるサービスチェイン要求（矢印Ａ２１）を受信部２３が受信すると、図９に示すサービスチェインを生成する。
【００４２】
図１０のＦ１は、矢印Ａ２１で送信されたサービスチェイン要求の例である。サービスチェイン要求には、メッセージ種別、サービスチェイン中のＶＮＦ数、各ＶＮＦ１２の情報、送信元アドレス、宛先アドレスが含まれている。送信元アドレスは、サービスチェインの送信元の終点に位置する通信装置（送信元装置）に割り当てられたアドレスである。宛先アドレスは、サービスチェインの宛先の終点に位置する通信装置（宛先装置）に割り当てられたアドレスである。メッセージ種別は、サービスチェイン要求に設定されている。個々のＶＮＦ１２の情報として、種別、転送形態、ロードバランサ（ＬＢ）であるかの判定結果、ＶＮＦ１２に含まれる仮想マシン数（ＶＭ数）が含まれている。さらに、ＶＮＦの情報は、送信元装置に近い順に記載されているものとする。以下の説明では、メッセージの情報要素を記載している欄（左の欄）において、ＶＮＦの次に記載されている数値が送信元装置から何番目のＶＮＦであるかを示す値である。例えば、ＶＮＦ１２ａの情報はＶＮＦ１として記録されている。Ｆ１の例では、ＶＮＦ１２ａは、Ｗｅｂ  Ｐｒｏｘｙとして動作し、転送形態は終端型である。ＶＮＦ１２ａはロードバランサではないと判定されており（非ＬＢ）、ＶＮＦ１２ａのＶＭ数は３である。ＶＮＦ１２ｂの情報はＶＮＦ２として記録されている。ＶＮＦ１２ｂは、Ｌ４ＬＢとして動作し、転送形態は終端型である。ＶＮＦ１２ｂについての判定結果は、ロードバランサであり（ＬＢ）、ＶＮＦ１２ｂのＶＭ数は２である。ＶＮＦ１２ｃの情報はＶＮＦ３として記録されている。ＶＮＦ１２ｃは、Ｗｅｂ  Ｃａｃｈｅとして動作し、転送形態は終端型である。ＶＮＦ１２ｃはロードバランサではないと判定されており（非ＬＢ）、ＶＮＦ１２ｃ中のＶＭ数は２である。
【００４３】
取得部３１は、図１０のＦ１に示す情報を取得すると、取得した情報に、生成要求を識別する情報（生成要求ＩＤ）を対応付けて、サービスチェイン要求情報４１に記録する。ここでは、Ｆ１に示す情報は、生成要求ＩＤ＝１という情報に対応付けてサービスチェイン要求情報４１に格納されたとする。なお、サービスチェイン要求情報４１は、サービスチェイン要求に含まれている情報を含むので、以下の説明では、説明の都合上、サービスチェイン要求情報４１中に含まれている情報としてＦ１を参照することがある。
【００４４】
ＶＭ配備部３２は、サービスチェイン要求情報４１を参照して、データセンタ４中のサーバ７に仮想マシンを起動し、各仮想マシンにＩＤ、管理アドレス、転送アドレスを割り当てる。ここで、管理アドレスは、管理装置２０と仮想マシンの間の通信に使用されるＩＰアドレスである。転送アドレスは、サービスチェインでのデータの送受信に使用されるＩＰアドレスである。ＶＭ配備部３２は、各仮想マシンについて、割り当てたＩＰアドレスやＩＤを、ネットワーク管理テーブル４２に記録する。さらに、ネットワーク管理テーブル４２には、サービスチェインの生成に使用された生成要求を識別する生成要求ＩＤも含められる。なお、図９に示す仮想マシンの図中には、各仮想マシンに対して決定されたＩＤが記載されている。
【００４５】
図１０のＦ２は、ネットワーク管理テーブル４２の例である。以下、ＶＮＦ１２ａ〜ＶＮＦ１２ｃに含まれている各仮想マシンに割り当てられたアドレスはＦ２に示す通りであるとする。例えば、仮想マシンＰｒｏｘｙ１では、管理アドレスがＩＰＭ１１、転送アドレスがＩＰＤ１１であるとする。仮想マシンＰｒｏｘｙ２では、管理アドレスがＩＰＭ１２、転送アドレスがＩＰＤ１２であり、仮想マシンＰｒｏｘｙ３では、管理アドレスがＩＰＭ１３、転送アドレスがＩＰＤ１３であるとする。ＶＮＦ１２ｂに含まれている仮想マシンＬ４ＬＢ１では、管理アドレスがＩＰＭ２１、転送アドレスがＩＰＤ２１であり、仮想マシンＬ４ＬＢ２では、管理アドレスがＩＰＭ２２、転送アドレスがＩＰＤ２２である。同様に、ＶＮＦ１２ｃに含まれている仮想マシンＣａｃｈｅ１では、管理アドレスがＩＰＭ３１、転送アドレスがＩＰＤ３１であり、仮想マシンＣａｃｈｅ２では、管理アドレスがＩＰＭ３２、転送アドレスがＩＰＤ３２である。
【００４６】
特定部３４は、図７と図８を参照しながら説明した処理により、負荷分散の対象とする複数のロードバランサを含むＶＮＦ１２を特定する。図９に示すネットワークの例では、特定部３４は、サービスチェイン要求情報４１（図１０のＦ１の情報を含む）を参照して、処理対象としてＶＮＦ１２ｂを特定する。このとき、特定部３４は、ＶＮＦ１２ｂが終端型であることも特定する。そこで、特定部３４は、ＶＮＦ１２ｂで終端されるパケットを生成する装置を含むＶＮＦ１２を、サービスチェイン要求情報４１を用いて特定する。このとき、特定部３４は、サービスチェイン要求情報４１中の情報のうち、処理対象のＶＮＦ１２ｂよりも送信元装置に近いＶＮＦ１２の転送形態を参照する。図１０のＦ１では、ＶＮＦ１２ｂよりも送信元に近いＶＮＦ１２ａが終端型であるため、特定部３４は、ＶＮＦ１２ａ中の仮想マシンがＶＮＦ１２ｂで終端されるパケットを生成していると判定する。特定部３４は、得られた結果を決定部３５に通知する。
【００４７】
図１１は、転送先の割り当て方法の例を説明する図である。図１１を参照しながら、ＶＮＦ１２ａ中の仮想マシンで生成されるパケットが、ロードバランサとして動作するＶＮＦ１２ｂで終端されることを通知された場合の決定部３５の処理の例を説明する。図１１は、図９のサービスチェインのうち、ＶＮＦ１２ａとＶＮＦ１２ｂを抜き出したものである。決定部３５は、サービスチェイン要求情報４１を用いて、ＶＮＦ１２ａにＰｒｏｘｙ１〜Ｐｒｏｘｙ３の３つの仮想マシンが含まれ、ＶＮＦ１２ｂはＬ４ＬＢ１〜Ｌ４ＬＢ２の２つの仮想マシンが含まれていることを認識する。決定部３５は、Ｌ４ＬＢ１とＬ４ＬＢ２の処理負荷の差を最小化するようにＰｒｏｘｙ１〜Ｐｒｏｘｙ３で生成するパケットの宛先を決定する。図１１の例では、決定部３５は、Ｐｒｏｘｙ１とＰｒｏｘｙ２で生成されるパケットの宛先をＬ４ＬＢ１、Ｐｒｏｘｙ３で生成されるパケットの宛先をＬ４ＬＢ２に設定することを決定したとする。すると、決定部３５は、Ｐｒｏｘｙ１とＰｒｏｘｙ２で生成されるパケットの宛先をＩＰＤ２１に決定し、Ｐｒｏｘｙ３で生成されるパケットの宛先をＩＰＤ２２に決定する。決定部３５は、ＶＮＦ１２ａでのパケットの宛先の情報に応じて、ＶＮＦ１２ａで使用されるルーティングテーブルに設定される中継先等の情報も決定する。決定部３５は、決定した情報を経路設定部３６に出力する。
【００４８】
経路設定部３６は、決定部３５から入力された情報をＶＮＦ１２ａ中の仮想マシンの各々に通知するための制御パケットを生成する。例えば、Ｐｒｏｘｙ１宛ての制御パケットとＰｒｏｘｙ２宛ての制御パケットには、以下の情報が含まれている。
生成するパケットの宛先        ：ＩＰＤ２１
ルーティングテーブル中の宛先  ：ＩＰＤ２１
ルーティングテーブル中の中継先：ＩＰＤ２１
【００４９】
一方、Ｐｒｏｘｙ３宛ての制御パケットには、以下の情報が含まれている。
生成するパケットの宛先        ：ＩＰＤ２２
ルーティングテーブル中の宛先  ：ＩＰＤ２２
ルーティングテーブル中の中継先：ＩＰＤ２２
経路設定部３６は、Ｐｒｏｘｙ１〜Ｐｒｏｘｙ３の各々に、送信部２２を介して制御パケットを送信する。なお、制御パケットの送信の際には、各仮想マシンに割り当てられた管理アドレスが使用される。
【００５０】
図１２は、経路情報の設定例を説明する図である。管理装置２０から制御パケットを受信した仮想マシンの各々は、制御パケットに従って、生成するパケットの宛先の情報と、ルーティングテーブルを設定する。なお、図１２の例では、分かりやすくするために、アドレスに続けて、そのアドレスが割り当てられた仮想マシンのＩＤをカッコ書きで記載している。図１２に示すように設定処理が行われることにより、生成されたサービスチェインでは、Ｐｒｏｘｙ１とＰｒｏｘｙ２で生成されたパケットはＬ４ＬＢ１に送信され、Ｐｒｏｘｙ３で生成されたパケットはＬ４ＬＢ２に送信される。
【００５１】
ここで、送信元から送られてくるデータ量がＰｒｏｘｙ１〜Ｐｒｏｘｙ３で同じくらいである場合、Ｐｒｏｘｙ１〜Ｐｒｏｘｙ３の各々が送信元から取得するデータ量は、送信元から送信されたデータ量の１／３ずつである。このため、Ｌ４ＬＢ１が処理するデータは送信されたデータの２／３程度となり、Ｌ４ＬＢ２が処理するデータは送信されたデータの１／３程度となる。
【００５２】
図１３は、負荷分散を行うための制御方法の例を説明するフローチャートであり、図８のステップＳ１６の処理の詳細を表している。図１３では、定数Ｍと変数ｍを使用する。定数Ｍは、送信元装置から負荷分散の対象となるＶＮＦ１２に至るまでにパケットが経由するＶＮＦ１２の総数である。なお、送信元装置は、サービスチェインの終点のうち、サービスチェインで送受信されるデータの送信元の装置である。変数ｍは、特定部３４での処理に使用される変数である。
【００５３】
特定部３４は、図８のステップＳ１１〜Ｓ１５を参照しながら説明した処理により、負荷分散の対象のＶＮＦ１２を特定したとする。特定部３４は、負荷分散の対象となるＶＮＦ１２は終端型であるかを判定する（ステップＳ３１）。負荷分散の対象のＶＮＦ１２が終端型である場合、特定部３４は、負荷分散の対象となるＶＮＦ１２と送信元装置の間にあるＶＮＦ１２の数（Ｍ）を変数ｍに代入する（ステップＳ３２）。特定部３４は、送信元装置からｍ番目のＶＮＦ１２が終端型かを判定する（ステップＳ３３）。送信元装置からｍ番目のＶＮＦ１２が終端型ではない場合、特定部３４は、変数ｍを１つデクリメントし、変数ｍが０より大きいかを判定する（ステップＳ３３でＮｏ、ステップＳ３４、Ｓ３５）。変数ｍが０より大きい場合、ステップＳ３３以降の処理を行う。
【００５４】
送信元からｍ番目のＶＮＦ１２が終端型である場合、決定部３５は、送信元装置からｍ番目のＶＮＦ１２の仮想マシンの各々について、パケットの宛先を、負荷分散の対象となるＶＮＦ１２の仮想マシンから選択する（ステップＳ３３でＹｅｓ、ステップＳ３６）。決定部３５と経路設定部３６は、ｍ番目のＶＮＦ１２に含まれている仮想マシンの各々が決定部３５で選択された宛先にパケットを送信するための設定処理を行う（ステップＳ３７）。
【００５５】
一方、ステップＳ３１において、負荷分散の対象のＶＮＦ１２が終端型ではないと判定された場合、中継型のＶＮＦ１２に対する負荷分散処理が行われる（ステップＳ３１でＮｏ、ステップＳ３８）。
【００５６】
図１４は、パケットの転送先の決定方法の例を説明するフローチャートである。図１４は、図１３のステップＳ３６とＳ３７の処理の詳細の例である。図１４では変数ｎと変数ｍを用いる。変数ｎは処理対象としたロードバランサの数の計数に用い、変数ｍは処理対象とする仮想マシンの数の計数に用いる。
【００５７】
決定部３５は、ロードバランサで終端されるパケットを生成する仮想マシンのうちの１つがパケットを送信可能なロードバランサを抽出する（ステップＳ５１）。決定部３５は、抽出されたロードバランサの数が１よりも大きいかを判定する（ステップＳ５２）。抽出されたロードバランサの数（定数Ｎ）が１以下の場合、決定部３５は、処理を終了する（ステップＳ５２でＮｏ）。抽出されたロードバランサの数が１より大きい場合、決定部３５は、抽出した複数のロードバランサにパケットを送信可能な仮想マシン数（定数Ｍ）を求める（ステップＳ５２でＹｅｓ、ステップＳ５３）。決定部３５は、変数ｍと変数ｎをいずれも１に設定する（ステップＳ５４）。
【００５８】
決定部３５は、ｎ番目のロードバランサにパケットを送信する仮想マシン数ＴＯｎを１つインクリメントする（ステップＳ５５）。決定部３５は、変数ｍを１つインクリメントして、変数ｍが定数Ｍを超えたかを判定する（ステップＳ５６、Ｓ５７）。変数ｍが定数Ｍを超えていない場合、決定部３５は、変数ｎを１つインクリメントし、変数ｎが定数Ｎを超えているかを判定する（ステップＳ５７でＮｏ、ステップＳ５８、Ｓ５９）。変数ｎが定数Ｎを超えていない場合、決定部３５は、ステップＳ５５以降の処理を繰り返す（ステップＳ５９でＮｏ）。変数ｎが定数Ｎを超えている場合、決定部３５は、変数ｎを１に戻して、ステップＳ５５以降の処理を繰り返す（ステップＳ５９でＹｅｓ、ステップＳ６０）。ステップＳ５５〜Ｓ６０の処理では、ｍの値がステップＳ５１で抽出されたロードバランサにパケットを送信可能な仮想マシン数と同数になるまで、各ロードバランサに仮想マシンを割り振っている。なお、ステップＳ５５〜Ｓ６０の処理では、仮想マシンのロードバランサへの割り振りはラウンドロビン式に行われているが、この処理は一例であり、実装に応じて、変更され得る。
【００５９】
ステップＳ５７で、変数ｍが定数Ｍを超えたと判定すると、決定部３５は、変数ｎを１に変更する（ステップＳ５７でＹｅｓ、ステップＳ６１）。決定部３５は、ｎ番目のロードバランサへパケットを送信するＴＯｎ台の仮想マシンを、ステップＳ５３で抽出された仮想マシンから選択する（ステップＳ６２）。経路設定部３６は、制御パケットを用いて、決定部３５が選択した仮想マシンが送信するパケットの宛先を、ｎ番目のロードバランサに設定する（ステップＳ６３）。経路設定部３６は、変数ｎを１つインクリメントして、変数ｎが定数Ｎを超えたかを判定する（ステップＳ６４、Ｓ６５）。変数ｎが定数Ｎを超えていない場合、ステップＳ６２以降の処理が繰り返される（ステップＳ６５でＮｏ）。変数ｎが定数Ｎを超えると、決定部３５と経路設定部３６は処理を終了する（ステップＳ６５でＹｅｓ）。
【００６０】
（Ｂ２）第２のパターン
第２のパターンでは、終端型のロードバランサが負荷分散の対象のＶＮＦ１２であるが、負荷分散の対象のＶＮＦ１２にパケットを転送するＶＮＦ１２は中継型である場合について説明する。
【００６１】
図１５は、第２のパターンが適用されるサービスチェインの例を説明する図である。図１５に示すサービスチェインは、ＶＮＦ１２ｄ〜１２ｇを含む。以下の説明では、ＶＮＦ１２ｄはプロキシとして動作し、ＶＮＦ１２ｅはファイアウォールとして動作するものとする。さらに、ＶＮＦ１２ｆは、レイヤ４の情報を処理するロードバランサ（Ｌ４ＬＢ）として動作し、ＶＮＦ１２ｇはキャッシュとして動作する。ＶＮＦ１２ｄは、Ｐｒｏｘｙ１〜Ｐｒｏｘｙ３の３つの仮想マシンを含み、ＶＮＦ１２ｅはＦＷ１を含む。ＶＮＦ１２ｆはＬ４ＬＢ１とＬ４ＬＢ２の２つの仮想マシンを含む。さらに、ＶＮＦ１２ｇは、Ｃａｃｈｅ１とＣａｃｈｅ２の２つの仮想マシンを含む。
【００６２】
図１５の例では、管理装置２０は、第２のパターンで使用されるサービスチェイン要求（矢印Ａ３１）を受信部２３が受信すると、図１５に示すサービスチェインを生成する。
【００６３】
図１６のＦ１１は、矢印Ａ３１で送信されたサービスチェイン要求の例である。Ｆ１１には、送信元装置に近い順に、ＶＮＦ１２ｄ、ＶＮＦ１２ｅ、ＶＮＦ１２ｆ、ＶＮＦ１２ｇの４つのＶＮＦ１２の生成を要求することと、各ＶＮＦ１２の情報が含まれている。ＶＮＦ１２ｄの情報はＶＮＦ１として記録されている。Ｆ１１の例では、ＶＮＦ１２ｄは、Ｗｅｂ  Ｐｒｏｘｙとして動作し、転送形態は終端型である。ＶＮＦ１２ｄはロードバランサではないと判定されており（非ＬＢ）、ＶＮＦ１２ｄのＶＭ数は３である。ＶＮＦ１２ｅの情報はＶＮＦ２として記録されている。ＶＮＦ１２ｅは、ファイアウォールとして動作し、転送形態は中継型である。ＶＮＦ１２ｅはロードバランサでないと判定されており（非ＬＢ）、ＶＮＦ１２ｅのＶＭ数は１である。ＶＮＦ１２ｆの情報はＶＮＦ３として記録されている。ＶＮＦ１２ｆは、ロードバランサとして動作し、転送形態は終端型である。ＶＮＦ１２ｆについての判定結果は、ロードバランサであり（ＬＢ）、ＶＮＦ１２ｆのＶＭ数は２である。ＶＮＦ１２ｇの情報はＶＮＦ４として記録されている。ＶＮＦ１２ｇは、Ｗｅｂ  Ｃａｃｈｅとして動作し、転送形態は終端型である。ＶＮＦ１２ｇはロードバランサではないと判定されており（非ＬＢ）、ＶＮＦ１２ｇのＶＭ数は２である。
【００６４】
取得部３１は、図１６のＦ１１に示す情報を取得すると、取得した情報に、生成要求ＩＤ＝２を対応付けてサービスチェイン要求情報４１に格納したとする。
【００６５】
ＶＭ配備部３２は、第１のパターンで説明した処理と同様の処理により、仮想マシンを生成し、設定を行うとともに、ネットワーク管理テーブル４２にサービスチェインの情報を記録する。なお、図１５に示す仮想マシンの図中には、各仮想マシンに対して決定されたＩＤが記載されている。
【００６６】
図１６のＦ１２は、ネットワーク管理テーブル４２の例である。以下、ＶＮＦ１２ｄ〜ＶＮＦ１２ｇに含まれている各仮想マシンに割り当てられたアドレスはＦ１２に示す通りであるとする。例えば、仮想マシンＰｒｏｘｙ１では、管理アドレスがＩＰＭ１１、転送アドレスがＩＰＤ１１である。また、ＶＮＦ１２ｇに含まれている仮想マシンＣａｃｈｅ１では、管理アドレスがＩＰＭ４１、転送アドレスがＩＰＤ４１である。
【００６７】
特定部３４は図７、図８を参照しながら説明した処理と同様の処理により、負荷分散の対象とする複数のロードバランサを含むＶＮＦ１２を特定する。図１５に示すネットワークの例では、特定部３４は、図１６のＦ１１に示す情報を含むサービスチェイン要求情報４１を参照して、処理対象としてＶＮＦ１２ｆを特定する。このとき、特定部３４は、ＶＮＦ１２ｆが終端型であることも特定する。次に、特定部３４は、図１３を参照しながら説明した処理と同様の処理により、ＶＮＦ１２ｆで終端されるパケットがＶＮＦ１２ｄで生成されることと、ＶＮＦ１２ｆに隣接するＶＮＦ１２ｅは中継型であることを特定する。
【００６８】
図１７は、転送先の割り当て方法の例を説明する図である。図１７を参照しながら、ＶＮＦ１２ｄ中の仮想マシンで生成されるパケットが、ロードバランサとして動作するＶＮＦ１２ｆで終端されることを通知された場合の決定部３５の処理の例を説明する。図１７は、図１５のサービスチェインのうち、ＶＮＦ１２ｄ、ＶＮＦ１２ｅ、ＶＮＦ１２ｆを抜き出したものである。決定部３５は、サービスチェイン要求情報４１を用いて、ＶＮＦ１２ｄにＰｒｏｘｙ１〜Ｐｒｏｘｙ３の３つの仮想マシンが含まれ、ＶＮＦ１２ｅにはＩＤ＝ＦＷ１で識別される１つの仮想マシンが含まれることを認識する。決定部３５は、ＶＮＦ１２ｆはＬ４ＬＢ１〜Ｌ４ＬＢ２の２つの仮想マシンを有することも認識する。
【００６９】
パケットを生成するＶＮＦ１２ｄと、パケットを終端するＶＮＦ１２ｆの間に中継型のＶＮＦ１２ｅが含まれていても、決定部３５は、Ｌ４ＬＢ１とＬ４ＬＢ２の処理負荷の差を最小化するようにＰｒｏｘｙ１〜Ｐｒｏｘｙ３で生成するパケットの宛先を決定する。図１７の例でも、第１のパターンと同様に、決定部３５は、Ｐｒｏｘｙ１とＰｒｏｘｙ２で生成されるパケットの宛先をＬ４ＬＢ１、Ｐｒｏｘｙ３で生成されるパケットの宛先をＬ４ＬＢ２に設定することを決定したとする。この場合、決定部３５は、Ｐｒｏｘｙ１とＰｒｏｘｙ２で生成されるパケットの宛先をＩＰＤ３１に決定し、Ｐｒｏｘｙ３で生成されるパケットの宛先をＩＰＤ３２に決定する。決定部３５は、ＶＮＦ１２ｄでのパケットの宛先の情報に応じて、ＶＮＦ１２ｄで使用されるルーティングテーブルに設定される中継先等の情報と、ＶＮＦ１２ｅで使用されるルーティングテーブルの情報を決定する。決定部３５は、決定した情報を経路設定部３６に出力する。
【００７０】
経路設定部３６は、決定部３５から入力された情報を仮想マシンの各々に通知するための制御パケットを生成する。例えば、ＶＮＦ１２ｄ中のＰｒｏｘｙ１宛ての制御パケットとＰｒｏｘｙ２宛ての制御パケットには、以下の情報が含まれている。
生成するパケットの宛先        ：ＩＰＤ３１
ルーティングテーブル中の宛先  ：ＩＰＤ３１
ルーティングテーブル中の中継先：ＩＰＤ２１
【００７１】
一方、ＶＮＦ１２ｄ中のＰｒｏｘｙ３宛ての制御パケットには、以下の情報が含まれている。
生成するパケットの宛先        ：ＩＰＤ３２
ルーティングテーブル中の宛先  ：ＩＰＤ３２
ルーティングテーブル中の中継先：ＩＰＤ２１
【００７２】
ＶＮＦ１２ｅ中のＦＷ１宛ての制御パケットには、以下の情報が含まれている。
宛先１                        ：ＩＰＤ３１
宛先１に宛てたパケットの中継先：ＩＰＤ３１
宛先２                        ：ＩＰＤ３２
宛先２に宛てたパケットの中継先：ＩＰＤ３２
経路設定部３６は、Ｐｒｏｘｙ１〜Ｐｒｏｘｙ３と、ＦＷ１の各々に、送信部２２を介して制御パケットを送信する。
【００７３】
図１８は、経路情報の設定例を説明する図である。管理装置２０から制御パケットを受信した仮想マシンの各々は、制御パケットに従って、生成するパケットの宛先の情報と、ルーティングテーブルを設定する。図１８の例でも、アドレスに続けて、そのアドレスが割り当てられた仮想マシンのＩＤをカッコ書きで記載している。図１８に示すように設定処理が行われることにより、生成されたサービスチェインでは、Ｐｒｏｘｙ１〜Ｐｒｏｘｙ３のいずれも、生成したパケットをＦＷ１に転送する。ＦＷ１は、ルーティングテーブルを用いることにより、Ｐｒｏｘｙ１とＰｒｏｘｙ２で生成されたパケットをＬ４ＬＢ１に中継し、Ｐｒｏｘｙ３で生成されたパケットをＬ４ＬＢ２に中継する。このため、第１のパターンと同様に、第２のパターンでも、複数のロードバランサを含むＶＮＦ１２中の各仮想マシンの間で、負荷分散が行われている。すなわち、Ｐｒｏｘｙ１〜Ｐｒｏｘｙ３の処理データ量がほぼ同じ場合、Ｌ４ＬＢ１はサービスチェイン中で処理されるデータの２／３を処理し、Ｌ４ＬＢ２はサービスチェイン中で処理されるデータの１／３を処理する。
【００７４】
（Ｂ３）終端型のロードバランサへの設定のまとめ
図１９は終端型のロードバランサへの分散処理でのアドレスの設定例を説明した図である。図１９では、複数の仮想マシンを含み、終端型ロードバランサとして動作するＶＮＦ１２での負荷分散のための処理の際の宛先の設定に関係する仮想マシンを実線で示し、その他の仮想マシンを点線で示している。このため、仮想マシンＶＭ４１〜ＶＭ５２のうちで、終端型ではないＶＭ４７〜ＶＭ５０は点線で表されている。
【００７５】
図９〜図１８を参照しながら説明したように、終端型ロードバランサで終端されるパケットを生成するＶＮＦ１２中の仮想マシンでのパケットの宛先の設定により、終端型ロードバランサとして動作するＶＮＦ１２中の仮想マシンでの負荷分散が可能である。また、このことは、終端型ロードバランサとして動作するＶＮＦ１２に隣接しているＶＮＦ１２が終端型と中継型のいずれでも同様である。このため、終端型の処理を行う仮想マシンＶＭ４４、ＶＭ４５、ＶＭ４６で生成するパケットの宛先の設定により、ロードバランサとして動作するＶＭ５１とＶＭ５２の負荷分散が可能になる。例えば、仮想マシンＶＭ４４、ＶＭ４５において生成するパケットの宛先アドレスがＩＰ１で、仮想マシンＶＭ４６において生成するパケットの宛先アドレスがＩＰ２である場合、図１９に示すように、負荷分散が可能になる。
【００７６】
（Ｂ４）第３のパターン
第３のパターンでは、中継型のロードバランサが負荷分散の対象のＶＮＦ１２であり、負荷分散の対象のＶＮＦ１２にパケットを転送するＶＮＦ１２が終端型である場合について説明する。
【００７７】
図２０は、第３のパターンが適用されるサービスチェインの例を説明する図である。図２０に示すサービスチェインは、ＶＮＦ１２ｈ〜１２ｋを含む。以下の説明では、ＶＮＦ１２ｈはプロキシとして動作し、ＶＮＦ１２ｉはゲートウェイ型のロードバランサとして動作するものとする。さらに、ＶＮＦ１２ｊは、ファイアウォールとして動作し、ＶＮＦ１２ｋはキャッシュとして動作する。ＶＮＦ１２ｈは、Ｐｒｏｘｙ１〜Ｐｒｏｘｙ３の３つの仮想マシンを含み、ＶＮＦ１２ｉはＧＷＬＢ１〜ＧＷＬＢ２の２つの仮想マシンを含み、ＶＮＦ１２ｊはＦＷ１を含む。さらに、ＶＮＦ１２ｋは、Ｃａｃｈｅ１〜Ｃａｃｈｅ３の３つの仮想マシンを含む。
【００７８】
図２０の例では、管理装置２０は、第３のパターンで使用されるサービスチェイン要求（矢印Ａ４１）を受信部２３が受信することにより、図２０に示すサービスチェインを生成したとする。
【００７９】
図２１のＦ２１は、矢印Ａ４１で送信されたサービスチェイン要求の例である。Ｆ２１には、送信元装置に近い順に、ＶＮＦ１２ｈ、ＶＮＦ１２ｉ、ＶＮＦ１２ｊ、ＶＮＦ１２ｋの４つのＶＮＦ１２の生成を要求することと、各ＶＮＦ１２の情報が含まれている。ＶＮＦ１２ｈの情報はＶＮＦ１として記録されている。ＶＮＦ１２ｈは、Ｗｅｂ  Ｐｒｏｘｙとして動作し、転送形態は終端型である。ＶＮＦ１２ｈは、ロードバランサではないと判定され（非ＬＢ）、ＶＭ数は３である。ＶＮＦ１２ｉの情報はＶＮＦ２として記録されている。ＶＮＦ１２ｉは、ロードバランサとして動作し、転送形態は中継型である。ＶＮＦ１２ｉについての判定結果は、ロードバランサであり（ＬＢ）、ＶＮＦ１２ｉのＶＭ数は２である。ＶＮＦ１２ｊの情報はＶＮＦ３として記録されている。ＶＮＦ１２ｊは、ファイアウォールとして動作し、転送形態は中継型である。ＶＮＦ１２ｊについての判定結果は、ロードバランサでなく（非ＬＢ）、ＶＮＦ１２ｊのＶＭ数は１である。ＶＮＦ１２ｋの情報はＶＮＦ４として記録されている。ＶＮＦ１２ｋは、Ｗｅｂ  Ｃａｃｈｅとして動作し、転送形態は終端型である。ＶＮＦ１２ｋについての判定結果はロードバランサではなく（非ＬＢ）、ＶＮＦ１２ｋのＶＭ数は３である。
【００８０】
取得部３１は、図２１のＦ２１に示す情報を取得すると、取得した情報に、生成要求ＩＤ＝３を対応付けてサービスチェイン要求情報４１に格納したとする。
【００８１】
ＶＭ配備部３２は、第１のパターンで説明した処理と同様の処理により、仮想マシンを生成し、設定を行うとともに、ネットワーク管理テーブル４２にサービスチェインの情報を記録する。なお、図２０に示す仮想マシンの図中には、各仮想マシンに対して決定されたＩＤが記載されている。
【００８２】
図２１のＦ２２は、ネットワーク管理テーブル４２の例である。以下、ＶＮＦ１２ｈ〜ＶＮＦ１２ｋに含まれている各仮想マシンに割り当てられたアドレスはＦ２２に示す通りであるとする。例えば、ＶＮＦ１２ｈ中の仮想マシンＰｒｏｘｙ１では、管理アドレスがＩＰＭ１１、転送アドレスがＩＰＤ１１である。また、ＶＮＦ１２ｋに含まれている仮想マシンＣａｃｈｅ１では、管理アドレスがＩＰＭ４１、転送アドレスがＩＰＤ４１である。
【００８３】
特定部３４は、図７、図８を参照しながら説明した処理と同様の処理により、負荷分散の対象とする複数のロードバランサを含むＶＮＦ１２を特定する。図２０に示すネットワークの例では、特定部３４は、図２１のＦ２１の情報を含むサービスチェイン要求情報４１を参照して、処理対象としてＶＮＦ１２ｉを特定する。このとき、特定部３４は、ＶＮＦ１２ｉが中継型であることも特定する。特定部３４は、サービスチェイン要求情報４１中の情報のうち、処理対象のＶＮＦ１２ｉよりも送信元装置に近いＶＮＦ１２の転送形態を参照する。図２１のＦ２１では、ＶＮＦ１２ｉよりも送信元に近いＶＮＦ１２ｈが終端型であるため、特定部３４は、ＶＮＦ１２ｈ中の仮想マシンがＶＮＦ１２ｉで中継されるパケットを生成していると判定する。さらに、特定部３４は、処理対象のＶＮＦ１２ｉよりも宛先装置に近いＶＮＦ１２の転送形態を参照することにより、ＶＮＦ１２ｉが中継するパケットを終端するＶＮＦ１２を特定する。図２１のＦ２１では、ＶＮＦ１２ｉよりも宛先に近いＶＮＦ１２ｋが終端型であるため、特定部３４は、ＶＮＦ１２ｉ中の仮想マシンが中継したパケットがＶＮＦ１２ｋで終端されると判定する。特定部３４は、得られた結果を決定部３５に通知する。
【００８４】
図２２は、パケットの宛先の割り当て方法の例を説明する図である。図２２は、図２０のサービスチェインのうち、ＶＮＦ１２ｈ、ＶＮＦ１２ｉ、ＶＮＦ１２ｋを抜き出したものである。決定部３５は、サービスチェイン要求情報４１を用いて、ＶＮＦ１２ｈにＰｒｏｘｙ１〜Ｐｒｏｘｙ３の３つの仮想マシンが含まれ、ＶＮＦ１２ｉにＧＷＬＢ１〜ＧＷＬＢ２の２つの仮想マシンが含まれていることを認識する。さらに、決定部３５は、ＶＮＦ１２ｋにＣａｃｈｅ１〜Ｃａｃｈｅ３の３つの仮想マシンが含まれていることも特定する。
【００８５】
まず、決定部３５は、Ｐｒｏｘｙ１〜Ｐｒｏｘｙ３で生成するパケットの宛先を、ＶＮＦ１２ｋ中の仮想マシンでの処理負荷の差を最小化するように選択する。図２２の例では、決定部３５は、Ｐｒｏｘｙ１で生成されるパケットの宛先をＣａｃｈｅ１に設定し、Ｐｒｏｘｙ２で生成されるパケットの宛先をＣａｃｈｅ２に設定している。さらに、決定部３５は、Ｐｒｏｘｙ３で生成されるパケットの宛先をＣａｃｈｅ３に設定したとする。すると、決定部３５は、Ｐｒｏｘｙ１で生成されるパケットの宛先をＩＰＤ４１、Ｐｒｏｘｙ２で生成されるパケットの宛先をＩＰＤ４２、Ｐｒｏｘｙ３で生成されるパケットの宛先をＩＰＤ４３に決定する。決定部３５は、決定した宛先の情報を経路設定部３６に出力すると、経路設定部３６は、ＶＮＦ１２ｈ中の各仮想マシンに、その仮想マシンで生成するパケットの宛先を設定する。
【００８６】
図２３は、転送先の割り当て方法の例を説明する図である。図２３を参照しながら、決定部３５がＶＮＦ１２ｈからＶＮＦ１２ｉへのパケットの転送先を決定する際に行う処理の例を説明する。決定部３５は、ＧＷＬＢ１とＧＷＬＢ２の処理負荷の差を最小化するようにＰｒｏｘｙ１〜Ｐｒｏｘｙ３で生成するパケットの転送先を決定する。図２３の例では、決定部３５は、Ｐｒｏｘｙ１とＰｒｏｘｙ２で生成されるパケットの転送先をＧＷＬＢ１、Ｐｒｏｘｙ３で生成されるパケットの転送先をＧＷＬＢ２に設定することを決定したとする。すると、決定部３５は、Ｐｒｏｘｙ１とＰｒｏｘｙ２で生成されるパケットの転送先をＩＰＤ２１に決定し、Ｐｒｏｘｙ３で生成されるパケットの転送先をＩＰＤ２２に決定する。決定部３５は、決定した情報を経路設定部３６に出力し、経路設定部３６は、決定部３５から取得した情報を、ＶＮＦ１２ｈ中のＰｒｏｘｙ１〜Ｐｒｏｘｙ３に設定する。経路設定部３６の設定後にＶＮＦ１２ｈ中のＰｒｏｘｙ１〜Ｐｒｏｘｙ３が保持する情報を図２４に示す。
【００８７】
図２４は、経路情報の設定例を説明する図である。図２２と図２３を参照しながら説明した処理の他に、決定部３５は、ＶＮＦ１２ｉ中のＧＷＬＢ１とＧＷＬＢ２のルーティングテーブル中の情報を決定し、経路設定部３６は、ルーティングテーブルの設定処理も行う。図２２〜図２３の例では、ＧＷＬＢ１はＰｒｏｘｙ１で生成されるＣａｃｈｅ１宛てのパケットと、Ｐｒｏｘｙ２で生成されるＣａｃｈｅ２宛てのパケットの中継処理を行う。このため、ＧＷＬＢ１が保持するルーティングテーブルには、以下の情報が保持される。
宛先１                        ：ＩＰＤ４１
宛先１に宛てたパケットの中継先：ＩＰＤ４１
宛先２                        ：ＩＰＤ４２
宛先２に宛てたパケットの中継先：ＩＰＤ４２
同様に、ＧＷＬＢ２が保持するルーティングテーブルには、以下の情報が保持される。
宛先１                        ：ＩＰＤ４３
宛先１に宛てたパケットの中継先：ＩＰＤ４３
【００８８】
Ｐｒｏｘｙ１〜Ｐｒｏｘｙ３は、自装置に設定されたパケットの宛先の情報とルーティングテーブルに従って、パケットの生成と転送を行う。さらに、ＧＷＬＢ１とＧＷＬＢ２も自装置に設定されたルーティングテーブルに従って、パケットを転送する。このため、図２４の太い矢印で示す転送経路が生成される。すなわち、Ｐｒｏｘｙ１で生成されるＣａｃｈｅ１宛てのパケットは、ＧＷＬＢ１を経由してＣａｃｈｅ１に到達する。Ｐｒｏｘｙ２で生成されるＣａｃｈｅ２宛てのパケットは、ＧＷＬＢ１を経由してＣａｃｈｅ２に到達する。Ｐｒｏｘｙ３で生成されるＣａｃｈｅ３宛てのパケットは、ＧＷＬＢ３を経由してＣａｃｈｅ３に到達する。
【００８９】
ここで、送信元から送られてくるデータ量の差がＰｒｏｘｙ１〜Ｐｒｏｘｙ３の間で無視できる場合、Ｐｒｏｘｙ１〜Ｐｒｏｘｙ３の各々が送信元から取得するデータ量は、送信元から送信されたデータ量の１／３ずつである。このため、ＧＷＬＢ１が処理するデータは送信されたデータの２／３程度となり、ＧＷＬＢ２が処理するデータは送信されたデータの１／３程度となる。このように、中継型のロードバランサとして動作する複数の仮想マシンを含むＶＮＦ１２においても、第３のパターンで説明した処理を行うことにより、負荷が分散される。
【００９０】
図２５は、負荷分散を行うための制御方法の例を説明するフローチャートである。図２５では、定数Ｘ、定数Ｙ、変数ｘ、変数ｙを使用する。定数Ｘは、送信元装置から負荷分散の対象として検出された中継型ロードバランサとして動作するＶＮＦ１２に至る経路中に含まれているＶＮＦ１２の総数である。定数Ｙは、負荷分散の対象として検出された中継型ロードバランサとして動作するＶＮＦ１２から宛先装置に至る経路中に含まれているＶＮＦ１２の総数である。変数ｘは、送信元装置から中継型ロードバランサとして動作するＶＮＦ１２に至る経路中のＶＮＦ１２のうち、終端型処理を行うＶＮＦ１２であるかを判定したＶＮＦ１２の数の計数に用いられる。変数ｙは、中継型ロードバランサとして動作するＶＮＦ１２から宛先装置に至る経路中のＶＮＦ１２のうち、終端型処理を行うＶＮＦ１２であるかを判定したＶＮＦ１２の数の計数に用いられる。
【００９１】
特定部３４は、中継型ロードバランサとして動作するＶＮＦ１２を検出する（ステップＳ７１）。特定部３４は、変数ｘを１に設定すると共に、変数ｙを１に設定する（ステップＳ７２）。特定部３４は、中継型ロードバランサのＶＮＦ１２から送信元装置側にｘ番目のＶＮＦ１２が終端型であるかを判定する（ステップＳ７３）。中継型ロードバランサのＶＮＦ１２から送信元装置側にｘ番目のＶＮＦ１２が終端型ではない場合、特定部３４は、ｘを１つインクリメントする（ステップＳ７３でＮｏ、ステップＳ７４）。さらに、特定部３４は、変数ｘが定数Ｘより大きいかを判定する（ステップＳ７５）。変数ｘが定数Ｘより大きい場合、特定部３４は処理を終了する（ステップＳ７５でＹｅｓ）。変数ｘが定数Ｘ以下の場合、特定部３４は、ステップＳ７３以降の処理を繰り返す（ステップＳ７５でＮｏ）。
【００９２】
中継型ロードバランサのＶＮＦ１２から送信元装置側にｘ番目のＶＮＦ１２が終端型である場合、特定部３４は、中継型ロードバランサのＶＮＦ１２から宛先装置側にｙ番目のＶＮＦ１２が終端型であるかを判定する（ステップＳ７６）。中継型ロードバランサのＶＮＦ１２から宛先装置側にｙ番目のＶＮＦ１２が終端型ではない場合、特定部３４は、変数ｙを１つインクリメントする（ステップＳ７６でＮｏ、ステップＳ７７）。さらに、特定部３４は、変数ｙが定数Ｙより大きいかを判定する（ステップＳ７８）。変数ｙが定数Ｙ以下の場合、特定部３４は、ステップＳ７６以降の処理を繰り返す（ステップＳ７８でＮｏ）。
【００９３】
中継型ロードバランサのＶＮＦ１２から宛先側にｙ番目のＶＮＦ１２が終端型であるとする（ステップＳ７６でＹｅｓ）。この場合、決定部３５は、中継型ロードバランサから送信元装置側にｘ番目のＶＮＦ１２中の仮想マシンの各々について、パケットの宛先を中継型ロードバランサから宛先側にｙ番目のＶＮＦ１２中の仮想マシンの中から選択する（ステップＳ８０）。ステップＳ８０の処理が行われる場合、中継型ロードバランサのＶＮＦ１２から送信元装置側にｘ番目のＶＮＦ１２で生成されたパケットは、中継型ロードバランサのＶＮＦ１２から宛先装置側にｙ番目のＶＮＦ１２で終端されることになる。
【００９４】
一方、ステップＳ７８において、変数ｙが定数Ｙより大きいと判定されたとする（ステップＳ７８でＹｅｓ）。この場合、決定部３５は、中継型ロードバランサから送信元装置側にｘ番目のＶＮＦ１２中の仮想マシンの各々について、パケットの宛先をサービスチェインの宛先側の終点の装置に設定する（ステップＳ７９）。
【００９５】
ステップＳ８０かＳ７９の処理後、決定部３５は、中継型ロードバランサのＶＮＦ１２から送信元側にｘ番目のＶＮＦ１２から、中継型ロードバランサよりも１つ送信元側のＶＮＦ１２中の仮想マシンに到達するパケットの宛先を特定する（ステップＳ８１）。ステップＳ８１の処理は、中継型ロードバランサとして動作するＶＮＦ１２中の仮想装置の各々にパケットを転送する仮想マシンに到達するパケットの宛先を特定する処理である。中継型ロードバランサよりも１つ送信元側のＶＮＦ１２からの転送パケットの宛先ごとに、決定部３５は、転送先を中継型ロードバランサとして動作するＶＮＦ１２中の仮想マシンから選択する（ステップＳ８２）。なお、ステップＳ８２での処理の詳細は、例えば、図１４と同様の処理とすることができる。経路設定部３６は、選択した転送先に、パケットの送信するための設定を行う（ステップＳ８３）。
【００９６】
図２５は処理の一例であり、実装に応じて処理の順序は変更され得る。例えば、ステップＳ７３〜Ｓ７５の処理の前に、ステップＳ７６〜Ｓ８０の処理が行われても良い。さらに、ステップＳ７１とＳ７２の順序は任意に変更され得る。
【００９７】
（Ｂ５）第４のパターン
第４のパターンでは、中継型のロードバランサが負荷分散の対象のＶＮＦ１２であり、負荷分散の対象のＶＮＦ１２にパケットを転送するＶＮＦ１２も中継型である場合について説明する。
【００９８】
図２６は、第４のパターンが適用されるサービスチェインの例を説明する図である。図２６に示すサービスチェインは、ＶＮＦ１２ｐ〜１２ｔを含む。以下の説明では、ＶＮＦ１２ｐはプロキシとして動作し、ＶＮＦ１２ｑはファイアウォールとして動作し、ＶＮＦ１２ｒはゲートウェイ型のロードバランサとして動作するものとする。ＶＮＦ１２ｓは、ファイアウォールとして動作し、ＶＮＦ１２ｔはキャッシュとして動作する。ＶＮＦ１２ｐは、Ｐｒｏｘｙ１とＰｒｏｘｙ２の２つの仮想マシンを含み、ＶＮＦ１２ｑはＦＷ１を含む。ＶＮＦ１２ｒはＧＷＬＢ１とＧＷＬＢ２の２つの仮想マシンを含み、ＶＮＦ１２ｓはＦＷＢ１を含む。さらに、ＶＮＦ１２ｔは、Ｃａｃｈｅ１とＣａｃｈｅ２の２つの仮想マシンを含む。
【００９９】
図２６の例では、管理装置２０は、第４のパターンで使用されるサービスチェイン要求（矢印Ａ５１）を受信部２３が受信することにより、図２６に示すサービスチェインを生成したとする。
【０１００】
図２７は、矢印Ａ５１で送信されたサービスチェイン要求の例である。図２７に示すサービスチェイン要求には、送信元装置に近い順に、ＶＮＦ１２ｐ、ＶＮＦ１２ｑ、ＶＮＦ１２ｒ、ＶＮＦ１２ｓ、ＶＮＦ１２ｔの５つのＶＮＦ１２の生成を要求することと、各ＶＮＦ１２の情報が含まれている。ＶＮＦ１２ｐの情報はＶＮＦ１として記録されている。ＶＮＦ１２ｐは、Ｗｅｂ  Ｐｒｏｘｙとして動作し、転送形態は終端型である。ＶＮＦ１２ｐはロードバランサではないと判定され（非ＬＢ）、ＶＮＦ１２ｐ中のＶＭ数は２である。ＶＮＦ１２ｑの情報はＶＮＦ２として記録されている。ＶＮＦ１２ｑは、ファイアウォールとして動作し、転送形態は中継型である。ＶＮＦ１２ｑについての判定結果は、ロードバランサではなく（非ＬＢ）、ＶＮＦ１２ｑのＶＭ数は１である。ＶＮＦ１２ｒの情報はＶＮＦ３として記録されている。ＶＮＦ１２ｒは、ロードバランサとして動作し、転送形態は中継型である。ＶＮＦ１２ｒについての判定結果は、ロードバランサであり（ＬＢ）、ＶＮＦ１２ｒのＶＭ数は２である。ＶＮＦ１２ｓの情報はＶＮＦ４として記録されている。ＶＮＦ１２ｓは、ファイアウォールとして動作し、転送形態は中継型である。ＶＮＦ１２ｓについての判定結果は、ロードバランサではなく（非ＬＢ）、ＶＮＦ１２ｓのＶＭ数は１である。ＶＮＦ１２ｔの情報はＶＮＦ５として記録されている。ＶＮＦ１２ｔは、Ｗｅｂ  Ｃａｃｈｅとして動作し、転送形態は終端型である。ＶＮＦ１２ｔはロードバランサではないと判定され（非ＬＢ）、ＶＮＦ１２ｔのＶＭ数は２である。取得部３１は、図２７に示す情報を取得すると、取得した情報に、生成要求ＩＤ＝４を対応付けてサービスチェイン要求情報４１に格納したとする。
【０１０１】
図２８は、図２７に示すサービスチェイン要求に含まれている情報を用いて生成されたネットワーク管理テーブル４２の例である。以下、ＶＮＦ１２ｐ〜ＶＮＦ１２ｔに含まれている各仮想マシンに割り当てられたアドレスは図２８に示す通りであるとする。例えば、ＶＮＦ１２ｐ中の仮想マシンＰｒｏｘｙ１では、管理アドレスがＩＰＭ１１、転送アドレスがＩＰＤ１１である。また、ＶＮＦ１２ｔに含まれている仮想マシンＣａｃｈｅ１では、管理アドレスがＩＰＭ５１、転送アドレスがＩＰＤ５１である。
【０１０２】
特定部３４は、図７、図８を参照しながら説明した処理と同様の処理により、負荷分散の対象とする複数のロードバランサを含むＶＮＦ１２を特定する。図２６に示すネットワークの例では、特定部３４は、サービスチェイン要求情報４１（図２７）を参照して、負荷分散処理の対象としてＶＮＦ１２ｒを特定する。このとき、特定部３４は、ＶＮＦ１２ｒが中継型であることも特定する。特定部３４は、第３のパターンの説明で図２１を参照しながら説明した処理と同様の処理により、ＶＮＦ１２ｒで中継されるパケットを生成するＶＮＦ１２と、ＶＮＦ１２ｒで中継されるパケットを終端するＶＮＦ１２を特定する。図２７の例では、ＶＮＦ１２ｒが中継するパケットは、ＶＮＦ１２ｐで生成され、ＶＮＦ１２ｔで終端される。特定部３４は、得られた結果を決定部３５に通知する。
【０１０３】
図２９は、パケットの宛先の割り当て方法の例を説明する図である。図２９は、図２６のサービスチェインのうち、ＶＮＦ１２ｐ、ＶＮＦ１２ｑ、ＶＮＦ１２ｒ、ＶＮＦ１２ｔを抜き出したものである。決定部３５は、サービスチェイン要求情報４１を用いて、ＶＮＦ１２ｐにＰｒｏｘｙ１とＰｒｏｘｙ２の２つの仮想マシンが含まれ、ＶＮＦ１２ｑにＦＷ１が含まれ、ＶＮＦ１２ｒにＧＷＬＢ１とＧＷＬＢ２の２つの仮想マシンが含まれていることを認識する。さらに、決定部３５は、ＶＮＦ１２ｔにＣａｃｈｅ１とＣａｃｈｅ２の２つの仮想マシンが含まれていることも特定する。
【０１０４】
まず、決定部３５は、Ｐｒｏｘｙ１とＰｒｏｘｙ２の各々で生成するパケットの宛先を、ＶＮＦ１２ｔ中の仮想マシンでの処理負荷の差を最小化するように選択する。図２９の例では、決定部３５は、Ｐｒｏｘｙ１で生成されるパケットの宛先をＣａｃｈｅ１に設定し、Ｐｒｏｘｙ２で生成されるパケットの宛先をＣａｃｈｅ２に設定している。この場合、決定部３５は、Ｐｒｏｘｙ１で生成されるパケットの宛先をＩＰＤ５１、Ｐｒｏｘｙ２で生成されるパケットの宛先をＩＰＤ５２に決定する。決定部３５は、決定した宛先の情報を経路設定部３６に出力すると、経路設定部３６は、ＶＮＦ１２ｐ中の各仮想マシンに、その仮想マシンで生成するパケットの宛先を設定する。このため、ＶＮＦ１２ｐ中の仮想マシンの設定は、図２９に示す通りになる。
【０１０５】
図３０は、パケットの転送先の割り当て方法の例を説明する図である。図３０を参照しながら、決定部３５がＶＮＦ１２ｐからＶＮＦ１２ｑへのパケットの転送先を決定する際に行う処理の例を説明する。ＶＮＦ１２ｑに含まれる仮想マシンは１つであるので、決定部３５は、Ｐｒｏｘｙ１が生成するＣａｃｈｅ１宛のパケットの転送先をＦＷ１に決定する。さらに、決定部３５は、Ｐｒｏｘｙ２が生成するＣａｃｈｅ２宛のパケットの転送先もＦＷ１に決定する。換言すると、決定部３５は、Ｐｒｏｘｙ１とＰｒｏｘｙ２のいずれでも、生成されるパケットの転送先をＩＰＤ２１に決定する。決定部３５が決定した情報が仮想マシンに設定された場合に、各仮想マシンが保持する情報を図３０に示す。
【０１０６】
図３１は、パケットの転送先の割り当て方法の例を説明する図である。図３１を参照しながら、決定部３５がＶＮＦ１２ｑからＶＮＦ１２ｒへのパケットの転送先を決定する際に行う処理の例を説明する。決定部３５は、ＶＮＦ１２ｒ中のＧＷＬＢ１とＧＷＬＢ２の処理負荷の差を最小化できるようにＦＷ１からのパケットの転送先を決定する。図３１の例では、決定部３５は、Ｃａｃｈｅ１宛てのパケットの宛先をＧＷＬＢ１、Ｃａｃｈｅ２宛てのパケットの宛先をＧＷＬＢ２に設定することを決定したとする。すると、決定部３５は、ＦＷ１で使用されるルーティングテーブルに含める情報を以下のように決定する。
宛先１                        ：ＩＰＤ５１
宛先１に宛てたパケットの中継先：ＩＰＤ３１
宛先２                        ：ＩＰＤ５２
宛先２に宛てたパケットの中継先：ＩＰＤ３２
決定部３５は、決定した情報を経路設定部３６に出力し、経路設定部３６は、決定部３５から取得した情報を、ＶＮＦ１２ｑ中のＦＷ１に設定する。
【０１０７】
図３２は、図２９〜図３１を参照しながら説明した設定が行われた場合に得られる転送経路の例を説明する図である。図２９〜図３１を参照しながら説明した処理の他に、決定部３５は、ＶＮＦ１２ｒ中のＧＷＬＢ１とＧＷＬＢ２のルーティングテーブル中の情報を決定し、経路設定部３６は、ルーティングテーブルの設定処理も行う。図２９〜図３１を参照しながら説明した例では、ＧＷＬＢ１はＰｒｏｘｙ１で生成されるＣａｃｈｅ１宛てのパケットの中継処理を行うため、ＧＷＬＢ１が保持するルーティングテーブルには、以下の情報が保持される。
宛先１                        ：ＩＰＤ５１
宛先１に宛てたパケットの中継先：ＩＰＤ４１
同様に、ＧＷＬＢ２が保持するルーティングテーブルには、以下の情報が保持される。
宛先１                        ：ＩＰＤ５２
宛先１に宛てたパケットの中継先：ＩＰＤ４１
さらに、ＶＮＦ１２ｓ中のＦＷＢ１が保持するルーティングテーブルには、以下の情報が保持される。
宛先１                        ：ＩＰＤ５１
宛先１に宛てたパケットの中継先：ＩＰＤ５１
宛先２                        ：ＩＰＤ５２
宛先２に宛てたパケットの中継先：ＩＰＤ５２
【０１０８】
Ｐｒｏｘｙ１とＰｒｏｘｙ２は、自装置に設定されたパケットの宛先の情報とルーティングテーブルに従って、パケットの生成と転送を行う。さらに、サービスチェイン中の各仮想マシンも自装置に設定されたルーティングテーブルに従って、パケットを転送する。このため、図３２の太い矢印で示す転送経路が生成される。すなわち、Ｐｒｏｘｙ１で生成されるＣａｃｈｅ１宛てのパケットは、ＦＷ１、ＧＷＬＢ１、ＦＷＢ１を経由してＣａｃｈｅ１に到達する。Ｐｒｏｘｙ２で生成されるＣａｃｈｅ２宛てのパケットは、ＦＷ１、ＧＷＬＢ２、ＦＷＢ１を経由してＣａｃｈｅ２に到達する。
【０１０９】
ここで、送信元から送られてくるデータ量がＰｒｏｘｙ１とＰｒｏｘｙ２の間でほぼ同じである場合、Ｐｒｏｘｙ１とＰｒｏｘｙ３の各々が送信元から取得するデータ量は、送信元から送信されたデータ量の１／２ずつである。このため、ＧＷＬＢ１が処理するデータは送信されたデータの１／２程度となり、ＧＷＬＢ２が処理するデータも送信されたデータの１／２程度となる。このように、中継型のロードバランサとして動作する複数の仮想マシンを含むＶＮＦ１２においても、第４のパターンで説明した処理を行うことにより、負荷が分散される。
【０１１０】
（Ｂ６）中継型のロードバランサへの設定のまとめ
図３３は、中継型のロードバランサへの分散処理でのアドレスの設定例を説明した図である。図３３は、複数の仮想マシンＶＭ６１〜ＶＭ７１が含まれているサービスチェインの例である。ＶＭ６１〜ＶＭ６３が１つのＶＮＦ１２に含まれ、ＶＭ６４〜ＶＭ６６が他のＶＮＦ１２に含まれている。さらに、ＶＭ６７とＶＭ６８は、中継型のロードバランサとして動作するＶＮＦ１２に含まれている。さらに、ＶＭ６９とＶＭ７０が１つのＶＮＦ１２に含まれているとする。図３３では、複数の仮想マシンを含み、中継型ロードバランサとして動作するＶＮＦ１２での負荷分散のための処理の際の宛先や転送先の設定に関係する仮想マシンを実線で示し、その他の仮想マシンを点線で示している。このため、中継型ロードバランサとして動作するＶＭ６７、ＶＭ６８と、ＶＭ６７かＶＭ６８のいずれかにパケットを転送可能なＶＭ６４からＶＭ６６、ＶＭ６７かＶＭ６８のいずれかを介して中継されたパケットを終端するＶＭ７１が実線で示されている。
【０１１１】
図１９〜図３２を参照しながら説明したように、中継型ロードバランサにパケットを転送するＶＮＦ１２中の仮想マシンでのパケットの転送先と宛先の設定により、中継型ロードバランサとして動作するＶＮＦ１２中の仮想マシンでの負荷分散が可能である。また、このことは、中継型ロードバランサとして動作するＶＮＦ１２に隣接しているＶＮＦ１２が終端型と中継型のいずれでも同様である。このため、中継型ロードバランサとして動作する仮想マシンにパケットを転送可能なＶＭ６４〜ＶＭ６６でのパケットの転送先の設定により、ロードバランサとして動作するＶＭ６７とＶＭ６８の負荷分散が可能になる。このとき、管理装置２０は、中継型ロードバランサとして動作する仮想マシンにパケットを転送可能なＶＭ６４〜ＶＭ６６から転送されるパケットの宛先も、そのパケットを生成する終端型の装置を設定することによって設定する。従って、仮想マシンＶＭ６７に割り当てられたアドレスがＩＰ３で、仮想マシンＶＭ６８に割り当てられたアドレスがＩＰ４である場合、図３３に示すように、負荷分散が可能になる。
【０１１２】
図３４は、実施形態にかかる方法による負荷分散と他の方法との比較例を説明する図である。ケースＣ１２は実施形態にかかる負荷分散方法が用いられた場合の例であり、ケース１１は、他の通信方法が用いられた場合の例である。
【０１１３】
ケースＣ１１では、複数のロードバランサとして動作する仮想マシンに届くパケットの宛先の設定の際に、パケットを処理するロードバランサがいずれの仮想マシンであるかを考慮せずにパケットの宛先が決定されている。このため、例えば、ロードバランサが終端型であって、ケースＣ１１に示すように、ファイアウォールＦＷ１とＦＷ２のいずれから転送されるパケットの宛先もロードバランサＬＢ１に設定されることがあり得る。この場合、ファイアウォールＦＷ１とＦＷ２のいずれから転送されるパケットもロードバランサＬＢ１に到達するので、ロードバランサＬＢ１で輻輳が発生する一方、ロードバランサＬＢ２の使用率は低くなる。従ってシステムの効率が悪い。
【０１１４】
ケースＣ１２は、実施形態にかかる方法を用いて負荷分散を行った場合の例である。実施形態にかかる方法を用いると、複数のロードバランサとして動作する仮想マシンの転送形式が終端型か中継型かに応じて、ロードバランサとして動作する仮想マシンに到達するパケットの宛先をロードバランサに設定するかが決定される。このため、ロードバランサＬＢ１とＬＢ２がいずれも終端型の場合、ロードバランサで終端されるパケットを生成する仮想マシンにおいて、ロードバランサとして動作する仮想マシン間の負荷が分散されるように宛先を決定できる。このため、ケースＣ１２に示すように、ファイアウォールＦＷ１と方転送されるパケットはロードバランサＬＢ１、ファイアウォールＦＷ２から転送されるパケットはロードバランサＬＢ２に到達するので、ロードバランサ間での負荷分散が実現される。
【０１１５】
なお、図３４には図示していないが、実施形態にかかる方法では、中継型のロードバランサにパケットを転送可能な仮想マシンの各々において、ロードバランサ間の負荷が分散されるように、転送先が決定される。このため、複数の仮想マシンが中継型のロードバランサとして動作する場合も、実施形態にかかる方法を用いることにより、効率的に負荷を分散できる。
【０１１６】
＜その他＞
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
【０１１７】
図２２などを参照した説明では、分かりやすくするために、決定部３５がパケットの宛先を決定すると、経路設定部３６が、宛先の情報を仮想マシンに設定する場合について説明したが、設定処理のタイミングは実装に応じて変更され得る。例えば、決定部３５での転送先の決定が終わった後で、パケットの宛先と転送先の情報の両方を含む制御パケットを用いて、経路設定部３６から各仮想マシンに設定処理が行われても良い。
【０１１８】
以上の説明で図示したサービスチェイン要求やネットワーク管理テーブル４２は、一例に過ぎない。実装に応じて、サービスチェイン要求やネットワーク管理テーブル４２に含まれる情報要素は変更され得る。
【０１１９】
上述の実施形態に関し、さらに以下の付記を開示する。
（付記１）
複数の仮想マシンを含むネットワークを管理する管理装置であって、
当該仮想マシンが行う処理の種類と前記処理が行われる順序により、前記複数の仮想マシンの中から負荷分散処理を行う複数の仮想マシンを特定する特定部と、
前記特定した複数の仮想マシンに転送される転送パケットが前記特定した複数の仮想マシンで終端される場合、前記転送パケットの宛先を、前記特定した複数の仮想マシンにおける処理負荷に基づいて、前記特定した複数の仮想マシンのいずれかに決定する決定部と、
前記転送パケットを生成する仮想マシンに、前記決定された前記転送パケットの宛先の情報を含む制御パケットを送信する送信部
を含むことを特徴とする管理装置。
（付記２）
前記決定部は、前記転送パケットが前記特定した複数の仮想マシンで終端されずに転送される場合、前記特定した複数の仮想マシン間での処理負荷の差を小さくするように、前記特定した複数の仮想マシンへの転送処理が可能な仮想マシンでの前記転送パケットの転送先を決定し、
前記送信部は、前記特定した複数の仮想マシンへの転送処理が可能な仮想マシンに、当該仮想マシンに対して決定された転送先の情報を含む他の制御パケットを送信する
ことを特徴とする付記１に記載の管理装置。
（付記３）
前記決定部は、
前記転送パケットが前記特定した複数の仮想マシンで終端されずに転送される場合、前記転送パケットを終端する１つ以上の終端装置を特定し、
前記転送パケットを生成する仮想マシンに、当該仮想マシンから送信するパケットの宛先を前記１つ以上の終端装置から選択した装置に設定し、
前記特定した複数の仮想マシンへの転送処理が可能な仮想マシンでの前記転送パケットの転送先を、前記転送パケットに設定された宛先アドレスごとに、前記特定した複数の仮想マシンから選択する
ことを特徴とする付記２に記載の管理装置。
（付記４）
前記決定部は、前記転送パケットが前記特定した複数の仮想マシンで終端され、かつ、前記転送パケットを生成する仮想マシンから前記特定した複数の仮想マシンに至る経路に、前記転送パケットを前記特定した複数の仮想マシンに中継する１つ以上の中継装置が含まれている場合、前記１つ以上の中継装置の各々での前記転送パケットの転送先を、前記転送パケットに設定された宛先アドレスごとに決定する
ことを特徴とする付記１〜３のいずれか１項に記載の管理装置。
（付記５）
複数の仮想マシンを含むネットワークを管理する管理装置が、
当該仮想マシンが行う処理の種類と前記処理が行われる順序により、前記複数の仮想マシンの中から負荷分散処理を行う複数の仮想マシンを特定し、
前記特定した複数の仮想マシンに転送される転送パケットが前記特定した複数の仮想マシンで終端される場合、前記転送パケットの宛先を、前記特定した複数の仮想マシンにおける処理負荷に基づいて、前記特定した複数の仮想マシンのいずれかに決定し、
前記転送パケットを生成する仮想マシンに、前記決定された前記転送パケットの宛先の情報を含む制御パケットを送信する
処理を行うことを特徴とする管理方法。
（付記６）
前記管理装置は、
前記転送パケットが前記特定した複数の仮想マシンで終端されずに転送される場合、前記特定した複数の仮想マシン間での処理負荷の差を小さくするように、前記特定した複数の仮想マシンへの転送処理が可能な仮想マシンでの前記転送パケットの転送先を決定し、
前記特定した複数の仮想マシンへの転送処理が可能な仮想マシンに、当該仮想マシンに対して決定された転送先の情報を含む他の制御パケットを送信する
ことを特徴とする付記５に記載の管理方法。
（付記７）
前記管理装置は、
前記転送パケットが前記特定した複数の仮想マシンで終端されずに転送される場合、前記転送パケットを終端する１つ以上の終端装置を特定し、
前記転送パケットを生成する仮想マシンに、当該仮想マシンから送信するパケットの宛先を前記１つ以上の終端装置から選択した装置に設定し、
前記特定した複数の仮想マシンへの転送処理が可能な仮想マシンでの前記転送パケットの転送先を、前記転送パケットに設定された宛先アドレスごとに、前記特定した複数の仮想マシンから選択する
ことを特徴とする付記６に記載の管理方法。
（付記８）
前記管理装置は、前記転送パケットが前記特定した複数の仮想マシンで終端され、かつ、前記転送パケットを生成する仮想マシンから前記特定した複数の仮想マシンに至る経路に、前記転送パケットを前記特定した複数の仮想マシンに中継する１つ以上の中継装置が含まれている場合、前記１つ以上の中継装置の各々での前記転送パケットの転送先を、前記転送パケットに設定された宛先アドレスごとに決定する
ことを特徴とする付記５〜７のいずれか１項に記載の管理方法。
（付記９）
複数の仮想マシンを含むネットワークを管理する管理装置に、
当該仮想マシンが行う処理の種類と前記処理が行われる順序により、前記複数の仮想マシンの中から負荷分散処理を行う複数の仮想マシンを特定し、
前記特定した複数の仮想マシンに転送される転送パケットが前記特定した複数の仮想マシンで終端される場合、前記転送パケットの宛先を、前記特定した複数の仮想マシンにおける処理負荷に基づいて、前記特定した複数の仮想マシンのいずれかに決定し、
前記転送パケットを生成する仮想マシンに、前記決定された前記転送パケットの宛先の情報を含む制御パケットを送信する
処理を行わせることを特徴とする管理プログラム。
（付記１０）
前記管理装置に、
前記転送パケットが前記特定した複数の仮想マシンで終端されずに転送される場合、前記特定した複数の仮想マシン間での処理負荷の差を小さくするように、前記特定した複数の仮想マシンへの転送処理が可能な仮想マシンでの前記転送パケットの転送先を決定し、
前記特定した複数の仮想マシンへの転送処理が可能な仮想マシンに、当該仮想マシンに対して決定された転送先の情報を含む他の制御パケットを送信する
処理を行わせることを特徴とする付記９に記載の管理プログラム。
（付記１１）
前記管理装置に、
前記転送パケットが前記特定した複数の仮想マシンで終端されずに転送される場合、前記転送パケットを終端する１つ以上の終端装置を特定し、
前記転送パケットを生成する仮想マシンに、当該仮想マシンから送信するパケットの宛先を前記１つ以上の終端装置から選択した装置に設定し、
前記特定した複数の仮想マシンへの転送処理が可能な仮想マシンでの前記転送パケットの転送先を、前記転送パケットに設定された宛先アドレスごとに、前記特定した複数の仮想マシンから選択する
処理を行わせることを特徴とする付記１０に記載の管理プログラム。
（付記１２）
前記管理装置に、前記転送パケットが前記特定した複数の仮想マシンで終端され、かつ、前記転送パケットを生成する仮想マシンから前記特定した複数の仮想マシンに至る経路に、前記転送パケットを前記特定した複数の仮想マシンに中継する１つ以上の中継装置が含まれている場合、前記１つ以上の中継装置の各々での前記転送パケットの転送先を、前記転送パケットに設定された宛先アドレスごとに決定する
処理を行わせることを特徴とする付記９〜１１のいずれか１項に記載の管理プログラム。
【符号の説明】
【０１２０】
２  企業
３  広域ネットワーク
４  データセンタ
５  インターネット
６  拠点
７  サーバ
１０  管理サーバ
１１  ゲートウェイ
１２  ＶＮＦ
２０  管理装置
２１  通信部
２２  送信部
２３  受信部
３０  制御部
３１  取得部
３２  ＶＭ配備部
３３  サービスチェイン生成部
３４  特定部
３５  決定部
３６  経路設定部
４０  記憶部
４１  サービスチェイン要求情報
４２  ネットワーク管理テーブル
１０１  プロセッサ
１０２  メモリ
１０３  入力装置
１０４  出力装置
１０５  バス
１０６  記憶装置
１０７  ネットワークインタフェース
【図１】
2018023039.tif 000003
【図２】
2018023039.tif 000004
【図３】
2018023039.tif 000005
【図４】
2018023039.tif 000006
【図５】
2018023039.tif 000007
【図６】
2018023039.tif 000008
【図７】
2018023039.tif 000009
【図８】
2018023039.tif 000010
【図９】
2018023039.tif 000011
【図１０】
2018023039.tif 000012
【図１１】
2018023039.tif 000013
【図１２】
2018023039.tif 000014
【図１３】
2018023039.tif 000015
【図１４】
2018023039.tif 000016
【図１５】
2018023039.tif 000017
【図１６】
2018023039.tif 000018
【図１７】
2018023039.tif 000019
【図１８】
2018023039.tif 000020
【図１９】
2018023039.tif 000021
【図２０】
2018023039.tif 000022
【図２１】
2018023039.tif 000023
【図２２】
2018023039.tif 000024
【図２３】
2018023039.tif 000025
【図２４】
2018023039.tif 000026
【図２５】
2018023039.tif 000027
【図２６】
2018023039.tif 000028
【図２７】
2018023039.tif 000029
【図２８】
2018023039.tif 000030
【図２９】
2018023039.tif 000031
【図３０】
2018023039.tif 000032
【図３１】
2018023039.tif 000033
【図３２】
2018023039.tif 000034
【図３３】
2018023039.tif 000035
【図３４】
2018023039.tif 000036