[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP6914901B2 - オープン化設備の検証装置、検証方法、およびプログラム - Google Patents

オープン化設備の検証装置、検証方法、およびプログラム Download PDF

Info

Publication number
JP6914901B2
JP6914901B2 JP2018177696A JP2018177696A JP6914901B2 JP 6914901 B2 JP6914901 B2 JP 6914901B2 JP 2018177696 A JP2018177696 A JP 2018177696A JP 2018177696 A JP2018177696 A JP 2018177696A JP 6914901 B2 JP6914901 B2 JP 6914901B2
Authority
JP
Japan
Prior art keywords
test
virtual network
network device
unit
combination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018177696A
Other languages
English (en)
Other versions
JP2020048172A (ja
Inventor
圭介 黒木
圭介 黒木
林 通秋
通秋 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2018177696A priority Critical patent/JP6914901B2/ja
Publication of JP2020048172A publication Critical patent/JP2020048172A/ja
Application granted granted Critical
Publication of JP6914901B2 publication Critical patent/JP6914901B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、オープン化ネットワーク設備の効率的な機能検証を実施する検証装置、検証方法、およびプログラムに関する。
ネットワークを構成する機器において、オープン化が進んでいる。ここで言うオープン化とは、機器の物理的な仕様の公開を指す。例えばOCP(Open Compute Project)という団体ではHardware Specsと称し、ネットワーク機器内部の設計図が公開されている。従来ネットワーク機器の多くはネットワーク機器のハードウェア部分とそれを動作させるOS(ソフトウェア)は単一のメーカにより提供されていたが、ホワイトボックススイッチの登場により、ハードウェアとソフトウェアを別々に調達することが可能となった。オープン化が進むことにより、ハードウェア内部の部品単位を別々のベンダからの調達も可能となることが予測される。
特許文献1は、テスト手順書に従った振る舞いの試験を自動化し、テスト項目数を減らすことなく、テスト工数を削減する技術が記載されている。期待動作判定部を備えることで、対象機器の機能試験にも有用である。
特許文献2は、1台の物理マシンにおいて動作する仮想マシンが単体もしくは複数台の場合であっても、仮想化システムの性能を容易に予測する性能予測装置に関するもので、ハードウェア層、アプリケーション層各々の性能モデルを生成し、各層の依存関係が反映された仮想化システムの性能を予測することが出来る。
特開2015−049659号公報 特開2014−132419号公報
ネットワーク機器のオープン化が進むと、ハードウェア内部の部品単位での調達は自由度が向上する。一方で、実際にネットワーク機器として利用する場合においては、部品間と更には、それらを動作させるソフトウェアとの組合せにおいて、性能試験や機能確認試験が非常に煩雑になることが予想される。
具体的には、例えば、通常ホワイトボックススイッチに実装するOS(ソフトウェア)は、ASICなどの部品に命令を実行するためのデバイスドライバを具備しており、ASICを積んでいない汎用サーバ上では動作せず、物理的なハードウェアを準備する必要がある。また、様々な部品とソフトウェアとの組み合わせから最適なものを見つけようとすると、それらの組み合わせすべてについてハードウェアを準備し試験する必要が生じる。
しかしながら、特許文献1または2記載の技術では、期待動作の判定や仮想化システムの性能予測はできるものの、オープン化設備におけるハードウェアとソフトウェアの数ある組合せの内、どれが適しているかという判断は実現できない。また、仮想化システムの機能試験には向かない。
本発明は、このような事情に鑑みてなされたものであり、オープン化ネットワーク設備の効率的な機能検証を実施する検証装置、検証方法、およびプログラムを提供することを目的とする。
(1)上記の目的を達成するため、本発明は、以下のような手段を講じた。すなわち、本発明の検証装置は、オープン化設備の検証装置であって、ネットワーク機器のハードウェアの動作をエミュレートしたハードウェアエミュレータと前記ネットワーク機器を制御するネットワークOSとを組み合わせて仮想ネットワーク機器を構成する試験構成管理部と、前記仮想ネットワーク機器に対して予め定められた試験項目から必要な試験を実施する試験実施部と、前記実施された試験の結果を判定する試験結果判定部と、を備える。
これにより、オープン化されたネットワーク機器の物理的なハードウェアを準備してネットワークOSをインストールすることなく、ネットワーク機器とネットワークOSとの組み合わせにおける性能試験や機能確認試験を行うことができる。
(2)また、本発明の検証装置において、前記ハードウェアエミュレータは、ネットワーク機器の内部の部品の動作をエミュレートした複数のハードウェアエミュレータの組み合わせである。
これにより、オープン化されたネットワーク機器の内部の各部品を準備してハードウェアを構成し、ネットワークOSをインストールすることなく、ネットワーク機器の内部の各部品とネットワークOSとの組み合わせにおける性能試験や機能確認試験を行うことができる。
(3)また、本発明の検証装置において、前記試験構成管理部は、予め定められた組み合わせパターンに基づいて複数の仮想ネットワーク機器を順次構成し、前記試験実施部は、前記複数の仮想ネットワーク機器毎に必要な試験を実施し、前記試験結果判定部は、前記複数の仮想ネットワーク機器の試験結果を比較し、最適なものを判定する。
これにより、複数のネットワーク機器をそれぞれすべて構成することなく、仮想ネットワーク機器の試験結果を用いて容易に比較することができる。
(4)また、本発明の検証装置は、前記予め定められた組み合わせパターンのうち、既に試験が行われた組み合わせパターンの組み合わせおよび試験結果に基づいて試験を行う必要のない組み合わせを抽出し、前記抽出した組み合わせを含む前記予め定められた組み合わせパターンにチェックを入れる組み合わせ削減部を更に備え、前記試験構成管理部は、前記チェックの入った組み合わせを構成しない。
このように、試験を行う必要のない組み合わせを抽出し、その組み合わせを含む組み合わせパターンを構成しないため、例えば、試験結果が否定的になる可能性が高い組み合わせを構成し試験することがなくなり、試験時間を低減できる。
(5)また、本発明の検証装置において、前記試験構成管理部は、予め定められたネットワーク構成パターンに基づいて複数の仮想ネットワーク機器の組み合わせからなる仮想ネットワークを順次構成し、前記試験実施部は、前記仮想ネットワーク毎に必要な試験を実施し、前記試験結果判定部は、前記複数の仮想ネットワークの試験結果を比較し、最適なものを判定する。
これにより、複数のネットワーク機器の組み合わせからなるネットワーク構成を物理的に構成することなく、複数の仮想ネットワーク機器の組み合わせによって仮想的に構成することができ、異なるネットワーク構成を容易に比較することができる。
(6)また、本発明の検証装置は、既に実施した試験の試験結果に基づいて試験項目間の論理的包含関係を有する可能性のある親子関係を判断する試験項目削減部を更に備え、前記試験実施部は、前記試験項目削減部が親と判断した試験項目の試験結果が否定的であった場合、前記試験項目削減部が親と判断した試験項目の子と判断された試験項目の試験を行わない。
このように、試験項目間の論理的包含関係を有する可能性のある親子関係を判断し、子と判断された試験項目の試験を行わないため、試験結果が否定的になる可能性が高い試験項目を試験することがなくなり、試験時間を低減できる。
(7)また、本発明の検証装置は、試験結果判定部の判定結果を出力する試験結果出力部と、ユーザの採用した仮想ネットワーク機器または仮想ネットワークの試験結果に基づいて試験項目に重みを付与する重み付与部と、を更に備え、前記試験結果出力部は、出力する仮想ネットワーク機器または仮想ネットワークの試験項目の試験結果が否定的でかつ重みが付与されている場合、前記仮想ネットワーク機器または仮想ネットワークの出力と共に注意喚起する表示をする。
これにより、ユーザの仮想ネットワーク機器または仮想ネットワークの選択の際に、必要な情報を表示し、比較速度を上げることに寄与できる。
(8)また、本発明の検証方法は、オープン化設備の検証方法であって、ネットワーク機器のハードウェアの動作をエミュレートしたハードウェアエミュレータと前記ネットワーク機器を制御するネットワークOSとを組み合わせて物理マシン上に仮想ネットワーク機器を構成するステップと、前記仮想ネットワーク機器に対して予め定められた試験項目から必要な試験を実施するステップと、前記実施された試験項目に対して結果を判定するステップと、を含む。
これにより、オープン化されたネットワーク機器の物理的なハードウェアを準備してネットワークOSをインストールすることなく、ネットワーク機器とネットワークOSとの組み合わせにおける性能試験や機能確認試験を行うことができる。
(9)また、本発明のプログラムは、オープン化設備の検証プログラムであって、ネットワーク機器のハードウェアの動作をエミュレートしたハードウェアエミュレータと前記ネットワーク機器を制御するネットワークOSとを組み合わせて仮想ネットワーク機器を構成する処理と、前記仮想ネットワーク機器に対して予め定められた試験項目から必要な試験を実施する処理と、前記実施された試験項目に対して結果を判定する処理と、の一連の処理をコンピュータに実行させる。
これにより、オープン化されたネットワーク機器の物理的なハードウェアを準備してネットワークOSをインストールすることなく、ネットワーク機器とネットワークOSとの組み合わせにおける性能試験や機能確認試験を行うことができる。
本発明によれば、オープン化ネットワーク設備の効率的な機能検証を実施することができる。
本実施形態に係る検証装置の概略構成の一例を示す図である。 本実施形態に係る検証システムの概念の一例を示す図である。 ソフトウェア保管部に保管されるソフトウェアの例を示す表である。 組み合わせパターン保管部に保管される組み合わせパターンの例を示す表である。 ネットワーク構成パターン保管部に保管されるネットワーク構成パターンの例を示す表である。 試験項目保管部に保管される試験項目の例を示す表である。 試験結果保管部に保管される試験結果の例を示す表である。 本実施形態に係る検証装置の概略構成の一例を示す図である。 不要と判断された組み合わせパターンがある場合の例を示す表である。 親子関係があると判断された試験項目がある場合の例を示す表である。 重みが付与された試験項目がある場合の例を示す表である。 (a)、(b)いずれも本実施形態に係る検証システムの概念の一例を示す図である。 実施例の検証装置を示す構成図である。 本実施例における試験の流れの一例を示すシーケンス図である。 本実施例の試験結果判定部の試験結果判定のアルゴリズムの例を示すフローチャートである。 本実施例の試験項目削減部の親子関係判定のアルゴリズムの例を示すフローチャートである。 本実施例の試験項目削減部の親子関係判定のアルゴリズムの例を示すフローチャートである。
本発明者らは、ネットワーク機器のハードウェアまたはその部品の機能または動作をプログラムで記述し、ソフトウェア化することで、ハードウェアをエミュレートすることができ、そのハードウェアエミュレータ上でネットワーク機器のソフトウェアを動作させることで、その組合せによる試験が可能となり、更には組み合わせや試験項目をリスト化し組合せ試験を自動化することで、様々な組み合わせにおける試験について、大幅な試験工数の削減ができることを見出し、本発明をするに至った。
すなわち、本発明の検証装置は、オープン化設備の検証装置であって、ネットワーク機器のハードウェアの動作をエミュレートしたハードウェアエミュレータと前記ネットワーク機器を制御するネットワークOSとを組み合わせて仮想ネットワーク機器を構成する試験構成管理部と、前記仮想ネットワーク機器に対して予め定められた試験項目から必要な試験を実施する試験実施部と、前記実施された試験の結果を判定する試験結果判定部と、を備える。
これにより、本発明者らは、オープン化されたネットワーク機器の物理的なハードウェアを準備してネットワークOSをインストールすることなく、ネットワーク機器とネットワークOSとの組み合わせにおける性能試験や機能確認試験を行うことを可能とした。以下、本発明の実施形態について、図面を参照しながら具体的に説明する。
[実施形態]
(検証装置の構成)
図1は、本実施形態に係る検証装置の概略構成の一例を示す図である。検証装置100は、試験構成管理部110、試験実施部120、試験結果判定部130によって構成されている。
試験構成管理部110は、ネットワーク機器のハードウェアの動作をエミュレートしたハードウェアエミュレータとネットワーク機器を制御するネットワークOS(Operating System)とを組み合わせて仮想ネットワーク機器を構成する。ハードウェアエミュレータは、ネットワーク機器の内部の部品の動作をエミュレートした複数のハードウェアエミュレータの組み合わせであってもよい。図2は、ハードウェアエミュレータとネットワークOSとの組み合わせで仮想ネットワーク機器の試験を行う場合の検証システム(後述)の概念の一例を示す図である。
ネットワーク機器とは、例えば、スイッチ、ルータ、ファイヤーウォール等のネットワーク機能を有する機器をいう。また、ネットワーク機器の部品とは、ネットワーク機器のパケット処理や通信プロトコル機能等を担う機能的なまとまりとして考えられる部品であって、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、NIC(Network Interface Card)、GPU(Graphic Processing Unit)、CPU(Central Processing Unit)等をいう。
ハードウェアエミュレータとは、ネットワーク機器またはその部品のハードウェアの機能や動作をエミュレートしたプログラムである。ネットワークOSは、ネットワーク機器を制御する。ハードウェアエミュレータおよびネットワークOSは、予め準備されデータベース(ソフトウェア保管部210)に保管される。ネットワーク機器の部品およびネットワークOSを組み合わせてネットワーク機器を構成するのと同様に、これらの部品のハードウェアエミュレータおよびネットワークOSを組み合わせることで仮想的にネットワーク機器を構成でき、図2のように、機能試験等を実施できる。
図3は、ソフトウェア保管部210に保管されるソフトウェアの例を示す表である。ソフトウェア保管部210には、ネットワーク機器のハードウェアをソフトウェア化したハードウェアエミュレータおよびネットワークOS等のソフトウェアが複数保管される。なお、ソフトウェア保管部210等のデータベースは、この後記述されるものも含めて検証装置100に備えられていてもよいが、別の場所等にあってもよい。データベースは、例えば、クラウド上のサーバに備えられ、通信機能によってそのデータを取得してもよい。
ハードウェアエミュレータとネットワークOSとの組み合わせ、または、複数の部品のハードウェアエミュレータとネットワークOSとの組み合わせは、予め定められリスト化された組み合わせパターンから選択されてもよい。その場合、組み合わせパターンは、データベース(組み合わせパターン保管部220)に保管される。図4は、組み合わせパターン保管部220に保管される組み合わせパターンの例を示す表である。図4に示されるように、組み合わせパターン保管部220に保管される組み合わせパターンは、ハードウェアエミュレータとネットワーク機器のOSから構成される仮想ネットワーク機器単体を表す。組み合わせパターンの番号が異なると、仮想ネットワーク機器の構成が異なる。
また、試験構成管理部110は、予め定められた組み合わせパターンに基づいて複数の仮想ネットワーク機器を順次構成し、それぞれの仮想ネットワーク機器について試験をするようにしてもよい。
また、試験構成管理部110は、予め定められたネットワーク構成パターンに基づいて複数の仮想ネットワーク機器の組み合わせからなる仮想ネットワークを順次構成し、それぞれの仮想ネットワークについて試験をするようにしてもよい。その場合、ネットワーク構成パターンは、データベース(ネットワーク構成パターン保管部230)に保管される。
図5は、ネットワーク構成パターン保管部230に保管されるネットワーク構成パターンの例を示す表である。ネットワーク構成パターン保管部230に保管されるネットワーク構成パターンは、組み合わせパターン保管部220の単体のネットワーク機器を表す組み合わせパターンの番号を用いて表示される。すなわち、ネットワーク構成パターン保管部230に保管されるネットワーク構成パターンは、複数の仮想ネットワーク機器によって構成される仮想ネットワークを表す。ただし、仮想ネットワーク機器単体の試験と仮想ネットワークの試験を続けて行う場合、図5のようにネットワーク構成パターンに一つの番号を表示することもできる。ネットワーク構成パターンの番号が異なると、仮想ネットワークの構成が異なる。なお、ネットワーク構成パターンは図5のように、「−」で接続を意味するように記述してもよいし、JSONやXML形式によって構成を記述しても構わない(構成がわかればその記述形式は問わない)。
試験実施部120は、仮想ネットワーク機器に対して予め定められた試験項目から必要な試験を実施する。また、試験実施部120は、複数の仮想ネットワーク機器の組み合わせからなる仮想ネットワークに対して予め定められた試験項目から必要な試験を実施する。試験項目は、データベース(試験項目保管部240)に保管される。図6は、試験項目保管部240に保管される試験項目の例を示す表である。試験項目は、試験内容と期待動作が記述される。試験実施部120は、試験項目に記述された試験内容に従って試験を行う。
試験結果判定部130は、実施された試験の結果を判定する。また、試験結果判定部130は、複数の仮想ネットワーク機器の試験結果を比較し、最適なものを判定する。また、試験結果判定部130は、複数の仮想ネットワークの試験結果を比較し、最適なものを判定する。判定された試験結果は、データベース(試験結果保管部250)に保管される。試験結果は、組み合わせパターン毎またはネットワーク構成パターン毎に保管される。図7は、試験結果保管部250に保管される試験結果の例を示す表である。試験結果は、図7のNo.3のように、OKやNG以外に数値等であってもよい。試験結果の判定方法については、従来技術の様々な方法を使用できるため、本発明の範囲外として、特に方法は問わない。
検証装置100は、組み合わせ削減部140、試験項目削減部150、重み付与部160、および試験結果出力部170のうちの1つ以上を更に備えていてもよい。図8は、組み合わせ削減部140、試験項目削減部150、重み付与部160、および試験結果出力部170を更に備える検証装置100の概略構成の一例を示す図である。
検証装置100は、組み合わせ削減部140を備えていてもよい。組み合わせ削減部140は、予め定められた組み合わせパターンのうち、既に試験が行われた組み合わせパターンの組み合わせおよび試験結果に基づいて試験を行う必要のない組み合わせを判定、抽出し、抽出した組み合わせを含む予め定められた組み合わせパターンにチェックを入れる。チェックの入った組み合わせがある場合、試験構成管理部110は、チェックの入った組み合わせを構成しない。また、ネットワーク構成パターンについて同様の処理をするようにしてもよい。
これにより、試験構成管理部110は新たな試験構成を構築するときに、組み合わせパターン保管部220の不要にチェックが入っているものがあれば、それを構築しないようにできる。また、ネットワーク構成パターン保管部230においても、組み合わせパターン保管部220の不要にチェックが入っている組み合わせを含むネットワーク構成についても構成しないようにできる。結果として、失敗する可能性が高い構成において試験を行う工数を省くことができる。
なお、組み合わせパターン保管部220は、ユーザでの操作が可能であり、不要チェックが入っている組み合せにおいて、ユーザが不要ではないと判断すれば、不要チェックを外すことができる。この場合、ユーザの修正を真とし、該当する組み合わせにおいて、今後不要チェックをしないという機能を備えてもよい。ネットワーク構成パターン保管部230に不要カラムがある場合も同様である。
具体的には、検証装置100が組み合わせ削減部140を備える場合、試験結果判定部130は、適合しない組み合わせパターンを組み合わせ削減部140に渡す処理をすることができる。組み合わせ削減部140はそれを保持し、予め定められた閾値に対し、閾値以上不適合と判定された場合、それを利用する組み合わせパターンまたはネットワーク構成パターンでの試験は実施しないようにするため、組み合わせパターン保管部220に不要のチェックを入れる。例えば、閾値を3回とすると、組み合わせ削減部140は、ソフトウェアAとハードウェアCの組み合せが適合しないことが3回以上検出された場合、組み合わせパターン保管部220のソフトウェアAとハードウェアCの組み合せを含む組み合わせパターンの不要カラムにチェックを入れる。図9は、不要と判断された組み合わせパターンがある場合の例を示す表である。図9は、ソフトウェアAとハードウェアCの組み合せについて、組み合わせパターンの不要のカラムにチェックが入れられた状態を示している。なお、上記の例の閾値は、ユーザが設定してもよい。
上記の例では2つの組み合わせについて不要の判断をしているが、3つ以上の組み合わせについて判断してもよい。また、組み合せのハードウェア、ソフトウェア、メーカ情報などを学習データとし、機械学習によって不要な組み合わせを削除するようにしてもよい。
検証装置100は、試験項目削減部150を備えていてもよい。試験項目削減部150は、既に実施した試験の試験結果に基づいて試験項目間の論理的包含関係を有する可能性のある親子関係を判断する。図10は、親子関係があると判断された試験項目がある場合の例を示す表である。親子関係があると判断された場合、図10のように、子と判断された試験項目の親のカラムに、親の試験項目の番号が記入される。親のカラムに複数の親が記入されてもよい。また、例えば、木構造などその他の表現方法であってもよい。
試験項目間の論理的包含関係を有する関係とは、AがNGである場合、必ずBもNGになるという試験項目間の関係をいう。具体的には、例えば、通信プロトコルであるBGPにおいて、その接続がなければ、そこから得る経路情報の確認は通常できない。よって、「BGPの接続を確認する」という項目がNGであれば、必然的に「BGPの経路数が期待通りであること」という試験項目もNGとなるはずである。このようにAがNGである場合、必ずBもNGになるという試験項目がある場合、Aを親、Bを子として扱う。
試験項目削減部150は試験結果保管部250の情報を都度確認し、試験項目の親子関係を判断してもよい。試験結果保管部250は、試験完了後、試験実施部120に対し、完了通知及び試験結果を返す。このようにすると、試験実施部120は、仮にAがNGであった場合、Bを実施する必要がないと判断でき、結果不要な試験項目を実施しないようにできる。試験項目削減部150が判断する親子関係は、100%正しい論理的包含関係でなくてもよい。すなわち、試験項目削減部150が親子関係があると判断した試験項目が、実際には論理的包含関係がなかったとしても、ユーザがこれを修正できる機能があればよい。
試験項目削減部150は親、若しくは子と判定した内容を試験項目保管部240へ返す。なお、試験項目保管部240は、ユーザでの操作が可能であり、ユーザが親子関係の事前投入や修正が可能である。この場合、ユーザの修正を真とし、該当する親子関係について、今後システムからの修正はしないという機能を備えてもよい。
検証装置100は、重み付与部160を備えていてもよい。重み付与部160は、ユーザの採用した仮想ネットワーク機器または仮想ネットワークの試験結果に基づいて試験項目に重みを付与する。試験結果判定部130の判定結果を出力する試験結果出力部170は、出力する仮想ネットワーク機器または仮想ネットワークの試験項目の試験結果が否定的でかつ重みが付与されている場合、仮想ネットワーク機器または仮想ネットワークの出力と共に注意喚起する表示をする。
ユーザはこの試験結果が通過しないと採用しないという試験項目毎に重みがあると想定される。それを付与する機能を具備することで、ユーザへの試験結果比較出力の際に、その重みをもった試験項目が仮にNGであった場合に注意喚起を施し、比較速度を上げることに寄与できる。具体的には、例えば、ユーザが実際に選択した採用結果を入力すると、重み付与部160は、この採用結果を複数回に渡って保持する。重み付与部160は、複数の採用結果の内、ある試験項目について必ずOKである試験項目が存在した場合に、重み付与部160は試験項目保管部240の該当する試験項目の重みカラムにチェックをつける。図11は、重みが付与された試験項目がある場合の例を示す表である。なお、重み付与部160は、ユーザでの操作が可能であり、ユーザが重みの事前投入や修正が可能である。この場合、ユーザの修正を真とし、該当する重みについて、今後システムからの修正はしないという機能を備えてもよい。
検証装置100は、試験結果出力部170を備えていてもよい。試験結果出力部170は、個々の試験結果または試験結果判定部130の判定結果を出力する。また、試験結果出力部170は、重み付与部160が重みを付与した試験項目がNGである試験項目を含む判定結果を出力する場合、仮想ネットワーク機器または仮想ネットワークの出力と共に注意喚起する表示をする。
(検証システムの構成)
図12(a)および(b)は、いずれも本実施形態に係る検証システムの概念の一例を示す図である。図12(a)は、複数のハードウェアエミュレータとネットワークOSとの組み合わせで仮想ネットワーク機器を構成して、その仮想ネットワーク機器の試験を行う場合の検証システム300の概念の一例を示す図である。
検証システム300は、検証装置100、コンピューティングリソース310、およびミドルウェア320によって構成されている。コンピューティングリソース310とは、CPUやメモリ等を具備したサーバ等である。ミドルウェア320は、例えば、KVMなどの仮想化を実現するソフトウェアを意味しており、仮想化の技術は特に限定しない。また、検証システム300は、ソフトウェア保管部210等の必要なデータベース200を備えていてもよい。なお、図12(a)の部品Cおよび部品Eは、それぞれ対応する部品のハードウェアエミュレータを示す。図12(b)も同様である。
検証システム300は、検証装置100と仮想ネットワーク機器または仮想ネットワークが構築されるサーバ等とが同一の機器に備えられていてもよいし、検証装置100とサーバ等とが別々になっていてもよい。また、例えば、検証システム300自体はすべてクラウド上にあり、通信機能、入出力機能および表示機能を有する機器を用いて、クラウド上のサーバに構築された仮想ネットワーク機器または仮想ネットワークの試験結果を取得する構成としてもよい。
図12(b)は、複数のハードウェアエミュレータとネットワークOSとの組み合わせで2つの仮想ネットワーク機器をそれぞれ構成し、2つの仮想ネットワーク機器からなる仮想ネットワークを構成して、その仮想ネットワークの試験を行う場合の検証システムの概念の一例を示す図である。このように、検証システム300は、仮想ネットワーク機器または仮想ネットワークの機能試験等を行うことができる。仮想ネットワークは、3つ以上の仮想ネットワーク機器によって構成されてもよい。
[実施例]
(検証装置の構成)
図13は、実施例の検証装置を示す構成図である。本実施例では、検証装置100は、試験構成管理部110、試験実施部120、試験結果判定部130、組み合わせ削減部140、試験項目削減部150、重み付与部160、および試験結果出力部170を備える。また、検証装置100は、データベースであるソフトウェア保管部210、組み合わせパターン保管部220、ネットワーク構成パターン保管部230、試験項目保管部240、および試験結果保管部250も備える構成とした。図13では各保管部は別々ものとして表示されているが、1つのデータベース200上に備えられていてもよい。また、これら以外に、送信部180、受信部190、およびパケット生成部400と、パケット生成部400内の送信部410、受信部420を備える。
(試験実施の流れ)
図14は、本実施例における試験の流れの一例を示すシーケンス図である。事前処理として、ユーザはソフトウェア保管部210にハードウェアエミュレータのプログラムとネットワーク機器のOS(ソフトウェア)を保管し、管理させる。また、試験したいハードウェアエミュレータとネットワーク機器のOSの組合せを組合せパターン保管部220に保管し、管理させる。また、組み合わせパターン保管部220の「No.」を、試験したいハードウェアエミュレータとネットワーク機器のOSから構成される仮想ネットワーク機器単体とし、単体機器で構成されるネットワーク構成パターンをネットワーク構成パターン保管部230に保管し、管理させる。更に、実施したい試験項目を試験項目保管部240に保管し、管理させる(以上、ステップS1)。なお、試験結果保管部250は試験項目保管部240の情報を参照し、事前に試験内容と期待動作を保管しておく。
事前処理完了後、試験構成管理部110はソフトウェア保管部210、組み合わせパターン保管部220、ネットワーク構成パターン保管部230を確認し、対応する試験構成をコンピューティングリソース310上に送信部180を経由して構築する(ステップS2)。構築完了後、試験実施部120へ試験実施の依頼を行う(ステップS3)。試験実施部120は試験項目保管部240を参照し、試験項目を作成し(ステップS4)、試験対象に対し一つずつ実施していく(ステップS5)。
なお、試験項目は大きくは機能試験、性能試験に大別することができる。機能試験とは仮想ネットワーク機器の機能に関する動作試験であり、ある処理を実行した場合に期待される動作を出力するかを確認する試験である。性能試験は仮想ネットワーク機器の性能に関する試験であり、例えばある負荷をかけた場合に所望の値を満たしているかどうかを確認する定量評価の試験である。例えば、図6のNo.1は機能試験であり、No.3は性能試験である。ステップS5の試験実施において、特に性能試験におけるトラフィック負荷が必要な場合は、図13のパケット生成部の送信部からトラフィックを送信し、受信部にて受信を行うことで、定量評価を実施することとする。
試験結果保管部250は試験内容と期待動作の内容からその結果がOKであったか、NGであったかを判定し、その結果を自身のデータに反映する(ステップS6)。なお、本実施例では試験結果保管部250がそれぞれの試験の結果を判定しているが、試験結果の比較も含めてすべて試験結果判定部130が判定してもよい。その後、試験完了通知を試験実施部120に送信する(ステップS7)。試験実施部120は試験完了後そのログなどを試験結果保管部250へ入力する。
試験実施部120は、作成した試験項目に次の試験がある場合は、試験対象に対し実施する(ステップS8)。同様のステップを繰り返し、試験結果保管部250は、試験完了通知を試験実施部120に送信する(ステップS9)。試験完了通知が最後の試験項目に対するものであった場合、試験実施部120は、試験構成管理部110に試験実施完了通知を送信する(ステップS10)。試験実施完了通知が送信された後、試験構成管理部110は、試験構成を削除する(ステップS11)。
そして、試験構成管理部110は、次の試験構成をコンピューティングリソース310上に構築し(ステップS12)、試験実施部120へ次の試験実施の依頼を行う(ステップS13)。同様のステップを繰り返し、試験結果保管部250は、試験完了通知を試験実施部120に送信し(ステップS14)、試験完了通知が最後の試験項目に対するものであった場合、試験実施部120は、試験構成管理部110に試験実施完了通知を送信する(ステップS15)。試験実施完了通知が送信された後、試験構成管理部110は、試験構成を削除し(ステップS16)、全ての試験構成が完了した場合(ステップS17)、試験結果判定部130に試験結果の判定を依頼する(ステップS18)。試験結果判定部130は、試験結果の判定し(ステップS19)、判定した試験結果を試験結果出力部170から出力する(ステップS20)。
(試験結果の判定および出力)
図15は、本実施例の試験結果判定部130の試験結果判定のアルゴリズムの例を示すフローチャートである。試験結果判定部130は、図15に示すアルゴリズムに従い、適していると思われる組み合わせパターンまたはネットワーク構成パターンおよび試験項目が必要な場合はその試験項目と試験結果を試験結果出力部170へ渡す。試験結果出力部170は、受け取った組み合わせパターンまたはネットワーク構成パターンを出力し、必要な場合は注意喚起する表示を合わせて出力する。また、試験結果判定部130は、図15に示すアルゴリズムに従い、適していないと思われる組み合わせパターンまたはネットワーク構成パターンを組み合わせ削減部140へ渡す。組み合わせ削減部140は、これを記憶し、同様の組み合わせがユーザにより定められた所定の回数以上になった場合、当該組み合わせを含む組み合わせにチェックを入れる。なお、図15中のX%はユーザが指定できるものとする。ユーザは試験結果出力部170の出力により、ハードウェアとソフトウェアの適合を判断できる。ユーザは出力結果を元に実際に採用した組み合わせパターンを入力し、重み付与部160は入力された採用結果を保持する。
具体的には、以下のようにする。まず、試験結果判定部130は、全試験項目に対するOKとなった試験項目の割合を算出する(ステップT1)。次に、その割合がX%以上かどうか判断する(ステップT2)。X%以上であった場合、試験項目に重み値があるかどうかを判断する(ステップT3)。一方、X%以上でなかった場合、該当の組み合わせパターンまたはネットワーク構成パターンを組み合わせ削減部140へ渡す(ステップT7)。試験項目に重み値があるかどうかを判断(ステップT3)した結果、重み値があった場合、重み値がある試験項目が全てOKかどうか判断する(ステップT4)。重み値がある試験項目が全てOKであった場合、該当の組み合わせパターンまたはネットワーク構成パターンを試験結果出力部170へ渡す(ステップT5)。試験項目に重み値があるかどうかを判断(ステップT3)した結果、重み値がなかった場合もまた、該当の組み合わせパターンまたはネットワーク構成パターンを試験結果出力部170へ渡す(ステップT5)。また、重み値がある試験項目が全てOKかどうか判断(ステップT4)した結果、NGである試験項目があった場合、重み値がある試験項目の試験結果とともに該当の組み合わせパターンまたはネットワーク構成パターンを試験結果出力部170へ渡す(ステップT6)。
(親子関係の判定)
試験項目削減部150は、試験項目間の親子関係を判定する。図16および図17は、本実施例の試験項目削減部150の親子関係判定のアルゴリズムの例を示すフローチャートである。試験項目削減部150は、図16または図17に示すアルゴリズムに従い、試験項目間の親子関係を判定する。なお、図16または図17中の規定回数Nはユーザが指定できるものとする。
具体的には、以下のようにする。図16の例では、まず、試験項目削減部150は、試験項目の結果においてNGであるものを取り出し保管する(ステップR1)。次に、試験を規定回数実施したかどうかを判断する(ステップR2)。規定回数実施していない場合、さらに試験結果を蓄積する。一方、規定回数実施している場合、NGの回数が近い試験項目をグループ化する(ステップR3)。グループ化の方法は様々考えられるが、例えば、予め定められたグループ数Kに対して要素数ができるだけ均等となるようにグループ分けをしてもよいし、クラスタリング手法等を使用してもよい。また、グループ数Kは、ユーザが指定してもよいし、試験項目数に応じて自動的に変更されるようにしてもよい。そして、各グループ内で一番NG回数が少ないものを親、その他を子とする(ステップR3)。
図16の例では、親がNGとなっていたとしても子も必ずNGになるとは限らない。したがって、図17の例では、その点を修正するステップを有する。図17の例では、グループ化するまでは図16の例と同様である(ステップP1〜ステップP3)。次に、各グループ内で一番NG回数が少ないものを親、その他を仮の子とする(ステップP4)。そして、親がNGの項目において仮の子も必ずNGかどうかを判断する(ステップP5)。判断の結果、全ての仮の子が必ずNGであった場合は、親子関係として試験項目保管部240に記述する(ステップP6)。判断の結果、親がNGで仮の子がOKとなっている項目がある仮の子が存在した場合は、親がNGで仮の子がOKとなっている項目がある仮の子を外し、その他を親子関係として試験項目保管部に記述する(ステップP7)。
このように、本発明の検証装置は、オープン化されたネットワーク機器の物理的なハードウェアを準備してネットワークOSをインストールすることなく、ネットワーク機器とネットワークOSとの組み合わせにおける性能試験や機能確認試験を行うことができる。
100 検証装置
110 試験構成管理部
120 試験実施部
130 試験結果判定部
140 組み合わせ削減部
150 試験項目削減部
160 重み付与部
170 試験結果出力部
180 送信部
190 受信部
200 データベース
210 ソフトウェア保管部
220 組み合わせパターン保管部
230 ネットワーク構成パターン保管部
240 試験項目保管部
250 試験結果保管部
300 検証システム
310 コンピューティングリソース
320 ミドルウェア
400 パケット生成部
410 送信部
420 受信部

Claims (9)

  1. オープン化設備の検証装置であって、
    ネットワーク機器のハードウェアの動作をエミュレートしたハードウェアエミュレータと前記ネットワーク機器を制御するネットワークOSとを組み合わせて仮想ネットワーク機器を構成する試験構成管理部と、
    前記仮想ネットワーク機器に対して予め定められた試験項目から必要な試験を実施する試験実施部と、
    前記実施された試験の結果を判定する試験結果判定部と、を備えることを特徴とする検証装置。
  2. 前記ハードウェアエミュレータは、ネットワーク機器の内部の部品の動作をエミュレートした複数のハードウェアエミュレータの組み合わせであることを特徴とする請求項1記載の検証装置。
  3. 前記試験構成管理部は、予め定められた組み合わせパターンに基づいて複数の仮想ネットワーク機器を順次構成し、
    前記試験実施部は、前記複数の仮想ネットワーク機器毎に必要な試験を実施し、
    前記試験結果判定部は、前記複数の仮想ネットワーク機器の試験結果を比較し、最適なものを判定することを特徴とする請求項1または請求項2記載の検証装置。
  4. 前記予め定められた組み合わせパターンのうち、既に試験が行なわれた組み合わせパターンの組み合わせおよび試験結果に基づいて試験を行なう必要のない組み合わせを抽出し、前記抽出した組み合わせを含む前記予め定められた組み合わせパターンにチェックを入れる組み合わせ削減部を更に備え、
    前記試験構成管理部は、前記チェックの入った組み合わせを構成しないことを特徴とする請求項3記載の検証装置。
  5. 前記試験構成管理部は、予め定められたネットワーク構成パターンに基づいて複数の仮想ネットワーク機器の組み合わせからなる仮想ネットワークを順次構成し、
    前記試験実施部は、前記仮想ネットワーク毎に必要な試験を実施し、
    前記試験結果判定部は、前記複数の仮想ネットワークの試験結果を比較し、最適なものを判定することを特徴とする請求項1から請求項4のいずれかに記載の検証装置。
  6. 既に実施した試験の試験結果に基づいて試験項目間の論理的包含関係を有する可能性のある親子関係を判断する試験項目削減部を更に備え、
    前記試験実施部は、前記試験項目削減部が親と判断した試験項目の試験結果が否定的であった場合、前記試験項目削減部が親と判断した試験項目の子と判断された試験項目の試験を行なわないことを特徴とする請求項1から請求項5のいずれかに記載の検証装置。
  7. 試験結果判定部の判定結果を出力する試験結果出力部と、
    ユーザの採用した仮想ネットワーク機器または仮想ネットワークの試験結果に基づいて試験項目に重みを付与する重み付与部と、を更に備え、
    前記試験結果出力部は、出力する仮想ネットワーク機器または仮想ネットワークの試験項目の試験結果が否定的でかつ重みが付与されている場合、前記仮想ネットワーク機器または仮想ネットワークの出力と共に注意喚起する表示をすることを特徴とする請求項1から請求項6のいずれかに記載の検証装置。
  8. オープン化設備の検証方法であって、
    ネットワーク機器のハードウェアの動作をエミュレートしたハードウェアエミュレータと前記ネットワーク機器を制御するネットワークOSとを組み合わせて物理マシン上に仮想ネットワーク機器を構成するステップと、
    前記仮想ネットワーク機器に対して予め定められた試験項目から必要な試験を実施するステップと、
    前記実施された試験項目に対して結果を判定するステップと、を含むことを特徴とする方法。
  9. オープン化設備の検証プログラムであって、
    ネットワーク機器のハードウェアの動作をエミュレートしたハードウェアエミュレータと前記ネットワーク機器を制御するネットワークOSとを組み合わせて仮想ネットワーク機器を構成する処理と、
    前記仮想ネットワーク機器に対して予め定められた試験項目から必要な試験を実施する処理と、
    前記実施された試験項目に対して結果を判定する処理と、の一連の処理をコンピュータに実行させることを特徴とするプログラム。
JP2018177696A 2018-09-21 2018-09-21 オープン化設備の検証装置、検証方法、およびプログラム Active JP6914901B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018177696A JP6914901B2 (ja) 2018-09-21 2018-09-21 オープン化設備の検証装置、検証方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018177696A JP6914901B2 (ja) 2018-09-21 2018-09-21 オープン化設備の検証装置、検証方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2020048172A JP2020048172A (ja) 2020-03-26
JP6914901B2 true JP6914901B2 (ja) 2021-08-04

Family

ID=69901875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018177696A Active JP6914901B2 (ja) 2018-09-21 2018-09-21 オープン化設備の検証装置、検証方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP6914901B2 (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040088150A1 (en) * 1998-03-31 2004-05-06 Synopsys, Inc. System and method for hardware and software co-verification
JP2007082078A (ja) * 2005-09-16 2007-03-29 Toshiba Corp データ中継装置
WO2014020883A1 (ja) * 2012-08-01 2014-02-06 日本電気株式会社 ネットワークテスト装置、ネットワークテスト方法及びネットワークテストプログラム
US20140331205A1 (en) * 2013-05-02 2014-11-06 Amazon Technologies, Inc. Program Testing Service
CA2910977A1 (en) * 2013-05-02 2014-11-06 Amazon Technologies, Inc. Program testing service
JP6198529B2 (ja) * 2013-08-30 2017-09-20 三菱電機株式会社 テスト実行システム、テスト実行装置、テスト実行方法及びテスト実行プログラム
JP6260273B2 (ja) * 2013-12-27 2018-01-17 株式会社リコー 情報処理システム、情報処理方法、および情報処理プログラム
US11176178B2 (en) * 2017-01-31 2021-11-16 Mitsubishi Electric Corporation Requirement analysis apparatus, requirement analysis method, and computer readable medium

Also Published As

Publication number Publication date
JP2020048172A (ja) 2020-03-26

Similar Documents

Publication Publication Date Title
CN109802852B (zh) 应用于网络靶场的网络仿真拓扑的构建方法及系统
CN107678946B (zh) 一种基于模型的机载嵌入式软件测试环境构建方法
CN110632857B (zh) 用于大规模层次化控制系统的控制性能验证方法
CN107729138B (zh) 一种高性能分布式矢量空间数据的分析方法和装置
CN111552550A (zh) 一种基于图形处理器gpu资源的任务调度方法、设备及介质
CN114564374A (zh) 算子性能评估方法、装置、电子设备及存储介质
Krishna et al. Rigorous design and deployment of IoT applications
US11902103B2 (en) Method and apparatus for creating a custom service
CN112799782A (zh) 模型生成系统、方法、电子设备及存储介质
CN112596876A (zh) 一种任务调度方法、装置及相关设备
US20220214928A1 (en) Workload Configuration Extractor
US20050044136A1 (en) System and methods for synchronizing software execution across data processing systems and platforms
US20230070063A1 (en) Workflow automation utilizing metadata structure
JP6914901B2 (ja) オープン化設備の検証装置、検証方法、およびプログラム
CN107203471B (zh) 联调方法、服务平台及计算机存储介质
US20230188432A1 (en) Method and Apparatus for Determining Resource Configuration of Cloud Service System
CN113094266B (zh) 一种容器数据库的故障测试方法、平台及设备
CN116306413A (zh) 一种fpga仿真验证方法、装置、电子设备及存储介质
US20230021004A1 (en) Determining an improved technology environment for a software application
US20230020719A1 (en) Technology environment for a software application
CN115794659A (zh) 一种cfd软件的分布式并行测试方法、装置、设备及介质
CN111294250B (zh) 压力测试方法、装置和系统
CN114567559A (zh) 数据分析模型的训练方法、装置及存储介质
WO2010016999A1 (en) Synthetic air traffic management fast-time environment
CN106407504B (zh) 一种声学处理的云平台及方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210527

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210622

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210714

R150 Certificate of patent or registration of utility model

Ref document number: 6914901

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150