用于预取地方页面数据以随后在移动计算装置上进行显示的方法和设备转让专利

申请号 : CN201280067781.5

文献号 : CN104221046B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : M·西里斯基佐佐木武

申请人 : 谷歌有限责任公司

摘要 :

本发明公开了一种用于从远程映射系统预取地方页面数据以在客户端计算装置上进行显示的计算机实现的方法和系统。可分析从包括在所述客户端装置上执行的应用、在线或本地用户配置文件和其它来源的各种数据源采集的用户偏好数据以生成从所述远程映射系统获得地方页面数据的请求。所述用户偏好数据可指示地图特性,如营业地、公园或历史名胜,其具有用户偏好的地理位置和用户的个人兴趣的特征。例如,在所述用户指示地理偏好为“波士顿”且个人兴趣为“家庭式酿酒”的情况下,所述系统和方法可请求用于波士顿附近的所有家庭式酿酒或精酿啤酒相关的地图特性的地方页面数据。

权利要求 :

1.一种用于从远程映射系统预取地方页面数据至在客户端计算装置上执行的映射应用以随后在所述客户端计算装置上进行显示的计算机实现的方法,所述方法包括:在从用户接收到对于与一个地图位置相对应的数据的明确请求之前,分析用户偏好的地理位置数据和用户个人兴趣数据以确定用户偏好数据,其中所述用户偏好的地理位置数据包括指示所述客户端计算装置的用户偏好的特定地图位置的数据且用户个人兴趣数据包括指示所述用户的个人兴趣的数据;

分析所述用户偏好数据以确定:(i)矢量格式的地图数据,以用于以特定缩放级别呈现所述特定地图位置的交互式数字地图,和(ii)一个或多个匹配的地方页面数据,所述地方页面数据包括描述与所述特定地图位置和所述用户的个人兴趣这两者相对应的地图特性的文本、图形和数据馈送数据中的一个或多个;

在用户明确请求所述地方页面数据之前,将所述地图数据和所匹配的地方页面数据从所述远程映射系统分开发送至所述客户端计算装置;

在所述客户端计算装置的高速缓冲存储器中存储所述地图数据和所匹配的地方页面数据;以及

随后从所述客户端计算装置的所述高速缓冲存储器检索所匹配的地方页面数据而不在所述远程映射系统和所述客户端计算装置之间进行进一步的通信。

2.根据权利要求1所述的方法,其还包括:

从所述客户端计算装置的映射应用检索所述用户偏好的地理位置数据;

其中所述用户偏好的地理位置数据包括城市名、地址、机场代码或全球定位系统坐标中的一个或多个,以及通过使用所述映射应用进行标记的GPS位置、经所述远程映射系统返回至所述客户端计算装置的地理位置和具有指示的偏好的地理位置中的一个或多个指示所述用户偏好的地理位置数据。

3.根据权利要求1所述的方法,其还包括:

从所述客户端计算装置的社交网络应用、电子邮件应用和网页浏览器中的一个或多个检索所述用户个人兴趣数据;

其中所述用户个人兴趣数据包括用户配置文件数据、社交网络数据、网页浏览器的历史数据、电子邮件文本和日历约会数据中的一个或多个。

4.如权利要求1所述的方法,其中分析所述用户偏好数据包括分析与所述用户偏好数据相关联的时间戳信息,以确定是否应当缓存所述一个或多个特定地图位置的所述地方页面数据。

5.根据权利要求1所述的方法,其中,所述地方页面数据中的至少一些对应于除了所述地图数据的所述特定缩放级别之外的缩放级别。

6.根据权利要求1所述的方法,其中,将所述地图数据和所匹配的地方页面数据从所述远程映射系统发送至所述客户端计算装置包括使所述地方页面数据在所述客户端计算装置处可用并且独立于相应地图数据的所有或一些存储器负荷。

7.一种用于从远程映射系统预取地方页面数据至映射应用以随后在所述远程映射系统和客户端计算装置之间不具有连接的条件下在执行所述映射应用的客户端计算装置上进行显示的计算机实现的方法,所述方法包括:在不需要用户明确请求的情况下,定期地将用户偏好的地理位置数据和用户个人兴趣数据从所述客户端计算装置发送至后端用户偏好系统,其中所述用户偏好的地理位置数据包括指示所述客户端计算装置的用户偏好的特定地图位置的数据且用户个人兴趣数据包括指示所述用户的个人兴趣的数据;

响应于所发送的用户偏好的地理位置数据和用户个人兴趣数据,在明确请求地方页面数据之前,从所述远程映射系统分开接收:(i)矢量格式的地图数据,以用于以特定缩放级别呈现所述特定地图位置的交互式数字地图,和(ii)一个或多个匹配的地方页面数据,所述地方页面数据包括描述与所述特定地图位置和所述用户的个人兴趣这两者相对应的地图特性的文本、图形和数据馈送数据中的一个或多个;

在所述客户端计算装置的高速缓冲存储器中存储所接收的地图数据和地方页面数据;

以及

随后从所述客户端计算装置的所述高速缓冲存储器检索所述地图数据和所匹配的地方页面数据而不在所述远程映射系统和所述客户端计算装置之间进行进一步的通信。

8.一种客户端计算装置,其包括:

处理器;

存储器,其存储有用于经所述处理器执行的应用和指令,所述指令用于使用所述处理器以在不需要用户明确请求的情况下,定期地使用户偏好的地理位置数据和用户个人兴趣数据经由网络连接从所述客户端计算装置发送至后端用户偏好系统,其中所述用户偏好的地理位置数据包括指示所述客户端计算装置的用户偏好的特定地图位置的数据且用户个人兴趣数据包括指示所述用户的个人兴趣的数据;

收发器,其用于响应于所发送的用户偏好的地理位置数据和用户个人兴趣数据,在明确请求地方页面数据之前,经由所述网络连接从远程映射系统分开接收:(i)矢量格式的地图数据,以用于以特定缩放级别呈现所述特定地图位置的交互式数字地图,和(ii)一个或多个匹配的地方页面数据,所述地方页面数据包括描述与所述特定地图位置和所述用户的个人兴趣这两者相对应的地图特性的文本、图形和数据馈送数据中的一个或多个;

高速缓冲存储器,其用于存储由所述收发器接收的地图数据和所述地方页面数据;以及

映射模块,其包括使所述处理器显示从所述高速缓冲存储器接收的所述地图数据和所述地方页面数据而不在所述远程映射系统和所述客户端计算装置之间进行进一步通信的指令。

9.一种远程映射系统,其包括:

处理器;

存储器,其与所述处理器进行通信且存储有包括用于经所述处理器执行的指令的地图控制器,所述指令包括:第一指令,其使所述处理器在不需要用户明确请求的情况下,定期地接收对(i)矢量格式的地图数据,以用于以特定缩放级别呈现所述特定地图位置的交互式数字地图,和(ii)一个或多个匹配的地方页面数据的请求,所述地方页面数据包括描述与所述特定地图位置和所述用户的个人兴趣这两者相对应的地图特性的文本、图形和数据馈送数据中的一个或多个,并且对应于和所述地图控制器进行通信的用户偏好系统所生成的用户偏好数据,所述用户偏好数据包括由客户端计算装置生成的用户偏好的地理位置数据和用户个人兴趣数据的组合,其中所述用户偏好的地理位置数据包括指示所述客户端计算装置的用户偏好的特定地图位置的数据且所述用户个人兴趣数据包括指示所述用户的个人兴趣的数据;

第二指令,其使所述处理器将所述用户偏好数据与所述远程映射系统的地方页面数据相匹配,其中所述地方页面数据包括描述与所述用户偏好的特定地图位置和所述用户的个人兴趣相应的地图特性的文本、图形和数据馈送数据中的一个或多个;

第三指令,其使所述处理器在用户明确请求地方页面数据之前,将所述地图数据和所匹配的地方页面数据从所述远程映射系统分开发送至所述客户端计算装置以存储于所述客户端计算装置的高速缓冲存储器中,其中所述客户端计算装置被配置成随后从所述高速缓冲存储器检索所述地图数据和所匹配的地方页面数据而不在所述远程映射系统和所述客户端计算装置之间进行进一步的通信。

说明书 :

用于预取地方页面数据以随后在移动计算装置上进行显示的

方法和设备

技术领域

[0001] 本公开大体涉及预取地方页面数据以随后在未与地方页面数据的来源相连接的期间在移动计算装置上进行显示。
[0002] 发明背景
[0003] 本文所提供的背景描述用于大体表示本公开的背景。背景技术部分中对发明人的工作的描述,以及说明书中关于其它尚未成为申请日之前的现有技术的方面的描述,无论是以明示或暗示的方式均不被视为相对于本公开的现有技术。
[0004] 许多移动计算装置,如蜂窝电话、平板计算机、笔记本计算机等,包含全球定位系统(GPS)应用和相关硬件。当在装置上致动时,GPS应用可与装置和后端应用服务器上的GPS发射器或其它GPS硬件进行通信以向用户提供围绕装置当前位置的区域的数字地图,以及标签数据和地方页面数据。
[0005] 然而,当移动计算装置位于具有与限制或以其它方式防止对这种数据的立即实时存取的后端应用服务器的有限网络、蜂窝或其它通信存取的区域中时,可能存在有对用户的体验造成不利影响的情况。发明概要
[0006] 在本概要中描述的特性和优点以及下列详细的描述并非包括一切。对于本领域的普通技术人员来说,许多额外的特性和优点将通过附图、说明书和权利要求而变得显而易见。此外,其它实施方案可省略在本概要中所述特性和优点中的一个或多个(或所有)。
[0007] 一种计算机实现的方法可从远程映射系统预取地方页面数据至在客户端计算装置上执行的映射应用以随后在客户端计算装置上进行显示。该方法可包括分析用户偏好的地理位置数据和用户个人兴趣数据以确定用户偏好数据。用户偏好的地理位置数据可包括指示客户端计算装置的用户偏好的特定地图位置的数据。用户个人兴趣数据可包括指示用户的个人兴趣的数据。该方法也可将用户偏好数据与远程映射系统的地方页面数据相匹配。地方页面数据可包括描述与用户偏好的特定地图位置和用户的个人兴趣相应的地图特性的文本、图形和数据馈送数据。该方法也可将所匹配的地方页面数据从远程映射系统发送至客户端计算装置并在客户端计算装置的高速缓冲存储器中存储所匹配的地方页面数据。随后可从客户端计算装置的高速缓冲存储器检索所存储的地方页面数据而不在远程映射系统和客户端计算装置之间进行进一步的通信。
[0008] 用户偏好的地理位置数据可包括城市名、地址、机场代码或全球定位系统坐标中的一个或多个。可通过使用映射应用进行标记的GPS位置、经远程映射系统返回至客户端计算装置的地理位置和具有指示的偏好的地理位置中的一个或多个指示用户偏好的地理位置数据。此外,可从客户端计算装置的社交网络应用、电子邮件应用和网页浏览器中的一个或多个检索用户个人兴趣数据。用户个人兴趣数据包括用户配置文件数据、社交网络数据、网页浏览器的历史数据、电子邮件文本和日历约会数据中的一个或多个。
[0009] 在另一实施方案中,一种用于从远程映射系统预取地方页面数据至映射应用的计算机实现的方法可随后在远程映射系统和客户端计算装置之间不具有连接的条件下将地方页面数据显示在执行映射应用的客户端计算装置上。该实施方案可定期地将用户偏好的地理位置数据和用户个人兴趣数据从客户端计算装置发送至后端用户偏好系统。客户端计算装置可响应于所发送的用户偏好的地理位置数据和用户个人兴趣数据从远程映射系统接收地方页面数据。地方页面数据可包括描述与用户偏好的特定地图位置和用户的个人兴趣相应的地图特性的文本、图形和数据馈送数据中的一个或多个。接着,可将该接收的地方页面数据存储于客户端计算装置的高速缓冲存储器中并随后进行检索而不在远程映射系统和客户端计算装置之间进行进一步的通信。
[0010] 一种客户端计算装置可包括处理器和存储有用于经处理器执行的应用和指令的存储器。指令可用于使用处理器以定期地使用户偏好的地理位置数据和用户个人兴趣数据经由网络连接从客户端计算装置发送至后端用户偏好系统。用户偏好的地理位置数据可包括指示客户端计算装置的用户偏好的特定地图位置的数据。用户个人兴趣数据可包括指示用户的个人兴趣的数据。客户端计算装置还可包括经由网络连接从远程映射系统接收地方页面数据的收发器。可响应于所发送的用户偏好的地理位置数据和用户个人兴趣数据接收地方页面数据。地方页面数据可包括描述与用户偏好的特定地图位置和用户的个人兴趣相应的地图特性的文本、图形和数据馈送数据中的一个或多个。进一步地,高速缓冲存储器可存储由收发器接收的地方页面数据,且映射模块可包括使处理器显示从高速缓冲存储器接收的地方页面数据而不在远程映射系统和客户端计算装置之间进行进一步通信的指令。
[0011] 远程映射系统的实施方案还可包括处理器和存储器。存储器可与处理器进行通信且存储有包括用于经处理器执行的指令的地图控制器。第一指令可使处理器接收对地方页面数据的请求,且地方页面数据对应于与地图控制器进行通信的用户偏好系统所生成的用户偏好数据。用户偏好数据可包括客户端计算装置生成的用户偏好的地理位置数据和用户个人兴趣数据的组合。用户偏好的地理位置数据可包括指示客户端计算装置的用户偏好的特定地图位置的数据且用户个人兴趣数据可包括指示用户的个人兴趣的数据。第二指令可使处理器将用户偏好数据与远程映射系统的地方页面数据相匹配。地方页面数据可包括描述与用户偏好的特定地图位置和用户的个人兴趣相应的地图特性的文本、图形和数据馈送数据中的一个或多个。第三指令可使处理器将所匹配的地方页面数据从远程映射系统发送至客户端计算装置以存储于客户端计算装置的高速缓冲存储器中。客户端计算装置可被配置成随后从高速缓冲存储器检索所匹配的地方页面数据而不在远程映射系统和客户端计算装置之间进行进一步的通信。
[0012] 附图简述
[0013] 图1A为用于预取地方页面数据以在移动计算装置上进行缓存存储的系统的高级框图;
[0014] 图1B为用于将地方页面数据预取至移动计算装置的系统的组件的高级框图;
[0015] 图2为用于预取的地方页面数据的示例性数据结构;
[0016] 图3为用于用户偏好数据的移动计算装置和数据结构的示例性框图;
[0017] 图4为如本文所述的一种用于从远程后端映射系统预取地方页面数据的方法的示例性流程图;以及
[0018] 图5为实现用于预取地方页面数据以在计算装置上进行缓存存储和显示的系统和方法的计算环境的高级框图。
[0019] 附图描绘了仅用于说明的优选实施方案。本领域的技术人员可根据下列讨论而轻易地认识到可在不脱离本文所述原理的前提下采用本文所述的结构和方法的替代实施方案。

具体实施方式

[0020] 下面讨论了用于高效地将逻辑性链接至地图数据的地方页面数据从地方页面数据的服务器传输至客户端装置的系统和方法的实施方案。为了在网页浏览器、映射应用或另一应用中呈现地图图像,客户端装置可经由通信网络从地图服务器请求地图数据,且作为响应,地图服务器可提供描述地图的图形内容的矢量数据以及描述所呈现的矢量数据的地方页面数据。更特别地,矢量数据可指定用于地图特性的各种几何形状(例如,使用数学描述)并指示应如何定位这些形状以在客户端计算装置上呈现各种地图特性,如道路、建筑物、水体等。地方页面数据可使用文本、图形、网页等描述每个地图特性。地图服务器也可指定客户端装置应将哪种视觉风格应用至关于地图特性的各种基于矢量的描述。
[0021] 用于在移动计算装置上呈现地图图像的图形数据为相对数据(且因此为内存)密集型。在用户进行请求之前,可经由网络连接单独预取或预下载地方页面数据,从而可独立于所有或一些随附的地图图块数据的存储器负担而使用该地方页面数据。例如,与数字地图数据逻辑性相关联的数据可包括用于地图的各种建筑物、道路和其它图形元素的标签数据。其它数据可包括提供关于地图的各种建筑物、企业、兴趣点或其它图形元素或“特性”的详细信息的地方页面数据。可经移动计算装置和服务器之间的网络连接从地方页面数据的服务器单独地请求源自地图的图形元素的地方页面数据。接着,可在移动计算装置的高速缓冲存储器中存储该地方页面数据。然后,可在移动装置和服务器之间具有低连接性的时候或在可能不需要使用图形地图数据以用于导航的情况下使用地方页面数据。例如,在密集的城市区域中不具有随附的图形地图数据的情况下,地方页面数据可能是有用的,其中用户知道他或她的位置,但却不知道关于他或她的位置的各种企业或其它信息。
[0022] 如下所述,可分析用户偏好、所表达的兴趣、社交网络信息等以确定用户可能感兴趣的地方页面数据的位置。可应在移动装置或通过后端服务器而被推至移动装置的地方页面模块的请求将地方页面数据预取至移动装置。
[0023] 用户兴趣分析可确定在用户当前或偏好的地理位置上的一个或多个企业或其它感兴趣的地方。该分析可在后端或移动装置上进行且可考虑与用户在线表达的个人兴趣相关的全部或部分数据(例如,社交网络配置文件、专业简介、个人或企业列表信息等)、地理兴趣或数据的组合。在进一步的实施方案中,该系统可使用与用户花费了他或她的大多数时间的、搜索用户已通过搜索模块进行搜索的以及按用户已规划的行程行进的地方相关的数据、用户发送或接收的电子邮件中的信息等。
[0024] 图1A为示出用于预取映射系统的数据,包括地方页面数据,以存储于高速缓冲存储器中的系统100的高级框图。通常,客户端计算装置102可包括存储器104,其存储有由处理器108执行的映射模块106。映射模块106可包括用于基于对用户地理偏好、个人兴趣和其它数据的分析而从后端服务器预取地方页面数据的指令。如本文所述,客户端计算装置102可包括个人计算机、智能蜂窝电话、平板计算机或其它包括GPS收发器且能够执行各种模块、指令等。映射模块106可经网络连接,如互联网115或其它类型的网络(例如,LAN、MAN、WAN、移动、有线或无线网络、专用网络或虚拟专用网络等)与包括映射系统112和用户偏好系统114的后端组件110进行通信。虽然图1A中所示的系统100包括用作后端组件的用户偏好系统114,但本文所述的用户偏好系统114的组件和功能也可被结合在客户端计算装置102上。例如,用户偏好系统114可被实施为映射模块106的计算机可执行指令或单独的用户偏好模块140。
[0025] 可采用一个或多个服务器为形式的映射系统服务器116从地图图块数据存储库118发送和接收地图图块数据117且从与地图图块数据117的地理特性相应的地方页面数据的存储库120发送和接收地方页面数据119。在一些实施方案中,映射系统112和系统服务器
116可发送计算机可执行指令和数据以允许映射模块106在客户端装置102的显示组件122中呈现数字地图。虽然使用映射模块106,但用户也可指示一个或多个偏好的地理位置
106A。例如,在将地图搜索结果返回至装置102(如下所述)后,用户可使映射模块106执行指令以在所返回的搜索结果中将特定位置(例如,地址、地图特性、GPS点等)标记为“最喜爱的”或以其它方式指示用户偏好的特定地图位置。用户已指示偏好的地理位置(例如,最喜爱的映射模块的搜索结果、家乡、最喜爱的城市、规划行程等)可在装置102上进行分配,且可执行用户偏好模块140的指令以确定用户很可能从映射模块116请求地方页面数据的额外的偏好地理位置106A。
[0026] 在一些实施方案中,可在客户端装置102确定用户个人兴趣数据125或从各种来源检索用户个人兴趣数据125。用户个人偏好数据可指示用户的个人兴趣(例如,食品、嗜好、运动队等)。例如,用户偏好模块126可执行指令以从各种本地和远程来源确定或采集用户个人兴趣数据125(例如,在客户端计算装置102保存的个人配置文件、从社交网络和其它网站获得的在线个人配置文件和兴趣数据、从在装置102上执行的其它应用获得的配置文件数据等)。用户个人兴趣数据125也可从在客户端装置102上执行的或与装置102进行通信的各种应用和模块(例如,映射应用、网页浏览器、用户活动跟踪模块、行程规划模块、电子邮件模块、社交网络系统等)进行采集并存储在用户偏好数据的存储库126中。数据125可包括存储于装置102上的用户配置文件、从在装置102上执行的应用获得的用户偏好(例如,在执行映射模块106和包括用户配置文件、兴趣和其它数据等的社交网络应用的过程中保存的最喜爱的位置)、网页浏览历史、电子邮件文本、用于旅行的日历约会等。可在客户端装置102处分析数据125以确定用户的地理兴趣和个人兴趣。
[0027] 用户偏好的地理位置数据106A和用户个人兴趣数据125的组合指示了用户未来可请求地方页面数据119的企业或其它地图特性。然后,为那些地理和个人兴趣预取地方页面数据119并将其存储在客户端装置的存储器104的高速缓冲存储器124中,从而可在与映射系统112具有低连接性的期间或在任何其它时刻显示给用户。
[0028] 在于后端110处确定用户地理和个人偏好数据的另一实施方案中,用户地理/个人偏好数据130A可从与用户相关联的在线资源130进行采集并进行分析以确定用户很可能从映射服务器116请求地方页面数据的个人兴趣位置或可指示用户在未来可为其请求地方页面数据的企业或其它地图特性的用户偏好和兴趣。可从通过共同的用户帐户链接的各种在线资源130采集用户地理/个人偏好数据130A。例如,后端服务器128可包括具有指令的模块129,执行该指令可采集与用户进行的网页搜索相关的信息、社交网络配置文件信息、用户对与用户兴趣相关的新闻馈送的订阅、与映射模块106相关的搜索等。可在客户端装置102分析数据130A以确定用户的地理偏好106A和个人兴趣125。然后,可从地方页面数据的存储库120预取地方页面数据119以用于位于用户偏好的地理位置上的兴趣且可在客户端装置的存储器104的高速缓冲存储器124中存储地方页面数据119,从而可在与映射系统112具有低连接性的期间或在任何其它时刻显示给用户。其它实施方案可使用前端102和后端110组件的组合来确定用户的地理位置偏好和个人兴趣数据。
[0029] 响应于来自客户端计算装置102的请求,映射系统112可处理和发送用于待显示在客户端计算装置102上的地图图像的图形、文本和其它数据。客户端装置102的请求也可使映射系统112发送可与图形地图图块数据117一同显示的或被链接至所显示的地图图块数据117的地方页面数据119。可在装置102的显示器122中显示地方页面数据119,也可显示或不显示包括地方页面数据119所描述的特性的地图图块数据117。图形组件(即地图图块数据117)和文本或其它数据(即地方页面数据)可一起或单独地进行处理并被发送至装置102。当客户端计算装置102从映射系统112请求数据117和119时,系统112可根据矢量图形格式生成具有或不具有地方页面数据119的每个地图图块117。客户端装置102(例如,移动蜂窝电话、平板计算机等)可将与显示在装置102上的每个地图图块对应的矢量数据进行本地光栅化。
[0030] 在实施方案中,系统100从各种服务器检索所请求的数据。例如,映射系统服务器116可包括处理器116a和存储有以计算机指令为形式的地图控制器116c的计算机可读存储器116b,例如,计算机指令可直接地(例如,作为编译代码)或间接地(例如,作为由在处理器
116a上执行的另一应用解译的脚本)在处理器116a上予以执行。计算机可读存储器116b可包括易失性存储器(例如,随机存取存储器或RAM)以存储计算机指令和数据,易失性存储器上的计算机指令在操作时间上运行,且在实施方案中,例如,可包括持久性存储器,如硬盘。
在实施方案中,地图控制器116c包括生成用于作为地图内容而被提供至客户端装置102的各种地图元素的矢量数据的动态特性控制器154(图1B)。所本文所使用的,地图特性(或简称为特性)可对应于个别的地图元素,如建筑物或若干地图元素,如大学校园的若干建筑物、公园和若干人行道的集合。一般来说,可使用矢量数据描述地图特性。地方页面数据119可包括描述包括用于地图特性(即:企业、地标等)等的文本信息、图像、数据馈送和网页内容的地图图块特性的商业和/或行政方面的数据。
[0031] 在一些实施方案中,映射模块106接收指定地图特性的图形特征的矢量数据以及描述这些特性的地方页面数据119。矢量数据使用点和连接点的路径的数学描述将地图特性指定为几何形状。例如,矢量数据可指定线段的两个端点并指示通过直线连接的两个端点而不是指定补足线段的光栅图像的每个像素。随后,映射模块106可酌情将地方页面数据119应用至指定的线段,使得用特定标题、描述等显示线段。作为另一个实例,矢量数据可指定建筑物的轮廓且相应的地方页面数据119可指定建筑物的名称、描述、网页、联系信息、地址等。换句话说,映射模块106可接收用于在客户端计算装置102的输出装置122上绘制地图图像的指令并执行指令以生成光栅地图图像而不是从地图服务器116接收光栅图像。然而,在一些情况下,矢量数据也可包括作为无法轻易地以矢量模式表示的某些组成元素的光栅图像。
[0032] 在其它实施方案中,映射模块106仅接收与所请求的、偏好的或预测的地理位置相应的地方页面数据119,如本文所述。系统100可通过发送用于图像和文本显示的共同文本(例如,SMS、ANSI和ASCII)或专有格式的地方页面数据且在装置102上进行格式化而响应于源于装置102的请求,而不是采用上述的用于接收地图图块数据117的矢量格式。例如,客户端装置102上的用户活动模块140、远程用户偏好系统114或模块和系统的组合可包括用于处理用户地理/个人偏好数据130A(包括地理偏好106A和个人兴趣125)的指令。处理该数据130A可确定用户很可能从映射服务器116请求地方页面数据119的地理和个人兴趣位置或可指示用户可为其请求地方页面数据119的企业或其它地图特性的用户偏好和兴趣。
[0033] 为简单起见,示出的客户端装置102具有用于执行存储于装置存储器104中的各种模块的单处理器108,如本文所述。举例来说,在其它实施方案中的客户端装置102可包括额外的处理单元(未示出),如被配置成便于在输出装置122上进行图像呈现的图形处理单元(GPU)。进一步地,映射模块106可利用图形功能库以高效地生成地图图像以及地方页面数据119,或仅生成地方页面数据119。例如,存储器104可存储插件,如 或库,其具有为在客户端102上执行的各种应用呈现图形的功能且包括映射模块
106,且存储器104可经应用编程界面(API)进行存取。在另一实施方案中,存储器104存储有特别适于浏览器应用,如 的插件。此外,在一些实施方案中,存储器104存储有便
于经由输出装置122对图像和地方页面数据119进行高效呈现的额外软件组件。例如,存储器104可存储有 插件或O3D插件。
[0034] 现在参照图1B,例如,地图控制器150可包括各种功能并充当客户端计算装置102的存储器中或图1A所示的服务器116中的模块,或各种功能可在客户端计算装置102和服务器116之间分开,如上所述。根据实施方案,地图数据控制器150被实现为一组指令,其被存储在计算机可读介质上且可在一个或多个处理器上予以执行。例如,再参照图1A,地图数据控制器150和其各种功能可在存储器116b、104和处理器116a、108之间进行分布。
[0035] 根据实施方案,地图控制器150包括动态特性控制器154、地图图块生成器156、地方页面数据生成器157和地图请求处理器158。地图请求处理器158可被配置成处理源自客户端装置,如客户端装置102的对与指定的或用户偏好的地理区域相应的地图数据117和/或地方页面数据119的请求。每个请求可根据场景和/或实施方案对应于单一电子讯息或一系列电子讯息。例如,地图请求处理器158可接收对与其中心位于41°52'43"纬度和-87°38'11"经度的两英里宽的区域相应的地图数据的请求。地图请求处理器158也可接收对与位于该区域内的个人兴趣125和103A相应的地方页面数据119的请求。请求也可指示为其请求地图数据的缩放级别,其确定将通过映射系统112返回的地图图块数据117和地方页面数据
119的数量。根据场景(即一起或单独请求地图图块和地方页面数据),地图请求处理器158可接收对地图数据的请求和对在单一电子讯息(例如单一HTTP讯息)中或单独位于各电子讯息中的地方页面数据119的请求。
[0036] 在地图请求处理器158接收了来自客户端装置的对地图数据117和/或地方页面数据119的请求后,地图控制器150经由一个或多个电子讯息向客户端装置提供适当的数据。在一些实施方案中,地图请求处理器158可包括用于确定所请求的数据是什么类型并对地图图块生成器156或地方页面数据生成器157中的一个或多个执行函数调用以从适当的数据存储库118和120检索所请求的数据的指令。地图图块生成器156可包括用于生成作为一组地图图块描述符的地图数据的指令,从而使每个地图图块描述符描述地图图块,即某个尺寸(例如,256×256像素)的地图图像的一部分。各地图图块表示的地理区域的大小取决于与地图图块相关联的缩放级别,从而使具有较低缩放级别的单一地图图块示出大于具有较高缩放级别的单一地图图块的地理区域。地图图块生成器156可根据矢量图形格式生成每个地图图块描述符,且客户端装置,如图1A所示的客户端装置102可为每个地块在本地生成光栅图像。地图图块生成器156可从地图数据库,如地图图块数据库118检索所请求的数据。地方页面数据生成器157可生成地方页面数据119连同对地图数据请求的响应,或仅响应对地方页面数据119的请求。在一些实施方案中,地方页面数据生成器157包括用于根据与所请求的地理区域或偏好的地理区域106A相应的数据存储库120的多个条目生成地方页面数据119的指令。地方页面数据生成器157还可包括用于根据与所请求的/所偏好的地理区域106A和用户个人兴趣数据125中的之一或两者相应的数据存储库120的多个条目生成地方页面数据119的指令。例如,在用户请求用于“波士顿”的地图图块数据且用户配置文件或其它数据指示用户的嗜好为“家庭式酿酒(homebrewing)”的情况下,地图请求处理器158可采用地图图块生成器156或地方页面数据生成器157中的一个或多个返回与波士顿区域中的家庭式酿酒商铺或精酿啤酒相关的企业相应的地图图块数据117和/或地方页面数据
119。同样地,地图请求处理器158可检索与用户的个人兴趣125相应的地方页面数据119,其中地方页面数据119与也位于用户地理偏好106A的区域中的企业和其它地图特性相关联。
例如,当用户偏好的位置106A包括“芝加哥”且用户的个人兴趣包括“家庭式酿酒”时,那么则可从地图控制器150请求用于家庭式酿酒商铺和精酿啤酒相关的企业的地方页面数据
119并通过发起对数据119的特定请求的用户将其存储在装置102的高速缓冲存储器124中。
[0037] 当向客户端装置提供图形地图数据时,地图控制器150可将地图图块数据117与地方页面数据119相分离。在一些情况下,地图控制器150可提供描述地图内容的矢量数据,而无需同时向客户端装置提供相应的地方页面数据119(例如,客户端装置已具有必要的地方页面数据)或,相反地,其可提供地方页面数据119而不提供用于地方页面数据119所适用的图形地图内容的矢量数据(例如,用于以更详细的缩放级别呈现地理区域并使用随之前对地理区域的请求发送的具有不同缩放级别的地方页面数据119)。进一步地,在一些场景下,地图控制器150同时提供矢量数据地方页面数据119(例如,在同一电子讯息或一系列电子讯息中)。例如,当地图请求处理器158接收了对地图数据的请求并在地图数据存储库118中查询地图图块数据117时,标签和地方页面控制器152在地方页面数据存储库120中查询与所请求的地图图块数据117的地理区域相应的地方页面数据119。与地图图块数据117一样,与所请求的地图数据117相应的地方页面数据的数量可取决于与地图图块相关联的缩放级别。例如,在较低缩放级别上的单一地图图块示出较大的地理区域,且因此对应于比在较高缩放级别上的单一地图图块更多的标签和地方页面数据119。在一些实施方案中,地方页面数据生成器157可在地方页面数据存储库120中查询仅在所请求的地图数据117的缩放级别上可见的数据119。在其它实施方案中,地方页面数据生成器157可在存储库120中查询与其将为可见的所请求的地图数据117的缩放级别以外的其它缩放级别相应的更多的数据119。此外,在用户明确地请求数据119前,地方页面数据生成器157可在存储库120中查询与所表达的或预测的用户兴趣相应的数据119。接着,地方页面数据生成器157可在含有所请求的地图图块数据117的矢量中插入所检索的地方页面数据119或可独立于地图图块数据117发送数据119。客户端装置102可为包括数据117的每个图块在本地对矢量数据进行光栅化,可在创建的地图图像中提供至数据119的链接或可在装置102的高速缓冲存储器124中存储所检索的地方页面数据119。
[0038] 动态特性控制器154可被通信性耦合至地图图块生成器156和地方页面数据生成器157,且被配置成确定哪些地图元素与所请求的地图数据相关联并生成基于矢量的或关于这些地图元素的其它描述。例如,动态特性控制器154可确定,响应于对与用于某个地理区域的缩放级别Zi相应的地图数据的请求,必须生成与州际公路、大型水体等相应的矢量描述符,而响应于对与用于相同地理区域的缩放级别Zj相应的地图数据的另一请求,必须生成与地方道路和建筑物相应的额外矢量数据。进一步地,在一些情况下,动态特性控制器154生成用于不同地图类型的不同组的矢量数据。例如,地形地图可包括未包含在用于相同的地理区域和缩放级别的基本地图中的地图元素。
[0039] 在一些实施方案中,用户偏好系统114(图1A)可包括用户偏好系统服务器128,其包括具有用于接收从装置102馈送的偏好地理区域106A和用户个人兴趣数据125(地理/个人偏好数据130A)或从装置102拉取偏好的地理区域106A和用户个人兴趣数据125的指令的模块129。例如,用户偏好数据存储库126可从在客户端装置102上执行的各种其它模块和应用接收和存储数据或与装置102(例如,网页浏览器、用户偏好跟踪模块、行程规划模块、电子邮件模块、社交网络模块等)进行通信。然后,客户端装置102可将数据125转发至用户偏好系统114以供分析。同样地,映射模块106可采集地理偏好数据106A并随后将该数据转发至用户偏好系统114以供分析。在一些实施方案中,客户端装置102可定期地将网页浏览器的历史、包括地理位置或个人兴趣的电子邮件文本、旅行证件、包括地理或个人偏好数据的在线配置文件或由在客户端装置102上执行的应用生成或接收的其它数据转发至用户偏好系统114。在用户偏好系统114接收了偏好的地理区域106A和用户个人兴趣数据125的情况下,模块129可分析数据130A以确定地理位置和企业类型或用户将很可能在未来请求映射系统数据的其它地图特性。用户偏好系统模块129还可包括用于生成对与用户地理/个人兴趣数据130A的位置相应的地方页面数据119的请求的指令。在模块129的进一步的指令可随后将生成的请求转发至映射系统112的地图请求处理器158。接着,地图请求处理器158将请求转发至地方页面数据生成器157以检索与根据用户的地理/个人偏好数据130A确定的地理位置相应的地方页面数据119。所检索的数据119可通过用户地理/个人偏好进行过滤以仅返回匹配这些偏好的数据119。例如,在系统100确定用户将很可能请求用于波士顿的数据且偏好数据包括对“博物馆”的用户兴趣的情况下,生成器157可使用用户地理/个人兴趣数据130A以仅返回与波士顿中的博物馆相应的地方页面数据119。当通过模块129在后端分析用户地理/个人兴趣数据130A以确定用于该用户的未来可能的地理位置和个人兴趣时,标签和地方页面生成器157可执行指令以将地方页面数据119从地方页面数据存储库120馈送至客户端装置102的高速缓冲存储器124。当在前端分析数据106A和125时,客户端装置上的模块(例如,映射模块等)可实现标签和地方页面生成器157的功能并将地方页面数据119从地方页面数据存储库120拉至客户端装置102的高速缓冲存储器124。
[0040] 在一些实施方案中,用户偏好系统服务器128可在一个或多个数据存储库130中存储用户地理/个人偏好数据130A。例如,用户地理/个人偏好数据130A可包括用户的配置文件信息、社交网络信息、浏览器搜索的历史数据、电子邮件和其它讯息数据、行程规划数据、映射系统的最喜爱的事物或指示所表示的或可能的用户地理和个人兴趣的其它数据。如本文所述,模块129可包括用于分析被存储在数据存储库130中的数据的计算机可执行指令。通过模块129进行的对用户地理/个人兴趣数据130A的分析可确定用户偏好系统服务器128可发送至映射系统112和标签和地方页面生成器157的数据请求的主题或类型。
[0041] 图2示出用于对应于地图图块数据的地方页面数据的高级框图的一个实例。地图图块200可包括多个属性200a,例如位置数据202和若干特性204,如上所述。在客户端计算装置上补足地图的光栅图像的数据组件可在各种数据源中进行逻辑链接。例如,被存储在地图图块数据存储库118中的地图图块数据117可被逻辑性链接至地方页面数据存储库120的地方页面数据119。位置数据202可包括描述表示地理区域的地图图块200的具体地理位置的特定坐标202a。在一些实施方案中,位置数据202包括多个边界202a,如用于地图图块200的北、南、东和西边界。位置数据202可包括全球定位系统(GPS)或能够确定地理位置或物理对象位于何处的其它系统确定的纬度和经度坐标。地图图块200的每个特性204可包括图形组件204a和至地方页面数据204b的逻辑链接。用于每个特性204的图形组件204a可包括从地图图块数据存储库118检索的用于将地图图块中的特性204示为通过映射模块106进行呈现的矢量数据204a1。用于每个特性204的标签数据204b可包括文本数据,例如,与如从地方页面数据存储库120或其它来源检索的特性204相应的名称、标题或其它称号204b1。用于每个特性204的地方页面数据204c可包括与如从地方页面数据存储库120、数据馈送或其它数据来源检索的特性(即:营业地、地标等)相应的文本、图像、网页和数据馈送,以及其它信息。每个特性204可包括位置数据202。用于特性204的位置数据可包括GPS坐标、在地图图块200的边界202a中的位置等。
[0042] 地方页面数据204b和204c可包括描述地图图块200中特性204的特征的各组信息。在一些实施方案中,信息204b和204c包括在地图图块200中以图形表示的用于企业的列表信息、兴趣点、购物中心、公园等。信息204b和204c还可包括规格和描述对象、物理规格等其它信息。例如,信息204b和204c可包括若干特性,其包括用于地图图块200中企业、兴趣点等的图标、位置和数据204b和204c。地方页面数据204b和204c可包括用于呈现网页的文本、照片和其它数据,所述网页包括来自描述由地图图块200中的特性204(如图标或其它图形项目)所表示的特定列表的各种网络资源的信息。
[0043] 图3为可由系统100用于确定要从地方页面数据存储库120拉取或馈送的以在高速缓冲存储器124中进行存储并随后显示在客户端装置102上的地方页面数据119的用户地理/个人偏好数据130A的图示。在一些实施方案中,源自各来源302的用户偏好的地理位置数据106A和用户个人兴趣数据125可进行分析和结合以形成地理/个人偏好数据130A。地理/个人偏好数据130A可指示地图特性(例如,营业地、公园、历史性地标等),其具有用户偏好的地理位置106A和个人兴趣125的特征。例如,在用户指示对“波士顿”的地理偏好(即:当前位置、规划位置、家乡、最喜爱的位置、映射应用搜索结果等)和对“家庭式酿酒”的个人兴趣的情况下,地理/个人偏好数据130A可包括那些偏好的组合,从而使对地方页面数据存储库120的请求将返回用于在波士顿附近的所有家庭式酿酒或精酿啤酒相关的特性的地方页面数据119。
[0044] 可通过用户偏好模块140、映射模块106或其它模块从各种数据源302采集地理/个人偏好数据130A。接着,可将数据103A发送至位于客户端计算装置102上的用户偏好数据存储库126或至用户偏好系统114的后端数据存储库130以供分析。模块140可将数据130A馈送至后端用户偏好系统114,或用户偏好系统114可将数据130A拉至一个或多个后端存储库130以通过用户活动系统模块129进行分析。模块140和存储库126可与一个或多个来源302,包括在客户端装置102上执行的或与其进行通信的产生地理/个人偏好数据的应用、网站、数据馈送或其它来源302,进行通信。在其它实施方案中,来源302可定期地将数据130A(例如,组合的用户偏好的地理位置数据106A和用户个人兴趣数据125)直接发送至后端组件,如用户活动系统114,而不将数据130A发送至模块140或存储库126。例如,在用户偏好系统服务器128上执行的后端用户偏好系统模块129可包括用于使客户端装置102从映射应用
106拉取或检索用户偏好的地理位置数据106A且从存储库126或直接从来源302拉取或检索用户个人兴趣数据125并将数据转发至系统114的计算机可执行指令。在其它实施方案中,来源302定期地将数据130A发送至用户偏好系统114以通过模块129进行分析,而不用先将数据130A发送至客户端侧的存储库126或映射系统106或客户端侧用户偏好模块140的执行指令。
[0045] 数据130A可包括由在客户端装置102上的执行的或与其进行通信的用户地理/个人数据源302产生的任何类型的配置文件、用户历史、日志或其它数据。在一些实施方案中,数据130A包括源自网页浏览器应用的网页搜索历史数据304、源自行程规划应用的行程规划数据306、源自电子邮件的应用的位置相关的电子邮件数据308、指示地理位置(例如,家乡位置、最喜爱的地位的数据录入等)社交网络数据310、地理偏好311或其它数据312等。当然,后端用户偏好系统模块129和前端用户偏好模块140中的一个或多个可监控用于数据的任何来源302,该数据指示偏好的地理位置或用户个人偏好且可用于从存储库120预取地方页面数据119以用于缓存存储且随后显示在客户端装置102上。各组用户偏好数据304、306、308、310、311和312中的每一组可包括指示用于该用户的地理/个人偏好130A的数据314(例如,偏好的地理位置数据106A和用户个人兴趣数据125)。
[0046] 图4为用于预取地方页面数据119以在高速缓冲存储器124中进行存储并随后在客户端装置102上进行显示的实例方法400的流程图。该方法400可包括一个或多个方框、模块、功能或例程,其以被存储在有形的计算机可读介质中且使用客户端装置102(例如,智能蜂窝电话、平板计算机、或移动计算装置或其它个人计算装置,如本文所述)的处理器108或一个或多个服务器116和128执行的计算机可执行指令为形式。举例来说,可包括该方法400以作为用于预取标签地方页面数据119的系统100的计算环境的任何模块的一部分或作为位于这种系统外部的模块的一部分。例如,方法400可以是后端地图控制器116c、用户偏好系统模块129、前端用户偏好数据模块140或映射模块106的一部分。方法400可在前端102或后端110予以执行。进一步地,用户可激活或禁用一个或多个选项以允许或禁止系统100从在客户端装置102上执行的或与其进行通信的任何来源302采集或发送用户偏好的地理位置数据106A和用户个人兴趣数据125。例如,映射模块106的用户界面可允许用户选择进入或选择退出任何用户地理/个人偏好数据130A(包括用户偏好地理位置数据106A和用户个人兴趣数据125)的集合,如本文所述。将参照图1A、1B、2和3描述图4以便于说明,但当然也可使用其它对象和用户界面利用方法400。
[0047] 在方框402,方法400可从一个或多个个人偏好数据源302检索或接收用户偏好的地理位置数据106A和用户个人兴趣数据125。从来源302检索的用户偏好的地理位置数据106A和用户个人兴趣数据125可包括由在客户端装置102上执行的或与其进行通信的用户地理/个人数据源302产生的配置文件、用户历史、日志或其它数据。在一些实施方案中,可响应于源自用户偏好系统114的请求从客户端装置102检索用户地理/个人偏好数据130A。
在进一步的实施方案中,客户端装置102可定期地将用户地理/个人偏好数据130A发送至后端组件110。用户偏好系统114还可从其它来源,如经对于客户端计算装置102和其它装置的用户来说共同的网络服务帐户被链接至装置102或用户偏好系统114的另一计算装置,检索/接收用户地理/个人偏好数据130A。
[0048] 在方框404,方法400可分析用户偏好的地理位置数据106A和用户个人兴趣数据125以确定用户地理/个人偏好数据130A。在一些实施方案中,方法400可经网络连接将用户偏好的地理位置数据106A和用户个人兴趣数据125发送至本地模块(例如,用户偏好模块
140、映射模块106等)或远程用户活动系统114以供分析。例如,用户偏好服务器128可接收或检索数据106A和125且模块129或106可结合数据106A和125以创建用户地理/个人偏好数据130A。模块129可包括一个或多个计算机可执行指令以根据指示地理偏好和个人兴趣偏好的数据106A和125创建元组。根据用户偏好的地理位置数据106A和用户个人兴趣数据125确定的所产生的用户地理/个人偏好数据130A可包括城市名、地址、机场代码、GPS坐标或任何其它指示用户的地理兴趣的信息,以及用户配置文件、个人兴趣、社交网络和其它指示用户的个人兴趣的数据。然后,模块129或140可生成对包括用户地理/个人偏好数据130A的地方页面数据119的请求。
[0049] 在方框408,模块129或模块140可将用户偏好数据314发送至映射系统112。在一些实施方案中,根据数据130A确定的用户偏好数据314可被发送至映射系统112以作为对与用户偏好数据314相应的地方页面数据119的请求。模块129或模块140也可包括用于在一个或多个数据存储库中存储用户偏好数据314的计算机可执行指令。例如,模块129或模块140可分析用户配置文件、网页搜索历史或其它数据源302并确定用户偏好数据314。在一些实施方案中,可在存储库126中存储数据314。接着,可从存储库126馈送或拉取数据314并将其发送至后端组件(例如,映射系统112、用户偏好系统114等)。
[0050] 用户地理/个人偏好数据130A或确定的用户偏好数据314还可包括时间戳信息且模块可包括用于确定阈值时间段的计算机可执行指令,且在该阈值时间段,用户活动位置数据314的确定将保证对数据的高速缓存。例如,如果模块129或模块140在一周的时间段内确定了用于“波士顿”的三个用户偏好数据314指示,那么模块则可确定已超过一个或多个阈值且执行用于检索和高速缓存与在波士顿城市附近的用户偏好/兴趣相应的地方页面数据的进一步指令。与此相反,如果模块129在一年的时间段内确定了用于“波士顿”的三个用户偏好数据314指示,那么模块129或模块140则可确定尚未超过一个或多个阈值且不执行映射系统对与用户对波士顿的兴趣相应的地方页面数据的请求。当然,方框404和408可对用户地理/个人偏好数据130A进行统计和其它分析以确定是否要前进至下一步。
[0051] 在方框410,模块117可执行指令以将所接收的数据314匹配至地方页面数据119。在一些实施方案中,方框410包括用于将所接收的用户偏好数据314匹配至地方页面数据
119的指令,且该地方页面数据119对应于通过在客户端装置102上执行的用户活动模块140而被发送至映射系统112的分析结果140。在进一步的实施方案中,方框410包括用于将所接收的用户偏好数据314匹配至地方页面数据119的指令,且该地方页面数据119对应于通过作为后端组件110而执行的用户活动系统114而被发送至映射系统112的分析结果140。
[0052] 在方框412,模块117可执行用于将在方框410检索的地方页面数据发送至客户端计算装置102的指令。在一些实施方案中,方框412包括用于使映射系统112将地方页面数据119发送至客户端装置102的高速缓冲存储器124的指令。如上所讨论的,由于与地图图块数据相比,地方页面数据119相对是轻量的,因此方框412最初可将地方页面数据119发送至计算装置106。此外,在用户熟悉他或她的周围情况且不需要地图进行导航的区域内,仅地方页面数据119则可足以找到用户个人感兴趣的企业或其它地图特性。接下来,可检索地图图块数据117且地方页面数据可被分层堆积在地图图块数据117上并一起进行图形显示。方法
400还可将所检索的地方页面数据119发送至在客户端计算装置102上执行的映射模块106。
[0053] 在方框414,接收到地方页面数据119的客户端计算装置102、映射模块106或用户活动模块140可执行用于在高速缓冲存储器124中存储所接收的数据的指令。然后,映射模块106可使用高速缓存的地方页面数据以在客户端计算装置102和后端组件110之间具有低或无连接性的期间或在用户无法使用或不需要图形地图数据的其它时候从高速缓冲110显示在客户端计算装置102上。
[0054] 图5为用于具有可用于实施本文所述的方法和系统的计算装置501的移动映射系统500的实例计算环境的高级框图。计算装置501可包括移动计算装置102(例如,蜂窝电话、平板计算机、具有Wi-Fi功能的装置或其它能够进行无线或有线通信的个人计算装置)、薄的客户端或其它已知类型的计算装置。如本领域的技术人员将认识到的,根据本文的公开和教义,可使用具有不同架构的其它类型的计算装置。可使用与实例移动映射系统500类似或相同的处理器系统以实施和执行图1所示的实例系统、图2和3所示的数据结构、图4所示的方法等。尽管下面所述的实例移动映射系统500包括多个外围设备、接口、芯片、存储器等,但其它用于实施和执行实例系统100以预取地方页面数据的实例处理器系统也可省略那些元件中的一个或多个。另外,也可添加其它组件。
[0055] 如图5所示,计算装置501包括被耦合至互联总线504的处理器502。处理器502包括寄存器组或寄存器空间506,其在图5中被示为完全位于芯片上,但可替代地,其可完全位于或部分地位于芯片外并经专用电性连接和/或经互联总线504而被直接耦合至处理器502。处理器502可以是任何适合的处理器、处理单元或微处理器。尽管未在图5中示出,计算装置
501可以是多处理器装置,且因此可包括与处理器502相同或类似的一个或多个额外处理器且可通信性地耦合至互联总线504。
[0056] 图5所示的处理器502被耦合至芯片组508,其包括存储器控制器510和外围输入/输出(I/O)控制器512。众所周知,芯片组通常提供了I/O和存储器管理功能,以及多个可由一个或多个被耦合至芯片组508的一个或多个处理器获得或使用的通用和/或专用寄存器、定时器等。存储器控制器510进行能使处理器502(或处理器,如果有多个处理器)存取系统存储器514和大容量存储器516的功能。
[0057] 系统存储器514可包括任何所需类型的易失性和/或非易失性存储器,如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、闪速存储器、只读存储器(ROM)等。大容量存储器516可包括任何所需类型的大容量存储装置。例如,如果计算装置501用于实施具有API519和用户偏好模块520(包括图4所示方法400所述的指令)的映射应用518,那么大容量存储器516可包括硬盘驱动器、光驱、磁带存储装置、固态存储器(例如,闪速存储器、RAM存储器等)、磁存储器(例如,硬盘驱动器)或任何其它适于大容量存储的存储器。如本文所使用的,术语模块、方框、功能、操作、过程、例程、步骤和方法是指向计算装置501和移动映射系统500提供指定功能的有形的计算机程序逻辑或有形的计算机可执行指令。因此,可在硬件、固件和/或软件中实现模块、方框、功能、操作、过程、例程、步骤和方法。在实施方案中,程序模块和例程(例如,映射应用518、API519、用户活动模块520等)被存储在大容量存储器516中、被加载至系统存储器514中且通过处理器502执行或可由被存储在有形的计算机可读存储介质(例如,RAM、硬盘、光/磁介质等)中的计算机程序产品所提供。大容量存储516还可包括存储有预取的地方页面数据、图形和其它数据的高速缓冲存储器521以供映射应用
518和用户偏好520所使用。
[0058] 外围I/O控制器510实现能使处理器502经外围I/O总线528与外围输入/输出(I/O)装置522和524、网络接口526、蜂窝网络收发器527、本地网络收发器528和GPS收发器529(经由网络接口526)进行通信的功能。I/O装置522和524可以是任何所需类型的I/O装置,如键盘、显示器(例如,液晶显示器(LCD)、阴极射线管(CRT)显示器等)、导航装置(例如,鼠标、跟踪球、电容式触控板、操纵杆等)等。I/O装置522和524可与映射应用518和用户活动模块520一起使用以从GPS收发器529接收GPS数据、将GPS数据发送至系统100的后端组件、呈现并显示地图和用户界面,如关于附图所描述的那样。蜂窝电话收发器527可与本地网络收发器528一起设置。本地网络收发器528可包括对具有Wi-Fi功能的网络、蓝牙、红外或其它无线数据传输协议的支持。在其它实施方案中,一个元件可同时支持计算装置501采用的各种无线协议中的每一个。例如,软件定义的无线电可经可下载的指令支持多个协议。在操作中,计算装置501可定期地为可见的无线网络发射器(蜂窝和本地网络)进行轮询。即使在计算装置501上支持正常的无线业务时,也可进行这种轮询。例如,网络接口528可以是以太网装置、异步传输模式(ATM)装置、802.11无线接口装置、DSL调制解调器、电缆调制解调器、蜂窝调制解调器等,其能使用于预取地方页面数据的系统100与至少具有关于系统100所述的元件的另一计算机系统进行通信。
[0059] 虽然存储器控制器512和I/O控制器510在图5中被示为在芯片组508中的单独的功能方框,但这些方框所实现的功能可在单一集成电路中进行集成或可使用两个或多个单独的集成电器进行实施。移动映射系统500还可在远程计算装置530和532上实施映射应用518和用户偏好模块520。远程计算装置530和532可通过以太网链接534与计算装置501进行通信。例如,计算装置501可接收经由在远程计算装置530和532上执行的映射应用所创建的映射数据。在一些实施方案中,可通过计算装置501经因特网538从云计算服务器536检索映射应用518和/或用户偏好模块520。当使用云计算服务器536时,所检索的映射应用518和/或用户偏好模块520可与计算装置501进行可编程链接。映射应用518和/或用户偏好模块520可以是在位于计算装置501或远程计算装置530和532中的 虚拟机(JVM)环境中执行的 小应用程序。映射应用518和/或用户偏好模块520还可以是适于在位于计算装置
501、530和532上的网页浏览器中执行的“插件”。在一些实施方案中,映射应用518和/或用户偏好模块520可经因特网538与后端组件540,如数据系统112和用户偏好系统114进行通信。
[0060] 使用上述系统和过程,用于预取地方页面数据的系统100和映射系统500可从指示与用户偏好相应的地理位置的计算装置检索和分析数据。可解析用户配置文件、所表示的兴趣或其它数据以确定可能的用于预取地方页面数据的位置。同样地,本地或远程用户地理/个人偏好数据可被存储在移动装置上,被转发至用户偏好系统或其它系统并由远程映射系统使用以提供用于预取地方页面数据的位置。当然,本文所述的系统可向用户呈现用户界面,根据该用户界面,用户能够选择退出本文所述的用户地理/个人偏好数据收集方法中的任何方法。
[0061] 系统500可包括但不限于LAN、MAN、WAN、移动、有线或无线网络、专用网络或虚拟专用网络的任何组合。此外,虽然在图5中仅示出三个用于使描述简化和清晰化的远程计算装置530和532,但要理解的是,其可支持任何数量的客户端计算机且可在系统500中使客户端计算机进行通信。
[0062] 此外,某些实施方案在本文中被描述为包括逻辑或若干组件、模块或机构。模块可构成软件模块(例如,在机器可读介质或在传输信号中具体化的代码或指令,其中代码由处理器所执行)或硬件模块。硬件模块为能够进行某些操作且可以某种方式进行配置或布置的有形单元。在示例实施方案中,计算机系统(例如,处理器或一组处理器)的一个或多个计算机系统(例如,独立的客户端或服务器计算机系统)或一个或多个硬件模块可通过软件(例如,应用或应用部分)被配置成操作以运行如本文所述的某些操作的硬件模块。
[0063] 在各实施方案中,可机械地或电子地实施硬件模块。例如,硬件模块可包括用于进行某种操作的经永久配置的专用电路或逻辑(例如,专用处理器,如现场可编程门阵列(FPGA)或应用型专用集成电路(ASIC))。硬件模块还可包括可编程逻辑或电路(例如,包含在通用处理器或其它可编程处理器中的),其由软件进行临时配置以进行某种操作。将理解的是,可出于成本和时间的考虑而在专用和永久性配置的电路中或在临时性配置的电路(例如,通过软件进行配置的电路)中做出机械性实现硬件模块的决定。
[0064] 相应地,术语“硬件模块”应被理解成包含有形的实体,其为物理构造的、经永久性配置的(例如,硬连接的)或经临时性配置的(例如,编程的)以按某种方式操作或执行本文所述的某种操作的实体。如在本文所使用的,“硬件实现的模块”指硬件模块。就其中的硬件模块是经临时性配置(例如,编程)的实施方案而论,在任何实例下都无需及时地对硬件模块中的每一个进行配置或实例化。例如,在硬件模块包括使用软件进行配置的通用处理器的情况下,可在不同时间将通用处理器配置成各自不同的硬件模块。相应地,软件可配置处理器,例如用于在一个时间实例中构造特定硬件模块以及在不同的时间实例中构造不同的硬件模块。
[0065] 硬件模块可将信息提供至其它硬件模块以及从其它硬件模块接收信息。相应地,所述的硬件模块可被认为是经通信性耦合的。在同时存在有这种硬件模块中的多个时,可通过连接硬件模块的信号传输(例如,通过合适的电路和总线)而实现通信。在其中多个硬件模块被配置成在不同时间进行实例化的实施方案中,例如,可通过在多个硬件模块已存取的存储器结构中进行信息存储和检索而实现在这种硬件模块之间的通信。例如,一个硬件模块可进行操作并在其被通信性耦合至的存储器装置中存储该操作的操作。接着,进一步的硬件模块可在稍晚的时间存取存储器装置以检索并处理所存储的输出。硬件模块还可发起与输入或输出装置的通信并可对资源(例如,信息集合)进行操作。
[0066] 本文所述的实例方法的各种操作可至少部分地通过经临时性配置(例如,通过软件)或永久性配置成进行相关操作的一个或多个处理器进行。不论是临时性还是永久性配置,这种处理器可构成运行以实现一个或多个操作或功能的处理器实现的模块。在一些示例实施方案中,这里所指的模块包括处理器实现的模块。
[0067] 同样地,本文所述的方法或例程可至少部分地是由处理器所实现的。例如,至少方法的操作中的一些可由一个或多个处理器或处理器实现的硬件模块所进行。可在一个或多个处理器之间分布该操作中某些的性能,其不仅是指在一个机器中,而是跨多个机器所配置的。在一些示例实施方案中,处理器可位于单个位置上(例如,在家庭环境、办公室环境中或作为服务器群),而在其它实施方案中,处理器可分布在多个位置上。
[0068] 一个或多个处理器也可操作以支持在“云计算”环境中或作为“软件即服务”(SaaS)的相关操作的性能。例如,操作中至少有一些可通过一组计算机(作为包括处理器的机器的实例)而进行,其中可经网络(例如,因特网)且经一个或多个合适的界面(例如,应用程序界面(API)存取这些操作。
[0069] 可在一个或多个处理器之间分布该操作中某些的性能,其不仅是指在一个机器中,而是跨多个机器所配置的。在一些示例实施方案中,一个或多个处理器或处理器实现的模块可位于单个地理位置上(例如,在家庭环境、办公室环境中或作为服务器群)。在其它示例实施方案中,一个或多个处理器或处理器实现的模块可分布于多个地理位置上。
[0070] 本说明书中的一些部分可通过对被存储为机器存储器(例如,计算机存储器)中的比特或二进制数字信号的数据的操作的算法或符号表示而进行表示。这些算法或符号表示为数据处理领域中的普通技术人员用于向本领域的其它技术人员传达其工作实质的技术的实例。如本文所使用的,“算法”为产生所需结果的操作或类似处理的自相一致的序列。在该背景下,算法和操作涉及对物理量的物理操纵。通常,但非必须的,这些量可采用能够进行存储、存取、传输、组合、比较或以其它方式由机器操纵的电、磁或光信号的形式。有时,主要是出于常用的原因,可很方便地使用词语,如“数据”、“内容”、“比特”、“值”、“元素”、“符号”、“字母”、“项”、“号码”、“数字”等来提及这种信号。然而,这些词语仅是方便的标签且要与适当的物理量相关联。
[0071] 除非另外特别说明,本文使用词语,如“处理”、“计算”、“推算”、“确定”、“呈现”、“显示”等的讨论可指在一个或多个存储器(例如,易失性存储器、非易失性存储器或其组合)、寄存器或其它接收、存储、传输或显示信息的机器组件中操纵或转换被表示为物理(例如,电子、磁性或光学)量的数据的机器的动作或过程。
[0072] 如本文所使用的,任何对“一些实施方案”或“实施方案”的参照表示连同在至少一个实施方案中的实施方案所描述的特定元件、特性、结构或特征。在本说明书的多个地方出现的短语“在一些实施方案中”不一定都是指相同的实施方案。
[0073] 一些实施方案可使用表达“耦合”和“连接”及其派生词来进行描述。例如,一些实施方案可使用指示两个或多个元件之间具有直接的物理或电性接触的术语“耦合”来进行描述。然而,术语“耦合”也可表示两个或多个元件彼此之间没有直接接触,但仍彼此协作或交互。实施方案并不限于该上下文。
[0074] 进一步地,附图示出了一种用于预取地方页面数据的系统的优选实施方案,仅供说明之用。本领域的技术人员将根据下列讨论轻易地认识到可在不脱离本文所述原理的前提下采用本文所述的结构和方法的替代实施方案。
[0075] 在阅读本公开后,本领域的技术人员将通过本文所公开的原理理解用于预取地方页面数据以随后在移动计算装置上进行显示的系统和工艺的额外的替代结构和功能设计。因此,虽然已示出并描述了特定实施方案和应用,但要理解的是,所公开的实施方案并不限于本文所公开的确切结构和组件。对于本领域的技术人员来说,显而易见的是可在不脱离所附权利要求限定的精神和范围的前提下对本文所公开的方法和设备的布置、操作和细节进行各种修改、改变和变化。