(57)【特許請求の範囲】
【請求項１】
無線通信をサポートする機器であって、
Bluetooth機器と通信するBluetooth送受信器と、
クライアント機器と通信するネットワークインタフェースと、
複数のBluetoothサービス特性を記憶するデータベースと、
１以上のプロセッサと、
前記１以上のプロセッサにより実行可能な命令を記憶するメモリと、を備え、
前記１以上のプロセッサは、
前記Bluetooth送受信器を介して前記Bluetooth機器に接続した後、前記Bluetooth機器に関連づけられた１以上のサービス特性を取得し、
前記Bluetooth機器に関連づけられた前記１以上のサービス特性のそれぞれが前記データベースに含まれるか判断し、
前記ネットワークインタフェースを介して前記クライアント機器から前記Bluetooth機器での動作の実行の要求を受信し、
前記Bluetooth機器に関連づけられた前記１以上のサービス特性が前記データベースに含まれているという判断に応答して、前記Bluetooth機器が分析可能であると判断し、前記要求および前記Bluetooth機器に関連づけられた前記１以上のサービス特性に基づいて前記Bluetooth機器とアプリケーション層通信を実行し、
前記Bluetooth機器に関連づけられた前記１以上のサービス特性が前記データベースに含まれていないという判断に応答して、前記Bluetooth機器が分析不能であると判断し、インターネットを介して前記データベースを更新し、前記要求および前記Bluetooth機器に関連づけられた前記１以上のサービス特性が前記更新された前記データベースに含まれていないという判断に応答して、前記Bluetooth機器とのアプリケーション層通信が実行可能でないという判断に基づいて、前記Bluetooth機器のＲＦ通信範囲を拡大する中継器として前記Bluetooth機器とリンク層動作を実行する、
よう構成される、機器。
【請求項２】
前記１以上のプロセッサは、
複数のBluetooth機器に関連づけられた１以上のサービス特性を取得し、
前記複数のBluetooth機器にそれぞれに関連づけられた前記１以上のサービス特性のそれぞれが前記データベースに含まれるか判断し、
前記ネットワークインタフェースを介して前記クライアント機器から前記複数のBluetooth機器のうちの１つでの動作の実行の要求を受信し、
前記複数のBluetooth機器のうちの１つに関連づけられた前記１以上のサービス特性が前記データベースに含まれるという判断に応答して、前記複数のBluetooth機器のうちの１つを動作させるため、前記複数のBluetooth機器のうちの１つに関連づけられた前記１以上のサービス特性に基づいて前記複数のBluetooth機器のうちの１つと通信する、
よう構成される、請求項１に記載の機器。
【請求項３】
前記機器は、前記Bluetooth機器と通信するときにマスタ機器として動作する、請求項１に記載の機器。
【請求項４】
前記１以上のプロセッサは、前記Bluetooth機器に関連づけられた前記１以上のサービス特性のうちの１つが前記データベースに含まれないと、前記クライアント機器に通知するようさらに構成される、請求項１に記載の機器。
【請求項５】
前記Bluetooth機器はＢＬＥ（Bluetooth Low Energy）機器である、請求項１に記載の機器。
【請求項６】
無線通信をサポートする方法であって、
Bluetooth機器との通信を確立することにより前記Bluetooth機器に関連づけられた１以上のサービス特性を取得するステップと、
Bluetoothハブにて、前記Bluetooth機器に関連づけられた前記１以上のサービス特性のそれぞれが前記Bluetoothハブ内に記憶されるデータベースに含まれるか判断するステップと、
前記Bluetoothハブにて、前記Bluetooth機器で動作を実行する要求をクライアント機器から受信するステップと、
前記Bluetooth機器に関連づけられた前記１以上のサービス特性が前記データベースに含まれているという判断に応答して、前記Bluetooth機器が分析可能であると判断し、前記要求および前記Bluetooth機器に関連づけられた前記１以上のサービス特性に基づいて前記Bluetooth機器とアプリケーション層通信を実行するステップと、
前記Bluetooth機器に関連づけられた前記１以上のサービス特性が前記データベースに含まれていないという判断に応答して、前記Bluetooth機器が分析不能であると判断し、インターネットを介して前記データベースを更新し、前記要求および前記Bluetooth機器に関連づけられた前記１以上のサービス特性が前記更新された前記データベースに含まれていないという判断に応答して、前記Bluetooth機器とのアプリケーション層通信が実行可能でないという判断に基づいて、前記Bluetooth機器のＲＦ通信範囲を拡大する中継器として前記Bluetooth機器とリンク層動作を実行するステップと、
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
本出願は以下の出願に基づき優先権を主張する：
米国仮特許出願第６２／１１０，２５０号、２０１５年１月３０日出願、「METHODS, DEVICES AND SYSTEMS FOR INCREASING WIRELESS COMMUNICATION RANGE（無線通信範囲を拡大する方法、機器およびシステム）」、
米国仮特許出願第６２／１１０，２６２号、２０１５年１月３０日出願、「BLUETOOTH TRANSPARENT RELAY（BLUETOOTH透明中継器）」、
米国特許出願第１４／６３９，７１１号、「METHODS, DEVICES AND SYSTEMS FOR INCREASING WIRELESS COMMUNICATION RANGE（無線通信範囲を拡大する方法、機器およびシステム）」、２０１５年３月５日出願、
米国特許出願第１４／７８９，６１４号、「METHODS, DEVICES AND SYSTEMS FOR SUPPORTING WIRELESS COMMUNICATION （無線通信をサポートする方法、機器およびシステム）」、２０１５年７月１日出願。
上記に引用した出願の全内容は、参照により本出願に援用される。
【０００２】
本出願は、一般には無線通信分野に関し、より詳細にはBluetooth（登録商標）ネットワークにおける無線通信を促進する方法、機器およびシステムに関する。
【背景技術】
【０００３】
Bluetoothスピーカ、スマート鍵、および様々なスマートBluetoothセンサおよびウェアラブルデバイスなどのBluetooth機器は、多くの用途で広く用いられるようになってきている。同一エリア内に様々な目的で複数のBluetooth機器が存在することがたびたびある。それぞれのBluetooth機器のアプリケーションインタフェースは異なり得るので、スマートフォンまたはパーソナルコンピュータといったBluetooth対応クライアント機器のユーザは、異なるBluetooth機器を制御するために様々なアプリケーションインタフェースにアクセスしなければならない場合がある。クライアント機器が制御するBluetooth機器の数が増加すると、Bluetooth機器を制御するプロセスは面倒なものとなり得る。そこで、複数のBluetooth機器を制御するためのよりユーザフレンドリーな解決が望まれる。
【０００４】
さらに、Bluetooth技術は低電力および低コスト運用に向けて開発されているので、Bluetooth機器の通信範囲は通常はごく短い。例えば、スマートフォンおよびＢＬＥ（Bluetooth Low Energy）センサといったBluetooth機器の通常の通信範囲は、オープンスペースであれば数十メートル、宅内であれば２、３メートルに制限され、Bluetooth送信信号は通常は壁を通過できない。通信範囲が短いため、より長い通信範囲が求められる状況でのBluetooth機器の使用は制限される。
【０００５】
無線通信範囲を拡大する伝統的な考え方は、通常は無線周波数を送信する両側における送信出力またはアンテナ利得の増加に関わる。しかし、Bluetooth機器、特にＢＬＥセンサおよびウェアラブルデバイスにおいては、デバイスの送信電力またはアンテナ利得の増加は非現実的で、低電力低コストなBluetooth機器という設計目的を台無しにしてしまう。このように、送信出力またはBluetooth機器の製造コストを増加させることなくBluetooth機器の通信範囲を拡大することが望まれる。
【発明の概要】
【０００６】
本発明は、無線通信をサポートする機器を提供する。いくつかの実施形態に即して、機器は、Bluetooth機器と通信するBluetooth送受信器と、クライアント機器と通信するネットワークインタフェースと、複数のBluetoothサービス特性(service characteristics)を記憶するデータベースと、１以上のプロセッサと、１以上のプロセッサにより実行可能な命令を記憶するメモリと、を備える。１以上のプロセッサは、Bluetooth送受信器を介してBluetooth機器に接続した後、Bluetooth機器に関連づけられた１以上のサービス特性を取得するよう構成されてよい。１以上のプロセッサは、Bluetooth機器に関連づけられた１以上のサービス特性のそれぞれがデータベースに含まれるか判断し、ネットワークインタフェースを介してクライアント機器からBluetooth機器上で動作を実行する要求を受信し、Bluetooth機器に関連づけられた１以上のサービス特性のそれぞれがデータベースに含まれていると、要求およびBluetooth機器に関連づけられた１以上のサービス特性に基づいてBluetooth機器と通信するよう、さらに構成されてよい。
【０００７】
いくつかの実施形態に即して、本発明は無線通信をサポートする別の機器を提供する。機器は、Bluetooth機器に接続する第１Bluetooth送受信器と、クライアント機器に接続する第２Bluetooth送受信器と、１以上のプロセッサと、１以上のプロセッサにより実行可能な命令を記憶するメモリとを備える。１以上のプロセッサは、第１Bluetooth送受信器を介して利用可能な１以上のBluetooth機器をスキャンし、第１Bluetooth送受信器を介してBluetooth機器との第１通信接続を確立し、第２Bluetooth送受信器を介してクライアント機器との第２通信接続を確立し、第２通信接続を介してクライアント機器からデータを受信し、第１通信接続を介してBluetooth機器にデータを転送するよう構成される。
【０００８】
いくつかの実施形態に即して、本発明は無線通信をサポートする別の機器を提供する。機器は、Bluetooth送受信器と、１以上のプロセッサと、１以上のプロセッサにより実行可能な命令を記憶するメモリとを備える。１以上のプロセッサは、Bluetooth送受信器を介して利用可能な１以上のBluetooth機器をスキャンし、Bluetooth送受信器を介してBluetooth機器との第１通信接続を確立し、Bluetooth送受信器を介してクライアント機器との第２通信接続を確立し、第２通信接続を介してクライアント機器からデータを受信し、第１通信接続を介してBluetooth機器にデータを転送するよう構成される。
【０００９】
いくつかの実施形態に即して、本発明は無線通信をサポートする方法を提供する。方法は、Bluetooth機器との接続を確立することによりBluetooth機器に関連づけられた１以上のサービス特性を取得するステップと、Bluetoothハブにて、Bluetooth機器に関連づけられた１以上のサービス特性のそれぞれがBluetoothハブ内に記憶されるデータベースに含まれるか判断するステップとを含む。方法は、Bluetoothハブにて、Bluetooth機器で動作を実行する要求をクライアント機器から受信するステップをさらに含んでよい。方法は、Bluetooth機器に関連づけられた１以上のサービス特性のそれぞれがデータベースに含まれていると、要求およびBluetooth機器に関連づけられた１以上のサービス特性に基づいてBluetooth機器と通信するステップをさらに含んでよい。
【００１０】
いくつかの実施形態に即して、本発明は無線通信をサポートする別の方法を提供する。方法は、１以上の利用可能なBluetooth機器をスキャンするステップと、BluetoothハブとBluetooth機器との間の第１通信接続を確立するステップと、Bluetoothハブとクライアント機器との間の第２通信接続を確立するステップと、Bluetoothハブにて、第２通信接続を介してクライアント機器からデータを受信するステップと、BluetoothハブからBluetooth機器に第１通信接続を介してデータを転送することと、を含む。
【００１１】
本発明の追加の目的および効果が以下の詳細な説明で一部は記載され、一部は記載から明確であり、または実施により理解され得る。本発明の目的および効果は、特許請求の範囲に明示的に記載された要素および組み合わせにより実現され達成され得る。
【００１２】
前述の一般的な説明および以下の詳細な説明は例示的かつ説明的なものであって、特許請求の範囲に記載された発明を制限するものでないことを理解されたい。
【図面の簡単な説明】
【００１３】
添付の図面は、本出願の一部を構成するものであり、いくつかの実施形態を説明し、明細書とともに本発明の原理の説明に供される。
【図１】本発明に即した方法およびシステムを実施するための例示的システム環境を示す図である。
【図２】本発明の実施形態に従った、Bluetoothハブの例示的使用状況を示す図である。
【図３】本発明の実施形態に従った、Bluetooth機器間の無線通信をサポートする例示的方法のフローチャートを示す図である。
【図４】本発明の実施形態に従った、Bluetoothハブの例示的アーキテクチャを示す図である。
【図５】本発明の実施形態に従った、Bluetoothハブの例示的使用状況を示す図である。
【図６】本発明の実施形態に従った、データ転送工程の例示的な略図である。
【図７】本発明の実施形態に従った、Bluetoothハブの別の例示的アーキテクチャを示す図である。
【図８】本発明の実施形態に従った、Bluetoothハブの別の例示的使用状況を示す図である。
【図９】本発明の実施形態に従った、Bluetoothハブの別の例示的アーキテクチャを示す図である。
【図１０】本発明の実施形態に従った、Bluetoothハブの別の例示的使用状況を示す図である。
【図１１】本発明の実施形態に従った、Bluetoothハブの別の例示的アーキテクチャを示す図である。
【図１２】本発明の実施形態に従った、Bluetoothハブの別の例示的使用状況を示す図である。
【図１３】本発明の実施形態に従った、Bluetoothハブのアドバタイジング工程の例示的な略図である。
【図１４】本発明の実施形態に従った、Bluetooth機器間の無線通信をサポートする例示的方法のフローチャートである。
【発明を実施するための形態】
【００１４】
添付の図面を参照して例示的実施形態を説明する。図において、参照符号の左端の数字はその符号が最初に表れる図を示す。同一または同様の部分を引用するために、同一の参照符号が図面を通して適宜用いられる。本発明の原理の例および特徴が本明細書に記載されるところ、記載された実施形態の精神と範囲から逸脱することなく、修正、適用およびその他の実施が可能である。また、「備える(comprising)」「有する(having)」「含む(containing)」および「含む(including)」といった単語、およびその他同様の語形は、意味において均等であることを意図し、これらの号に続く事項がそのような事項の網羅的なリストであること、または、列挙された事項のみに限定されることを意味するものではないという非限定的なものである。また、本明細書および特許請求の範囲で用いられるように、単数形の表現("a"、"an"および"the"）は、文脈から明らかな場合を除き、複数の引用も含むことに留意されたい。以下の詳細な説明は例示のみとして考慮されるべきものであって、真の範囲および精神は特許請求の範囲に示される。
【００１５】
図示された構成要素およびステップは例示的実施形態の説明のために提示され、現在進行する技術開発によって特定の機能の実行のされ方が変わり得ることは予測されるべきである。これらの例は、限定ではなく説明の目的でここに記載されている。さらに、機能ブロックの境界は、記載の便宜上任意に規定されたものである。そこで特定される機能および関係が適切に実行される限り、代替の境界を規定してよい。本明細書に含まれる教示に基づき、当業者にとって代替物（本明細書に記載の均等物、拡張、変更、逸脱等を含む）は明白であろう。このような代替物は、本発明の実施形態の範囲および精神に含まれるものである。
【００１６】
図１は、本発明に即した方法およびシステムを実施するための例示的システム環境１００を示す図である。図１に示すシステム環境１００は、Bluetooth対応クライアント機器１１０と、ハブ１２０と、複数のBluetooth機器１２５−１４０と、ネットワーク１５０とを含む。図１に示すように、Bluetooth機器はＢＬＥ鍵１２５、ＢＬＥファン１３０、ＢＬＥエアコン１３５、およびＢＬＥ照明１３０を含み、ハブ１２０により分析可能である。Bluetooth機器は、図１に示す分析不能Bluetooth機器１４０のような分析不能Bluetooth機器を含んでもよい。分析可能Bluetooth機器は、ハブ１２０内にローカルに記憶されるデータベース内で発見され得るサービス特性により構成され、ハブ１２０は記憶されたサービス特性に基づいてBluetooth機器と通信できるようになる。分析不能Bluetooth機器は、ハブ１２０内にローカルに記憶されるデータベース内で発見されないサービス特性により構成され、ハブ１２０は分析不能Bluetooth機器とアプリケーション層通信を実行できない場合がある。一方ハブ１２０は、アプリケーション層通信が実行可能でなくても、リンク層操作の実行により、分析不能Bluetooth機器の無線周波数（ＲＦ:radio frequency）通信範囲を拡大することができてよい。
【００１７】
本発明で、クライアント機器は、スマートフォン、パーソナルコンピュータ、または同種のもののような、Bluetoothリンクにより遠隔リソースにアクセスするよう構成されたBluetooth機器のことを指す。Bluetooth機器１２５−１４０は、遠隔クライアントにリソースを提供し、または遠隔クライアントにより制御されるよう構成されたサーバ機器のことを指してよい。システム環境は、図１に示したものよりも多い、または少ないBluetooth機器を含んでよい。
【００１８】
図１に示すように、ハブ１２０は、Bluetooth機器１２５−１４０とクライアント機器１１０との両方に接続可能である。Bluetooth機器１２５−１４０は、Bluetooth通信リンクを通してハブ１２０に接続してよい。例えば、Bluetooth機器１２５−１４０は、Bluetooth通信プロトコルを用いてハブ１２０と通信してよい。クライアント機器１１０は、ハブ１２０を介してBluetooth機器１２５−１４０と通信してよい。クライアント機器１１０は、Bluetooth通信リンクを通してハブ１２０と通信してよい。クライアント機器１１０は、他の無線通信プロトコル、例えばZigbee（登録商標）、WiFi（登録商標）等を用いてハブ１２０と通信してもよい。
【００１９】
例えば、クライアント機器１１０がハブ１２０を介して分析可能Bluetooth機器（例えばＢＬＥ鍵１２５）を操作しようとするとき、ハブ１２０はアプリケーションインタフェース上でクライアント機器１１０から制御コマンドを受信し、ハブ１２０が事前に取得したＢＬＥ鍵１２５のサービス特性に基づいてＢＬＥ鍵１２５に対応するBluetoothパケットを送信してよい。図１にクライアント機器が１つ記載されているが、ハブ１２０を介してBluetooth機器と通信する複数のクライアント機器がシステム環境１００に含まれてよい。
【００２０】
ハブ１２０は、Bluetooth機器（例えば分析不能Bluetooth機器１４０）のＲＦ範囲を拡張するよう動作してもよい。例えば、図１を参照して、ハブ１２０はクライアント機器１１０の無線信号を受信し、受信した信号を処理し、分析不能Bluetooth機器１４０に対応する無線信号を送信してよく、こうして分析不能Bluetooth機器１４０のＲＦ範囲を拡張し、通常のBluetooth機器の通信範囲を超えて位置するクライアント機器１１０と通信可能にしてもよい。いくつかの実施形態で、ハブ１２０は、通信範囲を拡張するため、Bluetooth機器から受信した信号を増幅し、および／または、受信した信号に含まれるノイズを抑制してよい。ハブ１２０はルータとも呼ぶことができ、本明細書ではハブとルータという用語は相互交換可能との意図で用いられる。
【００２１】
Bluetooth機器は、マスタ機器またはスレーブ機器の２つのモードのうち１つで動作する。マスタ機器はネットワーク時計を提供し、周波数ホッピング配列を決定し、スレーブ機器はマスタ機器の時計に同期してマスタのホッピング周波数に追随する。例えば、クライアント機器１１０はマスタ機器として動作してよく、クライアント機器１１０は、携帯電話、タブレット、コンピュータ、ノートパソコン、スマートウォッチ、テレビ、または画面およびオペレーティングシステムのある他のBluetooth機器であってよい。Bluetooth機器１２５−１４０はスレーブ機器として動作してよい。Bluetoothスレーブ機器は、スピーカ、ヘッドセット、マイク、プリンタ、スマートウォッチ、カメラ、テレビ、モニタ、リストバンド、歩数計、活動量計、スリープトラッカー、体重計などのウェアラブルデバイス、または、洗濯機、掃除機、冷蔵庫、オーブン、電子レンジ等を含む家電製品のような、Bluetoothセンサを取り付けて関連する電気パラメータを検出し送信する機器であってよい。
【００２２】
いくつかの実施形態で、クライアント機器１１０は、ハブ１２０とネットワーク１５０を通して通信してよい。例えば、図１に示すように、クライアント機器１１０はハブ１２０とネットワーク１５０を介して遠隔で通信してよい。ネットワーク１５０は、ハブ１２０とクライアント機器１１０との間で、通信を提供し、情報を交換し、および／または情報の交換を促進する、どのようなタイプのネットワークであってもよい。ある実施形態で、ネットワーク１５０は、インターネット、ローカルエリアネットワーク、携帯通信ネットワーク、無線ローカルエリアネットワーク、またはクライアント機器がハブ１２０へ／から情報を送信および受信することができる他の適切な接続であってよい。いくつかの実施形態で、ネットワーク１５０は、クライアント機器１１０とハブ１２０の両方からアクセス可能なクラウドベース遠隔ネットワークシステムを含んでよい。例えば、クライアント機器１１０は、スマートフォンのアプリを用いてクラウドサーバを通しハブ１２０を制御してよい。さらに、ハブ１２０は、クラウドサーバに接続するよう構成され、使用履歴、相互作用、および／またはクライアント機器および無線ハブの活動に基づき適応して自ら再構成可能であってよい。例えば、ハブ１２０は、クラウドサーバを通してサービス特性を記憶するデータベースを更新し、新たに利用可能となったサービス特性を含め、または既存のサービス特性を更新するようにしてよい。
【００２３】
本明細書で、無線ハブ、無線機器および通信方法はBluetoothプロトコルに関連して説明されている。しかし、本明細書に記載の実施形態は、他の無線通信プロトコルが用いられる状況にも、本発明の精神と範囲から離れることなく適用可能であることを理解されたい。
【００２４】
図２は、本発明の実施形態に従った、Bluetoothハブの例示的使用状況２００を示す図である。図２に示すように、例示使用状況２００は、Bluetoothハブ２１０、スマートフォン２３０、および、ＢＬＥテレビ２４０、ＢＬＥ電源プラグ２５０、ＢＬＥ血圧モニタ２６０、ＢＬＥ ＬＥＤ照明２７０、およびＢＬＥアラームセンサ２８０などの複数のBluetooth機器を含む。Bluetoothハブ２１０を通してスマートフォン２３０とBluetooth機器との間の通信が確立される。具体的には、スマートフォン２３０はBluetooth機器２４０−２８０のリソースにアクセスし、および／または動作を制御するBluetooth対応クライアント機器として動作する。Bluetooth機器２４０−２８０は、遠隔クライアント機器にデータアクセスを提供し、または制御されるBluetoothサーバ機器とも呼ばれ得る。本実施形態で、Bluetoothハブ２１０は、Bluetooth機器２４０−２８０を操作するアプリケーションインタフェースをスマートフォン２３０に提供し、スマートフォン２３０から受信する情報に基づいてBluetooth機器２４０−２８０を制御するマスタ機器として動作する。
【００２５】
図２に示すように、Bluetoothハブ２１０は、Bluetoothチップ２１２、データバス２１４、メインＣＰＵ２１６、サービスデータベース２１８、Bluetoothスタック２２０、およびアプリケーション層２２２を備える。Bluetooth信号の送受信のためのBluetooth送受信回路がBluetoothチップ２１２に統合されてよい。データバス２１４は、Bluetoothチップ２１２と、ＣＰＵ２１６またはサービスデータベース２１８のような、Bluetoothハブ２１０の他の構成要素との間のデータを転送し得る。ＣＰＵ２１６は１以上のプロセッサを含み、Bluetoothハブ２１０の動作に関連づけられた命令を実行するよう構成されてよい。加えて、ＣＰＵ２１６は、メモリに記憶された所定の命令およびコマンドを実行し、例えばBluetoothチップ２１２を介する無線通信を提供してよい。Bluetoothスタック２２０は、Bluetoothプロコトコルで提供されるより高次の機能を実装してよい。アプリケーション層２２２はエンドユーザアプリケーションと相互作用し、管理するために用いられてよい。
【００２６】
サービスデータベース２１８は、Bluetoothサービスに関連づけられた複数のサービス特性を記憶する。サービスデータベース２１８は、Bluetoothハブ２１０に含まれるメモリに記憶されてよい。心拍数サービスなどのBluetoothサービスは、心拍数測定値および身体センサ位置のような１以上の特性を含み得る。それぞれの特性は、属性(attributes)と、その値がどのようにアクセスされ、表示され、または表現されるかについての構成情報とともに、サービスに用いられる値を含む。例えば、サービスデータベース２１８は、Bluetooth ＳＩＧ(Special Interest Group）により規定された標準特性の一部または全部を含んでよい。サービスデータベース２１８は、同一のまたは異なるメーカが製造したBluetooth機器のいくつかの異なる種類に関連づけられたサービス特性を含んでよい。いくつかの実装で、サービスデータベース２１８は、新たに開発され追加されたサービスおよび特性を含めるため、および／または既存のサービスの構成および特性を更新するため、インターネットを介して更新されてよい。
【００２７】
Bluetoothハブ２１０は、スマートフォン２３０と通信するためのネットワークインタフェースのような他の補助要素も備えてよい。Bluetoothハブ２１０は、ランダムアクセスメモリ（ＲＡＭ:random access memory）、読み出し専用メモリ（ＲＯＭ:read only memory）、二次記憶装置（例えば、ハードディスクドライブまたはフラッシュメモリ）なども備えてよい。Bluetoothハブ２１０には様々な他の要素も含まれ得ることは、当業者に容易に理解されるだろう。
【００２８】
Bluetoothハブ２１０は、アプリケーション層のレベルでスマートフォン２３０と通信し、リンク層レベルでBluetooth機器２４０−２８０と通信してよい。例えば、Bluetoothハブ２１０は、WiFi、Bluetooth、または他の通信プロトコルを用いてスマートフォン２３０と通信してよい。Bluetooth機器２４０−２８０と通信するとき、Bluetoothハブ２１０は、スレーブ機器となるBluetooth機器２４０−２８０の１つへ発信接続要求を開始するマスタ機器として動作し、アドバタイジング後に着信接続要求を受け付けてよい。
【００２９】
Bluetoothハブ２１０は、動作制御コマンドを送る前に、それぞれのBluetooth機器が分析可能機器であるかを判断してよい。例えば、Bluetooth機器は、Bluetooth機器を検出して接続を確立するためのアドバタイジングパケットをマスタ機器に送信してよい。Bluetooth機器のアドバタイジングパケットを検出後、Bluetoothハブ２１０はBluetooth機器と接続を確立し、Bluetooth機器に関連づけられたサービス特性を取得してよい。Bluetooth機器に関連づけられたサービス特性のそれぞれがサービスデータベース２１８に含まれていると、Bluetoothハブ２１０はBluetooth機器を分析可能と判断し、スマートフォン２３０のようなクライアント機器からの入力に基づきBluetooth機器上で動作を実行してよい。例えば、Bluetoothハブ２１０は、Bluetooth機器に記憶されたデータにアクセスし、または対応するサービス特性で規定される属性に従ってBluetooth機器の動作を制御してよい。Bluetooth機器に関連づけられたサービス特性の１以上がサービスデータベース２１８に含まれないと、Bluetoothハブ２１０はBluetooth機器が分析不能と判断し、スマートフォン２３０から受信するBluetooth機器を操作するためのすべての要求を拒否してよい。例えば、分析不能Bluetooth機器を操作する要求をスマートフォン２３０から受信すると、Bluetoothハブ２１０は、Bluetooth機器が分析不能であって要求された動作を実行できない旨をスマートフォン２３０に通知してよい。
【００３０】
いくつかの実装で、Bluetoothハブ２１０は、分析可能Bluetooth機器のリストを維持し、リストに含まれるBluetooth機器での操作の要求をクライアント機器から受信すると、Bluetoothハブ２１０はBluetooth機器で要求された操作を実行するためBluetooth機器との接続を確立してよい。その際、Bluetoothハブ２１０は分析可能Bluetooth機器の数を管理し、クライアント機器のユーザが統一アプリケーションインタフェースで複数のBluetooth機器を制御できるようにしてよい。Bluetoothハブ２１０は、エリア内で新たなBluetooth機器が検出されたとき、サービスデータベース２１８が更新されたとき、またはクライアント機器からの更新要求を受けて、分析可能Bluetooth機器のリストを更新してよい。
【００３１】
Bluetoothハブが検出したBluetooth機器が分析不能、すなわち、Bluetooth機器の１以上のサービス特性がサービスデータベース２１８で発見されないと、Bluetoothハブ２１０はクライアント機器から受信した要求に基づき分析不能Bluetooth機器を操作することはできない。一方、Bluetoothハブ２１０は、分析不能Bluetooth機器のＲＦ通信範囲を拡大する透明中継器として動作してよい。Bluetoothハブ２１０の透明中継器としての動作は、図４−１４に関連して後述する。さらに、分析不能Bluetooth機器は、サービスデータベース２１８の拡張により分析可能となってよい。
【００３２】
図３は、本発明の実施形態に従った、Bluetooth機器間の無線通信をサポートする例示的方法３００のフローチャートを示す図である。方法３００は、図２に関連して上述したBluetoothハブ２１０により実行されてよい。
【００３３】
ステップ３０２で、Bluetoothハブは、Bluetooth送受信器を介してBluetooth機器に接続する。Bluetooth送受信器は、Bluetoothチップ２１２などのBluetoothチップに統合されてよい。例えば、Bluetoothハブは、Bluetooth機器から送信されたアドバタイジングパケットを受信することでBluetooth機器の存在を検出し、Bluetooth送受信器を介してBluetooth機器との通信を開始してよい。
【００３４】
ステップ３０４で、Bluetoothハブは、Bluetooth機器に関連づけられた１以上のサービス特性を取得する。例えば、Bluetoothハブは、Bluetooth機器の利用可能なサービス特性を取得するためBluetooth機器に読み出しコマンドを送ってよい。いくつかの実装で、Bluetooth機器が送るアドバタイジングパケットにサービス特性が含まれ、この状況では、Bluetoothハブはサービス特性を取得するためにBluetooth機器との通信を確立する必要はない。
【００３５】
ステップ３０６で、Bluetoothハブは、Bluetooth機器のそれぞれのサービス特性が、Bluetoothハブにローカルに記憶されるサービスデータベースに含まれているか判断する。Bluetoothハブは、Bluetooth機器のそれぞれのサービス特性がサービスデータベースに含まれていればBluetooth機器を分析可能と判断し、そうでなければBluetooth機器を分析不能と判断する。例えば、Bluetoothハブは、Bluetooth機器のそれぞれのサービス特性は、記憶されたサービス特性と比較してよい。いくつかの実装で、Bluetooth機器の１以上のサービス特性がサービスデータベースに見つからないと、Bluetoothハブはインターネット内で検索を実行し、見つからなかったサービス特性がインターネット内に存在すると、Bluetoothハブはそのサービス特性をダウンロードしてサービスデータベースに記憶してよい。
【００３６】
ステップ３０８で、Bluetoothハブはネットワークインタフェースを介して、Bluetooth機器上で動作を実行する要求をクライアント機器から受信する。例えば、Bluetoothハブは、スマートフォンからＢＬＥ ＬＥＤ照明の点灯のためのアプリケーションインタフェースの要求を受信してよい。Bluetoothハブとクライアント機器との間の通信は、WiFiネットワーク、Bluetoothネットワーク、または他の通信ネットワークにより行われてよい。Bluetooth機器上で行われる動作は、Bluetooth機器に記憶されたデータへのアクセス、Bluetooth機器へのデータの送信、その他クライアント機器とBluetooth機器との間の制御またはデータ転送を含んでよい。
【００３７】
ステップ３１０で、Bluetooth機器のサービス特性のそれぞれがサービスデータベースに含まれていると、Bluetoothハブは、クライアント機器から受信した要求とBluetooth機器のサービス特性とに基づいて、Bluetooth機器と通信する。例えば、Bluetoothハブは、Bluetooth機器との接続を確立し、クライアント機器の要求する動作を実行するようBluetooth機器に要求を送信してよい。Bluetooth機器に送信される要求は、Bluetooth機器の特定のサービス特性の特定の属性に対する読み出しまたは書き込み動作であってよい。
【００３８】
Bluetoothハブは、Bluetooth機器から受信したデータをクライアント機器へ転送してもよい。例えば、書き込み動作がBluetooth機器に送信された後、Bluetooth機器は書き込み動作完了後にBluetoothハブに通知（notification）を送信してよい。Bluetooth機器からの通知をリンク層レベルで受信した後、Bluetoothハブは、要求が問題なく完了したことを示す指示（indication）をクライアント機器のアプリケーションインタフェースに送信してよい。別の例として、Bluetooth機器がローカルに記憶するデータにアクセスする読み出し動作がBluetooth機器に送信された後、Bluetooth機器は、Bluetoothハブに要求されたデータを送信してよい。そしてBluetoothハブは、クライアント機器がアプリケーションインタフェースで読み出し可能なフォーマットで受信データを送信してよい。
【００３９】
上述の方法３００は、複数のBluetooth機器に対し、逐次的なやり方で適用してよい。例えば、クライアント機器が２つの別のBluetooth機器上で２つの個別の動作の実行を要求し、このBluetooth機器がいずれも分析可能機器であると、Bluetoothハブはまず第１Bluetooth機器と通信を確立し、第１Bluetooth機器に第１動作を実行するよう要求を送信してよい。第１動作が完了した後、Bluetoothハブは第２Bluetooth機器と通信を確立し、第２Bluetooth機器に第２動作を実行するよう要求を送信してよい。いくつかの実施形態で、複数のBluetooth機器が存在し検出されたとき、Bluetoothハブは、それぞれのBluetooth機器について、ステップ３０２−３０６を実行することにより、分析可能であるかを判断してよい。Bluetooth機器の１つにおける動作要求がクライアント機器から受信されたとき、Bluetoothハブが特定のBluetooth機器が分析可能か、そしてその結果、要求された動作が可能であるかを素早く判断できるよう、Bluetoothハブは、Bluetooth機器が分析可能であるか分析不能であるかの判断結果をローカルに記憶してよい。
【００４０】
いくつかの実施形態で、Bluetoothハブは、Bluetooth機器とBluetooth対応クライアント機器との間の無線通信範囲を、Bluetooth機器の変更を要することなく拡張する透明中継器として動作してよい。Bluetooth機器はBluetoothハブが分析可能であっても分析不能であってもよく、Bluetooth機器はBluetoothハブの存在を認識しなくてよい。
【００４１】
図４は、本発明の実施形態に従った、Bluetoothハブ４００の例示的アーキテクチャを示す図である。図４に示すように、Bluetoothハブ４００は、２つのBluetoothチップ４１０および４２０、データバス４３０、メインＣＰＵ４４０、Bluetoothスタック４５０、およびアプリケーション層４６０を備えてよい。ＣＰＵ４４０は、Bluetoothハブ４００の動作に関連する命令を実行するよう構成されてよい。加えて、ＣＰＵ４４０は、Bluetoothチップ４１０および４２０を介した無線通信を提供する所定の命令およびコマンドを実行してよい。Bluetoothスタック４５０は、Bluetoothプロトコルで規定されるより高次層の機能を実装してよい。アプリケーション層は、エンドユーザアプリケーションと相互作用し管理するために用いられてよい。Bluetoothハブ４００は、ランダムアクセスメモリ（ＲＡＭ:random accsess memory）、読み出し専用メモリ（ＲＯＭ:read only memory）、二次記憶装置（例えば、ハードディスクまたはフラッシュメモリ）といった補助要素も備えてよい。当業者は、Bluetoothハブ４００に他の様々な要素も含まれ得ることを容易に理解するだろう。
【００４２】
Bluetoothチップ４１０および４２０はそれぞれ、Bluetooth送受信器を備え、他のBluetooth機器と通信するよう構成されてよい。例えば、Bluetoothチップ４１０はBluetooth機器との接続でマスタ機器として動作し、Bluetoothチップ４２０は、スマートフォンのような、Bluetooth対応クライアント機器との接続でスレーブ機器として動作してよい。
【００４３】
図５は、本発明の実施形態に従った、Bluetoothハブの例示的使用状況５００を示す図である。この状況例で、ＢＬＥ機器５１０といったBluetooth機器と、スマートフォン５２０といったクライアント機器との間で、Bluetoothハブ４００を通して、通信が確立される。
【００４４】
いくつかの実施形態で、Bluetoothハブ４００は、例えば第１Bluetoothチップ４１０を用いてまずＢＬＥ機器５１０との通信を確立し、ＢＬＥ機器５１０のサービス特性を取得してよい。例えば、Bluetoothハブ４００は、Bluetoothチップ４１０を介して利用可能なBluetooth機器をスキャンし、ＢＬＥ機器５１０が送信したアドバタイジングパケットを検出し、アドバタイジングパケット内のデータを記憶してよい。ＢＬＥ機器５１０との通信が確立された後、Bluetoothハブ４００は、ＢＬＥ機器５１０のサービス特性を取得し、取得したサービス特性をローカルに記憶してよい。取得したサービス特性の例を表１に示す。
【表１】
0006751094.tif 000002
【００４５】
表１で、第１列はサービス特性の属性ハンドルを示し、第２列は属性種別（attribute types）、例えばそれぞれのサービス特性に関連づけられたＵＵＩＤ（Universally Unique IDentifiers）を含み、第３列はそれぞれのサービス特性の属性値を含む。第２列の属性種別は、Bluetooth ＳＩＧが規定するＵＵＩＤを含んでよく、Bluetooth機器の製造者が規定する独自識別子を含んでもよい。第３列の属性値は、サービス宣言、特性宣言、特性値宣言、特性記述子宣言、および／または属性の内容についてのその他の情報を含んでよい。それぞれのサービス特性は１以上の属性を含んでよく、主属性は特性の値自体へのアクセスを許可する。
【００４６】
ＢＬＥ機器５１０との通信が確立された後、第２Bluetoothチップ４２０は、ＢＬＥ機器５１０のものと同じサービス特性を用いてＧＡＴＴ（Generic Attribute Profile）サーバを生成してよい。第２Bluetoothチップ４２０はアドバタイジングを開始し、ＢＬＥ機器５１０が送信するアドバタイジングパケットのものと同じデータをアドバタイジングパケットに含めてよい。こうすることでBluetoothハブ４００により仮想ＢＬＥ機器５１０が形成され、スマートフォン５２０のようなBluetooth対応クライアント機器がこれに接続することができる。
【００４７】
いくつかの実施形態で、第２Bluetoothチップ４２０はＢＬＥ機器５１０のＭＡＣ（medium accsess control）アドレスを取得し、同一のＭＡＣアドレスをスマートフォン５２０のようなBluetooth対応クライアント機器と接続するのに使用してよい。例えば、あるＢＬＥ機器がＭＡＣアドレスに基づくアクセス制限を行ってよく、第２Bluetoothチップ４２０がＢＬＥ機器のＭＡＣアドレスを使用することで、同レベルのアクセス許可を得ることができる。いくつかの状況で、同じＭＡＣアドレスで構成された２つのBluetooth機器が存在し、通信工程で互いに干渉を生じてもよい。こうして、近隣ＭＡＣアドレスが第２Bluetoothチップ４２０に使用されてよい。例えば、ＢＬＥ機器５１０のＭＡＣアドレスがAA:BB:CC:EE:FFであると、第２Bluetoothチップ４２０はＭＡＣアドレスをAA:BB:CC:EE:FEに設定してよく、こうしてBluetoothネットワークにおけるＭＡＣアドレス重複が回避される。
【００４８】
第２Bluetoothチップ４２０が仮想ＢＬＥ機器を形成した後、スマートフォン５２０はBluetoothハブ４００の第２Bluetoothチップ４２０とペアリングを開始してよい。第２Bluetoothチップ４２０がスマートフォン５２０からペアリング要求を受信した後、第１Bluetoothチップ４１０はＢＬＥ機器５１０とペアリングを開始してよい。いくつかの実施形態で、２つのBluetoothリンクのセキュリティ設定は同レベルに設定されてよい。例えば、ＧＡＴＴサーバで規定されるそれぞれの属性項目は、アクセス許可（access permission）、認証許可（authentication permission）、および承認許可（authorization permission）といった所定の動作制限に関連してよい。特に、アクセス許可は、読み出し可、書き込み可、または読み出しおよび書き込み可に設定されてよい。認証許可は、要認証または認証不要に設定されてよい。承認許可は、要承認または承認不要に設定されてよい。それぞれの属性項目のアクセス許可、認証許可、および承認許可は、第１および第２Bluetoothリンクの間で同じに設定されてよい。ここで第１BluetoothリングはＢＬＥ機器５１０と第１Bluetoothチップ４１０との間であり、第２Bluetoothリンクは第２Bluetoothチップ４２０とスマートフォン５２０との間である。
【００４９】
図６は、本発明の実施形態に従った、データ転送工程６００の例示的な略図である。図６に示すように、第１Bluetooth接続は第１Bluetoothチップ４１０とＢＬＥ機器５１０との間で確立され、データ要求および／または応答が、第１Bluetooth接続上で送信されてよい。第２Bluetooth接続は第２Bluetoothチップ４２０とスマートフォン５２０との間で確立され、データ要求および／または応答が、第２Bluetooth接続上で送信されてよい。
【００５０】
第２Bluetoothチップ４２０がスマートフォン５２０からのデータ要求を受信すると、第２Bluetoothチップ４２０は、例えば内部データバスを通してまたはメインＣＰＵに制御されて、第１Bluetoothチップ４１０と相互作用し、第１Bluetoothチップ４１０はＢＬＥ機器５１０にデータ要求を転送してよい。同様に、第１Bluetoothチップ４１０がＢＬＥ機器５１０からの応答を受信すると、第１Bluetoothチップ４１０は、例えば内部データバスを通してまたはメインＣＰＵに制御されて、第２Bluetoothチップ４２０と相互作用し、第２Bluetoothチップ４２０はスマートフォン５２０に応答を転送してよい。第１および第２Bluetoothチップ４１０および４２０を介してＢＬＥ機器５１０およびスマートフォン５２０にデータ要求および応答を転送することにより、ＢＬＥ機器５１０の無線通信範囲は有効に拡大する。こうして、ＢＬＥ機器５１０の無線通信範囲がそれ自体ではスマートフォン５２０に届かないときであっても、Bluetoothハブを通してＢＬＥ機器５１０とスマートフォン５２０との間の通信を行うことができる。
【００５１】
いくつかの状況で、Bluetooth機器とスマートフォンなどのBluetooth対応クライアント機器との間のデータ要求または応答を転送するBluetoothハブの援助が必要な複数のBluetooth機器があってよい。Bluetooth機器がマスタ機器およびスレーブ機器として同時に動作するBluetoothハブをBluetoothチップがサポートしない（例えばBluetooth4.0標準）と、複数のBluetooth機器の中継を実行するには、少なくとも１つのBluetoothチップがマスタ機器として動作し少なくとも１つの別のBluetoothチップがスレーブ機器として動作するように、複数のBluetoothチップがBluetoothハブに必要になる。一方、Bluetooth機器がマスタ機器およびスレーブ機器として同時に動作するBluetoothハブをBluetoothチップがサポートする（例えばBluetooth4.1または4.2標準）と、Bluetoothハブは複数のBluetooth機器の中継を実行する１つのBluetoothチップを含んでよい。
【００５２】
図７は、本発明の実施形態に従った、Bluetoothハブ７００の別の例示的アーキテクチャを示す図である。図７に示すように、Bluetoothハブ７００は、３つのBluetoothチップ７１０、７２０、および７３０、データバス７４０、メインＣＰＵ７５０、Bluetoothスタック７６０、およびアプリケーション層７７０を備えてよい。データバス７４０、メインＣＰＵ７５０、Bluetoothスタック７６０、およびアプリケーション層７７０は、図２および図４に関連して説明したものと同様であり、ここで繰り返さない。
【００５３】
Bluetoothチップ７１０、７２０および７３０はそれぞれ、Bluetooth送受信器を備え、他のBluetooth機器と通信するよう構成されてよい。例えば、第１Bluetoothチップ７１０はBluetooth機器との接続でマスタ機器として動作し、第２および第３Bluetoothチップ７２０および７３０は、Bluetooth対応クライアント機器との接続でスレーブ機器として動作してよい。
【００５４】
図８は、本発明の実施形態に従った、Bluetoothハブの別の例示的使用状況８００を示す図である。この状況例で、スマートフォン８１０といったクライアント機器と、ＢＬＥテレビ８２０、ＢＬＥ電源プラグ８３０、ＢＬＥ血圧モニタ８４０、ＢＬＥ ＬＥＤ照明８５０、およびＢＬＥアラームセンサ８６０といった複数のBluetooth機器との間で、Bluetoothハブ７００を通して、通信が確立される。
【００５５】
第１Bluetoothチップ７１０は、様々なBluetooth機器を制御するマスタ機器として動作してよい。第２および第３Bluetoothチップ７２０および７３０はスレーブとして動作し、スマートフォン８１０と通信してよい。スマートフォン８１０と通信するのに２つのBluetoothチップ７２０および７３０を有しているので、Bluetoothハブ７００は、ＢＬＥテレビ８２０とＢＬＥ電源プラグ８３０といった２つのBluetooth機器の通信範囲を、同時に拡張することが可能となる。
【００５６】
いくつかの実施形態で、第２Bluetoothチップ７２０は、それぞれのBluetooth機器に代わってラウンドロビン方式でアドバタイジングパケットをブロードキャストしてよい。図８に示すように、第２Bluetoothチップ７２０は、ＢＬＥアラームセンサ８６０のアドバタイジングデータを含むアドバタイジングパケットを所定期間ブロードキャストし、次にＢＬＥ ＬＥＤ照明８５０のアドバタイジングデータを含むアドバタイジングパケットを別の期間ブロードキャストし、そしてＢＬＥ血圧モニタ８４０のアドバタイジングデータを含むアドバタイジングパケットを別の期間ブロードキャストし、等のようにしてよい。それぞれのBluetooth機器のアドバタイジング期間は同じになるようにしてもよく、異なるようにしてもよい。Bluetooth機器のアドバタイジングデータを取得する工程は、図５に関連して上述した１つのBluetooth機器のアドバタイジングデータを取得する工程と同様である。Bluetoothハブ７００は、それぞれのBluetooth機器について同じ工程を順次実行し、複数のBluetooth機器のアドバタイジングデータを取得してよい。
【００５７】
いくつかの実施形態で、スレーブ機器として動作する複数のBluetoothチップ、例えば第２および第３Bluetoothチップ７２０および７３０があると、それぞれのスレーブチップはBluetooth機器の一部のアドバタイジングを行ってよい。例えば、第２Bluetoothチップ７２０がＢＬＥアラームセンサ８６０、ＢＬＥ ＬＥＤ照明８５０、およびＢＬＥ血圧モニタ８４０のアドバタイジングパケットをラウンドロビン方式でブロードキャストし、第３Bluetoothチップ７３０がＢＬＥ電源プラグ８３０およびＢＬＥテレビ８２０のアドバタイジングパケットをブロードキャストしてよい。
【００５８】
アドバタイジング後、Bluetoothハブ７００は、スマートフォン８１０から１以上のBluetooth機器を操作するデータを受信してよい。データは、第２Bluetoothチップ７２０または第３Bluetoothチップ７３０を介して受信されてよい。これを受けて、Bluetoothハブ７００は、第１Bluetoothチップ７１０を介して対応するBluetooth機器にデータを転送してよい。Bluetoothハブ７００が２つのスレーブチップ、例えば第２Bluetoothチップ７２０および第３Bluetoothチップ７３０を含んでいるので、Bluetoothハブ７００は、第２および第３Bluetoothチップ７２０および７３０がそれぞれ２つのBluetooth機器の１つに代わりスレーブ機器として動作することで、２つのBluetooth機器への中継を同時に行うことができる。
【００５９】
図９は、本発明の実施形態に従った、Bluetoothハブ９００の別の例示的アーキテクチャを示す図である。図９に示すように、Bluetoothハブ９００は１つのBluetoothチップ９１０、データバス９２０、メインＣＰＵ９３０、Bluetoothスタック９４０、およびアプリケーション層９５０を備えてよい。データバス９２０、メインＣＰＵ９３０、Bluetoothスタック９４０、およびアプリケーション層９５０は、図２および図４に関連して説明したものと同様であり、ここで繰り返さない。
【００６０】
Bluetoothチップ９１０はBluetooth送受信器を備え、他のBluetooth機器と通信するよう構成されてよい。さらに、Bluetoothチップ９１０は、同時にマスタ機器とスレーブ機器として動作するよう構成されてよい。例えば、Bluetooth 4.1または4.2標準をサポートするBluetoothチップ９１０は、複数のBluetooth機器を制御するマスタ機器として動作し、同時にBluetooth対応クライアント機器との接続でスレーブ機器として動作することができる。
【００６１】
図１０は、本発明の実施形態に従った、Bluetoothハブの別の例示的使用状況１０００を示す図である。この状況例で、第１スマートフォン１０１０および第２スマートフォン１０２０といったクライアント機器と、ＢＬＥテレビ１０３０、ＢＬＥ電源プラグ１０４０、ＢＬＥ血圧モニタ１０５０、ＢＬＥ ＬＥＤ照明１０６０、およびＢＬＥアラームセンサ１０７０といった複数のBluetooth機器との間で、Bluetoothハブ９００を通して、通信が確立される。
【００６２】
Bluetoothチップ９１０は、様々なBluetooth機器を制御するマスタ機器として動作してよい。同時に、Bluetoothチップ９１０はスレーブとして動作し、第１スマートフォン１０１０および第２スマートフォン１０２０と通信してよい。マスタ機器およびスレーブ機器の両方として動作することで、Bluetoothチップ９１０はBluetooth機器の通信範囲を拡大することができる。
【００６３】
いくつかの実施形態で、Bluetoothチップ９１０は、それぞれのBluetooth機器に代わってラウンドロビン方式でアドバタイジングパケットをブロードキャストしてよい。図１０に示すように、Bluetoothチップ９１０は、ＢＬＥアラームセンサ１０７０のアドバタイジングデータを含むアドバタイジングパケットを所定期間ブロードキャストし、次にＢＬＥ ＬＥＤ照明１０６０のアドバタイジングデータを含むアドバタイジングパケットを別の期間ブロードキャストし、そしてＢＬＥ血圧モニタ１０５０のアドバタイジングデータを含むアドバタイジングパケットを別の期間ブロードキャストし、等のようにしてよい。それぞれのBluetooth機器のアドバタイジング期間は同じになるようにしてもよく、異なるようにしてもよい。Bluetooth機器のアドバタイジングデータを取得する工程は、図５に関連して上述した１つのBluetooth機器のアドバタイジングデータを取得する工程と同様である。Bluetoothハブ９００は、それぞれのBluetooth機器について同じ工程を順次実行し、複数のBluetooth機器のアドバタイジングデータを取得してよい。
【００６４】
アドバタイジング後、Bluetoothハブ９００は、第１スマートフォン１０１０または第２スマートフォン１０２０から１以上のBluetooth機器を操作するデータを受信してよい。データは、Bluetoothチップ９１０を介して受信されてよい。これを受けて、Bluetoothハブ９００は、Bluetoothチップ９１０を介して対応するBluetooth機器にデータを転送してよい。いくつかの実装で、スレーブ機器として動作しているときに、Bluetoothチップ９１０は、第１スマートフォン１０１０および第２スマートフォン１０２０といった複数のBluetooth対応クライアント機器に同時に接続されてよい。こうして、第１スマートフォン１０１０および第２スマートフォン１０２０の両方が、Bluetoothハブ ９００を通してBluetooth機器の動作を制御することができる。
【００６５】
図１１は、本発明の実施形態に従った、Bluetoothハブ１１００の別の例示的アーキテクチャを示す図である。図１１に示すように、Bluetoothハブ１１００は２つのBluetoothチップ１１１０および１１２０、データバス１１３０、メインＣＰＵ１１４０、Bluetoothスタック１１５０、およびアプリケーション層１１６０を備えてよい。データバス１１３０、メインＣＰＵ１１４０、Bluetoothスタック１１５０、およびアプリケーション層１１６０は、図２および図４に関連して説明したものと同様であり、ここで繰り返さない。
【００６６】
Bluetoothチップ１１１０および１１２０はそれぞれBluetooth送受信器を備え、他のBluetooth機器と通信するよう構成されてよい。Bluetoothチップ１１１０および１１２０は、様々なBluetooth機器を制御するマスタ機器として動作し、同時に、スレーブ機器として動作して１以上のBluetooth対応クライアント機器と通信してよい。例えば、第１Bluetoothチップ１１１０は、Bluetooth機器との接続でマスタ機器として動作し、同時にBluetooth対応クライアント機器と接続するスレーブ機器として動作し、第２Bluetoothチップ１１２０は、別のBluetooth機器との接続でマスタ機器として動作し、同時に別のBluetooth対応クライアント機器と接続するスレーブ機器として動作してよい。
【００６７】
図１２は、本発明の実施形態に従った、Bluetoothハブの別の例示的使用状況１２００を示す図である。この状況例で、第１スマートフォン１２１０および第２スマートフォン１２２０といったクライアント機器と、ＢＬＥテレビ１２３０、ＢＬＥ電源プラグ１２４０、ＢＬＥ血圧モニタ１２５０、ＢＬＥ ＬＥＤ照明１２６０、およびＢＬＥアラームセンサ１２７０といった複数のBluetooth機器との間で、Bluetoothハブ１１００を通して、通信が確立される。
【００６８】
第１Bluetoothチップ１１１０および第２Bluetoothチップ１１２０は、多数のBluetooth機器を制御するマスタ機器として動作してよい。同時に、第１Bluetoothチップ１１１０は、第１スマートフォン１０１０と通信するスレーブ機器として動作してよく、第２Bluetoothチップ１１２０は、第２スマートフォン１０２０と通信するスレーブ機器として動作してよい。
【００６９】
いくつかの実施形態で、第１Bluetoothチップ１１１０および第２Bluetoothチップ１１２０は、Bluetooth機器に代わってアドバタイジングパケットをそれぞれブロードキャストしてよい。図１２に示すように、第１Bluetoothチップ１１１０は、ＢＬＥアラームセンサ１２７０のアドバタイジングデータを含むアドバタイジングパケットを所定期間ブロードキャストし、次にＢＬＥ ＬＥＤ照明１２６０のアドバタイジングデータを含むアドバタイジングパケットを別の期間ブロードキャストし、そしてＢＬＥ血圧モニタ１２５０のアドバタイジングデータを含むアドバタイジングパケットを別の期間ブロードキャストし、等のようにしてよい。第２Bluetoothチップ１１２０は、ＢＬＥ電源プラグ１２４０のアドバタイジングデータを含むアドバタイジングパケットを所定期間ブロードキャストし、次にＢＬＥテレビ１２３０のアドバタイジングデータを含むアドバタイジングパケットを別の期間ブロードキャストし、戻ってＢＬＥ電源プラグ１２４０のアドバタイジングデータを含むアドバタイジングパケットを別の期間ブロードキャストし、等のようにしてよい。それぞれのBluetooth機器のアドバタイジング期間は同じになるようにしてもよく、異なるようにしてもよい。Bluetooth機器のアドバタイジングデータを取得する工程は、図５に関連して上述した１つのBluetooth機器のアドバタイジングデータを取得する工程と同様である。Bluetoothハブ１１００は、それぞれのBluetooth機器について同じ工程を順次実行し、複数のBluetooth機器のアドバタイジングデータを取得してよい。
【００７０】
アドバタイジング後、Bluetoothハブ１１００は、第１スマートフォン１２１０または第２スマートフォン１２２０から１以上のBluetooth機器を操作するデータを受信してよい。データは、第１Bluetoothチップ１１１０または第２Bluetoothチップ１１２０を介して受信されてよい。これを受けて、Bluetoothハブ１１００は、第１Bluetoothチップ１１１０または第２Bluetoothチップ１１２０を介して対応するBluetooth機器にデータを転送してよい。いくつかの実装で、スレーブ機器として動作しているときに、第１Bluetoothチップ１１１０および第２Bluetoothチップ１１２０は、複数のBluetooth対応クライアント機器に同時に接続されてよい。例えば、第１Bluetoothチップ１１１０および第２Bluetoothチップ１１２０は、第１スマートフォン１２１０または第２スマートフォン１２２０に加えて、追加スマートフォンに接続されてよい。
【００７１】
図１３は、本発明の実施形態に従った、Bluetoothハブのアドバタイジング工程１３００の例示的な略図である。図１３に示すように、Bluetoothハブは、異なる時刻に異なるBluetooth機器のアドバタイジングを行ってよい。例えば、Bluetoothハブは、ＢＬＥアラームセンサのアドバタイジングデータを含むアドバタイジングパケットを所定期間ブロードキャストし、次にＢＬＥ ＬＥＤ照明のアドバタイジングデータを含むアドバタイジングパケットを別の期間ブロードキャストし、そしてＢＬＥ血圧モニタのアドバタイジングデータを含むアドバタイジングパケットを別の期間ブロードキャストし、等のようにしてよい。アドバタイジング対象をあるBluetooth機器から別のBluetooth機器に変更するとき、Bluetoothハブは、次にアドバタイジングするBluetooth機器がＭＡＣアドレス既存機器であるか、つまり、そのBluetooth機器の発見が機器のＭＡＣアドレスに関係しているかを判断してよい。例えば、Bluetooth機器は、ＭＡＣアドレスに基づいてアクセス許可を設定してよく、クライアント機器は、ＭＡＣアドレスが所定の範囲内にあると、そのBluetooth機器への接続が許可されてよい。こうして、Bluetoothハブはアドバタイジングパケットの送信を実行するBluetoothチップのＭＡＣアドレスを、次にアドバタイジングするBluetooth機器のＭＡＣアドレスに適合するように、そのBluetooth機器のアドバタイジングを開始する前に変更してよい。例えば、ＢＬＥ ＬＥＤ照明がＭＡＣアドレス既存機器であると、ＢＬＥアラーム機器のアドバタイジング期間の終わりに、ＢＬＥ ＬＥＤ照明のＭＡＣアドレスに適合するように、Bluetoothハブはアドバタイジングパケットの送信を実行するBluetoothチップのＭＡＣアドレスを変更してよい。いくつかの実装で、BluetoothチップのＭＡＣアドレスの変更にはチップのリセットが必要であってよい。
【００７２】
BluetoothハブがBluetooth機器のアドバタイジングをしているときに接続要求を受信すると、BluetoothハブはBluetooth機器と同様に接続状態に遷移してよい。例えば、BluetoothハブがＢＬＥ ＬＥＤ照明のアドバタイジング中にスマートフォンから接続要求を受信すると、Bluetoothハブは、そのＧＡＴＴサーバデータベースを、ＢＬＥ ＬＥＤ照明のデータベースに合うよう変更してよい。その後、Bluetoothハブが受信したスマートフォンからのデータは、ＢＬＥ ＬＥＤ照明へと転送されてよい。いくつかの実装で、例えば、Bluetooth4.0標準がBluetoothハブに使用されているとき、Bluetoothハブは、スマートフォンと接続状態にあるときにアドバタイジング工程を停止してよく、接続が切断されたときに他のBluetooth機器のアドバタイジングを再開してよい。
【００７３】
図１４は、本発明の実施形態に従った、Bluetooth機器間の無線通信をサポートする例示的方法１４００のフローチャートである。方法１４００は、本明細書で上述したBluetoothハブにより実行されてよい。
【００７４】
ステップ１４０２で、Bluetoothハブは、１以上の利用可能なBluetooth機器をスキャンする。例えば、Bluetoothハブは、Bluetooth機器が送信したアドバタイジングパケットを、Bluetooth送受信器を介して検出してよい。いくつかの実装で、Bluetoothハブは、検出したアドバタイジングパケットをローカルメモリに保存してよい。
【００７５】
ステップ１４０４で、Bluetoothハブは、Bluetooth機器と第１通信接続を確立する。いくつかの実装で、Bluetoothハブは、Bluetooth機器のサービス特性を取得しローカルメモリに記憶してよい。Bluetoothハブは、Bluetooth機器のＭＡＣアドレスも取得しローカルメモリに記憶してよい。
【００７６】
ステップ１４０６で、Bluetoothハブは、Bluetooth対応クライアント機器と第２通信接続を確立する。例えば、Bluetoothハブは、Bluetooth機器に代わってアドバタイジングし、アドバタイジング中に、第２通信接続の確立のための接続要求をクライアント機器から受信してよい。
【００７７】
ステップ１４０８で、Bluetoothハブは、クライアント機器が送信するデータを第２通信接続を介して受信する。例えば、受信したデータは、Bluetooth機器に記憶されたデータへのアクセスや、Bluetooth機器での所定の動作の実行や、Bluetooth機器の所定の設定の変更などへの要求であってよい。
【００７８】
ステップ１４１０で、Bluetoothハブは、受信したデータを第１通信接続を介してBluetooth機器に転送する。Bluetooth機器は転送されたデータを受信した後Bluetoothハブに応答を送信してよく、Bluetoothハブはその応答をクライアント機器に転送してよい。
【００７９】
本明細書は、Bluetooth通信リンクを管理しBluetooth機器の通信範囲を拡大する方法、機器、およびシステムを説明してきた。説明したステップ例示的実施形態を説明するため提示されたものであり、進行中の技術開発によって特定の機能の実行形態が変更されることを想定すべきである。このように、これらの例は説明目的でここに提示されるのであって、限定目的ではない。例えば、本明細書に記載されたステップまたは工程は、記載された順序の実行に限定されず、記載の実施形態に即して、どのような順序で実行してもよく、いくつかのステップが省略されてもよい。さらに、機能ブロックの境界は説明の便宜上任意に定めたものである。特定される機能および関係が適切に実行される限り、代替の境界を定めてよい。代替物（本明細書中に記載のものの均等物、拡張、変形、逸脱など）は、当業者にとって本明細書に含まれる教示から明らかであろう。このような代替物は、開示された実施形態の範囲および精神に含まれる。
【００８０】
開示および例は例示のみに考慮されることを意図したものであり、本発明の真の範囲および精神は、特許請求の範囲に示される。
【図１】
0006751094.tif 000003
【図２】
0006751094.tif 000004
【図３】
0006751094.tif 000005
【図４】
0006751094.tif 000006
【図５】
0006751094.tif 000007
【図６】
0006751094.tif 000008
【図７】
0006751094.tif 000009
【図８】
0006751094.tif 000010
【図９】
0006751094.tif 000011
【図１０】
0006751094.tif 000012
【図１１】
0006751094.tif 000013
【図１２】
0006751094.tif 000014
【図１３】
0006751094.tif 000015
【図１４】
0006751094.tif 000016