(57)【要約】  受信された所在決定要求に応答してモード選択ルーチンの実行に基づいて所在決定モードを特定するための方法、システム、デバイスおよびコンピュータプログラム製品が示されている。いくつかの態様では、所在決定モードを特定することは、所在決定が成功するまで、またはシーケンスの終了に達するまで、複数のモードを順に行うことを含むことができる。他の態様では、所在決定モードを選択することは、所在決定モードに影響を及ぼす１つまたは複数の条件を決定することと、決定された条件に基づいて利用可能なモードを特定することとを含むことができる。この点に関して、いくつかの態様によれば、所在決定モードの選択が所在要求ごとに実行され、１つまたは複数の所在決定モードに影響を及ぼす現在の条件を考慮に入れることができるという点で、所在決定は動的に実行される。
2010512130.tif 000002
【特許請求の範囲】
【請求項１】
無線通信デバイスにおける所在決定のための方法であって、
前記無線通信デバイスの所在の要求を受信することと、
前記受信された要求に応答してモード選択ルーチンの実行に基づいて少なくとも１つの所在決定モードを特定することと、
前記特定された所在決定モードに基づいて前記無線通信デバイスの前記所在の取得を試行することと、
前記所在を取得する前記試行の結果をメモリに記憶することと
を備える、方法。
【請求項２】
少なくとも１つの所在決定モードを特定することが、２つ以上の所在決定モードの所定のシーケンスを特定することをさらに備え、前記無線通信デバイスの前記所在の取得を試行することが、前記無線通信デバイスの所在が決定されるまで、または前記所定のシーケンスの終了に達するまで、２つ以上の所在決定モードの前記所定のシーケンスを実行することをさらに備える、請求項１に記載の方法。
【請求項３】
前記所定のシーケンスを実行することが、前記無線通信デバイスの所在が決定されるまで、または所定の回数に達するまで、２つ以上の所在決定モードの前記所定のシーケンスの各々の内で前記所定の回数の所在決定試行を実行することをさらに備える、請求項２に記載の方法。
【請求項４】
前記所定のシーケンスを実行することが、移動局ベース（ＭＳベース）モード所在決定を試行することと、前記所在を決定することに成功しなかった場合、移動局アシスト（ＭＳアシスト）モード所在を試行することと、前記所在を決定することに成功しなかった場合、スタンドアロンモード所在決定を試行することとをさらに備える、請求項２に記載の方法。
【請求項５】
少なくとも１つの所在決定モードを特定することが、所在決定モードに影響を及ぼす１つまたは複数の既存の条件を決定することと、前記既存の条件に基づいて利用可能なモードを選択することとをさらに備える、請求項１に記載の方法。
【請求項６】
所在決定モードに影響を及ぼす１つまたは複数の既存の条件を決定することが、無線信号状態、音声呼状態、データ呼状態、バッテリ電力状態、および支援情報状態のうちの少なくとも１つを決定することをさらに備える、請求項５に記載の方法。
【請求項７】
利用可能な所在決定モードに影響を及ぼす１つまたは複数の既存の条件を決定することが、無線通信信号が現在利用可能でないと判断することをさらに備える、請求項５に記載の方法。
【請求項８】
少なくとも１つの所在決定モードを特定することが、所在決定モードに影響を及ぼす１つまたは複数の既存の条件を決定することと、前記１つまたは複数の既存の条件に基づいて前記利用可能なモードのためのシーケンスを決定することとをさらに備える、請求項１に記載の方法。
【請求項９】
少なくとも１つの所在決定モードを特定することが、１つまたは複数の既存の条件が利用可能なモードを使用する所在決定を提供する場合、利用可能な所在決定モードに影響を及ぼす前記１つまたは複数の既存の条件を決定することと、前記利用可能なモードを特定することとをさらに備える、請求項１に記載の方法。
【請求項１０】
少なくとも１つの所在決定モードを特定することが、２つ以上の所在決定トライアルの所定のシーケンスを特定することをさらに備え、各トライアルが少なくとも１つの所在決定モードを提供し、前記無線デバイスの前記所在の取得を試行することが、前記無線通信デバイスの所在が決定されるまで、または前記所定のシーケンスの終了に達するまで、２つ以上の所在決定トライアルの前記所定のシーケンスを実行することをさらに備える、請求項１に記載の方法。
【請求項１１】
各トライアルが少なくとも１つの所在決定モードを提供する、２つ以上の所在決定トライアルの所定のシーケンスを特定することが、トライアルごとに所在決定モードに影響を及ぼす１つまたは複数の既存の条件を決定することと、前記既存の条件に基づいて利用可能なモードを選択することとをさらに備える、請求項１０に記載の方法。
【請求項１２】
前記無線通信デバイスの所在の要求を受信することが、前記無線デバイス上の実行可能なアプリケーションから前記要求を受信することをさらに備える、請求項１に記載の方法。
【請求項１３】
前記無線通信デバイスの所在の要求を受信することが、ネットワークエンティティから前記要求を受信することをさらに備える、請求項１に記載の方法。
【請求項１４】
少なくとも１つの所在決定モードを特定することが、移動局ベースモード（ＭＳベースモード）、移動局アシストモード（ＭＳアシストモード）、スタンドアロン、および通信ネットワークベースモードのうちの前記少なくとも１つを特定することをさらに備える、請求項１に記載の方法。
【請求項１５】
無線通信デバイスにおける所在決定のために構成された少なくとも１つのプロセッサであって、
前記無線通信デバイスの所在の要求を受信するための第１のモジュールと、
前記受信された要求に応答してモード選択ルーチンの実行に基づいて少なくとも１つの所在決定モードを特定するための第２のモジュールと、
前記特定された所在決定モードに基づいて前記無線通信デバイスの前記所在の取得を試行するための第３のモジュールと、
前記所在を取得する前記試行の結果をメモリに記憶するための第４のモジュールと
を備える、プロセッサ。
【請求項１６】
前記無線通信デバイスの所在の要求をコンピュータに受信させるためのコードの第１のセットと、
前記受信された要求に応答してモード選択ルーチンの実行に基づいて少なくとも１つの所在決定モードをコンピュータに特定させるためのコードの第２のセットと、
前記特定された所在決定モードに基づいて前記無線通信デバイスの前記所在の取得をコンピュータに試行させるためのコードの第３のセットと、
前記所在を取得する前記試行の結果をメモリに前記コンピュータに記憶させるためのコードの第４のセットと
を備えるコンピュータ可読媒体
を備える、コンピュータプログラム製品。
【請求項１７】
無線通信デバイスの所在の要求を受信するための手段と、
前記受信された要求に応答してモード選択ルーチンの実行に基づいて少なくとも１つの所在決定モードを特定するための手段と、
前記特定された所在決定モードに基づいて前記無線通信デバイスの前記所在の取得を試行するための手段と、
前記所在を取得する前記試行の結果をメモリに記憶するための手段と
を備える、無線通信デバイス。
【請求項１８】
プロセッサとメモリとを含むコンピュータプラットフォームと、
前記メモリに記憶され、前記プロセッサによって実行可能であり、無線通信デバイスの所在の受信された要求に応答して少なくとも１つの所在決定モードを特定するように動作可能なモード選択ルーチンを含む所在決定モジュールであって、前記少なくとも１つの特定された所在決定モードに基づいて前記所在の取得を試行し、前記試行の結果を前記メモリに記憶するようにさらに動作可能である所在決定モジュールと
を備える、無線通信デバイス。
【請求項１９】
前記モード選択ルーチンが、前記無線通信デバイスの前記所在が決定されるまで、またはシーケンス中のすべてのモードが実行されるまで所在決定モードの前記シーケンスを実行するようにさらに動作可能である、請求項１８に記載の無線通信デバイス。
【請求項２０】
前記モード選択ルーチンが、前記無線通信デバイスの前記所在が決定されるまで、または所定の回数試行されるまで、前記シーケンス中のモードごとに所在決定試行を前記所定の回数試行するようにさらに動作可能である、請求項１９に記載の無線通信デバイス。
【請求項２１】
前記複数のモードが、移動局ベースモード（ＭＳベースモード）、移動局アシストモード（ＭＳアシストモード）、スタンドアロンモード、およびネットワークベースのモードのうちの少なくとも２つを含む、請求項１８に記載の無線通信デバイス。
【請求項２２】
前記モード選択ルーチンが、ＭＳベースモード所在決定を試行し、前記所在を決定することに成功しなかった場合、ＭＳアシストモード所在を試行し、前記所在を決定することに成功しなかった場合、スタンドアロンモード所在決定を試行するようにさらに動作可能である、請求項１８に記載の無線通信デバイス。
【請求項２３】
前記モード選択ルーチンが、所在決定モードに影響を及ぼす１つまたは複数の既存の条件を決定し、前記既存の条件に基づいて利用可能なモードを選択するようにさらに動作可能である、請求項１８に記載の無線通信デバイス。
【請求項２４】
前記モード選択ルーチンが、所在決定モードに影響を及ぼす１つまたは複数の既存の条件を決定し、前記１つまたは複数の既存の条件に基づいて前記利用可能なモードのためのシーケンスを決定するようにさらに動作可能である、請求項１８に記載の無線通信デバイス。
【請求項２５】
前記１つまたは複数の既存の条件が、無線信号状態、音声呼状態、データ呼状態、バッテリ電力状態および支援情報状態からなるグループから選択される、請求項２３に記載の無線通信デバイス。
【請求項２６】
前記モード選択ルーチンが、無線通信信号が現在利用可能でないと判断し、それによって前記少なくとも１つの所在決定モードを特定するようにさらに動作可能である、請求項１８に記載の無線通信デバイス。
【請求項２７】
前記モード選択ルーチンが、所在決定モードに影響を及ぼす１つまたは複数の既存の条件を決定し、前記１つまたは複数の既存の条件が利用可能な所在決定モードを実行することを可能にする場合、前記利用可能な所在決定モードを特定するようにさらに動作可能である、請求項１８に記載の無線通信デバイス。
【請求項２８】
前記モード選択ルーチンが、２つ以上の所在決定トライアルの所定のシーケンスを実行するようにさらに動作可能であり、前記無線通信デバイスの所在が決定されるまで、または前記所定のシーケンスの終了に達するまで、各トライアルが少なくとも１つの所在決定モードを提供する、請求項１８に記載の無線通信デバイス。
【請求項２９】
前記モード選択ルーチンが、トライアルごとに所在決定モードに影響を及ぼす１つまたは複数の既存の条件を決定するようにさらに動作可能であり、前記既存の条件に基づいて利用可能なモードを選択する、請求項２８に記載の無線通信デバイス。
【請求項３０】
無線通信デバイスの前記所在の前記要求を提供するように動作可能である１つまたは複数のアプリケーションをさらに備え、前記所在決定モジュールが前記１つまたは複数のアプリケーションから前記要求を受信するようにさらに動作可能である、請求項１８に記載の無線通信デバイス。
【請求項３１】
前記所在決定モジュールが、ネットワークエンティティから前記要求を受信するようにさらに動作可能である、請求項１８に記載の無線通信デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
開示される態様は、無線通信デバイスに関し、より詳細には、無線通信デバイス内での所在（ロケーション：location)決定を可能にするシステム、方法および装置に関する。
【背景技術】
【０００２】
セルラ電話、ポータブルコンピュータなど、無線通信デバイスは過去１０年間に急速に普及した。これらのデバイスはますます、広範囲の機能を提供することが可能な多面的デバイスになりつつある。たとえば、現代のセルラ電話は、計算機能、インターネットアクセス、電子メール、テキストメッセージング、ＧＰＳマッピング、デジタル写真機能、オーディオ／ＭＰ３プレーヤ、ビデオゲーム機能、ビデオ放送受信機能などを実施することもできる。
【０００３】
上記の多数の機能の他に、モバイル通信デバイスは、地理的位置および／またはネットワーク上の位置など、デバイスがそれ自体の位置を任意の時点で決定することを可能にする、全地球測位システム（ＧＰＳ）ベースのモジュールおよび／または通信ネットワークベースのモジュールなど所在決定サービスを備えることができる。たとえば、位置情報または所在情報は、地図上のある目的地に対して地理的位置を追跡するナビゲーションシステムにおいて使用されており、そのようなシステムはセルラ電話など無線通信デバイス内に組み込むことができる。しかしながら、無線通信デバイス内での位置情報の使用はナビゲーションシステムに限定されない。他のアプリケーションも所在情報を利用することができる。たとえば、無線デバイスに内蔵されてもネットワークレベルで外部に存在してもよいパフォーマンス追跡システムは、呼欠落、アウトオブサービス（ＯＯＳ）の発生、呼失敗および／またはアクセス成功の所在など、パフォーマンスイベントが起こっている所在を知ることから恩恵を受ける。さらに、多数の他のアプリケーションは、デバイスの所在を含むデバイスの環境特性を利用して、アプリケーションの方法を変更または更新する。
【０００４】
現在、所在を決定するための様々な動作モードが存在する。たとえば、ＧＰＳシステムは、移動局ベース（ＭＳベース）モード、移動局アシスト（ＭＳアシスト）モード、スタンドアロンモード、または現在知られている、もしくは将来知られる他の実行可能なモードに依拠することができる。これらの様々なモードは、所在を決定するための様々な方法を提供する。
【０００５】
たとえば、ＭＳベースモードでは、無線デバイスは、ネットワークの位置決定エンティティ（ＰＤＥ）からＧＰＳ衛星の所在に関する情報を取得し、次いで無線通信デバイスにおいて所在決定の計算を実行する。衛星所在情報は一般にエフェメリスデータおよびアルマナックデータと呼ばれる。アルマナックデータは、そのシステム内のすべてのＧＰＳ衛星のコース軌道パラメータであり、最長で数ヵ月間有効であると考えられる。比較すると、エフェメリスデータは、各ＧＰＳ衛星に対する極めて正確な軌道およびクロック補正であり、約３０分間のみ有効であると考えられる。したがって、ＭＳベースモードでは、無線デバイスは、必ずしもその必要があるわけではないが、衛星情報の通用性（currentness）または経過時間（age）に応じてＰＤＥから情報を取得することができる。
ＭＳアシストモードでは、無線デバイスは、ＰＤＥによる所在に関する衛星通信情報および／または基地局情報および／またはネットワークベースの情報など情報を交換し、さらにＰＤＥから計算された所在を受信する。したがって、ＭＳアシストモードが動作するためには、無線デバイスはＰＤＥと通信する必要がある。したがって、比較すると、ＭＳベースモードでは、一部の所在決定のために無線信号を利用してＰＤＥと通信するが、ＭＳアシストモードでは、すべての所在決定のために無線信号を利用してＰＤＥと通信する。
【０００６】
対照的に、スタンドアロンモードでは、すべての所在決定機能は無線デバイスにおいて実行される。したがって、スタンドアロンモードでは、所在を決定するために無線通信信号を利用してＰＤＥと通信することはない。しかしながら、スタンドアロンモードでは、無線デバイスは少なくとも３つのＧＰＳ衛星からの信号を利用して、それ自体の位置を決定する。したがって、スタンドアロンモードは、屋内で試行されるとき、衛星信号が弱いかまたは受信できないため失敗率が高くなるが、ＭＳアシストモードは、通信ネットワーク信号をしばしば無線デバイスと無線ネットワークとの間で依然として交換できるため、一般に、屋内で試行されるとき好ましいモードである。
【０００７】
現在の慣例では、適用可能なＧＰＳモードは、アプリケーションによって定義されるか、または無線デバイスの初期化／起動段階で選択されるが、これは、所在決定が成功する可能性に影響を及ぼすことがある、無線デバイスが遭遇する条件を念頭に入れない方法である。したがって、選択されたモードが所与のシナリオに対して最良のモードでない場合でも、選択されたモードは所在決定要求に適用される。たとえば、アプリケーションの実行持続時間中に、選択されたモードの有効性に関連する様々な条件が存在することがある。たとえば、ＭＳアシストモードでは、ＣＤＭＡ（符号分割多元接続）信号またはＧＳＭ（移動体用グローバルシステム）信号またはＵＭＴＳ（ユニバーサル移動電話システム）信号など無線通信信号を利用するので、選択されたモードがＭＳアシストの場合、無線信号がアクティブでなければ、または呼を確立し維持することができなければ、所在決定は成功しないことになる。所在決定モードのパフォーマンスに影響を及ぼす他の条件は、デバイスの現在の環境、バッテリ充電レベル、音声呼の状態、データ呼の状態、ＰＤＥ衛星情報の通用性または経過時間などである。
【０００８】
したがって、アプリケーションレベルまたは無線デバイスの初期化段階で所在決定モードを選択することに起因する所在決定の失敗率を克服する必要がある。望ましい方法および装置は、所在決定が成功する見込みを確保するために、所在決定が行われる時点で存在する条件を考慮に入れなければならない。
【発明の概要】
【０００９】
本態様は、無線通信デバイスにおける所在決定を改善するための方法、デバイス、システムおよびコンピュータプログラム製品を提供する。詳細には、本態様は、所在決定要求に応答して、モード選択ルーチンに基づいて所在決定モードを特定することを可能にする。この点に関して、本態様は所在決定モードの選択におけるより大きな柔軟性を提供し、したがって所在決定失敗率が著しく低下する。
【００１０】
いくつかの態様では、所在決定モードを特定し試行することは、所在決定モードの所定のシーケンスを実行することを含むことができ、シーケンスの各々はトライアルと呼ばれる。さらに、いくつかの態様では、所在決定が成功するか、または所定の回数に達するまで、各トライアルを所定の回数試行することができる。他の態様では、所在モードを特定することは、複数の所在決定モードの中から選択することを含むことができる。さらに、いくつかの態様では、特定することは、１つまたは複数の所在決定モードに影響を及ぼす１つまたは複数の条件を決定することと、決定された既存の条件に基づいてモードをリスティングおよび／または優先順位付けすることと、条件に基づいて利用可能なモードを選択することとを含むことができる。この点に関して、いくつかの態様によれば、所在決定モードの選択が所在要求ごとに実行され、モードに影響を及ぼす現在の条件を考慮に入れることができるという点で、所在決定は動的に実行される。
【００１１】
一態様では、無線通信デバイスにおける所在決定のための方法が定義される。本方法は、無線通信デバイスの所在の要求を受信することと、受信された要求に応答してモード選択ルーチンの実行に基づいて所在決定モードを特定することと、特定された所在決定モードに基づいて無線通信デバイスの所在の取得を試行することと、無線通信デバイスの所在を取得する試行の結果をメモリに記憶することとを含む。一部の態様では、所在の要求は、無線デバイス上で実行可能なアプリケーションから発生することがあり、他の態様では、要求は、デバイスと無線通信中であるネットワークエンティティから発生することがある。所在決定モードはＧＰＳベースモードおよび／またはネットワークベースモードを含むことができる。ＧＰＳベースの所在決定モードの例は、移動局ベースモード（ＭＳベースモード）、移動局アシストモード（ＭＳアシストモード）、スタンドアロンモードおよび現在知られているかまたは将来知られる他の所在決定モードを含むが、これらに限定されない。さらに、通信ネットワークベースの所在決定モードの例は、セルＩＤ、エンハンストセルＩＤ、到達時間、到来角、エンハンスト観測時差（Ｅ−ＯＴＤ）、セルブロードキャスト、セルベースの位置およびアドバンストフォワードリンクトリラテラレーション（ＡＦＬＴ）を含む。
【００１２】
本方法によれば、所在決定モードを特定することは、複数の所在決定モードを順に行うことと、無線通信デバイスの所在が決定されるまで、または所定の回数に達するまで、モードごとに所定の回数の所在決定試行を実行することとを行うことができる。本方法の他の態様では、所在決定モードを特定することは、所在決定モードに影響を及ぼす１つまたは複数の既存の条件を決定することと、既存の条件に基づいて利用可能なモードを特定することとを行うことができる。既存の条件の例は、符号分割多元接続（ＣＤＭＡ）信号状態または移動体用グローバルシステム（ＧＳＭ）通信信号状態、ユニバーサル移動電話システム（ＵＭＴＳ）信号状態、ワイヤレスフィデリティ（Ｗｉ−Ｆｉ）信号状態、ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス（ＷｉＭＡＸ）信号状態などの現在の無線信号状態、エフェメリスデータ、アルマナックデータなど、ＰＤＥから伝達された支援情報の現在の状態、音声呼状態、データセッション状態などの現在の通信状態、現在のバッテリ電力状態、ＧＰＳ衛星の可視性または受信信号強度などの現在の環境条件状態、および所在決定に影響を及ぼすことがある他の既存の条件を含むが、これらに限定されない。
【００１３】
本発明のさらなる関連する態様は、所在を決定するための少なくとも１つのプロセッサによって定義される。本プロセッサは、無線通信デバイスの所在の要求を受信するための第１のモジュールと、受信された要求に応答してモード選択ルーチンの実行に基づいて所在決定モードを特定するための第２のモジュールと、特定された所在決定モードに基づいて無線通信デバイスの所在の取得を試行するための第３のモジュールと、無線通信デバイスの所在を取得する試行の結果をメモリに記憶するための第４のモジュールとを含む。
【００１４】
別の関連する態様は、コンピュータプログラム製品によって提供される。本コンピュータプログラム製品は、無線通信デバイスの所在の要求をコンピュータに受信させるためのコードの第１のセットと、受信された要求に応答してモード選択ルーチンの実行に基づいて所在決定モードをコンピュータに特定させるためのコードの第２のセットと、選択された所在決定モードに基づいて無線通信デバイスの所在の取得をコンピュータに試行させるためのコードの第３のセットと、無線通信デバイスの所在を取得する試行の結果をメモリにコンピュータに記憶させるためのコードの第４のセットを有するコンピュータ可読媒体とを含む。
【００１５】
また別の態様は無線通信デバイスによって定義される。本デバイスは、無線通信デバイスの所在の要求を受信するための手段と、モード選択ルーチンに基づいて所在決定モードを特定するための手段と、選択された所在決定モードに基づいて無線通信デバイスの所在の取得を試行するための手段と、無線通信デバイスの所在を取得する試行の結果をメモリに記憶するための手段とを含む。
【００１６】
さらなる態様は別の無線通信デバイスによって提供される。本デバイスは、プロセッサとメモリとを含むコンピュータプラットフォームと、メモリに記憶され、プロセッサによって実行可能であり、無線デバイスの所在の受信された要求に基づいて所在決定モードを特定するように動作可能なモード選択ルーチンを含む所在決定モジュールとを含む。所在決定モジュールは、特定された所在決定モードに基づいて所在の取得を試行し、その試行の結果をメモリに記憶するようにさらに動作可能である。いくつかの態様では、特定された所在決定モードは、ＭＳベースモード、ＭＳアシストモード、スタンドアロンモードおよび通信ネットワークベースモードを含むことができるがこれらに限定されない複数のモードから選択できる。所在決定モジュールは、無線デバイス上の実行可能なアプリケーションから、および／または無線デバイスと無線通信中のネットワークエンティティから所在要求を受信するように動作可能とすることができる。
【００１７】
所在決定モジュールのモード選択ルーチンは、複数の所在決定モードを順に行い、無線通信デバイスの所在が決定されるまで、またはシーケンスがなくなるまで、モードトライアルごとに所在決定試行を所定の回数試行するように動作可能とすることができる。代替として、モード選択ルーチンは、所在決定モードに影響を及ぼす１つまたは複数の既存の条件を決定し、既存の条件に基づいて利用可能なモードを選択するように動作可能とすることができる。所在決定モードに影響を及ぼす条件は、符号分割多元接続（ＣＤＭＡ）信号状態または移動体用グローバルシステム（ＧＳＭ）通信信号状態、ユニバーサル移動電話システム（ＵＭＴＳ）信号状態、ワイヤレスフィデリティ（Ｗｉ−Ｆｉ）信号状態、ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス（ＷｉＭＡＸ）信号状態などの現在の無線信号状態、エフェメリスデータ、アルマナックデータなど、ＰＤＥから伝達された情報の現在の状態、音声呼状態、データセッション状態などの現在の通信状態、現在のバッテリ電力状態、ＧＰＳ衛星の可視性または受信信号強度などの現在の環境条件状態、および所在決定に影響を及ぼすことがある他の既存の条件を含むが、これらに限定されない。
【００１８】
したがって、本態様は、所在を決定する無線デバイスの能力を改善する方法、システム、デバイスおよびコンピュータプログラム製品を提供する。本態様は、要求された所在決定ごとにモード選択ルーチンに基づいて所在決定モードを特定することを可能にする。この点に関して、本態様は所在決定モードの選択におけるより大きな柔軟性を提供し、モードの選択をアプリケーションに基づくもの、またはアプリケーション初期化に基づくものに限定せず、したがって、本態様は無線通信デバイスにおける所在決定失敗率を著しく低下させる。
【００１９】
以下で、開示された態様を説明するために、および開示された態様を限定しないように提供された添付の図面とともに、開示された態様について説明する。図中、同様の表示は同様の要素を示す。
【図面の簡単な説明】
【００２０】
【図１】一態様による、モード選択ルーチンに基づいてデバイスの所在を決定するために所在決定モードを選択するように動作可能な無線通信デバイスのブロック図。
【図２】一態様による、モード選択ルーチンに基づいてデバイスの所在を決定するために所在決定モードを選択するように動作可能な無線通信デバイスのブロック図。
【図３】別の態様による、無線通信デバイスにおける所在決定のための方法の流れ図。
【図４】一態様による、所在を決定するために複数のモードを順に行う、無線デバイスの所在決定のための方法の流れ図。
【図５】一態様による、利用可能な所在決定モードに影響を及ぼす１つまたは複数の条件を決定することと、既存の条件に基づいて利用可能なモードを選択することとを行う無線デバイスの所在決定のための方法の流れ図。
【図６】一態様による、無線通信デバイスにおける所在決定のための特定の方法を示す流れ図。
【図７】一態様による、無線通信デバイスにおける所在決定のための特定の方法を示す詳細な流れ図。
【発明を実施するための形態】
【００２１】
米国特許法第１１９条に基づく優先権主張
本特許出願は、本出願の譲受人に譲渡され、参照により本明細書に明確に組み込まれる、２００６年１２月５日に出願された「Ｍｅｔｈｏｄ  Ａｎｄ  Ａｐｐａｒａｔｕｓ  Ｆｏｒ  Ｓｗｉｔｃｈｉｎｇ  Ｂｅｔｗｅｅｎ  Ｏｐｅｒａｔｉｏｎ  Ｍｏｄｅｓ  Ｆｏｒ  Ｉｎｃｒｅａｓｉｎｇ  ＧＰＳ  Ｙｉｅｌｄｓ」という名称の仮出願第６０／８６８，６９０号に対する優先権を主張する。
【００２２】
次に、本デバイス、装置、方法、コンピュータプログラム製品およびプロセッサについて、本発明の態様が図示されている添付の図面を参照して以下でより完全に説明する。しかし、これらの態様は多数の異なる形態で実施でき、本発明は、本明細書に記載の態様に限定されると解釈すべきではなく、これらの態様は、本開示が周到で完全になるように、また本発明の範囲を当業者に十分に伝えるように提供されるものである。さらに、本説明の全体を通じて、同様の番号は同様の要素を指す。
【００２３】
本明細書で説明される様々な態様は無線通信デバイスに関する。無線通信デバイスは、加入者局、加入者ユニット、移動局、移動体、遠隔局、アクセスポイント、遠隔端末、アクセス端末、ユーザ端末、ユーザエージェント、ユーザデバイスまたはユーザ機器と呼ばれる場合もある。さらに、加入者局は、セルラ電話、コードレス電話、セッション開始プロトコル（ＳＩＰ）電話、無線ローカルループ（ＷＬＬ）局、携帯情報端末（ＰＤＡ）、無線接続機能を有するハンドヘルドデバイス、または無線モデムに接続されたその他の処理デバイスでよい。
【００２４】
本態様は、それぞれの無線デバイスの所在、たとえば地理的位置および／またはネットワークでの所在を決定するためにモード選択ルーチンを実行するためのシステム、方法、デバイスおよびコンピュータプログラム製品を提供する。現在、所在を決定するための様々なモードが存在しており、これらのモードは、所在を決定するために全地球測位システム（ＧＰＳ）および／またはネットワークベースのシステムを利用する。そのようなＧＰＳベースのモードの例は、移動局ベースモード（ＭＳベースモード）、移動局アシスト（ＭＳアシストモード）、スタンドアロンモードなどを含むが、これらに限定されない。さらに、ネットワークベースのローカライゼーションモードの例は、セルＩＤ、エンハンストセルＩＤ、到達時間、到達角、エンハンスト観測時差（Ｅ−ＯＴＤ）、セルブロードキャスト、セルベースの位置およびアドバンストフォワードリンクトリラテラレーション（ＡＦＬＴ）を含むが、これらに限定されない。たとえば、そのようなネットワークベースのシステムは、基地局などネットワークノード間のタイミング信号を利用して、無線デバイスの所在を決定する。また、将来のモードを開発して所在決定をより正確で効率的にすることができる可能性がある。さらに、多くの無線通信デバイスは、２つ以上の所在決定モードを実装するように構成されている。そのようなマルチモード機能は、マッピングアプリケーション、システム診断アプリケーションなど複数の個々の所在要求アプリケーションが異なるモードを使用して所在を要求するように構成できる場合に有用なことがある。
【００２５】
本態様は、所在要求ごとに所在決定モードを決定することを可能にする。この点に関して、所在を決定するために使用されるモードは静的ではない。本態様によれば、所在要求の各例は、モード選択ルーチンに基づく所在決定モードの特定をもたらす。一部の本態様によれば、モード選択ルーチンは、所在が決定されるまで、またはシーケンスが完了するまで所定のシーケンスで１つまたは複数のモードを実行することができる。この場合、選択されたモードの実行はトライアルと呼ばれ、各トライアルは、所在決定が成功するように所定の回数の試行を含むことができる。他の態様では、モード選択ルーチンは、無線デバイスが遭遇する、所在決定に影響を及ぼす１つまたは複数の既存の条件を決定し、次いで（１つまたは複数の）既存の条件に基づいて１つまたは複数の所在決定モードを特定することができる。この場合、１つまたは複数の特定されたモードは、たとえば成功の可能性、バッテリ電力など無線デバイスリソースの使用率、所与の無線デバイスでの可用性など、ある所定のファクタに基づいて並べられた順序リスト内にあることがある。さらに、この場合、モード選択ルーチンは、次いでデバイスの所在を決定する試行において少なくとも１つの特定された所在決定モードを選択し、実行することができる。この場合の一部の態様では、モード選択ルーチンは、順序リスト内の次の特定されたモードに切り替える前に、選択されたモードを所定の回数実行することなどができる。したがって、本態様は動的な所在決定機構を提供する。
【００２６】
図１を参照すると、本態様による、所在決定のために構成された無線通信デバイスのブロック図が示されている。無線通信デバイス１０は、モード選択ルーチンの実行に基づく少なくとも１つの所在決定モードの特定に基づいて、所在を決定するように動作可能である。したがって、無線通信デバイス１０は、ＧＰＳ衛星など所在特定衛星１４から衛星信号１２を受信することが可能である。受信された衛星信号１２は、無線デバイスの所在を決定するために所在決定モードによって使用される。さらに、無線通信デバイス１０は、たとえば無線通信ネットワークを通じて、位置決定エンティティ１８との無線通信１６が可能である。一部の所在決定モードでは、ＰＤＥは、衛星１４の所在を特定するために使用されるデータなど支援情報を無線通信デバイスに与え、一部の態様では、ＰＤＥ１８は、最終的な所在計算を実行して、その結果を無線デバイスに返す。他の所在決定モードでは、ＰＤＥとの通信は必要とされない。
【００２７】
無線通信デバイス１０は、プロセッサ２２とメモリ２４とを有するコンピューティングプラットフォーム２０を含む。コンピュータプラットフォーム２０はまた、無線通信１６を送信および受信し、衛星信号１２を受信するために動作可能な通信モジュール２６を含む。一般にＧＰＳフィックスの要求と呼ばれる所在決定要求２８は、メモリ２４に記憶され、プロセッサ２２によって実行可能な１つまたは複数のアプリケーション（図１に図示せず）から生じることがある。代替として、所在決定要求２８は、ネットワークベースのデバイス（図１に図示せず）から通信モジュール２６によって無線で受信されることがある。
【００２８】
メモリ２４はまた、受信された所在決定要求２８に基づいて無線デバイス１０に対する所在決定を試行するように動作可能な所在決定モジュール３０を含む。所在決定モジュール３０は、たとえば所在要求ごとに、少なくとも１つの所在決定モード３４を特定するように動作可能な少なくとも１つのモード選択ルーチン３２を含む。上記のように、所在決定モード３４は、ＭＳベースモード、ＭＳアシストモード、スタンドアロンモード、セルＩＤ、エンハンストセルＩＤ、到達時間、到達角、エンハンスト観測時差（Ｅ−ＯＴＤ）、セルブロードキャスト、セルベースの位置およびアドバンストフォワードリンクトリラテラレーション（ＡＦＬＴ）を含むが、これらに限定されない、ＧＰＳベースモードおよび／またはネットワークベースモードを含むことができる。所在決定モジュール３０は、モード選択ルーチン３２に基づいて１つまたは複数の所在決定モード３４を特定し、次いで所在３６を決定する試行において少なくとも１つの選択されたモードを実行する。所在３６は、緯度と経度など地理的観点から定義することができ、さらに速度情報を含むことができる。また、所在３６は、たとえば基地局またはセルタワーなどネットワークデバイスに関連付け、次いで間接的に地理的定義に関連付けることによって、ネットワークの観点から定義することができる。それぞれの所在決定モード３４の実行が成功した場合、たとえば無線デバイス１０のアプリケーションで使用するために、および／または別のデバイスに転送するために、所在３６を無線デバイス１０のメモリ２４に記憶することができる。それぞれの所在決定モード３４の実行が成功しなかった場合、別のモードを試行することがあり、および／または所在３６の決定に成功することなく所在決定プロセスが終了することがある。一部の態様では、所在決定モード３４の実行が成功しなかった場合、所在決定試行が成功しなかったことを示すインジケータをメモリ２４に記憶することができる。
【００２９】
一部の態様では、所在３６の決定を成功させようとする複数のトライアルを順に行うようにモード選択ルーチン３２を構成することができる。さらに、ルーチンがトライアルをやめ、シーケンス中の次のトライアルに移行する前に、所与のトライアル内で複数の試行を行うように、モード選択ルーチン３２を構成することができる。他の態様では、無線デバイスが遭遇する、所在決定に影響を及ぼす１つまたは複数の既存の条件を決定し、次いで決定された既存の条件のうちの１つまたは複数に基づいて実行すべきモードを特定および／または選択するように、モード選択ルーチン３２を構成することができる。既存の条件は無線デバイスの条件の現在のステータスまたは値として定義される。既存の条件の例は、たとえば符号分割多元接続（ＣＤＭＡ）信号状態または移動体用グローバルシステム（ＧＳＭ）通信信号状態、ユニバーサル移動電話システム（ＵＭＴＳ）信号状態、ワイヤレスフィデリティ（Ｗｉ−Ｆｉ）信号状態、ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス（ＷｉＭＡＸ）信号状態など信号の存在および／または強度などの現在の無線信号の状態、エフェメリスデータ、アルマナックデータなどＰＤＥから伝達されるＧＰＳ支援情報の現在の状態、音声呼状態、データセッション状態など現在の通信サービス状態、現在のバッテリ電力状態、ＧＰＳ衛星の可視性または受信信号強度など現在の１つまたは複数の環境条件状態、および１つまたは複数の所在決定モードの実行に影響を及ぼすことがある他の既存の条件を含むが、これらに限定されない。
【００３０】
図２を参照すると、一態様による、無線通信デバイス１０を表す詳細なブロック図が示されている。無線通信デバイス１０は、セルラ電話、携帯情報端末（ＰＤＡ）、双方向テキストページャ、ポータブルコンピュータ、さらには無線通信ポータルを有し、ネットワークまたはインターネットへの有線接続を有することもできる別個のコンピュータプラットフォームなど、何らかのタイプのコンピュータ化された通信デバイスを含むことができる。無線通信デバイスは、遠隔スレーブ、または遠隔のセンサ、診断ツール、データ中継器など、エンドユーザを有さないが無線ネットワーク上で単にデータを伝達する他のデバイスとすることができる。したがって、本装置および方法は、無線モデム、ＰＣＭＣＩＡカード、アクセス端末、デスクトップコンピュータまたはそれらの任意の組合せもしくは部分的な組合せを限定なしに含む無線通信ポータルを含む何らかの形態の無線通信デバイスまたは無線コンピュータモジュール上で実行できる。
【００３１】
無線通信デバイス１０は、無線ネットワーク上でデータを送信することができ、ルーチンおよびアプリケーションを受信し、実行することができるコンピュータプラットフォーム２０を含む。コンピュータプラットフォーム２０は、読み取り専用メモリおよび／またはランダムアクセスメモリ（ＲＡＭおよびＲＯＭ）、消去可能ＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＲＯＭ（ＥＥＰＲＯＭ）、フラッシュカード、またはコンピュータプラットフォームに共通のメモリなど、揮発性および不揮発性メモリを備えることができるメモリ２４を含む。さらに、メモリ２４は、１つまたは複数のフラッシュメモリセルを含むか、あるいは磁気媒体、光媒体、テープ、もしくはソフトまたはハードディスクなど、二次または三次記憶装置とすることができる。
【００３２】
さらに、コンピュータプラットフォーム２０はまた、特定用途向け集積回路（ＡＳＩＣ）、または他のチップセット、プロセッサ、論理回路もしくは他のデータ処理デバイスとすることができるプロセッサ２２を含む。プロセッサ２２またはＡＳＩＣなど他のプロセッサは、無線デバイス１０のメモリ２４に記憶された、所在要求アプリケーション４４、所在決定モジュール３０およびモード選択ルーチン３２など、常駐プログラムとインターフェースするアプリケーションプログラミングインターフェース（ＡＰＩ）レイヤ４０を実行することができる。しかしながら、ＡＰＩ４０は一般に、所与の所在決定要求に対してどの所在決定モードを使用すべきかを決定することができない。ＡＰＩ４０は一般に、それぞれの無線デバイス上で実行されるランタイム環境である。そのようなランタイム環境の１つは、カリフォルニア州サンディエゴのＱｕａｌｃｏｍｍ社によって開発されたＢｉｎａｒｙ  Ｒｕｎｔｉｍｅ  Ｅｎｖｉｒｏｎｍｅｎｔ  ｆｏｒ  Ｗｉｒｅｌｅｓｓ（登録商標）（ＢＲＥＷ（登録商標））ソフトウェアである。たとえば無線コンピューティングデバイス上でアプリケーションの実行を制御するように動作する、他のランタイム環境が利用されることもある。
【００３３】
プロセッサ２２は、無線デバイス１０の機能を可能にし、無線ネットワーク上での通信デバイスの動作を可能にする、ハードウェア、ファームウェア、ソフトウェア、およびそれらの組合せで実施される様々な処理サブシステム４２を含む。たとえば、処理サブシステム４２は、他のネットワークデバイスとの通信の開始および維持ならびに他のネットワークデバイスとのデータの交換を可能にする。通信デバイスがセルラ電話として定義される態様では、通信プロセッサ２２はさらに、音声、不揮発性メモリ、ファイルシステム、送信、受信、検索機能、レイヤ１、レイヤ２、レイヤ３、主制御、遠隔手続き、ハンドセット、電源管理、デジタル信号プロセッサ、メッセージング、呼マネージャ、ブルートゥース（登録商標）システム、ブルートゥース（登録商標）ＬＰＯＳ、位置エンジン、ユーザインターフェース、スリープ、データサービス、セキュリティ、認証、ＵＳＩＭ／ＳＩＭ、音声サービス、グラフィックス、ＵＳＢ、ＭＰＥＧなどのマルチメディア、ＧＰＲＳなど、処理サブシステム４２のうちの１つまたは組合せを含むことができる（見やすくするために、図２にはすべてが個別に示されているわけではない）。開示された態様の場合、プロセッサ２２の処理サブシステム４２は、所在決定モジュール３０と対話する何らかのサブシステムコンポーネントを含むことができる。
【００３４】
コンピュータプラットフォーム２０はさらに、無線通信デバイス１０の様々なコンポーネント間の通信、ならびに通信デバイス１０と無線ネットワーク１６との間の通信を可能にする、ハードウェア、ファームウェア、ソフトウェア、およびそれらの組合せで実施される通信モジュール２６を含む。説明された態様では、通信モジュール２６は、無線通信デバイス１０と所在特定衛星１４（図１に図示）とＰＤＥ１８（図１に図示）との間でのあらゆる往復通信を可能にする。したがって、通信モジュール２６は、無線ネットワーク通信接続を確立するためおよび衛星信号を受信するための必要なハードウェア、ファームウェア、ソフトウェアおよび／またはそれらの組合せを含むことができる。一部の態様では、通信モジュールは、無線ネットワークデバイスおよび／またはネットワークエンティティから伝達される所在決定要求２８を受信し、所在決定要求２６を所在決定モジュール３０に内部的に伝達するように動作可能とすることができる。
【００３５】
コンピュータプラットフォーム２０のメモリ２４は、所在決定要求２６を生成するように動作可能な１つまたは複数のアプリケーション４４を含むことができる。アプリケーション４４は、ユーザが地図または望ましい目的地に対して自身の所在を追跡することができるマッピングおよび／またはナビゲーションアプリケーション、呼欠落、呼失敗、呼成功、非稼動（ＯＯＳ）のイベントなどパフォーマンスイベントと所在を結び付けるパフォーマンス診断アプリケーション、ならびに所在情報を利用することができる他のアプリケーションを含むことができる。いくつかのアプリケーション、たとえばパフォーマンス診断アプリケーションでは、デバイス上の他のアプリケーションまたは機能が実行されている間、所在決定をバックグラウンドで行うことができることに留意されたい。たとえば、所在決定試行が行われている間、音声呼またはデータセッション（たとえばインターネットセッション、ショートメッセージサービス（ＳＭＳ）通信）を発生させることができる。
【００３６】
さらに、無線通信デバイス１０は、通信デバイス内への入力を生成するための入力機構７２、および通信デバイスのユーザにより消費される情報を生成するための出力機構７４を有する。たとえば、入力機構７２は、キーまたはキーボード、マウス、タッチスクリーンディスプレイ、マイクロホンなどの機構を含むことができる。いくつかの態様では、入力機構７２は、所在決定要求を開始するアプリケーション４４などのアプリケーションとインターフェースするためのユーザ入力を提供する。さらに、たとえば、出力機構７４は、ディスプレイ、オーディオスピーカ、触覚フィードバック機構などを含むことができる。図示の態様では、出力機構１０８は、所在決定を要求するためのアプリケーションインターフェースまたは決定されたデバイス所在を与える地図を表示するように動作可能なディスプレイを含むことができる。
【００３７】
さらに、コンピュータプラットフォーム２０のメモリ２４は、受信された所在決定要求２６に基づいて無線デバイス１０の所在決定を試行するように動作可能な所在決定モジュール３０を含む。たとえば、所在決定モジュール３０は、カリフォルニア州サンディエゴのＱｕａｌｃｏｍｍ社から入手可能なｇｐｓＯｎｅ（商標）位置測位技術を含むことができる。さらに、所在決定モジュール３０は、たとえば所在要求ごとに、少なくとも１つの所在決定モード３４を特定するように動作可能な少なくとも１つのモード選択ルーチン３２を含む。モード選択ルーチン３２は、１つまたは複数の所在決定モード３４を特定および／または実行するために、アルゴリズム、ヒューリスティック、ニューラルネットワーク、ファジー論理および／またはプロセッサ２２によって実行可能な他のコードを含むことができる。たとえば、所与のモードの成功の可能性、所与のモードを実行するためのリソース（たとえば、ネットワーク通信、支援情報など）の有用性、それぞれの無線デバイスの所与のモードの有用性、所与のモードの過去のパフォーマンス、現在実行している音声呼、データ呼、アプリケーションなど他の無線デバイスベースサービスへの影響など、所在決定に関連付けられた１つまたは複数の所定のファクタを最大限に利用するように、モード選択ルーチン３２を構成することができる。したがって、モード選択ルーチン３２はその構成に応じて、複数のモードの中から選択すること、および／または利用可能なモードを実行すべきかどうかを選択することができる。
【００３８】
上記のように、所在決定モード３４は、ＧＰＳベースモードとネットワークベースモードの両方、ならびに両方の組合せを含むことができる。たとえば、所在決定モード３４は、ＭＳベースモード４８、ＭＳアシストモード５０、スタンドアロンモード５２、および知られているかまたは将来知られる他の所在決定モード５４を含むが、これらに限定されない。たとえば、他の所在決定モード５４は、セルＩＤ、エンハンストセルＩＤ、到達時間、到来角、エンハンスト観測時差（Ｅ−ＯＴＤ）、セルブロードキャスト、セルベースの位置、アドバンストフォワードリンクトリラテラレーション（ＡＦＬＴ）などのモードを含むことができる。
【００３９】
たとえば、一部の態様では、所在決定のＭＳベースモード４８は、無線デバイスにおいて所在決定機能６５を使用してデバイスの所在の計算を行うことを特徴とする。ＭＳベースモード４８は、ＧＰＳ信号の取得を支援する、エフェメリスデータ５８および／またはアルマナックデータ６０などＰＤＥ支援情報５６を利用することができるが、ＰＤＥ支援情報５６が所在を決定するのに目下十分な場合、各所在決定試行はＰＤＥ１８との通信を含まないことがある。たとえば、一部の態様では、一番最初のＭＳベースの試行中に、所在決定モジュール３０はエフェメリスデータ５８およびアルマナックデータ６０をダウンロードする。しかし、この情報は他の方法で収集できることに留意されたい。その後、所在決定モジュール３０は、最近昇った衛星があるかどうかを確かめるためにエフェメリスチェックを実行してアルマナックデータ６０を調べることができ、必要ならば、所在決定モジュール３０がすでに最新のエフェメリスデータ６０を有する視野内の衛星の数に基づいて新規または更新されたエフェメリスデータ５８を要求する。たとえば、衛星ネットワークのサイズに応じて、エフェメリスチェックの結果、ＰＤＥ支援情報５６を更新する要求が３０〜９０分ごとに行われることがある。無線デバイスがＰＤＥ支援情報５６を更新する場合、無線デバイスは無線ネットワークを通じて通信リンクによってＰＤＥ１８と通信して、現在のエフェメリスデータ５８および／またはアルマナックデータ６０を取得する。無線デバイスがＰＤＥ支援情報５６を検証または取得すると、無線デバイスは、ＰＤＥ支援情報５６を使用して、ＧＰＳ信号を受信するためのパラメータを設定し、その後ＧＰＳ衛星から一斉送信されたタイミング信号を受信する。ＧＰＳ信号を受信すると、無線デバイスは、デコードパラメータの設定を支援するためにＰＤＥ支援情報５６を使用してその信号を復号する。次いで無線デバイスは、復号されたタイミング情報を使用し、所在決定機能６５を実行してデバイスの所在３６を決定する。
【００４０】
より詳細には、別の例では、ｇｐｓＯｎｅ（商標）ソリューションを伴うＭＳベースモード４８は、いくつかの複合型機能を伴うアシストＧＰＳ実装である。このモードでは、無線デバイスは測位計算においてＣＤＭＡパイロット位相測定（ＰＰＭ）を直接利用せず、それによって屋内測位機能が十分なＧＰＳ信号を検出できるエリアに制限される。しかし、ｇｐｓＯｎｅ（商標）ＭＳベースモードは、いくつかのローカルネットワークパラメータを利用して衛星収集時間およびデバイス感度を向上させることができ、一般的なスタンドアロンＧＰＳソリューションに対するフィックス時間および有用性の向上を可能にする。
【００４１】
ＭＳアシストモード５０の所在決定は、デバイス所在の計算がＰＤＥ１８で行われ、したがって、ＭＳアシストモードを使用する所在決定試行ごとにＰＤＥ１８との通信が行われることを特徴とする。無線デバイスがＰＤＥ支援情報５６を更新することを選択した場合、無線デバイスは無線ネットワークを通じてＰＤＥ１８と通信して、現在のエフェメリスデータおよび／またはアルマナックデータを取得する。無線デバイスがＰＤＥ支援情報５６を検証または取得すると、無線デバイスは、ＰＤＥ支援情報５６を使用して、ＧＰＳ信号を受信するためのパラメータを設定し、その後ＧＰＳ衛星から一斉送信されたタイミング信号を受信する。ＧＰＳ信号を受信すると、無線デバイスは、デコードパラメータの設定を支援するためにＰＤＥ支援情報５６を使用してその信号を復号する。無線デバイスは、復号されたタイミング情報を使用して、ＧＰＳ衛星からの距離に関する測定を行い、無線デバイスはその測定情報をＰＤＥに伝達する。ＰＤＥ１８は、その測定情報を使用し、所在決定機能６５を実行して、無線デバイスの所在を決定する。したがって、ＭＳアシストモード５０はＰＤＥ１８との通信を利用するので、ＭＳアシストモード５０の場合、無線ネットワーク信号または通信リンクが必要とされる。
【００４２】
より詳細には、別の例では、ｇｐｓＯｎｅ（商標）ソリューションを伴うＭＳアシストモード５０は、無線デバイスを使用して衛星データならびにＣＤＭＡパイロット位相測定（ＰＰＭ）を収集する。この情報をＰＤＥが使用して、無線デバイスの所在を計算する。無線デバイスは実質的に、ＰＤＥでの位置計算を可能にするためのセンサとして動作する。また、ＰＤＥは、ＧＰＳ感度、システム有用性、地形有効範囲および精度を大幅に向上させる感度ならびに取得支援情報を提供し、ならびにフィックスとも呼ばれる所在を与えるための測位計算を実行する。ＰＤＥ支援情報を利用することによって、ＭＳアシストモードソリューションは、最高レベルのＧＰＳ感度および精度を与え、同時に実質的にコールドスタート時間をなくす。ＣＤＭＡベースのパイロット情報を併用すると、ＡＧＰＳパフォーマンスの向上に加えて、高度屋内所在特定機能が可能になる。
【００４３】
スタンドアロンモード５２は、デバイス所在の計算が無線デバイスにおいてＰＤＥ１８との通信なしに行われることを特徴とする。しかし、スタンドアロンモード５２は一般に、ＭＳベースモード、ＭＳアシストモードおよびネットワークベースモードと比較して最も多くの処理を要する所在決定モードであり、したがってスタンドアロンモードは最も多くのバッテリ電力を利用する。無線デバイスがセルラカバレージの外にある場合、無線デバイスがＰＤＥにアクセスできない場合、またはデータトランザクションを最小にすることが望まれる場合、スタンドアロンＧＰＳ動作モードが利用できる。そのようなエリアの典型的な例は、通信リンクがない場合でもナビゲーションおよび／または測位が有用なことがある船上または屋外／ハイキング／キャンプの環境、あるいはフリート管理など使用頻度の高いアプリケーションのカバレージエリアである。スタンドアロンモードでは、無線デバイスはＧＰＳ衛星から一斉送信されたタイミング信号を受信する。無線デバイスは、タイミング信号を使用し、位置決定機能６５を実行してデバイス所在を決定する。
【００４４】
一部の態様では、モード選択ルーチン３２は、所在３６の決定を成功させようとする複数のトライアルを順に行うように構成できる。さらに、ルーチンがトライアルをやめ、シーケンス中の次のトライアルに移行する前に、所与のトライアル内で複数の試行を行うようにモード選択ルーチン３２を構成することができる。後で説明する図４では、トライアルを順に行うこと、および所与のトライアル内で複数回所在決定試行を試行することに基づくモード選択方法を提供する。複数のトライアルを順に行うこと、および所与のトライアル内での複数の試行を可能にすることによって、モード選択ルーチン３２では、様々な順序付けされたモードの有効性、効率、過去のパフォーマンスおよびバッテリ電力使用率に基づいてモードに優先順位を付けることができる。たとえば、一部のモード選択ルーチン３２では、ＭＳベースモード４８は、成功の確立が比較的高く、ＰＤＥ支援情報５６が更新を必要とする場合にＰＤＥとの無線通信のみを利用し、バッテリ電力の使用を制限するので、シーケンス中の第１のモードである場合がある。逆に、一部のルーチン３２では、スタンドアロンモード５２は、大量のバッテリ電力を利用するので、シーケンス中の最後のモードである場合があり、１回の試行に制限される場合がある。
【００４５】
他の態様では、モード選択ルーチン３２は、所在決定に影響を及ぼすおよび／またはデバイスパフォーマンスに影響を及ぼす１つまたは複数の既存の条件を決定し、次いで決定された既存の条件に基づいてモードを特定および／または選択するように構成できる。既存の条件の例は、符号分割多元接続（ＣＤＭＡ）信号状態または移動体用グローバルシステム（ＧＳＭ）通信信号状態、ユニバーサル移動電話システム（ＵＭＴＳ）信号状態、ワイヤレスフィデリティ（Ｗｉ−Ｆｉ）信号状態、ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス（ＷｉＭＡＸ）信号状態などの現在の無線信号状態、エフェメリスデータ、アルマナックデータなど、ＰＤＥから伝達された情報の現在の状態、音声呼状態、データセッション状態などの現在の通信状態、現在のバッテリ電力状態、ＧＰＳ衛星の可視性または受信信号強度などの現在の環境条件状態、および所在決定に影響を及ぼすことがある他の既存の条件を含むが、これらに限定されない。
【００４６】
したがって、モード選択ルーチン３２は無線信号モニタ６２と通信して無線信号の現在の状態を決定すること、たとえば無線ネットワークとの通信リンクを確立および維持するかどうか、および／または確立および維持できるかどうかを決定することができる。さらに、モード選択ルーチン３２は、音声呼モジュール６４と通信して、音声呼が現在アクティブかどうかを決定し、データ呼モジュール６６と通信して、データセッションが現在アクティブかどうかを決定することができる。さらに、モード選択ルーチン３２は、ＰＤＥ支援情報５６と通信して、エフェメリスデータ５８およびアルマナックデータ６０などＰＤＥ支援情報の経過時間または通用性を決定することができる。さらに、モード選択ルーチン３２はバッテリモニタ６８と通信して、現在のバッテリ電力レベルを決定することができる。さらに、モード選択ルーチン３２は他の環境条件モジュール７０と通信して、所在決定および／またはデバイスパフォーマンスに影響を及ぼす他の環境条件を決定することができる。
【００４７】
所在決定モジュール３０およびそのコンポーネント、ならびに無線信号モニタ６２、音声呼モジュール６４、データ呼モジュール６６およびバッテリモニタ６８は、メモリ２４に常駐しているモジュールおよびモニタとして図２の無線デバイス１０に示されているが、他の態様では、これらのモジュールおよびモニタの一部または全部は、プロセッサ２２の処理サブシステム４２中など、無線デバイス１０の他のアーキテクチャコンポーネントとして存在することができることに留意されたい。
【００４８】
既存の条件に基づいて所在決定モードを選択することの他に、決定された既存の条件をモード選択ルーチン３２で使用して、それぞれの所在決定モードの実行を中断または中止することができる。たとえば、所在特定試行が行われている間に音声呼またはデータ呼が行われるなど、いくつかの条件は、音声呼またはデータ呼のパフォーマンスに悪影響を及ぼすことがある。一部の態様では、デバイスユーザが音声呼またはデータ呼への悪影響を受けることを減らすのではなく、モード選択ルーチン３２は所定の期間、もしくは音声呼またはデータ呼が終了するまでルーチンを遅らせるように構成でき、あるいはモード選択ルーチン３２は所在決定の実行を中止するように構成できる。
【００４９】
モード選択ルーチン３２が２つ以上の既存の条件を決定し、その２つ以上の既存の条件に基づいて１つのモードを選択するように構成された例では、モードの選択は、１つのモードを選択することができるように、複数の条件および／またはモードに優先順位を付けること、複数の条件および／またはモードに重み付けをすること、ならびに／あるいは他の条件またはモードに対して１つの条件またはモードをランク付けまたは強調する他の論理決定方法を実装することに基づくことができる。
【００５０】
一部の態様では、モード選択ルーチン３２は、１つまたは複数の既存の条件を決定し、さらにその既存の条件に基づいて利用可能なモードを試行することができるかどうかを判定するように構成できる。たとえば、一態様では、無線デバイスが１つの所在決定モードに制限されることがある。この態様では、１つまたは複数の既存の条件を決定することができ、その後、その既存の条件に基づいて所在決定モードの試行を続行すべきかどうかに関する判定が行われる。たとえば、無線デバイスがＭＳアシストモード所在決定に制限されており、既存の条件の１つが無線信号または通信リンクの状態である場合、無線信号または通信リンクが現在利用可能でないと判定されると、ＭＳアシストモードを使用して所在を決定する試行は行われない。
【００５１】
さらに、一部の態様では、モード選択ルーチン３２は、１つまたは複数の既存の条件を決定し、その既存の条件に基づいてどのモードが所在決定のために最良のモードであるかを判断するように、あるいは所在決定のために使用すべきモードの最良のシーケンスまたはモードの優先順位付けされたリストを決定するように構成できる。所在決定が成功する可能性が最も高いモード、またはデバイスリソースの使用量が最も少ないモード、または成功の可能性を適切に平衡させ、デバイスリソースの使用を制限するモード、または他の無線デバイスサービスへの影響が最小であるモードという観点から、最良のモードを定義することができることに留意されたい。
【００５２】
特に、図６および図７に関して以下で説明する方法で示されるように、一部の態様では、モード選択ルーチン３２は、複数のトライアルを順に行うこと、所与のトライアル内での複数の試行を可能にすること、１つのトライアル内でまたはトライアルの所定のシーケンス内で所在決定に影響を及ぼす１つまたは複数の既存の条件を決定することを可能にすることができる。
【００５３】
したがって、無線デバイス１０は、所在決定要求に応答して、モード選択ルーチンに基づいて所在決定モードを決定し、所在決定を試行し、その試行が成功した場合は、決定された所在を保存し、その試行が成功しなかった場合は、その試行が成功しなかったことを示すインジケータを保存するように動作可能なモジュールおよびロジックを含む。
【００５４】
図３を参照すると、無線通信デバイスの所在を決定するための方法の流れ図が示されている。イベント１００で、所在決定要求を受信する。要求は、マッピングまたはナビゲーションアプリケーション、パフォーマンス診断アプリケーションなど、所在決定を利用するアプリケーションから受信された内部の要求であるか、あるいは、要求はネットワークデバイスまたはエンティティから無線で受信された外部の要求であることがある。
【００５５】
イベント１１０で、モード選択ルーチンに基づいて、所在決定要求に応答して、少なくとも１つの所在決定モードを特定する。いくつかの例では、無線デバイスは１つの利用可能な所在決定モードを有することしかできず、その場合、その利用可能なモードのみが、モード選択ルーチンによって決定される特定されるモードになることに留意されたい。上述のように、いくつかの態様では、所在決定モードを特定することは、複数のトライアルを順に行い、所与のトライアル内で複数の所在決定試行を可能にし、および／または所在決定に影響を及ぼす１つまたは複数の既存の条件を決定し、決定された既存の条件に基づいてモードを選択することを含むことができる。無線デバイスが１つの利用可能な所在決定モードのみを有する特定の一態様では、モード選択ルーチンは既存の条件を決定することができ、既存の条件に基づいて、利用可能なモードを試行するべきかどうかに関する判断を行うことができる。他の態様では、モード選択ルーチンは、既存の条件を決定することができ、既存の条件に基づいて、最良のモードを決定するか、あるいは複数の所在決定モードの中からモードをランク付けまたは優先順位付けするか、あるいはモードを実行するための最良のシーケンスを決定することができる。
【００５６】
イベント１２０で、無線通信デバイスの所在を取得する試行において、特定されたモードを実行する。いくつかの態様では、所在決定が成功するまで、選択されたモードを多くの回数試行することができる。他の態様では、モードシーケンス処理が実装される場合など、複数のモードを選択し、所在決定が成功するまで、所定の順序で実行することができる。また、いくつかの例では、１つまたは複数の選択されたモードを実行すると、所在を決定することができないことがあることに留意されたい。特定の条件が存在するいくつかの例では、所在を決定することができないことは、音声呼またはデータ呼の品質、デバイス上の別のアプリケーションの連続的な実行、バッテリ電力レベルなど、他のデバイス機能の完全性を保証する所在決定プロセスの容認できる結果であることがある。
【００５７】
イベント１３０で、無線デバイスの所在を取得する試行の結果をメモリに記憶する。所在を取得する試行の結果をメモリに記憶することは、所在決定を要求した内部のアプリケーションに所在を返し、その所在をアプリケーション内に記憶することを含むことができ、または所在を取得する試行の結果をメモリに記憶することは、所在決定を要求したネットワークデバイス／エンティティに所在を伝達し、その後、その所在をネットワークデータベース中に遠隔的に記憶することを含むことができる。
【００５８】
次に図４を参照すると、所在決定のための方法の一態様は、複数のトライアルを順に行い、所与のトライアル内で複数の試行を可能にすることに基づいてモードを特定し、実行するように動作するモード選択ルーチンを含む。イベント２００で、所在決定要求を受信する。上述のように、要求はアプリケーションから受信された内部の要求であるか、または、要求はネットワークデバイス／エンティティから受信された外部の要求であることがある。
【００５９】
イベント２１０で、第１の所在決定モードを使用して所在を決定する試行を行う。第１の所在決定モードは、モードのシーケンス中の第１のモードであり、第１のトライアルを定義する。シーケンスの順序は、所在決定プロセスの効率および有効性、ならびに無線デバイス上で実行されている他のアプリケーションおよび機能の有効性に影響を及ぼす様々なファクタに基づいて決定できる。
【００６０】
イベント２２０で、デバイスの所在を決定する試行が成功したかどうかに関する判断を行う。所在を決定する試行が成功した場合、イベント２３０で、所在を、内部メモリか、あるいは遠隔のまたは切断可能なデバイス上など外部メモリのいずれかに記憶する。所在を決定する試行が成功しなかった場合、イベント２４０で、第１のトライアルに対して追加の試行を実行すべきかどうかに関する判断を行う。この点に関して、所与のトライアルに対して２回以上の試行を行うようにモード選択ルーチンを構成することができる。たとえば、第２の所在決定モードに進む前に、第１の所在決定モードを使用して所定の回数の試行を行うようにモード選択ルーチンを構成することができる。第１のトライアルに対して追加の試行が利用可能な場合、ルーチンはイベント２１０に戻り、第１の所在決定モードを使用して追加の試行を行う。
【００６１】
第１のトライアルに対してさらなる試行が利用可能でない場合、イベント２５０で、ルーチンは第２の所在決定モードに進み、第２の所在決定モードを使用して所在を決定する試行を行う。
【００６２】
イベント２６０で、デバイスの所在を決定する試行が成功したかどうかに関する判断を行う。所在を決定する試行が成功した場合、イベント２７０で、上述の方法で所在を記憶する。所在を決定する試行が成功しなかった場合、イベント２８０で、第２のトライアルに対して追加の試行を実行すべきかどうかに関する判断を行う。第２のトライアルに対して追加の試行が利用可能な場合、ルーチンはイベント２５０に戻り、第２のトライアルを使用して追加の試行を行う。
【００６３】
所在の決定に成功するためにトライアルを順に行うことは、シーケンス中の最後のトライアルに遭遇するまで続く。図４の例示された態様では、シーケンス中の最後のトライアルは、ｎ番目の所在決定モード（ｎは正の整数）によって定義されるｎ番目のトライアルである。ｎ番目のトライアルは、シーケンス中の第２のトライアル、またはシーケンス中の後続の任意のトライアルとすることができる。本方法の上記の説明に続いて、第２のトライアルに対してさらなる試行が利用可能でない場合、イベント２９０で、ルーチンはｎ番目のトライアルに進み、ｎ番目の所在決定モードを使用して所在を決定する試行を行う。イベント３００で、デバイスの所在を決定する試行が成功したかどうかに関する判断を行う。所在を決定する試行が成功した場合、イベント３１０で、所在を記憶する。所在を決定する試行が成功しなかった場合、イベント３２０で、ｎ番目のトライアルに対して追加の試行を実行すべきかどうかに関する判断を行う。ｎ番目のトライアルに対してさらなる試行が利用可能な場合、ルーチンはイベント２９０に戻り、ｎ番目のモードを使用して追加の試行を行う。さらなる試行が利用可能でない場合、イベント３３０で、所在決定プロセスは、この場合、所在の決定に成功することなく終了する。
【００６４】
図５を参照すると、所在決定のための方法の一態様は、所在決定に影響を及ぼす既存の条件を決定するように動作し、決定された既存の条件に基づいてモードを選択するモード選択ルーチンを含む。イベント４００で、所在決定要求を受信する。上述のように、要求はアプリケーションから受信された内部の要求であるか、または、要求はネットワークデバイス／エンティティから受信された外部の要求であることがある。
【００６５】
イベント４１０で、受信された所在決定要求に応答して、無線デバイスは、所在決定に影響を及ぼす１つまたは複数の既存の条件を決定する。たとえば、既存の条件は、予め決められており、モード選択ルーチン３２の一部として含まれることがある。既存の条件の例は、符号分割多元接続（ＣＤＭＡ）信号状態または移動体用グローバルシステム（ＧＳＭ）通信信号状態、ユニバーサル移動電話システム（ＵＭＴＳ）信号状態、ワイヤレスフィデリティ（Ｗｉ−Ｆｉ）信号状態、ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス（ＷｉＭＡＸ）信号状態などの現在の無線信号状態、エフェメリスデータ、アルマナックデータなど、ＰＤＥから伝達された情報の現在の状態、音声呼状態、データセッション状態などの現在の通信状態、現在のバッテリ電力状態、ＧＰＳ衛星の可視性または受信信号強度などの現在の環境条件状態、および所在決定に影響を及ぼすことがある他の既存の条件を含むが、これらに限定されない。
【００６６】
イベント４２０で、１つまたは複数の既存の条件に基づいて所在決定モードを特定する。たとえば、既存の条件が無線信号または無線通信リンクの現在の状態として定義される場合、無線信号または無線通信リンクが現在利用可能でなければ、ルーチンはＭＳベースモードを適用することを選択することができ、あるいは、無線信号または無線通信リンクが利用可能であれば、ルーチンはＭＳアシストモードを選択することができる。２つ以上の既存の条件が決定され、モードの選択において使用される例では、条件の各々および／またはモードの各々は互いに対して優先順位付け、重み付け、および／または場合によってはランク付けできる。たとえば、複数の条件の各々は、所与の所在決定モードの成功の可能性に対する条件の重要性に基づいて重み付けできる。さらに、たとえば、適切な重み付けされたアルゴリズムまたは他の任意の意思決定機構を、複数の条件に基づいてモードを選択するために適用することができる。既存の条件に基づいてモードを選択することに加えて、本方法は、既存の条件に基づいてモードの実装を中断または中止するようにすることもできる。たとえば、条件が音声呼またはデータ呼の現在の状態として定義される場合、所在決定モードおよび／またはルーチンの実行を遅延または中止するように、ルーチンを構成することができる。
【００６７】
無線デバイスが１つの利用可能な所在決定モードのみを有する特定の一態様では、モード選択ルーチンは既存の条件を決定することができ、既存の条件に基づいて、利用可能なモードを試行するべきかどうかに関する判断を行うことができる。他の態様では、モード選択ルーチンは、既存の条件を決定することができ、既存の条件に基づいて、複数の利用可能な所在決定モードの中から最良のモードを決定するか、またはモードに対して最良のシーケンスを決定することができる。
【００６８】
イベント４３０で、無線通信デバイスの所在を取得する試行において、特定されたモードを実行する。上述のように、いくつかの例では、１つまたは複数の選択されたモードを実行すると、所在を決定することができないことがある。
【００６９】
イベント４３０で、無線デバイスの所在を決定する試行の結果をメモリに記憶する。上述のように、所在を決定する試行の結果をメモリに記憶することは、所在を要求した内部のアプリケーションに所在を返し、その所在を内部に記憶することを含むことができ、または、所在を決定する試行の結果をメモリに記憶することは、所在決定を要求したネットワークデバイス／エンティティに所在を伝達し、その後、その所在をネットワークデータベース中に遠隔で記憶することを含むことができる。
【００７０】
図６を参照すると、所在決定のための特定の方法の一態様は、複数のモードトライアルを順に行うように動作するモード選択ルーチンを含み、トライアルのうちの１つまたは複数は既存の条件の決定を含む。例示された態様では所在決定のために３つのモードトライアルを行うが、ｎ個のトライアルが利用できることに留意されたい。第１のトライアル５００は、第１の所在決定モードを選択し、第２のトライアルに移行する前に、そのトライアルを２回以上試行することができる。第２のトライアル５１０は、決定された既存の条件に基づいて第１または第２の所在決定モードのいずれかを選択し、第３またはｎ番目のトライアルに移行する前に、そのトライアルを２回以上試行することができる。ｎ番目のトライアル５２０は、ｎ番目の所在決定モードを選択し、そのモードを１回試行し、ｎ番目のモードの試行が成功しなかった場合、ルーチンは終了し、所在決定は行われない。
【００７１】
イベント５３０で、第１の所在決定モードを使用して所在を決定する試行を行う。イベント５４０で、デバイスの所在を決定する試行が成功したかどうかに関する判断を行う。所在を決定する試行が成功した場合、イベント５５０で、所在を内部データベース中か、またはネットワークデータベースなど外部データベース中のいずれかに記憶する。所在を決定する試行が成功しなかった場合、イベント５６０で、第１のトライアルに対して追加の試行が利用可能かどうかに関する判断を行う。この点に関して、特定のトライアルに対して２回以上の試行を行うようにモード選択ルーチンを構成することができる。第１のトライアルに対して追加の試行が利用可能な場合、ルーチンはイベント５３０に戻り、第１の所在決定モードを使用して追加の試行を行う。
【００７２】
第１のトライアルに対してさらなる試行が利用可能でない場合、イベント５７０で、ルーチンは第２のトライアル５１０に進み、所在決定に影響を及ぼす既存の条件が満たされるかどうかに関する判断を行う。たとえば、定義された既存の条件は、無線信号の現在の状態または所在決定に影響を及ぼす他の条件であることがある。条件が満たされない場合、イベント５８０で、第１の所在決定モードを使用して所在を決定する試行を行う。第１のモードの使用は必要とされないことに留意されたい。既存の条件が満たされない場合、他の利用可能なモードを使用することができる。既存の条件が満たされる場合、イベント５９０で、第２の所在決定モードを使用して所在を決定する試行を行う。
【００７３】
イベント６００で、デバイスの所在を決定する試行が成功したかどうかに関する判断を行う。所在を決定する試行が成功した場合、イベント６１０で、所在を内部データベース中か、またはネットワークデータベースなど外部データベース中のいずれかに記憶する。所在を決定する試行が成功しなかった場合、イベント６２０で、第２のトライアルに対して追加の試行が利用可能かどうかに関する判断を行う。第２のトライアルに対して追加の試行が利用可能な場合、ルーチンはイベント５７０に戻り、所在の決定を試行するために使用されるモードを選択するより前に、既存の条件が満たされるかどうかを判断する。
【００７４】
第２のトライアルに対してさらなるトライアルが利用可能でない場合、イベント６３０で、ルーチンはｎ番目のトライアル５２０に進み、ｎ番目のモードを使用して所在を決定する試行を行う。イベント６４０で、デバイスの所在を決定する試行が成功したかどうかに関する判断を行う。所在を決定する試行が成功した場合、イベント６５０で、所在を内部データベース中か、またはネットワークデータベースなど外部データベース中のいずれかに記憶する。所在を決定する試行が成功しなかった場合、イベント６６０で、所在決定プロセスは、この場合、所在の決定に成功することなく終了する。上述のように、図６の例示された態様中のｎ番目のトライアル５２０は、ｎ番目の所在決定モードを１回のみ試行するように構成される。
【００７５】
次に図７を参照すると、所在決定のための特定の方法の一態様は、３つのトライアルを順に行うように動作し、所在決定を所与のトライアル内で複数回試行し、第２のトライアル内で既存の条件を決定し、決定された既存の条件に基づいて実行すべき次のモードを選択するモード選択ルーチンを含む。例示された態様ではモード選択のために３つのトライアルを行うが、ｎ個のトライアルが利用できる。この場合、デバイスリソースの使用率を最小にするために、およびデバイス上での音声呼など他のサービスの使用の中断またはその品質の劣化を最小にするために、３つのトライアルモードならびにそれらの相対的順序付けは予め決められている。
【００７６】
さらに、３つのトライアルを順に行うものとして説明したが、本態様では、モード選択ルーチンは、条件の第１のセットに基づいて所在決定モードの第１のセットの中から選択するものとして説明することもできる。次いで、結果に応じて、条件の第１のセットとは異なる条件の第２のセットに基づいて所在決定モードの第２のセットから選択し、以下同様である。したがって、動作中の各シーケンスを、それぞれのモードのうちのどれを選択すべきかを決定するために使用される、モードのシーケンス固有のセットおよび／または条件のシーケンス固有のセットに関連付けることができる。所在決定モードのセットおよび条件のセットは、各ルーチンおよび／またはルーチン中の各シーケンスごとに、モード選択ルーチンの所与の実装という特定の目的に応じて、同一であるか、または異なることがあることを理解されたい。
【００７７】
第１のトライアル７００は、ＭＳベースモードを利用して、第２のトライアルに移行する前に所在決定試行を２回以上試行することができる。第２のトライアル８００は、現在の無線サービス状態に基づいてＭＳベースモードまたはＭＳアシストモードのいずれかを選択し、第３またはｎ番目のトライアルに移行する前に所在決定試行を２回以上試行することができる。第３のトライアル９００は、スタンドアロンモードを選択して、そのモードを所定の回数試行し、スタンドアロンモードのすべての試行は成功していない場合、ルーチンは終了し、所在決定は行われない。
【００７８】
イベント７０２で、これが場合によってはＧＰＳフィックスと呼ばれる所在決定の新規の要求であるかどうかに関する判断を行う。これが所在決定の新規の要求である場合、７０４で、ＭＳベースモード所在決定が無線デバイスによってサポートされるかどうかに関する判断を行う。ＭＳベースモード所在決定がサポートされない場合、ルーチンは第１のトライアル７００をスキップし、直ちに第２のトライアル８００に移行する。ＭＳベースモード所在決定が無線デバイスによってサポートされる場合、イベント７０６で、所在決定のＭＳベースモードを使用して所在を決定する試行を行う。イベント７０８で、所在を決定する試行が成功したかどうかに関する判断を行う。試行が成功した場合、イベント７１０で、所在をローカルメモリまたはリモートメモリに記憶する。
【００７９】
試行が成功しなかった場合、ルーチンはイベントに７０２に戻り、所在の要求が新規の要求であるかどうかを判断する。要求が新規の要求でない場合、イベント７１２で、前回の試行がトライアルによって構成された最後の試行であったかどうかに関する判断を行う。トライアルは、トライアルのもとで所在を決定する１つまたは複数の試行を可能にするように構成できる。前回の試行がトライアルによって構成された最後の試行でなかったという判断が行われた場合、イベント７０６で、所在決定のＭＳベースモードを使用して所在を決定する別の試行を行い、イベント７０８で、試行が成功したかどうかを判断する後続の判断を行う。試行が成功した場合、イベント７１０で、所在を記憶し、または試行が成功しなかった場合、ルーチンはイベント７０４に戻り、そこで前回の試行がトライアルによって構成された最後の試行であったかどうかに関する判断を行う。トライアル中の最後の試行が成功しないと、第１のトライアル７００は終了し、ルーチンは第２のトライアル８００に移行する。
【００８０】
イベント８０２で、第２のトライアルに対して試行が利用可能かどうかに関する判断を行う。第１のトライアルと同様に、第２のトライアルは、第２のトライアルを使用して所在を取得する複数の試行を可能にするように構成できる。試行が利用可能な場合、イベント８０４で、既存の条件の決定を行う。詳細には、イベント８０４で、無線信号が現在利用可能かどうかに関する判断を行う。無線信号が利用可能でない場合、イベント８０６で、ＭＳベースモード所在決定が無線デバイスによってサポートされるかどうかに関する判断を行う。ＭＳベースモード所在決定がサポートされる場合、イベント８０８で、所在決定のＭＳベースモードを使用して所在を決定する試行を行う。ＭＳベースモード所在決定がサポートされない場合、イベント８１０で、所在決定のＭＳアシストモードを使用して所在を決定する試行を行う。上述のように、ＭＳアシストモードでは所在計算がＰＤＥにおいて達成されるので、ＭＳアシストモードは、ＰＤＥと通信するために無線信号を利用する。したがって、この試行が成功するためには、イベント８０４で判断を行って以降、無線信号は利用可能になっていなければならない。所在決定試行を（イベント８０８または８１０のいずれかで）行った後、イベント８１２で、試行が成功したかどうかに関する判断を行う。所在を決定する試行が成功しなかった場合、ルーチンはイベント８０２に戻り、第２のトライアルに対して追加の試行が利用可能かどうかを判断する。試行が成功した場合、イベント８１３で、所在決定が速度パラメータを含んでいるかどうかを判断する速度チェックを行う。所在決定が速度パラメータを含んでいる場合、イベント８１４で、所在を内部メモリまたは外部メモリに記憶する。速度チェックで所在決定が速度パラメータを含んでいないと判断された場合、ルーチンはイベント８０２に戻り、第２のトライアルに対して追加の試行が利用可能かどうかを判断する。
【００８１】
イベント８０４で、無線信号が利用可能であるという判断を行った場合、イベント８１６で、無線周波（ＲＦ）送信／受信（Ｔｘ／Ｒｘ）チェーン、たとえば無線通信リンクが現在利用可能かどうかに関する判断を行う。ＲＦ  Ｔｘ／Ｒｘチェーンが利用可能な場合、イベント８１０で、ＭＳアシストモード所在決定を使用して所在を決定する試行を行う。ＲＦ  Ｔｘ／Ｒｘチェーンが利用可能でない場合、イベント８１８で、音声呼が現在進行中であるかどうかに関する判断を行う。音声呼が進行中である場合、イベント８２０で、所定の時間の間または発呼の終了などの所定のイベントの通知まで所在決定を中断する。一般に、音声呼の間に所在決定を試行することは音声呼の品質に悪影響を及ぼすので、所在決定プロセスは、ユーザの音声呼経験に悪影響を及ぼさないように中断される。音声呼が現在進行中でないという判断が行われた場合、イベント８２２で、データ呼／セッションが現在進行中かどうかに関する判断を行う。データセッションが進行中でない場合、イベント８１０で、ＭＳアシストモード所在決定を使用して所在を決定する試行を行う。データ呼／セッションが進行中の場合、イベント８２４で、ルーチンは所定の期間の間または発呼の終了の通知までアイドル状態になり、データセッションが終了した後で所在決定を試行し、待機しようとする。所定のアイドル期間の後、イベント８１０で、ＭＳアシストモード所在決定を使用して所在を決定する試行を行う。ＭＳアシストモードを試行した後、イベント８１２で、試行が成功したかどうかに関する判断を行う。試行が成功した場合、イベント８１４で、所在を内部メモリまたは外部メモリに記憶する。所在を決定する試行が成功しなかった場合、ルーチンはイベント８０２に戻り、第２のトライアルに対して追加の試行を実行すべきかどうかを判断する。第２のトライアルに対してさらなる試行が利用可能でない場合、第２のトライアルは終了し、ルーチンは第３のトライアル９００に移行する。
【００８２】
イベント９０２で、スタンドアロンモードが無線デバイスによってサポートされるかどうかに関する判断を行う。スタンドアロンモードがサポートされない場合、イベント９０４で、ルーチンは所在の決定に成功することなく終了する。スタンドアロンモードがサポートされる場合、イベント９０６で、スタンドアロントライアルの試行が利用可能かどうかに関する判断を行う。スタンドアロントライアルの試行が利用可能でない場合、イベント９０４で、ルーチンは所在の決定に成功することなく終了する。スタンドアロンモードの試行が利用可能な場合、イベント９０８で、スタンドアロンモード所在決定を使用して所在を決定する試行を行う。スタンドアロンモードを試行した後、イベント９１０で、試行が成功したかどうかに関する判断を行う。試行が成功しなかった場合、ルーチンはイベント９０６に戻り、追加のスタンドアロンモードの試行が利用可能かどうかに関する判断を行う。試行が成功した場合、イベント９１４で、所在を内部メモリまたは外部メモリに記憶する。
【００８３】
本明細書で開示された態様に関して説明した様々な例示的な論理、論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタロジック、個別ハードウェア構成要素、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行できる。汎用プロセッサはマイクロプロセッサであってよいが、代替形態では、プロセッサは従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であってよい。プロセッサは、コンピューティング装置の組合せ、たとえばＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、１つまたは複数のマイクロプロセッサとＤＳＰコアとの結合、および他の任意のそのような構成としても実装できる。
【００８４】
さらに、本明細書で開示された態様に関して説明した方法またはアルゴリズムのステップおよび／または作用は、直接ハードウェアで実施するか、プロセッサによって実行されるソフトウェアモジュールで実施するか、またはその２つの組合せで実施することができる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、取外し可能ディスク、ＣＤ−ＲＯＭ、または当技術分野で知られている他の形態の記憶媒体に存在してよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読むことができ、記憶媒体に情報を書き込むことができるようにプロセッサに結合できる。代替形態では、記憶媒体は、プロセッサに一体化することができる。さらに、いくつかの態様では、プロセッサおよび記憶媒体はＡＳＩＣ中に存在してよい。さらに、ＡＳＩＣはユーザ端末に存在してよい。代替形態では、プロセッサおよび記憶媒体はユーザ端末中の個別部品として存在してよい。さらに、いくつかの態様では、方法またはアルゴリズムのステップまたは作用は、コンピュータプログラム製品によって提供できるような、機械可読媒体および／またはコンピュータ可読媒体上のコードまたは命令の１つまたは任意の組合せあるいはそのセットとして存在してよい。さらに、方法またはアルゴリズムのステップまたは作用はプロセッサの１つまたは複数のモジュールで実装できる。
【００８５】
前述の開示は例示的な態様および／または実施形態を示しているが、添付の特許請求の範囲によって規定される、説明された態様および／または実施形態の範囲から逸脱することなく、様々な変更および改変が本明細書で行われ得ることに留意されたい。さらに、説明された実施形態の要素は、単数形で説明または請求されている場合があるが、単数形に限定されることが明示的に述べられていない限り、複数形が企図される。さらに、いずれの態様および／または実施形態の全部または一部も、別段の記述がない限り、他の態様および／または実施形態の全部または一部とともに利用できる。
【００８６】
したがって、本態様は、所在を決定する無線デバイスの能力を改善する方法、システム、デバイスおよびコンピュータプログラム製品を提供するので、本態様は、方法、デバイス、システムおよびコンピュータプログラム製品を提供する。本態様は、要求された所在決定ごとにモード選択ルーチンに基づいて所在決定モードを特定することを可能にする。この点に関して、本態様は所在決定モードの選択におけるより大きな柔軟性を提供し、モードの選択をアプリケーションに基づくもの、またはアプリケーション初期化に基づくものに限定せず、したがって、本態様は無線通信デバイスにおける所在決定失敗率を著しく低下させる。
【００８７】
多くの改変および他の態様は、上述の説明および関連する図面で示された教示の恩恵を受ける、本発明が関係する当業者には思い浮かぶであろう。したがって、本態様は、開示されている特定の態様に限定されるものではなく、改変および他の態様が添付の特許請求の範囲の範囲内に含まれるよう意図されていることを理解されたい。本明細書では特定の用語を使用しているが、それらは、限定する目的ではなく、総称的かつ説明的な意味でのみ使用されている。したがって、説明される態様は、添付の特許請求の範囲の趣旨および範囲内に含まれる、すべてのそのような代替形態、改変形態、および変形形態を包含するものである。さらに、用語「含む（include）」が発明を実施するための形態または特許請求の範囲のいずれかで使用される限りにおいて、そのような用語は、特許請求の範囲中で移行語として使用されるときに用語「備える（comprising）」が解釈されるように「備える（comprising）」と同様に包括的なものである。
【図１】
2010512130.tif 000003
【図２】
2010512130.tif 000004
【図３】
2010512130.tif 000005
【図４】
2010512130.tif 000006
【図５】
2010512130.tif 000007
【図６】
2010512130.tif 000008
【図７】
2010512130.tif 000009
【国際調査報告】
2010512130.tif 000010
2010512130.tif 000011
2010512130.tif 000012