(58)【調査した分野】(Int.Cl.,DB名)
少なくとも1つのプロセッサによって実行されると、モバイルデバイス内の複数のセンサの電力消費量を管理することを前記プロセッサに行わせる命令を備える非一時的コンピュータ可読記憶媒体であって、
センサクライアントからセンサに関する要求を受信するための命令と、
前記センサクライアントが前記センサの登録/登録解除を要求したかどうかを判断するための命令と、
前記センサの電力消費量を低減するように、前記登録/登録解除要求に基づいて、前記センサの電源および動作モードの各々を制御するための命令と、
前記センサクライアントが前記センサからのデータについての開始/停止要求を与えたかどうかを判断するための命令と、
前記センサの前記電力消費量を低減するように、前記センサからのデータについての前記開始/停止要求に基づいて、前記センサの電源、デバイス/ドライバ構成、および動作モードの各々を制御するための命令と、
前記要求が登録要求または登録解除要求を含むと判断するための命令と、
クライアントデータベースを更新し、前記センサの登録または登録解除を実行するための命令と、
前記登録解除要求が最後のクライアント要求である場合、前記センサの電源をオフにするための命令と、
を備える非一時的コンピュータ可読記憶媒体。
【発明を実施するための形態】
【0011】
本発明の特定の実施形態を対象とする以下の説明および関連する図面で本発明の態様を開示する。本発明の範囲から逸脱することなく代替実施形態を考案することができる。さらに、本発明の関連する詳細を不明瞭にしないように、本発明のよく知られている要素については詳細に説明しないか、または省略する。
【0012】
「例示的」という単語は、本明細書では「例、事例、または例示の働きをすること」を意味するために使用する。本明細書に「例示的」と記載されたいかなる実施形態も、必ずしも他の実施形態よりも好ましいまたは有利なものと解釈すべきではない。同様に、「本発明の実施形態」という用語は、本発明のすべての実施形態が、論じられた特徴、利点、または動作モードを含むことを必要としない。
【0013】
本明細書で使用する用語は、特定の実施形態を説明するためのものにすぎず、本発明の実施形態を限定するものではない。本明細書で使用する単数形「a」、「an」および「the」は、文脈が別段に明確に示すのでなければ、複数形をも含むものとする。さらに、本明細書で使用する「備える(comprises)」、「備えている(comprising)」、「含む(includes)」、および/または「含んでいる(including)」という用語は、述べられた特徴、整数、ステップ、動作、要素、および/または構成要素の存在を明示するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在または追加を排除しないことを理解されたい。
【0014】
さらに、多くの実施形態について、たとえば、コンピューティングデバイスの要素によって実行されるべき一連のアクションに関して説明する。本明細書で説明する様々なアクションは、特定の回路(たとえば、特定用途向け集積回路(ASIC))によって、1つまたは複数のプロセッサによって実行されるプログラム命令によって、あるいは両方の組合せによって実行され得ることを認識されよう。さらに、本明細書で説明するこれらの一連のアクションは、実行時に、関連するプロセッサに本明細書で説明する機能を実行させるコンピュータ命令の対応するセットを記憶した任意の形態のコンピュータ可読記憶媒体内で全体として実施すべきものと見なすことができる。したがって、本発明の様々な態様は、すべてが請求する主題の範囲内に入ることが企図されているいくつかの異なる形式で実施され得る。さらに、本明細書で説明する実施形態ごとに、そのような実施形態の対応する形式を、たとえば、記載の動作を実行する「ように構成された論理」として本明細書で説明することがある。
【0015】
本明細書で使用するモバイルデバイスは、少なくとも1つのセンサと、センサデータを有用な情報に加工するためのリソースとを有する、任意のタイプのポータブル計算デバイスであり得る。複数のセンサを制御することは、センサプロセッサシステムを含むアーキテクチャによって可能にされ得る。センサプロセッサシステムは、モバイルデバイス上で動作しているアプリケーションからの複数の要求に基づいて、異なるセンサにタスクを与え、それらのセンサを調整し得る。センササブシステムはまた、センサの電力ドローを管理し、不要な電力消費量を低減するために、各個のセンサへの電力を制御し得る。以下で提示する実施形態では、電力消費量を低減し、モバイルデバイスのバッテリー寿命を改善するために使用され得るアーキテクチャおよびプロセスの詳細を示す。
【0016】
様々な実施形態では、モバイルデバイスはまた、ネットワーキング能力を有し、以下の
図1〜
図3で説明するようにアクセス端末(AT)として利用され得る。
【0017】
図1に、本発明の少なくとも1つの実施形態によるワイヤレスシステム100の1つの例示的な実施形態のブロック図を示す。この実施形態では、モバイルデバイスは、ネットワーキング能力を含み、本明細書ではアクセス端末(AT)と呼ばれる高データレート(HDR)加入者局として考えられ得る。ATは、本明細書ではモデムプールトランシーバ(MPT)または基地局(BS)と呼ばれる1つまたは複数のHDR基地局と通信し得る。アクセス端末は、1つまたは複数のモデムプールトランシーバを介して、モデムプールコントローラ(MPC)、基地局コントローラ(BSC)および/またはパケット制御機能(PCF)と呼ばれるHDR基地局コントローラとの間でデータパケットを送信および受信する。モデムプールトランシーバおよびモデムプールコントローラは、アクセスネットワークと呼ばれるネットワークの一部である。アクセスネットワークは複数のアクセス端末間でデータパケットをトランスポートする。
【0018】
アクセスネットワークは、企業イントラネットまたはインターネットなど、アクセスネットワークの外部の追加のネットワークにさらに接続され得、各アクセス端末とそのような外部のネットワークとの間でデータパケットをトランスポートし得る。1つまたは複数のモデムプールトランシーバとのアクティブトラフィックチャネル接続を確立したアクセス端末は、アクティブアクセス端末と呼ばれ、トラフィック状態にあると言われる。1つまたは複数のモデムプールトランシーバとのアクティブトラフィックチャネル接続を確立中であるアクセス端末は、接続セットアップ状態にあると言われる。アクセス端末は、ワイヤレスチャネルを介して、あるいは、たとえば、光ファイバまたは同軸ケーブルを使用する有線チャネルを介して通信する任意のデータデバイスであり得る。アクセス端末はさらに、限定はしないが、PCカード、コンパクトフラッシュ(登録商標)、外部または内部モデム、あるいはワイヤレス電話または有線電話を含む、いくつかのタイプのデバイスのいずれかであり得る。アクセス端末が信号をモデムプールトランシーバに送るための通信リンクは、逆方向リンクまたは逆方向トラフィックチャネルと呼ばれる。モデムプールトランシーバが信号をアクセス端末に送るための通信リンクは、順方向リンクまたは順方向トラフィックチャネルと呼ばれる。本明細書で使用するトラフィックチャネルという用語は、順方向トラフィックチャネルまたは逆方向トラフィックチャネルのいずれかを指すことができる。
【0019】
図1をさらに参照すると、システム100は、アクセス端末102をネットワーク機器に接続して、パケット交換データネットワーク(たとえば、イントラネット、インターネット、および/またはキャリアネットワーク126)とアクセス端末102、108、110、112との間にデータ接続性を与えることができるエアインターフェース104を介してアクセスネットワークまたは無線アクセスネットワーク(RAN)120と通信している、セルラー電話102などのアクセス端末を含むことができる。本明細書に示すように、アクセス端末は、セルラー電話102、携帯情報端末108、本明細書では双方向テキストページャとして示すページャ110、さらにはワイヤレス通信ポータルを有する別個のコンピュータプラットフォーム112であり得る。したがって、本発明の実施形態は、ワイヤレスモデム、PCMCIAカード、パーソナルコンピュータ、電話、またはそれらの任意の組合せもしくは部分的な組合せを限定なしに含む、ワイヤレス通信ポータルを含むか、またはワイヤレス通信機能を有する任意の形態のアクセス端末上で実現され得る。さらに、本明細書で使用する「アクセス端末」、「ワイヤレスデバイス」、「クライアントデバイス」、「モバイル端末」という用語およびその変形体は、互換的に使用され得る。
【0020】
ワイヤレスネットワーク100の構成要素および本発明の例示的な実施形態の要素の相互関係は、図示の構成に限定されない。システム100は、例示的なものにすぎず、ワイヤレスクライアントコンピューティングデバイス102、108、110、112などのリモートアクセス端末が、互いに、および/またはキャリアネットワーク126、インターネットおよび/または他のリモートサーバを限定なしに含む、エアインターフェース104およびRAN120を介して接続された構成要素との間で無線で通信できるようにする任意のシステムを含むことができる。
【0021】
RAN120は、基地局コントローラ/パケット制御機能(BSC/PCF)122に送られる(一般に、データパケットとして送られる)メッセージを制御する。BSC/PCF122は、パケットデータサービスノード100(「PDSN」)とアクセス端末102/108/110/112との間でのベアラチャネル(すなわち、データチャネル)のシグナリング、確立、およびティアダウンを担当する。リンクレイヤ暗号化が使用可能な場合、BSC/PCF122はまた、エアインターフェース104を介してコンテンツを転送する前にそのコンテンツを暗号化する。BSC/PCF122の機能は当技術分野でよく知られており、簡潔のためにさらに論じない。キャリアネットワーク126は、ネットワーク、インターネットおよび/または公衆交換電話ネットワーク(PSTN)によってBSC/PCF122と通信し得る。代替的に、BSC/PCF122はインターネットまたは外部ネットワークに直接接続し得る。一般に、キャリアネットワーク126とBSC/PCF122との間のネットワークまたはインターネット接続はデータを転送し、PSTNはボイス情報を転送する。BSC/PCF122は複数の基地局(BS)またはモデムプールトランシーバ(MPT)124に接続され得る。キャリアネットワークと同様の方法で、BSC/PCF122は一般に、データ転送および/またはボイス情報のために、ネットワーク、インターネットおよび/またはPSTNによってMPT/BS124に接続される。MPT/BS124は、セルラー電話102などのアクセス端末にデータメッセージをワイヤレスでブロードキャストすることができる。MPT/BS124、BSC/PCF122および他の構成要素は、当技術分野で知られているように、RAN120を形成し得る。ただし、代替構成も使用され得、本発明は、図示の構成に限定されない。たとえば、別の実施形態では、BSC/PCF122の機能とMPT/BS124の1つまたは複数とは、BSC/PCF122とMPT/BS124の両方の機能を有する単一の「ハイブリッド」モジュールに縮小され得る。
【0022】
図2に、本発明の一実施形態によるキャリアネットワーク126を示す。
図2の実施形態では、キャリアネットワーク126は、パケットデータサービングノード(PDSN)160と、ブロードキャストサービングノード(BSN)165と、アプリケーションサーバ170と、インターネット175とを含む。ただし、代替実施形態では、アプリケーションサーバ170および他の構成要素はキャリアネットワークの外部に配置され得る。PDSN160は、たとえば、cdma2000の無線アクセスネットワーク(RAN)(たとえば、
図1のRAN120)を利用して、インターネット175、イントラネットおよび/またはリモートサーバ(たとえば、アプリケーションサーバ170)へのアクセスを移動局(たとえば、
図1の102、108、110、112などのアクセス端末)に提供する。アクセスゲートウェイとして働くので、PDSN160は、単純IPおよびモバイルIPアクセス、外部エージェントサポート、およびパケットトランスポートを提供し得る。PDSN160は、認証、認可、および課金(AAA)サーバおよび他のサポートインフラストラクチャのクライアントとして働くことができ、当技術分野で知られているように、IPネットワークへのゲートウェイを移動局に提供する。
図2に示すように、PDSN160は、従来のA10接続を介してRAN120(たとえば、BSC/PCF122)と通信し得る。A10接続は当技術分野でよく知られており、簡潔のためにさらに説明しない。
【0023】
図2をさらに参照すると、ブロードキャストサービングノード(BSN)165は、マルチキャストおよびブロードキャストサービスをサポートするように構成され得る。BSN165は、ブロードキャスト(BC)A10接続を介してRAN120(たとえば、BSC/PCF122)と、またインターネット175を介してアプリケーションサーバ170と通信する。BCA10接続は、マルチキャストおよび/またはブロードキャストメッセージングを転送するために使用される。したがって、アプリケーションサーバ170は、インターネット175を介してユニキャストメッセージングをPDSN160に送り、またインターネット175を介してマルチキャストメッセージングをBSN165に送る。概して、以下でより詳細に説明するように、RAN120は、BCA10接続を介してBSN165から受信したマルチキャストメッセージを、エアインターフェース104のブロードキャストチャネル(BCH)を介して1つまたは複数のアクセス端末200に送信する。
【0024】
図3を参照すると、セルラー電話などのアクセス端末200(この実施形態ではワイヤレスデバイス)は、キャリアネットワーク126、インターネットおよび/または他のリモートサーバおよびネットワークから最終的に来ることがある、RAN120から送信されたソフトウェアアプリケーション、データおよび/またはコマンドを受信および実行することができるプラットフォーム202を有する。プラットフォーム202は、特定用途向け集積回路(「ASIC」208)、または他のプロセッサ、マイクロプロセッサ、論理回路、または他のデータ処理デバイスに動作可能に結合されたトランシーバ206を含むことができる。ASIC208または他のプロセッサは、ワイヤレスデバイスのメモリ212中の常駐プログラムとインターフェースするアプリケーションプログラミングインターフェース(「API」)210レイヤを実行する。メモリ212は、読取り専用メモリまたはランダムアクセスメモリ(RAMおよびROM)、EEPROM、フラッシュカード、またはコンピュータプラットフォームに共通の任意のメモリから構成され得る。プラットフォーム202は、メモリ212中でアクティブに使用されないアプリケーションを保持することができるローカルデータベース214を含むこともできる。ローカルデータベース214は、一般にフラッシュメモリセルであるが、磁気媒体、EEPROM、光学媒体、テープ、ソフトまたはハードディスクなど、当技術分野で知られている任意の二次記憶デバイスとすることができる。内部プラットフォーム202の構成要素はまた、当技術分野で知られていているように、他の構成要素の中でもアンテナ222、ディスプレイ224、プッシュツートークボタン228およびキーパッド226などの外部デバイスに動作可能に結合され得る。
【0025】
したがって、本発明の一実施形態は、本明細書で説明する機能を実行するための能力を含むアクセス端末を含むことができる。当業者なら諒解するように、本明細書で開示する機能を達成するために、様々な論理要素は、個別の要素、プロセッサ上で実行されるソフトウェアモジュール、またはソフトウェアとハードウェアとの任意の組合せで実施され得る。たとえば、ASIC208、メモリ212、API210およびローカルデータベース214をすべて協働的に使用して、本明細書で開示する様々な機能をロード、記憶および実行することができ、したがって、これらの機能を実行する論理は様々な要素に分散され得る。代替的に、機能は1つの個別の構成要素に組み込まれ得る。したがって、
図3のアクセス端末の特徴は例示的なものにすぎないと見なすべきであり、本発明は例示した特徴または構成に限定されない。
【0026】
アクセス端末102とRAN120との間のワイヤレス通信は、符号分割多元接続(CDMA)、WCDMA、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、直交周波数分割多重(OFDM)、Global System for Mobile Communications(GSM(登録商標))、あるいはワイヤレス通信ネットワークまたはデータ通信ネットワークで使用され得る他のプロトコルなど、様々な技術に基づき得る。データ通信は、一般に、クライアントデバイス102とMPT/BS124とBSC/PCF122との間で行われる。BSC/PCF122は、キャリアネットワーク126、PSTN、インターネット、バーチャルプライベートネットワークなどの複数のデータネットワークに接続され得、したがって、アクセス端末102はより広範囲の通信ネットワークにアクセスできるようになる。前述のように、および当技術分野で知られているように、ボイス送信および/またはデータは、様々なネットワークおよび構成を使用してRANからアクセス端末に送信され得る。したがって、本明細書で提供する例は、本発明の実施形態を限定するものではなく、本発明の実施形態の態様の説明を助けるものにすぎない。
【0027】
上記で説明したように、電力を適切に管理することが、モバイルデバイス(たとえば、セルフォン、MP3プレーヤ、ワイヤレスモバイルアクセス端末、非ワイヤレスモバイルアクセス端末など)のための望ましい特徴であり得る。電力消費量を管理するための、従来のアクセス端末におけるいくつかの異なる機構が存在し得る。いくつかのモバイルデバイスは、アプリケーションが実行されていないとき、低電力モード、またはスリープモードに入り得る。他のモバイルデバイスは、それぞれのモバイルデバイスの処理負荷とともに消費電力量がスケーリングする、より高度な電力管理機構を有し得る。しかしながら、従来のモバイルデバイスは、モバイルデバイス内に常駐する個々のセンサ内で利用可能であり得る電力モードを調整するためのよりファイングレインな機能を有しない。それにより、本発明の実施形態は、ソフトウェア制御に基づいて個々のセンサに印加される電力を選択的に制御することを対象とする。
【0028】
図4Aに、本発明の一実施形態に一致する例示的なモバイルデバイスアーキテクチャ400Aのハイレベルブロック図を示す。
図4Aを参照すると、(この実施形態ではアクセス端末としても働き得る)モバイルデバイス400Aは、センサプロセッサシステム402Aと、アプリケーションプロセッサシステム430Aと、電力管理コントローラ440Aとを含み得る。モバイルデバイスはさらに、電力管理コントローラ440Aによって制御され得る1つまたは複数の電源(たとえば、センサ電源410AおよびMSM電源420A)を含み得る。センサプロセッサシステム402Aは、複数のセンサ1...N、405Aと、センサソフトウェアサブシステム415Aとを含み得る。
図4Aには明示的に図示されてはいないが、センサプロセッサシステムは、低電力動作用に構成され、アプリケーションプロセッサシステム内に常駐するアプリケーションプロセッサよりも著しく少ない電力を消費するセンサプロセッサを含み得る。センサプロセッサは、センサ1...N、405Aと相互作用し(たとえば、様々なセンサにタスクを与え、センサデータを受信し)、(
図5により詳細に示す)センサソフトウェアサブシステム415A内のモジュールを実行する。
【0029】
センサプロセッサシステム402Aは、アプリケーションプロセッサシステムがスリープ状態にあるときでも「オン」状態に維持され得る。センサプロセッサシステム40
2A内の構成要素は1つまたは複数の低電力モードを有することができる。センサプロセッサは、様々な電力モード(すなわち、低電力、スリープ、通常など)を有し得、各センサ1...N、405Aの電力制御機能に応じてそれらのセンサの電力状態を制御し得る。たとえば、1つの低電力モードでは、センサプロセッサシステム40
2Aのセンサプロセッサは休止状態にあり得るが、センサ405Aのうちの1つからの割込みがデータを与えるとき、起動するように構成され得る。別の例では、センサ405Aのサブセットは、センサソフトウェアサブシステム415Aによって完全に休止状態に電源切断され得るが、(たとえば、加速度計などの)1つまたは複数のセンサは、センサプロセッサシステム40
2Aを起動するための割込みを与えるために、低消費電力状態にある間、アクティブのままであることができる。センサプロセッサシステム40
2Aはまた、センサ
プロセッサシステム40
2Aがセンサ405Aのうちの1つまたは複数を検査するために周期的に起動するように、デューティサイクルモードに入り得る。したがって、センサプロセッサシステム40
2Aは「オン」状態に維持されている間、これは、センサ405Aの各々が絶えず使用され、および/またはセンサプロセスが連続的にアクティブであることを暗示するものではない。センサプロセッサシステム402Aは、単一バス、多重バス、および/または他のタイプの接続経路であり得る接続425Aを介して、アプリケーションプロセッサシステム430Aおよび/またはモデムサブシステム438Aと、電力管理コントローラ440Aの両方に接続され得る。さらに、センサ405Aの電力状態を制御するために、電力管理コントローラ440Aによって独立して制御され得る個別のセンサ電源410Aが使用され得る。同じく電力管理コントローラ440Aによって制御され得る、個別に制御される1次電源420は、センサプロセッサシステム4
02Aとアプリケーションプロセッサシステム430Aとの他の部分に電力を提供することができる。
【0030】
センサソフトウェアサブシステムは、センサデバイスの個々の電力制御の機能を利用するために、特定のセンサデバイスに特に適合されたソフトウェアクライアントを含み得る。センサAPIが、クライアントとセンサ管理ソフトウェアとの間の中間レイヤとして使用され得る。これらのソフトウェアモジュールの各々は、センサプロセッサシステム402A内に常駐する1つまたは複数のプロセッサ上で実行され得る。たとえば、高い量の処理リソースを必要としないAPIは、アプリケーションプロセッサシステム430Aよりも低電力のプロセッサを有し得るセンサ
プロセッサシステム40
2Aにオフロードされ得る。別の例では、センサ固有API(たとえば、歩行/ジョギング時などのユーザのステップを計数する歩数計API)は、センサプロセッサシステム40
2Aがすでにセンサ1...Nを監視しているので、センサプロセッサシステム40
2Aにオフロードされ得る。センサソフトウェアサブシステム415Aの詳細については、以下の
図5で提示する。APIは、概して、センサアクティビティを制御/監視し、次いで適切なアクションを取るように構成されたセンサ
プロセッサシステム40
2Aとともに、アプリケーションプロセッサシステム430Aによって実行される。
【0031】
アプリケーションプロセッサシステム430Aは、モバイルデバイス上でAPIを実行することに関連するハードウェアおよび/またはソフトウェアを含み、また、モバイルデバイスがワイヤレス接続性のために構成されたとき、そのモバイルデバイスがアクセス端末として働くことを可能にするワイヤレス通信に関係するハードウェアおよび/またはソフトウェア(たとえば、モデムハードウェア、アンテナなど)を含むことができる。したがって、アプリケーションプロセッサシステム430Aは、
図4A中では、アクセス端末のワイヤレス接続性に関係するソフトウェアおよび/またはハードウェアに対応するモデムサブシステム438Aを含むものとして示されている。一実施形態では、アクセス端末がワイヤレス通信用に構成されない場合、モデムサブシステム430Aは、随意にアクセス端末から省略され得る。
【0032】
電力管理コントローラ440Aは、1つまたは複数の電源(たとえば、センサ電源410Aおよび1次電源420A)をさらに制御することによって、アプリケーションプロセッサシステム430Aおよび/またはモデムサブシステム438Aの電力消費量を制御する。たとえば、電力管理コントローラ440Aは、アプリケーションプロセッサシステム430Aの、モデムハードウェアなどの特定のハードウェアを選択的にオンまたはオフすることができる。電力管理コントローラ440Aはまた、アプリケーションプロセッサシステム430A中の特定のハードウェアの電力消費量をスケールアップまたはスケールダウンすることができる。たとえば、アプリケーションプロセッサシステム430Aの電力消費量を管理するために、アプリケーションプロセッサに印加される電圧が増加または減少され得る。また、アプリケーションプロセッサシステム430Aの実行速度を制御し、それによってアプリケーションプロセッサシステム430Aの電力消費量を制御するために、アプリケーションプロセッサシステム430A中のハードウェアに適用されるクロック信号が増加または減少され得る。
【0033】
電力管理コントローラ440Aは、モバイルデバイス400A内で使用される電力管理機能の態様を可能にするために、アプリケーションプロセッサシステム430Aおよびセンサプロセッサ
システム402Aと連携して動作することができる。たとえば、電力管理コントローラ440Aは、センサプロセッサシステム402Aによって与えられた情報を活用することによって、アプリケーションプロセッサがより長くスリープすることを可能にすることができる。
【0034】
センサから得られた情報は、センサソフトウェアサブシステム415Aによって処理され、供給され、次いで、接続425Aを介して電力管理コントローラ440Aに搬送され得る。ただし、アプリケーションプロセッサシステム430Aが、その電力要件が変化したことを電力管理コントローラ440Aに通知したときなど(たとえば、ユーザが、アプリケーションプロセッサシステム430Aを通して1つまたは複数のAPIの停止またはローディングを要求したときなど)、電力管理コントローラ440Aは、センサプロセッサシステムから選択された電力プロファイルを無効にすることもできる。その上、センサソフトウェアサブシステムは、電力管理コントローラに、センサ電源410Aを通して個々のセンサ405Aへの電力を選択的に制御させ得る。
【0035】
図4Bに、
図4Aに関して上記で説明したアーキテクチャの1つの具体的な例を示す。
図4Bを参照すると、センサコアプロセッサ400Bは、(たとえば、内部データメモリおよび内部プログラムメモリを含む)メモリ402Bと、インター集積回路バス(I2C)406Bと、シリアル低電力チップ間メディアバス(SLIMbus)408Bと、汎用入出力ピン(GPIO)410Bと、アナログデジタル変換(ADC)ユニット412Bとを含む。メモリ402Bは、センサコアプロセッサ400Bとは別個のメインメモリ416Bにバス414Bを介して接続され得る。センサソフトウェアサブシステム402Aは、一般にメモリ402B中に常駐するが、部分的または完全にメインメモリ416B内にも常駐し得る。センサコアプロセッサ400Bは、加速度計418B、ジャイロスコープセンサ420B、圧力センサ422B、磁気センサ424Bおよびタッチスクリーン近接センサ426B、指紋センサ(図示せず)、ならびに閉ループフィードバック(図示せず)用のハプティック(haptic)ドライバ427Bを含む、複数のセンサに接続され得る。諒解されるように、センサコアプロセッサ400Bは、アプリケーションプロセッサ436Bを電源投入する必要なしにセンサ418B〜426Bの各々と相互作用するか、またはその各々からセンサデータを受信することができる。集合的に、
図4Bの要素400B〜426Bは
図4Aのセンサ
プロセッサシステム40
2Aに対応し、
図4Aのセンサ1...N、405Aは
図4Bのセンサ418B〜426Bに対応し、モジュール415Aは、センサ418B〜426Bの電力および動作を制御するように構成されたソフトウェアに対応する。
【0036】
I2C 406Bはバス428Bを介してアプリケーションプロセッサ436Bに接続し、SLIMbus408Bはバス430Bを介してアプリケーションプロセッサ436Bに接続し得、GPIO 410Bはバス432Bを介してアプリケーションプロセッサ436Bに接続する。バス432Bは、それ自体が電力管理集積回路(PMIC)454Bへのバス434Bに接続され得る。一例では、PMIC454Bからアプリケーションプロセッサ436Bへの方向に、バス434Bは、アプリケーションプロセッサ436B上のハードウェアを制御するために使用されるクロックイネーブル信号を搬送することができる。PMIC454Bはまた、動的な電圧および周波数スケーリング制御をアプリケーションプロセッサ436Bおよび/またはモデムサブシステム446Bに適用することができる。集合的に、要素バス428B、430B、432Bおよび434Bは
図4Aの接続425A中に含まれ、PMIC454Bは
図4Aの電力管理コントローラ440Aに対応する。
【0037】
センサプロセッサシステム402Aは、各センサ418B、420B、422B、424B、426Bなどの電力を個々に制御し得る。センサプロセッサシステム402Aはまた、センサ動作の変動するモード、および/またはアプリケーションプロセッサシステム430Aを通してセンサプロセッサシステム402Aにデータを要求するアプリケーションの要件に応じて利用可能であり得る、様々な電力モードを利用し得る。たとえば、いくつかのセンサは、限られた電力モード(たとえば、電源オフおよび通常動作)を有し得る。他のセンサは、サンプリング周波数、解像度、および/または精度など、様々な構成パラメータを変更し得る、より精細な管理水準を可能にし得る。様々な電力モードの例として、低電力モード、スタンバイ、通常電力、高周波、高解像度などがあり得る。様々なセンサについて、これらは、電源切断/スタンバイビットを用いて制御されるソフトウェアであり得る。センサはマイクロコントローラGPIOバスを通して制御され得る。
【0038】
一実施形態では、個々のセンサへの電力制御は、センサプロセッサシステム402A中のセンサボードに電力を供給するためのセンサ電源410Aによって行われ得る。GPIOバスは、オンボード低ドロップアウトレギュレータ(LDO)を切り替えるために使用され得る。個々のセンサは、インター集積回路(I2C)インターフェースを使用してスタンバイモードにされ得る。別の実施形態では、センサプロセッサシステム402Aのボード上のデジタル回路は1次電源420Aによって電力供給され得、センサ電力はセンサ電源410Aによって供給される。アナログ回路への電源は、アプリケーションプロセッサ436B GPIOを使用してオン/オフにされ得る。別の実施形態では、センサプロセッサシステム402A内のデジタル回路は1次電源420Aによって電力供給され得、センサはセンサ電源410Aによって供給される。一実施形態では、たとえば、センサへの電力は、どんなタイプのセンサデータが要求されているかに基づいて、PMIC454Bからのコマンドを使用して、独立してオン/オフにされ得る電圧レギュレータを使用して制御され得る。
【0039】
図4Bの実施形態では、アプリケーションプロセッサ436BはARM11/Scorpio
nプロセッサとして示されているが、本発明の他の実施形態では、アプリケーションプロセッサ436Bは様々なタイプのプロセッサに対応することができることを諒解されたい。アプリケーションプロセッサ436Bはバス438Bを介してメモリ442Bに接続する。メモリ442Bはバス444Bを介してモデムサブシステムに接続される。一例では、モデムサブシステム446Bは、ARM/DSPプロセッサに対応し、Global Positioning System(GPS)機能を含み得るが、本発明の他の実施形態では、モデムシステム446Bは別様に構成され得る。
【0040】
図4Bをさらに参照すると、モデムサブシステム446Bはバス450Bを介して電力増幅器(PA)およびアンテナスイッチ452Bに接続され得、そのバス450Bもバス432Bに接続される。一例では、バス450Bは、アンテナスイッチ/PA受信/送信(RX/TX)検出に関係するシグナリングを搬送するために使用され得る。
【0041】
図4Bの要素436B、442B、446Bおよび452Bは、集合的に
図4Aのアプリケーションプロセッサシステム430Aに対応する。したがって、PMIC454Bは、各ハードウェア要素の電力消費量を独立して制御するために、アプリケーションプロセッサシステム430Aの各ハードウェア要素に個別に接続することができることを諒解されよう。言い換えれば、PMIC454Bはバス434Bおよび432Bを介してアプリケーションプロセッサ436Bに接続し、PMIC454Bはバス434B、432Bおよび448Bを介してモデムサブシステムに接続することなどができる。センサクライアントは、以下でより詳細に説明するセンサソフトウェアサブシステムモジュール415Aに関連付けられるセンサAPIを通してセンサモジュールと相互作用し得る。
【0042】
図5は、本発明の一実施形態に一致する例示的なセンサソフトウェアサブシステム415Aを示すブロック図である。センサソフトウェアサブシステム415Aは、センサクライアント510と、センサAPI515と、センサマネージャ520と、センサドライバ550とを含み得る。センサマネージャ520内には、さらに、クライアントマネージャ525、センサ発見マネージャ540、データマネージャ545、デバイスマネージャ535、および電力マネージャ530など、いくつかのマネージャモジュールが含まれ得る。
【0043】
センサマネージャ520は、センサリソースに対する複数のクライアント要求を調整することができる。そのような調整により、たとえば、センサクライアントが、リソース競合を生じ得るセンサデータに対する同時および/または重複要求を行う場合、モバイルデバイスのより円滑な動作が可能になる。そのような競合は、クライアント要求が、共通のセンサに対するデータ要求を含むか、あるいは同時クライアント使用のために利用可能であり得る以上にサポートリソース(たとえば、メモリおよび/または処理サイクル)を要求するときに発生し得る。センサマネージャ520は、クライアント要求を編成し、リソース競合を低減し得る方法でリソースを割り振り得る。本発明の少なくとも1つの実施形態では、以下でより詳細に説明するように、センサマネージャ520は、モバイルデバイスの全体的な電力消費量が低減され得るように、1つまたは複数のセンサへの電力をアクティブ/非アクティブにし、および/またはセンサ動作パラメータを変化させることもできる。
【0044】
センサクライアント510は、センサデータを利用および活用することができる様々なアプリケーションを含む。
図5に示すように、センサクライアントは、センサソフトウェアサブシステム中に常駐するものとして示されているが、センサクライアントは、たとえば、アプリケーションプロセッサシステム430Aを含む他のシステム中にも常駐し得る。センサクライアントは、センサモジュールに登録し、特定のセンサデータタイプを要求するために、一般にセンサAPI515を使用する。センサクライアントはまた、センサAPI515を介してセンサデータ報告の周期性を示し得る。
【0045】
クライアントマネージャ525は、すべてのクライアントトランザクションを処理し得、クライアント要求を受信し、処理し、同期または非同期応答を送るためにセンサAPI515と相互作用し得る。クライアントマネージャ525は、アプリケーションプロセッサ436Bからの登録要求を処理し、次いで、(1つまたは複数の)特定のセンサ560に対するデータ要求をデータマネージャに通知することができる。さらに、クライアントマネージャ525は登録要求を電力マネージャに通知し得る。クライアントマネージャ530によって実行され得る登録プロセスにより、センサマネージャ520が、リソース競合を回避するための理路整然とした方法でセンササブシステムのリソースをクライアントアプリケーションに割り振ることが可能になる。たとえば、センサマネージャは、アプリケーションプロセッサシステム430A上で動作している1つまたは複数の要求アプリケーションにセンサデータおよび/またはセンサ処理リソースが供給され得る優先度およびタイミングを判断し得る。
【0046】
データマネージャ545は、1つまたは複数のセンサデバイス560によって供給されているデータのデータストリーミングおよびバッファリングを実行し得る。データマネージャ545は、適切なセンサドライバ550からデータを発信するためにデバイスマネージャ535と相互作用し得る。データマネージャ535は、データ開始/停止イベントの電力制御について、およびデータストリーミングレートについて電力マネージャ530と相互作用する。さらに、電力マネージャ530は、電力管理IC454Bを通してオン/オフになるように個々のセンサの電力を制御し得る。
【0047】
新しいデータタイプに対する新しいクライアント要求がアプリケーションプロセッサ436Bから受信された場合、データマネージャ545によってセンサ発見モジュール540に通知され得る。センサ発見モジュール540は、要求データを発信することができるセンサを識別し得、次いで、適切なセンサデバイスに対応するセンサドライバ550を初期化し、構成するためにデバイスマネージャ53
5に通知し得る。デバイスマネージャ535は、初期化、登録、構成などを含む、デバイス/ドライバトランザクションを処理し得る。
【0048】
電力マネージャ530は、センサソフトウェアサブシステム415Aを電力効率的に動作させるために、センサマネージャ中の他のモジュール、すなわち、クライアントマネージャ525、データマネージャ545およびデバイスマネージャ535と相互作用し得る。センサ使用を判断するために、電力マネージャ530によってクライアント登録およびデータ要求が使用される。電力マネージャ530は、センサドライバ5
50を適切な動作モードに構成するためにデバイスマネージャ535に通知し得る。さらに、電力マネージャ530は、電力管理ICドライバAPIを使用して、PMIC454Bをもつデバイスへの電源を制御し得る。電力管理API(図示せず)はアプリケーションプロセッサシステム430A中に常駐し得る。センサマネージャ520内のモジュールは、センサデバイスインターフェース555を通してセンサデバイス560と相互作用し得る。
【0049】
図6A〜
図6Cは、本発明の少なくとも1つの実施形態に一致する例示的なプロセスを示すフローチャートである。各フローチャートの右側に沿った挿入的表示は、センサマネージャ520内のどの特定のマネージャが、関連するプロセスブロックを実行し得るかを例示するものである。
【0050】
図6Aを参照すると、アプリケーションプロセッサ436Bによって生成されたクライアント要求605Aは、クライアントマネージャ525において受信され得る。次いで、クライアントマネージャ525は、クライアント要求が登録要求または登録解除要求を含むかどうかを判断し得る(615A)。クライアント要求が登録要求または登録解除要求を含む場合、クライアントデータベースは、それに応じてクライアント要求に基づいて更新され得(650A)、制御は電力マネージャ530に移り、以下の
図6Bの説明で例示するように、登録または登録解除プロセスを実行し得る。クライアントデータベースは、たとえば、システムに登録されたすべてのアクティブクライアントの状態を維持することができ、未解決の要求の状態と、ステータスがどのように報告されるべきかとを維持し、クライアント要求を行った各クライアントに固有の情報を保存する。
【0051】
代替的に、ブロック615Aにおいて、受信されたクライアント要求がクライアント登録/登録解除要求でないと判断された場合、受信されたクライアント要求がクライアントアプリケーションによる停止/開始要求であるかどうかがさらに判断され得る(620A)。開始/停止要求は、データを供給するかまたはデータの供給を停止するための、適切なセンサへの要求である。要求が開始/停止要求を含まない場合、その要求は、電力管理プロセスに関係しない方法でセンサプロセッサによって処理され得(655A)、詳細に説明する必要はない。代替的に、ブロック620Aにおいて開始/停止要求が受信されたと判断された場合、データマネージャ545は、クライアント要求が新しいデータタイプの要求を含むかどうかを判断し得る(630A)。新しいデータタイプは、システム始動以来要求されたことがないデータタイプとして定義される。データタイプを記憶し、そのデータタイプを特定のセンサデバイスに関連付ける別個のデータベースがデータマネージャ545中に含まれ得る。新しいデータタイプが要求されている場合、データマネージャ545は、要求された新しいデータタイプのソースを確認するためにセンサ発見を実行し得る(660A)。データマネージャ545によってセンサ発見660Aが実行された後、またはブロック630Aにおいて要求が新しいデータタイプを含まないと判断された場合、デバイスマネージャ535は、(1つまたは複数の)適切なセンサのデバイスドライバを初期化および/または構成し得る(640A)。次いで、デバイスマネージャ535はデバイスデータベースを更新し得る(645A)。デバイスデータベースは、要求されたデータタイプを、クライアントによって要求されたデータタイプを発信するのに最も適切なセンサに関連付ける情報を含み得る。ここで、サポートされるデータタイプは、対応するデータを生成する適切なセンサデバイスにマッピングされ得る。たとえば、デバイスデータベースは、動作モード、サンプリングレート、センサデータを要求しているクライアントの数などのパラメータを含み得る。デバイスデータベースが更新されると、プロセスは、
図6Cにおいて詳述するデータ収集プロセスに進み得る。
【0052】
上記のブロック615Aにおいて説明したようにクライアントマネージャ525によって登録要求または登録解除要求が受信された場合、クライアントマネージャ525内で登録または登録解除が実行された後、制御は電力マネージャ530に移され得る。
図6Bを参照すると、電力マネージャ530は、初めに、登録または登録解除が実行されたかどうかを判断するために検査し得る(610B)。登録解除が実行され、クライアントが、もはやクライアントマネージャ550によって追跡されていない(すなわち、再登録されたのでなければ、さらなる処理から事実上削除されている)場合、電力マネージャ530は、残りのクライアントをサポートするために必要とされる最小値にセンササンプリングレートを更新し得る(615B)。次いで、電力マネージャ530は、これがセンサにデータを要求している最後のクライアントであるかどうかを判断し得る(620B)。これが最後のクライアントでない場合、電力マネージャ(5
30)による処理は終了し得る。
【0053】
一方、ブロック620Bにおいてこれがセンサにデータを要求している最後のクライアントであると判断された場合、電力マネージャ530は、センサ電源がオンであるかどうかを判断するために検査し得る(625B)。休眠状態のクライアントは、センサが電流を引き込み得ない(本質的にセンサがすでに電力オフ状態になっていることがある)低減電力状態になり得るので、ブロック625Bの検査は実行され得る。センサ電源がオンでない場合、電力マネージャ530によって実行される処理は終了し得る。ブロック625Bにおいてセンサがオンであると判断された場合、センサ動作モードは、たとえば、センサがもはや高電流モードで動作しなくなるように更新され得る(630B)。ブロック630Bの別の例では、登録解除する前にデータの供給を停止するようにセンサに適切に通知することに失敗したクライアントにセンサが依然としてデータを供給している場合、動作モードは変更され得る。動作モードが更新されると、電力マネージャ530は、「センサ電源オフ」タイマーを開始し(635B)、その後、このタイマーが満了したかどうかを判断するためにそのタイマーを監視し得る(640B)。「センサ電源オフ」タイマーの満了時に、センサへの電力はオフにされる(645B)。タイマーは、センサが不必要に電力循環されないように遅延を与えるために使用される。これは、不要なレイテンシを招くことを回避し、いくつかのセンサの場合、始動電流は動作電流よりも大きくなることがあり、頻繁な電力循環は、実際には単にセンサをオンのままにするよりも多くの電力を使用し得る。
【0054】
図6Bをさらに参照すると、ブロック610Bにおいて、クライアントマネージャ525において登録が実行されたと判断された場合、電力マネージャ530は、センサが電源オフされているかどうかを判断し得る(650B)。新たに登録されたセンサは初めて使用される前に電源オフされる可能性があるので、この検査は実行される。一方、センサが現在電源オンされている場合、電力マネージャ530によって実行される処理は終了し得る。センサが電源オフされている場合、電力マネージャ530は、プラットフォーム固有の論理に基づいて、センサが電源オンされることが適切であるかどうかの判断を行い得る(655B)。次いで、電力マネージャ5
30はブロック660Bの結果を検査し得る。ブロック660Bにおいて電力をオンにすることが適切であると判断された場合、電力はオンにされる(665B)。他の場合、電力マネージャ5
30による処理は終了し得る。
【0055】
図6Cを参照すると、センサによってデータが収集されているとき、電力マネージャ530において行われる例示的なプロセスが示されている。ここで、電力マネージャ530は、初めに、クライアントマネージャによって受信されたクライアント要求が、センサデータの感知を開始したいという要求を含んでいたかどうかを判断し得る(610C)。クライアント要求がセンサデータの検知を開始したいという要求を含んでいた場合、センサへの電力が検査され(640C)、必要ならばオンにされる(645C)。次いで、電力マネージャは、これが、要求されたセンサデータの最初のクライアントであるかどうかを判断し得る(650C)。これが最初のクライアントである場合、センサ動作モードは、そのクライアント用にセンサを初期化するように更新される(655C)。これが最初のクライアントでない場合、センササンプリングレートは、既存のクライアントをサポートするために必要とされる最小値に更新される(660C)。ここで、電力マネージャは、電力消費量を低減するために、必要とされる最小サンプリング周波数、または任意の他の関連するパラメータを計算し得る。
【0056】
ブロック610Cに戻ると、クライアントがセンサからデータを受信するのを停止することを要求していると電力マネージャ530が判断した場合、引き続いて、これがセンサデータの最後のクライアントであるかどうかの検査が判断され得る(615C)。最後のクライアントである場合、センサ動作モードは、電力消費量を低減するためにセンサ動作モードが低電流モードになるように更新され得(620C)、次いで、
「セン
サ電源オフ」タイマーが開始され得る(625C)。電力マネージャ530は、
「セン
サ電源オフ」
タイマーが満了したかどうかを検査し(630C)、満了していれば、センサを電源オフする(635C)。電力マネージャ530がブロック615Cにおいてこれがセンサデータの最後のクライアントではないと判断した場合、ステップ660Cにおいて、センサデータサンプリングレートは、未解決のクライアント要求をサポートするために必要とされる最小値に更新され得る。特定のセンサからデータを取得することに同時に関心がある2つ以上のクライアントが存在し得るので、センサデバイスがサンプリングされ得るレートは、電力最適化についてすべての既存のクライアントを適切にサポートすることができる値に低減され得る。
【0057】
図7は、本発明の少なくとも1つの実施形態に一致するトップレベルプロセス700を示すフローチャートである。初めに、センサクライアントからセンサに関する要求を受信し得る(710)。この要求は、1つまたは複数のセンサに関連するクライアントによる様々なコマンドを含み得る。次いで、センサクライアントが登録または登録解除を要求するかどうかの判断を行い得る(720)。この判断は、クライアントがセンサに登録したか、またはセンサから登録解除されたかどうかを示す。登録/登録解除アクションは、受信された要求中に含まれるコマンドに基づいて実行され得る。ブロック720の登録/登録解除の判断に基づいてセンサの電源および動作モードを制御し得る(730)。この制御は、センサの電力消費量を低減するために実施される。次いで、センサクライアントがセンサにデータについての開始/停止要求を与えたかどうかを判断し得る(740)。最後に、データについての開始/停止要求に基づいて、センサへの電力、センサの構成、および/または動作モードを制御し得る(750)。この制御は、センサの電力消費量を低減するために実施される。
【0058】
情報および信号は、多種多様な技術および技法のいずれかを使用して表され得ることを当業者ならば諒解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
【0059】
さらに、本明細書で開示する実施形態に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを当業者ならば諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
【0060】
本明細書で開示する実施形態に関連して説明した方法、シーケンス、および/またはアルゴリズムは、直接ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはその2つの組合せで実施され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサに一体化され得る。
【0061】
したがって、本発明の一実施形態は、モバイルデバイス内の複数のセンサの電力消費量を管理するための方法を具備するコンピュータ可読媒体を含むことができる。本方法は、センサクライアントからセンサに関する要求を受信することと、センサクライアントが登録/登録解除を要求したかどうかを判断することと、センサの電力消費量を低減するために、登録/登録解除要求に基づいて、センサの電源および動作モードを制御することと、センサクライアントがセンサにデータについての開始/停止要求を与えたかどうかを判断することと、センサの電力消費量を低減するために、データについての開始/停止要求に基づいて、センサへの電力、デバイス/ドライバ構成、およびセンサの動作モードを制御することとを含み得る。したがって、本発明は、図示の例に限定されるものではなく、本明細書で説明した機能を実行するための任意の手段が本発明の実施形態に含まれる。
【0062】
上記の開示は本発明の例示的な実施形態を示すが、添付の特許請求の範囲によって規定される本発明の範囲から逸脱することなく本明細書において様々な変更および修正を行うことができることに留意されたい。本明細書で説明した本発明の実施形態による方法クレームの機能、ステップおよび/またはアクションは特定の順序で実行しなくてもよい。さらに、本発明の要素は、単数形で説明または請求されていることがあるが、単数形に限定することが明示的に述べられていない限り、複数形が企図される。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
モバイルデバイス内の複数のセンサの電力消費量を管理するための方法であって、
センサクライアントからセンサに関する要求を受信することと、
前記センサクライアントが登録/登録解除を要求したかどうかを判断することと、
前記センサの電力消費量を低減するために、前記登録/登録解除要求に基づいて、前記センサの電源および動作モードを制御することと、
前記センサクライアントが前記センサにデータについての開始/停止要求を与えたかどうかを判断することと、
前記センサの前記電力消費量を低減するために、データについての前記開始/停止要求に基づいて、前記センサへの電力、デバイス/ドライバ構成、および前記センサの動作モードを制御することと
を備える方法。
[C2]
前記要求が登録要求または登録解除要求を含むと判断することと、
クライアントデータベースを更新し、前記センサの登録または登録解除を実行することと
をさらに備える、C1に記載の方法。
[C3]
登録が実行されたことを確認することと、
前記センサが電源オフされているかどうかを判断することと、
前記センサが電源オンされるべきかどうかを判断し、電源オンされるべき場合、前記センサ電源をオンにすることと
をさらに備える、C2に記載の方法。
[C4]
登録解除が実行されたことを確認することと、
既存のクライアントをサポートすることが可能な最小値にセンサデータサンプリングレートを更新することと、
既存のクライアントをサポートするためにセンサパラメータを更新することと、
前記センサ動作モードを更新することと、
前記要求が最後のクライアント要求である場合、前記センサ電源をオフにすることと
をさらに備える、C2に記載の方法。
[C5]
前記要求が最後のクライアント要求であり、前記センサが電源オンされていることを確認することと、
センサ電源オフタイマーを開始することと、
前記センサ電源オフタイマーが満了したかどうかを判断することと、
前記電源オフタイマーの満了時に前記センサを電源切断することと
をさらに備える、C4に記載の方法。
[C6]
前記センサクライアントがデータ開始要求を与えたと判断することと、
前記センサが電源オフされているかどうかを判断し、前記センサが電源オフされている場合、前記センサを電源オンすることと、
前記センサクライアントが前記センサに対する最初のセンサクライアントであると判断することと、
センサ動作モードを更新することと、
既存のクライアントをサポートする最小値にセンササンプリング周波数を更新することと
をさらに備える、C1に記載の方法。
[C7]
前記センサクライアントがデータ停止要求を与えたと判断することと、
前記センサクライアントが前記センサに関連する最後のクライアントではないと判断し、既存のクライアントをサポートする最小値にセンササンプリング周波数を更新することと
をさらに備える、C1に記載の方法。
[C8]
前記センサクライアントがデータ停止要求を与えたと判断することと、
前記センサクライアントが前記センサに関連する最後のクライアントであると判断することと、
センサ動作モジュールを更新することと、
センサ「電源オフ」タイマーを開始することと、
前記センサ「電源オフ」タイマーが満了したとき、前記センサ電源をオフにすることと
をさらに備える、C1に記載の方法。
[C9]
モバイルデバイス内の少なくとも1つのセンサの電力消費量を管理するための装置であって、
プロセッサと、
前記プロセッサに結合された電源と、
前記電源に結合された少なくとも1つのセンサと、
前記プロセッサに結合されたメモリであって、
センサクライアントからセンサに関する要求を受信することと、
前記センサクライアントが登録/登録解除を要求したかどうかを判断することと、
前記センサの電力消費量を低減するために、前記登録/登録解除要求に基づいて、前記センサの電源および動作モードを制御することと、
前記センサクライアントが前記センサにデータについての開始/停止要求を与えたかどうかを判断することと、
前記センサの前記電力消費量を低減するために、データについての前記開始/停止要求に基づいて、前記センサへの電力、デバイス/ドライバ構成、および前記センサの動作モードを制御することと
を前記プロセッサに行わせるための命令を備えるメモリと
を備える装置。
[C10]
前記メモリは、
前記要求が登録要求または登録解除要求を含むと判断することと、
クライアントデータベースを更新し、前記センサの登録または登録解除を実行することとを前記プロセッサに行わせるための命令をさらに備える、C9に記載の装置。
[C11]
前記メモリは、
登録が実行されたことを確認することと、
前記センサが電源オフされているかどうかを判断することと、
前記センサが電源オンされるべきかどうかを判断し、電源オンされるべき場合、前記センサ電源をオンにすることと
を前記プロセッサに行わせるための命令をさらに備える、C10に記載の装置。
[C12]
前記メモリは、
登録解除が実行されたことを確認することと、
既存のクライアントをサポートすることが可能な最小値にセンサデータサンプリングレートを更新することと、
既存のクライアントをサポートするためにセンサパラメータを更新することと、
前記センサ動作モードを更新することと、
前記要求が最後のクライアント要求である場合、前記センサ電源をオフにすることと
を前記プロセッサに行わせるための命令をさらに備える、C10に記載の装置。
[C13]
前記メモリは、
前記要求が最後のクライアント要求であり、前記センサが電源オンされていることを確認することと、
センサ電源オフタイマーを開始することと、
前記センサ電源オフタイマーが満了したかどうかを判断することと、
前記電源オフタイマーの満了時に前記センサを電源切断することと
を前記プロセッサに行わせるための命令をさらに備える、C12に記載の装置。
[C14]
前記メモリは、
前記センサクライアントがデータ開始要求を与えたと判断することと、
前記センサが電源オフされているかどうかを判断し、前記センサが電源オフされている場合、前記センサを電源オンすることと、
前記センサクライアントが前記センサに対する最初のセンサクライアントであると判断することと、
センサ動作モードを更新することと、
既存のクライアントをサポートする最小値にセンササンプリング周波数を更新することと
を前記プロセッサに行わせるための命令をさらに備える、C9に記載の装置。
[C15]
前記メモリは、
前記センサクライアントがデータ停止要求を与えたと判断することと、
前記センサクライアントが前記センサに関連する最後のクライアントではないと判断し、既存のクライアントをサポートする最小値にセンササンプリング周波数を更新することとを前記プロセッサに行わせるための命令をさらに備える、C9に記載の装置。
[C16]
前記メモリは、
前記センサクライアントがデータ停止要求を与えたと判断することと、
前記センサクライアントが前記センサに関連する最後のクライアントであると判断することと、
センサ動作モジュールを更新することと、
センサ「電源オフ」タイマーを開始することと、
前記センサ「電源オフ」タイマーが満了したとき、前記センサ電源をオフにすることと
を前記プロセッサに行わせるための命令をさらに備える、C9に記載の装置。
[C17]
少なくとも1つのプロセッサによって実行されると、モバイルデバイス内の複数のセンサの電力消費量を管理することを前記プロセッサに行わせる命令を備える非一時的コンピュータ可読記憶媒体であって、
センサクライアントからセンサに関する要求を受信するための命令と、
前記センサクライアントが登録/登録解除を要求したかどうかを判断するための命令と、
前記センサの電力消費量を低減するために、前記登録/登録解除要求に基づいて、前記センサの電源および動作モードを制御するための命令と、
前記センサクライアントが前記センサにデータについての開始/停止要求を与えたかどうかを判断するための命令と、
前記センサの前記電力消費量を低減するために、データについての前記開始/停止要求に基づいて、前記センサへの電力、デバイス/ドライバ構成、および前記センサの動作モードを制御するための命令と
を備える非一時的コンピュータ可読記憶媒体。
[C18]
前記要求が登録要求または登録解除要求を含むと判断するための命令と、
クライアントデータベースを更新し、前記センサの登録または登録解除を実行するための命令とをさらに備える、C17に記載の非一時的コンピュータ可読記憶媒体。
[C19]
登録が実行されたことを確認するための命令と、
前記センサが電源オフされているかどうかを判断するための命令と、
前記センサが電源オンされるべきかどうかを判断し、電源オンされるべき場合、前記センサ電源をオンにするための命令と
をさらに備える、C18に記載の非一時的コンピュータ可読記憶媒体。
[C20]
登録解除が実行されたことを確認するための命令と、
既存のクライアントをサポートすることが可能な最小値にセンサデータサンプリングレートを更新するための命令と、
既存のクライアントをサポートするためにセンサパラメータを更新するための命令と、
前記センサ動作モードを更新するための命令と、
前記要求が最後のクライアント要求である場合、前記センサ電源をオフにするための命令と
をさらに備える、C18に記載の非一時的コンピュータ可読記憶媒体。
[C21]
前記要求が最後のクライアント要求であり、前記センサが電源オンされていることを確認するための命令と、
センサ電源オフタイマーを開始するための命令と、
前記センサ電源オフタイマーが満了したかどうかを判断するための命令と、
前記電源オフタイマーの満了時に前記センサを電源切断するための命令と
をさらに備える、C20に記載の非一時的コンピュータ可読記憶媒体。
[C22]
前記センサクライアントがデータ開始要求を与えたと判断するための命令と、
前記センサが電源オフされているかどうかを判断し、前記センサが電源オフされている場合、前記センサを電源オンするための命令と、
前記センサクライアントが前記センサに対する最初のセンサクライアントであると判断するための命令と、
センサ動作モードを更新するための命令と、
既存のクライアントをサポートする最小値にセンササンプリング周波数を更新するための命令と
をさらに備える、C17に記載の非一時的コンピュータ可読記憶媒体。
[C23]
前記センサクライアントがデータ停止要求を与えたと判断するための命令と、
前記センサクライアントが前記センサに関連する最後のクライアントではないと判断し、既存のクライアントをサポートする最小値にセンササンプリング周波数を更新するための命令と
をさらに備える、C17に記載の非一時的コンピュータ可読記憶媒体。
[C24]
前記センサクライアントがデータ停止要求を与えたと判断するための命令と、
前記センサクライアントが前記センサに関連する最後のクライアントであると判断するための命令と、
センサ動作モジュールを更新するための命令と、
センサ「電源オフ」タイマーを開始するための命令と、
前記センサ「電源オフ」タイマーが満了したとき、前記センサ電源をオフにするための命令と
をさらに備える、C17に記載の非一時的コンピュータ可読記憶媒体。
[C25]
モバイルデバイス内の複数のセンサの電力消費量を管理するための装置であって、
センサクライアントからセンサに関する要求を受信するための手段と、
前記センサクライアントが登録/登録解除を要求したかどうかを判断するための手段と、
前記センサの電力消費量を低減するために、前記登録/登録解除要求に基づいて、前記センサの電源および動作モードを制御するための手段と、
前記センサクライアントが前記センサにデータについての開始/停止要求を与えたかどうかを判断するための手段と、
前記センサの前記電力消費量を低減するために、データについての前記開始/停止要求に基づいて、前記センサへの電力、デバイス/ドライバ構成、および前記センサの動作モードを制御するための手段と
を備える装置。
[C26]
前記要求が登録要求または登録解除要求を含むと判断するための手段と、
クライアントデータベースを更新し、前記センサの登録または登録解除を実行するための手段と
をさらに備える、C25に記載の装置。
[C27]
登録が実行されたことを確認するための手段と、
前記センサが電源オフされているかどうかを判断するための手段と、
前記センサが電源オンされるべきかどうかを判断し、電源オンされるべき場合、前記センサ電源をオンにするための手段とをさらに備える、C26に記載の装置。
[C28]
登録解除が実行されたことを確認するための手段と、
既存のクライアントをサポートすることが可能な最小値にセンサデータサンプリングレートを更新するための手段と、
既存のクライアントをサポートするためにセンサパラメータを更新するための手段と、
前記センサ動作モードを更新するための手段と、
前記要求が最後のクライアント要求である場合、前記センサ電源をオフにするための手段と
をさらに備える、C26に記載の装置。
[C29]
前記要求が最後のクライアント要求であり、前記センサが電源オンされていることを確認することと、
センサ電源オフタイマーを開始することと、
前記センサ電源オフタイマーが満了したかどうかを判断することと、
前記電源オフタイマーの満了時に前記センサを電源切断することとをさらに備える、C28に記載の装置。
[C30]
前記センサクライアントがデータ開始要求を与えたと判断するための手段と、
前記センサが電源オフされているかどうかを判断し、前記センサが電源オフされている場合、前記センサを電源オンするための手段と、
前記センサクライアントが前記センサに対する最初のセンサクライアントであると判断するための手段と、
センサ動作モードを更新するための手段と、
既存のクライアントをサポートする最小値にセンササンプリング周波数を更新するための手段と
をさらに備える、C25に記載の装置。
[C31]
前記センサクライアントがデータ停止要求を与えたと判断するための手段と、
前記センサクライアントが前記センサに関連する最後のクライアントではないと判断し、既存のクライアントをサポートする最小値にセンササンプリング周波数を更新するための手段とをさらに備える、C25に記載の装置。
[C32]
前記センサクライアントがデータ停止要求を与えたと判断するための手段と、
前記センサクライアントが前記センサに関連する最後のクライアントであると判断するための手段と、
センサ動作モジュールを更新するための手段と、
センサ「電源オフ」タイマーを開始するための手段と、
前記センサ「電源オフ」タイマーが満了したとき、前記センサ電源をオフにするための手段と
をさらに備える、C25に記載の装置。