Protecting duplicate/lost updates against host failures
First Claim
1. In a data processing system having a number of users coupled to a number of hosts, the number of hosts coupled to a common memory and executing a concurrent application, each one of a number of user sessions corresponding to a one of the number of users communicating with a one of the number of hosts executing the concurrent application, the one of the number of users communicating with the one of the number of hosts by sending a number of messages to and receiving the number of messages from the one of the number of hosts, the improvement comprising:
- a. counting means coupled to the number of hosts for counting the number of messages, said counting means counting the number of messages for the corresponding one of the number of user sessions;
b. incrementing means coupled to said counting means for incrementing said counting means when the concurrent application creates a one of the number of messages to be sent to the corresponding one of the number of users; and
c. decrementing means coupled to said counting means for decrementing said counting means when the one of the number of messages is released to the corresponding one of the number of users.
9 Assignments
0 Petitions
Accused Products
Abstract
Method and apparatus for tracking messages and transactions communicated between a number of users and a number of hosts, where the hosts are executing concurrent applications. During a first user session, a first user communicates with a first host. A counter associated with the first user session is incremented when the application creates an output message. The counter is decremented when the output message is released to the first user. A flag associated with the first user session is set and the counter is incremented once the flag is set, if an input message or committing transaction is received from the first user. The flag is cleared and the counter is decremented when the input message or committing transaction is processed by the concurrent application. The counter being decremented indicates there are no dependencies during the first user session with regard to the output message, input message, or committing transaction. If a second user session is initiated with a second host, the second host determines if there are any dependencies with the first user session. A dependency exists if the output message is created but not released, or if the input message or committing transaction is received but not processed. If there are dependencies, the first user session is reestablished to resolve the dependencies, otherwise, the second session is continued.
26 Citations
31 Claims
-
1. In a data processing system having a number of users coupled to a number of hosts, the number of hosts coupled to a common memory and executing a concurrent application, each one of a number of user sessions corresponding to a one of the number of users communicating with a one of the number of hosts executing the concurrent application, the one of the number of users communicating with the one of the number of hosts by sending a number of messages to and receiving the number of messages from the one of the number of hosts, the improvement comprising:
-
a. counting means coupled to the number of hosts for counting the number of messages, said counting means counting the number of messages for the corresponding one of the number of user sessions;
b. incrementing means coupled to said counting means for incrementing said counting means when the concurrent application creates a one of the number of messages to be sent to the corresponding one of the number of users; and
c. decrementing means coupled to said counting means for decrementing said counting means when the one of the number of messages is released to the corresponding one of the number of users.
-
-
2. A data processing system having a number of users coupled to a number of hosts, the number of hosts coupled to a common memory and executing a concurrent application, each one of a number of user sessions corresponding to a one of the number of users communicating with a one of the number of hosts executing the concurrent application, the one of the number of users communicating with the one of the number of hosts by sending a number of messages to and receiving the number of messages from the one of the number of hosts, comprising:
-
a. counting means coupled to the number of hosts for counting the number of messages, said counting means counting the number of messages for the corresponding one of the number of user sessions;
b. incrementing means coupled to said counting means for incrementing said counting means when the concurrent application creates a one of the number of messages to be sent to the corresponding one of the number of users; and
c. decrementing means coupled to said counting means for decrementing said counting means when the one of the number of messages is released to the corresponding one of the number of users. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A data processing system having a number of users coupled to a number of hosts, the number of hosts coupled to a common memory and executing a concurrent application, each one of a number of user sessions corresponding to a one of the number of users communicating with a one of the number of hosts executing the concurrent application, the one of the number of users communicating with the one of the number of hosts by sending a number of messages to and receiving the number of messages from the one of the number of hosts, comprising:
a. a number of counters coupled to the number of hosts for counting the number of messages, each one of said number of counters corresponding to the one of the number of user sessions to count the number of messages for the corresponding one of the number of user sessions. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
Specification