(57)【要約】【課題】無線通信を介して接続された他の通信装置との間で、到着保証型のデータ送信を高速化できる通信装置を提供すること。【解決手段】無線通信装置１００は、無線通信装置２００へデータを無線送信した場合に、データを受信した旨を示す無線確認応答を受信するＭＡＣ層部１３０と、ＭＡＣ層部１３０の上位の階層であり、データの再送に備えて送信バッファ１２２に再送用データを待機させるプロトコル適応層部１２０と、を具備する。ＭＡＣ層部１３０は、受信した無線確認応答をプロトコル適応層部１２０へ通知する。プロトコル適応層部１２０は、無線確認応答の通知をトリガとして、送信バッファ１２２から再送用データを削除するとともに、送信バッファ１２２に空きが生じた旨を、送信バッファ１２２にデータを出力する上位層部１１０へ通知する。【選択図】図１
2013157877.tif 000002
【特許請求の範囲】
【請求項１】
他の無線通信装置へデータを無線送信した場合に、前記他の無線通信装置から、前記データを受信した旨を示す無線確認応答を受信するＭＡＣ（Media Access Control）層部と、前記ＭＡＣ層部の上位の階層であり、前記データの再送に備えて送信バッファに再送用データを待機させるプロトコル適応層部と、を具備した無線通信装置であって、
前記ＭＡＣ層部は、
前記無線確認応答を前記プロトコル適応層部へ通知し、
前記プロトコル適応層部は、
前記無線確認応答の通知をトリガとして、前記送信バッファから前記再送用データを削除するとともに、前記送信バッファに空きが生じた旨を、前記送信バッファにデータを出力する上位層へ通知する、
無線通信装置。
【請求項２】
前記プロトコル適応層部は、
前記他の無線通信装置が備える受信バッファの空き容量値を保持し、
前記空き容量値を基に前記受信バッファに空きがあることを確認した場合、前記送信バッファに蓄積したデータを、前記空き容量値の範囲内で前記他の無線通信装置へ送信する、  請求項１記載の無線通信装置。
【請求項３】
前記プロトコル適応層部は、
前記送信バッファに蓄積したデータの送信を行った場合には、当該データの容量値を前記空き容量値から減算し、前記他の無線通信装置から前記データを処理した旨を示すデータ確認応答を受信した場合には、当該データ確認応答により通知されたデータの容量値を前記空き容量値に加算することにより、前記空き容量値の更新を行う、
請求項２記載の無線通信装置。
【請求項４】
他の無線通信装置へデータを無線送信した場合に、前記他の無線通信装置から、前記データを受信した旨を示す無線確認応答を受信するＭＡＣ（Media Access Control）層部と、前記ＭＡＣ層部の上位の階層であり、前記データの再送に備えて送信バッファに再送用データを待機させるプロトコル適応層部と、を具備した無線通信装置が行う無線通信方法であって、
前記ＭＡＣ層部において、前記無線確認応答を前記プロトコル適応層部へ通知するステップと、
前記プロトコル適応層部において、前記無線確認応答の通知をトリガとして、前記送信バッファから前記再送用データを削除するとともに、前記送信バッファに空きが生じた旨を、前記送信バッファにデータを出力する上位層へ通知するステップと、
を有する無線通信方法。
【請求項５】
他の無線通信装置へデータを無線送信した場合に、前記他の無線通信装置から、前記データを受信した旨を示す無線確認応答を受信するＭＡＣ（Media Access Control）層部と、前記ＭＡＣ層部の上位の階層であり、前記データの再送に備えて送信バッファに再送用データを待機させるプロトコル適応層部と、を具備した無線通信装置のコンピュータに実行させる無線通信制御プログラムであって、
前記ＭＡＣ層部において、前記無線確認応答を前記プロトコル適応層部へ通知する処理と、
前記プロトコル適応層部において、前記無線確認応答の通知をトリガとして、前記送信バッファから前記再送用データを削除するとともに、前記送信バッファに空きが生じた旨を、前記送信バッファにデータを出力する上位層へ通知する処理と、
を実行させる無線通信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、他の無線通信装置へデータの無線送信を行う、無線通信装置、無線通信方法、および無線通信制御プログラムに関する。
【背景技術】
【０００２】
例えば、動画や静止画などのコンテンツデータを、無線通信により他の無線通信装置へ送信することができる無線通信装置が普及している。それに伴い、無線通信装置では、無線通信により送受信されるデータのエラーを防止する技術も考案されている。
【０００３】
特許文献１は、上記技術の一例として、到着保証型のデータ送信を開示している。到着保証型のデータ送信は、例えば、以下の（１）〜（３）の手順により実現される。
【０００４】
（１）送信側の無線通信装置は、送信対象のデータを送信バッファに蓄積した後で複数に分割し、分割した各データに対して連続する識別番号を付与し、各データを受信側の無線通信装置へ順次送信する。また、送信側の無線通信装置は、再送に備えて、送信したデータを送信バッファに待機させる。
（２）受信側の無線通信装置は、正常に受信したデータの識別番号を含む確認応答を生成し、送信側の無線通信装置へ送信する。確認応答は、受信側の無線通信装置がデータを正常に受信した旨を送信側の無線通信装置へ通知する役割を有する。
（３）送信側の無線通信装置は、受信した確認応答に含まれる識別番号を基に、送信バッファに再送用として待機しているデータを削除し、次に送信するデータを送信バッファに蓄積する。なお、送信側の無線通信装置は、確認応答を所定時間内に受信しなかった場合、送信バッファに待機しているデータを再送する。
【０００５】
（１）〜（３）の手順は、送信対象のデータがなくなるまで繰り返される。このように、送信側の無線通信装置は、送信バッファに蓄積した複数のデータを連続して送信する場合において、受信側の無線通信装置からの確認応答を基に、先行して送信したデータが正常に受信されたことを確認する。そして、送信側の無線通信装置は、先行して送信したデータが正常に受信されたことを確認した上で、後続のデータの準備を行う。これにより、送信側の無線通信装置から送信されるデータは受信側の無線通信装置へ到着することが保証されるため、エラーの無いデータ送信を実現できる。
【０００６】
上述した到着保証型のデータ送信方法の一つは、例えば、通信機能を階層構造に分割したＯＳＩ（Open Systems Interconnection）参照モデルを、適用した無線通信装置の例であり、以下に説明する。
【０００７】
ここでは、ＭＡＣ（Media Access Control）層と、その上位のＰＡＬ（Protocol Adaptation Layer）とを利用して、無線通信を行う無線通信装置を例に説明する。ＭＡＣ層とＰＡＬとでは、別々の通信プロトコルが用いられる。このため、ＯＳＩ（Open Systems Interconnection）参照モデルを適用した無線通信装置では、到着保証型のデータ送信を行うために必要な確認応答も、ＭＡＣ層とＰＡＬとで別々のものが用いられる。つまり、無線通信装置は、ＭＡＣ層で受信した無線確認応答についてはＭＡＣ層において、また、ＰＡＬで受信したデータ確認応答についてはＰＡＬにおいて、それぞれ独立して処理を行う。
【０００８】
具体的には、無線通信装置は、ＰＡＬにおいて、データ確認応答の受信をトリガとして、送信バッファに待機中の再送用データの削除を行う。その一方で、上記無線通信装置は、ＭＡＣ層において、データ確認応答よりも先に無線確認応答を受信する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−２４３４１３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、従来の無線通信装置は、無線確認応答の受信により再送用データを待機させておく必要がなくなったにもかかわらず、データ確認応答を受信してからでないと、再送用データを削除できない。つまり、従来の無線通信装置は、再送用データを削除できないと、次に送信するデータの準備を行うこともできない。
【００１１】
このように、従来の無線通信装置は、先に受信する無線確認応答を基に再送用データの削除を行うことができる状況にありながら、後に受信するデータ確認応答を待ってから再送用データの削除を行う。したがって、従来の無線通信装置では、次に送信するデータの準備の開始が遅くなり、データの送信速度が低下する、という課題がある。
【００１２】
本発明の目的は、無線通信を介して接続された他の無線通信装置との間で、到着保証型のデータ送信を高速化することである。
【課題を解決するための手段】
【００１３】
本発明の無線通信装置は、他の無線通信装置へデータを無線送信した場合に、前記他の無線通信装置から、前記データを受信した旨を示す無線確認応答を受信するＭＡＣ（Media Access Control）層部と、前記ＭＡＣ層部の上位の階層であり、前記データの再送に備えて送信バッファに再送用データを待機させるプロトコル適応層部と、を具備した無線通信装置であって、前記ＭＡＣ層部は、前記無線確認応答を前記プロトコル適応層部へ通知し、前記プロトコル適応層部は、前記無線確認応答の通知をトリガとして、前記送信バッファから前記再送用データを削除するとともに、前記送信バッファに空きが生じた旨を、前記送信バッファにデータを出力する上位層へ通知する。
【００１４】
本発明の無線通信方法は、他の無線通信装置へデータを無線送信した場合に、前記他の無線通信装置から、前記データを受信した旨を示す無線確認応答を受信するＭＡＣ（Media Access Control）層部と、前記ＭＡＣ層部の上位の階層であり、前記データの再送に備えて送信バッファに再送用データを待機させるプロトコル適応層部と、を具備した無線通信装置が行う無線通信方法であって、前記ＭＡＣ層部において、前記無線確認応答を前記プロトコル適応層部へ通知するステップと、前記プロトコル適応層部において、前記無線確認応答の通知をトリガとして、前記送信バッファから前記再送用データを削除するとともに、前記送信バッファに空きが生じた旨を、前記送信バッファにデータを出力する上位層へ通知するステップと、を有する。
【００１５】
本発明の無線通信制御プログラムは、他の無線通信装置へデータを無線送信した場合に、前記他の無線通信装置から、前記データを受信した旨を示す無線確認応答を受信するＭＡＣ（Media Access Control）層部と、前記ＭＡＣ層部の上位の階層であり、前記データの再送に備えて送信バッファに再送用データを待機させるプロトコル適応層部と、を具備した無線通信装置のコンピュータに実行させる無線通信制御プログラムであって、前記ＭＡＣ層部において、前記無線確認応答を前記プロトコル適応層部へ通知する処理と、前記プロトコル適応層部において、前記無線確認応答の通知をトリガとして、前記送信バッファから前記再送用データを削除するとともに、前記送信バッファに空きが生じた旨を、前記送信バッファにデータを出力する上位層へ通知する処理と、を実行させる。
【発明の効果】
【００１６】
本発明は、無線通信を介して接続された他の無線通信装置との間で、到着保証型のデータの送信を高速化できる。
【図面の簡単な説明】
【００１７】
【図１】本実施の形態に係る通信システムの構成例を示すブロック図
【図２】本実施の形態に係る送信データのフォーマット例を示す図
【図３】本実施の形態に係る無線確認応答のフォーマット例を示す図
【図４】本実施の形態に係るデータ応答確認のフォーマット例を示す図
【図５】本実施の形態に係る送信側の無線通信装置の動作例を示すフローチャート
【図６】本実施の形態に係る通信システムの動作例を示すシーケンス図
【図７】従来技術に係る送信バッファと受信バッファの遷移の一例を示す図
【図８】本実施の形態に係る送信バッファと受信バッファの遷移の一例を示す図
【図９】従来技術に係る送信バッファと受信バッファの遷移の一例を示す図
【図１０】本実施の形態に係る送信バッファと受信バッファの遷移の一例を示す図
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００１９】
図１は、本実施の形態に係る通信システムの構成例を示す。本実施の形態に係る通信システムは、無線通信装置１００が、近距離無線通信を介して、無線通信装置２００との間で到着保証型のデータ送信を行う場合を、一例として説明する。
【００２０】
＜無線通信装置１００の構成＞
図１において、本実施の形態に係る無線通信装置１００は、近距離無線通信を介して、無線通信装置２００が備える受信バッファへデータを送信する装置である。
【００２１】
図１に示すように、無線通信装置１００は、上位層部１１０、プロトコル適応層部１２０、ＭＡＣ層部１３０を有する。プロトコル適応層部１２０は、プロトコル制御部１２１、送信バッファ１２２、データ送受信部１２３、およびデータ確認応答管理部１２４を有する。ＭＡＣ層部１３０は、無線確認応答通知部１３１、および無線通信部１３２を有する。
【００２２】
上位層部１１０は、ＯＳＩ参照モデルのプロトコル階層構造において、プロトコル適応層部１２０よりも上位に位置する階層である。上位層部１１０の例としては、ユーザの操作を基にデータの生成する、または、データの送信を行うアプリケーションが挙げられる。
【００２３】
上位層部１１０は、例えば、ユーザの操作を契機として、近距離無線通信を用いて無線通信装置２００へデータの送信を開始する。その際、上位層部１１０は、送信対象となるデータを生成する、または、所定の記憶媒体などから読み出し、送信バッファ１２２のサイズ（以下、「容量」ともいう）以下に分割されたデータを送信バッファ１２２へ出力する。また、上位層部１１０は、データ送信指示をプロトコル制御部１２１へ出力する。データ送信指示は、送信バッファ１２２へ出力したデータを、無線通信装置２００へ送信させるための指示である。送信対象となるデータは、例えば、動画や静止画などのコンテンツデータが挙げられる。
【００２４】
また、上位層部１１０は、送信バッファ１２２に入りきらなかった分のデータ（以下、「未出力データ」という）がある場合、プロトコル適応層部１２０から送信バッファ１２２に空きが出た旨の通知を受ける。そして、上位層部１１０は、プロトコル適応層部１２０から送信バッファ１２２に空きが出た旨の通知を受けると、送信バッファ１２２へ未出力データを出力する。
【００２５】
プロトコル適応層部１２０は、ＯＳＩ参照モデルのプロトコル階層構造において、上位層である上位層部１１０と、下位層であるＭＡＣ層部１３０との間に位置する階層である。すなわち、プロトコル適応層部１２０は、上位層と下位層の整合を取ることを基本機能とするＰＡＬ（プロトコル適応層）である。具体的には、プロトコル適応層部１２０は、上位のアプリケーションが提供する各サービス特有の性質を吸収し、下位の無線層をサービスに依存しないで共通に定義できるようにしている。
【００２６】
ここで、プロトコル適応層部１２０が備える、プロトコル制御部１２１、送信バッファ１２２、データ送受信部１２３、およびデータ確認応答管理部１２４について、それぞれ説明する。
【００２７】
プロトコル制御部１２１は、送信バッファ１２２に蓄積されたデータに対する制御、あるいは、無線通信装置２００の受信バッファ（図示せず）の空き状況の管理を行う。このようなプロトコル制御部１２１の各機能について、以下具体的に説明する。
【００２８】
まず、プロトコル制御部１２１は、上位層部１１０からデータ送信指示を受け付けた場合、上位層部１１０の出力により送信バッファ１２２に蓄積されたデータに対し、データ送信準備処理を施す。データ送信準備処理は、送信バッファ１２２に蓄積されたデータを分割し、分割した各データ（以下、「分割データ」という）に対し、ＰＡＬヘッダおよび連続する識別番号を付与し、送信データを生成する処理である。つまり、データ送信準備処理では、送信バッファ１２２において、ＰＡＬヘッダ、識別番号、および分割データを含む送信データが複数生成される。なお、送信データのフォーマットについては、図２を用いて後述する。また、以下では、送信データを、適宜「データ」と表記する。
【００２９】
また、プロトコル制御部１２１は、無線通信装置２００の受信バッファの空き状況を確認する。プロトコル制御部１２１は、受信バッファに空きがある場合、データ送信準備処理により生成したデータを、送信バッファ１２２から出力させる。一方、受信バッファに空きがない場合、プロトコル制御部１２１は、データ確認応答の受信により受信バッファの空きが確認できるまで待機する。なお、受信バッファの空き状況を確認する動作の詳細は、後述する。
【００３０】
上記データ確認応答は、無線通信装置２００が無線通信装置１００からデータの受信後に、受信バッファに蓄えたデータの処理を完了したことを示す情報である。データ確認応答は、無線通信装置２００のプロトコル適応層部２２０で生成され、無線通信装置１００のプロトコル適応層部１２０で受信される。なお、データ確認応答のフォーマットについては、図４を用いて後述する。
【００３１】
また、プロトコル制御部１２１は、送信バッファ１２２からデータを出力させた場合、再送に備え、出力させたデータと同じデータを送信バッファ１２２に待機させておく。このように再送に備えて待機するデータは、以下、適宜「再送用データ」と表記する。そして、プロトコル制御部１２１は、データの出力後、規定時間内に、無線確認応答に含まれる識別番号の通知を受けなかった場合、待機中の再送用データを送信バッファ１２２から出力させる。
【００３２】
上記無線確認応答は、無線通信装置１００から送信されたデータを無線通信装置２００が正常に受信した旨を示すデータである。無線確認応答は、無線通信装置２００のＭＡＣ層部２３０で生成され、無線通信装置１００のＭＡＣ層部１３０で受信される。よって、無線通信装置１００において、ＭＡＣ層部１３０の上位であるプロトコル適応層部１２０では、無線確認応答の受信を認識することはできない。なお、無線確認応答のフォーマットについては、図３を用いて後述する。
【００３３】
また、プロトコル制御部１２１は、無線確認応答通知部１３１から、無線確認応答に含まれる識別番号の通知を受け取る。そして、プロトコル制御部１２１は、識別番号の通知を受け取ると、送信バッファ１２２に待機している再送用データのうち、通知された識別番号以下に該当するデータを送信バッファ１２２から削除する。つまり、プロトコル制御部１２１は、識別番号を含む無線確認応答を受け取ることにより、正しく受信されたために再送用データが不要となったことを認識する。例えば、プロトコル制御部１２１は、識別番号が１、２、３である３つのデータを順次送信バッファ１２２から出力し、無線通信装置２００にて正常に受信された後、プロトコル制御部１２１から識別番号３が通知されたと仮定する。この場合、プロトコル制御部１２１は、識別番号が３であるデータに加え、識別番号が２であるデータおよび識別番号が１であるデータも、送信バッファ１２２から削除する。つまり、無線確認応答で通知された識別番号は、正常に受信されたデータの最新の識別番号を示す。
【００３４】
このように、プロトコル制御部１２１は、無線確認応答に含まれる識別番号の通知をトリガとして、再送用として送信バッファ１２２に待機中の再送用データのうち、無線通信装置２００にて正常に受信されたデータを削除する。データの削除後、プロトコル制御部１２１は、送信バッファ１２２に空きが生じた旨を上位層部１１０に通知する。
【００３５】
また、プロトコル制御部１２１が、無線通信装置２００の受信バッファの空き状況を管理する。例えば、プロトコル制御部１２１は、データの送信前に無線通信装置１００と無線通信装置２００との間でセッションの確立を行う際、無線通信装置２００から受信バッファの全体の容量を示す情報を取得する。これ以降、プロトコル制御部１２１は、取得した情報が示す無線通信装置２００の受信バッファの容量を最大値とし、送信バッファ１２２の状況を含め管理する。このようにして得られた値を保持することで、プロトコル制御部１２１は、受信バッファにどのくらいの空き容量があるかを管理する。以下、受信バッファの空き容量を示す値は、「空き容量値」という。
【００３６】
例えば、プロトコル制御部１２１は、上位層部１１０からのデータ送信指示に基づいて、送信バッファ１２２からデータを出力させる場合、出力を指示したデータの容量を、保持している受信バッファの空き容量値から減算する。プロトコル制御部１２１は、減算の結果得られた値を、受信バッファの新たな空き容量値として保持する。
【００３７】
また、例えば、プロトコル制御部１２１は、データ確認応答管理部１２４から、データ確認応答に含まれる識別番号の通知を受けた場合、その識別番号に該当するデータの容量を、保持している受信バッファの空き容量値に加算する。プロトコル制御部１２１は、加算の結果得られた値を、受信バッファの新たな空き容量値として保持する。
【００３８】
このように、プロトコル制御部１２１は、減算および加算を行うことにより、受信バッファの空き容量値を逐次更新する。
【００３９】
また、プロトコル制御部１２１は、送信バッファ１２２においてデータの送信準備が整った際、保持している空き容量値を基に、無線通信装置２００の受信バッファに空きがあるか否かを確認する。
【００４０】
上記確認の結果、空き容量値が規定値以下であり、無線通信装置２００の受信バッファに空きがない場合、プロトコル制御部１２１は、データ確認応答管理部１２４から、データ確認応答に含まれる識別番号の通知を受けるまで待機する。その後、プロトコル制御部１２１は、識別番号の通知を受けたら、識別番号のデータの容量を、保持している空き容量値に加算し、加算の結果得られた空き容量値を基に、再度、受信バッファに空きがあるか否かを確認する。
【００４１】
上記確認の結果、空き容量値が規定値より大きく、無線通信装置２００の受信バッファに空きがある場合、プロトコル制御部１２１は、送信バッファ１２２に対し、空き容量値の範囲内でデータを出力するように指示する。なお、この指示の後、上述した通り、プロトコル制御部１２１は、出力を指示したデータの容量を、保持している空き容量値から減算する。
【００４２】
このように、プロトコル制御部１２１は、空き容量値を基に無線通信装置２００の受信バッファの空き状況を確認し、受信バッファに空きがある場合にデータの送信を開始するように制御している。この制御により、無線通信装置１００は、送信されたデータが、無線通信装置２００の受信バッファに入りきらずにロスすることを防止できる。
【００４３】
送信バッファ１２２は、上位層部１１０から受け取ったデータを一時的に蓄積するバッファ（メモリ）である。送信バッファ１２２に蓄積されたデータは、プロトコル制御部１２１の指示を基に制御される。プロトコル制御部１２１による制御は、データ送信準備処理の実行、データ送受信部１２３への出力、および送信バッファ１２２からの削除である。
【００４４】
データ送受信部１２３は、送信バッファ１２２から出力されたデータを無線通信部１３２へ転送する。また、データ送受信部１２３は、無線通信部１３２が無線通信装置２００から受信したデータ応答確認をデータ確認応答管理部１２４へ転送する。
【００４５】
データ確認応答管理部１２４は、データ送受信部１２３から転送されてきたデータ確認応答から識別番号を抽出する。そして、データ確認応答管理部１２４は、抽出した識別番号をプロトコル制御部１２１へ通知する。なお、上述した通り、識別番号の通知を受けたプロトコル制御部１２１は、通知された識別番号に該当するデータの容量を、保持している空き容量値に加算する。なお、データ確認応答から抽出される識別番号は、例えば、連続する複数の番号である。無線通信装置２００は、識別番号１〜ｎにそれぞれ該当するｎ個のデータの処理を完了した場合、識別番号１〜ｎを含んだデータ確認応答を生成し、無線通信装置１００へ送信する。そして、データ確認応答管理部１２４は、データ確認応答から識別番号１〜ｎを抽出し、プロトコル制御部１２１へ通知する。そして、プロトコル制御部１２１は、通知された識別番号１〜ｎに該当するデータの容量を、保持している空き容量値に加算する。
【００４６】
ＭＡＣ層部１３０は、ＯＳＩ参照モデルのプロトコル階層構造において、プロトコル適応層部１２０よりも下位に位置する階層である。ＭＡＣ層部１３０は、無線確認応答通知部１３１、および無線通信部１３２を有する。
【００４７】
無線確認応答通知部１３１は、無線通信部１３２から転送されてきた無線確認応答から、識別番号を抽出する。そして、無線確認応答通知部１３１は、抽出した識別番号をプロトコル制御部１２１へ通知する。なお、上述した通り、識別番号の通知を受けたプロトコル制御部１２１は、識別番号以下に該当するデータを、送信バッファ１２２から削除する。
【００４８】
無線通信部１３２は、データ送受信部１２３から転送されてきたデータを、無線区間を介して、無線通信装置２００へ送信する。また、無線通信部１３２は、無線通信装置２００から無線区間を介して受信した無線確認応答を、無線確認応答通知部１３１へ転送する。また、無線通信部１３２は、無線通信装置２００から無線区間を介して受信したデータ確認応答を、データ送受信部１２３へ転送する。
【００４９】
無線通信部１３２は、例えば、無線ＬＡＮ（Local Area Network）デバイス、ＷｉＧｉｇ（Wireless Gigabit）デバイスなどの無線通信インタフェースである。なお、ＷｉＧｉｇとは、１Ｇｂｐｓを超える有線ＰＡＮ用途の置換えを想定した、６０ＧＨｚ帯域のミリ波を利用する無線通信規格である。なお、無線通信部１３２が適用する無線通信規格は、無線ＬＡＮおよびＷｉＧｉｇに限定されるものではない。適用できる無線通信規格は、例えば、無線通信装置１００と無線通信装置２００とが、直接無線通信できる規格または他の装置を介して無線通信できる規格のいずれかであればよい。
【００５０】
このような無線通信装置１００は、データ確認応答を待つことなく、無線確認応答をトリガとして、送信バッファに待機している再送用データのうち、無線確認応答により通知されたデータを削除することができる。よって、無線通信装置１００は、データ確認応答を受信する前に、次のデータの送信準備を開始することができる。これにより、無線通信装置１００は、無線通信を介して接続された他の無線通信装置との間で、到着保証型のデータ送信を高速化することができる。
【００５１】
また、無線通信装置１００は、無線通信装置２００の受信バッファに空きがない場合でも、送信バッファにおいてデータの送信準備を行っておくことができる。そして、無線通信装置１００は、データ確認応答が到着次第、すなわち受信バッファの空きが確認でき次第、すぐにデータの送信を行うことができる。
【００５２】
＜無線通信装置２００の構成＞
次に、無線通信装置２００の構成について説明する。
【００５３】
図１において、本実施の形態に係る無線通信装置２００は、近距離無線通信を介して、無線通信装置１００から送信されたデータを受信する装置である。
【００５４】
無線通信装置２００は、上位層部２１０、プロトコル適応層部２２０、ＭＡＣ層部２３０を有する。
【００５５】
上位層部２１０は、ＯＳＩ参照モデルのプロトコル階層構造において、プロトコル適応層部１２０よりも上位に位置する階層である。上位層部２１０の例としては、無線通信装置１００から受信したデータの再生などを行うアプリケーションが挙げられる。
【００５６】
上位層部２１０には、プロトコル適応層部２２０の受信バッファから出力されたデータが入力される。上位層部２１０は、入力したデータに対して所定の処理（例えば再生処理）を行う。
【００５７】
プロトコル適応層部２２０は、ＯＳＩ参照モデルのプロトコル階層構造において、上位層部２１０と、ＭＡＣ層部２３０との間に位置する階層である。すなわち、プロトコル適応層部２２０は、上位層部２１０と、ＭＡＣ層部２３０の整合を取ることを基本機能とするＰＡＬである。なお、図示を省略しているが、プロトコル適応層部２２０は、受信バッファを有する。
【００５８】
プロトコル適応層部２２０は、ＭＡＣ層部２３０からデータが転送されてくると、データから、ＰＡＬヘッダを除き、識別番号を抽出する。これにより、分割データが残る。プロトコル適応層部２２０は、分割データを、受信バッファに蓄積する。そして、プロトコル適応層部２２０は、蓄積した分割データを、受信バッファから上位層部２１０へ適宜出力させる。これにより、受信バッファは、出力した分割データ分の空きができる。また、プロトコル適応層部２２０は、上位層部２１０へ出力させた分割データに付与されていた識別番号を基に、ＰＡＬヘッダを付与し、データ確認応答を生成する。そして、プロトコル適応層部２２０は、生成したデータ確認応答を、ＭＡＣ層部２３０へ出力する。なお、プロトコル適応層部２２０は、受信バッファに蓄積した分割データの一部または全部を上位層部２１０へ出力させると直ちに、データ確認応答を生成し、ＭＡＣ層部２３０へ出力する。そして、ＭＡＣ層部２３０は、プロトコル適応層部２２０からデータ確認応答を受け取ると直ちに、無線通信装置１００へ送信する。このようにして、無線通信装置１００は、無線通信装置２００の受信バッファの一部または全部に空きができると直ちに、データ確認応答を受信することができる。
【００５９】
ＭＡＣ層部２３０は、ＯＳＩ参照モデルのプロトコル階層構造において、プロトコル適応層部２２０よりも下位に位置する階層である。なお、ＭＡＣ層部２３０は、無線通信装置１００と無線通信を行うにあたり、無線通信装置１００の無線通信部１３２と同じ無線通信規格を用いる。
【００６０】
ＭＡＣ層部２３０は、無線通信装置１００から無線区間を介してデータを受信すると、そのデータを基に無線確認応答を生成する。例えば、ＭＡＣ層部２３０は、受信したデータから、識別番号と、ＰＡＬヘッダに含まれる無線通信装置１００のアドレスとを抽出する。そして、ＭＡＣ層部２３０は、抽出した識別番号および無線通信装置１００のアドレスに、無線通信装置２００のアドレスが付加され、無線確認応答を生成する。そして、ＭＡＣ層部２３０は、生成した無線確認応答を無線通信装置１００へ送信する。また、ＭＡＣ層部２３０は、受信したデータをプロトコル適応層部２２０の受信バッファへ転送する。また、ＭＡＣ層部２３０は、プロトコル適応層部２２０から出力されたデータ確認応答を、無線区間を介して無線通信装置１００へ送信する。
【００６１】
このような無線通信装置２００は、無線確認応答およびデータ確認応答を生成し、無線通信装置１００へ送信することにより、無線通信装置１００との間で、到着保証型のデータ受信を実現することができる。
【００６２】
なお、図１に示す無線通信装置２００において、プロトコル適応層部２２０およびＭＡＣ層部２３０はそれぞれ、無線通信装置１００のプロトコル適応層部１２０およびＭＡＣ層部１３０の構成を適宜備えるようにしてもよい。
【００６３】
無線通信装置１００および無線通信装置２００はそれぞれ、例えば、ＣＰＵ（Central Processing Unit）、制御プログラムを格納したＲＯＭ（Read Only Memory）などの記録媒体、およびＲＡＭ（Random Access Memory）などの作業用メモリを有する。この場合、上記した各構成部の機能は、ＣＰＵが制御プログラムを実行することにより実現される。
【００６４】
なお、無線通信装置１００および無線通信装置２００の各機能部は、例えば、集積回路により構成してもよい。無線通信装置１００および無線通信装置２００の各機能部は、個別に１チップ化してもよいし、複数で１チップ化してもよい。集積回路は、集積度の違いにより、ＬＳＩ（Large Scale Integration）、ＩＣ（Integrated Circuit）、システムＬＳＩ、スーパーＬＳＩ、またはウルトラＬＳＩ等とすることができる。また、集積回路は、専用回路または汎用プロセッサにより実現するものであってもよい。また、集積回路は、その製造後にプログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）、または、内部の回路セルの接続や設定を再構成可能なコンフィギュラブル・プロセッサとしてもよい。さらには、無線通信装置１００および無線通信装置２００の各機能部は、半導体技術の進歩または派生する別技術に応じて、ＬＳＩに置き換わる他の集積回路化の技術（例えばバイオ技術）により集積化されたものにより実現されてもよい。
【００６５】
また、図示はしていないが、本実施の形態に係る無線通信装置１００および無線通信装置２００は、ユーザが動作を選択して実行するための、ユーザインタフェースをそれぞれ有してもよい。例えば、本実施の形態に係る無線通信装置１００および無線通信装置２００は、ユーザインタフェースとして、入力キー、ディスプレイ、マイクロフォン、スピーカ、カメラ、バイブレータ、およびプログラム格納や実行のためのメモリなどの機能をそれぞれ有してもよい。
【００６６】
次に、送信データ、無線確認応答、データ確認応答の各フォーマットについて、それぞれ説明する。
【００６７】
＜送信データのフォーマット＞
まず、送信データのフォーマットについて、図２を用いて説明する。
【００６８】
送信データ３００は、ＰＡＬヘッダ３１０、識別番号３２０、分割データ３３０で構成される。ＰＡＬヘッダ３１０は、各ＰＡＬでの個別の情報が定義されており、例えば、アプリケーションのサービスを実現するセッション情報などである。識別番号３２０は、分割データ３３０を識別可能な固有の番号であり、例えばシーケンス番号などである。分割データ３３０は、プロトコル制御部１２１により分割された１つ分のデータである。
【００６９】
プロトコル制御部１２１は、分割データ３３０に対し、ＰＡＬヘッダ３１０および識別番号３２０を付与することで、送信データ３００を生成する。そして、プロトコル制御部１２１は、生成した送信データ３００を、送信バッファ１２２からデータ送受信部１２３を介して無線通信部１３２へ出力させる。その後、送信データ３００は、無線通信部１３２から無線通信装置２００へ送信される。なお、以下では、送信データ３００を、適宜「データ３００」と表記する。
【００７０】
＜無線確認応答のフォーマット＞
次に、無線確認応答のフォーマットについて、図３を用いて説明する。
【００７１】
無線確認応答４００は、送信先アドレス４１０、送信元アドレス４２０、識別番号４３０で構成される。送信先アドレス４１０は、データ３００を送信した側（無線確認応答４００を受信する側）のアドレス、すなわち無線通信装置１００のアドレスである。送信元アドレス４２０は、データ３００を受信した側のアドレス（無線確認応答４００を送信する側）のアドレス、すなわち無線通信装置２００のアドレスである。ここでいうアドレスは、例えば、ＭＡＣアドレスが挙げられる。識別番号４３０は、無線通信装置２００にて正常に受信されたデータ３００を示す識別番号である。
【００７２】
無線確認応答４００は、無線通信装置２００のＭＡＣ層部２３０で生成される。ＭＡＣ層部２３０は、無線通信装置１００からデータ３００を正常に受信すると、そのデータ３００から、ＰＡＬヘッダ３１０に含まれる無線通信装置１００のアドレスと、識別番号３２０とを抽出する。ＭＡＣ層部２３０は、抽出した識別番号３２０（識別番号４３０）に対し、無線通信装置２００のアドレス（送信元アドレス４２０）および無線通信装置１００のアドレス（送信先アドレス４１０）を付与し、無線確認応答４００を生成する。識別番号３２０と識別番号４３０は、例えば、共通の番号である。
【００７３】
＜データ確認応答のフォーマット＞
次に、データ確認応答のフォーマットについて、図４を用いて説明する。
【００７４】
データ確認応答５００は、ＰＡＬヘッダ５１０および識別番号５２０で構成される。ＰＡＬヘッダ５１０は、各ＰＡＬでの個別の情報が定義されており、例えば、アプリケーションのサービスを実現するセッション情報などである。識別番号５２０は、無線通信装置２００において受信バッファから上位層に出力されたデータ３００を識別可能な固有の番号であり、例えばシーケンス番号などである。識別番号５２０は、無線通信装置２００にて正常に処理が完了されたデータ３００を示す識別番号である。換言すれば、識別番号５２０は、無線通信装置２００にて受信バッファから上位層部２１０へ出力された分割データ３３０を示す識別番号である。なお、識別番号５２０は、例えば、識別番号３２０および４３０と共通の番号である。また、識別番号５２０は、複数含まれてもよい。
【００７５】
＜無線通信装置１００の動作＞
次に、無線通信装置１００の動作例について説明する。
【００７６】
図５は、無線通信装置１００の動作の一例を示すフローチャートである。
【００７７】
ステップＳ００１において、プロトコル制御部１２１は、上位層部１１０からデータ送信指示を受け付けるまで待機する（Ｓ００１：ＮＯ）。プロトコル制御部１２１は、上位層部１１０からデータ送信指示を受け付けた場合（Ｓ００１：ＹＥＳ）、ステップＳ００２へ進む。
【００７８】
ステップＳ００２において、プロトコル制御部１２１は、上位層部１１０からの出力により送信バッファ１２２に蓄積されたデータに対し、データ送信準備処理を行う。プロトコル制御部１２１は、データ送信準備処理により、データ３００を複数生成する。
【００７９】
ステップＳ００３において、プロトコル制御部１２１は、保持している空き容量値を基に、無線通信装置２００の受信バッファの空き状況を確認する。
【００８０】
確認の結果、受信バッファに空きがある場合（Ｓ００３：ＹＥＳ）、プロトコル制御部１２１は、ステップＳ００５へ進む。
【００８１】
一方、確認の結果、受信バッファに空きがない場合（Ｓ００３：ＮＯ）、プロトコル制御部１２１は、データ確認応答管理部１２４から、データ確認応答５００に含まれる識別番号５２０の通知を受け取るまで待機する（Ｓ００４：ＮＯ）。
【００８２】
プロトコル制御部１２１は、識別番号５２０の通知を受けた場合（Ｓ００４：ＹＥＳ）、上述したように、識別番号５２０のデータの容量を、保持している空き容量値に加算し、ステップＳ００３へ戻る。
【００８３】
ステップＳ００５において、プロトコル制御部１２１は、保持している空き容量値の範囲内で、データ３００を送信バッファ１２２から出力させる指示を、送信バッファ１２２に行う。これにより、送信バッファ１２２は、データ３００をデータ送受信部１２３へ出力する。このように、プロトコル制御部１２１がバッファ１２２からデータ３００を出力させる制御は「データ出力制御」という。なお、プロトコル制御部１２１は、上述したように、出力を指示したデータ３００の容量を、保持している空き容量値から減算する。
【００８４】
データ出力制御により送信バッファ１２２から出力したデータ３００は、データ送受信部１２３を介して無線通信部１３２へ出力される。その後、データ３００は、無線通信部１３２から無線通信装置２００へ送信される。
【００８５】
ステップＳ００６において、プロトコル制御部１２１は、無線確認応答通知部１３１から、無線応答確認４００に含まれる識別番号４３０の通知を受け取るまで待機する（Ｓ００６：ＮＯ）。プロトコル制御部１２１は、識別番号４３０の通知を受けた場合（Ｓ００６：ＹＥＳ）、ステップＳ００７へ進む。なお、図示は省略しているが、識別番号４３０の通知を待機している場合に（Ｓ００６：ＮＯ）おいて規定時間が過ぎた場合、プロトコル制御部１２１は、送信バッファ１２２から再送用データを出力させる。
【００８６】
ステップＳ００７において、プロトコル制御部１２１は、再送用として送信バッファ１２２に待機しているデータ３００のうち、無線通信装置２００にて正常に受信されたデータ３００を、送信バッファ１２２から削除する。すなわち、プロトコル制御部１２１は、正常に受信されたデータ３００である識別番号４３０以下に該当するデータ３００を、送信バッファ１２２から削除する。
【００８７】
ステップＳ００８において、プロトコル制御部１２１は、削除により送信バッファ１２２に空きが生じた旨を上位層部１１０へ通知する。
【００８８】
ステップＳ００９において、上位層部１１０は、送信バッファ１２２に空きが生じた旨の通知を受けると、送信バッファ１２２に入りきらなかった未出力データがあるか否かを判断する。ここでいう未出力データは、先に送信バッファ１２２に出力されたデータに続いて送信する予定のデータである。
【００８９】
判断の結果、未出力データがない場合（Ｓ００９：ＮＯ）、すなわち無線通信装置２００へのデータ送信が完了した場合、上位層部１１０は、処理を終了する。これにより、無線通信装置１００は、図５に示す一連の処理を終了する。
【００９０】
一方、判断の結果、未出力データがある場合（Ｓ００９：ＹＥＳ）、すなわち無線通信装置２００へのデータ送信が完了していない場合、上位層部２１０は、未出力データを送信バッファ１２２へ出力する。そして、上位層部１１０は、プロトコル制御部１２１へデータ送信指示を送る。これ以降は、再びステップＳ００１から一連の処理が開始される。なお、図５に示す一連の処理は、未出力データがなくなるまで繰り返される。
【００９１】
このような動作により、無線通信装置１００は、データ確認応答を待つことなく、無線確認応答をトリガとして、送信バッファに待機している再送用データのうち、無線確認応答により通知されたデータを削除できる。よって、無線通信装置１００は、データ確認応答を受信する前に、次のデータの送信準備を開始することができる。これにより、無線通信装置１００は、無線通信を介して接続された他の無線通信装置との間で、到着保証型のデータ送信を高速化することができる。
【００９２】
＜通信システムの動作＞
以下、無線通信装置１００および無線通信装置２００の全体（以下「通信システム」という）の動作の例を、図６を用いて説明する。
【００９３】
図６は、無線通信装置１００が、無線通信装置２００に対し、近距離無線通信を介して到着保証型のデータ送信を行うときの動作の一例を示すシーケンス図である。
【００９４】
ステップＳ１０１において、上位層部１１０は、例えば、ユーザの操作を受け付けたことを契機として、無線通信装置２００へのデータの送信手続を開始する。
【００９５】
ステップＳ１０２において、上位層部１１０は、データ送信指示をプロトコル制御部１２１へ出力する。
【００９６】
ステップＳ１０３において、上位層部１１０は、送信対象となるデータを、生成し、または、記憶媒体などから読み出し、送信バッファ１２２に出力する。
【００９７】
ステップＳ１０４において、プロトコル制御部１２１は、上位層部１１０からデータ送信指示を受け取ると、送信バッファ１２２に出力されたデータに対し、データ送信準備処理を行う。これにより、プロトコル制御部１２１は、送信バッファ１２２において、データ３００を複数生成する。
【００９８】
ステップＳ１０５において、プロトコル制御部１２１は、データ送信準備処理が終了すると、保持している空き容量値を基に、無線通信装置２００の受信バッファの空きを確認する。ここでは例として、受信バッファは、データを蓄積しておらず、空きがある場合とする。空きがない場合については、ステップＳ１１６以降で説明する。
【００９９】
ステップＳ１０６において、プロトコル制御部１２１は、受信バッファが空いていることを確認したら、空き容量値の範囲内のデータ３００を出力するように送信バッファ１２２に指示する。また、このとき、プロトコル制御部１２１は、出力を指示したデータ３００の容量を、保持している空き容量値から減算する。
【０１００】
ステップＳ１０７において、送信バッファ１２２は、出力を指示されたデータ３００をデータ送受信部１２３へ出力する。
【０１０１】
ステップＳ１０８において、データ送受信部１２３は、送信バッファ１２２から出力されたデータ３００を、無線通信部１３２へ転送する。
【０１０２】
ステップＳ１０９において、無線通信部１３２は、データ送受信部１２３から転送されてきたデータ３００を、無線区間を介して、無線通信装置２００へ送信する。
【０１０３】
ステップＳ１１０において、無線通信装置２００は、データ３００を正常に受信すると、無線確認応答４００を生成し、無線区間を介して、無線通信装置１００へ送信する。なお、無線確認応答４００の生成および送信は、上述した通り、無線通信装置２００のＭＡＣ層部２３０が行う。
【０１０４】
ステップＳ１１１において、無線通信部１３２は、無線通信装置２００から無線確認応答４００を受信すると、その無線確認応答４００を無線確認応答通知部１３１へ出力する。
【０１０５】
ステップＳ１１２において、無線確認応答通知部１３１は、無線確認応答４００を受け取ると、無線確認応答４００から識別番号４３０を抽出する。
【０１０６】
ステップＳ１１３において、無線確認応答通知部１３１は、抽出した識別番号４３０をプロトコル制御部１２１へ通知する。
【０１０７】
ステップＳ１１４において、プロトコル制御部１２１は、通知された識別番号４３０に基づいて、送信バッファ１２２に対し、データ３００を削除する旨を指示する。これにより、送信バッファ１２２からデータ３００が削除される。ここで削除されるのは、識別番号４３０以下に該当する、無線通信装置２００にて正常に受信されたデータ３００である。
【０１０８】
ステップＳ１１５において、プロトコル制御部１２１は、送信バッファ１２２に空きができた旨を上位層部１１０に通知する。
【０１０９】
ステップＳ１１６において、上位層部１１０は、送信バッファ１２２に空きが生じた旨の通知をプロトコル制御部１２１から受ける。通知を受けた上位層部１１０は、ステップＳ１０３で送信バッファ１２２に入りきらなかった未出力データがあるか否かを判定する。上位層部１１０は、未出力データがあると判定した場合、未出力データのうち、ステップＳ１０７〜Ｓ１０９で送信したデータ（以下、「先行データ」という）に続くデータ（以下、「後続データ」という）の送信手続を開始する。
【０１１０】
その後、上位層部１１０およびプロトコル制御部１２１は、上述したステップＳ１０２〜Ｓ１０５の処理を再び行う。この段階では、まだ、データ確認応答が無線通信装置１００に届いていないものとする。つまり、受信バッファは、先行データ３００を蓄積しており、空きがない場合とする。この場合、プロトコル制御部１２１は、データ確認応答に含まれる識別番号の通知を受け、受信バッファの空きが確認できるまで待機する。
【０１１１】
ここで、先行データ３００に対応するデータ確認応答が生成され、無線通信装置１００へ送信される動作について説明する。
【０１１２】
上記ステップＳ１１０において、無線通信装置２００に受信された先行データ３００は、ＭＡＣ層部２３０からプロトコル適応層部２２０の受信バッファへ転送される。なお、上述の通り、受信バッファには、先行データ３００から抽出された分割データ３３０が転送される。その後、分割データ３３０は、受信バッファから上位層部２１０へ出力される。このように受信バッファから上位層部２１０へ分割データ３３０の出力が完了すると、無線通信装置２００は、データ確認応答５００を生成する。データ確認応答５００は、上位層部２１０への出力が完了した分割データ３３０を示す識別番号５２０を含む。
【０１１３】
ステップＳ１１７において、無線通信装置２００は、生成したデータ確認応答５００を、無線区間を介して、無線通信装置１００へ送信する。なお、上述した通り、データ確認応答５００の生成はプロトコル適応層部２２０が行い、データ確認応答５００の送信はＭＡＣ層部２３０が行う。
【０１１４】
ステップＳ１１８において、無線通信部１３２は、無線通信装置２００からデータ確認応答５００を受信すると、そのデータ確認応答５００をデータ送受信部１２３へ転送する。
【０１１５】
ステップＳ１１９において、データ送受信部１２３は、無線通信部１３２から転送されてきたデータ確認応答を、データ確認応答管理部１２４へ転送する。
【０１１６】
ステップＳ１２０において、データ確認応答管理部１２４は、データ送受信部１２３から転送されてきたデータ確認応答５００から識別番号５２０を抽出する。
【０１１７】
ステップＳ１２１において、データ確認応答管理部１２４は、抽出した識別番号５２０をプロトコル制御部１２１へ通知する。
【０１１８】
ステップＳ１２２において、プロトコル制御部１２１は、通知された識別番号５２０に基づいて、保持している空き容量値の更新を行う。すなわち、プロトコル制御部１２１は、識別番号５２０に該当する分割データ３３０の容量を、保持している空き容量値に加算する。この加算の結果、プロトコル制御部１２１は、受信バッファに空きがあることを確認できたら、後続データ３００に対するデータ出力制御を行う。これにより、後続データ３００は、上述したステップＳ１０６〜Ｓ１０９の処理が行われ、無線通信装置２００に送信される。その後は、再びステップＳ１１０からステップＳ１１５までの処理が行われる。
【０１１９】
以上説明した一連の処理は、上位層部１１０により未出力データが無いと判断されるまで、繰り返し行われる。
【０１２０】
このような動作により、無線通信装置１００は、データ確認応答を待つことなく、無線確認応答をトリガとして、送信バッファに待機している再送用データのうち、無線確認応答により通知されたデータを削除できる。よって、無線通信装置１００は、データ確認応答を受信する前に、次のデータの送信準備を開始することができる。これにより、無線通信装置１００は、無線通信を介して接続された他の無線通信装置との間で、到着保証型のデータ送信を高速化することができる。
【０１２１】
＜無線通信装置１００の効果＞
次に、無線通信装置１００により得られる効果について、図７および図８をそれぞれ用いて説明する。図７および図８は、無線通信装置１００が無線通信装置２００へデータを送信する際の送信バッファおよび受信バッファの遷移の一例を示している。
【０１２２】
まず、図７の例について説明する。図７の例は、無線通信装置１００が、無線通信装置２００からデータ確認応答を受け取ったことをトリガとして、送信バッファ１２２に待機中の再送用データを削除する場合を示している。すなわち、図７は、従来技術の到着保証型のデータ送信の例である。なお、図７では、無線通信装置１００および無線通信装置２００において、上位層部１１０、２１０の図示を省略している。
【０１２３】
送信バッファ（ａ）は、送信バッファ１２２において、上位層部１１０からの出力により蓄積されたデータが、プロトコル適応層部１２０によりデータ送信準備処理が施された状態を示している。データ送信準備処理の結果、送信バッファ（ａ）に示すように、６つに等分割された各データは、１〜６の識別番号がそれぞれ付与されている。以下、例えば、識別番号１が付与されたデータは「データ１」という。データ１〜６は、それぞれ、図２に示すフォーマットが採用されている。
【０１２４】
送信バッファ（ａ）に示す送信バッファ１２２に対し、プロトコル適応層部１２０は、例えば、データ１〜６を出力するように指示すると、データ１〜６が順番に送信バッファ１２２からＭＡＣ層部１３０へ出力される。そして、データ１〜６は、ＭＡＣ層部１３０から無線区間を介して、無線通信装置２００へ送信される。
【０１２５】
無線通信装置２００のＭＡＣ層部２３０は、無線区間を介して無線通信装置１００からデータ１〜６を受信する。ここで、ＭＡＣ層部２３０は、データ１〜６を正常に受信すると、その旨を示す無線確認応答を生成し、無線通信装置１００へ送信する。なお、図７の例では、ＭＡＣ層部２３０は、予めなされた設定に基づいて、データを３つ受信する毎に無線確認応答を生成して送信する。よって、例えば、無線確認応答１には、データ１〜３を正常に受信した旨を示す情報として、データ３の識別番号３が含まれる。また、例えば、無線確認応答２には、データ４〜６を正常に受信した旨を示す情報として、データ６の識別番号６が含まれる。
【０１２６】
ＭＡＣ層部２３０は、無線確認応答１を送信した後、受信したデータ１〜３をプロトコル適応層部２２０の受信バッファへ出力する。これにより、受信バッファは、受信バッファ（ｂ）に示す状態から受信バッファ（ｃ）に示す状態となる。受信バッファ（ｂ）は、受信バッファがデータを全く蓄積していない状態を示している。また、受信バッファ（ｃ）は、受信バッファがデータ１〜３を蓄積した状態を示している。なお、受信バッファは、送信バッファ１２２と同じ容量である。
【０１２７】
さらに、ＭＡＣ層部２３０は、無線確認応答２を送信した後、受信したデータ４〜６をプロトコル適応層部２２０の受信バッファへ出力する。これにより、受信バッファは、受信バッファ（ｃ）に示す状態から受信バッファ（ｄ）に示す状態となる。受信バッファ（ｄ）は、受信バッファがデータ１〜６を蓄積することで、最大限にデータを蓄積した状態を示している。
【０１２８】
プロトコル適応層部２２０は、受信バッファに蓄積されたデータ１〜６を順に上位層部２１０へ出力する。これにより、受信バッファは、データ１〜６が削除され、受信バッファ（ｅ）に示すようにデータが全く蓄積されていない状態に戻る。プロトコル適応層部２２０は、データ１〜６を受信バッファから上位層部２１０へ正常に出力した旨を示すデータ確認応答を生成し、ＭＡＣ層部２３０へ出力する。このデータ確認応答には、例えば、データ１〜６の識別番号１〜６が含まれる。ＭＡＣ層部２３０は、プロトコル適応層部２２０から出力されたデータ確認応答を、無線区間を介して無線通信装置１００へ送信する。
【０１２９】
無線通信装置１００のＭＡＣ層部１３０は、無線区間を介して無線通信装置２００からデータ確認応答を受信し、プロトコル適応層部１２０へ転送する。プロトコル適応層部１２０は、受け取ったデータ確認応答に含まれている識別番号１〜６を基に、送信バッファ１２２に再送用として待機しているデータ１〜６を削除する。これにより、送信バッファ１２２は、送信バッファ（ｆ）に示すように、データが全く蓄積されていない状態に戻る。そして、プロトコル適応層部１２０は、データ１〜６の削除により送信バッファ１２２に空きが生じた旨を、上位層部１１０へ通知する。
【０１３０】
上位層部１１０は、送信バッファ１２２に空きが生じた旨の通知を受けると、未出力データのうち、データ６に続く後続データを送信バッファ１２２へ出力する。これにより、送信バッファ（ｇ）に示すように、送信バッファ１２２には、後続データが順次蓄積される。
【０１３１】
そして、送信バッファ１２２に後続データが最大限蓄積されると、プロトコル適応層部１２０は、後続データに対してデータ送信準備処理を施す。この結果、送信バッファ（ｈ）に示すように、後続データは、６つに等分割され、７〜１２の識別番号がそれぞれ付与される。その後、プロトコル適応層部１２０は、データ出力制御により、識別番号７のデータから順にＭＡＣ層部１３０へ出力される。これ以降の処理は、上述したデータ１〜６の出力の場合と同様である。
【０１３２】
以上説明したように、図７の例において、送信バッファ１２２に待機している再送用データの削除は、データ確認応答をトリガとして実行される。よって、図７の例は、データ確認応答を受信してから後続データを送信するまでの時間ｔ１の間に、再送用データの削除、後続データの蓄積、および後続データに対するデータ送信準備処理が行われることになる。
【０１３３】
次に、図８の例について、説明する。図８の例は、無線通信装置１００が、無線通信装置２００から無線確認応答を受け取ったことをトリガとして、送信バッファ１２２に待機中の再送用データを削除する場合を示している。すなわち、図８は、本実施の形態の到着保証型のデータ送信の例である。なお、以下では、図８において、図７と共通する図示についての説明は省略し、図７と異なる図示についてのみ説明する。
【０１３４】
図８の例は、送信バッファ１２２に待機中の再送用データの削除が、無線確認応答をトリガとして実行される点で図７の例と異なる。
【０１３５】
まず、ＭＡＣ層部１３０は、無線確認応答１を受信すると、無線確認応答１から識別番号を抽出する。無線確認応答１には識別番号３が含まれているため、ＭＡＣ層部１３０は、識別番号３を抽出する。そして、ＭＡＣ層部１３０は、抽出した識別番号３をトリガ1としてプロトコル適応層部１２０へ通知する。
【０１３６】
次に、プロトコル適応層部１２０は、トリガ１により通知された識別番号３であることから、送信バッファ１２２に再送用として待機しているデータのうち、識別番号３以下に該当するデータ１〜３を削除する。これにより、送信バッファ１２２は、送信バッファ（ｉ）に示すように、空き領域Ｘが生じた状態となる。そして、プロトコル適応層部１２０は、データ１〜３の削除により送信バッファ１２２に空きが生じた旨を、上位層部１１０へ通知する。
【０１３７】
次に、上位層部１１０は、送信バッファ１２２に空きが生じた旨の通知を受けると、未出力データのうち、データ６に続く後続データを送信バッファ１２２へ出力する。これにより、送信バッファ１２２には、空き領域Ｘに後続データが蓄積される。
【０１３８】
次に、プロトコル適応層部１２０は、空き領域Ｘに蓄積された後続データに対し、データ送信準備処理を施す。この結果、送信バッファ１２２は、送信バッファ（ｊ）に示すように、先に蓄積されたデータ４〜６に続き、後続データとしてのデータ７〜９が蓄積された状態となる。なお、データ７〜９は、データ４〜６と同様に等分割されている。
【０１３９】
このように図８の例では、無線確認応答１を受信したことをトリガとして、無線確認応答２の受信前に、再送用データの削除、後続データの蓄積、後続データに対するデータ送信準備処理が行われる。
【０１４０】
次に、ＭＡＣ層部１３０は、無線確認応答２を受信すると、無線確認応答２から識別番号を抽出する。無線確認応答２には識別番号６が含まれているため、ＭＡＣ層部１３０は、識別番号６を抽出する。そして、ＭＡＣ層部１３０は、トリガ２として抽出した識別番号６をプロトコル適応層部１２０へ通知する。
【０１４１】
次に、プロトコル適応層部１２０は、トリガ２により通知された識別番号６であることから、送信バッファ１２２に再送用として待機しているデータのうち、識別番号６以下に該当するデータ４〜６を削除する。これにより、送信バッファ１２２は、送信バッファ（ｋ）に示すように、空き領域Ｘが生じた状態となる。そして、プロトコル適応層部１２０は、データ４〜６の削除により送信バッファ１２２に空きが生じた旨を、上位層部１１０へ通知する。
【０１４２】
次に、上位層部１１０は、送信バッファ１２２に空きが生じた旨の通知を受けると、未出力データのうち、データ９に続く後続データを送信バッファ１２２へ出力する。これにより、送信バッファ１２２は、空き領域Ｘに後続データが蓄積される。
【０１４３】
次に、プロトコル適応層部１２０は、空き領域Ｘに蓄積された後続データに対し、データ送信準備処理を施す。この結果、送信バッファ１２２は、送信バッファ（ｈ）に示すように、先に蓄積されたデータ７〜９に続き、後続データとしてのデータ１０〜１２が蓄積された状態となる。なお、データ１０〜１２は、データ７〜９と同様に等分割されている。
【０１４４】
このように図８の例では、無線確認応答２を受信したことをトリガとして、データ確認応答の受信前に、再送用データの削除、後続データの蓄積、後続データに対するデータ送信準備処理が行われる。
【０１４５】
以上説明したように、図８の例では、送信バッファ１２２に待機している再送用データの削除は、無線確認応答をトリガとして実行される。よって、図８の例は、無線確認応答１を受信してからデータ確認応答を受信するまでの時間ｔ２の間に、再送用データの削除、後続データの蓄積、および後続データに対するデータ送信準備処理が行われる。したがって、無線通信装置１００は、データ確認応答を受信すると、すぐに、送信バッファ１２２の後続データ７〜９を送信することができる。すなわち、図８の例では、図７に示すｔ１の時間をほぼ省略できるので、到着保証型のデータ送信を高速に実現することができる。
【０１４６】
＜無線通信装置１００の別の効果＞
次に、無線通信装置１００により得られる別の効果について、図９および図１０をそれぞれ用いて説明する。
【０１４７】
まず、図９の例について説明する。図９の例は、受信バッファが送信バッファよりも大きい場合において、図７に示す従来技術に係る到着保証型のデータ送信を行う例である。なお、以下では、図９において、図７と共通する図示についての説明は省略し、図７と異なる図示についてのみ説明する。
【０１４８】
受信バッファ（ｂ）は、受信バッファがデータを全く蓄積していない状態を示している。その後、無線通信装置２００が無線通信装置１００からデータ１〜３を受信すると、受信バッファにデータ１〜３が蓄積される。これにより、受信バッファは、受信バッファ（ｃ）に示す状態となる。さらに、その後、無線通信装置２００が無線通信装置１００からデータ４〜６を受信すると、受信バッファにデータ４〜６が蓄積される。これにより、受信バッファは、受信バッファ（ｄ）に示す状態となる。
【０１４９】
ここで、無線通信装置１００は、送信バッファ１２２に蓄積されたデータ１〜６の送信を終えたため、データ確認応答を受信するまで再送用のデータ１〜６を保持した状態となる。よって、無線通信装置１００は、データ６に続く後続データを送信することができない。その結果、受信バッファに蓄積されるデータは、受信バッファ（ｄ）に示すようにデータ６までとなる。
【０１５０】
受信バッファ（ｄ）に示すデータ１〜６が上位層部２１０へ出力されると、受信バッファは、受信バッファ（ｅ）に示すように、データが全く蓄積されていない状態に戻る。ここで、無線通信装置２００は、データ確認応答を無線通信装置１００へ送信する。
【０１５１】
その後、データ確認応答を受信した無線通信装置１００からは、後続データであるデータ７〜１２が送信されてくる。これらデータ７〜１２は、受信バッファにおいて、受信バッファ（ｄ）に示す状態と同様に蓄積される。
【０１５２】
つまり、図９の例では、受信バッファにおいて、データ６つ分が蓄積される領域以外の領域Ｙは使用されることがない。換言すれば、図９の例では、受信バッファにおいて、送信バッファと同じ大きさの領域しか使用されない。
【０１５３】
次に、図１０の例について説明する。図１０の例は、受信バッファが送信バッファよりも大きい場合において、図８に示す本実施の形態に係る到着保証型のデータ送信を行う例である。なお、以下では、図１０において、図８および図９と共通する図示についての説明は省略し、図８および図９と異なる図示についてのみ説明する。
【０１５４】
図１０に示す例では、上述した通り、無線通信装置１００は、無線確認応答を受信する度に、送信バッファ１２２の再送用データの削除を行い、後続データの蓄積およびデータ送信準備処理を進める。よって、図９の例とは異なり、無線通信装置１００は、無線確認応答２を受信した後でも、データ６に続く後続データ７〜９を直ちに送信することができる。無線通信装置２００は、無線通信装置１００からデータ７〜９を受信すると、受信バッファにおいて、データ６に続きデータ７〜９が蓄積される。これにより、受信バッファは、受信バッファ（ｍ）に示す状態となる。なお、無線通信装置１００の送信バッファ１２２は、データ７〜９が正常に受信されたことを示す無線確認応答３の受信をトリガとして、再送用のデータ７〜９が削除され、送信バッファ（ｌ）に示す状態となる。
【０１５５】
つまり、図１０の例では、受信バッファにおいて、データ６つ分が蓄積される領域以外の領域Ｙも、使用されることになる。換言すれば、図１０の例では、受信バッファにおいて、送信バッファ以上の領域が使用される。
【０１５６】
以上のように、受信バッファが送信バッファよりも大きい場合、図９の例に示す従来技術と図１０に示す本実施の形態とでは、以下の差異がある。すなわち、図９に示す従来技術では、受信バッファが送信バッファより容量を備えていても、受信バッファは送信バッファの容量分しか使用されない。よって、図９に示す従来技術では、送信バッファの容量に依存してデータの伝送速度が低下してしまう。これに対し、図１０に示す本実施の形態では、受信バッファは送信バッファの容量を超えて使用される。よって、図１０に示す本実施の形態では、送信バッファの容量以上のデータを受信バッファへ蓄積できるので、データの伝送を高速に行うことができる。また、図１０に示す本実施の形態では、データ確認応答の到着を待たずして、次々とデータを送信することができるので、送信バッファの容量を削減することもできる。
【０１５７】
以上のように、本実施の形態に係る無線通信装置１００は、ＭＡＣ層部１３０と、プロトコル適応部１２０とを具備する。ＭＡＣ層部１３０は、無線通信装置２００へデータを無線送信した場合に、データを受信した旨を示す無線確認応答を受信する。プロトコル適応部１２０は、ＭＡＣ層部１３０の上位の階層であり、データの再送に備えて送信バッファ１２２に再送用データを待機させる。そして、ＭＡＣ層部１３０は、受信した無線確認応答をプロトコル適応層部１２０へ通知する無線確認応答通知部１３１を有する。また、プロトコル適応層部１２０は、無線確認応答の通知をトリガとして、送信バッファ１２２から再送用データを削除するプロトコル制御部１２１を有する。プロトコル制御部１２１は、再送用データを削除すると、送信バッファ１２２に空きが生じた旨を、送信バッファ１２２にデータを出力する上位層部１１０へ通知する。
【０１５８】
よって、本実施の形態に係る無線通信装置１００は、無線確認応答４００をトリガとして、送信バッファ１２２に待機している再送用データのうち、無線確認応答４００により正常に受信されたことを通知されたデータを削除できる。したがって、無線通信装置１００は、データ確認応答５００を待つことなく、次のデータの送信準備を開始することができる。その結果、無線通信装置１００は、無線通信を介して接続された他の無線通信装置との間で、到着保証型のデータ送信を高速化することができる。
【０１５９】
以上、本実施の形態について説明したが、上記説明は一例であり、種々の変形が可能である。以下、変形例について説明する。
【０１６０】
＜変形例の説明＞
上記実施の形態において、プロトコル制御部は、データ確認応答に含まれる識別番号および無線確認応答に含まれる識別番号の通知を受ける例としたが、これに限定されない。例えば、プロトコル制御部１２１は、自体が、データ確認応答および無線確認応答を受け取り、それら各応答から識別番号を抽出するようにしてもよい。
【０１６１】
また、上記実施の形態では、プロトコル制御部がデータ確認応答により受ける通知を識別番号である例としたが、これに限定されない。例えば、プロトコル制御部は、データ確認応答により、無線通信装置２００にて正常に受信されたデータのトータルのサイズを示す情報の通知を受けてもよい。あるいは、プロトコル制御部は、データ確認応答により、無線通信装置１００が最終的に送信するデータのトータルのサイズを基準として、無線通信装置２００がまだ受信していないデータのサイズを示す情報の通知を受けてもよい。
【０１６２】
また、上記実施の形態では、本発明をハードウェアで構成する場合を例にとって説明したが、本発明はハードウェアとの連係においてソフトウェアでも実現することも可能である。
【産業上の利用可能性】
【０１６３】
本発明は、近距離無線通信を介して接続された他の無線通信装置との間で、到着保証型のデータ送受信を高速化することができる無線通信装置、無線通信方法、および無線通信制御プログラムとして有用である。本発明は、例えば、携帯電話機やタブレットなどの携帯機器、および、パーソナルコンピュータに適用することができる。
【符号の説明】
【０１６４】
１００  無線通信装置
１１０  上位層部
１２０  プロトコル適応層部
１２１  プロトコル制御部
１２２  送信バッファ
１２３  データ送受信部
１２４  データ確認応答管理部
１３０  ＭＡＣ層部
１３１  無線確認応答通知部
１３２  無線通信部
２００  無線通信装置
２１０  上位層部
２２０  プロトコル適応層部
２３０  ＭＡＣ層部
【図１】
2013157877.tif 000003
【図２】
2013157877.tif 000004
【図３】
2013157877.tif 000005
【図４】
2013157877.tif 000006
【図５】
2013157877.tif 000007
【図６】
2013157877.tif 000008
【図７】
2013157877.tif 000009
【図８】
2013157877.tif 000010
【図９】
2013157877.tif 000011
【図１０】
2013157877.tif 000012