IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オナー デバイス カンパニー リミテッドの特許一覧

特許7389264無線通信方法及び無線通信機能を有する装置
<>
  • 特許-無線通信方法及び無線通信機能を有する装置 図1a
  • 特許-無線通信方法及び無線通信機能を有する装置 図1b
  • 特許-無線通信方法及び無線通信機能を有する装置 図2
  • 特許-無線通信方法及び無線通信機能を有する装置 図3
  • 特許-無線通信方法及び無線通信機能を有する装置 図4
  • 特許-無線通信方法及び無線通信機能を有する装置 図5a
  • 特許-無線通信方法及び無線通信機能を有する装置 図5b
  • 特許-無線通信方法及び無線通信機能を有する装置 図5c
  • 特許-無線通信方法及び無線通信機能を有する装置 図6a
  • 特許-無線通信方法及び無線通信機能を有する装置 図6b
  • 特許-無線通信方法及び無線通信機能を有する装置 図6c
  • 特許-無線通信方法及び無線通信機能を有する装置 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-20
(45)【発行日】2023-11-29
(54)【発明の名称】無線通信方法及び無線通信機能を有する装置
(51)【国際特許分類】
   H04W 52/02 20090101AFI20231121BHJP
   H04W 4/38 20180101ALI20231121BHJP
   H04W 84/10 20090101ALI20231121BHJP
【FI】
H04W52/02
H04W4/38
H04W84/10 110
【請求項の数】 22
(21)【出願番号】P 2022543022
(86)(22)【出願日】2020-12-31
(65)【公表番号】
(43)【公表日】2023-03-13
(86)【国際出願番号】 CN2020142195
(87)【国際公開番号】W WO2021143541
(87)【国際公開日】2021-07-22
【審査請求日】2022-08-17
(31)【優先権主張番号】202010036703.5
(32)【優先日】2020-01-14
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】521218881
【氏名又は名称】オナー デバイス カンパニー リミテッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ローァ,チャオ
(72)【発明者】
【氏名】ジアーン,ジョーンイン
(72)【発明者】
【氏名】リーン,ボー
(72)【発明者】
【氏名】リー,リー
(72)【発明者】
【氏名】ワーン,ダーヌオン
(72)【発明者】
【氏名】ジアーン,ハン
(72)【発明者】
【氏名】ラン,シエンホゥイ
【審査官】新井 寛
(56)【参考文献】
【文献】特表2015-536088(JP,A)
【文献】米国特許出願公開第2019/0014539(US,A1)
【文献】特表2011-520326(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 7/24 - 7/26
H04W 4/00 - 99/00
3GPP TSG RAN WG1-4
SA WG1-4
CT WG1、4
(57)【特許請求の範囲】
【請求項1】
装置のコプロセッサに適用される無線通信方法であって、当該方法は、
前記コプロセッサに無線通信サービスを行うよう指示するために前記装置のプロセッサからの命令を受信することと、
前記プロセッサからの前記命令に対応して、前記無線通信サービスを開始し、前記無線通信サービスの無線通信を行うために前記装置の無線通信モジュールを駆動するための駆動命令を生成することと、
前記駆動命令を前記無線通信モジュールに送信することと、
前記無線通信の間に得られた前記無線通信サービスのデータを前記無線通信モジュールから受信することと、
前記無線通信サービスに基づいてデータフィルタを生成し、該データフィルタを前記無線通信モジュールに送信して該データフィルタを前記無線通信モジュールに登録することであって、該データフィルタは、前記プロセッサ及び前記コプロセッサのうちの少なくとも一方に前記データを送信するよう前記無線通信モジュールに指示するように少なくとも部分的に構成され、前記データは前記データフィルタに準拠した結果を含む、ことと、
を含む、方法。
【請求項2】
前記プロセッサからの命令は、前記プロセッサがスリープしようとしているか又はプロセッサ負荷が高いという情報をさらに含む、請求項1に記載の方法。
【請求項3】
前記方法は、
前記データを前記コプロセッサに記憶すること、又は
前記無線通信サービスに基づいて前記データをパースし、パースした前記データを前記コプロセッサに記憶すること、
をさらに含む、請求項に記載の方法。
【請求項4】
前記方法は、
前記プロセッサからの要求に対応して、前記コプロセッサに記憶された前記データを読み出し、前記プロセッサに送信すること、
をさらに含む、請求項に記載の方法。
【請求項5】
前記コプロセッサは、前記装置の1つ以上のセンサからのセンサデータを処理するよう少なくとも部分的に構成されたセンサハブを含む、請求項1乃至のいずれか一項に記載の方法。
【請求項6】
前記無線通信サービスは、無線ブロードキャスト、無線走査及び無線データ同期のうちの少なくとも1つを含み、前記無線通信は、Bluetooth通信及びBluetooth低エネルギー通信のうちの少なくとも一方を含む、請求項1乃至のいずれか一項に記載の方法。
【請求項7】
前記命令が前記無線通信サービスは無線ブロードキャストであることを示す場合、前記方法は、
無線ブロードキャストサービスを開始することと、
前記装置以外の少なくとも1つの第2の装置に送信するための第1のブロードキャストメッセージを生成することと、
前記第1のブロードキャストメッセージが前記装置の第1の同期データを含む場合、該第1の同期データのサイズが閾値よりも小さいかどうかを判定することと、
前記第1の同期データのサイズが前記閾値よりも小さいとの判定に応答して、無線ブロードキャストを介して前記第1の同期データを送信するよう前記無線通信モジュールを駆動するための駆動命令を生成することと、
前記第1の同期データのサイズが前記閾値以上であるとの判定に応答して、無線リンクを用いることにより前記第1の同期データを送信するよう前記無線通信モジュールを駆動するための駆動命令を生成することと、
をさらに含む、請求項1乃至6のいずれか一項に記載の方法。
【請求項8】
無線通信装置であって、当該装置は、
プロセッサと、
コプロセッサと、
無線通信モジュールであって、該無線通信モジュールは通信的に前記プロセッサ及び前記コプロセッサに連結されている、無線通信モジュールと、
を含み、
前記プロセッサは、前記コプロセッサに命令を送信するように構成され、該命令は、無線通信サービスを行うよう前記コプロセッサに指示するために用いられ、
前記コプロセッサは、前記プロセッサからの前記命令に基づいて、前記無線通信サービスを開始し、前記無線通信サービスの無線通信を行うために前記無線通信モジュールを駆動するための駆動命令を生成し、前記無線通信の間に得られた前記無線通信サービスのデータを前記無線通信モジュールから受信するように構成され、
前記プロセッサ及び/又前記コプロセッサは、前記無線通信サービスに基づいてデータフィルタを生成し、該データフィルタを前記無線通信モジュールに送信して該データフィルタを前記無線通信モジュールに登録するようにさらに構成され、該データフィルタは、前記プロセッサ及び前記コプロセッサのうちの少なくとも一方に前記データを送信するよう前記無線通信モジュールに指示するように少なくとも部分的に構成され、前記データは前記データフィルタに準拠した結果を含み、
前記無線通信モジュールは、前記コプロセッサから前記駆動命令を受信し、前記駆動命令に基づいて前記無線通信を行うように構成されている、装置。
【請求項9】
前記プロセッサは、前記プロセッサがスリープする前に前記命令を送信するようにさらに構成され、前記命令は、前記プロセッサがスリープしようとしているという情報をさらに含む、請求項に記載の装置。
【請求項10】
前記プロセッサは、プロセッサ負荷が高い場合に前記命令を送信するようにさらに構成され、前記命令は、前記プロセッサ負荷が高いという情報をさらに含む、請求項に記載の装置。
【請求項11】
前記プロセッサは、複数のデータリンクを含むようにさらに構成され、該データリンクのうちの1つは、前記命令を前記コプロセッサに送信し、前記コプロセッサの無線通信サービスのデータを受信するように構成されている、請求項に記載の装置。
【請求項12】
前記命令は前記無線通信サービスが無線ブロードキャストであることを示し、前記コプロセッサは、
無線ブロードキャストサービスを開始することと、
前記装置以外の少なくとも1つの第2の装置に送信するための第1のブロードキャストメッセージを生成することと、
前記第1のブロードキャストメッセージを送信するために前記無線通信モジュールを駆動するための駆動命令を生成することと、
を行うようにさらに構成されている、請求項乃至11のいずれか一項に記載の装置。
【請求項13】
前記第1のブロードキャストメッセージは、前記装置の装置情報、前記少なくとも1つの第2の装置の第2の同期データのための前記装置の要求及び前記装置の第1の同期データのうちの少なくとも1つを含む、請求項12に記載の装置。
【請求項14】
前記無線通信サービスは無線走査であることを前記命令が示す場合、前記コプロセッサは、
無線走査サービスを開始することと、
前記装置以外の少なくとも1つの第2の装置から第2のブロードキャストメッセージを得るために前記無線通信モジュールを駆動するための駆動命令を生成することと、
を行うようにさらに構成されている、請求項13に記載の装置。
【請求項15】
前記コプロセッサは、前記無線通信モジュールから、前記装置以外の少なくとも1つの第2の装置からの第2のブロードキャストメッセージを受信するようにさらに構成されている、請求項13に記載の装置。
【請求項16】
前記第2のブロードキャストメッセージは、前記少なくとも1つの第2の装置の装置情報、前記装置の前記第1の同期データのための前記少なくとも1つの第2の装置の要求及び前記少なくとも1つの第2の装置の前記第2の同期データのうちの少なくとも1つを含む、請求項14又は15に記載の装置。
【請求項17】
記データフィルタは、前記第2のブロードキャストメッセージを前記プロセッサ及び前記コプロセッサのうちの少なくとも一方に送信するよう前記無線通信モジュールに指示するよう少なくとも部分的に構成されている、請求項14に記載の装置。
【請求項18】
前記コプロセッサは、
前記第2のブロードキャストメッセージを前記コプロセッサに記憶することと、
前記プロセッサからの要求に対応して、記憶した前記第2のブロードキャストメッセージを前記プロセッサに送信することと、
を行うようにさらに構成されている、請求項15に記載の装置。
【請求項19】
前記コプロセッサは、
前記第2のブロードキャストメッセージを前記コプロセッサに記憶することと、
記憶した前記第2のブロードキャストメッセージのサイズが閾値以上かどうか判定することと、
記憶した前記第2のブロードキャストメッセージのサイズが閾値以上であるとの判定に対応して、記憶した前記第2のブロードキャストメッセージを前記プロセッサに送信することと、
を行うようにさらに構成されている、請求項15に記載の装置。
【請求項20】
前記コプロセッサは、前記装置の1つ以上のセンサからのセンサデータを処理するよう少なくとも部分的に構成されたセンサハブを含む、請求項に記載の装置。
【請求項21】
前記命令が前記無線通信サービスは無線ブロードキャストであることを示す場合、前記コプロセッサは、
無線ブロードキャストサービスを開始することと、
前記装置以外の少なくとも1つの第2の装置に送信するための第1のブロードキャストメッセージを生成することと、
前記第1のブロードキャストメッセージが前記装置の第1の同期データを含む場合、前記第1の同期データのサイズが閾値よりも小さいかどうかを判定することと、
前記第1の同期データのサイズが前記閾値よりも小さいとの判定に応答して、無線ブロードキャストを介して前記第1の同期データを送信するよう前記無線通信モジュールを駆動するための駆動命令を生成することと、
前記第1の同期データのサイズが前記閾値以上であるとの判定に応答して、無線リンクを用いることにより前記第1の同期データを送信するよう前記無線通信モジュールを駆動するための駆動命令を生成することと、
を行うようさらに構成されている、請求項8乃至20のいずれか一項に記載の装置。
【請求項22】
コンピュータ読み取り可能記憶媒体であって、当該コンピュータ読み取り可能記憶媒体に命令が記憶され、該命令がコンピュータによって実行された場合、該コンピュータは、請求項1乃至のいずれか一項に記載の無線通信方法を行うことができる、コンピュータ読み取り可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2020年1月14日に中国国家知識産権局に出願された、「無線通信方法及び無線通信機能を有する装置」と題する中国特許出願第202010036703.5号に対する優先権を主張し、その全体は参照により本願に組み込まれる。
【0002】
本願の1つ以上の実施形態は、通常、電子装置の無線通信の分野に関し、とりわけ、無線通信方法及び無線通信機能を有する装置に関する。
【背景技術】
【0003】
電子装置(携帯電話、タブレットPC、テレビ、パソコン、スピーカ、時計、車載機器等)の種類及び数は増加している。これらの装置は、互いに接続及び/又は通信するために、通常、EEE802.11(WLAN又はWi-Fi)、Bluetooth(Bluetooth、BT)、Bluetooth低エネルギー(Bluetooth low energy、BLE)等の短距離無線通信技術及び規格を用いる。加えて、短距離無線通信技術は、家庭、オフィス、社会通信、スポーツと健康及び車両等の用途シナリオでより広く用いられている。
【発明の概要】
【課題を解決するための手段】
【0004】
本願の一部の実施は、無線通信方法及び無線通信機能を有する装置を提供する。本願は下記の態様から説明され、以下の態様の実施及び有益な効果については、互いに参照できる。
【0005】
上記のシナリオに対処するために、第1の態様によれば、本願の実施は無線通信方法を提供する。本方法は、装置のコプロセッサに用いることができる。コプロセッサは、先ず、装置のプロセッサから命令を受信し、該命令は、コプロセッサに無線通信サービスを行うよう指示するために用いられ、無線通信サービスは、例えば、無線ブロードキャスティング、無線走査及び無線データ同期のうちの少なくとも1つを含み得る。コプロセッサは、プロセッサから受信した命令に基づいて、プロセッサによって必要とされる無線通信サービスを開始できる。無線通信サービスを実行するために、コプロセッサは、無線通信サービスを行うために装置の無線通信モジュールを駆動するための駆動命令を生成し、次いで、コプロセッサは、駆動命令を無線通信モジュールに送信する。無線通信モジュールは、例えば、Bluetooth又はBluetooth低エネルギー通信モジュールである。
【0006】
第1の態様に係る前述の実施から、本願の技術的解決策におけるコプロセッサは、装置のアプリケーションプロセッサの命令に基づいて無線通信アプリケーションを実行でき、それに従って装置の無線通信モジュールを駆動することができるため、本願の技術的解決策に係るコプロセッサは、デバイス発見、デバイスリンク確立情報の取得及び他のユーザ装置のための装置状態同期等の機能を実施できることが分かる。
【0007】
第1の態様を参照して、一部の実施では、コプロセッサがプロセッサから受信した命令は、プロセッサがスリープしようとしているか又はプロセッサ負荷が高いという情報をさらに含む。
【0008】
第1の態様を参照して、前述の実施から、本願の実施は以下の利点をさらに有することが分かる。例えば、コプロセッサは、プロセッサがスリープの間に無線通信アプリケーションを実行できることにより、装置の電力消費が効果的に低減される。加えて、プロセッサのサービス負荷が高いか又は一杯の場合、コプロセッサは、プロセッサの無線通信サービスを共有することができるため、プロセッサのサービス負荷が高いという状況が緩和される。
【0009】
第1の態様を参照して、一部の実施では、コプロセッサは、無線通信モジュールから、無線通信の間に得られた無線通信サービスのデータを受信する。
【0010】
第1の態様を参照して、一部の実施では、コプロセッサは、無線走査サービス等の無線通信サービスに基づいてデータフィルタを生成し、次いで、データフィルタを無線通信モジュールに送信することができ、データフィルタは、無線通信サービスのデータをプロセッサ及びコプロセッサの少なくとも一方に送信するよう無線通信モジュールに指示するよう少なくとも部分的に構成されている。
【0011】
第1の態様を参照して、一部の実施では、コプロセッサはさらに、コプロセッサにデータを記憶できるか又はコプロセッサはさらに、他の装置によって送信された同期データを、データ同期サービス等の無線通信サービスに基づいてパースし、パースされたデータをコプロセッサに記憶することができる。
【0012】
第1の態様を参照して、一部の実施では、コプロセッサはさらに、プロセッサからの要求に対応して、コプロセッサに記憶されたデータを読み出し、プロセッサに送信できる。
【0013】
第1の態様を参照して、前述の実施から、本願の実施形態は以下の利点をさらに有することが分かる。無線通信によって得られたデータは、コプロセッサに予めキャッシュされるため、デバイス発見、デバイスリンクの確立及びデータ同期の速度をさらに高めることができる。加えて、ユーザがユーザ装置を用いる場合、速度の増加を感知できるため、ユーザ体験を最適化できる。
【0014】
第1の態様を参照して、一部の実施では、コプロセッサはさらに、コプロセッサに記憶されたデータのサイズが閾値以上かどうか判定し、記憶されたデータのサイズが閾値以上の場合は、記憶されたデータをプロセッサに送信できる。
【0015】
第1の態様を参照して、一部の実施では、コプロセッサはさらに、記憶され、パースされたデータの少なくとも一部の値が閾値よりも小さいかどうかを判定でき、コプロセッサは、データの少なくとも一部の値が閾値よりも小さい場合に、データの少なくとも一部をプロセッサに送信する。
【0016】
第1の態様を参照して、一部の実施形態では、コプロセッサは、装置の1つ以上のセンサからのセンサデータを処理するよう少なくとも部分的に構成されたセンサハブを含み得る。
【0017】
第1の態様を参照して、前述の実施から、本願の実施は以下の利点をさらに有することが分かる。例えば、既存のセンサハブは、無線通信データを処理する能力を有さず、無線通信モジュールでデータを送信できないという問題を解決される。
【0018】
第1の態様を参照して、一部の実施では、無線通信は、Bluetooth通信及びBluetooth低エネルギー通信のうちの少なくとも一方を含む。
【0019】
第2の態様によれば、本願の実施は、装置の無線通信モジュールに適用される無線通信方法を提供する。無線通信モジュールは、装置のコプロセッサから駆動命令を受信し、駆動命令は、無線通信サービスを行うようコプロセッサに指示するための装置のプロセッサからの命令に対応して、コプロセッサによって生成され、駆動命令は、無線通信サービスの無線通信を実行するために無線通信モジュールを駆動するために用いられ、無線通信は駆動命令に基づいて行われる。
【0020】
第2の態様を参照して、一部の実施では、無線通信モジュールは、無線通信の間に無線通信サービスのデータを得ることができる。
【0021】
第2の態様を参照して、一部の実施では、無線通信モジュールは、コプロセッサからデータフィルタをさらに受信でき、データフィルタは、プロセッサ及びコプロセッサの少なくとも一方にデータを送信するよう無線通信モジュールに指示するように少なくとも部分的に構成されている。
【0022】
第2の態様を参照して、一部の実施では、無線モジュールは、プロセッサがスリープしようとしていることを示すために、コプロセッサから情報をさらに受信し得る。
【0023】
第2の態様を参照して、一部の実施では、無線通信モジュールはさらに、プロセッサがスリープしようとしているとの情報を受信した場合、無線通信サービスのデータをプロセッサに送信するとの決定に対応して、休止中のプロセッサを起動するための命令をプロセッサに送信できる。
【0024】
第2の態様を参照して、一部の実施では、コプロセッサは、装置の1つ以上のセンサからのセンサデータを処理するよう少なくとも部分的に構成されたセンサハブを含み得る。
【0025】
第2の態様を参照して、一部の実施では、無線通信サービスは、無線ブロードキャスティング、無線走査及び無線データ同期のうちの少なくとも1つを含み、無線通信は、Bluetooth通信及びBluetooth低エネルギー通信のうちの少なくとも1つを含む。
【0026】
第3の態様によれば、本願の実施は無線通信装置を提供する。装置は、プロセッサ、コプロセッサ及び無線通信モジュールを含む。無線通信モジュールは、通信的にプロセッサ及びコプロセッサに連結されている。装置のプロセッサは、コプロセッサに命令を送信するように構成されてもよく、該命令は、無線通信サービスを行うようコプロセッサに指示するために用いられ、無線通信サービスは、例えば無線ブロードキャスティング、無線走査及び無線データ同期のうちの少なくとも1つを含み得る。コプロセッサは、プロセッサからの命令に基づいて、プロセッサによって要求される無線通信サービスを開始するように構成され得る。無線通信サービスを実行するために、コプロセッサは、無線通信を行うために装置の無線通信モジュールを駆動するための駆動命令をさらに生成し、次いで、コプロセッサは駆動命令を無線通信モジュールに送信する。加えて、無線通信モジュールは、コプロセッサから駆動命令を受信し、駆動命令に基づいて、無線通信サービスに関連する無線通信を行うように構成されている。
【0027】
第3の態様を参照して、前述の実施から、本願の実施は以下の利点をさらに有することが分かる。例えば、本願の技術的解決策におけるコプロセッサは、装置のアプリケーションプロセッサの命令に基づいて無線通信アプリケーションを実行でき、それに従って、装置の無線通信モジュールを駆動できるため、本願の技術的解決策に係るコプロセッサは、デバイス発見、デバイスリンク確立情報の取得及び他のユーザ装置のための装置状態同期等の機能を実施できる。
【0028】
第3の態様を参照して、一部の実施では、プロセッサは、プロセッサがスリープする前に前述の命令を送信するようにさらに構成されてもよく、該命令は、プロセッサがスリープしようとしているとの情報をさらに含み得る。
【0029】
第3の態様を参照して、前述の実施から、本願の実施は以下の利点をさらに有することが分かる。例えば、コプロセッサは、プロセッサがスリープの間に無線通信アプリケーションを実行できることにより、装置の電力消費が効果的に低減される。
【0030】
第3の態様を参照して、一部の実施では、プロセッサは、プロセッサ負荷が高い場合に命令を送信するようにさらに構成され、該命令は、プロセッサ負荷が高いという情報をさらに含む。
【0031】
第3の態様を参照して、前述の実施から、本願の実施は以下の利点をさらに有することが分かる。例えば、プロセッサのサービス負荷が高いか又は一杯の場合、コプロセッサは、プロセッサの無線通信サービスを共有することができるため、プロセッサのサービス負荷が高いという状況が緩和される。
【0032】
第3の態様を参照して、一部の実施では、プロセッサは、複数のデータリンクを含むようにさらに構成され、データリンクのうちの1つは、コプロセッサに命令を送信し、コプロセッサの無線通信サービスのデータを受信するように構成されている。
【0033】
第3の態様を参照して、一部の実施では、無線通信サービスが無線ブロードキャスティングであることを命令が示す場合、コプロセッサは、無線ブロードキャスティングサービスを開始し、装置以外の少なくとも1つの第2の装置に送信するための第1のブロードキャストメッセージを生成し、第1のブロードキャストメッセージを送信するために無線通信モジュールを駆動するための駆動命令を生成するようにさらに構成されている。
【0034】
第3の態様を参照して、一部の実施では、第1のブロードキャストメッセージは、装置の装置情報、少なくとも1つの第2の装置の第2の同期データのための装置の要求及び装置の第1の同期データのうちの少なくとも1つを含み得る。
【0035】
第3の態様を参照して、一部の実施では、無線通信サービスが無線走査であることを命令が示す場合、コプロセッサは、無線走査サービスを開始し、装置以外の少なくとも1つの第2の装置から第2のブロードキャストメッセージを得るために無線通信モジュールを駆動するための駆動命令を生成するようにさらに構成されている。
【0036】
第3の態様を参照して、一部の実施では、コプロセッサは、無線通信モジュールから、装置以外の少なくとも1つの第2の装置からの第2のブロードキャストメッセージを受信するようにさらに構成されている。
【0037】
第3の態様を参照して、一部の実施では、第2のブロードキャストメッセージは、少なくとも1つの第2の装置の装置情報、装置の第1の同期データのための少なくとも1つの第2の装置の要求及び少なくとも1つの第2の装置の第2の同期データのうちの少なくとも1つを含む。
【0038】
第3の態様を参照して、一部の実施では、コプロセッサは、無線走査サービスに基づいてデータフィルタを生成し、データフィルタを無線通信モジュールに送信するようにさらに構成され、データフィルタは、プロセッサ及びコプロセッサのうちの少なくとも一方に第2のブロードキャストメッセージを送信するよう無線通信モジュールに指示するよう少なくとも部分的に構成されている。
【0039】
第3の態様を参照して、一部の実施では、コプロセッサは、コプロセッサに第2のブロードキャストメッセージを記憶し、プロセッサからの要求に対応して、記憶された第2のブロードキャストメッセージをプロセッサに送信するようにさらに構成されている。
【0040】
第3の態様を参照して、前述の実施から、本願の実施は以下の利点をさらに有することが分かる。無線通信によって得られたデータは、無線通信によって得られたデータは、コプロセッサに予めキャッシュされるため、デバイス発見、デバイスリンクの確立及びデータ同期の速度をさらに高めることができる。加えて、ユーザがユーザ装置を用いる場合、速度の増加を感知できるため、ユーザ体験を最適化できる。
【0041】
第3の態様を参照して、一部の実施では、コプロセッサは、第2のブロードキャストメッセージをコプロセッサに記憶し、記憶された第2のブロードキャストメッセージのサイズが閾値以上かどうか判定し、記憶された第2のブロードキャストメッセージのサイズが閾値以上であるとの判定に対応して、記憶された第2のブロードキャストメッセージをプロセッサに送信するようさらに構成されている。
【0042】
第3の態様を参照して、一部の実施では、コプロセッサは、第2のブロードキャストメッセージが第2の同期データを含む場合、第2の同期データの少なくとも一部の値が閾値より小さいかどうか判定し、値が閾値より小さいとの判定に対応して、データの少なくとも一部をプロセッサに送信するようにさらに構成されている。
【0043】
第3の態様を参照して、一部の実施では、コプロセッサは、第1のブロードキャストメッセージが第1の同期データを含む場合、第1の同期データのサイズが閾値より小さいかどうか判定し、第1の同期データのサイズが閾値よりも小さいとの判定に対応して、無線ブロードキャスティングを介して第1の同期データを送信するために無線通信モジュールを駆動するための駆動命令を生成し、第1の同期データのサイズが閾値以上であるとの判定に対応して、無線リンクを用いることにより第1の同期データを送信するために無線通信モジュールを駆動するための駆動命令を生成するようにさらに構成されている。
【0044】
第3の態様を参照して、一部の実施では、コプロセッサは、装置の1つ以上のセンサからのセンサデータを処理するように少なくとも部分的に構成されたセンサハブを含む。
【0045】
第3の態様を参照して、前述の実施から、本願の実施は以下の利点をさらに有することが分かる。例えば、既存のセンサハブは、無線通信データを処理する能力を有さず、無線通信モジュールでデータを送信できないという問題を解決される。
【0046】
第3の態様を参照して、一部の実施では、無線ブロードキャスティングは、Bluetoothアドバタイジング及びBluetooth低エネルギーアドバタイジングのうちの少なくとも一方を含み、無線走査は、Bluetooth走査及びBluetooth低エネルギー走査のうちの少なくとも一方を含む。
【0047】
第4の態様によれば、本願はコンピュータ読み取り可能記憶媒体を提供する。記憶媒体は不揮発性であり得る。記憶媒体は命令を含み、命令が実行された後に、前述の態様又は実施のいずれか1つに係る方法が行われる。
【図面の簡単な説明】
【0048】
図1a図1aは、従来技術のユーザ装置のモジュールの概略図である。
図1b図1bは、本願の概略的な実施形態に係るユーザ装置のモジュールの概略図である。
図2図2は、本願の概略的な実施形態に係るBluetoothアドバタイジングの概略フローチャートである。
図3図3は、本願の一実施形態に係るBluetooth走査の概略フローチャートである。
図4図4は、本願の別の実施形態に係るBluetooth走査の概略フローチャートである。
図5a図5aは、本願の一実施形態に係るユーザ装置の使用シナリオの概略図である。
図5b図5bは、本願の一実施形態に係るユーザ装置の使用シナリオの概略図である。
図5c図5cは、本願の一実施形態に係るユーザ装置の使用シナリオの概略図である。
図6a図6aは、本願の一実施形態に係るユーザ装置のシナリオにおける改善された相互作用フローの概略図である。
図6b図6bは、本願の一実施形態に係るユーザ装置のシナリオにおける改善された相互作用フローの概略図である。
図6c図6cは、本願の一実施形態に係るユーザ装置のシナリオにおける改善された相互作用フローの概略図である。
図7図7は、本願の一実施形態に係る通信装置のモジュールの概略図である。
【発明を実施するための形態】
【0049】
特定の実施形態及び添付の図面を参照しながら、本願を以下で詳細にさらに説明する。本開示の例示の実施形態は、限定されないが、無線通信方法、装置及びシステムを含むことが理解されよう。本明細書で説明する特定の実施形態は、本願を説明することのみを意図したものであり、本願を限定することは意図していない。加えて、説明を容易にするために、添付の図面は、構造又はプロセスの全てではなく、本願に関連する構造の一部のみを示す。
【0050】
以下の特定の実施形態は本願の実施を例示するものであり、当業者であれば、本明細書に開示の内容から、本願の他の利点及び効果を容易に理解することができる。本願の説明は、好ましい実施形態を参照して記載されているが、本発明の特徴はこの実施に限定されることを意味するものではない。反対に、実施を参照して本発明を説明することの目的は、本願の特許請求の範囲に基づいて拡張され得る他の選択肢又は変更をカバーすることである。本願の深い理解を提供するために、以下の説明に多くの具体的な詳細が含まれている。本願は、これらの詳細なしに実施されることもある。加えて、本願のカギとなるポイントについて混同又は不明瞭にすることを避けるために、一部の具体的な詳細は説明で省略されている。なお、本願の実施形態及び実施形態における特徴は、矛盾が生じない限り、互いに組み合わされ得る。
【0051】
また、様々な動作を、例示の実施形態を理解する最も有用な形で、複数の個別の動作として説明される。しかしながら、説明する順序は、これらの動作が順序に依存しなければならないことを意味するものと解釈すべきでない。とりわけ、これらの動作は提示する順序で行う必要はない。
【0052】
文脈において別段の規定がない限り、「含まれる」、「有する」及び「含む」という用語は同義語である。「A/B」という用語は「A又はB」を意味する。「A及び/又はB」という用語は「(A及びB)又は(A又はB)」を意味する。
【0053】
一部の場合では、開示の実施形態はハードウェア、ファームウェア、ソフトウェア、又はそれらの任意の組み合わせで実施され得る。開示の実施形態は、さらに、1つ以上の一時的又は非一時的な機械で読み取り可能(例えば、コンピュータ読み取り可能)記憶媒体によって運ばれるか又は記憶される命令としてさらに実施でき、命令は1つ以上のプロセッサによって読み出し及び実行できる。例えば、命令は、ネットワークを用いることによって又は他のコンピュータ読み取り可能媒体を用いることにより分散できる。したがって、機械読み取り可能媒体は、限定されないが、フロッピーディスク、光ディスク、読み取り専用メモリ(CD-ROM)、光磁気ディスク、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能プログラマブル読み取り専用メモリ(EPROM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、磁気又は光カード、フラッシュメモリ又は電気的、光学的、音響的若しくは他の形態の伝搬信号(例えば、搬送波、赤外線信号及びデジタル信号)を用いてインターネットを用いて情報を送信する有形の機械読み取り可能メモリ等の、機械(例えばコンピュータ)によって読み取り可能な形態で情報を記憶又は送信するための任意の機構を含み得る。したがって、機械読み取り可能媒体は、機械(例えば、コンピュータ)によって読み取り可能な形態で電子命令又は情報を記憶又は送信するのに好適な任意の種類の機械読み取り可能媒体を含む。
【0054】
添付の図面では、いくつかの構造的又は方法的特徴を特定の配置及び/又は順序で示している。しかしながら、そのような特定の配置及び/又は順序は必要でない場合があることを理解すべきである。一部の実施形態では、これらの特徴は、例示の添付の図面に示すものとは異なる方法及び/又は順序で配置され得る。加えて、特定の図に構造的又は方法論的特徴を含めることは、そのような特徴が全ての実施形態で必要であることを含意しておらず、一部の実施形態では、これらの特徴は含まれないか又は他の特徴と組合され得る。
【0055】
本明細書では、「第1」、「第2」等の用語は、様々なユニット又はデータを説明するために用いられ得るが、これらのユニット又はデータはこれらの用語によって限定されるべきでないことを理解すべきである。これらの用語は、1つの特徴を別の特徴から区別するためにのみに用いられる。例えば、例示の実施形態の範囲から逸脱することなく、第1の特徴を第2の特徴と呼んでもよく、同様に第2の特徴を第1の特徴と呼んでもよい。
【0056】
なお、本明細書では、同様の参照符号及び文字は、下記の添付の図面において同様の用語を示す。したがって、一旦、ある用語が添付の図面で定義されると、それは、後続の添付の図面においてさらに定義され、説明される必要はない。
【0057】
本願の目的、技術的解決策及び利点をより明確にするために、添付の図面を参照しながら、本願の実施形態を以下でさらに詳細に説明する。
【0058】
本明細書で用いられる「モジュール又はユニット」という用語は、特定用途向け集積回路(ASIC)、電子回路、1つ以上のソフトウェア又はファームウェアプログラムを実行するプロセッサ(共有、専用又はグループ)及び/又はメモリ(共有、専用又はグループ)、組み合わせ論理回路及び/又は説明した機能を提供する他の好適なコンポーネントを言及し得るか又は含み得るか又は特定用途向け集積回路(ASIC)、電子回路、1つ以上のソフトウェア又はファームウェアプログラムを実行するプロセッサ(共有、専用又はグループ)及び/又はメモリ(共有、専用又はグループ)、組み合わせ論理回路及び/又は説明した機能を提供する他の好適なコンポーネントの一部であり得る。
【0059】
図1bは、本願の実施に係るユーザ装置のモジュールの概略図である。例示のユーザ装置1は、限定されないが、ラップトップ装置、デスクトップコンピュータ、ハンドヘルドPC、パーソナルデジタルアシスタント、組み込みプロセッサ、デジタル信号プロセッサ(digital signal processor、略称DSP)、グラフィックス装置、ビデオゲーム装置、セットトップボックス、マイクロコントローラ、携帯電話、ポータブルメディアプレーヤ、ハンドヘルド装置、ウェアラブル装置(例えば、ディスプレイグラス又はゴーグル、ヘッドマウントディスプレイ(head-mounted display、略称HMD)、時計、ヘッドマウント装置、アームバンド又はジュエリー)、仮想現実(virtual reality、略称VR)及び/又は拡張現実(augmented reality、略称AR)装置、モノのインターネット(Internet of Things、IoT)装置、スマートオーディオシステム、車載インフォテーション装置、ストリーミングメディアクライア装置、電子ブックリーディング装置、POSマシン、電気自動車の制御システム及び様々な他の電子装置を含む。本明細書で開示したプロセッサ及び/又は他の実行ロジックを含むことが可能な複数の装置及び電子装置が通常好適である。
【0060】
図1bに示すように、ユーザ装置1は、1つ以上(図1には1つのみを示す)プロセッサ10、センサハブ12及びBluetooth通信モジュール14を含み得る。プロセッサ10は、限定されないが、中央処理装置(central processing unit、CPU)、アプリケーションプロセッサ(application processor)、グラフィックスプロセシングユニット(graphics processing unit、GPU)、デジタル信号プロセッサ(DSP)、マイクロプログラム制御ユニット(micro-programmed control unit、MCU)、AI(artificial intelligence)プロセッサ又はプログラマブルゲートアレイ(field programmable gate array、FPGA)及び他の処理モジュール又は処理回路を含み得る。本明細書の実施形態では、プロセッサ10は、以下で説明する様々な実施形態の1つ以上を実施するように構成され得る。
【0061】
可能な実施では、プロセッサ10は、Android、iOS、Windows OS、Linux及びHarmonyオペレーティングシステム等のユーザ装置1のオペレーティングシステムを実行し得る。一部の他の可能な実施では、プロセッサ10は特定のアプリケーションを実行し得る。
【0062】
センサハブ又はセンサコプロセッサと呼ばれるセンサハブ12は、様々なセンサ装置を接続し、様々なセンサ装置からのデータを低消費電力で処理するように主に構成されている。センサハブ12は、限定されないが、低電力アプリケーションプロセッサ(application processor)、コプロセッサ(coprocessor)及びマイクロプログラム制御ユニット(micro-programmed control unit)等の低電力処理モジュール又は処理回路を含み得る。センサハブ12は、通常、加速度計(accelerometer)、磁力計(magnetometer)、ジャイロスコープ(gyroscope)、周囲光センサ(ambient light sensor)、光近接センサ(proximity)、気圧計/圧力(barometer/pressure)、湿度計(humidometer)等のセンサのデータを処理し、様々なセンサデータに対して融合処理を行うことができる。
【0063】
本明細書の様々な実施形態では、センサハブ12は、Bluetooth通信に関連するデータ、とりわけBLE通信に関連するデータをさらに処理し得る。
【0064】
図1bの例示の解決策では、Bluetooth通信モジュール14は、Bluetoothに加えてBluetooth低エネルギー(BLE)を用いることにより通信するように構成され得る。「Bluetooth」という用語は、その通常の意味の全範囲を有し、Bluetooth低エネルギー(BLE)を含む既存のBluetooth規格及びBluetooth規格の将来の実施を含む様々な実施の少なくともいずれかを含む。例えば、Bluetooth接続は、4.2等のBluetoothプロトコル4.xに基づくBluetooth接続を含むか又は5.0等のBluetoothプロトコル5.xに基づくBluetooth接続を含む。加えて、Bluetooth接続は、Bluetooth低エネルギー(BLE)をさらに含み得る。従来のBluetoothと比較して、BLEは従来のBluetoothと同様の通信範囲を維持しながら、消費電力及びコストを大幅に削減することを目指す。一部の実施では、Bluetooth通信モジュール14は、Wi-Fi又はWLAN(例えば、802.11)通信用のモジュール等の他の通信モジュールと追加で組み合わされ得る。簡略化のために、以下では、様々な実施におけるBLE技術の適用のみを説明する。従来のBluetooth、Wi-Fi及び他の短距離通信技術を本明細書の様々な実施に適用可能であることが理解されよう。各モジュールを以下で詳細に説明する。通常、従来技術では、図1aに示すように、Bluetooth通信モジュール14は、ユニバーサルエイシンクロナスレシーバトランスミッタ(universal asynchronous receiver transmitter、UART)を用いることによりプロセッサ10とデータを送信し、プロセッサ10の指示に基づいてBluetooth機能を実施する。UARTインターフェイスは非同期通信のためのユニバーサルシリアルデータバスであり、バスは、シリアル通信とパラレル通信との間で送信されるべきデータを変換する双方向通信バスであり得る。
【0065】
本願の実施によれば、図1bに示すように、Bluetooth通信モジュール14は、集積回路間通信(inter integrated circuit、I2C)又は改良集積回路間通信(improved inter integrated circuit、I3C)を用いることにより、センサハブ12でデータをさらに送信し、センサハブ12の指示に基づいてBluetoothアドバタイジング(advertising、ADV)、Bluetooth走査(scanning)、リンク確立及びデータ同期等のBluetooth機能を実施できる。I2Cインターフェイスは双方向同期シリアルバスであり、シリアルデータライン(serial data line、SDA)及びシリアルクロックライン(シリアルクロックライン、SCL)を含む。I3CはI2Cの改良であり、I2Cプロトコルと互換性があり、I2C(二重ライン、簡素)及びSPI(低消費電力、高速)の利点を組み合わせたものである。図1a及び図1bを参照して、プロセッサ10は、例示のAndroidシステム階層アーキテクチャにおけるBluetooth低エネルギーソフトウェアアーキテクチャをさらに示す。
【0066】
階層化アーキテクチャはソフトウェアを複数の階層に分割し、各階層は明確な役割と分業を有する。これらの層は、ソフトウェアインターフェイスを用いることにより互いに通信する。一部の実施形態では、Androidシステムは、上から下に、それぞれアプリケーション層、アプリケーションフレームワーク層、HAL (ハードウェア抽象化層、hardware abstract layer)及びカーネル層の4つの層に分割される。
【0067】
本明細書におけるBluetooth通信に関連する各モジュールのみを以下で説明する。
【0068】
アプリケーション層は一連のアプリケーションパッケージを含み得る。図1a及び図1bに示すように、Bluetooth/Bluetooth低エネルギー通信のために、対応するBluetoothアプリケーションパッケージは、設定、共有、接続及び近傍等のアプリケーションを含み得る。
【0069】
アプリケーションフレームワーク層は、アプリケーションプログラミングインターフェイス(application programming interface、API)と、アプリケーション層におけるアプリケーションのためのプログラミングフレームワークを提供する。アプリケーションフレームワーク層は一部の予め定義された機能を含む。
【0070】
図1bに示すように、アプリケーションフレームワーク層は、Bluetoothアーキテクチャ、センサアーキテクチャ101等を含み得る。
【0071】
ハードウェア抽象化層は、異なるハードウェア装置のために統一されたアクセスインターフェイスを提供する。図1bに示すように、HAL はBluetoothプロトコルスタック及びセンサHAL 102を含み得る。
【0072】
カーネル層は、ハードウェアとソフトウェアとの間の層である。カーネル層は、図1bに示すBluetoothドライバ及びセンサドライバ103等の少なくとも様々のドライバを含む。
【0073】
図1aに示すように、既存のBluetoothワークフローでは、Bluetoothデータのダウンリンク伝送路は、アプリケーション層でBluetoothアプリケーションを開始し、BluetoothアプリケーションによりBluetoothアーキテクチャのインターフェイスを起動し、BluetoothプロトコルスタックのBluetoothプロトコルを用いることによりカーネル層でBluetoothドライバを起動し、UARTを用いることにより、BluetoothドライバによりBluetooth通信モジュール14を開始し、最後にBluetooth通信モジュール14を用いることによりデータを送信することである。他方で、Bluetoothデータのアップリンク伝送路は、Bluetooth通信モジュール14を用いることにより、他の装置によって送信されたBluetooth通信データを受信し、UARTを用いることにより、Bluetoothドライバへのアップリンク伝送を行い、次いで、Bluetoothプロトコルスタック及びBluetoothアーキテクチャを用いることにより、アプリケーション層でBluetoothアプリケーションにデータを到達させるものである。
【0074】
図1aに示すように、既存のセンサハブは、Bluetooth通信データを処理する能力を有しておらず、Bluetooth通信モジュールでデータを送信できない。この場合、図1aの既存の解決策の場合、Bluetooth通信のシナリオでは、一方で、近くにある装置のリストを照会するために、例えばBLEを用いる必要があり、BLE走査が照会の間に開始され、Bluetooth通信のリアルタイムパフォーマンスがより悪いものになる。他方で、例えば、デバイスリンクの確立が開始された後、BLEアドバタイジングを通してキー情報のやりとりが先ず完了し、次にWLANリンクの確立が開始されるため、リンク確立速度がより遅くなる。加えて、装置がBLEアドバタイジングを介して状態同期等のデータ同期を開始すると、BLEアドバタイジングにより他の装置の動作停止状態が頻繁に解除され、電力消費がより高くなる問題をもたらす。
【0075】
本願の実施によれば、図1bに示すように、センサアーキテクチャ101、センサHAL 102及びセンサドライバ103は、図1aの既存のBluetooth通信ソフトウェアアーキテクチャに基づいて追加されたモジュールであり、新たなBluetoothデータ伝送路を形成するため、プロセッサ10は、センサハブ12からBluetooth通信に関連するデータを取得し、Bluetooth通信に関連するデータをセンサハブ12に送信することができる。1つの例では、センサハブ12からのBluetoothデータは、センサドライバ103、センサHAL 102及びセンサアーキテクチャ101を用いることにより順次アップリンクして、アプリケーション層におけるBluetoothアプリケーションに到達させることができる。反対に、アプリケーション層におけるBluetoothアプリケーションからのBluetoothデータは、センサアーキテクチャ101、センサHAL 102及びセンサドライバ103を用いることにより、センサハブ12にダウンリンクできる。
【0076】
さらに図1bを参照して、センサハブ12は、Bluetoothアプリケーション121、Bluetoothプロトコルスタック122及びBluetoothドライバ123を含む。Bluetoothアプリケーション121、Bluetoothプロトコルスタック122及びBluetoothドライバ123は、アプリケーションフレームワーク層のBluetoothアーキテクチャ、HAL のBluetoothプロトコルスタック及びカーネル層のBluetoothドライバにそれぞれ対応する。具体的には、Bluetoothアプリケーション121は、アプリケーションフレームワーク層のBluetoothアーキテクチャの少なくとも一部の機能を移植することにより、センサハブ12で実施される。例えば、JAVAによりコード化されたアプリケーションフレームワーク層のBluetoothアーキテクチャは、Bluetoothアプリケーション121を形成するためにC言語を用いることにより書き換えられ、センサハブ12に移植される。同様に、前述の方法を用いることにより、Bluetoothアドバタイジング、Bluetooth走査、リンク確立及びデータ同期等のBluetoothプロトコルスタック及びBluetoothドライバの少なくとも一部の機能、が、プロセッサ側からセンサハブ12に移植され、Bluetoothプロトコルスタック122及びBluetoothドライバ123が形成される。一部の実施では、例えば、Bluetoothプロトコルスタック122は、アドバタイジング及び走査のための対応するBluetoothプロトコルを含んでもよく、Bluetoothドライバ123は、Bluetooth通信モジュール14を駆動するいくつかの又は全てのドライバを含み得る。
【0077】
一部の実施では、Bluetoothプロトコルスタック122は、プロセッサ10のBluetoothプロトコルスタックと同じセキュリティプロトコルを有するため、センサハブ12を用いることによるBluetooth通信のデータセキュリティは、Bluetoothセキュリティプロトコルにより保護できる。
【0078】
図1bに示すように、Bluetooth通信モジュール14は、チャネル切り替えモジュール141、コントローラ142及び下層の内部ロジックに記憶された(登録された)フィルタ143を含み得る。フィルタ143は、BLE走査等のBluetooth走査の結果をフィルタリングするように構成されている。例えば、プロセッサ10がBluetooth走査を開始すると、Bluetooth走査の要件に基づいてフィルタが生成され、次いで、UARTを用いることにより、プロセッサ10からBluetooth通信モジュール14に送信され、下層の内部ロジックに記憶される。一部の他の例では、Bluetooth走査の要件に基づいて、センサハブ12のBluetoothアプリケーション121内でフィルタを生成し、次いで、I2C/I3Cを用いることにより、センサハブ12からBluetooth通信モジュール14に送信され、下層の内部ロジックに記憶することができる。チャネル切り替えモジュール141は、コントローラ142の命令に基づいて、プロセッサ10及びセンサハブ12のうちの少なくとも一方にBLEデータを送信することを決定する。
【0079】
一部の実施では、プロセッサ10が、センサハブ12を用いることにより、アドバタイジング、走査及びデータ同期等のBLE通信関連アプリケーションを実行すると、プロセッサ10のダウンリンクBLEデータが、センサアーキテクチャ101、センサHAL102及びセンサドライバ103を用いることにより、順次センサハブ12に送信される。センサハブ12がBLEデータを受信した後で、Bluetoothアプリケーション121は、BLEアドバタイジング、BLE走査及びBLE状態同期等の実行すべきアプリケーション(サービス)を決定する。対応するサービス動作を実行するための命令がBluetoothプロトコルスタック122に送信され、次に、Bluetoothドライバ123が起動されて、Bluetoothドライバを開始する。Bluetooth駆動命令は、I2C/I3Cインターフェイスを用いることによりBluetooth通信モジュール14に送信され、Bluetooth通信モジュール14は、Bluetooth駆動命令に基づいてBLEアドバタイジング及び/又はBLE走査を開始する。Bluetooth通信モジュール14によって得られたBluetoothデータのアップリンク伝送路は、前述のダウンリンク伝送路の逆伝送によって実質的に実施され、Bluetooth通信のデータ伝送は、図2図4を参照して詳細に説明する。
【0080】
前述のBluetooth通信方法が採用された後に、Bluetoothプロトコルスタックの一部の機能(例えば、ADV/SCAN/BLEリンク確立)及びサービスがセンサハブ12に設定されるため、本願の実施に係るユーザ装置は、プロセッサ10がスリープしたときに、センサハブ12側に対してBLEアドバタイジング及び/又はBLE走査を行って、装置検出、デバイスリンク確立情報の取得、他のユーザ装置のための装置状態同期等の機能を実施でき、装置の電力消費を効果的に低減できる。
【0081】
また、本願の実施に係るユーザ装置は、デバイス発見、デバイスリンク確立及びデータ同期の速度を高めることができる。加えて、1つ以上の実施では、ユーザがユーザ装置を用いる場合に速度の増加を知覚できるため、ユーザ体験が最適化される。
【0082】
前述の改良されたユーザ装置1がBluetoothアドバタイジング、Bluetooth走査、Bluetoothリンク確立及びデータ同期を実施する例示の通信プロセスを、Bluetooth通信の基本シナリオを参照しながら以下で別々に説明する。通信プロセスの詳細な説明及び先行技術との比較は、Bluetooth通信において本願のユーザ装置1によって得られる重要な技術的効果をさらに示す。
【0083】
図2図4を参照しながら、一部の実施におけるBluetooth通信プロセスを以下でさらに説明する。一部の実施では、これらのBluetooth通信プロセスは、例えば、図1bに示すユーザ装置1上で実施され得る。
【0084】
図2は、本願の実施に係るBluetoothアドバタイジングのフローチャートである。
【0085】
図2に示すように、ユーザ装置1がユーザ命令を受信し、Bluetoothアプリケーションを用いることによりBluetoothアドバタイジングを開始する必要がある場合、ブロック201で、プロセッサ10は、オフラインアドバタイジングを開始するよう指示する。例えば、プロセッサ10は、オフラインBluetoothアドバタイジングを開始するための命令をセンサハブ12に送信し得る。オフラインBluetoothアドバタイジングのための命令は、命令が送信された後にプロセッサ10にオフラインになるように指示し、プロセッサ10がオフラインになることをセンサハブ12に指示し、センサハブ12に標準Bluetoothアドバタイジング又はBLEアドバタイジングを開始するように指示するために用いられる。ここで、いわゆる「オフライン」とは、プロセッサ10がオフラインのBluetoothアドバタイジングのための指示を送信した後にスリープ状態になることを意味する。スリープ状態にあるプロセッサ10は、Bluetoothアプリケーション等の複数のアプリケーションを処理しないため、ユーザ装置1の省エネルギーの目的が実現される。すなわち、ブロック202で、プロセッサ10はスリープし、スリープ状態に入る。以下の説明の例としてBluetooth低エネルギーアドバタイジングを用いる。
【0086】
ブロック203で、センサハブ12は、Bluetoothアドバタイジングを開始する。具体的には、BLEアドバタイジング等のオフラインBluetoothアドバタイジングを開始するためにプロセッサ10からの指示を受信した後に、センサハブ12はBluetoothアプリケーション121でBLEアドバタイジングアプリケーションを開始し、Bluetoothプロトコルスタック122は、Bluetoothアドバタイジングプロトコルに基づいてBluetoothドライバ123に指示を送信する。Bluetoothドライバ123は、Bluetoothアドバタイジング駆動命令を生成し、I2C/I3Cインターフェイスを用いることによりBluetoothアドバタイジング駆動命令をBluetooth通信モジュール14に送信する。駆動命令を受信した後、Bluetooth通信モジュール14はBluetoothアドバタイジングを行う(ブロック204)。したがって、例えば、BLEアドバタイジングを行うプロセスの間に、プロセッサ10はスリープ状態にとどまることができ、アドバタイジングに関連するデータ処理がセンサハブ12で行われる。したがって、前述の通信方法が採用された後に、ユーザ装置1の消費電力が効果的に低減される。
【0087】
ユーザ装置1のBluetooth走査処理については以下でさらに説明する。図2に基づいて、図3及び図4は、本願の実施に係る可能性のあるBluetooth走査のフローチャートである。
【0088】
図3は、可能性のある状況でユーザ装置1がBluetooth走査を行うプロセスを示す。図3に示すように、ユーザ装置1がユーザ命令を受信し、Bluetoothアプリケーションを用いることによりBluetooth走査を開始する必要がある場合、ブロック302で、プロセッサ10はオフライン走査を開始するよう指示する。例えば、プロセッサ10は、オフラインBluetooth走査を開始するための命令をセンサハブ12に送信し得る。前述のオフラインBluetoothアドバタイジングのための命令と同様に、オフラインBluetooth走査のための命令は、命令が送られた後にプロセッサ10にオフライン状態になるように指示し、プロセッサ10がオフラインになることをセンサハブ12に指示し、センサハブ12に標準Bluetooth走査又はBLE走査を開始するように指示するために用いられる。プロセッサ10がオフラインBluetooth走査のための命令を送信した後に、ブロック303で、プロセッサ10はスリープ状態に入る。以下の説明として、Bluetooth低エネルギースキャンの例を用いる。
【0089】
可能性のある状況では、プロセッサ10がオフラインのBluetooth走査を開始する前に、プロセッサ10のBluetoothプロトコルスタックが走査を開始している(ブロック301)。走査は、BLE走査等のBluetooth走査であり得る。すなわち、Bluetooth通信モジュール14は、プロセッサ10のBluetoothプロトコルスタックの指示に基づいてBluetooth走査を行っているか又は行おうとしている。この場合、センサハブ12は、Bluetooth走査を開始するようにBluetooth通信モジュール14に再度指示する必要はない。ブロック301の内容は、オフラインBluetooth走査のための命令のパラメータとして又はオフラインBluetooth走査のための命令と共にセンサハブ12に送信される別個の命令として用いられ得ることが理解されよう。本願では、これは限定されない。プロセッサ10のBluetoothプロトコルスタックが走査を開始したかどうかをセンサハブ12が学習できる方法は、本願では限定されない。
【0090】
この場合、センサハブ12のBluetoothアプリケーション121は、プロセッサ10からのオフラインBluetooth走査のための指示に基づいてフィルタ143を生成し、Bluetoothプロトコルスタック122及びBluetoothドライバ123を用いることにより、センサハブ12のフィルタ143をBluetooth通信モジュール14に登録する(ブロック304)。フィルタ143は、Bluetooth通信モジュール14によって走査されたBluetoothアドバタイジングデータから、センサハブ12が必要としないデータを除去することができる。
【0091】
ブロック305で、Bluetooth通信モジュール14は、フィルタに準拠した走査結果を報告する。例えば、フィルタに準拠した走査結果をセンサハブ12に報告するか又は例えば、それをBluetoothアプリケーション121に送信する。
【0092】
一例として、Bluetooth通信モジュール14が走査の間にHCI(host controller interface、ホストコントローラインターフェイス)アップリンクデータを受信した後に、フィルタ143はアップリンクデータをフィルタリングし、フィルタ143はBluetoothアプリケーションの対応するフィルタリングパラメータ(ルール)で設定されている。例えば、ルールは、アップリンクデータがセンサハブ12のブロードキャストデータであるか又はスキャンデータであるかを判定すること、アップリンクデータがプロセッサ10のブロードキャストデータであるか又はスキャンデータであるかを判定すること及びアップリンクデータがプロセッサ10の他の種類のデータのうちの1つ以上であるかを判定することを含み得る。ルールに適合しないアップリンクデータは、Bluetooth通信モジュール14の内部ロジック層で直接破棄される。ルールに準拠するアップリンクデータはチャネル切り替えモジュール141に送信される。チャネル切り替えモジュール141では、コントローラ142は、フィルタ143の命令に基づいて、フィルタリングされたデータをセンサハブ12及び/又はプロセッサ10に送信するようチャネル切り替えモジュール141を制御する。
【0093】
一部の実施では、Bluetooth通信モジュール14は、UART及びI2C/I3Cを同時に実施できる。例えば、センサハブ12のフィルタに準拠したデータはI2C/I3Cを用いることによりセンサハブ12に送信され、プロセッサ10のフィルタに準拠したデータは、UARTを用いることによりプロセッサ10に送信され、両方のフィルタに準拠したデータは、UART及びI2C/I3Cを用いることにより、同時にプロセッサ10及びセンサハブ12に送信される。
【0094】
一部の例では、内部ロジック層はフィルタリストをさらに含んでもよく、フィルタリストは、プロセッサ10の1つ以上のフィルタ及びセンサハブ12の1つ以上のフィルタを記憶し得る。プロセッサ10のフィルタはプロセッサ10で生成され、UARTをを用いることによりBluetooth通信モジュール14の内部ロジック層に送信され、プロセッサ10のフィルタは、非スリープ状態のプロセッサ10のBluetooth走査サービスのために用いられ得る。同様に、フィルタリスト内のセンサハブ12のフィルタは、上述したように、センサハブ12で生成されるフィルタであり得る。あるいは、プロセッサ10及びセンサハブ12は1つのフィルタを用い、フィルタは、プロセッサ10及びセンサハブ12のためのそれぞれのフィルタパラメータで設定され得る。
【0095】
次に、ブロック306で、センサハブ12は、報告された走査結果をパースし、パースされたデータを記憶する。例えば、走査結果がブロードキャストデータの場合、Bluetoothアプリケーション121は、ブロードキャストデータからブロードキャスト装置アドレス、ブロードキャストアクセスアドレス及びローカル名等のデータをパースする。パースされたデータはセンサハブ12に記憶され得る。センサハブ12は、好適なダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)等の揮発性又は不揮発性の記憶媒体を含み得ることが理解されよう。
【0096】
次に、ブロック307で、センサハブ12は、スリープ状態からプロセッサ10を起こすために、プロセッサ10にウェイクアップ要求を送信できる。プロセッサ10がブロック308でスリープ状態から復帰した後に、309で、センサハブ12はパースされたデータを送信し、例えば、Bluetoothアプリケーション121はパースされたデータをプロセッサ10に送信する。一例として、プロセッサ10は、パースされたデータを、センサドライバ103を用いることにより受信し、データはアップリンクされてセンサHAL102及びセンサアーキテクチャ101を通過してアプリケーション層に到達し、アプリケーション層で、Bluetoothデータを要求するアプリケーションがパースされたデータを用いり得る。
【0097】
別の例として、ウェイクアップ要求を送信する時間は、予め設定された条件に基づいてセンサハブ12によって決定され得る。例えば、センサハブ12は、記憶されたデータの容量が64KB又は128KB等の所定のサイズに達した後に、ウェイクアップ要求を送信し得る。他の例では、装置状態同期等の一部の用途で、センサハブ12はパースされたデータから1つ以上の特定種類のデータを抽出し、抽出したデータを予め設定された条件に基づいて判断し、判断の結果に基づいてプロセッサ10をスリープ状態から復帰させることができる。特定種類のデータの選択及び予め設定された条件の決定は、ユーザ装置1の異なる使用シナリオに基づいて別々に設定されてもよく、これについては、以下のユーザ装置1の例示の使用シナリオで説明する。
【0098】
一部の他の実施形態では、センサハブ12は、これらの走査結果をさらに処理することなく、報告された走査結果のみを記憶し得る。
【0099】
一部の他の実施形態では、センサハブ12はプロセッサ10をスリープ状態から復帰させる必要がなく、センサハブ12は、プロセッサ10がデータを要求した場合に、記憶したデータをプロセッサ10に送信し得る。
【0100】
図4は、本願の実施に係る別の種類のBluetooth走査のフローチャートである。
【0101】
図4において、図3に示すものと同じ機能を有するブロックについては、ここで再度詳細に説明しない。例示の方法300におけるものと異なるブロック又は部分について以下で詳細に説明する。
【0102】
ブロック401で、プロセッサ10はオフライン走査を開始するよう指示する。例えば、プロセッサ10は、オフラインBluetooth走査を開始するための命令をセンサハブ12に送信する。図3に示すプロセスとは異なり、ブロック402では、プロセッサ10のBluetoothプロトコルスタックに基づいてBluetooth走査は行われない。したがって、ブロック404で、センサハブ12は、プロセッサ10からのオフライン走査を開始するための命令に基づいて、Bluetooth走査を開始し、Bluetooth通信モジュールにフィルタを登録する必要がある。例えば、Bluetoothアプリケーション121はBluetooth走査を開始し、走査用のフィルタをBluetooth通信モジュール14に登録する。
【0103】
具体的には、Bluetoothアプリケーション121は、プロセッサ10の指示に基づいて、BLE走査アプリケーションを開始し、対応するフィルタ143を生成する。フィルタ143の機能については、前述の説明を参照してもよく、詳細についてはここでは再度説明しない。Bluetoothプロトコルスタック122は、Bluetooth走査プロトコルに基づいてBluetoothドライバ123に命令を送信し、Bluetoothドライバ123はBluetooth走査ドライブ命令を生成し、I2Cインターフェイスを用いることによりBluetooth走査駆動命令及びフィルタ143をBluetooth通信モジュール14に送信して、Bluetooth走査を開始するようBluetooth通信モジュール14を駆動する(ブロック405)。
【0104】
図4に示すように、ブロック406~ブロック410で説明する内容は、図3に示すブロック305~ブロック309の内容と同様である。詳細については、ここでは再度説明しない。
【0105】
以下では、ユーザ装置1と他の装置との間のWLANリンク確立の例示のシナリオを一例として用い、図2図4で説明したBLEアドバタイジング及びBLE走査プロセスを参照することにより、可能性のある装置間のBluetoothデータのやりとりについて簡単に説明する。
【0106】
例えば、ユーザ装置1の近くにある装置Aは、ユーザ装置1により発見されるために、ユーザ装置1にブロードキャストメッセージM1を送信する。装置AのブロードキャストメッセージM1は、プリアンブル、メッセージタイプ及び現在の装置IDを含み得る。プリアンブルは、BLE走査の間にブロードキャストをフィルタリングするために用いられ、ブロードキャスト処理の性能を改善する。すなわち、フィルタ143は、ブロードキャストメッセージのプリアンブルに基づいて不必要なブロードキャストメッセージを除去する。メッセージタイプは、送信される異なるメッセージの種類を区別するために用いられ、現在の装置IDは、送信側の装置を一意に識別するために用いられる。
【0107】
走査開始後、ユーザ装置1は、装置AからブロードキャストメッセージM1を受信する。フィルタ143を通過した後、ブロードキャストメッセージはBluetoothアプリケーション121に送信される。Bluetoothアプリケーション121は、ユーザ装置1が装置Aのリンク確立情報をキャッシュしないことを発見する。したがって、ユーザ装置1は、ユーザ装置1が装置Aのリンク確立情報を得ることを希望すること示すために装置AにメッセージM2を送信する。
【0108】
メッセージM2は、プリアンブル、メッセージタイプ、現在の装置ID及び宛先装置IDを含み得る。宛先装置IDは、メッセージが送信される宛先装置を識別するために用いられる。受信側装置は、この宛先装置IDを用いて、自身の装置IDと合致させることができる。それらが同じであれば、受信側装置はメッセージを処理できることを示す。メッセージM2を受信した後で、装置Aは、自身のリンク確立情報をユーザ装置1に返信する。
【0109】
ユーザ装置1は、装置Aによって送信されたリンク確立情報M3を受信する。プリアンブル、メッセージタイプ、現在の装置ID、宛先装置IDに加えて、M3は、装置Aのリンク確立のSSID、キー及びMACアドレスをさらに含み得る。ユーザ装置1のBluetoothアプリケーション121は、リンク確立情報M3からリンク確立のSSID、キー及びMACアドレスをパースし、それをセンサハブ12にキャッシュする。ユーザ装置1がその後に装置Aのためのリンクを確立する必要がある場合、プロセッサ10は、センサドライバ103を用いることにより、パースされた情報をセンサハブ12のBluetoothアプリケーション121から得ることができため、リンク確立が素早く完了する。
【0110】
本願のこの実施では、センサアーキテクチャ101、センサHAL102及びセンサドライバ103がユーザ装置1のプロセッサ10に追加され、Bluetoothアプリケーション121、Bluetoothプロトコルスタック122及びBluetoothドライバ123等のBluetooth通信を処理するためのモジュールがセンサハブ12に追加されているため、従来技術ではプロセッサ10側でのみ実施可能なBluetooth通信機能は、本願では、例えば、図2図4に記載のBluetooth通信プロセスにおいてセンサハブ12で追加的に実施可能である。これに基づいて、本願に係るユーザ装置1は、プロセッサ10がスリープしている場合に、センサハブ12側でBLEアドバタイジング及び/又はBLE走査を行って、デバイス発見、その後のデバイスリンク確立情報の取得、他のユーザ装置のための装置状態同期等の機能を実施でき、したがって、装置の電力消費を効果的に低減できる。
【0111】
加えて、Bluetooth通信の一部の機能をセンサハブ12で実施できるため、センサハブ12は、Bluetoothデバイス発見を常に低エネルギーを有効にして実施でき、センサハブ12は、Bluetoothアプリケーション121によってパースされたBluetooth通信データをさらに記憶できる。したがって、ユーザ装置1は、Bluetooth通信プロセスにおけるデバイス発見、デバイスリンク確立及びデータ同期の速度をさらに高めることができる。加えて、1つ以上の実施では、ユーザがユーザ装置を用いる場合に、速度の増加を知覚できるため、ユーザ体験が最適化される。Bluetooth通信速度を高める技術的効果を説明するために、以下で具体的な使用シナリオをさらに参照する。
【0112】
図2図4は、本願の実施に係るBluetooth通信プロセスの例示の説明を提供し、本願を限定することを意図していない。例えば、本願の実施は、上述したようにプロセッサ10がスリープする例のシナリオに適用されてもよく、これは本願の解決策の適用シナリオに対する特定の制限ではなく、後続の内容では説明しない。一例として、本願の実施は、プロセッサ10の負荷が高いか又は一杯のシナリオにさらに適用され得る。このシナリオでは、Bluetooth等の無線通信が発生した場合、プロセッサ10は、センサハブ12に無線通信処理を行うように指示し得る。例えば、プロセッサ10の負荷が高い場合、プロセッサ10は、プロセッサ10の現在の負荷が高いことをセンサハブ12に指示し、プロセッサ10の無線通信サービスを共有し、プロセッサ10のサービス負荷が高い状況を緩和するために、プロセッサ10にBluetoothアドバタイジング及び/又はBluetooth走査等のサービスを開始するよう指示する。
【0113】
プロセッサ10によってセンサハブ12に送信される命令は、本願の異なる用途シナリオで異なり得ることが理解されよう。例えば、一部のシナリオでは、プロセッサ10は、オフラインのBluetoothアドバタイジング及び/又は走査のための命令の代わりに、Bluetoothアドバタイジング及び/又は走査を開始するための命令を送信し得る。本願の実施の様々な適用シナリオを参照しながら、本願の技術的効果について以下でさらに説明する。
【0114】
図5a~図5cは、本願の実施に係るユーザ装置の例示の使用シナリオを示す。
【0115】
図5に示すシナリオでは、ユーザ装置51a~51dのうちの少なくとも1つは、図1に示すユーザ装置1であり得る。図5a~図5c及び添付図面の残りでは、「51a」等の参照符号の後ろの文字は、特定の参照番号を有する要素への参照を示す。「51」等後続の文字を有さない参照番号は、参照番号を持つ要素の実施への一般的な参照を示す。図5のシナリオでは、例えば、ユーザ装置51aはBluetoothスピーカであり、ユーザ装置51bはノートブックコンピュータであり、ユーザ装置51cはスマートテレビであり、ユーザ装置51dはスマートフォンであり得る。
【0116】
図5aは、ユーザ装置がWLANマルチホップ(muti-hop)を介してネットワーク接続されている例示のシナリオを示す。例えば、ユーザ装置51のそれぞれは、ネットワーク接続のために無線MESH技術を用いる。図5bは、ユーザ装置51が同じ無線AP(アクセスポイント)を用いることによりネットワーク接続されている例示のシナリオを示す。加えて、図5cは、ユーザ装置51がBluetooth低エネルギー(BLE/BTLE)アドバタイジングを介してネットワーク接続されている例示のシナリオを示す。前述のシナリオは、ユーザ装置の一般的な適用シナリオを概略的に列挙しているにすぎない。例えば、前述のシナリオは、ユーザのスマートホーム相互接続シナリオであってもよい。
【0117】
説明を簡単にするため、前述の実施で説明したユーザ装置51a、51bをユーザ装置の例として用いて、図5に示すように複数のユーザ装置が相互接続されているシナリオについて以下で説明する。以下の説明では、ユーザ装置51a及び51bは、後述しない無線通信範囲内にある。
【0118】
図6を参照しながら、ユーザ装置51a、51bのネットワーク処理を説明する。本願の技術的効果をさらに説明するために、先行技術及び本願のネットワークプロセスを図6で比較する。先行技術におけるネットワークプロセスは、通常のネットワークプロセスの一例としてのみ用いており、本願の技術的解決策を説明するための参考例としてのみ用いられ、詳細には説明せず、必要な場合にのみ言及されることが理解されよう。前述の装置及び方法の実施において説明していないコンテンツについては、以下のプロセスの実施を参照してもよい。同様に、プロセスの実施で説明していない内容については、前述の装置及び方法の実施を参照してもよい。
【0119】
加えて、ユーザ装置51a及び51bの特定の通信処理については、前述の実施の説明を参照してもよく、同様の部分についてはここでは詳細に説明しない。以下の説明では、ユーザ装置51がマスター装置として用いられ、ユーザ装置51bがスレーブ装置として用いられる。この限定は、説明の便宜上及び実施の理解のために過ぎず、本願に対する特定の限定ではない。
【0120】
図6aは、前述のシナリオにおける複数のユーザ装置の素早い発見のプロセスを示す。図6aに示すように、従来技術では、装置A及び装置Bがお互いを発見するために必要な時間は、T1+T2+T3である。具体的には、装置A及び装置Bが発見可能な範囲内にある場合、装置Aのプロセッサのアプリケーション層がデバイス発見要求を開始し、最後にBluetooth通信モジュールがBLE走査を開始する。走査を開始するBluetooth通信モジュールへの要求を開始する装置Aのサービス側からの所要時間はT1である。装置AのBluetooth通信モジュールは、装置Bによって送信されたBLEアドバタイジングを受信し、アドバタイジングを受信に要する時間はT2である。装置AのBluetooth通信モジュールは、Bluetoothプロトコルスタックを用いることにより、プロセッサのアプリケーション層にアドバタイジングパケットを報告し、アドバタイジングパケットの報告に要する時間はT3である。
【0121】
本願のこの実施では、ユーザ装置51a及びユーザ装置51bが発見可能範囲内にある場合、ユーザ装置51bは、バックグラウンドで定期的にBLEアドバタイジングを開始し、ユーザ装置51aのセンサハブ及び/又はユーザ装置51bのセンサハブは、Bluetooth通信を処理する。ユーザ装置51aのプロセッサのアプリケーション層がデバイス発見要求を開始する前に、例えば、ユーザ装置51aがスリープ状態にある場合、ユーザ装置51aは、センサハブを用いることにより、BLE走査をバックグラウンドで低いデューティサイクルで常に有効な状態で維持し、BLEアドバタイジングを開始する。ユーザ装置51aのBluetooth通信モジュールは、ユーザ装置51bによって送信されたBLEアドバタイジングを受信する。ユーザ装置51aのBluetooth通信モジュールは、センサハブにアドバタイジングパケットを報告する。これはユーザ装置51aのプロセッサの休止状態に影響を及ぼさない。ユーザ装置51aのプロセッサのアプリケーション層がデバイス発見要求を開始すると、プロセッサは、以前に取得したユーザ装置51bのBLEアドバタイジングをセンサハブから読み出すことができ、アドバタイジングパケットを取得するために必要な時間はT4である。本願のこの実施では、デバイス発見のための時間はT4であり、T4はT3より小さく、T1+T2+T3よりはるかに小さいものに決定できる。
【0122】
図6aに示すように、既存の解決策において、装置を発見すること、すなわち、装置リストを取得する必要がある場合、Bluetooth通信モジュールにBLE走査を送信し、次にピアデバイスによって開始されたBLEアドバタイジングをBluetooth通信モジュールが走査するのを待ち、最後にBLEアドバタイジング情報をプロセッサのアプリケーション層に報告し、アプリケーション層がBLEアドバタイジングをパースし、装置リストを取得する必要がある。
【0123】
反対に、本願の実施では、センサハブを用いることにより、低エネルギーのデバイス発見を常に有効にすることが実施されており、データはセンサハブにキャッシュされる。プロセッサ側にサービス要件がある場合、センサアーキテクチャ101、センサHAL102、センサドライバ103及び他のモジュールは、センサハブにキャッシュされた装置リストを直接取得するために用いられるため、装置間の迅速な発見が実施される。これは、ユーザのために装置リストをユーザ装置上で提示することの応答速度を大幅に高める。
【0124】
図6bを参照しながら、図5aにおける装置間のWLANリンク確立プロセスについて以下で説明する。WLANリンク確立プロセスは、キー情報の同期を伴う。図6bに示すように、従来技術では、装置A及び装置BがWLANリンクの確立を完了するのに必要な時間はT1+T2である。具体的には、装置A及び装置Bがお互いを検出した後に、装置Aはリンク確立要求を開始し、装置A及び装置BはBLEアドバタイジングを介してリンク確立キー情報を交換する。BLEアドバタイジングを介してキーを交換するのに必要な時間はT1である。次に、キー情報を取得した後で、装置A及び装置BはWLANリンク確立を開始し、WLANリンク確立に要する時間はT2である。
【0125】
本願の実施では、ユーザ装置51aとユーザ装置51bとがお互いを発見した後に、ユーザ装置51a及び/又はユーザ装置51bは、センサハブを用いることによりバックグラウンドでリンク確立のためのキー情報を交換する。ユーザ装置51aのプロセッサのアプリケーション層がリンク確立要求を開始すると、プロセッサは、以前にキャッシュされたキー情報をセンサハブから読み出すことができる。ユーザ装置51aがキー情報を取得した後、ユーザ装置51a及びユーザ装置51bはWLANリンクの確立を開始し、WLANリンクの確立に要する時間はT2である。本願のこの実施では、装置間のWLANリンクの確立時間はT2であり、T2はT1+T2より短いと決定できる。
【0126】
図6bに示すように、本願のこの実施では、センサハブを用いることにより、低エネルギーのリンク確立情報のやりとりを常に有効にすることが実施されており、WLANリンク確立情報はセンサハブにキャッシュされる。プロセッサ側にデバイスリンク確立要求がある場合、センサアーキテクチャ101、センサHAL102及びセンサドライバ103及び他のモジュールは、センサハブでWLANリンク確立情報を直接取得するために用いられるため、素早いデバイスリンク確立が実施される。ユーザにとって、ユーザが、例えば、高速データ送信のアプリケーションを用いることにより、装置間で比較的大きなデータを無線送信する必要がある場合、本願の技術的解決策は、ユーザがデータを送信する宛先装置を選択した後に、ユーザがデータ送信を開始することを可能にすることにより、ユーザ体験が効果的に改善される。
【0127】
図5に示すシナリオにおける様々の装置間の可能性のあるデータ同期について、図6cを参照しながら説明する。装置間のデータ同期は、例えば、図6bに含まれる暗号情報の同期化及び様々の装置の様々の装置状態の同期を含み得る。図6cは、電池残量の少ない装置を用いることによる状態同期処理を一例として示す。
【0128】
図6cに示すように、装置B及びユーザ装置51bは電池残量の少ない装置であると仮定する。従来技術では、装置Aと装置Bとのネットワーク接続が成功した後に、装置Aはスリープし、装置Bはバッテリが少なくなる。装置Bは、装置BLEを介して装置の低バッテリ状態をブロードキャストし、装置AのBluetooth通信モジュールは、装置Bによってブロードキャストされた低バッテリ状態を受信し、装置状態を更新するために装置Aのプロセッサをスリープ状態から復帰させる。プロセッサをスリープ状態から復帰させること及び状態同期の消費電力はP1と仮定する。
【0129】
本願のこの実施では、ユーザ装置51bの低バッテリ状態を受信した後に、ユーザ装置51aのBluetooth通信モジュールは、センサハブに状態を送信する。センサハブは装置の状態を同期させることができる。装置状態を同期させるためのセンサハブの消費電力はP2であると仮定する。装置状態はセンサハブに保存され得る。一例として、ユーザ装置51aのプロセッサが他のアプリケーションによってスリープ状態から復帰されると、プロセッサはセンサハブからユーザ装置51bの保存された低バッテリ状態を取得し得る。したがって、この例では、状態同期のための電力消費はP2のみである。同じ実際の試験条件下では、P1に対応する消費電力増分値は約8.28mAであり、P2に対応するセンサハブの消費電力増分値は約0.001mAである。
【0130】
本願のこの実施では、低エネルギーの状態同期を常に有効にすることを実現するためにセンサハブが用いられ、これは、ユーザ装置の電力消費を大幅に低減できることが分かる。
【0131】
一部の他の実施では、ユーザ装置51aのセンサハブは、ユーザ装置51bの低バッテリ状態に基づいて、ユーザ装置51aのプロセッサを能動的にスリープ状態から復帰させるかどうかを判定し得る。一例として、低バッテリ状態が、残りの電力(例えば、残りの電力は15%)が予め設定された閾値(例えば、予め設定された閾値は20%)より低いことを示す場合、センサハブは、プロセッサを能動的にスリープ状態から復帰させ、低バッテリ状態を報告する。予め設定された閾値はセンサハブによって設定することができるか又はプロセッサによって設定され、次いで、記憶のためにセンサハブに送信できる。センサハブは、低バッテリ状態データ等の他の装置によって報告されるデータをパースする場合に、特定のデータが予め設定された値に達するかどうかを判定できる。
【0132】
本願では、データ同期は前述の低バッテリ状態同期に限定されない。
【0133】
一部の実施では、図5に示されているネットワーキングシナリオ及び本明細書で言及されていない他のシナリオでは、前述の実施のユーザ装置は異なるアプリケーションのために状態データをさらに同期し得る。例えば、分散コンピューティングの状況において、様々なネットワーキング装置が協調的に動作する状況において、全ての装置は、プロセッサの負荷状態、装置バッテリ状態及び装置の実行中のアプリケーション等のデータを同期させる必要があり得る。
【0134】
一例として、ユーザ装置が分散コンピューティングリソースを必要とする場合、ユーザ装置がネットワーク内の他の装置にコンピューティングタスクを分配する前に、ユーザ装置は、他の装置がコンピューティングタスクを実行できるかどうかを、他の装置の同期状態に基づいて判断する必要があり得る。例えば、ユーザ装置は、低バッテリの装置及び/又は特定のアプリケーションを実行する装置を除外してもよく、特定のアプリケーションは、例えば、ゲームアプリケーション等の高負荷アプリケーション及び通話アプリケーションを含み得る。装置がこれらのアプリケーションを実行する場合に、コンピューティングタスクが装置に分配されると、実行中のアプリケーションは明らかに悪影響を受け得る。
【0135】
したがって、ユーザ装置が分散コンピューティングを実行する必要があるシナリオでは、前述の様々な状態データをユーザ装置のセンサハブ内で同期させることができ、ユーザ装置のプロセッサは、コンピューティングタスクを分配する前に、センサハブから他の装置の同期データを得ることができる。一部の他の例では、同期状態データの変化に基づいて、センサハブはプロセッサをスリープ状態から復帰させ、状態データを報告するかどうかをさらに決定し得る。例えば、分散コンピューティングにおいて、他の装置のプロセッサ負荷が大幅に変化する場合、例えば、状態データのジャンプに対して、短時間で低負荷から高負荷に又はその逆に変化する場合、センサハブは休止中のプロセッサを直接スリープ状態から復帰させ、状態情報を報告できる。
【0136】
本願の一部の他の実施によれば、図5に示すシナリオで、ユーザ装置51aがスリープ状態にあり、ユーザ装置51bのネットワーク状態が悪い場合又はオフネットワーク状態にある場合、ユーザ装置51aは、センサハブを用いることにより素早い状態同期さらに行い得る。
【0137】
例えば、ユーザ装置51aは、ユーザ装置51bによって送信されるBLEアドバタイジングを走査できないため、一定時間の後にタイムアウト機構がトリガされ、ユーザ装置51aのセンサハブは、ユーザ装置51bを装置リストから削除し、装置リストをキャッシュする。走査リストを同期させる必要がある場合、ユーザ装置51aのプロセッサはセンサハブからリアルタイム走査リストを直接取得できる。これに対して、従来技術では、前述の状況において、ユーザ装置は装置リストを同期する前に装置を再走査し、次に走査リストを更新する必要がある。
【0138】
一部の他の実施では、前述の様々なデータ同期状況において、同期を必要とするデータが比較的大きい場合、例えば、データがBLEアドバタイジングによって運ぶことができる最大バイト数の62バイトを超える場合、同期データを送信するためにユーザ装置間でBLEリンクが用いられ得る。以上は概略的な例にすぎない。本願の様々な実施では、データ同期の送信方法は限定されない。
【0139】
図6に示す可能性のあるプロセスの説明を参照しながら図5を再度参照して、図5の各シナリオでは、ユーザは、無線接続を開始する場合に基本的に待つ必要がない。
【0140】
可能な適用シナリオでは、例えば、ユーザは、「映画のトランスフォーマー4が観たい」という命令をユーザ装置51a(スマートスピーカ)に対して示す。ユーザ装置51aは、装置間で迅速な発見、迅速なネットワーキング及び低エネルギーの迅速な状態同期を完了しているため、ユーザ装置51aは、センサハブからネットワーク全体の装置に対応するプロパティ及び状態を直接読み出し、ユーザ装置51c(スマートTV)が映画を再生するのに適していることを見出し、ユーザ装置51aは、ユーザ装置51cに対してトランスフォーマー4を再生するための命令を送信し、ユーザ装置51cは映画の再生を開始する。したがって、このシナリオでは、ユーザが命令を与えた後の短時間内に、ターゲット装置は、対応するタスクを行うためにユーザの命令に対応することができる。
【0141】
例示のシナリオにおいて、従来技術では、装置のプロパティ及び状態の走査及び同期は、サービスが来たときにのみ通常開始される。ユーザは、装置からの応答を得る前に一定の時間待つ必要があり、これでは装置に対するユーザの要求を満たすことができない。
【0142】
これに対して、本願のユーザ装置に基づき、ネットワーキング後に、APの起動させることなくリアルタイムで装置のプロパティ及び状態の同期が完了するため、パフォーマンスがより良好で、消費電力が低下するだけでなく、ユーザ体験も大幅に改善される。
【0143】
図5及び図6の例示の説明では、本願の実施で説明した機能を有する2つのユーザ装置を説明のための例として用いたが、本願の実施で説明した機能を有するユーザ装置が1つだけであっても、それは、本願で言及したか又は言及していない様々なシナリオで用いられ、ユーザ装置はユーザ体験も改善できることが理解されよう。
【0144】
実用性の観点から、本願の様々な実施におけるユーザ装置の消費電力削減の例を以下で簡単に説明する。
【0145】
10%(2.3mA)の走査デューティ比及び1秒のブロードキャスト周期の条件下で、Huawei Mate20 Pro携帯電話+バッテリ+消費電力計に基づいてデータを測定する。10分間のテスト時間において、平均で6秒毎に1回のブロードキャストが受信され、ブロードキャストによりプロセッサをスリープ状態から復帰させるための平均時間は3.5秒である。テスト用の携帯電話とBluetooth通信を行う装置の数の差及びブロードキャストを受信する時間間隔の変化に基づいて、Bluetooth通信を処理するプロセッサの消費電力は約8mA~24.5mAである。例えば、テスト用の携帯電話が6秒毎に1台の携帯電話のみのブロードキャストを走査する場合、Bluetooth通信を処理する際のプロセッサの消費電力は8.28mAであり、テスト用の携帯電話が平均で6秒毎に2台の携帯電話のブロードキャストを走査する場合、Bluetooth通信を処理する際のプロセッサの消費電力は14.47mAであり、テスト用の携帯電話が平均で1秒毎にブロードキャストを受信する場合、Bluetooth通信を処理する際のプロセッサの消費電力は24.35mAである。
【0146】
例えば、6秒毎に1台の携帯電話のブロードキャストを走査する試験用の携帯電話を一例として用いて、センサハブの動作電圧は0.75Vであり、動作電流は11mAである。バッテリ電圧は3.8Vであり、伝送損失率は0.58(経験値)である。
【0147】
【数1】
という式に基づいて、得られるセンサハブのバッテリ端子電流は3.74mAとなり得る。
【0148】
前述の実測条件下で、センサハブは、ブロードキャストデータを約2msに1回処理し、ブロードキャストを10分間に100回を処理する。Bluetooth通信を処理する際の消費電力は約3.74×(0.002×100/600)=0.001mAである。DDR(ダブルデータレート)記憶スペースを用い、DDR動作電流が49mAの場合、DDR増分消費電力は約49×3.74×(0.002×100/600)=0.016mAである。センサハブ及びDDRストレージの総消費電力は、平均で、プロセッサの消費電力である8.28mAのわずか8000分の1を占めるに過ぎない。したがって、本願の技術的解決策に係るユーザ装置は、Bluetooth通信における電力消費を大幅に低減できることが理解されよう。
【0149】
図7は、本願の一実施形態に係る通信装置700のブロック図である。装置700は、1つ以上のプロセッサ702、プロセッサ702のうちの少なくとも1つに接続されるシステム制御ロジック708、システム制御ロジック708に接続されるシステムメモリ704、システム制御ロジック708に接続される不揮発性メモリ(NVM)706及びシステム制御ロジック708に接続されるネットワークインターフェイス710を含み得る。
【0150】
プロセッサ702は、1つ以上のシングルコア又はマルチコアプロセッサを含み得る。プロセッサ702は、汎用プロセッサ及び特定プロセッサ(例えば、グラフィックスプロセッサ、アプリケーションプロセッサ又はベースバンドプロセッサ)の任意の組み合わせを含み得る。本明細書の実施形態では、プロセッサ702は、図2図4に示す様々な実施形態のうちの1つ以上を実施するように構成され得る。
【0151】
一部の実施形態では、システム制御ロジック708は、プロセッサ702のうちの少なくとも1つ及び/又はシステム制御ロジック708と通信する任意の適切な装置若しくはコンポーネントに任意の好適なインターフェイスを提供するために、任意の好適なインターフェイスコントローラを含み得る。
【0152】
一部の実施形態では、システム制御ロジック708は、システムメモリ704に接続されるインターフェイスを提供するために、1つ以上のメモリコントローラを含み得る。システムメモリ704は、データ及び/又は命令をロード及び記憶するように構成され得る。一部の実施形態では、装置700のメモリ704は、好適なダイナミックランダムアクセスメモリ(DRAM)等の任意の好適な揮発性メモリを含み得る。
【0153】
NVM/メモリ706は、データ及び/又は命令を記憶するために1つ以上の有形及び非一時的なコンピュータ読み取り可能媒体を含み得る。一部の実施形態では、NVM/メモリ706は、フラッシュメモリ及び/又は任意の好適な不揮発性記憶装置、例えば、HDD(hard disk drive、ハードディスクドライブ)、CD(compact disc、光ディスク)ドライブ、DVD(digital versatile disc、デジタル多用途ディスク)ドライブのうちの少なくとも1つ等の任意の好適な不揮発性メモリを含み得る。
【0154】
NVM/メモリ706は、装置700の装置にインストールされるか又は装置によってアクセスされ得る、必ずしも装置の一部ではないいくつかの記憶リソースを含み得る。例えば、NVM/メモリ706は、ネットワークインターフェイス710を用いることにより、ネットワークを介してアクセスされ得る。
【0155】
とりわけ、システムメモリ704及びNVM/メモリ706は、命令720の一時的コピー及び永久コピーをそれぞれ含み得る。命令720は、プロセッサ702のうちの少なくとも1つによって実行された場合に、装置700が図2図5に示す方法を実施できるようにする命令を含み得る。一部の実施形態では、命令720、そのハードウェア、ファームウェア及び/又はソフトウェアコンポーネントは、システム制御ロジック708、ネットワークインターフェイス710及び/又はプロセッサ702に追加的に/代替的に配置され得る。
【0156】
ネットワークインターフェイス710は、1つまたは複数のネットワークを用いることにより、任意の他の好適な装置(フロントエンドモジュール又はアンテナ等)と通信するために、装置700に無線インターフェイスを提供するように構成されたトランシーバを含み得る。一部の実施形態では、ネットワークインターフェイス710は、装置700の別のコンポーネントに統合され得る。例えば、ネットワークインターフェイス710は、命令とともに、プロセッサ702、システムメモリ704、NVM/メモリ706及びファームウェアデバイス(図示せず)のうちの少なくとも1つに統合され得る。プロセッサ702のうちの少なくとも1つが命令を実行すると、装置700は、図2図4に示す様々な実施形態のうちの1つ以上を実施する。
【0157】
ネットワークインターフェイス710は、多入力多出力無線インターフェイスを提供するために、任意の好適なハードウェア及び/又はファームウェアをさらに含み得る。例えば、ネットワークインターフェイス710は、ネットワークアダプタ、無線ネットワークアダプタ、電話モデム及び/又は無線モデムであり得る。
【0158】
一実施形態では、プロセッサ702のうちの少なくとも1つは、システムインパッケージ(SiP)を形成するためにシステム制御ロジック708のための1つ以上のコントローラのロジックと共にパッケージされ得る。一実施形態では、プロセッサ702のうちの少なくとも1つは、システムオンチップ(SoC)を形成するために、システム制御ロジック708のための1つ以上のコントローラのロジックと共に同じダイに統合され得る。
【0159】
装置700は入出力(I/O)装置712をさらに含み得る。I/O装置712は、ユーザが装置700とやりとりするできるようにするためにユーザインターフェイスを含み得るか、周辺コンポーネントインターフェイスの設計は、周辺コンポーネントも装置700とやりとりできるようにする。一部の実施形態では、装置700は、装置700に関連する環境条件及び位置情報のうちの少なくとも1つを特定するように構成されたセンサをさらに含む。
【0160】
一部の実施形態では、ユーザインターフェイスは、限定されないが、ディスプレイ(例えば、液晶ディスプレイ又はタッチスクリーンディスプレイ)、スピーカ、マイクロホン、1つ以上のカメラ(例えば、静止画カメラ及び/又はビデオカメラ)、懐中電灯(例えば、発光ダイオードフラッシュ)及びキーボードを含み得る。
【0161】
一部の実施形態では、周辺コンポーネントインターフェイスは、限定されないが、不揮発性メモリポート、オーディオジャック及び電力インターフェイスを含み得る。
【0162】
一部の実施形態では、センサは、限定されないが、ジャイロセンサ、加速度計、近接センサ、周辺光センサ及びポジショニングユニットを含み得る。ポジショニングユニットは、代替的に、ネットワークインターフェイス710の一部であり得るか又はポジショニングネットワークのコンポーネント(例えば、地球測位システム(GPS)衛星)と通信するためにネットワークインターフェイス710とやりとりし得る。
【0163】
本願の方法の実施は、ソフトウェア、磁気コンポーネント、ファームウェア等を用いることにより実施され得る。
【0164】
プログラムコードは、本明細書で説明した機能を行い、出力情報を生成するために、入力命令に適用され得る。出力情報は、公知の方法で1つ以上の出力装置に適用され得る。本願の目的のために、処理システムは、デジタル信号プロセッサ(DSP)、マイクロコントローラ、特定用途向け集積回路(ASIC)又はマイクロプロセッサ等のプロセッサを有する任意のシステムを含む。
【0165】
プログラムコードは、処理システムと通信するために、高度プログラミング言語又はオブジェクト指向プログラミング言語で実施され得る。必要に応じて、プログラムコードを実施するために、アセンブリ言語又は機械言語も用いられ得る。実際、本明細書で説明した機構は、特定のプログラミング言語の範囲に限定されない。いずれの場合も、言語は、コンパイルされた言語又は解釈された言語であり得る。
【0166】
少なくとも1つの実施形態の1つ以上の態様は、コンピュータ読み取り可能記憶媒体に記憶された代表的な命令によって実施され得る。命令は、プロセッサ内の様々のロジックを表し、命令は、機械によって読み出された場合に、本明細書で説明する技術を実行するためにロジックを製造することを可能にする。これらの表現は「IPコア」と呼ばれ、有形のコンピュータ読み取り可能記憶媒体に記憶され、ロジック又はプロセッサを実際に製造する製造機械にロードされる複数の顧客又は製造施設に提供される。
【0167】
一部の場合では、ソース命令セットからターゲット命令セットに命令を変換するために命令コンバータが用いられ得る。例えば、命令コンバータは、命令をコアによって処理される1つ以上の他の命令に変換(例えば、静的バイナリ変換又は動的コンパイルを含む動的バイナリ変換を用いることにより)、変形、シミュレート又は他の方法で変換することができる。命令コンバータは、ソフトウェア、ハードウェア、ファームウェア又はそれらの組み合わせによって実施され得る。命令コンバータは、プロセッサ上にあっても、プロセッサの外にあっても又は部分的にプロセッサ上にあっても、部分的にプロセッサの外にあってもよい。
【0168】
前述の説明は本発明の具体的な実施に過ぎず、本発明の保護範囲はこれに限定されない。本発明で開示した技術的範囲内で当業者が容易に理解することができる様々な同等の変更又は置き換えは、本発明の保護範囲に含まれる。したがって、本発明の保護範囲は請求項の保護範囲に従うものとする。
図1a
図1b
図2
図3
図4
図5a
図5b
図5c
図6a
図6b
図6c
図7