Contention detection
First Claim
1. A multiple computer system for replica memory updating comprising:
- a multiplicity of computers, each interconnected via at least one communications network, and each executing a different portion of an application program written to execute on a single computer, each having an independent local memory with at least one memory location being replicated in each said local memory, and a system for replica memory updating, said multiple computer system for replica memory updating comprising;
at least one memory location having a specific location identifier and replicated on at least two machines, and updated to remain substantially similar upon occasion of a machine modifying its replica value;
a plurality of sources each of which can update said memory location(s) and each of which utilizes 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 content with which said memory location is to be updated, and 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;
storage means associated with each said memory location and in which the updating count of the previously received updating is stored;
comparison means to compare the currently received updating count value with the presently resident updating count value and 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 (i) if the currently received updating count exceeds or is greater than the presently resident updating count, 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;
or (ii) if the currently received updating count is less than the presently resident updating count, 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
contention indicating means connected with said comparison means and operable to indicate a contention situation if the compared currently received updating count value and the presently resident updating count value are the equal.
0 Assignments
0 Petitions
Accused Products
Abstract
A multiple computer system is disclosed in which n computers (M1, M2 . . . Mn) each run a different portion of a single application program written to execute only on a single computer. The local memory of each computer is maintained substantially the same by updating all computers with every change made to addressed memory locations. Contention can arise when the same memory location is substantially simultaneously updated by two or more machines because of transmission delays and latency of the communications network interconnecting all the computers. In particular a method of detecting contention is disclosed which utilizes a count value indicative of the number of the sequence of occasions on which each memory location has been updated. Contention is indicated if the currently stored count value and the incoming updating count value are the same.
-
Citations
4 Claims
-
1. A multiple computer system for replica memory updating comprising:
-
a multiplicity of computers, each interconnected via at least one communications network, and each executing a different portion of an application program written to execute on a single computer, each having an independent local memory with at least one memory location being replicated in each said local memory, and a system for replica memory updating, said multiple computer system for replica memory updating comprising;
at least one memory location having a specific location identifier and replicated on at least two machines, and updated to remain substantially similar upon occasion of a machine modifying its replica value;
a plurality of sources each of which can update said memory location(s) and each of which utilizes 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 content with which said memory location is to be updated, and 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;
storage means associated with each said memory location and in which the updating count of the previously received updating is stored;
comparison means to compare the currently received updating count value with the presently resident updating count value and 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 (i) if the currently received updating count exceeds or is greater than the presently resident updating count, 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;
or (ii) if the currently received updating count is less than the presently resident updating count, 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
contention indicating means connected with said comparison means and operable to indicate a contention situation if the compared currently received updating count value and the presently resident updating count value are the equal.
-
-
2. In a multiple computer system having a multiplicity of computers, each of the multiplicity of computers interconnected via at least one communications network, and each executing a different portion of an application program written to execute on a single computer, each computer having an independent local memory with at least one memory location being replicated in each said local memory, a method of replica memory updating in which a memory location having a specific location identifier and replicated on at least two computers of said multiplicity of computers, is updatable substantially simultaneously from a plurality of sources, said method of replica memory updating comprising:
-
(i) 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 content with which said memory location is to be updated, and 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;
(ii) storing for each replicated memory location the updating count of the previously sent or received updating;
(iii) 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 greater than the presently resident updating count, 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;
or(b) if the currently received updating count is less than the presently resident updating count, 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;
or(c) if the currently received updating count is equal to the presently resident updating count, indicating a contention situation.
-
-
3. A computer program stored in a computer readable media, the computer program adapted for execution in a processor within a computer or information appliance and a memory coupled with the processor to modify the operation of the computer or information appliance, for modifying the operation of the computer or information appliance in a multiplicity of computers, each of the multiplicity of computers interconnected via at least one communications network, and each executing a different portion of an application program written to execute on a single computer, each having an independent local memory with at least one memory location being replicated in each said local memory, the modification including performing a method of replica memory updating in which a memory location having a specific location identifier and replicated on at least two computers, can be updated substantially simultaneously from a plurality of sources, said method of replica memory updating comprising:
-
(i) 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 content with which said memory location is to be updated, and 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;
(ii) storing for each replicated memory location the updating count of the previously sent or received updating;
(iii) 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 greater than the presently resident updating count, 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;
or(b) if the currently received updating count is less than the presently resident updating count, 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;
or(c) if the currently received updating count is equal to the presently resident updating count, indicating a contention situation.
-
-
4. A single computer adapted for contention detection for use in cooperation with at least one other computer in a multiple computer system, wherein said multiple computer system includes a multiplicity of computers, each of the multiplicity of computers interconnected via at least one communications network, and each executing a different portion of an application program written to execute on a single computer, each having an independent local memory with at least one memory location being replicated in each said local memory, and a system for detecting contention in replica memory updating;
- said single computer further comprising;
at least one memory location having a specific location identifier and replicated on at least two machines, and updated to remain substantially similar upon occasion of a machine modifying its replica value;
at least one source which can update said memory location(s) and which utilizes an updating format for a signal or packet carrying out the updating, said update format comprising the specific identifier of the memory location to be updated, the content with which said memory location is to be updated, and 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;
storage means associated with each said memory location and in which the updating count of the previously received updating is stored;
comparison means to compare the previously stored updating count with the updating count of the currently received updating signal or packet; and
contention indicating means connected with said comparison means and operable to indicate a contention situation if the compared updating counts are the same.
- said single computer further comprising;
Specification