(57)【特許請求の範囲】
【請求項１】
第１の端末装置と第２の端末装置との間の伝送路上に配置され、前記第２の端末装置側を接続する伝送路が前記第１の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、少なくとも前記第１の端末装置から送信されたデータを前記第２の端末装置側に転送するデータ配信管理装置において、
前記第１の端末装置から送信されたデータを一時的に格納する受信バッファと、
前記第２の端末装置の受信ウィンドウサイズを保持する受信ウィンドウサイズ保持手段と、
前記受信ウィンドウサイズに対応して前記受信バッファに一時格納されたデータの転送速度を調節する制御を行う転送制御手段と、
前記第１の端末装置から送信されたデータを高速に転送すべきか否かを判断する高速転送判断手段と、
前記高速転送判断手段が前記第１の端末装置から送信されたデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置のユーザに対して行う課金手段と、
を備えたことを特徴とするデータ配信管理装置。
【請求項２】
第１の端末装置と第２の端末装置との間の伝送路上に配置され、前記第２の端末装置側を接続する伝送路が前記第１の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第１の端末装置と前記第２の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理装置において、
前記第１の端末装置から送信されたデータを一時的に格納する受信バッファと、
前記第１の端末装置と前記第２の端末装置との間のコネクション毎に該第１の端末装置および該第２の端末装置のウィンドウサイズの情報を取得するウィンドウサイズ取得手段と、
前記ウィンドウサイズ取得手段によって取得された各コネクション毎のウィンドウサイズの情報を保持し、管理する管理手段と、
前記管理手段によって管理されるウィンドウサイズに対応して各コネクション毎に、前記受信バッファに格納されたデータの転送速度を調節する制御を行う転送制御手段と、
前記送受信されるデータを高速に転送すべきか否かを判断する高速転送判断手段と、
前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置あるいは前記第２の端末装置のユーザに対して行う課金手段と、
を備えたことを特徴とするデータ配信管理装置。
【請求項３】
第１の端末装置と第２の端末装置との間の伝送路上に配置され、前記第２の端末装置側を接続する伝送路が前記第１の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第１の端末装置と前記第２の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理装置において、
前記第２の端末装置から前記第１の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第２の端末装置に送信するか否かを判断する第１の判断手段と、
前記第１の判断手段が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積する送信バッファと、
前記第１の端末装置が、前記第２の端末装置から送信されたデータの受信を失敗したか否かを判断する第２の判断手段と、
前記第１の判断手段が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第２の端末装置から送信されたデータを前記第１の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第２の判断手段が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う第１の転送制御手段と、
前記第１の端末装置から送信されたデータを一時的に格納する受信バッファと、
前記第２の端末装置の受信ウィンドウサイズを保持する受信ウィンドウサイズ保持手段と、
前記受信ウィンドウサイズに対応して前記受信バッファに一時格納されたデータの転送速度を調節する制御を行う第２の転送制御手段と、
を備えたことを特徴とするデータ配信管理装置。
【請求項４】
第１の端末装置と第２の端末装置との間の伝送路上に配置され、前記第２の端末装置側を接続する伝送路が前記第１の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第１の端末装置と前記第２の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理装置において、
前記第２の端末装置から前記第１の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第２の端末装置に送信するか否かを判断する第１の判断手段と、
前記第１の判断手段が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積する送信バッファと、
前記第１の端末装置が、前記第２の端末装置から送信されたデータの受信を失敗したか否かを判断する第２の判断手段と、
前記第１の判断手段が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第２の端末装置から送信されたデータを前記第１の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第２の判断手段が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う第１の転送制御手段と、
前記第１の端末装置と前記第２の端末装置との間のコネクション毎に該第１の端末装置および該第２の端末装置のウィンドウサイズの情報を取得するウィンドウサイズ取得手段と、
前記ウィンドウサイズ取得手段によって取得された各コネクション毎のウィンドウサイズの情報を保持し、管理する管理手段と、
前記管理手段によって管理されるウィンドウサイズに対応して各コネクション毎にデータの転送速度を調節する制御を行う第２の転送制御手段と、
を備えたことを特徴とするデータ配信管理装置。
【請求項５】
前記第２の端末装置が、前記第１の端末装置から送信されたデータの受信を失敗したか否かを判断する第３の判断手段と、
前記第３の判断手段が前記第１の端末装置から送信されたデータの受信を失敗したと判断した場合に、前記受信バッファに蓄積されたデータの再送処理を行う再送制御手段と、
を備えたことを特徴とする請求項１〜４のいずれか一つに記載のデータ配信管理装置。
【請求項６】
前記再送制御手段は、
前記データの再送処理を行う場合、該データの再送処理を行うとともに、該データに対する仮の送達確認応答を作成して前記第１の端末装置に送信することを特徴とする請求項５に記載のデータ配信管理装置。
【請求項７】
前記第１の端末装置から送信されたデータに対して再送処理が行われたか否かの情報を保持し、該情報をもとに該データが再送済みであるか否かを判断する第４の判断手段をさらに備え、
前記再送制御手段は、
前記受信の失敗に対応して前記受信バッファに蓄積されたデータの再送処理を行う場合、前記第４の判断手段が再送済みと判断した場合に、該データの再送処理を行わせない制御を行うことを特徴とする請求項５または６に記載のデータ配信管理装置。
【請求項８】
前記送受信されるデータを高速に転送すべきか否かを判断する高速転送判断手段と、
前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置あるいは前記第２の端末装置のユーザに対して行う課金手段と、
をさらに備えたことを特徴とする請求項３〜７のいずれか一つに記載のデータ配信管理装置。
【請求項９】
前記課金手段は、
前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合に、この高速化に伴った課金内容を送信元の前記第１の端末装置あるいは前記第２の端末装置に対して提示し、該第１の端末装置あるいは該第２の端末装置のユーザに対して高速化を行うか否かの情報の入力依頼を行う入力依頼手段を備え、
前記課金手段は、
前記入力依頼手段が、高速化を行う旨の通知を受けた場合に、前記送受信されるデータの高速転送に伴う課金処理を行うことを特徴とする請求項８に記載のデータ管理装置。
【請求項１０】
請求項１〜９のいずれか一つに記載のデータ配信管理装置を、
前記第１の端末装置および前記第２の端末装置との間の伝送路であって、前記第１の端末装置あるいは前記第２の端末装置を接続する伝送路に比して大きな伝送遅延をもつ伝送路の端部にそれぞれ配置したことを特徴とするデータ配信管理システム。
【請求項１１】
前記第１の端末装置あるいは前記第２の端末装置を接続する伝送路に比して大きな伝送遅延をもつ伝送路は、衛星回線であることを特徴とする請求項１０に記載のデータ配信管理システム。
【請求項１２】
第１の端末装置と第２の端末装置との間の伝送路上に配置され、前記第２の端末装置側を接続する伝送路が前記第１の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、少なくとも前記第１の端末装置から送信されたデータを前記第２の端末装置側に転送するデータ配信管理方法において、
前記第２の端末装置の受信ウィンドウサイズを保持する受信ウィンドウサイズ保持工程と、
前記第１の端末装置から送信されたデータを一時的に格納する受信バッファ工程と、
前記受信ウィンドウサイズに対応して前記受信バッファが一時格納したデータの転送速度を調節する制御を行う転送制御工程と、
前記第１の端末装置から送信されたデータを高速に転送すべきか否かを判断する高速転送判断工程と、
前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置のユーザに対して行う課金工程と、
を含むことを特徴とするデータ配信管理方法。
【請求項１３】
第１の端末装置と第２の端末装置との間の伝送路上に配置され、前記第２の端末装置側を接続する伝送路が前記第１の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第１の端末装置と前記第２の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理方法において、
前記第１の端末装置と前記第２の端末装置との間のコネクション毎に該第１の端末装置および該第２の端末装置のウィンドウサイズの情報を取得するウィンドウサイズ取得工程と、
前記ウィンドウサイズ取得工程によって取得された各コネクション毎のウィンドウサイズの情報を保持し、管理する管理工程と、
前記第１の端末装置から送信されたデータを一時的に格納する受信バッファ工程と、
前記管理工程によって管理されるウィンドウサイズに対応して各コネクション毎に、前記受信バッファ工程によって格納されたデータの転送速度を調節する制御を行う転送制御工程と、
前記送受信されるデータを高速に転送すべきか否かを判断する高速転送判断工程と、
前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置あるいは前記第２の端末装置のユーザに対して行う課金工程と、
を含むことを特徴とするデータ配信管理方法。
【請求項１４】
第１の端末装置と第２の端末装置との間の伝送路上に配置され、前記第２の端末装置側を接続する伝送路が前記第１の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第１の端末装置と前記第２の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理方法において、
前記第２の端末装置から前記第１の端末装置に対して送信するデータを受信した場合に仮の確認応答を作成して該第２の端末装置に送信するか否かを判断する第１の判断工程と、
前記第１の判断工程が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積する送信バッファ工程と、
前記第１の端末装置が、前記第２の端末装置から送信されたデータの受信を失敗したか否かを判断する第２の判断工程と、
前記第１の判断工程が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第２の端末装置から送信されたデータを前記第１の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第２の判断工程が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う第１の転送制御工程と、
前記第１の端末装置から送信されたデータを一時的に格納する受信バッファ工程と、
前記第２の端末装置の受信ウィンドウサイズを保持する受信ウィンドウサイズ保持工程と、
前記受信ウィンドウサイズに対応して前記受信バッファに一時格納されたデータの転送速度を調節する制御を行う第２転送制御工程と、
を含むことを特徴とするデータ配信管理方法。
【請求項１５】
第１の端末装置と第２の端末装置との間の伝送路上に配置され、前記第２の端末装置側を接続する伝送路が前記第１の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第１の端末装置と前記第２の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理方法において、
前記第２の端末装置から前記第１の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第２の端末装置に送信するか否かを判断する第１の判断工程と、
前記第１の判断工程が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積する送信バッファ工程と、
前記第１の端末装置が、前記第２の端末装置から送信されたデータの受信を失敗したか否かを判断する第２の判断工程と、
前記第１の判断工程が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第２の端末装置から送信されたデータを前記第１の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第２の判断工程が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う第１の転送制御工程と、
前記第１の端末装置と前記第２の端末装置との間のコネクション毎に該第１の端末装置および該第２の端末装置のウィンドウサイズの情報を取得するウィンドウサイズ取得工程と、
前記ウィンドウサイズ取得工程によって取得された各コネクション毎のウィンドウサイズの情報を保持し、管理する管理工程と、
前記管理工程によって管理されるウィンドウサイズに対応して各コネクション毎にデータの転送速度を調節する制御を行う第２の転送制御工程と、
を含むことを特徴とするデータ配信管理方法。
【請求項１６】
前記第２の端末装置が、前記第１の端末装置から送信されたデータの受信を失敗したか否かを判断する第３の判断工程と、
前記第３の判断工程が前記第１の端末装置から送信されたデータの受信を失敗したと判断した場合に、前記受信バッファに蓄積されたデータの再送処理を行う再送制御工程と、
を含むことを特徴とする請求項１２〜１５のいずれか一つに記載のデータ配信管理方法。
【請求項１７】
前記再送制御工程は、
前記データの再送処理を行う場合、該データの再送処理を行うとともに、該データに対する仮の送達確認応答を作成して前記第１の端末装置に送信することを特徴とする
請求項１６に記載のデータ配信管理方法。
【請求項１８】
前記第１の端末装置から送信されたデータに対して再送処理が行われたか否かの情報を保持し、該情報をもとに該データが再送済みであるか否かを判断する第４の判断工程をさらに含み、
前記再送制御工程は、
前記受信の失敗に対応して前記受信バッファに蓄積されたデータの再送処理を行う場合、前記第４の判断工程が再送済みと判断した場合に、該データの再送処理を行わせない制御を行うことを特徴とする請求項１６または１７に記載のデータ配信管理方法。
【請求項１９】
前記送受信されるデータを高速に転送すべきか否かを判断する高速転送判断工程と、
前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置あるいは前記第２の端末装置のユーザに対して行う課金工程と、
をさらに含むことを特徴とする請求項１４〜１８のいずれか１つに記載のデータ配信管理方法。
【請求項２０】
前記課金工程は、
前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合に、この高速化に伴った課金内容を送信元の前記第１の端末装置あるいは前記第２の端末装置に対して提示し、該第１の端末装置あるいは該第２の端末装置のユーザに対して高速化を行うか否かの情報の入力依頼を行う入力依頼工程を含み、
前記課金工程は、
前記入力依頼工程が、高速化を行う旨の通知を受けた場合に、前記送受信されるデータの高速転送に伴う課金処理を行うことを特徴とする請求項１９に記載のデータ管理方法。
【請求項２１】
請求項１２〜２０のいずれか一つに記載された方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、第１の端末装置と第２の端末装置との間の伝送路上に配置され、前記第２の端末装置側を接続する伝送路が前記第１の端末装置側を接続する伝送路の伝送遅延に比して大きい伝送遅延を有し、前記第１の端末装置と前記第２の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理装置、これを用いた通信システムおよびデータ配信管理方法ならびにその方法をコンピュータに実行させるプログラムに関し、特にデータ配信時における送達確認応答の受信タイミングに依存した速度性能劣化を改善することができるデータ配信管理装置、これを用いた通信システムおよびデータ配信管理方法ならびにその方法をコンピュータに実行させるプログラムに関するものである。
【０００２】
【従来の技術】
従来から、ＴＣＰを用いた通信では、送信側のＴＣＰは、送信バッファに対応したウィンドウサイズを持ち、このウィンドウサイズ内に限り、送信ウィンドウをスライドさせることによって、次々とデータ送信を行う。仮に、なんらかの理由によって送達確認応答を受け入れていない状況となった場合、ＴＣＰは、輻輳状態であると判断し、ウィンドウサイズを小さくし、これによってスループットを下げ、輻輳を解消しようとする。
【０００３】
しかし、衛星回線のような大容量であるとともに、物理的に伝送遅延の大きな回線においてＴＣＰを用いた場合、物理的な距離によって、データ送信からこのデータに対する送達確認応答が返ってくるまでに０．５秒以上を要する場合がある。この０．５秒は、一般的なＴＣＰにおける再送タイムアウト時間、すなわちデータ送信を失敗と判断し、データ再送を開始するまでの時間であり、ＴＣＰが、輻輳状態が生じていると判断してしまう時間である。この結果、衛星回線のように大容量の回線本来の大きさに見合った速度性能、すなわちスループットを発揮することができないという問題点が生じる。
【０００４】
図１３は、従来のデータ配信管理装置を用いたデータ配信管理システムの構成を示すブロック図である（情報処理学会研究報告98-DPS-89-12参照）。このデータ配信管理システムは、上述した問題点を解決し、スループットを向上させることができるシステムである。図１３において、このデータ配信管理システムは、送信装置Ｃ１１と、受信装置Ｃ１２と、この送信装置Ｃ１１および受信装置Ｃ１２にＴＣＰによる通信を行う回線Ｌ１１，Ｌ１２を介してそれぞれ接続された送信ゲートウェイ１００とを有する。回線Ｌ１２は、回線Ｌ１１に比して伝送遅延が大きい回線であり、たとえば衛星回線である。
【０００５】
図１３において、送信装置Ｃ１１は、データパケットを出力するデータパケット出力部１１１と、送信ゲートウェイ１００が作成した仮の到達確認応答を受信する仮到達確認応答受信部１１２とを有する。送信ゲートウェイ１００は、バッファ１０１および配信管理テーブル１０２を有するとともに、送信装置Ｃ１１から送信されたデータパケットを受信し、このデータパケットをバッファ１０１に蓄積させる蓄積部１０３と、回線Ｌ１２を介してバッファ１０１に蓄積したデータデータパケットを受信装置Ｃ１２に出力する出力部１０４と、受信装置Ｃ１２に送信したデータパケットに対する仮の送達確認応答を作成する仮送達確認応答作成部１０５と、この作成した仮の送達確認応答を送信装置Ｃ１１に送信する仮送達確認応答送信部１０６と、受信装置Ｃ１２から送られた送達確認応答を受信する仮送達確認応答受信部１０７と、受信したＳＹＮ（接続要求）パケットから通信情報を取得し、配信管理テーブル１０２に配信情報として記録する配信情報記憶制御部１０８と、データパケットの再送処理を行う再送処理部１０９とを有する。また、受信装置Ｃ１２は、送信ゲートウェイ１００から送られたデータパケットを受信するデータパケット受信部１２１と、送信ゲートウェイ１００に対して送達確認応答を出力する送達確認応答出力部１２２とを有する。
【０００６】
送信装置Ｃ１１からデータパケットが送出されると、送信ゲートウェイ１００は、受信したデータパケットをバッファ１０１に一時的に蓄積するとともに、配信管理テーブル１０２に、このデータパケットのエントリを追加する。送信ゲートウェイ１００は、送信装置Ｃ１１から受信したデータパケットを、回線Ｌ１２を介して受信装置Ｃ１２に転送するとともに、このデータパケットに対する仮の到達確認応答のデータパケットを作成し、送信装置Ｃ１１にこの仮の到達確認応答を送信する。
【０００７】
受信装置Ｃ１２は、送信ゲートウェイ１００からデータパケットを受信すると、この受信データパケットに対する送達確認応答を作成し、この送達確認応答を送信ゲートウェイ１００に送信する。この送達確認応答には、対応するデータパケットに関するデータとこのデータパケットの到達確認状況に関するデータとが含まれる。受信装置Ｃ１２から送達確認応答を受信した送信ゲートウェイ１００は、送信ゲートウェイ１００内に保持されているデータパケットであって、この送達確認応答に対応するデータパケットをクリアする。
【０００８】
ここで、送信ゲートウェイ１００から受信装置Ｃ１２にデータパケットが送信される過程において、このデータパケットの転送に失敗し、受信装置Ｃ１２がこのデータパケットを受信することができなかった場合、送信ゲートウェイ１００は、受信装置Ｃ１２側から同一の送達確認応答を３つ続けて受信し、このデータパケットの再送処理を行う。
【０００９】
このように、従来のデータ配信管理システムでは、送信ゲートウェイ１００が、送信ゲートウェイ１００から受信装置Ｃ１２に対するデータパケットの送信と同時に、送信装置Ｃ１１に対して仮の送達確認応答（ｔｍｐＡＣＫ）を返送することによって、回線Ｌ１２の伝送賃によるＴＣＰのウィンドウサイズの減少を防ぎ、スループットの低下をなくして速度性能の劣化を改善していた。
【００１０】
また、送信ゲートウェイ１００は、送信装置Ｃ１１からデータパケットを受信すると、仮の送達確認応答を作成し、受信装置からの送達確認応答（ＡＣＫ）を受け付けるまで、このデータパケットを保持し、３つの同一の送達確認応答（ＤｕｐｌｉｃａｔｅＡＣＫ）を受信した時点で、このデータパケットの送信を失敗と判定し、この保持しているデータパケットの再送を行うようにしていた。
【００１１】
【発明が解決しようとする課題】
しかしながら、従来のデータ配信管理システムでは、伝送遅延の大きな回線Ｌ１２を介した伝送遅延によるウィンドウ情報の遅延を考慮した速度制御が行われていないため、受信装置Ｃ１２の受信バッファ１２３がオーバーフローする危険があり、さらにデータ再送の際に必ず、伝送遅延の大きな回線Ｌ１２を介して再送されていたため、遅延の大きな回線Ｌ１２上のデータフローが増加して輻輳し、通信の信頼性を低下させ、また、再送に要する時間が増大して通信の高速性を阻害するという問題点があった。
【００１２】
この発明は、上記に鑑みてなされたもので、受信側の端末装置における受信バッファのオーバーフローを防ぎ、また遅延の大きな回線上の輻輳をなくすとともに、再送に要する時間を短くし、通信の信頼性および高速性を保持したデータ配信を行うことができるデータ配信管理装置、これを用いたデータ配信管理システムおよびデータ配信管理方法ならびにその方法をコンピュータに実行させるプログラムを得ることを目的とする。
【００１３】
【課題を解決するための手段】
上記目的を達成するため、この発明にかかるデータ配信管理装置は、第１の端末装置と第２の端末装置との間の伝送路上に配置され、前記第２の端末装置側を接続する伝送路が前記第１の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、少なくとも前記第１の端末装置から送信されたデータを前記第２の端末装置側に転送するデータ配信管理装置において、前記第１の端末装置から送信されたデータを一時的に格納する受信バッファと、前記第２の端末装置の受信ウィンドウサイズを保持する受信ウィンドウサイズ保持手段と、前記受信ウィンドウサイズに対応して前記受信バッファに一時格納されたデータの転送速度を調節する制御を行う転送制御手段と、前記第１の端末装置から送信されたデータを高速に転送すべきか否かを判断する高速転送判断手段と、前記高速転送判断手段が前記第１の端末装置から送信されたデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置のユーザに対して行う課金手段と、を備えたことを特徴とする。
【００１４】
この発明によれば、受信バッファには、前記第１の端末装置から送信されたデータが一時的に格納され、転送制御手段は、受信ウィンドウサイズ保持手段が保持する前記第２の端末装置の受信ウィンドウサイズに対応して、前記受信バッファに一時格納されたデータの転送速度を調節する制御を行い、高速転送判断手段が、前記送受信されるデータを高速に転送すべきか否かを判断し、課金手段が、前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置のユーザに対して行うようにしている。
【００１５】
つぎの発明にかかるデータ配信管理装置は、第１の端末装置と第２の端末装置との間の伝送路上に配置され、前記第２の端末装置側を接続する伝送路が前記第１の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第１の端末装置と前記第２の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理装置において、前記第１の端末装置から送信されたデータを一時的に格納する受信バッファと、前記第１の端末装置と前記第２の端末装置との間のコネクション毎に該第１の端末装置および該第２の端末装置のウィンドウサイズの情報を取得するウィンドウサイズ取得手段と、前記ウィンドウサイズ取得手段によって取得された各コネクション毎のウィンドウサイズの情報を保持し、管理する管理手段と、前記管理手段によって管理されるウィンドウサイズに対応して各コネクション毎に、前記受信バッファに格納されたデータの転送速度を調節する制御を行う転送制御手段と、前記送受信されるデータを高速に転送すべきか否かを判断する高速転送判断手段と、前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置あるいは前記第２の端末装置のユーザに対して行う課金手段と、を備えたことを特徴とする。
【００１６】
この発明によれば、ウィンドウサイズ取得手段が、前記第１の端末装置と前記第２の端末装置との間のコネクション毎に該第１の端末装置および該第２の端末装置のウィンドウサイズの情報を取得し、管理手段が、この各コネクション毎のウィンドウサイズの情報を保持して管理し、転送制御手段が、前記管理手段によって管理されるウィンドウサイズに対応して各コネクション毎に、受信バッファに格納されたデータの転送速度を調節する制御を行い、高速転送判断手段が、前記送受信されるデータを高速に転送すべきか否かを判断し、課金手段が、前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置あるいは前記第２の端末装置のユーザに対して行うようにしている。
【００１７】
つぎの発明にかかるデータ配信管理装置は、第１の端末装置と第２の端末装置との間の伝送路上に配置され、前記第２の端末装置側を接続する伝送路が前記第１の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第１の端末装置と前記第２の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理装置において、前記第２の端末装置から前記第１の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第２の端末装置に送信するか否かを判断する第１の判断手段と、前記第１の判断手段が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積する送信バッファと、前記第１の端末装置が、前記第２の端末装置から送信されたデータの受信を失敗したか否かを判断する第２の判断手段と、前記第１の判断手段が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第２の端末装置から送信されたデータを前記第１の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第２の判断手段が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う第１の転送制御手段と、前記第１の端末装置から送信されたデータを一時的に格納する受信バッファと、前記第２の端末装置の受信ウィンドウサイズを保持する受信ウィンドウサイズ保持手段と、前記受信ウィンドウサイズに対応して前記受信バッファに一時格納されたデータの転送速度を調節する制御を行う第２転送制御手段とを備えたことを特徴とする。
【００１８】
この発明によれば、第１の判断手段が、前記第２の端末装置から前記第１の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第２の端末装置に送信するか否かを判断し、送信バッファが、前記第１の判断手段が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積し、第２の判断手段が、前記第１の端末装置が、前記第２の端末装置から送信されたデータの受信を失敗したか否かを判断し、第１の転送制御手段が、前記第１の判断手段が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第２の端末装置から送信されたデータを前記第１の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第２の判断手段が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う。また、受信バッファが、前記第１の端末装置から送信されたデータを一時的に格納し、受信ウィンドウサイズ保持手段が、前記第２の端末装置の受信ウィンドウサイズを保持し、第２の転送手段が、前記受信ウィンドウサイズに対応して前記受信バッファに一時格納されたデータの転送速度を調節する制御を行うようにしている。
【００１９】
つぎの発明にかかるデータ配信管理装置は、第１の端末装置と第２の端末装置との間の伝送路上に配置され、前記第２の端末装置側を接続する伝送路が前記第１の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第１の端末装置と前記第２の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理装置において、前記第２の端末装置から前記第１の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第２の端末装置に送信するか否かを判断する第１の判断手段と、前記第１の判断手段が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積する送信バッファと、前記第１の端末装置が、前記第２の端末装置から送信されたデータの受信を失敗したか否かを判断する第２の判断手段と、前記第１の判断手段が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第２の端末装置から送信されたデータを前記第１の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第２の判断手段が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う第１の転送制御手段と、前記第１の端末装置と前記第２の端末装置との間のコネクション毎に該第１の端末装置および該第２の端末装置のウィンドウサイズの情報を取得するウィンドウサイズ取得手段と、前記ウィンドウサイズ取得手段によって取得された各コネクション毎のウィンドウサイズの情報を保持し、管理する管理手段と、前記管理手段によって管理されるウィンドウサイズに対応して各コネクション毎にデータの転送速度を調節する制御を行う第２の転送制御手段とを備えたことを特徴とする。
【００２０】
この発明によれば、第１の判断手段が、前記第２の端末装置から前記第１の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第２の端末装置に送信するか否かを判断し、送信バッファが、前記第１の判断手段が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積し、第２の判断手段が、前記第１の端末装置が、前記第２の端末装置から送信されたデータの受信を失敗したか否かを判断し、第１の転送制御手段が、前記第１の判断手段が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第２の端末装置から送信されたデータを前記第１の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第２の判断手段が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う。また、ウィンドウサイズ取得手段が、前記第１の端末装置と前記第２の端末装置との間のコネクション毎に該第１の端末装置および該第２の端末装置のウィンドウサイズの情報を取得し、管理手段が、前記ウィンドウサイズ取得手段によって取得された各コネクション毎のウィンドウサイズの情報を保持して、管理し、第２の転送制御手段が、前記管理手段によって管理されるウィンドウサイズに対応して各コネクション毎にデータの転送速度を調節する制御を行うようにしている。
【００２１】
つぎの発明にかかるデータ配信管理装置は、上記の発明において、前記第２の端末装置が、前記第１の端末装置から送信されたデータの受信を失敗したか否かを判断する第３の判断手段と、前記第３の判断手段が前記第１の端末装置から送信されたデータの受信を失敗したと判断した場合に、前記受信バッファに蓄積されたデータの再送処理を行う再送制御手段とを備えたことを特徴とする。
【００２２】
この発明によれば、第３の判断手段が、前記第２の端末装置が、前記第１の端末装置から送信されたデータの受信を失敗したか否かを判断し、再送制御手段が、前記第３の判断手段が前記第１の端末装置から送信されたデータの受信を失敗したと判断した場合に、前記受信バッファに蓄積されたデータの再送処理を行うようにしている。
【００２３】
つぎの発明にかかるデータ配信管理装置は、上記の発明において、前記再送制御手段は、前記データの再送処理を行う場合、該データの再送処理を行うとともに、該データに対する仮の送達確認応答を作成して前記第１の端末装置に送信することを特徴とする。
【００２４】
この発明によれば、前記再送制御手段が、前記データの再送処理を行う場合、該データの再送処理を行うとともに、該データに対する仮の送達確認応答を作成して前記第１の端末装置に送信するようにしている。
【００２５】
つぎの発明にかかるデータ配信管理装置は、上記の発明において、前記第１の端末装置から送信されたデータに対して再送処理が行われたか否かを情報を保持し、該情報をもとに該データが再送済みであるか否かを判断する第４の判断手段をさらに備え、前記再送制御手段は、前記受信の失敗に対応して前記受信バッファに蓄積されたデータの再送処理を行う場合、前記第４の判断手段が再送済みと判断した場合に、該データの再送処理を行わせない制御を行うことを特徴とする。
【００２６】
この発明によれば、第４の判断手段が、前記第１の端末装置から送信されたデータに対して再送処理が行われたか否かを情報を保持し、該情報をもとに該データが再送済みであるか否かを判断し、前記再送制御手段が、前記受信の失敗に対応して前記受信バッファに蓄積されたデータの再送処理を行う場合、前記第４の判断手段が再送済みと判断した場合に、該データの再送処理を行わせない制御を行うようにしている。
【００２７】
つぎの発明にかかるデータ配信管理装置は、上記の発明において、前記送受信されるデータを高速に転送すべきか否かを判断する高速転送判断手段と、前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置あるいは前記第２の端末装置のユーザに対して行う課金手段とをさらに備えたことを特徴とする。
【００２８】
この発明によれば、高速転送判断手段が、前記送受信されるデータを高速に転送すべきか否かを判断し、課金手段が、前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置あるいは前記第２の端末装置のユーザに対して行うようにしている。
【００２９】
つぎの発明にかかるデータ配信管理装置は、上記の発明において、前記課金手段は、前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合に、この高速化に伴った課金内容を送信元の前記第１の端末装置あるいは前記第２の端末装置に対して提示し、該第１の端末装置あるいは該第２の端末装置のユーザに対して高速化を行うか否かの情報の入力依頼を行う入力依頼手段を備え、前記課金手段は、前記入力依頼手段が、高速化を行う旨の通知を受けた場合に、前記送受信されるデータの高速転送に伴う課金処理を行うことを特徴とする。
【００３０】
この発明によれば、入力依頼手段が、前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合に、この高速化に伴った課金内容を送信元の前記第１の端末装置あるいは前記第２の端末装置に対して提示し、該第１の端末装置あるいは該第２の端末装置のユーザに対して高速化を行うか否かの情報の入力依頼を行い、前記課金手段が、前記入力依頼手段が、高速化を行う旨の通知を受けた場合に、前記送受信されるデータの高速転送に伴う課金処理を行うようにしている。
【００３１】
つぎの発明にかかるデータ配信管理システムは、請求項１〜９のいずれか一つに記載のデータ配信管理装置を、前記第１の端末装置および前記第２の端末装置との間の伝送路であって、前記第１の端末装置あるいは前記第２の端末装置を接続する伝送路に比して大きな伝送遅延をもつ伝送路の端部にそれぞれ配置したことを特徴とする。
【００３２】
この発明によれば、上記の発明のいずれか一つに記載のデータ配信管理装置を、 前記第１の端末装置および前記第２の端末装置との間の伝送路であって、前記第１の端末装置あるいは前記第２の端末装置を接続する伝送路に比して大きな伝送遅延をもつ伝送路の端部にそれぞれ配置して、双方向通信を実現するようにしている。
【００３３】
つぎの発明にかかるデータ配信管理システムは、上記の発明において、前記第１の端末装置あるいは前記第２の端末装置を接続する伝送路に比して大きな伝送遅延をもつ伝送路は、衛星回線であることを特徴とする。
【００３４】
この発明によれば、前記第１の端末装置あるいは前記第２の端末装置を接続する伝送路に比して大きな伝送遅延をもつ伝送路を、衛星回線として実現している。
【００３５】
つぎの発明にかかるデータ配信管理方法は、第１の端末装置と第２の端末装置との間の伝送路上に配置され、前記第２の端末装置側を接続する伝送路が前記第１の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、少なくとも前記第１の端末装置から送信されたデータを前記第２の端末装置側に転送するデータ配信管理方法において、前記第２の端末装置の受信ウィンドウサイズを保持する受信ウィンドウサイズ保持工程と、前記第１の端末装置から送信されたデータを一時的に格納する受信バッファ工程と、前記受信ウィンドウサイズに対応して前記受信バッファが一時格納したデータの転送速度を調節する制御を行う転送制御工程と、前記第１の端末装置から送信されたデータを高速に転送すべきか否かを判断する高速転送判断工程と、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置のユーザに対して行う課金工程と、を含むことを特徴とする。
【００３６】
この発明によれば、受信ウィンドウサイズ保持工程によって、前記第２の端末装置の受信ウィンドウサイズを保持し、受信バッファ工程によって、前記第１の端末装置から送信されたデータを一時的に格納し、転送制御工程によって、前記受信ウィンドウサイズに対応して前記受信バッファが一時格納したデータの転送速度を調節する制御を行い、高速転送判断工程によって、前記送受信されるデータを高速に転送すべきか否かを判断し、課金工程によって、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置のユーザに対して行うようにしている。
【００３７】
つぎの発明にかかるデータ配信管理方法は、第１の端末装置と第２の端末装置との間の伝送路上に配置され、前記第２の端末装置側を接続する伝送路が前記第１の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第１の端末装置と前記第２の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理方法において、前記第１の端末装置と前記第２の端末装置との間のコネクション毎に該第１の端末装置および該第２の端末装置のウィンドウサイズの情報を取得するウィンドウサイズ取得工程と、前記ウィンドウサイズ取得工程によって取得された各コネクション毎のウィンドウサイズの情報を保持し、管理する管理工程と、前記第１の端末装置から送信されたデータを一時的に格納する受信バッファ工程と、前記管理工程によって管理されるウィンドウサイズに対応して各コネクション毎に、前記受信バッファ工程によって格納されたデータの転送速度を調節する制御を行う転送制御工程と、前記送受信されるデータを高速に転送すべきか否かを判断する高速転送判断工程と、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置あるいは前記第２の端末装置のユーザに対して行う課金工程と、を含むことを特徴とする。
【００３８】
この発明によれば、ウィンドウサイズ工程によって、前記第１の端末装置と前記第２の端末装置との間のコネクション毎に該第１の端末装置および該第２の端末装置のウィンドウサイズの情報を取得し、管理工程によって、前記ウィンドウサイズ取得工程によって取得された各コネクション毎のウィンドウサイズの情報を保持して、管理し、受信バッファ工程によって、前記第１の端末装置から送信されたデータを一時的に格納し、転送制御工程によって、前記管理工程によって管理されるウィンドウサイズに対応して各コネクション毎に、前記受信バッファ工程によって格納されたデータの転送速度を調節する制御を行い、高速転送判断工程によって、前記送受信されるデータを高速に転送すべきか否かを判断し、課金工程によって、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置あるいは前記第２の端末装置のユーザに対して行うようにしている。
【００３９】
つぎの発明にかかるデータ配信管理方法は、第１の端末装置と第２の端末装置との間の伝送路上に配置され、前記第２の端末装置側を接続する伝送路が前記第１の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第１の端末装置と前記第２の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理方法において、前記第２の端末装置から前記第１の端末装置に対して送信するデータを受信した場合に仮の確認応答を作成して該第２の端末装置に送信するか否かを判断する第１の判断工程と、前記第１の判断工程が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積する送信バッファ工程と、前記第１の端末装置が、前記第２の端末装置から送信されたデータの受信を失敗したか否かを判断する第２の判断工程と、前記第１の判断工程が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第２の端末装置から送信されたデータを前記第１の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第２の判断工程が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う第１の転送制御工程と、前記第１の端末装置から送信されたデータを一時的に格納する受信バッファ工程と、前記第２の端末装置の受信ウィンドウサイズを保持する受信ウィンドウサイズ保持工程と、前記受信ウィンドウサイズに対応して前記受信バッファに一時格納されたデータの転送速度を調節する制御を行う第２の転送制御工程とを含むことを特徴とする。
【００４０】
この発明によれば、第１の判断工程によって、前記第２の端末装置から前記第１の端末装置に対して送信するデータを受信した場合に仮の確認応答を作成して該第２の端末装置に送信するか否かを判断し、送信バッファ工程によって、前記第１の判断工程が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積し、第２の判断工程によって、前記第１の端末装置が、前記第２の端末装置から送信されたデータの受信を失敗したか否かを判断し、第１の転送制御工程によって、前記第１の判断工程が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第２の端末装置から送信されたデータを前記第１の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第２の判断工程が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う。また、受信バッファ工程によって、前記第１の端末装置から送信されたデータを一時的に格納し、受信ウィンドウサイズ保持工程によって、前記第２の端末装置の受信ウィンドウサイズを保持し、第２の転送制御工程によって、前記受信ウィンドウサイズに対応して前記受信バッファに一時格納されたデータの転送速度を調節する制御を行うようにしている。
【００４１】
つぎの発明にかかるデータ配信管理方法は、第１の端末装置と第２の端末装置との間の伝送路上に配置され、前記第２の端末装置側を接続する伝送路が前記第１の端末装置側を接続する伝送路の伝送遅延に比して小さい伝送遅延を有し、前記第１の端末装置と前記第２の端末装置との間で送受信されるデータの転送制御を行うデータ配信管理方法において、前記第２の端末装置から前記第１の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第２の端末装置に送信するか否かを判断する第１の判断工程と、前記第１の判断工程が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積する送信バッファ工程と、前記第１の端末装置が、前記第２の端末装置から送信されたデータの受信を失敗したか否かを判断する第２の判断工程と、前記第１の判断工程が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第２の端末装置から送信されたデータを前記第１の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第２の判断工程が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う第１の転送制御工程と、前記第１の端末装置と前記第２の端末装置との間のコネクション毎に該第１の端末装置および該第２の端末装置のウィンドウサイズの情報を取得するウィンドウサイズ取得工程と、前記ウィンドウサイズ取得工程によって取得された各コネクション毎のウィンドウサイズの情報を保持し、管理する管理工程と、前記管理工程によって管理されるウィンドウサイズに対応して各コネクション毎にデータの転送速度を調節する制御を行う第２の転送制御工程とを含むことを特徴とする。
【００４２】
この発明によれば、第１の判断工程によって、前記第２の端末装置から前記第１の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第２の端末装置に送信するか否かを判断し、送信バッファ工程によって、前記第１の判断工程が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積し、第２の判断工程によって、前記第１の端末装置が、前記第２の端末装置から送信されたデータの受信を失敗したか否かを判断し、第１の再送制御工程によって、前記第１の判断工程が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第２の端末装置から送信されたデータを前記第１の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第２の判断工程が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う。また。ウィンドウサイズ取得工程によって、前記第１の端末装置と前記第２の端末装置との間のコネクション毎に該第１の端末装置および該第２の端末装置のウィンドウサイズの情報を取得し、管理工程によって、前記ウィンドウサイズ取得工程によって取得された各コネクション毎のウィンドウサイズの情報を保持して、管理し、第２の転送制御工程によって、前記管理工程によって管理されるウィンドウサイズに対応して各コネクション毎にデータの転送速度を調節する制御を行うようにしている。
【００４３】
つぎの発明にかかるデータ配信管理方法は、上記の発明において、前記第２の端末装置が、前記第１の端末装置から送信されたデータの受信を失敗したか否かを判断する第３の判断工程と、前記第３の判断工程が前記第１の端末装置から送信されたデータの受信を失敗したと判断した場合に、前記受信バッファに蓄積されたデータの再送処理を行う再送制御工程とを含むことを特徴とする。
【００４４】
この発明によれば、第３の判断工程によって、前記第２の端末装置が、前記第１の端末装置から送信されたデータの受信を失敗したか否かを判断し、再送制御工程によって、前記第３の判断工程が前記第１の端末装置から送信されたデータの受信を失敗したと判断した場合に、前記受信バッファに蓄積されたデータの再送処理を行うようにしている。
【００４５】
つぎの発明にかかるデータ配信管理方法は、上記の発明において、前記再送制御工程は、前記データの再送処理を行う場合、該データの再送処理を行うとともに、該データに対する仮の送達確認応答を作成して前記第１の端末装置に送信することを特徴とする。
【００４６】
この発明によれば、前記再送制御工程が、前記データの再送処理を行う場合、該データの再送処理を行うとともに、該データに対する仮の送達確認応答を作成して前記第１の端末装置に送信するようにしている。
【００４７】
つぎの発明にかかるデータ配信管理方法は、上記の発明において、前記第１の端末装置から送信されたデータに対して再送処理が行われたか否かを情報を保持し、該情報をもとに該データが再送済みであるか否かを判断する第４の判断工程をさらに含み、前記再送制御工程は、前記受信の失敗に対応して前記受信バッファに蓄積されたデータの再送処理を行う場合、前記第４の判断工程が再送済みと判断した場合に、該データの再送処理を行わせない制御を行うことを特徴とする。
【００４８】
この発明によれば、第４の判断工程によって、前記第１の端末装置から送信されたデータに対して再送処理が行われたか否かを情報を保持し、該情報をもとに該データが再送済みであるか否かを判断し、前記再送制御工程が、前記受信の失敗に対応して前記受信バッファに蓄積されたデータの再送処理を行う場合、前記第４の判断工程が再送済みと判断した場合に、該データの再送処理を行わせないようにしている。
【００４９】
つぎの発明にかかるデータ配信管理方法は、上記の発明において、前記送受信されるデータを高速に転送すべきか否かを判断する高速転送判断工程と、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置あるいは前記第２の端末装置のユーザに対して行う課金工程とをさらに含むことを特徴とする。
【００５０】
この発明によれば、高速転送判断工程によって、前記送受信されるデータを高速に転送すべきか否かを判断し、課金工程によって、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置あるいは前記第２の端末装置のユーザに対して行うようにしている。
【００５１】
つぎの発明にかかるデータ配信管理方法は、上記の発明において、前記課金工程は、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合に、この高速化に伴った課金内容を送信元の前記第１の端末装置あるいは前記第２の端末装置に対して提示し、該第１の端末装置あるいは該第２の端末装置のユーザに対して高速化を行うか否かの情報の入力依頼を行う入力依頼工程を含み、前記課金工程は、前記入力依頼工程が、高速化を行う旨の通知を受けた場合に、前記送受信されるデータの高速転送に伴う課金処理を行うことを特徴とする。
【００５２】
この発明によれば、入力依頼工程によって、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合に、この高速化に伴った課金内容を送信元の前記第１の端末装置あるいは前記第２の端末装置に対して提示し、該第１の端末装置あるいは該第２の端末装置のユーザに対して高速化を行うか否かの情報の入力依頼を行い、前記課金工程が、前記入力依頼工程が、高速化を行う旨の通知を受けた場合に、前記送受信されるデータの高速転送に伴う課金処理を行うようにしている。
【００５３】
つぎの発明にかかるプログラムは、請求項のいずれか一つに記載された方法をコンピュータに実行させるプログラムであり、そのプログラムが機械読み取り可能となり、これによって、請求項のいずれか一つの動作をコンピュータによって実行することができる。
【００５４】
【発明の実施の形態】
以下、添付図面を参照して、この発明にかかるデータ配信管理装置、これを用いたデータ配信管理システムおよびデータ配信管理方法ならびにその方法をコンピュータに実行させるプログラムの好適な実施の形態を詳細に説明する。
【００５５】
実施の形態１．
図１は、この発明の実施の形態１であるデータ配信管理装置を含むデータ配信管理システムの構成を示すブロック図である。図１において、このデータ配信管理システムは、端末装置Ｃ１が回線２ａを介してデータ配信管理装置１０に接続され、データ配信管理装置１０が回線３を介してデータ配信管理装置２０に接続され、データ配信管理装置２０が回線２ｂを介して端末装置Ｃ２に接続される。回線３は、衛星回線などの伝送遅延の大きな回線であり、回線２ａ，２ｂは、回線３に比して伝送遅延が小さい回線である。端末装置Ｃ１，Ｃ２間は、ＴＣＰ通信が行われる。
【００５６】
データ配信管理装置１０は、ゲートウェイ機能部１０ａと、配信管理テーブル１と、プロトコル管理テーブル５と、送信バッファ６、および受信バッファ７とを有する。ゲートウェイ機能部１０ａは、端末装置Ｃ１との間においてデータパケットの入出力処理を行う通信部１７と、データ配信管理装置２０を介した端末装置Ｃ２との間においてデータパケットの入出力処理を行う通信部１１と、仮の送達確認応答（ｔｍｐＡＣＫ）を作成するためのデータパケットを保存するｔｍｐＡＣＫバッファ４と、端末装置Ｃ２に対して送信したデータパケットに対してｔｍｐＡＣＫの返送を行うか否かを判断するｔｍｐＡＣＫ使用判定部１２、端末装置Ｃ１から受信したデータパケットをもとにｔｍｐＡＣＫを作成するｔｍｐＡＣＫ作成部１３と、データパケット毎の送達確認応答のタイムアウト時間（ＳＧＴｉｍｅｒ）をカウントアップし、この送達確認応答待ちのタイムアウトイベントを発生させるＳＧＴｉｍｅｒカウント部１４と、端末装置Ｃ１にｔｍｐＡＣＫを送信したか否かの情報および端末装置Ｃ２からの送達確認応答に関する情報を配信管理テーブル１に書き込む処理を行う配信データ記録部１５と、ＳＧＴｉｍｅｒ値および配信管理テーブル１の内容に対応してデータパケットの配信を管理するＳＧ配信管理部１６とを有する。
【００５７】
なお、図１において、送信バッファ６、受信バッファ７、およびｔｍｐＡＣＫバッファ４は、それぞれ別個のバッファとして示されているが、これに限らず、部分的あるいは全てを同一のバッファとして実装するようにしてもよい。また、別個のバッファとして実装する場合であっても、同一のバッファとして実装する場合であっても、管理目的に応じて制御情報などを含めた情報とともに用いることが可能な図示しない管理テーブルを設け、パケットデータの格納位置が識別可能なように実装することによって、管理および検索の効率化を図ることができる。
【００５８】
データ配信管理装置２０は、データ配信管理装置１０と同じ構成を有する。データ配信管理装置１０は、端末装置Ｃ１から送信されたデータパケットをデータ配信管理装置２０を介して端末装置Ｃ２に転送する。この際、データ配信管理装置１０は、ｔｍｐＡＣＫ使用判定部１２において端末装置Ｃ１から受信したデータパケットに対し、ｔｍｐＡＣＫの返送機能を適用するか否かを判定し、適用すると判定された場合、端末装置Ｃ１に、送信されたデータパケットに対する仮の到達確認応答（ｔｍｐＡＣＫ）を返送し、データ配信管理装置２０は、通常のゲートウェイと同様に、データ配信管理装置１０から送られたデータパケットを端末装置Ｃ２に転送するが、この際、このデータパケットをバッファリングし、端末装置Ｃ２のウィンドウサイズに応じて該データパケットの転送速度調整を行う。
【００５９】
また、データ配信管理装置２０は、端末装置Ｃ２から送信されたデータパケットをデータ配信管理装置１０を介して端末装置Ｃ１に転送する。この際、データ配信管理装置２０は、ｔｍｐＡＣＫ使用判定部１２において端末装置Ｃ２から受信したデータパケットに対し、ｔｍｐＡＣＫの返送機能を適用するか否かを判定し、適用すると判定された場合、端末装置Ｃ２に、送信されたデータパケットに対するｔｍｐＡＣＫを返送し、データ配信管理装置１０は、通常のゲートウェイと同様に、データ配信管理装置２０から送られたデータパケットを端末装置Ｃ１に転送するが、この際、このデータパケットをバッファリングし、端末装置Ｃ１のウィンドウサイズに応じて該データパケットの転送速度調整を行う。これによって、端末装置Ｃ１，Ｃ２間の双方向通信が実現される。なお、２つのデータ配信管理装置１０，２０は、遅延の小さな回線２ａ，２ｂから受信したデータを遅延の大きな回線３に転送する場合、通常のルータとして機能する他、仮の送達確認応答を作成し、転送するデータを一時保存し、このデータの宛先における受信ができたか否かの判定を行い、この宛先において受信を失敗したと判定した場合には、このデータの再送処理を行う（後述する図６に示すフローチャート参照）。
【００６０】
ここで、図２〜図９を参照して、データ配信管理装置１０のデータ配信管理処理について説明する。まず、ゲートウェイ機能部１０ａの通信部１７，１１は、データパケットを受信すると、この受信したデータパケットを受信バッファ７に一時保存し、ＳＧ配信管理部１６は、図２に示す配信処理を行う。
【００６１】
図２において、まず、データ配信管理装置１０は、遅延の大きな回線３から受信し、遅延の小さな回線２ａを介した宛先である端末装置Ｃ１に転送するデータであるか否かを判断する（ステップＳ１１）。遅延の大きな回線３から受信し、遅延の小さな回線２ａに転送するデータであった場合（Ｓ１１，ＹＥＳ）、データ配信管理装置１０は、遅延回線からのパケット処理、すなわち端末装置Ｃ１のウィンドウサイズに応じたデータ転送速度の調節を行って（ステップＳ１２）、本処理を終了する。なお、この遅延回線からのパケット処理の詳細については後述する。
【００６２】
一方、遅延の大きな回線３から受信したデータでなかった場合、すなわち端末装置Ｃ１から遅延の小さな回線２ａを介して受信し、遅延の大きな回線３を介して宛先（端末装置Ｃ２）に転送するデータであった場合（ステップＳ１１，ＮＯ）、ｔｍｐＡＣＫ利用候補パケットの処理を行う（ステップＳ１３）。すなわち、ｔｍｐＡＣＫ使用判定部１２が、受信したデータパケットのチェックを行い、このチェック結果に応じてデータ配信管理装置１０がもつ受信データパケットに対するｔｍｐＡＣＫ利用可能フラグの「ＯＮ」、「ＯＦＦ」を決定し、必要に応じてｔｍｐＡＣＫ利用可能フラグの「ＯＮ」、「ＯＦＦ」も含め、受信データパケットの情報を配信管理テーブル１に登録する（ステップＳ１３）。このｔｍｐＡＣＫ利用候補パケットの処理の詳細については後述する。
【００６３】
その後、ｔｍｐＡＣＫ制御フラグをもとにｔｍｐＡＣＫの利用制御を行うか否かを判断する（ステップＳ１４）。ｔｍｐＡＣＫの利用制御を行わない場合（ステップＳ１４，ＮＯ）には、受信したデータをそのまま宛先に転送し（ステップＳ１５）、本処理を終了する。一方、ｔｍｐＡＣＫの利用制御を行う場合（ステップＳ１４，ＹＥＳ）には、ｔｍｐＡＣＫ利用制御処理を実行して（ステップＳ１５）、本処理を終了する。このｔｍｐＡＣＫ利用制御処理の詳細については後述する。
【００６４】
図３は、図２に示したステップＳ１２における遅延回線からのパケット処理手順を示すフローチャートである。図３において、遅延の大きな回線３を介して受信し、遅延の小さな回線２ａに転送するデータセグメントを受信すると、まず、データが管理している通信のものであり（ＩＰおよびポートの組み合わせで判断）かつ、コードビット（CodeBit）のＡＣＫフラグおよびこの通信におけるデータ送信の方向（配信管理テーブルにある通信と送受信とが逆のデータは、ＡＣＫであると判断する）によって、この受信したデータセグメントがＡＣＫセグメントであるか否かを判断する（ステップＳ２１）。たとえば、管理している通信が図４に示しているもののみの場合、送信元ＩＰが「10.74.3.200」、送信元ポートが「1301」、宛先ＩＰが「10.74.3.177」、宛先ポートが「FTP.DATA」であり、かつ、ＡＣＫフラグが「ＯＮ」であるデータをＡＣＫと判断する。
【００６５】
受信したデータセグメントがＡＣＫセグメントでなかった場合（ステップＳ２１，ＮＯ）、さらに、配信管理テーブル１内の宛先の受信ウィンドウ情報から、宛先の受信バッファが十分であるか否かを判断する（ステップＳ２２）。
【００６６】
宛先の受信バッファが十分である場合（ステップＳ２２，ＹＥＳ）、伝送遅延の小さな回線２ａを介した宛先（端末装置Ｃ１）にデータを転送し（ステップＳ２５）、本処理を終了する。一方、宛先の受信バッファが十分でない場合（ステップＳ２２，ＮＯ）、転送するデータを受信バッファ７に一時保存し（ステップＳ２３）、宛先のウィンドウ情報から、宛先の受信バッファが十分に回復したと確認できるまでデータ転送を中断し、宛先からのデータセグメントのＴＣＰヘッダのウィンドウフィールドを参照し、ウィンドウサイズ情報を得て、配信管理テーブル１に記録し、このウィンドウサイズ情報をもとに、宛先における受信バッファが十分になったと判断された時点で、データ転送を再開し、これによってデータの転送速度の調節を行う（ステップＳ２４）。その後、伝送遅延の小さい回線２ａを介した宛先（端末装置Ｃ１）に対するデータ転送を行って（ステップＳ２５）、本処理を終了する。
【００６７】
一方、受信したデータセグメントがＡＣＫセグメントである場合（ステップＳ２１，ＹＥＳ）、受信したデータセグメントが、宛先からの送達確認応答であるか否かを判断し、この宛先からの送達確認応答であった場合、ｔｍｐＡＣＫバッファ４に、この受信したデータセグメントを保存し、ＳＧ配信管理部１６による受信確認処理および再送処理に、宛先からの送達確認応答を受信したことを通知するイベントを発生させる（ステップＳ２６）。この受信確認処理および再送処理については、後述する。
【００６８】
その後、配信管理テーブル１を参照して、ｔｍｐＡＣＫの送信状況すなわち送信済みか否かの状況によって、このＡＣＫセグメントを転送するか否かを判断し（ステップＳ２７）、ＡＣＫセグメントが送信済みである場合（ステップＳ２７，ＮＯ）には、本処理を終了し、ＡＣＫセグメントが送信済みでない場合（ステップＳ２７，ＹＥＳ）には、ステップＳ２２に移行し、上述したように宛先のウィンドウサイズが十分である場合には、そのままＡＣＫセグメントを転送し、宛先のウィンドウサイズが十分でない場合には、データの転送速度を調節してＡＣＫセグメントを転送し、その後、本処理を終了する。
【００６９】
ここで、図４は、配信管理テーブル１の一例を示す図である。図４において、項目Ｄ１１〜Ｄ１５は、管理単位が同じ通信に関する情報を表す項目であり、項目Ｄ１６〜Ｄ１８は、管理単位が同じ通信においてデータ配信管理装置１０が受信したデータパケットに関する情報を表す項目である。各項目Ｄ１１〜Ｄ１８は、データ配信管理装置１０が受信したデータパケットから取得された情報である。項目Ｄ１１は、管理する通信の送信元ＩＰアドレスを表し、項目Ｄ１２は、宛先ＩＰアドレスを表し、項目Ｄ１３は、送信元ポート番号を表し、項目Ｄ１４は、宛先ポート番号を表し、項目Ｄ１５は、送信元および宛先におけるそれぞれの最新の送信ウィンドウサイズおよび受信ウィンドウサイズを表している。また、項目Ｄ１６は、この通信においてデータ配信管理装置１０が受信したデータセグメントのシーケンス番号を表し、項目Ｄ１７は、ｔｍｐＡＣＫの送信に関する情報を表している。この項目Ｄ１７の情報は、送信元に対して一定の条件が整った時などの条件付の場合を含め、送信可能なデータパケットであるか否かの情報およびｔｍｐＡＣＫを送信したか否かの情報などを値として用いるものである。また、項目Ｄ１８は、宛先からの送達確認応答（ＲＲＡＣＫ）に対する情報を表すものであり、図４では、対応するデータパケットが、ＲＲＡＣＫを受信済であることを表す「ＡＣＫ受信済」およびＲＲＡＣＫの到達を待っている状態であることを表す「ＡＣＫ待ち」の２つの値をもつ。
【００７０】
さらに、項目Ｄ１９は、「受信側ＧＷ（ゲートウェイ）における再送」フラグを示す項目であり、送信元から、遅延の大きな回線を介して受信したデータセグメントを、遅延の小さい回線を介した宛先に転送する際、転送するデータセグメントをバッファリングし、かつ再送の責任をもつか否かの情報を示す項目であり、値として、遅延の大きな回線から遅延の小さい回線にデータセグメントを転送する場合であり、かつ再送の責任をもつ場合、「使用済」とし、遅延の大きな回線から遅延の小さい回線にデータセグメントを転送する場合であり、かつ再送の責任を持たない場合、「未使用」とし、遅延の大きな回線から遅延の小さい回線にデータセグメントを転送する場合でない場合、「ＮＵＬＬ」とする値をもつ。
【００７１】
たとえば、図４において、行ＤＤ１には、送信元の端末装置「10.74.3.177」の送信ポート「FTP.DATA」から、宛先の端末装置「10.74.3.200」の宛先ポート「1301」に対する通信において、送信元の送信ウィンドウサイズおよび受信ウィンドウサイズ、および宛先の送信ウィンドウサイズおよび受信ウィンドウサイズは全て16Kバイトであり、シーケンス番号「398」を持つデータセグメントは、ｔｍｐＡＣＫの送信が「不可」、すなわち、いかなる条件になった場合でも、ｔｍｐＡＣＫの送信を行わないデータセグメントであり、現時点で宛先からの送達確認応答を待っている状態であることを表すものであり、かつ自データ配信管理装置が、遅延の大きな回線から遅延の小さい回線にデータセグメントを転送する場合であって、再送の責任をもつ場合であることを示している。
【００７２】
また、図５において、行ＤＤ２には、送信元の端末装置「10.74.3.177」の送信ポート「FTP.DATA」から、宛先の端末装置「10.74.3.200」の宛先ポート「1301」に対する通信において、送信元の送信ウィンドウサイズおよび受信ウィンドウサイズ、および宛先の送信ウィンドウサイズおよび受信ウィンドウサイズは全て16Kバイトであり、シーケンス番号「398」を持つデータセグメントは、ｔｍｐＡＣＫの送信が「不可」、すなわち、いかなる条件になった場合でも、ｔｍｐＡＣＫの送信を行わないデータセグメントであり、現時点で宛先からの送達確認応答を待っている状態であることを表すものであり、かつ自データ配信管理装置が、遅延の大きな回線から遅延の小さい回線にデータセグメントを転送する場合でないことを示している。
【００７３】
ＳＧ配信管理部１６は、この配信管理テーブル１の上述した項目および必要に応じて追加する項目を用いて、データセグメントのｔｍｐＡＣＫの管理、受信確認、および受信結果に応じた再送の制御、送信元へのｔｍｐＡＣＫおよび宛先からの送達確認応答であるＲＲＡＣＫの送信速度の制御、宛先への転送速度の制御、データ配信管理装置１０の送信バッファ６および受信バッファ７の管理を行うことができる。
【００７４】
つぎに、図６に示したフローチャートを参照して、ステップＳ１３におけるｔｍｐＡＣＫ利用候補パケットの処理手順について説明する。遅延の大きな回線３からのデータでないと判断された場合（ステップＳ１１，ＮＯ）、まず、この受信したデータセグメントのヘッダ部のコードビット（CodeBit）を参照して、通信開始時のデータセグメントであるか否かを判断する（ステップＳ３１）。
【００７５】
受信したデータセグメントが通信開始時のデータセグメントである場合（ステップＳ３１，ＹＥＳ）、さらに、配信管理テーブル１を参照し、正しい通信開始手順であるか否かを判断する（ステップＳ３２）。この正しい通信開始手順であるか否かは、たとえば配信管理テーブル１と受信したデータセグメントのＴＣＰヘッダとを参照し、配信管理テーブル１に登録されていないＳＹＮパケットであるか、あるいはＴＣＰの３ハンドシェーク方式の手順に従ったデータセグメントを送信元および宛先から受け取っているか、などによって判断する。
【００７６】
正しい通信開始手順であると判断された場合（ステップＳ３２，ＹＥＳ）、配信管理テーブル１に、データセグメントに関するエントリを追加し（ステップＳ３３）、この受信したデータパケットを宛先に転送し（ステップＳ３４）、本処理を終了する。一方、正しい通信手順でないと判断された場合（ステップＳ３２，ＮＯ）、ｔｍｐＡＣＫ利用可能フラグを「ＯＦＦ」にし（ステップＳ３５）、その後、この受信したデータパケットを宛先に転送し（ステップＳ３４）、本処理を終了する。
【００７７】
一方、受信したデータセグメントが通信開始時のデータセグメントでない場合（ステップＳ３１，ＮＯ）、さらに、配信管理テーブル１上に既に登録されている通信であるか否かを判断する（ステップＳ３６）。この判断は、受信したデータセグメントのＩＰヘッダにある送信元ＩＰアドレスおよび宛先ＩＰアドレス、およびＴＣＰヘッダにある送信元ポート番号および宛先ポート番号を参照し、ＩＰヘッダ中の送信元ＩＰとＴＣＰヘッダ中の送信元ポートとの組み合わせおよび宛先ＩＰと宛先ポートとの組み合わせで表される通信が、配信管理テーブル１上に存在するか否かによって行われる。受信したデータセグメントが配信管理テーブル１上に登録されていない場合（ステップＳ３６，ＮＯ）、ｔｍｐＡＣＫ利用可能フラグを「ＯＦＦ」にし（ステップＳ３５）、その後、この受信したデータパケットを宛先に転送し（ステップＳ３４）、本処理を終了する。
【００７８】
一方、受信したデータセグメントが配信管理テーブル１上に登録されている場合（ステップＳ３６，ＹＥＳ）には、さらに、受信したデータセグメントが、宛先の受信ウィンドウ内のセグメントであるか否かを判断する（ステップＳ３７）。宛先の受信ウィンドウ内のセグメントである場合（ステップＳ３７，ＹＥＳ）、さらに、データが管理している通信のものであり（ＩＰおよびポートの組み合わせで判断）かつ、コードビット（CodeBit）のＡＣＫフラグおよびこの通信におけるデータ送信の方向（配信管理テーブルにある通信と送受信とが逆のデータは、ＡＣＫであると判断する）によって、この受信したデータセグメントがＡＣＫセグメントであるか否かを判断する（ステップＳ３８）。たとえば、管理している通信が図４に示しているもののみの場合、送信元ＩＰが「10.74.3.200」、送信元ポートが「1301」、宛先ＩＰが「10.74.3.177」、宛先ポートが「FTP.DATA」であり、かつ、ＡＣＫフラグが「ＯＮ」であるデータをＡＣＫと判断する。宛先からのＡＣＫセグメントでない場合（ステップＳ３８，ＮＯ）、さらにＦＩＮフラグをチェックし、通信終了パケットであるか否かを判断する（ステップＳ３９）。
【００７９】
受信したデータセグメントが、通信終了パケットでない場合（ステップＳ３９，ＮＯ）、さらにウィンドウプローブであるか否かを判断する（ステップＳ４０）。ウィンドウプローブである場合（ステップＳ４０，ＹＥＳ）、ｔｍｐＡＣＫ利用可能フラグを「ＯＦＦ」にした（ステップＳ４１）後、受信したデータセグメントを宛先に転送し（ステップＳ３４）、本処理を終了する。
【００８０】
一方、受信したデータセグメントがウィンドウプローブでない場合（ステップＳ４０，ＮＯ）、配信管理テーブル１に、この情報を登録し、ｔｍｐＡＣＫ利用可能フラグを「ＯＮ」に設定し（ステップＳ４２）、その後、受信したデータセグメントを宛先に転送し（ステップＳ３４）、本処理を終了する。なお、ｔｍｐＡＣＫ利用可能フラグを「ＯＮ」にしたデータセグメントは、送信バッファ６に保存される。このステップＳ４２の処理を行う際、最新のデータセグメント到着時点における情報として、配信管理テーブル１の個々のデータセグメントに関する情報のエントリ毎に、ｔｍｐＡＣＫ利用可能か否かの情報を設定する。これによって、たとえばスロースタート時には、ｔｍｐＡＣＫ利用制御を行わないなどの、ウィンドウサイズの状態に応じた細かな制御をかけることが可能となる。
【００８１】
一方、受信したデータセグメントが、ＡＣＫセグメントである場合（ステップＳ３８，ＹＥＳ）、受信確認処理および再送処理を行う（ステップＳ４３）。この処理では、受信したデータセグメントをｔｍｐＡＣＫバッファ４に保存し、後述するＳＧ配信管理部１６による受信確認処理および再送処理に、宛先から送達確認応答を受信したことを通知するイベントを発生させる。その後、このデータセグメントを転送するか否かを判断する（ステップＳ４４）。すなわち、配信管理テーブル１を参照し、ｔｍｐＡＣＫの送信状況、すなわち送信済みか否か、およびＡＣＫセグメントにデータがPiggyBackされているか否かによって、ＡＣＫセグメントを転送するか否かを判断する。ｔｍｐＡＣＫが送信済み、かつデータがPiggyBackされていない場合（ステップＳ４４，ＮＯ）は、本処理を終了し、それ以外の場合（ステップＳ４４，ＹＥＳ）には、宛先に受信したデータセグメントを転送し（ステップＳ３４）、本処理を終了する。
【００８２】
受信したデータセグメントが通信終了セグメントである場合（ステップＳ３９，ＹＥＳ）には、受信したデータセグメントのエントリを登録し、同一通信内のデータセグメントのエントリであって、ｔｍｐＡＣＫが利用可能となっており、かつｔｍｐＡＣＫが送信済みでないものを全てｔｍｐＡＣＫ利用不可とし、ｔｍｐＡＣＫ利用フラグを「ＯＦＦ」にし、ＦＩＮ受信済みフラグを「ＯＮ」にし（ステップＳ４５）、その後、受信したデータセグメントを宛先に転送し（ステップＳ３４）、本処理を終了する。
【００８３】
つぎに、図７に示すフローチャートを参照して、データ配信管理装置１０のＳＧ配信管理部１６による受信確認処理およびその結果による再送制御処理の手順について説明する。図７において、まず送達確認応答の到着を示すイベントを受け取ったか否かを判断する（ステップＳ５１）。このイベントは、ステップＳ２７，Ｓ４３において発生されるイベントである。送達確認応答が到着していた場合（ステップＳ５１，ＹＥＳ）、宛先からの開始通知であるか否かを判断し（ステップＳ６１）、開始通知であった場合（ステップＳ６１，ＹＥＳ）、本処理を終了する。
【００８４】
一方、宛先からの開始通知でないと判断された場合（ステップＳ６１，ＮＯ）、配信管理テーブル１に、受信した送達確認応答が示すデータセグメントに対する結果を記入する（ステップＳ６２）。たとえば、ＳＡＣＫオプションなしの通信の場合、配信管理テーブル１のエントリのうち、ＡＣＫ受信待ちであり、かつ、受信した送達確認応答が示すデータセグメントに比してシーケンス番号が小さいデータセグメントの全てをＡＣＫ受信済にする。一方、ＳＡＣＫオプションありの通信の場合、配信管理テーブル１のエントリのうち、ＡＣＫ受信待ちであり、かつ、受信した送達確認応答が示すデータセグメントに比してシーケンス番号が小さいデータセグメントであり、かつ、ＳＡＣＫオプションにないデータセグメントの全てをＡＣＫ受信済とする。
【００８５】
ステップＳ６２の処理後、配信管理テーブル１のエントリのうち、ＡＣＫ受信済のセグメントを送信バッファ６から削除する（ステップＳ６３）。ここで、ＡＣＫ受信セグメントの削除処理は、削除に関するタイマを持ち、一定時間毎にまとめて削除するようにしてもよい。
【００８６】
一方、ステップＳ５１において、宛先からの送達確認応答受信のイベントを受けていないと判断された場合、さらに再送タイムアウトが発生したか否かを判断する（ステップＳ５２）。再送タイムアウトが発生していなかった場合（ステップＳ５２，ＮＯ）、そのまま本処理を終了する。一方、再送タイムアウトが発生したと判断された場合（ステップＳ５２，ＹＥＳ）、配信管理テーブル１にあるタイムアウトが発生したデータセグメントのエントリの再送回数をインクリメントし、再送フラグを「ＯＮ」にし（ステップＳ５３）、配信終了か否かの判断を行う（ステップＳ５４）。通常のＴＣＰ通信における配信終了のデータパケットの交換を検知した場合、あるいは再送のタイムアウトを繰り返し、データ配信管理装置１０が再送のリトライアウトをすることによって配信を終了する場合に、配信終了と判断され（ステップＳ５４，ＹＥＳ）、配信終了処理を行い（ステップＳ５６）、本処理を終了する。なお、再送のタイムアウト値、およびリトライアウトの回数は、端末装置Ｃ１，Ｃ２における再送のタイムアウト値およびリトライアウト回数よりも十分に長く設定される必要がある。
【００８７】
一方、ステップＳ５４において、配信終了でないと判断された場合、ステップＳ５７〜Ｓ５９の再送処理を行う。すなわち、ステップＳ５７では、配信管理テーブル１の再送フラグが「ＯＮ」になっているものを、送信バッファ６のデータセグメントを再送し、配信管理テーブル１の再送フラグを「ＯＦＦ」にする。このステップＳ５７の処理後、再送タイマをリセットし（ステップＳ５８）、データ配信管理装置１０の再送回数カウンタのインクリメントを行い（ステップＳ５９）、本処理を終了する。
【００８８】
つぎに、図８に示したフローチャートを参照して、ステップＳ１５におけるｔｍｐＡＣＫ利用制御処理手順について説明する。図８において、まず、ステップＳ１３における一連の処理によって設定されたＦＩＮ受信済フラグの値を参照し、ＦＩＮパケット受信済であるか否か、すなわち通信終了セグメントが受信済であるか否かを判断する（ステップＳ７１）。通信終了セグメントが受信済である場合（ステップＳ７１，ＹＥＳ）、そのまま本処理を終了する。
【００８９】
一方、通信終了セグメントが受信済でない場合（ステップＳ７１，ＮＯ）、ｔｍｐＡＣＫバッファ４に保存してあるデータセグメントが（ＳＹＮ＋ＡＣＫ）セグメントであるか否かを判断する（ステップＳ７２）。（ＳＹＮ＋ＡＣＫ）セグメントである場合（ステップＳ７２，ＹＥＳ）、（ＳＹＮ＋ＡＣＫ）セグメントが宛先に未転送だった場合に転送を行って（ステップＳ７３）、本処理を終了する。
【００９０】
一方、（ＳＹＮ＋ＡＣＫ）セグメントでない場合（ステップＳ７２，ＮＯ）、さらに、ｔｍｐＡＣＫ送信に必要なセグメントを受信しているか否かを判断する（ステップＳ７４）。このステップＳ７４の処理は、たとえば、ｔｍｐＡＣＫを作成しようとしているデータセグメントＸより、後のシーケンス番号のデータセグメントが１つ以上受信した時点で、このデータセグメントＸに対するｔｍｐＡＣＫ作成可能状態とする実装によって判断される。
【００９１】
ここで、ｔｍｐＡＣＫ送信に必要なデータセグメントを受信していない場合（ステップＳ７４，ＮＯ）、ｔｍｐＡＣＫバッファ４に未転送のＡＣＫセグメントがあれば、送信元に転送し（ステップＳ７３）、本処理を終了する。
【００９２】
一方、ｔｍｐＡＣＫ送信に必要なデータセグメントを受信している場合（ステップＳ７４，ＹＥＳ）、ｔｍｐＡＣＫ作成の対象となる送信元からのデータセグメントを決定する（ステップＳ７５）。このステップＳ７５の処理では、配信管理テーブル１を用い、送信元のウィンドウサイズ、ｔｍｐＡＣＫ送信状況および端末装置Ｃ１，Ｃ２間のＴＣＰプロトコルのＳＡＣＫオプションなどを参照し、処理を行う。たとえば、ＳＡＣＫオプションなしの通信の場合、配信管理テーブル１のエントリのうち、ＡＣＫ受信待ちであり、かつ、ｔｍｐＡＣＫを送信しておらず、かつ自データセグメントより、シーケンス番号が小さいデータセグメントが全てデータ配信管理装置において受信されているデータセグメントの中で、シーケンス番号が２番目に大きいものを、ｔｍｐＡＣＫ作成対象として決定する。
【００９３】
その後、ｔｍｐＡＣＫ作成バッファに保存してあるデータセグメントの確認応答番号を、ステップＳ７５によって決定したｔｍｐＡＣＫ作成対象のデータセグメントのシーケンス番号に「１」を加えた番号に書き換えたデータセグメントを、ｔｍｐＡＣＫとして作成する（ステップＳ７６）。ＳＡＣＫオプション付きのＴＣＰの場合、ステップＳ７５においてＳＡＣＫオプションを考慮したｔｍｐＡＣＫ作成対象を決定し、ステップＳ７６において、ＳＡＣＫオプションも加えた送達確認応答を作成する実装を行うことが可能である。ステップＳ７６の処理後、送信元に、このｔｍｐＡＣＫを送信する（ステップＳ７７）。このとき、同時に、ｔｍｐＡＣＫの対象となったデータセグメントに対する再送タイマのカウントを開始する。このステップＳ７７の処理後、送信したｔｍｐＡＣＫが対応する全ての配信管理テーブル１上にエントリしてあるデータセグメントの情報を、ｔｍｐＡＣＫ送信済にし（ステップＳ７８）、本処理を終了する。
【００９４】
この実施の形態１では、データ配信管理装置１０，２０が、通信を行う際、送信元および宛先の双方のウィンドウサイズの情報を保持しておき、遅延の小さい回線を介して受信し、遅延の大きい回線を介した宛先に対してデータセグメントを送信する場合に、宛先に対してデータセグメントを転送するとともに、必要に応じて仮の送達確認応答を作成して送信し、かつ仮の送達確認応答の対象となったデータセグメントを一時的に保持し、一定の期間のうちに宛先から送達確認応答を受信できなかった場合にデータ配信管理装置が再送を行うようにし、これによって、送信元のウィンドウサイズの縮小を防ぎ、かつＴＣＰの信頼性機構の保証を行うようにしている。
【００９５】
また、遅延の大きい回線を介して受信し、遅延の小さい回線を介した宛先にデータセグメントを転送する場合、宛先のウィンドウサイズの情報をもとに、受信バッファの空き具合を判断し、受信バッファが十分でない場合には、転送データをデータ配信管理装置において一時保持し、宛先における受信バッファが十分になるまで、宛先に対する転送を中断し、宛先における受信バッファが十分になったと判断した時点で、データ転送を再開するようにしているので、伝送遅延によるウィンドウサイズの減少に関する情報の遅れのために、宛先の受信バッファがオーバフローすることを防ぐことができ、宛先における受信確認と矛盾なく、かつ全てのデータが確実に転送され、データ配信管理装置と送信元あるいは宛先との間の輻輳を抑え、高信頼かつ高速な通信を実現することができる。
【００９６】
実施の形態２．
つぎに、この発明の実施の形態２について説明する。この実施の形態２では、さらに受信側のデータ配信管理装置１０，２０において再送の制御を行うようにし、再送の必要性の判定を迅速に行って遅延の大きな回線３上のフローを削減し、再送に要する時間を短縮するようにしている。なお、この実施の形態２の構成および動作は、図１および図２に示した構成および動作と同じであるが、動作の詳細が異なる。
【００９７】
図９は、図２に示したステップＳ１２に対応する実施の形態２にかかる処理手順を示すフローチャートである。図９において、まず、データが管理している通信のものであり（ＩＰおよびポートの組み合わせで判断）かつ、コードビット（CodeBit）のＡＣＫフラグおよびこの通信におけるデータ送信の方向（配信管理テーブルにある通信と送受信とが逆のデータは、ＡＣＫであると判断する）によって、この受信したデータセグメントがＡＣＫセグメントであるか否かを判断する（ステップＳ８１）。たとえば、管理している通信が図４に示しているもののみの場合、送信元ＩＰが「10.74.3.200.」、送信元ポートが「1301」、宛先ＩＰが「10.74.3.177」、宛先ポートが「FTP.DATA」であり、かつ、ＡＣＫフラグが「ＯＮ」であるデータをＡＣＫと判断する。ＡＣＫセグメントでない場合（ステップＳ８１，ＮＯ）、配信管理テーブル１に既に登録済の通信であるか否かおよび転送を行うか否かの判断を行う（ステップＳ８２）。配信管理テーブル１に既に登録済の通信であるか否かは、ＩＰヘッダ中の送信元ＩＰとＴＣＰヘッダ中の送信元ポートとの組み合わせおよび宛先ＩＰと宛先ポートとの組み合わせが全て同一の通信を、同一の管理単位とし、全て同一の場合、登録済の通信であると判定する。転送を行うか否かの判断において転送を行う場合とは、次のような場合である。すなわち、登録されていない通信の正しい宛先と送信元アドレスの通信（正しい形式のＩＰアドレス）のＳＹＮパケットである場合、あるいは、登録済の通信であり、かつ受信側のデータ配信管理装置による再送フラグが使用済でなかった場合である。
【００９８】
ステップＳ８２において、転送すると判断された場合（ステップＳ８２，ＹＥＳ）、配信管理テーブル１上に、この通信のエントリがない場合はこの通信のエントリおよびこのデータセグメントのエントリを追加登録し、転送する通信のエントリがあった場合は、このデータセグメントのエントリを追加登録する処理を行う（ステップＳ８３）。
【００９９】
その後、配信管理テーブル１にある宛先の受信ウィンドウの情報から宛先の受信バッファ７が十分であるか否かを判断する（ステップＳ８４）。宛先の受信バッファ７が十分であると判断された場合（ステップＳ８４，ＹＥＳ）、受信側のデータ配信管理装置による再送を、使用するか否かを判断する（ステップＳ８５）。この受信側のデータ配信管理装置による再送を使用するか否かの判断処理は、たとえば、予め、受信側のデータ配信管理装置による再送を使用するか否かに関するフラグを設けておき、このフラグの値によって利用判定を行うようにする。なお、受信側のデータ配信管理装置とは、たとえば、端末装置Ｃ１側から端末装置Ｃ２側にデータを送信する場合におけるデータ配信管理装置２０をいう。
【０１００】
その後、受信側のデータ配信管理装置による再送を使用する場合（ステップＳ８５，ＹＥＳ）、受信側のデータ配信管理装置による再送のための一連の処理を行う。この受信側のデータ配信管理装置による再送のための処理とは、宛先に近いデータ配信管理装置、すなわち遅延の大きい回線を介して受信したデータセグメントを、遅延の小さい回線を介して宛先に転送を行うデータ配信管理装置において、転送するデータを、一時蓄積して再送するか否かを判定し、再送の必要があると判断した場合には、バッファリングしておいたデータを再送する処理であり、これによって、遅延の大きな回線を介して再送を行うことを回避し、結果として、遅延の大きい回線における輻輳を軽減し、また再送時間の短縮を図ることができる。
【０１０１】
図９において、受信側のデータ配信管理装置による再送を使用すると判断した場合（ステップＳ８５，ＹＥＳ）、ｔｍｐＡＣＫ利用判定処理を行い、ｔｍｐＡＣＫを利用するか否かを決定し、ｔｍｐＡＣＫ利用フラグの「ＯＮ」、「ＯＦＦ」の設定を行い（ステップＳ９０）、ステップＳ９１において、この設定されたｔｍｐＡＣＫ利用フラグを値をもとに、ｔｍｐＡＣＫ利用処理を行うか否かを判断する。このステップＳ９１におけるｔｍｐＡＣＫ利用判定処理の詳細については後述する。
【０１０２】
その後、ｔｍｐＡＣＫを利用すると判断した場合（ステップＳ９１，ＹＥＳ）、図８に示したｔｍｐＡＣＫ利用処理を行う（ステップＳ９２）。その後、二重再送回避処理を行い（ステップＳ９３）、本処理を終了する。この二重再送回避処理とは、追加したデータセグメントに関するエントリの受信側のデータ配信管理装置における再送フラグを「再送済」に設定する処理である。
【０１０３】
一方、ステップＳ９１においてｔｍｐＡＣＫを利用しないと判断した場合（ステップＳ９１，ＮＯ）、伝送遅延の小さい回線を介した宛先にデータセグメントを転送し（ステップＳ８９）、本処理を終了する。
【０１０４】
一方、宛先の受信バッファが十分でないと判断された場合（ステップＳ８４，ＮＯ）、転送データを受信バッファ７に保存し（ステップＳ８６）、宛先のウィンドウ情報をもとに、受信バッファが十分に回復したと確認できるまで、転送を中断し、宛先からのデータセグメントのＴＣＰヘッダのウィンドウフィールドを参照して宛先のウィンドウサイズ情報を得て配信管理テーブル１に記録し、ウィンドウ情報から、受信バッファが十分に回復したと確認できるまで一時的に転送を停止し、これによって転送速度の調節を行う（ステップＳ８７）。その後、この転送速度の調節のもと、伝送遅延の小さい回線を介して、宛先へのデータ転送を実施し（ステップＳ８９）、本処理を終了する。
【０１０５】
一方、ステップＳ９１において、ｔｍｐＡＣＫを利用しないと判断した場合（ステップＳ９１，ＮＯ）、ステップＳ９３と同じ二重再送回避処理を行い（ステップＳ９４）、その後、ステップＳ８６と同様に、転送データのバッファリング処理を行い（ステップＳ９５）、その後、伝送遅延の小さい回線を介して、宛先へのデータ転送を実施し（ステップＳ８９）、本処理を終了する。
【０１０６】
一方、ＡＣＫセグメントである場合（ステップＳ８１，ＹＥＳ）、受信確認処理を行う（ステップＳ９６）。この受信確認処理では、受信したデータセグメントが、管理している通信であり、かつその宛先からの送達確認応答か否か、すなわち配信管理テーブル１にエントリされている通信であるか否かを判断し、宛先からの送達確認応答であった場合、ｔｍｐＡＣＫバッファ４に、受信したデータセグメントを保存し、ＳＧ配信管理部１６による配信確認処理に、宛先から、送達確認応答を受信したことを通知するイベントを発生させる。
【０１０７】
その後、配信管理テーブル１を参照し、ｔｍｐＡＣＫの送信状況、すなわち送信済か否かによって、ＡＣＫを転送するか否か、およびＡＣＫにデータがPiggybackされているか否かを判断し（ステップＳ９７）、ｔｍｐＡＣＫ送信済かつデータがPiggyBackされていない場合（ステップＳ９７，ＮＯ）、本処理を終了し、それ以外の場合、ステップＳ８４に移行して、上述した処理を行う。
【０１０８】
つぎに、図１０に示したフローチャートを参照して、ステップＳ９０におけるｔｍｐＡＣＫ利用判定処理手順について説明する。図１０において、まず受信したセグメントのヘッダ部のコードビットを参照し、通信開始時のデータセグメントであるか否かを判断する（ステップＳ１０１）。
【０１０９】
通信開始セグメントである場合（ステップＳ１０１，ＹＥＳ）、配信管理テーブル１を参照して、正しい通信開始手順であるか否かを判断する（ステップＳ１０２）。正しい通信開始手順であるか否かは、たとえば、配信管理テーブル１と、受信したデータセグメントのＴＣＰヘッダとを参照し、配信管理テーブル１に登録されていないＳＹＮパケットであるか、あるいはＴＣＰの３ハンドシェーク方式の手順に従ったデータセグメントを送信元および宛先から受け取っているか否かによって判断する。
【０１１０】
ステップＳ１０２において、正しい通信開始手順であると判断した場合（ステップＳ１０２，ＹＥＳ）、配信管理テーブル１にデータセグメントに関するエントリを追加し（ステップＳ１０３）、その後、ｔｍｐＡＣＫ利用可能フラグを「ＯＦＦ」にし（ステップＳ１０４）、本処理を終了する。一方、正しい通信開始手順でない場合（ステップＳ１０２，ＮＯ）には、そのままｔｍｐＡＣＫ利用可能フラグを「ＯＦＦ」にし、本処理を終了する。
【０１１１】
一方、ステップＳ１０１において、通信開始セグメントでない場合（ステップＳ１０１，ＮＯ）、受信したデータセグメントが、配信管理テーブル１に、既に登録済の通信であるか否かを判断する（ステップＳ１０５）。この判断は、ＩＰヘッダ中の送信元ＩＰとＴＣＰヘッダ中の送信元ポートとの組み合わせおよび宛先ＩＰと宛先ポートとの組み合わせが、全て同一の通信を同一の管理単位とし、全て同一の通信が存在する場合に、登録済の通信であるとして判定する。ステップＳ１０５において、配信管理テーブル１上に登録されていない通信であった場合（ステップＳ１０５，ＮＯ）、ｔｍｐＡＣＫ利用可能フラグを「ＯＦＦ」にし（ステップＳ１０４）、本処理を終了する。
【０１１２】
一方、配信管理テーブル１上に登録された通信であると判断された場合（ステップＳ１０５，ＹＥＳ）、受信したデータセグメントが、宛先の受信ウィンドウ内のデータセグメントであるか否かを判断する（ステップＳ１０６）。宛先の受信ウィンドウ内のセグメントである場合（ステップＳ１０６，ＹＥＳ）、さらにＦＩＮフラグをチェックし、最終パケットすなわち通信終了パケットであるか否かを判断する（ステップＳ１０７）。
【０１１３】
通信終了パケットである場合（ステップＳ１０７，ＹＥＳ）、受信したセグメントのエントリを登録し、同一通信内のデータセグメントのエントリで、ｔｍｐＡＣＫ利用可能になっており、かつｔｍｐＡＣＫ送信済でないものを、ｔｍｐＡＣＫ利用不可とし、データ配信管理装置のｔｍｐＡＣＫフラグを「ＯＦＦ」にし、ＦＩＮ受信済フラグを「ＯＮ」にし（ステップＳ１０８）、本処理を終了する。
【０１１４】
一方、通信終了セグメントでない場合（ステップＳ１０７，ＮＯ）、ウィンドウプローブであるか否かを判断し（ステップＳ１０９）、ウィンドウプローブである場合（ステップＳ１０９，ＹＥＳ）、ｔｍｐＡＣＫ利用可能フラグを「ＯＦＦ」にし（ステップＳ１１０）、本処理を終了する。
【０１１５】
一方、ウィンドウプローブでない場合（ステップＳ１０９，ＮＯ）、配信管理テーブル１に、情報を登録し、ｔｍｐＡＣＫ利用可能フラグを「ＯＮ」に設定し（ステップＳ１１１）、本処理を終了する。なお、ｔｍｐＡＣＫ利用可能フラグを「ＯＮ」にしたデータセグメントは、送信バッファに保存する。このステップＳ１１１の処理を行う際、最新のデータセグメント到着時点における情報として、配信管理テーブル１の個々のデータセグメントに関する情報のエントリ毎に、ｔｍｐＡＣＫ利用可能か否かの情報を設定する。これによって、たとえば、スロースタート時には、ｔｍｐＡＣＫ利用制御を行わないなどのウィンドウサイズの状態に応じた細かな制御を行うことができる。
【０１１６】
この実施の形態２では、実施の形態１に加え、宛先のウィンドウサイズが十分であった場合には必要に宛先に対してデータセグメントを転送するとともに、必要に応じて仮の送達確認応答を作成して送信し、かつ仮の送達確認応答の対象となったデータセグメントを一時的に保存し、一定の期間のうちに宛先からの送達確認応答を受信できなかった場合、データ配信管理装置から、再送を行うことによって、送信元のウィンドウサイズの縮小を防ぎ、かつＴＣＰの信頼性機構の保証を行い、また、仮の送達確認応答の作成および送信元に対する送信を行わなかった場合であっても、データセグメントを一時的に保持し、一定の期間のうちに、宛先からの送達確認応答を受信できなかった場合、データ配信管理装置は、再送を行うようにしているので、二重再送を防ぎつつ、遅延回線を介して再送を行うことを回避し、遅延の大きな回線の輻輳を軽減することができ、宛先における受信確認と矛盾なく、かつ全てのデータが確実に転送され、かつデータ配信管理装置と送信元あるいは宛先との間の輻輳を抑えた、高信頼かつ高速な通信が可能となる。
【０１１７】
実施の形態３．
つぎに、この発明の実施の形態３について説明する。この実施の形態３では、実施の形態１，２の構成に、受信したセグメントを高速化通信を行うべきか否かを判断し、高速化すべきデータであった場合、ユーザに対して高速化のための料金を提示し、ユーザが高速化を要求した場合に、高速化通信を行ってユーザに課金する処理を行う課金処理部３０を備えるようにしている。
【０１１８】
図１１は、この発明の実施の形態３であるデータ配信管理システムの構成を示すブロック図である。図１１において、データ配信管理装置１０，２０は、課金処理部３０を有する。その他の構成は、実施の形態１に示したデータ配信管理システムと同じであり、同一構成部分には同一符号を付している。
【０１１９】
ここで、図１２に示すフローチャートを参照して、データ配信管理装置１０，２０のデータ配信処理手順について説明する。図１２において、データ配信管理装置１０，２０は、まず高速化しない通信として登録済の通信ではなく、かつプロトコル管理テーブル５を参照して高速化すべきプロトコルの通信であるか否かを判断する（ステップＳ１２１）。高速化すべきデータである場合（ステップＳ１２１，ＹＥＳ）、課金処理部３０は、ユーザに対して、高速化利用対象のデータである旨と高速化に伴う料金提示を行う（ステップＳ１２２）。
【０１２０】
その後、ユーザが高速化するか否かの決定結果を入力して、その結果をデータ配信管理装置１０，２０に通知し、データ配信管理装置１０，２０は、その通知を受け付ける（ステップＳ１２３）。さらに、ユーザからの通知が高速化を利用するものであるか否かを判断する（ステップＳ１２４）。
【０１２１】
高速化を利用する通信である場合（ステップＳ１２４，ＹＥＳ）、遅延の大きい回線から受信し、遅延の小さい回線に転送するデータであるか否かを判断する（ステップＳ１２５）。遅延の大きい回線から受信し、遅延の小さい回線に転送するデータである場合（ステップＳ１２５，ＹＥＳ）、ステップＳ１２と同様に、遅延回線からのパケット処理を行って（ステップＳ１２６）、本処理を終了する。
【０１２２】
一方、遅延の大きい回線から受信し、遅延の小さい回線に転送するデータでない場合（ステップＳ１２５，ＮＯ）、ステップＳ１３と同様に、ｔｍｐＡＣＫ使用判定部１２がデータセグメントのチェックを行い、そのチェック結果に応じて、データ配信管理装置１０，２０のもつ受信セグメントに対するｔｍｐＡＣＫ利用制御フラグの「ＯＮ」、「ＯＦＦ」を決定し、必要に応じて、ｔｍｐＡＣＫ利用制御フラグの「ＯＮ」、「ＯＦＦ」を含めて受信セグメントの情報を配信管理テーブル１に登録する（ステップＳ１２７）。
【０１２３】
その後、ｔｍｐＡＣＫ利用制御フラグの値を従って、ｔｍｐＡＣＫ利用制御を行うか否かを判断する（ステップＳ１２８）。ｔｍｐＡＣＫを利用する場合（ステップＳ１２８，ＹＥＳ）、ステップＳ１５と同様に、ｔｍｐＡＣＫ利用制御を行い（ステップＳ１２９）、本処理を終了する。一方、ｔｍｐＡＣＫを利用しない場合（ステップＳ１２８，ＮＯ）、データセグメントを宛先に転送し（ステップＳ１４０）、その後、本処理を終了する。
【０１２４】
一方、高速化利用を行わない場合（ステップＳ１２４，ＮＯ）および高速化利用データでない場合（ステップＳ１２１，ＮＯ）、高速化を行わない通信として、課金処理部３０内に保持し、登録する（ステップＳ１３０）。すなわち、個々のコネクションを一意に識別できる情報を、データセグメントのヘッダ情報から取得し、課金処理部３０内に保持し、登録する。その後、このデータセグメントを宛先に転送し（ステップＳ１４０）、本処理を終了する。
【０１２５】
ここで、図１１を参照して、具体的なデータ転送処理について説明する。まず、端末装置Ｃ１から端末装置Ｃ２に対してデータ転送を行う場合、データ配信管理装置１０は、端末装置Ｃ１からデータを受信すると、ユーザに対して高速化するか否かを提示し、ユーザの判断結果を受け付ける。ここで、ユーザが高速化を選択した場合、仮の送達確認応答を端末装置Ｃ１に送出するとともに、データ配信管理装置２０に対してデータを転送する。データ配信管理装置２０は、受信側におけるデータ配信管理装置として再送処理機能を有し、データ配信管理装置２０は、このデータを受け付けると、このデータセグメントを保持し、再送タイマをセットして、端末装置Ｃ２に対して転送する。このとき、データ配信管理装置２０は、端末装置Ｃ２からの送達確認応答を再送タイムアウトする前に、受け取れなかった場合、再送済フラグを立てて、端末装置Ｃ２に対して保持したデータの再送を行う。
【０１２６】
また、端末装置Ｃ２から端末装置Ｃ１に対してデータを転送する場合、データ配信管理装置２０は、端末装置Ｃ２からデータを受信すると、ユーザに高速化するか否かの判断を求め、ユーザが高速化を選択した場合、端末装置Ｃ２に対して仮の送達確認応答を送出するとともに、データ配信管理装置１０に対してデータを転送する。データ配信管理装置１０は、この場合受信側のデータ配信管理装置として再送処理機能を有し、データ配信管理装置１０は、このデータを受け付けると、データセグメントを保持し、再送タイマをセットし、端末装置Ｃ１に対してこのデータを転送する。このとき、データ配信管理装置１０は、端末装置Ｃ１から送達確認応答を再送タイムアウトする前に、受け取れなかった場合、再送済フラグを立てて端末装置Ｃ１に向けて、保持されたデータを再送する。
【０１２７】
このようにして、２つのデータ配信管理装置１０，２０を組み合わせることによって、送信元のウィンドウサイズの縮小によるスループットの現象を防ぎつつ、通信の信頼性を保障し、かつ受信側のデータ配信管理装置における再送機能を用いることで、遅延回線の輻輳を防ぐことが可能となり、さらに、課金処理部３０を用いることによって効率的なビジネスを支援することができる。
【０１２８】
【発明の効果】
以上説明したように、この発明によれば、受信バッファには、前記第１の端末装置から送信されたデータが一時的に格納され、転送制御手段は、受信ウィンドウサイズ保持手段が保持する前記第２の端末装置の受信ウィンドウサイズに対応して、前記受信バッファに一時格納されたデータの転送速度を調節する制御を行い、高速転送判断手段が、前記送受信されるデータを高速に転送すべきか否かを判断し、課金手段が、前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置のユーザに対して行うようにしているので、第２の端末装置の受信バッファがオーバフローすることなく、しかも再送が少なくなるため、データを確実かつ迅速に転送することができ、データ内容の特性に合わせた柔軟な課金処理を確実に行うことができるとともに、効率的なビジネスを展開することができるという効果を奏する。
【０１２９】
つぎの発明によれば、ウィンドウサイズ取得手段が、前記第１の端末装置と前記第２の端末装置との間のコネクション毎に該第１の端末装置および該第２の端末装置のウィンドウサイズの情報を取得し、管理手段が、この各コネクション毎のウィンドウサイズの情報を保持して管理し、転送制御手段が、前記管理手段によって管理されるウィンドウサイズに対応して各コネクション毎に、受信バッファに格納されたデータの転送速度を調節する制御を行い、高速転送判断手段が、前記送受信されるデータを高速に転送すべきか否かを判断し、課金手段が、前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置あるいは前記第２の端末装置のユーザに対して行うようにしているので、各コネクション毎に動的なデータ転送制御がなされ、第２の端末装置の受信バッファがオーバフローすることなく、しかも再送が少なくなるため、データを確実かつ迅速に転送することができ、データ内容の特性に合わせた柔軟な課金処理を確実に行うことができるとともに、効率的なビジネスを展開することができるという効果を奏する。
【０１３０】
つぎの発明によれば、第１の判断手段が、前記第２の端末装置から前記第１の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第２の端末装置に送信するか否かを判断し、送信バッファが、前記第１の判断手段が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積し、第２の判断手段が、前記第１の端末装置が、前記第２の端末装置から送信されたデータの受信を失敗したか否かを判断し、第１の転送制御手段が、前記第１の判断手段が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第２の端末装置から送信されたデータを前記第１の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第２の判断手段が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う。また、受信バッファが、前記第１の端末装置から送信されたデータを一時的に格納し、受信ウィンドウサイズ保持手段が、前記第２の端末装置の受信ウィンドウサイズを保持し、第２の転送手段が、前記受信ウィンドウサイズに対応して前記受信バッファに一時格納されたデータの転送速度を調節する制御を行うようにしているので、第２の端末装置から送信されるデータの転送速度を高めつつ、第２の端末装置の受信バッファがオーバフローすることなく、しかも再送が少なくなるため、データを確実かつ迅速に転送することができるという効果を奏する。
【０１３１】
つぎの発明によれば、第１の判断手段が、前記第２の端末装置から前記第１の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第２の端末装置に送信するか否かを判断し、送信バッファが、前記第１の判断手段が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積し、第２の判断手段が、前記第１の端末装置が、前記第２の端末装置から送信されたデータの受信を失敗したか否かを判断し、第１の転送制御手段が、前記第１の判断手段が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第２の端末装置から送信されたデータを前記第１の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第２の判断手段が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う。また、ウィンドウサイズ取得手段が、前記第１の端末装置と前記第２の端末装置との間のコネクション毎に該第１の端末装置および該第２の端末装置のウィンドウサイズの情報を取得し、管理手段が、前記ウィンドウサイズ取得手段によって取得された各コネクション毎のウィンドウサイズの情報を保持して、管理し、第２の転送制御手段が、前記管理手段によって管理されるウィンドウサイズに対応して各コネクション毎にデータの転送速度を調節する制御を行うようにしているので、第２の端末装置から送信されるデータの転送速度を高めつつ、第２の端末装置の受信バッファがオーバフローすることなく、しかも再送が少なくなるため、データを確実かつ迅速に転送することができるという効果を奏する。
【０１３２】
つぎの発明によれば、第３の判断手段が、前記第２の端末装置が、前記第１の端末装置から送信されたデータの受信を失敗したか否かを判断し、再送制御手段が、前記第３の判断手段が前記第１の端末装置から送信されたデータの受信を失敗したと判断した場合に、前記受信バッファに蓄積されたデータの再送処理を行うようにしているので、伝送遅延の大きい伝送路を輻輳させずに、双方向の通信を確実かつ迅速に行うことができるという効果を奏する。
【０１３３】
つぎの発明によれば、前記再送制御手段が、前記データの再送処理を行う場合、該データの再送処理を行うとともに、該データに対する仮の送達確認応答を作成して前記第１の端末装置に送信するようにしているので、高速大容量通信を実現することができるという効果を奏する。
【０１３４】
つぎの発明によれば、第４の判断手段が、前記第１の端末装置から送信されたデータに対して再送処理が行われたか否かを情報を保持し、該情報をもとに該データが再送済みであるか否かを判断し、前記再送制御手段が、前記受信の失敗に対応して前記受信バッファに蓄積されたデータの再送処理を行う場合、前記第４の判断手段が再送済みと判断した場合に、該データの再送処理を行わせない制御を行うようにしているので、二重再送処理が確実に回避され、一層、高速なデータ転送を行うことができるという効果を奏する。
【０１３５】
つぎの発明によれば、高速転送判断手段が、前記送受信されるデータを高速に転送すべきか否かを判断し、課金手段が、前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置あるいは前記第２の端末装置のユーザに対して行うようにしているので、データ内容の特性に合わせた柔軟な課金処理を確実に行うことができるとともに、効率的なビジネスを展開することができるという効果を奏する。
【０１３６】
つぎの発明によれば、入力依頼手段が、前記高速転送判断手段が前記送受信されるデータを高速に転送すべきであると判断した場合に、この高速化に伴った課金内容を送信元の前記第１の端末装置あるいは前記第２の端末装置に対して提示し、該第１の端末装置あるいは該第２の端末装置のユーザに対して高速化を行うか否かの情報の入力依頼を行い、前記課金手段が、前記入力依頼手段が、高速化を行う旨の通知を受けた場合に、前記送受信されるデータの高速転送に伴う課金処理を行うようにしているので、ユーザの意思を反映した柔軟なシステムを構築することができるという効果を奏する。
【０１３７】
つぎの発明によれば、上記の発明のいずれか一つに記載のデータ配信管理装置を、前記第１の端末装置および前記第２の端末装置との間の伝送路であって、前記第１の端末装置あるいは前記第２の端末装置を接続する伝送路に比して大きな伝送遅延をもつ伝送路の端部にそれぞれ配置して、双方向通信を実現するようにしているので、伝送遅延の大きい伝送路が存在する場合であっても、確実かつ高速の双方向通信を実現することができるという効果を奏する。
【０１３８】
つぎの発明によれば、前記第１の端末装置あるいは前記第２の端末装置を接続する伝送路に比して大きな伝送遅延をもつ伝送路を、衛星回線として実現しているので、遅延の大きい衛星回線を用いた場合であっても、確実かつ高速の双方向通信を具体的に実現することができるという効果を奏する。
【０１３９】
つぎの発明によれば、受信ウィンドウサイズ保持工程によって、前記第２の端末装置の受信ウィンドウサイズを保持し、受信バッファ工程によって、前記第１の端末装置から送信されたデータを一時的に格納し、転送制御工程によって、前記受信ウィンドウサイズに対応して前記受信バッファが一時格納したデータの転送速度を調節する制御を行い、高速転送判断工程によって、前記送受信されるデータを高速に転送すべきか否かを判断し、課金工程によって、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置のユーザに対して行うようにしているので、第２の端末装置の受信バッファがオーバフローすることなく、しかも再送が少なくなるため、データを確実かつ迅速に転送することができ、データ内容の特性に合わせた柔軟な課金処理を確実に行うことができるとともに、効率的なビジネスを展開することができるという効果を奏する。
【０１４０】
つぎの発明によれば、ウィンドウサイズ工程によって、前記第１の端末装置と前記第２の端末装置との間のコネクション毎に該第１の端末装置および該第２の端末装置のウィンドウサイズの情報を取得し、管理工程によって、前記ウィンドウサイズ取得工程によって取得された各コネクション毎のウィンドウサイズの情報を保持して、管理し、受信バッファ工程によって、前記第１の端末装置から送信されたデータを一時的に格納し、転送制御工程によって、前記管理工程によって管理されるウィンドウサイズに対応して各コネクション毎に、前記受信バッファ工程によって格納されたデータの転送速度を調節する制御を行い、高速転送判断工程によって、前記送受信されるデータを高速に転送すべきか否かを判断し、課金工程によって、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置あるいは前記第２の端末装置のユーザに対して行うようにしているので、第２の端末装置の受信バッファがオーバフローすることなく、しかも再送が少なくなるため、データを確実かつ迅速に転送することができ、データ内容の特性に合わせた柔軟な課金処理を確実に行うことができるとともに、効率的なビジネスを展開することができるという効果を奏する。
【０１４１】
つぎの発明によれば、第１の判断工程によって、前記第２の端末装置から前記第１の端末装置に対して送信するデータを受信した場合に仮の確認応答を作成して該第２の端末装置に送信するか否かを判断し、送信バッファ工程によって、前記第１の判断工程が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積し、第２の判断工程によって、前記第１の端末装置が、前記第２の端末装置から送信されたデータの受信を失敗したか否かを判断し、第１の転送制御工程によって、前記第１の判断工程が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第２の端末装置から送信されたデータを前記第１の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第２の判断工程が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う。また、受信バッファ工程によって、前記第１の端末装置から送信されたデータを一時的に格納し、受信ウィンドウサイズ保持工程によって、前記第２の端末装置の受信ウィンドウサイズを保持し、第２の転送制御工程によって、前記受信ウィンドウサイズに対応して前記受信バッファに一時格納されたデータの転送速度を調節する制御を行うようにしているので、第２の端末装置から送信されるデータの転送速度を高めつつ、第２の端末装置の受信バッファがオーバフローすることなく、しかも再送が少なくなるため、データを確実かつ迅速に転送することができるという効果を奏する。
【０１４２】
つぎの発明によれば、第１の判断工程によって、前記第２の端末装置から前記第１の端末装置に対して送信するデータを受信した場合に仮の送達確認応答を作成して該第２の端末装置に送信するか否かを判断し、送信バッファ工程によって、前記第１の判断工程が前記仮の送達確認応答を作成して送信すると判断したデータを一時的に蓄積し、第２の判断工程によって、前記第１の端末装置が、前記第２の端末装置から送信されたデータの受信を失敗したか否かを判断し、第１の再送制御工程によって、前記第１の判断工程が前記仮の送達確認応答を作成して送信すると判断した場合に、前記第２の端末装置から送信されたデータを前記第１の端末装置側に転送するとともに、前記送信バッファに該データを蓄積し、前記第２の判断工程が該データの受信を失敗したと判断した場合に、該送信バッファに蓄積された該データの再送処理を行う。また。ウィンドウサイズ取得工程によって、前記第１の端末装置と前記第２の端末装置との間のコネクション毎に該第１の端末装置および該第２の端末装置のウィンドウサイズの情報を取得し、管理工程によって、前記ウィンドウサイズ取得工程によって取得された各コネクション毎のウィンドウサイズの情報を保持して、管理し、第２の転送制御工程によって、前記管理工程によって管理されるウィンドウサイズに対応して各コネクション毎にデータの転送速度を調節する制御を行うようにしているので、第２の端末装置から送信されるデータの転送速度を高めつつ、第２の端末装置の受信バッファがオーバフローすることなく、しかも再送が少なくなるため、データを確実かつ迅速に転送することができるという効果を奏する。
【０１４３】
つぎの発明によれば、第３の判断工程によって、前記第２の端末装置が、前記第１の端末装置から送信されたデータの受信を失敗したか否かを判断し、再送制御工程によって、前記第３の判断工程が前記第１の端末装置から送信されたデータの受信を失敗したと判断した場合に、前記受信バッファに蓄積されたデータの再送処理を行うようにしているので、伝送遅延の大きい伝送路を輻輳させずに、双方向の通信を確実かつ迅速に行うことができるという効果を奏する。
【０１４４】
つぎの発明によれば、前記再送制御工程が、前記データの再送処理を行う場合、該データの再送処理を行うとともに、該データに対する仮の送達確認応答を作成して前記第１の端末装置に送信するようにしているので、高速大容量通信を実現することができるという効果を奏する。
【０１４５】
つぎの発明によれば、第４の判断工程によって、前記第１の端末装置から送信されたデータに対して再送処理が行われたか否かを情報を保持し、該情報をもとに該データが再送済みであるか否かを判断し、前記再送制御工程が、前記受信の失敗に対応して前記受信バッファに蓄積されたデータの再送処理を行う場合、前記第４の判断工程が再送済みと判断した場合に、該データの再送処理を行わせないようにしているので、二重再送処理が確実に回避され、一層、高速なデータ転送を行うことができるという効果を奏する。
【０１４６】
つぎの発明によれば、高速転送判断工程によって、前記送受信されるデータを高速に転送すべきか否かを判断し、課金工程によって、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合、この高速化に伴った課金を送信元の前記第１の端末装置あるいは前記第２の端末装置のユーザに対して行うようにしているので、データ内容の特性に合わせた柔軟な課金処理を確実に行うことができるとともに、効率的なビジネスを展開することができるという効果を奏する。
【０１４７】
つぎの発明によれば、入力依頼工程によって、前記高速転送判断工程が前記送受信されるデータを高速に転送すべきであると判断した場合に、この高速化に伴った課金内容を送信元の前記第１の端末装置あるいは前記第２の端末装置に対して提示し、該第１の端末装置あるいは該第２の端末装置のユーザに対して高速化を行うか否かの情報の入力依頼を行い、前記課金工程が、前記入力依頼工程が、高速化を行う旨の通知を受けた場合に、前記送受信されるデータの高速転送に伴う課金処理を行うようにしているので、ユーザの意思を反映した柔軟なシステムを構築することができるという効果を奏する。
【０１４８】
つぎの発明にかかるプログラムは、請求項のいずれか一つに記載された方法をコンピュータに実行させるプログラムであり、そのプログラムが機械読み取り可能となり、これによって、請求項のいずれか一つの動作をコンピュータによって実行することができるという効果を奏する。
【図面の簡単な説明】
【図１】  この発明の実施の形態１であるデータ配信管理装置を含むデータ配信管理システムの構成を示すブロック図である。
【図２】  図１に示したデータ配信管理装置によるデータ配信管理処理手順を示すフローチャートである。
【図３】  図２に示した遅延回線からのパケット処理手順を示す詳細フローチャートである。
【図４】  図１に示した経路管理テーブルの内容の一例を示す図である。
【図５】  図１に示した経路管理テーブルの内容の一例を示す図である。
【図６】  図２に示したｔｍｐＡＣＫ利用候補パケットの処理手順を示す詳細フローチャートである。
【図７】  図３および図６に示した受信確認処理および再送処理の手順を示すフローチャートである。
【図８】  図１に示したｔｍｐＡＣＫ利用制御処理手順を示す詳細フローチャートである。
【図９】  この発明の実施の形態２であるデータ配信管理装置による遅延回線からのパケット処理手順を示す詳細フローチャートである。
【図１０】  この発明の実施の形態２であるデータ配信管理装置によるｔｍｐＡＣＫ利用制御処理手順を示す詳細フローチャートである。
【図１１】  この発明の実施の形態３であるデータ配信管理装置を含むデータ配信管理システムの構成を示すブロック図である。
【図１２】  図１１に示したデータ配信管理装置によるデータ配信管理処理手順を示すフローチャートである。
【図１３】  従来のデータ配信管理装置を含むデータ配信管理システムの構成を示すブロック図である。
【符号の説明】
１  配信管理テーブル、２ａ，２ｂ，３  回線、４  ｔｍｐＡＣＫバッファ、５  プロトコル管理テーブル、６  送信バッファ、７  受信バッファ、１０，２０  データ配信管理装置、１０ａ  ゲートウェイ機能部、１１，１７  通信部、１２  ｔｍｐＡＣＫ使用判定部、１３  ｔｍｐＡＣＫ作成部、１４  ＳＧＴｉｍｅｒカウント部、１５  配信データ記録部、１６  ＳＧ配信管理部、Ｃ１，Ｃ２端末装置、３０  課金処理部。
【図１】
0003782308.tif 000002
【図２】
0003782308.tif 000003
【図３】
0003782308.tif 000004
【図４】
0003782308.tif 000005
【図５】
0003782308.tif 000006
【図６】
0003782308.tif 000007
【図７】
0003782308.tif 000008
【図８】
0003782308.tif 000009
【図９】
0003782308.tif 000010
【図１０】
0003782308.tif 000011
【図１１】
0003782308.tif 000012
【図１２】
0003782308.tif 000013
【図１３】
0003782308.tif 000014