Advanced synchronization and contention resolution
First Claim
1. In a multiple computer environment in which a different portion of an application program written to execute on only a single computer executes substantially simultaneously on a corresponding one of a plurality of computers, each of said plurality of computers having a local memory and each being interconnected via a communications network, and in which at least one memory location accessible by said plurality of computers is replicated in the memory of each said plurality of computers, and after each occasion at which each said memory location has its contents written to, or re-written, with a new content, an updating count indicative of the sequence of updating is associated with the corresponding memory location, and all said corresponding memory locations of said computers are in due course updated via said communications network with said new content and new updating count, the further improvement to the method comprising the steps of:
- (i) prior to initially writing said new content, acquiring a lock on an object, asset or resource;
(ii) recording the name and updating count of all said local memory locations written to prior to releasing said lock;
(iii) releasing said lock; and
(iv) prior to permitting the acquisition of the same lock by another one of said computers, transmitting said updated memory location(s) and most recent updating count(s) to said another one computer, whereby any said computer on acquiring said lock has acquired the new updating count(s).
0 Assignments
0 Petitions
Accused Products
Abstract
A multiple computer environment is disclosed in which an application program executes simultaneously on a plurality of computers (M1, M2, . . . Mn) interconnected by a communications network (3) and in which the local memory of each computer is maintained substantially the same by updating in due course. A lock mechanism is provided to permit exclusive access to an asset, object, or structure (ie memory location) by acquisition and release of the lock. In particular, before a new lock can be acquired by any other computer on a memory location previously locked by one computer, any updating count(s) for the previously locked memory location are transmitted to all the other computers and their corresponding memory locations (before the in due course updating). Thus the lock acquiring computer can ascertain if its local memory has been adequately updated.
9 Citations
22 Claims
-
1. In a multiple computer environment in which a different portion of an application program written to execute on only a single computer executes substantially simultaneously on a corresponding one of a plurality of computers, each of said plurality of computers having a local memory and each being interconnected via a communications network, and in which at least one memory location accessible by said plurality of computers is replicated in the memory of each said plurality of computers, and after each occasion at which each said memory location has its contents written to, or re-written, with a new content, an updating count indicative of the sequence of updating is associated with the corresponding memory location, and all said corresponding memory locations of said computers are in due course updated via said communications network with said new content and new updating count, the further improvement to the method comprising the steps of:
-
(i) prior to initially writing said new content, acquiring a lock on an object, asset or resource; (ii) recording the name and updating count of all said local memory locations written to prior to releasing said lock; (iii) releasing said lock; and (iv) prior to permitting the acquisition of the same lock by another one of said computers, transmitting said updated memory location(s) and most recent updating count(s) to said another one computer, whereby any said computer on acquiring said lock has acquired the new updating count(s). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer program stored in a computer readable media, the computer program including executable computer program instructions and adapted for execution by at least one computer to modify the operation at least one computer of a multiple computer system in which a different portion of an application program written to execute on only a single computer executes substantially simultaneously on a corresponding one of a plurality of computers, each of said plurality of computers having a local memory and each being interconnected via a communications network, and in which at least one memory location accessible by said plurality of computers is replicated in the memory of each said plurality of computers, and after each occasion at which each said memory location has its contents written to, or re-written, with a new content, an updating count indicative of the sequence of updating is associated with the corresponding memory location, and all said corresponding memory locations of said computers are in due course updated via said communications network with said new content and new updating count, the modification of operation including performing a method further comprising the steps of:
-
(i) prior to initially writing said new content, acquiring a lock on an object, asset or resource; (ii) recording the name and updating count of all said local memory locations written to prior to releasing said lock; (iii) releasing said lock; and (iv) prior to permitting the acquisition of the same lock by another one of said computers, transmitting said updated memory location(s) and most recent updating count(s) to said another one computer, whereby any said computer on acquiring said lock has acquired the new updating count(s). - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method for updating memory locations with a new content in at least one of a plurality of computers each of which includes a local memory, said method characterized in that:
-
(i) prior to initially writing said new content, acquiring a lock on an object, asset or resource; (ii) recording a name and updating count of all said local memory locations written to prior to releasing said lock; (iii) releasing said lock; and (iv) prior to permitting the acquisition of the same lock by another one of said plurality of computers, transmitting said updated memory location(s) and most recent updating count(s) to said another one of said plurality of computers, whereby any said computer on acquiring said lock has acquired the new updating count(s).
-
-
22. A computer program stored in a computer readable media, the computer program including executable computer program instructions and adapted for execution by at least one computer to modify the operation at least one computer of a multiple computer system including a plurality of computers, the modification of operation including performing a method for updating memory locations with a new content in at least one of a plurality of computers each of which includes a local memory, said method including:
-
(i) prior to initially writing said new content, acquiring a lock on an object, asset or resource; (ii) recording a name and updating count of all said local memory locations written to prior to releasing said lock; (iii) releasing said lock; and (iv) prior to permitting the acquisition of the same lock by another one of said plurality of computers, transmitting said updated memory location(s) and most recent updating count(s) to said another one of said plurality of computers, whereby any said computer on acquiring said lock has acquired the new updating count(s).
-
Specification