ローカルエリアネットワーク(LAN)により接続されたノード装置(計算機や機器)によって構成され、様々な業務を行うオンラインシステムの多くは、通信媒体としてイーサネット(登録商標)を使用し、インターネットプロトコル(IP)上で動作するプロトコルとしてTCP(Transmission Control Protocol)またはUDP(User Datagram Protocol)を使用するのが一般的である。前述のTCPやUDPは、IPも含めて、それぞれ、TCP/IP、UDP/IPと呼ばれる。TCP/IPは、ノード装置間でコネクションと呼ばれる通信経路を確立する手順が必要なプロトコルであり、主に、ノード装置間における1対1の通信に利用され、データの連続性を保障することができるものであるが、リアルタイム性については保障していないものである。一方、UDP/IPは、コネクションを確立せずにノード装置間での手順を必要としないプロトコルであり、1対複数または複数対複数の通信に利用され、データの連続性は保障していないものであるが、リアルタイム性の高いものである。
オンラインシステムの設計者は、これらのプロトコルを使用して、オンラインシステムの通信に関する設計を行うが、通常の業務に関する通信だけでなく、システムに対する増設、縮退、改造を行う場合や、異常が発生した場合の通信についても考慮して試験を行い調査する必要がある。そして、これら調査結果から得られる事象について、如何に設計し検証するかが異常時にオンラインシステムヘの影響を極小化することにつながることになる。
前述したようなオンラインシステムに対する検証を行う場合、オンラインシステムと全く同一の構成を持ったシステムを構築して検証を行う方法や、既設のオンラインシステムが既に稼働していれば、その既設のオンラインシステムを使用して検証を行う方法等が考えられる。しかし、これらの方法は、オンラインシステムを構成する機器の価格・準備時間・オンラインシステムへの影響等を考慮すると、これらの方法を用いて検証を行うことは困難である。そのため、検証には、実際のオンラインシステムより小規模なオンラインシステムの模擬システム(リハーサルシステムやテストシステム)が用いられることが多い。
また、オンラインシステムには、システムを構成するLANを複数設け、業務毎に使用するネットワークを分け、LANの1つに異常が発生した場合にも、別なLANを介して通信を可能にすることにより、信頼性を向上させているシステムも多い。このようなオンラインシステムの検証のために模擬システムを用いる場合、オンラインシステムと同数のLANを備えた模擬システムを用いて検証することが必要となる。
一般に、模擬システムを用いて検証を行うには、模擬システムにおいて、オンラインシステムに近い通信データを再現することが重要である。そのために取られる方法として、オンラインシステムの各LANにおける通信データを取得し、模擬システムの中で再現する方法が考えられる。この場合、オンラインシステムから通信データを取得する手段としては、ネットワークアナライザのようなLANから直接、通信データを取得する装置が用いられる。
また、オンラインシステムにおけるノード装置等の増設/リプレイス作業において、新規に設置するノード装置やリプレイスするノード装置の健全性を保障するテストは、重要な位置づけとされており、この場合、オンラインシステムと同等の環境を構築した模擬システム上で、各業務データ再現させ、新規ノード装置が予期する動作をするか否かを検証することにより、そのノード装置の健全性のテストが行われる。
しかし、オンラインシステムではさまざまな業務が実行されており、それら各業務間の連係や業務毎データの通信タイミングを、摸擬システムの中で再現してノード装置の検証を行うことは煩雑であり事実上困難である。さらに、異常が発生した場合についても、模擬システムの中で再現させることが必要となるが、様々な異常を発生させる手順が複雑となり、容易には再現することができない。
また、オンラインシステムは、システムを構成するネットワークまたはノード装置を複数備えて構成されるものが存在し、このようなシステムでのノード装置の検証を行う場合、各ネットワーク間及びノード装置間の通信タイミングを連係させ動作する通信を再現しなければならない。このためには、複数のシミュレータを利用することになるが、各シミュレータ間で同期を取ることは非常に困難である。シミュレータを使用する技術として、例えば、特許文献1等に記載されたものがあるが、この従来技術は、シミュレータを複数用いて、各シミュレータに対し送出タイミングを配信して、予め決められたタイミングでデータを送信するというものである。
しかし、シミュレータを用いたテストは、シミュレータ上で作成したデータを模擬システムに送信することにより、ノード装置間やシステムの健全性のテストを行うことになるため、実データによるテストとは動作が異なる場合もある。また、このシミュレータを用いたテストは、摸擬システム用に動作するアプリケーションプログラムの作成や摸擬システム用の設定の必要があるため、ノード装置の増設/リプレイス作業時にオンラインシステム用にアプリケーションプログラムを改造したり、システムの再設定をしなければならないといった手間を要することになる。
前述したような問題を解決するものとして、例えば、特許文献2等の記載された技術が知られている。この技術は、不揮発性記憶媒体へ保存していたオンライン実データを用いて模擬システムへ再現することにより、オンラインシステムでの通信を摸擬というものである。
しかし、特許文献2等に記載の技術は、不揮発性記憶媒体へ保存したタイミングで模擬システムにデータを再現するため、保存していないデータの再現が不可能であり、また、時刻のずれがある等、オンラインシステムと異なるタイミングでの再現となり、オンラインシステムの正確な模擬とはならない場合が多いという問題を有している。
また、GWを使用してオンラインシステムの通信データ取得し、模擬システムに再現させる方法も知られている。この方法は、UDP/IPを使用し複数ノード装置がデータを受信する通信に関しては、オンラインシステムから取得したデータを模擬システムヘ転送することによりオンラインシステムと同様の通信を再現させることが可能である。
前述のGWを使用してオンラインシステムの通信データ取得し、模擬システムに再現させる方法は、一度ネットワークからデータを受信し、受信したデータを摸擬システムに転送するので、オンラインシステムに接続するために、GWにIPアドレスを設定する必要があったため、オンラインシステムに対し不用意にデータを送信してしまうという危険性があった。
前述したような問題を解決するものとして、例えば、特許文献3等に記載された技術が知られている。この従来技術は、オンラインシステムヘの接続にIPアドレスを設定しない手法であり、ネットワークアナライザなどで利用されている。
前述したネットワークアナライザを用いてオンラインシステムの通信データ取得し、模擬システムに再現させようとする方法は、UDP/IPの1対1のノード装置間のみでの通信や、TCP/IPによる1対1のノード装置間におけるコネクションによる経路を元にする通信の場合、ネットワークアナライザと模擬システムとのノード装置相互間において1対1の経路を確立することができず、ネットワークアナライザを使用した通信の再現が不可能である。そのため、この方法は、オンラインシステム上で動作する通信を行うアプリケーションプログラムに改造を加え、模擬システムのノード装置上で動作させ、ネットワークアナライザが取得したデータを使用して、模擬システムのノード装置上で動作するアプリケーションプログラムからこの取得したデータを送信させることにより、オンラインシステムの通信を再現するしかない。しかし、このような方法は、プログラム作成の負担も増加し、また、オンラインシステムと異なるアプリケーションプログラムが動作してしまうため、オンラインシステムの正確な模擬とはならない場合が多くなってしまう。
以下、本発明によるオンラインシステムに使用するノード装置の検証方法及び検証システムの実施形態を図面により詳細に説明する。
図1は本発明の一実施形態によるノード装置の検証システムの構成例を示すブロック図である。
本発明の実施形態によるノード装置の検証システムは、図1に示すように、複数のノード装置11〜14を相互に通信可能に接続する既設のネットワークであるLAN1による既設システムと複数のノード装置31〜32を接続する新設のネットワークであるLAN2による検証用システムと、既設LAN1及び新設LAN2相互間を接続し、既設システムと検証用システムとを接続している転送装置21とにより構成されている。なお、図示しないが、既設LAN1及び新設LAN2に接続されるノード装置数は幾つあってもよく、また、既設LAN1、新設LAN2ともに、複数のLANにより構成されるものであってよく、その場合、それら複数が転送装置21に接続される。
なお、前述のノード装置の全て、及び、転送装置は、CPU、主メモリ、HDD等による記憶装置、入出力装置等を備えて構成されるよく知られた情報処理装置内に構築されるものであり、必要な機能は、プログラムにより構成されて、CPUに実行されることによって構築される。
前述において、複数のノード装置11〜14が接続された既設LAN1が、稼働中のオンラインシステムを構成しており、複数のノード装置31、32が接続された新設LAN2が、LAN1によるオンラインシステムに対する模擬システムを構成している。そして、新設LAN2に接続されているノード装置31、32が、LAN1によるオンラインシステムに対して、増設あるいはリプレイスするため、本発明により検証しようとしているノード装置である。
また、転送装置21は、プロミスカスモードに対応したNIC(ネットワークインタフェースカード)22、23を複数実装して構成されている。ここで、プロミスカスモードとは、全てのパケットを取得するモードであり、自転送装置21宛以外のパケットを取得することができるモードである。
転送装置21と既設LAN1との接続には、リピータHUBまたはミラーポート機能を実装したスイッチングHUBが用いられる。これにより、既設LAN1上に流れるデータとしての電気信号をNIC22に受信させることができ、自転送装置21宛以外のパケットを受信させることができる。
ここで、図1に示すシステムの例において、ノード装置11〜14のIPアドレスをそれぞれA、B、C、Dであるとする。転送装置21において既設LAN1と接続されているNIC22には、IPアドレスが設定されていない。このNIC22にIPアドレスを設定していないため、新設LAN2は、既設LAN1と同一のネットワークアドレス体系をとることが可能となる。よって、ノード装置31〜32のIPアドレスを、それぞれ、A、Bとして設定することができる。また、転送装置21において新設LANと接続されているNIC23には、ノード装置13〜14と同一のIPアドレスC、Dが仮想IPアドレスとして設定される。なお、図示しないが、NIC23には、ノード装置11〜14とは異なるIPアドレス、例えば、アドレスE等を設定してもよい。
また、転送装置21は、データの読み出し/書き込みが可能な記憶媒体24が実装されている。なお、記憶媒体24は、揮発性または不揮発性のどちらの記憶媒体であってもよい。
図2は転送装置21の構成及びシステムでのデータの流れを説明する図である。転送装置21は、パケット取得手段101、データ先頭検索/組み立て手段102、データ転送手段103、応答データ取得手段104、データ保存手段105、データ比較手段106を備えて構成される。
パケット取得手段101は、既設LAN1内における、TCP/IPによる1対1のノード装置間の通信、UDP/IPによる1対1のノード装置間の通信、UDP/IPによる複数ノード装置間の通信に対して、宛先IPアドレス、送信元lPアドレス、宛先ポート番号、送信元ポート番号を組み合わせて指定することにより、既設LAN1上に流れる任意のパケット50を取得する。
一般に、ネットワーク上に流れる通信データは、複数のパケットに分割されている場合があり、通信データの先頭が必ずしも1つのパケットの先頭とは限らない。このため、取得したパケットの先頭を発見し、複数のパケットを組み立てることにより1つの意味のある通信データとして扱うことを可能にする必要がある。
データ先頭検索/組み立て手段102は、パケットを組み立てる機能を有するもので、既設LAN1からパケット50を複数取得し、それぞれに対してデータの先頭を検索し、必要なら取得した複数のパケット50を1つのデータに組み立てることによって、組み立てデータ51を作成する。
また、データ転送手段103は、データ先頭検索/組み立て手段102が組み立てた組み立てデータ51を新設LAN2へ転送する。そして、組み立てたデータがTCP/IP通信の場合、新設LAN2において、転送先ノード装置に対してコネクション通信の手順を行う。
応答データ取得手段104は、既設LAN1上の任意のノード装置相互間の1対1通信において、一方のノード装置からの応答データ52及び新設LAN2上の任意のノード装置に転送したデータ(組み立てデータ51)に対する応答データ53を取得する。
データ保存手段105は、パケット取得手段101が既設LAN1から取得したパケット50及び任意のノード装置に対する応答データ52、新設LAN2に転送したデータ(組み立てデータ51)及び転送したデータに対する応答データ53を記憶媒体24に書き込んで保存させる。
データ比較手段106は、既設LAN1における任意のノード装置に対する応答データ52と新設LAN2に転送したデータ(組み立てデータ51)に対する応答データ53とを比較する。なお、比較される応答データ52と応答データ53とは、記憶媒体24に保存されたデータである。
図3はパケット取得手段101に対して取得すべきパケットを定義する業務内容200を説明する図である。既設LAN1上の複数のノード装置は、オンラインシステムとして、種々の業務を実行している。このため、パケット取得手段101が既設LAN1上のどのようなパケットを取得するかを定義するため、本発明の実施形態では、取得すべきパケットを業務内容により定義している。このように、業務内容を定義することによって、転送装置21のパケット取得手段101は、既設LAN1上を流れる通信のパケットから定義した条件に従ったパケット50を取得することができる。
図3に示しているように、業務内容200に関して定義する内容は、業務番号201、通信プロトコル202、送信元IPアドレス203、送信元ポート番号204、宛先IPアドレス205、宛先ポート番号206、転送元IPアドレス207、転送元ポート番号208、転送先IPアドレス209、転送先ポート番号210、ヘッダ識別子211、通信データ長212である。
なお、図3には、定義する業務数を4つとした場合の例を示しているが、定義できる業務の数は、4つに限定される必要はなく任意である。また、通信プロトコル202、送信元IPアドレス203、送信元ポート番号204については、既設LAN1より取得するパケット50にも同様の情報が含まれる。
次に、図1に示しているシステムにおけるノード11〜14のIPアドレスA〜Dをそれぞれ192.168.0.1、192.168.0.2、192.168.0.3、192.168.0.4とした場合を例として、図3に示す定義内容について説明する。
例えば、業務番号201の番号1の例では、送信元ノード装置13(IPアドレスC)から宛先ノード装置11(IPアドレスA)におけるTCP/IPの1対1通信のデータを取得し、取得したデータを新設LAN2上の宛先ノード装置31(ノード装置A’、IPアドレスA)に転送することを意味する。
定義する内容としては、通信プロトコル202がTCP/IPであり、IPアドレス203が192.168.0.3、送信元ポート番号204が10001のノード装置から、宛先IPアドレス205が192.168.0.1、宛先ポート番号206が10101のノード装置に対しての通信データを既設LAN1から取得することを意味している。そして、その取得したデータは、転送元IPアドレス207が192.168.0.3、転送元ポート番号208が10001のノード装置から、転送先IPアドレス209が192.168.0.1であり転送先ポート番号210が10101のノード装置に対して転送されることを意味している。ここで、転送元ノード装置は転送装置21である。また、新設LAN2に転送されるデータは、ヘッダ識別子211が“HC”として業務分類された通信データ長212が1024バイトのデータであることを示している。
また、図3に示す業務内容の定義において、業務番号201の番号3及び番号4に定義されている“*”はワイルドカードを表す。ワイルドカードとは、任意のIPアドレスやポート番号であってよいことを表す。
例えば、業務番号201の番号4の例では、送信元ノード装置14(IPアドレスD)の任意の送信元ポート番号204から既設LAN1の全てのノード装置に対する宛先ポート番号206が10103、通信プロトコル202がUDP/IPである通信データを取得し、転送装置21の任意の転送元IPアドレス207(例えば、192.168.0.3)と任意の転送元ポート番号208から新設LAN2における全てのノード装置の転送先ポート番号210が10103であるポートに対して、取得したデータを転送することを意味している。また、新設LAN2に転送されるデータは、ヘッダ識別子211が“UP”として業務分類された通信データ長212が128バイトのデータであることを示している。
図4は転送装置21のパケット取得手段101が既設LAN1から定義した業務内容200に従ったパケット50を取得する処理動作を説明するフローチャートであり、次に、これについて説明する。ここでの処理は、既設LAN1からパケット50を受信し、取得すべきパケットを定義する図3に示して説明した業務内容200の業務番号201のそれぞれに対して、業務内容200に関して定義された内容と受信したパケット50に含まれる情報との比較を行う処理である。
(1)処理が開始されると、まず、既設LAN1から受信したパケット50の通信プロトコルと業務内容200の通信プロトコル202とが等しいか否かを比較判定し、受信したパケット50の通信プロトコルと業務内容200の通信プロトコル202とが等しくなかった場合、そのパケット50を破棄する(ステップ400、401、407)。
(2)ステップ401の比較判定で、受信したパケット50の通信プロトコルと業務内容200の通信プロトコル202とが等しかった場合、受信したパケット50の送信元IPアドレスと業務内容200の送信元IPアドレス203とが等しいか否かを比較判定し、受信したパケット50の送信元IPアドレスと業務内容200の送信元IPアドレス203とが等しくなかった場合、そのパケット50を破棄する(ステップ402、407)。
(3)ステップ402の比較判定で、受信したパケット50の送信元IPアドレスと業務内容200の送信元IPアドレス203とが等しかった場合、受信したパケット50の送信元ポート番号と業務内容200の送信元ポート番号204とが等しいか否かを比較判定し、受信したパケット50の送信元ポート番号と業務内容200の送信元ポート番号204とが等しくなかった場合、そのパケット50を破棄する(ステップ403、407)。
(4)ステップ403の比較判定で、受信したパケット50の送信元ポート番号と業務内容200の送信元ポート番号204とが等しかった場合、受信したパケット50の宛先IPアドレスと業務内容200の宛先IPアドレス205とが等しいか否かを比較判定し、受信したパケット50の宛先IPアドレスと業務内容200の宛先IPアドレス205とが等しくなかった場合、そのパケット50を破棄する(ステップ404、407)。
(5)ステップ404の比較判定で、受信したパケット50の宛先IPアドレスと業務内容200の宛先IPアドレス205とが等しかった場合、受信したパケット50の宛先ポート番号と業務内容200の宛先ポート番号206とが等しいか否かを比較判定し、受信したパケット50の宛先ポート番号と業務内容200の宛先ポート番号206とが等しくなかった場合、そのパケット50を破棄する(ステップ405、407)。
(6)ステップ405の判定で、受信したパケット50の宛先ポート番号と業務内容200の宛先ポート番号206とが等しかった場合、あるいは、業務内容200の宛先ポート番号206がワイルドカードの場合、受信したパケット50を取得し、その後、そのパケット50に対してデータ保存処理を行って、ここでの処理を終了する(ステップ406、800)。
図5は転送装置21のデータ先頭検索/組み立て手段102が、取得したパケット50の先頭を検索してデータを組み立てる処理動作を説明するフローチャートであり、次に、これについて説明する。ここでの処理は、データ先頭検索/組み立て手段102が、取得したパケット50のヘッダ識別子211を検索してデータの先頭を発見し、通信データ長212を利用して、組み立てデータ51を出力する処理である。
(1)処理が開始されると、まず、取得したパケット50に対してデータの先頭を意味するヘッダ識別子211を走査し、取得したパケットにデータの先頭が含まれるか否かを判定する。例えば、図3に示す業務内容200の例において、業務番号201が1の場合、ヘッダ識別子211が“HC”であるので、取得したパケット50に“HC”が含まれるか否かを調べ、その結果により、取得したパケットにデータの先頭が含まれるか否かを判定する(ステップ500、501)。
(2)ステップ501の判定で、取得したパケット50にデータの先頭が含まれていなかった場合、記憶媒体24上のバッファ内に保存してあるデータから同じ業務のデータを検索し、バッファ内にパケット50と同じ業務データが存在しなかった場合、パケット50をバッファに保存して、ここでの処理を終了する(ステップ502、505)。
(3)ステップ502の検索で、バッファ内に同じ業務データが存在する場合、そのデータをバッファから取り出し、取得したパケット50とバッファから取り出したデータとを組み立てる。例えば、バッファ内に同じ業務番号201が1のデータが存在し、取得したパケット50も同様に業務番号が1であった場合、データの続きであると判断することができ(データの続きであるか否かは、例えば、通信プロトコル202に含まれるシークエンス番号等により判断できる)、バッファ内から取り出したデータと取得したパケット50を組み立てる(ステップ503)。
(4)ステップ503の処理の終了後、例えばバッファから取り出したデータに通信データの先頭が含まれている場合があるため、組み立てたデータに先頭が含まれているか否かの処理を再度行い、組み立てたデータに通信データの先頭が含まれているか否かを判定し、通信データの先頭が含まれていなかった場合、組み立てたデータをバッファに保存して、ここでの処理を終了する(ステップ504、505)。
(5)ステップ504の判定で、組み立てたデータに通信データの先頭が含まれていた場合、あるいは、ステップ501の判定で、取得したパケットにデータの先頭が含まれていた場合、組み立てたデータ、あるいは、取得したパケットのデータの先頭からの通信データ長が、定義された業務内容の通信データ長212と等しいか否かを判定し、等しくなかった場合、組み立てたデータ、あるいは、取得したパケットをバッファに保存して、ここでの処理を終了する(ステップ506、505)。
(6)ステップ506の判定で、組み立てたデータ、あるいは、取得したパケットの先頭からの通信データ長が定義された業務内容の通信データ長212と等しかった場合、そのデータを組み立てデータ51として出力し、組み立てデータ51に対してデータ保存処理を行う(ステップ800)。
前述した処理におけるステップ505でのバッファに保存する処理において、通信データの先頭が含まれたデータを保存する場合、データの先頭を表すヘッダ識別子211がデータの途中に含まれていることがあり、その場合、データを分割して保存する。
図6は転送装置21のデータ転送手段103が、組み立てデータを新設LAN2に転送する処理動作を説明するフローチャートであり、次に、これについて説明する。
(1)処理が開始されると、まず、組み立てデータ51の転送に対して、転送先ノード装置とのコネクションの処理が必要な通信データか否かを判断するため、組み立てデータ51の通信プロトコルがTCP/IPであるか否かを判定し、組み立てデータ51の通信プロトコルがTCP/IPであった場合、転送先ノード装置に対してコネクションの処理を行う(ステップ600〜602)。
(2)ステップ602での処理の後、あるいは、ステップ601の判定で、組み立てデータ51の通信プロトコルがTCP/IP以外の場合、すなわち、UDP/IPの場合(この場合、転送先ノード装置に対してコネクションの処理は必要ない)、新設LAN2上の転送先ノード装置に対して組み立てデータ51を送信する(ステップ603)。
次に、既設LAN1における既設ノード装置(例えば、ノード装置11)の応答データ、新規LAN2上における新規ノード装置(例えば、ノード装置31)の応答データを取得する応答データ取得手段104について説明する。また、ここでの説明は、応答データ取得手段104での動作が、TCP/IPの1対1ノード装置間通信を例とし、図3に示している業務内容200の業務番号201が1の業務について行われるものとして説明する。
図3における業務内容200の業務番号201が1の業務は、図1において既設LAN1上のノード装置13(IPアドレスC)からノード装置11(IPアドレスA)に対する通信プロトコルTCP/IPの通信データを取得し、新規LAN2上のノード装置31(ノード装置A’、IPアドレスA)に転送するものである。
いま、ノード装置13(IPアドレスC)とノード装置11(IPアドレスA)とがコネクションを確立し、通信を行っており、また、同様にして、転送装置21は、ノード装置31(ノード装置A’、IPアドレスA)とコネクションを確立し、通信データを転送するものとする。
図3に示す業務内容200の業務番号201が1の業務は、ノード装置13(IPアドレスC)からノード装置11(IPアドレスA)への一方向の通信データを取得するように定義されている。このことから、ノード装置13(IPアドレスC)とノード装置11(IPアドレスA)の応答データ52(すなわち、ノード装置11からノード装置13への一方向通信データ)は、業務内容200の業務番号201が1の業務の送信元IPアドレスと宛先IPアドレスとを入れ替え、送信元ポート番号と宛先ポート番号とを入れ替えたものとなることが判る。
このため、応答データ52は、定義した業務の送信元IPアドレスと宛先IPアドレス、送信元ポート番号と宛先ポート番号を入れ替えることにより、パケット取得手段101を利用して取得することができる。また、パケット取得手段101で取得したパケット50は、データ先頭検索/組み立て処理を行う必要がある。
一方、新規LAN2上のノード装置31(ノード装置A’、IPアドレスA)に対して転送したデータに対する応答データ53は、転送装置21とノード装置31との間にコネクションを確立しているため、通常の受信処理で取得することができる。
図7は転送装置21の応答データ取得手段104が、応答データの取得を行う処理動作を説明するフローチャートであり、次に、これについて説明する。
(1)処理が開始されると、まず、受信したデータが既設LAN1から受信されたものか否かを判断し、既設LAN1から受信したものであった場合、図4により説明したパケット取得処理を実行して応答データ52の条件に従ったパケット50を取得し、取得した応答データ52のパケット50について、図5により説明したデータ先頭検索/組み立て処理を実行してデータの先頭の検索及び組み立ての処理を行う(ステップ700、701、400、500)。
(2)ステップ701の判断で、受信したデータが既設LAN1から受信されたものではなく、新設LAN2から受信したものであった場合、TCP/IPによる1対1ノード装置間通信ので応答データ53を取得する(ステップ702)。
(3)ステップ500の処理の後、あるいは、ステップ702の処理の後、既設LAN1から取得して組み立てたデータ、新設LAN2から取得した応答データ53に対してデータ保存処理を行って、ここでの処理を終了する(ステップ800)。
図8は前述で説明した各処理に含まれるデータを保存する処理により記憶媒体24に保存したデータ保存テーブル801の構成を示す図である。
図8に示すように、データ保存テーブル801には、1つのレコードについて、取得した1つのデータが保存される。保存するデータ806のレコードは、保存するデータ806に、保存順番802、業務番号803、データ種別804、データID805が付加されて構成される。
前述において、保存順番802は、データを保存した順番を表し、1からの連番が入る。業務番号803は、保存するデータがどの業務のデータかを表し、図3により説明した業務内容の業務番号201が入る。データ種別804は、保存するデータが既設LAN1から取得したデータ(オンライン)、新規LAN2に転送したデータ(転送)、既設LAN1の応答データ52(オンライン応答)、新規LAN2の応答データ53(転送応答)のいずれであるかを表す。また、データID805は、各業務に対して、同じデータに関する一連のIDを表す。保存データ806は、実際に保存するデータの内容が格納される。
図8に示したデータ保存テーブル801において、例えば、保存順番802の1、3、4、8のレコードは、業務番号803が1、データID805が101であり、それぞれ、データ種別804が「オンライン」、「転送」、「オンライン応答」、「転送応答」である。
すなわち、保存順番802の1は、既設LAN1から取得したデータ、保存順番802の3は、前述の取得したデータを新規LAN2へ転送したデータ、保存順番802の4は、前述の既設LAN1から取得したデータに対する応答データ52、保存順番802の8は、新規LAN2へ転送したデータに対する応答データ53を表している。
図9は転送装置21のデータ比較手段106が、応答データ52と応答データ53とを比較する処理動作を説明するフローチャートであり、次に、これについて説明する。
(1)処理が開始されると、まず、比較元となるデータとして、比較データ種別804が“オンライン応答”または“転送応答”のデータを取得し、比較先となるデータとして、前述で取得したデータの業務番号803とデータID805とが同じであり、異なるデータ種別804のデータがデータ保存テーブル801に存在するか否かをデータ保存テーブル801検索して判定する(ステップ900〜902)。
データ比較手段106での処理は、応答データ52と応答データ53との比較であるため、ステップ902での検索は、比較元データのデータ種別804が“オンライン応答の場合、比較先データのデータ種別804が“転送応答”、また、比較元データのデータ種別804が“転送応答”の場合、比較先データのデータ種別804が“オンライン応答”となるようなデータを検索するように行われる。
(2)ステップ902の検索判定で、比較先データが存在しなかった場合、ここでのデータ比較処理を終了し、比較先データが存在した場合は、比較元データと比較先データとのそれぞれの保存データ806の内容を比較して、ここでの処理を終了する(ステップ903)。
前述したデータ比較処理のステップ903において、比較結果が異なる場合、新規LAN2上の新規ノード装置が予期しない応答データ53を返したこととなり、既設LAN1上の既設ノード装置とは、その動作が異なることを意味することになる。
次に、データ比較手段106の動作について、図3に示す業務内容200の業務番号201が1のものを例として、具体的に説明する。
業務内容200の業務番号201の1は、図1の既設LAN1上のノード装置13(IPアドレスC)からノード装置11(IPアドレスA)におけるTCP/IPによる1対1のノード装置間通信データを取得し、新設LAN2上のノード装置31(ノード装置A’、IPアドレスA)に対して、転送装置21からTCP/IPによる1対1ノード装置間通信で転送することを表している。
また、応答データ取得手段104によって、ノード装置11(IPアドレスA)からノード装置13(IPアドレスC)への応答データ52とノード装置31(ノード装置A’、IPアドレスA)から転送装置21への応答データ53を取得することを表している。
データ比較手段106は、ノード装置11(IPアドレスA)からノード装置13(IPアドレスC)への応答データ52の内容とノード装置31(ノード装置A’、IPアドレスA)から転送装置21への応答データ53の内容とを比較する。
比較した結果、応答データ52、53の内容が同一であった場合、ノード装置11(IPアドレスA)とノード装置31(ノード装置A’、IPアドレスA)とは同じ動きをしたこととなり、新設側のノード装置であるノード装置31(ノード装置A’、IPアドレスA)の健全性の確認をすることができたことになる。
前述した本発明の実施形態での各処理は、プログラムにより構成し、転送装置が備えるCPUに実行させることができ、また、それらのプログラムは、FD、CDROM、DVD等の記録媒体に格納して提供することができ、また、ネットワークを介してディジタル情報により提供することができる。
前述した本発明の実施形態によれば、稼働中のオンラインシステムのネットワーク上に流れるTCP/IP、UDP/IPの各プロトコルを使用した通常の業務に関する通信データや、異常発生時の通信データを取得し、そのデータを模擬システムを構成するネットワークに転送することにより、オンラインシステムに全く影響を与えずに、オンラインシステムと同等の環境下で、オンラインシステムで実際に通信しているデータを利用したテストや通信タイミングのテストを模擬システム上で実現することができ、模擬システムを構成するネットワーク上に設けられたオンラインシステムに使用するノード装置の検証を行うことができる。