CN113454967B - 交互跟踪控制方法、系统、和非暂时性计算机可读介质 - Google Patents

交互跟踪控制方法、系统、和非暂时性计算机可读介质 Download PDF

Info

Publication number
CN113454967B
CN113454967B CN202080002568.0A CN202080002568A CN113454967B CN 113454967 B CN113454967 B CN 113454967B CN 202080002568 A CN202080002568 A CN 202080002568A CN 113454967 B CN113454967 B CN 113454967B
Authority
CN
China
Prior art keywords
domains
browser
external
domain
contribution
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
CN202080002568.0A
Other languages
English (en)
Other versions
CN113454967A (zh
Inventor
G.王
N.J.科鲁拉
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
Publication of CN113454967A publication Critical patent/CN113454967A/zh
Application granted granted Critical
Publication of CN113454967B publication Critical patent/CN113454967B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/64On-line charging system [OCS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/44Augmented, consolidated or itemized billing statement or bill presentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/47Fraud detection or prevention means
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4668Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4784Supplemental services, e.g. displaying phone caller identification, shopping application receiving rewards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Library & Information Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

在客户端设备上执行的浏览器可以检测由在线文档生成的对远程服务器的外部调用。该浏览器可以在响应于外部调用而接收并且用于在在线文档中呈现的外部内容中检测描述对向客户端设备递送外部内容有贡献的域的元数据;对于域中的每个域,该浏览器聚合域的贡献,以使得能够在指定时间段内用在线文档呈现外部内容;浏览器可以呈现域中的至少一些域中的每个域的贡献的可视化表示。该浏览器可以响应于与可视化表示的交互而接收对至少一些域中的一个或多个域的选择。该浏览器可以阻止一个或多个域接收来自浏览器的后续外部调用。

Description

交互跟踪控制方法、系统、和非暂时性计算机可读介质
技术领域
本说明书涉及在线交互的数据处理和管理跟踪。
背景技术
当在线资源在客户端设备处渲染时,可以通过执行的脚本来发起网络调用。例如,在线资源可以包括触发对远程服务器(例如,交互跟踪服务器、第三方内容服务器或另一服务器)的网络调用的像素。
发明内容
在一个方面,在客户端设备上执行的浏览器可以检测由在线文档生成的对远程服务器的外部调用。浏览器可以在响应于外部调用而接收的并且用于在线文档中呈现的外部内容中检测对向客户端设备递送外部内容有贡献的域。例如,可以在外部内容的元数据中检测或以其他方式识别对外部内容的递送有贡献的域。对于域中的每个域,浏览器可以聚合该域的贡献,使得能够在指定的时间段内用在线文档呈现外部内容。浏览器可以呈现域中的至少一些域中的每个域的贡献的可视化表示。浏览器可以响应于与可视化表示的交互而接收对至少一些域中的一个或多个域的选择。浏览器可以阻止一个或多个域接收来自浏览器的后续外部调用。
在一些实施方式中,可以单独地或以任何合适的组合来附加地实施下面的一个或多个。阻止一个或多个域接收来自浏览器的后续外部调用可以包括通过浏览器阻止一个或多个域接收一个或多个cookie或阻止一个或多个域接收能够让一个或多个域收集用户数据的其他数据。可视化表示的呈现可以包括:由浏览器生成允许至少一些域中的至少一个域通过外部调用继续跟踪在线交互的推荐;以及由浏览器在可视化表示内显示该推荐。域中的每个域的贡献可以基于该域在一段时间内促成的数字文档的总数。数字文档可以包括与外部内容相关联的数字文档。域的贡献的聚合可以包括:确定由域做出贡献的每个不同类型的外部内容呈现;针对每个不同类型的外部内容的每个呈现,向域分配贡献级别;以及聚合所分配的贡献级别。
向域分配贡献级别可以包括:向作为视频内容的外部内容分配第一贡献级别;以及向作为静止图像内容的外部内容分配第二贡献级别。在一些实施方式中,向域分配贡献级别可以包括基于所呈现的外部内容的大小来分配贡献级别。贡献级别可以根据外部内容的大小而变化。在某些实施方式中,向域分配贡献级别可以包括基于在外部内容的呈现之后由用户执行的在线交互的类型来分配贡献级别。
浏览器可以向应用编程接口提供域中的两个或多个域的贡献。浏览器可以经由应用编程接口从在浏览器上渲染的资源的资源提供商接收指令,以防止一个或多个域跟踪用户交互。
在另一方面,提供了一种存储指令的非暂时性计算机程序产品,该指令当被在客户端设备上执行的浏览器执行时,使得浏览器执行操作,该操作包括:检测由在线文档生成的对远程服务器的外部调用;在响应于外部调用而接收的并且用于在在线文档中呈现的外部内容中检测描述对向客户端设备递送外部内容有贡献的域的元数据;对于域中的每个域,聚合该域的贡献,使得能够在指定时间段内用在线文档呈现外部内容;呈现域中的至少一些域中的每个域的贡献的可视化表示;响应于与可视化表示的交互,接收对至少一些域中的一个或多个域的选择;以及阻止一个或多个域接收来自浏览器的后续外部调用。
阻止一个或多个域接收来自浏览器的后续外部调用可以包括阻止一个或多个域接收一个或多个cookie或阻止一个或多个域接收能够让一个或多个域收集用户数据的其他数据。
可视化表示的呈现可以包括由浏览器生成允许至少一些域中的至少一个域通过外部调用继续跟踪在线交互的推荐,以及由浏览器在可视化表示内显示该推荐。
域中的每个域的贡献可以基于该域在一段时间内促成的数字文档的总数,该数字文档包括与外部内容相关联的数字文档。
聚合域的贡献可以包括确定由域做出贡献的每个不同类型的外部内容呈现,针对每个不同类型的外部内容的每个呈现,向域分配贡献级别,以及聚合所分配的贡献级别。
向域分配贡献级别可以包括向作为视频内容的外部内容分配第一贡献级别,以及向作为静止图像内容的外部内容分配第二贡献级别。
向域分配贡献级别可以包括基于所呈现的外部内容的大小来分配贡献级别,其中贡献级别根据外部内容的大小而变化。
向域分配贡献级别可以包括基于在外部内容的呈现之后由用户执行的在线交互的类型来分配贡献级别。
该操作可以进一步包括:由浏览器向应用编程接口提供域中的两个或更多个域的贡献,以及通过浏览器并且经由应用编程接口从在浏览器上渲染的资源的资源提供商接收指令,以阻止一个或更多个域跟踪用户交互。
在另一方面,提供了一种系统,该系统包括一个或多个数据处理设备和存储指令的机器可读介质,该指令当被一个或多个数据处理设备执行时,使得该一个或多个数据处理设备执行操作,该操作包括:检测由在线文档生成的对远程服务器的外部调用;在响应于外部调用而接收的并且用于在在线文档中呈现的外部内容中检测对向客户端设备递送外部内容有贡献的域;对于域中的每个域,聚合该域的贡献,使得能够在指定时间段内用在线文档呈现外部内容;呈现域中的至少一些域中的每个域的贡献的可视化表示;响应于与可视化表示的交互,接收对至少一些域中的一个或多个域的选择;以及阻止一个或多个域接收来自浏览器的后续外部调用。
在另一方面,非暂时性计算机程序产品可以存储指令,该指令当被在客户端设备上执行的浏览器执行时,使得浏览器执行以上讨论的操作。在又一方面,描述了一种系统,该系统可以包括:浏览器;和存储指令的机器可读介质,该指令当被浏览器执行时,使得浏览器执行以上讨论的操作。一个方面的可选特征可以与任何其他方面相结合。
本文描述的主题可以提供各种优点。例如,贯穿本文讨论的技术可以减少当客户端设备加载资源(例如,诸如网页的在线资源)时,由客户端设备生成的网络调用的数量。减少由客户端设备发起的网络调用的数量可以减少加载资源所需的时间量,延长客户端设备的电池寿命(例如,通过减少由过多的网络调用引起的功耗),消除失败的网络调用可能经历的错误,并改善用户与资源的交互。在一些实施方式中,可以通过向用户和/或资源提供商提供可以基于每个域禁用网络调用的控件来减少网络调用的数量。例如,当加载资源时,客户端设备和/或远程服务器可以检测被触发的网络调用。类似地,当内容响应于网络调用而返回到客户端设备时,对该内容的递送有贡献的域也可以被浏览器检测到或被内容提供商声明。该信息可以被聚合并且与使得用户和/或资源提供商能够禁用对收集到的信息中所指定的域中的一个或多个域的调用的控件一起提供给用户和/或资源提供商。也就是说,本文公开的主题提供了一种改善的用户界面,其使得用户或资源提供商能够基于每个域禁用网络调用。在通过与控件的交互禁用特定域之后,当资源后续在客户端设备处渲染时,客户端设备将不发起对该特定域的网络调用,从而改善资源的渲染时间,减少由客户端设备生成的网络流量,并减少电池消耗。
在一些实施方式中,经由网络调用对跟踪信息的运送可以通过扣留cookie或可能帮助过接收域跟踪用户或收集用户数据的其他数据来阻止。扣留这种cookie或其他数据可以减少客户端设备和域之间通信的数据量,从而使用更低的带宽并实现更快的通信速度。在一些实施方式中,浏览器可以允许将网络调用传输到接收域,但是浏览器可以通过虚拟专用网络(virtual private network,VPN)和/或覆盖网络(例如Tor网络)来路由外部调用,以便隐藏客户端设备的位置(例如,互联网协议(IP)地址),从而阻止接收网络调用的域跟踪客户端设备上的用户交互。这种实施方式可以有利地实现用户数据的安全传输。
除了前述优点之外,本文档中讨论的技术还可以实现改善的隐私控制。例如,减少由客户端设备生成的网络调用的数量可以减少可以跟踪在线交互的域的数量,从而改善用户控制对其信息的访问的能力。向用户提供这种控件可以有利地使用户能够通过限制对其在线活动的访问来更好地控制他或她的隐私。向资源提供商提供这种控件可以有利地使这种资源提供商能够将内容的呈现限制于对资源的用户最有意义的内容,从而改善用户的体验并鼓励那些用户对资源以及资源提供商的忠诚度。
本文描述的主题的一个或多个变型的细节在附图和以下描述中阐述。根据说明书、附图和权利要求,本文描述的主题的其他特征和优点将是显而易见的。
附图说明
图1示出了用于减少外部调用的数量的计算环境。
图2示出了展示资源生成对其的外部调用的至少一些域的名称的可视化表示。
图3示出了显示所展示的域中的每一个的推荐的可视化表示。
图4示出了用于阻止后续外部调用的生成和/或传输的过程。
图5是可以用于执行本文描述的操作的示例计算机系统的框图。
不同附图中相同的参考符号表示相同的元件。
具体实施方式
图1示出了用于减少当资源106(例如,诸如网页的在线资源)由客户端设备108渲染时发起的外部调用(例如,网络调用)104的数量的计算环境102。资源106在诸如浏览器(例如,网络浏览器)110的软件应用处渲染。虽然本文的描述关注于作为浏览器的软件应用,但是在其他实施方式中,软件应用可以是本地应用。
如图1所示,资源106在客户端设备108上渲染。浏览器110可以渲染并显示由服务器111提供的资源106。在特定示例中,客户端设备108可以通过浏览器110向服务器111传输对资源106的请求。响应于该请求,服务器111可以向客户端设备108传输发起在客户端设备108上呈现给定资源106的机器可执行指令。在接收到指令后,浏览器110可以在客户端设备108的显示器上渲染并呈现资源106。虽然出于示例的目的描述了机器可执行指令,但是本说明书中描述的操作可以由其他数据触发,诸如图像文件(例如,JPEG文件)和/或定义浏览器110必须如何格式化并显示内容的隐藏关键字(例如,HTML标签)。
当在渲染资源106时,资源106可以生成对域113的远程服务器114的外部调用104。域113可以是域主机,其可以是托管对应域名的计算机,诸如图2和图3中所示的域名A、B、C和D。这种计算机可以包括至少一个远程服务器114。在一些实施方式中,这种计算机(即,域113)和远程计算机113可以是相同的,如图1所示。
在一些实施方式中,外部调用104可以指定从其获取外部内容116的特定远程服务器114的网络地址。外部调用104可以包括,例如,对外部内容116——诸如数字组件(例如,音频剪辑、视频剪辑、图像或包括广告形式在内的任何形式的文本)——和该外部内容116的元数据的请求。这种请求可以是分组化(packetized)数据请求,其可以包括报头和有效载荷数据。分组化数据请求的报头可以包括事件数据,该事件数据指定(a)从其请求数字组件的服务器114和/或(b)请求设备(例如,客户端设备108)的标识特征,诸如名称和/或网络位置。分组化请求的有效载荷可以包括服务器114可以用来从外部内容数据库115中选择一个或多个数字组件(digital component,DC)的数据(例如,分发参数(distributionparameter,DP)),外部内容数据库115可以包括数字组件(例如,DC1、DC2、DC3、…DCn)和分发参数(例如,DP1、DP2、DP3、…DPn)之间的映射115a。
在某些实施方式中,用于特定数字组件(例如,DCn)的一个或多个分发参数(例如,DPn)可以包括必须(例如,通过电子文档、文档关键字或外部调用104中指定的术语)匹配的分发关键字,以便数字组件(例如,DCn)有资格被呈现。分发参数(例如,DP1、DP2、DP3、…DPn)还可以要求外部调用104包括指定特定地理区域(例如,国家或州)的数据和/或指定外部调用104起源于特定类型的客户端设备(例如,移动电话或平板计算机)的数据,以便数字组件(例如,DCn)有资格被呈现。分发参数(例如DP1、DP2、DP3、…DPn)还可以指定用于评估用于分发/传输的数字组件(例如,在其他可用数字组件中)的资格性的资格性值(例如,排名分数或一些其他指定值)。在一些实施方式中,资格性值可以指定当特定事件归因于数字组件时(例如,当通过与数字组件的交互或以其他方式归因于数字组件的呈现而在客户端设备上安装应用时)将提交的金额(例如,最大出价)。
在一些实施方式中,每个域113可以提供对于正在处理和/或响应外部调用104的服务器114选择外部内容116有用的数据。例如,一个域113可以提供与资源106相关的上下文数据,这在选择外部内容116时是有用的,而另一域113可以提供与客户端设备108的用户相关的简档信息。在该示例中,这两个域113中的每个都通过提供用于选择外部内容116的数据,为响应外部调用104而提供的外部内容116的递送做出了贡献。对外部内容的递送有贡献的每个域113可以被包括元数据中,该元数据与响应于外部调用104而提供的外部内容116一起提供(或附加到外部内容116)。
资源106可以通过例如激发嵌入资源106中的一个或多个像素117来生成外部调用104。在一些实施方式中,像素117可以被定义为1×1不可见像素,其指定当资源106被渲染时要(例如,通过外部调用104)联系的远程服务器114的网络位置。例如,在执行像素117时,浏览器110可以生成超文本传送协议(HyperText Transfer Protocol,HTTP)请求,并将该请求传输到像素117中指定的网络地址。该HTTP请求可以包括各种信息,诸如客户端设备108的标识符、对正由浏览器110渲染的资源106的引用和/或与资源106的呈现相关的其他上下文数据。
在一些实施方式中,对远程服务器114的外部调用104可以响应于资源106内的脚本的执行而发生,该脚本引起客户端设备108向一个或多个远程服务器114传输请求以提供外部内容116。
一些远程服务器114可以只处理外部调用104。例如,外部调用104可以包括交互数据118(例如,指定浏览历史和/或与用户界面元素的用户交互的数据、内容的一部分、或可以是听觉的或视觉的一些其他元素),并且一些远程服务器114可以仅接收和处理这种交互数据。其他远程服务器114可以通过例如响应于这种外部调用104选择外部内容116,并将外部内容116传输到客户端设备108来响应外部调用104。远程服务器114可以从外部内容数据库115中选择外部内容116。外部内容116可以是例如数字组件(例如,音频剪辑、视频剪辑、图像或包括广告形式在内的任何形式的文本)。远程服务器114可以将该外部内容116的元数据附接(附加)到该外部内容116。元数据可以指示对外部内容116的递送有贡献的一个或多个特定域113。例如,元数据可以指示第一域113在外部内容116中贡献了某些图形,以及第二域113在外部内容116中贡献了文本。资源106尤其可以在资源106上的预定空间中显示外部内容116。在一些情况下,第一域可以收集用户跨多个网站的浏览历史,然后基于该浏览历史推断用户的兴趣。所推断的兴趣然后可以被远程服务器用来选择适当的外部内容116。
一旦外部内容116呈现在客户端设备108处,用户与外部内容116的交互可以触发对-例如,通过交互数据118-跟踪与外部内容116的交互的服务器114的一个或多个附加的外部调用104。还可以生成另外的外部调用104,以向各种其他服务器报告各种客户端侧的活动(例如,特定动作的执行和/或访问特定网页)。
浏览器110可以检测由资源106生成并对远程服务器114进行的外部调用104。浏览器110可以提取嵌入在响应于外部调用104而接收的外部内容116中的元数据,以检测对向客户端设备108递送外部内容116有贡献的域113。浏览器110或与浏览器110通信的脚本/应用可以针对向客户端设备108递送外部内容116有贡献的域中的每个域进行聚合。浏览器110还可以确定在指定时间段内域113中的每个域对用资源106进行外部内容116的呈现的贡献水平。在一个实施方式中,这种时间段可以是固定的时间段,诸如2小时、12小时、1天、2天、5天、1个月和/或任何其他时间段。在另一实施方式中,时间段可以被配置为由用户在客户端设备108上修改。在又一实施方式中,时间段可以基于指示收集统计相关数据所花费的平均持续时间的历史数据。
每个特定域113的贡献水平可以通过以下方式中的一个或多个来确定。在一些实施方式中,每个域113的贡献可以基于外部内容116的量,该外部内容116被附接(例如,附加)对应的元数据,该元数据将域113标识为在指定时间段期间对外部内容116的递送有贡献。在特定实施方式中,每个域113的贡献可以基于数字组件(例如,音频剪辑、视频剪辑、图像或包括广告形式在内的任何形式的文本)的总数,其中附加到那些数字组件的元数据将域113标识为在指定时间段期间对那些数字组件的递送有贡献。在一个示例中,每个域113的贡献可以是包括将域113标识为在指定时间段期间对数字组件的递送有贡献的元数据的数字组件的总数。例如,如果总共40个数字组件中的每个数字组件具有将域名为“A”的域113标识为对该数字组件有贡献的元数据,则域名为“A”的域113的贡献为40。
在另一示例中,每个域113的贡献可以是包括将域113标识为在指定时间段期间对数字组件的递送有贡献的元数据的数字组件的总数的函数(例如,数字组件总数的平方、立方、平方根、指数函数和/或任何其他数学函数)。例如,如果总共40个数字组件中的每个数字组件具有将域名为“A”的域113标识为对该数字组件有贡献的元数据,则域名为“A”的域113的贡献可以是40的数学平方-即1600。
在又一示例中,如果元数据列出了特定数量(例如,“N”,其中N可以是任何整数值)的对嵌入了元数据的外部内容有贡献的域113,则这些域113中的每一个从特定外部内容获得1/N的补助(credit)。浏览器110然后可以跨在某个时间段(例如,15分钟、30分钟、1小时、6小时、12小时、1天、2天、5天、15天、1个月、3个月、6个月和/或任何其他时间段,包括形成外部内容116的聚合发生的不同时间段的模式的时间段)上展示的所有外部内容116进行聚合,以计算这些域113中的每一个的总贡献。
在一些其他实施方式中,贡献可以基于在递送给客户端设备108之后在客户端设备108上交互的外部内容116(例如,数字组件)的百分比。例如,如果域名为“A”的域113传输了100个数字组件用于在浏览器110上显示的各种资源(可以包括资源106)上显示,并且浏览器110识别了与这100个数字文档中的32个的用户交互,则贡献可以是32。在另一示例中,该贡献可以是涉及这种百分比的数学函数(例如,涉及值32的数学函数,如针对以上示例的)。更具体地,这种数学函数可以具有其值等于这种百分比的变量。
在一些实施方式中,域113的贡献可以基于由域113做出贡献的外部内容116(例如,数字组件)的类型。例如,可以为域113分配用于每个不同类型的外部内容116的每个呈现的子贡献。例如,可以为域名为“A”的域113分配(a)用于由域113在资源106上渲染的视频数字内容的子贡献C1、(b)用于由域113在资源106上渲染的图像数字内容的子贡献C2,以及(c)用于在资源106上渲染的文本数字内容的子贡献C3。在这个示例中,域的总贡献可以是:{(视频数字内容被渲染的次数*C1)+(图像数字内容被渲染的次数*C2)+(文本数字内容被渲染的次数*C3)}。视频外部内容116(例如,视频数字文档)的子贡献C1可以大于图像外部内容116(例如,图像数字文档)的子贡献C2。图像外部内容116(例如,图像数字文档)的子贡献C2可以大于文本外部内容116(例如,文本数字文档)的子贡献C3。
客户端设备108可以显示可视化表示-其示例将在下面参考图2和图3进一步详细描述-该可视化表示显示:(a)资源106向其生成外部调用116的至少一些(例如,所有)域113的名称,(b)每个域113的贡献,以及(c)用户阻止后续外部调用104的生成(由资源106进行的生成)和/或传输(到域113的传输)的选项。可视化表示可以是表格、图形、电子表格、任何其他可视化表示和/或其任意组合。在一些实施方式中,可视化表示可以显示用户是否应该阻止后续外部调用104的生成(由资源106进行的生成)和/或传输(到域113的传输)的推荐,如图3所示。在进一步的实施方式中,可视化表示可以显示这种推荐的原因。
在一些实施方式中,浏览器110可以代替生成可视化表示而将域113的计算贡献展示给应用编程接口(application programming interface,API),或除生成可视化表示之外还将域113的计算贡献展示给API。资源106的资源提供商可以通过API指示浏览器110允许(a)最多预设数量(例如,“N”,其中N可以是任何整数)的具有最大贡献的域113,和/或(b)最少数量的域113继续接收调用,以便保留预设数量(例如,99%、80%、75%等,其可以大于50%)的外部内容116。方法(a)和(b)中的每一个都向资源提供商以外的服务器提供最小(或最少)量的数据来跟踪用户的在线行为。
虽然可视化表示在上面被描述为在指定时间段期间在客户端设备108上跨由同一浏览器110渲染的多个资源106显示,但是在替代实施方式中,在各种域113对由服务器111跨多个设备108提供的资源106的贡献被适当地聚合以保护用户隐私之后,可视化表示可以在显示设备120上呈现给资源106的资源提供商。资源提供商可以是资源106的发布者。在这些实施方式中,可视化表示可以显示:(a)资源106向其生成外部调用116的至少一些(例如,所有)域113的名称,(b)每个域113的贡献,以及(c)资源提供商阻止后续外部调用104的生成(由资源106进行的生成)和/或传输(到域113的传输)的选项。在一些实施方式中,可视化表示可以显示资源提供商是否应该阻止后续外部调用104的生成(由资源106进行的生成)和/或传输(到域113的传输)的推荐。在进一步的是实施方式中,可视化表示可以显示这种推荐的原因。
在其他实施方式中,可视化表示可以呈现在客户端设备108和显示设备120上,使得用户和资源提供商中的任何一个可以阻止后续外部调用104的生成(由资源106进行的生成)和/或传输(到域113的传输)。
可视化表示内的推荐可以指示可能贡献不足的域113,以证明分配计算资源来生成对那些域113的外部调用是合理的。更具体地,推荐可以基于每个域113的贡献。例如,如果特定域113的贡献低(例如,低于阈值),则可视化推荐可以建议阻止对该特定域113的外部调用104。在一些实施方式中,可以至少部分地基于对具有小于指定级别的用户交互和/或在与数字组件的交互之后未能导致指定级别的用户活动(例如,小于指定转化率)的数字组件的递送有贡献的特定域113,做出阻挡对特定域113的外部调用的推荐。
浏览器110可以响应于与可视化表示的交互-例如,取决于实施方式,由用户和/或资源106的资源提供商进行的交互-而接收对应当使得浏览器110阻止后续外部调用104的生成(由资源106进行的生成)和/或传输(到那些一个或多个域113的传输)的一个或多个域113的选择。在一些实施方式中,浏览器110可以将该选择传输到远程服务器114,该远程服务器114可以将该选择与用户或资源提供商的账户链接。每当用户或资源提供商输入诸如登录数据的认证数据时,资源106可以检索该选择,从而提供跨设备能力。认证数据可以包括用户名和密码、生物统计数据、从外部设备获得的安全数据(例如,嵌入在安全密钥卡上的安全数据、从电子邮件或软件应用获得的一次性密码等)、任何其他认证数据和/或其任意组合。为了阻止一个或多个所选择的域113跟踪在线交互,浏览器110可以阻止外部调用104的生成(由资源106进行的生成)和/或传输(到一个或多个所选择的域113的传输)。
在一些实施方式中,浏览器110可以允许向接收域113传输网络调用,但是可以扣留一个或多个cookie或可能帮助过接收域113跟踪用户或收集用户数据的其他数据。在一些实施方式中,浏览器110可以允许将网络调用传输到接收域113,但是浏览器110可以通过虚拟专用网络(VPN)和/或覆盖网络(例如Tor网络)来路由外部调用,以便隐藏客户端设备108的位置-例如,互联网协议(IP)地址,从而阻止接收网络调用的域113跟踪客户端设备108上的用户交互。在使用VPN网络和覆盖网络两者的实施方式中,表征网络调用的数据可以在通过覆盖网络之前通过VPN,以及可能在通过VPN之前通过覆盖网络。
资源106可以是在线资源,诸如在线文档。这种在线文档可以是网页。在一些实施方式中,资源106可以是文字处理文档、便携式文档格式(portable document format,PDF)文档、图像、视频、搜索结果页面、馈送源、任何其他在线文档、和/或其任意组合。
客户端设备108可以是膝上型计算机、桌上型计算机、平板计算机、平板手机计算机(phablet computer)、电话、信息亭计算机、任何其他计算设备和/或其任意组合。客户端设备108可以被配置为由用户例如通过输入认证数据来使用,认证数据是诸如用户名和密码、生物统计数据、从外部设备获得的安全数据(例如,嵌入在安全密钥卡上的安全数据、从连接到客户端设备108的电子邮件或软件应用获得的一次性密码等)、任何其他认证数据和/或其任意组合。
浏览器110可以是网络浏览器,它是用于访问诸如万维网的网络上的数据的软件应用。当用户在客户端设备108上输入特定资源106的网络地址时,浏览器110可以从提供资源106的资源提供商的服务器111检索资源106。
服务器111可以是具有至少一个可编程处理器和存储指令的机器可读介质的系统,该指令当被至少一个处理器执行时,使得至少一个可编程处理器执行各种操作,诸如生成资源106、经由通信网络将资源106传输到计算设备108、以及在一些实施方式中在显示设备120上向资源提供商显示可视化表示。在一些实施方式中,服务器111可以是膝上型计算机、桌上型计算机、平板计算机、平板手机计算机、电话、信息亭计算机、任何其他计算设备和/或其任意组合。服务器111可以经由局域网、广域网、互联网、内联网、蓝牙网络、红外网络、任何其他一个或多个网络和/或其任意组合上的无线连接而连接到客户端设备108。
远程服务器114可以存在于集群122中。在一些实施方式中,每个集群122可以具有主服务器124和通信耦合到主服务器124的辅服务器126。在这些实施方式中,主服务器124可以是集群122中被配置成直接与客户端设备108通信(例如,从客户端设备108接收外部调用104,以及向客户端设备108传输外部内容116)的唯一服务器114,并且辅服务器126可以帮助主服务器124选择外部内容116。在某些实施方式中,集群122内的每个服务器114可以与该集群122中的每个其他服务器114通信耦合。
每个远程服务器114可以是膝上型计算机、桌上型计算机、平板计算机、平板手机计算机、电话、信息亭计算机、任何其他计算设备、和/或其任意组合。远程服务器114中的至少一个可以是云计算服务器。在一个示例中,所有远程服务器114都可以是云计算服务器。远程服务器114和客户端设备108可以经由通信网络连接,该通信网络可以是互联网。在替代实施方式中,远程服务器114和浏览器110可以经由其他通信网络连接,诸如局域网、广域网、互联网、内联网、蓝牙网络、红外网络、任何其他一个或多个网络、和/或其任意组合。
外部内容数据库115可以是存储器设备,诸如计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、任何其他一个或多个存储设备、和/或其任意组合。
如本文所使用的,短语“数字组件”指数字内容或数字数据的离散单元(例如,视频剪辑、音频剪辑、多媒体剪辑、图像、文本或另一内容单元)。数字组件可以以电子方式存储在物理存储器设备中作为单个文件或存储在文件集合中,并且数字组件可以采取视频文件、音频文件、多媒体文件、图像文件或文本文件的形式,并且包括广告数据,使得广告是一种数字组件。
图2示出了用户界面的可视化表示202,其展示了(a)至少一些(例如,所有)域113的名称204,其中在研究/观察时段期间在浏览器110中展示的一些资源106生成对这些域113的外部调用116,(b)那些示出的域名113中的每一个的贡献206,以及(c)使浏览器110阻止后续外部调用104的生成(由资源106进行的生成)和传输(到对应域113的传输)的动作208的选项。动作208的选项可以包括当这种选项/符号被选择时使得浏览器110阻止后续外部调用104的生成(由资源106进行的生成)和传输(到域113的传输)的选项(如叉符号所示)。动作208的选项可以可选地包括允许当这种选项/符号被选择时,资源106继续发起对域113的外部调用104的另一选项(如选中符号所示)。此外,浏览器110可以基于贡献206为那些动作设置默认值,例如,针对作为前N个最大贡献者之中的域113,将该选项设置为“被选择”作为默认值,针对其余的域113,将该选项设置为“未被选择”作为默认值。
在可视化表示202中示出的域名204的数量可以是在所有贡献域113中贡献最小(即具有最低贡献206)的域113的预设数量(例如,两个、三个、五个、十个、十五个或任意其他整数值)。在图2所示的示例中,域名204的数量是4(即,A、B、C和D),并且那些域可以是所有贡献域113中贡献最少的域113的域名(即,具有最低贡献206;在图2中,域名为A、B、C和D的域113因此可以具有4个最低贡献206)。
在一些实施方式中,在可视化表示202中示出的域名204的数量可以是在所有贡献域113中贡献最大(即具有最高贡献206)的域113的预设数量(例如,两个、三个、五个、十个、十五个或任何其他整数值)。在图2所示的示例中,域名204的数量是4(即,A、B、C和D),并且那些域可以是所有贡献域113中贡献最大的域113的域名(即,具有最高贡献206;在图2中,域名为A、B、C和D的域113因此可以在具有4个最高贡献206)。
在一些实施方式中,在可视化表示202中示出的域名204的数量可以是贡献最大(即,具有最高贡献206)的域113的预设数量和贡献最小(即,具有最低贡献206)的域113的另一预设数量。在与这些实施方式一致的示例中,在不管贡献级别如何已经被检测到的所有贡献域113中,具有域名A和B的域113可能贡献最大,并且具有域名C和D的域113可能贡献最小。贡献206可以如上所讨论地确定。
图3示出了用户界面的可视化表示302,其除了图2的可视化表示202中的细节之外,还显示是否阻止后续外部调用104的生成(由资源106进行的生成)和/或传输(到具有所示域名206的域113的传输)的推荐304。推荐304可以基于贡献206和阈值的比较。如果贡献206等于或大于阈值,则资源106可以生成推荐304“保持”,以允许资源106继续发起对域113的外部调用104。如果贡献206低于(即,小于)阈值,则资源106可以生成推荐304(“删减(prune)”),以使资源106阻止后续外部调用104的生成和/或传输-到与对应域名204相关联的域113的传输,从而推荐“删减”这种域113。
可视化表示302还可以包括按钮306,按钮306当被点击时,可以使浏览器110接受所有推荐304。
在一个变型中,可视化表示302可以包括显示推荐304的原因的另一列。“保持”推荐304的原因可以是贡献(例如,C1)高于阈值。“删减”推荐304的原因可以是贡献(例如,相关的C2、C3或C4)低于阈值。在与该变型一致的一个示例中,阈值可以是由与对应域名206相关联的域113提供的、涉及用户交互的外部内容116的50%;贡献C1可以具有对应的73%的百分比;贡献C2可以具有对应的24%的百分比;贡献C3可以具有对应的8%的百分比;以及贡献C4可以具有对应的49.2%的百分比。浏览器110可以基于贡献206自动生成这种原因。例如,原因可以是标准句子(例如,句子“涉及用户交互的外部内容的[贡献X]”,其中“[贡献X]”将被替换为对应贡献的值,诸如,如上所述,对于对应于域名A的顶行,C1的值为73%)。
图4示出了阻止后续外部调用104的生成(由资源106进行的生成)和/或传输(到域113的传输)的过程。浏览器110可以在客户端设备108上执行。
在402,浏览器110可以检测对远程服务器114的外部调用104。如上所述,外部调用104可以由资源106通过例如激发嵌入资源106中的一个或多个像素117来生成。为了获取像素117,资源106可以生成超文本传送协议(HTTP)请求,并将该请求传输到像素117中指定的网络地址。浏览器110对外部调用104的检测可以包括识别被传输到对应服务器114的每个这种HTTP请求。
在另一示例中,对远程服务器114的外部调用104可以响应于资源106内的脚本的执行而发生,该脚本使客户端设备108向一个或多个远程服务器114传输请求以提供外部内容116。在这种示例中,当脚本调用浏览器API以获取外部资源时,浏览器110对外部调用104的检测可以包括识别这种脚本的执行。
远程服务器114可以例如,通过响应于外部调用104而选择外部内容116,并将外部内容116传输到客户端设备108,来对这种外部调用104做出响应。外部内容116可以是例如数字组件(例如,音频剪辑、视频剪辑、图像或包括广告形式在内的任何形式的文本)以及该数字组件的元数据。元数据可以指示对外部内容116的递送有贡献的一个或多个特定域113。例如,元数据可以指示第一域113贡献了外部内容116中的某些图形,第二域113贡献了外部内容116中的文本,以及第三域113贡献了针对外部调用104外部内容116基于其被选择的其他信息(例如,用户演示)。在404,并且基于外部内容116中的这种元数据,浏览器110可以检测对向客户端设备108递送外部内容116有贡献的域113。
在406,以及针对域113中的每个域,浏览器110可以聚合域113在指定时间段上的贡献。为了执行这种聚合,在一个示例中,浏览器110可以确定由域113做出贡献的不同类型的外部内容116(例如,视频、音频、图像、文本)。浏览器110然后可以针对每个不同类型的外部内容的每个呈现向域113分配子贡献级别。浏览器110可以后续聚合所分配的子贡献级别,以获得具有域名204的域113的贡献206(如图2和图3所示)。
在408,可以呈现包括域113中的至少一些域113中的每个域的贡献206的可视化表示202(或另一实施方式中的302)。可视化表示202/302可以在跨足够数量的浏览器110的适当聚合以保护用户隐私之后显示在客户端设备108(例如,在浏览器110上)和/或显示设备120上(例如,在可以不同于浏览器110的另一浏览器上)。
在410并且响应于与可视化表示202/302的交互,浏览器110可以接收对可视化表示202中示出的那些域中的一个或多个域113的选择。在用户在客户端设备108上执行的浏览器110上做出选择的实施方式中,浏览器110直接接收用户在该客户端设备108上输入的选择。在该实施方式中,浏览器110全局地在该浏览器上应用决定,例如,不管浏览器正在访问的网站或网页如何。在资源106的资源提供商在显示器设备120上做出选择的实施方式中,浏览器110可以从服务器111接收该选择。在该实施方式中,当浏览器110获取由资源提供商提供的网站的网页时,资源提供商的特定网页将选择传递给浏览器110,并且浏览器110仅在浏览器110渲染来自包含该网页的特定网站的网页时应用该选择。
在412,浏览器110可以阻止后续外部调用104的生成(由资源106进行的生成)和/或传输(到一个或多个所选择的域113的传输)。在通过像素117的激发来生成外部调用104的实施方式中,资源106可以通过阻止像素117的这种激发来阻止外部调用104的生成。在通过在资源106内执行脚本来生成外部调用104的实施方式中,浏览器110可以通过阻止脚本的这种执行或者通过在脚本请求浏览器生成外部调用104时进行忽略来阻止后续外部调用104的生成。在替代实施方式中,浏览器110可以在外部调用104的生成期间不介入,但是可以通过拦截和停止那些后续外部调用104的传输来阻止后续外部调用104的传输。例如,浏览器110可以指示客户端设备108上的防火墙识别这种后续外部调用110,并阻挡那些后续外部调用110的传输。在另一替代实施方式中,浏览器110可以扣留cookie或可以帮助接收域113跟踪用户或收集用户数据的其他信息,但否则可能会允许网络调用去往接收域113。
图5是可以用于执行上述操作的示例计算机系统500的框图。系统500包括处理器510、存储器520、存储设备530和输入/输出设备540。组件510、520、530和540中的每一个可以例如使用系统总线550互连。处理器510能够处理在系统500内执行的指令。在一个实施方式中,处理器510是单线程处理器。在另一实施方式中,处理器510是多线程处理器。处理器510能够处理存储在存储器520中或存储设备530上的指令。
存储器520存储系统500内的数据。在一个实施方式中,存储器520是计算机可读介质。在一个实施方式中,存储器520是易失性存储器单元。在另一实施方式中,存储器520是非易失性存储器单元。
存储设备530能够为系统500提供大容量存储。在一个实施方式中,存储设备530是计算机可读介质。在各种不同的实施方式中,存储设备530可以包括例如硬盘设备、光盘设备、由多个计算设备通过网络共享的存储设备(例如,云存储设备)、或者一些其他大容量存储设备。
输入/输出设备540为系统500提供输入/输出操作。在一个实施方式中,输入/输出设备540可以包括网络接口设备(例如,以太网卡)、串行通信设备(例如RS-232端口)和/或无线接口设备(例如,以及802.11卡)中的一个或多个。在另一实施方式中,输入/输出设备可以包括被配置为接收输入数据并将输出数据传输到其他输入/输出设备(例如,键盘、打印机和显示设备560)的驱动设备。然而,也可以使用其他实施方式,诸如移动计算设备、移动通信设备、机顶盒电视客户端设备等。
尽管在图5中已经描述了示例处理系统,但是本说明书中描述的主题和功能操作的实施方式可以在包括本说明书中公开的结构及其结构等同物的其他类型的数字电子电路中、或者计算机软件、固件或硬件中实施,或者在它们中的一个或多个的组合中实施。
电子文档可以但不是必须对应于文件。文档可以存储在保存其他文档的文件的一部分中、存储在专用于所讨论的文档的单个文件中、或者存储在多个协同文件中。
本说明书中描述的主题和操作的实施例可以在包括本说明书中公开的结构及其结构等同物的数字电子电路中、或者计算机软件、固件或硬件中实施,或者在它们中的一个或多个的组合中实施。本说明书中描述的主题的实施例可以被实施为被编码在计算机存储介质上的一个或多个计算机程序,即计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。可替换地或者附加地,程序指令可以被编码在人工生成的传播信号-例如,机器生成的电、光或电磁信号-上,该信号被生成以编码用于传输到合适的接收器装置的数据,以由数据处理装置执行。计算机存储介质可以是或者可以被包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或它们中的一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是或被包括在一个或多个单独的物理组件或介质(例如,多个CD、磁盘或其他存储设备)中。
本说明书中描述的操作可以被实施为由数据处理装置对存储在一个或多个计算机可读存储设备上的数据或从其他源接收的数据执行的操作。
术语“数据处理装置”涵盖用于处理数据的所有种类的装置、设备和机器,包括例如可编程处理器、计算机、片上系统、或前述的多个或组合。该装置可以包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。该装置和执行环境可以实现各种不同的计算模型基础设施,诸如网络服务、分发式计算和网格计算基础设施。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、声明性或过程性语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或适合在计算环境中使用的其他单元。计算机程序可以,但不是必须,对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,存储在专用于所讨论的程序的单个文件中,或者存储在多个协同文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以被部署为在一台计算机上或在位于一个站点或分发在多个站点并通过通信网络互连的多台计算机上执行。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器来执行,以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行,以及装置可以被实施为专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))。
举例来说,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本要素是根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如磁盘、磁光盘或光盘)或可操作地耦合到用于存储数据的一个或多个大容量存储设备(例如磁盘、磁光盘或光盘)以从其接收数据或向其传送数据或这两者。然而,计算机不需要具有这种设备。此外,计算机可以嵌入另一设备,仅举几例,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如通用串行总线(USB)闪存驱动器)。适于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM光盘。处理器和存储器可以由专用逻辑电路来补充或被并入专用逻辑电路。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有用于向用户显示数据的显示设备(例如CRT(阴极射线管)或LCD(液晶显示)监视器)以及用户可以通过其向计算机提供输入的键盘和定点设备(例如鼠标或轨迹球)的计算机上实施。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学输入、语音输入或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从其接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求而将网页传输到用户客户端设备上的网络浏览器。
本说明书中描述的主题的实施例可以在包括后端组件、或包括中间件组件、或包括前端组件、或者一个或多个这种后端、中间件或前端组件的任意组合的计算系统中实施,该后端组件例如作为数据服务器,该中间件组件例如应用服务器,该前端组件例如具有用户可以通过其与本说明书中描述的主题的实施方式进行交互的图形用户界面或网络浏览器的客户端计算机。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)来互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、内部网络(例如,互联网)和对等网络(例如,自组织对等网络)。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户机和服务器的关系是通过运行在各自的计算机上并且彼此具有客户机-服务器关系的计算机程序产生的。在一些实施例中,服务器将数据(例如,HTML页面)传输到客户端设备(例如,为了向与客户端设备交互的用户显示数据和从其接收用户输入)。可以在服务器处从客户端设备接收在客户端设备处生成的数据(例如,在线交互的结果)。
虽然本说明书包含许多具体的实施细节,但是这些不应被解释为对任何发明或可能要求保护的范围的限制,而是对特定发明的特定实施例的特定特征的描述。本说明书中在分开的实施例的上下文中描述的某些特征也可以在单个实施例中组合地实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分开地实施或者在任何合适的子组合中实施。此外,尽管特征可以在上文中被描述为在某些组合中起作用,并且甚至最初被如此要求保护,但是在一些情况下,来自所要求保护的组合的一个或多个特征可以从该组合中删除,并且所要求保护的组合可以针对子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该理解为要求以所示的特定顺序执行或顺序地执行这些操作,或者要求执行示出的所有操作来获得期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应该被理解为在所有实施例中都需要这种分离,并且应该理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者封装到多个软件产品中。
因此,已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。在一些情况下,权利要求中列举的动作可以以不同的顺序执行,并且仍然获得期望的结果。此外,附图中描绘的过程不一定需要所示的特定顺序或依次的顺序来实现期望的结果。在某些实施方式中,多任务和并行处理可能是有利的。

Claims (19)

1.一种在线交互方法,包括:
由在客户端设备上执行的浏览器检测由在线文档生成的对远程服务器的外部调用;
在响应于所述外部调用而接收的并且用于在所述在线文档中呈现的外部内容中检测对向客户端设备递送所述外部内容有贡献的域;
由浏览器对于所述域中的每个域,聚合域对所述外部内容能够在指定时间段内与所述在线文档一起呈现的贡献;
由浏览器呈现所述域中的至少一些域中的每个域的贡献的可视化表示;
由浏览器响应于与所述可视化表示的交互,接收对所述至少一些域中的一个或多个域的选择;以及
由浏览器阻止所述一个或多个域接收来自浏览器的后续外部调用。
2.根据权利要求1所述的方法,其中,阻止所述一个或多个域接收来自浏览器的后续外部调用包括由浏览器阻止所述一个或多个域接收一个或多个cookie或阻止所述一个或多个域接收使得所述一个或多个域能够收集用户数据的其他数据。
3.根据权利要求1所述的方法,其中,呈现所述可视化表示包括:
由浏览器生成允许所述至少一些域中的至少一个域通过所述外部调用继续跟踪在线交互的推荐;以及
由浏览器在所述可视化表示内显示所述推荐。
4.根据权利要求1所述的方法,其中,所述域中的每个域的贡献基于域在所述时间段内促成的数字文档的总数,所述数字文档包括与所述外部内容相关联的数字文档。
5.根据权利要求1所述的方法,其中,聚合域的贡献包括:
确定由域做出贡献的每个不同类型的外部内容呈现;
针对每个不同类型的外部内容的每个呈现向域分配贡献级别;以及
聚合所分配的贡献级别。
6.根据权利要求5所述的方法,其中,向域分配贡献级别包括:
向作为视频内容的外部内容分配第一贡献级别;以及
向作为静止图像内容的外部内容分配第二贡献级别。
7.根据权利要求5所述的方法,其中,向域分配贡献级别包括基于所呈现的外部内容的大小来分配贡献级别,其中所述贡献级别根据所述外部内容的大小而变化。
8.根据权利要求5所述的方法,其中,向域分配贡献级别包括基于在所述外部内容的呈现之后由用户执行的在线交互的类型来分配贡献级别。
9.根据权利要求1所述的方法,还包括:
由浏览器向应用编程接口提供所述域中的两个或更多个域的贡献;以及
由浏览器经由所述应用编程接口接收来自在浏览器上渲染的资源的资源提供商的指令,以阻止所述一个或多个域跟踪用户交互。
10.一种存储指令的非暂时性计算机可读介质,所述指令当被在客户端设备上执行的浏览器执行时,使得浏览器执行包括以下各项的操作:
检测由在线文档生成的对远程服务器的外部调用;
在响应于所述外部调用而接收的并且用于在所述在线文档中呈现的外部内容中检测描述对向客户端设备递送所述外部内容有贡献的域的元数据;
对于所述域中的每个域,聚合域对所述外部内容能够在指定时间段内与所述在线文档一起呈现的贡献;
呈现所述域中的至少一些域中的每个域的贡献的可视化表示;
响应于与所述可视化表示的交互,接收对所述至少一些域中的一个或多个域的选择;以及
阻止所述一个或多个域接收来自浏览器的后续外部调用。
11.根据权利要求10所述的非暂时性计算机可读介质,其中,阻止所述一个或多个域接收来自浏览器的后续外部调用包括阻止所述一个或多个域接收一个或多个cookie或阻止所述一个或多个域接收使得所述一个或多个域能够收集用户数据的其他数据。
12.根据权利要求10所述的非暂时性计算机可读介质,其中,呈现所述可视化表示包括:
由浏览器生成允许所述至少一些域中的至少一个域通过所述外部调用继续跟踪在线交互的推荐;以及
由浏览器在所述可视化表示内显示所述推荐。
13.根据权利要求10所述的非暂时性计算机可读介质,其中,所述域中的每个域的贡献基于域在所述时间段内促成的数字文档的总数,所述数字文档包括与所述外部内容相关联的数字文档。
14.根据权利要求10所述的非暂时性计算机可读介质,其中,聚合域的贡献包括:
确定由域做出贡献的每个不同类型的外部内容呈现;
针对每个不同类型的外部内容的每个呈现向域分配贡献级别;以及
聚合所分配的贡献级别。
15.根据权利要求14所述的非暂时性计算机可读介质,其中,向域分配贡献级别包括:
向作为视频内容的外部内容分配第一贡献级别;以及
向作为静止图像内容的外部内容分配第二贡献级别。
16.根据权利要求14所述的非暂时性计算机可读介质,其中,向域分配贡献级别包括基于所呈现的外部内容的大小来分配贡献级别,其中所述贡献级别根据所述外部内容的大小而变化。
17.根据权利要求14所述的非暂时性计算机可读介质,其中,向域分配贡献级别包括基于在所述外部内容的呈现之后由用户执行的在线交互的类型来分配贡献级别。
18.根据权利要求10所述的非暂时性计算机可读介质,其中所述操作还包括:
由浏览器向应用编程接口提供所述域中的两个或更多个域的贡献;以及
由浏览器经由所述应用编程接口接收来自在浏览器上渲染的资源的资源提供商的指令,以阻止所述一个或多个域跟踪用户交互。
19.一种在线交互系统,包括:
一个或多个数据处理设备;以及
存储指令的计算机可读介质,所述指令当被所述一个或多个数据处理设备执行时,使得所述一个或多个数据处理设备执行包括以下各项的操作:
检测由在线文档生成的对远程服务器的外部调用;
在响应于所述外部调用而接收的并且用于在所述在线文档中呈现的外部内容中检测对向客户端设备递送所述外部内容有贡献的域;
对于所述域中的每个域,聚合域对所述外部内容能够在指定时间段内与所述在线文档一起呈现的贡献;
呈现所述域中的至少一些域中的每个域的贡献的可视化表示;
响应于与所述可视化表示的交互而接收对所述至少一些域中的一个或多个域的选择;以及
阻止所述一个或多个域接收来自浏览器的后续外部调用。
CN202080002568.0A 2020-01-24 2020-01-24 交互跟踪控制方法、系统、和非暂时性计算机可读介质 Active CN113454967B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/014901 WO2021150236A1 (en) 2020-01-24 2020-01-24 Interaction tracking controls

Publications (2)

Publication Number Publication Date
CN113454967A CN113454967A (zh) 2021-09-28
CN113454967B true CN113454967B (zh) 2023-06-30

Family

ID=69740550

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080002568.0A Active CN113454967B (zh) 2020-01-24 2020-01-24 交互跟踪控制方法、系统、和非暂时性计算机可读介质

Country Status (6)

Country Link
US (1) US12014039B2 (zh)
EP (1) EP3874717A1 (zh)
JP (1) JP7138723B2 (zh)
KR (1) KR102409353B1 (zh)
CN (1) CN113454967B (zh)
WO (1) WO2021150236A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210182989A1 (en) * 2015-10-30 2021-06-17 Veristo Inc. Method and apparatus for extended workforce management

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012160567A1 (en) * 2011-05-20 2012-11-29 Yogesh Chunilal Rathod A system and method for providing unified active search engine based on search result item specific identified, dynamic, contextual & accessible active links.
CN103562928A (zh) * 2011-05-25 2014-02-05 苹果公司 用于阻挡使用跟踪的方法和装置
US9160745B1 (en) * 2011-05-19 2015-10-13 Krux Digital, Inc. Data counter measures

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327574B1 (en) * 1998-07-07 2001-12-04 Encirq Corporation Hierarchical models of consumer attributes for targeting content in a privacy-preserving manner
US7143089B2 (en) * 2000-02-10 2006-11-28 Involve Technology, Inc. System for creating and maintaining a database of information utilizing user opinions
AUPR797501A0 (en) * 2001-09-28 2001-10-25 BlastMedia Pty Limited A method of displaying content
US20060064467A1 (en) 2004-09-17 2006-03-23 Libby Michael L System and method for partial web page caching and cache versioning
US10019570B2 (en) * 2007-06-14 2018-07-10 Microsoft Technology Licensing, Llc Protection and communication abstractions for web browsers
US8307431B2 (en) * 2008-05-30 2012-11-06 At&T Intellectual Property I, L.P. Method and apparatus for identifying phishing websites in network traffic using generated regular expressions
US8265658B2 (en) * 2009-02-02 2012-09-11 Waldeck Technology, Llc System and method for automated location-based widgets
EP2262172A1 (en) * 2009-06-10 2010-12-15 Alcatel Lucent Method and scout agent for building a source database
US8949978B1 (en) * 2010-01-06 2015-02-03 Trend Micro Inc. Efficient web threat protection
US20110214163A1 (en) 2010-02-26 2011-09-01 Jumpstart Digital Marketing, Inc. (d.b.a. Jumpstart Automotive Media) Automated analysis of cookies
CA2794040A1 (en) * 2010-03-23 2011-09-29 Google Inc. Conversion path performance measures and reports
US9037714B2 (en) * 2011-08-23 2015-05-19 Bank Of America Corporation Cross-platform application manager
US20130085894A1 (en) * 2011-09-30 2013-04-04 Jimmy Honlam CHAN System and method for presenting product information in connection with e-commerce activity of a user
KR20160043029A (ko) * 2013-08-12 2016-04-20 그라파이트 소프트웨어 코포레이션 보안 인증 및 암호화된 도메인들로의 스위칭
US20150127634A1 (en) * 2013-11-07 2015-05-07 Ricoh Company, Ltd. Electronic document retrieval and reporting
US10223453B2 (en) * 2015-02-18 2019-03-05 Ubunifu, LLC Dynamic search set creation in a search engine
EP3096277A1 (en) * 2015-05-19 2016-11-23 ResearchGate GmbH Enhanced online user-interaction tracking
US10257253B1 (en) 2016-06-23 2019-04-09 Integral Ad Science, Inc. Systems, methods, and media for correlating information corresponding to multiple related frames on a web page
US10346417B2 (en) * 2016-08-18 2019-07-09 Google Llc Optimizing digital video distribution
US10631028B2 (en) * 2016-12-19 2020-04-21 Sony Interactive Entertainment LLC Delivery of third party content on a first party portal
CN106599298A (zh) 2016-12-28 2017-04-26 北京金山安全软件有限公司 广告拦截方法、装置以及终端设备
US10778687B2 (en) * 2018-01-31 2020-09-15 Dell Products L.P. Tracking and whitelisting third-party domains

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9160745B1 (en) * 2011-05-19 2015-10-13 Krux Digital, Inc. Data counter measures
WO2012160567A1 (en) * 2011-05-20 2012-11-29 Yogesh Chunilal Rathod A system and method for providing unified active search engine based on search result item specific identified, dynamic, contextual & accessible active links.
CN103562928A (zh) * 2011-05-25 2014-02-05 苹果公司 用于阻挡使用跟踪的方法和装置

Also Published As

Publication number Publication date
EP3874717A1 (en) 2021-09-08
US12014039B2 (en) 2024-06-18
CN113454967A (zh) 2021-09-28
JP7138723B2 (ja) 2022-09-16
WO2021150236A1 (en) 2021-07-29
KR20210095996A (ko) 2021-08-04
JP2022520678A (ja) 2022-04-01
US20230065501A1 (en) 2023-03-02
KR102409353B1 (ko) 2022-06-15

Similar Documents

Publication Publication Date Title
US11153397B2 (en) Enhanced push messaging
US10103952B2 (en) System for tracking diffusion
US10515132B2 (en) Optimizing transmission of digital components
US9218332B2 (en) Method and system for auto-populating electronic forms
US9900227B2 (en) Analyzing changes in web analytics metrics
US20080281941A1 (en) System and method of processing online advertisement selections
CN111684448B (zh) 增强的在线隐私
US20200336551A1 (en) Cross-site semi-anonymous tracking
CN113454967B (zh) 交互跟踪控制方法、系统、和非暂时性计算机可读介质
US10659544B2 (en) Opt-out compliance
US10140256B2 (en) Location specific content visualization formatting
US20240054392A1 (en) Transfer machine learning for attribute prediction
US9749438B1 (en) Providing a content item for presentation with multiple applications
US12038963B2 (en) Determining types of digital components to provide
US11886524B2 (en) Limiting provision and display of redundant digital components on a client device
KR102590412B1 (ko) 클라이언트 디바이스에서 중복 디지털 컴포넌트의 제공 및 디스플레이 제한
US20240160678A1 (en) Distributing digital components based on predicted attributes

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