(57)【特許請求の範囲】
【請求項１】
ネットワークに接続され、該ネットワークを介して接続された他のネットワーク装置との間で実行する各種機能による動作を検証可能なネットワーク装置であって、
前記機能を実行するための設定が記述された設定ファイルを記憶する記憶部と、
前記設定ファイルに記述された設定に基づき、前記機能を実行する機能実行部と、
前記機能実行部で実行された前記機能による第１のログを取得する第１のログ取得部とを有し、
前記ネットワークを介して前記他のネットワーク装置との間で各種機能を実行するネットワーク装置部と、
前記ネットワーク装置部をモデル化した第１の仮想ネットワーク装置と、前記ネットワークをモデル化した仮想ネットワークと、前記他のネットワーク装置をモデル化した第２の仮想ネットワーク装置とからなる仮想システムを構築し、前記機能と同一の機能を実行する仮想システム構成部と、
前記仮想システムで実行された前記機能による第２のログを取得する第２のログ取得部とを有し、
前記ネットワーク装置部の各種機能を仮想的に実行するシミュレーション機能部と、
前記ネットワーク装置部の実行結果と、前記シミュレーション機能部の実行結果とに基づき、前記第１及び第２のログを比較することにより、前記ネットワーク装置部の前記機能による動作が正常であるか否かを判断する連携機能部とを備えることを特徴とするネットワーク装置。
【請求項２】
前記第１の仮想ネットワーク装置は、前記設定ファイルと同一の設定が記述された仮想設定ファイルの設定に基づき前記機能を実行する、前記機能実行部をモデル化した仮想機能実行部を有することを特徴とする請求項１に記載のネットワーク装置。
【請求項３】
前記機能実行部は、
ソフトウェアの機能を実行するソフトウェア部と、
ハードウェアの機能を実行するハードウェア部とからなり、
前記仮想機能実行部は、
前記ソフトウェア部をモデル化した仮想ソフトウェア部と、
前記ハードウェア部をモデル化した仮想ハードウェア部とからなることを特徴とする請求項２に記載のネットワーク装置。
【請求項４】
前記機能実行部は、機能単位で設けられた１つ又は複数のモジュールからなり、
前記仮想機能実行部は、機能単位で設けられ、前記モジュールをモデル化した１つ又は複数の仮想モジュールからなることを特徴とする請求項２又は３に記載のネットワーク装置。
【請求項５】
前記第１のログ取得部は、前記第１のログを前記モジュール単位で取得し、
前記第２のログ取得部は、前記第２のログを前記仮想モジュール単位で取得することを特徴とする請求項４に記載のネットワーク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク装置に関し、特に、装置全体の動作を検証可能なネットワーク装置に関する。
【背景技術】
【０００２】
従来、ネットワークに接続し、ネットワークを介してデータを送受信するネットワーク装置が普及しており、このようなネットワーク装置の動作を検証する方法としては、例えば、シミュレータを用いた検証方法が知られている。
【０００３】
例えば、特許文献１には、ネットワークを介して他のノードと通信するための通信コマンドを含むようなＰＬＣ（Programmable Logic Controller；プログラマブル・コントローラ）用プログラムを適切にテストすることができる実行シミュレーション装置が記載されている。
【０００４】
この実行シミュレーション装置は、実ネットワーク上の実ＰＬＣと同じ動作をするコンピュータ上のプログラムであるＰＬＣエミュレータで構成される仮想ＰＬＣを介して、ＰＬＣ用プログラムをコンピュータ上で模擬的に実行する。仮想ＰＬＣは、ネットワークとの間における通信メッセージの送受信機能を有し、これにより、ネットワークを介して他のノードと通信するための通信コマンドを含むＰＬＣ用プログラムのシミュレーションを実行することができる。
【０００５】
また、実行シミュレーション装置は、送受信機能を有する複数の仮想ノード間を接続可能なネットワークエミュレータで構成される仮想ネットワークをさらに有し、これにより、通信コマンドを含むＰＬＣ用プログラムをコンピュータ上のみでも模擬的に実行することができる。
【０００６】
特許文献２には、運用中のネットワーク装置に対して新規設定ファイルを適用する際に、新規設定ファイルを用いたシミュレーションを行うネットワーク装置が記載されている。このネットワーク装置は、現用ユニットとシミュレータユニットとで構成され、シミュレータユニットにおいて現用ユニットと同一の環境で新規設定ファイルによるシミュレーションを実行することにより動作確認を行い、新規設定ファイルを現用ユニットの設定に適用する。これにより、実際のネットワークに負荷を与えることなく、実際に運用される環境で新規設定ファイルによる動作確認を行うことができる。
【０００７】
特許文献３には、稼働中の実ネットワークが、ネットワークに接続されたネットワーク機器の構成変更等により異常状態となった場合の復旧や維持管理を行うために、シミュレーションを用いるネットワーク管理システム装置が記載されている。
【０００８】
このネットワーク管理システム装置は、シミュレーション装置とネットワーク管理装置とで構成される。シミュレーション装置は、実ネットワークに対応する仮想ネットワークをシミュレートし、シミュレート結果により正常動作が確認された、ネットワークに接続されたネットワーク機器の構成を示す構成情報及び各ネットワーク機器における設定状態を示す機器設定情報をシミュレーションデータベースに保存する。ネットワーク管理装置は、実ネットワークに加えられる構成情報及び機器設定情報の変更を検出して管理し、変更された構成情報及び機器設定情報をネットワークデータベースに保存する。
【０００９】
そして、ネットワーク管理システム装置は、シミュレーションデータベースに保存されたデータと、ネットワークデータベースに保存されたデータとの差分を検出することにより、実ネットワーク上における異常状態の原因であるネットワーク機器と、このネットワーク機器の設定内容を特定することができる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００１−２０９４０７号公報
【特許文献２】特開２００８−１８２２９０号公報
【特許文献３】特開２００１−１６８８６２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上述した特許文献１〜３に記載の装置では、シミュレーションによる検証対象が装置の一部に限定され、装置全体といったより広い範囲を検証対象とすることができないという問題があった。
【００１２】
例えば、特許文献１に記載の実行シミュレーション装置では、ソフトウェアであるＰＬＣ用プログラムのみを検証対象としており、ハードウェアであるＰＬＣは検証対象に含まれない。また、特許文献２に記載のネットワーク装置では、設定ファイルのみを検証対象としており、ネットワーク装置全体は検証対象に含まれない。さらに、特許文献３に記載のネットワーク管理システム装置では、ネットワークに接続されたネットワーク機器に関する構成情報及び機器設定情報のみを検証対象としており、ネットワーク管理システム装置全体は検証対象に含まれない。
【００１３】
そこで、本発明は、上記従来の技術における問題点に鑑みてなされたものであって、ハードウェアやソフトウェア、設定ファイル等を含む装置全体を検証対象とし、装置の検証を効率的に行うことが可能なネットワーク装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、本発明は、ネットワークに接続され、該ネットワークを介して接続された他のネットワーク装置との間で実行する各種機能による動作を検証可能なネットワーク装置であって、前記機能を実行するための設定が記述された設定ファイルを記憶する記憶部と、前記設定ファイルに記述された設定に基づき、前記機能を実行する機能実行部と、前記機能実行部で実行された前記機能による第１のログを取得する第１のログ取得部とを有し、前記ネットワークを介して前記他のネットワーク装置との間で各種機能を実行するネットワーク装置部と、前記ネットワーク装置部をモデル化した第１の仮想ネットワーク装置と、前記ネットワークをモデル化した仮想ネットワークと、前記他のネットワーク装置をモデル化した第２の仮想ネットワーク装置とからなる仮想システムを構築し、前記機能と同一の機能を実行する仮想システム構成部と、前記仮想システムで実行された前記機能による第２のログを取得する第２のログ取得部とを有し、前記ネットワーク装置部の各種機能を仮想的に実行するシミュレーション機能部と、前記ネットワーク装置部の実行結果と、前記シミュレーション機能部の実行結果とに基づき、前記第１及び第２のログを比較することにより、前記ネットワーク装置部の前記機能による動作が正常であるか否かを判断する連携機能部とを備えることを特徴とする。
【００１５】
そして、本発明によれば、ネットワーク装置部による機能を実行すると共に、ネットワーク装置部による機能をシミュレーション機能部により仮想的に実行し、各々の実行結果に基づき、ネットワーク装置部の機能による動作が正常であるか否かを判断するため、ネットワーク装置全体の動作を検証することが可能になる。
【００１６】
また、ネットワーク装置部の第１のログ取得部で取得した第１のログと、シミュレーション機能部の第２のログ取得部で取得した第２のログとを比較することにより、ネットワーク装置部の機能による動作が正常であるか否かを判断するため、機能実行部及び設定ファイルを含むネットワーク装置全体を検証することが可能になり、また、仮想システムにおける動作のログと、実際のシステムにおける動作のログとを比較することにより動作を検証するため、ネットワーク装置の検証を効率的に行うことが可能になる。
【００１７】
上記ネットワーク装置において、前記第１の仮想ネットワーク装置を、前記設定ファイルと同一の設定が記述された仮想設定ファイルの設定に基づき前記機能を実行する、前記機能実行部をモデル化した仮想機能実行部を有する構成とすることができる。
【００１８】
上記ネットワーク装置において、前記機能実行部を、ソフトウェアの機能を実行するソフトウェア部と、ハードウェアの機能を実行するハードウェア部とからなる構成とし、前記仮想機能実行部を、前記ソフトウェア部をモデル化した仮想ソフトウェア部と、前記ハードウェア部をモデル化した仮想ハードウェア部とからなる構成とすることができる。
【００１９】
上記ネットワーク装置において、前記機能実行部を、機能単位で設けられた１つ又は複数のモジュールからなる構成とし、前記仮想機能実行部を、機能単位で設けられ、前記モジュールをモデル化した１つ又は複数の仮想モジュールからなる構成とすることができる。
【００２０】
上記ネットワーク装置において、前記第１のログ取得部は、前記第１のログを前記モジュール単位で取得し、前記第２のログ取得部は、前記第２のログを前記仮想モジュール単位で取得することができる。これにより、ネットワーク装置の動作が異常であると判断された場合に、原因となる箇所をモジュール単位で判断することが可能になる。
【発明の効果】
【００２１】
以上のように、本発明によれば、ハードウェアやソフトウェア、設定ファイル等を含むネットワーク装置全体の検証を効率的に行うことが可能になる。
【図面の簡単な説明】
【００２２】
【図１】本発明にかかるネットワーク装置の一実施の形態を示すブロック図である。
【図２】ネットワーク装置における動作の検証処理の流れについて説明するためのフローチャートである。
【図３】本発明にかかるネットワーク装置の他の実施形態を示すブロック図である。
【発明を実施するための形態】
【００２３】
次に、本発明を実施するための形態について、図面を参照しながら詳細に説明する。
【００２４】
図１は、本発明にかかるネットワーク装置の一実施の形態を適用可能なネットワークシステムを示し、ネットワークシステム１０は、シミュレーション機能を有するネットワーク装置１及び複数のネットワーク装置２Ａ、２Ｂ、・・・で構成され、ネットワーク装置１及びネットワーク装置２Ａ、２Ｂ、・・・がネットワーク３で接続される。この例では、ネットワーク装置１と、ネットワーク装置２Ａ及び２Ｂがネットワーク３に接続される。
【００２５】
ネットワーク装置１は、ネットワーク装置部１１、シミュレーション機能部１２及び連携機能部１３を備える。ネットワーク装置部１１は、ネットワーク３を介して他のネットワーク装置２Ａ及び２Ｂと接続され、フレームの送受信等の各種機能による動作を実行する。また、ネットワーク装置部１１は、各種機能を実行した際のログを取得すると共に、正常に動作したか否かをチェックし、取得したログを連携機能部１３に供給する。
【００２６】
シミュレーション機能部１２は、このネットワークシステム１０全体の構成をモデル化し、ネットワークシステム１０における各種機能による動作のシミュレーションを実行する。また、シミュレーション機能部１２は、ネットワーク装置部１１と同様に、各種機能を実行した際のログを取得すると共に、正常に動作したか否かをチェックし、取得したログを連携機能部１３に供給する。連携機能部１３は、ネットワーク装置部１１及びシミュレーション機能部１２から供給されたログに基づき、ネットワーク装置部１１が正常に動作するか否かを判断する。
【００２７】
次に、ネットワーク装置部１１の構成の一例について説明する。ネットワーク装置部１１は、機能実行部としてのソフトウェア部２１及びハードウェア部２２と、設定ファイル２３と、ログ取得／チェック機能部２４とで構成される。
【００２８】
ソフトウェア部２１は、例えばＣＰＵ（Central Processing Unit）で構成され、図示されないＲＡＭ(Random Access Memory)をワークメモリとして用い、図示されないＲＯＭ(Read Only Memory)に予め記憶されたプログラムに従い、各種ソフトウェアの機能を実行する。ソフトウェア部２１は、１つ又は複数のソフトウェアモジュール２５Ａ、２５Ｂ、・・・からなる。ソフトウェアモジュール２５Ａ、２５Ｂ、・・・は、例えば機能単位で設けられ、各モジュールが対応する機能を実行する。この例において、ソフトウェア部２１は、２つのソフトウェアモジュール２５Ａ及び２５Ｂで構成される。
【００２９】
ハードウェア部２２は、例えばＬＳＩ（Large Scale Integration）やＦＰＧＡ（Field Programmable Gate Array）で構成され、各種ハードウェアの機能を実行する。ハードウェア部２２は、複数のハードウェアモジュール２６Ａ、２６Ｂ、・・・からなる。ハードウェアモジュール２６Ａ、２６Ｂ、・・・は、ソフトウェアモジュール２５Ａ、２５Ｂ、・・・と同様に、例えば機能単位で設けられ、各モジュールが対応する機能を実行する。この例において、ハードウェア部２２は、２つのハードウェアモジュール２６Ａ及び２６Ｂで構成される。
【００３０】
設定ファイル２３には、ネットワーク装置部１１で行われるフレームの送受信の際の設定等が記述される。ネットワーク装置部１１において設定が必要な機能は、この設定ファイル２３を用いてソフトウェア部２１及びハードウェア部２２に対する設定を行う。設定ファイル２３は、例えば、図示しないメモリ等の記憶部に記憶される。
【００３１】
ログ取得／チェック機能部２４は、ネットワーク装置部１１で実行された機能のログをモジュール単位で取得する。また、ログ取得／チェック機能部２４は、各種機能を実行した際の実行結果と、実行結果に対する期待値とを比較する等のチェックをモジュール単位で行う。
【００３２】
次に、シミュレーション機能部１２の構成の一例について説明する。シミュレーション機能部１２は、例えばＣＰＵで構成され、図示されないＲＡＭをワークメモリとして用い、図示されないＲＯＭに予め記憶されたプログラムに従い、このシミュレーション機能部１２全体の動作を制御する。尚、シミュレーション機能部１２を構成するＣＰＵは、ソフトウェア部２１を構成するＣＰＵと異なるＣＰＵとする。
【００３３】
シミュレーション機能部１２は、仮想システム構成部３０及びログ取得／チェック機能部４０で構成される。仮想システム構成部３０は、シミュレーション機能部１２の制御に基づき、このネットワークシステム１０全体の構成をモデル化した仮想ネットワークシステムを構築し、ネットワークシステム１０における各種機能による動作のシミュレーションを実行する。この例において、仮想システム構成部３０には、ネットワーク装置部１１をモデル化した仮想ネットワーク装置３１と、ネットワーク装置２Ａ及び２Ｂをモデル化した仮想ネットワーク装置３２Ａ及び３２Ｂとがネットワーク３をモデル化した仮想ネットワーク３３に接続された仮想ネットワークシステムが構築される。
【００３４】
仮想ネットワーク装置３１は、仮想機能実行部としての仮想ソフトウェア部４１及び仮想ハードウェア部４２と、仮想設定ファイル４３とで構成される。
【００３５】
仮想ソフトウェア部４１は、ソフトウェア部２１をモデル化したものであり、ソフトウェアモジュール２５Ａ、２５Ｂ、・・・をモデル化した複数の仮想ソフトウェアモジュール４５Ａ、４５Ｂ、・・・からなる。仮想ソフトウェアモジュール４５Ａ、４５Ｂ、・・・は、ソフトウェアモジュール２５Ａ、２５Ｂ、・・・と同様に、例えば機能単位で設けられ、ソフトウェアモジュール２５Ａ、２５Ｂ、・・・の機能に対応する機能を実行する。この例において、仮想ソフトウェア部４１は、２つの仮想ソフトウェアモジュール４５Ａ及び４５Ｂで構成される。
【００３６】
仮想ハードウェア部４２は、ハードウェア部２２をモデル化したものであり、ハードウェアモジュール２６Ａ、２６Ｂ、・・・をモデル化した複数の仮想ハードウェアモジュール４６Ａ、４６Ｂ、・・・からなる。仮想ハードウェアモジュール４６Ａ、４６Ｂ、・・・は、ハードウェアモジュール２６Ａ、２６Ｂ、・・・と同様に、例えば機能単位で設けられ、ハードウェアモジュール２６Ａ、２６Ｂ、・・・の機能に対応する機能を実行する。この例において、仮想ハードウェア部４２は、２つの仮想ハードウェアモジュール４６Ａ及び４６Ｂで構成される。
【００３７】
仮想設定ファイル４３は、ネットワーク装置部１１をモデル化した仮想ネットワークシステムにおけるフレームの送受信等の際の設定が記述される。すなわち、仮想設定ファイル４３には、設定ファイル２３に記述された設定と同様の設定内容が記述される。仮想ネットワークシステムにおいて設定が必要な機能は、この仮想設定ファイル４３を用いて仮想ソフトウェア部４１及び仮想ハードウェア部４２に対する設定を行う。
【００３８】
ログ取得／チェック機能部４０は、仮想システム構成部３０に構築された仮想ネットワークシステムで実行された機能のログをモジュール単位で取得する。また、ログ取得／チェック機能部４０は、各種機能を実行した際の実行結果と、実行結果に対する期待値とを比較する等のチェックをモジュール単位で行う。
【００３９】
次に、上記構成を有するネットワークシステム１０の動作について説明する。ネットワーク装置１では、シミュレーション機能部１２によるシミュレーション機能を用い、ネットワークシステム１０におけるフレームの送受信等の動作を検証する。図２は、ネットワーク装置１における動作の検証処理の流れの一例を示す。
【００４０】
まず、図２に示す処理に先立って、シミュレーション機能部１２は、ネットワークシステム１０全体の構成をモデル化した仮想ネットワークシステムを仮想システム構成部３０に構築し、仮想ネットワーク装置３１の仮想ソフトウェア部４１に設けられた仮想ソフトウェアモジュール４５Ａ及び４５Ｂと、仮想ハードウェア部４２に設けられた仮想ハードウェアモジュール４６Ａ及び４６Ｂとに、仮想設定ファイル４３に記述された設定内容を反映させる。
【００４１】
仮想ネットワークシステムが構築されると、シミュレーション機能部１２は、仮想システム構成部３０に構築された仮想ネットワークシステム上に設けられた仮想ネットワーク装置３１、仮想ネットワーク装置３２Ａ及び３２Ｂによるフレームの送受信等の動作を行う。このとき、ログ取得／チェック機能部４０は、ネットワーク装置部１１の期待する動作結果として、この送受信によるログをモジュール単位で取得する（ステップＳ１）。取得したログは、連携機能部１３に供給される。
【００４２】
次に、ネットワーク装置部１１は、ステップＳ１で行ったシミュレーション機能部１２の動作と同様の動作（フレームの送受信）を、ネットワーク３を介して接続されたネットワーク装置２Ａ及び２Ｂとの間で行う。そして、ログ取得／チェック機能部２４は、この動作の結果として、フレームの送受信によるログをモジュール単位で取得する（ステップＳ２）。取得したログは、連携機能部１３に供給される。
【００４３】
連携機能部１３は、ステップＳ１で取得したシミュレーション機能部１２の動作によるログと、ステップＳ２で取得したネットワーク装置部１１の動作によるログとをモジュール毎に比較する（ステップＳ３）。比較の結果、各々のログが一致し、ネットワーク装置部１１の動作及びシミュレーション機能部１２の動作が同一の動作となった場合には、ネットワーク装置部１１による動作が正常に行われたと判断し、一連の処理を終了する。
【００４４】
一方、ステップＳ３において、各々のログが一致せず、ネットワーク装置部１１の動作及びシミュレーション機能部１２の動作が異なる動作となった場合には、ネットワーク装置部１１の動作が期待する動作と異なるため、ネットワーク装置部１１に異常があると判断する。この場合には、ネットワーク装置部１１の異常の原因となる箇所を修正する（ステップＳ４）。修正対象となる箇所としては、例えば、ネットワーク装置部１１のソフトウェア部２１、ハードウェア部２２及び設定ファイル２３のうちいずれかが考えられる。このとき、ログ取得／チェック機能部２４及び４０で取得されたログは、モジュール単位で取得されるため、各々のログを参照することで、修正箇所を判断することができる。
【００４５】
ネットワーク装置部１１の異常の原因となる箇所の修正が完了すると、処理がステップＳ２に戻り、再度、ネットワーク装置部１１による動作を実行し、ログを取得して動作を検証する。
【００４６】
以上のように、本実施の形態によれば、実際のネットワークシステム全体の構成をモデル化した仮想ネットワークシステムを構築し、この仮想ネットワークシステムを用いて実際のネットワークシステムの動作を検証するため、ソフトウェア部、ハードウェア部及び設定ファイルを含むネットワーク装置全体を検証することができる。
【００４７】
また、仮想ネットワークシステムにおける動作のログと、実際のネットワークシステムにおける動作のログとを比較することにより動作を検証するため、ネットワーク装置の検証を効率的に行うことができる。
【００４８】
以上、本発明の一実施の形態について説明したが、本発明は、上述した本発明の一実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。例えば、上述の例では、ネットワーク装置部１１及びシミュレーション機能部１２が１つのネットワーク装置に含まれるように説明したが、これに限られず、例えばネットワーク装置部１１及びシミュレーション機能部１２の各々が独立した装置として構成されるようにしてもよい。
【００４９】
具体的には、例えば、図３に示すように、図１のネットワーク装置１を、ネットワーク装置部１１の機能を備えるネットワーク装置５１と、シミュレーション機能部１２及び連携機能部１３の機能を備えるシミュレーション装置５２とに分離することが可能である。
【符号の説明】
【００５０】
１  ネットワーク装置
２（２Ａ、２Ｂ、・・・）  ネットワーク装置
３  ネットワーク
１０  ネットワークシステム
１１  ネットワーク装置部
１２  シミュレーション機能部
１３  連携機能部
２１  ソフトウェア部
２２  ハードウェア部
２３  設定ファイル
２４  ログ取得／チェック機能部
２５（２５Ａ、２５Ｂ、・・・）  ソフトウェアモジュール
２６（２６Ａ、２６Ｂ、・・・）  ハードウェアモジュール
３０  仮想システム構成部
４０  ログ取得／チェック機能部
３１  仮想ネットワーク装置
３２（３２Ａ、３２Ｂ、・・・）  仮想ネットワーク装置
３３  仮想ネットワーク
４１  仮想ソフトウェア部
４２  仮想ハードウェア部
４３  仮想設定ファイル
４５（４５Ａ、４５Ｂ、・・・）  仮想ソフトウェアモジュール
４６（４６Ａ、４６Ｂ、・・・）  仮想ハードウェアモジュール
５０  ネットワークシステム
５１  ネットワーク装置
５２  シミュレーション装置
【図１】
0005505990.tif 000002
【図２】
0005505990.tif 000003
【図３】
0005505990.tif 000004