(57)【要約】【課題】パケットロスが発生しても、後続のパケットを遅延なく伝送することができるようする。【解決手段】受信装置２との間で複数のＴＣＰコネクションを確立するコネクション確立部１３と、送信対象のデータを複数のパケットに分割し、複数のパケットをコネクション確立部１３により確立された別々のＴＣＰコネクションに振り分ける振り分け部１４とを設け、パケット送信部１５がコネクション確立部１３により確立された複数のＴＣＰコネクションを用いて、振り分け部１４により振り分けられた複数のパケットを受信装置２に送信する。【選択図】図１
2009100118.tif 000002
【特許請求の範囲】
【請求項１】
データの送信先である受信装置との間で複数のＴＣＰコネクションを確立するコネクション確立手段と、送信対象のデータを複数のパケットに分割し、上記複数のパケットを上記コネクション確立手段により確立された別々のＴＣＰコネクションに振り分けるパケット振分手段と、上記コネクション確立手段により確立された複数のＴＣＰコネクションを用いて、上記パケット振分手段により振り分けられた複数のパケットを上記受信装置に送信するパケット送信手段とを備えた送信装置。
【請求項２】
パケット振分手段は、分割したパケットの数がコネクション確立手段により確立されたＴＣＰコネクションの数より多い場合、分割したパケットをパケット送信手段による前回のパケット送信時刻が古いＴＣＰコネクションから順番に振り分けることを特徴とする請求項１記載の送信装置。
【請求項３】
パケット振分手段は、分割したパケットの数がコネクション確立手段により確立されたＴＣＰコネクションの数より多い場合、分割したパケットをパケット送信手段により前回送信されたパケットに対する送達確認を既に受信しているＴＣＰコネクションから順番に振り分けることを特徴とする請求項１記載の送信装置。
【請求項４】
パケット送信手段は、受信装置によりパケットが正常に受信されない場合でも、当該パケットの再送を実施しないことを特徴とする請求項１から請求項３のうちのいずれか１項記載の送信装置。
【請求項５】
パケット振分手段は、複数のパケットを分割して振り分ける際、複数のパケットの順序を示すシリアル番号を各パケットに付与することを特徴とする請求項１から請求項４のうちのいずれか１項記載の送信装置。
【請求項６】
送信済みのパケットに対する送達確認の受信状況に応じて、パケット送信手段に与えられるパケットのデータ量を制御するデータ量制御手段を設けたことを特徴とする請求項１から請求項５のうちのいずれか１項記載の送信装置。
【請求項７】
データが分割された複数のパケットから誤り訂正パケットを生成する誤り訂正パケット生成手段を設け、パケット送信手段が複数のパケットが振り分けられているＴＣＰコネクションと異なるＴＣＰコネクションを用いて、上記誤り訂正パケットを受信装置に送信することを特徴とする請求項１から請求項６のうちのいずれか１項記載の送信装置。
【請求項８】
データの送信元である送信装置との間で複数のＴＣＰコネクションを確立するコネクション確立手段と、上記コネクション確立手段により確立された複数のＴＣＰコネクションを用いて、上記送信装置から上記データを構成する複数のパケットを受信するパケット受信手段と、上記パケット受信手段により受信された複数のパケットを合成して、上記データを構築するパケット合成手段とを備えた受信装置。
【請求項９】
パケット合成手段は、パケット受信手段により受信された複数のパケットの中に、送信装置から再送された再送パケットが含まれている場合、上記再送パケットを除く他のパケットを合成することを特徴とする請求項８記載の受信装置。
【請求項１０】
パケット合成手段は、パケット受信手段により受信された複数のパケットの中に、送信装置から再送された再送パケットが含まれている場合、遅延時間が所定時間を越えている再送パケットを除き、遅延時間が所定時間以内の再送パケットを含む他のパケットを合成することを特徴とする請求項８記載の受信装置。
【請求項１１】
パケット合成手段は、パケット受信手段により受信された再送パケットを含む全てのパケットを合成してデータを構築し、上記データを蓄積装置に格納することを特徴とする請求項９または請求項１０記載の受信装置。
【請求項１２】
送信装置から送信されたパケットのうち、パケット受信手段により受信されていない未受信のパケットが存在する場合、上記送信装置から送信されて上記パケット受信手段により受信された誤り訂正パケットを用いて、上記未受信のパケットを生成する未受信パケット生成手段を設けたことを特徴とする請求項８から請求項１１のうちのいずれか１項記載の受信装置。
【請求項１３】
データの通信先の相手装置との間で複数のＴＣＰコネクションを確立するコネクション確立手段と、送信対象のデータを複数のパケットに分割し、上記複数のパケットを上記コネクション確立手段により確立された別々のＴＣＰコネクションに振り分けるパケット振分手段と、上記コネクション確立手段により確立された複数のＴＣＰコネクションを用いて、上記パケット振分手段により振り分けられた複数のパケットを上記相手装置に送信するパケット送信手段と、上記コネクション確立手段により確立された複数のＴＣＰコネクションを用いて、上記相手装置から送信された複数のパケットを受信するパケット受信手段と、上記パケット受信手段により受信された複数のパケットを合成して、上記データを構築するパケット合成手段とを備えた通信装置。
【請求項１４】
送信装置のコネクション確立手段と受信装置のコネクション確立手段との間で複数のＴＣＰコネクションを確立するコネクション確立ステップと、上記送信装置のパケット振分手段が送信対象のデータを複数のパケットに分割し、上記複数のパケットを上記コネクション確立手段により確立された別々のＴＣＰコネクションに振り分けるパケット振分ステップと、上記送信装置のパケット送信手段が上記コネクション確立手段により確立された複数のＴＣＰコネクションを用いて、上記パケット振分手段により振り分けられた複数のパケットを上記受信装置に送信するパケット送信ステップと、上記受信装置のパケット受信手段が上記コネクション確立手段により確立された複数のＴＣＰコネクションを用いて、上記送信装置から送信された複数のパケットを受信するパケット受信ステップと、上記受信装置のパケット合成手段が上記パケット受信手段により受信された複数のパケットを合成して、上記データを構築するパケット合成ステップとを備えた通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＴＣＰコネクションを用いて、データ通信を行う送信装置、受信装置、通信装置及び通信方法に関するものである。
【背景技術】
【０００２】
ＩＰ（インターネットプロトコル）を使用して、データを伝送する場合、一般的に、リアルタイム性が要求される通信システムではＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）が使用され、リアルタイム性が要求されない通信システムではＴＣＰ（Ｔｒａｎｓｍｉｓｓｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）が使用されることが多い。
ＴＣＰは、再送制御やフロー制御の実施によって、確実なデータ転送を保障するが、再送制御による遅延やフロー制御によるスループットの制限が発生してしまうためリアルタイム通信には向かない特徴がある。
【０００３】
しかしながら、ＴＣＰしかサポートしていないネットワークや通信装置を使用する場合において、複数のＴＣＰコネクションを使用して、フロー制御によるスループット制限を回避すれば、リアルタイム通信を行うことができることが知られている（例えば、特許文献１を参照）。
ただし、本当の意味でのリアルタイム通信を実現するには、スループットだけでなく、伝送遅延を考慮する必要がある。
【０００４】
即ち、送信装置から送信されたパケットにロスが発生した場合、ＴＣＰでは、そのロスしたパケットが再送される。
受信装置のアプリケーションでは、送信装置から再送されたロスパケットが正常に受信できるまで、そのロスパケット以降のパケットを受信することができない。
これはＴＣＰの順序制御機能の作用であり、本来のパケットの順序を維持するために、ロスパケットが受信側のＴＣＰレイヤに届くまで、たとえ後続のパケットを受信しても、それらのパケットをアプリケーションに通知しないようにしている。
つまり、パケットのロスが発生すると、ロスパケットだけでなく、他のパケットの受信タイミングも遅れてしまってリアルタイム性を損なうことになる。
【０００５】
【特許文献１】特開平０８−３０５６４３号公報（段落番号［００４２］から［００４４］、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来の通信システムは以上のように構成されているので、ＴＣＰのスループット制限を回避することができても、パケットロスが発生すると、パケットロスの再送に伴う伝送遅延を回避することができず、リアルタイム通信を実現することができないなどの課題があった。
【０００７】
この発明は上記のような課題を解決するためになされたもので、パケットロスが発生しても、後続のパケットを遅延なく伝送することができるようにして、伝送時間を短くすることができる送信装置、受信装置、通信装置及び通信方法を得ることを目的とする。
【課題を解決するための手段】
【０００８】
この発明に係る送信装置は、受信装置との間で複数のＴＣＰコネクションを確立するコネクション確立手段と、送信対象のデータを複数のパケットに分割し、複数のパケットをコネクション確立手段により確立された別々のＴＣＰコネクションに振り分けるパケット振分手段とを設け、パケット送信手段がコネクション確立手段により確立された複数のＴＣＰコネクションを用いて、パケット振分手段により振り分けられた複数のパケットを受信装置に送信するようにしたものである。
【発明の効果】
【０００９】
この発明によれば、受信装置との間で複数のＴＣＰコネクションを確立するコネクション確立手段と、送信対象のデータを複数のパケットに分割し、複数のパケットをコネクション確立手段により確立された別々のＴＣＰコネクションに振り分けるパケット振分手段とを設け、パケット送信手段がコネクション確立手段により確立された複数のＴＣＰコネクションを用いて、パケット振分手段により振り分けられた複数のパケットを受信装置に送信するように構成したので、あるＴＣＰコネクションに振り分けられたパケットがロスしても、他のＴＣＰコネクションに振り分けられたパケットについては、受信装置が遅延なく受信することができるようになり、その結果、データの再送はロスパケットの再送のみで足りるため、データの伝送時間を短くすることができる効果がある。
【発明を実施するための最良の形態】
【００１０】
実施の形態１．
図１はこの発明の実施の形態１による通信システムを示す構成図であり、図において、送信装置１はデータを送信する装置であり、受信装置２は送信装置１から送信されたデータをネットワーク３経由で受信する装置である。
ネットワーク３としては、例えば、インターネットやＬＡＮなどが考えられる。図１では、送信装置１と受信装置２がネットワーク３経由でデータを伝送する例を示しているが、送信装置１と受信装置２を直接接続し、ネットワーク３を介さずにデータを伝送するようにしてもよい。
【００１１】
図２はこの発明の実施の形態１による送信装置を示す構成図であり、図において、符号化装置１１は送信対象の符号化されているデータを送信装置１に与える処理を実施する。
コネクション管理部１２はコネクション確立部１３とパケット送信部１５から構成されており、受信装置２との間で確立しているＴＣＰコネクションを管理し、ＴＣＰコネクションの確立や解放などを制御する。
コネクション確立部１３は受信装置２のコネクション確立部２２（図３を参照）との間で、複数のＴＣＰコネクションを確立する処理を実施する。なお、コネクション確立部１３はコネクション確立手段を構成している。
【００１２】
振り分け部１４は符号化装置１１から送信対象のデータを与えられると、そのデータを複数のパケットに分割し、複数のパケットをコネクション確立部１３により確立された別々のＴＣＰコネクションに振り分ける処理を実施する。なお、振り分け部１４はパケット振分手段を構成している。
パケット送信部１５はコネクション確立部１３により確立された複数のＴＣＰコネクションを用いて、振り分け部１４により振り分けられた複数のパケットを受信装置２に送信する処理を実施する。なお、パケット送信部１５はパケット送信手段を構成している。
【００１３】
図３はこの発明の実施の形態１による受信装置を示す構成図であり、図において、コネクション管理部２１はコネクション確立部２２とパケット受信部２３から構成されており、送信装置１との間で確立しているＴＣＰコネクションを管理し、ＴＣＰコネクションの確立や解放などを制御する。
コネクション確立部２２は送信装置１のコネクション確立部１３との間で、複数のＴＣＰコネクションを確立する処理を実施する。なお、コネクション確立部２２はコネクション確立手段を構成している。
パケット受信部２３はコネクション確立部２２により確立された複数のＴＣＰコネクションを用いて、送信装置１から送信された複数のパケットを受信する処理を実施する。なお、パケット受信部２３はパケット受信手段を構成している。
【００１４】
パケット合成部２４はパケット受信部２３により受信された複数のパケットを合成して、送信対象のデータを構築する処理を実施する。なお、パケット合成部２４はパケット合成手段を構成している。
復号装置２５は受信装置２から出力されたデータを復号する処理を実施する。
【００１５】
図２では、送信装置１の構成要素であるコネクション確立部１３、振り分け部１４及びパケット送信部１５がそれぞれ専用のハードウェア（例えば、ＭＰＵを実装している半導体集積回路基板）で構成されているものを想定しているが、送信装置１がコンピュータで構成される場合、コネクション確立部１３、振り分け部１４及びパケット送信部１５の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されているプログラムを実行するようにしてもよい。
また、図３では、受信装置２の構成要素であるコネクション確立部２２、パケット受信部２３及びパケット合成部２４がそれぞれ専用のハードウェア（例えば、ＭＰＵを実装している半導体集積回路基板）で構成されているものを想定しているが、受信装置２がコンピュータで構成される場合、コネクション確立部２２、パケット受信部２３及びパケット合成部２４の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されているプログラムを実行するようにしてもよい。
図４はこの発明の実施の形態１による通信方法を示すフローチャートである。
【００１６】
次に動作について説明する。
符号化装置１１は、送信対象のデータを符号化し、符号化後のデータ（例えば、データ列、ストリームデータ）をリアルタイムに送信装置１に出力する。
送信装置１が符号化装置１１から与えられたデータをリアルタイムに受信装置２に伝送する場合、送信装置１のコネクション確立部１３と受信装置２のコネクション確立部２２との間で、所定のネゴシエーションを実施することにより、Ｎ個（Ｎ＞１）のＴＣＰコネクションを確立する（ステップＳＴ１）。
図５は送信装置１と受信装置２の間で確立されたＴＣＰコネクションを示す説明図であり、図５では、４つのＴＣＰコネクションＣ１，Ｃ２，Ｃ３，Ｃ４を確立している例を示している。
なお、コネクション確立部１３とコネクション確立部２２におけるＴＣＰコネクションの確立処理自体は、公知の技術であるため詳細な説明を省略する。
【００１７】
送信装置１の振り分け部１４は、符号化装置１１から送信対象のデータを与えられると、そのデータを複数のパケットに分割する（ステップＳＴ２）。
この実施の形態１では、説明の便宜上、送信対象のデータを４つのパケットＰ１，Ｐ２，Ｐ３，Ｐ４に分割する例を説明するが、データの分割数は、確立されているＴＣＰコネクションの数と一致している必要はなく、データの分割数がＴＣＰコネクションの数を超えなければいくつでもよい。
【００１８】
振り分け部１４は、データを４つのパケットＰ１，Ｐ２，Ｐ３，Ｐ４に分割すると、４つのパケットＰ１，Ｐ２，Ｐ３，Ｐ４をＴＣＰコネクションＣ１，Ｃ２，Ｃ３，Ｃ４に振り分ける処理を実施する（ステップＳＴ３）。
即ち、振り分け部１４は、例えば、パケットＰ１をＴＣＰコネクションＣ１、パケットＰ２をＴＣＰコネクションＣ２、パケットＰ３をＴＣＰコネクションＣ３、パケットＰ４をＴＣＰコネクションＣ４に振り分ける処理を実施する。
この例では、４つのパケットＰ１，Ｐ２，Ｐ３，Ｐ４をポート番号が小さいＴＣＰコネクションから順番に振り分けている。
【００１９】
送信装置１のパケット送信部１５は、振り分け部１４が４つのパケットＰ１，Ｐ２，Ｐ３，Ｐ４をＴＣＰコネクションＣ１，Ｃ２，Ｃ３，Ｃ４に振り分けると、４つのＴＣＰコネクションＣ１，Ｃ２，Ｃ３，Ｃ４を用いて、４つのパケットＰ１，Ｐ２，Ｐ３，Ｐ４を受信装置２に送信する（ステップＳＴ４）。
【００２０】
受信装置２のパケット受信部２３は、コネクション確立部２２により確立されたＴＣＰコネクションＣ１，Ｃ２，Ｃ３，Ｃ４を用いて、送信装置１から送信された４つのパケットＰ１，Ｐ２，Ｐ３，Ｐ４を受信する（ステップＳＴ５）。
受信装置２のパケット合成部２４は、パケット受信部２３が４つのパケットＰ１，Ｐ２，Ｐ３，Ｐ４を受信すると、ポート番号が小さいＴＣＰコネクションに振り分けられているパケットほど先に配列して合成し、即ち、パケットＰ１，Ｐ２，Ｐ３，Ｐ４の順番で配列して合成して、送信対象のデータ（符号化装置１１により符号化されたデータ）を構築する（ステップＳＴ６）。
復号装置２５は、パケット合成部２４からデータを受けると、そのデータを復号する。
【００２１】
以上で明らかなように、この実施の形態１によれば、受信装置２との間で複数のＴＣＰコネクションを確立するコネクション確立部１３と、送信対象のデータを複数のパケットに分割し、複数のパケットをコネクション確立部１３により確立された別々のＴＣＰコネクションに振り分ける振り分け部１４とを設け、パケット送信部１５がコネクション確立部１３により確立された複数のＴＣＰコネクションを用いて、振り分け部１４により振り分けられた複数のパケットを受信装置２に送信するように構成したので、あるＴＣＰコネクションに振り分けられたパケットがロスしても、他のＴＣＰコネクションに振り分けられたパケットについては、受信装置２が遅延なく受信することができるようになり、その結果、データの再送はロスパケットの再送のみで足りるため、データの伝送時間を短くすることができる効果を奏する。
【００２２】
以下、この実施の形態１による効果を具体的に説明する。
ＴＣＰでデータを構成しているパケットを伝送する場合、あるパケットのロスが発生する度に、ＴＣＰの再送制御やフロー制御の機能が作用することにより、ロスパケットを再送するので、ロスパケット以降のパケットの転送が一時的に滞る可能性がある。
その後、ロスパケットが再送されて受信装置２がロスパケットを正常に受信すると、ロスパケット以降のパケットの送信が再開されるが、ロスパケット以降のパケットの転送が一時的に滞るため、受信装置２に対するデータ伝送に遅延が生じる。
特に、バースト的にパケットロスが発生する場合には、ＴＣＰのフロー制御によって、自らスループットを絞り込むため、さらに、大きな遅延が発生する。
【００２３】
そこで、この実施の形態１では、複数のパケットを別々のＴＣＰコネクションで送信するようにしている。
これにより、あるパケットのロスが発生しても、他のパケットは影響なく受信装置２に伝送され、送信装置１からロスパケットを再送されて、受信装置２がロスパケットを正常に受信した時点でデータ転送が完了するため、１つのＴＣＰコネクションを利用して、全てのパケットを伝送する場合よりも、データ転送にかかる時間が短くなる。
バースト的なパケットロスが発生しても、複数のＴＣＰコネクションで分散して送信しているため、各ＴＣＰコネクションでは１パケットロスにとどまり、フロー制御によるスループットの落ち込みを避けることができる。
【００２４】
実施の形態２．
上記実施の形態１では、振り分け部１４が、分割したパケットをコネクション確立部１３により確立された別々のＴＣＰコネクションに振り分けるものについて示したが（１つのＴＣＰコネクションには、１つのパケットだけを割り振る）、分割したパケットの数が、コネクション確立部１３により確立されたＴＣＰコネクションの数より多くなると、一部のパケットについては、同じＴＣＰコネクションに振り分ける必要がある（１つのＴＣＰコネクションに複数のパケットを割り振る必要がある）。
そこで、この実施の形態２では、振り分け部１４は、分割したパケットの数が、コネクション確立部１３により確立されたＴＣＰコネクションの数より多くなると、分割したパケットをパケット送信部１５による前回のパケット送信時刻が古いＴＣＰコネクションから順番に振り分けるようにする。
【００２５】
図６は振り分け部１４が分割したパケットの数が、コネクション確立部１３により確立されたＴＣＰコネクションの数より多い場合の動作例を示す説明図である。
図６の例では、コネクション確立部１３により４つのＴＣＰコネクションＣ１，Ｃ２，Ｃ３，Ｃ４が確立され、振り分け部１４により分割されたパケットの数が８個であるものを示している。
【００２６】
この場合、振り分け部１４は、符号化装置１１から送信対象のデータを受けると、そのデータを８つのパケットＰ１，Ｐ２，Ｐ３，・・・，Ｐ８に分割する。
振り分け部１４は、８つのパケットに分割すると、先頭の４つのパケットＰ１，Ｐ２，Ｐ３，Ｐ４を４つのＴＣＰコネクションＣ１，Ｃ２，Ｃ３，Ｃ４に順番に振り分ける処理を実施する。
即ち、振り分け部１４は、パケットＰ１をＴＣＰコネクションＣ１、パケットＰ２をＴＣＰコネクションＣ２、パケットＰ３をＴＣＰコネクションＣ３、パケットＰ４をＴＣＰコネクションＣ４に振り分ける処理を実施する。
【００２７】
パケット送信部１５は、振り分け部１４が４つのパケットＰ１，Ｐ２，Ｐ３，Ｐ４をＴＣＰコネクションＣ１，Ｃ２，Ｃ３，Ｃ４に振り分けると、図６に示すように、４つのＴＣＰコネクションＣ１，Ｃ２，Ｃ３，Ｃ４を用いて、４つのパケットＰ１，Ｐ２，Ｐ３，Ｐ４を順番に受信装置２に送信する。
【００２８】
振り分け部１４は、パケット送信部１５が４つのパケットＰ１，Ｐ２，Ｐ３，Ｐ４を受信装置２に送信すると、パケットＰ５，Ｐ６，Ｐ７，Ｐ８をパケット送信部１５による前回のパケット送信時刻が古いＴＣＰコネクションから順番に振り分けるようにする。
即ち、振り分け部１４は、パケットＰ５をＴＣＰコネクションＣ１、パケットＰ６をＴＣＰコネクションＣ２、パケットＰ７をＴＣＰコネクションＣ３、パケットＰ８をＴＣＰコネクションＣ４に振り分ける処理を実施する。
【００２９】
パケット送信部１５は、振り分け部１４が４つのパケットＰ５，Ｐ６，Ｐ７，Ｐ８をＴＣＰコネクションＣ１，Ｃ２，Ｃ３，Ｃ４に振り分けると、図６に示すように、４つのＴＣＰコネクションＣ１，Ｃ２，Ｃ３，Ｃ４を用いて、４つのパケットＰ５，Ｐ６，Ｐ７，Ｐ８を順番に受信装置２に送信する。
【００３０】
以上で明らかなように、この実施の形態２によれば、分割したパケットの数がコネクション確立部１３により確立されたＴＣＰコネクションの数より多い場合、分割したパケットをパケット送信部１５による前回のパケット送信時刻が古いＴＣＰコネクションから順番に振り分けるように構成したので、分割したパケットの数がコネクション確立部１３により確立されたＴＣＰコネクションの数より多い場合でも、上記実施の形態１と同様に、あるＴＣＰコネクションに振り分けられたパケットがロスする状況が発生しても、データの伝送時間を短くすることができる効果を奏する。
また、各ＴＣＰコネクション（例えば、ＴＣＰコネクションＣ１）に着目すると、パケットの送信間隔が空いて、連続的な送信とならないため、バーストパケットロスの影響を受ける可能性が低くなる効果も奏する。
【００３１】
実施の形態３．
上記実施の形態２では、振り分け部１４がパケットＰ５，Ｐ６，Ｐ７，Ｐ８をパケット送信部１５による前回のパケット送信時刻が古いＴＣＰコネクションから順番に振り分けるものについて示したが、振り分け部１４がパケットＰ５，Ｐ６，Ｐ７，Ｐ８をパケット送信部１５により前回送信されたパケットＰ１，Ｐ２，Ｐ３，Ｐ４に対するＡＣＫ信号（送達確認）を既に受信装置２から受信しているＴＣＰコネクションから順番に振り分けるようにしてもよい。
【００３２】
具体的には、以下の通りである。
あるＴＣＰコネクションにおいて、パケットロスが発生したとき、再送が完了していない状態で別のパケットを送信しても、ロスパケットの再送が完了するまでは、受信装置２のアプリケーションには到達しない。
パケットロスが発生しているか否かは、パケット送信部１５から送信されたパケットＰ１，Ｐ２，Ｐ３，Ｐ４に対するＡＣＫ信号（送達確認）を受信装置２から受信しているか否かで判断することができる。もしくは、使用可能なウィンドウサイズを確認して、デフォルトの最大状態であれば、送達未確認のデータが存在しないことになる。
【００３３】
そこで、この実施の形態３では、パケットＰ５，Ｐ６，Ｐ７，Ｐ８を速やかに受信装置２に送信するため、振り分け部１４がパケット送信部１５により前回送信されたパケットＰ１，Ｐ２，Ｐ３，Ｐ４に対するＡＣＫ信号（送達確認）を既に受信しているか否かを確認し、既にＡＣＫ信号（送達確認）を受信しているＴＣＰコネクション（パケットロスが発生していないＴＣＰコネクション）を使用して、パケットＰ５，Ｐ６，Ｐ７，Ｐ８を受信装置２に送信する。
【００３４】
実施の形態４．
通常のＴＣＰでは、パケットロスが発生すると、ロスパケットを再送することを前提としているが、ロスパケットの再送を行うと、ロスパケット以外のパケットの送信タイミングが遅れることがある。
そこで、この実施の形態４では、パケットのロスが発生して、受信装置２によりパケットが正常に受信されない場合でも、送信装置１のパケット送信部１５がロスパケットの再送を実施しないようにする。
この場合、受信装置２では、送信装置１のパケット送信部１５がロスパケットの再送を実施しないようにするため、正常に受信したパケットのシーケンス番号の次の値をＡＣＫ信号に付与するようにし、パケットロスの発生を送信装置１に通知しないようにする。
これにより、パケットロスが発生しても、ロスパケット以外のパケットの送信タイミングの遅延を防止することができる効果を奏する。
【００３５】
実施の形態５．
上記実施の形態１〜４では、振り分け部１４がデータを複数のパケットに分割すると、複数のパケットを別々のＴＣＰコネクションに振り分けるものについて示したが、複数のパケットを分割して振り分ける際、複数のパケットの順序を示すシリアル番号を各パケットに付与するようにしてもよい。
【００３６】
具体的には、以下の通りである。
図７はシリアル番号が付与されたパケットを示す説明図である。
送信装置１の振り分け部１４は、符号化装置１１から送信対象のデータを与えられると、そのデータを複数のパケットに分割する。
図７に示すように、例えば、データを３つのパケットに分割する場合、先頭のパケットＰ１に“１”のシリアル番号、先頭から２番目のパケットＰ２に“２”のシリアル番号、先頭から３番目のパケットＰ３に“３”のシリアル番号を付与する。
【００３７】
振り分け部１４は、データを３つのパケットＰ１，Ｐ２，Ｐ３に分割して、３つのパケットＰ１，Ｐ２，Ｐ３にシリアル番号を付与すると、３つのパケットＰ１，Ｐ２，Ｐ３をＴＣＰコネクションＣ１，Ｃ２，Ｃ３に振り分ける処理を実施する。
ただし、この実施の形態５では、３つのパケットＰ１，Ｐ２，Ｐ３を異なるＴＣＰコネクションに振り分ければよく、上記実施の形態１のように、３つのパケットＰ１，Ｐ２，Ｐ３をポート番号が小さいＴＣＰコネクションから順番に振り分ける必要はない（３つのパケットＰ１，Ｐ２，Ｐ３にシリアル番号が付与されており、受信装置２のパケット合成部２４は、シリアル番号を確認すれば、３つのパケットＰ１，Ｐ２，Ｐ３の順序を知ることができる為）。
【００３８】
送信装置１のパケット送信部１５は、振り分け部１４が３つのパケットＰ１，Ｐ２，Ｐ３をＴＣＰコネクションＣ１，Ｃ２，Ｃ３に振り分けると、３つのＴＣＰコネクションＣ１，Ｃ２，Ｃ３を用いて、３つのパケットＰ１，Ｐ２，Ｐ３を受信装置２に送信する。
受信装置２のパケット受信部２３は、コネクション確立部２２により確立されたＴＣＰコネクションＣ１，Ｃ２，Ｃ３を用いて、送信装置１から送信された３つのパケットＰ１，Ｐ２，Ｐ３を受信する。
【００３９】
受信装置２のパケット合成部２４は、パケット受信部２３が３つのパケットＰ１，Ｐ２，Ｐ３を受信すると、３つのパケットＰ１，Ｐ２，Ｐ３に付与されているシリアル番号を確認して、３つのパケットＰ１，Ｐ２，Ｐ３の順序を認識する。
パケット合成部２４は、３つのパケットＰ１，Ｐ２，Ｐ３の順序を認識すると、付与されているシリアル番号を排除してから、先頭のパケットから順番に配列して合成し、送信対象のデータ（符号化装置１１により符号化されたデータ）を構築する。
【００４０】
以上で明らかなように、この実施の形態５によれば、複数のパケットを分割して振り分ける際、複数のパケットの順序を示すシリアル番号を各パケットに付与するように構成したので、受信装置側では、シリアル番号を確認するだけで複数のパケットの順序を正確に認識することができる効果を奏する。
【００４１】
実施の形態６．
上記実施の形態１〜５では、特に言及していないが、データ量制御手段を構成するコネクション確立部１３が、パケット送信部１５から送信されたパケットに対するＡＣＫ信号（送達確認）の受信状況に応じて、パケット送信部１５に与えられるパケットのデータ量を制御するようにしてもよい。
【００４２】
具体的には、以下の通りである。
送信装置１のコネクション確立部１３は、各ＴＣＰコネクションの状態を監視しており、パケット送信部１５がパケットを受信装置２に送信すると、受信装置２から送信される当該パケットに対するＡＣＫ信号（送達確認）を受信する。
コネクション確立部１３は、パケット送信部１５から送信されたパケットに対するＡＣＫ信号（送達確認）を受信すれば、そのパケットが正常に受信装置２に届いていることを認識する一方、複数のＴＣＰコネクションのうち、いくつかのＴＣＰコネクションを用いて送信されたパケットに対するＡＣＫ信号（送達確認）を受信することができなければ（一定時間を経過しても、ＡＣＫ信号を受信することができない場合）、そのＴＣＰコネクションにおけるパケットロスの発生の可能性を認識する。
【００４３】
同時に多くのＴＣＰコネクションにおいて、パケットロスの発生の可能性を認識する場合、ネットワークの輻輳により多くのパケットがロスしている可能性がある。
このような状況下で、パケットの送信を続けることは、輻輳を助長することになるため、輻輳を回避するには、送信するパケットのデータ量を減らすことが必要である。
【００４４】
コネクション確立部１３は、パケット送信部１５により複数のＴＣＰコネクションを用いて複数のパケットが送信されたのち、一定時間を経過しても、当該パケットに対するＡＣＫ信号を受信することができないＴＣＰコネクションの数が基準の上限数より多くなると、符号化装置１１に対して、発生するデータ量を減らすように指示を行う。
例えば、基準の上限数として、Ｔ１，Ｔ２，Ｔ３があるとき（Ｔ１＜Ｔ２＜Ｔ３）、ＡＣＫ信号を受信することができないＴＣＰコネクションの数Ｓが、Ｔ１≦Ｓ＜Ｔ２になると、発生するデータ量を２分の１（Ｔ１＞Ｓのときのデータ量の２分の１）に減らすように指示し、Ｔ２≦Ｓ＜Ｔ３になると、発生するデータ量を４分の１に減らすように指示し、Ｔ３≦Ｓになると、発生するデータ量を８分の１に減らすように指示する。
これにより、パケット送信部１５から送信されるパケットのデータ量が減少する。
コネクション確立部１３は、その後、パケットに対するＡＣＫ信号を受信することができないＴＣＰコネクションの数Ｓが減少してくれば、符号化装置１１に対して、発生するデータ量を元に戻すように指示を行う。
【００４５】
以上で明らかなように、この実施の形態６によれば、コネクション確立部１３が、パケット送信部１５から送信されたパケットに対するＡＣＫ信号（送達確認）の受信状況に応じて、パケット送信部１５に与えられるパケットのデータ量を制御するように構成したので、ネットワークで発生した輻輳を緩和することができる効果を奏する。
【００４６】
実施の形態７．
通常のＴＣＰでは、パケットロスが発生すると、ロスパケットを再送することを前提としているが、ロスパケットが再送されてくるまで、受信装置２のパケット合成部２４が待機していると、パケットの合成を開始するタイミングが遅れる。
そこで、この実施の形態７では、パケット合成部２４は、パケット受信部２３により受信された複数のパケットの中に、送信装置１から再送された再送パケットが含まれている場合、その再送パケットを廃棄して、非再送のパケットのみを合成するようにする。
【００４７】
即ち、パケット合成部２４は、パケット受信部２３により受信されたパケットにシリアル番号が付与されていれば、シリアル番号の昇順にパケットを配列して合成する。
このとき、パケットロスが発生していると、ロスパケットのシリアル番号が抜けているが、抜けているシリアル番号のパケットはないものとして、パケットの合成を行う。
その後、ロスパケットの再送によって、抜けているシリアル番号のパケットが届いても、その時点では、シリアル番号の昇順とならないため、そのロスパケットを廃棄する。
【００４８】
以上で明らかなように、この実施の形態７によれば、パケット受信部２３により受信された複数のパケットの中に、送信装置１から再送された再送パケットが含まれている場合、パケット合成部２４が再送パケットを除く他のパケットを合成するように構成したので、送信対象のデータを構築するまでの時間を短くすることができる効果を奏する。
【００４９】
実施の形態８．
上記実施の形態７では、パケット受信部２３により受信された複数のパケットの中に、送信装置１から再送された再送パケットが含まれている場合、その再送パケットを廃棄して、非再送のパケットのみを合成するものについて示したが、パケット受信部２３により受信された複数のパケットの中に、送信装置１から再送された再送パケットが含まれている場合、遅延時間が所定時間を越えている再送パケットを廃棄して、遅延時間が所定時間以内の再送パケットと非再送のパケットを合成するようにしてもよい。
【００５０】
具体的には、以下の通りである。
上記実施の形態７によれば、送信対象のデータを構築するまでの時間を短くすることができるが、比較的短時間でパケットが再送されても、その再送パケットが合成されず、データに抜けが生じる。
そこで、この実施の形態８では、短時間で再送されたパケットについては、合成の対象に含めて、データの抜けを少なくするようにする。
【００５１】
即ち、パケット合成部２４は、パケット受信部２３により受信されたパケットにシリアル番号が付与されている場合、シリアル番号に抜けがなければ、シリアル番号の昇順にパケットを配列して合成する。
このとき、パケットロスの発生がなければ、シリアル番号は通常１ずつ増加するが、パケットロスが発生すると、ロスパケットのシリアル番号が抜けるため、シリアル番号は２以上増加する。
【００５２】
パケット合成部２４は、シリアル番号が２以上増加している場合、パケットの合成処理を中断し、抜けたシリアル番号のパケットが再送されて、パケット受信部２３により受信されるまで待機する。
パケット合成部２４は、パケットの合成処理を中断してから、一定時間以内に、パケット受信部２３により抜けたシリアル番号の再送パケットが受信された場合、パケットの合成処理を開始して、その再送パケットと他の非再送のパケットとを合成する。
一方、一定時間を経過しても、パケット受信部２３により抜けたシリアル番号の再送パケットが受信されない場合、抜けているシリアル番号のパケットはないものとして、パケットの合成を行う。
その後、ロスパケットの再送によって、抜けているシリアル番号のパケットが届いても、その時点では、シリアル番号の昇順とならないため、そのロスパケットを廃棄する。
【００５３】
なお、一定時間として、例えば、パケットロス時の１回の再送時間を選択すれば、受信装置２としては、１回だけのパケットロスを許容した合成処理となる。
この一定時間を長くすると、ロスパケットの割合は減るが、受信処理の時間は増えることになる。
【００５４】
以上で明らかなように、この実施の形態８によれば、パケット受信部２３により受信された複数のパケットの中に、送信装置１から再送された再送パケットが含まれている場合、遅延時間が所定時間を越えている再送パケットを除き、遅延時間が所定時間以内の再送パケットを含む他のパケットを合成するように構成したので、送信対象のデータを構築するまでの時間を短くすることができる効果を奏する。
【００５５】
実施の形態９．
図８はこの発明の実施の形態９による受信装置を示す構成図であり、図において、図３と同一符号は同一または相当部分を示すので説明を省略する。
パケット合成部３１はパケット受信部２３により受信された複数のパケットの中に、送信装置１から再送された再送パケットが含まれている場合、その再送パケットを廃棄して、非再送のパケットのみを合成、あるいは、遅延時間が所定時間を越えている再送パケットを廃棄して、遅延時間が所定時間以内の再送パケットと非再送のパケットを合成する処理を実施するほか、パケット受信部２３により受信された再送パケットを含む全てのパケットを合成する処理を実施する。なお、パケット合成部３１はパケット合成手段を構成している。
蓄積装置３２はパケット合成部３１により再送パケットを含む全てのパケットを合成して生成されたデータを蓄積する。
【００５６】
次に動作について説明する。
パケット合成部３１は、パケット受信部２３が複数のパケットを受信すると、リアルタイム性を重視するため、パケット受信部２３により受信された複数のパケットの中に、送信装置１から再送された再送パケットが含まれている場合、上記実施の形態７と同様に、その再送パケットを廃棄して、非再送のパケットのみを合成することによりデータを構築する。
あるいは、上記実施の形態８と同様に、遅延時間が所定時間を越えている再送パケットを廃棄して、遅延時間が所定時間以内の再送パケットと非再送のパケットを合成することによりデータを構築する。
パケット合成部３１は、構築したデータを復号装置２５に出力する。
【００５７】
ただし、上記のようにして構築したデータは、リアルタイム性を確保することができるが、再送パケットが含まれていないため、大事な部分のデータ等が抜けている可能性がある。
そこで、パケット合成部３１は、さらに、パケット受信部２３が再送パケットを受信すると、その再送パケットを含む全てのパケットをシリアル番号順に合成することにより、抜けのない完全なデータを構築し、そのデータを蓄積装置３２に格納する。
【００５８】
この実施の形態９の受信装置２を例えば監視システムに適用すれば、復号装置２５でリアルタイムに監視映像を見ているとき、万一パケットロスが発生して、一時的に監視映像が見られない場合でも、後で蓄積装置３２に蓄積されているデータを再生することで、抜けのない監視映像を見ることができる。
この実施の形態９によれば、リアルタイム性と完全性を両立したデータ伝送を実現することができる効果を奏する。
【００５９】
実施の形態１０．
図９はこの発明の実施の形態１０による通信システムを示す構成図であり、図において、図１、図２及び図３と同一符号は同一または相当部分を示すので説明を省略する。
ＦＥＣ部４１は振り分け部１４により分割された複数のパケットから誤り訂正パケットを生成する処理を実施する。なお、ＦＥＣ部４１は誤り訂正パケット生成手段を構成している。
パケット送信部４２は図２のパケット送信部１５と同様に、コネクション確立部１３により確立された複数のＴＣＰコネクションを用いて、振り分け部１４により振り分けられた複数のパケットを受信装置２に送信する処理を実施するほかに、複数のパケットが振り分けられているＴＣＰコネクションと異なるＴＣＰコネクションを用いて、ＦＥＣ部４１により生成された誤り訂正パケットを受信装置２に送信する処理を実施する。なお、パケット送信部４２はパケット送信手段を構成している。
【００６０】
誤り訂正部４３は送信装置１から送信されたパケットのうち、パケット受信部２３により受信されていない未受信のパケットが存在する場合、送信装置１から送信されてパケット受信部２３により受信された誤り訂正パケットを用いて、未受信のパケットを生成する処理を実施する。なお、誤り訂正部４３は未受信パケット生成手段を構成している。
【００６１】
次に動作について説明する。
送信装置１がデータを受信装置２に伝送する場合、上記実施の形態１と同様に、送信装置１のコネクション確立部１３と受信装置２のコネクション確立部２２との間で、所定のネゴシエーションを実施することにより、複数のＴＣＰコネクションを確立する。
ここでは、説明の便宜上、５つのＴＣＰコネクションＣ１，Ｃ２，Ｃ３，Ｃ４，Ｃ５を確立するものとする。
【００６２】
送信装置１の振り分け部１４は、符号化装置１１から送信対象のデータを与えられると、上記実施の形態１と同様に、そのデータを複数のパケットに分割する。
ここでは、説明の便宜上、データを４つのパケットＰ１，Ｐ２，Ｐ３，Ｐ４に分割するものとする。
また、振り分け部１４は、データを４つのパケットＰ１，Ｐ２，Ｐ３，Ｐ４に分割すると、４つのパケットＰ１，Ｐ２，Ｐ３，Ｐ４をＴＣＰコネクションＣ１，Ｃ２，Ｃ３，Ｃ４に振り分ける処理を実施する。
例えば、パケットＰ１をＴＣＰコネクションＣ１、パケットＰ２をＴＣＰコネクションＣ２、パケットＰ３をＴＣＰコネクションＣ３、パケットＰ４をＴＣＰコネクションＣ４に振り分ける処理を実施する。
【００６３】
送信装置１のＦＥＣ部４１は、振り分け部１４から４つのパケットＰ１，Ｐ２，Ｐ３，Ｐ４を受けると、４つのパケットＰ１，Ｐ２，Ｐ３，Ｐ４のうち、１つのパケットがロスしても、残りの３つのパケットからロスパケットを生成できるようにするため、４つのパケットＰ１，Ｐ２，Ｐ３，Ｐ４のＸＯＲ（排他的論理和）をとり、そのＸＯＲ結果を誤り訂正パケットとして生成する。
【００６４】
送信装置１のパケット送信部４２は、コネクション確立部１３により確立されたＴＣＰコネクションＣ１，Ｃ２，Ｃ３，Ｃ４を用いて、振り分け部１４により振り分けられたパケットＰ１，Ｐ２，Ｐ３，Ｐ４を受信装置２に送信するとともに、パケットＰ１，Ｐ２，Ｐ３，Ｐ４が振り分けられているＴＣＰコネクションＣ１，Ｃ２，Ｃ３，Ｃ４と異なるＴＣＰコネクションＣ５を用いて、ＦＥＣ部４１により生成された誤り訂正パケットを受信装置２に送信する。
【００６５】
受信装置２のパケット受信部２３は、コネクション確立部２２により確立されたＴＣＰコネクションＣ１，Ｃ２，Ｃ３，Ｃ４を用いて、送信装置１から送信された４つのパケットＰ１，Ｐ２，Ｐ３，Ｐ４を受信するとともに、ＴＣＰコネクションＣ５を用いて、送信装置１から送信された誤り訂正パケットを受信する。
【００６６】
受信装置２の誤り訂正部４３は、送信装置１から送信されたパケットのうち、パケット受信部２３により受信されていない未受信のパケットが存在する場合、送信装置１から送信されてパケット受信部２３により受信された誤り訂正パケットを用いて、未受信のパケットを生成する。
例えば、３つのパケットＰ１，Ｐ２，Ｐ３は受信されているが、パケットＰ４が受信されていない場合、３つのパケットＰ１，Ｐ２，Ｐ３と誤り訂正パケットの論理演算を行うことにより、パケットＰ４を生成する。
受信装置２のパケット合成部２４は、パケット受信部２３により受信された３つのパケットＰ１，Ｐ２，Ｐ３と、誤り訂正部４３により生成されたパケットＰ４とを合成して、送信対象のデータ（符号化装置１１により符号化されたデータ）を構築する。
【００６７】
以上で明らかなように、この実施の形態１０によれば、送信装置１から送信されたパケットのうち、パケット受信部２３により受信されていない未受信のパケットが存在する場合、送信装置１から送信されてパケット受信部２３により受信された誤り訂正パケットを用いて、未受信のパケットを生成するように構成したので、未受信のパケットが再送されてくるまで待機することなく、直ちに、抜けのない完全なデータを構築することができる効果を奏する。
【００６８】
なお、この実施の形態１０では、説明の簡単化のため、ＦＥＣ部４１が誤り訂正パケットを１つだけ生成するものについて示したが、複数の誤り訂正パケットを生成するようにしてもよい。
この場合、パケット送信部４２は、複数の誤り訂正パケットを別々のＴＣＰコネクションに振り分けて、複数の誤り訂正パケットを受信装置２に送信する。
例えば、ＴＣＰコネクションＣ１，Ｃ２，Ｃ３，Ｃ４，Ｃ５，Ｃ６が確立されているとき、２つの誤り訂正パケットが生成された場合、２つの誤り訂正パケットをそれぞれＴＣＰコネクションＣ５，Ｃ６に振り分け、ＴＣＰコネクションＣ５，Ｃ６を用いて、２つの誤り訂正パケットを受信装置２に送信する。
【００６９】
実施の形態１１．
上記実施の形態１〜１０では、データを送信する機能を備えた通信装置（送信装置１）と、データを受信する機能を備えた通信装置（受信装置２）とがネットワーク３を介して接続されているものを示したが、図１０に示すように、データを送信する機能とデータを受信する機能の双方を備えた通信装置であってもよい。
なお、コネクション管理部５１は、コネクション確立部１３（または、コネクション確立部２２）、パケット送信部１５（または、パケット送信部４２）及びパケット受信部２３を備えている。
【図面の簡単な説明】
【００７０】
【図１】この発明の実施の形態１による通信システムを示す構成図である。
【図２】この発明の実施の形態１による送信装置を示す構成図である。
【図３】この発明の実施の形態１による受信装置を示す構成図である。
【図４】この発明の実施の形態１による通信方法を示すフローチャートである。
【図５】送信装置１と受信装置２の間で確立されたＴＣＰコネクションを示す説明図である。
【図６】振り分け部１４が分割したパケットの数が、コネクション確立部１３により確立されたＴＣＰコネクションの数より多い場合の動作例を示す説明図である。
【図７】シリアル番号が付与されたパケットを示す説明図である。
【図８】この発明の実施の形態９による受信装置を示す構成図である。
【図９】この発明の実施の形態１０による通信システムを示す構成図である。
【図１０】この発明の実施の形態１１による通信装置を示す構成図である。
【符号の説明】
【００７１】
１  送信装置、２  受信装置、３  ネットワーク、１１  符号化装置、１２，２１，５１  コネクション管理部、１３  コネクション確立部（コネクション確立手段、データ量制御手段）、１４  振り分け部（パケット振分手段）、１５，４２  パケット送信部（パケット送信手段）、２２  コネクション確立部（コネクション確立手段）、２３  パケット受信部（パケット受信手段）、２４，３１  パケット合成部（パケット合成手段）、２５  復号装置、３２  蓄積装置、４１  ＦＥＣ部（誤り訂正パケット生成手段）、４３  誤り訂正部（未受信パケット生成手段）。
【図１】
2009100118.tif 000003
【図２】
2009100118.tif 000004
【図３】
2009100118.tif 000005
【図４】
2009100118.tif 000006
【図５】
2009100118.tif 000007
【図６】
2009100118.tif 000008
【図７】
2009100118.tif 000009
【図８】
2009100118.tif 000010
【図９】
2009100118.tif 000011
【図１０】
2009100118.tif 000012