(57)【特許請求の範囲】
【請求項１】
Ｂｌｕｅｔｏｏｔｈ規格に基づく無線インターフェイスを備えたＢｌｕｅｔｏｏｔｈ機器におけるネットワーク通信方法において、
通信相手となる他のＢｌｕｅｔｏｏｔｈ機器との間で送受信される通信パケットが要求するサービスの品質の種類に応じた数のバッファを設定するステップと、
前記通信パケットに順次論理チャネルを設定するステップと、
前記通信パケットが用いる論理チャネルに、当該チャネルと１対１対応で接続用識別子を付与し、前記論理チャネルにあらかじめ設定された前記サービスの品質を示す情報を、前記接続用識別子に関連付けて設定するステップと、
前記通信パケットを、前記接続用識別子およびこの接続用識別子に設定された前記サービスの品質を示す情報に基づいて、前記バッファのうち対応するバッファに振り分けるステップと
を含むネットワーク通信方法。
【請求項２】
Ｂｌｕｅｔｏｏｔｈ規格に基づく無線インターフェイスを備えたＢｌｕｅｔｏｏｔｈ機器におけるネットワーク通信方法において、
通信相手となる他のＢｌｕｅｔｏｏｔｈ機器との間で送受信される通信パケットが要求するサービスの品質の種類に応じた数のバッファを設定するステップと、
前記通信パケットが用いる論理チャネルに、当該通信パケットが要求するサービスの品質と１対１対応する接続用識別子を設定するステップと、
前記接続用識別子を、前記サービスの品質の種類に基づいて、前記バッファに１対１対応で関連付けるステップと、
前記通信パケットを、前記サービスの品質の種類および前記接続用識別子に基づいて、対応するバッファに振り分けるステップと
を含むネットワーク通信方法。
【請求項３】
Ｂｌｕｅｔｏｏｔｈ規格に基づく無線インターフェイスを備えたＢｌｕｅｔｏｏｔｈ機器におけるネットワーク通信方法において、
前記Ｂｌｕｅｔｏｏｔｈ機器が送信する通信パケットのペイロードヘッダの所定の領域に、前記Ｂｌｕｅｔｏｏｔｈ機器がこの通信パケットに要求するサービスクラスを指定するステップと、
前記ペイロードヘッダに基づいて、前記通信パケットに要求されているサービスクラスの判断するステップと、
前記判断に基づいて、前記通信パケットを指定されたサービスクラスに応じたバッファに振り分けるステップと
を含むネットワーク通信方法。
【請求項４】
Ｂｌｕｅｔｏｏｔｈ規格に基づく無線インターフェイスを備えたＢｌｕｅｔｏｏｔｈ機器において、
前記Ｂｌｕｅｔｏｏｔｈ機器が送信する通信パケットに、当該Ｂｌｕｅｔｏｏｔｈ機器で用いられるアプリケーションが要求する通信サービスの品質の種類に応じたパラメータを決定するアプリケーション処理部と、
前記パラメータの種類に応じた複数のバッファと、
前記通信パケットのために決定されたパラメータに関する情報を設定した論理チャネルを用意し、この論理チャネルを前記通信パケットに順次設定する論理リンク制御部と、
前記設定された論理チャネルに接続用識別子を付与し、前記接続用識別子に前記パラメータに関する情報を設定する通信制御インターフェイス部と、
前記通信制御インターフェイスを介して論理リンク制御部から手渡された前記通信パケットを、前記接続用識別子に設定された前記パラメータに関する情報に基づいて、最適なバッファに振り分ける判定部と、
を備えることを特徴とするＢｌｕｅｔｏｏｔｈ機器。
【請求項５】
前記インターフェイス部は、前記論理チャネルに１対１対応で接続用識別子を付与し、この接続用識別子に前記パラメータに関する情報を設定することを特徴とする請求項４に記載のＢｌｕｅｔｏｏｔｈ機器。
【請求項６】
前記インターフェイス部は、前記論理チャネルに、前記パラメータに関する情報の種類と１対１対応する接続用識別子を付与し、この接続用識別子に前記パラメータに関する情報を設定することを特徴とする請求項４に記載のＢｌｕｅｔｏｏｔｈ機器。
【請求項７】
前記通信制御インターフェイスを介して前記論理リンク制御部から手渡された通信パケットの所定の領域に、前記パラメータに関する情報を書き込むパケット処理部をさらに含み、
前記判定部は、前記所定の領域に書き込まれたパラメータに関する情報に基づいて、前記通信パケットを最適なバッファに振り分けることを特徴とする請求項４に記載のＢｌｕｅｔｏｏｔｈ機器。
【請求項８】
前記パケット処理部は、前記通信パケットのペイロードヘッダの第１領域に値００を書き込み、第２領域に前記通信サービスの品質を表わすサービス定義を書き込み、
前記判定部は、前記第１領域の値が００である場合に、前記サービス定義に基づき、前記通信パケットを最適なバッファに振り分けることを特徴とする請求項７に記載のＢｌｕｅｔｏｏｔｈ機器。
【請求項９】
前記アプリケーション処理部は、前記パラメータを決定するとともに、対応するバッファを指定することを特徴とする請求項４に記載のＢｌｕｅｔｏｏｔｈ機器。
【請求項１０】
前記論理リンク制御部は、前記通信パケットにパラメータが決定されていない場合に、前記通信パケットに必要とされるサービスの品質の種類に応じたパラメータを決定することを特徴とする請求項４に記載のＢｌｕｅｔｏｏｔｈ機器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、Ｂｌｕｅｔｏｏｔｈネットワーク上での通信方法に関し、特に、異なる種類の通信サービスで必要とされる品質に応じた無線通信を実現するＢｌｕｅｔｏｏｔｈネットワーク通信方法に関する。
【０００２】
【従来の技術】
Ｂｌｕｅｔｏｏｔｈは、携帯電話やノートパソコン、デジタル家電などのデジタル機器を無線接続し、画像や音声などのデータを交換する標準ワイヤレス技術である。Ｂｌｕｅｔｏｏｔｈでの接続可能範囲は半径１０メートル程度と既存の無線ＬＡＮに比べて接続距離が短いものの、低コストかつ簡単な構成で実現でき、また、消費電力が低いことから、ローカルエリアでのディジタル機器間のコミュニケーション手段として期待されている。
【０００３】
Ｂｌｕｅｔｏｏｔｈネットワークでは、マスターと呼ばれるひとつのＢｌｕｅｔｏｏｔｈ機器に、スレーブと呼ばれるひとつまたは複数のＢｌｕｅｔｏｏｔｈ機器を無線接続する。ここで、Ｂｌｕｅｔｏｏｔｈ機器とは、Ｂｌｕｅｔｏｏｔｈ規格に基づいた無線インターフェイスを備えた機器である。各スレーブは、マスターとの間で、それぞれ異なる種類の無線通信を行なうことができる。
【０００４】
たとえば、図１に示す例では、Ｂｌｕｅｔｏｏｔｈ規格のＰＣをマスターとして、複数の機器を無線接続している。スレーブのひとつであるヘッドセット２は、リアルタイムの音声送信に適した接続形態であるＳＣＯ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｃｏｎｎｅｃｔｉｏｎ−Ｏｒｉｅｎｔｅｄ）で音声通信を行なっている。一方、ＰＣ周辺機器であるマウス３もＢｌｕｅｔｏｏｔｈインターフェイスを有し、クロック信号とは非同期で、順次信号をマスター１に無線送信する。この場合の通信は、ＡＣＬ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｃｏｎｎｅｃｔｉｏｎ−ｌｅｓｓ）と呼ばれる接続形態で行なわれる。さらに、ビューワ３は、マスター１に対し画像データを無線送信する。
【０００５】
図１５は、現存のＢｌｕｅｔｏｏｔｈネットワークにおけるプロトコル・レイヤ構成を示す。最下層のＲＦ（無線）レイヤ１０１では、アンテナ制御や無線伝送に必要な規約を定めている。ベースバンド１０２は物理レイヤであり、物理チャネルやリンクを管理する規約を扱う。ＨＣＩ（Ｈｏｓｔ  Ｃｏｎｔｒｏｌｌｅｒ  ｉｎｔｅｒｆａｃｅ）を介してさらにＬ２ＣＡＰ（Ｌｏｇｉｃａｌ  Ｌｉｎｋ  Ｃｏｎｔｒｏｌｌｅ  Ａｄａｐｔａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）レイヤ１０３がある。
【０００６】
Ｌ２ＣＡＰレイヤ１０３は、さらに上位レイヤのプロトコルへのＡＣＬデータサービスを規定し、各サービスに応じて論理チャネルを設定する。各論理チャネルごとに、ＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）オプションとして、トークン・レート（ｔｏｋｅｎ  ｒａｔｅ）、トークン・バケットサイズ（ｔｏｋｅｎ  ｂｕｃｋｅｔ  ｓｉｚａ）、ピークバンド幅（ｐｅａｋ  ｂａｎｄｗｉｄｔｈ）、レイテンシー（ｌａｔｅｎｃｙ）、遅延バリエーション（ｄｅｌａｙ  ｖａｒｉａｔｉｏｎ）のＱｏＳパラメータが指定できるようになっている。また、ＨＣＩインターフェイスにも、ＨＣＩ＿ＱｏＳ＿Ｓｅｔｕｐというプリミティブが用意されており、コネクションハンドルごとに、上記と同様のＱｏＳパラメータが設定できるようになっている。
【０００７】
【発明が解決しようとする課題】
図１５に示す現存のシステムにおいては、Ｌ２ＣＡＰレベルではサービスの質（種類）に応じてチャネルが設定されるが、Ｌ２ＣＡＰレイヤ１０３のプロトコルが使用するＡＣＬリンク用のコネクションハンドルは、ひとつのＢｌｕｅｔｏｏｔｈインターフェイスあたりひとつとなっている。より正確には、送信側と受信側（たとえば図２に示す１つのスレーブと１つのマスター）の１組のＢｌｕｅｔｏｏｔｈインターフェイスにつき、ＡＣＬリンク用にはひとつのコネクションハンドルしか存在しない。
【０００８】
コネクションハンドルとは、接続リンクを識別するための識別子のようなものである。図１５の例では、一組のスレーブとマスターとの間でＡＣＬリンクを介して非同期の信号の送受信を行なう場合、データが要求する通信サービスすべてに共通してひとつのコネクションハンドル（ｃｏｎｎｅｃｔｉｏｎ  ｈａｎｄｌｅ）Ａしか存在していない。
【０００９】
したがって、上位のＬ２ＣＡＰレイヤ１０３で、あるスレーブとマスター間で行なわれる複数の通信サービスの種類に応じて（すなわちＱｏＳごとに）論理チャネルを設定したとしても、下位のベースバンドレイヤ１０２では、ひとつのコネクションハンドルＡに束ねられて、個々の論理チャネルの要求する通信品質に対応した処理を行なうことができなくなる。
【００１０】
さらに、ひとつのＡＣＬリンクを経由する（利用する）パケットを収容するバッファも、ＡＣＬリンクに対応した単一のバッファ１０４ａが存在するだけなので、たとえ、上位レイヤで異なる通信品質を要求されていても、ＡＣＬリンクを経由（利用）するすべてのパケットに対して、同等の質の通信サービスが提供されることになる。
【００１１】
たとえば、図２に示すビューワが映像送信とキーボード操作（あるいはマウス操作）の２つのサービスをＡＣＬリンクで要求する場合、映像送信には画像の連続性を重視する通信サービスが必要であり、キーボード操作は、レスポンスの早さを重視する通信サービスが必要である。Ｌ２ＣＡＰでは、これら２つのサービスのそれぞれに対応する論理チャネルが設定され、それぞれのチャネルＩＤが付与されるが、結果的には、同じ質のサービスで通信処理される。この結果、連続性が要求される映像が途切れがちになったり、逆に、応答性の早さが必要とされるコマンド操作が遅延したりする。
【００１２】
このように、現存のＢｌｕｅｔｏｏｔｈネットワーク通信では、論理チャネルごとのＱｏＳパラメータを反映した通信が行なわれることはないのである。
【００１３】
そこで、本発明は、現存のＢｌｕｅｔｏｏｔｈネットワークにおける上記の問題点を解決し、一組のＢｌｕｅｔｏｏｔｈ機器間で複数の異なる品質を要求するデータ通信が共存する場合に、それぞれの要求品質を満たすような通信を実現するシステムおよび方法を提供することを目的とする。
【００１４】
【課題を解決するための手段】
上記目的を達成するために、本発明は、Ｂｌｕｅｔｏｏｔｈ規格に基づく無線インターフェイスを備えた複数のＢｌｕｅｔｏｏｔｈ機器を含むＢｌｕｅｔｏｏｔｈネットワークに適用されることを意図する。特に、一組のＢｌｕｅｔｏｏｔｈ機器間で、異なる品質の通信サービスを同時に実行しようとする場合に、それぞれの品質に応じた通信処理を行なうことを可能とする。
【００１５】
このようなＢｌｕｅｔｏｏｔｈネットワークにおいて、Ｂｌｕｅｔｏｏｔｈ規格に基づく各無線インターフェイスは、一組Ｂｌｕｅｔｏｏｔｈ機器間で送受信される通信パケットが要求する複数の異なるサービスの質の種類に応じて、複数のバッファを設定する。そして、通信パケットがサービスの品質に応じた通信制御を要求する場合に、必要とするサービスの品質を指定する。各通信パケットは、指定されたサービスの品質に応じて、対応するバッファに振り分けられる。これによって、より上位のレイヤ（たとえばＬ２ＣＡＰレイヤ）で区別されたサービスの質は、下位レベルにおいてもその識別性を維持し、各Ｂｌｕｅｔｏｏｔｈ機器が送る通信データを、それぞれの機器が要求する通信サービスの品質に最も適した形態で処理することが可能になる。
【００１６】
より具体的には、Ｂｌｕｅｔｏｏｔｈ規格に基づく無線インターフェイスを備えた複数のＢｌｕｅｔｏｏｔｈ機器を含むＢｌｕｅｔｏｏｔｈネットワークにおいて、まず、通信相手となる他のＢｌｕｅｔｏｏｔｈ機器との間で送受信される通信パケットが要求するサービスの品質の種類に応じた数のバッファを設定する。通信パケットが要求するサービスの品質は、Ｂｌｕｅｔｏｏｔｈプロトコルレイヤの階層構造の上位レイヤ、たとえばアプリケ−ションレイヤまたはＬ２ＣＡＰレイヤで設定することができる。Ｌ２ＣＡＰレイヤで設定する場合は、Ｌ２ＣＡＰのＱｏＳオプションやＨＣＬ＿ＱｏＳ＿Ｓｅｔｕｐを利用してサービス品質を記述し、サービスの品質（ＱｏＳ）を指定することができる。
【００１７】
次に、通信パケットに順次論理チャネルを設定する。このとき、論理チャネルに、そのチャネルを用いる通信パケットが要求するサービスの品質を示す情報が設定される。
【００１８】
次に、下位レイヤ（ベースバンドレイヤ）への制御インターフェイスにおいて、通信パケットが用いる論理チャネルの各々に、通信チャネルと１対１対応で、コネクションハンドル（接続用識別子）を付与する。そして、対応する論理チャネルにあらかじめ設定されているサービスの品質を示す情報を、コネクションハンドルにも設定する。
【００１９】
最後に、コネクションハンドルを介して下位レイヤに手渡された通信パケットを、コネクションハンドルおよびそれに設定されたサービスの品質を示す情報に基づいて、対応するバッファに振り分ける。
【００２０】
この方法では、サービスに応じて、論理チャネルと接続用識別子が１対１対応で通信パケットを下位レイヤに送り、その後、サービスの品質制御の要求があるか否かを判断し、必要であれば通信パケットにサービスクラスに応じたサービス識別子を付与し、このサービス識別子に応じて、通信パケットが対応のバッファに振り分けられる。
【００２１】
また別の方法として、Ｂｌｕｅｔｏｏｔｈ規格に基づく無線インターフェイスを備えた複数のＢｌｕｅｔｏｏｔｈ機器を含むＢｌｕｅｔｏｏｔｈネットワークにおいて、まず、通信相手となる他のＢｌｕｅｔｏｏｔｈ機器との間で送受信される通信パケットが要求するサービスの品質の種類に応じた数のバッファを設定する。
【００２２】
次に、通信パケットが用いる論理チャネルに、その通信パケットが要求するサービスの品質と１対１対応するコネクションハンドル（接続用識別子）を設定する。この場合は、Ｂｌｕｅｔｏｏｔｈ階層構造の上位レイヤ（たとえばＬ２ＣＡＰレイヤ）において、Ｂｌｕｅｔｏｏｔｈネットワークで送受信される通信パケットに、同一のチャネル識別子（ＣＩＤ）を持つ一連の通信パケットが要求するサービスの質を指定する。サービスの質の指定は、たとえばアプリケーションからの指示でＬ２ＣＡＰパケットのＱｏＳオプションに、この同一のチャネル識別子を持つ一連のＬ２ＣＡＰパケットが要求するサービスのパラメータを指定することによって行なう。そして、Ｂｌｕｅｔｏｏｔｈプロトコルレイヤ階層の上位から下位へのインターフェイスにおいて、同一のＱｏＳパラメータを有する通信パケット（Ｌ２ＣＡＰパケット）に対して、このパケットのためのチャネル識別子の値にかかわらず、同一のコネクションハンドル（接続用識別子）を１対１対応で付与する。
【００２３】
次に、下位レイヤに渡された通信パケットのコネクションハンドルを、サービスの品質の種類に基づいて、バッファに１対１対応で関連付ける。
【００２４】
最後に、この通信パケットを、サービスの品質の種類とコネクションハンドルとに基づいて、対応するバッファに振り分ける。
【００２５】
上記２つの方法のうち、いずれの方法によっても、最終的には、通信パケットが要求するサービスの品質と、その通信パケットが格納されるバッファとが対応し、サービスの質の種類に適した処理が行なわれることになる。
【００２６】
本発明のさらに別の方法として、たとえば、上位レイヤから下位レイヤに手渡された通信パケットのペイロードヘッダの所定の領域に、通信元であるＢｌｕｅｔｏｏｔｈｅ機器がこの通信パケットに要求するサービスのクラスを指定する。サービスクラスの指定は、この通信パケットの下位レイヤへの受け渡しに用いられたコネクションハンドルに設定されたサービス情報に基づいて行なう。
【００２７】
次に、ペイロードヘッダの所定領域を調べ、所定領域に指定されたサービス情報に基づいて、この通信パケットに要求されているサービスクラスを判断する。
【００２８】
最後に、この判断に基づいて、通信パケットを指定されたサービスクラスに応じたバッファに振り分ける。
【００２９】
所定領域へのサービス情報の指定は、たとえば、ペイロードヘッダのＬ＿ＣＨ領域に特定の値（００）を書き込むことによって行なう。この方法は、上位レイヤから送られてきた通信パケットを、ベースバンドレイヤで適切な長さにフラグメント処理する場合などに有効である。
【００３０】
また、ペイロードヘッダの所定領域に特定値が書き込まれていない場合は、その通信パケットをデフォルト用のバッファに振り分けてもよい。
【００３１】
これらのＢｌｕｅｔｏｏｔｈネットワークの通信方法によって、ネットワーク内でやり取りされるデータは、各Ｂｌｕｅｔｏｏｔｈ機器が求めるサービスの質に最も適した方式で処理されることになる。
【００３２】
本発明の第２の特徴として、Ｂｌｕｅｔｏｏｔｈ規格に基づく無線インターフェイスを備えた複数のＢｌｕｅｔｏｏｔｈ機器を含むＢｌｕｅｔｏｏｔｈネットワークシステムを提供する。このネットワークシステムにおいて、各Ｂｌｕｅｔｏｏｔｈ機器は、このＢｌｕｅｔｏｏｔｈ機器のアプリケーションが要求する通信サービスの品質に応じたパラメータを決定するアプリケーション処理部と、パラメータの種類に応じた複数のバッファと、論理リンク制御部と、通信制御インターフェイス部と判定部とを備える。論理リンク制御部は、通信パケットのために決定されたパラメータに関する情報を設定した論理チャネルを用意し、この論理チャネルを通信パケットに順次設定する。通信制御インターフェイス部は、論理リンク制御部と判定部との間に接続され、設定された論理チャネルにコネクションハンドル（接続用識別子）を付与し、付与したコネクションハンドルにパラメータに関する情報を設定する。判定部は、通信制御インターフェイスを介して論理リンク制御部から手渡された通信パケットを、この通信パケットのコネクションハンドルに設定されたパラメータ情報に基づいて、最適なバッファに振り分ける。
【００３３】
通信制御インターフェイス部は、論理チャネルに１対１対応でコネクションハンドルを付与し、このコネクションハンドルにパラメータに関する情報を設定する。
【００３４】
あるいは、通信制御インターフェイス部は、論理チャネルに、パラメータに関する情報の種類と１対１対応でコネクションハンドルを付与し、このコネクションハンドルにパラメータに関する情報を設定する。
【００３５】
上述のＢｌｕｅｔｏｏｔｈ機器は、論理リンク制御部から手渡された通信パケットの所定の領域に、パラメータに関する情報を書き込むパケット処理部をさらに含んでもよい。この場合、判定部は、通信パケットの所定の領域に書き込まれたパラメータに関する情報に基づいて、通信パケットを最適なバッファに振り分ける。
【００３６】
パケット処理部は、たとえば、メッセージパケットのヘッダの第１領域に値００を書き込み、判定部は、前記第１領域の値が００である場合に、前記メッセージパケットを適切なバッファに振り分ける。
【００３７】
さらに、パケット処理部は、メッセージパレットのヘッダの第１領域に値００を書き込み、第２領域に通信品質を表わすサービス定義を書き込んでもよい。この場合、判定部は、第１領域の値の００を見て、第２領域のサービス定義に基づいてメッセージパケットを最適なバッファに振り分ける。
【００３８】
このようなＢｌｕｅｔｏｏｔｈ機器でＢｌｕｅｔｏｏｔｈネットワークを構成することにより、ネットワーク内でのメッセージの送受信において、一組のＢｌｕｅｔｏｏｔｈ機器間で送受信されるデータが要求するサービスの品質に応じた通信処理を受けることが可能になる。
【００３９】
本発明のその他の特徴、効果は、添付図面を参照した以下の詳細な説明により、さらに明確になるものである。
【００４０】
【発明の実施の形態】
図１は、本発明のＢｌｕｅｔｏｏｔｈネットワーク通信方法が適用されるネットワーク構成の一例を示す図である。マスターとしてのパーソナルコンピュ−タ１に、スレーブとしての複数のＢｌｕｅｔｏｏｔｈ機器２，３，４が無線接続されている。各機器は、Ｂｌｕｅｔｏｏｔｈ規格に基づく無線インターフェイスを備える。スレーブはマスター１からボーリングパケットを受け取った次のタイミングで、データを無線送信する。
【００４１】
図１の例では、上述したように、ヘッドセット２は、音声のリアルタイム送信に適した接続形態であるＳＣＯ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｃｏｎｎｅｃｔｉｏｎ−Ｏｒｉｅｎｔｅｄ）で音声通信を要求し、マウス３およびビューワ４は、パーソナルコンピュータの周辺機器が本体と通信するのに適した接続形態であるＡＣＬ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｃｏｎｎｅｃｔｉｏｎ−ｌｅｓｓ）で無線通信を行なう。おなじＡＣＬリンクを使用するにしても、マウス３は、応答速度の速さを重視するサービスを要求し、ビューワ４は、画像の連続性を優先するサービスを要求する。
【００４２】
図２は、Ｂｌｕｅｔｏｏｔｈネットワークの別の構成例を示す。図２の例では、マスターとしてのテレビに対して、単一のスレーブであるビューワ付きリモコンが、簡易画像伝送およびチャネル制御といった複数のアプリケーションに基づいて、複数種類の通信品質を要求する。本発明は、特に図２に示すように、異なる品質の通信サービスを同時に実行しようとする場合に好適である。
【００４３】
図３は、Ｂｌｕｅｔｏｏｔｈネットワークにおける通信レイヤのデータの流れを示す。送信側（たとえば図２のビューワ付きリモコン）において、上位レイヤでそれぞれの通信サービスに応じた論理チャネルを識別し、ベースバンドで変調してＲＦレイヤから自由空間を媒体として情報が伝送される。受信側（たとえば図２のテレビ）では、ＲＦレイヤで搬送波を受信し、ベースバンドで復調して、上位レイヤで情報を識別し、要求された処理を行なう。
【００４４】
図４は、図１および図２に示すＢｌｕｅｔｏｏｔｈ機器のハードウェア構成を示す。Ｂｌｕｅｔｏｏｔｈ機器４０は、アプリケーション処理部４１と、アプリケーション処理部に接続されるＬ２ＣＡＰ処理部４３と、Ｌ２ＣＡＰ処理部に接続されるベースバンド処理部４５と、複数のバッファ４８と、他のＢｌｕｅｔｏｏｔｈ機器との間でデータの入出力を行なうＩ／０部４９とを備える。なお、Ｌ２ＣＡＰ処理部４３とベースバンド処理部４５との間にはＨＣＩインターフェイスが存在する。
【００４５】
アプリケーション処理部４１は、他のＢｌｕｅｔｏｏｔｈ機器との間で送受信される通信パケットに対して、アプリケーションが要求する通信サービスの品質に応じたパラメータを決定する。Ｌ２ＣＡＰ処理部４３は論理リンク制御部として機能し、アプリケーションが要求する通信サービスに応じて論理チャネルを設定する。アプリケーション処理部で行なうサービス品質に応じたパラメータの決定を、Ｌ２ＣＡＰ処理部４３で行なう構成とすることも可能である。この場合は、Ｌ２ＣＡＰ処理部４３でＱｏＳオプションを指定する構成となる。ＨＣＩインターフェイスで、サービスの品質に応じたコネクションハンドルを付与し、ベースバンド処理部４５へと通信パケットを送る。
【００４６】
ベースバンド処理部４５は、送られてきた通信パケットに指定されたサービスの品質を調べ、品質に応じて通信パケットをバッファに振り分ける判定部４７を有する。ベースバンド処理部４５はさらに、必要に応じて、Ｌ２ＣＡＰ処理部４３から送られてくるパケットを処理するパケット処理部４６を有する。パケット処理部は、たとえば、必要に応じて、送られてきた通信パケットに、アプリケーション処理部またはＬ２ＣＡＰで指定されたサービスの品質に応じたサービス識別子を付与する。サービス識別子の付与処理は、たとえば送られてきた通信パケットを通信データを適正なパケット（ベースバンドパケット）のサイズに整えるときに、ベースバンドパケットの所定の領域に所定値を書き込むことによって行なわれる。この場合は、判定部４７は、処理されたパケットの所定の領域を調べて、パケットを通信サービスに応じたバッファに振り分ける。
【００４７】
アプリケーション処理部４１は、図３のプロトコルレイヤ構成における上位レイヤに相当する。Ｌ２ＣＡＰ処理部４３は中間レベルに位置するが、説明の便宜上、本発明においてはＬ２ＣＡＰ処理部４３も、図３の上位レイヤに含めるものとする。本発明では、Ｌ２ＣＡＰ処理部４３とベースバンド処理部４５において、後述するサービスの品質に応じた制御を行なう。
【００４８】
図５は、異なる品質の通信を同時に行なう場合に、要求品質に応じたサービスを提供することが可能な本発明のプロトコル・レイヤ構成の一例を示す。
【００４９】
図５に示すレイヤ構成の特徴として、データの送受信を行なう一組のＢｌｕｅｔｏｏｔｈ機器のＨＣＩ（Ｈｏｓｔ  Ｃｏｎｔｒｏｌｌｅｒ  Ｉｎｔｅｒｆａｃｅ）において、ＡＣＬリンク用にサービスに応じて複数のコネクションハンドルを設定する。コネクションハンドルとは接続サービスを識別するための識別子のようなものである。図５の例では、Ｌ２ＣＡＰ処理部５３で、チャネルＩＤ１とチャネルＩＤ２の２つの論理チャネルが設定され、それぞれに対応するコネクションハンドルＡおよびＢが設けられる。同期通信を必要とするＳＣＯリンク用には、ＳＣＯ専用のコネクションハンドルＭが設けられている。
【００５０】
さらに、各リンクを経由するパケットを収容するバッファ５４も、各コネクションハンドルに対応して設けられ、同じバッファに格納されたデ−タパケットに対しては、同じ通信処理が施される。
【００５１】
Ｌ２ＣＡＰチャネルとコネクションハンドルとの対応のさせ方には２通りある。ひとつは、図６に示すように、Ｌ２ＣＡＰで設定された論理チャネルごとに順次コネクションハンドルを割り当てる方法（方法Ａ）であり、もうひとつは、図７に示すように、同等のサービスの品質を要求する（すなわち同等のＱｏＳパラメータを有する）Ｌ２ＣＡＰチャネルに同じコネクションハンドルを割り当てる方法（方法Ｂ）である。図７の例では、論理チャネルとしては、チャネルＩＤ０〜ＩＤ３まで割り当てられているが、同じサービスの品質（サービスクラスａ）を要求するものには同じコネクションハンドル０が割り当てられている。
【００５２】
通信の品質を分類するサービスクラスの例として、たとえば、
（１）  レスポンスの速さを重視したサービスクラス
（２）  伝送遅延の小ささを重視したサービスクラス
（３）  伝送揺らぎの小ささを重視したサービスクラス
（４）  一定の帯域が保証されたサービスクラス
（５）  パケット種別（ＤＭ１／３／５，ＤＨ１／３／５など）に従って分類されたサービスクラスなどが挙げられる。
【００５３】
各サービスクラスを利用する機器やアプリケーションの例としては、レスポンスの早さを重視したサービスクラスは、ＨＩＤプロファイルを利用するマウスやキーボードなどのＰＣ周辺Ｂｌｕｅｔｏｏｔｈ機器がある。伝送遅延の小ささを重視したサービスクラスは、ＡＣＬを利用したリアルタイムの音声通信を行うＢｌｕｅｔｏｏｔｈ機器が利用するのに適する。伝送揺らぎの小ささを重視したサービスクラスは、組み込み型機器のような、受信側のバッファサイズをできるだけ小さくしたいＢｌｕｅｔｏｏｔｈ機器が利用するのに適する。一定の帯域が保証されたサービスクラスは、ＳＣＯリンク上の音声データやＡＶデータなどの同期通信を行うＢｌｕｅｔｏｏｔｈ機器が利用するのに適する。また、ひとつのＢｌｕｅｔｏｏｔｈ機器であっても、アプリケーションに応じて異なる複数のサービスを同時に要求する場合もあり（本発明は特にこのような場合に適している）、その場合も同様に、サービスに応じた論理チャネルを設定する。
【００５４】
サービスクラスに応じた割り振りを実行する具体的な方法については後述する。方法ＡまたはＢのいずれの方法であっても、論理チャネルで識別された要求サービスごと、あるいは同質のサービスごとにコネクションハンドルが割り当てられるので、ベースバンドで一括してＡＣＬリンク用のサービスの品質がひとつにまとめられるということはない。
【００５５】
次に、コネクションハンドルとバッファとの対応について述べる。図８の例では、Ｌ２ＣＡＰでサービスクラスとは無関係に順次サービス要求に応じてチャネルＩＤが与えられ、各チャネルに応じて１対１対応でコネクションハンドルが割り当てられる（方法Ａ）。このとき、各チャネルに設定されていたサービスの品質を示す情報は、対応するコネクションハンドルにも設定される。その後、バッファへ割り振る段階で、それぞれのチャネルＩＤあるいはコネクションハンドルのサービスクラスを参照して、サービスクラスに応じたバッファにＡＣＬリンクを経由するパケットを一時格納する。たとえば、チャネルＩＤが０と２のチャネルでは、同じサービスクラスａを要求しており、チャネルＩＤ１では、異なるサービスクラスｂを要求している。サービスクラスａを要求するパケット（または通信データ）はバッファ５４ａに格納され、サービスデータｂを要求するパケットはバッファ５４ｂに格納される。
【００５６】
図９は、コネクションハンドルとバッファの別の対応例を示す。図９の例では、ＨＣＩインターフェイスで、各チャネルのサービスクラスに応じたコネクションハンドルが与えられ（方法Ｂ）、各コネクションハンドルに応じて１対１対応でバッファを設定する。たとえば、Ｌ２ＣＡＰの段階で、同じサービスクラスａを要求するチャネル０とチャネル３には同じコネクションハンドルが与えられ、このコネクションハンドルにはサービスクラスａを示す情報が設定されることになる。別のサービスクラスｂまたはｃを要求するチャネルにもそれぞれ個別のコネクションハンドルが与えられ、対応するサービスクラスが設定される。コネクションハンドルに応じて、それぞれ異なるバッファに、ＡＣＬリンクを経由するパケットを一時格納する。
【００５７】
図６〜９に示すサービスクラスに応じたバッファの設定は、図５のプロトコルレイヤ構成に基づいたものであり、ＳＣＯリンクを経由するパケットについては、専用のコネクションＩＤとバッファが与えられている。
【００５８】
バッファの設定には、２つの方法がある。
【００５９】
ひとつは、あらかじめ提供可能なＱｏＳクラスとバッファとを固定的に決めておき、アプリケーション処理部４１（図４）に代表される上位レイヤもしくはベースバンド処理部４５が、要求されているサービスの品質に最適なバッファを割り当てていく方法である。アプリケーション処理部４１がバッファを指定する場合は、通信パケットが要求するサービスの品質を表わすＱｏＳパラメータを決定し、このパラメータに応じたバッファを指定する。ベースバンド処理部４５でバッファを割り当てる場合は、上位レイヤから受け渡されたパケットの対応するコネクションハンドルに設定されたサービス品質にＱｏＳクラスのバッファに、そのパケットを投入する。あるいは、パケット処理部４６で、ＨＣＩを通じて受け渡されたパケットに対応するコネクションハンドルのサービス品質に基づいて、パケットの所定の領域にサービスの品質をあらわす識別子を与え、判定部４６でパケットを調べて、識別子に応じたバッファへパケットを振り分ける。
【００６０】
サービスクラスに応じたバッファを固定的に設定する方法は、組込型の機器に代表される限られた機能のみを提供する機器に適している。
【００６１】
もうひとつの方法は、要求されたサービスの品質に最適なバッファを、要求に応じて追加していく場合である。パーソナルコンピュータのように高性能な汎用機器には、この方法が適している。
【００６２】
上述したようなサービスクラスに応じたバッファへの振り分けを行なうためには、サービスクラスを特定する必要がある。本発明では、基本的には、コネクションハンドルに設定されたサービスクラス（上位で指定されたＱｏＳパラメータに対応するサービスの品質を表わす）に基づいて、バッファへの振り分けを行なう。ただし、上位レイヤから渡された通信パケットを適正なサイズのベースバンドパケットに整える処理が必要な場合は、フラグメントされたベースバンドパケットのペイロードヘッダを利用する。
【００６３】
図１０は、ペイロードヘッダのデータ構造を示す。図１０（ａ）の例では、ＡＣＬリンクを経由するベースバンドパケットのペイロードヘッダで、コードＬ＿ＣＨを記述する領域に００の値を設定する。このＬ＿ＣＨ領域の値が００であるならば、サービス内容、たとえばＬ２ＣＡＰのＱｏＳオプションに記述されたＱｏＳパラメータに応じたバッファへの振り分けを要求していることを意味する。すなわち、Ｌ２ＣＡＰパケットに要求されるサービスが記述されている場合（すなわちＱｏＳプションが指定されている場合）、あるいはコネクションハンドルに対応するサービス品質が設定されている場合、ベースバンド処理部４５のパケット処理部４６は、Ｌ＿ＣＨ領域に００の値を書き込む。
【００６４】
図１０（ｂ）の例では、パケットのペイロードに、さらにサービスクラスを指定するためのサービス定義領域を設ける。サービス定義領域には、あらかじめ定められているサービスクラスを記述する。この記述は、サービスクラスに対応するコードのみを記述してもよいし、コードに加えて、アプリケーション、Ｌ２ＣＡＰ、またはＨＣＩで指定された詳細なＱｏＳパラメータを記述してもよい。また、指定先のバッファを記述したり、具体的な品質指定を記述してもよい。品質の記述は、たとえばレスポンスを１００ｍｓ以内に行なう、あるいは遅延を１μｓ以内とするなどの個別のサービスについて記述する。
【００６５】
ＡＣＬリンクを経由するパケットのペイロードヘッダのＬ＿ＣＨ領域の値およびサービス定義領域の記述を調べて、いずれのバッファに振り分けるかの判断は、ベースバンド処理部４５の判定部４７が行なう。なお、上位レイヤでＱｏＳパラメータの指定がない場合には、パケットを収容すべきバッファをデフォルトで決めておいてもよいし、適当なバッファに振り分けてもよい。この場合、ＱｏＳパラメータの有無は判定部４７で調べる。
【００６６】
図１１は、サービスの品質制御の処理フローを示す。ペイロードヘッダのＬ＿ＣＨ領域の値が００である場合に、この処理フローが開始される（ステップＳ１００１）。ステップＳ１００３で、ＱｏＳパラメータの指定があるか否かを判断する。ＱｏＳパラメータが指定されていない場合は、Ｓ１００５でこのパケットをデフォルト用のバッファに投入する。ＱｏＳパラメータの指定がある場合は、ステップＳ１００７へ進み、ＱｏＳの種別を調べる。たとえば、サービスの種類が一定帯域での通信を求めるものである場合は、ステップＳ１００９へ進む。ステップＳ１００９で、所望される帯域がたとえば３００ｋｂｐｓ以上か否かを判断する。３００ｋｂｐｓ未満の場合（Ｓ１００９でＮＯ）は、ステップＳ１０１１でこのパケットをバッファＤに投入する。３００ｋｂｐｓ以上の帯域を要求されている場合は、ステップＳ１０１３でパケットをバッファＣに投入する。
【００６７】
ステップＳ１００７でサービス種別がたとえばレスポンスを指定するものであれば、ステップＳ１０１５に進み、たとえば１００ｍｓ以下のレスポンス速度が求められているか否かを判断する。レスポンス速度要求が１００ｍｓを超える場合は、ステップＳ１０１７へ進み、パケットをバッファＢに投入する。レスポンス要求が１００ｍｓ以下である場合は、ステップＳ１０１９へ進み、パケットをバッファＡへ投入する。
【００６８】
図１１のステップＳ１００７では、紙面の関係上２種類のサービスの判断だけをおこなったが、３種類以上のサービス種類の判断、たとえば、画像の連続性についてや遅延時間の限定などについての判断も行なえることは言うまでもない。
【００６９】
図１２は、図５に示すプロトコル・レイヤ構成の変形例１を示す。図５の構成では、ＳＣＯリンクで送られるパケット専用のバッファが設けられていたが、図１２では、ＳＣＯリンク専用バッファを省略し、ＡＣＬリンクとＳＣＯリンクを区別せずに一括してサービスクラスの設定を行ない、サービスクラスに応じたバッファへの振り分けを行なう。この場合、ベースバンド処理部４５は、ＳＣＯリンクで送られるパケットも含めて、図１１に示した判断処理を行なう。
【００７０】
図１３は、図５に示すプロトコル・レイヤ構成の変形例２を示す。これまでは、ＡＣＬリンクを利用するプロトコルとしてＬ２ＣＡＰを用いることを前提として述べてきたが、実際には、ＵＤＩ（Ｕｎｒｅｓｔｒｉｃｔｅｄ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）といったＬ２ＣＡＰを利用しないＡＣＬリンクを使用するサービスも存在し得る。それらのサービスに対しても、サービスごとにそのサービスのためのコネクションハンドルが割り当てられるか、あるいはそのサービス内の独自分類（Ｌ２ＣＡＰでのチャネルに相当）ごとにコネクションハンドルを割り当て、パケットをバッファに振り分けることが可能である。その場合も、図１１に示す処理手順を用いればよい。
【００７１】
図１３の例では、その他のＡＣＬリンク用に専用のコネクションハンドルＹとバッファ５４ｙが割り当てられ、ＳＣＯリンク用にも専用のコネクションハンドルＭとバッファ５４ｘが割り当てられている。Ｌ２ＣＡＰを利用するＡＣＬリンク内では、図１１に示す処理手順により、各サービス品質の要求に応じて、バッファに割り振られる。
【００７２】
図１４は、図５に示すプロトコル・レイヤ構成の変形例３を示す。図１４の例では、Ｌ２ＣＡＰ以外のＡＣＬリンクを経由するサービス要求も、ＳＣＯリンクを経由するサービス要求も、一括してサービスクラスに応じたバッファへの振り分けに組み込まれる。この場合も、ベースバンド処理部４５により、コネクションハンドルに設定されたサービスクラスに基づき、指定されたＱｏＳパラメータに見合うバッファへのパケットの振り分け、あるいは、ＱｏＳパラメータに基づくサービス識別子を付与した上でのサービス識別子に応じたバッファへの振り分け処理が行なわれる。
【００７３】
図１３および１４に示す構成以外にも、たとえば、ＡＣＬリンクを経由するパケットはＬ２ＣＡＰを用いる用いないに関わらず一括して判断し、ＳＣＯだけに専用バッファを設ける構成、あるいは、Ｌ２ＣＡＰを用いるＡＣＬリンクとＳＣＯリンクとを一括してサービス判断処理を行ない、Ｌ２ＣＡＰ以外のＡＣＬリンクに専用のバッファを設ける構成としても、本発明は同様に機能する。
【００７４】
【発明の効果】
以上述べたように、本発明によれば、Ｂｌｕｅｔｏｏｔｈネットワーク内の一組のＢｌｕｅｔｏｏｔｈ機器間で送受信される通信パケットが要求するサービスの質に応じて、通信データがバッファに割り振られ、サービスの質に応じた最適な処理がなされる。
【図面の簡単な説明】
【図１】Ｂｌｕｅｔｏｏｔｈネットワークにおいて、異なる通信品質を要求する複数のスレーブがひとつのマスターに接続した例を示す図である。
【図２】Ｂｌｕｅｔｏｏｔｈネットワークにおいて、異なる通信品質を要求する複数のアプリケーションが動作している例を示す図である。
【図３】Ｂｌｕｅｔｏｏｔｈネットワークにおける送信側から受信側への通信の流れをプロトコルスタック上に示す図である。
【図４】本発明の方法が適用されるＢｌｕｅｔｏｏｔｈ機器のシステム構成例を示す図である。
【図５】ＡＣＬリンク上の異なるサービスクラス毎にバッファを設置したプロトコル・レイヤの構成図である。
【図６】Ｌ２ＣＡＰチャネルとコネクションハンドルとの対応例を示す図である。
【図７】Ｌ２ＣＡＰチャネルとコネクションハンドルとの別の対応例を示す図である。
【図８】コネクションハンドルとバッファとの対応例を示す図である。
【図９】コネクションハンドルとバッファとの別の対応例を示す図である。
【図１０】サービスの品質に応じたバッファの振り分けを行なうために通信データのペイロードヘッダの構成例を示す図である。
【図１１】サービスに応じた通信品質制御処理を示すフローチャートである。
【図１２】ＳＣＯリンクも含めて、異なるサービスクラスごとにバッファを設置したプロトコル・レイヤの構成図である。
【図１３】Ｌ２ＣＡＰを利用しない他のＡＣＬリンクをも含めて、異なるサービスごとにバッファを設置したプロトコル・レイヤの構成例を示す図である。
【図１４】Ｌ２ＣＡＰを利用しない他のＡＣＬリンクをも含めて、異なるサービスごとにバッファを設置したプロトコル・レイヤの別の構成例を示す図である。
【図１５】現存のＢｌｕｅｔｏｏｔｈネットワークにおけるプロトコル・レイヤの構成図である。
【符号の説明】
１    パーソナルコンピュータ
２  ヘッドセット
３  マウス
４  ビューワ
４０  Ｂｌｕｅｔｏｏｔｈ機器
４１  アプリケーション処理部
４３  Ｌ２ＣＡＰ処理部（論理リンク制御部）
４５  ベースバンド処理部
４６  パケット処理部
４７  判定部
４８  バッファ
４９  Ｉ／Ｏ部
５１  ＲＦレイヤ
５２  ベースバンドレイヤ
５３  Ｌ２ＣＡＰレイヤ
５４  バッファ
【図１】
0003566218.tif 000002
【図２】
0003566218.tif 000003
【図３】
0003566218.tif 000004
【図４】
0003566218.tif 000005
【図５】
0003566218.tif 000006
【図６】
0003566218.tif 000007
【図７】
0003566218.tif 000008
【図８】
0003566218.tif 000009
【図９】
0003566218.tif 000010
【図１０】
0003566218.tif 000011
【図１１】
0003566218.tif 000012
【図１２】
0003566218.tif 000013
【図１３】
0003566218.tif 000014
【図１４】
0003566218.tif 000015
【図１５】
0003566218.tif 000016