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