Claims Analysis
Total Claims: 5
Claim 1
Independent Claim
234 words
A method for achieving agreement among n processors to the same value arising out of a series of message passings originated by one of said processors, the processors being arranged in a reliable (t+1)-connected network, the number of message passings required to achieve agreement being small in the absence of faults, and having an upper bound where the number of faults t is less than (n/2), comprising the steps of: (a) broadcasting a value message by an originating processor with its unforgeable signature to all active processors including itself during a first message passing; (b) each receiving active processor passing such a message on and appending its own unforgeable signature thereto to all other active processors including itself during a second message passing; and (c) each active processor agreeing to the message value and stopping at the end of the first two message passings if every active processor has signed, and (1) if the number of signatures is at least (t+1), but not unanimous, signing and sending the message with the (t+1) signatures, and (2) each processor not stopped by receiving a message having a unanimous number of signatures, thereby continuing the steps of: (2.1) repeatedly sending messages when received, and (2.2) appending its signature thereto until (t+2) message passings have occurred, at this time either agreeing to the value if at least (t+1) signatures append the message, or otherwise assuming a default value.
Claim 2
Independent Claim
234 words
A method for achieving agreement among n processors to the same value arising out of a series of message passings originated by one of said processors, the processors being arranged in a reliable (t+1)-connected network, the number of message passings required to achieve agreement being small in the absence of faults, and having an upper bound where the number of faults t is less than (n/2), comprising the steps of: (a) broadcasting a value message by an originating processor with its unforgeable signature to all active processors including itself during a first message passing; (b) each receiving active processor passing such a message on and appending its own unforgeable signature thereto to all other active processors including itself during a second message passing; and (c) each active processor agreeing to the message value and stopping at the end of the first two message passings if every active processor has signed, and (1) if the number of signatures is at least (t+1), but not unanimous, signing and sending the message with the (t+1) signatures, and (2) each processor not stopped by receiving a message having a unanimous number of signatures, thereby continuing the steps of: (2.1) repeatedly sending messages when received, and (2.2) appending its signature thereto until (t+2) message passings have occurred, at this time either agreeing to the value if at least (t+1) signatures append the message, or otherwise assuming a default value.
Claim 3
Dependent Claim
30 words
A method according to claim 1, wherein each generated message includes an agreement identifier (AI), a time of generation (TG), a message value (v) and at least one appended signature.
Claim 4
Dependent Claim
17 words
A method according to claim 1, wherein each processor includes at least broadcast and Byzantine Agreement monitors.
Claim 5
Independent Claim
246 words
A method according to claims 1, 2, and 3, wherein each processor executing its broadcast monitor is responsive to messages for the first two passings, and includes the further steps of: ascertaining the current time (CT) and number of signatures (s) of the message being processed; comparing CT with TG and either discarding the message if CT is greater than TG plus a predetermined minimum, or accessing an ordered list of bases; ascertaining whether the message agreement identifier is the same as that of a prestored message termed a base in the list, if not, and if twice determining that the message value is not the same as the base value, discarding said message, or in the event that there is no base in the list, storing the current message as the base; upon the current message being stored as the base, determining whether the number of signatures is not equal to two, signing and sending the base to all other processors, or, if the number of signatures is two, terminating the monitor execution; upon the current message value v being the same as the base value, determining whether the base has been marked, and if so, marking it "discard", otherwise updating the signatures at the base and storing in the list; if the number of signatures in unanimous, and CT is less than TG+2, marking the base as being agreed and adopting the agreement value, otherwise marking the base distinctively and adopting the default value.