(57)【要約】【課題】オープン化ネットワーク設備の効率的な機能検証を実施する検証装置、検証方法、およびプログラム提供する。【解決手段】オープン化設備の検証装置１００であって、ネットワーク機器のハードウェアの動作をエミュレートしたハードウェアエミュレータと前記ネットワーク機器を制御するネットワークＯＳとを組み合わせて仮想ネットワーク機器を構成する試験構成管理部１１０と、前記仮想ネットワーク機器に対して予め定められた試験項目から必要な試験を実施する試験実施部１２０と、前記実施された試験の結果を判定する試験結果判定部１３０と、を備える。【選択図】図１
2020048172.tif 000002
【特許請求の範囲】
【請求項１】
オープン化設備の検証装置であって、
ネットワーク機器のハードウェアの動作をエミュレートしたハードウェアエミュレータと前記ネットワーク機器を制御するネットワークＯＳとを組み合わせて仮想ネットワーク機器を構成する試験構成管理部と、
前記仮想ネットワーク機器に対して予め定められた試験項目から必要な試験を実施する試験実施部と、
前記実施された試験の結果を判定する試験結果判定部と、を備えることを特徴とする検証装置。
【請求項２】
前記ハードウェアエミュレータは、ネットワーク機器の内部の部品の動作をエミュレートした複数のハードウェアエミュレータの組み合わせであることを特徴とする請求項１記載の検証装置。
【請求項３】
前記試験構成管理部は、予め定められた組み合わせパターンに基づいて複数の仮想ネットワーク機器を順次構成し、
前記試験実施部は、前記複数の仮想ネットワーク機器毎に必要な試験を実施し、
前記試験結果判定部は、前記複数の仮想ネットワーク機器の試験結果を比較し、最適なものを判定することを特徴とする請求項１または請求項２記載の検証装置。
【請求項４】
前記予め定められた組み合わせパターンのうち、既に試験が行なわれた組み合わせパターンの組み合わせおよび試験結果に基づいて試験を行なう必要のない組み合わせを抽出し、前記抽出した組み合わせを含む前記予め定められた組み合わせパターンにチェックを入れる組み合わせ削減部を更に備え、
前記試験構成管理部は、前記チェックの入った組み合わせを構成しないことを特徴とする請求項３記載の検証装置。
【請求項５】
前記試験構成管理部は、予め定められたネットワーク構成パターンに基づいて複数の仮想ネットワーク機器の組み合わせからなる仮想ネットワークを順次構成し、
前記試験実施部は、前記仮想ネットワーク毎に必要な試験を実施し、
前記試験結果判定部は、前記複数の仮想ネットワークの試験結果を比較し、最適なものを判定することを特徴とする請求項１から請求項４のいずれかに記載の検証装置。
【請求項６】
既に実施した試験の試験結果に基づいて試験項目間の論理的包含関係を有する可能性のある親子関係を判断する試験項目削減部を更に備え、
前記試験実施部は、前記試験項目削減部が親と判断した試験項目の試験結果が否定的であった場合、前記試験項目削減部が親と判断した試験項目の子と判断された試験項目の試験を行なわないことを特徴とする請求項１から請求項５のいずれかに記載の検証装置。
【請求項７】
試験結果判定部の判定結果を出力する試験結果出力部と、
ユーザの採用した仮想ネットワーク機器または仮想ネットワークの試験結果に基づいて試験項目に重みを付与する重み付与部と、を更に備え、
前記試験結果出力部は、出力する仮想ネットワーク機器または仮想ネットワークの試験項目の試験結果が否定的でかつ重みが付与されている場合、前記仮想ネットワーク機器または仮想ネットワークの出力と共に注意喚起する表示をすることを特徴とする請求項１から請求項６のいずれかに記載の検証装置。
【請求項８】
オープン化設備の検証方法であって、
ネットワーク機器のハードウェアの動作をエミュレートしたハードウェアエミュレータと前記ネットワーク機器を制御するネットワークＯＳとを組み合わせて物理マシン上に仮想ネットワーク機器を構成するステップと、
前記仮想ネットワーク機器に対して予め定められた試験項目から必要な試験を実施するステップと、
前記実施された試験項目に対して結果を判定するステップと、を含むことを特徴とする方法。
【請求項９】
オープン化設備の検証プログラムであって、
ネットワーク機器のハードウェアの動作をエミュレートしたハードウェアエミュレータと前記ネットワーク機器を制御するネットワークＯＳとを組み合わせて仮想ネットワーク機器を構成する処理と、
前記仮想ネットワーク機器に対して予め定められた試験項目から必要な試験を実施する処理と、
前記実施された試験項目に対して結果を判定する処理と、の一連の処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オープン化ネットワーク設備の効率的な機能検証を実施する検証装置、検証方法、およびプログラムに関する。
【背景技術】
【０００２】
ネットワークを構成する機器において、オープン化が進んでいる。ここで言うオープン化とは、機器の物理的な仕様の公開を指す。例えばＯＣＰ（Open Compute Project）という団体ではＨａｒｄｗａｒｅ  Ｓｐｅｃｓと称し、ネットワーク機器内部の設計図が公開されている。従来ネットワーク機器の多くはネットワーク機器のハードウェア部分とそれを動作させるＯＳ（ソフトウェア）は単一のメーカにより提供されていたが、ホワイトボックススイッチの登場により、ハードウェアとソフトウェアを別々に調達することが可能となった。オープン化が進むことにより、ハードウェア内部の部品単位を別々のベンダからの調達も可能となることが予測される。
【０００３】
特許文献１は、テスト手順書に従った振る舞いの試験を自動化し、テスト項目数を減らすことなく、テスト工数を削減する技術が記載されている。期待動作判定部を備えることで、対象機器の機能試験にも有用である。
【０００４】
特許文献２は、１台の物理マシンにおいて動作する仮想マシンが単体もしくは複数台の場合であっても、仮想化システムの性能を容易に予測する性能予測装置に関するもので、ハードウェア層、アプリケーション層各々の性能モデルを生成し、各層の依存関係が反映された仮想化システムの性能を予測することが出来る。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−０４９６５９号公報
【特許文献２】特開２０１４−１３２４１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ネットワーク機器のオープン化が進むと、ハードウェア内部の部品単位での調達は自由度が向上する。一方で、実際にネットワーク機器として利用する場合においては、部品間と更には、それらを動作させるソフトウェアとの組合せにおいて、性能試験や機能確認試験が非常に煩雑になることが予想される。
【０００７】
具体的には、例えば、通常ホワイトボックススイッチに実装するＯＳ（ソフトウェア）は、ＡＳＩＣなどの部品に命令を実行するためのデバイスドライバを具備しており、ＡＳＩＣを積んでいない汎用サーバ上では動作せず、物理的なハードウェアを準備する必要がある。また、様々な部品とソフトウェアとの組み合わせから最適なものを見つけようとすると、それらの組み合わせすべてについてハードウェアを準備し試験する必要が生じる。
【０００８】
しかしながら、特許文献１または２記載の技術では、期待動作の判定や仮想化システムの性能予測はできるものの、オープン化設備におけるハードウェアとソフトウェアの数ある組合せの内、どれが適しているかという判断は実現できない。また、仮想化システムの機能試験には向かない。
【０００９】
本発明は、このような事情に鑑みてなされたものであり、オープン化ネットワーク設備の効率的な機能検証を実施する検証装置、検証方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
（１）上記の目的を達成するため、本発明は、以下のような手段を講じた。すなわち、本発明の検証装置は、オープン化設備の検証装置であって、ネットワーク機器のハードウェアの動作をエミュレートしたハードウェアエミュレータと前記ネットワーク機器を制御するネットワークＯＳとを組み合わせて仮想ネットワーク機器を構成する試験構成管理部と、前記仮想ネットワーク機器に対して予め定められた試験項目から必要な試験を実施する試験実施部と、前記実施された試験の結果を判定する試験結果判定部と、を備える。
【００１１】
これにより、オープン化されたネットワーク機器の物理的なハードウェアを準備してネットワークＯＳをインストールすることなく、ネットワーク機器とネットワークＯＳとの組み合わせにおける性能試験や機能確認試験を行うことができる。
【００１２】
（２）また、本発明の検証装置において、前記ハードウェアエミュレータは、ネットワーク機器の内部の部品の動作をエミュレートした複数のハードウェアエミュレータの組み合わせである。
【００１３】
これにより、オープン化されたネットワーク機器の内部の各部品を準備してハードウェアを構成し、ネットワークＯＳをインストールすることなく、ネットワーク機器の内部の各部品とネットワークＯＳとの組み合わせにおける性能試験や機能確認試験を行うことができる。
【００１４】
（３）また、本発明の検証装置において、前記試験構成管理部は、予め定められた組み合わせパターンに基づいて複数の仮想ネットワーク機器を順次構成し、前記試験実施部は、前記複数の仮想ネットワーク機器毎に必要な試験を実施し、前記試験結果判定部は、前記複数の仮想ネットワーク機器の試験結果を比較し、最適なものを判定する。
【００１５】
これにより、複数のネットワーク機器をそれぞれすべて構成することなく、仮想ネットワーク機器の試験結果を用いて容易に比較することができる。
【００１６】
（４）また、本発明の検証装置は、前記予め定められた組み合わせパターンのうち、既に試験が行われた組み合わせパターンの組み合わせおよび試験結果に基づいて試験を行う必要のない組み合わせを抽出し、前記抽出した組み合わせを含む前記予め定められた組み合わせパターンにチェックを入れる組み合わせ削減部を更に備え、前記試験構成管理部は、前記チェックの入った組み合わせを構成しない。
【００１７】
このように、試験を行う必要のない組み合わせを抽出し、その組み合わせを含む組み合わせパターンを構成しないため、例えば、試験結果が否定的になる可能性が高い組み合わせを構成し試験することがなくなり、試験時間を低減できる。
【００１８】
（５）また、本発明の検証装置において、前記試験構成管理部は、予め定められたネットワーク構成パターンに基づいて複数の仮想ネットワーク機器の組み合わせからなる仮想ネットワークを順次構成し、前記試験実施部は、前記仮想ネットワーク毎に必要な試験を実施し、前記試験結果判定部は、前記複数の仮想ネットワークの試験結果を比較し、最適なものを判定する。
【００１９】
これにより、複数のネットワーク機器の組み合わせからなるネットワーク構成を物理的に構成することなく、複数の仮想ネットワーク機器の組み合わせによって仮想的に構成することができ、異なるネットワーク構成を容易に比較することができる。
【００２０】
（６）また、本発明の検証装置は、既に実施した試験の試験結果に基づいて試験項目間の論理的包含関係を有する可能性のある親子関係を判断する試験項目削減部を更に備え、前記試験実施部は、前記試験項目削減部が親と判断した試験項目の試験結果が否定的であった場合、前記試験項目削減部が親と判断した試験項目の子と判断された試験項目の試験を行わない。
【００２１】
このように、試験項目間の論理的包含関係を有する可能性のある親子関係を判断し、子と判断された試験項目の試験を行わないため、試験結果が否定的になる可能性が高い試験項目を試験することがなくなり、試験時間を低減できる。
【００２２】
（７）また、本発明の検証装置は、試験結果判定部の判定結果を出力する試験結果出力部と、ユーザの採用した仮想ネットワーク機器または仮想ネットワークの試験結果に基づいて試験項目に重みを付与する重み付与部と、を更に備え、前記試験結果出力部は、出力する仮想ネットワーク機器または仮想ネットワークの試験項目の試験結果が否定的でかつ重みが付与されている場合、前記仮想ネットワーク機器または仮想ネットワークの出力と共に注意喚起する表示をする。
【００２３】
これにより、ユーザの仮想ネットワーク機器または仮想ネットワークの選択の際に、必要な情報を表示し、比較速度を上げることに寄与できる。
【００２４】
（８）また、本発明の検証方法は、オープン化設備の検証方法であって、ネットワーク機器のハードウェアの動作をエミュレートしたハードウェアエミュレータと前記ネットワーク機器を制御するネットワークＯＳとを組み合わせて物理マシン上に仮想ネットワーク機器を構成するステップと、前記仮想ネットワーク機器に対して予め定められた試験項目から必要な試験を実施するステップと、前記実施された試験項目に対して結果を判定するステップと、を含む。
【００２５】
これにより、オープン化されたネットワーク機器の物理的なハードウェアを準備してネットワークＯＳをインストールすることなく、ネットワーク機器とネットワークＯＳとの組み合わせにおける性能試験や機能確認試験を行うことができる。
【００２６】
（９）また、本発明のプログラムは、オープン化設備の検証プログラムであって、ネットワーク機器のハードウェアの動作をエミュレートしたハードウェアエミュレータと前記ネットワーク機器を制御するネットワークＯＳとを組み合わせて仮想ネットワーク機器を構成する処理と、前記仮想ネットワーク機器に対して予め定められた試験項目から必要な試験を実施する処理と、前記実施された試験項目に対して結果を判定する処理と、の一連の処理をコンピュータに実行させる。
【００２７】
これにより、オープン化されたネットワーク機器の物理的なハードウェアを準備してネットワークＯＳをインストールすることなく、ネットワーク機器とネットワークＯＳとの組み合わせにおける性能試験や機能確認試験を行うことができる。
【発明の効果】
【００２８】
本発明によれば、オープン化ネットワーク設備の効率的な機能検証を実施することができる。
【図面の簡単な説明】
【００２９】
【図１】本実施形態に係る検証装置の概略構成の一例を示す図である。
【図２】本実施形態に係る検証システムの概念の一例を示す図である。
【図３】ソフトウェア保管部に保管されるソフトウェアの例を示す表である。
【図４】組み合わせパターン保管部に保管される組み合わせパターンの例を示す表である。
【図５】ネットワーク構成パターン保管部に保管されるネットワーク構成パターンの例を示す表である。
【図６】試験項目保管部に保管される試験項目の例を示す表である。
【図７】試験結果保管部に保管される試験結果の例を示す表である。
【図８】本実施形態に係る検証装置の概略構成の一例を示す図である。
【図９】不要と判断された組み合わせパターンがある場合の例を示す表である。
【図１０】親子関係があると判断された試験項目がある場合の例を示す表である。
【図１１】重みが付与された試験項目がある場合の例を示す表である。
【図１２】（ａ）、（ｂ）いずれも本実施形態に係る検証システムの概念の一例を示す図である。
【図１３】実施例の検証装置を示す構成図である。
【図１４】本実施例における試験の流れの一例を示すシーケンス図である。
【図１５】本実施例の試験結果判定部の試験結果判定のアルゴリズムの例を示すフローチャートである。
【図１６】本実施例の試験項目削減部の親子関係判定のアルゴリズムの例を示すフローチャートである。
【図１７】本実施例の試験項目削減部の親子関係判定のアルゴリズムの例を示すフローチャートである。
【００３０】
本発明者らは、ネットワーク機器のハードウェアまたはその部品の機能または動作をプログラムで記述し、ソフトウェア化することで、ハードウェアをエミュレートすることができ、そのハードウェアエミュレータ上でネットワーク機器のソフトウェアを動作させることで、その組合せによる試験が可能となり、更には組み合わせや試験項目をリスト化し組合せ試験を自動化することで、様々な組み合わせにおける試験について、大幅な試験工数の削減ができることを見出し、本発明をするに至った。
【００３１】
すなわち、本発明の検証装置は、オープン化設備の検証装置であって、ネットワーク機器のハードウェアの動作をエミュレートしたハードウェアエミュレータと前記ネットワーク機器を制御するネットワークＯＳとを組み合わせて仮想ネットワーク機器を構成する試験構成管理部と、前記仮想ネットワーク機器に対して予め定められた試験項目から必要な試験を実施する試験実施部と、前記実施された試験の結果を判定する試験結果判定部と、を備える。
【００３２】
これにより、本発明者らは、オープン化されたネットワーク機器の物理的なハードウェアを準備してネットワークＯＳをインストールすることなく、ネットワーク機器とネットワークＯＳとの組み合わせにおける性能試験や機能確認試験を行うことを可能とした。以下、本発明の実施形態について、図面を参照しながら具体的に説明する。
【００３３】
［実施形態］
（検証装置の構成）
図１は、本実施形態に係る検証装置の概略構成の一例を示す図である。検証装置１００は、試験構成管理部１１０、試験実施部１２０、試験結果判定部１３０によって構成されている。
【００３４】
試験構成管理部１１０は、ネットワーク機器のハードウェアの動作をエミュレートしたハードウェアエミュレータとネットワーク機器を制御するネットワークＯＳ（Operating System）とを組み合わせて仮想ネットワーク機器を構成する。ハードウェアエミュレータは、ネットワーク機器の内部の部品の動作をエミュレートした複数のハードウェアエミュレータの組み合わせであってもよい。図２は、ハードウェアエミュレータとネットワークＯＳとの組み合わせで仮想ネットワーク機器の試験を行う場合の検証システム（後述）の概念の一例を示す図である。
【００３５】
ネットワーク機器とは、例えば、スイッチ、ルータ、ファイヤーウォール等のネットワーク機能を有する機器をいう。また、ネットワーク機器の部品とは、ネットワーク機器のパケット処理や通信プロトコル機能等を担う機能的なまとまりとして考えられる部品であって、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）、ＮＩＣ（Network Interface Card）、ＧＰＵ（Graphic Processing Unit）、ＣＰＵ（Central Processing Unit）等をいう。
【００３６】
ハードウェアエミュレータとは、ネットワーク機器またはその部品のハードウェアの機能や動作をエミュレートしたプログラムである。ネットワークＯＳは、ネットワーク機器を制御する。ハードウェアエミュレータおよびネットワークＯＳは、予め準備されデータベース（ソフトウェア保管部２１０）に保管される。ネットワーク機器の部品およびネットワークＯＳを組み合わせてネットワーク機器を構成するのと同様に、これらの部品のハードウェアエミュレータおよびネットワークＯＳを組み合わせることで仮想的にネットワーク機器を構成でき、図２のように、機能試験等を実施できる。
【００３７】
図３は、ソフトウェア保管部２１０に保管されるソフトウェアの例を示す表である。ソフトウェア保管部２１０には、ネットワーク機器のハードウェアをソフトウェア化したハードウェアエミュレータおよびネットワークＯＳ等のソフトウェアが複数保管される。なお、ソフトウェア保管部２１０等のデータベースは、この後記述されるものも含めて検証装置１００に備えられていてもよいが、別の場所等にあってもよい。データベースは、例えば、クラウド上のサーバに備えられ、通信機能によってそのデータを取得してもよい。
【００３８】
ハードウェアエミュレータとネットワークＯＳとの組み合わせ、または、複数の部品のハードウェアエミュレータとネットワークＯＳとの組み合わせは、予め定められリスト化された組み合わせパターンから選択されてもよい。その場合、組み合わせパターンは、データベース（組み合わせパターン保管部２２０）に保管される。図４は、組み合わせパターン保管部２２０に保管される組み合わせパターンの例を示す表である。図４に示されるように、組み合わせパターン保管部２２０に保管される組み合わせパターンは、ハードウェアエミュレータとネットワーク機器のＯＳから構成される仮想ネットワーク機器単体を表す。組み合わせパターンの番号が異なると、仮想ネットワーク機器の構成が異なる。
【００３９】
また、試験構成管理部１１０は、予め定められた組み合わせパターンに基づいて複数の仮想ネットワーク機器を順次構成し、それぞれの仮想ネットワーク機器について試験をするようにしてもよい。
【００４０】
また、試験構成管理部１１０は、予め定められたネットワーク構成パターンに基づいて複数の仮想ネットワーク機器の組み合わせからなる仮想ネットワークを順次構成し、それぞれの仮想ネットワークについて試験をするようにしてもよい。その場合、ネットワーク構成パターンは、データベース（ネットワーク構成パターン保管部２３０）に保管される。
【００４１】
図５は、ネットワーク構成パターン保管部２３０に保管されるネットワーク構成パターンの例を示す表である。ネットワーク構成パターン保管部２３０に保管されるネットワーク構成パターンは、組み合わせパターン保管部２２０の単体のネットワーク機器を表す組み合わせパターンの番号を用いて表示される。すなわち、ネットワーク構成パターン保管部２３０に保管されるネットワーク構成パターンは、複数の仮想ネットワーク機器によって構成される仮想ネットワークを表す。ただし、仮想ネットワーク機器単体の試験と仮想ネットワークの試験を続けて行う場合、図５のようにネットワーク構成パターンに一つの番号を表示することもできる。ネットワーク構成パターンの番号が異なると、仮想ネットワークの構成が異なる。なお、ネットワーク構成パターンは図５のように、「−」で接続を意味するように記述してもよいし、ＪＳＯＮやＸＭＬ形式によって構成を記述しても構わない（構成がわかればその記述形式は問わない）。
【００４２】
試験実施部１２０は、仮想ネットワーク機器に対して予め定められた試験項目から必要な試験を実施する。また、試験実施部１２０は、複数の仮想ネットワーク機器の組み合わせからなる仮想ネットワークに対して予め定められた試験項目から必要な試験を実施する。試験項目は、データベース（試験項目保管部２４０）に保管される。図６は、試験項目保管部２４０に保管される試験項目の例を示す表である。試験項目は、試験内容と期待動作が記述される。試験実施部１２０は、試験項目に記述された試験内容に従って試験を行う。
【００４３】
試験結果判定部１３０は、実施された試験の結果を判定する。また、試験結果判定部１３０は、複数の仮想ネットワーク機器の試験結果を比較し、最適なものを判定する。また、試験結果判定部１３０は、複数の仮想ネットワークの試験結果を比較し、最適なものを判定する。判定された試験結果は、データベース（試験結果保管部２５０）に保管される。試験結果は、組み合わせパターン毎またはネットワーク構成パターン毎に保管される。図７は、試験結果保管部２５０に保管される試験結果の例を示す表である。試験結果は、図７のＮｏ．３のように、ＯＫやＮＧ以外に数値等であってもよい。試験結果の判定方法については、従来技術の様々な方法を使用できるため、本発明の範囲外として、特に方法は問わない。
【００４４】
検証装置１００は、組み合わせ削減部１４０、試験項目削減部１５０、重み付与部１６０、および試験結果出力部１７０のうちの１つ以上を更に備えていてもよい。図８は、組み合わせ削減部１４０、試験項目削減部１５０、重み付与部１６０、および試験結果出力部１７０を更に備える検証装置１００の概略構成の一例を示す図である。
【００４５】
検証装置１００は、組み合わせ削減部１４０を備えていてもよい。組み合わせ削減部１４０は、予め定められた組み合わせパターンのうち、既に試験が行われた組み合わせパターンの組み合わせおよび試験結果に基づいて試験を行う必要のない組み合わせを判定、抽出し、抽出した組み合わせを含む予め定められた組み合わせパターンにチェックを入れる。チェックの入った組み合わせがある場合、試験構成管理部１１０は、チェックの入った組み合わせを構成しない。また、ネットワーク構成パターンについて同様の処理をするようにしてもよい。
【００４６】
これにより、試験構成管理部１１０は新たな試験構成を構築するときに、組み合わせパターン保管部２２０の不要にチェックが入っているものがあれば、それを構築しないようにできる。また、ネットワーク構成パターン保管部２３０においても、組み合わせパターン保管部２２０の不要にチェックが入っている組み合わせを含むネットワーク構成についても構成しないようにできる。結果として、失敗する可能性が高い構成において試験を行う工数を省くことができる。
【００４７】
なお、組み合わせパターン保管部２２０は、ユーザでの操作が可能であり、不要チェックが入っている組み合せにおいて、ユーザが不要ではないと判断すれば、不要チェックを外すことができる。この場合、ユーザの修正を真とし、該当する組み合わせにおいて、今後不要チェックをしないという機能を備えてもよい。ネットワーク構成パターン保管部２３０に不要カラムがある場合も同様である。
【００４８】
具体的には、検証装置１００が組み合わせ削減部１４０を備える場合、試験結果判定部１３０は、適合しない組み合わせパターンを組み合わせ削減部１４０に渡す処理をすることができる。組み合わせ削減部１４０はそれを保持し、予め定められた閾値に対し、閾値以上不適合と判定された場合、それを利用する組み合わせパターンまたはネットワーク構成パターンでの試験は実施しないようにするため、組み合わせパターン保管部２２０に不要のチェックを入れる。例えば、閾値を３回とすると、組み合わせ削減部１４０は、ソフトウェアＡとハードウェアＣの組み合せが適合しないことが３回以上検出された場合、組み合わせパターン保管部２２０のソフトウェアＡとハードウェアＣの組み合せを含む組み合わせパターンの不要カラムにチェックを入れる。図９は、不要と判断された組み合わせパターンがある場合の例を示す表である。図９は、ソフトウェアＡとハードウェアＣの組み合せについて、組み合わせパターンの不要のカラムにチェックが入れられた状態を示している。なお、上記の例の閾値は、ユーザが設定してもよい。
【００４９】
上記の例では２つの組み合わせについて不要の判断をしているが、３つ以上の組み合わせについて判断してもよい。また、組み合せのハードウェア、ソフトウェア、メーカ情報などを学習データとし、機械学習によって不要な組み合わせを削除するようにしてもよい。
【００５０】
検証装置１００は、試験項目削減部１５０を備えていてもよい。試験項目削減部１５０は、既に実施した試験の試験結果に基づいて試験項目間の論理的包含関係を有する可能性のある親子関係を判断する。図１０は、親子関係があると判断された試験項目がある場合の例を示す表である。親子関係があると判断された場合、図１０のように、子と判断された試験項目の親のカラムに、親の試験項目の番号が記入される。親のカラムに複数の親が記入されてもよい。また、例えば、木構造などその他の表現方法であってもよい。
【００５１】
試験項目間の論理的包含関係を有する関係とは、ＡがＮＧである場合、必ずＢもＮＧになるという試験項目間の関係をいう。具体的には、例えば、通信プロトコルであるＢＧＰにおいて、その接続がなければ、そこから得る経路情報の確認は通常できない。よって、「ＢＧＰの接続を確認する」という項目がＮＧであれば、必然的に「ＢＧＰの経路数が期待通りであること」という試験項目もＮＧとなるはずである。このようにＡがＮＧである場合、必ずＢもＮＧになるという試験項目がある場合、Ａを親、Ｂを子として扱う。
【００５２】
試験項目削減部１５０は試験結果保管部２５０の情報を都度確認し、試験項目の親子関係を判断してもよい。試験結果保管部２５０は、試験完了後、試験実施部１２０に対し、完了通知及び試験結果を返す。このようにすると、試験実施部１２０は、仮にＡがＮＧであった場合、Ｂを実施する必要がないと判断でき、結果不要な試験項目を実施しないようにできる。試験項目削減部１５０が判断する親子関係は、１００％正しい論理的包含関係でなくてもよい。すなわち、試験項目削減部１５０が親子関係があると判断した試験項目が、実際には論理的包含関係がなかったとしても、ユーザがこれを修正できる機能があればよい。
【００５３】
試験項目削減部１５０は親、若しくは子と判定した内容を試験項目保管部２４０へ返す。なお、試験項目保管部２４０は、ユーザでの操作が可能であり、ユーザが親子関係の事前投入や修正が可能である。この場合、ユーザの修正を真とし、該当する親子関係について、今後システムからの修正はしないという機能を備えてもよい。
【００５４】
検証装置１００は、重み付与部１６０を備えていてもよい。重み付与部１６０は、ユーザの採用した仮想ネットワーク機器または仮想ネットワークの試験結果に基づいて試験項目に重みを付与する。試験結果判定部１３０の判定結果を出力する試験結果出力部１７０は、出力する仮想ネットワーク機器または仮想ネットワークの試験項目の試験結果が否定的でかつ重みが付与されている場合、仮想ネットワーク機器または仮想ネットワークの出力と共に注意喚起する表示をする。
【００５５】
ユーザはこの試験結果が通過しないと採用しないという試験項目毎に重みがあると想定される。それを付与する機能を具備することで、ユーザへの試験結果比較出力の際に、その重みをもった試験項目が仮にＮＧであった場合に注意喚起を施し、比較速度を上げることに寄与できる。具体的には、例えば、ユーザが実際に選択した採用結果を入力すると、重み付与部１６０は、この採用結果を複数回に渡って保持する。重み付与部１６０は、複数の採用結果の内、ある試験項目について必ずＯＫである試験項目が存在した場合に、重み付与部１６０は試験項目保管部２４０の該当する試験項目の重みカラムにチェックをつける。図１１は、重みが付与された試験項目がある場合の例を示す表である。なお、重み付与部１６０は、ユーザでの操作が可能であり、ユーザが重みの事前投入や修正が可能である。この場合、ユーザの修正を真とし、該当する重みについて、今後システムからの修正はしないという機能を備えてもよい。
【００５６】
検証装置１００は、試験結果出力部１７０を備えていてもよい。試験結果出力部１７０は、個々の試験結果または試験結果判定部１３０の判定結果を出力する。また、試験結果出力部１７０は、重み付与部１６０が重みを付与した試験項目がＮＧである試験項目を含む判定結果を出力する場合、仮想ネットワーク機器または仮想ネットワークの出力と共に注意喚起する表示をする。
【００５７】
（検証システムの構成）
図１２（ａ）および（ｂ）は、いずれも本実施形態に係る検証システムの概念の一例を示す図である。図１２（ａ）は、複数のハードウェアエミュレータとネットワークＯＳとの組み合わせで仮想ネットワーク機器を構成して、その仮想ネットワーク機器の試験を行う場合の検証システム３００の概念の一例を示す図である。
【００５８】
検証システム３００は、検証装置１００、コンピューティングリソース３１０、およびミドルウェア３２０によって構成されている。コンピューティングリソース３１０とは、ＣＰＵやメモリ等を具備したサーバ等である。ミドルウェア３２０は、例えば、ＫＶＭなどの仮想化を実現するソフトウェアを意味しており、仮想化の技術は特に限定しない。また、検証システム３００は、ソフトウェア保管部２１０等の必要なデータベース２００を備えていてもよい。なお、図１２（ａ）の部品Ｃおよび部品Ｅは、それぞれ対応する部品のハードウェアエミュレータを示す。図１２（ｂ）も同様である。
【００５９】
検証システム３００は、検証装置１００と仮想ネットワーク機器または仮想ネットワークが構築されるサーバ等とが同一の機器に備えられていてもよいし、検証装置１００とサーバ等とが別々になっていてもよい。また、例えば、検証システム３００自体はすべてクラウド上にあり、通信機能、入出力機能および表示機能を有する機器を用いて、クラウド上のサーバに構築された仮想ネットワーク機器または仮想ネットワークの試験結果を取得する構成としてもよい。
【００６０】
図１２（ｂ）は、複数のハードウェアエミュレータとネットワークＯＳとの組み合わせで２つの仮想ネットワーク機器をそれぞれ構成し、２つの仮想ネットワーク機器からなる仮想ネットワークを構成して、その仮想ネットワークの試験を行う場合の検証システムの概念の一例を示す図である。このように、検証システム３００は、仮想ネットワーク機器または仮想ネットワークの機能試験等を行うことができる。仮想ネットワークは、３つ以上の仮想ネットワーク機器によって構成されてもよい。
【００６１】
［実施例］
（検証装置の構成）
図１３は、実施例の検証装置を示す構成図である。本実施例では、検証装置１００は、試験構成管理部１１０、試験実施部１２０、試験結果判定部１３０、組み合わせ削減部１４０、試験項目削減部１５０、重み付与部１６０、および試験結果出力部１７０を備える。また、検証装置１００は、データベースであるソフトウェア保管部２１０、組み合わせパターン保管部２２０、ネットワーク構成パターン保管部２３０、試験項目保管部２４０、および試験結果保管部２５０も備える構成とした。図１３では各保管部は別々ものとして表示されているが、１つのデータベース２００上に備えられていてもよい。また、これら以外に、送信部１８０、受信部１９０、およびパケット生成部４００と、パケット生成部４００内の送信部４１０、受信部４２０を備える。
【００６２】
（試験実施の流れ）
図１４は、本実施例における試験の流れの一例を示すシーケンス図である。事前処理として、ユーザはソフトウェア保管部２１０にハードウェアエミュレータのプログラムとネットワーク機器のＯＳ（ソフトウェア）を保管し、管理させる。また、試験したいハードウェアエミュレータとネットワーク機器のＯＳの組合せを組合せパターン保管部２２０に保管し、管理させる。また、組み合わせパターン保管部２２０の「Ｎｏ．」を、試験したいハードウェアエミュレータとネットワーク機器のＯＳから構成される仮想ネットワーク機器単体とし、単体機器で構成されるネットワーク構成パターンをネットワーク構成パターン保管部２３０に保管し、管理させる。更に、実施したい試験項目を試験項目保管部２４０に保管し、管理させる（以上、ステップＳ１）。なお、試験結果保管部２５０は試験項目保管部２４０の情報を参照し、事前に試験内容と期待動作を保管しておく。
【００６３】
事前処理完了後、試験構成管理部１１０はソフトウェア保管部２１０、組み合わせパターン保管部２２０、ネットワーク構成パターン保管部２３０を確認し、対応する試験構成をコンピューティングリソース３１０上に送信部１８０を経由して構築する（ステップＳ２）。構築完了後、試験実施部１２０へ試験実施の依頼を行う（ステップＳ３）。試験実施部１２０は試験項目保管部２４０を参照し、試験項目を作成し（ステップＳ４）、試験対象に対し一つずつ実施していく（ステップＳ５）。
【００６４】
なお、試験項目は大きくは機能試験、性能試験に大別することができる。機能試験とは仮想ネットワーク機器の機能に関する動作試験であり、ある処理を実行した場合に期待される動作を出力するかを確認する試験である。性能試験は仮想ネットワーク機器の性能に関する試験であり、例えばある負荷をかけた場合に所望の値を満たしているかどうかを確認する定量評価の試験である。例えば、図６のＮｏ．１は機能試験であり、Ｎｏ．３は性能試験である。ステップＳ５の試験実施において、特に性能試験におけるトラフィック負荷が必要な場合は、図１３のパケット生成部の送信部からトラフィックを送信し、受信部にて受信を行うことで、定量評価を実施することとする。
【００６５】
試験結果保管部２５０は試験内容と期待動作の内容からその結果がＯＫであったか、ＮＧであったかを判定し、その結果を自身のデータに反映する（ステップＳ６）。なお、本実施例では試験結果保管部２５０がそれぞれの試験の結果を判定しているが、試験結果の比較も含めてすべて試験結果判定部１３０が判定してもよい。その後、試験完了通知を試験実施部１２０に送信する（ステップＳ７）。試験実施部１２０は試験完了後そのログなどを試験結果保管部２５０へ入力する。
【００６６】
試験実施部１２０は、作成した試験項目に次の試験がある場合は、試験対象に対し実施する（ステップＳ８）。同様のステップを繰り返し、試験結果保管部２５０は、試験完了通知を試験実施部１２０に送信する（ステップＳ９）。試験完了通知が最後の試験項目に対するものであった場合、試験実施部１２０は、試験構成管理部１１０に試験実施完了通知を送信する（ステップＳ１０）。試験実施完了通知が送信された後、試験構成管理部１１０は、試験構成を削除する（ステップＳ１１）。
【００６７】
そして、試験構成管理部１１０は、次の試験構成をコンピューティングリソース３１０上に構築し（ステップＳ１２）、試験実施部１２０へ次の試験実施の依頼を行う（ステップＳ１３）。同様のステップを繰り返し、試験結果保管部２５０は、試験完了通知を試験実施部１２０に送信し（ステップＳ１４）、試験完了通知が最後の試験項目に対するものであった場合、試験実施部１２０は、試験構成管理部１１０に試験実施完了通知を送信する（ステップＳ１５）。試験実施完了通知が送信された後、試験構成管理部１１０は、試験構成を削除し（ステップＳ１６）、全ての試験構成が完了した場合（ステップＳ１７）、試験結果判定部１３０に試験結果の判定を依頼する（ステップＳ１８）。試験結果判定部１３０は、試験結果の判定し（ステップＳ１９）、判定した試験結果を試験結果出力部１７０から出力する（ステップＳ２０）。
【００６８】
（試験結果の判定および出力）
図１５は、本実施例の試験結果判定部１３０の試験結果判定のアルゴリズムの例を示すフローチャートである。試験結果判定部１３０は、図１５に示すアルゴリズムに従い、適していると思われる組み合わせパターンまたはネットワーク構成パターンおよび試験項目が必要な場合はその試験項目と試験結果を試験結果出力部１７０へ渡す。試験結果出力部１７０は、受け取った組み合わせパターンまたはネットワーク構成パターンを出力し、必要な場合は注意喚起する表示を合わせて出力する。また、試験結果判定部１３０は、図１５に示すアルゴリズムに従い、適していないと思われる組み合わせパターンまたはネットワーク構成パターンを組み合わせ削減部１４０へ渡す。組み合わせ削減部１４０は、これを記憶し、同様の組み合わせがユーザにより定められた所定の回数以上になった場合、当該組み合わせを含む組み合わせにチェックを入れる。なお、図１５中のＸ％はユーザが指定できるものとする。ユーザは試験結果出力部１７０の出力により、ハードウェアとソフトウェアの適合を判断できる。ユーザは出力結果を元に実際に採用した組み合わせパターンを入力し、重み付与部１６０は入力された採用結果を保持する。
【００６９】
具体的には、以下のようにする。まず、試験結果判定部１３０は、全試験項目に対するＯＫとなった試験項目の割合を算出する（ステップＴ１）。次に、その割合がＸ％以上かどうか判断する（ステップＴ２）。Ｘ％以上であった場合、試験項目に重み値があるかどうかを判断する（ステップＴ３）。一方、Ｘ％以上でなかった場合、該当の組み合わせパターンまたはネットワーク構成パターンを組み合わせ削減部１４０へ渡す（ステップＴ７）。試験項目に重み値があるかどうかを判断（ステップＴ３）した結果、重み値があった場合、重み値がある試験項目が全てＯＫかどうか判断する（ステップＴ４）。重み値がある試験項目が全てＯＫであった場合、該当の組み合わせパターンまたはネットワーク構成パターンを試験結果出力部１７０へ渡す（ステップＴ５）。試験項目に重み値があるかどうかを判断（ステップＴ３）した結果、重み値がなかった場合もまた、該当の組み合わせパターンまたはネットワーク構成パターンを試験結果出力部１７０へ渡す（ステップＴ５）。また、重み値がある試験項目が全てＯＫかどうか判断（ステップＴ４）した結果、ＮＧである試験項目があった場合、重み値がある試験項目の試験結果とともに該当の組み合わせパターンまたはネットワーク構成パターンを試験結果出力部１７０へ渡す（ステップＴ６）。
【００７０】
（親子関係の判定）
試験項目削減部１５０は、試験項目間の親子関係を判定する。図１６および図１７は、本実施例の試験項目削減部１５０の親子関係判定のアルゴリズムの例を示すフローチャートである。試験項目削減部１５０は、図１６または図１７に示すアルゴリズムに従い、試験項目間の親子関係を判定する。なお、図１６または図１７中の規定回数Ｎはユーザが指定できるものとする。
【００７１】
具体的には、以下のようにする。図１６の例では、まず、試験項目削減部１５０は、試験項目の結果においてＮＧであるものを取り出し保管する（ステップＲ１）。次に、試験を規定回数実施したかどうかを判断する（ステップＲ２）。規定回数実施していない場合、さらに試験結果を蓄積する。一方、規定回数実施している場合、ＮＧの回数が近い試験項目をグループ化する（ステップＲ３）。グループ化の方法は様々考えられるが、例えば、予め定められたグループ数Ｋに対して要素数ができるだけ均等となるようにグループ分けをしてもよいし、クラスタリング手法等を使用してもよい。また、グループ数Ｋは、ユーザが指定してもよいし、試験項目数に応じて自動的に変更されるようにしてもよい。そして、各グループ内で一番ＮＧ回数が少ないものを親、その他を子とする（ステップＲ３）。
【００７２】
図１６の例では、親がＮＧとなっていたとしても子も必ずＮＧになるとは限らない。したがって、図１７の例では、その点を修正するステップを有する。図１７の例では、グループ化するまでは図１６の例と同様である（ステップＰ１〜ステップＰ３）。次に、各グループ内で一番ＮＧ回数が少ないものを親、その他を仮の子とする（ステップＰ４）。そして、親がＮＧの項目において仮の子も必ずＮＧかどうかを判断する（ステップＰ５）。判断の結果、全ての仮の子が必ずＮＧであった場合は、親子関係として試験項目保管部２４０に記述する（ステップＰ６）。判断の結果、親がＮＧで仮の子がＯＫとなっている項目がある仮の子が存在した場合は、親がＮＧで仮の子がＯＫとなっている項目がある仮の子を外し、その他を親子関係として試験項目保管部に記述する（ステップＰ７）。
【００７３】
このように、本発明の検証装置は、オープン化されたネットワーク機器の物理的なハードウェアを準備してネットワークＯＳをインストールすることなく、ネットワーク機器とネットワークＯＳとの組み合わせにおける性能試験や機能確認試験を行うことができる。
【符号の説明】
【００７４】
１００  検証装置
１１０  試験構成管理部
１２０  試験実施部
１３０  試験結果判定部
１４０  組み合わせ削減部
１５０  試験項目削減部
１６０  重み付与部
１７０  試験結果出力部
１８０  送信部
１９０  受信部
２００  データベース
２１０  ソフトウェア保管部
２２０  組み合わせパターン保管部
２３０  ネットワーク構成パターン保管部
２４０  試験項目保管部
２５０  試験結果保管部
３００  検証システム
３１０  コンピューティングリソース
３２０  ミドルウェア
４００  パケット生成部
４１０  送信部
４２０  受信部
【図１】
2020048172.tif 000003
【図２】
2020048172.tif 000004
【図３】
2020048172.tif 000005
【図４】
2020048172.tif 000006
【図５】
2020048172.tif 000007
【図６】
2020048172.tif 000008
【図７】
2020048172.tif 000009
【図８】
2020048172.tif 000010
【図９】
2020048172.tif 000011
【図１０】
2020048172.tif 000012
【図１１】
2020048172.tif 000013
【図１２】
2020048172.tif 000014
【図１３】
2020048172.tif 000015
【図１４】
2020048172.tif 000016
【図１５】
2020048172.tif 000017
【図１６】
2020048172.tif 000018
【図１７】
2020048172.tif 000019