JP2011159168A - データ変換装置、データ変換方法及びプログラム - Google Patents

データ変換装置、データ変換方法及びプログラム Download PDF

Info

Publication number
JP2011159168A
JP2011159168A JP2010021442A JP2010021442A JP2011159168A JP 2011159168 A JP2011159168 A JP 2011159168A JP 2010021442 A JP2010021442 A JP 2010021442A JP 2010021442 A JP2010021442 A JP 2010021442A JP 2011159168 A JP2011159168 A JP 2011159168A
Authority
JP
Japan
Prior art keywords
data
transmission
time
unit
server
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.)
Granted
Application number
JP2010021442A
Other languages
English (en)
Other versions
JP5304674B2 (ja
Inventor
Shunsuke Kikuchi
俊介 菊地
Yuji Nomura
祐士 野村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010021442A priority Critical patent/JP5304674B2/ja
Priority to US13/017,276 priority patent/US8588095B2/en
Publication of JP2011159168A publication Critical patent/JP2011159168A/ja
Application granted granted Critical
Publication of JP5304674B2 publication Critical patent/JP5304674B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】既存のコンピュータ間で送信されるデータの順番と同じ順番で試験対象コンピュータにデータを送信する。
【解決手段】第1装置から第2装置へ送信される第1データと、第1データの第1送信時刻とを取得すると共に、第1データ送信開始後に、第1装置から第2装置へ送信された第2データと、第2データの第2送信時刻とを受信する受信部と、受信した第1データ及び第2データを第3の装置へ送信する送信部と、送信部による第1データの送信時刻と第1データに対する返信データの受信時刻との間の第1時間間隔が、第1送信時刻と、第2送信時刻との間の時間間隔より長い場合に、送信部による第1データ送信の送信時刻と送信部による第2データの送信時刻との間の時間間隔が、第1時間間隔より長くなるように、送信部に対する第2データの送信タイミングの制御を行う制御部と、を有するデータ変換装置が提供される。
【選択図】図3

Description

本発明は、データ変換装置、データ変換方法及びプログラムに関する。
ソフトウェア開発では、開発中のソフトウェアがコンピュータにより正しく実行されるか否かを確認する試験が行われる。このような試験を行うことで、ソフトウェアの不具合に加え、ハードウェアの不具合も発見することができる。
ソフトウェアやハードウェアの不具合には、ハードウェアがソフトウェアの実行を短時間行っているときには発見されないものがある。そのため、コンピュータにソフトウェアの実行を長時間行わせる試験が行われる。
既存のコンピュータと同じ処理を、試験対象のコンピュータに行わせる試験がある。そのような試験では、ハードウェア負荷を上げるために、試験対象のコンピュータに擬似的なデータを処理させることが行われる。また、他のコンピュータとのデータ通信を行うコンピュータの試験では、既存のコンピュータ間で送受信されるデータを取得して、試験対象コンピュータに、取得したデータを送信することが行われる。
特開2008−193468号公報 特開2003−283564号公報
しかしながら、擬似的にデータを生成する試験では、試験データは擬似データに限定されるため、実際に送信されるデータの内容や、データの送受信タイミングを完全に再現することはできない。そのため、擬似的にデータを生成する試験では、実際にコンピュータがソフトウェアを実行することで生じる問題を完全に再現できないため、試験を行ったコンピュータが、運用を開始した後に、ソフトウェアやコンピュータに不具合が発見されることがある。
また、運用中のコンピュータ間で送受信されるデータを取得して、試験対象コンピュータにデータを送信する試験は、送信されるデータの順番がずれる場合がある。そのような場合、試験対象コンピュータで実行中の処理に要するデータと一致しないデータが送信されるため、試験対象コンピュータは適切なソフトウェア処理を実行できなくなる。
開示のデータ変換装置は、既存のコンピュータに送信されるデータを、既存のコンピュータに送信されるデータの順番と同じ順番で試験対象コンピュータに送信することを目的とする。
第1の装置から第2の装置へ送信される第1のデータと、第1のデータの第1の送信時刻とを取得すると共に、第1のデータ送信開始後に、第1の装置から第2の装置へ送信された第2のデータと、第2のデータの第2の送信時刻とを受信する受信部と、受信した第1のデータ及び第2のデータを第3の装置へ送信する送信部と、送信部による第1のデータの送信時刻と第1のデータに対する返信データの受信時刻との間の第1の時間間隔が、第1の送信時刻と、第2の送信時刻との間の時間間隔より長い場合に、送信部による第1のデータ送信の送信時刻と送信部による第2のデータの送信時刻との間の時間間隔が、第1の時間間隔より長くなるように、送信部に対する第2のデータの送信タイミングの制御を行う制御部と、を有するデータ変換装置が提供される。
開示のデータ変換装置は、既存のコンピュータに送信されるデータを、既存のコンピュータに送信されるデータの順番と同じ順番で試験対象コンピュータに送信することができる。
データ変換装置が用いられるシステム構成の一例を示す図である。 データ変換装置の構成の第1例を示す図である。 データ送信制御処理の一例を示すタイムチャートである。 データ変換装置の構成の第2例を示す図である。 既存サーバ送信情報の一例を示す図である。 既存サーバシーケンス情報の一例を示す図である。 試験サーバ送信情報の一例を示す図である。 試験サーバシーケンス情報の一例を示す図である。 テーブルの一例を示す図である。 データ変換装置のハードウェア構成の一例を示す図である。 通信部の一例を示す図である。 通信部の一例を示す図である。 データ変換方法の一例を示すシーケンス図である。 データ変換方法の一例を示すフローチャートである。
以下、図面を参照して、データ変換装置及びデータ変換方法の実施形態を説明する。
[システム構成]
図1は、データ変換装置100が用いられるシステム構成の一例を示す図である。図1に示すシステム構成1は、ネットワーク2、データ変換装置100、クライアント200A〜200C、既存サーバ300A〜300C、試験サーバ400A〜400C、及び通信装置500、通信装置510A、510Bを有する。データ変換装置100、クライアント200A〜200C、既存サーバ300A〜300C、試験サーバ400A〜400Cは、通信装置500、510A、510Bを介してネットワーク2に接続されている。ネットワーク2は、コンピュータネットワークであり、例えば、LAN(Local Area Network)やインターネットである。
なお、図1に示すクライアント200、既存サーバ300、試験サーバ400の台数は例示であり、それらの装置は、図示される台数以上であってもよい。また、以下の説明では、200は、クライアント200A〜200Cの何れかを示し、300は、既存サーバ300A〜300Cの何れかを示し、400は、試験サーバ400A〜400Cの何れかを示すものとする。
クライアント200は、既存サーバ300に所定の機能を要求する情報処理装置であり、例えば、デスクトップコンピュータ、ラップトップコンピュータ、携帯情報端末である。クライアント200は、既存サーバ300と伝送制御プロトコルに従うデータ通信を行う。伝送制御プロトコルは、例えば、TCP(Transmission Control Protocol)や、UDP(User Datagram Protocol)である。
既存サーバ300は、CPU(Central Processing Unit)とメモリを有し、CPUでメモリに格納されたソフトウェアを実行することにより、クライアント200に所定の機能を提供する情報処理装置である。既存サーバ300は、例えば、ソフトウェア開発が終了して、運用が開始された情報処理装置である。既存サーバ300は、クライアント200によるデータの送信先になり、クライアント200と、伝送制御プロトコルに従ってデータ通信を行う。
試験サーバ400は、CPUとメモリを有し、CPUでメモリに格納されたソフトウェアを実行することにより、クライアント200に対して、既存サーバ300と同じ機能を提供するプログラムを実行する情報処理装置である。試験サーバ400は、例えば、ソフトウェアのデバッグ作業が終了して、そのソフトウェアを実行することで、クライアント200にサービスを提供する予定の情報処理装置であり、且つ長時間ソフトウェアを実行する試験の対象となる情報処理装置である。
試験サーバ400は、例えば、既存サーバ300に含まれると同じ機能を提供するが、コンピュータ言語が既存サーバ300に含まれるプログラムとは異なるプログラムを実行する情報処理装置に相当する。或いは、試験サーバ400は、例えば、既存サーバ300と同じアプリケーションプログラムを実行するが、OS(Operating System)及び/又はハードウェアが異なるタイプのものである情報処理装置に相当する。また、試験サーバ400は、例えば、既存サーバ300と同じアプリケーションプログラム及びOSを、仮想化ソフトウェアと共に、既存サーバ300のハードウェアとは異なるハードウェアにより実行する情報処理装置に相当する。試験サーバ400は、データ変換装置100がデータの送信先として指定し、既存サーバ300と同じ伝送制御プロトコルに従って、データ変換装置100とデータ通信を行う。
データ変換装置100は、クライアント200が既存サーバ300に送信したデータを取得し、取得したデータを、クライアント200に代わって試験サーバ400に送信する情報処理装置である。データ変換装置100は、例えば、試験サーバ400を対象とする長時間ソフトウェアを実行する試験を行うためにデータを試験サーバ400に送信する試験装置として機能することが出来る。クライアント200から送信されたデータの宛先は既存サーバ300であるので、データ変換装置100は、データの宛先を試験サーバ400に変換するアドレス変換処理を実行する。データ変換装置100は、擬似データを使用せず、クライアント200と既存サーバ300との間の送信データを試験サーバ400に送信する。そのため、そのようなデータ送信を長時間行う試験を行うことで、試験サーバ400が実際に運用を開始する前に、ソフトウェアやハードウェアに生ずる不具合が発見することができる。このような、不具合は、例えば、試験サーバ400のメモリに格納されるログファイル(アプリケーションプログラム、OS等の処理内容、警告などの時間履歴)等に保存されて、試験後又は試験中にログファイルを参照することで発見される。
データ変換装置100はさらに、既存サーバ300がクライアント200に送信したデータも取得し、クライアント200と既存サーバ300との間のデータ送信の順番を検出する。データ変換装置100は、クライアント200と既存サーバ300との間のデータ送信の順番が、データ変換装置100と試験サーバ400との間でも維持されるように、試験サーバ400へのデータ送信タイミングを制御するデータ送信制御処理を実行する。データ変換装置100についての詳細な説明は、例えば、図2を用いて後述される。
通信装置500、510A、510Bは、入力されたデータを、データの転送先の機器を宛先アドレスに従って転送する装置である。宛先アドレスは、例えば、IP(Internet Protocol)アドレス、又は、MAC(Media Access Control)アドレスである。通信装置500、510A、510Bは、例えば、L3(Layer 3)スイッチ、又は、L2(Layer 2)スイッチである。
通信装置500は、データ変換装置100、クライアント200A〜200C、既存サーバ300A〜300C、及び試験サーバ400A〜400Cに接続される。
通信装置500は、クライアント200が接続されるポートと、既存サーバ300が接続されるポートと接続することで、クライアント200と既存サーバ300との間のデータ通信を提供する。通信装置500はさらに、データ変換装置100が接続されるポートと、試験サーバ400が接続されるポートとを接続することで、データ変換装置100と試験サーバ400との間のデータ通信を提供する。
また、通信装置500は、クライアント200又は既存サーバ300と接続されるポートを経由するフレームを、データ変換装置100が接続されるポートにコピーする動作を行う。このようにして、通信装置500は、クライアント200と既存サーバ300との間で送信されるデータを、データ変換装置100に送信することができる。
なお、通信装置500とデータ変換装置100は、同じ装置であってもよい。通信装置500とデータ変換装置100が同じ装置となる場合の機能並びにハードウェア構成の説明は、図11Bを用いて後述される。
[データ変換装置の構成の第1例]
図2は、データ変換装置100の第1例を示す図である。データ変換装置100の第1例であるデータ変換装置100aは、制御部110、受信部170a、及び送信部171aを有する。
受信部170aは、クライアント200から既存サーバ300に送信されたデータ、及び、試験サーバ400から送信されたデータを受信する。送信部171aは、制御部110により指示を受けたデータを、試験サーバ400に送信する処理を行う。
制御部110は、クライアント200が既存サーバ300に送信したデータの宛先を試験サーバ400に変換すると共に、データの発信元をクライアント200からデータ変換装置100に変えるアドレス変換処理を実行する。
制御部110はさらに、クライアント200と既存サーバ300との間のデータ送信の順番が、データ変換装置100と試験サーバ400との間でも維持されるように、試験サーバ400へのデータ送信のタイミングを制御するデータ送信制御処理を実行する。
既存サーバ300と試験サーバ400は、クライアント200の要求に対して応答した応答時間が異なる場合がある。例えば、クライアント200の代わりとなるデータ変換装置100と試験サーバ400との間のコネクションの確立から開放までの時間間隔が、クライアント200と既存サーバ300との間のコネクションの確立から開放までの時間間隔と異なる場合がある。
なお、コネクションとは、情報処理装置間のデータ通信において使用される論理的な通信路であって、送信されるデータに含まれる識別情報を用いて特定される通信路である。コネクションは、例えば、OSI(Open Systems Interconnection)参照モデルで特定される通信路に相当する。データ通信が、例えば、TCP(Transmission Control Protocol)によるものである場合、IPアドレス、ポート番号、シーケンス番号、ウィンドウサイズ等により特定される。
既存サーバ300の応答時間と試験サーバ400の応答時間が相違する理由は、例えば、ハードウェアの相違、アプリケーションソフトウェア、システムソフトウェアの相違である。ハードウェア構成の違いとは、例えば、プロセッサの処理時間の相違や、通信経路の違いである。また、システムソフトウェアの違いとは、例えば、OSや、OS環境を仮想的に実現する仮想化ソフトウェアの違いである。
試験サーバ400の応答時間が既存サーバ300の応答時間より長い場合、データ変換装置100が、クライアント200の送信タイミングと同様に試験サーバ400に要求を送信すると、試験サーバ400は応答処理を完了しない状況で後続要求を受信する。試験サーバ400に送信される後続の要求は、クライアント200が既存サーバ300から受信したデータを元に生成された要求であるため、試験サーバ400において既存サーバ300と異なるデータ処理を生じさせて、不具合が生じる。
既存サーバ300及び試験サーバ400が実行するソフトウェアが、電子商取引サービスに関するものである例を説明する。既存サーバ300及び試験サーバ400が実行する電子商取引サービスは、以下のような処理を実行するものとする。
(1)サーバは、クライアント200から商品Aの購入価格を受け取り、購入価格が他クライアントの受け取り価格より高ければ、クライアント200に商品の引き当て処理を実行すると共にクライアント200に購入が可能であることを通知する処理を実行する。
(2)サーバは、クライアント200から購入要求を受け取ると、クライアント200への引き当てを確認できれば、クライアント200に商品Aを発注する処理を実行する。
このような処理において、試験サーバ400による処理(1)が既存サーバ300による処理(1)に対して遅いと、クライアント200に対する商品引き当てが終了していない状況で、クライアント200から購入要求を受け取ることになる。そのような場合、試験サーバ400は商品引き当ての無いクライアントが購入要求をしてきたと判断して、クライアント200への処理(2)の実行を行わない。試験サーバ400による処理(1)終了後、試験サーバ400はクライアント200からの購入要求を待つことになるが、クライアント200は既に購入要求を行っており、購入要求を再送しないため、試験サーバ400の処理は中断することになる。このように、試験サーバ400が既存サーバ300より処理時間が遅いと、同じ処理を実行できるか否かという検証が中断することになる。
既存サーバ300及び試験サーバ400が実行する電子商取引サービスはさらに、以下のような処理を実行するものとする。
(3)他のクライアントが、処理(1)の後で、処理(2)の前に商品Aの購入価格を送信し、他のクライアントが、処理(1)のクライアント200より高い価格であったため、サーバは、他のクライアントの購入を拒絶する処理を実行する。
試験サーバ400による処理(1)が既存サーバ300による処理(1)に対して遅いと、処理(3)でクライアント200に対する商品引き当てが終了せず、他のクライアントの購入価格が最安値となり、他のクライアントに商品引き当てが生じる。このような状況で、クライアント200から購入要求を受け取ると、試験サーバ400は、クライアント200への商品Aの発注処理を行なわず、他のクライアントからの発注処理を待つことになる。他のクライアントは既存サーバ300から購入を拒絶されており、発注処理を行わないため、試験サーバ400の処理は中断することになる。このように、試験サーバ400が既存サーバ300より処理時間が遅いと、同じ処理を実行できるか否かという検証が中断することになる。
このような不具合を回避するため、制御部110は、クライアント200と既存サーバ300との間のデータ送信の順番が、データ変換装置100と試験サーバ400との間でも維持されるように、試験サーバ400へのデータ送信のタイミングを制御する。以下に、データ送信制御処理の一例を説明する。
[データ送信制御処理]
図3は、データ送信制御処理の一例を示す図である。図3のT701は、クライアント200と既存サーバ300との間で送信されるデータのタイミングチャートの一例である。
C1は、クライアント200と既存サーバ300との間のデータ送信を示し、例えば、クライアント200が既存サーバ300に対する要求と、既存サーバ300がその要求に対して応答とを含むデータ送信である。また、C1は、例えば、TCPによるコネクションが確立してから、TCPによるコネクションを放棄するまでのデータ送信である。T11は、クライアント200が既存サーバ300に対してC1に関する要求データを最初に送信した時刻である。
C2は、C1の後に、C1においてデータを送信したクライアント200が既存サーバ300に対する要求の送信と、既存サーバ300がその要求に対して応答の送信とを含むデータ送信である。T12は、クライアント200が既存サーバ300に対してC2に関する要求データを最初に送信した時刻である。TS10は、C1に関する要求データの送信時刻T11と、C1に関する要求データに対する返信データの受信時刻T12との間の時間間隔である。
C5は、C2の後に、C1においてデータを送信したクライアント200が既存サーバ300に対する要求の送信と、既存サーバ300がその要求に対して応答の送信とを含むデータ送信である。T13は、クライアント200が既存サーバ300に対してC5に関する要求データを最初に送信した時刻である。TS20は、C2に関する要求データの送信時刻T12と、C5に関する要求データの送信時刻T13との間の時間間隔である。
C7は、C1の後に、クライアント200と異なるクライアントが、C1においてクライアント200が送信した要求と同じ要求の送信と、既存サーバ300がその要求に対して応答の送信とを含むデータ送信である。例えば、C1でクライアント200が、既存サーバ300が実行する電子商取引サービスに対する商品Aの購入価格を送信するケースであれば、C7ではクライアント200と異なるクライアントが商品Aの購入価格を送信するケースに相当する。T14は、データ送信C1とは関係の無いクライアントが既存サーバ300に対してC7に関する要求データを最初に送信した時刻である。TS15は、C1に関する要求データの送信時刻T11と、C7に関する要求データの送信時刻T14との間の時間間隔である。
C2、C5、C7は、例えば、コネクション確立からコネクション放棄までのクライアント200と既存サーバ300との間のデータ送信である。
図3のT711、T712、及びT713は、データ変換装置100と既存サーバ300との間で送信されるデータのタイミングチャートの一例である。データ変換装置100は、データの送受信処理、アドレス変換処理、データ送信制御処理を実行するために、受信データと送信データとの間には時間差ΔTが生じる。そのため、クライアント200と既存サーバ300との間の送信データを取得した後のΔT経過後に、試験サーバ400にデータを送信する。したがって、715、716、及び717に示すデータ変換装置100と試験サーバ400との間のデータ送信時間は、705に示すクライアント200と既存サーバ300との間のデータ送信時間に対してΔT加算した時間となる。
C3は、C1に関してクライアント200が既存サーバ300に送信したデータを、クライアント200に代わってデータ変換装置100が行う試験サーバ400へのデータ送信と、それに対する試験サーバ400の応答とを含むデータ送信を示す。C4a及びC4bは、C2に関してクライアント200が既存サーバ300に送信したデータを、クライアント200に代わってデータ変換装置100が行う試験サーバ400へのデータ送信と、それに対する試験サーバ400の応答とを含むデータ送信を示す。C6a及びC6bは、C5に関してクライアント200が既存サーバ300に送信したデータを、クライアント200に代わってデータ変換装置100が行う試験サーバ400へのデータ送信と、それに対する試験サーバ400の応答とを含むデータ送信を示す。C8a及びC8bは、C7に関してクライアント200が既存サーバ300に送信したデータを、クライアント200に代わってデータ変換装置100が行う試験サーバ400へのデータ送信と、それに対する試験サーバ400の応答とを含むデータ送信を示す。C3、C4a及びC4b、C6a及びC6b、C8a及びC8bは何れも、例えば、コネクション確立からコネクション放棄するまでのデータ変換装置100と試験サーバ400とのデータ送信である。
T21は、クライアント200に代わってデータ変換装置100が既存サーバ300に対してC3に関する要求データを最初に送信した時刻である。T23は、試験サーバ400がデータ変換装置100により送信されたデータに対する返信データを受信した時刻である。TS30は、C3に関する要求データの送信時刻T21と、C3に関する要求データに対する返信データの受信時刻T23との間の時間間隔である。TS31は、C3に関する要求データの送信時刻T21と、C4aに関する要求データの送信時刻T22との間の時間間隔である。
T22は、T21から、クライアント200と既存サーバ300とにおける時間間隔TS10経過後に、データ変換装置100が試験サーバ400にC4aに関するデータを送信した場合を示す。このように、時刻T22でC4aに関するデータ送信を開始した場合、試験サーバ400がC3に関する返信データの受信(T23)前に、試験サーバ400は、時刻T22で新たなデータを受信することになる。上述のように、先行送信データの処理完了前に後続送信データに関する処理を実行することによる不都合が生じる。
TS33は、C3に関する要求データの送信時刻T21と、C4bに関する要求データの送信時刻T24との間の時間間隔である。データ変換装置100は、C4aに関するデータ送信を、C3に関するデータ送信が終了するまで遅延させる。データ変換装置100は、C3に関するデータ送信終了時T23経過後である時刻T24に、C4aに相当するT712のデータ送信C4bを開始する。このように、データ変換装置100がC2に対応するデータ送信C4bを、先行のデータ送信C3の経過後に行うことで、試験サーバ400が先行データの処理中にC4bを受信するという不都合を回避することができる。
T25は、T21から、クライアント200と既存サーバ300とにおける時間間隔TS10及びTS20経過後に、データ変換装置100が試験サーバ400にC6aに関するデータを送信した時刻を示す。TS40は、C4bに関する要求データの送信時刻T24と、C4bに関する要求データに対する返信データの受信時刻T27との間の時間間隔である。TS41は、C4bに関する要求データの送信時刻T24と、C6aに関する要求データの送信時刻T25との間の時間間隔である。C4bの送信には、C2と同様に時間間隔TS20に相当するTS40の時間がかかる。データ変換装置100によって、データ送信C4bの送信開始を遅延させた場合、試験サーバ400がC4bに関する返信データの受信時刻T27前に、試験サーバ400は、C6aに関する新たなデータを、時刻T25で受信することになる。上述のように、先行送信データの処理完了前に後続送信データに関する処理を実行することによる不都合が生じる。
そこで、データ変換装置100は、C6aに関するデータ送信を、C4bに関するデータ送信が終了するまで遅延させる。データ変換装置100は、C4bに関する要求データの受信時刻T27の後の時刻T28、C5に相当するT713のデータ送信C6bを開始する。このように、データ変換装置100がC5に対応するデータ送信C6bを、先行のデータ送信C4bの経過後に行うことで、試験サーバ400が先行データの処理中にC6bを受信するという不都合を回避することができる。
T26は、T21から、クライアント200と既存サーバ300とにおける時間間隔TS15経過後に、データ変換装置100が試験サーバ400に、データ送信C7に対応するC8aに関するデータを送信した時刻を示す。TS50は、C3に関する要求データの送信時刻T21と、C8aに関する要求データの送信時刻T26との間の時間間隔である。このように、時刻T26でC8aに関するデータ送信を開始した場合、試験サーバ400がC3に関するデータ応答を行う前に、試験サーバ400は、C8aに関する新たなデータを受信することになる。上述のように、先行送信データの処理完了前に後続送信データに関する処理を実行することによる不都合が生じる。
TS43は、C4bに関する要求データの送信時刻T24と、C6bに関する要求データの送信時刻T28との間の時間間隔である。データ変換装置100は、C8aに関するデータ送信を、C3に関するデータ送信が終了するまで遅延させる。データ変換装置100は、C3に関するデータ送信終了時T23経過後である時刻T24に、C8aに相当するT712のデータ送信C8bを開始する。このように、データ変換装置100がC7に対応するデータ送信C8bを、先行のデータ送信C3の経過後に行うことで、試験サーバ400が先行データの処理中にC8bを受信するという不都合を回避することができる。
[データ変換装置の構成の第2例]
図4は、データ変換装置の構成の第2例を示す図である。図4に示す第2例に係るデータ変換装置100bは、図2に示す制御部110として、後述する複数の制御部を有する。データ変換装置100bは、データ取得部112、取得データ解析部114、データ送信制御部117、サーバ出力解析部116、アドレス変換部118、記憶部120、受信部170b、送信部171bを有する。受信部170b及び送信部171bは、図2で示した受信部170b及び送信部171bにそれぞれ対応し、下記の記載で特定される機能を除いて、受信部170b及び送信部171bと同じ機能を有する。以下、図4に示す各制御部を、図5〜図9を参照して説明する。
データ取得部112は、既存サーバ300とクライアント200との間で送受信されるデータ、並びに、試験サーバ400から送信されるデータを、記憶部120に書き込む制御部である。
記憶部120は、受信部170aで受信されたデータを格納する。受信されたデータは、データに含まれるMACアドレス、IPアドレス、データ本体等の項目毎に用意される列で分類されたテーブルとして、格納されてもよい。なお、記憶部120に受信データを蓄積することで、時間差ΔTは延長化してもよい。
取得データ解析部114は、記憶部120に格納される既存サーバ300とクライアント200との間で送受信されるデータから特定の情報を抽出して、抽出結果を記憶部120に格納する制御部である。取得データ解析部114は、例えば、図5に示す既存サーバ送信情報310、及び図6に示す既存サーバシーケンス情報330として抽出結果を記憶部120に格納する。
図5は、既存サーバ送信情報310の一例を示す図である。図5に示される既存サーバ送信情報310は、識別番号列311、送信元アドレス列312、送信元ポート列313、クライアント側シーケンス番号(Cseq)列314、送信先アドレス列315、送信先ポート列316、及びサーバ側シーケンス番号(Sseq)列317を含む。既存サーバ送信情報310はさらに、コネクション状態列318、送信開始時刻列319、及びデータ内容列320を含む。
識別番号列311の識別番号は、送信データを送信開始時刻の昇順で並べた各エントリを識別する番号である。送信元アドレス列312及び送信元ポート列313には、接続要求元であるクライアント200のアドレス、及びクライアント200のポート番号がそれぞれ登録される。送信先アドレス列315及び送信先ポート列316には、接続要求先である既存サーバ300のアドレス及び既存サーバ300のポート番号がそれぞれ登録される。なお、本明細書及び図では、送信元アドレス及び送信先アドレスは参照符号で示す。
クライアント側シーケンス番号列314には、クライアント200から送信されるシーケンス番号が登録され、サーバ側シーケンス番号列317には、既存サーバ300から送信されるシーケンス番号が登録される。クライアント200とサーバ間でコネクションを確立すると、それらの間には通信路が形成される。例えば、TCPでは、通信路におけるバイト単位のストリーム型通信を実現するため、通信路内を流れるバイトデータに対して、バイト位置を決める「シーケンス番号」を送信する。TCPの例では、シーケンス番号は、例えば、32bitの符号なしの整数値である。図5〜図8に示す例では、10進数表記でシーケンス番号を示す。
コネクション状態列318には、例えば、コネクション確立要求である「SYN」、確認応答である「ACK」、コネクション切断要求である「FIN」等が登録される。「送信開始時刻列319には、データを送信した時刻が登録される。データ内容列320には、送受信で送信されるデータの内容が登録される。
図6は、既存サーバシーケンス情報の一例を示す図である。既存サーバシーケンス情報330は、既存サーバ送信情報310のうち、コネクションの確立と切断を行なう制御コネクションのデータ送信を除き、1つのコネクションの開始又は終了時刻を管理する情報を抽出した情報である。既存サーバシーケンス情報330は、データ送信制御部117が、試験サーバ400にデータを送信する際に、既存サーバ300とクライアント200との間のデータ送信シーケンスを確認するために使用される。
図6に示される既存サーバシーケンス情報330は、送信元アドレス列331、送信元ポート列332、クライアント側シーケンス番号(Cseq)列333、送信先アドレス列334、送信先ポート列335を含む。既存サーバシーケンス情報330はさらに、サーバ側シーケンス番号(Sseq)列336、コネクション状態列337、送信開始時刻列338、送信終了時刻列339、及び、関連データ列340を含む。既存サーバシーケンス情報330に含まれる列において、既存サーバ送信情報310に含まれる列と同一名称の列に関しては、下記に記載する内容を除き、説明を省略する。
送信開始時刻列338には、コネクション確立後、コネクションの送信元がデータを送信開始した時刻が記録され、送信終了時刻列339には、コネクション切断直前に、コネクションの送信元が送信開始した時刻が記録される。関連データ列340には、コネクションにおいて送信されたデータの識別番号が登録される。
サーバ出力解析部116は、記憶部120に格納される試験サーバ400とデータ変換装置100との間で送信されるデータから特定の情報を抽出して、抽出結果を記憶部120に格納する制御部である。サーバ出力解析部116は、例えば、図7に示す試験サーバ送信情報350、及び図8に示す試験サーバシーケンス情報370として抽出結果を記憶部120に格納する。
図7は、試験サーバ送信情報350の一例を示す図である。図7に示される試験サーバ送信情報350は、識別番号列351、送信元アドレス列352、送信元ポート列353、クライアント側シーケンス番号(Cseq)列354、送信先アドレス列355、送信先ポート列356を含む。試験サーバ送信情報350はさらに、サーバ側シーケンス番号(Sseq)列357、コネクション状態列358、送信開始時刻列359、及びデータ内容列360を含む。
試験サーバ送信情報350は、試験サーバ400が受信するデータは、既存サーバ送信情報310を用いる。このように、既存サーバ300送信情報を用いる理由の1つは、例えば、試験サーバ400が既存サーバ300と同様の性能を発揮し得るか否かを判断するためである。ただし、データの送信元とデータの送信先が変わるため、データ変換装置100は、下記に示すアドレス変換部118により、既存サーバ300のアドレスを試験サーバ400のアドレスに、既存サーバ300のアドレスを試験サーバ400のアドレスに変換する。また、送信開始時刻は、データ変換装置100又は試験サーバ400が実際にデータ送信した時刻が入力される。なお、試験サーバ送信情報350に含まれる送信元アドレス、送信先アドレス、送信開始時刻以外の列において、既存サーバ送信情報310に含まれる列と同一名称の列に関しては、同じデータが登録されるため、説明を省略する。
サーバ出力解析部116は、既存サーバ送信情報310の送信元アドレス列312又は送信先アドレス列315に登録されるクライアント200アドレスの代わりに、データ変換装置100を、送信元アドレス列352又は送信先アドレス列355に登録する。
サーバ出力解析部116は、既存サーバ送信情報310の送信先アドレス列315に登録される既存サーバ300のアドレスの代わりに試験サーバ400のアドレスを送信先アドレス列355に登録する。
図8は、試験サーバシーケンス情報の一例を示す図である。試験サーバシーケンス情報370は、試験サーバ送信情報350のうち、コネクションの確立と切断を行なう制御コネクションのデータ送信を除き、1つのコネクションの開始又は終了時刻を管理する情報を抽出した情報である。試験サーバシーケンス情報370は、データ送信制御部117が、試験サーバ400にデータを送信する際に、既存サーバ300とクライアント200との間のデータ送信シーケンスを確認するために使用される。
試験サーバシーケンス情報370は、送信元アドレス列371、送信元ポート列372、クライアント側シーケンス番号(Cseq)列373、送信先アドレス列374、送信先ポート列375を含む。試験サーバシーケンス情報370はさらに、サーバ側シーケンス番号(Sseq)列376、送信開始フラグ377、送信開始時刻列378、送信終了時刻列379、関連データ列380、及び送信終了フラグ列381を含む。試験サーバシーケンス情報370に含まれる列において、試験サーバ送信情報350に含まれる列と同一名称の列に関しては、下記に記載する内容を除き、説明を省略する。
送信開始時刻列378には、コネクション確立後、コネクションの送信元がデータを送信開始した時刻が記録され、送信終了時刻列379には、コネクション切断直前に、コネクションの送信元が送信開始した時刻が記録される。関連データ列380には、コネクションにおいて送信されたデータの識別番号が登録される。
送信終了フラグ列381は、コネクションにおける通信が終了したか否かが登録される。送信終了フラグ値「1」が登録される場合、コネクション切断前の最後のデータ送信が終了したことを示し、送信終了フラグ値「0」が登録される場合、コネクション切断前の最後のデータ送信が終了していないことを示す。
データ送信制御部117は、既存サーバ300とクライアント200との間のデータシーケンスを維持するように、クライアント200から既存サーバ300に送信されたデータを試験サーバ400に送信する制御部である。データ送信制御部117は、既存サーバシーケンス情報330及び試験サーバシーケンス情報370内のコネクションの開始時刻と終了時刻とを参照して、既存サーバ300とクライアント200との間のデータシーケンスを維持するように、データを試験サーバ400に送信する。データ送信制御部117は、試験サーバ400へ送信したデータが送信完了しているか否かを判断するために、送信終了フラグを使用する。
アドレス変換部118は、データ送信制御部117から指示のあった試験サーバ送信情報350のエントリにおいて、既存サーバ300のアドレスを試験サーバ400のアドレスに変換する。
図9は、既存サーバ300に対応する試験サーバ400を登録したアドレス変換テーブルである。アドレス変換テーブル390は、既存サーバアドレス列391と、試験サーバアドレス392とを有し、既存サーバアドレス列391の既存サーバ300と、試験サーバアドレス392の試験サーバ400は、例えば、同じアプリケーションを実行するか否かで対応付けられる。アドレス変換部118は、アドレス変換テーブル390を参照することで、既存サーバ送信情報310の送信先アドレス列315に登録される既存サーバ300のアドレスの代わりに試験サーバ400のアドレスを、送信先アドレス列355に登録することができる。
アドレス変換部118は、試験サーバ送信情報350の対象エントリのアドレスを変換すると、対象エントリのデータを送信部171bに渡すことにより、対象エントリのデータは試験サーバ400に送信される。アドレス変換部118は、記憶部120に格納される試験サーバ送信情報350を、アドレス変換後のデータで更新する。
[データ変換装置のハードウェア構成]
図10は、データ変換装置100のハードウェア構成の一例を示す図である。図10に示すデータ変換装置100は、演算処理部212、記憶部222、メモリコントローラ226、バスインタフェース228、ドライブ部232、外部記憶部234、及び通信部270を有する。
演算処理部212は、プロセッサコア214、L2キャッシュ(2次キャッシュ)RAM(Random Access Memory)216、L2キャッシュRAM216の制御を行うL2キャッシュコントローラ218を有する。演算処理部212は、メモリコントローラ226を介して記憶部222に接続する。また、演算処理部212は、バスインタフェース228を介してドライブ部232、外部記憶部234、通信部270と接続する。
L2キャッシュRAM216は、プロセッサコア214からの命令に従って記憶部222に格納される内容の一部を記憶する。L2キャッシュRAM216は、例えば、SRAM(Static Random Access Memory)である。
プロセッサコア214は、L2キャッシュRAM216からデータ又は命令を読み出し、命令に従ってデータに対して演算を行うと共に、演算結果をL2キャッシュRAM216又は記憶部222に格納する。命令又はデータは、プログラム900として記憶部222に格納される。演算処理部212は、プロセッサコア214を複数搭載するマルチコアプロセッサであっても良い。演算処理部212は、例えば、CPUである。
演算処理部212はプログラム900を実行することで、図2で説明した制御部110の機能や、図4で説明したデータ取得部112、取得データ解析部114、データ送信制御部117、サーバ出力解析部116及びアドレス変換部118として動作することもできる。
メモリコントローラ226は、演算処理部212又はバスインタフェース228からロード命令を受け取り、記憶部222からデータ又は命令をロードして、演算処理部212又はバスインタフェース228に出力する。メモリコントローラ226はさらに、演算処理部212又はバスインタフェース228からストア命令並びに対象となるデータを受け取り、受け取ったデータを記憶部222に格納する。
記憶部222は、半導体素子により構成される記憶装置であり、例えば、DRAM(Dynamic Random Access Memory)である。外部記憶部136は、記憶部222より、記憶容量が大きく、電源を供給しなくても記録が消えない記憶装置であり、例えば、磁気ディスクを有するディスクアレイ、又はフラッシュメモリを用いたSSD(Solid State Drive)である。外部記憶部136は、記憶部222に格納される命令、データ、及びプログラムを記憶することができる。
バスインタフェース228は、演算処理部212と、他の接続装置とを繋ぐバスである。バスインタフェース134は、例えば、AGP(Accelerated Graphics Port)又はPCI Express(Peripheral Component Interconnect Express)などの規格に従って機能する回路である。
ドライブ部232は、例えば、フロッピー(登録商標)ディスクやCD−ROM、DVDなどの記憶媒体236を読み書きする装置である。ドライブ部232は、記憶媒体236を回転させるモータや記憶媒体236上でデータを読み書きするヘッド等を含む。なお、記憶媒体236は、プログラム900を格納することができる。ドライブ部232は、ドライブ部232にセットされた記憶媒体236からプログラム900を読み出す。演算処理部212は、ドライブ部232により読み出されたプログラム900を、記憶部222及び/又は外部記憶部236に格納する。
通信部270は、ネットワークに接続され、ネットワークに接続される情報処理装置と通信を行うために使用される装置である。図1に示されるように、通信部270は、通信装置500とネットワーク接続する。通信部270は、例えば、NIC(Network Interface Controller)である。
通信部270は、例えば、図2に示す受信部170a及び送信部171a、又は、図4に示す受信部170b及び送信部171bとして動作することができる。
[通信部:データ変換装置が通信装置と別装置であるケース]
図11Aは、データ変換装置100が通信装置500と別装置である場合のデータ変換装置100の通信部の一例を示す図である。図11Aに示す通信部270aは、データ変換装置100に含まれる通信部270の一例である。通信部270aは、メモリ271A、CPU273A、コマンドキュー275A、及び送受信キュー277A、物理ポート279Aを有する。コマンドキュー275Aは、演算処理部212から転送されたコマンドを保持する。コマンドには、データ転送の転送先のIPアドレス、又はMACアドレス等が特定される。
CPU273Aは、メモリ271Aに格納された通信プログラムを実行して、所定のプロトコルに従う通信処理機能を実現する。所定のプロトコルとは、例えば、イーサネット(登録商標)や、TCP/IP(Transmission Control Protocol/Internet Protocol)である。CPU273Aが実現する通信処理機能は、コマンドキュー275Aに保持されるコマンドを読み取り、CPU273Aは、コマンドに含まれるメモリアドレスで特定される記憶部222の位置からデータを取得し、試験サーバ400に取得データを転送する。または、CPU273Aは、送受信キュー277Aに保持されるデータとデータを特定するコマンドを取得して、コマンドに含まれるメモリアドレスで特定される記憶部222の位置にデータを格納する。
物理ポート279Aは、ネットワークケーブルに接続され、ネットワークケーブルに対してデータの入出力を行う。送受信キュー277Aは、試験サーバ400から物理ポート279Aに送信されたデータを保持し、又は、試験サーバ400が送信するデータを保持するとともに物理ポート279Aに出力する。
[通信部:データ変換装置が通信装置と同じ装置であるケース]
図11Bは、データ変換装置100が通信装置500と同じ装置である場合のデータ変換装置100の通信部の一例を示す図である。図11Bに示す通信部270aは、データ変換装置100に含まれる通信部270の一例である。図11Bに示す通信部270bは、データ変換装置100が通信装置500を含むため、データ変換装置100に含まれる通信部270が通信装置500として動作するときの構成を示す。通信部270bは、メモリ271B、CPU273B、コマンドキュー274B、送信キュー275B、受信キュー276B、及び物理ポート279Bを有する。メモリ271B及びコマンドキュー274Bは、図11Aに示す通信部270aに含まれるメモリ271A及びコマンドキュー275Aと同じように動作するため、それら装置の説明は省略する。
物理ポート279Bは、各々が、複数のネットワークケーブルに接続される複数の物理ポートであり、ネットワークに対してデータの入出力を行う。例えば、物理ポート279B−1は、受信用物理ポートとして動作し、クライアント200から送信されるデータが入力される。物理ポート279B−1は、受信用物理ポートとして動作し、既存サーバ300、及び試験サーバ400から送信されるデータが入力される。
メモリ271Bは、物理ポートとIPアドレス及び/又はMAC(Media Access Control addres)アドレスとを関係付けた情報を含むルーティングテーブルを格納する。CPU273Bは、CPU273A同様に、メモリ271Bに格納された通信プログラムを実行して、所定のプロトコルに従う通信処理機能を実現すると共に、ルーティングテーブルを参照してルーティング処理を実行する。ルーティング処理とは、例えば、ルーティングテーブルを参照して、ある受信用物理ポート279B−1から受信したデータのあて先アドレスを調べて、対応する送信用物理ポート279B−2へ送り出すことである。
[クライアントと、既存サーバ又は試験サーバとのデータシーケンス]
図12は、クライアント200と、既存サーバ300又は試験サーバ400とのデータシーケンスの一例を示す図である。なお、図12に示すデータ送信は、TCPのようにコネクションの確立を行った後に行うものであっても良いし、UDPのようにコネクションを確立せずにデータ通信を行うものであってもよい。
TCPによるコネクションを確立する場合、例えば、以下のように、データ送信がなされる。
1)クライアント200がサーバに対してSYNパケットを送信し、2)サーバは、クライアント200による接続を許可するSYN/ACKパケットを送信し、3)クライアント200は、接続開始をあらわすACKパケットを送信する。なお、コネクションの確立を要するデータ通信がなされる場合、図12に示すデータシーケンスは、コネクションの確立完了後のデータ送信を示し、図12では、コネクションの確立又は切断に関するデータ送信は省略する。
クライアント200は、既存サーバ300に対してデータを送信する(S401)。ステップS401で送信されるデータは、例えば、TCPにおける最大セグメント長を有する1つ以上のパケットでもよいし、ウィンドウサイズに分割された複数のパケットであってもよい。なお、図12における他の送信されるデータも同様に、最大セグメント長を有する1つ以上のパケットでもよいし、ウィンドウサイズに分割された複数のパケットでもよい。ステップS401で送信されるデータは、例えば、既存サーバ送信情報310の識別番号1004で識別されるデータに相当する。
既存サーバ300は、クライアント200から送信されたデータに対する応答となるデータを送信する(S402)。ステップS402で送信されるデータは、例えば、既存サーバ送信情報310に示す識別番号1005で特定されるデータに相当する。
同様に、クライアント200は、既存サーバ300に対してデータを送信する(S403)。ステップS403で送信されるデータは、例えば、既存サーバ送信情報310に示す識別番号1006で特定されるデータに相当する。既存サーバ300は、クライアント200から送信されたデータに対する応答となるデータを送信する(S404)。ステップS404で送信されるデータは、例えば、既存サーバ送信情報310に示す識別番号1007で特定されるデータに相当する。
データ変換装置100の制御部110は、通信装置500を介してステップS401〜S403で送信されるデータを受け取るとともに、記憶部120に記憶する(S405)。制御部110は、記憶部120に格納されたデータを用いて試験サーバ送信情報350を生成する。
ΔT時間経過後、制御部110は、試験サーバ400に送信するデータを生成する(S406)。ステップS406では、制御部110は、未送信のデータを検索し、未送信データに含まれる宛先アドレスを、未送信データの宛先アドレスとなっている既存サーバ300と対応する試験サーバ400のアドレスに変換する。ステップS406で行われるアドレスの変換は、例えば、制御部110が図9に示すアドレス変換テーブル290を参照して行われる。
データ変換装置100は、試験サーバ400に対して生成したデータを送信する(S407)。ステップS407で送信されるデータは、例えば、試験サーバ送信情報350に示す識別番号2004で特定されるデータに相当する。試験サーバ400は、クライアント200から送信されたデータへの応答であるデータを送信する(S408)。ステップS408で送信されるデータは、例えば、試験サーバ送信情報350に示す識別番号2005で特定されるデータに相当する。
図12に示すデータ送信(S407)とデータ送信(S408)は、図3に示したデータ送信C3に相当する。
制御部110は、試験サーバ400から応答データを受け取ると、データ送信制御処理により、後続データの送信タイミングを決定する(S409)。なお、ステップS409に示す後続データの送信タイミングの詳細例は、図13及び図14を用いて後述する。
データ送信が決定されると、制御部110は、試験サーバ400に送信するデータを生成する(S410)。ステップS410では、データ変換装置100は、ステップS405で生成したデータの元となったクライアント200が送信したデータの後続データを選択する。制御部110はさらに、選択したデータの宛先IPアドレスを、試験サーバ400のIPアドレスに変えると共に、シーケンス番号(Sseq)を、試験サーバ400から送信されたデータに含まれるシーケンス番号(Sseq)に変える。
データ変換装置100は、試験サーバ400に対して生成したデータを送信する(S411)。ステップS411で送信されるデータは、例えば、試験サーバ送信情報350に示す識別番号2006で特定されるデータに相当する。試験サーバ400は、データ変換装置100から送信されたデータへの応答であるデータを送信する(S412)。ステップS412で送信されるデータは、例えば、試験サーバ送信情報350に示す識別番号2007で特定されるデータに相当する。
図12に示すデータ送信(S411)とデータ送信(S412)は、図3に示したデータ送信C4b、及びC6bに対応する。
このようにして、データ変換装置100は、クライアント200と既存サーバ300との間で送信されたデータを取得し、取得したデータを変換して、適切な送信タイミングを取りながら、試験サーバ400に送信する処理を実行する。
[後続データの送信決定処理のフロー]
図13は、後続データの送信決定処理のフローの一例を示す図である。制御部110は、試験サーバ400に対して未送信のデータのうち、最も時刻が古いデータを選択する(S501)。ステップS501では、例えば、制御部110は、試験サーバシーケンス情報370の送信終了フラグが「1」ではないデータのうち、送信開始時刻が最も古いデータを選択する。なお、図3のデータ送信C8bに関するデータ送信制御処理を行うために、このとき選択するデータは、同一サーバに対するものであれば、異なるクライアントが送信したデータであっても良い。
制御部110は、選択データの先行送信データは送信終了しているか否かを判断する(S502)。ステップS502では、例えば、制御部110は、選択データの次に送信開始時刻が新しいデータの送信終了フラグが「1」になっているか否かを判断することにより行うことができる。
選択データの先行送信データが送信終了していない場合(S502 NO)、制御部110は、選択データの送信を延期して(S503)、ステップS502に戻る。制御部110は、選択データの先行送信データが送信終了している場合(S502 Yes)、図12に示すステップS410に進んで、後続データの送信決定処理フローを終了する。
以上の実施形態に関し、更に以下の付記を開示する。
[付記1]
第1の装置から第2の装置へ送信される第1のデータと、前記第1のデータの第1の送信時刻とを取得すると共に、前記第1のデータ送信開始後に、前記第1の装置から前記第2の装置へ送信された第2のデータと、前記第2のデータの第2の送信時刻とを受信する受信部と、
受信した前記第1のデータ及び前記第2のデータを第3の装置へ送信する送信部と、
前記送信部による前記第1のデータの送信時刻と前記第1のデータに対する返信データの受信時刻との間の第1の時間間隔が、前記第1の送信時刻と、前記第2の送信時刻との間の時間間隔より長い場合に、前記送信部による前記第1のデータ送信の送信時刻と前記送信部による前記第2のデータの送信時刻との間の時間間隔が、前記第1の時間間隔より長くなるように、前記送信部に対する前記第2のデータの送信タイミングの制御を行う制御部と、を有することを特徴とするデータ変換装置。
[付記2]
前記受信部が、前記第2のデータ送信の開始後に、前記第1の装置から前記第2の装置へ送信された第3のデータと、前記第3のデータの第3の送信時刻と、前記第3の装置から前記第2のデータに対する返信データを受信し、
前記送信部が、前記第2のデータを前記第3の装置へ送信し、
前記送信部による前記第2のデータの送信時刻との前記第2のデータに対する返信データの受信時刻との第2の時間間隔が、前記第2のデータ送信時刻と、前記第3の送信時刻との間の時間間隔より長い場合に、前記制御部が、前記送信部による前記第2のデータのデータ送信時刻と前記送信部による前記第3のデータの送信時刻との時間間隔が、前記第2の時間間隔より長くなるように、前記送信部に対する前記第3のデータの送信タイミングの制御を行うことを特徴とする付記1に記載のデータ変換装置。
[付記3]
前記受信部が、前記第1のデータ送信開始後に開始される前記第1の装置から前記第2の装置へ送信された第4のデータと、前記第4のデータの第4の送信時刻とを受信し、前記第2のデータ及び前記第4のデータは、前記第3の装置が前記第3の装置に格納されるソフトウェアを実行するときに、使用されるデータであり、
前記制御部は、前記送信部による前記第1のデータの送信時刻と前記第4の送信時刻との時間間隔が、前記第1の時間間隔より長くなるように、前記送信部に対する前記第4のデータの送信タイミングの制御を行うことを特徴とする付記1又は2に記載のデータ変換装置。
[付記4]
受信部、送信部、及び制御部を有するデータ変換装置を用いてデータ変換方法であって、
前記受信部が、第1の装置から第2の装置へ送信された第1のデータと、前記第1のデータの第1の送信時刻と、前記第1のデータ送信開始後に、前記第1の装置から前記第2の装置へ送信された第2のデータと、前記第2のデータの第2の送信時刻と、を受信し、
前記送信部が、前記第1のデータを前記第3の装置へ送信し、
前記第1のデータの送信時刻と前記第1のデータに対する返信データの受信時刻との第1の時間間隔が、前記第1の送信時刻と、前記第2の送信時刻との間の時間間隔より長い場合に、前記送信部による前記第1のデータ送信の送信時刻と前記送信部による前記第2のデータの送信時刻との時間間隔が記第1の時間間隔より長くなるように、前記制御部が、前記送信部に対する前記第2のデータの送信タイミングの制御を行い、
前記送信部が、前記制御部の指示に従って前記第2のデータを前記第3の装置へ送信することを特徴とするデータ変換方法。
[付記5]
前記受信部が、前記第2のデータ送信の開始後に、前記第1の装置から前記第2の装置へ送信された第3のデータと、前記第3のデータの第3の送信時刻と、前記第3の装置から前記第2のデータに対する返信データを受信し、
前記送信部が、前記第2のデータを前記第3の装置へ送信し、
前記送信部による前記第2のデータの送信時刻との前記第2のデータに対する返信データの受信時刻との第2の時間間隔が、前記第2のデータ送信時刻と、前記第3の送信時刻との間の時間間隔より長い場合に、前記送信部による前記第2のデータのデータ送信時刻と前記送信部による前記第3のデータの送信時刻との時間間隔が、前記第2の時間間隔より長くなるように、前記制御部が、前記送信部に対する前記第3のデータの送信タイミングの制御を行うことを特徴とする付記4に記載のデータ変換方法。
[付記6]
前記受信部が、前記第1のデータ送信開始後に開始される前記第1の装置から前記第2の装置へ送信された第4のデータと、前記第4のデータの第4の送信時刻とを受信し、前記第2のデータ及び前記第4のデータは、前記第3の装置が前記第3の装置に格納されるソフトウェアを実行するときに、使用されるデータであり、
前記送信部による前記第1のデータの送信時刻と前記第4の送信時刻との時間間隔が、前記第1の時間間隔より長くなるように、前記制御部が、前記送信部に対する前記第4のデータの送信タイミングの制御を行うことを特徴とする付記4又は5に記載のデータ変換方法。
[付記7]
受信部、送信部、記憶部、及び制御部を有するデータ変換装置にデータ変換を実行させるプログラムであって、
前記記憶部に、第1の装置から第2の装置へ送信された第1のデータと、前記第1のデータの第1の送信時刻と、前記第1のデータ送信開始後に、前記第1の装置から前記第2の装置へ送信された第2のデータと、前記第2のデータの第2の送信時刻と、とを記憶させる手順、
前記送信部に、前記第1のデータを前記第3の装置へ送信させる手順と、
前記第1のデータの送信時刻と前記第1のデータに対する返信データの受信時刻との第1の時間間隔が、前記第1の送信時刻と、前記第2の送信時刻との間の時間間隔より長い場合に、前記送信部による前記第1のデータ送信の送信時刻と前記送信部による前記第2のデータの送信時刻との時間間隔が前記第1の時間間隔より長くなるように、前記制御部に、前記送信部に対する前記第2のデータの送信タイミングの制御を行わせる手順、及び、
前記送信部に、前記制御部の指示に従って前記第2のデータを前記第3の装置へ送信させる手順を実行させるためのプログラム。
[付記8]
前記記憶部に、前記受信部で受信された、前記第2のデータ送信の開始後に、前記第1の装置から前記第2の装置へ送信された第3のデータと、前記第3のデータの第3の送信時刻と、前記第3の装置から前記第2のデータに対する返信データを記憶させる手順、
前記送信部に、前記第2のデータを前記第3の装置へ送信させる手順、
前記送信部による前記第2のデータの送信時間との前記第2のデータに対する返信データの受信時刻との第2の時間間隔が、前記第2のデータ送信時刻と、前記第3の送信時刻との間の時間間隔より長い場合に、前記制御部に、前記送信部による前記第2のデータのデータ送信時刻と前記送信部による前記第3のデータの送信時刻との時間間隔が、前記第2の時間間隔より長くなるように、前記送信部に対する前記第3のデータの送信タイミングの制御を行うことを特徴とする付記7に記載のプログラム。
[付記9]
前記記憶部に、前記受信部で受信された、前記第1のデータ送信開始後に開始される前記第1の装置から前記第2の装置へ送信された第4のデータと、前記第4のデータの第4の送信時刻とを記憶させる手順であって、前記第2のデータ及び前記第4のデータは、前記第3の装置が前記第3の装置に格納されるソフトウェアを実行するときに、使用されるデータであり、
前記制御部に、前記送信部による前記第1のデータの送信時刻と前記第4の送信時刻との時間間隔が、前記第1の時間間隔より長くなるように、前記送信部に対する前記第4のデータの送信タイミングの制御を行わせる手順を実行させることを特徴とする付記7又は8に記載のプログラム。
100、100a、100b データ変換装置
110 制御部
112 データ取得部
114 取得データ解析部
116 サーバ出力解析部
117 データ送信制御部
118 アドレス変換部
120 記憶部
170a、170b 受信部
171a、170b 送信部

Claims (7)

  1. 第1の装置から第2の装置へ送信される第1のデータと、前記第1のデータの第1の送信時刻とを取得すると共に、前記第1のデータ送信開始後に、前記第1の装置から前記第2の装置へ送信された第2のデータと、前記第2のデータの第2の送信時刻とを受信する受信部と、
    受信した前記第1のデータ及び前記第2のデータを第3の装置へ送信する送信部と、
    前記送信部による前記第1のデータの送信時刻と前記第1のデータに対する返信データの受信時刻との間の第1の時間間隔が、前記第1の送信時刻と、前記第2の送信時刻との間の時間間隔より長い場合に、前記送信部による前記第1のデータ送信の送信時刻と前記送信部による前記第2のデータの送信時刻との間の時間間隔が、前記第1の時間間隔より長くなるように、前記送信部に対する前記第2のデータの送信タイミングの制御を行う制御部と、を有することを特徴とするデータ変換装置。
  2. 前記受信部が、前記第2のデータ送信の開始後に、前記第1の装置から前記第2の装置へ送信された第3のデータと、前記第3のデータの第3の送信時刻と、前記第3の装置から前記第2のデータに対する返信データを受信し、
    前記送信部が、前記第2のデータを前記第3の装置へ送信し、
    前記送信部による前記第2のデータの送信時刻との前記第2のデータに対する返信データの受信時刻との第2の時間間隔が、前記第2のデータ送信時刻と、前記第3の送信時刻との間の時間間隔より長い場合に、前記制御部が、前記送信部による前記第2のデータのデータ送信時刻と前記送信部による前記第3のデータの送信時刻との時間間隔が、前記第2の時間間隔より長くなるように、前記送信部に対する前記第3のデータの送信タイミングの制御を行うことを特徴とする請求項1に記載のデータ変換装置。
  3. 前記受信部が、前記第1のデータ送信開始後に開始される前記第1の装置から前記第2の装置へ送信された第4のデータと、前記第4のデータの第4の送信時刻とを受信し、前記第2のデータ及び前記第4のデータは、前記第3の装置が前記第3の装置に格納されるソフトウェアを実行するときに、使用されるデータであり、
    前記制御部は、前記送信部による前記第1のデータの送信時刻と前記第4の送信時刻との時間間隔が、前記第1の時間間隔より長くなるように、前記送信部に対する前記第4のデータの送信タイミングの制御を行うことを特徴とする請求項1又は2に記載のデータ変換装置。
  4. 受信部、送信部、及び制御部を有するデータ変換装置を用いてデータ変換方法であって、
    前記受信部が、第1の装置から第2の装置へ送信された第1のデータと、前記第1のデータの第1の送信時刻と、前記第1のデータ送信開始後に、前記第1の装置から前記第2の装置へ送信された第2のデータと、前記第2のデータの第2の送信時刻と、を受信し、
    前記送信部が、前記第1のデータを前記第3の装置へ送信し、
    前記第1のデータの送信時刻と前記第1のデータに対する返信データの受信時刻との第1の時間間隔が、前記第1の送信時刻と、前記第2の送信時刻との間の時間間隔より長い場合に、前記送信部による前記第1のデータ送信の送信時刻と前記送信部による前記第2のデータの送信時刻との時間間隔が記第1の時間間隔より長くなるように、前記制御部が、前記送信部に対する前記第2のデータの送信タイミングの制御を行い、
    前記送信部が、前記制御部の指示に従って前記第2のデータを前記第3の装置へ送信することを特徴とするデータ変換方法。
  5. 前記受信部が、前記第2のデータ送信の開始後に、前記第1の装置から前記第2の装置へ送信された第3のデータと、前記第3のデータの第3の送信時刻と、前記第3の装置から前記第2のデータに対する返信データを受信し、
    前記送信部が、前記第2のデータを前記第3の装置へ送信し、
    前記送信部による前記第2のデータの送信時刻との前記第2のデータに対する返信データの受信時刻との第2の時間間隔が、前記第2のデータ送信時刻と、前記第3の送信時刻との間の時間間隔より長い場合に、前記送信部による前記第2のデータのデータ送信時刻と前記送信部による前記第3のデータの送信時刻との時間間隔が、前記第2の時間間隔より長くなるように、前記制御部が、前記送信部に対する前記第3のデータの送信タイミングの制御を行うことを特徴とする請求項4に記載のデータ変換方法。
  6. 前記受信部が、前記第1のデータ送信開始後に開始される前記第1の装置から前記第2の装置へ送信された第4のデータと、前記第4のデータの第4の送信時刻とを受信し、前記第2のデータ及び前記第4のデータは、前記第3の装置が前記第3の装置に格納されるソフトウェアを実行するときに、使用されるデータであり、
    前記送信部による前記第1のデータの送信時刻と前記第4の送信時刻との時間間隔が、前記第1の時間間隔より長くなるように、前記制御部が、前記送信部に対する前記第4のデータの送信タイミングの制御を行うことを特徴とする請求項4又は5に記載のデータ変換方法。
  7. 受信部、送信部、記憶部、及び制御部を有するデータ変換装置にデータ変換を実行させるプログラムであって、
    前記記憶部に、第1の装置から第2の装置へ送信された第1のデータと、前記第1のデータの第1の送信時刻と、前記第1のデータ送信開始後に、前記第1の装置から前記第2の装置へ送信された第2のデータと、前記第2のデータの第2の送信時刻と、を記憶させる手順、
    前記送信部に、前記第1のデータを前記第3の装置へ送信させる手順と、
    前記第1のデータの送信時刻と前記第1のデータに対する返信データの受信時刻との第1の時間間隔が、前記第1の送信時刻と、前記第2の送信時刻との間の時間間隔より長い場合に、前記送信部による前記第1のデータ送信の送信時刻と前記送信部による前記第2のデータの送信時刻との時間間隔が前記第1の時間間隔より長くなるように、前記制御部に、前記送信部に対する前記第2のデータの送信タイミングの制御を行わせる手順、及び、
    前記送信部に、前記制御部の指示に従って前記第2のデータを前記第3の装置へ送信させる手順を実行させるためのプログラム。
JP2010021442A 2010-02-02 2010-02-02 データ変換装置、データ変換方法及びプログラム Expired - Fee Related JP5304674B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010021442A JP5304674B2 (ja) 2010-02-02 2010-02-02 データ変換装置、データ変換方法及びプログラム
US13/017,276 US8588095B2 (en) 2010-02-02 2011-01-31 Data conversion device and data conversion method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010021442A JP5304674B2 (ja) 2010-02-02 2010-02-02 データ変換装置、データ変換方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2011159168A true JP2011159168A (ja) 2011-08-18
JP5304674B2 JP5304674B2 (ja) 2013-10-02

Family

ID=44341613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010021442A Expired - Fee Related JP5304674B2 (ja) 2010-02-02 2010-02-02 データ変換装置、データ変換方法及びプログラム

Country Status (2)

Country Link
US (1) US8588095B2 (ja)
JP (1) JP5304674B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014026480A (ja) * 2012-07-27 2014-02-06 Hitachi Ltd 複数の情報システムおける出力比較方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011164755A (ja) * 2010-02-05 2011-08-25 Fujitsu Ltd データ変換装置、データ変換方法及びプログラム
CN103024091B (zh) * 2011-09-26 2016-05-25 阿里巴巴集团控股有限公司 获得网络客户端真实物理地址的方法及装置
US9860466B2 (en) 2015-05-14 2018-01-02 Kla-Tencor Corporation Sensor with electrically controllable aperture for inspection and metrology systems
JP2017103673A (ja) * 2015-12-03 2017-06-08 富士通株式会社 検証プログラム及び検証方法
US10313622B2 (en) 2016-04-06 2019-06-04 Kla-Tencor Corporation Dual-column-parallel CCD sensor and inspection systems using a sensor
US10778925B2 (en) 2016-04-06 2020-09-15 Kla-Tencor Corporation Multiple column per channel CCD sensor architecture for inspection and metrology

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005175915A (ja) * 2003-12-11 2005-06-30 Anritsu Corp エミュレーション装置及びエミュレーションプログラム
JP2005293053A (ja) * 2004-03-31 2005-10-20 Nippon Steel Corp テスト支援装置及びテスト支援方法
JP2009026248A (ja) * 2007-07-23 2009-02-05 Csk Holdings Corp エミュレーション装置及びエミュレーションプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003283564A (ja) 2002-03-27 2003-10-03 Ntt Comware Corp Ipトラヒック発生装置ならびにその方法、およびトラヒック発生プログラムおよび記録媒体
JP4880209B2 (ja) * 2004-07-28 2012-02-22 Necインフロンティア株式会社 パケット送信制御方法、パケット送信制御装置及びパケット送信制御プログラム
US7730519B2 (en) * 2004-09-17 2010-06-01 At&T Intellectual Property I, L.P. Detection of encrypted packet streams using feedback probing
JP2008193468A (ja) 2007-02-06 2008-08-21 Seiko Epson Corp ネットワーク機器検査用プログラム
JP2008301263A (ja) * 2007-05-31 2008-12-11 Panasonic Corp 通信方法、通信装置、及び通信システム
EP2073135B1 (de) * 2007-12-21 2018-10-03 Roche Diabetes Care GmbH Blutglukosesystem mit Zeitsynchronisation
CN102138288B (zh) * 2008-08-27 2014-03-12 京瓷株式会社 无线电中继站和无线电中继方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005175915A (ja) * 2003-12-11 2005-06-30 Anritsu Corp エミュレーション装置及びエミュレーションプログラム
JP2005293053A (ja) * 2004-03-31 2005-10-20 Nippon Steel Corp テスト支援装置及びテスト支援方法
JP2009026248A (ja) * 2007-07-23 2009-02-05 Csk Holdings Corp エミュレーション装置及びエミュレーションプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014026480A (ja) * 2012-07-27 2014-02-06 Hitachi Ltd 複数の情報システムおける出力比較方法

Also Published As

Publication number Publication date
JP5304674B2 (ja) 2013-10-02
US20110188510A1 (en) 2011-08-04
US8588095B2 (en) 2013-11-19

Similar Documents

Publication Publication Date Title
JP5304674B2 (ja) データ変換装置、データ変換方法及びプログラム
US10788992B2 (en) System and method for efficient access for remote storage devices
US9037745B2 (en) Methods and devices for processing incomplete data packets
CN108268328B (zh) 数据处理装置及计算机
US20180210752A1 (en) Accelerator virtualization method and apparatus, and centralized resource manager
US9578132B2 (en) Zero copy data transfers without modifying host side protocol stack parameters
US20150032837A1 (en) Hard Disk and Data Processing Method
WO2023005773A1 (zh) 基于远程直接数据存储的报文转发方法、装置、网卡及设备
US20140082180A1 (en) Information processor apparatus, information processing method, and recording medium
KR20140004653A (ko) 제 3의 주체가 개시하는 원격 주체들 사이의 통신
JP5479709B2 (ja) データを処理するためのサーバ‐プロセッサ・ハイブリッド・システムおよび方法
JP6299266B2 (ja) データ格納方法、ストレージシステム、プログラム及びストレージ装置
JP5091121B2 (ja) 埋め込み型システムのための高速データ処理・通信方法及び装置
US7761587B2 (en) Apparatus and method for transmitting packet IP offload
US20140297791A1 (en) Communication apparatus, method of controlling the same, and storage medium
US11336297B2 (en) DMA transfer apparatus, method of controlling the same, communication apparatus, method of controlling the same, and non-transitory computer-readable storage medium
JP2009123202A (ja) データを処理するためのプロセッサ‐サーバ・ハイブリッド・システムおよび方法
US20210297510A1 (en) Efficient packet processing for express data paths
JP2014057149A (ja) 通信装置、中継装置および通信方法
JP2014515195A (ja) 再送制御システム及び再送制御方法
US7672239B1 (en) System and method for conducting fast offloading of a connection onto a network interface card
KR100932968B1 (ko) 호스트 컴퓨터의 개입이 없는 toe의 tcp 재전송 처리방법
US20120036217A1 (en) Data conversion device and data conversion method
KR20200051196A (ko) 추가의 네트워크 주소 변환 테이블을 참조하여 빠른 패킷 포워딩을 제공하는 전자 장치
JP5577978B2 (ja) 通信装置、画像形成装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121005

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130501

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: 20130528

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130610

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees