Contention detection
First Claim
1. A single computer adapted for replica memory updating 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 being interconnected via at least one communications network, and each executing a different portion of an application program written to execute on a single conventional computer, each having an independent local memory with at least one memory location being replicated in each said local memory;
- a method of replica memory updating for a single computer in which a memory location of the single computer having a specific location identifier and replicated on at least one other computer of said multiplicity of computers is updated substantially simultaneously from at least one other sources, said single computer device adapted for replica memory updating comprising;
(i) means for utilizing an updating format for a signal or packet carrying out the replica memory updating, said updating format comprising a specific identifier of the memory location to be updated, a 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) means for storing for each replicated memory location the updating count of the previously sent or received updating;
(iii) means for 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;
said means for comparing further including means overwriting or not overwriting according to the following policies;
(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 (v) if the currently received updating count is equal to the presently resident updating count, indicating a contention situation.
1 Assignment
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
5 Claims
-
1. A single computer adapted for replica memory updating 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 being interconnected via at least one communications network, and each executing a different portion of an application program written to execute on a single conventional computer, each having an independent local memory with at least one memory location being replicated in each said local memory;
- a method of replica memory updating for a single computer in which a memory location of the single computer having a specific location identifier and replicated on at least one other computer of said multiplicity of computers is updated substantially simultaneously from at least one other sources, said single computer device adapted for replica memory updating comprising;
(i) means for utilizing an updating format for a signal or packet carrying out the replica memory updating, said updating format comprising a specific identifier of the memory location to be updated, a 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) means for storing for each replicated memory location the updating count of the previously sent or received updating;
(iii) means for 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;
said means for comparing further including means overwriting or not overwriting according to the following policies;
(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(v) if the currently received updating count is equal to the presently resident updating count, indicating a contention situation.
- a method of replica memory updating for a single computer in which a memory location of the single computer having a specific location identifier and replicated on at least one other computer of said multiplicity of computers is updated substantially simultaneously from at least one other sources, said single computer device adapted for replica memory updating comprising;
-
2. In a single computer 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 being interconnected via at least one communications network, and each executing a different portion of an application program written to execute on a single conventional computer, each having an independent local memory with at least one memory location being replicated in each said local memory;
- a method of replica memory updating for a single computer in which a memory location of the single computer having a specific location identifier and replicated on at least one other computer of said multiplicity of computers is updated substantially simultaneously from at least one other sources, said method of replica memory updating in the single computer comprising;
(i) utilizing an updating format for a signal or packet carrying out the replica memory updating, said updating format comprising a specific identifier of the memory location to be updated, a 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(v) if the currently received updating count is equal to the presently resident updating count, indicating a contention situation.
- a method of replica memory updating for a single computer in which a memory location of the single computer having a specific location identifier and replicated on at least one other computer of said multiplicity of computers is updated substantially simultaneously from at least one other sources, said method of replica memory updating in the single computer comprising;
-
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 single computer 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 being interconnected via at least one communications network, and each executing a different portion of an application program written to execute on a single conventional 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 for a single computer in which a memory location of the single computer having a specific location identifier and replicated on at least one other computer of said multiplicity of computers is updated substantially simultaneously from at least one other sources, said method of replica memory updating in the single computer comprising;
(i) utilizing an updating format for a signal or packet carrying out the replica memory updating, said updating format comprising a specific identifier of the memory location to be updated, a 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(v) if the currently received updating count is equal to the presently resident updating count, indicating a contention situation.
- the modification including performing a method of replica memory updating for a single computer in which a memory location of the single computer having a specific location identifier and replicated on at least one other computer of said multiplicity of computers is updated substantially simultaneously from at least one other sources, said method of replica memory updating in the single computer comprising;
-
4. In a single computer 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 interconnected via at least one communications network, and each of the multiplicity of computers executing a different portion of an application program written to execute only on a single conventional computer, each of the multiplicity of computers having an independent local memory with at least one memory location being replicated in each said local memory of each said multiplicity of computers, and a method of detecting contention in replica memory updating in which a memory location having a specific location identifier and replicated on at least one other computer, can be updated substantially simultaneously from at least one source, said method of detecting contention in replica memory updating in the single computer 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 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
(iv) indicating a contention situation if the compared updating counts are the same.
-
-
5. 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 a single computer or information appliance operating in multiple computer system that 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 applications 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 detecting contention in replica memory updating for a single computer in which a memory location having a specific location identifier and replicated on at least one other computer, can be updated substantially simultaneously from at least one source, said method of detecting contention in replica memory updating in a single computer 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 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
(iv) indicating a contention situation if the compared updating counts are the same.
-
Specification