(57)【要約】  本技術の態様は、統合された位置特定およびクエリ処理技法(integrated location identification and query processing technique)(図1B)を用いる。クライアントデバイスにおいて、ネットワークスキャン情報(406)がクエリに添付されるか、またはその他の形でクエリと組み合わされ(408)、ウェブサーバまたは他のエンティティに、処理のために送られる(410)。クエリが開始されるとき、クライアントデバイスは、位置サービスがイネーブルになっているかどうかを判定する(402)。位置サービスがイネーブルになっていない場合、認可後すぐにそれらがイネーブルにされ、可視ネットワークスキャンデータが、クエリとともに送信するために迅速に取得される(404)。サーバは、位置特定サービスと検索サービスの両方を含んでよく、受信した情報をそれに応じてこれらの要素間で効率的に分割する(504)ことができ、そのことが、データ転送およびレーテンシを最小限に抑える(図1B)。クライアントデバイスの見地からは、ただ1つのクエリが送信される。解決された位置に基づく関連する結果が、クライアントデバイスによって迅速に受信される。このことが、システムレーテンシおよび電力消費を低減させ、また不必要なパケット送信をなくすことによって、ネットワークオーバヘッドを最小限に抑えもする。
2020511078.tif 000002
【特許請求の範囲】
【請求項１】
クライアントデバイスの1つまたは複数のプロセッサによって、前記クライアントデバイスに関する現在位置情報に対応するしきい値条件が満たされたかどうかを判定するステップと、
前記クライアントデバイスに関する前記現在位置情報に対応する前記しきい値条件が満たされたと判定すると、前記1つまたは複数のプロセッサによって、前記クライアントデバイスのワイヤレス通信モジュールから可視ネットワークデータを取得するステップと、
前記1つまたは複数のプロセッサによって、前記取得した可視ネットワークデータの少なくとも一部およびクライアントクエリを含む統合要求パケットを生成するステップと、
前記統合要求パケットをサーバに送信するステップと、
前記取得した可視ネットワークデータの前記少なくとも一部に関する位置の解決に従って、前記クライアントクエリに対する位置対応応答を受信するステップと、
前記クライアントデバイスのユーザに提示するために、前記受信した位置対応応答を含む結果を生成するステップと
を含む、方法。
【請求項２】
前記しきい値条件が、前記クライアントデバイスによって実行可能なアプリケーションの位置許可の変更である、請求項1に記載の方法。
【請求項３】
前記位置許可の前記変更が、WiFiネットワークおよびセルラーネットワークのうちの少なくとも一方に関連する情報を位置サービスに使用するための認可を含む、請求項2に記載の方法。
【請求項４】
前記しきい値条件が、ネットワーク接続性の変更があったという判定である、請求項1に記載の方法。
【請求項５】
前記クライアントデバイスに関する前記現在位置情報に対応する前記しきい値条件が満たされたと判定する前に、接続されたネットワークに関するWiFiアクセスポイント情報およびセルラー基地局情報のうちの少なくとも一方を事前計算するステップ
をさらに含む、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記可視ネットワークデータが、アクセスポイントID、基地局ID、および受信した信号強度情報のうちの少なくとも1つを含む、請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記クライアントデバイスの前記ワイヤレス通信モジュールから前記可視ネットワークデータを取得するステップが、
全ての可視ネットワーク要素の中から可視ネットワーク要素のサブセットを選択するステップと、
可視ネットワーク要素の前記サブセットについて、前記ワイヤレス通信モジュールから前記可視ネットワークデータを取得するステップと
を含む、請求項1から6のいずれか一項に記載の方法。
【請求項８】
前記クライアントデバイスに関する前記現在位置情報に対応する前記しきい値条件が満たされたかどうかを判定するステップが、前記クライアントデバイス上に格納されている位置情報が、所定の時間よりも古いものかどうかを判定するステップを含む、請求項1から7のいずれか一項に記載の方法。
【請求項９】
前記結果を生成するステップが、前記クライアントデバイスのディスプレイ上に提示するための電子マップを提供するステップを含む、請求項1から8のいずれか一項に記載の方法。
【請求項１０】
クライアントデバイスであって、
ユーザクエリを受信するように構成された1つまたは複数のユーザ入力デバイスを含む、ユーザインターフェースモジュールと、
1つまたは複数のプロセッサを含む、処理モジュールと、
データ、および前記処理モジュールによって実行するための命令を記憶するように構成された1つまたは複数のメモリを有する、メモリモジュールと、
1つまたは複数の遠隔デバイスと双方向通信するように構成されたワイヤレストランシーバを含む、通信モジュールと
を備え、
前記処理モジュールが、前記通信モジュールに動作可能に結合され、
前記クライアントデバイスに関する現在位置情報に対応するしきい値条件が満たされたかどうかを判定することと、
前記クライアントデバイスに関する前記現在位置情報に対応する前記しきい値条件が満たされたと判定すると、前記ワイヤレストランシーバから可視ネットワークデータを取得することと、
前記取得した可視ネットワークデータの少なくとも一部およびクライアントクエリを含む統合要求パケットを生成することと、
前記通信モジュールに、前記統合要求パケットを遠隔サーバに送信させることと、
前記取得した可視ネットワークデータの前記少なくとも一部に関する位置の解決に従って、前記クライアントクエリに対する位置対応応答を受信することと、
前記クライアントデバイスのユーザに提示するために、前記受信した位置対応応答を含む結果を生成することと
を行うように構成される、クライアントデバイス。
【請求項１１】
前記しきい値条件が、前記クライアントデバイスによって実行可能なアプリケーションの位置許可の変更である、請求項10に記載のクライアントデバイス。
【請求項１２】
前記位置許可の前記変更が、WiFiネットワークおよびセルラーネットワークのうちの少なくとも一方に関連する情報を位置サービスに使用するための認可を含む、請求項11に記載のクライアントデバイス。
【請求項１３】
前記処理モジュールが、前記クライアントデバイスに関する前記現在位置情報に対応する前記しきい値条件が満たされたと判定する前に、接続されたネットワークに関するWiFiアクセスポイント情報およびセルラー基地局情報のうちの少なくとも一方を事前計算することを行うようにさらに構成される、請求項10から12のいずれか一項に記載のクライアントデバイス。
【請求項１４】
前記処理モジュールが、前記クライアントデバイスに関する前記現在位置情報に対応する前記しきい値条件が満たされたかどうかを判定することを、前記クライアントデバイス上に格納されている位置情報が、所定の時間よりも古いものかどうかを判定することによって、行うように構成される、請求項10から13のいずれか一項に記載のクライアントデバイス。
【請求項１５】
1つまたは複数の処理デバイスによって、クライアントデバイスから統合要求を受信するステップであって、前記統合要求が位置スキャン情報およびクエリを含む、ステップと、
前記統合要求から、前記受信した位置スキャン情報を解析するステップと、
前記1つまたは複数の処理デバイスによって、前記クライアントデバイスの位置を、前記位置スキャン情報と、格納されているジオロケーションデータのセットとを比較することによって解決するステップと、
前記クエリに応答する位置関連検索結果のセットを取得するために、前記1つまたは複数の処理デバイスによって、前記解決された位置を前記クエリに適用するステップと、
前記クライアントデバイスのユーザに提示するために、前記位置関連検索結果を前記クライアントデバイスに送信するステップと
を含む、方法。
【請求項１６】
前記クライアントデバイスの前記位置を解決するために、前記解析した位置スキャン情報を位置サービスに提供するステップをさらに含む、請求項15に記載の方法。
【請求項１７】
前記クエリに応答する位置関連検索結果のセットを取得するために、前記位置サービスが、前記解決された位置をアプリケーションサービスに提供するステップをさらに含む、請求項16に記載の方法。
【請求項１８】
前記統合要求から、前記受信した位置スキャン情報を解析するステップが、前記位置スキャン情報を位置サービスに、また前記クエリをアプリケーションサービスに、同時に渡すステップを含む、請求項15から17のいずれか一項に記載の方法。
【請求項１９】
前記アプリケーションサービスが、前記クエリだけを使用した第1の検索段階を開始して、可能な検索結果のセットを特定するステップをさらに含む、請求項18に記載の方法。
【請求項２０】
前記解決された位置を前記クエリに適用するステップが、前記位置関連検索結果のセットを取得するために、前記解決された位置を第2の段階の絞込み検索において使用するステップを含む、請求項19に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、その開示全体が参照により本明細書に組み込まれている、2017年3月10日に出願した米国特許出願第15/455,529号の継続出願である。
【背景技術】
【０００２】
意味のある検索結果および他の情報を、モバイルワイヤレスデバイスのユーザに提供するために、そのデバイスの位置、または少なくとも概略位置を特定する必要がある。GPS座標を使用した位置推定値をベースラインにすることができるが、これは、十分な可視GPS衛星がない、またはデバイスが屋内にあるときには、問題となる場合がある。加えて、この手法では、GPSレシーバが衛星信号を入手する間に、大きなレーテンシが生じる場合があり、またこの手法は、バッテリ使用量が多いことによる電力消耗を被る場合もある。セルラーネットワークおよびワイヤレスアクセスポイントについての情報を用いて、位置推定値を取得してもよい。この場合、デバイスの位置を解決する(resolving)ことは、セルラータワー情報およびWiFiアクセスポイント情報を含むジオローカライズされたワイヤレスネットワーク情報を格納しているネットワーク側データベースにアクセスすること、を含んでよい。そのようなデータベースは、可視ネットワークのスキャン内容をジオコーディングするのに使用することができる。
【発明の概要】
【課題を解決するための手段】
【０００３】
本技術の態様には、モバイルデバイスとネットワークとの間の単一の統合要求および応答手法(integrated request and response approach)が関与する。これは特に、モバイルデバイスがオンにされた直後に要求が送られるとき、またはユーザが最初にデバイスに関する位置許可(location permission)を検索アプリケーションなどのアプリケーションに与えたときに、有益となり得る。例として、2つのユースシナリオが次のように挙げられる。一方は、デバイス内にキャッシュされている位置が、あまりにも古すぎて信頼できない(陳腐である)か、または利用可能ではないときである。他方は、ユーザが、クライアントデバイス上で、アプリケーションのために位置対応設定(location-enabled setting)をアクティブにするかまたはその他の形で認可したものの、クライアントデバイスには、そのアプリケーションによって検索または他のクエリが開始される前に、位置を入手する時間がないときである。
【０００４】
本技術の態様によれば、方法は、クライアントデバイスの1つまたは複数のプロセッサによって、クライアントデバイスに関する現在位置情報に対応するしきい値条件が満たされたかどうかを判定することと、クライアントデバイスに関する現在位置情報に対応するしきい値条件が満たされたと判定すると、プロセッサによって、クライアントデバイスのワイヤレス通信モジュールから可視ネットワークデータを取得することとを含む。方法は、取得した可視ネットワークデータの少なくとも一部およびクライアントクエリを含む統合要求パケットを生成することと、統合要求パケットをサーバに送信することと、取得した可視ネットワークデータの少なくとも一部に関する位置の解決に基づく、クライアントクエリに対する位置対応応答を受信することと、クライアントデバイスのユーザに提示するために、受信した位置対応応答を含む結果を生成することとも含む。
【０００５】
さまざまな実装形態による統合要求および応答手法は、既存のシステムに比べて、遅延を低減させ、ネットワーク(およびクライアントデバイス)リソースの使用を低減させる。
【０００６】
1つのシナリオでは、しきい値条件は、クライアントデバイスによって実行可能なアプリケーションの位置許可の変更である。この場合、位置許可の変更は、WiFiネットワークおよびセルラーネットワークのうちの少なくとも一方に関連する情報を位置サービス(location service)に使用するための認可を含んでよい。
【０００７】
一例によれば、しきい値条件は、ネットワーク接続性の変更があったという判定である。別の例では、方法は、クライアントデバイスに関する現在位置情報に対応するしきい値条件が満たされたと判定する前に、接続されたネットワークに関するWiFiアクセスポイント情報およびセルラー基地局情報のうちの少なくとも一方を事前計算することをさらに含む。さらなる例では、可視ネットワークデータは、アクセスポイントID、基地局ID、および受信した信号強度情報のうちの少なくとも1つを含む。
【０００８】
別の代替実施形態では、クライアントデバイスのワイヤレス通信モジュールから可視ネットワークデータを取得することが、全ての可視ネットワーク要素の中から可視ネットワーク要素のサブセットを選択することと、可視ネットワーク要素のそのサブセットについて、ワイヤレス通信モジュールから可視ネットワークデータを取得することとを含む。別の例によれば、クライアントデバイスに関する現在位置情報に対応するしきい値条件が満たされたかどうかを判定することが、クライアントデバイス上に格納されている位置が、所定の時間よりも古いものかどうかを判定することを含む。また、さらに別の例では、結果を生成することが、クライアントデバイスのディスプレイ上に提示するための電子マップを提供することを含む。
【０００９】
本技術の他の態様によれば、ユーザクエリを受信するように構成された1つまたは複数のユーザ入力デバイスを含む、ユーザインターフェースモジュールと、1つまたは複数のプロセッサを含む、処理モジュールと、データ、および処理モジュールによって実行するための命令を記憶するように構成された1つまたは複数のメモリを有する、メモリモジュールと、1つまたは複数の遠隔デバイスと双方向通信するように構成されたワイヤレストランシーバを含む、通信モジュールとを含む、クライアントデバイスが提供される。処理モジュールは、通信モジュールに動作可能に結合され、クライアントデバイスに関する現在位置情報に対応するしきい値条件が満たされたかどうかを判定することを行うように構成される。クライアントデバイスに関する現在位置情報に対応するしきい値条件が満たされたと判定すると、処理モジュールは、ワイヤレストランシーバから可視ネットワークデータを取得することと、取得した可視ネットワークデータの少なくとも一部およびクライアントクエリを含む統合要求パケットを生成することと、通信モジュールに、統合要求パケットを遠隔サーバに送信させることとを行うように構成される。デバイスはまた、取得した可視ネットワークデータの少なくとも一部に関する位置の解決に基づく、クライアントクエリに対する位置対応応答を受信することと、クライアントデバイスのユーザに提示するために、受信した位置対応応答を含む結果を生成することとを行うように構成される。
【００１０】
一例では、しきい値条件は、クライアントデバイスによって実行可能なアプリケーションの位置許可の変更である。別の例では、位置許可の変更は、WiFiネットワークおよびセルラーネットワークのうちの少なくとも一方に関連する情報を位置サービスに使用するための認可を含む。さらに別の例によれば、処理モジュールは、クライアントデバイスに関する現在位置情報に対応するしきい値条件が満たされたと判定する前に、接続されたネットワークに関するWiFiアクセスポイント情報およびセルラー基地局情報のうちの少なくとも一方を事前計算することを行うようにさらに構成される。また、さらなる例では、処理モジュールは、クライアントデバイスに関する現在位置情報に対応するしきい値条件が満たされたかどうかを判定することを、クライアントデバイス上に格納されている位置が、所定の時間よりも古いものかどうかを判定することによって、行うように構成される。
【００１１】
本技術の他の態様によれば、1つまたは複数の処理デバイスによって、クライアントデバイスから統合要求を受信することであって、統合要求が位置スキャン情報およびクエリを含む、受信することと、統合要求から、受信した位置スキャン情報を解析することと、クライアントデバイスの位置を、位置スキャン情報を格納されているジオロケーションデータのセットと比較することによって解決することとを含む方法が提供される。方法はまた、クエリに応答する位置関連検索結果のセットを取得するために、解決された位置をクエリに適用することと、クライアントデバイスのユーザに提示するために、位置関連検索結果をクライアントデバイスに送信することとを含む。
【００１２】
1つのシナリオでは、方法は、クライアントデバイスの位置を解決するために、解析した位置スキャン情報を位置サービスに提供することをさらに含む。この場合、方法は、クエリに応答する位置関連検索結果のセットを取得するために、位置サービスが、解決された位置をアプリケーションサービスに提供することを含んでもよい。
【００１３】
別の例では、統合要求から、受信した位置スキャン情報を解析することが、位置スキャン情報を位置サービスに、またクエリをアプリケーションサービスに、同時に渡すことを含む。これは、アプリケーションサービスが、クエリだけを使用した第1の検索段階を開始して、可能な検索結果のセットを特定することも含んでよい。また、別法として、解決された位置をクエリに適用することは、位置関連検索結果のセットを取得するために、解決された位置を第2の段階の絞込み検索において使用することを含んでもよい。
【００１４】
本明細書に添付されているのは、本技術のさまざまな特徴および態様を示す図面のセットである。図面中、同様の参照番号は同様の要素を指す。下で各図面について簡単に論じる。
【図面の簡単な説明】
【００１５】
【図１Ａ】位置要求およびクエリプロセスを示す図である。
【図１Ｂ】本開示の態様による、例示的な統合要求および応答プロセス(integrated request and response process)を示す図である。
【図２】本開示の態様による、統合要求および応答プロセスを実施するように構成された例示的なクライアント通信デバイスを示す図である。
【図３】本開示の態様による、例示的なネットワークを示す図である。
【図４】本開示の態様による、可視ネットワーク情報をクエリと組み合わせるプロセスを示す図である。
【図５】本開示の態様による、位置を解決し、クエリに応答するためのプロセスを示す図である。
【発明を実施するための形態】
【００１６】
以下の説明は、特許請求の範囲に記載の実施形態に基づくものであり、本明細書において明示的に説明していない代替実施形態に関して、特許請求の範囲を限定するものと解釈すべきではない。
【００１７】
概要
本明細書において論じる統合手法は、ウェブサーバまたは他のエンティティに送られるクエリにネットワークスキャン情報を添付することを含む。一例として、サーバは、位置特定サービスと検索サービスの両方を提供し、受信した情報をそれに応じてサーバのこれらの要素間で効率的に分割することができ、そのことが、データ転送およびレーテンシを最小限に抑える。ただし、クライアントデバイスの見地からは、ただ1つのクエリが送信される。位置に基づく関連する結果が、クライアントデバイスによって迅速に受信される。このことが、システムレーテンシおよび電力消費を低減させるのみならず、不必要なパケット送信をなくすことによって、ネットワークオーバヘッドを最小限に抑えもする。
【００１８】
本手法は、図1Aに示す従来のクエリプロセスとは対照的である。この場合、位置情報がクライアントデバイスからネットワークに送られ、その際、位置情報は、インターフェースするウェブサーバから位置サービスに送られる。位置サービスは位置を計算し、結果を、インターフェースするウェブサーバを介してクライアントデバイスに戻す。この情報に基づいて、クライアントデバイスは、解決された位置をネットワークアプリケーションサービスに、クエリとともに送ることが可能である。この情報は、アプリケーションサービスにおいて受信される前に、再度インターフェースするウェブサーバを通過し、アプリケーションサービスは、解決された位置に基づいて検索結果を生成する。この結果が次いで、ウェブサーバを介して元のクライアントデバイスに提供される。
【００１９】
この手法では、さまざまな理由で、レーテンシが問題となる場合がある。上記したように、オンボードのGPSレシーバが衛星信号を入手する間に、クライアント側でレーテンシが生じる場合がある。また、クライアントデバイスとネットワークとの間の送信に伴うレーテンシ、ならびにネットワークのさまざまな要素間の起こり得るバックエンド遅延に伴うレーテンシが、生じる場合もある。
【００２０】
統合手法の一例が、図1Bに示されている。この場合、下でより詳細に論じるように、取得した可視ネットワークデータがクエリに添付され、それが次いで、ネットワークに送信される。インターフェースするウェブサーバが、可視ネットワークデータをネットワークの位置サービスに提供すると、位置が解決される。その情報が、関連するアプリケーションサービスに渡され、アプリケーションサービスが、位置関連検索結果を生成する。情報は、インターフェースするウェブサーバを介してクライアントデバイスに戻される。情報を前もって1つにまとめておくことで、前述の遅延が低減され、確実にクエリに対する応答が正確な位置に基づくものになるようにすることが促進される。
【００２１】
例示的な構成
図2は、本明細書に開示する技法とともに用いられてよい、例示的なクライアントデバイス200を示す。図示のように、デバイス200は、中央処理装置204および/またはグラフィックプロセッサ206など、1つまたは複数のコンピュータプロセッサを有する処理モジュール202、ならびに命令210およびデータ212を記憶するように構成された、メモリモジュール208を含む。プロセッサは、並列に動作してもよく、しなくてもよく、プロセッサとしては、ASIC、コントローラ、および他のタイプのハードウェア回路があり得る。プロセッサは、ユーザからユーザインターフェースモジュール214を通じて情報を受信するように、またディスプレイインターフェースを有するディスプレイモジュール216のディスプレイデバイス上で情報をユーザに提示するように、構成される。
【００２２】
ユーザインターフェースモジュール214は、ユーザからユーザ入力を介してコマンドを受信し、それらを所与のプロセッサにサブミットできるように変換してよい。ユーザ入力としては、タッチスクリーン、キーパッド、マウス、スタイラスペン、マイクロホン、または他のタイプの入力デバイスのうちの1つまたは複数があり得る。ディスプレイモジュール216は、ディスプレイデバイスにグラフィック情報および他の情報をユーザに提示させるのに適した回路を備えていてよい。例として、グラフィック情報は、グラフィックプロセッサ206によって生成されてよく、一方CPU204は、クライアントデバイス200の動作全体を管理する。
【００２３】
メモリモジュール208は、1つもしくは複数のコンピュータ可読媒体、1つもしくは複数の揮発性メモリユニット、または1つもしくは複数の不揮発性メモリユニットのうちの1つまたは複数として実装することができる。メモリモジュール208としては、例えばフラッシュメモリおよび/またはNVRAMがあり得、メモリモジュール208は、ハードドライブまたはメモリカードとして具現化されてよい。あるいは、メモリモジュール208としては、DVD、CD-ROM、書込み可能メモリ、および読出し専用メモリもあり得る。一実装形態では、コンピュータプログラム製品が、情報キャリア内に有形に具現化される。コンピュータプログラム製品は、1つまたは複数のプロセッサによって実行されると、本明細書において説明するような1つまたは複数の方法を実施する、命令210などの命令を収容する。情報キャリアは、メモリモジュール208などのコンピュータ可読媒体または機械可読媒体である。図2は、プロセッサ、メモリモジュール、およびデバイス200の他の要素を、同一の全体ブロック内にあるものとして機能的に示しているが、そのような構成要素は、同一の物理的ハウジング内に格納されてもよく、されなくてもよい。例えば、命令およびデータの一部または全てが、リムーバブル記憶媒体(例えば光学ドライブまたはUSBドライブ)である情報キャリア上に格納されてよく、他が、読出し専用コンピュータチップ内に格納されてよい。
【００２４】
データ212は、プロセッサによって、命令210に従って取り出され、格納され、または修正されてよい。例として、特許請求される主題は、どんな特定のデータ構造によっても限定されないが、データは、コンピューティングデバイスレジスタ内、複数の異なるフィールドおよびレコードを有するテーブルとしてのリレーショナルデータベース、XMLドキュメント、またはフラットファイル内に格納されてよい。データは、任意のコンピューティングデバイス可読フォーマットにフォーマットされてもよい。
【００２５】
命令210は、プロセッサによって(機械コードのような)直接的に実行されるかまたは(スクリプトのような)間接的に実行される、命令の任意のセットであってよい。例えば、命令は、コンピューティングデバイスコードとして、コンピューティングデバイス可読媒体上に格納されてよい。その点に関して、「命令」および「プログラム」という用語は、本明細書においては交換可能に使用される場合がある。命令は、プロセッサによって直接的に処理できるようにオブジェクトコードフォーマットで格納されてもよく、スクリプト、または要求時に解釈されるかもしくは予めコンパイルされる独立したソースコードモジュールの集合を含む、他の任意のコンピューティングデバイス言語で格納されてもよい。命令の関数、メソッド、およびルーチンについては下で、より詳細に説明する。
【００２６】
やはり図2に示されるように、クライアントデバイス200は、他のデバイスおよびシステムとの通信のための通信モジュール218を含む。通信モジュール218はワイヤレストランシーバを含み、あるいは、このモジュールは有線トランシーバを含んでもよい。クライアントデバイス200は通信モジュール218を介して他の遠隔デバイスと、近距離無線通信、ブルートゥース(登録商標)、ブルートゥース(登録商標)ローエナジー(LE)、もしくは他のアドホックネットワークなどの単距離通信プロトコル、インターネット、イントラネット、仮想プライベートネットワーク、広域ネットワーク、ローカルネットワーク、1つもしくは複数の企業に独自の通信プロトコルを使用したプライベートネットワーク、イーサネット(登録商標)、WiFiおよびHTTP、ならびに前述のものの組合せを含むさまざまなコンフィギュレーションおよびプロトコルを使用して通信してよい。
【００２７】
加えて、図示のクライアントデバイス200は、1つまたは複数のポジションおよび配向センサ220を含む。ポジションおよび配向センサ220は、クライアントコンピューティングデバイス100のポジションおよび配向を決定するように構成される。例えば、これらの構成要素は、デバイスの緯度、経度、および/または高度を決定するためのGPSレシーバ、ならびに加速度計、ジャイロスコープ、または別の方向/速度検出デバイスを含んでよい。クライアントデバイス200は、静止画像を捕捉し、ビデオストリームを記録するための1つまたは複数のカメラ222、スピーカ224、および電力モジュール226、ならびに触覚フィードバックまたは他の情報をユーザに提供するためのアクチュエータ(図示せず)も含んでよい。
【００２８】
図3は、異なるクライアントデバイス300、例えば3001、3002、3003、および3004が、通信システム310を介してサーバ320にコンテンツまたは他の情報を要求することのできる、例示的な構成を示す。クライアントデバイス300は、上でクライアントデバイス200に関して論じた構成要素の一部または全てを含んでよい。クライアントデバイスとしては、ラップトップ(3001)、タブレット(3002)、セルラー電話もしくはPDA(3003)、またはデスクトップPC(3004)があり得る。しかし、スマートウォッチなどのウェアラブル電子機器を含む他のクライアントデバイスが用いられてもよい。そのようなどんなクライアントデバイスも、図1Bに示すように要求を送り、ネットワークから、クライアントデバイスの解決された位置に基づく、ターゲットとする結果を受信することができる。
【００２９】
単に例として、要求は、解析され、ネットワーク上の1つまたは複数のサービスに送られてよい。これには、サーバ3201に関連する位置サービス、およびサーバ3202に関連するアプリケーションサービスが含まれてよい。複数の別々のサーバ320が示されているが、位置サービスおよびアプリケーションサービスの機能は、1つまたは複数のサーバによって実施されてもよく、クラウドコンピューティングネットワークなどの1つまたは複数の他のコンピュータシステムによって実施されてもよい。要求、データ、および対応する応答は、バス330を介して渡されてよい。1つまたは複数のデータベース340が、これらのサービスによって、クライアントデバイス位置を解決するために、かつ/または解決された位置情報に従って関連する結果を提供するために、使用されてよい。
【００３０】
例示的な方法およびユースケース
上記したように、本技術の特徴は、さまざまなユースケースにおいて実施することができる。いくつかのユースケースの例について、下で論じる。
【００３１】
1つのユースケースでは、ユーザは、クライアントデバイス上のアプリケーションを介して情報を要求することができる。例として、この情報は、レストラン、コーヒーショップ、自動車ディーラー、ミュージアムなどのような関心地点についてであり得る。他のユースケースには、オンラインショッピング、または他の発注が関与し得る。とはいえ、本技術はクエリに依存しない。例えば、ユーザは、バス時刻表、住宅の賃貸物件、旅行者の関心地点、メニューなどについての情報を要求することができる。
【００３２】
1つの例示的なシナリオが、図4の流れ図400に関して示されている。この場合、ブロック402において、プロセスがネットワーク情報を事前計算する。例として、通信モジュール218(図2)が、ワイヤレスネットワークを継続的または断続的にスキャンすることができる。WiFiアクセスポイント情報および/またはセルラー基地局情報は、クライアントデバイスが通信リンクを介して接続される遠隔デバイスについて、または利用可能な周波数および通信帯域をクライアントデバイスがスキャンするときにクライアントデバイスにとって「可視」である他のデバイスについて、収集することができる。そのような動作は、ユーザインタラクションなしで、クライアントデバイスにおいて自動的に行われる。しかし、バッテリ寿命を節約するには、スキャンは、断続的であってよく、限定数の遠隔デバイスに関してであってよく、かつ/または取得されるネットワーク情報の使用可能性を制限する他の制約を含んでよい。
【００３３】
ユーザが、例として図2のユーザインターフェースモジュール214を介して要求をタイプ、タップ、または発話することによって、クエリを開始した後、システムは、任意の位置がそのクライアントデバイスにとって利用可能であるかどうかを判定することができる。例として、ブロック404において、システムは、位置設定変更(location settings change)が要求されたかどうか、または他の何らかのしきい条件が満たされたかどうかを判定する。この場合、位置設定変更は、アプリケーションが位置サービスのイネーブル化(enablement)を要求することによって行われ得る。またはシステムは、取得したネットワーク情報が陳腐であるため、例えば、あまりにも古すぎて、ある一定精度内の有用な位置を提供することができないため、それが使用可能ではないと判定することができる。例えば、事前計算されたネットワーク情報が1分より古いものである場合、それは、陳腐であると見なすことができる。この時間は、あるいは、30秒であってもよく、10分であってもよく、より長いかまたはより短くてもよい。
【００３４】
一部のシナリオでは、デフォルトは、クライアントデバイスに対する位置サービスが、ユーザによる明示的な認可なしではイネーブルにされないというものである。この場合、アプリケーションはユーザに、アプリケーションに対する位置許可を与えるように促すことができる。これには、セルラーネットワークおよびWiFiネットワークを含む、1つまたは複数の特定の位置サービスをオンにすることが関与し得る。一部の状況では、ユーザは、どの特定の位置サービスをアクティブにすべきかを示すように求められる場合がある。他の状況では、ユーザは、位置関連クエリ結果を取得するために全ての該当する位置サービスがアクティブにされることを認可する場合がある。
【００３５】
位置許可が与えられ、かつ位置サービスが開始された時点で、クライアントデバイスは、高度に正確な位置信号をまだ入手していない場合がある。例えば、デバイス位置がない、またはIPジオロケーション信号もしくは履歴位置信号の不正確なセットがある、という場合がある。この状況では、ユーザが位置許可を与えた後、システムは即座に位置の(再)ロードをトリガすることができる。これはブロック406において行われ、その際システムは、例として通信モジュール218を使用して、可視ネットワークデータを取得する。
【００３６】
このデータの一部は、設定変更前であっても利用可能である場合があり、その場合はそれが事前計算されることになる。しかし、残念なことには、許可が与えられた後の有用な位置の入手には、時間がかかることがある。例として、セルラーネットワークデータおよび/またはWiFiネットワークデータを現在の情報で更新するには、5〜500msあたり、またはそれよりも長くかかる場合がある。
【００３７】
可視ネットワークデータは、次に挙げるものの一部または全てを含んでよい。WiFiネットワークでは、BSSID、SSID、およびアクセスポイントの信号強度を収集することができる。またセルネットワーク(例えばCDMA、GSM(登録商標)、LTE、WCDMA(登録商標))では、情報は、セルID、ロケーションエリアコード、モバイル国コード、モバイルネットワークコード、およびプライマリスクランブリングコードを備えてよい。アドホック接続または近距離接続についての情報などの他のタイプのデータ、ならびに他のタイプのワイヤレススキャン情報が、収集されてもよい。
【００３８】
クライアントデバイスにおいては、可視ネットワークを、バッテリ消耗に与える影響を最小限に抑えるべく受動的に追跡することが有益である。対応のとれたデバイス位置がなくても、システムは、アクティブに接続されたネットワークに関するいくらかの情報を有している。そのような接続されたネットワークに関する情報を更新するほうが、可視の全てのアクセスポイントおよびセル基地局に関する情報を取得するよりもずっと迅速となり得る。一例では、可視ネットワークを計算することが、WiFiスキャンをトリガせず、その代わりに、システムは、デバイスから入手可能な最新のWiFiスキャン情報を読み取ることができる。
【００３９】
また、クライアントデバイスにおいて位置を解決することは可能ではあるが、これは計算が多く、時間がかかる場合がある。それはバッテリ消耗を増大させるおそれもある。したがって、本明細書において論じる本手法は、クライアントデバイスの負担を取り除き、ネットワークが位置を効率的に解決することを可能にするものである。
【００４０】
クライアントデバイス側のレーテンシおよび/または電力の制約のため、WiFiデータおよびセルデータの完全なスキャン内容を添付することは、可能ではない場合がある。一例では、アクティブに接続されたWiFiアクセスポイントおよび/またはセル基地局に関するデータのみを提供することができる。別の例では、可視ではあるが接続されていないWiFiアクセスポイントおよび/またはセル基地局のサブセットに関するデータを、単独で、またはアクティブに接続されたデバイスに関するデータとともに、提供することができる。可視デバイスのサブセットは、2〜5デバイス程度とすることができる。あるいは、システムは、通信範囲内の任意のデバイスに関するスキャンデータを収集しようと試みることもできる。
【００４１】
陳腐な位置またはその他の形で期限切れの位置に基づく結果を戻さないようにするために、位置許可が与えられると、システムは、ネットワークに送られる統合された位置スキャンおよび要求(クエリ)を生成するように構成される。位置スキャンは、望ましくは、WiFiスキャン情報とセルスキャン情報の両方を含むが、上で示したように、さまざまなタイプのネットワーク情報が含まれてよい。ブロック408において、統合された位置スキャンおよび要求データパケットが生成される。単に例として、CPU204などのプロセッサが、ネットワーク位置スキャン情報を、ユーザインターフェースモジュール214を介して受信した検索クエリまたは他のクエリと組み合わせて、統合要求を作成することができる。ブロック410において、この統合要求がネットワークに送信される。次いでそれに応じて、ブロック412において、ネットワークから、クエリに応答する1つまたは複数の位置関連結果が受信される。
【００４２】
図5は、ネットワークが統合要求を受信し処理する、例示的なプロセス500を示す。ブロック502に示すように、クライアントデバイスから、統合された位置スキャンおよび要求パケットが受信される。本開示の態様によれば、ネットワークによって受信されたスキャンデータはログ記録されない。ネットワーク側では、インターフェースするウェブサーバや同等物などのサーバが、統合情報を受信する。サーバは、受信したパケットがクエリとスキャンデータの両方を含むことを特定し、ブロック504においてスキャンデータを解析して取り出し、位置を解決するために、それを位置サービスに送る。例として、スキャンデータは、図3のサーバ3201の位置サービスに提供することができる。位置サービスは、ブロック506において、データベース340などのジオロケーションデータベースにアクセスすることによって、クライアントデバイス位置を解決することができる。これには、WiFi信号情報および/またはセルラー信号情報を、ジオロケーションデータベース内の対応する情報に突き合わせることが関与し得る。一実装形態では、解決された位置が、サーバにおいて要求の位置コンテキストに追加され、正規のデバイス位置としてログ記録される。
【００４３】
解決後、ネットワークは、要求に答える際に、解決された位置を用いる。この場合、ブロック508において、検索結果を取得するために、解決された位置が、受信したクエリまたは他の要求に適用される。例として、図3のサーバ3202に関連するアプリケーションサービスは、解決された位置を使用して、可能な検索結果のサブセットを特定するか、またはその他の形で、それらの結果を位置との関連でランク付けすることができる。位置関連結果が取得された後、それらはブロック510においてクライアントデバイスに戻される。
【００４４】
ステップ504に戻ると、受信した要求が統合要求であるとシステムが判定した後、インターフェースするウェブサーバは、最初にスキャンデータを位置サービスに渡し、結果を待ち、次いでその情報をアプリケーションサービスに渡すことができる。あるいは、インターフェースするウェブサーバは、スキャンデータを位置サービスに、またクエリをアプリケーションサービスに、同時に渡すこともできる。これにより、ネットワーク内通信によるレーテンシがさらに最小限に抑えられる。この場合、アプリケーションサービスは、検索の第1の段階を始めて、結果の第1のセットを取得することができる。またアプリケーションサービスは、解決された位置を受信すると、その位置を使用して第2の段階の絞込み検索を行って、最終結果を生成することができる。これらの結果が次いで、クライアントデバイスに戻される。
【００４５】
図中に描かれ本明細書において説明された論理フローおよびプロセスフローは、明示的な定めのない限り、特定の順序または順番に限定されない。加えて、他のステップが設けられてもよく、説明したフローからステップがなくされてもよく、他の構成要素が、説明したシステムに追加されてもよく、そこから除去されてもよい。
【００４６】
本技術については本明細書において、特定の実施形態に即して説明してきたが、これらの実施形態は、本技術の原理および適用例の例示にすぎないことを理解されたい。したがって、添付の特許請求の範囲によって定められる本技術の趣旨および範囲から逸脱することなく、例示的実施形態に多数の修正を加えることができること、および他の構成を考案できることを、理解されたい。
【産業上の利用可能性】
【００４７】
本技術は、位置サービス(location-based service)を提供するシステムを含んだパーソナルコンピューティングデバイスおよびシステムを含むがそれらに限定されない、幅広い産業上の利用可能性を有する。
【符号の説明】
【００４８】
100  クライアントコンピューティングデバイス
200  クライアントデバイス
202  処理モジュール
204  中央処理装置、CPU
206  グラフィックプロセッサ
208  メモリモジュール
210  命令
212  データ
214  ユーザインターフェースモジュール
216  ディスプレイモジュール
218  通信モジュール
220  ポジションおよび配向センサ
222  カメラ
224  スピーカ
226  電力モジュール
300  クライアントデバイス
3001  クライアントデバイス、ラップトップ
3002  クライアントデバイス、タブレット
3003  クライアントデバイス、セルラー電話もしくはPDA
3004  クライアントデバイス、デスクトップPC
310  通信システム
320  サーバ
3201  サーバ
3202  サーバ
330  バス
340  データベース
400  流れ図
500  例示的なプロセス
【図１Ａ】
2020511078.tif 000003
【図１Ｂ】
2020511078.tif 000004
【図２】
2020511078.tif 000005
【図３】
2020511078.tif 000006
【図４】
2020511078.tif 000007
【図５】
2020511078.tif 000008
【国際調査報告】
2020511078.tif 000009
2020511078.tif 000010
2020511078.tif 000011
2020511078.tif 000012
2020511078.tif 000013