JP4052633B2 - パケット伝送方法及び無線通信装置 - Google Patents
パケット伝送方法及び無線通信装置 Download PDFInfo
- Publication number
- JP4052633B2 JP4052633B2 JP2002188947A JP2002188947A JP4052633B2 JP 4052633 B2 JP4052633 B2 JP 4052633B2 JP 2002188947 A JP2002188947 A JP 2002188947A JP 2002188947 A JP2002188947 A JP 2002188947A JP 4052633 B2 JP4052633 B2 JP 4052633B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- communication device
- acl
- value
- link
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
Description
【発明の属する技術分野】
本発明は、近距離無線通信手段を用いて、リンクを設定した後にパケット形式でのデータの送受信を行うことが可能な無線通信装置、及び該無線通信装置間でのパケット伝送方法に関する。
【0002】
【従来の技術】
近年、2.4GHz帯の周波数ホッピング方式を用いて各機器間でデータの送受信を行うBluetooth規格を採用したシステムの開発が行われている。例えば、携帯電話、PHS(Personal Handyphone System)、パーソナルコンピュータ、携帯情報端末といった機器にBluetooth規格の無線モジュールを搭載させ、無線モジュールを用いてデータの送受信を行うことで、それぞれの機器間でデータの送受信を行うことが可能となる。以下では、Bluetooth規格の無線モジュールを搭載した機器を、BT機器と記す。
【0003】
BT機器間が無線リンクを介して接続されたならば、これらのBT機器間においてデータの送受信を行うことが可能となる。その際、いずれか一つのBT機器はマスターとして動作し、その他のBT機器はスレーブとして動作する。
【0004】
Bluetoothでは、チャネルは長さ625μsのタイムスロットに分割され、ピコネットマスターのBluetoothクロックに従ってスロット番号が付与される。スロット番号は0から227−1の順に付けられ、227−1に達すると、0に戻る。BT機器は、マスター、スレーブ共にこれらのタイムスロットを用いてパケットを伝送する。
【0005】
Bluetoothでは、マスターとスレーブが交互に伝送するTDD(Time Division Duplex)スキームが使用されている。マスターは、パケットの伝送を偶数番号のタイムスロットからのみ開始できる。そしてスレーブは、マスターより自身宛にパケットが送出された場合に限り、当該パケットが伝送されたタイムスロットの次に位置する奇数番号のタイムスロットからのみ、パケット伝送の開始が可能である。また、マスター、スレーブ共に最大5つのタイムスロットに拡張したパケット伝送が可能である。
【0006】
ところで、Bluetoothのリンクタイプには、SCO(Synchronous Connection-Oriented)リンクとACL(Asynchronous Connection-Less)リンクが存在する。SCOリンクは、一定時間間隔毎にタイムスロットを予約して通信を行う回線交換型接続であり、音声トラヒックを取り扱うのに適している。一方、ACLリンクは、SCOリンクに予約されていないタイムスロットを使用して通信を行うパケット交換型接続であり、データトラヒックを取り扱うのに適している。
【0007】
図13は、ACLリンクを用いたマスターと、スレーブ1またはスレーブ2との間のパケット(ACLパケット)通信の一例を示す。図13に示す例では、マスターは、スレーブ1に対して、偶数番号のタイムスロット2nよりタイムスロット長5のACLパケットを送出している。このとき、マスターからのACLパケットを受信したスレーブ1には、奇数番号のタイムスロット2n+5より、マスターに対しACLパケットを送出する権利が与えられる。図13の例では、タイムスロット2n+5よりタイムスロット長3のパケットを送出している。なお、スレーブ1がマスターに対して送出すべき情報がない場合でも、他のスレーブは、タイムスロット2n+5を用いてACLパケットの送出を行うことはできない。図13の例では、続けてマスターは偶数番号のタイムスロット2n+8よりタイムスロット長3のACLパケットをスレーブ2に対して送出し、これを受信したスレーブ2は、奇数番号のタイムスロット2n+11よりタイムスロット長3のACLパケットをマスターに対して送出している。
【0008】
【発明が解決しようとする課題】
BT機器がACLリンクを用いて通信を行う場合、SCOリンクにより予約されていないタイムスロットを用いて即座にACLパケットを伝送することが可能である。また、一回のACLパケット伝送に使用可能なパケットサイズとしては、最大5つのタイムスロットに跨ることができる。
【0009】
しかしながら、一方のBT機器が、他方のBT機器を考慮することなくパケットサイズを決定してACLパケットを伝送した場合、ACLリンク資源の効率的な利用という観点から不都合が生じることがある。
【0010】
図14は、タイムスロット長18に相当する時間間隔毎に、マスターよりスレーブに対してタイムスロット長15に相当するデータの送信要求と、スレーブよりマスターに対してタイムスロット長3に相当するデータの送信要求とが同時に発生する場合の、ACLリンク上でのACLパケット通信の一例を示す。図14の例では、マスター、スレーブとも、ACLパケット長の最大値として、タイムスロット長5に相当する大きさのACLパケットの送出が可能である。
【0011】
図14に示すように、タイムスロット位置α、β、γは、スレーブがマスターに対してパケット送出可能なスロット位置ではあるが、このとき、スレーブではタイムスロット長3に相当するデータを既に送信済であるため、スレーブには送信すべきデータが存在しない。そのため、当該タイムスロット(α、β、γ)はデータ伝送を行わない。つまり、図14の例では、
3÷36≒8.3%
のACLリンク資源がデータ通信に使用されなかったこととなる。
【0012】
また、ACLリンク上でパケット伝送時に通信エラーが発生した場合、本パケットを再送することとなるが、この場合、パケットサイズが大きいほど再送に要する時間が大きくなり、その結果、パケット伝送品質の低下をもたらすこととなる。
【0013】
本発明は、上記事情を考慮してなされたもので、Bluetooth規格を用いて、ACLリンクを設定した後にACLパケット形式でのデータの送受信を行う際に、ACLリンク資源を効率よく利用することが可能なパケット伝送方法及び無線通信装置を提供することを目的とする。
【0014】
また、本発明は、Bluetooth規格を用いて、ACLリンクを設定した後にACLパケット形式でのデータの送受信を行う際に、パケット伝送品質の低下を低く抑えることが可能なパケット伝送方法及び無線通信装置を提供することを目的とする。
【0015】
【課題を解決するための手段】
本発明は、近距離無線通信手段を用いて、リンクを設定した後にパケット形式でのデータの送受信を行うことが可能な、通信機器間でのパケット伝送方法において、第1の通信機器は、リンクを設定した第2の通信機器に対して伝送するパケットサイズの最大値を、該第1の通信機器が要求する該第2の通信機器宛のデータ伝送速度の平均値を示す第1の要求値と、該第2の通信機器から取得した該第2の通信機器が要求する該第1の通信機器宛のデータ伝送速度の平均値を示す第2の要求値との比率に基づき決定することを特徴とする。
【0016】
また、本発明に係る無線通信装置は、他の無線通信装置との間でリンクを設定した後にパケット形式でのデータの送受信を行うための近距離無線通信手段と、前記リンクを設定した後に前記他の無線通信装置に対して伝送するパケットサイズの最大値を、自装置が要求する該他の無線通信装置宛のデータ伝送速度の平均値を示す要求値と、該他の無線通信装置から取得した該他の無線通信装置が要求する自装置宛のデータ伝送速度の平均値を示す要求値との比率に基づき決定する決定手段とを備え、前記近距離無線通信手段は、前記決定手段により決定された前記他の無線通信装置に対して伝送するパケットサイズの最大値に基づいて、データの送信を行うことを特徴とする。
【0017】
また、本発明は、近距離無線通信手段を用いてリンクを設定した後にパケット形式でのデータの送受信を行うことが可能な通信機器に内蔵されたコンピュータをパケット伝送に関する制御部として機能させるためのプログラムであって、第1の通信機器は、リンクを設定した第2の通信機器に対して伝送するパケットサイズの最大値を、該第1の通信機器が要求する該第2の通信機器宛のデータ伝送速度の平均値を示す第1の要求値と、該第2の通信機器から取得した該第2の通信機器が要求する該第1の通信機器宛のデータ伝送速度の平均値を示す第2の要求値との比率に基づき決定する機能をコンピュータに実現させるためのプログラムである。
【0018】
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
【0019】
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための(あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための)プログラムとしても成立し、該プログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。
【0020】
本発明によれば、Bluetooth規格を用いてACLリンクを設定した後にACLパケット形式でのデータの送受信を行う際に、通信相手のBT機器との要求品質を比較することでACLパケット長の最大値を設定することで、ACLリンク資源を効率よく利用したパケット伝送の提供が可能となる。
【0021】
また、通信相手のBT機器における送信情報の有無に基づくACLパケット長の最大値の動的な変更を施すことで、ACLリンク資源をさらに効率よく利用できる。
【0022】
そして、通信相手のBT機器からのアクノレッジ情報に基づくACLパケット長の最大値の動的な変更を施すことで、ACLパケット再送に伴うパケット伝送品質の低下を低く抑えることが可能なパケット伝送の提供が可能となる。
【0023】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【0024】
なお、以下では、Bluetooth規格を用いて、ACLリンクを設定した後にACLパケット形式でのデータの送受信を行う場合を例にとって説明する。
【0025】
図1に、本発明の一実施形態に係るBT機器の構成(プロトコルスタックに対応するものになっている)の一例を示す。
【0026】
図1では、Bluetoothの物理レイヤ仕様であるベースバンド処理部11上に、ACLリンクを利用するデータリンクレイヤ仕様(L2CAP;Logical Link Control and Adaptation Protocol)を実行するL2CAP処理部12が乗っている。そして、L2CAP処理部12を利用する上位プロトコルとして、サービスディスカバリープロトコル(SDP)13、RFCOMM14、テレフォニーコントロール(TCS)15等のプロトコル(に対応する各処理部)が存在する。なお、SCOリンクを利用する場合は、L2CAP処理部12を用いずに、SCO転送を利用する上位プロトコルが直接ベースバンド処理部11の上に乗ることとなる。本実施形態では、BT機器内のL2CAP処理部12同士がACLリンクを介して通信を行う場合について説明していく。
【0027】
図2は、L2CAP処理部12におけるパケット分割の例を示す。図中、21は、L2CAP処理部12で定義されるパケット(L2CAPパケット)である。L2CAPパケットは、情報ペイロードサイズをオクテット単位で表示するLengthフィールド(2オクテット長)、パケットの宛先チャネルエンドポイントを特定するCID(チャネル識別子)フィールド(2オクテット長)、上位層プロトコルから受信した通信情報を格納するPayloadフィールド(0〜65535オクテット長)からなり、LengthフィールドとCIDフィールドとを併せてL2CAPヘッダと呼ぶ。
【0028】
ベースバンド処理部11内に実装するSAR(Segmentation And Reassembly;細分化と再構築)機能により、L2CAPパケット21を、ベースバンド処理部12で取り扱うACLパケットのペイロードに分割し、またACLパケットのペイロードよりL2CAPパケットを再構築する。なお、本ACLパケットを受信したBT機器の(ベースバンド処理部11内の)SAR機能がこれをL2CAPパケットに再構築できるように、ACLパケットのペイロードヘッダにて定義されるL_CH(論理チャネル)フィールド(2ビット長)を用いて、当該ACLパケットがL2CAPパケットの開始部であるか否か(継続部であるか)を陽に示す。より具体的に説明すると、L2CAPパケットの最初のセグメントを含むACLパケットでは(図2のACLパケット22参照)、L_CHフィールドには値「10」を設定し、後続のセグメントを含むACLパケットでは(図2のACLパケット23,24参照)、L_CHフィールドには値「01」を設定する。
【0029】
図3は、ベースバンド処理部11のSAR機能に関する部分の内部構成の一例を示す。図3に示されるように、本ベースバンド処理部11のSAR機能に関する部分は、L2CAPパケットの細分化を行うL2CAPパケット分割部31、ヘッダ等を付与することでACLパケットを生成するACLパケット生成部32、ACLパケットもしくはSCOパケットのタイムスロット上への送出を制御するTXバッファ33、タイムスロット上にて送出されたACLパケットもしくはSCOパケットを受信するRXバッファ34、ACLパケット内のペイロード情報を抽出するペイロード抽出部35、ACLパケットを再構築してL2CAPパケットを生成するL2CAPパケット再構築部36、ACLパケット長制御部37を含む。
【0030】
図3において、当該BT機器が送出するACLパケットのサイズは、ACLパケット長制御部37において決定する。ACLリンクを設定するBT機器間での要求通信品質や、実際のACLパケットの伝送状況等に依存して、ACLパケット長制御部37は、ACLパケット長の最大値を動的に修正し、これをL2CAPパケット分割部31へ通知する(図中、42参照)。L2CAPパケット分割部31は、ACLパケット長制御部37から通知を受けた最大ACLパケット長を上回らないようなACLパケットが生成できるよう、L2CAPパケットの分割を行う。
【0031】
図1に示した本発明の実施形態では、ベースバンド処理部11上に直接L2CAP処理部12が乗っているが、さらなる実施形態として、図4に示すように、ベースバンド処理部11とL2CAP処理部12との間に、ホストコントローラインタフェース仕様(HCI)を実行するHCI処理部16が存在する形態もある。
【0032】
図4の形態として、例えばL2CAP処理部12のような上位レイヤのソフトウェアが搭載されたBTホスト(PC、等)と、ベースバンド処理部11が搭載されたBTデバイスとを、USB(Universal Serial Bus)等を介して接続する場合が挙げられる。この時、BTホストとBTデバイス間の通信は、HCI仕様に基づいて行われる。
【0033】
図4に示すようなHCI処理部16を介した形態の場合、L2CAPパケットの分割は図5のように行われる。BTホストより送出されるL2CAPパケットは、BTホスト側のHCI処理部16において、HCI仕様にて定義されるパケット(HCIパケット)に一旦分割されてから、BTデバイスに引き渡される。
【0034】
HCIパケットは、コネクションの識別に用いるConnection Handleフィールド(12ビット長)、L2CAPパケットの最初のセグメントであるか否かを示すPacket Boundaryフラグ(PBフラグ:2ビット長)、ポイントツーポイント通信かブロードキャスト通信かを示すBroadcastフラグ(BCフラグ:2ビット長)、データ長をオクテット単位で表示するData Total Lengthフィールド(2オクテット長)、そしてL2CAPパケットを分割して収納するDataフィールドからなる。
【0035】
なおHCIパケットの最大長は、HCIパケットが引き渡されるBTデバイスが保持するバッファサイズの最大値を越えないように設定される。HCIパケットを受け取ったベースバンド処理部11内のSAR機能では、HCIパケットをACLパケットのペイロードに分割することとなる。
【0036】
なお、図4に示すようなHCI処理部16を介した形態の場合、ベースバンド処理部11のSAR機能に関する部分の内部構成は、図6のようになる。
【0037】
図7は、ACLパケット長制御部37において、ACLパケット長の最大値を決定する際の処理手順の一例を示す。図7に示す処理手順は、BT機器AがBT機器Bとの間にACLリンクを設定した際に、BT機器B向けに伝送するACLパケットに関するパケット長最大値を決定するときの処理手順を示している(BT機器Bにおける処理手順も同様である(図7の処理手順でBT機器AとBT機器Bを入れ替えればよい))。
【0038】
BT機器AにおいてACLパケット長の最大値の変更を行うきっかけとしては、例えば、BT機器Bとの間にACLリンクを設定する場合、あるいはBT機器AもしくはBT機器BにおいてACLリンクを用いて提供するサービス内容に変更が生じた場合などがあげられる。
【0039】
BT機器BにおけるQoSパラメータに変更が生じたためにBT機器BからBT機器Aへの通知を行う場合には、BT機器BにおけるQoSパラメータは、コンフィグレーション要求(Configration Request)パケットのパラメータとして記載し、BT機器Aに送出する(コンフィグレーション要求パケットのパラメータは、一方のBT機器内のL2CAP処理部12と他方のBT機器内のL2CAP処理部12との間においてACLリンクに関する取り決めを交渉する際に用いるものである)。この場合、BT機器Aは、BT機器Bより、QoSパラメータの通知を受けることによって、BT機器BのQoSパラメータを知ることになる。
【0040】
このBT機器BのL2CAP処理部12が要求するQoSパラメータは、ACLパケット長制御部37に対して通知される(図3の41参照)。
【0041】
他方、BT機器A自身のL2CAP処理部12が要求するQoSパラメータも、ACLパケット長制御部37に対して通知される(図3の41参照)。
【0042】
なお、BT機器AにおけるQoSパラメータに変更が生じた場合には、BT機器Aは、同様に、BT機器Bへ、QoSパラメータを通知する。
【0043】
さて、BT機器Aは、BT機器A自身及び又はBT機器BにおけるQoSパラメータに変更が生じた場合(ステップS51)、QoSパラメータの一つであるトークンレート(Token Rate)を比較する(ステップS52)。トークンレートは、継続的なデータ送信が可能な速度をバイト単位で示したものである。BT機器Aでは、BT機器AにおけるトークンレートとBT機器Bにおけるトークンレートとを比較し、いずれの機器におけるトークンレートが大きいかを判断する。
【0044】
BT機器Aの要求するトークンレートとBT機器Bの要求するトークンレートとが等しいかまたは前者が後者よりも大きい場合には、BT機器AにおけるACLパケットの最大値として、現在ACLパケットとして占有可能なタイムスロット数の候補のうち最大の値Nを設定する(ステップS53)。
【0045】
BT機器Aの要求するトークンレートがBT機器Bの要求するトークンレートよりも小さい場合には、BT機器AにおけるACLパケットの最大値として、BT機器Aの要求するトークンレートをT(A)、BT機器Bの要求するトークンレートをT(B)とした場合に、式(1)により得られる値Uをもとに、現在ACLパケットとして占有可能なタイムスロット数の候補の中から選択する(ステップS54)。
【0046】
U=N×T(A)/T(B) …(1)
値Uに基づく、BT機器AにおけるACLパケット長の最大値の選択方法として、例えば次のような手順があげられる。
【0047】
▲1▼現在ACLパケットとして占有可能なタイムスロット数の候補のうち、Uを超えない最小の値を選択し、この選択した(Uを超えない最小の)値分のタイムスロットを占めることができるように、ACLパケット長の最大値を設定する。
【0048】
▲2▼現在ACLパケットとして占有可能なタイムスロット数の候補のうち、Uに一番近い値を選択し、この選択した(Uに一番近い)値分のタイムスロットを占めることができるように、ACLパケット長の最大値を設定する。
【0049】
ここで、ACLパケットとして占有可能なタイムスロット数の候補について、説明する。
【0050】
Bluetooth規格において、一つのACLパケットが占有可能タイムスロット数は、最大5タイムスロット迄である。マスターは常に偶数番号のタイムスロットよりパケットを送出すること、スレーブは常に奇数番号のタイムスロットよりパケットを送出することより、ACLパケット長の最大値として、(1、3、5)の中より選択して設定することとなる。
【0051】
結局、図7の手順によって、BT機器Aの要求するトークンレートとBT機器Bの要求するトークンレートとが同じである場合には、BT機器AとBT機器Bのいずれにおいても、ステップS53で最大の値Nが選択され、BT機器Aの要求するトークンレートとBT機器Bの要求するトークンレートとが同じでない場合には、それが大きい方のBT機器において、ステップS53で最大の値Nが選択され、それが小さい方のBT機器において、ステップS54に従った値が選択される。
【0052】
ところで、BT機器間には、ACLリンクの他に、SCOリンクも設定され得る。SCOリンクは、ACLリンクとは異なり、一定時間間隔毎にあらかじめタイムスロットを予約して通信を行う。ACLリンクとして使用可能なタイムスロットは、SCOリンクにより予約されていないタイムスロットに限定される。
【0053】
図8に、SCOリンクによるタイムスロットの予約の概要を示す。図8の例では、マスター、スレーブ共に6スロット毎にSCOリンク用にタイムスロットが予約されている。この場合、ACLパケット長の最大値として5を設定することはできない。つまり、ACLパケットとして占有可能なタイムスロット数の候補として、(1、3)のみが挙げられる。そして、図7に示した処理手順に従い、マスター、スレーブのうち要求トークンレートの大きいほうに、ACLパケット長の最大値としてタイムスロット長3を設定してしまうと、他方のACLパケット長の最大値は必然的にタイムスロット長1となってしまう。要求トークンレートの比率から、このような割り当て(最大タイムスロット長3:最大タイムスロット長1)が望ましくないと判断すれば、ACLパケット長の最大値として、マスター、スレーブ共タイムスロット長1と設定する。
【0054】
このように、SCOリンクの設定状況に従い、ACLパケットとして占有可能なタイムスロット数の候補は変動してしまう。そのため、SCOリンクの新規設定や、既存SCOリンクの解放といったイベントが生じるたびに、ACLパケットとして占有可能なタイムスロット数を見直すといった処理を行う必要がある。
【0055】
以下の例では、実施の形態の説明を簡略化するため、SCOリンクは設定されていない情況にて説明を行う。つまり、ACLパケットとして占有可能なタイムスロット数の候補は、常に(1、3、5)である。
【0056】
図9に、図17と同様の条件下のもとで、図7に示す処理手順に従いACLパケット長の最大値を定めた際の、ACLリンク上でのACLパケット通信の一例を示す。図17で示した例では、マスター、スレーブ共にタイムスロット長5に相当するACLパケットの送信が可能であった。マスター側、スレーブ側が要求するQoSパラメータの一つであるトークンレートが、図17で示したデータの到着過程に等しいものとする。この場合、マスター側とスレーブ側のトークンレートの比率は5:1となるので、マスター側にて設定されるACLパケット長の最大値はタイムスロット長5に等しく設定される。一方、スレーブ側にて設定されるACLパケット長の最大値は、前記した式(1)に従い、
5×1/5=1
となり、タイムスロット長1に等しく設定される。
【0057】
図7に示す処理手順に従いACLパケット長の最大値を設定した場合、図9に示すように、図17の例にて見られたデータ伝送が行われないタイムスロット(α、β、γ)が存在しない。これは、図17の例よりも効率よいACLリンク資源の利用が行われていることを意味する。
【0058】
ところで、要求QoSパラメータのトークンレートだけに基づき、ACLパケット長の最大値の設定を行った場合、トークンレート以外の要求QoSパラメータに対する違反が生じてしまう可能性がある。図10は、図17(ACLパケット長の最大値としてタイムスロット長5を設定)および図9(ACLパケット長の最大値としてタイムスロット長1を設定)にてそれぞれ示したスレーブより送出するACLパケットパターンを示す((a)が図17の場合を示し、(b)が図9の場合を示す)。
【0059】
同一のデータ(タイムスロット長3に相当)を送信するのに、ACLパケット長の最大値としてタイムスロット長5を設定した場合と、タイムスロット長1を設定した場合とでは、図10の例だと、全データの送信を終了するのにタイムスロット長10に相当する時間の差が生じる。一つのタイムスロット長は625μ秒なので、ACLパケット長の最大値をタイムスロット長1として設定した場合には、6.25m秒の遅延が生じる。このとき、スレーブ側にて要求するQoSパラメータのレイテンシ(Latency)として6.25m秒より短い値が設定されている場合は、これに違反することとなる。
【0060】
図7に示す手順処理では、QoSパラメータとしてトークンレートにのみ着目してACLパケット長の最大値を定めているため、図10に示したような問題が生じてしまう。
【0061】
図11に、ACLパケット長制御部37において、QoSパラメータのレイテンシも考慮したACLパケット長の最大値を決定する際の処理手順の一例を示す。
【0062】
図11において、ステップS51〜S54までは、図7に示した処理手順と同様である。
【0063】
図11に示す処理手順では、ステップS54において選択したACLパケット長の最大値を用いた場合に、QoSパラメータのレイテンシも併せて同時に満足するか否かを調べる(ステップS55)。ステップS54において選択したACLパケット長の最大値を用いてレイテンシも同時に満足できると判断すれば、その値を最大値として設定する(ステップS56)。一方、レイテンシが満足できないと判断すれば、現在のACLパケット長の最大値を1ランク上昇させる(ステップS57)。具体的には、現在ACLパケット長の最大値としてタイムスロット長1を選択している場合にはこれを3に修正し、タイムスロット長3を選択している場合にはこれを5に修正する。そして、再びレイテンシを満足できるか否かを調べる(ステップS55)。
【0064】
なお、図11には示していないが、ACLパケット長の最大値をいかなる値に設定してもレイテンシを満足できない場合は、レイテンシを含めた要求QoSパラメータを修正するよう、L2CAP処理部12にて制御を行う。
【0065】
ここで、図7、図11に示した処理手順により、ACLパケット長の最大値をタイムスロット長1、もしくはタイムスロット長3に設定したBT機器では、ACLリンクを用いた通信相手であるBT機器においてデータ送信が中断した場合に、ACLパケット長の最大値を一時的に増加させることで、より効率の良いACLリンクの使用が可能となる。
【0066】
図12に、通信相手のBT機器でのデータ送信の一時中断に伴いACLパケット長の最大値を一時的に増加させた場合のACLパケットの通信の一例を示す。なお、図12において、(BT機器Bが送信する3つの)白抜きのACLパケットは、当該パケットのペイロードに通信情報が記載されていない旨(一つ前に受信したACLパケットに関するACK情報等のみを記載)を示す。
【0067】
図12に示す例では、BT機器AがACLパケット長の最大値をタイムスロット長1に、BT機器BがACLパケット長の最大値をタイムスロット長5に設定されている。そして、BT機器Aでは、BT機器Bよりペイロードに通信情報が記載されていないACLパケットを受信することで、BT機器Bにおいて送信すべきデータが存在しないものと判断する。図12の例では、BT機器Bよりペイロードに通信情報を含まないACLパケットを2個連続して受信した場合に、BT機器Aは、BT機器Bにおいてデータ送信を一時中断したものと判断する。そして、BT機器Aでは、現在のACLパケット長の最大値を、タイムスロット長5に設定して以降のACLパケットを生成し、BT機器B宛に送出する。
【0068】
再びBT機器Bがデータ送信を再開した場合、BT機器Aではペイロードに通信情報が記載されたACLパケットを受信することとなる。これをきっかけにBT機器Aでは、ACLパケット長の最大値を再び当初の値(図12の例ではタイムスロット長1)に設定して以降のACLパケットを生成し、BT機器B宛に送出する。
【0069】
上述のような、通信相手のBT機器におけるデータ送信の一時中断に伴うACLパケット長の最大値の修正を実現するため、BT機器のベースバンド処理部11では、受信したACLパケットよりL2CAPパケットを再構築する段階で、当該ACLパケットにペイロード情報が含まれているか否かをペイロード抽出部35(図3)にて判断し、ペイロード情報が含まれていなければ、その旨をACLパケット長制御部37(図3)へ通知する(図3の43参照)。
【0070】
なお、図12の例では、通信相手のBT機器がデータ送信を一時的に中断しているか否かを、ペイロード情報が空であるACLパケットを受信したか否かに基づき判断したが、通信相手のBT機器がACLパケットを送出したか否かに基づいて同様の判断を行うことも可能である。この場合、ACLパケットを受信するRXバッファ34(図3)にて、所定のタイムスロットにおいて通信相手のBT機器からのACLパケットを受信したか否かを判断し、ACLパケットを受信しなければ、その旨をACLパケット長制御部37(図3)へ通知する(図3の44参照)。
【0071】
次に、図13と図14に、ACLパケット伝送時にエラーが生じた場合のACLパケットの再送の様子を示す。なお、図13、図14ともに、BT機器AよりBT機器B宛にタイムスロット長5に相当するデータの送信を行っており、同一タイムスロットにおいてエラーが発生している。また、図13の例では、送信データをタイムスロット長5に相当するACLパケット1個(▲1▼)にて伝送し、図14の例では、送信データをタイムスロット長1に相当するACLパケット5個(A、B、C、D、E)にて伝送する。
【0072】
図13と図14の結果を比較すると、図13ではACLパケット▲1▼の再送が2回行われ(▲1▼’、▲1▼’’)、送信終了までに18タイムスロットを要している。一方、図14ではACLパケットB、Dの再送が一回ずつ行われ、送信終了までに14タイムスロットを要している。つまり、ACLパケット長が大きい場合、エラー発生に伴う再送情報も大きくなるため、再送終了までに要する時間は大きくなってしまう。無線伝送においては、フェージング等により、部分的に集中するバースト誤りが発生し得るが、この場合、送出パケットの再送の頻度が極端に高くなる。そのため、無線伝送環境も考慮して、ACLパケット長の最大値を動的に変更することが必要となる。
【0073】
次に、図15に、伝送品質の劣化に基づくACLパケット長の最大値の変更の概念を示す。BT機器において伝送品質劣化が生じているか、もしくは伝送品質劣化が見られず正常化しているかを判断し、ACLパケット長の最大値を既定値とするか(図7もしくは図11に示した処理手順に従い定めた最大値)、もしくはACLパケット長の最大値を減少させるか(タイムスロット長1に等しくする)といった変更を施す。
【0074】
なお、伝送品質が劣化しているか否かを判断するための手段としては、通信相手であるBT機器より送出されるACLパケットのヘッダに記載されるアクノレッジ情報を参照する方法が考えられる。ACLパケットのヘッダにはアクノレッジを表す1ビット情報(ARQN)が用意され、ARQN=1であれば受信が正常に行われた旨を表し、ARQN=0であれば受信が正常に行われなかった旨を表すことで、送信元のBT機器にこれを通知する。例えば、BT機器において定められた時間内にARQN=0のACLパケットを所定回数受信すれば、伝送品質が劣化していると判断し、送信ACLパケット長の最大値を減少させる。また、ACLパケット長の最大値を減少させた後にも、BT機器では受信したACLパケットのARQN値をチェックし、定められた時間内にARQN=0のACLパケットを全く受信しなければ、伝送品質の劣化が解消されたと判断し、送信ACLパケット長の最大値を設定値に戻す。なお、BT機器においてアクノレッジ情報を要求しているにも関わらず、送信済ACLパケットに対するアクノレッジ情報を含むべきACLパケットが受信されない場合には、当該BT機器はARQN=0のACLパケットを受信したものとして取り扱う。
【0075】
なお、以上説明したきた構成部分のうち計算や制御などの処理を行う部分に相当する機能は、ソフトウェアとして実現することも可能である(この場合、BT機器にコンピュータ(CPU、MPU等)を内蔵し、該内蔵コンピュータで該ソフトウェアを実行すればよい)。
【0076】
また、以上説明したきた構成部分のうち計算や制御などの処理を行う部分に相当する機能は、コンピュータに所定の手段を実行させるための(あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるための)プログラムとして実施することもでき、該プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。
【0077】
なお、この発明の実施の形態で例示した構成は一例であって、それ以外の構成を排除する趣旨のものではなく、例示した構成の一部を他のもので置き換えたり、例示した構成の一部を省いたり、例示した構成に別の機能あるいは要素を付加したり、それらを組み合わせたりすることなどによって得られる別の構成も可能である。また、例示した構成と論理的に等価な別の構成、例示した構成と論理的に等価な部分を含む別の構成、例示した構成の要部と論理的に等価な別の構成なども可能である。また、例示した構成と同一もしくは類似の目的を達成する別の構成、例示した構成と同一もしくは類似の効果を奏する別の構成なども可能である。
【0078】
また、この発明の実施の形態で例示した各種構成部分についての各種バリエーションは、適宜組み合わせて実施することが可能である。
【0079】
また、この発明の実施の形態は、個別装置としての発明、関連を持つ2以上の装置についての発明、システム全体としての発明、個別装置内部の構成部分についての発明、またはそれらに対応する方法の発明等、種々の観点、段階、概念またはカテゴリに係る発明を包含・内在するものである。
【0080】
従って、この発明の実施の形態に開示した内容からは、例示した構成に限定されることなく発明を抽出することができるものである。
【0081】
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【0082】
【発明の効果】
本発明によれば、Bluetooth規格を用いて、ACLリンクを設定した後にACLパケット形式でのデータの送受信を行う際に、ACLリンク資源を効率よく利用することができるようになる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るBT機器の構成例を示す図
【図2】同実施形態に係るBT機器のL2CAP処理部におけるパケット分割例を示す図
【図3】同実施形態に係るBT機器のベースバンド処理部内のSAR機能に関わる部分の内部構成例を示す図
【図4】他の実施形態に係るBT機器の構成例を示す図
【図5】他の実施形態に係るBT機器のL2CAP処理部におけるパケット分割例を示す図
【図6】他の実施形態に係るBT機器のベースバンド処理部内のSAR機能に関わる部分の内部構成例を示す図
【図7】図3のACLパケット長制御部におけるACLパケット長の最大値を決定する際の処理手順の一例を示すフローチャート
【図8】SCOリンクによるタイムスロットの予約の概要を示す図
【図9】図17と同様の条件下で図7に示す処理手順に従いACLパケット長の最大値を定めた際のACLリンク上でのACLパケット通信の一例を示す図
【図10】図17、図9にて示したスレーブより送出するACLパケットパターンを示す図
【図11】図3のACLパケット長制御部QoSパラメータのレイテンシも考慮したACLパケット長の最大値を決定する際の処理手順の一例を示すフローチャート
【図12】通信相手BT機器でのデータ送信の一時中断に伴いACLパケット長の最大値を一時的に増加させた場合のACLパケット通信の一例を示す図
【図13】ACLパケット伝送時にエラーが生じた場合のACLパケット(ACLパケット1個にて伝送)の再送の様子を示す図
【図14】ACLパケット伝送時にエラーが生じた場合のACLパケット(ACLパケット5個に分割して伝送)の再送の様子を示す図
【図15】伝送品質の劣化に基づくACLパケット長の最大値の変更の概念を示す図
【図16】ACLリンクを用いたマスターとスレーブ間のACLパケット通信の一例を示す図
【図17】マスターとスレーブとでデータ送信要求が同時に発生する場合のACLリンク上でのACLパケット通信の一例を示す図
【符号の説明】
11…ベースバンド処理部
12…L2CAP処理部
21…L2CAPパケット
22…ACLパケット(L_CH=10)
23,24…ACLパケット(L_CH=01)
31…L2CAPパケット分割部
32…ACLパケット生成部
33…TXバッファ
34…RXバッファ
35…ペイロード抽出部
36…L2CAPパケット再構築部
37…ACLパケット長制御部
Claims (10)
- 近距離無線通信手段を用いて、リンクを設定した後にパケット形式でのデータの送受信を行うことが可能な、通信機器間でのパケット伝送方法において、
第1の通信機器は、リンクを設定した第2の通信機器に対して伝送するパケットサイズの最大値を、該第1の通信機器が要求する該第2の通信機器宛のデータ伝送速度の平均値を示す第1の要求値と、該第2の通信機器から取得した該第2の通信機器が要求する該第1の通信機器宛のデータ伝送速度の平均値を示す第2の要求値との比率に基づき決定することを特徴とするパケット伝送方法。 - 前記近距離無線通信手段は、Bluetooth(登録商標)規格、前記リンクは、ACLリンク(非同期コネクションレスリンク)、記パケットは、ACLパケットであり、物理チャネルを時分割することにより得られるタイムスロットを単位として該ACLパケットが伝送されることを特徴とする請求項1に記載のパケット伝送方法。
- 前記第1の通信機器は、前記第1の要求値と前記第2の要求値とを比較し、
前記第1の要求値が前記第2の要求値よりも小さくない場合は、該第1の通信機器が伝送するACLパケットサイズの最大値を、ACLパケットが占有可能なタイムスロットサイズの最大値の候補の中で、最も大きいタイムスロット値を占めることができるように設定し、
前記第1の要求値が前記第2の要求値よりも小さい場合は、前記タイムスロット値をN、該第1の要求値をS、該第2の要求値をTとして、U=N×S/Tにて得られる値Uを元に、前記第1の通信機器が伝送するACLパケットが占めることのできるタイムスロット数の最大値として、ACLパケットが占有可能なタイムスロットサイズの最大値の候補の中から値Uに最も近い値を選択して設定し、該タイムスロット数の最大値に従順するように、該第1の通信機器が伝送するACLパケットサイズの最大値を設定することを特徴とする請求項2に記載のパケット伝送方法。 - 前記第1の通信機器が伝送するACLパケットが占めることのできるタイムスロット数の最大値として、ACLパケットが占有可能なタイムスロットサイズの最大値の候補の中から値Uを下回らない最小値を選択して設定することを特徴とする請求項3に記載のパケット伝送方法。
- ACLパケットが占有可能なタイムスロットサイズの最大値の候補は、1、3または5の値のうち、現在SCOリンク向けに予約済であるタイムスロットを除外したタイムスロットにおいて、占有可能であるタイムスロットサイズのみを抽出したものであることを特徴とする請求項3または4に記載のパケット伝送方法。
- 前記第1の通信機器は、
ペイロード情報を含むACLパケットを前記第2の通信機器より一定時間受信しなかった場合、該第1の通信機器が伝送するACLパケットサイズの最大値を、ACLパケットが占有可能なタイムスロットサイズの最大値の候補の中で、最も大きいタイムスロット値Nに変更し、
この変更の後に、再びペイロード情報を含むACLパケットを前記第2の通信機器より受信した場合、該第1の通信機器が伝送するACLパケットサイズの最大値を、前記変更の前の値に戻すことを特徴とする請求項3または4に記載のパケット伝送方法。 - 前記第1の通信機器は、
前記第2の通信機器との間に設定したACLリンクにおける伝送品質が劣化したと判断した場合、該第1の通信機器が伝送するACLパケットサイズの最大値を減少させ、
この減少の後に、前記第2の通信機器との間に設定したACLリンクにおける伝送品質の劣化が回避されたと判断した場合、該第1の通信機器が伝送するACLパケットサイズの最大値を、前記減少の前の値に戻すことを特徴とする請求項3、4または6に記載のパケット伝送方法。 - 前記第1の通信機器は、該第1の通信機器にて伝送済のACLパケットに対する、前記第2の通信機器から送出されるアクノレッジ情報に基づき、該第2の通信機器との間に設定したACLリンクにおける伝送品質が劣化したか否かを判断することを特徴とする請求項7に記載のパケット伝送方法。
- 他の無線通信装置との間でリンクを設定した後にパケット形式でのデータの送受信を行うための近距離無線通信手段と、
前記リンクを設定した後に前記他の無線通信装置に対して伝送するパケットサイズの最大値を、自装置が要求する該他の無線通信装置宛のデータ伝送速度の平均値を示す要求値と、該他の無線通信装置から取得した該他の無線通信装置が要求する自装置宛のデータ伝送速度の平均値を示す要求値との比率に基づき決定する決定手段とを備え、
前記近距離無線通信手段は、前記決定手段により決定された前記他の無線通信装置に対して伝送するパケットサイズの最大値に基づいて、データの送信を行うことを特徴とする無線通信装置。 - 近距離無線通信手段を用いてリンクを設定した後にパケット形式でのデータの送受信を行うことが可能な通信機器に内蔵されたコンピュータをパケット伝送に関する制御部として機能させるためのプログラムであって、
第1の通信機器は、リンクを設定した第2の通信機器に対して伝送するパケットサイズの最大値を、該第1の通信機器が要求する該第2の通信機器宛のデータ伝送速度の平均値を示す第1の要求値と、該第2の通信機器から取得した該第2の通信機器が要求する該第1の通信機器宛のデータ伝送速度の平均値を示す第2の要求値との比率に基づき決定する機能をコンピュータに実現させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002188947A JP4052633B2 (ja) | 2001-09-28 | 2002-06-28 | パケット伝送方法及び無線通信装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001301369 | 2001-09-28 | ||
JP2001-301369 | 2001-09-28 | ||
JP2002188947A JP4052633B2 (ja) | 2001-09-28 | 2002-06-28 | パケット伝送方法及び無線通信装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003174455A JP2003174455A (ja) | 2003-06-20 |
JP4052633B2 true JP4052633B2 (ja) | 2008-02-27 |
Family
ID=26623304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002188947A Expired - Fee Related JP4052633B2 (ja) | 2001-09-28 | 2002-06-28 | パケット伝送方法及び無線通信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4052633B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101240551B1 (ko) | 2006-08-07 | 2013-03-18 | 삼성전자주식회사 | 블루투스 기반의 채팅 시스템 및 방법 |
US8406205B2 (en) * | 2007-08-08 | 2013-03-26 | Qualcomm Incorporated | Apparatus and method for channel reservation in wireless communication systems |
EP2282418A3 (en) * | 2009-06-23 | 2011-03-09 | Alcatel Lucent | A station comprising at least two transmit antennas, and a method of transmitting therefrom |
JP6247474B2 (ja) * | 2013-08-20 | 2017-12-13 | キヤノン株式会社 | 通信装置、制御方法、及びプログラム |
JP2020202177A (ja) * | 2020-05-28 | 2020-12-17 | 利仁 曽根 | ゲートウェイ |
-
2002
- 2002-06-28 JP JP2002188947A patent/JP4052633B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003174455A (ja) | 2003-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6996100B1 (en) | Method and system for medium access on a radio channel | |
US7009960B2 (en) | Medium access control protocol for high rate wireless personal area network | |
JP4130648B2 (ja) | 通信装置および通信方法 | |
JP4939157B2 (ja) | 無線分散型ネットワークにおけるメディアアクセス制御方法及び装置 | |
US6928085B2 (en) | System and method for providing quality of service and contention resolution in ad-hoc communication systems | |
TWI513213B (zh) | 經由藍芽低能量傳達之多通道音訊之同步化 | |
US8274992B2 (en) | Communication method for wireless lans | |
JP4562694B2 (ja) | 再送制御方法及び装置 | |
JP5295882B2 (ja) | 無線通信装置 | |
US20090323697A1 (en) | Data payload transmission via control plane signaling | |
US20040042440A1 (en) | Supporting disparate packet based wireless communications | |
US8718089B2 (en) | Aggregation and fragmentation of multiplexed downlink packets | |
JP2008507226A (ja) | ブロック肯定応答を用いてデータスループットを向上させるためのシステム及び方法 | |
JP2003519956A (ja) | ポイントツーマルチポイント通信システム用の適応型リンク層 | |
US20030235202A1 (en) | Methods of transmitting data packets without exceeding a maximum queue time period and related devices | |
EP2741544A1 (en) | Method, flow-distribution equipment, user terminal and system for data transmission | |
TW200414721A (en) | A scheduler system and method thereof | |
JP2005311920A (ja) | 通信装置、通信システム、および通信制御プログラム | |
TW200529619A (en) | High speed media access control | |
WO2006065008A1 (en) | Apparatus for arq controlling in wireless portable internet system and method thereof | |
US7298748B2 (en) | Method of packet transmission and wireless communication device | |
CN115804146A (zh) | 多链路装置之间的低时延数据的无线通信的方法和设备 | |
WO2021013089A1 (zh) | 信息传输方法、终端设备和控制节点 | |
WO2001071981A2 (en) | Multimedia extensions for wireless local area networks | |
JP4052633B2 (ja) | パケット伝送方法及び無線通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050207 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050415 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050606 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070223 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070416 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071130 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071203 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101214 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101214 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111214 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121214 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |