(57)【特許請求の範囲】
【請求項１】
送信装置から受信装置宛てに送信されたパケットを、通信ネットワークを介して接続されている送信側中継装置と受信側中継装置との間でＴＣＰ／ＩＰに従って転送するパケット転送システムであって、
前記送信側中継装置は、
前記送信装置から送信されたパケットからデータを抽出し、各パケットに含まれるデータが統合されたパケットデータストリームを構成し、
前記パケットデータストリームから予め定められた所定ブロックサイズのデータブロックを取り出し、
前記データブロックを誤り訂正符号で符号化した冗長ブロックを生成し、
前記データブロック及び前記冗長ブロックを統合した誤り訂正データストリームを生成し、
前記誤り訂正データストリームを分割し、各分割データにＴＣＰ／ＩＰヘッダを付した転送用パケットを前記受信側中継装置へ送信し、
前記受信側中継装置から前記転送用パケットの再送要求を受信すると、要求に応じた前記転送用パケットを前記受信側中継装置に再送し、
前記受信側中継装置は、
前記送信側中継装置から送信された前記転送用パケットを受信し、
前記転送用パケットから前記ＴＣＰ／ＩＰヘッダが除去された前記誤り訂正データストリームを構築し、
前記送信側中継装置から送信されたデータのなかに受信できなかった欠損データがある場合には、前記誤り訂正データストリームに含まれる前記冗長ブロックを用いて前記欠損データを復元し、前記誤り訂正データストリームから前記冗長ブロックを除去した前記パケットデータストリームを構築し、
構築した前記パケットデータストリームを前記送信装置から送信されたパケットごとに分割し、分割後のデータがパケット化されたパケットを前記受信装置へ送信し、
前記冗長ブロックを用いても前記欠損データが復元できないときは、前記送信側中継装置に対して前記欠損データの含まれている前記転送用パケットの再送要求を行う、
パケット転送システム。
【請求項２】
前記送信側中継装置は、
前記再送要求を受信すると、前記欠損データを前記受信側中継装置に再送するとともに、輻輳ウィンドウを制御する、
請求項１に記載のパケット転送システム。
【請求項３】
前記受信側中継装置は、
前記冗長ブロックを用いて前記欠損データが復元できるとき、前記送信側中継装置に対して前記転送用パケットの再送要求を行わない、
請求項１又は２に記載のパケット転送システム。
【請求項４】
送信装置から受信装置宛てに送信されたパケットを、通信ネットワークを介して接続されている送信側中継装置と受信側中継装置との間でＴＣＰ／ＩＰに従って転送するパケット転送システムにおける前記送信側中継装置として機能する中継装置であって、
前記送信装置から送信されたパケットからデータを抽出し、各パケットに含まれるデータが統合されたパケットデータストリームを構成する機能と、
前記パケットデータストリームから予め定められた所定ブロックサイズのデータブロックを取り出し、
前記データブロックを誤り訂正符号で符号化した冗長ブロックを生成する機能と、
前記データブロック及び前記冗長ブロックを統合した誤り訂正データストリームを生成する機能と、
前記誤り訂正データストリームを分割し、各分割データにＴＣＰ／ＩＰヘッダを付した転送用パケットを前記受信側中継装置へ送信する機能と、
前記受信側中継装置から前記転送用パケットの再送要求を受信すると、要求に応じた前記転送用パケットを前記受信側中継装置に再送する機能と、
を備える中継装置。
【請求項５】
送信装置から受信装置宛てに送信されたパケットを、通信ネットワークを介して接続されている送信側中継装置と受信側中継装置との間でＴＣＰ／ＩＰに従って転送するパケット転送システムにおける前記受信側中継装置として機能する中継装置であって、
前記送信側中継装置は、
前記送信装置から送信されたパケットからデータを抽出し、各パケットに含まれるデータが統合されたパケットデータストリームを構成し、
前記パケットデータストリームから予め定められた所定ブロックサイズのデータブロックを取り出し、
前記データブロックを誤り訂正符号で符号化した冗長ブロックを生成し、
前記データブロック及び前記冗長ブロックを統合した誤り訂正データストリームを生成し、
前記誤り訂正データストリームを分割し、各分割データにＴＣＰ／ＩＰヘッダを付した転送用パケットを前記受信側中継装置へ送信し、
前記受信側中継装置から前記転送用パケットの再送要求を受信すると、要求に応じた前記転送用パケットを前記受信側中継装置に再送し、
前記受信側中継装置は、
前記送信側中継装置から送信された前記転送用パケットを受信する機能と、
前記転送用パケットから前記ＴＣＰ／ＩＰヘッダが除去された前記誤り訂正データストリームを構築する機能と、
前記送信側中継装置から送信されたデータのなかに受信できなかった欠損データがある場合には、前記誤り訂正データストリームに含まれる前記冗長ブロックを用いて前記欠損データを復元する機能と、
前記誤り訂正データストリームから前記冗長ブロックを除去した前記パケットデータストリームを構築する機能と、
構築した前記パケットデータストリームを前記送信装置から送信されたパケットごとに分割し、分割後のデータがパケット化されたパケットを前記受信装置へ送信する機能と、
前記冗長ブロックを用いても前記欠損データが復元できないときは、前記送信側中継装置に対して前記欠損データの含まれている前記転送用パケットの再送要求を行う機能と、
を備える中継装置。
【請求項６】
送信装置から受信装置宛てに送信されたパケットを、通信ネットワークを介して接続されている送信側中継装置と受信側中継装置との間でＴＣＰ／ＩＰに従って転送するパケット転送方法であって、
前記送信側中継装置は、
前記送信装置から送信されたパケットからデータを抽出し、各パケットに含まれるデータが統合されたパケットデータストリームを構成し、
前記パケットデータストリームから予め定められた所定ブロックサイズのデータブロックを取り出し、
前記データブロックを誤り訂正符号で符号化した冗長ブロックを生成し、
前記データブロック及び前記冗長ブロックを統合した誤り訂正データストリームを生成し、
前記誤り訂正データストリームを分割し、各分割データにＴＣＰ／ＩＰヘッダを付した転送用パケットを前記受信側中継装置へ送信し、
前記受信側中継装置から前記転送用パケットの再送要求を受信すると、要求に応じた前記転送用パケットを前記受信側中継装置に再送し、
前記受信側中継装置は、
前記送信側中継装置から送信された前記転送用パケットを受信し、
前記転送用パケットから前記ＴＣＰ／ＩＰヘッダが除去された前記誤り訂正データストリームを構築し、
前記送信側中継装置から送信されたデータのなかに受信できなかった欠損データがある場合には、前記誤り訂正データストリームに含まれる前記冗長ブロックを用いて前記欠損データを復元し、前記誤り訂正データストリームから前記冗長ブロックを除去した前記パケットデータストリームを構築し、
構築した前記パケットデータストリームを前記送信装置から送信されたパケットごとに分割し、分割後のデータがパケット化されたパケットを前記受信装置へ送信し、
前記冗長ブロックを用いても前記欠損データが復元できないときは、前記送信側中継装置に対して前記欠損データの含まれている前記転送用パケットの再送要求を行う、
パケット転送方法。
【請求項７】
コンピュータに、請求項４に記載の各機能を実現させるためのプログラム。
【請求項８】
コンピュータに、請求項５に記載の各機能を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット転送システム、中継装置、パケット転送方法及びプログラムに関する。
【背景技術】
【０００２】
代理装置を用いたパケット転送システムが提案されている（例えば、特許文献１参照。）。特許文献１のシステムは、送信ネットワーク機器１及び受信ネットワーク機器４がＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）プロトコルに従ってパケットを送受信すべきところ、送信ネットワーク機器１及び受信ネットワーク機器４に代理して、ＴＣＰサーバ２及びＴＣＰサーバ３がＴＣＰ／ＩＰプロトコルに従ったパケットを送受信する。これにより、送信ネットワーク機器１及び受信ネットワーク機器４におけるパケットの送受信を効率的に行うことを可能にする。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−３１２３５９号公報
【特許文献２】特開２００３−３１８８６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
通常、誤り符号によるデータ冗長はＵＤＰや、無線パケットなど、固定長データを複数Ｎ個に対し、１個の冗長パケットを作成し、送信することで行われる（例えば、特許文献２参照）。Ｎ個のデータのうち、１個が失われても、冗長パケットから失われたデータグラムを復元する。これに対し、ＴＣＰの場合は、ストリームデータであり、固定長ではない。また、ブロックという概念がないため、データの冗長化が困難であった。このため、ＴＣＰでは、パケットロス時にはパケット再送と輻輳制御を行う。しかし、高廃棄率環境において、パケットロス時にパケット再送を行うと、パケットの送受信を効率的に行うことはできない。特に長距離のＴＣＰ通信では、パケット再送を行うと遅延時間が影響し、パケットの転送効率が著しく低下する。
【０００５】
そこで、本発明は、高廃棄率環境においても、パケットの送受信を効率的に行うことを可能にすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るパケット転送システムは、
送信装置から受信装置宛てに送信されたパケットを、通信ネットワークを介して接続されている送信側中継装置と受信側中継装置との間でＴＣＰ／ＩＰに従って転送するパケット転送システムであって、
前記送信側中継装置は、
前記送信装置から送信されたパケットからデータを抽出し、各パケットに含まれるデータが統合されたパケットデータストリームを構成し、
前記パケットデータストリームから予め定められた所定ブロックサイズのデータブロックを取り出し、
前記データブロックを誤り訂正符号で符号化した冗長ブロックを生成し、
前記データブロック及び前記冗長ブロックを統合した誤り訂正データストリームを生成し、
前記誤り訂正データストリームを分割し、各分割データにＴＣＰ／ＩＰヘッダを付した転送用パケットを前記受信側中継装置へ送信し、
前記受信側中継装置から前記転送用パケットの再送要求を受信すると、要求に応じた前記転送用パケットを前記受信側中継装置に再送し、
前記受信側中継装置は、
前記送信側中継装置から送信された前記転送用パケットを受信し、
前記転送用パケットから前記ＴＣＰ／ＩＰヘッダが除去された前記誤り訂正データストリームを構築し、
前記送信側中継装置から送信されたデータのなかに受信できなかった欠損データがある場合には、前記誤り訂正データストリームに含まれる前記冗長ブロックを用いて前記欠損データを復元し、前記誤り訂正データストリームから前記冗長ブロックを除去した前記パケットデータストリームを構築し、
構築した前記パケットデータストリームを前記送信装置から送信されたパケットごとに分割し、分割後のデータがパケット化されたパケットを前記受信装置へ送信し、
前記冗長ブロックを用いても前記欠損データが復元できないときは、前記送信側中継装置に対して前記欠損データの含まれている前記転送用パケットの再送要求を行う。
【０００７】
本発明に係るパケット転送システムでは、前記受信側中継装置は、前記冗長データを用いても前記欠損データが復元できないとき、前記送信側中継装置に対して前記欠損データの再送要求を行い、前記送信側中継装置は、前記再送要求を受信すると、前記欠損データを前記受信側中継装置に再送するとともに、輻輳ウィンドウを制御してもよい。
【０００８】
本発明に係るパケット転送システムでは、前記受信側中継装置は、前記冗長データを用いて前記欠損データが復元できるとき、前記送信側中継装置に対して前記欠損データの再送要求を行わなくてもよい。
【０００９】
本発明に係る中継装置は、本発明に係るパケット転送システムに備わる送信側中継装置又は受信側中継装置として機能する。
【００１０】
本発明に係るパケット転送方法は、
送信装置から受信装置宛てに送信されたパケットを、通信ネットワークを介して接続されている送信側中継装置と受信側中継装置との間でＴＣＰ／ＩＰに従って転送するパケット転送方法であって、
前記送信側中継装置は、
前記送信装置から送信されたパケットからデータを抽出し、各パケットに含まれるデータが統合されたパケットデータストリームを構成し、
前記パケットデータストリームから予め定められた所定ブロックサイズのデータブロックを取り出し、
前記データブロックを誤り訂正符号で符号化した冗長ブロックを生成し、
前記データブロック及び前記冗長ブロックを統合した誤り訂正データストリームを生成し、
前記誤り訂正データストリームを分割し、各分割データにＴＣＰ／ＩＰヘッダを付した転送用パケットを前記受信側中継装置へ送信し、
前記受信側中継装置から前記転送用パケットの再送要求を受信すると、要求に応じた前記転送用パケットを前記受信側中継装置に再送し、
前記受信側中継装置は、
前記送信側中継装置から送信された前記転送用パケットを受信し、
前記転送用パケットから前記ＴＣＰ／ＩＰヘッダが除去された前記誤り訂正データストリームを構築し、
前記送信側中継装置から送信されたデータのなかに受信できなかった欠損データがある場合には、前記誤り訂正データストリームに含まれる前記冗長ブロックを用いて前記欠損データを復元し、前記誤り訂正データストリームから前記冗長ブロックを除去した前記パケットデータストリームを構築し、
構築した前記パケットデータストリームを前記送信装置から送信されたパケットごとに分割し、分割後のデータがパケット化されたパケットを前記受信装置へ送信し、
前記冗長ブロックを用いても前記欠損データが復元できないときは、前記送信側中継装置に対して前記欠損データの含まれている前記転送用パケットの再送要求を行う。
【００１１】
本発明に係るプログラムは、本発明に係る送信側中継装置又は受信側中継装置に備わる各機能を実現するためのプログラムである。
【発明の効果】
【００１２】
本発明によれば、発明は、高廃棄率環境においても、パケットの送受信を効率的に行うことを可能にすることができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態に係るパケット転送システムの構成例を示す。
【図２】送信側中継装置２０の動作の一例を示す。
【図３】冗長データの生成例を示す。
【図４】冗長ブロックの配置例を示す。
【図５】受信側中継装置３０の動作の一例を示す。
【図６】冗長データを用いた本実施形態に係るパケット転送手順の一例を示す。
【図７】データＤ１〜Ｄ５の一例を示す。
【図８】受信側中継装置３０における第１の欠損データの補完例を示す。
【図９】受信側中継装置３０における第２の欠損データの補完例を示す。
【図１０】実施形態２に係るパケット転送開始手順の一例を示す。
【図１１】実施形態３に係るデータ構造の一例を示す。
【図１２】実施形態３に係る欠損データの第１の補完例を示す。
【図１３】実施形態４に係る受信側中継装置３０における欠損データの補完例を示す。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。なお、本発明は、以下に示す実施形態に限定されるものではない。これらの実施の例は例示に過ぎず、本発明は当業者の知識に基づいて種々の変更、改良を施した形態で実施することができる。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
【００１５】
（実施形態１）
図１に、本実施形態に係るパケット転送システムの構成例を示す。本実施形態に係るパケット転送システムは、送信装置１０と、送信側中継装置２０と、受信側中継装置３０と、受信装置４０と、を備える。送信側中継装置２０と受信側中継装置３０は、通信ネットワークを介して接続されている。
【００１６】
送信装置１０は、パケットを送信する。
送信側中継装置２０は、送信装置１０の送信したパケットを受信側中継装置３０に転送する。
受信側中継装置３０は、送信側中継装置２０から受信したパケットを受信装置４０に転送する。
受信装置４０は、受信側中継装置３０からパケットを受信する。
【００１７】
送信装置１０から受信装置４０へのパケットの送信は、ＴＣＰ／ＩＰに従って行う。このとき、送信側中継装置２０が送信装置１０を代理し、受信側中継装置３０が受信装置４０を代理し、送信側中継装置２０と受信側中継装置３０がＴＣＰ／ＩＰに従ったメッセージの送受信を行う。
【００１８】
送信側中継装置２０は、送信装置１０からのＴＣＰパケットをパケットデータストリームにした後に、セッションごとにＴＣＰパケットとして再構成し、受信側中継装置３０へ転送する。ここで、送信側中継装置２０から受信側中継装置３０への転送に際しては、単一のセッションの再構成に限らず、複数のセッションをまとめて再構成してもよい。本方式は、受信装置から送られた複数のＴＣＰセッションを一つの中継用ＴＣＰセッションに束ねる中継装置にも有効である。
【００１９】
図２に、送信側中継装置２０の動作の一例を示す。
送信側中継装置２０は、ＴＣＰ／ＩＰヘッダが付されているパケットＰ１１〜Ｐ１４を、送信装置１０から受信する。送信側中継装置２０は、送信装置１０からパケットを受信すると、ＴＣＰ／ＩＰヘッダを除去してパケットＰ１１〜Ｐ１４のデータ＃１１〜＃１４を抽出し、抽出したデータ＃１１〜＃１４を統合してパケットデータストリームＤＳＡを構成する。データの統合は、ＴＣＰ／ＩＰヘッダの情報を用いて、パケット内のデータを配列する。
【００２０】
送信側中継装置２０は、パケットデータストリームＤＳＡから所定ブロックサイズのデータブロックＤＢ１を切り出す。この時、元のデータパケット＃１４はＤＢ１とＤＢ２に分離されても構わない。所定ブロックサイズは、誤り訂正が可能な任意のデータサイズであり、送信側中継装置２０及び受信側中継装置３０においてネゴシエーションなどによって予め定められる。誤り訂正は任意であり、例えば、ＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）を用いることができる。
【００２１】
送信側中継装置２０は、切り出したデータブロックＤＢ１を、誤り訂正符号で符号化し、符号化後の冗長データを記載した冗長ブロックＦＢ１を生成する。
【００２２】
このとき、冗長比率が１／Ｎであり、冗長ブロックサイズがＭである場合、図３に示すように、データブロックＤＢ１のデータをＮｘＭの２次元構成の配列に展開して冗長データを生成することが好ましい。この場合、例えば、Ｎ個のデータＤ２１〜Ｄ２Ｎを用いて１つの冗長データＦ２を算出する。算出方法は任意であり、例えば、ＥＸＯＲ（排他的論理和）を用いる。ＴＣＰストリームの中で送信ノードと受信ノードでブロック位置を合わせる必要があるが、ＴＣＰのシーケンス番号を用いて位置指定を行っても良い。また、データＤ１３及びデータＤ２３のように連続するデータに欠損があった場合であっても、両方のデータを復元することができる。
【００２３】
送信側中継装置２０は、データブロックＤＢ１及び冗長ブロックＦＢ１を統合した誤り訂正データストリームＤＳＢを生成する。これにより、データストリームの一定間隔位置に冗長ブロックが挟み込まれる。そして、送信側中継装置２０は、誤り訂正データストリームＤＳＢを所定データサイズの分割データに分割し、各分割データにＴＣＰ／ＩＰヘッダを付したパケットＰ２１〜Ｐ２６を、受信側中継装置３０へ送信する。
【００２４】
ここで、送信側中継装置２０は、データブロックＤＢ１、ＤＢ２及び冗長ブロックＦＢ１を区別することなく、受信側中継装置３０へ送信する。例えば、パケットＰ２５及びＰ２６のように、１つのパケット内に、データブロックＤＢ１、ＤＢ２及び冗長ブロックＦＢ１の両方のデータを混在させる。
【００２５】
そのため、誤り訂正データストリームＤＳＢを生成する際、送信データとその冗長データは１つのパケットで送信されない位置に配置されることが好ましい。例えば、図３において、データＤ１１，Ｄ１２、Ｄ１３・・・Ｄ１Ｎを用いて冗長データＦ１を算出する場合、データＤ１１，Ｄ１２、Ｄ１３・・・Ｄ１Ｎと冗長データＦ１は、異なるパケットに配置されることが好ましい。
【００２６】
また、誤り訂正データストリームＤＳＢにおけるデータブロックＤＢ１及び冗長ブロックＦＢ１は連続しないことが好ましい。例えば、図４に示すように、データブロックＤＢ３、冗長ブロックＦＢ２、データブロックＤＢ４、冗長ブロックＦＢ３、データブロックＤＢ５の順に配置してもよい。
【００２７】
図５に、受信側中継装置３０の動作の一例を示す。
受信側中継装置３０は、パケットＰ２１〜Ｐ２６を、送信側中継装置２０から受信する。受信側中継装置３０は、パケットＰ２１〜Ｐ２６を受信すると、ＴＣＰ／ＩＰヘッダを除去してパケットＰ２１〜Ｐ２６のデータを抽出し、抽出したデータを統合して誤り訂正データストリームＤＳＣを構成する。データの統合は、ＴＣＰ／ＩＰヘッダの情報を用いて、パケット内のデータを配列する。
【００２８】
受信側中継装置３０は、データの統合に際し、分割データが欠損している欠損データＤＬの有無を判定する。例えば、ＴＣＰ／ＩＰヘッダ又はデータに付されているシーケンス番号が続き番号でない場合、抜けているシーケンス番号の分割データを欠損データＤＬと判定する。
【００２９】
分割データに欠損がある場合、受信側中継装置３０は、データブロックＤＢ１及び冗長ブロックＦＢ１を用いて、欠損している分割データＤＬを補完する。例えば、データブロックＤＢ１における欠損データＤＬの部分データＤ２３が欠損している場合、受信側中継装置３０は、冗長ブロックＦＢ１におけるデータＤ２３と同じ列に配置される冗長データＦ２と、冗長ブロックＦＢ１におけるデータＤ２３と同じ列に配置されるデータＤ２１，Ｄ２２，Ｄ２４，・・・Ｄ２Ｎを用いて、データＤ２３を復元する。欠損データＤＬの他の欠損部分も同様に復元する。
【００３０】
冗長ブロックＦＢ１を用いても欠損している分割データＤＬを補完できない場合、受信側中継装置３０は、再送要求を送信側中継装置２０に送信する。送信側中継装置２０は、再送要求を受信すると、要求に応じてパケットを再送する。この場合、受信側中継装置３０は、欠損データが補完できるまで、補完に必要な冗長データを記憶しておくことが好ましい。
【００３１】
送信側中継装置２０は、再送要求を受信した場合、輻輳制御を行うことが好ましい。例えば、輻輳検出時はＣＷＮＤ（Ｃｏｎｇｅｓｔｉｏｎ  Ｗｉｎｄｏｗ  Ｓｉｚｅ）縮小率を小さくし、回復時はＣＷＮＤ増加率を大きくする。
【００３２】
データブロックＤＢ１に欠損データがなくなると、受信側中継装置３０は、冗長ブロックＦＢ１を除去し、欠損データのないデータブロック同士を統合してパケットデータストリームＤＳＤにする。これにより、パケットデータストリームＤＳＡと同じデータストリームを復元することができる。
【００３３】
ここで、データブロックに欠損がない場合、受信側中継装置３０は、冗長ブロックＦＢ１の到着を待たずに、データブロックＤＢ１を速やかにパケットデータストリームＤＳＤに統合する。受信側中継装置３０は、冗長ブロックＦＢ１を受信するのを待って、データブロックＤＢ１からパケットデータストリームＤＳＤへ統合してもよい。
【００３４】
受信側中継装置３０は、パケットデータストリームＤＳＤをデータ＃１１〜＃１４に分割し、ＴＣＰ／ＩＰヘッダを付し、パケットＰ１１〜Ｐ１４を生成し、受信装置４０へ送信する。
【００３５】
図６に、冗長データを用いた本実施形態に係るパケット転送手順の一例を示す。この例では、データＤ１〜Ｄ４の冗長データがデータＤ５に含まれる例を説明する。例えば、図７におけるデータＤ２１〜Ｄ２４がそれぞれパケットデータＤ１〜Ｄ４に含まれ、図７における冗長データＦ２がパケットデータＤ５に含まれる。説明の都合上、冗長データがすべてＤ５の１パケットに格納されているとしているが、冗長データが２パケットにまたがる場合もある。
【００３６】
送信側中継装置２０がデータＤ１を送信し、受信側中継装置３０がデータＤ１を受信すると、受信側中継装置３０が応答データＡ１を送信側中継装置２０に送信する。送信側中継装置２０が送信したデータＤ３を受信側中継装置３０が受信できなかった場合、受信側中継装置３０は、データＤ３の復元が可能であるか否かが判定可能になるまで、再送要求の送信を待機する。受信側中継装置３０は、データＤ３の復元が不可能な場合は再送要求を送信し、データＤ３の復元が可能である場合は再送要求を送信しない。
【００３７】
受信側中継装置３０は、データＤ５を受信すると、データＤ５に含まれる冗長データを用いてデータＤ３を補完する。補完することができた場合、受信側中継装置３０は、ＴＣＰの受信シーケンス番号（ＡＣＫ）を進め、Ｄ３〜Ｄ５を受信完了とした応答データＡ５を送信側中継装置２０に送信する。
【００３８】
このとき、図８に示すように、受信側中継装置３０は、欠損のないデータＤ１、Ｄ２、Ｄ４を速やかにパケットデータストリームＤＳＤに統合する。受信側中継装置３０は、データＤ５を受信すると、データＤ１、Ｄ２及びＤ４並びにデータＤ５に含まれる冗長データを用いて欠損のあったデータＤ３を復元し、復元したデータＤ３をパケットデータストリームＤＳＤに補完する。
【００３９】
また、図９に示すように、受信側中継装置３０は、データＤ５に含まれる冗長データを用いて欠損データの補完が可能になるまでデータＤ１、Ｄ２及びＤ４を蓄積してもよい。この場合、受信側中継装置３０は、データＤ５を用いてデータＤ３を復元し、欠損データのないデータブロックＤＢ１をパケットデータストリームＤＳＤに統合する。
【００４０】
以上説明したように、本実施形態に係るパケット転送システムは、データ欠損が生じた場合であっても、後に受信する冗長データを用いて欠損データを補完する。このため、本実施形態のパケット転送システムは、パケットを再送する必要がなく、輻輳制御によるデータ転送速度の減速を防止することができる。
【００４１】
なお、送信側中継装置２０に備わる各機能は、送信側中継装置２０内のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が記憶部に記憶されたコンピュータプログラムを実行することで実現してもよい。受信側中継装置３０に備わる各機能は、受信側中継装置３０内のＣＰＵが記憶部に記憶されたコンピュータプログラムを実行することで実現してもよい。これらのコンピュータプログラムは、記録媒体に記録されていてもよい。
【００４２】
（実施形態２）
本実施形態では、冗長データを用いたパケット転送手順を開始する前の動作について説明する。図１０に、本実施形態に係るパケット転送開始手順の一例を示す。
【００４３】
送信装置１０は、ＳＹＮパケットを送信し、ＴＣＰ接続を開始する（Ｓ１０１）。
送信側中継装置２０は、送信装置１０からＳＹＮパケットを受信すると、誤り訂正処理の初期化を開始する（Ｓ１０２）。
送信側中継装置２０は、データ転送を開始する前にＴＣＰ接続を行うためＳＹＮパケットを受信側中継装置３０へ送信する（Ｓ１０３）。受信側中継装置３０は、ＳＹＮパケットを受信し、ＳＹＮ＋ＡＣＫパケットを送信側中継装置２０に送信する（Ｓ１０４）。
【００４４】
送信側中継装置２０は、ＳＹＮ＋ＡＣＫパケットに対し、ＡＣＫパケットを受信側中継装置３０へ送信し（Ｓ１０５）、ＴＣＰ接続を完了する。また、冗長データに関する情報が含まれるＩＮＦＯパケットを受信側中継装置３０へ送信する（Ｓ１０６）。ＩＮＦＯパケットは、誤り訂正を実施するか否かを示す情報、及び冗長に関するパラメータ情報を含む。受信側中継装置３０は、冗長データに関する情報に基づいて、冗長データを用いたデータ受信が可能か否かを判定し誤り訂正処理の初期化（Ｓ１０７）、判定結果を含むＲＥＳＰパケットを送信側中継装置２０へ送信する（Ｓ１０８）。この際、受信側中継装置３０と受信装置４０間において、ＴＣＰ接続を完了する（Ｓ１２１〜Ｓ１２３）。
【００４５】
誤り訂正ができない状態であれば、受信側中継装置３０は、冗長データを用いたデータ受信が不可能である旨の応答を送信側中継装置２０へ送信する（Ｓ１０８）。この場合、送信側中継装置２０は、ステップＳ１０９において、冗長データを用いた本実施形態に係るパケット転送手順を開始しない。
【００４６】
誤り訂正ができる状態であれば、受信側中継装置３０は、冗長データを用いたデータ受信が可能である旨の応答を送信側中継装置２０へ送信する（Ｓ１０８）。この場合、送信側中継装置２０及び受信側中継装置３０は、冗長データを用いた本実施形態に係る誤り訂正処理を開始する（Ｓ１０９、Ｓ１１０）。
【００４７】
送信側中継装置２０は、ＳＹＮパケット（Ｓ１０１）に対する応答として、ＳＹＮ＋ＡＣＫパケットを送信装置１０に送信する（Ｓ１１１）。送信装置１０は、ＡＣＫパケットを送信側中継装置２０に送信し、ＴＣＰ接続を完了する（Ｓ１１２）。
【００４８】
送信装置１０は、冗長データを用いたパケット転送手順を開始する（Ｓ１１４）。例えば、図２に示したパケットＰ１１〜Ｐ１４を送信側中継装置２０に送信する。送信側中継装置２０及び受信側中継装置３０は、実施形態１及び実施形態２において説明した方法を用いて、パケットＰ１１〜Ｐ１４のデータ＃１１〜＃１４を転送する。これにより、受信装置４０は、パケットＰ１１〜Ｐ１４を受信する。
【００４９】
（実施形態３）
本実施形態では、受信側中継装置３０における欠損データの補完処理の実行タイミングについて説明する。本実施形態に係る受信側中継装置３０は、図１１に示すように、データブロックＤＢ１の処理ポインタがＴＳ１であり、未受信データＸを含むパケットＰＲを受信する場合について説明する。
【００５０】
図１２に示すように、パケットＰＲがＦＢ１及びデータブロックＤＢ２の両方を含む場合、受信側中継装置３０は、パケットＰＲ内のＦＢ１を用いてデータブロックＤＢ１を復元し、同時に処理ポインタＴＳ２から始まるＤＢ２の処理を開始する。
【００５１】
（実施形態４）
実施形態１〜実施形態３では、データブロックＤＢ１の後に冗長ブロックＦＢ１を配置したが、本発明はこれに限定されない。例えば、データブロックＤＢ１の前に冗長ブロックＦＢ１を配置してもよい。
【００５２】
図１３に、本実施形態に係るパケット転送手順の一例を示す。この例でも、図６〜図９と同様に、データＤ３の冗長データがデータＤ５に含まれる例を説明する。
【００５３】
受信側中継装置３０は、データＤ５を受信した後に、データＤ１、Ｄ２、Ｄ４を受信する。欠損のないデータデータＤ１、Ｄ２については、受信側中継装置３０は、速やかにパケットデータストリームＤＳＤに統合する。データＤ３が欠損している場合、データＤ４を受信すると、受信側中継装置３０は、データＤ５とデータＤ１、Ｄ２、Ｄ４を用いて、データＤ３を復元し、Ｄ４とともにＤ３をパケットデータストリームＤＳＤに統合する。
【産業上の利用可能性】
【００５４】
本発明は情報通信産業に適用することができる。
【符号の説明】
【００５５】
１０：送信装置
２０：送信側中継装置
３０：受信側中継装置
４０：受信装置
【図１】
0006514570.tif 000002
【図２】
0006514570.tif 000003
【図３】
0006514570.tif 000004
【図４】
0006514570.tif 000005
【図５】
0006514570.tif 000006
【図６】
0006514570.tif 000007
【図７】
0006514570.tif 000008
【図８】
0006514570.tif 000009
【図９】
0006514570.tif 000010
【図１０】
0006514570.tif 000011
【図１１】
0006514570.tif 000012
【図１２】
0006514570.tif 000013
【図１３】
0006514570.tif 000014