掌桥专利:专业的专利平台
掌桥专利
首页

用于保护设备隐私的系统和方法

文献发布时间:2023-06-19 12:16:29


用于保护设备隐私的系统和方法

相关申请的交叉引用

本申请要求于2019年7月29日提交的美国专利申请序列No.16/524,792的优先权,其内容通过引用并入本文。

背景技术

人们可以在线购物而不是去实体店。当人们正在访问不同的网页和域以购物时,在许多情况下,与网页和域相关联的第三方可能能够标识用于访问网页的计算设备,并且将计算设备的标识符添加到由内容服务器存储的用户列表。用户列表可以与第三方相关联并且标识单独的计算设备。第三方通常是在人们访问网页和域时向他们提供内容的内容提供者。随着人们继续在线购物,人们用来购物的计算设备可以被添加到越来越多的用户列表中,而人们通常并不知道。第三方可以使用存储在内容服务器上的用户列表来向访问另外的网页的用户列表上的计算设备提供内容。因为用户列表基于人们已经访问的网页和域来生成,所以第三方可以基于人们已经访问的网页和域的内容向计算设备提供相关内容。

发明内容

本文所讨论的系统和方法提供一种用于使计算设备匿名的方法,所以当计算设备浏览互联网时,计算设备可能不会被内容提供者单独地标识。当计算设备访问与第三方相关联的不同网页和域时,网页和域可以将内容选择列表存储到计算设备的浏览器。在访问另一网页时,计算设备的浏览器可以选择与计算设备相关联的内容选择列表的子集,并且在服务器的帮助下确定是否存在与内容选择列表的相同子集相关联的超过阈值的足够的计算设备(例如,是否有足够的计算设备与内容选择列表的子集的交集相关联以超过阈值)。如果浏览器确定存在与内容选择列表的相同子集相关联的足够的计算设备,则浏览器可以向内容服务器提供内容选择列表的子集(例如,内容选择列表的子集的标识),而不会危害用户的隐私保护。如果没有足够的计算设备与内容选择列表的相同子集相关联,则浏览器可以选择内容选择列表的另一子集,该内容选择列表的另一子集包括与足够的计算设备相关联的交集,使得浏览器可以在具有足够隐私保护的情况下将该子集包括在对来自内容服务器的内容的请求中。

有利地,通过实现本文讨论的系统和方法,计算设备的浏览器可以控制在计算设备请求内容时发送到内容服务器的内容选择列表,所以内容提供者可能无法标识计算设备。内容选择列表可以不包括内容选择列表上的计算设备的标识符,所以内容提供者可能难以标识发送对内容的请求的计算设备。

本文描述的系统和方法可以用于控制与从内容提供者请求内容的计算设备相关联的内容选择列表,所以内容提供者可能不能够基于内容选择列表来标识单独的计算设备。实现本文描述的系统和方法的计算设备可以在确定内容选择列表包括与内容选择列表的交集相关联的足够的计算设备时传送计算设备与之相关联的内容选择列表的列表,内容提供者可能不能缩小标识发送内容选择列表的计算设备的列表。如果没有足够的设备与内容选择列表的交集相关联,则计算设备可以传送未唯一地标识单个设备或少量设备的另一组内容选择列表以进一步使计算设备匿名。

当向内容服务器发送对内容的请求时,计算设备可以确定与每个内容选择列表相关联的内容选择值并且发送内容选择列表的子集,该子集具有最高内容选择值并且与足够的设备相关联以保持计算设备匿名。因此,接收请求的内容服务器可以接收既保持请求计算设备匿名又具有最高内容选择值的内容选择列表。

在本文描述的一个方面,描述了客户端侧匿名内容选择的方法。所述方法包括:由计算设备收集内容选择列表的多个标识,每个内容选择列表与所述计算设备相关联,以及由所述计算设备响应于与所述内容选择列表的第一子集的多个内容选择列表相关联的唯一设备的总数超过阈值而选择第一子集。该方法包括由所述计算设备向内容服务器传送对内容项的请求,所述请求包括所选择的第一子集的所述内容选择列表的标识,以及由所述计算设备接收由所述内容服务器基于所选择的第一子集的所述内容选择列表而选择的第一内容项。

在一些实现方式中,收集内容选择列表的多个标识还包括由所述计算设备响应于网页的检索或在网页上的用户活动从内容提供者接收与所述第一设备相关联的内容选择列表的第一标识。

在一些实现方式中,该方法还包括,对于内容选择列表的多个子集中的每个子集,由所述计算设备从设备标识符管理器接收标识,该标识指示与所述子集的多个内容选择列表相关联的唯一设备的总数是否超过所述阈值。

在一些实现方式中,内容选择列表的所述多个标识中的每一个标识与内容选择值相关联。

在一些实现方式中,选择内容选择列表的第一子集还包括响应于与所述第一子集的内容选择列表相关联的所述内容选择值的组合超过与每个其它子集的内容选择列表相关联的内容选择值的组合,从内容选择列表的多个子集中选择所述第一子集。

在一些实现方式中,至少一个内容选择列表与基于条件的值的内容选择值相关联;以及还包括由所述计算设备确定所述条件的当前值和用于所述至少一个内容选择列表的对应内容选择值。

在一些实现方式中,选择内容选择列表的第一子集还包括响应于所述计算设备的机器学习模型指示用于内容选择列表的多个子集中的所述第一子集的最高内容选择值,基于每个内容选择列表的所述内容选择值和从每个内容选择列表选择内容的可能性来选择所述第一子集。

在一些实现方式中,所述请求还包括响应于由所述计算设备确定与所述第一子集的所述多个内容选择列表相关联的唯一设备的所述总数低于第二阈值,而在所选择的第一子集中不包括附加内容选择列表的标识。

在一些实现方式中,该方法还包括由所述计算设备接收基于所述附加内容选择列表而选择的内容项;以及响应于基于所述附加内容选择列表来选择所述内容项,由所述计算设备丢弃接收到的内容项。

在一些实现方式中,传送对所述内容项的所述请求还包括传送不包括所述计算设备的设备标识符的所述请求。

在另一方面,描述了一种用于客户端侧匿名内容选择的系统。该系统包括与第一设备相关联的计算设备,该计算设备包括处理器和与内容服务器通信的网络接口。网络接口被配置为接收内容选择列表的多个标识,每个内容选择列表与第一设备相关联。所述处理器被配置为响应于与所述内容选择列表的第一子集的多个内容选择列表相关联的唯一设备的总数超过阈值而选择第一子集。网络接口还被配置为向所述内容服务器传送对内容项的请求,所述请求包括所选择的第一子集的所述内容选择列表的标识,并且接收由所述内容服务器基于所选择的第一子集的所述内容选择列表而选择的第一内容项。

在一些实现方式中,网络接口还被配置为响应于网页的检索由计算设备从内容提供者收集与第一设备相关联的内容选择列表的第一标识。

在一些实现方式中,网络接口还被配置为对于内容选择列表的多个子集中的每个子集从设备标识符管理器接收标识,该标识指示与所述第一子集的多个内容选择列表相关联的唯一设备的总数是否超过所述阈值。

在一些实现方式中,内容选择列表的所述多个标识中的每一个标识与内容选择值相关联。

在一些实现方式中,处理器还被配置为响应于与所述第一子集的内容选择列表相关联的所述内容选择值的组合超过与每个其它子集的内容选择列表相关联的内容选择值的组合,从内容选择列表的多个子集中选择所述第一子集。

在一些实现方式中,至少一个内容选择列表与基于条件的值的内容选择值相关联;并且其中所述处理器还被配置为确定所述条件的当前值和用于所述至少一个内容选择列表的对应内容选择值。

在一些实现方式中,处理器还被配置为响应于所述计算设备的机器学习模型指示用于内容选择列表的多个子集中的所述第一子集的最高内容选择值,基于每个内容选择列表的所述内容选择值和从每个内容选择列表选择内容的可能性来选择所述第一子集。

在一些实现方式中,所述处理器还被配置为确定与所述第一子集的所述多个内容选择列表相关联的所述唯一设备的总数低于第二阈值;并且其中,所述请求还包括响应于所述确定而在所选择的第一子集中不包括附加内容选择列表的标识。

在一些实现方式中,网络接口还被配置为接收基于所述附加内容选择列表而选择的内容项;以及响应于基于所述附加内容选择列表来选择所述内容项,丢弃接收到的内容项。

在一些实现方式中,网络接口还被配置为传送不包括所述计算设备的设备标识符的所述请求。

一个方面的可选特征可以与任何其它方面组合。

附图说明

在附图和以下描述中阐述了一个或多个实现方式的细节。根据描述、附图和权利要求,本公开的其它特征、方面和优点将变得显而易见,其中:

图1A是根据一些实现方式的三个内容选择列表的维恩图,每个内容选择列表与计算设备相关联,该计算设备做出对内容的请求并且包括与指示在多个内容选择列表中的唯一设备的交集相关联的唯一设备;

图1B是根据一些实现方式图1A的维恩图,其包括做出对内容的请求的计算设备不与之相关联的第四内容选择列表;

图2是根据一些实现方式的用于保护从内容服务器接收内容的计算设备的隐私的系统的实现方式的框图;

图3是示出根据一些实现方式的用于确定是否存在足够的与内容选择列表相关联的设备以用于内容提供者将内容提供给请求内容的计算设备的方法的流程图;以及

图4是示出根据一些实现方式的用于基于子集的值来选择内容选择列表的子集并且基于所选择的子集来接收内容项的方法的流程图。

在各个附图中,相同的附图标记和名称表示相同的元件。

具体实现方式

通过获得和分析内容选择列表,第三方可以基于计算设备所关联的内容选择列表来标识单独的计算设备。如果计算设备与足够的内容选择列表相关联,或者不存在与内容选择列表相关联的许多计算设备,则第三方通常可以缩小他们向哪个计算设备提供内容。例如,如果不存在与在对内容的请求中所标识的每个内容选择列表相关联的许多计算设备,则第三方可能能够标识计算设备或一小组设备。因为当访问网页时计算设备可以被自动地与内容选择列表相关联,所以使用计算设备的人们难以阻止第三方标识他们的设备。因此,浏览互联网的人可能不能阻止第三方标识他们的计算设备。一旦计算设备被标识,第三方就可以对计算设备进行指纹标识,并且向计算设备提供目标内容。

例如,参考图1A,示出了根据一些实现方式的三个内容选择列表的维恩图100,每个内容选择列表包括表示与每个内容选择列表相关联的计算设备的唯一设备标识符以及指示与多个内容选择列表相关联的计算设备的交集。在一些实现方式中,维恩图100被示为包括内容选择列表102、104和106。内容选择列表102、104和106可以表示内容提供者在从计算设备接收到请求时用于向计算设备提供内容的内容选择列表,并且可以基于各种因素,诸如设备类型或特性和/或对应用户的特性(例如,人口统计)。内容选择列表102、104和106可以与做出对内容的请求的计算设备(例如,计算设备112)相关联。维恩图100可以包括任何数量的内容选择列表。内容选择列表102、104和106中的每一个可以包括标识特定计算设备的唯一设备标识符。在一些实现方式中,维恩图100被示出为包括交集108、114、116和118。交集108、114、116和118可以包括在多个内容选择列表中的唯一设备标识符。维恩图100可以包括任意数量的交集。内容选择列表的标识可以被存储在与每个列表相关联的计算设备的浏览器中。计算设备112可以在请求内容时将内容选择列表标识传送到内容服务器,从而内容提供者可以确定提供哪个内容。

每个内容选择列表102、104和106可以包括如由计算设备110表示的唯一设备。如本文所述,唯一设备可以不与关联于每个内容选择列表的设备标识符相关联。所述唯一设备可以向服务器通知他们是内容选择列表的一部分而不提供唯一地标识所述唯一设备的信息。例如,在一个这样的实现方式中,设备可以向服务器告知它们在内容选择列表上,并且服务器可以递增列表的计数,但是服务器可以不存储与关联于列表的设备相关联的设备标识符或其他标识符——列表可以仅与计数(以及其他元数据,诸如列表描述、到期日期等)相关联。这样的实现方式可以通过消除列表被泄露的风险来帮助保护隐私。计算设备可以在它们浏览互联网时与内容选择列表102、104和106相关联,并且第三方将与第三方相关联的内容选择列表标识存储在计算设备的浏览器中。如图1A所示,每个内容选择列表102、104和106可以包括多个计算设备(例如,计算设备可以与内容选择列表102、104和106相关联)。与公共内容选择列表相关联的计算设备被示为包括在交集108、114、116和118中。

在一些情况下,由于计算设备与更多内容选择列表相关联,因此可以存在与相同的内容选择列表集合相关联的更少的计算设备。例如,如在交集108、114、116和118中可以看到的,计算设备112与越多的内容选择列表相关联,则在内容选择列表之间的交集中的计算设备越少。因此,与太多内容选择列表相关联的计算设备(例如,计算设备112)可以被内容提供者唯一地或半唯一地标识,该内容提供者在对内容的请求中接收所有内容选择列表。内容提供者可以标识每个内容选择列表所共有的唯一设备以标识计算设备112。此外,因为不使用本文描述的系统和方法的系统通常将内容选择列表存储在内容服务器上,所以计算设备需要依赖内容服务器以保持计算设备的身份匿名。内容服务器可以不被配置为如特定计算设备的管理员或用户所期望的那样将计算设备的身份保持匿名。相反,本文讨论的系统和方法的实现方式向计算设备提供对其隐私的更多控制,并且使计算设备在从内容提供者请求内容时保持匿名。

具体地,本文描述的系统和方法的实现方式可以用于远离内容服务器存储内容选择列表并且使计算设备与内容提供者匿名。该系统和方法提供了在浏览器上存储内容选择列表标识,以及向与足够的计算设备相关联的内容提供者提供内容选择列表标识,使得内容提供者可能无法标识请求内容的特定计算设备。

简而言之,计算设备可以通过访问内容提供者的网页来接收与内容选择列表相关联的标识符。计算设备可以在服务器的帮助下确定与内容选择列表相关联的唯一计算设备的总数是否超过阈值。如果在内容选择列表的子集中存在超过阈值的足够的计算设备,则计算设备可以确定可以向内容提供者发送对内容的请求,同时保持计算设备匿名。计算设备可以向内容服务器传送对内容的请求,该请求包括子集的内容选择列表的标识符。

在一些实现方式中,如果计算设备确定不存在与超过阈值的足够的计算设备相关联的内容选择列表的子集,则计算设备可以从服务器请求另一内容选择列表的标识,该另一内容选择列表与超过阈值的足够的计算设备所关联的子集的其他内容选择列表具有交集。计算设备可以在对内容服务器的内容的请求中包括内容选择列表标识的子集中的所添加的内容选择列表的标识。因此,当计算设备请求内容并且向第三方内容提供者提供与计算设备相关联的内容选择列表时,计算设备可以保持对第三方内容提供者匿名。

现在参考图1B,示出了根据一些实现方式的与参考图1A示出和描述的维恩图100类似的维恩图120,并且维恩图120包括计算设备不与之相关联的第四内容选择列表。维恩图120被示为包括内容选择列表122、124、126和128以及交集134、136、138、140、142、144和146。计算设备132可以类似于计算设备112,并且当从内容提供者请求内容时,可以产生内容选择列表122、124和126(或122、124和126的任何子集)的标识。内容选择列表122、124和126的计算设备可以由内容选择列表126的计算设备130来表示。如上所述,如果没有足够的计算设备与从计算设备132接收到的每个内容选择列表的交集相关联,则内容提供者可能能够标识计算设备132。如果没有足够的计算设备与内容选择列表122、124和126的交集相关联以使计算设备132保持可接受的匿名,则计算设备132可以选择也与计算设备132相关联的内容选择列表的第二子集。计算设备132可以确定内容选择列表的第二子集是否与足够的计算设备相关联以使计算设备132保持匿名。如果内容选择列表的第二子集与达到阈值的足够的计算设备相关联,则计算设备132可以向内容服务器250发送对内容的请求,该请求包括内容选择列表的第二子集的标识。

在一些实现方式中,计算设备132可以请求计算设备132不与之相关联但是具有与其他内容选择列表共同的计算设备的交集的另一内容选择列表标识。由内容选择列表128表示,内容选择列表可以包括任意数量的唯一设备,并且可以与任意数量的交集相关联。如本文所述,唯一设备可以与计算设备相同或类似。计算设备132可以接收附加内容选择列表的标识,并且将具有其他内容选择列表的标识的新标识与对内容的请求一起发送到内容服务器。因此,因为添加另一内容选择列表可以产生计算设备132不与之相关联的新交集,所以内容提供者更难具有时间来缩减哪个计算设备正在请求内容。在具有大量内容选择列表(每个内容选择列表可能与数百或数千个设备和/或用户相关联)的情况下,这些实现方式可以使得对任何特定计算设备的唯一标识变得不可能。

现在参考图2,示出了根据一些实现方式的用于保护从内容服务器接收内容的计算设备的隐私的系统200的实现方式的框图。系统200被示为包括计算设备202、网络221、中间服务器222、内容提供者242和246、以及内容服务器250。计算设备202可以经由网络221浏览访问与不同第三方相关联的网页和域的互联网。网络221可以包括同步或异步网络。表示内容选择列表的标识可以被添加到计算设备202上的本地存储。内容选择列表可以与计算设备202访问的第三方、网页和/或域相关联。内容选择列表标识可以存储在计算设备202的浏览器中。当计算设备202访问另一网页时,计算设备202可以向内容提供者242和246之一发送对内容的请求。该请求可以包括内容选择列表标识,其可以由内容提供者242或246使用来标识要发送到计算设备202的内容。

在一些实施例中,计算设备202可以存储计算设备202与之相关联的内容选择列表中的每一个内容选择列表的标识。计算设备202可以向希望查看计算设备202与哪些内容选择列表相关联的用户显示内容选择列表标识的列表。列表可以包括向用户示出每个内容选择列表的目的和意图(例如,与每个列表相关联的内容提供者以及每个内容提供者提供的内容类型)的信息。因此,用户可以做出关于是移除计算设备202与内容选择列表之间的关联还是阻止网站/网页将计算设备202与内容选择列表相关联的明智的决定。此外,在一些实例中,计算设备202和内容选择列表之间的关联可以具有到期日期。在这些情况下,计算设备202可以在由管理员确定的预定时间段之后自动地移除计算设备202与内容选择之间的关联(例如,从存储中移除内容选择列表标识)。预定时间段可以是任何长度。

在一些实现方式中,中间服务器222可以包括一个或多个服务器或处理器,其被配置为防止计算设备(例如,计算设备202)被内容提供者(例如,内容提供者242和246)标识。在一些实现方式中,中间服务器222被示为包括处理器224和存储器226。类似于计算设备202,如将在下面详细讨论的,中间服务器222可以被配置为标识与从内容服务器250请求内容的计算设备相关联的内容选择列表,确定在与关联于每个内容选择列表的设备相关联的内容选择列表的交集中是否存在足够数量的唯一设备,所有这些唯一设备都属于内容选择列表的给定集合,如果总数不超过预定阈值则选择另一内容选择列表,确定每个内容选择列表的当前条件值,确定每个内容选择列表的内容选择值,选择具有最高内容选择值的内容选择列表的子集,并且将所选择的内容选择列表的标识传送到内容服务器250。中间服务器222内的一个或多个组件可以促进中间服务器222内的每个组件与诸如内容提供者242和246、内容服务器250和计算设备202的外部组件之间的通信。中间服务器222可以包括多个连接设备,其中每个设备提供必要操作的部分(例如,作为服务器库、刀片服务器组或多处理器系统)。

在一些实现方式中,处理器224可以包括被配置为在中间服务器222内的存储器226中的模块或组件上执行指令的一个或多个处理器。在一些实现方式中,处理器224执行存储器226内的模块,其可以被配置为确保计算设备(例如,计算设备202)在浏览互联网和从内容提供者请求内容时保持匿名。为了这样做,处理器224可以执行存储在中间服务器222的存储器226中的指令。在一些实现方式中,存储器226被示出为包括列表标识符228、列表选择器230、列表检索器232、条件分析器234、应用236和发送器238。如下所述,组件228-238中的每一个都可以执行与计算设备202的组件210-220类似的功能,以使计算设备保持匿名。

处理器224可以利用应用236来实现机器学习模型(例如,神经网络、支持向量机、随机森林等),以确定与内容选择列表相关联的内容选择值。如以下将讨论的,机器学习模型也可以在计算设备202上实现。在一些实现方式中,处理器224可以向内容服务器250提供具有内容选择值的最高组合的内容选择列表的子集。在一些实现方式中,处理器224可以包括协处理器或者可以与协处理器通信,所述协处理器例如是张量处理单元(TPU),其仅仅专用于使用机器学习技术来确定内容选择列表的内容选择值。

在一些实现方式中,存储器226还被示出为包括内容选择列表数据库240。内容选择列表数据库240也可以被包括在计算设备202的浏览器中。内容选择列表数据库240可以是包括与计算设备相关联的内容选择列表标识的动态数据库。内容选择列表数据库240可以是图形数据库、MySQL、Oracle、MicrosoftSQL、PostgreSql、DB2、文档存储、搜索引擎、键值存储等。内容选择列表数据库240可以被配置成保存任何数量的数据,并且可以由任何数量的组件组成。内容选择列表数据库240可以包括标识内容选择列表的内容选择列表标识符。每个内容选择列表可以与元数据相关联,所述元数据标识内容选择列表可以与之相关联的第三方、与内容选择列表相关联的内容类型、内容选择列表的唯一设备的数量、用于确定内容选择列表的当前条件值的条件等。内容选择列表数据库240可以被配置成存储具有任意数量的元数据的任意数量的内容选择列表。

在一些实现方式中,内容选择列表数据库240可以存储与内容选择列表相关联的计算设备的临时标识,其可以持续一天或在它们期满之前的任何长度。临时标识可以包括指示相关联的计算设备与哪些内容选择列表相关联的元数据。然而,因为标识是临时的,所以当内容提供者向计算设备提供未来内容时,计算设备可能无法由内容提供者从标识中进行标识。

在一些实现方式中,中间服务器222可以实现(n,t)-阈值方案以保护计算设备的隐私。计算设备可以向中间服务器222发送加密信息,该信息指示计算设备是哪些内容选择列表的一部分。每个计算设备可以具有不向内容提供者泄露的私钥。

内容服务器250可以是被配置为在从计算设备202接收到请求之后在网页的专用内容空间处向计算设备202提供内容的服务器或处理器。内容服务器250可以包括应用252。在一些实现方式中,应用252可以包括应用、服务器、服务、守护进程、例程或其他可执行逻辑,以基于由计算设备202提供的内容选择列表来确定哪个内容提供者(例如,内容提供者242或246)将最高值与正在提供的内容相关联。应用252可以接收当计算设备202访问网页并且传送对于来自内容提供者242和246的内容的请求时由计算设备202所选择的内容选择列表。在一些实现方式中,内容提供者242和246可以基于由计算设备202传送的内容选择列表将值与它们正在提供的内容相关联。应用252可以确定将最高值与正在提供的内容相关联的内容提供者可以向计算设备202提供内容。任何服务器或处理器(例如,中间服务器222、计算设备202、内容提供者242和246等)上的组件可以确定哪个内容提供者将最高值与正在提供的内容相关联。

在一些实现方式中,内容提供者242和246可以是第三方内容提供者,其从计算设备(例如,计算设备202)接收提供内容的请求,并且基于与该请求相关联的内容选择列表向内容服务器250提交值以用于向计算设备202提供内容。在一些实例中,如果内容选择列表的交集没有足够的唯一设备,则内容提供者242可以从内容选择列表中标识单独的计算设备。内容提供者242和246可以缩减包括计算设备的内容选择列表的交集。一旦内容提供者242已经标识了单独的计算设备,内容提供者242和246就可以基于内容选择列表和请求的上下文(例如,内容将被显示在其上的网页的内容)向计算设备提供内容(例如,内容244和248)。计算设备202可以通过提供具有包括与大量计算设备相关联的计算设备202的交集的内容选择列表来防止内容提供者标识计算设备202。

例如,计算设备202可以打开web浏览器并且访问网页。计算设备202可以向内容服务器250提交包括内容选择列表的对内容的请求。内容选择列表的交集可以仅包括几个唯一设备。试图向计算设备202提供内容的内容提供者242可以从内容服务器250标识内容选择列表。如果没有足够的唯一设备与内容选择列表的交集相关联,则内容提供者242可能能够标识所有内容选择列表所共有的唯一设备,并且将与该唯一设备相关联的计算设备标识为请求内容的计算设备。为了避免被内容提供者242标识,计算设备202可以标识计算设备202是其一部分的内容选择列表的第二子集,其具有与更多计算设备相关联的交集。

如本文所述,唯一设备标识符本质上可为概念性的并且用于表示计算设备是否与内容选择列表相关联。唯一设备标识符可以不包括计算设备或与它们相关联的计算设备的各方面的任何物理标识。如所描述的,唯一设备标识符用于指示计算设备是否包括存储在计算设备的浏览器中的内容选择列表标识。唯一设备标识符还被用于描述中间服务器222如何对与关联于计算设备202的内容选择列表的交集相关联的计算设备的数量进行计数。中间服务器222可以通过与关联于列表的计算设备通信来计数关联于内容选择列表或关联于内容选择列表的交集的计算设备的数量。唯一设备标识符可以表示向中间服务器222提供它们与内容选择列表相关联的肯定指示的计算设备。然而,因为唯一设备标识符仅是概念性的并且不包括计算设备的物理标识,所以内容提供者可能不基于唯一设备标识符来标识计算设备。

例如,计算设备可以访问网页并且从网页接收内容选择列表标识。计算设备可以将内容选择列表标识存储在计算设备的浏览器中。如本文所述,通过将内容选择列表标识存储在浏览器中,与计算设备相关联的唯一设备标识符可以与内容选择列表相关联。当中间服务器222确定与内容选择列表或关联于内容选择列表的交集相关联的计算设备的数量时,中间服务器222可以通过向计算设备发送询问计算设备是否与内容选择列表相关联的请求来将唯一设备标识符包括在计数中。在一些实现方式中,计算设备可以告知中间服务器222计算设备与一个或多个内容选择列表相关联以及计算设备与哪些内容列表相关联。唯一设备标识符不以任何方式标识计算设备,所以内容提供者不能基于唯一设备标识符来标识计算设备。

计算设备202可以包括任何类型和形式的媒体设备或计算设备,包括台式计算机、膝上型计算机、便携式计算机、平板计算机、可穿戴计算机、嵌入式计算机、智能电视、机顶盒、控制台、物联网(IoT)设备或智能电器、或任何其他类型和形式的计算设备。计算设备可以被不同地称为客户端、设备、客户端设备、计算设备、匿名计算设备或任何其他这样的术语。计算设备和中间调制器可以经由任何适当的网络接收媒体流,所述网络包括局域网(LAN)、诸如互联网之类的广域网(WAN)、卫星网络、电缆网络、宽带网络、光纤网络、微波网络、蜂窝网络、无线网络或者这些或其他这样的网络的任何组合。在许多实现方式中,网络可以包括多个子网,这些子网可以是相同或不同类型的,并且可以包括多个附加设备(未示出),包括网关、调制解调器、防火墙、路由器、交换机等。

计算设备202可以包括一个或多个计算设备,其被配置为当从提供者请求内容时,保持对内容提供者(例如,内容提供者242和246)匿名。在一些实现方式中,计算设备202被示为包括处理器204和存储器206。计算设备202可以被配置为在访问与内容提供者相关联的网页时请求和接收内容选择列表的标识。在访问另一网页时,计算设备202可以基于内容选择列表的子集的交集中的唯一设备的总数,选择计算设备202已经接收到的内容选择列表的子集的标识符,请求内容包括内容选择列表的所选子集的标识,并且从内容服务器250接收内容项。计算设备202可以在计算设备202的接口处显示内容项。计算设备202内的一个或多个组件可以促进计算设备202内的每个组件与诸如中间服务器222、内容提供者242和246以及内容服务器250之类的外部组件之间的通信。

在一些实现方式中,处理器204可以包括被配置为执行计算设备202内的存储器206中的模块上的指令的一个或多个处理器。在一些实现方式中,处理器204执行存储器206内的浏览器208,其可以被配置为当计算设备202经由浏览器208访问网页时,使计算设备202对内容提供者242和246保持匿名。存储器206被示为包括浏览器208。浏览器208可以包括应用、服务器、服务、守护进程、例程或其它可执行逻辑,以访问网页并且基于内容选择列表的唯一设备和内容选择列表的值将内容选择列表标识符与对内容的请求一起提供给内容提供者。在访问网页时,浏览器208可以发送来自内容服务器250的对内容的请求。为了发送对内容的请求,浏览器208可以标识和/或选择内容选择列表标识符以发送到对应于该请求的内容服务器250。如以下将描述的,浏览器208可以基于属于内容选择列表的子集的交集的设备的数量来标识和/或选择内容选择列表的子集。在一些实现方式中,浏览器208可以基于内容选择列表的值来标识内容选择列表标识符。

在一些实现方式中,浏览器208可以包括列表标识符210、列表选择器212、列表检索器214、条件分析器216、应用218和发送器220。浏览器208可以包括任意数量的组件。通过执行浏览器208以执行每个组件210、212、214、216、218和220的操作,处理器204可以防止内容提供者242和246(或任何其他内容提供者)基于计算设备202在对显示在计算设备202的接口处的内容的请求中传送到内容提供者242和246的内容选择列表来标识计算设备202。在一些实现方式中,计算设备202可以在向内容提供者242和246提供具有最高值的内容选择列表的内容选择列表标识符的同时这样做。简而言之,处理器204可以从中间服务器接收标识,该标识指示在计算设备202的内容选择列表的子集的交集中的唯一设备的总数是否超过阈值。如果总数超过阈值,则处理器204可以向内容提供者242和246提供内容选择列表标识符。如果唯一设备的总数不超过阈值,则处理器204可以选择具有唯一设备的总数超过阈值的交集的内容选择列表的第二子集。处理器204可以在对内容的请求中将内容选择列表标识符的第二子集提供给内容提供者242和246。

在一些实施例中,如果总数不超过阈值,则处理器204可以从中间服务器222请求附加内容选择列表标识符的标识,以使内容选择列表的子集的唯一设备的总数在阈值以上。处理器204可以在来自内容服务器的对内容的请求中包括附加内容选择列表的标识。处理器204可以向内容提供者242和246或向内容服务器250发送对具有包括超过阈值的附加内容选择列表的内容选择列表的子集的内容的请求。处理器204可以接收由内容提供者242和246基于内容选择列表的子集的内容选择列表所选择的内容项,并且在计算设备202的接口处显示内容。

在一些实现方式中,处理器204可以确定超过阈值并且具有最高值的内容选择列表的子集。处理器204可以基于与每个内容选择列表唯一地相关联的条件来确定内容选择列表的值。在一些实现方式中,处理器204可以基于内容选择列表的先前值来确定内容选择列表的值。处理器204可以实现机器学习模型以标识内容选择列表的值。处理器204可以包括协处理器或者可以与协处理器通信,所述协处理器例如是张量处理单元(TPU),其仅仅专用于使用机器学习模型来确定内容选择列表的值。

在一些实现方式中,浏览器208可以在浏览器208访问与内容提供者(例如,内容提供者242和246)相关联的网页和域时收集内容选择列表的标识。浏览器208可以从计算设备检索网页。网页可以包括与网页和内容选择列表相关联的内容提供者的标识符。浏览器208可以标识内容提供者的标识符,并且一旦浏览器208已经检索到网页,就向内容提供者传送对内容选择列表的标识的请求。浏览器208可以通常经由在来自内容提供者的网页上的Javascript从内容提供者接收所请求的内容选择列表的标识。在一些实现方式中,内容选择列表标识可以由计算设备202存储。浏览器208可以对任意数量的网页重复该过程,并且存储任意数量的内容选择列表的标识。

例如,计算设备202的浏览器208可以访问或者检索www.companyA.com,一个由公司A的计算设备拥有和操作的网页。在访问网页时,浏览器208可以将公司A标识为公司操作www.companyA.com,并且向公司A传送对内容选择列表的标识的请求。该请求可以包括计算设备202的标识符。公司A的计算设备可以接收该请求,并且将由浏览器208所请求的内容选择标识传送到浏览器208。浏览器208可以接收和存储与公司A相关联的内容选择列表标识。

在另一实施例中,在访问网页时,浏览器208可以从网页接收向浏览器208添加一个或多个内容选择列表标识的请求。浏览器208可以通过API接收请求并且收集一个或多个内容选择列表标识。浏览器208可以存储一个或多个内容选择列表标识。例如,浏览器208可以访问www.companyA.com,一个由公司A拥有和操作的网页。在访问该网页时,浏览器208的API可以从该网页接收要求存储内容选择列表标识的请求。浏览器208可以接受该请求并且存储内容选择列表标识。

列表标识符210可以包括应用、服务器、服务、守护进程、例程或其他可执行逻辑,以接收和标识与计算设备202相关联的内容选择列表的内容选择列表标识。列表标识符210可以基于存储在浏览器208中的内容选择列表标识来标识内容选择列表。列表标识符210可以标识任意数量的内容选择列表。在一些实现方式中,列表标识符210可以标识内容选择列表并且从中间服务器222请求元数据,其能够确定是否有足够数量的计算设备与任意数量的内容选择列表中的每个被标识的内容选择列表相关联。

在一些实现方式中,列表标识符210可以从中间服务器222请求与内容选择列表的子集的交集相关联的计算设备的总数。列表标识符210可以接收计算设备的总数,并且合计每个内容选择列表的唯一设备的总数以获得唯一设备的合计数量。

中间服务器222可以合计与每个内容选择列表或内容选择列表的子集相关联的唯一设备的总数。中间服务器222可以在从计算设备接收到指示计算设备与哪些列表相关联的通告时合计总数。计算设备可以以预定间隔(例如,每天、每两天、每周等)向中间服务器222提供通告。中间服务器222可以递增和维护用于每个计算设备的计数器,该计数器通知中间服务器222在计算设备与内容选择列表的子集的内容选择列表之间的关联。中间服务器222可以向计算设备202发送标识,该标识指示内容选择列表的子集是否包括与超过由管理员设置的预定阈值的足够的计算设备相关联的交集。该标识可以指示发送对内容的请求的计算设备在做出该请求时可以保持可接受地匿名。

在一些实现方式中,列表标识符210可以合计与内容选择列表的不同子集相关联的唯一设备的总数。内容选择列表的子集可以包括计算设备202为其接收标识的内容选择列表的不同组合。内容选择列表的子集可以包括任意数量的组合,并且可以包括任意数量的内容选择列表。列表标识符210可以合计针对任何数量的子集的唯一设备的总数。在一些实现方式中,列表标识符210从中间服务器222接收每个子集的唯一设备的总数。

内容选择列表标识符可以表示浏览器是其成员的内容选择列表。浏览器可以存储内容选择列表标识符。内容选择列表标识符可以是数字或字符的串(例如1234、A9985、EFGD、Q9RD4等),并且可以包括任何数量的数字或字符。在一些实现方式中,内容选择列表标识符可以包含关于内容提供者的信息(例如,标识符可以编码内容提供者的名称)。

列表选择器212可以包括应用、服务器、服务、守护进程、例程或其他可执行逻辑,以选择一个或多个内容选择列表标识以传送到内容服务器250。列表选择器212可以基于从中间服务器222接收到的标识或如由列表标识符210所确定的计算设备的总数,确定与内容选择列表或内容选择列表的子集的交集相关联的计算设备的总数是否超过预定阈值。在列表标识符210向中间服务器222发送对于标识的请求,该标识是指示与内容选择列表的子集的交集相关联的设备的数量是否超过预定阈值的情况下,列表选择器212可以标识该标识,并且如果该标识指示与内容选择列表或内容选择列表的子集的交集相关联的计算设备的数量超过预定阈值,则选择与该标识相关联的内容选择列表或内容选择列表的子集。在一些实现方式中,列表选择器212可以减少包括在请求中的内容选择列表的数量,所以内容选择列表之间的交集可以与更多的计算设备相关联。在一些实现方式中,中间服务器222可以标识具有与最多的计算设备相关联并且超过预定阈值的交集的内容选择列表的子集,并且将包括该标识的指示发送到计算设备202。列表选择器212可以选择具有与最多的计算设备相关联的交集的内容选择列表的子集。

在一些实现方式中,列表选择器212可以基于列表选择器212确定的内容选择列表的子集的唯一设备的总数来标识要传送到内容服务器250的内容选择列表。列表选择器212可以将内容选择列表的每个子集的交集的唯一设备的总数与预定阈值进行比较。在一些实现方式中,列表选择器212可以标识在子集的交集中具有最高总数的唯一设备并且在阈值以上的内容选择列表的子集以传送到内容服务器250。列表选择器212可以基于任何度量或比较来选择内容选择列表的子集。在一些实现方式中,列表选择器212可以确定与内容选择列表的子集的交集相关联的计算设备的数量是否超过第二阈值。第二阈值可以等于预定阈值或与不同值相关联。列表选择器212可以向发送器220发送信号,该信号指示发送器220向内容服务器250传送对内容项的请求并且包括由列表选择器212所选择的内容选择列表的子集的标识。

在一些实现方式中,中间服务器222可以从内容选择列表标识的子集中移除内容选择列表标识。因此,可以存在与其中内容选择列表标识被移除的内容选择列表的子集的交集相关联的更多设备。利用交集中的更多设备,计算设备202可以是可接受地匿名的,并且向内容提供者传送请求,该请求包括内容选择列表标识的子集而且没有被移除的内容选择列表标识。

发送器220可以包括应用、服务器、服务、守护进程、例程或其他可执行逻辑,以传送对来自内容服务器250和内容提供者242和246的内容的请求。发送器220还可以从中间服务器222请求内容选择列表标识并连同内容选择列表的元数据(例如,内容选择列表的唯一设备的数量、与内容选择列表相关联的内容的类型、关于内容选择列表的计算设备的特性等)。发送器220还可以请求内容选择列表的交集是否与超过阈值的足够的计算设备相关联的标识。发送器220可以用于计算设备202与计算设备202的外部组件之间的通信。发送器220可以通过网络221与外部组件通信。

如果列表标识符210没有标识与计算设备202相关联的内容选择列表或内容选择列表的子集,其具有超过预定阈值的内容选择列表子集的交集中的唯一标识符的总数,则列表检索器214可以检索包括不与计算设备202相关联的唯一设备的内容选择列表的内容选择列表标识。列表检索器214可以包括应用、服务器、服务、守护进程、例程或其它可执行逻辑,以检索内容选择列表的附加内容选择列表标识以包括在内容选择列表的选定子集中,使得包括所检索的内容选择列表的内容选择列表子集的唯一设备的总数超过阈值。如果内容选择列表所选择的子集没有与超过阈值的足够的设备相关联,则列表检索器214可以从中间服务器222请求另一个内容选择列表标识。列表检索器214可以传送该请求,并且中间服务器222可以标识另一个内容选择列表,该另一个内容选择列表与足够的计算设备相关联,该足够的计算设备与所标识的内容选择列表与子集的内容选择列表之间的交集相关联,所以当向内容提供者提供内容选择列表标识和对内容的请求时,计算设备202可以是可接受地匿名的。

在一些实施例中,如果中间服务器222将与内容选择列表的交集相关联的计算设备的总数传送到计算设备202,则列表检索器214可以标识可以被添加到所选择的子集的唯一设备的数量,使得唯一设备的总数超过阈值。列表检索器214可以向中间服务器222发送对具有至少所标识的唯一设备的数量的内容选择列表的内容选择列表标识的请求。在一些实例中,列表检索器214可以包括对更大的唯一设备列表的请求,以进一步保护计算设备202的匿名性。

中间服务器222可以标识内容选择清单标识符并将其发送到计算设备202,该内容选择清单标识符对具有至少所请求的唯一设备的数量的内容选择列表进行标识。列表检索器214可以从中间服务器222接收内容选择列表标识,并且确定在内容选择列表的子集中包括内容选择列表是否使子集的唯一设备的总数超过阈值。如果总数超过阈值,则发送器220可以将包括由列表检索器214检索到的内容选择列表的子集发送到内容服务器250。如果总数不超过阈值,则列表检索器214可以请求另一个内容选择列表标识,并且重复该过程,直到唯一设备的总数超过阈值为止。为了帮助保存计算设备202的匿名性,中间服务器222可以包括与列表选择器212已经选择的子集的所有或一些内容选择列表相关联的计算设备202的唯一设备。由于每个子集共有更多的唯一设备,内容提供者可能更难基于内容选择列表来标识特定计算设备。

在一些实现方式中,内容服务器250或内容提供者242和246可以基于计算设备202传送到内容服务器250的内容选择列表标识来向计算设备202提供内容。每个内容选择列表可以与内容类型(例如,体育、音乐、零售店、名人、体育队等)和/或特定内容提供者相关联。每个内容选择列表可以被加标签或具有指示内容选择列表与之相关联的内容类型的元数据。内容服务器250可以从计算设备202接收内容选择列表标识,并且通过标识内容选择列表的内容类型标签或元数据来确定与内容选择列表相关联的内容。内容选择列表还可以基于与内容选择列表相关联的元数据或指示与内容选择列表相关联的内容类型的内容选择列表的标识而与内容类型相关联。内容服务器250可以标识与从计算设备202发送的每个内容选择列表相关联的内容类型,并且向内容提供者242和246指示内容类型。在一些实现方式中,内容提供者242和246可以标识内容选择列表标识的内容类型。内容提供者242和246可以提供与关联于由计算设备202发送到内容服务器250的内容选择列表中的至少一个的内容类型相关的内容。

在一些实例中,计算设备202可以从内容提供者242或246接收基于由列表检索器214检索到的内容选择列表标识而选择的内容(即,与计算设备202不与之相关联的内容选择列表相关的内容)。浏览器208可以接收内容并且确定内容类型是否与包括计算设备202的唯一设备的内容选择列表相关联。浏览器208可以通过将内容与计算设备202或中间服务器222的数据库内的内容进行比较来标识内容类型,计算设备202或中间服务器222的数据库标识从内容提供者(例如,内容提供者242和246)发送的内容的不同类型的内容。浏览器208可以将内容类型与关联于内容选择列表的内容类型进行比较,以确定接收到的内容与哪个内容选择列表相关联。因此,浏览器208可以基于不与计算设备相关联的内容选择列表来确定是否提供了内容。

在一些实现方式中,内容服务器250可以利用指示内容与内容选择列表的子集中的哪个内容选择列表相关联的标签来对内容加标签。内容提供者242或246可以基于由内容服务器250接收到的内容选择列表来提供内容,并且内容服务器250可以对内容加标签以指示哪个内容选择列表与所提供的内容相关联。浏览器208可以接收内容,并且基于标签确定所提供的内容选自哪个内容选择列表。

在一些实现方式中,浏览器208可以基于内容基于哪个内容选择列表被选择的,确定是否在计算设备202的用户接口处显示从内容服务器250接收到的内容。在一些实现方式中,浏览器208可以由于所选择的子集不具有超过第一或第二阈值的唯一设备的总数,而丢弃基于由列表检索器214所检索的内容选择列表所选择的任何内容。浏览器208可以显示与关联于计算设备202的内容选择列表相关联的任何内容。

在一些实现方式中,计算设备202可以向内容服务器250传送对内容的请求,而不在该请求中包括计算设备202的标识符。计算设备202可以传送对内容的请求,并且在请求中包括计算设备202所关联的内容选择列表的标识。内容提供者242和246可基于计算设备202发送到内容服务器250的内容选择列表来选择内容并且提供该内容以传送到计算设备202。有利地,通过向内容提供者提供内容选择列表标识,内容提供者可以标识要发送到计算设备202的相关内容(例如,与计算设备202过去已经查看的内容相似的内容)。内容提供者242和246可以基于与计算设备202通常查看的内容相关联的内容选择列表来选择要发送到计算设备202的内容。因为计算设备202在内容请求中不发送唯一设备标识符,并且包括在内容请求中的内容选择列表的交集具有足够大数量的计算设备,所以计算设备202可以请求并且接收相关内容,同时对内容提供者242和246保持可接受地匿名。

仍然参考图2,在一些实现方式中,浏览器208被示为包括应用218。应用218可以包括应用、服务器、服务、守护进程、例程或其他可执行逻辑,以确定与内容选择列表的标识相关联的内容选择值。内容选择值可以对应于内容提供者242可以与提供给计算设备202的内容相关联的内容选择列表的期望值。内容选择列表可以基于与内容选择列表相关联的内容类型而与唯一的内容选择值相关联。在一些实现方式中,内容选择列表的内容选择值可以与条件的当前值相关联。条件的当前值可由条件分析器216确定。

在一些实现方式中,浏览器208被示出为包括条件分析器216。条件分析器216可以包括应用、服务器、服务、守护进程、例程或其他可执行逻辑,以确定与内容选择列表相关联的条件的值。条件可以由与内容选择列表相关联的第三方设置,并且可以是内容选择列表的元数据的一部分。在一些实现方式中,条件分析器216可以分析由列表标识符210所标识的内容选择列表的元数据。条件分析器216可以通过标识指示与内容选择列表相关联的条件的关键词,使用自然语言处理技术来标识条件。当前条件值可以基于浏览器208在从内容提供者242和246请求内容时所处的情况(例如,浏览器208当前开启哪个网页、当前时间等)。内容选择列表可以与多个条件相关联。例如,内容选择列表可以与条件相关联,该条件包括“如果用户当前在www.companyB.com,则内容选择列表具有当前条件值5”,“如果用户当前在www.companyB.com/example,则内容选择列表具有当前条件值6”,“如果用户当前在www.companyB.com/example并且当前本地时间在下午9点和下午6点之间,则内容选择列表具有当前条件值7”,“如果这些条件中没有一个被满足,则内容选择列表具有当前条件值0”。内容选择列表可以具有与任何类型的数据相关联的任何数量的条件。条件分析器216可以标识任意数量的内容选择列表的条件,并且确定每个条件的当前条件值。在一些实现方式中,条件分析器216可以确定内容选择列表的当前条件值,该内容选择列表作为具有在预定阈值以上的唯一设备的数量的内容选择列表的子集的一部分。

在一些实现方式中,应用218可以基于与每个内容选择列表相关联的条件的当前值来确定内容选择列表的内容选择值。条件分析器216可以标识和确定每个内容选择列表的条件值,并且向应用218发送指示每个内容选择列表的当前条件值的信号。应用218可以接收当前条件值,并且将内容选择列表的内容选择值设置为对应的当前条件值。例如,如果条件分析器216确定内容选择列表具有当前条件值四,则应用218可以将内容选择列表的内容选择值设置为四。应用218可以确定由列表标识符210所标识的每个内容选择列表的内容选择值。在一些实现方式中,应用218可以确定由列表选择器212所确定的内容选择列表的内容选择值在预定阈值以上。应用218可以合计内容选择列表的子集中的每个内容选择列表的内容选择值,以获得该子集的内容选择值的组合。应用218可以合计内容选择列表的任何子集的内容选择值。

在一些实现方式中,为了确定内容选择列表和内容选择列表的子集的内容选择值,应用218可以实现机器学习模型。机器学习模型可以基于内容选择列表的子集的每个内容选择列表的内容选择值以及内容提供者将为每个内容选择列表选择内容的可能性来指示内容选择列表的子集的最高内容选择值。在一些实现方式中,机器学习模型可以是神经网络、支持向量机、随机森林等。到机器学习模型中的信号可以包括浏览器208可以输入到应用218的机器学习模型中的上下文信息。上下文信息可以包括但不限于浏览器的当前网页、当前网页垂直、一天中的时间、一周中的一天、计算设备的语言设置、计算设备202的位置(例如,国家、省/州、大城市区域等)等。信号还可以包括对相同或相似的内容选择列表和/或内容选择列表的子集的值的先前评估以及如上所述确定的内容选择列表的当前条件值。应用218可以将这些输入中的每一个输入到机器学习模型中以确定与每个内容选择列表相关联的内容选择值。在一些实现方式中,上下文信息可以与最高强度信号相关联,来自内容选择值的先前评估的反馈与下一个最高强度信号相关联,并且当前条件值信号可以与最低强度信号相关联。每个信号可以具有任何强度。

有利地,通过实现机器学习模型来确定内容选择列表和/或内容选择列表的子集的预测内容选择值,应用218可以使用每个内容选择列表的当前条件值作为确定每个内容选择列表的内容选择值的提示。这是有利的,因为第三方可以设置每个内容选择列表的条件,并且可以被激励为过值化与它们相关联的内容选择列表,因此其他内容提供者不基于过值化的内容选择列表来提供内容。因为机器学习模型可以使用内容选择列表的当前条件值作为具有与在第三方的控制之外的内容选择列表的各方面有关的其他信号(例如,上下文信息和来自基于内容选择列表提供的先前内容的信息)的信号,所以机器学习模型可以标识用于每个内容选择列表和内容选择列表的子集的更准确内容选择值。

在一些实现方式中,列表选择器212可以基于内容选择列表的子集的内容选择值的组合来选择内容选择列表的子集以向内容服务器250传送标识符。列表选择器212可以接收内容选择列表的子集的内容选择值的组合,并且比较内容选择值的组合。在一些实现方式中,列表选择器212可以比较具有在预定阈值以上的唯一设备的总数的内容选择列表的子集的内容选择值的组合。列表选择器212可以标识具有高于内容选择值的其他组合的内容选择值的组合的内容选择列表的子集,并且将内容选择列表的子集与对内容的请求一起传送到内容服务器250。

有利地,通过选择具有内容选择值最高组合的内容选择列表的子集,列表选择器212可以允许内容服务器250向内容提供者提供最高值内容选择列表。因此,内容服务器250可以避免向内容提供者242和246提供内容提供者可能与低值相关联的内容选择列表或内容选择列表的子集。通过向内容服务器250以及内容提供者242和246提供具有最高内容选择值的内容选择列表的子集,计算设备202可以确保内容提供者242和246基于内容选择列表的子集将高值与基于请求而提供给计算设备202的内容相关联。

现在参考图3,示出了根据一些实现方式的用于确定是否存在足够的内容选择列表的唯一设备以用于内容提供者在计算设备保持匿名的同时向计算设备提供内容的方法300的流程图。方法300可以包括任何数量的操作。可以以任何顺序执行操作。方法300可以由计算设备(例如,计算设备202)或服务器(例如,中间服务器222)执行。在操作302处,计算设备可以收集内容选择列表的多个标识。当计算设备经由计算设备的浏览器访问网页时,计算设备可以从内容提供者收集内容选择列表的多个标识。标识可以包括关于内容选择列表的信息,包括但不限于每个内容选择列表中的唯一设备的数量、每个内容选择列表的内容类型、以及与内容选择列表相关联的内容提供者。

在操作304处,服务器可以确定每个内容选择列表的唯一设备的总数,并且将每个内容选择列表的唯一设备的总数传送到计算设备202。服务器可以确定内容选择列表的子集的每个组合中的唯一设备的总数,并且将所确定的总数传送到计算设备。服务器可以通过合计每个内容选择列表中的计算设备的数量来确定与子集的组合相关联的唯一设备的总数。计算设备可以接收每个子集的总数。

在操作306处,计算设备可以选择多个内容选择列表的第一子集。计算设备可以基于在子集的交集中的唯一设备的数量来选择第一子集。计算设备可以选择包括最高数量的唯一设备的子集。在操作308处,计算设备可以确定唯一设备的总数是否超过预定阈值。预定阈值可以由系统的管理员或用户设置。预定阈值可以表示将使计算设备对内容提供者保持匿名(或者可接受地匿名,例如具有与所请求的内容选择列表或列表的交集相匹配的足够数量的其他设备)的唯一设备的数量,其标识内容选择列表并且试图基于每个内容选择列表中的唯一设备的交集来标识单独的设备。

在一些实现方式中,服务器可以向计算设备传送标识,该标识指示内容选择列表的第一子集是否超过使计算设备在传送对内容的请求时保持可接受地匿名的阈值。计算设备可以向中间服务器发送内容选择列表标识的第一子集,并且中间服务器可以传送标识,该标识指示内容选择列表的子集是否与使计算设备是可接受地匿名的足够的计算设备相关联。计算设备可以接收标识,并且基于该标识确定是否在对内容的请求中将所述内容选择列表标识提供到所述内容提供者。

在操作310处,响应于计算设备或中间服务器确定计算设备的子集的唯一设备的总数超过阈值,计算设备可以将对内容项的请求传送到内容服务器或内容提供者。该请求可以包括被确定为具有在预定阈值以上的唯一设备的总数的内容选择列表的子集。在操作312处,计算设备可以从内容提供者接收第一内容项。可以基于内容选择列表的子集来提供第一内容项。

在操作314处,响应于计算设备或中间服务器确定唯一设备的总数不超过阈值,计算设备可以在对内容的请求中包括附加内容选择列表的标识。计算设备可以从可以存储内容选择列表的服务器请求内容选择列表标识。服务器提供的内容选择列表可以将与内容选择列表的交集相关联的设备的数量增加到在预定阈值以上的数量。

在一些实施例中,计算设备可以确定需要超过阈值的唯一设备的数量,并且利用所确定的唯一设备的数量来请求一个或多个内容选择列表。服务器可以利用所确定的内容选择列表的数量来标识内容选择列表,并且将标识传送到计算设备。计算设备可以向内容服务器发送包括内容选择列表的第一子集和附加内容选择列表的对内容的请求。在一些情况下,计算设备可以请求服务器标识所需的唯一设备的数量。

在操作316处,计算设备可以接收第一内容项并且确定该内容项是否是基于附加内容选择列表被选择的。计算设备可以通过分析内容的元数据来确定内容是基于哪个内容选择列表被选择的。元数据可以包括内容基于其被选择的内容选择列表的标识。计算设备还可以通过将内容类型(例如,体育、音乐、公司、团队、零售店、视频、图像、音频、文本、多媒体、新闻、喜剧、社交媒体等)与和对数据的请求一起传送的内容选择列表进行比较,来确定内容是基于哪个内容选择列表被选择的。如果计算设备确定内容是基于被添加以保持计算设备匿名并且计算设备不与之相关联的内容选择列表来选择的,则在操作318处,计算设备可以丢弃该内容。如果计算设备确定该内容是基于该计算设备所关联的内容选择列表被选择的,则在操作320处,计算设备可以显示该内容。

现在参考图4,示出了根据一些实现方式的用于基于子集的内容选择值来选择内容选择列表的子集并且基于所选择的子集来接收内容项的方法400的流程图。方法400可以包括任意数量的操作。可以以任何顺序执行操作。方法400可以由计算设备(例如,计算设备202)或服务器(例如,中间服务器222)执行。操作402和404可以类似于参考图3示出和描述的操作302和304,在可以类似于操作308的操作406处,计算设备在服务器的帮助下可以确定计算设备的子集的唯一设备的总数是否超过预定阈值。服务器可以将与内容选择列表的多个子集相关联的(从服务器接收到的或由计算设备标识出的)唯一设备的总数与预定阈值进行比较。服务器可以向计算设备发送标识,该标识指示是否存在与内容选择列表相关联的足够的计算设备,以使计算设备在对内容的请求中保持可接受地匿名。计算设备可以标识超过预定阈值的内容选择列表的每个子集。如果不存在具有超过阈值的总数的任何子集,则计算设备可以返回到操作402以接收内容选择列表的更多标识。

在操作408处,计算设备可以确定每个内容选择列表的条件的当前值。在一些实现方式中,计算设备可以确定内容选择列表的条件的当前值,所述内容选择列表是具有超过阈值的唯一设备的总数的内容选择列表的子集的一部分。计算设备可以基于计算设备的浏览器正在其中请求内容的上下文来确定条件的当前值。例如,如果浏览器在观看特定网页或在特定时间做出请求的同时正在请求内容,则可以满足条件。内容选择列表的当前条件值可以与基于其满足条件的内容选择列表相关联。条件可以由与每个内容选择列表相关联的第三方来指配。条件可以特定于每个内容选择列表。

在操作410处,计算设备可以确定内容选择列表的每个子集的内容选择值。计算设备可以基于内容选择列表的子集的当前条件值来确定内容选择值。在一些实现方式中,计算设备可以实现机器学习模型以确定内容选择列表的子集的内容选择值。机器学习模型可以使用进行请求的浏览器的上下文(例如,当前网页或域、内容选择列表的先前值、内容选择列表的当前值等)作为输入。机器学习模型可以产生输出,该输出指示内容选择列表的预测值和基于输入选择内容选择列表的每个子集的可能性。

在操作412处,计算设备可以选择被确定为具有最高内容选择值和/或被内容提供者选择以基于其提供内容的可能性的内容选择列表的子集。计算设备可以确定内容选择列表的每个子集的内容选择值和可能性,并且比较内容选择值和可能性以确定内容选择值的哪个子集是最高的。计算设备可以选择具有最高内容选择值的子集。在操作414处,计算设备可以将具有最高内容选择值的内容选择列表的子集与对内容的请求一起传送到内容服务器或内容提供者。在操作416处,计算设备可以接收由内容服务器基于内容选择列表的所选择的子集而选择的第一内容项。

有利地,通过将内容选择列表存储在远离内容服务器的服务器或计算设备上,从内容提供者请求内容的计算设备可以在从内容提供者接收相关内容的同时保持匿名。因为计算设备可以控制在请求内容时将哪些内容选择列表发送到内容服务器,所以计算设备可以确保在内容选择列表的交集上存在足够的唯一设备,使得内容提供者可能不能标识做出请求的计算设备。做出请求的计算设备可以与计算设备随对内容的请求一起发送的内容选择列表相关联,所以内容提供者可以提供与计算设备先前已查看的内容相关的内容。此外,计算设备可以确保计算设备发送的内容选择列表与最高内容选择值相关联,所以内容提供者可以基于内容选择列表将高值与被提供给计算设备的内容相关联。

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

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

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

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

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

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

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

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

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

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

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

相关技术
  • 用于保护设备隐私的系统和方法
  • 隐私应用设备、用于操作隐私应用设备的方法及包括隐私应用设备的系统
技术分类

06120113236173