首页> 中国专利> 具有本地化应用程序推荐的移动设备

具有本地化应用程序推荐的移动设备

摘要

移动设备可提供与感兴趣位置相关的应用程序推荐。可触发本地化应用程序推荐(例如,通过移动设备进入应用程序热点的阈值距离内或通过一些其他用户操作)。可确定感兴趣位置。感兴趣位置可为移动设备的当前位置或其他位置(例如,地图应用程序中的目的地)。使用感兴趣位置,可通过表示感兴趣位置的位置数据来查询具有应用程序热点数据的本地化应用程序排序数据库。应用程序推荐可被接收并显示在移动设备上。与感兴趣位置相关的应用程序图标可在视觉上区别于其他应用程序。

著录项

  • 公开/公告号CN104813316A

    专利类型发明专利

  • 公开/公告日2015-07-29

    原文格式PDF

  • 申请/专利权人 苹果公司;

    申请/专利号CN201380027847.2

  • 申请日2013-05-23

  • 分类号G06F17/30(20060101);

  • 代理机构11256 北京市金杜律师事务所;

  • 代理人王茂华;黄倩

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 10:02:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-03-02

    授权

    授权

  • 2015-08-26

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20130523

    实质审查的生效

  • 2015-07-29

    公开

    公开

说明书

相关专利申请

本专利申请为美国临时专利申请61/655,427(代理人案卷号 90911-839726)(提交于2012年6月4日)、美国临时专利申请 61/657,403(代理人案卷号90911-842936)(提交于2012年6月8 日)和美国临时专利申请61/699,705(代理人案卷号90911-851278) (提交于2012年9月11日)的非临时性专利申请,并且要求上述 专利申请的优先权,其内容以引用方式并入以用于所有目的。

背景技术

本公开整体涉及具有本地化应用程序推荐的移动设备,并且更 具体地涉及使用众包应用程序使用数据以基于位置向移动设备的用 户提供相关的应用程序推荐。

移动计算设备诸如智能电话、平板电脑、媒体播放器、便携式 计算机等普遍存在。人们在日常活动中越来越依赖于移动设备。移 动设备可运行被设计用于帮助用户执行特定任务的软件应用程序或 应用程序。用户拥有可供选择的大量应用程序。例如,应用程序商 店SM中有成千上万的可用的应用程序。应用程序已被数以百万计地 下载并使用。应用程序商店SM已提供数以亿计的应用程序以供下载。 在存在大量可用的应用程序的情况下,用户很难找到最有用的应用 程序。

本发明的实施例单独或共同解决了这一问题和其他问题。

发明内容

在一些实施例中,移动设备可提供与感兴趣位置相关的应用程 序推荐。可触发本地化应用程序推荐(例如,通过移动设备进入应 用程序热点的阈值距离内或通过一些其他用户操作)。可确定感兴 趣位置。感兴趣位置可为移动设备的当前位置或其他位置(例如, 地图应用程序中的目的地)。使用感兴趣位置,可通过表示感兴趣 位置的位置数据来查询具有应用程序热点和数据应用程序排序/评分 信息的本地化应用程序排序数据库。应用程序推荐可接收并显示在 移动设备上。例如,与感兴趣位置相关的应用程序图标能够在视觉 上区别于其他应用程序。以下进一步描述本发明的这些实施例和其 他实施例。

附图说明

图1为根据本发明的实施例的移动设备的框图。

图2示出根据本发明的实施例的系统的高级框图。

图3A和3B示出根据本发明的某些实施例的用于提供应用程序 推荐的过程的高级流程图。

图4示出根据本发明的实施例的系统的高级框图。

图5示出根据本发明的实施例的用户触发的应用程序推荐的示 例用户界面。

图6A和6B示出根据本发明的实施例的用于视觉上区分本地相 关的应用程序的示例用户界面。

图7A和7B示出根据本发明的实施例的用于将应用程序推荐结 合到其他应用程序中的示例用户界面。

图8示出根据本发明的实施例可使用的示例性计算机装置。

图9示出根据本发明的实施例可使用的示例性移动设备。

具体实施方式

在存在大量可用的应用程序的情况下,为用户提供用于更易于 发现相关的应用程序并过滤不太相关的应用程序的机制将是有益 的。可相对于特定任务或目标或者更一般地相对于给定活动来定义 相关性。可将应用程序相关性定义如下:如果应用程序Xi以使执行 Aj成为可能(或更快、或更简单、或更令人愉快)的方式来支持开 展活动Aj,或者其在执行Aj时以不同方式提供改进的用户体验,则 应用程序Xi与给定活动Aj相关。因此,使用户能够发现与用户需 要执行的或其感兴趣的活动相关的应用程序将是有益的。

在时空本地化和相关性之间通常存在联系。即,人们常常表现 出时间和空间上的高度规律性。例如,人们可能去一些经常光顾的 位置。由于在经常光顾的位置处进行的活动和/或在该位置处完成的 任务,人们可能回到该经常光顾的位置。类似地,一天中不同时刻 的经常光顾位置可与在该位置处执行的活动和/或在该位置处完成的 任务相关。例如,在用餐时间常常光顾餐厅;去健身房锻炼;到办 公室工作;到图书馆学习或研究;等等。基于这些假设,应用程序 使用能够与可在给定位置处执行的活动相关。此外,通过分析本地 化的应用程序使用,能够识别人类活动的时空本地化(一些区域可 在一天的不同时刻展现不同的大众活动)。因此,本发明的一些实 施例使得用户能够找到与特定位置相关的应用程序。

应用程序使用数据例如应用程序的使用或下载可被标记有位置 和/或时间信息、并由多个移动设备通过众包而来。本地化应用程序 推荐引擎可识别在统计上与特定位置(例如,其中应用程序具有使 用“热点”并且与“对等”应用程序相比与该特定位置更相关的位 置)相关的应用程序。用于识别表现出本地化特征的应用程序(例 如,具有“热点”位置的应用程序)的各种方法、系统和设备在与 本专利申请同时提交的美国专利申请13/842,724(代理人案卷号 90911-844496)中有所描述,其公开内容全文以引用方式并入以用于 所有目的。应用程序开发人员、应用程序商店运营商等可将应用程 序手动地指定为与某些位置尤其相关。

一旦识别了应用程序热点,则可基于移动设备的当前位置或其 他指定位置将应用程序推荐提供给移动设备的用户。应用程序推荐 能够以多种方式触发,并且一旦触发则能够以多种方式呈现给用户。 例如,用户可输入针对特定应用程序的所识别热点的预先确定的半 径,并且针对那个应用程序的通知能够自动显示在用户的移动设备 上。又如,用户可公开地或以其他方式请求与特定位置相关的应用 程序(例如,与在地图应用程序上所指定的最终目的地相关的应用 程序、与当前位置相关的应用程序,等等)。

在一个实例中,每当用户靠近名为“Ski Mountain”的滑雪胜地 时,“Ski Mountain Guide”应用程序就可呈现给用户(例如,提醒 或通知)。美国自然历史博物馆应用程序可在用户进入或靠近该博 物馆时呈现。又如,本地相关的应用程序可响应于搜索而呈现(例 如,搜索“巴黎”可返回与巴黎本地相关的应用程序)。又如,可 将与特定区域本地相关的应用程序组合在一起并进行分类(例如, 巴黎应用程序类别,或更一般地,应用程序商店中的旅游类别)。

在接下来的部分中对示例性移动设备和系统进行描述之后,以 下将对这些实施例和其他实施例作进一步描述。

I.移动设备和系统

图1示出移动设备101的高级框图。还应理解,图1所示的设 备为例示性的并且可能做出变型和修改。移动设备101可包括控制 器102、无线模块104、定位模块106、应用程序推荐模块108、计 算机可读介质(CRM)110、显示模块112和输入模块114。移动设 备101可包括另外的模块。在一些实施例中,移动设备101可具有 足以使该设备能够被用户容易地移动的平面尺寸、三维尺寸和重量。 例如,移动设备101可为口袋型尺寸。

可以实现为一个或多个集成电路的控制器102能够控制和管理 移动设备101的整体运行。例如,控制器102能够执行各种任务, 诸如检索可存储在CRM110中的各种资产、访问各种模块的功能(例 如,经由蓝牙模块与其他支持蓝牙的设备进行交互)、执行存在于 CRM110中的各种软件程序(例如,操作系统和应用程序),等等。 在一些实施例中,控制器102可包括被配置为执行机器可读指令的 一个或多个处理器(例如,微处理器或微控制器)。例如,控制器 102可包括单芯片应用处理器。控制器102还可以任何合适的方式连 接至CRM110。

无线模块104可包括任何合适的无线通信技术。例如,无线模 块104可包括蓝牙模块、射频(RF)模块、WiFi模块和/或诸如此类的 模块。蓝牙模块可包括用于与其他支持蓝牙的设备进行无线通信的 任何合适的硬件组合,并且允许RF信号在控制器102和其他支持蓝 牙的设备之间交换。在一些实施例中,蓝牙模块可根据蓝牙基本速 率/增强型数据速率(BR/EDR)和/或蓝牙低功耗(LE)标准来进行此类 无线通信。一般来讲,蓝牙协议允许在短距离内(例如,30米)的 多个设备之间进行点对点无线通信。蓝牙自其引入以来已得到广泛 普及并且当前用于一系列不同的设备。为了使蓝牙能够用于更多种 应用中,将该技术的低能耗变体引入蓝牙核心规范版本4.0中。一般 来讲,蓝牙低功耗(LE)使得设备在消耗少量功率的同时能够进行无 线通信。使用蓝牙LE的设备常常能够运行一年以上,而无需对其电 池进行再充电。

例如,蓝牙模块可包括用于执行设备发现、连接建立和仅基于 蓝牙LE(例如,单模运行)的通信的合适硬件。又如,蓝牙模块可 包括用于设备发现、连接建立和同时基于蓝牙BR/EDR和蓝牙LE(例 如,双模运行)的通信的合适硬件。再如,蓝牙模块可包括用于设 备发现、连接建立和仅基于蓝牙BR/EDR的通信的合适硬件。

RF模块可包括用于与无线语音网络和/或数据网络进行无线通 信的任何合适的硬件组合。例如,RF模块可包括RF收发器,该RF 收发器使移动设备101的用户能够通过无线语音网络拨打电话。

WiFi模块可包括用于与其他支持WiFi的设备基于WiFi进行通 信的任何合适的硬件组合。例如,WiFi模块可兼容IEEE 802.11a、 IEEE 802.11b、IEEE 802.11g和/或IEEE 802.11n。

定位模块106可包括使用用于确定当前位置的一个或多个无线 信号的任何合适的定位技术。在一些实施例中,定位模块106包括 全球定位系统(GPS)模块。在一些实施例中,定位模块106包括下述 模块中的一种或多种:WiFi定位模块、蜂窝定位模块、众包WiFi 定位模块、飞行时间计算(ToF)定位模块等。

应用程序推荐模块108可包括代码,该代码在被执行时基于位 置确定或提供应用程序推荐给用户。例如,用户可请求针对特定位 置的应用程序推荐。又如,可基于移动设备的当前位置提供关于本 地相关的应用程序的通知。应用程序推荐模块108还可执行设备侧 的用于众包的应用程序使用数据的收集和聚合。

CRM110例如可使用磁盘、闪存存储器、随机存取存储器(RAM)、 混合型存储器、光盘驱动器或能够存储程序代码和/或数据的任何其 他存储介质来实现。CRM110可存储能够由控制器102执行的软件 程序,包括操作系统、应用程序、和相关的程序代码(例如,用于 应用程序推荐模块108的代码)。

软件程序(本文也称为软件或应用程序)可包括能够由控制器 102执行的任何程序。在一些实施例中,某些软件程序可由其制造商 安装在移动设备101上,而其他软件程序可由用户进行安装。软件 程序的实例可包括操作系统、导航或其他地图应用程序、定位器应 用程序、生产力应用程序、视频游戏应用程序、个人信息管理应用 程序、用于播放媒体资产和/或导航媒体资产数据库的应用程序、用 于控制电话界面来拨打和/或接听电话的应用程序,等等。尽管并未 具体示出,但可提供一个或多个应用模块(或指令集)用于启动并 执行一个或多个应用程序,例如存储在介质110中用于执行移动设 备101的各种功能的各种软件组件。

显示模块112可使用任何合适的显示技术来实现,包括CRT显 示器、LCD显示器(例如,触摸屏)、等离子体显示屏、直接投影 或背投影DLP、微型显示器和/或诸如此类的显示器。在各种实施例 中,显示模块112可用于可视地显示用户界面、图像和/或诸如此类。

输入模块114可以实现为触摸屏(例如,基于LCD的触摸屏)、 语音命令系统、键盘、计算机鼠标、轨迹球、无线遥控、按钮和/或 诸如此类。输入模块114可允许用户提供输入以调用控制器102的 功能。在一些实施例中,可对输入模块114和显示模块112进行组 合或集成。例如,移动设备101可包括显示图像并捕获用户输入的 基于LCD的触摸屏。示例性地,用户可用他或她的手指轻击触摸屏 表面的用来显示图标的区域。触摸屏可捕获该轻击,并且作为回应, 启动与图标相关联的软件程序。在启动软件程序时,可将应用程序 的图形用户界面显示在触摸屏上以展示给用户。

图2示出用于执行本发明的某些实施例的系统200的高级框图。 系统200包括用于提供众包应用程序使用数据的多个众包移动设备 210、应用程序推荐系统220和应用程序存储系统230。

众包位置数据可由多个移动设备210通过匿名化众包而来。设 备可针对该特征选择性地加入。众包移动设备210可包括诸如图1 所示的各种硬件和软件组件,和/或应用程序模块212、定位模块214 和匿名化模块216。

移动设备210可利用能够启动并执行各种应用程序的一个或多 个应用程序模块212来执行应用程序。移动设备210可对应用程序 使用标记位置数据。定位模块214可确定与应用程序事件(例如, 启动应用程序)相关联的当前位置,并利用所确定的位置来标记应 用程序事件。在一个实施例中,将唯一的应用程序标识符分配给应 用程序。当使用该应用程序时,位置数据与该应用程序标识符相关 联。例如,应用程序标识符(例如,应用程序包ID)可与最熟知的 当前位置相关联。可提供隐私保护规则(PPR),并且仅在满足隐私 保护规则时收集并提交应用程序使用数据。匿名化模块216可设置 在众包移动设备上以抽取数据和/或确保满足隐私保护规则。在一个 实施例中,针对应用程序使用的位置数据以及可选地时间数据可在 设备侧上被匿名化且提交至应用程序推荐系统以供进一步处理。除 了或代替设备侧的匿名化,匿名化还可在服务器侧进行。

本地化应用程序推荐系统220可包括应用程序分析模块222、设 备填充模块224和本地化排序模块226。可对来自多个移动设备210 的原始的众包数据进行聚合,并且重要的使用可由推荐系统220进 行提取。隐私可得到保护并且相关的推荐可由包括以下内容的数据 处理流水线来提供:数据抽取;对各个应用程序使用的空间或时空 分布进行的估计;检测各个应用程序使用热点;以及将所有经处理 的应用程序的使用信息与元数据(类别、用户评级等)相结合,以 通过重要的应用程序使用为每个时空块生成应用程序的相关性评分 列表。应用程序推荐系统可分析聚合数据并识别统计离群值以找到 与特定位置尤其相关的应用程序。相关性评分的应用程序的数据库 可存储在相关性评分的应用程序数据库228中。可高度本地化的一 个应用程序的实例为苹果商店应用程序,这是因为其在位于或靠近 苹果零售商店的位置处可被更为频繁地使用。应用程序推荐系统可 过滤跨越多个不同位置的共用的应用程序。例如,社交网络应用程 序(诸如Facebook)可具有很差的本地化,因此其与任何特定位置 无关。另一个可能的实例为Find My iPhone应用程序,这是因为该 应用程序通常是在用户无法找到他们的iPhone时使用,而不是在用 户靠近特定位置时使用。

应用程序存储系统230可为用户提供用于发现本地相关的应用 程序的机制。应用程序存储系统230可包括数据库232,其用于存储 关于得自应用程序商店的应用程序的元数据。应用程序存储系统230 还可包括应用程序数据的数据库234,使得应用程序可由用户进行下 载。

应用程序存储系统230可包括用于与移动设备240进行通信的 接口(未示出)。该组件可包括用于将本地相关的应用程序呈现给 用户的机制。用以使用户发现本地相关的应用程序的机制包括:提 醒和通知、搜索工具、应用程序分类、应用程序包等。在一些实施 例中,将应用程序推荐例如从本地化应用程序推荐系统220中预先 缓存到移动设备中。移动设备240可包括诸如图1所示的各种硬件 和软件组件,和/或应用程序磁贴数据库242、应用程序推荐模块108 和应用程序存储模块244。

用于邻近某位置的预先确定区域的应用程序磁贴可预先缓存到 移动设备240中。预先缓存的应用程序磁贴可存储在位于移动设备 240上的应用程序磁贴数据库242中。这样,更为具体的位置推荐可 在设备侧进行(例如,在移动设备上,为了接收推荐无需将位置发 送至应用程序商店服务器)。这能够促进隐私方面的考虑并降低电 池和数据消耗。

应用程序推荐模块108可包括代码,该代码在被执行时基于位 置确定或提供应用程序推荐至用户。例如,用户可请求针对特定位 置的应用程序推荐。又如,可基于移动设备的当前位置提供有关本 地相关的应用程序的通知。在一些实施例中,应用程序推荐模块108 可与应用程序存储模块244进行交互,该应用程序存储模块可提供 用于推荐应用程序的用户界面。

已描述了示例性设备和系统,现转而根据本发明的实施例的方 法进行高级描述。上述的设备和系统可用于实现以下方法。

II.方法概述

本文所述的方法的过程框中的一个或多个过程框可为可选的并 且可省略。可修改一个或多个过程框的顺序,并且可以任何适当次 序来执行这些过程块。用于说明的目的,本文具体描述一些可选框 和/或顺序修改;然而,本领域技术人员应认识到可设想在本公开范 围内的其他修改和省略。

图3A示出一流程图,其示出在移动设备(例如,移动设备101 或240)上获取本地相关的应用程序推荐的方法300。在框302处触 发推荐。推荐的触发可以两种常规方式来进行:(1)响应于位置触发 (例如,自动用户通知或提醒);或(2)响应于请求本地化应用程序 的用户输入(例如,用户请求)。用户触发可为请求本地应用程序 推荐的明显动作或用户的隐性动作(例如,转到iOS设备上的 Spotlight或通知中心)。

在框304处,确定针对推荐的位置。在一个实施例中,位置可 为移动设备的当前位置(例如,使用GPS或其他合适的定位技术)。 在一个实施例中,位置可为最后确定的位置以节省电池。在一个实 施例中,位置可为移动设备的当前位置之外的位置(例如,地图上 的目的地、搜索中所提交的位置、日历条目中所指定的位置,等等)。

在框306处,基于来自框304的位置查询应用程序推荐系统中 的推荐。例如,在图2中,应用程序存储系统230可查询本地化应 用程序推荐系统220。在一个实施例中,用户请求一个或多个本地相 关的应用程序的列表。这例如可使用应用程序商店用户界面来进行。 由于对一系列本地相关的应用程序的显性用户请求将不太可能经常 发生,因此响应于用户请求来下载一系列相关应用程序可能仅使用 最小的电池电量和数据带宽。

在其它实施例中,在节省电池电量并降低数据使用率的同时将 本地相关的应用程序异步地通知给用户可能是有益的。在一个实施 例中,本地化应用程序推荐可在移动设备上进行本地存储。在一个 实施例中,本地相关的应用程序推荐可异步传送至设备。在一个实 施例中,本地存储的相关应用程序推荐与靠近和邻近移动设备的地 理位置相关联。对本地应用程序推荐的异步传送在以下第五部分中 有所描述。

在框308处,将推荐呈现给用户。实际排序可使用推荐引擎所 提供的数据在设备侧生成。这样,移动设备所已知的另外几条信息 可用于提高相关性。例如,设备上的语言设置、当前日期、路线的 起点/终点、当前天气等。这能够在保护隐私的同时完成,因为在某 些实施例中,并不将敏感数据发送至服务器,相反可在设备侧使用 敏感数据。

图3B示出一流程图,其示出了用于确定哪些应用程序呈现在应 用程序推荐中的方法350。该过程可由移动设备(例如,移动设备 101、240等)上的应用程序推荐系统或远程服务器计算机(例如, 应用程序推荐服务器220、应用程序存储系统230等)上的应用程序 推荐系统来执行。

在框352处,应用程序推荐系统接收针对感兴趣位置的位置数 据。感兴趣位置可为移动设备的当前位置或其他感兴趣位置。可在 其存在范围内来提供针对感兴趣位置的本地相关的应用程序。

在框354处,应用程序推荐系统利用在感兴趣位置的阈值距离 内的热点来确定一组应用程序。阈值距离可基于多个因素随应用程 序的不同而变化,这些因素包括对该位置处的应用程序而言应用程 序使用的本地化程度、对该位置处的应用程序而言应用程序使用的 量,以及其他应用程序使用数据和应用程序元数据。例如,第一应 用程序可能高度本地化为特定建筑物(例如,针对特定博物馆的应 用程序),而第二应用程序可能更一般地本地化为城市或社区。针 对第一应用程序的阈值距离可能小于针对第二应用程序的阈值距 离。

在框356处,应用程序推荐系统能够根据相关性对应用程序进 行排序。相关性排序可包括关于位置的相关性以及关于其他标准(例 如,用户简档、用户兴趣、总体人气、用户评论、应用程序类别等) 的相关性。在一些实施例中,使用相关性评分来完成排序。在一些 实施例中,通过对位于感兴趣位置的阈值距离内的热点内的一组应 用程序进行排列/重新排列来完成排序。

在一些实施例中,可使用应用程序推荐系统所提供的数据在设 备侧生成排序。这样,另外几条信息可用于提高相关性(例如,用 户数据、用户位置历史记录等)。例如,设备上的语言设置、当前 日期、路线的起点/终点、当前天气等。在一些实施例中,能够在保 护隐私的同时包含这些,因为敏感数据并不发送回远程服务器计算 机;相反地,更多敏感信息在移动设备内部使用以供呈现给用户更 相关的排序。

在框358处,应用程序推荐系统可基于排序和/或在前述步骤中 计算的相关性评分来选择作为所推荐的应用程序提供的应用程序。 在一些实施例中,返回大量本地相关的应用程序(例如,许多应用 程序具有热点并且与特定位置本地相关),在此情况下,应用程序 推荐系统可截取一系列推荐的应用程序使得仅选择本地热点内最相 关的应用程序。例如,可选择针对特定位置的前5个或前10个应用 程序。

在框360处,应用程序推荐系统可提供应用程序推荐数据。应 用程序推荐数据可包括应用程序标识符、相关性评分、应用程序的 热点位置和描述应用程序或其本地化使用属性的其他信息。提供应 用程序推荐数据的步骤(框360)能够响应于对应用程序推荐系统的 查询(例如,图3A中的框306)。在一些实施例中,如果用户接受 推荐(例如,通过启动或下载推荐的应用程序之一),则可将反馈 发送回应用程序推荐系统。数据可用于确定所提供推荐的有效性并 细化将来的推荐。

III.用户发现机制

如上所述,应用程序推荐可基于移动设备的当前位置来触发, 即具有应用程序推荐的位置触发的通知或提醒,和/或用户触发的应 用程序推荐,即由一些用户操作而不是移动设备的位置来触发。具 有推荐的位置触发的通知或提醒在以下A小节中更为详细地描述。 用户触发的应用程序推荐在以下B小节中进行描述。

A.具有本地化推荐的位置触发的通知

一种用于发现本地应用程序的机制为在用户到达具有高度本地 化的应用程序的区域时对相关应用程序进行通知。这些通知可同时 针对已安装在用户的移动设备上的应用程序(“已安装应用程序”) 和未安装在用户的移动设备上的应用程序(“未安装应用程序”) 来提供。图4示出根据本发明的实施例的系统400。系统400的比例 仅用作说明目的,并且本领域技术人员应认识到可使用任何合适比 例。例如,热点可能相对较小(例如,建筑物或城市街区大小)或 相对较大(例如,整个城市、国家、州等)。

系统400包括多个应用程序使用热点440、450和460,其为针 对表现出高度本地化的应用程序的热点。热点440为针对“本地应 用程序A”的热点,热点450为针对“本地应用程序B”的热点, 并且热点460为针对“本地应用程序C”的热点。这些热点在大小 上可能有所不同。如图所示,热点450大于热点440和460。针对本 地应用程序C的热点460为示出的最小热点。例如,本地应用程序 C可为设计意在主要和/或频繁用于特定商店内的应用程序(例如, 苹果商店应用程序常常在苹果零售店内使用),而本地应用程序B 可为用于发现在加州旧金山的联合广场的“待办事项”的应用程序。

多个用户(410-415)在系统400内的各个位置处示出。用户 410-415均可能拥有根据本发明的实施例的用于提供应用程序推荐 的移动设备(例如,移动设备101、240等)。图4中仅示出这些移 动设备中的一个(420),其对应于用户410’的移动设备。附图标号 410-415也可指代单个用户在不同时间的各个位置。附图标号 410-415也可指代除用户的当前位置之外的用户的感兴趣位置(例 如,搜索输入、地图输入等)。

用户410位于被识别为针对本地应用程序A的热点440和针对 本地应用程序B的热点450的两个区域内。用户410可与移动设备 420相关联。例如,用户410可能正携带移动设备420。移动设备420 的定位模块可确定移动设备420的当前位置。位于移动设备420上 (或与移动设备420进行操作性通信)的应用程序推荐模块可确定 移动设备420的当前位置是否对应于针对特定应用程序的一个或多 个热点。在一些实施例中,具有热点的应用程序可能已安装在移动 设备420上。在一些实施例中,具有热点的应用程序可能当前并未 安装在移动设备420上。在此情况下,移动设备420的当前位置对 应于针对两个应用程序(本地应用程序A和本地应用程序B)的热 点区域。

在一些实施例中,可将通知提供在移动设备420的显示器421 上。显示器421可包括显示任何合适信息的用户界面。通知在显示 器421上示出。例如,显示器可包括说明通知原因和/或通知(422)中 所推荐的应用程序的相关性的信息。在一些实施例中,可显示对应 于所识别的应用程序的图形元素(例如,图标)(例如,423、424 等)。在一些实施例中,被识别为本地相关的应用程序(即,所推 荐的应用程序)可通过选择图形元素(例如,423、424)进行下载。 在一些实施例中,推荐的应用程序可通过选择图形元素(例如,423、 424)来启动。

用户410不在针对本地应用程序C的热点460内。因此,在一 些实施例中,本地应用程序C可从提供在移动设备420上的本地应 用程序推荐中被过滤掉。例如,本地应用程序C可接收低相关性排 序等。在一些实施例中,由于本地应用程序C相对靠近用户410, 因此用户410还可在移动设备420上接收关于本地应用程序C的通 知。在一些实施例中,针对应用程序诸如本地应用程序C的通知可 比位置上更相关的应用程序诸如本地应用程序A和本地应用程序B 具有更靠后的排序。

用户411位于被识别为针对本地应用程序A的热点440的区域 内。在一些实施例中,可将具有针对本地应用程序A的推荐的通知 提供在与用户411相关联的移动设备上。在一些实施例中,由于用 户411不处在针对本地应用程序B或本地应用程序C的热点内,因 此可将这些应用程序从应用程序推荐中过滤掉并不在通知中提供。 在一些实施例中,由于本地应用程序B和/或本地应用程序C相对靠 近用户411,因此可将它们包括在通知中。在一些实施例中,呈现在 通知中的应用程序基于排序或相关性评分。

与用户411类似,由于每个相应的用户位于被识别为针对每个 相应应用程序的热点的区域内,因此用户412和413可分别接收针 对本地应用程序C和本地应用程序B的通知。在一些实施例中,其 他应用程序可基于它们未处在热点内、未处在热点的阈值距离内的 事实,和/或另外具有低于阈值的相关性排序或评分而被过滤掉。

用户414位于与针对任何应用程序的任何热点不相关的区域。 在一些实施例中,这可能意味着无通知提供给用户414。在一些实施 例中,可利用用户414的阈值距离内的热点来提供针对应用程序的 通知。例如,可提供针对本地应用程序B的通知,这是由于本地应 用程序B具有最靠近用户414的热点(相比于其他示出的热点)。

同样地,用户415位于与针对任何应用程序的任何热点不相关 的区域中。在一些实施例中,这可能意味着无通知提供给用户415。 在一些实施例中,可利用用户415的阈值距离内的热点来提供针对 应用程序的通知。例如,可提供针对本地应用程序A、本地应用程 序B和本地应用程序C的通知,这是因为用户415到热点440、450 和460中每个热点的边缘为基本上等距的。

通知可采用任何合适的形式。尽管描述了显示器421上的可视 化通知,但通知还可包括音频形式、视听形式和/或物理形式。例如, 音频(例如,“ding”、电话铃声等)或语音提示(例如,SIRI)可 将本地相关的应用程序推荐通知给用户。在一些实施例中,提示可 为振动提醒或LED提醒。本领域技术人员应认识到可设想本发明范 围内的其他类型的通知。

B.用户触发的本地化推荐

图5示出用户触发的本地化推荐的示例移动设备500。用户触发 的应用程序推荐通常涉及基于用户操作来触发应用程序推荐,该用 户操作指示用户可能对接收应用程序推荐感兴趣、或对用户可能发 现应用程序推荐有用的其他场景感兴趣。本领域技术人员应认识到 移动设备500在本质上为示例性的并且可使用许多其他实施例。

移动设备500包括具有用户界面的显示器510。用户界面可包括 供用户用于显性地请求与特定位置相关的应用程序的选项520(诸如 软键或其他选择机制)。响应于用户启动选项520,移动设备500 可将本地相关的应用程序推荐呈现给用户。

在一些实施例中,感兴趣位置可以是移动设备500的当前位置。 在此情况下,移动设备500可响应于针对本地应用程序推荐的请求 来确定其位置,或其可查找存储在移动设备500上的最后已知位置。 使用位置信息,可提供本地化应用程序推荐。在一些实施例中,特 定位置可以是除移动设备520的当前位置之外的位置。

在一个实施例中,用户删除应用程序可触发应用程序推荐。即, 在用户删除应用程序时,可呈现另选的应用程序。例如,如果已删 除应用程序为针对特定位置的高度本地化的应用程序,则在用户删 除该应用程序之后可建议对于该特定位置而言具有高本地化的另一 应用程序。

用户还可以隐性方式触发本地化推荐。在一些实施例中,可在 用户启动用于下载新应用程序的应用程序(例如,应用程序商店) 时触发本地化推荐。在一些实施例中,用户搜索可触发对本地化应 用程序的推荐。这些搜索可包括使用引擎搜索的网页搜索或移动设 备搜索(例如,使用诸如Spotlight之类的工具搜索移动设备的存储 装置)。在一些实施例中,可在用户访问通知区域用户界面(例如, 通知中心)时触发本地化推荐。在一些实施例中,可在移动设备处 于屏保状态或锁屏状态时(例如,当移动设备显示器从关闭状态变 为锁屏状态、或者当由于用户无动作而使移动设备进入屏保状态等) 触发本地化推荐。

可触发应用程序推荐的其他用户动作(或无动作)在以下部分 中进一步描述。

C.用于呈现本地化推荐的用户界面

一旦已触发推荐并且已识别本地化应用程序,可在移动设备的 显示器上将应用程序推荐显示给用户。存在很多选项以用于将应用 程序推荐提供给用户,使得用户可发现本地相关的应用程序。一些 用于发现应用程序的机制在下文中更为详细地描述。

在一些实施例中,本地化应用程序在显示器上可在视觉上区别 于非本地化应用程序。例如,可呈现针对本地相关的应用程序的视 觉提示。视觉提示可包括加亮应用程序图标、以动画方式显示图标、 添加框格或标记至应用程序图标、改变应用程序图标的颜色/饱和度/ 位置/尺寸/不透明度、或另外在视觉上使本地相关的应用程序区别于 其他应用程序。

图6A和6B示出在视觉上使本地化应用程序在移动设备600的 显示器上区别于非本地化应用程序的实例。图6A示出具有用户界面 610的移动设备600,该用户界面显示在移动设备600上可用的多个 应用程序。例如,可提供各种应用程序图标,包括日历、时钟、图 片、应用程序商店、天气、地图和设置应用程序。用户界面610还 可包括旧金山指南应用程序图标620、停车应用程序图标630、渔人 码头应用程序图标640和巴黎指南应用程序图标650。在图6A中, 以其常规的、标准的显示模式显示所有的应用程序图标,而不区分 指示应用程序是否为本地化应用程序的视觉特征。这可能是由于移 动设备600处在不存在任何本地化应用程序的区域中、或由于尚未 触发应用程序推荐。

图6B为在已触发推荐之后的具有经修改的用户界面611的相同 移动设备600。类似于用户界面610,用户界面611显示在移动设备 600上可用的多个应用程序。与用户界面610相比,用户界面611 视觉上区分与特定位置本地相关的应用程序。例如,旧金山指南应 用程序图标621、停车应用程序图标631和渔人码头应用程序图标 641在视觉上是有区别的。在所示的实施例中,非本地相关的应用程 序图标“变灰”。例如,日历、时钟、图片、应用程序商店、设置 以及巴黎指南651的图标“变灰”。在一些实施例中,仍可通过选 择应用程序图标对视觉上有所区别的应用程序进行启动或下载,而 在其它实施例中,可阻止对视觉上有所区别的应用程序进行启动或 下载。

例如,当在图6B中触发应用程序推荐时,可将移动设备600定 位在加州旧金山。由于设备定位在旧金山,旧金山指南应用程序可 为本地相关的,因此,该应用程序图标可在用户界面611中被加亮。 类似地,巴黎导向应用程序由于其可能与旧金山非本地相关而可在 视觉上有所区别。表现出高度本地化使用的其他应用程序可被加亮, 诸如天气、地图和停车应用程序。例如,可能用户在旧金山更为频 繁地使用(在统计意义上显著的本地化使用)天气、地图、停车和 渔人码头应用程序而非例如时钟应用程序。因此,本地化应用程序 可被加亮,而非本地化应用程序可被弱化。

在一些实施例中,可提供用于发现本地应用程序的交互式可视 化工具。在一些实施例中,在应用程序商店诸如苹果应用程序商店 内提供用于发现本地应用程序的交互式可视化工具。例如,可显示 感兴趣区域的地图。可通过放大和缩小以及改变感兴趣区域来操作 所显示的地图。可在地图上的已识别本地化应用程序的位置处提供 标志。在一些实施例中,可通过用于发现本地应用程序的交互式可 视化工具来提供本地化应用程序推荐。例如,可基于相关性排序、 用户信息和/或其他排序信息来提供本地化应用程序推荐。

在一些实施例中,可将本地化应用程序推荐结合到在移动设备 上运行的其他应用程序中。例如,可将本地化应用程序推荐结合到 地图搜索、路线规划、web浏览器、日历事件等中。图7A和7B示 出此类结合的两个实例。

图7A示出将应用程序推荐结合到日历应用程序中的实例。移动 设备700包括用于日历应用程序的用户界面710。用户界面710可包 括一个或多个日历条目(720和730)。日历条目可具有与描述事件(例 如,日期、时间、姓名、位置等)的日历条目相关联的信息。日历 条目可以任何合适的方式来显示;用户界面710为一个实例。由于 日历条目可具有针对日历事件的位置,因此可基于该位置来提供本 地化应用程序推荐。例如,可触发应用程序推荐并且应用程序推荐 模块(或日历模块)可提取日历信息,包括来自日历应用程序的事 件位置。事件位置可用作应用程序推荐的感兴趣位置。

例如,在示出的实例中,具有针对特定的滑雪胜地位置处的滑 雪旅行的日历条目720。根据本发明的一些实施例,应用程序推荐模 块可确定是否具有具有滑雪胜地位置处或其附近的使用热点的任何 应用程序。其他标准可用于过滤应用程序推荐,包括描述事件或活 动、用户简档信息等。在此情况下,可从日历应用程序用户界面中 将针对滑雪胜地的应用程序推荐给用户。在一些实施例中,应用程 序图标725可显示在用户界面710上。在一些实施例中,启动图标 725使移动设备700下载和/或启动与图标725相关联的应用程序(这 里,“滑雪惠斯勒应用程序”)。

又如,具有飞往温哥华的航班的日历条目730。根据本发明的一 些实施例,应用程序推荐模块可确定是否具有利用旧金山国际机场 或温哥华国际机场处或其附近的使用热点的任何应用程序。在此情 况下,可从日历应用程序用户界面中将针对旧金山机场的应用程序 推荐给用户。在一些实施例中,应用程序图标735可显示在用户界 面710上并且启动图标725可使移动设备700下载和/或启动应用程 序。

图7B示出将应用程序推荐结合到地图和路线规划应用程序中的 实例。常常通过用户界面760使用地图应用程序来行输入或选择位 置。例如,可指定起点770和终点780。地图应用程序进而可确定从 起点770到终点780的路线775。来自地图应用程序的位置信息,包 括起点770、路线775和终点780的位置信息,可用于将本地相关的 应用程序推荐提供给用户。在一些实施例中,可将具有与终点本地 相关的应用程序的应用程序推荐提供在用户界面760上。在图7B中, 终点为法国巴黎的卢浮宫博物馆。在一些实施例中,本地相关的所 推荐的应用程序图标785可显示在地图应用程序内的用户界面760 上。在一些实施例中,诸如框格(787)或标记之类的视觉指示器可指 示应用程序为本地相关的。在一些实施例中,所推荐的应用程序可 通过其他通知机制呈现给用户。在一些实施例中,启动图标785使 移动设备700下载和/或启动应用程序(这里为“卢浮宫博物馆应用 程序”)。还可针对沿路线775和/或路线的起点770的位置提供推 荐。

在一些实施例中,可使用音频来提供本地化应用程序推荐。例 如,用户可向Siri询问与用户的当前位置或其他位置相关的本地化 应用程序。在一些实施例中,Siri可通过提供本地化应用程序推荐进 行听觉响应。在一些实施例中,Siri可请求用户指令以下载和/或启 动由Siri所推荐的本地化应用程序。在一些实施例中,可使用语音 命令来提供用户指令。

在一个实施例中,可为用户的旅行创建“应用程序旅行箱”。 应用程序旅行箱可为位于用户界面上与城市或旅行目的地相关联的 旅行箱图标(或文件夹图标)。旅行箱中的应用程序可为具有到旅 行目的地的高度本地化的应用程序。

对用于将本地化应用程序推荐提供给用户的用户界面而言存在 许多其他可能性,包括通知(例如,通知中心、弹出式通知、标语、 电子邮件通知、文本消息或类似的消息通知,等等)、屏保、锁屏 等推荐。本领域技术人员应认识到存在的其他可能性。

IV.示例性使用案例

以下是根据本发明的一些实施例的示例性使用案例。

实例一:用户正在加州旧金山的莫斯克尼中心参加介入放射学 学会(SIR)2012年年度科学会议并且使用定位加入本地化推荐。他在 长时间搜索停车位之后,到达会议位置莫斯克尼中心。在排队等待 登记时他接收到通知,该通知指示存在针对该位置和日期的本地相 关应用程序:“SIR 2012年年度科学会议应用程序”。用户安装应 用程序,并且他立刻就能够查看有关会议的最新信息。用户查看推 荐引擎提供哪些其他定位应用程序推荐。用户看到名为“SFpark” 的应用程序很受欢迎并且在其所在位置处及其周围频繁使用。由于 用户在会议之前经历了寻找停车位的艰难,因此用户决定下载 SFpark应用程序。由于“Zagat”应用程序是本地相关的,因此也提 供对“Zagat”应用程序的本地推荐。用户也决定下载Zagat以有助 于找到吃午餐的地方。

实例二:用户在她前往加州旧金山的首次旅行期间正在参观渔 人码头。以下是她从推荐引擎中可能看到的示例排序:(1)提供给游 客和当地人的旧金山城市指南;(2)排名前25的旧金山景点指南;(3) 旧金山之行;(4)旧金山旅行指南-tripwolf;(5)旧金山探索指南;以 及(6)旧金山指南-mTrip。

实例三:用户正在参观纽约市剧院区时代广场。以下是她从推 荐引擎中可能看到的示例应用程序排序:(1)百老汇和剧院- TheaterMania.com;(2)票务;(3)纽约;(4)纽约必备指南;(5)纽约旅 行指南-GuidePal;以及(6)纽约之行。

实例四:用户正计划她从纽约到巴黎的旅行。她决定将参观卢 浮宫。她搜索地图以查找从她将暂住的酒店出发的路线。她获得路 线并看到所呈现的具有针对目的地位置的本地相关的应用程序的指 示(视觉提示)。她点击进入对应的示能表示,并看到所呈现的针 对卢浮宫的高度相关的应用程序列表。例如,以下是她从推荐引擎 中可能看到的示例应用程序排序:卢浮宫博物馆;巴黎古迹跟踪; 巴黎游客语音导览;巴黎博物馆。在一些实施例中,列表已通过语 言(例如,使用iOS语言设置)进行过滤,因此将仅出现英文的应 用程序(或用户的本国语言)。还为用户提供机会以使该用户对用 于该旅行的应用程序进行绑定并将它们打包到该用户的“应用程序 旅行箱”(或其他应用程序容器,诸如文件夹)。在一些实施例中, 还可在一起购买本地相关的应用程序时提供另外的折扣。在一些实 施例中,如果用户选择购买针对该旅行的“应用程序旅行箱”,则 当她还在家时就可下载应用程序(没有数据漫游费),并且当她到 达巴黎时即可使用对应用程序。

实例五:用户正从第戎开往巴黎(3小时)并将带第一次到巴黎 的朋友去参观卢浮宫。他找到从家到卢浮宫的路线,并看到所呈现 的具有针对该位置的本地相关的应用程序的指示。然而,他此刻没 有时间购买和/或下载应用程序。他到达卢浮宫,并发现有很长的队 伍(例如,一小时以上)。在排队等待时他接收到相关的本地应用 程序的通知:卢浮宫博物馆。他决定查看并下载应用程序。由于队 伍仍在很慢地移动,因此他与他的朋友分享巴黎的本地应用程序推 荐并决定下载其他应用程序。以下是他从本地应用程序推荐引擎中 可能看到的示例应用程序排序:卢浮宫博物馆;巴黎古迹跟踪;巴 黎自助旅行指南;以及巴黎博物馆。需指出,列表仅示出用法语和 用户语音设置的应用程序(相比于实例四)。

实例六:几个月之后,实例5中的同一用户再次带另外一群朋 友排队参观卢浮宫。在排队等待时,他想起自己拥有卢浮宫应用程 序;他查看他的电话并看到加亮的(或换句话讲视觉上有所区别的) 卢浮宫应用程序,因为应用程序此刻与他所处的位置是本地相关的。

实例七:在零售店里的用户想要查看对一款产品的亚马逊评论。 一般地,如果用户拥有未组成文件夹的许多已安装的应用程序,可 能难于找到针对手头任务的适当工具。随着已安装应用程序数量的 增加,找到用户想要启动的应用程序的时间也会随之增加。使用本 地相关的应用程序,设备将非相关应用程序显示为变灰。这使得找 到针对特定位置和时间的本地相关的已安装应用程序(在该案例中 为亚马逊应用程序)变得更容易。

实例八:用户正在旧金山的鲍威尔街上等待缆车。在等待时, 她浏览了本地相关的应用程序。苹果商店应用程序是本地相关的(可 能因为在附近的市德顿街上有零售店)。用户本不知道苹果零售店 离得很近。她下载苹果商店应用程序并获得EasyPay。

提供这些实例仅用以说明目的,并且本领域技术人员应认识到 本发明实施例的许多另外的应用程序。

V.本地化推荐的异步传送和高速缓存

在一个实施例中,使用异步传送机制将本地化应用程序推荐传 送至设备。可将针对设备周围区域的“排序靠前”的本地化应用程 序传送至设备。例如,可将包含用于排序靠前的本地化应用程序的 标识符的应用程序磁贴及其对应的热点预先缓存到移动设备。设备 对本地化推荐进行缓存,使得可在无需查询具有用户感兴趣位置的 服务器的情况下提供所述推荐。推荐的异步传送和高速缓存使电池 功率消耗和蜂窝数据使用率最小化。根据本发明的实施例,可将针 对特定位置的排序靠前的本地化应用程序打包成便于管理的文件大 小(“应用程序磁贴”)以供传送并预先缓存到设备。在一些实施 例中,可基于设备的数据连接和/或电力状态下载一些信息。尽管对 本地化应用程序推荐进行异步传送,但推荐未必立即提供给设备用 户。异步传送和预先缓存可使用户更快访问本地化应用程序推荐, 因为设备无需联接服务器并下载信息。

异步传送机制的实例如下:用户走进星巴克;因此,用户可能 喜欢星巴克应用程序。将针对接近和邻近设备位置的区域的本地应 用程序推荐预先缓存到设备上,而不是像经常那样利用设备的当前 位置查询应用程序商店或应用程序推荐系统。对针对附近区域的本 地应用程序推荐进行预先缓存提供了将相关数据传送到设备的更有 效机制,并同时使数据和电池使用率最小化。

在异步传送机制的一个实施例中,服务器侧应用程序推荐系统 可将一个或多个块打包成二进制磁贴打包格式。感兴趣区域被划分 成网格(或其他分区)。在二进制磁贴打包格式的一个实施例中, 每个磁贴可覆盖5km×5km的正方形。可将每个磁贴细划分为10m× 10m的块。可将磁贴划分成任何合适尺寸,包括10m×10m的块、 100m×100m的块、1000m×1000m的块或5km×5km的块。本领域 技术人员应认识到可根据应用使用其他粒度。

对于每个块,可对针对该块的位置的超本地化应用程序的列表 进行维护。例如,在每个10mx10m的块内,存在已识别为超级/超本 地化的排名前3的应用程序的列表。可基于本文所述的热点分析对 针对特定块的排序靠前的超本地化应用程序进行维护。本领域技术 人员应认识到,尽管可维护其他合适的设定长度的超本地化应用程 序,但异步传送内容不占用过多带宽是有益的。可周期性地更新排 序靠前的超本地化应用程序以反映本质上为周期性的或受制于趋势 的本地化应用程序。在一个实施例中,排序靠前的超本地化应用程 序可每2天或3天更新一次。本领域技术人员应认识到其他刷新频 率也是合适的。

一个或多个二进制磁贴可被周期性地传送至设备并缓存在设 备上以供后续使用。在给定时间传送给设备的二进制磁贴的数量可 基于设备的位置、可用数据连接和/或设备的电力/充电状态而改变。

传送一个或多个二进制磁贴可基于设备的位置、可用数据连接 和/或设备的电力/充电状态而改变。在一个实施例中,如果设备正在 使用蜂窝数据,则下载与当前位置相关联的单个磁贴。这可能降低 蜂窝数据使用率和用户的相关联的费用。在一个实施例中,如果设 备正在使用WiFi,则可下载多个磁贴并将其缓存到设备上。例如, 可下载与当前位置相关联的磁贴和与其他邻近区域相关联的相邻磁 贴。这允许在使用可能较快并且价格较低的数据连接的同时预先缓 存更多信息。在一个实施例中,如果连接速度较快(不论蜂窝或 WiFi),则下载更多磁贴。在一个实施例中,如果设备连接至外部 电源,则可下载更多磁贴并将其缓存到设备上。例如,当在电池电 源上操作时,设备可下载较少磁贴。当插入电源时,设备可下载更 多磁贴。当电池电源即将用尽时,设备可下载较少磁贴。

一旦将数据缓存在设备上,则设备可使用已缓存的本地化应用 程序推荐。在一个实施例中,当获得新位置时,设备对已缓存的磁 贴进行检查,尤其是对与当前位置相关联的块进行检查,以确定是 否存在针对当前位置的任何本地化应用程序。在一个实施例中,周 期性地获得位置,并且针对预先缓存的磁贴检查周期性获得的位置。

在一个实施例中,当不存在包含与设备的当前位置相关联的块 的预先缓存的磁贴时,将新磁贴传送给设备。在一个实施例中,在 连接至电源时,传送新磁贴。在一个实施例中,在连接至WiFi网络 时,传送新磁贴。

还可在本地化应用程序推荐的范围之外对异步传送本地相关 内容进行应用。可预先缓存并传送其他类型的信息以供快速调用。 在一个实施例中,可预先缓存WiFi网络。例如,具有定位图的WiFi MAC地址的表格可由服务器来维护。可维护针对给定块的优选WiFi 网络的磁贴。可将优选WiFi网络的磁贴异步传送至设备。其他应用 包括:本地相关的音乐内容、广告、书籍、电影或其他媒体。

在一些实施例中,一种将本地相关的内容异步传送至移动设备 的方法包括:由服务器将感兴趣区域划分成与地理位置相关联的多 个块;利用服务器确定针对用众包应用程序使用数据的多个块的本 地相关的内容推荐;在服务器处接收来自移动设备的对本地相关的 内容推荐的请求,其中该请求包括位置;将与一个或多个块相关联 的本地相关的内容推荐打包成文件包,其中一个或多个块与接近该 位置的地理位置相关联;以及由服务器将文件包传输至移动设备。 在一些实施例中,本地相关的内容推荐包括本地相关的应用程序推 荐。在一些实施例中,文件包具有可变的文件大小,其中可变的文 件大小取决于移动设备的电力状态。在一些实施例中,文件包的文 件大小取决于移动设备的网络连接。在一些实施例中,文件包的文 件大小取决于移动设备的位置。

VI.隐私

本公开设想到隐私对移动设备的用户而言是很重要的。因此, 本发明的实施例在提供相关应用程序推荐的同时考虑到隐私问题。 保护用户隐私和为用户提供准确、相关的应用程序推荐的目标是一 致的。例如,当存在来自许多不同用户的足够数据来显示有意义并 且统计上显著的数据(消除噪声)时,众包应用程序使用数据的值 在此时实体化。在该情境下,单独的用户位置和应用程序使用在孤 立存在的情况下是没用的。另外,在某些实施例中,没必要拥有极 其精确的位置数据。因此,本发明的实施例设想到隐私保护规则。

如上所述,本发明的技术的一个方面在于采集和使用得自各种 来源的位置数据来推荐用户可能感兴趣的应用程序。本公开认识到 使用本发明的技术中的此类位置数据可用于使用户受益。例如,位 置数据可用于更好地理解用户行为,并且有利于并测量应用程序、 广告和所传送内容的相关性。因此,使用此类位置数据使得能够对 所传送内容进行有计划的控制。例如,系统能够减少用户接收特定 应用程序推荐的次数,并且从而能够选择和传送对用户更有意义的 内容。系统行为的此类改变改善了用户体验。此外,本公开还可设 想到位置数据的有益于用户的其他用途。

本公开还设想到,负责收集、分析、公开、传送、存储或对任 何位置数据进行其他使用的实体应当实现并始终使用通常被认为是 达到或超过用于维护位置数据的保密性和安全性的行业或政府要求 的隐私政策和方法。例如,位置数据应当被收集用于实体的合法和 合理使用,并且不在这些合法使用之外共享和出售。另外,这种收 集应当仅在用户知情同意之后进行。另外,这种实体应采取任何所 需的步骤以保障和保护对此类位置数据的访问,并且确保能够访问 位置数据的其他人坚持他们的隐私和安全政策和程序。另外,这种 实体可使其本身经受第三方评估以证明其对广泛接受的隐私政策和 方法的坚持。

不管前述情况如何,本公开还设想到用户选择性地阻止使用或 访问位置数据的实施例。即,本公开设想到,可提供硬件和/或软件 元件以防止或阻止对此类位置数据的访问。例如,就应用程序推荐 服务而言,本发明的技术可被配置为在注册服务期间允许用户选择 “加入”或“退出”参加收集位置数据。又如,用户可选择不向应 用程序推荐服务提供位置信息。例如,在满足隐私保护规则(PPR) 时,加入本地化应用程序推荐特征的用户的设备将标记应用程序使 用的位置数据。可将设备侧的本地化应用程序使用数据匿名化并提 交至应用程序推荐系统以供进一步处理。又如,应用程序开发人员 可能具有“加入”或“退出”他们开发的特定应用程序的本地化推 荐的能力。再如,用户可配置他们的设备或用户终端以阻止存储或 使用cookies以及位置数据能够从其中进行识别的其他机制。本公开 还设想到可能存在其他方法或技术用于防止访问位置数据。

因此,虽然本公开广泛地覆盖了使用位置数据来实现一个或多 个各种本文公开的实施例,但本公开还设想到,各种实施例也可在 无需访问此类位置数据的情况下实现。即,本发明的技术的各种实 施例并非由于缺少此类位置数据的全部或一部分就无法正常进行。 例如,可通过基于非个人信息数据或绝对最低限度的个人信息,诸 如与用户相关联的设备所请求的内容、对内容传送服务可用的其他 非个人信息或公开可用信息来推断偏好来选择内容并传送给用户。

VII.示例性服务器和移动设备架构

应当理解,如上所述的本发明可以通过模块化或集成方式的计 算机软件的控制逻辑的形式来实现。基于本文所提供的公开和教导 内容,本领域技术人员应了解并理解用于使用硬件和软硬件组合实 现本发明的其他方式和/或方法。所描述的不同参与者和元素可操作 或使用一个或多个计算机装置以有利于本文所述的功能。此类子系 统或部件的实例在图8中示出,其可示出计算机装置的一部分。

图8所示的子系统经由系统总线875互连。示出其他子系统, 诸如打印机874、键盘878、固定硬盘879(或包括计算机可读介质 的其他存储器)、耦接至显示适配器882的监视器876,以及其他。 耦接至I/O控制器871的外围设备和输入/输出(I/O)设备可通过本领 域中已知的任何数量的装置(诸如串行端口877)连接至计算机系统。 例如,串行端口877或外部接口881可用于将计算机装置连接至诸 如互联网之类的广域网、鼠标输入设备或扫描仪。经由系统总线的 互连能够使中央处理器873与每个子系统进行通信并使控制执行来 自系统存储器872或固定硬盘879的指令以及在子系统之间交换信 息。系统存储器872和/或固定硬盘879可包含计算机可读介质。

本专利申请中所描述的任何软件组件或功能可以实现为需由 使用诸如Java、C++或Perl之类的任何合适的计算机语言、使用例 如常规的或面向对象的技术的处理器执行的软件代码。软件代码可 被存储为位于诸如随机存取存储器(RAM)、只读存储器(ROM)之类的 计算机可读介质上、位于诸如硬盘驱动器或软盘之类的磁性介质上 或位于诸如CD-ROM之类的光学介质上的一系列指令或命令。任何 此类计算机可读介质可存在于或位于单个计算装置内,并且可存在 于或位于系统或网络内的不同计算装置内。

应当理解,本发明的任何实施例可以使用硬件(例如,专用集 成电路或现场可编程门阵列)和/或以使用模块化或集成方式通过通 用可编程处理器的计算机软件的控制逻辑的形式来实现。如本文所 用,处理器包括同一集成芯片上的多核处理器、或单个电路板或网 络上的多个处理单元。基于本文所提供的公开和教导内容,本领域 技术人员应了解并理解用于使用硬件和软硬件组合实现本发明实施 例的其他方式和/或方法。

还可对此类程序进行编码并使用载波信号进行传输,所述载波 信号适于经由符合各种协议的有线网络来进行传输。同样地,根据 本发明的实施例的计算机可读介质可使用通过此类程序编码的数据 信号来创建。用程序代码编码的计算机可读介质可封装有兼容设备 或独立于其他设备(例如,经由互联网下载)。任何此类计算机可 读介质可存在于或位于单个计算机程序产品(例如,硬盘驱动器、 CD或整个计算机系统)内,并且可存在于或位于系统或网络内的不 同计算机程序产品内。计算机系统可包括监视器、打印机或用于将 本文所涉及的任何结果提供给用户的其他合适的显示器。

可通过计算机系统来完全或部分地执行本文所述的任何方法, 该计算机系统包括可被配置为执行步骤的一个或多个处理器。因此, 实施例可涉及被配置为执行本文所述任何方法的步骤的计算机系 统,潜在地具有执行相应的步骤或相应一组步骤的不同部件。尽管 给出有序步骤,但本文的方法步骤可同时或以不同次序执行。另外, 这些步骤的部分可与来自其他方法的其他步骤的部分一起使用。另 外,步骤的全部或部分可以是可选的。另外,任何方法的任何步骤 可通过模块、电路或用于执行这些步骤的其他装置来执行。

图9为根据本发明的实施例的移动设备900的框图。在一些实 施例中,移动设备900可为移动设备(例如,图1中的101)。移动 设备900通常包括计算机可读介质902、处理系统904、输入/输出(I/O) 子系统906和无线电路908。这些部件可通过一个或多个通信总线或 信号线903来耦接。设备900可为任何便携式电子设备,包括手持 式计算机、平板电脑、移动电话、膝上型计算机、平板设备、媒体 播放器、个人数字助理(PDA)、便携式GPS导航单元、内置汽车导 航系统、其他汽车计算机系统、密钥卡、车钥匙、通行卡、多功能 设备、移动电话、便携式游戏设备等,包括这些物品中的两个或更 多个的组合。

显然,图9所示的架构仅为移动设备900的架构的一个实例, 并且移动设备900可具有比图示中更多或更少的部件或不同配置的 部件。图9中所示的各种部件可以硬件、软件方式或软硬件组合来 实现,包括一个或多个信号处理电路和/或专用集成电路。

无线电路908用于通过无线链路或网络发送和接收信息至一 个或多个其他设备的常规电路,诸如天线系统、RF收发器、一个或 多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC 芯片组、存储器等。在一些实施例中,无线电路908能够使用一个 或多个通信协议与其他设备建立并保持通信,该一个或多个通信协 议包括时分多址(TDMA)、码分多址(CDMA)、全球移动通信系统 (GSM)、增强型数据GSM环境(EDGE)、宽带码分多址(W-CDMA)、 长期演进(LTE)、LTE-Advanced、WiFi(诸如IEEE 802.11a、IEEE 802.11b、IEEE 802.11g和/或IEEE 802.11n)、蓝牙、Wi-MAX、互 联网协议语音技术(VoIP)、近场通信协议(NFC)、用于电子邮件、即 时消息和/或短消息服务(SMS)的协议、或任何其他合适的通信协议, 包括到本文的提交日期为止尚未开发出来的通信协议。移动设备可 包括能够根据通信所需的范围通过若干不同类型的无线网络进行通 信的无线电路。例如,短程无线收发器(例如,蓝牙)、中程无线 收发器(例如,WiFi)和/或远程无线收发器(例如,GSM/GPRS、 UMTS、CDMA20001x/EV-DO和LTE/LTE-Advanced)可根据通信 类型或通信的范围来使用。

无线电路908经由外围设备接口916耦接至处理系统904。接 口916可包括用于建立并保持外围设备和处理系统904之间的通信 的常规部件。通过无线电路908所接收的语音和数据信息(例如, 在语音识别或语音命令应用程序中)经由外围设备接口916被发送 至一个或多个处理器918。一个或多个处理器918可被配置为处理存 储在介质902上的一个或多个应用程序934的各种数据格式。

外围设备接口916将设备的输入和输出外围设备耦接至处理 器918和计算机可读介质902。一个或多个处理器918经由控制器 920与计算机可读介质902进行通信。计算机可读介质902可为能够 存储代码和/或数据以供一个或多个处理器918使用的任何设备或介 质。介质902可包括存储器分级结构,包括高速缓存、主存储器和 辅助存储器。存储器分级结构可使用RAM(例如,SRAM、DRAM、 DDRAM)、ROM、FLASH、磁和/或光存储设备诸如磁盘驱动器、 磁带、CD(光盘)和DVD(数字视频光盘))的任何组合来实现。 在一些实施例中,外围设备接口916、一个或多个处理器918和存储 器控制器920可在单个芯片上实现,诸如处理系统904。在一些其他 实施例中,它们可以在独立的芯片上实现。

移动设备900还可包括用于为各种硬件部件供电的电力系统 942。电力系统942可包括电源管理系统、一个或多个电源(例如, 电池、交流电(AC))、再充电系统、电源故障检测电路、电源转 换器或反相器、电源状态指示器(例如,发光二极管(LED))以 及通常与发电、电源管理和配电相关联的任何其他部件。

在一些实施例中,移动设备900可包括GPS接收器,有时被 称为GPS单元948。移动设备可使用卫星导航系统诸如全球定位系 统(GPS)来获得定位信息、定时信息、高度或其他导航信息。在操作 期间,GPS单元可接收来自绕地球飞行的GPS卫星的信号。GPS单 元对信号进行分析以对传送时间和传送距离进行估计。GPS单元可 确定移动设备的当前定位(当前位置)。基于这些估计,移动设备 可确定位置方位、高度和/或当前速度。位置方位可为地理坐标,诸 如纬度和经度信息。

一个或多个处理器918运行存储在介质902中的各种软件组件 以执行设备900的各种功能。在一些实施例中,软件组件包括操作 系统922、通信模块(或指令集)924、定位模块(或指令集)926、 应用程序推荐模块(或指令集)928、应用程序存储模块(或指令集) 930和其他应用程序(或指令集)934。

操作系统922可为任何合适的操作系统,包括iOS、Mac OS、 Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS或嵌入式操作 系统诸如VxWorks。操作系统可包括用于控制和管理一般系统任务 (例如,存储器管理、存储设备控制、电力管理等)的各种程序、 指令集、软件部件和/或驱动器,并且有利于各种硬件和软件部件之 间的通信。

通信模块924有利于通过一个或多个外部端口936或经由无线 电路908与其它设备通信,并且包括用于处理从RF电路908和/或 外部端口936所接收的数据的各种软件部件。外部端口936(例如, USB、火线、闪电连接器、30引脚连接器等)适用于通过网络(例 如,互联网、无线局域网等)直接地或间接地耦接至其他设备。

定位模块926可有助于确定移动设备900的当前位置(例如, 坐标或其他地理位置标识符)。现代定位系统包括基于卫星的定位 系统诸如全球定位系统(GPS)、基于“小区ID”的蜂窝网络定位和基 于WiFi网络的WiFi定位技术。通常,GPS为最准确的,但常常比 其他定位系统消耗更多电力。GPS还依赖于多个卫星的可见度来确 定位置估计,其在室内或“城市峡谷”可能不可见(或具有微弱信 号)。在一些实施例中,定位模块926接收来自GPS单元948的数 据并且分析该数据以确定移动设备的当前位置。在一些实施例中, 定位模块926可使用WiFi或蜂窝定位技术来确定当前位置。例如, 可使用对附近小区站点和/或WiFi接入点的了解并结合对其位置的 了解来估计移动设备的位置。识别WiFi或蜂窝式发射器的信息被接 收于无线电路908处并传送至定位模块926。在一些实施例中,定位 模块接收一个或多个发射器ID。在一些实施例中,可将发射器ID 的序列与参考数据库(例如,小区ID数据库、WiFi参考数据库)进 行比较,该参考数据库将发射器ID映射或关联至对应发射器的位置 坐标,并且至少部分地基于对应发射器的位置坐标来计算移动设备 900的估计的位置坐标。不论使用何种特定定位技术,定位模块926 接收能够从其中得出位置方位的信息、解译该信息、并返回位置信 息诸如地理坐标、纬度/经度或其他位置方位数据。

应用程序推荐模块(或指令集)928和应用程序存储模块930 可共同工作以将本地相关的应用程序推荐提供给移动设备900的用 户。在一些实施例中,应用程序推荐模块和/或应用程序存储模块例 如通过无线电路908与应用程序推荐系统(例如,220或类似的服务 器计算机)进行可操作的通信。

位于移动设备上的一个或多个应用程序934可包括安装在设 备900上的任何应用程序,包括但不限于浏览器、地址簿、联系人 列表、电子邮件、即时消息、文字处理、键盘仿真、桌面小程序、 支持JAVA的应用程序、加密软件、数字版权管理、语音识别、语 音复制、音乐播放器(回放存储在诸如MP3或AAC文件之类的一 个或多个文件中的录制音乐),等等。

I/O子系统906可耦接至显示系统(未示出),该显示系统可 以是触敏显示器。显示器在GUI中向用户显示视觉输出。视觉输出 可包括文本、图形、视频以及它们的任何组合。视觉输出中的一些 或所有可对应于用户界面对象。尽管显示器可使用发光二极管 (LED)技术、液晶显示器(LCD)技术或发光聚合物显示器(LPD) 技术,但在其他实施例中可使用其他显示技术。

在一些实施例中,I/O子系统906可包括显示器和诸如键盘、 鼠标和/或触控板之类的用户输入设备。在一些实施例中,I/O子系 统906可包括触敏显示器。触敏显示器还可接受来自用户的基于触 觉和/或触感接触的输入。在一些实施例中,触敏显示器形成接受用 户输入的触敏表面。触敏显示器/表面(连同介质902中的任何相关 联的模块和/或指令集)检测触敏显示器上的接触(和接触的任何移 动或释放),并将检测到的接触转换为与用户界面对象的交互,诸 如在接触发生时显示在触摸屏上的一个或多个软键。在一些实施例 中,触敏显示器和用户之间的接触点对应于一个或多个用户的数字。 用户可使用诸如触笔、笔、手指等任何合适的物体或附属件接触触 敏显示器。触敏显示器表面可使用任何合适的触敏技术检测接触及 其任何移动或释放,这些技术包括电容式、电阻式、红外和表面声 波技术以及其他接近传感器阵列或用于确定与触摸显示器的一个或 多个接触点的其他元件。

此外,I/O子系统还可耦接至一个或多个其他物理控制设备(未 示出),诸如按钮、按键、开关、摇杆按钮、拨号盘、滑动开关、 操作杆、LED等,用于控制或执行各种功能诸如功率控制、扬声器 音量控制、电话铃声响度、键盘输入、滚动、保持、菜单、锁屏、 清除和结束通信等。在一些实施例中,除了触摸屏之外,设备900 还包括用于激活或去激活特定功能的触控板(未示出)。在一些实 施例中,触控板是设备的触敏区域,该触敏区域与触摸屏不同,其 不显示视觉输出。触控板可以是与触敏显示器分开的触敏表面、或 者是由该触敏显示器形成的触敏表面的延伸部。

尽管以上描述注重提供本地相关的应用程序推荐,但也可使用 根据本发明的某些实施例的众包数据提供对其他内容的推荐,包括 对音乐、书籍、电影或从能够获得的其他内容的推荐。例如, 听音乐或看电影可被附以位置/时间和匿名化收集数据的标签。可对 使用数据进行分析以识别热点,并且可在不脱离本发明范围的情况 下提供基于热点的推荐。

还可设想到本公开的其他扩展。在一些实施例中,用户常去的 地点和对众包本地化应用程序使用数据的挖掘可用于提供个性化应 用程序推荐,并同时保护隐私问题。在一些实施例中,可基于用户 频繁使用的应用程序和对众包本地化应用程序使用数据的挖掘将所 推荐的访问地点呈现给移动设备的用户,并同时保护隐私问题。可 使用上述的某些实施例来确定被本地化的应用程序的类别。例如, 应用程序的类别(例如,旅行应用程序、生产力应用程序、免费应 用程序、游戏等)可用位置数据进行标记。可通过应用程序推荐系 统对该使用数据进行分析。继而可基于位置将应用程序的类别推荐 给用户。在一个实施例中,可将匿名化众包数据用于广告业。例如, 在iAd中,可估计用户与每个iAd交互的时间的空间分布。分布可 用于确定在给定位置和/或时间呈现哪些iAd。分布可用于确定定价。

特定实施例的具体细节可在不脱离本发明的实施例的实质和 范围的情况下以任何合适的方式相结合。然而,本发明的其他实施 例可涉及与每个单独方面相关的具体实施例或这些单独方面的组合 的具体实施例。

出于说明和描述目的提供了本发明示例性实施例的上述描述。 其并非旨在为穷尽的,也不旨在将本发明限制为所述精确形式,并 且根据上述教导内容,许多修改和变型是可能的。该实施例被选择 和描述以充分说明本发明的原理及其实际应用,以由此使得本领域 的其他技术人员能够充分利用各种实施例中的并具有适合于所构想 的特定用途的各种修改的本发明。

除非明确地作出相反说明,“一”、“一个”或“该”的表述 旨在表示“一个或多个”。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号