Data processing system
First Claim
1. A data processing system comprising a plurality of processing nodes interconnected by data transmission means for receiving messages from the nodes and delivering the messages in the same sequence to all the nodes including the nodes which originated the messages, each node comprising:
- (a) a data store holding data items unique to the node and also holding a copy of each of a plurality of shared data items,(b) a data processor coupled to the data store for reading and updating data items in the store,(c) means responsive to the processor updating a shared data item, for generating a message containing the updated value of the data item and its address,(d) means for transmitting the message over the transmission means,(e) means for receiving messages from the transmission means,(f) means responsive to the reception of a message originating from another node, for updating the shared data item identified by the address contained in the message,(g) means for producing a signal whenever a message has been generated by the node but has not yet been received back from the transmission means, and(h) means operative upon reception of a message originating from another node, while said signal is present, for temporarily suspending operation of the processor.
1 Assignment
0 Petitions
Accused Products
Abstract
A data processing system comprising multiple processing nodes each containing a processor and a data store. The store holds local data, and also holds copies of shared data required by the node. This reduces conflict between the nodes in accessing the shared data. When one node updates the shared data, it sends an update message to all the other nodes over a transmission link. The processor is then free to continue processing. When the message reaches the other nodes, it updates the other copies of the shared data, so as to ensure consistency. Each node receives messages from the link in the same order, and this defines a unique chronological order for the updates, even though the nodes are asynchronous. A node is temporarily suspended if an update occurs out of this correct chronological order.
-
Citations
8 Claims
-
1. A data processing system comprising a plurality of processing nodes interconnected by data transmission means for receiving messages from the nodes and delivering the messages in the same sequence to all the nodes including the nodes which originated the messages, each node comprising:
-
(a) a data store holding data items unique to the node and also holding a copy of each of a plurality of shared data items, (b) a data processor coupled to the data store for reading and updating data items in the store, (c) means responsive to the processor updating a shared data item, for generating a message containing the updated value of the data item and its address, (d) means for transmitting the message over the transmission means, (e) means for receiving messages from the transmission means, (f) means responsive to the reception of a message originating from another node, for updating the shared data item identified by the address contained in the message, (g) means for producing a signal whenever a message has been generated by the node but has not yet been received back from the transmission means, and (h) means operative upon reception of a message originating from another node, while said signal is present, for temporarily suspending operation of the processor. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of operating a data processing system comprising a plurality of processing nodes, each node including a data store and a data processor coupled to the store, and data transmission means for receiving messages from the nodes and delivering the messages in the same sequence to all the nodes, the method comprising the steps:
-
(a) storing local data items unique to individual nodes in the data stores of the respective nodes, (b) storing copies of shared data items in the data stores of respective nodes, (c) whenever the processor in one node updates the copy of a shared data item held in the data store of that node, generating in said one node a message containing the updated value of the shared data item and its address, and making a record that a message has been generated, (d) transmitting the message from said one node over the link to all the nodes, including said one node, (e) enabling the processor in said one node to continue processing without waiting for the message to reach the other nodes, (f) when the message is received by the other nodes, updating the copies of the shared data item held in the data stores of those other nodes, (g) when the message is received back from the link by said one node, canceling said record, and (h) in the event that a message originating from another node is received by said one node while said record is present, temporarily suspending operation of the processor in said one node. - View Dependent Claims (8)
-
Specification