用于阻挡使用跟踪的方法和装置制造方法

xiaoxiao2020-7-22  17

用于阻挡使用跟踪的方法和装置制造方法
【专利摘要】本发明描述了能够在用于加载域的资源的装置中保持能够存储本地数据的一个或多个数据存储库的方法和装置。资源可被加载以导致数据存储库上的一个或多个数据访问操作。对于来自域的装置的使用跟踪数据的访问可依赖于数据访问操作中的至少一个。数据访问操作可被配置以阻挡来自域的装置的使用跟踪数据。可在用于加载资源的数据存储库上执行数据访问操作。当资源被成功加载时,可向用户呈现网页。
【专利说明】用于阻挡使用跟踪的方法和装置
【技术领域】
[0001]本发明一般涉及阻挡来自网站的使用跟踪。更具体地,本发明涉及动态检测来自网站的使用跟踪并调整为这些网站设置的本地存储机构以跨不同类型的数据阻挡使用跟
I?示。
【背景技术】
[0002]伴随网络(或万维网)的普及性的增加,越来越多的网站出于诸如目标广告或隐私盗取的合法或非法的目的跟踪用户的浏览网络的活动。当用户访问看起来无关的网站时,隐藏的网站可在用户未知的背景中执行使用跟踪。作为结果,用户隐私会严重受损。
[0003]一般地,网站依赖于装置中的本地数据存储来进行使用跟踪。例如,浏览器曲奇通常被用作供网站存储跟踪数据的本地存储机构。常规的私人管理工具主要基于管理例如浏览器曲奇。但是,伴随技术发展,浏览器不断更新以支持用于本地存储的新的机构。因此,会有意或无意地为网站进行使用跟踪提供新的机会。作为结果,这些常规的私人管理工具只能给出安全的错误感觉,不能跟上用于使用跟踪的新可用机构。
[0004]并且,当代的浏览器安装有各种第三方插件模块或扩展。通常,这些插件具有需要用于外部访问的单独接口的其自己的私人本地存储。因此,浏览器用户只能通过各私人数据存储库和/或接口分别手动地管理潜在的使用跟踪。随着可用的第三方插件的数量逐日不断增加,这种要求很快将变得不现实并且不能衡量。
[0005]并且,浏览器应用可提供用于内置能力的隐含的本地数据访问机构,诸如用于高速缓存网络资源的浏览器高速缓存。一般地,这种隐含的本地数据访问机构是在没有用于防止使用跟踪的策略的情况下`被管理的。作为结果,某些网站可能能够识别这种漏洞,以搭建这些用于使用跟踪目的的隐含的本地数据访问机构。
[0006]因此,现有的用于管理使用跟踪的方法不能以统一、综合和鲁棒的方式向用户提供控制使用跟踪的选项。

【发明内容】

[0007]在一个实施例中,装置可被配置为阻挡来自第三方网站的所有类型的潜在跟踪数据。第一方网站和相关的第三方网站可被自动识别以允许正常地加载从第一方网站检索的网页,同时防止来自相关的第三方网站的使用跟踪。可提供用于指定单独的阻挡机构以阻挡针对不同的网站的使用跟踪的用户选项。阻挡机构可被激活以经由不同的水平(诸如阻挡所有跟踪数据、阻挡来自第三方网站的跟踪数据、不阻挡任何跟踪数据或者其它适用的阻挡选项)去除、减少和/或拒绝跟踪数据。
[0008]在另一实施例中,可以提供已知网站或域的多个列表,以从列表网站动态施加用于加载资源的阻挡机构。用户可被允许对于特定的列表配置特定的数据阻挡水平。列表可包含例如可通过远程服务自动保持的已知跟踪者的黑名单和/或批准网站的白名单。在一个实施例中,可对于能够从网站加载资源的应用收集来自网站或域的可能的使用跟踪活动的统计。可以呈现具有使网站与黑名称相关联的统计数据的用户界面,以提供总体(例如,鸟瞰)图,以辅助用户决定去除对于网站存储的潜在跟踪数据。
[0009]本发明的实施例包括能够在用于加载域的资源的装置中保持能够存储本地数据的一个或多个数据存储库的方法和装置。资源可被加载以导致数据存储库上的一个或多个数据访问操作。对于来自域的装置的使用跟踪数据的访问可依赖于数据访问操作中的至少一个。数据访问操作可被配置为阻挡来自域的装置的使用跟踪数据。可在用于加载资源的数据存储库上执行数据访问操作。当资源被成功加载时,可向用户呈现网页。
[0010]在另一实施例中,可识别用于加载第三方域的资源的插件模块。可在导致加载资源的装置中加载第一方类型的第一方资源。第三方域可相对于第一方域的第一方资源具有第三方类型,其中,通过第一方域的第一方资源请求来自第三方域的资源。插件模块可被配置为阻挡装置上的来自第三方域的使用跟踪。在某些实施例中,可对于资源的加载启用插件模块。当资源被成功加载时,可供向用户呈现第一方资源。
[0011]在又一实施例中,响应对于第三方域的资源的请求,可对于第三方域识别第一方域。请求可以是由第一方域的加载资源导致的。第三方域对于装置的用户可以是透明的。可在第一方域下查询装置的高速缓存中的资源。对于第一方域下的查询,另一个第一方域下的高速缓存中的第三方域的资源是不可访问的。如果查询成功,则从高速缓存加载第一方域下的资源,以防止通过高速缓存的来自第三方域的使用跟踪。
[0012]在又一实施例中,可在装置中保持域的至少一个黑名单。域的各黑名单可包含能够跟踪装置的使用的已知跟踪者。可监视对于第三方域的资源的第三方请求的历史。可通过装置中的加载资源使得各第三方请求对于装置的用户是透明的。加载资源可具有在来自用户的请求中规定的第一方域。可向用户呈现根据历史指示使用跟踪活动的用户界面。使用跟踪活动可通过第三方域指示第一方域与黑名单之间的关系。
[0013]参照附图和以下的详细描述,本发明的其它特征将十分明显。
【专利附图】

【附图说明】
[0014]在附图中,作为例子而不是限制,示出本发明,其中,类似的附图标记表示类似的要素,其中,
[0015]图1是示出具有统一跟踪数据管理的网络系统的一个实施例的框图;
[0016]图2是示出用于阻挡使用跟踪的示例性系统的框图;
[0017]图3示出通过第三方网站收集使用跟踪数据的例子;
[0018]图4是示出用于在装置中配置数据访问操作以阻挡使用跟踪的过程的一个实施例的流程图;
[0019]图5是示出用于阻挡插件模块的使用跟踪的过程的一个实施例的流程图;
[0020]图6是示出用于分隔高速缓存以阻挡来自第三方域的使用跟踪的过程的一个实施例的流程图;
[0021]图7是示出用于保持已知跟踪者的黑名单以用于阻挡使用跟踪的过程的一个实施例的流程图;
[0022]图8示出可结合这里描述的实施例使用的诸如计算机系统的数据处理系统的一个例子。【具体实施方式】
[0023]这里描述用于阻挡使用跟踪的方法和装置。在以下的描述中,阐述大量的特定的细节以使得能够透彻地解释本发明的实施例。但是,很显然,对于本领域技术人员来说,可以在没有这些特定的细节的情况下实施本发明的实施例。在其它的情况下,为了不混淆本说明书的理解,没有详细表示公知的部件、结构和技术。
[0024]在说明书中提到“一个实施例”或“实施例”意味着可在本发明的至少一个实施例中包括关于该实施例描述的特定的特征、结构或特性。在说明书的各处出现短语“在一个实施例中”未必均指的是同一实施例。
[0025]通过包含硬件(例如,电路、专用逻辑等)、软件(诸如在通用计算机系统或专用机器上运行)或两者的组合的处理逻辑,执行在以下的附图中示出的过程。虽然以下关于一些顺序操作描述处理,但应理解,可通过不同的次序执行描述的操作中的一些操作。并且,可并行地而不是串行地执行一些操作。
[0026]在一个实施例中,提供可从诸如网络浏览器的客户端应用检索的资源的网站可被分类为第一方网站或第三方网站。例如,网络浏览器可根据第一方网站的明确规范加载位于第一方网站或第一方域中的资源(例如,超文本文档、图像、脚本代码或其它适用资源)。可在寻址在浏览器的地址栏(例如,地址条)中显示的资源的URL (统一资源定位符)地址中指示明确规范。在一个实施例中,用于加载资源的明确规范可基于用户界面请求,诸如点击由浏览器呈现的网页上的超链接和/或将URL地址键入到浏览器的地址栏。
[0027]在一些实施例中,通过网络浏览器(或另一应用)从网站加载原始资源可自动导致随后从对于网络浏览器的用户未知的第三方网站加载另一资源。嵌入原始资源中的用于加载第三方资源(例如,来自第三方网站的资源)的机构可基于例如HTML (超文本标记语言)框架要素、用于超链接的要素、JavaScript代码、Java代码、扩展模块启用指令、XML代码或其它的适用指令。对于来自第一方网站的原始资源呈现的网页可包含由第三方资源提供或者在其中承载的诸如广告或其它内容的内容,并且,第三方域的内容还可请求来自另一第三方域的内容。作为替代方案,第三方资源可在不使内容有助于原始资源的网页(例如,对于浏览器的用户不可见)的情况下激活操作(例如,与第三方网站通信、执行脚本代码等)。
[0028]可明确或暗中启用用于支持用于网站的本地数据的存储机构(例如,用于使用跟踪)。例如,可设定/得到通过与网站的HTTP交易(例如,请求/响应)明确规定的请求和/或执行从网站加载的JavaScript代码,来写入或检索曲奇数据。作为替代方案,通过经由浏览器高速缓存机构从网站加载资源的浏览器应用,网站的跟踪数据可暗中例如存储于浏览器高速缓存中。在一个实施例中,网站可在高速缓存在浏览器高速缓存中的图像资源中嵌入条形码(例如,通过图像的油画布)。图像资源的随后的加载可允许访问事先对于网站存储的条形码。网站对于条形码的访问可被用于识别已存储了条形码的特定数据处理系统。类似地,浏览器高速缓存可高速缓存包含从网站提供的变量的特定值的JavaScript代码。当浏览器应用执行以后从网站的浏览器高速缓存检索的高速缓存的JavaScript代码时,网站可得到或者设定变量的值。
[0029]在一些实施例中,浏览器应用或网络库可存储网站的文件下载状态,以暗中存储可由网站访问的本地数据。例如,网站可基于指示来自网站的文件之前已经被下载多少(例如,中途)的文件下载状态的值确定是否是同一人正在使用浏览器。
[0030]在一个实施例中,作为安装新版本的浏览器应用、新版本的系统库(诸如网络接口库、插件模块的更新和/或装置上的其它适用更新)的结果,可出现在装置中支持的隐含或明确存储机构的变化。网站可执行交易,以在运行期间确定某些明确或隐含的存储机构在装置中是否是可用的。例如,安装新插件模块可提供嵌入插件模块内的本地存储机构。网站可通过JavaScript代码检测特定的插件是否可用。作为替代方案,网站可基于用于存储和检索某些数据的交易是否成功来检测特定的本地存储库是否可用。
[0031]在某些实施例中,可以应用私人规则,以防止在一个网站下存储的本地数据被另一网站访问,不管本地数据的类型或形式如何。例如,来自第一方网站的原始资源可允许附加地加载来自第三方网站的资源。但是,通过第一方存储(例如,键入或索引)的本地数据可能对于第三方网站是不可用的(例如,读取、写入、查询等),反之亦然。
[0032]在一个实施例中,网站可作为第一方网站或者作为具有不同水平的访问许可的第三方网站访问本地数据。作为第三方网站,可以对在网站上访问本地数据施加更多的限制。作为示例,当响应用户的明确请求从作为第一方网站网站“a.com”加载资源时,网站“a.com”可被赋予对于通过“a.com”键入的本地数据的全访问(例如,读取、存储、查询、更新等)。但是,当从作为第三方网站的网站“a.com”加载资源时,网站“a.com”可被限制为对于网站“a.com”下的本地数据进行部分访问(例如,只读取和查询),这例如是通过从作为第一方网站的另一网站“b.com”加载原始资源导致的。
[0033]可对于第三方网站施加各种水平或程度的数据访问限制,诸如“可读取现有数据但不能写入新数据”、“可改变现有数据但不能产生新数据(或新条目)”或其它的适用的限制。例如,最严格的策略可完全禁止第三方网站访问装置的本地数据存储,甚至存储于网站(例如,作为第一方网站)下的现有数据本身。中度水平策略可防止第三方网站产生新的本地数据而对于在网站下存储的现有本地数据允许其它的数据访问特权(例如,读取、写入、改变)。
[0034]在一个实施例中,可以提供用于去除或减少使用跟踪的单独的对策,以例如实现用于控制来自网站的本地数据访问的各种策略。对策可被配置为平衡与对于第一方网站呈现的网页的兼容性与用于嵌入的第三方网站的或由第一方网站允许的本地数据访问的限制水平。网站的网页的兼容性可基于来自网站的资源是否被成功加载以呈现与资源对应的网页。对策可通过假装资源内的来自嵌入的第三方网站的数据访问成功来增加与对应于第一方网站的资源的网页的兼容性。作为替代方案,对策可返回错误消息以通知第三方网站来自第三方网站的数据访问请求失败。
[0035]在一个实施例中,对策可响应来自第三方网站的数据(访问或存储)请求配置用于存储本地数据的暂时存储位置。例如,第三方网站的暂时存储的数据可在被存储之后基本上被立即去除,从而不允许第三方网站访问暂时存储的数据。作为替代方案,暂时存储的数据可在有限的时间周期(例如,在窗口会话中或者应用会话中)被访问,并且在该有限的时间周期到期之后立即变得不可访问。暂时数据可与会话标识符相关,使得窗口和/或应用对于与不同的会话标识符相关的窗口或应用不可访问。在一个实施例中,当会话的窗口或应用关闭或者重新打开时,会话的暂时数据可被删除。该对策可被应用以向数据请求返回成功状态而不实际存储数据。[0036]对策可被应用于以启用特定模式(例如私人浏览模式)中的插件模块或扩展,以防止插件模块在装置中的永久存储器(例如,硬盘、快擦写存储器或其它适用的非易失性存储器部件)中写入或存储任何数据。在不破坏与插件模块相关的资源(例如,网页)的加载的情况下,可允许插件模块对装置的本地存储器的访问。
[0037]在一个实施例中,对策可根据网站(或域)分隔浏览器高速缓存,以限制跨高速缓存的不同分区的数据访问,以管理使用跟踪。例如,可作为与第一方域相关(或者处于第一方域下面)的单独的存储桶,组织作为加载第一方域的资源的结果而加载的高速缓存的资源。通过第一方网站嵌入的第三方网站可限于具有处于第一方网站下面的存储桶的高速缓存分区。因此,作为在一个第一方域下嵌入的第三方网站的跟踪者网站可能不能从作为通过另一个第一方网站嵌入的另一第三方网站的跟踪者网站检测高速缓存的资源。
[0038]在一些实施例中,可对于不同的对策规定私密增强的多个级别(或选项),以向用户提供管理使用跟踪的灵活性。例如,针对网站的一种级别的私密增强可导致诸如浏览器的应用在从网站加载资源的私人模式中操作。该应用可进入私人模式以禁用对于装置的本地存储器的访问,使得对于使用跟踪不能存储或检索数据。针对网站的更高级别的私密增强可阻挡对网站的访问(例如,网络连接),以切断来自网站的使用跟踪活动。
[0039]在一个实施例中,例如,可将已知跟踪者(例如,域、网站)的列表提供为黑名单,以帮助识别潜在的跟踪者。列表可与存储装置中的潜在跟踪数据以暴露使用跟踪活动的网站历史相关。用户界面可被配置为明确指示哪些网站嵌入了已知的跟踪者,哪些已知的跟踪者(或者潜在的跟踪者)出现在大多数(例如,高于一定的百分比)访问网站上,哪些网站可能是列表中未知的潜在的跟踪者,或者其它的适用信息等。
[0040]在一个实施例中,黑名单可包含不向网页贡献可见内容(或经由网页不可见)的跟踪者,诸如来自Google Inc的Analytics。作为替代方案,单独的黑名单可包含可能向网页贡献可见内容(或者经由网页可见)的跟踪者,诸如网站“adnetwork.net”。可对于嵌有到作为第三方网站的列出的跟踪者的链接的资源(例如,HTML文档)呈现网页。
[0041]与已知跟踪者的列表(或黑名单)相关的用户界面可提供允许用户配置如何应用列表以暴露使用跟踪活动的选项。例如,用户可选择禁用黑名单中的网站的一部分或者全部,并且允许选择或禁用的网站访问本地数据。作为替代方案,用户可针对来自已知跟踪者的潜在使用跟踪活动启用对策。在一些实施例中,用户可被允许激活对策以通过选择的已知跟踪者的列表阻挡资源加载,以禁止这些已知跟踪者的任何跟踪机会的使用。用户界面可包含从使用跟踪活动或从各种网站揭示或检测的潜在使用跟踪活动导出的统计数据。在一些实施例中,当用户浏览网络时,不管网站是否属于黑名单,都可监视来自网站的使用跟踪活动。
[0042]图1是示出根据这里描述的一个实施例的、具有统一跟踪数据管理的网络系统的一个实施例的框图。网络系统100可包含经由网络107与诸如客户机109的一个或多个客户机耦合的一个或多个服务器105,例如,网络服务器,该网络107可包含有线/无线网络、因特网、内联网/外联网或者网络的其它组合。
[0043]服务器105可托管存储可经由网络107寻址的资源的一个或多个网站。客户机109可利用按照诸如HTTP (超文本传输协议)协议寻址资源的地址,通过请求从服务器105检索资源。在一个实施例中,服务器105中的各资源可与包含主机名称的唯一地址(例如,基于URL (统一资源定位符)的地址)相关。一般地,主机名称可以是作为主机的本地名称与其母域名称的组合被分配给主机计算机(或装置)的域名或标签。例如,URL “a.b.com”可包含本地主机名称“a”和域名“b.com”。可在共同的域下寻址多个资源。示例地,通过“http://h1.com/a.htm”和“http://hl.com/b.htm”寻址的两个资源可具有共同的域“h1.com”。网站可代表域。在一个实施例中,服务器105可存储来自包含domain_l 101和domain_2 103的多个域的资源。各资源可包含文本数据(例如,超文本文件、网页等)、二进制数据(例如,图像、声音文件、视频或其它媒体内容等)、二进制可执行(例如,动态链接库)或其它适用数据。
[0044]客户机109可以是浏览器应用或在客户机装置上运行以执行与服务器105的交易的其它应用。例如,客户机109可通过交易从服务器105加载资源(例如,网页或内容)。在一个实施例中,客户机109可作为从服务器105加载资源和/或执行与服务器105的交易的结果访问数据存储库111。数据存储库111可基于存储器(例如,DRAM装置)或者本地耦合的大规模存储装置(例如,硬驱动、快擦写存储器或其它适用存储装置)。客户机109可能能够配置对于数据存储库111的访问,以通过服务器105控制来自诸如域101、103的网站的使用跟踪。在一个实施例中,客户机109可在执行与服务器105的交易时从数据存储库111发送属于domain_l 101的数据,以检索在domain_l 101内寻址的资源。作为替代方案,作为加载从服务器105检索的domain_l 101的资源的结果,客户机109可存储domain_l 101的数据(例如,使用跟踪数据)。
[0045]图2是示出根据这里描述的一个实施例的用于阻挡使用跟踪的示例性系统的框图。在一个实施例中,系统200可基于运行操作环境201的客户机装置,例如,包含图1的客户机109。系统201可包括可以是标准浏览器应用的浏览器应用203,例如,来自AppleInc.0f Cupertino, CA 的 Safar1、来自 Microsoft of Redmond, WA 的 Internet Explorer或其它适用的浏览器。该浏览器应用能够基于诸如HTML、HTTP或其它适用规范的标准规范检索和呈现网络内容(例如,在图1的服务器105中托管的资源)。浏览器应用203可能能够提供诸如历史、书签、爱好等的浏览功用。
[0046]在一个实施例中,系统200可包含能够针对诸如图1的domain_l 101和domain_2103的远程域访问诸如图1的数据存储库111的本地数据存储器的浏览器引擎207。浏览器引擎207可分析(或理解)诸如HTML文件的网络资源,以显示与网络资源对应的网页。例如,浏览器引擎207可从用于呈现网页的网络资源产生内部数据结构,诸如DOM (文件对象模型)结构。
[0047]在一些实施例中,浏览器引擎207可通过例如存储管理模块209访问(例如,读取、写入、更新等)本地数据存储器,以存储域的使用跟踪数据。本地数据存储器可包含多个数据存储库,诸如 datastore_l 219、datastore_2 227、datastore_3 223、插件数据存储库225或可用于浏览器引擎207的其它适用数据存储库。各数据存储库可存储要求单独的数据界面机构的单独类型的数据。系统201中的用于存储本地数据的数据存储库或数据类型的数量可以是无限的,并且可利用例如经由应用、系统部件、库、模块或其它二进制部件的安装/修订的更新而动态改变。
[0048]在一个实施例中,存储管理模块209可包含用于访问各可用于浏览器引擎207的数据存储库的数据界面机构。例如,存储管理模块209可直接访问dataStore_l 219和/或datastore_2 227。对 datastore_l 219 的访问可基于 Request For Comments 2965, ^HttpState Management Mechanism”, October, 2000的网络曲奇规范,以作为一段文本设定或得到曲奇数据。对datastore_2 221的访问可基于用于通过网络界面模块205存储、共享和/或重新使用从网络服务器检索的文件(诸如在图1的服务器105中托管的资源)的副本的网络高速缓存机构。可在存储管理模块209内实现同一原始私人策略以禁止网站(或域)访问由不同的域存储(或键入、索引)的数据。[0049]在一个实施例中,高速缓存管理模块231可在为浏览器引擎207分配的诸如datastore_2 227的高速缓存空间上动态施加分区,以例如改善浏览器性能,该高速缓存空间暗中高速缓存从网站检索的资源。高速缓存空间的各分区或竖井式存储器(silo)可与单独的第一方网站相关,以存储从由第一方网站引入的第三方网站检索的资源。高速缓存管理模块231可将第一方网站的第三方网站限制于仅访问(例如,存储/查询/检索)第一方网站下的高速缓存分区。因此,一个第一方网站的第三方网站可能不能访问在另一个第一方网站下为第三方网站存储的资源。在一个实施例中,除了基于用于从第三方网站高速缓存资源的第一方网站的第三方网站的索引以外,高速缓存管理模块231可要求基于第一方网站的单独的索引。作为替代方案,高速缓存管理模块231可保持对于不同的第一方网站分别分配的高速缓存空间的动态分区。
[0050]存储管理模块209可包含用于间接地通过支持的API访问诸如dataStore_3 223或插件数据库225的数据存储库的API (应用程序接口)界面213。单独的API界面可被启用以访问不同的数据存储库。例如,网络数据库模块229可基于在2010年10月18日的W3C工作组笔记中规定的网络SQL数据库的API支持与dataStore_3 223的接口。插件模块235可支持API界面213以暴露与由插件模块235私密管理的插件数据库225的接口。在一个实施例中,用于例如经由API界面213访问本地存储器的API调用可包含将网站或域识别为第一方网站或第三方网站的参数。因此,API请求可被调用,以通过使用识别网站是第一方网站还是第三方网站的不同参数访问数据存储库中的相同网站的数据。
[0051]插件模块(或plugin、plug-1n)可包含一组软件部件(例如,动态链接的库(DLL)或其它的可执行二进制文件),这向诸如浏览器应用203的较大的软件应用添加特定的能力。例如,浏览器应用203可支持使能播放视频(例如,来自Adobe Inc.的Flash Player或来自 Apple Inc.的 QuickTime、来自 Oracle Inc.的 Java、来自 Microsoft Inc.的Silverlight等)、扫描病毒、显示新文件类型或执行其它的适用功能的定制的浏览器功能的插件。根据例如浏览器应用203、浏览器引擎207或其它适用软件部件的配置,安装或加载于系统201中的一组插件模块可动态改变。[0052]在一个实施例中,浏览器应用203,例如,诸如来自Apple Inc.的Safar1、来自Microsoft Inc.的Internet Explorer等的标准浏览器,可经由用户接口模块217接收用户请求,以访问网页或者检索通过诸如URL的唯一标识符寻址的资源。用户请求可基于键入的URL地址(例如,在地址栏中)或者在浏览器应用203的用户界面上选择的链接(例如,通过用户点击超链接、书签链接或历史链接)。作为响应,浏览器应用203可将资源请求转送到例如远程通过网络界面205加载和/或呈现请求的资源的浏览器引擎207。作为替代方案,或者可选地,浏览器引擎207可在本地从诸如dataStore_2 221的本地高速缓存检索请求的资源,以重新使用事先取得的资源的副本和/或减少不必要的网络带宽使用。[0053]在一些实施例中,在加载资源时,浏览器引擎207可通过浏览器应用203的用户未知的方式自动取得附加的资源。例如,浏览器引擎207可加载通过第一地址寻址的诸如HTML文档的超文本文档,以呈现由用户请求的网页。例如,基于用于另一 HTML文档的帧要素、图像文件的图像要素或其它适用的超文档要素的源属性,超文本文档可包含到具有第二地址的资源的链接。在完成加载第一地址的文档之前,浏览器引擎207可自动加载第二地址的资源,并且递归地加载以类似的方式链接的其它资源。在一个实施例中,浏览器引擎207可记录(或存储)第一和第二地址的域之间的母子关系,以用于管理与这些域相关的跟踪数据。
[0054]在一个实施例中,母域可以是第一方域,子域可以是第三方域。第一方域例如可与在诸如应用203的浏览器应用的地址栏中呈现的域或副域对应。通过第一方域的资源存储的数据(例如,曲奇或其它跟踪数据)可以是第一方数据。在一些实施例中,如果域与在网页的地址栏中指示的第一方域不同,那么与网页相关的域可以是第三方域。在第三方域的资源(或第三方资源)加载期间存储的数据可以是第三方数据。浏览器引擎207可将通过第一方网站自动改向(例如,基于HTTP状态代码、HTML资源的元要素和/或其它的适用机构)的网站识别为另一第一方网站。。
[0055]域可通过在浏览器引擎207中发起的操作访问本地数据,诸如存储于datastore_l 219、datastore_2 221、datastore_3 223、插件数据库 225 中的数据。例如,浏览器引擎207可通过存储管理模块209检索通过资源的地址的域键入的数据,以与域的服务器进行交易(例如,请求/响应)以从域接收资源。作为结果,域的服务器可例如通过与来自客户机系统200的域相关的HTTP曲奇得到/设定操作来获得或更新本地数据。一般地,浏览器引擎207可禁止域访问通过其它域键入(或索引)的本地数据。
[0056]作为替代方案,浏览器引擎207可执行在域的资源中规定的操作以访问(例如,读取/写入)该域的本地数据。例如,域的HTML资源可包含用于读取或写入该域的使用跟踪数据的脚本代码(例如,JavaScript代码或其它脚本代码)。浏览器引擎207当加载HTML资源时可启用诸如Javascript引擎或其它脚本引擎的相应脚本引擎,以执行脚本代码以通过存储管理模块209更新该域的数据。来自域的资源可导致浏览器引擎207执行用于隐藏使用跟踪数据的操作,诸如在用于域的单独的数据存储库中存储数据项目的多个副本或者将存储于一个数据存储库中的信息重新启用(或复制)到该域的其它数据存储库。
[0057]在一些实施例中,来自域的资源可包含诸如插件模块235的用于启用插件扩展的指令,该插件模块235可访问其自身的数据存储库,诸如插件数据库225,以更新资源的域的数据。浏览器引擎207和/或插件模块可执行在资源中规定的操作,以例如通过网络界面模块205与域的远程服务器进行交易以访问本地存储库以进行使用跟踪。因此,用户可浏览一个域的网页以例如通过浏览器应用203加载直接或间接从网页链接的附加域的资源以在用户未知的背景中存储和访问对于这些附加域的使用跟踪数据。
[0058]在一个实施例中,数据访问配置模块215可动态配置数据访问操作的实现,以例如当从网站加载资源时响应接收到访问请求来禁止或减少来自这些网站的使用跟踪活动。可例如通过用户接口模块217根据针对使用跟踪的对策的用户选择确定本地数据存储库的访问配置。为了平衡使用跟踪的控制与网页的正常工作,数据访问配置模块215可改变对于本地数据存储库底层访问操作(例如,读取/写入/创建/删除等)的实现。[0059]例如,数据访问配置模块215可指示用于配置的虚拟机器管理器237在虚拟机器221下启用插件模块225以隔离插件数据库225,以禁止例如通过插件数据库225的来自第三方网站的使用跟踪。虚拟机221可以是通过软件仿真或硬件虚拟化安装于系统201内的完全隔离的操作系统。作为结果,存储于系统201内的插件模块235的其它实例中的本地数据可能在虚拟机221内中是不可用的,反之亦然。依赖于插件模块235的网页仍可通过浏览器应用203正常工作,其中浏览器应用203通过虚拟机221被保护以免受经由插件数据库225的使用跟踪。作为替代方案,数据访问配置模块215可配置插件模块235以在诸如私人浏览模式的特殊模式中操作,而不将数据写入插件数据库225以减少使用跟踪的可能性。
[0060]数据访问配置模块215可动态地配置对于例如从浏览器引擎207接收的数据访问请求执行的访问配置,以防止来自第三方网站的使用跟踪。在一个实施例中,数据访问请求可与来自诸如datastore_l 219、datastore_2 227或datastore_3 223等的数据存储库的写入、存储、读取和/或查询潜在使用跟踪数据相对应。访问操作的多个选项可能对于一个数据访问请求是可用的。数据访问配置模块215可确定访问操作的哪些可用选项启用或执行数据访问请求。
[0061]例如,数据访问配置模块215可确定不执行任何访问操作(例如,什么也不做),而是返回指示已完成请求的数据访问的正常状态代码。作为替代方案,可在访问操作的效果上施加有限的时间周期。可在有限的时间周期到期之后立即执行数据存储库上的撤消访问操作,以撤消通过事先执行的访问操作导致的数据存储库上的变化。在一个实施例中,时间周期可与经由用户界面217显示的窗口的会话对应,或者与正在运行的应用相关。因此,当相应的窗口关闭或者应用退出时,时间周期可到期。可以规定较短的时间周期以例如在将使用数据写入到数据存储库之后立即从数据存储库去除它,从而没有被访问的可能性。
[0062]数据访问配置模块215可配置哪些数据存储库和/或数据存储库中的哪些项目不应置于诸如硬盘、快擦写存储器或其它的非易失性存储装置的永久存储装置中,以防止使用跟踪。例如,通过第三方网站键入的数据项目不能被永久存储。因此,潜在的使用跟踪数据不能存活过一个装置开/关周期。
[0063]作为替代方案或者任选地,数据访问配置模块215可确定API调用的参数值,以允许动态选择数据访问操作以实现用于防止来自第三方网站的使用跟踪的API调用。例如,在一个实施例中,API调用中的自变量可包含指示第一方网站或第三方网站是否导致API调用的标识符。API调用可通过API接口 213被启用以访问用于从浏览器引擎207中的网站加载资源的本地数据。
[0064]在一个实施例中,跟踪活动处理器模块221可通过用户接口模块217提供统一用户界面以允许用户管理与各个域相关的使用跟踪数据。跟踪活动分析器模块211可根据通过浏览器引擎207从网站加载的资源识别网站之间的嵌入或链接关系。例如,跟踪活动处理器模块221可确定哪些网站是第一方网站的第三方网站。跟踪活动模块221可通过浏览器引擎207记录从第一方网站和/或第三方网站加载的资源的历史。
[0065]在一个实施例中,黑名单233可包含可例如通过远程服务预先配置或动态配置、或者通过网络界面模块205与其它装置同步的已知跟踪者(或网站)的一个或多个列表。作为替代方案或者任选地,用户可通过用户接口模块217在黑名单233中构建定制的列表。在一个实施例中,跟踪活动处理器模块211可关联通过浏览器引擎207访问的网站的历史与黑名单233中的已知的跟踪者。跟踪活动处理器模块211可根据关联呈现向用户暴露浏览器应用203的历史中的哪些网站是已知跟踪者的用户界面。
[0066]在某些实施例中,跟踪活动处理器模块211可在浏览活动上产生统计数据以揭示来自黑名单233的已知跟踪者的使用跟踪活动的程度。例如,用户界面呈现可包含与已知的跟踪者作为第三方网站被访问的次数、由第一方网站允许或嵌入的不同的已知的跟踪者的数量、由第一方网站允许的已知跟踪者的总数或其它适用的统计数据有关的信息。
[0067]在一个实施例中,跟踪分析处理器模块211可提供用于允许用户启用用于减少或消除针对暴露的域、已知的跟踪者和/或将来的未知的域的使用跟踪的对策的用户界面。例如,响应对于一个或多个对策识别一个或多个域(例如,黑名单233中的一个列表)的用户请求,跟踪活动处理器模块211可指示存储管理模块209 (例如,经由数据访问配置模块215)配置供识别的域与本地存储库接口连接的特定数据访问操作。在一些实施例中,用户可配置域的白名单(或白列表)以在不启用限制对于本地数据的访问的对策的情况下允许这些域的本地数据访问。作为替代方案,可以向用户呈现以解决黑名单与白名单之间的冲突(例如,基于共用的域)。
[0068]图3示出根据这里描述的一个实施例的通过第三方网站收集使用跟踪数据的例子。例子300可基于客户机系统,诸如图2的系统200。在一个实施例中,web_page_l 301可代表来自domain_l的HTML文件。例如,web_page_l 301可嵌入banner_l 305作为到来自与domain_l不同的domain_3的图像资源的超链接。作为加载web_page_l 301的结果,data_item_l 307可存储于通过domain_l索引的data_store_l 303中。作为加载来自domain_3的banner_l 305的结果,通过domain_3索引的data_item_2 309可具有与存储于data_store_l 303中的相同类型的数据。在一个实施例中,domain_l可允许domain_3根据domain_l与domain_3之间的母子(或嵌入)关系存储data_item_2 309。
[0069]另外,例如,web_page_2 311可嵌入banner_2 317作为到来自domain_3的多媒体资源的超链接。作为加载web_page_2 311的结果,data_item_3 315可存储于通过domain_2 索引的 data_store_2 313 中。作为加载来自 domain_3 的 banner_2 317 的结果,通过 domain_3 索引的 data_item_4 321 可存储于 data_store_3 319 中。诸如 data_store_l 303、data_store_2 313或data_store_3 319的各数据存储库可存储通过相关的域键入的不同类型的数据项目。在一个实施例中,用户可明确请求web_page_l 301和web_page_2 311的加载。相反,可向用户隐藏banner_l 305和banner_2 317的加载。例如,domain_l 和 domain_2 可以是第一方域,而 domain_3 为 web_page_l 301 和 web_page_2 311的第三方域。
[0070]在一些实施例中,domain_3的banner_2 317的加载可发起domain_3的使用数据收集。例如,可从诸如 data_store_l 303、data_store_2 313 和 data_store_3 319 的各数据存储库收集在客户机装置中的domain_3下键入的数据项目。收集的数据可出于使用跟踪目的被转送给domain_3的服务器。作为替代方案,可出于使用跟踪更新的目的根据domain_3 的 data_item_2 309 产生 domain_3 的 data_item_4 321。在一个实施例中,当从domain_3加载其它的广告内容或者访问domain_3的它们的网站时,data_item_2 309和data_item_4 321可最终被发送给domain_3。因此,domain_3可接着跨嵌入domain_3的不同网站或域构建使用跟踪数据或编辑用户的简档(或者domain_3具有印迹)。[0071]在一个实施例中,可基于用户通过浏览器访问的网站收集用户的信息。例如,来自 web_page_l 301 的 domain_l 的 HTML 文档可包含 URL 链接“http://a.com/ad ?1cation=Sjc”,以从与“a.com”对应的domain_3取得banner_l 305。作为结果,存储于 data_store_l 303 中的 data_item_2 309 可包含 “location: sjc”,以指不位于由“sjc”识别的位置中的用户。随后,用户例如从web_page_2 311的domain_2检索的另一 HTML 文档可包含用于从 domain_3 取得 banner_2 317 的 URL 链接 “http://a.com/ad? food=Chinese”。作为结果,存储于 data_store_3 319 中的 data_item_4 321 可包含“food:Chinese”,以指示用户偏好中餐。domain_3可通过从多个数据存储库收集对于domain_3存储的数据项目来建立位置和食品偏好的用户简档。
[0072]图4是示出根据这里描述的一个实施例的用于配置装置中的数据访问操作以阻挡使用跟踪的过程的一个实施例的流程图。可通过可包含硬件(电路、专用逻辑等)、软件(诸如在专用机器上运行)或两者的组合的处理逻辑执行示例性的过程400。例如,可通过图2的系统200的一些部件执行过程400。在块401中,过程400的处理逻辑可保持能够在用于加载域的资源的装置中存储本地数据的一个或多个数据存储库。
[0073]在一个实施例中,加载资源可导致例如在装置的本地存储器中分配的数据存储库上的一个或多个数据访问操作。过程400的处理逻辑可通过执行在从这些域加载资源引起的数据访问操作存储/访问用于域或跟踪者的装置的使用跟踪数据。在块403中,过程400的处理逻辑可配置数据访问操作以阻挡来自这些域的装置的使用跟踪数据。例如,可根据对策的用户选择配置数据访问操作以通过用户界面限制数据访问能力。
[0074]在块405中,过程400的处理逻辑可作为从这些域加载资源的结果在数据存储库上执行配置的数据访问操作。在一个实施例中,通过去除或减少来自这些域的使用跟踪的配置的数据访问操作,资源可被成功加载以向用户呈现网页,而不管的受限的数据访问。
[0075]图5是示出根据这里描述的一个实施例的用于阻挡插件模块的使用跟踪的过程的一个实施例的流程图。可通过包含硬件(例如,电路、专用逻辑等)、软件(诸如在专用机器上运行)或两者的组合的处理逻辑执行示例性过程500。例如,可通过图2的系统200的一些部件执行过程500。在块501中,过程500的处理逻辑可识别用于加载第三方域的资源的插件1吴块。
[0076]过程500的处理逻辑可接收用于加载来自第一方域的第一方资源的用户指令。相对于第一方域的第一方资源,第三方域可以是第三方类型的域。例如,加载第一方资源可自动导致加载对于用户未知的第三方域的资源。
[0077]在块503中,过程500的处理逻辑可配置插件模块以阻挡装置上的来自第三方域的使用跟踪。过程500的处理逻辑可启用用于加载第三方域的资源的插件模块。在一个实施例中,过程500的处理逻辑可配置插件模块以限制插件模块的本地数据访问能力,以防止使用跟踪。来自第三方的资源可被成功加载,从而启用配置的插件模块以向用户呈现第一方资源。可向用户隐藏对于插件模块配置的限制。
[0078]在一个实施例中,过程500的处理逻辑可配置插件模块以在虚拟机下运行以沙盒化(sandbox)插件模块使其不能访问本地数据存储库。作为替代方案,过程500的处理逻辑可检测(例如,通过API调用)插件模块是否支持私人浏览模式,而不将数据写入到本地数据存储库。过程500的处理逻辑可指示插件模块在私人浏览模式中运行以防止通过插件模块的使用跟踪。因此,插件模块可自发地不在私人浏览模式中访问本地数据。
[0079]在一些实施例中,例如,如果虚拟机不可用,那么过程500的处理逻辑可配置插件模块的位置(例如,目录)设定以将本地数据访问操作改向到插件模块的暂时位置或只读位置。可允许经由插件模块的数据访问操作,如同配置的位置是正常的存储位置。写入到配置的位置的数据可能不被读取、访问或永久存储,以通过配置的插件模块防止潜在的使用跟踪。
[0080]作为替代方案,过程500的处理逻辑可将经由插件模块请求的数据访问操作配置为空操作,以假装向插件模块执行正常数据访问操作而不实际对于本地数据存储库写入/读取数据。在一个实施例中,过程500的处理逻辑可配置经由插件模块请求的数据访问操作,以在访问本地数据存储库时送回指示限制的错误消息。
[0081 ] 任选地,过程500的处理逻辑可基于与插件模块相关的唯一会话(或会话标识符)配置对于插件模块的本地数据访问的限制。会话可能在有限的时间周期内是有效的,诸如窗口会话、标签会话、应用会话或其它的适用的会话。例如,可对于来自插件模块的数据访问操作分配与插件模块的会话相关的暂时数据存储库。另一窗口或不同的会话的应用可能不能访问暂时数据存储库。一般地,一旦会话到期,诸如当窗口关闭/重新打开、应用关闭/重新打开时,或者在经过一定的配置时间周期之后,与会话相关的暂时数据存储库可被去除或删除。
[0082]在一些实施例中,过程500的处理逻辑可根据第一方网站分区数据存储库。启用插件模块的第三方网站可限于在与第三方网站相关的第一方网站的分区内执行本地数据访问操作。作为结果,可禁止跨多个第一方网站的第三方网站的使用跟踪。
[0083]图6是示出根据这里描述的一个实施例的分区高速缓存以阻挡来自第三方域的使用跟踪的过程的一个实施例的流程图。可通过包含硬件(电路、专用逻辑等)、软件(诸如在专用机器上运行)或两者的组合的处理逻辑,来执行示例性过程600。例如,可通过图2的系统200的一些部件执行过程600。在块601中,过程600的处理逻辑可接收由装置的用户规定的第一方域的资源。在块603中,过程600的处理逻辑可产生对于第三方域的资源的请求。第三方域的请求可能对于用户是透明的。
[0084]在一个实施例中,在块605中,过程600的处理逻辑可根据第一方域分区装置的高速缓存。可通过第一方域和第一方域的第三方域访问第一方域的各分区。另外的第一方域或另外的第一方域的第三方域不能访问(例如,查询)该第一方域的分区。在块607中,过程600的处理逻辑可针对请求查询第一方域下的高速缓存中的资源。如果查询成功,那么过程600的处理逻辑可在块609从高速缓存加载第一方域下的资源。第一方域下的加载可防止经由高速缓存的来自第三方域的使用跟踪。
[0085]在一些实施例中,过程600的处理逻辑可禁止诸如浏览器应用的应用暗中访问第三方网站的高速缓存,以防止第三方网站间接地将高速缓存用作用于使用跟踪的本地存储器。作为替代方案,过程600的处理逻辑可对于一个共同的第三方网站在不同的第一方网站下创建多个分区,以限制共同的第三方网站跨多个分区访问数据。因此,对于一个第一方网站下的共同的第三方网站存储的数据可能对于另一第一方网站下的共同第三方网站是不可用的,以限制共同的第三方网站的潜在使用跟踪。在一个实施例中,过程600的处理逻辑可平衡高速缓存的需要尺寸与来自使用高速缓存的第三方网站的潜在使用跟踪的程度。与没有分区的高速缓存相比,具有第一方网站下的分区的高速缓存可降低具有较大高速缓存容量要求的潜在使用跟踪的程度。
[0086]图7是示出根据这里描述的一个实施例的用于保持已知跟踪者的黑名单以阻挡使用跟踪的过程的一个实施例的流程图。可通过包含硬件(电路、专用逻辑等)、软件(诸如在专用机器上运行)或两者的组合的处理逻辑,来执行示例性过程700。例如,可通过图2的系统200的一些部件执行过程700。在块701中,过程700的处理逻辑可针对装置中的域的资源保持至少一个列表,诸如黑名单或白名单。各黑名单可包含能够跟踪装置的使用的已知的跟踪者。在一个实施例中,由域托管的资源可属于已知的跟踪者,而由同一域托管的另一资源可能是有效的(或者不属于跟踪者)。例如,已知的跟踪者可包含诸如“www.fo0.com/evel/”的URL图案,以寻址能够跟踪装置的使用的域的资源。但是,通过诸如“www.fo0.com/good/”的另一 URL图案寻址的同一域的资源不能跟踪装置的使用可以是有益的。
[0087]在一些实施例中,域的资源的白名单可包含用户针对本地数据访问或使用跟踪允许的网站,以例如对由白名单中的网站提供的服务提供特定的特征或功能。过程700的处理逻辑可提供允许用户配置用户自身的跟踪者的黑名单或白名单的机制,诸如与其它用户或装置共享跟踪者的列表、从远程服务订购已知跟踪者的列表和/或其它适用的列表配置机制。
[0088]在块703中,在一个实施例中,过程700的处理逻辑可例如经由浏览器应用针对第三方域的资源监视第三方请求的历史。第三方请求可通过第一方域的加载资源被自动启用,这对于装置的用户来说是透明的。用于加载第一方域的资源的第一方请求可明确由用户规定。在块705中,过程700的处理逻辑可呈现根据历史指示使用跟踪活动的用户界面。使用跟踪活动可通过第三方域指示第一方域与黑名单之间的关系。例如,用户界面可包含概括在第一方域的黑名单中识别的第三方域的数量的统计数据。用户界面可提供关于第一方域允许的识别的第三方域的详细信息(例如,除了域名以外),以帮助用户跟踪第三方域的下源。
[0089]在一个实施例中,可向匹配不同黑名单的网站施加不同的对策。换句话说,各单独的黑名单可与用于私密控制的使用跟踪的不同的级别或程度相关。网站可被赋予足够的使用跟踪或本地数据访问能力,使得来自网站的服务(诸如呈现完整的功能或完整的网页)将不被破坏。例如,过程700的处理逻辑可作为对于特定黑名单中的网站的顶级私密控制阻挡通信或网络连接,以禁止来自这些网站的使用跟踪。作为替代方案,当网站作为第一方网站被传送时,过程700的处理逻辑可从单独的黑名单允许来自网站的本地数据访问,但完全阻挡与作为第三方网站的网站的通信。
[0090]过程700的处理逻辑可分析由网站提供的服务和/或资源,以确定破坏用户浏览体验的严重性以关断来自网站的使用跟踪。例如,过程700的处理逻辑可在不向用户贡献可见或可注意到的内容(例如,向用户隐藏)的情况下识别嵌入网页中的第三方网站。因此,可在不影响用户体验(例如,破坏不严重)的情况下通过阻挡的第三方网站呈现网页。在一个实施例中,过程700的处理逻辑可分析对于网站产生的DOM结构,以确定是否向浏览网页的用户隐藏(例如,不提供可见的内容)从网站加载的资源。在一些实施例中,过程700的处理逻辑可根据表示来自网站的可疑使用跟踪的基于DOM的分析动态阻挡与网站的连接(例如,在DOM结构中隐藏来自网站的资源)。
[0091]在一个实施例中,过程700的处理逻辑可主动记录或观察网站的浏览活动,而不管这些网站属于哪些黑名单和/或白名单,并且/或者不管在网站上施加什么对策或私密控制级别。过程700的处理逻辑可基于记录产生用于通过用户浏览活动从第三方网站和/或第一方网站揭示潜在使用跟踪活动的报告。报告可包含使用跟踪统计数据和/或与已知网站的配置黑名单/白名单的关系,以帮助用户判断使用跟踪的可能性。例如,防护网站的对策可根据统计数据被施加以例如在优化私密性(例如,通过完全阻挡与网站的连接)和优化网站兼容性(例如,通过允许来自网站的完全本地数据访问)之间进行平衡。
[0092]图8示出了可与本发明中的一个实施例一起使用的诸如计算机系统的数据处理系统的一个例子。例如,系统800可实现为图1所示的系统的一部分。注意,虽然图8示出计算机系统的各种部件,但不是要代表断开部件的任何特定的结构或方式,原因是这些细节与本发明无关。还应理解,可以与本发明一起使用具有更少的部件或者可能具有更多的部件的网络计算机和其它的数据处理系统。
[0093]如图8所示,作为数据处理系统的形式的计算机系统800包含与微处理器805和ROM (只读存储器)807和易失性RAM809和非易失性存储器811耦合的总线803。微处理器805可从存储器807、809、811检索指令并且执行指令以执行上述的操作。总线803将这些各种部件互连在一起,并且还将这些部件805、807、809和811互连到显示控制器和显示装置813和诸如输入/输出(I/O)装置的外设装置,这些输入/输出(I/O)装置可以是鼠标、键盘、调制解调器、网络接口、打印机和在本领域中公知的其它装置。一般地,输入/输出装置815通过输入/输出控制器817与系统耦合。为了刷新或保持存储器中的数据,易失性RAM (随机存取存储器)809 —般实现为连续地需要电力的动态RAM (DRAM)0
[0094]大容量存储器811 —般是磁硬驱动或磁光驱动或光学驱动或DVD RAM或快擦写存储器或即使在从系统去除电力之后也保持数据(例如,大量的数据)的其它类型的存储器系统。一般地,大容量存储器811还将是随机存取存储器,尽管不需要这样。虽然图8示出了大容量存储器811是与数据处理系统中的其余部件直接耦合的本地装置,但应理解,本发明可利用远离系统的非易失性存储器,诸如通过诸如调制解调器或以太网接口或无线联网接口的网络接口与数据处理系统耦合的网络存储装置。总线803可包含通过本领域公知的各种桥、控制器和/或适配器相互连接的一个或多个总线。
[0095]可通过诸如专用逻辑电路的逻辑电路或者通过微控制器或执行程序代码指令的其它形式的处理芯,实现上述的部分。因此,可通过导致执行这些指令的机器执行某些功能的诸如机器可执行指令的程序代码执行由以上讨论教导的过程。在本文中,“机器”可以是将中间形式(或“摘要”)指令转换成处理器特定指令(例如,摘要执行环境,诸如“虚拟机”(例如,Java Virtual Machine)、解释程序、Common Language Runtime、高级语言虚拟机等)的机器和/或被设计为执行指令的设置在半导体芯片(例如,由晶体管实现的“逻辑电路”)上的电子电路(诸如通用处理器和/或特殊用途处理器)。也可在不执行程序代码的情况下通过被设计为执行过程(或其一部分)的电子电路(在机器的替代中或者与机器组合),执行通过以上的讨论教导的过程。
[0096]可以使用制造物品以存储程序代码。存储程序代码的制造物品可体现为(但不限于)一个或多个存储器(例如,一个或多个快擦写存储器、随机存取存储器(静态、动态或其它))、光盘、CD-ROM、DVD ROM、EPROM、EEPROM、磁卡或光卡或适于存储电子指令的其它类型的机器可读介质。也可通过在传播介质中(例如,通过通信链接(例如,网络连接))体现的数据信号将程序代码从远程计算机(例如,服务器)下载到请求的计算机(例如,客户机)。
[0097]以上详细描述按照计算机存储器内对数据比特的运算的算法和符号表示呈现。这些算法描述和表示是数据处理【技术领域】用于最有效地将他们的工作的主旨传递给本领域中的其它人员的工具。算法在这里一般被构想为导致希望结果的独立的运算序列。运算是需要物理量的物理操作的运算。通常,虽然未必,这些量采取能够被存储、传送、组合、比较和另外操作的电信号或磁信号的形式。主要出于通常使用的原因,有时证明将这些信号称为比特、值、元素、符号、字符、术语或数字等是十分方便的。
[0098]但应牢记,所有这些和类似的术语要与适当的物理量相关,并且仅是适用于这些量的方便的标签。从以上的讨论可以理解,除非具体另外描述,否则,在整个说明书中,利用诸如“处理”或“计算”或“算出”或“确定”或“显示”等的术语的讨论指的是将表现为计算机系统的寄存器和存储器中的物理(电子)量的数据操作和转换为类似地表现为计算机系统存储器或寄存器或其它这种信息存储、传送或显示装置内的物理量的其它数据的计算机系统或类似的电子计算装置的动作或处理。
[0099]本发明还涉及用于执行这里描述的操作的装置。可具体地出于需要的目的构建该装置,或者,它可包含通过存储于计算机中的计算机程序被选择性激活或重新配置的通用计算机。这种计算机程序可存储于诸如但不限于包含软盘、光盘、CD-ROM和磁光盘的任何类型的盘,只读存储器(ROM),RAM, EPROM, EEPR0M,磁卡或光卡或适于存储电子指令的任何类型的介质并且分别与计算机系统总线耦合的计算机可读存储介质中。
[0100]这里出给出的过程和显示不固有地涉及任何特定的计算机或其它装置。可与根据本文教导的程序一起使用各种通用的系统,或者,可证明构建更专门的执行描述的操作的装置是十分方便的。从以下的描述可以看出,各种这些系统所需要的结构将是十分明显的。另外,本发明的描述不参照任何特定的编程语言。应当注意,可以使用各种编程语言实现这里描述的本发明的教导。
[0101]以上的讨论仅描述本发明的一些示例性实施例。本领域技术人员从这些讨论、附图和权利要求很容易理解,在不背离本发明的精神和范围的情况下,可以提出各种修改。
【权利要求】
1.一种其上具有指令的机器可读非暂时性存储介质,这些指令在被机器执行时导致机器执行方法,所述方法包括: 在用于加载域的资源的装置中保持能够存储本地数据的一个或多个数据存储库,资源的加载导致数据存储库上的一个或多个数据访问操作,其中,对来自域的装置的使用跟踪数据的访问依赖于数据访问操作中的至少一个; 配置数据访问操作以阻挡来自域的装置的使用跟踪数据;和 针对资源的加载在数据存储库上执行数据访问操作,其中,资源被成功加载以向用户呈现网页。
2.根据权利要求1的介质,其中,通过来自从用户接收到的请求中识别的第一方域的第一方资源呈现网页,其中,资源的加载由第一方资源引起,并且其中,资源的加载对于用户是透明的。
3.根据权利要求2的介质,其中,数据访问操作与在有限时间段内有效的会话标识符相关,并且其中,执行数据访问操作包括: 当会话标识符有效时,用与会话标识符相关的变化更新至少一个数据存储库;和 当会话标识符超出有限时间段过期时,从所述至少一个数据存储库去除与会话标识符相关的变化。
4.根据权利要求3的介质,其中,会话标识符与在呈现时显示网页的窗口相关,并且其中,当窗口关闭时,会话标识符过期。
5.根据权利要求2的介质 ,其中,至少一个数据存储库包含用于各个域的分区,并且,所述配置包括: 使访问操作与第一方域相关,其中,所述访问操作限于访问数据存储库中的第一方域的分区。
6.根据权利要求5的介质,其中,数据存储库通过API(应用程序接口)被访问,并且其中,数据访问操作通过API在资源中被明确指定。
7.根据权利要求5的介质,其中,数据存储库包含高速缓存存储库,其中,数据访问操作用于访问高速缓存存储库,并且其中,执行数据访问操作包括: 在高速缓存存储库中的第一方域的分区中存储资源的副本。
8.根据权利要求7的介质,其中,执行数据访问操作还包括: 从高速缓存存储库中的第一方域的分区检索资源。
9.根据权利要求1的介质,其中,所述装置包括永久存储装置,其中,数据访问操作识别数据存储库中的一个,并且其中,执行数据访问操作包括: 将通过域键入的数据项存储到由指示器识别的数据存储库,以防止在永久存储装置中永久地存储所述数据项。
10.根据权利要求1的介质,其中,所述资源包含用于启用数据访问操作的API(应用程序接口),并且其中,执行数据访问操作包括: 在不更新数据存储库的情况下,向API调用返回状态,所述状态指示API调用成功完成。
11.根据权利要求10的介质,其中,所述资源包含调用API的脚本代码,并且,所述脚本代码被执行用于资源加载。
12.根据权利要求10的介质,其中,数据访问操作包含: 在不更新数据存储库的情况下,向API调用返回状态,所述状态指示API调用成功完成。
13.根据权利要求1的介质,其中,所述资源指定包含能够更新数据存储库中与插件模块相关的一个数据存储库的数据访问操作的插件模块,并且其中,所述插件模块与所述相关的一个数据存储库以外的数据存储库无关。
14.根据权利要求13的介质,其中,所述配置包含: 在沙盒化所述相关的一个数据存储库的虚拟机中启用插件模块。
15.根据权利要求13的介质,其中,所述配置包含: 通过私人模式启用插件模块,其中,数据访问操作限于通过私人模式对相关的数据存储库进行读取访问。
16.一种上面具有指令的机器可读非暂时性存储介质,这些指令在被机器执行时使机器执行方法,该方法包括: 识别用于加载第三方域的资源的插件模块,其中,第三方域相对于在装置中加载的第一方域的第一方资源具有第三方类型; 配置插件模块以阻挡装置上来自第三方域的使用跟踪; 启用用于资源的加载的所述插件模块,其中,资源被成功加载,以向用户呈现第一方资源。`
17.根据权利要求16的介质,其中,第一方资源根据从装置的用户接收的请求被加载,并且其中,资源的加载是由对于用户透明的第一方资源引起的。
18.根据权利要求16的介质,其中,所述插件模块与通向装置中的存储本地数据的存储位置的路径相关,并且,所述配置包括: 在装置中分配暂时路径的暂时存储位置;和 将路径改向到装置中的暂时路径,其中,插件模块能够通过所述路径访问暂时位置,并且其中,插件模块被禁止访问存储位置。
19.根据权利要求18的介质,其中,第一方资源在向用户呈现的网页中被呈现,并且,当网页被关闭时,使得暂时存储器不可访问。
20.一种上面具有指令的机器可读非暂时性存储介质,这些指令在被机器执行时使机器执行方法,该方法包括: 响应于对第三方域的资源的请求,对于第三方域识别第一方域,其中,所述请求是由第一方域的加载资源引起的,并且其中,第三方域对于装置的用户是透明的; 在装置的高速缓存中查询第一方域下的资源,其中,对于第一方域下的查询,另一个第一方域下的高速缓存中的第三方域的资源是不可访问的;和 如果查询成功,则从高速缓存加载第一方域下的资源,其中,所述加载防止来自第三方域的通过高速缓存的使用跟踪。
21.根据权利要求20的介质,其中,高速缓存由至少一个域索引,并且其中,资源存储于由第一方域和第三方域两者索引的高速缓存中。
22.根据权利要求20的介质,其中,高速缓存包括分别与包含第一方域的各个域相对应的隔离分区,并且其中,资源在与分区中与第一方域对应的一个分区中由第三方域索引。
23.一种上面具有指令的机器可读非暂时性存储介质,这些指令在被机器执行时使机器执行方法,所述方法包括: 在装置中保持已知跟踪者的一个或多个黑名单,其中,各已知跟踪者寻址域的能够跟踪装置的使用的资源; 对于第三方域的资源监视第三方请求的历史,通过装置中加载的资源对于装置的用户透明地引起每个第三方请求,加载的资源属于来自用户的请求中指定的第一方域; 根据历史呈现指示使用跟踪活动的用户界面,其中,使用跟踪活动通过第三方域指示第一方域与黑名单之间的关系。
24.根据权利要求23的介质,其中,黑名单包含第一黑名单,其中,第三方请求包括第三方域中的特定一个的特定请求,并且其中, 如果所述特定第三方域属于第一黑名单,那么阻挡所述特定请求。
25.根据权利要求24的介质,其中,所述阻挡禁止与第三方域的网络连接。
26.根据权利要求24的介质,其中,黑名单包含第二黑名单,并且其中, 如果所述特定第三方域属于第二黑名单,那么在不阻挡特定第三方请求的情况下,对于所述特定第三方域限制对装置的本地数据的访问。
27.根据权利要求23的介质,其中,关于第一方域的黑名单,使用跟踪活动包含第三方请求的统计数据。
28.根据权利要求26的介质,其中,所述统计数据包含针对第三方域中的每一个的第三方请求的总数的计数。
29.—种计算机实现的方法,包括: 在用于加载域的资源的装置中保持能够存储本地数据的一个或多个数据存储库,资源的加载导致数据存储库上的一个或多个数据访问操作,其中,对来自域的装置的使用跟踪数据的访问依赖于数据访问操作中的至少一个; 配置数据访问操作以阻挡来自域的装置的使用跟踪数据;和 针对资源的加载在数据存储库上执行数据访问操作,其中,资源被成功加载以向用户呈现网页。
30.一种计算机系统,包括: 存储器,存储可执行指令; 网络接口,根据来自系统的用户的请求与包含第三方域和第一方域的一个或多个域的源耦合; 处理器,与存储器和网络接口耦合以执行来自存储器的指令,处理器被配置为保持装置中的已知的跟踪者的至少一个黑名单,其中,各已知的跟踪者寻址能够跟踪系统的使用的域的资源, 监视对于第三方域的资源的第三方请求的历史,通过系统中的加载资源对于用户透明地引起每个第三方请求,加载的资源属于在多个请求之一中指定的第一方域中的一个; 根据历史呈现指示使用跟踪活动的用户界面,其中,使用跟踪活动通过第三方域识别第一方域与至少一个黑名单之间的关系。
【文档编号】G06F21/60GK103562928SQ201280025190
【公开日】2014年2月5日 申请日期:2012年5月10日 优先权日:2011年5月25日
【发明者】B·克罗尔, D·B·阿黛尔, K·W·德克尔, S·J·福尔肯伯格, T·G·哈彻, J·金, D·D·梅尔顿, M·施塔赫威亚克, S·M·温宁, B·A·温斯坦 申请人:苹果公司

最新回复(0)