Nothing Special   »   [go: up one dir, main page]

JP2013157877A - 無線通信装置、無線通信方法、および無線通信制御プログラム - Google Patents

無線通信装置、無線通信方法、および無線通信制御プログラム Download PDF

Info

Publication number
JP2013157877A
JP2013157877A JP2012018243A JP2012018243A JP2013157877A JP 2013157877 A JP2013157877 A JP 2013157877A JP 2012018243 A JP2012018243 A JP 2012018243A JP 2012018243 A JP2012018243 A JP 2012018243A JP 2013157877 A JP2013157877 A JP 2013157877A
Authority
JP
Japan
Prior art keywords
data
wireless communication
communication device
confirmation response
transmission buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012018243A
Other languages
English (en)
Inventor
Satoshi Chiga
諭 千賀
Shinichiro Nishioka
伸一郎 西岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp filed Critical Panasonic Corp
Priority to JP2012018243A priority Critical patent/JP2013157877A/ja
Priority to PCT/JP2012/006485 priority patent/WO2013114484A1/ja
Publication of JP2013157877A publication Critical patent/JP2013157877A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

【課題】無線通信を介して接続された他の通信装置との間で、到着保証型のデータ送信を高速化できる通信装置を提供すること。
【解決手段】無線通信装置100は、無線通信装置200へデータを無線送信した場合に、データを受信した旨を示す無線確認応答を受信するMAC層部130と、MAC層部130の上位の階層であり、データの再送に備えて送信バッファ122に再送用データを待機させるプロトコル適応層部120と、を具備する。MAC層部130は、受信した無線確認応答をプロトコル適応層部120へ通知する。プロトコル適応層部120は、無線確認応答の通知をトリガとして、送信バッファ122から再送用データを削除するとともに、送信バッファ122に空きが生じた旨を、送信バッファ122にデータを出力する上位層部110へ通知する。
【選択図】図1

Description

本発明は、他の無線通信装置へデータの無線送信を行う、無線通信装置、無線通信方法、および無線通信制御プログラムに関する。
例えば、動画や静止画などのコンテンツデータを、無線通信により他の無線通信装置へ送信することができる無線通信装置が普及している。それに伴い、無線通信装置では、無線通信により送受信されるデータのエラーを防止する技術も考案されている。
特許文献1は、上記技術の一例として、到着保証型のデータ送信を開示している。到着保証型のデータ送信は、例えば、以下の(1)〜(3)の手順により実現される。
(1)送信側の無線通信装置は、送信対象のデータを送信バッファに蓄積した後で複数に分割し、分割した各データに対して連続する識別番号を付与し、各データを受信側の無線通信装置へ順次送信する。また、送信側の無線通信装置は、再送に備えて、送信したデータを送信バッファに待機させる。
(2)受信側の無線通信装置は、正常に受信したデータの識別番号を含む確認応答を生成し、送信側の無線通信装置へ送信する。確認応答は、受信側の無線通信装置がデータを正常に受信した旨を送信側の無線通信装置へ通知する役割を有する。
(3)送信側の無線通信装置は、受信した確認応答に含まれる識別番号を基に、送信バッファに再送用として待機しているデータを削除し、次に送信するデータを送信バッファに蓄積する。なお、送信側の無線通信装置は、確認応答を所定時間内に受信しなかった場合、送信バッファに待機しているデータを再送する。
(1)〜(3)の手順は、送信対象のデータがなくなるまで繰り返される。このように、送信側の無線通信装置は、送信バッファに蓄積した複数のデータを連続して送信する場合において、受信側の無線通信装置からの確認応答を基に、先行して送信したデータが正常に受信されたことを確認する。そして、送信側の無線通信装置は、先行して送信したデータが正常に受信されたことを確認した上で、後続のデータの準備を行う。これにより、送信側の無線通信装置から送信されるデータは受信側の無線通信装置へ到着することが保証されるため、エラーの無いデータ送信を実現できる。
上述した到着保証型のデータ送信方法の一つは、例えば、通信機能を階層構造に分割したOSI(Open Systems Interconnection)参照モデルを、適用した無線通信装置の例であり、以下に説明する。
ここでは、MAC(Media Access Control)層と、その上位のPAL(Protocol Adaptation Layer)とを利用して、無線通信を行う無線通信装置を例に説明する。MAC層とPALとでは、別々の通信プロトコルが用いられる。このため、OSI(Open Systems Interconnection)参照モデルを適用した無線通信装置では、到着保証型のデータ送信を行うために必要な確認応答も、MAC層とPALとで別々のものが用いられる。つまり、無線通信装置は、MAC層で受信した無線確認応答についてはMAC層において、また、PALで受信したデータ確認応答についてはPALにおいて、それぞれ独立して処理を行う。
具体的には、無線通信装置は、PALにおいて、データ確認応答の受信をトリガとして、送信バッファに待機中の再送用データの削除を行う。その一方で、上記無線通信装置は、MAC層において、データ確認応答よりも先に無線確認応答を受信する。
特開2007−243413号公報
しかし、従来の無線通信装置は、無線確認応答の受信により再送用データを待機させておく必要がなくなったにもかかわらず、データ確認応答を受信してからでないと、再送用データを削除できない。つまり、従来の無線通信装置は、再送用データを削除できないと、次に送信するデータの準備を行うこともできない。
このように、従来の無線通信装置は、先に受信する無線確認応答を基に再送用データの削除を行うことができる状況にありながら、後に受信するデータ確認応答を待ってから再送用データの削除を行う。したがって、従来の無線通信装置では、次に送信するデータの準備の開始が遅くなり、データの送信速度が低下する、という課題がある。
本発明の目的は、無線通信を介して接続された他の無線通信装置との間で、到着保証型のデータ送信を高速化することである。
本発明の無線通信装置は、他の無線通信装置へデータを無線送信した場合に、前記他の無線通信装置から、前記データを受信した旨を示す無線確認応答を受信するMAC(Media Access Control)層部と、前記MAC層部の上位の階層であり、前記データの再送に備えて送信バッファに再送用データを待機させるプロトコル適応層部と、を具備した無線通信装置であって、前記MAC層部は、前記無線確認応答を前記プロトコル適応層部へ通知し、前記プロトコル適応層部は、前記無線確認応答の通知をトリガとして、前記送信バッファから前記再送用データを削除するとともに、前記送信バッファに空きが生じた旨を、前記送信バッファにデータを出力する上位層へ通知する。
本発明の無線通信方法は、他の無線通信装置へデータを無線送信した場合に、前記他の無線通信装置から、前記データを受信した旨を示す無線確認応答を受信するMAC(Media Access Control)層部と、前記MAC層部の上位の階層であり、前記データの再送に備えて送信バッファに再送用データを待機させるプロトコル適応層部と、を具備した無線通信装置が行う無線通信方法であって、前記MAC層部において、前記無線確認応答を前記プロトコル適応層部へ通知するステップと、前記プロトコル適応層部において、前記無線確認応答の通知をトリガとして、前記送信バッファから前記再送用データを削除するとともに、前記送信バッファに空きが生じた旨を、前記送信バッファにデータを出力する上位層へ通知するステップと、を有する。
本発明の無線通信制御プログラムは、他の無線通信装置へデータを無線送信した場合に、前記他の無線通信装置から、前記データを受信した旨を示す無線確認応答を受信するMAC(Media Access Control)層部と、前記MAC層部の上位の階層であり、前記データの再送に備えて送信バッファに再送用データを待機させるプロトコル適応層部と、を具備した無線通信装置のコンピュータに実行させる無線通信制御プログラムであって、前記MAC層部において、前記無線確認応答を前記プロトコル適応層部へ通知する処理と、前記プロトコル適応層部において、前記無線確認応答の通知をトリガとして、前記送信バッファから前記再送用データを削除するとともに、前記送信バッファに空きが生じた旨を、前記送信バッファにデータを出力する上位層へ通知する処理と、を実行させる。
本発明は、無線通信を介して接続された他の無線通信装置との間で、到着保証型のデータの送信を高速化できる。
本実施の形態に係る通信システムの構成例を示すブロック図 本実施の形態に係る送信データのフォーマット例を示す図 本実施の形態に係る無線確認応答のフォーマット例を示す図 本実施の形態に係るデータ応答確認のフォーマット例を示す図 本実施の形態に係る送信側の無線通信装置の動作例を示すフローチャート 本実施の形態に係る通信システムの動作例を示すシーケンス図 従来技術に係る送信バッファと受信バッファの遷移の一例を示す図 本実施の形態に係る送信バッファと受信バッファの遷移の一例を示す図 従来技術に係る送信バッファと受信バッファの遷移の一例を示す図 本実施の形態に係る送信バッファと受信バッファの遷移の一例を示す図
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
図1は、本実施の形態に係る通信システムの構成例を示す。本実施の形態に係る通信システムは、無線通信装置100が、近距離無線通信を介して、無線通信装置200との間で到着保証型のデータ送信を行う場合を、一例として説明する。
<無線通信装置100の構成>
図1において、本実施の形態に係る無線通信装置100は、近距離無線通信を介して、無線通信装置200が備える受信バッファへデータを送信する装置である。
図1に示すように、無線通信装置100は、上位層部110、プロトコル適応層部120、MAC層部130を有する。プロトコル適応層部120は、プロトコル制御部121、送信バッファ122、データ送受信部123、およびデータ確認応答管理部124を有する。MAC層部130は、無線確認応答通知部131、および無線通信部132を有する。
上位層部110は、OSI参照モデルのプロトコル階層構造において、プロトコル適応層部120よりも上位に位置する階層である。上位層部110の例としては、ユーザの操作を基にデータの生成する、または、データの送信を行うアプリケーションが挙げられる。
上位層部110は、例えば、ユーザの操作を契機として、近距離無線通信を用いて無線通信装置200へデータの送信を開始する。その際、上位層部110は、送信対象となるデータを生成する、または、所定の記憶媒体などから読み出し、送信バッファ122のサイズ(以下、「容量」ともいう)以下に分割されたデータを送信バッファ122へ出力する。また、上位層部110は、データ送信指示をプロトコル制御部121へ出力する。データ送信指示は、送信バッファ122へ出力したデータを、無線通信装置200へ送信させるための指示である。送信対象となるデータは、例えば、動画や静止画などのコンテンツデータが挙げられる。
また、上位層部110は、送信バッファ122に入りきらなかった分のデータ(以下、「未出力データ」という)がある場合、プロトコル適応層部120から送信バッファ122に空きが出た旨の通知を受ける。そして、上位層部110は、プロトコル適応層部120から送信バッファ122に空きが出た旨の通知を受けると、送信バッファ122へ未出力データを出力する。
プロトコル適応層部120は、OSI参照モデルのプロトコル階層構造において、上位層である上位層部110と、下位層であるMAC層部130との間に位置する階層である。すなわち、プロトコル適応層部120は、上位層と下位層の整合を取ることを基本機能とするPAL(プロトコル適応層)である。具体的には、プロトコル適応層部120は、上位のアプリケーションが提供する各サービス特有の性質を吸収し、下位の無線層をサービスに依存しないで共通に定義できるようにしている。
ここで、プロトコル適応層部120が備える、プロトコル制御部121、送信バッファ122、データ送受信部123、およびデータ確認応答管理部124について、それぞれ説明する。
プロトコル制御部121は、送信バッファ122に蓄積されたデータに対する制御、あるいは、無線通信装置200の受信バッファ(図示せず)の空き状況の管理を行う。このようなプロトコル制御部121の各機能について、以下具体的に説明する。
まず、プロトコル制御部121は、上位層部110からデータ送信指示を受け付けた場合、上位層部110の出力により送信バッファ122に蓄積されたデータに対し、データ送信準備処理を施す。データ送信準備処理は、送信バッファ122に蓄積されたデータを分割し、分割した各データ(以下、「分割データ」という)に対し、PALヘッダおよび連続する識別番号を付与し、送信データを生成する処理である。つまり、データ送信準備処理では、送信バッファ122において、PALヘッダ、識別番号、および分割データを含む送信データが複数生成される。なお、送信データのフォーマットについては、図2を用いて後述する。また、以下では、送信データを、適宜「データ」と表記する。
また、プロトコル制御部121は、無線通信装置200の受信バッファの空き状況を確認する。プロトコル制御部121は、受信バッファに空きがある場合、データ送信準備処理により生成したデータを、送信バッファ122から出力させる。一方、受信バッファに空きがない場合、プロトコル制御部121は、データ確認応答の受信により受信バッファの空きが確認できるまで待機する。なお、受信バッファの空き状況を確認する動作の詳細は、後述する。
上記データ確認応答は、無線通信装置200が無線通信装置100からデータの受信後に、受信バッファに蓄えたデータの処理を完了したことを示す情報である。データ確認応答は、無線通信装置200のプロトコル適応層部220で生成され、無線通信装置100のプロトコル適応層部120で受信される。なお、データ確認応答のフォーマットについては、図4を用いて後述する。
また、プロトコル制御部121は、送信バッファ122からデータを出力させた場合、再送に備え、出力させたデータと同じデータを送信バッファ122に待機させておく。このように再送に備えて待機するデータは、以下、適宜「再送用データ」と表記する。そして、プロトコル制御部121は、データの出力後、規定時間内に、無線確認応答に含まれる識別番号の通知を受けなかった場合、待機中の再送用データを送信バッファ122から出力させる。
上記無線確認応答は、無線通信装置100から送信されたデータを無線通信装置200が正常に受信した旨を示すデータである。無線確認応答は、無線通信装置200のMAC層部230で生成され、無線通信装置100のMAC層部130で受信される。よって、無線通信装置100において、MAC層部130の上位であるプロトコル適応層部120では、無線確認応答の受信を認識することはできない。なお、無線確認応答のフォーマットについては、図3を用いて後述する。
また、プロトコル制御部121は、無線確認応答通知部131から、無線確認応答に含まれる識別番号の通知を受け取る。そして、プロトコル制御部121は、識別番号の通知を受け取ると、送信バッファ122に待機している再送用データのうち、通知された識別番号以下に該当するデータを送信バッファ122から削除する。つまり、プロトコル制御部121は、識別番号を含む無線確認応答を受け取ることにより、正しく受信されたために再送用データが不要となったことを認識する。例えば、プロトコル制御部121は、識別番号が1、2、3である3つのデータを順次送信バッファ122から出力し、無線通信装置200にて正常に受信された後、プロトコル制御部121から識別番号3が通知されたと仮定する。この場合、プロトコル制御部121は、識別番号が3であるデータに加え、識別番号が2であるデータおよび識別番号が1であるデータも、送信バッファ122から削除する。つまり、無線確認応答で通知された識別番号は、正常に受信されたデータの最新の識別番号を示す。
このように、プロトコル制御部121は、無線確認応答に含まれる識別番号の通知をトリガとして、再送用として送信バッファ122に待機中の再送用データのうち、無線通信装置200にて正常に受信されたデータを削除する。データの削除後、プロトコル制御部121は、送信バッファ122に空きが生じた旨を上位層部110に通知する。
また、プロトコル制御部121が、無線通信装置200の受信バッファの空き状況を管理する。例えば、プロトコル制御部121は、データの送信前に無線通信装置100と無線通信装置200との間でセッションの確立を行う際、無線通信装置200から受信バッファの全体の容量を示す情報を取得する。これ以降、プロトコル制御部121は、取得した情報が示す無線通信装置200の受信バッファの容量を最大値とし、送信バッファ122の状況を含め管理する。このようにして得られた値を保持することで、プロトコル制御部121は、受信バッファにどのくらいの空き容量があるかを管理する。以下、受信バッファの空き容量を示す値は、「空き容量値」という。
例えば、プロトコル制御部121は、上位層部110からのデータ送信指示に基づいて、送信バッファ122からデータを出力させる場合、出力を指示したデータの容量を、保持している受信バッファの空き容量値から減算する。プロトコル制御部121は、減算の結果得られた値を、受信バッファの新たな空き容量値として保持する。
また、例えば、プロトコル制御部121は、データ確認応答管理部124から、データ確認応答に含まれる識別番号の通知を受けた場合、その識別番号に該当するデータの容量を、保持している受信バッファの空き容量値に加算する。プロトコル制御部121は、加算の結果得られた値を、受信バッファの新たな空き容量値として保持する。
このように、プロトコル制御部121は、減算および加算を行うことにより、受信バッファの空き容量値を逐次更新する。
また、プロトコル制御部121は、送信バッファ122においてデータの送信準備が整った際、保持している空き容量値を基に、無線通信装置200の受信バッファに空きがあるか否かを確認する。
上記確認の結果、空き容量値が規定値以下であり、無線通信装置200の受信バッファに空きがない場合、プロトコル制御部121は、データ確認応答管理部124から、データ確認応答に含まれる識別番号の通知を受けるまで待機する。その後、プロトコル制御部121は、識別番号の通知を受けたら、識別番号のデータの容量を、保持している空き容量値に加算し、加算の結果得られた空き容量値を基に、再度、受信バッファに空きがあるか否かを確認する。
上記確認の結果、空き容量値が規定値より大きく、無線通信装置200の受信バッファに空きがある場合、プロトコル制御部121は、送信バッファ122に対し、空き容量値の範囲内でデータを出力するように指示する。なお、この指示の後、上述した通り、プロトコル制御部121は、出力を指示したデータの容量を、保持している空き容量値から減算する。
このように、プロトコル制御部121は、空き容量値を基に無線通信装置200の受信バッファの空き状況を確認し、受信バッファに空きがある場合にデータの送信を開始するように制御している。この制御により、無線通信装置100は、送信されたデータが、無線通信装置200の受信バッファに入りきらずにロスすることを防止できる。
送信バッファ122は、上位層部110から受け取ったデータを一時的に蓄積するバッファ(メモリ)である。送信バッファ122に蓄積されたデータは、プロトコル制御部121の指示を基に制御される。プロトコル制御部121による制御は、データ送信準備処理の実行、データ送受信部123への出力、および送信バッファ122からの削除である。
データ送受信部123は、送信バッファ122から出力されたデータを無線通信部132へ転送する。また、データ送受信部123は、無線通信部132が無線通信装置200から受信したデータ応答確認をデータ確認応答管理部124へ転送する。
データ確認応答管理部124は、データ送受信部123から転送されてきたデータ確認応答から識別番号を抽出する。そして、データ確認応答管理部124は、抽出した識別番号をプロトコル制御部121へ通知する。なお、上述した通り、識別番号の通知を受けたプロトコル制御部121は、通知された識別番号に該当するデータの容量を、保持している空き容量値に加算する。なお、データ確認応答から抽出される識別番号は、例えば、連続する複数の番号である。無線通信装置200は、識別番号1〜nにそれぞれ該当するn個のデータの処理を完了した場合、識別番号1〜nを含んだデータ確認応答を生成し、無線通信装置100へ送信する。そして、データ確認応答管理部124は、データ確認応答から識別番号1〜nを抽出し、プロトコル制御部121へ通知する。そして、プロトコル制御部121は、通知された識別番号1〜nに該当するデータの容量を、保持している空き容量値に加算する。
MAC層部130は、OSI参照モデルのプロトコル階層構造において、プロトコル適応層部120よりも下位に位置する階層である。MAC層部130は、無線確認応答通知部131、および無線通信部132を有する。
無線確認応答通知部131は、無線通信部132から転送されてきた無線確認応答から、識別番号を抽出する。そして、無線確認応答通知部131は、抽出した識別番号をプロトコル制御部121へ通知する。なお、上述した通り、識別番号の通知を受けたプロトコル制御部121は、識別番号以下に該当するデータを、送信バッファ122から削除する。
無線通信部132は、データ送受信部123から転送されてきたデータを、無線区間を介して、無線通信装置200へ送信する。また、無線通信部132は、無線通信装置200から無線区間を介して受信した無線確認応答を、無線確認応答通知部131へ転送する。また、無線通信部132は、無線通信装置200から無線区間を介して受信したデータ確認応答を、データ送受信部123へ転送する。
無線通信部132は、例えば、無線LAN(Local Area Network)デバイス、WiGig(Wireless Gigabit)デバイスなどの無線通信インタフェースである。なお、WiGigとは、1Gbpsを超える有線PAN用途の置換えを想定した、60GHz帯域のミリ波を利用する無線通信規格である。なお、無線通信部132が適用する無線通信規格は、無線LANおよびWiGigに限定されるものではない。適用できる無線通信規格は、例えば、無線通信装置100と無線通信装置200とが、直接無線通信できる規格または他の装置を介して無線通信できる規格のいずれかであればよい。
このような無線通信装置100は、データ確認応答を待つことなく、無線確認応答をトリガとして、送信バッファに待機している再送用データのうち、無線確認応答により通知されたデータを削除することができる。よって、無線通信装置100は、データ確認応答を受信する前に、次のデータの送信準備を開始することができる。これにより、無線通信装置100は、無線通信を介して接続された他の無線通信装置との間で、到着保証型のデータ送信を高速化することができる。
また、無線通信装置100は、無線通信装置200の受信バッファに空きがない場合でも、送信バッファにおいてデータの送信準備を行っておくことができる。そして、無線通信装置100は、データ確認応答が到着次第、すなわち受信バッファの空きが確認でき次第、すぐにデータの送信を行うことができる。
<無線通信装置200の構成>
次に、無線通信装置200の構成について説明する。
図1において、本実施の形態に係る無線通信装置200は、近距離無線通信を介して、無線通信装置100から送信されたデータを受信する装置である。
無線通信装置200は、上位層部210、プロトコル適応層部220、MAC層部230を有する。
上位層部210は、OSI参照モデルのプロトコル階層構造において、プロトコル適応層部120よりも上位に位置する階層である。上位層部210の例としては、無線通信装置100から受信したデータの再生などを行うアプリケーションが挙げられる。
上位層部210には、プロトコル適応層部220の受信バッファから出力されたデータが入力される。上位層部210は、入力したデータに対して所定の処理(例えば再生処理)を行う。
プロトコル適応層部220は、OSI参照モデルのプロトコル階層構造において、上位層部210と、MAC層部230との間に位置する階層である。すなわち、プロトコル適応層部220は、上位層部210と、MAC層部230の整合を取ることを基本機能とするPALである。なお、図示を省略しているが、プロトコル適応層部220は、受信バッファを有する。
プロトコル適応層部220は、MAC層部230からデータが転送されてくると、データから、PALヘッダを除き、識別番号を抽出する。これにより、分割データが残る。プロトコル適応層部220は、分割データを、受信バッファに蓄積する。そして、プロトコル適応層部220は、蓄積した分割データを、受信バッファから上位層部210へ適宜出力させる。これにより、受信バッファは、出力した分割データ分の空きができる。また、プロトコル適応層部220は、上位層部210へ出力させた分割データに付与されていた識別番号を基に、PALヘッダを付与し、データ確認応答を生成する。そして、プロトコル適応層部220は、生成したデータ確認応答を、MAC層部230へ出力する。なお、プロトコル適応層部220は、受信バッファに蓄積した分割データの一部または全部を上位層部210へ出力させると直ちに、データ確認応答を生成し、MAC層部230へ出力する。そして、MAC層部230は、プロトコル適応層部220からデータ確認応答を受け取ると直ちに、無線通信装置100へ送信する。このようにして、無線通信装置100は、無線通信装置200の受信バッファの一部または全部に空きができると直ちに、データ確認応答を受信することができる。
MAC層部230は、OSI参照モデルのプロトコル階層構造において、プロトコル適応層部220よりも下位に位置する階層である。なお、MAC層部230は、無線通信装置100と無線通信を行うにあたり、無線通信装置100の無線通信部132と同じ無線通信規格を用いる。
MAC層部230は、無線通信装置100から無線区間を介してデータを受信すると、そのデータを基に無線確認応答を生成する。例えば、MAC層部230は、受信したデータから、識別番号と、PALヘッダに含まれる無線通信装置100のアドレスとを抽出する。そして、MAC層部230は、抽出した識別番号および無線通信装置100のアドレスに、無線通信装置200のアドレスが付加され、無線確認応答を生成する。そして、MAC層部230は、生成した無線確認応答を無線通信装置100へ送信する。また、MAC層部230は、受信したデータをプロトコル適応層部220の受信バッファへ転送する。また、MAC層部230は、プロトコル適応層部220から出力されたデータ確認応答を、無線区間を介して無線通信装置100へ送信する。
このような無線通信装置200は、無線確認応答およびデータ確認応答を生成し、無線通信装置100へ送信することにより、無線通信装置100との間で、到着保証型のデータ受信を実現することができる。
なお、図1に示す無線通信装置200において、プロトコル適応層部220およびMAC層部230はそれぞれ、無線通信装置100のプロトコル適応層部120およびMAC層部130の構成を適宜備えるようにしてもよい。
無線通信装置100および無線通信装置200はそれぞれ、例えば、CPU(Central Processing Unit)、制御プログラムを格納したROM(Read Only Memory)などの記録媒体、およびRAM(Random Access Memory)などの作業用メモリを有する。この場合、上記した各構成部の機能は、CPUが制御プログラムを実行することにより実現される。
なお、無線通信装置100および無線通信装置200の各機能部は、例えば、集積回路により構成してもよい。無線通信装置100および無線通信装置200の各機能部は、個別に1チップ化してもよいし、複数で1チップ化してもよい。集積回路は、集積度の違いにより、LSI(Large Scale Integration)、IC(Integrated Circuit)、システムLSI、スーパーLSI、またはウルトラLSI等とすることができる。また、集積回路は、専用回路または汎用プロセッサにより実現するものであってもよい。また、集積回路は、その製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、または、内部の回路セルの接続や設定を再構成可能なコンフィギュラブル・プロセッサとしてもよい。さらには、無線通信装置100および無線通信装置200の各機能部は、半導体技術の進歩または派生する別技術に応じて、LSIに置き換わる他の集積回路化の技術(例えばバイオ技術)により集積化されたものにより実現されてもよい。
また、図示はしていないが、本実施の形態に係る無線通信装置100および無線通信装置200は、ユーザが動作を選択して実行するための、ユーザインタフェースをそれぞれ有してもよい。例えば、本実施の形態に係る無線通信装置100および無線通信装置200は、ユーザインタフェースとして、入力キー、ディスプレイ、マイクロフォン、スピーカ、カメラ、バイブレータ、およびプログラム格納や実行のためのメモリなどの機能をそれぞれ有してもよい。
次に、送信データ、無線確認応答、データ確認応答の各フォーマットについて、それぞれ説明する。
<送信データのフォーマット>
まず、送信データのフォーマットについて、図2を用いて説明する。
送信データ300は、PALヘッダ310、識別番号320、分割データ330で構成される。PALヘッダ310は、各PALでの個別の情報が定義されており、例えば、アプリケーションのサービスを実現するセッション情報などである。識別番号320は、分割データ330を識別可能な固有の番号であり、例えばシーケンス番号などである。分割データ330は、プロトコル制御部121により分割された1つ分のデータである。
プロトコル制御部121は、分割データ330に対し、PALヘッダ310および識別番号320を付与することで、送信データ300を生成する。そして、プロトコル制御部121は、生成した送信データ300を、送信バッファ122からデータ送受信部123を介して無線通信部132へ出力させる。その後、送信データ300は、無線通信部132から無線通信装置200へ送信される。なお、以下では、送信データ300を、適宜「データ300」と表記する。
<無線確認応答のフォーマット>
次に、無線確認応答のフォーマットについて、図3を用いて説明する。
無線確認応答400は、送信先アドレス410、送信元アドレス420、識別番号430で構成される。送信先アドレス410は、データ300を送信した側(無線確認応答400を受信する側)のアドレス、すなわち無線通信装置100のアドレスである。送信元アドレス420は、データ300を受信した側のアドレス(無線確認応答400を送信する側)のアドレス、すなわち無線通信装置200のアドレスである。ここでいうアドレスは、例えば、MACアドレスが挙げられる。識別番号430は、無線通信装置200にて正常に受信されたデータ300を示す識別番号である。
無線確認応答400は、無線通信装置200のMAC層部230で生成される。MAC層部230は、無線通信装置100からデータ300を正常に受信すると、そのデータ300から、PALヘッダ310に含まれる無線通信装置100のアドレスと、識別番号320とを抽出する。MAC層部230は、抽出した識別番号320(識別番号430)に対し、無線通信装置200のアドレス(送信元アドレス420)および無線通信装置100のアドレス(送信先アドレス410)を付与し、無線確認応答400を生成する。識別番号320と識別番号430は、例えば、共通の番号である。
<データ確認応答のフォーマット>
次に、データ確認応答のフォーマットについて、図4を用いて説明する。
データ確認応答500は、PALヘッダ510および識別番号520で構成される。PALヘッダ510は、各PALでの個別の情報が定義されており、例えば、アプリケーションのサービスを実現するセッション情報などである。識別番号520は、無線通信装置200において受信バッファから上位層に出力されたデータ300を識別可能な固有の番号であり、例えばシーケンス番号などである。識別番号520は、無線通信装置200にて正常に処理が完了されたデータ300を示す識別番号である。換言すれば、識別番号520は、無線通信装置200にて受信バッファから上位層部210へ出力された分割データ330を示す識別番号である。なお、識別番号520は、例えば、識別番号320および430と共通の番号である。また、識別番号520は、複数含まれてもよい。
<無線通信装置100の動作>
次に、無線通信装置100の動作例について説明する。
図5は、無線通信装置100の動作の一例を示すフローチャートである。
ステップS001において、プロトコル制御部121は、上位層部110からデータ送信指示を受け付けるまで待機する(S001:NO)。プロトコル制御部121は、上位層部110からデータ送信指示を受け付けた場合(S001:YES)、ステップS002へ進む。
ステップS002において、プロトコル制御部121は、上位層部110からの出力により送信バッファ122に蓄積されたデータに対し、データ送信準備処理を行う。プロトコル制御部121は、データ送信準備処理により、データ300を複数生成する。
ステップS003において、プロトコル制御部121は、保持している空き容量値を基に、無線通信装置200の受信バッファの空き状況を確認する。
確認の結果、受信バッファに空きがある場合(S003:YES)、プロトコル制御部121は、ステップS005へ進む。
一方、確認の結果、受信バッファに空きがない場合(S003:NO)、プロトコル制御部121は、データ確認応答管理部124から、データ確認応答500に含まれる識別番号520の通知を受け取るまで待機する(S004:NO)。
プロトコル制御部121は、識別番号520の通知を受けた場合(S004:YES)、上述したように、識別番号520のデータの容量を、保持している空き容量値に加算し、ステップS003へ戻る。
ステップS005において、プロトコル制御部121は、保持している空き容量値の範囲内で、データ300を送信バッファ122から出力させる指示を、送信バッファ122に行う。これにより、送信バッファ122は、データ300をデータ送受信部123へ出力する。このように、プロトコル制御部121がバッファ122からデータ300を出力させる制御は「データ出力制御」という。なお、プロトコル制御部121は、上述したように、出力を指示したデータ300の容量を、保持している空き容量値から減算する。
データ出力制御により送信バッファ122から出力したデータ300は、データ送受信部123を介して無線通信部132へ出力される。その後、データ300は、無線通信部132から無線通信装置200へ送信される。
ステップS006において、プロトコル制御部121は、無線確認応答通知部131から、無線応答確認400に含まれる識別番号430の通知を受け取るまで待機する(S006:NO)。プロトコル制御部121は、識別番号430の通知を受けた場合(S006:YES)、ステップS007へ進む。なお、図示は省略しているが、識別番号430の通知を待機している場合に(S006:NO)おいて規定時間が過ぎた場合、プロトコル制御部121は、送信バッファ122から再送用データを出力させる。
ステップS007において、プロトコル制御部121は、再送用として送信バッファ122に待機しているデータ300のうち、無線通信装置200にて正常に受信されたデータ300を、送信バッファ122から削除する。すなわち、プロトコル制御部121は、正常に受信されたデータ300である識別番号430以下に該当するデータ300を、送信バッファ122から削除する。
ステップS008において、プロトコル制御部121は、削除により送信バッファ122に空きが生じた旨を上位層部110へ通知する。
ステップS009において、上位層部110は、送信バッファ122に空きが生じた旨の通知を受けると、送信バッファ122に入りきらなかった未出力データがあるか否かを判断する。ここでいう未出力データは、先に送信バッファ122に出力されたデータに続いて送信する予定のデータである。
判断の結果、未出力データがない場合(S009:NO)、すなわち無線通信装置200へのデータ送信が完了した場合、上位層部110は、処理を終了する。これにより、無線通信装置100は、図5に示す一連の処理を終了する。
一方、判断の結果、未出力データがある場合(S009:YES)、すなわち無線通信装置200へのデータ送信が完了していない場合、上位層部210は、未出力データを送信バッファ122へ出力する。そして、上位層部110は、プロトコル制御部121へデータ送信指示を送る。これ以降は、再びステップS001から一連の処理が開始される。なお、図5に示す一連の処理は、未出力データがなくなるまで繰り返される。
このような動作により、無線通信装置100は、データ確認応答を待つことなく、無線確認応答をトリガとして、送信バッファに待機している再送用データのうち、無線確認応答により通知されたデータを削除できる。よって、無線通信装置100は、データ確認応答を受信する前に、次のデータの送信準備を開始することができる。これにより、無線通信装置100は、無線通信を介して接続された他の無線通信装置との間で、到着保証型のデータ送信を高速化することができる。
<通信システムの動作>
以下、無線通信装置100および無線通信装置200の全体(以下「通信システム」という)の動作の例を、図6を用いて説明する。
図6は、無線通信装置100が、無線通信装置200に対し、近距離無線通信を介して到着保証型のデータ送信を行うときの動作の一例を示すシーケンス図である。
ステップS101において、上位層部110は、例えば、ユーザの操作を受け付けたことを契機として、無線通信装置200へのデータの送信手続を開始する。
ステップS102において、上位層部110は、データ送信指示をプロトコル制御部121へ出力する。
ステップS103において、上位層部110は、送信対象となるデータを、生成し、または、記憶媒体などから読み出し、送信バッファ122に出力する。
ステップS104において、プロトコル制御部121は、上位層部110からデータ送信指示を受け取ると、送信バッファ122に出力されたデータに対し、データ送信準備処理を行う。これにより、プロトコル制御部121は、送信バッファ122において、データ300を複数生成する。
ステップS105において、プロトコル制御部121は、データ送信準備処理が終了すると、保持している空き容量値を基に、無線通信装置200の受信バッファの空きを確認する。ここでは例として、受信バッファは、データを蓄積しておらず、空きがある場合とする。空きがない場合については、ステップS116以降で説明する。
ステップS106において、プロトコル制御部121は、受信バッファが空いていることを確認したら、空き容量値の範囲内のデータ300を出力するように送信バッファ122に指示する。また、このとき、プロトコル制御部121は、出力を指示したデータ300の容量を、保持している空き容量値から減算する。
ステップS107において、送信バッファ122は、出力を指示されたデータ300をデータ送受信部123へ出力する。
ステップS108において、データ送受信部123は、送信バッファ122から出力されたデータ300を、無線通信部132へ転送する。
ステップS109において、無線通信部132は、データ送受信部123から転送されてきたデータ300を、無線区間を介して、無線通信装置200へ送信する。
ステップS110において、無線通信装置200は、データ300を正常に受信すると、無線確認応答400を生成し、無線区間を介して、無線通信装置100へ送信する。なお、無線確認応答400の生成および送信は、上述した通り、無線通信装置200のMAC層部230が行う。
ステップS111において、無線通信部132は、無線通信装置200から無線確認応答400を受信すると、その無線確認応答400を無線確認応答通知部131へ出力する。
ステップS112において、無線確認応答通知部131は、無線確認応答400を受け取ると、無線確認応答400から識別番号430を抽出する。
ステップS113において、無線確認応答通知部131は、抽出した識別番号430をプロトコル制御部121へ通知する。
ステップS114において、プロトコル制御部121は、通知された識別番号430に基づいて、送信バッファ122に対し、データ300を削除する旨を指示する。これにより、送信バッファ122からデータ300が削除される。ここで削除されるのは、識別番号430以下に該当する、無線通信装置200にて正常に受信されたデータ300である。
ステップS115において、プロトコル制御部121は、送信バッファ122に空きができた旨を上位層部110に通知する。
ステップS116において、上位層部110は、送信バッファ122に空きが生じた旨の通知をプロトコル制御部121から受ける。通知を受けた上位層部110は、ステップS103で送信バッファ122に入りきらなかった未出力データがあるか否かを判定する。上位層部110は、未出力データがあると判定した場合、未出力データのうち、ステップS107〜S109で送信したデータ(以下、「先行データ」という)に続くデータ(以下、「後続データ」という)の送信手続を開始する。
その後、上位層部110およびプロトコル制御部121は、上述したステップS102〜S105の処理を再び行う。この段階では、まだ、データ確認応答が無線通信装置100に届いていないものとする。つまり、受信バッファは、先行データ300を蓄積しており、空きがない場合とする。この場合、プロトコル制御部121は、データ確認応答に含まれる識別番号の通知を受け、受信バッファの空きが確認できるまで待機する。
ここで、先行データ300に対応するデータ確認応答が生成され、無線通信装置100へ送信される動作について説明する。
上記ステップS110において、無線通信装置200に受信された先行データ300は、MAC層部230からプロトコル適応層部220の受信バッファへ転送される。なお、上述の通り、受信バッファには、先行データ300から抽出された分割データ330が転送される。その後、分割データ330は、受信バッファから上位層部210へ出力される。このように受信バッファから上位層部210へ分割データ330の出力が完了すると、無線通信装置200は、データ確認応答500を生成する。データ確認応答500は、上位層部210への出力が完了した分割データ330を示す識別番号520を含む。
ステップS117において、無線通信装置200は、生成したデータ確認応答500を、無線区間を介して、無線通信装置100へ送信する。なお、上述した通り、データ確認応答500の生成はプロトコル適応層部220が行い、データ確認応答500の送信はMAC層部230が行う。
ステップS118において、無線通信部132は、無線通信装置200からデータ確認応答500を受信すると、そのデータ確認応答500をデータ送受信部123へ転送する。
ステップS119において、データ送受信部123は、無線通信部132から転送されてきたデータ確認応答を、データ確認応答管理部124へ転送する。
ステップS120において、データ確認応答管理部124は、データ送受信部123から転送されてきたデータ確認応答500から識別番号520を抽出する。
ステップS121において、データ確認応答管理部124は、抽出した識別番号520をプロトコル制御部121へ通知する。
ステップS122において、プロトコル制御部121は、通知された識別番号520に基づいて、保持している空き容量値の更新を行う。すなわち、プロトコル制御部121は、識別番号520に該当する分割データ330の容量を、保持している空き容量値に加算する。この加算の結果、プロトコル制御部121は、受信バッファに空きがあることを確認できたら、後続データ300に対するデータ出力制御を行う。これにより、後続データ300は、上述したステップS106〜S109の処理が行われ、無線通信装置200に送信される。その後は、再びステップS110からステップS115までの処理が行われる。
以上説明した一連の処理は、上位層部110により未出力データが無いと判断されるまで、繰り返し行われる。
このような動作により、無線通信装置100は、データ確認応答を待つことなく、無線確認応答をトリガとして、送信バッファに待機している再送用データのうち、無線確認応答により通知されたデータを削除できる。よって、無線通信装置100は、データ確認応答を受信する前に、次のデータの送信準備を開始することができる。これにより、無線通信装置100は、無線通信を介して接続された他の無線通信装置との間で、到着保証型のデータ送信を高速化することができる。
<無線通信装置100の効果>
次に、無線通信装置100により得られる効果について、図7および図8をそれぞれ用いて説明する。図7および図8は、無線通信装置100が無線通信装置200へデータを送信する際の送信バッファおよび受信バッファの遷移の一例を示している。
まず、図7の例について説明する。図7の例は、無線通信装置100が、無線通信装置200からデータ確認応答を受け取ったことをトリガとして、送信バッファ122に待機中の再送用データを削除する場合を示している。すなわち、図7は、従来技術の到着保証型のデータ送信の例である。なお、図7では、無線通信装置100および無線通信装置200において、上位層部110、210の図示を省略している。
送信バッファ(a)は、送信バッファ122において、上位層部110からの出力により蓄積されたデータが、プロトコル適応層部120によりデータ送信準備処理が施された状態を示している。データ送信準備処理の結果、送信バッファ(a)に示すように、6つに等分割された各データは、1〜6の識別番号がそれぞれ付与されている。以下、例えば、識別番号1が付与されたデータは「データ1」という。データ1〜6は、それぞれ、図2に示すフォーマットが採用されている。
送信バッファ(a)に示す送信バッファ122に対し、プロトコル適応層部120は、例えば、データ1〜6を出力するように指示すると、データ1〜6が順番に送信バッファ122からMAC層部130へ出力される。そして、データ1〜6は、MAC層部130から無線区間を介して、無線通信装置200へ送信される。
無線通信装置200のMAC層部230は、無線区間を介して無線通信装置100からデータ1〜6を受信する。ここで、MAC層部230は、データ1〜6を正常に受信すると、その旨を示す無線確認応答を生成し、無線通信装置100へ送信する。なお、図7の例では、MAC層部230は、予めなされた設定に基づいて、データを3つ受信する毎に無線確認応答を生成して送信する。よって、例えば、無線確認応答1には、データ1〜3を正常に受信した旨を示す情報として、データ3の識別番号3が含まれる。また、例えば、無線確認応答2には、データ4〜6を正常に受信した旨を示す情報として、データ6の識別番号6が含まれる。
MAC層部230は、無線確認応答1を送信した後、受信したデータ1〜3をプロトコル適応層部220の受信バッファへ出力する。これにより、受信バッファは、受信バッファ(b)に示す状態から受信バッファ(c)に示す状態となる。受信バッファ(b)は、受信バッファがデータを全く蓄積していない状態を示している。また、受信バッファ(c)は、受信バッファがデータ1〜3を蓄積した状態を示している。なお、受信バッファは、送信バッファ122と同じ容量である。
さらに、MAC層部230は、無線確認応答2を送信した後、受信したデータ4〜6をプロトコル適応層部220の受信バッファへ出力する。これにより、受信バッファは、受信バッファ(c)に示す状態から受信バッファ(d)に示す状態となる。受信バッファ(d)は、受信バッファがデータ1〜6を蓄積することで、最大限にデータを蓄積した状態を示している。
プロトコル適応層部220は、受信バッファに蓄積されたデータ1〜6を順に上位層部210へ出力する。これにより、受信バッファは、データ1〜6が削除され、受信バッファ(e)に示すようにデータが全く蓄積されていない状態に戻る。プロトコル適応層部220は、データ1〜6を受信バッファから上位層部210へ正常に出力した旨を示すデータ確認応答を生成し、MAC層部230へ出力する。このデータ確認応答には、例えば、データ1〜6の識別番号1〜6が含まれる。MAC層部230は、プロトコル適応層部220から出力されたデータ確認応答を、無線区間を介して無線通信装置100へ送信する。
無線通信装置100のMAC層部130は、無線区間を介して無線通信装置200からデータ確認応答を受信し、プロトコル適応層部120へ転送する。プロトコル適応層部120は、受け取ったデータ確認応答に含まれている識別番号1〜6を基に、送信バッファ122に再送用として待機しているデータ1〜6を削除する。これにより、送信バッファ122は、送信バッファ(f)に示すように、データが全く蓄積されていない状態に戻る。そして、プロトコル適応層部120は、データ1〜6の削除により送信バッファ122に空きが生じた旨を、上位層部110へ通知する。
上位層部110は、送信バッファ122に空きが生じた旨の通知を受けると、未出力データのうち、データ6に続く後続データを送信バッファ122へ出力する。これにより、送信バッファ(g)に示すように、送信バッファ122には、後続データが順次蓄積される。
そして、送信バッファ122に後続データが最大限蓄積されると、プロトコル適応層部120は、後続データに対してデータ送信準備処理を施す。この結果、送信バッファ(h)に示すように、後続データは、6つに等分割され、7〜12の識別番号がそれぞれ付与される。その後、プロトコル適応層部120は、データ出力制御により、識別番号7のデータから順にMAC層部130へ出力される。これ以降の処理は、上述したデータ1〜6の出力の場合と同様である。
以上説明したように、図7の例において、送信バッファ122に待機している再送用データの削除は、データ確認応答をトリガとして実行される。よって、図7の例は、データ確認応答を受信してから後続データを送信するまでの時間t1の間に、再送用データの削除、後続データの蓄積、および後続データに対するデータ送信準備処理が行われることになる。
次に、図8の例について、説明する。図8の例は、無線通信装置100が、無線通信装置200から無線確認応答を受け取ったことをトリガとして、送信バッファ122に待機中の再送用データを削除する場合を示している。すなわち、図8は、本実施の形態の到着保証型のデータ送信の例である。なお、以下では、図8において、図7と共通する図示についての説明は省略し、図7と異なる図示についてのみ説明する。
図8の例は、送信バッファ122に待機中の再送用データの削除が、無線確認応答をトリガとして実行される点で図7の例と異なる。
まず、MAC層部130は、無線確認応答1を受信すると、無線確認応答1から識別番号を抽出する。無線確認応答1には識別番号3が含まれているため、MAC層部130は、識別番号3を抽出する。そして、MAC層部130は、抽出した識別番号3をトリガ1としてプロトコル適応層部120へ通知する。
次に、プロトコル適応層部120は、トリガ1により通知された識別番号3であることから、送信バッファ122に再送用として待機しているデータのうち、識別番号3以下に該当するデータ1〜3を削除する。これにより、送信バッファ122は、送信バッファ(i)に示すように、空き領域Xが生じた状態となる。そして、プロトコル適応層部120は、データ1〜3の削除により送信バッファ122に空きが生じた旨を、上位層部110へ通知する。
次に、上位層部110は、送信バッファ122に空きが生じた旨の通知を受けると、未出力データのうち、データ6に続く後続データを送信バッファ122へ出力する。これにより、送信バッファ122には、空き領域Xに後続データが蓄積される。
次に、プロトコル適応層部120は、空き領域Xに蓄積された後続データに対し、データ送信準備処理を施す。この結果、送信バッファ122は、送信バッファ(j)に示すように、先に蓄積されたデータ4〜6に続き、後続データとしてのデータ7〜9が蓄積された状態となる。なお、データ7〜9は、データ4〜6と同様に等分割されている。
このように図8の例では、無線確認応答1を受信したことをトリガとして、無線確認応答2の受信前に、再送用データの削除、後続データの蓄積、後続データに対するデータ送信準備処理が行われる。
次に、MAC層部130は、無線確認応答2を受信すると、無線確認応答2から識別番号を抽出する。無線確認応答2には識別番号6が含まれているため、MAC層部130は、識別番号6を抽出する。そして、MAC層部130は、トリガ2として抽出した識別番号6をプロトコル適応層部120へ通知する。
次に、プロトコル適応層部120は、トリガ2により通知された識別番号6であることから、送信バッファ122に再送用として待機しているデータのうち、識別番号6以下に該当するデータ4〜6を削除する。これにより、送信バッファ122は、送信バッファ(k)に示すように、空き領域Xが生じた状態となる。そして、プロトコル適応層部120は、データ4〜6の削除により送信バッファ122に空きが生じた旨を、上位層部110へ通知する。
次に、上位層部110は、送信バッファ122に空きが生じた旨の通知を受けると、未出力データのうち、データ9に続く後続データを送信バッファ122へ出力する。これにより、送信バッファ122は、空き領域Xに後続データが蓄積される。
次に、プロトコル適応層部120は、空き領域Xに蓄積された後続データに対し、データ送信準備処理を施す。この結果、送信バッファ122は、送信バッファ(h)に示すように、先に蓄積されたデータ7〜9に続き、後続データとしてのデータ10〜12が蓄積された状態となる。なお、データ10〜12は、データ7〜9と同様に等分割されている。
このように図8の例では、無線確認応答2を受信したことをトリガとして、データ確認応答の受信前に、再送用データの削除、後続データの蓄積、後続データに対するデータ送信準備処理が行われる。
以上説明したように、図8の例では、送信バッファ122に待機している再送用データの削除は、無線確認応答をトリガとして実行される。よって、図8の例は、無線確認応答1を受信してからデータ確認応答を受信するまでの時間t2の間に、再送用データの削除、後続データの蓄積、および後続データに対するデータ送信準備処理が行われる。したがって、無線通信装置100は、データ確認応答を受信すると、すぐに、送信バッファ122の後続データ7〜9を送信することができる。すなわち、図8の例では、図7に示すt1の時間をほぼ省略できるので、到着保証型のデータ送信を高速に実現することができる。
<無線通信装置100の別の効果>
次に、無線通信装置100により得られる別の効果について、図9および図10をそれぞれ用いて説明する。
まず、図9の例について説明する。図9の例は、受信バッファが送信バッファよりも大きい場合において、図7に示す従来技術に係る到着保証型のデータ送信を行う例である。なお、以下では、図9において、図7と共通する図示についての説明は省略し、図7と異なる図示についてのみ説明する。
受信バッファ(b)は、受信バッファがデータを全く蓄積していない状態を示している。その後、無線通信装置200が無線通信装置100からデータ1〜3を受信すると、受信バッファにデータ1〜3が蓄積される。これにより、受信バッファは、受信バッファ(c)に示す状態となる。さらに、その後、無線通信装置200が無線通信装置100からデータ4〜6を受信すると、受信バッファにデータ4〜6が蓄積される。これにより、受信バッファは、受信バッファ(d)に示す状態となる。
ここで、無線通信装置100は、送信バッファ122に蓄積されたデータ1〜6の送信を終えたため、データ確認応答を受信するまで再送用のデータ1〜6を保持した状態となる。よって、無線通信装置100は、データ6に続く後続データを送信することができない。その結果、受信バッファに蓄積されるデータは、受信バッファ(d)に示すようにデータ6までとなる。
受信バッファ(d)に示すデータ1〜6が上位層部210へ出力されると、受信バッファは、受信バッファ(e)に示すように、データが全く蓄積されていない状態に戻る。ここで、無線通信装置200は、データ確認応答を無線通信装置100へ送信する。
その後、データ確認応答を受信した無線通信装置100からは、後続データであるデータ7〜12が送信されてくる。これらデータ7〜12は、受信バッファにおいて、受信バッファ(d)に示す状態と同様に蓄積される。
つまり、図9の例では、受信バッファにおいて、データ6つ分が蓄積される領域以外の領域Yは使用されることがない。換言すれば、図9の例では、受信バッファにおいて、送信バッファと同じ大きさの領域しか使用されない。
次に、図10の例について説明する。図10の例は、受信バッファが送信バッファよりも大きい場合において、図8に示す本実施の形態に係る到着保証型のデータ送信を行う例である。なお、以下では、図10において、図8および図9と共通する図示についての説明は省略し、図8および図9と異なる図示についてのみ説明する。
図10に示す例では、上述した通り、無線通信装置100は、無線確認応答を受信する度に、送信バッファ122の再送用データの削除を行い、後続データの蓄積およびデータ送信準備処理を進める。よって、図9の例とは異なり、無線通信装置100は、無線確認応答2を受信した後でも、データ6に続く後続データ7〜9を直ちに送信することができる。無線通信装置200は、無線通信装置100からデータ7〜9を受信すると、受信バッファにおいて、データ6に続きデータ7〜9が蓄積される。これにより、受信バッファは、受信バッファ(m)に示す状態となる。なお、無線通信装置100の送信バッファ122は、データ7〜9が正常に受信されたことを示す無線確認応答3の受信をトリガとして、再送用のデータ7〜9が削除され、送信バッファ(l)に示す状態となる。
つまり、図10の例では、受信バッファにおいて、データ6つ分が蓄積される領域以外の領域Yも、使用されることになる。換言すれば、図10の例では、受信バッファにおいて、送信バッファ以上の領域が使用される。
以上のように、受信バッファが送信バッファよりも大きい場合、図9の例に示す従来技術と図10に示す本実施の形態とでは、以下の差異がある。すなわち、図9に示す従来技術では、受信バッファが送信バッファより容量を備えていても、受信バッファは送信バッファの容量分しか使用されない。よって、図9に示す従来技術では、送信バッファの容量に依存してデータの伝送速度が低下してしまう。これに対し、図10に示す本実施の形態では、受信バッファは送信バッファの容量を超えて使用される。よって、図10に示す本実施の形態では、送信バッファの容量以上のデータを受信バッファへ蓄積できるので、データの伝送を高速に行うことができる。また、図10に示す本実施の形態では、データ確認応答の到着を待たずして、次々とデータを送信することができるので、送信バッファの容量を削減することもできる。
以上のように、本実施の形態に係る無線通信装置100は、MAC層部130と、プロトコル適応部120とを具備する。MAC層部130は、無線通信装置200へデータを無線送信した場合に、データを受信した旨を示す無線確認応答を受信する。プロトコル適応部120は、MAC層部130の上位の階層であり、データの再送に備えて送信バッファ122に再送用データを待機させる。そして、MAC層部130は、受信した無線確認応答をプロトコル適応層部120へ通知する無線確認応答通知部131を有する。また、プロトコル適応層部120は、無線確認応答の通知をトリガとして、送信バッファ122から再送用データを削除するプロトコル制御部121を有する。プロトコル制御部121は、再送用データを削除すると、送信バッファ122に空きが生じた旨を、送信バッファ122にデータを出力する上位層部110へ通知する。
よって、本実施の形態に係る無線通信装置100は、無線確認応答400をトリガとして、送信バッファ122に待機している再送用データのうち、無線確認応答400により正常に受信されたことを通知されたデータを削除できる。したがって、無線通信装置100は、データ確認応答500を待つことなく、次のデータの送信準備を開始することができる。その結果、無線通信装置100は、無線通信を介して接続された他の無線通信装置との間で、到着保証型のデータ送信を高速化することができる。
以上、本実施の形態について説明したが、上記説明は一例であり、種々の変形が可能である。以下、変形例について説明する。
<変形例の説明>
上記実施の形態において、プロトコル制御部は、データ確認応答に含まれる識別番号および無線確認応答に含まれる識別番号の通知を受ける例としたが、これに限定されない。例えば、プロトコル制御部121は、自体が、データ確認応答および無線確認応答を受け取り、それら各応答から識別番号を抽出するようにしてもよい。
また、上記実施の形態では、プロトコル制御部がデータ確認応答により受ける通知を識別番号である例としたが、これに限定されない。例えば、プロトコル制御部は、データ確認応答により、無線通信装置200にて正常に受信されたデータのトータルのサイズを示す情報の通知を受けてもよい。あるいは、プロトコル制御部は、データ確認応答により、無線通信装置100が最終的に送信するデータのトータルのサイズを基準として、無線通信装置200がまだ受信していないデータのサイズを示す情報の通知を受けてもよい。
また、上記実施の形態では、本発明をハードウェアで構成する場合を例にとって説明したが、本発明はハードウェアとの連係においてソフトウェアでも実現することも可能である。
本発明は、近距離無線通信を介して接続された他の無線通信装置との間で、到着保証型のデータ送受信を高速化することができる無線通信装置、無線通信方法、および無線通信制御プログラムとして有用である。本発明は、例えば、携帯電話機やタブレットなどの携帯機器、および、パーソナルコンピュータに適用することができる。
100 無線通信装置
110 上位層部
120 プロトコル適応層部
121 プロトコル制御部
122 送信バッファ
123 データ送受信部
124 データ確認応答管理部
130 MAC層部
131 無線確認応答通知部
132 無線通信部
200 無線通信装置
210 上位層部
220 プロトコル適応層部
230 MAC層部

Claims (5)

  1. 他の無線通信装置へデータを無線送信した場合に、前記他の無線通信装置から、前記データを受信した旨を示す無線確認応答を受信するMAC(Media Access Control)層部と、前記MAC層部の上位の階層であり、前記データの再送に備えて送信バッファに再送用データを待機させるプロトコル適応層部と、を具備した無線通信装置であって、
    前記MAC層部は、
    前記無線確認応答を前記プロトコル適応層部へ通知し、
    前記プロトコル適応層部は、
    前記無線確認応答の通知をトリガとして、前記送信バッファから前記再送用データを削除するとともに、前記送信バッファに空きが生じた旨を、前記送信バッファにデータを出力する上位層へ通知する、
    無線通信装置。
  2. 前記プロトコル適応層部は、
    前記他の無線通信装置が備える受信バッファの空き容量値を保持し、
    前記空き容量値を基に前記受信バッファに空きがあることを確認した場合、前記送信バッファに蓄積したデータを、前記空き容量値の範囲内で前記他の無線通信装置へ送信する、 請求項1記載の無線通信装置。
  3. 前記プロトコル適応層部は、
    前記送信バッファに蓄積したデータの送信を行った場合には、当該データの容量値を前記空き容量値から減算し、前記他の無線通信装置から前記データを処理した旨を示すデータ確認応答を受信した場合には、当該データ確認応答により通知されたデータの容量値を前記空き容量値に加算することにより、前記空き容量値の更新を行う、
    請求項2記載の無線通信装置。
  4. 他の無線通信装置へデータを無線送信した場合に、前記他の無線通信装置から、前記データを受信した旨を示す無線確認応答を受信するMAC(Media Access Control)層部と、前記MAC層部の上位の階層であり、前記データの再送に備えて送信バッファに再送用データを待機させるプロトコル適応層部と、を具備した無線通信装置が行う無線通信方法であって、
    前記MAC層部において、前記無線確認応答を前記プロトコル適応層部へ通知するステップと、
    前記プロトコル適応層部において、前記無線確認応答の通知をトリガとして、前記送信バッファから前記再送用データを削除するとともに、前記送信バッファに空きが生じた旨を、前記送信バッファにデータを出力する上位層へ通知するステップと、
    を有する無線通信方法。
  5. 他の無線通信装置へデータを無線送信した場合に、前記他の無線通信装置から、前記データを受信した旨を示す無線確認応答を受信するMAC(Media Access Control)層部と、前記MAC層部の上位の階層であり、前記データの再送に備えて送信バッファに再送用データを待機させるプロトコル適応層部と、を具備した無線通信装置のコンピュータに実行させる無線通信制御プログラムであって、
    前記MAC層部において、前記無線確認応答を前記プロトコル適応層部へ通知する処理と、
    前記プロトコル適応層部において、前記無線確認応答の通知をトリガとして、前記送信バッファから前記再送用データを削除するとともに、前記送信バッファに空きが生じた旨を、前記送信バッファにデータを出力する上位層へ通知する処理と、
    を実行させる無線通信制御プログラム。
JP2012018243A 2012-01-31 2012-01-31 無線通信装置、無線通信方法、および無線通信制御プログラム Pending JP2013157877A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012018243A JP2013157877A (ja) 2012-01-31 2012-01-31 無線通信装置、無線通信方法、および無線通信制御プログラム
PCT/JP2012/006485 WO2013114484A1 (ja) 2012-01-31 2012-10-10 無線通信装置、無線通信方法、および無線通信制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012018243A JP2013157877A (ja) 2012-01-31 2012-01-31 無線通信装置、無線通信方法、および無線通信制御プログラム

Publications (1)

Publication Number Publication Date
JP2013157877A true JP2013157877A (ja) 2013-08-15

Family

ID=48904574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012018243A Pending JP2013157877A (ja) 2012-01-31 2012-01-31 無線通信装置、無線通信方法、および無線通信制御プログラム

Country Status (2)

Country Link
JP (1) JP2013157877A (ja)
WO (1) WO2013114484A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018198261A1 (ja) * 2017-04-27 2018-11-01 富士通株式会社 基地局、無線端末、無線通信システム、及び通信制御方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11177536A (ja) * 1997-12-08 1999-07-02 Mitsubishi Electric Corp 無線データリンク層の誤り制御方式
JP4624062B2 (ja) * 2004-10-12 2011-02-02 Necインフロンティア株式会社 通信システム
KR101394784B1 (ko) * 2007-10-16 2014-05-15 엘지전자 주식회사 고속데이터 전송을 위한 arq 과정의 수행방법

Also Published As

Publication number Publication date
WO2013114484A1 (ja) 2013-08-08

Similar Documents

Publication Publication Date Title
KR101769114B1 (ko) 송신 노드 및 버퍼 상태 보고 방법
JP2022501929A (ja) データ伝送方法及び装置
US20170064679A1 (en) Processing method of data packet, terminal, base station and system
US9973438B2 (en) Downlink flow management
CN104079371B (zh) 一种数据通信方法、设备及系统
CN110971533B (zh) 用于数据通信的方法、服务器装置、客户端装置和介质
CN109792325A (zh) 一种数据传输方法、装置及客户终端设备
WO2013114484A1 (ja) 無線通信装置、無線通信方法、および無線通信制御プログラム
JP6084204B2 (ja) 無線通信装置、無線通信方法、および無線通信制御プログラム
WO2018141241A1 (zh) 设备切换方法及设备、承载配置方法及设备、通信系统
JP2010251854A (ja) 通信システム、端末、プログラム及び通信方法
CN108780433A (zh) 用于ma usb协议的增强服务质量机制
CN106603480A (zh) 流媒体文件的传输方法及装置
CN107592361B (zh) 一种基于双ib网络的数据传输方法、装置、设备
JP6758858B2 (ja) 通信装置、通信方法及びプログラム
JP2023062123A (ja) 無線通信装置、無線通信方法、及び無線通信システム
JP2019114947A (ja) 通信装置、通信装置の制御方法およびプログラム
US10003657B2 (en) Data transmission processing method and apparatus
JP6874128B2 (ja) 情報伝送方法、ネットワーク機器及び端末機器
JP6569533B2 (ja) パケット伝送システム、パケット伝送装置及びパケット伝送方法
JP7023397B2 (ja) データ処理のための装置、方法及びプログラム
EP3787259B1 (en) Message processing method, apparatus and system
WO2022014561A1 (ja) データ処理のための装置、方法及びプログラム
EP2477365B1 (en) Transmission of encoded data packets
JP2007043580A (ja) 通信装置及びデータ受信方法