(57)【要約】【課題】  安価な水晶時計等を使用しつつ、高精度の片方向遅延時間の測定を行う。【解決手段】  送信側装置は、受信側装置から通知された片方向遅延時間の計算結果を所定個数保持し、保持した所定個数の計算結果から遅延時間の時間変動の偏差を計算し、計算により得られた遅延時間の時間変動の偏差に基づき受信側装置から通知される片方向遅延時間を補正する。【選択図】  図７
2006340078.tif 000002
【特許請求の範囲】
【請求項１】
１つの送信側装置と１つの受信側装置との間のパケット通信に用いられ、前記送信側装置と前記受信側装置との間の片方向遅延時間に基づきネットワーク内の輻輳状態を推定し、当該推定結果に応じて前記送信側装置と前記受信側装置との間の通信速度を制御するフロー制御方法において、
前記送信側装置は、自装置内の時計に基づき送信時刻をパケットに刻印するステップを実行し、
前記受信側装置は、
自装置内の時計に基づいた前記パケットの受信時刻と前記パケットに刻印された送信時刻との差を計算することにより片方向遅延時間を計算する遅延計算ステップと、
この遅延計算ステップの計算結果を前記送信側装置に通知するステップと
を実行し、
前記送信側装置は、
前記受信側装置から通知された計算結果を所定個数保持するステップと、
保持した所定個数の計算結果から遅延時間の時間変動の偏差を計算する時間変動計算ステップと、
この時間変動計算ステップにより得られた遅延時間の時間変動の偏差に基づき前記受信側装置から通知される片方向遅延時間を補正するステップと
を実行することを特徴とするフロー制御方法。
【請求項２】
１つの送信側装置と複数の受信側装置との間のパケット通信に用いられ、前記送信側装置と前記受信側装置との間の片方向遅延時間に基づきネットワーク内の輻輳状態を推定し、当該推定結果に応じて前記送信側装置と前記受信側装置との間の通信速度を制御するフロー制御方法において、
前記送信側装置は、自装置内の時計に基づき送信時刻をパケットに刻印するステップを実行し、
前記受信側装置は、
自装置内の時計に基づいた前記パケットの受信時刻と前記パケットに刻印された送信時刻との差を計算することにより片方向遅延時間を計算する遅延計算ステップと、
この遅延計算ステップの計算結果を前記送信側装置に通知するステップと
を実行し、
前記送信側装置は、
複数の前記受信側装置から通知された計算結果を前記受信側装置毎にそれぞれ所定個数保持するステップと、
前記受信側装置毎にそれぞれ保持した所定個数の計算結果から前記受信側装置毎の遅延時間の時間変動の偏差をそれぞれ計算する時間変動計算ステップと、
この時間変動計算ステップにより得られた前記受信側装置毎の遅延時間の時間変動の偏差に基づき複数の前記受信側装置から通知される片方向遅延時間をそれぞれ補正するステップと
を実行することを特徴とするフロー制御方法。
【請求項３】
前記補正するステップにより補正された複数の片方向遅延時間の内で最も大きい値を通信速度制御に用いる値として抽出するステップを実行する請求項２記載のフロー制御方法。
【請求項４】
前記補正するステップにより補正された複数の片方向遅延時間の内で閾値以上の値を除いた最大の値を通信速度制御に用いる値として抽出するステップを実行する請求項２記載のフロー制御方法。
【請求項５】
前記送信側装置は、補正された片方向遅延時間が閾値以上となった前記受信側装置との通信を禁止する請求項４記載のフロー制御方法。
【請求項６】
前記時間変動計算ステップは、片方向遅延時間の時間変動の偏差を一次式として定式化するステップを実行する請求項１または２記載のフロー制御方法。
【請求項７】
前記一次式を導出する際に、最小二乗法を用いる請求項６記載のフロー制御方法。
【請求項８】
請求項１ないし７のいずれかに記載のフロー制御方法を実行する手段を備えた送信側装置。
【請求項９】
請求項１ないし７のいずれかに記載のフロー制御方法を実行する手段を備えた受信側装置。
【請求項１０】
情報処理装置にインストールすることにより、その情報処理装置に、請求項８記載の送信側装置または請求項９記載の受信側装置に相応する機能を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ(Internet Protocol)等を使用したパケット通信の通信速度を制御するためのフロー制御方法に関する。
【背景技術】
【０００２】
インターネットでは、ベストエフォートのプロトコルであるＩＰが使用されている。ＩＰの上位プロトコルとして、ＴＣＰ(Transmission Control Protocol)が使用されるのが一般的である。ＴＣＰにはデータの到達補償を行うための再送制御と通信速度の調整を行うフロー制御の機能がある。
【０００３】
ＴＣＰのフロー制御は、ウィンドウサイズ、すなわち送信側のバッファサイズの動的な変更を行う機構により実現されている。使用される目的は２つある。１つ目は、受信側のバッファサイズに合わせることにより受信側の能力に応じた通信速度を実現することにある。２つ目は、ネットワークの輻輳状態を回避する通信速度にすることにより輻輳回避制御を実現することにある。
【０００４】
２つ目の輻輳回避制御の機構としては、様々な方法が提案されて実装されている。一般的な輻輳回避制御方法としてＴＣＰ  Ｒｅｎｏと呼ばれる方法がある。ＴＣＰ  Ｒｅｎｏのフロー制御では、徐々にウィンドウサイズを大きくしていく、すなわち通信速度を上げていき、転送途中でデータのロスが発生すると、ウィンドウサイズを半分にするという制御を行う。
【０００５】
また、ＴＣＰ  Ｖｅｇａｓと呼ばれる方法もある。これは、送信側と受信側との間のＲＴＴ(Round Trip Time：往復遅延時間)を基準にして、ウィンドウサイズの制御を行う。これは、ネットワークが輻輳してくると、ネットワーク内のルータのキューに溜まっているデータ量が多くなり、遅延時間が大きくなるといった現象が観測され、この観測結果に基づきウィンドウサイズの制御を行う。これは、データロスの発生しない通信を実現することを目的としており、再送制御を行う回数が減少することで、スループットを向上させる制御といえる。
【０００６】
ＲＴＴの測定方法について、図１を参照して説明する。まず、送信側装置１が、送信側装置１に内蔵の時計２による時刻を刻印したパケット３を受信側に向けて送出する。パケット３はネットワークＮを通り受信側装置５に到達し、折り返し送信側装置１に向けて送出される。送信側装置１では帰って来たパケット４の到着時刻と、パケット４に刻印されている時刻とを比較してＲＴＴを計算する。
【０００７】
ＴＣＰ  ＶｅｇａｓはＴＣＰ  Ｒｅｎｏに比べて、スループットの安定性および遅延が少ない等利点が多い（ＴＣＰ  Ｖｅｇａｓのフロー制御方法の詳細に関しては、例えば、非特許文献１参照）。
【０００８】
【非特許文献１】Ｌ．Ｂｒａｋｍｏ，Ｌ．Ｐｅｔｅｒｓｏｎ，“ＴＣＰ  Ｖｅｇａｓ：Ｅｎｄ  ｔｏ  Ｅｎｄ  Ｃｏｎｇｅｓｔｉｏｎ  Ａｖｏｉｄａｎｃｅ  ｏｎ  ａ  Ｇｌｏｂａｌ  Ｉｎｔｅｒｎｅｔ”ＩＥＥＥ  Ｊｏｕｒｎａｌ  ｏｎ  Ｓｅｌｅｃｔｄ  Ａｒｅａｓ  ｉｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ，Ｖｏｌ１３，Ｎｏ．８，ｐｇ．１４６５−１４８０，Ｏｃｔｏｂｅｒ
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ＴＣＰ  Ｖｅｇａｓは、ＲＴＴといった往復遅延時間を利用しているが、ネットワーク内の輻輳状況を正確に表してはいない可能性がある。これは、復路の輻輳状態に応じて遅延時間が大きく変わってしまうからである。よって、ネットワーク内の輻輳状況を正確に表すためには、送信側から受信側の片方向遅延時間を利用して制御を行う方が望ましい。以降、本明細書では、片方向遅延時間をＯＷＴ(One Way trip Time)と記述する。
【００１０】
ＯＷＴの測定方法例を図２を参照して説明する。まず、送信側装置６が、送信側装置６に内蔵の時計７による時刻を刻印したパケット８を受信側装置１０に向けて送出する。パケット８はネットワークを通り受信側に到達する。到着したパケット８に刻印されている時刻と、受信側装置１０に内蔵の時計１１の時刻とを比較して片方向遅延時間（ＯＷＴ）を計算する。その計算結果を送信側装置６に対して送信する（パケット９）。
【００１１】
ＲＴＴは往復遅延時間のため、遅延時間を測定する時計が、送信側装置１の時計２となる。すなわち、送信した時刻および受信した時刻を同じ時計２で記録して遅延時間を測定する。一方、ＯＷＴを測定する場合は、送信した時刻を記録する時計が送信側装置６の時計７であり、受信した時刻を記録する時計が受信側装置１０の時計１１となり、記録する時計が異なる。これは、時計の精度が重要であることを意味する。
【００１２】
送信側装置６と受信側装置１０の時計７および１１の精度を高めるためには、例えば、送受の両方に、セシウムやルビジウムの時計を使用する方法が考えられる。例えば、ルビジウム時計の精度が±１０＾−１０とすると、送受の時計のずれは１日で０．０２ｍｓ程度である。遅延時間の絶対値が１ｍｓ以上のオーダであれば、２％以下の誤差であり、遅延時間の測定には充分な精度を有しており、例えば、１日１回、送受の時計を合わせるだけで充分である。
【００１３】
一般的に、ルビジウムやセシウムのクロックは高価であり、安価な水晶時計等を使用することが望ましい。しかし、水晶時計は、一般的に、精度が±１０＾−６程度である。この場合には、送受の時計のずれは１日で２００ｍｓ程度になり、上記のルビジウムと同じ精度で測定を行うためには、１０秒に１回以上の頻度で、送受の時計を合わせる必要がある。
【００１４】
以上のように、ＯＷＴの高精度の測定において使用する時計は、ルビジウムやセシウムの時計を用いる必要があり高価であるという問題がある。
【００１５】
本発明は、このような背景の下に行われたものであって、安価な水晶時計等を使用しつつ、高精度のＯＷＴの測定を行うことが可能なフロー制御を実現することを目的とする。
【課題を解決するための手段】
【００１６】
本発明における時計の精度の考え方について説明する。時計の精度は、気温等の外部要因で変化する可能性はあるが、環境が安定していればほぼ一定の偏差と考えられる。例えば、水晶時計で精度が±１０＾−６の場合には、２つの水晶時計間の偏差は、１００万分の２秒以内のある一定の値に収まる。
【００１７】
本発明では、上記のように送受２つの時計の偏差が一定であることを利用して時計の補正を行う。時間補正の方法を説明する。送受の時計を補正しないで、ＯＷＴの時間経過をプロットした例を図３に示す。図３は横軸に経過時間をとり、縦軸にＯＷＴをとる。ＯＷＴはネットワークの輻輳状態に応じて変動するが、経過時間とＯＷＴには、一定の相関関係が現れる。例えば、一次式（グラフ５０）
ｙ＝ａｘ＋ｂ
で記述できる。この一次式の傾きａが２つの時計の偏差となる。この情報を利用してＯＷＴの計算結果を補正する。
【００１８】
以上のように、時計補正を行ったＯＷＴの結果を利用したフロー制御を実現することが可能となる。
【００１９】
すなわち、本発明の第一の観点は、１つの送信側装置と１つの受信側装置との間のパケット通信に用いられ、前記送信側装置と前記受信側装置との間のＯＷＴに基づきネットワーク内の輻輳状態を推定し、当該推定結果に応じて前記送信側装置と前記受信側装置との間の通信速度を制御するフロー制御方法である。
【００２０】
ここで、本発明の特徴とするところは、前記送信側装置は、自装置内の時計に基づき送信時刻をパケットに刻印するステップを実行し、前記受信側装置は、自装置内の時計に基づいた前記パケットの受信時刻と前記パケットに刻印された送信時刻との差を計算することによりＯＷＴを計算する遅延計算ステップと、この遅延計算ステップの計算結果を前記送信側装置に通知するステップとを実行し、前記送信側装置は、前記受信側装置から通知された計算結果を所定個数保持するステップと、保持した所定個数の計算結果から遅延時間の時間変動の偏差を計算する時間変動計算ステップと、この時間変動計算ステップにより得られた遅延時間の時間変動の偏差に基づき前記受信側装置から通知されるＯＷＴを補正するステップとを実行するところにある。
【００２１】
あるいは、本発明は、１つの送信側装置と複数の受信側装置との間のパケット通信に用いられ、前記送信側装置と前記受信側装置との間のＯＷＴに基づきネットワーク内の輻輳状態を推定し、当該推定結果に応じて前記送信側装置と前記受信側装置との間の通信速度を制御するフロー制御方法である。
【００２２】
ここで、本発明の特徴とするところは、前記送信側装置は、自装置内の時計に基づき送信時刻をパケットに刻印するステップを実行し、前記受信側装置は、自装置内の時計に基づいた前記パケットの受信時刻と前記パケットに刻印された送信時刻との差を計算することによりＯＷＴを計算する遅延計算ステップと、この遅延計算ステップの計算結果を前記送信側装置に通知するステップとを実行し、前記送信側装置は、複数の前記受信側装置から通知された計算結果を前記受信側装置毎にそれぞれ所定個数保持するステップと、前記受信側装置毎にそれぞれ保持した所定個数の計算結果から前記受信側装置毎の遅延時間の時間変動の偏差をそれぞれ計算する時間変動計算ステップと、この時間変動計算ステップにより得られた前記受信側装置毎の遅延時間の時間変動の偏差に基づき複数の前記受信側装置から通知されるＯＷＴをそれぞれ補正するステップとを実行するところにある。
【００２３】
この際に、前記補正するステップにより補正された複数のＯＷＴの内で最も大きい値を通信速度制御に用いる値として抽出するステップを実行することができる。
【００２４】
これにより、最も輻輳状態に陥る可能性が高い伝送路を検出し、この伝送路が輻輳状態に陥らないような通信速度を設定することができる。
【００２５】
あるいは、前記補正するステップにより補正された複数のＯＷＴの内で閾値以上の値を除いた最大の値を通信速度制御に用いる値として抽出するステップを実行することもできる。
【００２６】
すなわち、複数のＯＷＴの内で最も大きい値に基づき通信速度制御を行うことは、輻輳を回避するという目的からして最も安全サイドに立った通信速度制御といえるが、その一方で、伝送路に障害等が発生したことが原因で、ＯＷＴが異常に大きくなった場合には、障害等が発生した伝送路の通信速度に、他の正常な伝送路の通信速度までもが統一されることになり、正しい通信速度制御ができない事態に陥る。
【００２７】
このような事態を回避するために、明らかに異常と思われるＯＷＴについては、これを無視するための閾値を設け、通信速度制御を行うことが望ましい。
【００２８】
さらに、前記送信側装置は、補正されたＯＷＴが閾値以上となった前記受信側装置との通信を禁止することができる。
【００２９】
これによれば、伝送路の障害等により明らかに異常と思われるＯＷＴとなった伝送路を用いて行う通信を禁止し、無効となる通信を無くすことができる。
【００３０】
また、前記時間変動計算ステップは、ＯＷＴの時間変動の偏差を一次式として定式化するステップを実行することができる。前記一次式を導出する際に、最小二乗法を用いることができる。このような簡単な手法を用いて本発明の特徴であるＯＷＴの補正を行うことができる。
【００３１】
本発明の第二の観点は、本発明のフロー制御方法を実行する手段を備えた送信側装置である。
【００３２】
また、本発明の第三の観点は、本発明のフロー制御方法を実行する手段を備えた受信側装置である。
【００３３】
また、本発明の第四の観点は、情報処理装置にインストールすることにより、その情報処理装置に、本発明の送信側装置または受信側装置に相応する機能を実現させるプログラムである。
【００３４】
本発明のプログラムは記録媒体に記録されることにより、前記情報処理装置は、この記録媒体を用いて本発明のプログラムをインストールすることができる。あるいは、本発明のプログラムを保持するサーバからネットワークを介して直接前記情報処理装置に本発明のプログラムをインストールすることもできる。
【００３５】
これにより、汎用の情報処理装置を用いて、本発明の送信側装置または受信側装置を実現することができる。
【発明の効果】
【００３６】
本発明によれば、水晶時計等の安価な時計を利用して、ＯＷＴによる高精度のフロー制御を実現することが可能となる。
【発明を実施するための最良の形態】
【００３７】
（第一実施例）
送信と受信とが１対１のパケット通信における本発明の第一実施例を図４ないし図８を参照して説明する。図４は送信と受信とが１対１のパケット通信の全体構成図である。図５は第一実施例の送信側装置のブロック構成図である。図６は第一実施例の受信側装置のブロック構成図である。図７は第一実施例のフロー制御を行うためのフローチャートである。図８はＯＷＴの経過時間変化を示した例であり、横軸に経過時間をとり、縦軸にＯＷＴをとる。
【００３８】
第一実施例は、図４に示すように、１つの送信側装置６０と１つの受信側装置７０との間のパケット通信に用いられ、送信側装置６０と受信側装置７０との間のＯＷＴに基づきネットワークＮ内の輻輳状態を推定し、当該推定結果に応じて送信側装置６０と受信側装置７０との間の通信速度を制御するフロー制御方法である。
【００３９】
ここで、第一実施例の特徴とするところは、送信側装置６０は、図５に示すように、自装置内の時計１３に基づきＯＷＴパケット生成部１５により送信時刻をパケットに刻印するステップを実行し、受信側装置７０は、図６に示すように、自装置内の時計２４に基づいた前記パケットの受信時刻と前記パケットに刻印された送信時刻との差をＯＷＴ演算部２５により計算することによりＯＷＴを計算する遅延計算ステップと、この遅延計算ステップの計算結果をＯＷＴ結果送信部２６により送信側装置６０に通知するステップとを実行し、送信側装置６０は、受信側装置７０から通知された計算結果をＯＷＴ結果保持部１９に所定個数保持するステップと、ＯＷＴ結果保持部１９に保持した所定個数の計算結果から遅延時間の時間変動の偏差を時間変動偏差演算部１７により計算する時間変動計算ステップと、この時間変動計算ステップにより得られた遅延時間の時間変動の偏差に基づき受信側装置７０から通知されるＯＷＴをＯＷＴ補正部１８により補正するステップとを実行するところにある。
【００４０】
以下では、第一実施例のフロー制御方法について詳細に説明する。
【００４１】
まず、図７のステップＳ１に示すように、送信側装置６０より、送信側装置６０の内蔵の時計１３で時刻を刻印したＯＷＴパケットをＯＷＴパケット生成部１５により生成し、出力バッファ２１に送り、出力部２３より出力する。
【００４２】
次に、ステップＳ２に示すように、送信側装置６０より送信されてきたＯＷＴパケットを受信側装置７０の入力部２９で受信し、入力バッファ２７に送る。
【００４３】
次に、ステップＳ３で示すように、ＯＷＴ演算部２５でＯＷＴを計算する。ＯＷＴ値は、受信側装置７０の内蔵の時計２４による時刻と、ＯＷＴパケットに刻印されている時刻との差分となる。
【００４４】
次に、ステップＳ４で示すように、ＯＷＴ結果送信部２６より、ＯＷＴの計算結果を刻印したパケットを生成し、出力バッファ２８に送り、出力部３０より、送信側装置６０に対して送信する。
【００４５】
次に、ステップＳ５に示すように、送信側装置６０の入力部２２でＯＷＴを計算した結果が刻印されたパケットを受信し、入力バッファ２０に送り、ＯＷＴ結果保持部１９で保持する。
【００４６】
次に、ステップＳ６に示すように、時間変動偏差演算部１７において、過去のＮ個のＯＷＴ値より時間変動の偏差を計算する。
【００４７】
時間変動の偏差を計算する方法としては、過去Ｎ個のＯＷＴ値を最小二乗法により一次式化する。その一次式を
ｙ＝ａｘ＋ｂ
とする。ｙ軸はＯＷＴであり、ｘ軸は経過時間を示す。係数ａが偏差であり、定数項ｂがＯＷＴの補正を行う際の基準時間におけるＯＷＴ値となる。すなわち、送信側装置６０と受信側装置７０の時間を合わせたときのＯＷＴ値となる。
【００４８】
また、過去のＮ個のＯＷＴ値から、直接一次式を求めるのではなく、ある一定期間のＯＷＴの平均値を求め、その平均値から一次式を求めてもよい。図８のグラフは、あるネットワークにおけるＯＷＴ値を、約１分毎の平均値を約２日間にわたってプロットした図である。また、グラフ３２はグラフ３１より、最小二乗法により求めた一次式のグラフとなる。
【００４９】
次に、ステップＳ７に示すように、ＯＷＴ補正部１８にてＯＷＴを補正する。補正方法としては、時間ｔにおけるＯＷＴ値をＯＷＴ［ｔ］、補正値をＯＷＴ′［ｔ］とした場合に、
ＯＷＴ′［ｔ］＝ＯＷＴ［ｔ］＋（ａｔ＋ｂ）
となる。
【００５０】
次に、ステップＳ７に示すように、通信速度演算部および制御部１４において、ＯＷＴ値に合わせて、通信速度を演算する。演算方法としては、ＴＣＰ  Ｖｅｇａｓと同様の方法として、輻輳が発生しない場合のＯＷＴ値をｂａｓｅＯＷＴとした場合に、
１−ｂａｓｅＯＷＴ／ＯＷＴ
の値に応じて決定する方法がある。
【００５１】
次に、ステップＳ８に示すように通信速度演算部および制御部１４において、ステップＳ７で演算された値に基づいて、通信速度の制御を行う。
【００５２】
（第二実施例）
送信と受信とが１対ｎのパケット通信における本発明の第二実施例を図９ないし図１１を参照して説明する。図９は送信と受信とが１対ｎのパケット通信の全体構成図である。図１０は第二実施例の送信側装置のブロック構成図である。第二実施例の受信側装置のブロック構成図は第一実施例の図６と共通である。図１１は第二実施例のフロー制御を行うためのフローチャートである。
【００５３】
第二実施例は、図９に示すように、１つの送信側装置６１と複数の受信側装置７０との間のパケット通信に用いられ、送信側装置６１と受信側装置７０との間のＯＷＴに基づきネットワークＮ内の輻輳状態を推定し、当該推定結果に応じて送信側装置６１と受信側装置７０との間の通信速度を制御するフロー制御方法である。
【００５４】
ここで、第二実施例の特徴とするところは、送信側装置６１は、図１０に示すように、自装置内の時計３３に基づきＯＷＴパケット生成部３６により送信時刻をパケットに刻印するステップを実行し、受信側装置７０は、図６に示すように、自装置内の時計２４に基づいた前記パケットの受信時刻と前記パケットに刻印された送信時刻との差をＯＷＴ演算部２５により計算することによりＯＷＴを計算する遅延計算ステップと、この遅延計算ステップの計算結果を送信側装置６１にＯＷＴ結果送信部２６により通知するステップとを実行し、送信側装置６１は、複数の受信側装置７０から通知された計算結果を受信側装置７０毎にそれぞれＯＷＴ結果保持部４０に所定個数保持するステップと、受信側装置７０毎にそれぞれＯＷＴ結果保持部４０に保持した所定個数の計算結果から受信側装置７０毎の遅延時間の時間変動の偏差をそれぞれ時間変動偏差演算部３８により計算する時間変動計算ステップと、この時間変動計算ステップにより得られた受信側装置７０毎の遅延時間の時間変動の偏差に基づき複数の受信側装置７０から通知されるＯＷＴをそれぞれＯＷＴ補正部３９により補正するステップとを実行するところにある。
【００５５】
このときに、ＯＷＴ値比較部３４により前記補正するステップにより補正された複数のＯＷＴの内で最も大きい値を通信速度制御に用いる値として抽出するステップを実行する。
【００５６】
本実施例では、さらに、ＯＷＴ値比較部３４は、前記補正するステップにより補正された複数のＯＷＴの内で閾値以上の値を除いた最大の値を通信速度制御に用いる値として抽出するステップを実行する。
【００５７】
そして、送信側装置６１の通信速度演算部および制御部３５は、補正されたＯＷＴが閾値以上となった受信側装置７０との通信を禁止するように通信制御を行う。
【００５８】
以下では、第二実施例のフロー制御方法について詳細に説明する。
【００５９】
まず、図１１のステップＳ９に示すように、送信側装置６１より、送信側装置６１の内蔵の時計３３で時刻を刻印したＯＷＴパケットをＯＷＴパケット生成部３６で生成し、出力バッファ４２に送り、出力部４４より出力する。
【００６０】
次に、ステップＳ１０に示すように、送信側装置６１より送信されてきたＯＷＴパケットを各受信側装置７０の入力部２９で受信し、入力バッファ２７に送る。
【００６１】
次に、ステップＳ１１で示すように、ＯＷＴ演算部２５でＯＷＴを計算する。ＯＷＴ値は、受信側装置７０の内蔵の時計２４による時刻と、ＯＷＴパケットに刻印されている時刻との差分となる。
【００６２】
次に、ステップＳ１２で示すように、ＯＷＴ結果送信部２６より、ＯＷＴの計算結果を刻印したパケットを生成し、出力バッファ２８に送り、出力部３０より、送信側装置６１に対して送信する。
【００６３】
次に、ステップＳ１３に示すように、送信側装置６１の入力部４３でＯＷＴを計算した結果が刻印されたパケットを受信し、入力バッファ４１に送り、ＯＷＴ結果保持部４０で保持する。
【００６４】
次に、ステップＳ１４に示すように、時間変動偏差演算部３８において、過去のＮ個のＯＷＴ値より時間変動の偏差を計算する。時間変動の偏差を計算する方法としては、第一実施例に記載した方法と同じである。
【００６５】
次に、ステップＳ１５に示すように、ｎ箇所の受信側装置７０から送信されてきたＯＷＴ値をＯＷＴ値比較部３４により比較する。比較方法としては、前述したように、最もＯＷＴ値が大きな値を選択する。あるいは、閾値以上の値を除いた最大のＯＷＴ値を選択する。
【００６６】
次に、ステップＳ１６に示すように、ＯＷＴ補正部３９にてＯＷＴ値を補正する。
【００６７】
次に、ステップＳ１７に示すように、通信速度演算部および制御部３５において、ＯＷＴ値に合わせて、通信速度を演算する。
【００６８】
次に、ステップＳ１８に示すように通信速度演算部および制御部３５において、ステップＳ１７で演算された値に基づいて、通信速度の制御を行う。
【００６９】
また、通信速度演算部および制御部３５は、ＯＷＴ値が閾値以上となった受信側装置７０との通信を禁止するように通信制御を行うこともできる。
【００７０】
（第三実施例）
第三実施例は、汎用の情報処理装置にインストールすることにより、その情報処理装置に本実施例の送信側装置または受信側装置に相応する機能を実現させるプログラムである。このプログラムは、記録媒体に記録されて情報処理装置にインストールされ、あるいは通信回線を介して情報処理装置にインストールされることにより当該情報処理装置に、送信側装置１、６、６０、６１、受信側装置５、１０、７０にそれぞれ相応する機能を実現させることができる。
【産業上の利用可能性】
【００７１】
本発明によれば、水晶時計等の安価な時計を利用して、ＯＷＴによる高精度のフロー制御を実現することが可能となるので、ネットワークの運用効率を低コストな設備投資によって向上させることができる。
【図面の簡単な説明】
【００７２】
【図１】ＲＴＴの測定方法を説明する図。
【図２】ＯＷＴの測定方法を説明する図。
【図３】ＯＷＴの時間変化を表す図。
【図４】送信と受信とが１対１のパケット通信の全体構成図。
【図５】第一実施例の送信側装置のブロック構成図。
【図６】第一実施例の受信側装置のブロック構成図。
【図７】第一実施例のフロー制御を行うためのフローチャート。
【図８】ＯＷＴの実測値の一例を示す図。
【図９】送信と受信とが１対ｎのパケット通信の全体構成図。
【図１０】第二実施例の送信側装置のブロック構成図。
【図１１】第二実施例のフロー制御を行うためのフローチャート。
【符号の説明】
【００７３】
１、６、６０、６１  送信側装置
２、７、１１、１３、２４、３３  時計
３、４、８、９  パケット
５、１０、７０  受信側装置
１４、３５  通信速度演算部および制御部
１５、３６  ＯＷＴパケット生成部
１６、３７  出力制御部
１７、３８  時間変動偏差演算部
１８、３９  ＯＷＴ補正部
１９、４０  ＯＷＴ結果保持部
２０、２７、４１  入力バッファ
２１、２８、４２  出力バッファ
２２、２９、４３  入力部
２３、３０、４４  出力部
２５  ＯＷＴ演算部
２６  ＯＷＴ結果送信部
３１、３２、５０  グラフ
３４  ＯＷＴ値比較部
Ｎ  ネットワーク
【図１】
2006340078.tif 000003
【図２】
2006340078.tif 000004
【図３】
2006340078.tif 000005
【図４】
2006340078.tif 000006
【図５】
2006340078.tif 000007
【図６】
2006340078.tif 000008
【図７】
2006340078.tif 000009
【図８】
2006340078.tif 000010
【図９】
2006340078.tif 000011
【図１０】
2006340078.tif 000012
【図１１】
2006340078.tif 000013