基于移动设备生成的事件分析的地图瓦片数据预取的制作方法

文档序号:7993330阅读:327来源:国知局
基于移动设备生成的事件分析的地图瓦片数据预取的制作方法
【专利摘要】可以基于在智能电话或者其它移动计算设备的绘图模块的历史使用的分析来向设备预取用于在该移动设备中显示基于web的绘图系统的图元的地图瓦片数据。例如,在移动设备上执行的用户绘图活动模块可以取回用户绘图活动数据。用户绘图活动模块然后从用户绘图活动数据提取地理位置数据并且经由网络连接向绘图系统发送地理位置数据。绘图系统然后可以匹配地图瓦片数据与从用户绘图活动数据提取的地理位置数据并且向移动计算设备发送匹配的绘图系统数据用于在移动计算设备高速缓存存储。用户绘图活动模块也可以分析用户绘图活动数据以确定提取的地理位置数据是否相关到足以保证预取瓦片数据。
【专利说明】基于移动设备生成的事件分析的地图瓦片数据预取
【技术领域】
[0001]本公开内容主要地涉及预取数字地图数据,并且更具体地涉及一种用于基于在移动设备执行的绘图应用所生成的数据的分析来预取数字地图数据用于在该移动设备上查看的系统和方法。
【背景技术】
[0002]这里提供的【背景技术】描述是为了一般地呈现公开内容的背景。当前名义的发明人的工作在这一【背景技术】章节中描述该工作的程度上,以及该描述的可以在提交时未另外限定为现有技术的方面既未明确地也未暗示地承认为相对于本公开内容的现有技术。
[0003]许多移动计算设备、比如蜂窝电话、平板计算机、笔记本等并入全球定位系统(GPS)硬件和应用。GPS硬件和应用对于用移动计算设备的导航有用并且经常与移动绘图模块配对。当在设备上实例化时,移动绘图模块可以在设备上的GPS传输器或者其它GPS硬件和绘图系统的后端应用服务器通信。使用从后端绘图系统推送或者拉取的绘图数据,绘图模块然后可以在移动设备上表现在设备的当前位置周围的区域的数字地图。经常基于经由绘图模块从GPS硬件向绘图系统提供的设备位置从系统向设备推送地图数据。例如,可以向移动设备推送用于街道、建筑物和其它地理特征的图形表示的数据,并且在设备上运行的绘图模块可以基于设备的当前位置或者基于绘图系统的使用设备的搜索在设备的显示屏幕上将推送的数据表现成图像。
[0004]为了表现地图图像,设备通常从专用服务器接收光栅图像。例如,地图服务器可以在因特网上操作并且对于指定的地理地区向各种客户端设备在可移植网络图形(PNG)格式中提供图像。尽管光栅图像相对易于在客户端设备表现,但是光栅图像数据通常需要用于全面地图的大量存储空间。也难以在客户端设备高效地操纵光栅图像。例如,为了放大选择的地区,从服务器取回新光栅图像数据,或者放大可用光栅图像数据而质量损失明显。

【发明内容】

[0005]在这一
【发明内容】
和以下【具体实施方式】中描述的特征和优点并非囊括。许多附加特征和优点将按照附图、说明书及其权利要求而为本领域普通技术人员所清楚。附加地,其它实施例可以省略在这一
【发明内容】
中描述的特征和优点中的一个或者多个(或者所有)特征和优点。
[0006]可以基于在智能电话或者其它移动计算设备的绘图模块的历史使用的分析来向设备预取用于在该移动设备中显示基于web的绘图系统的图元的地图瓦片数据(即,地图图像中具有统一尺寸、比如256个像素X256个像素的多个部分)。例如,用户绘图活动系统可以经由网络连接从移动设备接收用户绘图活动数据。在移动计算设备上执行的绘图模块可以生成用户绘图活动数据。用户绘图活动系统然后可以从用户绘图活动数据提取地理位置数据,并且经由网络连接向绘图系统发送地理位置数据。绘图系统然后可以匹配与地图瓦片数据关联的地理位置与从用户绘图活动数据提取的地理位置数据,并且向移动计算设备发送匹配的瓦片数据用于在移动计算设备高速缓存存储。用户绘图活动系统还可以分析用户绘图活动数据以确定提取的地理位置数据是否相关到足以保证预取瓦片数据。相关地理位置数据可以包括在阈值以上的多个地理位置指示。
[0007]在一些实施例中,用户绘图活动数据包括与移动设备执行绘图模块的地理位置的日志对应的位置历史文件、与使用绘图模块而执行的搜索的日志对应的搜索历史文件和与在绘图模块表示的地理位置之间的路线的日志对应的路线设置历史文件中的一项或者多项。地理位置数据可以包括在移动计算设备上执行的绘图应用生成或者接收的数据,该数据指示用户的当前位置、用户的希望的将来位置等。例如,地理位置可以包括城市名称、地址、机场代码或者全球定位系统坐标中的一项或者多项。
【专利附图】

【附图说明】
[0008]图1是用于基于绘图模块的使用移动计算设备的历史使用的分析来为在移动设备上执行的绘图模块预取数据的系统的高级框图;
[0009]图2是用于根据用户绘图模块数据预取的地图瓦片的示例数据结构;
[0010]图3是移动计算设备和用于用户绘图模块数据的数据结构的示例框图;
[0011]图4是如这里描述的一种用于为基于web和蜂窝网络的绘图系统预取地图瓦片数据的方法的示例流程图;以及
[0012]图5是计算环境的高级框图,该计算环境实施一种用于预取数据用于在执行绘图模块的计算设备上高速缓存存储和显示的系统和方法。
[0013]各图仅出于示例的目的而描绘本发明的优选实施例。本领域技术人员将从以下讨论中容易理解可以运用这里所示结构和方法的备选实施例而未脱离这里描述的本发明的原理。
【具体实施方式】
[0014]一般而言,在移动设备上执行的绘图模块预取用于绘图模块的数字地图瓦片数据。个别地图瓦片代表的地理地区的尺寸可以依赖于用户用来查看地图的并且地图瓦片与之关联的缩放水平,从而在更低缩放水平的单个地图瓦片在更高缩放水平图示比单个地图瓦片更大的地理区域。绘图系统可以根据矢量图形格式用描述符生成每个地图瓦片。客户端设备(例如,移动电话、平板计算机等)可以根据与每个地图瓦片对应的矢量描述符本地生成用于每个瓦片的光栅图像。在一个实施例中,绘图系统(图1)从数据库取回请求的数据。一旦从远程绘图系统取得,然后可以在移动设备中存储地图瓦片数据用于基于用绘图模块进行的用户动作分析向用户可能显示。用户的绘图模块活动分析可以标识一个或者多个预定地理位置,用户可能将来查看用于该一个或者多个预定地理位置的地图数据。一旦预取并且在异地设备的存储器中存储地图瓦片数据,移动计算可以使用用于一个或者多个预定地理位置的预取的地图瓦片数据来快速表现数字地图而无需从后端绘图系统获得地图数据。预取地图瓦片数据可以减少地图表现延时并且促成更佳用户体验。用户绘图模块活动分析通过确定用户可能将来存在于的地理位置来确定为其预取地图数据的一个或者多个地理位置。这一分析可以在移动设备的后端被执行,并且可以考虑与用户的绘图模块活动有关的所有数据。在一些实施例中,系统可以使用与用户将他的或者她的时间中的多数事件花费在何处、用户已经经由绘图模块执行的搜索、计划的路线或者旅程、在移动设备检测到的事件等有关的数据。
[0015]一般而言,基于矢量的地图数据可以指定各种几何形状(例如,使用点和连接点的路径的数学描述),并且指示应当如何对这些形状进行定位用于表现各种地图单元、比如公路、建筑物、公园、水体等。例如,取代指定每个像素,该像素组成线段的光栅图像,线段的基于矢量的描述可以指定线段的两个端点,并且指示两个端点由字线连接。地图单元的基于矢量的描述可以这里称为矢量描述符或者简称为矢量,并且一个或者若干矢量描述符的集合可以称为矢量数据。一般而言,可以使用某个矢量描述符来描述地图单元。后端或者远程绘图系统可以按照将用来在客户端设备表现地理地区的地图的缩放水平、用来在客户端设备表现地图的地图类型(例如,地形、交通、运输等)、先前提供的地图数据等生成地理地区的基于矢量的描述。也在一些实施例中,地图服务器可以与指示应当如何表现矢量数据的样式数据分离地提供描述地图内容的矢量数据并且标注和放置按文字、图像等描述地图内容的页面数据。
[0016]图1是图示系统100的高级框图,该系统用于基于用户绘图模块活动的分析为在计算设备106上执行的绘图模块104预取地图瓦片数据102。系统100可以包括能够执行绘图模块104、用户绘图活动模块108和其它模块的计算设备106,这些模块允许设备106预取数据以允许绘图模块104取得或者接收并且在地图数据高速缓存110(即,计算设备106的存储器或者其它存储器等)内存储地图瓦片数据。在一些实施例中,设备106执行绘图模块104和用户绘图活动模块108的指令。设备106可以包括个人计算机、智能电话、平板计算机或者能够执行这里描述的各种模块、指令等的其它计算设备。绘图模块104和用户绘图活动模块108可以通过因特网115或者其它类型的网络(例如,LAN、MAN、WAN、移动或者蜂窝网络、有线或者无线网络、专用网络或者虚拟专用网络等)与包括绘图系统112和用户绘图活动系统114的后端部件111通信。
[0017]绘图系统服务器116可以发送和接收用于绘图模块104的数据。在一些实施例中,绘图系统112和绘图服务器116可以发送用于允许绘图模块104在计算设备106的显示部件上表现数字地图的计算机可执行指令和数据。例如,绘图服务器116可以包括模块117,该模块用于接收位置数据,客户端计算设备106或者用户绘图活动系统114的分析的结果或者其它数据,并且作为回馈发送以矢量图形格式的数字地图瓦片数据118、在数字地图瓦片数据118内代表的与特定企业或者地址对应的列表数据120、与列表数据120的特定企业或者地址的网站对应的地点页面数据等。
[0018]在一些实施例中,绘图模块104和用户绘图活动模块108可以分析数据以确定绘图系统112将向设备106发送哪些地图瓦片用于高速缓存并且从系统112取回那些瓦片。在其它实施例中,后端部件111可以分析从计算设备106发送的数据以确定向设备106发送哪些瓦片用于高速缓存存储。例如,绘图模块104可以向绘图系统112发送来自计算设备106的GPS收发器的位置数据,并且用户绘图活动模块108可以向用户绘图活动系统114发送来自计算设备106的用户绘图活动数据。用户绘图活动数据一般可以包括在移动计算设备上执行的绘图应用生成或者接收的指示地理位置(例如,用户的当前或者将来位置、计划的位置、位置偏好等)的任何数据。例如,在一些实施例中,用户绘图活动数据包括地图搜索请求的日志、在地图上的各点之间的路线设置数据、在地图上的兴趣点、用户设置的或者绘图应用确定的收藏位置偏好等中的一项或者多项。地理位置数据可以包括城市名称、地址、机场代码、全球定位系统坐标等中的一项或者多项。
[0019]绘图模块104可以包括用于允许绘图模块104在计算设备106的显示部件中表现用户的当前地理位置或者任何其它地理位置的数字表示的计算机可执行指令。作为表现过程的一部分(例如,在用户执行绘图模块104时使用绘图模块104来进行地理位置搜索、使用绘图模块104来进行在两个或者更多地理位置之间的路线搜索等),绘图模块104可以执行用于显示绘图界面104a的指令,该绘图界面包括来自绘图系统112的光栅化的矢量数据(即,瓦片数据118、列表数据120、地点页面数据122)和/或在计算设备106的显示器内的高速缓存的地图瓦片数据102。绘图界面104a可以允许用户使设备106使用来自高速缓存110、来自绘图系统112或者其它地图数据源的地图数据102来表现地理位置的各种数字表
/Jn ο
[0020]用户绘图活动模块108可以包括用于从用户绘图活动数据高速缓存126、绘图模块104或者计算设备106的各种其它模块收集用户绘图活动数据124的计算机可执行指令。在一些实施例中,用户绘图活动数据高速缓存126可以存储来自在计算设备106上执行的其它模块或者与计算设备106通信的各种其它模块(例如,web浏览器、用户绘图活动跟踪模块、旅程计划模块、电子邮件模块等)的数据124。用户绘图活动模块108还可以包括用于分析用户绘图活动数据124或者向用户绘图活动系统114发送数据124用于分析的指令。
[0021]在一些实施例中,在客户端设备106的用户绘图活动模块108可以接收、发送和分析移动设备事件数据124用于预取使用绘图模块104在计算设备106显示的地图瓦片数据102。在一些实施例中,模块108包括用于分析用户绘图活动数据124的指令,该用户绘图活动数据124包括计算设备的GPS硬件确定的位置的历史、绘图模块搜索历史数据、绘图模块104表示的来自在两个或者更多地理位置之间的计划路线的路线设置数据或者其它数据136,该数据指示用户已经使用绘图模块104而指定的地理位置。在客户端移动计算设备106的模块108对移动设备事件数据124的分析可以确定如下位置数据,模块108可以向绘图系统112发送该位置数据以取回地图瓦片数据200用于在移动设备高速缓存存储。
[0022]在其它实施例中,用户绘图活动系统114可以包括在后端111的用户绘图活动系统服务器128,该用户绘图活动系统服务器128包括模块129,该模块用于接收、发送和分析用户绘图活动数据124用于预取使用绘图模块104在计算设备106显示的地图瓦片数据102。在一些实施例中,服务器128在一个或者多个数据贮存库中存储用户绘图活动数据124。例如,数据124可以包括用户的位置130,该位置包括计算设备的GPS硬件确定的位置的历史、绘图模块搜索历史数据132、绘图模块104表示的来自在两个或者更多地理位置之间计划路线的路线设置数据或者其它数据136,该数据指示如根据绘图模块104生成的数据确定的、用户计划拜访或者可能拜访的地理位置。模块129可以包括用于分析在数据贮存库130、132、134和136中存储的数据的计算机可执行指令。在服务器后端部件111的模块129对用户绘图活动数据124的分析可以确定用户绘图活动系统服务器128可以向绘图系统112发送的位置数据。
[0023]图2图示用于地图瓦片数据200的高级框图的一个实施例。地图瓦片200可以包括多个属性200a、例如名称、位置数据202、图形组成204和列表数据206。位置数据202可以包括特定坐标202a,这些坐标描述代表地理区域的地图瓦片200的具体地理位置。在一些实施例中,位置数据202包括多个边界202a、比如用于地图瓦片200的南、北、东和西边界。位置数据202可以包括如全球定位系统(GPS)或者能够确定物理对象位于何处的其它系统确定的纬度和经度坐标。图形组成204可以包括位置和分类数据204a。在一些实施例中,用于图形组成204的位置数据可以包括GPS坐标、在地图瓦片200的边界202a内的位置等。用于图形组成204的分类数据可以包括图形组成204代表的物理对象类型、比如结构、运输项目(例如,公路、铁路等)、地形特征和其它项目,这些项目用图形代表在地图瓦片200的位置数据202描述的边界内包含的物理对象。列表数据206可以包括各种信息206a,这些各组信息描述在地图瓦片200内的图形组成204代表的物理对象的特性。在一些实施例中,信息206a包括用于在地图瓦片200内用图形代表的企业、兴趣点、购物中心等的列表信息。信息206a也可以包括规范和描述对象的历史、物理规范等的其它信息。例如信息206a可以包括若干列表206al、206a2等,这些列表包括用于在地图瓦片200内的列表数据206代表的企业、兴趣点等的图标、位置和地点页面数据206ala。地点页面数据206ala可以包括用于表现网页的文字、照片和其它数据,该网页包括来自各种web资源的信息,该信息描述在地图瓦片200内的图形组成204、图标或者其它图形项目代表的特定列表。
[0024]图3是用户绘图活动数据300的表示,系统100可以使用该用户绘图活动数据以预取地图瓦片数据200用于在地图数据高速缓存110内存储和在计算设备106上显示。绘图活动数据300可以由执行用户绘图活动模块108的计算设备106收集。模块108可以与在计算设备106上执行的绘图模块104通信。在一些实施例中,绘图模块104可以对用户输入做出响应以产生与绘图模块104有关的绘图活动数据300。例如绘图活动模块108可以包括用于使计算设备106从绘图模块104取回位置历史数据304、地图搜索历史数据306、在计算设备106表现的地图上的两个或者更多点之间的路线设置数据等的计算机可执行指令当然,用户绘图活动模块108可以针对与位置有关的数据监视在计算设备106上执行的任何应用,该数据可以用来预取地图瓦片数据200用于在地图数据高速缓存110内存储并且在计算设备106上显示。用户绘图活动数据304、306、308、310的各种集合中的每个集合可以包括指示地理位置的数据314(即,地理位置数据314)。
[0025]图4是用于预取地图瓦片数据200用于在地图数据高速缓存110内存储并且在计算设备106上显示的示例方法400的流程图。方法400可以包括在有形计算机可读介质中存储的并且使用计算设备(例如,如这里描述的智能电话、平板计算机或者移动计算设备或者其它个人计算设备)而执行的计算机可执行指令这一形式的一个或者多个块、模块、功能或者例程。可以包括方法400例如作为用于预取地图瓦片数据200的系统100的计算环境的任何后端111或者客户端移动计算设备106模块的一部分或者作为在这样的系统外部的模块的一部分。例如,方法400可以是在用于预取地图瓦片数据200的系统100的计算设备上的应用内执行的绘图模块104和/或用户绘图活动模块108的一部分。为了易于说明,将参照各图描述图4,但是当然可以与其它对象和用户界面利用方法400。
[0026]在块402,方法400可以在从挑选用户界面接收用户准许之后从在计算设备106上执行的绘图模块104取回用户绘图活动数据300。块402可以包括用于在用户的计算设备上呈现网页或者其它界面的指令,用户可以从该网页或者界面选择从任何数据汇集中挑选,该数据汇集允许或者使计算设备106或者系统100的任何其它不能能够预取地图瓦片数据。从绘图模块104取回的绘图活动数据300可以包括与绘图模块104保持的位置日志304对应的历史文件、绘图模块104执行的对于在绘图模块104在计算设备106上表现的地图内的地理位置的搜索306、用于在表现的地图上代表的地理位置之间的方向的路线设置信息308等。在一些实施例中,可以响应于来自用户绘图活动模块108、后端部件111 (例如,用户绘图活动系统114)或者在移动计算设备106本地或者远离移动计算设备106的其它模块和部件的请求而从移动计算设备106取回用户绘图活动数据300。在更多实施例中,移动计算设备106可以向后端部件111定期地发送用户绘图活动数据300或者以下描述的分析的结果。另外,用户绘图活动系统可以从经由移动计算设备106和其它设备二者的用户公共的web服务账户链接到绘图系统112的其它源、比如另一计算设备取回/接收用户绘图活动数据300。
[0027]在块404,方法400可以分析在块402发送或者取回的用户绘图活动数据300。在一些实施例中,在客户端移动计算设备106的用户绘图活动模块108可以定期地分析用户绘图活动数据300并且经由网络连接向本地或者远程用户绘图活动系统114或者绘图系统112发送结果。在其它实施例中,用户绘图活动系统114可以经由网络连接从移动计算设备106取回或者接收数据300。事件模块108可以接收或者取回数据300并且解析它以发现地理位置数据314。模块108可以包括用于解析数据300以从用户绘图活动数据300标识或者确定地理位置数据314的一个或者多个计算机可执行指令。备选地或者附加地,后端部件111分析数据300,并且用户绘图活动系统服务器128可以接收或者取回数据300并且解析它以发现位置数据314。模块108和/或模块129可以包括用于解析数据300并且从数据300标识或者确定位置数据314的一个或者多个计算机可执行指令。从用户绘图活动数据300确定的地理位置数据314可以包括城市名称、地址、机场代码、GPS坐标或者任何其它信息,该信息指示绘图系统112可用来确定绘图瓦片数据的地理位置。
[0028]如果在块406,地理位置数据314相关到足以保证预取地图瓦片数据,则模块129或者模块108可以在块408向绘图系统112发送数据。在一些实施例中,模块129或者模块108可以包括用于分析用户绘图活动数据300以确定任何发现的地理位置数据314是否相关到足以继续预取地图瓦片数据用于在高速缓存110中存储的一个或者多个计算机可执行指令。例如,模块129或者模块108可以根据用户绘图活动数据300仅确定地理位置数据314的一个实例,该实例指示“波士顿”为地理位置。仅一个指示可能未保证系统100的任何进一步动作高速缓存地图瓦片数据。然而来自更多用户绘图活动数据300的特定地理位置数据314的指示可以共同地达到阈值数量以保证执行用于高速缓存地图瓦片数据的进一步指令。模块129或者108可以包括用于在一个或者多个数据贮存库内存储地理位置数据314的计算机可执行指令。例如,模块129或者108可以分析绘图模块搜索历史306、确定在历史306内的地理位置数据314并且在贮存库132内存储该确定的数据。如果在数据贮存库132内的确定的地理位置数据314满足或者超过阈值数量,则地理位置数据314的数量可以保证执行用于高速缓存地图瓦片数据的进一步指令。
[0029]用户绘图活动数据300或者确定的地理位置数据314也可以包括时间戳信息,并且模块可以包括用于确定阈值时间段的计算机可执行指令,对于该阈值时间段,地理位置数据314的确定将保证高速缓存地图瓦片数据。例如,如果模块129或者108在一周的时间段内确定用于“波士顿”的三个地理位置数据314指示,则模块可以确定已经超过一个或者多个阈值并且执行用于高速缓存用于该位置的地图瓦片数据的进一步指令对照而言,如果模块129或者108在一年的时间段内确定用于“波士顿”的三个地理位置数据314指示,则模块可以确定尚未超过一个或者多个阈值并且返回到块402。当然,块404和406可以执行用户绘图活动数据300的统计和其它分析以确定是否继续下一个块或者继续取回用户绘图活动数据300。
[0030]如果在块404和406的分析之后,方法400确定地理位置数据314相关到足以保证执行用于高速缓存地图瓦片数据的进一步计算机可执行指令,则方法400可以在块408向绘图系统112发送块404和406的分析结果140。用户绘图活动系统114或者客户端移动计算设备106可以向绘图系统服务器116发送分析结果140用于由模块117处理。
[0031]在块410,模块117可以执行用于匹配包括相关地理位置数据的接收的分析结果140与绘图系统数据的指令。在一些实施例中,块410可以匹配接收的地理位置数据与绘图系统112发送或者取回的分析结果140对应的地图瓦片数据118、列表数据120、地点页面数据122等中的一种或者多种数据。在一些实施例中,模块从绘图系统112的一个或者多个数据贮存库取回数据。
[0032]在块412,模块117可以执行用于向移动计算设备106发送取回的数据的指令。在一些实施例中,块412向计算设备106发送瓦片数据、列表数据120、地点页面数据122等中的一种或者多种数据。方法400也可以向在计算设备106上的向用户绘图活动系统114发送用户绘图活动数据300的绘图模块104发送取回的数据。
[0033]在块414,接收瓦片数据、列表数据120、地点页面数据122等的计算设备106或者绘图模块104可以执行用于存储接收的数据的指令。在一些实施例中,块414可以在高速缓存110中存储接收的数据。绘图模块104然后可以使用来高速缓存110的高速缓存的数据以表现用于在计算设备上显示的地图。
[0034]图5是用于移动绘图系统500的不例计算环境的闻级框图,该移动绘图系统具有计算设备501,该计算设备可以用来实施用于预取地图瓦片数据200用于在地图数据高速缓存110内存储并且在计算设备106上显示的方法500。计算设备501可以包括移动设备(例如,蜂窝电话、平板计算机、具有W1-Fi功能的设备或者能够无线或者有线通信的其它个人计算设备)、瘦客户端或者其它已知类型的计算设备。如本领域技术人员将认识的那样,按照这里的公开内容和教导,可以使用具有不同架构的其它类型的计算设备。与示例移动绘图系统500相似或者相同的处理器系统可以用来实施和执行图1的示例系统、图2和图3的数据结构、图4的方法等。虽然以下描述示例移动绘图系统500为包括多个外设、接口、芯片、存储器等,但是可以从用来实施和执行示例系统100以预取地图瓦片数据的其它示例处理器系统省略这些单元中的一个或者多个单元。也可以添加其它部件。
[0035]如图5中所示,计算设备501包括耦合到互连总线504的处理器502。处理器502包括寄存器集合或者寄存器空间506,该寄存器集合或者寄存器空间在图5中描绘为完全在片上、但是可以备选地完全或者部分位于片外并且经由专用电连接和/或经由互连总线504直接耦合到处理器502。处理器502可以是任何适当处理器、处理单元或者微处理器。虽然在图5中未示出,但是计算设备501可以是多处理器设备、因此可以包括与处理器502相同或者相似并且通信地耦合到互连总线504的一个或者多个附加处理器。
[0036]图5的处理器502耦合到包括存储器控制器510和外围输入/输出(I/O)控制器512的芯片组508。正如所知,芯片组通常提供I/O和存储器管理功能以及耦合到芯片组508的一个或者多个处理器可访问或者使用的多个通用和/或专用寄存器、定时器等。存储器控制器510执行使处理器502 (或者如果有多个处理器则使多个处理器)能够访问系统存储器514和海量存储装置存储器516的功能。
[0037]系统存储器514可以包括任何希望的类型的易失性和/或非易失性存储器、如t匕如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、闪存、只读存储器(ROM)等。海量存储装置存储器516可以包括任何希望的类型的海量存储设备。例如,如果计算设备501用来实施具有API519的绘图模块518和用户绘图活动模块520 (包括如图4的方法400描述的指令),则海量存储装置存储器516可以包括硬盘驱动、光驱动、带存储设备、固态存储器(例如,闪存、RAM存储器等)、磁存储器(例如,硬驱动)或者适合用于海量存储的任何其它存储器。如这里所用,术语模块、块、功能、操作、过程、例程、步骤和方法是指向计算设备501和移动绘图系统500提供指定的功能的有形计算机程序逻辑或者有形计算机可执行指令。因此,可以在硬件、固件和/或软件中实施模块、块、功能、操作、过程、例程、步骤和方法。在一个实施例中,程序模块和例程(例如,绘图模块518、API519、用户绘图活动模块520等)存储于海量存储装置存储器516中、向系统存储器514中加载并且由处理器502执行或者可以从在有形计算机可读存储介质(例如,RAM、硬盘、光/磁介质等)中存储的计算机程序产品提供。海量存储装置516也可以包括数据库521以及数据块接口模块,该数据库存储用于由绘图模块518和用户绘图活动模块520使用的GPS数据、图形、地图瓦片数据和其它数据,通过该数据块接口模块,绘图模块518、API519、用户绘图活动模块520等可以访问从绘图数据服务器116、用户绘图活动系统114或者其它系统接收的GPS数据、图形等。
[0038]外围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数据、向系统100的后端部件发送GPS数据、表现和显示地图和用户界面。蜂窝电话收发器527可以与本地网络收发器528驻留。本地网络收发器528可以包括对于W1-Fi网络、蓝牙、红外线或者其它无线数据传输协议的支持。在其它实施例中,一个单元可以同时支持计算设备501运用的各种无线协议中的每个无线协议。例如软件定义的无线电可以能够经由可下载指令支持多个协议。在操作中,计算设备501可以能够在周期基础上定期地轮询可见无线网络传输器(蜂窝和本地网络二者)。这样的轮询即使在计算设备501上支持正常无线流量之时仍然有可能。网络接口 528可以例如是使得用于预取地图瓦片数据的系统100能够与至少具有关于系统100描述的单元的另一计算机系统通信的以太网设备、异步传输模式(ATM)设备、802.11无线接口设备、DSL调制解调器、线缆调制解调器、蜂窝调制解调器等。
[0039]尽管在图5中描绘存储器控制器512和I/O控制器510为在芯片中508内的分离功能块,但是这些块执行的功能可以集成于单个集成电路内或者可以使用两个或者更多分离集成电路来实施。移动绘图系统500也可以在远程计算设备530和532上实施绘图模块518和用户绘图活动模块520。远程计算设备530和532可以通过以太网链路534与计算设备501通信。例如,计算设备501可以接收在远程计算设备530、532上执行的绘图模块创建的绘图数据。在一些实施例中,绘图模块518和/或用户绘图活动模块520可以由计算设备501经由因特网538从云计算服务器536取回。在使用云计算服务器536时,取回的绘图模块518和/或用户绘图活动模块520可以与计算设备501用编程链接。绘图模块518和/或用户绘图活动模块520可以是在计算设备501或者远程计算设备530、532中驻留的Java?虚拟机(JVM)环境内执行的Java?小程序。绘图模块518和/或用户绘图
活动模块520也可以是适于在位于计算设备501、530和532上的web浏览器中执行的“插件”。在一些实施例中,绘图模块518和/或用户绘图活动模块520可以经由因特网538与后端部件540、比如绘图系统112和用户绘图活动系统114通信。
[0040]使用以上描述的系统和过程,用于预取地图数据100和绘图系统500的系统可以取回和分析来自计算设备的数据,该数据指示与利用在计算设备106上执行的绘图模块的用户绘图活动对应的地理位置。可以解析用户绘图活动、未知数据、绘图模块搜索历史、路线设置数据或者其它数据以确定用于预取地图瓦片数据的可能位置。当然,这里描述的系统可以向用户呈现用户界面,用户能够从该用户界面从这里描述的预取方法中的任何预取方法挑选以保留用户私密。
[0041]贯穿本说明书,多个实例可以实施描述为单个实例的部件、操作或者结构。虽然图示和描述一种或者多种方法的个别操作为分离操作,但是可以并行执行个别操作中的一个或者多个操作并且未要求按照所示顺序执行操作。可以实施在示例配置中作为分离部件而呈现的结构和功能为组合的结构或者部件。相似地,可以实施作为单个部件而呈现的结果和功能为分离部件。这些和其它变化、修改、添加以及改进落入这里的主题内容的范围内。
[0042]例如,系统500可以包括但不限于LAN、MAN、WAN、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。另外,尽管在图5中图示仅三个远程计算设备530和532以简化和阐明描述,但是理解任何数目的客户端设备可以被支持并且可以与系统500通信。
[0043]此外,这里描述某些实施例为包括逻辑或者多个部件、模块或者机制。模块可以构成软件模块(例如在机器可读介质上或者在传输信号中体现的代码,其中代码由处理器执行)或者硬件模块。硬件模块是能够执行某些操作的有形单元并且可以用某种方式来配置或者布置。在示例实施例中,一个或者多个计算机系统(例如单独客户端或者服务器计算机系统)或者计算机系统的一个或者多个硬件模块(例如处理器或者处理器组)可以由软件(例如应用或者应用部分)配置为操作用于执行如这里描述的某些操作的硬件模块。
[0044]在各种实施例中,可以机械地或者电子地实施硬件模块。例如硬件模块可以包括被持久地配置(例如作为专用处理器、比如现场可编程门阵列(FPGA)或者专用集成电路(ASIC))用于执行某些操作的专用电路装置或者逻辑。硬件模块也可以包括被软件暂时配置用于执行某些操作的可编程逻辑或者电路装置(例如作为包含于通用处理器或者其它可编程处理器内)。将理解用于机械地、在专用和持久配置的电路装置中或者在暂时配置的电路装置(例如由软件配置)的决策可以由成本和时间考虑驱动。
[0045]因而,术语“硬件模块”应当理解为包含有形实体、即被物理上构造、被持久配置(例如硬接线)或者被暂时配置(例如编程)用于以某种方式操作或者执行这里描述的某些操作的实体。如这里所用,“硬件实施的模块”是指硬件模块。考虑其中硬件模块被暂时配置(例如编程)的实施例,无需在任何一个时间时刻配置或者实例化硬件模块中的每个硬件模块。例如在硬件模块包括使用软件来配置的通用处理器时,通用处理器可以在不同时间被配置为相应不同硬件模块。软件可以相应地配置处理器以例如在一个时间时刻构成特定硬件模块并且在不同时间时刻构成不同硬件模块。
[0046]硬件模块可以向其它硬件模块提供信息和从其它硬件模块接收信息。因而,描述的硬件模块可以视为被通信地耦合。在多个这样的硬件模块同时存在时,可以通过连接硬件模块的信号传输(例如通过适当电路和总线)实现通信。在其中在不同时间配置或者实例化多个硬件模块的实施例中,可以例如通过在这样的硬件模块有权访问的存储器结构中存储和取回信息来实现在多个硬件模块之间的通信。例如一个硬件模块可以执行操作并且在它通信地耦合到的存储器设备中存储该操作的输出。又一硬件模块然后可以在以后时间访问存储器设备以取回和处理存储的输出。硬件模块也可以发起与输入或者输出设备的通信并且可以对资源(例如信息汇集)进行操作。
[0047]这里描述的示例方法的各种操作可以至少部分由被(例如软件)暂时配置或者持久配置用于执行相关操作的一个或者多个处理器执行。无论是暂时还是持久配置,这样的处理器可以构成操作用于执行一个或者多个操作或者功能的由处理器实施的模块。这里所称模块可以在一些不例实施例中包括处理器实施的模块。
[0048]相似地,这里描述的方法可以至少部分由处理器实施。例如方法的操作中的至少一些操作可以由一个或者多个处理器或者处理器实施的硬件模块执行。操作中的某些操作的执行可以分布于一个或者多个处理器之中、并非仅驻留于单个机器内、但是跨越多个机器来部署。在一些示例实施例中,一个或者多个处理器可以位于单个位置(例如家用环境、办公室环境内或者作为服务器群),而在其它实施例中,可以跨越多个位置分布处理器。
[0049]一个或者多个处理器也可以操作用于支持在“云计算”环境中或者作为“软件即服务”(SaaS)执行相关操作。例如操作中的至少一些操作可以由计算机组(作为包括处理器的机器的示例)执行,经由网络(例如因特网)和经由一个或者多个适当接口(例如应用程序接口(API)可访问这些操作。
[0050]操作中的某些操作的执行可以分布于一个或者多个处理器202之中而不是仅驻留于单个机器内、但是跨越多个机器来部署。在一些示例实施例中,一个或者多个处理器或者处理器实施的模块可以位于单个地理位置(例如家庭环境、办公室环境或者服务器场内)。在其它示例实施例中,可以跨越多个地理位置分布一个或者多个处理器或者处理器实施的模块。
[0051]在对作为位或者二进制数字信号存储于机器存储器(例如计算机存储器)内的数据的操作的算法或者符号表示方面呈现本说明书的一些部分。这些算法或者符号表示是数据处理领域普通技术人员用来向本领域其他技术人员传达他们的工作实质的技术的示例。如这里所用,“算法”是促成所需结果的自一致操作序列或者相似处理。在本文中,算法和操作涉及到对物理数量的物理操控。通常但是并非必需,这样的数量可以采用能够由机器存储、访问、传送、组合、比较或者另外操控的电、磁或者光信号。主要出于普遍用法的原因而使用诸如“数据”、“内容”、“位”、“值”、“单元”、“符号”、“字符”、“项”、“数”、“数值”等字眼来指代这些信号有时是便利的。然而这些字眼仅为便利标记并且将与适当物理数量关联。[0052]除非另有具体陈述,这里使用诸如“处理”、“计算”、“运算”、“确定”、“呈现”、“显示”
等字眼的讨论可以指代机器(例如计算机)的动作或者过程,该机器操控或者变换在一个或者多个存储器(例如易失性存储器、非易失性存储器或者其组合)、寄存器或者接收、存储、传输或者显示信息的其它机器部件内表示为物理(例如电子、磁或者光)数量的数据。
[0053]如这里所用,对“一些实施例”或者“一个实施例”的任何引用意味着结合该实施例描述的特定单元、特征、结构或者特性包含于至少一个实施例中。短语“在一个实施例中”出现于说明书中的各处未必都指代相同实施例。
[0054]可以使用表达“耦合”和“连接”及其派生词来描述一些实施例。例如可以使用术语“耦合”来描述一些实施例以指示两个或者更多单元相互直接物理或者电接触。然而术语“耦合”也可以意味着两个或者更多单元未相互直接接触、但是仍然相互配合或者交互。实施例在本文中不受限制。
[0055]如这里所用,术语“包括”、“具有”或者其任何其它变化旨在于覆盖非穷举包括。例如包括单元列表的过程、方法、物品或者装置未必仅限于那些单元、但是可以包括未明确列举的或者这样的过程、方法、物品或者装置固有的其它单元。另外除非相反明示,“或者”指代包括意义的或者而不是穷举意义的或者。例如以下各项中的任一项满足条件A或者B:A为真(或者存在)并且B为假(或者不存在)、A为假(或者不存在)并且B为真以及A和B均为真(或者存在)。
[0056]此外,对“一个/ 一种”的使用用来描述这里的实施例的单元和部件。这样做仅为了方便并且给出本发明的一般意义。应当解读这一描述包括一个或者至少一个,并且单数除非明显的是它另有含义则也包括复数。
[0057]另外,各图仅出于示例的目的而描绘一种地图编辑器系统的优选实施例。本领域技术人员将从以下讨论中容易认识可以运用这里所示结构和方法的备选实施例而未脱离这里描述的原理。
[0058]在阅读本公开内容时,本领域技术人员将理解用于如下系统和过程的更多附加备选结构和功能设计,该系统和过程用于通过这里的公开原理基于在移动设备上执行的绘图应用所生成的数据的分析来预取用于在该移动设备上查看的数字地图数据。因此,尽管已经图示和描述具体实施例和应用,但是将理解公开的实施例不限于这里公开的精确构造和部件。可以在这里公开的方法和装置的布置、操作和细节上做出本领域技术人员将清楚的各种修改、改变和变化而未脱离在所附权利要求中定义的精神实质和范围。
【权利要求】
1.一种计算机实施的方法,用于基于在移动设备上生成的利用绘图模块的活动来向移动计算设备预取地图瓦片数据,所述方法包括: 在用户绘图活动系统从所述移动计算设备接收用户绘图活动数据,所述用户绘图活动数据由在所述移动计算设备上执行的所述绘图模块生成并且指示地理位置,所述用户绘图活动数据包括与使用所述绘图模块而执行的搜索对应的位置的日志、在由所述绘图模块在所述移动计算设备上表现的地图内的地理位置和用于在所述移动计算设备上表现的地图内代表的地理位置之间的方向的路线设置信息中的一项或者多项; 从所述用户绘图活动数据提取地理位置数据; 经由网络连接向绘图系统发送所述地理位置数据; 匹配地图瓦片数据与从所述用户绘图活动数据提取的所述地理位置数据,所述地图瓦片数据包括地图图像中具有统一尺寸的多个部分; 从所述绘图系统向所述移动计算设备以矢量格式发送所述匹配的地图瓦片数据; 在所述移动计算设备的高速缓存存储装置中存储所述匹配的地图瓦片数据;以及 随后从所述高速缓存存储装置取回所述匹配的地图瓦片数据用于在所述移动计算设备显示而不从所述绘图系统接收进一步通信。
2.根据权利要求1所述的计算机实施的方法,其中所述地理位置数据包括城市名称、地址、机场代码或者全球定位系统坐标中的一项或者多项。
3.根据权利要求1所述的计算机实施的方法,其中从所述用户绘图活动数据提取地理位置数据包括解析所述用户绘图活动数据。
4.根据权利要求1所述的计算机实施的方法,还包括分析所述用户绘图活动数据以确定所述提取的地理位置数据是否相关,其中相关地理位置数据包括在阈值以上的多个地理位置指示。
5.根据权利要求4所述的计算机实施的方法,其中向所述绘图系统发送所述地理位置数据包括向所述绘图系统发送相关地理位置数据。
6.根据权利要求5所述的计算机实施的方法,其中匹配绘图系统数据与从所述用户绘图活动数据提取的所述地理位置数据包括匹配绘图系统数据与从所述用户绘图活动数据提取的所述相关地理位置数据。
7.一种计算机系统,用于基于利用在移动设备上执行的绘图模块的活动来向移动计算设备预取地图瓦片数据,所述系统包括: 用户绘图活动模块,在移动计算设备可执行,所述用户绘图活动模块包括用于接收用户绘图活动数据并且从所述用户绘图活动数据提取地理位置数据的指令,其中在所述移动计算设备上执行的所述绘图模块生成所述用户绘图活动数据,并且所述用户绘图活动数据包括与使用所述绘图模块而执行的搜索对应的位置的日志、在由所述绘图模块在所述移动计算设备上表现的地图内的地理位置和用于在所述移动计算设备上表现的地图内代表的地理位置之间的方向的路线设置信息中的一项或者多项;以及 绘图系统,包括用于从所述用户绘图活动模块接收所述地理位置数据、匹配绘图系统数据与从所述用户绘图活动数据提取的所述地理位置数据并且向所述移动计算设备发送所述匹配的绘图系统数据用于在所述移动计算设备高速缓存存储的指令,其中所述匹配的绘图系统数据包括地图图像中具有统一尺寸的多个部分。
8.根据权利要求7所述的计算机系统,其中所述地理位置数据包括城市名称、地址、机场代码或者全球定位系统坐标中的一项或者多项。
9.根据权利要求8所述的计算机系统,其中所述用户绘图活动模块还包括用于分析所述用户绘图活动数据以确定所述提取的地理位置数据是否相关的指令,所述相关地理位置数据包括在阈值以上的多个地理位置指示。
10.根据权利要求9所述的计算机系统,其中所述用户绘图活动模块还包括用于向所述绘图系统发送相关地理位置数据的指令。
11.根据权利要求10所述的计算机系统,其中所述绘图系统还包括用于匹配绘图系统数据与从所述用户绘图活动数据提取的所述相关地理位置数据的指令。
12.—种计算机实施的方法,用于基于利用在移动设备上执行的绘图模块的活动来向移动计算设备预取地图瓦片数据,所述方法包括: 在所述绘图模块生成用户绘图活动数据,所述用户绘图活动数据指示地理位置并且包括与使用所述绘图模块而执行的搜索对应的位置的日志、在由所述绘图模块在所述移动计算设备上表现的地图内的地理位置和用于在所述移动计算设备上表现的地图内代表的地理位置之间的方向的路线设置信息中的一项或者多项; 在所述移动设备上从所述用户活动数据提取地理位置数据; 经由网络连接向绘图系统发送所述地理位置数据; 匹配地图瓦片数据与从所述用户绘图活动数据提取的所述地理位置数据,所述地图瓦片数据包括地图图像中具有统一尺寸的多个部分; 以矢量格式向所述移动计算设备发送所述匹配的地图瓦片数据; 在所述移动计算设备的高速缓存存储装置中存储所述匹配的地图瓦片数据;以及随后从所述高速缓存存储装置取回所述匹配的地图瓦片数据用于在所述移动计算设备显示而不从所述绘图系统接收进一步通信。
13.根据权利要求12所述的计算机实施的方法,其中所述地理位置数据包括城市名称、地址、机场代码或者全球定位系统坐标中的一项或者多项。
14.根据权利要求13所述的计算机实施的方法,还包括分析所述提取的用户绘图活动数据以确定所述提取的地理位置数据是否相关,所述相关地理位置数据包括在阈值以上的多个地理位置指示,其中向所述绘图系统发送所述地理位置数据包括向所述绘图系统发送相关地理位置数据,并且匹配地图瓦片数据与从所述用户活动数据提取的所述地理位置数据包括匹配地图瓦片数据与从所述用户绘图活动数据提取的所述相关地理位置数据。
15.一种存储指令的有形计算机可读介质,所述指令用于基于利用在移动设备上执行的绘图模块的用户活动来向移动计算设备预取地图瓦片数据,所述指令在由处理器执行时使所述处理器: 在所述绘图模块生成用户绘图活动数据,所述用户绘图活动数据指示地理位置并且包括与使用所述绘图模块而执行的搜索对应的位置的日志、在由所述绘图模块在所述移动计算设备上表现的地图内的地理位置和用于在所述移动计算设备上表现的地图内代表的地理位置之间的方向的路线设置信息中的一项或者多项; 在所述移动设备上从所述用户绘图活动数据提取地理位置数据; 经由网络连接向绘图系统发送所述地理位置数据;匹配地图瓦片数据与从所述用户绘图活动数据提取的所述地理位置数据,所述地图瓦片数据包括地图图像中具有统一尺寸的多个部分; 以矢量格式向所述移动计算设备发送所述匹配的地图瓦片数据; 在所述移动计算设备的高速缓存存储装置中存储所述匹配的地图瓦片数据;以及随后从所述高速缓存存储装置取回所述匹配的地图瓦片数据用于在所述移动计算设备显示而不从所述绘图系统接收进一步通信。
16.根据权利要求15所述的有形计算机可读介质,其中所述地理位置数据包括城市名称、地址、机场代码或者全球定位系统坐标中的一项或者多项。
17.根据权利要求16所述的有形计算机可读介质,还包括用于分析所述用户绘图活动数据以确定所述提取的地理位置数据是否相关的指令,所述相关地理位置数据包括在阈值以上的多个地理位置指示,其中所述用于向所述绘图系统发送所述地理位置数据的指令包括用于向所述绘图系统发送相关地理位置数据的指令,并且所述用于匹配地图瓦片数据与从所述用户活动数据提取的所述地理位置数据的指令包括用于匹配地图瓦片数据与从所述用户活动数据提取的 所述相关地理位置数据的指令。
【文档编号】H04W4/02GK103959279SQ201280056874
【公开日】2014年7月30日 申请日期:2012年8月20日 优先权日:2011年9月26日
【发明者】T·G·诺尔塞, H-O·凯夫莱 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1