(57)【要約】    【課題】ＴＣＰによるパケット通信でありながらリアルタイム性を確保した通信を可能とする。    【解決手段】元データを分割してパケットとして送信装置から受信装置に逐次送信し、送信されてきたパケットを受信した受信装置からは前記送信装置に対し受信パケットに対する受信確認応答を送信するパケット通信装置であって、前記受信装置は、受信された受信済みパケットの元データ上のデータ位置を記憶するデータ位置記憶手段６と、該データ位置記憶手段６に記憶された元データ上のデータ位置と前記受信パケットの元データ上のデータ位置とを比較するデータ位置比較手段３と、該データ位置比較手段３により前記受信パケットの元データ上のデータ位置が前記データ位置記憶手段６に記憶された元データ上のデータ位置に対して、後の位置であると判断された場合に、前記受信確認応答を生成する受信確認応答生成手段８とを有する。【選択図】        図１
2005143076.tif 000002
【特許請求の範囲】
【請求項１】
元データを分割してパケットとして送信装置から受信装置に逐次送信し、送信されてきたパケットを受信した受信装置からは前記送信装置に対し受信パケットに対する受信確認応答を送信するパケット通信装置であって、前記受信装置は、
受信された受信済みパケットの前記元データ上のデータ位置を記憶するデータ位置記憶手段と、
該データ位置記憶手段に記憶された前記元データ上のデータ位置と前記受信パケットの前記元データ上のデータ位置とを比較するデータ位置比較手段と、
該データ位置比較手段により前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶手段に記憶された前記元データ上のデータ位置に対して、後の位置であると判断された場合に、前記受信確認応答を生成する受信確認応答生成手段と、
を有することを特徴とするパケット通信装置。
【請求項２】
前記データ位置記憶手段に記憶された前記元データ上のデータ位置を更新するデータ位置更新手段を設け、このデータ位置更新手段は、前記データ位置比較手段により前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶手段に記憶された前記元データ上のデータ位置に対して後の位置であると判断された場合に、前記受信パケットの前記元データ上のデータ位置に該受信パケットに含まれるデータのデータ長さを加えたデータ位置で、前記データ位置記憶手段に記憶された前記元データ上のデータ位置を更新することを特徴とする請求項１記載のパケット通信装置。
【請求項３】
前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶手段に記憶された前記元データ上のデータ位置に対して後の位置であるとの判断は、前記受信パケットに含まれるシーケンス番号と前記受信済みパケットに含まれるシーケンス番号とに基づいて行い、前記受信パケットに含まれるシーケンス番号が前記受信済みパケットに含まれるシーケンス番号シーケンス番号より大きな値である場合に、前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶手段に記憶された前記元データ上のデータ位置に対して後の位置であるとの判断を行うことを特徴とする請求項１または２記載のパケット通信装置。
【請求項４】
前記受信確認応答生成手段で生成される受信確認応答は、そのデータ位置として、前記データ位置更新手段による更新結果としての前記受信パケットの前記元データ上のデータ位置に、該受信パケットに含まれるデータのデータ長さを加えたデータ位置が記述されることを特徴とする請求項２または３記載のパケット通信装置。
【請求項５】
前記データ位置比較手段において、前記受信パケットの前記元データ上のデータ位置と前記データ位置記憶手段に記憶された前記元データ上のデータ位置とを比較した結果、前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶手段に記憶された前記元データ上のデータ位置よりも前の位置である場合は、該受信パケットを廃棄させることを特徴とする請求項１〜４のいずれかに記載のパケット通信装置。
【請求項６】
元データを分割してパケットとして送信装置から受信装置に逐次送信し、送信されてきたパケットを受信した受信装置からは前記送信装置に対し受信パケットに対する受信確認応答を送信するパケット通信方法であって、前記受信装置は、
受信された受信済みパケットの前記元データ上のデータ位置を記憶するデータ位置記憶ステップと、
該データ位置記憶ステップにより記憶された前記元データ上のデータ位置と前記受信パケットの前記元データ上のデータ位置とを比較するデータ位置比較ステップと、
該データ位置比較ステップによって、前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶ステップにより記憶された前記元データ上のデータ位置に対して、後の位置であると判断された場合に、前記受信確認応答を生成する受信確認応答生成ステップと、
を有することを特徴とするパケット通信方法。
【請求項７】
送信装置側から送信されてきたパケットを受信パケットとして受信し、前記送信装置側に対し該受信パケットに対する受信確認応答を送信するデータ受信装置であって、
受信された受信済みパケットの前記元データ上のデータ位置を記憶するデータ位置記憶手段と、
該データ位置記憶手段に記憶された前記元データ上のデータ位置と前記受信パケットの前記元データ上のデータ位置とを比較するデータ位置比較手段と、
該データ位置比較手段により前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶手段に記憶された前記元データ上のデータ位置に対して、後の位置であると判断された場合に、前記受信確認応答を生成する受信確認応答生成手段と、
を有することを特徴とするデータ受信装置。
【請求項８】
送信装置側から送信されてきたパケットを受信パケットとして受信し、前記送信装置側に対し該受信パケットに対する受信確認応答を送信するデータ受信方法であって、
受信された受信済みパケットの前記元データ上のデータ位置を記憶するデータ位置記憶ステップと、
該データ位置記憶ステップにより記憶された前記元データ上のデータ位置と前記受信パケットの前記元データ上のデータ位置とを比較するデータ位置比較ステップと、
該データ位置比較ステップによって、前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶ステップにより記憶された前記元データ上のデータ位置に対して、後の位置であると判断された場合に、前記受信確認応答を生成する受信確認応答生成ステップと、
を有することを特徴とするデータ受信方法。
【請求項９】
元データを分割してパケットとして送信装置から受信装置に逐次送信し、送信されてきたパケットを受信した受信装置からは前記送信装置に対し受信パケットに対する受信確認応答を送信するパケット通信装置であって、前記受信装置は、
受信された受信済みパケットの前記元データ上のデータ位置を記憶するデータ位置記憶手段と、
パケット到着最大待ち時間を含むタイムアウト条件を設定するタイムアウト条件設定手段と、
前記タイムアウト条件に基づいてタイムアウトか否かを判定するタイムアウト条件判定手段と、
このタイムアウト条件判定手段によりタイムアウトと判定された場合には、前記データ位置記憶手段に記憶された前記元データ上のデータ位置に基づいて模擬的な受信確認応答を生成する受信確認応答生成手段と、
を有することを特徴とするパケット通信装置。
【請求項１０】
前記データ位置記憶手段に記憶された前記元データ上のデータ位置を更新するデータ位置更新手段を設け、このデータ位置更新手段は、前記タイムアウト条件判定手段によりタイムアウトの判定がなされた場合に、前記データ位置記憶手段に記憶された前記元データ上のデータ位置に前記パケット到着最大待ち時間に対応するタイムアウトデータ長さを加えたデータ位置で、前記データ位置記憶手段に記憶された前記元データ上のデータ位置を更新することを特徴とする請求項９記載のパケット通信装置。
【請求項１１】
前記受信確認応答生成手段で生成される受信確認応答は、そのデータ位置として、前記データ位置更新手段による更新結果としての前記データ位置記憶手段に記憶された元データ上のデータ位置に前記タイムアウトデータ長さを加えたデータ位置が記述されることを特徴とする請求項１０記載のパケット通信装置。
【請求項１２】
前記パケット到着最大待ち時間は、平均通信速度を毎秒ＡＢＲバイト、前記送信装置と受信装置の平均往復遅延時間をＲＴＴ秒、受信確認応答を待たずに連続送信が可能なデータサイズであるウィンドウサイズをＷＩＮバイトとしたとき、（（ＷＩＮ／ＡＢＲ）−ＲＴＴ）秒またはその近傍に設定されることを特徴とする請求項９〜１１のいずれかに記載のパケット通信装置。
【請求項１３】
前記タイムアウトデータ長さは、前記タイムアウト時間×ＡＢＲに設定されることを特徴とする請求項１０または１１に記載のパケット通信装置。
【請求項１４】
前記タイムアウト条件判定手段におけるタイムアウトの判定の結果、タイムアウトと判定されなかった場合は、
タイムアウトと判定されなかった受信パケットに対し、該受信パケットの前記元データにおけるデータ位置と前記データ位置記憶手段に記憶された元データ上のデータ位置とを比較し、前記受信パケットの前記元データにおけるデータ位置が前記データ位置記憶手段に記憶された元データ上のデータ位置に対して、後の位置であると判断された場合には、受信確認応答を生成することを特徴とする請求項９〜１３のいずれかに記載のパケット通信装置。
【請求項１５】
元データを分割してパケットとして送信装置から受信装置に逐次送信し、送信されてきたパケットを受信した受信装置からは前記送信装置に対し受信パケットに対する受信確認応答を送信するパケット通信方法であって、前記受信装置は、
受信された受信済みパケットの前記元データ上のデータ位置を記憶するデータ位置記憶ステップと、
パケット到着最大待ち時間を含むタイムアウト条件の設定を行うタイムアウト条件設定ステップと、
前記タイムアウト条件に基づいてタイムアウトか否かを判定するタイムアウト条件判定ステップと、
このタイムアウト条件判定手段によりタイムアウトと判定された場合には、前記データ位置記憶手段に記憶された前記元データ上のデータ位置に基づいて模擬的な受信確認応答を生成する受信確認応答生成ステップと、
を有することを特徴とするパケット通信方法。
【請求項１６】
送信装置側から送信されてきたパケットを受信パケットとして受信し、前記送信装置側に対し該受信パケットに対する受信確認応答を送信するデータ受信装置であって、
受信された受信済みパケットの前記元データ上のデータ位置を記憶するデータ位置記憶手段と、
パケット到着最大待ち時間を含むタイムアウト条件を設定するタイムアウト条件設定手段と、
前記タイムアウト条件に基づいてタイムアウトか否かを判定するタイムアウト条件判定手段と、
このタイムアウト条件判定手段によりタイムアウトと判定された場合には、前記データ位置記憶手段に記憶された前記元データ上のデータ位置に基づいて模擬的な受信確認応答を生成する受信確認応答生成手段と、
を有することを特徴とするデータ受信装置。
【請求項１７】
送信装置側から送信されてきたパケットを受信パケットとして受信し、前記送信装置側に対し該受信パケットに対する受信確認応答を送信するデータ受信方法であって、
受信された受信済みパケットの前記元データ上のデータ位置を記憶するデータ位置記憶ステップと、
パケット到着最大待ち時間を含むタイムアウト条件の設定を行うタイムアウト条件設定ステップと、
前記タイムアウト条件に基づいてタイムアウトか否かを判定するタイムアウト条件判定ステップと、
このタイムアウト条件判定手段によりタイムアウトと判定された場合には、前記データ位置記憶手段に記憶された前記元データ上のデータ位置に基づいて模擬的な受信確認応答を生成する受信確認応答生成ステップと、
を有することを特徴とするデータ受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はリアルタイム通信に好適なパケット通信装置、パケット通信方法、データ受信装置およびデータ受信方法に関する。
【背景技術】
【０００２】
インターネットなどのネットワーク上での通信は、パケット型通信であると言うこと、またベストエフォート型通信であるなどの特徴がある。
【０００３】
パケット型通信（以下ではパケット通信という）においては、パケットと呼ばれるデータ構造を単位として通信が行われることに特徴がある。通信されるパケットには、たとえば音声などの元データを細分化してなるデータ部分と宛先情報などの付加情報が含まれる。
【０００４】
また、ベストエフォート型通信においては、通信の質が保証されないと言う特徴がある。通信の質が保証されないというのは、送信したパケットが宛先に到着するまでの遅延時間、到着する順序は保証されないということであり、更には到着すること自体が保証されないと言うことである。
【０００５】
パケットの宛先への到着を保証する方法としては、ＩＥＴＦ標準であるＲＦＣ７９３（非特許文献１）に規定されたコネクション型の通信プロトコルであるＴＣＰ（Transmission Control Protocol）などがある。
【０００６】
このＴＣＰによるパケット通信では、到着したデータに対応する受信確認応答パケット（以下、ＡＣＫ応答パケットという）が受信装置から送信装置へ送信される。これにより、送信装置では自分の送信したパケットが受信装置に到着したことを確認することができ、受信装置からＡＣＫ応答パケットが返ってこなければパケットの再送を行う。これによって、パケットが宛先に届くことを保証することができる。図１０から図１４を用いてこれを簡単に説明する。
【０００７】
図１０は、ＴＣＰにおいて用いられる個々のパケットに含まれるデータ（音声など送信すべきデータ）に付加される付加情報を模式的に示したものである。このうち、本発明の説明において特に関連があるのは、シーケンス番号（以下、ＳＥＱ番号という）、受信確認応答番号（以下、ＡＣＫ番号という）、及びウィンドサイズ（以下、ＷＩＮという）である。
【０００８】
図１１は非特許文献１に関する単純化したＴＣＰによるパケット通信動作を模式的に示した図である。この図１１において、送信装置から最初に送信されるパケットをパケットＡとする。このパケットＡのＳＥＱ：２０００は、ＳＥＱ番号が２０００であることを表し、送信されるパケットに含まれるデータの元データ上のデータ位置を表している。
なお、元データ上のデータ位置は、一般的には、「パケットのＳＥＱ番号値−ＳＥＱ番号初期値」で表すことができる。たとえば、パケットＡのＳＥＱ番号初期値が０であれば、パケットＡのＳＥＱ：２０００は、パケットＡに含まれるデータは、元データの先頭から２０００バイト目からのデータであることを示している。ＳＥＱの初期値は０であるとは限らないが、以下の説明では、ＳＥＱ番号初期値は０であるとする。
【０００９】
また、このパケットＡのＡＣＫ：１０００は、ＡＣＫ番号が１０００であることを示しているが、この例ではＡＣＫ番号が１０００であることに特別な意味はない。なお、以下では、パケットに含まれるデータの元データ上の位置をパケットの元データ上の位置という。
また、送信装置から受信装置へ送信される個々のパケットに含まれるデータの長さは、それぞれがすべて１００バイトであるとする。
【００１０】
このパケットＡが受信装置で受信されたとき、受信装置では受信確認応答としてのＡＣＫ応答パケットａが生成され、そのＡＫＣ応答パケットａが送信装置に送信される。このＡＣＫ応答パケットａのＡＣＫ：２１００は、ＡＣＫ応答パケットａのＡＣＫ番号が２１００であることを示しており、この２１００は、この場合、パケットＡのＳＥＱ番号が２０００で、かつ、パケットＡ中に含まれるデータの長さが１００であるので、その和である２１００を意味している。
【００１１】
このＡＣＫ：２１００であることの意味は、受信装置が送信装置に対して、次に送信を要求するのは、元データの先頭位置を０としてデータ位置が２１００からのデータであると言うことである。あるいは、現在、元データの先頭から２１００バイトのデータを受け取ったと言うことである。
【００１２】
なお、ＡＣＫ応答パケットａにおいて、受信装置から送信装置へ送信されるデータは無いので、ＡＣＫ応答パケットａのＳＥＱ番号は、パケットＡに記述されているＡＣＫ番号である１０００がそのまま使用され、ＳＥＱ：１０００として記述される。同様に、送信装置から送られてくるパケットＢに対しては、受信装置においてＡＣＫ応答パケットｂが生成される。
【００１３】
ここで、この図１１に示すように、パケットＣが何らかの原因によりパケットロスしたと仮定する。ＴＣＰによるパケット通信においては、送信装置は、パケット送信時に図中の太い矢印Ｔｓで示すようなＡＫＣ応答パケット到着待ち時間としてのタイムアウト時間を設定する。このタイムアウト時間内に受信装置からのＡＣＫ応答パケットが戻らない場合、送信装置は、そのパケット（この例ではパケットＣ）がパケットロスしたと判断し、パケットロスしたパケットＣをパケットＤとして再送する。
【００１４】
この図１１は、送信装置では１パケットごとに受信装置からのＡＣＫ応答パケットを待つものであるが、実際には、より効率的に通信を行うために、ウィンドウサイズの設定によるウィンドウ制御を用いたパケット通信が行われる。
【００１５】
図１２は非特許文献１に関する所定のウィンドウサイズの設定がなされた場合のＴＣＰによるパケット通信動作の一例を説明する図である。この例においても、送信装置から送り出されるパケットに含まれるデータは全て１００バイトであるとする。また、ウィンドウサイズは、簡単のためにパケット４つ分のデータサイズに相当する４００バイトであるとする。
【００１６】
このウィンドウ制御を用いることにより、送信装置は、そのウィンドウサイズに達するまでは、受信装置からのＡＣＫ応答パケットを待たずに連続的なパケット送信を行うことが可能となる。
【００１７】
図１２ではＡＣＫ応答パケットを待たずに３つのパケットを送信し（この図１２の例では、たとえば、ＳＥＱ：２０００、ＳＥＱ：２１００、ＳＥＱ：２２００のパケットが受信装置からのＡＣＫ応答パケットを待たずに送信されている）、以降も、ＡＣＫ応答パケットを待たずに最大４つ分のパケットを送信することができる。図１１と図１２を比較すれば、図１２の方が効率的なパケット通信を行えることは明らかである。
【００１８】
図１３は、図１２の方式において、パケットロスが発生した場合の処理を模式的に示したものである。図１３に示すように、ＡＣＫ応答パケットを待たずに、この場合、最大で４つのパケットＡ、Ｂ、Ｃ、Ｄを送信することができる。
【００１９】
ここで、送信したパケットのうち、パケットＢがパケットロスしたとする。その後、パケットＡに対応するＡＣＫ応答パケットａが送信装置に到着したことに対応し、送信装置ではパケットＥが送信される。しかし、パケットＢがパケットロスしたために、このパケットＢに対応するＡＣＫ応答パケットは返されない。また、パケットＣ、Ｄ、Ｅは正常に受信装置において受信されるが、パケットＢがパケットロスしているので、パケットＣ、Ｄ、Ｅに対応するＡＣＫ応答パケットの送信は保留される。
【００２０】
送信装置においては、パケットＢの送信を基点に、太い矢印Ｔｓで示すタイムアウト時間（パケット到着最大待ち時間）が設定され、そのタイムアウト時間内にＡＣＫ応答パケットの到着がない場合、タイムアウトとしてパケットＢがパケットロスしたものと判断し、パケットＢと同じパケットがパケットＦとして再送される。
【００２１】
そして、パケットＦを受信した受信装置においては、このパケットＦの受信によって、パケットＣ、Ｄ、Ｅによるデータも有効となるため、その分も含めたＡＣＫ応答パケットｆが返される。
【００２２】
この方法に対し、ＩＥＴＦ標準のＲＦＣ２５８２（非特許文献２）に規定される方法がある。図１４は非特許文献２に関するＴＣＰによるパケット通信動作の一例を説明する図である。この方法は、パケットロスしたことの監視を前述した図１３の方法のようにタイムアウト時間によって行うのではなく、受信装置からのＡＣＫ応答パケットを用いて行うものである。
【００２３】
この図１４においても図１３と同じくパケットＢがパケットロスしたとする。受信装置において、パケットＡに対するＡＣＫ応答パケットａが送信された後、パケットＣが受信されたとする。それにより、受信装置では、少なくとも１つのパケットがパケットロスしたことを検出する。このとき、受信装置においては、ＡＣＫ応答パケットａと同じ内容のＡＣＫ応答パケットａ’ａ”を送信する。
【００２４】
送信装置においては、受信装置から同一のＡＣＫ応答パケットが複数回送信されたことにより、それに対応するパケット、つまりＡＣＫ応答パケットａのＡＣＫ番号が２１００（ＡＣＫ：２１００）であるので、ＳＥＱ番号が２１００（ＳＥＱ：２１００）であるパケットＢがパケットロスしたことを知ることができる。よって、パケットロスしたパケットＢをパケットＦとして再送する。
図１３と図１４を比較することにより明らかであるが、図１４の方法の方が図１３の方法に比べて、より高速にデータ通信を再開することができる。
以上は送信装置からのパケットがパケットロスしたと仮定したものであるが、受信装置からのＡＣＫ応答パケットがパケットロスした場合も、処理内容としては同様である。
【００２５】
このように、ＴＣＰによるパケット通信は、パケットの宛先への到着を受信装置からのＡＣＫ応答パケットにより確認し、ＡＣＫ応答パケットが受信されずに到着を確認できないパケットについては再送を行い、それにより通信の完全性を保証するものである。
【００２６】
しかし、インターネット上で、音声や動画像などのリアルタイムデータを通信するときには、ＩＥＴＦ標準であるＲＦＣ７６８（非特許文献３）に規定されたコネクションレス型通信プロトコルであるＵＤＰ（User Datagram Protocol）が用いられることが多い。このＵＤＰにおいては、送信装置と受信装置でのハンドシェィクは行われず、パケットロス時にもパケットが再送されることはない。
【００２７】
図１５は非特許文献３に関するＵＤＰにおいて用いられるパケットの付加情報を模式的に示した図である。ＵＤＰによるパケット通信においては、ＴＣＰの場合のパケットへの付加情報（図１０参照）のように、ＳＥＱ番号やＡＣＫ番号、またＷＩＮに対応するデータは含まれていない。これは、ＵＤＰによるパケット通信がＴＣＰによるパケット通信のようなハンドシェイクを行わないことによるものであり、ＵＤＰのみによるパケット通信ではパケットのロスや到着順序の逆転も検出できない。
【００２８】
図１６は非特許文献３に関するＵＤＰによるパケット通信動作の一例を説明する図である。この図１６より明らかであるように、送信装置からのパケットはパケットロスの有無に係らず一定の時間間隔で送信される。これは、音声や動画像などのリアルタイム通信に適したものである。一方、先に述べたように、パケットロス時にも再送は行われず、パケットの宛先への到着は保証されない。また、その到着する順序も保証されない。
【００２９】
【非特許文献１】ＩＥＴＦ標準ＲＦＣ７９３
【非特許文献２】ＩＥＴＦ標準ＲＦＣ２５８２
【非特許文献３】ＩＥＴＦ標準ＲＦＣ７６８
【発明の開示】
【発明が解決しようとする課題】
【００３０】
単純なＴＣＰを用いた通信においてはパケットロスに対し、図１１と図１３を用いて説明したように、ＡＣＫ応答パケットをタイムアウト時間内で待ち、タイムアウト時間経過してもＡＣＫ応答パケットが到着しない場合には再送を行うことになる。そのために通信が抑制され、大きな遅延が発生する可能性がある。
【００３１】
また、図１４で説明したような方法によるパケット通信においても、図１１や図１３に示す単純なものに比較して高速化されたとは言え、少なくとも、複数のＡＣＫ応答パケットが通信される分だけの遅延が発生する。
【００３２】
しかし、パケットの通信遅延が問題となるリアルタイム通信においては、このような再送処理を用いることはできない。つまり、音声や動画像などのリアルタイムデータにおいては、パケットロスしたパケットが再送により到着したとしても、その再生のタイミングに間に合わなければ、再送されたパケットに含まれるデータは無意味なものとなってしまうからである。
【００３３】
一方、ＵＤＰを用いたパケット通信においては、このような再送処理を伴う通信の抑制による送信装置の遅延が発生することはない。しかし、ＵＤＰを用いた通信においては、ＵＤＰによるパケットの通過がファイアウォールなどで禁止されている場合が多いと言う問題がある。これは、リアルタイムで通信される音声や動画像は非常にデータ量が大きく、これを許可することにより、他の通信における通信速度の低下などを引き起こす可能性があるからである。
【００３４】
以上のように、従来技術においては、ＴＣＰによるパケット通信はリアルタイム性を保証することが困難であると言う問題があり、ＵＤＰによるパケット通信においては、そのデータの通過がファイアウォールなどで禁止されていると言う問題がある。
【００３５】
そこで本発明はＴＣＰを用いたパケット通信を用いながらＵＤＰによるパケット通信と同様なリアルタイム性を確保することができるパケット通信装置、パケット通信方法、データ受信装置およびデータ受信方法を提供することを目的としている。
【課題を解決するための手段】
【００３６】
（１）本発明のパケット通信装置は、元データを分割してパケットとして送信装置から受信装置に逐次送信し、送信されてきたパケットを受信した受信装置からは前記送信装置に対し受信パケットに対する受信確認応答を送信するパケット通信装置であって、前記受信装置は、受信された受信済みパケットの前記元データ上のデータ位置を記憶するデータ位置記憶手段と、該データ位置記憶手段に記憶された前記元データ上のデータ位置と前記受信パケットの前記元データ上のデータ位置とを比較するデータ位置比較手段と、該データ位置比較手段により前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶手段に記憶された前記元データ上のデータ位置に対して、後の位置であると判断された場合に、前記受信確認応答を生成する受信確認応答生成手段とを有することを特徴とする。
【００３７】
このように、本発明は送信装置から送られてきたパケット（受信パケット）のデータ位置とすでに受信処理された受信済みパケットのデータ位置との比較においてのみ受信確認応答（ＡＣＫ応答パケット）が生成されるので、送信装置においては、パケットロスの有無に係わらず、一定の時間間隔でのデータ送信が可能となる。これによって、たとえば、音声や動画像といったリアルタイムデータの通信に好適なパケット通信が可能となる。さらに、本発明は受信装置のみの対応で済むので、送信装置の変更は不要である。
【００３８】
これによって、ＴＣＰを用いてＵＤＰと同等のリアルタイム性を確保することができる。また、パケットのデータ形式としてはＴＣＰと同等のものを用いるためファイアウォールを通過しやすくなる。また、送信装置はＴＣＰと同等であるので、たとえば、外部からの悪意のある通信に対して、受信装置がリアルタイム通信を拒否できるといった効果もある。これは、ＴＣＰの場合は、受信装置がＡＣＫ応答パケットを返さなければ、受信確認応答を待たずに連続送信が可能なデータサイズであるウィンドウサイズを超えての送信は行えないからである。
【００３９】
（２）前記（１）に記載のパケット通信装置においては、前記データ位置記憶手段に記憶された前記元データ上のデータ位置を更新するデータ位置更新手段を設け、このデータ位置更新手段は、前記データ位置比較手段により前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶手段に記憶された前記元データ上のデータ位置に対して後の位置であると判断された場合に、前記受信パケットの前記元データ上のデータ位置に該受信パケットに含まれるデータのデータ長さを加えたデータ位置で、前記データ位置記憶手段に記憶された前記元データ上のデータ位置を更新するようにしている。
【００４０】
これによって、現時点における受信済みパケットの元データ上のデータ位置を適正に表すことができる。これにより、送信装置から送られてきたパケット（受信パケット）のデータ位置とすでに受信処理された受信済みパケットのデータ位置との比較を適正に行うことができ、両者のデータ位置の前後関係の判断を適正に行うことができる。
【００４１】
（３）前記（１）または（２）に記載のパケット通信装置においては、前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶手段に記憶された前記元データ上のデータ位置に対して後の位置であるとの判断は、前記受信パケットに含まれるシーケンス番号と前記受信済みパケットに含まれるシーケンス番号とに基づいて行い、前記受信パケットに含まれるシーケンス番号が前記受信済みパケットに含まれるシーケンス番号シーケンス番号より大きな値である場合に、前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶手段に記憶された前記元データ上のデータ位置に対して後の位置であるとの判断を行うことが好ましい。
【００４２】
これは、受信パケットの前記元データ上におけるデータ位置と受信済みパケットの前記元データ上におけるデータ位置の前後関係を、受信パケットおよび受信済みパケットに含まれるそれぞれのシーケンス番号の大きさによって判断するということである。なお、前記（２）の場合においては、受信パケットに含まれるシーケンス番号が前記受信済みパケットに含まれるシーケンス番号より大きな値である場合に、前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶手段に記憶された前記元データ上のデータ位置に対して後の位置であると判断する。これにより、受信パケットと受信済みパケットとの前記元データ上におけるデータ位置の前後関係を適性に判断することができる。
【００４３】
（４）前記（２）または（３）に記載のパケット通信装置においては、前記受信確認応答生成手段で生成される受信確認応答は、そのデータ位置として、前記データ位置更新手段による更新結果としての前記受信パケットの前記元データ上のデータ位置に、該受信パケットに含まれるデータのデータ長さを加えたデータ位置が記述されるようにしている。  これによって、受信済みパケットの元データ上のデータ位置を送信装置に対して適正に通知することができる。
【００４４】
（５）前記（１）〜（４）のいずれかに記載のパケット通信装置においては、前記データ位置比較手段において、前記受信パケットの前記元データ上のデータ位置と前記データ位置記憶手段に記憶された前記元データ上のデータ位置とを比較した結果、前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶手段に記憶された前記元データ上のデータ位置よりも前の位置である場合は、該受信パケットを廃棄させることが好ましい。
【００４５】
これは、送信されてくるパケットのデータ位置の順序が逆転した場合、それを廃棄するものであり、これによって、音声や動画像などのリアルタイムデータの通信を行う場合において、受信装置で無意味なパケットについての処理を行わないようにすることがきる。
なお、前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶手段に記憶された前記元データ上のデータ位置よりも前の位置であるか否かの判断は、前記（３）に記載したように、受信パケットおよび受信済みパケットに含まれるそれぞれのシーケンス番号の大きさによって判断することができる。（５）の場合においては、受信パケットに含まれるシーケンス番号が受信済みパケットに含まれるシーケンス番号より小さな値である場合に、前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶手段に記憶された前記元データ上のデータ位置に対して前の位置であると判断する。
【００４６】
（６）本発明のパケット通信方法は、元データを分割してパケットとして送信装置から受信装置に逐次送信し、送信されてきたパケットを受信した受信装置からは前記送信装置に対し受信パケットに対する受信確認応答を送信するパケット通信方法であって、前記受信装置は、受信された受信済みパケットの前記元データ上のデータ位置を記憶するデータ位置記憶ステップと、該データ位置記憶ステップにより記憶された前記元データ上のデータ位置と前記受信パケットの前記元データ上のデータ位置とを比較するデータ位置比較ステップと、該データ位置比較ステップによって、前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶ステップにより記憶された前記元データ上のデータ位置に対して、後の位置であると判断された場合に、前記受信確認応答を生成する受信確認応答生成ステップとを有することを特徴としている。
この（６）に記載のパケット通信方法においても、前記（１）と同様の効果を得ることができる。
【００４７】
また、（６）に記載のパケット通信方法においても、前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶ステップによって記憶された前記元データ上のデータ位置に対して、後の位置であると判断された場合に、前記受信パケットの前記元データ上のデータ位置に該受信パケットに含まれるデータのデータ長さを加えたデータ位置で、前記データ位置記憶ステップによって記憶された前記元データ上のデータ位置を更新するようにすることが好ましい。
【００４８】
また、（６）に記載のパケット通信方法においても、前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶ステップによって記憶された前記元データ上のデータ位置に対して、後の位置であるとの判断は、前記受信パケットに含まれるシーケンス番号と前記受信済みパケットに含まれるシーケンス番号とに基づいて行い、前記受信パケットに含まれるシーケンス番号が前記受信済みパケットに含まれるシーケンス番号シーケンス番号より大きな値である場合に、前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶ステップによって記憶された前記元データ上のデータ位置に対して、後の位置であるとの判断を行うことが好ましい。
【００４９】
また、（６）に記載のパケット通信方法においても、前記受信確認応答は、そのデータ位置として、前記データ位置更新結果としての前記受信パケットの前記元データ上のデータ位置に、該受信パケットに含まれるデータのデータ長さを加えたデータ位置が記述されるようにすることが好ましい。
【００５０】
また、（６）に記載のパケット通信方法においても、前記受信パケットの前記元データ上のデータ位置と前記データ位置記憶ステップによって記憶された前記元データ上のデータ位置とを比較した結果、前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶ステップによって記憶された前記元データ上のデータ位置よりも前の位置である場合は、該受信パケットを廃棄させるようにすることが好ましい。
【００５１】
（７）本発明のデータ受信装置は、送信装置側から送信されてきたパケットを受信パケットとして受信し、前記送信装置側に対し該受信パケットに対する受信確認応答を送信するデータ受信装置であって、受信された受信済みパケットの前記元データ上のデータ位置を記憶するデータ位置記憶手段と、該データ位置記憶手段に記憶された前記元データ上のデータ位置と前記受信パケットの前記元データ上のデータ位置とを比較するデータ位置比較手段と、該データ位置比較手段により前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶手段に記憶された前記元データ上のデータ位置に対して、後の位置であると判断された場合に、前記受信確認応答を生成する受信確認応答生成手段とを有することを特徴とする。
この（７）に記載のデータ受信装置を用いることによって、（１）に記載したパケット通信装置を構成することができ、（１）のパケット通信装置と同様の効果を得ることができる。なお、（７）に記載のデータ受信装置においても、前記（２）〜（５）に記載したパケット通信装置の特徴と同様の特徴を有することが好ましい。
【００５２】
（８）本発明のデータ受信方法は、送信装置側から送信されてきたパケットを受信パケットとして受信し、前記送信装置側に対し該受信パケットに対する受信確認応答を送信するデータ受信方法であって、受信された受信済みパケットの前記元データ上のデータ位置を記憶するデータ位置記憶ステップと、該データ位置記憶ステップにより記憶された前記元データ上のデータ位置と前記受信パケットの前記元データ上のデータ位置とを比較するデータ位置比較ステップと、該データ位置比較ステップによって、前記受信パケットの前記元データ上のデータ位置が前記データ位置記憶ステップにより記憶された前記元データ上のデータ位置に対して、後の位置であると判断された場合に、前記受信確認応答を生成する受信確認応答生成ステップとを有することを特徴とする。
この（８）に記載のデータ受信方法を用いることによって（６）に記載したパケット通信方法を構築することができる。なお、（８）に記載のデータ受信方法においても、前記（２）〜（５）に記載したパケット通信装置の特徴と同様の特徴を有することが好ましい。
【００５３】
（９）本発明のパケット通信装置は、元データを分割してパケットとして送信装置から受信装置に逐次送信し、送信されてきたパケットを受信した受信装置からは前記送信装置に対し受信パケットに対する受信確認応答を送信するパケット通信装置であって、前記受信装置は、受信された受信済みパケットの前記元データ上のデータ位置を記憶するデータ位置記憶手段と、パケット到着最大待ち時間を含むタイムアウト条件を設定するタイムアウト条件設定手段と、前記タイムアウト条件に基づいてタイムアウトか否かを判定するタイムアウト条件判定手段と、このタイムアウト条件判定手段によりタイムアウトと判定された場合には、前記データ位置記憶手段に記憶された前記元データ上のデータ位置に基づいて模擬的な受信確認応答を生成する受信確認応答生成手段とを有することを特徴とする。
【００５４】
これは受信装置にタイムアウト処理を行うもので、これによれば、バースト的な連続したパケットロスが発生した場合であっても送信装置ではＵＤＰを用いたパケット通信と同様の連続的な送信が可能となる。
【００５５】
（１０）前記（９）に記載のパケット通信装置においては、前記データ位置記憶手段に記憶された前記元データ上のデータ位置を更新するデータ位置更新手段を設け、このデータ位置更新手段は、前記タイムアウト条件判定手段によりタイムアウトの判定がなされた場合に、前記データ位置記憶手段に記憶された前記元データ上のデータ位置に前記パケット到着最大待ち時間に対応するタイムアウトデータ長さを加えたデータ位置で、前記データ位置記憶手段に記憶された前記元データ上のデータ位置を更新するようにしている。
【００５６】
これによって、現時点における受信済みデータ位置を適正に表すことができる。これにより、送信装置から送られてきたパケットのデータ位置とすでに受信処理された受信済みパケットのデータ位置との比較を適正に行うことができ、両者のデータ位置の前後関係の判断を適正に行うことができる。
【００５７】
（１１）前記（１０）に記載のパケット通信装置においては、前記受信確認応答生成手段で生成される受信確認応答は、そのデータ位置として、前記データ位置更新手段による更新結果としての前記データ位置記憶手段に記憶された元データ上のデータ位置に前記タイムアウトデータ長さを加えたデータ位置が記述されるようにしている。
これによって、受信済みパケットの元データ上のデータ位置を送信装置に対して適正に通知することができる。
【００５８】
（１２）前記（９）〜（１１）のいずれかに記載のパケット通信装置においては、前記パケット到着最大待ち時間は、平均通信速度を毎秒ＡＢＲバイト、前記送信装置と受信装置の平均往復遅延時間をＲＴＴ秒、受信確認応答を待たずに連続送信が可能なデータサイズであるウィンドウサイズをＷＩＮバイトとしたとき、（（ＷＩＮ／ＡＢＲ）−ＲＴＴ）秒またはその近傍に設定されることが好ましい。
【００５９】
これは、送信装置から受信装置へデータが到着し、それに対するＡＣＫ応答が送信装置で受信されるためには、最低でもＲＴＴ秒だけの時間が必要であり、これによって、送信を継続させるためのタイムアウト時間の最大値は（（ＷＩＮ／ＡＢＲ）−ＲＴＴ）秒程度であると考えることができるからである。したがって、タイムアウト時間がこの値よりも小さく設定されていれば、連続した送信が可能となるということである。
ただし、ウィンドウサイズに相当するパケットがすべて失われるという最悪の状態に対応できるようにすることを考えると、タイムアウト時間の最大値（（ＷＩＮ／ＡＢＲ）−ＲＴＴ）秒またはその近傍に設定することが好ましい。
【００６０】
（１３）前記（１０）または（１２）に記載のパケット通信装置においては、前記タイムアウトデータ長さは、前記タイムアウト時間×ＡＢＲに設定される。
これは、タイムアウト時間が前記（１２）のように設定されることにより、そのタイムアウト時間によってタイムアウトデータ長さの設定が可能となることを示している。
【００６１】
（１４）前記（９）〜（１３）のいずれかに記載のパケット通信装置においては、前記タイムアウト条件判定手段におけるタイムアウトの判定の結果、タイムアウトと判定されなかった場合は、タイムアウトと判定されなかった受信パケットに対し、該受信パケットの前記元データにおけるデータ位置と前記データ位置記憶手段に記憶された元データ上のデータ位置とを比較し、前記受信パケットの前記元データにおけるデータ位置が前記データ位置記憶手段に記憶された元データ上のデータ位置に対して、後の位置であると判断された場合には、受信確認応答を生成することが好ましい。
【００６２】
これは、タイムアウト時間に達しない間に送信装置からパケットが受信された場合であり、この場合は、前記（１）のパケット通信装置の発明と同じ処理を行うことを可能としている。これによって、この（１４）に記載のパケット通信装置は、（１）の発明に加えて、バースト的な連続したパケットロスが発生した場合であっても送信装置ではＵＤＰを用いたパケット通信と同様の連続的な送信が可能となるという効果を有するものである。
【００６３】
（１５）本発明のパケット通信方法は、元データを分割してパケットとして送信装置から受信装置に逐次送信し、送信されてきたパケットを受信した受信装置からは前記送信装置に対し受信パケットに対する受信確認応答を送信するパケット通信方法であって、前記受信装置は、受信された受信済みパケットの前記元データ上のデータ位置を記憶するデータ位置記憶ステップと、パケット到着最大待ち時間を含むタイムアウト条件の設定を行うタイムアウト条件設定ステップと、前記タイムアウト条件に基づいてタイムアウトか否かを判定するタイムアウト条件判定ステップと、このタイムアウト条件判定手段によりタイムアウトと判定された場合には、前記データ位置記憶手段に記憶された前記元データ上のデータ位置に基づいて模擬的な受信確認応答を生成する受信確認応答生成ステップとを有することを特徴とする。
【００６４】
この（１５）に記載のパケット通信方法においても、前記（９）に記載したパケット通信装置と同様の効果が得られる。
また、この（１５）に記載のパケット通信方法においても、前記タイムアウトの判定がなされた場合に、前記データ位置記憶ステップによって記憶された前記元データ上のデータ位置に前記パケット到着最大待ち時間に対応するタイムアウトデータ長さを加えたデータ位置で、前記データ位置記憶ステップによって記憶された前記元データ上のデータ位置を更新することが好ましい。
【００６５】
また、この（１５）に記載のパケット通信方法においても、前記受信確認応答は、そのデータ位置として、前記データ位置更新結果としての前記データ位置記憶ステップによって記憶された元データ上のデータ位置に前記タイムアウトデータ長さを加えたデータ位置が記述されることが好ましい。
【００６６】
また、この（１５）に記載のパケット通信方法においても、前記タイムアウト時間は、平均通信速度を毎秒ＡＢＲバイト、前記送信装置と受信装置の平均往復遅延時間をＲＴＴ秒、受信確認応答を待たずに連続送信が可能なデータサイズであるウィンドウサイズをＷＩＮバイトとしたとき、（（ＷＩＮ／ＡＢＲ）−ＲＴＴ）秒またはその近傍に設定されることが好ましい。
また、この（１５）に記載のパケット通信方法においても、前記タイムアウトデータ長さは、前記タイムアウト時間×ＡＢＲに設定されることが好ましい。
【００６７】
また、この（１５）に記載のパケット通信方法においても、前記タイムアウト条件判定ステップにおけるタイムアウトの判定の結果、タイムアウトと判定されなかった場合は、タイムアウトと判定されなかった受信パケットに対し、該受信パケットの前記元データにおけるデータ位置と前記データ位置記憶ステップによって記憶された元データ上のデータ位置とを比較し、前記受信パケットの前記元データにおけるデータ位置が前記データ位置記憶ステップによって記憶された元データ上のデータ位置に対して、後の位置であると判断された場合には、受信確認応答を生成することが好ましい。
【００６８】
（１６）本発明のデータ受信装置は、送信装置側から送信されてきたパケットを受信パケットとして受信し、前記送信装置側に対し該受信パケットに対する受信確認応答を送信するデータ受信装置であって、受信された受信済みパケットの前記元データ上のデータ位置を記憶するデータ位置記憶手段と、パケット到着最大待ち時間を含むタイムアウト条件を設定するタイムアウト条件設定手段と、前記タイムアウト条件に基づいてタイムアウトか否かを判定するタイムアウト条件判定手段と、このタイムアウト条件判定手段によりタイムアウトと判定された場合には、前記データ位置記憶手段に記憶された前記元データ上のデータ位置に基づいて模擬的な受信確認応答を生成する受信確認応答生成手段とを有することを特徴とする。
【００６９】
この（１６）に記載のデータ受信装置を用いることによって、（９）に記載したパケット通信装置を構成することができ、（９）のパケット通信装置と同様の効果を得ることができる。なお、（１６）に記載のデータ受信装置においても、前記（１０）〜（１４）に記載したパケット通信装置の特徴と同様の特徴を有することが好ましい。
【００７０】
（１７）本発明のデータ受信方法は、送信装置側から送信されてきたパケットを受信パケットとして受信し、前記送信装置側に対し該受信パケットに対する受信確認応答を送信するデータ受信方法であって、受信された受信済みパケットの前記元データ上のデータ位置を記憶するデータ位置記憶ステップと、パケット到着最大待ち時間を含むタイムアウト条件の設定を行うタイムアウト条件設定ステップと、前記タイムアウト条件に基づいてタイムアウトか否かを判定するタイムアウト条件判定ステップと、このタイムアウト条件判定手段によりタイムアウトと判定された場合には、前記データ位置記憶手段に記憶された前記元データ上のデータ位置に基づいて模擬的な受信確認応答を生成する受信確認応答生成ステップとを有することを特徴とする。
【００７１】
この（１７）に記載のデータ受信方法を用いることによって（１５）に記載したパケット通信方法を構築することができる。なお、（１７）に記載のデータ受信方法においても、前記（１０）〜（１４）に記載したパケット通信装置の特徴と同様の特徴を有することが好ましい。
【発明を実施するための最良の形態】
【００７２】
以下、本発明の実施形態について説明する。なお、この実施形態で説明する内容は、本発明のパケット通信装置、パケット通信方法、データ受信装置およびデータ受信方法の説明を含むものである。
【００７３】
〔実施形態１〕
本発明の実施形態１を図１から図４を用いて詳細に説明する。なお、この実施形態１およびそのあとで説明する実施の形態２においては、元データ（音声や動画像などリアルタイム性のあるデータとする）はその先頭から順にパケット化されて送信されるものとする。
また、本発明においては、送信されるパケット（受信側から見れば受信したパケット）の元データ上のデータ位置の前・後とは、時間軸上における送信順序の前・後を示し、データ位置が前にあるほど送信順序は時間軸上の前方であることを示している。それはまた、受信側においては、期待される到着時間の前・後を示すもので、データ位置が前ほど、本来の到着時間は時間軸上の前方であるべきことを示している。
なお、元データ上のデータ位置の前・後は、送信されるパケット（受信側においては受信したパケット）に含まれるシーケンス番号の大きさに基づいて判断することが可能である。たとえば、受信側において、受信した複数のパケットのそれぞれに含まれるシーケンス番号が大きいほど、該パケットの元データ上のデータ位置は後の位置であるとする。
【００７４】
図１は本発明の実施形態１におけるパケット通信装置の構成を示したものである。なお、本発明は受信側（受信装置という）の処理に特徴を有し、送信側（送信装置という）はＴＣＰによるパケット通信を行う従来の送信装置そのものを特に変更する必要がないので、この図１では受信装置の構成のみが示されている。
【００７５】
この図１に示されるパケット通信装置における受信装置は、送信されてきたパケットを受信するパケット受信手段１、このパケット受信手段１で受信したパケット（受信パケットという）の元データ上のデータ位置を取得するデータ位置取得手段２、このデータ位置取得手段２により取得されたデータ位置とすでに受信された受信済みパケットの元データ上のデータ位置とを比較するデータ位置比較手段３、受信パケットをある条件（これについては後述する）において廃棄するパケット廃棄手段４、受信パケットに含まれるデータ（再生すべき音声や動画像などのデータ）を取得するデータ取得手段５、上述のすでに受信された受信済みパケットの元データ上のデータ位置を記憶するデータ位置記憶手段６、このデータ位置記憶手段６の記憶内容をデータ位置比較手段３の比較結果に基づいて更新するデータ位置更新手段７、このデータ位置更新手段７による更新結果に基づいて受信確認応答としてのＡＣＫ応答パケットを生成する受信確認応答生成手段８、この受信確認応答生成手段８で生成されたＡＣＫ応答パケットを送信装置に送信する受信確認応答送信手段９を有した構成となっている。
なお、これら各構成要素の詳細な動作や詳細な機能などについては以下の説明の中で必要に応じて逐次行う。
【００７６】
図２は本発明の実施形態１のパケット通信動作を説明する図であり、従来技術の一例を説明した図１３に対応するものである。この図２の動作例においても、個々のパケットに含まれるデータは全て１００バイトであるとする。また、ウィンドウサイズは、簡単のためにパケット４つ分のデータに相当する４００バイトであるとする。また、この図２においても、図１３と同様に、パケットＢがパケットロスした状況を例として示す。        
【００７７】
以下、上述した図１と図２、さらに実施形態１の処理の流れを示す図３のフローチャートを用いて、この実施形態１の動作を詳細に説明する。
図３は本発明の実施形態１の処理手順を説明するフローチャートである。図３において、通信モードとしては、ここではリアルタイムモードが選択されているものとする（ステップＳ１）。なお、リアルタイムモードが選択されていない場合は、ＴＣＰによるパケット通信の通常の受信処理（ステップＳ１１）を行えばよいので、ステップＳ２以降で示されるこの実施形態１の処理は行う必要はない。
【００７８】
リアルタイムモードにおいて、まず、送信装置から送信されたパケット（図２におけるパケットＡ）がパケット受信手段１で受信されたとする（ステップＳ２）。ここで、受信パケットがデータ受信処理終了を示すパケットであるか否かを判断し(ステップＳ３)、データ受信処理終了を示すパケットであれば処理を終了するが、そうでなければ、その受信パケットの元データ上のデータ位置（以下では、受信パケットのデータ位置という）をデータ位置取得手段２が取得する（ステップＳ４）。
【００７９】
これは、たとえば、図１０に示した個々のパケットの付加情報の中から、ＳＥＱ番号を読み出す処理である。この図２の例においては、パケットＡからはＳＥＱ番号として２０００が読み出される。
【００８０】
ここで、取得された受信パケットのデータ位置（ＳＥＱ番号）と、データ位置記憶手段６に記憶されている受信済みパケットの元データ上のデータ位置（以下、受信済みデータ位置という）のＳＥＱ番号が、データ位置比較手段３により比較される（ステップＳ５）。ここではデータ位置記憶手段６に記憶されている受信済みデータ位置のＳＥＱ番号が２０００以下であると仮定する。
【００８１】
これにより、ステップＳ５の判断において、受信パケットのデータ位置はその前後関係において、データ位置記憶手段６に記憶されている受信済みデータ位置と同じか、それより後の位置であると判断されるため、受信済みデータ位置の更新とＡＣＫ応答パケットの生成および送信が行われる（ステップＳ６〜Ｓ８）。
【００８２】
具体的には、まず、データ位置更新手段７によって、データ位置記憶手段６に記憶された受信済みデータ位置が、「受信パケットのデータ位置＋データ長さ」に更新される。この例では受信パケットＡのデータ位置（この例では２０００）とその受信パケットＡのデータ長さ（この例では１００）の和（この例では２１００）に更新される（ステップＳ６）。そして、それに対応するＡＣＫ応答パケットａが生成され（ステップＳ７）、生成されたＡＣＫ応答パケット（この場合、ＡＣＫ応答パケットａ）が送信装置に送信される（ステップＳ８）。
【００８３】
このＡＣＫ応答パケットａは、ステップＳ６における更新結果である受信パケットＡのデータ位置（２０００）とその受信パケットのデータ長さ（１００）の和である２１００のデータ位置、すなわち、「２０００＋１００＝２１００」のデータ位置を有するＡＣＫ応答パケットとなる。
そして、受信パケットＡに含まれるデータ（たとえば、音声や動画像などのデータ）を上位アプリケーションへ転送する（ステップＳ９）。
【００８４】
その後、ステップＳ１に処理が戻り、図２に示すように、送信装置からはパケットＢが送信されて来るが、このパケットＢはパケットロスしたので、受信装置ではパケットＢを受信することができず、それに対するＡＣＫ応答パケットは生成されない。
【００８５】
さらにその後、パケットＣが送信され、このパケットＣが受信装置で受信されると（ステップＳ２）、上述のパケットＡに対する処理と同様の処理が行われる。つまり、受信パケットＣのデータ位置は２２００であり、このデータ位置２２００は、データ位置記憶手段６に記憶されているこの時点における受信済みデータ位置の２１００よりもデータ位置の前後関係において後であるために、データ位置記憶手段６に記憶されている受信済みパケットのデータ位置は「２２００＋１００」の２３００に更新されるとともに、その更新結果に基づいたＡＣＫ応答パケットｃが送信される。
【００８６】
ところで、従来例である図１３においては、パケットロスしたパケットＢに続いて送信されたパケットＣが正常に受信されても、それに対応するＡＣＫ応答パケットは生成されない。これはパケットＢが未着であると言うパケットロスの履歴に基づいた判断がなされるからである。
【００８７】
これに対して、この実施形態１においては、上述のように、過去のパケットロスの履歴に係わらず、受信パケットのデータ位置と受信済みパケットのデータ位置との比較を行い、受信パケットのデータ位置が受信済みデータ位置よりも後であるという条件を満たしたときにＡＣＫ応答パケットが生成される。そのため、図２に示すように、パケットＢが受信できなくても、パケットＣ、Ｄに対応するＡＣＫ応答パケットｃ、ｄが生成される。これによって、送信装置においては、図１１に示したＵＤＰによるパケット通信のように、パケットロスの有無に係わらず、一定の時間間隔でのパケット送信が可能となる。
【００８８】
また、図２に示すように、パケットＥに対応するＡＣＫ応答パケットｅがパケットロスしたとする。この場合においても、パケットＦに対応するＡＣＫ応答パケットｆが送信されるので、ＡＣＫ応答パケットｅのロスが通信に影響を与えることはない。      
【００８９】
このように、この実施形態１においては、通常のＴＣＰによるパケット通信においてリアルタイム性を阻害しているハンドシェイク、再送による遅延が発生しない。しかも、パケットデータ形式としてはＴＣＰと同等のものを用いるパケット通信であるために、ＵＤＰによる通信では通過を禁止しているファイアウォールを通過することができる。
【００９０】
一方、通常のＴＣＰによるパケット通信においてはパケットが宛先に到着することが保証されているが、本発明においてはそれが保証されない。しかし、ＵＤＰによるパケット通信を用いたリアルタイム通信を要求するアプリケーションにおいては、パケットロスの影響を低減する方法は予め用意されており、パケットが宛先に到着することが保証されないこと自体は大きな問題とはならない。そのため、受信装置のデータ受信部を本発明が適用可能となるように置換することを除いては、受信装置では従来のアプリケーションをそのまま用いることができる。
【００９１】
また、送信装置においては、受信装置が通常のＴＣＰによるパケット通信を行っているのか、それとも本発明による通信を行っているのかを区別する必要がなく、従来のアプリケーションを修正なしに使用することができる。
【００９２】
勿論、本発明の処理は従来技術と共存することが可能であり、図３のフローチャートの最初の処理（ステップＳ１の処理）として示したように、リアルタイムモードを選択した場合にのみ、本発明の処理が行われ、それ以外においては従来のＴＣＰによるパケット通信処理（ステップＳ１１）が行われるようにすることができる。
【００９３】
また、図４は本発明の実施形態１においてパケット間に到着順序の逆転が生じた場合の動作を説明する図である。従来のＴＣＰによるパケット通信においては、同一データが重複して受信された場合を除き、到着したデータが廃棄されることはない。
【００９４】
図４に示すように、パケットＥが何らかの原因により非常に大きく遅延して受信装置に到達したとする。従来のＴＣＰによるパケット通信においてもウィンドウサイズを非常に大きくした場合には、このようなことが起こりえる。
【００９５】
このように、あるパケットが何らかの原因により、非常に大きく遅延して受信装置に到達するような状況が発生した場合は、図３のフローチャートのステップＳ５の判断において、受信パケットのデータ位置がデータ位置記憶手段６に記憶されている受信済みデータ位置に同じか後かの条件を満たさなかった場合は、その遅延したパケットを廃棄する。
【００９６】
すなわち、この図４におけるパケットＥのデータ位置は、そのＳＥＱ番号によれば、この場合、２４００である。一方、データ位置記憶手段６に記憶されているその時点における受信済みデータ位置は、この場合、ＡＣＫ応答パケットｆにより記述されたデータ位置である２６００に更新されている。
【００９７】
したがって、パケットＥのデータ位置は、データ位置記憶手段６に記憶されている、その時点における受信済みデータ位置よりも前のパケットであると判断される。このように、あるパケットが何らかの原因により、非常に大きく遅延して受信装置に到達することによって、パケット間に到着順序の逆転が生じるような状況が発生した場合は、このパケットＥは廃棄されることになる（ステップＳ１０）。このため、このパケットＥに対応するＡＣＫ応答パケットは生成されず、パケットＥの大きな遅延が通信に影響を与えることはない。
【００９８】
以上説明したように、この実施形態１では、所定のウィンドウサイズを有した通常のＴＣＰによるパケット通信処理に加え、リアルタイム通信用のパケット通信処理を持っている。すなわち、たとえば、以降がリアルタイム通信であるとの指示がされた場合、その指示の出されたあとパケット通信における受信装置の処理をリアルタイム通信用のパケット受信処理に切り替えることができる。
【００９９】
このリアルタイム通信用のパケット受信処理は、図２のフローチャートにおけるステップＳ２以降の処理である。このリアルタイム通信用のパケット受信処理を要約すれば、受信パケットのデータ位置が、データ位置記憶手段６に記憶された受信済みデータ位置よりも後である場合、それに対応するＡＣＫ応答を返す。また、データ位置記憶手段６に記憶された受信済みデータ位置は最新のデータ位置に更新される。
【０１００】
また、パケットロスが検出されたとしても、設定されたウィンドウサイズに達するまでは、受信パケットのデータ位置が、データ位置記憶手段６に記憶された受信済みデータ位置よりも後である場合、パケットロスの検出を無視してＡＣＫ応答を返す。一方、受信パケットのデータ位置が、データ位置記憶手段６に記憶された受信済みデータ位置よりも前である場合、その受信パケットを廃棄する。このとき、データ位置記憶手段６に記憶された受信済みデータ位置は更新されない。
【０１０１】
このように、受信装置はパケットロスに対する制御などを全く行わず、受信した１つ１つのパケットにのみ注目してＡＣＫ応答パケットを生成してそれを送信装置へ送信する。これは従来の受信処理よりも非常に簡単な処理となる。これにより、少数のパケットロスに対する再送を抑制することになる。また、ＡＣＫ応答パケットがパケットロスしたとしても、次々に送られるＡＣＫ応答により再送が抑制されることになる。
【０１０２】
これによって、ＵＤＰと同等のリアルタイム性を確保することができる。また、パケットデータ形式としてはＴＣＰと同等の形式を用いるためファイアウォールを通過しやすくなる。さらに、受信装置のみの対応であるので、送信装置の変更が不要である。また、送信装置はＴＣＰと同等であるので、たとえば、外部からの悪意のある通信に対して、受信装置がリアルタイム通信を拒否できるという効果もある。つまり、ＵＤＰの場合、送信装置は受信装置の状態に係わらずデータを送信し続けることができるのに対し、ＴＣＰの場合は、受信装置がＡＣＫ応答パケットを返さなければ、ウィンドウサイズを超えての送信は行えないからである。
【０１０３】
〔実施形態２〕
本発明の実施形態２を図５から図９を用いて詳細に説明する。この実施形態２は、図５に示すような状況に対応できるようにすることを主な目的としている。
【０１０４】
図５は連続したパケットロスが生じた場合のＴＣＰによるパケット通信動作を説明する図である。図５において、受信装置においては、パケットＡが受信され、それに対応したＡＣＫ応答パケットａが送信された後、送信装置から送信されたパケットに連続的なパケットロスが発生したとする。
【０１０５】
このとき、送信装置はウィンドウサイズ（ここでも４パケット分としている）に達するまではパケットを送信することができるが、ウィンドウサイズに達した時点で送信は停止する。また、受信装置においては、パケットＡよりも後に送信された全てのパケットが未着であるために、パケットＡに対するＡＣＫ応答パケットａを送信したあとは、ＡＣＫ応答パケットが生成されることはない。
【０１０６】
このため、この図５に示す例においては、送信装置では図５において太い矢印Ｔｓで示したパケット到着待ち最大時間としてのタイムアウト時間が経過するまでは送信が再開されず、タイムアウト時間が経過した時点で、この場合、パケットＢ以降の再送が開始される。なお、パケットＦはパケットＢに対する再送パケットである。
【０１０７】
この図５のような連続したパケットロス（たとえば、バースト的なパケットロス）が発生した場合、送信装置では連続的な送信が行えない状況となる。このような状況は前述した実施形態１においても起こり得る。すなわち、実施形態１は、通常のパケットロスに対して対処することを目的としたものであり、通常のパケットロスに対しては十分対応可能となるが、この図５のようなバースト的なパケットロスへの対応は十分ではない。実施形態２はこれを解決するものである。
【０１０８】
図６は本発明の実施形態２を説明する受信装置の構成図である。実施形態２では、図６の構成図に示すように、受信装置にタイムアウト条件設定手段１１、タイムアウト条件記憶手段１２、タイムアウト条件判定手段１３を設ける。それ以外の構成は図１と同様であるので、同じ構成要素には同一符号が付されている。なお、これらタイムアウト条件設定手段１１、タイムアウト条件記憶手段１２、タイムアウト条件判定手段１３の動作や機能については以下に示す実施形態２の動作説明の中で説明する。
【０１０９】
以下、図６から図９を用いて本発明の実施形態２について詳細に説明する。なお、この実施形態２においても個々のパケットに含まれるデータは全て１００バイトであるとする。また、ウィンドウサイズはここでもパケット４つ分のデータに相当する４００バイトであるとする。
【０１１０】
図７は本発明の実施形態２の処理手順を説明するフローチャートである。図７のフローチャートにおいて、通信モードとしてはリルタイムモードが選択されているものとする（ステップＳ２１）。このリアルタイムモードにおいて、パケットを受信するか、あるいは、タイムアウト判定処理を行う（ステップＳ２２）。
【０１１１】
図８はこの実施形態２のパケット通信動作を説明する図であり、この図８の例では、送信装置から送信されたパケットＡはパケットロスせずに受信装置に到着するので、まずはこのパケットＡを受信する。このパケットＡの受信により、タイムアウト条件設定手段１１が起動され、タイムアウト条件が設定される（ステップＳ２３）。そして、その設定されたタイムアウト条件がタイムアウト条件記憶手段１２に記憶される。
【０１１２】
このタイムアウト条件設定手段１１で設定されるタイムアウト条件は、パケット到着最大待ち時間としてのタイムアウト時間とこのタイムアウト時間に対応するタイムアウトデータ長さからなり、このタイムアウト時間とタイムアウトデータ長さはタイムアウト条件記憶手段１２に記憶される。この図８の例ではタイムアウトデータ長さは２００バイトとしている。このタイムアウトデータ長さとタイムアウト時間との間には、「タイムアウトデータ長さ＝タイムアウト時間×平均通信速度（平均ビットレート）」の関係が成り立つ。このタイムアウト時間とタイムアウトデータ長さについては後に詳細に説明する。
図８の受信装置に太い矢印Ｔｒで示したものが、タイムアウト時間であり、受信装置でタイムアウト処理を行うことが実施形態２の特徴でもある。
【０１１３】
なお、受信パケットＡに対しては実施形態１の図３におけるステップＳ３〜Ｓ９と同様の処理（この図７ではステップＳ２８〜Ｓ３４）がなされ、ＡＣＫ応答パケットａが生成されて送信装置に送信されるとともに、パケットＡに含まれるデータ（音声や動画像などのデータ）が上位のアプリケーションに転送される。
【０１１４】
その後、図５や図８で示したように連続したパケットロスによりパケットＢ、Ｃ、Ｄ、Ｅがパケットロスしたとする。これによって、受信装置へのこれらのパケットＢ、Ｃ、Ｄ、Ｅの到着はないが、この実施形態２では、受信装置においてタイムアウト条件に基づいてタイムアウトか否かの判定がなされる（ステップＳ２４）。このタイムアウトか否かの判定は、タイムアウト条件判定手段１３によって、タイムアウト条件記憶手段１２に記憶されているタイムアウト時間が経過したか否かを判定することにより行われる。そして、タイムアウト時間が経過すると、データ位置更新手段７によって、データ位置記憶手段６に記憶されている受信済みデータ位置の更新がなされる。
【０１１５】
このデータ位置更新手段７によるデータ位置更新処理は、具体的には、まず、データ位置記憶手段６に記憶されている受信済みデータ位置が、タイムアウト条件に基づいて更新される。すなわち、データ位置記憶手段６に記憶されている受信済みデータ位置が、受信済みデータ位置に、タイムアウト条件記憶手段１２に記憶されているタイムアウトデータ長を加えた値（受信済みデータ位置＋タイムアウトデータ長さ）に更新される（ステップＳ２５）。この例では、データ位置記憶手段６に記憶されている受信済みデータ位置は、パケットＡの受信によって受信済みデータ位置は２１００となっているので、この受信済みデータ位置（２１００）とタイムアウトデータ長さ（この例では２００）の和（２３００）に更新される。
【０１１６】
そして、その更新結果のデータ位置を有するＡＣＫ応答パケットｘが生成される（ステップＳ２６）。すなわち、データ位置記憶手段６に記憶されている受信済みデータ位置である２１００とタイムアウトデータ長さである２００の和２３００をデータ位置としたＡＣＫ応答パケットｘが生成される。
【０１１７】
この生成されたＡＣＫ応答パケットｘは送信装置に送信される（ステップＳ２７）。なお、このＡＣＫ応答パケットｘは、実際に受信したパケットに対するＡＣＫ応答パケットではなく、パケットの受信がなされないにもかかわらず生成されるもので、いわば模擬的なＡＣＫ応答パケット（ダミーのＡＣＫ応答パケット）である。
つまり、模擬的なＡＣＫ応答パケットは、受信装置側において、到着すべき受信パケットが所定の時間内（タイムアウト時間内）に到着しなかった場合、実際にはパケットの受信確認はしていないにもかかわらず、受信したものとして送信装置側に送信されるものである。一方、送信装置側では、その模擬的なＡＣＫ応答パケットを通常のＡＣＫ応答パケットとして受信するので、たとえば、途中でパケットロスしたようなパケットに対する再送処理は行われない。
【０１１８】
そして、ステップＳ２２に戻り、パケットを受信するか、あるいは、タイムアウト判定処理が行われるが、この場合、これ以降もデータが受信されないために、タイムアウト判定処理が行われる。
【０１１９】
このタイムアウト判定処理として、まず、次のタイムアウト条件を設定し（ステップＳ２３）、設定されたタイムアウト条件がタイムアウト条件記憶手段１２に記憶され、続いて、上述同様、タイムアウトか否かの判定がなされる（ステップＳ２４）。
【０１２０】
この判定の結果、タイムアウトとなると、データ位置更新手段７によって、データ位置記憶手段６に記憶されている受信済みデータ位置（この例では２３００）が、その受信済みデータ位置（この例では２３００）とタイムアウトデータ長さ（この例では２００）の和（この例では２５００）に更新される（ステップＳ２５）。
【０１２１】
そして、その更新結果のデータ位置を有するＡＣＫ応答パケットｙが生成される（ステップＳ２６）。すなわち、データ位置記憶手段６に記憶されている受信済みデータ位置である２３００とタイムアウトデータ長さである２００の和２５００をデータ位置としたＡＣＫ応答パケットｙが生成される。この生成されたＡＣＫ応答パケットｙが送信装置に送信される（ステップＳ２７）。なお、このＡＣＫ応答パケットｙもＡＣＫ応答パケットｘと同様、模擬的なＡＣＫ応答パケットである。
【０１２２】
そして、ステップＳ２２に戻る。今度はパケットＦを受信したのち、次のタイムアウト条件を設定し、設定されたタイムアウト条件がタイムアウト記憶手段に記憶される（ステップＳ２３）。
【０１２３】
その後、上述同様、タイムアウトか否かの判定がなされるが（ステップＳ２４）、この場合、正常にパケットを受信しているので、タイムアウトとはならず、ステップＳ２８〜Ｓ３４の処理が行われる。このステップＳ２８〜Ｓ３４の処理は、図３のステップＳ３〜Ｓ９の処理と同じである。
【０１２４】
なお、ステップＳ３０において、受信パケットのデータ位置が受信済みパケットのデータ位置記憶手段６の受信済みパケットのデータ位置と同じかあるいは後であるかの条件を満たさない場合、すなわち、パケットが何らかの原因により、非常に大きく遅延して受信装置に到達したような場合は、その遅延したパケットを廃棄する処理（ステップＳ３５）を行うことも図３と同様である。
【０１２５】
この図８と先に説明した図５との比較より明らかであるように、この実施形態２においては、バースト的なパケットロスが発生したにもかかわらず、送信装置では連続的なパケット送信が可能となる。これは図１６に示したＵＤＰによるパケット通信の場合と同様に、リアルタイム通信に適したものである。
【０１２６】
なお、この実施形態２で用いられるタイムアウト時間は、ウィンドウサイズをＷＩＮ（バイト）、平均通信速度をＡＢＲ（バイト／秒）、送信装置と受信装置の通信における平均往復遅延時間をＲＴＴ（秒）とした時、（（ＷＩＮ／ＡＢＲ）−ＲＴＴ）またはその近傍とすることが望ましい。
【０１２７】
図９は本発明の実施形態２で用いられるタイムアウト条件の設定について説明する図である。送信装置においては、図に示したように、ＷＩＮ／ＡＢＲの時間だけはＡＣＫ応答無しに送信を継続することができる。つまりＡＣＫ応答パケットがこの時間以内に到着すれば、それにより送信を継続することができる。
【０１２８】
また、この図９に示したように、送信装置から受信装置へデータが到着し、それに対するＡＣＫ応答パケットが送信装置で受信されるためには、最低でもＲＴＴ秒だけの時間が必要である。つまり、送信を継続させるためのタイムアウト時間の最大値は（（ＷＩＮ／ＡＢＲ）−ＲＴＴ）秒程度であると考えることができる。したがって、タイムアウト時間がこの値よりも小さく設定されていれば、連続した送信が可能となる。
【０１２９】
しかし、頻繁にタイムアウトが起こるような状況においては、通信遅延の変動などにより到着の遅れたパケットを廃棄してしまう確率も大きくなる。そのため、タイムアウト時間としては、上述の最大値（（ＷＩＮ／ＡＢＲ）−ＲＴＴ）秒とするか、または、その近傍に設定することが望ましい。また、このときのタイムアウトデータ長さとして適切であるのは、タイムアウト時間にＡＢＲの値を乗算したものであることは以上の説明より明らかである。
【０１３０】
図８を例にとり、これを再度検証してみる。説明を簡単にするために、図８においては、１秒間に１つのパケットが送信されるとする。１つのパケットに含まれるデータはここでは１００バイトとしているのでＡＢＲ（平均通信速度）は１００バイト／秒である。また、この場合、ＷＩＮは４００バイトとしている。さらに、図８より明らかであるようにＲＴＴとしては、ほぼ２秒としている。これらの値は現実的な数字ではないが、説明の一般性を損なうものではない。
【０１３１】
以上の数字を（（ＷＩＮ／ＡＢＲ）−ＲＴＴ）の式に当てはめると、タイムアウト時間は、（（４００／１００）−２）＝２秒となる。これは、この例においては２パケットの送信時間に相当し、図８のタイムアウト時間を示す太い矢印はほぼその長さとなっている。また、このタイムアウト時間は、２パケット分の２００バイトのタイムアウトデータ長さに相当する。
【０１３２】
図８において、タイムアウト時に生成されるＡＣＫ応答パケットは、このタイムアウトデータ長さを用いている。これらの値を用いることにより、図８に示したように、連続したパケットロスの発生時においても、送信装置では連続した送信を行うことが可能となる。
【０１３３】
以上説明したように、実施形態２は前述した実施形態１を基本にして、受信装置にタイムアウト処理を追加したものである。なお、ＴＣＰを用いた従来技術においては、タイムアウト処理を行うのは送信装置である。
【０１３４】
この実施形態２では、連続的に発生するバースト的なパケットロスに対応するために、受信装置においてタイムアウト処理を行い、設定されたタイムアウト時間内にデータの到着がない場合、実際にパケットの受信がなくても模擬的なＡＣＫ応答パケットを生成し、送信装置において送信が抑制されることを防止する。
【０１３５】
これによって、実施形態１で得られる効果に加えて、バースト的なパケットロスが生じても送信装置の送信の連続性を確保することができる。
【０１３６】
なお、本発明は上述の実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲で種々変形実施可能となるものである。たとえば、実施形態２において、パケットＡを受信した場合のタイムアウト時間の設定は図８においては、パケットＡを受信した時点が基点となっているが、これは、パケットＡに対するＡＣＫ応答パケットａを送信した時点を基点とすることもできる。
【０１３７】
また、本発明は以上説明した本発明を実現するための処理手順が含まれる処理プログラムを作成し、その処理プログラムをフロッピィディスク、光ディスク、ハードディスクなどの記録媒体に記録させておくこともでき、本発明は、その処理プログラムの記録された記録媒体をも含むものである。また、ネットワークから当該処理プログラムを得るようにしてもよい。
【図面の簡単な説明】
【０１３８】
【図１】本発明の実施形態１を説明する受信装置の構成図である。
【図２】本発明の実施形態１のパケット通信動作を説明する図である。
【図３】本発明の実施形態１の処理手順を説明するフローチャートである。
【図４】本発明の実施形態１においてパケット間に到着順序の逆転が生じた場合の動作を説明する図である。
【図５】連続したパケットロスが生じた場合のＴＣＰによるパケット通信動作を説明する図である。
【図６】本発明の実施形態２を説明する受信装置の構成図である。
【図７】本発明の実施形態２の処理手順を説明するフローチャートである。
【図８】本発明の実施形態２のパケット通信動作を説明する図である。
【図９】本発明の実施形態２で用いられるタイムアウト条件の設定について説明する図である。
【図１０】ＴＣＰによるパケットの付加情報を模式的に示す図である。
【図１１】非特許文献１に関する単純化されたＴＣＰによるパケット通信動作の一例を説明するフローチャートである。
【図１２】非特許文献１に関する所定のウィンドウサイズの設定がなされた場合のＴＣＰによるパケット通信動作の一例を説明する図である。
【図１３】図１２においてパケットロスが生じた場合のパケット通信動作を説明する図である。
【図１４】非特許文献２に関するＴＣＰによるパケット通信動作の一例を説明する図である。
【図１５】非特許文献３に関するＵＤＰにおいて用いられるパケットの付加情報を模式的に示した図である。
【図１６】非特許文献３に関するＵＤＰによるパケット通信動作の一例を説明する図である。
【符号の説明】
【０１３９】
１  パケット受信手段、２  データ位置取得手段、３  データ位置比較手段、４  パケット廃棄手段、５  データ取得手段、６  データ位置記憶手段、７  データ位置更新手段、８  受信確認応答生成手段、１１  タイムアウト条件設定手段、１２  タイムアウト条件記憶手段、１３  タイムアウト条件判定手段
【図１】
2005143076.tif 000003
【図２】
2005143076.tif 000004
【図３】
2005143076.tif 000005
【図４】
2005143076.tif 000006
【図５】
2005143076.tif 000007
【図６】
2005143076.tif 000008
【図７】
2005143076.tif 000009
【図８】
2005143076.tif 000010
【図９】
2005143076.tif 000011
【図１０】
2005143076.tif 000012
【図１１】
2005143076.tif 000013
【図１２】
2005143076.tif 000014
【図１３】
2005143076.tif 000015
【図１４】
2005143076.tif 000016
【図１５】
2005143076.tif 000017
【図１６】
2005143076.tif 000018