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

在私人群组中进行委外取幂的制作方法

2022-03-02 01:35:28 来源:中国专利 TAG:


1.本公开涉及在私人群组中进行委外取幂。


背景技术:

2.私人信息检索(pir)方案允许用户从一个或多个存储设备检索数据,同时不向托管一个或多个存储设备的服务器透露关于用户或所检索的数据的任何知识。对于pir,服务器存储设备通常不受保护,并且私人信息是从公共存储设备或具有订户群组(所有订户都被准许从整个存储设备下载数据)的服务器存储设备检索的。虽然用户可以简单地从服务器存储设备下载所有内容以使访问模式不被透露,但是当必须从跨越多个存储设备的云存储服务下载所有内容时,这会花费太长时间。此外,传统的pir方案消耗大量带宽或者要求大量计算。


技术实现要素:

3.本公开的一个方面提供了一种用于在私人群组中进行委外取幂的方法。该方法包括在客户端设备的数据处理硬件处执行查询指令,以通过选择与被存储在不信任的服务器上的查询元素相关联的模数的质数因式分解来检索被存储在不信任的服务器上的查询元素。质数因式分解包括两个或更多个质数。该方法还包括获得被配置为生成质数因式分解的两个或更多个质数中的相应的一个质数的群组元素,并且使用模数的质数因式分解和群组元素来生成一系列底数值。该方法还包括将该些列底数值从客户端设备传输至不信任的服务器。不信任的服务器被配置为使用该一系列底数值来确定群组元素的用被存储在不信任的服务器上的指数的取幂。该方法还包括在数据处理硬件处接收来自不信任的服务器的结果。该结果基于群组元素的用被存储在不信任的服务器上的指数的取幂。
4.本公开的实施方式可以包括以下可选特征中的一个或多个特征。在一些实施方式中,生成一系列底数值包括使用模数的质数因式分解和群组元素来生成一系列初始底数值,并且将该一系列初始底数值中的每个初始底数值模数约化以生成一系列经模数约化的底数值。每个经模数约化的底数值包括被模数约化的该一系列初始底数值中的相应的初始底数值。在一些示例中,将该一系列底数值传输至不信任的服务器包括将该一系列经模数约化的底数值传输至不信任的服务器。不信任的服务器被配置为使用该一系列经模数约化的底数值来确定群组元素的用被存储在不信任的服务器上的指数的取幂。
5.在一些实施方式中,将该一系列底数值传输至不信任的服务器进一步包括将模数传输至不信任的服务器。不信任的服务器可以被配置为使用该一系列底数值来确定群组元素的用被存储在不信任的服务器上的指数的取幂。不信任的服务器还可以被配置为通过将群组元素的用指数的取幂模数约化来生成结果,并且将该结果传输至客户端设备。在一些示例中,该方法进一步包括当该结果包括群组元素的用指数的取幂时,由数据处理硬件将该结果模数约化。
6.可选地,生成该一系列底数值包括获得表示被存储在不信任的服务器上的指数的
数字位置系统,并且基于群组元素的被与数字位置系统中的数位位置相对应的相应的底数元素的取幂来生成该一系列底数值中的每个底数值。在一些示例中,表示被存储在不信任的服务器上的指数的数字位置系统由客户端设备或不信任的服务器基于针对客户端设备与不信任的服务器之间的通信的带宽限制来选择。该数字位置系统可以包括二进制、十六进制或十进制中的一个。
7.在一些实施方式中,获得表示被存储在不信任的服务器上的指数的数字位置系统进一步包括获得针对由数字位置系统表示的指数的数位的数目。针对指数的数位的数目等于由所执行的查询指令生成的该一系列底数值中的底数值的数目。不信任的服务器可以被配置为通过以下操作来确定群组元素的用被存储在不信任的服务器上的指数的取幂:对于从客户端设备接收的一系列底数值中的每个底数值,确定底数值的用指数的相应的数位位置处的值的取幂,并且将底数值的用指数的相应的数位位置处的值的取幂一起相乘。该结果可能与所查询的元素相关联,并且在一些示例中,客户端设备绝不会向不信任的服务器透露模数的质数因式分解。
8.本公开的另一个方面提供了一种用于在私有群组中进行委外取幂的系统。该系统包括客户端设备的数据处理硬件和与该数据处理硬件通信的存储器硬件。存储器硬件存储指令,当这些指令在数据处理硬件上被执行时,使得数据处理硬件执行操作。该操作包括执行查询指令,以通过选择与被存储在不信任的服务器上的查询元素相关联的模数的质数因式分解来检索被存储在不信任的服务器上的查询元素。质数因式分解包括两个或更多个质数。该操作还包括获得被配置为生成质数因式分解的两个或更多个质数中的相应的一个质数的群组元素,并且使用模数的质数因式分解和群组元素来生成一系列底数值。该操作还包括将该些列底数值从客户端设备传输至不信任的服务器。不信任的服务器被配置为使用该一系列底数值来确定群组元素的用被存储在不信任的服务器上的指数的取幂。该操作还包括接收来自不信任的服务器的结果。该结果基于群组元素的用被存储在不信任的服务器上的指数的取幂。
9.这个方面可以包括以下可选特征中的一个或多个特征。在一些实施方式中,生成一系列底数值包括使用模数的质数因式分解和群组元素来生成一系列初始底数值,并且将该一系列初始底数值中的每个初始底数值模数约化以生成一系列经模数约化的底数值。每个经模数约化的底数值包括被模数约化的该一系列初始底数值中的相应的初始底数值。在一些示例中,将该一系列底数值传输至不信任的服务器包括将该一系列经模数约化的底数值传输至不信任的服务器。不信任的服务器被配置为使用该一系列经模数约化的底数值来确定群组元素的用被存储在不信任的服务器上的指数的取幂。
10.在一些实施方式中,将该一系列底数值传输至不信任的服务器进一步包括将模数传输至不信任的服务器。不信任的服务器可以被配置为使用该一系列底数值来确定群组元素的用被存储在不信任的服务器上的指数的取幂。不信任的服务器还可以被配置为通过将群组元素的用指数的取幂模数约化来生成结果,并且将该结果传输至客户端设备。在一些示例中,该操作进一步包括当该结果包括群组元素的用指数的取幂时,将该结果模数约化。
11.可选地,生成该一系列底数值包括获得表示被存储在不信任的服务器上的指数的数字位置系统,并且基于群组元素的被与数字位置系统中的数位位置相对应的相应的底数元素的取幂来生成该一系列底数值中的每个底数值。在一些示例中,表示被存储在不信任
的服务器上的指数的数字位置系统由客户端设备或不信任的服务器基于针对客户端设备与不信任的服务器之间的通信的带宽限制来选择。该数字位置系统可以包括二进制、十六进制或十进制中的一个。
12.在一些实施方式中,获得表示被存储在不信任的服务器上的指数的数字位置系统进一步包括获得针对由数字位置系统表示的指数的数位的数目。针对指数的数位的数目等于由所执行的查询指令生成的该一系列底数值中的底数值的数目。不信任的服务器可以被配置为通过以下操作来确定群组元素的用被存储在不信任的服务器上的指数的取幂:对于从客户端设备接收的一系列底数值中的每个底数值,确定底数值的用指数的相应的数位位置处的值的取幂,并且将底数值的用指数的相应的数位位置处的值的取幂一起相乘。该结果可能与所查询的元素相关联,并且在一些示例中,客户端设备绝不会向不信任的服务器透露模数的质数因式分解。
13.本公开的一个或多个实施方式的细节将在附图和以下描述中进行阐述。从描述和图中,并且从权利要求书中,其他方面、特征和优点将变得显而易见。
附图说明
14.图1是示例私人信息检索系统的示意图,当不被察觉地访问被存储在分布式系统的非暂时性数据存储上的数据块时,该私人信息检索系统委外进行取幂。
15.图2是图1的系统的示例性选择器的示意图。
16.图3是图1的系统的组件和示例性位置数字系统的示意图。
17.图4是用于生成一系列底数值的示例操作的流程图。
18.图5是用于在私人群组中进行委外取幂的方法的操作的示例安排的流程图。
19.图6是可以用来实施本文描述的系统和方法的示例性计算设备的示意图。
20.各个图中相同的参考符号指示相同的元件。
具体实施方式
21.取幂是底数与指数之间常见的数学运算,其中取幂对应于底数的重复相乘。取幂广泛用在许多领域,诸如生物学、物理学和计算机科学。然而,由于取幂的超线性性质,计算极大的指数是很困难的。也就是说,随着指数的增长,原始计算难度以比线性更快的速度增大。然而,有一些方法可以降低计算大的取幂的结果的难度。例如,当指数的因数已知时,所谓的“指数的幂规则”明显地减少了计算。
22.然而,整数因式分解也是已知的难题。事实上,对于足够大的整数,没有有效的、已知的因式分解方法。这个难题形成了许多现代密码学的基础。例如,两个大的质数可以被保密(例如,私钥),而两个大的质数一起相乘可以被共享(例如,公钥),而不透露秘密质数。
23.取幂和质数因式分解还可以在私人信息检索(pir)方案中发挥重要作用。pir方案允许用户从一个或多个存储设备检索数据,同时不向托管一个或多个存储设备的服务器透露关于用户或所检索的数据的任何知识。例如,服务器可以存储相等长度的n个块b1、
……
、bn的公共数据库。用户希望下载块bi。出于隐私原因,用户不想向服务器(或任何其他人)透露所下载的数据块的索引。也就是说,用户期望不被察觉地检索所选择的数据块。这个难题的一个解决方案是让客户端下载整个数据库。虽然有效,但带宽成本使这种解决方案对于
任何大体量数据库都不可行。
24.另一种途径是使用取幂。例如,服务器可以将数据库表示为整数指数e。取决于数据库的大小,e可能相当大(例如,数千或数百万数位)。客户端获得由与不信任的服务器上的数据块(例如,存储在其上的查询元素)相关联的模数m表示的群组g。客户端可以选择群组元素g,其中g与被存储在服务器上的客户端想要下载的数据块(例如,查询元素)相关联。客户端期望解决ge mod m,因为客户端可以使用结果以不被察觉地检索所选择的数据块。客户端已知m的质数因式分解,但期望将质数因式分解保密。
25.在这种情况下,客户端可以仅仅将g和m发送至服务器,并且允许服务器计算ge mod m。然而,如前所讨论,取幂是超线性难题,并且在指数e(即,数据库的大小)足够大的情况下,计算要求过高。服务器可以用模数的质数因数的知识(例如,通过使用费马小定理)大大地简化计算,但是客户端期望将质数因数保密。因此,有利的是,客户端使用质数因式分解来执行高效计算,然后将剩余的取幂委外给服务器,以避免传输整个数据库(即,指数)的带宽成本和服务器在不访问模数的质数因式分解的情况下执行全取幂的计算成本。
26.本文中的实施方式针对在不透露模数的质数因式分解的情况下用于在私人群组中进行委外取幂的例程。该例程通过让客户端使用模数的秘密质数因式分解来执行有效的取幂,以在不使用服务器保存的指数的情况下生成一系列底数值,从而允许带宽与计算之间的实际平衡。客户端将一系列底数值发送至服务器,以用于在不提供质数因式分解的情况下用服务器保存的指数进行进一步的计算。
27.参考图1,在一些实施中,示例系统100包括与相应的用户或客户端12相关联并且经由网络112与远程系统111(在本文中也被称为服务器或不信任的服务器)通信的用户设备10(也被称为客户端设备10)。用户设备10可以对应于任何计算设备,诸如台式工作站、膝上型工作站或移动设备(即,智能电话)。远程系统111可以是单个计算机、多个计算机或具有可扩展/弹性计算资源118(例如,数据处理硬件)和/或存储资源116(例如,存储器硬件)的分布式系统(例如,云环境)。不信任的数据存储区150(例如,“不信任的存储设备”或“不信任的服务器”)覆盖在存储资源116上,以允许一个或多个客户端或计算资源118可扩展地使用存储资源116。不信任的数据存储区150被配置为存储可供客户端设备10下载的复数个数据块152、152a-n。
28.例如,不信任的数据存储区150包括众所周知且未加密的n个数据块(b)152,并且允许一个或多个客户端设备10使用pir用于不被察觉地检索数据块(b)152以隐藏访问模式,同时保留客户端设备10对数据块(b)152的搜索功能。因此,在一些配置中,客户端设备10可能不拥有数据块152,并且数据块152的内容对公众可用。替代地,数据块152对特定客户端12可以是私人的,但是客户端12仍然期望对不信任的数据存储区150隐藏访问模式。数据块152可以由整数来表示。也就是说,不信任的数据存储区150或服务器111可以处理每个数据块152以生成表示所有数据块152的单个整数。例如,服务器111可以使用中国剩余定理以用不同的小质数对每个数据块152进行编码。
29.与客户端12相关联的客户端设备10(例如,计算机)可以包括相关联的存储器硬件122和相关联的数据处理硬件124。每个客户端设备10可以利用相关联的存储器硬件122来保存或存储查询指令130、由模数(m)134表示的群组(g)132、位置底数(b)136和位置计数(m)138。在一些示例中,数据处理硬件124执行生成器160,以用于生成发布给远程系统111
(在本文中也可以被称为在不信任的环境中执行的服务器)的一系列底数值162。
30.在一些示例中,生成器160执行查询指令130以检索被存储在不信任的数据存储区150上的查询元素(即,数据块(b)152)。为此,生成器160获得或接收或生成与被存储在不信任的数据存储区150上的查询元素150相关联的模数(m)134。模数134是两个或更多个质数135的乘积。质数135由用户设备10来选择,并且可以形成私钥的基础。因此,质数135对所有其他方(包括服务器111)保密。生成器160还获得或接收或生成包括一个或多个群组元素(g)133的群组(g)132。群组132由模数134来表示,并且群组132的每个群组元素133是质数135的子群组的生成器。
31.现参考图2,在一些实施方式中,数据处理硬件122执行接收查询指令130的选择器200。查询指令130包括一个或多个数据块选择131。每个数据块选择131对应于要从不信任的数据存储区150中不被察觉地检索的数据块152(例如,查询元素)。选择器200与被存储在服务器111(例如,存储器硬件116)处的数据块质数数据存储区210通信。在一些示例中,数据块质数数据存储区210存储与被存储在不信任的数据存储区150上的每个数据块152相关联的相应的数据块质数220。也就是说,数据块质数存储区210可以提供与要从数据存储区150检索的数据块152相对应的数据块质数220。选择器200可以使用来自查询指令130的数据块选择131来获得与同数据块选择131相关联的数据块152相对应的数据块质数220。使用所获得的数据块质数220,选择器200选择模数134的质数因式分解。质数因式分解包括两个或更多个质数135,并且至少一个质数135对应于数据块质数220。类似地,群组元素133是基于数据块选择131来选择的,使得模数134和群组元素133两者都与数据块质数220相关联,该数据块质数与要从不信任的数据存储区150检索的数据块152相关联。也就是说,群组元素133被配置为生成模数m 134的质数因式分解的相应的一个质数135。
32.回到图1,在一些实施方式中,生成器160还接收或确定位置底数(b)136。位置底数136是服务器保存的指数154的底数(也被称为根)。也就是说,指数154可以用大于或等于2(即二进制)的任何底数来表示,并且位置底数136由客户端设备10或服务器111选择来表示指数154。在一些示例中,位置底数136由用户12来选择,而在其他示例中,用户设备10自动地确定位置底数136。在附加的示例中,服务器确定位置底数136并且将其转发给客户端设备10。除了位置底数136之外,生成器160可以接收位置计数138。如下文更详细描述的,位置计数138表示用位置底数136表示指数154所要求的数位212的数目(图2)。
33.生成器160使用质数因数135来生成一系列底数值162、162a-n。在一些示例中,每个底数值162是群组元素133的被位置底数136的取幂,该位置底数对应于位置数字系统中的数位位置的值。现参考图3,当位置底数136等于10(即,使用十进制位置数字系统)时,示例性指数154等于153,729。应当理解,可以选择任何位置数字系统(即,位置底数136)。例如,数字位置系统可以包括二进制、十六进制或十进制。虽然通常指数154极大,但是为了清楚起见,在示例中使用了小的数字。用所选择的位置底数136(在该例中为10)解释指数154的服务器111确定位置计数138。也就是说,服务器111确定用位置底数136表示指数154所要求的数位212的数目。在所示的示例中,指数154(即,153,729)可以用6个数位212以十进制(即,b=10)表示。因此,位置计数138等于6(以十进制)。不管所选择的位置底数136如何,指数都可以被表示为:
34.此处,以十进制(即位置底数等于10)的指数154被表示为9 (2*10) (7*100) (3*
1000) (5*10000) (1*100000),总计为153,729。现参考图4,等式(1)470允许ge被改写为:
35.如从等式(2)480显而易见的,可以在没有服务器保存的指数154的情况下计算ge的一部分。也就是说,生成器160可以生成一系列底数值162作为该一系列:
36.很明显,所选择的位置底数136影响一系列底数值162a-n中的底数值162的数目(即,变量m),因此,位置底数136直接影响传输一系列底数值162的通信成本。因为较大的位置底数136要求更难的计算,位置底数136的选择直接提供了通信成本与计算成本之间的折衷。在一些示例中,位置底数136(即,数字位置系统)由客户端设备10或服务器111基于针对客户端设备10与服务器111之间的通信的带宽限制来选择。在其他示例中,位置底数136被选择为表示所选择的位置数字系统中的指数154所要求的数位212的数目的大约一半。例如,当用位置底数5,000表示时,选择可能导致要求10,000个数位的指数154。
37.在一些实施方式中,服务器111将指数154的位置计数138传输至生成器160。生成器160可以使用位置计数138来确定要生成的底数值162的数目。在所示出的示例中,生成器160可以生成6个底数值162,因为值153,729用6个数位212表示。因为生成器160已经访问质数因数135,所以生成器160有效地生成一系列底数值162,而无需使用服务器保存的指数154(例如,使用费马小定理或其他技术,诸如欧拉定理、卡迈克尔定理或中国剩余定理)。生成器160可以将一系列底数值162传输至服务器111。
38.在一些实施中,一系列底数值162表示一系列初始底数值162a、162aa-an。也就是说,在一些示例中,生成器160使用模数134的质数因式分解和群组元素133来生成一系列初始底值162a。生成器160可以将每个初始底值162a模数约化134(即,通过以m为模)以生成一系列经模数约化的底数值162b、162ba-bn。因此,每个经模数约化的底数值162b包括被模数134约化的一系列初始底数值162a中的相应的初始底数值162a。代替一系列初始底数值162a,生成器160可以将一系列经模数约化的底数值162b传输至不信任的服务器111。也就是说,被发送至服务器111的一系列底数值162包括一系列初始底数值162a或一系列经模数约化的底数值162b。通过以m为模将初始数值162a减小明显地减小了被发送至服务器11的底数值162b的大小,因此明显地减小了将一系列底数值162b传输至服务器111所要求的带宽。因为模数运算在计算上比取幂更加容易,所以执行额外的模数运算可能是有利的。
39.回到图1,在一些实施方式中,服务器111执行指数乘法器170。指数乘法器170从客户端设备10(例如,生成器160)接收一系列底数值162,并且从不信任的数据存储区150接收指数154。可选地,客户端设备10还可以向服务器111提供群组元素133和/或模数134以供指数乘法器170在生成结果192时使用。在一些示例中,指数乘法器170(或在服务器111上执行的另一个模块)从不信任的数据存储区150的数据块152确定指数154。指数乘法器170使用客户端生成的一系列底数值162和指数154来计算ge。在一些示例中,服务器111通过以下操作来确定群组元素133的用被存储在不信任的服务器111上的指数154的取幂:对于一系列底数值162中的每个底值162,确定底数值162的用指数154的相应的数位位置处的值482(图4)的取幂,并且将底数值162的用指数154的相应的数位位置处的值482的取幂一起相乘以生成结果192。结果192与所查询的元素(即,由数据块选择131选择的数据块152)相关联。
40.因为服务器111现在可以将该计算归纳为将m个底数与m个指数相乘的标准问题,所以服务器111可以利用若干种算法来有效地确定结果192。例如,服务器111可以使用皮蓬格取幂算法或其他加法链取幂方法。在确定ge之后,服务器111可以将ge作为结果192发送
回用户设备10。可选地,服务器111可以通过以m为模(即,模数134)来将ge约化以生成结果192,因为这将明显地减小结果192的大小,并且如前所讨论,模数运算在计算上比取幂更加容易。结果192基于群组元素133的用被存储在不信任的数据存储区150上的指数154的取幂。也就是说,结果192对应于由数据块选择131选择的数据块152的值。
41.系统100通过向客户端设备10发送整个指数154来提供明显减小的带宽使用,因为系统仅传输m个指数,每个指数可以用log(m)位来表示。模数134(m)通常比指数154小得多,m*log(m)<e。附加地,系统100在完全计算群组元素133的取幂的服务器上提供了明显减少的计算,因为用户设备10利用了已知模数134的质数因式分解,这是绝不会被透露给不信任的服务器111或不信任的数据存储区150的。因此,系统通过将一个大问题(即,用非常大的指数的取幂)分割成几个较小的问题(即,较小的底数值162指数),系统100在客户端设备10绝不会向不信任的服务器111透露模数134的质数因式分解的情况下减少了计算的总成本(渐近的和具体的两者)。系统100提供了通信(例如,带宽)与计算的成本之间的平衡,并且允许用户设备10和服务器111两者高效地计算。例如,系统100可以使用计算和通信的标准成本来10倍到100倍之间地改进比较原始的途径(例如,传输全指数154或者允许服务器完全计算ge)。虽然本文的示例是针对pir,但是所描述的用于委外取幂的方法在许多其他领域(例如,区块链)可能是有利的。
42.图5是用于私有群组的委外取幂的示例方法500的流程图。方法500始于操作502,在客户端设备10的数据处理硬件122处执行查询指令130,以通过在操作504处选择与被存储在不信任的服务器111、150上的查询元素152相关联的模数134的质数因式分解来检索被存储在不信任的服务器111、150上的查询元素152。质数因式分解包括两个或更多个质数135。在操作506,方法500包括获得被配置为生成质数因式分解的两个或更多个质数135中的相应一个质数的群组元素133。在操作508,方法500包括使用模数134的质数因式分解和群组元素133来生成一系列底数值162,并且在操作510,将该一系列底数值162从客户端设备10传输至不信任的服务器111、150。不信任的服务器111、150被配置为使用该一系列底数值162来确定群组元素133的用被存储在不信任的服务器上的指数154的取幂。在操作512,方法500包括在数据处理硬件122处接收来自不信任的服务器111、150的结果192。结果192基于群组元素133的用被存储在不信任的服务器111、150上的指数154的取幂。
43.图6是可以用来实施本文件中描述的系统和方法的示例性计算设备600的示意图。计算设备600旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片式服务器、大型机和其他合适的计算机。此处示出的组件、它们的连接和关系以及它们的功能意图仅仅是示例性的,并不意图限制本文件中描述和/或要求保护的发明的实施。
44.计算设备600包括处理器610、存储器620、存储设备630、连接到存储器620和高速扩展端口650的高速接口/控制器640、以及连接到低速总线670和存储设备630的低速接口/控制器660。组件610、620、630、640、650和660中的每一者使用各种总线互连,并且可以安装在共同主板上或者以其他合适的方式安装。处理器610可以处理用于在计算设备600内执行的指令,包括被存储在存储器620中或存储设备630上的指令,以在外部输入/输出设备(诸如耦合到高速接口640的显示器680)上显示用于图形用户界面(gui)的图形信息。在其他实施方式中,可以合适地使用多个处理器和/或多个总线,以及多个存储器和多个类型的存储
器。同样,可以连接多个计算设备600,每个设备提供必要操作的部分(例如,作为服务器库、一组刀片式服务器或多处理器系统)。
45.存储器620在计算设备600内非暂时性地存储信息。存储器620可以是计算机可读介质、(多个)易失性存储器单元或(多个)非易失性存储器单元。非暂时性存储器620可以是用来临时或永久地存储程序(例如,指令序列)或数据(例如,程序状态信息)以供计算设备600使用的物理设备。非易失性存储器的示例包括但不限于闪速存储器和只读存储器(rom)/可编程只读存储器(prom)/可擦除可编程只读存储器(eprom)/电可擦除可编程只读存储器(eeprom)(例如,通常用于固件,诸如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、相变存储器(pcm)以及磁盘或磁带。
46.存储设备630能够为计算设备600提供大容量存储。在一些实施方式中,存储设备630是计算机可读介质。在各种不同的实施方式中,存储设备630可以是软盘设备、硬盘设备、光盘设备或磁带设备、闪速存储器或其他类似的固态存储器设备,或者设备的阵列,包括存储区域网络或其他配置中的设备。在附加的实施方式中,计算机程序产品被有形地体现在信息载体中。该计算机程序产品包含指令,当这些指令被执行时,执行一个或多个方法,诸如上文描述的那些方法。信息载体是计算机可读介质或机器可读介质,诸如存储器620、存储设备630,或者是处理器610上的存储器。
47.高速控制器640管理用于计算设备600的带宽密集型操作,而低速控制器660管理较低带宽密集型操作。此职责分配仅是示例性的。在一些实施方式中,高速控制器640耦合到存储器620、显示器680(例如,通过图形处理器或加速器)并且耦合到可以接受各种扩展卡(未示出)的高速扩展端口650。在一些实施方式中,低速控制器660耦合到存储设备630和低速扩展端口690。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口690可以例如通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪或联网设备诸如交换机或路由器。
48.如图所示,计算设备600可以按若干不同的形式来实施。例如,它可以被实施为标准服务器600a,或者在一组此类服务器600a中多次被实施为膝上型计算机600b,或者被实施为机架服务器系统600c的一部分。
49.本文描述的系统和技术的各种实施方式可以在数字电子和/或光学电路、集成电路、专门设计的asic(专用集成电路)、计算机硬件、固件、软件和/或它们的组合中实现。这些各种实施方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,该可编程系统包括至少一个可编程处理器,该至少一个可编程处理器可以是专用或通用的,经耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令并且向它们发送数据和指令。
50.软件应用(即,软件资源)可以指使计算设备执行任务的计算机软件。在一些示例中,软件应用可以被称为“应用”、“应用程序”或“程序”。示例应用包括但不限于系统诊断应用、系统管理应用、系统维护应用、文字处理应用、电子表格应用、消息传递应用、介质流传输应用、社交网络应用和游戏应用。
51.这些计算机程序(也被称作程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以按高级过程化和/或面向对象的编程语言和/或汇编/机器语言来实
施。如本文所用,术语“机器可读介质”和“计算机可读介质”指用来向可编程处理器(包括接收机器指令作为机器可读信号的机器可读介质)提供机器指令和/或数据的任何计算机程序产品、非暂时性计算机可读介质、装置和/或设备(例如,磁碟、光盘、存储器、可编程逻辑器件(pld))。术语“机器可读信号”指用来向可编程处理器提供机器指令和/或数据的任何信号。
52.本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器(也被称为数据处理硬件)来执行,该一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并且生成输出来执行功能。这些过程和逻辑流程也可以由专用逻辑电路来执行,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。举例来说,适合于执行计算机程序的处理器包括通用和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。一般地,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和一个或多个用于存储指令和数据的存储器设备。一般地,计算机还将包括或者经可操作地耦合以从一个或多个用于存储数据的大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据或向它们传递数据,或两者。然而,计算机不需要具有此类设备。适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,举例来说包括半导体存储器设备(例如,eprom、eeprom和闪速存储器设备)、磁盘(例如内部硬盘或可移动磁盘)磁光盘以及cd rom盘和dvd-rom盘。处理器和存储器可以由专用逻辑电路来补充或者结合在其中。
53.为了提供与用户的交互,本公开的一个或多个方面可以在计算机上实施,该计算机具有显示设备,例如用于向用户显示信息的crt(阴极射线管)、lcd(液晶显示器)监视器或触摸屏,并且可选地具有键盘和定点设备,例如鼠标或轨迹球,用户可以通过该定点设备向计算机提供输入。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以按任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文件并且从其接收文件来与用户交互;例如,通过响应于从网页浏览器接收的请求,将网页发送到用户客户端设备上的网页浏览器。
54.已经描述了若干实施方式。尽管如此,将会理解,在不脱离本公开的精神和范围的情况下,可以进行各种修改。相应地,其他实施方式都在以下权利要求的范围内。
再多了解一些

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

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

相关文献