Method and apparatus for asynchronous processing of dynamic replication messages
First Claim
1. A method for operating a computing apparatus as this node in a multiprocessing system having at least one paired node, this node including means for receiving request messages with respect to the paired node, comprising the steps executed at this node of:
- generating a first rank value;
receiving from said paired node a second rank value;
associating said first and second rank values with a data atom replicated at said this node and said paired node;
receiving a request message from said paired node, the request message including a third rank value, a fourth rank value, and a request;
the first and third rank values being indicative of a significant event time at this node and the second and fourth rank values being indicative of a significant event time at paired node; and
comparing said first and second rank values with said third and fourth rank values, respectively, and selectively processing said request based upon their correspondence.
2 Assignments
0 Petitions
Accused Products
Abstract
Messages at nodes of a distributed data system are processed asynchronously. Each data atom shared by a pair of nodes is characterized by dipole halves maintained at each node including an access control characteristic, a quality control characteristic, and a pair of rank values. A rank value is a value which monotonically increases (with respect to time) with each significant event. A message from a paired node requesting a change to a dipole half at this node includes the set of rank values at the paired node for the shared data atom. This node compares the rank values which it maintains with those received from the paired node and, based upon the result, selectively rejects or processes the request.
-
Citations
17 Claims
-
1. A method for operating a computing apparatus as this node in a multiprocessing system having at least one paired node, this node including means for receiving request messages with respect to the paired node, comprising the steps executed at this node of:
-
generating a first rank value; receiving from said paired node a second rank value; associating said first and second rank values with a data atom replicated at said this node and said paired node; receiving a request message from said paired node, the request message including a third rank value, a fourth rank value, and a request; the first and third rank values being indicative of a significant event time at this node and the second and fourth rank values being indicative of a significant event time at paired node; and comparing said first and second rank values with said third and fourth rank values, respectively, and selectively processing said request based upon their correspondence. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
2. A method for operating a computing apparatus as this node in a multiprocessing system having at least one paired node, comprising the steps executed at this node of:
-
maintaining at this node a first rank set for a given data atom for the node pair of this node and paired node; receiving from paired node a request message, the request message including a second rank set maintained at the paired node for the given data atom; pairwise comparing said first and second rank sets to determine the correspondence between said rank sets; and based upon said correspondence, selectively processing said request message.
-
-
17. In a method for operating a computing apparatus having a plurality of nodes including this node and paired node, with each node having means for storing at least one data atom and means responsive to a request for accessing a specified data atom, and communication means interconnecting selected nodes, the computing apparatus being operated in response to a request for accessing a specified data atom and controlling the modification of copies of data atoms at a plurality of nodes;
- wherein the computing apparatus is operated according to the steps of (1) generating a data request specifying a required currency status having an access control value of exclusive (E), unique clean (U), shared clean (S), prior (P) or not accessible (N) and having a quality control of better (B), responsible (R), joint (J), not responsible (N), worse (W), or receiving (X) for a specific data atom at the node of the request;
(2) determining if the node of the request views any other node as having for said specific data atom a currency status which is in conflict with said required access control or quality control;
(3) resolving currency conflicts; and
thereafter (4) granting the request for accessing the specified data atom;
characterized in that an improved method for detecting and resolving synchronization incidents resulting from the use of asynchronous communications between said nodes comprises the steps of;operating each node to increment and store, with respect to a given data atom shared with a paired node, as this node rank TNRANK a time indicative rank value with each change at said each node in currency control for the specified data atom in the direction from N to P to S to U to E and with each change in quality control for the specified data atom in the direction from R to J to N to X or from W to X; with each request message from paired node to this node, for the specified data atom, transmitting the current TNRANK at paired node as QPNRANK and a PNRANK currently held at paired node for this node as QTNRANK for the specified data atom; and responsive to a request message received at this node from paired node, comparing the TNRANK and QTNRANK rank values and the PNRANK and QPNRANK rank values; and
responsive to that comparison selectively rejecting the request message, or processing the request message including storing the QPNRANK value as the paired node rank PNRANK for the specified data atom at this node.
- wherein the computing apparatus is operated according to the steps of (1) generating a data request specifying a required currency status having an access control value of exclusive (E), unique clean (U), shared clean (S), prior (P) or not accessible (N) and having a quality control of better (B), responsible (R), joint (J), not responsible (N), worse (W), or receiving (X) for a specific data atom at the node of the request;
Specification