(57)【要約】１つまたは複数のアプリケーションにモバイルデバイスのロケーション履歴に関連付けられた情報を提供するための方法およびシステムが開示される。モバイルデバイスは、モバイルデバイスの１つまたは複数のロケーションに基づいて１つまたは複数のロケーション履歴記録を生成し、各ロケーション履歴記録は、１つまたは複数の関心地点と１つまたは複数の関心地点における持続時間とを備え、少なくとも１つのアプリケーションから情報要求を受信し、情報要求からの基準を満たす１つまたは複数のロケーション履歴記録のサブセットを決定し、情報要求と１つまたは複数のロケーション履歴記録のサブセットとに基づいて、少なくとも１つのアプリケーションについてのパーミッションのレベルを決定し、パーミッションのレベルに基づいて、少なくとも１つのアプリケーションに１つまたは複数のロケーション履歴記録のサブセットに関連付けられた情報を提供する。【選択図】図３
2018528505.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数のアプリケーションにモバイルデバイスのロケーション履歴に関連付けられた情報を提供する方法であって、
前記モバイルデバイスのプロセッサが、前記モバイルデバイスの１つまたは複数のロケーションに基づいて１つまたは複数のロケーション履歴記録を生成することと、ここにおいて、各ロケーション履歴記録は、１つまたは複数の関心地点と前記１つまたは複数の関心地点における前記モバイルデバイスの持続時間とを備える、
前記モバイルデバイスの前記プロセッサにおいて、前記１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションから情報要求を受信することと、
前記モバイルデバイスの前記プロセッサが、前記情報要求からの基準を満たす前記１つまたは複数のロケーション履歴記録のサブセットを決定することと、
前記モバイルデバイスの前記プロセッサが、前記情報要求と前記１つまたは複数のロケーション履歴記録の前記サブセットとに基づいて、前記少なくとも１つのアプリケーションについてのパーミッションのレベルを決定することと、
前記モバイルデバイスの前記プロセッサが、前記少なくとも１つのアプリケーションの前記パーミッションのレベルに基づいて、前記少なくとも１つのアプリケーションに前記１つまたは複数のロケーション履歴記録の前記サブセットに関連付けられた情報を提供することと
を備える、方法。
【請求項２】
前記１つまたは複数の関心地点に関連付けられたロケーションにおけるユーザのアクティビティを用いて、前記１つまたは複数のロケーション履歴記録の前記サブセットに関連付けられた前記情報を増強すること
をさらに備える、請求項１に記載の方法。
【請求項３】
前記１つまたは複数のアプリケーションから、前記モバイルデバイスのロケーションを決定するための１つまたは複数の要求された周期的レートを受信することと、
前記１つまたは複数の要求された周期的レートに基づいて第１の周期的レートを決定することと、ここにおいて、前記モバイルデバイスの前記１つまたは複数のロケーションは、前記第１の周期的レートで決定される、
をさらに備える、請求項１に記載の方法。
【請求項４】
前記１つまたは複数のアプリケーションから、前記モバイルデバイスのロケーションを決定するための１つまたは複数の要求された周期的レートを受信することと、
前記１つまたは複数の要求された周期的レートに基づいて第１の周期的レートを決定することと、ここにおいて、前記第１の周期的レートは、前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションからの前記情報要求とは独立して、前記モバイルデバイスの前記プロセッサによって設定される、
をさらに備える、請求項１に記載の方法。
【請求項５】
前記情報要求からの前記基準は、前記１つまたは複数のロケーション履歴記録の前記サブセット中のロケーションに関連付けられたアクティビティ、前記アクティビティのカテゴリ、前記少なくとも１つのアプリケーションのカテゴリ、関心地点のカテゴリ、前記少なくとも１つのアプリケーションが認可を有するアクセスのレベル、前記１つまたは複数のロケーション履歴記録の前記サブセットへのアクセスを提供するように構成されたセキュリティキー、前記ロケーションの決定に関連付けられた位置不確実性しきい値、前記ロケーションを決定するために使用される技術、前記１つまたは複数のロケーション履歴記録の前記サブセットの時間期間、前記１つまたは複数のロケーション履歴記録の前記サブセットの作成の時間、前記少なくとも１つのアプリケーションによる前記１つまたは複数のロケーション履歴記録の前記サブセットの使用、前記少なくとも１つのアプリケーションの名称、前記モバイルデバイスのセンサによって作成されるデータ、前記１つまたは複数のロケーション履歴記録の前記サブセットから導出されるデータ、またはそれらの任意の組み合わせのうちの少なくとも１つを備える、請求項１に記載の方法。
【請求項６】
前記１つまたは複数のロケーション履歴記録の各々は、前記モバイルデバイスが前記１つまたは複数の関心地点に存在することがドキュメントされた時間をさらに備える、請求項１に記載の方法。
【請求項７】
前記モバイルデバイスが前記１つまたは複数のロケーション履歴記録の前記サブセットのうちの前記少なくとも１つの前記１つまたは複数の関心地点に存在することがドキュメントされた前記時間がしきい値時間よりも早いことに基づいて、前記１つまたは複数のロケーション履歴記録の前記サブセットのうちの少なくとも１つを削除することと、
前記１つまたは複数のロケーション履歴記録の前記サブセットに関連付けられた前記情報を保持することと
をさらに備える、請求項６に記載の方法。
【請求項８】
前記１つまたは複数のロケーション履歴記録の前記サブセットに関連付けられた前記情報は、前記１つまたは複数のロケーションのうちのあるロケーションを決定するために使用される技術、前記１つまたは複数のロケーション履歴記録の前記サブセットに関連付けられた前記情報についての直近の要求の時間、前記１つまたは複数のロケーション履歴記録の前記サブセットに関連付けられた前記情報についての要求の頻度、前記ロケーションの識別情報、前記ロケーションに関連付けられたアクティビティ、前記モバイルデバイスのセンサによって作成されるデータ、前記センサによって作成される前記データの分析結果、前記モバイルデバイスが前記ロケーションに存在した回数、前記モバイルデバイスが前記アクティビティに関連付けられた回数、またはそれらの任意の組み合わせのうちの少なくとも１つを備える、請求項１に記載の方法。
【請求項９】
前記ロケーションの前記識別情報は、関心地点データベース中のロケーション、ジオフェンスによって定義されるロケーション、またはそれらの任意の組み合わせのうちの少なくとも１つに関連付けられる、請求項８に記載の方法。
【請求項１０】
前記モバイルデバイスの前記センサによって作成される前記データに基づいて前記ロケーションに関連付けられた前記アクティビティを更新すること
をさらに備える、請求項８に記載の方法。
【請求項１１】
前記１つまたは複数のロケーション履歴記録の前記サブセットに関連付けられた前記情報は、前記１つまたは複数のロケーション履歴記録の前記サブセットに関連付けられた全ての情報を備え、前記パーミッションのレベルを前記決定することは、前記少なくとも１つのアプリケーションが前記１つまたは複数のロケーション履歴記録の前記サブセットに関連付けられた全ての前記情報にアクセスするためのパーミッションを有すると決定することを備える、請求項１に記載の方法。
【請求項１２】
前記１つまたは複数のロケーション履歴記録の前記サブセットに関連付けられた前記情報は、前記１つまたは複数のロケーション履歴記録の前記サブセットに関連付けられた全てよりも少ない情報を備え、前記パーミッションのレベルを前記決定することは、前記少なくとも１つのアプリケーションが前記１つまたは複数のロケーション履歴記録の前記サブセットに関連付けられた全ての情報にアクセスするためのパーミッションを有さないと決定することを備える、請求項１に記載の方法。
【請求項１３】
前記パーミッションのレベルを前記決定することは、前記少なくとも１つのアプリケーションからの以前の情報要求、前記情報要求中に含まれる誘因の査定、前記情報要求の提示に応じた前記モバイルデバイスのユーザによる選択入力、またはそれらの任意の組み合わせのうちの少なくとも１つに基づく、請求項１に記載の方法。
【請求項１４】
前記誘因は、プロモーション的オファー、クーポン、支払い、またはそれらの任意の組み合わせのうちの少なくとも１つを備える、請求項１３に記載の方法。
【請求項１５】
前記査定は、前記モバイルデバイスの前記プロセッサ、前記モバイルデバイスの前記ユーザ、またはそれらの任意の組み合わせのうちの少なくとも１つによって遂行される、請求項１３に記載の方法。
【請求項１６】
前記パーミッションのレベルを前記決定することは、前記１つまたは複数のロケーション履歴記録の前記サブセット中の前記モバイルデバイスのロケーションの決定に関連付けられた位置不確実性しきい値、前記１つまたは複数のロケーション履歴記録の前記サブセット中のロケーションを決定するために使用される技術、前記１つまたは複数のロケーション履歴記録の前記サブセット中のロケーションに関連付けられたアクティビティ、またはそれらの任意の組み合わせに基づく、請求項１に記載の方法。
【請求項１７】
前記位置不確実性しきい値、前記１つまたは複数のロケーション履歴記録の前記サブセット中の前記ロケーションを決定するために使用される前記技術、前記１つまたは複数のロケーション履歴記録の前記サブセット中のロケーションに関連付けられた前記アクティビティ、またはそれらの任意の組み合わせは、前記情報要求中に含まれる、請求項１６に記載の方法。
【請求項１８】
前記パーミッションのレベルを前記決定することは、前記アクティビティのカテゴリに基づき、前記カテゴリは、前記情報要求中に含まれる、請求項１６に記載の方法。
【請求項１９】
前記１つまたは複数のロケーション履歴記録中のロケーションは、複数の関心地点に関連付けられ、前記パーミッションのレベルを前記決定することは、前記複数の関心地点のうちの少なくとも１つに基づき、前記複数の関心地点のうちの前記少なくとも１つは、前記情報要求中に含まれる、請求項１に記載の方法。
【請求項２０】
１つまたは複数のアプリケーションにモバイルデバイスのロケーション履歴に関連付けられた情報を提供するための装置であって、
前記モバイルデバイスの１つまたは複数のロケーションに基づいて１つまたは複数のロケーション履歴記録を生成することと、ここにおいて、各ロケーション履歴記録は、１つまたは複数の関心地点と前記１つまたは複数の関心地点における前記モバイルデバイスの持続時間とを備え、前記１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションから情報要求を受信することと、前記情報要求からの基準を満たす前記１つまたは複数のロケーション履歴記録のサブセットを決定することと、前記情報要求と前記１つまたは複数のロケーション履歴記録の前記サブセットとに基づいて、前記少なくとも１つのアプリケーションについてのパーミッションのレベルを決定することと、前記少なくとも１つのアプリケーションの前記パーミッションのレベルに基づいて、前記少なくとも１つのアプリケーションに前記１つまたは複数のロケーション履歴記録の前記サブセットに関連付けられた情報を提供することとを行うように構成された少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合され、前記１つまたは複数のロケーション履歴記録と前記１つまたは複数のロケーション履歴記録に関連付けられた前記情報とを記憶するように構成されたメモリと
を備える、装置。
【請求項２１】
前記少なくとも１つのプロセッサは、低電力プロセッサを備える、請求項２０に記載の装置。
【請求項２２】
前記少なくとも１つのプロセッサの低電力コアは、前記１つまたは複数のロケーション履歴記録を生成し、前記情報要求を受信し、前記１つまたは複数のロケーション履歴記録の前記サブセットを決定し、前記パーミッションのレベルを決定し、前記１つまたは複数のロケーション履歴記録の前記サブセットに関連付けられた前記情報を提供する、請求項２０に記載の装置。
【請求項２３】
前記少なくとも１つのプロセッサは、
前記１つまたは複数の関心地点に関連付けられたロケーションにおけるユーザのアクティビティを用いて、前記１つまたは複数のロケーション履歴記録の前記サブセットに関連付けられた前記情報を増強すること
を行うようにさらに構成される、請求項２０に記載の装置。
【請求項２４】
前記少なくとも１つのプロセッサは、
前記１つまたは複数のアプリケーションから、前記モバイルデバイスのロケーションを決定するための１つまたは複数の要求された周期的レートを受信することと、
前記１つまたは複数の要求された周期的レートに基づいて第１の周期的レートを決定することと、ここにおいて、前記モバイルデバイスの前記１つまたは複数のロケーションは、前記第１の周期的レートで決定される、
を行うようにさらに構成される、請求項２０に記載の装置。
【請求項２５】
前記少なくとも１つのプロセッサは、
前記１つまたは複数のアプリケーションから、前記モバイルデバイスのロケーションを決定するための１つまたは複数の要求された周期的レートを受信することと、
前記１つまたは複数の要求された周期的レートに基づいて第１の周期的レートを決定することと、ここにおいて、前記第１の周期的レートは、前記情報要求とは独立して、前記少なくとも１つのプロセッサによって設定される、
を行うようにさらに構成される、請求項２０に記載の装置。
【請求項２６】
前記１つまたは複数のロケーション履歴記録の前記サブセットに関連付けられた前記情報は、前記１つまたは複数のロケーションのうちのあるロケーションを決定するために使用される技術、前記１つまたは複数のロケーション履歴記録の前記サブセットに関連付けられた前記情報についての直近の要求の時間、前記１つまたは複数のロケーション履歴記録の前記サブセットに関連付けられた前記情報についての要求の頻度、前記ロケーションの識別情報、前記ロケーションに関連付けられたアクティビティ、前記モバイルデバイスのセンサによって作成されるデータ、前記センサによって作成される前記データの分析結果、前記モバイルデバイスが前記ロケーションに存在した回数、前記モバイルデバイスが前記アクティビティに関連付けられた回数、またはそれらの任意の組み合わせのうちの少なくとも１つを備える、請求項２０に記載の装置。
【請求項２７】
１つまたは複数のアプリケーションにモバイルデバイスのロケーション履歴に関連付けられた情報を提供するための装置であって、
前記モバイルデバイスの１つまたは複数のロケーションに基づいて１つまたは複数のロケーション履歴記録を生成するための手段と、ここにおいて、各ロケーション履歴記録は、１つまたは複数の関心地点と前記１つまたは複数の関心地点における前記モバイルデバイスの持続時間とを備える、
前記１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションから情報要求を受信するための手段と、
前記情報要求からの基準を満たす前記１つまたは複数のロケーション履歴記録のサブセットを決定するための手段と、
前記情報要求と前記１つまたは複数のロケーション履歴記録の前記サブセットとに基づいて、前記少なくとも１つのアプリケーションについてのパーミッションのレベルを決定するための手段と、
前記少なくとも１つのアプリケーションの前記パーミッションのレベルに基づいて、前記少なくとも１つのアプリケーションに前記１つまたは複数のロケーション履歴記録の前記サブセットに関連付けられた情報を提供するための手段と
を備える、装置。
【請求項２８】
前記１つまたは複数のアプリケーションから、前記モバイルデバイスのロケーションを決定するための１つまたは複数の要求された周期的レートを受信するための手段と、
前記１つまたは複数の要求された周期的レートに基づいて第１の周期的レートを決定するための手段と、ここにおいて、前記モバイルデバイスの前記１つまたは複数のロケーションは、前記第１の周期的レートで決定される、
をさらに備える、請求項２７に記載の装置。
【請求項２９】
１つまたは複数のアプリケーションにモバイルデバイスのロケーション履歴に関連付けられた情報を提供するための非一時的コンピュータ可読媒体であって、
前記モバイルデバイスのプロセッサが、前記モバイルデバイスの１つまたは複数のロケーションに基づいて１つまたは複数のロケーション履歴記録を生成するための少なくとも１つの命令と、ここにおいて、各ロケーション履歴記録は、１つまたは複数の関心地点と前記１つまたは複数の関心地点における前記モバイルデバイスの持続時間とを備える、
前記モバイルデバイスの前記プロセッサにおいて、前記１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションから情報要求を受信するための少なくとも１つの命令と、
前記モバイルデバイスの前記プロセッサが、前記情報要求からの基準を満たす前記１つまたは複数のロケーション履歴記録のサブセットを決定するための少なくとも１つの命令と、
前記モバイルデバイスの前記プロセッサが、前記情報要求と前記１つまたは複数のロケーション履歴記録の前記サブセットとに基づいて、前記少なくとも１つのアプリケーションについてのパーミッションのレベルを決定するための少なくとも１つの命令と、
前記モバイルデバイスの前記プロセッサが、前記少なくとも１つのアプリケーションの前記パーミッションのレベルに基づいて、前記少なくとも１つのアプリケーションに前記１つまたは複数のロケーション履歴記録の前記サブセットに関連付けられた情報を提供するための少なくとも１つの命令と
を備える、非一時的コンピュータ可読媒体。
【請求項３０】
前記１つまたは複数のアプリケーションから、前記モバイルデバイスのロケーションを決定するための１つまたは複数の要求された周期的レートを受信するための少なくとも１つの命令と、
前記１つまたは複数の要求された周期的レートに基づいて第１の周期的レートを決定するための少なくとも１つの命令と、ここにおいて、前記モバイルデバイスの前記１つまたは複数のロケーションは、前記第１の周期的レートで決定される、
をさらに備える、請求項２９に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[001]ここに開示される態様は概して、モバイルデバイスのロケーション履歴記録を提供、編成、および管理することに関する。
【背景技術】
【０００２】
[002]モバイルデバイスの中には（例えば、スマートフォン、タブレットコンピュータ、等）、オペレーティングシステムを含むものがある。オペレーティングシステムは、モバイルデバイス上にインストールされたアプリケーションソフトウェアを実行するように構成される。モバイルデバイスのオペレーティングシステムを使用して実行されるように特に設計されたアプリケーションソフトウェア製品（すなわち、アプリケーション）は、モバイル「アプリ」と呼ばれることができる。
【０００３】
[003]そのようなアプリケーションの開発は、モバイルデバイスの携帯性を活用するためにモバイルデバイスのユーザによって要求された機能に当初は焦点を当てていた。これらのアプリケーションは、電子メール（ｅメール）、カレンダー、個人的な連絡先情報、ニュース情報、証券市場情報、等をサポートするための機能をモバイルデバイスに提供することができる。継続する需要は、ゲーム、工場の自動化（例えば、既存のモバイルアプリへの更新）、バンキング、注文追跡、チケット購入、健康関連問題の管理、等のようなカテゴリにおけるモバイルデバイス用のアプリケーションの開発につながった。
【０００４】
[004]モバイルアプリの中には、モバイルデバイスのセンサと相互作用することができるものがある。例えば、無線周波数販売時点情報管理取引センサ（a radio frequency point of sale transaction sensor）は、店舗における取引を完了するためにモバイルアプリによって使用されることができる。例えば、心拍数センサは、モバイルデバイスのユーザの心拍数をモニタおよびレポートするためにモバイルアプリによって使用されることができる。
【０００５】
[005]高度の精度でモバイルデバイスのロケーションを決定するための能力は、ロケーションベースのサービス、つまり機能（features）を制御するためにロケーションデータを使用するモバイルアプリのカテゴリ、の開発につながった。そのようなモバイルアプリの価値は、（１）モバイルデバイス（および、延いては、モバイルデバイスのユーザ）とアプリケーション（ロケーションベースのサービスを提供するモバイルアプリまたは別のモバイルアプリのいずれか）に関連付けられた関心地点（a point of interest）との間の近接の程度の知識と（２）そのような知識から行われることができる推論とに基づくことができる。ロケーションベースのサービスの例は、特定のカテゴリの商品および／またはサービスのロケーションを識別する製品、気象情報、ソーシャルネットワーキングアプリケーション（例えば、個人のロケーションを追跡する）、小包追跡、ターンバイターンナビゲーション、環境アラート（例えば、空気中における高濃度の特定のアレルゲン）、緊急支援についての要求を送るためのサービス、等を含むことができるが、それらに限定されない。
【０００６】
[006]特に、小売店および／または他のサードパーティによってモバイルデバイス用に開発されたアプリケーションは、商品および／またはサービスの特定のプロバイダのロケーションを識別することに関連するロケーションベースのサービス、ロケーションベースのアドバタイジング、ロケーションベースのプロモーション、等をインプリメントしている。実行されるにあたり、そのようなモバイルアプリは、モバイルデバイスのロケーションについての要求を送り、そのロケーションに基づいて応答を決定することができる。実行されるにあたり、そのようなモバイルアプリはまた、モバイルアプリを開発したエンティティの制御下においてサーバにモバイルデバイスのロケーションを送ることができる。
【発明の概要】
【０００７】
[007]以下は、モバイルデバイスのロケーション履歴記録を提供、編成、および管理するための、ここに開示されるメカニズムに関連付けられた１つまたは複数の態様および／または実施形態に関連する簡略化された概要を提示する。そのため、以下の概要は、全ての企図される態様および／または実施形態に関連する広範な概観であると考えられるべきではなく、以下の概要は、全ての企図される態様および／または実施形態に関連する基幹的または重要な要素を識別する、または任意の特定の態様および／または実施形態に関連付けられた範囲を叙述するように見なされるべきでもない。それ故に、以下の概要は、以下に提示される詳細な説明に先行して、簡略化された形式でここに開示されるメカニズムに関連する１つまたは複数の態様および／または実施形態に関連するある特定の概念を提示するという唯一の目的を有する。
【０００８】
[008]１つまたは複数のアプリケーションにモバイルデバイスのロケーション履歴に関連付けられた情報を提供する方法は、モバイルデバイスのプロセッサが、モバイルデバイスの１つまたは複数のロケーションに基づいて１つまたは複数のロケーション履歴記録を生成することと、ここにおいて、各ロケーション履歴記録は、１つまたは複数の関心地点と１つまたは複数の関心地点におけるモバイルデバイスの持続時間とを備え、モバイルデバイスのプロセッサにおいて、１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションから情報要求を受信することと、モバイルデバイスのプロセッサが、情報要求からの基準を満たす１つまたは複数のロケーション履歴記録のサブセットを決定することと、モバイルデバイスのプロセッサが、情報要求と１つまたは複数のロケーション履歴記録のサブセットとに基づいて、少なくとも１つのアプリケーションについてのパーミッション（permission）のレベルを決定することと、モバイルデバイスのプロセッサが、少なくとも１つのアプリケーションのパーミッションのレベルに基づいて、少なくとも１つのアプリケーションに１つまたは複数のロケーション履歴記録のサブセットに関連付けられた情報を提供することとを含む。
【０００９】
[009]１つまたは複数のアプリケーションにモバイルデバイスのロケーション履歴に関連付けられた情報を提供するための装置は、モバイルデバイスの１つまたは複数のロケーションに基づいて１つまたは複数のロケーション履歴記録を生成することと、ここにおいて、各ロケーション履歴記録は、１つまたは複数の関心地点と１つまたは複数の関心地点におけるモバイルデバイスの持続時間とを備え、１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションから情報要求を受信することと、情報要求からの基準を満たす１つまたは複数のロケーション履歴記録のサブセットを決定することと、情報要求と１つまたは複数のロケーション履歴記録のサブセットとに基づいて、少なくとも１つのアプリケーションについてのパーミッションのレベルを決定することと、少なくとも１つのアプリケーションのパーミッションのレベルに基づいて、少なくとも１つのアプリケーションに１つまたは複数のロケーション履歴記録のサブセットに関連付けられた情報を提供することとを行うように構成された少なくとも１つのプロセッサと、少なくとも１つのプロセッサに結合され、１つまたは複数のロケーション履歴記録と１つまたは複数のロケーション履歴記録に関連付けられた情報とを記憶するように構成されたメモリとを含む。
【００１０】
[0010]１つまたは複数のアプリケーションにモバイルデバイスのロケーション履歴に関連付けられた情報を提供するための装置は、モバイルデバイスの１つまたは複数のロケーションに基づいて１つまたは複数のロケーション履歴記録を生成するための手段と、ここにおいて、各ロケーション履歴記録は、１つまたは複数の関心地点と１つまたは複数の関心地点におけるモバイルデバイスの持続時間とを備え、１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションから情報要求を受信するための手段と、情報要求からの基準を満たす１つまたは複数のロケーション履歴記録のサブセットを決定するための手段と、情報要求と１つまたは複数のロケーション履歴記録のサブセットとに基づいて、少なくとも１つのアプリケーションについてのパーミッションのレベルを決定するための手段と、少なくとも１つのアプリケーションのパーミッションのレベルに基づいて、少なくとも１つのアプリケーションに１つまたは複数のロケーション履歴記録のサブセットに関連付けられた情報を提供するための手段とを含む。
【００１１】
[0011]１つまたは複数のアプリケーションにモバイルデバイスのロケーション履歴に関連付けられた情報を提供するための非一時的コンピュータ可読媒体は、モバイルデバイスのプロセッサが、モバイルデバイスの１つまたは複数のロケーションに基づいて１つまたは複数のロケーション履歴記録を生成するための少なくとも１つの命令と、ここにおいて、各ロケーション履歴記録は、１つまたは複数の関心地点と１つまたは複数の関心地点におけるモバイルデバイスの持続時間とを備え、モバイルデバイスのプロセッサにおいて、１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションから情報要求を受信するための少なくとも１つの命令と、モバイルデバイスのプロセッサが、情報要求からの基準を満たす１つまたは複数のロケーション履歴記録のサブセットを決定するための少なくとも１つの命令と、モバイルデバイスのプロセッサが、情報要求と１つまたは複数のロケーション履歴記録のサブセットとに基づいて、少なくとも１つのアプリケーションについてのパーミッションのレベルを決定するための少なくとも１つの命令と、モバイルデバイスのプロセッサが、少なくとも１つのアプリケーションのパーミッションのレベルに基づいて、少なくとも１つのアプリケーションに１つまたは複数のロケーション履歴記録のサブセットに関連付けられた情報を提供するための少なくとも１つの命令とを含む。
【００１２】
[0012]ここに開示されるメカニズムに関連付けられた他の目的および利点は、添付の図面および詳細な説明に基づいて、当業者にとって明らかとなるであろう。
【００１３】
[0013]本開示の態様およびそれらの付随する利点の多くについてのより完全な認識は、本開示の限定ではなく例示のためだけに提示される添付の図面に関連して考慮されたときに、以下の詳細な説明を参照することによってその内容がより良く理解されるようになることから、容易に取得されることになるであろう。
【図面の簡単な説明】
【００１４】
【図１】モバイルデバイスが動作することができる環境の例を例示する図である。
【図２】本開示の実施形態にしたがったモバイルデバイスの実施形態を例示するブロック図である。
【図３】本開示の少なくとも１つの態様にしたがったモバイルデバイスのアーキテクチャを例示する。
【図４】本開示の少なくとも１つの態様にしたがったモバイルデバイスの位置から導出されるロケーションに関連付けられたメタデータタグの実例的なツリー構造を例示する。
【図５】本開示の少なくとも１つの態様にしたがったモバイルデバイスのメモリ中に記憶された実例的な関係表を例示する図である。
【図６】本開示の少なくとも１つの態様にしたがった位置記録を生成するための方法を例示するフロー図である。
【図７】本開示の少なくとも１つの態様にしたがったモバイルデバイスのロケーション履歴記録を生成するための方法を例示するフロー図である。
【図８】本開示の少なくとも１つの態様にしたがったロケーション履歴記録のデータベースを維持するための方法を例示するフロー図である。
【図９】本開示の少なくとも１つの態様にしたがったモバイルデバイスによって追跡されうる位置情報の例証的なレベルの粒度（granularity）を例示する。
【図１０】本開示の少なくとも１つの態様にしたがった１つまたは複数のアプリケーションにモバイルデバイスのロケーション履歴に関連付けられた情報を提供するための方法を例示するフロー図である。
【図１１】ここに教示される通信をサポートするように構成された装置のいくつかのサンプルの態様の簡略化されたブロック図である。
【詳細な説明】
【００１５】
[0025]１つまたは複数のアプリケーションにモバイルデバイスのロケーション履歴に関連付けられた情報を提供するための方法およびシステムが開示される。モバイルデバイスは、モバイルデバイスの１つまたは複数のロケーションに基づいて１つまたは複数のロケーション履歴記録を生成し、ここにおいて、各ロケーション履歴記録は、１つまたは複数の関心地点と１つまたは複数の関心地点におけるモバイルデバイスの持続時間とを備え、１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションから情報要求を受信し、情報要求からの基準を満たす１つまたは複数のロケーション履歴記録のサブセットを決定し、情報要求と１つまたは複数のロケーション履歴記録のサブセットとに基づいて、少なくとも１つのアプリケーションについてのパーミッションのレベルを決定し、少なくとも１つのアプリケーションのパーミッションのレベルに基づいて、少なくとも１つのアプリケーションに１つまたは複数のロケーション履歴記録のサブセットに関連付けられた情報を提供する。
【００１６】
[0026]これらおよび他の態様は、モバイルデバイスのロケーション履歴記録を提供、編成、および管理する例証的な実施形態に関連する特定の例を示すために、以下の説明および関連する図面中に開示される。代替の態様は、この開示の範囲から逸脱することなしに考案されうる。加えて、良く知られている要素は、本開示の関連する詳細を曖昧にしないために詳細には説明されないか、または省略される。
【００１７】
[0027]「例証的（exemplary）」という用語は、ここでは、「例、事例、または例示としての役割を果たすこと」を意味するように使用される。「例証的」であるとしてここに説明されるいずれの態様も、他の代替より好ましいまたは有利であるとして必ずしも解釈されるべきではない。同様に、「態様」という用語は、本開示の全ての態様が、論述される特徴、利点、または動作モードを含むことを必要としない。
【００１８】
[0028]ここに使用される専門用語は、特定の態様を説明することのみを目的としたものであり、本開示の態様を限定することは意図されない。ここに使用される場合、単数形「a」、「an」、および「the」は、コンテキストが明確にそうではないと示していない限り、複数形も含むように意図される。「備える」、「備えている」、「含む」、および／または「含んでいる」という用語は、ここに使用されるとき、記載される特徴、整数、ステップ、動作、要素、および／またはコンポーネントの存在を指定するが、１つまたは複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、および／またはそれらのグループの存在または追加を妨げないことがさらに理解される。
【００１９】
[0029]さらに、多くの態様は、例えば、コンピューティングデバイスの要素によって遂行されることになるアクションのシーケンスの観点から説明される。ここに説明される様々なアクションが特定の回路（例えば、特定用途向け集積回路（ＡＳＩＣ））によって、プログラム命令が１つまたは複数のプロセッサによって実行されることによって、または両方の組み合わせによって遂行されることができることが認識される。加えて、ここに説明されるこれらのアクションのシーケンスは、実行されると、関連するプロセッサに、ここに説明される機能を遂行させるコンピュータ命令の対応するセットを記憶した任意の形態のコンピュータ可読記憶媒体内で完全に実現されると考えられることができる。このことから、本開示の様々な態様は、いくつかの異なる形態で実現されえ、それらの全ては、特許請求の範囲に記載された主題の範囲内にあると企図されている。加えて、ここに説明される態様の各々について、任意のそのような態様の対応する形態は、例えば、説明されるアクションを遂行する「ように構成された回路」としてここに説明されうる。
【００２０】
[0030]図１は、モバイルデバイスが動作することができる環境の例を例示する図である。環境は、セルラネットワーク１０１を含みうる。オプションとして、環境はまた、衛星ナビゲーションシステム１５１を含みうる。
【００２１】
[0031]限定ではなく例として、セルラネットワーク１０１は、複数のセル１０２（例えば、セル１０２Ａ〜１０２Ｇ）を含むことができる。アクセスポイント１０４（例えば、アクセスポイント１０４Ａ〜１０４Ｇ）は、対応するセル１０２に通信サービスを提供することができる。限定ではなく例として、図１は、いくつかのローカスアクセスポイント１０６（例えば、１０６−１〜１０６−３）といくつかモバイルデバイス１０８（例えば、１０８−１〜１０８−９）とを例示している。モバイルデバイス１０８はまた、ユーザ機器（ＵＥ）、局、端末、アクセス端末、加入者ユニット、等と呼ばれることができる。ローカルアクセスポイント１０６はまた、ノード、アクセスポイント、ワイヤレスアクセスポイント、等と呼ばれることができる。ローカルアクセスポイント１０６は、例えば、スモールセルセルラ基地局、ワイヤレスローカルエリアネットワーク（ＷＬＡＮ）アクセスポイント、Ｂｌｕｅｔｏｏｔｈ（登録商標）アクセスポイント、ＲＦＩＤリーダ、等でありうる。モバイルデバイス１０８は、例えば、セルラ電話、携帯情報端末（ＰＤＡ）、ワイヤレスモデム、ワイヤレス通信デバイス、ハンドヘルドデバイス、ラップトップコンピュータ、コードレス電話、ワイヤレスローカルループ（ＷＬＬ）局、ネットブック、スマートブック、スマートフォン、タブレットコンピュータ、ウェアラブルコンピュータ、自動車、等であることができる。さらに、「モバイルデバイス」と呼ばれるが、モバイルデバイス１０８のうちの１つまたは複数は、パーソナルコンピュータのような固定デバイスでありうる。ローカルアクセスポイント１０６および／またはモバイルデバイス１０８は、順方向リンクおよび／または逆方向リンクを介して１つまたは複数のアクセスポイント１０４と、および／または互いと通信するように構成されることができる。例えば、セル１０２は、田舎の環境における数平方マイルまたは都市部における数ブロックのエリア内での通信を提供するように構成されることができる。セルラネットワーク１０１は、例えば、モバイルデバイス１０８とアクセスポイント１０４との間の信号の強度に基づいて、粗い程度の精度でモバイルデバイス１０８のロケーションを決定するように構成されることができる。
【００２２】
[0032]衛星ナビゲーションシステム１５１は、より高度の精度でモバイルデバイス１０８のロケーションを決定するために使用されることができる。例えば、衛星ナビゲーションシステム１５１は、全地球測位システムであることができる。全地球測位システムは、地球上のどの地点においても少なくとも６つの衛星１５２への見通し線を有する形で地球上に分散された衛星１５２を含む。各衛星１５２は、高精度のクロックを含む。全地球測位システムは、所与の時間において、衛星１５２（例えば、１５２Ａ〜１５２Ｄ）の位置と所与の時間との両方が高度の精度で知られるように構成される。全地球測位システムの各衛星１５２は、衛星１５２の位置と信号の送信の時間との両方を示す情報を含む信号を送信する。モバイルデバイス１０８は、少なくとも４つの衛星１５２（例えば、衛星１５２Ａ〜１５２Ｄ）の各々から信号を受信することと、モバイルデバイス１０８のクロックにしたがって信号ごとに到着時間を記録することと、信号ごとに飛行時間を決定することと、モバイルデバイス１０８のロケーションと衛星１５２のクロックからのモバイルデバイス１０８のクロックの偏差値との両方を飛行時間から導出することとを行うように構成されることができる。
【００２３】
[0033]当業者は、セルラネットワーク１０１から取得される精度の程度よりも高くあることができる程度の精度でモバイルデバイス１０８のロケーションを決定するために使用されることができる他の技法を理解する。
【００２４】
[0034]例えば、モバイルデバイス１０８は、ＷＬＡＮ技術を使用するように構成されることができ、ＷＬＡＮネットワークからモバイルデバイス１０８のロケーションを決定するようにさらに構成されることができる。その上、モバイルデバイス１０８は、２．４ＧＨｚのＷＬＡＮネットワークからモバイルデバイス１０８のロケーションを決定するように構成されることができ、５ＧＨｚのＷＬＡＮネットワークからモバイルデバイス１０８のロケーションを決定するように構成されることができる。例えば、いくつかのタイプのモバイルデバイス１０８は、セルラネットワーク１０１というよりはむしろＷＬＡＮ技術を使用するように構成されることができる。
【００２５】
[0035]別の例として、モバイルデバイス１０８は、Ｂｌｕｅｔｏｏｔｈ（登録商標）技術規格にしたがって動作するように構成されることができ、Ｂｌｕｅｔｏｏｔｈ（登録商標）ネットワークからモバイルデバイス１０８のロケーションを決定するようにさらに構成されることができる。
【００２６】
[0036]また別の例として、モバイルデバイス１０８は、セルラネットワーク１０１、衛星ナビゲーションシステム１５１、ＷＬＡＮネットワーク（例えば、２．４ＧＨｚおよび／または５ＧＨｚ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）ネットワーク、等のうちの任意のものの組み合わせからモバイルデバイス１０８のロケーションを決定するように構成されることができる。
【００２７】
[0037]図２は、本開示の少なくとも１つの態様にしたがったモバイルデバイス１０８の実施形態を例示するブロック図である。モバイルデバイス１０８は、ハウジング２０２と、１つまたは複数のアンテナ２０４と、メインプロセッサ２０６、アプリケーションプロセッサ２０８、および／または低電力コア２２０を含みうるプロセッサ２２８と、メモリ２１０と、送信機２１６と、受信機２１８と、１つまたは複数のセンサ２２４と、バスシステム２２６とを含むことができる。送信機２１６および受信機２１８の機能は、トランシーバ２３０中に組み込まれることができる。低電力コア２２０は、例えば、モデム、デジタルシグナルプロセッサ（ＤＳＰ）、低電力プロセッサ（すなわち、アプリケーションプロセッサ２０８またはメインプロセッサ２０６よりも低い電力を消費するプロセッサ）、または他の特殊回路でありうる。プロセッサ２２８のコンポーネントとして例示されているが、メインプロセッサ２０６、アプリケーションプロセッサ２０８、および／または低電力コア２２０は、別個のコンポーネントでありうる。例えば、プロセッサ２２８は、メインプロセッサ２０６のみを含み、低電力コア２２０は、ディスクリートモデムコンポーネントであり、アプリケーションプロセッサ２０８は、プロセッサ２２８と低電力コア２２０との両方とは別個のプロセッサでありうる。
【００２８】
[0038]プロセッサ２２８は、モバイルデバイス１０８の動作を制御するように構成されることができる。ある実施形態では、プロセッサ２２８は、モバイルデバイス１０８の中央処理ユニット（ＣＰＵ）でありうる。別の実施形態では、アプリケーションプロセッサ２０８は、モバイルデバイス１０８のＣＰＵおよび／またはグラフィックス処理ユニット（ＧＰＵ）でありうる。メモリ２１０は、プロセッサ２２８に結合され、プロセッサ２２８と通信中であり、プロセッサ２２８に命令とデータとを提供することができる。プロセッサ２２８は、メモリ２１０内に記憶されたプログラム命令に基づいて、論理演算と算術演算とを遂行することができる。メモリ２１０内の命令は、ここに説明される方法および処理のうちの１つまたは複数を遂行するように実行可能であることができる。
【００２９】
[0039]プロセッサ２２８は、１つまたは複数のプロセッサでインプリメントされる処理システムを含むことができるか、またはそのコンポーネントであることができる（例えば、メインプロセッサ２０６、アプリケーションプロセッサ２０８、および低電力コア２２０）。プロセッサ２０６、２０８、および２２０は、汎用マイクロプロセッサ、マイクロコントローラ、ＤＳＰ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブルロジックデバイス（ＰＬＤ）、コントローラ、ステートマシン、ゲートロジック、ディスクリートハードウェアコンポーネント、専用ハードウェア有限ステートマシン、あるいは算出を遂行および／または情報を操作することができる任意の他の適したエンティティの任意の組み合わせでインプリメントされることができる。
【００３０】
[0040]処理システムはまた、ソフトウェアを記憶するための機械可読媒体を含むことができる。ソフトウェアは、ソフトウェアと呼ばれるか、ファームウェアと呼ばれるか、ミドルウェアと呼ばれるか、マイクロコードと呼ばれるか、ハードウェア記述言語と呼ばれるか、またはそれ以外で呼ばれるかにかかわらず、任意のタイプの命令を意味するように広く解釈されることができる。命令は、例えば、ソースコードフォーマット、バイナリコードフォーマット、実行可能コードフォーマット、または任意の他の適したコードのフォーマットのコードを含むことができる。命令は、１つまたは複数のプロセッサによって実行されたとき、処理システムに、ここに説明される機能のうちの１つまたは複数を遂行させることができる。
【００３１】
[0041]メモリ２１０は、読取専用メモリ（ＲＯＭ）とランダムアクセスメモリ（ＲＡＭ）との両方を含むことができる。メモリ２１０の一部分はまた、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）を含むことができる。
【００３２】
[0042]ある実施形態では、モバイルデバイス１０８は、キーパッド、マイクロフォン、スピーカ、ディスプレイスクリーン、および／またはタッチスクリーンディスプレイのようなユーザインターフェースを含みうる。ユーザインターフェースは、モバイルデバイス１０８のユーザに情報を伝達および／またはユーザからの入力を受信する任意の要素またはコンポーネントを含むことができる。しかしながら、ユーザインターフェースは、外部ディスプレイ、別のコンピューティングデバイス、等のような異なるデバイス上に存在しうる。
【００３３】
[0043]送信機２１６および受信機２１８（またはトランシーバ２３０）は、モバイルデバイス１０８とリモートデバイスとの間でのデータの送信および受信を可能にすることができる。１つまたは複数のアンテナ２０４は、ハウジング２０２に取り付けられ、トランシーバ２３０に電気的に結合されることができる。いくつかのインプリメンテーションでは、モバイルデバイス１０８はまた、複数の送信機、複数の受信機、複数のトランシーバ、および/または複数のアンテナ（例示せず）を含むことができる。
【００３４】
[0044]１つまたは複数のセンサ２２４は、物性の測定を行うことができ、測定値を信号に変換することができる任意のデバイスであることができる。１つまたは複数のセンサ２２４は、カメラ、マイクロフォン、タッチスクリーンディスプレイ、熱センサ、磁気センサ、電場センサ、光学センサ、動きセンサ、加速度計、慣性測定ユニット、圧力センサ、タッチスクリーンセンサ、６自由度センサ、縦向き／横向きセンサ、嗅覚センサ、心拍数センサ、化学的環境センサ、バイオセンサ、代謝兆候センサ（a metabolic indication sensor）、無線周波数販売時点情報管理取引センサ、等、または前述の任意の組み合わせを含むことができるが、それらに限定されない。加えてまたは代替として、１つまたは複数のセンサ２２４のうちの少なくとも１つは、モバイルデバイス１０８とは別個である（すなわち、ハウジング２０２の外部にある）ことができる。
【００３５】
[0045]全地球測位システムの衛星１５２および／またはセルラネットワーク１０１からの信号に基づいてその位置を決定することに加えて、モバイルデバイス１０８は、モバイルデバイス１０８の慣性状態を測定するために、１つまたは複数のセンサ２２４のオンボード慣性センサ（例えば、加速度計、ジャイロスコープ、等）を利用しうる。これらのオンボード慣性センサから取得される慣性測定値は、モバイルデバイス１０８の地理的位置および方角（heading）の推定値を提供するために、衛星１５２および／またはセルラネットワーク１０１から受信されるナビゲーション信号と組み合わせて、またはそれらとは独立して使用されうる。
【００３６】
[0046]モバイルデバイス１０８の様々なコンポーネントは、バスシステム２２６によってともに結合されることができる。バスシステム２２６は、データバスを含むことができ、データバスに加えて、電力バス、制御信号バス、および／または状態信号バスも含むことができる。
【００３７】
[0047]認識されることになるように、モバイルデバイス１０８は、図２中に例示されていない他のコンポーネントまたは要素を含むことができる。
【００３８】
[0048]加えて、図２中にはいくつかの別個のコンポーネントが例示されているが、コンポーネントのうちの１つまたは複数は、組み合わされることができるか、または共同でインプリメントされることができる。例えば、プロセッサ２２８とメモリ２１０とは、単一チップ上に具現化されることができる。プロセッサ２２８は加えておよび／または代替として、プロセッサレジスタのようなメモリを包含することができる。同様に、機能ブロックのうちの１つまたは複数、または様々なブロックの機能の一部分は、単一チップ上に具現化されることができる。代替として、特定のブロックの機能は、２つ以上のチップ上にインプリメントされることができる。
【００３９】
[0049]モバイルデバイス１０８の中には（例えば、スマートフォン、タブレットコンピュータ、等）、オペレーティングシステムを含むことができるものがある。オペレーティングシステムは、モバイルデバイス１０８上にインストールされたアプリケーションソフトウェアを実行するように構成されることができる。モバイルデバイス１０８のオペレーティングシステムを使用して実行されるように特に設計されたアプリケーションはまた、モバイル「アプリ」と呼ばれることができる。
【００４０】
[0050]そのようなアプリケーションの開発は、モバイルデバイス１０８の携帯性を活用するためにモバイルデバイス１０８のユーザによって要求された機能に当初は焦点を当てていた。これらのアプリケーションは、電子メール（ｅメール）、カレンダー、個人的な連絡先情報、ニュース情報、証券市場情報、等をサポートするための機能をモバイルデバイス１０８に提供することができる。継続する需要は、ゲーム、工場の自動化（例えば、既存のモバイルアプリへの更新）、バンキング、注文追跡、チケット購入、健康関連問題の管理、等のようなカテゴリにおけるモバイルデバイス１０８用のアプリケーションの開発につながった。
【００４１】
[0051]モバイルアプリの中には、センサ２２４のうちの少なくとも１つと相互作用することができるものがある。例えば、無線周波数販売時点情報管理取引センサは、店舗における取引を完了するためにモバイルアプリによって使用されることができる。例えば、心拍数センサは、モバイルデバイス１０８のユーザの心拍数をモニタおよびレポートするためにモバイルアプリによって使用されることができる。
【００４２】
[0052]上述されたような、高度の精度でモバイルデバイス１０８のロケーションを決定するための能力は、ロケーションベースのサービス、つまり機能を制御するためにロケーションデータを使用するモバイルアプリのカテゴリ、の開発につながった。そのようなモバイルアプリの価値は、（１）モバイルデバイス１０８（および、延いては、モバイルデバイス１０８のユーザ）とアプリケーション（ロケーションベースのサービスを提供するモバイルアプリまたは別のモバイルアプリのいずれか）に関連付けられた関心地点との間の近接の程度の知識と（２）そのような知識から行われることができる推論とに基づくことができる。ロケーションベースのサービスの例は、特定のカテゴリの商品および／またはサービスのロケーションを識別する製品、気象情報、ソーシャルネットワーキングアプリケーション（例えば、個人のロケーションを追跡する）、小包追跡、ターンバイターンナビゲーション、環境アラート（例えば、空気中における高濃度の特定のアレルゲン）、緊急支援についての要求を送るためのサービス、等を含むことができるが、それらに限定されない。
【００４３】
[0053]特に、小売店および／または他のサードパーティによってモバイルデバイス１０８用に開発されたアプリケーションは、商品および／またはサービスの特定のプロバイダのロケーションを識別することに関連するロケーションベースのサービス、ロケーションベースのアドバタイジング、ロケーションベースのプロモーション、等をインプリメントしている。実行されるにあたり、そのようなモバイルアプリは、ロケーションに基づいて応答を決定するために、モバイルデバイス１０８のロケーションについての要求を送ることができる。実行されるにあたり、そのようなモバイルアプリはまた、モバイルアプリを開発したエンティティの制御下においてサーバ（例示せず）にモバイルデバイス１０８のロケーションを送ることができる。
【００４４】
[0054]このアプローチは、いくつかの欠点を有する。例えば、モバイルデバイス１０８（および、延いては、モバイルデバイス１０８のユーザ）の瞬間的なロケーションを知ることの価値は、モバイルデバイス１０８の瞬間的なロケーションのみの知識から行われることができる比較的少数の推論に限定される。加えて、例えば、いくつかのそのようなモバイルアプリが実行されている場合、プロセッサ２２８は、いくつかのモバイルアプリからの、モバイルデバイス１０８のロケーションについての多数の要求に応答して、モバイルデバイス１０８のロケーションの重複した決定（redundant determinations）を行うことを必要とされうる。そのような重複した決定は、そうでなければプロセッサ２２８によって実行されることができた他の命令を犠牲にしかねない。さらに、例えば、モバイルデバイス１０８のユーザは、モバイルアプリを開発したエンティティがモバイルデバイス１０８（および、延いては、モバイルデバイス１０８のユーザ）の瞬間的なロケーションの知識を有することを望まないことがありうる。
【００４５】
[0055]しかしながら、モバイルデバイス１０８の瞬間的なロケーションの代わりにまたは加えて、いくつかのモバイルアプリにとっては、モバイルデバイス１０８のロケーション履歴がより有用でありうる。例えば、モバイルデバイス１０８のロケーション履歴は、モバイルデバイス１０８のユーザの買い物、食べ物、運動、等についての選好および長期にわたる傾向を反映しうる。それはまた、特定の小売店にとってユーザがどれだけ重要でありうるかを反映しうる。
【００４６】
[0056]しかしながら、ロケーション履歴情報は、現在構造化された方法で公表（exposed）されておらず、アプリケーションごとに「クラウド」ベースのモバイルアプリによって追跡されるだけである。この状況では、各モバイルアプリは、ロケーションＡＰＩのアプリケーション起動（the application invocations）によって見られる、モバイルデバイス１０８のロケーション履歴の限定されたビューしか有することができない。
【００４７】
[0057]それ故に、高レベルで、ここに開示されるシステムおよび方法は、システム全体ベースで（例えば、低電力コア２２０によって）低電力でモバイルデバイス１０８のロケーション履歴を追跡し、ロケーション履歴に基づいて追加のメタデータ／タグを計算／生成し、ロケーション履歴情報を扱うためにモバイルアプリのパーミッションモデルを変更し、モバイルアプリのニーズに基づいてロケーション履歴の異なるレベルの詳細および粒度を公表し、アプリの要求に基づいてロケーション履歴追跡を動的に調整しうる。
【００４８】
[0058]モバイルアプリがモバイルデバイス１０８のロケーション履歴情報を使用することを許可することには、いくつかの利益が存在する。例えば、ロケーション履歴は、アプリケーションエクスペリエンスをユーザ向けによりカスタマイズさせるために使用されることができる。別の例として、モバイルデバイス１０８のユーザは、例えば、プライバシー選好にしたがってロケーション履歴を選択的に公表することによってサードパーティからより良いオファーを取得するために、アセットとしてロケーション履歴を使用することができる。また別の例として、モバイルデバイス１０８のユーザは、いくつかのモバイルアプリ内で動作を遂行するためのクレデンシャル（credential）としてロケーション履歴情報を使用することができる。
【００４９】
[0059]それ故に、ここに説明される態様は、モバイルデバイス１０８のロケーション履歴記録を生成する。ロケーション履歴記録は少なくとも、モバイルデバイス１０８の位置、モバイルデバイス１０８の位置がキャプチャされた時間、およびオプションとして、その位置におけるモバイルデバイス１０８の持続時間を含むことができる。
【００５０】
[0060]ロケーション履歴記録は、例えば、モバイルデバイス１０８のプロセッサ２２８（具体的には、ある実施形態では、低電力コア２２０）によって実行されることができる、メモリ２１０中に記憶されたソフトウェアによって作成されることができる。そのようなソフトウェアは、例えば、モバイルデバイス１０８のオペレーティングシステムと１つまたは複数のモバイルアプリとの間でインターフェースするためのミドルウェアとして構成されることができる。
【００５１】
[0061]有利なことに、モバイルデバイス１０８によってロケーション履歴記録を作成させることは、いくつかのモバイルアプリからの、モバイルデバイス１０８のロケーションについての多数の要求に応答して、モバイルデバイス１０８のロケーションの重複した決定をプロセッサ２２８が行う必要性を低減することができ、それにより、他の命令を実行するためにプロセッサ２２８を解放することができる。ロケーション履歴記録は、例えば、モバイルデバイス１０８のメモリ２１０中に記憶されることができる。ロケーション履歴記録へのアクセスは、どのアプリケーションがロケーション履歴記録のうちの少なくとも１つを受信することができるかをモバイルデバイス１０８のユーザが決定することができるように、モバイルデバイス１０８によって制御されることができる。
【００５２】
[0062]図３は、本開示の少なくとも１つの態様にしたがったモバイルデバイス１０８のアーキテクチャを例示する。図３の例では、低電力コア２２０は、測位エンジン３２２と、ロケーション圧縮および分析モジュール３２４と、ロケーション履歴抽出／抽象化モジュール３２６とを含む。測位エンジン３２２と、ロケーション圧縮および分析モジュール３２４と、ロケーション履歴抽出／抽象化モジュール３２６とは、低電力コア２２０に統合されるか、または機能的に結合されるハードウェアコンポーネント、低電力コアによって実行されるソフトウェアモジュール、またはハードウェアとソフトウェアとの組み合わせでありうる。
【００５３】
[0063]測位エンジン３２２は、上述された測位技能（例えば、セルラネットワーク１０１、衛星ナビゲーションシステム１５１、ＷＬＡＮネットワーク、Ｂｌｕｅｔｏｏｔｈ（登録商標）ネットワーク、等）のうちの１つまたは複数を使用して、経時的にモバイルデバイス１０８の位置を追跡する。測位エンジン３２２の出力は、例えば、時間フィールド３１２ａ中の時間（位置測定が行われた時間）と位置フィールド３１４ａ中の対応する位置（それは、緯度および経度測定値、アクセスポイント識別子、等でありうる）との関係表として、共有メモリ２１０中にキャッシュされる。これらの出力は、モバイルアプリ３３０からの要求、接続性について行われるＷＬＡＮまたはセルラスキャン、および／または同様のものに基づいて測位エンジン３２２によって収集されうる。
【００５４】
[0064]ロケーション圧縮および分析モジュール３２４は、経時的にモバイルデバイス１０８の個別の位置を識別するために、モバイルデバイス１０８の位置フィールド３１４ａ中の位置をクラスタリングし、それらのクラスタ中でのモバイルデバイス１０８の持続時間を推定する。モバイルデバイス１０８の個別の位置は、位置フィールド３１４ｂ中に記憶され、その個別の位置におけるモバイルデバイス１０８の持続時間は、持続時間フィールド３１６中に記憶される。開始時間、終了時間、中央時間（median time）、等のような、モバイルデバイスがその位置に存在した時間は、時間フィールド３１２ｂ中に記憶される。ある実施形態では、時間フィールド３１２ｂ、位置フィールド３１４ｂ、およびオプションとして持続時間フィールド３１６は、ここでは一括して「位置記録」または「ロケーション記録」と呼ばれうる。
【００５５】
[0065]ロケーション圧縮および分析モジュール３２４はその後、識別されたロケーションを異なるメタデータタグ３１８と関連付けるために、ＰＯＩデータベース中のクラスタに対応するロケーションをルックアップすることができるか、またはモバイルデバイス１０８にルックアップさせることができる。位置フィールド３１４ｂ中のクラスタリングされた位置に対応する識別されたロケーションは、例えば、ロケーションを識別および／またはロケーションに関連付けられた１つまたは複数のアクティビティを説明するＰＯＩデータベースからのメタデータタグに関連付けられうる。例えば、位置フィールド３１４ｂ中の位置のクラスタに対応するロケーションがＰＯＩデータベース中のＳａｆｅｗａｙ（登録商標）ＰＯＩに対応する場合、ロケーションは、「Ｓａｆｅｗａｙ（登録商標）」、「買い物」、「食料品の買い物」、「惣菜店」、「パン屋」、等のメタデータタグ３１８を割り当てられうる。ＰＯＩデータベースは、ローカルに（例えば、共有メモリ２１０中に）またはリモートに記憶され、ワイヤレスネットワークを通してモバイルデバイス１０８にアクセス可能でありうる。
【００５６】
[0066]ある実施形態では、ロケーション圧縮および分析モジュール３２４は、道路に沿ったクラスタが単一のロケーションを圧縮され、「通勤（commute）」のようなメタデータタグ３１８を割り当てられるべきであると決定しうる。別の実施形態では、ロケーション圧縮および分析モジュール３２４は、短期のクラスタ（例えば、そこにおいてモバイルデバイス１０８がしきい値量の時間より短い間過ごした位置フィールド３１４ｂ中の位置のクラスタ）または対応するメタデータタグを有さないロケーションは削除されることができると決定しうる。
【００５７】
[0067]ある実施形態では、１つまたは複数のセンサ２２４からのデータは、ロケーション圧縮および分析モジュール３２４によって遂行される分析を増強し、識別されたロケーションについての追加のメタデータタグ３１８を追加するために使用されることができる。例えば、位置フィールド３１４ｂ中の位置のクラスタは、公共公園に対応するＰＯＩデータベース中で識別されうる。１つまたは複数のセンサ２２４の加速度計からのデータは、測位エンジン３２２が位置フィールド３１４ｂ中に表された位置を測定したときにモバイルデバイス１０８のユーザが走っていたことを示しうる。それ故に、ロケーション圧縮および分析モジュール３２４は、例えば、識別されたロケーションについて「ランニング」の追加のメタデータタグ３１８を割り当てうる。
【００５８】
[0068]ある実施形態では、メタデータタグ３１８は、実際のセンサデータでありうる。例えば、ユーザは、（図５の５０２Ｇ中にあるように）モバイルデバイス１０８の所与の位置において所与の持続時間中に７５ｂｐｍのアベレージ心拍数を維持していることがありうる。メタデータタグ３１８は、図７を参照して以下に論述されるように、標準偏差値、最大値（１つ以上）、最小値（１つ以上）、等のような他の統計値を含むことができる。加えて、メタデータタグ３１８は、割り当てられるタグに基づいて変わりうるか、または記録されうる。例えば、メタデータタグ３１８が「ランニング」である場合、モバイルデバイス１０８は、１秒ごとに心拍数を記録し、センサメタデータとしてそれを記憶することができる。
【００５９】
[0069]別の例として、位置フィールド３１４ｂ中の位置のクラスタは、職場に通勤しているモバイルデバイス１０８のユーザに対応しうる。１つまたは複数のセンサ２２４のうちの１つは、モバイルデバイス１０８が音楽を再生しているか、またはユーザがラジオで音楽を聴いていることを検出しうる。それ故に、ロケーション圧縮および分析モジュール３２４は、例えば、識別されたロケーションについて「音楽を聴いている」の追加のメタデータタグ３１８を割り当てうる。
【００６０】
[0070]また別の例として、位置フィールド３１４ｂ中の位置のクラスタは、特定の買い物のロケーションに存在するモバイルデバイス１０８のユーザに対応しうる。１つまたは複数のセンサ２２４のうちの１つは、モバイルデバイス１０８が買い物のロケーションにおいて支払いを行ったことを検出しうる。それ故に、ロケーション圧縮および分析モジュール３２４は、例えば、識別されたロケーションについて「購入が行われた」の追加のメタデータタグ３１８を割り当てうる。
【００６１】
[0071]ある実施形態では、ロケーション履歴記録は、時間フィールド３１２ｂ、位置フィールド３１４ｂ、持続時間フィールド３１６、およびメタデータタグ３１８を含みうる。
【００６２】
[0072]ロケーション圧縮および分析モジュール３２４によって遂行される分析が計算的に集約的でありうるため、これらの動作は、時間フィールド３１２ａ中の時間と位置フィールド３１４ａ中の位置とが収集されるリアルタイムでというよりはむしろ、モバイルデバイス１０８が電源に接続されると遂行されることができる。
【００６３】
[0073]ロケーション履歴抽出／抽象化モジュール３２６は、アプリケーションプロセッサ２０８を介してモバイルアプリ３３０からロケーション履歴記録および／またはロケーション履歴記録に関連付けられた情報（例えば、時間フィールド３１２ｂ、位置フィールド３１４ｂ、持続時間フィールド３１６、およびメタデータタグ３１８のサブセット）についての要求を受信する。ロケーション履歴記録／ロケーション履歴記録に関連付けられた情報についての要求は、モバイルデバイス１０８の位置フィールド３１４ａ中の位置を測定することを求める要求とは別個の要求であり、それもまた、上述されたように、モバイルアプリ３３０から受信されうることに留意されたい。ここにさらに説明されることになるように、ロケーション履歴記録／ロケーション履歴記録に関連付けられた情報についての要求は、ロケーション履歴記録に関連付けられた情報をフィルタリングするための１つまたは複数の基準を含みうる。
【００６４】
[0074]図４は、本開示の少なくとも１つの態様にしたがったモバイルデバイス１０８の位置フィールド３１４ａ中の位置から導出されるロケーションに関連付けられたメタデータタグの実例的なツリー構造４００を例示する。ツリー構造４００のルート４１０は、各サブツリーのタイプおよびサイズを示すメタデータに関連付けられうる。メタデータは、サブツリーのタイプ（１つ以上）（図４の例では、買い物、食事、ジム、およびその他）、サブツリーのサイズ（１つ以上）、子供の数、および／またはサブツリーの概要を示しうる。以下に説明されることになるように、サブツリーのサイズは、そのカテゴリ中の１つまたは複数のロケーションにおいて過ごされた時間を示しうる。サブツリーの概要は、ある時間期間、例えば、過去２か月にわたる情報の概要でありうる。
【００６５】
[0075]図４中に例示されているように、ツリー構造４００は、４つの実例的なロケーションのカテゴリである買い物、食事、ジム、およびその他を有する第１のレベル４２０を含む。ツリー構造４００の第２のレベル４３０は、買い物のカテゴリを食料品の買い物と衣料品の買い物とのサブカテゴリに、食事のカテゴリをファーストフードとレストランとのサブカテゴリに分ける。ツリー構造４００の第３レベル４４０は、食料品の買い物のサブカテゴリをＳａｆｅｗａｙ（登録商標）と、Ｔｒａｄｅｒ Ｊｏｅｓ（登録商標）と、Ｗｈｏｌｅ Ｆｏｏｄｓ（登録商標）とのさらなるサブカテゴリに分ける。ツリー構造４００の第４のレベル４５０は、ツリー構造４００のリーフノード（leaf nodes）に対応する。リーフノードは、詳細なロケーションおよびタイミング（例えば、持続時間）情報を提供する。認識されることになるように、図４は４つのレベルしか例示していないが、より多くまたはより少ないツリー構造４００のレベルが存在しうる。
【００６６】
[0076]見られるように、図４は、（モバイルデバイス１０８の位置フィールド３１４ａ中の位置をクラスタリングすることによって決定される）様々なロケーションが増大するレベルの粒度／特異性（specificity）で複数のメタデータタグをどのように割り当てられうるかを例示している。モバイルデバイス１０８のユーザが他のロケーションよりも頻繁に特定のロケーションを訪れる場合、そのロケーションに関連付けられたサブツリーは、他のロケーションに関連付けられたサブツリーよりも展開されうる。例えば、ロケーション圧縮および分析モジュール３２４は、特定のロケーションについてのデフォルト数またはレベルのメタデータタグにアクセスしうる。モバイルデバイス１０８がロケーションへの追加の訪問を行うと、モバイルデバイス１０８は、ロケーションに関連付けられた追加のメタデータタグにアクセスしうる。追加のメタデータタグは、ロケーションについてのより具体的な情報でありうる。例えば、図４中に例示されているように、ロケーションがＳａｆｅｗａｙ（登録商標）食料品店である場合、ロケーション圧縮および分析モジュール３２４は、１回目の訪問の際にＰＯＩデータベースから買い物と食料品の買い物との第１の２つのレベルのメタデータタグを引き出しうる（retrieve）。後の訪問の際には、ロケーション圧縮および分析モジュール３２４は、Ｓａｆｅｗａｙ（登録商標）の第３のレベルのメタデータタグを引き出しうる。さらなる後の訪問の際には、ロケーション圧縮および分析モジュール３２４は、惣菜店、パン屋、および薬局の第４のレベルのメタデータタグ（例示せず）を引き出しうる。
【００６７】
[0077]このように、図４中に例示されているメタデータタグのような、ロケーション履歴記録に関連付けられた情報を現在要求しているモバイルアプリにとってより重要でないノードについて、ロケーション履歴記録に関連付けられた情報は、第１のレベルのメタデータタグしか含まないことがありうる。例えば、ジムのサブツリーは、モバイルデバイス１０８のユーザが過去２週間にジムおいて１時間しか過ごさなかったため、追加のサブカテゴリを含まないことがありうる。このことから、ユーザのアクティビティとモバイルアプリからの要求とに基づいて、他のツリーノードに対してよりも多くのリソースがいくつかのツリーノードに割り振られうる。
【００６８】
[0078]ある実施形態では、あるロケーションについてのメタデータタグが１つまたは複数のセンサ２２４によって収集されたデータに基づくメタデータタグで増強される場合、ユーザがそのロケーションをより頻繁に訪れると、１つまたは複数のセンサ２２４からデータを収集し、それによりそのデータに基づいてそのロケーションについてのメタデータタグを追加するためのより多くの機会をロケーション圧縮および分析モジュール３２４が有することになる。例えば、そのロケーションが、モバイルデバイス１０８のユーザが頻繁に行く公共公園である場合、１つまたは複数のセンサは、ある訪問の際にはユーザが公園を走って通り抜け、別の訪問の際にはユーザが公園を歩いて通り抜け、別の訪問の際にはユーザがある時間期間の間公園中の遊び場の近くに留まること、等を検出しうる。このことから、ロケーション圧縮および分析モジュール３２４は、これらのアクティビティに基づいて、公共公園のロケーションに追加のメタデータタグを割り当てうる。
【００６９】
[0079]図５は、本開示の少なくとも１つの態様にしたがったモバイルデバイス１０８のメモリ２１０中に記憶された実例的な関係表５００を例示する図である。関係表５００は、ロケーション履歴記録５０２Ａ〜５０２Ｚを記憶するように構成されることができる。ロケーション記録は、位置列５０６と時間列５０４とに、およびオプションとして持続時間列５１０に対応しうる。時間列５０４中の時間と、位置列５０６中の位置と、持続時間列５１０中の持続時間とは、それぞれ、図３中の時間フィールド３１２ｂ中の時間と、位置フィールド３１４ｂ中の位置と、持続時間フィールド３１６中の持続時間に対応しうる。ロケーション履歴記録は、ロケーション記録を含み、提供元列（the provided by column）５０８、最新要求列５１２、要求頻度列５１４、センサ情報列５１６、および位置識別子（ＩＤ）列５１８にさらに対応する。ロケーション履歴記録５０２Ａ〜Ｚと組み合されて例示されているが、ロケーション記録は、別個の記録として記憶されうるおよび／または別個の記録と呼ばれうる。
【００７０】
[0080]図５中には例示されていないが、関係表５００は、図４中に例示されている各レベルのメタデータタグに対応する１つまたは複数の列のような追加の列を含みうる。例えば、Ｓａｆｅｗａｙ（登録商標）のロケーション履歴記録５０２Ｄ、５０２Ｅ、および５０２Ｉのうちの１つまたは複数は、モバイルデバイス１０８のユーザがＳａｆｅｗａｙ（登録商標）に対して行った訪問の回数に依存して、買い物、食料品の買い物、惣菜店、パン屋、および／または薬局のメタデータタグ用の追加の列を含みうる。
【００７１】
[0081]図６は、本開示の少なくとも１つの態様にしたがった位置記録を生成するための方法６００を例示するフロー図である。ブロック６０２において、プロセッサ２２８は、モバイルアプリから位置フィックスレート要求（a position fix rate request）を受信する。ある実施形態では、その要求は、モバイルアプリがどれくらい頻繁にモバイルデバイス１０８の位置が決定されてほしいかを定義しうる。以下に説明されるように、低電力コア２２０は、モバイルアプリからの要求とは独立して、モバイルデバイス１０８の位置とモバイルデバイス１０８の位置を決定するレートとを決定しうる。例えば、低電力コア２２０は、６０４を参照して以下に論述されるように、ロケーションフィックス（location fixes）を遂行するデフォルトレートを決定しうるが、モバイルアプリからの要求に基づいて、そのデフォルトレートを更新しうる。
【００７２】
[0082]ある実施形態では、低電力コア２２０は、位置フィックスごとに（例えば、図３中の位置フィールド３１４ａ中の位置ごとに）位置記録を生成しうる。代替として、低電力コア２２０は、モバイルデバイス１０８の位置のクラスタに対応する位置ごとに（例えば、図３中の位置フィールド３１４ｂ中の位置ごとに）位置記録を生成しうる。図３を参照して論述されたように、「位置記録」または「ロケーション記録」は、所与の時間におけるモバイルデバイス１０８の位置の記録であり、例えば、位置の地理座標および対応するタイムスタンプでありうる。代替として、低電力コア２２０は、ある特定の位置フィックスのみについての位置記録を生成しうる。例えば、低電力コア２２０は、モバイルデバイス１０８が最後の位置フィックスからしきい値距離よりも長く移動した場合にのみ位置記録を生成しうる。
【００７３】
[0083]要求される頻度は、１つまたは複数の関心地点に対するモバイルデバイス１０８の近接度、モバイルデバイス１０８の移動の量、またはそれらの任意の組み合わせに基づきうる。例えば、モバイルデバイス１０８、具体的には、低電力コア２２０は、１分ごとに位置記録を生成しうる。しかしながら、コーヒーショップＳｔａｒｂｕｃｋｓ（登録商標）用のモバイルアプリは、モバイルデバイス１０８がＳｔａｒｂｕｃｋｓ（登録商標）の店舗の近くに存在する、またはその店舗に存在するときはいつでも、モバイルデバイス１０８が位置記録を１秒ごとに生成することを要求しうる。Ｓｔａｒｂｕｋｓ（登録商標）のモバイルアプリは、例えば、そのアプリケーションが初めて開かれたときにプロセッサ２２８にこの要求を送りうる。低電力コア２２０は、この要求を評価することと、どのくらい頻繁にそれがモバイルデバイス１０８の位置を決定し、１つまたは複数の関心地点に対するモバイルデバイス１０８の近接度に基づいて対応する位置記録を生成するかを調整することとを行いうる。この状況では、Ｓｔａｒｂｕｃｋｓ（登録商標）のモバイルアプリは、一度しか要求を送る必要がなく、Ｓｔａｒｂｕｃｋｓ（登録商標）のモバイルアプリは、閉じられることができるが、低電力コア２２０は、要求に基づいてロケーションフィックス／位置記録を生成するであろう。
【００７４】
[0084]別の例では、モバイルデバイス１０８は再び、１分ごとに位置記録を生成しうる。しかしながら、歩数計アプリケーションは、モバイルデバイス１０８が移動しているか、または直前まで移動していたときに、モバイルデバイス１０８が１秒ごとに位置記録を生成することを要求しうる。
【００７５】
[0085]ある実施形態では、１つまたは複数の位置記録を生成することを求める要求は、使用するための測位技術、位置不確実性しきい値、またはそれらの任意の組み合わせを含みうる。
【００７６】
[0086]ある実施形態では、位置フィックスレート要求はまた、センサレート要求、すなわち、所与のレートで１つまたは複数のセンサ２２４からのデータをサンプリングすることを求める要求を含みうる。例えば、歩数計アプリケーションは、モバイルデバイス１０８が過去１分間において移動していたときはいつでも、１つまたは複数のセンサ２２４のうちの汗センサが毎秒ごとにデータを生成／サンプリングすべきであり、位置記録が１０秒ごとに生成されるべきであることを要求しうる。
【００７７】
[0087]ある実施形態では、１つまたは複数の位置記録を生成することを求める要求は、１つまたは複数の関心地点に対するモバイルデバイス１０８の近接度、モバイルデバイスの移動、またはそれらの任意の組み合わせに基づいて１つまたは複数のセンサ２２４からのデータを生成することを求める要求を含みうる。例えば、フィットネスアプリケーションは、モバイルデバイス１０８がジムと近接しているときはいつでも、位置記録が１秒ごとに生成され、心拍数センサからのデータが３０秒ごとにサンプリングされることを要求しうる。
【００７８】
[0088]別の例では、食料品店Ｓａｆｅｗａｙ（登録商標）用のモバイルアプリは、モバイルデバイス１０８がＳａｆｅｗａｙ（登録商標）の店舗においてレジの列に近接しているときはいつでも、モバイルデバイス１０８の１つまたは複数のセンサ２２４のうちの無線周波数販売時点情報管理取引センサが有効にされることを要求しうる。これは、Ｓａｆｅｗａｙ（登録商標）の店舗において取引を完了するためにモバイルデバイス１０８を使用する必要性を見越すことによって、価値のあるサービスをモバイルデバイス１０８のユーザに提供する。有利なことに、無線周波数販売時点情報管理取引センサのサンプリングレートを変更することを求めるモバイルアプリからのセンサレート要求がない場合、無線周波数販売時点情報管理取引センサを非アクティブ状態に維持することは、他の命令を実行するためにプロセッサ２２８を解放しうるか、メモリ２１０の消費を限定しうるか、充電されることが必要になる前にモバイルデバイス１０８の電源（例えば、バッテリ）がモバイルデバイス１０８に電力を供給しうる時間持続時間を引き延ばすことができるか、または前述の任意の組み合わせである。
【００７９】
[0089]ある実施形態では、１つまたは複数の位置記録を生成することを求める要求は、アプリケーションによって行われた１つまたは複数の以前の要求をオーバーライドするオーバーライドを含みうる。
【００８０】
[0090]ブロック６０４において、低電力コア２２０は、モバイルデバイス１０８の位置を決定するための１つまたは複数のパラメータ、１つまたは複数のセンサ２２４からのデータをサンプリングするための１つまたは複数のパラメータ、またはそれらの任意の組み合わせを決定する。
【００８１】
[0091]ある実施形態では、１つまたは複数のモバイルアプリは、異なる要件を有する複数の要求を発行し、低電力コア２２０は、全ての要件をサービスすることが可能か否かを決定しうる。ある実施形態では、低電力コア２２０は、低電力コア２２０が以前の要求中の要件の全てをサービスすることができない場合に最新の要求を利用しうる、および／または以前の要求からの可能な限り多くの以前の要件を利用しうる。いくつかのケースでは、低電力コア２２０は、最高の粒度を有する要求を利用しうる。例えば、あるモバイルアプリは、モバイルデバイス１０８が移動しているときに１０秒ごとに位置を要求し、第２のモバイルアプリは、モバイルデバイス１０８が移動しているときに毎秒ごとに位置を要求しうる。この状況では、低電力コア２２０は、位置記録を生成するためにより高い頻度を利用し、毎秒ごとにモバイルデバイス１０８の位置を決定しうる。
【００８２】
[0092]ブロック６０６において、低電力コア２２０は、モバイルデバイス１０８の位置を決定するための１つまたは複数の決定されたパラメータに基づいて、モバイルデバイス１０８の位置フィックスレートを設定し、また要求される場合、１つまたは複数のセンサ２２４からのデータをサンプリングするための１つまたは複数のパラメータに基づいて、１つまたは複数のセンサ２２４によってキャプチャ／生成されたデータについてのサンプリングレートを設定する。
【００８３】
[0093]６０８において、測位エンジン３２２は、上述されたように、６０６における位置フィックスレート設定に基づいてモバイルデバイス１０８の位置を取得し、要求される場合、６０６におけるサンプリングレート設定に基づいて１つまたは複数のセンサ２２４からのデータをサンプリングしうる。代替として、または加えて、測位エンジン３２２は、位置フィックスレート要求とは独立してモバイルデバイス１０８の位置を取得しうる。例えば、モバイルデバイス１０８は、モバイルデバイス１０８の位置を要求しているアプリケーションが存在しない場合であっても、モバイルデバイス１０８の位置を周期的に決定しうる。これは、要求が受信されるとモバイルデバイス１０８の位置についてのアプリケーションの要求をモバイルデバイス１０８が素早くサービスできるようにし、それは、コンテキストアウェアネスがユーザのエクスペリエンスを改善することを可能にする。
【００８４】
[0094]測位エンジン３２２は、モバイルデバイス１０８の位置が取得される時間を時間フィールド３１２ａ中に記憶しうる。ある実施形態では、時間フィールド３１２ａ／ｂ中の時間のような、位置が取得される時間は、エポック時間（epoch time）、カレンダー時間、等のような様々な方法のうちの任意のもので記憶されうる。
【００８５】
[0095]測位エンジン３２２は、位置フィールド３１４ａ中に、取得された位置を記憶しうる。ある実施形態では、モバイルデバイス１０８の位置は、１つまたは複数の地理座標として位置フィールド３１４ａ／ｂ中に記憶されうる。別の実施形態では、位置は、地理座標を含みうるが、１つまたは複数の相対座標も含みうる。例えば、モバイルデバイス１０８は、Ｂｌｕｅｔｏｏｔｈ（登録商標）ビーコンを有する屋内ロケーションに存在しうるが、ビーコンの位置は、地理座標系に設定されていないことがありえ、そのことからモバイルデバイス１０８の位置は、地理座標ならびにＢｌｕｅｔｏｏｔｈ（登録商標）ビーコンに相対的な１つまたは複数の座標を含みうる。ある実施形態では、モバイルデバイス１０８はまた、１つまたは複数の２２４からデータを取得しうる。例えば、モバイルデバイス１０８は、心拍数センサからセンサデータを取得しうる。ある実施形態では、１つまたは複数のセンサ２２４からのデータは、モバイルデバイス１０８の位置と同じレートで取得されうる。ある実施形態では、モバイルデバイス１０８は、１つまたは複数のセンサ２２４からのデータをサンプリングすることを求めるアプリケーションからの要求とは独立して、１つまたは複数のセンサ２２４からデータを取得しうる。
【００８６】
[0096]図７は、本開示の少なくとも１つの態様にしたがったモバイルデバイス１０８のロケーション履歴記録を生成するための方法７００を例示するフロー図である。方法７００では、ブロック７０２において、モバイルデバイス１０８、具体的にはロケーション圧縮および分析モジュール３２４は、図３を参照して上述されたように、時間フィールド３１２ｂおよび位置フィールド３１４ｂのような位置記録を生成する。
【００８７】
[0097]ブロック７０４において、モバイルデバイス１０８、具体的にはロケーション圧縮および分析モジュール３２４は、図３中の持続時間フィールド３１６中の持続時間のような、位置記録中に示される１つまたは複数の位置におけるモバイルデバイスの持続時間を決定しうる。モバイルデバイス１０８のロケーション圧縮および分析モジュール３２４は、モバイルデバイス１０８が特定のロケーションに存在した持続時間を、同じまたは類似した位置に存在した最初の時間記録と最後の時間記録との間の時間差を取ることによって決定しうる。例えば、ロケーション圧縮および分析モジュール３２４は、同じロケーションに存在する一連の時間および位置記録にアクセスしえ、ここで、その一連における最初の時間記録と最後の時間記録との間の時間差は、１時間であり、その後、ロケーション圧縮および分析モジュール３２４は、その位置についてのロケーション履歴記録を生成しえ、その持続時間は１時間である。
【００８８】
[0098]ある実施形態では、ロケーション圧縮および分析モジュール３２４は、図３を参照して上述されたように、２つ以上の位置が類似しており、ともにクラスタリングされるべきか否かを決定するためにしきい値を使用しうる。例えば、ロケーション圧縮および分析モジュール３２４は、１０％のしきい値を使用しうるため、第２の位置は、第１の位置の１０％以内でなければならない。別の例では、ロケーション圧縮および分析モジュール３２４は、１００フィートのしきい値を使用しうるため、第１の位置と第２の位置との間の距離は、クラスタリングされるべき類似した位置が考慮されるように１００フィート以下でなければならない。
【００８９】
[0099]ある実施形態では、モバイルデバイス１０８のロケーション圧縮および分析モジュール３２４は、１つまたは複数の時間および位置記録に対応する１つまたは複数の関心地点を決定しうる。１つまたは複数の時間および位置記録が１つまたは複数の類似した関心地点に対応する場合、ロケーション圧縮および分析モジュール３２４は、１つまたは複数の類似した関心地点に基づいて１つまたは複数のロケーション履歴記録を生成し、１つまたは複数の時間記録に基づいて持続時間を決定しうる。
【００９０】
[00100]例えば、互いに近いものの厳密には同じではない異なる地理座標を有し、Ｓａｆｅｗａｙ（登録商標）食料品店のような同じ関心地点に関連付けられた３つの時間および位置記録が存在しうる。その状況では、ロケーション圧縮および分析モジュール３２４は、位置がＳａｆｅｗａｙ（登録商標）の関心地点に対応するロケーション履歴記録を生成しえ、その持続時間は、３つの時間および位置記録の最初の時間記録と最後の時間記録との間の時間差である。
【００９１】
[00101]別の例では、近接する異なる地理座標を有する３つの時間および位置記録が存在しうるが、時間および位置記録のうちの２つは、Ｓａｆｅｗａｙ（登録商標）食料品店に対応し、３つ目はＳｔａｒｂｕｃｋｓ（登録商標）コーヒーショップに対応する。これは、Ｓａｆｅｗａｙ（登録商標）の店舗がＳｔａｒｂｕｃｋｓ（登録商標）の店舗／売店を包含している、Ｓａｆｅｗａｙ（登録商標）の店舗がＳｔａｒｂｕｃｋｓ（登録商標）の店舗の近くに存在する、またはユーザがＳａｆｅｗａｙ（登録商標）の店舗からＳｔａｒｂｕｃｋｓ（登録商標）の店舗まで移動しているというような多数の状況において生じうる。これらの状況では、ロケーション圧縮および分析モジュール３２４は、Ｓａｆｅｗａｙ（登録商標）の店舗に対応する少なくとも１つのロケーション履歴記録と、ここで、その持続時間は、関心地点としてＳａｆｅｗａｙ（登録商標）の店舗を有する最初の記録と最後の記録との間の時間差に基づいて決定され、Ｓｔａｒｂｕｃｋｓ（登録商標）の店舗に対応する少なくとも１つの他のロケーション履歴記録と、ここで、その持続時間は、関心地点としてＳｔａｒｂｕｃｋｓ（登録商標）の店舗を有する最初の記録と最後の記録との間の時間差に基づいて決定される、を生成しうる。
【００９２】
[00102]ある実施形態では、ロケーション履歴記録は、関心地点内のルートに対応しうる。例えば、複数の時間および位置記録は、Ｓａｆｅｗａｙ（登録商標）の店舗に対応し、複数の時間および位置記録は、Ｓａｆｅｗａｙ（登録商標）の店舗を通るモバイルデバイス１０８のルートを示しうる。この状況では、ロケーション圧縮および分析モジュール３２４は、これらの位置を対照し（collate）、ロケーション履歴記録に関連付けられた情報中にルートとしてそれを含めうる。これは、Ｓａｆｅｗａｙ（登録商標）がそれらの店舗のレイアウトの改善、クーポンの提供、等を行うことができるように、Ｓａｆｅｗａｙ（登録商標）アプリケーションがロケーション履歴記録に関連付けられた情報を要求するときにルートを要求しうるため、有益である。
【００９３】
[00103]別の実施形態では、ロケーション履歴記録は、１つまたは複数の他のロケーション履歴記録のサブ記録でありうる。例えば、複数の時間および位置記録は、Ｓａｆｅｗａｙ（登録商標）の店舗に対応し、ロケーション履歴記録に関連付けられた情報を記憶するメイン記録は、Ｓａｆｅｗａｙ（登録商標）に対応するように生成されうる。しかしながら、ロケーション圧縮および分析モジュール３２４は、メインＳａｆｅｗａｙ（登録商標）記録下のサブロケーション履歴記録として定義される追加のロケーション履歴記録を生成し、各サブロケーション履歴記録は、モバイルデバイス１０８がＳａｆｅｗａｙ（登録商標）の店舗内でロケートされ（located）ていたエリアを含みうる。例えば、モバイルデバイス１０８がパン屋のセクション中に３０分間ロケートされていたことを示すサブロケーション履歴記録と、モバイルデバイス１０８が青果のセクション中に５分間ロケートされていたことを示す別のサブロケーション記録とが存在しうる。これは、モバイルデバイス１０８がどこにロケートされていたかのより高い粒度をアプリケーションが受信することを可能にし、より高い粒度が必要とされるときにロケーション履歴記録に関連付けられた情報を編成するためのより柔軟なアプローチを可能にする。
【００９４】
[00104]別の実施形態では、ロケーション履歴記録は、一次関心地点内の二次関心地点に対応しうる。例えば、Ｂｅｌｌａｇｉｏ（登録商標）のカジノに対応する複数の時間および位置記録が存在しうる。ロケーション圧縮および分析モジュール３２４は、モバイルデバイス１０８がＢｅｌｌａｇｉｏ（登録商標）中に、またはその近くにロケートされていた全持続時間の間、ロケーション履歴記録を生成しうる。しかしながら、ロケーション圧縮および分析モジュール３２４はまた、Ｄａｌｅ ＣｈｉｈｕｌｙによるＦｉｏｒｉ ｄｉ Ｃｏｍｏのような、Ｂｅｌｌａｇｉｏ（登録商標）内の様々な関心地点についてのロケーション履歴記録を生成しうる。
【００９５】
[00105]ある実施形態では、ロケーション圧縮および分析モジュール３２４は、最も近い関心地点についてのロケーション履歴記録に関連付けられた情報の記録を生成する。例えば、時間および位置記録は、モバイルデバイス１０８がＦｉｏｒｉ ｄｉ Ｃｏｍｏのシャンデリアの近くに１０分間、Ｂｅｌｌａｇｉｏ（登録商標）のＦｏｕｎｔａｉｎｓの近くに３０分間、そしてＢｅｌｌａｇｉｏ（登録商標）のＢｏｔａｎｉｃａｌ Ｇａｒｄｅｎｓの近くに２５分間ロケートされていたことを示しうる。しかしながら、Ｂｅｌｌａｇｉｏ（登録商標）についての関心地点に対応する単一のロケーション履歴記録を生成するというよりはむしろ、ロケーション圧縮および分析モジュール３２４は、１つはＦｉｏｒｉ ｄｉ Ｃｏｍｏについての、もう１つはＢｅｌｌａｇｉｏ（登録商標）のＦｏｕｎｔａｉｎｓについての、最後はＢｅｌｌａｇｉｏ（登録商標）のＢｏｔａｎｉｃａｌ Ｇａｒｄｅｎｓについての、少なくとも３つのロケーション履歴記録を生成しうる。
【００９６】
[00106]ある実施形態では、ロケーション圧縮および分析モジュール３２４はまた、１つまたは複数の以前に生成されたロケーション履歴記録を含む、ある関心地点に対応する１つまたは複数のロケーション履歴記録を生成しうる。例えば、先行する例では、ロケーション圧縮および分析モジュール３２４はまた、Ｂｅｌｌａｇｉｏ（登録商標）についてのロケーション履歴記録を生成しうる。
【００９７】
[00107]ある実施形態では、ロケーション圧縮および分析モジュール３２４は、１つまたは複数のロケーション履歴記録を生成するために以前に使用された（すなわち、ＢｅｌｌａｇｉｏのＦｏｕｎｔａｉｎｓのロケーション履歴記録を生成するために使用され、今はＢｅｌｌａｇｉｏ（登録商標）のロケーション履歴記録を生成するために使用されている）のと同じ時間および位置記録に基づいて、１つまたは複数のロケーション履歴記録を生成しうる。具体的には、１つまたは複数の以前に生成されたロケーション履歴記録に対応するロケーション履歴記録を生成するおよび／またはロケーション履歴記録を生成するために以前に使用された時間および位置記録を使用する限度を示すしきい値が存在しうる。例えば、しきい値は都市に設定されえ、そのことから上記の例では、ロケーション圧縮および分析モジュール３２４によって関心地点がラスベガスである別のロケーション履歴記録が生成されうる。しかしながら、ロケーション圧縮および分析モジュール３２４は、それがしきい値に違反するであろうため、ネバダ州についてのロケーション履歴記録を生成しないであろう。
【００９８】
[00108]ある実施形態では、ロケーション履歴記録を生成するための最小持続時間しきい値が存在しうる。例えば、ロケーション圧縮および分析モジュール３２４は、ロケーション履歴記録が生成されるために持続時間が少なくとも５分の長さになる必要があるしきい値を使用しうる。このことから、１つまたは複数の関心地点が４分の関連する持続時間しか有さない場合、ロケーション圧縮および分析モジュール３２４は、ロケーション履歴記録を生成しないであろう。別の実施形態では、ロケーション圧縮および分析モジュール３２４は、１つまたは複数の関心点についてのロケーション履歴記録を生成しうるが、関心地点における持続時間がしきい値を満たさない場合、ロケーション圧縮および分析モジュール３２４は、ロケーション履歴記録を削除しうる。例えば、しきい値が１５分である場合、ロケーション履歴記録５０２Ｋ中の持続時間列５１０中の持続時間（５分）が１５分未満であるため、図５中のロケーション履歴記録５０２Ｋは削除されうる。代替として、または加えて、持続時間がしきい値を上回る、または満たす場合、ロケーション圧縮および分析モジュール３２４は、ロケーション履歴記録を生成しないことがありうる、および／またはロケーション履歴記録を削除しうる。例えば、しきい値が１時間であり、ロケーション履歴記録が５時間の持続時間を有する場合、ロケーション圧縮および分析モジュール３２４は、その特定のロケーション履歴記録を削除しうる。
【００９９】
[00109]ブロック７０６において、ロケーション圧縮および分析モジュール３２４は、図３を参照して上述されたように、１つまたは複数の位置記録に関連付けられたＰＯＩについてのメタデータタグを決定しうる。
【０１００】
[00110]上述されたように、メタデータタグは、１つまたは複数のセンサからのセンサデータを含みうる。例えば、メタデータタグはまた、図６を参照して上述されたように、モバイルアプリによって要求される場合、体温センサからのデータを含みうる。ある実施形態では、メタデータタグは、ロケーション記録に対応する全てのセンサデータを包含しうる。別の実施形態では、メタデータタグは、センサデータのアベレージ値、センサデータの中央値、センサデータの標準偏差値、またはそれらの任意の組み合わせであるセンサデータを含みうる。例えば、類似した位置に対応し、１つまたは複数のセンサ２２４のうちの心拍数センサからの５５ｂｐｍ、６０ｂｐｍ、および６５ｂｐｍの心拍数データに関連付けられ、１つまたは複数のセンサ２２４のうちの体温センサからの９８度、９８．５度、および９９．５度の体温データにも関連付けられうる、３つのロケーション記録が存在しうる。ロケーション圧縮および分析モジュール３２４は、６０ｂｐｍのアベレージ心拍数と９８．６７度のアベレージ体温とを包含するメタデータタグを生成しうる。ある実施形態では、ロケーション圧縮および分析モジュール３２４は、メタデータタグを生成しえ、後に、センサデータを引き出すと、１つまたは複数のセンサ２２４からのデータでロケーション履歴記録を更新しうる。
【０１０１】
[00111]ある実施形態では、図３を参照して上述されたように、メタデータタグはまた、対応するＰＯＩに関連付けられたアクティビティを含みうる。ロケーション圧縮および分析モジュール３２４は、ユーザプロンプト、ユーザ変更、ユーザ定義規則、事前構成規則、オペレーティングシステム規則、アプリケーション規則、機械学習、ＯＥＭ規則、関心地点データベース、支払い情報、またはそれらの任意の組み合わせに基づいて、モバイルデバイス１０８のアクティビティを決定しうる。例えば、ロケーション圧縮および分析モジュール３２４は、ロケーション圧縮および分析モジュール３２４がロケーション履歴記録に関連付けられたメタデータタグを生成しているときに、またはそれが生成された後でのいずれかにおいて、ユーザがアクティビティを分類することをプロンプトしうる。例えば、ユーザが食料品店を去った後で、ユーザは、アクティビティを分類するようにプロンプトされえ、ユーザは、「食料品の買い物」のアクティビティを入力および／または選択しうる。プロセッサ２２８は、このユーザ定義規則および／または機械学習のいずれかを通じて将来の相互作用のために関心地点を食料品の買い物と関連付けうる。
【０１０２】
[00112]別の例では、ユーザは、モールＰＯＩが「買い物」として分類されたアクティビティであると以前に定義していることがありうる。しかしながら、所与のトリップ（trip）中に、モバイルデバイス１０８のユーザは、モールのジムを訪れていることがありえ、そのことからユーザは、このトリップについてのアクティビティの分類を、例えば、「フィットネス」に変更しうる。ロケーション圧縮および分析モジュール３２４は、アクティビティをより良く分類するために機械学習を利用しうる。
【０１０３】
[00113]別の例では、ロケーション履歴記録に関連付けられたメタデータタグは、Ｗｈｏｌｅ Ｆｏｏｄｓ（登録商標）への最近のトリップについて生成されうるが、モバイルデバイス１０８のユーザをプロンプトするというよりはむしろ、ロケーション圧縮および分析モジュール３２４は、関心地点の分類を含みうる関心地点データベースにアクセスしえ、それはこのケースでは、食料品店であろう。そのケースでは、ロケーション圧縮および分類モジュール３２４は、例えば、「食料品の買い物」としてアクティビティを分類するためにこの情報を利用しうる。
【０１０４】
[00114]また別の例として、モバイルデバイス１０８のユーザは、モール中にロケートされている食料品店を訪れうるが、測位エンジン３２２は、モール中のどこにモバイルデバイス１０８がロケートされているかを厳密に識別するための正確な位置を決定することができないことがありうる。ロケーション圧縮および分析モジュール３２４は、モールについてのロケーション履歴記録に関連付けられたメタデータタグを生成し、「買い物」としてそれを分類しうる。しかしながら、ユーザがモバイルデバイス１０８上のアプリケーションを通じて支払い情報を提供する、またはアプリケーションを通じて最近の取引を引き出すことができる場合（例えば、ユーザは、物理的なクレジットカードで支払ったが、クレジットカード用のアプリケーションは、最近の取引を素早く引き出すことができる）、ロケーション圧縮および分析モジュール３２４は、取引が食料品店において生じたと決定するためにこの情報を利用し、関心地点を得るためにその情報を使用し、食料品の買い物としてそのアクティビティを分類しうる。
【０１０５】
[00115]ある実施形態では、ロケーション記録は、ロケーション履歴記録が生成された後で、ロケーション履歴記録が位置記録に基づいて生成されることができないとロケーション圧縮および分析モジュール３２４が決定した後で、またはそれらの任意の組み合わせで削除されうる。例えば、ロケーション圧縮および分析モジュール３２４は、２つのロケーション記録が同じ関心地点に存在しないと決定し、モバイルデバイス１０８のユーザが運転しているか、またはその位置が関心地点というよりはむしろ道路にマッピングすることを代わりに示しうる。その状況では、ロケーション圧縮および分析モジュール３２４は、これらの記録を削除しうる。
【０１０６】
[00116]図５中の位置ＩＤ列５１８を参照すると、ある態様では、ロケーション履歴記録は、列５１８中の位置の識別情報の欠如に応答して削除されることができる。例えば、ロケーション履歴記録５０２Ｌは、ロケーション履歴記録５０２Ｌの位置ＩＤ列５１８中の位置の識別情報の欠如に応答して削除されることができる。
【０１０７】
[00117]プロセッサ２２８はまた、ロケーション履歴データベースを維持するための様々な機能を遂行しうる。図８は、本開示の少なくとも１つの態様にしたがったロケーション履歴記録のデータベースを維持するための方法８００を例示するフロー図である。８０２において、プロセッサ２２８は、ロケーション履歴記録を選択する。８０４において、プロセッサ２２８は、データベースからロケーション履歴記録を取り除くか否かを決定する。
【０１０８】
[00118]ある実施形態では、プロセッサ２２８は、時間しきい値を上回るロケーション履歴記録を取り除きうる。例えば、時間しきい値が２か月である場合、プロセッサ２２８は、図５中のロケーション履歴記録５０２Ｚのような、２か月より前のロケーション履歴記録を削除しうる。このように、ユーザおよび／またはアプリケーションにとって価値を持つには古すぎる時間を有するロケーション履歴記録。
【０１０９】
[00119]別の実施形態では、プロセッサ２２８は、１つまたは複数のロケーション履歴記録に関連する計算値を生成しうる。限定ではなく例として、計算値は、ロケーション履歴記録の数のカウント値、１つまたは複数のロケーションの時間持続時間５１０のアベレージ値、メタデータ、１つまたは複数のロケーション履歴記録についての他の統計値（例えば、平均値（mean）、標準偏差値、等）、または前述の任意の組み合わせを含みうる。例えば、プロセッサ２２８は、関心地点（例えば、Ｗｈｏｌｅ Ｆｏｏｄｓ（登録商標））ごとに、関連する関心地点が過去２か月においてＷｈｏｌｅ Ｆｏｏｄｓ（登録商標）であるロケーション履歴記録の数、その時間期間の間のＷｈｏｌｅ Ｆｏｏｄｓ（登録商標）におけるアベレージ持続時間、最大持続時間、最小持続時間、訪れた異なるＷｈｏｌｅ Ｆｏｏｄｓ（登録商標）の店舗の数、訪れた各Ｗｈｏｌｅ Ｆｏｏｄｓ（登録商標）のロケーション、等のような統計値を生成しうる。ある実施形態では、この情報はまた、関心地点内の特定のロケーションついて生成されうる（例えば、Ｗｈｏｌｅ Ｆｏｏｄｓ（登録商標）のパン屋におけるアベレージ持続時間、Ｗｈｏｌｅ Ｆｏｏｄｓ（登録商標）のレジにおけるアベレージ持続時間、等）。この情報は、ロケーション履歴記録とともにおよび／または別個のデータベース中に記憶されうる。
【０１１０】
[00120]ある実施形態では、プロセッサ２２８は、以前のアプリケーション要求に基づいて時間期間を決定しうる。例えば、プロセッサ２２８は、アプリケーションが最後の５つの要求について１か月の時間期間しか要求していないと決定しうる。別の例では、プロセッサ２２８は、アプリケーションが要求を行った最後の時間を時間期間の開始時間として、時間期間の終了時間を現在の日付として利用しうる。
【０１１１】
[00121]これらの様々な計算値に基づいて、プロセッサ２２８は、８０４においてデータベースからロケーション履歴記録を取り除くか否かを決定する。プロセッサ２２８は、８０４においてロケーション履歴記録を取り除くと決定した場合、８０６において、プロセッサ２２８は、関連するメタデータタグのような、削除されるロケーション履歴記録に関連付けられた任意の情報を保持するか否かを決定する。これは、情報の古さ（age）、情報の詳細のレベル（より少ない詳細を有する記録は、重要性の欠如を示しうる）、詳細の欠如（非常に少ない情報を有する記録は、重要性の欠如を示しうる）、持続時間、等のような、ロケーション履歴記録を削除するか否かに関する検討事項に類似した検討事項を含みうる。
【０１１２】
[00122]プロセッサ２２８がロケーション履歴記録に関連付けられた情報を削除すると決定した場合、８０８において、プロセッサ２２８は、その情報を削除する。しかしながら、プロセッサ２２８がロケーション履歴記録に関連付けられた情報を保持すると決定した場合、８１０において、プロセッサ２２８は、例えば、メモリ２１０中にその情報を記憶する。いずれにしても、８１２において、プロセッサ２２８は、ロケーション履歴記録を削除する。フローはその後、プロセッサが分析するための次のロケーション履歴記録を選択する８０２に戻る。
【０１１３】
[00123]ある実施形態では、プロセッサ２２８は、同じアクティビティを有するロケーション履歴記録についての様々な統計値を決定しうる。例えば、プロセッサ２２８は、図４中に例示されている買い物のアクティビティ、買い物のアクティビティのサブセット（例えば、Ｓａｆｅｗａｙ（登録商標）のロケーション、Ｔｒａｄｅｒ Ｊｏｅのロケーション、およびＷｈｏｌｅ Ｆｏｏｄｓ（登録商標）のロケーション）、および２つの中間のサブセット（例えば、食料品の買い物の中間サブセットおよび衣料品の買い物）でロケーション履歴記録を識別しうる。プロセッサ２２８はさらに、それらのロケーション履歴記録のアベレージ時間持続時間、アベレージ時刻、等を決定しうる。
【０１１４】
[00124]ある例では、モバイルデバイス１０８のユーザがレストランのＣｈｅｚ ＬａＶｅｒｎｅ、Ｃｈｅｚ Ｍａｘｉｎｅ、およびＣｈｅｚ Ｐａｔｒｉｃｉａについてのレビューを書いたという情報をＹｅｌｐアプリケーションのような所与のアプリケーションが受信した場合、そのアプリケーションは、レビューの正当性を査定するために、食事のアクティビティに関連するロケーション履歴記録に関連する計算値を所望しうる。ロケーション履歴記録に関連する計算値がアプリケーションに提供された場合、アプリケーションは、モバイルデバイス１０８（および、延いては、モバイルデバイス１０８のユーザ）が訪問ごとに３０分のアベレージ時間持続時間で過去２か月において８回Ｃｈｅｚ ＬａＶｅｒｎｅに存在したという最近のロケーション履歴を有していると決定することができる。アプリケーションは、Ｃｈｅｚ ＬａＶｅｒｎｅのレビューは高度の正当性および／または真価を有していると決定しえ、アプリケーションは、ユーザのレビューの比重、等を調整するためにこの情報を利用しうる。
【０１１５】
[00125]しかしながら、ロケーション履歴記録に関連する計算値がアプリケーションに提供された場合、アプリケーションは、モバイルデバイス１０８（および、延いては、モバイルデバイス１０８のユーザ）がＣｈｅｚ Ｍａｘｉｎｅに存在したという最近のロケーション履歴を有していないと決定しうる。アプリケーションはしたがって、Ｃｈｅｚ Ｍａｘｉｎｅのレビューは低度の正当性を有していると決定しうる。ロケーション履歴記録に関連する計算値がアプリケーションに提供された場合、アプリケーションは、モバイルデバイス１０８（および、延いては、モバイルデバイス１０８のユーザ）が訪問ごとに４時間のアベレージ時間持続時間で過去２か月において８５回Ｃｈｅｚ Ｐａｔｒｉｃｉａに存在したという最近のロケーション履歴を有していると決定しうる。アプリケーションは、モバイルデバイス１０８のユーザがＣｈｅｚ Ｐａｔｒｉｃｉａの従業員であることをロケーション履歴が示唆しているため、Ｃｈｅｚ Ｐａｔｒｉｃｉａのレビューは低度の正当性を有していると決定しうる。
【０１１６】
[00126]本開示は、アプリケーションがロケーション履歴記録にアクセスするためのパーミッションモデルを提供する。Ａｎｄｒｏｉｄのようなオペレーティングシステムに対する現在のパーミッションは、ロケーション履歴を公表するには適当でない。現在では、ＡＣＣＥＳＳ＿ＣＯＡＲＳＥ＿ＬＯＣＡＴＩＯＮおよびＡＣＣＥＳＳ＿ＦＩＮＥ＿ＬＯＣＡＴＩＯＮしかサポートされていない。
【０１１７】
[00127]本開示は、モバイルアプリがロケーション履歴記録および／またはロケーション履歴記録中の情報のサブセットを引き出すことを許可する追加のパーミッションを提供する。例えば、ＡＣＣＥＳＳ＿ＣＯＡＲＳＥ＿ＬＯＣＨＩＳＴＯＲＹのパーミッションは、モバイルアプリが全てのロケーション履歴記録にアクセスすることを許可しうる。ＡＣＣＥＳＳ＿ＦＩＮＥ＿ＬＯＣＨＩＳＴＯＲＹのパーミッションもまた、モバイルアプリが全てのロケーション履歴記録にアクセスすることを許可にしうるが、より詳細なレベルにおいてである。ＡＣＣＥＳＳ＿ＣＡＴＥＧＯＲＹ＿ＬＯＣＨＩＳＴＯＲＹのパーミッションは、モバイルアプリが特定のカテゴリのロケーションについてのロケーション履歴記録にアクセスすることを許可しうる。このパーミッションは、買い物、フィットネス、食事、等のようなカテゴリごとに拡張されることができる。加えて、このアクセシビリティは、モバイルアプリがクーポンまたは他のプロモーションをモバイルデバイス１０８のユーザにオファーすることに応答して変更されうる。認識されることになるように、他のパーミッションは、モバイルアプリに利用可能でありうる。
【０１１８】
[00128]異なるモバイルアプリは、ロケーション履歴情報からの異なるニーズを有しうる。例えば、レストランのレビューアプリケーションが、レストランへの訪問の数日後に書かれたレビューを検証／アップヴォートする（upvoting）ためのある特定の情報を必要としうるのに対して、フィットネスアプリケーションは、ジムまたは公園への訪問をカウントするための異なる情報を必要としうる。デパートアプリケーションは、モバイルデバイス１０８のユーザにオファーを合わせるためにデパートまたは他の小売店における滞在時間をカウントするためのさらなる他の情報を必要としうる。
【０１１９】
[00129]それ故に、本開示は、モバイルデバイス１０８のユーザおよび／またはモバイルアプリのニーズに基づいてロケーション履歴記録の異なるレベルの詳細および粒度を公表することが可能である。モバイルアプリは、要求されるアクセスのタイプおよびレベルを指定するＡＰＩを使用してロケーション履歴記録にアクセスすることができる。「ＬｏｃａｔｉｏｎＨｉｓｔｏｒｙＡＰＩ（）」として表されているこのロジックは、図３中のロケーション履歴抽出／抽象化モジュール３２６中でインプリメントされる。ＡＰＩを使用して要求されることができる情報は、引き出すための情報の時間期間、情報のカテゴリ、特定のアクティビティに関連するロケーション履歴情報、何の情報がモバイルアプリにアクセス可能であるかの決定、合計値、中央値、アベレージ値、等のような、ロケーション履歴記録のプロパティ（例えば、訪問および滞在時間）についての計算値を含む。加えて、モバイルアプリは、ＡＰＩを介してロケーション履歴抽出／抽象化モジュール３２６にジオフェンスパラメータを伝えることができ、ロケーション履歴抽出／抽象化モジュール３２６は、ロケーション履歴記録のプロパティについての計算を遂行しているときにジオフェンスパラメータを使用することができる。
【０１２０】
[00130]ＬｏｃａｔｉｏｎＨｉｓｔｏｒｙＡＰＩ（）への実例的な呼は、以下を含みうる：
ｇｅｔＬｏｃＨｉｓｔｏｒｙＶｉｓｉｔｓ（時間、カテゴリ）
ｇｅｔＬｏｃＨｉｓｔｏｒｙＶｉｓｉｔｓ（時間、ジオフェンス）
ｇｅｔＬｏｃＨｉｓｔｏｒｙＤｗｅｌｌＴｉｍｅｓ（時間、カテゴリ）
ｇｅｔＬｏｃＨｉｓｔｏｒｙＤｗｅｌｌＴｉｍｅｓ（時間、アクティビティ）
【０１２１】
[00131]ある実施形態では、モバイルアプリからの要求は、関心地点、ロケーション履歴記録中の位置に関連付けられたアクティビティ、アクティビティのカテゴリ、要求を行うアプリケーションのカテゴリ、関心地点のカテゴリ、ロケーション履歴記録にアクセスするためのアプリケーションのクレデンシャル、位置の決定に関連付けられた位置不確実性しきい値、位置を決定するために使用される技術、検索するためのロケーション履歴記録の時間期間、ロケーション履歴記録が生成された時間、アプリケーションによるロケーション履歴記録の使用、アプリケーションの名称、モバイルデバイス１０８のセンサによって作成されるデータの仕様、またはそれらの任意の組み合わせを含みうる。
【０１２２】
[00132]ある実施形態では、ロケーション履歴抽出／抽象化モジュール３２６は、要求中の情報をユーザプロンプト、事前設定パーミッション、事前設定規則、以前に許可されたパーミッション、またはそれらの任意の組み合わせと比較することによって、要求された情報にアクセスするためのパーミッションをモバイルアプリが有しているかどうかを決定しうる。
【０１２３】
[00133]ある実施形態では、ロケーション履歴抽出／抽象化モジュール３２６は、ユーザプロンプトを利用することによって、要求された情報にアクセスするためのパーミッションをモバイルアプリが有しているかどうかを決定しうる。例えば、モバイルアプリのインストール中に、ユーザは、アプリケーションがユーザのロケーション履歴記録にアクセスしうるか否か、およびユーザのロケーション履歴記録からアプリケーションがアクセスしうるものに任意の限定が存在するかどうかを回答するようにプロンプトされうる。ユーザプロンプトはまた、アプリケーションがモバイルデバイス１０８のロケーション履歴記録にアクセスするためのパーミッションを依然として有しているか否かを決定するためにアプリケーションがロケーション履歴記録を要求しているときに表示されうる。
【０１２４】
[00134]別の実施形態では、ユーザプロンプトは、クーポン、特典、等のような追加の情報を含みうる。アプリケーション要求は、アプリケーションがモバイルデバイス１０８のロケーション履歴にアクセスすることを許可することをさらにユーザに勧める（entice）ために使用されることができるユーザプロンプト中に表示されることができる誘因（an inducement）を包含しうる。例えば、Ｓｔａｒｂｕｃｋｓ（登録商標）アプリケーションは、Ｓｔａｒｂｕｃｋｓ（登録商標）の店舗に関連付けられた任意のロケーション履歴記録を要求しえ、そのアプリケーション要求は、モバイルデバイス１０８のロケーション履歴記録へのＳｔａｒｂｕｃｋｓ（登録商標）アプリケーションのアクセスをユーザが許可することと引き換えに、モバイルデバイス１０８のユーザがＳｔａｒｂｕｃｋｓ（登録商標）において無料のコーヒードリンクを受け取ることを可能にする誘因を含みうる。
【０１２５】
[00135]別の例では、通信事業者、製造業者、オペレーティングシステム開発業者、等は、どのアプリケーションがロケーション履歴記録にアクセスしうるか、およびアプリケーションがロケーション履歴記録にアクセスしうる程度を示す、モバイルデバイス１０８に対するパーミッションを設定しうる。
【０１２６】
[00136]ある実施形態では、モバイルデバイス１０８のユーザは、どのアプリケーションがロケーション履歴記録にアクセスしうるかを示す規則を設定しうる。例えば、ユーザは、全てのクーポンアプリケーションが、モバイルデバイス１０８が先週以内に食料品店に存在した回数にアクセスすることを許可する規則を設定しうる。その状況では、クーポンアプリケーションが、代わりにユーザがデパートに行った回数についてロケーション履歴情報を要求した場合、その要求は拒否されうるか、またはユーザはプロンプトされうる。
【０１２７】
[00137]別の例では、ユーザは、買い物アプリケーションが対応する店舗のロケーションに関連付けられたロケーション履歴情報にアクセスすることを許可しうる。このことから、ユーザが新しい買い物アプリケーションをインストールすると、ロケーション履歴抽出／抽象化モジュール３２６は、機械学習を通じて、ユーザのパーミッションパターンにアクセスし、新しい買い物アプリケーション用のデフォルトとしてこのパーミッションを設定しうる。
【０１２８】
[00138]別の例では、ユーザは、アプリケーションがモバイルデバイス１０８のロケーション履歴記録にアクセスすることを常にあらかじめ許可していることがありえ、そのことから、ロケーション履歴抽出／抽象化モジュール３２６は、ユーザをプロンプトすることなしに、この特定の要求についてモバイルデバイス１０８のロケーション履歴記録へのアプリケーションのアクセスを許可しうる。
【０１２９】
[00139]ある実施形態では、ロケーション履歴抽出／抽象化モジュール３２６は、要求するアプリケーションがロケーション履歴情報を要求するときにユーザをプロンプトし、ロケーション履歴抽出／抽象化モジュール３２６は、アプリケーションがそのプロンプトに対するユーザの応答に基づいてロケーション履歴記録にアクセスしうるかどうかを決定しうる。例えば、アプリケーションがロケーション履歴情報を要求すると、アプリケーションがロケーション履歴情報にアクセスすることができるかどうかをユーザが回答するためにプロンプトが表示され、プロンプトは、要求の程度を表示しうる。
【０１３０】
[00140]加えて、アプリケーション要求は、モバイルデバイス１０８のユーザがモバイルデバイス１０８のロケーション履歴のプライバシーを厳密に制御することを可能にするための情報を含みうる。例えば、図９を参照すると、ロケーション履歴情報は、一連の点９１０として表されているモバイルデバイス１０８のルートについての詳細な情報と、そのルートに関連付けられた詳細な心拍数センサ情報とを包含しうる。一連の点９１０は、周期的ＧＰＳフィックスにおけるモバイルデバイス１０８の位置を表しうる。ロケーション履歴記録はまた、モバイルデバイス１０８のルートのより高いレベルのビューを包含しえ、ここで、モバイルデバイス１０８の位置は、モバイルデバイス１０８がその範囲内に来た、且つアクセスしたことがありうる、複数のアクセスポイント（例えば、ＷＬＡＮアクセスポイント、Ｂｌｕｅｔｏｏｔｈ（登録商標）アクセスポイント、等）のカバレッジエリア９２０に対応しうる。最後に、ロケーション履歴記録は、モバイルデバイス１０８のロケーションの高いレベルのビューを包含しえ、ここで、モバイルデバイス１０８の位置は、モバイルデバイス１０８にサービングするセルラ基地局のカバレッジエリア９３０に対応しうる。
【０１３１】
[00141]歩数計アプリケーションのケースでは、モバイルデバイス１０８のユーザは、アプリケーションがモバイルデバイス１０８の詳細なルート（すなわち、一連の点９１０）にアクセスすることをパーミッションしうるが、そのルートに関連付けられた心拍数センサ情報にアクセスすることはパーミッションしない。減量アプリケーションのケースでは、しかしながら、ユーザは、アプリケーションがモバイルデバイス１０８のルートに関連付けられた心拍数センサレート情報にアクセスすることをパーミッションしうる。しかしながら、モバイルデバイス１０８のルートへのアクセスを提供するというよりはむしろ、ユーザは、減量アプリケーションのパーミッションを、心拍数センサ情報が記録された高いレベルのエリア９３０へのアクセスを受信することのみに限定しうる。
【０１３２】
[00142]ある実施形態では、ロケーション履歴情報についての要求中の情報は、ロケーション履歴記録をフィルタリングするために使用されうる。例えば、ロケーション履歴情報についての要求は、カテゴリまたは食料品の買い物のようなサブカテゴリを含みうる。ロケーション履歴抽出／抽象化モジュール３２６は、要求するアプリケーションが食料品の買い物に関連付けられたロケーション履歴記録にアクセスしうるかどうかを決定しえ、アクセスすると決定する場合、「食料品の買い物」に関連付けられた関心地点を有するロケーション履歴記録のみを含めるようにロケーション履歴記録をフィルタリングすることができる。
【０１３３】
[00143]例えば、図５を参照すると、ロケーション履歴記録５０２Ａ〜Ｚは、ロケーション履歴記録５０２Ｄ、５０２Ｅ、および５０２Ｉを含むＳａｆｅｗａｙ（登録商標）からのロケーション履歴記録と、ロケーション履歴記録５０２Ｆを含むＷｈｏｌｅ Ｆｏｏｄｓ（登録商標）からのロケーション履歴記録とを含めるようにフィルタリングされるであろう。しかしながら、それは、７−Ｅｌｅｖｅｎ（登録商標）に関連付けられた５０２Ｍのようなロケーション履歴記録を、それが「食料品の買い物」として分類されなかったために含めないであろう。
【０１３４】
[00144]ある実施形態では、要求は、ここではロケーション粒度と呼ばれる、ロケーション履歴記録の粒度レベルのインジケーションを含みうる。例えば、あるアプリケーションが、ユーザが特定の店舗中のどこにいたか、店舗内の特定のロケーションにおいてユーザが過ごした持続時間、店舗内におけるユーザのルート、等を知りたいことがありうるのに対して、異なるアプリケーションは、ユーザがその店舗に何回存在したかのみを知りたいことがありうる。ロケーション履歴記録は、異なるアプリケーションのニーズ、ユーザパーミッション、位置を決定するために利用可能な技術、等に基づいて様々な程度のロケーション粒度を含みうる。例えば、食料品店に関連付けられたアプリケーションが、店舗内におけるルート計画、広告の配置、等を援助するために、ユーザの精確なロケーション（例えば、図９中の一連の点９１０）を知ることを望みうるのに対して、クーポンアプリケーションは、特典クーポンをユーザに提供するために、ユーザが特定の店舗に行った回数を必要としうる。別の例では、ユーザが、高精度のロケーションデータ（例えば、図９中の一連の点９１０）への１回のアプリケーションのアクセスをパーミッションしうるのに対して、別のアプリケーションは、低精度のロケーションデータ（例えば、図９中のカバレッジエリア９２０または９３０）にアクセスすることのみをパーミッションされる。
【０１３５】
[00145]ある実施形態では、要求は、キーのような、アプリケーションについてのクレデンシャルを含みうる。ロケーション履歴抽出／抽象化モジュール３２６は、アプリケーションがロケーション履歴記録にアクセスすることをパーミッションされているかどうかを決定するためにクレデンシャルを利用しうる。例えば、ロケーション履歴抽出／抽象化モジュール３２６は、アプリケーションがロケーション履歴情報にアクセスすることをパーミッションされているかどうかを決定するために、要求からのキーとロケーション履歴記録に関連付けられたキーとを比較しうる。キーは、ロケーション履歴記録５０２Ａ〜５０２Ｚのうちの少なくとも１つのフィールドとして、またはメモリ２１０の異なる一部分中に記憶されることができる。
【０１３６】
[00146]キーは記憶され、関心地点のカテゴリ、アクティビティのカテゴリ、アプリケーションのカテゴリ、１つまたは複数の関心地点、１つまたは複数のアクティビティ、モバイルデバイス１０８の位置の決定に関連付けられた位置不確実性しきい値、モバイルデバイス１０８の位置を決定するために使用される技術、ロケーション履歴記録の時間期間、ロケーション履歴記録が生成された時間、アプリケーションによるロケーション履歴記録の使用、アプリケーションの名称、モバイルデバイスのセンサによって作成されるデータ、またはそれらの任意の組み合わせに関連付けられうる。
【０１３７】
[00147]ある実施形態では、ロケーション履歴記録にアクセスすることを求める要求は、位置不確実性および／または位置技術を含みうる。例えば、図５中のロケーション履歴記録５０２Ｅは、セルラネットワーク１０１からのみ取得された位置を位置列５０６中に含み、ロケーション履歴記録５０２Ｄは、セルラネットワーク１０１とＷｉＦｉのような別のソースとから取得された位置を位置列５０６中に含みうる。このことから、要求が位置技術をＷｉＦｉに限定し、モバイルアプリがロケーション履歴記録にアクセスするためのパーミッションを有する場合、返される情報は、ロケーション履歴記録５０２Ｄに限定される。別の例では、ロケーション履歴記録５０２Ｅが１キロメートルの位置不確実性を有し、ロケーション履歴記録５０２Ｄが５０メートルの位置不確実性を有する場合、且つ要求が５００メートルよりも大きい位置不確実性を含む場合、アプリケーションは、ロケーション履歴記録５０２Ｅにアクセスしうる。しかしながら、要求が５００メートル未満の位置不確実性を含む場合、アプリケーションは、ロケーション履歴記録５０２Ｄにアクセスしうる。
【０１３８】
[00148]ある実施形態では、要求は、時間期間を含みえ、ロケーション履歴記録は、その時間期間内に存在する記録に限定される。時間期間は、いつロケーション履歴記録が作られたか、いつ位置が決定されたか、等を指定しうる。例えば、図５を参照すると、要求が２０１４年７月１４日１２：００ｐｍから２０１４年７月１４日３：００ｐｍである時間期間を含む（およびアプリケーションがロケーション履歴記録にアクセスするためのパーミッションを有するとプロセッサ２２８が決定した）場合、２０１４年７月１４日１２：００ｐｍから２０１４年７月１４日１２：３０ｐｍまでの時間期間内であるロケーション履歴記録５０２Ｉがアプリケーションに提供される。
【０１３９】
[00149]別の例では、ユーザは、プライバシーモードが有効にされた時間期間から１つまたは複数のアプリケーションがロケーション履歴記録にアクセスすることをブロックするプライバシーモードを有効にしうる。モバイルデバイス１０８のユーザは、モバイルデバイス１０８のロケーション履歴記録の共有を１つのアプリケーションに限定することを望みうるが、パーミッション設定を変更することなしに一時的にそうしたいだけのことがありうる。このことから、ユーザは、プライバシーモードを有効にし、そのアプリケーションがモバイルデバイス１０８のロケーション履歴記録にアクセスし続けることを許可しうる。その状況では、ユーザがプライバシーモードを無効にした後であっても、他のアプリケーションは、デバイスがプライバシーモードにあった時間期間内に生成されたロケーション履歴記録にアクセスすることをパーミッションされないことがありうる。
【０１４０】
[00150]ある実施形態では、要求は、ロケーション履歴情報がどのように使用されることになるかを含みうる。例えば、ユーザは、モバイルデバイス１０８のロケーション履歴に基づいて特典を提供するいかなるアプリケーションもモバイルデバイス１０８のロケーション履歴記録にアクセスすることをパーミッションされうるという規則を設定しうる。その状況では、モバイルデバイス１０８のユーザにプロモーション的オファーを送るためにアプリケーションがロケーション履歴を利用していることをアプリケーション要求が示す場合、ロケーション履歴抽出／抽象化モジュール３２６は、アプリケーションがロケーション履歴記録にアクセスすることをパーミッションし、またロケーション履歴記録の使用に基づいてロケーション履歴記録をフィルタリングしうる。
【０１４１】
[00151]別の実施形態では、モバイルデバイス１０８のユーザは、アプリケーションのロケーション履歴記録の使用に基づいてアプリケーションがロケーション履歴記録にアクセスすることを許可しうる。その状況では、ロケーション履歴抽出／抽象化モジュール３２６は、要求中のロケーション履歴記録の使用とユーザによってパーミッションされたロケーション履歴記録の使用とを比較し、その後、アプリケーションがその比較に基づいてロケーション履歴記録にアクセスしうるかどうかを決定する。
【０１４２】
[00152]ある実施形態では、要求は、アプリケーションの名称を含みうる。例えば、図５を参照すると、要求がアプリケーションの名称としてＷｈｏｌｅ Ｆｏｏｄｓ（登録商標）を含む場合、ロケーション履歴抽出／抽象化モジュール３２６は、アプリケーションがＷｈｏｌｅ Ｆｏｏｄｓ（登録商標）の記録５０２Ｆに関連付けられたロケーション履歴記録にアクセスしうるかどうかを決定しうる。
【０１４３】
[00153]ある実施形態では、アプリケーションは、モバイルデバイス１０８の１つまたは複数のセンサ２２４のうちの特定のセンサによって作成されるデータを包含するロケーション履歴記録を要求しうる。例えば、図５を参照すると、アプリケーションは、ロケーション履歴記録５０２Ｇのような、心拍数センサからのデータを含むロケーション履歴記録を要求しえ、それは、心拍数センサによって作成された情報をフィールド５１６中に含む（すなわち、７５ｂｐｍ）。ユーザは、フィットネスアプリケーションのような特定のアプリケーションがセンサデータにアクセスすることを許可しうるが、どの他のアプリケーションがこの機微データにアクセスしうるかを制御したいことがありうる。
【０１４４】
[00154]他のケースでは、ユーザは、アプリケーションとロケーション履歴情報を共有するように勧められうる。例えば、アプリケーションは、ホラー映画と関係しており、ユーザが映画館に存在するときにユーザの心拍数をモニタすることと引き換えに、ホラー映画の無料券をユーザに与えることがありうる。別の例では、アプリケーションは、薬の治験に関係しており、ユーザは、薬の治験の一部としてアプリケーションと情報を共有したいことがありうる（例えば、リモートでの患者のモニタリング）。このケースでは、ユーザの１日全体を通じて様々なセンサ情報を製薬会社に提供することは、薬の副作用のより良い理解、等を可能にしうる。
【０１４５】
[00155]ある実施形態では、アプリケーション要求は、何の情報をアプリケーションがロケーション履歴記録から導出されたいのかを含みうる。例えば、図５を参照すると、ロケーション履歴記録５０２Ｄから導出されたデータは、位置列５０６中の位置がセルラネットワーク１０１と別のソースとから取得されたことと、ロケーション履歴記録５０２Ｄについてのアプリケーションからの直近の要求の時間が２０１４年７月１４日６：１０ｐｍであったこととを含みうる。例えば、アプリケーションは、ユーザが過去３０日間以内にＳａｆｅｗａｙ（登録商標）に行った回数を要求し、ユーザは、このアプリケーションが導出された情報にアクセスすることをパーミッションしうる。アプリケーションがロケーション履歴記録から導出されたデータにアクセスすることをパーミッションされるとロケーション履歴抽出／抽象化モジュール３２６が決定した後で、ロケーション履歴抽出／抽象化モジュール３２６は、ロケーション履歴記録から導出された情報を決定しうる。
【０１４６】
[00156]この態様では、ロケーション履歴記録から導出されたデータは、モバイルデバイス１０８が所与のロケーションに存在した回数および／またはモバイルデバイス１０８が所与のアクティビティに関連付けられた回数を含むことができる。例えば、Ｓａｆｅｗａｙ（登録商標）アプリケーションは、Ｓａｆｅｗａｙ（登録商標）についてのロケーション履歴記録の数のカウント値、Ｓａｆｅｗａｙ（登録商標）についてロケーション履歴記録の全ての時間持続時間５１０のアベレージ値、Ｓａｆｅｗａｙ（登録商標）についてのロケーション履歴記録についての他の統計値（例えば、平均値、標準偏差値、等）、等、または前述の任意の組み合わせを要求しうる。
【０１４７】
[00157]ある実施形態では、アプリケーションは、ロケーション履歴記録中の情報を修正することが可能でありうる。例えば、Ｗｈｏｌｅ Ｆｏｏｄｓ（登録商標）に関連付けられたアプリケーションは、ユーザが特定の時間において特定のＷｈｏｌｅ Ｆｏｏｄｓ（登録商標）に存在したと決定し、アプリケーションは、ユーザがＷｈｏｌｅ Ｆｏｏｄｓ（登録商標）のカフェから食べ物のみを購入したという知識を有しうる。このことから、アプリケーションは、それがパーミッションを有する場合、対応するロケーション履歴記録を引き出しえ、食料品の買い物として分類された他のロケーション履歴記録を依然として保ちながら、それを「食料品の買い物」から「食事」に再分類しうる。これは、アプリケーションが、ユーザについてそれが有しうる情報を利用し、それが厳密に分類されるようにロケーション履歴記録を更新することを可能にする。
【０１４８】
[00158]ある実施形態では、アプリケーションに提供されるロケーション履歴情報は、ロケーション履歴記録から導出されるデータを含み、ロケーション履歴記録に基づく計算値および／または概要説明も含みうる。例えば、概要説明は、ロケーション履歴記録を説明する記述（a narrative）および／または（図５中の各ロケーション履歴記録５０２Ａ〜Ｚの追加のフィールドでありうる）ロケーション履歴記録の識別子を含むことができる。例えば、図５中のロケーション履歴記録５０２Ｄの場合、記述は、「２０１４年７月１４日にＳａｆｅｗａｙ（登録商標）において食料品の買い物」でありうる。
【０１４９】
[00159]ある実施形態では、ロケーション履歴記録に関連付けられたアクティビティメタデータタグは、１つまたは複数のセンサ２２４によって作成されるデータに応答して更新されうる。例えば、アクティビティは、関心地点がモールとして識別されるため、買い物に設定されうる。しかしながら、心拍数センサからのセンサデータは、ランニングまたは運動に関連付けられうる高い心拍数を示しえ、そのことからアクティビティタグは、「運動」に更新されうる。同じシナリオでは、ユーザが走っていることをモバイルデバイス１０８からの歩調（the cadence）と加速度とが示すことを加速度計およびジャイロスコープからの追加のセンサデータが示しえ、そのことからロケーション履歴記録のアクティビティは、「ランニング」としてサブ分類されうる。別の例では、図５を参照すると、１つまたは複数のセンサ２２４のうちの１つが心拍数センサであり、モバイルデバイス１０８のユーザが安静時の心拍数より高い心拍数を有することを心拍数センサによって作成されるデータが示す場合、ウォーキングアクティビティは、ランニングアクティビティに更新されうる。
【０１５０】
[00160]ある実施形態では、モバイルデバイス１０８は、モバイルアプリから受信される要求に基づいて、ロケーション履歴追跡およびキャッシングを動的に調整することができる。アプリケーション要求は、改善されたロケーション履歴追跡をいくつかの方法で遂行するために使用されることができる。例えば、アプリケーションが事前にモバイルデバイス１０８に知られている要求を行っている場合、分析モジュールは、アプリケーション要求が行われた領域中での滞在時間のより微細な追跡を遂行すること、要求されたカテゴリについて必要に応じて代替の測位技術を使用すること、アプリケーション要求に基づいて追加のセンサ（例えば、支払いシステム、ミュージックプレーヤ、ビデオプレーヤ、歩数計、等）のログを取ること、キャッシュされたロケーション履歴からクラスタを、現在のアプリケーション要求がそれらに適合しないときに取り除くこと、等を行うことができる。加えて、以前のアプリケーション要求は、どのカテゴリについてユーザが将来モバイルアプリをダウンロードしうるかの予測子として使用されることができる。これはまた、何のロケーション履歴情報がユーザにとって重要かを決めるために使用されることができる。
【０１５１】
[00161]図１０は、本開示の少なくとも１つの態様にしたがった１つまたは複数のアプリケーションにモバイルデバイスのロケーション履歴に関連付けられた情報を提供するための方法１０００を例示するフロー図である。１００２において、モバイルデバイス１０８のプロセッサ２２８、例えば、ロケーション圧縮および分析モジュール３２４は、図７を参照して上述されたように、モバイルデバイスの１つまたは複数のロケーションに基づいて１つまたは複数のロケーション履歴記録を生成しうる。モバイルデバイスの１つまたは複数のロケーションは、第１の周期的レートで決定され、各ロケーション履歴記録は、１つまたは複数の関心地点と１つまたは複数の関心地点におけるモバイルデバイスの持続時間とを含みうる。
【０１５２】
[00162]１００４において、モバイルデバイス１０８のプロセッサ２２８、例えば、ロケーション履歴抽出／抽象化モジュール３２６は、１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションから情報要求を受信する。
【０１５３】
[00163]１００６において、モバイルデバイス１０８のプロセッサ２２８、例えば、ロケーション履歴抽出／抽象化モジュール３２６は、情報要求からの基準を満たす１つまたは複数のロケーション履歴記録のサブセットを決定する。
【０１５４】
[00164]１００８において、モバイルデバイス１０８のプロセッサ２２８、例えば、ロケーション履歴抽出／抽象化モジュール３２６は、情報要求と１つまたは複数のロケーション履歴記録のサブセットとに基づいて、少なくとも１つのアプリケーションについてのパーミッションのレベルを決定する。
【０１５５】
[00165]１０１２において、モバイルデバイス１０８のプロセッサ２２８、例えば、ロケーション履歴抽出／抽象化モジュール３２６は、少なくとも１つのアプリケーションのパーミッションのレベルに基づいて、少なくとも１つのアプリケーションに１つまたは複数のロケーション履歴記録のサブセットに関連付けられた情報を提供する。その情報は、上述されたように、ロケーション履歴記録のサブセットから導出された情報および／またはロケーション履歴記録のサブセットの様々なフィールドのサブセットまたは全てでありうる。
【０１５６】
[00166]図１１は、一連の相互関係のある機能モジュールとして表されている実例的なユーザデバイス装置１１００を例示している。生成するためのモジュール１１０２は、少なくともいくつかの態様では、例えば、ここに論述されたように、図２中のプロセッサ２２８のような処理システムに対応しうる。受信するためのモジュール１１０４は、少なくともいくつかの態様では、例えば、ここに論述されたように、図２中のプロセッサ２２８のような処理システムに対応しうる。決定するためのモジュール１１０６は、少なくともいくつかの態様では、例えば、ここに論述されたように、図２中のプロセッサ２２８のような処理システムに対応しうる。決定するためのモジュール１１０８は、少なくともいくつかの態様では、例えば、ここに論述されたように、図２中のプロセッサ２２８のような処理システムに対応しうる。提供するためのモジュール１１１０は、少なくともいくつかの態様では、例えば、ここに論述されたように、図２中のプロセッサ２２８のような処理システムに対応しうる。
【０１５７】
[00167]図１１のモジュールの機能は、ここでの教示と一致する様々な方法でインプリメントされうる。いくつかの設計では、これらのモジュールの機能は、１つまたは複数の電気コンポーネントとしてインプリメントされうる。いくつかの設計では、これらのブロックの機能は、１つまたは複数のプロセッサコンポーネントを含む処理システムとしてインプリメントされうる。いくつかの設計では、これらのモジュールの機能は、例えば、１つまたは複数の集積回路（例えば、ＡＳＩＣ）のうちの少なくとも一部分を使用してインプリメントされうる。ここに論述されるように、集積回路は、プロセッサ、ソフトウェア、他の関連するコンポーネント、またはそれらの何らかの組み合わせを含みうる。このことから、異なるモジュールの機能は、例えば、集積回路の異なるサブセット、ソフトウェアモジュールのセットの異なるサブセット、またはそれらの組み合わせとしてインプリメントされうる。また、（例えば、集積回路および／またはソフトウェアモジュールのセットの）所与のサブセットが、１つよりも多くのモジュールについての機能の少なくとも一部分を提供しうることが認識されるであろう。
【０１５８】
[00168]加えて、図１１によって表されたコンポーネントおよび機能、ならびにここに説明された他のコンポーネントおよび機能は、任意の適した手段を使用してインプリメントされうる。そのような手段はまた、少なくとも部分的に、ここに教示された対応する構造を使用してインプリメントされうる。例えば、図１１の「〜のためのモジュール」というコンポーネントと併せて上述されたコンポーネントはまた、同様に設計された「〜のための手段」という機能に対応しうる。このことから、いくつかの態様では、そのような手段のうちの１つまたは複数は、ここに教示されたプロセッサコンポーネント、集積回路、または他の適した構造のうちの１つまたは複数を使用してインプリメントされうる。
【０１５９】
[00169]当業者は、ある図を参照してここに説明された特徴が、他の図を参照してここに説明された特徴と交換可能であることができること、および特定の図を参照した特定の特徴の説明の欠如が、その特定の特徴が特定の図によって例示された態様の例に組み込まれることを妨げないことを理解する。
【０１６０】
[00170]当業者は、情報および信号が多様な異なる技術および技法のうちの任意のものを使用して表されることができることを認識する。例えば、上記の説明全体を通じて参照されうるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場または磁性粒子、光場または光粒子、あるいはそれらの任意の組み合わせによって表されることができる。
【０１６１】
[00171]さらに、当業者は、ここに開示された態様に関連して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズム動作が電子ハードウェア、コンピュータソフトウェア、または両方の組み合わせとしてインプリメントされることができることを認識する。ハードウェアおよびソフトウェアのこの互換性を明確に例示するために、様々な例示的なコンポーネント、ブロック、モジュール、回路、および動作が、概してそれらの機能の観点から上述されてきた。そのような機能がハードウェアとしてインプリメントされるか、またはソフトウェアとしてインプリメントされるかは、特定のアプリケーションとシステム全体に課せられた設計制約とに依存する。当業者は、説明された機能を特定のアプリケーションごとに様々な方法でインプリメントしうるが、そのようなインプリメンテーションの決定は、ここに開示された態様の範囲からの逸脱を引き起こしていると解釈されるべきではない。
【０１６２】
[00172]ここに開示されたインプリメンテーションに関連して説明された様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブルロジックデバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、あるいはここに説明された機能を遂行するように設計されたそれらの任意の組み合わせでインプリメントまたは遂行されうる。汎用プロセッサは、マイクロプロセッサであることができるが、代替では、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであることができる。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、ＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと連携した１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成としてインプリメントされることができる。
【０１６３】
[00173]ここに開示された態様に関連して説明された方法、シーケンスおよび／またはアルゴリズムは、直接ハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、またはそれら２つの組み合せにおいて実現されうる。ソフトウェアモジュールは、ランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリ、読取専用メモリ（ＲＯＭ）、消去可能プログラマブル読取専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブル読取専用メモリ（ＥＥＰＲＯＭ（登録商標））、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読取専用メモリ（ＣＤ−ＲＯＭ）、または当該技術において知られているあらゆる他の形態の記憶媒体中に存在しうる。例証的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替では、記憶媒体は、プロセッサと一体化されうる。
【０１６４】
[00174]それ故に、本開示の態様は、モバイルデバイス１０８のロケーション履歴記録を作成するための方法を具現化するコンピュータ可読媒体を含むことができる。それ故に、本開示は、例示された例に限定されず、ここに説明された機能を遂行するためのあらゆる手段が本開示の態様中に含まれる。
【０１６５】
[00175]前述の開示は本開示の例示的な態様を示しているが、添付された特許請求の範囲によって定義された本開示の範囲から逸脱することなしに、ここで様々な変更および修正が行われることができることに留意されたい。ここに説明された本開示の態様にしたがった方法の請求項の機能、動作および／またはアクションは、任意の特定の順序で遂行される必要はない。さらに、本発明の要素は単数形で説明および請求されうるが、単数形への限定が明示的に述べられていない限り複数形が企図される。
【図１】
2018528505.tif 000003
【図２】
2018528505.tif 000004
【図３】
2018528505.tif 000005
【図４】
2018528505.tif 000006
【図５】
2018528505.tif 000007
【図６】
2018528505.tif 000008
【図７】
2018528505.tif 000009
【図８】
2018528505.tif 000010
【図９】
2018528505.tif 000011
【図１０】
2018528505.tif 000012
【図１１】
2018528505.tif 000013
【国際調査報告】
2018528505.tif 000014
2018528505.tif 000015
2018528505.tif 000016