减少重定向的制作方法

文档序号:6498055阅读:200来源:国知局
减少重定向的制作方法
【专利摘要】本发明涉及用于更改搜索结果的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。在一方面,一种方法包括接收指定针对由用户设备提交的搜索请求的一组响应性资源的数据。做出关于针对来自所述一组响应性资源的特定资源的资源请求将会导致用户设备被重定向至与所述特定资源不同的资源的确定。响应于所述确定,向针对所述特定资源的搜索结果中插入对所述不同资源的引用。向用户设备提供针对特定资源的搜索结果,其中该搜索结果包括对所述不同资源的引用。
【专利说明】减少重定向
[0001]相关申请的交叉引用
[0002]本申请根据35U.S.C§ 119(e)要求提交于2011年12月7日的名称为“REDUCINGREDIRECTS”的美国专利申请N0.61/567,758和提交于2012年6月27日的名称为“REDUCINGREDIRECTS”的美国专利申请N0.13/534,640的权益,上述专利申请均通过引用而全文并入于此。

【背景技术】
[0003]本说明书涉及数据处理和信息检索。
[0004]因特网提供对诸如图像、视频或音频文件以及针对特定主题、书刊文章或新闻报道的网页等多种多样的资源的访问。搜索系统可标识响应于搜索查询的资源并提供引用标识出的资源的搜索结果。用户可在显示设备上查看搜索结果,并通过与搜索结果的交互来请求呈现资源。例如,响应于与搜索结果的用户交互,可在呈现搜索结果的显示器中呈现由搜索结果所引用的资源。


【发明内容】

[0005]总体而言,本说明书中描述的主题的一个创新方面可在如下方法中体现,该方法包括如下行动:接收指定针对由用户设备提交的搜索请求的一组响应性资源的数据;由数据处理装置确定针对来自所述一组响应性资源的特定资源的资源请求将会导致用户设备被重定向至与该特定资源不同的资源;响应于所述确定,由数据处理装置向针对所述特定资源的搜索结果中插入对所述不同资源的引用,所述引用被配置用于响应于与所述搜索结果的用户交互而发起针对所述不同资源的资源请求,所述资源请求独立于针对所述特定资源的资源请求而发起;以及向用户设备提供针对所述特定资源的搜索结果,所述搜索结果包括对所述不同资源的引用。这方面的其他实施方式包括对应的系统、装置和编码在计算机存储设备上的配置用于执行本方法的行动的计算机程序。
[0006]这些实施方式和其他实施方式可各自可选地包括一个或多个以下特征。确定针对特定资源的请求将会导致用户设备被重定向至不同资源可包括确定该用户设备为移动设备;以及确定来自移动设备的针对所述特定资源的资源请求将会导致该移动设备被重定向。
[0007]确定来自移动设备的针对所述特定资源的资源请求将会导致该移动设备被重定向可包括接收指定已被标识为重定向资源的一个或多个资源的重定向数据,重定向资源为将会响应于针对所述重定向资源的资源请求而导致至少一个用户设备请求不同资源的资源;确定在所述重定向数据中包括针对所述特定资源的标识符;以及确定针对所述特定资源的重定向数据指示出所述特定资源响应于来自移动设备的针对所述特定资源的请求而导致所述移动设备被重定向至不同资源。
[0008]方法还可包括如下行动:确定针对所述特定资源的重定向数据指示出所述特定资源不响应于来自非移动设备的针对所述特定资源的资源请求而导致所述非移动设备被重定向至不同资源。
[0009]方法还可包括如下行动:接收指定针对所述特定资源的搜索结果的数据,所述搜索结果包括通往所述特定资源的链接;确定所述搜索结果被提供至非移动设备;以及向所述非移动设备提供所述搜索结果,所述搜索结果包括通往所述特定资源的链接。
[0010]方法还可包括如下行动:由用户设备接收针对所述特定资源的搜索结果,所述搜索结果包括对所述不同资源的引用;由用户设备确定发生了与所述搜索结果的用户交互;以及由用户设备响应于与所述搜索结果的用户交互而请求所述不同资源。
[0011]方法还可包括如下行动:确定从用户设备接收的语言设置数据指定针对所述用户设备的特定语言。确定针对所述特定资源的请求将会导致用户设备被重定向至不同资源可包括确定所述不同资源是至少部分地基于接收来自所述用户设备的代表所述特定语言的语言设置数据而选择的。
[0012]方法还可包括如下行动:由数据处理装置确定所述一组响应性资源包括基于品牌的重定向资源,所述基于品牌的重定向资源为导致特定品牌的用户设备被重定向至与所述基于品牌的重定向资源不同的特定于品牌的资源的资源;确定针对所述基于品牌的重定向资源的基于品牌的重定向数据对于至少一个品牌的用户设备不可用;以及向用户设备提供针对所述基于品牌的重定向资源的搜索结果,所述针对基于品牌的重定向资源的搜索结果包括对所述基于品牌的重定向资源的引用。
[0013]方法还可包括如下行动:由数据处理装置确定所述一组响应性资源包括基于语言的重定向资源,所述基于语言的重定向资源为导致具有特定语言设置数据的用户设备被重定向至与所述基于语言的重定向资源不同的特定于语言的资源的资源;确定针对所述基于语言的重定向资源的基于语言的重定向数据对于至少一个语言设置不可用;以及向用户设备提供针对所述基于语言的重定向资源的搜索结果,所述针对基于语言的重定向资源的搜索结果包括对所述基于语言的重定向资源的引用。
[0014]方法还可包括如下行动:由数据处理装置确定所述一组响应性资源包括暂时重定向资源,所述暂时重定向资源为导致用户设备被重定向至与所述暂时重定向资源不同的暂时资源的资源;以及向用户设备提供针对所述暂时重定向资源的搜索结果,所述针对暂时重定向资源的搜索结果不包括对所述暂时资源的引用。
[0015]可以实现本说明书中描述的主题的特定实施方式,以便实现一个或多个以下优点。移动搜索结果(即,提供给移动计算设备的搜索结果)可链接至已被标识为移动资源的资源,而不是链接至桌面资源(即,未被标识为移动资源的资源)。将移动搜索结果链接至移动资源可防止移动计算设备在被重定向至该移动资源之前请求桌面资源。减少在对移动搜索结果的用户选择与移动资源的呈现之间的重定向的数目可减少呈现移动资源所需的时间量。
[0016]在附图和以下的描述中阐述本说明书中描述的主题的一个或多个实施方式的详情。主题的其他特征、方面和优点将从描述、附图和权利要求中变得容易理解。

【专利附图】

【附图说明】
[0017]图1为其中搜索系统提供搜索服务的示例环境的框图。
[0018]图2A为用于标识重定向资源的示例数据流的框图。
[0019]图2B为用于减少重定向的示例数据流的框图。
[0020]图3为用于减少重定向的示例过程的流程图。
[0021]图4为示例计算机系统的框图。
[0022]在各个附图中,相似参考编号指示相似元件。

【具体实施方式】
[0023]响应于指定已被标识为响应搜索查询的资源(例如,至少具有针对搜索查询的阈值相关度得分的资源)的搜索查询而提供搜索结果。每个搜索结果一般包括通往已被标识为响应于搜索查询的资源中之一的链接(例如,活动超文本链接),并且与搜索结果的用户交互将会发起针对搜索结果所链接到的资源的请求。例如,针对电子产品零售商的搜索结果可包括响应于与该搜索结果的用户交互而发起对所述零售商网站的主页的请求的超文本链接。
[0024]在一些情况下,针对特定资源的请求可导致用户设备被重定向至另一资源(即,与所请求的资源不同的资源)。例如,一些发布者创建已针对在诸如移动电话等移动设备上查看而格式化的移动资源,并响应于来自移动设备的针对特定资源的请求而将移动设备重定向至该移动资源。移动资源为已被确定针对移动设备上的呈现而格式化的资源,并且将资源标识为移动资源的数据可随对该资源的引用而得到储存,以照此对其加以标识。移动资源可包括当非移动设备(即,未被标识为移动设备的设备)不在针对另一资源的请求之后被重定向时响应于针对另一资源的请求而将移动设备重定向至的资源。
[0025]当确定针对特定资源的请求导致移动设备被重定向至另一资源时,针对特定资源的搜索结果可包括通往移动设备本来将会被重定向到的另一资源的链接(或另一引用)。例如,可将通往另一资源的链接插入到搜索结果中,使得移动设备响应于与搜索结果的用户交互而请求另一资源而不是所述特定资源。
[0026]图1为其中搜索系统110提供搜索服务的示例环境100的框图。示例环境100包括网络102,例如,局域网(LAN)、广域网(WAN)、因特网或它们的组合,所述网络102连接网站104、用户设备106和搜索系统110。网络102可通过有线和/或无线通信链路来接入。例如,诸如智能电话等移动计算设备可利用蜂窝网络来接入网络。环境100可包括数百万个网站104和用户设备106。
[0027]网站104是关联于域名并由一个或多个服务器所托管的一个或多个资源105。示例网站为以可含有文本、图像、多媒体内容和编程元素(例如,脚本)的超文本标记语言(HTML)格式化的网页集合。每个网站104由发布者来维护,所述发布者例如为管理和/或拥有该网站的实体。
[0028]资源105是通过网络102 (例如,通过网站104)的提供的并且关联于资源地址的数据。仅举几例而言,资源105包括HTML页面、字处理文档,以及可移植文档格式(HF)文档、图像、视频和馈源等。资源105可包括内容,例如,单词、短语、图像和声音,并且可包括嵌入信息(例如,元信息和超链接)以及/或者嵌入指令(例如,脚本)。
[0029]用户设备106为受控于用户并且能够通过网络102请求和接收资源105的电子设备。示例用户设备106包括可通过网络102发送和接收数据的个人计算机、移动计算设备(例如,智能电话和/或平板计算设备)。如本文各处所使用,术语“移动计算设备“移动设备”)意指配置用于通过移动通信网络进行通信的用户设备。智能电话(即,支持通过因特网进行通信的电话)是移动设备的一个示例。
[0030]用户设备106通常包括用户应用,例如,网络浏览器,用以帮助通过网络102发送和接收数据。移动设备可利用“移动浏览器”来通过网络102发送和接收数据。如本文各处所使用,移动浏览器可以是可标识为安装在移动设备上的浏览器的浏览器。移动浏览器可如此标识:例如,基于版本号或者指示出该浏览器为移动版本的浏览器的另一标识符。例如,浏览器开发者可创建专供在移动设备上使用的移动浏览器,并为该移动浏览器分配可用于如此标识移动浏览器的版本号。如下文更详细描述,浏览器的版本号和/或有关浏览器的其他信息可包括在来自用户设备的通信中所包括的用户-代理标头中。
[0031]为了帮助对资源105的搜索,搜索系统110通过对提供于网站104上的资源105进行爬取和索引来标识资源105。有关资源105的数据可基于数据所对应于的资源而得到索引。资源105的经索引的以及可选地经缓存的拷贝储存在搜索索引112中。
[0032]用户设备106向搜索系统110提交搜索查询109。作为响应,搜索系统110访问搜索索引112以标识与搜索查询109相关的(例如,至少具有针对搜索查询109的最小指定相关度得分的)资源105。搜索系统110标识资源105,生成标识资源105的搜索结果111,并将搜索结果111返回给用户设备106。
[0033]搜索结果111是由搜索系统110生成的、标识响应于特定搜索查询的资源105的数据,并且可包括通往资源105的链接。示例搜索结果111可包括从网页提取的网页标题、文字片段或图像部分,以及网页的URL。
[0034]搜索结果lllU^^n,SRl、SR2、SR3)呈现在用户设备上所显示的搜索结果页面114中。与搜索结果(例如,SR1115)的用户交互导致用户设备106请求由该搜索结果所引用的资源(例如,资源A116)。在一些实现中,用户设备106提交针对位于由发生用户交互的搜索结果所指定的统一资源定位符(“URL”)的资源的超文本传输协议(“http”)请求。例如,与搜索结果SRl115的用户交互可导致用户设备106请求由搜索结果SRl115所引用的资源A 116。响应于该请求,导致资源A116的呈现的数据可由用户设备106接收并用于在用户设备106上呈现资源A116。
[0035]响应于一些资源请求,向用户设备返回重定向指令(例如,引导用户设备从另一网络位置请求数据的数据)来代替(或附加于)导致资源呈现的数据。例如,当从用户设备接收到对资源A116的请求时,可向用户设备106提供重定向指令,以指令该用户设备请求资源B118的呈现。重定向指令可包括用户设备106要从中请求数据的URL(或另一网络位置)。
[0036]重定向指令可出于多种原因提供给用户设备。例如,当来自用户设备106从中请求数据的网络位置的数据不可用时,可向用户设备106提供重定向指令。还可向特定类型的用户设备提供重定向以试图将该特定类型的用户设备引导至被创建用于在该特定设备上查看的资源。
[0037]例如,一些发布者创建特定网页(或另一资源)的多个版本,其中该网页的一个版本被格式化用于在移动设备上查看,而该网页的另一版本被格式化用于在非移动设备(即,未被标识为移动设备的设备)上查看。在本示例中,被格式化用于在移动设备上查看的网页版本可使用比被格式化用于在非移动设备上查看的网页版本更少的图形或更低分辨率的图形、更少的多媒体内容以及/或者不同的纵横比。如上所述,被格式化用于在移动设备上查看的资源被称为移动资源,而被格式化用于在非移动设备上查看的资源则被称为桌面资源(例如,桌面网页),尽管这些资源可呈现在任何计算设备上。
[0038]当发布者已创建网页(或另一资源)的多个版本时,请求桌面网页的移动设备可被自动重定向至与该桌面网页相对应的移动网页。例如,假设资源Al 16为搜索结果SRl115所链接到的桌面网页,并且假设用户设备106为已请求资源A116的移动设备。在该示例中,移动设备可被自动重定向以请求资源B118,以便在移动设备上呈现移动资源而不是桌面资源。
[0039]一些重定向完全(或仅部分地)基于接收到的针对资源的请求所来自的用户设备被标识为移动设备还是非移动设备而发起,并且在下文中描述了用于确定用户设备为移动设备还是桌面设备的示例技术。然而,一些重定向可基于存储在用户设备上的数据,诸如网络跟踪器(cookie)。举例而言,如果搜索提供者还提供其他在线服务,诸如在线电子邮件账户、在线购物车或其他在线服务(例如,社交网络、博客托管、图像分享服务和/或视频分享服务),则在线搜索提供者可在用户的设备上置放一个或多个网络跟踪器,以增强用户体验(例如,通过储存用户偏好或账户信息来辅助用户定制体验)。
[0040]网络跟踪器是唯一地标识用户设备(例如,使用匿名标识用户设备的伪随机数或数据哈希)的数据文件。置放在用户设备上的网络跟踪器一般仅可由在用户设备上置放该网络跟踪器的实体来访问。举例而言,如果搜索服务(例如,example.com)的提供者在特定用户设备上置放网络跟踪器,则该搜索服务的提供者(例如,example, com服务器)一般将会是能够访问该网络跟踪器的唯一实体。
[0041]网络跟踪器可用于标识已在先前访问过特定网站的用户(即,假设用户已同意在其设备上储存网络跟踪器)。例如,基于网络的邮件服务的用户可在他们登录到其电子邮件账户(例如,通过输入用户名和密码)时将网络跟踪器储存在他们的用户设备上。在访问电子邮件账户之后的一段指定时间内,用户可能能够直接返回到他们的电子邮件账户而无需再次手动输入用户名和/或密码。
[0042]例如,假设在从基于网络的电子邮件服务转离(例如,转向在线报刊或搜索界面)之后,用户设备请求所述基于网络的电子邮件服务的登录页面。在该示例中,当检测到储存在用户设备上的网络跟踪器(并确定尚未超过指定期限)时,用户设备可被重定向至呈现用户的电子邮件账户的网页而不要求用户重新输入其用户名或密码。已出于示例目的而使用基于网络的电子邮件服务,但诸如在线零售商等其他采用网络跟踪器的在线服务也可响应于检测到网络跟踪器而发起重定向。
[0043]资源还可基于用户设备的品牌(例如,制造商)来重定向用户设备。例如,移动电话应用开发者可以创建可让用户设备请求购买和/或下载由该开发者所创建的应用的网页。出于说明目的,假设应用开发者创建了针对各自使用不同操作系统(或者相同操作系统的不同版本)的两个或更多个不同电话品牌(例如,品牌A和品牌B)的不同应用版本。在该示例中,可从不同的网络位置(例如,应用市场网页)获得针对每个相应应用版本的应用。因此,要将品牌A用户设备重定向至可从中购买和/或下载针对品牌A用户设备创建的应用版本的另一网页(例如,针对品牌A电话的应用市场)。类似地,网页可被配置用于将品牌B用户设备重定向至可从中购买针对品牌B用户设备创建的应用版本的网页(例如,针对品牌B电话的应用市场)。
[0044]指令给用户设备的每个重定向产生针对存储于不同网络位置的资源的请求的结果。例如,当用户设备响应于请求另一资源而被重定向至特定资源时,用户设备将会在接收导致对所述特定资源的呈现的数据之前作出两个资源请求。随着用户设备作出的重定向的数目增多,初始资源请求与资源的呈现之间的延迟增大。因此,可以通过减少用户设备在资源的呈现之前所需作出的重定向的数目来减少资源请求与资源呈现之间的延迟。
[0045]环境100包括重定向减少装置120,该装置120减少由用户设备执行的重定向的数目。重定向减少装置120为数据处理装置,其使用重定向数据来确定由搜索结果所引用的资源是否为重定向资源(即,将请求特定资源的用户设备重定向至不同资源的特定资源)。重定向减少装置120被表示为通过网络102与搜索系统110通信的独立装置,但在一些实现中,重定向减少装置120可实现为搜索系统120的一部分或者另一系统的一部分。
[0046]当重定向减少装置120至少部分地基于重定向数据而确定重定向资源由特定搜索结果所引用(例如,链接至)时,重定向减少装置120可向所述特定搜索结果中插入对重定向资源将用户设备重定向至的不同资源的引用(例如,超文本链接)。因此,与特定搜索结果的用户交互将会发起对所述不同资源的请求,而不是对所述重定向资源的请求。相应地,用户设备可请求不同资源而不首先请求重定向资源。
[0047]重定向数据可例如从重定向数据存储122中获得。重定向数据存储122为这样的数据存储:其储存指定一组重定向资源以及针对该组中每个重定向资源的重定向资源将用户设备重定向至的不同资源的重定向数据。举例而言,如果请求资源A116的用户设备被重定向至资源B118,则重定向数据存储112将会包括指定从资源A116到资源B118的的重定向的重定向数据。
[0048]在一些实现中,重定向数据可指定请求特定重定向资源的用户设备中的所有设备还是只有其真子集响应于该请求而得到重定向。举例而言,如果只有被标识为移动设备的设备才响应于对资源A116的请求而被重定向至资源B118,则针对资源A的重定向数据可指定重定向的条件是对资源Al 16的请求是从移动设备接收到的。
[0049]重定向数据可进一步指定重定向的条件是否为其他因子,诸如在从中请求资源的用户设备上检测到网络跟踪器。举例而言,如果仅当确定特定网络跟踪器被储存在用户设备上时才发生从资源A116到资源B118的重定向,则针对资源A的重定向数据可指定向资源B118的重定向的条件是存在特定网络跟踪器(例如,先前由资源A的发布者置放在用户设备上的网络跟踪器)。重定向数据还可指定发生特定重定向所必须满足的任何其他重定向条件。
[0050]在一些实现中,重定向数据还可指定是否由资源使用来自用户设备的语言设置数据来有条件地重定向用户设备。语言设置数据可随搜索请求和/或对资源的请求而从用户设备接收。语言设置数据是指示在用户设备上呈现信息的语言的数据。例如,语言设置“en”可指示呈现在用户设备上的信息以英语呈现,而语言设置“de”可指示信息以德语呈现。一些发布者可例如创建特定页面的不同版本来提供该页面的特定于地区的版本,或者该页面的特定于语言的版本。因此,当发布者接收到对特定主页(例如,example.com)的请求时,发布者可将用户设备重定向至特定于语言的网页(例如,example, com/german)。
[0051]图2A为用于标识重定向资源的示例数据流200的框图。数据流开始于重定向减少装置120发起请求来自发布者服务器204的资源的资源请求A202。资源请求A可例如为针对位于网络位置example, com/pagel的资源的http请求。如果位于example, com/pagel的资源为重定向资源,则发布者服务器204将会用重定向指令206来响应资源请求A202,该重定向指令206包括重定向减少装置120要从中请求另一资源的网络位置207。例如,响应于接收对位于example, com/pagel的资源的请求,发布者服务器204可提供重定向指令206以指令重定向装置120从example.COm/page2请求数据,而不是提供导致资源呈现的数据。
[0052]当重定向减少装置120接收重定向指令206时,重定向减少装置120发起另一资源请求。例如,重定向减少装置120可发起请求位于example.com/page2的资源的资源请求B208。如果位于example.com/page2的资源不是重定向资源,则发布者服务器204可通过提供导致位于example.com/page2的资源的呈现的资源数据210来响应于请求。然而,如果位于example.com/page2的资源为另一重定向资源,则发布者服务器204将会再次提供将重定向减少装置120重定向至另一网络位置的重定向指令,并且请求过程可迭代继续,直到呈现资源和/或发生超时(例如,在初始资源请求之后的最大重定向数目或最大经过时间)。
[0053]响应于接收资源数据210,重定向减少装置120可确认资源数据210不包括重定向指令,并因此确定响应于资源请求B 208而提供的资源为标准资源(即,不响应于资源请求而重定向用户设备的资源)而不是重定向资源。转而,重定向减少装置120可在重定向索引122中储存重定向数据212。在该示例中,所储存的重定向数据212可指示出针对example, com/pagel (例如,“Page/’)的请求将会如图2A中的符号aPage1:Page2”所表示,将用户设备重定向至example.com/page2 (例如Page2”)。重定向数据还可指定将用户设备重定向至其他标准资源(例如,相应地为Page4和Pagey)的其他重定向资源(例如,Page3和Pagex)。注意,如果在最初请求的资源(例如,Pagex)与不为重定向资源的资源的呈现之间发生多个重定向,则可将指示每个中间重定向资源(或者其真子集)的数据储存在重定向索引中。替代地或附加地,可以储存仅指定最初请求的重定向资源和在最后的重定向之后呈现的标准资源的资源数据212。
[0054]在一些实现中,使用多个重定向减少装置120来请求同一资源。在这些实现中,每个重定向减少装置120可模拟不同类型的用户设备,使得可以检测来自不同资源的不同重定向行为,并且能够以每个设备为基础将特定资源标识为重定向资源或标准资源。
[0055]例如,一个重定向减少装置120可模拟智能电话,而另一重定向减少装置可模拟桌面设备。在该示例中,可将使用每个重定向减少装置获得的重定向数据212加以对比,以确定资源是否基于请求该资源的用户设备的类型而决定重定向的条件。举例而言,如果特定资源重定向移动设备而不重定向桌面设备,则可同时使用模拟桌面设备的重定向减少装置120和模拟移动设备的重定向减少装置120来检测这种有条件的重定向行为。
[0056]重定向减少装置120可例如使用用户-代理标头(或其他设备标识数据)来模拟特定类型的用户设备,所述用户-代理标头或其他设备标识数据指定从中发起资源请求的设备的类型和/或有关发起该资源请求的设备的其他细节。例如,如参考图3更详细地描述那样,代理标头可指定使发布者服务器204能够确定请求资源的用户设备是移动设备还是桌面设备以及/或者确定该设备的制造商的信息。因此,根据由重定向减少装置所使用的用户-代理标头(或其他设备标识信息),请求资源的重定向减少装置120(或其他数据处理装置)可被发布者服务器204视为移动装置或桌面装置,使得重定向减少装置120可获得针对不同类型的用户设备的重定向数据。针对每种类型的设备的重定向数据可储存在重定向索引中,以便创建针对每个重定向资源的重定向配置文件。
[0057]在一些实现中,重定向减少装置120被配置用于模拟一个特定品牌(或型号)的移动设备,以便收集针对该特定品牌(或型号)的重定向数据。类似地,重定向减少装置120可被配置用于呈现单一语言(例如,英语)的信息,以便使针对重定向减少装置120的语言设置数据随时间推移保持静态。例如,替代于使用不同的用户-代理标头发起对特定资源的多个请求,重定向减少装置120可针对每个资源请求使用同一用户-代理标头,以便减少获得针对许多不同资源的重定向数据所需的处理资源。
[0058]当重定向减少装置120仅模拟所有用户设备配置的真子集时,有可能针对特定重定向资源的重定向数据可不明确指定是否将不同类型的用户设备重定向至不同资源,或者重定向是否以针对用户设备的语言设置数据为条件。例如,虽然重定向数据可指定响应于对特定资源的请求而将品牌A用户设备重定向至另一资源(例如,假设重定向减少装置120被配置用于模拟品牌A用户设备),但重定向数据可不指定是否重定向品牌B用户设备(例如,因为减少装置120在模拟品牌B设备时可能未请求所述特定资源)。类似地,重定向数据可指定是否重定向使用特定语言设置的用户设备,而不指定是否还重定向使用其他语言设置的用户设备。
[0059]在一些实现中,重定向减少装置120可被配置用于确定针对特定资源的搜索结果是否应当继续链接至该特定资源(例如,而不是另一资源),即使该特定资源已被标识为重定向资源。在一些实现中,所述确定可至少部分地基于针对该资源的重定向数据和针对所述特定资源的重定向链的分析。重定向链指定当用户设备请求特定资源时由用户设备所请求的两个或更多个资源。举例而言,如果用户设备请求资源X并继而被重定向至资源Y,则该示例中的重定向链可包括资源X的URL和资源Y的URL(例如,http//:example.com/>http://example.com/BrandA_Store)。
[0060]在一些实现中,重定向减少装置120可确定针对特定重定向资源的搜索结果在该重定向资源被确定为“基于品牌的”重定向资源并且仅有部分的基于品牌的重定向数据可用时将会包括通往所述特定重定向资源的链接。继续上述示例,假设收集了重定向数据的重定向减少装置120被配置用于仅模拟品牌A用户设备而不模拟品牌B设备,并且进一步假设资源Y为品牌A用户设备的用户可从中下载针对品牌A设备创建的应用的应用商店的网页。在该示例中,针对特定资源的重定向数据将会指定将请求资源X的品牌A设备重定向至资源Y,但将不会指定是否重定向品牌B设备(或将其重定向至什么资源),使得重定向减少装置120可以确定仅有部分的基于品牌的重定向数据可用。
[0061]在这些实现中,当仅有部分的基于品牌的重定向数据可用时,重定向减少装置120可检查重定向资源和/或该重定向资源将用户设备重定向至的不同资源的URL和/或内容,以确定用户设备被重定向至的不同资源是否为特定于品牌的资源。举例而言,如果不同资源的URL包括对特定品牌(例如,品牌A)的引用,并且重定向减少装置120模拟品牌A设备(即,同一特定品牌的设备),则可确定所述不同资源为特定于品牌的资源。类似地,如果重定向资源的内容包括通往特定于品牌的站点的链接,例如,通往销售针对品牌A电话的应用的站点的链接,则由该重定向资源所发起的重定向可被视为基于品牌的重定向。转而,重定向减少装置120可确定针对重定向资源的搜索结果将会继续包括通往该重定向资源的链接(即,而不是被更改以包括通往不同资源的链接),这是因为重定向被确定为基于品牌的重定向并且基于品牌的重定向数据对于至少一个品牌的用户设备(例如,品牌B用户设备)不可用。代表这个确定的结果的数据(例如,基于品牌的数据)可例如储存在重定向索引122中。
[0062]重定向减少装置120可被配置用以关于基于语言的重定向资源作出类似的确定。在一些实现中,当确定重定向为基于语言的重定向并且仅有部分的基于语言的重定向数据可用(即,重定向数据对于至少一个语言设置不可用)时,重定向减少装置120将不会更改针对基于语言的重定向资源的搜索结果。例如,假设重定向减少装置120使用静态语言设置数据,使得基于语言的重定向数据仅对单一语言可用。在该示例中,针对重定向资源的重定向数据将会指定是否将会重定向具有与重定向减少装置120相同的语言设置数据的用户设备,但将不会指定是否还将重定向具有其他语言设置数据的其他用户设备,或者指定这些其他用户设备将会被重定向至何处。因此,在该示例中,重定向减少装置120可确定仅有部分的基于语言的重定向数据可用。
[0063]在一些实现中,当仅有部分的基于语言的重定向数据可用时,重定向减少装置120可检验重定向资源的URL和/或内容语言。例如,重定向减少装置可检验页面example.com/page2所重定向至的URLexample.com/page3/en,并确定该URL包括对应于英语语言的语言设置数据的字符“en”。类似地,重定向减少装置可检验example.com/page2的文本和example, com/en的文本以确定每个资源的语言是否为不同的。如果确定两个页面的语言是不同的,或者用户设备被重定向至的资源的URL包括对该用户设备的语言设置数据的引用,则重定向减少装置120可将重定向视为基于语言的重定向。转而,重定向减少装置120可确定针对重定向资源的搜索结果将会继续包括通往重定向资源的链接(即,而不是被更改以包括通往不同资源的链接),这是因为重定向被确定为基于语言的重定向并且仅有部分的基于语言的重定向数据被确定为可用。指定这个确定的结果的数据(例如,基于语言的数据)可例如储存在重定向索引122中。
[0064]在一些实现中,重定向减少装置120被配置用于确定针对特定重定向资源的重定向链包括暂时链接,使得该特定重定向资源被视为暂时重定向资源。在这些实现中,重定向减少装置120可防止暂时资源被针对暂时重定向资源的搜索结果所引用,以及确定哪个资源应当由针对暂时重定向资源的搜索结果所引用。例如,假设特定重定向资源包括以下重定向链:http://example.com>http: / / example.com/m>http: / / example.com/2011/1/1 ? id = xxxyyyzzz。在该示例中,重定向减少装置120可确定URLhttp://example, com/2011/l/l ? id = xxxyyyzzz具有与其他已知暂时资源(例如,在指定期限之后被重定位或移除的资源)的URL相似的结构,并因此确定针对example, com的搜索结果不应包括通往该暂时资源的链接。因此,重定向减少装置120可不更改针对example, com的搜索结果,或者插入通往位于example, com/m的资源的链接。
[0065]重定向减少装置120还可例如通过随时间推移对比针对特定重定向资源的重定向链来标识暂时资源。例如,假设example, com最初被确定为具有以下重定向链:http://example.com>http://example.com/m>http//example.com/2011/1/1 ? id=xxxyyyzzz,并且在下一请求时example, com被确定为具有以下重定向链:http://example.com>http://example.com/m>http//example.com/2011/1/5 ? id = xxxyyyzzz。在该示例中,重定向链的每个实例中的最后的链接(例如,example, com/2011/l/l ? id =xxxyyyzzz 和 example, com/2011/1/5 ? id = xxxyyyzzz)可被确定为暂时资源,使得重定向减少装置120可不向针对example, com的搜索结果中插入通往这些资源的链接。在一些实现中,可要求重定向链至少具有最小指定变化速率以便将链中的资源归类为暂时资源。指定这个确定的结果的数据(例如,暂时资源数据)可例如储存在重定向索引122中。
[0066]图2B为用于减少重定向的示例数据流250的框图。数据流250开始于用户设备106向搜索系统110提交查询109。所述查询还可由用户设备106或由搜索系统110提供给重定向减少装置120。如上文参考图1所描述,搜索系统110标识响应于搜索查询110的资源(“响应性资源”),并生成引用(例如,链接到)该响应性资源的搜索结果111。每个搜索结果可例如包括超文本链接,该超文本链接在与搜索结果的用户交互下导致用户设备发起对位于该超文本链接中所指定的网络位置的资源的请求。例如,图2B中的搜索结果SRl可包括包含URL http://example, com/pagel的超文本链接,使得与搜索结果SRl的用户交互将会导致用户设备106请求来自example/com/pagel的资源。
[0067]搜索系统110向重定向减少装置120提供指定搜索结果111中的一项或多项的数据。重定向减少装置120可将搜索结果111所引用(例如,链接到)的资源与重定向索引122中所列出的重定向资源列表进行对比,以确定由搜索结果所引用的任何资源是否为重定向资源。例如,重定向减少装置120可将每个搜索结果的超文本链接中的网络位置(例如,http://example, com/pagel)与重定向索引122中所列出的重定向资源的网络位置进行对比。如果搜索结果111中之一被确定为引用重定向资源,则可将该搜索结果的超文本链接替换为通往所述重定向资源将用户设备重定向至的标准资源的超文本链接。因此,与该搜索结果的用户交互将会导致用户设备请求标准资源而不首先请求重定向资源。
[0068]例如,假设SRl包括通往example, com/pagel的超文本链接,并且假设重定向减少装置120确定位于example, com/pagel的资源在重定向索引122中被列为重定向资源。进一步假设根据重定向索引122,位于example, com/pagel的重定向资源将用户设备重定向至位于example.com/page2的标准资源。在该不例中,重定向减少装置120可向SRl中插入通往example.com/page2的超文本链接以及/或者移除或禁用最初包括在SRl中的通往example, com/pagel的超文本链接,从而创建一组经更改的搜索结果222。转而,重定向减少装置120可将该组经更改的搜索结果222提供给用户设备以供在搜索结果页面114中呈现。
[0069]当用户与经更改版本的SR1115交互时,通往example.com/page2的超文本链接将会导致用户设备106向发布者服务器204提交资源请求B208,并且发布者服务器204将会用导致位于example.com/page2的资源的呈现的资源数据210来响应于用户设备106。因此,在该示例中,与SR1115的用户交互将会导致用户设备106请求来自example.com/page2的资源而不首先请求位于example, com/pagel的重定向资源,从而减少用户设备在位于example.com/page2的资源的呈现之前将会作出的重定向的数目。
[0070]在一些实现中,当搜索结果变成链接到标准资源的经更改搜索时,针对重定向资源的搜索结果的视觉外观不改变。例如,在更改之后,SR1115可仍然在视觉上指示出SRl是针对位于example, com/pagel的资源的搜索结果,尽管与搜索结果的用户交互将会发起对位于example.com/page2的资源的请求。在一些实现中,在视觉上改变经更改的搜索结果,使得将会响应于与经更改的搜索结果的用户交互而从中请求标准资源的网络位置匹配于在视觉上由经更改的搜索结果所引用的网络位置。
[0071]图3为用于减少重定向的示例过程300的流程图。过程300可例如由诸如图1的重定向减少装置120之类的数据处理装置来实现。过程300还可实现为储存在计算机存储介质上的指令,使得由数据处理装置对该指令的执行导致所述数据处理装置执行过程300的操作。
[0072]从用户设备接收搜索请求(302)。在一些实现中,搜索请求包括搜索查询(例如,文本和/或图像),搜索结果将使用该搜索查询而得到选择。搜索请求可例如接收自移动设备,诸如具有因特网连通性的“智能电话”,并且通过蜂窝网络或其他无线网络来接收。搜索请求可例如由搜索系统和/或诸如图1的重定向装置120之类的另一数据处理装置来接收。注意,重定向装置120还可接收指定接收到搜索请求的数据和/或来自搜索请求的数据而不接收实际的搜索请求。例如,图1的搜索系统110或者另一数据处理装置可将该数据提供给重定向装置120。
[0073]接收针对用户设备的设备标识数据(304)。设备标识数据是指定从中发起和/或提交搜索请求的设备的类型的数据。例如,设备标识数据可包括用户-代理标头,该用户-代理标头指定用户设备的制造商(或品牌)和/或用户设备的型号。用户-代理标头可例如包括指定特定搜索请求是由品牌X电话公司制造且型号为BXP-100的用户设备所提交的数据。
[0074]设备标识数据还可包括指定用户设备的硬件和/或软件配置的版本数据。例如,用户-代理标头可包括指定当前安装在用户设备上的固件版本的数据和/或有关从中发起搜索请求的浏览器的信息。此外,用户-代理标头可指示出从中提交搜索请求的浏览器的类型。
[0075]设备标识数据可用于确定从中发起搜索请求的用户设备是否为移动设备,诸如智能电话,或者确定用户设备是否为膝上设备或桌面设备。在一些实现中,品牌或型号信息可与移动设备品牌与型号列表交叉引用。例如,假设来自品牌X电话公司的型号BXP-100被包括在智能电话列表中。在该示例中,从用户设备接收到的具有指定制造商品牌X和型号BXP-100的设备标识数据的搜索请求可被视为接收自移动用户设备。
[0076]在一些实现中,提交搜索请求的用户设备的类型可基于用以提交搜索请求的浏览器的类型。例如,移动设备可使用移动版本的浏览器(例如,而不是/或者除桌面版本浏览器之外)。因此,从用户设备接收的具有指定移动版本浏览器的代理-用户标头的搜索请求可被视为接收自移动用户设备诸如智能电话或者非移动设备诸如台式计算机。
[0077]接收指定针对搜索请求的一组响应性资源的数据(306)。在一些实现中,指定一组响应性资源的数据为指定一组针对资源的搜索结果的数据。指定一组搜索结果的数据可例如接收自已响应于搜索请求而生成搜索结果的搜索系统。该数据可针对每个搜索结果指定由搜索结果所指定的任何信息,例如,包括由搜索结果所引用的资源和/或资源的网络位置。
[0078]作出针对一个或多个响应性资源的请求是否将会导致用户设备被重定向至不同资源的确定(308)。在一些实现中,可基于已关于来自所述一组资源的资源而索引和/或储存的重定向数据来作出所述确定。例如,如上文所述,可将特定响应性资源的网络位置与由重定向数据所指定的一组已知的重定向资源的网络位置进行对比。如果特定响应性资源的网络位置(例如,URL)不匹配于重定向资源中之一的网络位置(例如,URL),则特定响应性资源可被视为不是重定向资源(即,是标准资源)。因此,可确定对特定响应性资源的请求不导致用户设备被重定向至与位于该特定响应性资源的网络位置的资源不同的资源。如果确定所述组中的每个响应性资源都不是重定向资源,则将针对该组响应性资源的搜索结果提供给用户设备(312)。
[0079]如果特定响应性资源的网络位置(例如,URL)匹配于所述重定向资源中之一的网络位置(例如,URL)(或者以其他方式被标识为重定向资源),则该特定响应性资源可被视为重定向资源(即,将会把用户设备重定向至不同资源)。因此,可确定对特定响应性资源的请求导致用户设备被重定向至不同于该特定响应性资源的不同资源。
[0080]如果基于特定响应性资源与重定向资源的网络位置之间的匹配而确定特定资源为重定向资源,则可如下文所更详细描述,将对所述不同资源的引用插入到针对特定资源的搜索结果中(310)。然而,在插入对不同资源的引用之前,可作出进一步确定。
[0081]如上文所述,对于特定响应性资源为重定向资源的确定能够以除该特定响应资源具有与重定向数据中所指定的URL相匹配的URL之外的因子为条件。例如,由特定响应性资源进行的重定向的条件可以是:请求资源的设备的类型(例如,移动设备);设备的制造商;用户设备是否储存特定网络跟踪器(或其他数据文件),诸如由同时提供搜索系统和特定响应性资源的实体置放在用户设备上的网络跟踪器;以及/或者从用户设备接收到的语言设置数据。因此,对于针对特定响应性资源的请求是否将会导致用户设备被重定向至不同资源的确定可至少部分地基于用户设备的特性是否匹配于被称为重定向条件的对于重定向的条件。
[0082]如上文所述,针对特定重定向资源的重定向条件可例如储存在针对该特定重定向资源的重定向数据中。例如,针对特定响应性资源的重定向数据可指定该特定响应性资源对所有的用户设备,仅对移动设备,仅对非移动用户设备,或者对移动用户设备和/或非移动用户设备的一些组合进行重定向(例如,基于语言设置数据、制造商或网络跟踪器状态-即,用户设备是否储存特定的网络跟踪器)。
[0083]在一些实现中,当(例如,基于设备标识数据)确定用户设备为移动用户设备时,可作出对于特定响应性资源是否将移动设备重定向至不同资源的确定。所述确定可例如基于针对特定响应性资源的重定向数据是否指示出该特定响应性资源将移动设备重定向至不同资源而作出。如果确定移动设备会被重定向至不同资源(假设满足任何其他重定向条件),则可独立于特定响应性资源是否重定向非移动设备而向针对特定响应性资源的搜索结果中插入对不同资源的引用(312)。如果确定移动设备不会被特定响应性资源重定向至不同资源,则可提供针对特定响应性资源的搜索结果而不插入对不同资源的引用。
[0084]当确定用户设备为非移动用户设备(即,未被标识为移动设备的用户设备)时,可类似地作出对于特定响应性资源是否将非移动用户设备重定向至不同资源的确定。所述确定可例如基于针对特定响应性资源的重定向数据是否指示出特定响应性资源将非移动设备重定向至不同资源而作出。
[0085]如果确定非移动设备会被重定向至不同资源(假设满足任何其他重定向条件),则可独立于特定响应性资源是否重定向移动设备而向针对特定响应性资源的搜索结果中插入对不同资源的引用(312)。如果确定非移动设备不会由特定响应性资源重定向至不同资源,则可将针对特定响应性资源的搜索结果提供给非移动设备而不插入对不同资源的引用。因此,提供给非移动设备的针对特定响应性资源的搜索结果可不具有对移动设备被重定向至的不同资源的引用,即使已向提供给移动设备的另一针对特定响应性资源的搜索结果中插入了对不同资源的引用。相应地,可基于搜索结果所提供到的设备的类型来改变针对同一资源的不同搜索结果中所包括的链接。
[0086]类似的技术可用于确定是否满足针对特定响应性资源的基于网络跟踪器的重定向条件。例如,可以作出对于用户设备是否储存针对由搜索结果所引用的特定响应性资源的网络跟踪器的确定。如上文所述,当提供搜索系统的实体与提供特定响应性资源的实体为相同实体时,针对特定响应性资源的网络跟踪器可由搜索系统检测到。举例而言,如果提供在线搜索系统和在线视频分享站点的实体在用户设备上置放网络跟踪器,则该实体可在从用户设备接收搜索请求时检测到所述网络跟踪器。
[0087]如果用户设备储存针对特定响应性资源的网络跟踪器,则可检查针对特定响应性资源的重定向数据,以确定该特定响应性资源是否重定向储存所述网络跟踪器的用户设备(假设还满足任何其他重定向条件)。如果基于储存在用户设备上的网络跟踪器而确定特定响应性资源不会重定向用户设备,则可提供针对特定响应性资源的搜索结果而不插入对不同资源的引用。然而,如果确定特定响应性资源会将储存网络跟踪器的用户设备重定向至不同资源,则向针对特定响应性资源的搜索结果中插入对所述不同资源的引用。
[0088]在该示例中,提供给储存网络跟踪器的用户设备的针对特定响应性资源的搜索结果将会包括通往不同资源的链接,而提供给未储存网络跟踪器的用户设备的针对同一特定响应性资源的其他搜索结果将不会包括通往不同资源的链接。相应地,与提供给储存网络跟踪器的用户设备的针对特定响应性资源的搜索结果的用户交互将会导致用户设备请求不同于通过与提供给未储存网络跟踪器的用户设备的针对同一特定响应性资源的搜索结果的用户交互而请求的资源的资源。
[0089]在一些实现中,对于特定响应性资源是否进行重定向的确定的条件是从用户设备接收特定语言设置数据。例如,提供语言设置数据“en”的用户设备可被重定向至以英语发布的网页,而提供语言设置数据“fr”的用户设备可被重定向至以法语发布的网页。因此,特定用户设备的重定向的条件可以是由该用户设备伴随对资源的请求和/或搜索请求而提供的语言设置数据。
[0090]向用户设备提供搜索结果(312)。如果响应性资源中的至少一个被标识为对于提交搜索请求的用户设备的重定向资源,则搜索结果可包括至少一个经更改的搜索结果,在其中已插入对不同资源(即,不同于重定向资源)的引用(例如,超文本链接),使得与经更改的搜索结果的用户交互将会发起对不同资源的请求而不首先请求重定向资源。如果没有任何响应性资源被标识为重定向资源,则可将每个搜索结果提供给用户设备而不插入对不同资源的新引用。
[0091]图4为可用于执行上文所述操作的示例计算机系统400的框图。系统400包括处理器410、存储器420、存储设备430和输入/输出设备440。组件410、420、430和440中的每一个可例如使用系统总线450互连起来。处理器410能够处理用于在系统400内执行的指令。在一个实现中,处理器410为单线程处理器。在另一实现中,处理器410为多线程处理器。处理器410能够处理储存在存储器420中或存储设备430上的指令。
[0092]存储器420储存系统400内的信息。在一个实现中,存储器420为计算机可读介质。在一个实现中,存储器420为易失性存储器单元。在另一实现中,存储器420为非易失性存储器单元。
[0093]存储设备430能够为系统400提供大容量存储。在一个实现中,储存设备430为计算机可读介质。在各个不同实现中,存储设备430可例如包括硬盘设备、光盘设备、由多个计算设备通过网络共享的存储设备(例如,云存储设备)或者一些其他大容量存储设备。
[0094]输入/输出设备440为系统400提供输入/输出操作。在一个实现中,输入/输出设备440可包括下列各项中的一项或多项:网络接口设备,例如,以太网卡;串行通信设备,例如,RS-232端口 ;以及/或者无线接口设备,例如,802.11卡。在另一实现中,输入/输出设备可包括驱动器设备,配置用于接收其他输入/输出设备(例如,键盘、打印机和显示设备460)的输入数据和向其他输入/输出设备发送输出数据。然而,其他实现还可用于诸如移动计算设备、移动通信设备、机顶盒电视客户端设备等。
[0095]虽然已在图4中描述了示例处理系统,但本说明书中所描述的主题和功能操作的实现亦可实现于其他类型的数字电子电路中,或者实现于计算机软件、固件或硬件中,包括本说明书中所公开的结构及其结构等同物,或者实现于它们之中的一个或多个的组合中。
[0096]本说明书中所描述的主题和操作的实施方式可实现于数字电子电路中,或者实现于计算机软件、固件或硬件中,包括本说明书中所公开的结构及其结构等同物,或者实现于它们之中的一个或多个的组合中。本说明书中所述主题的实施方式可实现为一个或多个计算机程序,即,编码在计算机存储介质上的用于由数据处理装置执行或控制数据处理装置的操作的计算机程序指令的一个或多个模块。替代地或附加地,所述程序指令可编码在人工生成的传播信号上,例如,机器生成的电信号、光信号或电磁信号,所述信号被生成用于编码信息以供传输到合适的接收器装置,以便由数据处理装置来执行。计算机存储介质可以是或者被包括在计算机可读存储设备、计算机可读存储基板、随机或序列存取存储器阵列或设备或者它们中的一种或多种的组合之中。另外,虽然计算机存储介质不是传播信号,但计算机存储介质可以是编码在人工生成的传播信号中的计算机程序指令的来源或目的地。计算机存储介质还可以是或者被包括在一个或多个独立的物理组件或介质(例如,多个CD、盘片或其他存储设备)之中。
[0097]本说明书中所述的操作可实现为由数据处理装置对储存在一个或多个计算机可读存储设备上的或接收自其他来源的数据执行的操作。
[0098]术语“数据处理装置”包含用于处理数据的所有种类的装置、设备和机器,举例而言包括可编程处理器、计算机、片上系统,或者多个前述诸项或其组合。所述装置可包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。所述装置除硬件之外还可包括创建用于所讨论的计算机程序的执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中一个或多个的组合的代码。所述装置和执行环境可实现各种不同的计算模型基础结构,诸如网络服务、分布式计算和网格计算基础结构。
[0099]计算机程序(亦称为程序、软件、软件应用、脚本或代码)能够以包括编译语言或解释语目、声明式语目或过程式语目在内的任何形式的编程语目来编写,并且其能够以任何形式部署,包括部署为独立程序或者部署为模块、组件、子例程、对象或其他适合在计算环境中使用的单元。计算机程序可以但不必对应于文件系统中的文件。程序可储存在保存其他程序或数据的文件的一部分中(例如,储存在标记语言文档中的一个或多个脚本),储存在专用于所讨论的程序的单个文件中,或者储存在多个协同文件(例如,储存一个或多个模块、子程序或代码部分的文件)中。计算机程序可部署为在一个计算机上或者在位于一个地点或跨多个地点分布并由通信网络互连起来的多个计算机上执行。
[0100]本说明书中所述的处理和逻辑流程可由执行一个或多个计算机程序以通过对输入数据的操作和生成输出来执行行动的一个或多个可编程处理器来执行。处理和逻辑流程还可由专用逻辑电路来执行,并且装置还可实现为专用逻辑电路,所述专用逻辑电路例如为FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
[0101]适合执行计算机程序的处理器举例而言包括通用微处理器和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。一般而言,处理器将会从只读存储器或随机存取存储器或者全部两者接收指令和数据。计算机的主要元件是用于执行依据指令的行动的处理器以及用于储存指令和数据的一个或多个存储器设备。一般而言,计算机还将包括或者可操作地耦合至或者既包括又可操作地耦合至例如磁盘、磁光盘或光盘等一个或多个用于储存数据的大容量存储设备,以从其接收数据或向其传输数据。然而,计算机并不必须具有这样的设备。此外,计算机可嵌入在另一设备中,仅举几例而言,可嵌入移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收机或者便携式存储设备(例如,通用串行总线(USB)闪存驱动器)。适合储存计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,举例而言,包括:半导体存储器设备,例如,EPROM、EEPROM和闪速存储器设备;磁盘,例如,内置硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路所补充,或者合并到专用逻辑电路中。
[0102]为了提供与用户的交互,本说明书中所述主题的实施方式可实现在具有用于向用户显示信息的显示设备(例如,CRT (阴极射线管)或LCD (液晶显示器)监视器)以及可由用户借以向计算机提供输入的键盘和指点设备(例如,鼠标或轨迹球)的计算机上。还可使用其他种类的设备来提供与用户的交互;例如,向用户提供的反馈可以是任何形式的感官反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入能够以任何形式接收,包括声音输入、语音输入或触觉输入。此外,计算机可通过向由用户所使用的设备发送文档和从该设备接收文档来与用户交互;例如,通过响应于从用户的客户端设备上的网络浏览器接收到的请求而向该网络浏览器发送网页。
[0103]本说明书中所述主题的实施方式可实现在包括后端组件(例如,作为数据服务器)的计算系统中,实现在包括中间件组件(例如,应用服务器)的计算系统中,或实现在包括前端组件(例如,具有图形用户界面或网络浏览器的客户端计算机,用户可通过该图形用户界面或网络浏览器与本说明书中所述主题的实现进行交互)的计算系统中,或者实现在包括一个或多个此类后端、中间件或前端组件的任何组合的计算系统中。系统的组件可通过任何数字数据通信形式或介质(例如,通信网络)互连起来。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互联网络(例如,因特网)以及对等网络(例如,自组对等网络)。
[0104]计算系统可包括客户端和服务器。客户端和服务器一般彼此远离,并且通常通过通信网络来交互。客户端与服务器的关系借助运行于相应的计算机上并彼此具有客户端-服务器关系的计算机程序而产生。在一些实施方式中,服务器向客户端设备传输数据(例如,HTML页面)(例如,为了向与客户端设备交互的用户显示数据和接收来自该用户的用户输入)。生成于客户端设备上的数据(例如,用户交互的结果)可在服务器处从客户端设备接收。
[0105]虽然本说明书含有许多具体实现细节,但这些细节不应解释为对任何发明或者可要求保护的范围的限制,而是应当解释为针对特定发明的特定实施方式的特征的描述。本说明书中在单独的实施方式背景下描述的某些特征亦可在单一实施方式中组合实现。反之,在单一实施方式背景下描述的各个特征亦可单独地或以任何适当的子组合在多个实施方式中实现。此外,虽然上文可能将特征描述为以某些组合发挥作用并且甚至最初声称如此,但来自所声称的组合的一个或多个特征可在一些情况下从组合中摘除,并且所声称的组合可针对子组合或者子组合的变体。
[0106]类似地,虽然在附图中以特定顺序描绘操作,但不应将此理解为要求以所示特定顺序或依照顺序执行此类操作,或者要求执行所有图示的操作来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上文所述实施方式中各个系统组件的分离不应理解为在所有实施方式中要求这样的分离,并且应当理解,所描述的程序组件和系统一般可以一起集成在单一软件产品中或者封装到多个软件产品中。
[0107]已经如此描述了主题的特定实施方式。其他实施方式亦属于以下权利要求的范围内。在一些情况下,权利要求中记载的行动能够以不同顺序执行并仍然实现期望的结果。另夕卜,附图中描绘的过程并不一定需要所示的特定顺序或顺序次序来实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
【权利要求】
1.一种由数据处理装置执行的方法,所述方法包括: 接收指定针对由用户设备提交的搜索请求的一组响应性资源的数据; 由数据处理装置确定针对来自所述一组响应性资源的特定资源的资源请求将会导致所述用户设备被重定向至与所述特定资源不同的资源; 响应于所述确定,由数据处理装置向针对所述特定资源的搜索结果中插入对所述不同资源的引用,所述引用被配置用于响应于与所述搜索结果的用户交互而发起针对所述不同资源的资源请求,所述资源请求独立于针对所述特定资源的资源请求而被发起;以及 向所述用户设备提供针对所述特定资源的所述搜索结果,所述搜索结果包括对所述不同资源的所述引用。
2.根据权利要求1的方法,其中确定针对所述特定资源的请求将会导致所述用户设备被重定向至不同资源包括: 确定所述用户设备为移动设备;以及 确定来自移动设备的针对所述特定资源的资源请求将会导致所述移动设备被重定向。
3.根据权利要求2的方法,其中确定来自移动设备的针对所述特定资源的资源请求将会导致所述移动设备被重定向包括: 接收指定已被标识为重定向资源的一个或多个资源的重定向数据,重定向资源为将会响应于针对所述重定向资源的资源请求而导致至少一个用户设备请求不同资源的资源; 确定在所述重定向数据中包括针对所述特定资源的标识符;以及确定针对所述特定资源的所述重定向数据指示出所述特定资源响应于来自所述移动设备的针对所述特定资源的请求而导致所述移动设备被重定向至所述不同资源。
4.根据权利要求3的方法,还包括确定针对所述特定资源的所述重定向数据指示出所述特定资源不响应于来自非移动设备的针对所述特定资源的资源请求而导致所述非移动设备被重定向至所述不同资源。
5.根据权利要求4的方法,还包括: 接收指定针对所述特定资源的搜索结果的数据,所述搜索结果包括通往所述特定资源的链接; 确定所述搜索结果被提供给非移动设备;以及 向所述非移动设备提供所述搜索结果,所述搜索结果包括通往所述特定资源的所述链接。
6.根据权利要求1的方法,还包括: 由所述用户设备接收针对所述特定资源的所述搜索结果,所述搜索结果包括对所述不同资源的所述引用; 由所述用户设备确定发生了与所述搜索结果的用户交互;以及 由所述用户设备响应于与所述搜索结果的所述用户交互而请求所述不同资源。
7.根据权利要求1的方法,还包括: 确定所述用户设备储存针对所述特定资源的网络跟踪器,其中确定针对所述特定资源的所述请求将会导致所述用户设备被重定向至不同资源包括确定所述不同资源至少部分地基于来自所述网络跟踪器的信息而被选择。
8.根据权利要求1的方法,还包括: 确定从所述用户设备接收的语言设置数据指定针对所述用户设备的特定语言,其中确定针对所述特定资源的所述请求将会导致所述用户设备被重定向至不同资源包括确定所述不同资源至少部分地基于从所述用户设备接收代表所述特定语言的所述语言设置数据而被选择。
9.根据权利要求1的方法,还包括: 由数据处理装置确定所述一组响应性资源包括基于品牌的重定向资源,所述基于品牌的重定向资源为导致特定品牌的用户设备被重定向至与所述基于品牌的重定向资源不同的特定于品牌的资源的资源; 确定针对所述基于品牌的重定向资源的基于品牌的重定向数据对于至少一个品牌的用户设备不可用;以及 向所述用户设备提供针对所述基于品牌的重定向资源的搜索结果,针对所述基于品牌的重定向资源的所述搜索结果包括对所述基于品牌的重定向资源的引用。
10.根据权利要求1的方法,还包括: 由数据处理装置确定所述一组响应性资源包括基于语言的重定向资源,所述基于语言的重定向资源为导致具有特定语言设置数据的用户设备被重定向至与所述基于语言的重定向资源不同的特定于语言的资源的资源; 确定针对所述基于语言的重定向资源的基于语言的重定向数据对于至少一个语言设置不可用;以及 向所述用户设备提供针对所述基于语言的重定向资源的搜索结果,针对所述基于语言的重定向资源的所述搜索结果包括对所述基于语言的重定向资源的引用。
11.根据权利要求1的方法,还包括: 由数据处理装置确定所述一组响应性资源包括暂时重定向资源,所述暂时重定向资源为导致用户设备被重定向至与所述暂时重定向资源不同的暂时资源的资源;以及 向所述用户设备提供针对所述暂时重定向资源的搜索结果,针对所述暂时重定向资源的所述搜索结果不包括对所述暂时资源的引用。
12.—种编码有计算机程序的计算机存储介质,所述程序包括指令,所述指令在由数据处理装置执行时导致所述数据处理装置执行操作,所述操作包括: 接收指定针对由用户设备提交的搜索请求的一组响应性资源的数据; 确定针对来自所述一组响应性资源的特定资源的资源请求将会导致所述用户设备被重定向至与所述特定资源不同的资源; 响应于所述确定,向针对所述特定资源的搜索结果中插入对所述不同资源的引用,所述引用被配置用于响应于与所述搜索结果的用户交互而发起针对所述不同资源的资源请求,所述资源请求独立于针对所述特定资源的资源请求而被发起;以及 向所述用户设备提供针对所述特定资源的所述搜索结果,所述搜索结果包括对所述不同资源的所述引用。
13.—种系统,包括: 用户设备;以及 一个或多个计算机,其可操作以与所述设备交互和执行操作,所述操作包括: 接收指定针对由所述用户设备提交的搜索请求的一组响应性资源的数据; 确定针对来自所述一组响应性资源的特定资源的资源请求将会导致所述用户设备被重定向至与所述特定资源不同的资源; 响应于所述确定,向针对所述特定资源的搜索结果中插入对所述不同资源的引用,所述引用被配置用于响应于与所述搜索结果的用户交互而发起针对所述不同资源的资源请求,所述资源请求独立于针对所述特定资源的资源请求被发起;以及 向所述用户设备提供针对所述特定资源的所述搜索结果,所述搜索结果包括对所述不同资源的所述引用。
14.根据权利要求13的系统,其中确定针对所述特定资源的请求将会导致所述用户设备被重定向至不同资源包括: 确定所述用户设备为移动设备;以及 确定来自移动设备的针对所述特定资源的资源请求将会导致所述移动设备被重定向。
15.根据权利要求14的系统,其中确定来自移动设备的针对所述特定资源的资源请求将会导致所述移动设备被重定向包括: 接收指定已被标识为重定向资源的一个或多个资源的重定向数据,重定向资源为将会响应于针对所述重定向资源的资源请求而导致至少一个用户设备请求不同资源的资源;确定在所述重定向数据中包括针对所述特定资源的标识符;以及确定针对所述特定资源的所述重定向数据指示出所述特定资源响应于来自移动设备的针对所述特定资源的请求而导致所述移动设备被重定向至所述不同资源。
16.根据权利要求15的系统,其中所述一个或多个计算机还可操作用于执行如下操作,包括:确定针对所述特定资源的所述重定向数据指示出所述特定资源不响应于来自非移动设备的针对所述特定资源的资源请求而导致所述非移动设备被重定向至所述不同资源。
17.根据权利要求16的系统,其中所述一个或多个计算机还可操作用于执行如下操作,包括: 接收指定针对所述特定资源的搜索结果的数据,所述搜索结果包括通往所述特定资源的链接; 确定所述搜索结果被提供给非移动设备;以及 向所述非移动设备提供所述搜索结果,所述搜索结果包括通往所述特定资源的所述链接。
18.根据权利要求13的系统,其中所述用户设备还可操作用于执行如下操作,包括: 接收针对所述特定资源的所述搜索结果,所述搜索结果包括对所述不同资源的所述引用; 确定发生了与所述搜索结果的用户交互;以及 响应于与所述搜索结果的所述用户交互而请求所述不同资源。
19.根据权利要求13的系统,其中所述一个或多个计算机还可操作用于执行如下操作,包括: 确定所述用户设备储存针对所述特定资源的网络跟踪器,其中确定针对所述特定资源的所述请求将会导致所述用户设备被重定向至不同资源包括确定所述不同资源至少部分地基于来自所述网络跟踪器的信息而被选择。
20.根据权利要求13的系统,其中所述一个或多个计算机还可操作用于执行如下操作,包括: 确定从所述用户设备接收的语言设置数据指定针对所述用户设备的特定语言,其中确定针对所述特定资源的所述请求将会导致所述用户设备被重定向至不同资源包括确定所述不同资源至少部分地基于从所述用户设备接收代表所述特定语言的所述语言设置数据而被选择。
21.根据权利要求13的系统,其中所述一个或多个计算机还可操作用于执行如下操作,包括: 确定所述一组响应性资源包括基于品牌的重定向资源,所述基于品牌的重定向资源为导致特定品牌的用户设备被重定向至与所述基于品牌的重定向资源不同的特定于品牌的资源的资源; 确定针对所述基于品牌的重定向资源的基于品牌的重定向数据对于至少一个品牌的用户设备不可用;以及 向所述用户设备提供针对所述基于品牌的重定向资源的搜索结果,针对所述基于品牌的重定向资源的所述搜索结果包括对所述基于品牌的重定向资源的引用。
22.根据权利要求13的系统,其中所述一个或多个计算机还可操作用于执行如下操作,包括: 确定所述一组响应性资源包括基于语言的重定向资源,所述基于语言的重定向资源为导致具有特定语言设置数据的用户设备被重定向至与所述基于语言的重定向资源不同的特定于语言的资源的资源; 确定针对所述基于语言的重定向资源的基于语言的重定向数据对于至少一个语言设置不可用;以及 向所述用户设备提供针对所述基于语言的重定向资源的搜索结果,针对所述基于语言的重定向资源的所述搜索结果包括对所述基于语言的重定向资源的引用。
23.根据权利要求13的系统,其中所述一个或多个计算机还可操作用于执行如下操作,包括: 确定所述一组响应性资源包括暂时重定向资源,所述暂时重定向资源为导致用户设备被重定向至与所述暂时重定向资源不同的暂时资源的资源;以及 向所述用户设备提供针对所述暂时重定向资源的搜索结果,针对所述暂时重定向资源的所述搜索结果不包括对所述暂时资源的引用。
【文档编号】G06F17/30GK104428765SQ201280068302
【公开日】2015年3月18日 申请日期:2012年11月30日 优先权日:2011年12月7日
【发明者】菅原悠, 加藤义清, 今泉龙一, 福岛健一 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1