JP4302339B2 - データ配信管理装置、データ配信管理システムおよびデータ配信管理方法 - Google Patents
データ配信管理装置、データ配信管理システムおよびデータ配信管理方法 Download PDFInfo
- Publication number
- JP4302339B2 JP4302339B2 JP2001321030A JP2001321030A JP4302339B2 JP 4302339 B2 JP4302339 B2 JP 4302339B2 JP 2001321030 A JP2001321030 A JP 2001321030A JP 2001321030 A JP2001321030 A JP 2001321030A JP 4302339 B2 JP4302339 B2 JP 4302339B2
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- destination
- data
- source
- distribution management
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
【発明の属する技術分野】
この発明は、送信したデータに対する送達確認応答を必要とする送信装置と該送信装置の通信相手先である受信装置との間の伝送路上に配置され、前記送信装置との間の伝送遅延が前記受信装置との間の伝送遅延に比して小さく、少なくとも前記送信装置からのデータを前記受信装置に対して転送する転送処理と該転送したデータに対する送達確認応答を作成し返送する返送処理とを行うことができるデータ配信管理装置に関し、特にデータ配信時における送達確認応答の受信タイミングに依存した速度性能劣化を改善することができるデータ配信管理装置、データ配信管理システムおよびデータ配信管理方法に関するものである。
【0002】
【従来の技術】
図14は、従来のデータ配信管理装置を用いたデータ配信管理システムの構成を示すブロック図である(情報処理学会研究報告98-DPS-89-12参照)。図14において、このデータ配信管理システムは、送信装置C11と、受信装置C12と、この送信装置C11および受信装置C12にTCPによる通信を行う回線L11,L12を介してそれぞれ接続された送信ゲートウェイ100とを有する。回線L12は、回線L11に比して伝送遅延が大きい回線であり、たとえば衛星回線である。
【0003】
図16において、送信装置C11は、データパケットを出力するデータパケット出力部111と、送信ゲートウェイ100が作成した仮の到達確認応答を受信する仮到達確認応答受信部112とを有する。送信ゲートウェイ100は、バッファ101および配信管理テーブル101を有するとともに、送信装置C11から送信されたデータパケットを受信し、このデータパケットをバッファ101に蓄積させる蓄積部103と、回線L12を介してバッファ101に蓄積したデータパケットを受信装置C12に出力する出力部104と、受信装置C12に送信したデータパケットに対する仮の送達確認応答を作成する仮送達確認応答作成部105と、この作成した仮の送達確認応答を送信装置C11に送信する仮送達確認応答送信部106と、受信装置C12から送られた送達確認応答を受信する送達確認応答受信部107と、受信したSYN(接続要求)パケットから通信情報を取得し、配信管理テーブル102に配信情報として記録する配信情報記録制御部108と、データパケットの再送処理を行う再送処理部109とを有する。また、受信装置C12は、送信ゲートウェイ100から送られたデータパケットを受信するデータパケット受信部121と、送信ゲートウェイ100に対して送達確認応答を出力する送達確認応答出力部122とを有する。
【0004】
送信装置C11からデータパケットが送出されると、送信ゲートウェイ100は、受信したデータパケットをバッファ101に一時的に蓄積するとともに、配信管理テーブル102に、このデータパケットのエントリを追加する。送信ゲートウェイ100は、送信装置C11から受信したデータパケットを、回線L12を介して受信装置C12に転送するとともに、このデータパケットに対する仮の到達確認応答のデータパケットを作成し、送信装置C11にこの仮の到達確認応答を送信する。
【0005】
受信装置C12は、送信ゲートウェイ100からデータパケットを受信すると、この受信データパケットに対する送達確認応答を作成し、この送達確認応答を送信ゲートウェイ100に送信する。この送達確認応答には、対応するデータパケットに関するデータとこのデータパケットの到達確認状況に関するデータとが含まれる。受信装置C12から送達確認応答を受信した送信ゲートウェイ100は、送信ゲートウェイ100内に保持されているデータパケットであって、この送達確認応答に対応するデータパケットをクリアする。
【0006】
ここで、送信ゲートウェイ100から受信装置C12にデータパケットが送信される過程において、このデータパケットの転送に失敗し、受信装置C12がこのデータパケットを受信することができなかった場合、送信ゲートウェイ100は、受信装置C12側から同一の送達確認応答を3つ続けて受信し、このデータパケットの再送処理を行う。
【0007】
このように、従来のデータ配信管理システムでは、送信ゲートウェイ100が、送信ゲートウェイ100から受信装置C12に対するデータパケットの送信と同時に、送信装置C11に対して仮の送達確認応答(tmpACK)を返送することによって、回線L12の伝送遅延によるTCPのウィンドウサイズの減少を防ぎ、スループットの低下をなくして速度性能の劣化を改善していた。
【0008】
また、送信ゲートウェイ100は、送信装置C11からデータパケットを受信すると、仮の送達確認応答を作成し、受信装置からの送達確認応答(ACK)を受け付けるまで、このデータパケットを保持し、3つの同一の送達確認応答(DuplicateACK)を受信した時点で、このデータパケットの送信を失敗と判定し、この保持しているデータパケットの再送を行うようにしていた。
【0009】
【発明が解決しようとする課題】
ところで、従来のデータ配信管理システムにおける速度性能劣化改善方式では、送信ゲートウェイ100は、送信装置C11に対し、送信ゲートウェイ100から受信装置C12へのデータ送信と同時に、仮の送達確認応答(tmpACK)を返すことによって、伝送遅延によるTCPのウィンドウサイズの減少を防ぎ、スループットを低下させること無く配信を行うシステムであったが、この方式では、データセグメントを受信すると直ちに、全てのデータセグメントに対する仮の送達確認応答を作成し、送信していた。
【0010】
しかし、この方式では、送信ゲートウェイ100が、送信装置C11における送受信バッファあるいはWindowの状態、および回線の輻輳を考慮せず、仮の送達確認応答を返すため、送信ゲートウェイ100および送信装置C11の処理の負荷が高くなり、結果として速度性能の劣化防止を十分果たすことができなかったという問題点があった。
【0011】
また、受信装置C12からのACKを含むデータは、受信装置C12で把握している送信装置C11の受信Windowの状態に応じて決定されたスループットで送信されてきており、送信ゲートウェイ100においてデータが受信された時点では、送信装置C11の受信バッファあるいはWindowが減少していた場合にも、古いWindow情報に基づいたスループットでデータ転送を行っていたため、送信装置C11の受信バッファおよびWindowがオーバーフローを引き起こす可能性があるという問題点もあった。
【0012】
この発明は上記に鑑みてなされたもので、送受信のバッファおよびWindowサイズおよび回線の輻輳を考慮し、tmpACKの送信のタイミングや送信量を調整し、一層速く、一層効率的にデータの配信を行うことができるデータ配信管理装置、データ配信管理システムおよびデータ配信管理方法を得ることを目的とする。
【0017】
【課題を解決するための手段】
上記目的を達成するため、この発明にかかるデータ配信管理装置は、少なくとも受信したデータを宛先に向けて転送するとともに、宛先からの送達確認応答を受信するまでデータセグメントを保存し、必要に応じて再送処理を行う機能を有したデータ配信管理装置において、受信したデータセグメントを保存するバッファと、送信元のスループット情報をもとに、前記バッファのバッファサイズを可変設定するバッファ管理手段と、宛先の受信バッファの状態に応じたデータ転送速度調整を行う速度調整手段と、受信したデータを宛先に向けて転送した際に、送信元に対して仮の送達確認応答を作成し、返送する仮送達確認応答手段と、前記バッファのバッファサイズ不足を予測する予測手段と、と、前記予測手段が前記バッファのバッファサイズ不足を予測した場合に、前記仮の送達確認応答の返送を停止させる制御を行うとともに、前記送信元および前記宛先のそれぞれに設定された優先度指標に応じて前記バッファサイズを調整する配信管理手段と、を備えたことを特徴とする。
【0018】
この発明によれば、バッファ管理手段が、送信元のスループット情報をもとに、前記バッファのバッファサイズを可変設定するようにしている。また、速度調整手段が、宛先の受信バッファの状態に応じてスループットの増減幅を調整するようにしている。さらに、前記配信管理手段は、前記予測手段が前記バッファのバッファサイズ不足を予測した場合に、前記仮の送達確認応答の返送を停止させる制御を行うようにし、バッファ状態に応じて送信側のスループットを調整するとともに、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一纏めとする管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して設定された優先度指標に応じて前記バッファサイズを調整するようにしている。
【0019】
つぎの発明にかかるデータ配信管理装置は、少なくとも受信したデータを宛先に向けて転送するとともに、宛先からの送達確認応答を受信するまでデータセグメントを保存し、必要に応じて再送処理を行う機能を有したデータ配信管理装置において、受信したデータセグメントを保存するバッファと、送信元のスループット情報をもとに、前記バッファのバッファサイズを可変設定するバッファ管理手段と、宛先の受信バッファの状態に応じたデータ転送速度調整を行う速度調整手段と、受信したデータを宛先に向けて転送した際に、送信元に対して仮の送達確認応答を作成し、返送する仮送達確認応答手段と、前記バッファのバッファサイズ不足を予測する予測手段と、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、該管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して、優先度の程度を表す指標を設定した優先度管理テーブルと、前記予測手段が前記バッファのバッファサイズ不足を予測した場合に、前記仮の送達確認応答の返信速度を低下させる制御を行うとともに、前記送信元および前記宛先のそれぞれに設定された優先度指標に応じて前記バッファサイズを調整する配信管理手段と、を備えたことを特徴とする。
【0020】
この発明によれば、バッファ管理手段が、送信元のスループット情報をもとに、前記バッファのバッファサイズを可変設定するようにしている。また、速度調整手段が、宛先の受信バッファの状態に応じてスループットの増減幅を調整するようにしている。さらに、前記配信管理手段は、前記予測手段が前記バッファのバッファサイズ不足を予測した場合に、前記仮の送達確認応答の返信速度を低下させる制御を行うようにし、バッファ状態に応じて送信側のスループットを調整するとともに、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一纏めとする管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して設定された優先度指標に応じて前記バッファサイズを調整するようにしている。
【0021】
つぎの発明にかかるデータ配信管理装置は、少なくとも受信したデータを宛先に向けて転送するとともに、宛先からの送達確認応答を受信するまでデータセグメントを保存し、必要に応じて再送処理を行う機能を有したデータ配信管理装置において、受信したデータセグメントを保存するバッファと、送信元のスループット情報をもとに、前記バッファのバッファサイズを可変設定するバッファ管理手段と、宛先の受信バッファの状態に応じたデータ転送速度調整を行う速度調整手段と、受信したデータを宛先に向けて転送した際に、送信元に対して仮の送達確認応答を作成し、返送する仮送達確認応答手段と、前記バッファのバッファサイズ不足を予測する予測手段と、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、該管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して、優先度の程度を表す指標を設定した優先度管理テーブルと、前記予測手段が前記バッファのバッファサイズ不足を予測した場合に、前記仮の送達確認応答のウィンドウ情報を小さくする制御を行うとともに、前記送信元および前記宛先のそれぞれに設定された優先度指標に応じて前記バッファサイズを調整する配信管理手段と、を備えたことを特徴とする。
【0022】
この発明によれば、バッファ管理手段が、送信元のスループット情報をもとに、前記バッファのバッファサイズを可変設定するようにしている。また、速度調整手段が、宛先の受信バッファの状態に応じてスループットの増減幅を調整するようにしている。さらに、前記配信管理手段は、前記予測手段が前記バッファのバッファサイズ不足を予測した場合に、前記仮の送達確認応答のウィンドウ情報を小さくする制御を行うようにし、バッファ状態に応じて送信側のスループットを調整するとともに、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一纏めとする管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して設定された優先度指標に応じて前記バッファサイズを調整するようにしている。
【0023】
つぎの発明にかかるデータ配信管理装置は、少なくとも受信したデータを宛先に向けて転送するとともに、宛先からの送達確認応答を受信するまでデータセグメントを保存し、必要に応じて再送処理を行う機能を有したデータ配信管理装置において、受信したデータセグメントを保存するバッファと、送信元のスループット情報をもとに、前記バッファのバッファサイズを可変設定するバッファ管理手段と、宛先の受信バッファの状態に応じたデータ転送速度調整を行う速度調整手段と、受信したデータを宛先に向けて転送した際に、送信元に対して仮の送達確認応答を作成し、返送する仮送達確認応答手段と、前記バッファのバッファサイズ不足を予測する予測手段と、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、該管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して、優先度の程度を表す指標を設定した優先度管理テーブルと、前記予測手段が前記バッファのバッファサイズ不足を予測した場合に、新規の前記仮の送達確認応答を利用するコネクション接続要求を受けない制御を行うとともに、前記送信元および前記宛先のそれぞれに設定された優先度指標に応じて前記バッファサイズを調整する配信管理手段と、を備えたことを特徴とする。
【0024】
この発明によれば、バッファ管理手段が、送信元のスループット情報をもとに、前記バッファのバッファサイズを可変設定するようにしている。また、速度調整手段が、宛先の受信バッファの状態に応じてスループットの増減幅を調整するようにしている。さらに、前記配信管理手段は、前記予測手段が前記バッファのバッファサイズ不足を予測した場合に、新規の前記仮の送達確認応答を利用するコネクション接続要求を受けない制御を行うようにし、バッファ状態に応じて送信側のスループットを調整するとともに、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一纏めとする管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して設定された優先度指標に応じて前記バッファサイズを調整するようにしている。
【0027】
つぎの発明にかかるデータ配信管理装置は、上記の発明において、前記配信管理手段は、前記バッファの空き領域が、予め設定されたバッファサイズの余裕値を超えた場合に受信データ量を抑制する通信に対して、前記余裕値を超えた場合、前記受信データ量が抑制されるように該通信の送信元に指示することを特徴とする。
【0028】
この発明によれば、前記配信管理手段は、前記バッファの空き領域が、予め設定されたバッファサイズの余裕値を超えた場合に受信データ量を抑制する通信に対して、前記余裕値を超えた場合、前記受信データ量が抑制されるように該通信の送信元に指示するようにしている。
【0029】
つぎの発明にかかるデータ配信管理装置は、上記の発明において、選択的な速度調整を行うか否かを決定する決定手段をさらに備えたことを特徴とする。
【0030】
この発明によれば、決定手段が、選択的な速度調整を行うか否かを決定するようにしている。
【0031】
つぎの発明にかかるデータ配信管理システムは、データを送受信する第1の端末装置と、前記該第1の端末装置の通信相手先である第2の端末装置と、前記第1の端末装置と前記第2の端末装置との間の伝送路上に配置され、上記の発明ののいずれか一つに記載の1以上のデータ配信管理装置とを備えたことを特徴とする。
【0032】
この発明によれば、データ配信管理装置が第1の端末装置と第2の端末装置との間に配置され、第1の端末装置あるいは第2の端末装置からのスループットの低下を防止する制御をするようにしている。
【0037】
つぎの発明にかかるデータ配信管理方法は、少なくとも受信したデータを宛先に向けて転送するとともに、宛先からの送達確認応答を受信するまでデータセグメントを保存し、必要に応じて再送処理を行う機能を有したデータ配信管理装置のデータ配信管理方法において、受信したデータセグメントを保存する保存工程と、送信元のスループット情報および配信処理終了までにかかる時間をもとに、前記バッファのバッファサイズを可変設定するバッファ管理工程と、宛先の受信バッファの状態に応じたデータ転送速度調整を行う速度調整工程と、受信したデータを宛先に向けて転送した際に、送信元に対して仮の送達確認応答を作成し、返送する仮送達確認応答工程と、前記バッファのバッファサイズ不足を予測する予測工程と、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、該管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して、優先度の程度を表す指標を設定する優先度設定工程と、前記予測工程が前記バッファのバッファサイズ不足を予測した場合に、前記仮の送達確認応答の返送を停止させる制御を行うとともに、前記送信元および前記宛先のそれぞれに設定された優先度指標に応じて前記バッファサイズを調整する配信管理工程と、を含むことを特徴とする。
【0038】
この発明によれば、バッファ管理工程が、送信元のスループット情報をもとに、前記バッファのバッファサイズを可変設定するようにしている。また、速度調整工程が、宛先の受信バッファの状態に応じてスループットの増減幅を調整するようにしている。さらに、前記配信管理工程は、前記予測工程が前記バッファのバッファサイズ不足を予測した場合に、前記仮の送達確認応答の返送を停止させる制御を行うようにし、バッファ状態に応じて送信側のスループットを調整するとともに、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一纏めとする管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して設定された優先度指標に応じて前記バッファサイズを調整するようにしている。
【0039】
つぎの発明にかかるデータ配信管理方法は、少なくとも受信したデータを宛先に向けて転送するとともに、宛先からの送達確認応答を受信するまでデータセグメントを保存し、必要に応じて再送処理を行う機能を有したデータ配信管理装置のデータ配信管理方法において、受信したデータセグメントを保存する保存工程と、送信元のスループット情報および配信処理終了までにかかる時間をもとに、前記バッファのバッファサイズを可変設定するバッファ管理工程と、宛先の受信バッファの状態に応じたデータ転送速度調整を行う速度調整工程と、受信したデータを宛先に向けて転送した際に、送信元に対して仮の送達確認応答を作成し、返送する仮送達確認応答工程と、前記バッファのバッファサイズ不足を予測する予測工程と、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、該管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して、優先度の程度を表す指標を設定する優先度設定工程と、前記予測工程が前記バッファのバッファサイズ不足を予測した場合に、前記仮の送達確認応答の返信速度を低下させる制御を行うとともに、前記仮の送達確認応答の返送を停止させる制御を行うとともに、前記送信元および前記宛先のそれぞれに設定された優先度指標に応じて前記バッファサイズを調整する配信管理工程と、を含むことを特徴とする。
【0040】
この発明によれば、バッファ管理工程が、送信元のスループット情報をもとに、前記バッファのバッファサイズを可変設定するようにしている。また、速度調整工程が、宛先の受信バッファの状態に応じてスループットの増減幅を調整するようにしている。さらに、前記配信管理工程は、前記予測工程が前記バッファのバッファサイズ不足を予測した場合に、前記仮の送達確認応答の返信速度を低下させる制御を行うようにし、バッファ状態に応じて送信側のスループットを調整するとともに、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一纏めとする管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して設定された優先度指標に応じて前記バッファサイズを調整するようにしている。
【0041】
つぎの発明にかかるデータ配信管理方法は、少なくとも受信したデータを宛先に向けて転送するとともに、宛先からの送達確認応答を受信するまでデータセグメントを保存し、必要に応じて再送処理を行う機能を有したデータ配信管理装置のデータ配信管理方法において、受信したデータセグメントを保存する保存工程と、送信元のスループット情報および配信処理終了までにかかる時間をもとに、前記バッファのバッファサイズを可変設定するバッファ管理工程と、宛先の受信バッファの状態に応じたデータ転送速度調整を行う速度調整工程と、受信したデータを宛先に向けて転送した際に、送信元に対して仮の送達確認応答を作成し、返送する仮送達確認応答工程と、前記バッファのバッファサイズ不足を予測する予測工程と、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、該管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して、優先度の程度を表す指標を設定する優先度設定工程と、前記予測工程が前記バッファのバッファサイズ不足を予測した場合に、前記仮の送達確認応答のウィンドウ情報を小さくする制御を行うとともに、前記送信元および前記宛先のそれぞれに設定された優先度指標に応じて前記バッファサイズを調整する配信管理工程と、を含むことを特徴とする。
【0042】
この発明によれば、バッファ管理工程が、送信元のスループット情報をもとに、前記バッファのバッファサイズを可変設定するようにしている。また、速度調整工程が、宛先の受信バッファの状態に応じてスループットの増減幅を調整するようにしている。さらに、前記配信管理工程は、前記予測工程が前記バッファのバッファサイズ不足を予測した場合に、前記仮の送達確認応答のウィンドウ情報を小さくする制御を行うようにし、バッファ状態に応じて送信側のスループットを調整するとともに、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一纏めとする管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して設定された優先度指標に応じて前記バッファサイズを調整するようにしている。
【0043】
つぎの発明にかかるデータ配信管理方法は、少なくとも受信したデータを宛先に向けて転送するとともに、宛先からの送達確認応答を受信するまでデータセグメントを保存し、必要に応じて再送処理を行う機能を有したデータ配信管理装置のデータ配信管理方法において、受信したデータセグメントを保存する保存工程と、送信元のスループット情報および配信処理終了までにかかる時間をもとに、前記バッファのバッファサイズを可変設定するバッファ管理工程と、宛先の受信バッファの状態に応じたデータ転送速度調整を行う速度調整工程と、受信したデータを宛先に向けて転送した際に、送信元に対して仮の送達確認応答を作成し、返送する仮送達確認応答工程と、前記バッファのバッファサイズ不足を予測する予測工程と、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、該管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して、優先度の程度を表す指標を設定する優先度設定工程と、前記予測工程が前記バッファのバッファサイズ不足を予測した場合に、新規の前記仮の送達確認応答を利用するコネクション接続要求を受けない制御を行うとともに、前記送信元および前記宛先のそれぞれに設定された優先度指標に応じて前記バッファサイズを調整する配信管理工程と、を含むことを特徴とする。
【0044】
この発明によれば、バッファ管理工程が、送信元のスループット情報をもとに、前記バッファのバッファサイズを可変設定するようにしている。また、速度調整工程が、宛先の受信バッファの状態に応じてスループットの増減幅を調整するようにしている。さらに、前記配信管理工程は、前記予測工程が前記バッファのバッファサイズ不足を予測した場合に、新規の前記仮の送達確認応答を利用するコネクション接続要求を受けない制御を行うようにし、バッファ状態に応じて送信側のスループットを調整するとともに、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一纏めとする管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して設定された優先度指標に応じて前記バッファサイズを調整するようにしている。
【0045】
つぎの発明にかかるデータ配信管理方法は、上記の発明において、宛先毎に優先度が設定する優先度設定工程をさらに含み、前記配信管理工程は、前記優先度に応じて前記バッファサイズを調整することを特徴とする。
【0046】
この発明によれば、前記配信管理工程は、前記優先度に応じて前記バッファサイズを調整するようにしている。
【0047】
つぎの発明にかかるデータ配信管理方法は、上記の発明において、前記配信管理方法は、前記バッファの空き領域が、予め設定されたバッファサイズの余裕値を超えた場合に受信データ量を抑制する通信に対して、前記受信データ量が抑制されるように該通信の送信元に指示することを特徴とする。
【0048】
この発明によれば、前記配信管理工程は、前記バッファの空き領域が、予め設定されたバッファサイズの余裕値を超えた場合に受信データ量を抑制する通信に対して、前記受信データ量が抑制されるように該通信の送信元に指示することを特徴とする。
【0049】
つぎの発明にかかるデータ配信管理方法は、上記の発明において、選択的な速度調整を行うか否かを決定する決定工程をさらに備えたことを特徴とする。
【0050】
この発明によれば、決定工程が、選択的な速度調整を行うか否かを決定するようにしている。
【0051】
【発明の実施の形態】
以下、添付図面を参照して、この発明にかかるデータ配信管理装置、データ配信管理システムおよびデータ配信管理方法の好適な実施の形態を詳細に説明する。
【0052】
実施の形態1.
図1は、この発明の実施の形態1であるデータ配信管理装置を含むデータ配信管理システムの構成を示すブロック図である。図1において、このデータ配信管理システムは、送信装置C1が回線2を介してデータ配信管理装置10に接続され、データ配信管理装置10が回線3を介して受信装置C2に接続される。回線3は、衛星回線などの伝送遅延の大きな回線であり、回線2は、回線3に比して伝送遅延が小さい回線である。
【0053】
データ配信管理装置10は、送信ゲートウェイSGと、配信管理テーブル1と、プロトコル管理テーブル5と、バッファの割り当てを行うバッファ割当部6aを有した送信バッファ6と、受信バッファ7、および経路管理テーブル8を有する。送信ゲートウェイSGは、送信装置C1との間においてデータパケットの入出力処理を行う通信部17と、受信装置C2との間においてデータパケットの入出力処理を行う通信部11と、仮の送達確認応答(tmpACK)を作成するために、受信したデータパケットを保存するtmpACKバッファ4と、受信装置C2に対して送信したデータパケットに対してtmpACKの返送を行うか否かを判断するtmpACK使用判定部12、送信装置C1から受信したデータパケットをもとにtmpACKを作成するtmpACK作成部13と、データパケット毎の送達確認応答のタイムアウト時間(SGTimer)をカウントアップし、この送達確認応答待ちのタイムアウトイベントを発生させるSGTimerカウント部14と、送信装置C1にtmpACKを送信したか否かの情報および受信装置C2からの送達確認応答に関する情報を配信管理テーブル1に書き込む処理を行う配信データ記録部15と、SGTimer値および配信管理テーブル1の内容に対応してデータパケットの配信を管理するSG配信管理部16とを有する。
【0054】
なお、図1において、送信バッファ6、受信バッファ7、およびtmpACKバッファ4は、それぞれ別個のバッファとして示されているが、これに限らず、部分的あるいは全てを同一のバッファとして実装するようにしてもよい。また、別個のバッファとして実装する場合であっても、同一のバッファとして実装する場合であっても、管理目的に応じて制御情報などを含めた情報とともに用いることが可能な図示しない管理テーブルを設け、パケットデータの格納位置が識別可能なように実装することによって、管理および検索の効率化を図ることができる。
【0055】
ここで、図2〜図8を参照して、データ配信管理装置10のデータ配信管理処理について説明する。まず、送信ゲートウェイSGの通信部17,11は、データパケットを受信すると、この受信したデータパケットを受信バッファ7に一時保存し、SG配信管理部16は、図2に示す配信処理を行う。
【0056】
図2において、まず、tmpACK使用判定部12が、受信したデータパケットのチェックを行い、このチェック結果に応じて送信ゲートウェイSGがもつ受信データパケットに対するtmpACK利用可能フラグの「ON」、「OFF」を決定し、必要に応じてtmpACK利用可能フラグの「ON」、「OFF」も含め、受信データパケットの情報を配信管理テーブル1に登録する(ステップS11)。
【0057】
その後、tmpACK制御フラグをもとにtmpACKの利用制御を行うか否かを判断する(ステップS12)。tmpACKの利用制御を行わない場合(ステップS12,NO)には、そのまま本処理を終了し、tmpACKの利用制御を行う場合(ステップS12,YES)には、tmpACK利用制御処理を実行して(ステップS13)、本処理を終了する。
【0058】
図3は、図2に示したステップS11におけるパケットのチェック処理手順を示すフローチャートである。図3において、まず、遅延依存の回線への転送か否か、すなわち、遅延の大きな回線に対する転送か否かを判断する(ステップS21)。この判断は、この実施の形態1において、ネットワーク層のヘッダがIPヘッダであるか否か、およびIPヘッダであった場合、正しいIPアドレスとなっているかどうかを確認した後、ルーティング機能によって決定される経路が、宛先への経路上に伝送遅延回線があるか否かを、経路管理テーブル8を用いて判定する。
【0059】
ここで、プロトコルがIPを用いていない場合、正しいフォーマットのアドレスではない場合、および宛先への経路が伝送遅延回線を含まない場合など(ステップS21,NO)には、tmpACK利用制御フラグを「OFF」にし(ステップS22)、受信セグメントを宛先に転送し(ステップS23)、本処理を終了する。なお、このtmpACK利用可能フラグは、上述した別個のバッファあるいは同一のバッファに設けられる図示しない管理テーブルを用いる場合、この管理テーブル内の情報として保持するようにしてもよい。
【0060】
図4は、経路管理テーブル8の内容の一例を示す図である。図4において、この経路管理テーブル8は、大きく「送信元−ルータ経路」と「ルータ−宛先経路」とに項目区分される。「送信元−ルータ経路」は、さらに「送信元IP」、「最大Windowサイズ」、「送信元優先度」、および送信元−ルータ間の「スループット」に項目区分される。一方、「ルータ−宛先経路」は、ルータ、すなわち送信ゲートウェイSGと宛先との間の経路に関する情報群であり、たとえば、どの回線につながっているかを示す、判定対象の経路「ポート」、この「ポート」への経路の「遅延」時間、「スループット」、「宛先IP」、送信ゲートウェイSGで扱う通信全てのパケットを転送することができなくなった状況で発生した場合などにおいて、パケット転送の優先度の一つの判定基準となる「宛先優先度」、この宛先の「最大Windowサイズ」にさらに項目区分される。
【0061】
ここで、送信元とルータとの間の「スループット」の値には、仮ACK機能を利用した場合と利用しない場合とによってスループットが異なる場合があるため、回線のデフォルト値およびそれ以前までの通信で使用した際の実測値による値を入れる。なお、デフォルト値は、回線の種類に応じてユーザ設定が可能であり、入力されない場合や経路によって回線が特定できない場合には例えば1Mbpsに設定する。一方、ルータと宛先との間の「スループット」は、遅延に左右されるため、回線のデフォルトのスループットを入れる。また、「遅延」時間には、回線の持つデフォルト値、あるいはそれ以前までの通信で使用した際の実測値による値を入れる。「宛先IP」の項目は、判定対照の通信の宛先IPを表したものである。したがって、IPヘッダの宛先アドレス部にある宛先への経路が遅延依存の経路ではないとされた場合(ステップS21,NO)、tmpACK利用可能フラグを「OFF」にし(ステップS22)、受信セグメントを宛先に転送し(ステップS23)、本処理を終了する。
【0062】
一方、正しいIPアドレスであり、かつ伝送遅延を含んだ経路制御を行う通信であると判定された場合(ステップS21,YES)には、受信したセグメントのIPヘッダのプロトコルのバイト列を参照し、遅延依存であるか否か、たとえば、TCPか、それ以外のプロトコルであるか否かの判定を行う(ステップS24)。この判定には、図5に示すプロトコル管理テーブル5が参照される。
【0063】
ステップS24において、遅延依存のプロトコルであると判定された場合、受信したセグメントのヘッダ部のコードビット(CodeBit)を参照し、通信開始時のセグメントか否かを判定し(ステップS25)、通信開始セグメントであった場合(ステップS25,YES)、ステップS28に移行する。一方、通信開始セグメントではないと判定された場合(ステップS25,NO)、ステップS26に移行する。
【0064】
ステップS26において、受信したセグメントが、図1に示した配信管理テーブル1に、既に登録済の通信であるか否かの判定を行う。この判定では、IPヘッダ中の送信元IPとTCPヘッダ中の送信元ポートの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を同一の管理単位とし、登録済の通信であると判定する。
【0065】
ここで、図6および図7は、配信管理テーブルの一例を示す図であり、図7は、図6に示した左端の1つの受付番号(通信ID)にリンクする詳細な情報である。図6において、複数にわたる行D25,D26は、項目D11〜D24を持つ、上述した管理単位を同じくする通信に関する情報を表す。また、図7において、項目D31〜D33は、上述した管理単位を同じくする通信においてデータ配信管理装置10が受信したセグメントに関する情報を表すものであり、行D25における通信に関するデータの例である。これらの各項目は、データ配信管理装置10が受信したセグメントから情報を取得するものである。
【0066】
図6において、項目D11は、この通信を一意に識別するための受付番号(通信ID)である。項目D12は、この通信に割り当てられたtmpACK作成対象セグメントを保存するための割当バッファ量を表すものである。項目D13は、この通信が実際にtmpACK作成対象セグメントの保存のために使用している使用バッファ量を示している。項目D14は、管理する通信の送信元IPアドレスを表すものである。項目D15は、送信元優先度を表し、この優先度は例えば、「1」、「2」、「3」、・・・のような整数値で表され、数値の高いほど優先度が高い送信元であるという実装が可能である。項目D16は、宛先IPアドレスを表す。項目D17は、宛先優先度を表す。この優先度は例えば、「1」、「2」、「3」、・・・のような整数値で表され、数値の高いほど優先度が高い送信元であるという実装が可能である。項目D18は、送信元スループットであり、ここには通信開始時にはデフォルト値として、経路管理テーブル8を参照し、当該通信における送信元のデフォルトのスループットを入れ、以後、一定間隔ごとにスループットの実測値を計り更新する。通信終了時に、経路管理テーブル8のデフォルトのスループットの値も、実測値を元に再計算し更新することも可能である。項目D19は、通信の優先度フラグであり、これは例えばTCPセグメントの緊急フラグが「ON」であれば、「ON」とするという実装が可能である。項目D20は、仮ACK送信待ちによる速度調節に関する情報であり、仮ACK送信待ちによる速度調節機能を用いるか否かに関するフラグ、および当該フラグが「ON」の場合はその調節のための待ち時間を示す値を入れる項目であり、項目D21は、Windowサイズ情報による速度調節機能に関する情報を入れる項目であり、この機能を用いるか否かに関するフラグおよびこのフラグが「ON」の場合はどのくらいWindowサイズを調節するかを示す値を入れる項目である。項目D22は、データ配信管理装置10と宛先との間の往復時間(Round Trip Time:RTT)を表す値であり、デフォルト値は経路管理テーブル8の「遅延」情報に書いてある値の2倍の数値を入れ、通信において値を適宜とり、交信してゆくなどの実装が可能である。項目D23は、送信元ポート番号を表し、項目D24は、宛先ポート番号を表す。項目D27は、送信元および宛先におけるそれぞれの最新の送信ウィンドウサイズおよび受信ウィンドウサイズを表す。項目D28は、現在管理している通信に割り当てられている仮ACKを利用したセグメント保存用のバッファの総量を示し(Byte単位)、項目D29は、割り当て可能な仮ACKを利用したセグメント保存用のバッファ残量を示し、この例では、仮ACKを利用したセグメント保存用のバッファの総量を「5G」としているため、残量は(5−2.8)=2.2Gとなる。項目D30は、現在使用中の仮ACKを利用したセグメント保存用のバッファの総量を表す。
【0067】
更に、図7において、項目D31は、個々の通信においてデータ配信管理装置10が受信したセグメントのシーケンス番号を表し、項目D32は、tmpACK送信に関する情報を表し、これは送信元に対して一定の条件が整った時などの条件付の場合を含め送信可能なセグメントか否かの情報およびtmpACKを送信したか否かの情報などを値として用いるものである。項目D33は、宛先からの送達確認応答(RRACK)に対する情報を表すものであり、この例では対応するセグメントがRRACKを受信済であることを表すACK受信済およびRRACKの到達を待っている状態である事を表すACK待ちの2つの値を持つものである。
【0068】
図7は、図6の項目D27の右列に加え、一つのテーブルとする事も可能であるが、スペースの都合上、項目D11によって関連付けられる二つの表とした。従って、例えば項目D25で示される一群の行は、通信IDとして「1」を持ち、仮ACKを用いたセグメントを保存するために800Mbyteまでの大きさのバッファを割り当てられ、当該バッファのうち現時点で750MByteのバッファを使用しており、優先度が「1」の送信元マシン「10.74.3.135」の送信ポート 「FTP.DATA」から0.65Mbpsのスループットで、優先度が「1」の宛先マシン「10.74.3.200」の宛先ポート「1301」に対する通信において、通信の優先度フラグが「ON」であり、仮ACK送信待ちによる速度調節利用フラグが「ON」であり、Windowサイズ情報による速度調節利用フラグが「ON」であり、データ配信管理装置と宛先との間のRTTが543msecである通信において、送信元の送信ウィンドウサイズおよび受信ウィンドウサイズ、および宛先の送信ウィンドウサイズおよび受信ウィンドウサイズは全て16Kバイトであり、シーケンス番号「398」を持つセグメントは、tmpACKの送信は不可、即ちいかなる条件になった場合もtmpACKの送信を行わないセグメントであり、現時点で宛先からの送達確認応答を待っている状態であることを表すものである。これらの項目および必要に応じて追加する項目を用いて、セグメントのtmpACKの管理、受信確認および結果に応じた再送の制御、送信元へのtmpACKおよびRRACK(宛先からの送達確認応答)の送信速度の制御、宛先への転送速度の制御、データ配信管理装置10の送受信バッファの管理を行う事ができる。
【0069】
このような配信管理テーブル1を用いて、データ配信管理装置10は、受信したセグメントのIPヘッダにある送信元IPアドレスおよび宛先IPアドレス、およびTCPヘッダにある送信元ポート番号および宛先ポート番号を参照し、IPヘッダ中の送信元IPとTCPヘッダ中の送信元ポートの組み合わせ、および宛先IPと宛先ポートの組み合わせで表される通信が配信管理テーブル1上にあるか否かの判定を行う。判定の結果、配信管理テーブル1上に登録されている通信であったと判定された場合(ステップS26,YES)、ステップS32に移行し、受信したセグメントが、宛先の受信Window内のセグメントであるか否かを判定し(ステップS32)、宛先の受信Window内のセグメントであった場合(ステップS32,YES)、ステップS33に移行し、FINフラグをチェックし、最終パケット(通信終了パケット)であるか否かを判定し、通信終了ではなかった場合はステップS34に移行する。
【0070】
ステップS26において、配信管理テーブル1上に登録されている通信ではないと判定された場合、tmpACK利用制御フラグを「OFF」にし(ステップS22)、受信セグメントを宛先に転送し(ステップS23)、本処理を終了する。
【0071】
ステップS33において、通信終了セグメントであった場合、受信したセグメントのエントリを登録し、同一通信内のセグメントのエントリでtmpACK利用可能となっており、かつ、tmpACK送信済でないものを全てtmpACK利用不可とし、データ配信管理装置10のtmpACK利用可能フラグを「OFF」にし、FIN受信済フラグを「ON」にし(ステップS35)、受信セグメントを宛先に転送し(ステップS23)、本処理を終了する。
【0072】
ステップS34において、送信元の送信Windowサイズを確認し、スロースタートであるか否かを判定し、スロースタートであった場合(ステップS34,YES)、tmpACK利用可能フラグを「OFF」にした(ステップS36)後、受信セグメントを宛先に転送し(ステップS23)、本処理を終了する。
【0073】
一方、ステップS34において、スロースタートと判定された場合、受信したセグメントが宛先からの送達確認応答か否かを判定し(ステップS37)、宛先からの送達確認応答であった場合(ステップS37,YES)、tmpACKバッファ4に、受信したセグメントを保存し、データ配信管理装置10のSG配信管理部16の配信確認処理(図10)に、受信装置C2から送達確認応答を受信したことを通知するイベントを発生させ、tmpACK利用可能フラグを「ON」にセットし(ステップS38)、本処理を終了する。
【0074】
ステップS37において、受信したセグメントが、宛先からの送達確認応答ではないと判定された場合、バッファの空き具合に応じて仮ACKを作成送信する処理を行うか否かを定め、さらにその仮ACK作成に伴う処理を行う(ステップS39)。この処理の詳細については、図8および図9を参照して後述する。その後、受信セグメントを宛先に転送し(ステップS23)、本処理を終了する。
【0075】
一方、ステップS25において、通信開始セグメントであると判定された場合、判定を行っているセグメントを含めて、通信開始セグメントが通信の手順とおりに正しく送受信されているか否かの判定を行う(ステップS28)。一連の作業により、通信開始セグメントは正しい順序で、到達された事を確認されたもののみ、ステップS29においてバッファのチェック処理を行う。
【0076】
ステップS29のバッファチェックは、通信開始セグメントの送信元および宛先情報を取り出し、経路管理テーブル8および配信管理テーブル1の情報を用いて、送信元からのスループット、ルータ−宛先間の遅延情報によって、必要なバッファの容量、およびバッファの空き具合のチェックを行い、バッファが十分か否かの判定を行う。この十分か否かの判定は、(バッファ総量)−(現在使っているバッファ量)−(新規の通信に必要と予測されたバッファ量)=(残っているバッファ量)−(新規の通信に必要と予測されたバッファ量)>(データ配信管理装置10が予め持っている余裕度を示すバッファ量)、との条件を満たすか否かで行う。
【0077】
さらに、この時、バッファの空き容量が十分ではないと判定された場合、送信元、宛先、およびパケットの緊急フラグを見て、優先するべき通信か否かを判定し、優先するべき通信であると判定した場合は、たとえ、十分なバッファ容量がない場合も、割当可能フラグを立て、代わりに、緊急度に応じて他の優先度を下げるべき通信のバッファ容量の調節フラグを「ON」に割り当てるバッファ容量の再計算を行い配信管理テーブル1に記載する、tmpACK利用可能フラグを「OFF」にする、仮ACK送信待ちによる速度調節フラグを「ON」にし、仮ACK送信待ち時間を計算し、配信管理テーブル1に記載する、Window情報による速度調節フラグを「ON」にし、速度調節のためのWindow情報を計算し、配信管理テーブル1に記載する、などの対策を行う。これらのフラグを立てる組み合わせは、通信毎の通信の優先度の開きとバッファの空き容量とからなる管理テーブルを用いるなどの実装が可能である。速度調節用仮ACK送信待ち時間とは、速度調節のために一定時間待ってから仮ACKを作成および送信することで、データ配信管理装置10の処理およびデータ配信管理装置10と送信装置C1との間のフローの削減を促すことを目的とする。例えば、仮ACK送信待ちによる速度調節利用フラグが「ON」であった場合、各々の通信毎のタイマをデータ配信管理装置10が持ち、指定された時間毎にフラグを「ON」にし、仮ACKを送信した時点でフラグを「OFF」にし、再びカウントを開始するという実装が考えられる。このバッファ割当可能フラグは、バッファ割当部6aが持ち、この一連のステップS29の処理は、バッファ割当部6aが行うものである。
【0078】
ステップS29の処理の後、バッファ割当フラグを見て、バッファ割当が可能か否かの判定を行い(ステップS30)、可能でない場合はステップS22に移行する。一方、ステップS30において、バッファ割当可能との判断をされた場合、送信管理テーブル1にエントリを追加する(ステップS31)。このステップS31の処理後、受信したセグメントが宛先からの送達確認応答か否かを判定し(ステップS40)、宛先からの送達確認応答であると判定された場合は、ステップS38の処理を行った後、本処理を終了する。一方、宛先からの送達確認応答ではないと判定された場合(ステップS40,NO)には、tmpACK利用可能フラグを「OFF」にし(ステップS41)、受信セグメントを宛先に転送した(ステップS23)後、本処理を終了する。
【0079】
一方、ステップS28において、データ配信管理装置10が正しい順序で通信開始セグメントを受信していないと判定された場合、データ配信管理装置10のtmpACK利用可能フラグを「OFF」にし(ステップS22)、受信セグメントを宛先に転送する(ステップS23)。この時、宛先の送信管理テーブル1および経路管理テーブル8を参照し、送信管理テーブル1に載っている通信のパケットに対しては、宛先の受信装置C2の受信Windowサイズおよびデータ配信管理装置10と宛先との間のスループットに応じて、転送速度の調節を行う。ステップS23の処理後、一連の処理を終了する。
【0080】
つぎに、図8に示すフローチャートを参照して、ステップS39に対応するtmpACK作成送信待ちによる速度調節処理について説明する。まず、ステップS39の処理は、バッファの空き具合に応じて仮ACKを作成送信する処理を行うか否かを定め、さらにその仮ACK作成に伴う処理を表す。これらの処理は、送信元である送信装置C1から受信し、データ配信管理装置10において、受信装置C2に転送するとともに、tmpACK作成および送信を行い、このtmpACK作成および送信処理(tmpACK処理)対象となったデータセグメントを一時的に保持すると同時に、該データセグメントを一時的に保持するためのバッファの容量に関する調節を行うものである。
【0081】
ここで、図10は、このバッファの容量の調節の仕組みを示す模式図である。図10において、各バッファB1〜B3は、上述したtmpACK処理を行ったデータセグメントを一時的に保存するためのバッファ全体を示している。バッファB1,B2は、データ配信管理装置10が現在管理している通信のうち、tmpACK処理を含む通信(通信「1」,「2」)に割り当てられたバッファであり、バッファB3は、通信「1」,「2」および今後新たに管理する通信のための予備的なバッファである。
【0082】
通信「1」用のバッファB1が足りなくなった、あるいは足りなくなりつつあるとの判定が出された場合、予備的なバッファB3から、必要量B3aを算出し、その分を、通信「1」に追加し、バッファB1に割り当てている。
【0083】
さて、図8において、最初に、バッファのチェックを行う(ステップS51)。このバッファチェック処理では、開始通知以外のデータセグメントを受信した場合に行うものであり(開始通知の場合は、ステップS29によって処理される)、このセグメントの送信元および宛先情報を取り出し、経路管理テーブル8および配信管理テーブル1の情報を用いて、送信元からのスループット、ルータ−宛先間の遅延情報によって、必要なバッファの容量、およびバッファの空き具合のチェックを行い、バッファが十分か否かの判定を行う。この十分かどうかの判定は、(バッファ総量)−(現在使っているバッファ量)=(残っているバッファ量)>(データ配信管理装置10が予め持っている余裕度を示すバッファ量)、との条件を満たすか否かで行う。さらに、この時、バッファの空き容量が十分ではないと判定された場合、送信元、宛先、およびパケットの緊急フラグを見て、優先するべき通信か否かを判定し、優先するべき通信であると判定した場合は、たとえ、十分なバッファ容量がない場合も、バッファ容量の調節フラグをオフにし、代わりに、緊急度に応じて他の優先度を下げるべき通信のバッファ容量の調節フラグを「ON」に割り当てるバッファ容量の再計算を行い、配信管理テーブル1に記載する、tmpACK利用可能フラグを「OFF」にする、仮ACK送信待ちによる速度調節フラグを「ON」にし、仮ACK送信待ち時間を計算し、配信管理テーブル1に記載する、Window情報による速度調節フラグを「ON」にし、速度調節のためのWindow情報を計算し、配信管理テーブル1に記載する、などの対策を行う。これらのフラグを立てる組み合わせは、通信毎の通信の優先度の開きとバッファの空き容量とからなる管理テーブルを用いるなどの実装が可能である。また、逆に、十分なバッファ量があるとの判定がされた場合、速度調節用のフラグおよびバッファ容量の調節フラグの少なくとも一つが「ON」になっている通信があった場合(複数の場合は通信の優先度も考慮し)、その通信に対し提供可能なバッファ容量を再計算し、割り当て可能なバッファ容量の値を更新する、あるいはバッファ容量調節フラグを「OFF」にする、tmpACK利用可能フラグを「ON」にし、配信管理テーブル1に記載する、仮ACK送信待ちによる速度調節フラグが「ON」の場合は、速度調節のための待ち時間を再計算し、待ち時間を短縮する、あるいは仮ACK送信待ちによる速度調節フラグを「OFF」にし、配信管理テーブル1に記載する、Window情報による速度調節フラグが「ON」の場合は、速度調節のためのWindow情報値を再計算し、Window情報を増加させる、あるいはWindow情報による速度調節フラグを「OFF」にし、配信管理テーブル1に記載する、などの対策を行う。
【0084】
その後、バッファ容量の調節フラグを見て、「ON」の場合(ステップS52,YES)、ステップS53に移行し、「OFF」の場合(ステップS52,NO)、配信管理テーブル1に情報を登録し、tmpACK利用可能フラグを「ON」に設定する(ステップS54)。この際、最新のセグメント到着時点における情報として、配信管理テーブル1の個々のセグメントに関する情報のエントリ毎にtmpACK利用可能かどうかの情報を設定する。なお、tmpACK利用可能フラグを「ON」にしたセグメントは、バッファに保存する。
【0085】
一方、バッファ容量の調節フラグを見て、「ON」の場合、仮ACKフラグが「ON」か否か(ステップS51によって決定される、tmpACK利用可能フラグが「ON」か否か)を判定し(ステップS53)、「OFF」であった場合、配信管理テーブル1にパケットに関する情報、すなわちパケット番号、tmpACK送信を「不可」、RRACK状態に「ACK待ち」を追加し、tmpACK利用可能フラグを「OFF」にし(ステップS55)、本処理を終了する。
【0086】
一方、ステップS53において、仮ACKフラグが「ON」であると判定された場合、仮ACKの作成および送信に関する処理を行い(ステップS56)、本処理を終了する。ステップS56の処理の詳細については、図9に示すフローチャートを参照して後述する。
【0087】
図9は、ステップS56に対応し、仮ACK作成送信処理の手順を示すフローチャートである。図9において、まず、図3に示した一連の処理によって設定したFIN受信済フラグの値を参照し、通信終了セグメントが受信済か否かの判定を行う(ステップS61)。FIN受信済と判定された場合(ステップS61,YES)、なにも行わず本処理を終了してリターンする。
【0088】
一方、FIN受信済と判定されなかった場合(ステップS61,NO)、tmpACKバッファに保存してあるセグメントがSYN+ACKセグメントか否かを判定する(ステップS62)。SYN+ACKセグメントであった場合(ステップS62,YES)、SYN+ACKセグメントが宛先に未転送だった場合に、この未転送のデータを転送し(ステップS63)、さらに転送済みのデータを破棄し(ステップS64)、本処理を終了してリターンする。
【0089】
一方、ステップS62において、tmpACKバッファに保存してあるセグメントがSYN+ACKセグメントではないと判定された場合、仮ACKの作成対象となるセグメントを決定する(ステップS65)。この時。例えばSACKなしのTCP通信であった場合、「自分以外に自分より、シーケンス番号が大きくかつFINでないセグメントが少なくとも1つある」ことを確認し得るセグメントのうちシーケンス番号が最大のものを、仮ACK作成対象とするという実装が考えられる。
【0090】
その後、Window情報による速度制御を利用するか否かを判定する(ステップS66)。ステップS66では、配信管理テーブル1のWindowサイズ情報による速度調節情報をみて、速度調節のフラグが「ON」であった場合(ステップS66,YES)、仮ACK作成用のデータパケット(図1に示したtmpACKバッファ4に入っている仮ACK作成時に用いる仮ACK雛型で、ステップS38において保存してあるもの)に入っているACKセグメントのWindowサイズに対し、新しく算出された値を代入する。例えば、配信管理テーブル1を用い、通信IDが「1」の通信に対し、この操作を行う場合、Min(現在の送信元のWindowサイズ,現在の宛先のWindowサイズ)*0.7=16K*0.7=11.2を新しいWindowサイズとする。そして、仮ACK作成用データパケットのWindow情報の変更処理を行って(ステップS67)、仮ACK送信待ちによる速度調節を利用するか否かの判定を行う(ステップS68)。
【0091】
ステップS68では、配信管理テーブル1にあるフラグをもとに仮ACK送信待ちによる速度調節を利用するか否かを判定する。仮ACK送信待ちによる速度調節を利用する場合(ステップS68,YES)には、速度調節用の仮ACK送信待ち時間を経過したか否かを判定する(ステップS69)。この判定は、データ配信管理装置10が、通信毎に仮ACK送信待ち用のタイマと、タイマが切れた事を示すフラグを持っている場合、そのフラグを見て判定を行う。
【0092】
速度調節用仮ACK送信待ち時間が経過していた場合(ステップS69,YES)、速度調節用仮ACK送信待ちタイマおよび関連フラグをリセットし(ステップS71)、ステップS72に移行する。一方、速度調節用仮ACK送信待ち時間が経過していなかった(ステップS69,NO)場合、速度調節用タイマが切れるまで待った(ステップS70)後、ステップS71に移行する。
【0093】
その後、tmpACK作成バッファに保存してあるセグメントの確認応答番号を、ステップS65によって決定したtmpACK作成対象セグメントのシーケンス番号に「1」を加えた番号に書き換えたセグメントを、tmpACKとして作成する。SACKオプション付のTCPの場合は、ステップS65においてSACKオプションを考慮したtmpACK作成対象を決定し、ステップS72において、SACKオプションも加えた送達確認応答を作成する実装を行うことも可能である。
【0094】
その後、tmpACKを送信し(ステップS73)、送信したtmpACKが対応する全ての配信管理テーブル1上にエントリしてあるセグメントの情報をtmpACK送信済にし(ステップS74)、本処理を終了してリターンする。
【0095】
つぎに、図11に示したフローチャートを参照して、SG配信管理部16による受信確認および再送制御の処理について説明する。図11において、まず、受信装置C2からの送達確認応答到着を示す、イベントを受け取ったか否かを判定する(ステップS81)。これは、図3のステップS38に示したセグメントのチェックの処理によって発生されるイベントである。
【0096】
受信装置C2から送達確認応答が到着していた場合(ステップS81,YES)、さらに受信装置C2からの開始通知か否かを判定し(ステップS82)、開始通知であった場合(ステップS82,YES)、本処理を終了する。一方、受信装置C2からの開始通知ではないと判定された場合(ステップS82,NO)、配信管理テーブル1に、受信した送達確認応答が示すセグメントに対する結果を記入する(ステップS83)。例えば、SACKオプションなしの通信の場合、配信管理テーブル1のエントリのうち、ACK受信待ちであり、かつ、受信した送達確認応答が示すセグメントより、シーケンス番号が小さいセグメントを、全てをACK受信済にする。一方、SACKオプションありの通信の場合、配信管理テーブル1のエントリのうち、ACK受信待ちであり、かつ、受信した送達確認応答が示すセグメントより、シーケンス番号が小さいセグメントで、かつSACKオプションにないセグメントを全て受信済とする。さらに、この時、ACK待ち状態で、かつtmpACKを送信していなかったセグメントに対するACKであった場合、そのまま、受信したACKを宛先(ACKが対象とするセグメントの送信元)に対し、転送する。
【0097】
その後、配信管理テーブル1のエントリのうちACK受信済のセグメント全てを、送信バッファから削除する(ステップS84)。なお、削除に関するタイマを持ち、一定時間ごとにまとめて、削除する方法による実装も可能である。
【0098】
一方、ステップS81において、受信装置C2からの送達確認応答受信のイベントを受けていないと判定された場合、再送タイムアウトが発生したか否かを判定する(ステップS85)。再送タイムアウトが発生していないと判定された場合(ステップS85,NO)、本処理を終了する。
【0099】
一方、再送タイムアウトが発生していた場合(ステップS85,YES)、配信管理テーブル1にあるタイムアウトが発生したセグメントのエントリの再送回数をインクリメントし、再送フラグを「ON」にし(ステップS86)、さらに配信終了か否かの判定を行う(ステップS87)。通常のTCP通信における配信終了セグメントの交換を検知した場合、および再送のタイムアウトを繰り返し、データ配信管理装置が再送のリトライアウトをすることにより、配信を終了する場合に配信終了と判定され、配信終了処理を行い(ステップS88)、本処理を終了する。なお、再送のタイムアウト値、およびリトライアウトの回数は、送信装置C1および受信装置C2の、再送のタイムアウト値およびリトライアウト回数より、十分に長く設定される必要がある。
【0100】
配信終了処理では、配信終了状態によって異なる処理を行う。通常のTCP通信における配信終了セグメントの交換を検知した場合、tmpACK用バッファ、送信バッファ、受信バッファの全てにおいて、終了する通信におけるセグメントを全て、削除し、配信管理テーブル1のエントリも削除する。なお、配信管理テーブル1のエントリは、データの蓄積を兼ね、保存しておくことも可能である。また、エントリに寿命を設ける、あるいはエントリがあふれない限り残しておくという実装も可能である。
【0101】
一方、配信終了ではないと判定された場合(ステップS87,NO)、ステップS89〜S91において再送を行う。まず、配信管理テーブル1の再送フラグが「ON」になっているものを、送信バッファのセグメントを再送し、配信管理テーブル1の再送フラグを「OFF」にする。その後、再送タイマをリセットし(ステップS90)、データ配信管理装置10の再送回数カウンタのインクリメントを行い(ステップS91)、処理を終了する。
【0102】
ここで、図12および図13を参照して、データ配信管理装置10におけるバッファ管理の実現について説明する。図12に示すように、送信装置C1はTCPアルゴリズムで動作し、送信装置C1は、このTCPアルゴリズム内の輻輳制御アルゴリズムA1で輻輳制御を行う。この実施の形態1におけるデータ配信管理装置10は、この輻輳制御アルゴリズムA1と同等な輻輳制御機能を有するTCP輻輳制御アルゴリズムA2を有し、これによって、上述したバッファ管理を実現している。
【0103】
TCPの輻輳制御アルゴリズムは、輻輳ウィンドウ(CWND)のサイズを変えることによって、転送速度の制御を行い、スロースタートと輻輳回避との2つの輻輳制御を行っている。スロースタートは、ACKを受け取る度に1つずつウィンドウサイズを指数的に増加させ、輻輳回避は、ACKを受け取る度に1つずつウィンドウサイズを線形に増加させる。そして、データの喪失が生じれば、輻輳ウィンドウサイズを減らし、データの喪失が生じない場合、輻輳ウィンドウサイズを増やすようにしている。たとえば、スロースタートの輻輳制御を行う場合、送信装置C1では、TCPの輻輳制御アルゴリズムを用いた送信量CWNDを決定しておき、次の送信量CWNDnewは、
CWNDnew=CWNDold+(新規受信ACK数)*MTU
で算出される(ステップS101)。なお、MTUは、最大転送単位(Maximum Transmission Unit)である。
【0104】
一方、データ配信管理装置10側では、TCP輻輳制御アルゴリズムA2を用い、送信元からのデータ量、すなわちCWNDの増加量を予測する(ステップS111)。すなわち、データ配信管理装置10側では、CWNDの推移予測および接続回線の速度から、単位時間当たりにどのくらいのデータが送付され、転送先の遅延状況から、どれくらいのバッファ量を必要とするかを予測する。その後、送信装置C1側からデータ送信されると、この予測に基づいて、バッファ管理を行うことによって、ACKの返送速度の増減やACK送信の停止を行い、これによって結果的に、送信装置C1のCWNDの増加速度の増減を制御する。また、データ配信管理装置10は、この予測に基づいて、バッファ管理を行うことによって、ACKのWindow情報の拡大あるいは縮小を行い、これによって結果的に、送信装置C1の送信Windowの拡大あるいは縮小する制御を行う。このように、データ配信管理装置10内に送信装置C1側に設けられた輻輳制御アルゴリズムと同等なアルゴリズムを搭載することによって、バッファ管理を行い、結果的にデータの配信管理を行うようにしている。
【0105】
なお、ステップS21では、遅延依存の回線であることを前提としているが、これに限らず、バーストエラーに起因した再送に伴う伝送遅延が生じる無線回線のような回線にも適用し、スプーフィング処理を行うことによってスループットの低下を防止することができる。この場合、図14に示す処理を行うことによって、遅延依存の回線と同様に、バーストエラーに起因した再送に伴う伝送遅延に対しても、バッファ管理を行うことによって、スプーフィング処理を実行し、スループットの低下を防止するようにしている。図14において、まず、データ配信管理装置10は、通信すべき回線がバーストエラーが生じ易い回線であるか否かを判断する(ステップS121)。この判断は、たとえば、接続される経路毎の回線状況、すなわちバーストエラーが生じ易い回線であるか否かをテーブルとして保持しておくことによって実現される。
【0106】
その後、バーストエラーが生じ易い回線である場合(ステップS121,YES)には、転送データの一時保存を行い(ステップS122)、スプーフィング処理に備える。その後、一定期間、宛先からACKを受信しなかったか否かを判断する(ステップS123)。ACKを受信していない場合(ステップS123,YES)には、スプーフィング処理を実行し(ステップS124)、スループットの低下を防止し、本処理を終了する。このスプーフィング処理は、仮ACKの転送を行う上述したステップS13の処理に該当する。
【0107】
一方、バーストエラーが生じ易い回線でない場合(ステップS121,NO)、および一定期間内に、宛先からACKを受信した場合(ステップS123,NO)には転送データを破棄した後(ステップS125)、本処理を終了する。なお、この処理は、上述した遅延依存の回線に対するスプーフィング処理と組み合わせるようにしてもよい。
【0108】
実施の形態2.
つぎに、この発明の実施の形態2について説明する。上述した実施の形態1では、データ配信管理装置10を、伝送遅延の大きな回線3と小さな回線2との間に配置していたが、この実施の形態2では、送信装置C1および受信装置C2がそれぞれ送受信機能を有する端末装置とし、受信装置C2側にデータ配信管理装置10に相当するデータ配信管理装置を設け、双方向の遅延に対して改善することができるようにしている。
【0109】
図13に示すように、遅延の大きな回線3の両端にデータ配信管理装置10,20を設け、各データ配信管理装置10,20に遅延の小さい回線2a,2bを介して端末装置C21,C22をそれぞれ接続する。ここで、端末装置C21,C22は、データの送信機能および受信機能を備えている。データ配信管理装置10は、図1に示したデータ配信管理装置10と同じであり、端末装置C21から送られた送信データを回線3を介して端末装置C22に転送するとともに、端末装置C21に対する仮の到達確認応答の返送処理を行う。データ配信管理装置20は、データ配信管理装置10と同様に、端末装置C22から送られた送信データを、回線3を介して端末C21に転送するとともに、端末装置C22に対する仮の到達確認応答の返送処理を行う。ただし、データ配信管理装置10,20は、遅延の大きな回線3からデータを受信した場合、このデータの転送処理のみを行う。たとえば、データ配信管理装置20は、データ配信管理装置10からデータを受信した場合、このデータを端末装置C22に転送する処理のみを行い、仮の到達確認応答の返送処理は行わない。これによって、双方向の遅延を改善した通信を行うことができる。
【0112】
【発明の効果】
以上説明したように、この発明によれば、バッファ管理手段は、送信元のスループット情報をもとに、自身のバッファのバッファサイズを可変設定するようにしているので、データ配信における輻輳状態を回避し、高信頼かつ高速な通信を実現できる。また、速度調整手段は、宛先の受信バッファの状態に応じてスループットの増減幅を調整するようにしているので、輻輳による伝送遅延による速度性能の劣化を改善することができるという効果を奏する。さらに、配信管理手段は、予測手段がバッファのバッファサイズ不足を予測した場合に、仮の送達確認応答の返送を停止させる制御を行うようにし、自身のバッファ状態に応じて送信側のスループットを調整するようにしているので、輻輳に応じた伝送遅延による速度性能の劣化を改善することができるという効果を奏する。また、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、この管理単位ごとに、かつ、送信元および宛先のそれぞれに対して、優先度の程度を表す指標を設定した優先度管理テーブルが具備され、配信管理手段は、送信元および宛先のそれぞれに設定された優先度指標に応じてバッファサイズを調整するようにしているので、従来のデータ配信管理装置と比較して、一層速く、一層効率的なデータ配信を行うことができるという効果を奏する。
【0113】
つぎの発明によれば、バッファ管理手段は、送信元のスループット情報をもとに、バッファのバッファサイズを可変設定するようにしているので、データ配信における輻輳状態を回避し、高信頼かつ高速な通信を実現できる。また、速度調整手段は、宛先の受信バッファの状態に応じてスループットの増減幅を調整するようにしているので、輻輳による伝送遅延による速度性能の劣化を改善することができるという効果を奏する。さらに、配信管理手段は、予測手段がバッファのバッファサイズ不足を予測した場合に、仮の送達確認応答の返信速度を低下させる制御を行うようにし、バッファ状態に応じて送信側のスループットを調整するようにしているので、輻輳に応じた伝送遅延による速度性能の劣化を改善することができるという効果を奏する。また、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、この管理単位ごとに、かつ、送信元および宛先のそれぞれに対して、優先度の程度を表す指標を設定した優先度管理テーブルが具備され、配信管理手段は、送信元および宛先のそれぞれに設定された優先度指標に応じてバッファサイズを調整するようにしているので、従来のデータ配信管理装置と比較して、一層速く、一層効率的なデータ配信を行うことができるという効果を奏する。
【0114】
つぎの発明によれば、バッファ管理手段は、送信元のスループット情報をもとに、バッファのバッファサイズを可変設定するようにしているので、データ配信における輻輳状態を回避し、高信頼かつ高速な通信を実現できる。また、速度調整手段は、宛先の受信バッファの状態に応じてスループットの増減幅を調整するようにしているので、輻輳による伝送遅延による速度性能の劣化を改善することができるという効果を奏する。さらに、配信管理手段は、予測手段がバッファのバッファサイズ不足を予測した場合に、仮の送達確認応答のウィンドウ情報を小さくする制御を行うようにし、バッファ状態に応じて送信側のスループットを調整するようにしているので、輻輳に応じた伝送遅延による速度性能の劣化を改善することができるという効果を奏する。また、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、この管理単位ごとに、かつ、送信元および宛先のそれぞれに対して、優先度の程度を表す指標を設定した優先度管理テーブルが具備され、配信管理手段は、送信元および宛先のそれぞれに設定された優先度指標に応じてバッファサイズを調整するようにしているので、従来のデータ配信管理装置と比較して、一層速く、一層効率的なデータ配信を行うことができるという効果を奏する。
【0115】
つぎの発明によれば、バッファ管理手段は、送信元のスループット情報をもとに、バッファのバッファサイズを可変設定するようにしているので、データ配信における輻輳状態を回避し、高信頼かつ高速な通信を実現できる。また、速度調整手段は、宛先の受信バッファの状態に応じてスループットの増減幅を調整するようにしているので、輻輳による伝送遅延による速度性能の劣化を改善することができるという効果を奏する。さらに、配信管理手段は、予測手段がバッファのバッファサイズ不足を予測した場合に、新規の仮の送達確認応答を利用するコネクション接続要求を受けない制御を行うようにし、バッファ状態に応じて送信側のスループットを調整するようにしているので、輻輳に応じた伝送遅延による速度性能の劣化を改善することができるという効果を奏する。また、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、この管理単位ごとに、かつ、送信元および宛先のそれぞれに対して、優先度の程度を表す指標を設定した優先度管理テーブルが具備され、配信管理手段は、送信元および宛先のそれぞれに設定された優先度指標に応じてバッファサイズを調整するようにしているので、従来のデータ配信管理装置と比較して、一層速く、一層効率的なデータ配信を行うことができるという効果を奏する。
【0117】
つぎの発明によれば、前記配信管理手段は、前記バッファの空き領域が、予め設定されたバッファサイズの余裕値を超えた場合に受信データ量を抑制する通信に対して、前記受信データ量が抑制されるように該通信の送信元に指示するようにしているので、柔軟かつ効率的なデータ配信を行うことができるという効果を奏する。
【0118】
つぎの発明によれば、決定手段が、選択的な速度調整を行うか否かを決定するようにしているので、柔軟かつ効率的なデータ配信を行うことができるという効果を奏する。
【0119】
つぎの発明によれば、データ配信管理装置が第1の端末装置と第2の端末装置との間に配置され、第1の端末装置あるいは第2の端末装置からのスループットの低下を防止する制御するようにしているので、輻輳に応じた伝送遅延による速度性能の劣化を改善することができるという効果を奏する。
【0122】
つぎの発明によれば、バッファ管理工程は、送信元のスループット情報をもとに、バッファのバッファサイズを可変設定するようにしているので、データ配信における輻輳状態を回避し、高信頼かつ高速な通信を実現できる。また、速度調整工程は、宛先の受信バッファの状態に応じてスループットの増減幅を調整するようにしているので、輻輳による伝送遅延による速度性能の劣化を改善することができるという効果を奏する。さらに、配信管理工程は、予測工程がバッファのバッファサイズ不足を予測した場合に、仮の送達確認応答の返送を停止させる制御を行うようにし、バッファ状態に応じて送信側のスループットを調整するようにしているので、輻輳に応じた伝送遅延による速度性能の劣化を改善することができるという効果を奏する。また、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、この管理単位ごとに、かつ、送信元および宛先のそれぞれに対して、優先度の程度を表す指標を設定した優先度管理テーブルが具備され、配信管理工程は、送信元および宛先のそれぞれに設定された優先度指標に応じてバッファサイズを調整するようにしているので、従来のデータ配信管理装置と比較して、一層速く、一層効率的なデータ配信を行うことができるという効果を奏する。
【0123】
つぎの発明によれば、バッファ管理工程は、送信元のスループット情報をもとに、バッファのバッファサイズを可変設定するようにしているので、データ配信における輻輳状態を回避し、高信頼かつ高速な通信を実現できる。また、速度調整工程は、宛先の受信バッファの状態に応じてスループットの増減幅を調整するようにしているので、輻輳による伝送遅延による速度性能の劣化を改善することができるという効果を奏する。さらに、配信管理工程は、予測工程がバッファのバッファサイズ不足を予測した場合に、仮の送達確認応答の返信速度を低下させる制御を行うようにし、バッファ状態に応じて送信側のスループットを調整するようにしているので、輻輳に応じた伝送遅延による速度性能の劣化を改善することができるという効果を奏する。また、また、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、この管理単位ごとに、かつ、送信元および宛先のそれぞれに対して、優先度の程度を表す指標を設定した優先度管理テーブルが具備され、配信管理工程は、送信元および宛先のそれぞれに設定された優先度指標に応じてバッファサイズを調整するようにしているので、従来のデータ配信管理装置と比較して、一層速く、一層効率的なデータ配信を行うことができるという効果を奏する。
【0124】
つぎの発明によれば、バッファ管理工程は、送信元のスループット情報をもとに、バッファのバッファサイズを可変設定するようにしているので、データ配信における輻輳状態を回避し、高信頼かつ高速な通信を実現できる。また、速度調整工程は、宛先の受信バッファの状態に応じてスループットの増減幅を調整するようにしているので、輻輳による伝送遅延による速度性能の劣化を改善することができるという効果を奏する。さらに、配信管理工程は、予測工程がバッファのバッファサイズ不足を予測した場合に、仮の送達確認応答のウィンドウ情報を小さくする制御を行うようにし、バッファ状態に応じて送信側のスループットを調整するようにしているので、輻輳に応じた伝送遅延による速度性能の劣化を改善することができるという効果を奏する。また、また、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、この管理単位ごとに、かつ、送信元および宛先のそれぞれに対して、優先度の程度を表す指標を設定した優先度管理テーブルが具備され、配信管理工程は、送信元および宛先のそれぞれに設定された優先度指標に応じてバッファサイズを調整するようにしているので、従来のデータ配信管理装置と比較して、一層速く、一層効率的なデータ配信を行うことができるという効果を奏する。
【0125】
つぎの発明によれば、バッファ管理工程は、送信元のスループット情報をもとに、バッファのバッファサイズを可変設定するようにしているので、データ配信における輻輳状態を回避し、高信頼かつ高速な通信を実現できる。また、速度調整工程は、宛先の受信バッファの状態に応じてスループットの増減幅を調整するようにしているので、輻輳による伝送遅延による速度性能の劣化を改善することができるという効果を奏する。さらに、配信管理工程は、予測工程がバッファのバッファサイズ不足を予測した場合に、新規の仮の送達確認応答を利用するコネクション接続要求を受けない制御を行うようにし、バッファ状態に応じて送信側のスループットを調整するようにしているので、輻輳に応じた伝送遅延による速度性能の劣化を改善することができるという効果を奏する。また、また、送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、この管理単位ごとに、かつ、送信元および宛先のそれぞれに対して、優先度の程度を表す指標を設定した優先度管理テーブルが具備され、配信管理工程は、送信元および宛先のそれぞれに設定された優先度指標に応じてバッファサイズを調整するようにしているので、従来のデータ配信管理装置と比較して、一層速く、一層効率的なデータ配信を行うことができるという効果を奏する。
【0127】
つぎの発明によれば、前記配信管理工程は、前記バッファの空き領域が、予め設定されたバッファサイズの余裕値を超えた場合に受信データ量を抑制する通信に対して、前記受信データ量が抑制されるように該通信の送信元に指示するようにしているので、柔軟かつ効率的なデータ配信を行うことができるという効果を奏する。
【0128】
つぎの発明によれば、決定工程が、選択的な速度調整を行うか否かを決定するようにしているので、柔軟かつ効率的なデータ配信を行うことができるという効果を奏する。
【図面の簡単な説明】
【図1】 この発明の実施の形態1であるデータ配信管理装置を含むデータ配信管理システムの構成を示すブロック図である。
【図2】 図1に示したデータ配信管理装置によるデータ配信管理処理手順を示すフローチャートである。
【図3】 図2に示したパケットのチェック処理手順を示す詳細フローチャートである。
【図4】 図1に示した経路管理テーブルの内容の一例を示す図である。
【図5】 図1に示したプロトコル管理テーブルの内容の一例を示す図である。
【図6】 図1に示した配信管理テーブルの内容の一例を示す図である。
【図7】 図1に示した配信管理テーブルの内容の一例を示す図である。
【図8】 ステップS39に対応したtmpACK作成送信待ちによる速度調整の処理手順を示すフローチャートである。
【図9】 ステップS56に対応した仮ACK作成送信処理の手順を示すフローチャートである。
【図10】 バッファ区分を示す図である。
【図11】 受信確認および再送制御の処理手順を示すフローチャートである。
【図12】 TCP輻輳制御アルゴリズムが搭載されるデータ配信管理装置を示す図である。
【図13】 TCP輻輳制御アルゴリズムが搭載されるデータ配信管理装置と送信装置との間におけるデータ配信管理処理を示すフローチャートである。
【図14】 バーストエラーが生じ易い回線に対するスプーフィング処理の適用処理手順を示すフローチャートである。
【図15】 この発明の実施の形態4であって、二つのデータ配信管理装置を用いて双方向通信を可能にしたデータ配信管理システムの構成を示すブロック図である。
【図16】 従来のデータ配信管理装置を含むデータ配信管理システムの構成を示すブロック図である。
【符号の説明】
1 配信管理テーブル、2,2a,2b,3 回線、4 tmpACKバッファ、5 プロトコル管理テーブル、6 送信バッファ、6a バッファ割当部、7 受信バッファ、8 経路管理テーブル、10,20 データ配信管理装置、11,17 通信部、12 tmpACK使用判定部、13 tmpACK作成部、14 SGTimerカウント部、15 配信データ記録部、16 SG配信管理部、SG 送信ゲートウェイ、C1 送信装置、C2 受信装置、C21,C22 端末装置。
Claims (13)
- 少なくとも受信したデータを宛先に向けて転送するとともに、宛先からの送達確認応答を受信するまでデータセグメントを保存し、必要に応じて再送処理を行う機能を有したデータ配信管理装置において、
受信したデータセグメントを保存するバッファと、
送信元のスループット情報をもとに、前記バッファのバッファサイズを可変設定するバッファ管理手段と、
宛先の受信バッファの状態に応じたデータ転送速度調整を行う速度調整手段と、
受信したデータを宛先に向けて転送した際に、送信元に対して仮の送達確認応答を作成し、返送する仮送達確認応答手段と、
前記バッファのバッファサイズ不足を予測する予測手段と、
送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、該管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して、優先度の程度を表す指標を設定した優先度管理テーブルと、
前記予測手段が前記バッファのバッファサイズ不足を予測した場合に、前記仮の送達確認応答の返送を停止させる制御を行うとともに、前記送信元および前記宛先のそれぞれに設定された優先度指標に応じて前記バッファサイズを調整する配信管理手段と、
を備えたことを特徴とするデータ配信管理装置。 - 少なくとも受信したデータを宛先に向けて転送するとともに、宛先からの送達確認応答を受信するまでデータセグメントを保存し、必要に応じて再送処理を行う機能を有したデータ配信管理装置において、
受信したデータセグメントを保存するバッファと、
送信元のスループット情報をもとに、前記バッファのバッファサイズを可変設定するバッファ管理手段と、
宛先の受信バッファの状態に応じたデータ転送速度調整を行う速度調整手段と、
受信したデータを宛先に向けて転送した際に、送信元に対して仮の送達確認応答を作成し、返送する仮送達確認応答手段と、
前記バッファのバッファサイズ不足を予測する予測手段と、
送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、該管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して、優先度の程度を表す指標を設定した優先度管理テーブルと、
前記予測手段が前記バッファのバッファサイズ不足を予測した場合に、前記仮の送達確認応答の返信速度を低下させる制御を行うとともに、前記送信元および前記宛先のそれぞれに設定された優先度指標に応じて前記バッファサイズを調整する配信管理手段と、
を備えたことを特徴とするデータ配信管理装置。 - 少なくとも受信したデータを宛先に向けて転送するとともに、宛先からの送達確認応答を受信するまでデータセグメントを保存し、必要に応じて再送処理を行う機能を有したデータ配信管理装置において、
受信したデータセグメントを保存するバッファと、
送信元のスループット情報をもとに、前記バッファのバッファサイズを可変設定するバッファ管理手段と、
宛先の受信バッファの状態に応じたデータ転送速度調整を行う速度調整手段と、
受信したデータを宛先に向けて転送した際に、送信元に対して仮の送達確認応答を作成し、返送する仮送達確認応答手段と、
前記バッファのバッファサイズ不足を予測する予測手段と、
送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、該管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して、優先度の程度を表す指標を設定した優先度管理テーブルと、
前記予測手段が前記バッファのバッファサイズ不足を予測した場合に、前記仮の送達確認応答のウィンドウ情報を小さくする制御を行うとともに、前記送信元および前記宛先のそれぞれに設定された優先度指標に応じて前記バッファサイズを調整する配信管理手段と、
を備えたことを特徴とするデータ配信管理装置。 - 少なくとも受信したデータを宛先に向けて転送するとともに、宛先からの送達確認応答を受信するまでデータセグメントを保存し、必要に応じて再送処理を行う機能を有したデータ配信管理装置において、
受信したデータセグメントを保存するバッファと、
送信元のスループット情報をもとに、前記バッファのバッファサイズを可変設定するバッファ管理手段と、
宛先の受信バッファの状態に応じたデータ転送速度調整を行う速度調整手段と、
受信したデータを宛先に向けて転送した際に、送信元に対して仮の送達確認応答を作成し、返送する仮送達確認応答手段と、
前記バッファのバッファサイズ不足を予測する予測手段と、
送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、該管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して、優先度の程度を表す指標を設定した優先度管理テーブルと、
前記予測手段が前記バッファのバッファサイズ不足を予測した場合に、新規の前記仮の送達確認応答を利用するコネクション接続要求を受けない制御を行うとともに、前記送信元および前記宛先のそれぞれに設定された優先度指標に応じて前記バッファサイズを調整する配信管理手段と、
を備えたことを特徴とするデータ配信管理装置。 - 前記配信管理手段は、前記バッファの空き領域が、予め設定されたバッファサイズの余裕値を超えた場合に受信データ量を抑制する通信に対して、前記受信データ量が抑制されるように該通信の送信元に指示することを特徴とする請求項1〜4のいずれか一つに記載のデータ配信管理装置。
- 選択的な速度調整を行うか否かを決定する決定手段をさらに備えたことを特徴とする請求項1〜5のいずれか一つに記載のデータ配信管理装置。
- データを送受信する第1の端末装置と、
前記該第1の端末装置の通信相手先である第2の端末装置と、
前記第1の端末装置と前記第2の端末装置との間の伝送路上に配置され、請求項1〜6のいずれか一つに記載の1以上のデータ配信管理装置と、
を備えたことを特徴とするデータ配信管理システム。 - 少なくとも受信したデータを宛先に向けて転送するとともに、宛先からの送達確認応答を受信するまでデータセグメントを保存し、必要に応じて再送処理を行う機能を有したデータ配信管理装置のデータ配信管理方法において、
受信したデータセグメントを保存する保存工程と、
送信元のスループット情報および配信処理終了までにかかる時間をもとに、前記バッファのバッファサイズを可変設定するバッファ管理工程と、
宛先の受信バッファの状態に応じたデータ転送速度調整を行う速度調整工程と、
受信したデータを宛先に向けて転送した際に、送信元に対して仮の送達確認応答を作成し、返送する仮送達確認応答工程と、
前記バッファのバッファサイズ不足を予測する予測工程と、
送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、該管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して、優先度の程度を表す指標を設定する優先度設定工程と、
前記予測工程が前記バッファのバッファサイズ不足を予測した場合に、前記仮の送達確認応答の返送を停止させる制御を行うとともに、前記送信元および前記宛先のそれぞれに設定された優先度指標に応じて前記バッファサイズを調整する配信管理工程と、
を含むことを特徴とするデータ配信管理方法。 - 少なくとも受信したデータを宛先に向けて転送するとともに、宛先からの送達確認応答を受信するまでデータセグメントを保存し、必要に応じて再送処理を行う機能を有したデータ配信管理装置のデータ配信管理方法において、
受信したデータセグメントを保存する保存工程と、
送信元のスループット情報および配信処理終了までにかかる時間をもとに、前記バッファのバッファサイズを可変設定するバッファ管理工程と、
宛先の受信バッファの状態に応じたデータ転送速度調整を行う速度調整工程と、
受信したデータを宛先に向けて転送した際に、送信元に対して仮の送達確認応答を作成し、返送する仮送達確認応答工程と、
前記バッファのバッファサイズ不足を予測する予測工程と、
送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、該管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して、優先度の程度を表す指標を設定する優先度設定工程と、
前記予測工程が前記バッファのバッファサイズ不足を予測した場合に、前記仮の送達確認応答の返信速度を低下させる制御を行うとともに、前記仮の送達確認応答の返送を停止させる制御を行うとともに、前記送信元および前記宛先のそれぞれに設定された優先度指標に応じて前記バッファサイズを調整する配信管理工程と、
を含むことを特徴とするデータ配信管理方法。 - 少なくとも受信したデータを宛先に向けて転送するとともに、宛先からの送達確認応答を受信するまでデータセグメントを保存し、必要に応じて再送処理を行う機能を有したデータ配信管理装置のデータ配信管理方法において、
受信したデータセグメントを保存する保存工程と、
送信元のスループット情報および配信処理終了までにかかる時間をもとに、前記バッファのバッファサイズを可変設定するバッファ管理工程と、
宛先の受信バッファの状態に応じたデータ転送速度調整を行う速度調整工程と、
受信したデータを宛先に向けて転送した際に、送信元に対して仮の送達確認応答を作成し、返送する仮送達確認応答工程と、
前記バッファのバッファサイズ不足を予測する予測工程と、
送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、該管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して、優先度の程度を表す指標を設定する優先度設定工程と、
前記予測工程が前記バッファのバッファサイズ不足を予測した場合に、前記仮の送達確認応答のウィンドウ情報を小さくする制御を行うとともに、前記送信元および前記宛先のそれぞれに設定された優先度指標に応じて前記バッファサイズを調整する配信管理工程と、
を含むことを特徴とするデータ配信管理方法。 - 少なくとも受信したデータを宛先に向けて転送するとともに、宛先からの送達確認応答を受信するまでデータセグメントを保存し、必要に応じて再送処理を行う機能を有したデータ配信管理装置のデータ配信管理方法において、
受信したデータセグメントを保存する保存工程と、
送信元のスループット情報および配信処理終了までにかかる時間をもとに、前記バッファのバッファサイズを可変設定するバッファ管理工程と、
宛先の受信バッファの状態に応じたデータ転送速度調整を行う速度調整工程と、
受信したデータを宛先に向けて転送した際に、送信元に対して仮の送達確認応答を作成し、返送する仮送達確認応答工程と、
前記バッファのバッファサイズ不足を予測する予測工程と、
送信元IPと送信元ポートとの組み合わせ、および宛先IPと宛先ポートとの組み合わせが全て同一の通信を一の管理単位とし、該管理単位ごとに、かつ、該送信元および該宛先のそれぞれに対して、優先度の程度を表す指標を設定する優先度設定工程と、
前記予測工程が前記バッファのバッファサイズ不足を予測した場合に、新規の前記仮の送達確認応答を利用するコネクション接続要求を受けない制御を行うとともに、前記送信元および前記宛先のそれぞれに設定された優先度指標に応じて前記バッファサイズを調整する配信管理工程と、
を含むことを特徴とするデータ配信管理方法。 - 前記配信管理工程は、前記バッファの空き領域が、予め設定されたバッファサイズの余裕値を超えた場合に受信データ量を抑制する通信に対して、前記受信データ量が抑制されるように該通信の送信元に指示することを特徴とする請求項8〜11のいずれか一つに記載のデータ配信管理方法。
- 選択的な速度調整を行うか否かを決定する決定工程をさらに含むことを特徴とする請求項8〜12のいずれか一つに記載のデータ配信管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001321030A JP4302339B2 (ja) | 2001-10-18 | 2001-10-18 | データ配信管理装置、データ配信管理システムおよびデータ配信管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001321030A JP4302339B2 (ja) | 2001-10-18 | 2001-10-18 | データ配信管理装置、データ配信管理システムおよびデータ配信管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003124984A JP2003124984A (ja) | 2003-04-25 |
JP4302339B2 true JP4302339B2 (ja) | 2009-07-22 |
Family
ID=19138324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001321030A Expired - Fee Related JP4302339B2 (ja) | 2001-10-18 | 2001-10-18 | データ配信管理装置、データ配信管理システムおよびデータ配信管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4302339B2 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2831742B1 (fr) * | 2001-10-25 | 2004-02-27 | Cit Alcatel | Procede de transmission de paquets par l'intermediaire d'un reseau de telecommunications utilisant le protocole ip |
JP3974027B2 (ja) * | 2002-11-28 | 2007-09-12 | 株式会社エヌ・ティ・ティ・ドコモ | 基地局制御装置、データ伝送方法及びプログラム |
WO2005006673A1 (ja) * | 2003-07-15 | 2005-01-20 | Fujitsu Limited | 帯域制御装置 |
JP4639603B2 (ja) * | 2004-02-24 | 2011-02-23 | パナソニック株式会社 | 無線伝送装置および無線伝送装置の省電力駆動方法 |
JP4624062B2 (ja) * | 2004-10-12 | 2011-02-02 | Necインフロンティア株式会社 | 通信システム |
JP4318651B2 (ja) | 2005-02-25 | 2009-08-26 | 富士通株式会社 | 出力方法、出力装置及び通信システム |
JP4509825B2 (ja) * | 2005-03-01 | 2010-07-21 | 三菱電機株式会社 | 移動体通信システム |
JP2007124225A (ja) * | 2005-10-27 | 2007-05-17 | Oki Electric Ind Co Ltd | ネットワークスイッチ装置及び方法、無線アクセス装置、および、無線ネットワーク |
JP2007189509A (ja) * | 2006-01-13 | 2007-07-26 | Mitsubishi Electric Corp | 呼制御サーバ、メディアプロキシおよび輻輳制御方法 |
JP4627290B2 (ja) * | 2006-09-29 | 2011-02-09 | Kddi株式会社 | Tcpを用いたレート制御方法、サーバ及びプログラム |
JP4675409B2 (ja) * | 2008-12-08 | 2011-04-20 | 富士通株式会社 | 出力装置及び通信システム |
JP5573709B2 (ja) | 2011-01-31 | 2014-08-20 | ブラザー工業株式会社 | 通信装置 |
JP2013013093A (ja) * | 2012-07-20 | 2013-01-17 | Thomson Licensing | Tcpackの管理によるlanにおけるスループット改善 |
JP5564603B1 (ja) * | 2013-06-07 | 2014-07-30 | ソフトバンクモバイル株式会社 | 中継ノード |
JP6350124B2 (ja) * | 2014-08-29 | 2018-07-04 | 沖電気工業株式会社 | データ中継装置、データ中継方法、及びデータ中継プログラム |
JP2016139903A (ja) * | 2015-01-27 | 2016-08-04 | 富士通株式会社 | 通信装置、及びそのデータ中継方法 |
WO2017090154A1 (ja) * | 2015-11-26 | 2017-06-01 | 株式会社日立製作所 | ストレージシステム及びストレージプログラム |
JP6436926B2 (ja) * | 2016-03-03 | 2018-12-12 | ソフトバンク株式会社 | 通信装置、通信システム、プログラム、及び通信方法 |
US20190245795A1 (en) * | 2016-09-23 | 2019-08-08 | Nec Corporation | Protocol termination device, relay method, and recording medium |
JP6805713B2 (ja) * | 2016-10-19 | 2020-12-23 | 日本電気株式会社 | 受信トラヒックの高速化装置、高速化方法、および高速化プログラム |
-
2001
- 2001-10-18 JP JP2001321030A patent/JP4302339B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003124984A (ja) | 2003-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4302339B2 (ja) | データ配信管理装置、データ配信管理システムおよびデータ配信管理方法 | |
KR101746629B1 (ko) | 통신 장치 및 통신 방법 | |
US6937600B2 (en) | Communication device and communication control method using lower layer data transmission order control at upper layer | |
US7369498B1 (en) | Congestion control method for a packet-switched network | |
US9178741B2 (en) | Method and system for processing a data unit | |
CN101189840B (zh) | 数据单元中继设备和控制该数据单元中继设备的方法 | |
EP1434380B1 (en) | Data transmission control method and system | |
JP5544430B2 (ja) | 通信装置および通信システム | |
KR101143172B1 (ko) | 웹 서비스를 위한 신뢰성 있는 메시징 프로토콜을 이용한메시지의 효율적인 전송 | |
US20060221825A1 (en) | Congestion control network relay device and method | |
US6438101B1 (en) | Method and apparatus for managing congestion within an internetwork using window adaptation | |
US7069356B2 (en) | Method of controlling a queue buffer by performing congestion notification and automatically adapting a threshold value | |
EP1371192B1 (en) | Method and device for improving a data throughput | |
CN109714267B (zh) | 管理反向队列的传输控制方法及系统 | |
JP2004297742A (ja) | 通信装置、通信制御方法及びプログラム | |
JP3377994B2 (ja) | データ配信管理装置およびデータ配信管理方法 | |
CN1674485A (zh) | 动态提供计算机系统资源的方法和系统 | |
US8416694B2 (en) | Network feedback method and device | |
JP3893247B2 (ja) | データ配信管理装置 | |
EP1723751A1 (en) | Methods and devices for controlling data unit handling | |
JP3782308B2 (ja) | データ配信管理装置、これを用いたデータ配信管理システムおよびデータ配信管理方法ならびにその方法をコンピュータに実行させるプログラム | |
TW202335471A (zh) | 網路流壅塞管理裝置及其方法 | |
TWI831622B (zh) | 網路流壅塞管理裝置及其方法 | |
Schüler et al. | Performance improvements for TCP in mobile networks with high packet delay variations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040917 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060529 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060613 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060804 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20061031 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061226 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070109 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20070223 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090422 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120501 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120501 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130501 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140501 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |