Redundant multiple computer architecture
A multiple computer system incorporating a redundant memory architecture is disclosed. Memory locations ( 0 - 99 , A-C) stored on one machine (C 1 , M 1 ) are stored on the hierarchically adjacent machines (C 2 , M 2 ) and maintained updated. In the event of the failure of only one machine, the hierarchically adjacent machine has the memory locations of the failed machine and is able to resume or take over the computational tasks of the failed machine thereby providing a measure of redundancy. Both distributed memory systems (DSM) and replicated memory system (RSM) are disclosed. In particular, a partially replicated memory system, structure, and method for replicating in using the same, are all disclosed.
1 . A method of storing data in a multiple computer system comprising a plurality of computers each having a local memory and each being interconnected to the other computers via a communications network, said method comprising:
(i) partitioning the local memory of each computer into two compartments;
(ii) for each computer storing data created by, or required for, the operation of said computer firstly in a compartment in said computer, and secondly in a compartment of one other computer; and
(iii) updating changes in content or value in said stored data at both said compartments;
whereby in the event of failure of only one of said computers said stored and updated data is available in the remaining computers.
2 . The method as in claim 1 , including the further step of:
(iv) allocating a hierarchical order to said computers; and
(v) for each computer storing the data for that computer in one of said local memory compartments and storing the data for the hierarchically adjacent computer in the other compartment of said local memory.
3 . The method as in claim 2 , including the step of:
(vi) making all the data stored on each computer accessible to all other ones of said computers to thereby form a distributed shared memory computer system.
4 . The method as in claim 12 , including the step of:
(vii) replicating some of the stored data and storing same on each said computer, but not replicating all of said stored data to thereby form a partially replicated stored memory computer system.
5 . The method as in claim 4 , wherein the replicated stored memory of each computer is substantially the same.
6 . The method as in claim 4 , wherein the replicated stored memory is substantially located in a single computer.
7 . The method as in claim is 1 , including the further step of:
transmitting changes made to a memory location of a first computer to another computer for storage therein, and said other computer transmitting said changes to the remaining computers.
8 . The method as in claim 7 , wherein said multiple computers are arranged in a hierarchical order and said first computer and said other computer are adjacent computers in said hierarchical order.
9 . A computer program stored in a computer readable media, the computer program including executable computer program instructions and adapted for execution by a plurality of computers in a multiple computer system including a plurality of computers to modify the operation of the multiple computer system; the modification of operation including performing a method of storing data in said multiple computer system, said method comprising:
(i) partitioning the local memory of each computer into two compartments;
(ii) for each computer storing data created by, or required for, the operation of said computer firstly in a compartment in said computer, and secondly in a compartment of one other computer; and
(iii) updating changes in content or value in said stored data at both said compartments;
whereby in the event of failure of only one of said computers said stored and updated data is available in the remaining computers.
10 . A multiple computer system comprising:
a plurality of computers each having a local memory and each being interconnected to the other computers via a communications network, the local memory of each computer being partitioned into two compartments;
data storage allocation means to allocate to each computer data created by, or required for, the operation of that computer firstly in a compartment in that computer, and secondly in a compartment of one other computer; and
data updating means to store changes in the content or value of said stored data at both said compartments;
whereby in the event of failure of only one of said computers all said stored and updated data is available in the remaining computers.
11 . The system as in claim 10 , wherein said computers are arranged in a hierarchical order and each computer stores data for that computer in one of said local memory compartments and stores data for the hierarchically adjacent computer in the other compartment of said local memory.
12 . The system as in claim 10 , wherein all data stored on each computer is accessible to all other ones of said computers so that said system comprises a distributed shared memory computer system.
13 . The system as in claim 10 , wherein some of said stored data is replicated and stored on each of said computers, but not all of said stored data is replicated, so that said system comprises a partially replicated stored memory computer system.
14 . The system as in claim 13 , wherein the replicated stored memory of each computer is substantially the same.
15 . The system as in claim 10 , wherein the replicated stored memory is substantially located in a single computer.
16 . The system as in any one of claim 15 , wherein changes made to a memory location of a first computer are transmitted to another computer for storage therein, and said other computer transmitting said changes to the remaining computers.
17 . The system as in claim 16 , wherein said multiple computers are arranged in a hierarchical order and said first computer and said other computer are adjacent computers in said hierarchical order.
18 . A data storage allocation control system comprising:
means for identifying data created by or required for the operation of a particular primary computer; and
means for allocating said identified data firstly in a first partitioned memory compartment in that particular primary computer, and for allocating said identified data secondly in a second partitioned memory compartment of one other computer different from said primary computer.
19 . A data storage allocation control system as defined in claim 18 , further comprising:
data updating means to store changes in the content or value of said stored data at both said first and said second compartments.