(57)【要約】【課題】マスター装置とスレーブ装置との間で通信を行うときに、外部のデータトラフィックの影響によるパケットの転送遅延時間の揺らぎを低減する。【解決手段】マスター装置１は複数の計測用リクエストパケットを隙間なく送信し、スレーブ装置２はそれらのパケットの送信開始から送信終了までの総受信時間を計測する。スレーブ装置２は、前記総受信時間を表す情報を含む計測用レスポンスパケットを隙間なく送信し、マスター装置１はそれらのパケットの送信開始から送信終了までの総受信時間を計測する。マスター装置１は、計測用レスポンスパケットに含まれている情報と、計測用レスポンスパケットの総受信時間とに基づいて、データ通信用リクエストパケットの送信間隔を調整する。【選択図】図１
2016019146.tif 000002
【特許請求の範囲】
【請求項１】
マスター装置とスレーブ装置とが通信を行う通信システムであって、
前記マスター装置は、
複数のリクエストパケットを所定の間隔で連続送信するリクエストパケット送信手段と、
前記複数のリクエストパケットに応じて前記スレーブ装置から前記間隔で連続送信される複数のレスポンスパケットを受信するレスポンスパケット受信手段と、
前記複数のレスポンスパケットのパケット間の隙間を含む総受信時間を計測するマスター側計測手段と、
前記複数のレスポンスパケットに含まれている前記スレーブ装置における前記複数のリクエストパケットのパケット間の隙間を含む総受信時間を表す情報と、前記マスター側計測手段で計測された総受信時間とに基づいて、前記リクエストパケットの送信間隔を調整する送信間隔調整手段と、
を有し、
前記スレーブ装置は、
前記複数のリクエストパケットを受信するリクエストパケット受信手段と、
前記複数のリクエストパケットのパケット間の隙間を含む総受信時間を計測するスレーブ側計測手段と、
前記スレーブ側計測手段で計測された総受信時間を表す情報を含む複数のパケットである前記複数のレスポンスパケットを前記間隔で連続送信するレスポンスパケット送信手段と、
を有する、
通信システム。
【請求項２】
請求項１に記載された通信システムにおいて、
前記送信間隔調整手段は、前記マスター側計測手段で計測された総受信時間と、前記リクエストパケットの総受信時間のうちの長い方の時間に基づいて、前記リクエストパケットの送信間隔を調整する、通信システム。
【請求項３】
請求項１に記載された通信システムにおいて、
前記送信間隔調整手段は、前記リクエストパケットの総受信時間に基づいて、前記リクエストパケットの送信間隔を調整する、通信システム。
【請求項４】
請求項１乃至３のいずれかに記載された通信システムにおいて、
前記リクエストパケットの送信数と、前記レスポンスパケットの送信数とが同じである、通信システム。
【請求項５】
請求項１乃至４のいずれかに記載された通信システムにおいて、
前記送信間隔調整手段が送信間隔を調整する前は、前記リクエストパケット送信手段は前記複数のリクエストパケットを隙間なく連続送信する、通信システム。
【請求項６】
請求項１乃至５のいずれかに記載された通信システムにおいて、
前記送信間隔調整手段が送信間隔を調整する前に前記リクエストパケット送信手段から送信される前記複数のリクエストパケット、および該複数のリクエストパケットに応じて前記レスポンスパケット送信手段から送信される前記複数のレスポンスパケットは、それぞれの総受信時間を計測するための専用の計測用リクエストパケット、計測用レスポンスパケットである、通信システム。
【請求項７】
請求項１乃至６のいずれかに記載された通信システムにおいて、
前記送信間隔調整手段が送信間隔を調整した後に前記リクエストパケット送信手段から送信される前記複数のリクエストパケットは、データ通信用リクエストパケットである、通信システム。
【請求項８】
マスター装置とスレーブ装置とが通信を行う通信システムにおけるパケット送信間隔調整方法であって、
前記マスター装置が複数のリクエストパケットを所定の間隔で連続送信するリクエストパケット送信工程と、
前記スレーブ装置が前記複数のリクエストパケットを受信するリクエストパケット受信工程と、
前記スレーブ装置が前記複数のリクエストパケットのパケット間の隙間を含む総受信時間を計測するスレーブ側計測工程と、
前記スレーブ装置が前記総受信時間を表す第１の情報を含む複数のレスポンスパケットを前記間隔で連続送信するレスポンスパケット送信工程と、
前記マスター装置が前記複数のレスポンスパケットを受信するレスポンスパケット受信工程と、
前記マスター装置が前記複数のレスポンスパケットのパケット間の隙間を含む総受信時間を計測するマスター側計測工程と、
前記マスター装置が前記複数のレスポンスパケットの総受信時間と前記第１の情報とに基づいて、前記スレーブ装置へ送信する複数のリクエストパケットの送信間隔を調整するパケット間隔調整工程と、
を有する、
パケット送信間隔調整方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスター装置とスレーブ装置との間で通信を行う通信システムおよびパケット送信間隔調整方法に関する。
【背景技術】
【０００２】
複数の通信装置間でデータを送受信する通信システムにおいて、大きなサイズのファイル転送のように平均的なデータ転送レートが高いことが要求される場合と、音声や動画のストリーミング配信や、TV会議やロボット制御などの応答性や等時性(単位時間あたりのデータ転送量の保証性)が要求される場合がある。
【０００３】
そして、等時性を保証するための制御を行う通信システムとして、データの優先度に応じて、スイッチやルータなどの中継装置におけるパケットの転送量を調整する通信システムが知られている（例えば特許文献１）。
【０００４】
しかし、既知のデータの優先度に応じてパケットの転送量を調整する通信システムは、優先度の高いデータ程、中継装置のデータ転送量の比率を高くする制御を行うものであり、転送時間を制御するものではない。このため、例えばマスター装置とスレーブ装置との間で、データ転送を要求するリクエストパケットと、リクエストに対して応答されるレスポンスパケットの通信を行うとき、データトラフィックの影響でパケットの転送遅延時間（送信時刻から受信時刻までの時間）の揺らぎが大きくなるという問題がある。
【０００５】
その理由を説明する。マスター装置とスレーブ装置との間のネットワーク上には１つ以上の中継装置があり、それらの中継装置はマスター装置とスレーブ装置との間のパケットだけでなく、他の通信装置間のパケットを転送することもある。以下、他の通信装置間のパケットのネットワーク上の流れを外部のデータトラフィックという。
【０００６】
このとき、中継装置に入力される他の通信装置間のパケットの数にばらつきがあると、中継装置の内部バッファに溜まる転送待ちのパケット（リクエストパケット、レスポンスパケット、他の通信装置間のパケット）の数もばらつく。
【０００７】
そして、転送待ちのパケットの数がばらつくと、リクエストパケットおよびレスポンスパケットの優先度を高くしたとしても、順番待ちに要する時間のばらつきによって、リクエストパケットやレスポンスパケットの転送遅延時間の揺らぎが大きくなる。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、このような問題を解決するためになされたものであり、マスター装置とスレーブ装置との間で通信を行うときに、外部のデータトラフィックの影響によるパケットの転送遅延時間のゆらぎを低減することである。
【課題を解決するための手段】
【０００９】
本発明は、マスター装置とスレーブ装置とが通信を行う通信システムであって、前記マスター装置は、複数のリクエストパケットを所定の間隔で連続送信するリクエストパケット送信手段と、前記複数のリクエストパケットに応じて前記スレーブ装置から前記間隔で連続送信される複数のレスポンスパケットを受信するレスポンスパケット受信手段と、前記複数のレスポンスパケットのパケット間の隙間を含む総受信時間を計測するマスター側計測手段と、前記複数のレスポンスパケットに含まれている前記スレーブ装置における前記複数のリクエストパケットのパケット間の隙間を含む総受信時間を表す情報と、前記マスター側計測手段で計測された総受信時間とに基づいて、前記リクエストパケットの送信間隔を調整する送信間隔調整手段と、を有し、前記スレーブ装置は、前記複数のリクエストパケットを受信するリクエストパケット受信手段と、前記複数のリクエストパケットのパケット間の隙間を含む総受信時間を計測するスレーブ側計測手段と、前記スレーブ側計測手段で計測された総受信時間を表す情報を含む複数のパケットである前記複数のレスポンスパケットを前記間隔で連続送信するレスポンスパケット送信手段と、を有する、通信システムである。
【発明の効果】
【００１０】
マスター装置とスレーブ装置との間で通信を行うときに、外部のデータトラフィックの影響によるパケットの転送遅延時間の揺らぎを低減することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る通信システムの構成について説明するための図である。
【図２】図１におけるリクエスタとレスポンダの内部構成を示す図である。
【図３】本発明の実施形態に係る通信システムにおいて、外部のデータトラフィックがなく、往復の転送遅延時間に差がないときの計測用パケットの転送状態を示す図である。
【図４】本発明の実施形態に係る通信システムにおいて、中継装置内に外部のデータトラフィックのパケットがない状態を示す図である。
【図５】図４におけるパケット転送のタイミングを示す図である。
【図６】本発明の実施形態に係る通信システムにおいて、外部のデータトラフィックがあり、往復の転送遅延時間に差があるときの計測用パケットの転送状態を示す図である。
【図７】本発明の実施形態に係る通信システムにおいて、中継装置内に外部のデータトラフィックのパケットがある状態を示す図である。
【図８】図７におけるパケット転送のタイミングを示す図である。
【図９】図８におけるレスポンスパケットの転送遅延時間について説明するための図である。
【図１０】本発明の実施形態に係る通信システムにおけるマスター装置の動作を示すフローチャートである。
【図１１】本発明の実施形態に係る通信システムにおけるスレーブ装置の動作を示すフローチャートである。
【図１２】本発明の実施形態に係る通信システムにおいて、送信間隔を調整したパケット転送を示すタイミング図である。
【図１３】図１２におけるレスポンスパケットの転送遅延時間について説明するための図である。
【図１４】本発明の実施形態に係る通信システムにおいて、計測用リクエストパケットの数と計測用レスポンスパケットの数が異なる場合の転送状態を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について図面を用いて説明する。なお、以下の説明において、同一の構成を有するものには同一の参照符号を付すとともに、特に必要な場合以外は繰り返しの説明を省略する。
【００１３】
〈通信システムの構成〉
図１は、本発明の実施形態に係る通信システムの構成について説明するための図である。
【００１４】
本発明の実施形態に係る通信システムは、マスター装置１と、スレーブ装置２とが、ルータやスイッチなどの中継装置３および４、並びにインターネットなどのネットワーク５を介して接続された構成を有する。
【００１５】
マスター装置１とスレーブ装置２は、中継装置３および４、並びにネットワーク５を経由してデータ通信を行うことができる。なお、ネットワーク５では、マスター装置１とスレーブ装置２との間のデータ通信以外に、図示されていない他の通信装置間のデータ通信（以下、外部データ通信）も同時に実行されることがある。
【００１６】
データ通信において、マスターとは、データ転送要求（リクエストパケット）を送信するデバイスであり、スレーブとは、データ転送要求を受け付けて、応答が必要なリクエストに対しては、応答（レスポンスパケット）を送信するデバイスである。
【００１７】
本実施形態では、マスター装置１は、リクエスタ１１、ネットワークＩ／Ｆ（インタフェース）１２、およびメモリ１３を備えており、スレーブ装置２は、レスポンダ２１、ネットワークＩ／Ｆ２２、およびメモリ２３を備えている。
【００１８】
リクエストパケットを生成する手段としてのリクエスタ１１は、ここではＤＭＡＣ（ＤＭＡコントローラ）である。レスポンスパケットを生成する手段としてのレスポンダ２１は、ここではＭＥＭＣ（メモリコントローラ）である。また、リクエスタ１１、レスポンダ２１は、それぞれメモリ１３、メモリ２３に対するデータの書き込み／読み出しを行う。
【００１９】
ネットワークＩ／Ｆ１２は、リクエスタ１１により生成されたリクエストパケットをスレーブ装置２へ送信する手段であり、スレーブ装置２から送信されたレスポンスパケットを受信する手段である。また、ネットワークＩ／Ｆ２２は、レスポンダ２１により生成されたレスポンスパケットをマスター装置１へ送信する手段であり、マスター装置１から送信されたリクエストパケットを受信する手段である。
【００２０】
〈通信システムの一般的な通信動作〉
次に、本発明の実施形態に係る通信システムの一般的な通信動作について、〔１〕マスター装置１がスレーブ装置２内のメモリ２３にデータを書き込む場合、〔２〕マスター装置１がスレーブ装置２内のメモリ２３からデータを読み出す場合、の順に説明する。
【００２１】
〔１〕マスター装置１がスレーブ装置２内のメモリ２３にデータを書き込む場合
マスター装置１では、データをスレーブ装置２のメモリ２３に書き込む（メモリライト）場合、リクエスタ１１は、メモリ１３からデータを読み出し、そのデータ（ライトデータ）を含むメモリ書き込みリクエストパケットを生成して、ネットワークＩ／Ｆ１２から、スレーブ装置２へ送信する。
【００２２】
スレーブ装置２では、ネットワークＩ／Ｆ２２がマスター装置１からのメモリ書き込みリクエストパケットを受信し、レスポンダ２１がメモリ書き込みリクエストパケットからデータを抽出し、そのデータ（ライトデータ）をメモリ２３に書き込む。この場合、スレーブ装置２はレスポンスパケットの生成・送信を行わない。
【００２３】
〔２〕マスター装置１がスレーブ装置２内のメモリ２３からデータを読み出す場合
マスター装置１は、リクエスタ１１がメモリ読み出しリクエストパケットを生成し、ネットワークＩ／Ｆ１２から、スレーブ装置２へ送信する。
【００２４】
スレーブ装置２では、ネットワークＩ／Ｆ２２がマスター装置１からのメモリ読み出しリクエストパケットを受信すると、レスポンダ２１は、読み出しを要求されたデータをメモリ２３から読み出し、そのデータ（リードデータ）を含むメモリ読み出しレスポンスパケットを生成して、ネットワークＩ／Ｆ２２から、マスター装置１へ送信する。
【００２５】
マスター装置１では、ネットワークＩ／Ｆ１２がメモリ読み出しレスポンスパケットを受信し、リクエスタ１１がメモリ読み出しレスポンスパケットからデータを抽出し、そのデータ（リードデータ）をメモリ１３に書き込む。
【００２６】
〈リクエスタおよびレスポンダの内構成〉
次に、リクエスタ１１およびレスポンダ２１の内部構成について説明する。図２は、リクエスタ１１およびレスポンダ２１の内部構成を示す図である。ここで、図２Ａはリクエスタ１１を示し、図２Ｂはレスポンダ２１を示す。
【００２７】
図２Ａに示すように、リクエスタ１１は、リクエスト生成部１１０と、レスポンス受信部１１１を備えており、さらにレスポンス受信部１１１は発行間隔演算部１１１ａを内蔵している。
【００２８】
リクエスト生成部１１０は、各種リクエストパケットを生成してネットワークＩ／Ｆ１２へ送出する。また、リクエストパケットの種類によっては、パケットに必要なデータの取得を行う。即ち、例えば前述したデータ読み出し時には、メモリ読み出しリクエストパケットを生成する。また、前述したデータ書き込み時には、メモリ書き込みリクエストパケットを生成し、そのパケットにメモリ１３から読み出したライトデータを記録する。
【００２９】
また、後に詳述するように、リクエスト生成部１１０は、メモリ読み出しリクエストパケットやメモリ書き込みリクエストパケットなどのデータ通信用リクエストパケットの発行間隔の調整に使用するための複数の計測用リクエストパケットも生成する。
【００３０】
レスポンス受信部１１１は、ネットワークＩ／Ｆ１２から各種レスポンスを受信し、それに伴って必要となる処理を行う。即ち、例えば前述したデータ読み出し時には、受信したメモリ読み出しレスポンスパケットからリードデータを抽出し、メモリ１３に書き込む。
【００３１】
また、後に詳述するように、レスポンス受信部１１１は、スレーブ装置２が計測用リクエストパケットを受信したときに、スレーブ装置２から送信される複数の計測用レスポンスパケットを受信する。
【００３２】
後に詳述するように、発行間隔演算部１１１ａは、計測用レスポンスパケットに記録されている時間情報と、計測用レスポンスパケットの総受信時間と、計測用リクエストパケットの数と、計測用レスポンスパケットの数とに基づいて、データ通信用リクエストパケットの発行間隔を演算し、リクエスト生成部１１０へ送る。
【００３３】
リクエスト生成部１１０は、受け取った発行間隔で、データ通信用リクエストパケットを生成して送信する。
【００３４】
なお、ここでは、発行間隔演算部１１１ａはレスポンス受信部１１１に内蔵されているが、発行間隔演算部１１１ａをレスポンス受信部１１１とリクエスト生成部１１０との間に設けることもできる。
【００３５】
図２Ｂに示すように、レスポンダ２１は、リクエスト受信部２１０と、レスポンス生成部２１１を備えており、さらにリクエスト受信部２１０は時間計測部２１０ａを内蔵している。
【００３６】
リクエスト受信部２１０は、ネットワークＩ／Ｆ２２から各種リクエストを受信し、それに伴って必要となる処理を行う。即ち、前述したデータ書き込み時には、受信したメモリ書き込みリクエストパケットからライトデータを抽出し、メモリ２３に書き込む。また、前述したデータ読み出し時には、メモリ読み出しリクエストパケットから読み出し要求の内容（メモリ２３の読み出しアドレスなど）を抽出し、レスポンス生成部２１１に通知する。また、後に詳述するように、リクエスト受信部２１０は、計測用リクエストパケットを受信する。
【００３７】
レスポンス生成部２１１は、各種レスポンスパケットを生成してネットワークＩ／Ｆ２２へ送る。また、レスポンスパケットの種類によっては、パケットに必要なデータの取得を行う。即ち、前述したデータ読み出し時には、メモリ読み出しレスポンスパケットを生成し、そのパケットにメモリ２３から読み出したリードデータを記録する。また、後に詳述するように、レスポンス生成部２１１は、リクエスト受信部２１０が計測用リクエストパケットを受信したとき、時間計測部２１０ａで生成される受信時間情報を記録した計測用レスポンスパケットを生成する。
【００３８】
後に詳述するように、時間計測部２１０ａは、リクエスト受信部２１０が計測用リクエストパケットを受信したとき、その総受信時間を計測し、その計測値である受信時間情報をレスポンス生成部２１１へ送出する。
【００３９】
なお、ここでは、時間計測部２１０ａはリクエスト受信部２１０に内蔵されているが、時間計測部２１０ａをリクエスト受信部２１０とレスポンス生成部２１１との間に設けることもできる。
【００４０】
〈往復の転送遅延時間に差がないときの計測用パケットの転送状態〉
図３は、本発明の実施形態に係る通信システムにおいて、外部のデータトラフィックがなく、往復の転送遅延時間に差がないときの計測用パケットの転送状態を示す図である。
【００４１】
マスター装置１は、複数（ここでは４つ）の計測用リクエストパケット１０１〜１０４に隙間を設けずに連続して送信する。ここでは、先頭の計測用リクエストパケット１０１の送信時刻Ｔ１＝０とする。この送信時刻はマスター装置１内の時計（図示せず）で計測したものである。計測用リクエストパケット１個あたりの送信時間は５００ｎｓとする。
【００４２】
マスター装置１から送信された計測用リクエストパケット１０１〜１０４は、中継装置３、ネットワーク５、および中継装置４を通ってスレーブ装置２で受信される。ここでは、先頭の計測用リクエストパケット１０１の受信時刻Ｔ２＝１００ｍｓであった。この送信時刻はスレーブ装置２内の時計（図示せず）で計測したものである。なお、マスター装置１内の時計とスレーブ装置２内の時計は同期しているものとするが、同期していなくても問題ない。
【００４３】
この場合、先頭の計測用リクエストパケット１０１が中継装置３および４とネットワーク５を経由してスレーブ装置２に届くまで（Ｔ２−Ｔ１）＝（１００ｍｓ−０）＝１００ｍｓかかったことになる。
【００４４】
また、計測用リクエストパケット１０１〜１０４は、スレーブ装置２で隙間なく受信され、先頭の計測用リクエストパケット１０１の受信開始時刻から最後の計測用リクエストパケット１０４の受信終了時刻までの時間である総受信時間Ｔａ＝２０００ｎｓであった。
【００４５】
スレーブ装置２では、Ｔ３＝２００ｍｓの時点で計測用レスポンスパケットの送信を開始したものとする。時刻Ｔ３と時刻Ｔ２の差である１００ｍｓは応答時間である。ここから４つの計測用レスポンスパケット２０１〜２０４を隙間なく連続して送信する。各計測用レスポンスパケットには、総受信時間Ｔａを表す情報が含まれている。
【００４６】
スレーブ装置２から送信された計測用レスポンスパケット２０１〜２０４は、中継装置４、ネットワーク５、および中継装置３を通ってマスター装置１で受信される。マスター装置１では、先頭の計測用レスポンスパケット２０１の受信開始時刻Ｔ４＝３００ｍｓであった。
【００４７】
この場合、先頭の計測用レスポンスパケット２０１が中継装置３および４とネットワーク５を経由してマスター装置１に届くまで（Ｔ４−Ｔ３）＝（４００ｍｓ−３００ｍｓ）＝１００ｍｓかかったことになる。
【００４８】
また、計測用レスポンスパケット２０１〜２０４は、マスター装置１で隙間なく受信され、先頭の計測用レスポンスパケット２０１の受信開始時刻から最後の計測用レスポンスパケット２０４の受信終了時刻までの時間である総受信時間Ｔｂが２０００ｎｓであった。
【００４９】
マスター装置１が計測用レスポンスパケットの受信を開始した時刻Ｔ４は、マスター装置１が計測用リクエストパケットの送信を開始した時刻Ｔ１＋往路の転送遅延時間１００ｍｓ＋スレーブ装置２の応答遅延時間１００ｍｓ＋復路の転送遅延時間１００ｍｓであり、計測用リクエストパケットの送信開始時刻から計測用レスポンスパケットの受信開始時刻までの遅延時間である。
【００５０】
マスター装置１では、計測用レスポンスパケットから抽出した計測用リクエストパケットの総受信時間Ｔａを表す情報と、自身が計測した計測用レスポンスパケットの総受信時間Ｔｂとから、以後リクエスト生成部１１０が発行するデータ通信用リクエストパケットの発行間隔を演算する。発行間隔の演算の具体例については後述する。
【００５１】
〈中継装置内に外部のデータトラフィックのパケットがないとき〉
図４は、本発明の実施形態に係る通信システムにおいて、中継装置内に外部のデータトラフィックのパケットがない状態を示す図であり、図５は、図４におけるパケット転送のタイミングを示す図である。これらの図に示す状態およびタイミングになるとき、図３に示した往復の転送遅延時間に差がない計測用パケットの転送状態になる。
【００５２】
まず図４を用いて中継装置３の内部構成について説明する。なお、中継装置４の内部構成も中継装置３の内部構成と同じである。図示のように、中継装置３は、アービタ３１、ルータ３２、ルータ３３、アービタ３４、バッファ３５、およびバッファ３６を備えている。
【００５３】
アービタ３１は、マスター側受信ポートからのパケットと、他の受信ポートからのパケットを調停してバッファ３５に送る。ここでは、マスター側受信ポートからのパケットとして４つの計測用リクエストパケット１０１〜１０４が入力され、バッファ３５に保持された状態を示している。ルータ３２は、バッファ３５から読み出されたパケットをその宛先に応じてスレーブ側送信ポートまたは他の送信ポートへ送る。
【００５４】
アービタ３４は、スレーブ側受信ポートからのパケットと、他の受信ポートからのパケットを調停してバッファ３６に送る。ここでは、スレーブ側受信ポートからのパケットとして４つの計測用レスポンスパケット２０１〜２０４が入力され、バッファ３６に保持された状態を示している。ルータ３３は、バッファ３６から読み出されたパケットをその宛先に応じてマスター側送信ポートまたは他の送信ポートへ送る。
【００５５】
このように図４は、リクエストパケットおよびレスポンスパケットが４つ連続で送信され、なおかつそれ以外のデータトラフィックのパケットが存在しない条件の、内部バッファの状態を示している。
【００５６】
次に図５を用いて中継装置３内のパケット転送のタイミングについて説明する。
この中継装置３では、パケットの入力から出力まで最短で５００ｎｓの遅延が発生するものとする。また1個のパケットを転送するのに要する時間も５００ｎｓかかるものとする。
【００５７】
ここでは、計測用リクエストパケットおよび計測用レスポンスパケット以外のデータトラフィックが無いため、バッファが空きの状態では、マスター側の受信ポートからは計測用リクエストパケットが受信され、スレーブ側の送信ポートへ出力されるまでに、他のデータトラフィックの影響を受けない。
【００５８】
このため、中継装置３を通る際、往路（マスター装置１からスレーブ装置２への転送経路）、復路（スレーブ装置２からマスター装置１への転送経路）ともにそれぞれ５００ｎｓの遅延が発生する。また、中継装置３が４つの計測用リクエストパケット１０１〜１０４、４つの計測用レスポンスパケット２０１〜２０４を転送するのに要する総転送時間ｔａ，ｔｂは、ともに２０００ｎｓ（＝５００ｎｓ×４）となり、転送遅延時間の偏りは発生しない。
【００５９】
このような中継装置がネットワーク５上の転送経路中に複数存在しているような条件では、マスター装置１から隙間なく連続送信された計測用リクエストパケット１０１〜１０４の入力（受信）開始時刻から、スレーブ装置２から隙間なく連続送信された対応する計測用レスポンスパケット２０１〜２０４の出力（送信）開始時刻までの遅延時間Ｔｄ１、Ｔｄ２、Ｔｄ３、Ｔｄ４は等しくなる。このため、揺らぎなく通信を処理することができる。また、図３を参照して説明した総受信時間Ｔａ，Ｔｂは総転送時間ｔａ，ｔｂと等しい。
【００６０】
〈往復の転送遅延時間に差があるときの計測用パケットの転送状態〉
図６は、本発明の実施形態に係る通信システムにおいて、外部のデータトラフィックがあり、往復の転送遅延時間に差があるときの計測用パケットの転送状態を示す図である。
【００６１】
マスター装置１における計測用リクエストパケット１０１〜１０４の送信開始時刻、スレーブ装置２における計測用リクエストパケット１０１〜１０４の受信開始時刻および総受信時間は、それぞれ図３の場合と同じＴ１（＝０）、Ｔ２（＝１００ｍｓ）、Ｔａ（＝２０００ｎｓ）である。
【００６２】
つまり、往路では外部のデータトラフィックの影響を受けていないため、マスター装置１から隙間なく送信された計測用リクエストパケット１０１〜１０４が、スレーブ装置２で隙間なく受信されている。
【００６３】
また、スレーブ装置２における計測用レスポンスパケット２０１〜２０４の送信開始時刻も図３の場合と同じＴ３（＝３００ｍｓ）である。つまり、スレーブ装置２における応答時間も図３の場合と同じ１００ｍｓである。
【００６４】
これに対して、マスター装置１における計測用レスポンスパケット２０１〜２０４の受信開始時刻はＴ５（＝４００ｍｓ）であり、図３の場合より１００ｍｓ遅れている。また、計測用レスポンスパケット２０１〜２０４のパケット間の隙間を含む総受信時間Ｔｂ１は４０００ｎｓであり、図３の場合のＴｂ（＝２０００ｎｓ）より２０００ｎｓ長くなっている。
【００６５】
つまり、復路では外部のデータトラフィックの影響を受けたことで、スレーブ装置２から隙間なく送信された計測用レスポンスパケット２０１〜２０４が、マスター装置１では先頭の計測用レスポンスパケット２０１の到達が遅れ、かつ隣り合う計測用レスポンスパケットの間に隙間がある状態で受信されている。
【００６６】
マスター装置１では、計測用レスポンスパケット２０１〜２０４から抽出した計測用リクエストパケット１０１〜１０４の総受信時間Ｔａを表す情報と、自身が計測した計測用レスポンスパケット２０１〜２０４の総受信時間Ｔｂ１とから、以後リクエスト生成部１１０が発行するデータ通信用リクエストパケットの発行間隔を演算する。発行間隔の演算の具体例については後述する。
【００６７】
〈中継装置内に外部のデータトラフィックのパケットがあるとき〉
図７は、本発明の実施形態に係る通信システムにおいて、中継装置内に外部のデータトラフィックのパケットがある状態を示す図であり、図８は、図７におけるパケット転送のタイミングを示す図である。これらの図に示す状態およびタイミングになるとき、図６に示した往復の転送遅延時間に差がない計測用パケットの転送状態になる。
【００６８】
図７に示すように、バッファ３５の内部状態は図４と同じである。すなわち、マスター側受信ポートから入力された４つの計測用リクエストパケット１０１〜１０４のみが保持されており、他の受信ポートからの外部のデータトラフィックのパケットは保持されていない。
【００６９】
この場合、計測用リクエストパケット１０１〜１０４がマスター側受信ポートから入力されてから、スレーブ側送信ポートへ出力されるまで、他のデータトラフィックの影響を受けない。
【００７０】
このため、図８に示すように、４つの計測用リクエストパケット１０１〜１０４が、マスター側受信ポートで隙間なく受信され、総転送時間ｔａ（＝２０００ｎｓ）でスレーブ側送信ポートへ隙間なく送信される。
【００７１】
これに対して、バッファ３６内には、他の受信ポートからの外部のデータトラフィックのパケット３０１〜３０４と、スレーブ側受信ポートからの計測用レスポンスパケット２０１〜２０４とが交互に格納され、保持されている。
【００７２】
この状態は、スレーブ装置２から隙間なく送信された計測用レスポンスパケット２０１〜２０４が中継装置３に入力するときには、外部のデータトラフィックのパケット３０１〜３０４のパケット転送が割り込んでくるために生ずる。
【００７３】
この状態からバッファ３６内の計測用レスポンスパケット２０１〜２０４をマスター側送信ポートから出力するとき、図８に示すように、計測用レスポンスパケット２０１〜２０４と、外部のデータトラフィックのパケット３０１〜３０４とが交互に出力されるため、計測用レスポンスパケット２０１〜２０４の総転送時間ｔｂ１はｔｂ（＝２０００ｎｓ）よりも２０００ｎｓ長い４０００ｎｓとなる。また、各計測用リクエストパケット１０１〜１０４の入力開始時刻から、それらに対応する計測用レスポンスパケット２０１〜２０４の出力開始時刻までの遅延時間Ｔｄ５、Ｔｄ６、Ｔｄ７、Ｔｄ８は、Ｔｄ５＜Ｔｄ６＜Ｔｄ７＜Ｔｄ８となり、一定の値にならない。
【００７４】
従って、データ転送を繰り返していると、図９に示すように、横軸に計測用レスポンスパケットの受信時刻、縦軸に計測用リクエストパケットの送信時刻から計測用レスポンスパケットの受信時刻までの転送遅延時間をとったグラフのように、転送遅延時間に大きな揺らぎを生じてしまうことになる。
【００７５】
また、計測用レスポンスパケット２０１〜２０４の総転送時間Ｔｂ１は、計測用レスポンスパケット２０１〜２０４自身の総転送時間Ｔｂ（＝２０００ｎｓ）に加えて、交互に割り込んでくる外部のデータトラフィックのパケット３０１〜３０４の総転送時間２０００ｎｓ（＝５００ｎｓ×４）が必要となり、往路の２倍の総転送時間がかかることになる。つまり、往路と復路のパケット転送の遅延時間に偏りがある中継装置では、その偏りがあることを、複数の連続した計測レスポンスパケットの総受信時間の偏りによって推定することができる。
【００７６】
そこで、マスター装置１では、計測用レスポンスパケット２０１〜２０４から抽出した計測用リクエストパケット１０１〜１０４の総受信時間Ｔａを表す情報と、自身が計測した計測用レスポンスパケット２０１〜２０４の総受信時間Ｔｂ，Ｔｂ１とから、以後リクエスト生成部１１０が発行するデータ通信用リクエストパケットの発行間隔を演算し、その間隔で各種リクエストパケットを発行することで、パケット転送の遅延時間の偏りを低減する。以下、図１０および図１１を用いて詳細に説明する。
【００７７】
〈パケットの総受信時間に基づくリクエストパケットの送信間隔の設定〉
図１０、図１１は、それぞれ本発明の実施形態に係る通信システムにおけるマスター装置、スレーブ装置の動作を示すフローチャートである。以下、マスター装置の動作、スレーブ装置の動作の順に説明する。
【００７８】
《マスター装置の動作》
マスター装置１は、図１０に示すフローを任意の周期で実行する。まずリクエスタ１１内のリクエスト生成部１１０は、ネットワークＩ／Ｆ１２へリクエストパケットを隙間なく連続して送信する（ステップＳ１０１）。
【００７９】
リクエスタ１１内のレスポンス受信部１１１は、ネットワークＩ／Ｆ１２から連続してレスポンスパケットを受信するまで、その受信を監視する（ステップＳ１０２：No→ステップＳ１０２）。
【００８０】
そして、連続してレスポンスパケットを受信すると（ステップＳ１０２：Yes）、レスポンスパケットの受信開始時刻（図３のＴ４、図６のＴ５に対応）を記録する（ステップＳ１０３）。
【００８１】
次に全てのレスポンスパケットを受信するまで、その受信を監視する（ステップＳ１０４：No→ステップＳ１０４）。そして、受信したら（ステップＳ１０４：Yes）、そのレスポンスパケットの受信開始時刻からの経過時間より、レスポンスパケットの総受信時間（図３を参照して説明したＴｂ、図６を参照して説明したＴｂ１に対応）を記録し（ステップＳ１０５）、レスポンスパケットから、スレーブ装置２におけるリクエストパケットの総受信時間（図３を参照して説明したＴａ、図６を参照して説明したＴａに対応）を表す情報を読み出して記録する（ステップＳ１０６）。
【００８２】
次にリクエスタ１１内の発行間隔演算部１１１ａは、スレーブ装置２におけるリクエストパケットの総受信時間と、レスポンスパケットの総受信時間のうちの長い方を、連続して送信したリクエストパケットの数で割った値を、スレーブ装置２のメモリ２３からのデータ読み出し用のリクエストパケットの発行間隔とする（ステップＳ１０７）。次いでリクエスタ１１は、スレーブ装置２におけるリクエストパケットの総受信時間を、連続して送信したリクエストパケットの数で割った値を、スレーブ装置２のメモリ２３に対するデータ書き込み用のリクエストパケットの発行間隔とする（ステップＳ１０８）。
【００８３】
ここで、スレーブ装置２からのデータ読み出し用のリクエストパケットの発行間隔を、スレーブ装置２におけるリクエストパケットの総受信時間と、レスポンスパケットの総受信時間のうちの長い方に対応させ、スレーブ装置２に対するデータ書き込み用のリクエストパケットの発行間隔をスレーブ装置２におけるリクエストパケットの総受信時間に対応させる理由を説明する。
【００８４】
まずデータ読み出しの場合は、往路でのリクエストパケットの転送と、復路でのレスポンスパケットの転送がある。このため、往路と復路のうち、隙間なく連続送信された複数のリクエストパケットの総受信時間が長い、換言すれば転送遅延時間が長い方を選択することで、過剰なリクエストパケットが中継装置３，４内に溜まることに起因する転送遅延時間の揺らぎを低減する。
【００８５】
また、データ書き込みの場合は、往路でのリクエストパケットの転送があるのみで、復路でのレスポンスパケットの転送はない。このため、往路の転送遅延時間に対応させることで、復路の転送遅延時間が長い場合に、データ書き込み用のリクエストパケットの転送レートの低下を抑えることができる。
【００８６】
次に、レスポンス受信部１１１は、リクエストパケットの発行間隔を表す情報をリクエスト生成部１１０に通知する（ステップＳ１０９）。リクエスト生成部１１０は通知された情報を保持する。
【００８７】
次にリクエスト生成部１１０は、保持している情報を用いて、発行間隔を空けて複数のリクエストパケットを生成し、ネットワークＩ／Ｆ１２へ送信する（ステップＳ１１０）。
【００８８】
次の計測タイミングになるまでステップＳ１１０を実行し（ステップＳ１１１：No→ステップＳ１１０）、次の計測タイミングになったら（ステップＳ１１１：Yes）、ステップＳ１０１から繰り返す。
【００８９】
《スレーブ装置の動作》
レスポンダ２１内のリクエスト受信部２１０は、ネットワークＩ／Ｆ２２から連続してリクエストパケットを受信したか否かを判定する（ステップＳ２０１）。そして、受信したときは（ステップＳ２０１：Yes）、リクエストパケットの受信開始時刻（図３のＴ２、図６のＴ２に対応）を記録する（ステップＳ２０２）。
【００９０】
次にリクエスト受信部２１０は、全てのリクエストパケットを受信するまで、その受信を監視する（ステップＳ２０３：No→ステップＳ２０３）。そして、受信したら（ステップＳ２０３：Yes）、時間計測部２１０ａは、受信開始時刻からの経過時間である総受信時間（図３を参照して説明したＴａ、図６を参照して説明したＴａに対応）を計測し、レスポンス生成部２１１に渡す（ステップＳ２０４）。
【００９１】
次いでレスポンス生成部２１１は、時間計測部２１０ａから受け取った総受信時間を表す情報を記録したレスポンスパケットを生成して、ネットワークＩ／Ｆ２２へ送信する（ステップＳ２０５）。ネットワークＩ／Ｆ２２は、そのレスポンスパケットをマスター装置１へ送信する。
【００９２】
ステップＳ２０１で受信しないと判定したときは（ステップＳ２０１：No）、ネットワークＩ／Ｆ２２からリクエストパケットを受信する（ステップＳ２０６）。このとき受信したリクエストパケットは１個であり、例えば図１を参照して説明した一般的な通信動作におけるデータ読み出しリクエストパケットである。次にリクエストされた処理を実行した後、レスポンス生成部２１１がレスポンスパケットを生成して、ネットワークＩ／Ｆ２２へ送信する（ステップＳ２０７）。ネットワークＩ／Ｆ２２は、そのレスポンスパケットをマスター装置１へ送信する。
【００９３】
ステップＳ２０５またはステップＳ２０７を実行した後、ステップＳ２０１からの処理を繰り返す。
【００９４】
〈送信間隔を調整したパケット転送〉
図１２は、本発明の実施形態に係る通信システムにおいて、送信間隔（発行間隔）を調整したパケット転送を示すタイミング図である。
【００９５】
この図は、図１０のステップＳ１０５で記録した４つのレスポンスパケットの総受信時間が４０００ｎｓ（図６を参照して説明したＴｂ１に対応）、ステップＳ１０６で読み出して記録した４つのリクエストパケットの総受信時間が２０００ｎｓ（図３を参照して説明したＴａ、図６を参照して説明したＴａに対応）の場合に、ステップＳ１０７で設定したパケット間隔ｔｅをＴｂ１／４＝１０００ｎｓとした場合のタイミング図である。
【００９６】
図示のように、予め外部のデータトラフィックのパケットによって計測用レスポンスパケットの間隔が広がった状態に合わせて、データ通信用リクエストパケット１１１〜１１４の発行間隔を空けている。このため、中継装置３が４つのデータ通信用リクエストパケット１１１〜１１４を転送するのに要する総転送時間ｔａ１は４０００ｎｓ（＝１００ｎｓ×４）となる。
【００９７】
スレーブ装置２は、データ通信用リクエストパケット１１１〜１１４の受信に応じて、データ通信用レスポンスパケット２１１〜２１４を順次発行する。従って、データ通信用レスポンスパケット２１１〜２１４の発行間隔も１０００ｎｓとなる。
【００９８】
また、中継装置３が４つのデータ通信用レスポンスパケット２１１〜２１４を転送するのに要する総転送時間ｔｂ２は外部のデータトラフィックのパケット３１１〜３１４がデータ通信用レスポンスパケット２１１〜２１４と競合して交互に転送されても４０００ｎｓとなる。
【００９９】
このため、各データ通信用リクエストパケット１１１〜１１４の入力時刻から対応するデータ通信用レスポンスパケット２１１〜２１４の出力時刻までかかる遅延時間Ｔｄ９、Ｔｄ１０、Ｔｄ１１、Ｔｄ１２は等しくなり、転送遅延時間の揺らぎを抑制することができる。
【０１００】
従って、連続してリクエストパケットを発行した場合、図１３に示すように、転送遅延時間の揺らぎを抑制することができる。
【０１０１】
なお、以上説明した実施形態では、データ通信用リクエストパケットの送信間隔を調整するために、専用の計測用リクエストパケットと、それに対応する計測用レスポンスパケットを送受信し、双方の総受信時間およびパケット数からデータ通信用リクエストパケットの送信間隔を算出しているが、データ通信用リクエストパケットと、それに対応するデータ通信用レスポンスパケットを送受信し、双方の総受信時間およびパケット数から以後のデータ通信用リクエストパケットの送信間隔を算出することもできる。
【０１０２】
また、以上説明した実施形態では、複数の計測用リクエストパケットの隙間、複数の計測用レスポンスパケットの隙間をともにゼロ、すなわち「パケット間隔＝パケット長」として送信しているが、パケット長未満の一定の隙間を空けて送信してもよい。
【０１０３】
また、以上説明した実施形態では、計測用リクエストパケットの送信数と、計測用レスポンスパケットの送信数を同じにしたが、転送方向による転送時間のゆらぎの頻度や変動の幅に応じて、両者の数を異ならせることもできる。図１４は、その場合の転送状態を示す図である。
【０１０４】
この図は、リクエストパケットの転送方向の往路では殆ど転送時間に揺らぎが生じないが、レスポンスパケットの転送方向の復路では他のデータのトラフィックの影響で揺らぎを生じやすいネットワークを想定した例である。
【０１０５】
図示のように、計測用リクエストパケット１２１，１２２の個数は２個と少なくしているのに対して、計測用レスポンスパケット２２１〜２２４は４個と、計測用リクエストパケットよりも多い数を連続して送信している。このため、スレーブ装置２で計測用リクエストパケット１２１，１２２を受信したときの総受信時間は図３や図６の場合の半分の１０００ｎｓとなる。
【０１０６】
このような連続して送信する計測用リクエストパケットと計測用レスポンスパケットの数が異なる場合は、例えばその数を表す情報を計測用リクエストパケットや計測用レスポンスパケットに含めることで、マスター装置１、スレーブ装置２が、何個のパケット受信で総受信時間を計測すればよいかを検出できるようになる。また、予め計測用リクエストパケットと計測用レスポンスパケットの連続送信数の仕様を決めて、マスター装置１、スレーブ装置２の双方に記憶させておいてもよい。 
【０１０７】
その他の動作については、図６のような計測用リクエストパケットと計測用レスポンスパケットが同数の例と同様である。 
【符号の説明】
【０１０８】
１…マスター装置、２…スレーブ装置、１１…リクエスタ、１２，２２…ネットワークＩ／Ｆ、２１…レスポンダ、１１０…リクエスト生成部、１１１…レスポンス受信部、１１１ａ…発行間隔演算部、２１０…リクエスト受信部、２１０ａ…時間計測部、２１１…レスポンス生成部。
【先行技術文献】
【特許文献】
【０１０９】
【特許文献１】特開２０００−２４４５７４号公報
【図１】
2016019146.tif 000003
【図２】
2016019146.tif 000004
【図３】
2016019146.tif 000005
【図４】
2016019146.tif 000006
【図５】
2016019146.tif 000007
【図６】
2016019146.tif 000008
【図７】
2016019146.tif 000009
【図８】
2016019146.tif 000010
【図９】
2016019146.tif 000011
【図１０】
2016019146.tif 000012
【図１１】
2016019146.tif 000013
【図１２】
2016019146.tif 000014
【図１３】
2016019146.tif 000015
【図１４】
2016019146.tif 000016