(57)【要約】【課題】ハードウェアのリソースの性能差がある場合にも、ネットワーク機能の性能を正しく推定することができる性能推定装置を提供する。【解決手段】性能推定装置を、リソース割当判断手段１と、通信処理判断手段２と、リソース紐付け手段３と、処理性能計算手段４を備える構成とする。リソース割当判断手段１は、ネットワーク機能を有するサーバのネットワーク機能に割り当てられているハードウェアのリソースを判断する。通信処理判断手段２は、サーバのネットワーク機能において行われている通信処理をステップごとに分解し、ステップごとの処理内容を順に並べた情報を通信処理フローとして生成する。リソース紐付け手段３は、通信処理フローにおいて、通信処理のステップごとに、処理内容と、通信処理を実行するハードウェアのリソースと、リソースごとの性能の情報とを互いに紐付ける。処理性能計算手段４は、ネットワーク機能の処理性能を計算する。【選択図】      図１
2018201108.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク機能を有するサーバの前記ネットワーク機能に割り当てられているハードウェアのリソースを判断するリソース割当判断手段と、
前記サーバの前記ネットワーク機能において実行される通信処理をステップごとに分解し、前記ステップごとの処理内容を順に並べた情報を通信処理フローとして生成する通信処理判断手段と、
前記通信処理フローにおいて、前記通信処理のステップごとに、前記処理内容と、前記通信処理を実行する前記ハードウェアのリソースと、前記ハードウェアのリソースごとの性能の情報とを互いに紐付けるリソース紐付け手段と、
前記リソース紐付け手段が紐付けた情報を基に、前記サーバの前記ネットワーク機能の処理性能を計算する処理性能計算手段と
を備えることを特徴とする性能推定装置。
【請求項２】
前記リソース割当判断手段は、前記サーバから取得する前記ネットワーク機能の設定情報を基に、前記ネットワーク機能に割り当てられている前記ハードウェアのリソースと、前記ハードウェアのリソースごとの性能を判断し、
前記処理性能計算手段は、前記処理性能として、前記通信処理のステップごとの処理時間を前記リソースの性能の情報を基に計算し、前記通信処理フローを実行する際の合計の前記処理時間を計算することを特徴とする請求項１に記載の性能推定装置。
【請求項３】
前記サーバ上の仮想マシンにおいて仮想化を行う際の通信処理をステップごとに分解し、前記ステップごとの処理内容を順に並べた情報を仮想通信処理フローとして生成する仮想構造判断手段と、
前記通信処理フローと、前記仮想通信処理フローとを基に、１パケットを前記仮想マシンで処理する際の一連のフローを第２の通信処理フローとして生成するシーケンス作成手段と
をさらに備え、
前記通信処理判断手段は、前記仮想マシン内で行われている前記通信処理をステップごとに分解し、前記ステップごとの処理内容を順に並べた情報を前記通信処理フローとして生成し、
前記リソース紐付け手段は、前記第２の通信処理フローにおいて、前記通信処理のステップごとに、前記処理内容と、前記通信処理を実行する前記ハードウェアのリソースと、前記リソースの性能の情報を互いに紐付けることを特徴とする請求項１または２に記載の性能推定装置。
【請求項４】
前記サーバにおいて他のネットワーク機能に既に割り当てられているリソースの情報を取得する既存割当取得手段をさらに備え、
前記処理性能計算手段は、前記リソース間の競合を基に設定された前記リソースの処理性能の情報を用いて、前記処理性能を計算することを特徴とする請求項１から３いずれかに記載の性能推定装置。
【請求項５】
ネットワークの設定情報を取得し、前記設定情報を基に前記サーバに前記ネットワーク機能を導入する設定導入手段と、
前記設定導入手段が導入した前記ネットワーク機能において、前記ハードウェアのリソースが前記通信処理を行う際に、前記通信処理のステップごとの処理時間を計測する処理時間計測手段をさらに備え、
前記処理性能計算手段は、処理時間計測手段が計測した前記通信処理のステップごとの処理時間を基に、前記処理性能を計算することを特徴とする請求項１から４いずれかに記載の性能推定装置。
【請求項６】
入力されたパケットの処理を行うネットワーク機能を有するサーバと、
請求項１から５いずれかに記載の性能推定装置と
を備え、
前記性能推定装置の前記処理性能計算手段は、前記サーバの前記ネットワーク機能の処理性能を計算することを特徴とする性能推定システム。
【請求項７】
ネットワーク機能を有するサーバの前記ネットワーク機能に割り当てられているハードウェアのリソースを判断し、
前記サーバの前記ネットワーク機能において実行される通信処理をステップごとに分解し、前記ステップごとの処理内容を順に並べた情報を通信処理フローとして生成し、
前記通信処理フローにおいて、前記通信処理のステップごとに、前記処理内容と、前記通信処理を行う前記ハードウェアのリソースと、前記ハードウェアのリソースごとの性能の情報とを互いに紐付け、
紐付けた情報を基に、前記サーバの前記ネットワーク機能の処理性能を計算することを特徴とする性能推定方法。
【請求項８】
前記サーバ上の仮想マシンにおいて仮想化を行う際の通信処理をステップごとに分解し、前記ステップごとの処理内容を順に並べた情報を仮想通信処理フローとして生成し、
前記仮想マシン内で行われている前記通信処理をステップごとに分解し、前記ステップごとの処理内容を順に並べた情報を前記通信処理フローとして生成し、
前記通信処理フローと、前記仮想通信処理フローとを基に、１パケットを前記仮想マシンで処理する際の一連のフローを第２の通信処理フローとして生成し、
前記第２の通信処理フローにおいて、前記通信処理のステップごとに、前記処理内容と、前記通信処理を実行する前記ハードウェアのリソースと、前記リソースの性能の情報を互いに紐付け、
前記サーバの前記ネットワーク機能の前記処理性能を計算することを特徴とする請求項７に記載の性能推定方法。
【請求項９】
前記サーバにおいて他のネットワーク機能に既に割り当てられているリソースの情報を取得し、
前記リソース間の競合を基に設定された前記リソースの処理性能の情報を用いて、前記処理性能を計算することを特徴とする請求項７または８に記載の性能推定方法。
【請求項１０】
ネットワーク機能を有するサーバの前記ネットワーク機能に割り当てられているハードウェアのリソースを判断する処理と、
前記サーバの前記ネットワーク機能において実行される通信処理をステップごとに分解し、前記ステップごとの処理内容を順に並べた情報を通信処理フローとして生成する処理と、
前記通信処理フローにおいて、前記通信処理のステップごとに、前記処理内容と、前記通信処理を行う前記ハードウェアのリソースと、前記ハードウェアのリソースごとの性能の情報とを互いに紐付ける処理と、
紐付けた情報を基に、前記サーバの前記ネットワーク機能の処理性能を計算する処理をコンピュータに実行させることを特徴とする性能推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ上のネットワーク機能による通信技術に関するものであり、特に、ネットワーク機能の性能を推定する技術に関するものである。
【背景技術】
【０００２】
ネットワーク機能仮想化技術により、汎用的なサーバの上に仮想的にネットワーク機能を導入することが可能になっている。これにより、複数の汎用サーバの上に導入したネットワーク機能を通信可能に接続することで仮想的なネットワーク網を構築し、構築したネットワーク網をユーザに提供するサービスが可能になった。このようなサービスを実現するためには、構築したネットワーク網がユーザの要求する性能を満たしていなければならない。そのため、個々のネットワーク機能の性能を正しく推定する技術の開発が行われている。そのような、個々のネットワーク機能の性能を推定する技術としては、例えば、非特許文献１のような技術が開示されている。
【０００３】
非特許文献１は、ネットワーク機能の性能を推定する性能推定システムに関するものである。非特許文献１の性能推定システムは、各処理ステップ集めたデータベース、ハードウェアと処理ステップをマッピングする装置、ネットワーク機能を処理ステップで記述する装置、ネットワーク機能の性能を推定する装置から構成される。非特許文献１の性能推定システムは、ネットワーク機能とハードウェアの構成を入力とし、ネットワーク機能を処理ステップの集合として表現する。また、非特許文献１の性能推定システムは、ネットワーク機能に含まれる各処理ステップに対して、ハードウェア性能をマッピングし、処理ステップごとの性能を算出する。非特許文献１の性能推定システムは、目的のネットワーク機能を構成する処理ステップの性能を足し合わせることで、ネットワーク機能の性能を推定している。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｍａｒｉｏ  Ｂａｌｄｉ、Ａｍｅｄｅｏ  Ｓａｐｉｏ，“Ａ  Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎ  Ｍｏｄｅｌｉｎｇ  Ａｐｐｒｏａｃｈ  ｆｏｒ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｅｓｔｉｍａｔｉｏｎ”、２０１５  ＩＥＥＥ  １ｓｔ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｆｏｒｕｍ  ｏｎ  Ｒｅｓｅａｒｃｈ  ａｎｄ  Ｔｅｃｈｎｏｌｏｇｉｅｓ  ｆｏｒ  Ｓｏｃｉｅｔｙ  ａｎｄ  Ｉｎｄｕｓｔｒｙ  Ｌｅｖｅｒａｇｉｎｇ  ａ  ｂｅｔｔｅｒ  ｔｏｍｏｒｒｏｗ  （ＲＴＳＩ）、２０１５、ｐｐ．５２７−５３３
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献１の技術は次のような点で十分ではない。非特許文献１に記載の技術では、設定によってハードウェアの性能が異なる際に、性能差を見積もることができない。その理由は、ＣＰＵ（Central Processing Unit）、メモリおよびネットワークインターフェースなどのハードウェアのリソースを同じ量、割り当てた場合でも、ハードウェアのどのリソースを割り当てるかによって性能が異なるためである。例えば、１コアのＣＰＵを割り当てた場合でも、割り当てたＣＰＵコアが属するソケットに繋がれたメモリからデータを読み出す場合と、異なるソケットに繋がれたメモリからデータを読み出す場合では、データの読み出しにかかる時間が異なる。非特許文献１では、同種のリソースを割り当てた場合には性能が同一であるとみなしてネットワーク機能の性能を推定するため、割り当てられるリソース間の性能の違いによってネットワーク機能の性能を正しく推定することができない恐れがある。そのため、非特許文献１の技術は、ネットワーク機能の性能を正しく推定する技術としては十分ではない。
【０００６】
本発明は、上記の課題を解決するため、ハードウェアのリソースの性能差がある場合にも、ネットワーク機能の性能を正しく推定することができる性能推定装置を提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記の課題を解決するため、本発明の性能推定装置は、リソース割当判断手段と、通信処理判断手段と、リソース紐付け手段と、処理性能計算手段を備えている。リソース割当判断手段は、ネットワーク機能を有するサーバのネットワーク機能に割り当てられているハードウェアのリソースを判断する。通信処理判断手段は、サーバのネットワーク機能において実行される通信処理をステップごとに分解し、ステップごとの処理内容を順に並べた情報を通信処理フローとして生成する。リソース紐付け手段は、通信処理フローにおいて、通信処理のステップごとに、処理内容と、通信処理を実行するハードウェアのリソースと、ハードウェアのリソースごとの性能の情報とを互いに紐付ける。処理性能計算手段は、リソース紐付け手段が紐付けた情報を基に、サーバのネットワーク機能の処理性能を計算する。
【０００８】
本発明の性能推定方法は、ネットワーク機能を有するサーバのネットワーク機能に割り当てられているハードウェアのリソースを判断する。本発明の性能推定方法は、サーバのネットワーク機能において実行される通信処理をステップごとに分解し、ステップごとの処理内容を順に並べた情報を通信処理フローとして生成する。本発明の性能推定方法は、通信処理フローにおいて、通信処理のステップごとに、処理内容と、通信処理を実行するハードウェアのリソースと、ハードウェアのリソースごとの性能の情報とを互いに紐付ける。本発明の性能推定方法は、紐付けた情報を基に、サーバのネットワーク機能の処理性能を計算する。
【発明の効果】
【０００９】
本発明によると、ハードウェアのリソースの性能差がある場合にも、ネットワーク機能の性能を正しく推定することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１の実施形態の構成の概要を示すブロック図である。
【図２】本発明の第２の実施形態の構成の概要を示すブロック図である。
【図３】本発明の第２の実施形態のリソース割当図の例を示す図である。
【図４】本発明の第２の実施形態の通信処理のステップの例を示す図である。
【図５】本発明の第２の実施形態のリソース紐付け部の出力結果の例を示す図である。
【図６】本発明の第２の実施形態の性能推定装置の動作フローを示す図である。
【図７】本発明の第３の実施形態の構成の概要を示すブロック図である。
【図８】本発明の第３の実施形態の仮想化通信処理のステップの例を示す図である。
【図９】本発明の第３の実施形態において性能推定装置に入力されるネットワーク機能の構成の例を示す図である。
【図１０】本発明の第３の実施形態のシーケンス作成部が出力するシーケンス図の例を示す図である。
【図１１】本発明の第３の実施形態の性能推定装置の動作フローを示す図である。
【図１２】本発明の第４の実施形態の構成の概要を示すブロック図である。
【図１３】本発明の第４の実施形態の性能推定装置の動作フローを示す図である。
【図１４】本発明の第５の実施形態の構成の概要を示すブロック図である。
【図１５】本発明の第５の実施形態の性能推定装置の動作フローを示す図である。
【図１６】本発明の各実施形態の性能推定装置を用いた性能推定システムの構成の例を示す図である。
【発明を実施するための形態】
【００１１】
［第１の実施形態］
［第１の実施形態の構成］
本発明の第１の実施形態について図を参照して詳細に説明する。図１は、本実施形態の性能推定装置の構成の概要を示したブロック図である。
【００１２】
本実施形態の性能推定装置は、リソース割当判断手段１と、通信処理判断手段２と、リソース紐付け手段３と、処理性能計算手段４を備えている。リソース割当判断手段１は、ネットワーク機能を有するサーバのネットワーク機能に割り当てられているハードウェアのリソースを判断する。通信処理判断手段２は、サーバのネットワーク機能において実行される通信処理をステップごとに分解し、ステップごとの処理内容を順に並べた情報を通信処理フローとして生成する。リソース紐付け手段３は、通信処理フローにおいて、通信処理のステップごとに、処理内容と、通信処理を実行するハードウェアのリソースと、リハードウェアのソースごとの性能の情報とを互いに紐付ける。処理性能計算手段４は、リソース紐付け手段３が紐付けた情報を基に、サーバの前記ネットワーク機能の処理性能を計算する。
【００１３】
［第１の実施形態の効果］
本実施形態の性能推定装置は、リソース割当判断手段１においてネットワーク機能に割り当てられているリソースを判断し、通信処理判断手段２において通信処理をステップごとに分解した通信処理フローを生成している。また、本実施形態の性能推定装置は、リソース紐付け手段３における通信処理フローの各ステップと対応するリソースと性能情報の紐付け結果を基に、処理性能計算手段４においてサーバのネットワーク機能の処理性能を計算している。本実施形態の性能推定装置は、ステップごとの通信処理、リソースおよびリソースの性能の情報の紐付け結果を基に、ネットワーク機能の処理性能を計算している。そのため、本実施形態の性能推定装置は、リソースごとの性能が異なった場合にも性能差を反映して、ネットワーク機能の性能を計算することができる。その結果、本実施形態の性能推定装置は、リソースごとの性能が異なった場合にもハードウェアのリソースの性能差がある場合にも、ネットワーク機能の性能を正しく推定することができる。
【００１４】
［第２の実施形態］
［第２の実施形態の構成］
本発明の第２の実施形態について図を参照して詳細に説明する。図２は、本実施形態の性能推定装置１００の構成の概要を示したものである。
【００１５】
本実施形態の性能推定装置１００は、設定受信部１０１、リソース割当判断部１０２、通信処理判断部１０３、通信処理ＤＢ（Database）部１０４、リソース紐付け部１０５、処理時間計算部１０６を備えている。本実施形態の性能推定装置１００は、複数のサーバ上に仮想的にネットワーク機能を導入することによって形成された通信ネットワークにおいて、各サーバのネットワーク機能の性能を推定する装置である。
【００１６】
設定受信部１０１は、ハードウェアのリソース割り当ての設定およびハードハードウェアの性能の情報と、ネットワーク機能における通信処理に関わる設定情報を取得する。設定受信部１０１は、各情報を、ネットワーク機能の性能を推定する対象のサーバから取得する。また、設定受信部１０１は、各情報を仮想ネットワークの管理サーバから取得してもよい。設定受信部１０１が取得する各情報は、作業者によって入力されてもよい。
【００１７】
設定受信部１０１は、リソース割当判断部１０２および通信処理判断部１０３とそれぞれ通信可能に接続されている。設定受信部１０１は、取得したハードウェアのリソース割り当ての設定およびハードハードウェアの性能の情報を、リソース割当判断部１０２に送る。また、設定受信部１０１は、取得したネットワーク機能における通信処理に関わる設定情報を通信処理判断部１０３に送る。
【００１８】
リソース割当判断部１０２は、受け取ったハードウェアのリソース割り当ての設定の情報を基に、ネットワーク機能と、ネットワーク機能が用いるハードウェアのリソースを紐付ける。また、リソース割当判断部１０２は、ネットワーク機能とリソースが紐付けられた情報に、さらにリソースに対応するハードウェアの性能の情報を関連づけてリソースの割り当てマップをリソース割当図として生成する。
【００１９】
図３は、リソース割当図の例を示したものである。図３では、例えば、ＣＰＵ（Central Processing Unit）の各ブロックが、パケット受信などのネットワーク機能にそれぞれ割り当てられている。また、図３では、各ハードウェア間の通信時間などの情報が示されている。リソース割当図は、通信パケットが経由するハードウェアの構成要素、各構成要素の性能および構成要素間の通信時間が情報として含まれているものであれば、図３以外の構成のものであってもよい。
【００２０】
また、ハードウェアの性能に関する情報には、設定受信部１０１を介して取得した情報に代えて、ネットワーク機能を設定するサーバの性能の計測結果を基に設定された情報を用いてもよい。計測結果を基に設定した情報を用いる場合には、例えば、ネットワーク機能を設定するサーバ上でベンチマークツールなどを用いて性能を計測した結果を基にハードウェアの性能に関する情報を設定することができる。また、本実施形態のリソース割当判断部１０２の機能は、第１の実施形態のリソース割当判断手段１に相当する。
【００２１】
通信処理判断部１０３は、設定受信部１０１から受け取ったネットワーク機能の設定を、逐次的な通信処理ステップに分解する。通信処理判断部１０３は、通信処理ＤＢ部１０４のデータと照らし合わせ、ひとつの通信処理フローを生成する。通信処理ステップとは、ネットワーク機能が割り当てられたサーバにおいて、パケットのデータに対して行う一つ一つの処理を意味する。また、通信処理フローとは、逐次的に並べられた通信処理ステップの列を意味する。また、本実施形態の通信処理判断部１０３の機能は、第１の実施形態の通信処理判断手段２に相当する。
【００２２】
通信処理ＤＢ部１０４は、ネットワーク機能の通信処理ステップのデータが保存されている。通信処理ステップのデータは、例えば、図４に示す形で保存されている。図４は、通信処理ＤＢ部１０４に保存されている通信処理ステップのデータの例を示したものである。
【００２３】
通信処理ＤＢ部１０４には、ぞれぞれの通信処理ステップに対して、パケットの入力元ハードウェア、出力先ハードウェア、通信処理を行うハードウェアおよび必要な処理時間の情報が関連づけられて保存されている。必要な処理時間は、例えば、時間またはＣＰＵのサイクル数で表現される。パケットの入力元ハードウェア、出力先ハードウェアおよび通信処理を行うハードウェアは、リソース割当判断部１０２で用いるリソース割当図に含まれている。
【００２４】
通信処理ＤＢ部１０４に保存されている情報は、図４の形式以外のものであってもよい。例えば、通信処理ＤＢ部１０４に保存されている情報は、ネットワーク機能の設定情報に対して、通信処理ステップを紐付けた形式ものであってもよい。また、必要な処理時間において、ハードウェアの性能やリソースの割り当てに依存する部分は変数によって与えられる。ハードウェアの性能は、例えば、ＣＰＵのクロック周波数や、ＣＰＵとメモリの間の通信遅延などを基にした情報である。また、リソースの割り当ては、どのＣＰＵのコアを通信処理に割り当てるかを示す情報である。
【００２５】
リソース紐付け部１０５は、リソース割当判断部１０２と通信処理判断部１０３の情報を紐付けて出力する。リソース紐付け部１０５は、例えば、リソース割当判断部１０２と通信処理判断部１０３の情報を紐付けた情報として、図５に示す形式の情報を出力する。図５は、リソース紐付け部１０５が出力するリソース割当判断部１０２と通信処理判断部１０３の情報を紐付けた情報の例を示したものである。
【００２６】
リソース紐付け部１０５は、通信処理判断部１０３において構成されたネットワーク機能のそれぞれの通信処理ステップに対して、通信処理に関わるハードウェアと、ハードウェアのうちどのリソースが割り当てられるのかを示す情報と、処理性能の情報を紐付ける。通信処理に関わるハードウェアの情報は、入力元ハードウェア、出力先ハードウェアおよび通信処理を行うハードウェアの情報によって構成される。また、リソース紐付け部１０５は、変数として設定されている処理性能の情報に、リソース間の通信遅延、通信帯域および各リソースの処理性能などの変数を代入する。また、本実施形態のリソース紐付け部１０５の機能は、第１の実施形態のリソース紐付け手段３に相当する。
【００２７】
処理時間計算部１０６は、リソース紐付け部１０５から出力された通信処理フローのそれぞれのステップの通信処理に必要な時間を計算する。処理時間計算部１０６は、各ステップの通信処理に必要な時間を、通信処理フローに含まる全てのステップについて足し合わせることで、ネットワーク機能が通信パケットの処理に必要とする時間を計算する。また、本実施形態の処理時間計算部１０６の機能は、第１の実施形態の処理性能計算手段４に相当する。
【００２８】
本実施形態の設定受信部１０１、リソース割当判断部１０２、通信処理判断部１０３、リソース紐付け部１０５および処理時間計算部１０６における各処理は、ＣＰＵなどのプロセッサ上でコンピュータプログラムを実行することで行うことができる。設定受信部１０１、リソース割当判断部１０２、通信処理判断部１０３、リソース紐付け部１０５および処理時間計算部１０６における各処理を実行するコンピュータプログラムは、半導体記憶装置やハードディスクドライブなどの記憶装置に保存されている。また、各処理を実行するコンピュータプログラムは、各コンピュータプログラムを記録した記録媒体または通信ネットワークを介して頒布することができる。
【００２９】
設定受信部１０１、リソース割当判断部１０２、通信処理判断部１０３、リソース紐付け部１０５および処理時間計算部１０６における各処理の一部または全ては、各処理を行う回路パターンが形成された半導体装置で行われてもよい。各処理を行う回路パターンが形成された半導体装置には、例えば、ＦＰＧＡ（Field Programmable Gate Array）やＡＳＩＣ（Application Specific Integrated Circuit）を用いることができる。
【００３０】
通信処理ＤＢ部１０４は、例えば、フラッシュメモリなどの不揮発性の半導体記憶装置やハードディスクドライブなどの記憶装置、または、それらの組み合わせによって形成することができる。
【００３１】
［第２の実施形態の動作］
本実施形態の性能推定装置の動作について説明する、図６は、本実施形態の性能推定装置の動作フローを示したフローチャートである。
【００３２】
始めに、設定受信部１０１が、入力としてハードウェアの設定および性能情報と、ネットワーク機能の設定情報を受け取る（ステップＳ１０１）。各情報を受け取ると、設定受信部１０１は、受け取った情報をハードウェアに関わるものと、通信処理に関わるものに分離する。各情報を分離すると、設定受信部１０１は、ハードウェアに関わるものとして分離した情報をリソース割当判断部１０２に出力する。また、設定受信部１０１は、通信処理に関わるものとして分離した情報を通信処理判断部１０３に出力する（ステップＳ１０２）。
【００３３】
ハードウェアの設定および性能情報を受け取ると、リソース割当判断部１０２は、受け取ったハードウェアの性能情報をハードウェアのリソース割当図に反映する（ステップＳ１０３）。ハードウェアの性能情報には、設定受信部１０１から入力された情報に代えて、対象のハードウェア上でベンチマークツールなどを用いて計測した結果に基づいた情報が用いられてもよい。
【００３４】
ハードウェアの性能情報を反映すると、リソース割当判断部１０２は、受け取ったハードウェアの設定情報から、ネットワーク機能に割り当てられているリソースを判断し、ハードウェアのリソース割当図に反映する（ステップＳ１０４）。
【００３５】
通信処理に関わる情報を受け取ると、通信処理判断部１０３は、通信処理に関わる情報として受け取ったネットワーク機能に関する設定を、通信処理ステップに分解する。通信処理ステップに分解すると、通信処理判断部１０３は、各通信処理ステップを基に通信処理フローを構成する（ステップＳ１０５）。
【００３６】
通信処理フローを構成すると、通信処理判断部１０３は、通信処理ＤＢ部１０４を参照して、各通信処理ステップに対応する情報を取得する。通信処理判断部１０３は、各通信処理ステップに対応する情報として、入力元ハードウェア、出力先ハードウェア、通信処理を行うハードウェアおよび処理に必要な時間の４項目を取得する（ステップＳ１０６）。
【００３７】
全ての通信処理ステップに対して通信処理ＤＢ部１０４の情報を取得すると、通信処理判断部１０３は、通信処理フローと取得した情報をリソース紐付け部１０５に出力する。上記のリソース割当判断部１０２と通信処理判断部１０３はそれぞれ独立に動作するため、リソース割当判断部１０２と通信処理判断部１０３における各処理は、逐次処理で進められてもよく、また、並列処理で進められてもよい。また、通信処理判断部１０３は、通信処理フローの情報を構成した際に、構成した通信処理フローの情報を通信処理ＤＢ部１０４に保存してもよい。
【００３８】
リソース割当判断部１０２と通信処理判断部１０３からそれぞれ情報を受け取るとリソース紐付け部１０５は、受け取った情報の紐付けを行う。リソース紐付け部１０５は、通信処理判断部１０３から受け取った通信処理フローの中のハードウェアおよび処理に必要な時間に対して、リソース割当判断部１０２から受け取ったリソースの割当情報およびハードウェアの性能情報を紐付ける（ステップＳ１０７）。
【００３９】
各情報の紐付けを行うと、リソース紐付け部１０５は、紐付けした情報を処理時間計算部１０６に送る。紐付けした情報を受け取ると、処理時間計算部１０６は、各通信処理ステップに必要な時間を計算し、それを通信処理フロー中の全ステップで足し合わせることで、一つの通信処理フローに必要な時間を計算する（ステップＳ１０８）。処理時間計算部１０６が算出した１つの通信処理フローに必要な時間の情報は、ネットワークの管理サーバ等に送られ、パスの構築や通信の制御に用いられる。
【００４０】
［第２の実施形態の効果］
本実施形態の性能推定装置１００は、リソース割当判断部１０２において、ネットワーク機能に対してどのリソースが割り当てられているかを判断している。また、本実施形態の性能推定装置１００は、通信処理判断部１０３においてネットワーク機能がどのような通信処理ステップを持ち、それぞれの通信処理ステップにどれだけの時間を要するかを判断している。また、本実施形態の性能推定装置は、リソース紐付け部１０５において、通信処理ステップに用いられるリソースを判断し、処理時間計算部１０６において、各通信処理に要する時間から１つの通信処理フローに必要な時間を算出している。このように、１つの通信処理フローに必要な時間を、ステップごとに対応するリソースの性能情報を考慮して算出することで、本実施形態の性能推定装置１００は、リソース間で性能差があった場合にも性能差を反映した処理時間を算出することができる。よって、本実施形態の性能推定装置１００は、ハードウェアおよびネットワーク機能の設定に基づいて、ネットワーク機能の性能を推定することができる。その結果、本実施形態の性能推定装置１００は、リソースごとの性能が異なった場合にもハードウェアのリソースの性能差がある場合にも、ネットワーク機能の性能を正しく推定することができる。
【００４１】
［第３の実施形態］
［第３の実施形態の構成］
本発明の第３の実施形態について図を参照して詳細に説明する。図７は、本実施形態の性能推定装置２００の構成の概要を示すブロック図である。
【００４２】
本実施形態の性能推定装置２００は、設定受信部１０１と、リソース割当判断部１０２と、通信処理判断部１０３と、通信処理ＤＢ部１０４と、リソース紐付け部１０５と、処理時間計算部１０６を備えている。また、本実施形態の性能推定装置２００は、ＮＷ（Network）設定分解部２０１と、仮想化構造判断部２０２と、仮想化ＤＢ部２０３と、シーケンス作成部２０４をさらに備えている。
【００４３】
本実施形態の性能推定装置２００は、第２の実施形態の性能推定装置１００と同様の機能に加え、ネットワーク機能が仮想マシン内で動作する場合にもネットワーク機能の性能の推定を行えることを特徴とする。
【００４４】
本実施形態の性能推定装置２００の設定受信部１０１、リソース割当判断部１０２、通信処理判断部１０３、通信処理ＤＢ部１０４、リソース紐付け部１０５および処理時間計算部１０６の構成と機能は、第２の実施形態の同名称の部位と同様である。
【００４５】
ＮＷ設定分解部２０１は、ネットワーク機能に関する設定のうち、仮想化に関する設定と、ホストおよび仮想マシン内での通信処理に関する設定を分解する。仮想化に関する設定とは、ハードウェアと仮想マシン間での通信処理に関する設定のことをいう。ＮＷ設定分解部２０１は、仮想化に関する設定として、例えば、ＳＲ−ＩＯＶ(Single Root IO Virtualization)や仮想ホストの設定を分解する。また、ＮＷ設定分解部２０１は、通信処理に関する設定としてＤＰＤＫ(Data Plane Development Kit)やＬｉｎｕｘ（登録商標）ネットワークスタックのようなホストおよび仮想マシン内での設定を分解する。ＮＷ設定分解部２０１は、分解した仮想化に関する設定の情報を仮想化構造判断部２０２へ出力する。また、ＮＷ設定分解部２０１は、分解した通信処理に関する設定を通信処理判断部１０３へ出力する。
【００４６】
仮想化構造判断部２０２は、ＮＷ設定分解部２０１から受け取った仮想化に関する設定を、逐次的な通信処理ステップに分解して通信処理フローを構成する。また、仮想化構造判断部２０２は、仮想化に関する設定と通信処理フローの対応を示す情報を仮想化ＤＢ部２０３に保存する。仮想化に関する設定と通信処理フローの対応を示す情報は、仮想化構造判断部２０２に保持されていてもよい。
【００４７】
仮想化ＤＢ部２０３は、仮想化構造の通信処理ステップの情報を保存している。仮想化ＤＢ部２０３は、例えば、図８に示す形式によって仮想化構造の通信処理ステップの情報を保存している。図８は、仮想化構造の通信処理ステップの情報の例を示したものである。仮想化ＤＢ部２０３には、通信処理ＤＢ部１０４と同様に、それぞれの通信処理ステップに対して、パケットの入力元ハードウェア、出力先ハードウェアおよび、通信処理を行うハードウェアに加え、必要な処理時間が情報として格納されている。また、仮想化ＤＢ部２０３では、入力元ハードウェア、出力先ハードウェアおよび通信の処理を行うハードウェアに対して、それぞれＶＭＭ（Virtual Machine Manager）の資源であるのか、ＶＭの資源であるのかを示す情報がさらに付加されている。また、仮想化構造の通信処理ステップのうち、仮想マシン内での処理に該当する部分は、図８に示すように通信処理ＤＢ部１０４のエントリに一致するように保持してよい。
【００４８】
シーケンス作成部２０４は、仮想化構造判断部２０２および通信処理判断部１０３から得られた通信処理フローをもとに、サーバがパケットを受け取ってから転送するまでの、ひとつの通信処理フローを作成する。例えば、サーバ内での通信が、図９に示される順で処理される場合、シーケンス作成部２０４は、図１０に示すような通信処理フローのシーケンス図を出力する。図９は、仮想ネットワークを構成する各機能部位において行われる通信処理のステップを示した図であり、図１０は、通信処理フローを示したシーケンス図である。シーケンス作成部２０４は、仮想化構造判断部２０２より得られた通信処理ステップのうち、仮想マシン内での処理に該当するものに対して、通信処理判断部１０３から得られた通信処理フローを挿入することで、ひとつの通信処理フローを形成する。
【００４９】
本実施形態のＮＷ設定分解部２０１、仮想化構造判断部２０２、シーケンス作成部２０４および第２の実施形態と共通した構成の各部位における処理は、ＣＰＵなどのプロセッサ上でコンピュータプログラムを実行することで行うことができる。各部位における処理を実行するコンピュータプログラムは、半導体記憶装置やハードディスクドライブなどの記憶装置に保存されている。また、各処理を実行するコンピュータプログラムは、各コンピュータプログラムを記録した記録媒体または通信ネットワークを介して頒布することができる。
【００５０】
ＮＷ設定分解部２０１、仮想化構造判断部２０２、シーケンス作成部２０４および第２の実施形態と共通の各部位における各処理の一部または全ては、各処理を行う回路パターンが形成された半導体装置で行われてもよい。各処理を行う回路パターンが形成された半導体装置には、例えば、ＦＰＧＡやＡＳＩＣを用いることができる。
【００５１】
通信処理ＤＢ部１０４および仮想化ＤＢ部２０３は、例えば、フラッシュメモリなどの不揮発性の半導体記憶装置やハードディスクドライブなどの記憶装置、または、それらの組み合わせによって形成することができる。
【００５２】
［第３の実施形態の動作］
本実施形態の性能推定装置２００の動作について説明する。図１１は、本実施形態の性能推定装置２００の動作フローを示したフローチャートである。
【００５３】
始めに、設定受信部１０１が、入力としてハードウェアの設定および性能情報と、ネットワーク機能の設定情報を受け取る。各情報を受け取ると、設定受信部１０１は、ハードウェアの設定および性能情報をリソース割当判断部１０２に出力する（ステップＳ２０１）。また、設定受信部１０１は、ネットワーク機能の設定情報をＮＷ設定分解部２０１に出力する（ステップＳ２０２）。
【００５４】
ハードウェアの設定および性能情報を受け取ると、リソース割当判断部１０２は、第２の実施形態と同様に、ネットワーク機能に割り当てられているハードウェアの性能情報を、ハードウェアのリソース割当図に反映する（ステップＳ２０３）。また、リソース割当判断部１０２は、ネットワーク機能に割り当てられているリソースを判断し、ハードウェアのリソース割当図に反映する（ステップＳ２０４）
ネットワーク機能の設定情報を受け取ると、ＮＷ設定分解部２０１は、ネットワーク機能に関する設定を、仮想化に関する設定と仮想マシン内での通信に関する設定に分離する。ネットワーク機能に関する設定を分離すると、ＮＥ設定分解部２０１は、仮想化に関する設定を仮想化構造判断部２０２に出力する。また、ＮＥ設定分解部２０１は、仮想マシン内での通信に関する設定を通信処理判断部１０３に出力する（ステップＳ２０５）。
【００５５】
仮想化に関する設定を受け取ると、仮想化構造判断部２０２は、受け取った仮想化に関する設定を、通信処理ステップに分解し、通信処理フローを仮想通信処理フローとして構成する（ステップＳ２０６）。
【００５６】
仮想化構造判断部２０２は、仮想化ＤＢ部２０３を参照し、各通信処理ステップに対して、入力元ハードウェア、出力先ハードウェア、通信処理を行うハードウェアの情報を取得する。また、仮想化構造判断部２０２は、各ハードウェアがＶＭＭとＶＭのいずれに属するのかという情報と、処理に必要な時間についても取得し、合計５項目の情報を取得する（ステップＳ２０７）。仮想化ＤＢ部２０３から各情報を取得すると、仮想化構造判断部２０２は、取得した各情報と通信処理フローの情報をシーケンス作成部２０４に出力する。また、仮想化構造判断部２０２は、仮想化に関する設定を基に仮想通信処理フローを構成した際に、構成した仮想通信処理フローの情報を、仮想化ＤＢ部２０３に保存してもよい。
【００５７】
仮想マシン内での通信に関する設定を受け取ると、通信処理判断部１０３は、受け取った仮想マシン内での通信に関する設定を通信処理ステップに分解する（ステップＳ２０８）。通信処理ステップに分解すると、通信処理判断部１０３は、通信処理ＤＢ部１０４を参照し、各通信処理ステップに対応する入力元ハードウェア、出力先ハードウェア、通信処理を行うハードウェア、処理に必要な時間の４項目を取得する（ステップＳ２０９）。通信処理ＤＢ部１０４から各情報を取得すると、通信処理判断部１０３は、通信処理のステップ、各ハードウェアの情報および処理に必要な時間の情報をシーケンス作成部２０４に送る。
【００５８】
通信処理フローの情報を受け取ると、シーケンス作成部２０４は、仮想化構造判断部２０２から得られた仮想通信処理フローのうち、入力元ハードウェアおよび出力先ハードウェアが仮想マシンを示す通信処理ステップを抽出する。仮想マシンを示す通信処理ステップを抽出すると、シーケンス作成部２０４は、入力元ハードウェアおよび出力先ハードウェアが仮想マシンを示す通信処理ステップに対して通信処理判断部１０３から得られた通信処理フローを代入する。シーケンス作成部２０４は、仮想マシンを示す通信処理ステップに対して通信処理判断部１０３から得られた通信処理フローを代入することで、一連の通信処理フローを再構成する（ステップＳ２１０）。
【００５９】
通信処理フローを再構成すると、シーケンス作成部２０４は、再構成された通信処理フローの情報をリソース紐付け部１０５に送る。
【００６０】
再構成された通信処理フローの情報を受け取ると、リソース紐付け部１０５は、通信処理フローの中の各ハードウェア、出力先ハードウェア、通信処理を行うハードウェアおよび処理に必要な時間に対して、リソースの割当情報および性能情報を入力する。リソース紐付け部１０５は、各ハードウェアおよび処理に必要な時間に対して、リソース割当判断部１０２から受け取ったリソースの割当情報およびハードウェアの性能情報を入力する（ステップＳ２１１）。
【００６１】
リソースの割当情報およびハードウェアの性能情報を入力した情報を生成すると、リソース紐付け部１０５は、生成された情報を処理時間計算部１０６に出力する。リソースの割当情報およびハードウェアの性能情報を入力した情報を受け取ると、処理時間計算部１０６は、各通信処理ステップに必要な時間を計算する。各通信処理ステップに必要な時間を計算すると、処理時間計算部１０６は、通信処理フロー中の全通信処理ステップについて必要な時間を足し合わせることで、一つの通信処理フローに必要な時間を計算する（ステップＳ２１２）。処理時間計算部１０６が算出した１つの通信処理フローに必要な時間の情報は、ネットワークの管理サーバ等に送られ、パスの構築や通信の制御に用いられる。
【００６２】
［第３の実施形態の効果］
本実施形態の性能推定装置２００は、仮想化構造判断部２０２によって、ハードウェアと仮想マシンの間の通信処理ステップを判断し、シーケンス作成部２０４によって、仮想マシン中での通信処理ステップと合成して通信処理フローを再構成している。本実施形態の性能推定装置２００は、仮想マシンにおける通信処理ステップも考慮して、通信処理フローに必要な時間を算出しているので、ネットワーク機能が仮想マシンの中で実現されていてもネットワーク機能の性能を推定することができる。
【００６３】
［第４の実施形態］
［第４の実施形態の構成］
本発明の第４の実施形態について図を参照して詳細に説明する。図１２は、本実施形態の性能推定装置３００の構成を示すブロック図である。
【００６４】
本実施形態の性能推定装置３００は、設定受信部１０１、リソース割当判断部１０２、通信処理判断部１０３、通信処理ＤＢ部１０４、リソース紐付け部１０５、処理時間計算部１０６と、既存割当取得部３０１を備えている。本実施形態の性能推定装置３００は、第２の実施形態の性能推定装置２００と同様の機能に加え、他のネットワーク機能等にリソースが既に割り当てられて競合が生じている場合にも、ネットワーク機能の推定を正確に行うことができることを特徴とする。
【００６５】
本実施形態の性能推定装置３００の設定受信部１０１、リソース割当判断部１０２、通信処理判断部１０３、通信処理ＤＢ部１０４、リソース紐付け部１０５および処理時間計算部１０６の構成と機能は、第２の実施形態の同名称の部位と同様である。
【００６６】
既存割当取得部３０１は、ネットワーク機能を推定する対象のサーバにおいて、他のネットワーク機能に割り当てられているリソースおよびそれらのリソースにかけられている処理負荷を取得する。既存割当取得部３０１は、リソース割当判断部１０２と通信可能に接続されている。
【００６７】
リソース割当判断部１０２は、推定対象のネットワーク機能に割り当てられたリソースに加え、既存割当取得部３０１から得られた、他のネットワーク機能に割り当てられているリソースもハードウェアのリソース割当図に反映する。また、リソース割当判断部１０２は、リソース割当図を用いて、推定対象のネットワーク機能に対して、他のネットワーク機能などが競合しているリソースを判断する。リソースが競合しているとは、例えば、同じＣＰＵコアを共有している場合や、同じ３次キャッシュを共有している場合などのことをいう。また、通信処理ＤＢ部１０４は、第２の実施の形態における情報に加え、リソースが競合しているときの性能への影響を情報として有する。
【００６８】
本実施形態の既存割当取得部３０１および第２の実施形態と共通した構成の各部位における処理は、ＣＰＵなどのプロセッサ上でコンピュータプログラムを実行することで行うことができる。各部位における処理を実行するコンピュータプログラムは、半導体記憶装置やハードディスクドライブなどの記憶装置に保存されている。また、各処理を実行するコンピュータプログラムは、各コンピュータプログラムを記録した記録媒体または通信ネットワークを介して頒布することができる。
【００６９】
既存割当取得部３０１および第２の実施形態と共通の各部位における各処理の一部または全ては、各処理を行う回路パターンが形成された半導体装置で行われてもよい。各処理を行う回路パターンが形成された半導体装置には、例えば、ＦＰＧＡやＡＳＩＣを用いることができる。また、通信処理ＤＢ部１０４は、第２の実施形態と同様に、フラッシュメモリなどの不揮発性の半導体記憶装置やハードディスクドライブなどの記憶装置、または、それらの組み合わせによって形成することができる。
【００７０】
また、本実施形態の性能推定装置３００は、第２の実施形態の性能推定装置１００に既存割当取得部３０１を追加した構成を有しているが、第３の実施形態の性能推定装置２００に既存割当取得部３０１を付加した構成を追加した構成であってもよい。
【００７１】
［第４の実施形態の動作］
本実施形態の性能推定装置３００の動作について説明する。図１３は、本実施形態の性能推定装置３００の動作フローを示すフローチャートである。
【００７２】
始めに、設定受信部１０１が、入力としてハードウェアの設定および性能情報と、ネットワーク機能の設定情報を受け取る。各情報を受け取ると、設定受信部１０１は、ハードウェアの設定および性能情報をリソース割当判断部１０２に出力する（ステップＳ３０１）。また、設定受信部１０１は、ネットワーク機能の設定情報を通信処理判断部３０２に出力する（ステップ３０２）。
【００７３】
既存割当取得部３０１は、性能を推定する対象となるサーバに対して他のネットワーク機能などに割り当てられているリソースおよびその処理負荷を問い合わせる（ステップＳ３０３）。他のネットワーク機能などに割り当てられているリソースと処理負荷の情報を取得すると、既存割当取得部３０１は、取得した情報をリソース割当判断部１０２に送る。
【００７４】
ハードウェアの設定および性能情報を受け取ると、リソース割当判断部１０２は、ハードウェアの性能情報をハードウェアのリソース割当図に反映する（ステップＳ３０４）。ハードウェアの性能情報をリソース割当図に反映すると、リソース割当判断部１０２は、ネットワーク機能に割り当てられているリソースの割り当てをリソース割当図に反映する。また、リソース割当判断部１０２は、既存割当取得部３０１から得られた他のネットワーク機能などへのリソース割り当て情報およびその処理負荷をハードウェアのリソース割当図に反映する（ステップＳ３０５）。他のネットワーク機能などへのリソース割り当て情報およびその処理負荷を反映すると、リソース割当判断部１０２は、リソース割当図をリソース紐付け部１０５に出力する。
【００７５】
通信処理判断部１０３は、設定受信部１０１から受け取ったネットワーク機能に関する設定を、通信処理ステップに分解し通信処理フローを構成する（ステップＳ３０６）。通信処理フローを構成すると、通信処理判断部１０３は、通信処理ＤＢ部１０４を参照し、各通信処理ステップに対して、入力元ハードウェア、出力先ハードウェアおよび通信処理を行うハードウェアの情報を取得する。また、通信処理判断部１０３は、通信処理ＤＢ部１０４を参照し、リソースの競合による性能への影響を考慮した処理に必要な時間の情報を取得し、通信処理ＤＢ部１０４から合計４項目の情報を取得する（ステップＳ３０７）。全ての通信処理ステップに対して通信処理ＤＢ１０４から情報を取得すると、通信処理判断部１０３は、取得した情報をリソース紐付け部１０５に出力する。
【００７６】
リソース割当判断部１０２および通信処理判断部１０３から各情報を取得すると、リソース紐付け部１０５は、各ハードウェアおよび処理に必要な時間に対して、リソースの割当情報、ハードウェアの性能情報およびリソースの競合情報を入力する（ステップＳ３０８）。リソースの割当情報等を入力して紐付けを行うと、リソース紐付け部１０５は、紐付けした情報を処理時間計算部１０６に送る。
【００７７】
紐付けした情報を受け取ると、処理時間計算部１０６は、各通信処理ステップに必要な時間を計算し、それを通信処理フロー中の全ステップで足し合わせることで、一つの通信処理フローに必要な時間を計算する（ステップＳ３０９）。処理時間計算部１０６が算出した１つの通信処理フローに必要な時間の情報は、ネットワークの管理サーバ等に送られ、パスの構築や通信の制御に用いられる。
【００７８】
［第４の実施形態の効果］
本実施形態の性能推定装置３００は、既存割当取得部３０１において推定対象のネットワーク機能以外に割り当てられ、競合するリソースの情報を取得している。また、本実施形態の性能推定装置３００は、リソース割当判断部１０２において、どのリソースが競合状態にあるかを判断した結果を基に、リソースの割り当ての判断や通信処理フローの生成している。また、本実施形態の性能推定装置３００は、競合状態を判断して生成した通信処理フローを基に処理時間計算部１０６において通信処理フローの通信処理に必要な時間を計算している。すなわち、本実施形態の性能推定装置３００は、リソースの競合による処理時間の遅延などを考慮した性能情報を基に通信処理に必要な時間を計算している。そのため、本実施形態の性能推定装置３００は、複数のネットワーク機能がサーバを共有している状態においてネットワーク機能間のリソース競合を考慮した性能の推定ができる。
【００７９】
［第５の実施形態］
［第５の実施形態の構成］
本発明の第５の実施形態について図を参照して詳細に説明する。図１４は、本実施形態の性能推定装置４００の構成を示すブロック図である。
【００８０】
本実施形態の性能推定装置４００は、設定受信部１０１と、リソース割当判断部１０２と、通信処理判断部１０３と、通信処理ＤＢ部１０４と、リソース紐付け部１０５と、処理時間計算部１０６を備えている。また、本実施形態の性能推定装置４００は、設定導入部４０１と、処理時間計測部４０２をさらに備えている。本実施形態の性能推定装置４００は、第２の実施形態の性能推定装置１００と同様の機能に加え、サーバのネットワーク機能において通信処理を実行する際の処理時間を計測する手段を備えていることを特徴とする。
【００８１】
本実施形態の性能推定装置４００の設定受信部１０１、リソース割当判断部１０２、通信処理判断部１０３、通信処理ＤＢ部１０４、リソース紐付け部１０５および処理時間計算部１０６の構成と機能は、第２の実施形態の同名称の部位と同様である。
【００８２】
設定導入部４０１は、設定受信部１０１から受け取る設定情報を基に、サーバに対して推定対象のネットワーク機能を導入する。設定導入部４０１は、設定受信部１０１および処理時間計測部４０２と通信可能に接続されている。
【００８３】
処理時間計測部４０２は、処理時間計算部１０６から得られる推定処理時間と、実際の計測時間を比較する。処理時間計測部４０２は、推定処理時間と実際の計測時間が異なるとき、推定処理時間と実際の計測時間が異なることを示す情報を通信処理ＤＢ部１０４に出力する。処理時間計測部４０２は、通信処理ＤＢ部１０４、リソース紐付け部１０５、処理時間計算部１０６および設定導入部４０１とそれぞれ通信可能に接続されている。
【００８４】
本実施形態の設定導入部４０１、処理時間計測部４０２および第２の実施形態と共通した構成の各部位における処理は、ＣＰＵなどのプロセッサ上でコンピュータプログラムを実行することで行うことができる。各部位における処理を実行するコンピュータプログラムは、半導体記憶装置やハードディスクドライブなどの記憶装置に保存されている。また、各処理を実行するコンピュータプログラムは、各コンピュータプログラムを記録した記録媒体または通信ネットワークを介して頒布することができる。
【００８５】
設定導入部４０１、処理時間計測部４０２および第２の実施形態と共通の各部位における各処理の一部または全ては、各処理を行う回路パターンが形成された半導体装置で行われてもよい。各処理を行う回路パターンが形成された半導体装置には、例えば、ＦＰＧＡやＡＳＩＣを用いることができる。また、通信処理ＤＢ部１０４は、第２の実施形態と同様に、フラッシュメモリなどの不揮発性の半導体記憶装置やハードディスクドライブなどの記憶装置、または、それらの組み合わせによって形成することができる。
【００８６】
また、本実施形態の設定導入部４０１および処理時間計測部４０２は、第３または第４の実施形態と同様の構成の性能推定装置と組み合わせて用いられていてもよい。
【００８７】
［第５の実施形態の動作］
本実施形態の性能推定装置４００の動作について説明する。図１５は、本実施形態の性能推定装置４００の動作フローを示すフローチャートである。
【００８８】
始めに、設定受信部１０１が入力としてハードウェアの設定および性能情報と、ネットワーク機能の設定情報を受け取る（ステップＳ４０１）。ハードウェアの設定および性能情報と、ネットワーク機能の設定情報を受け取ると、設定受信部１０１は、受け取った情報をハードウェアに関わる情報と、通信処理に関わる情報とに分離する。情報を分離すると、設定受信部１０１は、分離した情報のうちハードウェアに関わる情報をリソース割当判断部１０２に出力する。また、設定受信部１０１は、分離した情報のうちネットワークに関わる情報を通信処理判断部１０３に出力する。また、設定受信部１０１は、設定導入部４０１に、ハードウェアの設定情報とネットワーク機能の設定情報を出力する（ステップＳ４０２）。
【００８９】
ハードウェアに関わる情報を受け取ると、リソース割当判断部１０２は、第２の実施形態と同様に、ハードウェアの性能情報を、ハードウェアのリソース割当図に反映する（ステップＳ４０３）。また、リソース割当判断部１０２は、ネットワーク機能に対するリソースの割当情報をハードウェアのリソース割当図に反映する（ステップＳ４０４）。
【００９０】
ネットワークに関わる情報を受け取ると、通信処理判断部１０３は、第２の実施形態と同様に、受け取ったネットワーク機能に関する設定の情報から通信処理フローを構成する（ステップＳ４０５）。通信処理フローを構成すると、通信処理判断部１０３は、通信処理ＤＢ部１０４を参照し、各通信処理ステップに対して、入力元ハードウェア、出力先ハードウェア、通信処理を行うハードウェアおよび処理に必要な時間の４項目を取得する（ステップＳ４０６）。
【００９１】
全ての通信処理ステップに対して通信処理ＤＢ部１０４から情報を取得すると、通信処理判断部１０３は、取得した情報をリソース紐付け部１０５に出力する。
【００９２】
リソース割当判断部１０２およびと通信処理判断部１０３から各情報を受け取ると、リソース紐付け部１０５は、リソースの割り当て情報およびハードウェアの性能情報と受け取った通信処理フローを紐付ける（ステップＳ４０７）。
【００９３】
紐付けを行うと、リソース紐付け部１０５は、ハードウェアのリソース割り当て情報が紐付けられた通信処理フローを処理時間計算部１０６および処理時間計測部４０２に出力する。
【００９４】
ハードウェアのリソース割り当て情報が紐付けられた通信処理フローを受け取ると、処理時間計算部１０６は、各通信処理ステップに必要な時間を計算する。各通信処理ステップに必要な時間を計算すると、処理時間計算部１０６は、通信処理フロー中の全ステップの必要な時間を足し合わせることで、一つの通信処理フローに必要な時間を計算する（ステップＳ４０８）。また、処理時間計算部１０６は、各通信処理ステップに必要な時間の情報を処理時間計測部４０２へ出力する（ステップＳ４０９）。
【００９５】
また、設定導入部４０１は、設定受信部１０１から得られた設定情報を基に、サーバ上にネットワーク機能を導入する（ステップＳ４１０）。サーバ上にネットワーク機能を導入すると、設定導入部４０１は、ネットワーク機能の導入が完了したことを処理時間計測部４０２へ通知する（ステップＳ４１１）。
【００９６】
導入完了の通知を受けとると、処理時間計測部４０２は、リソース紐付け部１０５の出力から各通信処理ステップにおいてどのリソースが利用されているかを判断する。各通信処理ステップにおいて利用されているリソースを判断すると、処理時間計測部４０２は、利用されているリソースに対して処理時間を計測する。
【００９７】
利用されているリソースに対して処理時間を計測すると、処理時間計測部４０２は、処理時間計算部１０６から受け取った推定処理時間と比較する（ステップＳ４１２）。推定結果と計測結果が異なる場合には（ステップＳ４１３でＮｏ）、処理時間計測部４０２は、処理時間計算部１０６から受け取った推定処理時間を、計測結果を基に修正する。計測結果を基に修正を行うと、処理時間計測部４０２は、処理時間を通信処理ＤＢ部１０４に出力する。処理時間の情報を受け取ると、通信処理ＤＢ部１０４は、自身のデータベースを更新する（ステップＳ４１４）。推定結果と計測結果がほぼ同じ場合には（ステップＳ４１３でＹｅｓ）、処理時間計測部４０２は、修正を行わない。
【００９８】
［第５の実施形態の効果］
本実施形態の性能推定装置４００は、処理時間計測部４０２において、推定対象のネットワーク機能が割り当てられているリソース上での処理時間を計測し、推定した処理時間ことなる場合に処理時間のデータを更新している。そのため、本実施形態の性能推定装置４００は、処理時間のデータを有していない場合や、ネットワーク機能の更新などにより性能が変化した場合においても通信処理ＤＢ部１０４に格納されている情報を修正することができる。本実施形態の性能推定装置４００は、通信処理ＤＢ部１０４に格納されている情報を修正することで、ネットワーク機能の更新などが行われた場合にも、ネットワーク機能の性能を正しく推定することができる。
【００９９】
図１６は、第１乃至第５の実施形態の性能推定装置を用いた性能推定システムの構成の例を示したものである。図１６の性能推定システムは、性能推定装置５００と、サーバ５０１と、通信ネットワーク５０２を備えている。
【０１００】
性能推定装置５００には、第１乃至第５の実施形態のいずれかの性能推定装置を用いることができる。サーバ５０１は、ネットワーク機能の性能の推定を行う際に、対象となるサーバである。サーバ５０１は、ネットワーク機能を有し、入力されたパケットの転送処理等を行う。また、サーバ５０１は、通信ネットワーク５０２を介して他のサーバとパケットの送受信を行う。図１６の例では、サーバ５０１を１台のみ示しているが、性能推定システムは、性能推定装置５００が複数のサーバに接続され、性能推定装置５００がそれぞれのサーバの性能を推定する構成であってもよい。また、性能推定装置５００は、各サーバと通信ネットワーク５０２または他の通信ネットワークを介して接続されていてもよい。
【０１０１】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１０２】
［付記１］
ネットワーク機能を有するサーバの前記ネットワーク機能に割り当てられているハードウェアのリソースを判断するリソース割当判断手段と、
前記サーバの前記ネットワーク機能において実行される通信処理をステップごとに分解し、前記ステップごとの処理内容を順に並べた情報を通信処理フローとして生成する通信処理判断手段と、
前記通信処理フローにおいて、前記通信処理のステップごとに、前記処理内容と、前記通信処理を実行する前記ハードウェアのリソースと、前記ハードウェアのリソースごとの性能の情報とを互いに紐付けるリソース紐付け手段と、
前記リソース紐付け手段が紐付けた情報を基に、前記サーバの前記ネットワーク機能の処理性能を計算する処理性能計算手段と
を備えることを特徴とする性能推定装置。
【０１０３】
［付記２］
前記リソース割当判断手段は、前記サーバから取得する前記ネットワーク機能の設定情報を基に、前記ネットワーク機能に割り当てられている前記ハードウェアのリソースと、前記ハードウェアのリソースごとの性能を判断し、
前記処理性能計算手段は、前記処理性能として、前記通信処理のステップごとの処理時間を前記リソースの性能の情報を基に計算し、前記通信処理フローを実行する際の合計の前記処理時間を計算することを特徴とする付記１に記載の性能推定装置。
【０１０４】
［付記３］
前記サーバ上の仮想マシンにおいて仮想化を行う際の通信処理をステップごとに分解し、前記ステップごとの処理内容を順に並べた情報を仮想通信処理フローとして生成する仮想構造判断手段と、
前記通信処理フローと、前記仮想通信処理フローとを基に、１パケットを前記仮想マシンで処理する際の一連のフローを第２の通信処理フローとして生成するシーケンス作成手段と
をさらに備え、
前記通信処理判断手段は、前記仮想マシン内で行われている前記通信処理をステップごとに分解し、前記ステップごとの処理内容を順に並べた情報を前記通信処理フローとして生成し、
前記リソース紐付け手段は、前記第２の通信処理フローにおいて、前記通信処理のステップごとに、前記処理内容と、前記通信処理を実行する前記ハードウェアのリソースと、前記リソースの性能の情報を互いに紐付けることを特徴とする付記１または２に記載の性能推定装置。
【０１０５】
［付記４］
前記サーバにおいて他のネットワーク機能に既に割り当てられているリソースの情報を取得する既存割当取得手段をさらに備え、
前記処理性能計算手段は、前記リソース間の競合を基に設定された前記リソースの処理性能の情報を用いて、前記処理性能を計算することを特徴とする付記１から３いずれかに記載の性能推定装置。
【０１０６】
［付記５］
ネットワークの設定情報を取得し、前記設定情報を基に前記サーバに前記ネットワーク機能を導入する設定導入手段と、
前記設定導入手段が導入した前記ネットワーク機能において、前記ハードウェアのリソースが前記通信処理を行う際に、前記通信処理のステップごとの処理時間を計測する処理時間計測手段をさらに備え、
前記処理性能計算手段は、処理時間計測手段が計測した前記通信処理のステップごとの処理時間を基に、前記処理性能を計算することを特徴とする付記１から４いずれかに記載の性能推定装置。
【０１０７】
［付記６］
入力されたパケットの処理を行うネットワーク機能を有するサーバと、
付記１から５いずれかに記載の性能推定装置と
を備え、
前記性能推定装置の前記処理性能計算手段は、前記サーバの前記ネットワーク機能の処理性能を計算することを特徴とする性能推定システム。
【０１０８】
［付記７］
ネットワーク機能を有するサーバの前記ネットワーク機能に割り当てられているハードウェアのリソースを判断し、
前記サーバの前記ネットワーク機能において実行される通信処理をステップごとに分解し、前記ステップごとの処理内容を順に並べた情報を通信処理フローとして生成し、
前記通信処理フローにおいて、前記通信処理のステップごとに、前記処理内容と、前記通信処理を行う前記ハードウェアのリソースと、前記ハードウェアのリソースごとの性能の情報とを互いに紐付け、
紐付けた情報を基に、前記サーバの前記ネットワーク機能の処理性能を計算することを特徴とする性能推定方法。
【０１０９】
［付記８］
前記サーバから取得する前記ネットワーク機能の設定情報を基に、前記ネットワーク機能に割り当てられている前記ハードウェアのリソースと、前記ハードウェアのリソースごとの性能を判断し、
前記処理性能として、前記通信処理のステップごとの処理時間を前記リソースの性能の情報を基に計算し、前記通信処理フローを実行する際の合計の前記処理時間を計算することを特徴とする付記７に記載の性能処理方法。
【０１１０】
［付記９］
前記サーバ上の仮想マシンにおいて仮想化を行う際の通信処理をステップごとに分解し、前記ステップごとの処理内容を順に並べた情報を仮想通信処理フローとして生成し、
前記仮想マシン内で行われている前記通信処理をステップごとに分解し、前記ステップごとの処理内容を順に並べた情報を前記通信処理フローとして生成し、
前記通信処理フローと、前記仮想通信処理フローとを基に、１パケットを前記仮想マシンで処理する際の一連のフローを第２の通信処理フローとして生成し、
前記第２の通信処理フローにおいて、前記通信処理のステップごとに、前記処理内容と、前記通信処理を実行する前記ハードウェアのリソースと、前記リソースの性能の情報を互いに紐付け、
前記サーバの前記ネットワーク機能の前記処理性能を計算することを特徴とする付記７または８に記載の性能推定方法。
【０１１１】
［付記１０］
前記サーバにおいて他のネットワーク機能に既に割り当てられているリソースの情報を取得し、
前記リソース間の競合を基に設定された前記リソースの処理性能の情報を用いて、前記処理性能を計算することを特徴とする付記７から９いずれかに記載の性能推定方法。
【０１１２】
［付記１１］
ネットワークの設定情報を取得し、前記設定情報を基に前記サーバに前記ネットワーク機能を導入し、
導入した前記ネットワーク機能において、前記ハードウェアのリソースが前記通信処理を行う際に、前記通信処理のステップごとの処理時間を計測し、
が計測した前記通信処理のステップごとの処理時間を基に、前記処理性能を計算することを特徴とする付記７から１０いずれかに記載の性能推定方法。
【０１１３】
［付記１２］
ネットワーク機能を有するサーバの前記ネットワーク機能に割り当てられているハードウェアのリソースを判断する処理と、
前記サーバの前記ネットワーク機能において実行される通信処理をステップごとに分解し、前記ステップごとの処理内容を順に並べた情報を通信処理フローとして生成する処理と、
前記通信処理フローにおいて、前記通信処理のステップごとに、前記処理内容と、前記通信処理を行う前記ハードウェアのリソースと、前記ハードウェアのリソースごとの性能の情報とを互いに紐付ける処理と、
紐付けた情報を基に、前記サーバの前記ネットワーク機能の処理性能を計算する処理をコンピュータに実行させることを特徴とする性能推定プログラム。
【０１１４】
［付記１３］
前記サーバから取得する前記ネットワーク機能の設定情報を基に、前記ネットワーク機能に割り当てられている前記ハードウェアのリソースと、前記ハードウェアのリソースごとの性能を判断する処理と、
前記処理性能として、前記通信処理のステップごとの処理時間を前記リソースの性能の情報を基に計算し、前記通信処理フローを実行する際の合計の前記処理時間を計算する処理をコンピュータに実行させることを特徴とする付記１２に記載の性能推定プログラム。
【０１１５】
［付記１４］
前記サーバ上の仮想マシンにおいて仮想化を行う際の通信処理をステップごとに分解し、前記ステップごとの処理内容を順に並べた情報を仮想通信処理フローとして生成する処理と、
前記仮想マシン内で行われている前記通信処理をステップごとに分解し、前記ステップごとの処理内容を順に並べた情報を前記通信処理フローとして生成する処理と、
前記通信処理フローと、前記仮想通信処理フローとを基に、１パケットを前記仮想マシンで処理する際の一連のフローを第２の通信処理フローとして生成する処理と、
前記第２の通信処理フローにおいて、前記通信処理のステップごとに、前記処理内容と、前記通信処理を実行する前記ハードウェアのリソースと、前記リソースの性能の情報を互いに紐付ける処理と、
前記サーバの前記ネットワーク機能の前記処理性能を計算する処理をコンピュータに実行させることを特徴とする付記１２または１３に記載の性能推定プログラム。
【０１１６】
［付記１５］
前記サーバにおいて他のネットワーク機能に既に割り当てられているリソースの情報を取得する処理と、
前記リソース間の競合を基に設定された前記リソースの処理性能の情報を用いて、前記処理性能を計算する処理をコンピュータに実行させることを特徴とする付記１２から１４いずれかに記載の性能推定プログラム。
【０１１７】
［付記１６］
ネットワークの設定情報を取得し、前記設定情報を基に前記サーバに前記ネットワーク機能を導入する処理と、
導入した前記ネットワーク機能において、前記ハードウェアのリソースが前記通信処理を行う際に、前記通信処理のステップごとの処理時間を計測する処理と、
が計測した前記通信処理のステップごとの処理時間を基に、前記処理性能を計算する処理をコンピュータに実行させることを特徴とする付記１２から１５いずれかに記載の性能推定プログラム。
【符号の説明】
【０１１８】
１    リソース割当判断手段
２    通信処理判断手段
３    リソース紐付け手段
４    処理性能計算手段
１００    性能推定装置
１０１    設定受信部
１０２    リソース割当判断部
１０３    通信処理判断部
１０４    通信処理ＤＢ部
１０５    リソース紐付け部
１０６    処理時間計算部
２００    性能推定装置
２０１    ＮＷ設定分解部
２０２    仮想化構造判断部
２０３    仮想化ＤＢ部
２０４    シーケンス作成部
３００    性能推定装置
３０１    既存割当取得部
４００    性能推定装置
４０１    設定導入部
４０２    処理時間計測部
５００    性能推定装置
５０１    サーバ
５０２    通信ネットワーク
【図１】
2018201108.tif 000003
【図２】
2018201108.tif 000004
【図３】
2018201108.tif 000005
【図４】
2018201108.tif 000006
【図５】
2018201108.tif 000007
【図６】
2018201108.tif 000008
【図７】
2018201108.tif 000009
【図８】
2018201108.tif 000010
【図９】
2018201108.tif 000011
【図１０】
2018201108.tif 000012
【図１１】
2018201108.tif 000013
【図１２】
2018201108.tif 000014
【図１３】
2018201108.tif 000015
【図１４】
2018201108.tif 000016
【図１５】
2018201108.tif 000017
【図１６】
2018201108.tif 000018