Modified machine architecture with machine redundancy
First Claim
1. In a multiple computer system comprising a plurality of computers each including a local processor and a local memory coupled with the local processor including a first computer and a second computer interconnected via a communications link or network operating in a replicated shared memory arrangement, a method comprising:
- acquiring (allocating) and releasing (de-allocating) replicated mutual-exclusion permission(s) in sequence by or between a plurality of computers of said multiple computer system; and
following a failure of any particular one of the plurality of computers which has acquired but not released any particular mutual-exclusion permission(s);
a. releasing or revoking or causing to be released or revoked said particular mutual-exclusion permission(s) so that an application program executing on non-failed ones of said plurality of computers can continue execution in an uninterrupted manner by acquiring (allocating) and releasing (deallocating) said particular mutual-exclusion permission(s) of said failed computer.
0 Assignments
0 Petitions
Accused Products
Abstract
A multiple computer system in which a single application program, written to execute on only a single computer, runs on multiple computers is disclosed. Each computer (M1, . . . Mn) has a substantially identical local memory structure. Synchronizing locks are used to ensure that only one computer is able to write to a local memory location and all other computers are prohibited to writing to their corresponding memory location. In the event of failure of a computer holding such a lock, the lock is arranged to be released. The released lock can then be re-allocated to another computer which has not failed. In this way failure of one, or a sequence of, computers, does not result in failure of the whole computer system.
82 Citations
79 Claims
-
1. In a multiple computer system comprising a plurality of computers each including a local processor and a local memory coupled with the local processor including a first computer and a second computer interconnected via a communications link or network operating in a replicated shared memory arrangement, a method comprising:
-
acquiring (allocating) and releasing (de-allocating) replicated mutual-exclusion permission(s) in sequence by or between a plurality of computers of said multiple computer system; and following a failure of any particular one of the plurality of computers which has acquired but not released any particular mutual-exclusion permission(s); a. releasing or revoking or causing to be released or revoked said particular mutual-exclusion permission(s) so that an application program executing on non-failed ones of said plurality of computers can continue execution in an uninterrupted manner by acquiring (allocating) and releasing (deallocating) said particular mutual-exclusion permission(s) of said failed computer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 37, 38, 39, 40, 41, 51, 52, 53, 54, 55, 56, 57, 58, 79)
-
-
33. A computer program stored on a computer readable memory device comprising instructions which, when executed on a computer, perform in at least one single computer capable of interoperating with at least one other computer coupled to at least one said single computer at least intermittently via a communications network to form a multiple computer system having a plurality of computers wherein each computer has a local memory and the multiple computer system operating in a replicated shared memory arrangement, a method comprising the steps of:
-
acquiring (allocating) and releasing (de-allocating) replicated mutual-exclusion permission(s) in sequence by or between a plurality of computers of said multiple computer system; and following a failure of any particular one of the plurality of computers which has acquired but not released any particular mutual-exclusion permission(s); a. releasing or revoking or causing to be released or revoked said particular mutual-exclusion permission(s) so that an application program executing on non-failed ones of said plurality of computers can continue execution in an uninterrupted manner by acquiring (allocating) and releasing (deallocating) said particular mutual-exclusion permission(s) of said failed computer. - View Dependent Claims (34, 42, 43, 44, 45)
-
-
46. A multiple computer system comprising:
-
a plurality of computers each including a local processor and a local memory coupled with the local processor including a first computer and a second computer interconnected via a communications link or network operating in a replicated shared memory arrangement; means for acquiring (allocating) and releasing (de-allocating) replicated mutual-exclusion permission(s) in sequence by or between a plurality of computers of said multiple computer system; and means for releasing or revoking or causing to be released or revoked said particular mutual-exclusion permission(s) following a failure of any particular one of the plurality of computers which has acquired but not released any particular mutual-exclusion permission(s) so that an application program executing on non-failed ones of said plurality of computers can continue execution in an uninterrupted manner by acquiring (allocating) and releasing (deallocating) said particular mutual-exclusion permission(s) of said failed computer. - View Dependent Claims (47, 48, 49, 50, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78)
-
Specification