1.一种计算设备,包括:
网络接口,该网络接口被配置来与计算机网络耦接,该计算机网络具有计算实体的多个单元计算机;
至少一个微处理器;以及
储存指令的存储器,该指令被配置来指示至少一个所述微处理器进行以下操作:
经由所述网络接口接收指向所述计算实体的计算请求,该计算实体被配置来用多个单元计算机执行针对所述计算请求的操作的多个预先确定的部分:
将所述计算请求映射到所述计算实体中的单元计算机的标识;
确定从所述计算请求所映射的标识是否对应所述计算设备,该计算设备被配置作为在所述计算实体中的单元计算机;以及
响应于确定从所述计算请求所映射的所述标识对应所述计算设备,执行针对所述计算请求的操作的一部分,其中该部分与由所述计算请求所确定的所述标识预先关联。
2.根据权利要求1所述的计算设备,其中,所述请求包括将被存储在所述计算实体中的文件;所述标识从所述文件的标识数据中被映射;以及操作的所述多个预先确定的部分包括用冗余储存所述文件。
3.根据权利要求2所述的计算设备,其中,所述指令被配置用来递归地将所述文件的标识数据作为散列来计算多个标识,所述多个标识位于所述计算实体的单元计算机的标识的列表中用于所述操作的多个预先确定的部分。
4.一种方法,包括:
提供具有由计算机网络互联的多个单元计算机的计算实体;
在所述多个单元计算机中的每一个相应的单元计算机上储存现有数据,该现有数据标识所述多个单元计算机,所述多个单元计算机在所述计算机网络上当前可用来执行针对所述计算实体的计算任务;
在所述计算实体中,接收计算请求;
基于所述计算请求和所述现有数据,由所述相应的计算机确定所述计算实体的多个单元计算机的一个或多个标识,所述多个单元计算机中的每一个被配置来执行操作的一部分用来满足所述计算请求;
由所述相应的单元计算机确定是否存在一个或多个标识对应所述相应的单元计算机;以及
响应于确定所述一个或多个标识具有对应于所述相应的单元计算机的标识,由所述相应的单元计算机执行与所述标识相关联的所述操作的一部分。
5.根据权利要求4所述的方法,其中,所述每一个相应的单元计算机确定被分配来执行针对所述计算请求的操作的所述多个单元计算机的一个或多个标识,而无需与所述计算实体中的其他单元计算机进行通信。
6.根据权利要求5所述的方法,其中,对于所述一个或多个标识的确定包括:在所预先确定的标识符被计算之前基于所述计算请求的数据,有顺序地计算被分配用来执行针对所述计算请求的操作的所述多个单元计算机的标识。
7.根据权利要求6所述的方法,其中,由所述多个单元计算机的标识中的每一个所标识的单元计算机被分配来基于所述多个单元计算机的标识的序列执行针对所述计算请求的所述操作的预先确定的部分。
8.根据权利要求6所述的方法,其中,如果不存在所述预先确定的标识对应于所述相应的单元计算机,则所述相应的单元计算机不执行针对所述计算请求的任何操作。
9.根据权利要求8所述的方法,其中,所述现有数据包括在计算机网络上当前可用来执行代表所述计算实体的计算任务的所述多个单元计算机的标识。
10.根据权利要求4所述的方法,其中,所述计算请求包括将要被储存在所述计算实体中的文件名。
11.根据权利要求10所述的方法,其中,用来满足所述计算请求的所述操作包括用数据冗余将所述文件储存在所述多个单元计算机上。
12.根据权利要求11所述的方法,其中,用来满足所述计算请求的所述操作包括计算针对所述文件所储存在所述多个单元计算机上的部分数据的校验。
13.根据权利要求10所述的方法,其中,对于所述计算实体的多个单元计算机的一个或多个标识的确定,包括采用针对所述文件名的预先确定的散列方案。
14.根据权利要求10所述的方法,其中,对于所述计算实体的多个计算机的一个或多个标识的确定,包括迭代地采用针对所述文件名的预先确定的散列方案,以有顺序地计算所述多个单元计算机的一个或多个标识。
15.根据权利要求10所述的方法,其中,对于所述计算实体的多个计算机的一个或多个标识的确定,包括采用预先确定的函数将所述文件名映射到预先确定的标识符空间的具体的标识符中;以及,具有所述具体标识符的单元计算机被分配来执行所述操作的部分以满足所述计算请求。
16.根据权利要求15所述的方法,其中,基于所述单元计算机的标识符与所述单元计算机的因特网协议地址之间的关联,所述现有数据标识所述多个单元计算机。
17.根据权利要求16所述的方法,还包括:
基于在所述计算机网络中的网络连接性层级中的所述相应的单元计算机的独特位置,由所述相应的单元计算机确定所述相应的单元计算机的标识符。
18.一种储存有指令的非暂态计算机存储介质,所述指令被配置来指示计算机设备执行一种方法,所述方法包括:
在被配置作为计算实体中的单元计算机的所述计算设备中,储存在所述计算机网络上当前可用来执行针对所述计算实体的计算任务的所述单元计算机的标识的列表,该计算实体具有由计算机网络互联的多个单元计算机;
在所述计算设备中接收计算请求;
由所述计算设备并且基于所述计算请求确定在所述标识的列表中的所述单元计算机的多个标识,其中,所述多个标识由独立于所述计算实体中的其他单元计算机的计算设备而确定;以及
由所述计算设备确定将要由所述多个标识所标识的单元计算机所执行的操作,所述多个标识基于所述计算请求被确定。
19.根据权利要求18所述的非暂态计算机存储介质,其中,所述计算请求包括文件名;并且通过采用预先确定的算法将所述文件名映射到多个标识来确定所述多个标识。
20.根据权利要求19所述的非暂态计算机存储介质,其中,所述预先确定的算法包括散列算法;并且所述多个标识存是位于预先确定的标识空间中,该标识空间包括所述计算实体中的单元计算机的标识。
21.一种计算系统,包括:
经由计算机网络所连接的多个单元计算机来形成计算实体,其中所述多个单元计算机中的每一个相应的单元计算机被配置用来:
询问所述计算机网络的网络基础设施来确定所述计算实体的标识;
在由所述标识所标识的所述计算实体中宣告所述相应的单元计算机的存在;以及
执行通过所述计算机网络指向所述计算实体的计算请求的操作的一部分。
22.根据权利要求21所述的计算系统,其中,基于所述计算机网络的域名确定所述计算实体的标识。
23.根据权利要求22所述的计算系统,其中,所述相应的单元计算机被配置用来询问网关以获得所述计算机网络的域名。
24.根据权利要求23所述的计算系统,其中,所述相应的单元计算机被配置来自动地加入由所述标识所标识的所述计算实体,所述标识从所述计算机网络的域名中所确定。
25.根据权利要求21所述的计算系统,其中,所述相应的单元计算机被配置用来询问所述网络基础设施来标识所述计算机网络的网络连接性层级中的所述相应的单元计算机的独特的网络连接位置,并且基于该独特的网络连接位置向所述计算实体中的相应的单元计算机分配独特的标识符。
26.根据权利要求25所述的计算系统,其中,所述相应的单元计算机还被配置用来宣告由所述相应的单元计算机所提供的计算资源的可用性,所述相应的单元计算机通过所述独特的标识符被标识。
27.根据权利要求26所述的计算系统,其中,所述相应的单元计算机还被配置用来获得在所述计算实体中可用的单元计算机的现有数据。
28.根据权利要求21所述的计算系统,其中,所述多个单元计算机在被连接到所述计算机网络之前,在软件中被完全相同地配置,并且被配置用来基于从所述计算机网络的网络基础设施所获得的网络配置数据而自动地加入所述计算实体。
29.根据权利要求28所述的计算系统,其中,所述多个单元计算机中的每一个包括网络接口、为所述计算实体提供计算能量的至少一个微处理器、以及为所述计算实体提供数据存储的至少一个存储器。
30.根据权利要求29所述的计算系统,其中,基于在所述计算实体中的单元计算机的现有数据和计算请求的标识数据,在所述单元计算机之间分配计算任务。
31.根据权利要求30所述的计算系统,其中,计算请求的所述标识数据包括储存在所述计算实体中的文件的文件名。
32.一种储存有指令的非暂态计算机存储介质,所述指令被配置来指示计算机设备执行一种方法,所述方法包括:
由被配置以所述指令的多个单元计算机中的每一个相应的单元计算机来检测对计算机网络的网络连接;
由所述相应的单元计算机配置作为计算实体的部分的所述相应的单元计算机,包括:
与所述计算机网络的网络基础设施进行通信来确定所述计算实体的标识和所述相应的单元计算机的标识符;以及
在由所述标识所标识的所述计算实体中宣告所述相应的单元计算机的存在;以及
由独立于所述计算实体中的其他单元计算机的所述相应的单元计算机标识指向所述计算实体的计算请求的操作的部分,其中,基于在所述计算实体中的所述单元计算机的标识符的列表和所述计算请求的标识数据,来将所述部分分配给所述相应的单元计算机。
33.根据权利要求32所述的非暂态计算机存储介质,其中,所述计算请求与文件相关;并且所述标识数据包括所述文件的文件名。
34.根据权利要求32所述的非暂态计算机存储介质,其中,所述计算实体的标识从网关的域名而确定;以及所述相应的单元计算机的标识符从所述计算机网络中的相应的单元计算机的独特的网络连接性位置而确定。
35.一种方法,包括:
连接多个单元计算机到计算机网络以形成计算实体,其中所述多个单元计算机中的每一个相应的单元计算机被配置用来至少执行以下操作:
基于与询问所述计算机网络的基础设施进行通信,确定所述计算实体的标识;
基于在所述计算机网络中的相应的单元计算机的独特的网络连接性位置,确定所述计算实体中的相应的单元计算机的独特的标识符;
通过在计算实体中传播所述单元计算机的标识符而加入所述计算实体;
储存当前在所述计算实体中的所述单元计算机的标识符的列表;
执行通过所述计算机网络指向所述计算实体的计算请求的操作的一部分,其中,所述计算请求的操作基于所述标识符的列表在所述计算实体中的多个单元计算机之间被拆分。
36.根据所述权利要求35所述的方法,其中,所述计算实体的标识基于域名而确定。
37.根据权利要求35所述的方法,其中,所述多个单元计算机在被连接到所述计算机网络之前,在软件中被相同地配置。
38.根据权利要求37所述的方法,其中,所述多个单元计算机中的每一个包括:网络接口、向所述计算实体提供计算能量的至少一个微处理器、以及向所述计算实体提供数据存储的至少一个存储器。
39.根据权利要求38所述的方法,其中,基于所述标识符的列表和将所述计算请求的标识数据映射到单元计算机的标识符的预先确定的散列方案,将计算任务分配在所述单元计算机之间。
40.根据权利要求39所述的方法,其中计算请求的标识数据包括将被储存在所述计算实体中的文件的名称。
41.一种计算机,包括:
至少一个微处理器;
被配置用来被连接到计算机网络的网络接口,该计算机网络互联多个计算系统的计算机;
被配置用来至少部分地储存用于所述计算系统的文件的存储设备;以及
与至少一个微处理器所耦接的存储器,该存储器储存指令,该指令被配置用来指示至少一个微处理器进行以下操作:
检测与所述文件相关的条件,该所述文件至少部分地储存在针对所述计算系统的计算机上,其中所述文件用冗余被储存在所述计算系统中,该计算系统具有经由计算机网络所连接的多个计算机;以及
响应于所检测到的条件,与所述计算实体中的多个计算机进行通信来核实和维护横跨所述计算实体的多个计算机的所述文件的数据完整性。
42.根据权利要求41所述的计算机,其中,所述条件对应于从所述计算系统移除第一个计算机;以及所述指令还被配置用来指示所述至少一个微处理器来标识至少部分地储存在所述存储设备和所述第一个计算机上的文件,并且执行对于所述文件的数据恢复。
43.根据权利要求41所述的计算机,其中,所述条件对应于向所述计算系统添加第一个计算机;所述指令还被配置用来指示所述至少一个微处理器来标识当前至少部分地被储存在所述存储设备上并且被确定将至少部分地储存在所述第一个计算机上的文件,以及提供数据用于构建针对在所述第一个计算机上的储存的所述文件的部分。
44.根据权利要求43所述的计算机,其中,所述指令还被配置用来指示所述至少一个微处理器来移除所述文件的部分的数据,鉴于所述第一个计算机的添加,该文件不再被配置为被储存在所述存储设备上。
45.根据权利要求43所述的计算机,其中,鉴于所述第一个计算机的添加,在针对在所述第一个计算机中的文件构建相应的数据的预先确定的时间段之后,将不再被配置来被储存在所述存储设备上的所述文件的部分移除。
46.根据权利要求41所述的计算机,其中,响应于所述条件被检测,所述指令还被配置用来指示至少一个微处理器用来:
计算在所述计算系统中被配置用于用冗余储存所述文件的计算机的标识符;
核实具有所述标识符的计算机的可用性;以及
核实具有所述标识符的计算机储存所述计算系统中的所述文件的相应的数据。
47.一种方法,包括:
在单元计算机中储存一系列标识符,该标识符是经由计算机网络的当前所连接的单元计算机的,并且可以向计算实体提供服务;
在所述单元计算机中储存针对文件的数据,该文件被储存在所述计算实体的多个单元计算机中;
由所述单元计算机检测与所述文件相关的条件;以及
响应于所述条件,由所述单元计算机采用一组规则,该规则被配置来核实和维护横跨所述计算实体的所述多个单元计算机的所述文件的数据完整性。
48.根据权利要求47所述的方法,其中,所述文件用数据冗余被储存在所述计算实体中。
49.根据权利要求47所述的方法,其中,所述文件用数据冗余和针对数据恢复的校验信息被储存在所述计算实体中。
50.根据权利要求47所述的方法,其中,具有所储存在所述单元计算机中的不同的文件被储存在所述计算实体的单元计算机的不同组中。
51.根据权利要求50所述的方法,其中,基于所述标识符的列表和所述文件的标识数据,确定相应地储存针对所述计算实体的文件的所述多个单元计算机的标识符。
52.根据权利要求47所述的方法,其中,所述条件对应于对于访问所述文件的请求;以及所述规则的组使得所述单元计算机至少执行以下操作:
基于所述标识符的列表和所述文件的文件名,由所述单元计算机确定所述多个单元计算机的标识符;以及
由单元计算机在所述计算机网络上的通信,核实所述文件的数据完整性。
53.根据权利要求48所述的方法,还包括:
响应于无法核实储存在所述多个单元计算机中的文件的数据完整性,启动数据恢复操作来恢复横跨所述多个单元计算机所储存的数据。
54.根据权利要求47所述的方法,其中,所述条件对应于被添加到所述计算实体中或从所述计算实体中移除的另一个单元计算机;以及所述一组规则使得所述单元计算机至少执行以下操作:
基于在所述计算实体中的单元计算机的标识符的所更新的列表和所述文件的文件名,由所述单元计算机确定被分配来在所述计算实体中储存所述文件的单元计算机的标识符的是否发生变化;以及
响应于所述变化,启动数据恢复处理以在所述计算实体中的单元计算机中重新分配所述文件的数据。
55.根据权利要求47所述的方法,其中,所述条件对应于在所述计算实体中所分配的用来储存文件的另一个单元计算机;以及所述一组规则使得所述单元计算机至少执行以下的操作:
将数据恢复推迟一段时间;以及
响应于确定所述另一个单元计算机已经超出该段时间而没有反应,传播数据来移除所述另一个单元计算机的存在的表示。
56.根据权利要求47所述的方法,其中,所述条件对应于所述计算实体中的单元计算机的变化;以及所述一组规则使得所述单元计算机至少执行以下操作:
由所述单元计算机确定所述单元计算机的文件是否仍旧被分配用来储存关于所述文件的数据,基于在所述计算实体中的单元计算机的标识符的所更新的列表以及所述文件的文件名;以及
响应于确定所述文件不再被储存在所述单元计算机上,在一段时间后从所述单元计算机中移除所述文件的数据。
57.一种储存有指令的非暂态计算机存储介质,该指令被配置来指示计算机设备执行一种方法,该方法包括:
由所述计算机检测与至少部分地储存在所述计算机上的文件相关的条件,其中所述文件用冗余所储存在具有经由计算机网络所连接的多个计算机的计算实体中;以及
响应于所述条件被检测,进行:
由所述计算机确定在所述计算实体中的计算机的标识,该计算实体负责储存关于所述文件的数据;以及
由所述计算机与具有标识的所述计算机进行通信,来核实和维护用在所述计算实体中的缓存所储存的所述文件的数据完整性。
58.根据权利要求57所述的非暂态存储计算机存储介质,其中,至少部分地基于当前可用来在所述计算实体中提供服务的所述多个计算机的标识的列表以及所述文件的标识数据,来确定在负责储存针对所述文件的数据的所述计算实体中的计算机的标识。
59.根据权利要求57所述的非暂态计算机储存介质,其中,所述计算实体具有被用来用冗余存储所述文件的第一个计算机,和没有被用来储存所述文件的第二个计算机。
60.根据权利要求59所述的非暂态计算机存储介质,其中,至少部分地储存在所述计算机中的第一个文件用所述计算实体的计算机的第一个子集中的冗余被储存,以及至少部分地储存在所述计算机中的第二个文件被用所述计算实体中的计算机的第二个子集中的冗余所储存;其中所述第一个子集与所述第二个子集不同。