(57)【要約】デバイス位置を判定するための位置ソースのランク付けのための技術が説明される。位置ソースとは、一般に、デバイスの地理的位置を判定するために使用することができる位置情報（例えば、ＧＰＳ座標、緯度及び経度、道路住所等）のソースを指す。１以上の実施形態に従うと、位置ソース及び／又は位置ソースの組合せが、様々な基準に基づいてランク付けされ得る。したがって、位置が、特定のデバイスについて要求されたときに、そのデバイスの位置を判定するために、最高ランクの利用可能な位置ソース又は位置ソースの組合せが選択され得る。例えば、位置ソースのランクは、クライアントデバイス上に、且つ／又は、リモート位置関連サービスを介して、保持され得る。様々な実施形態に従うと、デバイスの位置は、その位置に緊急支援を提供できるようにするために判定され得る。
2016540958.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
少なくとも１つのプロセッサと、
命令を記憶している１以上のコンピュータ読み取り可能な記憶媒体であって、前記命令が前記少なくとも１つのプロセッサにより実行されたことに応じて、前記命令は、前記システムに、
クライアントデバイスの位置を求める要求を受信する動作と、
前記クライアントデバイスに関する位置情報を提供するために利用可能である利用可能な位置ソースを特定する動作と、
前記利用可能な位置ソースそれぞれの予め指定されているランクに基づいて、前記利用可能な位置ソースのうちの１以上の利用可能な位置ソースを選択する動作と、
前記の選択された１以上の利用可能な位置ソースを用いて、前記クライアントデバイスの位置を判定する動作と、
を実行させる、１以上のコンピュータ読み取り可能な記憶媒体と、
を備えたシステム。
【請求項２】
前記要求は、前記クライアントデバイスのユーザからの緊急支援を求める要求に準じるものである、請求項１記載のシステム。
【請求項３】
前記要求は、
前記クライアントデバイスの位置を求める、前記クライアントデバイスにより生成される定期的要求と、
前記クライアントデバイスの位置を求める、リモートサービスからの要求であって、前記クライアントデバイスによる要求とは独立している要求と、
のうちの１以上に準じるものである、請求項１記載のシステム。
【請求項４】
前記予め指定されているランクは、クライアント側位置ポリシ及びサーバ側位置ポリシのうちの１以上により指定されている、請求項１記載のシステム。
【請求項５】
前記予め指定されているランクは、少なくとも１つの個々の位置ソースに対してランク付けされている位置ソース群の少なくとも１つの組合せを含む、請求項１記載のシステム。
【請求項６】
前記選択することは、前記利用可能な位置ソースのうちの少なくとも２つの利用可能な位置ソースを選択することを含み、前記判定することは、
前記少なくとも２つの利用可能な位置ソースのうちの第１の位置ソースを使用して、前記クライアントデバイスの第１の位置を判定することと、
前記少なくとも２つの利用可能な位置ソースのうちの、前記第１の位置ソースとは異なる第２の位置ソースを使用して、前記クライアントデバイスの第２の位置を判定することと、
前記第１の位置及び前記第２の位置に基づいて、前記クライアントデバイスの前記位置を判定することと、
を含む、請求項１記載のシステム。
【請求項７】
コンピュータにより実施される方法であって、
クライアントデバイスの位置を求める要求を受信するステップと、
１以上の位置ポリシに基づいて、前記クライアントデバイスの前記位置を、前記クライアントデバイスにより判定するか又はリモートサービスにより判定するかを確認するステップと、
ランク付けされている位置ソースのセットから選択された位置ソースを使用して、前記クライアントデバイス又は前記リモートサービスの一方において、前記クライアントデバイスの前記位置を判定するステップと、
を含む方法。
【請求項８】
前記クライアントデバイスの前記位置を求める前記要求は、緊急サービスを求める要求に準じるものであり、前記方法は、
前記クライアントデバイスの前記位置に基づいて、利用可能な緊急サービスを特定するステップと、
前記クライアントデバイスの前記位置を、緊急サービスに通知するステップと、
のうちの１以上をさらに含む、請求項７記載の方法。
【請求項９】
コンピュータにより実施される方法であって、
クライアントデバイスの位置を求める要求を受信するステップと、
前記クライアントデバイスに関する位置情報を提供するために利用可能である利用可能な位置ソースを特定するステップと、
前記利用可能な位置ソースそれぞれの予め指定されているランクに基づいて、前記利用可能な位置ソースのうちの１以上の利用可能な位置ソースを選択するステップであって、前記予め指定されているランクは、少なくとも１つの個々の位置ソースに対してランク付けされている位置ソース群の少なくとも１つの組合せを含む、ステップと、
前記の選択された１以上の利用可能な位置ソースを用いて、前記クライアントデバイスの位置を判定するステップと、
を含む方法。
【請求項１０】
前記選択することは、前記位置ソース群の少なくとも１つの組合せを選択することを含み、前記判定することは、
前記位置ソース群の少なくとも１つの組合せのうちの第１の位置ソースを使用して、前記クライアントデバイスの第１の位置を判定することと、
前記位置ソース群の少なくとも１つの組合せのうちの、前記第１の位置ソースとは異なる第２の位置ソースを使用して、前記クライアントデバイスの第２の位置を判定することと、
前記第１の位置及び前記第２の位置に基づいて、前記クライアントデバイスの前記位置を判定することと、
を含む、請求項９記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
現在のモバイルデバイスは、多大なポータブル機能をユーザに提供している。例えば、スマートフォン、タブレット、ラップトップ等は、ユーザが、特定の位置に縛られることなく多種多様なタスクを実行することを可能にしている。ユーザは、複数の位置の間を移動することがあるので、特定の時間にユーザが位置する場所を知ることは有益であり得る。例えば、ユーザが緊急状況に遭遇する場合を考えてみる。ユーザが地理的に位置する場所を知ることにより、最も近い利用可能な緊急サービスをより迅速に特定することが可能になる。緊急サービスが特定されると、緊急サービスを緊急状況の場面に迅速且つ正確に派遣できるようにするために、ユーザの位置を緊急サービスに通知することができる。
【０００２】
ユーザが有するモバイルデバイスの機能の利用に基づいてユーザの位置を判定する既存の方法が存在しているが、これらの現在の技術は、多くの欠点を抱えている。例えば、いくつかの技術は柔軟性に欠けるものであり、そのような技術は、例えば、セルラ基地局との通信による三角測位のためのセルタワーからの信号といった、一時的であり得る情報の利用可能性に依拠する。さらに、いくつかの技術は、特定の位置で利用可能であり得る位置情報のタイプの変化に適応することができない。
【発明の概要】
【０００３】
この発明の概要は、発明を実施するための形態において以下でさらに説明するコンセプトのうち選択したものを簡略化した形で紹介するために提供される。この発明の概要は、特許請求される主題の主要な特徴又は必要不可欠な特徴を特定することを意図するものではないし、特許請求される主題の範囲を決定する際の助けとして使用されることを意図するものでもない。
【０００４】
デバイス位置を判定するための位置ソースのランク付けのための技術が説明される。位置ソースとは、一般に、様々なデバイスに関する位置情報（例えば、ＧＰＳ座標、緯度及び経度、道路住所等）のソースを指す。例えば、クライアントデバイスに関する位置情報は、そのクライアントデバイスの地理的位置を判定するために処理することができる。１以上の実施形態に従うと、位置ソース及び／又は位置ソースの組合せが、様々な基準に基づいてランク付けされ得る。例えば、位置ソースは、それぞれの位置ソースの相対精度、正確さ、及び／又は過去の（historical）信頼性に基づいて、ランク付けされ得る。したがって、位置が、特定のデバイスについて要求されたときに、そのデバイスの位置を判定するために、最高ランクの利用可能な位置ソース又は位置ソースの組合せが選択され得る。
【０００５】
少なくともいくつかの実施形態において、異なる位置ソースを互いに対してランク付けする位置ポリシが生成され得る。例えば、位置ポリシは、クライアントデバイス上に、且つ／又は、リモート位置関連サービスを介して、保持され得る。さらに、位置ポリシは、クライアントデバイスに関する位置判定の決定が、そのクライアントデバイスにおいてなされるべき状況、及び／又は、リモートサービスにおいてなされるべき状況を指定することができる。したがって、いくつかのシナリオにおいては、クライアントデバイスの位置は、そのクライアントデバイスにおいて判定されることがあり、他のシナリオにおいては、クライアントデバイスの位置は、リモートサービスにおいて判定されることがある。様々な実施形態に従うと、クライアントデバイスの位置は、その位置に緊急支援を提供できるようにするために判定され得る。
【図面の簡単な説明】
【０００６】
添付の図面を参照する詳細な説明が記載されている。図面において、参照符号の最も左の数字（群）は、その参照符号が最初に現れる図面を識別するものである。説明及び図面中の異なる例における同じ参照符号の使用は、類似アイテム又は同一アイテムを示し得る。
【図１】本明細書に記載の技術を使用するよう動作可能な例示的な実装における環境の例示図。
【図２】１以上の実施形態に従った例示的な実施シナリオを示す図。
【図３】１以上の実施形態に従った方法におけるステップを表すフロー図。
【図４】１以上の実施形態に従った方法におけるステップを表すフロー図。
【図５】１以上の実施形態に従った方法におけるステップを表すフロー図。
【図６】１以上の実施形態に従った方法におけるステップを表すフロー図。
【図７】１以上の実施形態に従った方法におけるステップを表すフロー図。
【図８】１以上の実施形態に従った方法におけるステップを表すフロー図。
【図９】１以上の実施形態に従った方法におけるステップを表すフロー図。
【図１０】本明細書に記載の技術の実施形態を実装するよう構成されている、図１を参照して説明される例示的なシステム及びコンピューティングデバイスを示す図。
【発明を実施するための形態】
【０００７】
概要
デバイス位置を判定するための位置ソースのランク付けのための技術が説明される。位置ソースとは、一般に、全地球測位システム（ＧＰＳ）衛星、セルラ通信システム、ブロードバンド無線（例えばＷｉＦｉ（登録商標））ネットワーク、位置情報サーバ（ＬＩＳ）、位置情報のユーザ入力等といった、デバイスに関する位置情報のソースを指す。したがって、位置ソースは、モバイルコンピューティングデバイス等のデバイスに関する位置情報を提供するために利用され得る。位置情報の例は、ＧＰＳ座標、道路住所、緯度・経度座標等を含む。クライアントデバイスに関する位置情報は、そのクライアントデバイスの地理的位置を判定するために処理することができる。
【０００８】
１以上の実施形態に従うと、位置ソース及び／又は位置ソースの組合せが、様々な基準に基づいてランク付けされ得る。例えば、位置ソースは、それぞれの位置ソースの相対精度、正確さ、及び／又は過去の信頼性に基づいて、ランク付けされ得る。例えば、複数のＧＰＳ衛星といった、より高い既知精度を有する位置ソースは、セルラ三角測位といった、より低い既知精度を有する別の位置ソースよりも高くランク付けされ得る。したがって、位置が、特定のデバイスについて要求されたときに、そのデバイスの位置を判定するために、最高ランクの利用可能な位置ソース又は位置ソースの組合せが選択され得る。
【０００９】
少なくともいくつかの実施形態において、異なる位置ソースを互いに対してランク付けする位置ポリシが生成され得る。位置ポリシは、クライアントデバイス上に、且つ／又は、リモート位置関連サービスを介して、保持され得る。さらに、位置ポリシは、クライアントデバイスに関する位置判定の決定が、そのクライアントデバイスにおいてなされるべき状況、及び／又は、リモートサービスにおいてなされるべき状況を指定することができる。したがって、いくつかのシナリオにおいては、クライアントデバイスの位置は、そのクライアントデバイスにおいて判定されることがあり、他のシナリオにおいては、クライアントデバイスの位置は、リモートサービスにおいて判定されることがある。
【００１０】
クライアントデバイスの位置は、多種多様なシナリオにおいて、判定及び／又は要求され得る。例えば、デバイス位置は、デバイスの現在位置又は最も直近の位置が、様々な目的のために、保持されるように、定期的に判定され得る。例えば、定期的な位置クエリが、例えば、予め指定されているクエリ間隔に基づいて、実行され得る。例えば、本明細書に記載の技術は、５秒ごとに、３０秒ごとに等、デバイスの位置を定期的に判定するために、使用することができる。したがって、クライアントデバイスの現在位置又は最も直近の位置は、位置が様々な目的のために要求される場合には、積極的に（proactively）保持され得る。
【００１１】
追加的又は代替的に、クライアントデバイスの位置は、特定の要求に応じて判定されてもよい。例えば、クライアントデバイスの位置が、緊急支援を求める要求の一部として要求されるシナリオを考えてみる。例えば、モバイルデバイスのユーザが、緊急状況に遭遇し、モバイルデバイスを利用して、緊急支援を要求する音声通話を開始する場合を考えてみる。例えば、ユーザは、モバイルデバイス上の通信アプリケーション（例えば、ボイスオーバーインターネットプロトコル（ＶｏＩＰ）クライアント）を利用して、通話を開始することができる。緊急の通話に応答して、モバイルデバイスの位置を求める要求が、自動的に生成される。例えば、この要求は、上記通信アプリケーション、通信サービス（例えば、ＶｏＩＰサービス）、リモート位置サービス等により生成される。
【００１２】
この要求に応答して、モバイルデバイスのための利用可能な位置ソースが特定される。例えば、信号を伴う複数のＧＰＳ衛星、複数のセルラ基地局、位置サービス（例えば、ＬＩＳ）、ブロードバンドネットワーク（例えば、無線及び／又は有線）等が特定され得る。利用可能な位置ソースが、モバイルデバイスに関する位置ポリシと比較される。例えば、位置ポリシは、モバイルデバイス及び／又はモバイルデバイスと通信するリモートサービスにより適用され得る。位置ポリシは、とりわけ、異なるタイプの位置ソース及び／又は位置ソースの組合せのランクを指定することができる。したがって、利用可能な位置ソースが、位置ポリシと比較されて、利用可能な最高ランクの位置ソース及び／又は位置ソースの組合せが選択される。モバイルデバイスの位置を判定するために、１以上の選択された位置ソースからの位置情報が取得される。
【００１３】
モバイルデバイスの位置は、緊急サービスを特定して緊急支援を提供するために、使用される。例えば、モバイルデバイスの位置に最も近い緊急センタ（例えば、緊急サービス、緊急派遣員（emergency  dispatcher）等）が特定され得る。特定された緊急センタに、緊急状況が通知され、モバイルデバイスの位置が提供される。したがって、緊急センタは、緊急支援を提供するために、緊急サービスをその位置に提供及び／又は派遣することができる。
【００１４】
本明細書に記載の技術は、多種多様なシナリオにおいて、多種多様な目的のために、デバイス位置を判定するために利用され得る。例えば、デバイスのユーザに関する存在及び／又は位置情報を公開するために、呼ルーティング（call  routing）を最適化するために、ユーザ追跡のために、ローカルエンタープライズサービスを特定するために等、デバイス位置を判定して、緊急サービスを特定してルーティングすることができる。これらのシナリオは、例示の目的で提示されたに過ぎず、デバイス位置は、本明細書で具体的に説明しない、多種多様なシナリオにおいて、多種多様な目的のために、判定されてよい。
【００１５】
以下の説明において、本明細書に記載の技術を使用するよう動作可能な例示的な環境について、最初に説明する。次いで、「位置ソースプリファレンス（location  source  preference）」と題されたセクションは、１以上の実施形態に従って位置ソースのプリファレンス及びランクを指定するいくつかの例示的な方法を記載している。これに続いて、「例示的なプロシージャ」と題されたセクションは、１以上の実施形態に従ったいくつかの例示的なプロシージャを記載している。最後に、「例示的なシステム及びデバイス」と題されたセクションは、１以上の実施形態に従った、本明細書に記載の技術を使用するよう動作可能な例示的なシステム及びデバイスを記載している。
【００１６】
１以上の実施形態に従った例示的な実装の概要を提示したが、次に、例示的な実装を使用することができる例示的な環境について検討する。
【００１７】
例示的な環境
図１は、デバイス位置を判定するための位置ソースのランク付けのための本明細書に記載の技術を使用するよう動作可能な例示的な実装における環境１００の例示図である。環境１００は、通信ネットワーク１０２を含む。通信ネットワーク１０２は、様々な形態の通信を可能にするためにデータを交換、処理、及び／又はルーティングする様々な接続コンポーネントを表す。ネットワーク１０２の例は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、インターネット等を含む。
【００１８】
クライアント端末１０４が、ネットワーク１０２に接続される。クライアント端末１０４は、ネットワーク１０２を介して通信するよう構成されているエンドユーザデバイスを表す。クライアント端末１０４は、従来型コンピュータ（例えば、デスクトップパーソナルコンピュータ、ラップトップコンピュータ等）、移動局、エンターテイメント機器、スマートフォン、ネットブック、ゲームコンソール、ハンドヘルドデバイス（例えば、タブレット）等といった様々な態様で構成され得る。
【００１９】
クライアント端末１０４は、通信アプリケーション１０６を含む。通信アプリケーション１０６は、クライアント端末１０４を介する様々な形態の通信を可能にする機能を表す。通信アプリケーション１０６の例は、音声通信アプリケーション（例えば、ＶｏＩＰクライアント）、ビデオ通信アプリケーション、メッセージングアプリケーション、コンテンツ共有アプリケーション、及びこれらの組合せを含む。例えば、通信アプリケーション１０６は、多様な通信シナリオを提供するために、異なる通信モダリティを組み合わせることを可能にする。少なくともいくつかの実施形態において、通信アプリケーション１０６は、クライアント端末１０４にインストールされるアプリケーションを表す。追加的又は代替的に、通信アプリケーション１０６は、例えば、ウェブブラウザ、ウェブアプリケーション等を介してアクセスされるリモートアプリケーションとして、全てが又は部分的に実装されてもよい。
【００２０】
様々な実施形態に従うと、通信アプリケーション１０６は、通信サービス１０８とのインタラクションを介する様々なタイプの通信を可能にするよう構成される。通信サービス１０８は、クライアント端末１０４と、例えば他のクライアント端末といった他のエンティティと、の間の通信を管理するための様々なタスクを実行するサービスを表す。例えば、通信サービス１０８は、クライアント端末１０４に関する通信セッションの開始、モデレーション（moderation）、及び終了を管理することができる。通信サービス１０８の例は、ＶｏＩＰサービス、オンライン会議サービス、統合通信及びコラボレーション（ＵＣ＆Ｃ）サービス等を含む。少なくともいくつかの実施形態において、通信サービス１０８は、クライアント端末１０４と他のデバイスとの間の音声通信を可能にするために公衆交換電話網（「ＰＳＴＮ」）と通信する構内交換機（ＰＢＸ）として実装され得る、又はそのようなＰＢＸに接続され得る。
【００２１】
クライアント端末１０４は、位置ハードウェア１１０及びクライアント側位置モジュール１１２をさらに含む。位置ハードウェア１１０は、位置情報を受信、送信、及び／又は処理するための様々なタイプのハードウェアを表す。例えば、位置ハードウェア１１０は、ＧＰＳ、セルラ通信、ＷｉＦｉ（登録商標）、衛星通信、無線周波数（ＲＦ）通信等といった多種多様な技術に従った、位置情報の送信、受信、及び処理をサポートする。
【００２２】
クライアント側位置モジュール１１２は、デバイス位置を判定するための位置ソースのランク付けのための本明細書に記載の技術の様々な態様を実行する機能を表す。例えば、クライアント側位置モジュール１１２は、位置ハードウェア１１０から位置情報を受信し、クライアント端末１０４の位置を判定するために、様々な方法により位置情報を処理することができる。少なくともいくつかの実施形態において、クライアント側位置モジュール１１２はまた、オペレーティングシステム、位置関連プラグインモジュール、位置プロバイダサービス等といった異なるソフトウェア機能から位置情報を受信することができる。例えば、クライアント端末１０４のオペレーティングシステムは、クライアント端末１０４のおおよその位置を判定するためにクライアント側位置モジュール１１２により利用され得るサブネット情報、イーサネット（登録商標）スイッチ情報、及び／又はポート情報等を提供することができる。クライアント側位置モジュール１１２はまた、クライアント端末１０４の位置を判定する処理を行うために、位置情報を、クライアント端末１０４からリモートリソースに送信させることができる。
【００２３】
様々な実施形態に従うと、位置ハードウェア１１０は、クライアント端末１０４に関する位置情報を取得するために、位置情報インフラストラクチャ１１４と通信することができる。位置情報インフラストラクチャ１１４は、位置情報を送信及び／又は受信することができる様々なタイプの位置情報システムを表す。位置情報インフラストラクチャ１１４の例は、ＧＰＳ衛星、セルラ電話網、無線データ（例えばＷｉＦｉ（登録商標））ネットワーク、無線周波数識別子（ＲＦＩＤ）機能等を含む。例えば、位置情報は、クライアント端末１０４の位置を判定できるようにするために、位置ハードウェア１１０と位置情報インフラストラクチャ１１４との間で通信され得る。位置情報の例は、ＧＰＳ座標、道路住所、ネットワーク位置、セルタワー及び／又はセルタワーのセットを参照する位置等を含む。
【００２４】
環境１００はまた、位置サービス１１６及び緊急サービス１１８を含む。位置サービス１１６は、様々な位置判定タスクを実行する機能を表す。例えば、位置サービス１１６は、クライアント端末１０４からリモートにあり、ネットワーク１０２を介してクライアント端末と通信することができるハードウェア及びロジック（例えば、サーバ）を含む。例えば、位置サービス１１６は、クライアント端末１０４から位置情報を受信し、クライアント端末１０４の位置を判定するために、位置情報を処理することができる。位置サービス１１６の例示的な実装は、位置情報サービス（ＬＩＳ）を含む。位置サービス１１６は、サービス側位置モジュール１２０を含む。サービス側位置モジュール１２０は、デバイス位置を判定するための位置ソースのランク付けのための本明細書に記載の技術の様々な態様を実行する機能を表す。
【００２５】
少なくともいくつかの実施形態において、位置サービス１１６は、通信サービス１０８により及び／又は通信サービス１０８の一部として実装され得る。代替的に、位置サービス１１６は、スタンドアロンサービスとして実装されてもよい。
【００２６】
緊急サービス１１８は、緊急支援を派遣及び／又は提供する様々なエンティティを表す。緊急サービス１１８の例は、緊急サービスオペレータ（例えば、９１１オペレータ）、警察（law  enforcement）、緊急医療サービス、消防サービス等を含む。
【００２７】
デバイス位置を判定するための位置ソースのランク付けのための本明細書に記載の技術の例示的な実装として、クライアント端末１０４が、スマートフォン等のモバイルデバイスである場合を考えてみる。クライアント端末１０４を保持しているユーザは、自動車事故等の緊急状況に巻き込まれる。ユーザは、緊急支援を要求するために、通信アプリケーション１０６及び／又は通信サービス１０８を介して、音声通話を開始する。
【００２８】
緊急支援を求める要求に応答して、通信アプリケーション１０６は、クライアント端末１０４の位置を求める要求を開始する。それに応答して、位置情報（例えば、ＧＰＳ座標）が、位置情報インフラストラクチャ１１４を介して、クライアント端末１０４により取得される。デバイス位置を判定するための位置ソースのランク付けのための本明細書に記載の技術の態様を利用して、クライアント端末１０４の位置を判定するために、クライアント側位置モジュール１１２及び／又はサービス側位置モジュール１２０の機能を利用して、位置情報を処理する。ユーザの位置に基づいて、適切な緊急サービス１１８が特定される。例えば、ユーザの位置に最も近い緊急サービス１１８（例えば、緊急派遣センタ）が特定され得る。適切な（例えば、最も近い）緊急サービスが特定されると、次いで、緊急状況及びユーザの位置が、特定された緊急サービス１１８に通知される。したがって、ユーザ及び／又はユーザの位置にいる他の人に緊急支援を提供するために、緊急サービス１１８が、ユーザの位置に派遣される。
【００２９】
緊急支援を求める要求に応答してクライアント端末１０４の位置を判定する代わりに又はこれに加えて、位置は、要求の前に、予め判定されてもよい。上述したように、例えば、クライアント端末１０４及び／又は位置サービス１１６は、クライアント端末１０４の位置を、定期的に及び／又は適宜に、更新することができる。したがって、クライアント端末１０４の現在位置及び／又は最も直近の位置が、常に保持され、利用可能であり得る。したがって、位置が、特定の目的（例えば、緊急支援）のために要求された場合、さらなる位置判定プロシージャを実行することなく、予め判定されている位置が提供され得る。
【００３０】
環境１００の様々なエンティティに関する様々な他の機能及び実装詳細について以下で説明する。
【００３１】
本明細書に記載の技術が動作できる例示的な環境について説明したが、次に、１以上の実施形態に従った、デバイス位置を判定するための位置ソースのランク付けのためのいくつかの例示的な実施シナリオについて検討する。
【００３２】
位置ソースプリファレンス
様々な実施形態に従うと、位置ソースに関するプリファレンスを指定する位置ポリシが定義され得る。一般に、位置ソースとは、位置情報の特定のソース又はソースの組合せを指す。例えば、特定の位置ポリシは、プリファレンス順に異なる位置ソースをランク付けすることができる。例えば、プリファレンスは、異なる位置情報ソースの相対精度に基づき得る。位置情報が要求される所与のシナリオにおいて、利用可能な位置ソースが、位置情報を確認するためにどのソース又はソースの組合せを使用するかを判定するために、ポリシのランクと比較され得る。
【００３３】
一例として、プリファレンスの逆順で（in  descending  order）様々な位置ソースをランク付けする以下の位置ソースポリシを考えてみる。少なくともいくつかの実施形態において、このポリシは、（例えばクライアント端末１０４の）クライアント側ポリシ及び／又は（例えば位置サービス１１６の）サーバ側ポリシを表す。例えば、このポリシは、通信アプリケーション１０６、クライアント側位置モジュール１１２、及びサービス側位置モジュール１２０により維持され得る。このポリシは、例示の目的のために提示されたに過ぎず、多種多様なポリシ及びランクが、様々な実施形態に従って使用され得る。
【００３４】
（１）ＧＰＳ／アシスト型ＧＰＳ（Ａ−ＧＰＳ）：４つの衛星。この位置ソースは、一般に、４つのＧＰＳ衛星から信号が受信されることを指し、高精度を有すると考えられ、したがって、好適である。
【００３５】
（２）等しく重み付けされた３つの位置ソース：
ａ．セルラ：互いから分離可能な３つのセルラ基地局。この位置ソースは、一般に、基地局の位置を識別できるように基地局間の十分な角度識別（angle  discrimination）が存在するセルラネットワークにおける３つ以上の基地局（例えば、タワー）から信号が受信されることを指す。
ｂ．ブロードバンド信号ソース：インターネット接続をクライアントデバイスに提供するインターネットサービスプロバイダ（ＩＳＰ）等の商用インターネット信号ソース。例えば、この位置ソースは、ＷｉＦｉ（登録商標）データソース及び／又は他の無線データソースを含み得る。
ｃ．エンタープライズネットワーク：クライアントデバイスが接続されるエンタープライズ（例えば職場）ネットワーク。
【００３６】
（３）ＧＰＳ／アシスト型ＧＰＳ（Ａ−ＧＰＳ）：３つの衛星。この位置ソースは、一般に、３つのＧＰＳ衛星から信号が受信されることを指す。
【００３７】
（４）セルラ：２つ以下の基地局、又は、基地局の位置を識別できるようには基地局間の十分な角度識別を有していない３つ以上の基地局。
【００３８】
（５）パブリック位置サービス：例えば、ユーザアカウント及び／又はユーザ認証を要することなく、任意の要求デバイスによりオープンにアクセスされ得る位置サービス。
【００３９】
（６）ユーザにより提供される位置：住所、ＧＰＳ座標等といった位置情報のユーザ入力。
【００４０】
（７）ＧＰＳ／Ａ−ＧＰＳ：２つの衛星。
【００４１】
これらの例示的な位置ソース及びランクは、例示の目的のために提示されたに過ぎず、多様な他の位置ソース及び／又は位置ソースのランク／重み付けが、１以上の実施形態に従って使用され得る。例えば、位置ソースのランクは、利用可能な位置ソースの属性（attribute）に基づいて変わり得る。位置ソースのランクはまた、カスタマイズされた位置ソースのランクを提供するために、ユーザ及び／又は管理者により設定可能であってもよい。
【００４２】
少なくともいくつかの実施形態において、位置ソースを組み合わせて、位置判定の精度を向上させることができる。例えば、クライアントデバイスに関するＧＰＳの読み取り（GPS  reading）は、クライアントデバイスの地理的位置をより高い精度で確認するのを試みるために、セルラ三角測位データと組み合わせることができる。例えば、以下の例示的なシナリオを考えてみる。
【００４３】
図２は、例示的な実施シナリオ２００を示している。シナリオ２００は、クライアント端末２０２を含む。クライアント端末２０２は、上記で紹介したクライアント端末１０４の一実装を表す。シナリオ２００をさらに進めると、クライアント端末２０２の位置を求める要求が、例えば、緊急支援を求める要求の一部として、受信される。例えば、この要求は、緊急の通話の一部として、通信アプリケーション１０６により生成され得る、又は、通信アプリケーション１０６を用いてなされる他のタイプの通話の一部として生成され得る。
【００４４】
この要求に応答して、クライアント端末２０２に関するセルラ三角測位情報が収集される。セルラ三角測位情報は、三角測位推定ゾーン２０４を提供する。三角測位推定ゾーン２０４は、三角測位に関連付けられた誤差のマージンを含む、クライアント端末に関するおおよその地理的位置を表す。したがって、三角測位推定ゾーン２０４は、クライアント端末２０２からの、複数のセルラ基地局において受信される信号に基づく。
【００４５】
シナリオ２００をさらに進めると、クライアント端末２０２に関するＧＰＳデータが、ＧＰＳ推定ゾーン２０６を生成するために使用される。様々な実施形態に従うと、ＧＰＳ推定ゾーン２０６は、クライアント端末２０２のおおよその地理的位置を表す。したがって、三角測位推定ゾーン２０４及びＧＰＳ推定ゾーン２０６は、クライアント端末２０２が特定の時間に位置すると判定される別個の地理的ゾーンを表す。少なくともいくつかの実施形態において、三角測位推定ゾーン２０４及びＧＰＳ推定ゾーン２０６は、並行して、且つ／又は、例えば、２秒以下といった互いの特定の時間期間内に、キャプチャされる。
【００４６】
図示されるように、三角測位推定ゾーン２０４及びＧＰＳ推定ゾーン２０６は、オーバーラップ領域２０８及び非オーバーラップ領域２１０を含み、これは、これらの２つの測定技術間の差異を反映したものである。１以上の実施形態に従うと、オーバーラップ領域２０８は、ターゲットゾーン２１２として指定される。ターゲットゾーン２１２は、三角測位推定ゾーン２０４とＧＰＳ推定ゾーン２０６とがオーバーラップする地理的領域を表す。例えば、ターゲットゾーン２１２は、三角測位推定ゾーン２０４及びＧＰＳ推定ゾーン２０６の両方に共通する地理的座標を表す。
【００４７】
少なくともいくつかの実施形態において、ターゲットゾーン２１２は、三角測位推定ゾーン２０４単独又はＧＰＳ推定ゾーン２０６単独よりも、クライアント端末２０２の位置の正確な推定であると考えられる。したがって、ターゲットゾーン２１２が、クライアント端末２０２の実際の位置を指定するために使用される。
【００４８】
したがって、シナリオ２００は、複数の位置ソースを組み合わせて、クライアントデバイスの位置の的を絞った推定を提供することができる例示的な実施を示している。シナリオ２００は、ＧＰＳ及びセルラ三角測位を利用しているが、クライアントデバイスの位置を判定するために、任意の適切なタイプの位置ソースを組み合わせることができることを理解すべきである。実施形態はまた、例えば、３以上の異なる位置ソースのオーバーラップゾーンを用いる等、３以上の位置ソースを組み合わせてもよい。
【００４９】
少なくともいくつかの実施形態において、位置ポリシは、位置ソースの組合せを、位置ソースのランクに組み込むことができる。例えば、プリファレンスの逆順で位置ソースをランク付けする以下の位置ポリシを考えてみる。
【００５０】
（１）ＧＰＳとセルラとの組合せ
（２）ＧＰＳ単独
（３）ブロードバンドソースとセルラとの組合せ
（４）ユーザにより提供される位置とセルラとの組合せ
（５）セルラ三角測位単独。
【００５１】
ソースの組合せのこのグループ及びランクは、位置ソースの組合せがプリファレンス順でランク付けされ得ることを例示するために提示されたに過ぎない。さらに、位置ソースの組合せは、個々のソースに対してランク付けされてもよい。
【００５２】
位置ソースプリファレンスのいくつかの例示的な実装について説明したが、次に、１以上の実施形態に従ったいくつかの例示的なプロシージャの説明について検討する。
【００５３】
例示的なプロシージャ
以下の説明は、デバイス位置を判定するための位置ソースのランク付けのための１以上の実施形態に従ったいくつかの例示的なプロシージャを記載している。例示的なプロシージャは、図１の環境１００、図１０のシステム１０００、及び／又は任意の他の適切な環境において使用され得る。少なくともいくつかの実施形態において、様々なプロシージャに関して説明されるステップは、ユーザインタラクションとは独立して、自動的に実施され得る。さらに、プロシージャの様々なステップは、クライアント端末の通信アプリケーション１０６を介して等、クライアントにより実行され得る。追加的又は代替的に、ステップは、位置サービス１１６によって等、サーバ側で実行されてもよい。
【００５４】
図３は、１以上の実施形態に従った方法におけるステップを表すフロー図である。ステップ３００は、クライアントデバイスの位置を求める要求を受信する。この位置要求は、多種多様なシナリオに応じて受信され得る。例えば、位置要求は、クライアントデバイスの現在位置又は最も直近の位置が、クライアントデバイス及び／又はクライアントからリモートにある位置サービスにより保持されるように、定期的に生成され得る。ユーザはまた、例えば、クライアントデバイスに入力することによって、異なるコンピューティングデバイスに入力することによって等、クライアントデバイスの位置を明示的に要求することもできる。
【００５５】
クライアントデバイスの位置を求める要求は、多種多様なエンティティにより要求され得る。例えば、クライアントデバイスは、例えば、異なるデバイス又はサービスからのクエリとは独立して、自身の位置を要求することができる。リモートデバイス及び／又はサービスはまた、例えば、クライアントデバイスからのクエリとは独立して、クライアントデバイスの位置を要求することができる。
【００５６】
クライアントデバイスの位置はまた、特定のイベントに応答して要求され得る。例えば、要求は、クライアントデバイスのユーザからの緊急支援を求める要求に応答したものであり得る。例えば、環境１００を参照すると、クライアント端末１０４（例えば、通信アプリケーション１０６）及び／又は位置サービス１１６は、この要求を生成することができる。例えば、この要求は、緊急支援を求める通話等、通信アプリケーションにより管理される音声通話の一部として、通信アプリケーション１０６により生成され得る。
【００５７】
ステップ３０２は、クライアントデバイスのための利用可能な位置ソースを特定する。例えば、ＧＰＳ信号、セルラ基地局からの信号、及び／又は上述したもの等の様々な他の位置ソースからの信号といった、様々な位置情報システムからの信号が特定され得る。他の位置情報システムの例は、ネットワーク接続データを利用するシステム及び／又は機能を含む。例えば、サブネットデータ、無線データスイッチ情報及び／又はポート情報、ＷｉＦｉ（登録商標）インフラストラクチャデータ等が、他の位置情報システムからの位置情報に加えて且つ／又はこれに代わって、利用され得る。
【００５８】
ステップ３０４は、それぞれの位置ソースのランクに基づいて、利用可能な位置ソースから位置ソースを選択する。例えば、利用可能な位置ソースが位置ポリシと比較され得、最高ランクの１以上の位置ソースが選択され得る。個々の位置ソースが選択されることもあるし、且つ／又は、利用可能な位置ソースの組合せが選択されることもある。位置ソースの選択に関するさらなる詳細が、上記及び下記にて提供されている。
【００５９】
ステップ３０６は、選択された位置ソースを用いて、クライアントデバイスの位置を判定する。例えば、選択された位置ソース及び／又は選択された位置ソースの組合せからの位置測定結果が取得され得る。位置測定結果は、道路住所、地理的座標のセット等といった地理的位置に関連付けられ得る。
【００６０】
ステップ３０８は、クライアントデバイスの位置を提供する。例えば、位置は、位置を要求したエンティティに提供され得る。例えば、緊急通話状況では、最も近い緊急サービスが、クライアントデバイスの位置を用いて特定され得る。特定された緊急サービスが緊急支援を適切な位置に派遣できるようにするために、デバイスの位置が、特定された緊急サービスに通知され得る。
【００６１】
様々な実施形態に従うと、クライアントデバイスの位置を判定するためにどの位置ソースを使用するかの判定は、クライアントデバイス及び／又はリモート位置において行われ得る。例えば、以下の例示的なプロシージャを考えてみる。
【００６２】
図４は、１以上の実施形態に従った方法におけるステップを表すフロー図である。ステップ４００は、クライアントデバイスの位置を、クライアントデバイスにより判定するかリモートサービスにより判定するかを確認する。例えば、ステップ４００は、図３を参照して説明したステップ３００に応答して等、クライアントデバイスの位置を求める要求に応答して実行され得る。
【００６３】
様々な実施形態に従うと、位置ポリシは、クライアントデバイスに関する位置が、クライアントデバイスにおいていつ判定されるべきであるか、及び、クライアントデバイスに関する位置が、例えば上述した位置サービス１１６といったリモートサービスによりいつ判定されるべきであるか、を指定するよう構成され得る。例えば、位置ポリシは、位置サービスが位置を判定すべきであるということを指定することができる。したがって、クライアントデバイスは、クライアントデバイスにより確認された位置情報を、クライアントデバイスの位置を判定するために処理されるように、位置サービスに送信することができる。
【００６４】
別の例として、位置ポリシは、クライアントリソースが指定された閾値以下である場合には、クライアントデバイスの位置が、位置サービスにより判定されるべきであるということを指定することができる。そのようなリソースの例は、バッテリ充電レベル、メモリリソース、プロセッサリソース等を含む。したがって、少なくともいくつかの実施形態において、クライアントリソースが閾値を超えている場合には、位置判定は、クライアントデバイスにおいて実行され得る。そうでなければ、位置判定は、リモート位置サービスにより実行され得る。
【００６５】
さらに別の例として、位置ポリシは、クライアントデバイスが、（例えば無線帯域幅に関して）通信帯域幅制限を有する場合には、位置判定は、位置情報を、処理するリモートサービスに送信するのではなく、クライアントデバイスにおいて実行されるべきであるということを指定することができる。
【００６６】
少なくともいくつかの実施形態において、位置ポリシは、位置判定が、クライアントデバイスにおいて実行されるべきであるか、且つ／又は、リモートサービスにおいて実行されるべきであるかを指定するために、ユーザ及び／又は管理者により設定可能である。さらに、位置ポリシは、位置判定ロジックのいくつかの部分はクライアントデバイスにおいて実行されるべきであり、他の部分はリモートサービスにおいて実行されるべきであるということを指定することができる。
【００６７】
位置がクライアントデバイス（「クライアント」）において判定されるべき場合、ステップ４０２は、クライアントデバイスにおいて位置を判定する。例えば、図３を参照して説明したプロシージャが、クライアントデバイスにおいて実行され得る。
【００６８】
位置がリモートサービス（「リモートサービス」）において判定されるべき場合、ステップ４０４は、リモートサービスにより位置を判定する。例えば、図３を参照して説明したプロシージャが、リモートサービスにおいて実行され得る。少なくともいくつかの実施形態において、クライアントデバイスは、位置情報をリモートサービスに提供し、リモートサービスは、位置情報を処理して、クライアントデバイスの位置を確認する。
【００６９】
１以上の実施形態に従うと、位置判定は、クライアントデバイス及びリモートサービスの両方において実行され得る。例えば、以下のプロシージャを考えてみる。
【００７０】
図５は、１以上の実施形態に従った方法におけるステップを表すフロー図である。ステップ５００は、クライアントデバイスにおいて、利用可能な位置ソースを特定する。例えば、クライアントデバイスは、現在利用可能な位置ソースのタイプ及び属性を特定することができる。例えば、クライアントデバイスは、クライアントデバイスが信号を現在受信している元である複数の衛星（例えば、ＧＰＳ衛星）、様々な位置情報システムからの信号強度（例えば、衛星からの信号、クライアントデバイスとセルラ基地局との間の信号、ＷｉＦｉ（登録商標）基地局からの信号等）、様々な位置情報システムからの信号に関する信号対雑音（Ｓ／Ｎ）比等を特定することができる。
【００７１】
ステップ５０２は、利用可能な位置ソースの属性を、リモートサービスに送信する。例えば、環境１００を参照すると、クライアント端末１０４は、（例えば、位置情報インフラストラクチャ１１４からの）利用可能な位置ソースのタイプ及び属性を、位置サービス１１６に送信することができる。そのようなタイプ及び属性の例については上述している。
【００７２】
ステップ５０４は、リモートサービスにおいて、クライアントデバイスの位置を判定するために、利用可能な位置ソースのうちどの位置ソースを使用するかを判定する。例えば、リモートサービスは、利用可能な位置ソースのタイプ及び属性を、様々な位置ソースのランクを指定している位置ポリシと比較することができる。最高ランクの１以上の位置ソースが選択され得る。
【００７３】
少なくともいくつかの実施形態において、特定の位置ソースの品質（例えば、信号品質）が、クライアントデバイスの位置を判定するために位置ソースからの位置情報を使用するかどうかを判定する際に考慮され得る。例えば、位置ソースに関する信号強度及び／又はＳ／Ｎ比が、信号強度閾値以下である場合、その位置ソースは、ランクが下げられ得る、且つ／又は、使用する位置ソースを判定する際に無視され得る。
【００７４】
ステップ５０６は、クライアントデバイスの位置を判定するために使用する位置ソースを特定する通知を、クライアントデバイスに送信する。例えば、リモートサービスは、位置ソースのうちどの位置ソースを使用するかを特定する通知を、クライアントデバイスに送信することができる。
【００７５】
ステップ５０８は、クライアントデバイスにおいて、特定された位置ソースを使用して、クライアントデバイスの位置を判定する。例えば、クライアントデバイスは、特定された１以上の位置ソースから位置情報を取得し、その位置情報を利用して、クライアントデバイスの位置を確認することができる。
【００７６】
したがって、少なくともいくつかの実施形態において、どの１以上の位置ソースを使用するかの判定は、リモートサービスにおいて実行され得る。選択された位置ソースからの位置情報を処理して、クライアントデバイスの位置を判定するロジックは、クライアントデバイスにおいて実行され得る。代替的に、クライアントデバイスが位置ソースを選択してもよく、位置ソースからの位置情報を、リモートサービスに送信してもよい。リモートサービスが、位置情報を処理して、クライアントデバイスの位置を判定してもよい。
【００７７】
図６は、１以上の実施形態に従った方法におけるステップを表すフロー図である。ステップ６００は、クライアントデバイスにおいて、クライアントデバイスの位置を判定する。例えば、クライアントデバイスは、１以上の位置ソースからの位置情報を利用して、クライアントデバイスの位置を判定することができる。位置ソースは、クライアントデバイス及び／又はリモートサービスにおいて適用されている位置ポリシに基づいて、選択され得る。
【００７８】
ステップ６０２は、クライアントデバイスにより判定されたクライアントデバイスの位置を、リモートサービスに通知する。例えば、クライアントデバイスは、道路住所、ＧＰＳ座標等といった、クライアントデバイスにより判定された位置に関する情報を送信することができる。クライアントデバイスはまた、１以上の位置ソースから確認された、クライアントデバイスに関する未処理位置情報を送信することができる。
【００７９】
ステップ６０４は、リモートサービスにおいて、リモートサービスにより判定されたクライアントデバイスの位置を確認する。例えば、リモートサービスは、クライアントデバイス及び／又は他のリソースから受信した未処理位置情報を処理して、クライアントデバイスの位置を判定することができる。未処理位置情報の例は、ＧＰＳ座標、サブネット情報、イーサネット（登録商標）スイッチデータ及び／又はポートデータ、ＷｉＦｉ（登録商標）情報（例えば、接続無線ネットワークに関する基本サービスセット識別子（ＢＳＳＩＤ））等を含む。したがって、多種多様なタイプの位置情報及び／又は位置情報の組合せを利用して、クライアントデバイスの位置を判定することができる。
【００８０】
ステップ６０６は、クライアントデバイスにより判定された位置及びリモートサービスにより判定された位置に基づいて、クライアントデバイスの位置を算出する。例えば、クライアントデバイスにより判定された位置及びリモートサービスにより判定された位置が重ね合わされ得、クライアントデバイスにより判定された位置とリモートサービスにより判定された位置とのオーバーラップ領域が、クライアントデバイスの位置であると判定され得る。少なくともいくつかの実施形態において、クライアントデバイスにより判定された位置は、第１の位置ソース及び／又は位置ソースの組合せ（例えば、ＧＰＳ、ユーザにより指定された位置等）に基づき得、リモートサービスにより判定された位置は、異なる第２の位置ソース及び／又は位置ソースの組合せ（例えば、セルラ三角測位、ＬＩＳからの情報等）に基づき得る。
【００８１】
ステップ６０８は、クライアントデバイスの位置を提供する。例えば、位置は、リモートサービスにより、クライアントデバイス自身及び／又は別の要求エンティティに提供され得る。少なくともいくつかの実施形態において、リモートサービスにより提供される位置は、クライアントデバイスにより判定された位置を無効にしてもよいし、且つ／又は、クライアントデバイスにより判定された位置より優先されてもよい。
【００８２】
少なくともいくつかの実施形態において、複数の位置ソースを組み合わせて、クライアントデバイスの総合的（overall）位置を判定することができる。例えば、以下の例示的なプロシージャを考えてみる。
【００８３】
図７は、１以上の実施形態に従った方法におけるステップを表すフロー図である。ステップ７００は、第１の位置ソースを使用して、クライアントデバイスの第１の位置を判定する。様々な位置ソースの例については上述している。
【００８４】
ステップ７０２は、異なる第２の位置ソースを使用して、クライアントデバイスの第２の位置を判定する。図２を参照して上述したように、第１の位置及び第２の位置は、いくつかのオーバーラップ部分及びいくつかの非オーバーラップ部分を含み得る。
【００８５】
ステップ７０４は、第１の位置及び第２の位置に基づいて、クライアントデバイスのターゲット位置を算出する。例えば、第１の位置と第２の位置とのオーバーラップ部分が、クライアントデバイスのターゲット位置として特定され得る。上述したように、ターゲット位置は、第１の位置と第２の位置との間で共通する地理的座標、第１の位置と第２の位置との間で共通する道路住所等に対応し得る。したがって、少なくともいくつかの実施形態において、ターゲット位置は、第１の位置単独又は第２の位置単独よりも正確なクライアントデバイスの位置と考えることができる。
【００８６】
１以上の実施形態に従うと、複数の位置ソースが、クライアントデバイスの位置を判定するために使用される場合、複数の位置ソースは、位置ポリシにおけるそれぞれのランクに基づいて選択され得る。例えば、位置ポリシ及び／又は位置ポリシのグループにおける上位ランクＮ個の位置ソース（Ｎ＝２、３、．．．、ｎ）が、クライアントデバイスの総合的ターゲット位置を判定するために、選択されて組み合わされ得る。
【００８７】
少なくともいくつかの実施形態において、位置サービスは、クライアントデバイスから受信したネットワーク情報に基づいて、クライアントデバイスの位置を判定することができる。例えば、以下の例示的なプロシージャを考えてみる。
【００８８】
図８は、１以上の実施形態に従った方法におけるステップを表すフロー図である。ステップ８００は、位置サービスにおいて、クライアントデバイスからネットワーク情報を受信する。例えば、位置サービス１１６は、クライアント端末１０４から、様々なタイプのネットワーク情報を受信することができる。ネットワーク情報の例は、クライアント端末１０４が接続されているネットワークに関するサブネット情報、ネットワークに関するイーサネット（登録商標）スイッチデータ及び／又はポートデータ、ＷｉＦｉ（登録商標）情報（例えば、接続無線ネットワークに関する基本サービスセット識別子（ＢＳＳＩＤ））等を含む。
【００８９】
ステップ８０２は、位置サービスにおいて、位置ポリシを適用して、クライアントデバイスから受信したネットワーク情報のうちの少なくとも一部を選択する。例えば、位置ポリシは、位置ソースの優先順位、位置情報のタイプ等を指定する。位置ポリシは、例えば、ネットワークに関する識別子（例えば、ＢＳＳＩＤ）に基づいて、特定のネットワークの優先順位を指定することができる。したがって、特定のネットワーク及び／又はネットワークの組合せが、クライアントデバイスの位置を判定するために選択され得る。
【００９０】
ステップ８０４は、位置サービスにおいて、選択したネットワーク情報を利用して、クライアントデバイスの位置を確認する。例えば、位置サービスは、そのようなネットワーク情報を使用して、クライアントデバイスが接続されているネットワークの位置を判定し、このネットワークの位置を、クライアントデバイスの位置に関連付ける。
【００９１】
ステップ８０６は、位置サービスにより、クライアントデバイスの位置を提供する。例えば、位置サービスは、クライアントデバイスの位置を、クライアントデバイス自身及び／又は他のエンティティ等の様々なエンティティに提供することができる。
【００９２】
少なくともいくつかの実施形態において、複数の位置サービス（例えば、ＬＩＳ）が、クライアントデバイスの位置を判定する際に、所定のシナリオでは考慮され得る。例えば、位置ポリシは、例えば、過去の信頼性及び／又は精度に基づいて、異なる位置サービスをランク付けすることができる。例えば、特定の位置サービスは、他の位置サービスよりも正確な又は正確でないクライアントデバイスの位置を提供したという記録を有することができる。したがって、少なくともいくつかの実施形態において、位置サービスは、より好適な位置サービスがより好適でない位置サービスよりも上にランク付けされる、プリファレンスの逆順でランク付けされ得る。例示的な実装として、以下の例示的なプロシージャを考えてみる。
【００９３】
図９は、１以上の実施形態に従った方法におけるステップを表すフロー図である。ステップ９００は、クライアントデバイスの位置を求める要求を受信する。クライアントデバイスの位置を要求する例示的な実装については上述している。
【００９４】
ステップ９０２は、クライアントデバイスの位置を判定するために複数のリモート位置サービスが利用可能であることを確認する。例えば、上述した環境１００を参照すると、複数の位置サービス１１６が、クライアント端末１０４の位置を判定するために利用可能であり得る。例えば、位置サービスのうちの少なくとも一部は、ネットワーク接続を介してクライアントデバイスに接続され得る。代替的又は追加的に、位置サービスのうちの１以上は、例えば、クライアントデバイスに接続されている異なるネットワークリソースを介する、クライアントデバイスに関する位置情報への副次的アクセス（secondary  access）を有してもよい。
【００９５】
ステップ９０４は、利用可能な位置サービスから、クライアントデバイスの位置を判定するために使用する位置サービスを選択する。１以上の位置サービスが、位置サービスのプリファレンス及び／又はランクを指定している位置ポリシに基づいて選択され得る。例えば、最高ランクの位置サービス又は位置サービスのセットが選択され得る。
【００９６】
ステップ９０６は、選択された位置サービスに対して、クライアントデバイスの位置を要求する。例えば、位置は、クライアントデバイス自身（例えば、通信アプリケーションを介して）、緊急サービス等といった様々なエンティティにより要求され得る。
【００９７】
ステップ９０８は、選択された位置サービスから、クライアントデバイスの位置を受信する。例えば、位置は、地理的座標のセット、道路住所等として受信され得る。位置は、クライアントデバイス、緊急サービス等といった様々なエンティティにおいて受信され得る、且つ／又は、そのような様々なエンティティに転送され得る。
【００９８】
いくつかの例示的なプロシージャについて説明したが、次に、１以上の実施形態に従った例示的なシステム及びデバイスの説明について検討する。
【００９９】
例示的なシステム及びデバイス
図１０は、本明細書に記載の様々な技術を実装することができる１以上のコンピューティングシステム及び／又はコンピューティングデバイスを表す例示的なコンピューティングデバイス１００２を含む例示的なシステムを、概括的に１０００で示している。例えば、図１を参照して上述したクライアント端末１０４は、コンピューティングデバイス１００２として具現化することができる。例えば、コンピューティングデバイス１００２は、サービスプロバイダのサーバ、クライアントに関連付けられたデバイス（例えば、クライアントデバイス）、オンチップシステム、及び／又は任意の他の適切なコンピューティングデバイス若しくはコンピューティングシステムであり得る。
【０１００】
図示される例示的なコンピューティングデバイス１００２は、処理システム１００４、１以上のコンピュータ読み取り可能な媒体１００６、及び互いに通信可能に接続される１以上の入力／出力（Ｉ／Ｏ）インタフェース１００８を含む。図示されていないが、コンピューティングデバイス１００２は、様々なコンポーネントを互いに接続するシステムバス又は他のデータ・コマンド転送システムをさらに含み得る。システムバスは、メモリバス若しくはメモリコントローラ、周辺バス、ユニバーサルシリアルバス、及び／又は、様々なバスアーキテクチャのうちのいずれかを利用するプロセッサバス若しくはローカルバス等の様々なバス構造の任意の１つ又は組合せを含み得る。制御線及びデータ線等の多様な他の例も意図されている。
【０１０１】
処理システム１００４は、ハードウェアを用いて１以上の動作を実行する機能を表す。したがって、処理システム１００４は、プロセッサ、機能ブロック等として構成することができるハードウェア要素１０１０を含むものとして示されている。これは、特定用途向け集積回路、又は、１以上の半導体を用いて形成される他のロジックデバイスとしてのハードウェアによる実装物を含み得る。ハードウェア要素１０１０は、ハードウェア要素１０１０が形成される材料又はハードウェア要素１０１０において利用される処理機構により限定されるものではない。例えば、プロセッサは、１以上の半導体及び／又はトランジスタ（例えば、電子集積回路（ＩＣ））から構成され得る。そのようなコンテキストにおいて、プロセッサ実行可能な命令は、電子的に実行可能な命令であり得る。
【０１０２】
コンピュータ読み取り可能な媒体１００６は、メモリ／ストレージ１０１２を含むものとして示されている。メモリ／ストレージ１０１２は、１以上のコンピュータ読み取り可能な媒体に関連付けられたメモリ／ストレージ能力を表す。メモリ／ストレージ１０１２は、揮発性媒体（ランダムアクセスメモリ（ＲＡＭ）等）及び／又は不揮発性媒体（読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、光ディスク、磁気ディスク等）を含み得る。メモリ／ストレージ１０１２は、固定媒体（例えば、ＲＡＭ、ＲＯＭ、固定ハードドライブ等）に加えて、着脱可能な媒体（例えば、フラッシュメモリ、着脱可能なハードドライブ、光ディスク等）を含み得る。コンピュータ読み取り可能な媒体１００６は、以下でさらに説明するように、多様な他の態様で構成されてもよい。
【０１０３】
１以上の入力／出力インタフェース１００８は、ユーザが様々な入力デバイスを用いてコマンド及び情報をコンピューティングデバイス１００２に入力できるようにするとともに、様々な出力デバイスを用いて情報をユーザ及び／又は他のコンポーネント若しくはデバイスに提示できるようにする機能を表す。入力デバイスの例は、キーボード、カーソル制御デバイス（例えば、マウス）、マイクロフォン（例えば、音声認識及び／又は発話入力用）、スキャナ、タッチ機能（例えば、物理的タッチを検出するよう構成される静電容量式センサ又は他のセンサ）、（例えば、ジェスチャとしてのタッチを含まない動きを検出するために、赤外線周波数等の非可視波長又は可視波長を利用することができる）カメラ等を含む。出力デバイスの例は、ディスプレイデバイス（例えば、モニタやプロジェクタ）、スピーカ、プリンタ、ネットワークカード、触覚応答デバイス等を含む。したがって、コンピューティングデバイス１００２は、ユーザインタラクションをサポートするために、以下でさらに説明するように、多様な態様で構成することができる。
【０１０４】
様々な技術が、ソフトウェア、ハードウェア要素、又はプログラムモジュールの一般的コンテキストにおいて本明細書で説明され得る。一般に、そのようなモジュールは、特定のタスクを実行する又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、要素、コンポーネント、データ構造等を含む。本明細書で使用される「モジュール」、「機能」、及び「コンポーネント」という用語は、一般に、ソフトウェア、ファームウェア、ハードウェア、又はこれらの組合せを表す。本明細書で説明した技術の特徴は、プラットフォーム非依存であり、これは、そのような技術が、様々なプロセッサを有する様々な商用コンピューティングプラットフォーム上で実装され得ることを意味する。
【０１０５】
説明したモジュール及び技術の実装物は、何らかの形態のコンピュータ読み取り可能な媒体に記憶されてもよいし、何らかの形態のコンピュータ読み取り可能な媒体を介して伝送されてもよい。コンピュータ読み取り可能な媒体は、コンピューティングデバイス１００２がアクセスできる様々な媒体を含み得る。限定ではなく例として、コンピュータ読み取り可能な媒体は、「コンピュータ読み取り可能な記憶媒体」及び「コンピュータ読み取り可能な信号媒体」を含み得る。
【０１０６】
「コンピュータ読み取り可能な記憶媒体」とは、単なる信号伝送、搬送波、又は信号自体ではなく、情報の永続的記憶を可能にする媒体及び／又はデバイスを指し得る。したがって、コンピュータ読み取り可能な記憶媒体は、信号媒体を含まない。コンピュータ読み取り可能な記憶媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、ロジック要素／回路、又は他のデータといった情報を記憶するのに適した方法又は技術により実装された、揮発性及び不揮発性の着脱可能及び着脱不可能な媒体及び／又は記憶デバイス等のハードウェアを含む。コンピュータ読み取り可能な記憶媒体の例は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、若しくは他の光ストレージ、ハードディスク、磁気カセット、磁気テープ、磁気ディスクストレージ、若しくは他の磁気記憶デバイス、又は、所望の情報を記憶するのに適した、コンピュータがアクセスできる他の記憶デバイス、有体の媒体、若しくは製品を含み得るが、これらに限定されるものではない。
【０１０７】
「コンピュータ読み取り可能な信号媒体」とは、ネットワークを介して等、コンピューティングデバイス１００２のハードウェアに命令を伝送するよう構成された信号伝送媒体を指し得る。信号媒体は、一般に、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、又は他のデータを、搬送波、データ信号、又は他の伝送機構等の変調されたデータ信号内に具現化することができる。信号媒体はまた、任意の情報配信媒体を含む。「変調されたデータ信号」という用語は、信号内の情報を符号化するように設定又は変更された特性セットのうちの１以上の特性を有する信号を意味する。限定ではなく例として、通信媒体は、有線ネットワーク又は直接配線接続等の有線媒体と、音響、無線周波数（ＲＦ）、赤外線、及び他の無線媒体等の無線媒体と、を含む。
【０１０８】
前述したように、ハードウェア要素１０１０及びコンピュータ読み取り可能な媒体１００６は、本明細書で説明した技術の少なくとも一部の態様を実装するためにいくつかの実施形態において使用することができる、ハードウェア形態で実装された命令、モジュール、プログラマブルデバイスロジック、及び／又は固定デバイスロジックを表す。ハードウェア要素は、集積回路又はオンチップシステム、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、コンプレックスプログラマブルロジックデバイス（ＣＰＬＤ）、及び、シリコンによる他の実装物又は他のハードウェアデバイスのコンポーネントを含み得る。このコンテキストにおいて、ハードウェア要素は、そのハードウェア要素により具現化される命令、モジュール、及び／又はロジックにより定められるプログラムタスクを実行する処理デバイスに加えて、例えば前述したコンピュータ読み取り可能な記憶媒体等の、実行される命令を記憶するために利用されるハードウェアデバイスとして動作することができる。
【０１０９】
前述したものの組合せを使用して、本明細書で説明した様々な技術及びモジュールを実装することもできる。したがって、ソフトウェア、ハードウェア、又は、プログラムモジュール及び他のプログラムモジュールは、何らかの形態のコンピュータ読み取り可能な記憶媒体上に具現化される且つ／又は１以上のハードウェア要素１０１０により具現化される１以上の命令及び／又はロジックとして実装することができる。コンピューティングデバイス１００２は、ソフトウェアモジュール及び／又はハードウェアモジュールに対応する特定の命令及び／又は機能を実行するよう構成することができる。したがって、ソフトウェアとしてコンピューティングデバイス１００２により実行可能なモジュールの実装は、例えば、処理システムのハードウェア要素１０１０及び／又はコンピュータ読み取り可能な記憶媒体を使用することにより、ハードウェアにより少なくとも部分的に実現することができる。命令及び／又は機能は、本明細書で説明した技術、モジュール、及び例を実装する１以上の製品（例えば、１以上のコンピューティングデバイス１００２及び／又は処理システム１００４）により、実行可能／動作可能であり得る。
【０１１０】
図１０にさらに示されるように、例示的なシステム１０００は、パーソナルコンピュータ（ＰＣ）、テレビジョンデバイス、及び／又はモバイルデバイス上でアプリケーションを実行する際のシームレスなユーザエクスペリエンスのためのユビキタス環境を可能にする。サービス及びアプリケーションは、アプリケーションを利用している間、ビデオゲームをプレイしている間、ビデオを見ている間等に１つのデバイスから次のデバイスに移る際の共通のユーザエクスペリエンスのために、３つ全ての環境において実質的に同様に動作する。
【０１１１】
例示的なシステム１０００において、複数のデバイスが、中央コンピューティングデバイスを介して相互接続される。中央コンピューティングデバイスは、複数のデバイスに対してローカルにあってもよいし、複数のデバイスからリモートに位置してもよい。一実施形態において、中央コンピューティングデバイスは、ネットワーク、インターネット、又は他のデータ通信リンクを介して複数のデバイスに接続される１以上のサーバコンピュータのクラウドであり得る。
【０１１２】
一実施形態において、この相互接続アーキテクチャは、複数のデバイスのユーザに共通のシームレスなエクスペリエンスを提供するために、複数のデバイスにわたって機能を配信することを可能にする。複数のデバイスの各々は、異なる物理的要件及び能力を有し得、中央コンピューティングデバイスは、各デバイス向けに合わせられながらも全てのデバイスに共通であるエクスペリエンスを各デバイスに提供することを可能にするプラットフォームを使用する。一実施形態において、ターゲットデバイスのクラスが作成され、エクスペリエンスが、デバイスの一般クラス向けに合わせられる。デバイスのクラスは、デバイスの物理的特徴、使用のタイプ、又は他の共通特性により定められ得る。
【０１１３】
様々な実装において、コンピューティングデバイス１００２は、コンピュータ１０１４、モバイル１０１６、及びテレビジョン１０１８の使用のため等、多種多様な構成をとることができる。これらの構成の各々は、一般に異なる構成及び能力を有し得るデバイスを含み、したがって、コンピューティングデバイス１００２は、異なるデバイスクラスのうちの１以上に従って構成され得る。例えば、コンピューティングデバイス１００２は、パーソナルコンピュータ、デスクトップコンピュータ、マルチスクリーンコンピュータ、ラップトップコンピュータ、ネットブック等を含むデバイスのコンピュータ１０１４クラスとして実装され得る。
【０１１４】
コンピューティングデバイス１００２はまた、携帯電話機、ポータブル音楽プレーヤ、ポータブルゲームデバイス、タブレットコンピュータ、マルチスクリーンコンピュータ等といったモバイルデバイスを含むデバイスのモバイル１０１６クラスとして実装され得る。コンピューティングデバイス１００２はまた、一般により大型のスクリーンを有するデバイス又は臨時的な視聴環境において一般により大型のスクリーンに接続されるデバイスを含むデバイスのテレビジョン１０１８クラスとして実装され得る。そのようなデバイスは、テレビジョン、セットトップボックス、ゲームコンソール等を含む。
【０１１５】
本明細書で説明した技術は、コンピューティングデバイス１００２のこれら様々な構成によりサポートされ得るが、本明細書で説明した技術の特定の例に限定されるものではない。例えば、環境１００の様々なエンティティを参照して説明した機能は、以下で説明するように、プラットフォーム１０２２を経由して「クラウド」１０２０を介する等、分散システムの使用により全て又は一部が実装されてもよい。
【０１１６】
クラウド１０２０は、リソース１０２４のためのプラットフォーム１０２２を含む、且つ／又は、そのようなプラットフォーム１０２２を表す。プラットフォーム１０２２は、クラウド１０２０のハードウェアリソース（例えば、サーバ）及びソフトウェアリソースの基礎をなす機能を抽象化する。リソース１０２４は、コンピューティングデバイス１００２からリモートにあるサーバ上でコンピュータ処理が実行されている間に利用することができるアプリケーション及び／又はデータを含み得る。リソース１０２４はまた、インターネット、及び／又は、セルラネットワーク若しくはＷｉ−Ｆｉ（登録商標）ネットワーク等の加入者ネットワークを介して提供されるサービスを含み得る。
【０１１７】
プラットフォーム１０２２は、コンピューティングデバイス１００２を他のコンピューティングデバイスに接続するためのリソース及び機能を抽象化することができる。プラットフォーム１０２２はまた、リソースのスケーリングを抽象化して、プラットフォーム１０２２を介して実装されるリソース１０２４を求める受けた要求に対するスケールの対応するレベルを提供するよう機能することができる。したがって、相互接続されるデバイスの実施形態において、本明細書で説明した機能の実装物は、システム１０００にわたって分散させることができる。例えば、本明細書で説明した機能は、コンピューティングデバイス１００２上に一部が実装され得るとともに、クラウド１０２０の機能を抽象化するプラットフォーム１０２２を介して実装され得る。
【０１１８】
本明細書で説明した技術を実行するために実装することができる複数の方法について、本明細書で説明した。これらの方法の態様は、ハードウェア、ファームウェア、ソフトウェア、又はこれらの組合せにより実装することができる。これらの方法は、１以上のデバイスにより実行される動作を指定するステップのセットとして示されているが、それぞれのブロックによる動作を実行するために、示される順番に必ずしも限定されるわけではない。さらに、特定の方法に関して示される動作は、１以上の実装に従って、異なる方法の動作と組み合わされてもよいし且つ／又は置換されてもよい。これらの方法の態様は、環境１００を参照して上述した様々なエンティティの間のインタラクションを介して実施され得る。
【０１１９】
結び
デバイス位置を判定するための位置ソースのランク付けのための技術について説明した。構造的特徴及び／又は方法論的動作に特有の言葉で実施形態について説明したが、添付の特許請求の範囲において定められる実施形態は、説明した特定の特徴又は動作に必ずしも限定されないことを理解すべきである。そうではなく、特定の特徴及び動作は、特許請求される実施形態を実施する例示的な形態として開示されている。
【図１】
2016540958.tif 000003
【図２】
2016540958.tif 000004
【図３】
2016540958.tif 000005
【図４】
2016540958.tif 000006
【図５】
2016540958.tif 000007
【図６】
2016540958.tif 000008
【図７】
2016540958.tif 000009
【図８】
2016540958.tif 000010
【図９】
2016540958.tif 000011
【図１０】
2016540958.tif 000012
【国際調査報告】
2016540958.tif 000013