CN110663039B - 动态内容加载选择的方法和系统 - Google Patents
动态内容加载选择的方法和系统 Download PDFInfo
- Publication number
- CN110663039B CN110663039B CN201780090803.2A CN201780090803A CN110663039B CN 110663039 B CN110663039 B CN 110663039B CN 201780090803 A CN201780090803 A CN 201780090803A CN 110663039 B CN110663039 B CN 110663039B
- Authority
- CN
- China
- Prior art keywords
- party content
- party
- client device
- loading
- content item
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/53—Network services using third party service providers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
公开了用于动态选择内容加载技术的方法、系统和装置,包括在计算机存储介质上编码的计算机程序。一方面,方法包括接收对于第三方内容的请求的动作。该动作还包括生成第一加载分数,其反映使用第一第三方内容加载技术选择的第三方内容项将在客户端设备的显示器上呈现的可能性。该动作还包括生成第二加载分数,其反映使用第二第三方内容加载技术选择的第三方内容项将在客户端设备的显示器上呈现的可能性。该动作还包括比较第一加载分数和第二加载分数。该动作还包括选择第一第三方内容加载技术。该动作还包括选择并提供给定的第三方内容项。
Description
技术领域
本说明书一般地涉及用于内容的选择加载技术。
背景技术
用户可以通过访问网络浏览器或其他应用程序来访问客户端设备上的内容。内容可以包括第一方内容和第三方内容。
发明内容
因特网连接设备在全世界变得越来越普遍。然而,并非所有互联网连接设备都具有处理能力和网络带宽来处理更多处理器和网络密集型内容加载技术中的一些。一方面,具有现代处理能力、具有更新的应用并且连接到长期演进(“LTE”)网络的新设备可能能够处理用脚本语言(例如)编写的多行代码以及显示动画内容项。另一方面,具有有限处理能力、具有过时的应用并连接到2G网络的旧设备可能无法处理如此多行的脚本并适当地显示动画内容项。如果内容服务器指示旧设备来处理多行脚本并显示动画内容项,则旧设备可能根本不加载任何内容,从而降低用户体验。
为了增加旧设备能够在不对用户体验产生负面影响的情况下显示内容的机会,内容服务器可以分析客户端设备的特性以确定应该如何加载内容。特性可以包括IP地址、用户代理和cookie ID(或其他唯一标识符,例如用户帐户信息)。IP地址可以反映客户端设备的位置。用户代理可以反映客户端设备型号和客户端设备上运行的应用程序。cookie ID或其他标识符可以反映与用户相关的信息。内容服务器可以将模型应用于客户端设备的特性。该模型可以为不同的内容加载技术生成分数,并选择这样的内容加载技术,其将改善内容有效呈现的机会,例如使得内容在客户端设备上既适当地显示又以适时的方式显示。通过适当且适时地在客户端设备上呈现内容,改善了用户与该内容交互的机会。内容服务器可以动态地选择内容加载技术,从而使得内容服务器在每次客户端设备请求内容时选择合适的内容加载技术。
根据本申请中描述的主题的创新方面,一种用于动态选择内容加载技术的方法包括:由计算设备接收对于第三方内容的请求的动作,该请求包括识别将加载第三方内容的客户端设备的特性的数据;基于识别客户端设备的特性的数据,为第一第三方内容加载技术生成第一加载分数,其反映使用第一第三方内容加载技术选择的第三方内容项将在客户端设备的显示器上呈现的可能性;基于识别客户端设备的特性的数据,为第二第三方内容加载技术生成第二加载分数,其反映使用第二第三方内容加载技术选择的第三方内容项将在客户端设备的显示器上呈现的可能性;比较第一加载分数和第二加载分数;基于第一加载分数和第二加载分数的比较,选择第一第三方内容加载技术;使用第一第三方内容加载技术选择给定的第三方内容项;以及,提供给定的第三方内容项以用于输出。
这些和其他实施方式能各自可选地包括以下特征中的一个或多个。所述动作还包括:由计算设备接收对于第三方内容的附加请求,该附加请求包括识别将加载第三方内容的客户端设备的特性的不同数据;基于识别客户端设备的特性的不同数据,为第一第三方内容加载技术生成附加第一加载分数,其反映使用第一第三方内容加载技术选择的附加第三方内容项将在客户端设备的显示器上呈现的可能性;基于识别客户端设备的特性的不同数据,为第二第三方内容加载技术生成附加第二加载分数,其反映使用第二第三方内容加载技术选择的附加第三方内容项将在客户端设备的显示器上呈现的可能性;比较附加第一加载分数和附加第二加载分数;基于附加第一加载分数和附加第二加载分数的比较,选择第二第三方内容加载技术;使用第二第三方内容加载技术选择附加给定的第三方内容项;以及,提供附加给定的第三方内容项以用于输出。
客户端设备的特性包括浏览器版本、客户端设备的型号和网络连接类型。第一加载分数还反映用户将选择使用第一第三方内容加载技术选择的第三方内容项的可能性。第二加载分数还反映用户将选择使用第二第三方内容加载技术选择的第三方内容项的可能性。所述动作还包括:接收识别多个客户端设备的特性的数据、用于在多个客户端设备上加载多个第三方内容项的第三方加载技术、指示是否在相应的客户端设备的显示器上呈现的每个第三方内容项的数据、和指示用户是否选择了每个第三方内容项的数据;以及,使用识别多个客户端设备的特性的数据、用于在多个客户端设备上加载多个第三方内容项的第三方加载技术、指示是否在相应的客户端设备上呈现的每个第三方内容项的数据、和指示用户是否选择了每个第三方内容项的数据,训练配置为生成加载分数的模型,该加载分数反映使用给定的第三方内容加载技术选择的第三方内容项将在给定客户端设备的显示器上呈现的可能性,以及用户将选择第三方内容项的可能性。
使用该模型生成第一加载分数和第二加载分数。所述动作还包括:接收指示在客户端设备的显示器上呈现的第三方内容项的数据;接收指示用户选择的第三方内容项的数据;以及,基于指示在客户端设备的显示器上呈现的第三方内容项的数据并且基于指示用户选择的第三方内容项的数据,更新模型。客户端设备在第一方文档中显示给定的第三方内容项,并使用与第一第三方内容加载技术和第二第三方内容加载技术不同的加载技术加载第一方文档。所述动作还包括:在接收对于第三方内容的请求之前,由计算设备在客户端设备上存储对应于多个第三方内容显示请求的多个第三方内容项。使用第一第三方内容加载技术选择给定的第三方内容项的动作包括:分析多个第三方内容显示请求;以及,基于分析多个第三方内容显示请求,从多个第三方内容项中选择第三方内容项作为给定的第三方内容项。
使用第一第三方内容加载技术选择给定的第三方内容项的动作包括:从一个或多个服务器访问多个第三方内容显示请求和对应的第三方内容项;分析多个第三方内容显示请求;以及,基于分析多个第三方内容显示请求,选择第三方内容项作为给定的第三方内容项。使用第一第三方内容加载技术选择给定的第三方内容项的动作包括:访问多个第三方内容显示请求和对应的第三方内容项;分析多个第三方内容显示请求;基于分析多个第三方内容显示请求,选择第三方显示请求;以及,向客户端设备提供第三方显示请求。客户端设备(i)基于分析第三方显示请求和其他第三方显示请求,从第三方显示请求和从其他服务器接收的其他第三方显示请求中选择与给定的第三方内容项相对应的给定的第三方显示请求;以及(ii)请求给定的第三方内容项。
该方面的其他实施例包括记录在计算机存储设备上的对应系统、装置和计算机程序,每个系统、装置和计算机程序均配置为执行所述方法的操作。
本说明书中描述的主题的特定实施例能够实施,以便实现以下优点中的一个或多个。系统可以选择适合于客户端设备的第三方内容加载技术。如果客户端设备不具有显著的处理能力或网络带宽,则系统选择不会使客户端设备的处理器或客户端设备的网络连接过载的第三方内容加载技术。
在附图和以下描述中阐述了本说明书中描述的主题的一个或多个实施例的细节。根据说明书、附图和权利要求,本主题的其他特征、方面和优点将变得显而易见。
附图说明
图1是用于使用重度内容加载技术(heavy content loading technique)向客户端设备提供第三方内容的示例系统。
图2是用于使用轻度内容加载技术(light content loading technique)向客户端设备提供第三方内容的示例系统。
图3是用于训练和应用模型的示例系统,该模型配置为基于客户端设备参数选择第三方内容加载技术。
图4是用于动态选择内容加载技术的示例过程的流程图。
图5是计算设备和移动计算设备的示例。
各附图中相同的附图标记和名称表示相同的元件。
具体实施方式
图1是用于使用重度内容加载技术向客户端设备105提供第三方内容的示例系统100。简而言之,并且如下面更详细描述的,客户端设备105的用户110请求在客户端设备105上查看网页。该网页包括第一方内容、和对于第三方内容的空间。基于客户端设备105的处理能力或客户端设备的网络连接的带宽或这两者,第三方内容服务器120可以动态地提供关于客户端设备105应如何加载第三方内容的指令。
在图1所示的示例中,用户110访问客户端设备105上的应用程序或网络浏览器并请求查看内容。例如,用户110可以请求在网络浏览器中加载新闻网站或者在应用程序中查看体育比分。新闻或体育内容可以被认为是第一方内容,因为内容由网页的发布者提供,并且可以由第一方内容服务器115提供至客户端设备105。网页的发布者还可以包括用于网页或应用程序中第三方内容的空间。此第三方内容可能源自与发布者不同的公司或实体。第三方内容服务器120可以将第三方内容提供至客户端设备105。
在阶段A中,第一方内容服务器115从客户端设备105接收网页请求125。第一方内容服务器115访问包括第一方内容的数据库。作为示例,用户110可以请求在客户端设备105上查看example.com网页。客户端设备105向第一方内容服务器115发送网页请求125以用于example.com网页。第一方内容服务器115访问example.com主页的代码。
在阶段B中,第一方内容服务器115将网页130发送至客户端设备105。网页130可以表示网页的代码。例如,网页130可以包括HTML和用于客户端设备105执行以显示example.com网页的脚本。
在阶段C中,客户端设备105执行网页130的代码。网页130的代码可以包括发起用于将第三方内容加载到网页130上的过程的报头。报头可以指示客户端设备105在阶段D中向第三方内容服务器120发送第三方内容请求135。报头还可以包括将客户端设备105的客户端参数140发送至第三方内容服务器120的指令。客户端参数140可以包括cookie ID、IP地址、用户代理和任何其他类似参数。
在一些实施方式中,客户端设备105可以通过第一方内容服务器115发送第三方内容请求135和客户端参数140。在这种情况下,在阶段C中,客户端设备105执行网页130的代码。响应于执行网页130的代码,在阶段D中,客户端设备105将第三方内容请求135和客户端参数140发送至第一方内容服务器115。第一方内容服务器115将第三方内容请求135和客户端参数140提供至第三方内容服务器120。在一些实施方式中,第三方内容请求135和客户端参数140可以在阶段A中与网页请求125一同发送至第一方内容服务器115。
在一些实施方式中,响应于阶段A中第一方内容服务器115访问第一方内容,第一方内容服务器115可以自动将第三方内容请求135和客户端参数140发送至第三方内容服务器120。在这种情况下,第一方内容服务器115可以执行报头以确定第三方内容请求135。此外,第一方内容服务器115可以从阶段A中所接收的网页请求125获得客户端参数140。第一方内容服务器115可以将所生成的第三方内容请求135和客户端参数140发送至第三方内容服务器120。
在阶段E中,第三方内容服务器120分析第三方内容请求135和客户端参数140,以确定用于在客户端设备105上加载第三方内容的技术。第三方内容服务器120可以通过将模型应用于客户端参数140和附加参数来计算用于不同第三方内容加载技术的分数。分数可以反映客户端设备105将呈现第三方内容的可能性、用户110将选择第三方内容的可能性以及当客户端设备105使用特定加载技术加载第三方内容时的预期收益的任何组合。第三方内容服务器120可以选择具有最高分数的第三方内容加载技术。
对于图1的示例,客户端参数140可以指示:基于IP地址,用户110位于美国,基于用户代理,客户端设备105是在去年制造的智能电话,以及客户端设备105正在运行现代浏览器。在一些实施方式中,第三方内容服务器120可以基于IP地址和第三方内容服务器120从客户端设备105接收数据的速度来估计客户端设备105的连接速度。在该示例中,第三方内容服务器120可以估计连接速度是20Mbps。
第三方内容服务器120将客户端参数140应用于为每个第三方加载技术生成分数的模型。该模型可以生成在客户端设备105上呈现第三方内容的可能性。因为一些第三方内容可能包括处理器密集型的动画或脚本,因此更强大的客户端设备更可能适当地呈现第三方内容。该模型可以生成用户110选择在客户端设备105上呈现的第三方内容的可能性。因为用户110可能不会选择不呈现的第三方内容项,所以选择的可能性可以与呈现的可能性相关。该模型还可以为每个第三方加载技术生成预期收益。在一些实施方式中,预期收益可以与第一方实体可以预期的使用特定加载技术获得的预期收入相关。更复杂的加载技术可以允许更多第三方内容项和第三方内容服务器之间的比较,以在页面加载时识别客户端设备上的第三方内容项。功能较弱的客户端设备可能无法在比较第三方内容项和访问多个第三方内容服务器的同时及时加载网页。
模型可以使用客户端设备105上的第三方内容呈现的可能性来为每个第三方加载技术生成分数。在一些实施例中,在客户端设备105上呈现第三方内容的可能性可以与其他因素,诸如用户110选择第三方内容的可能性和/或用于每个第三方加载技术的预期收益,组合来为每个第三方加载技术生成分数。对于图1中的示例,重度第三方加载技术的分数可能为0.9。中度第三方加载技术的分数可能为0.75。轻度第三方加载技术的分数可能为0.5。重度第三方加载技术的较高分数可以反映客户端设备105的处理能力和网络容量。客户端设备105能够处理和比较更多第三方内容项并选择更丰富的(例如动画、Flash内容、脚本等)第三方内容项。在图1的示例中,第三方内容服务器120选择重度第三方内容加载技术。
在阶段F中,第三方内容服务器120将指令145发送至客户端设备以使用重度第三方加载技术。作为重度第三方加载技术的一部分,第三方内容服务器120可以分析第三方内容服务器120可用于服务的第三方内容项。第三方内容服务器120可以基于预定标准选择第三方内容项,例如具有受到第三方内容请求135中提供的任何限制(例如,没有与指定主题相关的第三方内容项)的最高收益的第三方内容项。第三方内容服务器120可以向客户端设备提供显示所选择的第三方内容项150的请求以及所选择的第三方内容项的对应收益。利用重度第三方加载技术,客户端设备105可以比较来自多个第三方内容服务器的所选第三方内容项。在一些实施方式中,指令145和待显示所选择的第三方内容项150的请求可以经由第一方内容服务器115发送至客户端设备105。
客户端设备105接收使用重度第三方加载技术的指令145,以及显示所选择的第三方内容项的请求150。作为重度第三方加载技术的一部分,客户端设备从附加第三方内容服务器请求显示第三方内容项的附加请求。显示从第三方内容服务器接收的第三方内容项的每个请求可以包括相应的收益。作为重度第三方加载技术的一部分,客户端设备105可以选择具有最高收益的第三方内容项。
在阶段G,客户端设备105将第三方内容请求155发送至附加第三方内容服务器165。除了图1所示的第三方内容服务器之外,客户端设备105可以向附加第三方内容服务器发送附加第三方内容请求。客户端设备105可以发送客户端参数160。在一些实施方式中,客户端设备105可以发送cookie ID、IP地址和用户代理的任何组合。附加第三方内容服务器165分析可用于附加第三方内容服务器165的第三方内容项,并选择第三方内容项,例如具有受到第三方内容请求155中提供的任何限制(例如,没有与指定主题相关的第三方内容项)的最高收益的第三方内容项。
在阶段H中,附加第三方内容服务器165向客户端设备105提供显示所选择的第三方内容项和对应收益的请求170。在一些实施方式中,阶段G和H的通信可以通过第一方内容服务器115进行。
在阶段I中,客户端设备105分析请求170以显示所选择的第三方内容项,并分析请求150以显示所选择的第三方内容项。客户端设备105选择具有最高收益的第三方内容项。客户端设备105将第三方内容项的标签或链接提供至网页的DOM。客户端设备105完成网页加载并从对应的第三方内容服务器请求实际的第三方内容项。客户端设备105呈现第三方内容项以供用户110进行可能的选择。
图2是使用轻度内容加载技术向客户端设备提供第三方内容的示例系统200。简而言之,并且如下面更详细描述的,客户端设备205的用户210请求在客户端设备205上查看网页。该网页包括第一方内容和用于第三方内容的空间。基于客户端设备205的处理能力或客户端设备的网络连接的带宽或这两者,第三方内容服务器220可以动态地提供关于客户端设备205应如何加载第三方内容的指令。
在图2所示的示例中,用户210访问客户端设备205上的应用程序或网络浏览器并请求查看内容。例如,用户210可以请求在网络浏览器中加载新闻网站或在应用程序中查看体育比分。因为内容由网页的发布者提供,因此新闻或体育内容可以被认为是第一方内容,并且可以由第一方内容服务器215提供至客户端设备205。网页的发布者还可以包括网页或应用程序中用于第三方内容的空间。此第三方内容可能源自与发布者不同的公司或实体。第三方内容服务器220可以将第三方内容提供至客户端设备205。
在阶段A中,第一方内容服务器215从客户端设备205接收网页请求225。第一方内容服务器215访问包括第一方内容的数据库。作为示例,用户210可以请求在客户端设备205上查看example.com网页。客户端设备205将网页请求225发送至用于example.com网页的第一方内容服务器215。第一方内容服务器215访问example.com主页的代码。
在阶段B中,第一方内容服务器215将网页230发送至客户端设备205。网页230可以表示网页的代码。例如,网页230可以包括用于客户端设备205执行以显示example.com网页的HTML和脚本。
在阶段C中,客户端设备205执行网页230的代码。网页230的代码可以包括发起用于将第三方内容加载到网页230上的过程的报头。报头可以指示客户端设备205在阶段D中向第三方内容服务器220发送第三方内容请求235。报头还可以包括发送客户端设备205的客户端参数240的指令。客户端参数240可以包括cookie ID(或其他标识符)、IP地址、用户代理和任何其他类似参数。
在一些实施方式中,客户端设备205可以通过第一方内容服务器215发送第三方内容请求235和客户端参数240。在这种情况下,在阶段C中,客户端设备205执行网页230的代码。响应于执行网页230的代码,客户端设备205将第三方内容请求235和客户端参数240发送至第一方内容服务器215。第一方内容服务器215提供第三方内容请求235和客户端参数240至第三方内容服务器220。在一些实施方式中,在阶段A中第三方内容请求235和客户端参数240可以与网页请求225一同发送至第一方内容服务器215。
在一些实施方式中,响应于阶段A中第一方内容服务器215对第一方内容的访问,第一方内容服务器215可以自动将第三方内容请求235和客户端参数240发送至第三方内容服务器220。在这种情况下,第一方内容服务器215可以执行报头以确定第三方内容请求235。此外,第一方内容服务器215可以从阶段A中接收的网页请求225获得客户端参数240。第一方内容服务器215可以发送第三方内容请求235和客户端参数240至第三方内容服务器220。
在阶段E中,第三方内容服务器220分析第三方内容请求235和客户端参数240以确定用于客户端设备205上的第三方内容的技术。第三方内容服务器220可以通过将模型应用于客户端参数240和附加参数来计算不同第三方内容加载技术的分数。分数可以反映客户端设备205将呈现第三方内容的可能性、用户210将选择第三方内容的可能性以及当客户端设备205使用特定加载技术加载第三方内容时的预期收益的任何组合。第三方内容服务器220可以选择具有最高分数的第三方内容加载技术。
对于图2的示例,客户端参数240可以指示:基于IP地址,用户210位于印度,基于用户代理,客户端设备205是在八年到十年之前制造的翻盖电话,以及客户端设备205正在运行简化版本的浏览器(例如,可能无法显示Flash动画的浏览器等)。在一些实施方式中,第三方内容服务器220可以基于IP地址和第三方内容服务器220从客户端设备205接收数据的速度来估计客户端设备205的连接速度。在该示例中,第三方内容服务器220可以估计连接速度是100kbps。
第三方内容服务器220将客户端参数240供给至模型,该模型为每个第三方加载技术生成分数。该模型可以生成在客户端设备205上呈现第三方内容的可能性。因为一些第三方内容可能包括处理器密集型的动画或脚本,其可能压垮较旧的、功能较弱的客户端设备,所以功能较弱的客户端设备不太可能适当地呈现第三方内容。该模型可以生成用户210选择在客户端设备205上呈现的第三方内容的可能性。选择的可能性可以与呈现的可能性相关(或指定呈现的可能性),因为用户210可能不会选择不呈现的第三方内容项。该模型还可以为每个第三方加载技术生成预期收益。在一些实施方式中,预期收益可以与之相关、可以基于、或者指定:第一方实体可以使用特定的加载技术预期获得的预期收入。更复杂的加载技术可以允许在更多第三方内容项和第三方内容服务器之间进行比较。功能较弱的客户端设备可能无法及时加载网页并比较第三方内容项和访问多个第三方内容服务器。
模型可以使用客户端设备205上的第三方内容呈现的可能性来为每个第三方加载技术生成分数。在一些实施例中,第三方内容在客户端设备205上呈现的可能性可以与用户210选择第三方内容的可能性和/或每个第三方加载技术的预期收益相结合,从而为每个第三方加载技术生成分数。对于图2中的示例,重度第三方加载技术的分数可能为0.3。中度第三方加载技术的分数可能为0.6。轻度第三方加载技术的分数可能为0.75。轻度第三方加载技术的较高分数可以反映客户端设备205的处理能力和网络容量。客户端设备205能够处理和比较少量的第三方内容项并选择通常收益较低的较轻(例如,JPEG、GIF等)的第三方内容项。在图2的示例中,第三方内容服务器220选择轻度第三方内容加载技术。
在阶段F中,第三方内容服务器220将指令245发送至客户端设备以使用轻度第三方加载技术。作为轻度第三方加载技术的一部分,第三方内容服务器220可以分析第三方内容服务器220可用于服务的第三方内容项。第三方内容服务器220可以选择第三方内容项,例如受到第三方内容请求235中提供的任何限制(例如,没有与指定主题相关的第三方内容项)的具有最高收益的第三方内容项。第三方内容服务器220可以向客户端设备205提供到所选择的第三方内容项的链接250。利用轻度第三方加载技术,客户端设备205可以接收到所选择的第三方内容项250的链接,将链接放置在网页代码的文档对象模型(“DOM”)中,并呈现网页。客户端设备205可以请求链接的第三方内容项。在一些实施方式中,指令245和到所选择的第三方内容项250的链接可以经由第一方内容服务器215发送至客户端设备205。在一些实施方式中,第三方内容服务器220可以发送所选择的第三方内容项而不是到第三方内容项的链接250。
在一些实施方式中,从报头传递至网页的DOM中的到第三方内容项的链接250可以是到多个可能的第三方内容项的链接。第一方内容服务器215可以在从客户端设备205接收到多个可能的第三方内容项的链接的请求之后,动态地选择可能的第三方内容项之一。作为响应,第一方内容服务器215将动态选择的第三方内容项提供至客户端设备205。如下所述,这可以进一步应用于轻度内容加载技术、中度内容加载技术和重度内容加载技术中的每一个。
图3是训练和应用配置为基于客户端设备参数选择第三方内容加载技术的模型的示例系统300。简而言之,并且如下面更详细描述的,系统300示出了配置为为每个第三方内容加载技术生成分数的模型的训练阶段。系统300还示出了在选择第三方内容加载技术时模型的使用。在一些实施方式中,图1的第三方内容服务器120和图2的第三方内容服务器220可以训练和应用模型。
在如图3所示的训练阶段中,模型训练器302从不同的客户端设备接收数据,在这些客户端设备中第三方内容服务器随机选择第三方加载技术。不同的客户端设备包括具有现代硬件和软件的较新的客户端设备,其具有呈现复杂网页的处理能力并处理与多个第三方内容服务器的通信,还包括具有较低处理能力的较旧硬件和软件的较旧的客户端设备,其能够呈现简单的网页,并且可能只能处理一个或两个第三方内容服务器的通信。不同的客户端设备可以位于具有不同连接速度的不同网络上。一些较新的客户端设备可能位于较慢的网络上。一些较旧的客户端设备可能位于更快的网络上。
系统从执行随机选择的第三方加载技术的客户端设备收集数据。系统300可以收集选择数据304,其指示用户是否选择了用于在客户端设备上显示的第三方内容项,或指示用户是否与选择用于在客户端设备上显示的第三方内容项交互。系统300可以收集收益数据306,其指示由第一方内容提供商收集的用于显示的收益或与用户与第三方内容项的交互相关的任何转换。系统300收集呈现数据308,其指示第三方内容项是否在客户端设备上适合地呈现。
对于每个第三方内容项的呈现或尝试呈现,模型训练器302接收加载技术数据310。加载技术数据310指示客户端设备用于请求和加载第三方内容的加载技术。模型训练器302接收呈现数据308。对于每个第三方内容项的呈现或尝试呈现,模型训练器可额外地接收选择数据304和收益数据306。模型训练器302还接收用于每个第三方内容项呈现或尝试呈现的客户端设备参数312。客户端设备参数312包括客户端设备的IP地址314、客户端设备的用户代理316、客户端设备的cookie ID 318以及客户端设备的连接速度320。
作为示例,模型训练器302可以接收指示客户端设备使用重度第三方内容加载技术的加载技术数据310。选择数据304可以指示,用户选择了第三方内容项。收益数据306可以指示,第一方内容提供商为显示赚取了10美分以及用户与第三方内容项的交互。呈现数据308可以指示,客户端设备适合地呈现了第三方内容项。IP地址可能是12.123.123.12。该模型可以直接使用IP地址,或者可以查找与IP地址相关联的其他信息,例如该IP地址实际发出的城市。用户代理可以是Mozilla/5.0(Windows NT 6.1;Win64;x64;rv:47.0)Gecko/20100101Firefox/47.0Mozilla/5.0(Macintosh;Intel Mac OS Xx.y;rv:42.0)Gecko/20100101火狐/42.0。模型可以直接使用用户代理或查找关联数据,例如该用户代理所属的设备的品牌、型号、软件和硬件功能。cookie ID可以包括与用户有关的信息,或者可以是用于查找存储在与用户相关联的第三方内容上的附加信息的ID。连接速度可以指示,连接速度是5Mbps。
作为另一示例,模型训练器302可以接收指示客户端设备使用轻度第三方内容加载技术的加载技术数据310。选择数据304可以指示,用户没有选择第三方内容项。收益数据306可以指示,第一方内容提供商为了显示第三方内容项而获得三美分。呈现数据308可以指示,客户端设备适合地呈现了第三方内容项。IP地址可能是51.213.213.15。用户代理可能是Mozilla/5.0(X11;Linux x86_64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/51.0.2704.103Safari/537.38。cookie ID可以包括与用户相关的信息。连接速度可以指示,连接速度是15Mbps。
模型训练器302使用来自每个呈现或尝试呈现第三方内容项的数据,其中系统使用随机第三方加载技术来训练神经网络模型322或任何其他类型的机器学习模型。神经网络模型可以包括输入层、输出层和一个或多个隐藏层。当应用模型系统300接收更多数据时,模型训练器302可以使用机器学习技术来连续训练模型322。
如图3的动态第三方加载技术选择阶段所示,系统300应用所训练的模型350以动态地为每个第三方加载技术生成分数。响应于客户端设备请求第三方内容,系统300可以将所训练的模型350应用于客户端设备的参数。在一些实施方式中,图1的第三方内容服务器120和图2的第三方内容服务器220可以应用所训练的模型350。
系统300接收第三方内容请求数据352。第三方内容请求数据352指示客户端设备正在请求第三方内容项,因为客户端设备正在处理和加载第一方内容,例如网页。在一些实施方式中,第一方内容服务器可以发送第三方内容请求数据352。第一方内容服务器可以从客户端设备接收第三方内容请求数据352,并且它可以包括在请求在浏览器中加载其余网页的相同请求中。系统300接收客户端设备参数354。客户端设备参数354包括IP地址356、用户代理358、cookie ID 360、以及连接速度362的估计。客户端设备参数354是正在加载第一方内容和第三方内容的客户端设备的参数。
系统300将客户端设备参数354应用于所训练的模型350。所训练的模型350生成对应于轻度第三方加载技术368的分数364和对应于重度第三方加载技术370的分数366。系统300可以将所训练的模型350应用于附加第三方加载技术以生成分数。通过应用所训练的模型350,系统300可以为轻度第三方加载技术368生成选择分数372的可能性,其反映当使用轻度第三方加载技术368时用户将选择第三方内容的可能性。系统300可以为轻度第三方加载技术368生成估计的收益374,其反映在显示和/或用户与第三方内容交互时对第一方内容提供商的估计支付。系统300可以为轻度第三方加载技术368生成呈现分数376的可能性,其反映在使用第三方加载技术368加载时第三方内容将呈现的可能性。作为示例,所训练的模型350可以为轻度第三方加载技术368生成:选择分数372的可能性0.4、5美分的估计收益374、以及呈现分数376的可能性0.95。组合分数364可以是0.75。在一些实施例中,系统使用将呈现分数382的可能性作为分数364。
通过应用所训练的模型350,系统300可以为重度第三方加载技术370生成选择分数378的可能性,其反映用户在使用重度第三方加载技术370加载时将选择第三方内容的可能性。系统300可以为重度第三方加载技术370生成估计的收益380,其反映在显示和/或用户与第三方交互时向第一方内容提供商的估计支付。系统300可以为重度第三方加载技术370生成呈现分数382的可能性,其反映用户在使用重度第三方加载技术370加载时第三方内容将呈现的可能性。作为示例,所训练的模型350可以为重度第三方加载技术370生成:选择分数372的可能性0.5、8美分的估计收益374以及呈现分数376的可能性0.85。组合分数364可以是0.80。在一些实施例中,系统使用将呈现分数382的可能性作为分数364。
在这种情况下,系统300将轻度第三方加载技术368的组合分数364(0.75)与重度第三方加载技术370的组合分数364(0.80)进行比较。基于比较,系统300选择重度第三方加载技术370。
模型训练器302可以从系统300接收反馈。反馈可以类似于用于训练模型322的数据。系统可以向模型训练器302提供反馈以调整所训练的模型350。例如,系统300可以使用所训练的模型350来选择轻度第三方加载技术。系统300可以接收指示用户没有选择第三方内容项、第三方内容项是五美分的收益、以及第三方内容项适合地呈现的数据。系统300可以接收指示显示第三方内容项的客户端设备的参数的数据。模型训练器302可以使用客户端设备的参数、选择数据、收益、呈现数据和第三方加载技术的识别来更新所训练的模型350。可以使用单独的模型来预测内容将成功呈现的可能性、用户将与第三方内容项进行交互的可能性、以及如果用户与第三方内容项成功交互的估计收益。一个或所有这些模型的输出可用于评分和选择每种可能的广告(ad)加载技术。
图4是用于动态选择内容加载技术的示例过程400的流程图。通常,过程400分析请求第三方内容的客户端设备的参数。在客户端设备功能强大且具有强网络连接的情况下,过程400可以为第三方内容选择处理器和网络密集型加载技术。在客户端设备功能较弱且网络连接较弱的情况下,过程400可以为第三方内容选择较低的处理器密集和较低的网络密集型加载技术。过程400将被描述为由包括一个或多个计算机的计算机系统执行,例如,如图1所示的计算系统100、如图2所示的计算系统200、或者如图3所示的计算系统300。
系统通过计算设备接收对于第三方内容的请求,该请求包括识别将加载第三方内容的客户端设备的特性的数据(410)。在一些实施方式中,客户端设备的特性包括浏览器版本、客户端设备的型号和网络连接类型。系统可以从用户代理识别客户端设备的浏览器版本和型号。系统可以基于系统从客户端设备接收数据的速度和客户端设备的IP地址来估计网络连接类型和速度,IP地址可以识别客户端设备的位置。
基于识别客户端设备的特性的数据,系统为第一第三方内容加载技术生成第一加载分数,该第一加载分数反映使用第一第三方内容加载技术选择的第三方内容项将在客户端设备的显示器上呈现的可能性(420)。在一些实施方式中,第一加载分数可以反映用户将选择第三方内容项的可能性。在一些实施方式中,第一加载分数可以反映当客户端设备使用第一第三方内容加载技术时第一方内容提供商可以获得的预期收益。在一些实施方式中,客户端设备使用与加载第三方内容不同的技术来加载第一方内容。例如,客户端设备可以从第一方内容服务器接收指令并执行那些指令以呈现第一方内容。客户端设备可以从第一方内容服务器或从第三方内容服务器接收用于请求和呈现第三方内容的不同指令。
基于识别客户端设备的特性的数据,系统为第二第三方内容加载技术生成第二加载分数,该第二加载分数反映使用第二第三方内容加载技术选择的第三方内容项将在客户端设备的显示器上呈现的可能性(430)。在一些实施方式中,第二加载分数可以反映用户将选择第三方内容项的可能性。在一些实施方式中,第二加载分数可以反映当客户端设备使用第二第三方内容加载技术时第一方内容提供商可以获得的预期收益。
在一些实施方式中,系统训练模型,该模型配置为基于客户端设备的特性为每个第三方内容加载技术生成加载分数。在一些实施方式中,系统接收识别多个客户端设备的特性的数据、用于在多个客户端设备上加载多个第三方内容项的第三方加载技术、指示每个第三方内容项是否在相应客户端设备的显示器上呈现的数据、以及指示用户是否选择了每个第三方内容项的数据。系统可以通过为不同的第三方内容请求随机选择第三方加载技术来生成该数据。在一些实施方式中,系统使用识别多个客户端设备的特性的数据、用于在多个客户端设备上加载多个第三方内容项的第三方加载技术、指示每个第三方内容项是否在相应客户端设备的显示器上呈现的数据、以及指示用户是否选择每个第三方内容项的数据,来训练模型,该模型配置为生成反映使用给定的第三方内容加载技术选择的第三方内容项将在给定的客户端设备的显示器上呈现的可能性以及反映用户将选择第三方内容项的加载分数。
系统将第一加载分数与第二加载分数进行比较(440)。系统基于将第一加载分数与第二加载分数进行比较,选择第一第三方内容加载技术(450)。在一些实施方式中,系统可以比较每个第三方内容加载技术的预期收益并选择第三方内容加载技术。系统可以选择具有最高预期收益的第三方内容加载技术。
系统使用第一第三方内容加载技术选择给定的第三方内容项(460)。系统提供给定的第三方内容项以用于输出(470)。
在一些实施方式中,系统可以从客户端设备接收对第三方内容的附加请求。在这种情况下,客户端设备的特性可能不同。例如,客户端设备可以位于网络连接缓慢的远程区域中。在这种情况下,系统可以选择不同的第三方内容加载技术。
在一些实施方式中,系统接收指示用户是否选择第三方内容时间的数据、指示客户端设备是否呈现第三方内容项的数据、以及指示第一方内容提供商所获得的收益的数据。系统可以使用该选择数据、呈现数据和收益数据连同第三方内容加载技术和设备的特性来更新模型。
在一些实施方式中,第一第三方内容加载技术是报头竞价(header bidding)。在报头竞价中,客户端设备接收从多个不同的第三方内容服务器请求第三方内容的指令。客户端设备比较每个第三方内容项及其各自的收益以选择第三方内容项。因为客户端设备与多个不同的第三方内容服务器通信并比较每个第三方内容服务器返回的第三方内容项的收益,所以客户端设备执行处理的重要部分以选择第三方内容加载技术。报头竞价可以被认为是重度第三方内容加载技术。
在一些实施方式中,第一第三方内容加载技术包含客户端设备从第三方内容服务器请求第三方内容项。第三方内容服务器可以从附加的第三方内容服务器请求第三方内容,并将该第三方内容服务器可访问的第三方内容项的收益与附加的第三方内容服务器的返回的第三方内容项的收益进行比较。这可能是中度第三方内容加载技术。此技术的较轻度版本包含第三方内容服务器不从附加的第三方内容服务器请求附加第三方内容。这些技术使用较少的客户端设备资源,因为客户端设备不比较不同第三方内容项的收益。由于请求附加第三方内容所包含的延迟,第三方内容服务器从附加的第三方内容服务器请求第三方内容的版本可能是较重度的技术。
在一些实施方式中,第一第三方内容加载技术包含预先缓存客户端设备从第三方内容服务器请求的第三方内容项。在该技术中,第三方内容服务器可以缓存客户端设备上的第三方内容项。然后,第三方内容服务器可以通过比较预先缓存的第三方内容项的收益来指示客户端设备显示特定的预先缓存的第三方内容项。因为第三方内容项已经在客户端设备上,所以此技术可能是最轻度的。客户端设备仅接收显示特定的预先缓存的第三方内容项的指令。
图5示出了可用于实施本文描述的技术的计算设备500和移动计算设备550的示例。计算设备500旨在表示各种形式的数字计算机,例如膝上型计算机、台式机、工作站、个人数字助理、服务器、刀锋服务器、大型机和其他适当的计算机。移动计算设备550旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话、无线(例如蓝牙)耳机、助听器、智能手表、智能眼镜、活动跟踪器和其他类似的计算设备。本文示出的组件,它们的连接和关系以及它们的功能仅仅是示例,并不意味着限制。
计算设备500包括处理器502、存储器504、存储设备506、连接到存储器504的高速接口508和多个高速扩展端口510以及连接到低速扩展端口514和存储设备506的低速接口512。处理器502、存储器504、存储设备506、高速接口508、高速扩展端口510和低速接口512中的每一个使用各种总线互连,并且可以适当地安装在公共主板上或以其他方式安装。处理器502可以处理用于在计算设备500内执行的指令,包括存储在存储器504中或存储设备506上的指令,以在外部输入/输出设备例如耦合到高速接口508的显示器516上显示GUI的图形信息。在其他实施方式中,可以适当地使用多个处理器和/或多个总线以及多个存储器和存储器类型。而且,可以连接多个计算设备,每个设备提供必要操作的部分(例如,作为服务器库、刀锋服务器组或多处理器系统)。
存储器504存储计算设备500内的信息。在一些实施方式中,存储器504是一个或多个易失性存储器单元。在一些实施方式中,存储器504是一个或多个非易失性存储器单元。存储器504还可以是另一种形式的计算机可读介质,例如磁盘或光盘。
存储设备506能够为计算设备500提供大容量存储。在一些实施方式中,存储设备506可以是、或包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其他类似的固态存储设备,或设备阵列,包括存储区域网络中的设备或其他配置。指令可存储在信息载体中。当由一个或多个处理设备(例如,处理器502)执行时,指令执行一个或多个方法,例如上文描述的那些方法。指令还可以由一个或多个存储设备存储,例如计算机或机器可读介质(例如,存储器504、存储设备506或处理器502上的存储器)。
高速接口508管理计算设备500的带宽密集型操作,而低速接口512管理较低带宽密集型操作。这种功能分配仅是示例。在一些实施方式中,高速接口508耦合到存储器504、显示器516(例如,通过图形处理器或加速器),并且耦合到高速扩展端口510,高速扩展端口510可以接受各种扩展卡(未示出)。在该实施方式中,低速接口512耦合到存储设备506和低速扩展端口514。低速扩展端口514可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)并可以耦合到一个或多个输入/输出设备,例如键盘、指示设备、扫描仪、麦克风、扬声器或例如通过网络适配器耦合到诸如交换机或路由器的网络设备。
计算设备500可以以多种不同的形式实现,如图中所示。例如,它可以实现为标准服务器520,或者在一组这样的服务器中实现多次。此外,它可以在诸如膝上型计算机522的个人计算机中实现。它还可以实现为机架服务器系统524的一部分。可选地,来自计算设备500的组件可以与移动设备(未示出)中的其他组件组合,诸如移动计算设备550。这些设备中的每一个可以包含计算设备500和移动计算设备550中的一个或多个,并且整个系统可以由彼此通信的多个计算设备组成。
移动计算设备550包括处理器552、存储器564、诸如触摸使能显示器554的输入/输出设备、通信接口566和收发器568以及其他组件。移动计算设备550还可以设置有存储设备,诸如微驱动器或其他设备,以提供附加的存储。处理器552、存储器564、显示器554、通信接口566和收发器568中的每一个使用各种总线互连,并且若干组件可以安装在公共主板上或以其他适当的方式安装。
处理器552可以执行移动计算设备550内的指令,包括存储在存储器564中的指令。处理器552可以实现为包括单独和多个模拟和数字处理器的芯片的芯片组。例如,处理器552可以提供移动计算设备550的其他组件的协调,诸如用户界面的控制,由移动计算设备550运行的应用,以及移动计算设备550的无线通信。
处理器552可以通过控制接口558和耦合到显示器554的显示器接口556与用户通信。显示器554可以是例如TFT(薄膜-晶体管液晶显示器)显示器或OLED(有机发光二极管)显示器或其他适当的显示技术。显示器接口556可以包括用于驱动显示器554以向用户呈现图形和其他信息的适当电路。控制接口558可以从用户接收命令并将它们转换以提交至处理器552。此外,外部接口562可以提供与处理器552的通信,以便实现移动计算设备550与其他设备的近区域通信。外部接口562可以例如在一些实施方式中提供有线通信,或者在另一些实施方式中提供无线通信,并且还可以使用多个接口。
存储器564存储移动计算设备550内的信息。存储器564可以实现为计算机可读介质或介质、一个或多个易失性存储器单元或一个或多个非易失性存储器单元。还可以提供扩展存储器574并通过扩展接口572连接到移动计算设备550,扩展接口572可以包括例如SIMM(单列直插存储器模块)卡接口。扩展存储器574可以为移动计算设备550提供额外的存储空间,或者还可以存储用于移动计算设备550的应用程序或其他信息。具体地,扩展存储器574可以包括执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器574可以被提供为用于移动计算设备550的安全模块,并且可以用允许安全使用移动计算设备550的指令编程。此外,可以通过SIMM卡以及其他信息,诸如以非黑客方式在SIMM卡上放置识别信息来提供安全应用程序。
存储器可以包括例如闪存和/或NVRAM存储器(非易失性随机存取存储器),如下所述。在一些实施方式中,指令存储在信息载体中,即当由一个或多个处理设备(例如,处理器552)执行时,指令执行一个或多个方法,例如上面描述的那些方法。指令还可以由一个或多个存储设备存储,例如一个或多个计算机或机器可读介质(例如,存储器564、扩展存储器574或处理器552上的存储器)。在一些实施方式中,指令可以例如通过收发器568或外部接口562在传播信号中接收。
移动计算设备550可以通过通信接口566无线通信,通信接口566可以在必要时包括数字信号处理电路。通信接口566可以提供各种模式或协议下的通信,例如GSM语音呼叫(全球移动通信系统)、SMS(短消息服务)、EMS(增强型消息服务)或MMS消息(多媒体消息服务)、CDMA(码分多址)、TDMA(时分多址)、PDC(个人数字蜂窝)、WCDMA(宽带码分多址)、CDMA2000或GPRS(通用分组无线业务)等。这种通信可以例如通过使用射频的收发器568而发生。此外,可能发生短距离通信,例如使用蓝牙、WiFi或其他这样的收发器(未示出)。此外,GPS(全球定位系统)接收器模块570可以向移动计算设备550提供附加的导航和位置相关的无线数据,其可以由在移动计算设备550上运行的应用适当地使用。
移动计算设备550还可以使用音频编解码器560进行可听地通信,音频编解码器560可以从用户接收语音信息并将其转换为可用的数字信息。音频编解码器560同样可以例如在移动计算设备550的手机中诸如通过扬声器为用户产生可听声音。这样的声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等),并且还可以包括由在移动计算设备550上运行的应用程序生成的声音。
移动计算设备550可以以多种不同的形式实现,如图中所示。例如,它可以实现为蜂窝电话580。它还可以实现为智能电话582、个人数字助理或其他类似移动设备的一部分。
对于这里讨论的系统收集关于用户的个人信息的情况,可以向用户提供选择加入/退出可以收集个人信息(例如,关于用户的偏好或用户当前位置的信息)的程序或特征的机会。此外,某些数据可以在存储或使用之前以一种或多种方式匿名化,从而移除个人可识别信息。例如,用户的身份可能是匿名。
本文描述的系统和技术的各种实施方式可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实施方式可以包括在包括至少一个可编程处理器的可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施,该可编程处理器可以是特殊的或通用的,耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令以及将数据和指令传输到存储系统、至少一个输入设备和至少一个输出设备。
这些计算机程序(也称为程序、软件、软件应用程序或代码)包括用于可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或汇编/机器语言来实现。如本文所使用的,术语机器可读介质和计算机可读介质是指用于提供机器指令和/或数据到可编程处理器的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语机器可读信号是指用于向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,本文描述的系统和技术可以在具有显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)的计算机上实现,用于向用户和键盘以及用户可以通过其向计算机提供输入的指示设备(例如,鼠标或轨迹球)显示信息。其他类型的设备也可用于提供与用户的交互;例如,提供至用户的反馈可以是任何形式的感官反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。
本文描述的系统和技术可以在包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或包括前端组件(例如,具有图形用户界面或网络浏览器的客户端计算机,用户可以通过该浏览器与本文描述的系统和技术的实现交互)或者这种后端、中间件或前端组件的任何组合的计算系统中实现。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(LAN)、广域网(WAN)和因特网。
计算系统可包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
尽管上面已经详细描述了一些实施方式,但是其他修改也是可能的。例如,虽然客户端应用程序被描述为访问委托,但是在其他实施方式中,委托可以由一个或多个处理器实现的其他应用程序采用,例如在一个或多个服务器上执行的应用程序。此外,图中描绘的逻辑流程不需要所示的特定顺序或顺序次序来实现期望的结果。此外,可以从所描述的流程中提供其他动作,或者可以消除动作,并且可以将其他组件添加到所描述的系统或从所描述的系统中移除。因此,其他实施方式落入以下权利要求的范围内。
Claims (11)
1.一种计算机实施的方法,包括:
由计算设备接收对于第三方内容的请求,所述请求包括识别将加载所述第三方内容的客户端设备的特性的数据;
基于识别所述客户端设备的特性的数据,为第一第三方内容加载技术生成第一加载分数,所述第一加载分数反映使用所述第一第三方内容加载技术选择的第三方内容项将在所述客户端设备的显示器上呈现的可能性;
基于识别所述客户端设备的特性的数据,为第二第三方内容加载技术生成第二加载分数,所述第二加载分数反映使用所述第二第三方内容加载技术选择的第三方内容项将在所述客户端设备的显示器上呈现的可能性;
比较所述第一加载分数和所述第二加载分数;
基于所述第一加载分数和所述第二加载分数的比较,选择所述第一第三方内容加载技术;
使用所述第一第三方内容加载技术选择给定的第三方内容项;以及
提供所述给定的第三方内容项以用于输出;
由所述计算设备接收对于第三方内容的附加请求,所述附加请求包括识别将加载所述第三方内容的客户端设备的特性的不同数据;
基于识别所述客户端设备的特性的不同数据,为所述第一第三方内容加载技术生成附加第一加载分数,所述附加第一加载分数反映使用所述第一第三方内容加载技术选择的附加第三方内容项将在所述客户端设备的显示器上呈现的可能性;
基于识别所述客户端设备的特性的不同数据,为所述第二第三方内容加载技术生成附加第二加载分数,所述附加第二加载分数反映使用所述第二第三方内容加载技术选择的附加第三方内容项将在所述客户端设备的显示器上呈现的可能性;
比较所述附加第一加载分数和所述附加第二加载分数;
基于所述附加第一加载分数和所述附加第二加载分数的比较,选择所述第二第三方内容加载技术;
使用所述第二第三方内容加载技术选择附加给定的第三方内容项;以及
提供所述附加给定的第三方内容项以用于输出。
2.如权利要求1所述的方法,其中,所述客户端设备的特性包括浏览器版本、所述客户端设备的型号和网络连接类型。
3.如权利要求1所述的方法,其中:
所述第一加载分数还反映用户将选择使用所述第一第三方内容加载技术选择的第三方内容项的可能性;以及
所述第二加载分数还反映用户将选择使用所述第二第三方内容加载技术选择的第三方内容项的可能性。
4.如权利要求1所述的方法,包括:
接收识别多个客户端设备的特性的数据、用于在所述多个客户端设备上加载多个第三方内容项的第三方加载技术、指示是否在相应的客户端设备的显示器上呈现了每个第三方内容项的数据、和指示用户是否选择了每个第三方内容项的数据;以及
使用识别所述多个客户端设备的特性的数据、用于在所述多个客户端设备上加载多个第三方内容项的第三方加载技术、指示是否在相应的客户端设备上呈现了每个第三方内容项的数据、和指示用户是否选择了每个第三方内容项的数据,训练配置为生成加载分数的模型,所述加载分数反映使用给定的第三方内容加载技术选择的第三方内容项将在给定客户端设备的显示器上呈现、以及用户将选择所述第三方内容项的可能性,
其中,使用所述模型生成所述第一加载分数和所述第二加载分数。
5.如权利要求4所述的方法,包括:
接收指示在所述客户端设备的显示器上呈现了所述第三方内容项的数据;
接收指示用户选择了所述第三方内容项的数据;以及
基于指示在所述客户端设备的显示器上呈现了所述第三方内容项的数据并且基于指示所述用户选择了所述第三方内容项的数据,更新所述模型。
6.如权利要求1所述的方法,其中,所述客户端设备在第一方文档中显示给定的第三方内容项,并使用与所述第一第三方内容加载技术和所述第二第三方内容加载技术不同的加载技术加载所述第一方文档。
7.如权利要求1所述的方法,包括:
在接收对于第三方内容的请求之前,由所述计算设备在所述客户端设备上存储对应于多个第三方内容显示请求的多个第三方内容项;
其中,使用所述第一第三方内容加载技术选择给定的第三方内容项包括:
分析所述多个第三方内容显示请求;以及
基于分析所述多个第三方内容显示请求,从所述多个第三方内容项中选择第三方内容项作为所述给定的第三方内容项。
8.如权利要求1所述的方法,其中,使用所述第一第三方内容加载技术选择所述给定的第三方内容项包括:
从一个或多个服务器访问多个第三方内容显示请求和对应的第三方内容项;
分析所述多个第三方内容显示请求;以及
基于分析所述多个第三方内容显示请求,选择第三方内容项作为所述给定的第三方内容项。
9.如权利要求1所述的方法,其中,使用所述第一第三方内容加载技术选择所述给定的第三方内容项包括:
访问多个第三方内容显示请求和对应的第三方内容项;
分析所述多个第三方内容显示请求;
基于分析所述多个第三方内容显示请求,选择第三方显示请求;以及
向所述客户端设备提供所述第三方显示请求,
其中,所述客户端设备(i)基于分析所述第三方显示请求和其他第三方显示请求,从所述第三方显示请求和从其他服务器接收的其他第三方显示请求中选择给定的第三方显示请求,所述给定的第三方显示请求对应于所述给定的第三方内容项;以及(ii)请求所述给定的第三方内容项。
10.一种系统,包括:
一个或多个计算机;以及
存储指令的一个或多个存储设备,当由所述一个或多个计算机执行时,所述指令可操作以使所述一个或多个计算机执行包括根据权利要求1至9中任一项所述的方法的操作。
11.一种存储软件的非暂时性计算机可读介质,该软件包括可由一个或多个计算机执行的指令,所述计算机在执行指令时使所述一个或多个计算机执行包括根据权利要求1至9中任一项所述的方法的操作。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2017/047170 WO2019035824A1 (en) | 2017-08-16 | 2017-08-16 | DYNAMIC CONTENT LOADING SELECTION |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110663039A CN110663039A (zh) | 2020-01-07 |
CN110663039B true CN110663039B (zh) | 2023-08-15 |
Family
ID=59714148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780090803.2A Active CN110663039B (zh) | 2017-08-16 | 2017-08-16 | 动态内容加载选择的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10887406B2 (zh) |
EP (1) | EP3602319A1 (zh) |
CN (1) | CN110663039B (zh) |
WO (1) | WO2019035824A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11113411B2 (en) * | 2017-10-20 | 2021-09-07 | Dropbox, Inc. | Authentication security model for a content management system |
US20210136059A1 (en) * | 2019-11-05 | 2021-05-06 | Salesforce.Com, Inc. | Monitoring resource utilization of an online system based on browser attributes collected for a session |
US11057454B2 (en) * | 2019-12-02 | 2021-07-06 | Walmart Apollo, Llc | Methods and systems for identifying and remediating poor user experiences on computing devices |
US11321737B2 (en) * | 2019-12-13 | 2022-05-03 | Ebay Inc. | Techniques of prefetching operation cost based digital content and digital content with emphasis |
US11271888B1 (en) * | 2020-01-13 | 2022-03-08 | Mela Platforms, Inc. | Selecting information about entities for display to drive interactions on online systems |
US11825169B1 (en) * | 2022-06-15 | 2023-11-21 | Sling Media L.L.C. | Adaptive placement of audiovisual content on user devices |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008130270A2 (ru) * | 2007-02-28 | 2008-10-30 | Obshchestvo S Ogranichennoy Otvetstvennostyu 'superfone' | Способ автоматизированного распространения рекламных сообщений рекламодателей товаров и услуг с учетом параметров пользовательского оборудования и система для его реализации |
US7594189B1 (en) * | 2005-04-21 | 2009-09-22 | Amazon Technologies, Inc. | Systems and methods for statistically selecting content items to be used in a dynamically-generated display |
CN106165434A (zh) * | 2014-03-24 | 2016-11-23 | 高通股份有限公司 | 用于将媒体数据流式传送的定向广告插入 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170237801A1 (en) * | 2004-06-30 | 2017-08-17 | Google Inc. | Device configuration-based function delivery |
US20100180192A1 (en) | 2009-01-09 | 2010-07-15 | Cerner Innovation, Inc. | Dynamically configuring a presentation layer associated with a webpage delivered to a client device |
US9146909B2 (en) * | 2011-07-27 | 2015-09-29 | Qualcomm Incorporated | Web browsing enhanced by cloud computing |
US9342618B2 (en) | 2012-06-04 | 2016-05-17 | Sap Se | Web application compositon and modification editor |
US9996631B2 (en) * | 2012-09-25 | 2018-06-12 | Opera Software As | Information management and display in web browsers |
US9613160B2 (en) | 2012-09-28 | 2017-04-04 | Disney Enterprises, Inc. | Client-side web site selection according to device capabilities |
US9015348B2 (en) | 2013-07-19 | 2015-04-21 | Limelight Networks, Inc. | Dynamically selecting between acceleration techniques based on content request attributes |
US9386119B2 (en) * | 2013-07-30 | 2016-07-05 | International Business Machines Corporation | Mobile web adaptation techniques |
US10817906B2 (en) * | 2015-08-28 | 2020-10-27 | Xandr Inc. | Systems and techniques for allocating ad space inventory |
-
2017
- 2017-08-16 US US16/612,823 patent/US10887406B2/en active Active
- 2017-08-16 CN CN201780090803.2A patent/CN110663039B/zh active Active
- 2017-08-16 WO PCT/US2017/047170 patent/WO2019035824A1/en unknown
- 2017-08-16 EP EP17758370.5A patent/EP3602319A1/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7594189B1 (en) * | 2005-04-21 | 2009-09-22 | Amazon Technologies, Inc. | Systems and methods for statistically selecting content items to be used in a dynamically-generated display |
WO2008130270A2 (ru) * | 2007-02-28 | 2008-10-30 | Obshchestvo S Ogranichennoy Otvetstvennostyu 'superfone' | Способ автоматизированного распространения рекламных сообщений рекламодателей товаров и услуг с учетом параметров пользовательского оборудования и система для его реализации |
CN106165434A (zh) * | 2014-03-24 | 2016-11-23 | 高通股份有限公司 | 用于将媒体数据流式传送的定向广告插入 |
Also Published As
Publication number | Publication date |
---|---|
WO2019035824A1 (en) | 2019-02-21 |
EP3602319A1 (en) | 2020-02-05 |
US20200145504A1 (en) | 2020-05-07 |
US10887406B2 (en) | 2021-01-05 |
CN110663039A (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110663039B (zh) | 动态内容加载选择的方法和系统 | |
US11748777B1 (en) | Content selection associated with webview browsers | |
KR102109876B1 (ko) | 개인정보 보호 트레이닝 코퍼스 선택 | |
US11532012B2 (en) | Customizing resources utilizing pre-fetched profile information for future visitors | |
JP6306187B2 (ja) | 動的電話番号割り当て | |
US20190080019A1 (en) | Predicting Non-Observable Parameters for Digital Components | |
AU2011227209A1 (en) | Customizing content displayed for a user based on user preferences of another user | |
US20230388327A1 (en) | Systems and methods for assessing riskiness of a domain | |
WO2018045844A1 (zh) | 多媒体数据发布方法、装置、服务器及存储介质 | |
US9886705B2 (en) | Advertisement opportunity bidding | |
CN109727649B (zh) | 使用机器学习设计数据分析平台 | |
US10055705B2 (en) | Just in time learning driven by point of sale or other data and metrics | |
US20140045596A1 (en) | Methods and systems for determining the location of online gaming clients | |
KR20190028511A (ko) | 설치-후 어플리케이션 인터렉션 개선하기 | |
US20140236979A1 (en) | Information searching method and device, and computer storage medium | |
CN107749922B (zh) | 用于传输消息的方法、机器可读介质和系统 | |
US20230396688A1 (en) | Analyzing website performance | |
US20220337606A1 (en) | Identifying fraudulent requests for content | |
US20220035622A1 (en) | Controlled Rollouts for Frontend Assets | |
US20190320044A1 (en) | Coordinating services across multiple providers | |
WO2016155199A1 (zh) | 应用功能数据的处理方法、装置及非易失性计算机存储介质 | |
CN113538024B (zh) | 广告管理方法、系统及内容传输网络设备 | |
CN116720890A (zh) | 一种广告投放线索清洗的方法以及相关装置 | |
US8417583B2 (en) | Method, system and apparatus for managing a bid tracking database | |
US20110320252A1 (en) | Apparatus and Method for Redeeming an Incentive on a Wireless Device |
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 |