定制数字组件的制作方法

文档序号:15702349发布日期:2018-10-19 20:03阅读:125来源:国知局

本说明书涉及处理数字组件。



背景技术:

因特网促进了跨全球用户之间的信息交换。这种信息交换使得能够处理对诸如数字组件的内容的请求。在某些情况下,内容可以由需求来源调用,以在客户端设备处渲染内容。



技术实现要素:

在一些实现中,本公开的方法包括处理用于在客户端设备处渲染数字组件的请求。例如,这些方法可以包括接收来自安装在客户端设备处的软件开发套件(SDK)的对数字组件的请求。SDK可以是使得能够针对客户端设备的特定平台创建应用的一组软件开发工具。SDK可以包括源代码、开发工具、仿真器、库等,以构建针对特定平台的应用。可以由一个或多个服务器检查请求以识别在客户端设备处发起请求的应用。服务器可以被配置为基于来自SDK的对数字组件的请求生成实时请求。每个实时请求可以包括诸如安装在所识别的应用中的一组其他SDK的信息。实时请求可以在从客户端设备接收到初始请求之后的特定时间量内传输到第三方数字组件供应商。实时请求可以串行、并行或其任何组合地传输到第三方数字组件供应商。此外,初始请求可以指示其中需要向客户端设备提供数字组件的时间量。响应于将对数字组件的实时请求传输到第三方数字组件供应商,服务器可以被配置为接收来自第三方数字组件供应商的响应。服务器还可以被配置为选择特定响应以传输到客户端设备,以便满足来自客户端设备的初始请求。在某些方面,特定响应可以包括数字组件以及指定安装在客户端设备处的某个SDK来渲染数字组件的指令。

在本说明书中描述的主题的一个创新方面体现在方法中,所述方法包括如下动作:从客户端设备接收由安装在客户端设备处的第一软件开发套件(SDK)生成的对数字组件的请求;由一个或多个定制数字组件服务器检查请求的一个或多个数据字段,包括:在一个或多个数据字段内识别指定在客户端设备处发起请求的应用的应用数据;由一个或多个服务器生成多个实时请求,包括:基于数据结构中应用数据到已安装的SDK的映射来识别安装于在应用中的一组SDK,该应用在客户端设备处发起请求;在每个实时请求中包括指定安装于在客户端设备处发起请求的应用中的该组SDK的数据;通过网络由一个或多个服务器将每个实时请求传输到相应的第三方数字组件供应商;以及由一个或多个服务器从相应的第三方数字组件供应商接收对多个实时请求的一组响应;由一个或多个服务器响应于对数字组件的请求,从该组响应中选择要传输到客户端设备的特定响应;以及由一个或多个服务器利用指定需要在客户端设备处安装的哪个SDK来渲染特定响应中包括的数字组件的指令向第一SDK传输该特定响应。

这个和其他方面的其他实现方式包括被配置为执行在计算机存储设备上编码的方法的动作的相应的系统、装置和计算机程序。

实现方式可以各自可选地包括以下特征中的一个或多个。例如,所述方法可以包括在一个或多个数据字段内识别由安装在客户端设备处的第二SDK生成的加密数据,并且其中当生成多个实时请求时,加密数据被包括在发送给被授权解密由第二SDK生成的加密数据的特定一个第三方的特定一个实时请求。在这种情况下,所述方法还可以包括将特定的实时请求传输到特定的第三方数字组件供应商而不对加密数据进行解密。

所述方法还可以包括访问应用数据到已安装的SDK的映射,在映射内识别在应用数据中指定的应用以及发起请求的应用的版本,以及识别映射到应用和发起请求的应用的版本的一组SDK。在这种情况下,方法还可以包括从存储在数据结构中的响应日志中识别响应于由应用的版本发起的先前请求而先前提供给应用的版本的先前响应,从先前响应中识别在先前响应中指定的一组多个不同的SDK,并在数据结构中将该组多个不同的SDK中的每个SDK映射到应用的版本。

在某些方面,所述方法可以包括传输指定应用编程接口(API)调用的指令以渲染特定响应中包括的数字组件。所述方法还可以包括:由一个或多个服务器通过网络传输每个实时请求到相应的第三方数字组件供应商,包括将特定实时请求传输到特定的第三方数字组件供应商而不对加密数据解密。在某些方面,所述方法可以包括向特定SDK提供对定制数字组件的呈现的控制。

所述方法还可以包括:向相应的第三方数字组件供应商传输每个实时请求包括不向未被授权解密由第二SDK生成的加密数据的第三方传输特定实时请求,从相应的第三方数字组件供应商接收对多个实时请求的一组响应包括:接收该组中的给定响应,所述给定响应指定需要除了第一SDK之外的特定SDK来渲染所述给定响应中包括的特定数字组件,以及传输给定响应作为特定响应,其中需要特定SDK来渲染所述给定响应中包括的特定数字组件。

有利的实现方式可以包括以下特征中的一个或多个。该方法允许将数字组件请求并行发送到不同的网络,从而减少客户端侧调解所经历的延迟,同时与在实时投标中使用一个SDK相比确保支持多个SDK。换句话说,当客户端设备处的应用发出对数字组件的请求时,可能期望从与多个不同SDK相关联的第三方数字组件供应商接收对该请求的响应。因此,该方法可用于通过利用实时投标的优点来处理对数字组件的请求,同时保留客户端侧调解的属性。此外,SDK可以用于在客户端设备处收集定制的信号并渲染定制数字组件,同时经由具有对诸如定制数字组件的数字组件的并行调用的实时投标进行交易。具体来说,当应用发布对媒体内容的请求时,期望从与不同SDK相关联的第三方接收用于供应数字组件的出价。

在附图和下面的描述中阐述了本发明的一个或多个实施例的细节。从描述、附图和权利要求书,本发明的其他特征和优点将变得显而易见。

附图说明

图1是处理对定制数字组件的请求的示例环境的框图。

图2是用于处理定制数字组件的示例过程的流程图。

图3是用于检查请求的数据字段的示例过程的流程图。

图4是用于生成实时请求的示例过程的流程图。

图5是示出与数字组件供应商的示例通信的框图。

图6是示例计算系统的框图。

各附图中的相同附图标记和标号指示相同的元件。

具体实施方式

本文档公开了用于处理对数字组件的请求并且通过网络来选择特定响应以满足请求的方法、系统和设备。如下面更详细地讨论的,第一SDK可以生成对数字组件的请求。该请求可以被服务器接收并且被检查以识别与该请求相对应的应用以及可以支持在应用中的数字组件渲染的SDK列表。请求和从请求中提取的信息可以用于由服务器生成实时请求。实时请求可以被传输到多个第三方数字组件供应商。服务器可以从第三方数字组件供应商接收对实时请求的响应。响应可以包括数字组件,诸如需要由特定SDK定制渲染的定制数字组件。响应可以由服务器接收,然后服务器可以被配置为选择响应中的特定响应以满足初始请求。在这种情况下,所选择的响应可以从服务器传输到客户端设备,用于通过指定的SDK渲染与所选择的响应相关联的特定数字组件。

如本文档全文中所使用的,短语“数字组件”是指数字内容或数字信息(例如,视频剪辑、音频剪辑、多媒体剪辑、图像、文本或另一内容单元)的离散单元。数字组件可以电子地存储在物理存储设备中作为单个文件或文件集合,并且数字组件可以采取视频文件、音频文件、多媒体文件、图像文件或文本文件的形式,并且包括广告信息,使得广告是一种数字组件。通常,数字组件由单个供应商或源(例如,广告商、发布者或其他组件供应商)定义(或由其提供)。数字组件可以被集成(例如,在其中呈现)到由与数字组件供应商不同的电子文档供应商提供的电子文档中。

图1是其中处理对定制数字组件的请求的示例环境100的框图。示例环境100包括网络102,诸如局域网(LAN)、广域网(WAN)、因特网或其任何组合。网络102连接客户端设备106、数字组件服务器110和数字组件供应商114。示例环境100可以包括许多不同的客户端设备106、数字组件服务器110和数字组件供应商114。

客户端设备106是能够通过网络102请求和接收资源(诸如数字组件)的电子设备。示例客户端设备106包括可以通过网络102发送和接收数据的个人计算机、移动通信设备和其他设备。客户端设备106通常包括诸如web浏览器的用户应用,以促进通过网络102发送和接收数据,但由客户端设备106执行的原生应用也可以促进通过网络102发送和接收数据。

客户端设备106可以包括安装在每个客户端设备106处的多个SDK。SDK可以各自对应于能够创建用于客户端设备106的特定平台的应用的一组软件开发工具。SDK可以包括源代码、开发工具、仿真器、库等,以构建用于特定平台的应用。SDK可以用于生成对数字组件的请求112,该请求112通过网络102传输到数字组件服务器110。例如,客户端设备106可以使用安装在客户端设备106处的第一SDK来生成用于定制数字组件的请求112。

请求112可以包括指定特征的数据,这些数据诸如数字组件供应商114的名称(或网络位置)、请求设备(例如,客户端设备106)的名称(或网络位置))和/或数字组件服务器110可以用于响应于请求112来选择要提供的数字组件的信息。客户端设备106将请求112通过网络102(例如,电信网络)传输到一个或更多的数字组件服务器110。请求112还可以包括指定其他特征的数据,该其他特征诸如指示发起请求112的应用的应用数据以及安装在客户端设备106处的一组SDK。

包括一个或多个数字组件服务器的数字组件服务器110响应于检查请求112和/或使用包括在请求112中的信息而为数字组件生成多个实时请求117。例如,数字组件服务器110可以检查请求112的一个或多个数据字段。可以检查数据字段以识别指定在客户端设备106处发起请求112的特定应用的应用数据。此外,数字组件服务器110可以被配置为使用从数据字段提取的信息来生成多个实时请求117。

在一些示例中,数字组件服务器110可以被配置为识别安装在特定应用中的一组SDK,该应用在客户端设备106处发起请求112。具体地,数字组件服务器110可以基于数据结构中应用数据到已安装的SDK的映射来识别该组SDK。例如,数字组件服务器110可以被配置为基于将应用数据组织到特定SDK的数据结构来识别一组已安装的SDK。特别地,数据结构可以存储应用数据到已安装的SDK的映射,所述已安装的SDK安装在客户端设备106处的各种应用中。因此,当数字组件服务器110基于请求112识别应用数据时,数字组件服务器110可以使用诸如查找表的数据结构将应用数据映射到某些SDK。

当应用数据被映射到某些SDK时,数字组件服务器110可以识别哪些SDK被安装在客户端设备106处的一个或多个应用中。数字组件服务器110还可以被配置为在实时请求117中包括指定所识别的一组已安装的SDK的数据。在一些方面,数据结构可以是在初始请求112之前定义并由数字组件服务器110访问的预定数据结构。在其他方面,数字组件服务器110可以被配置为使用应用数据到指定的SDK的映射和应用来生成数据结构。

如图1所示,数字组件服务器110还可以被配置为经由网络102将实时请求117传输到数字组件供应商114。例如,数字组件服务器110可以生成三个实时请求117a-c并且将实时请求117a-c中的每一个并行地传输到特定的数字组件供应商114a-c。在这种情况下,第一实时请求117a可以被传输到第一数字组件供应商114a,第二实时请求117b可以被传输到第二数字组件供应商114b,并且第三实时请求117c可以被提供给数字组件供应商114c。在某些方面,将单个实时请求117传输到多个不同的数字组件供应商114。例如,第一实时请求117a可以并行传输到第一数字组件供应商114a、第二数字组件供应商114b和第三数字组件供应商114c。在这种情况下,诸如第一实时请求117a的单个实时请求117可以被传输到多个数字组件供应商114,以从每个数字组件供应商114接收用于渲染数字组件的投标(bid)。初始请求117可能需要在预定时间段内被提供响应。每个数字组件供应商114可以向请求117提供响应118,该响应118包括针对特定数字组件的投标。因此,单个请求117可以被提供给多个数字组件供应商114,试图在用于响应118的预定时间段内快速地接收与最高投标者相关联的数字组件。在某些方面,对请求117的响应118可以可选地或附加地包括要渲染的数字组件,诸如数字组件标记或到数字组件标记的链接。

数字组件供应商114可以包括一个或多个数字组件供应商,诸如第三方数字组件供应商。数字组件供应商114a-c可以被配置为生成对实时请求117的响应118a-c。响应118可以包括用于在客户端设备106处渲染的数字组件。在一些方面,响应118可以包括一个或更多可能的数字组件用于在客户端设备106处渲染。响应118的数字组件还可以包括定制数字组件。定制数字组件(例如,定制广告)可以包括可以由安装在客户端设备106处的特定SDK渲染的定制创意格式。由此,响应118中包括的定制数字组件可以指示需要由生成原始请求112的第一SDK之外的SDK来渲染定制数字组件。

响应118可以由数字组件服务器110通过网络102接收。数字组件服务器110可以被配置为选择特定响应以满足针对数字组件的请求112。例如,数字组件服务器110可以接收响应于实时请求117a-c的三个响应118a-c。数字组件服务器110可以响应于针对数字组件的初始请求112来选择三个响应118a-c的特定响应以向客户端设备106传输。在一些方面,特定响应可以由数字组件服务器110基于与响应118a-c的每一个相关联的投标来选择。在其他方面,可以基于请求112的指定数字组件特征来选择特定响应。

所选择的响应可以通过网络102从数字组件服务器110传输到客户端设备106。所选择的响应可以作为对数字组件的初始请求112的答复120传输。在某些方面,答复120可被传输到生成请求112的第一SDK。答复120可以包括指定需要安装在客户端设备106处的SDK(除了第一SDK之外)渲染包含在答复120中的数字组件。

在一些方面,客户端设备106执行包括在答复120中的指令。例如,客户端设备106可以使用指令来配置和启用包括在答复120中的特定数字组件的渲染。在另一示例中,指令可以用于配置和使客户端设备106从相应的数字组件供应商114获得特定的数字组件。例如,答复120中的指令可以包括网络位置(例如,统一资源定位符(URL))和脚本,其使得客户端设备106向相应的数字组件供应商114传输服务器请求(SR)121以从数字组件供应商114获得特定的数字组件。响应于请求121,数字组件供应商114可以识别服务器请求121中指定的特定数字组件,并向客户端设备106传输数字组件数据(DC数据)122,其将用于渲染的特定数字组件传输到客户端设备106。

图2是用于处理定制数字组件的示例过程200的流程图。过程200可以由一个或多个服务器或其他计算设备执行。例如,过程200的操作可以由图1的数字组件服务器110执行。过程200的操作也可以被实现为存储在非暂时性计算机可读介质上的指令,并且当指令由一个或多个服务器(或其他计算设备)执行时,指令使一个或多个服务器执行过程200的操作。

在步骤202,数字组件服务器接收由安装在客户端设备处的第一SDK生成的对数字组件的请求。对数字组件的请求可以包括指定特征的数据,该指定特征诸如数字组件供应商的名称(或网络位置)、请求设备(例如,客户端设备)的名称(或网络位置))和/或数字组件服务器可以用于响应于该请求来选择要提供的数字组件的信息。由一个或多个数字组件服务器通过网络(例如,电信网络)接收该请求。该请求还可以包括指定其他特征的数据,该其他特征诸如指定发起请求的应用的应用数据以及安装在客户端设备处的一组SDK。

在步骤204,数字组件服务器检查请求的数据字段。数字组件服务器可以检查请求的一个或多个数据字段。数据字段可以各自包括不同类型的数据,诸如整数、字符串、日期等。在一些方面,数字组件服务器被配置为检查请求的数据字段以识别请求的加密数据。加密数据可以被识别为由安装在客户端设备处的第二SDK生成。加密数据可以包括与先前渲染的数字组件(例如,先前由第二SDK渲染或在包括第二SDK的应用内)对应的专有信号(例如,专有于第二SDK的供应商)。先前渲染的数字组件可以由安装在客户端设备处的特定SDK渲染。表示SDK的信息可以包括多个不同的SDK以及与不同SDK对应的多个不同版本的应用。此外,加密数据可以包括特定于客户端设备的数据。例如,加密数据可以包括表示客户端设备的朝向的加速度计数据、表示客户端设备的移动的加速度计数据、表示客户端设备的地理位置的位置信号等。

在步骤206,数字组件服务器基于对请求的数据字段的检查来生成多个实时请求。实时请求可以包括对一个或多个数字组件的请求。数字组件服务器可以被配置为在实时请求中包括指定被识别的一组已安装SDK的数据。服务器可以被配置为基于来自SDK的对数字组件的请求生成实时请求。每个实时请求可以包括诸如安装在所识别的应用中的一组其他SDK的信息。

在一些方面,加密数据被包括在实时请求中。加密数据可以被包括在准备向数字组件供应商传输的一个或多个实时请求中。加密数据可以被包括在准备向某个数字组件供应商传输的某个实时请求中。该某个数字组件供应商可以是被授权解密该加密数据的数字组件供应商。加密数据可以包括在实时请求中,但是对数字组件服务器保持保密,以仅由被授权的数字组件供应商进行解密。例如,加密数据可以被包括在所有实时请求中,并且仅由被授权的数字组件供应商使用密钥解密。

在步骤208,数字组件服务器将每个实时请求传输到相应的数字组件供应商。例如,数字组件供应商可以是第三方组件供应商。数字组件服务器可以被配置为通过网络将实时请求传输到数字组件供应商。例如,数字组件服务器可以生成三个实时请求,并将每个实时请求传输到三个特定数字组件供应商之一。在从客户端设备接收到初始请求之后的特定时间量内,实时请求可以被传输到数字组件供应商。实时请求可以串行、并行或其任何组合地传输到第三方数字组件供应商。此外,初始请求可以指示其中数字组件服务器需要向客户端设备提供数字组件的时间量。

实时请求可以包括加密数据。例如,包括加密数据的实时请求可以由数字组件服务器生成并且被传输到被授权的数字组件服务器而不对加密数据解密。因此,数字组件服务器可以被配置为准备实时请求并将实时请求指向数字组件供应商,而不会对包括在实时请求中的加密数据的机密性进行让步。此外,数字组件服务器可以被配置为仅将包括加密数据的实时请求传输到被授权的数字组件供应商。

在步骤210,数字组件服务器从相应的第三方数字组件供应商接收对多个实时请求的一组响应。例如,每个第三方数字组件供应商可以向数字组件服务器提供响应。响应可以各自包括用于在客户端设备处渲染的数字组件。在一些方面,响应可以包括用于在客户端设备处渲染的一个或多个可能的数字组件。响应的数字组件可以包括定制数字组件。定制数字组件可以包括可在客户端设备处由特定SDK渲染的定制创意格式。由此,包括在响应中的定制数字组件可以指示定制数字组件需要由生成原始请求的第一SDK之外的SDK渲染。

在步骤212,数字组件服务器响应于对数字组件的请求,从该组响应中选择要传输到客户端设备的特定响应。例如,数字组件服务器可以接收响应于实时请求的三个响应。三个响应中的特定响应可以由数字组件服务器选择以传输到客户端设备。在一些方面,特定响应可以由数字组件服务器基于与每个响应相关联的选择分数(例如,投标或可用于对来自多个不同的可用数字组件之中的数字组件进行排名和/或选择的一些其他值)来选择。在这种情况下,特定响应可以与所有接收到的选择分数中的最高选择分数对应。在某些方面,可以基于请求的指定数字组件特征来选择特定响应。在这种情况下,特定响应可以包括满足来自客户端设备的初始请求的所有标准的数字组件。

在步骤214,数字组件服务器利用指定需要在客户端设备处安装的哪个SDK来渲染特定响应中包括的数字组件的指令,向第一SDK传输特定响应。所选择的响应可以通过网络从数字组件服务器传输到客户端设备。所选择的响应可以作为对数字组件的初始请求的答复来传输。在某些方面,特定响应可以被传输到生成请求的第一SDK。特定响应可以包括指定需要除了第一SDK之外的SDK来渲染包括在特定响应中的数字组件。在这种情况下,除了第一SDK之外的SDK可以是某个SDK,或者是仅仅与生成原始请求的第一SDK不同的SDK。

在某些方面,指令可以指定应用编程接口(API)调用以渲染特定响应中包括的数字组件。API调用可以由客户端设备处指定的SDK实现。API调用可以包括应用调用以执行任务的一组特定操作。由此,API调用可以包括一组操作,以经由客户端设备处的应用的特定SDK渲染数字组件。

在一些方面,指令可以向特定SDK提供对数字组件的呈现的控制。换句话说,可以将特定的SDK配置为在客户端设备处执行数字组件的渲染(例如,使用特定SDK具有的渲染能力,但是客户端设备处安装的其他SDK可能不具有该渲染能力)。

图3是用于检查对数字组件的请求的数据字段的示例过程的流程图。过程300可以包括针对过程200的步骤204的子过程。过程300可以由一个或多个服务器或其他计算设备执行。例如,过程300的操作可以由图1的数字组件服务器110执行。过程300的操作也可以被实现为存储在非暂时性计算机可读介质上的指令,并且当指令由一个或多个服务器(或其他计算设备)执行时,指令使一个或多个服务器执行过程300的操作。

在步骤302,数字组件服务器在数据字段内识别指定发起请求的应用的应用数据。具体地,可以检查数据字段以识别指定在客户端设备处发起请求的特定应用的应用数据。数据字段可以基于请求中包括的数据字段的内容以及数据字段的类型来对应于特定应用。

在步骤304,数字组件服务器被配置为检查请求的数据字段以识别请求的加密数据。加密数据可以被识别为由客户端设备处安装的第二SDK生成。加密数据可以包括与先前渲染的数字组件对应的专有信号。先前渲染的数字组件可以由安装在客户端设备处的特定SDK渲染。由此,表示先前用于渲染数字组件的SDK的信息也可以包括在加密数据中。表示SDK的信息可以包括多个不同的SDK以及与不同的SDK对应的多个不同版本的应用。此外,加密数据可以包括特定于客户端设备的数据。例如,加密数据可以包括表示客户端设备的朝向的加速度计数据、表示客户端设备的移动的加速度计数据、表示客户端设备的地理位置的位置信号等。

图4是用于生成实时请求的示例过程的流程图。过程400可以包括针对过程200的步骤206的子过程。过程400可以由一个或多个服务器或其他计算设备执行。例如,过程400的操作可以由图1的数字组件服务器110执行。过程400的操作也可以被实现为存储在非暂时性计算机可读介质上的指令,并且当指令由一个或多个服务器(或其他计算设备)执行时,指令使一个或多个服务器执行过程400的操作。

在步骤402,数字组件服务器识别安装在特定应用中的一组SDK,该特定应用在客户端设备处发起请求。具体来说,数字组件服务器可以基于数据结构中应用数据到已安装的SDK的映射来识别该组SDK。在一些方面,数字组件服务器可以配置为访问应用数据到已安装的SDK的映射。数字组件服务器还可以被配置为在应用数据的映射内识别在应用数据中指定的应用和发起请求的应用的版本。在这种情况下,数字组件服务器可以识别映射到应用以及发起对数字组件的初始请求的应用的版本的一组SDK。

例如,数字组件服务器可以被配置为基于将应用数据分类到特定SDK的预定数据结构来识别一组已安装的SDK。因此,当数字组件服务器基于请求识别应用数据时,数字组件服务器可以使用诸如查找表的数据结构将应用数据映射到某些SDK。当应用数据映射到某些SDK时,数字组件服务器可以识别在客户端设备处的应用中安装哪些SDK。数字组件服务器可以被配置为包括在实时请求中指定被识别的一组已安装的SDK的数据。

在一些方面,数字组件服务器可以被配置为生成应用数据到已安装的SDK的映射。在这种情况下,数字组件服务器可以响应于由应用的特定版本发起的先前请求,识别先前提供给应用的特定版本的先前响应。可以从存储在数据结构中的响应日志中识别先前响应。数字组件服务器可以被配置为识别在先前响应中指定的一组多个不同的SDK。此外,数字组件服务器可以被配置为将该组多个SDK中的每个SDK映射到数据结构中的该应用的特定版本。

在步骤404,数字组件服务器在每个实时请求中包括指定在应用中安装的在客户端设备处发起请求的一组SDK的数据。实时请求可以彼此独立。在这种情况下,每个实时请求可以对应于特定数字组件供应商。可以基于在客户端设备处发起请求的应用中安装的一组SDK将实时请求发送到特定数字组件供应商。

在步骤406,数字组件服务器将加密数据包括在对被授权解密由第二SDK生成的加密数据的特定数字组件供应商的特定实时请求中。加密数据可以包括在一个或多个实时请求中。加密数据可以针对每个被授权的数字组件供应商相同。在其他方面,加密数据可以对每个数字组件供应商独有,使得数据仅能够被相应的特定数字组件供应商解密。

图5是示出与数字组件供应商的示例通信的框图。如图5中的事件(A)所示,客户端设备510可以向数字组件服务器520提交对数字组件的请求515。请求515可以是对定制数字组件的请求。请求515可以由客户端设备510的特定应用发起并由在客户端设备510处安装的第一SDK生成。第一SDK可以是在客户端设备510处安装的多个SDK之一,并且应用可以是安装在客户端设备510处的多个应用之一。

在事件(B),数字组件服务器520接收请求515并且响应于接收到请求515而生成多个实时请求526。数字组件服务器520可以检查请求515的数据字段以确定请求515的内容以及关于客户端设备510的信息。数字组件服务器520可以被配置为通过检查请求515来识别应用数据521。应用数据521可以被数字组件服务器520使用以识别发起请求515的特定应用。应用数据521还可以被数字组件服务器520使用以在客户端设备510处识别一组已安装的SDK 522。

数字组件服务器520可以生成多个实时请求526来代替由客户端设备510生成的请求515。在这种情况下,数字组件服务器520可以被配置为代表客户端设备510生成多个实时请求526。

在某些方面,数字组件服务器520可以检查请求515以识别由在客户端设备510处安装的第二SDK生成的加密数据。加密数据可以与先前请求515、先前渲染的数字组件、用于渲染数字组件的SDK、生成请求515时收集的数据、生成实时请求526时收集的数据等对应。

数字组件服务器520可以被配置为生成一个或多个实时请求526以提供给数字组件供应商530。在一些方面,针对特定数字组件供应商530a-n指定实时请求526。在这种情况下,实时请求526可以包括授权由某些数字组件供应商530a-n解密的加密数据523a-n。由此,数字组件服务器520可以生成多个实时请求526,每个实时请求526包括与选择的数字组件供应商530a-n对应的加密数据523a-n。

数字组件服务器520可以包括接收和处理对数字组件的请求的一个或多个服务器。例如,数字组件服务器520可以包括接收对数字组件的请求的前端服务器和被配置为处理对数字组件的请求的另一服务器。在这种情况下,前端服务器和该另一服务器可以实现为通过网络进行通信的单独设备。如本领域普通技术人员将认识到的,前端服务器和该另一服务器可以集成为单个硬件设备,诸如单个数字组件服务器520。

在事件(C),数字组件供应商530接收实时请求526并提供对实时请求526的响应535。数字组件供应商530可以被配置为提供数字组件作为对实时请求526的响应535。例如,每个数字组件供应商530a-n可以接收实时请求526,并且向数字组件服务器520提供包括用于在客户端设备510处渲染的数字组件的响应535。

在一些方面,数字组件供应商530接收包括在实时请求526中的加密数据523a-n。加密数据523a-n可以由被授权的数字组件供应商解密。在这种情况下,数字组件供应商530可以使用解密数据532a-n来确定是否提供对实时请求526的响应535、与响应535相关联的投标价格、在响应535中返回哪些数字组件,等等。由此,被授权的数字组件供应商可以被配置为使用每个被授权的数字组件供应商解密的解密数据523a-n来生成对实时请求526的响应535,并将响应535提供给数字组件服务器520。

在事件(D),数字组件服务器520从数字组件供应商530接收响应535,并选择特定响应以传输到客户端设备510。数字组件服务器520可以选择特定响应用于由安装在客户端设备510处的SDK渲染。在一些方面,特定响应可以由数字组件服务器520基于与每个响应535相关联的投标来选择。在其他方面,可以基于初始请求515的指定数字组件特征来选择特定响应。

所选择的响应可以作为数字组件数据528从数字组件服务器520传输到客户端设备510。数字组件数据528可以作为对数字组件的初始请求515的答复来提供。在某些方面,数字组件数据528可以被传输到在客户端设备510处生成请求515的第一SDK。数字组件数据528可以包括指定需要安装在客户端设备510处的除了第一SDK之外的另一SDK渲染与数字组件数据528对应的数字组件的指令。

图6是可以用于执行上述操作的示例性计算系统600的框图。系统600包括处理器610、存储器620、存储设备630和输入/输出设备640。组件610、620、630和640中的每一个可以例如使用系统总线650互连。处理器610能够处理用于在系统600内执行的指令。在一个实现方式中,处理器610是单线程处理器。在另一实现方式中,处理器610是多线程处理器。处理器610能够处理存储在存储器620中或存储设备630上的指令。

存储器620存储系统600内的信息。在一个实现方式中,存储器620是计算机可读介质。在一个实现方式中,存储器620是易失性存储器单元。在另一实现方式中,存储器620是非易失性存储器单元。

存储设备630能够为系统600提供大容量存储。在一个实现方式中,存储设备630是计算机可读介质。在各种不同的实现方式中,存储设备630可以包括例如硬盘设备、光盘设备、通过网络由多个计算设备(例如,云存储设备)共享的存储设备、或一些其他大容量存储设备。

输入/输出设备640为系统600提供输入/输出操作。在一个实现方式中,输入/输出设备640可以包括网络接口设备中的一个或多个,例如以太网卡、串行通信设备,例如和RS-232端口,和/或无线接口设备,例如802.11卡。在另一实现方式中,输入/输出设备可以包括被配置为接收输入数据并将输出数据发送到其他输入/输出设备(例如,键盘、打印机和显示设备560)的驱动器设备。然而,也可以使用其他实现方式作为移动计算设备、移动通信设备、机顶盒电视客户端设备等。

虽然在图6中已经描述了示例处理系统,本说明书中描述的主题和功能性操作的实现方式可以在其他类型的数字电子电路中,或在计算机软件、固件或硬件中,包括在本说明书中公开的结构及其结构上的等同物,或在它们中的一个或多个的组合中实现。

电子文档可以但不一定对应于文件。文档可以存储在保存其他文档的文件的一部分中、存储在专用于所关注文档的单个文件中、或者存储在多个协调文件中。

已经描述了许多实现方式。然而,将理解,在不脱离本公开的主旨和范围的情况下,可以进行各种修改。例如,可以使用如上所示的各种形式的流程,其中重新排序、添加或移除步骤。

本发明的实施例和本说明书中描述的所有功能性操作可以在数字电子电路中或在计算机软件、固件或硬件中实现,包括本说明书中公开的结构及其结构上的等同物或它们中的一个或多个的组合。本发明的实施例可以被实现为一个或多个计算机程序产品,例如在计算机可读介质上编码的一个或多个计算机程序指令的模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质组合物、或它们中的一个或多个的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,通过示例的方式,包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所关注的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成以编码用于传输到合适的接收器装置的信息。

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

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

适用于执行计算机程序的处理器例如包括通用和专用微处理器两者以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合以从用于存储数据的一个或多个大容量存储设备接收数据或传输数据到用于存储数据的一个或多个大容量存储设备或两者,大容量存储设备例如磁、磁光盘或光盘。然而,计算机不必要具有这样的设备。此外,计算机可以嵌入另一设备,例如,仅举几例,平板计算机、移动电话、个人数字助理(PDA)、移动音频播放器、全球定位系统(GPS)接收器。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘或可移动盘;磁光盘;和CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入其中。

为了提供与用户的交互,本发明的实施例可以在具有用于向用户显示信息的显示设备(例如CRT(阴极射线管)或LCD(液晶显示器)监视器)以及键盘和指点设备,例如鼠标或轨迹球的计算机上实现,用户可以通过该键盘和指点设备向计算机提供输入。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。

本发明的实施例可以在包括后端组件(例如,作为数据服务器),或包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有图形用户界面或Web浏览器的客户端计算机)的计算系统中实现,用户可以通过该图形用户界面或Web浏览器与本发明的实现方式或一个或多个这样的后端、中间件或前端组件的任何组合进行交互。系统的组件可以通过数字数据通信(例如通信网络)的任何形式或介质互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如因特网。

计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是由于在各自计算机上运行计算机程序和彼此之间具有客户端-服务器的关系而产生的。

虽然本说明书包含许多细节,但是这些细节不应被解释为对本发明的范围或可以要求保护的内容的限制,而是对本发明特定实施例特有的特征的描述。在单独实施例的环境中,在本说明书中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的环境中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,虽然以上可以将特征描述为以某些组合的方式起作用,并且甚至最初要求如此保护,但要求保护的组合的一个或多个特征在某些情况下可以从组合中被移除,并且所要求保护的组合可以指向子组合或子组合的变化。

类似地,虽然在附图中以特定次序描绘了操作,但是这不应被理解为要求以所示的特定次序或按顺序次序执行此类操作,或者执行所有所示出的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应被理解为在所有实施例中需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或打包成多个软件产品。

在提及HTML文件的每个实例中,可替换为其他文件类型或格式。例如,HTML文件可以被XML、JSON、纯文本或其他类型的文件替代。此外,在提及表或哈希表的情况下,可以使用其他数据结构(诸如,电子表格、关系数据库或结构化文件)。

已经描述了本发明的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中所记载的步骤可以以不同的次序执行,并且仍然实现期望的结果。

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