CN108140195B - 用于自动管理内容槽位在信息资源中的放置的系统和方法 - Google Patents

用于自动管理内容槽位在信息资源中的放置的系统和方法 Download PDF

Info

Publication number
CN108140195B
CN108140195B CN201680027514.3A CN201680027514A CN108140195B CN 108140195 B CN108140195 B CN 108140195B CN 201680027514 A CN201680027514 A CN 201680027514A CN 108140195 B CN108140195 B CN 108140195B
Authority
CN
China
Prior art keywords
party content
content
client device
placement
party
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
Application number
CN201680027514.3A
Other languages
English (en)
Other versions
CN108140195A (zh
Inventor
马修·斯特雷克·布列希
陈薇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Priority to CN202210128275.8A priority Critical patent/CN114663126A/zh
Publication of CN108140195A publication Critical patent/CN108140195A/zh
Application granted granted Critical
Publication of CN108140195B publication Critical patent/CN108140195B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0273Determination of fees for advertising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

至少一个方面涉及一种自动管理内容槽位在信息资源中的放置的方法。所述方法包括:数据处理系统从计算设备接收对内容的请求,并且作为响应,将内容槽位插入脚本传送至所述计算设备。所述内容槽位插入脚本在被执行时可以使得所述计算设备识别包括在所述信息资源的所述文档对象模型(DOM)树中的一个或者多个DOM元素并且根据第三方内容放置策略来确定一个或者多个候选第三方内容放置位置。所述第二多个计算机可执行指令在所述计算设备上被执行时还可以使得所述计算设备从所述候选第三方内容放置位置中选择在所述DOM树中的第三方内容放置位置并且将第三方内容项显示在所选择的广告放置位置处。

Description

用于自动管理内容槽位在信息资源中的放置的系统和方法
相关申请
本申请要求于2015年9月16日提交的标题为“SYSTEMS AND METHODS FORAUTOMATICALLY MANAGING PLACEMENT OF CONTENT SLOTS IN AN INFORMATION RESOURCE(用于自动管理内容槽位在信息资源中的放置的系统和方法)”的美国申请No.14/856181的优先权的权益,该申请以引用的方式全部并入本文。
背景技术
在计算机网络环境——诸如互联网——中,第三方内容提供者提供第三方内容项以供在终端用户计算设备上进行显示。这些第三方内容项——例如广告——可以被显示在与相应发布者相关联的网页上。这些第三方内容项可以包括标识提供内容项的第三方内容提供者的内容。
发明内容
至少一个方面涉及一种自动管理内容槽位(slot)在信息资源中的放置的方法。该方法包括:包括一个或者多个处理器的数据处理系统响应于计算设备从内容发布者接收到包括第一多个计算机可执行指令的信息资源,从计算设备接收对内容的请求。第一多个计算机可执行指令识别数据处理系统的服务器。该方法还包括:数据处理系统将第二多个计算机可执行指令传送至计算设备。第二多个计算机可执行指令在计算设备上被执行时可以使得计算设备识别信息资源的文档对象模型(DOM)树,识别包括在DOM树中的一个或者多个DOM元素,并且根据第三方内容放置策略来确定一个或者多个候选第三方内容放置位置。第二多个计算机可执行指令在计算设备上被执行时还可以使得计算设备从候选第三方内容放置位置中选择在DOM树中的第三方内容放置位置并且将第三方内容项显示在所选择的第三方内容放置位置处。
在一些实施方式中,第三方内容放置策略包括用于识别候选第三方内容放置位置的一个或者多个规则。该规则基于识别到的DOM元素的尺寸。在一些实施方式中,根据第三方内容放置策略来确定一个或者多个候选第三方内容放置位置包括:确定第三方内容放置位置的预定数目,并且响应于确定预定数目的候选第三方内容放置位置,终止确定候选第三方内容放置位置的指令。在一些实施方式中,选择在DOM树中的第三方内容放置位置包括:选择在宽度大于信息资源的宽度的预定阈值的两个相邻DOM元素之间的第三方内容放置位置。
在一些实施方式中,将第三方内容项显示在所选择的第三方内容放置位置处包括:识别与显示第三方内容项相对应的收入额;确定收入额超过预定阈值;以及响应于确定收入额超过预定阈值,选择第三方内容项以供显示。在一些实施方式中,第二多个计算机可执行指令包括计算机可执行指令,该计算机可执行指令在计算设备上被执行时可以进一步使得计算设备识别待在信息资源上显示的现有第三方内容放置数目,确定现有第三方内容放置数目小于预定第三方内容放置数目,并且响应于确定现有第三方内容放置数目小于预定第三方内容放置数目,将第三方内容项显示在所选择的第三方内容放置位置处。
在一些实施方式中,第二多个计算机可执行指令在计算设备上被执行时可以进一步使得计算设备将第三方内容槽位插入在所选择的第三方内容放置位置处。第三方内容槽位包括计算机可执行指令,该计算机可执行指令在计算设备上被执行时可以使得计算设备向数据处理系统请求第三方内容项。在一些实施方式中,第二多个计算机可执行指令在计算设备上被执行时可以进一步使得计算设备从数据处理系统接收第三方内容,并且响应于确定与接收到的第三方内容项相关联的收入超过阈值,确定显示第三方内容项。
至少一个方面涉及一种实时地自动管理内容槽位在信息资源中的放置的方法。该方法包括:包括一个或者多个处理器的数据处理系统从计算设备接收对信息资源的请求并且将包括内容槽位插入脚本的信息资源传送至计算设备。内容槽位插入脚本在计算设备上被执行时可以使得计算设备识别信息资源的文档对象模型(DOM)树,识别包括在DOM树中的一个或者多个DOM元素并且根据第三方内容放置策略来确定一个或者多个候选第三方内容放置位置。内容槽位插入脚本在计算设备上被执行时还可以使得计算设备从候选第三方内容放置位置中选择在DOM树中的第三方内容放置位置并且将第三方内容项显示在所选择的第三方内容放置位置处。
在一些实施方式中,第三方内容放置策略包括用于识别候选第三方内容放置位置的一个或者多个规则。该规则基于识别到的DOM元素的尺寸。在一些实施方式中,根据第三方内容放置策略来确定一个或者多个候选第三方内容放置位置包括:确定预定数目的第三方内容放置位置,并且响应于确定预定数目的候选第三方内容放置位置,终止确定候选第三方内容放置位置的指令。在一些实施方式中,选择在DOM树中的第三方内容放置位置包括:选择在宽度大于信息资源的宽度的预定阈值的两个相邻DOM元素之间的第三方内容放置位置。
在一些实施方式中,将第三方内容项显示在所选择的第三方内容放置位置处包括:识别与显示第三方内容项相对应的收入额;确定收入额超过预定阈值;以及响应于确定收入额超过预定阈值,选择第三方内容项以供显示。在一些实施方式中,内容槽位插入脚本包括计算机可执行指令,该计算机可执行指令在计算设备上被执行时可以进一步使得计算设备识别待在信息资源上显示的现有第三方内容放置数目,确定现有第三方内容放置数目小于预定第三方内容放置数目,并且响应于确定现有第三方内容放置数目小于预定第三方内容放置数目,将第三方内容项显示在所选择的第三方内容放置位置处。
在一些实施方式中,内容槽位插入脚本在计算设备上被执行时可以进一步使得计算设备将第三方内容槽位插入在所选择的第三方内容放置位置处。第三方内容槽位包括计算机可执行指令,该计算机可执行指令在计算设备上被执行时使得计算设备向数据处理系统请求第三方内容项。在一些实施方式中,内容槽位插入脚本在计算设备上被执行时可以进一步使得计算设备从数据处理系统接收第三方内容,并且响应于确定与接收到的第三方内容项相关联的收入超过阈值,确定显示第三方内容项。
至少一个方面涉及一种用于自动管理内容槽位在信息资源中的放置的系统。该系统可以包括资源分析模块,该资源分析模块在计算设备上执行并且配置为响应于对供与信息资源一起显示的内容的请求来识别包括在信息资源的DOM树中的一个或者多个文档对象模型(DOM)元素。该系统还包括放置位置模块,该放置位置模块在计算设备上执行并且配置为采用第三方内容放置策略来确定在DOM树中待插入第三方内容项的多个候选第三方内容位置。该系统还可以包括位置选择模块,该位置选择模块在计算设备上执行并且配置为选择确定的多个候选第三方内容放置位置中的一个候选第三方内容放置位置。该系统还可以包括内容显示模块,该内容显示模块在计算设备上执行并且配置为使得第三方内容项显示在所选择的第三方内容放置位置处。
在一些实施方式中,第三方内容放置策略包括用于识别候选第三方内容放置位置的一个或者多个规则。该规则基于识别到的DOM元素的尺寸。在一些实施方式中,根据第三方内容放置策略来确定一个或者多个候选第三方内容放置位置可以包括:确定预定数目的第三方内容放置位置,并且响应于确定了预定数目的候选第三方内容放置位置,终止确定候选第三方内容放置位置的指令。在一些实施方式中,选择在DOM树中的第三方内容放置位置可以包括:选择在宽度大于信息资源的宽度的预定阈值的两个相邻DOM元素之间的第三方内容放置位置。
在一些实施方式中,使第三方内容项显示在所选择的第三方内容放置位置处包括:识别与显示第三方内容项相对应的收入额;确定收入额超过预定阈值;以及响应于确定收入额超过预定阈值,选择第三方内容项以供显示。在一些实施方式中,内容显示模块可以识别待在信息资源上显示的现有第三方内容放置数目,确定现有第三方内容放置数目小于预定第三方内容放置数目,并且响应于确定现有第三方内容放置数目小于预定第三方内容放置数目,将第三方内容项显示在所选择的第三方内容放置位置处。
在一些实施方式中,位置选择模块可以将第三方内容槽位插入在所选择的第三方内容放置位置处。第三方内容槽位包括计算机可执行指令,该计算机可执行指令在计算设备上被执行时可以使得计算设备向数据处理系统请求第三方内容项。在一些实施方式中,内容显示模块可以从数据处理系统接收第三方内容项,并且响应于确定与接收到的第三方内容项相关联的收入超过阈值,确定是否要显示第三方内容项。
下面将详细讨论这些和其它方面和实施方式。上述的信息和以下的具体实施方式包括各个方面和实施方式的说明性示例,并且提供用于理解要求保护的方面和实施方式的本质和特征的概述或者框架。附图提供各个方面和实施方式的图示和进一步理解,并且并入本说明书中并且组成本说明书的部分。
附图说明
附图并不旨在按比例绘制。在各个附图中相似的附图标记和名称指示相似的元件。为了清楚起见,不是每个组件都会在每个图中被标注。在附图中:
图1是描绘了用于提供用于与信息资源一起显示在客户端设备上的第三方内容的环境的实施方式的框图。
图2是描绘了根据说明性实施方式的,用于管理第三方内容槽位在信息资源中的放置的内容槽位插入系统的一个实施方式的框图。
图3是图示了信息资源和在其中识别到的附加第三方内容放置位置的结构的框图。
图4是描绘了根据说明性实施方式的,用于将附加第三方内容槽位插入信息资源的方法的流程图。
图5是描绘了可以采用来实现本文所描述和说明的系统和方法的元素的计算机系统的一般架构的说明性实施方式的框图。
具体实施方式
在下面更详细地描述了与用于控制信息资源内容在计算机网络环境中的显示的方法、装置、和系统有关的各个概念以及所述方法、装置和系统的实施方式。上面介绍的并且下面更详细地讨论的各个概念可以按照多种方式中的任何一种方式来实现,因为所描述的概念不限于实施方式的任何特定方式。
对于许多信息资源——诸如页面,页面的相应布局不会使针对用户、发布者、或者第三方——诸如广告主或者广告网络的页面效用最大化。例如,用户可以访问仅仅包括一个第三方内容槽位的网页。在这样的情况下,许多第三方内容提供者(诸如,重营销者(remarketer)、或者大而简单的品牌宣传活动(campaign))可能希望在用户浏览或者访问网页时触达(reach)用户。第三方内容提供者可能愿意支付比网页的发布者针对平均第三方内容槽位赚取的收入更多的费用来使其内容呈现给正在浏览网页的用户。鉴于网页可以包括数目比愿意将相应第三方内容项呈现给用户的第三方内容提供者的数目更少的第三方内容槽位,内容发布者可能期望将附加第三方内容槽位插入该网页以容纳第三方内容提供者,并且同时,增加用户浏览该网页所产生的收入。另外,发布者可能没有足够的资源以响应于在发布者的信息资源上公布第三方内容项的请求的增加来动态地添加第三方内容槽位。
内容发布者可以通过将网页的脚本手动修改为包括附加第三方内容槽位来增加包括在相应网页中的第三方内容槽位的数目。然而,手动插入第三方内容槽位不会允许内容发布者实时控制(在对信息资源进行渲染以在计算设备上进行显示的时候)要显示给用户的第三方内容槽位的数目。例如,如果从附加第三方内容槽位产生的收入大于预定阈值,则在内容发布者仅仅可以选择插入附加第三方内容槽位的情况下手动插入内容槽位可能是不够的。进一步地,当使用手动插入内容槽位时,可能无法实时实现基于用户、收入差异、和其它参数来改变在网页上示出的第三方内容槽位的数目。此外,大量网页的内容发布者可能不得不将网页中的每个网页手动更新为包括附加内容槽位,这可能极其耗时。
本公开涉及用于在最小的发布者参与的情况下在客户端侧实时地自动管理内容槽位在网页上的放置的系统和方法。通过能够管理内容槽位在客户端侧的放置,系统可以基于用户、发布者或者内容提供者——诸如广告主——的各个目标来最大化内容槽位的放置。此外,系统可以识别来自历史网页交互的信号并且使内容槽位的放置适配以提高参与度。此外,系统可以做出与正被插入的内容槽位的放置、大小、和格式有关的明智的决策。信号可以包括网页格式、显示有网页的设备类型和在网页上的其它元素,包括图像、视频、文本块、标题/标头等。另外,系统可以将动作的调用或者其它内容对象插入网页内以提高用户参与度。
在本公开中,数据处理系统可以允许自动地和动态地调整插入网页内的第三方内容槽位的数目。响应于来自客户端设备的对待显示在网页上的第三方内容的请求,数据处理系统可以将内容槽位插入脚本发送至客户端设备。内容槽位插入脚本在客户端设备上被执行时可以识别信息资源的文档对象模型(DOM)树,识别包括在DOM树中的一个或者多个DOM元素并且根据广告放置策略来确定一个或者多个候选广告放置位置。内容槽位插入脚本还可以使得计算设备从候选广告放置位置中选择在DOM树中的广告放置位置并且将广告显示在所选择的广告放置位置处。通过使用内容槽位插入脚本,数据处理系统可以响应于客户端设备请求访问网页来自动地和动态地调整(例如,增加或者减少)插入待显示在客户端设备上的网页中的第三方内容槽位的数目。以这种方式,基于一个或者多个参数,在没有任何内容提供者参与的情况下,可以在不同的客户端设备上向相同的网页派发数目不同的第三方内容槽位。
图1是描绘了用于自动管理内容槽位在信息资源中的放置的环境的一个实施方式的框图。环境100包括至少一个数据处理系统110。该数据处理系统110可以包括至少一个处理器(或者处理电路)和存储器。该存储器存储处理器可执行指令,该处理器可执行指令在处理器上被执行时使得该处理器执行本文所描述的操作中的一个或者多个操作。处理器可以包括微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等、或者其组合。存储器可以包括但不限于电子、光学、磁性、或者能够向处理器提供程序指令的任何其它存储或者传输设备。存储器可以进一步包括软盘、CD-ROM、DVD、磁盘、存储器芯片、ASIC、FPGA、只读存储器(ROM)、随机存取存储器(RAM)、电可擦除ROM(EEPROM)、可擦除可编程ROM(EPROM)、闪存、光学介质、或者处理器可以从其读取指令的任何其它合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码。数据处理系统110可以包括可以执行各个功能的一个或者多个计算设备或者服务器。在一些实施方式中,数据处理系统110可以包括配置为托管竞拍的广告竞拍系统。在一些实施方式中,数据处理系统110不包括广告竞拍系统,但是配置为经由网络105与广告竞拍系统通信。
网络105可以包括计算机网络,诸如,互联网、局域网、广域网、城域网或者其它区域网络、内联网、卫星网络、其它计算机网络——诸如语音或者数据移动电话通信网络、以及其组合。例如,环境100的数据处理系统110可以经由网络105与至少一个内容提供者计算设备115、至少一个内容发布者计算设备120、或者至少一个客户端设备125通信。网络105可以是在客户端设备125、数据处理系统110、和一个或者多个内容源——例如web服务器、广告服务器等之间中继信息的任何形式的计算机网络。例如,网络105可以包括互联网和/或其它类型的数据网络,诸如,局域网(LAN)、广域网(WAN)、蜂窝网络、卫星网络、或者其它类型的数据网络。网络105还可以包括配置为在网络105内接收和/或传送数据的任何数目的计算设备(例如,计算机、服务器、路由器、网络交换机等)。网络105可以进一步包括任何数目的硬连线和/或无线连接。例如,客户端设备125可以与硬连线(例如,经由光纤电缆、CAT5电缆等)至网络105中的其它计算设备的收发器无线地(例如,经由WiFi、蜂窝、无线电)通信。
内容提供者计算设备115可以包括由内容提供者实体操作以提供用于在客户端设备125处信息资源上显示的诸如广告的内容项的服务器或者其它计算设备。由内容提供者计算设备115提供的内容可以包括第三方内容项或者创意(例如,广告)以供在信息资源上显示,所述信息资源诸如包括主要内容——例如由内容提供者计算设备120提供的内容——的网站或者网页。内容项还可以被显示在搜索结果网页上。例如,内容提供者计算设备115可以提供广告(ad)或者其它内容项或者是所述广告(ad)或者其它内容项的源,所述广告(ad)或者其它内容项用于在内容网页——诸如网页的主要内容由公司提供的公司网页——的内容槽位中显示或者在由搜索引擎提供的搜索结果着陆页上显示。与内容提供者计算设备115相关联内容项可以被显示在信息资源而不是网页上,诸如,作为应用(诸如,游戏应用、全球定位系统(GPS)或者地图应用、或者其它类型的应用)的在智能手机或者其它客户端设备125上执行的部分被显示的内容。
内容发布者计算设备120可以包括由内容发布实体操作以经由网络105提供用于显示的主要内容的服务器或者其它计算设备。例如,内容发布者计算设备120可以包括提供主要内容以供在网页上显示的网页运营者。主要内容可以包括除了由内容发布者计算设备120提供的内容之外的内容,并且网页可以包括内容槽位,其配置用于显示来自内容提供者计算设备115的第三方内容项(例如,广告)。例如,内容发布者计算设备120可以操作公司的网站并且可以提供关于该公司的内容以供在网站的网页上显示。网页可以包括配置用于显示内容提供者计算设备115的第三方内容项——诸如广告——的内容槽位。在一些实施方式中,内容发布者计设备120包括运营搜索引擎网站的搜索引擎运营者的搜索引擎计算设备(例如,服务器)。搜索引擎网页(例如,结果或者着陆网页)的主要内容可以包括搜索结果以及显示在内容槽位中的第三方内容项,诸如,来自内容提供者计算设备115的内容项。在一些实施方式中,内容发布者计算设备120可以包括用于派发视频内容的服务器。
客户端设备125可以包括计算设备,该计算设备配置为经由网络105进行通信以显示数据,诸如,由内容发布者计算设备120提供的内容(例如,主要网页内容或者其它信息资源)和由内容提供者计算设备115提供的内容(例如,第三方内容项,诸如,配置用于显示在网页的内容槽位中的广告)。客户端设备125、内容提供者计算设备115、和内容发布者计算设备120可以包括台式计算机、膝上型计算机、平板计算机、智能手机、个人数字助理、移动设备、消费者计算设备、服务器、客户端、数字视频录像机、用于电视机的机顶盒、视频游戏控制台、或者配置为经由网络105进行通信的任何其它计算设备。客户端设备125可以是通信设备,通过该通信设备终端用户可以提交接收内容的请求。该请求可以是对搜索引擎的请求并且该请求可以包括搜索查询。在一些实施方式中,请求可以包括访问网页的请求。
内容提供者计算设备115、内容发布者计算设备120和客户端设备125可以包括处理器和存储器,即,处理电路。存储器存储机器指令,该机器指令在处理器上被执行时使得该处理器执行本文所描述的操作中的一个或者多个操作。处理器可以包括微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等、或者其组合。存储器可以包括但不限于电子、光学、磁性、或者能够向处理器提供程序指令的任何其它存储或者传输设备。存储器可以进一步包括软盘、CD-ROM、DVD、磁盘、存储器芯片、ASIC、FPGA、只读存储器(ROM)、随机存取存储器(RAM)、电可擦除ROM(EEPROM)、可擦除可编程ROM(EPROM)、闪存、光学介质、或者处理器可以从其读取指令的任何其它合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码。
内容提供者计算设备115、内容发布者计算设备120、和客户端设备125还可以包括一个或者多个用户接口设备。一般而言,用户接口设备指代通过生成感官信息(例如,在显示器上的可视化、一个或者多个声音等)来将数据传达至用户和/或将来自用户的接收到的感官信息转换为电子信号的任何电子设备(例如,键盘、鼠标、指示设备、触摸屏显示器、麦克风等)。根据各个实施方式,一个或者多个用户接口设备可以在内容提供者计算设备115、内容发布者计算设备120和客户端设备125的壳体内部(例如,内置显示器、麦克风等)或者在内容提供者计算设备115、内容发布者计算设备120和客户端设备125的壳体外部(例如,连接至用户计算设备115的监视器、连接至用户计算设备115的扬声器等)。例如,内容提供者计算设备115、内容发布者计算设备120和客户端设备125可以包括电子显示器,该电子显示器通过使用经由网络105从一个或者多个内容源和/或从数据处理系统110接收到的网页数据来在视觉上显示网页。在一些实施方式中,内容放置宣传活动管理者或者第三方内容提供者——诸如广告主——可以经由内容提供者计算设备115与数据处理系统110通信。在一些实施方式中,广告主可以经由显示在内容提供者计算设备115的用户接口设备上的用户界面来与数据处理系统110通信。
数据处理系统110可以包括至少一个服务器。例如,数据处理系统110可以包括位于至少一个数据中心或者服务器群中的多个服务器。在一些实施方式中,数据处理系统110可以包括第三方内容放置系统,例如,广告服务器或者广告放置系统。数据处理系统110可以包括至少一个内容请求模块130、至少一个内容选择模块135、至少一个脚本提供者模块140和至少一个数据库145。内容请求模块130、内容选择模块135和脚本提供者模块140均可以包括至少一个处理单元、服务器、虚拟服务器、电路、引擎、代理、器械、或者其它逻辑设备,诸如,配置为经由网络105与数据库145和其它计算设备(例如,内容提供者计算设备115、内容发布者计算设备120、或者其它客户端设备125)通信的可编程逻辑阵列。
内容请求模块130、内容选择模块135、和脚本提供者模块140可以包括或者执行至少一个计算机程序或者至少一个脚本。内容请求模块130、内容选择模块135、和脚本提供者模块140可以是单独的组件、单个组件、或者数据处理系统110的部分。内容请求模块130、内容选择模块135、和脚本提供者模块140可以包括软件和硬件的组合,诸如,配置为执行一个或者多个脚本的一个或者多个处理器。
数据处理系统110还可以包括一个或者多个内容存储库或者数据库145。数据库145对于数据处理系统110可以是本地的。在一些实施方式中,数据库145对于数据处理系统110可以是远程的,但是可以经由网络105与数据处理系统110通信。数据库145可以包括网页、网页的部分、第三方内容项(例如,广告)、和内容槽位插入脚本等以派发给客户端设备125。
内容请求模块130可以从客户端设备125接收对内容的请求。对内容的请求可以包括对信息资源的请求、对一个或者多个第三方内容项的请求、对内容槽位插入脚本的请求或者其组合。在一些实施方式中,对内容的请求可以包括对第三方内容的请求。在一些实施方式中,对第三方内容的请求可以包括要在其上显示第三方内容的信息资源的地址或者标识符。对第三方内容的请求还可以包括或者标识数据处理系统110可以用来响应于对内容的请求而确定要提供的内容的一个或者多个参数。参数可以标识插入请求的内容的内容槽位的大小。参数可以标识与信息资源相关联的内容的类型,所请求的第三方内容的类型(例如,文本、图像、视频等)、客户端设备信息、所请求的第三方内容项的大小信息或者其组合。在一些实施方式中,请求可以标识内容槽位插入脚本。在一些实施方式中,对内容的请求可以包括指示资源信息的内容发布者被订阅或者已经以其他方式选择参与内容槽位插入服务的标识符。
在一些实施方式中,对内容的请求可以包括对信息资源的请求。对信息资源的请求可以包括信息资源的地址或者标识符。例如,对信息资源的请求可以包括特定资源的统一资源定位符,诸如,网页(例如,“http://www.example.com”)。对信息资源的请求还可以包括客户端设备信息(诸如,设备类型、设备标识符或者其组合)。
在一些实施方式中,对内容的请求可以包括对内容槽位插入脚本的请求。在一些实施方式中,对内容槽位插入脚本的请求可以包括所请求的脚本的指示、资源信息的地址或者标识符或者其组合。在一些实施方式中,对内容槽位插入脚本的请求可以标识内容槽位插入脚本。在一些实施方式中,对内容槽位插入脚本的请求可以包括指示资源信息的内容发布者被订阅或者已经以其他方式选择参与内容槽位插入服务的标识符。在一些实施方式中,内容请求模块130可以配置为解析对内容的请求并且确定将对内容的请求转发至内容选择模块135或者转发至脚本提供者模块140。例如,如果响应于接收到的对内容的请求来确定要将内容槽位插入脚本发送至客户端设备125,则内容请求模块130可以将对内容的请求转发至脚本提供者模块140。否则,内容请求模块130可以将对内容的请求转发至内容选择模块135。在一些实施方式中,内容请求模块130可以确定要将对内容的请求转发至内容选择模块135和脚本提供者模块140两者。内容请求模块130可以基于对内容的请求的类型(例如,对信息资源的请求、对第三方内容的请求或者对内容槽位插入脚本的请求)、在内容请求中的指示符(例如,指示内容槽位插入脚本的指示符或者指示信息资源有资格进行内容槽位插入的指示符)、在对内容的请求中的信息资源标识符或者其组合来确定是否将脚本发送至客户端设备125。在一些实施方式中,内容请求模块130可以通过将信息资源的识别与一系列信息资源标识符(例如,有资格接收内容槽位插入脚本的信息资源标识符)进行比较来确定是否要将脚本发送至客户端设备125。在一些实施方式中,信息资源标识符可以是URL。在一些实施方式中,信息资源标识符可以是信息资源所属的域。在一些实施方式中,信息资源标识符可以是与托管信息资源的服务器相对应的IP地址。在一些实施方式中,内容请求模块130可以在不检查是否将脚本发送至客户端设备125的情况下自动将对内容的请求转发至内容选择模块135。
内容选择模块135可以配置为响应于接收到的对内容的请求来确定将传送至客户端设备125的内容。内容选择模块135可以基于包括在对内容的请求中的信息来确定将发送至客户端设备125的内容。例如,当接收到对信息资源的请求时,内容选择模块135可以使用在对内容的请求中的信息资源的地址或者标识符来确定将发送至客户端设备的内容。在接收到对一个或者多个第三方内容项的请求的情况下,内容选择模块135可以基于将在其上呈现第三方内容项的信息资源的地址或者标识符、信息资源的内容类型信息(例如,运动、新闻、音乐、电影、旅行等)、将要显示第三方内容项的槽位的大小信息、客户端设备信息(例如,设备类型、设备标识符、设备位置等)来选择第三方内容项。在一些实施方式中,对第三方内容的请求还可以包括用于将第三方内容项显示在信息资源上的最小收入额(或者最小竞价值)。在一些实施方式中,内容选择模块135可以与广告竞拍系统通信并且提供包括在从客户端设备接收到的对第三方内容的请求中的广告竞拍系统信息。内容选择模块135还可以响应于提供包括在对第三方内容的请求中的信息而从广告竞拍系统接收一个或者多个第三方内容项。在一些实施方式中,内容选择模块135可以访问数据库145并且检索内容以供发送至客户端设备125。
在一些实施方式中,内容选择模块135可以配置为响应于对内容的请求来确定是否要将脚本发送至客户端设备125。内容选择模块135可以基于内容请求(例如,对信息资源的请求、对第三方内容的请求或者对内容槽位插入脚本的请求)的类型、在对内容的请求中的指示符(例如,指示内容槽位插入脚本的指示符或者指示信息资源有资格进行内容槽位插入的指示符)、在对内容的请求中的信息资源标识符或者其组合来确定是否要将脚本发送至客户端设备125。在一些实施方式中,内容选择模块135可以通过将信息资源的识别与一系列信息资源标识符(例如,有资格接收内容槽位插入脚本的信息资源标识符)进行比较来确定是否要将脚本发送至客户端设备125。当确定要将脚本发送至客户端设备125时,内容选择模块135可以将对内容的请求或者其指示转发至脚本提供者模块140。在一些实施方式中,内容选择模块135仍然可以选择第三方内容项连同脚本——诸如内容槽位插入脚本——以发送至客户端设备125。
脚本提供者模块140可以被配置来从数据库145检索内容槽位插入脚本并且将检索到的脚本传送至客户端设备125(或者传送至另一实体以供发送至客户端设备125)。在一些实施方式中,可以将内容槽位插入脚本单独地或者与第三方内容项一起传送至客户端设备125。在一些实施方式中,数据处理系统110的脚本提供者模块140、内容选择模块135或者另一实体可以将内容槽位插入脚本连同所请求的信息资源一起发送至客户端设备125。例如,数据处理系统110的脚本提供者模块140、内容选择模块135或者另一实体可以在将信息资源发送至客户端设备125之前将内容槽位插入脚本插入信息资源中。
内容槽位插入脚本可以包括计算机可执行指令。该计算机可执行指令可以包括脚本,诸如,超文本标记语言(HTML)、可扩展超文本标记语言(XHTML)、可扩展标记语言(XML)、级联样式表(CSS)、和JavaScript等。计算机可执行指令可以在客户端设备125的应用内被执行,该应用诸如使得客户端设备125传送由内容请求模块130接收到的内容请求的应用。例如,应用可以包括互联网浏览器、移动应用、游戏应用、GPS应用、或者能够读取和执行计算机可执行指令的任何其它计算机程序。在简要的概述中,计算机可执行指令在由客户端设备125的处理器执行时可以使得客户端设备的应用:(a)识别信息资源的文档对象模型(DOM)树,(b)识别包括在DOM树中的一个或者多个DOM元素,(c)根据广告放置策略来确定一个或者多个候选广告放置位置,(d)从候选广告放置位置中选择在DOM树中的广告放置位置,并且(e)将广告显示在选择的广告放置位置处。在本文中参照图2、图3和图4提供了与内容槽位插入脚本的功能有关的附加细节。
参照图2,图2是描绘了根据说明性实施方式的、用于自动管理内容槽位在信息资源中的放置的内容槽位插入系统200的一个实施方式的框图。内容槽位插入系统200可以包括应用205、信息资源210、资源分析模块222、放置位置模块225、位置选择模块228和内容显示模块230。在一些实施方式中,资源分析模块222、放置位置模块225、位置选择模块228和内容显示模块230可以是在内容槽位插入脚本220内的模块。内容槽位插入系统200可以由计算设备的一个或者多个处理器——诸如下面在图5中所描述的那些——运行或者执行。在一些实施方式中,资源分析模块222、放置位置模块225、位置选择模块228和内容显示模块230中的任何一个可以是应用205、信息资源210或者内容槽位插入脚本220的一部分。例如,应用205可以包括互联网浏览器、移动应用、游戏应用、GPS应用、或者能够执行或者以其他方式调用计算机可执行指令——诸如包括在信息资源210、资源分析模块222、放置位置模块225、位置选择模块228和内容显示模块230中的计算机可执行指令——的任何其它计算机程序。信息资源210可以包括一个或者多个内容部分(或者内容元素)。信息资源210可以指定一个或者多个内容元素的位置。在一些实施方式中,信息资源210可以包括指定一个或者多个内容元素的形状、大小、位置、和/或其它属性的文档对象模型(DOM)。在一些实施方式中,内容元素可以与包括在DOM树中的DOM元素相对应。
应用205可以从信息资源的内容发布者的服务器或者托管信息资源的服务器获得或者接收信息资源210。例如,应用205可以将包括信息资源210的地址或者标识符的请求发送至该服务器,并且作为响应接收信息资源210。在服务器是图1所示的数据处理系统110的一些实施方式中,应用205可以接收内容槽位插入脚本230连同信息资源210。例如,应用205可以接收插入信息资源210内的内容槽位插入脚本220。
在一些实施方式中,当接收到信息资源210时,应用205可以将对内容的请求发送至数据处理系统110。对内容的请求可以是对第三方内容项的请求。例如,信息资源210可以包括第三方内容槽位,该第三方内容槽位可以包括使得应用205生成对内容的请求并且将对内容的请求传送至数据处理系统100的计算机可执行指令。当第三方内容槽位的计算机可执行指令作为信息资源110的部分而被执行时,该计算机可执行指令使得应用205(经由客户端设备125)发送向数据处理系统110请求第三方内容项的对内容的请求。对内容的请求可以包括信息资源210的地址或者标识符、信息资源内容类型的指示、第三方内容槽位的大小信息、客户端设备信息、最小发布者收入值或者其组合。在一些实施方式中,对内容的请求可以包括内容槽位插入脚本220的指示。在一些实施方式中,对内容的请求可以包括对内容槽位插入脚本220的请求。
响应于对内容的请求,应用205可以从数据处理系统110或者另一服务器接收内容槽位插入脚本220。例如,应用205可以接收内容槽位插入脚本220连同用于插入第三方内容槽位内的、包括将对内容的请求发送至数据处理系统110的指令的第三方内容项。在一些实施方式中,应用205可以接收没有第三方内容项的内容槽位插入脚本220。在一些实施方式中,应用205可以接收具有多个第三方内容项的内容槽位插入脚本220以供插入可以插入信息资源中的内容槽位中的一个或者多个内容槽位中。应用205(或者客户端设备125的处理器)可以执行内容槽位插入脚本220。在一些实施方式中,执行内容槽位插入脚本220包括:执行资源分析模块222、放置位置模块225、位置选择模块228、内容显示模块230或者其组合。
资源分析模块222可以包括可以在客户端设备125上被执行的一个或者多个计算机可执行指令。资源分析模块222可以使得计算设备识别信息资源210的文档对象模型(DOM)树。资源分析模块222可以使得客户端设备125识别信息资源的DOM树以供由资源分析模块222检查。在一些实施方式中,识别信息资源210的DOM树可以包括访问信息资源210的DOM树。在一些实施方式中,资源分析模块222可以使得计算设备从包括在接收自信息资源的内容发布者的服务器的信息资源中的指令生成DOM树。在一些实施方式中,应用205可以包括生成信息资源210的DOM树的计算机可执行指令。
资源分析模块222可以使得客户端设备125通过审查信息资源210的DOM树来识别包括在信息资源210的DOM树中的一个或者多个DOM元素。在一些实施方式中,识别在DOM树中的一个或者多个元素可以包括:识别DOM树的一个或者多个父节点并且识别表示与识别到的父节点相关联的可见内容项的元素。例如,资源分析模块222可以识别在DOM树中表示整个信息资源210的最顶层节点。资源分析模块222可以识别表示信息资源210的区域的DOM树的子树的父节点。然后,资源分析模块222可以确定与在DOM树中的识别到的节点相关联的可见内容项。在一些实施方式中,资源分析模块222可以通过解析DOM树中的全部或者一部分来确定DOM树的表示可见内容项的元素(例如,在不一定识别DOM树或者其中的子树的父节点的情况下)。
例如,资源分析模块222可以通过解析或者审查DOM树或者其一部分来确定在DOM树中表示可见内容项的一个或者多个元素。在一些实施方式中,资源分析模块222可以通过检查在DOM树中的元素的类型、名称或者其它属性来识别在信息资源210的可见内容项。表示可见内容项的元素的示例包括:除其它之外包含非空字符、图像、<HR>标记、<IFRAME>标记、<EMBED>标记、<an OBJECT>标记、<VIDEO>标记的文本节点。在一些实施方式中,资源分析模块可以通过检查元素或者其父元素的样式属性来识别元素表示可见内容项。例如,如果将与给定元素或者其父元素相关联的“visibility(可见性)”属性或者“overflow(溢出)”属性设置为隐藏,则在显示信息资源210时该元素(或者与其相关联的项)将不可见。同样,设置为“none(无)”的“display(显示)”属性或者正被定义的“clip(剪切)”属性可以导致在客户端设备125上显示信息资源时元素(或者与其相关联的项)不可见。
资源分析模块222还可以确定表示可见内容项的识别到的元素的界限。例如,资源分析模块222可以从DOM树识别表示可见内容项的识别到的元素中的每个元素的界限。例如,这样的界限可以由矩形(或者正方形)的两个或者更多个角和/或左、右、上、和下边界的坐标限定。表示可视内容项的元素的界限可以被限定为在客户端设备上被渲染时完全包含可见内容项的矩形。在一些实施方式中,这样的界限的坐标可以就来自浏览器窗格的左上角的绝对像素表示。识别DOM树的表示可见内容项的元素并且确定相应界限允许就现有可见内容项的界限(或者大小)来确定足够的候选第三方内容放置(或者消除不足的候选第三方内容放置)。例如,可以选择具有超过最小值的尺寸参数的可见内容项来使附加第三方内容放置位置固定。
当识别在DOM树中的一个或者多个元素时,放置位置模块225在客户端设备125上被执行时可以基于第三方内容放置策略来确定在DOM树中的多个候选第三方内容放置位置。在一些实施方式中,第三方内容放置策略可以包括基于识别到的DOM元素的尺寸的规则。在一些实施方式中,放置位置模块225可以选择表示可见内容项的一个或者多个识别到的DOM元素,在该一个或者多个识别到的DOM元素周围可以限定候选第三方内容放置位置。放置位置模块225可以基于相应大小(或者界限信息)来选择这样的元素。例如,放置位置模块225可以选择表示相应宽度或者高度大于(或者等于)第三方内容项的典型宽度或者高度的可见内容项的元素。然后,放置位置模块225可以确定与选择的元素相邻的候选第三方内容放置位置。在一些实施方式中,放置位置模块225可以通过分析表示可见内容项的识别到的DOM元素的界限信息(诸如,坐标)来确定用于插入第三方内容项的候选第三方内容放置位置。在一些实施方式中,放置位置模块225可以使用足以放置第三方内容项(诸如,广告)的预定义最小大小或者尺寸值的位置或者区域。
现在参照图3,图3是描绘了包括由放置位置模块225识别到的候选第三方内容放置位置的信息资源300的布局的框图。信息资源(例如,网页)300包括主框架部分302和侧框架部分304。主框架部分302包括标头区域310、图像区域312、第一文本区域314和第二文本区域316。标头区域310跨主框架部分302的相当一部分延伸。侧框架部分包括图像区域306和文本区域308。这些区域中的每个区域可以与DOM树中的相应界限相关联。
放置位置模块225基于DOM元素在信息资源300中原始的尺寸来将在主框架部分302中的区域311和313以及在侧框架部分304中的区域309识别为候选第三方内容放置位置。候选放置位置311被限定为布置在标头区域310与第一文本区域314之间的横向狭长的矩形。候选放置位置313被限定为布置在第一文本区域314与第二文本部分316之间的横向狭长的矩形。候选放置位置309被限定为布置在与文本区域308相邻(例如,在文本区域308下面)的侧框架部分304中的纵向狭长的矩形。
在一些实施方式中,第三方内容放置策略可以包括指定要确定的最大候选放置位置数目的规则或者约束。放置位置模块225可以确定第三方内容放置位置的预定数目,并且响应于确定超过了预定数目的候选第三方内容放置位置,放置位置模块225可以终止确定候选第三方内容放置位置的指令。例如,如果预定第三方内容放置位置数目等于三,则一旦放置位置模块225识别到前三个候选第三方内容放置位置,放置位置模块225便可以终止识别候选放置位置的过程。
在一些实施方式中,第三方内容放置策略可以包括对候选放置位置施加约束的其它规则。例如,考虑到在图3中的示例,放置位置模块225可以配置为不将在标头区域310上方的候选放置位置限定到侧框架部分304的右边。在一些实施方式中,放置策略可以包括防止诸如在图像与相应说明文字之间(诸如,在图像部分306与文本部分308之间)的位置混乱的规则。在一些实施方式中,放置策略可以包括基于与信息资源的网站相关联的特征或者信息来选择第三方内容放置位置的规则。例如,当识别到第三方放置位置时,放置位置模块225可以使得客户端设备虑及站格式、网站内容和/或网站是否是移动优化的。例如,放置位置模块225可以使得客户端设备基于在信息资源中的图像或者视频的数目来调整要识别的候选第三方放置位置的大小和数目。如果网站是移动优化的,则放置位置模块225还可以使客户端设备减少要识别的放置位置的大小和/或数目。同样,当识别到第三方放置位置时,放置位置模块225可以使得客户端设备确定网站是否具有相应web设计。在一些实施方式中,放置位置模块225可以使得客户端设备避开识别与用于在网站的各个网页(或者幻灯片)间导航的箭头、“next(下一步)”按钮或者其它图标相邻的位置以减少与插入这样的位置中的广告的无意交互次数。
在一些实施方式中,放置位置模块225可以采用在发布者的网站或者其它网站中的现有或者先前使用的放置位置的历史效能数据(诸如,点进率数据)来确定第三方放置位置。例如,放置位置模块225可以避免选择已知产生低点进率或者具有大量低质量点进率的位置中的位置。在一些实施方式中,信息资源210可以包括对可以用作第三方放置位置的地方的场境暗示(contextual hint)(诸如,指示给定位置处的潜在广告插入的隐藏文本)。放置位置模块225(或者内容插入脚本220)可以配置为采用这样的场境暗示来识别候选放置位置。
位置选择模块228在客户端设备上被执行时可以使得客户端设备选择确定的多个候选第三方内容放置位置中的一个候选第三方内容放置位置以供插入第三方内容槽位(诸如,广告槽位)的。例如,位置选择模块228可以使得客户端设备选择预定候选放置位置中在宽度大于信息资源的宽度的预定阈值的两个相邻DOM元素之间的第三方内容放置位置。例如,预定阈值可以是信息资源210的宽度的80%、85%、90%或者其它百分比值。考虑到图3中的示例,例如,将候选放置位置311布置在标头区域310与第一文本区域314之间。如果预定阈值是信息资源的宽度的30%,则标头区域310和第一文本区域314二者都具有超过信息资源310的宽度的30%的相应宽度。因此,位置选择模块228可以选择候选放置位置311。出于相似的原因,并且通过将第一文本区域314和第二文本区域316的宽度进行比较,位置选择模块228可以使得客户端设备选择候选放置位置313。在一些实施方式中,位置选择模块228可以使得客户端设备基于一个或者多个准则来对确定的候选第三方内容放置位置进行排名并且基于确定的候选第三方内容放置位置的排名来选择第三方内容放置位置。
当选择第三方内容放置位置时,位置选择模块228(或者内容显示模块230)可以使得客户端设备将第三方内容槽位(例如,广告槽位)插入选择的第三方内容放置位置处。第三方内容槽位可以包括计算机可执行指令,该计算机可执行指令在客户端设备125上被执行时使得客户端设备125向数据处理系统110请求第三方内容项(诸如,广告)。客户端设备125可以发送对内容的第三方请求,该请求包括:例如,信息资源的地址或者标识符、与信息资源相关联的内容的类型的指示、第三方内容槽位的大小信息、客户端设备信息或者其组合。响应于发送至数据处理系统110的对内容的第三方请求,客户端设备可以接收第三方内容项以供显示在插入的第三方内容槽位处。
当从数据处理系统接收到第三方内容项时,内容显示模块230可以使得客户端设备125将接收到的第三方内容项显示在插入的第三方内容槽位处。在一些实施方式中,内容显示模块230可以使得客户端设备识别与显示接收到的第三方内容项相对应的收入额并且将该收入额与预定阈值进行比较。当确定收入额超过预定阈值时,内容显示模块230可以使得客户端设备125选择该第三方内容项以供显示在信息资源内。
在一些实施方式中,内容显示模块230可以使得客户端设备接收与用于显示在由位置选择模块228插入信息资源210中的多个第三方内容槽位中的多个第三方内容项相关联的收入额的指示。内容显示模块230可以配置为使得客户端设备基于该收入额来选择第三方内容项的子集以供显示在第三方内容槽位的子集中。例如,在图3所示的网页布局中,三个第三方内容槽位可以由位置选择模块228插入放置位置311、313和309处。内容显示模块230可以使得客户端设备与相应收入额的指示一起接收三个第三方内容项,并且仅仅选择两个具有最高收入额的第三方内容项以供显示在位于位置311和313处的槽位处。
在一些实施方式中,即使当确定收入额超过阈值时,内容显示模块230也可以使得客户端设备仍然确定是否要显示接收到的第三方内容项。例如,内容显示模块230可以使得客户端设备125基于与接收到的第三方内容项相关联的内容的类型、第三方内容项的类型(例如,文本、图像或者视频)、与第三方内容项相关联的点进率或者其它准则来做出与是否要显示第三方内容项(当收入额超过阈值时)有关的决策。在一些实施方式中,内容显示模块230可以配置为使得客户端设备基于相应点进率来对接收到的第三方内容项进行过滤。
在一些实施方式中,内容显示模块230可以使得客户端设备125识别要显示在信息资源210上的现有第三方内容放置位置(诸如,图3中的图像区域306和文本区域308)数目。例如,在插入任何附加资源之前,内容显示模块230可以配置为使得客户端设备检查信息资源中存在的广告槽位的数目。内容显示模块230可以使得客户端设备通过审查信息资源的DOM树或者源代码来识别现有第三方内容放置位置数目。内容显示模块230可以使得客户端设备将现有第三方内容放置位置数目与预定第三方内容放置位置数目进行比较。预定第三方内容放置位置数目可以表示可以包括在信息资源210中的第三方内容放置位置的特定数目或者最大数目。在一些实施方式中,内容显示模块230可以使得客户端设备从信息资源210或者应用205获得预定数目的第三方内容放置位置。基于该比较,内容显示模块230可以使得客户端设备125确定是否显示接收到的第三方内容项。例如,当确定现有第三方内容放置位置数目小于预定第三方内容放置位置数目时,客户端设备125可以显示接收到的第三方内容项。在一些实施方式中,当确定现有第三方内容放置位置数目大于或者等于预定第三方内容放置位置数目时,客户端设备125可以确定不显示第三方内容项。
图4是描绘了根据说明性实施方式的,用于将附加第三方内容槽位插入网页的方法400的流程图。简言之,方法400可以包括:客户端设备接收与相应发布者相关联的信息资源(框405)并且将对第三方内容的请求传送至数据处理系统(框410)。方法400可以包括:数据处理系统接收对第三方内容的请求(框415),并且,作为响应,将内容槽位插入脚本传送至客户端设备(框420)。方法400还可以包括:客户端设备从数据处理系统接收内容槽位插入脚本(框425)。方法400还可以包括:当执行内容槽位插入脚本时,客户端设备识别信息资源的DOM树(框430),识别在DOM树中的一个或者多个元素(框435),识别用于显示第三方内容的一个或者多个候选放置位置(440),选择候选放置位置中的放置位置(框445),并且将第三方内容项显示在选择的放置位置处(框450)。
方法400可以包括:客户端设备从信息资源的内容发布者的服务器或者托管信息资源的服务器接收信息资源(框405)。例如,客户端设备或者其应用可以将包括信息资源的地址或者标识符的请求发送至服务器,并且,作为响应,接收该信息资源。在服务器是数据处理系统的一些实施方式中,客户端设备可以接收内容槽位插入脚本连同信息资源。例如,客户端设备可以接收插入信息资源内的内容槽位插入脚本。
方法400可以包括:当接收到信息资源时,客户端设备将对内容的请求发送至数据处理系统(框410)。对内容的请求可以是对第三方内容项的请求。例如,信息资源可以包括第三方内容槽位,该第三方内容槽位可以包括使得客户端设备生成对内容的请求并且将对内容的请求传送至数据处理系统的计算机可执行指令。当第三方内容槽位的计算机可执行指令作为信息资源的部分而被执行时,计算机可执行指令使得客户端设备发送向数据处理系统请求第三方内容项的对内容的请求。对内容的请求可以包括信息资源的地址或者标识符、信息资源内容类型的指示、第三方内容槽位的大小信息、客户端设备信息、最小发布者收入值或者其组合。在一些实施方式中,对内容的请求可以包括对内容槽位插入脚本的指示。在一些实施方式中,对内容的请求可以包括对内容槽位插入脚本的请求。
方法400可以包括:数据处理系统接收对内容的请求(框415),并且,作为响应,将内容槽位插入脚本传送至客户端设备(框420)。如上所述,参照图1,数据处理系统可以基于包括在对内容的请求中的信息来确定要将内容槽位插入脚本发送至客户端设备。在一些实施方式中,数据处理系统可以将内容槽位插入脚本与一个或者多个第三方内容项一起发送至客户端设备。在一些实施方式中,数据处理系统可以在没有发送第三方内容项的情况下通过将内容槽位插入脚本发送至客户端设备来响应对内容的请求。
方法400可以包括:客户端设备从数据处理系统或者另一服务器接收内容槽位插入脚本。例如,客户端设备可以接收内容槽位插入脚本连同第三方内容项以供插入包括将对内容的请求发送至数据处理系统的指令的第三方内容槽位内。在一些实施方式中,客户端设备可以接收没有第三方内容项的内容槽位插入脚本。在一些实施方式中,客户端设备可以接收具有多个第三方内容项的内容槽位插入脚本以供插入可以插入信息资源中的内容槽位中的一个或者多个内容槽位中。客户端设备(或者其处理器)可以执行内容槽位插入脚本。
方法400可以包括:客户端设备识别信息资源的DOM树(框430)。在一些实施方式中,识别信息资源的DOM树可以包括:识别包括DOM树的文件的名称或者地址并且打开该文件。在一些实施方式中,识别信息资源的DOM树可以包括:访问或者解析信息资源的DOM树。在一些实施方式中,客户端设备可以从包括在接收自信息资源的内容发布者的服务器的信息资源中的指令生成DOM树。在一些实施方式中,客户端设备的应用可以包括生成信息资源的DOM树的计算机可执行指令。
方法400可以包括:客户端设备通过审查信息资源的DOM树来识别在信息资源的DOM树中所包括的一个或者多个DOM元素(框435)。例如,客户端设备可以通过解析或者审查DOM树或者其部分来确定在DOM树中表示可见内容项的一个或者多个元素。在一些实施方式中,客户端设备可以通过检查在DOM树中的元素的类型、名称或者其它属性来识别在信息资源210的可见内容项。表示可见内容项的元素的示例包括:除其它之外包含非空字符、图像、<HR>标记、<IFRAME>标记、<EMBED>标记、<an OBJECT>标记、<VIDEO>标记的文本节点。在一些实施方式中,资源分析模块可以通过检查元素或者其父元素的样式属性来识别元素表示可见内容项。例如,如果将与给定元素或者其父元素相关联的“visibility(可见性)”属性或者“overflow(溢出)”属性设置为隐藏,则在显示信息资源时该元素(或者与其相关联的项)将不可见。同样,设置为“none”的“display(显示)”属性或者正被定义的“clip(剪切)”属性可以导致在客户端设备上显示信息资源时元素(或者与其相关联的项)不可见。
客户端设备还可以确定表示可见内容项的识别到的元素的界限。例如,客户端设备可以从DOM树识别表示可见内容项的识别到的元素中的每个元素的界限。例如,这样的界限可以由矩形(或者正方形)的两个或者更多个角和/或左、右、上、和下边界的坐标限定。表示可视内容项的元素的界限可以被限定为在客户端设备上被渲染时完全包含可见内容项的矩形。在一些实施方式中,这样的界限的坐标可以就来自浏览器窗格的左上角的绝对像素来表示。识别DOM树的表示可见内容项的元素并且确定相应界限允许确定信息资源的在插入附加第三方内容放置位置时不重叠的区域。
方法400可以包括:客户端设备基于第三方内容放置策略来确定在DOM树中的多个候选第三方内容放置位置(框440)。在一些实施方式中,第三方内容放置策略可以包括基于识别到的DOM元素的尺寸的规则。在一些实施方式中,客户端设备可以选择表示可见内容项的一个或者多个识别到的DOM元素,在该一个或者多个识别到的DOM元素周围可以限定候选第三方内容放置位置。客户端设备可以基于相应大小(或者界限信息)来选择这样的元素。例如,客户端设备可以选择表示相应宽度或者高度大于(或者等于)第三方内容项的典型宽度或者高度的可见内容项的元素。然后,客户端设备可以确定与选择的元素相邻的候选第三方内容放置位置。在一些实施方式中,客户端设备可以通过分析表示可见内容项的识别到的DOM元素的界限信息(诸如,坐标)来确定用于插入第三方内容项的候选第三方内容放置位置。在一些实施方式中,客户端设备可以使用足以放置第三方内容项(诸如,广告)的预定义最小大小或者尺寸值的位置或者区域。
如上面参照图3所讨论的,客户端设备可以基于DOM元素在信息资源300中原始的尺寸来将在主框架部分302中的区域311和313以及在侧框架部分304中的区域309识别为候选第三方内容放置位置。例如,区域311可以基于标头区域310的宽度而被识别,而区域313可以基于第二文本部分316的宽度而被识别。
在一些实施方式中,第三方内容放置策略可以包括指定要确定的最大候选放置位置数目的规则或者约束。客户端设备可以确定预定第三方内容放置位置数目,并且响应于确定超过了预定候选第三方内容放置位置数目,客户端设备可以终止确定候选第三方内容放置位置的指令。例如,如果预定第三方内容放置位置数目等于三,则一旦客户端设备识别到前三个候选第三方内容放置位置,客户端设备便可以终止识别候选放置位置的过程。
在一些实施方式中,第三方内容放置策略可以包括对候选放置位置施加约束的其它规则。例如,考虑到图3中的示例,客户端设备可以配置为不将在标头区域310上方的候选放置位置限定到侧框架部分304的右边。
在一些实施方式中,放置策略可以包括防止诸如在图像与相应说明文字之间(诸如,在图像部分306与文本部分308之间)的位置混乱的规则。在一些实施方式中,放置策略可以包括基于与信息资源的网站相关联的特征或者信息来选择第三方内容放置位置的规则。例如,当识别到第三方放置位置时,客户端设备可以考虑到网站格式、网站内容和/或网站是否是移动优化的。例如,客户端设备可以基于在信息资源中的图像或者视频的数目来调整要识别的候选第三方放置位置的大小和数目。如果网站是移动优化的,则客户端设备可以减少要识别的放置位置的大小和/或数目。同样,当识别到第三方放置位置时,客户端设备可以确定网站是否具有相应web设计。在实例中,客户端设备可以避开识别与用于在网站的各个网页(或者幻灯片)间导航的箭头、“next(下一步)”按钮或者其它图标相邻的位置。在一些实施方式中,客户端设备可以采用在发布者的网站或者其它网站中的现有或者先前使用的放置位置的历史效能数据(诸如,点进率数据)来确定第三方放置位置。例如,客户端设备可以避免选择已知产生低点进率的位置。在一些实施方式中,信息资源可以包括对可以用作第三方放置位置的地方的场境暗示(诸如,指示给定位置处的潜在广告插入的隐藏文本)。当识别到候选放置位置时,内容插入脚本可以配置为使得客户端设备读取和使用这样的场境暗示。
方法400可以包括:客户端设备选择确定的多个候选第三方内容放置位置中用于插入第三方内容槽位的第三方内容放置位置(框445)。例如,客户端设备可以选择预定候选放置位置中在宽度大于信息资源的宽度的预定阈值的两个相邻DOM元素之间的第三方内容放置位置。例如,预定阈值可以是信息资源210的宽度的30%、45%、50%或者其它百分比值。考虑到图3中所示的网页布局,将候选放置位置311布置在标头区域310与第一文本区域314之间。如果预定阈值是信息资源的宽度的30%,则标头区域310和第一文本区域314二者都具有超过信息资源310的宽度的30%的相应宽度。因此,客户端设备可以选择候选放置位置311。出于相似的原因,并且通过将第一文本区域314和第二文本区域316的宽度进行比较,客户端设备可以选择候选放置位置313。在一些实施方式中,客户端设备可以基于一个或者多个准则来对确定的候选第三方内容放置位置进行排名并且基于确定的候选第三方内容放置位置的排名来选择第三方内容放置位置。
当选择第三方内容放置位置时,客户端设备125可以将第三方内容槽位(例如,广告槽位)插入选择的第三方内容放置位置处。第三方内容槽位可以包括计算机可执行指令,该计算机可执行指令在客户端设备上被执行时可以使得客户端设备向数据处理系统请求第三方内容项(诸如,广告)。客户端设备可以发送对内容的第三方请求,该请求包括:例如,信息资源的地址或者标识符、与信息资源相关联的内容的类型的指示、第三方内容槽位的大小信息、客户端设备信息或者其组合。响应于发送至数据处理系统的对内容的第三方请求,客户端设备可以接收第三方内容项以供显示在插入的第三方内容槽位处。
方法400可以包括:客户端设备从数据处理系统接收第三方内容项并且将接收到的第三方内容项显示在插入的第三方内容槽位处(框450)。在一些实施方式中,客户端设备可以识别与显示接收到的第三方内容项相对应的收入额并且将该收入额与预定阈值进行比较。当确定收入额超过预定阈值时,客户端设备125可以选择第三方内容项以供显示在信息资源内。在一些实施方式中,客户端设备可以接收与用于显示在插入信息资源中的多个第三方内容槽位中的多个第三方内容项相关联的收入额的指示。客户端设备可以配置为基于收入额来选择第三方内容项的子集以供显示在第三方内容槽位的子集中。例如,在图3所示的网页布局中,三个第三方内容槽位可以由客户端设备插入放置位置311、313和309处。客户端设备可以与相应收入额的指示一起接收三个第三方内容项,并且仅仅选择两个具有最高收入额的第三方内容项来显示在位于位置31和313处的槽位处。
在一些实施方式中,即使当确定收入额超过阈值时,客户端设备仍然可以确定是否要显示接收到的第三方内容项。例如,客户端设备可以基于与接收到的第三方内容项相关联的内容的类型、第三方内容项的类型(例如,文本、图像或者视频)、与第三方内容项相关联的点进率或者其它准则来做出与是否要显示第三方内容项(当收入额超过阈值时)有关的决策。在一些实施方式中,客户端设备可以配置为基于相应点进率来对接收到的第三方内容项进行过滤。
在一些实施方式中,客户端设备可以识别要显示在信息资源上的现有第三方内容放置位置(诸如,图3中的图像区域306和文本区域308)数目。例如,在插入任何附加资源之前,客户端设备可以检查信息资源中存在的广告槽位的数目。客户端设备可以通过审查信息资源的DOM树或者源代码来识别现有第三方内容放置位置数目。客户端设备可以将现有第三方内容放置位置数目与预定第三方内容放置位置数目进行比较。预定第三方内容放置位置数目可以表示可以包括在信息资源中的第三方内容放置位置的具体数目或者最大数目。在一些实施方式中,客户端设备可以从信息资源或者用于执行信息资源的应用获得预定数目的第三方内容放置位置。基于该比较,客户端设备可以确定是否显示接收到的第三方内容项。例如,当确定现有第三方内容放置位置数目小于预定第三方内容放置位置数目时,客户端设备可以显示接收到的第三方内容项。在一些实施方式中,当确定现有第三方内容放置位置数目大于或者等于预定第三方内容放置位置数目时,客户端设备可以确定不显示第三方内容项。
图5示出了根据一些实施方式的可以用来实施本文所讨论的计算机系统中的任何一个系统(包括系统110和其组件,诸如,内容请求模块130、内容选择模块135、和脚本提供者模块140)的说明性计算机系统500的一般架构。计算机系统500可以用于经由网络105提供信息以供显示。图5的计算机系统500包括通信耦合至存储器525、一个或者多个通信接口505、和一个或者多个输出设备510(例如,一个或者多个显示单元)和一个或者多个输入设备515的一个或者多个处理器520。处理器520可以包括在数据处理系统110或者系统110的其它组件——诸如内容请求模块130和内容选择模块135——中.
在图5的计算机系统500中,存储器525可以包括任何计算机可读存储介质,并且可以存储计算机指令,诸如,用于实现相应系统的本文所描述的各个功能的计算机可执行指令、以及与其有关、由其生成的、或者经由通信接口或者输入设备(如果存在)接收到的任何数据。再次参照图1的系统110,数据处理系统110可以包括存储器525以存储与一个或者多个内容单元的库存可用性、一个或者多个内容单元的预约等有关的信息。该存储器525可以包括数据库145。图5所示的处理器520可以用于执行存储在存储器525中的指令,并且,通过这样做,还可以从存储器读取根据指令的执行而处理和/或生成的各个信息或者将其写入存储器。
图5所示的计算机系统500的处理器520还可以通信耦合至通信接口505或者控制通信接口505以根据指令的执行来传送或者接收各个信息。例如,通信接口505可以耦合至有线或者无线网络、总线、或者其它通信装置并且因此可以允许计算机系统500将信息传送至其它设备(例如,其它计算机系统)或者从该其它设备接收信息。虽然在图1的系统中未明确示出,一个或者多个通信接口促进系统500的组件之间的信息流。在一些实施方式中,通信接口可以(例如,经由各个硬件组件或者软件组件)配置为提供网站作为对计算机系统500的至少一些方面的访问门户。通信接口505的示例包括用户界面(例如,网页),通过该用户界面,用户可以与数据处理系统500通信。
例如,可以提供图5所示的计算机系统500的输出设备以允许结合指令的执行来查看或者以其他方式感知各个信息。例如,可以提供输入设备515以允许用户在执行指令期间做出手动调整、做出选择、录入数据、或者以各种方式中的任何一种方式与处理器交互。本文进一步提供了与可以用于本文所讨论的各个系统的一般计算机系统架构有关的附加信息。
本说明书中所描述的主题和操作的实施方式可以实现在数字电子电路系统中,或者在包含在有形介质上的计算机软件、固件、或者硬件中——包括本说明书中所公开的结构和其结构等同物中、或者在它们中的一个或者多个的组合中。本说明书中所描述的主题的实施方式可以实现为一个或者多个计算机程序,即,编码在计算机上存储介质上以供数据处理装置执行或者控制数据处理装置的操作的计算机程序指令的一个或者多个模块。程序指令可以编码在人工生成的传播信号上,例如,机器生成的电气、光学或者电磁信号,生成该信号用于对供传送至合适的接收器装置以供数据处理装置执行的信息进行编码。计算机存储介质可以是计算机可读存储设备、计算机可读存储基板、随机或者串行存取存储器阵列或者设备、或者它们中的一个或者多个的组合,或者可以包括在其中。此外,当计算机存储介质不是传播信号时,计算机存储介质可以是在人工生成的传播信号中编码的计算机指令的源或者目的地。计算机存储介质也可以是一个或者多个单独的物理组件或者介质(例如,多个CD、磁盘、或者其它存储设备),或者可以包括在其中。
本文所公开的特征可以实现在智能电视模块(或者所连接的电视模块、混合电视模块等)上,该智能电视模块可以包括配置为使互联网连接与更传统的电视节目源(例如,经由电缆、卫星、无线方式、或者其它信号接收到的电视节目源)集成的处理模块。智能电视模块可以被物理地合并到电视机中或者可以包括单独的设备,例如,机顶盒、蓝光或者其它数字媒体播放器、游戏控制台、旅馆电视系统和其它配套设备。智能电视模块可以配置为允许观看者搜索并且找到在web上、在本地有线电视频道上、在卫星电视频道上、或者存储在本地硬盘驱动器上的视频、电影、照片和其它内容。机顶盒(STB)或者机顶单元(STU)可以包括信息器械设备,该信息器械设备可以包含调谐器并且连接至电视机和外部信号源,将信号转换成内容并且然后在电视机屏幕或者其它显示设备上显示该内容。智能电视模块可以配置为提供包括多个不同的应用的图标的主屏幕或者顶层屏幕,该应用诸如web浏览器和多个流媒体服务器、连接的电缆或者卫星媒体源、其它web“频道”等。智能电视模块可以进一步配置为向用户提供电子节目指南。智能电视模块的配套应用可以在移动计算设备上操作以向用户提供关于可获得的节目的额外信息,以允许用户控制智能电视模块。在一个替选实施方式中,该特征可以实现在膝上型计算机或者其它个人计算机、智能手机、其它移动电话、手持式计算机、平板PC、或者其它计算设备上。
本说明书中所描述的操作可以实现为由数据处理装置对存储在一个或者多个计算机可读存储设备上或者从其它源接收到的数据执行的操作。
术语“数据处理装置”、“数据处理系统”、“用户设备”或者“计算设备”涵盖用于处理数据的各个装置、设备和机器,例如,包括可编程处理器、计算机、片上系统、或者前述中的多个、或者前述内容的组合。装置可以包括专用逻辑电路系统,例如,FPGA(现场可编程门阵列)或者ASIC(专用集成电路)。除了硬件之外,装置还可以包括为所讨论计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时间环境、虚拟机、或者它们中的一个或者多个的组合的代码。装置和执行环境可以实现各个不同的计算模型基础设施,诸如,web服务、分布式计算和网格计算基础设施。内容请求模块130和内容选择模块135可以包括或者共享一个或者多个数据处理装置、计算设备、或者处理器。
计算机程序(也被称为程序、软件、软件应用程序、脚本或者代码)能够以任何形式的编程语言来编写,包括编译或者解释语言、声明性或者过程性语言,并且其能够以任何形式来部署,包括作为独立程序或者作为模块、组件、子例程、对象、或者其它适合用于计算环境的单元。计算机程序可以但不需要对应于文件系统中的文件。程序可以存储在保持其它程序或者数据的文件的一部分中(例如,存储在标记语言文件中的一个或者多个脚本)、或者在专用于所讨论的程序的单个文件中、或者在多个协作文件中(例如,存储一个或者多个模块、子程序或者代码部分的文件)。计算机程序可以被部署为在一个计算机或者位于一个站上或者跨多个站分布并且由通信网络互连的多个计算机上执行。
本说明书中所描述的过程和逻辑流可以由执行一个或者多个计算机程序的一个或者多个可编程处理器执行以通过在输入数据上操作和生成输出来执行动作。过程和逻辑流程还可以由专用逻辑电路系统,例如,FPGA(现场可编程门阵列)或者ASIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路系统。
适合执行计算机程序的处理器包括:例如,通用和专用微处理器二者、以及任何种类的数字计算机的任何一个或者多个处理器。一般而言,处理器将接收来自只读存储器或者随机存取存储器或者两者的指令和数据。计算机的基本元件是用于根据指令来执行动作的处理器和用于存储指令和数据的一个或者多个存储设备。一般而言,计算机还将包括用于存储数据的一个或者多个大容量存储设备——例如磁盘、磁光盘、或者光盘,或者被与之操作耦合以从其接收或者向其传送数据或者两者。然而,计算机不需要有这样的设备。此外,计算机可以被嵌入另一设备中,例如,移动电话、个人数字助理(PDA)、移动音频或者视频播放器、游戏控制台、全球定位系统(GPS)接收器、或者便携式存储设备(例如,通用串行总线(USB)闪存驱动器)等。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括:例如,半导体存储设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或者可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路系统补充或者被合并到专用逻辑电路系统中。
为了提供与用户的交互,本说明书中所描述的主题的实施方式可以实现在计算机上,该计算机具有用于向用户显示信息的显示设备——例如CRT(阴极射线管)、等离子显示器、或者LCD(液晶显示器)监视器;以及键盘和指示设备——例如鼠标或者轨迹球,用户可以通过该键盘和指示设备将输入提供至计算机。其它种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以包括任何形式的感官反馈,例如,视觉反馈、听觉反馈或者触觉反馈;并且来自用户的输入可以任何形式被接收,包括声音、语音或者触觉输入。另外,计算机可以通过向用户使用的设备发送文档并且从其接收文档来与用户进行交互;例如,通过响应于从web浏览器接收到的请求,向用户的客户端设备上的web浏览器发送网页。
本说明书中所描述的主题的实施方式可以实现在包括后台组件——例如作为数据服务器的计算系统中,或者包括中间件组件——例如应用服务器的计算系统中,或者包括前台组件——例如具有用户可以通过其与本说明书中所描述的主题的实施方式进行交互的图形用户界面或者web浏览器的客户端计算机,或者一个或者多个这样的后台组件、中间件组件或者前台组件的任意组合。系统的组件可以通过任何形式的数字数据通信介质进行互连,例如,通信网络。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、网际网(例如,互联网)、以及对等网络(例如,点对点对等网络)。
计算系统——诸如系统500或者系统110——可以包括客户端和服务器。例如,数据处理系统110可以包括在一个或者多个数据中心或者服务器群中的一个或者多个服务器。客户端和服务器一般彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系依靠在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施方式中,服务器将数据(例如,HTML页)传送至客户端设备(例如,为了向与客户端设备交互的用户显示数据并且从其接收用户输入)。可以在服务器处从客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。
尽管本说明书包含许多具体的实施细节,但是这些细节不应该被解释为对任何发明的范围或者可能被要求保护的范围的限制,而是应该被视为特定于本文所描述的系统和方法的特定实施方式的特征的描述。在本说明书中在分开的实施方式的场境中描述的某些特征也可以在单个实施方式中被组合实现。相反地,在单个实施方式的场境中描述的各个特征也可以在多个实施方式中分开地或者在任何适当子组合中被实现。此外,虽然上文可以将特征描述为在某些组合中作用并且甚至起初这样要求保护,但是来自要求保护的组合的一个或者多个特征可以在一些情况下从该组合中被删除,并且要求保护的组合可以涉及子组合或者子组合的变型。
类似地,尽管在附图中以特定顺序描绘操作,但是这不应该被理解为要求以所示的特定顺序或者以相继顺序执行这样的操作或者执行所有所述操作以实现期望的结果。在一些情况下,在权利要求书中叙述的动作可以按照不同的次序来执行并且仍然获得期望的结果。另外,在附图中描绘的过程不必要求所示的特定次序或者相继次序来获得期望的结果。
在某些情况下,多任务和并行处理可以是有利的。此外,在上文描述的实施方式中的各个系统组件的分离不应该被理解为在所有实施方式中需要这种分离,并且应该理解所描述的程序组件和系统一般可以一起集成于单个软件产品中或者被封装到多个软件产品中。例如,内容请求模块130和内容选择模块135可以是数据处理系统110的部分、单个模块、具有一个或者多个处理模块的逻辑设备、一个或者多个服务器、或者搜索引擎的部分。
已经描述了一些说明性实施方式,了实施方式,显然,上述实施方式是说明性而非限制性的,已经以说明的方式呈现。具体地,虽然本文呈现的许多示例涉及方法动作或者系统元件的特定组合,但是这些动作和这些元件能够以其它方式被组合以实现相同的目的。仅仅结合一个实施方式讨论的动作、元件和特征并不旨在排除任何其它实施方式中的类似角色。
本文所使用的措词和术语是用于描述的目的并且不应该被认为是限制性的。此处对“包括”、“具有”、“包含”、“涉及”、“以……为特征”、“特征在于”以及其变型的使用旨在涵盖其后所列的项目、其等同物、和附加项目、以及仅仅由其后所列出的项目组成的替选实施方式。在一个实施方式中,本文所描述的系统和方法由所描述的元件、动作、或者组件中的一个、一个以上的每个组合、或者全部构成。
对在本文中以单数形式提及的系统和方法的实施方式或者元件或者动作的任何参考也可以包含包括多个这样的元件的实施方式,并且对在本文中以复数形式提及的任何实施方式或者元件或者动作的引用也可以包含仅仅包括单个元件的实施方式。以单数或者复数形式的引用并不旨在将本公开的系统或者方法、其组件、动作或者元件限于单数或者复数个配置。对基于任何信息、动作或者元件的任何动作或者元件的引用可以包括动作或者元件是至少部分地基于任何信息、动作或者元件的实施方式。
本文所公开的任何实施方式可以与任何其它实施方式组合,并且对“实施方式”、“一些实施方式”、“替选实施方式”、“各个实施方式”、“一个实施方式”等的引用不一定是互斥的并且旨在指示结合实施方式所描述的特定特征、结果或者特性可以包括在至少一个实施方式中。本文所使用的这样的术语不一定全部引用相同的实施方式。任何实施方式能够以与本文所公开的方面和实施方式一致的方式与任何其它实施方式包含地或者排他地组合。
对“或者”的引用可以被认为是包含性的,因此使用“或者”描述的任何术语可以指示所描述的术语中的单个、一个以上、和全部中的任何一种。
在附图、详细描述或者任何权利要求中的技术特征紧接有附图标记的情况下,仅为了增加附图、具体实施方式、或者权利要求书的可理解性而包括这些附图标记。因此,附图标记存在与否都不会对任何权利要求元件的范围有任何限制性的影响。
本文所描述的系统和方法在不脱离其特性的情况下可以体现为其它具体形式。虽然本文所提供的示例涉及控制信息资源的内容的显示,但是本文所描述的系统和方法可以包括应用于其它环境。上述实施方式对于所描述的系统和方法是说明性的而非限制性的。因此,本文所描述的系统和方法的范围由所附权利要求书而不是上述描述指示,并且在权利要求等价的含意和范围内的变化将包括在其中。

Claims (20)

1.一种用于实时自动管理内容槽位在信息资源中的放置的方法,包括:
响应于客户端设备从内容发布者接收到包括第一多个计算机可执行指令的信息资源,由所述客户端设备向数据处理系统发送对内容的请求,所述第一多个计算机可执行指令标识所述数据处理系统的服务器;
由所述数据处理系统从所述客户端设备接收对内容的所述请求;
由所述数据处理系统将第二多个计算机可执行指令传送至所述客户端设备,所述第二多个计算机可执行指令在所述客户端设备上被执行时使得所述客户端设备:
识别所述信息资源的文档对象模型DOM树;
识别包括在所述DOM树中的一个或者多个DOM元素;
基于识别到的DOM元素,根据第三方内容放置策略来确定一个或者多个候选第三方内容放置位置;
从所述候选第三方内容放置位置中选择在所述DOM树中的第三方内容放置位置并在所选择的第三方内容放置位置处插入第三方内容槽位;以及
将第三方内容项显示在所述第三方内容槽位处。
2.根据权利要求1所述的方法,其中,所述第三方内容放置策略包括用于识别候选第三方内容放置位置的一个或者多个规则,所述规则基于识别到的DOM元素的尺寸。
3.根据权利要求1所述的方法,其中,从所述候选第三方内容放置位置中选择在所述DOM树中的第三方内容放置位置包括:选择在具有比所述信息资源的宽度的预定阈值更大的宽度的两个相邻DOM元素之间的第三方内容放置位置。
4.根据权利要求1所述的方法,其中,将第三方内容项显示在所选择的第三方内容放置位置处包括:
识别与显示所述第三方内容项相对应的收入额;
确定所述收入额超过预定阈值;以及
响应于确定所述收入额超过所述预定阈值,选择所述第三方内容项以供显示。
5.根据权利要求1所述的方法,其中,根据第三方内容放置策略来确定一个或者多个候选第三方内容放置位置包括:确定第三方内容放置位置的预定数目,并且响应于确定候选第三方内容放置位置的数目等于或大于所述预定数目,终止确定候选第三方内容放置位置的指令。
6.根据权利要求1所述的方法,其中,所述第二多个计算机可执行指令包括计算机可执行指令,所述计算机可执行指令在所述客户端设备上被执行时进一步使得所述客户端设备:
识别待在所述信息资源上显示的现有第三方内容放置数目;
确定所述现有第三方内容放置数目小于预定第三方内容放置数目;以及
响应于确定所述现有第三方内容放置数目小于预定第三方内容放置数目,将所述第三方内容槽位插入在所选择的第三方内容放置位置处。
7.根据权利要求1所述的方法,其中,所述第三方内容槽位包括计算机可执行指令,所述第三方内容槽位的所述计算机可执行指令在所述客户端设备上被执行时使得所述客户端设备向所述数据处理系统请求第三方内容。
8.根据权利要求1所述的方法,其中,所述第二多个计算机可执行指令在所述客户端设备上被执行时进一步使得所述客户端设备:
从所述数据处理系统接收第三方内容;以及
响应于确定与接收到的第三方内容相关联的收入超过阈值,确定显示所述第三方内容。
9.一种用于实时自动管理内容槽位在信息资源中的放置的系统,包括:
应用,所述应用被配置为:
a)响应于所述应用从内容发布者接收到包括第一多个计算机可执行指令的信息资源,向数据处理系统发送对内容的请求,所述第一多个计算机可执行指令标识所述数据处理系统的服务器;以及
b)接收第二多个计算机可执行指令;
资源分析模块,所述资源分析模块响应于由所述应用进行的所述第二多个计算机可执行指令的所述接收而在客户端设备上执行,所述资源分析模块识别包括在所述信息资源的文档对象模型DOM树中的一个或者多个DOM元素;
在所述客户端设备上执行的放置位置模块,所述放置位置模块使用第三方内容放置策略基于识别到的DOM元素来确定在所述DOM树中待插入第三方内容项的多个候选第三方内容位置;
在所述客户端设备上执行的位置选择模块,所述位置选择模块选择所确定的多个候选第三方内容放置位置中的第三方内容放置位置并在所选择的第三方内容放置位置处插入第三方内容槽位;以及
在所述客户端设备上执行的显示模块,所述显示模块使得第三方内容项显示在所述第三方内容槽位处。
10.根据权利要求9所述的系统,其中,所述第三方内容放置策略包括用于识别候选第三方内容放置位置的一个或者多个规则,所述规则基于识别到的DOM元素的尺寸。
11.根据权利要求9所述的系统,其中,从所述候选第三方内容放置位置中选择在所述DOM树中的第三方内容放置位置包括:选择在具有比所述信息资源的宽度的预定阈值更大的宽度的两个相邻DOM元素之间的第三方内容放置位置。
12.根据权利要求9所述的系统,其中,在将第三方内容项显示在所述第三方内容槽位处时,所述显示模块被配置为:
识别与显示所述第三方内容项相对应的收入额;
确定所述收入额超过预定阈值;以及
响应于确定所述收入额超过所述预定阈值,选择所述第三方内容项以供显示。
13.根据权利要求9所述的系统,其中,所述显示模块被配置为:
识别待在所述信息资源上显示的现有第三方内容放置数目;
确定所述现有第三方内容放置数目小于预定第三方内容放置数目;以及
响应于确定所述现有第三方内容放置数目小于预定第三方内容放置数目,将所述第三方内容槽位插入在所选择的第三方内容放置位置处。
14.根据权利要求9所述的系统,其中,所述显示模块被配置为:
从所述数据处理系统接收第三方内容项;以及
响应于确定与接收到的第三方内容项相关联的收入超过阈值,确定显示所述第三方内容项。
15.根据权利要求9所述的系统,其中,所述第三方内容槽位包括计算机可执行指令,所述计算机可执行指令在所述客户端设备上被执行时使得所述客户端设备向数据处理系统请求第三方内容。
16.一种用于实时自动管理内容槽位在信息资源中的放置的方法,包括:
由数据处理系统从客户端设备接收对内容的请求;
由所述数据处理系统向所述客户端设备发送包括内容槽位插入脚本的所述内容,所述内容槽位插入脚本当在所述客户端设备上执行时,使得所述客户端设备:
识别信息资源的文档对象模型DOM树;
识别包括在所述DOM树中的一个或者多个DOM元素;
基于识别到的DOM元素,根据第三方内容放置策略来确定一个或者多个候选第三方内容放置位置;
从所述候选第三方内容放置位置中选择在所述DOM树中的第三方内容放置位置并在所选择的第三方内容放置位置处插入第三方内容槽位;以及
将第三方内容项显示在所述第三方内容槽位处。
17.根据权利要求16所述的方法,其中,所述第三方内容放置策略包括用于识别候选第三方内容放置位置的一个或者多个规则,所述规则基于识别到的DOM元素的尺寸。
18.根据权利要求16所述的方法,其中,从所述候选第三方内容放置位置中选择在所述DOM树中的第三方内容放置位置包括:选择在具有比所述信息资源的宽度的预定阈值更大的宽度的两个相邻DOM元素之间的第三方内容放置位置。
19.根据权利要求16所述的方法,其中,根据第三方内容放置策略来确定一个或者多个候选第三方内容放置位置包括:确定第三方内容放置位置的预定数目,并且响应于确定候选第三方内容放置位置的数目等于或大于所述预定数目,终止确定候选第三方内容放置位置的指令。
20.根据权利要求16所述的方法,其中,所述第二多个计算机可执行指令包括计算机可执行指令,所述计算机可执行指令在所述客户端设备上被执行时进一步使得所述客户端设备:
识别待在所述信息资源上显示的现有第三方内容放置数目;
确定所述现有第三方内容放置数目小于预定第三方内容放置数目;以及
响应于确定所述现有第三方内容放置数目小于预定第三方内容放置数目,将所述第三方内容槽位插入在所选择的第三方内容放置位置处。
CN201680027514.3A 2015-09-16 2016-08-29 用于自动管理内容槽位在信息资源中的放置的系统和方法 Active CN108140195B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210128275.8A CN114663126A (zh) 2015-09-16 2016-08-29 用于自动管理内容槽位在信息资源中的放置的系统和方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/856,181 US12002072B1 (en) 2015-09-16 2015-09-16 Systems and methods for automatically managing placement of content slots in an information resource
US14/856,181 2015-09-16
PCT/US2016/049240 WO2017048496A1 (en) 2015-09-16 2016-08-29 Systems and methods for automatically managing placement of content slots in an information resource

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210128275.8A Division CN114663126A (zh) 2015-09-16 2016-08-29 用于自动管理内容槽位在信息资源中的放置的系统和方法

Publications (2)

Publication Number Publication Date
CN108140195A CN108140195A (zh) 2018-06-08
CN108140195B true CN108140195B (zh) 2022-02-25

Family

ID=56896793

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210128275.8A Pending CN114663126A (zh) 2015-09-16 2016-08-29 用于自动管理内容槽位在信息资源中的放置的系统和方法
CN201680027514.3A Active CN108140195B (zh) 2015-09-16 2016-08-29 用于自动管理内容槽位在信息资源中的放置的系统和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202210128275.8A Pending CN114663126A (zh) 2015-09-16 2016-08-29 用于自动管理内容槽位在信息资源中的放置的系统和方法

Country Status (8)

Country Link
US (2) US12002072B1 (zh)
EP (1) EP3274950B1 (zh)
JP (1) JP6851317B2 (zh)
KR (1) KR102001193B1 (zh)
CN (2) CN114663126A (zh)
DE (1) DE112016001596T5 (zh)
GB (1) GB2554248A (zh)
WO (1) WO2017048496A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6921647B2 (ja) * 2017-06-27 2021-08-18 キヤノン株式会社 クライアントデバイス、画像処理システム、画像の表示方法および、プログラム
US10979235B2 (en) 2017-10-20 2021-04-13 Dropbox, Inc. Content management system supporting third-party code
US11113411B2 (en) 2017-10-20 2021-09-07 Dropbox, Inc. Authentication security model for a content management system
US10878019B2 (en) 2017-10-20 2020-12-29 Dropbox, Inc. Hosted storage for third-party services
US10671798B2 (en) * 2018-02-01 2020-06-02 Google Llc Digital component backdrop rendering
US11210710B2 (en) 2019-01-15 2021-12-28 Wp Company Llc Techniques for inserting advertising content into digital content
WO2021201859A1 (en) 2020-04-01 2021-10-07 Google Llc Systems and methods for encryption of content request data
WO2024065690A1 (zh) * 2022-09-30 2024-04-04 华为技术有限公司 一种音频广告投放的方法、设备及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012937A (zh) * 2010-12-08 2011-04-13 萨·约翰尼 用于将广告发布在超文本文档中的图像上的方法和系统
WO2013181671A1 (en) * 2012-06-01 2013-12-05 Airpush, Inc. Method, system and format for providing dynamic single full-page mobile ads
CN103778125A (zh) * 2012-10-17 2014-05-07 阿里巴巴集团控股有限公司 一种网页投放内容的分析方法及装置和网页投放内容的自动投放方法及装置
EP2843607A1 (en) * 2013-08-28 2015-03-04 Google, Inc. Methods and systems for providing third-party content on a web page

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6907566B1 (en) 1999-04-02 2005-06-14 Overture Services, Inc. Method and system for optimum placement of advertisements on a webpage
CA2386739A1 (en) * 1999-10-13 2001-04-19 Bluestreak. Com Method of delivering information over a network
US6496803B1 (en) 2000-10-12 2002-12-17 E-Book Systems Pte Ltd Method and system for advertisement using internet browser with book-like interface
US7213200B2 (en) 2002-04-23 2007-05-01 International Business Machines Corporation Selectable methods for generating robust XPath expressions
KR101159788B1 (ko) 2005-03-12 2012-06-26 주진용 웹페이지를 이용한 인터넷 광고방법과 광고시스템
US8176414B1 (en) * 2005-09-30 2012-05-08 Google Inc. Document division method and system
US20090007171A1 (en) 2005-11-30 2009-01-01 Qwest Communications International Inc. Dynamic interactive advertisement insertion into content stream delivered through ip network
KR20080042051A (ko) 2008-04-14 2008-05-14 주식회사 이사칠리얼미디어 광고 제공 시스템
JP5183384B2 (ja) 2008-09-18 2013-04-17 キヤノン株式会社 レイアウト処理方法、レイアウト処理装置、レイアウト制御プログラム
US20100332328A1 (en) 2008-10-29 2010-12-30 Srinivasa Dharmaji Browser Cache Based Ad Insertion
JP2010134854A (ja) 2008-12-08 2010-06-17 Ntt Docomo Inc 情報提供システム、情報閲覧支援システム及び情報提供方法
US20100241497A1 (en) 2009-03-18 2010-09-23 Dan Rittman Method, system and computer software for advertisement, using symbols as characters interface
US20100332319A1 (en) * 2009-06-24 2010-12-30 Craig Stephen Etchegoyen Methods and Systems for Dynamic Serving of Advertisements in a Game or Virtual Reality Environment
JP5366720B2 (ja) 2009-08-31 2013-12-11 三菱電機株式会社 映像蓄積再生装置、再生権引渡システム、及び再生権引渡方法
JP2011108146A (ja) 2009-11-20 2011-06-02 Sony Corp 情報処理装置、情報処理方法、プログラムおよび情報処理システム
CA2784192C (en) 2009-12-08 2018-06-19 Comscore, Inc. Methods for capturing and reporting metrics regarding ad placement
US8543452B2 (en) 2009-12-15 2013-09-24 EarDish Corporation Monetary distribution of behavioral demographics and fan-supported distribution of commercial content
JP5597249B2 (ja) 2010-03-09 2014-10-01 ヤフー株式会社 情報配信方法、情報配信システム及び情報配信プログラム
US8375305B1 (en) 2010-05-14 2013-02-12 Amazon Technologies, Inc. Placement of user interface elements based on a window entry or exit point
US20110295678A1 (en) * 2010-05-28 2011-12-01 Google Inc. Expanding Ad Group Themes Using Aggregated Sequential Search Queries
WO2012012917A1 (en) 2010-07-30 2012-02-02 Hewlett - Packard Development Company, L.P. Selecting content within a web page
US20130204867A1 (en) 2010-07-30 2013-08-08 Hewlett-Packard Development Company, Lp. Selection of Main Content in Web Pages
CN102102937A (zh) 2011-03-17 2011-06-22 安徽尊贵电器集团有限公司 一种冷柜及其冷柜箱体
US8539338B2 (en) 2011-04-11 2013-09-17 Microsoft Corporation Cooperative rendering cache for mobile browser
US20130339139A1 (en) 2012-01-18 2013-12-19 High Impact Media Llc System and method for nonstandard creative content auctioning
US8738448B2 (en) 2012-02-08 2014-05-27 Google Inc. Web page ad slot identification
US9535887B2 (en) * 2013-02-26 2017-01-03 Google Inc. Creation of a content display area on a web page
US20150254219A1 (en) 2014-03-05 2015-09-10 Adincon Networks LTD Method and system for injecting content into existing computerized data
US10430827B2 (en) * 2014-08-15 2019-10-01 Facebook, Inc. Maintaining information describing a group of online system users specified by a third-party system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012937A (zh) * 2010-12-08 2011-04-13 萨·约翰尼 用于将广告发布在超文本文档中的图像上的方法和系统
WO2013181671A1 (en) * 2012-06-01 2013-12-05 Airpush, Inc. Method, system and format for providing dynamic single full-page mobile ads
CN103778125A (zh) * 2012-10-17 2014-05-07 阿里巴巴集团控股有限公司 一种网页投放内容的分析方法及装置和网页投放内容的自动投放方法及装置
EP2843607A1 (en) * 2013-08-28 2015-03-04 Google, Inc. Methods and systems for providing third-party content on a web page

Also Published As

Publication number Publication date
KR20170131683A (ko) 2017-11-29
GB201717422D0 (en) 2017-12-06
KR102001193B1 (ko) 2019-07-17
EP3274950B1 (en) 2024-01-03
CN108140195A (zh) 2018-06-08
DE112016001596T5 (de) 2017-12-28
JP6851317B2 (ja) 2021-03-31
GB2554248A (en) 2018-03-28
JP2018527632A (ja) 2018-09-20
WO2017048496A1 (en) 2017-03-23
EP3274950A1 (en) 2018-01-31
US12002072B1 (en) 2024-06-04
CN114663126A (zh) 2022-06-24
US20210133823A1 (en) 2021-05-06

Similar Documents

Publication Publication Date Title
CN108140195B (zh) 用于自动管理内容槽位在信息资源中的放置的系统和方法
US10838609B2 (en) Systems and methods for dynamically appending supplemental content to an information resource responsive to scroll activity
EP2973337B1 (en) Prioritized and contextual display of aggregated account notifications
US20200183559A1 (en) Systems and methods for attributing a scroll event in an infinite scroll graphical user interface
CN108140196B (zh) 使用客户端生成的点击标识符减少内容项交互的时延的系统和方法
US11080767B2 (en) Systems and methods for creating an interstitial ad experience within a scrolling content frame
US20230368250A1 (en) Systems and methods for dynamically inserting content item slots in an information resource
US11947377B2 (en) Systems and methods for dynamically restricting the rendering of unauthorized content included in information resources
US20160342574A1 (en) Allotment of placement locations for supplemental content in dynamic documents
US11354245B2 (en) Systems and methods for prefetching content items
US9479615B1 (en) Systems and methods for providing interstitial content

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