JP3782308B2 - データ配信管理装置、これを用いたデータ配信管理システムおよびデータ配信管理方法ならびにその方法をコンピュータに実行させるプログラム - Google Patents
データ配信管理装置、これを用いたデータ配信管理システムおよびデータ配信管理方法ならびにその方法をコンピュータに実行させるプログラム Download PDFInfo
- Publication number
- JP3782308B2 JP3782308B2 JP2001039170A JP2001039170A JP3782308B2 JP 3782308 B2 JP3782308 B2 JP 3782308B2 JP 2001039170 A JP2001039170 A JP 2001039170A JP 2001039170 A JP2001039170 A JP 2001039170A JP 3782308 B2 JP3782308 B2 JP 3782308B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- terminal device
- transmitted
- transmission
- 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 - Lifetime
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
【発明の属する技術分野】
この発明は、第1の端末装置と第2の端末装置との間の伝送路上に配置され、前記第2の端末装置側を接続する伝送路が前記第1の端末装置側を接続する伝送路の伝送遅延に比して大きい伝送遅延を有し、前記第1の端末装置と前記第2の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理装置、これを用いた通信システムおよびデータ配信管理方法ならびにその方法をコンピュータに実行させるプログラムに関し、特にデータ配信時における送達確認応答の受信タイミングに依存した速度性能劣化を改善することができるデータ配信管理装置、これを用いた通信システムおよびデータ配信管理方法ならびにその方法をコンピュータに実行させるプログラムに関するものである。
【0002】
【従来の技術】
従来から、TCPを用いた通信では、送信側のTCPは、送信バッファに対応したウィンドウサイズを持ち、このウィンドウサイズ内に限り、送信ウィンドウをスライドさせることによって、次々とデータ送信を行う。仮に、なんらかの理由によって送達確認応答を受け入れていない状況となった場合、TCPは、輻輳状態であると判断し、ウィンドウサイズを小さくし、これによってスループットを下げ、輻輳を解消しようとする。
【0003】
しかし、衛星回線のような大容量であるとともに、物理的に伝送遅延の大きな回線においてTCPを用いた場合、物理的な距離によって、データ送信からこのデータに対する送達確認応答が返ってくるまでに0.5秒以上を要する場合がある。この0.5秒は、一般的なTCPにおける再送タイムアウト時間、すなわちデータ送信を失敗と判断し、データ再送を開始するまでの時間であり、TCPが、輻輳状態が生じていると判断してしまう時間である。この結果、衛星回線のように大容量の回線本来の大きさに見合った速度性能、すなわちスループットを発揮することができないという問題点が生じる。
【0004】
図13は、従来のデータ配信管理装置を用いたデータ配信管理システムの構成を示すブロック図である(情報処理学会研究報告98-DPS-89-12参照)。このデータ配信管理システムは、上述した問題点を解決し、スループットを向上させることができるシステムである。図13において、このデータ配信管理システムは、送信装置C11と、受信装置C12と、この送信装置C11および受信装置C12にTCPによる通信を行う回線L11,L12を介してそれぞれ接続された送信ゲートウェイ100とを有する。回線L12は、回線L11に比して伝送遅延が大きい回線であり、たとえば衛星回線である。
【0005】
図13において、送信装置C11は、データパケットを出力するデータパケット出力部111と、送信ゲートウェイ100が作成した仮の到達確認応答を受信する仮到達確認応答受信部112とを有する。送信ゲートウェイ100は、バッファ101および配信管理テーブル102を有するとともに、送信装置C11から送信されたデータパケットを受信し、このデータパケットをバッファ101に蓄積させる蓄積部103と、回線L12を介してバッファ101に蓄積したデータデータパケットを受信装置C12に出力する出力部104と、受信装置C12に送信したデータパケットに対する仮の送達確認応答を作成する仮送達確認応答作成部105と、この作成した仮の送達確認応答を送信装置C11に送信する仮送達確認応答送信部106と、受信装置C12から送られた送達確認応答を受信する仮送達確認応答受信部107と、受信したSYN(接続要求)パケットから通信情報を取得し、配信管理テーブル102に配信情報として記録する配信情報記憶制御部108と、データパケットの再送処理を行う再送処理部109とを有する。また、受信装置C12は、送信ゲートウェイ100から送られたデータパケットを受信するデータパケット受信部121と、送信ゲートウェイ100に対して送達確認応答を出力する送達確認応答出力部122とを有する。
【0006】
送信装置C11からデータパケットが送出されると、送信ゲートウェイ100は、受信したデータパケットをバッファ101に一時的に蓄積するとともに、配信管理テーブル102に、このデータパケットのエントリを追加する。送信ゲートウェイ100は、送信装置C11から受信したデータパケットを、回線L12を介して受信装置C12に転送するとともに、このデータパケットに対する仮の到達確認応答のデータパケットを作成し、送信装置C11にこの仮の到達確認応答を送信する。
【0007】
受信装置C12は、送信ゲートウェイ100からデータパケットを受信すると、この受信データパケットに対する送達確認応答を作成し、この送達確認応答を送信ゲートウェイ100に送信する。この送達確認応答には、対応するデータパケットに関するデータとこのデータパケットの到達確認状況に関するデータとが含まれる。受信装置C12から送達確認応答を受信した送信ゲートウェイ100は、送信ゲートウェイ100内に保持されているデータパケットであって、この送達確認応答に対応するデータパケットをクリアする。
【0008】
ここで、送信ゲートウェイ100から受信装置C12にデータパケットが送信される過程において、このデータパケットの転送に失敗し、受信装置C12がこのデータパケットを受信することができなかった場合、送信ゲートウェイ100は、受信装置C12側から同一の送達確認応答を3つ続けて受信し、このデータパケットの再送処理を行う。
【0009】
このように、従来のデータ配信管理システムでは、送信ゲートウェイ100が、送信ゲートウェイ100から受信装置C12に対するデータパケットの送信と同時に、送信装置C11に対して仮の送達確認応答(tmpACK)を返送することによって、回線L12の伝送賃によるTCPのウィンドウサイズの減少を防ぎ、スループットの低下をなくして速度性能の劣化を改善していた。
【0010】
また、送信ゲートウェイ100は、送信装置C11からデータパケットを受信すると、仮の送達確認応答を作成し、受信装置からの送達確認応答(ACK)を受け付けるまで、このデータパケットを保持し、3つの同一の送達確認応答(DuplicateACK)を受信した時点で、このデータパケットの送信を失敗と判定し、この保持しているデータパケットの再送を行うようにしていた。
【0011】
【発明が解決しようとする課題】
しかしながら、従来のデータ配信管理システムでは、伝送遅延の大きな回線L12を介した伝送遅延によるウィンドウ情報の遅延を考慮した速度制御が行われていないため、受信装置C12の受信バッファ123がオーバーフローする危険があり、さらにデータ再送の際に必ず、伝送遅延の大きな回線L12を介して再送されていたため、遅延の大きな回線L12上のデータフローが増加して輻輳し、通信の信頼性を低下させ、また、再送に要する時間が増大して通信の高速性を阻害するという問題点があった。
【0012】
この発明は、上記に鑑みてなされたもので、受信側の端末装置における受信バッファのオーバーフローを防ぎ、また遅延の大きな回線上の輻輳をなくすとともに、再送に要する時間を短くし、通信の信頼性および高速性を保持したデータ配信を行うことができるデータ配信管理装置、これを用いたデータ配信管理システムおよびデータ配信管理方法ならびにその方法をコンピュータに実行させるプログラムを得ることを目的とする。
【0013】
【課題を解決するための手段】
上記目的を達成するため、この発明にかかるデータ配信管理装置は、第1の端末装置と第2の端末装置との間の伝送路上に配置され、前記第2の端末装置側を接続する伝送路が前記第1の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、少なくとも前記第1の端末装置から送信されたデータを前記第2の端末装置側に転送するデータ配信管理装置において、前記第1の端末装置から送信されたデータを一時的に格納する受信バッファと、前記第2の端末装置の受信ウィンドウサイズを保持する受信ウィンドウサイズ保持手段と、前記受信ウィンドウサイズに対応して前記受信バッファに一時格納されたデータの転送速度を調節する制御を行う転送制御手段と、前記第1の端末装置から送信されたデータを高速に転送すべきか否かを判断する高速転送判断手段と、前記高速転送判断手段が前記第1の端末装置から送信されたデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置のユーザに対して行う課金手段と、を備えたことを特徴とする。
【0014】
この発明によれば、受信バッファには、前記第1の端末装置から送信されたデータが一時的に格納され、転送制御手段は、受信ウィンドウサイズ保持手段が保持する前記第2の端末装置の受信ウィンドウサイズに対応して、前記受信バッファに一時格納されたデータの転送速度を調節する制御を行い、高速転送判断手段が、前記送受信されるデータを高速に転送すべきか否かを判断し、課金手段が、前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置のユーザに対して行うようにしている。
【0015】
つぎの発明にかかるデータ配信管理装置は、第1の端末装置と第2の端末装置との間の伝送路上に配置され、前記第2の端末装置側を接続する伝送路が前記第1の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第1の端末装置と前記第2の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理装置において、前記第1の端末装置から送信されたデータを一時的に格納する受信バッファと、前記第1の端末装置と前記第2の端末装置との間のコネクション毎に該第1の端末装置および該第2の端末装置のウィンドウサイズの情報を取得するウィンドウサイズ取得手段と、前記ウィンドウサイズ取得手段によって取得された各コネクション毎のウィンドウサイズの情報を保持し、管理する管理手段と、前記管理手段によって管理されるウィンドウサイズに対応して各コネクション毎に、前記受信バッファに格納されたデータの転送速度を調節する制御を行う転送制御手段と、前記送受信されるデータを高速に転送すべきか否かを判断する高速転送判断手段と、前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置あるいは前記第2の端末装置のユーザに対して行う課金手段と、を備えたことを特徴とする。
【0016】
この発明によれば、ウィンドウサイズ取得手段が、前記第1の端末装置と前記第2の端末装置との間のコネクション毎に該第1の端末装置および該第2の端末装置のウィンドウサイズの情報を取得し、管理手段が、この各コネクション毎のウィンドウサイズの情報を保持して管理し、転送制御手段が、前記管理手段によって管理されるウィンドウサイズに対応して各コネクション毎に、受信バッファに格納されたデータの転送速度を調節する制御を行い、高速転送判断手段が、前記送受信されるデータを高速に転送すべきか否かを判断し、課金手段が、前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置あるいは前記第2の端末装置のユーザに対して行うようにしている。
【0017】
つぎの発明にかかるデータ配信管理装置は、第1の端末装置と第2の端末装置との間の伝送路上に配置され、前記第2の端末装置側を接続する伝送路が前記第1の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第1の端末装置と前記第2の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理装置において、前記第2の端末装置から前記第1の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第2の端末装置に送信するか否かを判断する第1の判断手段と、前記第1の判断手段が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積する送信バッファと、前記第1の端末装置が、前記第2の端末装置から送信されたデータの受信を失敗したか否かを判断する第2の判断手段と、前記第1の判断手段が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第2の端末装置から送信されたデータを前記第1の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第2の判断手段が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う第1の転送制御手段と、前記第1の端末装置から送信されたデータを一時的に格納する受信バッファと、前記第2の端末装置の受信ウィンドウサイズを保持する受信ウィンドウサイズ保持手段と、前記受信ウィンドウサイズに対応して前記受信バッファに一時格納されたデータの転送速度を調節する制御を行う第2転送制御手段とを備えたことを特徴とする。
【0018】
この発明によれば、第1の判断手段が、前記第2の端末装置から前記第1の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第2の端末装置に送信するか否かを判断し、送信バッファが、前記第1の判断手段が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積し、第2の判断手段が、前記第1の端末装置が、前記第2の端末装置から送信されたデータの受信を失敗したか否かを判断し、第1の転送制御手段が、前記第1の判断手段が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第2の端末装置から送信されたデータを前記第1の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第2の判断手段が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う。また、受信バッファが、前記第1の端末装置から送信されたデータを一時的に格納し、受信ウィンドウサイズ保持手段が、前記第2の端末装置の受信ウィンドウサイズを保持し、第2の転送手段が、前記受信ウィンドウサイズに対応して前記受信バッファに一時格納されたデータの転送速度を調節する制御を行うようにしている。
【0019】
つぎの発明にかかるデータ配信管理装置は、第1の端末装置と第2の端末装置との間の伝送路上に配置され、前記第2の端末装置側を接続する伝送路が前記第1の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第1の端末装置と前記第2の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理装置において、前記第2の端末装置から前記第1の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第2の端末装置に送信するか否かを判断する第1の判断手段と、前記第1の判断手段が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積する送信バッファと、前記第1の端末装置が、前記第2の端末装置から送信されたデータの受信を失敗したか否かを判断する第2の判断手段と、前記第1の判断手段が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第2の端末装置から送信されたデータを前記第1の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第2の判断手段が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う第1の転送制御手段と、前記第1の端末装置と前記第2の端末装置との間のコネクション毎に該第1の端末装置および該第2の端末装置のウィンドウサイズの情報を取得するウィンドウサイズ取得手段と、前記ウィンドウサイズ取得手段によって取得された各コネクション毎のウィンドウサイズの情報を保持し、管理する管理手段と、前記管理手段によって管理されるウィンドウサイズに対応して各コネクション毎にデータの転送速度を調節する制御を行う第2の転送制御手段とを備えたことを特徴とする。
【0020】
この発明によれば、第1の判断手段が、前記第2の端末装置から前記第1の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第2の端末装置に送信するか否かを判断し、送信バッファが、前記第1の判断手段が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積し、第2の判断手段が、前記第1の端末装置が、前記第2の端末装置から送信されたデータの受信を失敗したか否かを判断し、第1の転送制御手段が、前記第1の判断手段が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第2の端末装置から送信されたデータを前記第1の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第2の判断手段が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う。また、ウィンドウサイズ取得手段が、前記第1の端末装置と前記第2の端末装置との間のコネクション毎に該第1の端末装置および該第2の端末装置のウィンドウサイズの情報を取得し、管理手段が、前記ウィンドウサイズ取得手段によって取得された各コネクション毎のウィンドウサイズの情報を保持して、管理し、第2の転送制御手段が、前記管理手段によって管理されるウィンドウサイズに対応して各コネクション毎にデータの転送速度を調節する制御を行うようにしている。
【0021】
つぎの発明にかかるデータ配信管理装置は、上記の発明において、前記第2の端末装置が、前記第1の端末装置から送信されたデータの受信を失敗したか否かを判断する第3の判断手段と、前記第3の判断手段が前記第1の端末装置から送信されたデータの受信を失敗したと判断した場合に、前記受信バッファに蓄積されたデータの再送処理を行う再送制御手段とを備えたことを特徴とする。
【0022】
この発明によれば、第3の判断手段が、前記第2の端末装置が、前記第1の端末装置から送信されたデータの受信を失敗したか否かを判断し、再送制御手段が、前記第3の判断手段が前記第1の端末装置から送信されたデータの受信を失敗したと判断した場合に、前記受信バッファに蓄積されたデータの再送処理を行うようにしている。
【0023】
つぎの発明にかかるデータ配信管理装置は、上記の発明において、前記再送制御手段は、前記データの再送処理を行う場合、該データの再送処理を行うとともに、該データに対する仮の送達確認応答を作成して前記第1の端末装置に送信することを特徴とする。
【0024】
この発明によれば、前記再送制御手段が、前記データの再送処理を行う場合、該データの再送処理を行うとともに、該データに対する仮の送達確認応答を作成して前記第1の端末装置に送信するようにしている。
【0025】
つぎの発明にかかるデータ配信管理装置は、上記の発明において、前記第1の端末装置から送信されたデータに対して再送処理が行われたか否かを情報を保持し、該情報をもとに該データが再送済みであるか否かを判断する第4の判断手段をさらに備え、前記再送制御手段は、前記受信の失敗に対応して前記受信バッファに蓄積されたデータの再送処理を行う場合、前記第4の判断手段が再送済みと判断した場合に、該データの再送処理を行わせない制御を行うことを特徴とする。
【0026】
この発明によれば、第4の判断手段が、前記第1の端末装置から送信されたデータに対して再送処理が行われたか否かを情報を保持し、該情報をもとに該データが再送済みであるか否かを判断し、前記再送制御手段が、前記受信の失敗に対応して前記受信バッファに蓄積されたデータの再送処理を行う場合、前記第4の判断手段が再送済みと判断した場合に、該データの再送処理を行わせない制御を行うようにしている。
【0027】
つぎの発明にかかるデータ配信管理装置は、上記の発明において、前記送受信されるデータを高速に転送すべきか否かを判断する高速転送判断手段と、前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置あるいは前記第2の端末装置のユーザに対して行う課金手段とをさらに備えたことを特徴とする。
【0028】
この発明によれば、高速転送判断手段が、前記送受信されるデータを高速に転送すべきか否かを判断し、課金手段が、前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置あるいは前記第2の端末装置のユーザに対して行うようにしている。
【0029】
つぎの発明にかかるデータ配信管理装置は、上記の発明において、前記課金手段は、前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合に、この高速化に伴った課金内容を送信元の前記第1の端末装置あるいは前記第2の端末装置に対して提示し、該第1の端末装置あるいは該第2の端末装置のユーザに対して高速化を行うか否かの情報の入力依頼を行う入力依頼手段を備え、前記課金手段は、前記入力依頼手段が、高速化を行う旨の通知を受けた場合に、前記送受信されるデータの高速転送に伴う課金処理を行うことを特徴とする。
【0030】
この発明によれば、入力依頼手段が、前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合に、この高速化に伴った課金内容を送信元の前記第1の端末装置あるいは前記第2の端末装置に対して提示し、該第1の端末装置あるいは該第2の端末装置のユーザに対して高速化を行うか否かの情報の入力依頼を行い、前記課金手段が、前記入力依頼手段が、高速化を行う旨の通知を受けた場合に、前記送受信されるデータの高速転送に伴う課金処理を行うようにしている。
【0031】
つぎの発明にかかるデータ配信管理システムは、請求項1〜9のいずれか一つに記載のデータ配信管理装置を、前記第1の端末装置および前記第2の端末装置との間の伝送路であって、前記第1の端末装置あるいは前記第2の端末装置を接続する伝送路に比して大きな伝送遅延をもつ伝送路の端部にそれぞれ配置したことを特徴とする。
【0032】
この発明によれば、上記の発明のいずれか一つに記載のデータ配信管理装置を、 前記第1の端末装置および前記第2の端末装置との間の伝送路であって、前記第1の端末装置あるいは前記第2の端末装置を接続する伝送路に比して大きな伝送遅延をもつ伝送路の端部にそれぞれ配置して、双方向通信を実現するようにしている。
【0033】
つぎの発明にかかるデータ配信管理システムは、上記の発明において、前記第1の端末装置あるいは前記第2の端末装置を接続する伝送路に比して大きな伝送遅延をもつ伝送路は、衛星回線であることを特徴とする。
【0034】
この発明によれば、前記第1の端末装置あるいは前記第2の端末装置を接続する伝送路に比して大きな伝送遅延をもつ伝送路を、衛星回線として実現している。
【0035】
つぎの発明にかかるデータ配信管理方法は、第1の端末装置と第2の端末装置との間の伝送路上に配置され、前記第2の端末装置側を接続する伝送路が前記第1の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、少なくとも前記第1の端末装置から送信されたデータを前記第2の端末装置側に転送するデータ配信管理方法において、前記第2の端末装置の受信ウィンドウサイズを保持する受信ウィンドウサイズ保持工程と、前記第1の端末装置から送信されたデータを一時的に格納する受信バッファ工程と、前記受信ウィンドウサイズに対応して前記受信バッファが一時格納したデータの転送速度を調節する制御を行う転送制御工程と、前記第1の端末装置から送信されたデータを高速に転送すべきか否かを判断する高速転送判断工程と、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置のユーザに対して行う課金工程と、を含むことを特徴とする。
【0036】
この発明によれば、受信ウィンドウサイズ保持工程によって、前記第2の端末装置の受信ウィンドウサイズを保持し、受信バッファ工程によって、前記第1の端末装置から送信されたデータを一時的に格納し、転送制御工程によって、前記受信ウィンドウサイズに対応して前記受信バッファが一時格納したデータの転送速度を調節する制御を行い、高速転送判断工程によって、前記送受信されるデータを高速に転送すべきか否かを判断し、課金工程によって、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置のユーザに対して行うようにしている。
【0037】
つぎの発明にかかるデータ配信管理方法は、第1の端末装置と第2の端末装置との間の伝送路上に配置され、前記第2の端末装置側を接続する伝送路が前記第1の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第1の端末装置と前記第2の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理方法において、前記第1の端末装置と前記第2の端末装置との間のコネクション毎に該第1の端末装置および該第2の端末装置のウィンドウサイズの情報を取得するウィンドウサイズ取得工程と、前記ウィンドウサイズ取得工程によって取得された各コネクション毎のウィンドウサイズの情報を保持し、管理する管理工程と、前記第1の端末装置から送信されたデータを一時的に格納する受信バッファ工程と、前記管理工程によって管理されるウィンドウサイズに対応して各コネクション毎に、前記受信バッファ工程によって格納されたデータの転送速度を調節する制御を行う転送制御工程と、前記送受信されるデータを高速に転送すべきか否かを判断する高速転送判断工程と、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置あるいは前記第2の端末装置のユーザに対して行う課金工程と、を含むことを特徴とする。
【0038】
この発明によれば、ウィンドウサイズ工程によって、前記第1の端末装置と前記第2の端末装置との間のコネクション毎に該第1の端末装置および該第2の端末装置のウィンドウサイズの情報を取得し、管理工程によって、前記ウィンドウサイズ取得工程によって取得された各コネクション毎のウィンドウサイズの情報を保持して、管理し、受信バッファ工程によって、前記第1の端末装置から送信されたデータを一時的に格納し、転送制御工程によって、前記管理工程によって管理されるウィンドウサイズに対応して各コネクション毎に、前記受信バッファ工程によって格納されたデータの転送速度を調節する制御を行い、高速転送判断工程によって、前記送受信されるデータを高速に転送すべきか否かを判断し、課金工程によって、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置あるいは前記第2の端末装置のユーザに対して行うようにしている。
【0039】
つぎの発明にかかるデータ配信管理方法は、第1の端末装置と第2の端末装置との間の伝送路上に配置され、前記第2の端末装置側を接続する伝送路が前記第1の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第1の端末装置と前記第2の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理方法において、前記第2の端末装置から前記第1の端末装置に対して送信するデータを受信した場合に仮の確認応答を作成して該第2の端末装置に送信するか否かを判断する第1の判断工程と、前記第1の判断工程が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積する送信バッファ工程と、前記第1の端末装置が、前記第2の端末装置から送信されたデータの受信を失敗したか否かを判断する第2の判断工程と、前記第1の判断工程が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第2の端末装置から送信されたデータを前記第1の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第2の判断工程が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う第1の転送制御工程と、前記第1の端末装置から送信されたデータを一時的に格納する受信バッファ工程と、前記第2の端末装置の受信ウィンドウサイズを保持する受信ウィンドウサイズ保持工程と、前記受信ウィンドウサイズに対応して前記受信バッファに一時格納されたデータの転送速度を調節する制御を行う第2の転送制御工程とを含むことを特徴とする。
【0040】
この発明によれば、第1の判断工程によって、前記第2の端末装置から前記第1の端末装置に対して送信するデータを受信した場合に仮の確認応答を作成して該第2の端末装置に送信するか否かを判断し、送信バッファ工程によって、前記第1の判断工程が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積し、第2の判断工程によって、前記第1の端末装置が、前記第2の端末装置から送信されたデータの受信を失敗したか否かを判断し、第1の転送制御工程によって、前記第1の判断工程が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第2の端末装置から送信されたデータを前記第1の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第2の判断工程が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う。また、受信バッファ工程によって、前記第1の端末装置から送信されたデータを一時的に格納し、受信ウィンドウサイズ保持工程によって、前記第2の端末装置の受信ウィンドウサイズを保持し、第2の転送制御工程によって、前記受信ウィンドウサイズに対応して前記受信バッファに一時格納されたデータの転送速度を調節する制御を行うようにしている。
【0041】
つぎの発明にかかるデータ配信管理方法は、第1の端末装置と第2の端末装置との間の伝送路上に配置され、前記第2の端末装置側を接続する伝送路が前記第1の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第1の端末装置と前記第2の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理方法において、前記第2の端末装置から前記第1の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第2の端末装置に送信するか否かを判断する第1の判断工程と、前記第1の判断工程が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積する送信バッファ工程と、前記第1の端末装置が、前記第2の端末装置から送信されたデータの受信を失敗したか否かを判断する第2の判断工程と、前記第1の判断工程が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第2の端末装置から送信されたデータを前記第1の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第2の判断工程が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う第1の転送制御工程と、前記第1の端末装置と前記第2の端末装置との間のコネクション毎に該第1の端末装置および該第2の端末装置のウィンドウサイズの情報を取得するウィンドウサイズ取得工程と、前記ウィンドウサイズ取得工程によって取得された各コネクション毎のウィンドウサイズの情報を保持し、管理する管理工程と、前記管理工程によって管理されるウィンドウサイズに対応して各コネクション毎にデータの転送速度を調節する制御を行う第2の転送制御工程とを含むことを特徴とする。
【0042】
この発明によれば、第1の判断工程によって、前記第2の端末装置から前記第1の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第2の端末装置に送信するか否かを判断し、送信バッファ工程によって、前記第1の判断工程が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積し、第2の判断工程によって、前記第1の端末装置が、前記第2の端末装置から送信されたデータの受信を失敗したか否かを判断し、第1の再送制御工程によって、前記第1の判断工程が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第2の端末装置から送信されたデータを前記第1の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第2の判断工程が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う。また。ウィンドウサイズ取得工程によって、前記第1の端末装置と前記第2の端末装置との間のコネクション毎に該第1の端末装置および該第2の端末装置のウィンドウサイズの情報を取得し、管理工程によって、前記ウィンドウサイズ取得工程によって取得された各コネクション毎のウィンドウサイズの情報を保持して、管理し、第2の転送制御工程によって、前記管理工程によって管理されるウィンドウサイズに対応して各コネクション毎にデータの転送速度を調節する制御を行うようにしている。
【0043】
つぎの発明にかかるデータ配信管理方法は、上記の発明において、前記第2の端末装置が、前記第1の端末装置から送信されたデータの受信を失敗したか否かを判断する第3の判断工程と、前記第3の判断工程が前記第1の端末装置から送信されたデータの受信を失敗したと判断した場合に、前記受信バッファに蓄積されたデータの再送処理を行う再送制御工程とを含むことを特徴とする。
【0044】
この発明によれば、第3の判断工程によって、前記第2の端末装置が、前記第1の端末装置から送信されたデータの受信を失敗したか否かを判断し、再送制御工程によって、前記第3の判断工程が前記第1の端末装置から送信されたデータの受信を失敗したと判断した場合に、前記受信バッファに蓄積されたデータの再送処理を行うようにしている。
【0045】
つぎの発明にかかるデータ配信管理方法は、上記の発明において、前記再送制御工程は、前記データの再送処理を行う場合、該データの再送処理を行うとともに、該データに対する仮の送達確認応答を作成して前記第1の端末装置に送信することを特徴とする。
【0046】
この発明によれば、前記再送制御工程が、前記データの再送処理を行う場合、該データの再送処理を行うとともに、該データに対する仮の送達確認応答を作成して前記第1の端末装置に送信するようにしている。
【0047】
つぎの発明にかかるデータ配信管理方法は、上記の発明において、前記第1の端末装置から送信されたデータに対して再送処理が行われたか否かを情報を保持し、該情報をもとに該データが再送済みであるか否かを判断する第4の判断工程をさらに含み、前記再送制御工程は、前記受信の失敗に対応して前記受信バッファに蓄積されたデータの再送処理を行う場合、前記第4の判断工程が再送済みと判断した場合に、該データの再送処理を行わせない制御を行うことを特徴とする。
【0048】
この発明によれば、第4の判断工程によって、前記第1の端末装置から送信されたデータに対して再送処理が行われたか否かを情報を保持し、該情報をもとに該データが再送済みであるか否かを判断し、前記再送制御工程が、前記受信の失敗に対応して前記受信バッファに蓄積されたデータの再送処理を行う場合、前記第4の判断工程が再送済みと判断した場合に、該データの再送処理を行わせないようにしている。
【0049】
つぎの発明にかかるデータ配信管理方法は、上記の発明において、前記送受信されるデータを高速に転送すべきか否かを判断する高速転送判断工程と、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置あるいは前記第2の端末装置のユーザに対して行う課金工程とをさらに含むことを特徴とする。
【0050】
この発明によれば、高速転送判断工程によって、前記送受信されるデータを高速に転送すべきか否かを判断し、課金工程によって、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置あるいは前記第2の端末装置のユーザに対して行うようにしている。
【0051】
つぎの発明にかかるデータ配信管理方法は、上記の発明において、前記課金工程は、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合に、この高速化に伴った課金内容を送信元の前記第1の端末装置あるいは前記第2の端末装置に対して提示し、該第1の端末装置あるいは該第2の端末装置のユーザに対して高速化を行うか否かの情報の入力依頼を行う入力依頼工程を含み、前記課金工程は、前記入力依頼工程が、高速化を行う旨の通知を受けた場合に、前記送受信されるデータの高速転送に伴う課金処理を行うことを特徴とする。
【0052】
この発明によれば、入力依頼工程によって、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合に、この高速化に伴った課金内容を送信元の前記第1の端末装置あるいは前記第2の端末装置に対して提示し、該第1の端末装置あるいは該第2の端末装置のユーザに対して高速化を行うか否かの情報の入力依頼を行い、前記課金工程が、前記入力依頼工程が、高速化を行う旨の通知を受けた場合に、前記送受信されるデータの高速転送に伴う課金処理を行うようにしている。
【0053】
つぎの発明にかかるプログラムは、請求項のいずれか一つに記載された方法をコンピュータに実行させるプログラムであり、そのプログラムが機械読み取り可能となり、これによって、請求項のいずれか一つの動作をコンピュータによって実行することができる。
【0054】
【発明の実施の形態】
以下、添付図面を参照して、この発明にかかるデータ配信管理装置、これを用いたデータ配信管理システムおよびデータ配信管理方法ならびにその方法をコンピュータに実行させるプログラムの好適な実施の形態を詳細に説明する。
【0055】
実施の形態1.
図1は、この発明の実施の形態1であるデータ配信管理装置を含むデータ配信管理システムの構成を示すブロック図である。図1において、このデータ配信管理システムは、端末装置C1が回線2aを介してデータ配信管理装置10に接続され、データ配信管理装置10が回線3を介してデータ配信管理装置20に接続され、データ配信管理装置20が回線2bを介して端末装置C2に接続される。回線3は、衛星回線などの伝送遅延の大きな回線であり、回線2a,2bは、回線3に比して伝送遅延が小さい回線である。端末装置C1,C2間は、TCP通信が行われる。
【0056】
データ配信管理装置10は、ゲートウェイ機能部10aと、配信管理テーブル1と、プロトコル管理テーブル5と、送信バッファ6、および受信バッファ7とを有する。ゲートウェイ機能部10aは、端末装置C1との間においてデータパケットの入出力処理を行う通信部17と、データ配信管理装置20を介した端末装置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とを有する。
【0057】
なお、図1において、送信バッファ6、受信バッファ7、およびtmpACKバッファ4は、それぞれ別個のバッファとして示されているが、これに限らず、部分的あるいは全てを同一のバッファとして実装するようにしてもよい。また、別個のバッファとして実装する場合であっても、同一のバッファとして実装する場合であっても、管理目的に応じて制御情報などを含めた情報とともに用いることが可能な図示しない管理テーブルを設け、パケットデータの格納位置が識別可能なように実装することによって、管理および検索の効率化を図ることができる。
【0058】
データ配信管理装置20は、データ配信管理装置10と同じ構成を有する。データ配信管理装置10は、端末装置C1から送信されたデータパケットをデータ配信管理装置20を介して端末装置C2に転送する。この際、データ配信管理装置10は、tmpACK使用判定部12において端末装置C1から受信したデータパケットに対し、tmpACKの返送機能を適用するか否かを判定し、適用すると判定された場合、端末装置C1に、送信されたデータパケットに対する仮の到達確認応答(tmpACK)を返送し、データ配信管理装置20は、通常のゲートウェイと同様に、データ配信管理装置10から送られたデータパケットを端末装置C2に転送するが、この際、このデータパケットをバッファリングし、端末装置C2のウィンドウサイズに応じて該データパケットの転送速度調整を行う。
【0059】
また、データ配信管理装置20は、端末装置C2から送信されたデータパケットをデータ配信管理装置10を介して端末装置C1に転送する。この際、データ配信管理装置20は、tmpACK使用判定部12において端末装置C2から受信したデータパケットに対し、tmpACKの返送機能を適用するか否かを判定し、適用すると判定された場合、端末装置C2に、送信されたデータパケットに対するtmpACKを返送し、データ配信管理装置10は、通常のゲートウェイと同様に、データ配信管理装置20から送られたデータパケットを端末装置C1に転送するが、この際、このデータパケットをバッファリングし、端末装置C1のウィンドウサイズに応じて該データパケットの転送速度調整を行う。これによって、端末装置C1,C2間の双方向通信が実現される。なお、2つのデータ配信管理装置10,20は、遅延の小さな回線2a,2bから受信したデータを遅延の大きな回線3に転送する場合、通常のルータとして機能する他、仮の送達確認応答を作成し、転送するデータを一時保存し、このデータの宛先における受信ができたか否かの判定を行い、この宛先において受信を失敗したと判定した場合には、このデータの再送処理を行う(後述する図6に示すフローチャート参照)。
【0060】
ここで、図2〜図9を参照して、データ配信管理装置10のデータ配信管理処理について説明する。まず、ゲートウェイ機能部10aの通信部17,11は、データパケットを受信すると、この受信したデータパケットを受信バッファ7に一時保存し、SG配信管理部16は、図2に示す配信処理を行う。
【0061】
図2において、まず、データ配信管理装置10は、遅延の大きな回線3から受信し、遅延の小さな回線2aを介した宛先である端末装置C1に転送するデータであるか否かを判断する(ステップS11)。遅延の大きな回線3から受信し、遅延の小さな回線2aに転送するデータであった場合(S11,YES)、データ配信管理装置10は、遅延回線からのパケット処理、すなわち端末装置C1のウィンドウサイズに応じたデータ転送速度の調節を行って(ステップS12)、本処理を終了する。なお、この遅延回線からのパケット処理の詳細については後述する。
【0062】
一方、遅延の大きな回線3から受信したデータでなかった場合、すなわち端末装置C1から遅延の小さな回線2aを介して受信し、遅延の大きな回線3を介して宛先(端末装置C2)に転送するデータであった場合(ステップS11,NO)、tmpACK利用候補パケットの処理を行う(ステップS13)。すなわち、tmpACK使用判定部12が、受信したデータパケットのチェックを行い、このチェック結果に応じてデータ配信管理装置10がもつ受信データパケットに対するtmpACK利用可能フラグの「ON」、「OFF」を決定し、必要に応じてtmpACK利用可能フラグの「ON」、「OFF」も含め、受信データパケットの情報を配信管理テーブル1に登録する(ステップS13)。このtmpACK利用候補パケットの処理の詳細については後述する。
【0063】
その後、tmpACK制御フラグをもとにtmpACKの利用制御を行うか否かを判断する(ステップS14)。tmpACKの利用制御を行わない場合(ステップS14,NO)には、受信したデータをそのまま宛先に転送し(ステップS15)、本処理を終了する。一方、tmpACKの利用制御を行う場合(ステップS14,YES)には、tmpACK利用制御処理を実行して(ステップS15)、本処理を終了する。このtmpACK利用制御処理の詳細については後述する。
【0064】
図3は、図2に示したステップS12における遅延回線からのパケット処理手順を示すフローチャートである。図3において、遅延の大きな回線3を介して受信し、遅延の小さな回線2aに転送するデータセグメントを受信すると、まず、データが管理している通信のものであり(IPおよびポートの組み合わせで判断)かつ、コードビット(CodeBit)のACKフラグおよびこの通信におけるデータ送信の方向(配信管理テーブルにある通信と送受信とが逆のデータは、ACKであると判断する)によって、この受信したデータセグメントがACKセグメントであるか否かを判断する(ステップS21)。たとえば、管理している通信が図4に示しているもののみの場合、送信元IPが「10.74.3.200」、送信元ポートが「1301」、宛先IPが「10.74.3.177」、宛先ポートが「FTP.DATA」であり、かつ、ACKフラグが「ON」であるデータをACKと判断する。
【0065】
受信したデータセグメントがACKセグメントでなかった場合(ステップS21,NO)、さらに、配信管理テーブル1内の宛先の受信ウィンドウ情報から、宛先の受信バッファが十分であるか否かを判断する(ステップS22)。
【0066】
宛先の受信バッファが十分である場合(ステップS22,YES)、伝送遅延の小さな回線2aを介した宛先(端末装置C1)にデータを転送し(ステップS25)、本処理を終了する。一方、宛先の受信バッファが十分でない場合(ステップS22,NO)、転送するデータを受信バッファ7に一時保存し(ステップS23)、宛先のウィンドウ情報から、宛先の受信バッファが十分に回復したと確認できるまでデータ転送を中断し、宛先からのデータセグメントのTCPヘッダのウィンドウフィールドを参照し、ウィンドウサイズ情報を得て、配信管理テーブル1に記録し、このウィンドウサイズ情報をもとに、宛先における受信バッファが十分になったと判断された時点で、データ転送を再開し、これによってデータの転送速度の調節を行う(ステップS24)。その後、伝送遅延の小さい回線2aを介した宛先(端末装置C1)に対するデータ転送を行って(ステップS25)、本処理を終了する。
【0067】
一方、受信したデータセグメントがACKセグメントである場合(ステップS21,YES)、受信したデータセグメントが、宛先からの送達確認応答であるか否かを判断し、この宛先からの送達確認応答であった場合、tmpACKバッファ4に、この受信したデータセグメントを保存し、SG配信管理部16による受信確認処理および再送処理に、宛先からの送達確認応答を受信したことを通知するイベントを発生させる(ステップS26)。この受信確認処理および再送処理については、後述する。
【0068】
その後、配信管理テーブル1を参照して、tmpACKの送信状況すなわち送信済みか否かの状況によって、このACKセグメントを転送するか否かを判断し(ステップS27)、ACKセグメントが送信済みである場合(ステップS27,NO)には、本処理を終了し、ACKセグメントが送信済みでない場合(ステップS27,YES)には、ステップS22に移行し、上述したように宛先のウィンドウサイズが十分である場合には、そのままACKセグメントを転送し、宛先のウィンドウサイズが十分でない場合には、データの転送速度を調節してACKセグメントを転送し、その後、本処理を終了する。
【0069】
ここで、図4は、配信管理テーブル1の一例を示す図である。図4において、項目D11〜D15は、管理単位が同じ通信に関する情報を表す項目であり、項目D16〜D18は、管理単位が同じ通信においてデータ配信管理装置10が受信したデータパケットに関する情報を表す項目である。各項目D11〜D18は、データ配信管理装置10が受信したデータパケットから取得された情報である。項目D11は、管理する通信の送信元IPアドレスを表し、項目D12は、宛先IPアドレスを表し、項目D13は、送信元ポート番号を表し、項目D14は、宛先ポート番号を表し、項目D15は、送信元および宛先におけるそれぞれの最新の送信ウィンドウサイズおよび受信ウィンドウサイズを表している。また、項目D16は、この通信においてデータ配信管理装置10が受信したデータセグメントのシーケンス番号を表し、項目D17は、tmpACKの送信に関する情報を表している。この項目D17の情報は、送信元に対して一定の条件が整った時などの条件付の場合を含め、送信可能なデータパケットであるか否かの情報およびtmpACKを送信したか否かの情報などを値として用いるものである。また、項目D18は、宛先からの送達確認応答(RRACK)に対する情報を表すものであり、図4では、対応するデータパケットが、RRACKを受信済であることを表す「ACK受信済」およびRRACKの到達を待っている状態であることを表す「ACK待ち」の2つの値をもつ。
【0070】
さらに、項目D19は、「受信側GW(ゲートウェイ)における再送」フラグを示す項目であり、送信元から、遅延の大きな回線を介して受信したデータセグメントを、遅延の小さい回線を介した宛先に転送する際、転送するデータセグメントをバッファリングし、かつ再送の責任をもつか否かの情報を示す項目であり、値として、遅延の大きな回線から遅延の小さい回線にデータセグメントを転送する場合であり、かつ再送の責任をもつ場合、「使用済」とし、遅延の大きな回線から遅延の小さい回線にデータセグメントを転送する場合であり、かつ再送の責任を持たない場合、「未使用」とし、遅延の大きな回線から遅延の小さい回線にデータセグメントを転送する場合でない場合、「NULL」とする値をもつ。
【0071】
たとえば、図4において、行DD1には、送信元の端末装置「10.74.3.177」の送信ポート「FTP.DATA」から、宛先の端末装置「10.74.3.200」の宛先ポート「1301」に対する通信において、送信元の送信ウィンドウサイズおよび受信ウィンドウサイズ、および宛先の送信ウィンドウサイズおよび受信ウィンドウサイズは全て16Kバイトであり、シーケンス番号「398」を持つデータセグメントは、tmpACKの送信が「不可」、すなわち、いかなる条件になった場合でも、tmpACKの送信を行わないデータセグメントであり、現時点で宛先からの送達確認応答を待っている状態であることを表すものであり、かつ自データ配信管理装置が、遅延の大きな回線から遅延の小さい回線にデータセグメントを転送する場合であって、再送の責任をもつ場合であることを示している。
【0072】
また、図5において、行DD2には、送信元の端末装置「10.74.3.177」の送信ポート「FTP.DATA」から、宛先の端末装置「10.74.3.200」の宛先ポート「1301」に対する通信において、送信元の送信ウィンドウサイズおよび受信ウィンドウサイズ、および宛先の送信ウィンドウサイズおよび受信ウィンドウサイズは全て16Kバイトであり、シーケンス番号「398」を持つデータセグメントは、tmpACKの送信が「不可」、すなわち、いかなる条件になった場合でも、tmpACKの送信を行わないデータセグメントであり、現時点で宛先からの送達確認応答を待っている状態であることを表すものであり、かつ自データ配信管理装置が、遅延の大きな回線から遅延の小さい回線にデータセグメントを転送する場合でないことを示している。
【0073】
SG配信管理部16は、この配信管理テーブル1の上述した項目および必要に応じて追加する項目を用いて、データセグメントのtmpACKの管理、受信確認、および受信結果に応じた再送の制御、送信元へのtmpACKおよび宛先からの送達確認応答であるRRACKの送信速度の制御、宛先への転送速度の制御、データ配信管理装置10の送信バッファ6および受信バッファ7の管理を行うことができる。
【0074】
つぎに、図6に示したフローチャートを参照して、ステップS13におけるtmpACK利用候補パケットの処理手順について説明する。遅延の大きな回線3からのデータでないと判断された場合(ステップS11,NO)、まず、この受信したデータセグメントのヘッダ部のコードビット(CodeBit)を参照して、通信開始時のデータセグメントであるか否かを判断する(ステップS31)。
【0075】
受信したデータセグメントが通信開始時のデータセグメントである場合(ステップS31,YES)、さらに、配信管理テーブル1を参照し、正しい通信開始手順であるか否かを判断する(ステップS32)。この正しい通信開始手順であるか否かは、たとえば配信管理テーブル1と受信したデータセグメントのTCPヘッダとを参照し、配信管理テーブル1に登録されていないSYNパケットであるか、あるいはTCPの3ハンドシェーク方式の手順に従ったデータセグメントを送信元および宛先から受け取っているか、などによって判断する。
【0076】
正しい通信開始手順であると判断された場合(ステップS32,YES)、配信管理テーブル1に、データセグメントに関するエントリを追加し(ステップS33)、この受信したデータパケットを宛先に転送し(ステップS34)、本処理を終了する。一方、正しい通信手順でないと判断された場合(ステップS32,NO)、tmpACK利用可能フラグを「OFF」にし(ステップS35)、その後、この受信したデータパケットを宛先に転送し(ステップS34)、本処理を終了する。
【0077】
一方、受信したデータセグメントが通信開始時のデータセグメントでない場合(ステップS31,NO)、さらに、配信管理テーブル1上に既に登録されている通信であるか否かを判断する(ステップS36)。この判断は、受信したデータセグメントのIPヘッダにある送信元IPアドレスおよび宛先IPアドレス、およびTCPヘッダにある送信元ポート番号および宛先ポート番号を参照し、IPヘッダ中の送信元IPとTCPヘッダ中の送信元ポートとの組み合わせおよび宛先IPと宛先ポートとの組み合わせで表される通信が、配信管理テーブル1上に存在するか否かによって行われる。受信したデータセグメントが配信管理テーブル1上に登録されていない場合(ステップS36,NO)、tmpACK利用可能フラグを「OFF」にし(ステップS35)、その後、この受信したデータパケットを宛先に転送し(ステップS34)、本処理を終了する。
【0078】
一方、受信したデータセグメントが配信管理テーブル1上に登録されている場合(ステップS36,YES)には、さらに、受信したデータセグメントが、宛先の受信ウィンドウ内のセグメントであるか否かを判断する(ステップS37)。宛先の受信ウィンドウ内のセグメントである場合(ステップS37,YES)、さらに、データが管理している通信のものであり(IPおよびポートの組み合わせで判断)かつ、コードビット(CodeBit)のACKフラグおよびこの通信におけるデータ送信の方向(配信管理テーブルにある通信と送受信とが逆のデータは、ACKであると判断する)によって、この受信したデータセグメントがACKセグメントであるか否かを判断する(ステップS38)。たとえば、管理している通信が図4に示しているもののみの場合、送信元IPが「10.74.3.200」、送信元ポートが「1301」、宛先IPが「10.74.3.177」、宛先ポートが「FTP.DATA」であり、かつ、ACKフラグが「ON」であるデータをACKと判断する。宛先からのACKセグメントでない場合(ステップS38,NO)、さらにFINフラグをチェックし、通信終了パケットであるか否かを判断する(ステップS39)。
【0079】
受信したデータセグメントが、通信終了パケットでない場合(ステップS39,NO)、さらにウィンドウプローブであるか否かを判断する(ステップS40)。ウィンドウプローブである場合(ステップS40,YES)、tmpACK利用可能フラグを「OFF」にした(ステップS41)後、受信したデータセグメントを宛先に転送し(ステップS34)、本処理を終了する。
【0080】
一方、受信したデータセグメントがウィンドウプローブでない場合(ステップS40,NO)、配信管理テーブル1に、この情報を登録し、tmpACK利用可能フラグを「ON」に設定し(ステップS42)、その後、受信したデータセグメントを宛先に転送し(ステップS34)、本処理を終了する。なお、tmpACK利用可能フラグを「ON」にしたデータセグメントは、送信バッファ6に保存される。このステップS42の処理を行う際、最新のデータセグメント到着時点における情報として、配信管理テーブル1の個々のデータセグメントに関する情報のエントリ毎に、tmpACK利用可能か否かの情報を設定する。これによって、たとえばスロースタート時には、tmpACK利用制御を行わないなどの、ウィンドウサイズの状態に応じた細かな制御をかけることが可能となる。
【0081】
一方、受信したデータセグメントが、ACKセグメントである場合(ステップS38,YES)、受信確認処理および再送処理を行う(ステップS43)。この処理では、受信したデータセグメントをtmpACKバッファ4に保存し、後述するSG配信管理部16による受信確認処理および再送処理に、宛先から送達確認応答を受信したことを通知するイベントを発生させる。その後、このデータセグメントを転送するか否かを判断する(ステップS44)。すなわち、配信管理テーブル1を参照し、tmpACKの送信状況、すなわち送信済みか否か、およびACKセグメントにデータがPiggyBackされているか否かによって、ACKセグメントを転送するか否かを判断する。tmpACKが送信済み、かつデータがPiggyBackされていない場合(ステップS44,NO)は、本処理を終了し、それ以外の場合(ステップS44,YES)には、宛先に受信したデータセグメントを転送し(ステップS34)、本処理を終了する。
【0082】
受信したデータセグメントが通信終了セグメントである場合(ステップS39,YES)には、受信したデータセグメントのエントリを登録し、同一通信内のデータセグメントのエントリであって、tmpACKが利用可能となっており、かつtmpACKが送信済みでないものを全てtmpACK利用不可とし、tmpACK利用フラグを「OFF」にし、FIN受信済みフラグを「ON」にし(ステップS45)、その後、受信したデータセグメントを宛先に転送し(ステップS34)、本処理を終了する。
【0083】
つぎに、図7に示すフローチャートを参照して、データ配信管理装置10のSG配信管理部16による受信確認処理およびその結果による再送制御処理の手順について説明する。図7において、まず送達確認応答の到着を示すイベントを受け取ったか否かを判断する(ステップS51)。このイベントは、ステップS27,S43において発生されるイベントである。送達確認応答が到着していた場合(ステップS51,YES)、宛先からの開始通知であるか否かを判断し(ステップS61)、開始通知であった場合(ステップS61,YES)、本処理を終了する。
【0084】
一方、宛先からの開始通知でないと判断された場合(ステップS61,NO)、配信管理テーブル1に、受信した送達確認応答が示すデータセグメントに対する結果を記入する(ステップS62)。たとえば、SACKオプションなしの通信の場合、配信管理テーブル1のエントリのうち、ACK受信待ちであり、かつ、受信した送達確認応答が示すデータセグメントに比してシーケンス番号が小さいデータセグメントの全てをACK受信済にする。一方、SACKオプションありの通信の場合、配信管理テーブル1のエントリのうち、ACK受信待ちであり、かつ、受信した送達確認応答が示すデータセグメントに比してシーケンス番号が小さいデータセグメントであり、かつ、SACKオプションにないデータセグメントの全てをACK受信済とする。
【0085】
ステップS62の処理後、配信管理テーブル1のエントリのうち、ACK受信済のセグメントを送信バッファ6から削除する(ステップS63)。ここで、ACK受信セグメントの削除処理は、削除に関するタイマを持ち、一定時間毎にまとめて削除するようにしてもよい。
【0086】
一方、ステップS51において、宛先からの送達確認応答受信のイベントを受けていないと判断された場合、さらに再送タイムアウトが発生したか否かを判断する(ステップS52)。再送タイムアウトが発生していなかった場合(ステップS52,NO)、そのまま本処理を終了する。一方、再送タイムアウトが発生したと判断された場合(ステップS52,YES)、配信管理テーブル1にあるタイムアウトが発生したデータセグメントのエントリの再送回数をインクリメントし、再送フラグを「ON」にし(ステップS53)、配信終了か否かの判断を行う(ステップS54)。通常のTCP通信における配信終了のデータパケットの交換を検知した場合、あるいは再送のタイムアウトを繰り返し、データ配信管理装置10が再送のリトライアウトをすることによって配信を終了する場合に、配信終了と判断され(ステップS54,YES)、配信終了処理を行い(ステップS56)、本処理を終了する。なお、再送のタイムアウト値、およびリトライアウトの回数は、端末装置C1,C2における再送のタイムアウト値およびリトライアウト回数よりも十分に長く設定される必要がある。
【0087】
一方、ステップS54において、配信終了でないと判断された場合、ステップS57〜S59の再送処理を行う。すなわち、ステップS57では、配信管理テーブル1の再送フラグが「ON」になっているものを、送信バッファ6のデータセグメントを再送し、配信管理テーブル1の再送フラグを「OFF」にする。このステップS57の処理後、再送タイマをリセットし(ステップS58)、データ配信管理装置10の再送回数カウンタのインクリメントを行い(ステップS59)、本処理を終了する。
【0088】
つぎに、図8に示したフローチャートを参照して、ステップS15におけるtmpACK利用制御処理手順について説明する。図8において、まず、ステップS13における一連の処理によって設定されたFIN受信済フラグの値を参照し、FINパケット受信済であるか否か、すなわち通信終了セグメントが受信済であるか否かを判断する(ステップS71)。通信終了セグメントが受信済である場合(ステップS71,YES)、そのまま本処理を終了する。
【0089】
一方、通信終了セグメントが受信済でない場合(ステップS71,NO)、tmpACKバッファ4に保存してあるデータセグメントが(SYN+ACK)セグメントであるか否かを判断する(ステップS72)。(SYN+ACK)セグメントである場合(ステップS72,YES)、(SYN+ACK)セグメントが宛先に未転送だった場合に転送を行って(ステップS73)、本処理を終了する。
【0090】
一方、(SYN+ACK)セグメントでない場合(ステップS72,NO)、さらに、tmpACK送信に必要なセグメントを受信しているか否かを判断する(ステップS74)。このステップS74の処理は、たとえば、tmpACKを作成しようとしているデータセグメントXより、後のシーケンス番号のデータセグメントが1つ以上受信した時点で、このデータセグメントXに対するtmpACK作成可能状態とする実装によって判断される。
【0091】
ここで、tmpACK送信に必要なデータセグメントを受信していない場合(ステップS74,NO)、tmpACKバッファ4に未転送のACKセグメントがあれば、送信元に転送し(ステップS73)、本処理を終了する。
【0092】
一方、tmpACK送信に必要なデータセグメントを受信している場合(ステップS74,YES)、tmpACK作成の対象となる送信元からのデータセグメントを決定する(ステップS75)。このステップS75の処理では、配信管理テーブル1を用い、送信元のウィンドウサイズ、tmpACK送信状況および端末装置C1,C2間のTCPプロトコルのSACKオプションなどを参照し、処理を行う。たとえば、SACKオプションなしの通信の場合、配信管理テーブル1のエントリのうち、ACK受信待ちであり、かつ、tmpACKを送信しておらず、かつ自データセグメントより、シーケンス番号が小さいデータセグメントが全てデータ配信管理装置において受信されているデータセグメントの中で、シーケンス番号が2番目に大きいものを、tmpACK作成対象として決定する。
【0093】
その後、tmpACK作成バッファに保存してあるデータセグメントの確認応答番号を、ステップS75によって決定したtmpACK作成対象のデータセグメントのシーケンス番号に「1」を加えた番号に書き換えたデータセグメントを、tmpACKとして作成する(ステップS76)。SACKオプション付きのTCPの場合、ステップS75においてSACKオプションを考慮したtmpACK作成対象を決定し、ステップS76において、SACKオプションも加えた送達確認応答を作成する実装を行うことが可能である。ステップS76の処理後、送信元に、このtmpACKを送信する(ステップS77)。このとき、同時に、tmpACKの対象となったデータセグメントに対する再送タイマのカウントを開始する。このステップS77の処理後、送信したtmpACKが対応する全ての配信管理テーブル1上にエントリしてあるデータセグメントの情報を、tmpACK送信済にし(ステップS78)、本処理を終了する。
【0094】
この実施の形態1では、データ配信管理装置10,20が、通信を行う際、送信元および宛先の双方のウィンドウサイズの情報を保持しておき、遅延の小さい回線を介して受信し、遅延の大きい回線を介した宛先に対してデータセグメントを送信する場合に、宛先に対してデータセグメントを転送するとともに、必要に応じて仮の送達確認応答を作成して送信し、かつ仮の送達確認応答の対象となったデータセグメントを一時的に保持し、一定の期間のうちに宛先から送達確認応答を受信できなかった場合にデータ配信管理装置が再送を行うようにし、これによって、送信元のウィンドウサイズの縮小を防ぎ、かつTCPの信頼性機構の保証を行うようにしている。
【0095】
また、遅延の大きい回線を介して受信し、遅延の小さい回線を介した宛先にデータセグメントを転送する場合、宛先のウィンドウサイズの情報をもとに、受信バッファの空き具合を判断し、受信バッファが十分でない場合には、転送データをデータ配信管理装置において一時保持し、宛先における受信バッファが十分になるまで、宛先に対する転送を中断し、宛先における受信バッファが十分になったと判断した時点で、データ転送を再開するようにしているので、伝送遅延によるウィンドウサイズの減少に関する情報の遅れのために、宛先の受信バッファがオーバフローすることを防ぐことができ、宛先における受信確認と矛盾なく、かつ全てのデータが確実に転送され、データ配信管理装置と送信元あるいは宛先との間の輻輳を抑え、高信頼かつ高速な通信を実現することができる。
【0096】
実施の形態2.
つぎに、この発明の実施の形態2について説明する。この実施の形態2では、さらに受信側のデータ配信管理装置10,20において再送の制御を行うようにし、再送の必要性の判定を迅速に行って遅延の大きな回線3上のフローを削減し、再送に要する時間を短縮するようにしている。なお、この実施の形態2の構成および動作は、図1および図2に示した構成および動作と同じであるが、動作の詳細が異なる。
【0097】
図9は、図2に示したステップS12に対応する実施の形態2にかかる処理手順を示すフローチャートである。図9において、まず、データが管理している通信のものであり(IPおよびポートの組み合わせで判断)かつ、コードビット(CodeBit)のACKフラグおよびこの通信におけるデータ送信の方向(配信管理テーブルにある通信と送受信とが逆のデータは、ACKであると判断する)によって、この受信したデータセグメントがACKセグメントであるか否かを判断する(ステップS81)。たとえば、管理している通信が図4に示しているもののみの場合、送信元IPが「10.74.3.200.」、送信元ポートが「1301」、宛先IPが「10.74.3.177」、宛先ポートが「FTP.DATA」であり、かつ、ACKフラグが「ON」であるデータをACKと判断する。ACKセグメントでない場合(ステップS81,NO)、配信管理テーブル1に既に登録済の通信であるか否かおよび転送を行うか否かの判断を行う(ステップS82)。配信管理テーブル1に既に登録済の通信であるか否かは、IPヘッダ中の送信元IPとTCPヘッダ中の送信元ポートとの組み合わせおよび宛先IPと宛先ポートとの組み合わせが全て同一の通信を、同一の管理単位とし、全て同一の場合、登録済の通信であると判定する。転送を行うか否かの判断において転送を行う場合とは、次のような場合である。すなわち、登録されていない通信の正しい宛先と送信元アドレスの通信(正しい形式のIPアドレス)のSYNパケットである場合、あるいは、登録済の通信であり、かつ受信側のデータ配信管理装置による再送フラグが使用済でなかった場合である。
【0098】
ステップS82において、転送すると判断された場合(ステップS82,YES)、配信管理テーブル1上に、この通信のエントリがない場合はこの通信のエントリおよびこのデータセグメントのエントリを追加登録し、転送する通信のエントリがあった場合は、このデータセグメントのエントリを追加登録する処理を行う(ステップS83)。
【0099】
その後、配信管理テーブル1にある宛先の受信ウィンドウの情報から宛先の受信バッファ7が十分であるか否かを判断する(ステップS84)。宛先の受信バッファ7が十分であると判断された場合(ステップS84,YES)、受信側のデータ配信管理装置による再送を、使用するか否かを判断する(ステップS85)。この受信側のデータ配信管理装置による再送を使用するか否かの判断処理は、たとえば、予め、受信側のデータ配信管理装置による再送を使用するか否かに関するフラグを設けておき、このフラグの値によって利用判定を行うようにする。なお、受信側のデータ配信管理装置とは、たとえば、端末装置C1側から端末装置C2側にデータを送信する場合におけるデータ配信管理装置20をいう。
【0100】
その後、受信側のデータ配信管理装置による再送を使用する場合(ステップS85,YES)、受信側のデータ配信管理装置による再送のための一連の処理を行う。この受信側のデータ配信管理装置による再送のための処理とは、宛先に近いデータ配信管理装置、すなわち遅延の大きい回線を介して受信したデータセグメントを、遅延の小さい回線を介して宛先に転送を行うデータ配信管理装置において、転送するデータを、一時蓄積して再送するか否かを判定し、再送の必要があると判断した場合には、バッファリングしておいたデータを再送する処理であり、これによって、遅延の大きな回線を介して再送を行うことを回避し、結果として、遅延の大きい回線における輻輳を軽減し、また再送時間の短縮を図ることができる。
【0101】
図9において、受信側のデータ配信管理装置による再送を使用すると判断した場合(ステップS85,YES)、tmpACK利用判定処理を行い、tmpACKを利用するか否かを決定し、tmpACK利用フラグの「ON」、「OFF」の設定を行い(ステップS90)、ステップS91において、この設定されたtmpACK利用フラグを値をもとに、tmpACK利用処理を行うか否かを判断する。このステップS91におけるtmpACK利用判定処理の詳細については後述する。
【0102】
その後、tmpACKを利用すると判断した場合(ステップS91,YES)、図8に示したtmpACK利用処理を行う(ステップS92)。その後、二重再送回避処理を行い(ステップS93)、本処理を終了する。この二重再送回避処理とは、追加したデータセグメントに関するエントリの受信側のデータ配信管理装置における再送フラグを「再送済」に設定する処理である。
【0103】
一方、ステップS91においてtmpACKを利用しないと判断した場合(ステップS91,NO)、伝送遅延の小さい回線を介した宛先にデータセグメントを転送し(ステップS89)、本処理を終了する。
【0104】
一方、宛先の受信バッファが十分でないと判断された場合(ステップS84,NO)、転送データを受信バッファ7に保存し(ステップS86)、宛先のウィンドウ情報をもとに、受信バッファが十分に回復したと確認できるまで、転送を中断し、宛先からのデータセグメントのTCPヘッダのウィンドウフィールドを参照して宛先のウィンドウサイズ情報を得て配信管理テーブル1に記録し、ウィンドウ情報から、受信バッファが十分に回復したと確認できるまで一時的に転送を停止し、これによって転送速度の調節を行う(ステップS87)。その後、この転送速度の調節のもと、伝送遅延の小さい回線を介して、宛先へのデータ転送を実施し(ステップS89)、本処理を終了する。
【0105】
一方、ステップS91において、tmpACKを利用しないと判断した場合(ステップS91,NO)、ステップS93と同じ二重再送回避処理を行い(ステップS94)、その後、ステップS86と同様に、転送データのバッファリング処理を行い(ステップS95)、その後、伝送遅延の小さい回線を介して、宛先へのデータ転送を実施し(ステップS89)、本処理を終了する。
【0106】
一方、ACKセグメントである場合(ステップS81,YES)、受信確認処理を行う(ステップS96)。この受信確認処理では、受信したデータセグメントが、管理している通信であり、かつその宛先からの送達確認応答か否か、すなわち配信管理テーブル1にエントリされている通信であるか否かを判断し、宛先からの送達確認応答であった場合、tmpACKバッファ4に、受信したデータセグメントを保存し、SG配信管理部16による配信確認処理に、宛先から、送達確認応答を受信したことを通知するイベントを発生させる。
【0107】
その後、配信管理テーブル1を参照し、tmpACKの送信状況、すなわち送信済か否かによって、ACKを転送するか否か、およびACKにデータがPiggybackされているか否かを判断し(ステップS97)、tmpACK送信済かつデータがPiggyBackされていない場合(ステップS97,NO)、本処理を終了し、それ以外の場合、ステップS84に移行して、上述した処理を行う。
【0108】
つぎに、図10に示したフローチャートを参照して、ステップS90におけるtmpACK利用判定処理手順について説明する。図10において、まず受信したセグメントのヘッダ部のコードビットを参照し、通信開始時のデータセグメントであるか否かを判断する(ステップS101)。
【0109】
通信開始セグメントである場合(ステップS101,YES)、配信管理テーブル1を参照して、正しい通信開始手順であるか否かを判断する(ステップS102)。正しい通信開始手順であるか否かは、たとえば、配信管理テーブル1と、受信したデータセグメントのTCPヘッダとを参照し、配信管理テーブル1に登録されていないSYNパケットであるか、あるいはTCPの3ハンドシェーク方式の手順に従ったデータセグメントを送信元および宛先から受け取っているか否かによって判断する。
【0110】
ステップS102において、正しい通信開始手順であると判断した場合(ステップS102,YES)、配信管理テーブル1にデータセグメントに関するエントリを追加し(ステップS103)、その後、tmpACK利用可能フラグを「OFF」にし(ステップS104)、本処理を終了する。一方、正しい通信開始手順でない場合(ステップS102,NO)には、そのままtmpACK利用可能フラグを「OFF」にし、本処理を終了する。
【0111】
一方、ステップS101において、通信開始セグメントでない場合(ステップS101,NO)、受信したデータセグメントが、配信管理テーブル1に、既に登録済の通信であるか否かを判断する(ステップS105)。この判断は、IPヘッダ中の送信元IPとTCPヘッダ中の送信元ポートとの組み合わせおよび宛先IPと宛先ポートとの組み合わせが、全て同一の通信を同一の管理単位とし、全て同一の通信が存在する場合に、登録済の通信であるとして判定する。ステップS105において、配信管理テーブル1上に登録されていない通信であった場合(ステップS105,NO)、tmpACK利用可能フラグを「OFF」にし(ステップS104)、本処理を終了する。
【0112】
一方、配信管理テーブル1上に登録された通信であると判断された場合(ステップS105,YES)、受信したデータセグメントが、宛先の受信ウィンドウ内のデータセグメントであるか否かを判断する(ステップS106)。宛先の受信ウィンドウ内のセグメントである場合(ステップS106,YES)、さらにFINフラグをチェックし、最終パケットすなわち通信終了パケットであるか否かを判断する(ステップS107)。
【0113】
通信終了パケットである場合(ステップS107,YES)、受信したセグメントのエントリを登録し、同一通信内のデータセグメントのエントリで、tmpACK利用可能になっており、かつtmpACK送信済でないものを、tmpACK利用不可とし、データ配信管理装置のtmpACKフラグを「OFF」にし、FIN受信済フラグを「ON」にし(ステップS108)、本処理を終了する。
【0114】
一方、通信終了セグメントでない場合(ステップS107,NO)、ウィンドウプローブであるか否かを判断し(ステップS109)、ウィンドウプローブである場合(ステップS109,YES)、tmpACK利用可能フラグを「OFF」にし(ステップS110)、本処理を終了する。
【0115】
一方、ウィンドウプローブでない場合(ステップS109,NO)、配信管理テーブル1に、情報を登録し、tmpACK利用可能フラグを「ON」に設定し(ステップS111)、本処理を終了する。なお、tmpACK利用可能フラグを「ON」にしたデータセグメントは、送信バッファに保存する。このステップS111の処理を行う際、最新のデータセグメント到着時点における情報として、配信管理テーブル1の個々のデータセグメントに関する情報のエントリ毎に、tmpACK利用可能か否かの情報を設定する。これによって、たとえば、スロースタート時には、tmpACK利用制御を行わないなどのウィンドウサイズの状態に応じた細かな制御を行うことができる。
【0116】
この実施の形態2では、実施の形態1に加え、宛先のウィンドウサイズが十分であった場合には必要に宛先に対してデータセグメントを転送するとともに、必要に応じて仮の送達確認応答を作成して送信し、かつ仮の送達確認応答の対象となったデータセグメントを一時的に保存し、一定の期間のうちに宛先からの送達確認応答を受信できなかった場合、データ配信管理装置から、再送を行うことによって、送信元のウィンドウサイズの縮小を防ぎ、かつTCPの信頼性機構の保証を行い、また、仮の送達確認応答の作成および送信元に対する送信を行わなかった場合であっても、データセグメントを一時的に保持し、一定の期間のうちに、宛先からの送達確認応答を受信できなかった場合、データ配信管理装置は、再送を行うようにしているので、二重再送を防ぎつつ、遅延回線を介して再送を行うことを回避し、遅延の大きな回線の輻輳を軽減することができ、宛先における受信確認と矛盾なく、かつ全てのデータが確実に転送され、かつデータ配信管理装置と送信元あるいは宛先との間の輻輳を抑えた、高信頼かつ高速な通信が可能となる。
【0117】
実施の形態3.
つぎに、この発明の実施の形態3について説明する。この実施の形態3では、実施の形態1,2の構成に、受信したセグメントを高速化通信を行うべきか否かを判断し、高速化すべきデータであった場合、ユーザに対して高速化のための料金を提示し、ユーザが高速化を要求した場合に、高速化通信を行ってユーザに課金する処理を行う課金処理部30を備えるようにしている。
【0118】
図11は、この発明の実施の形態3であるデータ配信管理システムの構成を示すブロック図である。図11において、データ配信管理装置10,20は、課金処理部30を有する。その他の構成は、実施の形態1に示したデータ配信管理システムと同じであり、同一構成部分には同一符号を付している。
【0119】
ここで、図12に示すフローチャートを参照して、データ配信管理装置10,20のデータ配信処理手順について説明する。図12において、データ配信管理装置10,20は、まず高速化しない通信として登録済の通信ではなく、かつプロトコル管理テーブル5を参照して高速化すべきプロトコルの通信であるか否かを判断する(ステップS121)。高速化すべきデータである場合(ステップS121,YES)、課金処理部30は、ユーザに対して、高速化利用対象のデータである旨と高速化に伴う料金提示を行う(ステップS122)。
【0120】
その後、ユーザが高速化するか否かの決定結果を入力して、その結果をデータ配信管理装置10,20に通知し、データ配信管理装置10,20は、その通知を受け付ける(ステップS123)。さらに、ユーザからの通知が高速化を利用するものであるか否かを判断する(ステップS124)。
【0121】
高速化を利用する通信である場合(ステップS124,YES)、遅延の大きい回線から受信し、遅延の小さい回線に転送するデータであるか否かを判断する(ステップS125)。遅延の大きい回線から受信し、遅延の小さい回線に転送するデータである場合(ステップS125,YES)、ステップS12と同様に、遅延回線からのパケット処理を行って(ステップS126)、本処理を終了する。
【0122】
一方、遅延の大きい回線から受信し、遅延の小さい回線に転送するデータでない場合(ステップS125,NO)、ステップS13と同様に、tmpACK使用判定部12がデータセグメントのチェックを行い、そのチェック結果に応じて、データ配信管理装置10,20のもつ受信セグメントに対するtmpACK利用制御フラグの「ON」、「OFF」を決定し、必要に応じて、tmpACK利用制御フラグの「ON」、「OFF」を含めて受信セグメントの情報を配信管理テーブル1に登録する(ステップS127)。
【0123】
その後、tmpACK利用制御フラグの値を従って、tmpACK利用制御を行うか否かを判断する(ステップS128)。tmpACKを利用する場合(ステップS128,YES)、ステップS15と同様に、tmpACK利用制御を行い(ステップS129)、本処理を終了する。一方、tmpACKを利用しない場合(ステップS128,NO)、データセグメントを宛先に転送し(ステップS140)、その後、本処理を終了する。
【0124】
一方、高速化利用を行わない場合(ステップS124,NO)および高速化利用データでない場合(ステップS121,NO)、高速化を行わない通信として、課金処理部30内に保持し、登録する(ステップS130)。すなわち、個々のコネクションを一意に識別できる情報を、データセグメントのヘッダ情報から取得し、課金処理部30内に保持し、登録する。その後、このデータセグメントを宛先に転送し(ステップS140)、本処理を終了する。
【0125】
ここで、図11を参照して、具体的なデータ転送処理について説明する。まず、端末装置C1から端末装置C2に対してデータ転送を行う場合、データ配信管理装置10は、端末装置C1からデータを受信すると、ユーザに対して高速化するか否かを提示し、ユーザの判断結果を受け付ける。ここで、ユーザが高速化を選択した場合、仮の送達確認応答を端末装置C1に送出するとともに、データ配信管理装置20に対してデータを転送する。データ配信管理装置20は、受信側におけるデータ配信管理装置として再送処理機能を有し、データ配信管理装置20は、このデータを受け付けると、このデータセグメントを保持し、再送タイマをセットして、端末装置C2に対して転送する。このとき、データ配信管理装置20は、端末装置C2からの送達確認応答を再送タイムアウトする前に、受け取れなかった場合、再送済フラグを立てて、端末装置C2に対して保持したデータの再送を行う。
【0126】
また、端末装置C2から端末装置C1に対してデータを転送する場合、データ配信管理装置20は、端末装置C2からデータを受信すると、ユーザに高速化するか否かの判断を求め、ユーザが高速化を選択した場合、端末装置C2に対して仮の送達確認応答を送出するとともに、データ配信管理装置10に対してデータを転送する。データ配信管理装置10は、この場合受信側のデータ配信管理装置として再送処理機能を有し、データ配信管理装置10は、このデータを受け付けると、データセグメントを保持し、再送タイマをセットし、端末装置C1に対してこのデータを転送する。このとき、データ配信管理装置10は、端末装置C1から送達確認応答を再送タイムアウトする前に、受け取れなかった場合、再送済フラグを立てて端末装置C1に向けて、保持されたデータを再送する。
【0127】
このようにして、2つのデータ配信管理装置10,20を組み合わせることによって、送信元のウィンドウサイズの縮小によるスループットの現象を防ぎつつ、通信の信頼性を保障し、かつ受信側のデータ配信管理装置における再送機能を用いることで、遅延回線の輻輳を防ぐことが可能となり、さらに、課金処理部30を用いることによって効率的なビジネスを支援することができる。
【0128】
【発明の効果】
以上説明したように、この発明によれば、受信バッファには、前記第1の端末装置から送信されたデータが一時的に格納され、転送制御手段は、受信ウィンドウサイズ保持手段が保持する前記第2の端末装置の受信ウィンドウサイズに対応して、前記受信バッファに一時格納されたデータの転送速度を調節する制御を行い、高速転送判断手段が、前記送受信されるデータを高速に転送すべきか否かを判断し、課金手段が、前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置のユーザに対して行うようにしているので、第2の端末装置の受信バッファがオーバフローすることなく、しかも再送が少なくなるため、データを確実かつ迅速に転送することができ、データ内容の特性に合わせた柔軟な課金処理を確実に行うことができるとともに、効率的なビジネスを展開することができるという効果を奏する。
【0129】
つぎの発明によれば、ウィンドウサイズ取得手段が、前記第1の端末装置と前記第2の端末装置との間のコネクション毎に該第1の端末装置および該第2の端末装置のウィンドウサイズの情報を取得し、管理手段が、この各コネクション毎のウィンドウサイズの情報を保持して管理し、転送制御手段が、前記管理手段によって管理されるウィンドウサイズに対応して各コネクション毎に、受信バッファに格納されたデータの転送速度を調節する制御を行い、高速転送判断手段が、前記送受信されるデータを高速に転送すべきか否かを判断し、課金手段が、前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置あるいは前記第2の端末装置のユーザに対して行うようにしているので、各コネクション毎に動的なデータ転送制御がなされ、第2の端末装置の受信バッファがオーバフローすることなく、しかも再送が少なくなるため、データを確実かつ迅速に転送することができ、データ内容の特性に合わせた柔軟な課金処理を確実に行うことができるとともに、効率的なビジネスを展開することができるという効果を奏する。
【0130】
つぎの発明によれば、第1の判断手段が、前記第2の端末装置から前記第1の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第2の端末装置に送信するか否かを判断し、送信バッファが、前記第1の判断手段が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積し、第2の判断手段が、前記第1の端末装置が、前記第2の端末装置から送信されたデータの受信を失敗したか否かを判断し、第1の転送制御手段が、前記第1の判断手段が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第2の端末装置から送信されたデータを前記第1の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第2の判断手段が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う。また、受信バッファが、前記第1の端末装置から送信されたデータを一時的に格納し、受信ウィンドウサイズ保持手段が、前記第2の端末装置の受信ウィンドウサイズを保持し、第2の転送手段が、前記受信ウィンドウサイズに対応して前記受信バッファに一時格納されたデータの転送速度を調節する制御を行うようにしているので、第2の端末装置から送信されるデータの転送速度を高めつつ、第2の端末装置の受信バッファがオーバフローすることなく、しかも再送が少なくなるため、データを確実かつ迅速に転送することができるという効果を奏する。
【0131】
つぎの発明によれば、第1の判断手段が、前記第2の端末装置から前記第1の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第2の端末装置に送信するか否かを判断し、送信バッファが、前記第1の判断手段が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積し、第2の判断手段が、前記第1の端末装置が、前記第2の端末装置から送信されたデータの受信を失敗したか否かを判断し、第1の転送制御手段が、前記第1の判断手段が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第2の端末装置から送信されたデータを前記第1の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第2の判断手段が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う。また、ウィンドウサイズ取得手段が、前記第1の端末装置と前記第2の端末装置との間のコネクション毎に該第1の端末装置および該第2の端末装置のウィンドウサイズの情報を取得し、管理手段が、前記ウィンドウサイズ取得手段によって取得された各コネクション毎のウィンドウサイズの情報を保持して、管理し、第2の転送制御手段が、前記管理手段によって管理されるウィンドウサイズに対応して各コネクション毎にデータの転送速度を調節する制御を行うようにしているので、第2の端末装置から送信されるデータの転送速度を高めつつ、第2の端末装置の受信バッファがオーバフローすることなく、しかも再送が少なくなるため、データを確実かつ迅速に転送することができるという効果を奏する。
【0132】
つぎの発明によれば、第3の判断手段が、前記第2の端末装置が、前記第1の端末装置から送信されたデータの受信を失敗したか否かを判断し、再送制御手段が、前記第3の判断手段が前記第1の端末装置から送信されたデータの受信を失敗したと判断した場合に、前記受信バッファに蓄積されたデータの再送処理を行うようにしているので、伝送遅延の大きい伝送路を輻輳させずに、双方向の通信を確実かつ迅速に行うことができるという効果を奏する。
【0133】
つぎの発明によれば、前記再送制御手段が、前記データの再送処理を行う場合、該データの再送処理を行うとともに、該データに対する仮の送達確認応答を作成して前記第1の端末装置に送信するようにしているので、高速大容量通信を実現することができるという効果を奏する。
【0134】
つぎの発明によれば、第4の判断手段が、前記第1の端末装置から送信されたデータに対して再送処理が行われたか否かを情報を保持し、該情報をもとに該データが再送済みであるか否かを判断し、前記再送制御手段が、前記受信の失敗に対応して前記受信バッファに蓄積されたデータの再送処理を行う場合、前記第4の判断手段が再送済みと判断した場合に、該データの再送処理を行わせない制御を行うようにしているので、二重再送処理が確実に回避され、一層、高速なデータ転送を行うことができるという効果を奏する。
【0135】
つぎの発明によれば、高速転送判断手段が、前記送受信されるデータを高速に転送すべきか否かを判断し、課金手段が、前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置あるいは前記第2の端末装置のユーザに対して行うようにしているので、データ内容の特性に合わせた柔軟な課金処理を確実に行うことができるとともに、効率的なビジネスを展開することができるという効果を奏する。
【0136】
つぎの発明によれば、入力依頼手段が、前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合に、この高速化に伴った課金内容を送信元の前記第1の端末装置あるいは前記第2の端末装置に対して提示し、該第1の端末装置あるいは該第2の端末装置のユーザに対して高速化を行うか否かの情報の入力依頼を行い、前記課金手段が、前記入力依頼手段が、高速化を行う旨の通知を受けた場合に、前記送受信されるデータの高速転送に伴う課金処理を行うようにしているので、ユーザの意思を反映した柔軟なシステムを構築することができるという効果を奏する。
【0137】
つぎの発明によれば、上記の発明のいずれか一つに記載のデータ配信管理装置を、前記第1の端末装置および前記第2の端末装置との間の伝送路であって、前記第1の端末装置あるいは前記第2の端末装置を接続する伝送路に比して大きな伝送遅延をもつ伝送路の端部にそれぞれ配置して、双方向通信を実現するようにしているので、伝送遅延の大きい伝送路が存在する場合であっても、確実かつ高速の双方向通信を実現することができるという効果を奏する。
【0138】
つぎの発明によれば、前記第1の端末装置あるいは前記第2の端末装置を接続する伝送路に比して大きな伝送遅延をもつ伝送路を、衛星回線として実現しているので、遅延の大きい衛星回線を用いた場合であっても、確実かつ高速の双方向通信を具体的に実現することができるという効果を奏する。
【0139】
つぎの発明によれば、受信ウィンドウサイズ保持工程によって、前記第2の端末装置の受信ウィンドウサイズを保持し、受信バッファ工程によって、前記第1の端末装置から送信されたデータを一時的に格納し、転送制御工程によって、前記受信ウィンドウサイズに対応して前記受信バッファが一時格納したデータの転送速度を調節する制御を行い、高速転送判断工程によって、前記送受信されるデータを高速に転送すべきか否かを判断し、課金工程によって、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置のユーザに対して行うようにしているので、第2の端末装置の受信バッファがオーバフローすることなく、しかも再送が少なくなるため、データを確実かつ迅速に転送することができ、データ内容の特性に合わせた柔軟な課金処理を確実に行うことができるとともに、効率的なビジネスを展開することができるという効果を奏する。
【0140】
つぎの発明によれば、ウィンドウサイズ工程によって、前記第1の端末装置と前記第2の端末装置との間のコネクション毎に該第1の端末装置および該第2の端末装置のウィンドウサイズの情報を取得し、管理工程によって、前記ウィンドウサイズ取得工程によって取得された各コネクション毎のウィンドウサイズの情報を保持して、管理し、受信バッファ工程によって、前記第1の端末装置から送信されたデータを一時的に格納し、転送制御工程によって、前記管理工程によって管理されるウィンドウサイズに対応して各コネクション毎に、前記受信バッファ工程によって格納されたデータの転送速度を調節する制御を行い、高速転送判断工程によって、前記送受信されるデータを高速に転送すべきか否かを判断し、課金工程によって、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置あるいは前記第2の端末装置のユーザに対して行うようにしているので、第2の端末装置の受信バッファがオーバフローすることなく、しかも再送が少なくなるため、データを確実かつ迅速に転送することができ、データ内容の特性に合わせた柔軟な課金処理を確実に行うことができるとともに、効率的なビジネスを展開することができるという効果を奏する。
【0141】
つぎの発明によれば、第1の判断工程によって、前記第2の端末装置から前記第1の端末装置に対して送信するデータを受信した場合に仮の確認応答を作成して該第2の端末装置に送信するか否かを判断し、送信バッファ工程によって、前記第1の判断工程が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積し、第2の判断工程によって、前記第1の端末装置が、前記第2の端末装置から送信されたデータの受信を失敗したか否かを判断し、第1の転送制御工程によって、前記第1の判断工程が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第2の端末装置から送信されたデータを前記第1の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第2の判断工程が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う。また、受信バッファ工程によって、前記第1の端末装置から送信されたデータを一時的に格納し、受信ウィンドウサイズ保持工程によって、前記第2の端末装置の受信ウィンドウサイズを保持し、第2の転送制御工程によって、前記受信ウィンドウサイズに対応して前記受信バッファに一時格納されたデータの転送速度を調節する制御を行うようにしているので、第2の端末装置から送信されるデータの転送速度を高めつつ、第2の端末装置の受信バッファがオーバフローすることなく、しかも再送が少なくなるため、データを確実かつ迅速に転送することができるという効果を奏する。
【0142】
つぎの発明によれば、第1の判断工程によって、前記第2の端末装置から前記第1の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第2の端末装置に送信するか否かを判断し、送信バッファ工程によって、前記第1の判断工程が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積し、第2の判断工程によって、前記第1の端末装置が、前記第2の端末装置から送信されたデータの受信を失敗したか否かを判断し、第1の再送制御工程によって、前記第1の判断工程が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第2の端末装置から送信されたデータを前記第1の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第2の判断工程が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う。また。ウィンドウサイズ取得工程によって、前記第1の端末装置と前記第2の端末装置との間のコネクション毎に該第1の端末装置および該第2の端末装置のウィンドウサイズの情報を取得し、管理工程によって、前記ウィンドウサイズ取得工程によって取得された各コネクション毎のウィンドウサイズの情報を保持して、管理し、第2の転送制御工程によって、前記管理工程によって管理されるウィンドウサイズに対応して各コネクション毎にデータの転送速度を調節する制御を行うようにしているので、第2の端末装置から送信されるデータの転送速度を高めつつ、第2の端末装置の受信バッファがオーバフローすることなく、しかも再送が少なくなるため、データを確実かつ迅速に転送することができるという効果を奏する。
【0143】
つぎの発明によれば、第3の判断工程によって、前記第2の端末装置が、前記第1の端末装置から送信されたデータの受信を失敗したか否かを判断し、再送制御工程によって、前記第3の判断工程が前記第1の端末装置から送信されたデータの受信を失敗したと判断した場合に、前記受信バッファに蓄積されたデータの再送処理を行うようにしているので、伝送遅延の大きい伝送路を輻輳させずに、双方向の通信を確実かつ迅速に行うことができるという効果を奏する。
【0144】
つぎの発明によれば、前記再送制御工程が、前記データの再送処理を行う場合、該データの再送処理を行うとともに、該データに対する仮の送達確認応答を作成して前記第1の端末装置に送信するようにしているので、高速大容量通信を実現することができるという効果を奏する。
【0145】
つぎの発明によれば、第4の判断工程によって、前記第1の端末装置から送信されたデータに対して再送処理が行われたか否かを情報を保持し、該情報をもとに該データが再送済みであるか否かを判断し、前記再送制御工程が、前記受信の失敗に対応して前記受信バッファに蓄積されたデータの再送処理を行う場合、前記第4の判断工程が再送済みと判断した場合に、該データの再送処理を行わせないようにしているので、二重再送処理が確実に回避され、一層、高速なデータ転送を行うことができるという効果を奏する。
【0146】
つぎの発明によれば、高速転送判断工程によって、前記送受信されるデータを高速に転送すべきか否かを判断し、課金工程によって、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置あるいは前記第2の端末装置のユーザに対して行うようにしているので、データ内容の特性に合わせた柔軟な課金処理を確実に行うことができるとともに、効率的なビジネスを展開することができるという効果を奏する。
【0147】
つぎの発明によれば、入力依頼工程によって、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合に、この高速化に伴った課金内容を送信元の前記第1の端末装置あるいは前記第2の端末装置に対して提示し、該第1の端末装置あるいは該第2の端末装置のユーザに対して高速化を行うか否かの情報の入力依頼を行い、前記課金工程が、前記入力依頼工程が、高速化を行う旨の通知を受けた場合に、前記送受信されるデータの高速転送に伴う課金処理を行うようにしているので、ユーザの意思を反映した柔軟なシステムを構築することができるという効果を奏する。
【0148】
つぎの発明にかかるプログラムは、請求項のいずれか一つに記載された方法をコンピュータに実行させるプログラムであり、そのプログラムが機械読み取り可能となり、これによって、請求項のいずれか一つの動作をコンピュータによって実行することができるという効果を奏する。
【図面の簡単な説明】
【図1】 この発明の実施の形態1であるデータ配信管理装置を含むデータ配信管理システムの構成を示すブロック図である。
【図2】 図1に示したデータ配信管理装置によるデータ配信管理処理手順を示すフローチャートである。
【図3】 図2に示した遅延回線からのパケット処理手順を示す詳細フローチャートである。
【図4】 図1に示した経路管理テーブルの内容の一例を示す図である。
【図5】 図1に示した経路管理テーブルの内容の一例を示す図である。
【図6】 図2に示したtmpACK利用候補パケットの処理手順を示す詳細フローチャートである。
【図7】 図3および図6に示した受信確認処理および再送処理の手順を示すフローチャートである。
【図8】 図1に示したtmpACK利用制御処理手順を示す詳細フローチャートである。
【図9】 この発明の実施の形態2であるデータ配信管理装置による遅延回線からのパケット処理手順を示す詳細フローチャートである。
【図10】 この発明の実施の形態2であるデータ配信管理装置によるtmpACK利用制御処理手順を示す詳細フローチャートである。
【図11】 この発明の実施の形態3であるデータ配信管理装置を含むデータ配信管理システムの構成を示すブロック図である。
【図12】 図11に示したデータ配信管理装置によるデータ配信管理処理手順を示すフローチャートである。
【図13】 従来のデータ配信管理装置を含むデータ配信管理システムの構成を示すブロック図である。
【符号の説明】
1 配信管理テーブル、2a,2b,3 回線、4 tmpACKバッファ、5 プロトコル管理テーブル、6 送信バッファ、7 受信バッファ、10,20 データ配信管理装置、10a ゲートウェイ機能部、11,17 通信部、12 tmpACK使用判定部、13 tmpACK作成部、14 SGTimerカウント部、15 配信データ記録部、16 SG配信管理部、C1,C2端末装置、30 課金処理部。
Claims (21)
- 第1の端末装置と第2の端末装置との間の伝送路上に配置され、前記第2の端末装置側を接続する伝送路が前記第1の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、少なくとも前記第1の端末装置から送信されたデータを前記第2の端末装置側に転送するデータ配信管理装置において、
前記第1の端末装置から送信されたデータを一時的に格納する受信バッファと、
前記第2の端末装置の受信ウィンドウサイズを保持する受信ウィンドウサイズ保持手段と、
前記受信ウィンドウサイズに対応して前記受信バッファに一時格納されたデータの転送速度を調節する制御を行う転送制御手段と、
前記第1の端末装置から送信されたデータを高速に転送すべきか否かを判断する高速転送判断手段と、
前記高速転送判断手段が前記第1の端末装置から送信されたデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置のユーザに対して行う課金手段と、
を備えたことを特徴とするデータ配信管理装置。 - 第1の端末装置と第2の端末装置との間の伝送路上に配置され、前記第2の端末装置側を接続する伝送路が前記第1の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第1の端末装置と前記第2の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理装置において、
前記第1の端末装置から送信されたデータを一時的に格納する受信バッファと、
前記第1の端末装置と前記第2の端末装置との間のコネクション毎に該第1の端末装置および該第2の端末装置のウィンドウサイズの情報を取得するウィンドウサイズ取得手段と、
前記ウィンドウサイズ取得手段によって取得された各コネクション毎のウィンドウサイズの情報を保持し、管理する管理手段と、
前記管理手段によって管理されるウィンドウサイズに対応して各コネクション毎に、前記受信バッファに格納されたデータの転送速度を調節する制御を行う転送制御手段と、
前記送受信されるデータを高速に転送すべきか否かを判断する高速転送判断手段と、
前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置あるいは前記第2の端末装置のユーザに対して行う課金手段と、
を備えたことを特徴とするデータ配信管理装置。 - 第1の端末装置と第2の端末装置との間の伝送路上に配置され、前記第2の端末装置側を接続する伝送路が前記第1の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第1の端末装置と前記第2の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理装置において、
前記第2の端末装置から前記第1の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第2の端末装置に送信するか否かを判断する第1の判断手段と、
前記第1の判断手段が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積する送信バッファと、
前記第1の端末装置が、前記第2の端末装置から送信されたデータの受信を失敗したか否かを判断する第2の判断手段と、
前記第1の判断手段が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第2の端末装置から送信されたデータを前記第1の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第2の判断手段が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う第1の転送制御手段と、
前記第1の端末装置から送信されたデータを一時的に格納する受信バッファと、
前記第2の端末装置の受信ウィンドウサイズを保持する受信ウィンドウサイズ保持手段と、
前記受信ウィンドウサイズに対応して前記受信バッファに一時格納されたデータの転送速度を調節する制御を行う第2の転送制御手段と、
を備えたことを特徴とするデータ配信管理装置。 - 第1の端末装置と第2の端末装置との間の伝送路上に配置され、前記第2の端末装置側を接続する伝送路が前記第1の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第1の端末装置と前記第2の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理装置において、
前記第2の端末装置から前記第1の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第2の端末装置に送信するか否かを判断する第1の判断手段と、
前記第1の判断手段が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積する送信バッファと、
前記第1の端末装置が、前記第2の端末装置から送信されたデータの受信を失敗したか否かを判断する第2の判断手段と、
前記第1の判断手段が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第2の端末装置から送信されたデータを前記第1の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第2の判断手段が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う第1の転送制御手段と、
前記第1の端末装置と前記第2の端末装置との間のコネクション毎に該第1の端末装置および該第2の端末装置のウィンドウサイズの情報を取得するウィンドウサイズ取得手段と、
前記ウィンドウサイズ取得手段によって取得された各コネクション毎のウィンドウサイズの情報を保持し、管理する管理手段と、
前記管理手段によって管理されるウィンドウサイズに対応して各コネクション毎にデータの転送速度を調節する制御を行う第2の転送制御手段と、
を備えたことを特徴とするデータ配信管理装置。 - 前記第2の端末装置が、前記第1の端末装置から送信されたデータの受信を失敗したか否かを判断する第3の判断手段と、
前記第3の判断手段が前記第1の端末装置から送信されたデータの受信を失敗したと判断した場合に、前記受信バッファに蓄積されたデータの再送処理を行う再送制御手段と、
を備えたことを特徴とする請求項1〜4のいずれか一つに記載のデータ配信管理装置。 - 前記再送制御手段は、
前記データの再送処理を行う場合、該データの再送処理を行うとともに、該データに対する仮の送達確認応答を作成して前記第1の端末装置に送信することを特徴とする請求項5に記載のデータ配信管理装置。 - 前記第1の端末装置から送信されたデータに対して再送処理が行われたか否かの情報を保持し、該情報をもとに該データが再送済みであるか否かを判断する第4の判断手段をさらに備え、
前記再送制御手段は、
前記受信の失敗に対応して前記受信バッファに蓄積されたデータの再送処理を行う場合、前記第4の判断手段が再送済みと判断した場合に、該データの再送処理を行わせない制御を行うことを特徴とする請求項5または6に記載のデータ配信管理装置。 - 前記送受信されるデータを高速に転送すべきか否かを判断する高速転送判断手段と、
前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置あるいは前記第2の端末装置のユーザに対して行う課金手段と、
をさらに備えたことを特徴とする請求項3〜7のいずれか一つに記載のデータ配信管理装置。 - 前記課金手段は、
前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合に、この高速化に伴った課金内容を送信元の前記第1の端末装置あるいは前記第2の端末装置に対して提示し、該第1の端末装置あるいは該第2の端末装置のユーザに対して高速化を行うか否かの情報の入力依頼を行う入力依頼手段を備え、
前記課金手段は、
前記入力依頼手段が、高速化を行う旨の通知を受けた場合に、前記送受信されるデータの高速転送に伴う課金処理を行うことを特徴とする請求項8に記載のデータ管理装置。 - 請求項1〜9のいずれか一つに記載のデータ配信管理装置を、
前記第1の端末装置および前記第2の端末装置との間の伝送路であって、前記第1の端末装置あるいは前記第2の端末装置を接続する伝送路に比して大きな伝送遅延をもつ伝送路の端部にそれぞれ配置したことを特徴とするデータ配信管理システム。 - 前記第1の端末装置あるいは前記第2の端末装置を接続する伝送路に比して大きな伝送遅延をもつ伝送路は、衛星回線であることを特徴とする請求項10に記載のデータ配信管理システム。
- 第1の端末装置と第2の端末装置との間の伝送路上に配置され、前記第2の端末装置側を接続する伝送路が前記第1の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、少なくとも前記第1の端末装置から送信されたデータを前記第2の端末装置側に転送するデータ配信管理方法において、
前記第2の端末装置の受信ウィンドウサイズを保持する受信ウィンドウサイズ保持工程と、
前記第1の端末装置から送信されたデータを一時的に格納する受信バッファ工程と、
前記受信ウィンドウサイズに対応して前記受信バッファが一時格納したデータの転送速度を調節する制御を行う転送制御工程と、
前記第1の端末装置から送信されたデータを高速に転送すべきか否かを判断する高速転送判断工程と、
前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置のユーザに対して行う課金工程と、
を含むことを特徴とするデータ配信管理方法。 - 第1の端末装置と第2の端末装置との間の伝送路上に配置され、前記第2の端末装置側を接続する伝送路が前記第1の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第1の端末装置と前記第2の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理方法において、
前記第1の端末装置と前記第2の端末装置との間のコネクション毎に該第1の端末装置および該第2の端末装置のウィンドウサイズの情報を取得するウィンドウサイズ取得工程と、
前記ウィンドウサイズ取得工程によって取得された各コネクション毎のウィンドウサイズの情報を保持し、管理する管理工程と、
前記第1の端末装置から送信されたデータを一時的に格納する受信バッファ工程と、
前記管理工程によって管理されるウィンドウサイズに対応して各コネクション毎に、前記受信バッファ工程によって格納されたデータの転送速度を調節する制御を行う転送制御工程と、
前記送受信されるデータを高速に転送すべきか否かを判断する高速転送判断工程と、
前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置あるいは前記第2の端末装置のユーザに対して行う課金工程と、
を含むことを特徴とするデータ配信管理方法。 - 第1の端末装置と第2の端末装置との間の伝送路上に配置され、前記第2の端末装置側を接続する伝送路が前記第1の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第1の端末装置と前記第2の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理方法において、
前記第2の端末装置から前記第1の端末装置に対して送信するデータを受信した場合に仮の確認応答を作成して該第2の端末装置に送信するか否かを判断する第1の判断工程と、
前記第1の判断工程が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積する送信バッファ工程と、
前記第1の端末装置が、前記第2の端末装置から送信されたデータの受信を失敗したか否かを判断する第2の判断工程と、
前記第1の判断工程が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第2の端末装置から送信されたデータを前記第1の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第2の判断工程が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う第1の転送制御工程と、
前記第1の端末装置から送信されたデータを一時的に格納する受信バッファ工程と、
前記第2の端末装置の受信ウィンドウサイズを保持する受信ウィンドウサイズ保持工程と、
前記受信ウィンドウサイズに対応して前記受信バッファに一時格納されたデータの転送速度を調節する制御を行う第2転送制御工程と、
を含むことを特徴とするデータ配信管理方法。 - 第1の端末装置と第2の端末装置との間の伝送路上に配置され、前記第2の端末装置側を接続する伝送路が前記第1の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第1の端末装置と前記第2の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理方法において、
前記第2の端末装置から前記第1の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第2の端末装置に送信するか否かを判断する第1の判断工程と、
前記第1の判断工程が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積する送信バッファ工程と、
前記第1の端末装置が、前記第2の端末装置から送信されたデータの受信を失敗したか否かを判断する第2の判断工程と、
前記第1の判断工程が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第2の端末装置から送信されたデータを前記第1の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第2の判断工程が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う第1の転送制御工程と、
前記第1の端末装置と前記第2の端末装置との間のコネクション毎に該第1の端末装置および該第2の端末装置のウィンドウサイズの情報を取得するウィンドウサイズ取得工程と、
前記ウィンドウサイズ取得工程によって取得された各コネクション毎のウィンドウサイズの情報を保持し、管理する管理工程と、
前記管理工程によって管理されるウィンドウサイズに対応して各コネクション毎にデータの転送速度を調節する制御を行う第2の転送制御工程と、
を含むことを特徴とするデータ配信管理方法。 - 前記第2の端末装置が、前記第1の端末装置から送信されたデータの受信を失敗したか否かを判断する第3の判断工程と、
前記第3の判断工程が前記第1の端末装置から送信されたデータの受信を失敗したと判断した場合に、前記受信バッファに蓄積されたデータの再送処理を行う再送制御工程と、
を含むことを特徴とする請求項12〜15のいずれか一つに記載のデータ配信管理方法。 - 前記再送制御工程は、
前記データの再送処理を行う場合、該データの再送処理を行うとともに、該データに対する仮の送達確認応答を作成して前記第1の端末装置に送信することを特徴とする
請求項16に記載のデータ配信管理方法。 - 前記第1の端末装置から送信されたデータに対して再送処理が行われたか否かの情報を保持し、該情報をもとに該データが再送済みであるか否かを判断する第4の判断工程をさらに含み、
前記再送制御工程は、
前記受信の失敗に対応して前記受信バッファに蓄積されたデータの再送処理を行う場合、前記第4の判断工程が再送済みと判断した場合に、該データの再送処理を行わせない制御を行うことを特徴とする請求項16または17に記載のデータ配信管理方法。 - 前記送受信されるデータを高速に転送すべきか否かを判断する高速転送判断工程と、
前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第1の端末装置あるいは前記第2の端末装置のユーザに対して行う課金工程と、
をさらに含むことを特徴とする請求項14〜18のいずれか1つに記載のデータ配信管理方法。 - 前記課金工程は、
前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合に、この高速化に伴った課金内容を送信元の前記第1の端末装置あるいは前記第2の端末装置に対して提示し、該第1の端末装置あるいは該第2の端末装置のユーザに対して高速化を行うか否かの情報の入力依頼を行う入力依頼工程を含み、
前記課金工程は、
前記入力依頼工程が、高速化を行う旨の通知を受けた場合に、前記送受信されるデータの高速転送に伴う課金処理を行うことを特徴とする請求項19に記載のデータ管理方法。 - 請求項12〜20のいずれか一つに記載された方法をコンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001039170A JP3782308B2 (ja) | 2001-02-15 | 2001-02-15 | データ配信管理装置、これを用いたデータ配信管理システムおよびデータ配信管理方法ならびにその方法をコンピュータに実行させるプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001039170A JP3782308B2 (ja) | 2001-02-15 | 2001-02-15 | データ配信管理装置、これを用いたデータ配信管理システムおよびデータ配信管理方法ならびにその方法をコンピュータに実行させるプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002247132A JP2002247132A (ja) | 2002-08-30 |
JP3782308B2 true JP3782308B2 (ja) | 2006-06-07 |
Family
ID=18902021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001039170A Expired - Lifetime JP3782308B2 (ja) | 2001-02-15 | 2001-02-15 | データ配信管理装置、これを用いたデータ配信管理システムおよびデータ配信管理方法ならびにその方法をコンピュータに実行させるプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3782308B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005244897A (ja) | 2004-02-27 | 2005-09-08 | Fujitsu Ltd | 信頼性のある通信方法及びその装置 |
JP4610910B2 (ja) | 2004-02-27 | 2011-01-12 | 富士通株式会社 | 通信処理装置及びその方法 |
JP4503408B2 (ja) * | 2004-09-30 | 2010-07-14 | 京セラ株式会社 | データ通信装置 |
JP5533270B2 (ja) * | 2010-05-28 | 2014-06-25 | 日本電気株式会社 | ゲートウェイ装置およびゲートウェイ装置におけるパケットバッファ管理方法 |
JP5564603B1 (ja) * | 2013-06-07 | 2014-07-30 | ソフトバンクモバイル株式会社 | 中継ノード |
CN112583935B (zh) * | 2020-12-28 | 2022-11-22 | 深信服科技股份有限公司 | 缓冲区窗口调整方法、网关设备及存储介质 |
-
2001
- 2001-02-15 JP JP2001039170A patent/JP3782308B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002247132A (ja) | 2002-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8553698B2 (en) | Data unit sender and data unit relay device | |
US6473425B1 (en) | Mechanism for dispatching packets via a telecommunications network | |
US7633880B2 (en) | Access network device for managing queue corresponding to real time multimedia traffic characteristics and method thereof | |
US6741555B1 (en) | Enhancement of explicit congestion notification (ECN) for wireless network applications | |
US7035237B2 (en) | Data unit sending means and control method | |
US7924728B2 (en) | Systems and methods for energy-conscious communication in wireless ad-hoc networks | |
US7305486B2 (en) | System and method for fast, reliable byte stream transport | |
US8233483B2 (en) | Communication apparatus, communication system, absent packet detecting method and absent packet detecting program | |
US6937600B2 (en) | Communication device and communication control method using lower layer data transmission order control at upper layer | |
EP1300991A1 (en) | A method for filtering redundant data packets | |
US7277390B2 (en) | TCP processing apparatus of base transceiver subsystem in wired/wireless integrated network and method thereof | |
US20020181437A1 (en) | Data link transmission control methods, mobile communication systems, data link transmission control apparatus, base stations, mobile stations, mobile station control programs, and computer-readable recording media | |
KR20130082070A (ko) | 통신 장치 및 통신 방법 | |
CN109451080B (zh) | 一种无线场景下ndn兴趣包可靠传输方法 | |
JP4302339B2 (ja) | データ配信管理装置、データ配信管理システムおよびデータ配信管理方法 | |
JP2002534907A (ja) | 通信装置及び通信方法 | |
US7653060B2 (en) | System and method for implementing ASI over long distances | |
JP3377994B2 (ja) | データ配信管理装置およびデータ配信管理方法 | |
JP2002527935A (ja) | データ通信用方法とシステム | |
JP3782308B2 (ja) | データ配信管理装置、これを用いたデータ配信管理システムおよびデータ配信管理方法ならびにその方法をコンピュータに実行させるプログラム | |
JP3893247B2 (ja) | データ配信管理装置 | |
JP2006191368A (ja) | ネットワーク伝送装置 | |
US20060251076A1 (en) | Real-time and reliable method for transporting data | |
BRPI0316980B1 (pt) | Data transfer procedure for transferring data sequence of a data sequence between a transmitting entity and a receiving entity | |
US8418017B2 (en) | Adaptive acknowledgment mechanism for network communication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040609 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051220 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060217 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060307 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060309 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3782308 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100317 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100317 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110317 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110317 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120317 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130317 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130317 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140317 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |