(58)【調査した分野】(Int.Cl.,DB名)
前記送信部は、自装置の判定結果がゼロよりも大きい場合、前記データの送信間隔を現在の送信間隔よりも短くし、自装置の判定結果がゼロよりも小さい場合、前記データの送信間隔を現在の送信間隔よりも長くする、
請求項1に記載の中継装置。
前記送信部は、前記中継装置の判定結果がゼロよりも大きい場合、前記データの送信間隔を現在の送信間隔よりも短くし、前記中継装置の判定結果がゼロよりも小さい場合、前記データの送信間隔を現在の送信間隔よりも長くする、
請求項7に記載のシステム。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施の形態について説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明を省略する。
【0015】
[実施の形態1]
実施の形態1に係るシステムの概要を説明する。
図1は、実施の形態1に係るシステムを例示するブロック図である。
【0016】
図1に示すように、システム10は、前段装置12と、前段装置12と通信する後段装置13と、前段装置12の通信を後段装置13に中継する中継装置11と、を備える。前段装置12と後段装置13のそれぞれは、中継装置11と同一の機能を有する。前段装置12と後段装置13の説明は中継装置11と重複するので、それらの説明を省略する。
【0017】
中継装置11は、受信部111と、検出部112と、算出部113と、送信部114と、基準クロック生成部115と、を備える。
【0018】
受信部111は、前段装置12からデータを受信する。
【0019】
検出部112は、前段装置12のクロックの周波数偏差と中継装置11のクロックの周波数偏差との差分X1を検出する。また、検出部112は、差分X1を検出すると共に前段装置12の判定結果X3aを検出する。
【0020】
算出部113は、前段装置12の判定結果X3aから差分X1を差し引いて中継装置11の判定結果X3を算出する。
【0021】
送信部114は、中継装置11の判定結果X3に基づいてデータの送信間隔を調整する。また、送信部114は、調整されたデータと、中継装置11の判定結果X3と、を後段装置13に送信する。
【0022】
具体的には、送信部114は、中継装置11の判定結果X3がゼロよりも大きい場合、データの送信間隔を現在の送信間隔よりも短くする。また、送信部114は、中継装置11の判定結果X3がゼロよりも小さい場合、データの送信間隔を現在の送信間隔よりも長くする。
【0023】
尚、算出部を判定結果算出部と称することもある。また、前段装置を前段中継装置と称し、後段装置を後段中継装置と称することもある。判定結果を、クロック偏差調整情報と称することもある。
【0024】
実施の形態1に係るシステムの詳細を説明する。
図2は、実施の形態1に係るシステムを例示するブロック図である。
【0025】
図2に示すように、中継装置11の受信部111は、シリアルーパラレル変換部1111を有する。検出部112は、クロック偏差検出部1121と判定結果検出部1122とを有する。送信部114は、出力データ生成部1142とパラレルーシリアル変換部1141とを有する。中継装置11は、前段装置12から入力されたデータを後段装置13に出力する。
【0026】
尚、シリアルーパラレル変換部をS/P変換部と称し、パラレルーシリアル変換部をP/S変換部と称することもある。
【0027】
シリアルーパラレル変換部1111は、前段装置12から入力されたシリアルデータを、中継装置11の内部で処理する複数のパラレルデータに変換する。また、シリアルーパラレル変換部1111は、シリアルデータを元にしてクロックC12を再生する。この再生されたクロックC12は、前段装置12のクロックである。
【0028】
クロック偏差検出部1121は、シリアルーパラレル変換部1111においてシリアルデータから再生されたクロックC12の周波数偏差と中継装置11の基準となるクロックC11の周波数偏差とを比較し、それらの差分X1を検出する。すなわち、検出部112は、シリアルデータから再生されたクロックC12の周波数偏差から中継装置11のクロックC11の周波数偏差を差し引いて差分X1を検出する。クロック偏差検出部1121は、検出した差分X1を判定結果算出部113に通知する。判定結果算出部を送信間隔判定部と称することもある。
【0029】
判定結果検出部1122は、前段装置12から入力されたデータから、前段装置12の判定結果X3aを検出する。
【0030】
具体的には、前段装置12と中継装置11との間で、判定結果X3aの値と専用パケットとの対応付けを予め決めておく。専用パケットの代わりに特殊パターンのパケットを使用してもよい。判定結果検出部1122は、受信された専用パケット又は特殊パターンのパケットから、それに対応した判定結果X3aの値を検出する。判定結果検出部1122は、検出した判定結果X3aを判定結果算出部113に通知する。
【0031】
判定結果算出部113は、クロック偏差検出部1121が検出した差分X1と、判定結果検出部1122が検出した前段装置12の判定結果X3aと、に基づいてデータの送信間隔を制御(調整)するための中継装置11の判定結果X3を算出する。具体的には、判定結果算出部113は、前段装置12の判定結果X3aから差分X1を差し引いて中継装置11の判定結果X3を算出する。中継装置11の判定結果X3は、出力データ生成部1142に通知される。
【0032】
中継装置11は、前段装置12の判定結果X3aを中継装置11の調整分X2とする。中継装置11の判定結果X3は、中継装置11の調整分X2と中継装置11の差分X1とを使用して下記の式で表すことができる。判定結果を、パケット送信間隔判定結果と称することもある。
【数1】
(1)
【0033】
また、中継装置11の調整分X2と前段装置12の判定結果X3aとの関係は、下記の式で表すことができる。
【数2】
(2)
【0034】
中継装置11の判定結果X3は、前段装置12の判定結果X3aと中継装置11の差分X1とを使用して下記の式で表すことができる。
【数3】
(3)
【0035】
ここで、中継装置11の判定結果X3について具体例を挙げて説明する。
図3は、実施の形態1に係るシステムのクロックの周波数偏差と判定結果を例示する模式図である。
図3に示す前段装置12と後段装置13は、中継装置11と同一機能を有する。
【0036】
図3に示すように、送信装置のクロックの周波数偏差が+10ppm(ピーピーエム)であり、送信装置に接続された前段装置12のクロックの周波数偏差が+30ppmであるものとする。また、前段装置12に接続された中継装置11のクロックの周波数偏差が−80ppmであるものとする。また、中継装置11に接続された後段装置13のクロックの周波数偏差が−10ppmであり、後段装置13に接続された受信装置のクロックの周波数偏差が−10ppmであるものとする。
【0037】
送信装置の判定結果X3dは、送信装置を基準とするので、0ppmである。このように、装置がデータの送信元の装置である場合、該装置の判定結果X3dはゼロである。
【0038】
前段装置12の差分X1aは、送信装置のクロックの周波数偏差と前段装置12のクロックの周波数偏差との差分なので、+20ppmと算出される。前段装置12の調整分X2aは送信装置の判定結果X3dとする、すなわち、調整分X2aは判定結果X3dと同じなので、0ppmである。前段装置12の判定結果X3aは、前段装置12の調整分X2aから差分X1aを差し引いて、−20ppmと算出される。
【0039】
中継装置11の差分X1は、前段装置12のクロックの周波数偏差と中継装置11のクロックの周波数偏差との差分なので、−110ppmと算出される。中継装置11の調整分X2は、前段装置12の判定結果X3aと同じ(式(2)参照)なので、−20ppmである。中継装置11の判定結果X3は、中継装置11の調整分X2から差分X1を差し引いて(式(1)参照)、+90ppmと算出される。
【0040】
中継装置11は、算出された判定結果X3に従い、クロック載せ替え後のデータに対して、+90ppm分の補正を行う。具体的には、中継装置11は、データ(パケット)の送信間隔を、(100万分の90)の割合だけ短くする。
【0041】
これにより、中継装置11は、データの送信間隔を、送信装置の送信間隔(相当)に合わせることができる。また、中継装置11は、広い送信間隔と狭い送信間隔とが混在しないようにすることができる。
【0042】
前段装置12は中継装置11と同様にX3a、すなわち、−20ppmの補正を行う。また、後段装置13は中継装置11と同様にX3b、すなわち、+20ppmの補正を行う。前段装置12の補正と中継装置11の補正と後段装置13の補正により、受信装置は、送信装置が送信したデータの送信間隔と同等の受信間隔でデータを受信することができる。そして、システム10は、中継装置11が挿入されたことによるデータの送信間隔の変化の影響を低減し、データ損失(パケットロス)の発生を低減することができる。
【0043】
ここで、
図2に戻り説明を続ける。送信部114は、出力データ生成部1142と、パラレルーシリアル変換部1141と、を有する。出力データ生成部1142は、シリアルーパラレル変換部1111から入力されたパラレルデータを、再生されたクロックC12から中継装置11の基準となるクロックC11にクロック載せ替え処理を行う。
【0044】
出力データ生成部1142は、クロック載せ替え処理と共に、判定結果算出部113が算出した判定結果X3に基づいてデータの送信間隔の調整を行い、調整したデータをパラレルーシリアル変換部1141に出力する。
【0045】
出力データ生成部1142は、中継装置11の判定結果X3を、調整したデータと共にパラレルーシリアル変換部1141に出力する。出力データ生成部1142は、判定結果X3を通知するための専用パケット又は特殊パターンをデータに挿入し、パラレルーシリアル変換部1141に出力する。判定結果を、クロック偏差調整情報と称することもある。
【0046】
パラレルーシリアル変換部1141は、出力データ生成部1142から入力されたパラレルデータをシリアルデータ変換し、変換されたシリアルデータを後段装置13に出力する。
【0047】
実施の形態1に係る中継装置11は、前段装置12の判定結果X3aから、前段装置12のクロックの周波数偏差と中継装置11のクロックの周波数偏差との差分X1を差し引き、これを中継装置11の判定結果X3とする。また、中継装置11は、判定結果X3に基づいてデータの送信間隔を調整し、調整されたデータと、判定結果X3と、を後段装置13に送信する。
【0048】
これにより、中継装置11は、データの送信間隔を、前段装置12のデータの送信間隔に合わせることができる。また、実施の形態1に係るシステム10が送信装置と複数の中継装置と受信装置とを有する場合、複数の中継装置のそれぞれが自装置の送信するデータの送信間隔を、前段装置が送信するデータの送信間隔に合わせることができる。これにより、受信装置は、送信装置が送信したデータの送信間隔と同等の受信間隔で、データを受信することができる。中継装置11は、広い送信間隔と狭い送信間隔とが混在しないようにすることができる。
【0049】
その結果、中継装置を介してデータ通信を行う際、データ損失を低減することが可能な中継装置、システム、方法及びプログラムを提供することができる。
【0050】
また、実施の形態1に係る中継装置11は、クロックの周波数偏差によるデータ損失を低減することにより、データの再送回数を低減することができる。これにより、データを伝送する際の遅延時間を短縮し、トラフィック量を低減し、通信品質を向上することができる。
【0051】
尚、実施の形態1においては、システム10が前段装置12と中継装置11と後段装置13とを含むものを例に挙げて説明したが、これには限定されない。システム10が、複数の中継装置を含み、複数の中継装置のそれぞれが中継装置11と同一の機能を有する構成でもよい。
【0052】
[実施の形態2]
図4は、実施の形態2に係るシステムを例示するブロック図である。
【0053】
実施の形態1に係るシステム10は、前段装置12のクロックC12の周波数偏差と中継装置11のクロックC11の周波数偏差との差分X1を使用してデータの送信間隔を制御した。すなわち、システム10は、クロックC11とクロックC12の周波数偏差に基づいてデータの送信間隔を制御した。
【0054】
実施の形態2に係るシステム20は、実施の形態1に係るシステム10と比べて、クロック載せ替えバッファの状態を使用してデータの送信間隔を制御する点が異なる。
【0055】
図4に示すように、送信部214の出力データ生成部2142は、中継装置21のクロックを載せ替えるためのバッファ2142bを有する。このバッファを、クロック載せ替えバッファと称することもある。出力データ生成部2142は、実施の形態1に係る中継装置11の出力データ生成部1142が有する機能に加えて、クロック載せ替え用のバッファ2142bのバッファ滞留量の増減を判定する機能をさらに有する。また、出力データ生成部2142は、バッファ滞留量の増減を検出部212に通知する機能をさらに有する。
【0056】
出力データ生成部1142が有する機能とは、クロック載せ替え機能とデータの送信間隔の調整機能と判定結果X3(クロック偏差調整情報)の通知機能である。
【0057】
検出部212は、出力データ生成部2142から通知されたバッファ滞留量を検出するバッファ滞留量検出部2123を有する。
【0058】
出力データ生成部2142は、バッファ2142bの滞留量が増減する度に、バッファ滞留量の増減通知(増加通知と減少通知)をバッファ滞留量検出部2123に通知する。バッファ滞留量検出部2123は、バッファ2142bに滞留しているデータの滞留量の増減通知の増減発生間隔に基づいて中継装置21のクロックの周波数偏差X6を検出する。バッファ滞留量検出部2123は、例えば、所定期間において増加通知が減少通知よりも多い場合、周波数偏差X6はゼロよりも大きいと検出する。また、バッファ滞留量検出部2123は、例えば、所定期間において増加通知が減少通知よりも少ない場合、周波数偏差X6はゼロよりも小さいと検出する。
【0059】
バッファ滞留量検出部2123は、検出したクロックの周波数偏差X6を判定結果算出部213に通知する。
【0060】
バッファ滞留量検出部2123は、500000クロックに対して、クロック載せ替え用のバッファ2142bのバッファ滞留量が1クロック分だけ減少した場合、クロックの周波数偏差X6を、−2ppm(ピーピーエム)と検出(判断)する。
【0061】
判定結果算出部213は、前段装置12の判定結果X3aから中継装置21の周波数偏差X6を差し引いて中継装置11の判定結果X3を算出する。すなわち、判定結果算出部213は、中継装置11の判定結果X3を算出する際、差分X1の代わりに周波数偏差X6を使用する。
【0062】
[実施の形態3]
図5は、実施の形態3に係るシステムを例示するブロック図である。
【0063】
図5に示すように、実施の形態3に係るシステム30においては、中継装置31は、中継装置32と中継装置33とに接続され、双方向のデータ通信を行う。中継装置31は、中継装置32から送信された順方向デ−タを中継装置33に出力する。また、中継装置31は、中継装置33から送信された逆方向データを中継装置32に出力する。中継装置31が中継装置32に出力する逆方向データの処理は、中継装置31が中継装置33に出力する順方向データの処理と同様なので、この説明の一部を省略する。また、中継装置32と中継装置33のそれぞれは、中継装置31と同様の機能を有する。
【0064】
実施の形態3に係る中継装置31は、実施の形態1に係る中継装置11と比べて、中継装置33のクロックの周波数偏差を考慮して、データの送信間隔を制御する点が異なる。尚、順方向データと逆方向データとをまとめてデータと称する。
【0065】
中継装置31は、受信部316と後段用検出部317とを有する。受信部316は、シリアルーパラレル変換部3161を有する。後段用検出部317は、クロック偏差検出部3171と判定結果検出部3172とを有する。
【0066】
中継装置31のシリアルーパラレル変換部3161は、中継装置33から送信された逆方向シリアルデータを中継装置31の内部で処理する複数の逆方向パラレルデータに変換する。また、シリアルーパラレル変換部3161は、逆方向シリアルデータを元に中継装置33のクロックC33を再生する。
【0067】
クロック偏差検出部3171は、シリアルーパラレル変換部3161で再生されたクロックC33の周波数偏差と中継装置31の基準となるクロックC31の周波数偏差とを比較し、それらの差分X4を検出する。差分X4は、後段装置である中継装置33のクロックC33の周波数偏差と中継装置31のクロックC31の周波数偏差との差分である。差分X4を後段差分と称することもある。
【0068】
クロック偏差検出部3171は、検出した差分X4を出力データ生成部3142に通知する。
【0069】
出力データ生成部3142は、判定結果算出部313の判定結果X3と後段用検出部317の差分X4と出力データ生成部3142が有するクロック載せ替え用のバッファ3142bのバッファ耐力とに基づいて順方向データの送信間隔を調整(決定)する。出力データ生成部3142は、調整した送信間隔で順方向データをパラレルーシリアル変換部3141に出力する。
【0070】
中継装置31の補正判定結果X5は、判定結果X3と差分X4とを使用して下記の式で表すことができる。
【数4】
(4)
【0071】
補正判定結果X5は、判定結果X3と差分X4との和を、ゼロから差し引いたものである。
【0072】
中継装置31は、補正判定結果X5がゼロよりも小さい場合、判定結果X3で補正した順方向データの送信間隔よりも中継装置33のクロックの方が遅いと判定する。
【0073】
中継装置31の送信部314は、補正判定結果X5がゼロよりも小さく、バッファ3142bの使用量がオーバーフローとなるバッファ閾値Bh未満の場合、順方向データの送信間隔を、判定結果X3と補正判定結果X5との和で補正する。バッファ3142bは、出力データ生成部3142のクロックを載せ替えるためのクロック載せ替えのためのバッファである。
【0074】
中継装置31の送信部314は、補正判定結果X5がゼロよりも小さく、バッファ3142bの使用量がオーバーフローとなるバッファ閾値Bhを超えた場合、順方向データの送信間隔を、判定結果X3で補正する。
【0075】
中継装置31は、補正判定結果X5がゼロよりも大きい場合、判定結果X3で補正した順方向データの送信間隔よりも中継装置33のクロックの方が早いと判定する。
【0076】
中継装置31の送信部314は、補正判定結果X5がゼロよりも大きく、バッファ3142bの使用量がオーバーフローとなるバッファ閾値Bh未満の場合、順方向データの送信間隔を、判定結果X3で補正する。
【0077】
中継装置31の送信部314は、補正判定結果X5がゼロよりも大きく、バッファ3142bの使用量がオーバーフローとなるバッファ閾値Bhを超えた場合、順方向データの送信間隔を、判定結果X3と補正判定結果X5との和で補正する。
【0078】
ここで、中継装置31の補正判定結果X5について具体例を挙げて説明する。
図6は、実施の形態3に係るシステムのクロックの周波数偏差と判定結果と補正判定結果とを例示する模式図である。
図6に示す中継装置31と、中継装置32と、中継装置33とは、同一機能を有する。
【0079】
図6に示すように、送信装置のクロックの周波数偏差が+10ppm(ピーピーエム)であり、送信装置に接続された中継装置32のクロックの周波数偏差が+70ppmであるものとする。また、中継装置32に接続された中継装置31のクロックの周波数偏差が+30ppmであるものとする。また、中継装置31に接続された中継装置33のクロックの周波数偏差が0ppmであり、中継装置33に接続された受信装置のクロックの周波数偏差が−20ppmであるものとする。
【0080】
送信装置の判定結果X3dは、送信装置を基準とするので、0ppmである。
【0081】
中継装置32の差分X1aは、前段装置である送信装置のクロックの周波数偏差と中継装置32のクロックの周波数偏差との差分なので、+60ppmと算出される。中継装置32の調整分X2aは、送信装置の判定結果X3dと同じなので、0ppmである。中継装置32の判定結果X3aは、中継装置32の調整分X2aから差分X1aを差し引いて、−60ppmと算出される。
【0082】
中継装置32の差分X4aは、中継装置32のクロックの周波数偏差と後段装置である中継装置31のクロックの周波数偏差との差分なので、+40ppmである。中継装置32の補正判定結果X5aは、判定結果X3aと差分X4aとの和を、ゼロから差し引いたものなので、+20ppmである。
【0083】
中継装置31の差分X1は、前段装置である中継装置32のクロックの周波数偏差と中継装置31のクロックの周波数偏差との差分なので、−40ppmと算出される。中継装置31の調整分X2は、中継装置32の判定結果X3aと同じなので、−60ppmである。中継装置31の判定結果X3は、中継装置31の調整分X2から差分X1を差し引いて、−20ppmと算出される。
【0084】
中継装置31の差分X4は、中継装置31のクロックの周波数偏差と後段装置である中継装置33のクロックの周波数偏差との差分なので、+30ppmである。中継装置31の補正判定結果X5は、判定結果X3と差分X4との和を、ゼロから差し引いたもの(式(4)参照)なので、−10ppmである。
【0085】
中継装置31の補正判定結果X5はゼロよりも小さい。中継装置31は、補正判定結果X5がゼロよりも小さく、バッファ3142bの使用量がバッファ閾値Bh未満の場合、クロック載せ替え後の順方向データに対して、判定結果X3と補正判定結果X5との和である、−30ppm分だけ送信間隔の補正を行う。
【0086】
中継装置31は、補正判定結果X5がゼロよりも小さく、バッファ3142bの使用量がバッファ閾値Bhを超えた場合、クロック載せ替え後の順方向データに対して、判定結果X3である、−20ppm分だけ送信間隔の補正を行う。
【0087】
中継装置33の補正判定結果X5bは、−30ppmでありゼロよりも小さい。中継装置33は、この場合、中継装置31と同様な動作を行う。すなわち、中継装置33は、補正判定結果X5bがゼロよりも小さく、バッファ3142bの使用量がバッファ閾値Bh未満の場合、クロック載せ替え後の順方向データに対して、判定結果X3bと補正判定結果X5bとの和の分だけ送信間隔の補正を行う。この場合の判定結果X3bと補正判定結果X5bとの和とは、−20ppmである。
【0088】
中継装置33は、補正判定結果X5bがゼロよりも小さく、バッファ3142bの使用量がバッファ閾値Bhを超えた場合、クロック載せ替え後の順方向データに対して、判定結果X3bである、+10ppm分だけ送信間隔の補正を行う。
【0089】
中継装置32の補正判定結果X5aは、+20ppmでありゼロよりも大きい。中継装置32は、補正判定結果X5aがゼロよりも大きく、バッファ3142bの使用量がバッファ閾値Bh未満の場合、クロック載せ替え後の順方向データに対して、判定結果X3aである、−60ppm分だけ送信間隔の補正を行う。
【0090】
中継装置32は、補正判定結果X5aがゼロよりも大きく、バッファ3142bの使用量がバッファ閾値Bhを超えた場合、クロック載せ替え後の順方向データに対して、判定結果X3aと補正判定結果X5aとの和の分だけ送信間隔の補正を行う。この場合の判定結果X3aと補正判定結果X5aとの和とは、−40ppmである。
【0091】
実施の形態3に係るシステム30においては、バッファ3142bの使用量がバッファ閾値Bh未満の場合とバッファ閾値Bhを超えた場合とで、順方向データの送信間隔の補正値を切替える。これにより、クロック載せ替えのためのバッファ3142bの耐力を向上させ、バッファ3142bがオーバーフローすることを抑制することができる。
【0092】
尚、上記の実施の形態では、本発明をハードウェアの構成として説明したが、本発明はこれに限定されるものではない。本発明は、各構成要素の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。
【0093】
上記の実施の形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実態のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM))、フラッシュROM、RAM(Random Access Memory)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0094】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。