Patent ID: 8074109

Claim:
A method comprising: determining, with a first processor, whether the first processor is able to communicate with a second processor, wherein the first processor and the second processor are redundant processors within a multi-processor system; obtaining, with a polling module within the first processor, votes from components within the multi-processor system that are registered as voters with the first processor, wherein the votes are obtained when the first processor is unable to communicate with the second processor, wherein the components are external to the first processor and the second processor and ineligible to operate as a master processor for the redundant processors; and operating, with a master processor module within the first processor, as a master processor when the first processor is able to obtain votes from more than a predetermined portion of the voters registered with the first processor and all of the votes indicate that the first processor is eligible to operate as the master processor, wherein either the first processor or the second process that is not operating as the master processor operates as a standby processor; wherein the computing device further comprises: a persistent storage module associated with the first processor; and a persistent storage module associated with the second processor; wherein the master processor module comprises a registration module to (1) receive a request to register from a component; (2) instruct a standby processor to update a set of voters registered in the persistent storage module associated with the standby processor, (3) determine whether the standby processor successfully updated a set of voters registered in the persistent storage module associated with the standby processor; and (4) update the set of voters registered in the persistent storage module associated with the master processor when the standby processor successfully updated the set of voters registered in the persistent storage module associated with the standby processor; wherein the polling module polls voters registered in the persistent storage module associated with the master processor when the registration module determines that the standby processor did not successfully update the set of voters registered in the persistent storage module associated with the standby processor; and wherein the master processor module continues to operate as the master processor when the polling module is able to obtain votes from more than the predetermined portion of the voters registered in the persistent storage module associated with the master processor and all of the votes indicate that the master processor is eligible to operate as the master processor.