增强的在线隐私的制作方法

文档序号:22259065发布日期:2020-09-18 14:14阅读:98来源:国知局
增强的在线隐私的制作方法



背景技术:

本说明书涉及数据处理和增强在线隐私。

互联网促进了全球用户之间的信息交换和交易。这种信息交换能够将内容分发给各种用户。在一些情形下,可以将来自多个不同提供商的内容集成到单个电子文档中,以创建复合文档。例如,被包括在电子文档中的内容的一部分可以由电子文档的发布者选择(或指定)。内容的不同部分(例如,数字分量)可以由第三方(例如,不是电子文档的发布者和/或无权修改定义电子文档的代码的实体)提供。在一些情形下,在已经请求在呈现电子文档之后选择数字分量以用于与电子文档的集成。例如,当在客户端设备处显现(render)电子文档时,被包括在电子文档中的机器可执行指令可以由客户端设备执行,并且这些指令可以使得客户端设备能够联系一个或多个远程服务器以获得将被集成到客户端设备处的电子文档中的数字分量。



技术实现要素:

总体上,本说明书中描述的主题的一个创新方面可以被体现在方法中,该方法包括以下操作:由服务装置并从客户端设备接收对服务装置的网络呼叫中的标签信息,其中该网络呼叫是通过激发嵌入在发布者的资源中的标签而生成的,标签信息指定发布者的给定发布者标识符和由发布者分配给客户端设备的用户的给定客户端标识符;从客户端设备获得由服务装置分配给用户的给定服务标识符;由服务装置并在数据结构中创建给定服务标识符到给定客户端标识符的映射;从发布者并通过api接收由发布者分配给用户集合的客户端标识符列表;确定客户端标识符列表包括被映射到给定服务标识符的给定客户端标识符;基于该确定,由服务装置将被映射到给定客户端标识符的给定服务标识符存储在匹配服务标识符列表中;由服务装置从访问由服务装置提供的服务的多个不同客户端设备接收多个内容请求;基于客户端设备是否提供被包括在匹配服务标识符列表中的服务标识符来响应内容请求,包括:当客户端设备提供被包括在匹配服务标识符列表中的对应服务标识符时,发送为匹配服务标识符列表保留的第一内容;当客户端设备不提供被包括在匹配服务标识符列表中的对应服务标识符时,发送不为匹配服务标识符列表保留的第二内容。该方面的其他实施例包括被配置为执行方法的动作的对应系统、设备、装置和计算机程序。计算机程序(例如,指令)可以被编码在计算机存储设备上。这些和其他实施例可以各自可选地包括以下特征中的一个或多个。

方法可以包括以下动作:生成用户的散列表示,包括:组合给定发布者标识符和给定客户端标识符;以及生成发布者标识符和给定客户端标识符的组合的散列。创建给定服务标识符到给定客户端标识符的映射包括将用户的散列表示映射到给定服务标识符。

方法还可以包括以下动作:确定用户登录到由服务装置提供的给定服务中;基于用户登录到的服务来识别用户的账户标识符;使用账户标识符识别为由服务装置提供的不同服务分配给用户的不同服务标识符;以及创建给定客户端标识符和不同服务标识符之间的不同映射。

创建给定服务标识符到给定客户端标识符的映射可以包括创建给定服务标识符到使用给定客户端标识符和第一散列函数或种子创建的第一散列值的映射。创建给定客户端标识符和不同服务标识符之间的不同映射可以包括创建不同服务标识符到使用给定客户端标识符和第二散列函数或种子创建的第二散列值的映射,其中,第二散列值不同于第一散列值。

方法可以包括以下动作:从不同客户端设备接收标签信息和不同服务标识符;从数据结构中删除给定服务标识符到给定客户端标识符的映射;以及在数据结构中创建不同服务标识符到给定客户端标识符的不同映射。

将被映射到给定客户端标识符的给定服务标识符存储在匹配服务标识符列表中可以包括将给定服务标识符存储在具有指定发布者列表的发布者标识符的发布者标识符-内容对的集合的数据结构条目中,其中该发布者列表包括给定客户端标识符和要被分发给发布者列表中的用户的用户特定内容。

方法可以包括以下动作:响应于确定用户已经被分配了不同服务标识符,更新匹配服务标识符列表,包括:将给定服务标识符和发布者标识符-内容对的集合之间的现有关联重新映射到不同标识符。

方法可以包括以下动作:在将被映射到给定客户端标识符的给定服务标识符存储在映射服务标识符列表中之后,删除给定客户端标识符。

当客户端设备提供被包括在映射服务标识符列表中的对应服务标识符时,发送为匹配服务标识符列表保留的第一内容可以包括:当用户正在访问在与发布者的域不同的第二级域中提供的服务时,呈现第一内容。

本公开的另一方面提供了一种数据处理装置,被配置为执行本文公开的任何方法。本公开的另一方面提供了一种包括指令的计算机可读介质(可以是暂时性的或非暂时性的),其中该指令在由计算机执行时使得计算机执行本文公开的任何方法。本公开的又一方面提供了一种包括指令的计算机程序,其中该指令在由计算机执行时使得计算机执行本文公开的任何方法。

可以实施本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。例如,本文讨论的创新在促进跨多个不同服务、域和实体提供用户特定信息的能力的同时维护用户隐私。更具体地,当用户访问第三方服务时,发布者可以指定他们想要提供特定信息的用户列表,而无需具体识别那些用户。此外,本文描述的技术使得特定信息能够在不允许第三方服务访问发布者cookie的计算环境内被提供给指定用户列表。例如,该信息可以用于在由第三方提供商提供的内容中提供特定信息,并且还使得服务提供商能够选择用于在其他网页或应用(例如,由发布者提供的)中呈现给列表上的用户的内容。

与常规的标识符映射技术(例如,cookie映射技术)不同,在本文档通篇讨论的技术中提及的映射用于生成与已经被选择来接收用户特定信息的用户相对应的服务标识符列表,使得在请求内容以用于在第三方服务中呈现时不需要使用客户端标识符和服务标识符之间的映射。当请求内容时,使用服务标识符列表而不是映射减少了系统的时延,例如,因为系统可以使用被包括在列表中的服务标识符列表进行直接查找,以确定是否应该提供用户特定信息,而不是必须首先识别映射中的服务标识符,然后识别被映射到服务标识符的客户端标识符,然后确定所识别的客户端标识符是否被包括在与要接收用户特定信息的用户相对应的客户端标识符列表中。跨数百万/数十亿个请求的聚合,这将导致服务请求所需的处理器时间的显著减少。

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

附图说明

图1是其中数字分量被分发以用于与电子文档一起呈现的示例环境的框图。

图2a是示出用于创建标识符映射的示例技术的框图。

图2b是示出用于在跨域环境中增强用户隐私的示例技术的框图。

图3是用于在跨域内容分发环境中增强用户隐私的示例过程的流程图。

图4是示例计算机系统的框图。

不同附图中的相同参考标记和标注指示相同元素。

具体实施方式

本文档公开了在促进跨多个不同服务和实体提供用户特定信息的能力的同时维护用户隐私的方法、系统、装置和计算机可读介质。更具体地,发布者(例如,网页或在线应用的所有者或操作者)可以在用户访问由不同于发布者的资源的在线域(例如,不同于由发布者提供的网页或在线应用)托管(host)的各种第三方服务时,指定其想要提供特定信息的用户列表,而无需具体识别那些用户。

如下面更详细描述的,服务装置可以基于由服务装置维护的服务标识符到由发布者分配给用户的客户端标识符的映射,促进由发布者指定的用户特定信息到第三方服务的用户的分发。服务标识符到客户端标识符的映射可以由服务装置生成。在一些实施方式中,服务装置获得标签信息集合中分配给用户的客户端标识符,其中当发布者的资源内的像素由客户端设备(例如,在客户端设备处执行的浏览器)执行时,该标签信息集合被提交给服务装置。在客户端设备处激发的标签发起对服务装置的网络呼叫,并且向服务装置通知由发布者分配的客户端标识符以及发布者的标识符。当对服务装置(例如,服务装置的域)进行呼叫时,客户端设备(例如,在客户端设备处执行的浏览器)也将提交由服务装置分配并被存储在客户端设备处的服务标识符。使用这种信息组合,服务装置可以将由发布者分配给给定用户的客户端标识符映射到由服务装置分配给该用户的服务标识符。

同时,发布者可以提交(例如,通过服务装置的应用编程接口“api”)发布者已经选择来接收用户特定信息的客户端标识符列表。服务装置使用被创建来将客户端标识符列表转换为对应的服务标识符列表的映射,其不包括表示发布者的域中的用户的客户端标识符,但是仍然表示服务装置的域中的那些相同的用户(例如,由客户端标识符列表表示的那些用户)。当服务装置接收到来自服务装置的域中的访问第三方服务的用户的内容请求时,那些请求将包括表示服务装置的域中的用户的服务标识符。然后,可以将所接收的服务标识符与表示发布者已经选择来接收用户特定信息的用户的服务标识符列表进行比较。当服务装置识别出所接收的服务标识符和列表之间的匹配时,服务装置可以响应于该请求而发送用户特定信息。当服务装置未识别出所接收的服务标识符和列表之间的匹配时,服务装置抑制发送用户特定信息,但是仍然可以响应于该请求而发送其他信息。

图1是其中数字分量被分发以与电子文档一起呈现的示例环境100的框图。示例环境100包括网络102,诸如局域网(lan)、广域网(wan)、互联网或它们的组合。网络102连接电子文档服务器104、用户设备106、数字分量服务器108和服务装置110。示例环境100可以包括许多不同的电子文档服务器104、用户设备106和数字分量服务器108。

客户端设备106是能够通过网络102请求和接收资源的电子设备。示例客户端设备106包括个人计算机、移动通信设备、数字助理设备以及可以通过网络102传送和接收数据的其他设备。客户端设备106一般包括诸如网络浏览器的用户应用,以促进数据通过网络102的传送和接收,但是由客户端设备106执行的本机应用也可以促进数据通过网络102的传送和接收。

数字助理设备包括包含麦克风和扬声器的设备。数字助理设备通常能够通过语音接收输入,并且使用听觉反馈以内容做出响应,并且可以呈现其他听觉信息。在一些情形下,数字助理设备还包括可视显示器或者与可视显示器通信(例如,通过无线或有线连接)。当存在可视显示器时,也可以可视地提供反馈或其他信息。在一些情形下,数字助理设备还可以控制其他设备,诸如灯、锁、相机、气候控制设备、报警系统以及向数字助理设备注册的其他设备。

电子文档是在客户端设备106处呈现内容集合的数据。电子文档的示例包括网页、词语处理文档、便携式文档格式(pdf)文档、图像、视频、搜索结果页面和馈源。诸如安装在移动计算设备、平板计算设备或桌面计算设备上的应用等的本机应用(例如,“app”)也是电子文档的示例。电子文档可以由电子文档服务器104(“电子doc服务器”)提供给客户端设备106。例如,电子文档服务器104可以包括托管发布者网站的服务器。在该示例中,客户端设备106可以发起对给定发布者网页的请求,并且托管给定发布者网页的电子服务器104可以通过传送发起给定网页在客户端设备106处的呈现的机器可执行指令来响应该请求。

在另一示例中,电子文档服务器104可以包括客户端设备106可以从其下载app的app服务器。在该示例中,客户端设备106可以下载在客户端设备106处安装app所需的文件,然后本地执行所下载的app。

电子文档可以包括各种内容。例如,电子文档可以包括静态内容(例如,文本或其他指定内容),该静态内容在电子文档本身内和/或不随时间改变。电子文档还可以包括动态内容,该动态内容可以随时间改变或基于每个请求来改变。例如,给定电子文档的发布者可以维护用于填充电子文档的部分的数据源。在该示例中,给定电子文档可以包括脚本,当给定电子文档由客户端设备106处理(例如,显现或执行)时,该脚本使得客户端设备106从数据源请求内容。客户端设备106将从数据源获得的内容集成到给定电子文档中,以创建包括从数据源获得的内容的复合电子文档。

在一些情形下,给定电子文档可以包括引用服务装置110或由服务装置110提供的特定服务的数字分量脚本。在这些情形下,当由客户设备106处理给定电子文档时,数字分量脚本由客户设备106执行。数字分量脚本的执行将客户端设备106配置为生成对数字分量112的请求(称为“分量请求”),该请求通过网络102被发送到服务装置110。例如,数字分量脚本可以使得客户端设备106能够生成包括报头和有效载荷数据的分组数据请求。分量请求112可以包括指定特征(诸如从其请求数字分量的服务器的名称(或网络位置)、请求设备(例如,客户端设备106)的名称(或网络位置)和/或服务装置110可以用来选择响应于请求而提供的一个或多个数字分量或其他内容的信息)的事件数据。由客户端设备106通过网络102(例如,电信网络)将分量请求112发送到服务装置110的服务器。

分量请求112可以包括指定其他事件特征(诸如被请求的电子文档和其中可以呈现数字分量的电子文档的位置的特性)的事件数据。例如,指定对其中将呈现数字分量的电子文档(例如,网页)的引用(例如,url)、可用于呈现数字分量的电子文档的可用位置、可用位置的大小、和/或有资格在该位置呈现的媒体类型的事件数据可以被提供给服务装置110。类似地,指定与电子文档相关联的关键字(“文档关键字”)或由电子文档引用的实体(例如,人、地方或事物)的事件数据也可以被包括在分量请求112中(例如,作为有效载荷数据),并被提供给服务装置110,以促进对有资格与电子文档一起呈现的数字分量的识别。事件数据还可以包括从客户端设备106提交的搜索查询,以获得搜索结果页面。

分量请求112还可以包括与其他信息(诸如客户端设备的用户已经提供的信息、指示从其提交分量请求的州或地区的地理信息、或者为其中将显示数字分量的环境提供上下文的其他信息(例如,分量请求的一天中的时间、分量请求的星期中的一天、将显示数字分量的设备类型,诸如移动设备或平板设备))相关的事件数据。分量请求112可以例如通过分组网络被发送,并且分量请求112本身可以被格式化为具有报头和有效载荷数据的分组数据。报头可以指定分组的目的地,并且有效载荷数据可以包括上面讨论的任何信息。

服务装置110响应于接收到分量请求112和/或使用被包括在分量请求112中的信息,选择将与给定电子文档一起呈现的数字分量(例如,视频文件、音频文件、图像、文本及其组合,它们都可以采取广告内容或非广告内容的形式)。在一些实施方式中,在少于一秒钟的时间内选择数字分量,以避免可能由数字分量的延迟选择而引起的错误。例如,响应于分量请求112而提供数字分量的延迟可能导致客户端设备106处的页面加载错误,或者导致电子文档的部分即使在电子文档的其他部分被呈现在客户端设备106处之后仍保持未填充。此外,随着向客户端设备106提供数字分量的延迟增加,有可能当数字分量被递送到客户端设备106时,电子文档不再被呈现在客户端设备106处,从而负面影响用户对电子文档的体验。此外,例如,如果在提供数字分量时电子文档不再被呈现在客户端设备106处,则提供数字分量的延迟可能导致数字分量的失败递送。

在一些实施方式中,服务装置110在分布式计算系统中被实施,其中该分布式计算系统包括例如服务器和多个计算设备的集合114,其中该多个计算设备互连并响应于请求112而识别和分发数字分量。多个计算设备的集合114一起操作以从数百万可用数字分量(dc1-x)的语料库当中识别有资格在电子文档中呈现的数字分量的集合。例如,可以在数字分量数据库116中索引数百万个可用数字分量。每个数字分量索引条目可以引用对应数字分量和/或包括有助于(例如,触发、调节或限制)对应数字分量的分发/发送的分发参数(dp1-dpx)。例如,分发参数可以通过要求分量请求包括与数字分量的分发参数之一匹配(例如,精确地或以某个预先指定的相似度级别)的至少一个标准,有助于(例如,触发)数字分量的发送。

在一些实施方式中,特定数字分量的分发参数可以包括分发关键字,该分发关键字必须被匹配(例如,通过分量请求112中指定的电子文档、文档关键字或术语),以便数字分量有资格被呈现。分发参数还可以要求分量请求112包括指定特定地理区域(例如,国家或州)的信息和/或指定分量请求112源自特定类型的客户端设备(例如,移动设备或平板设备)的信息,以便数字分量有资格被呈现。分发参数还可以指定资格值(例如,出价、排名分数或一些其他指定值),该资格值用于评估数字分量用于分发/发送的资格(例如,在其他可用数字分量当中),如下文更详细讨论的。

有资格的数字分量的识别可以被分割为多个任务117a-117c,其中然后在多个计算设备的集合114内的计算设备当中分配这些任务。例如,集合114中的不同计算设备可以各自分析数字分量数据库116的不同部分,以识别具有与被包括在分量请求112中的信息相匹配的分发参数的各种数字分量。在一些实施方式中,集合114中的每个给定计算设备可以分析不同的数据维度(或维度集合),并将分析的结果(res1-res3)118a-118c传递(例如,发送)回服务装置110。例如,由集合114中的每个计算设备提供的结果118a-118c可以识别响应于分量请求而有资格分发的数字分量的子集和/或具有某些分发参数的数字分量的子集。数字分量的子集的识别可以包括例如将事件数据与分发参数进行比较,并且识别具有与事件数据的至少一些特征相匹配的分发参数的数字分量的子集。

服务装置110聚合从多个计算设备的集合114接收的结果118a-118c,并且使用与聚合的结果相关联的信息来选择将响应于请求112而提供的一个或多个数字分量。例如,如下所讨论的,服务装置110可以基于一个或多个内容评估过程的结果来选择获胜数字分量集合(一个或多个数字分量)。反过来,服务装置110可以生成并通过网络102发送应答数据120(例如,表示应答的数字数据),其中该应答数据120使得客户端设备106能够将获胜数字分量集合集成到给定的电子文档中,使得获胜数字分量集合和电子文档的内容一起被呈现在客户端设备106的显示器处。

在一些实施方式中,客户端设备106执行被包括在应答数据120中的指令,该指令配置并使得客户端设备106能够从一个或多个数字分量服务器获得获胜数字分量集合。例如,应答数据120中的指令可以包括网络位置(例如,统一资源定位符(uniformresourcelocator,url))和脚本,该脚本使得客户端设备106向数字分量服务器108发送服务器请求(serverrequest,sr)121,以从数字分量服务器108获得给定的获胜数字分量。响应于该请求,数字分量服务器108将识别在服务器请求121中(例如,在存储多个数字组件的数据库中)指定的给定的获胜数字分量,并将数字分量数据(dc数据)122发送给客户端设备106,该数字分量数据122在客户端设备106处呈现电子文档中的给定的获胜数字分量。

服务装置110可以利用各种技术来评估可用于响应于给定分量请求(例如,单个组件请求)而发送的各种不同数字分量的资格。例如,服务装置110可以比较各种不同数字分量的资格值,并选择具有最高资格值的数字分量中的一个或多个作为将响应于给定分量请求而发送到客户端设备106的数字分量。在一些情形下,每个数字分量的初始资格值(例如,出价或其他值)可以由数字分量的提供商(或源)指定。例如,视频剪辑(vc1)的一个提供商(p1)可以提供初始资格值1.0,而不同视频剪辑(vc2)的不同提供商(p2)可以提供初始资格值1.1。出于本示例的目的,假设分量请求仅请求与特定网页呈现一个数字分量。为了选择将提供两个视频剪辑中的哪一个,服务装置110可以基于它们相应的初始资格值对vc1和vc2进行排名,并选择最高排名的视频剪辑来响应于分量请求而被发送到客户端设备。在该示例中,vc2的排名高于vc1,因为vc2的初始资格值1.1高于vc1的初始资格值1.0。

在一些情形下,可以仅使用由数字分量的提供商(源)提交的初始资格值来评估各种不同数字分量的资格。在其他情形下,由提供商提交的初始资格值基于一个或多个其他因子而增大(或改变)。例如,服务装置110可以基于数字分量的初始资格值和数字分量的质量因子来生成数字分量的调整资格值。

给定数字分量的质量因子可以量化给定数字分量是响应于给定分量请求而提供的适当数字分量的可能性。在一些实施方式中,质量因子基于由事件数据指定的一个或多个特征而确定。更具体地,服务装置110可以将来自事件数据的一个或多个特征(例如,来自电子文档的地理信息和/或术语)输入到机器学习系统中,其中该机器学习系统输出可用作质量因子的预测分发结果。预测分发结果可以被表达为例如当前分量请求的上下文中的数字分量的预测交互率(例如,点进率、播放通过率(play-through-rate)或与数字分量的交互的另一度量)。

一旦获得质量因子,就可以将其应用于初始资格值,以得出调整资格值。例如,调整资格值(adjustedeligibilityvalue,aev)可以是初始资格值和质量因子的乘积(例如,aev=质量因子*初始资格值)。在一些情形下,各种不同数字分量的调整资格值可以用于对数字分类进行排名(例如,从最高到最低),并且最高排名的数字分量中的一个或多个可以被选择来响应于分量请求而发送。

在一些情形下,数字分类的选择也可以基于用户是否被选择来接收用户特定信息。如在本文档通篇所使用的,用户特定信息是指已经被指定用于分发给被包括在特定用户列表中的一个或多个用户的信息(例如,包括数字分量)。例如,用户特定信息包括但不限于特定数字分量,该特定数字分量已经被指定用于分发给由网站、应用或其他资源的发布者提交的用户列表。被选择来接收/被提供列表上的用户的用户列表可以以各种方式被生成,但是在一些情形下,该列表是基于已经执行了一些特定在线活动(例如,访问网站的特定页面、达到应用(诸如游戏应用)内的指定级别、请求特定信息(例如,使用数字助理设备)、观看特定视频或其他活动)的用户而生成的。更具体地,发布者可以识别执行特定活动的用户,创建表示那些用户的用户标识符列表,并且将该用户标识符列表连同要被提供给列表中用户的用户特定信息的指示一起提供给服务装置110。

对用户标识符的限制限制了服务装置110使用由发布者提供的用户标识符列表的能力。例如,通常包含用户标识符的cookie通常仅可由托管在与cookie的域相匹配的域中的装置(例如,服务器或其他计算设备)访问。也就是说,当由域example.com中的电子文档服务器104将cookie放置在客户端设备106上时,当客户端设备访问example.com内的网络位置(例如,网页)时,该cookie通常仅对在该客户端设备上运行的浏览器或本机应用可用。因此,在域example.com中提供内容的服务器将只能访问域example.com的cookie。这样,存储在example.comcookie中的任何用户标识符将不可用于其他域中的装置(例如,服务器或其他计算设备)。类似地,存储在客户端设备106上放置的cookie中的、包括由在不同域(例如,除了example.com之外)中提供电子文档的装置分配的用户标识符的信息通常不可由域example.com中的电子文档服务器104访问。这样,服务装置110通常不能直接使用由发布者分配给用户的标识符列表来促进跨域的用户特定信息的分发。

cookie映射可以有助于跨域(和cookie空间)的用户特定信息的分发,但是缺少保护用户隐私的过程,cookie映射的使用会导致数据泄漏(例如,用户信息的传播),和/或来自由多个不同实体提供的多个不同cookie的用户的聚合。由于与cookie映射相关联的查找过程,cookie映射自身也会导致更高的响应时延。下面的讨论提供了可以用于增强用户隐私同时促进由服务装置将用户特定信息分发给由发布者(例如,操作和/或维护电子文档服务器104的实体)指定的用户的技术的细节,该发布者在与服务装置的域不同的域中发布内容。该技术还提供了比常规cookie映射更低的响应时延,因为在服务时间不需要cookie映射。

注意,本文描述的技术可以用于对用户标识符的访问受限的任何情形。例如,即使对分配在一个域中的用户标识符的访问通常可由提供对不同域中的网页/服务的http请求的装置(例如,服务装置)访问,本文描述的技术也可以用于其中分离用户标识符是受期望的或不可避免的情形(例如,以改善用户隐私)。

本文档涉及一种服务装置。如本文所使用的,服务装置是一个或多个数据处理装置,其执行操作以促进内容通过网络的分发。服务装置在框图中被描绘为单个块。然而,虽然服务装置可以是单个设备或单个设备集合,但是本公开设想服务装置也可以是一组设备,或者甚至是多个不同的系统,其进行通信以便向客户端设备提供各种内容。例如,服务装置可以涵盖搜索系统、视频流服务、音频流服务、电子邮件服务、导航服务、广告服务或任何其他服务中的一个或多个。

图2a是示出用于创建标识符映射224的示例技术的框图200。标识符映射250将由服务装置110(或附加装置)分配给用户的服务标识符(“sid”)映射到由发布者206分配给用户的客户端标识符(“cid”)。发布者206可以是发布者资源的所有者、操作者和/或管理者。在一些实施方式中,发布者资源206与服务装置110的文档和/或服务处于不同的域(例如,不同的完全合格域或不同的第二级域)中。例如,发布者资源206可以在example.com域中,而由服务装置110提供的文档和/或服务不在example.com域中。在特定示例中,服务装置110可以在google.com域中提供对文档和/或服务的http请求,而发布者资源206可以在不同的域中(例如,除了google.com之外)。

由发布者分配给用户并存储在客户端设备106上的客户端标识符仅可由驻留在example.com域中的设备(例如,服务器)访问,这意味着服务装置110将不能访问由发布者分配给用户并存储在客户端设备106上的那些标识符。更具体地,当客户端设备106使用浏览器208(或本机应用)访问给定网络位置(例如,url)时,浏览器通常不会提供源自与从给定网络位置提供的网页/服务的域不同的域的cookie(或其他文件)。这样,当客户端设备106使用浏览器208(或本机应用)访问服务装置110时,从与由服务装置110提供的文档和/或服务的域不同的域丢弃在客户端设备106上的任何cookie将不被提供给服务装置110。因此,由发布者206分配给用户并存储在客户端设备106处(例如,在发布者cookie中)的任何客户端标识符将不由浏览器208传递给服务装置110。

发布者206可以使用嵌入在发布者的属性(例如,网页和/或本机应用)中的、被称为像素210(出于示例的目的)的标签,使得客户端设备106将信息从发布者的cookie(例如,从发布者的域丢弃在客户端设备上的任何cookie)发送到服务装置110。像素210可以是嵌入到发布者资源206中的1×1像素(或另一个像素、脚本或其他标签)。当客户端设备106提交对发布者资源206的请求212时,该请求由发布者的服务器之一接收,并且包括发布者资源206的响应被发送到客户端设备106。当客户端设备106在浏览器208内显现发布者资源206时,客户端设备将遇到像素210。由客户端设备106对像素210的执行(例如,使用浏览器208)触发对服务装置110(例如,对服务装置110的url)的网络呼叫216。

像素210可以被配置为将用户的客户端标识符(例如,“cid1”)嵌入到网络呼叫216中。像素210还可以被配置为将附加信息(诸如发布者的标识符(例如,“pid1”))嵌入到网络呼叫216中。例如,当客户端设备106使用浏览器208请求发布者资源206时,浏览器208可以将存储在客户端设备106处的发布者的cookie传递给发布者的服务器。发布者服务器可以将该信息嵌入到像素210中,使得当客户端设备106执行像素210时,嵌入的信息将被包括在传递给服务装置110的网络呼叫216中。以这种方式,使得服务装置110能够获得已经分配给用户的任何客户端标识符,即使浏览器208可能不将那些客户端标识符提供给服务装置110作为对服务装置110的常规网络呼叫的一部分(例如,通过用户将服务装置110的url输入到浏览器208中而发起)。

当像素210发起对服务装置110的网络呼叫216时,嵌入在像素210中的信息通常将不包括由服务装置110分配给用户的任何服务标识符(例如,sid1)。这是因为当客户端设备106请求发布者资源206时,浏览器208不将丢弃在客户端设备106上的cookie传递给发布者服务器,原因如上所讨论的(例如,发布者服务器和cookie之间的不同的和/或不匹配的域)。然而,当像素210生成对服务装置110的网络呼叫216时,该网络呼叫216将被定向到服务装置110的域(例如,google.com),使得浏览器208将服务装置110的cookie218(例如,具有与服务装置110相同的域)发送到服务装置110。被发送到服务装置110的cookie218将包括由服务装置110(或与服务装置110在相同域内的另一设备)分配给用户的服务标识符(例如,“sid1”)。因此,当像素210激发时,客户端设备106将向服务装置110发送由服务装置110分配给用户的服务标识符以及由发布者分配给用户的客户端标识符。

以上示例涉及使用像素向服务装置110发送服务标识符和客户端标识符。在一些实施方式中,服务标识符和客户端标识符可以由客户端设备106使用被嵌入在发布者资源206中的脚本(例如,javascript)发送到服务装置110。该脚本可以是例如由拥有/操作服务装置110的服务提供商提供的脚本。当浏览器208遇到脚本时,浏览器208将执行该脚本,这使得浏览器208向服务装置110传送包括服务标识符和/或客户端标识符的http请求。在一些实施方式中,脚本使得浏览器208访问具有与到服务装置110的http请求相同的域的一个或多个cookie,并且将cookie和/或来自cookie的信息提供给服务装置110。以这种方式,脚本可以用于将服务标识符和客户端标识符发送到服务装置110。

注意,客户端标识符可以不存储在客户端设备上,而是基于可以存储在客户端设备106上的其他用户特定信息而生成,这些用户特定信息被包括在http请求参数中或者被包括在发布者服务器在客户端设备106访问由发布者提供的电子文档和/或服务时生成的动态http响应中。当像素或脚本由浏览器208执行时,这些类型的客户端标识符也可以由浏览器208获得并被发送到服务装置110。被嵌入在发布者的资源中的脚本和/或其他可执行指令也被称为标签,并且基于这些脚本和/或其他可执行指令的执行而提供的信息被统称为标签信息。标签的执行也被称为标签的激发。

服务装置110接收客户端标识符和服务标识符两者,并生成映射信息220,该映射信息220指示服务标识符和客户端标识符两者都被分配给和/或表示相同的用户。例如,映射信息可以是数据集合,该数据集合以使得服务装置110能够使用服务标识符或客户端标识符来获得表示相同用户的另一对应标识符的方式被布置。例如,映射信息可以简单地被格式化为关键值对,该关键值对指示服务标识符和客户端标识符表示相同的用户。

由本创新增强用户隐私的一种方式是通过创建和存储客户端标识符到服务标识符的映射的方式。例如,服务装置110可以生成被映射到服务标识符的客户端标识符的散列,而不是简单地存储由发布者分配的客户端标识符到由服务装置110分配的服务标识符的直接映射。这限制了揭露用户的客户端标识符的能力。此外,为了防止将两个不同的客户端标识符链接到相同用户的可能性(例如,通过由两个不同的发布者将相同的客户端标识符分配给相同的用户),服务装置110可以在进行散列之前将发布者标识符与客户端标识符结合。

例如,假设具有标识符pid1的发布者向特定用户分配了客户端标识符cid1,并且具有标识符pid2的不同发布者也向相同的特定用户分配了客户端标识符cid1。在该示例中,第一发布者的客户端标识符的映射可以是例如sid1=hash(pid1:cid1),而第二发布者的映射可以是sid1=hash(pid2:cid1),从而导致跨不同发布者的不同映射。

服务装置110可以将映射信息220存储在id映射数据库222中。例如,id映射数据库222中的每个条目可以与表示相同用户的一对服务标识符和客户端标识符相对应。换句话说,每个条目可以指定用户的服务提供商到相同用户的客户端标识符的映射。id映射数据库222可以存储多个不同用户的映射信息220的多个实例,其被统称为标识符映射224。

一些服务提供商可能对不同的服务使用不同的服务标识符和/或不同的域。在这些情形下,上面执行的过程可以根据需要与附加过程进行组合,以扩展cookie映射,同时通过防止不同服务标识符链接到相同客户端标识符来继续保护用户隐私。例如,当客户端标识符和服务标识符的组合由服务装置110接收时,服务装置110可以确定用户当前是否登入由服务装置110提供的服务。

如果用户当前登入由服务装置110提供的服务(例如,视频流服务),则服务装置110可以识别用户账户与该服务的账户标识符。使用该账户标识符,服务装置110可以识别已经为由服务提供商提供的另一服务(例如,搜索服务)分配给用户的另一不同服务标识符(不同于基于像素激发从客户端设备106接收的服务标识符)。例如,服务装置110可以为该另一服务(例如,搜索服务)搜索账户标识符和对应服务标识符的索引,并且识别已经为该另一服务分配给用户的不同服务标识符。服务装置110然后可以使用客户端标识符和不同的服务标识符例如在不同的数据库中以类似于上述的方式创建客户端标识符和不同的服务标识符之间的映射。以这种方式,服务装置110可以通过单个像素在发布者资源上激发、跨两个不同的标识符空间(例如,cookie空间)执行本文通篇讨论的操作,其中该发布者资源与由服务提供商提供的服务处于不同的标识符空间(例如,cookie空间)中。

为了进一步保护这种跨标识符空间(例如,跨cookie空间)实施方式中的用户隐私,当对由发布者206分配给用户的客户端标识符进行散列时,可以使用不同的散列函数(或种子)。例如,代替使用上面讨论的客户端标识符的相同散列,服务装置110可以使用不同的散列函数(或种子)来创建客户端标识符的不同散列,使得客户端标识符和(例如,第一服务的)第一服务标识符的第一映射不同于(并且不直接归属于)客户端标识符到第二服务标识符的第二映射。更具体地,第一服务的第一映射可以是例如sid1=hash1(pid1:cid1),并且第二服务的第二映射可以是例如sid2=hash2(pid1:cid1),使得sid1和sid2被分配给相同的用户是不明显的。可以跨任意数量的标识符空间进行类似的过程,以便将客户端标识符链接到每个标识符空间中的对应服务标识符(例如,对于每个服务),同时确保不同映射中的条目不相互归属。

在一些情形下,用户可以使用多个不同的设备来访问服务提供商(例如,服务装置110)的服务。例如,用户可以首先使用他们的移动设备来访问特定服务,然后使用数字助理设备来访问相同的服务,再然后使用平板设备来访问相同的服务。在该示例中,每个设备将具有存储在该设备处的不同的服务标识符。为了保护用户隐私,服务装置110可以被配置为仅保留最近遇到的服务标识符的映射。

继续上面的示例,假设服务装置110首先例如以上述方式将存储在移动设备处的服务标识符映射到客户端标识符。进一步假设,在稍后的时间,服务装置110从平板设备接收客户端标识符以及客户端标识符(例如,由于像素激发)。在这种情形下,服务装置110可以删除客户端标识符到使用从移动设备获得的服务标识符而创建的服务标识符的映射,从而从标识符映射224中消除较早接收的服务标识符。然而,服务装置110可以创建第二服务标识符(例如,从平板设备接收的服务标识符)到由发布者206分配给用户的客户端标识符的新映射,并且以类似于上面讨论的方式将该映射存储在映射列表224中。以这种方式,服务装置110通过减少可归属于相同用户的标识符的数量来进一步增强用户隐私,这限制了归属于特定用户的信息量。

在一些实施方式中,一个或多个附加装置(未示出)可以接收网络呼叫216,并将客户端设备106重定向到服务装置110。例如,像素210可以发起对跟踪转换(或其他分析数据)的服务器的网络呼叫216。在该示例中,跟踪转换的服务器可以记录在网络呼叫216中识别的转换,并且在重定向中将客户端标识符和/或发布者标识符传递给服务装置110。跟踪转换的服务器也可以将服务标识符传递给服务装置110(例如,如果附加装置属于与服务装置110相同的域)。可替换地和/或附加地,当来自附加装置的重定向由客户端设备106执行时,浏览器将识别(多个)服务cookie,并将它们与来自网络呼叫216的信息一起传递,其中该信息被嵌入在由附加装置发起的重定向中。

图2b是示出用于在跨域环境中增强用户隐私的示例技术的框图250。由框图250示出的技术可以使用(例如,在创建之后)参考图2a讨论的标识符映射224而执行。此外,由框图250示出的技术使得服务装置110能够在那些用户正在访问由服务装置110提供的服务时(例如,当客户端设备106没有向服务装置110提供客户端标识符时),促进向由发布者206指定的用户列表(例如,通过客户端标识符)递送(例如,分发或发送)用户特定信息。

如上所讨论的,发布者206可以指定将用户特定信息(例如,再营销(remarket)内容)提供给指定用户列表。在一些情形下,当那些用户访问(或以其他方式利用)由在发布者的域之外的服务装置110(或另一第三方服务提供商)提供的服务时,发布者206可能想要提供给指定用户集合的用户特定信息。为了促进服务装置110向由发布者206选择的用户分发(或发送)用户特定信息的能力,发布者206可以向服务装置110提供客户端标识符列表252,该客户端标识符列表252表示发布者已经选择作为用户特定信息的接收者的用户。客户端标识符列表252指定已经由发布者206分配给(多个)对应用户的一个或多个客户端标识符。当用户首先访问从发布者的域提供的资源(例如,发布者网站的任何网页)时,列表中的客户端标识符可以被分配给用户。附加地,或者可替换地,当用户访问由发布者提供的特定资源(例如,发布者网站内的特定页面)时,可以将客户端标识符列表分配给那些用户。客户端标识符可以被存储在用户的客户端设备106上,例如,被存储在仅可由具有发布者的域内的网络地址的设备(例如,服务器)访问的cookie中。

在服务装置110接收到客户端标识符列表252之后,服务装置110可以使用标识符映射224来确定服务标识符是否已经被分配给由客户端标识符列表252中的客户端标识符表示的每个用户。在一些实施方式中,服务装置110可以执行标识符映射224的查找(或搜索),以努力识别标识符映射224中与被包括在客户端标识符列表252中的每个特定客户端标识符相匹配的条目。例如,服务装置110可以将客户端标识符列表中的每个客户端标识符与标识符映射224的每个条目中的客户端标识符进行比较。在本示例中,服务装置110将确定标识符映射224包括条目集合254,该条目集合254包括与客户端标识符列表252中的标识符相匹配的客户端标识符(例如,cid1、cid2)。

当服务装置110确定标识符映射224中的条目与客户端标识符列表252中的客户端标识符之一相匹配时(例如,通过比较功能、查询功能或另一功能),服务装置110可以识别被包括在包含匹配客户端标识符的条目中的给定服务标识符。如上所讨论的,在标识符映射224的相同条目中包括给定服务标识符指示给定服务标识符表示(例如,被分配给)由该条目中的客户端标识符表示(例如,分配)的相同的用户。这样,服务装置110可以将服务标识符(但不是客户端标识符)添加到被存储在发布者列表数据库258中的匹配服务标识符列表256。以这种方式,服务装置110可以生成服务标识符集合,该服务标识符集合表示由发布者使用客户端标识符识别的用户。该服务标识符集使得服务装置110能够单独使用服务标识符(例如,无需客户端标识符)来确定正在访问服务装置110的服务的给定用户是否是发布者已经指定应该接收用户特定信息的用户(例如,通过客户端标识符)。

在一些实施方式中,发布者列表数据库258存储包括匹配标识符列表256的数据结构260。数据结构260还可以包括识别提交用于创建匹配标识符列表256的客户端标识符的发布者的信息(例如,发布者id,pid1)。数据结构260还可以包括识别发布者已经指定应该被递送给由发布者指定的用户的用户指定内容(例如,u-s内容1)的信息。注意,发布者列表数据库可以存储多个不同发布者的不同数据结构,以便能够向由多个不同发布者提供的多个不同用户列表提供用户特定信息。

当客户端设备106访问由服务装置110提供的服务,或者以其他方式向服务装置110(例如,向属于与服务装置110相同的域的任何资源)提交请求时,客户端设备106将向服务装置110提交由服务装置110分配给用户的服务标识符。例如,如上所讨论的,如果用户正在访问由服务装置提供的网址(例如,在与该装置相同的第二级域中,诸如google.com),则在客户端设备106处执行的浏览器将向服务装置110提供属于服务装置110的域(例如,第二级域)的任何cookie。

在特定示例中,如图2b所示,客户端设备106联系服务装置110以访问被托管在服务装置110的域中并包括服务内容266的网页264。当客户端设备106请求网页264时,浏览器208将向服务装置110提交由服务装置110分配给用户的服务标识符268(例如,作为cookie文件的一部分)。

服务装置110通过提供包括服务内容266的网页264来响应对网页的请求。在一些实施方式中,服务内容是搜索系统的用户界面。在这些情形下,用户可以向服务装置110提交搜索查询,并且服务装置可以以搜索结果页面形式的服务内容266来响应。搜索结果页面可以包括为不同于搜索结果的第三方内容(例如,数字分量)的呈现而保留的内容槽(slot)270。

服务装置110可以部分基于用户的服务标识符268是否被包括在发布者列表数据库258中来选择填充内容槽270的第三方内容。例如,服务装置110可以查找(或查询)发布者列表数据库258,以确定从客户端设备106获得的服务标识符268是否被包括在发布者的数据结构260中。更具体地,服务装置110可以使用服务标识符268查询发布者列表数据库258。当查询返回存储在发布者列表数据库258中的数据结构260中的匹配时,服务装置110可以将由数据结构260指定的内容发送到客户端设备106。

例如,当服务装置110使用服务标识符268查询发布者列表数据库258时,查询结果可以是匹配服务标识符272被包括在具有发布者标识符pid1的发布者的数据结构260中的指示。换句话说,对查询的响应可以是客户端设备已经提供了被包括在发布者的匹配服务标识符列表中的服务标识符的指示。

响应于匹配服务标识符272的识别,服务装置可以发送为由数据结构260中的服务标识符表示的用户保留的(例如,为用户指定的)内容,在该示例中为u-s内容1275。例如,服务装置110可以从内容数据库274中检索u-s内容1275,并且将检索到的内容发送到客户端设备106以用于在内容槽270中的呈现,或者服务装置110可以将u-s内容1275的网络地址发送到用户设备106,并且用户设备可以从网络地址中检索u-s内容1275。在本示例中,保留的内容是用户特定信息u-s内容1275。

当查询未能返回发布者列表数据库258包括匹配服务标识符272的指示(客户端设备未提供被包括在由发布者提供的匹配服务标识符列表中的服务标识符的指示)时,服务装置110可以不提供任何内容来填充内容槽270,或者服务装置110可以提供不为由匹配服务标识符列表表示的用户保留(或具体指定)的内容。在本示例中,在这种情形下,用户特定信息u-s内容1275将不被提供给客户端设备。

出于示例的目的,以上描述涉及确定服务标识符268是否被包括在具有发布者标识符pid1的发布者的数据结构260中。在一些实施方式中,每个服务标识符被用作用于确定包括用户的所有发布者列表的索引键。例如,数据结构260可以包括发布者标识符(例如,pid)和对应内容到服务标识符的映射,这使得能够使用服务标识符268直接查找包括用户的所有发布者列表、以及将被分发给每个列表上的用户的对应内容。

更具体地,假设数据结构260包括以下映射sid1→pid1:u-s内容1、pid2:u-s内容2、pid3:u-s内容3。在该示例中,服务装置110可以使用所接收的服务标识符sid1作为用于搜索发布者列表数据库258和/或数据结构260的查询参数。对查询的响应将是与包括服务标识符sid1的发布者列表相对应的发布者标识符列表、以及已经被指定为提供给发布者列表中的用户的对应内容。该响应也被认为是客户端设备已经提供了被包括在发布者(或多个发布者)的匹配服务标识符列表中的服务标识符的指示。服务装置110可以使用该发布者标识符列表和对应内容来确定哪个内容将实际被发送到客户端设备106。例如,服务装置可以执行类似于参考图1描述的内容选择过程。

在以上示例中,由服务装置110提供的服务被称为搜索服务,但是该服务可以是任何服务。例如,该服务可以是音乐流服务,其中内容槽是用于呈现第三方内容的时间槽。该服务也可以是电子邮件服务、社交媒体服务、数字助理服务、视频流服务、另一在线媒体服务、购物服务、广告服务或在线提供的任何其他服务。

在一些实施方式中,内容和/或服务可以由第三方提供,该第三方不同于其内容最终被提供的发布者和服务装置110中的每一个。在这些情形下,当服务装置110正在提供由第三方提供的内容和/或服务内的服务时,可以使用类似的过程。例如,如果第三方内容包括生成到服务装置110的http请求的像素或脚本,则发起http请求的浏览器(或应用)可以向服务装置110提供服务标识符272,并且服务装置110可以以类似于上述的方式利用服务标识符272来选择将在客户端设备106处与第三方内容或服务一起被呈现的内容。

图3是用于在跨域内容分发环境中增强用户隐私的示例过程300的流程图。过程300可以由一个或多个数据处理装置(诸如上面讨论的服务装置110)执行。该过程也可以被实施为存储在非暂时性计算机可读介质上的指令。该指令可以由一个或多个数据处理装置执行。指令的执行可以使得一个或多个数据处理装置执行过程300的操作。

从客户端设备在网络呼叫中接收标签信息(302)。在一些实施方式中,包括标签信息的网络呼叫是通过激发被嵌入在发布者资源中的标签(例如,像素)而生成的。例如,当客户端设备显现发布者资源时,客户端设备将执行标签,从而激发标签,这会生成将标签信息递送给服务装置的网络呼叫。在一些实施方式中,标签信息包括发布者资源的发布者的给定发布者标识符和由发布者分配给客户端设备的用户的给定客户端标识符。给定发布者标识符可以唯一地标识发布者,而给定客户端标识符可以唯一地标识发布者的域内的用户。

从客户端设备获得给定服务标识符(304)。给定服务标识符是由服务装置分配给用户的标识符。在一些实施方式中,相对于服务提供商的域内的其他用户,给定服务标识符唯一地标识该用户。给定服务标识符可以例如通过由服务装置丢弃在客户端设备上的cookie而获得。

例如,在客户端设备遇到发布者资源处的标签之前,客户端设备可能已经访问了由服务提供商提供的服务。在该示例中,包括给定服务标识符的cookie可能已经由服务装置丢弃在客户端设备上。当标签在客户端设备处激发并提交对服务装置的网络呼叫时,在客户端设备处执行的浏览器(或其他应用)可以识别服务装置的域(例如,从标签或网络呼叫),使用该域来识别其域与服务装置的域相匹配的cookie,并且将可以包括给定服务标识符的该cookie提交给服务装置。

生成用户的模糊表示(306)。用户的模糊表示可以是用户的任何表示,其帮助防止用户的身份通过该表示被直接确定。在模糊用户的表示中使用的一种技术是散列。在一些实施方式中,通过对由发布者分配给用户的给定客户端标识符进行散列来模糊用户的表示。然而,两个不同的发布者可能已经将相同的客户端标识符分配给相同的用户,使得相同的散列值可能最终在两个不同的发布者域中(例如,在两个不同的cookie空间中)表示相同的用户。为了减少(例如,防止)单个用户在两个不同的域中由相同的散列值表示的可能性,如上所讨论的,用户的表示的模糊可以是给定客户端标识符和将给定客户端标识符分配给用户的发布者的发布者标识符的组合的散列。

在特定示例中,用户的散列表示可以以下面的方式被生成。发布者的给定发布者标识符(例如,如标签信息中所指示的)可以与给定客户端标识符(例如,如标签信息中所指示的)进行组合。该组合可以以各种方式被执行,但是在一个示例中,该组合可以是给定发布者标识符和给定客户端标识符的串联。给定发布者标识符和给定客户端标识符的组合然后可以具有被应用于其的散列函数,从而生成该组合的散列。该组合的散列可以充当用户的散列表示,或者称为用户的模糊表示。

创建给定客户端标识符到给定服务标识符的映射(308)。在一些实施方式中,在被存储在数据库中的数据结构中创建映射,如上所讨论的。例如,服务装置可以在数据结构中创建条目,其链接、关联或以其他方式指示给定客户端标识符和给定服务标识符表示相同的用户。

如上所讨论的,当服务装置提供多个服务时,服务装置可以向相同的用户分配不同的服务标识符。例如,提供在线搜索服务的服务装置可以为特定用户分配第一服务标识符,以用于该搜索服务。同时,如果服务装置还提供在线视频流服务,则服务装置可以为相同的特定用户分配不同的服务标识符,以用于视频流服务。在该示例中,特定用户具有由服务装置分配给用户的两个不同的服务标识符,但是该用户可能能够使用相同的账户标识符来访问这两个服务,例如,通过使用相同的登录凭证来访问两个服务。

在一些实施方式中,服务装置可以扩展客户端标识符到不同的服务标识符(例如,用于服务装置的不同服务)的映射。例如,假设当从客户端设备接收到标签信息时(例如,当用户访问发布者资源时),用户当前登录到由服务装置提供的服务(例如,视频流服务)。在该示例中,服务装置可以识别用户的账户标识符,并且使用账户标识符来识别服务装置已经分配给用户的、其他服务中(例如,其他cookie空间中)的其他服务标识符。例如,服务装置可以使用账户标识符来搜索账户标识符到与其他服务相关联的数据库中的服务标识符的映射。当在其他服务的数据库中找到账户标识符和账户标识符到服务标识符的映射之间的匹配时,服务装置可以继续识别已经为由服务装置提供的不同服务分配给用户的不同服务标识符。客户端标识符和不同服务标识符之间的不同映射然后可以以类似于上面讨论的方式被创建。

将客户端标识符映射到服务装置已经为各种不同服务分配给用户的各种不同服务标识符使得服务装置能够执行跨由服务装置提供的各种不同服务(例如,使用由发布者分配给用户的客户端标识符)向由发布者指定的用户集合发送用户特定信息,即使不同服务不共享公共用户标识符空间(例如,cookie空间)。

当客户端标识符到服务标识符的映射例如针对由服务装置提供的其他服务被扩展到其他cookie空间时,可以使用附加的隐私增强技术来确保来自不同cookie空间的信息不能被聚合并归属于相同的用户。例如,由发布者分配给用户的给定客户端标识符(例如,在标签信息中接收的单个客户端标识符)可以针对每个不同的cookie空间(例如,针对由服务装置提供的每个服务)使用不同的散列函数(或种子)进行散列。

在特定示例中,假设发布者为特定用户分配的客户端标识符是cid1,并且用户登入由服务装置提供的特定服务。在该示例中,可以使用第一散列函数(或种子)对给定客户端标识符(或给定客户端标识符和发布者标识符的组合)进行散列,以获得第一散列值,该第一散列值然后被映射到特定服务的服务标识符。继续该示例,在给定客户端标识符被映射到由服务装置提供的不同服务的不同服务标识符之前,可以使用第二散列函数(或种子)对给定客户端标识符(或给定客户端标识符和发布者标识符的组合)进行散列,以获得不同于第一散列值、但表示与第一散列值相同的用户的第二散列值。可以创建第二散列值到不同服务标识符的映射,使得与给定客户端标识符相对应的用户可以在不同服务的上下文中被识别,并被提供由发布者指定的用户特定信息。

在一些实施方式中,服务装置可以在其他上下文中将多个不同的服务标识符分配给相同的用户。例如,相同的用户可以在不同的时间访问相同的服务,其中相同的用户在一次访问期间登录,而在另一次访问期间不登录。在这种情形下,服务装置可以为相同的用户分配两个不同的服务标识符。在本示例中,服务标识符中的一个将表示登录时的用户,并且另一个服务标识符表示注销时的用户。类似于上面讨论的映射扩展也可以用于这些情形。

从发布者接收客户端标识符列表(310)。在一些实施方式中,客户端标识符列表是通过使得发布者能够将客户端标识符上传到服务装置的api而接收的。客户端标识符列表包括已经由发布者分配给各种用户的客户端标识符。客户端标识符列表表示发布者已经挑选的用户,在这些用户访问由服务装置提供的服务(例如,在与发布者不同的域和/或cookie空间中)时,接收由发布者指定的用户特定信息(例如,再营销内容)。在一些实施方式中,如上所讨论的,客户端标识符列表表示已经在发布者的网站(或其他属性)处执行了一些特定动作的用户。

确定由发布者提供的客户端标识符列表包括给定客户端标识符(312)。可以通过将客户端标识符列表与服务标识符到客户端标识符的映射(例如,上面讨论的标识符映射)进行比较来确定客户端标识符列表包括给定客户端标识符。在一些实施方式中,客户端标识符列表中的每个客户端标识符(或者发布者标识符和每个客户端标识符的组合)以与映射中的用户的表示相同的方式进行散列,如上所讨论的。然后,客户端标识符的散列版本与映射中的客户端标识符的表示进行比较。当找到给定客户端标识符的表示(例如,其散列表示)之间的匹配时,确定给定客户端标识符被包括在客户端标识符列表中。注意,对于列表中的每个客户端标识符,可以遵循相同的步骤,并且可以确定与映射中的条目相匹配的所有客户端标识符。还要注意,对客户端标识符到服务标识符的映射的引用(或者反之亦然)考虑了客户端标识符和/或服务标识符的任何表示(例如,原始的、散列的或以其他方式的)之间的映射。

将被映射到给定客户端标识符的服务标识符存储在匹配服务标识符列表中(314)。在一些实施方式中,基于确定给定客户端标识符被包括在从发布者接收的客户端标识符列表中,服务标识符被存储在匹配服务标识符列表中。匹配服务标识符列表是从发布者接收的客户端标识符列表的新的/不同的表示。也就是说,匹配服务标识符列表使用由服务装置分配给用户的服务标识符来表示由发布者使用由发布者分配给那些用户的客户端标识符指定的用户。这使得能够在由服务装置提供的服务(例如,在与发布者不同的域和/或cookie空间中)内识别由发布者指定的用户。这样,匹配服务标识符列表可以用于确保由发布者指定的用户在用户正在访问由服务提供商提供的服务时接收用户特定信息。注意,可以对客户端标识符列表中的每个客户端标识符执行该过程,以便创建表示与客户端标识符列表相对应的用户的多个服务标识符的列表。这也可以针对多个不同的发布者执行。如上所讨论的,映射可以是服务标识符的单个实例和包括服务标识符和对应内容的列表的所有发布者标识符对之间的映射,其中该对应内容已经被指定用于分发给包括服务标识符的列表中的用户。这促进了对已经由多个不同发布者指定用于分发给该用户的用户特定内容的直接查找。这减少了识别应该考虑用于分发给用户的各种内容所需的时间量,从而提高了系统本身的性能(例如,减少了选择内容的时延)。

一旦映射到给定客户端标识符的服务标识符已经被存储在匹配服务标识符列表中,就可以删除给定客户端标识符(316)。在一些实施方式中,从服务装置中删除给定客户端标识符,以便进一步保护用户隐私,例如,通过限制该客户端标识符的可能分发。

在一些情形下,可以与不同的服务标识符一起接收包括给定发布者标识符和给定客户端标识符的标签信息(318)。例如,假设用户首先使用移动设备来访问发布者资源,稍后使用平板设备来访问发布者资源,如上所讨论的。在这种情形下,分配给用户的服务标识符将基于每个设备而不同。然而,给定客户端标识符和给定发布者标识符可以是相同的。在这种情形下,仅服务标识符的一个实例可以被映射到给定客户端标识符。在一些实施方式中,删除给定服务标识符到给定客户端标识符的映射(320),并且以类似于上述的方式创建不同服务标识符到给定客户端标识符的不同映射(322)。该特定的解决方案选择保持最近接收到的服务标识符之间的映射,从而抛弃较旧的服务标识符。当然,较旧的服务标识符(和原始映射)可以被保留,同时删除稍后的映射或者避免创建稍后的映射。当新的/不同的映射替换服务标识符已经被包括在匹配服务标识符列表中的现有映射时,可以将不同的服务标识符存储在匹配服务标识符列表中(314)。

在一些实施方式中,当新的服务标识符替换表示相同用户的较旧的(或不同的)服务标识符时,可以进行映射修改,使得在不需要对发布者部分的进一步动作的情况下,维护(多个)发布者标识符和对应内容的映射。例如,假设sid1a被分配给已经被分配了sid1的用户。在这种情形下,sid1和发布者标识符(例如,pid1和/或任何其他pid)之间的现有关联可以被重新映射到sid1a。在该示例中,所得到的映射可以替换现有映射,使得发布者不需要采取任何进一步的动作来确保用户仍然有资格分发用户已经有资格接收的用户特定内容(例如,通过被包括在先前由发布者指定的客户端标识符列表中)。这样,即使当最初分配的服务标识符改变时,系统也能够保持客户端标识符、发布者标识符和服务标识符的列表之间的关联。

从正在访问由服务装置提供的服务的多个不同客户端设备接收内容请求(324)。在一些实施方式中,内容请求是分量请求,如参考图1所讨论的。内容请求可以是对要被递送到客户端设备以用于合并到客户端设备处的显示器(或用户界面)的一部分中的第三方内容的请求。在一些情形下,将第三方内容合并到显示器(或用户界面)的一部分可以发生在客户端处。在一些情形下,第三方内容可以被合并在服务装置处,并与由服务装置提供的服务内容一起被递送。在一些情形下,不需要内容请求,以便递送由服务装置提供的服务内的内容。例如,服务装置可以在用户访问服务之前或者在用户访问服务时将第三方内容插入到服务中。在这种情形下,不需要单独的内容请求。

基于客户端设备是否提供被包括在匹配服务标识符列表中的服务标识符来响应内容请求(326)。例如,当客户端设备提供被包括在匹配服务标识符列表中的对应服务标识符时,为由发布者指定的用户保留的(例如,为用户指定的)第一内容可以被发送到客户端设备。例如,假设发布者已经指定将特定内容(例如,图像、消息或视频)提供给由发布者上传的客户端标识符列表表示的用户。在这种情形下,那些用户的对应服务标识符将被包括在匹配服务标识符列表中,并且基于客户端设备已经提交了被包括在服务标识符列表中的服务标识符,特定内容可以被发送(或者以其他方式分发)到客户端设备。当用户在访问由服务装置提供的服务时,可以递送用户特定信息,使得当用户在访问与发布者的域不同的第二级域时,内容被呈现。

当客户端设备不提供被包括在匹配服务标识符列表中的对应服务标识符时,不为匹配标识符列表保留的不同内容被发送到客户端设备。例如,基于参考图1讨论的一个或多个因子,不同的内容可以是以其他方式可用于分发到客户端设备的任何内容。在一些实施方式中,当客户端设备不提供被包括在匹配服务提供商列表中的对应服务标识符时,将不提供第三方内容用于与由用户正在访问的服务一起呈现。

图4是可以用于执行上述操作的示例计算机系统400的框图。系统400包括处理器410、存储器420、存储设备430和输入/输出设备440。组件410、420、430和440中的每一个可以例如使用系统总线450进行互连。处理器410能够处理用于在系统400内执行的指令。在一个实施方式中,处理器410是单线程处理器。在另一个实施方式中,处理器410是多线程处理器。处理器410能够处理存储在存储器420中或存储设备430上的指令。

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

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

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

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

电子文档(为简洁起见,简称为文档)不一定对应于文件。文档可以被存储在保存其他文档的文件的一部分中,存储在专用于所讨论的文档的单个文件中,或者存储在多个协调文件中。

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

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

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

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

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

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

为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实施,该计算机具有用于向用户显示信息的显示设备,例如crt(阴极射线管)或lcd(液晶显示器)监控器,以及键盘和定点设备,例如鼠标或轨迹球,用户可以通过这些设备向计算机提供输入。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入可以以任何形式接收,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如通过响应于从网络浏览器接收的请求,将网页发送到用户客户端设备上的网络浏览器。

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

计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且一般通过通信网络进行交互。客户端和服务器的关系是根据运行在各自计算机上的计算机程序产生的,并且相互之间具有客户端-服务器关系。在一些实施例中,服务器将数据(例如,html页面)传输到客户端设备(例如,出于向与客户端设备交互的用户显示数据和从与客户端设备交互的用户接收用户输入的目的)。可以在服务器处从客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。

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

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

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

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