Patent ID: 8473564

Claim:
A method for resolving contention in replica memory updating in a single computer for use in cooperation with at least one other computer in a multiple computer system, wherein said multiple computer system comprises a multiplicity of computers, each interconnected via at least one communications network, said method comprising: sharing execution of an applications program written to execute on a single computer, providing each said computer with an independent local memory with at least one memory location being replicated in each said local memory, providing each said memory location with a specific location identifier, replicating each said memory location on at least two computers, contemporaneously updating said memory locations from a plurality of sources, utilizing an updating format for the signal or packet carrying out the updating, said format comprising the specific identifier of the memory location to be updated, the data content with which said memory location is to be updated, a resident updating count of the updating source, said count comprising a number indicative of the sequence of occasions on which the updating source has been updated inclusive of the current updating, and a resolution value of the updating source, said resolution value comprising a unique value to or of the updating source, and said updating count and said resolution value not being derived from said data content, storing for each replicated memory location the updating count and resolution value of the previously sent or received updating; comparing the presently resident updating count associated with the replicated memory location to be updated with the updating count of the currently received updating signal or packet; and (a) if the currently received updating count is equal to the presently resident updating count, comparing the presently resident resolution value associated with the replicated memory location to be updated with the updating resolution value of the currently received updating signal or packet; and (b) if the currently received resolution value is greater than the presently resident resolution value, overwriting the associated replicated memory location with the currently received data content, and overwriting the presently resident updating count with the currently received updating count, and overwriting the presently resident resolution value with the currently received resolution value; or (c) if the currently received resolution value is less than the presently resident resolution value, not overwriting the associated replicated memory location with the currently received data content, and not overwriting the presently resident updating count with the currently received updating count, and not overwriting the presently resident resolution value with the currently received resolution value, and (d) discarding said currently received data content without having previously stored said data to be discarded.