Advanced synchronization and contention resolution
First Claim
1. A computer system including a plurality of computers each having a local memory and each being interconnected via a communications network wherein a different portion of an application program written to execute on only a single computer executes substantially simultaneously on a corresponding one of said plurality of computers, at least one memory location accessible by said plurality of computers is replicated in the local memory of each said computer, said memory location including an updating count indicative of the sequence of updating of said memory location, said computer system further comprising:
- updating means associated with each said computer to in due course update each said memory location via said communications network after each occasion at which each said memory location has its content written to, or re-written, with a new content, and new updating count; and
lock means associated with each said computer to acquire a lock on an object, asset or resource;
said lock means including a recording means in which is recorded the name and updating count of all said local memory locations written to prior to releasing said lock; and
said lock means after releasing said lock and prior to permitting the acquisition of the same lock by another one of said computers transmitting said updated memory location(s) and corresponding 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.
93 Citations
16 Claims
-
1. A computer system including a plurality of computers each having a local memory and each being interconnected via a communications network wherein a different portion of an application program written to execute on only a single computer executes substantially simultaneously on a corresponding one of said plurality of computers, at least one memory location accessible by said plurality of computers is replicated in the local memory of each said computer, said memory location including an updating count indicative of the sequence of updating of said memory location, said computer system further comprising:
-
updating means associated with each said computer to in due course update each said memory location via said communications network after each occasion at which each said memory location has its content written to, or re-written, with a new content, and new updating count; and lock means associated with each said computer to acquire a lock on an object, asset or resource; said lock means including a recording means in which is recorded the name and updating count of all said local memory locations written to prior to releasing said lock; and said lock means after releasing said lock and prior to permitting the acquisition of the same lock by another one of said computers transmitting said updated memory location(s) and corresponding 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, 14)
-
-
8. A multiple computer system comprising:
-
a plurality of computers each having a local memory and each being interconnected via a communications network; means for executing a different partial portion of an application program written to execute in its entirety on only a single computer, said execution occurring substantially simultaneously on said different ones of said plurality of computers; at least one memory location accessible by said plurality of computers is replicated in the local memory of each said computer; said at least one accessible memory location including or storing an updating count indicative of the sequence of updating of said memory location; updating means associated with each said computer to in due course update each said memory location via said communications network after each occasion at which each said memory location has its content written to, or re-written, with a new content, and new updating count; and lock means associated with each said computer to acquire a lock on an object, asset or resource; said lock means including a recording means in which is recorded the name and updating count of all said local memory locations written to prior to releasing said lock; and said lock means after releasing said lock and prior to permitting the acquisition of the same lock by another one of said computers transmitting said updated memory location(s) and corresponding 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 (9, 10, 11, 12, 13)
-
-
15. A plurality of computers interconnected via at least one communications network and operable to ensure carrying out of a method comprising:
-
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; providing each of said plurality of computers with a local memory; interconnected each of said plurality of computers via a communications network; making at least one memory location accessible by said plurality of computers and replicated in the memory of each said plurality of computers; associated with the corresponding memory location 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; in due course updating all said corresponding memory locations of said computers via said communications network with said new content and new updating count; prior to initially writing said new content, acquiring a lock on an object, asset or resource; recording the name and updating count of all said local memory locations written to prior to releasing said lock; releasing said lock; and 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 (16)
-
Specification