提供、组织及管理移动装置的位置历史记录的制作方法

文档序号:13909736阅读:194来源:国知局
提供、组织及管理移动装置的位置历史记录的制作方法

本文中所揭示的方面通常涉及提供、组织及管理移动装置的位置历史记录。



背景技术:

一些移动装置(例如,智能手机、平板计算机及其类似者)包含操作系统。操作系统经配置以执行安装在移动装置上的应用程序软件。经特别设计以使用移动装置的操作系统执行的应用程序软件产品(即,应用程序)可被称作移动“app”。

此些应用程序的研发最初侧重于移动装置的用户所需求的功能以利用移动装置的可携性。这些应用程序可提供移动装置的功能性以支持电子邮件(e-mail)、日历、个人联系信息、新闻信息、股票市场信息及其类似者。连续需求已导致例如游戏、工厂自动化(例如,现有移动app的更新)、银行业务、订单跟踪、票券购买、管理健康有关问题及其类似者的类别的移动装置的应用程序的发展。

一些移动app可与移动装置的传感器交互。例如,视频销售点交易传感器可由移动app用于完成商店处的交易。例如,心率传感器可由移动app用于监视并报告移动装置的用户的心率。

以高精确度确定移动装置的位置的能力已致使基于位置的服务的发展、使用位置数据来控制特征的移动app的类别。此些移动app的值可基于:(1)对移动装置(且,引申开来,移动装置的用户)与和应用程序相关联的关注点(提供基于位置服务的移动app或另一移动app)之间的接近度的认知以及(2)可由此认知做出的推断。基于位置的服务的实例可包含但不限于识别货物及/或服务的特定种类的位置的产品、天气信息、社交网络应用程序(例如,追踪个体的位置)、包裹追踪、逐向导航、环境警告(空气中高浓度的特定过敏原)、用于发送对紧急援助的请求的服务及其类似者。

特定来说,由零售商及/或其它第三方针对移动装置研发的应用程序已实施与识别货物及/或服务的特定提供者的位置、基于位置的广告、基于位置促销及其类似者有关的基于位置的服务。在被执行中,此移动app可发送对移动装置的位置的请求以基于位置而确定响应。在被执行中,此移动app还可在研发移动app的实体的控制下将移动装置的位置发送到服务器。



技术实现要素:

以下呈现与和本文中所揭示的关于用于提供、组织及管理移动装置的位置历史记录相关联的一或多个方面及/或实施例有关的简化发明内容。如此,以下发明内容不应被认为涉及所有预期方面及/或实施例的广泛概述,且以下发明内容也不应被认为识别涉及所有预期方面及/或实施例的关键或决定性要素或描绘与任何特定方面及/或实施例相关联的范围。因此,以下发明内容具有用以在下文呈现的具体实施方式之前以简化方式呈现涉及与本文中所揭示机制有关的一或多个方面及/或实施例的某些概念的唯一目的。

将与移动装置的位置历史相关联的信息提供到一或多个应用程序的方法包含:通过所述移动装置的处理器,基于所述移动装置的一或多个位置而产生一或多个位置历史记录,其中每一位置历史记录包括一或多个关注点及所述一或多个关注点处的所述移动装置的持续时间;在所述移动装置的所述处理器处接收来自所述一或多个应用程序的至少一个应用程序的信息请求;通过所述移动装置的所述处理器,确定满足来自所述信息请求的准则的所述一或多个位置历史记录的子集;通过所述移动装置的所述处理器,基于所述信息请求及所述一或多个位置历史记录的所述子集而确定所述至少一个应用程序的权限等级;以及通过所述移动装置的所述处理器,基于所述至少一个应用程序的所述权限等级而将与所述一或多个位置历史记录的所述子集相关联的信息提供到所述至少一个应用程序。

用于将与移动装置的位置历史相关联的信息提供到一或多个应用程序的设备包含:至少一个处理器,其经配置以:基于所述移动装置的一或多个位置而产生一或多个位置历史记录,其中每一位置历史记录包括一或多个关注点及所述一或多个关注点处的移动装置的持续时间,从一或多个应用程序中的至少一个应用程序接收信息请求,确定满足来自所述信息请求的准则的所述一或多个位置历史记录的子集,基于所述信息请求及所述一或多个位置历史记录的所述子集而确定所述至少一个应用程序的权限等级,以及基于所述至少一个应用程序的所述权限等级而将与所述一或多个位置历史记录的所述子集相关联的信息提供到所述至少一个应用程序;以及存储器,其耦合到所述至少一个处理器且经配置以存储所述一或多个位置历史记录及与所述一或多个位置历史记录相关联的信息。

用于将与移动装置的位置历史相关联的信息提供到一或多个应用程序的设备包含:用于基于所述移动装置的一或多个位置而产生一或多个位置历史记录的装置,其中每一位置历史记录包括一或多个关注点及所述一或多个关注点处的移动装置的持续时间;用于从一或多个应用程序中的至少一个应用程序接收信息请求的装置,用于确定满足来自所述信息请求的准则的所述一或多个位置历史记录的子集的装置,用于基于所述信息请求及所述一或多个位置历史记录的所述子集而确定所述至少一个应用程序的权限等级的装置,以及用于基于所述至少一个应用程序的所述权限等级而将与所述一或多个位置历史记录的所述子集相关联的信息提供到所述至少一个应用程序的装置。

用于将与移动装置的位置历史相关联的信息提供到一或多个应用程序的非暂时性计算机可读媒体包含:用以通过所述移动装置的处理器基于所述移动装置的一或多个位置而产生一或多个位置历史记录的至少一个指令,其中每一位置历史记录包括一或多个关注点及所述一或多个关注点处的所述移动装置的持续时间;用以在所述移动装置的所述处理器处接收来自所述一或多个应用程序的至少一个应用程序的信息请求的至少一个指令;用以通过所述移动装置的所述处理器确定满足来自所述信息请求的准则的所述一或多个位置历史记录的子集的至少一个指令;用以通过所述移动装置的所述处理器基于所述信息请求及所述一或多个位置历史记录的所述子集而确定所述至少一个应用程序的权限等级的至少一个指令;以及用以通过所述移动装置的所述处理器基于所述至少一个应用程序的所述权限等级而将与所述一或多个位置历史记录的所述子集相关联的信息提供到所述至少一个应用程序的至少一个指令。

与本文中所揭示的机制相关联的其它目标及优点对所属领域的技术人员来说基于所附图式及实施方式将显而易见。

附图说明

当结合附图考虑时通过参考以下详细描述,将容易获得本发明的方面及本发明的随附优点中的许多者的更全面了解且同样地更好地理解,所述附图仅呈现用于说明而非对本发明的限制,且其中:

图1为说明移动装置可在其中操作的环境的实例的图。

图2为说明根据本发明的实施例的移动装置的实施例的框图。

图3说明根据本发明的至少一个方面的移动装置的架构。

图4说明根据本发明的至少一个方面的与从移动装置的位置导出的位置相关联的元数据标签的实例性树状结构。

图5为说明根据本发明的至少一个方面的存储在移动装置的存储器中实例性关系表的图。

图6为说明根据本发明的至少一个方面的用于产生位置记录的方法的流程图。

图7为说明根据本发明的至少一个方面的用于产生移动装置的位置历史记录的方法的流程图。

图8为说明根据本发明的至少一个方法的用于维持位置历史记录的数据库的方法的流程图。

图9说明根据本发明的至少一个方面的可由移动装置追踪的位置信息的示范性粒度等级。

图10为说明根据本发明的至少一个方面的用于将与移动装置的位置历史相关联的信息提供到一或多个应用程序的方法的流程图。

图11为如本文中所教示经配置以支持通信的设备的数个样本方面的简化框图。

具体实施方式

本发明揭示用于将与移动装置的位置历史相关联的信息提供到一或多个应用程序的方法及系统。移动装置基于所述移动装置的一或多个位置而产生一或多个位置历史记录,其中每一位置历史记录包括一或多个关注点及所述一或多个关注点处的移动装置的持续时间,从一或多个应用程序中的至少一个应用程序接收信息请求,确定满来自所述信息请求的准则的所述一或多个位置历史记录的子集,基于所述信息请求及所述一或多个位置历史记录的所述子集而确定所述至少一个应用程序的权限等级,以及基于所述至少一个应用程序的所述权限等级而将与所述一或多个位置历史记录的所述子集相关联的信息提供到所述至少一个应用程序。

这些及其它方面在以下描述及相关图中揭示以展示与提供、组织及管理移动装置的位置历史记录的示范性实施例有关的具体实例。可设计替代方面而不脱离本发明的范围。另外,并未详细描述众所周知的元件或将其省略以便不混淆本发明的相关细节。

措词“示范性”在本文中用于意指“用作实例、例子或说明”。本文中描述为“示范性”的任一方面未必解释为比其它替代方案较佳或有利。同样地,术语“方面”不需要本发明的所有方面包含所论述的特征、优点或操作模式。

本文中所使用的术语为仅出于描述特定方面的目的且并不意欲为限制本发明的方面。如本文中所使用,除非上下文另有明确指示,否则单数形式“一”及“所述”意欲包含复数形式。应进一步理解,术语“包括”及/或“包含”在本文中使用时规定所述特征、整数、步骤、操作、元件及/或组件的存在,但不排除存在或添加一或多个其它特征、整数、步骤、操作、元件、组件及/或其群组。

此外,许多方面是就由(例如)计算器件之元件执行系列动作方面加以描述。应认识到,本文中所描述的各种动作可通过特定电路(例如,专用集成电路(asic))、通过由一或多个处理器执行的程序指令或由两者的组合来执行。另外,本文中所描述的这些动作序列可被认为完全实现在任何形式的计算机可读存储媒体内,所述计算机可读存储媒体其中存储有对应的计算机指令集,所述计算机指令集在执行时致使相关联处理器执行本文中所描述的功能性。因此,本发明的各种方面可以若干个不同形式实现,已预期其全部在所主张标的物的范围内。另外,对于本文中所描述的方面中的每一者,对应形式的任何此些方面可在本文中描述为(例如)“经配置以”执行所描述动作的“电路”。

图1为说明移动装置可在其中操作的环境的实例的图。环境可包含蜂窝式网络101。任选地,环境还可包含卫星导航系统151。

通过实例的方式,且非通过限制方式,蜂窝式网络101可包含多个小区102(例如,小区102a到102g)。接入点104(例如,接入点104a到104g)可为对应小区102提供通信服务。通过实例的方式,且非通过限制方式,图1说明数个本地接入点106(例如,106-1到106-3)及数个移动装置108(例如,108-1到108-9)。移动装置108还可被称作用户设备(ue)、台、终端、接入终端、订户单元,等等。本地接入点106还可被称作节点、接入点、无线接入点,等等。本地接入点106可例如为小型小区蜂窝式基站、无线局域网(wlan)接入点、接入点、rfid阅读器,等等。移动装置108可为例如蜂窝式电话、个人数字助理(pda)、无线调制解调器、无线通信装置、手持式装置、膝上型计算机、无线电话、无线本地环路(wll)基站、上网本、智能本、智能电话、平板计算机、可穿戴计算机、汽车,等等。此外,尽管被称作“移动装置”,但移动装置108中的一或多者可为静止装置,例如个人电脑。本地接入点106及/或移动装置108可经配置以经由前向链路及/或反向链路与彼此及/或一或多个接入点104通信。例如,小区102可经配置以在都市中的多个街区区域或农村环境的数平方米内提供通信。蜂窝式网络101可经配置以基于例如移动装置108与接入点104之间的信号的强度而以粗略精准度确定移动装置108的位置。

卫星导航系统151可用于以较大精准度确定移动装置108的位置。例如,卫星导航系统151可为全球定位系统。全球定位系统包含卫星152,所述卫星以使得地球上的任何点具有至少六个卫星152的视线的方式分布在地球上方。每一卫星152包含高精准时钟。全球定位系统经配置使得在给定时间以高精准度知晓卫星152(例如,152a到152d)的位置及给定时间。全球定位系统的每一卫星152发射包含指示信号的发射的时间及卫星152的位置两者的信息的信号。移动装置108可经配置以接收来自指示四个卫星152(例如,152a到152d)中的每一者的信号,记录对应于移动装置108的时钟的每一信号的到达时间,确定每一信号的飞行时间,以及从飞行时间导出移动装置108的位置及从卫星152的时钟推导移动装置108的时钟两者。

所属领域的技术人员理解可用于以可能大于从蜂窝式网络101获得精准度大的精准度确定移动装置108的位置的其它技术。

例如,移动装置108可经配置以使用wlan技术且可经进一步配置以从wlan网络确定移动装置108的位置。此外,移动装置108可经配置以从2.4ghzwlan网络确定移动装置108的位置且可经配置以从5ghzwlan网络确定移动装置108的位置。例如,一些类型的移动装置108可经配置以使用wlan技术而非蜂窝式网络101。

作为另一实例,移动装置108可经配置以根据技术标准操作且可经进一步配置以从网络确定移动装置108的位置。

作为另一实例,移动装置108可经配置以从蜂窝式网络101、卫星导航系统151、wlan网络(例如,2.4ghz及/或5ghz)、网络或其类似者中的任何者的组合确定移动装置108的位置。

图2为说明根据本发明的至少一个方面的移动装置108的实施例的框图。移动装置108可包含外壳202、一或多个天线204、处理器228(其可包含主处理器206、应用程序处理器208及/或低功率核心220)、存储器210、发射器216、接收器218、一或多个传感器224及总线系统226。发射器216及接收器218的功能可并入到收发器230中。低功率核心220可为例如调制解调器、数字信号处理器(dsp)、低功率处理器(即,消耗比应用程序处理器208或主处理器206少功率的处理器),或其它专用电路。尽管经说明为处理器228的组件,但主处理器206、应用程序处理器208及/或低功率核心220可为单独组件。例如,处理器228可仅包含主处理器206,低功率核心220可为离散调制解调器组件,且应用程序处理器208可为与处理器228及低功率核心220两者分离的处理器。

处理器228可经配置以控制移动装置108的操作。在实施例中,处理器228可为移动装置108的中央处理单元(cpu)。在另一实施例中,应用程序处理器208可为移动装置108的cpu及/或图形处理单元(gpu)。存储器210可耦合到处理器228,可与处理器228通信,且可将指令及数据提供到处理器228。处理器228可基于存储在存储器210内的程序指令而执行逻辑及算术运算。存储器210中的指令可执行以执行本文中所描述的方法及过程中的一或多者。

处理器228可包含用一或多个处理器(例如,主处理器206、应用程序处理器208及低功率核心220)实施的处理系统,或为其组件。处理器206、208及220可实施有以下各项的任一组合:通用微处理器、微控制器、dsp、场可编程门阵列(fpga)、可编程逻辑装置(pld)、控制器、状态机、门逻辑、离散硬件组件、离散硬件有限状态机或可执行计算及/或操纵信息的任何其它实体。

处理系统还可包含用于存储软件的机器可读媒体。软件可广泛地解释为意指任何类型的指令,无论被称作软件、固件、中间件、微码、硬件描述语言还是其它。指令可包含代码,例如,呈源代码格式、二进制代码格式、可执行代码格式或任何其它合适格式的代码。指令在由一或多个处理器执行时可致使处理系统执行本文中所描述的功能中的一或多者。

存储器210可包含只读存储器(rom)及随机存取存储器(ram)两者。存储器210的部分还可包含非易失性随机存取存储器(nvram)。

在实施例中,移动装置108可包含用户接口,例如小键盘、麦克风、扬声器、显示屏及/或触摸屏显示器。用户接口可包含将信息传达到移动装置108的用户及/或接收来自用户的输入的任何元件或组件。然而,用户接口可在不同装置上,例如外部显示器,另一计算器件,等等。

发射器216及接收器218(或收发器230)可允许移动装置108与远程装置之间的数据的发射及接收。一或多个天线204可附接到外壳202且可电耦合到收发器230。在一些实施方案中,移动装置108还可包含多个发射器、多个接收器、多个收发器及/或多个天线(未说明)。

一或多个传感器224可为可取得物理性质的测量值且可将所述测量值转换成信号的任何装置。一或多个传感器224可包含但不限于相机、麦克风、触摸屏显示器、热传感器、磁传感器、电场传感器、光学传感器、运动传感器、加速计、惯性测量单元、压力传感器、触摸屏传感器、六自由度传感器、肖像/风景传感器、嗅觉传感器、心率传感器、化学环境传感器、生物传感器、代谢指标传感器、射频销售点交易传感器、其类似者或前述的任一组合。另外或替代地,一或多个传感器224中的至少一者可与移动装置108分离(即,在外壳202外部)。

除了基于来自全球定位系统及/或蜂窝式网络101的卫星152的信号而确定其位置,移动装置108可利用一或多个传感器224的机载惯性传感器(例如,加速计、陀螺仪,等等)来测量移动装置108的惯性状态。从这些机载惯性传感器获得的惯性测量值可结合从卫星152及/或蜂窝式网络101接收的导航信号或独立于所述导航信号用于提供对移动装置108的地理位置及前进方向的估计。

移动装置108的各种组件可由总线系统226耦合在一起。总线系统226可包含数据总线,且除数据总线外还可包含电源总线、控制信号总线及/或状态信号总线。

如将了解,移动装置108可包含图2中未说明的其它组件或元件。

另外,尽管图2中说明多个单独组件,但可组合或共同地实施组件中的一或多者。例如,可在单芯片上体现处理器228及存储器210。处理器228可另外及/或替代地含有存储器,例如处理器寄存器。类似地,可在单芯片上体现功能块中的一或多者或各种块的功能性的部分。替代地,特定块的功能性可在两个或多于两个芯片上实施。

一些移动装置108(例如,智能手机、平板计算机及其类似者)可包含操作系统。操作系统可经配置以执行安装在移动装置108上的应用程序软件。经特别设计以使用移动装置108的操作系统执行的应用程序也可被称作移动“app”。

此些应用程序的发展最初侧重于移动装置108的用户所需求的功能以利用移动装置108的可携性。这些应用程序可提供移动装108置的功能性以支持电子邮件(e-mail)、日历、个人联系信息、新闻信息、股票市场信息及其类似者。连续需求已导致例如游戏、工厂自动化(例如,现有移动app的更新)、银行业务、订单跟踪、票券购买、管理健康有关问题及其类似者的类别的移动装置108的应用程序的发展。

一些移动app可与传感器224中的至少一者交互。例如,视频销售点交易传感器可由移动app用于完成商店处的交易。例如,心率传感器可由移动app用于监视并报告移动装置108的用户的心率。

如上文所描述以高精确度确定移动装置108的位置的能力已致使基于位置的服务的发展、使用位置数据来控制特征的移动app的类别。此些移动app的值可基于:(1)对移动装置108(且,引申开来,移动装置108的用户)与和应用程序相关联的关注点(提供基于位置服务的移动app或另一移动app)之间的接近度的认知以及(2)可由此认知做出的推断。基于位置的服务的实例可包含但不限于识别货物及/或服务的特定种类的位置的产品、天气信息、社交网络应用程序(例如,追踪个体的位置)、包裹追踪、逐向导航、环境警告(空气中高浓度的特定过敏原)、用于发送对紧急援助的请求的服务及其类似者。

特定来说,由零售商及/或其它第三方针对移动装置108研发的应用程序已实施与识别货物及/或服务的特定提供者的位置、基于位置的广告、基于位置促销及其类似者有关的基于位置的服务。在被执行中,此移动app可发送对移动装置108的位置的请求以基于位置而确定响应。在被执行中,此移动app还可在研发移动app的实体的控制下将移动装置108的位置发送到服务器(未说明)。

此方法具有数个缺陷。例如,知晓移动装置108(及引申开来,移动装置108的用户)的即时位置的值限制于可从对仅移动装置108的即时位置的认知做出的相对小数目个推断。另外,例如,如果执行数个此些移动app,那么可要求处理器228响应于来自数个移动app的对移动装置108的位置的众多请求而做出对移动装置108的位置的冗余确定。此些冗余确定可以原本可由处理器228执行的其它指令为代价。此外,例如,移动装置108的用户可不想要研发移动app的实体具有对移动装置108(及引申开来,移动装置108的用户)的即时位置的认知。

然而,替代移动装置108的即时位置或除此外,对一些移动app来说,移动装置108的位置历史可能更有用。例如,移动装置108的位置历史可反映移动装置108的用户的购物、食物、锻炼等等的偏好及长期趋势。其还可反映用户可能对特定零售商的重要性。

然而,位置历史信息以结构方式当前并未被揭露且仅在每应用程序基础上由基于“云”的移动app追踪。在此情景中,每一移动app可仅有限地查看移动装置108的位置历史,如由位置api的应用程序调用所见。

因此,在高层次,本文中所揭示的系统及方法可以系统广泛基础以较低功率(例如,通过低功率核心220)追踪移动装置108的位置历史,基于位置历史而计算/产生额外元数据/标签,改变移动app权限模型以处理位置历史信息,基于对移动app的需求而揭露位置历史的不同细节层次及粒度,及基于app请求而动态地调整位置历史追踪。

允许移动app使用移动装置108的位置历史信息存在多种益处。例如,可使用位置历史来使应用程序体验对用户更定制化。作为另一实例,移动装置108的用户可使用位置历史作为资产以便通过根据隐私偏好选择性揭露位置历史来获得(例如)来自第三方的较佳提议。作为另一实例,移动装置108的用户可使用位置历史信息作为用于在数个移动app内执行操作的凭证。

因此,本文中所描述的方面产生移动装置108的位置历史记录。位置历史记录可至少包含移动装置108的位置,捕获移动装置108的位置的时间,及任选地,移动装置108在位置处的持续时间。

位置历史记录可例如通过存储在存储器210中可由移动装置108的处理器228(具体来说,在实施例中,低功率核心220)执行的软件产生。此软件可经配置(例如)为中间件以介接在移动装置108的操作系统与一或多个移动app之间。

有利地,具有由移动装置108产生的位置历史记录可减少处理器228响应于来自数个移动app的对移动装置108的位置的众多请求而对移动装置108的位置进行冗余确定的需求,且可借此使处理器228自由执行其它指令。位置历史记录可存储(例如)在移动装置108的存储器210中。对位置历史记录的存取可由移动装置108控制以使得移动装置108的用户可确定哪些应用程序可接收位置历史记录中的至少一者。

图3说明根据本发明的至少一个方面的移动装置108的架构。在图3的实例中,低功率核心220包含定位引擎322、位置压缩与分析模块324及位置历史提取/抽象模块326。定位引擎322、位置压缩与分析模块324及位置历史提取/抽象模块326可为整合于低功率核心220中或功能耦合到低功率核心的硬件组件、由低功率核心执行的软件模块,或硬件及软件的组合。

定位引擎322使用上文所描述的定位技术中的一或多种(例如,蜂窝式网络101、卫星导航系统151、wlan网络、网络等等)随时间追踪移动装置108的位置。定位引擎322的输出经高速缓存在共享存储器210中作为(例如)时间字段312a中的时间(进行位置测量的时间)与位置字段314a中的对应位置(其可为经纬度测量、接入点识别符等)关系表。这些输出可由定位引擎322基于请求从移动app330、wlan或对连接性进行的蜂窝扫描及/或其类似者收集。

位置压缩与分析模块324可将位置群集于移动装置108的位置字段314a中且估计移动装置108在那些群集中的持续时间以随时间识别移动装置108的离散位置。移动装置108的离散位置被存储在位置字段314b中且移动装置108在所述离散位置处的持续时间被存储在持续时间字段316中。移动装置处于所述位置处的时间,例如开始时间、结束时间、中值时间等等,被存储在时间字段312b中。在实施例中,时间字段312b、位置字段314b及任选地持续时间字段316在本文中可统称为“位置记录”或“定位记录”。

位置压缩与分析模块324可接着查找,或致使移动装置108查找对应于poi数据库中的群集的位置以使所识别位置与不同元数据标签318相关联。对应于位置字段314b中的群集位置的所识别位置可与来自poi数据库的元数据标签相关联,所述元数据标签例如识别位置及/或描述与所述位置相关联的一或多个活动。例如,如果对应于位置字段314b中的位置群集的位置对应于poi数据库中的safewaytmpoi,那么位置可经指派“safewaytm”、“购物”、“杂货店购物”、“熟食店”、“面包店”等等的元数据标签318。poi数据库可本地(例如,在共享存储器210中)或远程存储且可由移动装置108经由无线网路存取。

在实施例中,位置压缩与分析模块324可确定沿着道路的群集应经压缩为单个位置且经指派元数据标签318,例如“通勤”。在另一实施例中,位置压缩与分析模块324可确定短暂群集(例如,位置字段314b中的移动装置108花费小于阈值时间量的位置的群集)或无对应元数据标签的位置可被删除。

在实施例中,可使用来自一或多个传感器224的数据来扩增由位置压缩与分析模块324执行的分析且新增针对所识别位置的额外元数据标签318。例如,位置字段314b中的位置群集可在poi数据库中识别为对应于公园。来自一或多个传感器224的加速计的数据可指示在定位引擎322测量到位置字段314b中的表示的位置时移动装置108的用户正在跑步。因此,位置压缩与分析模块324可针对所识别位置指派例如“跑步”的额外元数据标签318。

在实例中,元数据标签318可为实际传感器数据。例如,用户可已在移动装置108的给定位置处在给定持续时间期间维持75bpm的平均心率(如在图5的502g中)。元数据标签318可包含其它统计,例如标准偏差、最大值、最小值,等等,如下文参考图7所论述。另外,元数据标签318可基于所支配标签改变或记录。例如,如果元数据标签318正在“跑步”,那么移动装置108可记录每一秒的心率且将其存储作为传感器元数据。

作为另一实例,位置字段314b中的位置群集可对应于通勤上班的移动装置108的用户。一或多个传感器224中的一者可检测到移动装置108正在播放音乐,或用户正在听无线电上的音乐。因此,位置压缩与分析模块324可针对所识别位置指派例如“听音乐”的额外元数据标签318。

作为另一实例,位置字段314b中的位置群集可对应于特定购物位置的移动装置108的用户。一或多个传感器224中的一者可检测到移动装置108在购物位置进行支付。因此,位置压缩与分析模块324可针对所识别位置指派例如“进行采购”的额外元数据标签318。

在实施例中,位置历史记录可包含时间字段312b、位置字段314b、持续时间字段316及元数据标签318。

由于由位置压缩与分析模块324执行分析可为计算密集的,因此可在移动装置108连接到电源时而非在收集时间字段312a中的时间及位置字段314a中的位置时实时执行执行这些操作。

位置历史提取/抽象模块326经由应用程序处理器208从移动app330接收对位置历史记录及/或与位置历史记录相关联的信息(例如,时间字段312b、位置字段314b、持续时间字段316及元数据字段318的子集)的请求。应注意,对位置历史记录/与位置历史记录相关联的信息的请求与来自用以测量移动装置108的位置字段314a中的位置的请求(其如上文所述还可从移动app330接收)的请求分离。如本文中将进一步描述,对位置历史记录/与位置历史记录相关联的信息的请求可包含关于筛选与位置历史记录相关联的信息的一或多个准则。

图4说明根据本发明的至少一个方面的与从移动装置108的位置字段314a中的位置导出的位置相关联的元数据标签的实例性树状结构400。树形结构400的根410可与指示每一子树的类型及大小的元数据相关联。元数据可指示子树的类型(在图4的实例中,购物、就餐、健身房及其它)、子树的大小、孩子的数目,及/或子树的总结。如下文将描述,子树的大小可指示在所述分类中的一或多个位置处所花费的时间。子树的总结可为时间周期(例如,过去两个月)内的信息的总结。

如在图4中所说明,树形结构400包含第一层级420,所述第一层级具有四个实例位置类别:购物、就餐、健身房及其它的。树形结构400的第二层级430将购物类别划分成杂货店购物及服装店购物的子类别且将就餐类别划分成快餐及饭店的子类别。树形结构400的第三层级440将杂货店购物的子类别划分成safewaytm、traderjoestm及wholefoodstm的进一步子类别。树形结构400的第四层级450对应于树形结构400的叶节点。叶节点提供详细位置及时间(例如,持续时间)信息。如将了解,尽管图4仅说明四个层级,但可存在树形结构400的更多或更少层级。

如可见,图4说明各种位置(通过将位置群集在移动装置108的位置字段314a中所确定)可以渐增水平的粒度/专一性被指派多个元数据标签。如果移动装置108的用户比其它更频繁访问特定位置,那么与所述位置相关联的子树可能比与其它位置相关联的子树更发达。例如,位置压缩与分析模块324可针对特定位置存取缺省数目或水平的元数据标签。因为移动装置108对位置进行额外访问,移动装置108可存取与位置相关联的额外元数据标签。额外元数据标签可为关于位置的更特定信息。例如,如果位置为safewaytm杂货店,如图4中所说明,那么位置压缩与分析模块324可在第一次访问时从poi数据库检索前两个层级的购物及杂货店购物的元数据标签。在随后访问时,位置压缩与分析模块324可检索第三层级的safewaytm的元数据标签。在又一随后访问时,位置压缩与分析模块324可检索第四层级的熟食店、面包店及药店(未说明)的元数据标签。

以此方式,针对对当前请求与位置历史记录相关联的信息(例如图4中所说明的元数据标签)的移动app较不重要的节点,与位置历史记录相关联的信息可仅包含第一层级的元数据标签。例如,健身房子树可不包含额外子类别,因此移动装置108的用户在过去两周中仅在健身房花费一小时。因此,基于用户的活动及来自移动app的请求,可将更多资源分配给一些树节点而非其它节点。

在实施例中,在关于位置的元数据标签基于由一或多个传感器224收集的数据而以元数据标签扩增的情况下,用户访问位置越频繁,位置压缩与分析模块324将具有越多机会来从一或多个传感器224收集数据且借此基于所述数据而新增关于位置的元数据标签。例如,在位置为移动装置108的用户常去的公园的情况下,一或多个传感器可检测到在一次访问时用户跑步穿过公园,在另一访问时用户步行穿过公园,在另一访问时用户在公园中的游乐场附近逗留一时间周期,等等。因此,位置压缩与分析模块324可基于这些活动而将额外元数据标签指派到公园位置。

图5为说明根据本发明的至少一个方面的存储在移动装置108的存储器210中实例性关系表500的图。关系表500可经配置以存储位置历史记录502a到502z。位置记录可对应于位置列506及时间列504以及任选地对应于持续时间列510。时间列504中的时间、位置列506中的位置及持续时间列510中的持续时间可分别对应于图3中的时间字段312b中的时间、位置字段314b中的位置以及持续时间字段316中的持续时间。位置历史记录包含位置记录且进一步对应于由列508、最后请求列512、请求频率列514、传感器信息列516及位置识别符(id)列518提供的。尽管经说明为与位置历史记录502a到z组合,但位置记录可存储为及/或称作为单独记录。

尽管图5中未说明,但关系表500可包含额外列,例如对应于图4中所说明的元数据标签的每一层级的一或多个列。例如,safewaytm位置历史记录502d、502e及502i中的一或多者可包含针对购物、杂货店购物、熟食店、面包店及/或药店的元数据标签的额外列,此取决于移动装置108的用户已对safewaytm进行访问的数目。

图6为说明根据本发明的至少一个方面的用于产生位置记录的方法600的流程图。在框602处,处理器228接收来自移动app的位置定点速率请求。在实施例中,请求可定义移动app想要确定移动装置108的位置的频率。如下文所描述,低功率核心220可独立于来自移动app的请求而确定移动装置108的位置及确定移动装置108的位置的速率。例如,低功率核心220可确定执行位置定点的缺省速率,但基于来自移动app的请求可更新所述缺省速率,如下文参考604所论述。

在实例中,低功率核心220可产生每一位置定点的位置记录(例如,针对图3中的位置字段314a中的每一位置)。替代地,低功率核心220可产生关于对应于移动装置108的位置的群集的每一位置的位置记录(例如,关于对图3中的位置字段314b中的每一位置)。如参考图3所论述,“位置记录”或“定位记录”可为给定时间处移动装置108的位置的记录,且可为例如位置的地理坐标及对应时间戳。替代地,低功率核心220可产生关于仅某些位置定点的位置记录。例如,如果移动装置108自从最后位置定点起已移动超过阈值距离,那么低功率核心220可仅产生位置记录。

所请求频率可基于移动装置108到一或多个关注点的接近度、移动装置108的移动量或其任一组合。例如,移动装置108,具体来说,低功率核心220可每一分钟产生位置记录。然而,咖啡店starbuckstm的移动app可在移动装置108在starbuckstm店附近或在其处的任何时间请求移动装置108每一秒产生位置记录。starbuckstm移动app可在例如初次打开应用程序时将此请求发送到处理器228。低功率核心220可评估此请求且调整其确定移动装置108的位置且基于移动装置108到一或多个关注点的接近度而产生对应位置记录的频率。在此情景中,starbuckstm移动app将仅需要发送请求一次,且starbuckstm移动app可被关闭但低功率核心220将基于请求产生定位定点/位置记录。

另一实例中,移动装置108可再次每一分钟产生位置记录。然而,计步器应用程序可在移动装置108正移动或在最后分钟移动时请求移动装置108每一秒产生位置记录。

在实施例中,产生一或多个位置记录的请求可包含用以使用位置不确定性阈值或其任一组合的定位技术。

在实施例中,位置顶点速率请求还可包含传感器速率请求,即,用以从一或多个传感器224以给定速率采样数据的请求。例如,计步器应用程序可请求每当移动装置108已在最后一分钟移动时,一或多个传感器224的汗液传感器应每秒产生/采样数据且每十秒产生位置记录。

在实施例中,用以产生一或多个位置记录的请求可包含用以基于移动装置108到一或多个关注点的接近度、移动装置的移动或其任一组合而从一或多个传感器224产生数据的请求。例如,健身应用程序可请求每当移动装置108接近健身房时每一秒产生位置记录且每30秒对来自心率传感器的数据进行采样。

在另一实例中,杂货商店safewaytm的移动app可请求每当移动装置108接近safewaytm店的结账队伍时,启用移动装置108的一或多个传感器224的射频销售点交易传感器。此通过预期对使用移动装置108来完成safewaytm店处的交易的需求来为移动装置108的用户提供有价值服务。有利地,在不存在来自移动app的对用以改变射频销售点交易传感器的样本速率的传感器速率请求的情况下,维持射频销售点交易传感器处于不作用状态可使处理器228自由执行其它指令,可限制存储器210的消耗,可延长移动装置108的电源(例如,电池)可在需要充电之前为移动装置108提供功率的时间持续时间,或前述的任一组合。

在实施例中,用以产生一或多个位置记录的请求可包含超越由应用程序进行的一或多个先前请求的越权控制。

在框604处,低功率核心220确定用于确定移动装置108的位置的一或多个参数、用于从一或多个传感器224对数据进行采样的一或多个参数,或其任一组合。

在实施例中,一或多个移动app可发出具有不同要求的多个请求,且低功率核心220可确定是否可能服务所有要求。在实施例中,低功率核心220可在低功率核心220不能够服务先前请求中的所有要求的情况下利用最后请求,及/或利用来自先前请求的尽可能多的先前要求。在一些状况下,低功率核心220可利用具有最高粒度的要求。例如,一个移动app可请求在移动装置108移动时每十秒请求位置,第二移动app可在移动装置108移动时每一秒请求位置。在此情况下,低功率核心220可利用较高频率来产生位置记录且每秒确定移动装置108的位置。

在框606处,低功率核心220基于用于确定移动装置108的位置的一或多个所确定参数而设置移动装置108的位置定点速率,且如果还请求,那么基于用于从一或多个传感器224采样数据的一或多个参数而设置由一或多个传感器224捕获/产生数据的采样速率。

在608处,定位引擎322可基于606处设置的位置定点速率而获得移动装置108的位置,且如果请求,那么可基于606处设置的采样速率而从一或多个传感器224采样数据,如上文所论述。替代地或另外,定位引擎322可独立于位置顶点速率请求而获得移动装置108的位置。例如,移动装置108可周期性确定移动装置108的位置,即使不存在请求移动装置108的位置的应用程序。此允许移动装置108一旦接收到应用程序对移动装置108的位置的请求即快速地服务所述请求,且其使得上下文感知能够改进用户的体验。

定位引擎322可将获得移动装置108的位置的时间存储在时间字段312a中。在实施例中,可以各种方式(例如,新纪元时间、日历时间,等等)中的任一者存储获得位置的时间,例如时间字段312a/b中的时间。

定位引擎322可将所获得位置存储在位置字段314a中。在实施例中,可将移动装置108的位置存储在位置字段314a/b中作为一或多个地理坐标。在另一实施例中,位置可包含地理坐标但还包含一或多个相对坐标。例如,移动装置108可处于具有信标的室内位置,但信标位置可未经设置成地理坐标系统,因此移动装置108位置可包含地理坐标以及相对于信标的一或多个坐标。在实施例中,移动装置108还可从一或多个传感器224获得数据。例如,移动装置108可从心率传感器获得传感器数据。在实施例中,可以与移动装置108的位置相同的速率获得来自一或多个传感器224的数据。在实施例中,移动装置108可独立于来自应用程序的对来自一或多个传感器224的数据进行采样的请求而从一或多个传感器224获得数据。

图7为说明根据本发明的至少一个方面的用于产生移动装置108历史记录的方法700图。在方法700中,在框702处,移动装置108(具体来说,位置压缩与分析模块324)产生位置记录,例如时间字段312b及位置字段314b,如上文参考图3所描述。

在框704处,移动装置108(具体来说,位置压缩与分析模块324)可在位置记录中所指示的一或多个位置处确定移动装置的持续时间,例如图3中的持续时间字段316中的持续时间。移动装置108的位置压缩与分析模块324可通过取得处于相同或类似位置处的第一时间记录与最后时间记录之间的时间差来确定移动装置108已处于特定位置处的持续时间。例如,位置压缩与分析模块324可存取同一位置处的一系列时间及位置记录,其中系列中的第一时间记录与最后时间记录之间的时间差为一小时,接着位置压缩与分析模块324可产生位置的位置实例记录及为一小时的持续时间。

在实施例中,位置压缩与分析模块324可使用阈值来确定两个或多于两个位置是否类似且应群集在一起,如上文参考图3所论述。例如,位置压缩与分析模块324可使用阈值10%,使得第二位置必须在第一位置的10%内。在另一实例中,位置压缩与分析模块324可使用阈值100英尺,使得第一位置与第二位置之间的距离必须为100英尺或小于100英尺以被视为应群集的类似位置。

在实施例中,移动装置108的位置压缩与分析模块324可确定对应于一或多个时间及位置记录的一或多个关注点。如果一或多个时间及位置记录对应于一或多个类似关注点,那么位置压缩与分析模块324可基于一或多个类似关注点而产生一或多个位置历史记录且基于一或多个时间记录而确定持续时间。

例如,可存在三个时间及位置记录,所述时间及位置记录具有彼此接近但明确不同且与同一关注点(例如,safewaytm杂货店)相关联的不同地理坐标。在所述情况中,位置压缩与分析模块324可产生位置历史记录,其中位置对应于safewaytm关注点,且持续时间为三个时间及位置记录中的第一时间记录与最后时间记录之间的时间差。

在另一实例中,可存在三个时间及位置记录,所述时间及位置记录具有紧接近的不同地理坐标,但所述时间及位置记录中的两者对应于safewaytm杂货店且第三时间及位置记录对应于starbuckstm咖啡店。此可在众多情况下发生,例如其中safewaytm店含有starbuckstm店/亭,safewaytm店在starbuckstm店附近,或用户从safewaytm店移动到starbuckstm店。在这些情况下,位置压缩与分析模块324可产生对应于safewaytm店的至少一个位置历史记录,其中持续时间是基于使safewaytm店作为关注点的第一记录与最后记录之间的时间差而确定,及对应于starbuckstm店的至少另一位置历史记录,其中持续时间是基于使starbuckstm店作为关注点的第一记录与最后记录之间的时间差而确定。

在实施例中,位置历史记录可对应于关注点内的路线。例如,多个时间及位置记录可对应于safewaytm店且多个时间及位置记录可指示穿过safewaytm店的移动装置108的路线。在此情况下,位置压缩与分析模块324可收集这些位置且将其作为路线包含在与位置历史记录相关联的路线。上述情形为有益的,这是因为safewaytm应用程序可在请求与位置历史记录相关联的信息时请求路线以使得safewaytm可改进其店的布局,提供优惠券,等等。

在另一实施例中,位置历史记录可为一或多个其它位置历史记录的子记录。例如,多个时间及位置记录可对应于safewaytm店且与位置历史记录相关联的主记录存储信息可经产生对应于safewaytm。然而,位置压缩与分析模块324可产生额外位置历史记录,所述额外位置历史记录经定义为从属主safewaytm记录的子位置历史记录,且每一子位置历史记录可包含移动装置108位于safewaytm店内的区域。例如,可存在指示移动装置108位于烘培区达30分钟的子位置历史记录,且另一子位置记录指示移动装置108位于生产区达五分钟。此允许应用程序接收移动装置108所处位置的更多粒度,且允许用于在需要更多粒度时组织与位置历史记录相关联的信息的更灵活方法。

在另一实施例中,位置历史记录可对应于初级关注点内的次要关注点。例如,可存在对应于bellagiotm俱乐部的多个时间及位置记录。位置压缩与分析模块324可产生关于移动装置108位于bellagiotm中或在其附近的整个持续时间的位置历史记录。然而,位置压缩与分析模块324还可产生关于bellagiotm内的各种关注点(例如出自达鲁·芝古利(dalechihuly)之手的fioridicomo)的位置历史记录,

在实施例中,位置压缩与分析模块324产生与关于最接近关注点的位置历史记录相关联的信息记录。例如,时间及位置记录可指示移动装置108位于fioridicomo枝形吊灯附近达10分钟,bellagiotm喷泉达30分钟且bellagiotm的植物园达25分钟。然而,除了产生对应于bellagiotm的关注点的单个位置历史记录,位置压缩与分析模块324可产生指示三个位置历史记录:一个关于fioridicomo,另一个关于bellagiotm的喷泉,且最后一个关于bellagiotm的植物园。

在实施例中,位置压缩与分析模块324还可产生对应于包含一或多个先前所产生位置历史记录的关注点的一或多个位置历史记录。例如,在之前实例中,位置压缩与分析模块324还可产生关于bellagiotm的位置历史记录。

在实施例中,位置压缩与分析模块324可基于先前用于产生一或多个位置历史记录的相同时间及位置记录而产生一或多个位置历史记录(即,用于产生百乐宫酒店(bellagio)喷泉的位置历史记录且现在用于产生bellagiotm位置历史记录)。具体来说,可存在指示限制的阈值,在阈值下产生对应于一或多个先前所产生位置历史记录的位置历史记录及/或使用先前所使用的时间及位置记录来产生位置历史记录。例如,阈值可经设置成城市,因此在上述实例中,在关注点为拉斯维加斯(lasvegas)的情况下,可由位置压缩与分析模块324产生另一位置历史记录。然而,位置压缩与分析模块324将不产生关于内达华州的位置历史记录,因为其将违背阈值。

在实施例中,可存在用于产生位置历史记录的最小持续时间阈值。例如,位置压缩与分析模块324可使用针对待产生的位置历史记录要求持续时间为至少五分钟长的阈值。因此,如果一或多个关注点仅具有四分钟的相关联持续时间,那么位置压缩与分析模块324将不产生位置历史记录。在另一实施例中,位置压缩与分析模块324可产生关于一或多个关注点的位置历史记录,但如果关注点的持续时间未满足阈值,那么位置压缩与分析模块324可删除位置历史记录。例如,如果阈值为十五分钟,那么图5中的位置历史记录502k可被删除,因为位置历史记录502k中的持续列510中的持续时间(五分钟)小于十五分钟。替代地或另外,如果持续时间超过或满足阈值,那么位置压缩与分析模块324可不产生位置历史记录及/或可删除位置历史记录。例如,如果阈值为一个小时且位置历史记录具有五小时的持续时间,那么位置压缩与分析模块324可删除所述特定位置历史记录。

在框706处,位置压缩与分析模块324可确定与一或多个位置记录相关联的poi的元数据标签,如上文参考图3所论述。

如上文所论述,元数据标签可包含来自一或多个传感器的传感器数据。例如,如果由移动app请求,那么元数据标签还可包含来自温度传感器的数据,如上文参考图6所论述。在实施例中,元数据标签可含有对应于位置记录的所有传感器数据。在另一实施例中,元数据标签可包含为传感器数据的平均数、传感器数据的中值、传感器数据的标准偏差或其任一组合的传感器数据。例如,可存在三个位置记录,所述位置记录对应于类似位置且与来自一或多个传感器224的心率传感器的心率数据55bpm、60bpm及65bpm相关联,且还可与来自一或多个传感器224的温度传感器的温度数据98度、98.5度及99.5度相关联。位置压缩与分析模块324可产生含有平均心率60bpm及平均温度98.67度的元数据。在实施例中,位置压缩与分析模块324可产生元数据标签,且可稍后在检索传感器数据时用来自一或多个传感器224的数据更新位置历史记录。

在实施例中,如上文参考图3所论述,元数据标签还可包含与对应poi相关联的活动。位置压缩与分析模块324可基于用户提示、用户改变、用户定义规则、预配置规则、操作系统规则、应用程序规则、机器学习、oem规则、关注点数据库、支付信息或其任一组合而确定移动装置108的活动。例如,位置压缩与分析模块324可提示用户在位置压缩与分析模块324产生与位置历史记录相关联的元数据标签时或在所述元数据标签已被产生之后对活动进行分类。例如,在用户已离开杂货店之后,可提示用户对活动进行分类,且用户可输入及/或选择“杂货店购物”的活动。处理器228可使关注点与杂货店购物相关联以供经由此用户定义规则及/或机器学习进一步交互。

在另一实例中,用户可能先前已定义商场poi为经分类为“购物”的活动。然而,在给定行程期间中,移动装置108的用户可能在已访问商场的健身房,因此用户可能例如将此行程的活动的分类改变成“健身”。位置压缩与分析模块324可利用机器学习来更佳地对活动进行分类。

在另一实例中,可针对到wholefoodstm的最近行程产生与位置历史记录相关联的元数据标签,但并非提示移动装置108的用户,位置压缩与分析模块324可存取关注点数据库,所述关注点数据库可能包含关注点(其在此状况下将为杂货店)的分类。在所述状况下,例如,位置压缩与分析模块324可利用此信息来将获得分类为“杂货店购物”。

在另一实例中,移动装置108的用户可访问位于商场中的杂货店,但定位引擎322可不能够确定准确位置以明确地识别移动装置108位于商场中的位置。位置压缩与分析模块324可产生与关于商场的位置历史记录相关联的元数据标签且将其分类为“购物”。然而,如果用户经由移动装置108上的应用提供支付信息,或可经由应用程序检索最近交易(例如,用户用物理信用卡支付但信用卡的应用程序可迅速地检索最近交易),那么位置压缩与分析模块324可利用此信息确定交易发生在杂货店,使用信息来获得关注点,且将活动分类为杂货店购物。

在实施例中,位置记录可在已产生位置历史记录之后,在位置压缩与分析模块324确定无法基于位置记录产生位置历史记录之后或其任一组合被删除。例如,位置压缩与分析模块324可确定两个位置记录并非出于同一关注点且可替代地指示移动装置108的用户正驾驶或位置映射到道路而非关注点。在所述情况下,位置压缩与分析模块324可删除这些记录。

参考图5的位置id列518,在方面中,可响应于列518中缺少位置的识别而将位置历史记录删除。例如,可响应于位置历史记录502l的位置id列518中缺少位置的识别而将位置历史记录502l删除。

处理器228还可执行用于维持位置历史数据库的各种功能。图8为说明根据本发明的至少一个方法的用于维持位置历史记录的数据库的方法800的流程图。在802处,处理器228选择位置历史记录。在804,处理器228确定是否将位置历史记录从数据库移除。

在实施例中,处理器228可将超过时间阈值的位置历史记录移除。例如,如果时间阈值为两个月,那么处理器228可删除大于两个月的位置历史记录,例如图5中的位置历史记录502z。以此方式,位置历史记录具有过久而对用户及/或应用程序无意义的时间。

在另一实施例中,处理器228可产生与一或多个位置历史记录有关的计算。通过实例且非通过限制方式,计算可包含位置历史记录的数目的计数、一或多个位置的时间持续时间510的平均数、元数据、关于一或多个位置历史记录的其它统计(例如,平均值、标准偏差,等等),或前述的任一组合。例如,处理器228可产生关于每一关注点(例如,whole)的统计,例如过去两个月中相关联关注点为whole的位置历史记录的数目、在whole处达所述时间周期的平均持续时间、最大持续时间、最小持续时间、访问不同whole店的数目、访问每一whole的位置,等等。在实施例中,还可针对关注点内的特定位置产生此信息(例如,在whole处的面包店中的平均持续时间,在whole处的结账台处的平均持续时间,等等)。可将此信息与位置历史记录一起存储及/或存储在单独数据库中。

在实施例中,处理器228可基于先前应用程序请求而确定时间周期。例如,处理器228可确定应用程序仅针对最后五个请求而请求一个月时间周期。在另一实例中,处理器228可利用应用程序做出请求的最后时间作为时间周期的开始时间且利用时间周期的结束时间作为当前日期。

基于这些各种计算,处理器228在804处确定是否将位置历史记录从数据库移除。如果处理器228确定在804处将位置历史记录移除,那么在806处,处理器228确定是否保留与所删除的位置历史记录相关联的任何信息,例如相关联元数据标签。此可包含类似于关于是否删除位置历史记录的注意事项的注意事项,例如信息的使用期限、信息的详细程度(具有较少细节的记录可指示缺少重要性)、缺少细节(具有非常少信息的记录可指示缺少重要性)、持续时间及其类似者。

如果处理器228确定删除与位置历史记录相关联的信息,那么在808处,处理器228删除信息。然而,如果处理器228确定保持与位置历史记录相关联的信息,那么在810处,处理器228将信息存储在例如存储器210中。不管怎样,在812处,处理器228删除位置历史记录。流程接着返回到802,其中处理器选择下一位置历史记录进行分析。

在实施例中,处理器228可确定具有相同活动的位置历史记录的各种统计。例如,处理器228可识别具有图4中所说明的购物活动的位置历史记录,购物活动子集(例如,safewaytm位置、traderjoe位置及whole位置)以及两个中间子集(例如,杂货店购物中间子集及服装店购物)。处理器228可进一步确定这些位置历史记录的平均时间持续时间,平均每天时间,等等。

在实例中,如果给定应用程序(例如,yelp应用程序)已接收移动装置108的用户已写入对餐厅chezlaverne、chezmaxine及chezpatricia的评论的信息,那么所述应用程序可能期望与位置历史记录(与就餐活动有关)有关的计算存取评论的合理性。如果将与位置历史记录有关的计算提供到应用程序,那么应用程序可确定移动装置108(且引申开来,移动装置108的用户)具有在过去两个月中八个不同时间位于chezlaverne的近期位置历史,其中每次访问三十分钟的平均时间持续时间。应用程序可确定对chezlaverne的评论具有高度合理性及/或价值性,且应用程序可利用此信息来调整用户的评论的权重,等等。

然而,如果将与位置历史记录有关的计算提供到应用程序,那么应用程序可确定移动装置108(且引申开来,移动装置108的用户)不具有位于chezmaxine的任何近期位置历史。应用程序可因此确定对chezmaxine的评论具有低程度的合理性。如果将与位置历史记录有关的计算提供到应用程序,那么应用程序可确定移动装置108(且引申开来,移动装置108的用户)具有在过去两个月中八十五个不同时间位于chezpatricia的近期位置历史,其中每次访问四小时的平均时间持续时间。应用程序可确定对chezpatricia的评论具有低程度的合理性,这是因为位置历史表明移动装置108的用户为chezpatricia的雇员。

本发明提供关于应用程序存取位置历史记录的权限模型。例如安卓(android)的操作系统上的当前权限并不足以揭露位置历史。当前,仅支持access_coarse_location及access_fine_location。

本发明提供额外权限以允许移动app检索位置历史记录及/或位置历史记录中的信息的子集。例如,access_coarse_lochistory的权限可允许移动app存取所有位置历史记录。access_fine_lochistory的权限还可允许移动app存取所有位置历史记录,但以较大详细程度。access_category_lochistory的权限可允许移动app存取位置历史记录以获得特定位置类别。此权限可根据类别(例如,购物、健身、就餐,等)扩展。另外,此存取性可响应于移动app为移动装置108的用户提供优惠券或其它促销而改变。如将了解,移动app可获得其它权限。

不同移动app可具有来自位置历史信息的不同需求。例如,餐厅评论应用程序可需要某些信息来审核/投票点赞(upvoting)在访问餐厅数天之后所写的评论,而健身应用程序可能需要不同信息来计数对健身房或公园的访问。百货商店应用程序可能还需要其它信息来计数百货商店或其它零售商的停留时间以修整对移动装置108的用户的提议。

因此,本发明能够基于移动app及/或移动装置108的用户的需求而揭露位置历史记录的细节层级及粒度。移动app可使用规定所请求存取的类型及层次的api来存取位置历史记录。此逻辑实施于图3中的位置历史提取/抽象模块326中,表示为“locationhistoryapi()”。可使用api所请求的信息包含检索信息的时间周期、信息的类别、与特定活动有关的位置历史信息、移动app可存取哪一信息的确定、位置历史记录的性质(例如,访问及停留时间)的计算(例如,和、中值、平均数,等等)。另外,移动app可经由api将地理围栏参数传递到位置历史提取/抽象模块326,且位置历史提取/抽象模块326可在对位置历史记录的性质执行计算时使用地理围栏信息。

对locationhistoryapi()的实例性调用可包含:

getlochistoryvisits(时间,类别)

getlochistoryvisits(时间,地理围栏)

getlochistorydwelltimes(时间,类别)

getlochistorydwelltimes(时间,活动性)

在实施例中,来自移动app的请求可包含关注点、与位置历史记录中的位置相关联的活动、活动的类别、提出请求的应用程序的类别、关注点的类别、应用程序存取位置历史记录的凭证、与位置的确定相关联的位置不确定性阈值、用于确定位置的技术、搜寻位置历史记录的时间周期、产生位置历史记录的时间、由应用程序对位置历史记录的使用、由移动装置108的传感器产生的数据的规格,或其任一组合。

在实施例中,位置历史提取/抽象模块326可通过将请求中的信息与用户提示、预设权限、预设规则、先前授予的权限或其任一组合进行比较来确定移动app是否具有存取所请求信息的权限。

在实施例中,位置历史提取/抽象模块326可通过利用用户提示来确定移动app是否具有存取所请求信息的权限。例如,在移动app的安装期间,用户可经提示以回答应用程序是否可存取用户的位置历史记录且对应用程序可从用户的位置历史记录存取的内容是否存在任何限制。还可在应用程序请求位置历史记录时显示用户提示以确定应用程序是否仍具有权限存取移动装置108的位置历史记录。

在另一实施例中,用户提示可包含额外信息,例如优惠券、奖励,等等。应用程序请求可含有可在用户提示中显示的诱导,其可以用于进一步诱使用户允许应用程序访问移动设备108的位置历史。例如,starbuckstm应用程序可请求与starbucktm店相关联的任何位置历史记录,且应用程序请求可包含允许移动装置108的用户在starbuckstm接收免费咖啡饮品以交换用户允许starbuckstm应用程序存取移动装置108的位置历史记录的诱导。

在另一实例中,承运人、制造商、操作系统开发者等等可设置移动装置108上的指示哪些应用程序可存取位置历史记录及应用程序可存取位置历史记录的程度的权限。

在实施例中,移动装置108的用户可设置指示哪些应用程序可存取位置历史记录的规则。例如,用户可设置允许所有优惠券应用程序存取移动装置108上周内已在杂货店的次数的规则。在所述情况下,如果优惠券应用程序替代地请求关于用户已去百货商店的次数的位置历史信息,那么请求可被拒绝或用户可被提示。

在另一实例中,用户可允许购物应用程序存取与对应存储位置相关联的位置历史信息。因此,在用户安装新的购物应用程序时,位置历史提取/抽象模块326通过机器学习可存取用户的权限模式且针对新的购物应用程序将此权限设置为缺省。

在另一实例中,用户可能先前始终允许应用程序存取移动装置108的位置历史记录,因此位置历史提取/抽象模块326可针对此特定请求授予应用程序对移动装置108的位置历史记录的存取而无需必须提示用户。

在实施例中,位置历史提取/抽象模块326可在请求应用程序请求位置历史信息时提示用户,且位置历史提取/抽象模块326可基于用户对提示的响应而确定应用程序是否可存取位置历史记录。例如,在应用程序请求位置历史信息时,可对用户显示提示以回答应用程序是否可存取位置历史信息,且提示可显示请求的程度。

另外,应用程序请求可包含允许移动装置108的用户恰当地控制移动装置108的位置历史的隐私的信息。例如,参考图9,位置历史信息可含有关于移动装置108的路线(表示为系列点910)的详细信息,及与所述路线相关联的详细心率传感器信息。系列点910可表示周期性gps定点处的移动装置108的位置。位置历史记录还可含有移动装置108的路线的较高级视图,其中移动装置108的位置可对应于移动装置108位于其范围内且可存取的多个接入点(例如,wlan接入点、接入点,等等)的覆盖区域920。最终,位置历史记录可含有移动装置108的位置较高级视图,其中移动装置108的位置可对应于服务移动装置108的蜂窝式基站的覆盖区域930。

在计步器应用程序的状况下,移动装置108的用户可准许应用程序存取移动装置108的详细路线(即,系列点910),但不存取与路线相关联的心率传感器信息。然而,在权重损失应用程序的状况下,用户可准许应用程序存取与移动装置108的路线相关联的心率传感器信息。然而,用户可限制权重损失应用程序的权限以仅接收对记录心率传感器信息的位置的高级区域930,而非提供对移动装置108的路线的存取。

在实施例中,对位置历史信息的请求中的信息可用于筛选位置历史记录。例如,对位置历史信息的请求可包含类别或子类别,例如杂货店购物。位置历史提取/抽象模块326可确定请求应用程序是否可存取与杂货店购物相关联的位置历史记录,且如果请求应用程序可存取与杂货店购物相关联的位置历史记录,那么可筛选位置历史记录以仅包含具有与“杂货购物”相关联的关注点的位置历史记录。

参考图5,例如,位置历史记录502a到z将经筛选以包含来自safewaytm的位置历史记录(其包含位置历史记录502d、502e及502i),及来自wholefoodstm的位置历史记录(其包含位置历史记录502f)。然而,其将不包含与7-eleventm相关联的位置历史记录(例如,502m),这是因为其未经分类为“杂货店购物”。

在实施例中,请求可包含位置历史记录的粒度水平的指示,本文中被称作位置粒度。例如,应用程序可能想要知晓用户位于特定商店中的位置、用户在商店内的特定位置处花费的持续时间、用户在商店内的路线,等等,而不同应用程序可能仅想要知晓用户位于商店的次数。位置历史记录可基于不同应用程序需求、用户权限、可用于确定位置的技术,等等而包含变化程度的位置粒度。例如,与杂货店相关联的应用程序可希望知晓用户的精确位置(例如,图9中的系列点910)以辅助商店内的路线规划、广告的布置,等等,而优惠券应用程序可能需要用户已去特定商店的次数以向用户提供奖励优惠券。在另一实例中,用户可准许一个应用程序存取高精准位置数据(例如,图9中的系列点910),而仅准许另一应用程序存取低精准位置数据(例如,图9中的覆盖区域920或930)。

在实施例中,结果可包含用于应用程序的凭证,例如密钥。位置历史提取/抽象模块326可利用凭证来确定是否准许应用程序存取位置历史记录。例如,位置历史提取/抽象模块326可将来自请求的密钥与和位置历史记录相关联的密钥进行比较以确定是否准许应用程序存取位置历史信息。密钥可经存储作为位置历史记录502a到502z中的至少一者的字段或经存储在存储器210的不同部分中。

密钥可经存储且与以下各项相关联:关注点类别、活动类别、应用程序的类别、一或多个关注点、一或多个活动、与移动装置108的位置的确定相关联的位置不确定性临限值、用于确定移动装置108的位置的技术、位置历史记录的时间周期、产生位置历史记录的时间、由应用程序进行的位置历史记录的使用、应用程序的名称、由移动装置的传感器产生的数据,或其任一组合。

在实施例中,对存取位置历史记录的请求可包含位置不确定性及/或位置技术。例如,图5中的位置历史记录502e可包含仅从蜂窝式网络101获得位置列506中的位置且位置历史记录502d可包含从蜂窝网络101及另一源(例如,wifi)获得位置列506中的位置。因此,如果请求将位置技术限制于wifi且移动app具有存取位置历史记录的权限,那么所传回信息限制于位置历史记录502d。在另一实例中,其中位置历史记录502e具有1千米的位置不确定性且位置历史记录502d具有50米的位置不确定性,且其中请求包含大于500米的位置不确定性,那么应用程序可存取位置历史记录502e。然而,如果请求包含小于500米的位置不确定性,那么应用程序可存取位置历史记录502d。

在实施例中,请求可包含时间周期,其中位置历史记录限制于在时间周期内的记录。时间周期可规定创建位置历史记录的时间,确定位置的时间,等等。例如,参考图5,如果请求包含从2014年7月14日12:00pm到2014年7月14日3:00pm的时间周期(且处理器228已确定应用程序具有存取位置历史记录的权限),那么将位置历史记录502i(其在从2014年7月14日12:00pm到2014年7月14日12:30pm的时间周期内)提供到应用程序。

在另一实例中,用户可启用隐私模式,所述隐私模式从启用隐私模式的时间周期起阻挡一或多个应用程序存取位置历史记录。移动装置108的用户可能希望限制将移动装置108的位置历史记录共享于一个应用程序,但可仅想要暂时如此而无需改变权限设置。因此,用户可启用隐私模式且使得所述应用程序能够继续存取移动装置108的位置历史记录。在所述情况下,甚至在用户已禁用隐私模式之后,可不准许其它应用程序存取在装置处于隐私模式的时间周期内所产生的位置历史记录。

在实施例中,请求可包含将使用位置历史信息的方式。例如,用户可设置可准许基于移动装置108的位置历史提供奖励的任何应用程序存取移动装置108的位置历史记录的规则。在所述情况下,如果应用程序请求指示应用程序正利用位置历史来将促销提议发送到移动装置108的用户,那么位置历史提取/抽象模块326可准许应用程序存取位置历史记录,且还可基于位置历史记录的使用筛选位置历史记录。

在另一实施例中,移动装置108的用户可允许应用程序基于应用程序的位置历史记录的使用而允许应用程序存取位置历史记录。在所述情况下,位置历史提取/抽象模块326将位置历史记录在请求中的使用与由用户准许的位置历史记录的使用进行比较,且接着基于所述比较而确定应用程序是否可存取位置历史记录。

在实施例中,请求可包含应用程序的名称。例如,参考图5,如果请求包含whole作为应用程序的名称,那么位置历史提取/抽象模块326可确定应用程序是否可存取与whole记录502f相关联的位置历史记录。

在实施例中,应用程序可请求含有由移动装置108的一或多个传感器224的特定传感器产生的数据的位置历史记录。例如,参考图5,应用程序可请求包含来自心率传感器的数据的位置历史记录,例如,位置历史记录502g,其在字段516中包含由心率传感器产生的信息(即,75bpm)。用户可允许特定应用程序存取传感器数据,例如健身应用程序,但可能想要控制哪些其它应用程序可存取此敏感数据。

在其它状况下,用户可经劝说与应用程序共享位置历史信息。例如,应用程序可被捆绑于恐怖电影且可在用户处于电影院时给予用户所述恐怖电影的免费票以交换监视用户的心率。在另一实例中,应用程序可被捆绑于药品试验且用户可想要与应用程序共享信息作为药品试验的部分(例如,远程患者监视)。在此状况下,为制药公司提供用户整天的各种传感器信息可允许较佳地理解药品的的副作用,等等。

在实施例中,应用程序请求可包含应用程序想要从位置历史记录导出哪种信息。例如,参考图5,从位置历史记录502d导出的数据可包含从蜂窝式网络101及另一源获得位置列506中的位置,且来自应用程序的对位置历史记录502d的最近请求的时间为2014年7月146:10pm。例如,应用程序可请求在过去三十天内用户去safewaytm的次数,且用户可准许此应用程序存取所导出的信息。在位置历史提取/抽象模块326已确定准许应用程序存取从位置历史记录导出的数据之后,位置历史提取/抽象模块326可确定从位置历史记录导出的信息。

在此方面中,从位置历史记录导出的数据可包含移动装置108已处于给定位置的次数及/或移动装置108已与给定活动相关联的次数。例如,safewaytm应用程序可请求关于safewaytm的位置历史记录的数目的计数、关于safewaytm的位置历史记录的全部的时间持续时间510的平均数、关于safewaytm的位置历史记录的其它统计(例如,平均值、标准偏差,等)及其类似者,或前述的任一组合。

在实施例中,应用程序可能够修改位置历史中的信息。例如,与whole相关联的应用程序可确定用户在特定时间位于特定whole且应用程序可能具有用户仅从whole的咖啡馆购买食物的认知。因此,应用程序可检索对应位置历史记录,如果其具有权限,且将其从“杂货店购物”重新分类到“就餐”,而仍保持经分类为杂货店购物的其它位置历史记录。此允许应用程序利用其可能具有关于用户的信息且更新位置历史记录以使得其经恰当分类。

在实施例中,提供到应用程序的位置历史信息可包含从位置历史记录导出的数据,且还可包含基于位置历史记录的总结描述及/或计算。例如,总结描述可包含位置历史记录的识别符(其可为图5中的每一位置历史记录502a到z的额外字段)及/或描述位置历史记录的叙述。例如,针对图5中的位置历史记录502d,叙述可为“2014年7月14日在safewaytm杂物店购物”。

在实施例中,可响应于由一或多个传感器224产生的数据而更新与位置历史记录相关联的活动元数据标签。例如,活动可经设置为购物,这是因为关注点被识别为商场。然而,来自心率传感器的传感器数据可指示可与跑步或锻炼相关联的高心率,因此可将活动书签更新到“锻炼”。在一些情景中,来自加速计及陀螺仪的额外传感器数据可指示来自移动装置108的步调且加速度步速指示用户正在跑步,因此位置历史记录的活动可被细分类为“跑步”。在另一实例中,参考图5,如果一或多个传感器224中的一者为心率传感器且由心率传感器产生的数据指示移动装置108的用户具有高于安静心率的心率,那么步行活动可更新为跑步活动。

在实施例中,移动装置108可基于从移动app接收的请求而动态地调整位置历史追踪及高速缓存。应用程序请求可用于以数种方式执行经改进位置历史追踪。例如,如果应用程序做出移动装置108提前知晓的请求,那么分析模块可在已做出应用程序请求的区域中执行停留时间的精细粒度追踪,在需要的情况下降替代定位技术用于所请求类别,基于应用程序请求而登记额外传感器(例如,支付系统、音乐播放器、视频播放器、计步器,等等),在无任何当前应用程序请求匹配其时将群集从高速缓存的位置历史移除,及其类似者。另外,先前应用程序请求可用作用户可在未来下载移动app的类别的预测器。上述情形还可用于决定哪一位置历史信息对用户重要。

图10为说明根据本发明的至少一个方面的用于将与移动装置的位置历史相关联的信息提供到一或多个应用程序的方法1000的流程图。在1002处,移动装置108的处理器228(例如,位置压缩与分析模块324)可基于移动装置的一或多个位置而产生一或多个位置历史记录,如上文参考图7所描述。可以第一周期性速率确定移动装置的一或多个位置,且每一位置历史记录可包含一或多个关注点且一或多个关注点处的移动装置的持续时间。

在1004处,移动装置108的处理器228(例如,位置历史提取/抽象模块326)接收来自一或多个应用程序中的至少一个应用程序的信息请求。

在1006处,移动装置108的处理器228(例如,位置历史提取/抽象模块326)确定满足来自信息请求的准则的一或多个位置历史记录的子集。

此1008处,移动装置108的处理器228(例如,位置历史提取/抽象模块326)基于信息请求及一或多个位置历史记录的子集而确定至少一个应用程序的权限等级。

在1012处,移动装置108的处理器228(例如,位置历史提取/抽象模块326)基于所述至少一个应用程序的所述权限等级而将与所述一或多个位置历史记录的所述子集相关联的信息提供到所述至少一个应用程序。信息可为位置历史记录的子集的各种字段及/或从位置历史记录的子集导出的信息的全部或子集。

图11说明表示为一系列相关功能模块的实例性用户装置设备1100。用于产生的模块1102可至少在一些方面中对应于例如处理系统,例如图2中的处理器228,如本文中所论述。用于接收的模块1104可至少在一些方面中对应于例如处理系统,例如图2中的处理器228,如本文中所论述。用于确定的模块1106可至少在一些方面中对应于例如处理系统,例如图2中的处理器228,如本文中所论述。用于确定的模块1108可至少在一些方面中对应于例如处理系统,例如图2中的处理器228,如本文中所论述。用于提供的模块1110可至少在一些方面中对应于例如处理系统,例如图2中的处理器228,如本文中所论述。

图11的模块的功能性可以与本文中的教示一致的各种方式实施。在一些设计中,这些模块的功能性可实施为一或多个电组件。在一些设计中,这些块的功能性可实施为包含一或多个处理器组件的处理系统。在一些设计中,这些模块的功能性可使用例如一或多个集成电路(例如,asic)的至少部分来实施。如本文中所论述,集成电路可包含处理器、软件、其它有关组件或其某一组合。因此,不同模块的功能性可实施为(例如)集成电路的不同子组,作为软件模块组的不同子组,或其组合。此外,将了解,(例如,集成电路及/或软件模块组的)给定子组可为多于一个模块提供功能性的至少一部分。

另外,图11表示的组件及功能以及本文中所描述的其它组件及功能可使用任何合适的装置实施,此些装置还可如本文中所教示至少部分地使用对应结构来实施。例如,上文结合图11的用于组合的“模块”所描述的组件可对应于类似指定的用于功能性的“装置”。因此,在一些方面中,此些装置中的一或多者可如本文中教示使用处理器组件、集成电路或其它合适的结构中的一或多者实施。

所属领域的技术人员理解,本文中参考一个图所描述的特征可与本文中参考其它图所描述的特征互换,且缺少参考特定图对特定图的描述并不排除将特定特征并入到由特定图所说明的方面的实例中。

所属领域的技术人员了解,可使用各种不同技艺及技术中的任一者表示信息及信号。举例来说,可通过电压、电流、电磁波、磁场或磁性粒子、光场或光学粒子或其任一组合来表示可贯穿以上描述所参考的数据、指令、命令、信息、信号、位、符号及码片。

此外,所属领域的技术人员了解,结合本文中所揭示的方面所描述的各种说明性逻辑块、模块、电路及算法操作可实施为电子硬件、计算机软件或两者的组合。为清楚地说明硬件及软件的此可互换性,上文通常已就其功能性方面描述了各种说明性组件、块、模块、电路及操作。此功能性是实施为硬件还是软件取决于强加于整个系统的特定应用及设计约束。虽然所属领域的技术人员可针对每一特定应用以变化方式实施所描述功能性,但不应将此些实施方案决策解释为导致对本文中所揭示方面的范围的脱离。

结合本文中所揭示的实施方案所描述的各种说明性逻辑块、模块及电路可通过以下各项来实施或执行:通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、场可编程门阵列(fpga)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其经设计以执行本文中所描述的功能的任一组合。通用处理器可为微处理器,但在替代方案中,处理器可为任何习知处理器、控制器、微控制器或状态机。还可将处理器实施为计算装置的组合,例如dsp与微处理器的组合、多个微处理器、结合dsp核心的一或多个微处理器或任一其它此类配置。

结合本文中所揭示方面所描述的方法、序列及/或算法可直接以硬件、由处理器执行的软件模块或两者的组合实现。软件模块可驻存于随机存取存储器(ram)、快闪存储器、只读存储器(rom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、寄存器、硬盘、可拆卸磁盘、光盘只读存储器(cd-rom)或此项技术中已知的任一其它形式的存储媒体中。示范性存储媒体耦合到处理器使得处理器可从存储媒体读取信息及将信息写入到至存储媒体。在替代方案中,所述存储媒体可与处理器成整体。

因此,本发明的方面可包含体现用于产生移动装置108的位置历史记录的方法的计算机可读媒体。因此,本发明并不限于所说明实例且用于执行本文中所描述的功能性的任何装置被包含的本发明的方面中。

虽然前述揭示内容展示本发明的说明性方面,但请注意,可在本文中作出各种改变及修改而不脱离如随附权利要求书所界定的本发明的范围。根据本文中所描述的本发明的方面的方法权利要求书的功能、操作及/或动作不需要以任何特定次序执行。此外,尽管本发明的元件可以单数形式进行描述或主张,但涵盖复数形式,除非明确地陈述对单数形式的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1