(57)【要約】【課題】アプリケーションが必要とする再送機能への要件に応じて、パケット単位で柔軟な再送制御を実施する。【解決手段】通信装置で実行されるアプリケーション間でデータを伝送する通信方法であって、トランスポート層でＵＤＰによってデータを伝送し、前記アプリケーションは、伝送するデータパケット単位で再送方法を制御する。【選択図】図６
2020136842.tif 000002
【特許請求の範囲】
【請求項１】
通信装置で実行されるアプリケーション間でデータを伝送する通信方法であって、
トランスポート層でＵＤＰによってデータを伝送し、
前記アプリケーションは、伝送するデータパケット単位で再送方法を制御することを特徴とする通信方法。
【請求項２】
請求項１に記載の通信方法であって、
前記アプリケーションは、
ＵＤＰ上で再送を制御するためのフラグ群及びシーケンス番号を、伝送するデータパケットに付与し、
前記フラグ群の設定値の操作によって、伝送するデータパケット単位で再送方法を制御することを特徴とする通信方法。
【請求項３】
請求項２に記載の通信方法であって、
前記フラグ群は、再送方法を制御するための第一のフラグを含み、
前記第一のフラグは、
データパケットの受信側の通信装置が受信する場合は、ＡＣＫ応答及びＮＡＣＫ応答の少なくとも一方を要求するか否かを示し、
データパケットの送信側の通信装置が受信する場合は、前記データパケットの再送を要求するか否かを示すことを特徴とする通信方法。
【請求項４】
請求項３に記載の通信方法であって、
前記フラグ群は、
前記データパケットの送信側か、前記データパケットに対してＡＣＫ応答及びＮＡＣＫ応答の少なくとも一方の送信側かを示す第二のフラグと、
ＡＣＫ応答かＮＡＣＫ応答かを示す、又はＡＣＫ応答及びＮＡＣＫ応答の両方を要求するかＮＡＣＫ応答のみを要求するかを示す、のいずれかである第三のフラグとを含むことを特徴とする通信方法。
【請求項５】
請求項４に記載の通信方法であって、
１以上の前記フラグ群及び前記シーケンス番号のセットを前記各データパケットに配置し、
前記フラグ群は、当該セットの後続に別の前記セットがあるか否かを示す第四のフラグを含むことを特徴とする通信方法。
【請求項６】
請求項４又は５に記載の通信方法であって、
前記第二のフラグがデータパケットの送信側であることを示す場合、前記第三のフラグは、ＡＣＫ応答及びＮＡＣＫ応答の両方を要求するか、ＮＡＣＫ応答のみを要求するかを示し、
前記第二のフラグがＡＣＫ応答及びＮＡＣＫ応答の少なくとも一方の送信側であることを示す場合、前記第三のフラグは、ＡＣＫ応答かＮＡＣＫ応答かを示すことを特徴とする通信方法。
【請求項７】
装置のアプリケーション間でデータを伝送する通信装置であって、
装置間でデータを伝送するアプリケーションと、
前記アプリケーションから伝送するデータパケットに、ＵＤＰ上で再送を制御するためのフラグ群とシーケンス番号とを付加して、ＵＤＰパケットとして送出する送信部と、
該装置外から入力されるＵＤＰパケットを受信し、データパケット本体とＵＤＰ上で再送を制御するためのフラグ群及びシーケンス番号とを分離して、前記アプリケーションに出力する受信部と、
前記送信部から送信されるＵＤＰパケットを一時的に蓄積する送信バッファ部と、
前記受信部で分離されたフラグ群の値及び前記シーケンス番号に基づいて、前記送信バッファ部に蓄積されたＵＤＰパケットのうち、該シーケンス番号に対応するＵＤＰパケットを再送するように制御する再送制御部と、を備えることを特徴とする通信装置。
【請求項８】
請求項７に記載の通信装置であって、
前記フラグ群は、再送方法を制御するための第一のフラグを含み、
前記第一のフラグは、
データパケットの受信側の通信装置が受信する場合は、ＡＣＫ応答及びＮＡＣＫ応答の両方を要求するか否かを示し、
データパケットの送信側の通信装置が受信する場合は、前記データパケットの再送を要求するか否かを示すことを特徴とする通信装置。
【請求項９】
請求項８に記載の通信装置であって、
前記フラグ群は、
前記データパケットの送信側か、前記データパケットに対してＡＣＫ応答及びＮＡＣＫ応答の少なくとも一方の送信側かを示す第二のフラグと、
フラグを受信した装置に、ＡＣＫ応答かＮＡＣＫ応答かを示す、又はＡＣＫ応答及びＮＡＣＫ応答の両方を要求するかＮＡＣＫ応答のみを要求するかを示す、のいずれかである第三のフラグとを含むことを特徴とする通信装置。
【請求項１０】
請求項９に記載の通信装置であって、
前記送信部は、１以上の前記フラグ群及び前記シーケンス番号のセットを前記各データパケットに配置し、
前記フラグ群は、当該セットの後続に別の前記セットがあるか否かを示す第四のフラグを含むことを特徴とする通信装置。
【請求項１１】
請求項９又は１０に記載の通信装置であって、
前記第二のフラグがデータパケットの送信側であることを示す場合、前記第三のフラグは、ＡＣＫ応答及びＮＡＣＫ応答の両方を要求するか、ＮＡＣＫ応答のみを要求するかを示すインジケータであり、
前記第二のフラグがＡＣＫ応答及びＮＡＣＫ応答の少なくとも一方の送信側であることを示す場合、前記第三のフラグは、ＡＣＫ応答かＮＡＣＫ応答かを示すインジケータであることを特徴とする通信装置。
【請求項１２】
請求項９又は１０に記載の通信装置であって、
前記送信部は、前記送信バッファ部にＵＤＰパケットを一時的に蓄積する際、前記第二のフラグがＡＣＫ応答及びＮＡＣＫ応答の少なくとも一方の送信側であることを示す場合、前記フラグ群とシーケンス番号とのセットを除去した後に、当該ＵＤＰパケットを前記送信バッファ部に蓄積することを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
複数の通信装置間でトランスポート層としてＵＤＰプロトコルを使用する場合の通信制御に関する。
【背景技術】
【０００２】
近年、ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）という言葉に代表されるように、あらゆるモノがネットワークに接続し、様々なアプリケーションが相互に通信を行っている。無線の物理層のプロトコルとしては、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）や無線ＬＡＮ、ＬｏＲａＷＡＮなどのＬＰＷＡＮ（Ｌｏｗ  Ｐｏｗｅｒ  Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）など、アプリケーションの用途に応じて適切な物理層プロトコルが使用されている。
【０００３】
物理層より上位のトランスポート層では、典型的にはデータの到達が保証されるＴＣＰプロトコルや、到達が保証されないがコネクションレスで通信が可能なＵＤＰプロトコルなど、トランスポート層においてもアプリケーションの用途に応じて適切なプロトコルが使用されている。
【０００４】
本技術分野の背景技術として、以下の先行技術がある。特許文献１（特開２００８−６０８１７号公報）には、「ネットワークを介して送信装置の情報を受信装置で受信する通信システムであって、ＵＤＰプロトコルに通信相手との相互認証及び暗号化機能を追加して電子化情報の通信を行う場合に、前記送信装置には、前記ＵＤＰプロトコルの通信相手との相互認証及び暗号化機能からの情報のパケットに連番のパケット番号を付加すると共に前記パケット番号の付加されたパケットを前記ＵＤＰプロトコルに送出する手段と、前記パケットとパケット番号を記憶する手段と、前記受信装置からの再送要求に対して要求された前記パケット番号が前記記憶されているか否かを判断して再送処理を行う手段とを備え、前記パケット番号が前記記憶されているときに前記記憶された前記パケットを前記ＵＤＰプロトコルに再送出し、前記受信装置には、前記ＵＤＰプロトコルから送付された前記パケットとパケット番号を記憶して前記パケット番号に従ってソートすると共に前記パケットを前記ＵＤＰプロトコルの通信相手との相互認証及び暗号化機能に送出する手段と、前記パケット番号の異常を判断する手段とを備え、前記パケット番号に異常が判断されたときに欠落したパケット番号について前記送信装置にパケットの再送信を要求する処理を行うことを特徴とする通信システム。」が開示されている（請求項１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−６０８１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１で開示されている方法では、ＵＤＰパケットの受信側でシーケンス番号の欠落を検出すると、送信側に対して再送要求を発行して、ＵＤＰ上で再送制御を実現する。ＴＣＰプロトコルは仕組み上、パケットロスにより通信性能が大幅に低下する欠点を有するが、ＵＤＰベースで再送機構を付与することで、ＴＣＰの欠点を克服しつつ再送機能を提供している。
【０００７】
しかし、アプリケーションによっては、再送の仕組み自体が不要であったり、ＴＣＰのような確実なＡＣＫ応答が必要であったり、ＡＣＫ応答は必要だが狭帯域システムでの運用するためにＡＣＫ応答の頻度を下げたり等、アプリケーションごとに再送機能に求める要件が異なる。特許文献１に開示された技術では、アプリケーションが必要とする再送機能要件に応じた柔軟な再送制御の実施が困難である。
【課題を解決するための手段】
【０００８】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、通信装置で実行されるアプリケーション間でデータを伝送する通信方法であって、トランスポート層でＵＤＰによってデータを伝送し、前記アプリケーションは、伝送するデータパケット単位で再送方法を制御することを特徴とする。
【発明の効果】
【０００９】
本発明の一態様によれば、アプリケーションが必要とする再送機能への要件に応じて、パケット単位で柔軟な再送制御を実施できる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第一の実施例の通信システムの構成例を示す図である。
【図２】第一の実施例のプロトコルスタックの構成例を示す図である。
【図３】第一の実施例の通信装置の構成例を示す図である。
【図４】第一の実施例の上位再送制御部の構成例を示す図である。
【図５】第一の実施例の上位再送処理部の構成例を示す図である。
【図６】第一の実施例のＵＤＰパケット及び再送制御情報ヘッダの構成例を示す図である。
【図７】第一の実施例の送信バッファの構成例を示す図である。
【図８】第一の実施例の典型的な通信手順の一例を示す図である。
【図９】本発明の第二の実施例の通信システムの構成例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の第一の実施例を図面を用いて説明する。
【００１２】
図１は、本発明の第一の実施例の通信システムの構成例を示す図である。
【００１３】
本発明の実施例の通信システムは、少なくとも一対の無線通信装置１２−１、１２−２と、各無線通信装置に有線接続される通信装置１１−１、１１−２を有する。無線通信装置１２−１、１２−２の間は、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）や無線ＬＡＮなどの無線層のプロトコルに従って、双方向で通信する。
【００１４】
無線通信装置１２−１、１２−２の間では、適用される無線層のプロトコルで定められる無線制御情報（ＬＴＥではＣ−Ｐｌａｎｅと称される）と、ユーザデータ（ＬＴＥではＵ−Ｐｌａｎｅと称される）を、時間や周波数などで分割された無線チャネルに配置して無線伝送する。
【００１５】
通信装置１１−１、１１−２は、前記Ｕ−Ｐｌａｎｅで伝送される情報を送受信するための装置であり、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）層やＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）層に関する伝送機能を有する。各通信装置１１−１、１１−２に接続されている無線通信装置１２−１、１２−２との間では、ＵＤＰ／ＩＰパケットを双方向で伝送する。
【００１６】
通信装置１１−１から通信装置１１−２へユーザデータが伝送される場合を考える。無線通信装置１２−１では、通信装置１１−１から入力されたＵＤＰ／ＩＰパケットを一旦送信バッファに蓄積し、無線チャネルで伝送可能なサイズに分割したうえで、符号化や変調などの無線信号生成処理を実行して、電波として送信する。対向する無線通信装置１２−２から電波を受信すると、復調や誤り訂正、誤りチェックなどの無線信号処理を実行した後、送信側で分割されたＵＤＰ／ＩＰパケットを組み立て、組み立てたＵＤＰ／ＩＰパケットを通信装置１１−２へ出力する。無線層のプロトコルの規定に応じて、ＡＲＱ（Ａｕｔｏｍａｔｉｃ  Ｒｅｐｅａｔ  Ｒｅｑｕｅｓｔ）やＨＡＲＱ（Ｈｙｂｒｉｄ  ＡＲＱ）などの無線区間での再送制御を行う。
【００１７】
図１では、Ｃ−Ｐｌａｎｅを伝送する仕組みの記載を省略しているが、適用する無線層のプロトコルに応じて、例えばＬＴＥであれば、ＭＭＥ（Ｍｏｂｉｌｉｔｙ  Ｍａｎａｇｅｍｅｎｔ  Ｅｎｔｉｔｙ）などの必要な装置を設置する。
【００１８】
なお、図１では一対の無線通信装置１２−１、１２−２について記載しているが、一台の無線通信装置が複数の無線通信装置と双方向通信をしてもよく、また、一台の通信装置が複数の通信装置と双方向通信してもよく、本発明はこのような場合も包含する。
【００１９】
図２は、第一の実施例のプロトコルスタックの構成例を示す図である。
【００２０】
図示するプロトコルスタックの最上位には、通信装置１１上で動作するアプリケーション２１−１〜２１−７がある。アプリケーションの個数に制約はなく、図２はあくまで例である。第一の実施例では、アプリケーション２１−１〜２１−７、通信装置１１−１、１１−２間の通信を必要とするアプリケーションである。
【００２１】
アプリケーション２１−１から２１−７の下位には、上位再送制御層２２−１及び２２−２がある。上位再送制御層２２−１、２２−２では、アプリケーションから入力されたデータ本体や再送制御に関する情報に基づいて、ＵＤＰパケットのペイロードを生成し、ＵＤＰ／ＩＰ層へ出力する。そして、ＵＤＰ／ＩＰ層から受信したＵＤＰパケットのペイロードからデータ本体と再送制御に関する情報を分離し、データ本体と再送制御に関する情報とのそれぞれをアプリケーションに出力する。上位再送制御層２２−１、２２−２は、受信時に、分離した再送制御に関する情報を参照して、アプリケーション２１−１〜２１−７からの指示を待たずに自律的に再送する機能を有する。上位再送制御層２２−１、２２−２の動作の詳細は後述する。
【００２２】
上位再送制御層２２−１、２２−２の下位には、ＵＤＰ層とＩＰ層の送受信処理を行うＵＤＰ／ＩＰ層２３−１及び２３−２がある。ＵＤＰ／ＩＰ層２３−１及び２３−２は、第一の実施例に特有の仕組みではなく、一般的に用いられているプロトコルスタックを活用すればよく、詳細な記述は省略する。本発明においては、上位再送制御層２２−１、２２−２から入力されるＵＤＰペイロードを含むＵＤＰ／ＩＰパケットとして無線側へ出力し、無線側から入力されたＵＤＰ／ＩＰパケットから、ＵＤＰペイロードを抽出して上位再送制御層２２−１、２２−２へ出力する機能を有する。
【００２３】
ＵＤＰ／ＩＰ層２３−１、２３−２の下位には、無線層２４−１及び２４−２がある。無線層２４−１、２４−２は、ＵＤＰ／ＩＰ層２３−１、２３−２から入力されたＵＤＰ／ＩＰパケットを電波として無線チャネルで出力する送信機能と、受信した電波から抽出されたＵＤＰ／ＩＰパケットをＵＤＰ／ＩＰ層へ出力する受信機能を有する。すなわち、送信機能及び受信機能を有する無線通信装置１２−１の送受信機（送信部及び受信部）と、対向する受信機能及び送信機能を有する無線通信装置１２−２の送受信機（受信部及び送信部部）とによって無線層２４−１及び２４−２が構成される。第一の実施例において、無線層における再送制御は必須ではないが、上位層の観点でパケットロスを削減でき、上位層での再送頻度を減少できるため、無線層においても再送制御を適用するとよい。
【００２４】
図３は、第一の実施例の通信装置１１の構成例を示す図である。
【００２５】
通信装置１１は、通信装置１１内に一つ又は複数存在するアプリケーションプログラム３１−１、３１−２、上位再送制御部３２、ＵＤＰ／ＩＰ処理部３３及びネットワークインターフェース３４を有する。
【００２６】
アプリケーションプログラム３１は、他の通信装置上のアプリケーションとの間のデータ通信を必要とするアプリケーションプログラムであり、ログ収集や装置の状態監視など、システムの運用管理に必要な機能と、アプリケーション内で生成したログなどのデータを通信装置１１間で伝送する機能を有するプログラムである。前者のシステム運用管理機能は、本発明の範囲外であるため詳細は省略する。後者のデータ伝送機能は、対向するアプリケーションにデータを送信する機能と、対向するアプリケーションからデータを受信する機能とを含む。
【００２７】
アプリケーションプログラム３１は、データ伝送機能を実現するため、アプリケーションプログラムが取り扱うデータの本体と、データに付与するシーケンス番号と、当該シーケンス番号のデータに関する再送制御情報を、上位再送制御部３２との間で双方向のプロセス間通信として転送する。また、プロセス間通信を用いて、アプリケーションプログラム３１から上位再送制御部３２に対して、ＵＤＰソケットに関する情報、すなわちデータ送信先アプリケーションのＩＰアドレスとポート番号とデータ受信するポート番号とを指示する。この指示は、初回のプロセス間通信時に送信する。
【００２８】
上位再送制御部３２は、アプリケーションプログラム３１から入力されるデータ本体とシーケンス番号と再送制御情報とに基づいて、ＵＤＰパケットのペイロードを生成し、生成されたペイロードをＵＤＰソケット情報に基づいてＵＤＰ／ＩＰ処理部３３へ出力する機能と、再送に備えて出力されるＵＤＰパケットのペイロードを一時的に蓄積する機能と、ＵＤＰ／ＩＰ処理部３３から入力されるＵＤＰパケットのペイロードを、データ本体とシーケンス番号と再送制御情報とに分離してアプリケーションプログラム３１へ出力する機能と、分離した再送制御情報に基づいて一時的に蓄積されたＵＤＰパケットのペイロードを再送する機能を有する。
【００２９】
ＵＤＰ／ＩＰ処理部３３は、上位再送制御部３２から入力されるＵＤＰパケットのペイロードとソケット情報とに基づいてＵＤＰ／ＩＰパケットを生成して、ネットワークインターフェース３４へ出力する機能と、ネットワークインターフェース３４から入力されるＵＤＰ／ＩＰパケットからＵＤＰパケットのペイロードを抽出して、上位再送制御部３２へ出力する機能とを有する。
【００３０】
ネットワークインターフェース３４は、ＵＤＰ／ＩＰ処理部３３から入力されるＵＤＰ／ＩＰパケットをネットワーク物理層の信号として生成し、ネットワークへ出力する機能と、ネットワークから受信した物理信号を復号してＵＤＰ／ＩＰパケットを抽出し、ＵＤＰ／ＩＰ処理部３３へ出力する機能とを有する。
【００３１】
図４は、第一の実施例の上位再送制御部３２の構成例を示す図である。
【００３２】
上位再送制御部３２は、ヘッダ生成部４１、ＵＤＰペイロード生成部４２、ＵＤＰソケット処理部４３、ＵＤＰペイロード解析部４４、ヘッダ解析部４５及び上位再送処理部４６を有する。
【００３３】
ヘッダ生成部４１は、アプリケーションプログラム３１から入力されるシーケンス番号と再送制御情報に基づいて、再送制御用のヘッダを生成する。
【００３４】
ＵＤＰペイロード生成部４２は、ヘッダ生成部４１で生成された再送制御用のヘッダと、アプリケーションプログラム３１から入力されるデータ本体とを結合してＵＤＰパケットのペイロードを生成する。生成されたＵＤＰパケットのペイロードは、ＵＤＰソケット処理部４３及び上位再送処理部４６に出力される。
【００３５】
なお、ヘッダ生成部４１及びＵＤＰペイロード生成部４２でＵＤＰペイロードを生成する機能は、アプリケーションプログラム３１内に設けてもよい。
【００３６】
ＵＤＰソケット処理部４３は、アプリケーションプログラム３１から指示されたソケット情報に基づいて、ＵＤＰペイロードをＵＤＰ／ＩＰ処理部３３との間で転送する。ＵＤＰ／ＩＰ処理部３３に出力されるＵＤＰペイロードは、ＵＤＰペイロード生成部４２及び上位再送処理部４６から入力される。ＵＤＰ／ＩＰ処理部３３から入力されるＵＤＰペイロードは、ＵＤＰペイロード解析部４４へ出力される。
【００３７】
ＵＤＰペイロード解析部４４は、ＵＤＰソケット処理部４３から入力されるＵＤＰパケットのペイロードから、データ本体を抽出してアプリケーションプログラム３１へ出力し、シーケンス番号及び再送制御情報を抽出してヘッダ解析部４５へ出力する。
【００３８】
ヘッダ解析部４５は、ＵＤＰペイロード解析部４４から入力されるシーケンス番号と再送制御情報との塊から両者を分離し、分離した結果をアプリケーションプログラム３１及び上位再送処理部４６へ出力する。
【００３９】
上位再送処理部４６は、ヘッダ解析部４５からシーケンス番号と再送制御情報のペアが入力され、再送制御情報がＵＤＰペイロードの再送を要求しているか否かを判定する。そして、上位再送処理部４６は、要求していると判定した場合に、当該再送制御情報のペアとして入力されたシーケンス番号に関して、ＵＤＰペイロード生成部４２から入力され、上位再送処理部４６内に一時的に蓄積された当該シーケンス番号のＵＤＰペイロードをＵＤＰソケット処理部４３へ出力する。
【００４０】
時系列としては、ＵＤＰペイロード生成部４２から入力されたＵＤＰペイロードがシーケンス番号とともにバッファへ一時的に蓄積された後に、ヘッダ解析部４５からシーケンス番号と再送制御情報のペアが入力される。このため、当該ペアが入力される時点で上位再送処理部４６は、当該シーケンス番号に対応するＵＤＰペイロードをバッファに蓄積済みである。つまり、送信データが一時的に蓄積された状態で再送制御情報に応じた再送制御を実施する。
【００４１】
図５は、第一の実施例の上位再送処理部４６の構成例を示す図である。
【００４２】
上位再送処理部４６は、一時蓄積処理部５１、送信バッファ５２及び上位再送送信部５３を有する。
【００４３】
ＵＤＰペイロード生成部４２から出力されたＵＤＰペイロードは、一時蓄積処理部５１が送信バッファ５２に一時的に格納する。送信バッファ５２は、シーケンス番号ごとにＵＤＰペイロードを格納する機能を有する。シーケンス番号は有限桁であるため、カウントが一巡すると同一のシーケンス番号が再び使用され、一時蓄積処理部５１は、送信バッファ５２内の古い情報に新しい情報を上書きする。
【００４４】
上位再送送信部５３は、ヘッダ解析部４５から入力されたシーケンス番号と再送制御情報のペアを参照し、再送制御情報がデータ再送を要求する内容であれば、ペアとなっているシーケンス番号の一時蓄積情報を送信バッファ５２から読み出し、ＵＤＰソケット処理部４３へ送信ＵＤＰペイロードとして出力する。再送制御情報が、データ再送を要求する内容でなければ、当該入力は無視する。
【００４５】
図６は、第一の実施例のＵＤＰパケット及び再送制御情報ヘッダ６２の構成例を示す図である。
【００４６】
図６（Ａ）に示すように、ＵＤＰパケットは、ＩＰ層及びＵＤＰ層で参照されるヘッダが格納されたＵＤＰ／ＩＰヘッダ６１と、再送制御情報ヘッダ６２と、アプリケーションプログラム３１が取り扱うデータ本体６３とで構成される。再送制御情報ヘッダ６２及びデータ本体６３は、ＵＤＰパケットのペイロードに相当する。図６（Ｂ）に示すように、ＵＤＰ／ＩＰヘッダ６１の直後に複数の再送制御情報ヘッダ６２を配置してもよい。
【００４７】
図６（Ｃ）に示すように、再送制御情報ヘッダ６２は、第四のフラグであるＣフラグ７１と、第二のフラグであるＴフラグ７２と、第一のフラグであるＲフラグ７３と、第三のフラグであるＡフラグ７４と、シーケンス番号７５とで構成される。
【００４８】
次に、図６（Ｄ）を参照して、各フラグの意味を説明する。Ｃフラグ７１は、当該再送制御情報ヘッダ６２の後続に別の再送制御情報ヘッダ６２があるかを示す。Ｃフラグ７１が１の場合は後続の再送制御情報ヘッダ６２があることを示し、Ｃフラグ７１が０の場合は当該再送制御情報ヘッダ６２が最終のヘッダであることを示す。
【００４９】
Ｔフラグ７２は、当該再送制御情報ヘッダ６２が、アプリケーションデータの送信側か、アプリケーションデータの受信側（すなわち、アプリケーションデータに対するＡＣＫ／ＮＡＣＫの応答側）かを示すフラグである。Ｔフラグ７２が１の場合は、アプリケーションデータの送信側であることを示し、当該再送制御情報ヘッダ６２が後続のデータ本体６３に関する情報である。すなわち、シーケンス番号７５が当該データ本体６３に関するデータ通し番号である。一方、Ｔフラグ７２が０の場合は、アプリケーションデータの受信側であることを示し、当該再送制御情報ヘッダ６２は他のアプリケーションプログラム３１から送信されたデータ本体に対するＡＣＫ／ＮＡＣＫ応答を示す。シーケンス番号７５は、当該送信されたデータ本体に付与されていた再送制御情報ヘッダ６２が示す番号である。
【００５０】
Ｒフラグ７３は、Ｔフラグ７２の値によって、指示する内容が異なる。
【００５１】
Ｔフラグ７２が１の場合は、Ｒフラグ７３は、当該ＵＤＰ／ＩＰパケット内の最後尾で送信するデータ本体６３を受信してＡＣＫ／ＮＡＣＫ応答を発行する受信側のアプリケーションプログラムに対する指示となる。指示内容は、Ｔフラグ７２が１かつＲフラグ７３が１である場合、アプリケーションデータの受信側は、当該シーケンス番号７５のデータ本体６３に関してＡＣＫ応答又はＮＡＣＫ応答を必ず返す。Ｔフラグ７２が１かつＲフラグ７３が０である場合、アプリケーションデータ受信側は、当該シーケンス番号７５のデータ本体６３に関してＡＣＫ応答及びＮＡＣＫ応答のいずれも返さなくてよい。Ｒフラグ７３の値は、アプリケーションプログラム３１の必要に応じて選択可能であり、アプリケーションプログラム３１内のロジックが決定するとよい。
【００５２】
Ｔフラグ７２が０の場合は、Ｒフラグ７３は、アプリケーションデータ受信側から送信側に対する指示となる。データ受信側がＲフラグ７３に１をセットすると、データ送信側はアプリケーションデータを送信する。但し、Ａフラグ７４が１（ＡＣＫ応答）の場合は、シーケンス番号７５で示すデータの次のデータの送信要求を意味し、Ａフラグ７４が０（ＮＡＣＫ応答）の場合は、シーケンス番号７５が示すデータの再送要求を示す。
【００５３】
Ａフラグ７４は、Ｔフラグ７２の値によって、指示する内容が異なる。
【００５４】
Ｔフラグ７２が１かつＲフラグ７３が１の場合は、前述の通り、データ本体受信側にＡＣＫ／ＮＡＣＫ応答を要求する。Ａフラグ７４が１の場合は、ＡＣＫ応答とＮＡＣＫ応答の双方を要求し、Ａフラグ７４が０の場合は、ＮＡＣＫ応答のみを要求しＡＣＫ応答は必須ではない。Ｔフラグ７２が１かつＲフラグ７３が０の場合は、データ受信側はＡＣＫ／ＮＡＣＫ応答を返す必要がないと解釈する。Ａフラグ７４の値はデータ受信側で無視される。
【００５５】
Ｔフラグ７２が０の場合は、当該シーケンス番号７５が示すデータに関するＡフラグ７４が１であればＡＣＫ応答をアプリケーションデータ送信側に通知し、Ａフラグ７４が０であればＮＡＣＫ応答をアプリケーションデータ送信側に通知することを示す。
【００５６】
シーケンス番号７５は、送信側のアプリケーションプログラム３１がデータ送信順に１ずつ増加する値として与える。シーケンス番号７５は有限桁であるため、上限値を超えた場合には０にラップアラウンドする。シーケンス番号７５の桁数は本発明では特に限定しないが、各フラグ７１〜７４のビット数も考慮し、シーケンス番号７５も含めた合計のサイズが８ｂｉｔｓの整数倍、すなわちバイトアラインされていることが望ましい。
【００５７】
アプリケーションデータ受信側のアプリケーションプログラム３１は、Ｔフラグ７２が１のシーケンス番号７５と、同一ＵＤＰパケット内にあるデータ本体６３の受信確認に成功すると、当該シーケンス番号７５に関するＡＣＫ応答をアプリケーションデータ送信側へ返信する。但し、前述したフラグ設定値によってＡＣＫ応答が不要であることが示されている場合、ＡＣＫ応答を返信しない。
【００５８】
また、あるシーケンス番号７５に関する受信確認に成功した結果、シーケンス番号７５の欠落を確認した場合は、欠落したシーケンス番号７５に関するＮＡＣＫ応答と、受信確認に成功したシーケンス番号７５に関するＡＣＫ応答を返信する。但し、前述したフラグ設定値がＡＣＫ応答もＮＡＣＫ応答も不要であることを示す場合、フラグの指示に従って、ＡＣＫ応答もＮＡＣＫ応答も返信しない。
【００５９】
アプリケーションプログラム３１は、データ本体６３の受信をトリガとした割り込み処理によって、データ送受信の処理を優先することも可能だが、プログラムの作りに依存するため、必ずしも優先処理される保証はない。データ送受信を優先して処理しない場合、アプリケーションプログラム３１は、複数のアプリケーションデータの受信後に纏めてデータ処理することがある。つまり、複数のアプリケーションデータに関してＡＣＫ／ＮＡＣＫ判定を行うが、連続するシーケンス番号７５に関するＡＣＫ応答を個別に返すことは通信リソースを無駄に使用するため、複数のＡＣＫ応答を纏めると通信リソースを有効に活用できる。
【００６０】
具体的には、ＡＣＫ応答に付随するシーケンス番号７５は、当該シーケンス番号７５まで全てＡＣＫであることを示すルールとすれば、複数のＡＣＫ応答を１個に纏めることができる。さらに、ほとんどのアプリケーションデータはＡＣＫで一部のアプリケーションデータだけがＮＡＣＫの場合、例えば１個のアプリケーションデータを除いて全てＡＣＫである場合、ＡＣＫ応答に付随するシーケンス番号７５までＡＣＫだが、例外としてＮＡＣＫ応答に付随するシーケンス番号７５だけはＮＡＣＫであることを、二つの再送制御情報ヘッダ６２により表現できる。このようなルールの適用は、相互に通信相手となるアプリケーションプログラム３１間で共通化することで実現できる。
【００６１】
図７は、第一の実施例の送信バッファ５２の構成例を示す図である。
【００６２】
送信バッファ５２は、シーケンス番号７５毎に記憶領域を有し、各記憶領域にＵＤＰペイロード、すなわち再送制御情報ヘッダ６２とデータ本体６３とを結合させたデータが格納される。図７（Ａ）に示すテーブルは、再送制御情報ヘッダ６２がＵＤＰペイロード内に複数存在する例である。
【００６３】
図７（Ｂ）に示すテーブルは、図７（Ａ）に示すテーブルの内容のうち、Ｔフラグ７２が０の再送制御情報ヘッダ６２、すなわち再送制御情報ヘッダ６２−１と６２−３を除去したものである。これは、上位再送処理部４６による再送対象を、ＵＤＰペイロード生成部４２が生成したＵＤＰペイロード全てではなく、送信するアプリケーションデータ本体及び関連する再送制御情報ヘッダ６２のみとし、通信相手に対するＡＣＫ／ＮＡＣＫ応答を示す再送制御情報ヘッダ６２を再送対象から除外することを示す。つまり、それぞれのＡＣＫ／ＮＡＣＫ応答は、ＵＤＰペイロード生成部４２から直接ＵＤＰソケット処理部４３にＵＤＰペイロードを出力するときだけ、１回限り送信される。これは、アプリケーションプログラム間のデータ伝送の帯域が細いシステムに適しており、データ伝送量を削減する効果が得られる。データ伝送能力が十分であれば、Ｔフラグ７２が０の再送制御情報ヘッダ６２も送信バッファ５２に蓄積しておくことが推奨される。
【００６４】
図７（Ｂ）に示すテーブルの運用方法で上位再送処理部４６を実装する場合、一時蓄積処理部５１にてＴフラグ７２が０の再送制御情報ヘッダ６２を一時的に除去し、後続ビット列を前詰めにして、送信バッファ５２に蓄積する。
【００６５】
図８は、第一の実施例の典型的な通信手順の一例を示す図であり、アプリケーションデータ本体を生成して送信する通信装置１１−１（Ｔｒａｎｓｍｉｔｔｅｒの役割）と、アプリケーションデータ本体を受信してＡＣＫ／ＮＡＣＫ応答を送信する通信装置１１−２（Ｒｅｓｐｏｎｄｅｒの役割）との間で行われる第一の実施例によるデータ通信の一例を示す。
【００６６】
Ｔｒａｎｓｍｉｔｔｅｒ側のアプリケーションプログラム３１が、送信するデータ本体６３と、当該データ本体６３の再送制御情報が格納された再送制御情報ヘッダ６２を送信する。新しいデータ本体６３を送信するたびに、シーケンス番号７５に１を加算する。
【００６７】
Ｒｅｓｐｏｎｄｅｒ側のアプリケーションプログラム３１は、イベントドリブン（割り込み処理）又はポーリングによって受信した再送制御情報ヘッダ６２及びデータ本体６３に基づいて、受信に成功したデータ本体６３をアプリケーションプログラム内に取り込み、シーケンス番号７５の抜けを検出した場合はデータ本体６３が伝送路内でロストしたと判断する。
【００６８】
以上の解析結果に基づいて、Ｒｅｓｐｏｎｄｅｒ側のアプリケーションプログラム３１は、ＡＣＫ応答に対応する最新のシーケンス番号７５のＡＣＫ応答と、ＮＡＣＫ応答に対応するシーケンス番号７５に関するＮＡＣＫ応答を生成する。なお、Ｒｅｓｐｏｎｄｅｒ側のアプリケーションプログラム３１は、受信した再送制御情報ヘッダ６２のＲフラグ７３及びＡフラグ７４を参照し、Ｒフラグ７３が１かつＡフラグ７４が１の場合はＡＣＫ応答及びＮＡＣＫ応答の両方を生成する。Ｒフラグ７３が１かつＡフラグ７４が０の場合はＮＡＣＫ応答のみを生成し、ＡＣＫ応答は生成しなくてよい。Ｒフラグ７３が０の場合はＡＣＫ／ＮＡＣＫ応答を生成する処理を省略できる。
【００６９】
Ｒｅｓｐｏｎｄｅｒ側のアプリケーションプログラム３１内で、受信した再送制御情報ヘッダ６２の解析、受信したデータ本体６３の条件付きでの取り込み、ＡＣＫ／ＮＡＣＫ応答生成は、パケット受信処理機能１０１で実施される。
【００７０】
本図には、Ｒｅｓｐｏｎｄｅｒ側のアプリケーションプログラム３１はＡＣＫ応答とＮＡＣＫ応答をどちらも生成する必要がある例を示す。図示した例では、パケット受信処理機能１０１による処理の後、Ｒｅｓｐｏｎｄｅｒ側のアプリケーションプログラム３１は、生成したＡＣＫ／ＮＡＣＫ応答をＴｒａｎｓｍｉｔｔｅｒ側のアプリケーションプログラム３１へ送信する。つまり、図示する通り二つの再送制御情報ヘッダ６２をＣフラグ７１で結合し、データ本体６３を付与せずに一つのＵＤＰパケットとして送信する。
【００７１】
この応答を受信したＴｒａｎｓｍｉｔｔｅｒ側のアプリケーションプログラム３１は、再送制御情報ヘッダ６２を解析し、シーケンス番号７５が２のＮＡＣＫ応答に対して、上位再送処理部４６により送信バッファ５２からＵＤＰペイロードを再送する（１０２）。
【００７２】
ここで、上位再送処理部４６は、受信した再送制御情報ヘッダ６２の内容で動作が変わる。再送制御情報ヘッダ６２内のＴフラグ７２が０かつＲフラグ７３が１かつＡフラグ７４が０、すなわち当該シーケンス番号７５に関するＮＡＣＫ応答であり、データ再送を要求する内容を示す場合には、送信バッファ５２から該当するシーケンス番号７５の蓄積データを読み出して再送する。Ｒフラグ７３が０又はＡフラグ７４が１の再送制御情報ヘッダ６２は、データ再送要求でない又はＡＣＫ応答であることを示すため、送信バッファ５２からの再送は行わない。
【００７３】
上位再送処理部４６での再送実施有無にかかわらず、Ｔｒａｎｓｍｉｔｔｅｒ側のアプリケーションプログラム３１は、受信した再送制御情報ヘッダ６２及びデータ本体６３を参照し、新規のデータ本体６３を送信する（１０３）。本図に示す例では、シーケンス番号７５が４のＡＣＫ応答を受けて、シーケンス番号７５が５以降のデータ本体６３を送信する（１０３）。
【００７４】
なお、第一の実施例では、どちらの通信装置ともＴｒａｎｓｍｉｔｔｅｒの役割とＲｅｓｐｏｎｄｅｒの役割が可能であるため、アプリケーションプログラム３１はパケット受信処理機能１０１とデータ送信機能１０３とを併せ持つことになる。換言すると、各通信装置はＴフラグ７２が１の再送制御情報ヘッダ６２とデータ本体６３とＴフラグ７２が０の再送制御情報ヘッダ６２とを一つのＵＤＰパケット内で纏めて送信できる。この仕組みによりシステム内で伝送されるＵＤＰパケットの数を抑制できるため、ＵＤＰパケットの送信ごとに発生するＩＰ層やＵＤＰ層のヘッダなどのオーバーヘッドを削減できる。
【００７５】
図８に示す例では、データ本体６３の送信に対してＡＣＫ／ＮＡＣＫ応答が正しく返ってきているが、ＡＣＫ／ＮＡＣＫ応答を要求（Ｔフラグ７２が１かつＲフラグ７３が１）してもＡＣＫ／ＮＡＣＫ応答が返ってこない場合は、最初に送信したときの再送制御情報ヘッダ６２のみをアプリケーションプログラム３１から上位再送制御部３２にセットすることで、上位再送制御部３２が上位再送処理部４６に対して送信バッファ５２内の蓄積データの再送を要求できる。このとき、アプリケーションプログラム３１からは再送制御情報ヘッダ６２をセットし、データ本体６３は空とする。別途、データ本体６３が空であることを示すフラグをアプリケーションプログラム３１と上位再送制御部３２との間に定義してもよい。上位再送制御部３２は、データ本体６３が空であり、かつＴフラグ７２が１の再送制御情報ヘッダ６２を検知すると、上位再送送信部５３に対する当該シーケンス番号７５の再送指示と解釈し、再送動作を行う。
【００７６】
データ本体受信側において、ＮＡＣＫ検出はシーケンス番号７５の欠落により検出を行うが、データ本体送信側が送信した最後のデータ本体６３が欠落した場合、この方法ではＮＡＣＫ検出ができない。このため、データ本体送信側ではデータ本体６３を送信してからＡＣＫ／ＮＡＣＫ応答受信を確認するまでの時間を管理するタイマを保持し、同タイマが予めアプリケーションプログラム３１で定められた閾値を超えた場合、前述のとおりデータ本体６３を空として同一ＵＤＰペイロードの再送を行う。
【００７７】
データ本体６３の受信側がＮＡＣＫ応答とともにデータ再送を要求（Ｔフラグ７２が０、Ｒフラグ７３が１、Ａフラグ７４が０）したにもかかわらず、アプリケーションプログラム３１が再送データの到着を確認できない場合、アプリケーションプログラム３１から同一のデータ再送要求を示す再送制御情報ヘッダ６２を再度送信する。
【００７８】
以下、本発明の第二の実施例を図面を用いて説明する。
【００７９】
図９は、本発明の第二の実施例の通信システムの構成例を示す図である。
【００８０】
本発明の第二の実施例の通信システムは、複数台の地上側の無線通信装置１２−１と１２−３があり、自動車や鉄道などの移動体に搭載される移動体側の無線通信装置１２−２が、移動体の移動に伴い適切な地上側の無線通信装置を切り替えながら無線通信するハンドオーバ制御を実施する。ハンドオーバ制御のため、システム内の各移動体がどの地上側の無線通信装置と通信しているかを管理する移動体位置管理装置１３を配置する。移動体位置管理装置１３は、ＬＴＥにおいてはＭＭＥに相当する装置である。
【００８１】
移動体位置管理装置１３は、移動体側の無線通信装置１２−２と、当該移動体周辺の１又は複数の地上側の無線通信装置との間の無線通信品質に基づき、当該移動体側の無線通信装置１２−２と接続するのに適切な地上側の無線通信装置を選択、及び管理し、地上側の通信装置１１−１と移動体側の通信装置１１−２との間の通信を行う際に、どの地上側の無線通信装置を経由して通信するかのルート管理、及び通信装置１１への指示を行う。
【００８２】
前記指示に基づき、通信装置１１は当該移動体側の通信装置１２に対して送信するデータを、指示された地上側の無線通信装置へ送信する。
【００８３】
ハンドオーバ制御が実施されると、無線通信装置間での再送制御や、上位層のデータを無線層のデータサイズに分割して送信後、受信側で分割データを組み立てる分割・組立制御が完結する前に制御が中断する場合がある。これらのデータは、通信装置１１−１と通信装置１１−２との間でやり取りされるデータの観点で、データのロストとして観測される。すなわち、図８のＵＤＰ  Ｐａｃｋｅｔ  Ｌｏｓｔと同様の現象として現れる。
【００８４】
このような状態でも、第一の実施例で示した通信装置１１及び上位再送制御の仕組みで、ハンドオーバに伴うデータロストに対応することができる。つまり、ハンドオーバが発生する状況においても、ハンドオーバに伴い通信する地上側の無線通信装置を切り替える制御の追加は必要となるが、その他は第一の実施例と同じ仕組みで第一の実施例と同じ効果を得ることができる。なお、図９においては地上側の無線通信装置の数をとしたが、これを３以上としても同様である。
【００８５】
以上に説明したように、本発明の実施例によると、通信装置１１で実行されるアプリケーション２１の間でデータを伝送する通信方法であって、トランスポート層でＵＤＰによってデータを伝送し、アプリケーション２１は、伝送するデータパケット単位で再送方法を制御するので、アプリケーション２１が必要とする再送機能への要件に応じて、データパケット単位で柔軟な再送制御を実施できる。
【００８６】
また、アプリケーション２１は、ＵＤＰ上で再送を制御するためのフラグ群７１〜７４及びシーケンス番号７５を、伝送するデータパケットに付与し、フラグ群７１〜７４の設定値の操作によって、伝送するデータパケット単位で再送方法を制御するので、アプリケーション２１がデータに付与するシーケンス番号７５に関して、受信側アプリケーション２１に対して、シーケンス番号７５ごとの再送制御動作をフラグ群７１〜７４の指定によって指示できる。
【００８７】
また、フラグ群７１〜７４は、再送方法を制御するための第一のフラグ（Ｒフラグ７３）を含み、データパケットの受信側の通信装置１１が受信する場合の第一のフラグ７３は、ＡＣＫ応答及びＮＡＣＫ応答の少なくとも一方を要求するか否かを示し、データパケットの送信側の通信装置が受信する場合の第一のフラグ７３は、データパケットの再送を要求するか否かを示すので、アプリケーション２１がデータに付与するシーケンス番号７５に関して、受信側アプリケーション２１に対して、シーケンス番号７５ごとの再送制御動作を第一のフラグ群（Ｒフラグ７３）の指定によって指示できる。
【００８８】
また、フラグ群７１〜７４は、データパケットの送信側か、データパケットに対してＡＣＫ応答及びＮＡＣＫ応答の少なくとも一方の送信側かを示す第二のフラグ（Ｔフラグ７２）と、ＡＣＫ応答かＮＡＣＫ応答かを示す、又はＡＣＫ応答及びＮＡＣＫ応答の両方を要求するかＮＡＣＫ応答のみを要求するかを示す、のいずれかである第三のフラグ（Ａフラグ７４）とを含むので、送信側アプリケーション２１が受信側アプリケーション２１に対して、送信したデータに対するＡＣＫ、ＮＡＣＫそれぞれの応答要否をデータパケット単位で指示できる。また、受信側から送信側に対してデータ再送要否をデータパケット単位で指示できる。その結果、アプリケーション２１として不要なＡＣＫ／ＮＡＣＫ応答やデータ再送を削減でき、通信リソースを有効活用できる。
【００８９】
また、１以上の前記フラグ群及び前記シーケンス番号のセットを前記各データパケットに配置し、フラグ群７１〜７４は、当該セットの後続に別のセットがあるか否かを示す第四のフラグ（Ｃフラグ７１）を含むので、複数のデータに対するＡＣＫ／ＮＡＣＫ応答やアプリケーションデータ６３を１個のＵＤＰパケットで伝送可能となるため、ＵＤＰパケット送信で発生するＩＰヘッダやＵＤＰヘッダなどのオーバーヘッドを削減できる。その結果、通信リソースを有効活用できる。
【００９０】
また、第二のフラグ（Ｔフラグ７２）がデータパケットの送信側であることを示す場合、第三のフラグ（Ａフラグ７４）は、ＡＣＫ応答及びＮＡＣＫ応答の両方を要求するか、ＮＡＣＫ応答のみを要求するかを示し、第二のフラグ（Ｔフラグ７２）がＡＣＫ応答及びＮＡＣＫ応答の少なくとも一方の送信側であることを示す場合、第三のフラグ（Ａフラグ７４）は、ＡＣＫ応答かＮＡＣＫ応答かを示すので、受信側アプリケーション２１に対して、シーケンス番号７５ごとの再送制御動作をフラグ群７１〜７４の指定によって指示できる。
【００９１】
また、装置間でデータを伝送するアプリケーションと、アプリケーションから伝送するデータパケット本体に、ＵＤＰ上で再送を制御するためのフラグ群とシーケンス番号とを付加して、ＵＤＰパケットとして送出する送信部（無線層２４の送信機能）と、該装置外から入力されるＵＤＰパケットを受信し、データパケット本体とＵＤＰ上で再送を制御するためのフラグ群及びシーケンス番号とを分離して、前記アプリケーションに出力する受信部（無線層２４の受信機能）と、送信部から送信されるＵＤＰパケットを一時的に蓄積する送信バッファ部５２と、受信部で分離されたフラグ群の値及び前記シーケンス番号に基づいて、送信バッファ部５２に蓄積されたＵＤＰパケットのうち、該シーケンス番号に対応するＵＤＰパケットを再送するように制御する再送制御部（上位再送制御部３２）と、を備えるので、アプリケーションが必要とする再送機能への要件に応じて、データパケット単位で柔軟な再送制御を実施できる。
【００９２】
また、送信部は、送信バッファ部５２にＵＤＰパケットを一時的に蓄積する際、前記第二のフラグ（Ｔフラグ７２）がＡＣＫ応答及びＮＡＣＫ応答の少なくとも一方の送信側であることを示す場合、フラグ群７１〜７４とシーケンス番号７５とのセットを除去した後に、当該ＵＤＰパケットを送信バッファ部５２に蓄積するので、ＵＤＰパケット再送時にＡＣＫ／ＮＡＣＫ応答自体の再送を省略することで、通信リソースを有効活用できる。
【００９３】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
【００９４】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【００９５】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【００９６】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【００９７】
１１…通信装置
１２…無線通信装置
１３…移動体位置管理装置
２１…アプリケーション
２２…上位再送制御層
２３…ＵＤＰ／ＩＰ層
２４…無線層
３１…アプリケーションプログラム
３２…上位再送制御部
３３…ＵＤＰ／ＩＰ処理部
３４…ネットワークインターフェース
４１…ヘッダ生成部
４２…ＵＤＰペイロード生成部
４３…ＵＤＰソケット処理部
４４…ＵＤＰペイロード解析部
４５…ヘッダ解析部
４６…上位再送処理部
５１…一時蓄積処理部
５２…送信バッファ
５３…上位再送送信部
６１…ＵＤＰ／ＩＰヘッダ
６２…再送制御情報ヘッダ
６３…アプリケーションデータ本体
７１…再送制御情報ヘッダ内の第四のフラグ（Ｃフラグ）
７２…再送制御情報ヘッダ内の第二のフラグ（Ｔフラグ）
７３…再送制御情報ヘッダ内の第一のフラグ（Ｒフラグ）
７４…再送制御情報ヘッダ内の第三のフラグ（Ａフラグ）
７５…再送制御情報ヘッダ内のシーケンス番号
１０１…アプリケーションプログラム内のパケット受信処理機能
１０２…上位再送処理部４６による自律的な再送処理
１０３…アプリケーションプログラム内のデータ送信機能
【図１】
2020136842.tif 000003
【図２】
2020136842.tif 000004
【図３】
2020136842.tif 000005
【図４】
2020136842.tif 000006
【図５】
2020136842.tif 000007
【図６】
2020136842.tif 000008
【図７】
2020136842.tif 000009
【図８】
2020136842.tif 000010
【図９】
2020136842.tif 000011