(57)【特許請求の範囲】
【請求項１】
通信装置であって、
データ到達時間優先型のプロトコルのヘッダをデータに付与したデータ到達時間優先型パケットを生成する第１の生成手段と、
データ確度優先型のプロトコルのヘッダをデータに付与したデータ確度優先型パケットを生成する第２の生成手段と、
前記データ確度優先型パケットに、前記データ到達時間優先型のプロトコルのヘッダを付与したカプセリングパケットを生成する第３の生成手段と、
前記第３の生成手段により生成された前記カプセリングパケットを通信相手に送信する送信手段とを有し、
前記送信手段は、前記送信手段が送信した前記カプセリングパケットに含まれるデータを再送する場合、前記データ到達時間優先型パケットと前記データ確度優先型パケットとを別々に送信することを特徴とする通信装置。
【請求項２】
前記送信手段は、前記送信手段が送信した前記カプセリングパケットに含まれるデータを再送する場合、前記データが含まれる前記データ確度優先型パケットと、前記データとは異なる他のデータが含まれる前記データ到達時間優先型パケットとを別々に送信することを特徴とする請求項１に記載の通信装置。
【請求項３】
通信装置であって、
データ到達時間優先型のプロトコルのヘッダがデータに付与されたデータ到達時間優先型パケットに含まれるデータを処理する第１の処理手段と、
データ確度優先型のプロトコルのヘッダがデータに付与されたデータ確度優先型パケットに含まれるデータを処理する第２の処理手段と、
前記データ確度優先型パケットに前記データ到達時間優先型のプロトコルのヘッダを付与したカプセリングパケットを受信する受信手段と、
前記受信手段が受信した前記カプセリングパケットに含まれるデータに基づいて、前記データ到達時間優先型パケットと前記データ確度優先型パケットとを生成する生成手段とを有し、
前記第１の処理手段は、前記生成手段により生成された前記データ到達時間優先型パケットに含まれるデータを処理し、前記第２の処理手段は、前記生成手段により生成された前記データ確度優先型パケットに含まれるデータを処理することを特徴とする通信装置。
【請求項４】
前記カプセリングパケットの送信元が、前記カプセリングパケットに含まれるデータの再送を行う場合、前記受信手段は、前記送信元から前記データ到達時間優先型パケットと前記データ確度優先型パケットとを別々に受信することを特徴とする請求項３に記載の通信装置。
【請求項５】
前記カプセリングパケットは、ＴＣＰパケットをＵＤＰでカプセリングしたパケットであることを特徴とする請求項１乃至４のいずれか１項に記載の通信装置。
【請求項６】
前記データ到達時間優先型のプロトコルは、ＵＤＰのプロトコルであることを特徴とする請求項１乃至５のいずれか１項に記載の通信装置。
【請求項７】
前記データ確度優先型のプロトコルは、ＴＣＰのプロトコルであることを特徴とする請求項１乃至６のいずか１項に記載の通信装置。
【請求項８】
通信装置で実行される通信装置の制御方法であって、
データ到達時間優先型のプロトコルのヘッダをデータに付与したデータ到達時間優先型パケットを生成する第１の生成ステップと、
データ確度優先型のプロトコルのヘッダをデータに付与したデータ確度優先型パケットを生成する第２の生成ステップと、
前記データ確度優先型パケットに、前記データ到達時間優先型のプロトコルのヘッダを付与したカプセリングパケットを生成する第３の生成ステップと、
前記第３の生成ステップで生成された前記カプセリングパケットを通信相手に送信する送信ステップと、
前記送信ステップで送信した前記カプセリングパケットに含まれるデータを再送する場合に、前記データ到達時間優先型パケットと前記データ確度優先型パケットとを別々に送信する再送ステップと、を有することを特徴とする通信装置の制御方法。
【請求項９】
通信装置で実行される通信装置の制御方法であって、
データ確度優先型のプロトコルのヘッダがデータに付与されたデータ確度優先型パケットにデータ到達時間優先型のプロトコルのヘッダを付与したカプセリングパケットを受信する受信ステップと、
前記受信ステップで受信した前記カプセリングパケットに含まれるデータに基づいて、前記データ確度優先型パケットと、前記データ到達時間優先型のプロトコルのヘッダがデータに付与されたデータ到達時間優先型パケットとを生成する生成ステップと、
前記生成ステップにより生成された前記データ到達時間優先型パケットに含まれるデータを処理する第１の処理ステップと、
前記生成ステップにより生成された前記データ確度優先型パケットに含まれるデータを処理する第２の処理ステップと、を有することを特徴とする通信装置の制御方法。
【請求項１０】
コンピュータを、請求項１乃至７のいずれか１項に記載の通信装置として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット化した画像や音声情報などのストリームデータをネットワークを介して通信する通信装置、通信装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
インターネット・プロトコル（ＩＰ）を用いた通信方式では、一般的にＲＦＣ７９３で知られているＴＣＰ（Transmission Control Protocol）とＲＦＣ７６８で知られているＵＤＰ（User Datagram Protocol）という２つの通信プロトコルが用いられている（例えば特許文献１参照）。この通信プロトコルは、通常、ＩＰ層の上で使用され、ＩＰ層と密接に協調して動作するプロトコルであるので、ＴＣＰ／ＩＰ、ＵＤＰ／ＩＰと呼称されることが一般的である。
【０００３】
ＴＣＰ／ＩＰは、コネクション指向のプロトコルである。即ち、クライアントとサーバ間で接続を確立した後にデータ通信を行い、シーケンス番号に基づき伝送誤りが生じた場合に再送を行いながら通信するプロトコルである。したがって、エラーフリーで伝送することが可能である。一方、ＵＤＰ／ＩＰは、コネクションレスのプロトコルである。即ち、効率よくデータを転送することを目的とする場合に用いられ、再送手続きなどは定義されていない、オーバーヘッドの小さなプロトコルである。音声や画像などのマルチメディアデータをリアルタイムで伝送する場合はＵＤＰ／ＩＰを用い、非リアルタイムで伝送する場合はエラーフリーであることが望ましいことからＴＣＰ／ＩＰで伝送する場合が一般的である。
【特許文献１】特開２００４−８０１４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来例に見られるデータ通信システムでは、ＴＣＰ／ＩＰとＵＤＰ／ＩＰ２つのプロトコルに関して同一のデータ内容を通信するために２倍の帯域が必要になる、という問題点があった。
【０００５】
即ち、例えば、ビデオデータをリアルタイムに監視しながら記録する際に、モニタ上のリアルタイム画像表示に関しては遅延を最小限にするＵＤＰ／ＩＰを用いて伝送し、記録に残す情報に関してはエラーフリーが望ましいことからＴＣＰ／ＩＰを用いて伝送するケースがある。このようなケースでは、それぞれの情報を別のコネクションで伝送するため、情報源の２倍の帯域が必要となっていた。
【０００６】
本発明は上記従来の問題点に鑑み、異なる処理に用いられるデータを一度のパケットで送信することで効率的に伝送帯域を使用することを目的とする。また、データ到着時間を優先するデータを送信しつつ、データの再送も行えるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
請求項１に係る通信装置は、データ到達時間優先型のプロトコルのヘッダをデータに付与したデータ到達時間優先型パケットを生成する第１の生成手段と、データ確度優先型のプロトコルのヘッダをデータに付与したデータ確度優先型パケットを生成する第２の生成手段と、前記データ確度優先型パケットに、前記データ到達時間優先型のプロトコルのヘッダを付与したカプセリングパケットを生成する第３の生成手段と、前記第３の生成手段により生成された前記カプセリングパケットを通信相手に送信する送信手段とを有し、前記送信手段は、前記送信手段が送信した前記カプセリングパケットに含まれるデータを再送する場合、前記データ到達時間優先型パケットと前記データ確度優先型パケットとを別々に送信することを特徴とする。
【０００８】
請求項３に係る通信装置は、データ到達時間優先型のプロトコルのヘッダがデータに付与されたデータ到達時間優先型パケットに含まれるデータを処理する第１の処理手段と、データ確度優先型のプロトコルのヘッダがデータに付与されたデータ確度優先型パケットに含まれるデータを処理する第２の処理手段と、前記データ確度優先型パケットに前記データ到達時間優先型のプロトコルのヘッダを付与したカプセリングパケットを受信する受信手段と、前記受信手段が受信した前記カプセリングパケットに含まれるデータに基づいて、前記データ到達時間優先型パケットと前記データ確度優先型パケットとを生成する生成手段とを有し、前記第１の処理手段は、前記生成手段により生成された前記データ到達時間優先型パケットに含まれるデータを処理し、前記第２の処理手段は、前記生成手段により生成された前記データ確度優先型パケットに含まれるデータを処理することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、一度、カプセリングパケットに含めて送信したデータを再送する場合には、データ到達時間優先型パケットと、確度優先型パケットとを別々に送信することで、データ到着時間を優先するデータを送信しつつ、データの再送も行うことができる。また、当データ確度を優先した処理と、データ到達時間を優先した処理の双方で用いられるデータを、一度のパケットで受信することで効率的に伝送帯域を使用することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００１２】
［第１の実施の形態］
＜システム構成＞
図１は、本発明の第１の実施の形態に係るデータ通信システムの構成例を示すブロック図である。
【００１３】
このデータ通信システムは、受信装置であるステーションＡと、送信装置であるステーションＢとが、それぞれ伝送路１１３をメディアとするネットワークに接続されている。そして、これらのステーション間において、データ到達時間優先型のプロトコル（ＵＤＰ／ＩＰ）とデータ確度優先型のプロトコル（ＴＣＰ／ＩＰ）とを用いてストリームデータの通信が実行されるものとする。
【００１４】
ステーションＡは、録画装置であるビデオレコーダ１０４とその録画アプリケーションである記録アプリケーション処理装置１０６と、受像装置であるモニタ１０３とその受像アプリケーション処理装置である表示アプリケーション処理装置１０５を含む。また、ステーションＢは、撮像装置１０１とその撮像アプリケーション処理装置であるカメラアプリケーション処理装置１０２を含む。
【００１５】
より詳しく説明すると、ステーションＡにおいて、モニタ１０３はリアルタイムで通信相手の撮像装置１０１によって得られた画像情報（ストリームデータ）を表示する。さらに、ビデオレコーダ１０４は、通信相手の撮像装置の画像情報を記録する。ステーションＢにおいて、撮像装置１０１は撮像素子を用いて撮像した画像をデジタル変換してアプリケーション処理装置に渡す。また、カメラアプリケーション処理装置１０２は、デジタル化した画像データに対して、ユーザーインタフェースを通じて、通信相手先の指定、撮像装置の制御及びトランスポート層の制御等を行う。
【００１６】
また、図１中の１０５はモニタ１０３及びＵＤＰ層の制御を行う表示アプリケーション処理装置である。１０６はビデオレコーダ１０４及びＴＣＰ層の制御を行う記録アプリケーション処理装置である。１０７ＡはＵＤＰ層の生成及び解析を行うＵＤＰプロトコル装置であり、１０８ＡはＴＣＰ層の生成及び解析を行うＴＣＰプロトコル装置である。１０９Ａはプロトコル装置１０７Ａ及び１０８Ａの出力を受けてＴＣＰパケットをＵＤＰでカプセリングするＵＤＰ−ＴＣＰプロトコル装置である。１１０ＡはＩＰ層の生成及び解析を行うＩＰプロトコル装置であり、１１１Ａはイーサネット(登録商標)フレームを生成及び解析するＭＡＣ装置であり、１１２Ａは物理層への変復調を行うＰＨＹ装置である。これら１０７Ａ〜１１２Ａの装置と同じ機能を有する装置１０７Ｂ〜１１２ＢがステーションＢ設けられている。
【００１７】
＜システムの通信手順＞
次に、上記構成のデータ通信システムの通信手順について、図２及び図３を参照して説明する。
【００１８】
図２は、図１の構成のステーションＡ，Ｂの通信手順を示すシーケンス図であり、図３は、本実施の形態に係る受信装置であるステーションＡのパケットからなるストリームデータの受信処理を示すフローチャートである。
【００１９】
図２において、最初に、ステーションＢにおいて、撮像装置１０１が撮像した画像情報（ストリームデータ）をステーションＡへＵＤＰ／ＩＰを用いて送信すべく、ポート番号及びＩＰアドレスなどの送信指示を撮像アプリケーション処理装置１０２に与える。この送信指示情報はステーションＡから与えられるものとする。すると、撮像装置１０１が生成したストリームデータは、撮像アプリケーション処理装置１０２へ送られ、指示されたポート番号及びＩＰアドレスなどと共に前記生成した情報がＵＤＰプロトコル装置１０７Ｂへ送られる（図２のＳ４０１）。
【００２０】
送信時、ＵＤＰプロトコル装置１０７ＢにおいてはＵＤＰヘッダの生成が行われる。撮像アプリケーション処理装置１０２からはＵＤＰのポート番号が指定されているため、生成されたＵＤＰパケットは続いてＩＰプロトコル装置１１０Ｂへ送られる。そして、ＩＰヘッダが付与され、図４に示すようなフォーマットを持つＵＤＰ／ＩＰのパケットが生成される。このとき、「Ｓｏｕｒｃｅ  ＩＰ  Ａｄｄｒｅｓｓ」にはステーションＡの「ＩＰ  Ａｄｄｒｅｓｓ」が記され、「Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  Ａｄｄｒｅｓｓ」にはステーションＢの「ＩＰ  Ａｄｄｒｅｓｓ」が記されている。ＭＡＣ装置１１１ＢにおいてさらにＵＤＰ／ＩＰのパケットにＥｔｈｅｒヘッダ（不図示）が付けられ、ＰＨＹ装置１１２Ｂによる変調の後、伝送路１１３へ出力される。
【００２１】
一方、ステーションＡで受信されたストリームデータであるパケットは、ＰＨＹ装置１１２Ａ及びＭＡＣ装置１１１Ａで、復調及びＭＡＣ層におけるＥｔｈｅｒヘッダの除去が行われる。そして、ＩＰプロトコル装置１１０Ａは、ＩＰ層において「Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  Ａｄｄｒｅｓｓ」が自ステーションであることを確認する。さらに、ＩＰプロトコル装置１１０Ａは、ＩＰヘッダのプロトコル・フィールドに書き込まれているプロトコル種別によりＵＤＰ以外のプロトコルが稼働しているかを判断する（図３のＳ７０１）。例えばＴＣＰが稼動していればＴＣＰプロトコル装置１０８ＡによってＴＣＰ層の処理が行われる（Ｓ７０７）。ＵＤＰが稼動していればＵＤＰプロトコル装置１０７ＡによるＵＤＰ層の処理及びＵＤＰ−ＴＣＰプロトコル装置１０９ＡによるＵＤＰ−ＴＣＰ層の処理が行われる。このとき、ステーションＡ宛のポート番号がＵＤＰで定義されているＵＤＰパケットであればＵＤＰプロトコル装置Ａ１０７がＵＤＰ層における処理を行う（Ｓ７０８）。一方、ＵＤＰ−ＴＣＰで定義されているポート番号であればＵＤＰ−ＴＣＰプロトコル装置１０９ＡがＵＤＰ−ＴＣＰ層における処理を行う（Ｓ７０３）。
【００２２】
ＵＤＰプロトコル装置１０７Ａは、パケットのＵＤＰヘッダを除去し、表示アプリケーション装置１０５に、ヘッダが取り除かれたデータを送り込む。これによって、撮像装置１０１で生成したストリームデータがモニタ１０３へ送られる（Ｓ４０２）。一方、ＵＤＰ−ＴＣＰのポートが指定されている場合は、ＵＤＰ−ＴＣＰプロトコル装置１０９ＡによってＵＤＰパケットとＴＣＰパケットとの２つのパケットに分解される（Ｓ７０３）。そして、ＵＤＰ−ＴＣＰプロトコル装置１０９ＡによってＵＤＰパケットについてはＵＤＰパケット長及びチェックサムが再調整されることでヘッダが再構築される（Ｓ７０４）。そして、ＵＤＰ−ＴＣＰプロトコル装置１０９Ａは、ペイロードを付与してＵＤＰパケットとし（Ｓ７０５）、そのＵＤＰパケットをＵＤＰプロトコル装置１０７Ａへ送る。さらに、ＵＤＰ−ＴＣＰプロトコル装置１０９Ａは、ＴＣＰヘッダとペイロードによりＴＣＰパケットを再構築し（Ｓ７０６）、そのＴＣＰパケットをＴＣＰプロトコル装置１０８Ａへ送る。
【００２３】
このように１つのＵＤＰ−ＴＣＰパケットが２つのポートに分解され、各プロトコル処理層へ送られ、各アプリケーションの処理が行われる。
【００２４】
＜各プロトコル処理におけるステーションＡ、Ｂの詳細な動作＞
次に、ＴＣＰ／ＩＰ、ＵＤＰ／ＩＰ、ＵＤＰ−ＴＣＰ／ＩＰの各プロトコル処理におけるステーションＡ、Ｂの詳細な動作について説明する。
【００２５】
画像情報（ストリームデータ）がＵＤＰ／ＩＰを用いてステーションＢからＡに転送されている状態で、ＴＣＰプロトコル装置１０８Ｂから接続要求が生じたとする（Ｓ４０３）。すると、ステーションＡ、Ｂ間でコネクションを確立するために、いわゆるスリーウェイハンドシェイクが行われる。スリーウェイハンドシェイクの手順は、次のようになる。
【００２６】
（１）Ｓ４０３：ステーションＢからＳＹＮフラグに“１”を立てたＴＣＰパケット（以降、ＳＹＮパケット）を送出する。
【００２７】
（２）Ｓ４０４：ステーションＡがＳＹＮパケットを受信したことによる返答として、Ｓ４０５：ステーションＢに対してＳＹＮフラグとＡＣＫフラグを立てたＴＣＰパケット（以降、ＳＹＮ−ＡＣＫパケット）を送信する。
【００２８】
（３）Ｓ４０６、Ｓ４０７：ＳＹＮ−ＡＣＫパケットの受信に対してステーションＢからステーションＡにＡＣＫフラグを立てたＴＣＰパケット（以降ＡＣＫパケット）を送出する。
【００２９】
以上のステップによりステーションＡ、Ｂ間のコネクションが確立される（Ｓ４０８）。ＴＣＰによるコネクションの確立はステーションＡ、Ｂの各アプリケーション処理装置にも通知されることにより、それまでＵＤＰ／ＩＰのみで行っていた画像情報（ストリームデータ）の送信をＴＣＰ／ＩＰにおいても開始される（Ｓ４１３）。
【００３０】
続いて、同一のストリームデータをＴＣＰ／ＩＰとＵＤＰ／ＩＰで送信する場合の動作を図５を参照して説明する。
【００３１】
図５は、同一のストリームデータをＴＣＰ／ＩＰとＵＤＰ／ＩＰで送信する場合の動作を示す送信装置であるステーションＢの動作処理フローチャートである。
【００３２】
先のＳ４０８においては、スリーウェイハンドシェイクが確立され、ＴＣＰにおけるコネクションが成立した状態となる。この状態で、カメラアプリケーション処理装置１０２がＵＤＰ／ＩＰ及びＴＣＰ／ＩＰの送信をＵＤＰプロトコル装置１０７ＢおよびＴＣＰプロトコル装置１０８Ｂに要求したとする（Ｓ４０９）。すると、ＵＤＰプロトコル装置１０７Ｂ及びＴＣＰプロトコル装置１０８Ｂで作成された各パケットは、ポート番号としてＵＤＰ−ＴＣＰを示すユニークな値が付与されて、ＵＤＰ−ＴＣＰプロトコル装置１０９Ｂへ送られる。
【００３３】
Ｓ６０３、Ｓ６０５において、ＵＤＰ−ＴＣＰプロトコル装置１０９Ｂは、ＴＣＰプロトコル装置１０８Ｂで生成されたパケットが最新且つ送信可能かどうかを判断する。ＴＣＰプロトコル装置１０８Ｂで生成されたパケットが最新且つ送信可能でなければ、ＵＤＰプロトコル装置で生成されたパケットをＩＰプロトコル装置１１０Ｂに出力し、ＵＤＰ／ＩＰで送信を行う（Ｓ６０４）。ＵＤＰ−ＴＣＰプロトコル装置１０９Ｂを介して送信できなかったデータグラムは、ＴＣＰ／ＩＰでは送信できなかったので、そのデータはＴＣＰプロトコル装置１０８Ｂが有するメモリに蓄積され、キューイングされる（Ｓ６０８）。そして、ＴＣＰ／ＩＰによるコネクションが送信可能になった時点で、キューイングされたデータの送信が行われる（Ｓ６０９）。
【００３４】
一方、Ｓ６０３，Ｓ６０５において、ＴＣＰプロトコル装置１０８Ｂで生成されたパケットが送信可能であると判断された場合、ＵＤＰ−ＴＣＰプロトコル装置１０９Ｂは、当該パケットをＵＤＰ−ＴＣＰパケットとして再構築する。ＵＤＰ−ＴＣＰパケットのフォーマットを図６に示す。図６に示すように、ＵＤＰ−ＴＣＰのパケットはＴＣＰパケットをＵＤＰヘッダでカプセリングした構造となっている。ＵＤＰパケットとしては新たにデータグラムにＴＣＰヘッダを内包したことになるので、ＵＤＰ−ＴＣＰプロトコル装置１０９Ｂは、チェックサム及びＵＤＰデータ長の再計算を行い、ヘッダを再構築する（Ｓ６０６）。そして、ＩＰプロトコル装置１１０Ｂは、ＩＰヘッダを付与してＵＤＰ−ＴＣＰ／ＩＰパケットを送出する（Ｓ６０７）。
【００３５】
このように伝送路１１３へ送出されたＵＤＰ−ＴＣＰパケットは、受信装置であるステーションＡにおいてはＩＰヘッダの解析の結果ではＵＤＰパケット若しくはＵＤＰ−ＴＣＰパケットであることしか認識されない状態である。そのため、ＩＰヘッダを除いたパケットは、ＩＰプロトコル装置１１０Ａを介してＵＤＰ−ＴＣＰプロトコル装置１０９ＡとＵＤＰプロトコル装置１０７Ａへ送信される。ＵＤＰ−ＴＣＰパケットは予め決められたポート番号を有しているため、ＵＤＰプロトコル装置１０７Ａへ送られたＵＤＰ−ＴＣＰパケットは破棄される。
【００３６】
ＵＤＰ−ＴＣＰプロトコル装置１０９Ａへ送られたＵＤＰ−ＴＣＰパケットはＵＤＰヘッダとＴＣＰヘッダのポート番号を解析し、ＵＤＰ−ＴＣＰパケットであることを確認し、ＵＤＰパケットとＴＣＰパケットを再構築する。ＴＣＰパケットの再構築において、ＵＤＰ−ＴＣＰプロトコル装置１０９Ａは、ＵＤＰ−ＴＣＰパケットからＵＤＰヘッダを取り除き、ＴＣＰパケットとした上でＴＣＰプロトコル装置１０８Ａへ送られる（図２のＳ４１１）。ＵＤＰパケットの再構築において、ＵＤＰ−ＴＣＰプロトコル装置１０９Ａは、ＴＣＰヘッダを取り除き、チェックサムとＵＤＰデータ長を変更して新たなＵＤＰヘッダを作成する。そして、ＵＤＰプロトコル装置１０７Ａへ送られる（Ｓ４１０）。
【００３７】
ＴＣＰプロトコル装置１０８Ａは、受信確認のために送信装置であるステーションＢへＡＣＫパケットを送出し、ステーションＢはＡＣＫパケットの受信をもって一連の送信が終了する。以降、送信データが生じる都度、ＵＤＰパケットとＴＣＰパケットをＵＤＰ−ＴＣＰパケットとして送信することで、データの送信帯域が半分となる。
【００３８】
次に、伝送誤りなどのために再送などの不具合における動作について、図７を参照して説明する。
【００３９】
図７は、ＵＤＰ−ＴＣＰパケットの再送が生じた場合のシーケンス図である。
【００４０】
まず、Ｓ９０１においてＵＤＰ−ＴＣＰパケットを送出し、そのＴＣＰパケットに対するＡＣＫパケットも到着している。すなわち、問題なくストリームデータの送信が行われている状態である。次にＵＤＰ−ＴＣＰパケットがネットワーク上の問題によりステーションＡに届く前に紛失したとする（Ｓ９０２）。
【００４１】
次に、送信したＵＤＰ−ＴＣＰパケットが受信装置であるステーションＡに届く。すると、ＴＣＰプロトコル装置１０８Ａは、ＴＣＰヘッダ中の「Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ」が不連続であるためにパケットが不連続に到着したことを知る（Ｓ９０３）。すると、ステーションＡは、直ちにＡＣＫパケットを送信し、ステーションＢに紛失パケットがあったことを通知する（Ｓ９０４）。そして、ステーションＢは、直ちにＴＣＰ／ＩＰによる紛失パケットの再送を行う（Ｓ９０５）。
【００４２】
Ｓ９０６では、カメラアプリケーション処理装置１０２からストリームデータの送出が指示された際、ＴＣＰ／ＩＰでは送信できない場合がある。その場合、ストリームデータはＵＤＰ／ＩＰで送信される（Ｓ９０６）。ステーションＢは、再送が完了し、ＡＣＫパケットの受信まで確認すると（Ｓ９０７）、次のデータ送出指示（Ｓ９０８）では、再びＵＤＰ−ＴＣＰパケットとして送出することが可能となる。
【００４３】
ネットワークやステーションの何らかの状態によりＡＣＫパケットが送信されない状態が続いた場合にもＴＣＰパケットの送信が抑制される。この場合、ＵＤＰ−ＴＣＰではなくＵＤＰパケットとしてストリームデータが送信される。この処理のシーケンスを図８に示す。図８は、ＵＤＰ−ＴＣＰによるＴＣＰ輻輳制御が動作した場合のシーケンス図である。
【００４４】
図８において、Ｓ１００１では、ステーションＢは、ＡＣＫパケットを受信していないため、ＵＤＰパケットとしてストリームデータの送信が行われる。また、Ｓ１００２では、ＡＣＫパケットの受信に応じてＴＣＰ／ＩＰによるストリームデータの送信がステーションＢにより行われる。Ｓ１００３では、ステーションＢは、ＡＣＫパケットの受信により、ＴＣＰパケットの未送信分についての送信が完了したのを確認する。そして、Ｓ１００４では、ＵＤＰ−ＴＣＰを用いて送信する。
【００４５】
＜第１の実施の形態の利点＞
本実施の形態によれば、送信装置であるステーションＢではＴＣＰをＵＤＰでカプセリングして伝送し、受信装置であるステーションＡでは、それぞれの目的に合致したソケットに分配する分配部ブロックを設けるようにした。即ち、ＵＤＰ−ＴＣＰ／ＩＰの通信を行うのに先立ち、まずＴＣＰ／ＩＰにおけるコネクションをステーションＡとステーションＢの間で確立させる。ステーションＢにおいて、同一のストリームデータをＵＤＰ／ＩＰとＴＣＰ／ＩＰで送る場合はそれぞれのプロトコルに対応するパケット情報をＵＤＰ−ＴＣＰプロトコル装置１０９Ｂに送る。そして、ＵＤＰ−ＴＣＰプロトコル装置１０９Ｂは、ＴＣＰパケットをＵＤＰパケットでカプセリングして伝送する。ステーションＡでは、ＵＤＰ−ＴＣＰ分配部となるＵＤＰ−ＴＣＰプロトコル装置１０９Ａでそれぞれのプロトコル装置１０７Ａ，１０８Ａへ送り、アプリケーション処理装置に出力する１０５，１０６に出力する。ＴＣＰ／ＩＰのみで必要なＡＣＫパケットの送信と再送はＵＤＰ／ＩＰでは必要ないため、通常のＴＣＰ／ＩＰパケットを用いて送受信される。また、ＴＣＰ／ＩＰの帯域制御のために送信側でＴＣＰの送信が制限された場合はＵＤＰ／ＩＰのみで送信される。
【００４６】
このように、性質の異なるＵＤＰ／ＩＰとＴＣＰ／ＩＰを用いて同一のストリームデータを伝送するような場合において、ＴＣＰをＵＤＰでカプセリングしたＵＤＰ−ＴＣＰというパケット形式を定義、処理するようにする。これにより、従来、２度に分割して送るデータを一度のＵＤＰ−ＴＣＰパケットで送信することができ、効率的に伝送帯域を使用することが可能となる。また、最小限のトラヒックでデータ通信を行いつつ、従来プロトコルとの互換性も維持することができる。
【００４７】
［第２の実施の形態］
図９は、本発明の第２の実施の形態に係るデータ通信装置を含むデータ通信システムの構成例を示すブロック図である。
【００４８】
このデータ通信システムは、記録アプリケーション処理装置１０６を含むステーションＡと、表示アプリケーション処理装置１０５を含むステーションＢと、撮像アプリケーション処理装置１０２を含むステーションＣとが、それぞれ伝送路１１３をメディアとするネットワークに接続されている。
【００４９】
第１の実施の形態と同様に作用させるためには、ステーションＣの撮像アプリケーション処理装置１０２で生成し送出されたパケットは、ステーションＡでエラーフリーで記録しながら、ステーションＢでモニタ１０３上に撮像画像を表示する必要がある。そのため、通常のＵＤＰ−ＴＣＰパケットではこれらに同時へ送信することはできない。
【００５０】
そこで、マルチキャストを用いることで複数の宛先に同時へ送信する。マルチキャストは、クラスＤと呼ばれるＩＰアドレスを用い、ＵＤＰパケットの送受信のみが許可される。クラスＤのＩＰアドレスは、図１０に示すように先頭ビットが１１０１・・・で始まるＩＰアドレスであり、１０進表示で２２４、０、０、０〜２３９、２５５、２５５、２５５の範囲にあるＩＰアドレスのことである。これらのクラスＤに属するステーションの集合はホスト・グループと呼ばれ、複数のネットワークに分散して配置することが可能である。そして、各ステーションに自分を示すＩＰアドレスの他にクラスＤのＩＰアドレスを取得してあるホスト・グループのメンバーに所属したり、メンバーから抜けたりすることが可能である。このようなマルチキャストのホスト・グループを管理するプロトコルには、ＩＧＭＰ（インターネット・グループ・マネジメント・プロトコル）が用いられる。
【００５１】
このプロトコルを用いることで、マルチキャスト・データグラムのクライアントが判明するため、このプロトコルを、ステーションでは所属するホスト・グループのデータグラムであるかどうかという判断に使用し、ルータではルーティングする際のインタフェースを判断するのに使用する。必要なインタフェースにのみ転送することで、不必要なトラヒックを削減することができる。
【００５２】
マルチキャストを送信する側は、取得したクラスＤのＩＰアドレス（ホスト・グループ）に対してＵＤＰ／ＩＰを用いて送信することで特定のホスト・グループにメッセージを送信することができる。また、受信側は、ホストグループに参加することでマルチキャストデータグラムを受け取ることができ、脱退することでホスト・グループから抜けることもできる。
【００５３】
ＩＧＭＰではメンバシップクエリーという、ルータがそのネットワークにマルチキャストメンバーを問い合わせるメッセージを出力し、それに対してメンバシップレポートをホストがホスト・グループに参加・脱退するメッセージを出力することができる。
【００５４】
これらのメンバシップクエリーとメンバシップレポートを用いてマルチキャストを制御するルータは、マルチキャストに参加しているステーションのホスト・グループを保持し、管理する。このクラスＤのマルチキャストアドレスを用いてＵＤＰ−ＴＣＰを転送する場合、ＵＤＰ／ＩＰのホストはマルチキャストを用いて複数台の参加が許可されるが、ＵＤＰ／ＩＰを用いるホストはコネクションを確立するため、一台のみの参加が許可される。
【００５５】
そのため、図１１のＵＤＰ−ＴＣＰパケットのフォーマットのように、ＴＣＰ／ＩＰをＵＤＰ／ＩＰでカプセリングすることで、特定のユニキャストＩＰアドレスに対するＴＣＰのコネクションを確立し、複数のＴＣＰ／ＩＰクライアントが参加できない構成となっている。これは、エラー再送型の通信を複数のコネクションに渡って許可すると、伝送路の状態が悪化した場合に再送が多くなり、輻輳が起こりやすいネットワークになってしまうことを防ぐためである。
【００５６】
以上のように構成することで、１つの撮像アプリケーション１０２を含むステーションＣから１つの記録アプリケーションを含むステーションＡと、複数の表示アプリケーションを含むステーションＢに対して同時へ送信することが可能となる。
【００５７】
なお、本発明の目的は、実施形態の機能を実現するプログラムコードを記録した記憶媒体を装置であるステーションＡ，Ｂに供給し、そのシステム或いは装置のコンピュータが前記プログラムコードを読み出して実行することによっても達成される。
【００５８】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００５９】
また、プログラムコードを供給するための記憶媒体としては、例えば、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷを用いることができる。また、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等も用いることができる。又は、プログラムコードをネットワークを介してダウンロードしても良い。
【００６０】
また、本発明は、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、次のような場合も含まれる。即ち、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００６１】
更に、記憶媒体から読み出されたプログラムコードが、機能拡張ユニットに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ユニットのＣＰＵ等が実際の処理を行い、その処理によって前述の実施形態の機能が実現される場合も含まれる。
【００６２】
この場合、上記プログラムは、該プログラムを記憶した記憶媒体から直接、又はインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続された不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
【図面の簡単な説明】
【００６３】
【図１】第１の実施の形態に係るデータ通信装置を含むデータ通信システムの構成例を示すブロック図である。
【図２】図１の構成のデータ通信システムの通信手順を示すシーケンス図である。
【図３】パケット受信処理を示すフローチャートである。
【図４】ＵＤＰ／ＩＰのパケットのフォーマット図である。
【図５】同一のデータをＴＣＰ／ＩＰとＵＤＰ／ＩＰで送信する場合の動作を示すフローチャートである。
【図６】ＵＤＰ−ＴＣＰパケットのフォーマット図である。
【図７】ＵＤＰ−ＴＣＰによるパケット再送が生じた場合のシーケンス図である。
【図８】ＵＤＰ−ＴＣＰによるＴＣＰ輻輳制御が動作した場合のシーケンス図である。
【図９】第２の実施の形態に係るデータ通信装置を含むデータ通信システムの構成例を示すブロック図である。
【図１０】ＩＧＭＰメッセージのフォーマット図である。
【図１１】マルチキャストを用いたＵＤＰ−ＴＣＰパケットフォーマットである。
【符号の説明】
【００６４】
１０１  撮像装置
１０２  カメラアプリケーション
１０３  モニタ
１０４  ビデオレコーダ
１０５  表示アプリケーション
１０６  記録アプリケーション
１０７  ＵＤＰプロトコル装置
１０８  ＴＣＰプロトコル装置
１０９  ＵＤＰ−ＴＣＰプロトコル装置
１１０  ＩＰプロトコル装置
１１１  ＭＡＣ装置
１１２  ＰＨＹ装置
１１３  伝送路
【図１】
0004709060.tif 000002
【図２】
0004709060.tif 000003
【図３】
0004709060.tif 000004
【図４】
0004709060.tif 000005
【図５】
0004709060.tif 000006
【図６】
0004709060.tif 000007
【図７】
0004709060.tif 000008
【図８】
0004709060.tif 000009
【図９】
0004709060.tif 000010
【図１０】
0004709060.tif 000011
【図１１】
0004709060.tif 000012