(57)【特許請求の範囲】
【請求項１】
第１のプロトコルに準拠し、リクエストコマンドを送信する第１の装置と、
第２のプロトコルに準拠し、リクエストコマンドに応答する応答データを送信する第２の装置との間で中継を行う中継装置であって、
前記第１の装置から、前記第２の装置へのリクエストコマンドを受信し、受信したリクエストコマンドを前記第２のプロトコルに対応させて変換し、変換後のリクエストコマンドを前記第２の装置に送信するリクエストコマンド処理部と、
前記第２の装置から、前記リクエストコマンドに応答する応答データを受信し、受信した応答データを前記第１のプロトコルに対応させて変換し、変換後の応答データを前記第１の装置に送信する応答データ処理部と、
前記リクエストコマンド処理部のリクエストコマンドの送信時刻と、前記リクエストコマンド処理部がリクエストコマンドを送信してから前記応答データ処理部が応答データを受信するまでの受信待ち時間の実績値とに基づき、前記応答データ処理部が応答データを受信する前に応答データの受信タイミングを予測し、前記リクエストコマンドに対する応答データであることが記述されるヘッダを生成するとともに、ヘッダの送信が完了した直後に前記変換後の応答データの送信が開始されるように前記ヘッダの送信タイミングを制御して、前記ヘッダを前記第１の装置に送信するヘッダ処理部とを有することを特徴とする中継装置。
【請求項２】
前記ヘッダ処理部は、
前記応答データ処理部が応答データを受信する前に応答データの受信タイミングを予測し、
予測した応答データの受信タイミングと、前記応答データ処理部が応答データの変換に要する時間と、ヘッダの送信処理に要する時間とに基づき、ヘッダの送信タイミングを決定することを特徴とする請求項１に記載の中継装置。
【請求項３】
前記中継装置は、更に、
受信待ち時間を計測する受信待ち時間計測部と、
２つの受信待ち時間が比較された結果、時間が長いと判断された受信待ち時間を記憶する受信待ち時間記憶部と、
前記受信待ち時間計測部が受信待ち時間を計測する度に、計測された受信待ち時間と前記受信待ち時間記憶部の受信待ち時間とを比較し、計測された受信待ち時間が長いと判断すれば、前記受信待ち時間記憶部の受信待ち時間を計測された受信待ち時間に書換え、前記受信待ち時間記憶部の受信待ち時間が書換えられた後に、所定の回数の比較が行われた後でも、前記受信待ち時間記憶部の受信待ち時間が書換えられない場合に、前記受信待ち時間記憶部の受信待ち時間を前記ヘッダ処理部に通知する受信待ち時間比較部とを有し、
前記ヘッダ処理部は、
受信待ち時間の実績値として、前記受信待ち時間比較部から通知された受信待ち時間を用いて、応答データの受信タイミングを予測することを特徴とする請求項１に記載の中継装置。
【請求項４】
前記受信待ち時間計測部は、
リクエストコマンドの送信及び応答データの受信が発生する度、又は、所定の期間内のリクエストコマンドの送信及び応答データの受信に限定して、受信待ち時間を計測することを特徴とする請求項３に記載の中継装置。
【請求項５】
前記応答データ処理部は、
前記ヘッダ処理部が予測した応答データの受信タイミングよりも早いタイミングで前記第２の装置から応答データを受信した場合に、前記ヘッダ処理部が予測した受信タイミングと実際の受信タイミングの差の時間だけ応答データの送信を遅延させることを特徴とする請求項２に記載の中継装置。
【請求項６】
第１のプロトコルに準拠し、リクエストコマンドを送信する第１の装置と、
第２のプロトコルに準拠し、リクエストコマンドに応答する応答データを送信する第２の装置との間で中継を行う中継装置が行う中継方法であって、
前記中継装置が、前記第１の装置から、前記第２の装置へのリクエストコマンドを受信し、受信したリクエストコマンドを前記第２のプロトコルに対応させて変換し、変換後のリクエストコマンドを前記第２の装置に送信するリクエストコマンド処理ステップと、
前記中継装置が、前記第２の装置から、前記リクエストコマンドに応答する応答データを受信し、受信した応答データを前記第１のプロトコルに対応させて変換し、変換後の応答データを前記第１の装置に送信する応答データ処理ステップと、
前記中継装置が、前記リクエストコマンド処理ステップによるリクエストコマンドの送信時刻と、前記リクエストコマンド処理ステップによりリクエストコマンドが送信されてから前記応答データ処理ステップにより応答データが受信されるまでの受信待ち時間の実績値とに基づき、前記応答データ処理ステップにより応答データが受信される前に応答データの受信タイミングを予測し、前記リクエストコマンドに対する応答データであることが記述されるヘッダを生成するとともに、ヘッダの送信が完了した直後に前記変換後の応答データの送信が開始されるように前記ヘッダの送信タイミングを制御して、前記ヘッダを前記第１の装置に送信するヘッダ処理ステップとを有することを特徴とする中継方法。
【請求項７】
第１のプロトコルに準拠し、リクエストコマンドを送信する第１の装置と、
第２のプロトコルに準拠し、リクエストコマンドに応答する応答データを送信する第２の装置との間で中継を行うコンピュータに、
前記第１の装置から、前記第２の装置へのリクエストコマンドを受信し、受信したリクエストコマンドを前記第２のプロトコルに対応させて変換し、変換後のリクエストコマンドを前記第２の装置に送信するリクエストコマンド処理ステップと、
前記第２の装置から、前記リクエストコマンドに応答する応答データを受信し、受信した応答データを前記第１のプロトコルに対応させて変換し、変換後の応答データを前記第１の装置に送信する応答データ処理ステップと、
前記リクエストコマンド処理ステップによるリクエストコマンドの送信時刻と、前記リクエストコマンド処理ステップによりリクエストコマンドが送信されてから前記応答データ処理ステップにより応答データが受信されるまでの受信待ち時間の実績値とに基づき、前記応答データ処理ステップにより応答データが受信される前に応答データの受信タイミングを予測し、前記リクエストコマンドに対する応答データであることが記述されるヘッダを生成するとともに、ヘッダの送信が完了した直後に前記変換後の応答データの送信が開始されるように前記ヘッダの送信タイミングを制御して、前記ヘッダを前記第１の装置に送信するヘッダ処理ステップとを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リクエストコマンドを送信する装置と、リクエストコマンドに対する応答データを送信する装置との間で中継を行う技術に関する。
【背景技術】
【０００２】
マスタ装置とスレーブ装置で構成される通信システムを想定する。
この通信システムにおいて、マスタ装置が送信したリクエストコマンドに対してスレーブ装置が応答するときに、応答データの前にヘッダを付加したフォーマットでマスタ装置に返送する方法がある。
この方法は送信するヘッダ分の通信量が増すことや、応答データの送信時間の遅れを招いてしまうという課題がある。
この点につき、例えば特許文献１では応答データの前方に付加するヘッダを送信するか否かをフラグによって判定し、ヘッダの送信そのものを省くような工夫がなされている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−４２００１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このように特許文献１の技術では、応答データの前方に付加するヘッダの送信そのものを省くような工夫がなされるものの、ヘッダの送信が必須の状況ではヘッダを送信することを避けられない。
従って、応答データの前方に付加しているヘッダの転送を実施する分、応答データの転送開始を遅らせてしまうことになり、ヘッダの付加による応答データの送信の遅れを常時回避しているわけではない。
【０００５】
また、マスタ装置とスレーブ装置とが異なるプロトコルに準拠している場合は、プロトコルの違いを吸収するための中継装置をマスタ装置とスレーブ装置の間に接続し、中継装置においてプロトコル変換をすることになる。
中継装置を接続する場合にも、ヘッダの送信が必須であれば、中継装置はスレーブ装置からヘッダと応答データを受信した後に、ヘッダ、プロトコル変換後の応答データの順でマスタ装置に送信するため、ヘッダの送信により応答データの送信が遅延することになる。
【０００６】
この発明は、このような点に鑑みたものであり、第１のプロトコルに準拠し、リクエストコマンドを送信する第１の装置と、第２のプロトコルに準拠し、応答データを送信する第２の装置との間の通信の中継において、応答データの送信を効率的に行うことを主な目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る中継装置は、
第１のプロトコルに準拠し、リクエストコマンドを送信する第１の装置と、
第２のプロトコルに準拠し、リクエストコマンドに応答する応答データを送信する第２の装置との間で中継を行う中継装置であって、
前記第１の装置から、前記第２の装置へのリクエストコマンドを受信し、受信したリクエストコマンドを前記第２のプロトコルに対応させて変換し、変換後のリクエストコマンドを前記第２の装置に送信するリクエストコマンド処理部と、
前記第２の装置から、前記リクエストコマンドに応答する応答データを受信し、受信した応答データを前記第１のプロトコルに対応させて変換し、変換後の応答データを前記第１の装置に送信する応答データ処理部と、
前記リクエストコマンドに対する応答データであることが記述されるヘッダを生成するとともに、ヘッダの送信が完了した直後に前記変換後の応答データの送信が開始されるように前記ヘッダの送信タイミングを制御して、前記ヘッダを前記第１の装置に送信するヘッダ処理部とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ヘッダの送信が完了した直後にプロトコル変換後の応答データの送信が開始されるようにヘッダの送信タイミングを制御して、ヘッダを第２の装置に送信するため、ヘッダの送信を待つことなくプロトコル変換後の応答データを送信することができ、応答データの送信を効率的に行うことができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係るインターフェース変換装置の構成例を示す図。
【図２】実施の形態１に係るインターフェース変換装置の処理を時系列的に表した概念図。
【図３】実施の形態１に係るリクエストコマンド、ヘッダ、応答データの送受信タイミングを示す図。
【図４】実施の形態１に係るリクエストコマンド、ヘッダ、応答データの送受信タイミングを示す図。
【図５】実施の形態１に係る、ばらつきによる最大遅延値を決定する処理の例を示すフローチャート図。
【図６】実施の形態１に係るインターフェース変換装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【００１０】
実施の形態１．
応答データの先方に付加するヘッダは、マスタ装置が送信したリクエストコマンドの内容を正しく受信したことを示すための情報である。
ヘッダとしてリクエストコマンドの内容を送付するシステムの場合、スレーブ装置からの応答データの内容に関わらずヘッダの内容は決定する。
そのため、マスタ装置とスレーブ装置との間の通信を中継する中継装置を設け、中継装置がマスタ装置に応答データを送信する前に、予めヘッダのみを送信することは可能であり、中継装置がスレーブ装置から応答データを受信する前に、マスタ装置に予めヘッダを送ることは可能であるが、これはヘッダの送信と応答データの送信の間を空けることを招く。
しかし、ヘッダの送信と応答データの送信の間に転送ノイズが入り、その後の応答データ送信以降の処理が誤動作する可能性があるため、ヘッダと応答データは間隔を空けずに送信することが望ましい。
そこで、本実施の形態では、中継装置が、応答データの先方に付加するヘッダを予め生成し、スレーブ装置から応答データを受信する時刻を予測し、その予測に基づいて、応答データを受信する前又は受信した後にヘッダをマスタ装置に送信し、ヘッダ送信後間を空けずに応答データの送信を行う。
該予測をするためには、データを受信する時間を複数回保持し、保持した時間の値からデータを受信する時間を決定する。
本実施の形態では、これらの機能を備えたインターフェース変換装置をマスタ装置とスレーブ装置の間に接続し、マスタ装置とスレーブ装置との間の通信を中継する。
【００１１】
図１は、インターフェース変換装置を含む通信システムの全体構成例を示す。
【００１２】
インターフェース変換装置１は、マスタ装置２とスレーブ装置３との間の通信を中継し、中継装置の例に相当する。
マスタ装置２は、第１のプロトコルに準拠し、リクエストコマンドを送信する。
マスタ装置２は、第１の装置の例に相当する。
スレーブ装置３は、第２のプロトコルに準拠し、リクエストコマンドに応答する応答データを送信する。
スレーブ装置３は、第２の装置の例に相当する。
【００１３】
インターフェース変換装置１は、マスタ装置２がマスタ装置インターフェース２１に送信したリクエストコマンドを受信し、ヘッダ・データ送信時間決定部１５は、その受信タイミングを情報として保持する。
また、そのリクエストコマンドに対して、ヘッダ生成部１２によってヘッダを生成するとともに、リクエストコマンド変換部１１によってスレーブ装置３用のリクエストコマンドを生成する。
すなわち、ヘッダ生成部１２は、マスタ装置２からのリクエストコマンドに対する応答データであることが記述されるヘッダを生成する。
ヘッダ生成部１２は、ヘッダ・データ送信時間決定部１５及び送信タイミング制御部１６とともにヘッダ処理部の例に相当する。
また、リクエストコマンド変換部１１は、マスタ装置２からリクエストコマンドを受信し、受信したリクエストコマンドを第２のプロトコルに対応させて変換し、変換後のリクエストコマンドをスレーブ装置３に送信する。
リクエストコマンド変換部１１は、リクエストコマンド処理部の例に相当する。
【００１４】
スレーブ装置３は、スレーブ装置インターフェース３１からリクエストコマンドを受信すると該リクエストコマンドに対する処理を行い、その結果を応答データとしてスレーブ装置インターフェース３１を介してインターフェース変換装置１に送信する。
【００１５】
インターフェース変換装置１は、スレーブ装置インターフェース３１から応答データを受信するとデータ変換部１３によって応答データをマスタ装置２に対応するフォーマットに変換するとともに、データ受信時間測定部１４を介しヘッダ・データ送信時間決定部１５にデータ受信時間情報を送り、ヘッダ・データ送信時間決定部１５は、その情報に基づきヘッダおよび応答データをマスタ装置インターフェース２１に送信する時間を決定する。
そして、送信タイミング制御部１６は、ヘッダ・データ送信時間決定部１５からの時間情報に従って、ヘッダ生成部１２に保持しているヘッダ、およびデータ変換部１３からの応答データをマスタ装置インターフェース２１を介してマスタ装置２に送信する。
すなわち、データ変換部１３は、スレーブ装置３から応答データを受信し、受信した応答データを第１のプロトコルに対応させて変換する。
データ変換部１３は、送信タイミング制御部１６とともに、応答データ処理部の例に相当する。
また、ヘッダ・データ送信時間決定部１５は、ヘッダの送信が完了した直後に変換後の応答データの送信が開始されるようにヘッダの送信タイミングを制御する。
ヘッダ・データ送信時間決定部１５は、データ変換部１３が応答データを受信する前に応答データの受信タイミングを予測し、予測した応答データの受信タイミングと、データ変換部１３が応答データの変換に要する時間と、ヘッダの送信処理に要する時間とに基づき、ヘッダの送信タイミングを決定する。
ヘッダ・データ送信時間決定部１５は、ヘッダ処理部の例に相当する。
送信タイミング制御部１６は、ヘッダ・データ送信時間決定部１５の制御に従って、ヘッダをマスタ装置２に送信し、ヘッダの送信に後続して、変換後の応答データをマスタ装置２に送信する。
送信タイミング制御部１６は、応答データ処理部とヘッダ処理部の例に相当する。
【００１６】
また、データ受信時間測定部１４は、受信待ち時間を計測する。
受信待ち時間とは、リクエストコマンド変換部１１がリクエストコマンドを送信してからデータ変換部１３が応答データを受信するまでの時間である。
また、データ受信時間測定部１４は、計測した受信待ち時間を記憶し、記憶している受信待ち時間と計測した受信待ち時間との比較も行う。
データ受信時間測定部１４は、受信待ち時間計測部、受信待ち時間記憶部及び受信待ち時間比較部の例に相当する。
なお、以下では、受信待ち時間を受信時間又はデータ受信時間ともいう。
【００１７】
図２は、本実施の形態に係るインターフェース変換装置１の処理を時系列的に表した概念図である。
【００１８】
インターフェース変換装置１は、マスタ装置２内のリクエストコマンド発行処理１２０によって送信されたリクエストコマンド１４１を受信し、図１のヘッダ生成部１２によりヘッダ生成処理１１１、図１のリクエストコマンド変換部１１によりリクエストコマンド変換処理１１０、図１のヘッダ・データ送信時間決定部１５によりヘッダ送信タイミング決定処理１１２を行う。
ヘッダ送信処理１１３は、ヘッダ生成処理１１１からヘッダの情報を取得１４２し、送信タイミング決定処理１１２から得た、マスタ装置インターフェース２１にヘッダを送信するタイミング情報１４３に基づいてヘッダを送信１４５する。
リクエストコマンド変換処理１１０は、プロトコル変換後のリクエストコマンドをスレーブ装置３に送信１４６する。
【００１９】
スレーブ装置３は、データ生成処理１３０によって、受信したリクエストコマンドに応じた処理を行い、インターフェース変換装置１に応答データを送信１４７する。
【００２０】
インターフェース変換装置１は、応答データを受信１４７すると、図１のデータ変換部１３によりデータ変換処理１１４、図１のデータ受信時間測定部１４によってデータ受信時間測定処理１１６をする。
データ受信時間測定処理１１６は、応答データの受信時間の情報を送信タイミング決定処理１１２に送信１５０する。
図１のヘッダ・データ送信時間決定部１５によって、送信タイミング決定処理１１２は、ヘッダと応答データをマスタ装置２に送信するタイミングを決定し、ヘッダ送信処理１１３、データ送信処理にそのタイミング情報を渡す。
図１の送信タイミング制御部１６によって、データ送信処理１１５は、データ変換処理１１４から応答データを取得１４８し、送信タイミング決定処理１１２からのマスタ装置インターフェース２１に送信するタイミング情報にもとづいて応答データを送信１４９する。
【００２１】
以上の処理手順により、応答データのプロトコル変換と並行して又はプロトコル変換に先立ってヘッダの送信が開始され、ヘッダの送信が完了した直後に応答データの送信が開始され、間隔を空けずにヘッダと応答データが送信される。
【００２２】
本実施の形態では、ヘッダ・データ送信時間決定部１５が、スレーブ装置インターフェース３１から応答データを受信する時刻を予測する。
以下では、ヘッダ・データ送信時間決定部１５による応答データの受信タイミングの予測を説明する。
【００２３】
図３は、リクエストコマンド、ヘッダ、応答データの送受信タイミングの態様を説明する図である。
そもそもスレーブ装置３のデータ生成処理時間が一定である場合、インターフェース変換装置１からスレーブ装置３にリクエストコマンドを送信してから、その応答データを受信するまでの時間（図３内に示すスレーブ応答時間）は仕様上固定である。
しかし、スレーブ装置インターフェース３１にはデバイスやケーブルによって遅延が生じる。
よって、図３内に示す実際の遅延時間４１ａ及び４１ｂは、実測に基づくしかないため、はじめに実測値を測定する。
インターフェース変換装置１はマスタ装置２からリクエストコマンドを受け、スレーブ装置３に送信し、実際のデータ受信時間や遅延時間を経て応答データを受信する。
しかし、はじめの送受信ではケーブル等による遅延時間４１がわからないため、実際のデータ受信時間はわからないままヘッダを送信することになる。
そこで、ヘッダ・データ送信時間決定部１５及び送信タイミング制御部１６は、はじめのリクエストコマンドに対する応答データの受信時間を構成上取り得る最大値（図３のデータ受信最大遅延時間）と仮定してヘッダの送信を行う。
つまり、スレーブ装置３へのリクエストコマンドの送信時刻からデータ受信最大遅延時間が経過した際に応答データを受信すると予測（仮定）し、この予測（仮定）のもとにヘッダの送信タイミングを決定する。
一方で、実際に応答データを受信した際には、データ受信時間測定部１４がスレーブ装置３からの実際のデータ受信時間を測定し、測定したデータ受信時間を記憶する。
なお、通常、実際の応答データの受信時間はデータ受信最大遅延時間よりも短いので、送信タイミング制御部１６は、応答データの受信からヘッダの送信完了までの間応答データを保持することが必要である。
つまり、データ受信最大遅延時間の経過時に応答データを受信するとの予測のもとにヘッダの送信タイミングが決定されているので、ヘッダに後続させて応答データを送信するためには、送信タイミング制御部１６は、データ受信最大遅延時間と実際のデータ受信時間との差分だけ応答データの送信を遅延させることが必要である。
次回以降は、ヘッダ・データ送信時間決定部１５が、データ受信時間測定部１４に記憶されているデータ受信時間（受信待ち時間）の実績値と、スレーブ装置３へのリクエストコマンドの送信時刻とを用いて、応答データの受信タイミングを予測する。
【００２４】
また、本実施の形態の手法では、応答データを受信する前から先行してマスタ装置インターフェース２１にヘッダを送信する場合がある。
前述の通り、インターフェース変換装置１は、スレーブ装置３からはじめに応答データを受信した時間を用いて応答データ受信タイミングを予測する。
また、ヘッダのビット転送量は一定である。
このため、インターフェース変換装置１はマスタ装置２への応答データ送信前に先行してヘッダを送信するためのヘッダ送信開始タイミングを算出することができ、算出したヘッダ送信開始タイミングによっては応答データ受信前に先行してヘッダを送信する場合がある。
算出されるヘッダ送信開始タイミングは、ヘッダの送信完了と応答データの送信開始の間が開かないタイミングである。
ヘッダ・データ送信時間決定部１５は、例えば、以下の式によりヘッダの送信開始タイミング及び応答データの予測受信タイミングを決定することができる。
ヘッダの送信開始タイミング＝応答データの予測受信タイミング＋応答データ変換時間−ヘッダ送信時間
応答データの予測受信タイミング＝リクエストコマンドの送信時刻＋データ受信時間
【００２５】
上式において、ヘッダの送信開始タイミングは、ヘッダの送信を開始する時刻である。
応答データの予測受信タイミングは、応答データの受信を開始する時刻である。
応答データ変換時間は、データ変換部１３による応答データのプロトコル変換に要する時間である。
ヘッダ送信時間は、送信タイミング制御部１６がヘッダの送信を開始してからヘッダの送信を完了するまでの時間である。
リクエストコマンドの送信時刻は、リクエストコマンド変換部１１によるスレーブ装置３へのリクエストコマンドの送信を開始した時刻である。
データの受信時間は、データ受信時間測定部１４により計測され、記憶されている応答データの受信時間（受信待ち時間）である。
【００２６】
図４は、実際のデータ受信時間を獲得した後にリクエストコマンド処理を行う場合の時間の経過を示す。
図３で示したように、はじめのリクエストコマンドの処理は応答データの受信時間としてデータ受信最大遅延時間を用いているが、図４で示すように、２回目以降は実際のデータ受信時間（データ受信時間測定部１４で記憶されている時間）をデータ受信最大遅延時間に代えて用いて、応答データの受信タイミングを予測する。
【００２７】
また、図４で示した実際のデータ受信時間にばらつきがあることを考慮し、適正な実際のデータ受信時間を求めるようにしてもよい。
遅延のばらつきにより、データ受信時間測定部１４が保持しているデータ受信時間よりも早期にスレーブ装置３から応答データを受信した場合（ヘッダ・データ送信時間決定部１５が予測した応答データの受信タイミングよりも早期に応答データを受信した場合）は、送信タイミング制御部１６が、早く受信した時間分、内部でバッファやレジスタにより応答データを保持した後にマスタ装置２に送信すればよい。
しかし、データ受信時間測定部１４が保持しているデータ受信時間よりも遅くスレーブ装置３から応答データを受信した場合（ヘッダ・データ送信時間決定部１５が予測した応答データの受信タイミングよりも遅く応答データを受信した場合）は、先行して送信したヘッダと送信する応答データの間に遅れた時間分の隙間ができてしまう。
これを避けるために、データ受信時間測定部１４が保持するデータ受信時間は、ばらつきによる最大遅延に設定することが必要である。
【００２８】
図５に、ばらつきによる最大遅延値を決定するフローチャートを示す。
はじめに、データ受信時間測定部１４が、初期設定（Ｓ３００）により遅延値と比較数を０にする。
遅延値とは、データ受信時間を示し、比較数とは、最大のデータ受信時間を調査するためのデータ収集数を示す。
なお、この例では比較数を３としている。
インターフェース変換装置１がスレーブ装置３からリクエストコマンドに対する応答データを受信すると、新たに遅延値獲得（Ｓ３０１）はＹＥＳになり、データ受信時間測定部１４は、現在保持している遅延値と新たな遅延値との比較（Ｓ３０２）に進む。
新たに遅延値を獲得しない場合は獲得を待つ。
データ受信時間測定部１４は、保持している遅延値と新たな遅延値とを比較（Ｓ３０２）した結果、新たな遅延値が大きければＹＥＳとなり、保持している遅延値を新たな遅延値に書換えるとともに比較数を０にする（Ｓ３０３）。
新たな遅延値が小さければＮＯとなり、何もせずに比較数の加算（Ｓ３０４）に進む。
そして、データ受信時間測定部１４は比較数を１加算する（Ｓ３０４）。
その後、データ受信時間測定部１４は、比較数が３であるか調査し（Ｓ３０５）、比較数が３でない場合は、新たに遅延値の獲得（Ｓ３０１）に戻る。
比較数が３であれば終了し、データ受信時間測定部１４は、この時点で保持している遅延値をばらつきによる最大遅延値とし、実際のデータ受信時間として決定する。
また、データ受信時間測定部１４は、決定したデータ受信時間をヘッダ・データ送信時間決定部１５に通知する。
【００２９】
また、データ受信時間測定部１４は、はじめのリクエストコマンドに対する実際の受信時間の計測やばらつきを考慮した上で、実際の受信時間の決定を定期的に行い、変更するようにしてもよい。
実際の受信時間の計測は、例えば温度などのシステムの動作環境の変化によって変化する可能性がある。
図５のフローを定期的に行うことで動作環境の変化に対応させることができる。
また、リクエストコマンドの送信及び応答データの受信が発生する度、又は、所定の期間内のリクエストコマンドの送信及び応答データの受信に限定して、図５のフローを実施するようにしてもよい。
【００３０】
以上、本実施の形態では、
リクエストコマンドを送信し、該リクエストコマンドに対応する応答データを受信するマスタ装置と、該リクエストコマンドを受信し、該リクエストコマンドに対応する応答データを送信するスレーブ装置に対して、該マスタ装置のインターフェースと該スレーブ装置のインターフェースが異なるために、該マスタ装置のインターフェースと該スレーブ装置のインターフェースに接続し、それらのインターフェースのプロトコル変換を行う機能を持ち、マスタ装置のインターフェースから受信したリクエストコマンド情報を保持し、スレーブ装置のインターフェースから応答データを受信する時間を予測する機能を持つインターフェース変換装置を説明した。
【００３１】
また、本実施の形態では、
リクエストコマンド情報の一部をスレーブ装置のインターフェースから受信する応答データのヘッダとして保持する機能を備える一方で、前記予測したスレーブ装置のインターフェースから応答データを受信する時刻をもとに該マスタ装置のインターフェースに応答データの送信を開始する時刻と応答データの前方に付加するヘッダを送信する時刻を算出し、応答データを受信する前から先行して該マスタ装置のインターフェースにヘッダを送信する機能を持つインターフェース変換装置を説明した。
【００３２】
また、本実施の形態では、
前記スレーブ装置のインターフェースから応答データを受信する前に先行してマスタ装置のインターフェースにヘッダを送信するときに、ヘッダの送信完了と応答データの送信開始の間が開かないようにヘッダの送信開始を決定するインターフェース変換装置を説明した。
【００３３】
また、本実施の形態では、
前記スレーブ装置のインターフェースから応答データを受信する時刻を予測する機能において、データ受信時間にばらつきがあることを考慮し、データ受信時間を複数回計測する機能を持ち、計測した最大時間よりも長い時間が新たに測定された場合、その計測から新たに複数回の計測を開始し、最終的に計測した最大時間を、前記スレーブ装置のインターフェースから応答データを受信する時間と決定する機能を備えたインターフェース変換装置を説明した。
【００３４】
また、本実施の形態では、
前記スレーブ装置のインターフェースから応答データを受信する時刻を予測する機能をスレーブ装置のインターフェースから応答データを受信するごと、または定期的に行うインターフェース変換装置を説明した。
【００３５】
最後に、本実施の形態に示したインターフェース変換装置１のハードウェア構成例を図６を参照して説明する。
インターフェース変換装置１はコンピュータであり、インターフェース変換装置１の各要素をプログラムで実現することができる。
インターフェース変換装置１のハードウェア構成としては、バスに、演算装置９０１、外部記憶装置９０２、主記憶装置９０３、通信装置９０４、タイマ９０５が接続されている。
【００３６】
演算装置９０１は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
外部記憶装置９０２は、例えばＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ、ハードディスク装置である。
主記憶装置９０３は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
通信装置９０４は、マスタ装置インターフェース２１、スレーブ装置インターフェース３１との間でリクエストコマンド、ヘッダ、応答データの送受信を行う。
タイマ９０５は、データ受信時間の計測を行う。
【００３７】
プログラムは、通常は外部記憶装置９０２に記憶されており、主記憶装置９０３にロードされた状態で、順次演算装置９０１に読み込まれ、実行される。
プログラムは、図１に示す「〜部」として説明している機能を実現するプログラムである。
更に、外部記憶装置９０２にはオペレーティングシステム（ＯＳ）も記憶されており、ＯＳの少なくとも一部が主記憶装置９０３にロードされ、演算装置９０１はＯＳを実行しながら、図１に示す「〜部」の機能を実現するプログラムを実行する。
また、本実施の形態の説明において、「〜の判断」、「〜の判定」、「〜の予測」、「〜の計測」、「〜の制御」、「〜の決定」、「〜の設定」、「〜の選択」、「〜の比較」、「〜の生成」、「〜の入力」、「〜の出力」等として説明している処理の結果を示す情報やデータや信号値や変数値が主記憶装置９０３にファイルとして記憶されている。
また、暗号鍵・復号鍵や乱数値やパラメータが、主記憶装置９０３にファイルとして記憶されてもよい。
【００３８】
なお、図６の構成は、あくまでもインターフェース変換装置１のハードウェア構成の一例を示すものであり、インターフェース変換装置１のハードウェア構成は図６に記載の構成に限らず、他の構成であってもよい。
また、本実施の形態に示したマスタ装置２及びスレーブ装置３も、図６のハードウェア構成をしていてもよいし、他のハードウェア構成であってもよい。
【００３９】
また、本実施の形態に示す手順により、本発明に係る中継方法を実現可能である。
【符号の説明】
【００４０】
１  インターフェース変換装置、２  マスタ装置、３  スレーブ装置、１１  リクエストコマンド変換部、１２  ヘッダ生成部、１３  データ変換部、１４  データ受信時間測定部、１５  ヘッダ・データ送信時間決定部、１６  送信タイミング制御部、２１  マスタ装置インターフェース、３１  スレーブ装置インターフェース、１１０  リクエストコマンド変換処理、１１１  ヘッダ生成処理、１１２  送信タイミング決定処理、１１３  ヘッダ送信処理、１１４  データ変換処理、１１５  データ送信処理、１１６  データ受信時間測定処理、１２０  リクエストコマンド発行処理、１２１  ヘッダ受信処理、１２２  データ受信処理、１３０  データ生成処理。
【図１】
0005866101.tif 000002
【図２】
0005866101.tif 000003
【図３】
0005866101.tif 000004
【図４】
0005866101.tif 000005
【図５】
0005866101.tif 000006
【図６】
0005866101.tif 000007