(57)【特許請求の範囲】
【請求項１】
モバイルデバイス内の複数のセンサの電力消費量を管理するための方法であって、
センサクライアントからセンサに関する要求を受信することと、
前記センサクライアントが前記センサの登録／登録解除を要求したかどうかを判断することと、
前記センサの電力消費量を低減するために、前記登録／登録解除要求に基づいて、前記センサの電源および動作モードの各々を制御することと、
前記センサクライアントが前記センサからのデータについての開始／停止要求を与えたかどうかを判断することと、
前記センサの前記電力消費量を低減するために、前記センサからのデータについての前記開始／停止要求に基づいて、前記センサの電源、デバイス／ドライバ構成、および動作モードの各々を制御することと、
前記要求が登録要求または登録解除要求を含むと判断することと、
クライアントデータベースを更新し、前記センサの登録または登録解除を実行することと、
前記登録解除要求が最後のクライアント要求である場合、前記センサの電源をオフにすることと
を備える方法。
【請求項２】
前記センサの登録が実行されたことを確認することと、
前記センサが電源オフされているかどうかを判断することと、
前記センサが電源オンされるべきかどうかを判断し、電源オンされるべき場合、前記センサの電源をオンにすることと
をさらに備える、請求項１に記載の方法。
【請求項３】
前記センサの登録解除が実行されたことを確認することと、
既存のクライアントをサポートすることが可能な最小値にセンサデータサンプリングレートを更新することと、
既存のクライアントをサポートするためにセンサパラメータを更新することと、
前記センサの動作モードを更新することと
をさらに備える、請求項１に記載の方法。
【請求項４】
前記要求が最後のクライアント要求であり、前記センサが電源オンされていることを確認することと、
センサ電源オフタイマーを開始することと、
前記センサ電源オフタイマーが満了したかどうかを判断することと、
前記電源オフタイマーの満了時に前記センサを電源切断することと
をさらに備える、請求項３に記載の方法。
【請求項５】
前記センサクライアントがデータ開始要求を与えたと判断することと、
前記センサが電源オフされているかどうかを判断し、前記センサが電源オフされている場合、前記センサを電源オンすることと、
前記センサクライアントが前記センサに対する最初のセンサクライアントであると判断することと、
センサの動作モードを更新することと、
既存のクライアントをサポートする最小値にセンササンプリング周波数を更新することと
をさらに備える、請求項１に記載の方法。
【請求項６】
前記センサクライアントがデータ停止要求を与えたと判断することと、
前記センサクライアントが前記センサに関連する最後のクライアントではないと判断し、既存のクライアントをサポートする最小値にセンササンプリング周波数を更新することと
をさらに備える、請求項１に記載の方法。
【請求項７】
前記センサクライアントがデータ停止要求を与えたと判断することと、
前記センサクライアントが前記センサに関連する最後のクライアントであると判断することと、
センサ動作モジュールを更新することと、
「センサ電源オフ」タイマーを開始することと、
前記「センサ電源オフ」タイマーが満了したとき、前記センサの電源をオフにすることと
をさらに備える、請求項１に記載の方法。
【請求項８】
モバイルデバイス内の少なくとも１つのセンサの電力消費量を管理するための装置であって、
プロセッサと、
前記プロセッサに結合された電源と、
前記電源に結合された少なくとも１つのセンサと、
前記プロセッサに結合されたメモリであって、
センサクライアントからセンサに関する要求を受信することと、
前記センサクライアントが前記センサの登録／登録解除を要求したかどうかを判断することと、
前記センサの電力消費量を低減するために、前記登録／登録解除要求に基づいて、前記センサの電源および動作モードの各々を制御することと、
前記センサクライアントが前記センサからのデータについての開始／停止要求を与えたかどうかを判断することと、
前記センサの前記電力消費量を低減するために、前記センサからのデータについての前記開始／停止要求に基づいて、前記センサの電源、デバイス／ドライバ構成、および動作モードの各々を制御することと、
前記要求が登録要求または登録解除要求を含むと判断することと、
クライアントデータベースを更新し、前記センサの登録または登録解除を実行することと、
前記登録解除要求が最後のクライアント要求である場合、前記センサの電源をオフにすることと
を前記プロセッサに行わせるための命令を備えるメモリと
を備える装置。
【請求項９】
前記メモリは、
前記センサの登録が実行されたことを確認することと、
前記センサが電源オフされているかどうかを判断することと、
前記センサが電源オンされるべきかどうかを判断し、電源オンされるべき場合、前記センサの電源をオンにすることと
を前記プロセッサに行わせるための命令をさらに備える、請求項８に記載の装置。
【請求項１０】
前記メモリは、
前記センサの登録解除が実行されたことを確認することと、
既存のクライアントをサポートすることが可能な最小値にセンサデータサンプリングレートを更新することと、
既存のクライアントをサポートするためにセンサパラメータを更新することと、
前記センサの動作モードを更新することと、
を前記プロセッサに行わせるための命令をさらに備える、請求項８に記載の装置。
【請求項１１】
前記メモリは、
前記要求が最後のクライアント要求であり、前記センサが電源オンされていることを確認することと、
センサ電源オフタイマーを開始することと、
前記センサ電源オフタイマーが満了したかどうかを判断することと、
前記電源オフタイマーの満了時に前記センサを電源切断することと
を前記プロセッサに行わせるための命令をさらに備える、請求項１０に記載の装置。
【請求項１２】
前記メモリは、
前記センサクライアントがデータ開始要求を与えたと判断することと、
前記センサが電源オフされているかどうかを判断し、前記センサが電源オフされている場合、前記センサを電源オンすることと、
前記センサクライアントが前記センサに対する最初のセンサクライアントであると判断することと、
センサの動作モードを更新することと、
既存のクライアントをサポートする最小値にセンササンプリング周波数を更新することと
を前記プロセッサに行わせるための命令をさらに備える、請求項８に記載の装置。
【請求項１３】
前記メモリは、
前記センサクライアントがデータ停止要求を与えたと判断することと、
前記センサクライアントが前記センサに関連する最後のクライアントではないと判断し、既存のクライアントをサポートする最小値にセンササンプリング周波数を更新することと
を前記プロセッサに行わせるための命令をさらに備える、請求項８に記載の装置。
【請求項１４】
前記メモリは、
前記センサクライアントがデータ停止要求を与えたと判断することと、
前記センサクライアントが前記センサに関連する最後のクライアントであると判断することと、
センサ動作モジュールを更新することと、
「センサ電源オフ」タイマーを開始することと、
前記「センサ電源オフ」タイマーが満了したとき、前記センサの電源をオフにすることと
を前記プロセッサに行わせるための命令をさらに備える、請求項８に記載の装置。
【請求項１５】
少なくとも１つのプロセッサによって実行されると、モバイルデバイス内の複数のセンサの電力消費量を管理することを前記プロセッサに行わせる命令を備える非一時的コンピュータ可読記憶媒体であって、
センサクライアントからセンサに関する要求を受信するための命令と、
前記センサクライアントが前記センサの登録／登録解除を要求したかどうかを判断するための命令と、
前記センサの電力消費量を低減するように、前記登録／登録解除要求に基づいて、前記センサの電源および動作モードの各々を制御するための命令と、
前記センサクライアントが前記センサからのデータについての開始／停止要求を与えたかどうかを判断するための命令と、
前記センサの前記電力消費量を低減するように、前記センサからのデータについての前記開始／停止要求に基づいて、前記センサの電源、デバイス／ドライバ構成、および動作モードの各々を制御するための命令と、
前記要求が登録要求または登録解除要求を含むと判断するための命令と、
クライアントデータベースを更新し、前記センサの登録または登録解除を実行するための命令と、
前記登録解除要求が最後のクライアント要求である場合、前記センサの電源をオフにするための命令と、
を備える非一時的コンピュータ可読記憶媒体。
【請求項１６】
前記センサの登録が実行されたことを確認するための命令と、
前記センサが電源オフされているかどうかを判断するための命令と、
前記センサが電源オンされるべきかどうかを判断し、電源オンされるべき場合、前記センサの電源をオンにするための命令と
をさらに備える、請求項１５に記載の非一時的コンピュータ可読記憶媒体。
【請求項１７】
前記センサの登録解除が実行されたことを確認するための命令と、
既存のクライアントをサポートすることが可能な最小値にセンサデータサンプリングレートを更新するための命令と、
既存のクライアントをサポートするためにセンサパラメータを更新するための命令と、
前記センサの動作モードを更新するための命令と
をさらに備える、請求項１５に記載の非一時的コンピュータ可読記憶媒体。
【請求項１８】
前記要求が最後のクライアント要求であり、前記センサが電源オンされていることを確認するための命令と、
センサ電源オフタイマーを開始するための命令と、
前記センサ電源オフタイマーが満了したかどうかを判断するための命令と、
前記電源オフタイマーの満了時に前記センサを電源切断するための命令と
をさらに備える、請求項１７に記載の非一時的コンピュータ可読記憶媒体。
【請求項１９】
前記センサクライアントがデータ開始要求を与えたと判断するための命令と、
前記センサが電源オフされているかどうかを判断し、前記センサが電源オフされている場合、前記センサを電源オンするための命令と、
前記センサクライアントが前記センサに対する最初のセンサクライアントであると判断するための命令と、
センサの動作モードを更新するための命令と、
既存のクライアントをサポートする最小値にセンササンプリング周波数を更新するための命令と
をさらに備える、請求項１５に記載の非一時的コンピュータ可読記憶媒体。
【請求項２０】
前記センサクライアントがデータ停止要求を与えたと判断するための命令と、
前記センサクライアントが前記センサに関連する最後のクライアントではないと判断し、既存のクライアントをサポートする最小値にセンササンプリング周波数を更新するための命令と
をさらに備える、請求項１５に記載の非一時的コンピュータ可読記憶媒体。
【請求項２１】
前記センサクライアントがデータ停止要求を与えたと判断するための命令と、
前記センサクライアントが前記センサに関連する最後のクライアントであると判断するための命令と、
センサ動作モジュールを更新するための命令と、
「センサ電源オフ」タイマーを開始するための命令と、
前記「センサ電源オフ」タイマーが満了したとき、前記センサの電源をオフにするための命令と
をさらに備える、請求項１５に記載の非一時的コンピュータ可読記憶媒体。
【請求項２２】
モバイルデバイス内の複数のセンサの電力消費量を管理するための装置であって、
センサクライアントからセンサに関する要求を受信するための手段と、
前記センサクライアントが前記センサの登録／登録解除を要求したかどうかを判断するための手段と、
前記センサの電力消費量を低減するように、前記登録／登録解除要求に基づいて、前記センサの電源および動作モードの各々を制御するための手段と、
前記センサクライアントが前記センサからのデータについての開始／停止要求を与えたかどうかを判断するための手段と、
前記センサの前記電力消費量を低減するように、前記センサからのデータについての前記開始／停止要求に基づいて、前記センサの電源、デバイス／ドライバ構成、および動作モードの各々を制御するための手段と、
前記要求が登録要求または登録解除要求を含むと判断するための手段と、
クライアントデータベースを更新し、前記センサの登録または登録解除を実行するための手段と、
前記登録解除要求が最後のクライアント要求である場合、前記センサの電源をオフにするための手段と
を備える装置。
【請求項２３】
前記センサの登録が実行されたことを確認するための手段と、
前記センサが電源オフされているかどうかを判断するための手段と、
前記センサが電源オンされるべきかどうかを判断し、電源オンされるべき場合、前記センサの電源をオンにするための手段と
をさらに備える、請求項２２に記載の装置。
【請求項２４】
前記センサの登録解除が実行されたことを確認するための手段と、
既存のクライアントをサポートすることが可能な最小値にセンサデータサンプリングレートを更新するための手段と、
既存のクライアントをサポートするためにセンサパラメータを更新するための手段と、
前記センサの動作モードを更新するための手段と
をさらに備える、請求項２２に記載の装置。
【請求項２５】
前記要求が最後のクライアント要求であり、前記センサが電源オンされていることを確認するための手段と、
センサ電源オフタイマーを開始するための手段と、
前記センサ電源オフタイマーが満了したかどうかを判断するための手段と、
前記電源オフタイマーの満了時に前記センサを電源切断するための手段と
をさらに備える、請求項２４に記載の装置。
【請求項２６】
前記センサクライアントがデータ開始要求を与えたと判断するための手段と、
前記センサが電源オフされているかどうかを判断し、前記センサが電源オフされている場合、前記センサを電源オンするための手段と、
前記センサクライアントが前記センサに対する最初のセンサクライアントであると判断するための手段と、
センサの動作モードを更新するための手段と、
既存のクライアントをサポートする最小値にセンササンプリング周波数を更新するための手段と
をさらに備える、請求項２２に記載の装置。
【請求項２７】
前記センサクライアントがデータ停止要求を与えたと判断するための手段と、
前記センサクライアントが前記センサに関連する最後のクライアントではないと判断し、既存のクライアントをサポートする最小値にセンササンプリング周波数を更新するための手段と
をさらに備える、請求項２２に記載の装置。
【請求項２８】
前記センサクライアントがデータ停止要求を与えたと判断するための手段と、
前記センサクライアントが前記センサに関連する最後のクライアントであると判断するための手段と、
センサ動作モジュールを更新するための手段と、
「センサ電源オフ」タイマーを開始するための手段と、
前記「センサ電源オフ」タイマーが満了したとき、前記センサの電源をオフにするための手段と
をさらに備える、請求項２２に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
米国特許法第１１９条に基づく優先権の主張本特許出願は、本出願の譲受人に譲渡され、参照により本明細書に明確に組み込まれる、２００９年５月２６日に出願された「SENSORS BASED POWER MANAGEMENT」と題する仮出願第６１／１８１，２２５号の優先権を主張する。
【０００２】
本開示の実施形態は、一般に、モバイルデバイスのための電力管理に関し、より詳細には、モバイルデバイス内で利用される１つまたは複数のセンサの電力消費量を管理することに関する。
【背景技術】
【０００３】
近ごろのモバイルデバイスは、通信機能とメディアレンダリング機能の両方を有することに加えて、急速に高度なセンサプラットフォームになりつつある。それらの機能を活用する高度な高速ワイヤレスサービスの人気がますます高まるにつれて、モバイルデバイスの毎日の使用時間は増加し続けるであろう。ユーザが任意の時間／任意の場所での高速データネットワークアクセスにより慣れるにつれて、モバイルデバイスのバッテリー寿命が、この使用時間を決定する推進要因になり得る。したがって、バッテリー寿命は、購買決定を行う個人に対する主要なセールスポイントの１つとしておそらく重要性が高まるであろう。
【０００４】
バッテリー技術の改善に加えて、バッテリー寿命を延長するための現在の取り組みは、バッテリー消費量に影響を及ぼすモバイルデバイスの設計の様々な態様に焦点を当てている。そのような取り組みの例として、無線周波（ＲＦ）構成要素、ディスプレイ、ならびに様々なプロセッサと論理回路とを含むデジタル電子回路のエネルギー効率の改善が挙げられる。
【０００５】
これらの努力と並行して、モバイルデバイス内で利用されるセンサの電力消費量を管理することによってバッテリー寿命をさらに改善する余地があり得る。センサは、イメージング、測位、相対運動判断、ユーザ近接度、周辺光判断、ユーザ入力、雑音消去などのための１つまたは複数のセンサを含み得る。
【０００６】
モバイルデバイス内のセンサの数が増大し、いくつかのタイプのセンサが比較的大きい量の電流を引き込み得る（たとえば、ＣＣＤ画像センサ）と仮定すれば、センサ電力消費量を管理するための技法を実装し、それによってモバイルデバイス内のバッテリーの動作時間を延長することが有利であろう。
【発明の概要】
【０００７】
本発明の例示的な実施形態は、モバイルデバイス内での電力消費量を管理するためのシステムおよび方法を対象とする。一実施形態では、複数のセンサの電力消費量を管理するための方法が提供される。本方法は、センサクライアントからセンサに関する要求を受信することと、センサクライアントが登録／登録解除を要求したかどうかを判断することとを含み得る。本方法は、さらに、センサの電力消費量を低減するために、登録（registration）／登録解除要求（deregistration）に基づいて、センサの電源および動作モードを制御することと、センサクライアントがセンサにデータについての開始／停止要求を与えたかどうかを判断することとを含み得る。本方法は、さらに、センサの電力消費量を低減するために、データについての開始／停止要求に基づいて、センサへの電力、デバイス／ドライバ構成、およびセンサの動作モードを制御することを含み得る。
【０００８】
別の実施形態では、モバイルデバイス内の少なくとも１つのセンサの電力消費量を管理するための装置が提供される。本装置は、プロセッサと、プロセッサに結合された電源と、電源に結合された少なくとも１つのセンサと、プロセッサに結合されたメモリとを含み得る。このメモリは、センサクライアントからセンサに関する要求を受信することと、センサクライアントが登録／登録解除を要求したかどうかを判断することをプロセッサに行わせるための命令を含み得る。この命令は、さらに、センサの電力消費量を低減するために、登録／登録解除要求に基づいて、センサの電源および動作モードを制御することをプロセッサに行わせ得る。この命令は、さらに、センサクライアントがセンサにデータについての開始／停止要求を与えたかどうかを判断することと、センサの電力消費量を低減するために、データについての開始／停止要求に基づいて、センサへの電力、デバイス／ドライバ構成、およびセンサの動作モードを制御することとをプロセッサに行わせ得る。
【０００９】
添付の図面は、本発明の実施形態の説明を助けるために提示し、実施形態の限定ではなく例示のためのみに提供するものである。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態によるアクセス端末とアクセスネットワークとをサポートするワイヤレスネットワークアーキテクチャを示す図。
【図２】本発明の一実施形態による例示的なネットワークおよびそのネットワーク中の様々な要素を示す図。
【図３】本発明の少なくとも１つの実施形態によるモバイルデバイスを示す図。
【図４Ａ】本発明の一実施形態に一致するモバイルデバイスのトップレベルブロック図。
【図４Ｂ】例示的なモバイルデバイスのより詳細なブロック図。
【図５】本発明の一実施形態に一致する例示的なセンサソフトウェアサブシステムを示すブロック図。
【図６Ａ】本発明の少なくとも１つの実施形態に一致する例示的なプロセスを示すフローチャート。
【図６Ｂ】本発明の少なくとも１つの実施形態に一致する例示的なプロセスを示すフローチャート。
【図６Ｃ】本発明の少なくとも１つの実施形態に一致する例示的なプロセスを示すフローチャート。
【図７】本発明の少なくとも１つの実施形態に一致するトップレベルプロセスを示すフローチャート。
【発明を実施するための形態】
【００１１】
本発明の特定の実施形態を対象とする以下の説明および関連する図面で本発明の態様を開示する。本発明の範囲から逸脱することなく代替実施形態を考案することができる。さらに、本発明の関連する詳細を不明瞭にしないように、本発明のよく知られている要素については詳細に説明しないか、または省略する。
【００１２】
「例示的」という単語は、本明細書では「例、事例、または例示の働きをすること」を意味するために使用する。本明細書に「例示的」と記載されたいかなる実施形態も、必ずしも他の実施形態よりも好ましいまたは有利なものと解釈すべきではない。同様に、「本発明の実施形態」という用語は、本発明のすべての実施形態が、論じられた特徴、利点、または動作モードを含むことを必要としない。
【００１３】
本明細書で使用する用語は、特定の実施形態を説明するためのものにすぎず、本発明の実施形態を限定するものではない。本明細書で使用する単数形「ａ」、「ａｎ」および「ｔｈｅ」は、文脈が別段に明確に示すのでなければ、複数形をも含むものとする。さらに、本明細書で使用する「備える（comprises）」、「備えている（comprising）」、「含む（includes）」、および／または「含んでいる（including）」という用語は、述べられた特徴、整数、ステップ、動作、要素、および／または構成要素の存在を明示するが、１つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および／またはそれらのグループの存在または追加を排除しないことを理解されたい。
【００１４】
さらに、多くの実施形態について、たとえば、コンピューティングデバイスの要素によって実行されるべき一連のアクションに関して説明する。本明細書で説明する様々なアクションは、特定の回路（たとえば、特定用途向け集積回路（ＡＳＩＣ））によって、１つまたは複数のプロセッサによって実行されるプログラム命令によって、あるいは両方の組合せによって実行され得ることを認識されよう。さらに、本明細書で説明するこれらの一連のアクションは、実行時に、関連するプロセッサに本明細書で説明する機能を実行させるコンピュータ命令の対応するセットを記憶した任意の形態のコンピュータ可読記憶媒体内で全体として実施すべきものと見なすことができる。したがって、本発明の様々な態様は、すべてが請求する主題の範囲内に入ることが企図されているいくつかの異なる形式で実施され得る。さらに、本明細書で説明する実施形態ごとに、そのような実施形態の対応する形式を、たとえば、記載の動作を実行する「ように構成された論理」として本明細書で説明することがある。
【００１５】
本明細書で使用するモバイルデバイスは、少なくとも１つのセンサと、センサデータを有用な情報に加工するためのリソースとを有する、任意のタイプのポータブル計算デバイスであり得る。複数のセンサを制御することは、センサプロセッサシステムを含むアーキテクチャによって可能にされ得る。センサプロセッサシステムは、モバイルデバイス上で動作しているアプリケーションからの複数の要求に基づいて、異なるセンサにタスクを与え、それらのセンサを調整し得る。センササブシステムはまた、センサの電力ドローを管理し、不要な電力消費量を低減するために、各個のセンサへの電力を制御し得る。以下で提示する実施形態では、電力消費量を低減し、モバイルデバイスのバッテリー寿命を改善するために使用され得るアーキテクチャおよびプロセスの詳細を示す。
【００１６】
様々な実施形態では、モバイルデバイスはまた、ネットワーキング能力を有し、以下の図１〜図３で説明するようにアクセス端末（ＡＴ）として利用され得る。
【００１７】
図１に、本発明の少なくとも１つの実施形態によるワイヤレスシステム１００の１つの例示的な実施形態のブロック図を示す。この実施形態では、モバイルデバイスは、ネットワーキング能力を含み、本明細書ではアクセス端末（ＡＴ）と呼ばれる高データレート（ＨＤＲ）加入者局として考えられ得る。ＡＴは、本明細書ではモデムプールトランシーバ（ＭＰＴ）または基地局（ＢＳ）と呼ばれる１つまたは複数のＨＤＲ基地局と通信し得る。アクセス端末は、１つまたは複数のモデムプールトランシーバを介して、モデムプールコントローラ（ＭＰＣ）、基地局コントローラ（ＢＳＣ）および／またはパケット制御機能（ＰＣＦ）と呼ばれるＨＤＲ基地局コントローラとの間でデータパケットを送信および受信する。モデムプールトランシーバおよびモデムプールコントローラは、アクセスネットワークと呼ばれるネットワークの一部である。アクセスネットワークは複数のアクセス端末間でデータパケットをトランスポートする。
【００１８】
アクセスネットワークは、企業イントラネットまたはインターネットなど、アクセスネットワークの外部の追加のネットワークにさらに接続され得、各アクセス端末とそのような外部のネットワークとの間でデータパケットをトランスポートし得る。１つまたは複数のモデムプールトランシーバとのアクティブトラフィックチャネル接続を確立したアクセス端末は、アクティブアクセス端末と呼ばれ、トラフィック状態にあると言われる。１つまたは複数のモデムプールトランシーバとのアクティブトラフィックチャネル接続を確立中であるアクセス端末は、接続セットアップ状態にあると言われる。アクセス端末は、ワイヤレスチャネルを介して、あるいは、たとえば、光ファイバまたは同軸ケーブルを使用する有線チャネルを介して通信する任意のデータデバイスであり得る。アクセス端末はさらに、限定はしないが、ＰＣカード、コンパクトフラッシュ（登録商標）、外部または内部モデム、あるいはワイヤレス電話または有線電話を含む、いくつかのタイプのデバイスのいずれかであり得る。アクセス端末が信号をモデムプールトランシーバに送るための通信リンクは、逆方向リンクまたは逆方向トラフィックチャネルと呼ばれる。モデムプールトランシーバが信号をアクセス端末に送るための通信リンクは、順方向リンクまたは順方向トラフィックチャネルと呼ばれる。本明細書で使用するトラフィックチャネルという用語は、順方向トラフィックチャネルまたは逆方向トラフィックチャネルのいずれかを指すことができる。
【００１９】
図１をさらに参照すると、システム１００は、アクセス端末１０２をネットワーク機器に接続して、パケット交換データネットワーク（たとえば、イントラネット、インターネット、および／またはキャリアネットワーク１２６）とアクセス端末１０２、１０８、１１０、１１２との間にデータ接続性を与えることができるエアインターフェース１０４を介してアクセスネットワークまたは無線アクセスネットワーク（ＲＡＮ）１２０と通信している、セルラー電話１０２などのアクセス端末を含むことができる。本明細書に示すように、アクセス端末は、セルラー電話１０２、携帯情報端末１０８、本明細書では双方向テキストページャとして示すページャ１１０、さらにはワイヤレス通信ポータルを有する別個のコンピュータプラットフォーム１１２であり得る。したがって、本発明の実施形態は、ワイヤレスモデム、ＰＣＭＣＩＡカード、パーソナルコンピュータ、電話、またはそれらの任意の組合せもしくは部分的な組合せを限定なしに含む、ワイヤレス通信ポータルを含むか、またはワイヤレス通信機能を有する任意の形態のアクセス端末上で実現され得る。さらに、本明細書で使用する「アクセス端末」、「ワイヤレスデバイス」、「クライアントデバイス」、「モバイル端末」という用語およびその変形体は、互換的に使用され得る。
【００２０】
ワイヤレスネットワーク１００の構成要素および本発明の例示的な実施形態の要素の相互関係は、図示の構成に限定されない。システム１００は、例示的なものにすぎず、ワイヤレスクライアントコンピューティングデバイス１０２、１０８、１１０、１１２などのリモートアクセス端末が、互いに、および／またはキャリアネットワーク１２６、インターネットおよび／または他のリモートサーバを限定なしに含む、エアインターフェース１０４およびＲＡＮ１２０を介して接続された構成要素との間で無線で通信できるようにする任意のシステムを含むことができる。
【００２１】
ＲＡＮ１２０は、基地局コントローラ／パケット制御機能（ＢＳＣ／ＰＣＦ）１２２に送られる（一般に、データパケットとして送られる）メッセージを制御する。ＢＳＣ／ＰＣＦ１２２は、パケットデータサービスノード１００（「ＰＤＳＮ」）とアクセス端末１０２／１０８／１１０／１１２との間でのベアラチャネル（すなわち、データチャネル）のシグナリング、確立、およびティアダウンを担当する。リンクレイヤ暗号化が使用可能な場合、ＢＳＣ／ＰＣＦ１２２はまた、エアインターフェース１０４を介してコンテンツを転送する前にそのコンテンツを暗号化する。ＢＳＣ／ＰＣＦ１２２の機能は当技術分野でよく知られており、簡潔のためにさらに論じない。キャリアネットワーク１２６は、ネットワーク、インターネットおよび／または公衆交換電話ネットワーク（ＰＳＴＮ）によってＢＳＣ／ＰＣＦ１２２と通信し得る。代替的に、ＢＳＣ／ＰＣＦ１２２はインターネットまたは外部ネットワークに直接接続し得る。一般に、キャリアネットワーク１２６とＢＳＣ／ＰＣＦ１２２との間のネットワークまたはインターネット接続はデータを転送し、ＰＳＴＮはボイス情報を転送する。ＢＳＣ／ＰＣＦ１２２は複数の基地局（ＢＳ）またはモデムプールトランシーバ（ＭＰＴ）１２４に接続され得る。キャリアネットワークと同様の方法で、ＢＳＣ／ＰＣＦ１２２は一般に、データ転送および／またはボイス情報のために、ネットワーク、インターネットおよび／またはＰＳＴＮによってＭＰＴ／ＢＳ１２４に接続される。ＭＰＴ／ＢＳ１２４は、セルラー電話１０２などのアクセス端末にデータメッセージをワイヤレスでブロードキャストすることができる。ＭＰＴ／ＢＳ１２４、ＢＳＣ／ＰＣＦ１２２および他の構成要素は、当技術分野で知られているように、ＲＡＮ１２０を形成し得る。ただし、代替構成も使用され得、本発明は、図示の構成に限定されない。たとえば、別の実施形態では、ＢＳＣ／ＰＣＦ１２２の機能とＭＰＴ／ＢＳ１２４の１つまたは複数とは、ＢＳＣ／ＰＣＦ１２２とＭＰＴ／ＢＳ１２４の両方の機能を有する単一の「ハイブリッド」モジュールに縮小され得る。
【００２２】
図２に、本発明の一実施形態によるキャリアネットワーク１２６を示す。図２の実施形態では、キャリアネットワーク１２６は、パケットデータサービングノード（ＰＤＳＮ）１６０と、ブロードキャストサービングノード（ＢＳＮ）１６５と、アプリケーションサーバ１７０と、インターネット１７５とを含む。ただし、代替実施形態では、アプリケーションサーバ１７０および他の構成要素はキャリアネットワークの外部に配置され得る。ＰＤＳＮ１６０は、たとえば、ｃｄｍａ２０００の無線アクセスネットワーク（ＲＡＮ）（たとえば、図１のＲＡＮ１２０）を利用して、インターネット１７５、イントラネットおよび／またはリモートサーバ（たとえば、アプリケーションサーバ１７０）へのアクセスを移動局（たとえば、図１の１０２、１０８、１１０、１１２などのアクセス端末）に提供する。アクセスゲートウェイとして働くので、ＰＤＳＮ１６０は、単純ＩＰおよびモバイルＩＰアクセス、外部エージェントサポート、およびパケットトランスポートを提供し得る。ＰＤＳＮ１６０は、認証、認可、および課金（ＡＡＡ）サーバおよび他のサポートインフラストラクチャのクライアントとして働くことができ、当技術分野で知られているように、ＩＰネットワークへのゲートウェイを移動局に提供する。図２に示すように、ＰＤＳＮ１６０は、従来のＡ１０接続を介してＲＡＮ１２０（たとえば、ＢＳＣ／ＰＣＦ１２２）と通信し得る。Ａ１０接続は当技術分野でよく知られており、簡潔のためにさらに説明しない。
【００２３】
図２をさらに参照すると、ブロードキャストサービングノード（ＢＳＮ）１６５は、マルチキャストおよびブロードキャストサービスをサポートするように構成され得る。ＢＳＮ１６５は、ブロードキャスト（ＢＣ）Ａ１０接続を介してＲＡＮ１２０（たとえば、ＢＳＣ／ＰＣＦ１２２）と、またインターネット１７５を介してアプリケーションサーバ１７０と通信する。ＢＣＡ１０接続は、マルチキャストおよび／またはブロードキャストメッセージングを転送するために使用される。したがって、アプリケーションサーバ１７０は、インターネット１７５を介してユニキャストメッセージングをＰＤＳＮ１６０に送り、またインターネット１７５を介してマルチキャストメッセージングをＢＳＮ１６５に送る。概して、以下でより詳細に説明するように、ＲＡＮ１２０は、ＢＣＡ１０接続を介してＢＳＮ１６５から受信したマルチキャストメッセージを、エアインターフェース１０４のブロードキャストチャネル（ＢＣＨ）を介して１つまたは複数のアクセス端末２００に送信する。
【００２４】
図３を参照すると、セルラー電話などのアクセス端末２００（この実施形態ではワイヤレスデバイス）は、キャリアネットワーク１２６、インターネットおよび／または他のリモートサーバおよびネットワークから最終的に来ることがある、ＲＡＮ１２０から送信されたソフトウェアアプリケーション、データおよび／またはコマンドを受信および実行することができるプラットフォーム２０２を有する。プラットフォーム２０２は、特定用途向け集積回路（「ＡＳＩＣ」２０８）、または他のプロセッサ、マイクロプロセッサ、論理回路、または他のデータ処理デバイスに動作可能に結合されたトランシーバ２０６を含むことができる。ＡＳＩＣ２０８または他のプロセッサは、ワイヤレスデバイスのメモリ２１２中の常駐プログラムとインターフェースするアプリケーションプログラミングインターフェース（「ＡＰＩ」）２１０レイヤを実行する。メモリ２１２は、読取り専用メモリまたはランダムアクセスメモリ（ＲＡＭおよびＲＯＭ）、ＥＥＰＲＯＭ、フラッシュカード、またはコンピュータプラットフォームに共通の任意のメモリから構成され得る。プラットフォーム２０２は、メモリ２１２中でアクティブに使用されないアプリケーションを保持することができるローカルデータベース２１４を含むこともできる。ローカルデータベース２１４は、一般にフラッシュメモリセルであるが、磁気媒体、ＥＥＰＲＯＭ、光学媒体、テープ、ソフトまたはハードディスクなど、当技術分野で知られている任意の二次記憶デバイスとすることができる。内部プラットフォーム２０２の構成要素はまた、当技術分野で知られていているように、他の構成要素の中でもアンテナ２２２、ディスプレイ２２４、プッシュツートークボタン２２８およびキーパッド２２６などの外部デバイスに動作可能に結合され得る。
【００２５】
したがって、本発明の一実施形態は、本明細書で説明する機能を実行するための能力を含むアクセス端末を含むことができる。当業者なら諒解するように、本明細書で開示する機能を達成するために、様々な論理要素は、個別の要素、プロセッサ上で実行されるソフトウェアモジュール、またはソフトウェアとハードウェアとの任意の組合せで実施され得る。たとえば、ＡＳＩＣ２０８、メモリ２１２、ＡＰＩ２１０およびローカルデータベース２１４をすべて協働的に使用して、本明細書で開示する様々な機能をロード、記憶および実行することができ、したがって、これらの機能を実行する論理は様々な要素に分散され得る。代替的に、機能は１つの個別の構成要素に組み込まれ得る。したがって、図３のアクセス端末の特徴は例示的なものにすぎないと見なすべきであり、本発明は例示した特徴または構成に限定されない。
【００２６】
アクセス端末１０２とＲＡＮ１２０との間のワイヤレス通信は、符号分割多元接続（ＣＤＭＡ）、ＷＣＤＭＡ、時分割多元接続（ＴＤＭＡ）、周波数分割多元接続（ＦＤＭＡ）、直交周波数分割多重（ＯＦＤＭ）、Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ（ＧＳＭ（登録商標））、あるいはワイヤレス通信ネットワークまたはデータ通信ネットワークで使用され得る他のプロトコルなど、様々な技術に基づき得る。データ通信は、一般に、クライアントデバイス１０２とＭＰＴ／ＢＳ１２４とＢＳＣ／ＰＣＦ１２２との間で行われる。ＢＳＣ／ＰＣＦ１２２は、キャリアネットワーク１２６、ＰＳＴＮ、インターネット、バーチャルプライベートネットワークなどの複数のデータネットワークに接続され得、したがって、アクセス端末１０２はより広範囲の通信ネットワークにアクセスできるようになる。前述のように、および当技術分野で知られているように、ボイス送信および／またはデータは、様々なネットワークおよび構成を使用してＲＡＮからアクセス端末に送信され得る。したがって、本明細書で提供する例は、本発明の実施形態を限定するものではなく、本発明の実施形態の態様の説明を助けるものにすぎない。
【００２７】
上記で説明したように、電力を適切に管理することが、モバイルデバイス（たとえば、セルフォン、ＭＰ３プレーヤ、ワイヤレスモバイルアクセス端末、非ワイヤレスモバイルアクセス端末など）のための望ましい特徴であり得る。電力消費量を管理するための、従来のアクセス端末におけるいくつかの異なる機構が存在し得る。いくつかのモバイルデバイスは、アプリケーションが実行されていないとき、低電力モード、またはスリープモードに入り得る。他のモバイルデバイスは、それぞれのモバイルデバイスの処理負荷とともに消費電力量がスケーリングする、より高度な電力管理機構を有し得る。しかしながら、従来のモバイルデバイスは、モバイルデバイス内に常駐する個々のセンサ内で利用可能であり得る電力モードを調整するためのよりファイングレインな機能を有しない。それにより、本発明の実施形態は、ソフトウェア制御に基づいて個々のセンサに印加される電力を選択的に制御することを対象とする。
【００２８】
図４Ａに、本発明の一実施形態に一致する例示的なモバイルデバイスアーキテクチャ４００Ａのハイレベルブロック図を示す。図４Ａを参照すると、（この実施形態ではアクセス端末としても働き得る）モバイルデバイス４００Ａは、センサプロセッサシステム４０２Ａと、アプリケーションプロセッサシステム４３０Ａと、電力管理コントローラ４４０Ａとを含み得る。モバイルデバイスはさらに、電力管理コントローラ４４０Ａによって制御され得る１つまたは複数の電源（たとえば、センサ電源４１０ＡおよびＭＳＭ電源４２０Ａ）を含み得る。センサプロセッサシステム４０２Ａは、複数のセンサ１．．．Ｎ、４０５Ａと、センサソフトウェアサブシステム４１５Ａとを含み得る。図４Ａには明示的に図示されてはいないが、センサプロセッサシステムは、低電力動作用に構成され、アプリケーションプロセッサシステム内に常駐するアプリケーションプロセッサよりも著しく少ない電力を消費するセンサプロセッサを含み得る。センサプロセッサは、センサ１．．．Ｎ、４０５Ａと相互作用し（たとえば、様々なセンサにタスクを与え、センサデータを受信し）、（図５により詳細に示す）センサソフトウェアサブシステム４１５Ａ内のモジュールを実行する。
【００２９】
センサプロセッサシステム４０２Ａは、アプリケーションプロセッサシステムがスリープ状態にあるときでも「オン」状態に維持され得る。センサプロセッサシステム４０２Ａ内の構成要素は１つまたは複数の低電力モードを有することができる。センサプロセッサは、様々な電力モード（すなわち、低電力、スリープ、通常など）を有し得、各センサ１．．．Ｎ、４０５Ａの電力制御機能に応じてそれらのセンサの電力状態を制御し得る。たとえば、１つの低電力モードでは、センサプロセッサシステム４０２Ａのセンサプロセッサは休止状態にあり得るが、センサ４０５Ａのうちの１つからの割込みがデータを与えるとき、起動するように構成され得る。別の例では、センサ４０５Ａのサブセットは、センサソフトウェアサブシステム４１５Ａによって完全に休止状態に電源切断され得るが、（たとえば、加速度計などの）１つまたは複数のセンサは、センサプロセッサシステム４０２Ａを起動するための割込みを与えるために、低消費電力状態にある間、アクティブのままであることができる。センサプロセッサシステム４０２Ａはまた、センサプロセッサシステム４０２Ａがセンサ４０５Ａのうちの１つまたは複数を検査するために周期的に起動するように、デューティサイクルモードに入り得る。したがって、センサプロセッサシステム４０２Ａは「オン」状態に維持されている間、これは、センサ４０５Ａの各々が絶えず使用され、および／またはセンサプロセスが連続的にアクティブであることを暗示するものではない。センサプロセッサシステム４０２Ａは、単一バス、多重バス、および／または他のタイプの接続経路であり得る接続４２５Ａを介して、アプリケーションプロセッサシステム４３０Ａおよび／またはモデムサブシステム４３８Ａと、電力管理コントローラ４４０Ａの両方に接続され得る。さらに、センサ４０５Ａの電力状態を制御するために、電力管理コントローラ４４０Ａによって独立して制御され得る個別のセンサ電源４１０Ａが使用され得る。同じく電力管理コントローラ４４０Ａによって制御され得る、個別に制御される１次電源４２０は、センサプロセッサシステム４０２Ａとアプリケーションプロセッサシステム４３０Ａとの他の部分に電力を提供することができる。
【００３０】
センサソフトウェアサブシステムは、センサデバイスの個々の電力制御の機能を利用するために、特定のセンサデバイスに特に適合されたソフトウェアクライアントを含み得る。センサＡＰＩが、クライアントとセンサ管理ソフトウェアとの間の中間レイヤとして使用され得る。これらのソフトウェアモジュールの各々は、センサプロセッサシステム４０２Ａ内に常駐する１つまたは複数のプロセッサ上で実行され得る。たとえば、高い量の処理リソースを必要としないＡＰＩは、アプリケーションプロセッサシステム４３０Ａよりも低電力のプロセッサを有し得るセンサプロセッサシステム４０２Ａにオフロードされ得る。別の例では、センサ固有ＡＰＩ（たとえば、歩行／ジョギング時などのユーザのステップを計数する歩数計ＡＰＩ）は、センサプロセッサシステム４０２Ａがすでにセンサ１．．．Ｎを監視しているので、センサプロセッサシステム４０２Ａにオフロードされ得る。センサソフトウェアサブシステム４１５Ａの詳細については、以下の図５で提示する。ＡＰＩは、概して、センサアクティビティを制御／監視し、次いで適切なアクションを取るように構成されたセンサプロセッサシステム４０２Ａとともに、アプリケーションプロセッサシステム４３０Ａによって実行される。
【００３１】
アプリケーションプロセッサシステム４３０Ａは、モバイルデバイス上でＡＰＩを実行することに関連するハードウェアおよび／またはソフトウェアを含み、また、モバイルデバイスがワイヤレス接続性のために構成されたとき、そのモバイルデバイスがアクセス端末として働くことを可能にするワイヤレス通信に関係するハードウェアおよび／またはソフトウェア（たとえば、モデムハードウェア、アンテナなど）を含むことができる。したがって、アプリケーションプロセッサシステム４３０Ａは、図４Ａ中では、アクセス端末のワイヤレス接続性に関係するソフトウェアおよび／またはハードウェアに対応するモデムサブシステム４３８Ａを含むものとして示されている。一実施形態では、アクセス端末がワイヤレス通信用に構成されない場合、モデムサブシステム４３０Ａは、随意にアクセス端末から省略され得る。
【００３２】
電力管理コントローラ４４０Ａは、１つまたは複数の電源（たとえば、センサ電源４１０Ａおよび１次電源４２０Ａ）をさらに制御することによって、アプリケーションプロセッサシステム４３０Ａおよび／またはモデムサブシステム４３８Ａの電力消費量を制御する。たとえば、電力管理コントローラ４４０Ａは、アプリケーションプロセッサシステム４３０Ａの、モデムハードウェアなどの特定のハードウェアを選択的にオンまたはオフすることができる。電力管理コントローラ４４０Ａはまた、アプリケーションプロセッサシステム４３０Ａ中の特定のハードウェアの電力消費量をスケールアップまたはスケールダウンすることができる。たとえば、アプリケーションプロセッサシステム４３０Ａの電力消費量を管理するために、アプリケーションプロセッサに印加される電圧が増加または減少され得る。また、アプリケーションプロセッサシステム４３０Ａの実行速度を制御し、それによってアプリケーションプロセッサシステム４３０Ａの電力消費量を制御するために、アプリケーションプロセッサシステム４３０Ａ中のハードウェアに適用されるクロック信号が増加または減少され得る。
【００３３】
電力管理コントローラ４４０Ａは、モバイルデバイス４００Ａ内で使用される電力管理機能の態様を可能にするために、アプリケーションプロセッサシステム４３０Ａおよびセンサプロセッサシステム４０２Ａと連携して動作することができる。たとえば、電力管理コントローラ４４０Ａは、センサプロセッサシステム４０２Ａによって与えられた情報を活用することによって、アプリケーションプロセッサがより長くスリープすることを可能にすることができる。
【００３４】
センサから得られた情報は、センサソフトウェアサブシステム４１５Ａによって処理され、供給され、次いで、接続４２５Ａを介して電力管理コントローラ４４０Ａに搬送され得る。ただし、アプリケーションプロセッサシステム４３０Ａが、その電力要件が変化したことを電力管理コントローラ４４０Ａに通知したときなど（たとえば、ユーザが、アプリケーションプロセッサシステム４３０Ａを通して１つまたは複数のＡＰＩの停止またはローディングを要求したときなど）、電力管理コントローラ４４０Ａは、センサプロセッサシステムから選択された電力プロファイルを無効にすることもできる。その上、センサソフトウェアサブシステムは、電力管理コントローラに、センサ電源４１０Ａを通して個々のセンサ４０５Ａへの電力を選択的に制御させ得る。
【００３５】
図４Ｂに、図４Ａに関して上記で説明したアーキテクチャの１つの具体的な例を示す。図４Ｂを参照すると、センサコアプロセッサ４００Ｂは、（たとえば、内部データメモリおよび内部プログラムメモリを含む）メモリ４０２Ｂと、インター集積回路バス（Ｉ２Ｃ）４０６Ｂと、シリアル低電力チップ間メディアバス（ＳＬＩＭｂｕｓ）４０８Ｂと、汎用入出力ピン（ＧＰＩＯ）４１０Ｂと、アナログデジタル変換（ＡＤＣ）ユニット４１２Ｂとを含む。メモリ４０２Ｂは、センサコアプロセッサ４００Ｂとは別個のメインメモリ４１６Ｂにバス４１４Ｂを介して接続され得る。センサソフトウェアサブシステム４０２Ａは、一般にメモリ４０２Ｂ中に常駐するが、部分的または完全にメインメモリ４１６Ｂ内にも常駐し得る。センサコアプロセッサ４００Ｂは、加速度計４１８Ｂ、ジャイロスコープセンサ４２０Ｂ、圧力センサ４２２Ｂ、磁気センサ４２４Ｂおよびタッチスクリーン近接センサ４２６Ｂ、指紋センサ（図示せず）、ならびに閉ループフィードバック（図示せず）用のハプティック（haptic）ドライバ４２７Ｂを含む、複数のセンサに接続され得る。諒解されるように、センサコアプロセッサ４００Ｂは、アプリケーションプロセッサ４３６Ｂを電源投入する必要なしにセンサ４１８Ｂ〜４２６Ｂの各々と相互作用するか、またはその各々からセンサデータを受信することができる。集合的に、図４Ｂの要素４００Ｂ〜４２６Ｂは図４Ａのセンサプロセッサシステム４０２Ａに対応し、図４Ａのセンサ１．．．Ｎ、４０５Ａは図４Ｂのセンサ４１８Ｂ〜４２６Ｂに対応し、モジュール４１５Ａは、センサ４１８Ｂ〜４２６Ｂの電力および動作を制御するように構成されたソフトウェアに対応する。
【００３６】
Ｉ２Ｃ  ４０６Ｂはバス４２８Ｂを介してアプリケーションプロセッサ４３６Ｂに接続し、ＳＬＩＭｂｕｓ４０８Ｂはバス４３０Ｂを介してアプリケーションプロセッサ４３６Ｂに接続し得、ＧＰＩＯ  ４１０Ｂはバス４３２Ｂを介してアプリケーションプロセッサ４３６Ｂに接続する。バス４３２Ｂは、それ自体が電力管理集積回路（ＰＭＩＣ）４５４Ｂへのバス４３４Ｂに接続され得る。一例では、ＰＭＩＣ４５４Ｂからアプリケーションプロセッサ４３６Ｂへの方向に、バス４３４Ｂは、アプリケーションプロセッサ４３６Ｂ上のハードウェアを制御するために使用されるクロックイネーブル信号を搬送することができる。ＰＭＩＣ４５４Ｂはまた、動的な電圧および周波数スケーリング制御をアプリケーションプロセッサ４３６Ｂおよび／またはモデムサブシステム４４６Ｂに適用することができる。集合的に、要素バス４２８Ｂ、４３０Ｂ、４３２Ｂおよび４３４Ｂは図４Ａの接続４２５Ａ中に含まれ、ＰＭＩＣ４５４Ｂは図４Ａの電力管理コントローラ４４０Ａに対応する。
【００３７】
センサプロセッサシステム４０２Ａは、各センサ４１８Ｂ、４２０Ｂ、４２２Ｂ、４２４Ｂ、４２６Ｂなどの電力を個々に制御し得る。センサプロセッサシステム４０２Ａはまた、センサ動作の変動するモード、および／またはアプリケーションプロセッサシステム４３０Ａを通してセンサプロセッサシステム４０２Ａにデータを要求するアプリケーションの要件に応じて利用可能であり得る、様々な電力モードを利用し得る。たとえば、いくつかのセンサは、限られた電力モード（たとえば、電源オフおよび通常動作）を有し得る。他のセンサは、サンプリング周波数、解像度、および／または精度など、様々な構成パラメータを変更し得る、より精細な管理水準を可能にし得る。様々な電力モードの例として、低電力モード、スタンバイ、通常電力、高周波、高解像度などがあり得る。様々なセンサについて、これらは、電源切断／スタンバイビットを用いて制御されるソフトウェアであり得る。センサはマイクロコントローラＧＰＩＯバスを通して制御され得る。
【００３８】
一実施形態では、個々のセンサへの電力制御は、センサプロセッサシステム４０２Ａ中のセンサボードに電力を供給するためのセンサ電源４１０Ａによって行われ得る。ＧＰＩＯバスは、オンボード低ドロップアウトレギュレータ（ＬＤＯ）を切り替えるために使用され得る。個々のセンサは、インター集積回路（Ｉ２Ｃ）インターフェースを使用してスタンバイモードにされ得る。別の実施形態では、センサプロセッサシステム４０２Ａのボード上のデジタル回路は１次電源４２０Ａによって電力供給され得、センサ電力はセンサ電源４１０Ａによって供給される。アナログ回路への電源は、アプリケーションプロセッサ４３６Ｂ  ＧＰＩＯを使用してオン／オフにされ得る。別の実施形態では、センサプロセッサシステム４０２Ａ内のデジタル回路は１次電源４２０Ａによって電力供給され得、センサはセンサ電源４１０Ａによって供給される。一実施形態では、たとえば、センサへの電力は、どんなタイプのセンサデータが要求されているかに基づいて、ＰＭＩＣ４５４Ｂからのコマンドを使用して、独立してオン／オフにされ得る電圧レギュレータを使用して制御され得る。
【００３９】
図４Ｂの実施形態では、アプリケーションプロセッサ４３６ＢはＡＲＭ１１／Ｓｃｏｒｐｉｏｎプロセッサとして示されているが、本発明の他の実施形態では、アプリケーションプロセッサ４３６Ｂは様々なタイプのプロセッサに対応することができることを諒解されたい。アプリケーションプロセッサ４３６Ｂはバス４３８Ｂを介してメモリ４４２Ｂに接続する。メモリ４４２Ｂはバス４４４Ｂを介してモデムサブシステムに接続される。一例では、モデムサブシステム４４６Ｂは、ＡＲＭ／ＤＳＰプロセッサに対応し、Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ（ＧＰＳ）機能を含み得るが、本発明の他の実施形態では、モデムシステム４４６Ｂは別様に構成され得る。
【００４０】
図４Ｂをさらに参照すると、モデムサブシステム４４６Ｂはバス４５０Ｂを介して電力増幅器（ＰＡ）およびアンテナスイッチ４５２Ｂに接続され得、そのバス４５０Ｂもバス４３２Ｂに接続される。一例では、バス４５０Ｂは、アンテナスイッチ／ＰＡ受信／送信（ＲＸ／ＴＸ）検出に関係するシグナリングを搬送するために使用され得る。
【００４１】
図４Ｂの要素４３６Ｂ、４４２Ｂ、４４６Ｂおよび４５２Ｂは、集合的に図４Ａのアプリケーションプロセッサシステム４３０Ａに対応する。したがって、ＰＭＩＣ４５４Ｂは、各ハードウェア要素の電力消費量を独立して制御するために、アプリケーションプロセッサシステム４３０Ａの各ハードウェア要素に個別に接続することができることを諒解されよう。言い換えれば、ＰＭＩＣ４５４Ｂはバス４３４Ｂおよび４３２Ｂを介してアプリケーションプロセッサ４３６Ｂに接続し、ＰＭＩＣ４５４Ｂはバス４３４Ｂ、４３２Ｂおよび４４８Ｂを介してモデムサブシステムに接続することなどができる。センサクライアントは、以下でより詳細に説明するセンサソフトウェアサブシステムモジュール４１５Ａに関連付けられるセンサＡＰＩを通してセンサモジュールと相互作用し得る。
【００４２】
図５は、本発明の一実施形態に一致する例示的なセンサソフトウェアサブシステム４１５Ａを示すブロック図である。センサソフトウェアサブシステム４１５Ａは、センサクライアント５１０と、センサＡＰＩ５１５と、センサマネージャ５２０と、センサドライバ５５０とを含み得る。センサマネージャ５２０内には、さらに、クライアントマネージャ５２５、センサ発見マネージャ５４０、データマネージャ５４５、デバイスマネージャ５３５、および電力マネージャ５３０など、いくつかのマネージャモジュールが含まれ得る。
【００４３】
センサマネージャ５２０は、センサリソースに対する複数のクライアント要求を調整することができる。そのような調整により、たとえば、センサクライアントが、リソース競合を生じ得るセンサデータに対する同時および／または重複要求を行う場合、モバイルデバイスのより円滑な動作が可能になる。そのような競合は、クライアント要求が、共通のセンサに対するデータ要求を含むか、あるいは同時クライアント使用のために利用可能であり得る以上にサポートリソース（たとえば、メモリおよび／または処理サイクル）を要求するときに発生し得る。センサマネージャ５２０は、クライアント要求を編成し、リソース競合を低減し得る方法でリソースを割り振り得る。本発明の少なくとも１つの実施形態では、以下でより詳細に説明するように、センサマネージャ５２０は、モバイルデバイスの全体的な電力消費量が低減され得るように、１つまたは複数のセンサへの電力をアクティブ／非アクティブにし、および／またはセンサ動作パラメータを変化させることもできる。
【００４４】
センサクライアント５１０は、センサデータを利用および活用することができる様々なアプリケーションを含む。図５に示すように、センサクライアントは、センサソフトウェアサブシステム中に常駐するものとして示されているが、センサクライアントは、たとえば、アプリケーションプロセッサシステム４３０Ａを含む他のシステム中にも常駐し得る。センサクライアントは、センサモジュールに登録し、特定のセンサデータタイプを要求するために、一般にセンサＡＰＩ５１５を使用する。センサクライアントはまた、センサＡＰＩ５１５を介してセンサデータ報告の周期性を示し得る。
【００４５】
クライアントマネージャ５２５は、すべてのクライアントトランザクションを処理し得、クライアント要求を受信し、処理し、同期または非同期応答を送るためにセンサＡＰＩ５１５と相互作用し得る。クライアントマネージャ５２５は、アプリケーションプロセッサ４３６Ｂからの登録要求を処理し、次いで、（１つまたは複数の）特定のセンサ５６０に対するデータ要求をデータマネージャに通知することができる。さらに、クライアントマネージャ５２５は登録要求を電力マネージャに通知し得る。クライアントマネージャ５３０によって実行され得る登録プロセスにより、センサマネージャ５２０が、リソース競合を回避するための理路整然とした方法でセンササブシステムのリソースをクライアントアプリケーションに割り振ることが可能になる。たとえば、センサマネージャは、アプリケーションプロセッサシステム４３０Ａ上で動作している１つまたは複数の要求アプリケーションにセンサデータおよび／またはセンサ処理リソースが供給され得る優先度およびタイミングを判断し得る。
【００４６】
データマネージャ５４５は、１つまたは複数のセンサデバイス５６０によって供給されているデータのデータストリーミングおよびバッファリングを実行し得る。データマネージャ５４５は、適切なセンサドライバ５５０からデータを発信するためにデバイスマネージャ５３５と相互作用し得る。データマネージャ５３５は、データ開始／停止イベントの電力制御について、およびデータストリーミングレートについて電力マネージャ５３０と相互作用する。さらに、電力マネージャ５３０は、電力管理ＩＣ４５４Ｂを通してオン／オフになるように個々のセンサの電力を制御し得る。
【００４７】
新しいデータタイプに対する新しいクライアント要求がアプリケーションプロセッサ４３６Ｂから受信された場合、データマネージャ５４５によってセンサ発見モジュール５４０に通知され得る。センサ発見モジュール５４０は、要求データを発信することができるセンサを識別し得、次いで、適切なセンサデバイスに対応するセンサドライバ５５０を初期化し、構成するためにデバイスマネージャ５３５に通知し得る。デバイスマネージャ５３５は、初期化、登録、構成などを含む、デバイス／ドライバトランザクションを処理し得る。
【００４８】
電力マネージャ５３０は、センサソフトウェアサブシステム４１５Ａを電力効率的に動作させるために、センサマネージャ中の他のモジュール、すなわち、クライアントマネージャ５２５、データマネージャ５４５およびデバイスマネージャ５３５と相互作用し得る。センサ使用を判断するために、電力マネージャ５３０によってクライアント登録およびデータ要求が使用される。電力マネージャ５３０は、センサドライバ５５０を適切な動作モードに構成するためにデバイスマネージャ５３５に通知し得る。さらに、電力マネージャ５３０は、電力管理ＩＣドライバＡＰＩを使用して、ＰＭＩＣ４５４Ｂをもつデバイスへの電源を制御し得る。電力管理ＡＰＩ（図示せず）はアプリケーションプロセッサシステム４３０Ａ中に常駐し得る。センサマネージャ５２０内のモジュールは、センサデバイスインターフェース５５５を通してセンサデバイス５６０と相互作用し得る。
【００４９】
図６Ａ〜図６Ｃは、本発明の少なくとも１つの実施形態に一致する例示的なプロセスを示すフローチャートである。各フローチャートの右側に沿った挿入的表示は、センサマネージャ５２０内のどの特定のマネージャが、関連するプロセスブロックを実行し得るかを例示するものである。
【００５０】
図６Ａを参照すると、アプリケーションプロセッサ４３６Ｂによって生成されたクライアント要求６０５Ａは、クライアントマネージャ５２５において受信され得る。次いで、クライアントマネージャ５２５は、クライアント要求が登録要求または登録解除要求を含むかどうかを判断し得る（６１５Ａ）。クライアント要求が登録要求または登録解除要求を含む場合、クライアントデータベースは、それに応じてクライアント要求に基づいて更新され得（６５０Ａ）、制御は電力マネージャ５３０に移り、以下の図６Ｂの説明で例示するように、登録または登録解除プロセスを実行し得る。クライアントデータベースは、たとえば、システムに登録されたすべてのアクティブクライアントの状態を維持することができ、未解決の要求の状態と、ステータスがどのように報告されるべきかとを維持し、クライアント要求を行った各クライアントに固有の情報を保存する。
【００５１】
代替的に、ブロック６１５Ａにおいて、受信されたクライアント要求がクライアント登録／登録解除要求でないと判断された場合、受信されたクライアント要求がクライアントアプリケーションによる停止／開始要求であるかどうかがさらに判断され得る（６２０Ａ）。開始／停止要求は、データを供給するかまたはデータの供給を停止するための、適切なセンサへの要求である。要求が開始／停止要求を含まない場合、その要求は、電力管理プロセスに関係しない方法でセンサプロセッサによって処理され得（６５５Ａ）、詳細に説明する必要はない。代替的に、ブロック６２０Ａにおいて開始／停止要求が受信されたと判断された場合、データマネージャ５４５は、クライアント要求が新しいデータタイプの要求を含むかどうかを判断し得る（６３０Ａ）。新しいデータタイプは、システム始動以来要求されたことがないデータタイプとして定義される。データタイプを記憶し、そのデータタイプを特定のセンサデバイスに関連付ける別個のデータベースがデータマネージャ５４５中に含まれ得る。新しいデータタイプが要求されている場合、データマネージャ５４５は、要求された新しいデータタイプのソースを確認するためにセンサ発見を実行し得る（６６０Ａ）。データマネージャ５４５によってセンサ発見６６０Ａが実行された後、またはブロック６３０Ａにおいて要求が新しいデータタイプを含まないと判断された場合、デバイスマネージャ５３５は、（１つまたは複数の）適切なセンサのデバイスドライバを初期化および／または構成し得る（６４０Ａ）。次いで、デバイスマネージャ５３５はデバイスデータベースを更新し得る（６４５Ａ）。デバイスデータベースは、要求されたデータタイプを、クライアントによって要求されたデータタイプを発信するのに最も適切なセンサに関連付ける情報を含み得る。ここで、サポートされるデータタイプは、対応するデータを生成する適切なセンサデバイスにマッピングされ得る。たとえば、デバイスデータベースは、動作モード、サンプリングレート、センサデータを要求しているクライアントの数などのパラメータを含み得る。デバイスデータベースが更新されると、プロセスは、図６Ｃにおいて詳述するデータ収集プロセスに進み得る。
【００５２】
上記のブロック６１５Ａにおいて説明したようにクライアントマネージャ５２５によって登録要求または登録解除要求が受信された場合、クライアントマネージャ５２５内で登録または登録解除が実行された後、制御は電力マネージャ５３０に移され得る。図６Ｂを参照すると、電力マネージャ５３０は、初めに、登録または登録解除が実行されたかどうかを判断するために検査し得る（６１０Ｂ）。登録解除が実行され、クライアントが、もはやクライアントマネージャ５５０によって追跡されていない（すなわち、再登録されたのでなければ、さらなる処理から事実上削除されている）場合、電力マネージャ５３０は、残りのクライアントをサポートするために必要とされる最小値にセンササンプリングレートを更新し得る（６１５Ｂ）。次いで、電力マネージャ５３０は、これがセンサにデータを要求している最後のクライアントであるかどうかを判断し得る（６２０Ｂ）。これが最後のクライアントでない場合、電力マネージャ（５３０）による処理は終了し得る。
【００５３】
一方、ブロック６２０Ｂにおいてこれがセンサにデータを要求している最後のクライアントであると判断された場合、電力マネージャ５３０は、センサ電源がオンであるかどうかを判断するために検査し得る（６２５Ｂ）。休眠状態のクライアントは、センサが電流を引き込み得ない（本質的にセンサがすでに電力オフ状態になっていることがある）低減電力状態になり得るので、ブロック６２５Ｂの検査は実行され得る。センサ電源がオンでない場合、電力マネージャ５３０によって実行される処理は終了し得る。ブロック６２５Ｂにおいてセンサがオンであると判断された場合、センサ動作モードは、たとえば、センサがもはや高電流モードで動作しなくなるように更新され得る（６３０Ｂ）。ブロック６３０Ｂの別の例では、登録解除する前にデータの供給を停止するようにセンサに適切に通知することに失敗したクライアントにセンサが依然としてデータを供給している場合、動作モードは変更され得る。動作モードが更新されると、電力マネージャ５３０は、「センサ電源オフ」タイマーを開始し（６３５Ｂ）、その後、このタイマーが満了したかどうかを判断するためにそのタイマーを監視し得る（６４０Ｂ）。「センサ電源オフ」タイマーの満了時に、センサへの電力はオフにされる（６４５Ｂ）。タイマーは、センサが不必要に電力循環されないように遅延を与えるために使用される。これは、不要なレイテンシを招くことを回避し、いくつかのセンサの場合、始動電流は動作電流よりも大きくなることがあり、頻繁な電力循環は、実際には単にセンサをオンのままにするよりも多くの電力を使用し得る。
【００５４】
図６Ｂをさらに参照すると、ブロック６１０Ｂにおいて、クライアントマネージャ５２５において登録が実行されたと判断された場合、電力マネージャ５３０は、センサが電源オフされているかどうかを判断し得る（６５０Ｂ）。新たに登録されたセンサは初めて使用される前に電源オフされる可能性があるので、この検査は実行される。一方、センサが現在電源オンされている場合、電力マネージャ５３０によって実行される処理は終了し得る。センサが電源オフされている場合、電力マネージャ５３０は、プラットフォーム固有の論理に基づいて、センサが電源オンされることが適切であるかどうかの判断を行い得る（６５５Ｂ）。次いで、電力マネージャ５３０はブロック６６０Ｂの結果を検査し得る。ブロック６６０Ｂにおいて電力をオンにすることが適切であると判断された場合、電力はオンにされる（６６５Ｂ）。他の場合、電力マネージャ５３０による処理は終了し得る。
【００５５】
図６Ｃを参照すると、センサによってデータが収集されているとき、電力マネージャ５３０において行われる例示的なプロセスが示されている。ここで、電力マネージャ５３０は、初めに、クライアントマネージャによって受信されたクライアント要求が、センサデータの感知を開始したいという要求を含んでいたかどうかを判断し得る（６１０Ｃ）。クライアント要求がセンサデータの検知を開始したいという要求を含んでいた場合、センサへの電力が検査され（６４０Ｃ）、必要ならばオンにされる（６４５Ｃ）。次いで、電力マネージャは、これが、要求されたセンサデータの最初のクライアントであるかどうかを判断し得る（６５０Ｃ）。これが最初のクライアントである場合、センサ動作モードは、そのクライアント用にセンサを初期化するように更新される（６５５Ｃ）。これが最初のクライアントでない場合、センササンプリングレートは、既存のクライアントをサポートするために必要とされる最小値に更新される（６６０Ｃ）。ここで、電力マネージャは、電力消費量を低減するために、必要とされる最小サンプリング周波数、または任意の他の関連するパラメータを計算し得る。
【００５６】
ブロック６１０Ｃに戻ると、クライアントがセンサからデータを受信するのを停止することを要求していると電力マネージャ５３０が判断した場合、引き続いて、これがセンサデータの最後のクライアントであるかどうかの検査が判断され得る（６１５Ｃ）。最後のクライアントである場合、センサ動作モードは、電力消費量を低減するためにセンサ動作モードが低電流モードになるように更新され得（６２０Ｃ）、次いで、「センサ電源オフ」タイマーが開始され得る（６２５Ｃ）。電力マネージャ５３０は、「センサ電源オフ」タイマーが満了したかどうかを検査し（６３０Ｃ）、満了していれば、センサを電源オフする（６３５Ｃ）。電力マネージャ５３０がブロック６１５Ｃにおいてこれがセンサデータの最後のクライアントではないと判断した場合、ステップ６６０Ｃにおいて、センサデータサンプリングレートは、未解決のクライアント要求をサポートするために必要とされる最小値に更新され得る。特定のセンサからデータを取得することに同時に関心がある２つ以上のクライアントが存在し得るので、センサデバイスがサンプリングされ得るレートは、電力最適化についてすべての既存のクライアントを適切にサポートすることができる値に低減され得る。
【００５７】
図７は、本発明の少なくとも１つの実施形態に一致するトップレベルプロセス７００を示すフローチャートである。初めに、センサクライアントからセンサに関する要求を受信し得る（７１０）。この要求は、１つまたは複数のセンサに関連するクライアントによる様々なコマンドを含み得る。次いで、センサクライアントが登録または登録解除を要求するかどうかの判断を行い得る（７２０）。この判断は、クライアントがセンサに登録したか、またはセンサから登録解除されたかどうかを示す。登録／登録解除アクションは、受信された要求中に含まれるコマンドに基づいて実行され得る。ブロック７２０の登録／登録解除の判断に基づいてセンサの電源および動作モードを制御し得る（７３０）。この制御は、センサの電力消費量を低減するために実施される。次いで、センサクライアントがセンサにデータについての開始／停止要求を与えたかどうかを判断し得る（７４０）。最後に、データについての開始／停止要求に基づいて、センサへの電力、センサの構成、および／または動作モードを制御し得る（７５０）。この制御は、センサの電力消費量を低減するために実施される。
【００５８】
情報および信号は、多種多様な技術および技法のいずれかを使用して表され得ることを当業者ならば諒解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
【００５９】
さらに、本明細書で開示する実施形態に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを当業者ならば諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
【００６０】
本明細書で開示する実施形態に関連して説明した方法、シーケンス、および／またはアルゴリズムは、直接ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはその２つの組合せで実施され得る。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサに一体化され得る。
【００６１】
したがって、本発明の一実施形態は、モバイルデバイス内の複数のセンサの電力消費量を管理するための方法を具備するコンピュータ可読媒体を含むことができる。本方法は、センサクライアントからセンサに関する要求を受信することと、センサクライアントが登録／登録解除を要求したかどうかを判断することと、センサの電力消費量を低減するために、登録／登録解除要求に基づいて、センサの電源および動作モードを制御することと、センサクライアントがセンサにデータについての開始／停止要求を与えたかどうかを判断することと、センサの電力消費量を低減するために、データについての開始／停止要求に基づいて、センサへの電力、デバイス／ドライバ構成、およびセンサの動作モードを制御することとを含み得る。したがって、本発明は、図示の例に限定されるものではなく、本明細書で説明した機能を実行するための任意の手段が本発明の実施形態に含まれる。
【００６２】
上記の開示は本発明の例示的な実施形態を示すが、添付の特許請求の範囲によって規定される本発明の範囲から逸脱することなく本明細書において様々な変更および修正を行うことができることに留意されたい。本明細書で説明した本発明の実施形態による方法クレームの機能、ステップおよび／またはアクションは特定の順序で実行しなくてもよい。さらに、本発明の要素は、単数形で説明または請求されていることがあるが、単数形に限定することが明示的に述べられていない限り、複数形が企図される。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
モバイルデバイス内の複数のセンサの電力消費量を管理するための方法であって、
センサクライアントからセンサに関する要求を受信することと、
前記センサクライアントが登録／登録解除を要求したかどうかを判断することと、
前記センサの電力消費量を低減するために、前記登録／登録解除要求に基づいて、前記センサの電源および動作モードを制御することと、
前記センサクライアントが前記センサにデータについての開始／停止要求を与えたかどうかを判断することと、
前記センサの前記電力消費量を低減するために、データについての前記開始／停止要求に基づいて、前記センサへの電力、デバイス／ドライバ構成、および前記センサの動作モードを制御することと
を備える方法。
[Ｃ２]
前記要求が登録要求または登録解除要求を含むと判断することと、
クライアントデータベースを更新し、前記センサの登録または登録解除を実行することと
をさらに備える、Ｃ１に記載の方法。
[Ｃ３]
登録が実行されたことを確認することと、
前記センサが電源オフされているかどうかを判断することと、
前記センサが電源オンされるべきかどうかを判断し、電源オンされるべき場合、前記センサ電源をオンにすることと
をさらに備える、Ｃ２に記載の方法。
[Ｃ４]
登録解除が実行されたことを確認することと、
既存のクライアントをサポートすることが可能な最小値にセンサデータサンプリングレートを更新することと、
既存のクライアントをサポートするためにセンサパラメータを更新することと、
前記センサ動作モードを更新することと、
前記要求が最後のクライアント要求である場合、前記センサ電源をオフにすることと
をさらに備える、Ｃ２に記載の方法。
[Ｃ５]
前記要求が最後のクライアント要求であり、前記センサが電源オンされていることを確認することと、
センサ電源オフタイマーを開始することと、
前記センサ電源オフタイマーが満了したかどうかを判断することと、
前記電源オフタイマーの満了時に前記センサを電源切断することと
をさらに備える、Ｃ４に記載の方法。
[Ｃ６]
前記センサクライアントがデータ開始要求を与えたと判断することと、
前記センサが電源オフされているかどうかを判断し、前記センサが電源オフされている場合、前記センサを電源オンすることと、
前記センサクライアントが前記センサに対する最初のセンサクライアントであると判断することと、
センサ動作モードを更新することと、
既存のクライアントをサポートする最小値にセンササンプリング周波数を更新することと
をさらに備える、Ｃ１に記載の方法。
[Ｃ７]
前記センサクライアントがデータ停止要求を与えたと判断することと、
前記センサクライアントが前記センサに関連する最後のクライアントではないと判断し、既存のクライアントをサポートする最小値にセンササンプリング周波数を更新することと
をさらに備える、Ｃ１に記載の方法。
[Ｃ８]
前記センサクライアントがデータ停止要求を与えたと判断することと、
前記センサクライアントが前記センサに関連する最後のクライアントであると判断することと、
センサ動作モジュールを更新することと、
センサ「電源オフ」タイマーを開始することと、
前記センサ「電源オフ」タイマーが満了したとき、前記センサ電源をオフにすることと
をさらに備える、Ｃ１に記載の方法。
[Ｃ９]
モバイルデバイス内の少なくとも１つのセンサの電力消費量を管理するための装置であって、
プロセッサと、
前記プロセッサに結合された電源と、
前記電源に結合された少なくとも１つのセンサと、
前記プロセッサに結合されたメモリであって、
センサクライアントからセンサに関する要求を受信することと、
前記センサクライアントが登録／登録解除を要求したかどうかを判断することと、
前記センサの電力消費量を低減するために、前記登録／登録解除要求に基づいて、前記センサの電源および動作モードを制御することと、
前記センサクライアントが前記センサにデータについての開始／停止要求を与えたかどうかを判断することと、
前記センサの前記電力消費量を低減するために、データについての前記開始／停止要求に基づいて、前記センサへの電力、デバイス／ドライバ構成、および前記センサの動作モードを制御することと
を前記プロセッサに行わせるための命令を備えるメモリと
を備える装置。
[Ｃ１０]
前記メモリは、
前記要求が登録要求または登録解除要求を含むと判断することと、
クライアントデータベースを更新し、前記センサの登録または登録解除を実行することとを前記プロセッサに行わせるための命令をさらに備える、Ｃ９に記載の装置。
[Ｃ１１]
前記メモリは、
登録が実行されたことを確認することと、
前記センサが電源オフされているかどうかを判断することと、
前記センサが電源オンされるべきかどうかを判断し、電源オンされるべき場合、前記センサ電源をオンにすることと
を前記プロセッサに行わせるための命令をさらに備える、Ｃ１０に記載の装置。
[Ｃ１２]
前記メモリは、
登録解除が実行されたことを確認することと、
既存のクライアントをサポートすることが可能な最小値にセンサデータサンプリングレートを更新することと、
既存のクライアントをサポートするためにセンサパラメータを更新することと、
前記センサ動作モードを更新することと、
前記要求が最後のクライアント要求である場合、前記センサ電源をオフにすることと
を前記プロセッサに行わせるための命令をさらに備える、Ｃ１０に記載の装置。
[Ｃ１３]
前記メモリは、
前記要求が最後のクライアント要求であり、前記センサが電源オンされていることを確認することと、
センサ電源オフタイマーを開始することと、
前記センサ電源オフタイマーが満了したかどうかを判断することと、
前記電源オフタイマーの満了時に前記センサを電源切断することと
を前記プロセッサに行わせるための命令をさらに備える、Ｃ１２に記載の装置。
[Ｃ１４]
前記メモリは、
前記センサクライアントがデータ開始要求を与えたと判断することと、
前記センサが電源オフされているかどうかを判断し、前記センサが電源オフされている場合、前記センサを電源オンすることと、
前記センサクライアントが前記センサに対する最初のセンサクライアントであると判断することと、
センサ動作モードを更新することと、
既存のクライアントをサポートする最小値にセンササンプリング周波数を更新することと
を前記プロセッサに行わせるための命令をさらに備える、Ｃ９に記載の装置。
[Ｃ１５]
前記メモリは、
前記センサクライアントがデータ停止要求を与えたと判断することと、
前記センサクライアントが前記センサに関連する最後のクライアントではないと判断し、既存のクライアントをサポートする最小値にセンササンプリング周波数を更新することとを前記プロセッサに行わせるための命令をさらに備える、Ｃ９に記載の装置。
[Ｃ１６]
前記メモリは、
前記センサクライアントがデータ停止要求を与えたと判断することと、
前記センサクライアントが前記センサに関連する最後のクライアントであると判断することと、
センサ動作モジュールを更新することと、
センサ「電源オフ」タイマーを開始することと、
前記センサ「電源オフ」タイマーが満了したとき、前記センサ電源をオフにすることと
を前記プロセッサに行わせるための命令をさらに備える、Ｃ９に記載の装置。
[Ｃ１７]
少なくとも１つのプロセッサによって実行されると、モバイルデバイス内の複数のセンサの電力消費量を管理することを前記プロセッサに行わせる命令を備える非一時的コンピュータ可読記憶媒体であって、
センサクライアントからセンサに関する要求を受信するための命令と、
前記センサクライアントが登録／登録解除を要求したかどうかを判断するための命令と、
前記センサの電力消費量を低減するために、前記登録／登録解除要求に基づいて、前記センサの電源および動作モードを制御するための命令と、
前記センサクライアントが前記センサにデータについての開始／停止要求を与えたかどうかを判断するための命令と、
前記センサの前記電力消費量を低減するために、データについての前記開始／停止要求に基づいて、前記センサへの電力、デバイス／ドライバ構成、および前記センサの動作モードを制御するための命令と
を備える非一時的コンピュータ可読記憶媒体。
[Ｃ１８]
前記要求が登録要求または登録解除要求を含むと判断するための命令と、
クライアントデータベースを更新し、前記センサの登録または登録解除を実行するための命令とをさらに備える、Ｃ１７に記載の非一時的コンピュータ可読記憶媒体。
[Ｃ１９]
登録が実行されたことを確認するための命令と、
前記センサが電源オフされているかどうかを判断するための命令と、
前記センサが電源オンされるべきかどうかを判断し、電源オンされるべき場合、前記センサ電源をオンにするための命令と
をさらに備える、Ｃ１８に記載の非一時的コンピュータ可読記憶媒体。
[Ｃ２０]
登録解除が実行されたことを確認するための命令と、
既存のクライアントをサポートすることが可能な最小値にセンサデータサンプリングレートを更新するための命令と、
既存のクライアントをサポートするためにセンサパラメータを更新するための命令と、
前記センサ動作モードを更新するための命令と、
前記要求が最後のクライアント要求である場合、前記センサ電源をオフにするための命令と
をさらに備える、Ｃ１８に記載の非一時的コンピュータ可読記憶媒体。
[Ｃ２１]
前記要求が最後のクライアント要求であり、前記センサが電源オンされていることを確認するための命令と、
センサ電源オフタイマーを開始するための命令と、
前記センサ電源オフタイマーが満了したかどうかを判断するための命令と、
前記電源オフタイマーの満了時に前記センサを電源切断するための命令と
をさらに備える、Ｃ２０に記載の非一時的コンピュータ可読記憶媒体。
[Ｃ２２]
前記センサクライアントがデータ開始要求を与えたと判断するための命令と、
前記センサが電源オフされているかどうかを判断し、前記センサが電源オフされている場合、前記センサを電源オンするための命令と、
前記センサクライアントが前記センサに対する最初のセンサクライアントであると判断するための命令と、
センサ動作モードを更新するための命令と、
既存のクライアントをサポートする最小値にセンササンプリング周波数を更新するための命令と
をさらに備える、Ｃ１７に記載の非一時的コンピュータ可読記憶媒体。
[Ｃ２３]
前記センサクライアントがデータ停止要求を与えたと判断するための命令と、
前記センサクライアントが前記センサに関連する最後のクライアントではないと判断し、既存のクライアントをサポートする最小値にセンササンプリング周波数を更新するための命令と
をさらに備える、Ｃ１７に記載の非一時的コンピュータ可読記憶媒体。
[Ｃ２４]
前記センサクライアントがデータ停止要求を与えたと判断するための命令と、
前記センサクライアントが前記センサに関連する最後のクライアントであると判断するための命令と、
センサ動作モジュールを更新するための命令と、
センサ「電源オフ」タイマーを開始するための命令と、
前記センサ「電源オフ」タイマーが満了したとき、前記センサ電源をオフにするための命令と
をさらに備える、Ｃ１７に記載の非一時的コンピュータ可読記憶媒体。
[Ｃ２５]
モバイルデバイス内の複数のセンサの電力消費量を管理するための装置であって、
センサクライアントからセンサに関する要求を受信するための手段と、
前記センサクライアントが登録／登録解除を要求したかどうかを判断するための手段と、
前記センサの電力消費量を低減するために、前記登録／登録解除要求に基づいて、前記センサの電源および動作モードを制御するための手段と、
前記センサクライアントが前記センサにデータについての開始／停止要求を与えたかどうかを判断するための手段と、
前記センサの前記電力消費量を低減するために、データについての前記開始／停止要求に基づいて、前記センサへの電力、デバイス／ドライバ構成、および前記センサの動作モードを制御するための手段と
を備える装置。
[Ｃ２６]
前記要求が登録要求または登録解除要求を含むと判断するための手段と、
クライアントデータベースを更新し、前記センサの登録または登録解除を実行するための手段と
をさらに備える、Ｃ２５に記載の装置。
[Ｃ２７]
登録が実行されたことを確認するための手段と、
前記センサが電源オフされているかどうかを判断するための手段と、
前記センサが電源オンされるべきかどうかを判断し、電源オンされるべき場合、前記センサ電源をオンにするための手段とをさらに備える、Ｃ２６に記載の装置。
[Ｃ２８]
登録解除が実行されたことを確認するための手段と、
既存のクライアントをサポートすることが可能な最小値にセンサデータサンプリングレートを更新するための手段と、
既存のクライアントをサポートするためにセンサパラメータを更新するための手段と、
前記センサ動作モードを更新するための手段と、
前記要求が最後のクライアント要求である場合、前記センサ電源をオフにするための手段と
をさらに備える、Ｃ２６に記載の装置。
[Ｃ２９]
前記要求が最後のクライアント要求であり、前記センサが電源オンされていることを確認することと、
センサ電源オフタイマーを開始することと、
前記センサ電源オフタイマーが満了したかどうかを判断することと、
前記電源オフタイマーの満了時に前記センサを電源切断することとをさらに備える、Ｃ２８に記載の装置。
[Ｃ３０]
前記センサクライアントがデータ開始要求を与えたと判断するための手段と、
前記センサが電源オフされているかどうかを判断し、前記センサが電源オフされている場合、前記センサを電源オンするための手段と、
前記センサクライアントが前記センサに対する最初のセンサクライアントであると判断するための手段と、
センサ動作モードを更新するための手段と、
既存のクライアントをサポートする最小値にセンササンプリング周波数を更新するための手段と
をさらに備える、Ｃ２５に記載の装置。
[Ｃ３１]
前記センサクライアントがデータ停止要求を与えたと判断するための手段と、
前記センサクライアントが前記センサに関連する最後のクライアントではないと判断し、既存のクライアントをサポートする最小値にセンササンプリング周波数を更新するための手段とをさらに備える、Ｃ２５に記載の装置。
[Ｃ３２]
前記センサクライアントがデータ停止要求を与えたと判断するための手段と、
前記センサクライアントが前記センサに関連する最後のクライアントであると判断するための手段と、
センサ動作モジュールを更新するための手段と、
センサ「電源オフ」タイマーを開始するための手段と、
前記センサ「電源オフ」タイマーが満了したとき、前記センサ電源をオフにするための手段と
をさらに備える、Ｃ２５に記載の装置。
【図１】
0005992327.tif 000002
【図２】
0005992327.tif 000003
【図３】
0005992327.tif 000004
【図４Ａ】
0005992327.tif 000005
【図４Ｂ】
0005992327.tif 000006
【図５】
0005992327.tif 000007
【図６Ａ】
0005992327.tif 000008
【図６Ｂ】
0005992327.tif 000009
【図６Ｃ】
0005992327.tif 000010
【図７】
0005992327.tif 000011