用于基于位置信息的服务器控制的平铺技术的制作方法

文档序号:12167169阅读:298来源:国知局
用于基于位置信息的服务器控制的平铺技术的制作方法与工艺

下面呈现简化总结,以便为本文中描述的一些新颖的实施方式提供基本了解。该总结不是广泛概述,并且不旨在识别关键/重要元件或者描绘其范围。其唯一目的在于,通过简化的形式提出一些概念,作为稍后提出的更详细的描述的序言。

各种实施方式总体上涉及用于基于位置信息的服务器控制的平铺技术。一些实施方式具体涉及响应于基于位置的搜索请求所传递的基于位置信息的服务器控制的平铺技术。在一个实施方式中,例如,一种设备可包括通信部件和瓦片部件。通信部件可操作为从客户端应用程序接收基于位置的搜索请求,该基于位置的搜索请求包括地理区域,并且将多个瓦片传输至客户端应用程序。瓦片部件可操作为将多个瓦片确定为覆盖该地理区域的一组瓦片,该多个瓦片的每个瓦片覆盖地理区域的一部分并且包括一组位置。描述并要求了其他实施方式。

为了完成上述和相关完结,本文结合以下说明和所附附图描述了某些说明性方面。这些方面以各种方式指出本文公开的原理可被实践并且所有方面及其等效物旨在所要求主题内容的范围内。当结合附图考虑时,从以下详细说明中其他优势和新颖特征将变得显而易见。



技术实现要素:

尤其在所附权利要求中公开了根据本发明的实施方式,涉及一种方法、存储介质以及系统,其中,还可以在另一个权利要求范畴(例如,系统)中要求在一个权利要求范畴(例如,方法)内提及的任何特征。仅为了形式原因,选择了所附权利要求中的从属权利要求或者后向引用。然而,也可要求保护故意后向引用任何上述权利要求(具体地,多个从属权利要求)导致的任何主题内容,以致权利要求及其特征的任何组合被公开并且不管在所附权利要求中选择的从属都可要求保护。

在根据本发明的实施方式中,一种计算机实现方法,包括:

从客户端应用程序接收基于位置的请求,该基于位置的请求包括地理区域,以及可选择地包括与搜索地理区域相关的附加数据;

优选地利用与搜索地理区域相关的附加数据,确定覆盖地理区域的多个瓦片,多个瓦片的每个瓦片覆盖地理区域的一部分并且包括一组位置;并且

将多个瓦片传输至客户端应用程序。

在也可要求保护的根据本发明的又一实施方式中,一种计算机实现的方法,包括:

从客户端应用程序接收基于位置的请求,该基于位置的请求包括地理区域;

确定覆盖地理区域的多个瓦片,多个瓦片的每个瓦片覆盖地理区域的一部分并且包括一组位置;并且

将多个瓦片传输至客户端应用程序。

可以从移动装置上的客户端应用程序接收基于位置的请求,地理区域包含移动装置的当前位置,用于在移动装置上作为地图上的覆盖图显示的所传输的多个瓦片作为可包括关于所接收的位置组的移动装置的当前位置的显示。

多个瓦片的每个可专用于位置类型的范畴,进一步可包括:

将所接收的基于位置的请求映射到位置类型的范畴;并且

根据所映射的位置类型的范畴确定多个瓦片,其中,优选地,附加数据包括搜索数据,并且将所接收的基于位置的请求映射到位置类型的范畴包括将搜索数据映射到位置类型的范畴。

在也可要求保护的根据本发明的又一实施方式中,多个瓦片的每个瓦片专用于位置类型的范畴进一步可包括:

将所接收的基于位置的请求映射到位置类型的范畴;并且

根据所映射的位置类型的范畴确定多个瓦片。

指定缩放水平的基于位置的请求,具体地,附加数据,多个瓦片的每个瓦片与缩放水平的范围相关联,进一步可包括:

通过将所指定的缩放水平与多个瓦片的每个相关联的缩放水平的范围进行匹配来确定多个瓦片。

在也可要求保护的本发明的又一实施方式中,基于位置的请求指定缩放水平,多个瓦片的每个瓦片与缩放水平的范围相关联,进一步可包括:

通过将所指定的缩放水平与多个瓦片的每个相关联的缩放水平的范围进行匹配来确定多个瓦片。

多个瓦片可包括第一瓦片,第一瓦片可覆盖第一地理区域,第一瓦片可包括第一地理区域内的第一组位置,第一组位置可根据全部位置组内的所选择的第一组位置的相对重要性从全部位置组中选择。

多个瓦片可包括第一瓦片和第二瓦片,第一瓦片可覆盖第一地理区域,第二瓦片可覆盖不同于第一地理区域的第二地理区域,第一地理区域可大于第二地理区域。

响应于确定第一地理区域包含较低密度的相关位置,第一地理区域可被构造为大于第二地理区域。

在根据本发明的又一实施方式中,该方法可包括:

确定第二多个瓦片,该第二多个瓦片与覆盖不同的相邻地理区域或者覆盖不同缩放水平的地理区域的至少一部分的基于位置的请求相关;

指示客户端应用程序请求第二多个瓦片;

从客户端应用程序接收对于第二多个瓦片的请求;并且

将第二多个瓦片传输至客户端应用程序。

在根据本发明的又一实施方式中,该方法可包括:

从客户端应用程序接收第二基于位置的请求,该第二基于位置的请求包括第二地理区域,以及可选择地包括与搜索第二地理区域相关的第二附加数据,第二基于位置的请求包括标记为之前基于位置的请求的基于位置的请求和地理区域,第二地理区域与来自之前基于位置的请求的地理区域重叠;

优选地通过利用与搜索第二地理区域相关的第二附加数据确定第二多个瓦片,其中,第二多个瓦片覆盖剩余区域并且排除将用于覆盖来自之前基于位置的请求的地理区域的瓦片;

将第二多个瓦片传输至客户端应用程序。

在也可要求保护的根据本发明的又一实施方式中,该方法可包括:

从客户端应用程序接收第二基于位置的请求,该第二基于位置的请求包括第二地理区域,第二基于位置的请求包括标记为之前基于位置的请求的基于位置的请求和地理区域,第二地理区域与来自之前基于位置的请求的地理区域重叠;

确定覆盖剩余区域的第二多个瓦片,并且排除将用于覆盖来自之前基于位置的请求的地理区域的瓦片;

将第二多个瓦片传输至客户端应用程序。

在根据本发明的又一实施方式中,该方法可包括:

响应于基于位置信息的请求,确定或接收搜索范围;

确定一组瓦片以供使用;然后

在覆盖所请求的地理区域的组内确定瓦片集合。

搜索请求可包括地理区域、检索词、缩放水平中的一个或多个、或者诸如用户标识符、客户端装置标识符、客户端应用程序标识符、会话标识符的一个或多个附加的数据、或者与搜索潜在相关的任何其他元数据。

可通过瓦片部件从瓦片存储器中检索瓦片,其中,瓦片存储器可包括本地的、远程的或分布式数据库,其中,瓦片存储器中的瓦片优选地以范畴、类型或搜索主题划分。

在本发明的又一实施方式中,一个或多个计算机可读非易失性存储介质,其体现为软件,当软件被执行时可操作为执行根据本发明或者上述任一个实施方式的方法。

在本发明的又一实施方式中,系统包括:一个或多个处理器;以及耦接至一个或多个处理器的存储器,该存储器包括通过一个或多个处理器可执行的指令,当一个或多个处理器执行指令时可操作为执行根据本发明或者上述实施方式的任一个的方法。

该方法可适合于结合至计算装置之间的特定地理位置的基于位置信息的交换,并且可包括:

从客户端应用程序接收基于位置的请求,该基于位置的请求包括地理区域以及接收地理区域内的一系列位置的请求;

确定覆盖地理区域的多个瓦片,多个瓦片的每个瓦片覆盖地理区域的一部分并且包括一组位置,并且

将多个瓦片传输至客户端应用程序。

在也可要求保护的根据本发明的又一实施方式中,一种设备包括:

装置上的处理器电路;

通信部件,在处理器电路上可操作为从客户端应用程序接收基于位置的请求,该基于位置的请求包括地理区域,并且将多个瓦片传输至客户端应用程序;以及

瓦片部件,在处理器电路上可操作为将多个瓦片确定为覆盖地理区域的一组瓦片,多个瓦片的每个瓦片覆盖地理区域的一部分并且包括一组位置。

基于位置的请求可指定缩放水平,多个瓦片的每个瓦片可与缩放水平的范围相关联,瓦片部件可操作为通过将所指定的缩放水平与多个瓦片的每个瓦片相关联的缩放水平的范围进行匹配来确定多个瓦片。

在也可要求保护的根据本发明的又一实施方式中,一种设备包括:

瓦片部件,可操作为确定第二多个瓦片,该第二多个瓦片与覆盖不同的相邻地理区域或者覆盖不同缩放水平的地理区域的至少一部分的基于位置的请求相关;以及

通信部件,可操作为指示客户端应用程序请求第二多个瓦片,从客户端应用程序接收对于第二多个瓦片的请求,并且将第二多个瓦片传输至客户端应用程序。

在也可要求保护的根据本发明的又一实施方式中,一种设备包括:

通信部件,可操作为从客户端应用程序接收第二基于位置的请求,该第二基于位置的请求包括第二地理区域,该第二基于位置的请求包括标记为之前基于位置的请求的地理区域和基于位置的请求,第二地理区域与来自之前基于位置的请求的地理区域重叠,并且将第二多个瓦片传输至客户端应用程序;以及

第二瓦片部件,可操作为确定覆盖剩余区域的第二多个瓦片并且排除将用于覆盖来自之前基于位置的请求的地理区域的瓦片。

在也可要求保护的根据本发明的又一实施方式中,至少一个计算机可读存储介质包括指令,当执行时该指令使系统执行以下步骤:

从客户端应用程序接收基于位置的请求,该基于位置的请求包括地理区域和缩放水平;

确定覆盖地理区域的多个瓦片,多个瓦片的每个瓦片覆盖地理区域的一部分,与包括缩放水平的缩放水平的范围相关联,并且包括一组位置;并且

将多个瓦片传输至客户端应用程序。

在也可要求保护的根据本发明的又一实施方式中,至少一个计算机可读存储介质包括当执行时使系统执行以下步骤的指令:

确定第二多个瓦片,该第二多个瓦片与覆盖不同的相邻地理区域或者覆盖不同缩放水平的地理区域的至少一部分的基于位置的请求相关;

指示客户端应用程序请求第二多个瓦片;

从客户端应用程序接收对于第二多个瓦片的请求;并且

将第二多个瓦片传输至客户端应用程序

在也可要求保护的根据本发明的又一实施方式中,至少一个计算机可读存储介质包括指令,当执行该指令时使系统执行以下步骤:

从客户端应用程序接收第二基于位置的请求,该第二基于位置的请求包括第二地理区域和缩放水平,第二基于位置的请求包括标记为之前基于位置的请求的基于位置的请求、地理区域和缩放水平,第二地理区域与来自之前基于位置的请求的地理区域重叠;

确定以缩放水平覆盖剩余区域的第二多个瓦片并且排除将用于覆盖来自之前基于位置的请求的地理区域的瓦片;

将第二多个瓦片传输至客户端应用程序。

附图说明

图1示出了用于基于位置信息的服务器控制的平铺的系统的实施方式。

图2示出了用于图1的系统的操作环境的实施方式。

图3示出了显示从图1的系统接收的瓦片的装置的实施方式。

图4示出了显示从图1的系统接收的修改瓦片的装置的实施方式。

图5示出了用于图1的系统的较高缩放水平的瓦片的实施方式。

图6示出了用于与图1的系统的搜索区域重叠的瓦片的实施方式。

图7示出了用于图1的系统的集中式系统的实施方式。图8示出了用于图1的系统的分布式系统的实施方式。

图9示出了用于图1的系统的逻辑流程的实施方式。

图10示出了计算架构的实施方式。

图11示出了通信架构的实施方式。

具体实施方式

各种实施方式涉及用于基于位置信息的服务器控制的平铺技术。计算装置可交换基于位置的信息,结合或专用于特定地理位置的信息。一个计算装置可请求另一计算装置接收特定地理区域内的一系列位置。这可以是接收地理位置内对于发送者已知的一系列所有位置的一般请求或者可限制为与搜索、特定范畴相关的或者以其他方式限制的某个主题。这个请求可以由网络服务器发出至后端服务器,以便生成地图显示,可以由网络浏览器发出至网络服务器以接收包含地理信息的网页,可以由客户端装置发出至服务器以接收基于位置的信息用于在客户端装置上显示,或者在任一对计算装置之间请求。

基于位置信息的请求可通过定义的地理区域指定。请求可专用于矩形的地理区域,其可与被显示的地理区域或者由计算装置为显示器准备的地理区域相对应。例如,移动装置可从用户接收对于显示本地餐馆的请求并且准备以本地区域内覆盖的餐馆来显示装置周围的本地区域,诸如,移动装置的用户界面的一部分。这个区域的大小、范围和边界可由移动装置根据多个技术来确定,以估计用于基于位置信息的最初的显示区域。移动装置然后可包括发送到服务器的矩形-诸如,可由两对维度和经度来限定-请求,以接收包含在该区域内的一系列餐馆以及这些餐馆的特定位置。应当认识到,地图区域的判定可通过网络浏览器、网络服务器或者制备具有位置覆盖的显示地图的任何其他装置内运行的程序进行类似执行。

在搜索系统的一些实施方式中,可以执行全二维范围的搜索以确定指定地理区域内的位置。然而,可有利于在接收基于位置信息的客户端装置或发送基于位置信息的服务器装置上或者在这两者上预先确定或缓存搜索结果。因此,基于位置的信息可根据瓦片来组织,其中,瓦片体现预计算的用于定义的地理区域(诸如,矩形)的基于位置信息组。例如,旧金山可分解为不同的地理区域以及在每个地理区域内的位置集合在一起成为瓦片。因此,对于旧金山的一部分的基于位置信息的请求可通过产生其结合区域覆盖该城市的指定部分的一组瓦片而做出响应。因为瓦片的边界不太可能与搜索区域的边界精确地匹配,所以搜索区域外部的附加位置可包括在该响应中,但是用于传输这些额外位置的带宽以及用于它们的处理可大于通过预计算瓦片的优势的补偿:在非高峰时间期间可预计算瓦片以减少高峰时间期间的负载,并且通过减少要求完成的工作量可提高响应时间。

在一些实施方式中,使用的平铺方案可以是预定的、跨越所有区域通用的、以及由接收瓦片的客户端装置提前已知的。例如,整个世界的展平地图可分为相等大小的矩形并且各个分配识别码,使得要求基于位置得信息的客户端装置根据平铺方案仅需要请求将覆盖所考虑的地理区域的瓦片。然而,另一方法具有优势。如果客户端装置关于平铺方案是不可知论的,则可以根据绘制区域的变化、根据基础设施、软件设计或提供者优先权的变化在不同位置中为不同范畴的结果改变平铺方案,并且作为具有提供基于位置信息的经验体会以当前平铺方案显示问题、限制或者缺点。

例如,传输瓦片的带宽成本与在其中包含的位置数量成比例,这促进将具有大量位置的瓦片分解为较小的瓦片,以便限制以跨在地理搜索区域的边界的边界瓦片传输的多余位置的数量。然而,瓦片可包含报头信息、元数据以及添加至用于传输瓦片的带宽的其他每个瓦片数据,使得传输大量低群体瓦片可能浪费不能与较大瓦片一起使用的带宽。进一步地,用于确定瓦片组的计算时间可根据瓦片的数量而成比例。因为瓦片内的与请求有关的位置数量可根据位置(比农村地区可能更密集的城市)、范畴(加州的好莱坞比德州的休斯顿具有更多关于“电影工作室”的结果)、时间(因为城市新增人口或消失人口)等而改变,改变瓦片的大小可能是有用的。如果客户端应用程序对于平铺方案是不可知的,则可在服务器端上做出这种改变,以致客户端应用程序不必了解使用新的平铺方案提前更新的平铺方案。

在一些实施方式中,可以不同的缩放水平和搜索范围使用不同的平铺方案和不同的瓦片。所有搜索范围内的所有结果可能不是同样有用的。例如,在他们家的五个街区内搜索披萨店的用户可通过了解该范围内的每个披萨店并且被允许从它们中进行选择来得到帮助。然而,计划至纽约市旅行并且搜索其中覆盖的所有披萨店的用户可通过仅了解该城市最好的披萨店得到帮助。计划横跨意大利旅行的用户,在这个更大的范围中,可仅从了解这个国家中最好的披萨店得到帮助。因此,在一些实施方式中,可能使用多组瓦片,其中,每组瓦片专用于特定范围或者缩放水平。因此,响应于基于位置信息的请求可包括确定或接收搜索范围,确定使用哪组瓦片,然后确定覆盖所请求的地理区域的该组内的瓦片集合。

因而,用户可得益于用于提供基于位置信息的系统,该系统使用客户端装置不可知的动态平铺方案。通过允许服务器根据可变大小和尺寸的瓦片进行位置通信,可有效地使用装置带宽,可提高返回结果的质量,并且从测试或工作的系统中聚集的性能信息可结合到没有修改而提供给客户端系统的结果中。因此,实施方式可提高可承受性、可缩放性、调制性、可扩充性、以及地理搜索系统的操作者和用户的互操作性。

现在参考附图,其中,贯穿全文,相同参考标号用于指代相同元件。在以下描述中,为了说明的目的,阐述了许多具体细节以便提供对它的彻底理解。然而,可能明显的是,没有这些具体细节也可以实践新颖的实施方式。在其他实例中,以框图形式示出了众所周知的结构和装置以便促进它们的描述。目的在于覆盖所有与要求主题内容一致的修改、等效物和替换。

图1示出了搜索系统100的框图。在一个实施方式中,搜索系统100可包括一个或多个部件。尽管在图1中示出的搜索系统100在某个拓扑结构中具有有限数量的元件,但是可以理解,根据给定实现的要求,搜索系统100在替代的拓扑结构中可包括或多或少的元件。

值得注意的是,如本文中使用的“a”和“b”和“c”以及类似指示符意指表示任何正整数的变量。因此,例如,如果实现将值设置为a=5,则整组部件122-a可包括部件122-1、122-2、122-3、122-4和122-5。实施方式不限于此。

搜索系统100可包括通信部件120和瓦片部件150。搜索系统100可使用存储预定瓦片的瓦片存储器160用于响应接收到的请求。搜索系统100可与多个客户端应用程序(诸如,客户端装置180上的客户端应用程序190)交互,接收基于位置的请求并且以瓦片组响应。

通信部件120可操作为从客户端应用程序190接收基于位置的请求130(该基于位置的请求130包括地理区域),并且将多个瓦片170传输至客户端应用程序。客户端应用程序190可在客户端装置180的部件上运行,或者以其他方式由客户端装置180支持。在一些实施方式中,客户端装置180可以是移动装置或者终端用户装置,但是在其他方式中,可以是充当搜索系统100的客户端的服务器装置。客户端装置180可以由搜索系统100的外方拥有或属于搜索系统100的外方或者可通常由搜索系统100拥有并管理。

可根据已建立的协议、定制协议、通用协议,或者根据任何其他通信技术接收基于位置的请求130。基于位置的请求130可经由互联网、经由蜂窝数据系统、或者使用任何其他通信介质接收到。基于位置的请求130可以是搜索请求,该搜索请求包括地理区域、检索项、缩放水平、以及一个或多个附加数据(诸如用户标识符、客户端装置标识符、客户端应用程序标识符、会话标识符)、或者与搜索具有潜在关系的任何其他元数据。通信部件120可将基于位置的请求130转发至瓦片部件150。

瓦片部件150可操作为将多个瓦片170确定为覆盖地理区域的一组瓦片,多个瓦片170中的每个瓦片覆盖地理区域的一部分并且包括一组位置。可从瓦片存储器160中检索瓦片170。瓦片存储器160可包括数据库,诸如,本地数据库、远程数据库或者分布式数据库。瓦片部件150可操作为在瓦片存储器160上执行地理查找以确定多个瓦片170。可以执行用于执行地理查找的任何已知技术,诸如,用于正交范围搜索的任何已知技术。

在一些实施方式中,瓦片存储器160中的瓦片可按照范畴、类型、搜索主题、或者其他分类进行。在特定范畴内,每一个瓦片可各自专门覆盖没有重叠或者共享区域的地理区域。在一些实施方式中,瓦片存储器160中的瓦片可以按照范围或者缩放水平划分。在特定范围内,每一个瓦片可各自专门覆盖没有重叠或者共享区域的地理区域。在一些实施方式中,瓦片存储器160中的瓦片可以按照范围和分类两者划分,并且特定范围和分类内的瓦片可没有重叠或者共享区域地专门覆盖地理区域。因此,存储在瓦片存储器160内的每个位置对于给定范围和/或分类可最多存储一次。瓦片部件150可操作为根据分类和/或范围在瓦片存储器160中锁定地理查找目标并且精确检索该分类和/或范围内的、结合的相应地理区域覆盖作为基于位置的搜索请求130的一部分包括的全部地理区域的多个瓦片170。

在各种实施方式中,根据各种技术可指定范围或者缩放水平。例如,可根据区域的观察程度及其在现实世界中的真实程度之间的比例指定缩放水平。可替代地,可根据使用最大缩放(搜索系统100内包含的最大细节)作为关于详细地表示重复减少的其他缩放水平的一个极值的提取等级来指定缩放水平。瓦片存储器160中的每一个瓦片可与该瓦片使用的缩放水平的范围相关联。至于给定的地理区域(以及,在一些实施方式中,分类),每个瓦片可与特定独有的范围相关联。

瓦片存储器160和搜索系统100可存储或以其他方式具有与特定瓦片的分类有关且在由特定瓦片覆盖的地理区域内并且仍然没有存储在瓦片内的位置知识。例如,针对大的地理区域(因此,以大范围和低缩放水平)的瓦片在它的地理区域内可能仅包含最重要的、最相关的、或以其他方式有价值的结果,排除次要的、较不相关的、或者以其他方式无价值的结果。例如,当查看整个国家的范围时使用的瓦片可覆盖十分之一的国家,包括多个城市,并且在该区域中仅包括其分类内的最重要或者显著的位置,多个城市及其周围环境。以低范围(诸如,当完全查看一个城市时使用的范围)在相同分类内使用的瓦片可包括在高范围瓦片中不存在的附加位置,这是由于它们在与国家相比的城市的背景内具有增加的相对重要性。

在一些实施方式中,范围或缩放水平可作为基于位置的请求130的一部分被包括。在其他实施方式中,可基于指定地理区域隐式地确定范围或缩放水平。例如,国家大小的地理区域可隐式地暗示大范围(低缩放水平),其中,挑选了许多位置,而城市街区大小的地理区域可隐式地暗示小范围(高缩放水平),其中,包括大部分或者所有位置。

在一些实施方式中,基于位置的请求130可包括指定搜索。在一些情况下,这可映射至范畴、类型或者其他分类以及指定地理区域中的该分类内的所有结果,并且确定的范围经由多个瓦片170被传输到客户端应用程序190并且显示给用户。然而,在其他情况下,搜索可用于细化传输的或在瓦片的范畴内显示的或者瓦片没有以分类划分的位置。例如,瓦片存储器160中的每一个位置可与描述在搜索位置中使用的位置的一段或多段数据相关联。瓦片部件150可操作为将搜索与检索的多个瓦片170中的位置的数据进行比较,以确定多个瓦片170内的每个位置是否与该搜索匹配。瓦片部件150可操作为在传输至客户端应用程序190之前将不与接收到的搜索有关的多个瓦片170内的位置去除。

在一些实施方式中,瓦片部件150可操作为将传输到客户端应用程序190的多个瓦片170内的位置标记为与搜索相关或者与搜索不相关,使得客户端应用程序190仅向用户显示被标记为相关或者没有被标记为不相关的那些位置。例如,对于“披萨店”的搜索可分类为“餐馆”范畴并且发起从专用于地理区域和缩放水平的瓦片存储器160检索餐馆类型瓦片。多个瓦片170可包括与“披萨店”搜索匹配的位置以及与“披萨店”搜索不匹配的位置。所有这些位置(匹配的和不匹配的),可与显示位置相关和不相关的标记一起传输至客户端应用程序190。可替代地,不是瓦片部件150,客户端应用程序190可确定多个瓦片170内的哪些位置与该搜索相关。

无论在哪种情况下,客户端应用程序190可接收包括相关位置和不相关位置这两者的多个瓦片170,并且仅向该装置的用户显示相关位置。将不相关位置发送至客户端应用程序190,具体地,在客户端应用程序190执行筛选以确定哪个位置与该搜索有关的情况下,诸如通过缓存可允许再使用瓦片。例如,用户可搜索“披萨店”,接收在用于包括所有“餐馆”结果的给定地理区域的给定范围内的多个瓦片170,并且仅示出客户端应用程序190确定与搜索“披萨店”匹配的那些位置。用户确定在他们的餐饮区域内没有令人满意的披萨店,或者对他们期望的美食改变想法,然后可执行搜索“寿司”。因为接收到的多个瓦片170包括所有餐馆位置,客户端应用程序190可重新筛选位置以产生与搜索寿司相匹配的那些位置,而不来回去搜索系统100接收新的瓦片。

客户端应用程序190通常可操作为缓存接收到的瓦片并且再使用有关的那些瓦片。在一些实施方式中,可以连同生存时间(TTL)值传输瓦片,该值显示一时段,在该时段之后瓦片应从缓存器去除或者以其他方式不用于搜索结果。在一些实施方式中,在从用户接收到搜索请求时可使用具有到期TTL的缓存瓦片并且用于显示位置结果,但同时,客户端应用程序190执行基于位置的请求130以接收更新的瓦片,该更新的瓦片用于取代根据曾经接收到的到期瓦片的显示。

图2示出了用于搜索系统100的操作环境200的实施方式。如图2中所示,用户210可使用客户端装置180与全球定位系统220、搜索系统100和地图系统250交互。

在一些情况下,客户端装置180可以是在用户210搜索的地理区域内使用的移动装置。客户端装置180可操作为使用经由GPS用于确定位置的已知技术经由全球定位系统(GPS)220确定它的当前位置225。客户端装置180可操作为基于它的当前位置225自动确定使用的地理区域作为基于位置的请求130的一部分。例如,地理区域可以位于当前位置225的中心或者以其他方式包含客户端装置180的当前位置225。

从搜索系统100接收的多个瓦片170可显示在客户端装置180作为地图270上的覆盖图。地图270上的显示可包括关于所接收的位置组的客户端装置180的当前位置225的显示。

可从地图系统250中检索地图270。客户端装置180可将指定地理区域、一组地图瓦片的地图请求230或者用于给地图系统250发出请求的任何其他技术传输至地图系统250。客户端装置180可将地图270接收为图像、为一组地图瓦片,或者用于发送和接收地图270的任何其他技术。

地图系统250可通过作为搜索系统100的相同实体或者通过另一实体保持。例如,在客户端装置180是移动装置的情况下,地图系统250可与客户端装置180的制造商或者客户端装置180的操作系统的提供者相关联。可替代地,地图系统250可由客户端应用程序190进行选择。在一些实施方式中,多个瓦片170关于多个可用地图系统中的哪个地图系统250被用于接收地图270可以是不可知的。例如,在第一类型的客户端装置上可以使用第一地图系统并且在第二类型的客户端装置上可以使用第二地图系统,其中,搜索系统100独立于所选定的地图系统,并且无论哪个地图系统都相同的多个瓦片170被使用。

图3示出了在用于搜索系统100的客户端装置180上显示的地图310的实施方式。如图3中所示,地图310包括在地图310上显示为星形的当前位置330。

在图3的说明中,地图310内的不同的实线可表示不同的道路。不同的亮区域和暗区域可表示不同的地形特征。这些实线和区域可以从地图系统250接收并且用作显示多个瓦片170的背景。

在图3的说明中,不同圆点(诸如375-1)可表示作为多个瓦片170的一部分接收到的位置。虚线可表示不同瓦片之间的划分区域,其中,由四个虚线形成的每个专有的矩形表示瓦片的专有区域。如示出的,在地图310上显示的位置作为十个瓦片370-a被接收到。例如,瓦片370-5包括位置375-b。

如图3中所示,每个瓦片包括五个位置,其中,一些瓦片与仅显示它们位置的子集的显示边缘毗邻,这可表示它们落到显示的地理区域的边界外部的剩余位置。这五个位置可以是每个瓦片内五个最相关的位置。应理解,五个位置的限制用于方便说明并且不表示特别限制可由瓦片包含的位置的数量。

如示出的,不同瓦片具有不同的大小和尺寸。例如,瓦片370-4甚至明显小于瓦片370-10的可视区域。例如,这可表示瓦片370-4比瓦片370-10用于相关位置的更高密度区域。响应于确定针对瓦片370-10的地理区域比针对瓦片370-4的地理区域包含更低密度的相关位置,针对瓦片370-10的地理区域可被构造为大于针对370-4的地理区域。

图4示出了在用于搜索系统100的客户端装置180上显示的地图410的实施方式。如图4中所示,地图410包括在地图410上显示为星形的当前位置430。

如示出的,地图410描述与参考图3的地图310相同的地理区域。然而,平铺已从瓦片370-a改变为470-c。例如,位置475已经添加到地图410并且不存在于地图310中。位置475可为瓦片470-c中的包含物显示足够相关性的新的现实世界位置或者可以是瓦片370-a时存在但是已经重新评估或改变以增加其重要性的位置,以便激发其包含物。在这个实例中,因为每个瓦片包含最多五个位置,所以这可导致在其中生成包括位置475的瓦片470-5的新的平铺。

可替代地,可通过改变地图410的地理区域内的密度的重新估计,已经激发了由瓦片470-c表示的新的平铺。瓦片470-5内的地理区域在瓦片370-a和470-c的生成时间之间可增加相关位置的密度。这可导致在搜索系统100中使用瓦片470-5内的区域的较小瓦片生成新的平铺。无论在何种情况下,瓦片部件150可操作为针对第一基于位置的请求确定第一多个瓦片370-a并且为第二基于位置的请求确定第二多个瓦片470-c,其中,响应于地理区域的重新平铺,第一多个瓦片370-a和第二多个瓦片470-c在相同范围中以及相同的地理区域,其中,第一多个瓦片370-a的至少第一瓦片具有不同的大小、形状或位置,因为第二多个瓦片470-c的第二瓦片与第一瓦片重叠。

图5示出了参考图3的瓦片370-5的地理区域内的一组瓦片的实施方式。

图5中示出的是包含在较高缩放水平(减小的范围)的瓦片370-5内的地理区域。这个地理区域由瓦片570-d覆盖并且包括瓦片370-5内不包括的其他位置,诸如,瓦片570-3内的位置575-1和575-2。这些可以是与瓦片的具体范畴有关但是与较高范围中的瓦片370-5内包括的位置相比具有更低重要性的位置。

在一些实施方式中,瓦片570-d可共同包含有瓦片370-5的地理区域,使得分级组织瓦片、某个范畴内的瓦片。可替代地,瓦片570-d不必与较高范围中的瓦片(诸如,瓦片370-5)共享边界。例如,瓦片570-5可从描述的区域延伸至左边并且向下(东南)延伸。

图6示出了用于与图1的系统的搜索区域重叠的瓦片的实施方式。

图6中示出的是第一搜索区域610、第二搜索区域620、以及包含不同位置的多个瓦片670-e。瓦片670-e全部在相同的范围中以及相同的范畴,并且因此,地理不同并且不重叠。响应于第一请求,搜索系统100可将瓦片670-2、670-6、670-7、670-8、670-9、670-10和670-11识别为覆盖搜索区域610。响应于第二请求,搜索系统100可将瓦片670-2、670-3、670-4、670-5、670-7、670-8、670-10、670-11、670-12和670-13识别为覆盖搜索区域620。可以看出,瓦片670-7、670-8、670-10和670-11将用于覆盖搜索区域610和搜索区域620两者。

如果在从客户端应用程序190接收到搜索区域610之后从同一客户端应用程序190顺序地立即接收到搜索区域620,则可有利的是,响应于关于搜索区域620的请求,通过仅传输用于覆盖搜索区域并且没有被传输或者在处理搜索区域610:670-2、670-3、670-4、670-5、670-12和670-13的请求中要被传输的那些瓦片。如果客户端应用程序190接收共用瓦片670-7、670-8、670-10和670-11作为对于第一请求的响应的一部分,则结合接收到的瓦片可简单地再使用它们作为对于第二请求的响应的一部分,以便显示整个搜索区域620的位置。这可减少用于响应于该对请求的带宽。

因而,通常,通信部件可操作为从客户端应用程序190接收第二基于位置的请求,第二基于位置的请求190包括诸如搜索区域620的第二地理区域,第二基于位置的请求包括基于位置的请求130和标记为之前基于位置的请求的地理区域(诸如,搜索区域610),第二地理区域与来自之前基于位置的请求的地理区域重叠,并且将第二多个瓦片传输至客户端应用程序190。瓦片部件150可操作为确定覆盖剩余区域的第二多个瓦片并且排除将用于覆盖来自之前基于位置的请求的地理区域的瓦片。在一些实施方式中,诸如,在使用多个类似或相同部件同时处理请求的分布式系统、多线程系统、多处理系统或者其他系统中可以使用不同的瓦片部件。

在一些实施方式中,搜索系统100可操作为使客户端应用程序190准备好预取可在后续基于位置的请求中使用的瓦片。例如,可以预取较高缩放水平的瓦片,以便具有它们在不测事件中可用的相应位置,该不测事件为用户决定检验比客户端应用程序190的默认范围更近的它们的本地区域。类似地,可以预取较低缩放水平的瓦片,以便具有它们在不测事件中可用的相应位置,该不测事件为用户决定检验比默认范围更广的它们的周围区域。可以预取相同缩放水平的周围瓦片,以便具有它们在用户决定滚动显示地图的不测事件中可用的相应位置。在第二、后续传输中传输另外的瓦片可能是有价值的,以便不争占传输的带宽和处理能力并且立即显示请求的位置。

因而,瓦片部件150可操作为确定第二多个瓦片,该第二多个瓦片与覆盖不同的相邻地理区域或者覆盖不同缩放水平的地理区域的至少一部分的基于位置的请求130相关。通信部件120可操作为指示客户端应用程序190请求第二多个瓦片,从客户端应用程序190接收对于第二多个瓦片的请求,并且将第二多个瓦片传输至客户端应用程序190作为响应。客户端应用程序190可操作为响应于多个瓦片170的完整传送提交对于第二多个瓦片的请求。

例如,客户端应用程序190可将基于位置的请求130提交至搜索系统100并且接收作为响应的多个瓦片170和预取指令。客户端应用程序190可等到已经完成的多个瓦片170被接收,然后使用预取指令发起另外的相关瓦片的下载。在一个实施方式中,预取指令可包括单一标识符、结构、或者参考或包含基于位置的请求130的其他符号,并且足以请求搜索系统100提供另外的瓦片。可替代地,预取指令可包括应该被预取的客户端应用程序190可明确请求的一系列瓦片。

图7示出了集中式系统700的框图。集中式系统700可在诸如完全在单一装置720内的单一计算实体中为搜索系统100实现一些或者所有结构和/或操作。

装置720可包括能够为搜索系统100接收、处理并且发送信息的任何电子装置。电子装置的实例可包括但不限于超级移动装置、移动装置、个人数字助理(PDA)、移动计算装置、智能电话、电话、数字电话、蜂窝电话、电子书阅读器、手机、单向传呼机、双向的传呼机、消息装置、计算机、个人计算机(PC)、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、手持计算机、平板电脑、服务器、服务器阵列或服务器群、网页伺服器、网络服务器、因特网服务器、工作站、小型计算机、主机架计算机、超级计算机、网络电器、环球网设备、分布式计算系统、多处理器系统、处理器类系统、消费电子学、可编程消费电子学、游戏装置、电视机、数字电视、机顶盒、无线接入点、基站、用户站、移动用户中心、无线电网络控制器、路由器、集线器、网关、桥接器、开关、机器、或者它们的组合。实施方式不限于此。

装置720可使用处理部件730为搜索系统100执行处理操作或逻辑。处理部件730可包括不同的硬件元件、软件元件或者它们的组合。硬件元件的实例可包括装置、逻辑装置、部件、处理器、微处理器、电路、处理器电路、电路元件(例如,晶体管、电阻器、电容器、感应器等)、集成电路、专用集成电路(ASIC)、可编程逻辑装置(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元件的实例可包括软件部件、程序、应用、计算机程序、应用程序、系统程序、软件开发程序、机器程序、操作系统软件、中间件、程序包、软件模块、分程序、子程序、功能、方法、流程、软件接口、应用程序接口(API)、指令组、计算代码、计算机编码、代码段、计算机代码段、单词、值、符号、或者它们的组合。如给定实现所期望的,确定实施方式是否使用硬件元件和/或软件元件实现可根据任意数量的因素而改变,诸如,期望的计算速率、功率电平、耐热性、处理循环预算、输入数据速率、输出数据速率、存储资源、数据总线速度和其他设计或者执行限制。

装置720可使用通信部件740为搜索系统100执行通信操作或逻辑。通信部件740可实现任何众所周知的通信技术和协议,诸如,适用于数据包交换网络(例如,诸如互联网的公共网络、诸如企业内联网的专用网等)、电路交换网络(例如,公共交换电话网)、或者数据包交换网络和电路交换网络(具有合适的网关和转换器)的组合的技术。通信部件740可包括各种类型的标准通信元件,诸如,一个或多个通信接口、网络接口、网络接口卡(NIC)、无线电、无线发送器/接收器(收发器)、有线和/或无线通信介质、物理连接器等。通过举例的方式并且不限制,通信介质712、742包括有线通信介质和无线通信介质。有线通信介质的实例可包括电线、电缆、金属引线、印刷电路板(PCB)、底板、交换结构、半导体材料、双绞线、同轴电缆、光学纤维、传播信号等。无线通信介质的实例可包括声学、射频(RF)光谱、红外线以及其他无线介质。

装置720可分别在通信介质712、742上分别使用通信信号714、744经由通信部件740与其他装置710、750通信。如给定实现所期望的,装置710、750可以是装置720的内部或外部。例如,装置710可包括客户端装置180,使得在介质712上发送的信号714包括基于位置的请求130至搜索系统100的传输并且多个瓦片170从搜索系统100至装置710的传输。装置750可包括由不同用户使用的第二客户端装置,该第二客户端装置与搜索系统100交互以利用装置710提前、随后或者同时请求瓦片、接收瓦片。

图8示出了分布式系统800的框图。分布式系统800可分布跨多个计算实体的用于搜索系统100的结构和/或操作的部分。分布式系统800的实例可包括但不限于客户端-服务器架构、三层架构、N层架构、紧密耦接或群集架构、点对点架构、主从架构、共用数据库架构、以及其他类型的分散式系统。实施方式不限于此。

分布式系统800可包括客户端装置180、负载均衡器810、以及多个服务器装置820-f。通常,客户端装置180、负载均衡器810、以及多个服务器装置820-f可以与参考图7所描述的客户端装置720相同或相似。例如,客户端装置180、负载均衡器810、以及服务器系统820-f各自可包括处理部件830和通信部件840,它们与参考图7所描述的处理部件730和通信部件740分别相同或相似。在另一实例中,装置180、810和820可在通信介质812和842上使用通信信号814和844经由通信部件840进行通信。

客户端装置180可包括或采用根据所描述的实施方式促使执行不同的方法论的一个或多个客户端程序。在一个实施方式中,例如,客户端装置810可实现客户端应用程序190。

负载均衡器810可操作为在不同的客户端应用程序之间调解,诸如,可在客户端装置180以及不同的瓦片部件850-g上运行。负载均衡器810可从客户端装置180接收基于位置的请求130并且基于用于在分布式计算环境中的并行服务器中分布任务的任何已知的技术将基于位置的请求分布至多个瓦片部件850-g的一个瓦片部件150。

服务器装置820-f可包括或采用根据所描述的实施方式促使执行不同的方法论的一个或多个服务器程序。在一个实施方式中,例如,服务器装置820-f可实现多个瓦片部件850-g。多个瓦片部件850-g中的每一个可操作为接收基于位置信息的请求并且确定用于向回传输至请求客户端装置的响应瓦片组。

本文中包括的是一组表示用于执行公开结构的新颖方面的示例性方法论的流程图。为了简化说明,尽管例如以流程图或流程示图的方式在本文中示出的一个或多个方法论被示出和描述为一系列动作,应理解并认识到,该方法论不限制动作的顺序,根据此,因为一些动作可以不同顺序和/或与其他动作同时从本文中示出和描述的方法论中出现。例如,本领域技术人员应理解并认识到,方法论可替代地表示为一系列相互关联的状态或事件,诸如,在状态图中。此外,对于新颖的实现方式,可能并不需要方法论中示出的所有动作。

图9示出了逻辑流程900的一个实施方式。逻辑流程900可表示通过本文中描述的一个或多个实施方式执行的一些或所有操作。

在图9中示出的实施方式中,在框902中,逻辑流程900可从客户端应用程序190接收基于位置的请求130,该基于位置的请求130包括地理区域。例如,从移动装置上的客户端应用程序190接收的基于位置的请求130,该地理区域包含移动装置的当前位置225。在一些实施方式中,基于位置的请求130可指定缩放水平。

逻辑流程900可从客户端应用程序190接收第二基于位置的请求,基于第二位置的请求包括第二地理区域,基于第二位置的请求包括基于位置的请求130和标记为之前基于位置的请求的地理区域,第二地理区域与来自之前基于位置的请求的地理区域重叠。

在框904中,逻辑流程900可确定覆盖地理区域的多个瓦片170,多个瓦片170中的每个瓦片覆盖地理区域的一部分并且包括一组位置。

例如,多个瓦片170中的每一个可专用于位置类型的范畴。确定多个瓦片170可包括将所接收的基于位置的请求130映射为位置类型的范畴并且根据位置类型的映射范畴确定多个瓦片170。多个瓦片170可包括第一瓦片,第一瓦片覆盖第一地理区域,第一瓦片包括第一地理区域内的第一组位置,该第一组位置根据全部位置组内的所选择的第一组位置的相对重要性从全部位置组中选择。其中,多个瓦片170中的每一个专用于位置类型的范畴,第一瓦片可包括第一组位置,该第一组位置是根据专用于位置类型的范畴的全部位置组内的所选择的第一组位置的相对重要性而选择的位置类型的范畴的全部位置组中的第一组位置。

其中,基于位置的请求130指定缩放水平,确定多个瓦片170可包括将指定的缩放水平与多个瓦片170中的每一个相关联的缩放水平的范围进行匹配。

多个瓦片170可包括第一瓦片和第二瓦片,第一瓦片覆盖第一地理区域,第二瓦片覆盖不同于第一地理区域的第二地理区域,第一地理区域大于第二地理区域。在一些实施方式中,响应于确定第一地理区域包含较低密度的相关位置,第一地理区域可构造为大于第二地理区域。

逻辑流程900可进一步包括确定第二多个瓦片,该第二多个瓦片与覆盖不同的相邻地理区域或者以不同的缩放水平覆盖该地理区域的至少一部分的基于位置的请求130相关,指示客户端应用程序190请求第二多个瓦片,从客户端应用程序190接收对于第二多个瓦片的请求,并且将第二多个瓦片传输至客户端应用程序190。

在从客户端应用程序190接收到第二基于位置的请求的情况下,逻辑流程900可确定覆盖剩余区域的第二多个瓦片并且排除将用于覆盖来自之前基于位置的请求的地理区域的瓦片。

在框906中,逻辑流程900可将多个瓦片170传输至客户端应用程序190。例如,传输的多个瓦片170可用于在移动装置上显示为地图上的覆盖图,包括关于所接收的位置组的移动装置的当前位置225的显示。

在第二多个瓦片被确定的情况下,逻辑流程900可将第二多个瓦片传输至客户端应用程序190。

实施方式不限于这个实例。

图10示出了适用于实现如上所描述的不同实施方式的示例性计算架构1000的实施方式。在一个实施方式中,计算架构1000可包括或者被实现为电子装置的一部分。其中,电子装置的实例可包括参考图7和图8所描述的那些电子装置。实施方式不限于此。

如本申请中所使用的,术语“系统”和“部件”旨在指的是计算机相关的实体、任一硬件、硬件和软件的组合、软件、或者执行中的软件,这些实例通过示例性计算架构1000提供。例如,部件可以是但不限于在处理器上运行的过程、处理器、硬盘驱动器、光学和/或磁存储介质的)多个存储驱动器、目标、可执行的、执行路线、程序、和/或计算机。通过说明,在服务器上运行的应用以及服务器两者可以是部件。一个或多个不加可存在于执行过程和/或路线内,并且部件可位于一个计算机上和/或分布在两个或多个计算机之间。进一步地,部件可通过各种类型的通信介质彼此通信耦接以使操作协调。该协调可包括信息的单向或双向交换。例如,部件可以在通信介质上传达的信号的形式传达信息。该信息可被实现为分配给不同信号线的信号。在这种分配中,每个消息是一个信号。然而,可替换地,另一实施方式可采用数据消息。这种数据消息可跨越不同连接发送。示例性连接包括并行接口、串行接口和总线接口。

计算架构1000包括不同的共用计算元件,诸如,一个或多个处理器、多核处理器、协调处理器、存储单元、芯片组、控制器、外围设备、接口、振荡器、定时装置、视频卡、声卡、多媒体输入/输出(I/O)部件、电源等。然而,实施方式不限于通过计算架构1000的实现。

如图10中所示,计算架构1000包括处理单元1004、系统存储器1006和系统总线1008。处理单元1004可以是不同的商业可获得的处理器中的任一个,包括但不限于和处理器;应用、嵌入和安全处理器;和和处理器;IBM和单元处理器;Core(2)和处理器;以及相似处理器。双重微处理器、多核处理器和其他多个处理器结构也可体现为处理单元1004。

系统总线1008为包括但不限于系统存储器1006的系统部件提供到达处理单元1004的接口。系统总线1008可以是可进一步互连至存储器总线(有或者没有存储控制器)的任何几种类型的总线结构、外围总线、以及使用任何各种商业可获得的总线结构的本地总线。接口适配器可经由插槽结构连接至系统总线1008。插槽结构的实例可包括但不限于图形加速端口(AGP)、插件总线、(扩展的)工业标准结构((E)ISA)、微通道结构(MCA)、NuBus、外围部件互连(扩展的)(PCI(X))、PCI总线、个人计算机存储卡国际协会(PCMCIA)等。

计算架构1000可包括或实现不同制品。一种制品可包括计算机可读存储介质存储逻辑。计算机可读存储介质的实例可包括能够存储电子数据的任何有形介质,包括易失性存储器或非易失性存储器、可移动的或固定的存储器、可擦的或不可擦存储器、可写入的或可重新写入的存储器等。逻辑的实例可包括使用任何合适类型的代码实现的可执行的计算机程序指令,诸如,原始码、编译代码、翻译码、可执行码、静态代码、动态代码、面向对象代码、直观代码等。实施方式也可至少部分实现为包含在非易失性计算机可读介质中或者非易失性计算机可读介质上的指令,其可通过一个或多个处理器读取和执行以能够执行本文所描述的操作。

系统存储器1006可包括以一个或多个更高速度存储单元形式的各种类型的计算机可读存储介质,诸如,只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双倍数据速率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程只读存储器(PROM)、可擦除编程ROM(EPROM)、电可擦可编程序ROM(EEPROM)、闪速存储器、诸如铁电聚合物存储器的聚合物存储器、奥氏存储器、相位变化或铁电体存储器、硅氧化氮氧化硅(SONOS)存储器、磁卡或光卡、诸如独立磁盘冗余数组(RAID)驱动器的一系列装置、固体存储器装置(例如,USB存储器、固态驱动器(SSD)以及适用于存储信息的任何其他类型的存储介质。在图10中示出的实施方式中,系统存储器1006可包括非易失性存储器1010和/或易失性存储器1012。基本输入/输出系统(BIOS)可存储在非易失性存储器1010中。

计算机1002可包括以一个或多个更低速度存储单元形式的各种类型的计算机可读存储介质,包括内部(或外部)硬盘驱动器(HDD)1014、从可移动磁盘1018读取或者写至可移动磁盘1018的磁性软盘驱动器(FDD)1016、以及从可移动光盘1022(例如,CD-ROM或DVD)读取或写至可移动光盘1022的光盘驱动器1020。HDD 1014、FDD 1016和光盘驱动器1020可分别通过HDD接口1024、FDD接口1026和光驱接口1028连接至系统总线1008。用于外部驱动实现的HDD接口1024可包括至少一个或者两个通用串行总线(USB)和IEEE 1394接口技术。

驱动器和相关计算机可读介质提供数据的易失的和/或非易失存储器、数据结构、计算机可执行指令等。例如,多个程序模块可存储在驱动器和存储单元1010、1012中,包括操作系统1030、一个或多个应用程序1032、其他程序模块1034和程序数据1036。在一个实施方式中,一个或多个应用程序1032、其他程序模块1034和程序数据1036可包括例如搜索系统100的各种应用和/或部件。

用户可通过一个或多个有线/无线输入装置(例如,键盘1038和诸如鼠标1040的指示装置)将命令和信息输入到计算机1002。其他输入装置可包括麦克风、红外线(IR)远程控制、射频(RF)远程控制、游戏板、手写笔、读卡器、软件狗、指纹读取器、图形输入板、操纵杆、键盘、视网膜读取器、触摸屏(例如,电容性的、电阻性的等)、跟踪球、触控板、传感器、铁笔等。这些和其他输入装置经常通过耦接至系统总线1008的输入装置接口1042连接至处理单元1004,但是可通过诸如并行端口、IEEE1394串行端口、游戏端口、USB端口、IR接口等其他接口连接。

监控器1044或者其他类型的显示装置还经由诸如视频适配器1046的接口连接至系统总线1008。监控器1044可以是计算机1002的内部或外部。除了监控器1044之外,计算机通常包括其他外围输出装置,诸如,扬声器、打印机等。

计算机1002可使用逻辑连接经由有线的和/或无线通信在诸如远程计算机1048的一个或多个远程计算机的网络环境中操作。远程计算机1048可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、同等装置或其他公用网络节点,并且通常包括相对于计算机1002描述的许多或者所有元件,尽管为了简洁仅示出了存储器/存储装置1050。描述的逻辑连接包括连接至局域网(LAN)1052和/或较大网络,例如,广域网(WAN)1054的有线/无线连接。这种LAN和WAN连网环境是办公室和公司中的公共地方,并且便于全公司计算机网络,诸如内联网,所有内联网可连接至全球通信网络,例如,互联网。

当在LAN连网环境中使用时,计算机1002通过有线和/或无线通信网络接口或者适配器1056连接至LAN 1052。适配器1056可便于有线和/或无线通信至LAN 1052,适配器也可包括布置在其上用于与适配器1056的无线功能通信的无线接入点。

当在WAN连网环境中使用时,计算机1002可包括解调器1058,或者连接至WAN 1054上的通信服务器,或者具有用于在WAN 1054上建立通信的其他方式,诸如,通过互联网。可以是内部的或者外部的以及有线和/或无线装置的解调器1058经由输入装置接口1042连接至系统总线1008。在网络环境中,相对于计算机1002或者它的一部分描述的程序模块可存储在远程存储器/存储装置1050中。应当认识到,示出的网络连接是示例性的并且可以使用在计算机之间建立通信链路的其他方式。

计算机1002可操作为使用IEEE 802系列标准与有线和无线装置或实体通信,诸如,可操作地布置在无线通信中的无线装置(例如,IEEE 802.10空中调制技术)。这至少包括Wi-Fi(或者无线保真)、WiMax和BluetoothTM无线技术等。因此,通信可以是如同传统网络一样的预定结构或者简单地为至少两个装置之间的专门通信。Wi-Fi网络使用称为IEEE 802.10x(a、b、g、n等)的无线电技术提供安全的、可靠的、快速的无线连接。Wi-Fi网络可用于将计算机互相连接,将计算机连接至互联网,并且连接至有线网络(使用IEEE 802.3相关介质和功能)。

图11示出了适用于实现如上所述的各种实施方式的示例性通信架构1100的框图。通信架构1100包括各种共用通信元件,诸如,发送器、接收器、收发器、无线电、网络接口、基带处理器、天线、放大器、滤波器、电源等。然而,实施方式不限于通过通信架构1100的实现。

如图11中所示,通信架构1100包括一个或多个客户端1102和服务器1104。客户端1102可执行客户端装置910。服务器1104可执行服务器装置950。客户端1102和服务器1104操作地连接至可用于将本地信息存储至相应的客户端1102和服务器1104的一个或多个相应的客户端数据存储1108和服务器数据存储1110,诸如,小程序和/或相关的上下文信息。

客户端1102和服务器1104可使用通信框架1106在彼此之间传递信息。通信框架1106可执行任何众所周知的通信技术和协议。通信框架1106可实现为数据包交换网络(例如,诸如互联网的公共网络、诸如企业内联网的专用网等)、电路交换网络(例如,公共交换电话网)、或者数据包交换网络和电路交换网络(利用适合网关和转换器)的组合。

通信框架1106可实现被布置为接受、传递和连接至通信网络的各种网络接口。网络接口可被认为是输入输出接口的专有形式。网络接口可采用连接协议,包括但不限于直接连接、以太网(例如,厚的、薄的、双绞线10/100/1000Base T等)、令牌环网、无线网络接口、蜂窝网络接口、IEEE802.11a-x网络接口、IEEE 802.16网络接口、IEEE 802.20网络接口等。进一步地,多个网络接口可用于与各种通信网络类型接合。例如,多个网络接口可采用为考虑广播、多播和单播网络上的通信。处理要求应该规定更大量的速度和容量,分布式网络控制器结构可类似地采用为共享、负载平衡,并且以其他方式增加客户端1102和服务器1104需要的通信带宽。通信网络可以是有线和/或无线网络中的任一个和组合,该有线和/或无线网络包括但不限于直接互连、安全的用户连接、专用网(例如,企业内联网)、公共网络(例如,互联网)、个人局域网(PAN)、局域网(LAN)、城域网(MAN)、在互联网上操作为节点的任务(OMNI)、广域网(WAN)、无线网络、蜂窝网络、以及其他通信网络。

可使用表达“一个实施方式”或者“实施方式”以及它们的衍生物描述一些实施方式。这些术语指的是结合实施方式描述的特定特点、结构或者特征包括在至少一个实施方式中。说明书中的各个位置中的短语“在一个实施方式中”的出现不必都参考相同的实施方式。进一步地,使用表达“耦接”和“连接”以及它们的衍生物可描述一些实施方式。这些术语不必意指彼此的同义词。例如,可使用术语“连接”和/或“耦接”描述一些实施方式以表示两个或多个元件互相直接物理的或电接触。然而,术语“耦接”也可意指两个或多个元件互相不直接接触,但是依然互相共同操作或互相作用。

一般参考本文中使用的记法和命名法,本文中的详细说明可根据在计算机或计算机网络上执行的程序过程呈现。这些描述和表示是由本领域技术人员用于最有效地将其工作的本质传达给本领域的其他技术人员。

在此,程序通常设想为导致期望结果的操作的前后一致序列。这些操作需要物理数量的物理操纵。通常,尽管不是必需地,但是这些量采用能够存储、传递、组合、比较以及其他操作的电信号、磁信号或光信号的形式。主要是为了共同使用的原因,将这些信号称为位、值、元件、符号、字符、术语、数字等证明有时是方便的。然而,应当注意,所有这些术语以及相似术语与合适的物理量相关联,仅是适用于这些量的方便标签。

进一步地,执行的操作经常指代通常与由人工操作员执行的智力操作相关联的诸如添加或比较的术语。具有这样能力的人工操作员不是必需的,或者理想的,在大多数情况下,在本文中描述的任何操作中形成一个或多个实施方式的一部分。实际上,操作是机器操作。用于执行各种实施方式的操作的有用机器包括通用数字计算机或者类似装置。

各种实施方式还涉及用于执行这些操作的设备或系统。该设备可以专门构造而成以便达到所需目的,或者可包括由计算机中存储的计算机程序选择性激活或重新配置的通用计算机。本文中呈现的操作不固有地涉及特定计算机或者其他设备。可利用根据本文中的教导所编写的程序使用各种通用机器,或者可证明便于构造更多专门设备以执行所需要的方法步骤。各种这些机器所需要的结构将从给出的说明显现。

应该强调的是,本公开内容的摘要被提供为允许读者快速确定本技术公开内容的本质。提交的条件是其将不用于解释或者限制权利要求的范围或者含义。此外,在上述具体实施方式中,为了简化本公开内容的目的,可以看出,各种特征可以在单个实施方式中被组合到一起。本公开内容的该方法不应该被解释为反映所提出的实施方式要求比每个权利要求中明确引用的特征更多的意图。相反地,如以下权利要求反映的,发明的主题内容在少于单个公开的实施方式的所有特征中。因此,所附权利要求在此被结合到详细说明中,其中属于本身的每个权利要求作为分开的实施方式。在所附权利要求中,术语“包括(including)”和“其中(in which)”被分别用作相应术语“包含(comprising)”和“在其中(wherein)”的简明英语的等效物。此外,术语“第一”、“第二”、“第三”等仅被用作标注,并且不旨在它们的对象上强加数字要求。

以上描述的内容包括公开结构的实例。当然,不可能描述部件和/或方法论的每个可以想象的组合,但是本领域普通技术人员可认识到可能的更多组合和置换。因此,新颖结构旨在包括落在所附权利要求的精神和范围内的所有这些替换、修改和变化。

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