(57)【要約】【課題】  回線を複数の区間（セグメント）に分割し、各セグメントの輻輳状態、回線の太さ、距離、遅延、ＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）などに応じて、それぞれのＴＣＰ  Ｓｐｏｏｆｉｎｇを適応するか否かを決定する仕組み、即ち、よりきめ細かなＴＣＰ  Ｓｐｏｏｆｉｎｇの使用や回線の有効利用を可能にすることを目的とする。【解決手段】  送信装置１と一般的なＴＣＰによる通信を行う回線により結ばれた１個以上のスプーフィング機能搭載ゲートウェイ（ＳＧ２ａ、ＳＧ２ｂ、ＳＧ２ｃ、…、ＳＧ２ｎ）と、受信装置３が直線状に接続される。スプーフィング適用制御部１０４は、ルートマップ１０２及びスプーフィング適用ＳＧ管理テーブル１０３の情報を用いてルート上にある１つ以上のゲートウェイに対しスプーフィングを適用するか否か決定し、該当するゲートウェイにおけるスプーフィング機能のＯＮ／ＯＦＦを制御する。【選択図】        図１
2006074104.tif 000002
【特許請求の範囲】
【請求項１】
データを送信する送信装置と当該データに対して送達確認応答を返信する受信装置とを接続する伝送路上に配置され当該データに対する送達確認応答を生成して前記送信装置に送信する処理（以下、スプーフィングという）を行うゲートウェイ装置を制御する配信管理装置において、
前記ゲートウェイ装置におけるスプーフィングの適用状況に関するスプーフィング管理情報を記憶するスプーフィング管理情報記憶部と、
前記スプーフィング管理情報記憶部に記憶されたスプーフィング管理情報を基に前記ゲートウェイ装置においてスプーフィングを適用するかどうかを判断するスプーフィング適用制御部と、
前記スプーフィング適用制御部の判断結果を前記ゲートウェイ装置に通知するスプーフィング命令送信部とを備えることを特徴とする配信管理装置。
【請求項２】
前記スプーフィング適用制御部は、さらに、
前記送信装置と前記受信装置とを接続する伝送路の少なくとも一部を含む区間の通信品質を測定し、当該測定結果をスプーフィング管理情報の一部として前記スプーフィング管理情報記憶部に格納する通信品質測定部を備えることを特徴とする請求項１に記載の配信管理装置。
【請求項３】
前記通信品質測定部は、
前記区間の通信品質の一要素として、前記区間の通信速度を測定することを特徴とする請求項２に記載の配信管理装置。
【請求項４】
前記通信品質測定部は、
前記区間の通信品質の一要素として、前記区間の一端から送信されたデータが他端に到達しない割合である障害率を測定することを特徴とする請求項２又は３に記載の配信管理装置。
【請求項５】
前記通信品質測定部は、
前記区間の通信品質の一要素として、前記区間でデータが送信されてから受信されるまでの遅延時間を測定することを特徴とする請求項２から４いずれかに記載の配信管理装置。
【請求項６】
前記送信装置と前記受信装置とは相互にデータを送受信するための論理的な接続（以下、コネクションという）を確立し、
前記スプーフィング適用制御部は、
前記ゲートウェイ装置においてスプーフィングを適用するかどうかをコネクションごとに個別に判断することを特徴とする請求項１から５いずれかに記載の配信管理装置。
【請求項７】
前記送信装置はデータを一つ以上の固まり（以下、パケットという）に分割して送信し、
前記スプーフィング適用制御部は、
前記ゲートウェイ装置においてスプーフィングを適用するかどうかをパケットごとに個別に判断することを特徴とする請求項１から５いずれかに記載の配信管理装置。
【請求項８】
前記送信装置と前記受信装置とは相互にデータを送受信するための論理的な接続（以下、コネクションという）を確立し、
前記送信装置はデータを一つ以上の固まり（以下、パケットという）に分割して送信し、
前記スプーフィング適用制御部は、
前記ゲートウェイ装置においてスプーフィングを適用するかどうかを判断する際に、コネクションごとに判断するか、パケットごとに判断するかを選択することを特徴とする請求項１から５いずれかに記載の配信管理装置。
【請求項９】
前記配信管理装置は、
前記送信装置と同一筐体に収められることを特徴とする請求項１から８に記載の配信管理装置。
【請求項１０】
データを送信する送信装置と当該データに対して送達確認応答を返信する受信装置とを接続する伝送路上に配置され当該データに対する送達確認応答を生成して前記送信装置に送信する処理（以下、スプーフィングという）を行うゲートウェイ装置において、
前記送信装置が送信したデータを受信する第１通信部と、
前記第１通信部が受信したデータを前記受信装置に転送し、前記受信装置が送信した送達確認応答を受信する第２通信部と、
前記第２通信部が転送したデータを保存する送信蓄積部と、
前記第２通信部が受信した送達確認応答を保存する受信蓄積部と、
スプーフィングの適用を制御する配信管理装置が送信したスプーフィングの適用を命令する通知を受信するスプーフィング命令受信部と、
前記送信蓄積部に保存されたデータに対する前記受信蓄積部に保存された送達確認応答の有無と前記スプーフィング命令受信部が受信した通知の内容とを管理する配信管理情報を記憶する配信管理情報記憶部と、
前記送信蓄積部に保存されたデータに対する送達確認応答を生成する送達確認応答生成部と、
前記配信管理情報記憶部に記憶された配信管理情報を基に、前記第２通信部が受信した送達確認応答と前記送達確認応答生成部が生成した送達確認応答とのうちいずれかを前記第１通信部に送信させる配信管理部とを備えることを特徴とするゲートウェイ装置。
【請求項１１】
データを送信する送信装置と当該データに対して送達確認応答を返信する受信装置とを接続する伝送路上に配置され当該データに対する送達確認応答を生成して前記送信装置に送信する処理（以下、スプーフィングという）を行うゲートウェイ装置を制御する配信管理装置を用いた配信管理方法において、
前記ゲートウェイ装置におけるスプーフィングの適用状況に関するスプーフィング管理情報を記憶するスプーフィング管理情報記憶工程と、
前記スプーフィング管理情報記憶工程で記憶されたスプーフィング管理情報を基に前記ゲートウェイ装置においてスプーフィングを適用するかどうかを判断するスプーフィング適用制御工程と、
前記スプーフィング適用制御工程での判断結果を前記ゲートウェイ装置に通知するスプーフィング命令送信工程とを備えることを特徴とする配信管理方法。
【請求項１２】
前記スプーフィング適用制御工程は、さらに、
前記送信装置と前記受信装置とを接続する伝送路の少なくとも一部を含む区間の通信品質を測定し、当該測定結果をスプーフィング管理情報の一部として格納する通信品質測定工程を備えることを特徴とする請求項１１に記載の配信管理方法。
【請求項１３】
前記通信品質測定工程は、
前記区間の通信品質の一要素として、前記区間の通信速度を測定することを特徴とする請求項１２に記載の配信管理方法。
【請求項１４】
前記通信品質測定工程は、
前記区間の通信品質の一要素として、前記区間の一端から送信されたデータが他端に到達しない割合である障害率を測定することを特徴とする請求項１２又は１３に記載の配信管理方法。
【請求項１５】
前記通信品質測定工程は、
前記区間の通信品質の一要素として、前記区間でデータが送信されてから受信されるまでの遅延時間を測定することを特徴とする請求項１２から１４いずれかに記載の配信管理方法。
【請求項１６】
前記送信装置と前記受信装置とは相互にデータを送受信するための論理的な接続（以下、コネクションという）を確立し、
前記スプーフィング適用制御工程は、
前記ゲートウェイ装置においてスプーフィングを適用するかどうかをコネクションごとに個別に判断することを特徴とする請求項１１から１５いずれかに記載の配信管理方法。
【請求項１７】
前記送信装置はデータを一つ以上の固まり（以下、パケットという）に分割して送信し、
前記スプーフィング適用制御工程は、
前記ゲートウェイ装置においてスプーフィングを適用するかどうかをパケットごとに個別に判断することを特徴とする請求項１１から１５いずれかに記載の配信管理方法。
【請求項１８】
前記送信装置と前記受信装置とは相互にデータを送受信するための論理的な接続（以下、コネクションという）を確立し、
前記送信装置はデータを一つ以上の固まり（以下、パケットという）に分割して送信し、
前記スプーフィング適用制御工程は、
前記ゲートウェイ装置においてスプーフィングを適用するかどうかを判断する際に、コネクションごとに判断するか、パケットごとに判断するかを選択することを特徴とする請求項１１から１５いずれかに記載の配信管理方法。
【請求項１９】
データを送信する送信装置と、
当該データに対して送達確認応答を返信する受信装置と、
前記送信装置と前記受信装置とを接続する伝送路上に配置され当該データに対する送達確認応答を生成して前記送信装置に送信する処理を行う請求項１０に記載のゲートウェイ装置と、
前記ゲートウェイ装置を制御する請求項１に記載の配信管理装置とを各一つ以上備えることを特徴とする配信管理システム。
【請求項２０】
データを送信する送信装置と、
当該データに対して送達確認応答を返信する受信装置と、
前記送信装置と前記受信装置とを接続する伝送路上に配置され当該データに対する送達確認応答を生成して前記送信装置に送信する処理を行う請求項１０に記載のゲートウェイ装置とを各一つ以上備え、
前記送信装置は、
前記ゲートウェイ装置を制御する請求項１に記載の配信管理装置であることを特徴とする配信管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、配信管理装置及びゲートウェイ装置及び配信管理方法及び配信管理システムに関するものである。
【背景技術】
【０００２】
光や衛星回線など、長距離の回線でのＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）通信（非特許文献１）における、応答の遅延による性能の劣化に対し、ＴＣＰ  Ｓｐｏｏｆｉｎｇ（スプーフィング）という手法がある。特許文献１に示されているように、この手法では、回線を、遅延区間の前後でＴＣＰ  Ｓｐｏｏｆｉｎｇ機能を搭載したゲートウェイ（ＧＷ）で２分割する。ＧＷは送信元から受信したパケットを宛先に転送するとともに、送信元に対し宛先が作成する送達確認応答（ＡＣＫ）と同等の擬似ＡＣＫを作成する。そして、送信元と宛先との間で通信結果に矛盾が生じないように、送信タイミングを調整しながら擬似ＡＣＫを先に送ることにより、ＡＣＫの遅延によるＴＣＰの輻輳制御ウィンドウの縮小を回避する。
【特許文献１】特許第３３７７９９４号公報
【非特許文献１】Ｊｏｎ  Ｐｏｓｔｅｌ，“ＤｏＤ  Ｓｔａｎｄａｒｄ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ”，ＲＦＣ  ７６１，ＩＥＴＦ，Ｊａｎｕａｒｙ  １９８０
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の技術は、区間を、遅延のあるなしで２分割するものであり、終端間の経路の細かな特性や回線状況に応じた細かな制御はしていなかった。これに対し、本発明においては、回線を複数の区間（セグメント）に分割し、各セグメントの輻輳状態、回線の太さ、距離、遅延、ＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）などに応じて、それぞれのＴＣＰ  Ｓｐｏｏｆｉｎｇを適応するか否かを決定する仕組み、即ち、よりきめ細かなＴＣＰ  Ｓｐｏｏｆｉｎｇの使用や回線の有効利用を可能にすることを目的とする。
【課題を解決するための手段】
【０００４】
本発明の配信管理装置は、
データを送信する送信装置と当該データに対して送達確認応答を返信する受信装置とを接続する伝送路上に配置され当該データに対する送達確認応答を生成して前記送信装置に送信する処理（以下、スプーフィングという）を行うゲートウェイ装置を制御する配信管理装置において、
前記ゲートウェイ装置におけるスプーフィングの適用状況に関するスプーフィング管理情報を記憶するスプーフィング管理情報記憶部と、
前記スプーフィング管理情報記憶部に記憶されたスプーフィング管理情報を基に前記ゲートウェイ装置においてスプーフィングを適用するかどうかを判断するスプーフィング適用制御部と、
前記スプーフィング適用制御部の判断結果を前記ゲートウェイ装置に通知するスプーフィング命令送信部とを備えることを特徴とする。
【発明の効果】
【０００５】
本発明により、きめ細かなスプーフィングの使用や回線の有効利用が可能となる。
【発明を実施するための最良の形態】
【０００６】
以下、本発明の実施の形態を図に基づいて説明する。なお、下記実施の形態１から３では、各実施の形態に係る配信管理システムにおいて、１つの送信装置がデータを送信し、１つの受信装置がそのデータを受信する例を用いるが、同様の送信装置や受信装置が２つ以上存在してもよい。また、受信装置が送信装置と同等の機能を有してデータを送信し、送信装置が受信装置と同等の機能を有してそのデータを受信してもよい。
【０００７】
実施の形態１．
図１は本実施の形態に係る配信管理システムの構成を示すブロック図である。
【０００８】
本実施の形態に係る配信管理システムでは、送信装置１と一般的なＴＣＰによる通信を行う回線により結ばれた１個以上のスプーフィング機能搭載ゲートウェイ（ＳＧ２ａ、ＳＧ２ｂ、ＳＧ２ｃ、…、ＳＧ２ｎ）と、受信装置３が直線状に接続して構成される。このとき、送信装置１とＳＧ２ａは、通信系５よりも伝送遅延の小さな通信回線４で結ばれている。またＳＧ２ａと受信装置３との間は伝送遅延が大きな双方向の通信系５により結ばれている。通信系５は、衛星回線や海底ケーブルに代表される、通常のＴＣＰ通信のタイムアウト値よりも長い伝送遅延がある回線とする。
【０００９】
このシステムにおいて、送信装置１は、ＳＧ２ａと接続するとともにパケットを入出力するための通信部１０１を具備する。また、送信装置１は、配信管理装置を兼ね、通信部１０１の他に、ルートマップ１０２、スプーフィング適用ＳＧ管理テーブル１０３、スプーフィング適用制御部１０４を具備する。通信部１０１はスプーフィング命令送信部及び通信品質測定部を実装する。
【００１０】
ルートマップ１０２は、送信装置１から受信装置３に至る経路（ルート）上の回線及びこの回線をつなぐスプーフィング機能搭載ゲートウェイ（以下、ゲートウェイという）に関する情報を保持する。また、スプーフィング適用ＳＧ管理テーブル１０３はスプーフィング管理情報記憶部の一例であり、このルートマップ１０２上のゲートウェイ同士を接続する回線（セグメント）の状態及び各ゲートウェイに対するスプーフィング機能の適用（ＯＮ）／非適用（ＯＦＦ）の情報を管理する。そして、スプーフィング適用制御部１０４は、ルートマップ１０２及びスプーフィング適用ＳＧ管理テーブル１０３の情報を用いてルート上にある１つ以上のゲートウェイに対しスプーフィングを適用するか否か決定し、該当するゲートウェイにおけるスプーフィング機能のＯＮ／ＯＦＦを制御する。
【００１１】
本実施の形態では、ルートマップ１０２及びスプーフィング適用ＳＧ管理テーブル１０３を同一テーブルにまとめることで情報検索の効率化を図っているが、それぞれが独立したテーブルでもよい。
【００１２】
ＳＧ２ａはゲートウェイ装置の一例であり、第１通信部２０１、第２通信部２０２、送信バッファ２０３、受信バッファ２０４、ｔｍｐＡＣＫ作成部２０５、ｔｍｐＡＣＫバッファ２０６、ＳＧ配信管理部２０７、配信管理テーブル２０８、配信データ記録部２０９を具備する。
【００１３】
第１通信部２０１は、送信装置１と接続するとともにパケットを入出力する。第１通信部２０１にはスプーフィング命令受信部が実装される。また、第２通信部２０２は、通信系５を経由して受信装置３と接続するとともにパケットを入出力する。
【００１４】
送信バッファ２０３は送信蓄積部の少なくとも一部を実装し、第２通信部２０２が受信装置３にパケットを送信する際に、当該送信パケットを一時的に蓄積する。また、受信バッファ２０４は受信蓄積部の一例であり、受信装置３からパケットを受信する際に、当該受信パケットを一時的に蓄積する。
【００１５】
ｔｍｐＡＣＫ作成部２０５は送達確認応答生成部の一例であり、送信装置１から受信したパケットに対する擬似ＡＣＫである仮の送達確認応答（ｔｍｐＡＣＫ）を作成する。ｔｍｐＡＣＫバッファ２０６は送信蓄積部の少なくとも一部を実装し、このｔｍｐＡＣＫ作成処理のために、送信装置１から受信したパケットを保存する。
【００１６】
ＳＧ配信管理部２０７は配信管理部の一例であり、受信装置３に転送したパケットに対しｔｍｐＡＣＫ返送機能を適用すべきかどうかの判断を行い、ｔｍｐＡＣＫ返送機能を適用すると判断した場合は、ｔｍｐＡＣＫ作成部２０５にｔｍｐＡＣＫを作成させる。ｔｍｐＡＣＫ作成部２０５がｔｍｐＡＣＫを作成すると、ＳＧ配信管理部２０７において、このｔｍｐＡＣＫのルーティングを決定し、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ヘッダのルーティングオプションを作成する。そして、ｔｍｐＡＣＫ返送の対象となるパケットが辿ったルートをさかのぼる方向へとｔｍｐＡＣＫを返信する。さらに、受信装置３に転送したパケットが届いたかどうかを判断し、届かなかったと判断した場合は再送を行う。
【００１７】
配信管理テーブル２０８は配信管理情報記憶部の一例であり、仮の送達確認応答を送信装置１に対し送信したか否かの情報、及び受信装置３が生成し通信系５を経由して送られてきた送達確認応答に関するデータを格納する。配信データ記録部２０９はこれらのデータを配信管理テーブル２０８に書き込む。
【００１８】
受信装置３は通信系５を経由して各ゲートウェイと接続し、パケットを送受信する。
【００１９】
次に、送信装置１の動作について説明する。
【００２０】
図２は、送信装置１がデータの送信処理を行う際の、スプーフィング適用制御部１０４の動作を示したフロー図である。本実施の形態において図２に示す一連の処理は、送信装置１が行う通信のうち、ＴＣＰ上の通信に代表される輻輳制御を持ち、回線の輻輳以外の原因（回線の物理的な距離に起因する伝送遅延やエラー発生率の高さなど）により、宛先からの送達確認応答（ＡＣＫ）の到着の遅延が起こり、結果としてスループットの低下を招く可能性のあるプロトコルを用いたものに適用する。従って、送信装置１は少なくとも、上記のＴＣＰに代表されるような輻輳制御機構を備えた（即ち、スプーフィングの効果のある）通信が可能なものとする。
【００２１】
まず、送信装置１の通信部１０１においてパケット送信処理が開始されると、ステップＳ２０１において、送信しようとしているパケットを含む通信が、現在通信中の宛先に対する通信か否か（つまりこのパケットと同じ宛先への通信に関する情報を送信装置１が既に管理しているか）、あるいは既に情報を管理している通信であっても通信上の設定を見直すべきであるかを判定する。この情報の見直しをすべきかどうかの判定は、タイマを持ち一定時間ごとの再チェックを行う方法や、品質を測る基準を設け一定基準より品質が下がった場合に再チェックフラグを立てそのフラグの状態を見て判断を行う方法が考えられる。品質を測る基準には、たとえばスループット、ＲＴＴ（パケットを出し応答が返ってくるまでの間の時間）あるいは障害率（パケットロスの率）などを用いる。スプーフィングのＯＮ／ＯＦＦのアルゴリズムとしては、ＲＴＴを用いる場合、ＴＣＰのタイムアウト値よりＲＴＴが長い時は、スプーフィングを適用すると決定する、あるいは障害率を加味したＲＴＴ（たとえば、ＲＴＴと障害率の積）を用いて決定するなどの方法が考えられる。ステップＳ２０１にて、初回探索あるいは設定の見直しを行うと判定された場合（ステップＳ２０１にてＹｅｓ）、ステップＳ２０２へ進み、初回探索でもなく、設定の見直しも必要が無い場合（ステップＳ２０１にてＮｏ）はステップＳ２０７へと進む。
【００２２】
ステップＳ２０２において、ＲＩＰ（Ｒｏｕｔｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）などを用いて、宛先までのルート探索を行い、ステップＳ２０３にてルート情報の決定処理を行う。ステップＳ２０３においては、データ送信元である送信装置１が保持するルートマップ１０２へ決定したルート情報を記録し、かつ経路上にあるゲートウェイに対し、ルーティング情報を設定する。ルーティング情報としては、少なくとも通信の識別情報（ＩＰとポートの組み合わせなど）及び次のルーティング先の情報を設定する。
【００２３】
ステップＳ２０３終了後、ステップＳ２０４にてルート上の各ゲートウェイについて、スプーフィング機能のＯＮ／ＯＦＦを決定する。この決定には、図３に示すような、各ゲートウェイとそれぞれの次のルーティング先との間のセグメントの情報を用いて決定する。
【００２４】
図３は、ルートマップ１０２とスプーフィング適用ＳＧ管理テーブル１０３をまとめたテーブルの例である。
【００２５】
本実施の形態では、たとえば、遅延時間に相当するＲＴＴが３００ｍｓｅｃ（ミリ秒）以上で、障害率が０．１％以下の場合はスプーフィングを適用するというようなアルゴリズムを用いる。また、回線上での障害（無線での陰の影響など）とルーティング先のゲートウェイにおけるバッファオーバーフローを区別するために、障害率を加味する場合は別途、バッファオーバーフローの情報を取得するという方式を取り入れることも可能である。たとえば、このために、受信用のバッファが一定の割合を超えたときに、警告情報を出し、その情報に基づき、スループットの調節を行うという方式を選択することも可能である。また、ルーティング先がスプーフィングを適用している場合は、バッファ内のデータ量が一定の割合を超えた場合、ＡＣＫ返信の速度を下げて、対応するという実装も可能である。
【００２６】
ステップＳ２０４にて、上述したようなアルゴリズムに基づき、決定したスプーフィングのＯＮ／ＯＦＦを、図３に例示するようにルート情報とともに記録する。
【００２７】
図３において、ルーティング項目は、図１記載の次のルーティング先を示す。また、ＲＴＴ項目はルーティング項目にて示されたルーティング先との間のセグメントにおけるＲＴＴ、障害率項目は同セグメントにおける障害率、スループット項目は同セグメントにおけるスループットを示す。そして、スプーフィング項目は同セグメントにおいてスプーフィング機能をＯＮとするかＯＦＦとするかの情報を示す。
【００２８】
図３では、たとえば、送信装置１に接続されているＳＧ２ａのルーティング項目は、ルーティング先にＳＧ２ｂがあるということを示し、ＳＧ２ｂのルーティング項目は、ルーティング先にＳＧ２ｃがあることを示す。また、ＳＧ２ａのその他の項目は、ＳＧ２ａからＳＧ２ｂへのセグメントのＲＴＴが５７０ｍｓｅｃ、障害率が０．０２％、スループットが３０Ｍ（メガ）ビットであり、スプーフィング機能がＯＮに設定されていることを示す。
【００２９】
ステップＳ２０４終了後、ステップＳ２０５にて、ステップＳ２０４で決定したスプーフィングのＯＮ／ＯＦＦを該当するゲートウェイ（たとえば、ＳＧ２ａ）に設定する。この設定方法としては、たとえば、該当するゲートウェイに向けて、スプーフィングのＯＮ／ＯＦＦ情報を入れた特別なＩＰ上のパケットを送信し、このパケットを受信したゲートウェイ側では、パケットに含まれるスプーフィングＯＮ／ＯＦＦ情報に基づいてスプーフィングの設定を行うなどの方法が可能である。具体的には、以下のようにＩＰパケットのヘッダ部に含まれるプロトコルフィールドを用いる。
【００３０】
スプーフィング機能のＯＮ／ＯＦＦに関する特別なＩＰパケットは、ＩＰヘッダ部の情報として、宛先ＩＰアドレスにスプーフィング設定の対象となるゲートウェイのＩＰアドレス、プロトコルフィールドにユーザ指定可能な番号“１０１”から“２５４”（Ｊｏｙｃｅ  Ｋ．  Ｒｅｙｎｏｌｄｓ，Ｊｏｎ  Ｐｏｓｔｅｌ，“Ａｓｓｉｇｎｅｄ  Ｎｕｍｂｅｒｓ”，ＲＦＣ  １７００，ＩＥＴＦ，Ｏｃｔｏｂｅｒ  １９９４）の間の２つの番号を格納する。この２つの番号は、システム内でＯＮ／ＯＦＦ用のプロトコルとして用いるものを定め、その値を使用する。ここで、たとえば、“１０１”をＯＮ用に、“１０２”をＯＦＦ用に割り当てるとする。パケットを受け取ったゲートウェイは、ＩＰアドレスを見て自宛か否かを判断し、自宛であった場合は、プロトコルフィールドを見てＯＮ／ＯＦＦに関するものか否か（“１０１”あるいは“１０２”のいずれかであるか否かを）を判定する。プロトコル番号が“１０１”であった場合は、スプーフィング機能をＯＮに、“１０２”であった場合は、スプーフィング機能をＯＦＦに設定する。
【００３１】
ステップＳ２０５終了後、ステップＳ２０６にて、図３に例示するようなテーブルに、ルート及びスプーフィング情報を保存する。その後、ステップＳ２０７にて、パケットをルート情報に基づいて送信するよう、通信部１０１に要求する。
【００３２】
ステップＳ２０８にて、ステップＳ２０７で送信したパケットが、ＴＣＰ通信におけるＦｉｎパケットであるかにより、通信終了か否かを判定する。通信終了ではないと判定された場合、次のパケットの送信を行うために、ステップＳ２０１へと戻り、Ｆｉｎパケット送信まで上記の処理を繰り返す。一方、ステップＳ２０８にて、通信終了であると判定された場合、スプーフィング適用判定の一連の処理を終了する。この後、ＴＣＰ層における通信処理として、ＴＣＰ通信のＦｉｎパケットに対するＡＣＫ受信を待つ。Ｆｉｎ以降のパケットに対してはスプーフィングを行わない。
【００３３】
次に、ゲートウェイの例としてＳＧ２ａの動作について説明する。図１に示す他の全てのゲートウェイ（ＳＧ２ｂ、ＳＧ２ｃ、…、ＳＧ２ｎ）も、以下に説明するＳＧ２ａと同等の機能を持つ。
【００３４】
送信装置１からのデータパケットが通信回線４を介してＳＧ２ａに送信されると、ＳＧ２ａの第１通信部２０１は、このパケットを受信する。ＳＧ２ａは、受信したパケットをｔｍｐＡＣＫバッファ２０６に一時的に蓄積するとともに、配信管理テーブル２０８に当該データパケットのエントリを追加する。そして、ＳＧ２ａは通信系５を介して、このデータパケットを受信装置３へ向けて、次のルーティング先であるＳＧ２ｂへと転送する。
【００３５】
図４は、ＳＧ２ａが送信装置１からパケットを受信した際のＳＧ配信管理部２０７の動作を示したフロー図である。また、図５は、ＳＧ２ａが受信装置３からパケットを受信した際のＳＧ配信管理部２０７の動作を示したフロー図である。
【００３６】
ＳＧ２ａは、パケットを受信すると、ステップＳ４０１にて、そのパケットが前述したようなスプーフィング機能のＯＮ／ＯＦＦに関する特別なＩＰパケットであるかどうかを判定する。受信したパケットがスプーフィング機能のＯＮ／ＯＦＦに関する特別なＩＰパケットである場合は、その内容に応じて、ステップＳ４１０にて配信管理テーブル２０８を更新する。配信管理テーブル２０８を更新する際、ＳＧ配信管理部２０７は配信データ記録部２０９にデータの更新を要求する。
【００３７】
図６は、各ゲートウェイが持つ配信管理テーブル２０８の例である。
【００３８】
図６において、「送信元ＩＰ」、「宛先ＩＰ」、「送信元ポート番号」、「宛先ポート番号」、「フローラベル」は、スプーフィングの対象とするＴＣＰ通信に関する情報を示す。「送信元ＩＰ」はスプーフィング対象のＴＣＰ通信の送信元ＩＰアドレス、「宛先ＩＰ」は宛先ＩＰアドレスを示す。また、「フローラベル」はこの通信を一意に識別する。ここで、フローとは、ＴＣＰの終端間（例えば、送信装置１と受信装置３との間）の論理的なコネクションのことである。
【００３９】
図６において、「スプーフィング」はこのフローでスプーフィングを行うか行わないかを示す。「パケット番号」はこのフローに属する受信（転送）済パケットのパケット番号、「ｔｍｐＡＣＫ送信」はｔｍｐＡＣＫの返信を行っているかどうか（たとえば、そもそもＡＣＫ返信が不要なＳｙｎパケットやＦｉｎパケットは“不可”、ｔｍｐＡＣＫを送信済のパケットは“済”、ｔｍｐＡＣＫの送信は可能であるがまだ送信していないパケットは“可能”）、「ＡＣＫ受信状態」は宛先あるいはその中継ゲートウェイからのＡＣＫが受信済であるかどうかを示す。
【００４０】
ステップＳ４１０にて配信管理テーブル２０８を更新する際には、配信管理テーブル２０８の「スプーフィング」の値を“ＯＮ”又は“ＯＦＦ”に設定する。
【００４１】
ステップＳ４０１にて、受信したパケットがスプーフィング機能のＯＮ／ＯＦＦに関する特別なＩＰパケットでなかった場合は、ステップＳ４０２に進む。ステップＳ４０２では、受信したパケットの属するフローが配信管理テーブル２０８に登録されているか否かを見て、新規スプーフィング対象フローの登録処理を行うかどうかを判定する。新規スプーフィング対象のフローであると判定されると、ステップＳ４０７にて配信管理テーブル２０８に該当する情報の登録を行い、ステップＳ４０９にて第２通信部２０２に次のルーティング先へパケットを転送させる。
【００４２】
一方、ステップＳ４０２にて、受信したパケットがすでに配信管理テーブル２０８に登録済のフローに属するパケットであると判定されると、ステップＳ４０３にてスプーフィング対象とするかどうかを判定する。配信管理テーブル２０８において、「スプーフィング」が“ＯＦＦ”となっている（スプーフィング対象ではない）場合、第２通信部２０２に次のルーティング先へパケットを転送させ、処理を終了する。
【００４３】
一方、配信管理テーブル２０８において、「スプーフィング」が“ＯＮ”となっている（スプーフィング対象である）場合、ステップＳ４０４にて、受信したパケットがＳｙｎパケットか否かの判定を行う。Ｓｙｎパケットであった場合は、Ｓｙｎパケット情報を配信管理テーブル２０８へと追加する。Ｓｙｎパケットではない場合は、ステップＳ４０５にて、そのパケットがＦｉｎパケットか否かを判定する。Ｆｉｎパケットであった場合は、そのフローの情報を配信管理テーブル２０８から削除し、処理を終了する。
【００４４】
一方、Ｆｉｎパケットではない場合は、そのパケットはデータパケットだと判定され、ステップＳ４０６にてｔｍｐＡＣＫを返送し、データパケットをｔｍｐＡＣＫバッファ２０６に一時的に保存する。ここで、本実施の形態では、一つのフローにおいて異なる経路を通って送信されるパケットはないため、このデータパケットに対して、一つ前のパケットまでの送達確認を行うことが可能なｔｍｐＡＣＫが作成される。このｔｍｐＡＣＫを作成するのはｔｍｐＡＣＫ作成部２０５であり、作成されたｔｍｐＡＣＫは第１通信部２０１によって送信される。最後に、ＳＧ配信管理部２０７は、第２通信部２０２に次のルーティング先へパケットを転送させ、処理を終了する。
【００４５】
ＳＧ２ａは、受信装置３が送信したＡＣＫ（配信管理テーブル２０８に登録されているフローの「宛先ＩＰ」の「宛先ポート番号」から「送信元ＩＰ」の「送信元ポート番号」に向けたパケット）を受信すると、ステップＳ５０１にて、ｔｍｐＡＣＫが送信済か否かを判定する。ｔｍｐＡＣＫがまだ送信されていない場合、ステップＳ５０５にて、第１通信部２０１に受信したＡＣＫを転送させ、処理を終了する。
【００４６】
一方、ｔｍｐＡＣＫが送信済であると判定された場合、ステップＳ５０２にて受信確認済のパケットがあるか否かを判定する。ここでは、ＴＣＰの通常の送達確認応答を用いた確認などと同様のアルゴリズムに従い、受信したＡＣＫを元に確認処理を行う。宛先である受信装置３における受信が確認されたパケットがあれば、ステップＳ５０３にて配信管理テーブル２０８の「ＡＣＫ受信状態」を更新し、ステップＳ５０４にて再送のためにｔｍｐＡＣＫバッファ２０６に一時保存しておいたデータパケットを削除する。
【００４７】
ＳＧ２ａ、通信系５、ＳＧ２ｎを介し、受信装置３に至るまでの経路のどこかで、データパケットの転送に失敗し、受信装置３においてデータパケットの受信を行うことができなかったとする。この時、該当するパケットを受け取れなかった受信装置３あるいはゲートウェイは、転送に失敗したパケットの前のパケットに対する同一の送達確認応答を３つ続けて送信する。一方、転送に失敗したセグメントにパケットの送信を行ったいずれかのゲートウェイは、受信装置３あるいは次のルーティング先から同一の送達確認応答を３つ続けて受信すると、当該パケットの再送を行う。
【００４８】
以上のように、本実施の形態では、回線を複数の区間（セグメント）に分割し、各セグメントの輻輳状態、回線の太さ、距離、遅延、ＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）などに応じて、それぞれのＴＣＰ  Ｓｐｏｏｆｉｎｇを適応するか否かを決定する仕組み、即ち、よりきめ細かなＴＣＰ  Ｓｐｏｏｆｉｎｇの使用や回線の有効利用が可能となる。
【００４９】
実施の形態２．
実施の形態１では、単純にゲートウェイごとにスプーフィングのＯＮ／ＯＦＦを制御していた。一方、本実施の形態では、各ゲートウェイにおいて、フローごとにスプーフィングのＯＮ／ＯＦＦを制御する。
【００５０】
図７は本実施の形態に係る配信管理システムの構成を示すブロック図である。
【００５１】
本実施の形態に係る配信管理システムでは、送信装置１と一般的なＴＣＰによる通信を行う回線により枝葉状に結ばれた１個以上のスプーフィング機能搭載ゲートウェイ（ＳＧ２ａ、ＳＧ２ｂ、ＳＧ２ｃ、…、ＳＧ２ｎ）と、受信装置３が接続して構成される。このとき、送信装置１とＳＧ２ａは、通信系５よりも伝送遅延の小さな通信回線４で結ばれている。またＳＧ２ａと受信装置３との間は伝送遅延が大きな双方向の通信系５により結ばれている。通信系５は、衛星回線や海底ケーブルに代表される、通常のＴＣＰ通信のタイムアウト値よりも長い伝送遅延がある回線とする。
【００５２】
このシステムにおいて、送信装置１は、実施の形態１と同様に、ＳＧ２ａと接続するとともにパケットを入出力するための通信部１０１を具備する。また、送信装置１は、配信管理装置を兼ね、通信部１０１の他に、ルートマップ１０２、スプーフィング適用ＳＧ管理テーブル１０３、スプーフィング適用制御部１０４を具備する。
【００５３】
ＳＧ２ａは、実施の形態１と同様に、第１通信部２０１、第２通信部２０２、送信バッファ２０３、受信バッファ２０４、ｔｍｐＡＣＫ作成部２０５、ｔｍｐＡＣＫバッファ２０６、ＳＧ配信管理部２０７、配信管理テーブル２０８、配信データ記録部２０９を具備する。ＳＧ２ａは、本実施の形態ではさらに、第３通信部２１０を具備する。
【００５４】
第３通信部２１０は、第２通信部２０２がＳＧ２ｂと接続し、通信系５を経由して受信装置３と通信を行うのと同様に、ＳＧ２ｎと接続し、パケットを入出力することにより、通信系５を経由して受信装置３と通信を行う。その他にもＳＧ２ａに同様の通信部を追加し、ＳＧ２ｃやＳＧ２ｄといった他のゲートウェイと直接接続する形態が可能である。
【００５５】
受信装置３は、実施の形態１と同様に、通信系５を経由して各ゲートウェイと接続し、パケットを送受信する。
【００５６】
次に、送信装置１の動作について説明する。
【００５７】
本実施の形態において、送信装置１がデータの送信処理を行う際の、スプーフィング適用制御部１０４の動作は、実施の形態１と同様に、図２に示したフロー図の通りである。
【００５８】
まず、送信装置１の通信部１０１においてパケット送信処理が開始されると、ステップＳ２０１において、送信しようとしているパケットを含む通信が、現在通信中の宛先に対する通信か否か（つまりこのパケットと同じ宛先への通信に関する情報を送信装置１が既に管理しているか）、あるいは既に情報を管理している通信であっても通信上の設定を見直すべきであるかを判定する。この情報の見直しをすべきかどうかの判定は、タイマを持ち一定時間ごとの再チェックを行う方法や、品質を測る基準を設け一定基準より品質が下がった場合に再チェックフラグを立てそのフラグの状態を見て判断を行う方法が考えられる。品質を測る基準には、たとえばスループット、ＲＴＴ（パケットを出し応答が返ってくるまでの間の時間）あるいは障害率（パケットロスの率）などを用いる。スプーフィングのＯＮ／ＯＦＦのアルゴリズムとしては、ＲＴＴを用いる場合、ＴＣＰのタイムアウト値よりＲＴＴが長い時は、スプーフィングを適用すると決定する、あるいは障害率を加味したＲＴＴ（たとえば、ＲＴＴと障害率の積）を用いて決定するなどの方法が考えられる。ステップＳ２０１にて、初回探索あるいは設定の見直しを行うと判定された場合（ステップＳ２０１にてＹｅｓ）、ステップＳ２０２へ進み、初回探索でもなく、設定の見直しも必要が無い場合（ステップＳ２０１にてＮｏ）はステップＳ２０７へと進む。
【００５９】
ステップＳ２０２において、ＲＩＰ（Ｒｏｕｔｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）などを用いて、宛先までのルート探索を行い、ステップＳ２０３にてルート情報の決定処理を行う。ステップＳ２０３においては、データ送信元である送信装置１が保持するルートマップ１０２へ決定したルート情報を記録し、かつ経路上にあるゲートウェイに対し、ルーティング情報を設定する。ルーティング情報としては、少なくとも通信の識別情報（ＩＰとポートの組み合わせなど）及び次のルーティング先の情報を設定する。
【００６０】
ステップＳ２０３終了後、ステップＳ２０４にてルート上の各ゲートウェイについて、スプーフィング機能のＯＮ／ＯＦＦを決定する。この決定には、図８に示すような、各ゲートウェイとそれぞれの次のルーティング先との間のセグメントの情報を用いて決定する。
【００６１】
図８は、フローごとに通信ルートを固定とする方式の場合に用いるルートマップ１０２とスプーフィング適用ＳＧ管理テーブル１０３をまとめたテーブルの例である。
【００６２】
本実施の形態では、たとえば、遅延が３００ｍｓｅｃ（ミリ秒）以上で、障害率が０．１％以下の場合はスプーフィングを適用するというようなアルゴリズムを用いる。また、回線上での障害（無線での陰の影響など）とルーティング先のゲートウェイにおけるバッファオーバーフローを区別するために、障害率を加味する場合は別途、バッファオーバーフローの情報を取得するという方式を取り入れることも可能である。たとえば、このために、受信用のバッファが一定の割合を超えたときに、警告情報を出し、その情報に基づき、スループットの調節を行うという方式を選択することも可能である。また、ルーティング先がスプーフィングを適用している場合は、バッファ内のデータ量が一定の割合を超えた場合、ＡＣＫ返信の速度を下げて、対応するという実装も可能である。
【００６３】
ステップＳ２０４にて、上述したようなアルゴリズムに基づき、決定したスプーフィングのＯＮ／ＯＦＦを、図８に例示するようにルート情報とともに記録する。
【００６４】
図８のテーブルは、フロー番号列にて示されたフローラベルによって一意に識別できるＩＰ通信のフローごとに決定されたルート情報を管理する。ルーティング項目は、図７記載の次のルーティング先を示す。また、ＲＴＴ項目はルーティング項目にて示されたルーティング先との間のセグメントにおけるＲＴＴ、障害率項目は同セグメントにおける障害率、スループット項目は同セグメントにおける回線のバンド幅に対するパーセンテージを示す。そして、スプーフィング項目は同セグメントにおいてスプーフィング機能をＯＮとするかＯＦＦとするかの情報を示す。ここで、スループット項目の値として回線のバンド幅に対するパーセンテージを用いているが、実施の形態１のように、スループットの数値自体を用いることも可能である。
【００６５】
図８では、たとえば、フローラベルに対応するフロー番号がフロー１の通信は、送信装置１に接続されているＳＧ２ａからＳＧ２ｎへルーティングされ、ＳＧ２ａとＳＧ２ｎとの間にあるセグメントのＲＴＴが５７０ｍｓｅｃ、障害率が０．０２％、スループットが３０Ｍビットであり、スプーフィング機能がＯＮに設定されていることを示す。
【００６６】
ステップＳ２０４終了後、ステップＳ２０５にて、ステップＳ２０４で決定したスプーフィングのＯＮ／ＯＦＦを該当するゲートウェイ（たとえば、ＳＧ２ａ）に設定する。この設定方法としては、たとえば、該当するゲートウェイに向けて、フローラベルごとのスプーフィングを行うか否かの情報、対象とするフローラベル情報及びスプーフィングのＯＮ／ＯＦＦ情報を入れた特別なＩＰ上のパケットを送信し、このパケットを受信したゲートウェイ側では、パケットに含まれる情報に基づいてスプーフィングの設定を行うなどの方法が可能である。具体的には、以下のようにＩＰパケットのヘッダ部に含まれるプロトコルフィールドと、データ部を用いる。
【００６７】
スプーフィング機能のＯＮ／ＯＦＦに関する特別なＩＰパケットは、ＩＰヘッダ部の情報として、宛先ＩＰアドレスにスプーフィング設定の対象となるゲートウェイのＩＰアドレス、プロトコルフィールドにユーザ指定可能な番号“１０１”から“２５４”の間の２つの番号を格納する。この２つの番号は、システム内でＯＮ／ＯＦＦ用のプロトコルとして用いるものを定め、その値を使用する。また、ＩＰパケットのデータ部には、たとえば、情報位置を識別可能な場所（たとえば、ＩＰヘッダの直後の位置）に２４ビットのデータとして、スプーフィングのＯＮ／ＯＦＦを設定する対象のフローを識別するフローラベルを入れる。
【００６８】
ここで、たとえば、“１０１”をＯＮ用に、“１０２”をＯＦＦ用に割り当てるとする。パケットを受け取ったゲートウェイは、ＩＰアドレスを見て自宛か否かを判断し、自宛であった場合は、プロトコルフィールドを見てＯＮ／ＯＦＦに関するものか否か（“１０１”あるいは“１０２”のいずれかであるか否かを）を判定する。プロトコル番号が“１０１”あるいは“１０２”であった場合は、この特別なＩＰパケットのデータ部の先頭２４ビットを見て、配信管理テーブル２０８上で一致するフローラベルがあるかを判定する。一致するフローラベルがあった場合、配信管理テーブル２０８上の該当するフローに対して、プロトコル番号が“１０１”であった場合は、スプーフィング機能をＯＮに、“１０２”であった場合は、スプーフィング機能をＯＦＦに設定する。
【００６９】
ステップＳ２０５終了後、ステップＳ２０６にて、図８に例示するようなテーブルに、フローごとの経路及びスプーフィング情報を保存する。その後、ステップＳ２０７にて、パケットをルート情報に基づいて送信するよう、通信部１０１に要求する。
【００７０】
ステップＳ２０８にて、ステップＳ２０７で送信したパケットが、ＴＣＰ通信におけるＦｉｎパケットであるかにより、通信終了か否かを判定する。通信終了ではないと判定された場合、次のパケットの送信を行うために、ステップＳ２０１へと戻り、Ｆｉｎパケット送信まで上記の処理を繰り返す。一方、ステップＳ２０８にて、通信終了であると判定された場合、スプーフィング適用判定の一連の処理を終了する。この後、ＴＣＰ層における通信処理として、ＴＣＰ通信のＦｉｎパケットに対するＡＣＫ受信を待つ。Ｆｉｎ以降のパケットに対してはスプーフィングを行わない。
【００７１】
次に、ゲートウェイの例としてＳＧ２ａの動作について説明する。図７に示す他の全てのゲートウェイ（ＳＧ２ｂ、ＳＧ２ｃ、…、ＳＧ２ｎ）も、以下に説明するＳＧ２ａと同等の機能を持つ。
【００７２】
送信装置１からのデータパケットが通信回線４を介してＳＧ２ａに送信されると、ＳＧ２ａの第１通信部２０１は、このパケットを受信する。ＳＧ２ａは、受信したパケットをｔｍｐＡＣＫバッファ２０６に一時的に蓄積するとともに、配信管理テーブル２０８に当該データパケットのエントリを追加する。そして、ＳＧ２ａは通信系５を介して、このデータパケットを受信装置３へ向けて、次のルーティング先であるＳＧ２ｂへと転送する。
【００７３】
図９は、ＳＧ２ａが送信装置１からパケットを受信した際のＳＧ配信管理部２０７の動作を示したフロー図である。また、ＳＧ２ａが受信装置３からパケットを受信した際のＳＧ配信管理部２０７の動作は、実施の形態１と同様に、図５に示したフロー図の通りである。
【００７４】
ＳＧ２ａは、パケットを受信すると、ステップＳ９０１にて、そのパケットが前述したようなスプーフィング機能のＯＮ／ＯＦＦに関する特別なＩＰパケットであるかどうかを判定する。受信したパケットがスプーフィング機能のＯＮ／ＯＦＦに関する特別なＩＰパケットである場合は、そのパケットに含まれるフローラベルを取り出す。次に、ステップＳ９１０にてそのフローラベルによって特定されるフローが配信管理テーブル２０８に登録されているかを判定する。そのフローが登録されていなければ、ステップＳ９１１にて配信管理テーブル２０８に新規フローの情報の登録を行う。新規フローの登録を行うか、配信管理テーブル２０８に当該フローが登録済であれば、受信した特別なＩＰパケットの内容に応じて、ステップＳ９１２にて配信管理テーブル２０８を更新する。配信管理テーブル２０８を更新する際、ＳＧ配信管理部２０７は配信データ記録部２０９にデータの更新を要求する。
【００７５】
図１０は、各ゲートウェイが持つ配信管理テーブル２０８の例である。
【００７６】
図１０において、「送信元ＩＰ」、「宛先ＩＰ」、「送信元ポート番号」、「宛先ポート番号」、「フローラベル」は、スプーフィングの対象とするＴＣＰ通信に関する情報を示す。「送信元ＩＰ」はスプーフィング対象のＴＣＰ通信の送信元ＩＰアドレス、「宛先ＩＰ」は宛先ＩＰアドレスを示す。また、「フローラベル」はこの通信を一意に識別する。
【００７７】
図１０において、「スプーフィング」はこのフローでスプーフィングを行うか行わないかを示す。「パケット番号」はこのフローに属する受信（転送）済パケットのパケット番号、「ｔｍｐＡＣＫ送信」はｔｍｐＡＣＫの返信を行っているかどうか、「ＡＣＫ受信状態」は宛先あるいはその中継ゲートウェイからのＡＣＫが受信済であるかどうかを示す。
【００７８】
ステップＳ９１２にて配信管理テーブル２０８を更新する際には、配信管理テーブル２０８の「スプーフィング」の値を“ＯＮ”又は“ＯＦＦ”に設定する。
【００７９】
ステップＳ９０１にて、受信したパケットがスプーフィング機能のＯＮ／ＯＦＦに関する特別なＩＰパケットでなかった場合は、ステップＳ９０２に進む。ステップＳ９０２では、受信したパケットの属するフローが配信管理テーブル２０８に登録されているか否かを見て、新規スプーフィング対象フローの登録処理を行うかどうかを判定する。新規スプーフィング対象のフローであると判定されると、ステップＳ９０７にて配信管理テーブル２０８に該当する情報の登録を行い、ステップＳ９０９にて第２通信部２０２に次のルーティング先へパケットを転送させる。
【００８０】
一方、ステップＳ９０２にて、受信したパケットがすでに配信管理テーブル２０８に登録済のフローに属するパケットであると判定されると、ステップＳ９０３にてスプーフィング対象とするかどうかを判定する。配信管理テーブル２０８において、そのフローの「スプーフィング」が“ＯＦＦ”となっている（スプーフィング対象ではない）場合、第２通信部２０２に次のルーティング先へパケットを転送させ、処理を終了する。
【００８１】
一方、配信管理テーブル２０８において、当該フローの「スプーフィング」が“ＯＮ”となっている（スプーフィング対象である）場合、ステップＳ９０４にて、受信したパケットがＳｙｎパケットか否かの判定を行う。Ｓｙｎパケットであった場合は、Ｓｙｎパケット情報を配信管理テーブル２０８へと追加する。Ｓｙｎパケットではない場合は、ステップＳ９０５にて、そのパケットがＦｉｎパケットか否かを判定する。Ｆｉｎパケットであった場合は、そのフローの情報を配信管理テーブル２０８から削除し、処理を終了する。ここで、そのフローの情報を配信管理テーブル２０８から削除する代わりに、そのフローの「スプーフィング」を“ＯＦＦ”に設定してもよい。
【００８２】
一方、Ｆｉｎパケットではない場合は、そのパケットはデータパケットだと判定され、ステップＳ９０６にてｔｍｐＡＣＫを返送し、データパケットをｔｍｐＡＣＫバッファ２０６に一時的に保存する。ここで、本実施の形態では、一つのフローにおいて異なる経路を通って送信されるパケットはないため、このデータパケットに対して、一つ前のパケットまでの送達確認を行うことが可能なｔｍｐＡＣＫが作成される。このｔｍｐＡＣＫを作成するのはｔｍｐＡＣＫ作成部２０５であり、作成されたｔｍｐＡＣＫは第１通信部２０１によって送信される。最後に、ＳＧ配信管理部２０７は、第２通信部２０２に次のルーティング先へパケットを転送させ、処理を終了する。
【００８３】
ＳＧ２ａは、受信装置３が送信したＡＣＫ（配信管理テーブル２０８に登録されているフローの「宛先ＩＰ」の「宛先ポート番号」から「送信元ＩＰ」の「送信元ポート番号」に向けたパケット）を受信すると、ステップＳ５０１にて、ｔｍｐＡＣＫが送信済か否かを判定する。ｔｍｐＡＣＫがまだ送信されていない場合、ステップＳ５０５にて、第１通信部２０１に受信したＡＣＫを転送させ、処理を終了する。
【００８４】
一方、ｔｍｐＡＣＫが送信済であると判定された場合、ステップＳ５０２にて受信確認済のパケットがあるか否かを判定する。ここでは、ＴＣＰの通常の送達確認応答を用いた確認などと同様のアルゴリズムに従い、受信したＡＣＫを元に確認処理を行う。宛先である受信装置３における受信が確認されたパケットがあれば、ステップＳ５０３にて配信管理テーブル２０８の「ＡＣＫ受信状態」を更新し、ステップＳ５０４にて再送のためにｔｍｐＡＣＫバッファ２０６に一時保存しておいたデータパケットを削除する。
【００８５】
ＳＧ２ａ、通信系５、ＳＧ２ｎを介し、受信装置３に至るまでの経路のどこかで、データパケットの転送に失敗し、受信装置３においてデータパケットの受信を行うことができなかったとする。この時、該当するパケットを受け取れなかった受信装置３あるいはゲートウェイは、転送に失敗したパケットの前のパケットに対する同一の送達確認応答を３つ続けて送信する。一方、転送に失敗したセグメントにパケットの送信を行ったいずれかのゲートウェイは、受信装置３あるいは次のルーティング先から同一の送達確認応答を３つ続けて受信すると、当該パケットの再送を行う。
【００８６】
以上のように、本実施の形態では、フローごとにＴＣＰ  Ｓｐｏｏｆｉｎｇを適応するか否かを決定しており、実施の形態１よりもさらにきめ細かなＴＣＰ  Ｓｐｏｏｆｉｎｇの使用や回線の有効利用が可能となる。
【００８７】
実施の形態３．
実施の形態２では、各ゲートウェイにおいて、フローごとにルートが固定であり、フローごとにスプーフィングのＯＮ／ＯＦＦを制御していた。一方、本実施の形態では、一つのフローにおいてルートを複数設定することが可能であり、フローごと、あるいはパケットごとにスプーフィングのＯＮ／ＯＦＦを制御する。
【００８８】
本実施の形態に係る配信管理システムの構成は、実施の形態２と同様に、図７に示したブロック図の通りとする。
【００８９】
初めに、送信装置１の動作について説明する。
【００９０】
図１１は、送信装置１がデータの送信処理を行う際の、スプーフィング適用制御部１０４の動作を示したフロー図である。本実施の形態において図１１に示す一連の処理は、送信装置１が行う通信のうち、ＴＣＰ上の通信に代表される輻輳制御を持ち、回線の輻輳以外の原因（回線の物理的な距離に起因する伝送遅延やエラー発生率の高さなど）により、宛先からの送達確認応答（ＡＣＫ）の到着の遅延が起こり、結果としてスループットの低下を招く可能性のあるプロトコルを用いたものに適用する。従って、送信装置１は少なくとも、上記のＴＣＰに代表されるような輻輳制御機構を備えた（即ち、スプーフィングの効果のある）通信が可能なものとする。
【００９１】
まず、送信装置１の通信部１０１においてパケット送信処理が開始されると、ステップＳ１１０１において、送信しようとしているパケットを含む通信が、現在通信中の宛先に対する通信か否か（つまりこのパケットと同じ宛先への通信に関する情報を送信装置１が既に管理しているか）、あるいは既に情報を管理している通信であっても通信上の設定を見直すべきであるかを判定する。この情報の見直しをすべきかどうかの判定は、タイマを持ち一定時間ごとの再チェックを行う方法や、品質を測る基準を設け一定基準より品質が下がった場合に再チェックフラグを立てそのフラグの状態を見て判断を行う方法が考えられる。品質を測る基準には、たとえばスループット、ＲＴＴ（パケットを出し応答が返ってくるまでの間の時間）あるいは障害率（パケットロスの率）などを用いる。スプーフィングのＯＮ／ＯＦＦのアルゴリズムとしては、ＲＴＴを用いる場合、ＴＣＰのタイムアウト値よりＲＴＴが長い時は、スプーフィングを適用すると決定する、あるいは障害率を加味したＲＴＴ（たとえば、ＲＴＴと障害率の積）を用いて決定するなどの方法が考えられる。ステップＳ１１０１にて、初回探索あるいは設定の見直しを行うと判定された場合（ステップＳ１１０１にてＹｅｓ）、ステップＳ１１０２へ進み、初回探索でもなく、設定の見直しも必要が無い場合（ステップＳ１１０１にてＮｏ）はステップＳ１１１４へと進む。
【００９２】
ステップＳ１１０２において、ＲＩＰ（Ｒｏｕｔｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）などを用いて、宛先までのルート探索を行い、ステップＳ１１０３にてルートがフローごとに固定されているかどうかを判定する。ルートが固定されている場合、ステップＳ１１０４にてルート情報の決定処理を行う。ステップＳ１１０４においては、データ送信元である送信装置１が保持するルートマップ１０２へ決定したルート情報を記録し、かつ経路上にあるゲートウェイに対し、ルーティング情報を設定する。ルーティング情報としては、少なくとも通信の識別情報（ＩＰとポートの組み合わせなど）及び次のルーティング先の情報を設定する。
【００９３】
ステップＳ１１０４終了後、ステップＳ１１０５にてルート上の各ゲートウェイについて、スプーフィング機能のＯＮ／ＯＦＦを決定する。この決定には、実施の形態２と同様に図８に示すような、各ゲートウェイとそれぞれの次のルーティング先との間のセグメントの情報を用いて決定する。
【００９４】
ステップＳ１１０５にて、実施の形態２と同様のアルゴリズムに基づき、決定したスプーフィングのＯＮ／ＯＦＦを、図８に例示するようにルート情報とともに記録する。
【００９５】
図８のテーブルは、実施の形態２と同様に、フロー番号列にて示されたフローラベルによって一意に識別できるＩＰ通信のフローごとに決定されたルート情報を管理する。
【００９６】
ステップＳ１１０５終了後、ステップＳ１１０６にて、ステップＳ１１０５で決定したスプーフィングのＯＮ／ＯＦＦを該当するゲートウェイ（たとえば、ＳＧ２ａ）に設定する。この設定方法としては、たとえば、該当するゲートウェイに向けて、フローラベルごとのスプーフィングを行うか否かの情報、対象とするフローラベル情報及びスプーフィングのＯＮ／ＯＦＦ情報を入れた特別なＩＰ上のパケットを送信し、このパケットを受信したゲートウェイ側では、パケットに含まれる情報に基づいてスプーフィングの設定を行うなどの方法が可能である。スプーフィング機能のＯＮ／ＯＦＦに関する特別なＩＰパケットの具体的な内容と使用方法については、実施の形態２と同様である。
【００９７】
ステップＳ１１０６終了後、ステップＳ１１０７にて、図８に例示するようなテーブルに、フローごとの経路及びスプーフィング情報を保存する。その後、ステップＳ１１１５にて、パケットをルート情報に基づいて送信するよう、通信部１０１に要求する。ステップＳ１１１４にて、ルートがフローごとに固定されている場合も、同様に、パケットをルート情報に基づいて送信するよう、通信部１０１に要求する。
【００９８】
一方、ステップＳ１１０３にて、ルートがフローごとに固定されていない場合、ステップＳ１１０２で検索された一つ以上のルートを、ステップＳ１１０８にて保存する。次に、ステップＳ１１０９にて、これから送信するパケットのルートを、ステップＳ１１０８で保存したルートの中から決定する。パケットごとのルートの決定には、次のルーティング先として選択可能なセグメントのスループットの割合に応じて設定するという方式などが利用可能である。たとえば、ＳＧ２ａから次のセグメントとして選択可能なものがＪ、Ｋ、Ｌと３つあり、それぞれのスループットの比率が１：２：４であった場合、連続したパケットａ、ｂ、ｃ、ｄ、ｅ、ｆ、ｇ、ｈを、パケットａをセグメントＪへ、パケットｂ及びｃをセグメントＫへ、パケットｄ、ｅ、ｆ、ｇ、ｈをＬへと送信するというアルゴリズムになる。ステップＳ１１１４にて、ルートがフローごとに固定されていない場合も、同様に、パケットごとのルートの決定を行う。
【００９９】
ステップＳ１１０９終了後、ステップＳ１１１０にてルート上の各ゲートウェイについて、スプーフィング機能のＯＮ／ＯＦＦを決定する。この決定には、図１２に示すような、各ゲートウェイとそれぞれの次のルーティング先との間のセグメントの情報を用いて決定する。
【０１００】
図８のテーブルでは、フローごとに通信ルートを固定とする方式を用いているが、図１２のテーブルでは、パケットごとにルーティングを決定する方式を用いている。通信ルートを固定とするか、パケットごとにルーティングを決定する（通信状況に応じてルーティングを変更する）かは、たとえば送信装置１において、設定をフラグとして持つなどの方式で実装可能である。また、送信装置１が２つの方式のうちいずれかを選択可能とすることも可能である。パケットごとにルーティングを決定する場合、各パケットのルート情報は、たとえばパケットのＩＰヘッダのルートに関するオプションを用いて設定することが可能である。
【０１０１】
本実施の形態のパケットごとにルーティングを決定する方式では、たとえば、遅延が３００ｍｓｅｃ（ミリ秒）以上で、障害率が０．１％以下の場合はスプーフィングを適用するというようなアルゴリズムを用いる。また、回線上での障害（無線での陰の影響など）とルーティング先のゲートウェイにおけるバッファオーバーフローを区別するために、障害率を加味する場合は別途、バッファオーバーフローの情報を取得するという方式を取り入れることも可能である。たとえば、このために、受信用のバッファが一定の割合を超えたときに、警告情報を出し、その情報に基づき、スループットの調節を行うという方式を選択することも可能である。また、ルーティング先がスプーフィングを適用している場合は、バッファ内のデータ量が一定の割合を超えた場合、ＡＣＫ返信の速度を下げて、対応するという実装も可能である。
【０１０２】
ステップＳ１１１０にて、上述したようなアルゴリズムに基づき、決定したスプーフィングのＯＮ／ＯＦＦを、図１２に例示するようにルート情報とともに記録する。
【０１０３】
図１２において、ルーティング項目は、次に転送可能なルーティング先を示す。また、ＲＴＴ項目はルーティング項目にて示されたルーティング先との間のセグメントにおけるＲＴＴ、障害率項目は同セグメントにおける障害率、スループット項目は同セグメントにおける回線のバンド幅に対するパーセンテージを示す。そして、スプーフィング項目は同セグメントにおいてスプーフィング機能をＯＮとするかＯＦＦとするかの情報を示す。ここで、スループット項目の値として回線のバンド幅に対するパーセンテージを用いているが、実施の形態１のように、スループットの数値自体を用いることも可能である。
【０１０４】
図１２では、たとえば、送信装置１に接続されているＳＧ２ａのルーティング項目は、ルーティング先にＳＧ２ｂとＳＧ２ｎがあるということを示し、ＳＧ２ｂのルーティング項目は、ルーティング先にＳＧ２ｃとＳＧ２ｄと、図７に図示していないＳＧ２ｅがあることを示す。また、ＳＧ２ａのその他の項目は、ＳＧ２ａからＳＧ２ｎへのセグメントのＲＴＴが５７０ｍｓｅｃ、障害率が０．０２％、スループットが３０Ｍ（メガ）ビットであり、スプーフィング機能がＯＮに設定されていることを示す。
【０１０５】
ステップＳ１１１０終了後、ステップＳ１１１１にて、ステップＳ１１１０で決定したスプーフィングのＯＮ／ＯＦＦを該当するゲートウェイ（たとえば、ＳＧ２ａ）に設定する。この設定方法としては、たとえば、該当するゲートウェイに向けて、フローラベル情報をＮＵＬＬとし、スプーフィングのＯＮ／ＯＦＦ情報を入れた特別なＩＰ上のパケットを送信し、このパケットを受信したゲートウェイ側では、パケットに含まれる情報に基づいてスプーフィングの設定を行うなどの方法が可能である。スプーフィング機能のＯＮ／ＯＦＦに関する特別なＩＰパケットの具体的な内容と使用方法については、実施の形態１と同様である。
【０１０６】
ステップＳ１１１１終了後、ステップＳ１１１２にて、図１２に例示するようなテーブルに、スプーフィング情報を保存する。
【０１０７】
ステップＳ１１１２終了後、ステップＳ１１１３にて該当フローの取りうる経路上のゲートウェイでスプーフィング機能がＯＮとなっているものに対し、通信の進行状況（どこまでＡＣＫを受け取っているか）をそのフローのフローラベルとともに送付する。これに基づき、スプーフィングがＯＮとなっているゲートウェイは次に返信するｔｍｐＡＣＫを決定することが可能となる。その後、ステップＳ１１１５にて、パケットをルート情報に基づいて送信するよう、通信部１０１に要求する。
【０１０８】
ステップＳ１１１６にて、ステップＳ１１１５で送信したパケットが、ＴＣＰ通信におけるＦｉｎパケットであるかにより、通信終了か否かを判定する。通信終了ではないと判定された場合、次のパケットの送信を行うために、ステップＳ１１０１へと戻り、Ｆｉｎパケット送信まで上記の処理を繰り返す。一方、ステップＳ１１１６にて、通信終了であると判定された場合、スプーフィング適用判定の一連の処理を終了する。この後、ＴＣＰ層における通信処理として、ＴＣＰ通信のＦｉｎパケットに対するＡＣＫ受信を待つ。Ｆｉｎ以降のパケットに対してはスプーフィングを行わない。
【０１０９】
次に、ゲートウェイの例としてＳＧ２ａの動作について説明する。図７に示す他の全てのゲートウェイ（ＳＧ２ｂ、ＳＧ２ｃ、…、ＳＧ２ｎ）も、以下に説明するＳＧ２ａと同等の機能を持つ。
【０１１０】
送信装置１からのデータパケットが通信回線４を介してＳＧ２ａに送信されると、ＳＧ２ａの第１通信部２０１は、このパケットを受信する。ＳＧ２ａは、受信したパケットをｔｍｐＡＣＫバッファ２０６に一時的に蓄積するとともに、配信管理テーブル２０８に当該データパケットのエントリを追加する。そして、ＳＧ２ａは通信系５を介して、このデータパケットを受信装置３へ向けて、次のルーティング先であるＳＧ２ｂへと転送する。
【０１１１】
図１３は、ＳＧ２ａが送信装置１からパケットを受信した際のＳＧ配信管理部２０７の動作を示したフロー図である。また、ＳＧ２ａが受信装置３からパケットを受信した際のＳＧ配信管理部２０７の動作は、実施の形態１及び２と同様に、図５に示したフロー図の通りである。
【０１１２】
ＳＧ２ａは、パケットを受信すると、ステップＳ１３０１にて、そのパケットが前述したようなスプーフィング機能のＯＮ／ＯＦＦに関する特別なＩＰパケットであるかどうかを判定する。受信したパケットがスプーフィング機能のＯＮ／ＯＦＦに関する特別なＩＰパケットである場合、あるいは、そうでない場合でもステップＳ１３０２にてこのパケットが前述した通信の進行状況を示すパケットであると判定された場合は、そのパケットに含まれるフローラベルを取り出す。次に、ステップＳ１３１１にてそのフローラベルによって特定されるフローが配信管理テーブル２０８に登録されているかを判定する。そのフローが登録されていなければ、ステップＳ１３１２にて配信管理テーブル２０８に新規フローの情報の登録を行う。新規フローの登録を行うか、配信管理テーブル２０８に当該フローが登録済であれば、受信した特別なＩＰパケット又は通信進行状況を示すパケットの内容に応じて、ステップＳ１３１３にて配信管理テーブル２０８を更新する。配信管理テーブル２０８を更新する際、ＳＧ配信管理部２０７は配信データ記録部２０９にデータの更新を要求する。
【０１１３】
図１４は、各ゲートウェイが持つ配信管理テーブル２０８の例である。
【０１１４】
図１４において、「送信元ＩＰ」、「宛先ＩＰ」、「送信元ポート番号」、「宛先ポート番号」、「フローラベル」は、スプーフィングの対象とするＴＣＰ通信に関する情報を示す。「送信元ＩＰ」はスプーフィング対象のＴＣＰ通信の送信元ＩＰアドレス、「宛先ＩＰ」は宛先ＩＰアドレスを示す。また、「フローラベル」はこの通信を一意に識別する。
【０１１５】
図１４において、「スプーフィング方法」はフローごとにスプーフィングのＯＮ／ＯＦＦを制御するか、あるいはパケットごとにスプーフィングのＯＮ／ＯＦＦを制御するかを示す。「スプーフィング」は各フロー又はパケットでスプーフィングを行うか行わないかを示す。ここで、「スプーフィング」を省略し、「スプーフィング方法」が“パケット単位”または“フロー単位”に設定されていれば、スプーフィングはＯＮ、何も設定されていなければ、スプーフィングはＯＦＦとすることも可能である。「パケット番号」はこのフローに属する受信（転送）済パケットのパケット番号、「ｔｍｐＡＣＫ送信」はｔｍｐＡＣＫの返信を行っているかどうか、「ＡＣＫ受信状態」は宛先あるいはその中継ゲートウェイからのＡＣＫが受信済であるかどうかを示す。
【０１１６】
ステップＳ１３１３にて配信管理テーブル２０８を更新する際には、配信管理テーブル２０８の「スプーフィング」の値を“ＯＮ”又は“ＯＦＦ”に設定する。
【０１１７】
ステップＳ１３０２にて、受信したパケットが通信の進行状況を示すパケットでなかった場合は、ステップＳ１３０３に進む。ステップＳ１３０３では、受信したパケットの属するフローが配信管理テーブル２０８に登録されているか否かを見て、新規スプーフィング対象フローの登録処理を行うかどうかを判定する。新規スプーフィング対象のフローであると判定されると、ステップＳ１３０８にて配信管理テーブル２０８に該当する情報の登録を行い、ステップＳ１３１０にて第２通信部２０２に次のルーティング先へパケットを転送させる。
【０１１８】
一方、ステップＳ１３０３にて、受信したパケットがすでに配信管理テーブル２０８に登録済のフローに属するパケットであると判定されると、ステップＳ１３０４にてスプーフィング対象とするかどうかを判定する。配信管理テーブル２０８において、そのフローの「スプーフィング」が“ＯＦＦ”となっている（スプーフィング対象ではない）場合、第２通信部２０２に次のルーティング先へパケットを転送させ、処理を終了する。
【０１１９】
一方、配信管理テーブル２０８において、当該フローの「スプーフィング」が“ＯＮ”となっている（スプーフィング対象である）場合、ステップＳ１３０５にて、受信したパケットがＳｙｎパケットか否かの判定を行う。Ｓｙｎパケットであった場合は、Ｓｙｎパケット情報を配信管理テーブル２０８へと追加する。Ｓｙｎパケットではない場合は、ステップＳ１３０６にて、そのパケットがＦｉｎパケットか否かを判定する。Ｆｉｎパケットであった場合は、そのフローの情報を配信管理テーブル２０８から削除し、処理を終了する。
【０１２０】
一方、Ｆｉｎパケットではない場合は、そのパケットはデータパケットだと判定され、ステップＳ１３０７にてｔｍｐＡＣＫを返送し、データパケットをｔｍｐＡＣＫバッファ２０６に一時的に保存する。ここで、本実施の形態では、このデータパケットに対して、ＳＡＣＫ（Ｓｅｌｅｃｔｉｖｅ  ＡＣＫ）方式に基づき、一つ前のパケットまでの送達確認を行うことが可能なｔｍｐＡＣＫが作成される。このｔｍｐＡＣＫを作成するのはｔｍｐＡＣＫ作成部２０５であり、作成されたｔｍｐＡＣＫは第１通信部２０１によって送信される。最後に、ＳＧ配信管理部２０７は、第２通信部２０２に次のルーティング先へパケットを転送させ、処理を終了する。
【０１２１】
ＳＧ２ａは、受信装置３が送信したＡＣＫ（配信管理テーブル２０８に登録されているフローの「宛先ＩＰ」の「宛先ポート番号」から「送信元ＩＰ」の「送信元ポート番号」に向けたパケット）を受信すると、ステップＳ５０１にて、ｔｍｐＡＣＫが送信済か否かを判定する。ｔｍｐＡＣＫがまだ送信されていない場合、ステップＳ５０５にて、第１通信部２０１に受信したＡＣＫを転送させ、処理を終了する。
【０１２２】
一方、ｔｍｐＡＣＫが送信済であると判定された場合、ステップＳ５０２にて受信確認済のパケットがあるか否かを判定する。ここでは、ＳＡＣＫ方式のアルゴリズムに従い、受信したＡＣＫを元に確認処理を行う。宛先である受信装置３における受信が確認されたパケットがあれば、ステップＳ５０３にて配信管理テーブル２０８の「ＡＣＫ受信状態」を更新し、ステップＳ５０４にて再送のためにｔｍｐＡＣＫバッファ２０６に一時保存しておいたデータパケットを削除する。
【０１２３】
ＳＧ２ａ、通信系５、ＳＧ２ｎを介し、受信装置３に至るまでの経路のどこかで、データパケットの転送に失敗し、受信装置３においてデータパケットの受信を行うことができなかったとする。この時、該当するパケットを受け取れなかった受信装置３あるいはゲートウェイは、転送に失敗したパケットの前のパケットに対する同一の送達確認応答を３つ続けて送信する。一方、転送に失敗したセグメントにパケットの送信を行ったいずれかのゲートウェイは、受信装置３あるいは次のルーティング先から同一の送達確認応答を３つ続けて受信すると、当該パケットの再送を行う。
【０１２４】
以上のように、本実施の形態では、フローごと又はパケットごとにＴＣＰ  Ｓｐｏｏｆｉｎｇを適応するか否かを決定しており、実施の形態２よりもさらにきめ細かなＴＣＰ  Ｓｐｏｏｆｉｎｇの使用や回線の有効利用が可能となる。
【０１２５】
上記の実施の形態１から３では、送信装置１が配信管理装置を兼ねているが、これはたとえば送信装置１が配信装置と同じ筐体に実装されるなどといった方法で実現可能である。また、送信装置１は必ずしも配信管理装置を兼ねる必要はなく、配信管理装置が送信装置１とは別の筐体に実装されたり、それぞれが物理的に離れて配置されたり、あるいは、配信管理装置が上記配信管理システムの他の装置と同じ筐体に実装されてもよい。
【０１２６】
前述した各実施の形態で、送信装置１、ＳＧ２ａ、ＳＧ２ｂ、ＳＧ２ｃ、ＳＧ２ｄ、…、ＳＧ２ｎ、受信装置３は、コンピュータで実現できるものである。
図示していないが、送信装置１、ＳＧ２ａ、ＳＧ２ｂ、ＳＧ２ｃ、ＳＧ２ｄ、…、ＳＧ２ｎ、受信装置３は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えている。
【０１２７】
例えば、ＣＰＵは、バスを介して、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、通信ボード、表示装置、Ｋ／Ｂ（キーボード）、マウス、ＦＤＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＣＤＤ（コンパクトディスクドライブ）、磁気ディスク装置、光ディスク装置、プリンタ装置、スキャナ装置等と接続されている。
ＲＡＭは、揮発性メモリの一例である。ＲＯＭ、ＦＤＤ、ＣＤＤ、磁気ディスク装置、光ディスク装置は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
前述した各実施の形態の送信装置１、ＳＧ２ａ、ＳＧ２ｂ、ＳＧ２ｃ、ＳＧ２ｄ、…、ＳＧ２ｎ、受信装置３が扱うデータや情報は、記憶装置あるいは記憶部に保存され、送信装置１、ＳＧ２ａ、ＳＧ２ｂ、ＳＧ２ｃ、ＳＧ２ｄ、…、ＳＧ２ｎ、受信装置３の各部により、記録され読み出されるものである。
【０１２８】
また、通信ボードは、例えば、ＬＡＮ、インターネット、或いはＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）に接続されている。
【０１２９】
磁気ディスク装置には、オペレーティングシステム（ＯＳ）、ウィンドウシステム、プログラム群、ファイル群（データベース）が記憶されている。
プログラム群は、ＣＰＵ、ＯＳ、ウィンドウシステムにより実行される。
【０１３０】
上記送信装置１、ＳＧ２ａ、ＳＧ２ｂ、ＳＧ２ｃ、ＳＧ２ｄ、…、ＳＧ２ｎ、受信装置３の各部は、一部或いはすべてコンピュータで動作可能なプログラムにより構成しても構わない。或いは、ＲＯＭに記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェア或いは、ハードウェア或いは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実施されても構わない。
【０１３１】
上記プログラム群には、実施の形態の説明において「〜部」として説明した処理をＣＰＵに実行させるプログラムが記憶される。これらのプログラムは、例えば、Ｃ言語やＨＴＭＬやＳＧＭＬやＸＭＬなどのコンピュータ言語により作成される。
【０１３２】
また、上記プログラムは、磁気ディスク装置、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）、光ディスク、ＣＤ（コンパクトディスク）、ＭＤ（ミニディスク）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のその他の記録媒体に記憶され、ＣＰＵにより読み出され実行される。
【０１３３】
上記実施の形態１から３において説明した配信管理システムは、
送達確認応答の受信を用いて輻輳の有無を判断し、スループットを調節するプロトコルを用いた通信において、通信区間を、複数のセグメントに分け、各セグメントの入り口にパケットの宛先からの送達確認応答と同等のものを、作成返送を行う（ＴＣＰ  Ｓｐｏｏｆｉｎｇ）ゲートウェイを設置し、セグメントごとに前記ＴＣＰ  Ｓｐｏｏｆｉｎｇの適用を決定できることを特徴とする。
【０１３４】
また、上記実施の形態１から３において説明した配信管理装置は、
一つの通信（例えばフローラベルなどで管理）における通信区間を、複数のセグメントに分け、セグメント毎にＴＣＰ  Ｓｐｏｏｆｉｎｇの適用を決定できることを特徴とする。これにより、例えば通信区間において、伝送遅延、障害発生率などにおいて、異なる特徴をもつ複数回線を含む通信に対し、リアルタイムの回線状況や回線の特性に応じた、よりきめ細かな制御が可能となる。
【０１３５】
また、上記配信管理システムは、
経路情報を用いて、通信区間を、複数のセグメントに分け、各セグメントの入り口に設置されたパケットの宛先からの送達確認応答と同等のものを、作成返送を行う（ＴＣＰ  Ｓｐｏｏｆｉｎｇ）ゲートウェイを設置し、セグメントごとに前記ＴＣＰ  Ｓｐｏｏｆｉｎｇの適用を決定できることを特徴とする。
【０１３６】
また、上記配信管理システムは、
「障害率」情報を利用し、経路上のセグメント毎にＴＣＰ  Ｓｐｏｏｆｉｎｇの適用を決定できることを特徴とする。
【０１３７】
また、上記配信管理システムは、
「ＲＴＴ」情報を利用し、経路上のセグメント毎にＴＣＰ  Ｓｐｏｏｆｉｎｇの適用を決定できることを特徴とする。
【０１３８】
また、上記配信管理システムは、
コネクション単位でスプーフィングのＯｎ／ＯＦＦを決定できることを特徴とする。
【０１３９】
また、上記配信管理装置は、
コネクション単位でリモートから、各（ＴＣＰ  Ｓｐｏｏｆｉｎｇを行う）ゲートウェイに対し、スプーフィングのＯｎ／ＯＦＦを決定できることを特徴とする。
【０１４０】
また、上記配信管理システムは、
コネクション単位でリモートから、各（ＴＣＰ  Ｓｐｏｏｆｉｎｇを行う）ゲートウェイに対し、スプーフィングのＯｎ／ＯＦＦを決定できることを特徴とする。
【０１４１】
また、上記配信管理装置は、
通信状態を監視し、通信状況に応じて、コネクション単位でリモートからのスプーフィングのＯｎ／ＯＦＦを決定できることを特徴とする。
【０１４２】
また、上記配信管理装置は、
パケット毎にルーティングを設定することにより、フロー制御の最適化を行うことを特徴とする。
【０１４３】
また、上記配信管理システムは、
パケット毎にルーティングを設定することにより、フロー制御の最適化を行うことを特徴とする。
【０１４４】
また、上記配信管理装置は、
選択しうる、次のルーティング先の経路状況情報を用いて、パケットルーティングを選択することにより、パケット毎にＴＣＰ  Ｓｐｏｏｆｉｎｇの適用を決定できることを特徴とする。
【０１４５】
また、上記配信管理システムは、
選択しうる、次のルーティング先の経路状況情報を用いて、パケットルーティングを選択することにより、パケット毎にＴＣＰ  Ｓｐｏｏｆｉｎｇの適用を決定できることを特徴とする。
【図面の簡単な説明】
【０１４６】
【図１】実施の形態１に係る配信管理システムの構成を示すブロック図。
【図２】実施の形態１及び２の送信装置１におけるスプーフィング適用制御部１０４の動作を示すフロー図。
【図３】実施の形態１の送信装置１におけるルートマップ１０２とスプーフィング適用ＳＧ管理テーブル１０３をまとめたテーブルの例。
【図４】実施の形態１のＳＧ２ａにおけるＳＧ配信管理部２０７のパケット転送処理の動作を示すフロー図。
【図５】実施の形態１から３のＳＧ２ａにおけるＳＧ配信管理部２０７のＡＣＫ受信時の動作を示すフロー図。
【図６】実施の形態１のＳＧ２ａにおける配信管理テーブル２０８の例。
【図７】実施の形態２及び３に係る配信管理システムの構成を示すブロック図。
【図８】実施の形態２及び３の送信装置１におけるルートマップ１０２とスプーフィング適用ＳＧ管理テーブル１０３をまとめたテーブルの例。
【図９】実施の形態２のＳＧ２ａにおけるＳＧ配信管理部２０７のパケット転送処理の動作を示すフロー図。
【図１０】実施の形態２のＳＧ２ａにおける配信管理テーブル２０８の例。
【図１１】実施の形態３の送信装置１におけるスプーフィング適用制御部１０４の動作を示すフロー図。
【図１２】実施の形態３の送信装置１におけるルートマップ１０２とスプーフィング適用ＳＧ管理テーブル１０３をまとめたテーブルの例。
【図１３】実施の形態３のＳＧ２ａにおけるＳＧ配信管理部２０７のパケット転送処理の動作を示すフロー図。
【図１４】実施の形態３のＳＧ２ａにおける配信管理テーブル２０８の例。
【符号の説明】
【０１４７】
１  送信装置、２  ＳＧ、３  受信装置、４  通信回線、５  通信系、１０１  通信部、１０２  ルートマップ、１０３  スプーフィング適用ＳＧ管理テーブル、１０４  スプーフィング適用制御部、２０１  第１通信部、２０２  第２通信部、２０３  送信バッファ、２０４  受信バッファ、２０５  ｔｍｐＡＣＫ作成部、２０６  ｔｍｐＡＣＫバッファ、２０７  ＳＧ配信管理部、２０８  配信管理テーブル、２０９  配信データ記録部、２１０  第３通信部。
【図１】
2006074104.tif 000003
【図２】
2006074104.tif 000004
【図３】
2006074104.tif 000005
【図４】
2006074104.tif 000006
【図５】
2006074104.tif 000007
【図６】
2006074104.tif 000008
【図７】
2006074104.tif 000009
【図８】
2006074104.tif 000010
【図９】
2006074104.tif 000011
【図１０】
2006074104.tif 000012
【図１１】
2006074104.tif 000013
【図１２】
2006074104.tif 000014
【図１３】
2006074104.tif 000015
【図１４】
2006074104.tif 000016