首页> 中国专利> 聚合转换测量

聚合转换测量

摘要

本文所述的系统和方法可以涉及基于网络浏览器的应用编程接口(API),可以控制联网环境内的数据传输的授权。系统使网页中显示的内容项能够调用浏览器,以请求浏览器向浏览器注册内容项。网络浏览器可以控制网络传输到网络浏览器批准或授权的内容项。系统可以减少不会导致客户端设备内容的传输的次数,从而节省客户端设备的带宽和计算资源。

著录项

  • 公开/公告号CN112166589A

    专利类型发明专利

  • 公开/公告日2021-01-01

    原文格式PDF

  • 申请/专利权人 谷歌有限责任公司;

    申请/专利号CN201980023653.2

  • 发明设计人 M.韦斯特;C.哈里森;G.王;Y.高;

    申请日2019-04-16

  • 分类号H04L29/08(20060101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人金玉洁

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 09:23:00

说明书

背景技术

当客户端设备访问网站时,网站可以将小数据包发送到客户端设备。小数据包可以包括偏好(preference)、会话信息或用于验证和维护客户端设备与托管网站的设备之间的会话。网站存储的数据可以无限期存储,或者可以定期清除。当客户端设备不在与域的活动会话中时,网络浏览器可以阻止域访问其他域的数据或将数据存储在客户端设备上。

发明内容

第三方提供的用于填充网页上内容时隙的内容项可以与辅助网页相关联。辅助网页可以被称为登录页面,因为激活(例如,点击)内容项可以将网络浏览器带到辅助页面。例如,内容项可以包括指向辅助网页的HTML链接。在一些实现方式中,用户可以观看内容项,但是不激活内容项以访问登录页面。然后,在稍后的时间并且无需激活内容项,用户可以独立导航到登录页面。在阻止使用第三方cookies的“非cookie”环境中,难以将访问归因于登录页面。本文所述的系统和方法可以将导航到登录页面归因于内容项,同时增加用户隐私。

例如,本文所述的系统可以包括基于浏览器的应用编程接口(API)。API使网页中显示的内容项能够调用浏览器,以请求浏览器向浏览器注册内容项。请求(例如,对API的调用)可以包括:登录页面URL、转换报告URL和活动ID(campaign ID)。在向浏览器注册内容项,并且浏览器访问不同的URL之后,浏览器可以将当前页面的URL与向浏览器注册的登录页面URL进行比较。当浏览器确定其正在访问注册的登录页面URL之一时,浏览器可以生成对与登录页面URL相关联的转换报告URL的响应消息。浏览器可以设置和实施许多策略,用于向浏览器注册内容项以及将响应消息传输到转换报告URL。例如,策略可以设置要求内容项在可以发生注册之前显示预定时间长度的定时要求、防止不可见或较小(例如,跟踪像素)向浏览器注册的显示要求等。

根据本公开的至少一方面,一种在联网环境中授权数据传输的方法可以包括:由客户端设备执行的网络浏览器从网络浏览器显示的内容项接收注册请求。注册请求可以包括第一统一资源定位符(URL)和第二URL。所述方法可以包括:由客户端设备执行的网络浏览器将第一URL、第二URL和时间戳存储到客户端设备处存储的注册表。所述方法可以包括:由客户端设备执行的网络浏览器识别由网络浏览器显示的网页的第三URL。所述方法可以包括:由客户端设备执行的网络浏览器确定第三URL与存储在注册表中的第一URL匹配,并且网页的显示时间在时间戳的预定持续时间内。所述方法可以包括:由客户端设备执行的网络浏览器将消息发送到第二URL。

根据本公开的至少一方面,一种在联网环境中授权数据传输的系统可以包括由客户端设备执行的网络浏览器。网络浏览器可以执行或包括转换引擎以从网络浏览器显示的内容项接收注册请求,其中,注册请求可以包括第一URL和第二URL。转换引擎可以将第一URL、第二URL和时间戳存储到存储在客户端设备处的注册表。转换引擎可以识别由网络浏览器显示的网页的第三URL。转换引擎可以确定第三URL与存储在注册表中的第一URL匹配,并且网页的显示时间在时间戳的预定持续时间内。转换引擎可以将消息发送到第二URL。

前面一般描述和对附图的以下描述以及详细描述是示例性和说明性的,并且旨在提供对所要求保护的本发明的进一步说明。从以下附图的简要描述和详细描述,其他目的、优点和新颖特征对于本领域技术人员将是显而易见的。

附图说明

附图无意按比例绘制。在各个附图中,相同的附图数字和标记表示相同的元件。为了清楚起见,并非在每个附图中都标记了每个组件。在附图中:

图1示出根据一些实现方式的用于数据交换的网络和设备环境的框图;

图2示出根据一些实现方式的在图1中所示的网络和设备环境中使用的计算设备的实现方式的框图;

图3示出根据一些实现方式的在图1中所示的网络和设备环境中授权数据交换的流程图;以及

图4示出根据一些实现方式的在图1中所示的网络和设备环境中交换数据的示例方法的流程图。

具体实施方式

由于所描述的概念不限于任何特定的实现方式,因此可以以多种方式中的任何一种来实现上面介绍的以及下面将更详细讨论的各种概念。主要出于说明性目的而提供了特定实现方式和应用的示例。

从互联网下载并显示在例如网络浏览器中的内容可以从第三方服务器请求附加内容。例如,由客户端设备执行的网页可以包括一个或多个内容时隙,所述内容时隙可以包括处理器可执行指令(例如,JavaScript),所述处理器可执行指令可以使网络浏览器向第三方服务器请求内容时隙的内容。当渲染网页时,网络浏览器可以自动生成请求。在一些实现方式中,处理器可执行指令可以指令网络浏览器生成一个或多个请求,这些请求不会导致渲染的网页中内容的生成或显示。例如,网络浏览器可以发送给服务器的请求可以包括对提供网页内容的第三方服务器的状态通知或更新。附加内容请求和响应可测导致客户端设备浪费带宽和计算资源,而这不会导致客户端设备接收用于渲染给用户的附加内容。本文描述的系统和方法可以减少不导致客户端设备的内容的传输的数量,从而节省客户端设备的带宽和计算资源。此外,这些系统和方法可以控制响应或请求传输的授权,这可以增加客户端设备用户的隐私。

例如,第三方提供的用于填充网页上内容时隙的内容项可以与辅助网页相关联。辅助网页可以被称为登录页面,因为激活(例如,点击)内容项可以将网络浏览器带到辅助页面。例如,内容项可以包括到辅助网页的HTML链接。在一些实现方式中,用户可以观看内容项,但是不激活内容项以访问登录页面。然后,在稍后的时间并且无需激活内容项,用户可以独立导航到登录页面。在阻止使用第三方Cookie的“非Cookie”环境中,难以将访问归因于登录页面。本文所述的系统和方法可以将导航到登录页面归因于内容项,同时增加用户隐私。

例如,本文所述的系统可以包括基于浏览器的应用编程接口(API)。API使网页中显示的内容项能够调用浏览器,以请求浏览器向浏览器注册内容项。请求(例如,对API的调用)可以包括:登录网页URL、转换报告URL和活动ID(campaign ID)。在向浏览器注册内容项,并且浏览器访问不同的URL之后,浏览器可以将当前页面的URL与向浏览器注册的登录页面URL进行比较。当浏览器确定其正在访问注册的登录页面URL之一时,浏览器可以生成对与登录页面URL相关联的转换报告URL的响应消息。在一些实现方式中,响应消息可以被称为消息或请求消息。浏览器可以设置和实施许多策略,用于向浏览器注册内容项以及将响应消息传输到转换报告URL。例如,策略可以设置要求内容项在可以发生注册之前显示预定时间长度的时序要求、防止不可见或较小(例如,跟踪像素)向浏览器注册的显示要求等。

本解决方案提供了许多技术解决方案,其中无法在不启用第三方cookie的浏览器中执行对转换的测量。例如,在内容项中使用基于浏览器的API而非JavaScript通过多种方式保护用户隐私。首先,虽然内容项的JavaScript不受用户控制,但是基于浏览器的API是浏览器的功能,并且可以由用户控制或限制。这使用户能够设置哪些信息可以共享以及何时通过上述策略进行配置。第二,浏览器供应商(或用户)可以设置报告URL的响应消息的最大长度和其他要求(例如,格式)。这可能会限制浏览器可以发送到第三方的信息量。例如,活动ID可以限制为简短的有限数量的字符,使得用户代理者(agent)的散列和关于浏览器的其他信息不能被编码,并在报告消息中被发送回第三方。第三,浏览器可以将报告消息延迟或批量处理到转换报告URL,以掩盖IP地址和浏览器访问登录页面URL的时间。第四,浏览器可以将报告消息发送到代理,然后代理将报告消息转发给第三方。代理可以进一步模糊报告消息中包含的信息。

图1示出用于数据交换的示例网络和设备环境100的框图。如图所示,一个或多个客户端设备102可以经由网络106与一个或多个内容服务器110(1)-110(N)通信,该内容服务器110(1)-110(N)通常可以被称为内容服务器110。客户端设备102可以经由一个或多个中间服务器108与内容服务器110通信。客户端设备102可以包括任何类型和形式的计算设备,包括台式计算机、膝上型计算机、便携式计算机、平板计算机、可穿戴计算机、嵌入式计算机、智能电视、控制台、物联网(IoT)设备或智能设备,或任何其他类型和形式的计算设备。客户端设备102可以经由网络106与一个或多个远程服务器104(1)-104(N)通信,该远程服务器104(1)-104(N)通常可以被称为远程服务器104。响应于来自客户端设备102的请求,远程服务器104向客户端设备102发送或以其他方式提供主要内容(例如,网页)。例如,客户端设备102可以执行应用以请求内容。应用可以是网络浏览器、社交媒体应用、视频游戏或其他此类应用。客户端设备102可以向远程服务器104和内容服务器110请求内容。例如,远程服务器104可以托管包括内容时隙的网页。网页的内容时隙可以包括JavaScript或其他处理器可执行指令,其可以使客户端设备102向内容服务器110(经由中间服务器108)请求内容以填充内容时隙。处理器可执行指令可以由中间服务器108或内容服务器110提供给远程服务器104。

系统100可以包括一个或多个网络106。网络106可以包括网络的类型和形式,包括局域网(LAN)、诸如互联网的广域网(WAN)、卫星网络、电缆网络、宽带网络、光纤网络、微波网络、蜂窝网络、无线网络或这些或其他此类网络的任意组合。系统100可以包括相同或不同类型的网络106。例如,客户端设备102和中间服务器108之间的网络106可以是第一类型,并且中间服务器108和内容服务器110之间的网络106可以是第二类型。客户端设备102和中间服务器108之间的网络106以及中间服务器108和内容服务器110之间的网络106可以是相同的网络或相同网络的组件。

网络106可以包括多个附加设备,包括例如网关、调制解调器、防火墙、路由器、交换机等。网络106可以包括任意数量的计算设备(例如,计算机、服务器、路由器、网络交换机等),它们被配置为在网络106内接收和/或发送数据。网络106可以包括任意数量的硬连线和/或无线连接。客户端设备102可以与收发器无线地(例如,经由WiFi、蜂窝、无线电等)通信,该收发器被硬连接(例如,经由光纤缆线、CAT5电缆等)到网络106内的其他计算设备。网络106可以包括或可以是虚拟网络(诸如由单个物理机执行的多个虚拟机之间的虚拟网络),或抽象网络(诸如经由物理可移动媒体(例如,Sneakernet、经由磁带介质传输数据、CD-ROM、闪存介质、外部硬盘驱动器、软盘等)。

系统100可以包括一个或多个中间服务器108。中间服务器108可以管理从客户端设备102接收的内容请求。内容请求可以用于内容,所述内容也可以称为辅助内容或内容项,以在远程服务器104提供的主要内容的内容时隙中进行渲染。中间服务器108可以满足来自多个内容服务器110的内容请求。例如,中间服务器108可以从客户端设备102接收对内容的请求,并且可以从多个内容服务器110中选择提供所请求的内容的内容服务器110。选择可以经由负载平衡算法、拍卖算法(例如,利用内容服务器110竞标提供内容的机会)等。中间服务器108因此可以被称为交换服务器、负载平衡器、拍卖提供商或任何其他此类术语。

系统100可以包括一个或多个内容服务器110。内容服务器110可以包括内容存储库。响应于从中间服务器108或客户端设备102接收到内容请求,内容服务器110可以从内容存储库中选择内容。在一些实现方式中,来自客户端设备102的内容请求可以包括内容服务器110在较早的数据交换中提供给客户端设备102的标识符,诸如cookie。内容服务器110可以基于标识符从内容存储库中选择内容。例如,内容服务器110可以将标识符与诸如但不限于客户端设备102的偏好和计算资源(例如,屏幕尺寸和分辨率)等相关联。内容服务器110可以基于与标识符相关联的数据从数据存储库中选择内容。

系统100可以包括一个或多个远程服务器104。远程服务器104可以托管主要内容。主要内容可以包括网页、社交媒体页面、音频内容、文本转换、视频内容和其他形式的数据。主要内容可以包括内容时隙。内容时隙可以包括处理器可执行指令,该处理器可执行指令在由浏览器执行时可以使浏览器向中间服务器108或内容服务器110请求内容以使用户填充内容时隙。在一些实现方式中,远程服务器104托管的主要内容可以与内容服务器110提供的辅助内容相关联。例如,远程服务器104所托管的主要内容可以用作辅助内容的登录页面。当辅助内容包括到主要内容的链接时,主要内容可以是辅助内容的登录页面。在一些实现方式中,客户端设备102的浏览器可以独立地导航到由远程服务器104托管的网页,并且在其他实现方式中,可以通过激活(例如,点击)呈现为内容服务器110提供的辅助内容一部分的链接将浏览器定向到由远程服务器104托管的网页。

中间服务器108、远程服务器104和内容服务器110可以包括任何类型和形式的计算设备,包括台式计算机、服务器、工作站、膝上型计算机,便携式计算机、嵌入式计算机或任何其他类型和形式的计算设备。中间服务器108和内容服务器110可以包括由一个或多个物理计算设备执行的虚拟机,并且可以被配置为服务器场、集群或设备云。

图2示出了示出用于数据交换的示例计算设备的框图。如以上关于图1所描述的,系统100可以包括客户端设备102。客户端设备102可以执行诸如网络浏览器的应用208,以从远程服务器104接收内容。中间服务器108还可以将内容从内容服务器110提供到客户端设备102。

如上所述,客户端设备102可以被称为客户端、设备、客户端设备、计算设备、用户设备或任何其他这样的术语。客户端设备102可以包括台式计算机、膝上型计算机、平板计算机、智能电话、视频游戏机、智能电视或机顶盒、服务器、工作站或能够通过网络106通信的任何其他类型和形式的计算设备或可以是其组成部分。在一些实现方式中,客户端设备102可以执行用于通过网络106通信的应用208。应用208可以是用于通过网络106通信的服务、服务器、守护程序、例程或其他可执行逻辑。应用208可以是网络浏览器、邮件客户端、视频播放器、音乐播放器、视频游戏或任何其他此类应用。这样的应用可以包括命令行界面、图形用户界面或这些或其他界面的任意组合。应用208可以包括转换引擎212的实例。

客户端设备102可以包括一个或多个处理器200、网络接口202和I/O接口204。客户端设备102可以包括存储器206。存储器206可以存储机器指令,当由处理器200执行时,机器指令使处理器200执行本文所述的一个或多个操作。处理器200可以包括微处理器、ASIC、FPGA等或其组合。处理器200可以是多核处理器或处理器阵列。存储器206可以包括但不限于电子、光学、磁性或能够向处理器200提供程序指令的任何其他存储设备。存储器206可以包括软盘、CD-ROM、DVD、磁盘、存储器芯片、ROM、RAM、EEPROM、EPROM、闪存、光学介质或处理器200可以从中读取指令的任何其他合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码,诸如但不限于C、C++、C#、Java、JavaScript、Perl、HTML、XML、Python和Visual Basic。

客户端设备102可以包括一个或多个网络接口202。网络接口202可以包括用于与网络106通信的任何类型和形式的接口,包括以太网(包括10Base T、100Base T或1000BaseT(“千兆比特”));802.11无线的任何种类(诸如802.11a、802.11b、802.11g、802.11n或802.11ac);蜂窝(包括CDMA、LTE、3G或4G蜂窝);蓝牙或其他短距离无线连接;或这些或其他接口的任何组合。客户端设备102可以包括多个不同类型的网络接口202,允许通过不同的子网连接到各种网络106或网络106(诸如互联网)。

客户端设备102可以包括一个或多个I/O接口204。I/O接口204可以基于硬件或基于软件。I/O接口204可以是通过生成感官信息(例如,显示器上的可视化、一个或多个声音、触觉反馈等)而将数据传达给用户和/或将从用户接收的感官信息转换为电子信号的任何电子设备(例如键盘、鼠标、定点设备、触摸屏显示器、麦克风等)。根据各种实现方式,一个或多个用户界面设备可以在客户端设备102的壳体内部,诸如内置显示器、触摸屏、麦克风等,或者在客户端设备102的壳体外部,诸如连接到客户端设备102的监视器、连接到客户端设备102的扬声器等。

客户端设备102可以将数据和处理器可执行指令存储在存储器206中。例如,客户端设备102可以将应用208作为处理器可执行指令存储在存储器206中。应用208可以是用于经由客户端设备的I/O接口204(例如,显示器,扬声器等)接收内容并显示或以其他方式输出内容的应用、小程序、脚本、服务、守护进程、例程或其他可执行逻辑。例如,应用208可以是网络浏览器,其接收并渲染登录页面218或其他网页或内容。应用208可以包括用于显示经由网络接口202接收的和/或由处理器200本地生成的内容的功能。

客户端设备102可以包括设备ID 210。客户端设备102可以使用设备ID210向中间服务器108、内容服务器110或远程服务器104标识自己。设备ID210可以是字母数字字符串、数据字符串、序列号、媒体访问控制(MAC)地址、互联网协议(IP)地址、用户名或账户名、全局唯一标识符(GUID),cookie、随机或伪随机数或任何其他类型和形式的标识符,包括这些或其他标识符的组合。例如,设备ID 210可以是客户端设备的用户代理者的散列或MAC地址。设备ID 210可以固定到客户端设备102。例如,设备ID 210可以由制造商在设备中预先配置。例如,设备ID 210可以是制造商序列号或MAC地址。设备ID 210可以由客户端设备102、远程服务器104、中间服务器108或内容服务器110动态地设置。设备ID 210可以是静态的。可以在预定接口处更新设备ID 210。例如,可以为与中间服务器108的每次通信设置唯一的或新的设备ID 210。可以周期性地(例如,每小时、每天、每周等)或以其他间隔(例如,在客户端设备重新启动,登录到互联网服务时等)改变或更新设备ID 210。设备ID 210可以与一个或多个其他设备标识符210(例如,移动设备的设备标识符、家用计算机的设备标识符等)相关联。

客户端设备102可以包括转换引擎212。转换引擎212可以是用于向客户端设备102注册内容项的应用、小程序、脚本、服务、守护程序、例程或其他可执行逻辑。转换引擎212可以是应用208的组件或可以与应用208分离。例如,转换引擎212可以是可以与特定应用208分离的脚本,并且可以从多个应用208(例如,客户端设备网络浏览器和电子邮件客户端)接收API调用。如关于图3和图4进一步描述的,转换引擎212可以提供内容项与应用208交互的接口。例如,转换引擎212可以是应用208的模块、子例程或附加组件。例如,转换引擎212可以提供使内容项能够向应用208注册的API或其他钩。例如,内容项可以包括处理器可执行指令,该处理器可执行指令在由应用208(经由处理器200)执行时调用API。调用可以是向应用208注册内容项。调用可以包括有效载荷。有效载荷可以包括活动ID、登录页面URL和报告URL。当向应用208注册时,转换引擎212可以将有效载荷的内容存储在注册表214中。例如,注册表214可以是可以包括对向应用208注册的每个内容项的条目的表。表中的每个条目可以存储例如活动ID、登录页面URL、报告URL和时间戳。时间戳可以指示条目被保存到注册表214的时间。在一些实现方式中,有效载荷的内容可以在注册表214中被索引到登录页面URL。

存储器206可以包括聚合表216。如关于图3和图4进一步所述,转换引擎212可以包括一个或多个报告策略。报告策略可以指示报告消息是否应作为单个消息(例如,在生成时或为了保护用户隐私而有时间延迟)或批量发送到报告URL。当在报告策略中设置了批量报告标志时,转换引擎212可以批量发送报告消息。响应于生成报告消息,当批量传输是活动的时,转换引擎212可以将报告消息保存到聚合表216中,直到满足批量传输要求为止。例如,报告策略可以指示应当周期性地(例如,每12小时)发送批量传输。转换引擎212可以将生成的报告消息保存到聚合表216中,直到触发了传输时间(例如,在以上示例中为00:00小时或12:00小时)。然后,转换引擎212可以从聚合表216读取报告消息,并将报告消息发送到相应的报告URL。转换引擎212可以从聚合表216中清除或以其他方式删除报告的报告消息。在一些实现方式中,可以登录页面(例如,远程服务器104)生成报告策略。例如,远程服务器104可以指定哪个报告URL或哪些报告URL可以接收报告消息或转换事件的其他指示。

同样如图2中所示,系统100可以包括中间服务器108。与客户端设备102一样,中间服务器108可以包括一个或多个处理器200、存储器206、网络接口202和I/O接口204。中间服务器108可以经由网络106与客户端设备102、内容服务器110或远程服务器104通信。中间服务器108的存储器206可以存储由中间服务器108的处理器200执行的一个或多个应用。例如,中间服务器108可以包括使中间服务器108能够用作FTP服务器、网络服务器、邮件服务器、文件共享服务器、对等服务器的应用,或者用于传送内容或重定向命令以允许客户端访问内容服务器110处的内容的其他此类应用。

中间服务器108可以包括内容提供商选择器220。内容提供商选择器220可以包括应用、服务器、服务、守护程序、例程或其他可执行逻辑。内容提供商选择器220可以被配置为从内容服务器110的列表中选择内容服务器110。例如,内容提供商选择器220可以使用轮询或其他负载平衡系统或经由基于拍卖的系统从内容服务器110的列表中选择内容服务器110。内容提供商选择器220可以被配置为向内容服务器110发送请求并从内容服务器110接收响应,诸如对向客户端设备102提供内容的机会的投标。内容服务器110可以被配置为生成可以包括选择的内容服务器110的标识符(诸如域或地址)的对客户端设备102的请求的响应,使得客户端设备102可以生成或检索设备ID 210并将设备ID 210提供给中间服务器108或内容服务器110以用于选择内容项。

同样如图2中所示,系统100可以包括多个内容服务器110。每个内容服务器110可以包括一个或多个计算设备,所述一个或多个计算设备连接到网络106并且被配置为直接或者经由中间服务器108向客户端设备102提供内容项(例如,内容222)。可以将内容服务器110提供的内容222称为辅助内容,因为可以将内容222渲染为例如由远程服务器104提供的主要内容的内容时隙。在一些实现方式中,内容222可以是主要内容或可以包括主要内容。内容服务器110可以被不同地称为内容提供商、服务器、网络服务器、数据服务器、发布者、服务提供商或其他类似术语。内容服务器110可以包括被配置为服务器场或云的多个计算设备,并且可以包括路由器、负载平衡器、网络地址转换器、防火墙或其他这样的设备。内容服务器110可以是计算机服务器(例如,FTP服务器、文件共享服务器、网络服务器等)或服务器的组合(例如,数据中心、云计算平台等)。内容服务器110可以提供任何类型和形式的内容,包括文本、图像、视频、音频、多媒体或其他数据或者这些的任意组合。内容222可以包括实况媒体内容、预先记录的媒体内容、渲染的内容、电影、电视节目、播客、视频博客、视频游戏或其他交互式内容、任何格式的广告、社交媒体或任何其他类型和形式的内容。

内容服务器110可以包括一个或多个处理器200、网络接口202、I/O接口204和/或存储器206。内容服务器110可以包括内容选择器224。内容选择器224可以包括用于选择要传送到客户端设备102的内容222的应用、服务、服务器、守护程序、例程或其他可执行逻辑。内容选择器224可以基于标识符数据库中存储的关于客户端设备102的信息来选择要传送到客户端设备102的内容222。例如,数据库可以包括关于设备能力的信息(例如,屏幕分辨率或取向、颜色深度、带宽等)或用于选择定制内容的任何其他此类信息。信息可以通过设备ID在数据库中索引。内容选择器224可以基于从客户端设备102接收的设备ID 210从数据库中选择信息。响应于选择内容222,内容选择器224可以将内容222推送、流传输或以其他方式传输到客户端设备102。内容222可以是任何类型和形式的数据,包括音频、视频、动画、文本、多媒体、静止或动画图形、可执行脚本或任何其他类型和形式的内容。内容222的每一项可以与标签、标识符、URL或处理器可执行指令相关联。例如,每个内容222可以包括处理器可执行指令,使得当应用208渲染并显示内容222时,对渲染的内容222的选择(例如,点击)可以将应用208重定向到内容222识别的URL。例如,内容222可以包括将内容222识别为包含到第二网页的网页链接(例如,URL)的HTML标签。URL可以是由远程服务器104托管的登录页面218的URL。内容222可以包括或以其他方式包含报告URL和活动ID。活动ID可以向内容服务器110识别内容222的类别、组、主题、类型或其他特性。报告URL可以是当客户端设备102的应用208渲染内容222时被发送回显信息(ping)的网络服务器的URL。报告URL可以是中间服务器108、内容服务器110或其他联网服务器的URL。

同样如图2中所示,系统100可以包括一个或多个远程服务器104。远程服务器104可以包括一个或多个处理器200、网络接口202和/或I/O接口204。远程服务器104的存储器206可以存储由远程服务器104的处理器200执行的一个或多个应用。例如,远程服务器104可以包括使远程服务器104能够用作FTP服务器、网络服务器、邮件服务器、文件共享服务器、对等服务器的应用或用于将内容传送到客户端设备102的其他此类应用。例如,远程服务器104可以包括一个或多个存储在存储器206中的登录页面218。登录页面218可以是网页或其他类型的内容,诸如但不限于音频、视频、动画、文本、多媒体、静止或动画图形、可执行脚本或任何其他类型和形式的内容。每个登录页面218可以由URL识别。为了检索或访问登录页面218,可以将URL输入到客户端设备102的应用208中。客户端设备102可以向远程服务器104生成对位于URL的登录页面218(或其他形式的内容)的请求。登录页面218可以用作内容222的重定向目标。例如,当内容222由网络浏览器渲染时,内容222可以包括到登录页面218的超链接,使得在用户激活(例如,点击或选择)内容222时,应用208可以重定向到登录页面218。在一些实现方式中,客户端设备102的用户可以本地导航到登录页面218。例如,用户可以将登录页面的URL输入网络浏览器的导航栏中,或通过在线搜索找到登录页面218,而不是通过激活渲染的内容222重定向到登录页面218。

图3示出在网络和设备环境中授权数据交换的流程图300。还参照图1和图2,在步骤302,客户端设备102可以从第一远程服务器104(1)获取内容。例如,远程服务器104(1)可以托管一个或多个网站或其他主要内容。用户可以输入或选择指向由远程服务器104(1)托管的网站的URL。客户端设备102上的应用208(例如,网络浏览器)可以生成对由URL识别的内容(例如,网站)的请求。客户端设备102可以通过任何合适的协议,诸如通过HTTPs请求或RESTful请求,将请求发送到远程服务器104(1)。请求可以包括设备标识符、账户标识符、用户标识符、会话标识符或其他这样的标识符,或者由远程服务器104(1)生成并存储在客户端设备上的cookie。例如,远程服务器104(1)可能先前已经向客户端设备102提供了cookie(例如,在认证过程或其他此类事件期间),并且客户端设备102此后可以在请求中提供相同的cookie。

在步骤304,远程服务器104(1)可以返回内容。内容可以是网页或在请求内包含的URL中识别的其他类型的内容。返回的内容可以包括一个或多个内容时隙。内容时隙可以经由中间服务器108由来自内容服务器110的内容222填充。内容时隙可以包括处理器可执行指令,所述处理器可执行指令可以响应于应用208至少部分地渲染(或以其他方式执行)来自远程服务器104(1)的内容使应用208向中间服务器108或内容服务器110生成对填充内容时隙的内容的请求。

在步骤306,客户端设备102可以渲染来自远程服务器104(1)的内容。如上所述,在一个示例中,内容可以是由远程服务器104(1)托管的网页。内容可以包括处理器可执行指令,所述处理器可执行指令可以使应用208从诸如中间服务器108的附加网络资源请求附加内容。例如,网页可以包括辅助内容时隙,所述辅助内容时隙包括用于从中间服务器108请求内容的处理器可执行指令。

在步骤308,客户端设备102可以从中间服务器108获取内容。渲染辅助内容时隙可以使应用208向中间服务器108生成对填充(例如,渲染)辅助内容时隙的内容的请求。客户端设备102可以通过任何合适的协议,诸如通过HTTPs请求或RESTful请求,将请求发送到远程服务器104(1)。请求可以包括设备标识符、账户标识符、用户标识符、会话标识符或其他此类标识符,或者由客户端设备生成或提供的cookie。例如,远程服务器104(1)可能先前已经向客户端设备102提供cookie(例如,在认证过程或其他此类事件期间),并且客户端设备102此后可以在请求中提供相同的cookie。

在步骤310,中间服务器108可以将内容返回给客户端设备102。在一些实现方式中,中间服务器108可以在步骤308将对内容的请求转发到内容服务器110。中间服务器108可以选择内容服务器110,以从内容服务器110的列表中提供内容。例如,中间服务器108可以使用轮询或其他负载平衡系统或经由基于拍卖的系统从内容服务器110的列表中选择内容服务器110。内容服务器110可以选择内容项以响应于请求而返回,并且可以将内容项直接发送到客户端设备102或经由中间服务器108发送到客户端设备102。例如,在步骤310,内容服务器110可以将内容项发送到中间服务器108,中间服务器108可以将内容项发送到客户端设备102。

在步骤312,客户端设备102可以渲染内容。客户端设备102可以将内容渲染为在步骤304返回的内容的渲染的一部分。例如,可以将在步骤310处返回的内容渲染到引起对内容的请求的生成的内容时隙中。在步骤314,可以向客户端设备102注册内容项。渲染内容项(在步骤312)可以向客户端设备102注册内容项。例如,内容项可以包括有效载荷(例如,非可见数据)和处理器可执行指令。有效载荷可以包括例如登录页面的URL、一个或多个标识符以及报告URL。内容项还可以包括处理器可执行指令,可以向应用208注册内容项。例如,内容项可以包括对通过客户端设备102上的转换引擎212暴露给内容项的JavaScipt API的调用。在另一示例中,内容项可以包括标签,该标签可以包括一个或多个属性或处理器可执行指令。对API的调用可以包括内容项的有效载荷。例如,对API的调用可以包括登录页面的URL、一个或多个标识符以及报告URL。转换引擎212可以将来自API调用的数据存储到注册表214中。步骤302-314可以重复多次。例如,从远程服务器104(1)提供给客户端设备102的内容可以包括多个内容时隙,从中间服务器108为其返回多个内容项。在一些实现方式中,每个内容项可以通过转换引擎212注册在注册表214中。对于多个不同的第一远程服务器104(1),可以将步骤302-314重复多次。例如,用户可以导航到每个可以包括内容时隙的多个不同网页。当客户端设备102导航到网页时,返回以填充每个不同网页的内容时隙的内容项可以注册在注册表214中。

在步骤316,客户端设备102可以从第二远程服务器104(2)获取内容。在一个或多个内容项注册在注册表214中之后,可以发生在步骤316的对内容的请求。与第一远程服务器104(2)类似,第二远程服务器104(2)可以托管一个或多个网页。在一些实现方式中,一个或多个网页可以是在注册表214中注册的内容项之一的登录页面。当内容项包括将网络浏览器指向网页的URL时,网页可以是内容项的登录页面。在步骤316,客户端设备102可以通过任何合适的协议,诸如通过HTTPs请求或RESTful请求,将请求发送到远程服务器104(2)。

在步骤318,远程服务器104(2)可以返回请求的内容。远程服务器104(2)可以经由HTTP、HTTPS或其他协议将内容发送到客户端设备102。响应于从远程服务器104(2)接收到内容,客户端设备102可以经由网络浏览器渲染例如内容。渲染内容可以将内容显示给网络浏览器的用户。

在步骤320,转换引擎212可以将URL与注册表214中的URL进行匹配。响应于渲染从远程服务器104(2)返回的内容,转换引擎212可以确定返回内容的URL是否注册在注册表214中。在一些实现方式中,注册表214中的数据可以通过URL索引。在这些示例中,转换引擎212可以使用从远程服务器104(2)返回的内容的URL作为关键字(key)。转换引擎212可以确定是否有任何数据(例如,内容项标识符或报告URL)与注册表214中的URL相关联。

如果在步骤320转换引擎212找到匹配,则在步骤322,转换引擎212可以发送报告消息。转换引擎212可以将报告消息发送到在注册表214中索引到匹配URL的报告URL。在一些实现方式中,报告URL可以是用于中间服务器108或与中间服务器108相关联的URL(如图3中所示)。在一些实现方式中,报告URL可以用于接收报告消息并将其转发到最终目的地的代理设备,诸如中间服务器108。代理可以处理报告消息以从报告消息中去除可识别数据。例如,代理可以从报告消息中去除报告消息的原始IP地址。在一些实现方式中,报告URL可以是与远程服务器104相关联的URL。报告消息可以是对报告URL的自动引用通知(pingback)消息。服务器在报告URL处接收到报告消息可以向服务器指示客户端设备渲染并显示了内容项,并且该客户端设备随后独立地导航到了内容项的登录页面。

图4示出在网络和设备环境中授权数据交换的示例方法400。方法400可以指示在方法400中由客户端设备102、远程服务器104和中间服务器108执行的步骤。还参照图1和图2,在步骤402,客户端设备102可以向中间服务器108请求内容。客户端设备102可以响应于渲染例如网页的内容时隙而向中间服务器108生成对内容的请求。例如,网页的内容时隙可以包括处理器可执行指令,所述处理器可执行指令可以使网络浏览器向中间服务器108生成请求。客户端设备102可以通过任何合适的协议,诸如通过HTTPs请求或RESTful请求,将请求传输到远程服务器104(1)。请求可以包括设备标识符、账户标识符、用户标识符、会话标识符或其他这样的标识符,或者由客户端设备102生成或提供给客户端设备102的cookie。例如,远程服务器104(1)可能先前已经提供cookie给客户端设备102(例如,在认证过程或其他此类事件期间),客户端设备102此后可以在请求中提供相同的cookie。

在步骤404,响应于请求,中间服务器108可以选择内容。在一些实现方式中,中间服务器108可以选择内容服务器110,该内容服务器110可以选择或提供内容。例如,中间服务器108可以使用轮询或其他负载平衡系统或经由基于拍卖的系统从内容服务器110的列表中选择内容服务器110。内容服务器110可以响应于请求选择内容项返回,并且可以将内容项直接发送到客户端设备102或经由中间服务器108发送到客户端设备102。例如,内容服务器110可以将内容项发送到中间服务器108,中间服务器108可以将内容项发送到客户端设备102。在步骤406,中间服务器108可以将内容发送到客户端设备102,作为对在步骤402的请求的响应。

在步骤408,可以向客户端设备102注册内容项。内容可以包括有效载荷(例如,非可见数据)和处理器可执行指令。在内容的渲染期间处理器可执行指令的执行可以生成对由转换引擎212提供的API的调用。通过API调用,内容项可以将有效载荷传递给转换引擎212以向客户端设备102注册内容项。有效载荷可以包括例如登录页面的URL、活动ID、一个或多个标识符以及报告URL。活动ID可以向中间服务器108或内容服务器110识别内容项。来自相同第三方的相同类型的或以其他方式相关的内容项可以包括相同活动ID。

在一些实现方式中,转换引擎212可以包括一个或多个注册策略。转换引擎212可以在向客户端设备102注册内容之前确定是否满足注册策略。注册策略可以由客户端设备102的用户设置或控制。例如,用户可以生成白名单或黑名单,指示转换引擎212可以注册哪些内容(或其类型)。白名单和黑名单可以通过URL指示内容的提供者(例如,中间服务器108、远程服务器104或内容服务器110)。白名单和黑名单可以指示可以注册的内容类型。例如,用户可以将视频内容列入黑名单,使得没有视频内容(与提供者无关)可以向转换引擎212注册。注册策略可以包括在可以注册内容之前必须满足的一个或多个要求。例如,在一些实现方式中,如果内容被显示给用户预定时间长度,则转换引擎212可以仅注册内容。转换引擎212可以生成或执行定时器脚本,该定时器脚本在内容项被呈现并显示给用户时激活(例如,启动)。当包含内容项的窗口关闭,用户导航到不同网页或内容以其它方式不再对用户可用或显示时,转换引擎212可以结束。用户可以设置时间阈值(例如,10秒、30秒、1分钟)。如果显示内容的时间长度超过时间阈值,则转换引擎212可以仅注册内容项。注册策略可以设置注册的显示频率。显示频率可以是在可以向转换引擎212注册内容项之前必须显示内容项的每个时间窗口的次数。时间窗口可以是1天、1周、1个月或3个月。例如,注册策略可以指示在可以注册内容项之前内容项需要被显示一个月至少两次。在这些实现方式中,转换引擎212可以将内容项作为候选内容项注册到注册表214中。转换引擎212可以从注册表214中周期地清除(例如,删除)不满足预定阈值内的显示频率的候选内容项。例如,转换引擎212可以每小时、每天、每周或每月清除候选内容项,并清除显示频率低于注册策略指示的显示频率的候选内容项。注册表214中的内容项可能无法与传入的URL匹配,直到内容项显示高于显示频率的多次,并且转换引擎212从注册表214中的内容项条目中删除候选标签。在一些实现方式中,用户可以选择清除、重置或以其他方式删除注册表214。例如,转换引擎212可以自动删除注册表214中早于一天、一周、一个月或3个月的条目。在一些实现方式中,用户可以停用转换引擎212,使得不能将内容项输入到注册表214中。

注册策略可以包括可见性要求。在一些实现方式中,当渲染时,来自中间服务器108的内容可能不可视地呈现给用户。例如,内容可以仅包括使客户端设备102生成对第三方的请求的处理器可执行指令,并且内容可以不包括被渲染并显示给用户的文本、图像、音频或其他数据。在另一示例中,内容可以渲染为相对较小的尺寸,或者在显示时以其他方式对用户隐藏。例如,内容可以仅渲染为单个像素。注册策略的可见性要求可以指示内容在渲染时对于要注册的内容的内容的要求大小。例如,可见性要求可以指示渲染的内容必须是至少5像素x 5像素,以使转换引擎212授权内容的注册。在此示例中,如果渲染的内容小于5像素x 5像素,则转换引擎212可以确定不注册内容项。

在步骤410,客户端设备102可以生成对内容的请求。在该示例中,一旦用一个或多个条目填充注册表214,就可以发生步骤410。远程服务器104可以托管一个或多个网页。在一些实现方式中,一个或多个网页可以是在注册表214中注册的内容项之一的登录页面。当内容项包括将网络浏览器指向网页的URL时,网页可以是内容项的登录页面。客户端设备102可以通过任何合适的协议,诸如通过HTTPs请求或RESTful请求,将请求发送到远程服务器104。在步骤412,远程服务器104可以选择在请求中识别的内容。例如,请求可以包括URL,并且远程服务器104可以获取位于该URL的网页。在步骤414,远程服务器104可以将内容发送到客户端设备102。

在步骤416,客户端设备102可以渲染来自远程服务器104的内容。来自远程服务器104的内容可以是网页。在一些实现方式中,当应用208(例如,网络浏览器)开始渲染来自远程服务器104的网页时,转换引擎212可以执行JavaScript(或其他处理器可执行)定时器。转换引擎212可以运行定时器,直到客户端设备102的网络浏览器导航到另一网页或关闭显示网页的窗口。网页可以与URL相关联。转换引擎212可以确定或从网络浏览器接收URL。例如,转换引擎212可以对网络浏览器最前面的窗口或活动窗口的位置栏中的URL调用网络浏览器。

在步骤418,转换引擎212可以确定内容是否被注册。例如,转换引擎212可以确定从远程服务器104返回的网页是被注册在注册表214中还是与注册表214的条目相关联。例如,如上所述,转换引擎212可以将内容项注册到注册表214中。内容项可以包括作为注册表214中的条目包括的有效载荷。注册表214中的内容项的条目可以包括登录页面URL、一个或多个标识符或其他数据。可以通过登录页面URL索引注册表214。在步骤412和414,转换引擎212可以在注册表214中搜索由远程服务器104提供的网页的URL。转换引擎212通过使用URL作为注册表214的输入关键字执行对注册表214的查找或搜索,确定网页的URL是否与保存到注册表214的登录页面URL之一匹配。如果转换引擎212在注册表214中找到网页的URL,则客户端设备102先前从中间服务器108或内容服务器110接收到指示网页(在步骤412和414来自远程服务器104)是内容项的登录页面的内容项。如果转换引擎212未找到与URL的匹配,则网页不用作先前接收的内容项的登录页面,并且方法400可以在步骤420处结束。如果内容被注册,则方法400可以继续到步骤422。

在步骤422,转换引擎212可以确定报告是否被授权。转换引擎212可以参考报告策略以确定报告是否被授权。报告策略可以包括关于是否可以报告内容的渲染的规则。例如,报告策略可以包括显示时间要求。显示时间要求可以是秒、分钟或小时的时间长度。显示时间要求可以由用户或中间服务器108设置。显示时间要求可以指示在转换引擎212将生成内容的报告消息之前在步骤416渲染远程服务器的内容之后必须显示远程服务器的内容的时间长度。例如,如上所述,当内容渲染给用户时,转换引擎212可以设置定时器。响应于包含内容的窗口的关闭,转换引擎212可以将定时器确定的时间与显示时间要求进行比较。如果显示时间小于显示时间要求,则转换引擎212可以确定报告未被授权。如果显示时间大于显示时间要求,则转换引擎212可以确定报告被授权。报告策略可以包括类似于注册策略的白名单和黑名单的白名单和黑名单。客户端设备102或中间服务器108的用户可以创建对于其报告被授权(白名单)或对于其报告未被授权的报告(黑名单)远程服务器104的列表。如果在步骤422,转换引擎212确定报告未被授权,则方法400可以在步骤420处结束。如果在步骤422,转换引擎212确定报告被授权,则方法400可以继续到步骤424。

在步骤426,转换引擎212可以生成报告消息。如上所述,在步骤418,转换引擎212可以确定内容被注册在注册表214中。转换引擎212可以例如通过使用内容的URL作为在注册表214中执行查找的关键字从注册表214中检索与内容相关联的条目。内容的条目可以包括上述有效载荷,所述上述有效载荷可以包含一个或多个标识符(例如,活动ID)和一个或多个URL(例如,报告URL)。报告消息可以是自动引用通知响应。自动引用通知响应可以是XML远程过程调用。响应可以通过HTTP或HTTPS发送到目的地,并且响应的有效载荷可以用XML编码。报告消息的目的地可以是从注册表214中检索的报告URL。响应有效载荷可以包括一个或多个标识符。标识符可以是或可以包括设备ID 210、活动ID或其组合。例如,转换引擎212可以将设备ID 210的最高有效位与活动ID级联。响应有效载荷的一部分或全部可以被加密或散列。例如,转换引擎212可以通过散列来自浏览器、应用、设备或会话特定的标识符、设备类型或序列号、时钟偏斜时间、硬件标识符或任何其他此类数据的输入来生成响应的一部分。在一些实现方式中,报告策略可以为响应有效载荷的内容设置大小限制(例如,以位或字符为单位)。例如,报告策略可以指示报告消息有效载荷限制在活动ID的大小和内容。在该示例中,响应有效载荷可以包括关于所观看的内容的信息,但是不包括关于渲染或以其他方式接收内容的客户端设备102的信息。

在步骤426,转换引擎212可以确定是否应该保存报告消息用于批量传输。报告策略可以包括批量传输标志或位。当设置时,转换引擎212可以保持(hold)报告消息用于批量传输。如果在步骤426,转换引擎212确定设置了批量传输标志,则方法400可以在步骤428进入保持阶段。在步骤428,转换引擎212可以将报告消息写入或保存到聚合表216中。转换引擎212可以使用时间戳将报告消息保存到聚合表216,其中时间戳指示何时生成报告消息或将报告消息保存到聚合表216。在一些实现方式中,报告策略可以包括批量要求。当转换引擎212确定已经满足批量要求时,转换引擎212可以将存储在聚合表216中的报告消息发送到它们相应的目的地,如它们相应的报告URL所指示的。批量要求可以基于数量或基于时间。基于数量的批量要求可以设置批量传输中所需的报告消息的数量。例如,当将10、50或100个报告消息被批量处理(例如保存)到聚合表216时,转换引擎212可以发送报告消息。基于时间的批量要求可以设置间隔(例如,小时、天、周或月),以该间隔发送保存到聚合表216的报告消息。

在步骤430,转换引擎212可以发送响应作为批量处理的一部分。例如,在步骤430,转换引擎212可以确定满足批量要求,并且转换引擎212可以从聚合表216中检索每个报告消息。转换引擎212可以将每个报告消息发送到它们相应的目的地。如果在步骤426,转换引擎212确定未设置批量传输标志,则方法400可以进行到步骤434,并且转换引擎212可以发送报告消息。

在步骤432和436,中间服务器108可以记录响应。尽管在图4中示出报告消息被发送到中间服务器108时,但是报告消息可以被发送到任何服务器(例如,远程服务器104、内容服务器110或代理服务器)。类似地,转换引擎212可以在批量传输中(在步骤430)将每个报告消息发送到不同的目的地。例如,转换引擎212可以将报告消息的第一部分发送到第一中间服务器108,将报告消息的第二部分发送到第二中间服务器108,并且将报告消息的第三部分发送到远程服务器104。中间服务器108,或更一般地,报告消息的接收者可以记录报告消息被接收到了。中间服务器108可以将对报告消息的指示保存到对话表。中间服务器108可以将报告消息的内容保存到转换表中。例如,中间服务器108可以将报告消息的活动ID保存到转换表。周期性地,中间服务器108可以分析转换表以确定例如查看来自给定内容服务器110的内容项的频率,然后客户端设备随后独立地导航到内容项的登录页面。

因此,根据本公开的至少一个方面,一种在联网环境中授权数据传输的方法可以包括:由客户端设备执行的网络浏览器从网络浏览器显示的内容项接收注册请求。注册请求可以包括第一URL和第二URL。所述方法可以包括:由客户端设备执行的网络浏览器将第一URL、第二URL和时间戳存储到客户端设备处存储的注册表。所述方法可以包括:由客户端设备执行的网络浏览器识别由网络浏览器显示的网页的第三URL。所述方法可以包括:由客户端设备执行的网络浏览器确定第三URL与存储在注册表中的第一URL匹配,并且网页的显示时间在时间戳的预定持续时间内。所述方法可以包括:由客户端设备执行的网络浏览器将响应发送到第二URL。

在一些实现方式中,所述方法可以包括由网络浏览器生成对第二URL的响应。所述方法可以包括由网络浏览器将对第二URL的响应存储在聚合表中。所述方法可以包括由网络浏览器确定满足批量要求。所述方法可以包括由网络浏览器将响应作为包括多个响应的批量传输发送到第二URL。

在一些实现方式中,所述方法可以包括由网络浏览器确定由网络浏览器显示网页的持续时间。所述方法可以包括:响应于网络浏览器显示网页的持续时间高于预定阈值,由网络浏览器将响应发送到第二URL。

在一些实现方式中,所述方法可以包括由网络浏览器确定由网络浏览器显示内容项的持续时间。所述方法可以包括:响应于网络浏览器显示内容项的持续时间高于预定阈值,由网络浏览器存储第一URL、第二URL和时间戳。

在一些实现方式中,所述方法可以包括:由客户端设备执行的网络浏览器确定第一URL和第二URL在网络浏览器处存储的时间少于预定时间长度。所述方法可以包括在预定时间长度之后,由网络浏览器从存储在客户端设备处的转换表中删除第一URL和第二URL。注册请求包括具有数据有效载荷的应用编程接口(API)调用。所述方法可以包括在响应中将数据有效载荷的至少一部分发送到第二URL。所述方法可以包括为对第二URL的响应设置有效载荷限制。所述方法可以包括经由代理服务器将响应发送到第二URL。

根据本公开的至少一方面,一种在联网环境中授权数据传输的系统可以包括由客户端设备执行的网络浏览器。网络浏览器可以执行转换引擎以从网络浏览器显示的内容项接收注册请求。注册请求可以包括第一URL和第二URL。转换引擎可以将第一URL、第二URL和时间戳存储到存储在客户端设备处的注册表。转换引擎可以识别由网络浏览器显示的网页的第三URL。转换引擎可以确定第三URL与存储在注册表中的第一URL匹配,并且网页的显示时间在时间戳的预定持续时间内。转换引擎可以将响应发送到第二URL。

在一些实现方式中,网络浏览器可以生成对第二URL的响应。网络浏览器可以将对第二URL的响应存储在聚合表中。网络浏览器可以确定满足批量要求,并且将响应作为包括多个响应的批量传输发送到第二URL。

在一些实现方式中,网络浏览器可以确定网络浏览器显示网页的持续时间。网络浏览器可以响应于网络浏览器显示网页的时间高于预定阈值的持续时间,将响应发送到第二URL。

在一些实现方式中,网络浏览器可以确定网络浏览器显示内容项的持续时间。网络浏览器可以响应于网络浏览器显示内容项的持续时间高于预定阈值存储第一URL、第二URL和时间戳。

网络浏览器可以确定第一URL和第二URL在网络浏览器处存储的时间少于预定时间长度。在预定时间长度之后,网络浏览器可以从存储在客户端设备处的转换表中删除第一URL和第二URL。注册请求包括具有数据有效载荷的应用编程接口(API)调用。

在一些实现方式中,网络浏览器可以在响应中将数据有效载荷的至少一部分发送到第二URL。网络浏览器可以设置对第二URL的响应的有效载荷限制。网络浏览器可以经由代理服务器将响应发送到第二URL。在一些实现方式中,代理服务器可以向第三方服务器隐藏客户端设备的IP地址,使得无法跟踪客户端设备的IP地址。代理还可以聚合来自多个客户端设备的报告消息,以生成批量报告并保护个人用户隐私。

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

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

术语“客户端”或“服务器”包括用于处理数据的所有种类的装置、设备和机器,诸如可编程处理器、计算机、片上系统或前述的多个或组合。装置可以包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中一个或多个的组合的代码。装置和执行环境可以实现各种不同的计算模型架构,诸如网络服务、分布式计算和网格计算架构。

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

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

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

为了提供与用户的交互,本说明书中描述的主题的实现方式可以在具有用于将信息显示给用户的显示设备(例如,CRT(阴极射线管)、LCD(液晶显示器)、OLED(有机发光二极管)、TFT(薄膜晶体管)、等离子、其他柔性配置或任何其他监视器)以及键盘、定点设备(例如鼠标、轨迹球等)或触摸屏、触摸板等(用户可以通过它们向计算机提供输入)的计算机上实现。其他种类的设备也可以用于提供与用户的交互,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档或从用户使用的设备接收文档来与用户进行交互;例如,通过响应从网络浏览器接收的请求,将网页发送到用户客户端设备上的网络浏览器。

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

对于此处讨论的系统收集关于用户的个人信息或可以使用个人信息的情形,可以为用户提供控制是否可以收集个人信息(例如,关于用户社交网络、社交动作或活动、用户的偏好或用户的位置的信息)的程序或特征或控制是否或如何从内容服务器或可能与用户更相关的其他数据处理系统接收内容的机会。另外,特定数据可以在其被存储或使用之前以一种或多种方式匿名处理,使得在生成参数时删除个人可识别信息。例如,可以对用户的身份进行匿名处理,使得无法为该用户确定任何个人可识别信息,或者可以在获得位置信息的情况下将用户的地理位置概括化(例如,概括化到城市、邮政编码或州级别),使得无法确定用户的特定位置。因此,用户可以控制如何收集关于他或她的信息以及如何由内容服务器使用。

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

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

因此,已经描述了主题的特定实施例。其他实现方式在所附权利要求的范围内。在一些情况下,权利要求中记载的动作可以以不同的顺序执行但仍然实现期望的结果。另外,附图中描绘的处理不一定需要所示的特定顺序或连续顺序来实现期望的结果。在特定实现方式中,可以利用多任务和并行处理。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号