CN109275357B - 防止数据泄露的方法、系统和计算机存储介质 - Google Patents

防止数据泄露的方法、系统和计算机存储介质 Download PDF

Info

Publication number
CN109275357B
CN109275357B CN201780002727.5A CN201780002727A CN109275357B CN 109275357 B CN109275357 B CN 109275357B CN 201780002727 A CN201780002727 A CN 201780002727A CN 109275357 B CN109275357 B CN 109275357B
Authority
CN
China
Prior art keywords
data
digital component
user
given
user identifier
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
CN201780002727.5A
Other languages
English (en)
Other versions
CN109275357A (zh
Inventor
哈斯克尔·阿伦·加龙
多恩·格林伯格
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN109275357A publication Critical patent/CN109275357A/zh
Application granted granted Critical
Publication of CN109275357B publication Critical patent/CN109275357B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

方法、系统和设备,包括通过控制用户数据的可用性来防止数据泄露的设备。在一个方面中,一种系统包括前端服务器,其接收各自指定将向其提供数字组件的用户的用户标识符的数字组件请求并且提供数字组件。数据可用性控制服务器接收指定用户的用户标识符的数据,并且通过针对给定的数字组件提供者,识别包括用户的用户标识符并且是数字组件提供者有资格从其接收数据的数据集的数据集,控制活动数据对数字组件提供者的可用性。数据可用性控制服务器从指定数目的识别的数据集中选择在指定数目的识别的数据集中包括的用户的活动数据,并且将选择的数据提供给给定数字组件提供者。

Description

防止数据泄露的方法、系统和计算机存储介质
背景技术
在互联网内容提供者间共享有关基于互联网活动的各种信息以改进向用户提供适当内容的可能性。然而,只要与互联网上的第三方共享,则难以控制共享数据的使用。
发明内容
本说明书描述了涉及以防止数据泄露(例如,未核准使用)的方式来控制对数据的访问的技术,并且优化用于这样的数据访问的计算和网络资源的使用以确保有效率的操作。
通常,本说明书中描述的主题的一个创新方面能用系统实施,该系统包括存储数据集的一个或多个数据存储设备。每个数据集可以包括(i)已经访问过数据集源自的相应发布者的电子资源的用户的一个或多个用户标识符,并且对于每个用户,(ii)描述该用户对于电子资源执行的一个或多个动作的活动数据。该系统可以包括一个或多个前端服务器,其接收数字组件请求,该数字组件请求各自指定将响应于数字组件请求而向其提供数字组件的用户的用户标识符;以及响应于数字组件请求而提供数字组件。该系统可以包括与一个或多个数据存储设备和一个或多个前端服务器数据通信的一个或多个数据可用性控制服务器。该一个或多个数据可用性控制服务器可以从一个或多个前端服务器接收指定由给定数字组件请求指定的给定用户的给定用户标识符的数据。该一个或多个数据可用性控制服务器可以通过以下操作来控制活动数据对数字组件提供者的可用性:针对给定数字组件提供者而识别数据集,该数据集(i)包括给定用户的用户标识符并且(ii)是数字组件提供者有资格从其接收数据的数据集;从指定数目的识别的数据集中选择在指定数目的识别的数据集中的每个数据集中包括的给定用户的活动数据;以及将选择的数据提供给给定数字组件提供者。
这些和其他实施方式均可以可选地包括一个或多个下述特征。在一些方面中,一个或多个数据可用性控制服务器可以将选择的数据提供给给定数字组件提供者,而不提供在除指定数目的识别的数据集中的每个数据集外的任何数据集中包括的给定用户的活动数据。在一些方面中,一个或多个数据可用性控制服务器响应于给定数字组件请求而仅将给定用户的数据提供给给定数字组件提供者。
在一些方面中,一个或多个前端服务器响应于接收到选择的数据而基于从给定数字组件接收的数据来将给定数字组件提供者的数字组件提供给由给定用户标识符标识的用户的用户设备。每个数据集包括一个或多个数据元组,并且每个元组包括由从其接收该数据集的发布者选择的数据类型。
在一些方面中,一个或多个前端服务器接收活动数据请求并且响应活动数据请求而提供活动数据,活动数据请求各自指定请求其活动数据的用户的用户标识符。一个或多个数据可用性控制服务器可以从一个或多个前端服务器接收指定由从特定实体接收的特定活动数据请求所指定的特定用户的特定用户标识符的数据。一个或多个数据可用性控制服务器还可以识别多个数据集,该多个数据集(i)包括特定用户的用户标识符,并且(ii)是特定实体有资格从其接收数据的数据集;以及确定特定实体在指定时间段期间未请求大于阈值数目的用户的活动数据。响应于确定特定实体在指定时间段期间未请求大于阈值数目的用户的活动数据,一个或多个数据可用性控制服务器可以从多个数据集中的指定数目的数据集中选择在多个数据集中的指定数目的数据集中的每个数据集中包括的特定用户的活动数据;以及将选择的数据提供给特定实体。
确定特定实体在指定时间段期间未请求大于阈值数目的用户的活动数据可以包括:确定从特定实体接收的活动数据请求的数目,该活动数据请求指定与从特定发布者接收的一个或多个数据集的用户标识符匹配的用户标识符;以及确定活动数据请求的数目不大于由特定发布者指定的阈值。
通常,在本说明书中的主题的另一方面可以用系统实施,该系统包括存储从发布者接收的数据集的一个或多个数据存储设备。每个数据集可以包括(i)已经访问过从其接收该数据集的发布者的电子资源的用户的一个或多个用户标识符,并且对于每个用户,(ii)描述该用户对于电子资源执行的一个或多个动作的活动数据。该系统可以包括一个或多个前端服务器,其接收数字组件请求,该数字组件请求各自指定将响应于数字组件请求而向其提供数字组件的用户的用户标识符;以及响应于数字组件请求而提供数字组件。该系统可以包括与一个或多个数据存储设备和一个或多个前端服务器数据通信的一个或多个数据泄露服务器。该一个或多个数据泄露服务器可以从一个或多个前端服务器接收指定由给定数字组件请求指定的给定用户的给定用户标识符的数据。该一个或多个数据泄露服务器可以通过以下操作来防止将活动数据泄露给数字组件提供者:针对给定数字组件提供者而识别数据集,该数据集(i)包括给定用户的用户标识符并且(ii)是数字组件提供者有资格从其接收数据的数据集;从指定数目的识别的数据集中选择在指定数目的识别的数据集中的每个数据集中包括的给定用户的活动数据;以及将选择的数据提供给给定的数字组件提供者。
在一些方面中,一个或多个数据泄露服务器可以将选择的数据提供给给定数字组件提供者,而不提供在除指定数目的识别的数据集中的每个数据集外的任何数据集中包括的给定用户的活动数据。在一些方面中,一个或多个数据泄露服务器响应于给定数字组件请求而仅将给定用户的数据提供给给定数字组件提供者。
在一些方面中,一个或多个前端服务器响应于接收到选择的数据而基于从给定数字组件接收的数据来将给定数字组件提供者的数字组件提供给由给定用户标识符标识的用户的用户设备。每个数据集可以包括一个或多个数据元组,并且每个元组可以包括由从其接收数据集的发布者选择的数据类型。
在一些方面中,一个或多个前端服务器接收活动数据请求并且响应于活动数据请求而提供活动数据,活动数据请求各自指定请求其活动数据的用户的用户标识符。一个或多个数据泄露服务器可以从一个或多个前端服务器接收指定由从特定实体接收的特定活动数据请求所指定的特定用户的特定用户标识符的数据。一个或多个数据泄露服务器还可以识别数据集,该数据集(i)包括特定用户的用户标识符,并且(ii)是特定实体有资格从其接收数据的数据集,以及确定特定实体在指定时间段期间未请求大于阈值数目的用户的活动数据。响应于确定特定实体在指定时间段期间未请求大于阈值数目的用户的活动数据,一个或多个数据泄露服务器可以从多个数据集中的指定数目的数据集中选择在多个数据集中的指定数目的数据集中的每个数据集中包括的特定用户的活动数据;以及将选择的数据提供给特定实体。
确定特定实体在指定时间段期间未请求大于阈值数目的用户的活动数据可以包括:确定从特定实体接收的活动数据请求的数目,该活动数据请求指定与从特定发布者接收的一个或多个数据集的用户标识符匹配的用户标识符;以及确定活动数据请求的数目不大于由特定发布者指定的阈值。
如上所述,只要共享数据与互联网上的第三方共享,就很难控制共享数据的使用。除了未经核准外,未经许可地进一步使用或进一步共享这些数据会致使影响被用来实现这样的信息共享的计算和网络资源的有效操作的许多进一步的问题。未经核准的使用导致这些有价值的计算和网络资源的不必要的负担。此外,几乎不可能评估真正使用了多少共享数据——如果有使用,或者多少共享数据将被获得这样的数据的实体或用户进一步使用。这会导致在通信网络上有时候同时将可能大的数据文件移动到许多用户,其中,这样的文件内的数据很可能永远不会被访问或使用。这会影响计算系统和/或网络的整体效率。
本说明书中描述的主题可以在特定实施例中实现,以便实现以下优点中的一个或多个。通过有选择地提供仅对匹配特定请求的数据集的部分的访问而不是提供整个数据集,可以防止或减少数据泄露给未经核准的用户(或用于未经核准的目的)。还可以通过限制在给定时间段内能够为给定实体满足的数据的查询或请求的数目来防止或减少数据泄露。通过减少数据泄漏,可以更好地保护用户数据(其可以通过将数据与匿名标识符相关联而被匿名化),因为实体仅可以访问与用户有关的有限量的数据(例如少于全部)。通过提供被包括在数据集中的、与请求相匹配的有限部分的数据,实体仍然可以接收对相关数据的访问权,而无需数据提供者冒着将其数据泄露给其他实体的风险。除了防止或减少这样的数据泄漏所提供的上述优点之外或与其有关的,选择性访问和有限的数据量还会导致计算和网络资源的更有效的管理和分配。这是因为仅会利用需要相应的选择性访问权和/或有限数目的待传输的数据的资源,从而提供用于与第三方共享数据的更安全和优化的计算环境。
获取对数据集的访问权并且从数据集接收匹配特定请求的数据部分的实体可以接收有用的数据而不被大量不相关的数据所累赘。这种数据的减少允许实体的计算机更快速和更有效率地处理数据并且减少计算机上存储的数据量。例如,与在活动数据的大的数据库中搜索与数字组件请求相关的数据相比,计算机可以更快速地处理被包括在数字组件请求中的少量数据。这允许计算机能够更迅速地响应这样的请求,从而允许数字组件提供者参与时间有限的选择过程。
数据的这种缩减还减少了网络传输时间,并且相对于发送所有数据所需的带宽量减少了消耗的网络带宽量。通过允许有兴趣获取数据集的实体搜索或查看数据集的属性,实体可以识别对他们最有用的数据集。这也降低了实体获取对数据集的访问权的可能性,而这些数据集对于该实体几乎没有或没有用处。
在系统处聚合包括对数字组件提供者有用的数据的数据集允许将数据更快速地传输到数字组件提供者。通过允许资源的发布者选择在用户访问其资源时被自动地发送到系统的数据,数字组件提供者和其他实体能够访问以前不可用或难以聚合的有用数据。发布者可以通过接收由数字组件提供者提供的数目的一部分(或全部)来访问发布者的数据集而受益。
在下文中,关于附图来描述前述主题的各个特征和优点。附加的特征和优点根据本文所述的主题和权利要求书将显而易见。
附图说明
图1是示例数字组件分发系统分发数字组件并且防止数据泄露的环境的框图。
图2是示例数字组件分发系统分发数字组件并且防止数据泄露的环境的框图。
图3是图示在控制对用户数据的访问以防止数据泄露的同时提供数字组件的示例过程的流程图。
图4是图示以防止数据泄露的受控方式提供数据的示例过程的流程图。
在各附图中相似的附图标记和名称指示相似的元素。
具体实施方式
一般而言,本文描述的系统和技术可以控制对数据的访问,同时防止或减少数据的泄露。例如,一些实体可以积累对他人有用的数据。如果这样的实体向他人提供数据,则该实体可能不再能够控制他人是否存储该数据、重用该数据或将该数据传输给另外的人。例如,如果关于特定类型的产品的博客的发布者出于特定目的而向该类型的产品的制造者提供有关在博客上执行的的用户发起的搜索的数据,则该制造者可以存储该数据、将该数据用于其他目的,和/或将该数据传输给他人。
本文所述的系统和技术可以提供对数据集的部分(例如,少于一个或多个数据集中的所有数据)的访问和/或使用数据集的部分而不提供所有数据,由此限制可用于第三方的用户数据量。在一些实施方式中,数字组件提供者可以获取对包括与电子资源(例如,网页或移动应用)的用户交互有关的数据的数据集的访问权。例如,数据集可以包括已经导航到电子资源的用户的匿名用户标识符和/或描述与电子资源的一个或多个用户交互的活动数据,诸如用户选择的项目、添加到虚拟购物车的项目、在搜索电子资源时提交的搜索词项、在资源上查看的文章、发生用户交互的时间、和/或其他适当的数据。
系统可以存储标识数字组件提供者已经获取访问权的数据集的数据,而不是将数据集提供给数字组件提供者。当接收到对数字组件的请求时,系统可以识别数字组件请求的用户标识符,并且确定该用户标识符(或用户的另一用户标识符)是否被包括在数据组件提供者已经获取访问权的一个或多个数据集中。如果用户标识符被包括在数字组件提供者已经获取访问权的数据集中,则系统可以将被包括在该数据集中的用户标识符的活动数据提供给数字组件提供者。以这种方式,数字组件提供者就不会响应单个请求来接收整个数据集。如果用户标识符(或用户的另一用户标识符)被包括在数字组件提供者已经获取访问权的多个数据集中,则该系统可以将提供给数字组件提供者的数据限制为被包括在指定数目的(例如1个)数据集中的数据。这进一步减少了潜在的数据泄露量并且保护用户的数据。
在一些实施方式中,实体可以获取请求被包括在一个或多个数据集中的数据的能力。例如,多媒体提供者可以获取对包括用在向用户提供多媒体推荐中的用户活动数据的数据集的访问权。系统可以允许多媒体提供者在指定时间段内提交指定数目的请求,或者在指定时间段内接收仅指定数目的查询的数据,而不是向多媒体提供者提供数据集。如果请求包括在多媒体提供者获取访问权的数据集中所包括的用户的用户标识符,并且该多媒体提供者在该时间段内未超过请求的数目,则系统可以提供被包括在匹配数据集中的用户的用户活动数据。
图1是示例数字组件分发系统120分发数字组件并且控制数据的可用性以防止数据泄露的环境100的框图。如贯穿本文所使用的,短语“数字组件”指代数字内容或数字信息(例如,视频剪辑、音频剪辑、多媒体剪辑、图像、文本或另一内容单元)的离散单元。数字组件可以作为单个文件或以文件的集合电子地存储在物理存储器设备中,并且数字组件可以采取视频文件、音频文件、多媒体文件、图像文件、或文本文件的形式,并且包括广告信息,使得广告是一种数字组件。数字组件可以由客户端设备110呈现。例如,数字组件可以被显示在Web浏览器中显示的网页的数字组件区域中,或者被显示在移动应用的应用页面中。
客户端设备110是能够请求、接收、和呈现数据的电子设备。客户端设备的示例包括个人计算机、移动电话(例如智能电话)、平板计算机、可穿戴设备(例如智能手表)和人工智能助理(“AI助理”)。一些客户端设备包括用户应用,诸如Web浏览器或移动应用,以促进通过数据通信网络发送和接收数据。Web浏览器或移动应用可以使得用户能够显示文本、图像、视频、音乐和其他内容并且与之交互。AI助理可以提供用户可以使用语音命令来请求信息或内容的基于语音的用户界面。
数字组件分发系统120可以响应从客户端设备110接收的数字组件请求112,向客户端设备110提供数字组件。例如,网页或移动应用的应用页面可以包括在由Web浏览器或移动应用执行时,使得客户端设备110向数字组件分发系统120提交数字组件请求的代码。
数字组件请求112可以包括客户端设备110的用户的用户标识符,例如与客户端设备110的用户相关联的用户标识符。用户标识符可以是唯一地标识用户或客户端设备110同时保持用户或客户端设备匿名的唯一数字或字母数字序列。
在一些实施方式中,数字组件分发系统120可以基于从数字组件提供者——例如数字组件提供者A 130和/或数字组件提供者B 140接收的数据,选择待响应于数字组件请求而提供的数字组件。例如,数字组件分发系统120可以响应于数字组件请求,将请求数据132和142发送到一个或多个数字组件提供者的计算机,以询问数字组件提供者130A是否想要将数字组件提供给客户端设备110。如果是,则数字组件提供者的计算机可以向数字组件分发系统120提供指定以下的数据:如果数字组件提供者的数字组件被选择以提供给客户端设备110,则数字组件提供者愿意提供给数字组件分发系统的金额。例如,如下文更详细所述,数字组件提供者的计算机可以分别使用一个或多个规则(或其他逻辑)来确定是否在数字组件选择过程中包括数字组件,以及多大量将基于被包括在计算机接收的请求数据中的信息。进而,数字组件分发系统120可以基于从数字组件提供者的计算机接收的数据来选择数字组件,并且将选择的数字组件提供给客户端设备110以供客户端设备110呈现。
发送到数字组件提供者130和140的请求数据132和142可以包括与将呈现数字组件的数字组件呈现槽位有关的数据。例如,网页或应用页面可以包括用于呈现数字组件的一个或多个数字组件槽位。例如,请求数据可以包括标识网页或应用页面的数据、页面上的数字组件槽位的位置、一个或多个搜索词项——如果页面是搜索结果页面、和/或关于数字组件槽位的其他适当的数据。
此外,或者替选地,请求数据132和142可以包括与将呈现数字组件的客户端设备110的用户有关的数据。例如,请求数据132和142可以包括数字组件请求112中包括的用户标识符(或者用户的另一用户标识符)。在一些实施方式中,与客户端设备110的用户有关的数据可以仅被提供给已经获取对包括用户标识符(或用户的另一用户标识符)的数据集的访问权的数字组件提供者。
每个数据集可以包括一个或多个用户标识符的活动数据。活动数据可以描述与用户标识符相关联的用户已经在一个或多个资源处执行的用户交互。例如,活动数据可以指定用户访问过的资源、用户在资源处选择的项目、用户在资源处提交的搜索词项、用户浏览的文章、每个动作发生的时间、和/或其他适当的活动数据。
在一些实施方式中,用户可以与多个用户标识符相关联。例如,当用户访问第一发布者资源之一时,第一发布者可以对给定用户指派第一匿名用户标识符。当用户访问第二发布者的资源之一时,第二发布者可以对给定用户指派第二匿名用户标识符,该第二匿名用户标识符不同于第一用户标识符。数据集可以包括每个用户的通用用户标识符。在这样的实施方式中,数字组件分发系统120可以包括通过通用用户标识符标识每个发布者(或其他实体)的用户标识符的用户标识符的索引。以这种方式,数字组件分发系统120可以将从发布者接收的活动数据指派给适当的通用用户标识符,并且向数字组件提供者提供适当的用户标识符。
资源的发布者可以向数字组件分发系统120提供一个或多个数据集。例如,博客的发布者可以记录关于与其博客的用户交互的数据。发布者可以生成包括该数据的全部或部分的数据集。发布者可以选择和定制被包括在每个数据集中的数据。例如,发布者可以生成第一数据集和第二数据集,该第一数据集包括已经访问博客的用户的用户标识符和指定博客的标题的数据,该第二数据集包括已经在博客上提交了搜索查询的用户的用户标识符,并且对每个用户标识符由用户提交的词项或其他可搜索的内容。发布者可以将数据集发送到数字组件分发系统120。
在一些实施方式中,发布者的资源提供自动地描述用户与该资源交互的活动数据。例如,发布者可以在网页的代码中包括标签(例如,像素或信标)。该标签可以包括代码,该代码在由Web浏览器执行时使得Web浏览器捕获客户端设备110上的动作或事件,并且将数据提供给数字组件发布系统120。发布者可以配置标签以捕获和传送发布者想要在数据集中包括的数据,例如发布者认为在确定是否响应数字组件请求而提供数字组件中对数字组件提供者有用的数据。
数字组件提供者130和140可以获取对一个或多个数据集的访问权。例如,数字组件提供者130和140可能想要将他们的数字组件提供给已经执行了某些动作的用户,所述动作例如访问特定的网页、使用特定的关键字发起搜索、查看特定的项目、和/或其他适当的动作。数字组件提供者130和140可以分别获取对数据集的访问,该数据集包括已经执行数字组件提供者130和140感兴趣的动作的用户的用户标识符。如下文更详细地所述,数字组件分发系统120可以提供允许数字组件提供者130和140浏览或搜索数据集并且获取对该数据集中的一个或多个的访问权的用户界面。
数字组件分发系统120可以将从发布者接收的数据集存储在数据集存储设备129中。在一些实施方式中,数据集存储设备129是高速缓存或其他类型的快速存取存储器。类似地,数字组件分发系统120可以维护访问控制列表127,该访问控制列表127标识已经获取对一个或多个数据集的访问权的数字组件提供者和/或其他实体,以及对于每个实体,该实体已经获取访问权的数据集。在图1的图示的示例中,数字组件提供者A 130已经获取对数据集1、3、和33的访问权。类似地,数字组件提供者140B已经获取对数据集2、91、和201的访问权。
数字组件分发系统120包括控制在数据集中所包括的活动数据的可用性的数据可用性控制服务器125(在本文中也被称为数据泄露服务器)。不同于在数字组件提供者获取对据集的访问权时向数字组件提供者提供完整的数据集,数据可用性控制服务器125响应于接收数字组件请求(或下文所述的活动数据请求),将来自一个或多个数据集的有限量的数据(例如少于全部的数据)提供给数字组件提供者(或其他实体)。
当数字组件分发系统120接收数字组件请求112时,数据可用性控制服务器125可以选择提供给一个或多个数字组件提供者——例如数字组件提供者130和140的活动数据。在一些实施方式中,数据可用性控制服务器125针对数字组件提供者识别该数字组件提供者已经获取访问权的、包括数字组件请求中包括的用户标识符或用户的另一用户标识符的数据集。数据可用性控制服务器125可以将被包括在一个或多个识别的数据集中的用户的活动数据提供给数字组件提供者,例如而不提供与被包括在数字组件请求112中的用户标识符相关联的其他用户的活动数据或被包括在数字组件提供者尚未获取访问权的数据集中的活动数据。以这种方式,活动数据的可用性受到控制,并且整个(或大部分)数据集不会被泄露给未获取对数据集的访问权的他人。
在所图示的示例中,接收的数字组件请求112包括在数据集1-3中的每一个中所包括的用户标识符27。数字组件提供者A 130已经获取对数据集1和3的访问权,并且数字组件提供者B 140已经获取对数据集2的访问权。在该示例中,数据可用性控制服务器125可以在请求数据132中,向数字组件提供者130A提供被包括在数据集1和3中的用户标识符27的活动数据。然而,数据可用性控制服务器125可以不在请求数据132中包括在数据集2中包括的用户标识符27的活动数据,因为数字组件提供者A 130尚未获取对数据集2的访问权。此外,数据可用性控制服务器125可以不在响应于数字组件请求112而发送的请求数据132中包括来自数据集1的其他用户标识符(例如除了用户标识符27之外的标识符)的活动数据,因为数字组件请求112指定用户标识符27。
类似地,数据可用性控制服务器125可以在请求数据142中,向数字组件提供者B140提供被包括在数据集2中的用户标识符27的活动数据。然而,数据可用性控制服务器125可以不在请求数据142中包括在数据集1至3中包括的用户标识符27的活动数据,,因为数字组件提供者A 130尚未获取对数据集1和3的访问权。此外,数据可用性控制服务器125可以不在响应于数字组件请求112发送的请求数据142中包括来自数据集2的其他用户标识符(例如除用户标识符27外的用户标识符)的活动数据,因为数字组件请求112指定用户标识符27而不是另一用户标识符。
如图1所示,请求数据132包括用户标识符27、标识正从其提供活动数据的数据集1的数据、以及被包括在数据集1中的用户标识符27的搜索词项“tackle box”。类似地,请求数据142包括用户标识符27、标识从其提供活动数据的数据集2的数据、以及包括在数据集2中的用户标识符27的搜索词项“jersey,cleats”。
在一些实施方式中,数据可用性控制服务器125可以响应于个体数字组件请求或活动数据请求,限制将活动数据从其提供给数字组件提供者或其他实体的数据集的数目。例如,系统可以将数据集的数目限制到由其提供活动数据的系统或发布者指定的数据集的指定数目。更具体地,系统可以提供来自特定数字组件提供者已经被授权访问的少于全部数据集的信息。
在所图示的示例中,数据集的指定数目可以是一个。因此,在该示例中,请求数据132不包括被包括在数据集3中的用户标识符27的活动数据,尽管数字组件提供者A130已经获取对数据集3的访问权。相反,请求数据132仅包括被包括在数据集之一——数据集1中的用户标识符27的活动数据。
参考图2,更详细地描述数字组件分发系统120的元素,图2是示例数字组件分发系统120分发数字组件并且控制数据的可用性以防止数据泄露的环境200的框图。
数字组件分发系统120包括一个或多个前端服务器255。前端服务器255可以在数据通信网络220——例如局域网(LAN)、广域网(WAN)、互联网、移动网络或其组合——上,从资源发布者210或其他数据源接收数据集112(或数据集的数据)。例如,如上所述,发布者210可以在网页的代码中包括标签(例如,像素或信标),其使得Web浏览器捕获客户端设备230上的动作或事件,并且将数据提供给数字组件分发系统120。
发布者210可以配置标签以提供描述在客户端设备230处发生的特定动作的数据。例如,发布者可以配置标签以提供对数字组件提供者、提供推荐或建议的实体、或其他实体有用的数据的元组。一些示例元组包括:(i)客户端设备230的用户的用户标识符和用户提交的搜索词项,(ii)由资源显示并且由用户选择的用户标识符和项目,以及(iii)用户标识符、用户提交的搜索词项、以及在返回搜索结果之后用户选择的第一项目。其他元组可以包括结合下述中的一个或多个的用户的用户标识符:标识用户购买的产品的数据、标识由用户添加到虚拟购物车的产品的数据、呈现给用户的文章的标题、呈现文章的时间段、指定文章是否被阅读完毕的数据、在客户端设备230上呈现的视频的标题、呈现视频的时间段、和/或指定视频是否被查看完毕的数据等。
前端服务器255可以接收数据元组并且将数据元组提供给数据可用性控制服务器125。数据可用性控制服务器(例如,数据泄露服务器)可以将从发布者210接收的数据元组存储在数据集存储设备129的适当数据集中。例如,当发布者210或发布者的资源发送数据元组时,数据可以包括发布者210或发布者的数据集的唯一标识符。数据可用性控制服务器125可以使用该标识符来将数据存储在适当的数据集中,或者参考数据元组所属的适当的数据集。例如,数据可用性控制服务器可以扫描数据集(例如,数据的索引)以识别指定唯一标识符的数据内的位置(例如,数据的行),然后,将元组写入到与识别的位置相对应的存储器位置(例如,该行的单元格中)。
如上所述,数据可用性控制服务器125可以维护标识已经获取对一个或多个数据集的访问权的数字组件提供者240和/或其他实体的访问控制列表127,以及对于每个实体,该实体已经获取访问权的数据集。在一些实施方式中,数字组件分发系统120提供允许数字组件提供者240和/或其他实体浏览或搜索数据集的用户界面。例如,可以用标题、指定被包括在数据集中的数据的类型的数据、和/或从中获得数据集的数据的资源来标记每个数据集。数字组件提供者240可以基于标题、数据类型和/或与数据集相关联的资源来浏览或搜索数据集。
在一些实施方式中,数字组件分发系统120提供被包括在数据集中的数据的样本,例如而不提供数据集中的用户标识符。例如,数字组件分发系统120可以响应于指定一个或多个关键字的搜索查询来提供匹配关键字的数据集以及被包括在每个匹配数据集中的数据样本。如果数据集包括匹配查询的关键字的标题、数据类型或资源名称,则该数据集可以匹配该查询。
数字组件提供者240可以选择一个或多个数据集来获得对该一个或多个数据集的访问权。在一些实施方式中,可以要求数字组件提供者240为访问数据集提供一定金额的报偿。该金额可以由提供被包括在数据集中的数据的发布者指定。在一些实施方式中,金额可以基于数据集中包括的数据的类型。例如,一些类型的数据(例如,指定被选产品或被添加到虚拟购物车的产品的数据)可能比指定搜索查询的数据更有用。在该示例中,包括指定针对被选产品或被添加到虚拟购物车的产品的数据的数据集的金额可能大于针对包括搜索查询的数据集的金额。针对数据集的金额还可以基于被包括在该数据集中的用户标识符的数目、被包括在该数据集中的数据类型的数目、或者发布者与数字组件提供者(例如,通过充当中介的数字组件分发系统的运营者)之间的协商的金额。在一些实施方式中,数字组件提供者提供的用于获取对发布者的数据集的访问权的金额的一部分(或全部)可以被提供给发布者。
前端服务器255可以从客户端设备230接收数字组件请求。例如,如上所述,网页或移动应用的应用页面可以包括代码,该代码在由Web浏览器或者移动应用执行时使得客户端设备230向数字组件分发系统120提交数字组件请求。数字组件请求可以包括客户端设备230的用户的用户标识符。
前端服务器255可以向数据可用性控制服务器125提供数字组件请求或被包括在数字组件请求中的数据。例如,前端服务器255可以向数据可用性控制服务器125提供指定数字组件请求的用户标识符的数据。进而,数据可用性控制服务器125可以使用访问控制列表127和数据集来确定哪个数据集包括用户标识符(或用户的另一用户标识符),并且在这些数据集中,每个数字组件提供者240已经获取哪些数据集的访问权。例如,数据可用性控制服务器125可以将该用户标识符与每个数据集中的用户标识符比较,以识别包括该用户标识符的零个或多个数据集的集合。在另一示例中,数据可用性控制服务器125可以识别被映射到所接收的用户标识符的用户的通用用户标识符(例如,用户的用户标识符的索引或映射可以被存储在数据可用性控制服务器125的数据存储设备中),并且将通用用户标识符与每个数据集中的用户标识符比较,以识别包括通用用户标识符的零个或多个数据集的集合。对于每个数字组件提供者,数据可用性控制服务器125可以确定该数据集的集合中数字组件提供者已经获取哪些数据集的访问权——如果存在。
如果数据可用性控制服务器125对给定的数字组件提供者,识别包括用户标识符(或用户的另一用户标识符)并且给定的数字组件提供者已经获取访问权的一个或多个数据集,数据可用性控制服务器125可以向给定的数字组件提供者提供请求数据,该请求数据包括被包括在一个或多个数据集中的用户标识符的活动数据。如上所述,给定数字组件提供者可从其接收用户标识符的活动数据的数据集的数目可以被限制到针对每个数字组件请求的指定数目。如果所识别的一个或多个数据集包括大于指定数目的数据集,则数据可用性控制服务器125可以选择识别的数据集中从其提供活动数据的一个或多个数据集(直到达到指定数目的数据集)。换言之,可用性控制服务器125可以过滤数据集以便将返回的数据集的数目限制到指定数目。该过滤可以使用各个准则来执行。例如,数据可用性控制服务器125可以基于由给定数字组件提供者提供的针对数据集的访问权的金额、给定数字组件提供者获取对数据集的访问权的新近程度、和/或由给定的数字组件提供者或系统指定的数据集的优先级排名来选择(或过滤)数据集。
数据可用性控制服务器125可以将包括在选择的数据集中(或者如果数据集的数目没有超过指定数目,来自所识别的一个或多个数据集的每一个)的用户标识符的活动数据提供给给定的数字组件提供者。例如,数据可用性控制服务器125可以将包括活动数据的请求数据提供给前端服务器255,并且前端服务器255可以将请求数据提供给给定的数字组件提供者。前端服务器255还可以向给定的数字组件提供者提供与可以在该处提供数字组件的资源有关的数据,例如与请求数据一起提供。该数据可以包括标识资源的数据、资源上的数字组件槽位的位置、一个或多个搜索词项——如果资源包括搜索结果页面、和/或关于资源的其他适当数据。
如果数据可用性控制服务器125对给定的数字组件提供者,没有识别出包括用户标识符(或用户的另一用户标识符)以及给定的数字组件提供者已经获取访问权的一个或多个数据集,则数据可用性控制服务器125可以不向给定的数字组件提供者提供任何活动数据。例如,用户标识符可能没有被包括在给定的数字组件提供者已经获取访问权的任何数据集中。因此,给定的数字组件提供者可能没有资格接收用户标识符的活动数据。作为替代,数据可用性控制服务器125可以向给定的数字组件提供者提供请求数据,该请求数据包括与可以在该处提供数字组件的资源相关的数据,例如标识资源的数据、资源上的数字组件槽位的位置、一个或多个搜索词项——如果资源包括搜索结果页面、和/或关于资源的其他适当数据。
数字组件提供者240可以分别使用从数据可用性控制服务器125接收的数据来确定是否想要在数字组件选择过程中包括数字组件,该数字组件选择过程被用来响应于数字组件请求而选择待提供的数字组件。如更详细地所述,数字组件选择过程可以由一个或多个数字组件选择服务器260执行,以响应于数字组件请求来选择提供给客户端设备210的数字组件。在一些实施方式中,数字组件提供者的计算机可以使用一个或多个规则来确定在选择过程中是否包括数字组件、包括哪个数字组件、和/或如果数字组件被选择且提供给客户端设备210则数字组件提供者愿意提供给数字组件分发系统120的数目。
可以将一个或多个规则应用于从数据可用性控制服务器125接收的请求数据。例如,数字组件提供者的一个或多个规则可以指定数字组件应当被包括在针对指定特定资源和/或特定搜索词项的数字组件请求的选择过程中。如果请求数据指定特定资源和/或特定搜索词项,则数字组件提供者240的计算机可以向数字组件分发系统120的前端服务器255提供指定数字组件和/或数量的数据。前端服务器255可以将该数据提供给数字组件选择服务器260,以供包括在针对接收的数字组件请求执行的数字组件选择过程中。
在一些实施方式中,数字组件分发系统120在非常短的时间量内(例如,小于一秒)响应于数字组件请求来提供数字组件。在这样的示例中,数字组件提供者240也必须在非常短的时间量内(例如,少于100毫秒)进行响应。通过仅提供来自数字组件请求的用户标识符的一个或多个数据集的数据,数字组件提供者240的计算机可以更快速地处理该数据(例如,使用一个或多个规则),并且比要求计算机处理整个数据集的情况更快地响应。此外,减少的数据量允许在前端服务器255和数字组件提供者240的计算机之间更快速地传送数据。
数字组件选择服务器260可以响应于数字组件请求——例如基于从数字组件提供者240接收的数据、数字组件的质量数据、和/或其他适当的数据,选择待提供的数字组件。例如,数字组件选择服务器260可以执行数字组件选择过程,其基于针对数字组件提供的金额和数字组件的质量得分的组合来排名数字组件。数字组件选择服务器260可以(例如,通过前端服务器255和网络220)向提交数字组件请求的客户端设备230提供排名较高的数字组件中的一个或多个。数字组件选择服务器260可以将接收的数字组件存储在数字组件数据存储设备262中。注意,如本文所使用的,提供数字组件包括提供设备可以获得数字组件的链接或网络地址(例如第三方数字组件服务器),使得不需要提供实际的数字组件。
在一些实施方式中,第三方系统(例如,需求侧平台“DSP”)可以确定数字组件提供者240的针对数字组件(例如,广告)的金额(例如,竞价)。例如,可以使用DSP来基于接收的数据优化金额并且管理数字组件提供者240的多个账户。在这样的实施方式中,前端服务器255可以向第三方系统提供数字组件提供者的请求数据。另外,发布者可以配置其资源以防止数字组件激发(fire)任何像素从客户端设备检索cookie。作为替代,数字组件提供者240可以建立能够通过数字组件请求发送到第三方系统的它们自己的数据集。
数据可用性服务器125还可以响应于活动数据请求来提供活动数据。例如,实体280(例如,视频流送服务、电子书服务等)可以以与数字组件提供者240类似的方式,获取对一个或多个数据集的访问。实体280可以将活动数据请求通过网络220传送到前端服务器255。活动数据请求可以指定用户标识符。前端服务器255可以将活动数据请求(或用户标识符)提供给数据可用性控制服务器125。
数据可用性控制服务器125可以通过限制在给定时间段内对每个实体满足的活动数据请求的数目来控制对包括在针对这些活动数据请求的数据集中的活动数据的访问。例如,每个实体可以被限制到每天或每周的指定数目的满足的活动数据请求。在另一示例中,例如基于由每个实体提供的金额,允许一些实体比其他实体更多的活动数据请求。在每个示例中,每个实体可以接收的用户活动数据量是有限的,这减少了能够泄露的数据量。
在一些实施方式中,数据可用性控制服务器125将每个实体280限制到在指定时间段内可以被返回给实体280的指定数目的数据元组。例如,指定特定用户标识符的一个活动数据请求可以匹配实体280已经获取访问权的多个数据集中的用户标识符,从而导致响应于该请求而提供给实体280的多个匹配的数据元组。因此,满足的请求的数目可以不等于提供给实体280的数据元组的数目。
在一些实施方式中,数字组件提供者240也可以被限制到数字组件提供者240针对其接收用户的活动数据的阈值数目的数字组件请求。例如,如果给定的数字组件提供者已经在给定时间段内,接收到针对阈值数目的请求的用户活动数据,则给定的数字组件提供者不可以接收针对其他请求的活动数据,直到下一时间段为止,即使请求的用户标识符(或用户的另一用户标识符)匹配给定的数字组件提供者已经获取访问权的数据集的用户标识符。类似地,数字组件提供者240可以被限制到数字组件提供者240在给定的时间段内可以接收的指定数目的数据元组,以使得不会将更多数据元组提供给数字组件提供者,直到下一时间段为止。
图3是图示在控制对用户数据的访问以防止数据泄露的同时,提供数字组件的示例过程300的流程图。过程300的操作可以例如通过包括一个或多个数据处理装置的系统——诸如图1和图2的数字组件分发系统120来实现。过程300还可以通过存储在计算机存储介质上的指令来实现,其中,由包括数据处理装置的系统执行指令使得数据处理装置执行过程300的操作。
系统接收数字组件请求(302)。例如,客户端设备可以响应于加载包括数字组件槽位(例如,为呈现来自不同于网页或应用页面的提供者的第三方的内容预留的网页或应用页面的一部分)的网页或应用页面来向系统传送数字组件请求。数字组件请求可以包括例如与用户或用户的客户端设备相关联的用户的用户标识符。
系统识别给定数字组件提供者的数据集(304)。系统可以识别包括用户标识符(或用户的另一用户标识符——诸如同一用户的通用用户标识符)的数据集。系统还可以检查包括数字组件提供者有资格从其接收数据的数据集的用户标识符的那些数据集。系统可以通过将数字组件请求的用户标识符(或用户的另一用户标识符)与被包括在给定数字组件提供者已经获取访问权的数据集中的用户标识符比较来识别数据集。系统可以为多个数字组件提供者执行该比较,并且对该数字组件提供者中的每一个识别数据集。
系统从针对给定数字组件提供者的指定数目的识别的数据集中选择被包括在指定数目的识别的数据集的每个数据集中的用户标识符的活动数据(306)。在一些实施方式中,系统或数据集的提供者可以指定,响应于单个数字组件请求而可以向数字组件提供者提供来自其的用户活动数据的数据集的最大数目。例如,基于用户导航到多个不同的资源,用户的用户标识符可以被包括在多个数据集中。为了更好地保护用户的数据、控制对用户数据的访问、以及防止数据泄露,系统可以限制响应于单个请求而可以从其提供用户的活动数据的数据集的数目。
系统可以选择识别的数据集中的从中提供活动数据的一个或多个数据集(直到达到指定数目的数据集)。例如,系统可以基于以下来选择数据集:给定数字组件提供者提供的针对数据集的访问权的金额、给定数字组件提供者获取对数据集的访问权的新近程度、和/或由给定数字组件提供者或系统指定的数据集的优先级排名。
对于每个选择的数据集,系统可以识别被包括在数据集中的用户标识符的数据。如上所述,活动数据可以包括用户选择的项目、添加到虚拟购物车的项目、在搜索电子资源时提交的搜索词项、在资源处查看的文章、发生用户交互的时间、和/或其他适当的数据。系统可以以类似的方式,为多个数字组件提供者中的每一个选择用户标识符的活动数据。为每个数字组件提供者选择的数据可以基于数字组件提供者已经获取访问权的数据集而变化。
系统将用户标识符的选择的活动数据提供给给定的数字组件提供者(308)。例如,系统可以通过数据通信网络将该数据传送到给定组件提供者的计算机。系统还可以通过网络,将已经为其他数字组件提供者选择的选择的活动数据传送到其他数字组件提供者的计算机。
系统从给定的数字组件提供者接收数据(310)。所接收的数据可以指定数字组件和/或数字组件提供者愿意为将该数字组件发送到与用户标识符相关联的用户的客户端设备而提供的金额。该系统还可以从其他数字组件提供者接收类似数据。
该系统基于从给定内容提供者接收的数据来提供数字组件(312)。例如,系统可以基于从给定数字组件提供者和一个或多个其他数字组件提供者接收的数据来选择数字组件。在一些实施方式中,系统可以基于每个数字组件的质量得分和针对从数字组件提供者接收的数据中指定的每个数字组件的金额的组合来选择数字组件。系统可以通过在数据通信网络上传送数字组件,将数字组件提供给与用户设备相关联的用户的客户端设备。客户端设备可以例如在网页或应用页面的数字组件槽位中,向用户呈现接收的数字组件。
图4是图示以防止数据泄露的受控方式来提供数据I的示例过程400的流程图。过程400的操作可以例如通过包括一个或多个数据处理设备的系统——诸如图1和图2的数字组件分发系统120来实现。过程400还可以通过存储在计算机存储介质上的指令来实现,其中,由包括数据处理装置的系统执行指令使得该数据处理装置执行过程400的操作。
系统从给定实体接收活动数据请求(402)。例如,给定实体可以获取对包括与匿名用户标识符相关联的用户的活动数据的一个或多个数据集的访问权。当给定实体想要给定用户标识符的数据时,给定实体可以提交指定给定用户标识符的活动数据请求。
在一个特定示例中,实体可以是向用户提供推荐或建议的组织。实体可以自动地或者响应于用户请求而提供推荐或建议。例如,该实体可以是向用户提供电影或电视节目推荐的视频流送服务。视频流送服务可以基于用户的活动数据来确定向该用户推荐哪些电影或节目。当视频流送服务决定向用户提供推荐时,视频流送服务可以向系统提供指定该用户的用户标识符的活动数据请求。
系统为实体识别数据集,该数据集包括用户标识符(或用户的另一用户标识符)并且是实体有资格从其接收活动数据的数据集(404)。系统可以通过将活动数据请求的用户标识符与被包括在实体已经获取访问权的数据集中的用户标识符进行比较来识别数据集。
系统确定从实体接收的活动数据请求的数目是否大于阈值(406)。向系统提供数据集的系统或者发布者或者其他提供者可以将对给定实体履行的活动数据请求的数目限制到例如在给定时间段内的的请求阈值数目。例如,系统可以将实体限制到每天二十个请求的阈值。该阈值数目的请求防止实体通过将无限请求提供给系统来重新创建数据集,这防止了数据集的泄露。
对发布者指定的阈值,系统可以将从实体接收的、匹配一个或多个发布者的数据集的请求的数目限制到阈值数目。例如,发布者可以将每个实体限定到每天十个履行的请求,其包括来自由发布者提供的数据集的活动数据。已履行的请求是将活动数据返回给实体的请求。为了确定活动数据请求的数目是否超过阈值,系统可以确定从实体接收的、指定与从发布者接收的一个或多个数据集的用户标识符匹配的用户标识符的活动数据请求的数目,并且确定该数目是否超出了发布者指定的阈值。在另一示例中,系统可以确定从发布者接收的数据集中的数据被提供给实体的活动数据请求的数目,并且确定该数目是否超过发布者指定的阈值。
如果活动数据请求的数目超过阈值,则系统可以确定不向实体提供活动数据(408)。作为替代,系统可以向实体提供数据,从而向该实体通知该实体在该时间段内已经接收到最大活动数据量。
如果活动数据请求的数目没有超过阈值,则系统从用于实体的指定数目的所识别的数据集中,选择被包括在指定数目的所识别的数据集中的每个数据集中的用户标识符的活动数据(410)。在一些实施方式中,系统或数据集的其他提供者的发布者可以指定响应于单个数字组件请求而可以向数字组件提供者提供来自其的用户活动数据的数据集的最大数目。例如,基于用户导航到多个不同的资源,用户的用户标识符可以被包括在多个数据集中。为了更好地保护用户的数据、控制对用户数据的访问、以及防止数据泄露,系统可以限制响应于单个活动数据请求而可以从其提供用户的活动数据的数据集的数目。
系统可以选择识别的数据集中的从中提供活动数据的一个或多个数据集(直到达到指定数目的数据集)。例如,系统可以基于以下来选择数据集:实体针对数据集的访问权所提供的金额、实体获取对数据集的访问权的新近程度、和/或由实体或系统指定的数据集的优先级排名。
系统将用户标识符的选择的活动数据提供给给定的数字组件提供者(412)。例如,系统可以通过数据通信网络将该数据传送到实体的计算机。然后,实体可以使用该数据,例如以生成与用户标识符相关联的对用户的推荐或建议。
本说明书中描述的主题和功能性操作的实施例能够以数字电子电路、以有形实施的计算机软件或固件、以硬件——包括本说明书中公开的结构及其结构等同物、或者以它们中的一个或多个的组合来实现。本说明书中描述的主题能够被实现为一个或多个计算机程序,即计算机程序指令的一个或多个模块,其被编码在有形非暂时性程序载体上,以用于由数据处理装置执行或控制数据处理装置的操作。替选地或另外地,程序指令能够被编码在人工生成的传播信号上,该信号例如机器生成的电、光、或电磁信号,其被生成以对信息进行编码以用于传输到合适的接收器装置以供数据处理装置执行。计算机存储介质能够是机器可读存储设备、机器可读存储基底、随机或串行存取存储器设备、或它们中的一个或多个的组合。
术语“数据处理装置”涵盖用于处理数据的各种装置、设备、和机器,包括例如可编程处理器、计算机、或者多个处理器或计算机。该装置能够包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还能够包括创建用于所讨论的计算机程序的执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、或它们中的一个或多个的组合的代码。
计算机程序(也称为程序、软件、软件应用、模块、软件模块、脚本、或代码)能够以任何形式的编程语言编写,包括编译或解释语言、声明性或过程性语言,并且其能够以任何形式部署,包括作为独立程序或作为适于在计算环境中使用的模块、组件、子例程、或其它单元。计算机程序可以但不必对应于文件系统中的文件。程序能够被存储在保持其他程序或数据——例如存储在标记语言文档中的一个或多个脚本——的文件的一部分中、专用于所讨论的程序的单个文件中、或者多个协作文件——例如存储一个或多个模块、子程序、或代码部分的文件中。计算机程序能够被部署为在一个计算机上或在位于一个地点或跨多个地点分布并且通过通信网络互连的多个计算机上执行。
本说明书中所描述的过程和逻辑流程能够由一个或多个可编程计算机来执行,所述可编程计算机执行一个或多个计算机程序以通过在输入数据上操作并且生成输出来执行功能。该过程和逻辑流程也能够由专用逻辑电路执行并且装置也能够被实现为专用逻辑电路,所述专用逻辑电路例如FPGA(现场可编程门阵列)、ASIC(专用集成电路)、或者GPGPU(通用图形处理单元)。
适合于执行计算机程序的处理器包括例如通用微处理器或专用微处理器或者这两者,或者任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的必需元素是用于实施或执行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘、或光盘,或者可操作地耦合以从其接收数据或向其传输数据、或者这两者。然而,计算机不需要具有这样的设备。此外,计算机能够被嵌入另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器、或便携式存储设备,例如通用串行总线(USB)闪存驱动器,仅举数例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括:例如半导体存储器设备,例如EPROM、EEPROM、和闪速存储器设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器能够由专用逻辑电路补充或并且入专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施方式能够被实现在具有以下的计算机上:用于向用户显示信息的显示设备,例如CRT(阴极射线管)或LCD(液晶显示器)监视器;以及键盘和指示设备,例如鼠标或轨迹球,用户通过其能够向计算机提供输入。其他种类的设备也能够被用于提供与用户的交互;提供给用户的反馈能够是任何形式的感官反馈,例如视觉反馈、听觉反馈、或触觉反馈;并且能够接收来自用户的处于任何形式的输入,包括声音、语音、或触觉输入。此外,计算机能够通过向用户使用的设备发送文档以及从其接收文档来与该用户交互,例如通过响应从用户的客户端设备上的web浏览器接收的请求而向该web浏览器发送网页。
在本说明书中描述的主题的实施例能够被实现在计算系统中,该计算系统包括例如作为数据服务器的后端组件,或者包括例如应用服务器的中间件组件,或者包括例如具有图形用户界面或Web浏览器的客户端计算机的前端组件-用户通过该Web浏览器能够与本说明书中所描述的主题的实施方式交互,或者包括一个或多个这样的后端组件、中间件组件、或前端组件的任何组合。系统的组件能够通过例如通信网络的任何形式或介质的数字数据通信来互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如互联网。
计算系统能够包括客户端和服务器。客户端和服务器通常彼此远离并且一般通过通信网络交互。客户端和服务器的关系依靠在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
虽然本说明书包含许多具体实施方式细节,但是这些不应被解释为对任何发明或可以要求保护的内容的范围的限制,而是应当被解释为对特定发明的特定实施例特有的特征的描述。本说明书中在分开的实施例的场境(context)下所描述的某些特征也能够在单个实施例中组合实现。相反,在单个实施例场境下所描述的各个特征也能够在多个实施例中单独地或以任何合适的子组合来实现。此外,虽然上面可能将特征描述为以某些组合来起作用并且甚至最初如此要求保护,但是在一些情况下来自所要求保护的组合的一个或多个特征能够从组合中被删去,并且所要求保护的组合可以涉及子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为需要以所示的特定顺序或以连续顺序来执行这样的操作、或者需要执行所有所图示的操作才能达到期望的结果。在某些情况下,多任务和并且行处理可以是有利的。此外,上述实施例中的各个系统组件的分离不应被理解为在所有实施例中都需要这样的分离,并且应当理解,所描述的程序组件和系统通常能够一起集成在单个软件产品中或封装到多个软件产品内。
已经描述了本主题的特定实施例。其他实施例落入所附权利要求书的范围内。例如,权利要求书中所记载的动作能够以不同的顺序执行并且仍然达到期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或连续顺序来达到期望的结果。在某些实施方式中,多任务和并且行处理可以是有利的。

Claims (20)

1.一种用于防止数据泄露的系统,所述系统包括:
存储从发布者接收的多个数据集的一个或多个数据存储设备,其中,每个数据集包括(i)已经访问过该数据集所接收自的发布者的电子资源的用户的一个或多个用户标识符,并且对于每个用户,(ii)描述该用户对于所述电子资源执行的一个或多个动作的活动数据;
一个或多个前端服务器,所述一个或多个前端服务器:
接收数字组件请求,所述数字组件请求各自指定响应于所述数字组件请求而将数字组件提供给的用户的用户标识符;以及
响应于所述数字组件请求而提供数字组件;以及
一个或多个数据泄露服务器,所述一个或多个数据泄露服务器与所述一个或多个数据存储设备和所述一个或多个前端服务器数据通信并且:
从所述一个或多个前端服务器接收指定由给定数字组件请求指定的给定用户的给定用户标识符的数据;
通过以下操作来防止将活动数据泄露给数字组件提供者:
针对给定数字组件提供者,识别数据集,所述数据集(i)包括所述给定用户的用户标识符并且(ii)是所述数字组件提供者有资格从其接收数据的数据集;
从指定数目的识别的数据集中选择在所述指定数目的识别的数据集中的每个数据集中包括的所述给定用户的活动数据;以及
将选择的数据提供给所述给定数字组件提供者。
2.如权利要求1所述的系统,其中,所述一个或多个数据泄露服务器将选择的数据提供给所述给定数字组件提供者,而不提供在除所述指定数目的识别的数据集中的每个数据集外的任何数据集中包括的所述给定用户的活动数据。
3.如权利要求1所述的系统,其中,所述一个或多个数据泄露服务器响应于所述给定数字组件请求而仅将所述给定用户的数据提供给所述给定数字组件提供者。
4.如权利要求1所述的系统,其中,所述一个或多个前端服务器响应于接收到选择的数据而基于从所述给定数字组件接收的数据来将所述给定数字组件提供者的数字组件提供给由所述给定用户标识符标识的用户的用户设备。
5.如权利要求1所述的系统,其中,每个数据集包括一个或多个数据元组,并且每个元组包括由该数据集所接收自的发布者选择的数据类型。
6.如权利要求1所述的系统,其中:
所述一个或多个前端服务器接收活动数据请求并且响应于所述所述活动数据请求而提供活动数据,所述活动数据请求各自指定请求其活动数据的用户的用户标识符;以及
所述一个或多个数据泄露服务器:
从所述一个或多个前端服务器接收指定由从特定实体接收的特定活动数据请求指定的特定用户的特定用户标识符的数据;
识别多个数据集,所述多个数据集(i)包括所述特定用户的用户标识符并且(ii)是所述特定实体有资格从其接收数据的数据集;
确定所述特定实体在指定时间段期间未请求大于阈值数目的用户的活动数据;
响应于确定特定实体在指定时间段期间未请求大于阈值数目的用户的活动数据:
从所述多个数据集中的指定数目的数据集中选择在所述多个数据集中的所述指定数目的数据集中的每个数据集中包括的所述特定用户的活动数据;以及
将选择的数据提供给所述特定实体。
7.如权利要求6所述的系统,其中,确定所述特定实体在指定时间段期间未请求大于阈值数目的用户的活动数据包括:
确定从所述特定实体接收的活动数据请求的数目,所述活动数据请求指定与从特定发布者接收的一个或多个数据集的用户标识符匹配的用户标识符;以及
确定所述活动数据请求的数目不大于由所述特定发布者指定的阈值。
8.一种用于防止数据泄露的计算机实现的方法,所述方法包括:
由一个或多个服务器接收数字组件请求,所述数字组件请求各自指定响应于所述数字组件请求而将数字组件提供给的用户的用户标识符;
由所述一个或多个服务器响应于所述数字组件请求而提供数字组件;
由所述一个或多个服务器接收指定由给定数字组件请求指定的给定用户的给定用户标识符的数据;
由所述一个或多个服务器通过以下操作来防止将活动数据泄露给数字组件提供者:
针对给定数字组件提供者从自发布者接收的多个数据集中识别数据集,所述数据集(i)包括所述给定用户的用户标识符并且(ii)是所述数字组件提供者有资格从其接收数据的数据集,其中,每个数据集包括(i)已经访问过所述数据集所接收自的发布者的电子资源的用户的一个或多个用户标识符,并且对于每个用户,
(ii)描述该用户对于所述电子资源执行的一个或多个动作的活动数据;
从指定数目的识别的数据集中选择在所述指定数目的识别的数据集中的每个数据集中包括的所述给定用户的活动数据;以及
将选择的数据提供给所述给定数字组件提供者。
9.如权利要求8所述的方法,其中,所述一个或多个服务器将选择的数据提供给所述给定数字组件提供者,而不提供在除所述指定数目的识别的数据集中的每个数据集外的任何数据集中包括的所述给定用户的活动数据。
10.如权利要求8所述的方法,其中,所述一个或多个服务器响应于所述给定数字组件请求而仅将所述给定用户的数据提供给所述给定数字组件提供者。
11.如权利要求8所述的方法,其中,所述一个或多个服务器响应于接收到选择的数据而基于从所述给定数字组件接收的数据来将所述给定数字组件提供者的数字组件提供给由所述给定用户标识符标识的用户的用户设备。
12.如权利要求8所述的方法,其中,每个数据集包括一个或多个数据元组,并且每个元组包括由该数据集所接收自的发布者选择的数据类型。
13.如权利要求8所述的方法,进一步包括:
从特定实体接收指定特定用户的特定用户标识符的特定活动数据请求;
识别多个数据集,所述多个数据集(i)包括所述特定用户的用户标识符并且(ii)是所述特定实体有资格从其接收数据的数据集;
确定所述特定实体在指定时间段期间未请求大于阈值数目的用户的活动数据;
响应于确定所述特定实体在指定时间段期间未请求大于阈值数目的用户的活动数据:
从所述多个数据集中的指定数目的数据集中选择在所述多个数据集中的所述指定数目的数据集中的每个数据集中包括的所述特定用户的活动数据;以及
将选择的数据提供给所述特定实体。
14.如权利要求13所述的方法,其中,确定所述特定实体在指定时间段期间未请求大于阈值数目的用户的活动数据包括:
确定从所述特定实体接收的活动数据请求的数目,所述活动数据请求指定与从特定发布者接收的一个或多个数据集的用户标识符匹配的用户标识符;以及
确定所述活动数据请求的数目不大于由所述特定发布者指定的阈值。
15.一种编码有计算机程序的非瞬时计算机存储介质,所述程序包括在由一个或多个数据处理装置执行时使得所述数据处理装置执行操作的指令,所述操作包括:
接收数字组件请求,所述数字组件请求各自指定响应于所述数字组件请求而将数字组件提供给的用户的用户标识符;
响应于所述数字组件请求而提供数字组件;
接收指定由给定数字组件请求指定的给定用户的给定用户标识符的数据;
通过以下操作来防止将活动数据泄露给数字组件提供者:
针对给定数字组件提供者从自发布者接收的多个数据集中识别数据集,所述数据集(i)包括所述给定用户的用户标识符并且(ii)是所述数字组件提供者有资格从其接收数据的数据集,其中,每个数据集包括(i)已经访问过所述数据集所接收自的发布者的电子资源的用户的一个或多个用户标识符,并且对于每个用户,(ii)描述该用户对于所述电子资源执行的一个或多个动作的活动数据;
从指定数目的识别的数据集中选择在所述指定数目的识别的数据集中的每个数据集中包括的所述给定用户的活动数据;以及
将选择的数据提供给所述给定数字组件提供者。
16.如权利要求15所述的非瞬时计算机存储介质,其中,所述数据处理装置将选择的数据提供给所述给定数字组件提供者,而不提供在除所述指定数目的识别的数据集中的每个数据集外的任何数据集中包括的所述给定用户的活动数据。
17.如权利要求15所述的非瞬时计算机存储介质,其中,所述数据处理装置响应于所述给定数字组件请求而仅将所述给定用户的数据提供给所述给定数字组件提供者。
18.如权利要求15所述的非瞬时计算机存储介质,其中,数据处理装置响应于接收到选择的数据而基于从所述给定数字组件接收的数据来将所述给定数字组件提供者的数字组件提供给由所述给定用户标识符标识的用户的用户设备。
19.如权利要求15所述的非瞬时计算机存储介质,其中,每个数据集包括一个或多个数据元组,并且每个元组包括由该数据集所接收自的发布者选择的数据类型。
20.如权利要求15所述的非瞬时计算机存储介质,其中,所述操作进一步包括:
从特定实体接收指定特定用户的特定用户标识符的特定活动数据请求;
识别多个数据集,所述多个数据集(i)包括所述特定用户的用户标识符并且(ii)是所述特定实体有资格从其接收数据的数据集;
确定所述特定实体在指定时间段期间未请求大于阈值数目的用户的活动数据;
响应于确定所述特定实体在指定时间段期间未请求大于阈值数目的用户的活动数据:
从所述多个数据集中的指定数目的数据集中选择在所述多个数据集中的所述指定数目的数据集中的每个数据集中包括的所述特定用户的活动数据;以及
将选择的数据提供给所述特定实体。
CN201780002727.5A 2017-05-17 2017-05-17 防止数据泄露的方法、系统和计算机存储介质 Active CN109275357B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2017/033007 WO2018212769A1 (en) 2017-05-17 2017-05-17 Preventing data leakage

Publications (2)

Publication Number Publication Date
CN109275357A CN109275357A (zh) 2019-01-25
CN109275357B true CN109275357B (zh) 2022-05-24

Family

ID=58995249

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780002727.5A Active CN109275357B (zh) 2017-05-17 2017-05-17 防止数据泄露的方法、系统和计算机存储介质

Country Status (6)

Country Link
US (1) US11281785B2 (zh)
EP (1) EP3583537B1 (zh)
JP (1) JP6549782B2 (zh)
KR (1) KR102285880B1 (zh)
CN (1) CN109275357B (zh)
WO (1) WO2018212769A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11308232B2 (en) * 2018-06-05 2022-04-19 Google Llc Assessing data leakage risks
US10701238B1 (en) * 2019-05-09 2020-06-30 Google Llc Context-adaptive scanning
US20200380148A1 (en) * 2019-06-03 2020-12-03 Otonomo Technologies Ltd. Method and system for aggregating users' consent
US11281794B2 (en) * 2019-09-26 2022-03-22 Microsoft Technology Licensing, Llc Fine grained access control on procedural language for databases based on accessed resources

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012109533A1 (en) * 2011-02-10 2012-08-16 Beyondtrust Software, Inc. System and method for detecting or preventing data leakage using behavior profiling
WO2014130968A1 (en) * 2013-02-22 2014-08-28 Trueffect Inc. Data management process utilizing a first-party technique

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030014347A1 (en) 2001-07-13 2003-01-16 Tiefenbrun Natan Elazar System for isolating clients and bidders in a multiple risk bid market
US7275260B2 (en) * 2001-10-29 2007-09-25 Sun Microsystems, Inc. Enhanced privacy protection in identification in a data communications network
US7107285B2 (en) * 2002-03-16 2006-09-12 Questerra Corporation Method, system, and program for an improved enterprise spatial system
US7174021B2 (en) * 2002-06-28 2007-02-06 Microsoft Corporation Systems and methods for providing secure server key operations
WO2007001247A2 (en) * 2004-06-02 2007-01-04 Yahoo! Inc. Content-management system for user behavior targeting
WO2006076520A2 (en) * 2005-01-14 2006-07-20 International Business Machines Corporation Sharable multi-tenant reference data utility and repository, including value enhancement and on-demand data delivery and methods of operation
EP1851649A2 (en) * 2005-02-01 2007-11-07 Newsilike Media Group, Inc. Systems and methods for use of structured and unstructured distributed data
US20080104393A1 (en) 2006-09-28 2008-05-01 Microsoft Corporation Cloud-based access control list
US20080249987A1 (en) * 2007-04-06 2008-10-09 Gemini Mobile Technologies, Inc. System And Method For Content Selection Based On User Profile Data
US20090299868A1 (en) 2008-04-29 2009-12-03 O'leary Fiona Method and system for providing bid information to a user in response to a service request
US9076153B2 (en) 2010-04-16 2015-07-07 Google Inc. Method, medium, and system for detecting data misuse
US20120059717A1 (en) 2010-09-01 2012-03-08 Google Inc. User List Generation and Identification
CA2810210C (en) * 2010-09-01 2018-09-18 Anurag Agarwal Access control for user-related data
US8954736B2 (en) * 2012-10-04 2015-02-10 Google Inc. Limiting the functionality of a software program based on a security model
US10248975B2 (en) 2013-02-27 2019-04-02 Facebook, Inc. Providing advertisement content via an advertisement proxy server
US10559013B2 (en) 2013-03-07 2020-02-11 Facebook, Inc. Identifying users for advertising opportunities based on paired identifiers
US9313274B2 (en) * 2013-09-05 2016-04-12 Google Inc. Isolating clients of distributed storage systems
KR102361002B1 (ko) * 2013-12-04 2022-02-08 윅스.컴 리미티드 제 3 자 애플리케이션 활동 데이터 수집을 위한 시스템 및 방법
US9860142B2 (en) * 2014-06-23 2018-01-02 Synchronoss Technologies, Inc. Apparatus, system and method of data collection after software removal
JP6055023B2 (ja) * 2015-05-11 2016-12-27 レノボ・シンガポール・プライベート・リミテッド クラウド環境にデータを保存する情報処理装置、端末装置および保存方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012109533A1 (en) * 2011-02-10 2012-08-16 Beyondtrust Software, Inc. System and method for detecting or preventing data leakage using behavior profiling
WO2014130968A1 (en) * 2013-02-22 2014-08-28 Trueffect Inc. Data management process utilizing a first-party technique

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Preventing Data Leakage in a Cloud Environment;Fuzhi Cand等;《ZTE Communications》;20140226;全文 *

Also Published As

Publication number Publication date
JP2019518251A (ja) 2019-06-27
KR102285880B1 (ko) 2021-08-05
EP3583537B1 (en) 2020-10-14
US20190325151A1 (en) 2019-10-24
EP3583537A1 (en) 2019-12-25
WO2018212769A1 (en) 2018-11-22
JP6549782B2 (ja) 2019-07-24
US11281785B2 (en) 2022-03-22
KR20190118616A (ko) 2019-10-18
CN109275357A (zh) 2019-01-25

Similar Documents

Publication Publication Date Title
USRE49262E1 (en) Providing content to a user across multiple devices
US9213754B1 (en) Personalizing content items
US11361344B2 (en) Combining content with a search result
JP6334696B2 (ja) ハッシュタグおよびコンテンツ提示
US20120265607A1 (en) Click-to-reveal content
CN109275357B (zh) 防止数据泄露的方法、系统和计算机存储介质
US10733665B2 (en) Multiple interaction auction
US11720920B1 (en) Combining content with a search result
US11455299B1 (en) Providing content in response to user actions
US20210125222A1 (en) Content keyword identification
US11544342B1 (en) Selecting content for co-located devices
EP4220467A1 (en) Secured management of data distribution restrictions
US10129323B1 (en) Sharing data across partner websites
US20170148068A1 (en) Entity based content distribution
US20230259815A1 (en) Machine learning techniques for user group based content distribution
US8909752B1 (en) Systems and methods for associating data with advertisements
US11423034B1 (en) Display of social content

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
GR01 Patent grant
GR01 Patent grant