Polling-based mechanism for improved RPC timeout handling
First Claim
1. A method to handle a timeout condition comprising:
- establishing a first connection between a client and a server;
sending a request for a transaction to the server using the first connection;
establishing a second connection between the client and the server;
sending a poll request to the server using the second connection to determine whether the timeout condition exists; and
receiving a poll response from the server.
9 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides for a method and computer program product for handling timeout in a standard RPC connection. First, a client establishes a connection with a server with unique identification. After submitting an RPC request, the client system will periodically make secondary requests to the server to determine if the server is still actively processing the primary RPC request. If the secondary request is processed successfully and the server indicates that the primary request is still in progress, the client will continue to wait until either the primary request completes or enough time elapses to warrant another secondary request. The success of the secondary request hinges on finding a match of identification for the primary and secondary requests. If the secondary request fails, this failure is treated as a sign that there is either a network or a server problem, and the client is triggered into taking appropriate corrective action. To provide for a reasonably graceful failure mechanism, this polling protocol can be modified to require a predetermined number of successive secondary poll failures before signaling a failure of the primary RPC request.
-
Citations
39 Claims
-
1. A method to handle a timeout condition comprising:
-
establishing a first connection between a client and a server;
sending a request for a transaction to the server using the first connection;
establishing a second connection between the client and the server;
sending a poll request to the server using the second connection to determine whether the timeout condition exists; and
receiving a poll response from the server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 24)
-
-
8. A method to handle a timeout condition comprising:
-
receiving a request for a transaction;
posting an identification for a transaction between the client and a server to a tracking list to record that the request is being processed;
receiving a poll request with identification; and
matching the identification from the poll request to the identification for the transaction on the tracking list for the timeout condition. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A method to handle a timeout condition comprising:
-
establishing an identification for a transaction between a client and a server;
requesting a transaction to the server wherein the request is terminated in response to the timeout condition;
at the server, posting the identification for the transaction between the client and a server to a tracking list to record that the request is being processed;
sending a poll request to the server to determine whether the timeout condition exists; and
at the server, matching the identification from the poll request to the identification for the transaction on the tracking list for the timeout condition. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A computer program product to handle a timeout condition comprising:
-
first instructions for establishing an identification for a transaction between a client and a server;
second instructions for requesting a transaction to the server wherein the request is terminated in response to the timeout condition;
third instructions for, at the server, posting the identification for the transaction between the client and a server to a tracking list to record that the request is being processed;
fourth instructions for sending a poll request to the server to determine whether the timeout condition exists; and
fifth instructions for, at the server, matching the identification from the poll request to the identification for the transaction on the tracking list for the timeout condition. - View Dependent Claims (21, 22, 23, 25, 26)
-
-
27. An apparatus for handling a timeout condition comprising:
-
means for establishing a first connection between a client and a server;
means for sending a request for a transaction to the server using the first connection;
means for establishing a second connection between the client and the server;
means for sending a poll request to the server using the second connection to determine whether the timeout condition exists; and
means for receiving a poll response from the server. - View Dependent Claims (28, 29, 30, 31, 32, 33)
-
-
34. An apparatus for handling a timeout condition comprising:
-
means for receiving a request for a transaction;
means for posting an identification for a transaction between the client and a server to a tracking list to record that the request is being processed;
means for receiving a poll request with identification; and
means for matching the identification from the poll request to an identification for the transaction on the tracking list for the timeout condition. - View Dependent Claims (35, 36, 37, 38)
-
-
39. A computer system comprising:
-
a first computer;
a second computer;
wherein the first and second computer establish a first connection using remote procedure call for sending a request;
wherein the first and second computer establish a second connection using remote procedure call for sending the poll request wherein the poll request determines whether a timeout condition exists.
-
Specification