一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

处理对控制存储在多个服务器处的信息的请求的制作方法

2022-06-12 03:50:01 来源:中国专利 TAG:

处理对控制存储在多个服务器处的信息的请求
1.相关申请的交叉引用
2.本技术是国际申请,并要求于2020年8月23日提交的以色列申请第276868号的权益。上述申请的公开内容通过全文引用并入本文。


背景技术:

3.本说明书一般涉及数据处理以及对控制存储在多个内容平台/服务器处的信息的请求的安全且高效的传输和处理。
4.客户端设备的用户可以请求对存储在特定内容平台/服务器处的用户信息的控制。这种对控制用户数据的请求可以包括例如对删除用户信息的全部或部分的请求、对修改用户数据的请求、对访问用户数据的请求或对防止将用户数据传输给任何其它实体的请求。因为用户信息可以存储在多个不同服务器处,所以客户端设备必须生成单独请求并且将单独请求发送给每个这种内容平台/服务器。


技术实现要素:

5.通常,本说明书中所描述的主题的一个新颖方面可以体现在方法中,该方法包括以下操作:由客户端设备向设备可信赖性服务器发送对验证客户端设备的可信赖性的请求;由客户端设备从设备可信赖性服务器接收指示客户端设备可信赖的数据;响应于接收到指示客户端设备可信赖的数据,由客户端设备向中继服务器发送对控制存储在多个服务器处的用户数据的请求,其中:中继服务器是在将对控制用户数据的请求发送给多个服务器中的每一个之前验证对控制用户数据的请求的服务器;并且对控制用户数据的请求指定要由服务器关于用户数据执行的动作;由客户端设备经由中继服务器从多个服务器中的每一个接收响应;以及由客户端设备基于响应来确定包括用户数据的多个服务器的至少一个子集已经执行了对控制用户数据的请求中指定的动作。该方面的其它实施例包括编码在计算机存储设备上的对应的方法、装置以及计算机程序,对应的方法、装置以及计算机程序配置为执行方法的动作。这些和其它实施例可以分别可选地包括以下特征中的一个或多个。
6.在一些实施方式中,方法可以进一步包括:由客户端设备生成数字令牌,该数字令牌包括(1)客户端设备的设备标识符、(2)第一数据参数,其中该第一数据参数是指定创建数字令牌的时间的时间戳、(3)指定关于存储在多个服务器处的用户数据的动作类型的指令以及(4)识别多个服务器的数据;和由客户端设备使用对称加密算法对数字令牌进行加密以获得加密数字令牌。
7.在一些实施方式中,由客户端设备使用对称加密算法对数字令牌进行加密以获得加密数字令牌可以包括:使用密码伪随机函数并基于包括当前日期、第一数据字符串以及设备标识符的数据参数来生成加密密钥;和由客户端设备使用加密密钥对数字令牌进行加密以获得加密数字令牌。
8.在一些实施方式中,使用密码伪随机函数并基于包括当前日期、第一数据字符串以及设备标识符的数据参数来生成加密密钥可以包括通过以下操作来生成加密密钥:(1)
使用当前日期和第一数据字符串计算第一消息认证码(mac)和(2)使用设备标识符和第一mac生成第二mac。
9.在一些实施方式中,对验证客户端设备的可信赖性的请求可以包括第一数据集,该第一数据集可以包括(1)设备可信赖性数据,根据该设备可信赖性数据来确定客户端设备的可信赖性和(2)使用加密数字令牌和第一数据参数生成的第三mac。
10.在一些实施方式中,对控制用户数据的请求可以包括第二数据集,该第二数据集包括(1)指示客户端设备可信赖的数据、(2)加密数字令牌、(3)第一数据参数、(4)识别多个服务器的数据以及(5)使用设备标识符、第二数据参数以及第三数据参数生成的第四mac。
11.在一些实施方式中,第二数据参数可以包括当前日期,且第三数据参数包括第二数据字符串。
12.在一些实施方式中,由客户端设备从设备可信赖性服务器接收指示客户端设备可信赖的数据可以包括由客户端设备从设备可信赖性服务器接收由设备可信赖性服务器在第三mac上的数字签名。
13.在一些实施方式中,要由服务器关于用户数据执行的动作可以包括以下中的一项:删除存储在服务器处的用户数据;请求不将存储在服务器处的用户数据发送或提供给任何其它实体;使得一个或多个实体能够对存储在的服务器处的用户数据进行访问;请求公开收集到的用户数据;或请求导出收集到的用户数据。
14.可以实施本说明书中所描述的主题的特定实施例以实现以下优点中的一个或多个。
15.本说明书中所描述的技术提供资源高效技术来处理对内容平台/服务器的大量请求,该内容平台/服务器为客户端设备的用户存储信息。通常,生成和发送对各种内容平台/服务器的大量请求可以消耗大量客户端设备的计算资源(例如电池、处理器周期、带宽等)。本说明书中所描述的技术可以通过利用从客户端设备接收单个请求(而不是多个请求)并且生成多个请求并将多个请求路由到存储用户数据的多个内容平台/服务器的中继服务器来显著地减少在生成和发送此类请求时对客户端设备的计算资源的影响。
16.而且,本说明书中所描述的技术提供了安全机制,该安全机制防止对中继服务器的攻击跨网络传播到中继服务器与之通信的各种内容平台/服务器,或至少降低了其可能性。例如,可以在中继服务器上发动拒绝服务(dos)攻击,该拒绝服务攻击又可以传播到中继服务器与之通信的各种内容平台/服务器。因此,对中继服务器的dos攻击可以破坏中继服务器的操作以及中继服务器与之通信的各种内容平台/服务器的操作。为了防止或减少此类攻击的散布/传播,本技术中所描述的技术实施设备可信赖性服务器,该设备可信赖性服务器验证请求客户端设备的可信赖性并且将这种可信赖性指示提供给中继服务器,该中继服务器又在将任何请求/消息发送给各种内容平台/服务器之前验证设备的可信赖性。因此,当设备被认为不可信赖时或当无法验证设备的可信赖性时,中继服务器不会提交来自这种设备的请求,该设备潜在地可能是恶意或已被侵入的设备。
17.更进一步地,本说明书中所描述的技术屏蔽了提供给中继服务器的任何用户/设备信息(例如可以用于完成对控制存储在各种服务器处的用户数据的请求的识别信息),从而避免了中继服务器有意地或无意地释放/散播这种信息。在一些实施方式中,本文中所描述的技术将设备标识符(和/或其它设备/用户识别信息)加密在加密令牌之内,并且在将令
牌发送给中继服务器之前将其它安全措施应用于该令牌。用于生成该令牌的技术(下面描述了这些技术)防止中继服务器能够对该令牌进行破译/解密,这又防止中继服务器能够访问存储在令牌内的设备和/或用户识别信息。这些保护技术不干扰中继服务器的操作。例如,尽管该令牌内的数据不可访问,中继服务器仍然能够将对控制用户数据的请求发送给各种内容平台/服务器。因此,本说明书中所描述的技术在请求控制用户数据的过程期间维护用户/设备隐私,同时使得能够执行/完成设备对控制在各种服务器处的用户数据的请求。
18.在附图和以下描述中阐述了本说明书中所描述的主题的一个或多个实施例的细节。本主题的其它特征、方面以及优点将根据说明书、附图以及权利要求而变得显而易见。
附图说明
19.图1是其中数字内容被分发并被提供用于在客户端设备上显示的示例环境的框图。
20.图2是其中接收和处理客户端设备对针对存储在内容平台上的用户信息行使控制的请求的示例环境的框图。
21.图3是用于基于为音频数字组件生成的模板来生成和分发音频数字组件的变体的示例过程的流程图。
22.图4是可以用于执行所描述的操作的示例计算机系统的框图。
具体实施方式
23.本说明书大体上涉及安全且高效地传输和处理对控制存储在多个内容平台/服务器处的用户信息(也称为用户数据)的请求。
24.如下面概述且贯穿本文更详细地描述的,客户端设备与中继服务器和设备可信赖性服务器结合操作以生成和发送对控制存储在各种服务器处的用户信息的请求。
25.在一些实施方式中,客户端设备将对验证客户端设备的可信赖性的请求发送给设备可信赖性服务器。该请求可以包括设备可信赖性数据,该设备可信赖性数据包括从设备环境获得的信号集,并且可以根据设备可信赖性数据来确定客户端设备的可信赖性。
26.设备可信赖性服务器使用包括在对验证设备的可信赖性的请求中的设备可信赖性数据。基于该验证,设备可信赖性服务器将指示客户端设备是否可信赖的数据发送给客户端设备。
27.在从设备可信赖性服务器接收到指示客户端设备是否可信赖的数据后,客户端设备向中继服务器发送对控制存储在各种服务器处的用户信息的请求。对控制用户信息的请求指定了要由服务器关于用户信息执行的动作(例如删除用户信息、修改对用户信息的访问权限、防止用户信息的散播)并且指定了将要执行所请求的动作的服务器。该请求还包括指示客户端设备是否可信赖的数据。
28.在接收到来自客户端设备的请求后,中继服务器在基于从设备可信赖性服务器接收到的数据确定设备可信赖时验证该请求。一旦经过验证,中继服务器就将对控制用户信息的请求发送给在来自客户端设备的请求中所指定的各种服务器。服务器在接收到来自中继服务器的请求时验证该请求并执行请求中指定的适当(多个)动作以实现对用户信息的
控制。
29.服务器然后将指定服务器是否完成请求的响应发送给中继服务器。中继服务器继而将这些响应发送给客户端设备,提供关于是否完成对控制用户信息的请求的确认。
30.下面参考图1到图4更详细地描述了这些特征和附加特征。
31.关于贯穿本文的描述,可以为用户提供允许用户选择本文中所描述的系统、程序或特征是否以及何时可以收集用户信息(例如关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前位置的信息)或是否从服务器向用户发送内容或通信的控制。此外,在存储或使用特定数据之前,可以按照一种或多种方式来处理该特定数据,从而使得可以去除个人身份信息。例如,可以处理用户的身份,从而使得无法确定用户的个人身份信息,或可以将用户的能够从中获得位置信息(诸如城市、邮政编码或州县等级)的地理位置一般化,从而使得无法确定用户的特定位置。因此,用户可以控制收集关于用户的哪些信息、如何使用该信息以及将哪些信息提供给用户。
32.图1是其中数字内容被分发并被提供用于在客户端设备上显示的示例环境100的框图。
33.示例环境100包括网络104。网络104可以包括局域网(lan)、广域网(wan)、互联网或它们的组合。网络104还可以包括任何类型的有线和/或无线网络、卫星网络、电缆网络、wi-fi网络、移动通信网络(例如3g、4g等)或它们的任何组合。网络104可以利用通信协议,包括基于分组和/或基于数据报的协议,诸如互联网协议(ip)、传输控制协议(tcp)、用户数据报协议(udp)或其它类型的协议。网络104可以进一步包括促进网络通信和/或形成网络的硬件基础的多个设备,诸如交换机、路由器、网关、接入点、防火墙、基站、中继器或它们的组合。
34.网络104连接客户端设备102、内容平台106、设备可信赖性服务器110以及中继服务器108。示例环境100可以包括许多不同内容平台106、中继服务器108、客户端设备102以及设备可信赖性服务器110。
35.内容平台106是使得能够分发内容的计算平台(诸如(例如),参考图4描述的网络服务器或另一数据处理装置)。示例内容平台106包括搜索引擎、社交媒体平台、新平台、数据聚合平台或其它内容共享平台。示例内容平台106可以由内容平台服务提供商操作。
36.内容平台106可以发布其自己的内容并且使其自己的内容可用。例如,内容平台106可以是发布其自己的新闻文章的新闻平台。内容平台106还可以呈现由不作为内容平台106的一部分的一个或多个内容提供商108提供的内容。在以上示例中,新闻平台还可以呈现由一个或多个内容提供商108提供的第三方内容。作为另一示例,内容平台106可以是不发布其自己的内容,而是聚合并呈现由不同内容提供商108提供的第三方内容的数据聚合平台。
37.在一些实施方式中,内容平台106可以存储关于客户端设备的某些信息(例如设备偏好信息、内容消费信息等)。这种用户信息可以由内容平台使用,例如以定制提供给客户端设备102的内容或实现对客户端设备102频繁访问的特定内容的迅速访问。在一些实施方式中,内容平台106可以不将这种设备信息存储在平台上;然而,内容平台106仍可以提供这种信息以供存储在特定服务器(与内容平台分离)上。因此,内容平台106(在本文中也称为内容平台/服务器106或简称为服务器)是指存储这种设备信息的内容平台或存储这种设备
信息的服务器(与内容平台分离)。
38.设备可信赖性服务器110是确定客户端设备102是否可信赖的服务器(或如参考图4描述的另一数据处理装置)。在一些实施方式中,客户端设备102将在本说明书中称为设备可信赖性数据的信号集(例如所使用的设备类型、设备的操作系统等)提供给设备可信赖性服务器110。基于接收到的设备可信赖性数据,设备可信赖性服务器110确定客户端设备是否可信赖。在一些实施方式中(且如下面参考图2和图3进一步描述的),设备可信赖性服务器110将关于客户端设备102是否可信赖的指示提供给客户端设备102。
39.中继服务器108是用作客户端设备与各种内容平台/服务器106之间的中继的服务器(或另一适当的数据处理装置,如参考图4描述的),各种内容平台/服务器存储与客户端设备102相关联的用户的用户信息。中继服务器108在将从客户端设备102接收的对控制用户信息的请求发送给多个服务器中的每一个之前,验证此类请求(如参考图2和图3描述的)。在一些实施方式中(且如下面参考图2和图3进一步描述的),中继服务器从客户端设备102接收对运用存储在多个内容平台/服务器106处的用户信息的单个请求,验证该请求,并且如果经过验证,那么将该请求发送给多个内容平台/服务器106。
40.参考图2描述了示例环境100的这些组件的附加结构和操作方面。
41.图2是与传输和处理从客户端设备102到多个内容平台106的对控制用户信息的请求相关的示例环境200的框图。
42.如图2中所示出,客户端设备102包括操作系统204、设备可信赖性客户端210以及应用a 202。操作系统204通常负责管理客户端设备102的硬件和软件资源,例如(诸如),应用a 202。在一些实施方式中,操作系统204包括令牌生成器206和mac生成器208,下面描述了它们中的每一个。
43.令牌生成器206使用用于控制存储在多个内容平台/服务器106处的用户信息的数据和指令来生成数字令牌。在一些实施方式中,令牌生成器206使用例如客户端设备102的私钥对所生成的数字令牌进行数字签名。
44.在一些实施方式中,由令牌生成器206生成的数字签名令牌是证明令牌。如在本说明书中所使用的,证明是包括数据集的数字令牌,该数字令牌可以包括以下数据项中的一个或多个:(1)客户端设备102的唯一标识符、(2)指示令牌的创建时间的时间戳(也称为请求时间戳)、(3)包括数据的有效载荷,该数据指示对针对用户信息行使控制的请求以及(4)可选地,先前由设备可信赖性服务器110生成的设备可信赖性令牌(即,设备可信赖性令牌可以但不必被包括在证明令牌中)。证明令牌还包括令牌生成器206通过使用客户端设备102的私钥对证明令牌中所包括的数据集进行签名而生成的数字签名。
45.以下段落描述了数据集中的每个数据项和该数据集的数字签名,如证明令牌中所包括的。
46.证明令牌中所包括的客户端设备102的唯一标识符可以是或包括客户端设备102的公钥。例如,客户端设备102可以生成和/或维护一对或多对密码密钥,包括设备私钥和设备公钥。设备公钥对应于设备私钥并且数学地链接到设备私钥。使用私钥进行数字签名的数据只能使用对应公钥进行验证。类似地,使用公钥加密的数据只能使用对应私钥进行解密。替代地,代替设备的公钥,可以使用另一适当的设备标识符,诸如(例如)设备的mac地址。
47.证明令牌中所包括的时间戳指定/指示创建证明令牌的时间。在一些实施方式中,时间戳指定创建证明令牌的时间(且在一些情况下为日期)。在一些实施方式中,时间戳可以以高分辨率(例如使得其可以以微秒或甚至纳秒为单位记录创建时间)或以低分辨率(例如使得所记录的创建时间以小时或分钟为单位)。
48.证明令牌中所包括的有效载荷可以包括数据,该数据指示对控制存储在一个或多个服务器处的用户信息的请求。该数据可以(1)指定用户关于数据请求的动作类型(例如删除数据、修改对数据的访问、防止数据的进一步传输)和(2)指定请求的范围——即,是在特定(多个)内容平台/(多个)服务器106处还是在(接收请求的)中继服务器108与之通信的(多个)内容平台/(多个)服务器处执行所请求的动作。如果请求的范围指定在特定(多个)内容平台/(多个)服务器106处的所请求的动作,那么有效载荷还可以包括那些(多个)平台/(多个)服务器106的(多个)域地址或其它类型的标识符。
49.可以可选地包括在证明令牌中的设备可信赖性令牌使得实体能够确定证明令牌是否由可信客户端设备102发送。设备可信赖性令牌可以由第三方设备完整性系统(诸如设备可信赖性服务器110)发出,该第三方设备完整性系统评估对应于特定客户端设备的信号集并基于评估来将可信赖性水平(例如分数范围内的数值分数、可信赖性的二进制确定)指派给客户端设备102。
50.在一些实施方式中,客户端设备102的设备可信赖性令牌可以包括(1)指示客户端设备102在生成设备可信赖性令牌时的可信赖性(或完整性)水平的判定、(2)指示生成设备可信赖性令牌的时间的设备可信赖性令牌创建时间以及(3)客户端设备102的唯一标识符(其可以是例如客户端设备的设备公钥或其衍生物)。设备可信赖性令牌还可以将数据的数字签名包括在设备可信赖性令牌中。可以使用设备可信赖性服务器110的私钥生成数字签名。
51.例如,设备可信赖性服务器110可以使用服务器110秘密地维护的私钥对数据进行签名。接收设备可信赖性令牌的实体可以使用设备可信赖性服务器110的公钥来验证设备可信赖性令牌的签名。而且,将客户端设备102的设备公钥(或其衍生物,例如,数字摘要)包括在设备可信赖性令牌和证明令牌两者中将这两个令牌绑定在一起。换句话说,通过将客户端设备102的设备公钥(或另一适当的设备标识符)包括在设备可信赖性令牌中,证明令牌的接收者可以确定设备可信赖性令牌是为该客户端设备102生成的。这防止了例如其它方将可信设备的设备可信赖性令牌包括在来自模拟器或已被损坏的客户端设备的被篡改的请求中。
52.证明令牌中包括的数字签名可以是上述数据集(或其某些变体)的数字签名。使用客户端设备102的设备私钥生成该数字签名,该设备私钥可以由客户端设备102的操作系统204安全且秘密地维护。在一些实施方式中,数字签名可以是有效载荷、设备标识符(例如设备公钥)、时间戳以及设备可信赖性令牌的数字签名。在一些实施方式中,操作系统118使用椭圆曲线数字签名算法(ecdsa)生成数字签名,但也可以使用其它签名技术,诸如rsa。
53.在一些情况下,另一种类型的数字签名令牌可以由令牌生成器116生成,该数字签名令牌也可以用于保护对控制用户信息和任何对应数据的请求的通信。例如,在此类实施方式中,可以使用第三方完整性系统(诸如设备可信赖性服务器110)的私钥对数据进行数字签名。随后接收数字签名令牌的实体可以向第三方完整性系统请求对应公钥,然后使用
该密钥来验证签名和所包括的数据。
54.mac生成器208为不同数据集生成消息认证码(mac)(如下面进一步参考图3进一步描述的)。在一些实施方式中,mac生成器208使用mac算法(其是密码伪随机函数的一种类型)来生成基于散列的消息认证码(hmac),其也称为密钥散列消息认证码。在此类实施方式中,mac生成器208为不同的数据/参数集生成hmac(例如使用hmac sha256算法)。在一些实施方式中,代替使用hmac或另一mac算法,mac生成器208使用另一适当的密码伪随机函数(prf),该密码伪随机函数使用由mac生成器208在生成各种数字摘要中另外使用的参数,如在整个本说明书中所描述的。为了便于参考,在本说明书的其余部分,将mac生成器208描述为生成mac或hmac;然而,应了解,贯穿本说明书描述的相同功能/计算可以替代地使用另一适当的密码prf来执行。
55.mac生成器208使用操作系统118的秘密密码密钥(其存储在客户端设备内的安全位置中)为特定数据集生成hmac。下面进一步描述了由图2的系统生成的mac/hmac。
56.客户端设备102还包括设备可信赖性客户端210。在一些实施方式中,设备可信赖性客户端210由操作系统204调用并且单独或与操作系统204协作地从客户端设备102的环境收集信号。由设备可信赖性客户端110收集到的信号的示例包括但不限于设备的类型、设备的型号、设备是否已经被获取最高权限和/或被破解的证据、在设备上运行的操作系统、设备上次更新的时间等。替代地,代替设备可信赖性客户端210,操作系统204可以单独获得设备可信赖性数据。统称为设备可信赖性数据的这些信号可以用于由设备可信赖性服务器110确定客户端设备102的可信赖性(如下面参考图3进一步描述的)。
57.在一些实施方式中,客户端设备102(例如经由应用a 202)生成对验证客户端设备102的可信赖性的请求212。该请求可以包括(1)设备可信赖性数据——由设备可信赖性客户端210、操作系统204或两者获得——根据该设备可信赖性数据来确定客户端设备的可信赖性和(2)加密证明令牌和请求时间戳的数字摘要,其在本说明书中也称为“第三mac”。
58.在一些实施方式中,使用单独操作或与操作系统204结合操作的mac生成器208来生成加密证明令牌和请求时间戳的该数字摘要,如以下操作中所描述。
59.第一,mac生成器208通过以下操作来生成秘密密钥:使用当前日期和数据字符串(例如,诸如“加密”的短语)生成hmac,然后使用当前日期和数据字符串的hmac以及客户端设备102的唯一标识符(例如设备的公钥)生成另一hmac。该操作可以使用以下公式来表示:
60.hmac(deviceid,hmac(current_date,“加密”)
61.替代地,可以修改以上计算以交换该计算的任何参数(deviceid、current_date、“加密”)来生成秘密密钥。例如,mac生成器208可以通过以下方式来生成秘密密钥:使用deviceid和数据字符串(例如,诸如“加密”的短语)生成hmac,然后使用deviceid和数据字符串的hmac以及current_date生成另一hmac。作为另一示例,mac生成器208可以通过以下方式来生成秘密密钥:使用deviceid和current_date生成hmac,然后使用deviceid和current_date的hmac以及数据字符串(“加密”)生成另一hmac。
62.替代地,代替以上计算,mac生成器208可以通过如下计算mac来生成秘密密钥:mac(设备||current_date||“加密”)。在该示例计算中,||可以是用于由简单消息组成复杂消息的任何可逆方法,例如协议缓冲区、简明二进制对象表示(cbor)。
63.作为另一替代方案,使用三个参数的任何其它密码伪随机函数(除了mac/hmac以
外)可以用于生成请求216中所包括的数据集中的数据项(5)。
64.通过在生成hmac(以及因此所得秘密密钥)中使用当前日期,秘密密钥是暂时的。换句话说,秘密密钥只能用于在当前日期对证明令牌进行解密(如下面将进一步描述的)。
65.第二,mac生成器208(或通常,操作系统204)使用对称概率加密算法来使用所生成的秘密密钥对证明令牌进行加密。
66.第三,mac生成器208使用加密证明令牌和创建证明令牌的时间戳生成hmac,以获得例如加密证明令牌和指定证明令牌何时被创建的请求时间戳的数字摘要(也称为第三mac)。该操作可以使用以下公式来表示:
67.hmac(encrypted_attestation_token,request_timestamp)
68.如上所述,加密证明令牌和请求时间戳的数字摘要是以下两个参数的hmac:加密证明令牌和request_timestamp。在一些实施方式中,代替生成该数字摘要/第三mac,可以将加密证明令牌单独包括在请求212中。对于本说明书的其余部分,将假设将加密证明令牌和请求时间戳的数字摘要包括在请求212中。然而,应了解,如果将加密证明令牌包括在请求212中,那么以下公开内容同样适用。
69.由于(对加密证明令牌和请求时间戳)使用了hmac算法或另一prf算法,设备可信赖性服务器110没有接收到加密证明令牌,设备可信赖性服务器110也无法从针对加密证明令牌和请求时间戳的hmac(或其它prf)推断证明令牌。因此,设备可信赖性服务器110无法获知客户端设备102对控制用户信息的请求的性质(例如设备是否正在请求删除/修改所有用户信息)或请求的范围(例如请求是将由特定(多个)内容平台/(多个)服务器106执行还是将由大量此类服务器/平台106执行)。
70.返回图2,客户端设备102将请求212发送给设备可信赖性服务器110。在接收到请求212后,设备可信赖性服务器110使用请求212中所包括的设备可信赖性数据来确定设备是否可信赖。如果设备可信赖性服务器110确定客户端设备102可信赖,那么设备可信赖性服务器110用其私钥对加密证明令牌和请求时间戳的数字摘要进行数字签名。另一方面,如果设备可信赖性服务器110确定客户端设备102不可信赖,那么设备可信赖性服务器不对加密证明令牌和请求时间戳的数字摘要进行数字签名。
71.在一些情况下,代替通过对加密证明令牌和请求时间戳的数字摘要进行数字签名来指示可信赖性(或除了通过对加密证明令牌和请求时间戳的数字摘要进行数字签名来指示可信赖性之外),设备可信赖性服务器110可以使用标记(例如一位标记,其中0指示不可信赖,而1指示可信赖)或其它数据(例如数据消息,其中“trust”指示设备可信赖,而“don't trust”指示设备不可信赖)来指示设备的可信赖性。对于本说明书的其余部分,将假设设备可信赖性服务器110通过对加密证明令牌和请求时间戳的数字摘要进行数字签名来指示设备的可信赖性。
72.设备可信赖性服务器110将响应214发送给客户端设备102。该响应包括加密证明令牌和请求时间戳的数字摘要上的数字签名(在设备可信赖性服务器110确定客户端设备102可信赖的情况下)或误码/空响应(在设备可信赖性服务器110确定客户端设备102不可信赖或设备可信赖性服务器110确定客户端设备102的可信赖性无法被验证的情况下)。
73.在接收到来自设备可信赖性服务器210的响应214后,客户端设备102将请求216发送给中继服务器108,请求针对存储在多个内容平台/服务器106处的用户信息进行控制。在
一些实施方式中,当客户端设备102(例如操作系统204)将请求216发送给中继服务器108时,该请求216包括数据集。该数据集可以包括以下数据项中的一个或多个:(1)加密证明令牌(或其它数字令牌)和请求时间戳的数字签名的第三mac/数字摘要;(2)加密证明令牌(或其它数字令牌);(3)指示证明令牌(或其它数字令牌)何时被创建的时间戳;(4)请求的范围,如证明令牌的有效载荷中所指定(以及如上所述);或(5)针对设备的唯一标识符(例如设备的公钥)和另一hmac的hmac(或另一适当的prf),其中另一hmac针对当前日期和数据字符串(例如,诸如“挑战”的短语)。数据项(5)中的hmac可以使用以下公式来表示:
74.hmac(deviceid,hmac(current_date,“挑战”)
75.替代地,可以修改以上计算以交换该计算的任何参数(deviceid、current_date、“挑战”)来在数据项5中生成hmac。例如,mac生成器208可以通过以下方式来生成该hmac:使用deviceid和数据字符串(“挑战”)生成hmac,然后使用deviceid和数据字符串的hmac以及current_date生成另一hmac。作为另一示例,mac生成器208可以通过以下方式来生成hmac:使用deviceid和current_date生成hmac,然后使用deviceid和current_date的hmac以及数据字符串(“挑战”)生成另一hmac。
76.替代地,代替以上计算,mac生成器208可以通过如下计算mac来生成秘密密钥:mac(设备||current_date||“挑战”)。在该示例计算中,||可以是用于由简单消息组成复杂消息的任何可逆方法,例如协议缓冲区、简明二进制对象表示(cbor)。
77.作为另一替代方案,使用三个参数的任何密码伪随机函数可以用于生成请求216中所包括的数据集中的数据项(5)。
78.在接收到请求216和其中所包括的数据集后,中继服务器108确定客户端设备102是否由设备可信赖性服务器110确定为可信赖。在一些实施方式中,中继服务器108使用设备可信赖性服务器110的公钥来验证由设备可信赖性服务器110创建的数字签名。如果验证了数字签名,那么中继服务器108确定客户端设备可信赖。另一方面,如果数字签名未经验证,那么中继服务器108确定客户端设备102不可信赖。在一些实施方式中,中继服务器108进一步验证如请求时间戳所指示的请求的新鲜度(例如在由请求时间戳指示的时间之后的某个阈值时间内接收到的请求被认为是新近请求)。此外,中继服务器通过重新计算加密证明令牌和请求时间戳的数字摘要并且将该数字摘要与在请求中接收到的数字摘要进行匹配来验证请求。不匹配指示请求无效(这又可以表示客户端设备不可信赖)。
79.如果中继服务器108确定客户端设备102不可信赖,或请求无效,那么中继服务器108不将请求进一步发送给其与之通信的内容平台/服务器106中的任何一个。因此,就客户端设备102是试图对中继服务器108与之通信的(多个)内容平台/(多个)服务器进行攻击(例如dos攻击)的恶意或受损设备来说,中继服务器108(和设备可信赖性服务器110)的可信赖性确定防止了此类攻击。在一些实施方式中,除了确定不将任何请求发送给(多个)内容平台/(多个)服务器106之外,中继服务器108还可以将指示请求216未完成的消息发送给客户端设备102。
80.另一方面,如果中继服务器108确定客户端设备102可信赖,那么中继服务器108将请求218发送给在请求216中所包括的请求的范围中指定的内容平台/服务器106。例如,如果请求216中所包括的请求的范围仅指定对应于某些(多个)内容平台/(多个)服务器106的选定数量的域,那么中继服务器108将请求218发送给那些(多个)内容平台/(多个)服务器
106中的每一个。另一方面,如果请求218中所包括的请求的范围没有指定对应于某些(多个)内容平台/(多个)服务器106的选定数量的域,那么中继服务器108推断该请求是全局的,且因此将请求218发送给中继服务器108与之通信的各种(多个)内容平台/(多个)服务器106。
81.在一些实施方式中,请求218可以包括数据集。该数据集可以包括从请求216(即,从客户端设备102到中继服务器108的请求)中提取到的以下数据项中的一个或多个:(1)加密证明令牌(或其它数字签名令牌)和请求时间戳的数字签名数字摘要;(2)加密证明令牌(或其它数字令牌);(3)指示证明令牌(或其它数字令牌)何时被创建的时间戳;以及(4)针对设备的唯一标识符(例如设备的公钥)和另一hmac的hmac,其中另一hmac针对当前日期和短语(例如“挑战”)。数据项(4)的hmac操作可以使用以下公式来表示:
82.hmac(deviceid,hmac(current_date,“挑战”)
83.如参考请求216中的数据项(5)描述的,以上计算可以以替代方式计算或可以使用除了hmac以外的另一密码伪随机函数来计算。
84.在接收到请求218后,内容平台/服务器106可以验证设备可信赖性服务器110针对加密证明令牌和请求时间戳的数字摘要的数字签名(以与上面参考中继服务器108验证签名所描述的方式相同的方式)。
85.如果数字签名未经验证,那么内容平台/服务器106不再进一步处理请求218并且确定中继服务器108和/或客户端设备102已经发生故障或不可信赖或被损坏。在一些实施方式中,内容平台/服务器106进一步验证如请求时间戳所指示的请求的新鲜度。此外,内容平台/服务器以与上面参考中继服务器108验证签名所描述的方式相同的方式通过重新计算加密证明令牌和请求时间戳的数字摘要并且将该数字摘要与在请求中接收到的数字摘要进行匹配来验证请求。不匹配指示请求无效。
86.另一方面,如果验证了数字签名和请求(例如基于上述相同验证和数字摘要比较),那么内容平台/服务器106确定客户端设备102是可信赖的。在这种情况下,内容平台/服务器106确定内容平台/服务器106是否包括对应于客户端设备102的唯一设备标识符(例如设备的公钥)的用户信息。
87.要注意,在中继服务器108仅向内容平台/服务器106提供加密证明令牌和请求时间戳的数字摘要的实施方式中,内容平台/服务器106无法访问设备的唯一标识符(例如设备的公钥),该唯一标识符包括在证明令牌(或另一数字令牌)中。在此类实施方式中,内容平台/服务器106包括存储查找表(或另一适当的数据结构)的存储设备,该查找表维护设备唯一标识符(deviceid)与hmac值(或使用另一prf生成的其它数字摘要值)之间的相关性,该hmac值是针对设备的唯一标识符和另一hmac计算的,其中另一hmac针对当前日期和数据字符串短语(诸如“挑战”的短语),(即,使用与上面参考请求218描述的参数相同的参数且基于与上面参考请求218描述的计算相同的计算)。换句话说,所得hmac计算类似于为获得以上请求218中的数据项(4)而执行的hmac计算:
88.hmac(deviceid,hmac(current_date,“挑战”)
89.如上所述,以上计算可以以替代方式计算或可以使用除了hmac以外的另一密码伪随机函数来计算。
90.因为在计算hmac值时将“current_date”用作参数,所以内容平台/服务器106每天
使用当天的当前日期来更新查找表224中的所计算的hmac值。因此,如果中继服务器108发送使用除了当前日期以外的日期计算出的所计算的hmac值,那么将不会在查找表中找到hmac,并且内容平台/服务器106将不会对接收到的请求218执行任何进一步处理。
91.在操作中,内容平台/服务器106将在请求218中所包括的数据集中接收到的hmac值与存储在查找表中的hmac值进行比较。如果未找到精确匹配,那么内容平台/服务器106确定其无法执行对控制用户信息的请求218。例如,如果内容平台/服务器106不包括特定设备标识符的用户信息、如果中继服务器108发送不正确的hmac或发送使用除了当前日期以外的日期的过时的hmac(指示例如中继服务器108已经发生故障或已经被恶意实体损坏)或客户端设备102发送过时或不正确的hmac(指示例如客户端设备102已经发生故障或已经被恶意实体损坏),那么可能会出现这种场景。
92.另一方面,如果基于在请求218中所包括的数据集中接收到的hmac值与存储在查找表224中的hmac值之间的比较找到了精确匹配,那么内容平台/服务器106从查找表224的deviceid字段中检索对应设备标识符。使用检索到的设备标识符,内容平台/服务器106以与客户端设备在发出请求212之前生成秘密密钥(如上所述)相同的方式生成秘密密钥。具体地,内容平台/服务器106使用设备标识符和hmac来生成秘密密钥,hmac是当前日期以及用于在客户端设备处生成秘密密钥的相同数据字符串(例如,短语“加密”)的hmac。可以使用以下操作来表示由内容平台/服务器106生成秘密密钥:
93.hmac(deviceid,hmac(current_date,“加密”)
94.如上所述,以上计算可以以替代方式计算或可以使用除了hmac以外的另一密码伪随机函数来计算。
95.以这种方式,客户端设备102和内容平台/服务器106不需要交换将在证明令牌的加密/解密中使用的秘密密钥。即,只要客户端设备102和内容平台/服务器106各自使用相同的参数(例如,当前日期、相同的数据字符串和deviceid)和相同的计算/公式/函数,客户端设备102和内容平台/服务器106就可以各自计算相同的秘密密钥。此外,该秘密密钥是临时的,因为秘密密钥仅对当前日期有效。该临时的秘密密钥也是用于一个单一目的。单一目的临时秘密密钥不太可能被用作对应于客户端设备的标识符和/或对应于该设备的任何数据。换句话说,如果秘密密钥不是在当前日期生成的,那么内容平台/服务器106将不能在当前日期对加密证明令牌进行解密。以这种方式,内容平台/服务器106可以确保请求218(以及包括在其中的加密证明令牌)是新的(当前的)并且不是回复攻击的主题,借由回复攻击过时的(但有效的)加密证明令牌被提供给内容平台/服务器106。
96.使用该生成的秘密密钥,内容平台/服务器106对它在来自中继服务器108的请求218中接收的加密证明令牌进行解密。这使得获得解密的明文证明令牌。
97.内容平台/服务器106可以进一步通过验证包括在证明令牌中的数字签名来验证证明令牌。为了验证包括在证明令牌中的数字签名,内容平台/服务器106使用设备的公钥来验证利用包括在证明令牌中的对应数据项来保护证明令牌的内容(例如,设备标识符、请求时间戳、请求范围和设备可信赖性令牌(当可用时))的数字签名。
98.如果数字签名是无效的,那么内容平台/提供商106确定证明令牌是无效的(这可以进一步指示中继服务器108和/或客户端设备102发生故障或已经被损坏)。在这种场景中,内容平台/服务器106忽略请求218并且不再进一步处理它。在一些实施方式中,内容平
台/服务器106向中继服务器108发送声明请求218未被完成的响应。
99.另一方面,如果数字签名有效,则内容平台/提供商106确定证明令牌有效。在这种场景中,内容平台/服务器106可以执行进一步的验证,以验证内容平台/服务器106要完成对控制信息的请求。为了执行该验证,内容平台/服务器106获得包括在证明令牌(或其它数字令牌)中的请求的范围的值。如果请求的范围标识特定内容平台/服务器106,那么该内容平台/服务器106确定它必须执行如证明令牌(或其它数字令牌)中指定的对控制信息的请求。类似地,如果请求的范围声明该请求是全局的(即,它必须由中继服务器108与之通信的内容平台/服务器106来执行),那么特定内容平台/服务器106确定它必须执行如证明令牌(或其它数字令牌)中指定的对控制信息的请求。另一方面,如果请求不标识特定内容平台/服务器106并且不是全局的,那么内容平台106确定它不需要不执行所请求的动作来控制对应于客户端设备102的用户信息。
100.如果内容平台/服务器106确定它必须执行对控制信息的请求,那么内容平台/服务器106获得如在证明令牌的有效载荷中所指定的要执行的动作类型,并且对存储在内容平台106处的对应于客户端设备102的用户信息执行适当的动作。
101.例如,如果请求指定删除用户信息的全部或部分,那么内容平台/服务器106删除用户信息的全部或部分。作为另一示例,如果请求指定修改客户端设备102对用户信息的访问,那么内容平台/服务器106调整用户信息的访问设置,并且将访问限制为仅针对客户端设备102的请求中指定的那些实体。作为另一示例,如果请求指定阻止用户信息发送给除了客户端设备102的用户以外的任何实体,那么内容平台/服务器106调整用户信息的访问设置,并且包括特定控制指令以及阻止内容平台/服务器106将用户信息发送给除了用户以外的任何实体的用户信息。
102.在内容平台/服务器106执行指定动作之后(或在内容平台/服务器106确定它不需要完成请求之后),它向中继服务器108提供响应220,声明是否完成请求。
103.在接收到响应220时,中继服务器108将该响应220作为响应222的一部分转发到客户端设备102。在一些实施方式中,中继服务器108合并来自各种内容平台/服务器106的响应220,并且向客户端设备102提供合并的响应222。在一些实施方式中,中继服务器108将来自各种内容平台/服务器106的响应220中的每一个作为单独的响应222在自组基础上(即,在接收到这些响应时)发送到客户端设备102。
104.因此,鉴于以上描述,客户端设备102不需要向多个内容平台/服务器106发送单独的控制用户信息的请求。相反,客户端设备102可以向中继服务器108发送单个请求216,中继服务器108将请求发送给各种内容平台/服务器106。以这种方式,节省了在生成和发送多个此类请求(其可以是几十万或几百万个)时客户端设备102将以其它方式消耗的计算资源(例如,电池、网络带宽)。此外,通过验证设备的可信赖性并且验证在中继服务器108处接收到的请求,上述技术防止对中继服务器的攻击(例如dos攻击)被传播到各种内容平台/服务器106,或者或至少降低了其可能性。并且,如上面进一步描述,到中继服务器108、设备可信赖性服务器110和内容平台/服务器106的所有通信屏蔽了包括在这些通信中的数据,因此保护了包括在这些通信中的设备信息的隐私。
105.图3是用于发送和处理从客户端设备102到多个服务器的对控制用户信息的请求的示例过程300的流程图。过程300的操作在下面描述为由图1和图2中描述和描绘的系统的
组件执行。下面仅出于说明的目的描述过程300的操作。过程300的操作可以由任何适当的设备或系统(例如,任何适当的数据处理装置)来执行。过程300的操作还可以被实施为存储在可以是非暂时性的计算机可读介质上的指令。指令的执行使得一个或多个数据处理装置执行过程300的操作。
106.客户端设备102将对验证客户端设备102的可信赖性的请求发送给设备可信赖性服务器110(在305处)。在一些实施方式中(并且如参考图2所描述),对验证客户端设备的可信赖性的请求包括第一数据集,该第一数据集包括:(1)设备可信赖性数据,从该设备可信赖性数据确定客户端设备的可信赖性;以及(2)使用加密的数字令牌和第一数据参数生成的第三mac,该第一数据参数可以是指示创建数字令牌的时间的时间戳(如在下一段中所描述):hmac(encrypted_digital_token,request_timestamp)。
107.在一些实施方式中,客户端设备102使用以下操作来生成加密的数字令牌(如以上参考图2所描述的以及在下面概述的)。首先,客户端设备102生成数字令牌。如以上参考图2所描述,该数字令牌可以是证明令牌,该证明令牌包括:(1)客户端设备的设备标识符;(2)第一数据参数,其可以是指定创建数字令牌的时间的时间戳;(3)指定要针对存储在多个服务器处的用户信息采取的动作类型的指令(例如,删除用户信息、阻止该信息的传输、修改谁可以访问该信息、请求公开所收集到的用户信息、请求导出所收集到的用户信息或关于用户信息的其它请求);以及(4)标识多个服务器的数据(例如,多个服务器的域的特定标识或将请求发送给中继服务器108与之通信的服务器的全局指令)。在一些实施方式中(并且如上参考图2所描述),证明令牌还可以包括先前由设备可信赖性服务器生成并且提供给客户端设备102的设备可信赖性令牌。
108.其次,客户端设备102使用对称加密算法使用加密密钥来对数字令牌进行加密,以获得加密的数字令牌。在一些实施方式中,对称加密算法是概率性的。在一些实施方式中(并且如上参考图2所描述),客户端设备102通过以下各项来生成加密密钥:(1)使用当前日期和第一数据字符串(例如,短语“加密”)计算第一mac和(2)使用设备标识符和第一mac生成第二mac。生成对称加密密钥的操作可以使用以下公式表示:
109.hmac(deviceid,hmac(current_date,“加密”)
110.如上参考图2所描述,以上计算可以以替代方式计算或可以使用除了hmac以外的另一密码伪随机函数来计算。
111.因此,在一些实施方式中,客户端设备102向设备可信赖性服务器110发送对验证客户端设备102的可信赖性的请求,并且该请求包括如上所述的第一数据集。
112.如上参考图2所描述,客户端设备102的mac生成器208生成用于不同数据集的消息认证码(mac)。在一些实施方式中,mac生成器208使用mac算法(其是一种密码伪随机函数)来生成基于散列的消息认证码(hmac),该基于散列的消息认证码也称为密钥散列消息认证码。在此类实施方式中,mac生成器208为不同的数据/参数集生成hmac(例如使用hmac sha256算法)。在一些实施方式中,代替使用hmac或另一mac算法,mac生成器208使用另一适当的密码伪随机函数(prf),该密码伪随机函数使用由mac生成器208在生成下文描述的各种数字摘要中另外使用的参数。为了便于参考,对于图3的示例过程300的描述的其余部分,将假设客户端设备102的mac生成器208生成mac或hmac;然而,应了解,下文描述的相同函数/计算可以替代地使用另一适当的密码prf来执行。
113.在确定客户端设备102是否可信赖中,设备可信赖性服务器110使用包括在请求中的设备可信赖性数据来验证设备的可信赖性。设备可信赖性服务器110将指示客户端设备可信赖的数据发送给客户端设备102。
114.由客户端设备102从设备可信赖性服务器接收指示客户端设备可信赖的数据(在310处)。在一些实施方式中(并且如上参考图2所描述),设备可信赖性服务器110通过使用设备可信赖性服务器110的私钥对设备使用加密数字令牌和第一数据参数生成的第三mac值进行数字签名来指示客户端设备102是可信赖的。因为第三mac由设备可信赖性服务器110数字签名,所以客户端设备102不能修改来自设备可信赖性服务器110的响应。在一些情况下,代替通过对第三mac进行数字签名来指示可信赖性,设备可信赖性服务器110可以使用标记(例如一位标记,其中0指示不可信赖,而1指示可信赖)或其它数据(例如数据消息,其中“trust”指示设备可信赖,而“don't trust”指示设备不可信赖)来指示设备的可信赖性。对于过程300的其余部分,假设设备可信赖性服务器110通过对第三mac进行数字签名来指示设备的可信赖性。
115.响应于接收到指示客户端设备可信赖的数据,客户端设备102向中继服务器108发送对控制存储在多个服务器处的用户信息的请求(在315处)。对控制用户信息的请求指定要由服务器关于用户信息执行的动作。例如,要由服务器执行的动作可以包括:(1)删除存储在服务器处的用户信息;(2)请求不将存储在服务器处的用户信息发送或提供给任何其它实体;(3)使得一个或多个实体能够访问存储在服务器处的用户信息;或(4)由客户端设备请求的关于存储在服务器处的用户信息的另一适当动作。
116.在一些实施方式中,对控制用户信息的请求包括第二数据集,该第二数据集包括:(1)指示客户端设备可信赖的数据(如在操作310中从设备可信赖性服务器110接收的);(2)先前由客户端设备102生成的加密数字令牌;(3)包括在数字令牌中的第一数据参数;(4)标识多个服务器的数据,关于用户信息的适当动作要在多个服务器处执行;以及(5)使用设备标识符、第二数据参数(例如,当前日期)和第三数据参数生成的第四mac,该第三数据参数可以是数据字符串(例如,短语“挑战”)。第四mac可以使用以下公式来表示:
117.hmac(deviceid,hmac(current_date,“挑战”)
118.如上参考图2所描述,以上计算可以以替代方式计算或可以使用除了hmac以外的另一密码伪随机函数来计算。
119.如参考图2所述,一旦接收到来自客户端设备102的请求,中继服务器108就验证该请求。响应于验证来自客户端设备102的请求,中继服务器108将对控制用户信息的请求发送给在来自客户端设备102的请求中指定的各种服务器(如参考图2所述)。
120.如参考图2所述,一旦从中继服务器108接收到请求,服务器就验证该请求。如果服务器确定请求有效,那么服务器执行在对控制存储在服务器处的用户信息的请求中指定的动作(如参考图2所述)。另一方面,如果服务器确定请求无效,那么服务器不执行在对控制存储在服务器处的用户信息的请求中指定的动作(如参考图2所述)。服务器向中继服务器108发送响应,从而指定服务器是否完成请求(如参考图2所述)。
121.客户端设备102经由中继服务器接收来自多个服务器中的每一个的响应(在320处)。在一些实施方式中,并且如上参考图2所述,一旦从各种服务器接收到响应,中继服务器就将这些响应发送给客户端设备102。客户端设备102又从中继服务器108接收这些发送
的响应(如参考图2所述)。
122.基于在操作320由客户端设备102接收到的响应,客户端设备102确定包括用户信息的多个服务器的至少一个子集已经执行在对控制用户信息的请求中指定的动作(在325处)。在一些实施方式中,客户端设备102处理接收到的响应以确定相应的服务器是否完成请求。如果服务器响应其完成了请求,那么客户端设备102确定该服务器存储了用户信息,并且该服务器执行了在操作315中的客户端设备对控制用户信息的请求中指定的动作。
123.因此,以这种方式,客户端设备102对控制存储在多个服务器处的用户信息的请求被生成并且发送给存储该信息的多个服务器,并且由这些服务器处理和完成。
124.图4是可以用于执行上述操作的示例计算机系统400的框图。系统400包括处理器410、存储器420、存储设备430和输入/输出设备440。组件410、420、430和440中的每一个可以例如使用系统总线450互连。处理器410能够处理用于在系统400内执行的指令。在一些实施方式中,处理器410是单线程处理器。在另一实施方式中,处理器410是多线程处理器。处理器410能够处理存储在存储器420中或存储设备430上的指令。
125.存储器420存储系统400内的信息。在一个实施方式中,存储器420是计算机可读介质。在一些实施方式中,存储器420是易失性存储器单元。在另一实施方式中,存储器420是非易失性存储器单元。
126.存储设备430能够为系统400提供大容量存储。在一些实施方式中,存储设备430是计算机可读介质。在各种不同的实施方式中,存储设备430可以包括例如硬盘设备、光盘设备、由多个计算设备(例如云存储设备)通过网络共享的存储设备或一些其他大容量存储设备。
127.输入/输出设备440为系统400提供输入/输出操作。在一些实施方式中,输入/输出设备440可以包括例如以太网卡的网络接口设备、例如rs-232端口的串行通信设备和/或例如802.11卡的无线接口设备中的一个或多个。在另一实施方式中,输入/输出设备可以包括配置为接收输入数据并且将输出数据发送给外围设备460(例如,键盘、打印机和显示设备)的驱动器设备。然而,也可以使用其它实施方式,诸如移动计算设备、移动通信设备、机顶盒电视客户端设备等。
128.尽管在图4中描述了示例处理系统,但是本说明书中描述的主题和功能操作的实施方式可以在其他类型的数字电子电路系统中或在计算机软件、固件或硬件中实施,包括本说明书中公开的结构及其结构等同物或它们中的一个或多个的组合。
129.本说明书中描述的主题和操作的实施例可以在数字电子电路系统中或在计算机软件、固件或硬件中实施,包括本说明书中公开的结构及其结构等同物或它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实施为一个或多个计算机程序,即,在(一种或多种)计算机存储介质上编码的计算机程序指令的一个或多个模块,以用于由数据处理装置执行或控制数据处理装置的操作。替代地或此外,程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,该信号被生成以对信息进行编码,以供传输给适合的接收器装置以供数据处理装置执行。计算机存储介质可以是计算机可读存储设备、计算机可读存储衬底、随机或串行访问存储器阵列或设备或它们中的一个或多个的组合或包括在其中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是在人工生成的传播信号中编码的计算机程序指令的源或目的地。计算机存储介质也可以
是一个或多个单独物理组件或介质(例如,多个cd、盘或其它存储设备)或包括在其中。
130.本说明书中描述的操作可以被实施为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其它源接收到的数据执行的操作。
131.术语“数据处理装置”涵盖用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机、片上系统或前述中的多个或其组合。装置可以包括专用逻辑电路系统,例如fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。装置和执行环境可以实现各种不同的计算模型基础结构,诸如web服务、分布式计算和网格计算基础结构。
132.计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言来编写,包括编译或解释语言、说明性或过程性语言,并且其可以以任何形式来部署,包括作为独立程序或作为模块、组件、子例程、对象或适用于计算环境中的其它单元。计算机程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于所讨论的程序的单个文件中或多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。可以部署计算机程序以在位于一个站点或跨多个站点分布并且通过通信网络互连的一个计算机或多个计算机上执行。
133.本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器来执行,以通过对输入数据进行操作并且生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路系统执行,并且装置也可以实施为专用逻辑电路系统,例如fpga(现场可编程门阵列)或asic(专用集成电路)。
134.例如,适于执行计算机程序的处理器包括通用和专用微处理器两者。通常,处理器将从只读存储器或随机访问存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如磁盘、磁光盘或光盘,或还将可操作地耦接以从一个或多个用于存储数据的大容量存储设备接收数据或将数据传送给一个或多个用于存储数据的大容量存储设备或两者。然而,计算机不必具有此类设备。此外,计算机可嵌入在另一设备中,例如移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏控制台、全球定位系统(gps)接收器或便携式存储设备(例如通用串行总线(usb)闪存驱动器),仅举几个例子。适于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及cd-rom和dvd-rom盘。处理器和存储器可由专用逻辑电路系统补充或并入专用逻辑电路系统中。
135.为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实施,该计算机具有用于向用户显示信息的显示设备,例如crt(阴极射线管)或lcd(液晶显示器)监视器,以及用户可以通过其向计算机提供输入的键盘和指向设备,例如鼠标或跟踪球。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输
入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收到的请求向用户的客户端设备上的web浏览器发送网页。
136.本说明书中描述的主题的实施例可以在计算系统中实施,该计算系统包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或包括前端组件(例如,具有图形用户界面或web浏览器的客户端计算机,用户可以通过该图形用户界面或web浏览器与本说明书中描述的主题的实施方式进行交互)或一个或多个此类后端组件、中间件组件或前端组件的任何组合。系统的组件可以以任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、网络间(例如因特网)和对等网络(例如自组对等网络)。
137.计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是由于在相应计算机上运行的并且彼此具有客户端-服务器关系的计算机程序而产生的。在一些实施例中,服务器将数据(例如,html页面)发送给客户端设备(例如,为了向与客户端设备交互的用户显示数据和从与客户端设备交互的用户接收用户输入)。可以在服务器处从客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。
138.虽然本说明书包含许多特定的实施细节,但这些细节不应解释为对任何发明或可能要求保护的范围的限制,而是解释为对特定发明的特定实施例所特有的特征的描述。在本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或以任何适合的子组合来实施。此外,尽管特征可在上文被描述为在某些组合中起作用并且甚至最初被如此要求保护,但来自所要求保护的组合的一个或多个特征在一些情况下可从组合中删除,并且要求保护的组合可涉及子组合或子组合的变化。
139.类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求以所示的特定顺序或以依序顺序执行这些操作,或执行所有说明的操作,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要此分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或封装到多个软件产品中。
140.因此,已经描述了本主题的特定实施例。其它实施例在以下权利要求书的范围内。在一些情况下,权利要求书中所述的动作可以以不同的顺序执行并且仍然实现期望的结果。此外,附图中描绘的过程不一定需要所示的特定顺序或依序顺序来实现期望的结果。在某些实施方式中,多任务和并行处理可能是有利的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献