Modified machine architecture with advanced synchronization
First Claim
1. In a multiple computer environment in which different portions of at least one application program each written to execute on only a single computer, each execute substantially simultaneously on a corresponding one of a plurality of computers, each having a local memory and each being interconnected via a communications network, and in which at least one memory location 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, all said corresponding memory locations of said computers are in due course updated via said communications network with said new content, the further improvement 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 updated content of 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 updated content(s) to said another one computer, whereby any said computer on acquiring said lock has acquired said previously updated contents without needing to wait for said in due course updating of all said computers.
2 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 (53) 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 re-written content(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 when the new lock is acquired all the corresponding memory locations of all computers have been updated.
-
Citations
36 Claims
-
1. In a multiple computer environment in which different portions of at least one application program each written to execute on only a single computer, each execute substantially simultaneously on a corresponding one of a plurality of computers, each having a local memory and each being interconnected via a communications network, and in which at least one memory location 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, all said corresponding memory locations of said computers are in due course updated via said communications network with said new content, the further improvement 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 updated content of 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 updated content(s) to said another one computer, whereby any said computer on acquiring said lock has acquired said previously updated contents without needing to wait for said in due course updating of all said computers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 19, 20)
-
- 11. A computer system comprising a plurality of computers each having a local memory and each being interconnected via a communications network wherein different portions of at least one application program each written to execute on only a single computer, each execute substantially simultaneously on a corresponding one of said plurality of computers, at least one memory location is replicated in the local memory of each said computer, said 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 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 updated content 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 updated content(s) to said another one computer, whereby any said computer on acquiring said lock has acquired said previously updated contents without needing to wait for said in due course updating of all said computers.
-
21. A single computer intended to operate in a multiple computer system which comprises a plurality of computers each having a local memory and each being interconnected via a communications network wherein different portions of at least one application program each written to execute on only a single computer, each execute substantially simultaneously on a corresponding one of said plurality of computers, and at least one memory location is replicated in the local memory of each said computer, said 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,
said single computer comprising: -
a local memory having at least one memory location intended to be updated via a communications port connectable to said communications network, updating means to in due course update the memory locations of other substantially similar computers via said communications port;
lock means associated with said local memory to acquire a lock on an object, asset or resource of said local memory, said lock means including a recording means in which is recorded the name and updated content of 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, transferring said updated memory location(s) and updated content(s) to said communications port for transmittal to said another one computer whereby any said another one computer on acquiring said lock has acquired said previously updated contents without needing to wait for said in due course updating of all said computers. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
-
-
29. In a single computer, adapted to interoperate with a plurality of other external computers as a multiple computer system wherein said computer has a local processor and a local memory coupled to the local processor and said computers are at least intermittently interconnected via a communications network, and wherein different portions of an application program written to execute on only a one computer are modified to execute substantially simultaneously on said single computer and said plurality of computers, and wherein at least one memory location is replicated in the local memory of each said computer, each said computer including memory location updating means 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;
- a method comprising;
acquiring a lock on an object, asset, or resource of said local memory of said single computer prior to initially writing said new content;
recording the name and updated content of said at least one local memory location of said single computer written to prior to releasing said lock;
releasing said lock on said object, asset, or resource of said local memory of said single computer; and
sending a communication of said updated memory location(s) and updated content(s) to other of said plurality of computers by said single computer over said communications network. - View Dependent Claims (30, 31, 32, 33)
- a method comprising;
-
34. In a single computer, adapted to interoperate with a plurality of other external computers as a multiple computer system wherein said computer has a local processor and a local memory coupled to the local processor and said computers are at least intermittently interconnected via a communications network, and wherein different portions of an application program written to execute on only a one computer are modified to execute substantially simultaneously on said single computer and said plurality of computers, and wherein at least one memory location is replicated in the local memory of each said computer, each said computer including memory location updating means 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;
- a method comprising;
receiving a communication of updated memory location(s) and updated content(s) to send by a different one of said plurality of computers by said single computer over said communications network; and
updating the local memory locations of said single computer in response to said received communication. - View Dependent Claims (35, 36)
- a method comprising;
Specification