(57)【特許請求の範囲】
【請求項１】
１つのサーバに配備される複数のネットワーク機能の各々に割り当てる割当リソースを管理するリソース割当管理装置であって、
ネットワークサービスで使用する複数のネットワーク機能の各々の性能条件を取得する第１の取得部と、
利用可能サーバのサーバリソース情報を取得する第２の取得部と、
前記性能条件、および、前記サーバリソース情報に基づいて、前記利用可能サーバのサーバリソースで処理可能な最大トラフィックを、前記利用可能サーバごとに算出し、
前記最大トラフィックあたりの未使用サーバリソース量が最小となる前記利用可能サーバを使用サーバとして決定し、
前記使用サーバが処理する前記最大トラフィックを実現する割当リソースを、前記ネットワークサービスで使用する複数のネットワーク機能の各々に割り当てる割当リソースとして決定する、決定部と、を備える、
ことを特徴とするリソース割当管理装置。
【請求項２】
前記第１の取得部は、前記サーバに配備される複数の前記ネットワーク機能の各々を実行する複数の仮想マシンが処理するトラフィックの分岐を許容するか否かを示すトラフィック分岐許容フラグをさらに取得し、
前記決定部は、前記トラフィック分岐許容フラグにも基づいて、前記使用サーバを決定し、前記割当リソースを決定する、
ことを特徴とする請求項１に記載のリソース割当管理装置。
【請求項３】
１つのサーバに配備される複数のネットワーク機能の各々に割り当てる割当リソースを管理するリソース割当管理装置におけるリソース割当管理方法であって、
前記リソース割当管理装置が、
ネットワークサービスで使用する複数のネットワーク機能の各々の性能条件を取得する第１の取得ステップと、
利用可能サーバのサーバリソース情報を取得する第２の取得ステップと、
前記性能条件、および、前記サーバリソース情報に基づいて、前記利用可能サーバのサーバリソースで処理可能な最大トラフィックを、前記利用可能サーバごとに算出し、
前記最大トラフィックあたりの未使用サーバリソース量が最小となる前記利用可能サーバを使用サーバとして決定し、
前記使用サーバが処理する前記最大トラフィックを実現する割当リソースを、前記ネットワークサービスで使用する複数のネットワーク機能の各々に割り当てる割当リソースとして決定する、決定ステップと、を実行する、
ことを特徴とするリソース割当管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＮＦＶ（Network Function Virtualization：ネットワーク機能仮想化）が導入されたキャリアネットワークにおいて実現されるサービスチェイニングの技術に関する。
【背景技術】
【０００２】
専用のハードウェア装置で実現されてきたネットワーク機能（以下、「ＮＷ（network）機能」と表記する場合がある）、例えば、ファイアウォールやＷＡＮ（Wide Area Network）高速化機能などを仮想化し、汎用サーバ上の仮想マシン（以下、「ＶＭ（Virtual Machine）」と表記する場合がある）で動作させることが行われつつある。また、ユーザトラフィックに対して、複数のネットワーク機能を順に適用するサービスチェイニングの実現が検討されている。
【０００３】
サービスチェイニングの実現形態として、（１）１台のサーバで１つのネットワーク機能だけを配備して動作させ、スイッチング装置を介してサーバ同士を接続することでユーザトラフィックに対して複数のネットワーク機能を適用する第１の形態と、（２）１台のサーバで複数のネットワーク機能を配備して動作させ、ユーザトラフィックへの複数のネットワーク機能の適用を行う第２の形態が考えられる。後者の、１台のサーバに複数のネットワーク機能を配備して動作させる第２の形態は、ネットワーク機能間を複数のサーバを跨いで接続するのではなく１台のサーバ内で接続するため、スイッチング装置の使用帯域や各サーバにおけるネットワークインターフェース（ＮＩＣ（Network Interface Controller））の使用帯域を抑制出来るメリットがある。
【０００４】
しかし、既存の仮想インフラ管理システム（例えば、OpenStack）は、ネットワーク機能毎に指定される性能条件を満たすサーバを選択し、当該サーバ上において、性能条件を満たすだけのリソースを持つＶＭを作成し、作成したＶＭを各ネットワーク機能に割り当てる機能を持つのみである。このような仮想インフラ管理システムでは、性能条件、例えば、ＶＭに割当可能なリソース量や、１ＶＭ当たりの処理可能トラフィックなどが異なる複数のネットワーク機能を、１台のサーバ上で組み合わせて実行する場合（つまり、第２の形態の場合）において、サーバのリソース（ＣＰＵ（Central Processing Unit）やメモリ等）を最大限活用することができないという課題がある。
【０００５】
また、特許文献１では、利用者が要求するＶＭの性能条件とサーバの物理的な状態に応じて、条件に合致する最適なサーバを決定する方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第５５１９５８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１に記載されている方法も、単一の性能条件に合致するサーバを決定するのみであり、異なる性能条件を持つ複数のＶＭを１台のサーバ上で組み合わせて実行する場合に、サーバリソースの利用効率を最大化する方法については開示されていない。
【０００８】
そこで、本発明は、上記事情を鑑みて、１つのサーバに複数のネットワーク機能を配備する形態において、ネットワーク機能の組み合わせに応じて、ネットワークサービスを提供するシステムに用いられるサーバのリソース利用効率を最大にすることを課題とする。
【課題を解決するための手段】
【０００９】
前記課題を解決するために、請求項１に記載の発明は、１つのサーバに配備される複数のネットワーク機能の各々に割り当てる割当リソースを管理するリソース割当管理装置であって、ネットワークサービスで使用する複数のネットワーク機能の各々の性能条件を取得する第１の取得部と、利用可能サーバのサーバリソース情報を取得する第２の取得部と、前記性能条件、および、前記サーバリソース情報に基づいて、前記利用可能サーバのサーバリソースで処理可能な最大トラフィックを、前記利用可能サーバごとに算出し、前記最大トラフィックあたりの未使用サーバリソース量が最小となる前記利用可能サーバを使用サーバとして決定し、前記使用サーバが処理する前記最大トラフィックを実現する割当リソースを、前記ネットワークサービスで使用する複数のネットワーク機能の各々に割り当てる割当リソースとして決定する、決定部と、を備える、ことを特徴とする。
【００１０】
また、請求項３に記載の発明は、１つのサーバに配備される複数のネットワーク機能の各々に割り当てる割当リソースを管理するリソース割当管理装置におけるリソース割当管理方法であって、前記リソース割当管理装置が、ネットワークサービスで使用する複数のネットワーク機能の各々の性能条件を取得する第１の取得ステップと、利用可能サーバのサーバリソース情報を取得する第２の取得ステップと、前記性能条件、および、前記サーバリソース情報に基づいて、前記利用可能サーバのサーバリソースで処理可能な最大トラフィックを、前記利用可能サーバごとに算出し、前記最大トラフィックあたりの未使用サーバリソース量が最小となる前記利用可能サーバを使用サーバとして決定し、前記使用サーバが処理する前記最大トラフィックを実現する割当リソースを、前記ネットワークサービスで使用する複数のネットワーク機能の各々に割り当てる割当リソースとして決定する、決定ステップと、を実行する、ことを特徴とする。
【００１１】
請求項１，３に記載の発明によれば、従来のように単一のＮＷ機能の単一の性能条件に注目するのではなく、複数のネットワーク機能の組み合わせによる複数の性能条件に注目して、最大トラフィックを処理可能な使用サーバ、および、割当リソースを決定することができる。
したがって、１つのサーバに複数のネットワーク機能を配備する形態において、ネットワーク機能の組み合わせに応じて、ネットワークサービスを提供するシステムに用いられるサーバのリソース利用効率を最大にすることができる。
【００１２】
また、請求項２に記載の発明は、請求項１に記載のリソース割当管理装置であって、前記第１の取得部は、前記サーバに配備される複数の前記ネットワーク機能の各々を実行する複数の仮想マシンが処理するトラフィックの分岐を許容するか否かを示すトラフィック分岐許容フラグをさらに取得し、前記決定部は、前記トラフィック分岐許容フラグにも基づいて、前記使用サーバを決定し、前記割当リソースを決定する、ことを特徴とする。
【００１３】
請求項２に記載の発明によれば、複数のネットワーク機能を実現する複数のＶＭに入出力されるトラフィックの分岐の許容する場合、または、許容しない場合に応じて、最大トラフィックを処理可能な使用サーバ、および、割当リソースを決定することができる。
【発明の効果】
【００１４】
本発明によれば、１つのサーバに複数のネットワーク機能を配備する形態において、ネットワーク機能の組み合わせに応じて、ネットワークサービスを提供するシステムに用いられるサーバのリソース利用効率を最大にすることができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態のリソース割当管理サーバを含むシステム全体の構成図である。
【図２】リソース割当管理サーバの機能構成図である。
【図３】ＮＷ機能の性能条件の例である。
【図４】ＮＷ機能Ａ〜Ｃを実行するＶＭ間の接続形態の例を示す図である。
【図５】空きサーバのサーバリソース情報の例である。
【図６】ネットワークサービス作成処理を示すシーケンスである。
【図７】使用サーバおよびＮＷ機能ごと割当リソースの決定処理を示すフローチャートである。
【図８】処理トラフィックと使用リソースとの関係（トラフィックの分岐を許容しない場合）を示す図である。
【図９】サーバごとの未使用リソーススコア（トラフィックの分岐を許容する場合）の例である。
【図１０】処理トラフィックと使用リソースとの関係（トラフィックの分岐を許容しない場合）を示す図である。
【図１１】サーバごとの未使用リソーススコア（トラフィックの分岐を許容しない場合）の例である。
【発明を実施するための形態】
【００１６】
本発明を実施するための形態（実施形態）について、図面を参照しながら詳細に説明する。
【００１７】
（全体構成）
図１に示すように、本実施形態のシステムは、リソース割当管理サーバ１０（リソース割当管理装置）と、仮想インフラ管理サーバ２０と、ＮＷ機能Ａ管理サーバ４０、ＮＷ機能Ｂ管理サーバ５０、ＮＷ機能Ｃ管理サーバ６０を備え、これらのサーバを通信可能に接続している。
図１中のオペレータ端末３０は、通信キャリアのオペレータが使用する汎用な端末であり、リソース割当管理サーバ１０に通信可能に接続している。
図１中のＮＷ機能Ａ＿ＶＭ４１〜４３は、ＮＷ機能Ａ管理サーバ４０が保持、管理するＶＭであり、サーバ（図示せず）に配備される。
図１中のＮＷ機能Ｂ＿ＶＭ５１〜５３は、ＮＷ機能Ｂ管理サーバ５０が保持、管理するＶＭであり、図示しないサーバに配備される。
図１中のＮＷ機能Ｃ＿ＶＭ６１〜６３は、ＮＷ機能Ｃ管理サーバ６０が保持、管理するＶＭであり、図示しないサーバに配備される。
なお、ＮＷ機能Ａ＿ＶＭ、ＮＷ機能Ｂ＿ＶＭ、ＮＷ機能Ｃ＿ＶＭを総称して、「ＮＷ機能ＶＭ」、または、単に、「ＶＭ」と称する場合がある。
【００１８】
リソース割当管理サーバ１０は、オペレータ端末３０からのネットワークサービス（Network Service。以降、「ＮＳ」と表記する場合がある）の作成要求に対して、当該ネットワークサービスで使用する複数のＮＷ機能の各々に割り当てる割当リソースを管理する。
【００１９】
仮想インフラ管理サーバ２０は、通信キャリアのデータセンタに設置されている汎用なサーバであり、ＮＷ機能ＶＭが動作するすべてのサーバの使用状況と、サーバの各々のサーバリソース情報（後記）を保持、管理する。また、仮想インフラ管理サーバ２０は、１つのサーバに配備される複数のＮＷ機能を実現する複数のＶＭ間の接続形態を保持、管理することができる。
【００２０】
ＮＷ機能Ａ管理サーバ４０、ＮＷ機能Ｂ管理サーバ５０、ＮＷ機能Ｃ管理サーバ６０は、リソース割当管理サーバ１０から指定されたＶＭに対して、ＮＷ機能の設定や起動を行う汎用なサーバである。
【００２１】
（リソース割当管理サーバ１０）
図２に示すように、リソース割当管理サーバ１０は、処理部１１、通信部１２、および、記憶部１３を備える。
通信部１２は、通信回線を介して情報を送受信する通信インターフェースによって構成され、内部バスなどを介して処理部１１に接続されている。
【００２２】
記憶部１３は、例えば、ハードディスク、フラッシュメモリ、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などの記憶装置である。記憶部１３は、例えば、ＮＷ機能の性能条件（後記）、ＮＷ機能が配備されるサーバのサーバリソース情報（後記）、ＮＷ機能へのリソース割当をどのようにするかを決定するためのプログラム（リソース割当プログラム）などを記憶する。
【００２３】
処理部１１は、リソース割当管理サーバ１０が実行する処理の全体を司る。処理部１１は、例えば、記憶部１３が記憶するプログラムをＣＰＵ（Central Processing Unit）が記憶部１３のＲＡＭに展開して実行することによって実現される。処理部１１は、ＮＳ作成要求取得部１０１（第１の取得部）、リソース情報取得部１０２（第２の取得部）、決定部１０３、リソース割当要求部１０４、および、ＮＷ機能起動要求部１０５、といった機能部を備えている。
【００２４】
（ＮＳ作成要求取得部１０１）
ＮＳ作成要求取得部１０１は、オペレータ端末３０からＮＳ作成要求を取得する。ＮＳ作成要求には、作成されるＮＳで使用する複数のＮＷ機能（または、当該ＮＷ機能を実現するＶＭ）の性能条件が含まれる。本実施形態では、ＮＷ機能として、３種類のＮＷ機能Ａ、ＮＷ機能Ｂ、ＮＷ機能Ｃを採り上げる。
【００２５】
性能条件は、各ＮＷ機能を実行するＶＭにどれだけのコンピューティングリソース（例えば、ＣＰＵのコア数やメモリ容量、ディスク（ＨＤＤ）容量など。（以下、「割当リソース」と称する場合がある。）を割り当てたときに、どれだけの帯域のトラフィックを処理出来るかを定義したものである。性能条件は、（１）ＮＷ機能によって、ＶＭに割り当てるリソースを増やすことで処理可能なトラフィックを増やすことができる場合（つまり、割当リソースが可変な場合）と、（２）ＶＭに割り当て可能なリソースは固定であり、処理可能トラフィックを増やすには、ＶＭの増設（ＶＭの数を増やす）が必要な場合とに分類することができる。
【００２６】
ＮＷ機能の性能条件の例を図３に示す。図３の例では、ＮＷ機能Ａは、割当リソースが可変であり、ＮＷ機能ＢおよびＮＷ機能Ｃは、割当リソースが固定となっている。図３に示すように、ＮＷ機能Ｂは、ＮＷ機能Ｃよりも１ＶＭあたりの処理トラフィックが小さい。
なお、図３では、リソースの種別としてＣＰＵとメモリとＨＤＤとを記載しているが、本発明の実施形態において、リソースの種別がこれらに限定されるわけではない。
【００２７】
また、ＮＳ作成要求は、複数のＮＷ機能を実現する複数のＶＭ間の接続形態に関する制約条件を含むことができる。例えば、オペレータ端末３０のオペレータが、この制約条件をＮＳ作成要求に入力する。
【００２８】
処理性能向上の観点から、ＮＷ機能間に何らかの振り分け機能（例えば、トラフィック中の各パケットに含まれるＭＡＣ（Media Access Control）アドレスやＩＰ（Internet Protocol）アドレスに基づく負荷分散機能など）を追加することなく、ＶＭ間を接続させる必要がある場合には、あるＮＷ機能のＶＭから出たトラフィックは必ず特定の一つのＶＭの入力とする必要がある。言い換えると、あるＶＭから出たトラフィックが分岐して複数のＶＭの入力になるようなＶＭ間の接続は許容されない（トラフィックの分岐は許容されない）。
【００２９】
図４に、ＮＷ機能Ａ〜Ｃを実行するＶＭ間の接続形態の例を示す。図４には、ＶＭ間の接続形態の例としてパターン１〜４が示されている。これらのＶＭ間の接続形態の例は、例えば、当該ＶＭが動作するサーバを管理する仮想インフラ管理サーバ２０が設定している。また、仮想インフラ管理サーバ２０は、処理トラフィックの大きさに応じて、複数存在する接続形態のいずれを採用するかということも設定している。
【００３０】
図４に示す例のうち、パターン１、パターン２、および、パターン４は、トラフィックの分岐無しという条件を満たす。一方、パターン３は、ＮＷ機能ＡのＶＭの出力トラフィックがＮＷ機能Ｂの２つのＶＭの入力となっており、トラフィックの分岐無しという条件を満たさず、ＮＷ機能ＡとＮＷ機能Ｂの間に（またはＮＷ機能Ａ自体に）何らかの振り分け機能が必要となる。パターン３は、トラフィックの分岐が有るＶＭ間の接続形態の例である。
【００３１】
ＶＭ間の接続において、トラフィック分岐無しの条件を満たすためには、特に、図４のパターン４に示すように、割当リソース量が固定でかつ１ＶＭあたりの処理トラフィックが小さいものから順にＮＷ機能を接続し（ＮＷ機能Ｂ（１ＶＭあたり３Ｇｂｐｓ処理）→ＮＷ機能Ｃ（１ＶＭあたり５Ｇｂｐｓ処理）の順に接続し）、割当リソース量が可変なＮＷ機能をその後に接続する必要がある（ＮＷ機能Ｃの後にＮＷ機能Ａを接続）。もし、ＮＷ機能Ｃ→ＮＷ機能Ｂの順に接続した場合、ＮＷ機能ＣのＶＭ１つで処理可能な５Ｇｂｐｓのトラフィックを制約なく（５Ｇｂｐｓのままで）処理するためには、ＮＷ機能ＢのＶＭは少なくとも２つ必要となり、トラフィック中のパケットをＮＷ機能ＢのＶＭ（複数）のいずれに振り分けるかという分岐を設けなくてはならない。
【００３２】
複数のＶＭ間の接続形態に関する制約条件には、サーバに配備される複数のＮＷ機能の各々を実行する複数のＶＭが処理するトラフィックの分岐を許容するか否かを示すトラフィック分岐許容フラグが含まれる。トラフィック分岐許容フラグは、トラフィック分岐を許容することを示す「オン」という値、または、トラフィック分岐を許容しないことを示す「オフ」という値のいずれかを持つ。例えば、オペレータ端末３０のオペレータが、トラフィック分岐許容フラグの値を設定する。トラフィック分岐許容フラグの値がオフである場合、例えば、図４のパターン３に示す接続形態は、対象外となる。
【００３３】
（リソース情報取得部１０２）
リソース情報取得部１０２は、仮想インフラ管理サーバ２０が保持する利用可能なサーバのサーバリソース情報を取得する。「利用可能なサーバ」とは、オペレータ端末３０からのＮＳ作成要求に含まれるＮＷ機能に割り当てる十分な割当リソース量を有するサーバをいう。本実施形態では、利用可能なサーバを、「空きサーバ」と呼ぶ場合もある。
【００３４】
図５に、仮想インフラ管理サーバ２０が保持し、リソース情報取得部１０２が仮想インフラ管理サーバ２０から取得する空きサーバのサーバリソース情報の例を示す。図５に示す例は、サーバＸ、サーバＹ、サーバＺという３種類のサーバが利用可能であることを示している。サーバＸは、特定の１台の機器を示すのではなく、所定のリソース量を持つ機器群を示している。サーバＹ、サーバＺについても同様であり、サーバＸとは異なるリソース量を持つサーバ群を示している。
【００３５】
図５には、サーバリソースの種類として、ＣＰＵ、メモリ、ＨＤＤ、残台数が示されているが、本実施形態において、サーバリソースの種類はこれらに限定されない。
「ＣＰＵ」の欄には、サーバＸ、サーバＹ、サーバＺの各々のＣＰＵコア数が格納される。
「メモリ」の欄には、サーバＸ、サーバＹ、サーバＺの各々のメモリ容量（ＧＢ）が格納される。
「ＨＤＤ」の欄には、サーバＸ、サーバＹ、サーバＺの各々のディスク容量（ＴＢ）が格納される。
「残台数」の欄には、サーバＸ、サーバＹ、サーバＺという機器群を構成する機器のうち、未使用中（利用可能でない）となっている機器の台数が格納される。
【００３６】
（決定部１０３）
決定部１０３は、ＮＳ作成要求取得部１０１から取得したＮＳ作成要求に含まれるＮＷ機能の性能条件、および、リソース情報取得部１０２から取得したサーバリソース情報に基づいて、利用可能サーバのサーバリソースで処理可能な最大トラフィックを、前記利用可能サーバごとに算出する。また、決定部１０３は、最大トラフィックあたりの未使用サーバリソース量が最小となる利用可能サーバを使用サーバとして決定する。また、決定部１０３は、使用サーバが処理する最大トラフィックを実現する割当リソースを、作成要求対象のＮＳで使用する複数のＮＷ機能の各々に割り当てる割当リソースとして決定する。
【００３７】
（リソース割当要求部１０４）
リソース割当要求部１０４は、仮想インフラ管理サーバ２０に対して、リソース割当要求を送信する。リソース割当要求には、決定部１０３が決定した使用サーバ、および、複数のＮＷ機能の各々に割り当てる割当リソース（値）が含まれている。仮想インフラ管理サーバ２０は、リソース割当要求で指定された使用サーバにおいて、同じく指定されたリソースを持つ１または複数のＶＭを作成する。また、仮想インフラ管理サーバ２０は、それらＶＭに接続するための接続情報（例えばＩＰアドレスなど）を含むリソース割当応答をリソース割当管理サーバ１０に送信する。
【００３８】
（ＮＷ機能起動要求部１０５）
ＮＷ機能起動要求部１０５は、仮想インフラ管理サーバ２０から受信したリソース割当応答に基づいて、リソース割当応答に含まれる各ＮＷ機能用のＶＭへの接続情報を含むＮＷ機能起動要求を、ＮＷ機能Ａ管理サーバ４０、ＮＷ機能Ｂ管理サーバ５０、ＮＷ機能Ｃ管理サーバ６０の各々に送信する。ＮＷ機能起動要求を受信したＮＷ機能Ａ管理サーバ４０、ＮＷ機能Ｂ管理サーバ５０、ＮＷ機能Ｃ管理サーバ６０の各々は、ＮＷ機能起動要求に含まれる接続情報を用いて、新たに作成されたＶＭに接続してＮＷ機能Ａ〜Ｃを起動する。
【００３９】
＜処理＞
図６に示すように、本実施形態におけるネットワークサービス作成処理は、以下の手順で実行される。この処理は、ステップＳ１０１から開始する。
【００４０】
ステップＳ１０１にて、オペレータ端末３０は、通信事業者のオペレータの入力操作によって、ＮＳ作成要求をリソース割当管理サーバ１０に送信する。ＮＳ作成要求には、新たに作成するＮＳで使用するＮＷ機能Ａ〜Ｃの性能条件、および、ＮＷ機能Ａ〜Ｃを実現する複数のＶＭ間の接続形態に関する制約条件を含む。説明の便宜上、制約条件に含まれるトラフィック分岐許容フラグの値はオンとする。リソース割当管理サーバ１０は、ＮＳ作成要求に含まれる、性能条件および制約条件を記憶部１３に記憶する。ＮＷ機能Ａ〜Ｃの性能条件の内容は、図３に示す通りである。
【００４１】
ステップＳ１０２にて、リソース割当管理サーバ１０は、ＮＷ機能を実行するサーバと各ＮＷ機能へ割り当てる割当リソースを決定するため、サーバリソース情報取得要求を仮想インフラ管理サーバ２０に送信する。
【００４２】
ステップＳ１０３にて、サーバリソース情報取得要求を受信した仮想インフラ管理サーバ２０は、自身が管理する空きサーバのリソース情報をサーバリソース情報取得応答としてリソース割当管理サーバ１０に送信する。空きサーバのリソース情報には、サーバＸ、サーバＹ、サーバＺに関するサーバリソース情報が含まれている（図５参照）。
【００４３】
ステップＳ１０４にて、リソース割当管理サーバ１０は、サーバリソース情報取得応答に含まれる空きサーバＸ〜Ｚのリソース情報、および、複数のＮＷ機能Ａ〜Ｃの各々の性能条件を用いて、使用サーバおよびＮＷ機能ごと割当リソース決定処理を実行する。
【００４４】
［使用サーバおよびＮＷ機能ごと割当リソース決定処理］
図７に示すように、使用サーバおよびＮＷ機能ごと割当リソース決定処理（Ｓ１０４）は、以下の手順で実行される。この処理は、ステップＳ２０１から開始する。
【００４５】
ステップＳ２０１にて、リソース割当管理サーバ１０の決定部１０３は、オペレータ端末３０から受信したＮＳ作成要求に含まれる制約条件に含まれるトラフィック分岐許容フラグを判定する。本処理では、トラフィック分岐許容フラグの値がオンであり、ＮＷ機能Ａ〜Ｃを実行する複数のＶＭが処理するトラフィックの分岐を許容するとして説明を続ける。
【００４６】
ステップＳ２０２にて、決定部１０３は、仮想インフラ管理サーバ２０から受信したサーバリソース情報に基づいて、利用可能なサーバＸ，Ｙ，Ｚのすべてに対して、ステップＳ２０２〜ステップＳ２０５までのループ処理をサーバごとに繰り返す。
【００４７】
ステップＳ２０３にて、決定部１０３は、対象のサーバのサーバリソースで処理可能な最大トラフィックを算出する。
ステップＳ２０４にて、決定部１０３は、算出した最大トラフィックを実現する割当リソースを、ＮＷ機能の各々への割当リソース量として算出する。
ステップＳ２０５にて、決定部１０３は、算出した、ＮＷ機能の各々への割当リソース量を用いて、ＮＷ機能の各々に割り当てられずに残った未使用サーバリソース量を算出する。
【００４８】
ステップＳ２０３の最大トラフィックの算出は、例えば、処理トラフィックを、１Ｇｂｐｓから２Ｇｂｐｓ，３Ｇｂｐｓ，・・・と１Ｇｂｐｓずつ増やしていった場合の各ＮＷ機能で必要となるリソース量を算出することで、対象のサーバのサーバリソースを超えないトラフィックの最大値として求めることができる。また、算出した最大トラフィック（ステップＳ２０３）に応じて、各ＮＷ機能への割当リソース（ステップＳ２０４）、および、未使用サーバリソース量（ステップＳ２０５）は自ずと求めることができる。
【００４９】
例えば、図３に示す性能条件のＮＷ機能Ａ〜Ｃを実行する場合の、処理トラフィックと必要となる割当リソース（使用リソース）との関係（トラフィックの分岐を許容する場合）は、図８に示すとおりである。図８では簡単のため、使用リソースとして、ＣＰＵコア数とメモリ量のみを示している（ＨＤＤと残台数については省略。以降の説明においても同様）。図３の性能条件を踏まえると、例えば、９Ｇｂｐｓの処理トラフィックを処理するときのＣＰＵコア数は２９となる（ＮＷ機能ＡはＣＰＵ１８（＝２×９）コア使用、ＮＷ機能ＢはＣＰＵ９（＝３×３）コア使用、ＮＷ機能ＣはＣＰＵ２（＝１×２）コア使用）。また、９Ｇｂｐｓの処理トラフィックを処理するときのメモリ量は５２ＧＢとなる（ＮＷ機能Ａは４５（＝５×９）ＧＢ使用、ＮＷ機能Ｂは３（＝１×３）ＧＢ使用、ＮＷ機能Ｃは４（＝２×２）ＧＢ使用）。処理トラフィックが１Ｇｂｐｓ増えるごとに、ＮＷ機能Ａ〜Ｃにおける使用リソースを算出する。
【００５０】
図８の内容によれば、サーバＸで処理可能な最大トラフィックは９Ｇｂｐｓとなる（処理トラフィック９Ｇｂｐｓに必要なＣＰＵコア数２９＜サーバＸのＣＰＵの空きコア数３２（図５参照）＜処理トラフィック１０Ｇｂｐｓに必要なＣＰＵコア数３４）。最大トラフィックが９Ｇｂｐｓであるときの使用リソースは、ＣＰＵ２９コア、メモリ量５２ＧＢとなる。よって、サーバＸの未使用リソース量は、ＣＰＵ３（＝３２−２９）コア、メモリ量１２（＝６４−５２）ＧＢとなる（ステップＳ２０５）。
上記と同様にして、サーバＹで処理可能な最大トラフィックは１６Ｇｂｐｓとなる。最大トラフィックが１６Ｇｂｐｓであるときの使用リソースは、ＣＰＵ５４コア、メモリ量９４ＧＢとなる。よって、サーバＹの未使用リソース量は、ＣＰＵ１０コア、メモリ量２ＧＢとなる（計算は省略）。
また、サーバＺで処理可能な最大トラフィックは４Ｇｂｐｓとなる。最大トラフィックが４Ｇｂｐｓであるときの使用リソースは、ＣＰＵ１５コア、メモリ量２４ＧＢとなる。よって、サーバＺの未使用リソース量は、ＣＰＵ１コア、メモリ量２４ＧＢとなる（計算は省略）。
【００５１】
なお、上記した最大トラフィックの算出方法は、トラフィックの分岐が無い図４のパターン１，２，４に適用することができるし、トラフィックの分岐が有る図４のパターン３にも適用することができる。
また、仮想インフラ管理サーバ２０は、図４に示すパターン１，２，４というＶＭ間の接続形態を、処理トラフィックに応じて使い分けるように設定することができる。例えば、処理トラフィックが３Ｇｂｐｓ以下の場合は、ＮＷ機能Ａ〜Ｃのすべてが１ＶＭで処理できるため、パターン１を採用する。処理トラフィックが３Ｇｂｐｐｓより大きく５Ｇｂｐｓ以下の場合は、ＮＷ機能Ａ，Ｃは１ＶＭで処理でき、ＮＷ機能Ｂは２ＶＭで処理できるため、パターン２を採用する。処理トラフィックが５Ｇｂｐｐｓより大きい場合は、パターン４を採用する。
【００５２】
図７に戻って、ステップＳ２０２〜ステップＳ２０５までのループ処理の後、ステップＳ２０６にて、決定部１０３は、最大トラフィックあたりの未使用リソース量が最小となるサーバを使用サーバとして決定する。ここで、複数種類に及ぶサーバリソースの未使用リソース量をサーバ（Ｘ，Ｙ，Ｚ）間で比較するため、未使用リソーススコアという指標値を導入し、例えば、下記のように算出する。
未使用リソーススコア  ＝  ｛未使用ＣＰＵコア数＊係数（例えば、１）
＋  未使用メモリ量［ＧＢ］＊係数（例えば０．５）｝
／最大トラフィック
・・・（式１）
トラフィックの分岐を許容する場合の、サーバごとの未使用リソーススコアは、図９に示す通りである。図９によれば、サーバＹの未使用リソーススコアが最小（０．６９）となるため、決定部１０３は、サーバＹを使用サーバとして決定する。
【００５３】
図７に戻って、ステップＳ２０７にて、算出した最大トラフィックを実現する割当リソースをＮＷ機能（Ａ〜Ｃ）の各々に割り当てる割当リソースとして決定する。ステップＳ２０６にて、使用サーバをサーバＹとして決定したので、最大トラフィックは１６［Ｇｂｐｓ］であり、ＮＷ機能（Ａ〜Ｃ）の各々に割り当てる割当リソースは、最大トラフィック１６［Ｇｂｐｓ］を実現する割当リソースとなる。
【００５４】
したがって、決定部１０３は、新たにＮＷ機能Ａ，Ｂ，Ｃを実行する最適なサーバ、および、そのサーバにおける各ＮＷ機能へのリソースの割当を決定することができる。
以上で、使用サーバおよびＮＷ機能ごと割当リソース決定処理（トラフィックの分岐を許容しない場合）が完了する。
【００５５】
図６に戻って、ステップＳ１０４の後、ステップＳ１０５にて、リソース割当管理サーバ１０のリソース割当要求部１０４は、仮想インフラ管理サーバ２０に対して、リソース割当要求を送信する。リソース割当要求には、決定部１０３が決定した使用サーバ（サーバＹ）、および、複数のＮＷ機能（Ａ〜Ｃ）の各々に割り当てる割当リソース（値）が含まれている。
仮想インフラ管理サーバ２０は、リソース割当要求で指定された使用サーバにおいて、同じく指定されたリソースを持つ１または複数のＶＭを作成する。
【００５６】
ステップＳ１０６にて、仮想インフラ管理サーバ２０は、リソース割当管理サーバ１０に対して、リソース割当応答を送信する。リソース割当応答には、新たに作成したＶＭに接続するための接続情報（例えばＩＰアドレスなど）が含まれる。
【００５７】
ステップＳ１０７にて、リソース割当管理サーバ１０のＮＷ機能起動要求部１０５は、ＮＷ機能Ａ管理サーバ４０、ＮＷ機能Ｂ管理サーバ５０、ＮＷ機能Ｃ管理サーバ６０の各々に対して、ＮＷ機能起動要求を送信する。ＮＷ機能起動要求には、リソース割当応答に含まれる各ＮＷ機能用のＶＭへの接続情報が含まれる。
ＮＷ機能Ａ管理サーバ４０、ＮＷ機能Ｂ管理サーバ５０、ＮＷ機能Ｃ管理サーバ６０の各々は、接続情報を用いて、ＮＷ機能Ａ〜Ｃを、新たに作成したＶＭに接続して起動する。
【００５８】
ステップＳ１０８にて、ＮＷ機能Ａ管理サーバ４０、ＮＷ機能Ｂ管理サーバ５０、ＮＷ機能Ｃ管理サーバ６０の各々は、リソース割当管理サーバ１０に対して、ＮＷ機能起動応答を送信する。ＮＷ機能起動応答には、新たに作成したＶＭに接続したＮＷ機能Ａ〜Ｃの起動が完了した旨が含まれている。
リソース割当管理サーバ１０は、すべてのＮＷ機能起動応答を受信すると、オペレータ端末３０から要求されたＮＳを作成することができる。
【００５９】
ステップＳ１０９にて、リソース割当管理サーバ１０は、オペレータ端末３０に対して、ＮＳ作成要求（Ｓ１０１）に対応するＮＳ作成応答を送信する。ＮＳ作成応答には、オペレータ端末３０から要求されたＮＳの作成が完了した旨が含まれている。
以上の手順により、指定したＮＷ機能Ａ〜Ｃに応じたネットワークサービスが作成される。
【００６０】
（トラフィックの分岐を許容しない場合）
これまでは、オペレータ端末３０からのＮＳ作成要求によってトラフィックの分岐が許容される場合（トラフィック分岐許容フラグの値がオンの場合）について説明した。しかし、トラフィックの分岐が許容されない場合（トラフィック分岐許容フラグの値がオフの場合。例えば、図４のパターン３を許容しない場合。）についても上記と同様に処理することができる。
【００６１】
例えば、図３に示す性能条件のＮＷ機能Ａ〜Ｃを実行する場合の、処理トラフィックと必要となる割当リソース（使用リソース）との関係（トラフィックの分岐を許容しない場合）は、図１０に示すとおりである。図８に示した関係（トラフィックの分岐を許容する場合）と比較すると、図１０の例では、サーバＸで処理可能な最大トラフィックは、トラフィック分岐無しの条件がない場合と同じく９Ｇｂｐｓであるが、このときの使用リソースは、ＣＰＵ３０コア、メモリ５４ＧＢと増加している（ＮＷ機能ＡはＣＰＵ１８（＝２×９）コア使用、ＮＷ機能ＢはＣＰＵ９（＝３×３）コア使用、ＮＷ機能ＣはＣＰＵ３（＝１×３）コア使用。また、ＮＷ機能Ａは４５（＝５×９）ＧＢ使用、ＮＷ機能Ｂは３（＝１×３）ＧＢ使用、ＮＷ機能Ｃは６（＝２×３）ＧＢ使用）。図１０では、図８と比較して異なる数値を示す（値が増加した）箇所に下線を引いてある。
【００６２】
このような使用リソースの増加が生じるのは、ＮＷ機能ＣのＶＭは本来５Ｇｂｐｓのトラフィックを処理可能であるが（図３参照）、図４のパターン１，２，４において、前段に配置するＮＷ機能ＢのＶＭの処理トラフィック量が３Ｇｂｐｓであることから、後段のＮＷ機能ＣのＶＭの処理トラフィックも３Ｇｂｐｓに制約されるためである。つまり、仮に、トラフィックの分岐が許容されていれば、ＮＷ機能ＢのＶＭまたはＮＷ機能ＣのＶＭを増設し、適切にＶＭ間を接続することで、ＮＷ機能ＣのＶＭの処理トラフィックを本来の処理可能な５Ｇｂｐｓにすることができるが、今回の場合は、そのような手法は採用できず、ＮＷ機能Ｃの性能を十分に発揮できないということである。
【００６３】
なお、割当リソースが可変なＮＷ機能は、サーバで処理するトラフィックの処理に必要なだけのリソースを一つのＶＭに割り当てることができるため、作成するネットワークサービスが、割当リソースが可変なＮＷ機能のみから構成される場合は、トラフィックの分岐の許容の有無による、最大トラフィック量やそのときの使用リソースに変化はない。
同様に、割当リソースが固定なＮＷ機能が一つのみで、残りのＮＷ機能は割当リソースが可変である場合も、割当リソースが固定なＮＷ機能を、ＮＷ機能接続チェーンの最も前段に持ってくることで、トラフィックの分岐の許容の有無による、最大トラフィック量やそのときの使用リソースに変化はない。
【００６４】
図１０の内容によれば、サーバＸで処理可能な最大トラフィックは９Ｇｂｐｓとなる（処理トラフィック９Ｇｂｐｓに必要なＣＰＵコア数３０＜サーバＸのＣＰＵの空きコア数３２（図５参照）＜処理トラフィック１０Ｇｂｐｓに必要なＣＰＵコア数３４）。最大トラフィックが９Ｇｂｐｓであるときの使用リソースは、ＣＰＵ３０コア、メモリ量５４ＧＢとなる。よって、サーバＸの未使用リソース量は、ＣＰＵ２（＝３２−３０）コア、メモリ量１０（＝６４−５４）ＧＢとなる（ステップＳ２０５）。
上記と同様にして、サーバＹで処理可能な最大トラフィックは１５Ｇｂｐｓとなる。最大トラフィックが１５Ｇｂｐｓであるときの使用リソースは、ＣＰＵ５０コア、メモリ量９０ＧＢとなる。よって、サーバＹの未使用リソース量は、ＣＰＵ１４コア、メモリ量６ＧＢとなる（計算は省略）。
また、サーバＺで処理可能な最大トラフィックは４Ｇｂｐｓとなる。最大トラフィックが４Ｇｂｐｓであるときの使用リソースは、ＣＰＵ１６コア、メモリ量２６ＧＢとなる。よって、サーバＺの未使用リソース量は、ＣＰＵ０コア、メモリ量２２ＧＢとなる（計算は省略）。
【００６５】
決定部１０３は、最大トラフィックあたりの未使用リソース量が最小となるサーバを使用サーバとして決定する（図７のステップＳ２０６）。決定部１０３は、既に説明した（式１）を用いて未使用リソーススコアを算出する。
トラフィックの分岐を許容しない場合の、サーバごとの未使用リソーススコアは、図１１に示す通りである。図１１によれば、サーバＸの未使用リソーススコアが最小（０．７８）となるため、決定部１０３は、サーバＸを使用サーバとして決定する。
【００６６】
図７のステップＳ２０７にて、算出した最大トラフィックを実現する割当リソースをＮＷ機能（Ａ〜Ｃ）の各々に割り当てる割当リソースとして決定する。ステップＳ２０６にて、使用サーバをサーバＸとして決定したので、最大トラフィックは９［Ｇｂｐｓ］であり、ＮＷ機能（Ａ〜Ｃ）の各々に割り当てる割当リソースは、最大トラフィック９［Ｇｂｐｓ］を実現する割当リソースとなる。
【００６７】
したがって、決定部１０３は、トラフィックの分岐を許容しない場合においても、新たにＮＷ機能Ａ，Ｂ，Ｃを実行する最適なサーバ、および、そのサーバにおける各ＮＷ機能へのリソースの割当を決定することができる。
【００６８】
（まとめ）
本実施形態によれば、従来のように単一のＮＷ機能の単一の性能条件に注目するのではなく、複数のネットワーク機能の組み合わせによる複数の性能条件に注目して、最大トラフィックを処理可能な使用サーバ、および、割当リソースを決定することができる。
したがって、１つのサーバに複数のネットワーク機能を配備する形態において、ネットワーク機能の組み合わせに応じて、ネットワークサービスを提供するシステムに用いられるサーバのリソース利用効率を最大にすることができる。
【００６９】
また、複数のネットワーク機能を実現する複数のＶＭに入出力されるトラフィックの分岐の許容する場合、または、許容しない場合に応じて、最大トラフィックを処理可能な使用サーバ、および、割当リソースを決定することができる。
【００７０】
（変形例）
本実施形態では、ＮＷ機能Ａ，Ｂ，Ｃから構成される新たなネットワークサービスを生成する際のシーケンスについて述べた。しかし、作成済みのネットワークサービスに加入するユーザ数が増え、収容トラフィックが増大した場合に、当該ネットワークサービスで使用するサーバを追加して増やす場合についても、本実施形態と同様にして、追加するサーバを決定することができる。
【００７１】
本実施形態で説明した種々の技術を適宜組み合わせた技術を実現することもできる。
本実施形態で説明したソフトウェアをハードウェアとして実現することもでき、ハードウェアをソフトウェアとして実現することもできる。
その他、ハードウェア、ソフトウェア、フローチャートなどについて、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【符号の説明】
【００７２】
１０      リソース割当管理サーバ（リソース割当管理装置）
１１      処理部
１２      通信部
１３      記憶部
２０      仮想インフラ管理サーバ
３０      オペレータ端末
４０      ＮＷ機能Ａ管理サーバ
４１，４２，４３      ＮＷ機能Ａ＿ＶＭ
５０      ＮＷ機能Ｂ管理サーバ
５１，５２，５３      ＮＷ機能Ｂ＿ＶＭ
６０      ＮＷ機能Ｃ管理サーバ
６１，６２，６３      ＮＷ機能Ｃ＿ＶＭ
１０１    ＮＳ作成要求取得部（第１の取得部）
１０２    リソース情報取得部（第２の取得部）
１０３    決定部
１０４    リソース割当要求部
１０５    ＮＷ機能起動要求部
【図１】
0006339978.tif 000002
【図２】
0006339978.tif 000003
【図３】
0006339978.tif 000004
【図４】
0006339978.tif 000005
【図５】
0006339978.tif 000006
【図６】
0006339978.tif 000007
【図７】
0006339978.tif 000008
【図８】
0006339978.tif 000009
【図９】
0006339978.tif 000010
【図１０】
0006339978.tif 000011
【図１１】
0006339978.tif 000012