技术领域
背景技术
[0002] 响应于在呈现网页期间由客户端设备生成的内容项请求,显示在网页上的内容可以由一个或多个内容项
服务器生成。网页的发布者常常可以为要在网页内显示的内容项,例如广告,定义多个内容项环境,例如,广告槽段(slot)。通常,每个内容项环境具有关联的内容项请求,例如,广告请求,该内容项请求被传送到内容项服务器,例如
广告服务器。当由请求发布者的网页的客户端设备呈现网页时,内容项将在每个内容项环境中显示。
[0003] 然而,具有多个内容项环境的网页可以生成过度的通信量给内容项服务器。另外,因为网页指令常常是解释性的,在处理每个内容项请求指令时生成内容项请求。因此,在不知道可能遇到用于所述页的任何随后的内容项请求的情况下,传送并且派发(serve)对网页的第一内容项请求。因此,由内容项服务器为网页派发的每个内容项与由内容项服务器为所述页派发的其它内容项相独立。因此,如果网页的呈现生成多个内容项请求,可能为网页派发次最佳的内容项集合,例如,广告。
发明内容
[0004] 在此,公开了一种内容请求优化系统,包括存储在数据存储中的第一和第二指令。第一指令被配置为定义在页面环境中的内容项环境。第二指令与每个内容项环境相关联,并且被配置为确定是否已经通过第二指令中的任何一个生成内容项请求,并且响应于确定还没有通过第二指令中的任何一个生成内容项请求,生成用于每个内容项环境的对内容项的内容项请求。
[0005] 用于内容请求优化的方法识别在网页源文档中的请求。对于每个识别的请求,做出是否已经生成内容项请求的确定。如果还没有生成内容项请求,那么生成用于在网页源文档中的所有请求的内容项请求。
[0006] 另一个示例内容请求优化系统包括存储网页源文件的数据存储。网页源文件包括被配置为定义广告槽段的
声明指令和与广告槽段相关联的呈现指令。呈现指令被配置为确定是否已经生成广告请求,以及响应于确定还没有生成广告请求,传送用于每个广告槽段的广告请求。
[0007] 另一个示例内容请求优化系统包括存储网页源文件的数据存储。网页源文件包括声明指令、取指令以及呈现指令。声明指令被配置为定义内容项环境,以及取指令被配置为生成用于每个内容项环境的内容项请求。呈现指令与广告槽段相关联并且被配置为生成本地内容项调用以检索响应于内容项请求而接收的内容项以及在相应的内容项环境中呈现检索的内容项。
[0008] 在此描述的所述系统和方法可以实现以下特征和优点中的一个或多个。可以生成用于多个内容项环境的单个内容项请求,降低内容项服务器的通信量。内容项服务器可以优化对用于请求网页的内容项的选择,因为可以根据内容项请求和用于请求网页的其它所选择的内容项来选择内容项。通过如下所述的系统和方法实现这些及其他的优点和特征。
附图说明
[0009] 图1是用于从源请求内容的示例系统的
框图。
[0010] 图2是用于从源请求内容的另一个示例系统的框图。
[0011] 图3是源文档和相应的缓存指令库的框图。
[0012] 图4是用于处理内容项请求的示例过程的
流程图。
[0013] 图5是用于处理内容项请求的另一个示例过程的流程图。
[0014] 图6是用于处理内容项请求的另一个示例过程的流程图。
[0015] 图7是用于处理内容项请求的另一个示例过程的流程图。
[0016] 图8是用于响应联合的(consolidated)内容项请求的示例过程的流程图。
具体实施方式
[0017] 图1是用于从例如内容项服务器的源请求内容项的示例系统10的框图。在一个实施方式中,内容项可以是广告,并且内容项服务器可以是广告服务器。还可以请求不同类型的内容,例如天气、行车路线指引、琐事等等。
[0018] 在示出的实施方式中,请求设备是被配置以通过例如因特网的网络
访问网页的客户端系统100。例如,客户端系统100可以是web浏览器、计算设备、移动通信设备或执行网络导航
软件的某个其它设备等等。由客户端系统100访问的web地址可以被解析以识别发布者102,例如,托管相应网页的服务器。客户端系统100因此向发布者102发送用于例如超文本
标记语言(HTML)源文档的网页内容106的网页内容请求104,并且响应于所述请求,发布者102提供网页内容106给客户端系统100。
[0019] 在实施方式中,网页内容106可以例如包括标题(head)区108和主体区110,每个区具有解释性指令。例如,可以在主体区110之前解释标题区108。在实施方式中,第一指令112a、112b和112c,例如声明指令,在标题区108中被执行以定义将在显示设备上显示的相应网页107中呈现的一个或多个内容项环境114a、114b和114c。例如,内容项环境114a、114b和114c可以包括如在呈现的网页107中描述的近似
位置中呈现和显示的广告槽段,例如在顶部槽段、中间槽段和底部槽段中。在一个实施方式中,内容项环境114a、114b和114c可以是同步的环境,例如,在呈现的网页107的相同
框架(frame)内的div。在另一个实施方式中,内容项环境114a、114b和114c可以是异步环境,例如,在呈现的网页107内的iFrame。
[0020] 包括在主体区110内的是与内容项环境114a、114b和114c相关联的第二指令116a、116b和116c,例如呈现指令。第二指令116被配置为调用确定是否已经通过任何第二指令116生成内容项请求的请求过程。在一个实施方式中,响应于确定没有通过任何第二指令116生成内容项请求,正在执行的特定组第二指令116,例如第二指令116a,生成用于每个内容项环境114a、114b和114c的对内容项的组合的内容项请求117。
[0021] 在一个实施方式中,在客户端设备100处理第二指令116a、116b和116c之前解释第一指令112a、112b和112c。因此,当任何第二指令116a、116b和116c被执行的时候,所述内容环境114a、114b和114c已经被定义。因此,当执行第一组第二指令116时,例如,执行第二指令116a时,由第二指令116a调用的过程可以确定内容环境114b和114c也被定义,由此生成组合的内容项请求117。
[0022] 在一个实施方式中,组合的内容项请求117可以包括对应于用于内容项环境114a、114b和114c的请求的内容项请求118a、118b和118c的串接。在响应中,内容项服务器120可以例如优化对被派发的相应内容项122a、122b和122c的选择。在一个实施方式中,内容项服务器120包括优化逻辑121以优化对内容项122a、122b和122c的选择。例如,根据优化逻辑121选择内容项122a、122b和122c以保证完全不同的内容项被选择,例如,保证没有所选择的内容项是重复的内容项。
[0023] 在一个实施方式中,内容项请求118a、118b和118c可以例如包括相同的页面浏览(pageview)标识符,以及优化逻辑121可以根据页面浏览标识符和内容项请求118a、118b和118c的地址来选择内容项122a、122b和122c。还可以使用其它内容项优化选择过程。
[0024] 例如,内容项122a、122b以及122c可以在组合的答复123中被传送到客户端系统100并且被存储在数据存储130中,例如与客户端100上运行的浏览器相关联的缓存中。响应于由第二指令116a发出的组合的请求117,内容项122a被呈现在内容菜单项环境114a中。其后,在执行第二指令116b时,请求过程确定之前已经生成了内容项请求,例如,组合的内容项请求117和/或所述内容项请求118a、118b和118c。响应于该确定,第二指令
116b生成本地内容项请求125到数据存储130,其进而提供待在相应内容项槽段114b中呈现的内容项122b。第二指令116c还生成本地内容项请求129以检索存储在数据存储中的内容项122c用于在内容项环境114c中呈现。
[0025] 图2是用于从源请求内容的另一个示例系统11的框图。图2的系统11除了以下外以与图1的系统10相似的方式操作:单独的内容项请求指令115被执行以生成包括用于内容项环境114a、114b和114c的内容请求118a、118b和118c的组合的内容项请求117。第二指令116a、116b和116c被配置以分别地生成本地内容项请求141、143和145,以检索和在内容项环境114a、114b和114c中呈现存储的内容项122a、122b和122c。
[0026] 在另一个实施方式中,每个第一指令112a、112b和112c可以检索内容项环境特性,例如,高度和宽度尺寸。例如,第一指令112a、112b和112c可以分别地传送内容项环境请求151、153和155到内容项服务器120以检索用于内容项环境114a、114b和114c的内容项环境特性。通常,发布者或内容项提供者可以
修改内容项环境114;因此,通过在内容项服务器120存储内容项环境修改,发布者不必修改网页内容106。
[0027] 图3是示例源文档106和相应的缓存指令库160的框图。缓存指令库160可以例如包括一个或多个函数,例如Javascript函数,由第一指令112和第二指令116调用。在一个实施方式中,指令库160可以由内容项服务器120提供并且被存储在客户端系统100上的本地数据存储中。例如,当呈现网页内容106和遇到第一指令112时,客户端系统100可以确定指令库160是否存储在本地数据存储中,例如,与浏览器应用相关联的缓存中。如果指令库160没有存储在本地数据存储中,客户端系统100可以从内容项服务器120请求指令库160。
[0028] 通过实现在第一指令112和第二指令116中对指令库160的函数调用,内容服务器120的提供者可以实现实质上对于发布者系统102的提供者透明的查询变化及其他内容请求变化。
[0029] 图4是用于处理内容项请求的示例过程200的流程图。例如,所述示例过程200可以在客户端系统100中通过呈现网页内容106和执行指令112和116来实现。
[0030] 阶段202识别在源文档中的请求。例如,诸如web浏览器的客户端系统100可以执行指令112以识别诸如网页内容106的源文档中的请求。
[0031] 阶段204处理第一请求。例如,诸如web浏览器的客户端系统100可以执行与用于内容项环境114a的内容项请求相关的指令116a。
[0032] 阶段206确定是否已经生成到内容项服务器的内容项请求。例如,诸如web浏览器的客户端系统100可以执行指令116a以确定组合的内容项请求117或内容项请求118a、118b和/或118c是否已经被生成和/或被传送到内容项服务器。
[0033] 如果阶段206确定没有生成到内容项服务器的内容项请求,那么阶段208生成用于网页中的用于传送到内容项服务器的所有请求的内容项请求。例如,诸如web浏览器的客户端系统100可以执行生成组合的请求117的指令116a。
[0034] 然而,如果阶段206确定已经生成了到内容项服务器的内容项请求,那么阶段210生成本地内容项请求。例如,诸如web浏览器的客户端系统100可以执行指令116b和116c以分别地生成本地内容项请求125和129。
[0035] 图5是用于处理内容项请求的另一个示例过程300的流程图。所述示例过程300可以例如在客户端系统100中通过呈现网页内容106和执行指令112和116来实现。
[0036] 阶段302识别在源文档中的请求。例如,诸如web浏览器的客户端系统100可以执行指令112以识别诸如网页内容106的源文档中的请求。
[0037] 阶段304处理源文档中的指令。例如,诸如web浏览器的客户端系统100可以执行网页源文档106中的其它指令,诸如格式化指令、成像指令、Javascript等等。
[0038] 阶段306确定指令是否是内容项请求。例如,诸如web浏览器的客户端系统100在执行指令116a时可以确定指令是内容项请求处理指令。
[0039] 如果阶段306确定所述指令不是内容项请求,那么过程返回阶段304。然而,如果阶段306确定所述指令是请求指令,那么阶段308确定是否已经生成到内容项服务器的内容项请求。例如,诸如web浏览器的客户端系统100可以执行指令116a以确定组合的内容项请求117或内容项请求118a、118b和/或118c是否已经被生成和/或被传送到内容项服务器。
[0040] 如果阶段308确定没有生成到内容项服务器的内容项请求,例如,内容项请求是待处理的第一内容项请求,那么阶段310生成用于网页中的用于传送到内容项服务器的所有请求的内容项请求。例如,诸如web浏览器的客户端系统100可以执行生成组合的内容项请求117的指令116a。
[0041] 在阶段310处理之后,阶段312接收和存储响应于内容项请求而提供的内容项,以及阶段314处理用于第一内容项请求的内容项。例如,诸如web浏览器的客户端系统100可以接收以及在诸如数据存储130的数据存储中存储由内容项服务器120提供的内容项122a、122b以及122c。其后,内容项122a可以在内容项环境114a中被呈现。
[0042] 然而,如果阶段308确定已经生成了到内容项服务器的内容项请求,例如,内容项请求是待处理的第二或随后的内容项请求,那么阶段316生成本地内容项请求,并且阶段314处理用于随后的内容项请求的内容项。
[0043] 图6是用于处理内容项请求的另一个示例过程400的流程图。所述示例过程400可以例如在客户端系统100中通过呈现网页内容106和执行指令112和116来实现。
[0044] 阶段402声明广告槽段。例如,诸如web浏览器的客户端系统100可以执行指令112以声明网页中的广告槽段。
[0045] 阶段404确定呈现广告槽段的调用是否是第一调用。例如,诸如web浏览器的客户端系统100可以执行指令116a以确定广告请求是否已经被生成和/或被传送到广告服务器。
[0046] 如果阶段404确定呈现广告槽段的调用是第一调用,那么阶段406对广告服务器查询所有广告槽段。例如,诸如web浏览器的客户端系统100可以执行指令116a以生成组合的广告请求,包括用于网页中的所有广告槽段的广告请求。在一个实施方式中,组合的请求可以包括获取用于在阶段402中声明的所有广告槽段的广告的查询。在阶段406处理之后,阶段408呈现广告槽段和用于第一广告槽段的广告。例如,诸如web浏览器的客户端系统100可以执行指令116a以呈现广告槽段和从广告服务器接收的广告。
[0047] 然而,如果阶段404确定呈现广告槽段的调用不是第一调用,那么阶段410生成对用于广告槽段的广告的本地查询。例如,诸如web浏览器的客户端系统100可以执行指令116b和116c以生成到诸如与web浏览器相关联的缓存的本地数据存储的本地查询。
[0048] 阶段412呈现广告槽段和用于相应广告槽段的广告。例如,诸如web浏览器的客户端系统100可以执行指令116b和116c以呈现相应广告槽段和从广告服务器接收的以及存储在本地数据存储中的广告。
[0049] 图7是用于处理内容项请求的另一个示例过程500的流程图。示例过程500可以例如在客户端系统100中通过呈现网页内容106和执行指令112、115和116来实现。
[0050] 阶段502声明内容项环境。例如,诸如web浏览器的客户端系统100可以执行声明内容项环境114a、114b和114c的指令112a、112b和112c。
[0051] 阶段504生成用于所有内容项环境的组合的内容项请求。例如,诸如web浏览器的客户端系统100可以执行生成组合的内容项请求117的指令115。
[0052] 阶段506响应于组合的内容项请求而接收和存储内容项。例如,诸如web浏览器的客户端系统100可以接收以及在例如与web浏览器相关联的缓存的数据存储130中存储内容项122a、122b和122c。
[0053] 阶段508生成本地调用以检索接收的内容项。例如,诸如web浏览器的客户端系统100可以执行指令116a、116b和116c以分别地生成到数据存储130的本地调用141、143和145以检索内容项122a、122b和122c。。
[0054] 图8是用于响应联合的内容项请求的示例过程600的流程图。示例过程600可以例如在内容项服务器中实现,该内容项服务器诸如是包括诸如优化逻辑121的优化逻辑的内容项服务器120。
[0055] 阶段602接收用于多个内容项环境的单个查询。例如,组合的内容项请求117可以由内容项服务器120接收。组合的内容项请求117可以包括多个内容项请求,例如,118a、118b和118c。在一个实施方式中,每个内容项请求118包括公共的标识符,例如相同的页面浏览标识符。
[0056] 阶段604根据相应的内容项查询选择第一内容项。例如,内容项服务器120可以根据内容项请求118a选择内容项122a。
[0057] 阶段606根据随后的查询和以前选择的内容项来选择随后的内容项。例如,内容项服务器120可以根据内容项请求118b和118c,还可以根据以前选择的内容项122a,选择内容项122b和122c。可以在优化逻辑121中实现该选择过程。
[0058] 在该
专利文档中描述的装置、方法、流程图和结构化框图可以在包括程序代码的计算机处理系统中实现,该程序代码包括由计算机处理系统可执行的程序指令。还可以使用其它实施方式。另外,还可以利用在该专利文档中描述的流程图和结构化框图实现相应的软件结构和
算法以及它的等价物,所述流程图和结构化框图描述了特定方法和/或支持步骤的相应动作和支持公开的结构化装置的相应功能。
[0059] 所撰写的描述阐述了本发明的最佳模式并且提供了描述本发明的示例使得本领域技术人员能够制造和使用本发明。撰写的描述没有将本发明限制在所阐明的精确的术语。因此,尽管已经参考上面阐明的示例详细描写了本发明,但是本领域技术人员可以在不脱离本发明的范围的情况下,对示例进行变更、改型和变化。