CN110709836B - 对网页上的位置变化的反应 - Google Patents
对网页上的位置变化的反应 Download PDFInfo
- Publication number
- CN110709836B CN110709836B CN201880035911.4A CN201880035911A CN110709836B CN 110709836 B CN110709836 B CN 110709836B CN 201880035911 A CN201880035911 A CN 201880035911A CN 110709836 B CN110709836 B CN 110709836B
- Authority
- CN
- China
- Prior art keywords
- client device
- location
- threshold
- search results
- display
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
- Navigation (AREA)
Abstract
本技术的各方面使得能够选择性地更新搜索结果和刷新整个网页,同时最小化在客户端设备和网络服务器之间发送的信息量。该方法包括确定检测到的客户端设备的位置的改变是否会更改搜索结果或网页的其他部分。分析当前和先前接收到的位置信息并将其与阈值进行比较,这指示位置相关信息是否会有变化。基于这种分析向客户端设备提供位置信号,该位置信号被用于确定是刷新接收到的搜索结果、刷新整个网页还是不刷新接收到的搜索结果或整个网页。
Description
相关申请的交叉引用
本申请是2017年11月7日提交的美国专利申请第15/805,277号的延续,其公开内容通过引用结合于此。
技术领域
本技术的各方面涉及确定查询结果或网页本身是否会由于客户端设备位置的改变而改变。
背景技术
为了向移动客户端设备的用户提供有意义的搜索结果和其他信息,需要识别该设备的位置—或者至少近似位置。该位置可以在客户端设备处确定,例如,使用全球定位***(Global Position System,GPS)来确定。该位置也可以在网络侧通过三角测量无线信号或其他技术来确定,例如,从客户端设备的IP地址确定。
然而,随着客户端设备的移动及其位置的改变,可能很难对客户端查询提供适合位置的响应。例如,在客户端设备确定其位置的情况下,该位置可以存储在cookie中。cookie可以被用于将来的搜索,但是在提交当前搜索查询时,当前位置信息不可用。因此,由于网络服务器(web server)不知道当前位置信息,所以当在客户端设备的网络浏览器处接收到位置敏感的搜索结果时,该搜索结果可能已经过时。
一种解决方案是在浏览器中重新加载网页,以用当前位置刷新结果。然而,这将显著增加(例如,两倍)等待时间。这还会增加在客户端设备和网络服务器两者上执行的处理量。并且对于客户端设备,这可能会对电池寿命产生不利影响。因此,在许多情况下,以这种方式自动刷新浏览器可能不是最有效的方法。
发明内容
该技术的各方面涉及确定查询结果或网页本身是否会由于客户端设备位置的改变而改变。在一种场景下,客户端设备的旧(在先)位置在客户端设备处的cookie中可用。这是渲染当前网页时使用的位置。当(例如,响应于新的查询)网页重新加载时,网络服务器将接收更新的位置信息。网络服务器可以基于更新的位置信息来测量客户端设备从先前位置移动的距离。取决于位置变化对搜索结果或网页的影响程度,可以刷新网页的相关部分或整体。
根据该技术的一个方面,提供了一种方法,该方法包括:由客户端设备检测客户端设备的物理位置;由客户端设备的一个或多个处理器接收信息查询;由一个或多个处理器根据信息查询生成搜索请求;以及由客户端设备的通信模块将搜索请求和检测到的客户端设备的位置发送到网络服务器。该方法还包括由通信模块接收对搜索请求的响应和位置信号。该响应包括基于检测到的客户端设备的位置的位置选择的搜索结果。位置信号指示检测到的位置是否在距客户端设备的先前检测到的位置的阈值距离内。该方法还包括由一个或多个处理器根据位置信号确定是刷新接收到的搜索结果、刷新整个网页,还是不刷新接收到的搜索结果或整个网页。
在一个示例中,该方法还包括在检测之前,由一个或多个处理器接收初始信息查询;由一个或多个处理器根据信息查询生成初始搜索请求;由客户端设备的通信模块向网络服务器发送初始搜索请求;以及由通信模块接收对初始搜索请求的响应和位置请求。位置请求可以指引客户端设备检测客户端设备的物理位置。对初始搜索请求的响应可以包括基于客户端设备的估计位置的初始搜索结果。
在另一示例中,响应于该确定,客户端设备从网络服务器请求刷新的搜索结果。并且在另一示例中,响应于该确定,客户端设备刷新整个网页以呈现在客户端设备的显示器上。
根据该技术的另一方面,提供了一种方法,该方法包括:由网络服务器的一个或多个处理设备从客户端设备接收搜索请求和位置信息。位置信息包括检测到的客户端设备的物理位置。该方法还包括由一个或多个处理设备根据阈值将接收到的检测到的客户端设备的物理位置与先前接收到的客户端设备的物理位置进行比较。响应于该比较,该方法生成指示接收到的检测到的物理位置和先前接收到的物理位置之间的距离是大于还是小于阈值的位置信号。根据接收到的位置信息响应于搜索请求生成搜索结果,并且所生成的搜索结果连同所生成的位置信号一起被发送到客户端设备以呈现给客户端设备的用户。
在一个示例中,阈值是预定值。在另一示例中,阈值根据一个或多个因素是可变的,这些因素包括搜索结果的密度、用户点击模式和接收到的刷新请求的量。
根据一个替代方案,该方法还包括从客户端设备接收对刷新生成的搜索结果的请求。这里,可以根据所生成的位置信号来提供对刷新生成的结果的请求。
在另一替代方案中,发送还包括发送位置请求。位置请求指引客户端设备检测客户端设备的物理位置。在又一替代方案中,先前接收到的客户端设备的物理位置被网络服务器存储在存储器中。
根据该技术的又一方面,提供了一种客户端设备,该客户端设备具有:用户接口模块,其包括被配置为接收用户输入的一个或多个用户输入设备;处理模块,其包括一个或多个处理器;存储器模块,其具有被配置为存储数据和指令以供处理模块执行的一个或多个存储器;以及通信模块,其包括被配置为与一个或多个远程设备双向通信的无线收发器。处理模块可操作地耦合到用户接口模块、存储器模块和通信模块。处理模块被配置为检测客户端设备的物理位置,经由用户接口模块接收信息查询,根据信息查询生成搜索请求,并且经由通信模块将搜索请求和检测到的客户端设备的位置发送到网络服务器。处理模块还被配置为经由通信模块接收对搜索请求的响应和位置信号。该响应包括基于检测到的客户端设备的位置的位置选择的搜索结果。位置信号指示检测到的位置是否在距客户端设备的先前检测到的位置的阈值距离内。处理模块还被配置为根据位置信号确定是刷新接收到的搜索结果、刷新整个网页,还是不刷新接收到的搜索结果或整个网页。
在一种场景下,处理模块还被配置为:在检测之前,经由用户接口模块接收初始信息查询;根据信息查询生成初始搜索请求;经由通信模块向网络服务器发送初始搜索请求;并且经由通信模块接收对初始搜索请求的响应和位置请求。
在一个示例中,位置请求指引客户端设备检测客户端设备的物理位置。在另一示例中,响应于该确定,客户端设备从网络服务器请求刷新的搜索结果,或者刷新整个网页以呈现在客户端设备的显示器上。
以及根据该技术的又一方面,提供了一种服务器***,该服务器***包括:处理模块,其包括一个或多个处理器;存储器模块,其具有被配置为存储数据和指令以供处理模块执行的一个或多个存储器;以及通信模块,其包括被配置为与包括一个或多个无线站和一个或多个客户端设备的一个或多个远程设备双向通信的无线收发器。处理模块可操作地耦合到存储器模块和通信模块,并且被配置为经由通信模块从客户端设备接收搜索请求和位置信息。位置信息包括检测到的客户端设备的物理位置。处理模块还被配置为根据阈值将接收到的检测到的客户端设备的物理位置与先前接收到的客户端设备的物理位置进行比较,并且响应于该比较,生成指示接收到的检测到的物理位置和先前接收到的物理位置之间的距离是大于还是小于阈值的位置信号。处理模块还被配置为根据接收到的位置信息响应于搜索请求生成搜索结果,并且经由通信模块将所生成的搜索结果连同所生成的位置信号一起发送给客户端设备,以呈现给客户端设备的用户。
在一种场景下,阈值根据一个或多个因素是可变的,这些因素包括搜索结果的密度、用户点击模式和接收到的刷新请求的量。在另一种场景下,处理模块还被配置为经由通信模块从客户端设备接收对刷新生成的搜索结果的请求,其中对刷新生成的结果的请求是根据生成的位置信号来提供的。并且在又一种场景下,处理模块被配置为使得所生成的搜索结果的发送包括发送指引客户端设备检测客户端设备的物理位置的位置请求。
附图说明
伴随本说明书的是一组示出本技术的各种特征和方面的附图。在附图中,相同的附图标号指代相同的元件。下面提供了对每张附图的简要讨论。
图1A示出了传统的网络浏览器搜索过程。
图1B示出了根据本公开各方面的示例位置相关的网络浏览器搜索过程。
图2A是根据本公开的各方面的被配置为实施位置相关的搜索过程的示例客户端通信设备。
图2B是根据本公开的各方面的被配置为实施位置相关的搜索过程的示例网络服务器。
图3示出了根据本公开各方面的示例网络。
图4示出了根据本公开各方面的过程的特征。
图5示出了根据本公开各方面的过程的特征。
以下描述基于权利要求的实施例,并且不应该被视为针对本文未明确描述的替代实施例来限制权利要求。
具体实施方式
概述
本文讨论的方法允许***在确定客户端设备的位置已经改变时选择性地更新网页的一个或多个部分和搜索结果。
首先,图1A所示的传统方法。这里,当客户端设备的网络浏览器基于用户输入生成搜索请求或其他查询时,该查询被发送到网络服务器。网络服务器估计客户端设备的位置,例如,经由IP地址反向地理定位,或者基于由客户端设备先前确定的位置。响应于该估计位置,网络服务器确定可能的搜索结果,并选择返回给客户端设备的一个或多个结果。一旦接收到结果,结果就被呈现给客户端设备的用户。每次生成搜索查询时,都可以重复该过程。
如上所述,每次确定新位置时,都可以在客户端设备上重新加载网页。但是,这增加了等待时间,并对处理器和电池资源产生了不利影响,另外还会增加网络流量,从而影响其他客户端设备和整个网络。本文讨论的选择性更新方法避免了这样的问题,因为只有当位置被确定已经改变了至少阈值量时,才需要重新加载网页的一个或多个部分和搜索结果。选择性更新方法仍然保持了向客户端设备的用户提供位置相关的信息的能力。
这方面的一个示例在图1B中示出,其示出了本技术的各个方面。这里,客户端设备可以基于用户输入生成初始搜索请求。此时,客户端设备可能没有任何位置信息,或者这种信息可能过时且不可靠。例如,最后已知的位置可能在10分钟前、一小时前、一天前等已经确定。无论如何,查询都会发送到网络服务器。一旦接收到查询,网络服务器估计客户端设备的初始位置,并基于该估计的初始位置生成对查询的响应。
当响应被传送到客户端设备时,位置请求被附加或可能被单独传送。除了向用户呈现结果之外,客户端设备还对位置请求起作用。如下文更详细讨论的,位置信息可以由客户端设备存储为cookie。然后,当生成新的搜索请求时,cookie的位置信息被包括作为新搜索请求的一部分。
当网络服务器接收到新的请求时,它能够解析接收到的位置信息,并使用其来制定对请求的响应。注意,如上所述,该位置信息可能过时,并且不反映客户端设备的当前位置。然而,基于这样的位置信息的响应连同另一位置请求被提供给客户端设备。客户端设备对该位置请求起作用,并更新或替换cookie以包括最新信息。
此时,如图1B所示,生成另外(further)的搜索请求。cookie的位置信息被包括作为另外的搜索请求的一部分。这里,网络服务器能够评估位置信息是否有任何变化。如果是,分析变化量,并根据变化量确定是改变结果还是部分或全部刷新网页。还可以在客户端设备或网络服务器处分析位置差异,以确定结果的改变是否被保证。
示例布置
图2A示出了可以与本文公开的技术一起使用的示例客户端设备200。如图所示,设备200包括具有一个或多个计算机处理器(诸如中央处理单元(central processing unit,CPU)204和/或图形处理器206)处理模块202,以及被配置为存储指令210和数据212的存储器模块208。处理器可以并行操作,也可以不并行操作,并且可以包括专用集成电路(Application Specific Integrated Circuit,ASIC)、控制器和其他类型的硬件电路***。处理器被配置为通过用户接口模块214从用户接收信息,并且在具有显示界面的显示模块216的显示设备上向用户呈现信息。
用户接口模块214可以经由用户输入从用户接收命令,并转换它们以提交给给定处理器。用户接口模块可以链接到网络浏览器(未示出)。用户输入可以包括触摸屏、键盘、鼠标、触笔、麦克风或其他类型的输入设备中的一个或多个。显示模块216可以包括用于驱动显示设备向用户呈现图形和其他信息的适当电路***。例如,图形信息可以由(多个)图形处理器206生成,而CPU 204管理客户端设备200的总体操作。图形信息可以在显示模块216上显示对用户查询的响应。例如,处理模块可以使用存储在存储器模块208中的指令和数据运行浏览器应用或其他服务,并且经由显示模块216向用户呈现与浏览器应用或其他服务相关联的信息。存储器模块可以包括用于浏览器信息、位置信息等的数据库或其他存储装置。
存储器模块208可以被实施为一个或多个计算机可读介质、一个或多个易失性存储器单元或一个或多个非易失性存储器单元中的一个或多个。存储器模块208可以包括例如闪速存储器和/或非易失性随机访问存储器(Non-Volatile Random Access Memory,NVRAM),并且可以体现为硬盘驱动器或存储器卡。可替代地,存储器模块208也可以包括DVD、CD-ROM、可写和只读存储器。在一个实施方式中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含指令,诸如指令210,当由一个或多个处理器执行时,执行一种或多种方法,诸如本文描述的方法。这些指令还可以实例化网络浏览器。信息载体是计算机或机器可读介质,诸如存储器模块208。尽管图2A在功能上示出了位于相同的整体块内的设备200的(多个)处理器、存储器模块和其他元件,但是这样的组件可以被存储在相同的物理外壳内,也可以不存储在相同的物理外壳内。例如,一些或所有指令和数据可以被存储在信息载体上,该信息载体是可移动存储介质(例如,光驱、高密度磁带驱动器或通用串行总线(Universal Serial Bus,USB)驱动器),而其他指令和数据存储在只读计算机芯片内。
数据212可以由处理器根据指令210来检索、存储或修改。例如,尽管所要求保护的主题不受任何特定数据结构的限制,但是数据可以作为具有多个不同字段和记录的表、XML文档或平面文件存储在计算设备寄存器、关系数据库中。数据也可以以任何计算设备可读格式格式化。
指令210可以是由(多个)处理器直接执行(诸如机器代码)或间接执行(诸如脚本)的任何指令集。例如,指令可以作为计算设备代码存储在计算设备可读介质上。在这点上,术语“指令”和“程序”在本文可以互换使用。指令可以以目标代码格式存储,以供(多个)处理器直接处理,或者以任何其他计算设备语言(包括按需解释或预先编译的独立源代码模块的脚本或集合)存储。指令的功能、方法和例程将在下面更详细地解释。
也如图2A所示,客户端设备200包括用于与包括网络服务器的其他设备和***通信的通信模块218。通信模块218包括无线收发器;可替代地,该模块可以包括有线收发器。客户端设备200可以使用各种配置和协议经由通信模块218与其他远程设备通信,其中该协议包括短程通信协议,诸如近场通信、蓝牙TM、蓝牙TM低能量(Low Energy,LE)或其他自组织(ad-hoc)网络、互联网、内部网、虚拟专用网、广域网、局域网、使用一个或多个公司专有的通信协议的专用网、以太网、WiFi和超文本传输协议(Hyper Text Transfer Protocol,HTTP)以及上述的组合。
另外,所示的客户端设备200包括一个或多个位置和方向传感器220。位置和方向传感器220被配置为确定客户端计算设备100的位置和方向。例如,这些组件可以包括用于确定设备纬度、经度和/或高度的GPS接收器,以及加速度计、陀螺仪或另一方向/速度检测设备。客户端设备200还可以包括用于捕捉静止图像和记录视频流的一个或多个相机222、(多个)扬声器224和电源模块226,以及向用户提供触觉反馈或其他信息的致动器(未示出)。
图2B示出了可以与本文公开的技术一起使用的示例网络服务器250。如图所示,网络服务器250包括类似于以上针对移动客户端设备200描述的各种组件。例如,网络服务器包括处理模块252,其具有一个或多个计算机处理器,诸如中央处理单元254和/或图形处理器256,以及被配置为存储指令260和数据262的存储器模块258。处理器可以并行操作,也可以不并行操作,并且可以包括ASIC、控制器和其他类型的硬件电路***。
如同存储器模块208一样,存储器模块258可以被实施为一个或多个计算机可读介质、一个或多个易失性存储单元或一个或多个非易失性存储单元中的一个或多个。存储器模块208可以包括例如闪速存储器和/或NVRAM,并且可以体现为硬盘驱动器或存储器卡。可替代地,存储器模块208也可以包括DVD、CD-ROM、高密度磁带驱动器和其他类型的可写或只读存储器。在一个实施方式中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含指令,诸如指令260,当由一个或多个处理器执行时,执行一种或多种方法,诸如本文描述的方法。信息载体是计算机或机器可读介质,诸如存储器模块208。尽管图2B在功能上示出了位于相同的整体块内的网络服务器250的(多个)处理器、存储器模块和其他元件,但是这样的组件可以被存储在相同的物理外壳内,也可以不存储在相同的物理外壳内。例如,一些或所有指令和数据可以被存储在信息载体上,该信息载体是可移动存储介质(例如,光驱、高密度磁带驱动器或USB驱动器),而其他指令和数据存储在只读计算机芯片内。
存储器模块258的数据262可以由处理器根据指令260来检索、存储或修改。例如,尽管所要求保护的主题不受任何特定数据结构的限制,但是数据可以作为具有多个不同字段和记录的表、XML文档或平面文件存储在计算设备寄存器、关系数据库中。数据也可以以任何计算设备可读格式格式化。如同指令210一样,指令260可以是由(多个)处理器直接(诸如机器代码)或间接(诸如脚本)执行的任何指令集,并且指令210的上述讨论也适用于指令260。
例如,处理模块252的处理器可以被布置在分布式架构中。在分布式架构中,网络服务器250可以包括例如在云计算布置中的多个服务器单元。无论是在包含性还是分布式架构中,处理器都可操作地耦合到数据库264。数据库264可以包括用于提供对搜索查询的结果的信息,诸如图像、关于感兴趣的地方的信息、广告内容等。这样的信息可以被存储在多个离散的数据库中。数据库可以分布在例如云计算架构的多个存储器模块或其他存储设备上。
也如图2B所示,网络服务器250包括通信模块266,用于与其他设备和***通信,包括与客户端设备和网络中的其他元件通信。通信模块266包括无线收发器。除了无线收发器之外或代替无线收发器,通信模块266还可以包括有线收发器。网络服务器250可以使用各种配置和协议经由通信模块270与其他远程设备通信,其中该协议包括短程通信协议,诸如近场通信、蓝牙TM、蓝牙TM低能量(Low Energy,LE)或其他自组织网络、互联网、内部网、虚拟专用网、广域网、局域网、使用一个或多个公司专有的通信协议的专用网、以太网、WiFi和HTTP以及上述的组合。另外,所示的网络服务器250包括电源模块272。其他***元件(包括图2A所示的计算机组件)也可以包括在网络服务器250内。
图3示出了一种在其中不同的客户端设备300(例如,3001、3002和3003)可以经由通信***310从服务器320(诸如网络服务器)请求内容或其他信息的示例布置。客户端设备300可以包括以上针对客户端设备200讨论的一些或所有组件。客户端设备可以包括膝上型电脑(3001)、平板电脑(3002)、蜂窝电话或个人数字助理(Personal Digital Assistant,PDA)(3003)等。然而,也可以使用其他客户端设备,包括可穿戴电子设备,诸如智能手表和头戴式显示器。任何这样的客户端设备都可以传送请求,如图1B所示,并从本文公开的网络接收目标结果。
仅作为示例,请求可以被解析并路由到网络上的一个或多个服务器。虽然示出了一个服务器320,但是本文提供的服务的功能可以由一个或多个服务器或诸如云计算网络的其他计算机***来执行。请求、位置信息和对应的响应可以经由总线330传递。可以由服务使用一个或多个数据库340来提供对客户端设备查询的响应。
示例方法和用例
如上所述,该技术的特征可以在各种用例中实施。示例用例将在下面讨论。
在一个用例中,用户可以经由客户端设备上的网络浏览器请求信息。例如,信息可以是关于感兴趣的地点的信息,诸如餐馆、咖啡店、汽车经销店、博物馆等。其他用例可能涉及在线购物或其他订单。用户还可以请求关于公共汽车时刻表、房屋租赁、旅游景点、菜单等的信息。还有其他用例可能涉及在线购物或其他订单。另外的示例可以包括地图或方向查询。尽管如此,该技术是查询不可知的(query-agnostic)。
无论查询的类型如何,客户端设备的浏览器都被配置为经由客户端设备的通信模块向网络传送查询。结合图4的流程图400示出了一个示例场景。这里,在框402中,经由用户接口模块从用户输入接收查询。在框404处,客户端设备的一个或多个处理器根据接收到的查询经由网络浏览器生成初始搜索请求。此时,按照框406,初始搜索查询经由通信模块被发送到网络服务器,诸如图2B的网络服务器250。
按照框408,通信模块接收对初始搜索查询的响应。该响应可以包括搜索结果、图像和可以经由客户端设备的显示模块和显示界面呈现在网页上的其他信息。如上所述,网络服务器可以估计客户端设备的位置,以便提供位置相关的搜索结果。接收到的响应还包括来自网络服务器的位置请求。处理模块可以结合位置和方向传感器模块使用应用程序接口(application program interface,API),例如,地理定位JavaScript API,以便获得客户端设备的当前位置,如框410所示。当前位置可以被存储在客户端设备的存储器中,例如,作为与cookie相关联的信息。
接下来,在框412中,经由用户接口模块从用户输入接收新的查询。在框414处,客户端设备的一个或多个处理器根据接收到的查询经由网络浏览器生成新的搜索请求。此时,按照框416,新的搜索查询连同所获得的客户端设备的位置一起被发送到网络服务器。
类似于上述过程,按照框418,通信模块接收对新的搜索请求的响应。这里,已经基于所获得的位置而准备了新的响应。该新的接收到的响应还包括来自网络服务器的位置请求。响应于新的位置请求,获得客户端设备的当前位置,如框420所示。取决于客户端设备是否已经被移动,当前位置可以与先前获得的位置相同或不同。该新位置可以被存储在客户端设备的存储器中,例如,作为与cookie相关联的信息。在一个示例中,新位置可以替换先前存储的位置。
然后在框422处,经由用户接口模块从用户输入接收附加的查询。在框424处,客户端设备的一个或多个处理器根据接收到的查询经由网络浏览器生成附加的搜索请求。此时,按照框426,新的搜索查询连同客户端设备的当前位置一起被发送到网络服务器。然后在框428处,通信模块接收对附加的搜索查询的响应。还可以包括来自网络服务器的位置信号。这里,已经基于最新获得的位置而准备了新的响应。如下文将进一步讨论的,基于从网络服务器接收到的信息(包括位置信号),***可以确定是否更新搜索结果或网页的其他部分,或者整个重新加载网页,如框430所示。
在一个示例中,位置信号指示在先检测到的位置和提供给网络服务器的最新近(most recent)位置之间的差异很小,并且落在给定阈值内。在这种情况下,客户端设备不请求刷新搜索结果,也不刷新网页。这里,如果存在作为所显示网页的一部分呈现给用户的地图,则可以在此时示出或更新地图上客户端设备的当前位置。
相反,当位置信号指示差异很大并且落在给定阈值之外时,结果被刷新。这可以通过向网络服务器传送另外的查询来完成。刷新可能只涉及刷新搜索结果或整个网页。例如,当确定只有本地结果由于位置的改变而受到影响时,刷新可以限于搜索结果。并且当确定网络结果整体将改变时,全部网页将被重新加载。根据一个示例,如果给定城市有一个网页,则如果客户端设备仍然位于该城市,则该网页不会被重新加载。如果客户端设备的当前位置结果是在不同的地方,则网页将被重新加载。基于此,客户端设备经由客户端设备的显示模块向用户呈现选择的搜索结果和其他信息。
这种方法使得传送到网络服务器的请求量以及客户端设备和网络服务器两者的负担最小化。
转向图5,该图示出了网络服务器接收并处理搜索请求的示例过程500。如框502所示,从客户端设备接收初始搜索请求。在框504处,执行对初始搜索请求的初始位置估计。这可以由网络服务器本身或与网络服务器相关联的位置服务来完成。确定初始位置估计可能涉及根据从其接收初始搜索请求的IP地址来识别位置。然后在框506处,网络服务器基于初始位置估计生成搜索结果的集合。在框508处,网络服务器将位置请求附加到搜索结果。位置请求和搜索结果被发送回客户端设备。可替代地,位置请求可以与搜索结果分开传送到客户端设备。
随后,在框510处,网络服务器从客户端设备接收新的搜索请求。这里,因为位置请求是先前发送的,所以新的搜索请求伴随有客户端设备的位置信息。该位置信息可能是当前的,也可能不是当前的,这取决于自获得位置信息以来客户端设备是否已经移动。
在框512处,网络服务器解析搜索请求和位置信息。位置信息被存储在例如图2B的数据库264中,或者一些其他类型的存储器中。在框514处,网络服务器基于接收到的位置信息生成搜索结果的集合。在框516处,新的位置请求被附加到这些搜索结果,这些搜索结果被返回给客户端设备。
在稍后的某个时间点,在框518处,网络服务器从客户端设备接收附加的搜索请求。这里,因为位置请求先前在框516处被发送,所以附加的搜索请求伴随有客户端设备的位置信息。如同框510,该位置信息可能是当前的,也可能不是当前的,这取决于自获得位置信息以来客户端设备是否已经移动。
然后在框520处,网络服务器将最新近接收到的位置信息与先前接收到的位置信息进行比较。如上参考图4所述,评估在先位置信息和当前位置信息之间的差异(delta),以查看其是否小于或大于阈值。当差异在阈值内时,则确定位置变化足够小,不会影响位置相关的搜索结果或客户端设备网页上呈现的其他信息。相反,当差异落在阈值之外时,位置变化可能会对该信息产生一些影响。基于该比较的结果,由网络浏览器生成位置信号。位置信号可以是简单的布尔(Boolean)标识符或其他信息。
阈值可以预先确定并设置为特定半径,例如,1公里、2公里或更多或更少。阈值也可以取决于不同的因素而变化。例如,结果的密度会影响阈值。在一个示例中,在感兴趣的区域(诸如城市附近)内可能有5个咖啡屋。在这种情况下,阈值可以减少到几百米(或更多或更少)。或者整个城市可能只有一家五金店或家具店。这里,阈值可以增加到10公里(或更多或更少)。另一个因素可能是用户点击模式,包括点击结果的频率或点击多少不同的结果。又一个因素可能是过程触发对刷新结果的请求的频率。***可以响应于这些因素的任何组合来增加或减少阈值。
在框522处,基于从客户端设备接收到的最新近位置信息生成搜索结果。在框524处,位置信号被附加到搜索结果。还可以包括新的位置请求。然后在框526处,该信息被返回给客户端设备。
网络服务器还可以确定是应该重新加载搜索结果还是整个网页。这可以潜在地进一步减少网络服务器和客户端设备之间发送的数据流量。在这种情形下,不需要向客户端设备传送位置标识符。例如,当在先检测到的位置和提供给网络服务器的最新近位置之间的差异很小并且落在给定阈值内时,不会启动对搜索结果或网页的刷新。当网络服务器的分析指示差异很大并且落在给定阈值之外时,网络服务器可以启动对结果的刷新。并且当确定网络结果整体将改变时,网络服务器可以启动对全部网页的重新加载。
除非明确说明,否则在附图中描绘和本文描述的逻辑和过程流程不限于特定的次序或顺序。另外,可以提供其他步骤,或者可以从所描述的流程中删除步骤,并且可以向所描述的***添加或从所描述的***中移除其他组件。
尽管已经参考特定实施例描述了本文的技术,但是应该理解,这些实施例仅仅是本技术的原理和应用的说明。因此,应当理解,在不脱离由所附权利要求限定的本技术的精神和范围的情况下,可以对说明性实施例进行多种修改,并且可以设计其他布置。
Claims (17)
1.一种用于确定是否刷新网页或搜索结果中至少一种的方法,包括:
由客户端设备检测所述客户端设备的物理位置;
由所述客户端设备的一个或多个处理器接收信息查询;
由所述一个或多个处理器根据所述信息查询生成搜索请求;
由所述客户端设备的通信模块将所述搜索请求和检测到的所述客户端设备的位置发送到网络服务器;
由所述通信模块接收对所述搜索请求的响应和位置信号,所述响应包括基于检测到的所述客户端设备的位置的位置选择的搜索结果,所述位置信号指示检测到的位置是否在距所述客户端设备的先前检测到的位置的第一阈值距离内;以及
由所述一个或多个处理器根据所述位置信号,基于检测到的位置和客户端设备的先前检测到的位置之间的差异是否满足所述第一阈值距离,来确定是否刷新所述客户端设备的显示的一部分,包括:
当检测到的位置和客户端设备的先前检测到的位置之间的第一差异小于第一阈值距离时,确定不刷新接收到的搜索结果或整个网页的显示,其中整个网页的显示包括搜索结果的显示;和
当检测到的位置和客户端设备的先前检测到的位置之间的第二差异大于第一阈值距离时,确定是刷新显示的搜索结果还是整个网页的显示,其中当第二差异大于第二阈值距离时,客户端设备刷新整个网页的显示,第二阈值距离大于第一阈值距离。
2.根据权利要求1所述的方法,还包括在所述检测之前:
由所述一个或多个处理器接收初始信息查询;
由所述一个或多个处理器根据所述信息查询生成初始搜索请求;
由所述客户端设备的通信模块将所述初始搜索请求发送到所述网络服务器;以及
由所述通信模块接收对所述初始搜索请求的响应和位置请求。
3.根据权利要求2所述的方法,其中,所述位置请求指引所述客户端设备检测所述客户端设备的物理位置。
4.根据权利要求2或3所述的方法,其中,对所述初始搜索请求的响应包括基于所述客户端设备的估计位置的初始搜索结果。
5.根据权利要求1所述的方法,其中,响应于所述确定,所述客户端设备从所述网络服务器请求刷新的搜索结果。
6.根据权利要求1所述的方法,其中,响应于所述确定,所述客户端设备刷新所述整个网页以呈现在所述客户端设备的显示器上。
7.一种用于发送搜索结果的方法,包括:
由网络服务器的一个或多个处理设备从客户端设备接收搜索请求和位置信息,所述位置信息包括检测到的所述客户端设备的物理位置;
由所述一个或多个处理设备根据阈值将接收到的检测到的所述客户端设备的物理位置与先前接收到的所述客户端设备的物理位置进行比较;
响应于所述比较,生成指示所述接收到的检测到的物理位置和所述先前接收到的物理位置之间的距离是大于还是小于所述阈值的位置信号;
根据接收到的位置信息,响应于所述搜索请求生成搜索结果;
将所生成的搜索结果连同所生成的位置信号一起发送到所述客户端设备用于呈现给所述客户端设备的用户;以及
从所述客户端设备接收刷新所述客户端设备的显示的一部分的请求,其中:
当所述距离是接收到的检测到的物理位置和先前接收到的客户端设备的物理位置之间的第一差异,所述第一差异大于所述阈值时,所述请求是要刷新所生成的搜索结果的显示;和
当所述距离是接收到的检测到的物理位置和先前接收到的客户端设备的物理位置之间的第二差异,第二差异大于所述阈值时,所述请求是要刷新整个网页的显示,其中,整个网页的显示包括搜索结果的显示,第二差异大于第二阈值,第二阈值大于所述阈值。
8.根据权利要求7所述的方法,其中,所述阈值是预定值。
9.根据权利要求7所述的方法,其中,所述阈值根据一个或多个因素是可变的,所述一个或多个因素包括搜索结果的密度、用户点击模式和接收到的刷新请求的量。
10.根据权利要求7所述的方法,其中,所述客户端设备的先前接收到的物理位置由所述网络服务器存储在存储器中。
11.一种用于确定是否刷新网页或搜索结果中至少一种的客户端设备,包括:
用户接口模块,其包括被配置为接收用户输入的一个或多个用户输入设备;
处理模块,其包括一个或多个处理器;
存储器模块,其具有一个或多个存储器,所述一个或多个存储器被配置为存储数据和指令以供所述处理模块执行;以及
通信模块,其包括被配置用于与一个或多个远程设备双向通信的无线收发器;
其中,所述处理模块可操作地耦合到所述用户接口模块、存储器模块和所述通信模块,并且所述处理模块被配置为:
检测所述客户端设备的物理位置;
经由所述用户接口模块接收信息查询;
根据所述信息查询生成搜索请求;
经由所述通信模块将所述搜索请求和检测到的所述客户端设备的位置发送到网络服务器;
经由所述通信模块接收对所述搜索请求的响应和位置信号,所述响应包括基于检测到的所述客户端设备的位置的位置选择的搜索结果,所述位置信号指示检测到的位置是否在距所述客户端设备的先前检测到的位置的第一阈值距离内;并且
根据所述位置信号,基于检测到的位置和客户端设备的先前检测到的位置之间的差异是否满足所述第一阈值距离,来确定是否刷新所述客户端设备的显示的一部分,包括:
当检测到的位置和客户端设备的先前检测到的位置之间的第一差异小于第一阈值距离时,确定不刷新接收到的搜索结果或整个网页的显示,其中整个网页的显示包括搜索结果的显示;和
当检测到的位置和客户端设备的先前检测到的位置之间的第二差异大于第一阈值距离时,确定是刷新显示的搜索结果还是整个网页的显示,其中当第二差异大于第二阈值距离时,客户端设备刷新整个网页的显示,第二阈值距离大于第一阈值距离。
12.根据权利要求11所述的客户端设备,其中,所述处理模块还被配置为在所述检测之前:
经由所述用户接口模块接收初始信息查询;
根据所述信息查询生成初始搜索请求;
经由所述通信模块将所述初始搜索请求发送到所述网络服务器;并且
经由所述通信模块接收对所述初始搜索请求的响应和位置请求。
13.根据权利要求12所述的客户端设备,其中,所述位置请求指引所述客户端设备检测所述客户端设备的物理位置。
14.根据权利要求12或13所述的客户端设备,其中,响应于所述确定,所述客户端设备从所述网络服务器请求刷新的搜索结果,或者刷新所述整个网页以呈现在所述客户端设备的显示器上。
15.一种用于发送搜索结果的服务器***,包括:
处理模块,其包括一个或多个处理器;
存储器模块,其具有一个或多个存储器,所述一个或多个存储器被配置为存储数据和指令以供所述处理模块执行;以及
通信模块,其包括被配置用于与包括一个或多个无线站和一个或多个客户端设备的一个或多个远程设备双向通信的无线收发器;
其中,所述处理模块可操作地耦合到所述存储器模块和所述通信模块,并且被配置为:
经由所述通信模块从客户端设备接收搜索请求和位置信息,所述位置信息包括检测到的所述客户端设备的物理位置;
根据阈值将接收到的检测到的所述客户端设备的物理位置与先前接收到的所述客户端设备的物理位置进行比较;
响应于所述比较,生成指示接收到的检测到的物理位置和先前接收到的物理位置之间的距离是大于还是小于所述阈值的位置信号;
根据接收到的位置信息,响应于所述搜索请求生成搜索结果;并且
经由所述通信模块将所生成的搜索结果连同所生成的位置信号一起发送到所述客户端设备用于呈现给所述客户端设备的用户;以及
经由所述通信模块从所述客户端设备接收刷新所述客户端设备的显示的一部分的请求,其中:
当所述距离是接收到的检测到的物理位置和先前接收到的客户端设备的物理位置之间的第一差异,第一差异大于所述阈值时,所述请求是要刷新所生成的搜索结果的显示;和
当所述距离是接收到的检测到的物理位置和先前接收到的客户端设备的物理位置之间的第二差异,第二差异大于所述阈值时,所述请求是要刷新整个网页的显示,其中,整个网页的显示包括搜索结果的显示,第二差异大于第二阈值,第二阈值大于所述阈值。
16.根据权利要求15所述的服务器***,其中,所述阈值根据一个或多个因素是可变的,所述一个或多个因素包括搜索结果的密度、用户点击模式和接收到的刷新请求的量。
17.一种计算机程序,当由处理器执行时,所述计算机程序被安排以执行权利要求1至10中任一项的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/805,277 | 2017-11-07 | ||
US15/805,277 US11275807B2 (en) | 2017-11-07 | 2017-11-07 | React to location changes on web pages |
PCT/US2018/045767 WO2019094075A1 (en) | 2017-11-07 | 2018-08-08 | React to location changes on web pages |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110709836A CN110709836A (zh) | 2020-01-17 |
CN110709836B true CN110709836B (zh) | 2023-08-15 |
Family
ID=63364225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880035911.4A Active CN110709836B (zh) | 2017-11-07 | 2018-08-08 | 对网页上的位置变化的反应 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11275807B2 (zh) |
EP (1) | EP3612951A1 (zh) |
JP (1) | JP6963635B2 (zh) |
KR (1) | KR102357897B1 (zh) |
CN (1) | CN110709836B (zh) |
WO (1) | WO2019094075A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210400117A1 (en) * | 2020-06-19 | 2021-12-23 | Shopify Inc. | Dynamic generation of location-specific user interfaces |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1378674A (zh) * | 1999-05-28 | 2002-11-06 | 奥弗图尔服务公司 | 影响计算机网络搜索引擎产生的搜索结果清单中位置的***和方法 |
CN102575940A (zh) * | 2009-03-30 | 2012-07-11 | 哈曼专业股份有限公司 | 基于位置应用的预测搜索 |
CN102713906A (zh) * | 2009-12-04 | 2012-10-03 | 谷歌公司 | 基于位置的搜索 |
CN103246679A (zh) * | 2012-02-13 | 2013-08-14 | 刘龙 | 一种实现基于位置的搜索的***和方法 |
CN104219250A (zh) * | 2014-09-26 | 2014-12-17 | 北京国双科技有限公司 | 网页数据获取方法和装置及网页数据发送方法和装置 |
CN104346461A (zh) * | 2014-11-07 | 2015-02-11 | 北京奇虎科技有限公司 | 搜索网页元素的方法、装置和浏览器客户端 |
CN104361130A (zh) * | 2014-12-05 | 2015-02-18 | 程治永 | 一种在网页中搜索局域网或指定网段内设备的方法 |
CN105009114A (zh) * | 2012-12-05 | 2015-10-28 | 谷歌公司 | 预测性地呈现搜索能力 |
US20160047671A1 (en) * | 2006-03-31 | 2016-02-18 | Facebook, Inc. | Identifying a result responsive to a current location of a client device |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7565157B1 (en) | 2005-11-18 | 2009-07-21 | A9.Com, Inc. | System and method for providing search results based on location |
US20080162475A1 (en) * | 2007-01-03 | 2008-07-03 | Meggs Anthony F | Click-fraud detection method |
US8005822B2 (en) | 2007-01-17 | 2011-08-23 | Google Inc. | Location in search queries |
US8768932B1 (en) * | 2007-05-14 | 2014-07-01 | Google Inc. | Method and apparatus for ranking search results |
US9014713B1 (en) | 2007-08-03 | 2015-04-21 | At&T Mobility Ii Llc | Method for providing a personalized shopping catalog |
US20120323905A1 (en) * | 2007-10-12 | 2012-12-20 | Lexxe Pty Ltd | Ranking data utilizing attributes associated with semantic sub-keys |
US8108416B2 (en) * | 2007-10-31 | 2012-01-31 | Yahoo! Inc. | System and method for updating a search results page in response to a user map interaction |
WO2010060440A2 (en) | 2008-11-25 | 2010-06-03 | Metaio Gmbh | Computer-implemented method for providing location related content to a mobile device |
US20100211301A1 (en) * | 2009-02-13 | 2010-08-19 | Mcclellan Scott | System and method for analyzing traffic flow |
US8135735B2 (en) | 2009-07-10 | 2012-03-13 | Geodex, Llc | Computerized system and method for tracking the geographic relevance of website listings and providing graphics and data regarding the same |
US9134137B2 (en) | 2010-12-17 | 2015-09-15 | Microsoft Technology Licensing, Llc | Mobile search based on predicted location |
US9805135B2 (en) * | 2011-03-30 | 2017-10-31 | Cbs Interactive Inc. | Systems and methods for updating rich internet applications |
EP2704037A3 (en) * | 2012-08-31 | 2014-07-09 | Sitecore A/S | A method for generating or updating an interactive webpage |
JP5547860B1 (ja) | 2013-08-05 | 2014-07-16 | ソノー電機工業株式会社 | ユーザの現在位置と現在方位角を用いて目的の地理的情報を検索してユーザに提供するユーザ携帯端末 |
US20160239502A1 (en) | 2015-02-12 | 2016-08-18 | Microsoft Technology Licensing, Llc. | Location-Activity Recommendations |
-
2017
- 2017-11-07 US US15/805,277 patent/US11275807B2/en active Active
-
2018
- 2018-08-08 EP EP18759528.5A patent/EP3612951A1/en active Pending
- 2018-08-08 JP JP2019566275A patent/JP6963635B2/ja active Active
- 2018-08-08 WO PCT/US2018/045767 patent/WO2019094075A1/en unknown
- 2018-08-08 KR KR1020197034768A patent/KR102357897B1/ko active IP Right Grant
- 2018-08-08 CN CN201880035911.4A patent/CN110709836B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1378674A (zh) * | 1999-05-28 | 2002-11-06 | 奥弗图尔服务公司 | 影响计算机网络搜索引擎产生的搜索结果清单中位置的***和方法 |
US20160047671A1 (en) * | 2006-03-31 | 2016-02-18 | Facebook, Inc. | Identifying a result responsive to a current location of a client device |
CN102575940A (zh) * | 2009-03-30 | 2012-07-11 | 哈曼专业股份有限公司 | 基于位置应用的预测搜索 |
CN102713906A (zh) * | 2009-12-04 | 2012-10-03 | 谷歌公司 | 基于位置的搜索 |
CN103246679A (zh) * | 2012-02-13 | 2013-08-14 | 刘龙 | 一种实现基于位置的搜索的***和方法 |
CN105009114A (zh) * | 2012-12-05 | 2015-10-28 | 谷歌公司 | 预测性地呈现搜索能力 |
CN104219250A (zh) * | 2014-09-26 | 2014-12-17 | 北京国双科技有限公司 | 网页数据获取方法和装置及网页数据发送方法和装置 |
CN104346461A (zh) * | 2014-11-07 | 2015-02-11 | 北京奇虎科技有限公司 | 搜索网页元素的方法、装置和浏览器客户端 |
CN104361130A (zh) * | 2014-12-05 | 2015-02-18 | 程治永 | 一种在网页中搜索局域网或指定网段内设备的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110709836A (zh) | 2020-01-17 |
JP2020529059A (ja) | 2020-10-01 |
EP3612951A1 (en) | 2020-02-26 |
US20190138618A1 (en) | 2019-05-09 |
WO2019094075A1 (en) | 2019-05-16 |
KR102357897B1 (ko) | 2022-02-03 |
JP6963635B2 (ja) | 2021-11-10 |
KR20200002998A (ko) | 2020-01-08 |
US11275807B2 (en) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9426769B2 (en) | Method and apparatus for determining a geo-location correction-offset | |
US8615257B2 (en) | Data synchronization for devices supporting direction-based services | |
US8341185B2 (en) | Method and apparatus for context-indexed network resources | |
US7966306B2 (en) | Method, system, and apparatus for location-aware search | |
US9081860B2 (en) | Integration of device location into search | |
US10234305B2 (en) | Method and apparatus for providing a targeted map display from a plurality of data sources | |
WO2015007945A1 (en) | Method and apparatus for updating points of interest information via crowdsourcing | |
US9402189B2 (en) | Method and apparatus for providing activity-based map job | |
KR20140075761A (ko) | 이동 디바이스 생성 이벤트 분석에 기초한 맵 타일 데이터 선-인출 방법 | |
US20140156704A1 (en) | Predictively presenting search capabilities | |
US20140245157A1 (en) | Method and apparatus for aggregating data for providing content and services via augmented reality | |
CN107924415B (zh) | 从位置不可感知设备向搜索查询提供位置信息以提高用户交互性能 | |
CN110709836B (zh) | 对网页上的位置变化的反应 | |
WO2019005333A1 (en) | GEOGRAPHIC RESEARCH OFFLINE | |
JP7412505B2 (ja) | 同期ローカル検索結果のための可視ネットワークの添付 | |
US20090089255A1 (en) | Information search apparatus and method | |
US20240281445A1 (en) | Systems and methods for predicting complete queries | |
AU2017366668B2 (en) | On-demand location visit conversion metrics | |
JP6980666B2 (ja) | オンデマンドの位置訪問コンバージョンメトリック |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |