(57)【特許請求の範囲】
【請求項１】
モバイルコンピュータ装置であって、
当該モバイルコンピュータ装置に保存されるコンピュータにより読み取ることが可能な命令を実行するように形成されたホストプロセッサであって、前記ホストプロセッサの電力消費に応じて少なくとも部分的に決定される状態を有し、前記状態は少なくともアクティブ状態又は非アクティブ状態である、ホストプロセッサと、
当該モバイルコンピュータ装置に関連するロケーション情報を、１つ以上のロケーション情報源から受信するように形成されるロケーション通信モジュールと、
前記ホストプロセッサとは独立して動作し、アクティブ状態の前記ホストプロセッサより少ない電力しか消費しないロケーションプロセッサであって、（ｉ）受信した前記ロケーション情報に少なくとも部分的に基づいて当該モバイルコンピュータ装置の位置を決定し、及び（ｉｉ）決定した前記位置及び１つ以上の電力削減ガイドラインに少なくとも部分的に基づいて前記ホストプロセッサの前記状態の遷移を管理するように形成されるロケーションプロセッサと
を有するモバイルコンピュータ装置。
【請求項２】
前記１つ以上の電力削減ガイドラインは、
ロケーション情報の利用可能性、
ロケーション情報を利用することに関する電力消費、又は
位置の精度、許容電力、又はロケーション情報を処理するのにかかる時間を含む所要サービスレベル
のうちの少なくとも１つを有する、請求項１に記載のモバイルコンピュータ装置。
【請求項３】
前記ロケーションプロセッサが、
ロケーション情報源からの前記ロケーション情報を集約し、前記ロケーション情報源からの前記ロケーション情報及び少なくとも１つのパフォーマンスインジケータに少なくとも部分的に基づいて前記位置を決定する測位アグリゲータと、
前記測位アグリゲータにより決定された前記位置を連続的に受信し、１つ以上のコンテキストイベントを特定できるようにするイベント生成モジュールと、
特定した前記１つ以上のコンテキストイベントに基づいて、前記ホストプロセッサの状態遷移を促すコンテキストフィルタリングモジュールと
を有する、請求項１に記載のモバイルコンピュータ装置。
【請求項４】
前記コンテキストイベントは、関心のある地点に到着していることを含む、請求項３に記載のモバイルコンピュータ装置。
【請求項５】
当該モバイルコンピュータ装置が無線により通信を行うための１つ以上のアンテナを有し、前記１つ以上のアンテナから無線により受信した前記ロケーション情報が、前記ロケーション通信モジュールにより処理される、請求項１に記載のモバイルコンピュータ装置。
【請求項６】
前記ホストプロセッサはオペレーティングシステムドメインに設けられ、前記ロケーションプロセッサは前記オペレーティングシステムドメインとは独立したオフロードドメインに設けられる、請求項１に記載のモバイルコンピュータ装置。
【請求項７】
前記非アクティブ状態の前記ホストプロセッサは、前記アクティブ状態の前記ホストプロセッサよりも少ない電力を消費する、請求項１に記載のモバイルコンピュータ装置。
【請求項８】
前記非アクティブ状態は、ｉ）スリープ状態又はｉｉ）スタンバイ状態のうちの少なくとも１つを含む、請求項１に記載のモバイルコンピュータ装置。
【請求項９】
前記スリープ状態は、前記ロケーションプロセッサが、１つ以上のロケーション情報源からロケーション情報を連続的に受信し、複数の関心のある地点を特定する処理を行うことを可能にする、請求項８に記載のモバイルコンピュータ装置。
【請求項１０】
前記スタンバイ状態は、前記ロケーションプロセッサが、装置のロケーション情報の共有を可能にする、請求項８に記載のモバイルコンピュータ装置。
【請求項１１】
ホストプロセッサと前記ホストプロセッサから独立して動作するロケーションプロセッサとを有するモバイルコンピュータ装置の前記ロケーションプロセッサが、１つ以上のロケーション情報源から１つ以上のロケーション情報を受信するステップと、
前記モバイルコンピュータ装置の前記ロケーションプロセッサが、１つ以上のロケーション情報源から受信した１つ以上のロケーション情報に少なくとも部分的に基づいて、前記モバイルコンピュータ装置の位置を決定するステップと、
前記ホストプロセッサの状態を判定するステップであって、前記状態は、アクティブ状態又は非アクティブ状態である、ステップと
を有し、前記ロケーションプロセッサは、アクティブ状態の前記ホストプロセッサより少ない電力しか消費しない、方法。
【請求項１２】
前記１つ以上のロケーション情報を受信する前記ステップが、
１つ以上の遠隔的なロケーション情報源との通信により前記ロケーション情報を受信するステップと、
前記１つ以上の遠隔的なロケーション情報源の各々から受信した前記１つ以上のロケーション情報を集約するステップと、
前記ロケーションプロセッサが、前記位置を決定するステップと、
パフォーマンスインジケータ及び決定した前記位置に少なくとも部分的に基づいて、前記ホストプロセッサの優先度を決定するステップと
を有する請求項１１に記載の方法。
【請求項１３】
前記ホストプロセッサはオペレーティングシステムドメインに設けられ、前記ロケーションプロセッサは前記オペレーティングシステムドメインとは独立したオフロードドメインに設けられる、請求項１１に記載の方法。
【請求項１４】
前記ロケーション情報源が、
グローバルポジショニング衛星ネットワーク、
ワイヤレスローカルエリアネットワーク、
パーソナルローカルエリアネットワーク、
セルラネットワーク、又は
近距離無線通信ネットワーク
のうちの１つ以上を含む、請求項１１に記載の方法。
【請求項１５】
前記ホストプロセッサの前記非アクティブ状態が、ｉ）前記アクティブ状態より少ない電力を使用するスタンバイ状態、又はｉｉ）前記スタンバイ状態より少ない電力を使用するスリープ状態のうちの１つを含む、請求項１１に記載の方法。
【請求項１６】
コンピュータにより読み取られることが可能な１つ以上の記憶媒体であって、当該記憶媒体に保存されるコンピュータにより読み取られることが可能な命令は、１つ以上のプロセッサに処理を実行させるように形成され、前記処理は、
ホストプロセッサと前記ホストプロセッサから独立して動作するロケーションプロセッサとを有するモバイルコンピュータ装置が、１つ以上のロケーション情報源に関連するロケーション情報を受信するステップと
前記ロケーションプロセッサが、１つより多いロケーション情報に少なくとも部分的に基づいて、前記モバイルコンピュータ装置に関連する位置を決定するステップと、
を有し、前記ロケーションプロセッサは、アクティブ状態の前記ホストプロセッサより少ない電力しか消費しない、記憶媒体。
【請求項１７】
前記処理が、
１つ以上の遠隔的なロケーション情報源との通信により前記ロケーション情報を受信するステップと、
前記１つ以上の遠隔的なロケーション情報源の各々から受信した前記１つ以上のロケーション情報を集約するステップと、
前記ロケーションプロセッサが、前記位置を決定するステップと、
パフォーマンスインジケータ及び決定した前記位置に少なくとも部分的に基づいて、前記ホストプロセッサの優先度を決定するステップと
を有する請求項１６に記載の記憶媒体。
【請求項１８】
ホストプロセッサとロケーションプロセッサとを有するモバイル装置が、１つ以上のロケーション情報源からロケーション情報を取得するステップであって、前記ホストプロセッサは前記ロケーションプロセッサから独立して動作する、ステップと、
前記ロケーションプロセッサが、前記ロケーション情報に少なくとも部分的に基づいて、前記モバイル装置に関連する位置を決定するステップと、
前記ロケーションプロセッサが、少なくとも部分的に電力に基づいて、前記モバイル装置に関する第１の電力管理プロトコルを決定するステップと、
前記ロケーションプロセッサが、前記モバイル装置の位置が変化した旨の判断に少なくとも部分的に電力に基づいて、前記モバイル装置に関する第２の電力管理プロトコルを決定するステップと
を有し、前記ロケーションプロセッサは、アクティブ状態の前記ホストプロセッサより少ない電力しか消費しない、方法。
【請求項１９】
第１の電力管理プロトコル又は第２の電力管理プロトコルは、前記モバイル装置の１つ以上の素子に対する電力配分に少なくとも部分的に基づいて、電力消費量を削減する、請求項１８に記載の方法。
【請求項２０】
第１の電力管理プロトコル又は第２の電力管理プロトコルは、前記モバイル装置に関連する電力消費に少なくとも部分的に基づいている、請求項１８に記載の方法。
【請求項２１】
前記ロケーション情報源が、
グローバルポジショニング衛星ネットワーク、
ワイヤレスローカルエリアネットワーク、
パーソナルローカルエリアネットワーク、
セルラネットワーク、又は
近距離無線通信ネットワーク
のうちの１つ以上を含む、請求項１８に記載の方法。
【請求項２２】
コンピュータにより読み取られることが可能な１つ以上の記憶媒体であって、少なくとも１つのプロセッサにより実行される場合に、前記少なくとも１つのプロセッサに方法を実行させるように動作するコンピュータ実行可能な命令を有し、前記方法は、
ホストプロセッサとロケーションプロセッサとを有するモバイル装置が、１つ以上のロケーション情報源からロケーション情報を取得するステップであって、前記ホストプロセッサは前記ロケーションプロセッサから独立して動作するように形成される、ステップと、
前記ロケーションプロセッサが、前記ロケーション情報に少なくとも部分的に基づいて、前記モバイル装置に関連する位置を決定するステップと、
前記ロケーションプロセッサが、少なくとも部分的に電力に基づいて、前記モバイル装置に関する第１の電力管理プロトコルを決定するステップと、
前記ロケーションプロセッサが、前記モバイル装置の位置が変化した旨の判断に少なくとも部分的に電力に基づいて、前記モバイル装置に関する第２の電力管理プロトコルを決定するステップと
を有し、前記ロケーションプロセッサは、アクティブ状態の前記ホストプロセッサより少ない電力しか消費しない、記憶媒体。
【請求項２３】
第１の電力管理プロトコル又は第２の電力管理プロトコルは、前記モバイル装置の１つ以上の素子に対する電力を配分することにより、電力消費量を削減する、請求項２２に記載の記憶媒体。
【請求項２４】
第１の電力管理プロトコル又は第２の電力管理プロトコルは、前記モバイル装置に関連する電力レベルに少なくとも部分的に基づいている、請求項２２に記載の記憶媒体。
【請求項２５】
前記ロケーション情報源が、
グローバルポジショニング衛星ネットワーク、
ワイヤレスローカルエリアネットワーク、
パーソナルローカルエリアネットワーク、
セルラネットワーク、又は
近距離無線通信ネットワーク
のうちの１つ以上を含む、請求項２２に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
開示される実施の形態は、一般に、装置のサービス及び機能の処理を、低消費電力の素子にオフロードすることに関する節電技術に関連し、特に位置に基づくサービス及び機能のオフロードに関連する。
【背景技術】
【０００２】
モバイルコンピュータ装置の用途及び機能の拡大とともに、そのような装置の電力消費を減らす措置を講じる要請も増えている。モバイルコンピュータ装置で動作するアプリケーションの多数化及び複雑化は、そのようなアプリケーションによる処理リソースの要求の増加を招く。特に、連続的な測位、位置に基づくトリガを利用する処理、及び状況を把握した処理機能等を提供するアプリケーションは、データを要求、受信及び処理するためにかなりの処理リソースを必要とし、電力消費の増大及びバッテリ寿命の短縮化を招く。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２００９−０１６４８１３号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一側面による実施の形態の課題は、コンピュータ装置における省電力化及びバッテリの長寿命化等を図ることである。
【課題を解決するための手段】
【０００５】
一側面の実施の形態によるモバイルコンピュータ装置は、
当該モバイルコンピュータ装置に保存されるコンピュータにより読み取ることが可能な命令を実行するように形成されたホストプロセッサであって、前記ホストプロセッサの電力消費に応じて少なくとも部分的に決定される状態を有し、前記状態はアクティブ状態又は非アクティブ状態を少なくとも示す、ホストプロセッサと、
当該モバイルコンピュータ装置に関連するロケーション情報を、１つ以上のロケーション情報源から受信するように形成されるロケーション通信モジュールと、
（ｉ）受信した前記ロケーション情報に少なくとも部分的に基づいて当該モバイルコンピュータ装置の位置を決定し、及び（ｉｉ）決定した前記位置及び１つ以上の電力削減ガイドラインに少なくとも部分的に基づいて前記ホストプロセッサの前記状態の遷移を管理するロケーションプロセッサと
を有するモバイルコンピュータ装置である。
【図面の簡単な説明】
【０００６】
【図１】測位に基づくサービス及び機能をオフロードする開示される1つ以上の実施形態による概略的なシステム例を示す図。
【図２】測位に基づくサービス及び機能をオフロードする開示される1つ以上の実施形態によるシステム例の要素をブロック図。
【図３】図1に示されるシステムの1つ以上の要素により実行される方法例を示す開示される1つ以上の実施形態によるフローチャート。
【図４】図1に示されるシステムの1つ以上の要素により実行される方法例を示す開示される1つ以上の実施形態によるフローチャート。
【発明を実施するための形態】
【０００７】
＜実施の形態の説明に使用される図面＞
図1は測位に基づくサービス及び機能をオフロードする開示される1つ以上の実施形態による概略的なシステム例を示す。
【０００８】
図2は測位に基づくサービス及び機能をオフロードする開示される1つ以上の実施形態によるシステム例の要素をブロック図で示す。
【０００９】
図3は図1に示されるシステムの1つ以上の要素により実行される方法例を示す開示される1つ以上の実施形態によるフローチャートを示す。
【００１０】
図4は図1に示されるシステムの1つ以上の要素により実行される方法例を示す開示される1つ以上の実施形態によるフローチャートを示す。
【００１１】
＜実施の形態の詳細な説明＞
開示される実施の形態は添付図面を参照しながら詳細に説明される。しかしながら、ここで明示的には言及されていない他の実施形態も開示範囲内に属しており、本願による開示は、ここで具体的に説明されている実施形態のみに限定されるようには解釈されるべきでない。むしろ本願で説明される実施形態はその性質上一例に過ぎず、一般的な開示範囲が当業者に伝わるように提供されている。本開示を通じて同様な番号は同様な要素を示す。
【００１２】
開示される実施の形態は、コンピュータ装置のメインホスト中央処理装置(CPU)から専用の電力効率化オフロードエンジンへ、サービス及び機能をオフロードするためのシステム、方法及びコンピュータ可読媒体(コンピュータにより読み取ることが可能な媒体)を提供する。特に、開示される実施の形態によりオフロードされてもよいサービス及び機能は、連続的な測位、位置に基づくトリガ、及び状況認識型のコンピュータサービス及び機能であり、これにより1つ以上の測位技術又はシステムに基づく位置情報の簡易かつ効率的な生成を可能にし、そのような測位技術又はシステムは、例えば、グローバルポジショニングシステム(GPS)、GLONASSシステム、コンパスナビゲーションシステム、ガリレオポジショニングシステム、インド地域ナビゲーションシステム又はその他の地域のナビゲーションシステム等のような現在又は将来の任意のグローバルナビゲーション衛星システム(GNSS)や、ワイヤレスワイドエリアネットワーク(WWAN)、ワイヤレスローカルエリアネットワーク(WLAN)、ワイヤレスパーソナルエリアネットワーク(WPAN)、ローカル(局所的)又はリモート(遠隔的)センサ方式のシステム、音声又は映像に基づく技術及びシステム、サーバに基づくシステム又は技術、その他の測位技術等を含むワイヤレスジオロケーション方式のシステムや、測位基準装置を利用する上記の測位方法の組み合わせ等であるがこれらに限定されない。上記の技術のうちのあるものは、周辺の送信機の位置、アクセスポイント又は衛星等のような外部情報を利用して位置/測位情報を算出し、上記の技術の内の別のあるものは、三角測量機能を実行するために、関連する送信機又はその他の測位可能なアンカーの位置を保存している測位データベース又はサーバに接続することを必要とする。測位サービス及び機能のオフロードに関連する開示される実施形態は、オフロード機能部を、位置情報を保存しているサーバに効率的に接続する機能を発揮し、少なくとも一部の位置情報をオフロード機能部に転送できるようにする。
【００１３】
概して、測位情報、位置情報に基づく計算、測位サービス及び機能のうちの全部又は一部は測位エンジンにオフロードされてもよく、オフロードされてよいものは例えば地図作成、マッピング、ナビゲーション、場所指定、ランドマーク(例えば、関心のある地点(point  of  interest：POI))、送信機測位、測位要求、環境/状況認識、位置に応じたトリガイベント等のような装置又はネットワークでなされる機能、ウェブに基づくアプリケーション、モバイルネットワークオペレータサービス等であるがこれらに限定されず、これにより、一群の基準位置処理機能及び測位機能のスーパーセット(superset)を形成できる。
【００１４】
以下、開示される実施形態を添付図面を参照しながら説明する。
【００１５】
本願で使用されているように、「装置」、「デバイス」、「コンピュータ装置」又は「コンピュータデバイス」等の用語は、コンピュータにより読み取ることが可能な命令、コンピュータにより実現されることが可能な命令、又はコンピュータにより実行可能な命令を実行できるように形成された1つ以上のプロセッサを含む任意のコンピュータ要素を示してよい。装置の具体例は、パーソナルコンピュータ、サーバコンピュータ、サーバーファーム、ディジタルアシスタント、スマートフォン、パーソナルディジタルアシスタント、ディジタルタブレット、インターネット機器、アプリケーション固有の回路、マイクロコントローラ、マイクロコンピュータ、トランシーバ、加入者宅内機器(CPE)(例えば、セットトップボックス、キオスク)、その他のプロセッサに基づく装置である。様々な装置に関連する1つ以上のプロセッサにより、コンピュータで実行可能な適切な命令を実行することは、特定用途コンピュータ又はその他の特定のマシンを形成し、本願で説明されるようなソフトウェアの最適化な構成を促す。
【００１６】
実施の形態は、コンピュータにより読み取ることが可能な一時的でない(永続的な)記憶媒体を含むコンピュータプログラムプロダクトとして提供されてもよく、コンピュータプログラムプロダクトは、本願で説明されるプロセス又は方法を実行するためにコンピュータ(又はその他の装置)をプログラムするために使用される命令(圧縮された形式の命令又は非圧縮形式の命令)を保存する。コンピュータで読み取ることが可能な記憶媒体は、例えば、ハードドライブ、フロッピディスク、光ディスク、CD-ROM、DVD、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、フラッシュメモリ、磁気カード、光学式カード、ソリッドステートメモリ装置、半導体メモリ装置等であってもよいし、電子命令を格納するのに適した他の形式の媒体/コンピュータ可読媒体等であってもよいが、これらに限定されない。更に、実施形態は、一時的なコンピュータ可読信号を含むコンピュータプログラムプロダクトとして提供されてもよい(圧縮形式であってもよいし、非圧縮形式であってもよい)。コンピュータ可読信号の具体例は、キャリア又は搬送波を利用して変調されているか否かによらず、コンピュータプログラムを処理又は実行するコンピュータシステム又はマシンがアクセスする又は送受信するように形成された信号(例えば、インターネット又は他のネットワークを介してダウンロードされる信号)を含んでいてもよいが、これに限定されない。例えば、ソフトウェアの配布はインターネットを介してダウンロードされてもよい。
【００１７】
図1はネットワーク102を介して電気的にそれぞれ通信するモバイルコンピュータ装置118及び1つ以上のロケーションサーバ104を含む環境例100を示す。「モバイルコンピュータ装置」は、「移動コンピュータ装置」、「ユーザ装置」、「携帯装置」等と言及されてもよい。上位概念的に見れば、モバイルコンピュータ装置118はオペレーティングシステムドメイン122とオフロードドメイン138とに形成されている。一実施形態において、オペレーティングシステムドメイン122は、コンピュータ装置に関連する様々な処理機能(例えば、演算、記憶、通信等の機能)を含む。オフロードドメイン138は、オペレーティングシステムドメイン122とは独立的に又は関連して実行されてもよい追加的な処理機能を含む。一形態では、オフロードドメイン138は、オペレーティングシステムドメインにより提供される能力を全ては必要としない特定の機能を実行してもよい。このため、オフロードドメイン138は、コンピュータ装置のリソースのうち少ない量のリソースを利用して、或いはオペレーティングシステムドメイン122により使用可能なリソースのうち少ないリソースを利用して、それらの機能を実行することが可能である。一実施形態において、モバイルコンピュータ装置118は、オペレーティングシステムドメイン122内の要素を利用することなく、オフロードドメイン138を利用して、モバイルコンピュータ装置118の位置又はロケーションを決定してもよい。他の実施形態では、モバイルコンピュータ装置118により実行される他の機能部がオフロードドメインに含まれていてもよい。
【００１８】
オペレーティングシステムドメイン122は、ハードウェア、ソフトウェア又はそれらの組み合わせを利用して実施されてもよく、ホストプロセッサ124、メモリ126、入力/出力(I/O)装置128、通信接続部130、データ保存部132、ロケーション通信モジュール134、及びロケーション基準モジュール136を含んでいてもよい。
【００１９】
モバイルコンピュータ装置118は、1つ以上のメモリ126及び様々な他の要素や装置と通信するように形成された1つ以上のホストプロセッサ124を含んでいてもよい。例えば、モバイルコンピュータ装置118は、1つ以上のメモリ又はメモリ装置126、1つ以上の入力/出力(I/O)装置128、データ保存部132、及び/又は1つ以上の通信接続部130と通信するように形成された1つ以上のホストプロセッサ124を含んでいてもよい。ホストプロセッサ124は、ハードウェア、ソフトウェア、ファームウェア又はそれらの組み合わせとして実現されてもよい。ホストプロセッサ124のソフトウェア又はファームウェアの実現手段は、本願で説明される様々な機能を実行するように何らかの適切なプログラミング言語で書かれたコンピュータ実行可能命令又はマシン実行可能命令を含んでいてもよい。1つ以上のホストプロセッサ124は、限定ではないが、中央処理装置(CPU)、ディジタル信号プロセッサ(DSP)、縮小命令セットコンピュータ(RISC)、複合命令セットコンピュータ(CISC)、マイクロプロセッサ、マイクロコントローラ、フィールドプログラマブルアレイ(FPGA)、又はそれらの任意の組み合わせ等を含んでいてもよい。モバイルコンピュータ装置118はモバイルユーザ装置118と言及されてもよい。モバイルユーザ装置118は、1つ以上のホストプロセッサ124とモバイルユーザ装置118の1つ以上の他の要素との間の通信を制御するチップセット(図示せず)を含んでいてもよい。一実施形態において、モバイルユーザ装置118はインテル(登録商標)アーキテクチャシステム及びホストプロセッサ124に基づいていてもよく、チップセットはインテルアトム(登録商標)プロセッサファミリ等のようなチップセット及びインテルプロセッサのファミリであってもよい。1つ以上のホストプロセッサ124は、特定のデータ処理機能又はタスクを処理する1つ以上の特定用途向け集積回路(ASIC)又は特定用途向け標準製品(ASSP)を含んでいてもよい。
【００２０】
メモリ126は、ホストプロセッサ124にロード可能でありかつそこで実行可能なプログラム命令だけでなく、それらのプログラムの実行中に生成されたデータをも保存してよい。例示的なモバイルユーザ装置118の構成及びタイプに依存して、メモリ126は、ランダムアクセスメモリ(RAM)のような揮発性メモリ、及び/又はリードオンリメモリ(ROM)のような不揮発性メモリ等であってもよい。
【００２１】
メモリ126は、例えば、磁気ストレージ、光学式ディスク、及び/又はテープストレージ等を含む着脱可能な及び/又は着脱可能でないストレージを含んでいてもよいが、これらに限定されない。ディスクドライブ及びそれらに関連するコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュールその他のコンピュータ装置のためのデータの不揮発性ストレージを提供してもよい。一実施形態において、メモリ126はスタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、又はROM等のような複数の様々なタイプを含んでいてもよい。
【００２２】
メモリ126及びデータ保存部132は何れも着脱可能であっても着脱可能でなくてもよく、それらは全てコンピュータ可読記憶媒体の具体例である。例えば、コンピュータ可読記憶媒体は、揮発性及び不揮発性の着脱可能及び着脱不可能な媒体を含んでいてもよく、コンピュータ可読命令、データ構造、プログラムモジュール又は他のデータ等のような情報を保存する任意の方法又は技術で実現されてよい。
【００２３】
1つ以上の通信接続部130は、図示のオフロードドメイン138が他の装置と通信できるようにし、他の装置は例えばロケーションサーバ104のデータベース、ユーザ端末、及び、1つ以上のネットワーク102に存在する様々な他の装置であってよい。通信接続部130は、モバイルコンピュータ装置118がネットワーク102を介して他の装置と無線で通信できるようにする無線システム(図示せず)を含む。無線システムは、Wi-Fiダイレクト標準規格(例えば、2010年10月に公表されたWi-Fi  Direct  specification)及び/又はIEEE802.11無線標準規格(例えば、2007年3月8日付けで公表されたIEEE802.11-2007、2009年10月付けで公表されたIEEE802.11n-2009)又はそれらの組み合わせを利用して、メッセージをブロードキャスト又はじゅしんするためのハードウェア及びソフトウェアを含んでいてもよい。無線システムは、IEEE802.11無線標準規格に従う広帯域の動作周波数で動作することが可能な送信機及び受信機又はトランシーバ(図示せず)を含んでいてもよい。
【００２４】
I/O装置128は例えばホスト装置のモバイルコンピュータ装置118とのやり取りを可能にする。そのようなI/O装置は、例えば、キーボード、マウス、ペン、音声入力装置、接触入力装置、タッチ入力デバイス、ディスプレイ、表示部、カメラ、画像処理装置、スピーカ又はプリンタ等であるが、これらに限定されない。
【００２５】
1つ以上のデータ保存部132は、リスト、アレイ、データ配列、データベース、フラットファイル等を保存してもよい。一実施形態において、データ保存部132はモバイルコンピュータ装置118に対して外部に存在するがクラウドストレージサービス等により1つ以上のネットワーク102を介してアクセス可能であるメモリに保存されていてもよい。データ保存部132はリソースパラメータを保存してもよい。一実施形態において、インスタンスの各々が、インスタンスに関連するリソースパラメータを格納するデータ保存部132を有していてもよい。
【００２６】
モバイルコンピュータ装置118はロケーション通信モジュール134及びロケーション基準モジュール136を含んでいてもよい。この実施形態では、双方のモジュールがオペレーティングシステムドメイン122の中で別々の要素として示されている。しかしながら、一実施形態では、モジュールの1つ以上又は全ての部分がメモリ114を利用する又はその中に組み込まれていてもよい。
【００２７】
ロケーション通信モジュール134は様々な柔軟なロケーションベースサービスをサポートし、位置に基づくモバイルサービスの場合、ロケーションアプリケーションプログラムインタフェース(API)を拡張し、ネットワーク102を介してロケーションサーバ104に接続する機能を提供し、これは一般に通信クラウドと言及される。ロケーション通信モジュール134については図2を参照しながら詳細に説明される。
【００２８】
ロケーション基準モジュール136は、モバイルコンピュータ装置118に関連する位置又はモバイルコンピュータ装置118の位置を特定するために使用されるロケーション情報を提供するロケーションサーバ104又はその他のロケーション情報装置から、測位情報を受信する。ロケーション基準モジュール136は(図1には示されていないが)、例えば、Wi-Fiモデム、セルラモデム、1つ以上のロケーションセンサ、グローバルナビゲーション衛星システム受信機、ブルートゥースモデム、近距離通信(Near  Field  Communication：NFC)装置等を有していてもよい。特定のロケーション基準デバイスが説明されているが、ロケーション情報を受信することが可能な適切な他の任意のロケーション基準デバイスが設けられていてよい。「ロケーション情報」は「測位情報」、「位置情報」等と言及されてもよい。ロケーション基準モジュール132については図2を参照しながら詳細に説明される。別の実施形態において、ロケーション基準モジュール136は、オペレーティングシステムドメイン122ではなく、オフロードドメイン138に包含されていてもよい。
【００２９】
オフロードドメイン138は、一実施形態では、モバイルコンピュータ装置118のロケーション決定機能(測位機能)及び電力管理機能を実現してもよい。一実施形態において、オフロードドメイン138は、オペレーティングシステムドメイン122とは独立に動作してもよく、オフロードドメイン138はオペレーティングシステムドメイン122内の要素の全部又は大多数を使用しなくてよい。別の実施形態において、オフロードドメイン138は、オペレーティングシステムドメイン122の1つ以上の要素と関わり合って動作してもよい。例えば、オフロードドメイン138は、オペレーティングシステムドメイン122内のホストプロセッサ124を利用せずに、ロケーションプロセッサ140を利用して、モバイルコンピュータ装置118の位置を決定してもよい。その例の場合、ロケーションプロセッサ140は、ホストプロセッサ124より少ない電力しか消費しないプロセッサであってよい。例えば、ロケーションプロセッサ140は、特定のデータ処理機能又はタスクを処理する特定用途向け標準化製品(ASSP)又は特定の用途向け集積回路(ASIC)の1つ以上を含んでよい。
【００３０】
一実施形態において、ロケーションプロセッサ140は、互いに情報のやり取りを行う1つ以上の制御部(この点については、後に詳細に説明される)を有するだけでなく他の要素をも有し、ロケーションオフロード処理を実行するタスクを担う効率的な低電力実行環境を形成し、ロケーションオフロード処理は、そうでないならば、ロケーション通信モジュール134又はオペレーティングシステムドメイン122内で動作するホストプロセッサ124により実行される。
【００３１】
オフロードドメイン138は、アグリゲータモジュール142、ロケーション電力管理モジュール144、電力モジュール146、ロケーション制御モジュール150、イベント生成部148、コンテキストフィルタリングモジュール152を含み、これらも図2を参照しながら詳細に説明される。
【００３２】
更に、モバイルコンピュータ装置118に関し、1つ以上の無線部154及び1つ以上のアンテナ156が含まれている。無線部154は無線信号を送信及び受信する。無線部154は通信インタフェースを含み、ロケーション通信モジュール134による無線周波数信号の通信を促す。具体的には、無線周波数(RF)信号はアンテナ156により受信される。本願により開示される実施形態において、1つ以上のアンテナ156は、広帯域の周波数範囲(一例として、何メガヘルツ(MHz)かの周波数から何ギガヘルツ(GHz)かの周波数までの範囲)にわたって動作する広帯域アンテナであってよい。アンテナ156により受信した入力信号は、無線部154内のアナログ又はディジタルモジュール(例えば、コンバータ又はデコーダ(図示せず))に送られる或いは提供される。これらの入力信号は、ロケーション通信モジュール134を介してオペレーティングシステムドメイン122又はオフロードドメイン138に送られる。一実施形態において、無線部154は1つ以上のロケーションサーバ106からロケーション情報を受信する。
【００３３】
ロケーションサーバ106はロケーション情報をモバイルコンピュータ装置118に提供する。図1を参照しながら行う説明は一般的になされるが、図2の説明では具体的に説明される。一般に、ロケーションサーバ104はプロセッサ108、1つ以上のインタフェース110及びメモリ112を含んでいてもよい。
【００３４】
プロセッサ108は、限定ではないが、中央処理装置(CPU)、ディジタル信号プロセッサ(DSP)、縮小命令セットコンピュータ(RISC)、複合命令セットコンピュータ(CISC)、マイクロプロセッサ、マイクロコントローラ、フィールドプログラマブルゲートアレイ(FPGA)、又はそれらの任意の組み合わせを含んでいてもよい。プロセッサはメモリ112に保存されたコンピュータ読み取り可能命令又はネットワークを介して提供される命令を実行する。
【００３５】
1つ以上のインタフェース110は、限定ではないが、キーボード、マウス、ペン、音声入力装置、タッチ入力装置、ディスプレイ、カメラ、画像処理装置、スピーカ又はプリンタを含んでいてもよい。インタフェース110はネットワーク102を介して情報を送信及び受信するためのネットワーク通信ハードウェア及び/又はソフトウェアを含む。
【００３６】
メモリ112は、限定ではないが、オペレーティングシステム114及びロケーションモジュール116を含んでいてもよい。オペレーティングシステム114は、様々なタスクを実行するためのプロセッサ108により実行されるコンピュータ可読命令を含む。例えば、タスクは、限定ではないが、インタフェースモジュール110の要素を動作させることを含む。
【００３７】
ロケーションモジュール116の全部又は一部は、ロケーション情報を収集及び分析してモバイルコンピュータ装置118に提供するためのハードウェア、ソフトウェア又はそれらの組み合わせであってよい。このロケーションモジュール(ロケーションフレームワークモジュールとも言及される)116は、モバイルコンピュータ装置118により使用される様々な位置検出技術を実行するのに必要な要素を指標として表現しているに過ぎない。例えば、ロケーションモジュール(又はロケーションフレームワークモジュール)116は、WWI-FIネットワーク、セルラネットワーク、基礎伏図データベース又はビルディングフットプリントデータベース(building  footprint  database)、グローバルポジショニング衛星ネットワーク、短距離無線ネットワーク(例えば、ブルートゥースネットワーク)又はその他の任意の近距離無線通信ネットワーク等を利用する検出技術を実現するために必要な全部又は一部のハードウェア及び/又はソフトウェアを含んでいてもよい。
【００３８】
図2は、開示される1つ以上の実施形態による図1に示すシステム例200の様々な要素同士の間の接続関係200を示す。システム200は、システムの様々な要素間の論理的及び/又は物理的な区分けを示し、ロケーションサーバ104、ロケーション通信モジュール134、ロケーションプロセッサ140及びロケーション基準モジュール136を含む。様々な要素は、様々なアプリケーションプログラムインタフェース(API)によりリンクされている。「リンク」は「結合」と言及されてもよい。例えば、ロケーション通信モジュール134は205Aを含み、ロケーションプロセッサ140はロケーションオフロードアプリケーションプログラムインタフェース(API)202により互いに通信する。更に、ロケーションプロセッサ140及びロケーション基準モジュール136はロケーション基準API204により互いに通信する。更に、ロケーション通信モジュール134は、適切な任意の有線及び/又は無線の通信リンクであってよいリンク206を介して、ロケーションサーバ104と通信する。
【００３９】
ロケーションプロセッサ140は1つ以上の測位制御部208A-208Fを有する。「制御部」は「コントローラ」と言及されてもよい。測位制御部208A-208Fは、例えば、Wi-Fi測位制御部208A、セルラ測位制御部208B、センサ測位制御部208C、GNSS測位制御部208D、短距離無線測位制御部208E、又はNFC測位制御部208F等を含むがこれらに限定されない。本願において、例えば、システム200の様々な要素同士の間の接続を記述するために、Wi-Fi測位制御部208Aが一例として使用される。しかしながら、何れか特定の構成要素(サブコンポーネント)に関する説明は他の構成要素(サブコンポーネント)にも一般に適用可能であることに留意すべきである。
【００４０】
ロケーションプロセッサ140の1つ以上の測位制御部208A-208Fは、ロケーション基準装置210A-210Fを含むロケーション基準モジュール136とやり取りを行い、かつ(ロケーション通信モジュール134を介して)ロケーションサーバ104とやり取りを行うことも可能であり、オフロードされた測位演算を実行し、ロケーション基準装置により提供される測定値(測定情報)に基づいて測位イベント及びコンテキストイベントを生成する。例えば、WI-FI測位制御部208AはWi-Fi測位基準装置210Aから測位測定値を取得する。WI-FI測位制御部208Aは、ロケーションフレームワークモジュール116により設定されたWI-FIサーバ接続214Aを介して、WI-FIロケーションサーバ212Aから測位情報を取得してもよい。WI-FIロケーション基準装置210Aから受信した測位情報と潜在的に追加的にWI-FIロケーションサーバから受信した測位情報とに基づいて、WI-FI測位制御部208Aは、測位計算を実行し、測位イベント及びコンテキストイベントを生成し、計算結果を報告する。Wi-Fi測位制御部208Aに関する上記の説明は、他の測位基準装置から測定値を取得する他の測位制御部(例えば、セルラモデム210B、GNSS受信機210D等)にも一般に適用可能である。
【００４１】
ロケーションプロセッサ140により提供される機能は、例えば、「基準ロケーション情報又は基準位置情報(すなわち、空間的な位置座標を時間の関数で表現すること)及び関連する情報(例えば、衛星情報、WI-FIのAP情報、セルラタワー情報、基地局情報等)を決定する機能」、「ロケーションデータに基づくイベントトリガに関する機能」、「ホストの動作に依存する位置又は測位の内部及び外部のフロー(internal  and  external  flows)を開始及び処理する機能」、「ローカルな要素に関する測位エンジンの電力管理の機能」、「ロケーション基準装置及びセンサの管理又は制御を行う機能」、「タイムスタンプを付して測位履歴を生成する機能」、「状況(コンテキスト)の認識結果を生成する機能」、「プライバシを管理する機能」、「緊急サービスに対応する機能」、「サポートする独立系ソフトウェアベンダ(ISV)による付加価値的な測位に基づく機能」等であるがこれらに限定されない。
【００４２】
一実施形態において、ロケーションプロセッサ140は他のオフロードエンジン又は処理部とやり取りを行ってもよく、他のオフロードエンジン又は処理部は、例えば、通信管理部、センサ管理部、セキュリティエンジン、イベント生成エンジン、状況認識部(context  awareness  entities)、拡張現実部(augmentation  reality  entities)等であるがこれらに限定されない。ロケーションプロセッサ140は、メインホスト及び/又はOSの状態(例えば、アクティブ状態、スタンバイ状態、スリープ状態等)によらず、設定可能なポリシに従って、アクセスを行ってもよい。「アクティブ状態」は「起動状態」、「活性状態」等と言及されてもよい。「スタンバイ状態」は「待ち受け状態」、「不活性状態」等と言及されてもよい。「スリープ状態」は「非起動状態」等と言及されてもよい。アクティブ状態では、ホストプロセッサ124(図2では示されていない)が、スタンバイ状態における場合よりも多い電力を消費している。スタンバイ状態では、ホストプロセッサ124が、アクティブ状態の場合より少ない電力を消費しており、スリープ状態ではスタンバイ状態より少ない電力しか使用していない。
【００４３】
開示される1つ以上の実施形態によれば、ロケーションプロセッサ140は、ロケーション基準装置210A-210Fと通信を行い、ホストプロセッサ124の状態によらず、ロケーション基準装置210A-210Fにより提供される測定値に基づいて位置を計算するように形成される。例示的なホストの状態は、アクティブ状態(例えば、ホストナビゲーションソフトウェアが動作中である場合の状態)、スリープ状態(例えば、位置を記録してジオフェンシング(geo-fencing)を実行する状態)、又は接続されているスタンバイ状態(例えば、装置の位置情報を共有する機能を可能にできる状態)を含む。ホストはスリープ状態であるが、ロケーション基準装置210A-210Fは通信を行っている場合、ロケーションプロセッサ140は、ホストをアクティブにすることなく、すなわちオフロード方式で、物理的インタフェース及び/又は論理的なチャネルを介して直接的又は間接的に、ロケーション基準装置210A-210Fとやり取りを行うことが可能である。より具体的に言えば、上述したように、ロケーションエンジンは1つ以上の測位制御部を有し、測位制御部の各々は、特定のロケーション基準装置を制御又は設定し、関連する測位データ(ロケーションメジャーメントデータ)を装置から収集し、関連する測位補助情報(relevant  location  assistance  information)をロケーション基準装置に送る役割を担っている。ロケーション基準装置は、例えば、セルラモデム210B、GNSS受信機210D、WI-FIモデム210A、センサ210C、NFC装置210F、オーディオ、ビデオ等に関連するものであってよい。1つ以上の代替的な実施形態では、複数のロケーション基準装置210A-210Fを制御する中央処理制御部(図示せず)が設けられてもよい。様々な実施の形態において、中央制御部又は1つ以上の専用の制御部208A-208Fは、何れの場合も、ローカルなオフロードデータベースを保持する役割を担い、及び/又は、ロケーションプロセッサ140が(例えば、周辺の送信機のリストのような)何らかのロケーション補助情報又はロケーションデータベース情報を必要とする場合には、データベース更新フローを開始する役割を担う。
【００４４】
開示される1つ以上の実施形態によれば、各々の測位制御部は、特定のロケーション基準装置から受信した情報に基づいてロケーション情報を計算する個々のロケーション演算部(図示せず)を制御する。代替的な実施形態では、セントラル測位制御部又は複数の専用の測位制御部208A-208Fが、ロケーション基準装置210A-210Fの全部又は一部から受信した情報に基づいて、測位演算を実行する単独の測位演算部を制御してもよい。測位演算の結果を統合する測位アグリゲータ/集約部142が設けられてもよく、測位演算は、対応するロケーション基準装置210A-210Fから受信した情報に基づいて各々の測位演算部により実行される。そして、測位アグリゲータ/集約部142は、既知のパフォーマンスインジケータに基づいて特定の測位演算(結果)を選択してもよい。一実施形態では、測位アグリゲータ/集約部142は、様々な測位演算部から受信した測位演算(結果)に基づいて、重み付けされた測位演算を実行してもよい。別の実施形態では、直接的に基準装置210A-210Fから、対応する測位制御部208A-208Fから、又はセントラル測位制御部から、測定データ又はメジャーメントデータが受信され、測位アグリゲータ/集約部142は必要な測位演算を実行してもよい。
【００４５】
ロケーションプロセッサ140は、ロケーション電力管理モジュール144による測位ポリシ制御及び測位電力管理機能を有し、測位に関する節電、測位基準を得るための接続、及び動作モードを強制する。例示的な測位ポリシは、測位データ又はロケーションメジャーメントの利用可能性、ロケーションメジャーメントの取得に関するコスト関数(例えば、電力)、及び/又は必要なサービスレベル(例えば、正確さ、所要時間(time-to-fix)、電力バジェット、許容電力、又は他の任意のサービスパラメータ)等に関連していてもよい。測位ポリシ制御及び測位電力管理機能は、ソフトウェアモジュール、ハードウェアモジュール(例えば、1つ以上のコントローラ及び/又はプロセッサ等)、及び/又はそれらの組み合わせにより提供されてもよい。測位電力管理モジュール144は、上位レイヤによる測位サービスに対するアクセスを、例えば通信モジュール134により制御してもよい。例えば、電力バジェットプロファイル(許容電力の仕様)による制限がある場合、これらのモジュールは、測位サービス212A-212Fに対するアクセスではなく、ローカルデータベースを利用するように強制する。測位サービスは、Wi-Fi測位サーバ212A、セルラ測位サーバ212B、ビルディングフットプリント測位サーバ212C、GNSS測位サーバ212D、短距離ワイヤレス(BLUETOOTH(登録商標))測位サーバ212E、及びNFCサーバ212F等であってもよいが、これらに限定されない。
【００４６】
測位電力管理モジュール144は、モバイルコンピュータ装置118の電力レベル情報を電力モジュール146から受信してもよい。電力レベル情報は、モバイルコンピュータ装置118が、プラグ接続されているか(コンセントに差し込まれた状態であるか)或るいはバッテリ電力を使用しているかを示す項目を含んでいてもよい。更に、電力レベル情報は、充電の前に装置で利用可能なバッテリ電力量を特定してもよい。電力モジュール146は、モバイルコンピュータ装置118に残存している電力レベルを判定してもよい。電力モジュール146は、モバイルコンピュータ装置118の他の要素に対する電力の割り振りを制御してもよい。一例として、電力モジュール146は、電力管理モジュール144によりなされたポリシ又はプロトコルの決定に少なくとも部分的に基づいて、電力制御又は電力配分を実行してもよい。
【００４７】
なお、上記の測位演算に関し、位置が算出されると、算出された位置は保存されてもよいし或いはロケーション通信モジュール134に転送されてもよい。計算された位置をロケーション通信モジュール134に転送する前に、測位計算はコンテキストフィルタリングの処理を受けてもよい(その処理は、例えば、計算された位置の所定の近辺の範囲内で関心のある地点(point  of  interest：POI)を判定すること、計算された位置に関連する特定の時間範囲を特定すること等である)。ホストプロセッサ124がスリープ状態になっている場合において、所定のコンテキスト条件が満たされる場合、ロケーションプロセッサ140はホストプロセッサ124を目覚めさせる(起動させる)。より具体的に言えば、ホストプロセッサ124がスリープ状態になっている場合、イベント生成モジュール148及びコンテキストフィルタリングモジュールが、継続的なロケーション捕捉を可能にする。測位アグリゲータ/集約部142から受信した計算されたロケーションに基づいて、イベント生成モジュール(エンティティ)148はイベントを生成し、所定の条件に合致する場合、例えば所定の関心のある地点に来ている場合、コンテキストフィルタリングモジュール152は、コンテキストイベントを生成し、ホストを起こすことを決定する。イベント生成モジュール148及びコンテキストフィルタリングモジュール152は、ホストプロセッサ124により形成されていてもよい。
【００４８】
既存の測位サービスはホストプロセッサ124がアクティブ状態になっていることを必要とする。従って、開示される実施形態は、従来の技法を上回る顕著な長所をもたらし、例えば、測位機能のオフロードによる電力の高効率化、複数のロケーション基準装置に基づく測位計算の費用効果の向上、ロケーションアシスタント情報をロケーションサーバにオフロードし、ロケーションサーバ104に対する効率的な接続を行うこと、環境/状況認識による処理、低消費電力化、及びバッテリの長寿命化等の長所をもたらすが、これらに限定されない。上述したように、上記の長所及び他の長所は、測位オフロード処理全ての役割を担う多目的の低電力測位実行環境を提供するロケーションプロセッサ140と、柔軟性のあるロケーションベースサービスを可能にしかつロケーションAPI202、204、206の範囲を拡大するロケーション通信モジュール134とに、測位機能を分割することにより達成され、ユーザの体感を改善しかつ豊かにする。
【００４９】
図3には、モバイルコンピュータ装置118の位置を決定する処理の枠組みの中で、オフロードドメイン138を利用することに関する方法300の実施形態を示すフローチャートが記載されている。方法300は実施形態に応じて様々な方式により修正されてよいことに留意すべきである。例えば、方法300のうちの1つ以上の処理は他の実施形態では省略されてもよいし或いは別の順序で実行されてもよい。
【００５０】
ブロック302において、モバイルコンピュータ装置118は、1つより多いロケーション情報源からロケーション情報を受信する。例えば、Wi-Fi測位制御部208Aは、Wi-Fi測位サーバ212A又はWi-Fiロケーション基準装置210Aから情報を受信してもよい。情報は、モバイルコンピュータ装置118が位置を決定するために使用してよい1つより多い数のWi-Fiロケーション基準装置210A(例えば、アクセスポイント)からの無線信号を含んでよい。別の実施形態において、Wi-Fi装置から提供されたロケーション情報は、認証されたスキャンリストを含んでいてもよい。認証されたスキャンリストは、モバイルコンピュータ装置118の位置を決定するために使用されてもよい。同様に、他のロケーション基準装置210B-210E及び/又はロケーションサーバ212B-212Fがモバイルコンピュータ装置118に関連するロケーション情報を提供してもよい。
【００５１】
ブロック304において、モバイルコンピュータ装置118は、ロケーションプロセッサを利用し、ロケーション情報源(例えば、210A-210F又は212A-212F)から提供された情報を利用して、モバイルコンピュータ装置118の位置を決定してもよい。この例では、ロケーションプロセッサ140は、オペレーティングシステムドメイン122のホストプロセッサ124を利用することなく、モバイルコンピュータ装置118の位置を計算してもよい。ロケーションプロセッサ140は、低電力プロセッサ又はASIC又はASSPであり、ロケーションプロセッサ140より電力消費が早いホストプロセッサ124を利用することなく、測位計算を実行することが可能である。ロケーションプロセッサ140は、ロケーション基準装置210A-210E及び/又はロケーションサーバ212A-212Fにより提供される任意の情報を処理するように動作可能である。一実施形態において、測位制御部208A-208Fは、ロケーション情報を受信し、モバイルコンピュータ装置118の位置を計算する。アグリゲータモジュール142は、位置に関する演算結果を集約又は統合し、1つ以上のパフォーマンスインジケータに少なくとも部分的に基づいて、何れのロケーションが最高ランクであるかを判断してもよい。
【００５２】
図4は、モバイルコンピュータ装置118のロケーションベースの電力管理制御の枠組みの中でオフロードドメイン138を利用する方法例400のフローチャートを示す。方法400は実施形態に応じて様々な方式により修正されてよいことに留意すべきである。例えば、方法400のうちの1つ以上の処理は他の実施形態では省略されてもよいし或いは別の順序で実行されてもよい。
【００５３】
ブロック402において、アグリゲータモジュール142は、1つ以上の測位制御部(又はロケーションコントローラ)208A-208Fからロケーション情報を取得する。一実施形態において、ロケーション情報は、ロケーション基準装置210A-210Fからの情報に基づいて計算された位置を含んでよい。別の実施形態において、ロケーション基準装置210A-210Fからのロケーション情報はアグリゲータモジュール142に送られ、アグリゲータモジュール142は、取得したロケーション情報に少なくとも部分的に基づいてモバイルコンピュータ装置の位置を決定又は算出してもよい。
【００５４】
ブロック404において、アグリゲータモジュール142は、パフォーマンスインジケータ又はユーザの好みに少なくとも部分的に基づいて、モバイルコンピュータ装置118にとって何れの位置が最適な位置であるかを決定してもよい。例えば、ユーザは、他のロケーション情報源より優先的に使用されるべき好ましいロケーション情報源を選択してもよい。例えば、ユーザはGPS測位データを好んでいる場合があり；その場合にはアグリゲータは適切な位置としてGPS測位による位置を選択する。しかしながら、GPS測位が利用可能でない場合、ロケーションプロセッサ140は次に好ましいソースを選択する、あるいは主要なパフォーマンスインジケータを当てにしてもよい。例えば、主要なパフォーマンスインジケータ(Key  Performance  Indicator)は、信号強度を含んでいてもよいし、或いはロケーション情報の優れた精度又は信頼性を示す適切な任意の他のインジケータを含んでいてもよい。「インジケータ」は、「指標」等と言及されてもよい。
【００５５】
ブロック406において、測位電力管理モジュール144は、アグリゲータモジュール142により決定される最適な位置を利用して、モバイルコンピュータ装置118が特定の場所に位置している場合に使用されるべき第1の電力管理プロトコルを決定又は選択する。別の実施形態では、電力管理プロトコルは、決定された位置だけでなく、モバイルコンピュータ装置118に利用可能な残りの電力量に基づいていてもよい。例えば、第1の電力管理プロトコルは、モバイルコンピュータ装置が外にあるときは常にホストプロセッサ124がスタンバイ状態に設定されるべきことを指示する。別の実施形態では、電力管理プロトコルは、装置が特定の場所にある場合には、モバイルコンピュータ装置の要素のうちの1つ以上の要素が低電力モードに設定されるべきことを指示する。
【００５６】
ブロック408において、測位電力管理モジュール144は、モバイルコンピュータ装置の位置がブロック406で示されたものと異なる位置に変化したことをロケーションプロセッサ140が判断したことに少なくとも部分的に基づいて、第2の電力管理プロトコルを選択する。このように、電力管理プロトコルは、新たな位置が確認されると常にその位置に基づいて機動的に変えられてもよい。例えば、ブロック404において、モバイルコンピュータ装置118が外に位置すると判断された場合、ホストプロセッサ124はスタンバイ状態に設定されているかもしれない。しかしながら、モバイルコンピュータ装置118が建物の中に位置すると判断されると、測位電力管理モジュール144は、ホストプロセッサをアクティブ状態に設定するっだい2の電力管理プロトコルを使用するように決定される。この場合、アクティブ状態はスタンバイ状態よりも多くの電力を消費する。従って、モバイルコンピュータ装置118は、装置118が建物の中に位置する場合よりも、建物の外に位置する場合の方が、少ない電力しか使用しない。
【００５７】
本願で説明される実施形態は、ハードウェア、ソフトウェア及び/又はファームウェアを利用して、例えば、本願で説明される方法及び/又は処理を実行するように実施される。本願で説明される所定の実施形態は、マシン(例えば、処理装置、コンピュータ等)により実行される場合に、本願で説明された方法及び/又は処理をマシンに実行させるマシン実行可能命令を保存する有形のマシン読み取り可能媒体として実施されてもよい。有形のマシン読み取り可能媒体は、例えば、何らかのタイプのディスク(フロッピディスク、光学式ディスク、コンパクトディスク読み取り専用メモリ(CD-ROM)、コンパクトディスク再書き込み可能(CD-RW)、及び磁気光ディスク等)、半導体装置(リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)(例えば、ダイナミック及びスタティックRAM等)、消去可能プログラム可能なリードオンリメモリ(EPROM)、電気的に消去可能プログラム可能リードオンリメモリ(EEPROM)、フラッシュメモリ、磁気カード、光学カード等)、又は電子命令を保存するのに適した何らかのタイプの有形媒体等であるがこれらに限定されない。マシンは、適切な任意の処理又は演算プラットフォーム、装置又はシステムを含み、ハードウェア及び/又はソフトウェアの適切な任意の組み合わせを利用して実施されてもよい。命令は、適切な任意のタイプのコードを含んでよく、適切な任意のプログラミング言語を利用して実現されてよい。別の実施形態において、本願で説明される方法及び/又は処理を実行するためのマシン実行可能命令は、ファームウェアで実現されてもよい。
【００５８】
以上、本願による様々な特徴、側面及び実施形態が説明されてきた。当業者に理解されるように、特徴、側面及び実施形態は互いに組み合わせられる余地があるだけでなく、変形や修正をも受け入れる余地がある。すなわち本願ではそのような組み合わせ、変形例及び修正例も想定の範囲内にある。
【００５９】
開示される様々な実施形態を説明するために使用される用語及び表現は、説明の用語として意図されており、限定するようには意図されていない。そのような用語及び表現の使用は、記述及び/又は図示されている特徴(又は特徴の一部)についての任意の均等物を排除するようには意図されておらず、様々な変形例が可能でありかつ特許請求の範囲に属することが認められる。他の修正例、変形例及び代替例も可能である。従って特許請求の範囲はそのような全ての均等物を包含するように意図されている。
【００６０】
開示される特定の実施形態は最も実用的で多様な形態であると今のところ考えられているものに関連して説明されているが、本願による開示は説明された形態には限定されず、様々な修正例及び等価な形態を包含するように意図されており、そのような変形例及び代替例も特許請求の範囲に属することが理解されるべきである。本願では特定の用語が使用されているが、それらは記述的な意味でしか使用されておらず、限定を目的としたものではない。
【００６１】
本願は具体例を用いて開示対象の所定の実施形態を説明しており、開示される実施形態を当業者が実施できるようにするベストモードを含み、任意の装置又はシステムを生産又は使用することを含み、開示される方法を実行することを含む。本願の対象となる内容は特許請求の範囲に記載されており、本願で具体的には明示されてはいないが当業者にとって明らかである他の例も含む。特許請求の範囲に記載された文言と異なっていない発明特定事項を有するならば、或いは特許請求の範囲に記載された文言と微差しか異なっていない等価な発明特定事項を含むならば、そのような他の例も特許請求の範囲内に属する。
【図１】
0005852271.tif 000002
【図２】
0005852271.tif 000003
【図３】
0005852271.tif 000004
【図４】
0005852271.tif 000005