(57)【特許請求の範囲】
【請求項１】
センサ装備されたデバイスにおけるセンサ冗長性を低減するための方法であって、
エリア内の少なくとも1つのデバイスを識別するステップと、
前記識別された少なくとも1つのデバイスに備えられるセンサの精度に基づいて、前記識別された少なくとも1つのデバイスの中からマスタデバイスを識別するステップと、
少なくとも1つのデバイスについてデバイスステータスとアプリケーションステータスとのうちの少なくとも一方を決定するために、前記マスタデバイスを介して前記少なくとも1つのデバイスに照会するステップと、
前記照会に少なくとも部分的に基づいて、前記マスタデバイスを介して前記少なくとも1つのデバイス内の1つまたは複数のセンサの構成を決定するステップと、
前記決定に少なくとも部分的に基づいて、前記マスタデバイスと前記少なくとも1つのデバイスとにわたるサービス品質の均衡をとるために前記マスタデバイスを介して前記少なくとも1つのデバイス内の前記1つまたは複数のセンサを構成するステップと
を含む方法。
【請求項２】
前記少なくとも1つのデバイスが、スマートフォン、タブレットコンピュータ、スマートシューズ、スマートウォッチ、テレビジョン、パーソナルコンピュータ、またはスマートグラス、のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項３】
前記1つまたは複数のセンサを構成するステップが、前記少なくとも1つのデバイス内の前記1つまたは複数のセンサの電力状態を切り替えるステップを含む、請求項1に記載の方法。
【請求項４】
前記1つまたは複数のセンサを構成するステップが、前記1つまたは複数のセンサの1つまたは複数のデータ処理属性を構成するステップを含む、請求項1に記載の方法。
【請求項５】
前記1つまたは複数のデータ処理属性が、データパス、データ精度、データフォーマット、またはデータ間隔、のうちの少なくとも1つを含む、請求項4に記載の方法。
【請求項６】
前記エリアが、前記少なくとも1つのデバイスに関連する所定の値、動的な値、または決定されたコンテキスト、のうちの少なくとも1つによって決定され得る、請求項1に記載の方法。
【請求項７】
前記決定するステップが、前記少なくとも1つのデバイスのセンサ実装マッピングを決定するステップを含む、請求項1に記載の方法。
【請求項８】
前記マスタデバイスを介して、前記少なくとも1つのデバイス内の前記1つまたは複数のセンサからのデータを、前記マスタデバイス内の1つまたは複数のセンサからのデータと時間同期するステップをさらに含む、請求項1に記載の方法。
【請求項９】
前記構成するステップが、所定の間隔のもと、または事前定義済みの条件のもと実施される、請求項1に記載の方法。
【請求項１０】
前記マスタデバイスにおいて場所要求を受信するステップと、
前記マスタデバイスを介して前記少なくとも1つのデバイス内の前記1つまたは複数のセンサをポーリングするステップと、
前記ポーリングに応答して前記少なくとも1つのデバイスの場所を前記少なくとも1つのデバイスから受信するステップと、
前記マスタデバイスを介して前記少なくとも1つのデバイスの前記場所を用いて前記場所要求に応答するステップと
をさらに含む、請求項1に記載の方法。
【請求項１１】
センサ装備されたデバイスにおけるセンサ冗長性を低減するための装置であって、
通信を送受信するように構成された送受信機と、
メモリと、
前記送受信機および前記メモリに結合されたプロセッサと
を備え、
前記プロセッサが、
エリア内の少なくとも1つのデバイスを識別するステップと、
前記識別された少なくとも1つのデバイスに備えられるセンサの精度に基づいて、前記識別された少なくとも1つのデバイスの中から前記装置自体をマスタデバイスとして識別するステップと、
前記少なくとも1つのデバイスについてデバイスステータスとアプリケーションステータスとのうちの少なくとも一方を決定するために、前記送受信機を介して前記少なくとも1つのデバイスに照会するステップと、
前記照会に少なくとも部分的に基づいて、前記少なくとも1つのデバイス内の1つまたは複数のセンサの構成を決定するステップと、
前記決定に少なくとも部分的に基づいて、前記装置と前記少なくとも1つのデバイスとにわたるサービス品質の均衡をとるために前記少なくとも1つのデバイス内の前記1つまたは複数のセンサを構成するステップと
を行うように構成された、装置。
【請求項１２】
前記少なくとも1つのデバイスが、スマートフォン、タブレットコンピュータ、スマートシューズ、スマートウォッチ、テレビジョン、パーソナルコンピュータ、またはスマートグラス、のうちの少なくとも1つを含む、請求項11に記載の装置。
【請求項１３】
前記1つまたは複数のセンサを構成するステップが、前記少なくとも1つのデバイス内の前記1つまたは複数のセンサの電力状態を切り替えるステップを含む、請求項11に記載の装置。
【請求項１４】
前記1つまたは複数のセンサを構成するステップが、前記1つまたは複数のセンサの1つまたは複数のデータ処理属性を構成するステップを含む、請求項11に記載の装置。
【請求項１５】
前記1つまたは複数のデータ処理属性が、データパス、データ精度、データフォーマット、またはデータ間隔、のうちの少なくとも1つを含む、請求項14に記載の装置。
【請求項１６】
前記エリアが、前記少なくとも1つのデバイスに関連する所定の値、動的な値、または決定されたコンテキスト、のうちの少なくとも1つによって決定され得る、請求項11に記載の装置。
【請求項１７】
前記決定するステップが、前記少なくとも1つのデバイスのセンサ実装マッピングを決定するステップを含む、請求項11に記載の装置。
【請求項１８】
前記プロセッサがさらに、前記少なくとも1つのデバイス内の前記1つまたは複数のセンサからのデータを、前記装置内の1つまたは複数のセンサからのデータと時間同期するステップを行うように構成された、請求項11に記載の装置。
【請求項１９】
前記構成するステップが、所定の間隔のもと、または事前定義済みの条件のもと実施される、請求項11に記載の装置。
【請求項２０】
前記プロセッサがさらに、
場所要求を受信するステップと、
前記送受信機を介して前記少なくとも1つのデバイス内の前記1つまたは複数のセンサをポーリングするステップと、
前記ポーリングに応答して、前記送受信機を介して前記少なくとも1つのデバイスの場所を前記少なくとも1つのデバイスから受信するステップと、
前記少なくとも1つのデバイスの前記場所を用いて前記場所要求に応答するステップと
を行うように構成された、請求項11に記載の装置。
【請求項２１】
センサ装備されたデバイスにおけるセンサ冗長性を低減するための装置であって、
エリア内の少なくとも1つのデバイスを識別するための手段と、
前記識別された少なくとも1つのデバイスに備えられるセンサの精度に基づいて、前記識別された少なくとも1つのデバイスの中から前記装置自体をマスタデバイスとして識別するための手段と、
前記少なくとも1つのデバイスについてデバイスステータスとアプリケーションステータスとのうちの少なくとも一方を決定するために、前記マスタデバイスを介して前記少なくとも1つのデバイスに照会するための手段と、
前記照会に少なくとも部分的に基づいて、前記マスタデバイスを介して前記少なくとも1つのデバイス内の1つまたは複数のセンサの構成を決定するための手段と、
前記決定に少なくとも部分的に基づいて、前記マスタデバイスと前記少なくとも1つのデバイスとにわたるサービス品質の均衡をとるために前記マスタデバイスを介して前記少なくとも1つのデバイス内の前記1つまたは複数のセンサを構成するための手段と
を備える装置。
【請求項２２】
前記1つまたは複数のセンサを構成するための前記手段が、前記少なくとも1つのデバイス内の前記1つまたは複数のセンサの電力状態を切り替えるための手段を含む、請求項21に記載の装置。
【請求項２３】
前記1つまたは複数のセンサを構成するための前記手段が、前記1つまたは複数のセンサの1つまたは複数のデータ処理属性を構成するための手段を含む、請求項21に記載の装置。
【請求項２４】
前記決定するための前記手段が、前記少なくとも1つのデバイスのセンサ実装マッピングを決定するための手段を含む、請求項21に記載の装置。
【請求項２５】
前記マスタデバイスを介して、前記少なくとも1つのデバイス内の前記1つまたは複数のセンサからのデータを、前記マスタデバイス内の1つまたは複数のセンサからのデータと時間同期するための手段をさらに含む、請求項21に記載の装置。
【請求項２６】
プロセッサ可読命令を含むプロセッサ可読記録媒体であって、前記プロセッサ可読命令が、プロセッサに、
エリア内の少なくとも1つのデバイスを識別するステップと、
前記識別された少なくとも1つのデバイスに備えられるセンサの精度に基づいて、前記識別された少なくとも1つのデバイスの中から前記プロセッサに関連付けられる装置をマスタデバイスとして識別するステップと、
前記マスタデバイスを介して、前記少なくとも1つのデバイスについてデバイスステータスとアプリケーションステータスとのうちの少なくとも一方を決定するために、前記少なくとも1つのデバイスに照会するステップと、
前記マスタデバイスを介して、前記照会に少なくとも部分的に基づいて、前記少なくとも1つのデバイス内の1つまたは複数のセンサの構成を決定するステップと、
前記マスタデバイスを介して、前記決定に少なくとも部分的に基づいて、マスタデバイスと前記少なくとも1つのデバイスとにわたるサービス品質の均衡をとるために前記少なくとも1つのデバイス内の前記1つまたは複数のセンサを構成するステップと
を行わせるように構成された、プロセッサ可読記録媒体。
【請求項２７】
前記1つまたは複数のセンサを構成するステップが、前記少なくとも1つのデバイス内の前記1つまたは複数のセンサの電力状態を切り替えるステップを含む、請求項26に記載のプロセッサ可読記録媒体。
【請求項２８】
前記1つまたは複数のセンサを構成するステップが、前記1つまたは複数のセンサの1つまたは複数のデータ処理属性を構成するステップを含む、請求項26に記載のプロセッサ可読記録媒体。
【請求項２９】
前記決定するステップが、前記少なくとも1つのデバイスのセンサ実装マッピングを決定するステップを含む、請求項26に記載のプロセッサ可読記録媒体。
【請求項３０】
前記プロセッサ可読命令がさらに、前記マスタデバイスを介して前記少なくとも1つのデバイス内の前記1つまたは複数のセンサからのデータを前記マスタデバイス内の1つまたは複数のセンサからのデータと時間同期するステップを、前記プロセッサに行わせるように構成された、請求項26に記載のプロセッサ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、センサ装備されたデバイスに関し、より詳細には、センサ装備されたデバイスにおけるセンサ冗長性を低減および/または管理するための方法および装置に関する。
【背景技術】
【０００２】
今日のデバイスは、デバイス間で共通の多くのセンサを備える。たとえば、GPS、加速度計、カメラ、マイクロフォンなどのセンサは通常、セルフォン、タブレットコンピュータ、スマートグラス、スマートウォッチ、スマートシューズなどを含めた、複数のデバイスタイプにおいて存在する。しばしば、測定値(たとえばGPS座標)を得るのに、個別デバイスからの単一のセンサだけしか必要でないことがある。他のデバイス中の他のセンサが冗長である結果、各デバイスの電力が無駄になり、各デバイスの性能が通常を下回る。したがって、人物の付近にあるこれらの様々なデバイスのセンサが調和して働くことによってこれらのデバイスが協調的に動作するように、これらのデバイスを最適化する必要性が存在する。
【発明の概要】
【課題を解決するための手段】
【０００３】
いくつかの実装形態では、センサ装備されたデバイスにおけるセンサ冗長性を低減するための方法は、マスタデバイスを介してエリア内の少なくとも1つのデバイスを識別するステップを含む。方法はまた、少なくとも1つのデバイスについてデバイスステータスとアプリケーションステータスとのうちの少なくとも一方を決定するために、マスタデバイスを介して少なくとも1つのデバイスに照会するステップを含む。加えて方法は、照会に少なくとも部分的に基づいて、マスタデバイスを介して少なくとも1つのデバイス内の1つまたは複数のセンサの構成を決定するステップを含む。方法はさらに、決定に少なくとも部分的に基づいて、マスタデバイスと少なくとも1つのデバイスとにわたるサービス品質の均衡をとるためにマスタデバイスを介して少なくとも1つのデバイス内の1つまたは複数のセンサを構成するステップを含む。
【０００４】
いくつかの実装形態では、少なくとも1つのデバイスは、スマートフォン、タブレットコンピュータ、スマートシューズ、スマートウォッチ、テレビジョン、パーソナルコンピュータ、またはスマートグラスを含む。
【０００５】
いくつかの実装形態では、1つまたは複数のセンサを構成するステップは、少なくとも1つのデバイス内の1つまたは複数のセンサの電力状態を切り替えることを含む。
【０００６】
いくつかの実装形態では、1つまたは複数のデータ処理属性は、データパス、データ精度、データフォーマット、データ間隔、のうちの少なくとも1つを含む。
【０００７】
いくつかの実装形態では、エリアは、少なくとも1つのデバイスに関連する所定の値、動的な値、決定されたコンテキスト、のうちの少なくとも1つによって決定され得る。
【０００８】
いくつかの実装形態では、決定するステップは、少なくとも1つのデバイスのセンサ実装マッピングを決定することを含む。
【０００９】
いくつかの実装形態では、加えて方法は、マスタデバイスを介して、少なくとも1つのデバイス内の1つまたは複数のセンサからのデータを、マスタデバイス内の1つまたは複数のセンサからのデータと時間同期することを含む。
【００１０】
いくつかの実装形態では、構成するステップは、所定の間隔のもと、または事前定義済みの条件のもと実施される。
【００１１】
いくつかの実装形態では、方法はまた、マスタデバイスにおいて場所要求を受信するステップと、マスタデバイスを介して少なくとも1つのデバイス内の1つまたは複数のセンサをポーリングするステップと、ポーリングに応答して少なくとも1つのデバイスの場所を少なくとも1つのデバイスから受信するステップと、マスタデバイスを介して少なくとも1つのデバイスの場所を用いて場所要求に応答するステップと、を含む。
【００１２】
いくつかの実装形態では、センサ装備されたデバイスにおけるセンサ冗長性を低減するための装置は、通信を送受信するように構成された送受信機と、メモリと、送受信機およびメモリに結合されたプロセッサと、を備える。プロセッサは、エリア内の少なくとも1つのデバイスを識別するステップと、少なくとも1つのデバイスについてデバイスステータスとアプリケーションステータスとのうちの少なくとも一方を決定するために、送受信機を介して少なくとも1つのデバイスに照会するステップと、照会に少なくとも部分的に基づいて、少なくとも1つのデバイス内の1つまたは複数のセンサの構成を決定するステップと、決定に少なくとも部分的に基づいて、装置と少なくとも1つのデバイスとにわたるサービス品質の均衡をとるために少なくとも1つのデバイス内の1つまたは複数のセンサを構成するステップと、を行うように構成される。
【００１３】
いくつかの実装形態では、センサ装備されたデバイスにおけるセンサ冗長性を低減するための装置は、マスタデバイスを介してエリア内の少なくとも1つのデバイスを識別するための手段を備える。装置はまた、少なくとも1つのデバイスについてデバイスステータスとアプリケーションステータスとのうちの少なくとも一方を決定するために、マスタデバイスを介して少なくとも1つのデバイスに照会するための手段を備える。加えて装置は、照会に少なくとも部分的に基づいて、マスタデバイスを介して少なくとも1つのデバイス内の1つまたは複数のセンサの構成を決定するための手段を備える。装置はさらに、決定に少なくとも部分的に基づいて、マスタデバイスと少なくとも1つのデバイスとにわたるサービス品質の均衡をとるためにマスタデバイスを介して少なくとも1つのデバイス内の1つまたは複数のセンサを構成するための手段を備える。
【００１４】
いくつかの実装形態では、プロセッサ可読命令を含むプロセッサ可読の非一時的媒体は、エリア内の少なくとも1つのデバイスを識別するステップと、少なくとも1つのデバイスについてデバイスステータスとアプリケーションステータスとのうちの少なくとも一方を決定するために、少なくとも1つのデバイスに照会するステップと、照会に少なくとも部分的に基づいて、少なくとも1つのデバイス内の1つまたは複数のセンサの構成を決定するステップと、決定に少なくとも部分的に基づいて、マスタデバイスと少なくとも1つのデバイスとにわたるサービス品質の均衡をとるために少なくとも1つのデバイス内の1つまたは複数のセンサを構成するステップと、をプロセッサに行わせるように構成される。
【００１５】
様々な実装形態の性質および利点の理解は、後続の図を参照することによって実現され得る。添付の図では、類似のコンポーネントまたは特徴が、同じ参照ラベルを有することがある。さらに、同じタイプの様々なコンポーネントが、ダッシュと、類似のコンポーネント間を区別する第2のラベルとを参照ラベルの後に続けることによって区別されることがある。明細書中で第1の参照ラベルのみが使用される場合、記述は、第2の参照ラベルにかかわらず、同じ第1の参照ラベルを有する類似のコンポーネントのうちの任意の1つに適用可能である。
【図面の簡単な説明】
【００１６】
【図１】1つまたは複数の実装形態を組み込むことができるポータブルデバイス100の単純化されたブロック図である。
【図２Ａ】いくつかの実装形態による、環境200内の複数のセンサ装備されたデバイスを示す図である。
【図２Ｂ】いくつかの実装形態による、環境250内のセンサ装備されたスマートフォン240を示す図である。
【図３】いくつかの実装形態による、センササブシステム最適化のための例示的な方法を示すフローチャート300である。
【図４】いくつかの実装形態による、センサ装備されたデバイスをグループ化するための例示的な方法を示すフローチャート400である。
【図５】いくつかの実装形態による、デバイスアプリケーション状態マッピングのための例示的な方法を示すフローチャート500である。
【図６】いくつかの実装形態による、デバイスアプリケーション状態マッピングのための例示的な方法を示すフローチャート600である。
【図７】いくつかの実装形態による、センサ装備されたデバイスにおけるセンサ冗長性を低減するための例示的な方法を示すフローチャート700である。
【図８】1つまたは複数の実装形態がその中で実装され得るコンピューティングシステムの例を示す図である。
【発明を実施するための形態】
【００１７】
添付の図面との関連で以下に示す詳細な記述は、様々な構成についての記述とするものであり、本明細書に記載の概念が実践され得る唯一の構成を表すものとはしない。詳細な記述は、様々な概念の完全な理解を提供する目的で、具体的な詳細を含む。しかし、これらの概念をこれらの具体的な詳細なしでも実践できることは、当業者には明らかであろう。場合によっては、そのような概念を曖昧にするのを避けるために、周知の構造およびコンポーネントはブロック図の形で示す。
【００１８】
次に、本明細書の一部を形成する添付の図面に関して、いくつかの例証的な実装形態について述べる。本開示の1つまたは複数の態様が実装され得る特定の実装形態について以下に述べるが、本開示の範囲を、または添付の特許請求の範囲の主旨を逸脱することなく、他の実装形態が使用されてもよく、様々な修正が加えられてもよい。
【００１９】
ここで、センサ装備されたデバイスのいくつかの態様を、様々な装置および方法を参照して提示する。これらの装置および方法は、様々なブロック、モジュール、コンポーネント、回路、ステップ、プロセス、アルゴリズムなど(「要素」と総称される)によって、後続の詳細な記述において記述され、添付の図面において示される。これらの要素は、電子ハードウェア、コンピュータソフトウェア、またはこれらの任意の組合せを使用して実装されてよい。そのような要素がハードウェアとして実装されるかソフトウェアとして実装されるかは、システム全体に課される特定の適用および設計制約に依存する。
【００２０】
例として、要素、または要素の任意の部分、または要素の任意の組合せは、1つまたは複数のプロセッサを備える「処理システム」を用いて実装されてよい。プロセッサの例は、本開示の全体にわたって記載される様々な機能を実施するように構成された、マイクロプロセッサ、マイクロコントローラ、ディジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックデバイス(PLD)、ステートマシン、ゲーテッドロジック、ディスクリートハードウェア回路、および他の適切なハードウェアを含む。処理システム中の1つまたは複数のプロセッサは、ソフトウェアを実行することができる。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはその他の、いずれの呼び方で呼ばれようと、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行のスレッド、プロシージャ、関数などを意味するものと広く解釈されるべきである。
【００２１】
したがって、1つまたは複数の例示的な実装形態では、記載される機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組合せにおいて実装されてよい。ソフトウェアにおいて実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上で記憶または符号化されてよい。コンピュータ可読媒体は、コンピュータストレージ媒体を含む。ストレージ媒体は、コンピュータによってアクセスできる任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROM、もしくは他の光学ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、所望のプログラムコードを命令もしくはデータ構造の形で搬送もしくは記憶するのに使用できコンピュータによってアクセスできる他の任意の媒体、を含むことができる。ディスク(disk)およびディスク(disc)は、本明細書においては、コンパクトディスク(CD)、レーザディスク、光学ディスク、ディジタル多用途ディスク(DVD)、およびフロッピーディスクを含み、ディスク(disk)は通常、データを磁気的に再生し、一方、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【００２２】
本明細書に記載の実装形態は、ユーザの事前定義済みの近傍内で1つまたは複数のデバイスを識別することを含む。デバイスの識別は、デバイスに利用可能な様々なセンサを使用して、どのデバイスが近傍内にあるかを知ることに基づくことができる。1つのデバイスが、事前定義済みのマスタデバイス優先順位に基づいて、またはデバイスの現在状態(たとえば、残りの電池寿命、コンピューティング可用性など)に基づいて、マスタ役割を担うことができる。マスタデバイスは、他の様々なデバイスに対して、それらのデバイス状態(たとえば、センサ状態、アプリケーション状態など)についてポーリングすることができる。他の様々なデバイスをポーリングすることから、マスタデバイスは、デバイスにわたるアクティブなセンサの構成、データルーティングパス、通信方法、更新間隔などを識別することができる。次いで、マスタデバイスは、他のデバイスにわたるセンサの制御/共有を取得することができる。マスタは、必要性、電池容量/レベル、システム負荷、使用パターン、精度などに基づいて、他のデバイス内のセンサをオンやオフにすること、またはセンサを構成することができる。他のデバイスのセンサから得られたデータは、入力データの一様性のために、かつ、最適な電力/性能に向けて通信ウィンドウを切り替えるために、時間同期されてよい。特定の条件または事前定義済みの間隔のもと、センサデータパスが再評価されて、いずれかの変更が実装されるべきかどうかが決定される。
【００２３】
具体的な要件に従って、多くの実装形態がなされ得る。たとえば、カスタマイズされたハードウェアが使用されることもあり、かつ/または、特定の要素が、ハードウェア、ソフトウェア(アプレットなどのポータブルソフトウェアを含む)、もしくは両方において実装されることもある。さらに、ネットワーク入出力デバイスなど、他のコンピューティングデバイスへの接続が採用されてもよい。
【００２４】
静電容量タッチパネルを備えるポータブルデバイス
図1は、1つまたは複数の実装形態を組み込むことができるポータブルデバイス100の単純化されたブロック図を示す。ポータブルデバイス100は、プロセッサ110、ディスプレイ130、入力デバイス140、スピーカ150、メモリ160、送受信機170、デバイス能力および優先順位データベース172、センサ構成データベース176、デバイスアプリケーションセンサマッピングデータベース178、センササブシステム180、およびコンピュータ可読媒体190を備える。
【００２５】
プロセッサ110は、ポータブルデバイス100上で命令を遂行するように動作可能な任意の汎用プロセッサであってよい。プロセッサ110は、ディスプレイ130、入力デバイス140、スピーカ150、送受信機170、センササブシステム180、およびコンピュータ可読媒体190を含めた、ポータブルデバイス100の他のユニットに結合される。
【００２６】
ディスプレイ130は、情報をユーザに対して表示する任意のデバイスであってよい。例は、LCDスクリーン、CRTモニタ、または7セグメントディスプレイを含み得る。
【００２７】
入力デバイス140は、ユーザからの入力を受け入れる任意のデバイスであってよい。例は、キーボード、キーパッド、マウス、またはタッチ入力を含み得る。
【００２８】
スピーカ150は、音をユーザに対して出力する任意のデバイスであってよい。例は、電気オーディオ信号に応答して音を出す、内蔵スピーカまたは他の任意のデバイスを含み得る。
【００２９】
メモリ160は、任意の磁気、電子、または光学メモリであってよい。メモリ160は、2つのメモリモジュール、すなわちモジュール1 162およびモジュール2 164を備える。メモリ160は任意の数のメモリモジュールを含んでよいことを、理解することができる。メモリ160の例は、ダイナミックランダムアクセスメモリ(DRAM)であろう。
【００３０】
送受信機170は、ワイヤレス信号を送受信するように構成された任意の送信機/受信機であってよい。送受信機170は、ワイヤレス仕様、たとえばWi-FiやBluetooth(登録商標)、によって指定されるフォーマットのワイヤレス信号を送受信するように動作可能であってよい。いくつかの実装形態では、送受信機170は、エリア内のデバイスを識別すること、これらのデバイスに照会すること、および/またはこれらのデバイスをポーリングすることに使用されてよい。
【００３１】
センササブシステム180は、位置センサ182、温度センサ184、動きセンサ186、および光センサ188を備える。図1に示すセンサは単なる例であり、センササブシステム180は、図に描かれていないセンサタイプを含めた任意の数のセンサを備えてよいことを、理解することができる。センササブシステム180は、センサのうちのいずれかと、ポータブルデバイス100のコンポーネントのうちのいずれか、たとえばプロセッサ110と、の間のアクセスを容易にするように構成されてよい。位置センサ182は、ポータブルデバイス100の位置測定値を得るように構成されてよい。位置センサ182は、線形、角度、または多軸位置センサであってよい。いくつかの実装形態では、位置センサ182は、GPSデバイスであってよい。温度センサ184は、ポータブルデバイス100が現在位置する周辺の周囲温度測定値を得るように構成されてよい。たとえば、ポータブルデバイス100がオフィスビル内に位置する場合、温度センサ184は、オフィスビル内の温度測定値を得ることができる。動きセンサ186は、ポータブルデバイス100の動きおよび/または配向を決定するように構成されてよい。動きセンサ186は、加速度計、または一連の加速度計であってよい。光センサ188は、ポータブルデバイス100が現在位置する周辺内の周囲光の量を測定するように構成されてよい。光センサ188は、人間の眼と同様にして、光または明るさを検出することができる。光センサ188は、光を電圧または電流に変換できる、フォトダイオードの特定バージョンであってよい。光センサ188は、350nm〜1100nmの範囲の、通常のスペクトル反応を有することができる。したがって、光センサ188は、ポータブルデバイス100が存在する環境の周囲光の量を検出することができる。
【００３２】
コンピュータ可読媒体190は、任意の磁気、電子、光学、または他のコンピュータ可読ストレージ媒体であってよい。コンピュータ可読媒体190は、プロセッサ110によって実行可能な1つまたは複数のソフトウェアモジュールを含むことができる。これらのソフトウェアモジュールは、デバイス識別モジュール192、デバイス照会モジュール194、およびデバイス構成モジュール196を含むことができる。
【００３３】
デバイス識別モジュール192は、ポータブルデバイス100に近いエリア内の1つまたは複数のデバイスを識別するように構成されてよい。1つまたは複数のデバイスは、次のものに限定されないが、スマートフォン、タブレット、スマートウォッチ、スマートシューズ、スマートグラスなどを含み得る。デバイス識別モジュール192は、送受信機170とインターフェースして、通信を他のデバイスに送ることができ、または通信をブロードキャストして他のデバイスの存在を検出することができる。たとえば、デバイス識別モジュール192は、送受信機170とインターフェースして検出メッセージをブロードキャストすることができ、ポータブルデバイス100に近い他のデバイスは、この検出メッセージに応答することができる。ブロードキャストメッセージは、通信プロトコル、たとえばWi-FiやBluetooth(登録商標)、に従って作成され送られてよい。
【００３４】
デバイス照会モジュール194は、デバイス識別モジュール192によって識別された、ポータブルデバイス100に近いエリア内の1つまたは複数のデバイスに照会するように構成されてよい。デバイス照会モジュール194は、送受信機170とインターフェースして、1つまたは複数のデバイスに照会することができる。1つまたは複数のデバイスに照会すると、デバイス照会モジュール194は、識別された1つまたは複数のデバイスについてのセンサステータスおよび/またはアプリケーションステータスを決定することができる。たとえば、デバイス照会モジュール194は、1つまたは複数のデバイス上にどのタイプのセンサが存在するか、センサの現在状態、1つまたは複数のデバイス上にどのアプリケーションが存在するか、およびアプリケーションの現在状態、を決定することができる。
【００３５】
デバイス構成モジュール196は、識別された1つまたは複数のデバイスの、アクティブなセンサの構成、データルーティングパス、通信方法、更新間隔などを決定するように構成されてよい。1つまたは複数のデバイスの様々な構成を決定すると、デバイス構成モジュール196は、1つまたは複数のデバイスのアプリケーションおよび/またはセンサを構成することができる。たとえば、デバイス構成モジュール196は、送受信機170を使用して送られるメッセージを介して、デバイスに、そのGPSセンサの電源を落とすよう命令することができる。
【００３６】
デバイス能力および優先順位データベースは、識別された1つまたは複数のデバイスに関係する情報を記憶するように構成される。情報は、デバイス名、デバイス製造業者、デバイス識別子、およびデバイス能力を含むことができる。デバイス能力および優先順位データベースはまた、各デバイスの優先順位に関係する情報を記憶することもできる。各デバイスは優先順位の順にランク付けされてよく、優先順位の高いセンサほど優先される。デバイス識別モジュール192およびデバイス照会モジュール194は、前述の識別ステップおよび照会ステップの実施時、デバイス能力および優先順位データベース172をリアルタイムでポピュレートすることができる。
【００３７】
センサ構成データベース176は、識別された1つまたは複数のデバイス中の様々なセンサの構成に関係する情報を記憶することができる。センサ構成データベース176は、センサタイプ、センサパワー、センサ帯域幅、センサデータタイプなどに関する情報を含むことができる。デバイス構成モジュール196は、前述の構成決定ステップの実施時、センサ構成データベース176をリアルタイムでポピュレートすることができる。
【００３８】
デバイスアプリケーションセンサマッピングデータベース178は、識別された1つまたは複数のデバイス内の、1つまたは複数のアプリケーションと1つまたは複数のセンサとの間のマッピングに関係する情報を記憶することができる。マッピング情報は、1つまたは複数のデバイス内のどのセンサが、ポータブルデバイス100上で稼働するアプリケーションによって使用され得るかに関する情報を含むことができる。デバイス構成モジュール196は、前述の構成決定ステップの実施時、デバイスアプリケーションセンサマッピングデータベース178をリアルタイムでポピュレートすることができる。
【００３９】
図2Aは、いくつかの実装形態による、環境200内の複数のセンサ装備されたデバイスを示す。環境200は、車両210、スマートウォッチ220、タブレットコンピュータ230、およびスマートフォン240を含む。スマートウォッチ220、タブレットコンピュータ230、およびスマートフォン240は、車両210内に位置してよい。たとえば、ユーザが、旅行のためにこれらのデバイスを携帯しながら、車両210を運転していてよい。デバイスの各々は、1つまたは複数のセンサを備えることができる。たとえば、スマートウォッチは、GPSセンサ、加速度計、および血圧センサを備えることができる。タブレットコンピュータ230は、GPSセンサ、光センサ、および指紋センサを備えることができる。スマートフォン240は、GPSセンサ、光センサ、および温度センサを備えることができる。示されるように、この例では、各デバイスはGPSセンサを備え、スマートフォン240とタブレットコンピュータ230の両方はまた、光センサも備える。また、この例では、スマートウォッチは光センサも温度センサも備えず、タブレットコンピュータ230は加速度計も血圧センサも温度センサも備えず、スマートフォン240は加速度計も血圧センサも指紋センサも備えないことが示されている。しかし、本明細書に記載のシステムおよび方法は、デバイス間のセンサ冗長性を低減することができ、また、特定デバイスの特定センサを、これらの特定センサが装備されない他のデバイスでの使用のために活用することができる。
【００４０】
図2に示すように、たとえば、各デバイスがGPSセンサを備えるので、3つのGPSセンサすべての電源が入れられるようにすることは冗長であろうし、各デバイスの性能が通常を下回ることを引き起こす可能性がある。図2に示すデバイスのうちの1つが、図1に関して述べたポータブルデバイス100の機能を遂行できることを、理解することができる。このデバイスは、「マスタデバイス」として機能して、本明細書に記載のシステムおよび方法を実装することができる。例証の目的で、スマートフォン240がマスタデバイスであってよい。どのデバイスがマスタデバイスとしての働きをすることになるかの選択は、事前定義済みのマスタ優先順位に基づくことができ、またはデバイスの現在状態に基づくことができる。現在状態は、残りの電池寿命や処理力などを含むことができる。
【００４１】
スマートフォン240は、デバイス識別モジュール192(図1)を介して、スマートフォン240に近いエリア中の1つまたは複数の他のデバイスを識別することができる。この例では、スマートフォン240に近いエリアは、車両210内のエリアを含むことができる。したがって、スマートフォン240は、スマートウォッチ220およびタブレットコンピュータ230を識別することができる。スマートフォン240に近いエリアはまた、ユーザ上にあると決定されたデバイス、所定距離内のデバイス、または他の任意の定義されたエリアを含んでもよいことを、理解することができる。
【００４２】
スマートフォン240に近いエリア内のデバイスの識別は、デバイス識別モジュール192(図1)を介して、Wi-FiやBluetooth(登録商標)などの通信標準を使用して実施されてよい。スマートフォン240は、デバイス識別モジュール192(図1)を介して通信をブロードキャストすることができ、スマートフォン240に近いデバイスは、この通信に応答することができる。たとえば、スマートウォッチ220およびタブレットコンピュータ230は、スマートフォン240によるブロードキャスト通信に応答することができる。スマートフォン240は、受信された応答に基づいて、デバイス識別モジュール192(図1)を介して、どのデバイスが近接エリア内にあるかを決定することができる。次いで、スマートフォンは、識別されたデバイスに関する情報で、デバイス能力および優先順位データベース172(図1)を更新することができる。
【００４３】
スマートフォン240に近いエリア内にどのデバイスがあるかを決定すると、スマートフォン240は、デバイス照会モジュール194(図1)を介して、識別されたデバイスの各々の状態を決定するために各デバイスに照会することができる。各デバイスの状態は、センサ状態、アプリケーション状態などを含むことができる。各デバイスは、その現在状態に関する情報で、照会要求に応答することができる。たとえば、スマートフォン240は、スマートウォッチ220およびタブレットコンピュータ230の現在状態を決定するために、これらのデバイスをポーリングすることができる。スマートウォッチ220およびタブレットコンピュータ230は、現在のセンサ状態およびアプリケーション状態で、スマートフォン240に応答することができる。この場合もやはり、これらの通信は、通信プロトコル、たとえばWi-FiやBluetooth(登録商標)に従うことができる。照会時にデバイスのうちの1つがスリープ状態である場合、このデバイスはウェイクアップされて照会要求に応答できることを、理解することができる。いくつかの実装形態では、1つまたは複数のデバイスのセンサ状態およびアプリケーション状態は、デバイスの能力に基づいて事前構成されてよい。
【００４４】
識別されたデバイスの各々に照会して各デバイスの状態を決定すると、スマートフォン240は、識別された1つまたは複数のデバイスに関する、アクティブなセンサの構成、データルーティングパス、データ制御パス、データ処理ユニット情報、データフォーマット、通信方法、更新間隔などを識別することができる。識別は、前述のようにデバイス構成モジュール196(図1)によって実施されてよい。加えて、デバイス構成モジュール196(図1)は、識別された1つまたは複数のデバイス中の1つまたは複数のセンサの、必要とされるアクティブ状態を決定することができる。必要とされる状態の決定は、必要性、電池容量、残りの電池、システム負荷、使用パターン、精度などに基づくことができる。たとえば、スマートフォン240は、タブレットコンピュータ230およびスマートウォッチ220のセンサの構成を識別することができる。
【００４５】
アクティブなセンサの構成を識別すると、スマートフォン240は、上記の決定に基づいて、識別された1つまたは複数のデバイス中の1つまたは複数のセンサを構成することができる。識別された1つまたは複数のデバイスの各々の中のセンサは、スマートフォン240によって定義されるタスクを実施することができる。この時点で、スマートフォン240は、「マスタデバイス」としてのその役割を止めることができる。たとえば、スマートフォン240は、タブレットコンピュータ230およびスマートウォッチ220内のセンサを構成することができる。次いで、スマートフォン240、タブレットコンピュータ230、およびスマートウォッチ220にまたがる様々なセンサは、協働してデータを共有することができる。
【００４６】
前述のシステムおよび方法は、図2に描かれる環境200に適用されるものとしてさらに理解することができる。前述のように、環境200中の様々なデバイスは、冗長なセンサを有する。たとえば、スマートウォッチ220、タブレットコンピュータ230、およびスマートフォン240はすべて、GPSセンサを有する。いくつかの実装形態では、環境200中の車両210は、前述のように「マスタ」デバイスとして機能する能力を備える「スマート」車両であってもよい。「スマート」車両210は、図1のポータブルデバイス100に関して述べたのと同様の要素を備えることができる。先に言及したように、スマートウォッチ220、タブレットコンピュータ230、およびスマートフォン240はすべて、車両210内に位置してよい。いくつかの実装形態では、デバイスは、デバイス間通信プロトコルを使用して、それら自体を相互とペアにすることができる。すなわち、車両210、スマートウォッチ220、タブレットコンピュータ230、およびスマートフォン240は、相互間で通信することができる。この特定の例では、車両210は、その電池容量、処理容量、または感知能力に基づいて、それ自体を「マスタデバイス」として識別することができる。たとえば、車両210が、デバイスのうちで最も速いプロセッサ、および/またはデバイスのうちで長い電池寿命をそれ自体が有すると決定した場合、車両はそれ自体を「マスタデバイス」と宣言することができる。車両210が「マスタデバイス」として機能する場合、車両210は、スマートウォッチ220、タブレットコンピュータ230、およびスマートフォン240を、車両210内にあるかまたは車両210の近くにあるものとして識別することができる。
【００４７】
次いで、車両210は、スマートウォッチ220、タブレットコンピュータ230、およびスマートフォン240に照会して、それらのデバイス状態を決定することができる。デバイス状態は、次のものに限定されないが、センサ構成、アプリケーション状態、および電力/処理容量を含むことができる。スマートウォッチ220、タブレットコンピュータ230、およびスマートフォン240のデバイス状態を知ると、車両210は、様々なデバイスにまたがってGPSセンサ冗長性があると決定することができる。すなわち、車両210は、スマートウォッチ220、タブレットコンピュータ230、およびスマートフォン240がすべてGPSセンサを備えると決定することができる。様々なデバイスにまたがるすべてのGPSセンサをアクティブのままにしておくと、電池寿命が損なわれることがあり、結果的にデバイスの性能が通常を下回ることがあるので、そうするのは非効率的であろう。通常、車両が移動しているときは、1つのGPSセンサだけしか必要でない可能性がある。車両210は、様々なデバイスにまたがってどのGPSセンサを使用するかを決定することができる。この決定は、GPSセンサの精度および/または信号強度と、様々なデバイスのリソースレベル(たとえば、電池レベル、CPUパワーなど)と、GPSセンサを使用する可能性のあるアプリケーション(たとえば、車両210上で稼働するナビゲーションアプリケーション)に対するレイテンシ要件と、に基づくことができる。たとえば、車両210は、スマートフォン240内に位置するGPSセンサを使用すると決定することができる。
【００４８】
この時点で、車両210は、スマートウォッチ220およびタブレットコンピュータ230中のGPSセンサの電源を切ることを選ぶことができる。というのは、それらは冗長である可能性があり、それらからのデータはナビゲーションに必要でない可能性があるからである。車両210は、スマートウォッチ220およびタブレットコンピュータ230に、それらのGPSセンサをオフにするよう命令する通信を送ることによって、これを達成することができる。次いで、車両210は、スマートフォン240との接続を確立することができる。接続を確立することは、スマートフォン240上のGPSセンサの更新間隔、精度、データ帯域幅などを設定することによって、このGPSセンサを構成することを含むことができる。これらの属性の構成は、デバイス特有であることがある。さらに、接続を確立することは、データフォーマットと、車両210とスマートフォン240との間のデータ通信を同期する時間と、を選択することを含むことができる。次いで、車両210は、合意された通信フォーマットを介して、スマートフォン240のGPSセンサからデータを受信することができる。いくつかの実装形態では、車両210は、受信したGPSデータをスマートウォッチ220およびタブレットコンピュータ230に定期的に送ることができる。
【００４９】
車両210とスマートフォン240内のGPSセンサとが切断されると、スマートウォッチ220およびタブレットコンピュータ230内のGPSセンサがアクティブ化状態になってよい。GPSセンサは、自動的にアクティブ化状態になってもよく、または、車両210がスマートフォン240内のGPSセンサから切断されたときに車両210から通信を受信するとアクティブ化状態になってもよい。
【００５０】
別の例では、本明細書に記載のシステムおよび方法は、ネットワークデータ接続性に適用されることが可能である。たとえば、スマートフォン240とタブレットコンピュータ230の両方が、通信センサ(たとえば、Wi-Fiおよび3G/4Gモジュール)を備えることができる。一例では、スマートフォン240が、特定の基準に基づいて「マスタ役割」を担うことができる。基準は、使用、たとえば、ユーザがタブレットコンピュータ230を現在使用していないかどうか、を含むことができる。基準はまた、タブレットコンピュータ230の能力、たとえば、タブレットコンピュータは3G接続性のみをサポートするが、スマートフォン240は4G接続性をサポートすること、を含むこともできる。したがって、スマートフォン240は、タブレットコンピュータ230に、そのWi-Fiおよび3G/4Gモジュールの電源を切るよう命令することができ、スマートフォン240は、たとえばBluetooth(登録商標)を使用して、タブレットコンピュータ230とのデータ共有通信を確立することができる。スマートフォン240が「マスタ役割」を担うことができる他の条件は、タブレットコンピュータ230上で接続性信号がないとき、またはタブレットコンピュータ230上のアプリケーションが接続性を必要としないときを含むことができる。
【００５１】
図2Aに関して述べたシステムおよび方法は、計算性能の増大、電池寿命の増加、より良いサービス品質、および様々なデバイスにわたる一様なデータアクセスをもたらすことができることを、理解することができる。
【００５２】
図2Bは、いくつかの実装形態による、環境250内のセンサ装備されたスマートフォン240を示す。環境250は、車両210およびスマートフォン240を含む。スマートフォン240は、車両210内に位置してよい。たとえば、ユーザが、旅行のためにスマートフォン240を携帯しながら、車両210を運転していてよい。スマートフォン240は、1つまたは複数のセンサを備えることができる。さらに、スマートフォン240と車両210の両方には、自然ユーザインターフェース(たとえば、音声認識およびジェスチャ認識システム)が装備されてよい。車両210は、図2Aに関して述べたシーケンスと同様、スマートフォン240に照会することができ、また、それ自体を「マスタデバイス」として識別することができる。次いで、車両210は、スマートフォン240もまた自然インターフェースを有すること、したがって自然インターフェース冗長性が存在することを識別することができる。車両210は、スマートフォン240に、スマートフォン240上の自然ユーザインターフェースに関連するいくつかのセンサの電源を切るよう命令することができる。たとえば、これらのセンサは、次のものに限定されないが、カメラ、マイクロフォン、およびタッチコントローラを含み得る。車両210内の、オフにされたこれらのセンサに類似するセンサを使用して、自然ユーザインターフェースの機能が遂行されてよい。
【００５３】
さらに、自然ユーザインターフェースは、車両210のインターフェースに統合されてもよい。たとえば、ユーザは、「電話」という単語を話すか、特定のジェスチャを実施して、ユーザの入力をスマートフォン240にルーティングすることができる。いくつかの実装形態では、手動オーバライド(たとえば、車両210へのユーザ入力)、近接の喪失(たとえば、ユーザが車両210を離れる)、またはアクションもしくはアクティビティの変化(たとえば、ユーザが車両210の運転を止める)、などのイベントに基づいて、スマートフォン240は、オフにされたセンサを再アクティブ化することができる。
【００５４】
図2Bに関して述べたシステムおよび方法は、計算性能の増大、電池寿命の増加、より良いサービス品質、および様々なデバイスにわたる一様なデータアクセスをもたらすことができることを、理解することができる。
【００５５】
図3は、いくつかの実装形態による、センササブシステム最適化のための例示的な方法を示すフローチャート300である。ブロック302で、方法は、ユーザが手動オーバライドを開始したかどうかを決定する。ユーザが手動オーバライドを発行した場合は、方法は継続せず、センサ構成の手動制御がユーザに与えられる。ブロック304で、マスタデバイスに近いデバイスが識別される。デバイスの識別は、どのデバイスが相互に近いかを決定するためにGPS座標に基づくことができる。デバイスの識別はまた、デバイスのうちの1つによって得られるカメラ画像に基づくこともでき、このカメラ画像を使用して、カメラ画像の視野内のデバイスが識別される。同様に、デバイスの識別はまた、デバイス上のマイクロフォンによって得られるオーディオ信号に基づくこともでき、このオーディオ信号を使用して、どのデバイスに同じオーディオ信号が聞こえるかに基づいてデバイスが識別される。他の多くの識別手段が採用されてもよいことを、理解することができる。ブロック302における識別ステップは、デバイスの各々の上で実行されるアプリケーションを介して、または標準化されたプロトコルを介して実装されてよい。
【００５６】
ブロック306で、識別されたデバイスは、それらのセンサステータスおよびアプリケーション/システムステータスについてポーリングされる。マスタデバイスが、デバイスをポーリングすることができる。センサステータスは、ポーリングされたデバイス上のどのセンサが現在アクティブであるかに関する情報と、それらの能力に関する情報とを、マスタデバイスに提供することができる。さらに、アプリケーションステータスは、ポーリングされたデバイス上のどのアプリケーションが現在、デバイス上のセンサのいずれかを使用しているかまたは何らかの時点で使用する可能性があるかに関する情報を、マスタデバイスに提供することができる。たとえば、ポーリングされたデバイス上のGPSセンサがイネーブルにされているが、このデバイス上の場所ベースのアプリケーションのどれもGPSセンサを使用していないことがある。この情報は、デバイスアプリケーションセンサマッピングデータベース178(図1)にポピュレートされてよい。
【００５７】
ブロック308で、識別されたデバイスから、センサの構成、データルーティングパス、通信方法、および更新間隔が識別される。識別されたデバイス上のセンサの精度もまた決定されてよい。この情報を使用してセンサが構成されてよい。たとえば、最も低い電力を使用するセンサがアプリケーションとともに使用されてよく、より高い電力使用を伴うセンサはオフにされてよい。マスタデバイスは、センサ構成に関する命令を含む通信を、識別されたデバイスに送ることができる。通信は、センサについての電力状態、データ周波数、データ間隔、データフォーマットなどを含むことができる。識別されたセンサ構成、データルーティングパス、通信方法、および更新間隔で、センサ構成データベース176(図1)がポピュレートされてよい。
【００５８】
ブロック310で、識別されたデバイス上のセンサを構成した後、マスタデバイスに近い他のすべてのデバイス(マスタデバイス自体も含み得る)によって、デバイス上のアクティブなセンサからセンサデータが取得される。センサデータは、すべてのデバイスにわたって共有されてよい。加えて、センサデータは、特定のアプリケーションとともにセンサデータを使用する特定のデバイスによって処理されてよい。センサデータはまた、デバイスのうちの1つまたは複数によって制御されてもよい。
【００５９】
ブロック312で、方法は、センサ構成を再構成する必要があるかどうかを決定する。必要がある場合は、方法はブロック302で再び開始し、そうでない場合は、方法は、ブロック310で、センサデータを取得、処理、および制御することを継続する。センサデータは、様々な基準に基づいて再構成される必要があることがある。たとえば、特定のデバイスの電池寿命が短く、このデバイス上のセンサが使用されている場合は、このセンサを使用するアプリケーションが稼働し続けられるように、このセンサはオフにされてよく、別のデバイス上の別の冗長センサがイネーブルにされてよい。
【００６０】
図4は、いくつかの実装形態による、センサ装備されたデバイスをグループ化するための例示的な方法を示すフローチャート400である。フローチャート400に示される方法は、図3のブロック304をさらに詳細に示す。ブロック402で、デバイスを共にグループ化するための1つまたは複数の基準が定義される。基準は、様々なデバイス間の距離に基づくことができる。別の基準は、デバイス内のセンサを使用するコスト、すなわち、どんなタイプのデータが送られなければならないか、およびどんな媒体を介してデータが送られることが可能か、に基づくことができる。さらに別のタイプの基準は、デバイスアビリティ、またはデバイス内のセンサのアビリティであってよい。たとえば、いくつかのセンサは、他のセンサよりも正確なデータを提供できることがある。別のタイプの基準は、グループ化許可に基づくこともできる。
【００６１】
ブロック404で、グループ化基準を満たすデバイスが検出される。グループ化基準を満たすデバイスの検出は、通信プロトコルを介してマスタデバイスによって実施されてよい。これらのデバイスは、カメラ、GPS、電話機、タブレット、TV、自動車などを含み得る。
【００６２】
ブロック406で、デバイスは、上で定義されたグループ化基準に基づいてグループ化されてよい。たとえば、デバイスは、電池寿命、センサタイプ、センサ精度、利用可能なセンサ、計算容量などに基づいてグループ化されてよい。
【００６３】
ブロック408で、グループに優先順位がつけられてよい。グループの優先順位は、事前定義済みであってもよく、またはデバイスのコンテキストに基づいて進行中に決定されてもよい。たとえば、電池寿命が重要ファクタである場合、より長い電池寿命を有するデバイスを含むグループに、より高い優先順位が与えられてよい。いくつかの実装形態では、より高い優先順位を有するグループは、マスタデバイスとしての働きをする機会が増えるものとすることができる。通常、より高い優先順位のグループは、増大したセンサ能力を有することができる。
【００６４】
ブロック410で、グループ内の個々のデバイスに優先順位がつけられてよい。いくつかの実装形態では、デバイス能力および優先順位データベース172(図1)がアクセスされて、個々のデバイスの優先順位が決定されてよい。デバイス優先順位の選択は、デバイスグループ化に対する基準と同様の基準、たとえば、電池寿命、センサタイプ、センサ精度、デバイス処理力などに基づくことができる。いくつかの実装形態では、最も高い優先順位を有するデバイスが、マスタデバイスとして定義されてよい。
【００６５】
図5は、いくつかの実装形態による、デバイスアプリケーション状態マッピングのための例示的な方法を示すフローチャート500である。フローチャート500に示される方法は、図3のブロック306をさらに詳細に示す。ブロック502で、識別されたすべてのデバイスが処理されたかどうかが決定される。識別されたすべてのデバイスが処理された場合は、方法は終了する。そうではなく、すべてのデバイスが処理されてはいない場合は、方法はブロック504で継続する。ブロック504で、デバイスのグループからの次のデバイスが選択される。ブロック506で、選択されたデバイス内の様々なセンサのセンサ状態が得られる。センサ状態は、センサがオンであるかオフであるか、センサの現在の動作モード、センサポジショニングのタイプなどを含むことができる。
【００６６】
ブロック508で、選択されたデバイス内の様々なセンサのアプリケーション状態が得られる。アプリケーション状態は、どんなタイプのアプリケーションが稼働しているか、および、これらのアプリケーションがどんなタイプのセンサデータを使用しているかを含むことができる。たとえば、場所ベースのナビゲーションアプリケーションが、GPSセンサを使用していると決定される可能性がある。アプリケーションが現在稼働しているか、それともデバイスのオペレーティングシステムのバックグラウンドで稼働しているか、など、アプリケーション状態に関するさらに他の情報が得られてよい。
【００６７】
ブロック510で、アプリケーションがセンサに関連付けられてよい。この時点で、各アプリケーションに関する情報がわかっており、アプリケーションの実行を容易にするために様々なデバイスにまたがってどのセンサがアクティブである必要があるかが決定されてよい。この情報は、デバイスアプリケーションセンサマッピングデータベース178にポピュレートされてよい。たとえば、デバイスのうちの1つがビデオアプリケーションを稼働させていると決定された場合、識別された様々なデバイスにまたがって少なくとも1つのカメラがアクティブである必要があることになる。
【００６８】
図6は、いくつかの実装形態による、デバイスアプリケーション状態マッピングのための例示的な方法を示すフローチャート600である。フローチャート600に示される方法は、図3のブロック308をさらに詳細に示す。ブロック602で、センサ冗長性が識別される。識別は、特定のタイプの2つ以上のセンサが様々なデバイスにまたがって存在するかどうかを決定することができる。たとえば、識別されたデバイスにまたがって3つのGPSセンサが存在する場合、これらは冗長であると識別されてよい。というのは、通常、特定のアプリケーションによって1つしか必要とされないであろうからである。
【００６９】
ブロック604で、グループ化されたデバイスからプライマリセンサが識別される。この時点で、デバイスにわたって実行されるアプリケーションによってどのセンサが必要とされるかがわかっている。したがって、デバイスのグループからのプライマリセンサは、最良のサービス品質を提供するものとして識別されてよい。たとえば、場所ベースのアプリケーションがデバイスのうちの1つの上で稼働している場合、グループ化されたデバイスのうちから、最も高い精度を有するGPSセンサが選ばれてよい。しかし、サービス品質が、より長い電池寿命にあるとされる場合は、グループ化されたデバイスのうちから、最も少ない電力量を使用するGPSセンサが選ばれてよい。
【００７０】
ブロック606で、プライマリセンサは、すべてのアプリケーションおよびデバイスの要件を満たすように構成される。すなわち、アプリケーションによるデータ要件を満たすように、更新間隔やデータルーティングパスなどがプライマリセンサ上で構成されてよい。たとえば、場所ベースのアプリケーションが0.5秒ごとにGPSデータを必要とする場合、プライマリGPSセンサは、0.5秒ごとにデータを提供するように構成されてよい。
【００７１】
ブロック608で、プライマリセンサからすべてのデバイスへのセンサ通信プロトコルが構成される。プライマリセンサを収容する1つのデバイスからのデータが、近傍内の他のデバイスと共有される必要があるであろう。したがって、通信プロトコルが構成される必要がある。たとえば、すべてのデバイスおよびプライマリセンサは、Bluetooth(登録商標)を使用するように構成されてよい。通信プロトコルのコストが考慮に入れられてもよい。たとえば、4Gデータレートが3Gデータレートよりも高価である場合は、3Gが通信プロトコルとして選択されてよい。通信チャネルが最適化されてもよい。たとえば、いくつかの使用されていない通信モジュールがオフにされてよい。たとえば、Bluetooth(登録商標)が使用されており、他のどのアプリケーションもWi-Fiを必要としない場合は、デバイス上でWi-Fiモジュールがオフにされてよい。すべてのデバイスが理解できる通信チャネルが選ばれてよいことを、理解することができる。
【００７２】
ブロック610で、冗長なセンサが、オフにされるか、アイドル状態に置かれるか、スリープモードに置かれるか、その他にされる。冗長なセンサをオフにすることによって、処理電力とともにデバイス上の電池寿命を改善することができる。したがって、すべてのデバイスにわたるサービス品質を改善することができる。
【００７３】
図7は、いくつかの実装形態による、センサ装備されたデバイスにおけるセンサ冗長性を低減するための例示的な方法を示すフローチャート700である。ブロック702で、エリア内の少なくとも1つのデバイスが、マスタデバイスを介して識別される。デバイスは、スマートフォン、タブレットコンピュータ、スマートシューズ、スマートウォッチ、テレビジョン、パーソナルコンピュータ、スマートグラスなどを含み得る。エリアは、少なくとも1つのデバイスに関連する所定の値、動的な値、または、決定されたコンテキスト、によって定義されてよい。たとえば、図2では、車両は、スマートウォッチ、タブレットコンピュータ、およびスマートフォンを識別することができる。
【００７４】
ブロック704で、少なくとも1つのデバイスについてデバイスステータスとアプリケーションステータスとのうちの少なくとも一方を決定するために、少なくとも1つのデバイスが照会される。たとえば、図2では、車両は、各デバイスのセンサのステータスと、デバイス上で稼働するアプリケーションのステータスとを決定するために、スマートウォッチ、タブレットコンピュータ、およびスマートフォンに照会することができる。
【００７５】
ブロック706で、照会に少なくとも部分的に基づく、少なくとも1つのデバイス内の1つまたは複数のセンサの構成が決定される。決定することは、少なくとも1つのデバイスのセンサ実装マッピングを決定することを含むことができる。たとえば、図2では、車両は、スマートウォッチとタブレットコンピュータとスマートフォンとの間でセンサの構成を決定することができる。
【００７６】
ブロック708で、決定に少なくとも部分的に基づいて、マスタデバイスと少なくとも1つのデバイスとにわたるサービス品質の均衡をとるために少なくとも1つのデバイス内の1つまたは複数のセンサが構成される。1つまたは複数のセンサを構成することは、1つまたは複数のセンサの電力状態を切り替えること、あるいは、1つまたは複数のセンサの1つまたは複数のデータ処理属性を構成することを含むことができる。1つまたは複数のデータ処理属性は、データパス、データ精度、データフォーマット、またはデータ間隔を含むことができる。センサを構成することは、所定の間隔または事前定義済みの条件のもと実施されてよい。たとえば、図2では、車両は、スマートウォッチとタブレットコンピュータとスマートフォンとの間でセンサを構成することができる。
【００７７】
いくつかの実装形態では、1つまたは複数のセンサからのデータは、少なくとも1つのデバイスとマスタデバイスとの間で時間同期がとられてよい。
【００７８】
例示的なコンピューティングシステム
屋内ポジショニングのための間取り図マップにおけるアシスタンスデータパラメータを改善する複数の態様について述べたが、次に、図8に関して、本開示の様々な態様がその中で実装され得るコンピューティングシステムの例について述べる。1つまたは複数の態様によれば、図8に示されるようなコンピュータシステムは、本明細書に記載の特徴、方法、および/または方法ステップの、いずれかおよび/またはすべてを実装、実施、および/または実行できる、コンピューティングデバイスの一部として組み込まれてよい。たとえば、コンピュータシステム800は、ハンドヘルドデバイスのコンポーネントのいくつかを表すことができる。ハンドヘルドデバイスは、ワイヤレス受信機やモデムなどの入力感知ユニットを有する、任意のコンピューティングデバイスであってよい。ハンドヘルドデバイスの例は、次のものに限定されないが、ビデオゲームコンソール、タブレット、スマートフォン、テレビジョン、および、モバイルデバイスまたは移動局を含む。いくつかの実装形態では、コンピュータシステム800は、前述の方法のいずれかを実装するように構成される。図8は、本明細書に記載のような他の様々な実装形態によって提供される方法を実施できる、かつ/またはホストコンピュータシステム、リモートキオスク/端末、販売時点情報管理デバイス、モバイルデバイス、セットトップボックス、および/もしくはコンピュータシステムとして機能できる、コンピュータシステム800の一実装形態の概略的な例証を提供する。図8は、様々なコンポーネントの一般化された例証を提供するにすぎないものとされ、これらの様々なコンポーネントのいずれかおよび/またはすべてが適宜、利用されてよい。したがって、図8は、個々のシステム要素が、比較的分離された方式または比較的より統合された方式で、どのように実装され得るかを広く示す。
【００７９】
コンピュータシステム800は、バス802を介して電気的に結合され得る(または適宜、他の方法で通信し得る)ハードウェア要素を備えるものとして示されている。ハードウェア要素は、限定ではないが1つまたは複数の汎用プロセッサならびに/あるいは1つまたは複数の専用プロセッサ(ディジタル信号処理チップ、グラフィックスアクセラレーションプロセッサ、および/もしくはその他など)を含み得る、1つまたは複数のプロセッサ804と;限定ではないがカメラ、ワイヤレス受信機、ワイヤレスセンサ、マウス、キーボード、および/またはその他を含み得る、1つまたは複数の入力デバイス808と;限定ではないがディスプレイユニット、プリンタ、および/またはその他を含み得る、1つまたは複数の出力デバイス810と、を含むことができる。いくつかの実装形態では、1つまたは複数のプロセッサ804は、図1に関して上述された機能のサブセットまたはすべてを実施するように構成されてよい。プロセッサ804は、たとえば、一般的なプロセッサおよび/またはアプリケーションプロセッサを含み得る。いくつかの実装形態では、プロセッサは、視覚的トラッキングデバイス入力およびワイヤレスセンサ入力を処理する要素に統合される。
【００８０】
コンピュータシステム800はさらに、1つまたは複数の非一時的ストレージデバイス806を備える(かつ/またはそれと通信する)ことができる。非一時的ストレージデバイス806は、限定ではないが、ローカルおよび/もしくはネットワークアクセス可能ストレージを含んでよく、かつ/または、限定ではないが、ディスクドライブ、ドライブアレイ、光学ストレージデバイス、ランダムアクセスメモリ(「RAM」)などの固体ストレージデバイス、および/もしくは読取り専用メモリ(「ROM」)を含んでよく、これらはプログラム可能、フラッシュ更新可能、および/またはその他であり得る。そのようなストレージデバイスは、限定ではないが、様々なファイルシステム、データベース構造、および/またはその他を含めた、任意の適切なデータストレージを実装するように構成されてよい。
【００８１】
コンピュータシステム800はまた、通信サブシステム812を備えることもあり、通信サブシステム812は、限定ではないが、モデム、ネットワークカード(ワイヤレスもしくは有線)、赤外線通信デバイス、ワイヤレス通信デバイスおよび/もしくはチップセット(Bluetooth(登録商標)デバイス、802.11デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信設備など)、ならびに/またはその他を含み得る。通信サブシステム812は、ネットワーク(一例を挙げると後述のネットワークなど)、他のコンピュータシステム、および/または本明細書に記載の他の任意のデバイスとデータを交換するのを可能にすることができる。多くの実装形態で、コンピュータシステム800はさらに、非一時的な作業メモリ818も備えることになり、非一時的な作業メモリ818は、前述のようなRAMまたはROMデバイスを含み得る。いくつかの実装形態では、通信サブシステム812は、アクセスポイントまたはモバイルデバイスからの信号を送受信するように構成された送受信機とインターフェースすることができる。いくつかの実装形態は、別個の1つまたは複数の受信機と、別個の1つまたは複数の送信機とを含むことができる。
【００８２】
コンピュータシステム800はまた、ソフトウェア要素も備えることができ、これらのソフトウェア要素は、現在、作業メモリ818内に位置するのが示されている。これらのソフトウェア要素は、オペレーティングシステム814、デバイスドライバ、実行可能ファイルライブラリ、および/または、1つもしくは複数のアプリケーションプログラム816など他のコードを含み、アプリケーションプログラム816は、様々な実装形態によって提供されるコンピュータプログラムを含んでよく、かつ/または、本明細書に記載のように、方法を実装することおよび/もしくは他の実装形態によって提供されるシステムを構成することを行うように設計されてよい。単なる例として、上で考察した方法に関して述べた1つまたは複数のプロシージャは、たとえば図8に関して述べるように、コンピュータ(および/またはコンピュータ内のプロセッサ)によって実行可能なコードおよび/または命令として実装されることがある。一態様では、その場合、そのようなコードおよび/または命令を使用して、述べた方法に従って1つまたは複数の動作を実施するように汎用コンピュータ(または他のデバイス)を構成することおよび/または適合させることができる。
【００８３】
これらの命令および/またはコードのセットは、前述のストレージデバイス806などのコンピュータ可読ストレージ媒体に記憶されることがある。場合によっては、ストレージ媒体は、コンピュータシステム800などのコンピュータシステム内に組み込まれることがある。他の実装形態では、ストレージ媒体は、コンピュータシステムとは別個であることがあり(たとえば、コンパクトディスクなどの取外し可能媒体)、かつ/または、インストールパッケージ中で提供されることがあり、したがって、ストレージ媒体を使用して、それに記憶された命令/コードで汎用コンピュータをプログラムすること、構成すること、および/または適合させることができる。これらの命令は、コンピュータシステム800によって実行可能な実行可能コードの形をとることがあり、かつ/または、ソースおよび/もしくはインストール可能コードの形をとることがあり、その場合、このソースおよび/またはインストール可能コードは、コンパイル時および/またはコンピュータシステム800へのインストール時(たとえば、一般に利用可能な様々なコンパイラ、インストールプログラム、圧縮/圧縮解除ユーティリティなどのうちのいずれかを使用する)に、実行可能コードの形をとる。
【００８４】
具体的な要件に従って、実質的な変形を行うことができる。たとえば、カスタマイズされたハードウェアが使用されることもあり、かつ/または、特定の要素がハードウェア、ソフトウェア(アプレットなどのポータブルソフトウェアを含む)、もしくは両方において実装されることがある。さらに、ネットワーク入出力デバイスなど、他のコンピューティングデバイスへの接続が採用されてもよい。
【００８５】
いくつかの実装形態は、コンピュータシステム(コンピュータシステム800など)を採用して、本開示による方法を実施することができる。たとえば、作業メモリ818に含まれる1つまたは複数の命令(オペレーティングシステム814および/またはアプリケーションプログラム816などの他のコードに組み込まれている場合がある)の1つまたは複数のシーケンスをプロセッサ804が実行するのに応答して、述べた方法のプロシージャのいくつかまたはすべてがコンピュータシステム800によって実施されてよい。そのような命令は、ストレージデバイス806のうちの1つまたは複数など、別のコンピュータ可読媒体から、作業メモリ818に読み込まれてよい。単なる例として、作業メモリ818に含まれる命令のシーケンスが実行されると、プロセッサ804は、本明細書に記載の方法、たとえば図3〜図7に関して述べた方法の、1つまたは複数のプロシージャを実施することがある。
【００８６】
「機械可読媒体」および「コンピュータ可読媒体」という用語は、本明細書においては、マシンを特定の方式で動作させるデータを提供することに関与する任意の媒体を指す。コンピュータシステム800を使用して実装される一実装形態では、様々なコンピュータ可読媒体が、命令/コードを実行のためにプロセッサ804に提供することに関係することがあり、かつ/または、そのような命令/コードを(たとえば信号として)記憶および/もしくは搬送するのに使用されることがある。多くの実装形態で、コンピュータ可読媒体は、物理的および/または有形のストレージ媒体である。そのような媒体は、次のものに限定されないが、不揮発性媒体、揮発性媒体、および伝送媒体を含めた、多くの形をとることができる。不揮発性媒体は、たとえば、ストレージデバイス806などの光学および/または磁気ディスクを含む。揮発性媒体は、限定ではないが、作業メモリ818などのダイナミックメモリを含む。伝送媒体は、限定ではないが、バス802を備えるワイヤを含む、同軸ケーブル、銅ワイヤ、および光ファイバ、ならびに通信サブシステム812の様々なコンポーネントを構成するワイヤ(および/または、通信サブシステム812が他のデバイスとの通信を提供するための媒体)を含む。したがって、伝送媒体はまた、波(限定ではないが、電波通信および赤外線データ通信中に生成されるような、電波、音波および/または光波を含む)の形をとることもできる。
【００８７】
物理的および/または有形のコンピュータ可読媒体の一般的な形は、たとえば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、もしくは他の任意の磁気媒体、CD-ROM、他の任意の光学媒体、パンチカード、紙テープ、他の任意の穴パターン付き物理媒体、RAM、PROM、EPROM、FLASH-EPROM、他の任意のメモリチップもしくはカートリッジ、後述するような搬送波、または、コンピュータが命令および/もしくはコードを読み出すことのできる他の任意の媒体、を含む。
【００８８】
様々な形のコンピュータ可読媒体が、実行のために1つまたは複数の命令の1つまたは複数のシーケンスをプロセッサ804に搬送するのに関係することがある。単なる例として、命令は最初に、リモートコンピュータの磁気ディスクおよび/または光学ディスク上で搬送されてよい。リモートコンピュータは、命令をそのダイナミックメモリにロードし、コンピュータシステム800によって受信および/または実行されるように伝送媒体を介して命令を信号として送ることができる。これらの信号は、電磁信号、音響信号、光学信号、および/またはその他の形であることがあるが、これらの信号はすべて、様々な実装形態により命令がその上に符号化され得る搬送波の例である。
【００８９】
通信サブシステム812(および/またはそのコンポーネント)が一般に、信号を受信することになり、次いで、バス802が、信号(および/または、信号によって搬送されるデータや命令など)を作業メモリ818に搬送することができ、作業メモリ818から、プロセッサ804が命令を取り出して実行する。作業メモリ818によって受け取られた命令は、任意選択で、プロセッサ804によって実行される前または後のいずれかに、非一時的ストレージデバイス806に記憶されてよい。メモリ818は、本明細書に記載のデータベースおよび方法のいずれかに従って、少なくとも1つのデータベースを含むことができる。したがって、メモリ818は、図1〜図8および関連の記述を含めた本開示のいずれかにおいて考察された値のいずれかを記憶することができる。
【００９０】
図3〜図7に記載の方法は、図8の様々なブロックによって実装されてよい。たとえば、プロセッサ804は、フローチャート300、400、500、600、または700中のブロックの機能のいずれかを実施するように構成されてよい。ストレージデバイス806は、本明細書で言及されたブロックのいずれかの内で考察された大域的に一意の属性または局所的に一意の属性など、中間結果を記憶するように構成されてよい。ストレージデバイス806はまた、本開示のいずれかと一致するデータベースを含むこともできる。メモリ818も同様に、本明細書で言及されたブロックのいずれかにおいて記述された機能のいずれかを実施するのに必要な、信号、信号の表現、またはデータベース値を記録するように構成されてよい。RAMなどの一時的なまたは揮発性のメモリに記憶される必要がある場合のある結果もまた、メモリ818に含まれてよく、この結果は、ストレージデバイス806に記憶される場合があるものと同様の任意の中間結果を含み得る。入力デバイス808は、本明細書に記載の本開示により、衛星および/または基地局からワイヤレス信号を受信するように構成されてよい。出力デバイス810は、本開示のいずれかにより、画像の表示、テキストの印刷、信号の送信、および他のデータの出力を行うように構成されてよい。
【００９１】
上で考察した方法、システム、およびデバイスは、例である。様々な実装形態が、適宜、様々なプロシージャまたはコンポーネントを省略、代用、または追加することができる。たとえば、代替構成では、述べた方法が、述べた順序とは異なる順序で実施されてもよく、かつ/または、様々な段階が追加、省略、および/または結合されてもよい。また、特定の実装形態に関して述べた特徴が、他の様々な実装形態で組み合わせられてもよい。実装形態の、異なる複数の態様および要素も、同様にして組み合わせられてよい。また、技術は進化し、したがって、要素の多くは、本開示の範囲をこれらの特定の例に限定しない例である。
【００９２】
本記述では、実装形態の完全な理解をもたらすために、具体的な詳細を提供している。しかし、実装形態は、これらの具体的な詳細なしでも実践され得る。たとえば、実装形態を曖昧にするのを避けるために、周知の回路、プロセス、アルゴリズム、構造、および技法については、不要な詳細なしで示した。本記述は、例示的な実装形態のみを提供するものであり、本明細書に記載の実装形態の範囲、適用性、または構成を限定するものとはしない。そうではなく、実装形態に関する上記の記述は、本明細書に記載の実装形態を実装するための実施可能要件を当業者に提供することになる。本明細書に記載の実装形態の主旨および範囲を逸脱することなく、要素の機能および構成に様々な変更を加えることができる。
【００９３】
また、いくつかの実装形態については、流れ図またはブロック図として描かれるプロセスとして述べた。各々は動作を逐次的なプロセスとして記述する場合があるが、動作の多くは、並行してまたは同時に実施されることも可能である。加えて、動作の順序は並べ替えられもよい。プロセスは、図に含まれない追加のステップを有することもできる。さらに、方法の実装形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはこれらの任意の組合せによって実装されてよい。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードにおいて実装されるときは、関連するタスクを実施するためのプログラムコードまたはコードセグメントは、ストレージ媒体などのコンピュータ可読媒体に記憶されてよい。プロセッサが、関連するタスクを実施することができる。
【００９４】
いくつかの実装形態について述べたが、本開示の主旨を逸脱することなく、様々な修正、代替構造、および均等物が使用されてよい。たとえば、上記の要素は、より大きいシステムのコンポーネントにすぎないことがあり、この場合、他の規則が、本明細書に記載の実装形態の適用よりも優先されるか、そうでなければ本明細書に記載の実装形態の適用を修正することがある。また、いくつかのステップが、上記の要素が考慮される前、最中、または後に企てられてもよい。したがって、上の記述は、本開示の範囲を限定しない。
【００９５】
本明細書に記載の技法は、符号分割多元接続(CDMA)ネットワーク、時分割多元接続(TDMA)ネットワーク、周波数分割多元接続(FDMA)ネットワーク、直交FDMA(OFDMA)ネットワーク、シングルキャリアFDMA(SC-FDMA)ネットワークなど、様々なワイヤレス通信ネットワークへのモバイルデバイスまたはクライアントアクセスに使用されてよい。「ネットワーク」と「システム」という用語は、しばしば交換可能に使用される。CDMAネットワークは、ユニバーサル地上無線アクセス(UTRA)やCDMA2000などの無線技術を実装することができる。UTRAは、ワイドバンドCDMA(W-CDMA)および低チップレート(LCR)を含む。CDMA2000は、IS-2000、IS-95、IS-856、および高レートパケットデータ(HRPD)標準をカバーする。TDMAネットワークは、グローバルシステムフォーモバイルコミュニケーションズ(GSM(登録商標))などの無線技術を実装することができる。OFDMAネットワークは、発展型(Evolved)UTRA(E-UTRA)、IEEE802.11、IEEE802.16、IEEE802.20、Flash-OFDM(登録商標)などの無線技術を実装することができる。UTRAは、ユニバーサルモバイルテレコミュニケーションシステム(UMTS)の一部である。ロングタームエボリューション(LTE)は、E-UTRAによって使用される無線アクセス技術である。UTRA、E-UTRA、GSM(登録商標)、UMTS、およびLTEは、「第3世代パートナーシッププロジェクト」(3GPP)という名称の組織からの文書に記載されている。CDMA2000は、「第3世代パートナーシッププロジェクト2」(3GPP2)という名称の組織からの文書に記載されている。IEEE802.11ネットワークはまた、WiFiネットワークまたはワイヤレスローカルエリアネットワーク(WLAN)としても知られ、電気電子技術者協会(IEEE)からの標準のファミリにおいて定義される。これらの様々な無線技術および標準は、当技術分野で知られている。
【００９６】
様々な例について述べた。これらおよび他の例は、後続の特許請求の範囲の内にある。
【符号の説明】
【００９７】
100  ポータブルデバイス
110  プロセッサ
130  ディスプレイ
140  入力デバイス
150  スピーカ
160  メモリ
162  モジュール1
164  モジュール2
170  送受信機
172  デバイス能力および優先順位データベース
176  センサ構成データベース
178  デバイスアプリケーションセンサマッピングデータベース
180  センササブシステム
190  コンピュータ可読媒体
192  デバイス識別モジュール
194  デバイス照会モジュール
196  デバイス構成モジュール
200  環境
210  車両
220  スマートウォッチ
230  タブレットコンピュータ
240  スマートフォン
800  コンピュータシステム
802  バス
804  プロセッサ
806  ストレージデバイス
808  入力デバイス
810  出力デバイス
812  通信サブシステム
814  オペレーティングシステム
816  アプリケーションプログラム
818  作業メモリ
【図１】
0006453445.tif 000002
【図２Ａ】
0006453445.tif 000003
【図２Ｂ】
0006453445.tif 000004
【図３】
0006453445.tif 000005
【図４】
0006453445.tif 000006
【図５】
0006453445.tif 000007
【図６】
0006453445.tif 000008
【図７】
0006453445.tif 000009
【図８】
0006453445.tif 000010