【技术实现步骤摘要】
本专利技术主要涉及分布式计算,并且,更特别地,涉及使用主设备和辅助设备二者的容错分布式计算。
技术介绍
由于个人计算设备变得更加功能强大,包含了增加的存储空间和处理能力,一般的用户消耗占有执行每日任务的那些资源的越来越小的百分比的资源。因而,许多现今的个人计算设备的全部潜能往往不能被利用,由于它们的计算能力远远超过了大部分用户在它们之上发出的需求。一种从功能强大的现代个人计算设备的未利用资源得到使用和价值的日益流行的方法是分布式计算系统,在其中计算设备与其他设备配合动作以提供更加可靠的数据和可计算资源的访问。除了提供用于使用额外的计算能力的有效的机制外,分布式系统也能够由专用的便宜的计算设备组成以便达到一个更大,更昂贵的计算设备的执行和存储能力。分布式系统的更大的优势在于面对可能损坏单个的,更大型的计算设备的物理困难的连续操作。这些困难可能包括持续的电能中断,恶劣的天气,洪水,恐怖活动,以及诸如此类。为了补偿增加的风险,独立构件计算设备可以变得从网络断开连接,关闭,遭受系统故障,或者另外变得不可用,冗余可以被用于允许所述分布式计算系统保持运行。因而,存储于任何一个个人计算设备上的信息可以被冗余地存储在至少一个附加个人计算设备上,允许所述信息保持可访问性,即使所述个人计算设备中的一个故障。分布式计算系统能够实行完全的冗余,在其中每个系统内部的设备执行同样的任务并且存储同样的信息。这样的系统能够允许用户连续执行有效的操作,即使除了设备中的一个外所有的设备都故障。作为选择地,这样的系统可以被用于允许相同信息的多重副本被分配遍布于地理区。例如,一跨国公司可以 ...
【技术保护点】
一种用于选择分布式计算系统中的值的方法,所述分布式计算系统执行用于选择所述值的系统状态机以及和所述系统状态机分离的定额选择状态机,所述分布式计算系统包括一台或者多台主计算设备和一台或者多台辅助计算设备,所述方法包括步骤:给所述分布式 计算系统中的第一组计算设备进行建议,第一建议包括:第一定额,所述第一定额的第一领导者计算设备,以及与所述第一定额和所述第一领导者计算设备相联系的第一建议数字,其中:所述第一定额执行所述系统状态机并且包括所述分布式计算系统的所有运行的主计算设备,以及其中所述第一组计算设备执行所述定额选择状态机并包括至少所述分布式计算系统的计算设备的多数;接收来自所述第一组计算设备的第一组投票响应;并且如果来自所述第一组计算设备的第一组投票响应指示,至少所述分布式计算系统的计算设 备的多数已经投票赞成了所述第一建议,发送所述第一建议的选择的通知。
【技术特征摘要】
US 2004-6-18 10/872,3391.一种用于选择分布式计算系统中的值的方法,所述分布式计算系统执行用于选择所述值的系统状态机以及和所述系统状态机分离的定额选择状态机,所述分布式计算系统包括一台或者多台主计算设备和一台或者多台辅助计算设备,所述方法包括步骤给所述分布式计算系统中的第一组计算设备进行建议,第一建议包括第一定额,所述第一定额的第一领导者计算设备,以及与所述第一定额和所述第一领导者计算设备相联系的第一建议数字,其中所述第一定额执行所述系统状态机并且包括所述分布式计算系统的所有运行的主计算设备,以及其中所述第一组计算设备执行所述定额选择状态机并包括至少所述分布式计算系统的计算设备的多数;接收来自所述第一组计算设备的第一组投票响应;并且如果来自所述第一组计算设备的第一组投票响应指示,至少所述分布式计算系统的计算设备的多数已经投票赞成了所述第一建议,发送所述第一建议的选择的通知。2.如权利要求1的方法,其中,在接收所述第一建议的选择的通知之后,至少一台来自所述第一定额的计算设备执行步骤,包括建议所述第一建议数字用于大于最后的已知系统步骤的系统步骤,其中所述最后的已知系统步骤是最大系统步骤,为了所述最大系统步骤,至少一台计算设备已经记录了相应的值;接收一个或者多个来自一台或者多台响应计算设备的建议响应,每一个用于大于所述最后的已知系统步骤的系统步骤的建议响应包括最后投票信息,在前建议响应信息,和已知可靠信息;并且传送,给所述第一定额,增加已知可靠消息,所述增加的已知可靠消息包括一个或者多个被决定的可靠值,所述增加的已知可靠消息来源于所述最后投票信息和通过一个或者多个建议响应接收的已知可靠消息。3.如权利要求2的方法,其中所述最后投票信息包括由用于每一个大于所述最后的已知系统步骤的系统步骤的响应计算设备投票赞成的最后值,和被用于建议所述最后值的最后值建议数字,所述最后值建议数字大于任何与其它值相联系的建议数字,所述其它建议数字由用于每一个大于所述最后的已知系统步骤的系统步骤的响应计算设备投票赞成;所述在前建议响应信息包括所述响应计算设备之前已经响应了的最大建议数字;所述已知可靠信息包括在前被决定的可靠值,由所述响应计算设备在在前增加的已知可靠消息和相应于所述在前增加的已知可靠消息的在前可靠建议数字中接收所述在前被决定的可靠值,所述在前可靠建议数字大于任何与其它可靠值相联系的建议数字,由所述响应计算设备为了每一个大于所述最后已知系统步骤的系统步骤接收所述其它可靠值;并且用于每一个大于所述最后已知系统步骤的系统步骤的一个或者多个被决定的可靠值包括,一个或者多个的由所述响应计算设备投票赞成的最后值以及由所述响应计算设备接收的在前被决定的可靠值。4.如权利要求3的方法,其中所述建议所述第一建议数字包括,建议所述第一建议数字到第二组计算设备;并且其中所述一台或者多台响应计算设备是来自所述第二组计算设备所述第二组计算设备被如此的选择以至于,用于来自全部的最大建议数字的许多建议数字,在所述一台或者多台响应计算设备之前已经响应的最大建议数字,直到所述第一建议数字之间,至少一台或者多台响应计算设备中的一台已经在相应于所述多个建议数字的定额中了。5.如权利要求1的方法,进一步包括步骤感知目标主计算设备的错误;通过执行定额选择状态机命令,输入所述目标主计算设备的被感知的错误的指示到数据结构中,所述数据结构相关于感知设备和所述目标主计算设备;并且根据所述数据结构,决定所述目标主计算设备不是运行的主计算设备。6.如权利要求1的方法,其中所述第一建议进一步包括紧接在所述第一建议数字之后的第二建议数字,其中所述第一建议数字是快速建议数字并且所述第二建议数字是缓慢建议数字。7.一种用于在分布式计算系统中选择值的方法,包括步骤为大于最后的已知系统步骤的系统步骤建议第一建议数字;接收一个或多个来自一台或者多台响应计算设备的建议响应,每一个用于大于最后的已知系统步骤的系统步骤的建议响应包括最后投票信息,在前建议响应信息,以及已知可靠信息;以及向所述第一定额传送增加的已知可靠消息,所述增加的已知可靠消息包括一个或者多个被决定的可靠值,所述增加的已知可靠消息来源于通过一个或者多个建议响应接收的所述最后投票信息和已知可靠消息。8.如权利要求7的方法,其中由系统状态机选择所述值,并且其中由定额选择状态机选择所述第一定额和所述第一建议数字,所述定额选择状态机和所述系统状态机分离。9.如权利要求7的方法,其中所述最后投票信息包括由用于每一个大于所述最后的已知系统步骤的系统步骤的响应计算设备投票赞成的最后值,和被用于建议所述最后值的最后值建议数字,其中,对每一个大于最后已知系统步骤的系统步骤来说,最后建议数字的值大于,基于步骤对步骤,任何根据响应计算设备而进行的其他投票值相关的建议数字;所述在前建议响应信息包括所述响应计算设备之前已经响应了的最大建议数字;所述已知可靠信息包括在前被决定的可靠值,由所述响应计算设备在在前增加的已知可靠消息和相应于所述在前增加的已知可靠消息的在前可靠建议数字中接收所述在前被决定的可靠值,其中,对每一个大于最后已知系统步骤的系统步骤来说,在先可靠建议数字的值大于最后已知的系统步骤,所述在先可靠建议数字大于,基于步骤对步骤,任何根据响应计算设备获得的进行其他投票值相关的建议数字;并且用于每一个大于所述最后已知系统步骤的系统步骤的一个或者多个被决定的可靠值包括,一个或者多个的由所述响应计算设备投票赞成的最后值以及由所述响应计算设备接收的在前被决定的可靠值。10.如权利要求9的方法,其中所述建议所述第一建议数字包括,建议所述第一建议数字到第二组计算设备;并且其中所述一台或者多台响应计算设备是来自所述第二组计算设备所述第二组计算设备被如此的选择以至于,用于来自全部的最大建议数字的许多建议数字,在所述一台或者多台响应计算设备之前已经响应的最大建议数字,直到所述第一建议数字之间,至少一台或者多台响应计算设备中的一台已经在相应于所述多个建议数字的定额中了。11.如权利要求7的方法,进一步包括步骤建议所述值到使用所述第一建议数字的第一定额中,如果所述值是所述一个或者多个被决定的可靠值的其中之一;接收来自所述第一定额的第一组投票响应;决定所述值被选择,如果来自所述第一定额的第一组投票响应指示所述第一定额中的每一台计算设备已经投票赞成所述值。12.如权利要求11的方法,进一步包括步骤如果来自所述第一定额的第一组投票响应指示所述第一定额中的每一台计算设备还未投票赞成所述值,要求在定额选择状态机中的一台或者多台计算设备使用所述定额选择状态机去选择第二定额,用于所述第二定额的第二领导者计算设备,以及与所述第二定额和所述第二领导者计算设备相联系的第二建议数字,其中所述第二建议数字紧跟在所述第一建议数字之后。13.如权利要求7的方法,进一步包括步骤指示,到所述第一定额,直接从一个或者多个客户接收的后来的值将被对待为具有相当于所述第一建议数字的建议数字的被建议的值;并且指示,到所述第一定额,到所述后来的值的响应将被发送到所述一个或者多个客户。14.一种计算机可读介质,其具有计算机可执行指令,所述可执行指令用于用于选择分布式计算系统中的值,所述分布式计算系统执行用于选择所述值的系统状态机以及和所述系统状态机分离的定额选择状态机,所述分布式计算系统包括一台或者多台主计算设备和一台或者多台辅助计算设备,所述计算机可执行指令执行的步骤包括给所述分布式计算系统中的第一组计算设备进行建议,第一建议包括第一定额,所述第一定额的第一领导者计算设备,以及与所述第一定额和所述第一领导者计算设备相联系的第一建议数字,其中所述第一定额执行所述系统状态机并且包括所述分布式计算系统的所有运行的主计算设备,以及其中所述第一组计算设备执行所述定额选择状态机并包括至少所述分布式计算系统的计算设备的多数;接收来自所述第一组计算设备的第一组投票响应;并且如果来自所述第一组计算设备的第一组投票响应指示,至少所述分布式计算系统的计算设备的多数已经投票赞成了所述第一建议,发送所述第一建议的选择的通知。15.如权利要求14的计算机可读介质,其中,在接收所述第一建议的选择的通知之后,至少一台来自所述第一定额的计算设备执行步骤,包括建议所述第一建议数字用于大于最后的已知系统步骤的系统步骤,其中所述最后的已知系统步骤是最大系统步骤,为了所述最大系统步骤,至少一台计算设备已经记录了相应的值;接收一个或者多个来自一台或者多台响应计算设备的建议响应,每一个用于大于所述最后的已知系统步骤的系统步骤的建议响应包括最后投票信息,在前建议响应信息,和已知可靠信息;并且传送给所述第一定额增加的已知可靠消息,所述增加的已知可靠消息包括一个或者多个被决定的可靠值,所述增加的已知可靠消息来源于所述最后投票信息和通过一个或者多个建议响应接收的已知可靠消息。16.如权利要求15的计算机可读介质,其中所述最后投票信息包括由用于每一个大于所述最后的已知系统步骤的系统步骤的响应计算设备投票赞成的最后值,和被用于建议所述最后值的最后值建议数字,所述最后值建议数字大于任何与其它值相联系的建议数字,所述其它建议数字由用于每一个大于所述最后的已知系统步骤的系统步骤的响应计算设备投票赞成;所述在前建议响应信息包括所述响应计算设备之前已经响应了的最大建议数字;所述已知可靠信息包括在前被决定的可靠值,由所述响应计算设备在在前增加的已知可靠消息和相应于所述在前增加的已知可靠消息的在前可靠建议数字中接收所述在前被决定的可靠值,所述在前可靠建议数字大于任何与其它可靠值相联系的建议数字,由所述响应计算设备为了每一个大于所述最后已知系统步骤的系统步骤接收所述其它可靠值;并且用于每一个大于所述最后已知系统步骤的系统步骤的一个或者多个被决定的可靠值包括,一个或者多个的由所述响应计算设备投票赞成的最后值以及由所述响应计算设备接收的在前被决定的可靠值。17.如权利要求16的计算机可读介质,其中所述计算机可执行指令建议所述第一建议数字包括,用于建议所述第一建议数字到第二组计算设备的计算机可执行指...
【专利技术属性】
技术研发人员:LB兰姆波特,MT玛萨,
申请(专利权)人:微软公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。