在多个网页上维护会话标识符以进行内容选择的制作方法

文档序号:18706047发布日期:2019-09-17 23:43阅读:162来源:国知局
在多个网页上维护会话标识符以进行内容选择的制作方法

本申请要求提交于2017年8月21日的题为“maintainingsessionidentifiersacrossmultiplewebpagesforcontentselection”的pct申请no.pct/us2017/047843的权益和优先权,其全部内容通过引用并入本文。



背景技术:

在诸如互联网的计算机网络环境中,诸如人或公司之类的实体提供用于在网页或其他在线文档上公开显示的信息。文档可以包括由实体经由计算装置提供的信息以在互联网上显示。内容也可以由其他实体提供,以与实体提供的信息一起显示在文档上。因此,查看文档的用户可以存取作为文档主题的信息,以及可能与或可能不与文档的主题相关的第三方内容。



技术实现要素:

至少一个方面涉及一种在多个网页上维护会话标识符以进行内容选择的方法。具有一个或多个处理器的数据处理系统可以响应于从客户端装置接收对第一指令的第一请求,该第一指令是对内容发布者的第一信息资源的第一报头进行插入来选择多个内容提供者中的一个,生成对应于客户端装置的会话标识符,其用于选择要在内容发布者的多个信息资源上服务的内容。可以将会话标识符提供给多个内容提供者。随后,数据处理系统可以从客户端装置接收对第二指令的第二请求,该第二指令是对第二信息资源的第二报头进行插入来选择多个内容提供者中的一个。第二请求可以包括会话标识符。数据处理系统可以确定第二请求包括会话标识符,该会话标识符与响应于接收第一请求而生成的会话标识符匹配。数据处理系统可以响应于确定第二请求包括会话标识符,使用所述标识符获得用于多个内容提供者中的每个内容提供者的相应的内容选择参数值。数据处理系统可以使用从多个内容提供者获得的多个内容选择参数值,从多个内容提供者中选择内容提供者。数据处理系统可以向客户端装置提供内容取回脚本以插入第二信息资源的第二报头中。内容取回脚本可以配置为使得客户端装置从所选择的内容提供者获得内容项以插入第二信息资源中。

在一些实现方式中,数据处理系统可以从客户端装置接收对第一指令的第一请求,该第一指令是对内容发布者的第一信息资源的第一报头进行插入来选择多个内容提供者中的一个。在一些实现方式中,数据处理系统可以将会话标识符提供给多个内容提供者,该多个内容提供者被允许将内容项插入内容发布者的多个信息资源中。在一些实现方式中,数据处理系统可以响应于接收第一请求,向客户端装置提供参数值取回脚本,以插入第一信息资源的第一报头中。参数值取回脚本可以配置为允许对应的内容提供者使用会话标识符存取在客户端装置上储存的状态数据并取回。参数值取回脚本可以配置为使得客户端装置从多个内容提供者中的每个内容提供者获得第一多个内容选择参数值。第一多个内容选择参数中的每一个可以用于选择第一内容项以插入到第一信息资源上。

在一些实现方式中,在接收第二请求之后,数据处理系统可以接收对第三指令的第三请求,该第三指令是对第三信息资源的第三报头进行插入来选择多个内容提供者中的一个。第三请求可以包括会话标识符。在一些实现方式中,数据处理系统可以基于伪随机数生成器生成的随机值确定第三报头要被插入参数值取回脚本而不是内容取回脚本。在一些实现方式中,数据处理系统可以响应于接收第三请求,向客户端装置提供参数值取回脚本,以插入第三信息资源的第三报头中。参数值取回脚本可以配置为允许对应的内容提供者使用会话标识符存取在客户端装置上储存的状态数据并取回。参数值取回脚本可以配置为使得客户端装置从多个内容提供者中的每个内容提供者获得第三多个内容选择参数值。第三内容选择参数中的每一个可以用于选择第一内容项以插入到第三信息资源上。

在一些实现方式中,数据处理系统可以使用从多个内容提供者获得的多个内容选择参数值来标识对应于所选择的内容提供者的内容提供者地址。在一些实现方式中,数据处理系统可以生成内容取回脚本,该内容取回脚本包括使得客户端装置使用内容提供者地址获得内容项的指令。在一些实现方式中,提供内容取回脚本还可以包括向客户端装置提供内容取回脚本。接收内容取回脚本可以使得客户端装置向内容取回脚本中指定的内容提供者地址发送对内容的请求,并随后从内容提供者接收内容项。

在一些实现方式中,响应于接收第一请求,数据处理系统可以确定客户端装置先前没有存取过内容发布者的多个信息资源。在一些实现方式中,生成所会话标识符还可以包括响应于确定客户端装置先前没有存取过多个信息资源来生成会话标识符。

在一些实现方式中,生成会话标识符还可以包括向多个内容提供者中的每个内容提供者提供会话标识符。接收会话标识符可以使得对应的内容提供者将会话标识符储存为对应于客户端装置,以用于提供要在内容发布者的多个信息资源上服务的内容。接收会话标识符可以使得对应的内容提供者将客户端装置使用的内容选择参数发送到数据处理系统,以选择第一内容项来插入到客户端装置处的第一信息资源上。

在一些实现方式中,向客户端装置提供内容取回脚本还可以包括向客户端装置提供内容取回脚本。接收内容取回脚本可以使得客户端装置将内容取回脚本插入第二信息资源的第二报头中。接收内容取回脚本可以使得客户端装置在执行第二信息资源的其余部分之前,执行第二信息资源的包括内容取回脚本的第二报头。接收内容取回脚本可以使得客户端装置在执行第二报头的内容取回脚本时向所选择的内容提供者发送对内容的请求。接收内容取回脚本可以使得客户端装置在发送对内容的请求之后从所选择的内容提供者获得内容项。接收内容取回脚本可以使得客户端装置响应于获得内容项将内容项插入第二信息资源的其余部分中。

在一些实现方式中,使用会话标识符获得用于多个内容提供者中的每个内容提供者的相应的内容选择参数值还可以包括,使用会话标识符获得用于每个内容提供者的内容选择参数值的条件序列。内容选择参数的条件序列可以指定用于第二信息资源的相应的内容选择参数值。内容选择参数的条件序列可以指定以下中的一个:第二相应的内容选择参数,其基于选择用于第二信息资源之后的内容发布者的第三信息资源的对应的内容提供者,或第三相应的内容选择参数,其基于不选择用于第三信息资源的对应的内容提供者。

在一些实现方式中,在接收第二请求之后,数据处理系统可以接收对第三指令的第三请求,该第三指令是对第三信息资源的第三报头进行插入来选择多个内容提供者中的一个,第三请求包括会话标识符。在一些实现方式中,数据处理系统可以使用从多个内容提供者获得的内容选择参数值的条件序列,为第三信息资源从多个内容提供者中选择内容提供者。在一些实现方式中,数据处理系统可以向客户端装置提供第二内容取回脚本以插入第三信息资源的第三报头中。内容取回脚本可以配置为使得客户端装置从所选择的内容提供者获得第二内容项以插入第三信息资源中。

在一些实现方式中,在接收第二请求之后,数据处理系统可以接收对第三指令的第三请求,该第三指令是对第三信息资源的第三报头进行插入来选择多个内容提供者中的一个。第三请求可以包括会话标识符。在一些实现方式中,数据处理系统可以基于伪随机数生成器生成的随机值确定内容选择参数值的条件序列不用于选择第三信息资源的多个内容提供者中的一个。在一些实现方式中,数据处理系统可以响应于确定不使用内容选择参数值的条件序列,使用会话标识符获得用于多个内容提供者中的每个内容提供者的新的内容选择参数值。在一些实现方式中,数据处理系统可以使用从多个内容提供者获得的多个新的内容选择参数值,从多个内容提供者中选择内容提供者或第二内容提供者中的一个。在一些实现方式中,数据处理系统可以向客户端装置提供第二内容取回脚本以插入第三信息资源的第三报头中。内容取回脚本可以配置为使得客户端装置从所选择的内容提供者获得第三内容项以插入第三信息资源中。

至少一个方面涉及一种在多个网页上维护会话标识符以进行内容选择的系统。具有一个或多个处理器的数据处理系统可以响应于从客户端装置接收对第一指令的第一请求,该第一指令是对内容发布者的第一信息资源的第一报头进行插入来选择多个内容提供者中的一个,生成对应于客户端装置的会话标识符,其用于选择要在内容发布者的多个信息资源上服务的内容。可以将会话标识符提供给多个内容提供者。随后,数据处理系统可以从客户端装置接收对第二指令的第二请求,该第二指令是对第二信息资源的第二报头进行插入来选择多个内容提供者中的一个。第二请求可以包括会话标识符。数据处理系统可以确定第二请求包括会话标识符,该会话标识符与响应于接收第一请求而生成的会话标识符匹配。数据处理系统可以响应于确定第二请求包括会话标识符,使用标识符获得用于多个内容提供者中的每个内容提供者的相应的内容选择参数值。数据处理系统可以使用从多个内容提供者获得的多个内容选择参数值,从多个内容提供者中选择内容提供者。数据处理系统可以向客户端装置提供内容取回脚本以插入第二信息资源的第二报头中。内容取回脚本可以配置为使得客户端装置从所选择的内容提供者获得内容项以插入第二信息资源中。

在一些实现方式中,数据处理系统可以从客户端装置接收对第一指令的第一请求,该第一指令是对内容发布者的第一信息资源的第一报头进行插入来选择多个内容提供者中的一个。在一些实现方式中,数据处理系统可以将会话标识符提供给多个内容提供者,该多个内容提供者被允许将内容项插入内容发布者的多个信息资源中。在一些实现方式中,数据处理系统可以响应于接收第一请求,向客户端装置提供参数值取回脚本,以插入第一信息资源的第一报头中。参数值取回脚本可以配置为允许对应的内容提供者使用会话标识符存取在客户端装置上储存的状态数据并取回。参数值取回脚本可以配置为使得客户端装置从多个内容提供者中的每个内容提供者获得第一多个内容选择参数值。第一多个内容选择参数中的每一个可以用于选择第一内容项以插入到第一信息资源上。

在一些实现方式中,在接收第二请求之后,数据处理系统可以接收对第三指令的第三请求,该第三指令是对第三信息资源的第三报头进行插入来选择多个内容提供者中的一个。第三请求可以包括会话标识符。在一些实现方式中,数据处理系统可以基于伪随机数生成器生成的随机值确定第三报头要被插入参数值取回脚本而不是内容取回脚本。在一些实现方式中,数据处理系统可以响应于接收第三请求,向客户端装置提供参数值取回脚本,以插入第三信息资源的第三报头中。参数值取回脚本可以配置为允许对应的内容提供者使用会话标识符存取在客户端装置上储存的状态数据并取回。参数值取回脚本可以配置为使得客户端装置从多个内容提供者中的每个内容提供者获得第三多个内容选择参数值。第三内容选择参数中的每一个可以用于选择第一内容项以插入到第三信息资源上。

在一些实现方式中,数据处理系统可以使用从多个内容提供者获得的多个内容选择参数值来标识对应于所选择的内容提供者的内容提供者地址。在一些实现方式中,数据处理系统可以生成内容取回脚本,该内容取回脚本包括使得客户端装置使用内容提供者地址获得内容项的指令。在一些实现方式中,数据处理系统可以向客户端装置提供内容取回脚本。接收内容取回脚本可以使得客户端装置向内容取回脚本中指定的内容提供者地址发送对内容的请求,并随后从内容提供者接收内容项。

在一些实现方式中,响应于接收第一请求,数据处理系统可以确定客户端装置先前没有存取过内容发布者的多个信息资源。在一些实现方式中,响应于确定客户端装置先前没有存取过多个信息资源,数据处理系统可以生成会话标识符。

在一些实现方式中,数据处理系统可以向多个内容提供者中的每个内容提供者提供会话标识符。接收会话标识符可以使得对应的内容提供者将会话标识符储存为对应于客户端装置,以用于提供要在内容发布者的多个信息资源上服务的内容。接收会话标识符可以使得对应的内容提供者将客户端装置使用的内容选择参数发送到数据处理系统,以选择第一内容项来插入到客户端装置处的第一信息资源上。

在一些实现方式中,数据处理系统可以向客户端装置提供内容取回脚本。接收内容取回脚本可以使得客户端装置将内容取回脚本插入第二信息资源的第二报头中。接收内容取回脚本可以使得客户端装置在执行第二信息资源的其余部分之前,执行第二信息资源的包括内容取回脚本的第二报头。接收内容取回脚本可以使得客户端装置在执行第二报头的内容取回脚本时向所选择的内容提供者发送对内容的请求。接收内容取回脚本可以使得客户端装置在发送对内容的请求之后从所选择的内容提供者获得内容项。接收内容取回脚本可以使得客户端装置响应于获得内容项将内容项插入第二信息资源的其余部分中。

在一些实现方式中,数据处理系统可以使用会话标识符为每个内容提供者获得内容选择参数值的条件序列。内容选择参数的条件序列可以指定用于第二信息资源的相应的内容选择参数值。内容选择参数的条件序列可以指定以下中的一个:第二相应的内容选择参数,其基于选择用于第二信息资源之后的内容发布者的第三信息资源的对应的内容提供者,或第三相应的内容选择参数,其基于不选择用于第三信息资源的对应的内容提供者。

在一些实现方式中,在接收所述第二请求之后,数据处理系统可以接收对第三指令的第三请求,该第三指令是对第三信息资源的第三报头进行插入来选择多个内容提供者中的一个,第三请求包括会话标识符。在一些实现方式中,数据处理系统可以使用从多个内容提供者获得的内容选择参数值的条件序列,为第三信息资源从多个内容提供者中选择所述内容提供者。在一些实现方式中,数据处理系统可以向客户端装置提供第二内容取回脚本以插入第三信息资源的第三报头中。内容取回脚本可以配置为使得客户端装置从所选择的内容提供者获得第二内容项以插入第三信息资源中。

在一些实现方式中,在接收第二请求之后,数据处理系统可以接收对第三指令的第三请求,该第三指令是对插入第三信息资源的第三报头进行插入来选择多个内容提供者中的一个。第三请求可以包括会话标识符。在一些实现方式中,数据处理系统可以基于伪随机数生成器生成的随机值确定内容选择参数值的条件序列不用于选择第三信息资源的多个内容提供者中的一个。在一些实现方式中,数据处理系统可以响应于确定不使用内容选择参数值的条件序列,使用会话标识符获得用于多个内容提供者中的每个内容提供者的新的内容选择参数值。在一些实现方式中,数据处理系统可以使用从多个内容提供者获得的多个新的内容选择参数值,从多个内容提供者中选择内容提供者或第二内容提供者中的一个。在一些实现方式中,数据处理系统可以向客户端装置提供第二内容取回脚本以插入第三信息资源的第三报头中。内容取回脚本可以配置为使得客户端装置从所选择的内容提供者获得第三内容项以插入第三信息资源中。

下面详细讨论这些和其他方面及实现方式。前述信息和以下详细描述包括各种方面和实现方式的说明性示例,并提供用于理解所要求保护的方面和实现方式的性质和特性的概述或框架。附图提供了对各个方面和实现方式的说明和进一步理解,并且被并入本说明书中并构成其一部分。

附图说明

附图不旨在按比例绘制。各附图中相同的附图标记和名称表示相同的元件。为清楚起见,可以不用在每个附图中标记每个组件。在附图中:

图1是根据说明性实现方式的描绘用于在多个网页上维护会话标识符以进行内容选择的计算机网络环境的框图;

图2a和2b是根据说明性实现方式的各自描绘用于在多个网页上维护会话标识符以进行内容选择的系统的框图;

图3a-3c是根据说明性实现方式的描绘在多个网页上维护会话标识符以进行内容选择的方法的流程图;

图4是根据说明性实现方式的描绘在多个网页上维护会话标识符以进行内容选择的方法的流程图;以及

图5是根据说明性实现方式的示出可用于实现本文描述和示出的系统和方法的元件的计算机系统的总体架构的框图。

具体实施方式

以下是与在多个网页上维护会话标识符以进行内容选择的方法、设备和系统有关的各种概念及其实现方式的更详细描述。上面介绍并在下面更详细讨论的各种概念可以以许多方式中的任何方式来实现,因为所描述的概念不限于任何特定的实现方式。

在当前的报头内容选择技术中,网站发布者可以发布包括插槽(slot)的网页,其用于插入由除了网站发布者之外的内容提供者所提供的补充内容。在这种技术中,网站发布者可以将脚本(以javascript的形式)插入到网页的报头中。当加载网页时,脚本可以触发客户端装置以联系一个或多个内容提供者以提供补充信息,以便选择包含在网页中的内容(例如,相关性得分、预测的交互率,出价值等,或者其任何组合),而不是直接向单个内容选择服务器发送对补充内容的请求。一经从内容提供者接收到回复,脚本可以允许客户端装置选择内容提供者,以使用网页本身的代码提供补充内容。一旦标识出其内容项将被插入到网页中的内容提供者,则客户端装置本身可以使用进一步沿着网页的代码向下的请求脚本向内容选择服务器发送对内容的请求。内容选择服务器可以向所标识的内容提供者发送对内容的请求,并且内容提供者进而可以向客户端装置发送内容项。

这种技术可能产生的一个问题可能包括引入额外的网络延迟,因为客户端装置加载了同一网站的多个网页。这可能是因为在报头脚本中包含内容提供者标签可能导致每个内容提供者的重复请求调用。

为了解决该问题,可以将包装器(wrapper)添加到网页代码的报头中,以将一些步骤传送到内容选择服务器。包装器可以包括来自每个内容提供者的代码,以允许每个内容提供者根据报头内容选择技术读取客户端装置上的相应的(多个)cookie。

使用第一请求,包装器可以包括用于客户端装置的会话标识符以及向内容提供者对内容选择参数值的请求。会话标识符可以由内容提供者的内容选择服务器生成。内容提供者可以进而将会话标识符与客户端装置的cookie相关联。

当客户端装置存取网站的其他网页时,对于后续请求,内容选择服务器可以向内容提供者发送请求,而不是客户端装置向内容提供者做出单独的请求。以这种方式,随着调用次数的降低,可以减少延迟。此外,内容选择服务器和内容提供者之间的调用可以是服务器到服务器调用,并且通常比客户端到服务器调用(通常花费几百毫秒或更少)更快,并且这进一步减少延迟。与之相比,客户端装置向多个内容提供者发送请求可能需要多秒(例如,几秒)。在从内容选择服务器接收到请求时,内容提供者可以从会话标识符标识对应的客户端装置。包装器还可以在标准报头内容选择技术和所提出的技术之间切换,以确认延迟的减少和与所选择的内容项的交互率的增加。

由于客户端装置加载同一网站的多个网页,因此报头内容选择技术可能产生的另一个问题可能包括用于选择补充内容的选择参数值的不准确性。可能提前指定报头脚本中包含的补充内容的选择参数值。随着时间的推移,这些选择参数值可能会失去准确性,导致选择(或不选择)内容项,否则如果没有使用这种报头内容选择技术则不会选择该内容项。

为了解决该挑战,可以在网页代码的报头中提供脚本,该脚本具有用于补充内容的选择参数值链,其不仅用于当前网页而且用于后续网页。选择参数值链可以指定条件选择参数值。例如,如果已经为第一网页选择了内容提供者的内容项,则链可以指定网站的第二网页的内容的选择参数值。以这种方式,可以减少延迟,因为客户端装置不发送从内容提供者获取选择参数值的请求。

然而,该模式可能导致内容选择参数值随时间的不准确性。为了减少不准确性,脚本可以在使用选择参数值链和从内容提供者获取选择参数值之间切换。内容选择服务器可以计算建议链和所获取的选择参数值之间的偏移。使用该偏移,服务器可以训练机器学习模型以确定何时选择选择参数值链或所获取的选择参数值。

现在参考图1,描绘了用于在多个网页上维护会话标识符以进行内容选择的环境100的一种实现方式的框图。环境100可以包括至少一个数据处理系统110,其经由网络105连接到至少一个内容发布者115、一个或多个内容提供者120a-n、和/或至少一个客户端装置125。数据处理系统110、至少一个内容发布者115、一个或多个内容提供者120a-n、和客户端装置125中的每一个可以包括至少一个处理器和存储器,其中的每一个在下面结合图5更详细地讨论。

网络105可以包括诸如互联局域网、广域网、城域网或其他区域网络、内联网、卫星网络的计算机网络,诸如语音或数据移动电话通信网络的其他计算机网络,以及它们的组合。系统100的数据处理系统110可以经由网络105,例如与至少一个内容提供者115、一个或多个内容提供者120a-n、和至少一个客户端装置125进行通信。网络105可以是在客户端装置125、数据处理系统110和一个或多个内容源(例如网络服务器等)之间中继信息的任何形式的计算机网络。在一些实现方式中,网络105可以包括互联网和/或其他类型的数据网络,例如局域网(lan)、广域网(wan)、蜂窝网络、卫星网络或其他类型的数据网络。网络105还可以包括配置为在网络105内接收和/或发送数据的任何数量的计算装置(例如,计算机、服务器、路由器、网络交换机等)。网络105还可以包括任何数量的硬连线和/或无线连接。客户端装置125可以与硬连线(例如,经由光纤电缆、cat5电缆等)到网络105中的其他计算装置的收发器进行无线地通信(例如,经由wifi、蜂窝、无线电等)。客户端装置125还可以经由代理装置(例如,路由、网络交换机或网关)与网络105的计算装置进行无线通信。

数据处理系统110可以包括至少一个处理器和存储器,即处理电路。存储器储存处理器-可执行指令,当由处理器执行时,使处理器进行本文所述的一个或多个操作。处理器可以包括微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)等,或其组合。存储器可以包括但不限于电子、光学、磁性或能够向处理器提供程序指令的任何其他储存装置或传输装置。存储器还可以包括软盘、cd-rom、dvd、磁盘、存储器芯片、asic、fpga、只读存储器(rom)、随机存取存储器(ram)、电可擦除可编程rom(eeprom)、可擦除可编程rom(eprom)、闪速存储器、光学介质或处理器可从其读取指令的任何其他合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码。数据处理系统110可以包括可以进行各种功能的一个或多个计算装置或服务器。在一些实现方式中,数据处理系统可以包括配置为主持竞拍的内容放置系统。在一些实现方式中,数据处理系统110不包括内容放置系统,而是配置为经由网络105与内容放置系统通信。

内容发布者115可以包括由内容发布实体运营的服务器或其他计算装置,以提供一个或多个信息资源144(例如,网页)(通常称为信息资源144),其包括用于经由网络105在客户端装置125处显示的主要内容。例如,内容发布者115可以包括网页运营者,其提供用于在网页上显示的主要内容。一个或多个信息资源144可以包括除内容提供者120a-n提供的内容之外的内容,并且网页可以包括配置为用于显示来自内容提供者120a-n的内容项的内容插槽。例如,内容发布者115可以运营公司的网站,并且可以提供关于该公司的内容以在网站的网页上显示。网页可以包括配置为用于显示内容提供者120a-n的第三方内容项的内容插槽。在一些实现方式中,内容发布者115包括运营搜索引擎网站的搜索引擎运营者的搜索引擎计算装置(例如,服务器)。搜索引擎网页的主要内容(例如,结果或登陆网页)可以包括搜索结果以及在内容插槽中显示的第三方内容项,例如来自内容提供者120的内容项。下面将解释在环境100的上下文中的内容发布者115的功能。

每个内容提供者120a-n可以包括由内容提供者实体运营的服务器或其他计算装置,以提供内容项146a-n(通常称为内容项146)以在客户端装置125处的信息资源144上显示。内容提供者120a-n提供的内容可以包括用于在信息资源上显示的第三方内容项146,例如包括主要内容的信息资源144,例如,内容提供者120a-n提供的内容。内容项146也可以显示在搜索结果网页上。例如,内容提供者120a-n可以提供或者是用于在信息资源144的内容插槽中显示的广告或其他内容项146的来源,例如其中网页的主要内容由公司提供的公司的网页,或者提供或者是用于在由搜索引擎提供的搜索结果登陆页面上显示的广告或其他内容项146的来源。与内容提供者120a-n相关联的内容项146可以在除网页之外的信息资源144上显示,例如作为在智能手机或其他客户端装置125上执行应用程序的一部分而显示的内容。下面将解释在环境100的上下文中的内容提供者120a-n的功能。

客户端装置125可以包括计算装置,其配置为经由网络105通信以显示数据例如由内容发布者装置提供的内容(例如,主要网页内容或其他信息资源)和由内容提供者装置提供的内容(例如,配置为在信息资源中显示的内容项)。客户端装置125可以包括台式计算机、膝上型计算机、平板电脑、智能手机、个人数字助理、移动装置、消费者计算装置、服务器、客户端、数字视频录像机、电视机顶盒、视频游戏控制器或配置为经由网络105通信的任何其他计算装置。客户端装置125可以是通信装置,终端用户可以通过该通信装置提交接收内容的请求。请求可以是对搜索引擎的请求,并且请求可以包括搜索查询。在一些实现方式中,请求可以包括存取网页的请求。

客户端装置125可以包括处理器和存储器,即处理电路。存储器存储机器指令,当由处理器执行时,使处理器进行本文所述的一个或多个操作。处理器可以包括微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)等,或其组合。存储器可以包括但不限于电子、光学、磁性或能够向处理器提供程序指令的任何其他储存装置或传输装置。存储器还可以包括软盘、cd-rom、dvd、磁盘、存储器芯片、asic、fpga、只读存储器(rom)、随机存取存储器(ram)、电可擦除可编程rom(eeprom)、可擦除可编程rom(eprom)、闪速存储器、光学介质或处理器可从其读取指令的任何其他合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码。

客户端装置125还可以包括一个或多个用户接口装置。通常,用户接口装置是指通过生成感官信息(例如,显示器上的可视化、一个或多个声音等)来向用户传达数据和/或将来自用户的所接收的感官信息转换为电子信号的任何电子装置(例如,键盘、鼠标、指点装置、触摸屏显示器、麦克风等)。一个或多个用户接口装置可以在客户端装置125的外壳的内部(例如,内置显示器、麦克风等)或者在客户端装置125的外壳的外部(例如,连接到客户端装置125的监视器、连接到客户端装置125的扬声器等)。在一些实现方式中,客户端装置125可以包括电子显示器,其使用经由网络105从一个或多个内容源和/或从内容发布者115或内容提供者120a-n接收的网页数据可视地显示网页。

客户端装置125可以执行应用程序160。应用程序160可以包括,例如,互联网浏览器、移动应用程序或能够执行或以其他方式调用由客户端装置125处理的计算机可执行指令的任何其他计算机程序,例如包含在信息资源144中的计算机可执行指令。包含在其中的信息资源144可以对应于脚本、逻辑、标记或指令(例如,超文本标记语言(html)、可扩展超文本标记语言(xhtml)、可扩展标记语言(xml)、层叠样式表单(css)和javascript,或其任何组合)。信息资源144可以包括报头162和主体164。内容项146可以插入信息资源144中。在一些实现方式中,信息资源144可以是移动应用程序的一部分。在这样的实现方式中,报头162可以对应于移动应用程序的加载序列的初步部分,并且主体164可以对应于移动应用程序的后续运行时间(runtime)部分。

为了获取信息资源144中的一个,客户端装置125的应用程序160可以向内容发布者115发送对资源的请求。该请求可以包括装置地址、装置标识符、装置类型和应用程序配置文件,以及其他数据。地址可以是统一资源定位符(url),并且可以包括协议、主机名和文件路径名,以及其他参数。主机名可以对应于内容发布者115。文件路径名可以对应于由内容发布者115主管的信息资源144中的一个。装置标识符可以对应于客户端装置125。装置类型可以对应于客户端装置125的系统配置。应用程序配置文件可以指示在客户端装置125上运行哪个应用程序(例如,web浏览器类型和版本等)以执行和运行信息资源144。一旦发送了请求,网络105就可以将请求转发到主机名中标识的内容发布者115。

随后,内容发布者115可以从应用程序160接收请求。进而,内容发布者115可以解析请求以标识信息资源144来提供给客户端装置125。在一些实现方式中,内容发布者115可以存取数据库以取回信息资源144。数据库可以是内容发布者115的一部分,其与内容发布者115通信,或者可以由内容发布者115以其他方式存取。内容发布者115可以基于请求中包含的主机名和文件路径名来标识要提供的信息资源144。在一些实现方式中,内容发布者115可以将脚本(例如,脚本请求器166)插入信息资源144的报头162中。在向数据处理系统110发送对脚本的请求时,该脚本可以由数据处理系统110提供。下面讨论要插入报头162以供应用程序160处理的脚本的细节。在一些实现方式中,内容发布者115可以维护对应于已经存取过信息资源144的客户端装置125的装置标识符的列表。在一些实现方式中,响应于从应用程序160接收到请求,内容发布者115可以用包含在请求中的装置标识符来更新装置标识符的列表。在标识信息资源144时,内容发布者115可以将信息资源144传送或发送到客户端装置125。

为了处理信息资源144,应用程序160可以包括任何数量的组件,例如文档树生成器、渲染树生成器和显示模块。在读取信息资源144时,应用程序160可以在处理主体164a-n(通常称为主体164)和包含在信息资源144中的任何其他代码之前,首先处理报头162a-n(通常称为报头162)。文档树生成器可以解析信息资源以生成文档对象模型(dom)树,其包括以分层方式布置的信息资源144的报头162和主体164。使用dom树,渲染树生成器可以生成指定信息资源的内容项的视觉特性或属性的渲染树。显示模块可以基于渲染树将信息资源渲染并显示到客户端装置125的显示器上。

包含在信息资源144的报头162中的第一脚本可以是脚本请求器166。当脚本包含在报头162中时,应用程序160可以在信息资源144的其余部分(例如,主体164)之前执行脚本请求器166。在一些实现方式中,应用程序160可以在其他dom对象之前执行脚本请求器166和报头162。在执行时,脚本请求器166可以传送或发送对指令的请求,该指令是对信息资源的报头162进行插入。该指令可以用于选择内容提供者120a-n中的一个以将对应的内容项146插入信息资源144中。对指令的请求可以包括地址、装置标识符、装置类型和应用程序配置文件,以及其他数据。地址可以是统一资源定位符(url),并且可以包括协议、主机名和文件路径名,以及其他参数。主机名可以对应于数据处理系统110。在一些实现方式中,对指令的请求可以包括一个或多个内容提供者标识符。每个内容提供者标识符可以对应于内容提供者120a-n中的一个。内容提供者标识符可以引用或指示允许哪个内容提供者120a-n将内容项164插入信息资源144中。一旦发送了请求,网络105就可以将请求转发到数据处理系统110,如在对指令的请求的主机名中所标识的那样。

数据处理系统110可以包括至少一个服务器,用于执行各种功能以处理来自脚本请求器166的请求。在一些实现方式中,数据处理系统110可以包括位于至少一个数据中心或服务器农场(farm)中的多个服务器。在一些实现方式中,数据处理系统110包括内容放置系统。在一些实现方式中,内容放置系统可以包括第三方内容选择服务器。数据处理系统110可以包括至少一个脚本提供器130、至少一个标识符生成器132、至少一个参数聚合器134,以及至少一个提供者选择器136。至少一个脚本提供器130、至少一个标识符生成器132、至少一个参数聚合器134和至少一个提供者选择器136中的每一个可以包括至少一个处理单元、服务器、虚拟服务器、电路、引擎、代理、器具或其他逻辑装置,例如,可编程逻辑阵列,其配置为经由网络105与数据库138和其他计算装置(例如,内容提供者115、内容发布者120a-n或客户端装置125)通信。数据处理系统110还可以包括一个或多个内容储存库(repository)或数据库138。数据库138可以对数据处理系统110是本地的。在一些实现方式中,数据库138可以对数据处理系统110是远程的,但是可以经由网络105与数据处理系统110通信。

响应于来自脚本请求器166的请求,脚本提供器130可以向客户端装置125提供对信息资源144的报头162进行插入的指令,以选择内容提供者120a-n中的一个。该指令可以用于选择内容提供者120a-n中的一个以将对应的内容项146插入信息资源144中。脚本提供器130可以基于从脚本提供器166接收的请求来选择多个脚本中的一个以提供给应用程序160,来插入信息资源144的报头162中。下面结合图2a和2b详细说明要插入报头162中的脚本的功能。

为了确定要插入哪个脚本,脚本提供器130可以确定客户端装置125的应用程序160先前是否先前没有存取过内容发布者115的至少一个信息资源144。在一些实现方式中,脚本提供器130可以确定客户端装置125是否先前在预定时间窗口(例如,6小时至1个月)内存取过内容发布者115的至少一个信息资源144。预定时间窗口可以对应于经由网络105存取内容的内容装置125的单个会话,并且可以从当前时间计算。脚本提供器130可以标识客户端装置125存取内容发布者115的信息资源144中的一个的先前访问时间。在一些实现方式中,脚本提供器130可以向内容发布者115发送对先前访问时间的请求。内容发布者115可以存取记录访问信息资源144的客户端装置125的数据库,以标识客户端装置125的先前访问时间。脚本提供器130随后可以从内容发布者115接收客户端装置125的先前存取时间。在一些实现方式中,脚本提供器130可以从内容发布者115接收空响应,其表明客户端装置125从未存取过任何信息资源144。脚本提供器130可以将先前存取时间与时间窗口进行比较。如果先前存取时间大于时间窗口或者如果接收到空响应,则脚本提供器130可以确定客户端装置125先前未在预定时间窗口内存取过至少一个信息资源144。另一方面,如果先前时间小于或等于时间窗口,则脚本提供器130可以确定客户端装置125先前已存取过内容发布者115的至少一个信息资源144。

在一些实现方式中,脚本提供器130可以确定是否已经为客户端装置125生成了会话标识符140,以确定客户端装置125先前是否已经存取过内容发布者115的至少一个信息资源144。为了确定是否已生成会话标识符140,脚本提供器130可使用请求存取数据库138。数据库138可以储存和维护为客户端装置125生成的会话标识符140。在数据库138处维护的会话标识符140可以通过对指令的请求(例如,通过装置标识符或地址)来索引。如果先前已经为客户端装置125生成了会话标识符140,则脚本提供器130可以确定客户端装置125的应用程序160先前已经存取过内容发布者115的至少一个信息资源144。如果先前尚未为客户端装置125生成会话标识符140,则脚本提供器130可以确定客户端装置125的应用程序160先前没有存取过内容发布者115的至少一个信息资源144。关于会话标识符140的生成的细节将在下面讨论。

在一些实现方式中,脚本提供器130可以向内容发布者115发送请求,以确定客户端装置125是否已经存取过内容发布者115的信息资源144。随后,脚本提供器130可以从内容发布者115接收响应。该响应可以包括标识客户端装置125是否已经存取过内容发布者115的信息资源144的指示符。在一些实现方式中,在数据库138上,脚本提供器130可以维护对应于已经向数据处理系统110发送对指令的请求的客户端装置125的装置标识符的列表。脚本提供器130可以将从脚本请求器166接收的对指令的请求的装置标识符与储存在数据库138上的装置标识符的列表进行比较。如果装置标识符与列表中的任何一个都不匹配,则脚本提供器130可以确定客户端装置125先前没有存取过内容发布者115的任何信息资源144。另一方面,如果装置标识符与列表中的任何一个匹配,则脚本提供器130可以确定客户端装置125的应用程序160先前已经存取过内容发布者115的至少一个信息资源144。

如果客户端装置125先前没有存取过内容发布者115的任何信息资源144,则脚本提供器130可以生成并提供参数值取回脚本205以插入报头162中。现在参考图2a,描绘了用于在多个网页上维护会话标识符以进行内容选择的系统200a的一个实现方式的框图。当客户端装置125先前没有存取过内容发布者的任何信息资源144时,客户端装置125上的信息资源144可以对应于或被称为第一信息资源144a。参数值取回脚本205可以包括一个或多个包装器210a-n、会话标识符140和参数选择器215。每个包装器210a-n可以对应于内容提供者120a-n中的一个。每个包装器210a-n可以包括来自相应的内容提供者120a-n的参数值148a-n。参数值取回脚本205及其组件的功能详述如下。

在图1的上下文中,标识符生成器132可响应于确定客户端装置125先前未存取过内容发布者115的任何信息资源144而生成会话标识符140。会话标识符140可以对应于客户端装置125,并且可以用于选择要在内容发布者115的信息资源144a-144n上服务的内容。在一些实现方式中,会话标识符140可以是用于唯一地标识客户端装置125的字母数字串、数值(例如,整数)、或任何其他值。标识符生成器132可以基于从客户端装置125接收的对指令的请求而生成会话标识符140。在一些实现方式中,标识符生成器132可以使用包含在请求中的装置标识符、装置类型和应用程序配置文件以及其他数据来确定会话标识符140。在一些实现方式中,标识符生成器132可以通过向对应于客户端装置125的装置地址(例如,互联网协议(ip)地址或介质访问控制(mac)地址等)应用散列函数来为会话标识符140生成散列值。在一些实现方式中,标识符生成器132可以将会话标识符140插入参数值取回脚本205中。标识符生成器132还可以将生成的会话标识符140储存在数据库138上。

在生成会话标识符140的情况下,标识符生成器132可以向内容提供者120a-n提供会话标识符140。标识符生成器132可以标识向哪个内容提供者120a-n提供会话标识符140。在一些实现方式中,可以基于来自客户端装置125的对指令的请求中包含的内容提供者标识符来标识向哪个内容提供者120a-n提供会话标识符140。在一些实现方式中,可以基于内容发布者115来标识向哪个内容提供者120a-n提供会话标识符140。标识符生成器132可以存取数据库138以标识内容发布者115已允许哪个内容提供者120a-n将内容项146插入内容发布者115的信息资源144中。标识符生成器132还可以向内容发布者115发送请求,以标识内容发布者115已允许哪个内容提供者120a-n将内容项146插入信息资源144中。一旦标识出内容提供者120a-n,标识符生成器132就可以将会话标识符140传送或发送给一个或多个内容提供者120a-n。在一些实现方式中,会话标识符140可以由参数聚合器134发送给内容提供者120a-n,作为对内容选择参数值的请求的一部分。对内容选择参数值的请求可以包括客户端装置125的装置类型、对应于应用程序160的应用程序配置文件、客户端装置125的系统配置(例如,显示器大小、分辨率、网络带宽等)和内容项146的内容插槽大小,以及其他数据。

在接收到会话标识符140时,每个内容提供者120a-n可以将会话标识符140储存为对应于客户端装置125。在一些实现方式中,每个内容提供者120a-n可以将会话标识符140储存在与内容提供者120a-n相关联的数据库上。在一些实现方式中,内容提供者120a-n还可以将会话标识符140设置为与内容发布者115相关联。内容提供者120a-n可以使用会话标识符140来从客户端装置125存取状态数据(例如,cookie)。以这种方式,内容提供者120a-n可以标识存取一个或多个信息资源144的相同客户端装置125,以使用会话标识符140将内容项146插入到信息资源144上。

在一些实现方式中,在储存会话标识符140时,内容提供者120a-n还可以向参数聚合器134提供对应的参数值148a-n。参数值148a-n可以包括数字出价值(例如,双精度型(double)、整数型(integer)或浮点型(floating)数据类型等),交互率(例如,点击率、印象率、曝光时间等),相关性度量、一个或多个关键字(例如,与内容提供者120a-n或内容项146相关联)、或用于选择由内容提供者120a-n提供以插入到信息资源144上的内容项146的任何其他值。在一些实现方式中,内容提供者120a-n可以基于来自标识符生成器132的请求来计算参数值148a-n。在一些实现方式中,内容提供者120a-n可以解析请求以标识客户端装置125的装置类型、对应于应用程序160的应用程序配置文件、客户端装置125的系统配置(例如,显示器大小、分辨率、网络带宽等)和内容项146的内容插槽大小,以及其他数据。基于请求,内容提供者120a-n可以计算参数值148a-n以提供给客户端装置125的参数聚合器134。

在一些实现方式中,内容提供者120a-n可以确定值的条件序列作为参数值148a-n以提供给参数聚合器134。值的条件序列可以指定参数值148a-n,以用于由客户端装置125存取的第一信息资源144a和随后的资源144b-n。在一些实现方式中,条件序列可以基于在第一信息资源144a上选择内容提供者120a-n为第二信息资源144b指定一个参数值148a-n,并基于在第一信息资源144a上未选择内容提供者120a-n为第二信息资源144b指定另一个参数值148a-n。下面详述将参数值148a-n用于选择内容项146以插入第一信息资源144a中。一旦从每个内容提供者120a-n收集参数值148a-n,参数聚合器134就可以将接收的参数值148a-n插入参数值取回脚本205中。

在参数值取回脚本205内,脚本提供器130可以生成包装器210a-n。每个生成的包装器210a-n可以对应于内容提供者120a-n中的一个。每个包装器210a-n可以对应于参数值脚本205的子例程或子函数(例如,以javascript的形式),用于取回参数值148a-n或提供参数值148a-n到参数选择器215。在一些实现方式中,每个包装器210a-n可以包括用于取回参数值148a-n的地址。对于客户端装置125,该地址可以包括对应于内容提供者120a-n的主机名和对应于内容提供者120a-n的特定参数值148a-n的文件路径名。在一些实现方式中,参数值取回脚本205的包装器210a-n可以预先加载有参数值148a-n。在一些实现方式中,包装器210a-n可以包括用于取回参数值148a-n的相应内容提供者120a-n的地址。

生成参数值取回脚本205后,脚本提供器130可以将参数值取回脚本205发送到客户端装置125。一旦被客户端125的应用程序160接收,应用程序160就可以将参数值取回脚本205插入报头162a中并且可以执行参数值取回脚本205。参数值取回脚本205的执行可以在信息资源144a的其余部分之前,例如主体164a和信息资源144a的其他内容对象。在一些实现方式中,可以在参数选择器215之前调用包装器210a-n,反之亦然。

参数选择器215可以使用一个或多个参数值148a-n来选择内容提供者120a-n中的一个,以将内容项146插入信息资源144a的主体164a中。参数选择器215可以调用包装器210a-n中的每一个以取回或获得参数值148a-n,以选择内容提供者120a-n。在一些实现方式中,在调用时,每个包装器210a-n可以向对应的内容提供者120a-n发送对内容选择参数值的请求。对选择参数值的请求可以包括会话标识符140。使用会话标识符140,每个内容提供者120a-n可以提供参数值148a-n。随后,每个包装器210a-n可以从相应的内容提供者120a-n接收参数值148a-n。在一些实现方式中,每个包装器210a-n可以预先加载参数值148a-n,并且可以在参数选择器215调用时提供参数值148a-n。在一些实现方式中,包装器210a-n的子集可以预先加载参数值148a-n,而包装器210a-n的另一个子集可以在应用程序160上执行时使用会话标识符140从相应的内容提供者120a-n请求参数值148a-n。

利用从一个或多个包装器210a-n获得的参数值148a-n,参数选择器215可以执行内容选择过程以标识要选择哪个内容提供者120a-n。在一些实现方式中,内容选择过程可以包括报头出价技术。在一些实现方式中,在运行内容选择过程时,参数选择器215可以识标识出从内容提供者120a-n接收的参数值148a-n中的最高参数值148a-n。然后,参数选择器215可以选择对应于最高参数值148a-n的内容提供者120a-n。在一些实现方式中,在运行内容选择过程时,参数选择器215可以使用相应的参数值148a-n计算每个内容提供者120a-n的组合选择值。组合选择值可以对应于内容提供者120a-n中的一个,并且可以是对应的参数值148a-n的数字出价值、交互率、相关性度量和一个或多个关键字的函数。然后,参数选择器215可以标识最大组合选择值。然后,参数选择器215可以选择对应于最大组合选择值的内容提供者120a-n,以标识从哪个内容提供者120a-n请求内容项146以插入信息资源144a中。

在选择内容提供者120a-n中的一个时,参数选择器215可以向内容提供者120a-n发送对内容的请求,以将内容项146插入到第一信息资源144a上。对内容的请求可以包括对应于应用程序160的应用程序配置文件、客户端装置125的系统配置(例如,显示器大小、分辨率、网络带宽等)和内容插槽大小,以及其他。基于对内容的请求,内容提供者120a-n可以标识内容项146以提供给客户端125的应用程序160。每个内容提供者120a-n可以具有多个内容项164以选择一个内容项146。一旦被选择,内容提供者120a-n可以将内容项146发送到客户端装置125。客户端装置125的应用程序160可以进而接收内容项146,并且可以将内容项146插入信息资源144a的主体164a中或信息资源144a的在报头162a之后的其余部分中的某个其他位置。

另一方面,如果客户端装置125先前已存取过内容发布者115的任何信息资源144,则脚本提供器130可以生成并提供内容取回脚本220。在一些实现方式中,脚本提供器130可以在将参数值取回脚本205提供给客户端装置125之后从客户端装置125接收对指令的请求。在一些实现方式中,对指令的后续请求可以包括先前为客户端装置125生成的会话标识符140。当客户端装置125先前存取过内容发布者的任何信息资源144时,客户端装置125上的信息资源144可以对应于或被称为第一信息资源144a或随后的信息资源144b-n。对于后续请求,数据处理系统110可以运行第二信息资源144b的内容选择过程,而不是像第一信息资源144a那样运行客户端装置125。现在参考图2b,描绘了用于在多个网页上维护会话标识符以进行内容选择的系统200b的一个实现方式的框图。内容取回脚本220可以包括内容取回器225和内容项标识符230。内容取回脚本220的功能详述如下。

为了生成内容取回脚本220,返回参考图1,脚本提供器130可以解析来自客户端装置125的后续请求以标识会话标识符140。对指令的后续请求可以包括或不包括会话标识符140。在一些实施方式中,对指令的后续请求可以包括地址、装置标识符、装置类型和应用程序配置文件,以及其他数据。基于对指令的后续请求,脚本提供器130可以标识客户端装置125的会话标识符140。在一些实现方式中,使用请求中包含的地址、装置标识符、装置类型和应用程序配置文件,脚本提供器130可以存取数据库138以标识会话标识符104。如上所述,可以在数据库138上储存和维护会话标识符140,并且可以由来自先前请求的数据索引。在一些实现方式中,脚本提供器130可以解析后续请求以确定会话标识符140的存在,来确定会话标识符140是否包含在请求中。

一旦从请求中标识出会话标识符140,参数聚合器134就可以获得内容提供者120a-n中的每一个的参数值148a-n。在一些实现方式中,参数值148a-n先前已经可以响应于先前的对指令的请求而获得。在一些实现方式中,参数值148a-n可以与参数值取回脚本205获得的先前参数值148a-n不同。在一些实现方式中,参数聚合器134可以向内容提供者120a-n发送对内容选择参数值的请求。参数聚合器134可以标识向哪个内容提供者120a-n提供会话标识符140。在一些实现方式中,可以基于来自客户端装置125的对指令的请求中包含的内容提供者标识符来标识向哪个内容提供者120a-n提供会话标识符140。在一些实现方式中,可以基于内容发布者115来标识向哪个内容提供者120a-n提供会话标识符140。参数聚合器134可以存取数据库138以标识内容发布者115已允许哪个内容提供者120a-n将内容项146插入内容发布者115的信息资源144中。参数聚合器134还可以向内容发布者115发送请求,以标识内容发布者115已允许将内容项146插入信息资源144中的内容提供者120a-n。一旦标识出内容提供者120a-n,参数聚合器134就可以将会话标识符140传送或发送到一个或多个内容提供者120a-n。

在接收到会话标识符140时,每个内容提供者120a-n可以标识参数值148a-n以提供给参数聚合器134。内容提供者120a-n可以基于会话标识符140标识参数值148a-n。在一些实现方式中,内容提供者120a-n可以存取数据库以找到与会话标识符140和/或内容提供者115相关联的参数值148a-n。在一些实现方式中,参数值148a-n可以在内容发布者115的信息资源144之间不同。已经使用会话标识符140来标识参数值148a-n,内容提供者120a-n可以返回并将参数值148a-n发送到参数聚合器134。以这种方式,客户端装置125可以不再必须向参数值148a-n的内容提供者120a-n中的每一个发送单独的请求,从而减少网络105中的延迟和客户端装置125处的计算资源的消耗。

利用为内容提供者120a-n获得的参数值148a-n,提供者选择器136可以执行内容选择过程以标识要选择哪个内容提供者120a-n。在一些实现方式中,在运行内容选择过程时,提供者选择器136可以标识出从内容提供者120a-n接收的参数值148a-n中的最高参数值148a-n。然后,提供者选择器136可以标识并选择对应于最高参数值148a-n的内容提供者120a-n。在一些实现方式中,在运行内容选择过程时,提供者选择器136可以使用相应的参数值148a-n计算每个内容提供者120a-n的组合选择值。组合选择值可以对应于内容提供者120a-n中的一个,并且可以是对应的参数值148a-n的数字出价值、交互率、相关性度量和一个或多个关键字的函数。然后,提供者选择器136可以标识最大组合选择值。然后,提供者选择器136可以选择对应于最大组合选择值的内容提供者120a-n,以标识从哪个内容提供者120a-n请求内容项146以插入信息资源144b中。以这种方式,客户端装置125可以不再必须使用内容提供者120a-n的参数值148a-n来运行内容选择过程,从而降低客户端装置125处的计算资源的消耗。

在一些实现方式中,提供者选择器136可以使用值的条件序列来运行内容选择过程。如上面所讨论的,条件序列可以基于在第一信息资源144a上选择内容提供者120a-n为第二信息资源144b指定第一参数值148a-n,并且可以基于在第一信息资源144a上未选择内容提供者120a-n为第二信息资源144b指定第二参数值148a-n。提供者选择器136可以标识为第一信息资源144a选择哪个内容提供者120a-n。基于选择了哪个内容提供者120a-n,提供者选择器136可以选择参数值148a-n以在条件序列中指定的内容选择过程中使用。如果在第一信息资源144a中没有选择内容提供者120a-n,则提供者选择器136可以标识用于内容提供者120a-n的内容选择过程中的第二参数值148a-n。如果在第一信息资源144a中选择了内容提供者120a-n,则提供者选择器136可以标识用于内容提供者120a-n的内容选择过程中的第一参数值148a-n。结合条件序列使用的内容选择过程可以与上述相同。

在一些实现方式中,提供者选择器136可以使用由内容提供者115a-n直接提供的参数值146,而不是先前取回的条件序列。参数值146可以是动态的,并且可能由于客户端装置125存取了信息资源144而已经改变。提供者选择器136可以使用伪随机数生成器生成随机值。基于随机值,提供者选择器136可以使用来自内容提供者120a-n的参数值146,而不是条件序列。在一些实现方式中,提供者选择器136可以将随机值与用于参数值146的第一范围或用于条件序列的第二范围进行比较。如果随机值在第一范围内,则提供者选择器136可以向每个内容提供者120a-n发送请求以获得新的参数值146。如果随机值在第二范围内,则提供者选择器136可以继续使用先前从每个内容提供者120a-n接收的条件序列。以这种方式,当在内容选择过程中使用新参数值146时或相对地使用条件序列时,内容提供者115可以将交互统计与插入信息资源144上的内容项146进行比较。

在选择内容提供者120a-n中的一个时,提供者选择器136可以向内容提供者120a-n发送对内容的请求,以将内容项146插入到信息资源144b上。对内容的请求可以包括对应于应用程序160的应用程序配置文件、客户端装置125的系统配置(例如,显示器大小、分辨率、网络带宽等)和内容插槽大小,以及其他。基于对内容的请求,内容提供者120a-n可以标识内容项146以提供给客户端125的应用程序160。每个内容提供者120a-n可以具有多个内容项164以选择一个内容项146。一旦被选择,内容提供者120a-n就可以将对应于内容项146的内容项标识符230发送给提供者选择器136。内容项标识符230可以是统一资源定位符(url),并且可以包括协议、对应于所选择的内容提供者120a-n的主机名、以及对应于要插入信息资源144b中的特定内容项146的文件路径名,以及其他参数。提供者选择器136可以将内容项标识符230插入内容取回脚本220中。脚本提供器130可以进而将内容取回脚本220发送到客户端装置125的应用程序160。在一些实现方式中,脚本提供器130可以将空值返回到客户端装置125的应用程序160,并且可以在数据处理系统110上维护内容项标识符230。在这样的实现方式中,在接收到要插入到信息资源144b中的对内容的请求时,脚本提供器136可以将所选择的内容项146发送到客户端装置125,以便插入到信息资源144b的主体164b中。可以使用信息资源144b的主体164b中的脚本来生成对内容的请求。

一旦被客户端125的应用程序160接收,应用程序160就可以将内容取回脚本220插入报头162b中并且可以执行参数内容取回脚本220。在一些实现方式中,应用程序160可以执行内容取回器225。内容取回脚本220的执行可以在信息资源144b的其余部分(例如信息资源144b的主体164b和其他内容对象)之前。内容取回器225可以将对内容的请求发送到内容项标识符230中指定的内容提供者120a-n。对内容的请求可以包括内容项标识符230。在从内容取回器225接收到对内容的请求时,接收者内容提供者120a-n可以标识要提供给客户端装置125的内容项146。一旦被标识,内容提供者120a-n可以将内容项146发送到客户端装置125。客户端装置125的应用程序160可以接收内容项146。内容取回器225可以将内容项146插入信息资源144b的主体164b中或信息资源144b的在报头162b之后的其余部分中的某个其他位置。

在一个实现方式中,脚本提供器130可以在提供内容取回脚本220之后为后续信息资源144b-n提供参数值取回脚本205,而不管客户端装置125先前是否已经存取过内容发布者115的至少一个信息资源144。脚本提供器130可以使用随机数生成器生成随机值。基于随机值,脚本提供器130可以提供参数值取回脚本205,而不是内容取回脚本220。在一些实现方式中,脚本提供器130可以将随机值与用于提供参数值取回脚本205的第一范围或用于提供内容取回脚本220的第二范围进行比较。如果随机值在第一范围内,则脚本提供器130可以向客户端装置125的应用程序160提供参数值取回脚本205。如果随机值在第二范围内,则脚本提供器130可以向客户端装置125的应用程序160提供内容取回脚本220。以这种方式,内容提供者115可以将交互统计与插入到信息资源144上的内容项146、与参数值取回脚本205、以及与内容取回脚本220进行比较。

现在参考图3a-3c,描绘了在多个网页上维护会话标识符以进行内容选择的方法300的流程图。这里关于方法300描述的功能可以由如图1所示的系统100、如图2a和2b所示的系统200a和200b、或者如图5所示的计算装置或其任何组合来进行或以其他方式执行。在一些实现方式中,方法300的功能可以在客户端装置125、数据处理系统110、内容发布者115和内容提供者120a-120n之间分开。

从图3a开始,在步骤302,内容发布者可以发送要插入报头脚本的请求。步骤304,数据处理系统可以进而接收要插入报头脚本的请求。在步骤306,数据处理系统可以生成并发送报头请求脚本。在步骤308,内容发布者进而可以接收报头请求脚本。在步骤310,内容发布者可以将报头请求脚本插入到每个信息资源中。随后的某个时间,在步骤312,客户端装置可以发送对信息资源的请求。在步骤314,内容发布者进而可以接收对信息资源的请求。在步骤316,内容发布者可以利用包含在信息资源的报头中的请求脚本来识别和发送信息资源。在步骤318,客户端装置可以利用请求脚本接收信息资源。在步骤320,客户端装置可以执行包含在报头中的请求脚本。通过执行请求脚本,在步骤322,客户端装置可以发送将脚本插入报头中的请求。在步骤324,数据处理系统可以接收将脚本插入报头中的请求。在步骤326,数据处理系统可以确定来自客户端装置的对内容发布者的信息资源的请求是否首次。

移到图3b,如果来自客户端装置的对内容发布者的信息资源的请求是首次,则在步骤328,数据处理系统可以为客户端装置生成会话标识符。在步骤330,数据处理系统可以利用会话标识符将对内容选择参数值的请求发送到内容提供者。进而,在步骤332,内容提供者可以利用会话标识符接收对内容选择参数值的请求。在步骤334,内容提供者可以将客户端装置与会话标识符相关联。在步骤336,内容提供者可以取回客户端装置的内容选择参数值。在步骤338,内容提供者可以将内容选择参数值发送到数据处理系统。在步骤340,数据处理系统进而可以从内容提供者接收内容选择参数值。在步骤342,数据处理系统可以利用对应于内容提供者的包装器生成参数值取回脚本。在步骤344,数据处理系统可以用参数值发送参数值取回脚本。

在步骤346,客户端装置可以用包装器接收参数值取回脚本。在步骤348,客户端装置可以用参数值执行内容选择过程。在步骤350,客户端装置可以选择内容提供者以插入内容项。在步骤352,客户端装置可以从所选择的内容提供者发送对内容的请求。在步骤354,内容提供者进而可以接收对内容的请求。在步骤356,内容提供者可以选择内容项。在步骤358,内容提供者可以将内容项发送到客户端装置。在步骤360,客户端装置可以进而从内容提供者接收内容项。在步骤362,客户端装置可以将内容项插入信息资源的主体中。

另一方面,参考图3c,如果来自客户端装置的对内容发布者的信息资源的请求不是首次,则在步骤364,数据处理系统可以为包含在请求中的客户端装置标识会话标识符。在步骤366,数据处理系统可以用会话标识符发送对内容选择参数值的请求。在步骤368,内容提供者可以利用会话标识符接收对内容选择参数值的请求。在步骤370,数据内容提供者可以使用会话标识符来取回内容选择参数值。在步骤372,内容提供者可以将内容选择参数值发送到数据处理系统。在步骤374,数据处理系统可以接收内容选择参数值。在步骤376,数据处理系统可以利用从内容提供者接收的参数值来执行内容选择过程。在步骤378,数据处理系统可以选择内容提供者中的一个来插入内容项。在步骤380,数据处理系统可以生成内容取回脚本并将其发送到客户端装置。在步骤382,客户端装置可以从数据处理系统接收内容取回脚本。在步骤384,客户端装置可以标识内容提供者以插入内容项。在步骤386,客户端装置可以向内容提供者发送对内容的请求。在步骤388,内容提供者进而可以接收对内容的请求。在步骤390,内容提供者可以选择在请求中标识的内容项。在步骤392,内容提供者可以将内容项发送到客户端装置。在步骤394,客户端装置可以从内容提供者接收内容项。在步骤396,客户端装置可以将所接收的内容项插入信息资源的主体中。

现在参考图4,描绘了在多个网页上维护会话标识符以进行内容选择的方法400的流程图。这里关于方法400描述的功能可以由如图1所示的系统100、如图2a和2b所示的系统200a和200b、或者如图5所示的计算装置或其任何组合来进行或以其他方式执行。在一些实现方式中,方法300的功能可以在客户端装置125、数据处理系统110、内容发布者115和内容提供者120a-120n之间分开。

更详细地,在步骤405,具有一个或多个处理器的数据处理系统可以响应于从客户端装置接收对第一指令的第一请求,该第一指令是对内容发布者的第一信息资源的第一报头进行插入来选择多个内容提供者中的一个,生成对应于客户端装置的会话标识符,其用于选择要在内容发布者的多个信息资源上服务的内容。可以将会话标识符提供给多个内容提供者。

为了获取信息资源中的一个,客户端装置的应用程序可以向内容发布者发送对资源的请求。该请求可以包括装置地址、装置标识符、装置类型和应用程序配置文件,以及其他数据。地址可以是统一资源定位符(url),并且可以包括协议、主机名和文件路径名,以及其他参数。主机名可以对应于内容发布者。文件路径名可以对应于由内容发布者主管的信息资源中的一个。装置标识符可以对应于客户端装置。装置类型可以对应于客户端装置的系统配置。应用程序配置文件可以指示在客户端装置上运行哪个应用程序(例如,web浏览器类型和版本等)以执行和运行信息资源。一旦发送了请求,网络就可以将请求转发到主机名中标识的内容发布者。

随后,内容发布者可以从应用程序接收请求。进而,内容发布者可以解析请求以标识信息资源来提供给客户端装置。在一些实现方式中,内容发布者可以存取数据库以取回信息资源。数据库可以是内容发布者的一部分,其与内容发布者通信,或者可以由内容发布者以其他方式存取。内容发布者可以基于请求中包含的主机名和文件路径名来标识要提供的信息资源。在一些实现方式中,内容发布者可以将脚本(例如,脚本请求器)插入信息资源的报头中。在向数据处理系统发送对脚本的请求时,该脚本可以由数据处理系统提供。下面讨论要插入报头以供应用程序处理的脚本的细节。在一些实现方式中,内容发布者可以维护对应于已经存取过信息资源的客户端装置的装置标识符的列表。在一些实现方式中,响应于从应用程序接收到请求,内容发布者可以用包含在请求中的装置标识符来更新装置标识符的列表。在标识信息资源时,内容发布者可以将信息资源传送或发送到客户端装置。

为了处理信息资源,应用程序可以包括任何数量的组件,例如文档树生成器、渲染树生成器和显示模块。在读取信息资源时,应用程序可以在处理包含在信息资源中的主体和任何其他代码之前,首先处理报头。文档树生成器可以解析信息资源以生成文档对象模型(dom)树,其包括以分层方式布置的信息资源的报头和主体。使用dom树,渲染树生成器可以生成指定信息资源的内容项的视觉特性或属性的渲染树。显示模块可以基于渲染树将信息资源渲染并显示到客户端装置的显示器上。

包含在信息资源的报头中的第一脚本可以是脚本请求器。当脚本包含在报头中时,应用程序可以在信息资源的其余部分(例如,主体)之前执行脚本请求器。在一些实现方式中,应用程序可以在其他dom对象之前执行脚本请求器和报头。在执行时,脚本请求器可以传送或发送对指令的请求,该指令是对信息资源的报头进行插入。该指令可以用于选择内容提供者中的一个以将对应的内容项插入信息资源中。对指令的请求可以包括地址、装置标识符、装置类型和应用程序配置文件,以及其他数据。地址可以是统一资源定位符(url),并且可以包括协议、主机名和文件路径名,以及其他参数。主机名可以对应于数据处理系统。在一些实现方式中,对指令的请求可以包括一个或多个内容提供者标识符。每个内容提供者标识符可以对应于内容提供者中的一个。内容提供者标识符可以引用或指示允许哪个内容提供者将内容项插入信息资源中。一旦发送了请求,网络就可以将请求转发到数据处理系统,如在对指令的请求的主机名中所标识的那样。

响应于来自脚本请求器的请求,数据处理系统可以向客户端装置提供指令,该指令对信息资源的报头进行插入来选择内容提供者中的一个。该指令可以用于选择内容提供者中的一个以将对应的内容项插入信息资源中。数据处理系统可以基于从脚本提供器接收的请求来选择多个脚本中的一个以提供给应用程序,来插入信息资源的报头中。

为了确定要插入哪个脚本,数据处理系统可以确定客户端装置的应用程序是否先前没有存取过内容发布者的至少一个信息资源。在一些实现方式中,数据处理系统可以确定客户端装置是否先前在预定时间窗口(例如,6小时至1个月)内存取过内容发布者的至少一个信息资源。预定时间窗口可以对应于经由网络存取内容的内容装置的单个会话,并且可以从当前时间计算。数据处理系统可以标识客户端装置存取内容发布者的信息资源中的一个的先前访问时间。在一些实现方式中,数据处理系统可以向内容发布者发送对先前访问时间的请求。内容发布者可以存取记录访问信息资源的客户端装置的数据库,以标识客户端装置的先前访问时间。数据处理系统随后可以从内容发布者接收客户端装置的先前访问时间。在一些实现方式中,数据处理系统可以从内容发布者接收空响应,其表明客户端装置从未存取过任何信息资源。数据处理系统可以将先前访问时间与时间窗口进行比较。如果先前存取时间大于时间窗口或者如果接收到空响应,则数据处理系统可以确定客户端装置先前未在预定时间窗口内存取过至少一个信息资源。另一方面,如果先前时间小于或等于时间窗口,则数据处理系统可以确定客户端装置先前已存取过内容发布者的至少一个信息资源。

在一些实现方式中,数据处理系统可以确定是否已经为客户端装置生成了会话标识符,以确定客户端装置先前是否已经存取过内容发布者的至少一个信息资源。为了确定是否已生成会话标识符,数据处理系统可使用请求存取数据库。数据库可以储存和维护为客户端装置生成的会话标识符。维护在数据库处的会话标识符可以通过对指令的请求(例如,通过装置标识符或地址)来索引。如果先前已经为客户端装置生成了会话标识符,则数据处理系统可以确定客户端装置的应用程序先前已经存取过内容发布者的至少一个信息资源。如果先前没有为客户端装置生成会话标识符,则数据处理系统可以确定客户端装置的应用程序先前没有存取过内容发布者的至少一个信息资源。关于会话标识符的生成的细节将在下面讨论。

在一些实现方式中,数据处理系统可以向内容发布者发送请求,以确定客户端装置是否已经存取过内容发布者的信息资源。随后,数据处理系统可以从内容发布者接收响应。该响应可以包括标识客户端装置是否已经存取过内容发布者的信息资源的指示符。在一些实现方式中,在数据库上,数据处理系统可以维护对应于已经向数据处理系统发送对指令的请求的客户端装置的装置标识符的列表。数据处理系统可以将从脚本请求器接收的对指令的请求的装置标识符与储存在数据库上的装置标识符的列表进行比较。如果装置标识符与列表中的任何一个都不匹配,则数据处理系统可以确定客户端装置先前没有存取过内容发布者的任何信息资源。另一方面,如果装置标识符与列表中的任何一个匹配,数据处理系统可以确定客户端装置的应用程序先前已经存取过内容发布者的至少一个信息资源。

如果客户端装置先前没有存取过内容发布者的任何信息资源,则数据处理系统可以生成并提供参数值取回脚本以插入报头中。当客户端装置先前没有存取过内容发布者的任何信息资源时,客户端装置上的信息资源可以对应于或被称为第一信息资源。参数值取回脚本可以包括一个或多个包装器、会话标识符和参数值取回脚本。每个包装器可以对应于内容提供者中的一个。每个包装器可以包括来自相应的内容提供者的参数值。以下详细说明参数值取回脚本的功能及其组件。

数据处理系统可响应于确定客户端装置先前未存取过内容发布者的任何信息资源而生成会话标识符。会话标识符可以对应于客户端装置,并且可以用于选择要在内容发布者的信息资源上服务的内容。在一些实现方式中,会话标识符可以是用于唯一地标识客户端装置的字母数字串、数值(例如,整数)、或任何其他值。数据处理系统可以基于从客户端装置接收的对指令的请求而生成会话标识符。在一些实现方式中,数据处理系统可以使用包含在请求中的装置标识符、装置类型和应用程序配置文件以及其他数据来确定会话标识符。在一些实现方式中,数据处理系统可以通过向对应于客户端装置的装置地址(例如,互联网协议(ip)地址或介质访问控制(mac)地址等)应用散列函数来为会话标识符生成散列值。在一些实现方式中,数据处理系统可以将会话标识符插入参数值取回脚本中。数据处理系统还可以将生成的会话标识符储存在数据库上。

在生成会话标识符的情况下,数据处理系统可以向内容提供者提供会话标识符。数据处理系统可以标识向哪个内容提供者提供会话标识符。在一些实现方式中,可以基于来自客户端装置的对指令的请求中包含的内容提供者标识符来标识向哪个内容提供者提供会话标识符。在一些实现方式中,可以基于内容发布者来标识向哪个内容提供者提供会话标识符。数据处理系统可以存取数据库以标识内容发布者已允许哪个内容提供者将内容项插入内容发布者的信息资源中。数据处理系统还可以向内容发布者发送请求,以标识内容发布者已允许将内容项插入信息资源中的内容提供者。一旦标识出内容提供者,数据处理系统就可以将会话标识符传送或发送到一个或多个内容提供者。在一些实现方式中,会话标识符可以由数据处理系统发送给内容提供者,作为对内容选择参数值的请求的一部分。对内容选择参数值的请求可以包括客户端装置的装置类型、对应于应用程序的应用程序简档、客户端装置的系统配置(例如,显示器大小、分辨率、网络带宽等)和内容项的内容插槽大小,以及其他数据。

在接收到会话标识符时,每个内容提供者可以将会话标识符储存为对应于客户端装置。在一些实现方式中,每个内容提供者可以将会话标识符储存在与内容提供者相关联的数据库上。在一些实现方式中,内容提供者也可以将会话标识符设定为与内容发布者相关联。内容提供者可以使用会话标识符来从客户端装置存取状态数据(例如,cookie)。以这种方式,内容提供者可以使用会话标识符标识存取一个或多个信息资源的相同客户端装置,以将内容项插入到信息资源上。

在一些实现方式中,在储存会话标识符时,内容提供者还可以向数据处理系统提供对应的参数值。参数值可以包括数字出价值(例如,双精度型、整数型或浮点型数据类型等),交互率(例如,点击率、印象率、曝光时间等),相关性度量、一个或多个关键字(例如,与内容提供者或内容项相关联)、或用于选择由内容提供者提供以插入信息资源中的内容项的任何其他值。在一些实现方式中,内容提供者、可以基于来数据处理系统的请求来计算参数值。在一些实现方式中,内容提供者可以解析请求以标识户端装置的装置类型、对应于应用程序的应用程序简档、客户端装置的系统配置(例如,显示器大小、分辨率、网络带宽等)和内容项的内容插槽大小,以及其他数据。基于请求,内容提供者可以计算参数值以提供给客户端装置的数据处理系统。

在一些实现方式中,内容提供者可以确定值的条件序列作为参数值以提供给数据处理系统。值的条件序列可以指定参数值,其用于由客户端装置存取的第一信息资源和随后的资源。在一些实现方式中,条件序列可以基于在第一信息资源上选择内容提供者为第二信息资源指定一个参数值,并基于在第一信息资源上未选择内容提供者为第二信息资源指定另一个参数值。在下面详述在选择内容项以插入第一信息资源中时对参数值的使用。一旦从每个内容提供者收集参数值,数据处理系统就可以将接收的参数值插入参数值取回脚本中。

在参数值取回脚本内,数据处理系统可以生成包装器。每个生成的包装器可以对应于内容提供者中的一个。每个包装器可以对应于参数值脚本的子例程或子函数(例如,以javascript的形式),用于取回参数值或提供参数值到参数取回脚本。在一些实现方式中,每个包装器可以包括用于取回参数值的地址。该地址可以包括对应于内容提供者的主机名和对应于客户端装置的内容提供者的特定参数值的文件路径名。在一些实现方式中,参数值取回脚本的包装器可以预先加载参数值。在一些实现方式中,包装器可以包括用于取回参数值的相应内容提供者的地址。

生成参数值取回脚本后,数据处理系统可以将参数值取回脚本发送到客户端装置。一旦被客户端的应用程序接收,应用程序就可以将参数值取回脚本插入报头中并且可以执行参数值取回脚本。参数值取回脚本的执行可以在信息资源的其余部分之前,例如信息资源的主体和其他内容对象。在一些实现方式中,可以在参数值取回脚本之前调用包装器,反之亦然。

参数值取回脚本可以使用一个或多个参数值来选择内容提供者中的一个,以将内容项插入信息资源的主体中。参数值取回脚本可以调用每个包装器以取回或获得参数值,以选择内容提供者。在一些实现方式中,在调用时,每个包装器可以向对应的内容提供者发送对内容选择参数值的请求。对选择参数值的请求可以包括会话标识符。使用会话标识符,每个内容提供者可以提供参数值。随后,每个包装器可以从相应的内容提供者接收参数值。在一些实现方式中,每个包装器可以预先加载参数值,并且可以在参数值取回脚本调用时提供参数值。

利用从一个或多个包装器获得的参数值,参数值取回脚本可以执行内容选择过程以标识要选择哪个内容提供者。在一些实现方式中,内容选择过程可以包括报头出价技术。在一些实现方式中,在运行内容选择过程时,参数值取回脚本可以标识出从内容提供者接收的参数值中的最高参数值。然后,参数值取回脚本可以选择对应于最高参数值的内容提供者。在一些实现方式中,在运行内容选择过程时,参数值取回脚本可以使用相应的参数值计算每个内容提供者的组合选择值。组合选择值可以对应于内容提供者120a-n中的一个,并且可以是对应的参数值的数字出价值、交互率、相关性度量和一个或多个关键字的函数。然后,参数值取回脚本可以标识最大组合选择值。然后,参数值取回脚本可以选择对应于最大组合选择值的内容提供者,以标识向哪个内容提供者请求内容项以插入信息资源中。

在选择内容提供者中的一个时,参数值取回脚本可以向内容提供者发送对内容的请求,以将内容项插入到第一信息资源上。对内容的请求可以包括对应于应用程序的应用程序简档、客户端装置的系统配置(例如,显示器大小、分辨率、网络带宽等)和内容插槽大小,以及其他。基于对内容的请求,内容提供者可以标识内容项以提供给客户端的应用程序。每个内容提供者可以具有多个内容项以选择一个内容项。一旦被选择,内容提供者可以将内容项发送到客户端装置。客户端装置的应用程序可以进而接收内容项,并且可以将内容项插入信息资源的主体中或信息资源的在报头之后的的其余部分中的某个其他位置。

在步骤410,数据处理系统可以随后从客户端装置接收对第二指令的第二请求,该第二指令是对第二信息资源的第二报头进行插入来选择多个内容提供者中的一个。第二请求可以包括会话标识符。另一方面,如果客户端装置先前已存取过内容发布者的任何信息资源,则数据处理系统可以生成并提供内容取回脚本。

在步骤415,数据处理系统可以确定第二请求包括会话标识符,该会话标识符与响应于接收第一请求而生成的会话标识符匹配。在一些实现方式中,数据处理系统可以在将参数值取回脚本提供给客户端装置之后从客户端装置接收对指令的请求。在一些实现方式中,对指令的后续请求可以包括先前为客户端装置生成的会话标识符。当客户端装置先前存取过内容发布者的任何信息资源时,客户端装置上的信息资源可以对应于或被称为第二信息资源或随后的信息资源。对于后续请求,数据处理系统可以运行第二信息资源的内容选择过程,而不是像第一信息资源那样运行客户端装置。

在步骤420,数据处理系统可以响应于确定第二请求包括会话标识符,使用所述标识符获得用于多个内容提供者中的每个内容提供者的相应的内容选择参数值。为了生成内容取回脚本,数据处理系统可以解析来自客户端装置的后续请求以标识会话标识符。内容取回脚本可包括内容取回器和内容项标识符。内容取回脚本的功能详述如下。对指令的后续请求可以包括或不包括会话标识符。对指令的后续请求可以包括地址、装置标识符、装置类型和应用程序简档,以及其他数据。基于对指令的后续请求,数据处理系统可以标识客户端装置的会话标识符。在一些实现方式中,使用请求中包含的地址、装置标识符、装置类型和应用程序简档,数据处理系统可以存取数据库以标识会话标识符。如上所述,可以在数据库上储存和维护会话标识符,并且可以由来自先前请求的数据索引。在一些实现方式中,数据处理系统可以解析后续请求以确定会话标识符的存在,来确定会话标识符是否包含在请求中。

一旦从请求中标识出会话标识符,数据处理系统就可以获得内容提供者中的每一个的参数值。在一些实现方式中,参数值先前已经可以响应于先前的对指令的请求而获得。在一些实现方式中,参数值可以与参数值取回脚本获得的先前参数值不同。在一些实现方式中,数据处理系统可以向内容提供者发送对内容选择参数值的请求。数据处理系统可以标识向哪个内容提供者提供会话标识符。在一些实现方式中,可以基于来自客户端装置的对指令的请求中包含的内容提供者标识符来标识向哪个内容提供者提供会话标识符。在一些实现方式中,可以基于内容发布者来标识向哪个内容提供者提供会话标识符。数据处理系统可以存取数据库以标识内容发布者已允许哪个内容提供者将内容项插入内容发布者的信息资源中。数据处理系统还可以向内容发布者发送请求,以标识内容发布者已允许将内容项插入信息资源中的内容提供者。一旦标识出内容提供者,数据处理系统就可以将会话标识符传送或发送到一个或多个内容提供者。

在接收到会话标识符时,每个内容提供者可以标识参数值以提供给数据处理系统。内容提供者可以基于会话标识符标识参数值。在一些实现方式中,内容提供者可以存取数据库以找到与会话标识符和/或内容提供者相关联的参数值。在一些实现方式中,参数值可以在内容发布者的信息资源之间不同。使用会话标识符来标识参数值,内容提供者可以返回并将参数值发送到数据处理系统。以这种方式,客户端装置可以不再必须向参数值的内容提供者中的每一个发送单独的请求,从而减少网络中的延迟和客户端装置处的计算资源的消耗。

在步骤425,数据处理系统可以使用从多个内容提供者获得的多个内容选择参数值,从多个内容提供者中选择内容提供者。利用对于内容提供者获得的参数值,数据处理系统可以执行内容选择过程以标识要选择哪个内容提供者。在一些实现方式中,在运行内容选择过程时,数据处理系统可以标识出从内容提供者接收的参数值中的最高参数值。然后,数据处理系统可以标识并选择对应于最高参数值的内容提供者。在一些实现方式中,在运行内容选择过程时,数据处理系统可以使用相应的参数值计算每个内容提供者的组合选择值。组合选择值可以对应于内容提供者中的一个,并且可以是对应的参数值的数字出价值、交互率、相关性度量和一个或多个关键字的函数。然后,数据处理系统可以标识最大组合选择值。然后,数据处理系统可以选择对应于最大组合选择值的内容提供者,以标识从哪个内容提供者请求内容项以插入信息资源中。以这种方式,客户端装置可以不再必须使用内容提供者的参数值来运行内容选择过程,从而降低客户端装置处的计算资源的消耗。

在一些实现方式中,数据处理系统可以使用值的条件序列来运行内容选择过程。如上所述,条件序列可以基于在第一信息资源上选择内容提供者为第二信息资源指定第一参数值,并可以基于在第一信息资源上未选择内容提供者为第二信息资源指定第二参数值。数据处理系统可以标识为第一信息资源选择哪个内容提供者。基于选择了哪个内容提供者,数据处理系统可以选择参数值以在条件序列中指定的内容选择过程中使用。如果在第一信息资源中没有选择内容提供者,则数据处理系统可以标识第二参数值以用于内容提供者的内容选择过程中。如果在第一信息资源中选择了内容提供者,则数据处理系统可以标识第一参数值以用于内容提供者的内容选择过程中。结合条件序列使用的内容选择过程可以与上述相同。

在一些实现方式中,数据处理系统可以使用由内容提供者直接提供的参数值,而不是先前取回的条件序列。参数值可以是动态的,并且可能由于客户端装置存取了信息资源而已经改变。数据处理系统可以使用伪随机数生成器生成随机值。基于随机值,数据处理系统可以使用来自内容提供者的参数值,而不是条件序列。在一些实现方式中,数据处理系统可以将随机值与用于参数值的第一范围或用于条件序列的第二范围进行比较。如果随机值在第一范围内,则数据处理系统可以向每个内容提供者发送请求以获得新的参数值。如果随机值在第二范围内,则数据处理系统可以继续使用之前从每个内容提供者接收的条件序列。以这种方式,当在内容选择过程中使用新参数值时或相对地使用条件序列时,内容提供者可以将交互统计与插入信息资源上的内容项进行比较。

在步骤430,数据处理系统可以向客户端装置提供内容取回脚本以插入第二信息资源的第二报头中。内容取回脚本可以配置为使得客户端装置从所选择的内容提供者获得内容项以插入第二信息资源中。

在选择内容提供者中的一个时,数据处理系统可以向内容提供者发送对内容的请求,以将内容项插入到信息资源上。对内容的请求可以包括对应于应用程序的应用程序简档、客户端装置的系统配置(例如,显示器大小、分辨率、网络带宽等)和内容插槽大小,以及其他。基于对内容的请求,内容提供者可以标识内容项以提供给客户端的应用程序。每个内容提供者可以具有多个内容项以选择一个内容项。一旦被选择,内容提供者就可以将对应于内容项的内容项标识符发送给数据处理系统。内容项标识符可以是统一资源定位符(url),并且可以包括协议、对应于所选择的内容提供者的主机名、以及对应于要插入信息资源中的特定内容项的文件路径名,以及其他参数。数据处理系统可以将内容项标识符插入内容取回脚本中。数据处理系统可以进而将内容取回脚本发送到客户端装置的应用程序。

一旦被客户端的应用程序接收,应用程序就可以将内容取回脚本插入报头中并且可以执行参数内容取回脚本。在一些实现方式中,应用程序可以执行内容取回器。内容取回脚本的执行可以在信息资源的其余部分之前,例如信息资源的主体和其他内容对象。内容取回器可以将对内容的请求发送到内容项标识符中指定的内容提供者。对内容的请求可以包括内容项标识符。在从内容取回器接收到对内容的请求时,接收者内容提供者可以标识要提供给客户端装置的内容项。一旦被标识,内容提供者可以将内容项发送到客户端装置。客户端装置的应用程序可以接收内容项。内容取回器可以将内容项插入信息资源的主体中或信息资源的在报头之后的其余部分中的某个其他位置。

在一个实现方式中,数据处理系统可以在提供内容取回脚本之后为后续信息资源提供参数值取回脚本,而不管客户端装置先前是否已经存取过内容发布者的至少一个信息资源。数据处理系统可以使用伪随机数生成器生成随机值。基于随机值,数据处理系统可以提供参数值取回脚本,而不是内容取回脚本。在一些实现方式中,数据处理系统可以将随机值与用于提供参数值取回脚本的第一范围或用于提供内容取回脚本的第二范围进行比较。如果随机值在第一范围内,则数据处理系统可以向客户端装置的应用程序提供参数值取回脚本。如果随机值在第二范围内,则数据处理系统可以向客户端装置的应用程序提供内容取回脚本。以这种方式,内容提供者可以将交互统计与插入到信息资源上的内容项、与参数值取回脚本、与内容取回脚本进行比较。

图5示出了根据一些实现方式的可用于实现本文所讨论的任何计算机系统的说明性计算机系统500的总体架构,其包括数据处理系统110及其组件、脚本提供器130、标识符生成器132、参数聚合器134、提供者选择器136,以及数据库138,以及客户端装置125及其组件、应用程序160、脚本请求器166、参数值取回脚本205,以及内容取回脚本220。计算机系统500可用于经由网络105提供信息以供显示。图5的计算机系统500包括通信地耦接到存储器525的一个或多个处理器520、一个或多个通信接口505、以及一个或多个输出装置510(例如,一个或多个显示单元)和一个或多个输入装置515。处理器520可以包含在数据处理系统110中或数据处理系统110的其他组件中。处理器520可以包含在内容发布者115中或内容发布者115的其他组件中。处理器520可以包含在内容提供者120a-n中或内容提供者120a-n的其他组件中。处理器520可以包含在客户端装置125中或客户端装置125的其他组件中。

在图5的计算机系统500中,存储器525可以包括任何计算机可读储存介质,并且可以储存计算机指令,例如处理器可执行指令,以实现本文描述的各个系统的各种功能,以及与之相关的、由此产生的、或经由(多个)通信接口或(多个)输入装置(如果存在)接收的任何数据。再次参考图1的系统100,数据处理系统110可以包括存储器525,用于储存与一个或多个内容单元的库存的可用性、一个或多个内容单元的预留有关的信息,以及其他。存储器525可以包括数据库138。图5中所示的(多个)处理器520可以用于执行在存储器525中储存的指令,并且在这样做时,还可以从存储器读取或向存储器写入根据指令的执行而处理和/或生成的各种信息。

图5中所示的计算机系统500的处理器520还可以通信地耦接到或用于控制(多个)通信接口505,以根据指令的执行来发送或接收各种信息。例如,(多个)通信接口505可以耦接到有线或无线网络、总线或其他通信构件,并且因此可以允许计算机系统500向其他装置(例如,其他计算机系统)发送信息或从其接收信息。虽然未在图1或图5的系统中明确示出,但是一个或多个通信接口有助于系统500的组件之间的信息流。在一些实现方式中,(多个)通信接口可以被配置(例如,经由各种硬件组件或软件组件)以提供网站作为计算机系统500的至少一些方面的存取门户。通信接口505的示例包括用户接口(例如,网页),用户可以通过该用户接口与数据处理系统110通信。

例如,可以提供图5中所示的计算机系统500的输出装置510,以允许结合指令的执行来查看或以其他方式感知各种信息。例如,可以提供(多个)输入装置515以允许用户在执行指令期间进行手动调整、进行选择、输入数据或以各种方式中的任何一种与处理器进行交互。本文进一步提供了与可用于本文讨论的各种系统的通用计算机系统架构相关的附加信息。

本说明书中描述的主题和操作的实现方式可以以数字电子电路,或者以包括本说明书中公开的结构及其结构等价物的包含在有形介质、固件或硬件上的计算机软件、或者以它们中的一个或多个的组合来实现。本说明书中描述的主题的实现方式可以被实现为一个或多个计算机程序,即,编码在计算机储存介质上的计算机程序指令的一个或多个模块,以由数据处理设备执行或控制数据处理设备的操作。程序指令可以被编码在人工生成的传播信号上,例如机器生成的电信号、光信号或电磁信号,其被生成以对信息进行编码,以发送到合适的接收器设备以供数据处理设备执行。计算机储存介质可以是计算机可读储存装置、计算机可读储存基板、随机或串行存取存储器阵列或装置、或它们中的一个或多个的组合,或者可以被包含在其中。此外,虽然计算机储存介质不是传播信号,但计算机储存介质可以包括编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机储存介质也可以是在一个或多个单独的物理组件或介质(例如,多个cd、磁盘或其他储存装置),或包含在一个或多个单独的物理组件或介质(例如,多个cd、磁盘或其他储存装置)中。

本文公开的特征可以在智能电视模块(或连接的电视模块,混合电视模块等)上实现,其可以包括处理模块,该处理模块配置为将互联网与更传统的电视节目源(例如,经由电缆、卫星、空中或其他信号接收的)结合。智能电视模块可以物理地并入到电视机中或者可以包括单独的装置,例如机顶盒、蓝光或其他数字媒体播放器、游戏控制台、酒店电视系统和其他配套设备。智能电视模块可以配置为允许观看者搜索和查找网络上,本地有线电视(tv)频道上,卫星电视(tv)频道上或者在本地硬盘驱动器上储存的视频、电影、照片和其他内容。机顶盒(stb)或机顶盒单元(stu)可以包括信息器具装置,其可以包含调谐器并连接到电视机和外部信号源,将信号转换成内容,然后显示在电视屏幕或其他显示装置上。智能电视模块可以配置为提供包括用于多个不同应用程序(诸如网络浏览器和多个流媒体服务)的图标的主屏幕或顶级屏幕、连接的电缆或卫星媒体源、其他网络“频道”等。智能电视模块还可以配置为向用户提供电子节目指南。智能电视模块的伴随应用程序可以在移动计算装置上是可操作的,以向用户提供关于可用节目的附加信息,允许用户控制智能电视模块等。在一些实现方式中,这些特征可以在膝上型计算机或其他个人计算机、智能手机、其他移动电话、手持式计算机、平板计算机或其他计算装置上实现。在一些实现方式中,本文公开的特征可以在可穿戴装置或组件(例如,智能手表)上实现,该可穿戴装置或组件可以包括配置为集成互联网连接(例如,与另一个计算装置或网络105)的处理模块。

本说明书中描述的操作可以被实现为由数据处理设备对在一个或多个计算机可读储存装置上储存的数据或从其他源接收的数据进行的操作。

术语“数据处理设备”、“数据处理系统”、“用户装置”或“计算装置”包括用于处理数据的所有类型的设备、装置和机器,包括例如可编程处理器、计算机、片上系统或多个芯片,或前述的组合。设备可以包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,设备还可以包括为所讨论的计算机程序创建执行环境的代码,例如代码,其构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时间环境、虚拟机或它们中的一个或多个的组合。设备和执行环境可以实现各种不同的计算模型基础设施,如web服务、分布式计算和网格计算基础设施。脚本提供器130、标识符生成器132、参数聚合器134和提供者选择器136可以包括或共享一个或多个数据处理设备、计算装置或处理器。

计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以用任何形式的编程语言编写,包括编译语音或解释语言、声明语言或过程语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或适用于计算环境的其他单元。计算机程序可以但不必对应于文件系统中的文件。程序可以储存在保存其他程序或数据(例如,在标记语言文档中储存的一个或多个脚本)的文件的一部分中、储存在专用于所讨论的程序的单个文件中、或者储存在多个协调文件中(例如,储存一个或多个模块、子程序或部分代码的文件)。计算机程序可以部署为在一台计算机上或在多台计算机上执行,所述多台计算机位于一个站点,或跨多个站点分布并通过通信网络互连。

本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器来进行,以通过对输入数据进行操作并生成输出来进行动作。过程和逻辑流程也可以由专用逻辑电路(例如fpga(现场可编程门阵列)或asic(专用集成电路))进行,并且装置也可以实现为专用逻辑电路(例如fpga(现场可编程门阵列)或asic(专用集成电路))。

适用于执行计算机程序的处理器包括例如通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或者两者接收指令和数据。计算机的基本元件是用于根据指令进行动作的处理器,以及用于储存指令和数据的一个或多个存储器装置。通常,计算机还将包括或可操作地耦接以从和/或向用于储存数据的一个或多个海量储存装置接收和/或传输数据,例如磁盘、磁光盘或光盘。然而,计算机不需要具有这样的装置。此外,计算机可以嵌入在另一个装置中,例如移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏控制器、全球定位系统(gps)接收器或便携式储存装置(例如,通用串行总线(usb)闪存驱动器)。适用于储存计算机程序指令和数据的装置包括所有形式的非易失性存储器、介质和存储器装置,包括例如半导体存储器装置,比如eprom、eeprom和闪存装置;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd-rom和dvd-rom盘;处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。

为了提供与用户的交互,本说明书中描述的主题的实现方式可以在计算机上实现,该计算机具有显示装置(例如crt(阴极射线管)、等离子体、或lcd(液晶显示器)监视器)以向用户显示信息,该计算机还具有键盘和指点装置,例如鼠标或轨迹球,用户可以通过其向计算机提供输入。其他类型的装置也可用于提供与用户的交互。例如,提供给用户的反馈可以包括任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈,并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。另外,计算机可以通过向用户使用的装置发送文档和从该装置接收文档来与用户交互;例如通过响应于从网络浏览器接收到的请求,将网页发送到用户的客户端装置上的网络浏览器。

可以在计算系统中实现本说明书中描述的主题的实现方式,该计算系统包括后端组件,例如作为数据服务器,或者包括中间件组件,例如应用程序服务器,或者包括前端组件,例如具有图形用户接口或网络浏览器的客户端计算机,用户可以通过该图形用户接口或网络浏览器与本说明书中描述的主题的实现方式进行交互,或者包括一个或多个这样的后端组件、中间件组件或前端组件的任何组合。系统的组件可以通过数字数据通信的任何形式或介质(例如通信网络)互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”),互联网络(例如互联网)和对等网络(例如,特设(adhoc)对等网络)。

诸如系统500或系统100的计算系统可以包括客户端和服务器。例如,数据处理系统110可以在一个或多个数据中心或服务器农场中包括一个或多个服务器。客户端和服务器通常彼此远离并且通常通过通信网络进行交互。客户端和服务器之间的关系是通过在相应的计算机上运行并彼此具有客户端-服务器关系的计算机程序产生的。在一些实现方式中,服务器向客户端装置发送数据(例如,html页面)(例如,出于向与客户端装置交互的用户显示数据和从与客户端装置交互的用户接收用户输入的目的)。可以在服务器处从客户端装置接收在客户端装置处生成的数据(例如,用户交互的结果)。

虽然本说明书包含许多具体的实现方式细节,但是这些不应该被解释为对任何发明的范围或可以要求保护的范围的限制,而是作为针对于本文所述的系统和方法的特定实现方式的特征的描述。本说明书中在单独实现方式的上下文中描述的某些特征也可以组合或在单个实现方式中来实现。相反,在单个实现方式的上下文中描述的各种特征也可以在多个实现方式中单独地或以任何合适的子组合来实现。此外,尽管特征可以在上文描述为以某些组合起作用并且甚至最初如此主张,但是来自所要求保护的组合的一个或多个特征可以在一些情况下从该组合中删除,并且所要求保护的组合可以涉及子组合或子组合的变型。

类似地,尽管在附图中以特定顺序描述了操作,但这不应被理解为要求以所示的特定顺序或先后顺序进行这样的操作,或者进行所有示出的操作以实现期望的结果。在一些情况下,权利要求中记载的动作可以以不同的顺序进行并且仍然实现期望的结果。此外,附图中描绘的过程不一定需要所示的特定顺序或先后顺序,以实现期望的结果。

在某些情况下,多任务和并行处理可能是有利的。此外,上文所述的实现方式中的各种系统组件的分离不应该被理解为在所有的实现方式中都需要这种分离,并且应该理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或封装成多个软件产品。脚本提供器130、标识符生成器132、参数聚合器134和提供者选择器136可以是数据处理系统110的一部分、单个模块、具有一个或多个处理模块的逻辑装置、一个或多个服务器、或搜索引擎的一部分。

现在已经描述了一些说明性实现方式,显然前述是说明性的而非限制性的,其已经通过示例的方式呈现。特别地,尽管本文呈现的许多示例涉及方法动作或系统元件的特定组合,但是这些动作和这些元件可以以其他方式组合以实现相同的目标。仅与一个实现方式相关地讨论的动作、元件和特征不旨在从其他实现方式中的类似角色中排除。

本文使用的措辞和术语是出于描述的目的,而不应视为限制。使用“包括”、“包含”、“具有”、“含有”、“涉及”、“特征为”、“特征在于”及其变形,意味着包括其后列出的项目、其等同物和附加项目,以及包括其后排他列出的项目的替代实现方式。在一个实现方式中,本文描述的系统和方法包括一个所描述的元件、动作或组件,多于一个所描述的元件、动作或组件的每个组合,或者所有所描述的元件、动作或组件。

以单数形式提及的对本文所述的系统和方法的实现方式或元件或动作的任何引用也可以包含包括多个这些元件的实现方式,并且对本文中的任何实现方式或元件或动作的任何复数引用也可以包含仅包括单个元件的实现方式。单数或复数形式的引用并不旨在将当前公开的系统或方法、它们的组件、动作或元件限制为单个或多个配置。对基于任何信息、动作或元件的任何动作或元素的引用可以包括其中动作或元件至少部分地基于任何信息、动作或元件的实现方式。

本文公开的任何实现方式可以与任何其他实现方式组合,并且对“实现方式”、“一些实现方式”、“替代实现方式”、“各种实现方式”、“一个实现方式”等的引用不一定是相互排斥的,并且是旨在表明结合实现方式描述的特定特征、结构或特性可以包括在至少一个实现方式中。本文使用的这些术语不一定都指的是相同的实现方式。任何实现方式可以以与本文公开的方面和实现方式一致的任何方式包含或排他地与任何其他实现方式组合。

对“或”的引用可以被解释为包含性的,使得使用“或”描述的任何术语可以指示单个、多于一个和所有描述的术语中的任何一个。

在附图、详细描述或任何权利要求中的技术特征后面附有参考标记的情况下,包括附图标记仅用于增加附图、详细描述和权利要求的可理解性。因此,附图标记和它们的缺失都不会对任何权利要求要素的范围产生任何限制影响。

在不脱离其特性的情况下,本文描述的系统和方法可以以其他特定形式体现。尽管本文提供的示例涉及在多个网页上维护会话标识符以用于内容选择和向其部署对策,但是本文描述的系统和方法可以包括应用于其他环境。前述实现方式对所描述的系统和方法是说明性的而非限制的。因此,本文描述的系统和方法的范围由所附权利要求而不是前面的描述来指示,并且落入权利要求的等同物的含义和范围内的改变包含在其中。

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