跨站点半匿名跟踪的制作方法

文档序号:27512585发布日期:2021-11-22 17:31阅读:99来源:国知局
跨站点半匿名跟踪的制作方法

1.本发明一般涉及计算机技术领域,更具体地说,涉及跟踪cookie。
2.背景
3.http cookie(也称为web cookie、互联网cookie、浏览器cookie或简称cookie)是用户浏览时,从网站发送并由用户的web浏览器存储在用户计算机上的小块数据。cookie允许网站记住有状态的信息(例如在线商店购物车中添加的商品)或记录用户的浏览活动(包括点击按钮、登录或记录过去访问过哪些页面)。
4.cookie可用于存储本地配置、加速登录或区分用户。用于本地配置的cookie对于用户来说可能是唯一的,也可能不是唯一的,这取决于具体的实现。用于本地配置的cookie不能跨站点使用。用于登录目的的cookie对用户来说是唯一的。如果使用代理登录服务,用于登录的cookie可以跨站点使用。
5.cookie可用于跟踪用户的在线活动,以向用户提供相关内容。然而,许多关注用户隐私的用户和内容发布者不愿允许cookie跟踪个人的在线活动,尤其是当跟踪由第三方执行时。现有系统很难在向用户提供目标内容的同时保持足够的用户隐私。
6.概述
7.半匿名跟踪cookie可用于向用户提供相关内容和广告,同时维护用户隐私。内容发布者可以将跟踪cookie放置在用户设备上,例如用户计算机的浏览器上。跟踪cookie可以包括将cookie标识为跨站点半匿名跟踪cookie的cookie属性。用户设备可以请求跟踪cookie的匿名化建议。匿名化服务可以为跟踪cookie提供匿名化建议。用户设备可以基于匿名化建议存储半匿名值。相同的半匿名值可以被提供给多个用户设备并由多个用户设备使用。内容发布者可以存储由多个用户设备执行的动作,而不唯一标识哪个用户设备执行了动作。基于由共享跟踪cookie的半匿名值的多个用户设备执行的存储的动作,内容和广告可以被定向到用户设备。此外,可以基于存储的动作来计算转化归因。
8.本文描述了系统、制品和计算机实现的方法。所述组件可以执行动作,这些动作包括:由用户设备从内容发布者接收跟踪cookie;由用户设备检测跟踪cookie的半匿名cookie属性;响应于检测到半匿名cookie属性,由用户设备向匿名化服务请求跟踪cookie的匿名化建议;由用户设备从匿名化服务接收跟踪cookie的匿名化建议;由用户设备基于匿名化建议存储跟踪cookie的半匿名值;以及由用户设备发送跟踪cookie和跟踪cookie的半匿名值以及对内容的请求。
9.在各种实施例中,动作可以包括用跟踪cookie的半匿名值替换跟踪cookie的唯一值。跟踪cookie的半匿名值可以与多个用户设备共享。内容发布者可以存储由多个用户设备使用跟踪cookie的半匿名值执行的动作的日志文件。这些动作可以包括接收基于多个用户设备使用跟踪cookie的半匿名值执行的动作的日志文件定制的内容。跟踪cookie的半匿名值可以通过散列用户设备的唯一值并截断所得散列来计算。可以使用随机数生成器来选择半匿名值。
10.说明书中描述的特征和优点并不包括全部,特别是,鉴于附图、说明书和权利要
求,许多附加的特征和优点对于本领域普通技术人员来说将是显然的。此外,应当注意,说明书中使用的语言主要是出于可读性和指导性的目的而选择的,并且可能没有被选择来描绘或限制本发明的主题。
11.附图简述
12.图1示出了根据一个实施例的使用半匿名跟踪cookie的计算环境。
13.图2示出了根据一个实施例,当利用半匿名跟踪cookie时,在图1的不同实体之间发生的交互。
14.图3示出了根据一个实施例的用于设置半匿名跟踪cookie的隐私级别的屏幕截图。
15.附图仅为了说明的目的而描绘本发明的实施例。本领域中的技术人员从下面的描述中将容易认识到,本文所示的结构和方法的替代实施例可以被采用而不偏离本文所述的本发明的原理。
16.详细描述
17.图1示出了利用半匿名跟踪cookie的系统100的详细视图。该系统可以包括内容发布者110、广告商服务器120、匿名化服务器130和多个客户端设备140。现在将更详细地描述这些不同的组件。
18.内容发布者110可以包括一个或更多个计算机、服务器和/或数据库,其被配置为生成数字内容,例如可以通过网络访问的网站或应用。内容发布者110可以被配置为向客户端设备发送cookie。
19.广告商服务器120可以包括一个或更多个计算机、服务器和/或数据库,其被配置为生成数字内容,例如可以通过网络访问的网站或应用。广告商服务器120可以由销售商品或服务的广告商操作。广告商可以在第三方网站或应用(例如由内容发布者110提供的那些)上做广告。
20.匿名化服务器130可以包括被配置为提供匿名化建议并生成半匿名跟踪cookie的一个或更多个计算机、服务器和/或数据库。匿名化服务器130可以被配置成从多个用户设备接收对匿名化建议的请求。匿名化服务器可以被配置为基于用户属性创建用户组。匿名化服务器可以被配置成为用户设备生成半匿名跟踪cookie。匿名化服务器可以被配置为向组中的多个用户设备提供具有相同值的半匿名跟踪cookie。
21.客户端设备140是计算设备,例如智能电话、膝上型计算机、台式计算机或能够通过网络通信的任何其他设备。用户可以利用客户端设备140来访问内容。例如,客户端设备140可以用于访问由内容发布者110提供的社交网络网站或应用,或者访问由广告商服务器120提供的网站或应用。客户端设备140可以各自利用存储cookie的浏览器。客户端设备140可以各自利用操作系统和一个或更多个应用。
22.各种系统组件可以通过一个或更多个网络150进行通信。网络150可以是用于数据传输的任何合适的通信网络。在诸如图1所示的实施例中,网络150使用标准通信技术和/或协议,并且可以包括互联网。在另一个实施例中,实体使用定制和/或专用数据通信技术。
23.图2示出了根据一个实施例,当使用半匿名cookie跟踪用户的动作时,在图1的不同实体之间发生的交互。用户可以访问由内容发布者提供的内容(步骤201)。例如,用户可以使用用户设备上的浏览器访问由内容发布者提供的网站,用户可以打开由内容发布者提
供的移动应用,或者用户可以使用语音个人助理访问技能。在一个实施例中,用户设备可以向内容发布者发送访问网页的http请求。
24.内容发布者可以向用户设备发送跟踪cookie(步骤202)。除了跟踪cookie之外,内容发布者还可以传输其他cookie,例如登录cookie和配置cookie。跟踪cookie可以包括一个或更多个cookie属性。跟踪cookie可以包括半匿名cookie属性,该属性将cookie标识为半匿名跟踪cookie。例如,跟踪cookie可以包括半匿名cookie属性“xsite”或“semianon”,其表明跟踪cookie应该匿名化。一般来说,浏览器使用cookie属性来确定对cookie采取什么动作,例如何时删除cookie、何时阻止cookie,或者是否将cookie发送到服务器。
25.半匿名cookie属性可能表明跟踪cookie应该匿名化。在一个实施例中,半匿名cookie属性没有关联值。相反,属性名“xsite”的存在可能表明它的行为应该被执行。然而,在一个实施例中,跟踪cookie可以至少最初包括唯一值。例如,内容发布者可以用包括字符串“set

cookie:track=l23456789;domain=contentpublisher.com;expires=fri,09nov2040 11:00:00gmt;xsite”的响应来对http请求进行响应。该字符串表明cookie的名称和值分别为“track”和“123456789”。在一个实施例中,cookie可以不包括cookie名称的任何字段或值,因为“xsite”属性可以导致浏览器移除或替换任何现有的cookie名称或值。跟踪cookie的属性“domain”具有值“contentpublisher.com”,指示浏览器在向contentpublisher.com请求页面时使用该cookie。跟踪cookie还具有值为“fri,09nov 2040 11:00:00gmt”的属性“expires”,其表明跟踪cookie是一个持久性cookie,将由浏览器存储到指定日期,或者直到用户手动删除该cookie。跟踪cookie具有属性“xsite”,它将指示浏览器匿名化cookie。
26.在一个实施例中,跟踪cookie可以是由广告商服务器通过内容发布者网站上的广告放置的第三方cookie。在这种情况下,domain属性的值可能为“advertiser.com”。虽然某些浏览器和用户不允许第三方cookie,但浏览器或用户可以破例允许包含半匿名cookie属性的第三方cookie,因为跟踪cookie将被半匿名化。
27.在一个实施例中,跟踪cookie可以不包括域或路径属性。因此,跟踪cookie可以被传输到用户设备访问的任何网站。因为跟踪cookie可能是半匿名的,所以浏览器和用户可以允许共享cookie而不考虑隐私。
28.浏览器可以请求跟踪cookie的匿名化(步骤203)。浏览器可以检测半匿名cookie属性,并且响应于检测到半匿名cookie属性,浏览器可以请求跟踪cookie的匿名化。在一个实施例中,浏览器可以向可信的第三方匿名化服务发送对匿名化建议的请求。然而,在其他实施例中,匿名化服务可以由浏览器本身或者由内容发布者来执行。在一个实施例中,浏览器可以应用户的请求向匿名化服务请求半匿名cookie,而不管是否有任何其他方在用户的浏览器上放置了跟踪cookie。
29.在一些实施例中,匿名化服务可以通过各种不同的方法为用户设备生成半匿名cookie。半匿名cookie的相同值可以被多个用户共享,使得实体可能不能基于半匿名cookie唯一地识别用户。然而,由于半匿名cookie被限定于少数用户,因此共享半匿名cookie的用户所采取的动作将允许相关内容和广告被定向到共享半匿名cookie的用户。在相对大量的用户共享半匿名cookie的情况下,用户隐私级别较高,但目标内容的相关性较低。相比之下,在共享半匿名cookie的用户数量相对较少的情况下,用户隐私级别较低,但
目标内容的相关性较高。
30.在一个实施例中,匿名化服务可以通过提供随机生成的数字来匿名化跟踪cookie。例如,匿名化服务可以在一天内接收一百万个cookie匿名化请求,并且匿名化服务可以使用随机数生成器为每个请求生成1到100,000之间的随机数。因此,平均十个用户将共享同一个随机数。如果需要更高级别的隐私,匿名化服务可以生成更少的不同随机数,例如通过为每个请求生成1到100之间的随机数。在这种情况下,平均10,000个用户将共享相同的随机数,但是内容发布者和广告商提供目标内容的能力将会降低。
31.在一个实施例中,匿名化服务可以将相似用户分组在一起,并为该组相似用户提供共享跟踪cookie,而不是提供完全随机的数字。匿名化服务可以使用各种可用数据将用户分组在一起。例如,匿名化服务可以基于年龄、性别、位置、消费习惯、互联网模式等对用户进行分组。在一个实施例中,浏览器可以向匿名化服务发送关于用户的人口统计信息,例如年龄、性别等,以允许匿名化服务将用户与相似的用户分组在一起。在一个实施例中,浏览器可以提示用户选择与匿名化服务共享关于用户的哪些信息。
32.在一个实施例中,匿名化服务可以通过应用附加过滤器直到达到预定的组大小,将用户分组在一起。例如,匿名化服务可以确定组大小应该小于100个用户,并且匿名化服务可以首先应用性别过滤器,然后应用年龄过滤器,然后应用位置过滤器等,直到满足条件的剩余用户数少于100。
33.在一个实施例中,匿名化服务可以为用户散列唯一值,然后截断散列值以提供匿名性。例如,匿名化服务可以为内容发布者散列用户的userid,或者散列由内容发布者提供的半匿名cookie名称的值。匿名化服务可以对半匿名cookie名称的值123456789运行散列算法,并且所得散列值可以是1001110100010。匿名化服务可以选择保留一定数量的数字,保留的数字越多导致隐私级别越低。例如,匿名化服务可以保留前六位数字100111并删除剩余的数字。具有相同前六位数字100111的所有用户将利用相同的半匿名cookie被分组在一起,该相同的半匿名cookie可以是六位数字值100111,也可以是匿名化服务生成的替代值。如果匿名化服务希望具有更高的隐私级别,则匿名化服务可以保留更少的数字,例如仅前四位数字1001,并且具有相同四位数字的所有用户可以被分组在一起。
34.匿名化服务可以向用户设备发送匿名化建议(步骤204)。在一个实施例中,匿名化服务可以指示用户设备用匿名化服务生成的半匿名cookie名称替换由内容发布者提供的唯一cookie名称。在一个实施例中,匿名化服务可以向用户设备发送包括半匿名cookie名称的新跟踪cookie。匿名化服务可以指示浏览器删除先前存储的唯一标识用户浏览器的跟踪cookie。
35.在一些实施例中,匿名化建议可以包括对用户设备的关于浏览器如何可以生成具有期望匿名级别的cookie的半匿名值的指导。例如,匿名化建议可以包括关于具有由内容提供商提供的半匿名cookie的用户数量的信息。匿名化服务可以通过与内容提供商的协议、经由第三方数据提供商、或者基于匿名化服务从用户接收的对匿名化建议请求的数量来获得这样的信息。匿名化服务可以从用户设备接收或向用户设备建议期望的匿名级别。例如,用户设备可以在匿名化请求中表明用户设备希望与大约5,000个其他用户分组在一起。匿名化服务可以确定内容提供商有500万用户。匿名化服务可以指示用户将半匿名值截断为前十位或后十位(将有1024个)的组合。有500万个用户和1024个组合,10位半匿名值将
为用户提供大约1/5,000的期望匿名性。匿名化服务建议的位数可以根据用户数量和所需的匿名级别而变化。例如,如果内容提供商只有5,000个用户,并且用户期望的匿名级别是1/5,000,则匿名化服务可以指示用户设备提供半匿名cookie,而不提供半匿名cookie的任何值。匿名化服务可以指示用户设备通过如前面关于匿名化服务描述的各种方法来匿名化半匿名值。
36.用户随后可以访问内容发布者的一个或更多个网页(步骤205)。对于用户设备上浏览器发送的每个请求,该请求将包括半匿名cookie,以及内容发布者设置的任何其他cookie。内容发布者可以存储由半匿名cookie的用户执行的动作的日志文件。每当用户访问网页时,浏览器可以发送包括所请求的网页的url和请求的日期/时间的信息。
37.然而,由于多个用户具有半匿名cookie的相同值,内容发布者可能会将多个用户的动作存储在同一日志文件中。因此,内容发布者可能知道具有相同值的半匿名cookie的用户组所执行的动作,但是内容发布者可能不知道任何特定用户所执行的动作。
38.用户可以访问由广告商服务器提供的网页(步骤206)。在一个实施例中,用户可以选择内容发布者网站上的广告,并被引导到广告商服务器。在另一个实施例中,用户可能已经被呈现了在内容发布者的网页上的广告,但是用户可以独立地访问广告商服务器网页,例如通过在浏览器中键入url<advertiser.com>。在一个实施例中,用户可能先前没有被呈现来自广告商服务器的广告。
39.广告商服务器可以向内容发布者发起跨站点请求(步骤207)。广告商服务器可以通过浏览器中的重定向来发起跨站点请求。广告商服务器网页可以将浏览器重定向到一个或更多个不同的网站进行跟踪,包括重定向到内容发布者的网页。跨站点请求可以包括诸如cookie的半匿名值、目的地url和引用url的信息,这将向内容发布者表明该请求来自广告商服务器。在一个实施例中,浏览器可以向广告商服务器表明浏览器包含半匿名跟踪cookie,例如通过将半匿名跟踪cookie发送给广告商服务器。然而,如果半匿名跟踪cookie是由内容发布者放置的,则广告商服务器可能没有为半匿名跟踪cookie存储的任何数据。跨站点请求可以包括对内容发布者在跟踪cookie的日志文件中存储的数据的请求。
40.在一个实施例中,内容发布者可以将日志文件中的全部或部分数据传输到广告商服务器。数据可以通过浏览器或api传输。广告商服务器可以利用该数据来选择相关内容和/或广告以提供给用户。此外,广告商服务器可以利用该数据来确定半匿名跟踪cookie的任何用户何时以及何地查看过该广告商的任何广告。广告商服务器可以在计算归因模型时使用这样的信息来确定其广告有多有效。
41.在一个实施例中,响应于用户访问广告商服务器的网页,用户浏览器中的跨站点cookie使浏览器向内容发布者发送跨站点cookie值、网页的url和访问时间。内容发布者可以将信息存储在跟踪日志文件中。此外,内容发布者可以确定半匿名跟踪cookie的任何用户先前是否已经查看了在内容发布者提供的网页上的针对广告商的广告。内容发布者可以将这种事件存储为转化,这可能影响从广告商服务器接收到的对放置在由内容发布者提供的网页上的任何广告的补偿。
42.参考图3,示出了允许用户设置半匿名跟踪cookie许可级别的窗口的截屏300。在一个实施例中,窗口可以响应于内容发布者或任何其他网站试图在用户的浏览器或设备上放置半匿名跟踪cookie而弹出。在一个实施例中,用户可以通过浏览器或操作系统中的设
置菜单来访问许可级别。
43.窗口可能会提示用户选择是否允许在浏览器上放置半匿名跟踪cookie。该窗口可以提示用户选择是否在每次浏览器上放置半匿名cookie时得到通知。该窗口可以提供滑动条或其他指示器,以允许用户为半匿名cookie选择期望的隐私级别。如图所示,滑动条的左端表示低隐私级别,其中,半匿名cookie可以与对于相对较少数量的其他用户(例如十个用户)的半匿名cookie相同,但是用户可以在提供给用户的内容和广告中接收相对较大的相关性。如图所示,滑动条的右端表示高隐私级别,其中,半匿名cookie可以与对于相对较大数量的其他用户(例如一百万用户)的半匿名cookie相同,但是用户可能在提供给用户的内容和广告中接收到相对较少的相关性。滑动条可以包括左端和右端之间的任何合适数量的位置,这些位置允许用户选择期望的隐私和相关性级别。
44.在一个实施例中,窗口可以向用户提供在用户浏览器上重新匿名化现有半匿名cookie的选项。用户可能会觉得向用户提供了与用户无关的内容和广告。例如,共享半匿名跟踪cookie的相同值的其他用户可能正在查看与编篮相关的页面,对于这些页面,该用户对接收相关内容不感兴趣。用户可以选择接收与不同用户组共享的新的半匿名跟踪cookie。
45.应当理解,尽管附图和描述根据几个实施例说明和描述了交互,但是在不同的实施例中,精确的交互和/或交互的顺序可以不同。
46.这里描述的各种系统组件可以包括耦合到芯片组的至少一个处理器。耦合到芯片组的还有存储器、储存设备、图形适配器和网络适配器。显示器耦合到图形适配器。在一个实施例中,芯片组的功能由存储器控制器集线器和i/o控制器集线器提供。在另一个实施例中,存储器直接耦合到处理器,而不是芯片组。
47.储存设备是任何非暂时性计算机可读存储介质,例如硬盘驱动器、紧凑盘只读存储器(cd

rom)、dvd或固态存储器设备。存储器保存处理器使用的指令和数据。图形适配器在显示器上显示图像和其他信息。网络适配器将计算机耦合到局域网或广域网。
48.如本领域所知,计算机可以具有不同于这里明确描述的组件和/或其他组件。此外,计算机可能缺少某些示出的组件。在一个实施例中,充当服务器的计算机可能缺少图形适配器和/或显示器,以及键盘或定点设备。此外,储存设备可以是本地的和/或远离计算机(例如包含在储存区域网络(san)中)。
49.如本领域所知,计算机适于执行计算机程序模块,用于提供本文描述的功能。如本文所使用的,术语“模块”是指用于提供指定功能的计算机程序逻辑。因此,模块可以用硬件、固件和/或软件来实现。在一个实施例中,程序模块存储在储存设备上,被加载到存储器中,并由处理器执行。
50.这里描述的实体的实施例可以包括其他模块和/或与这里描述的模块不同的模块。此外,在其他实施例中,归因于模块的功能可以由其他或不同的模块来执行。此外,出于清楚和方便的目的,该描述偶尔省略了术语“模块”。
51.其他考虑
52.已经针对各种可能的实施例特别详细地描述了本发明。本领域技术人员将理解,本发明可以在其他实施例中实施。首先,组件和变量的特定命名、术语的大写、属性、数据结构或任何其他编程或结构方面不是强制性的或重要的,并且实现本发明或其特征的机制可
以具有不同的名称、格式或协议。此外,这里描述的各种系统组件之间的特定功能划分仅仅是为了示例的目的,而不是强制性的;由单个系统组件执行的功能可以改为由多个组件执行,并且由多个组件执行的功能可以改为由单个组件执行。
53.以上描述的一些部分在算法和信息操作的符号表示方面呈现了本发明的特征。这些算法描述和表示是由在数据处理领域的技术人员用来最有效地将他们工作的实质传达给本领域中的其他技术人员的手段。这些操作虽然在功能上或逻辑上被描述,但被理解为由计算机程序实现。此外,在不失一般性的情况下,将这些操作安排称为模块或功能名称有时也被证明是方便的。
54.除非从以上讨论中明显看出另有特别说明,应当理解,在整个描述中,使用诸如“确定”或“显示”等术语的讨论指的是计算机系统或类似电子计算设备的动作和过程,该计算机系统或类似电子计算设备操纵和转换在计算机系统存储器或寄存器或其他这样的信息储存、传输或显示设备中被表示为物理(电子)量的数据。
55.本发明的某些方面包括本文以算法形式描述的过程步骤和指令。应当注意,本发明的过程步骤和指令可以用软件、固件或硬件来实现,并且当用软件来实现时,可以被下载以驻留在实时网络操作系统所使用的不同平台上,并且可以从这些平台进行操作。
56.本发明还涉及一种用于执行这里的操作的装置。该装置可以为所需目的而专门构造,或者它可以包括通用计算机,该通用计算机由存储在计算机可读介质上的计算机程序选择性地激活或重新配置,该计算机可读介质可以被计算机访问。这种计算机程序可以存储在非暂时性计算机可读存储介质中,例如但不限于任何类型的盘,包括软盘、光盘、cd

rom、磁光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡、专用集成电路(asic)或任何类型的适于存储电子指令的计算机可读存储介质,并且每个都耦合到计算机系统总线。此外,说明书中提到的计算机可以包括单个处理器,或者可以是采用多处理器设计以提高计算能力的体系结构。
57.这里给出的算法和操作并不固有地与任何特定的计算机或其他装置相关。根据这里的教导,各种通用系统也可以与程序一起使用,或者可以证明构建更专用的装置来执行所需的方法步骤是方便的。对于本领域技术人员来说,各种这些系统所需的结构以及等同的变化将是显然的。此外,本发明没有参考任何特定的编程语言来描述。应当理解,可以使用多种编程语言来实现这里描述的本发明的教导,并且提供对特定语言的任何引用,以实现本发明和本发明的最佳模式。
58.本发明非常适合于多种拓扑结构上的广泛种类的计算机网络系统。在这个领域内,大型网络的配置和管理包括储存设备和计算机通过网络(例如因特网)通信地耦合到不同的计算机和储存设备。
59.最后,应该注意的是,说明书中使用的语言主要是出于可读性和指导性的目的而选择的,并且可能不是为了描述或限制本发明的主题而选择的。因此,本发明的公开旨在说明而非限制本发明的范围,本发明的范围在所附权利要求中阐述。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1