Method and system for implementing failover for database cursors
AssigneeOracle International Corporation
InventorsRobert Jenkins, Mehul Bastawala, Srinath Krishnaswamy
Life of this patent
Estimating the term…
Abstract
A method and system for implementing failover in a computer system is provided. For a failover involving an order-sensitive dataset or application, a mechanism is provided to detect order inconsistencies between a first set of data and a second set of data, in which the first set of data corresponds to a first connection established before the failover and the second set of data corresponds to a second connection established after the failover.
Claims66
A method for recovering after the failure of a first server to which a client was connected for accessing a resource, the method comprising:
- connecting a client to a first server node to access a resource for using a scrollable cursor;
- recording state information for the connection between the client and the first server node, the state information comprising an order-sensitive checksum;
- detecting that a connection between the first server node and the client has failed;
- automatically connecting the client with a second server node, the second server node configurable to access the resource, wherein the state information is utilized to determine whether the client can continue processing with previously accessed data transmitted from the first server node;
- and
- allowing the client to continue processing with the previously accessed data transmitted from the first server node if the state information indicates consistency with newly accessed data from the second server node.
A method for recovering after the failure of a server to which a client is connected, the method comprising:
- a) executing a scrollable cursor at a primary server node;
- b) transmitting state information from the primary server node to the client during a fetch communication, the state information comprising a row count and an order-sensitive checksum value;
- c) detecting a failure in communications between the primary server node and the client;
- d) re-executing the scrollable cursor at a backup server node;
- e) comparing the order-sensitive checksum value against a second order-sensitive checksum value, the second order-sensitive checksum value derived at the backup server node using the row count;
- and
- f) allowing the client to continue processing with previously accessed data transmitted from the primary server node if consistency is identified between the order-sensitive checksum value and the second order-sensitive checksum value.
A computer program product comprising a computer usable medium having executable code to execute a process for recovering after the failure of a server to which a client is connected, the process comprising:
- a) executing a scrollable cursor at a primary server node;
- b) transmitting state information from the primary server node to the client during a fetch communication, the state information comprising a row count and an order-sensitive checksum value;
- c) detecting a failure in communications between the primary server node and the client;
- d) re-executing the scrollable cursor at a backup server node;
- e) comparing the order-sensitive checksum value against a second order-sensitive checksum value, the second order-sensitive checksum value derived at the backup server node using the row count;
- and
- f) allowing the client to continue processing with previously accessed data transmitted from the primary server node if consistency is identified between the order-sensitive checksum value and the second order-sensitive checksum value.
A system for recovering after the failure of a server to which a client is connected, the system comprising:
- a) means for executing a scrollable cursor at a primary server node;
- b) means for transmitting state information from the primary server node to the client during a fetch communication, the state information comprising a row count and an order-sensitive checksum value;
- c) means for detecting a failure in communications between the primary server node and the client;
- d) means for re-executing the scrollable cursor at a backup server node;
- e) means for comparing the order-sensitive checksum value against a second order-sensitive checksum value, the second order-sensitive checksum value derived at the backup server node using the row count;
- and
- f) means for allowing the client to continue processing with previously accessed data transmitted from the primary server node if consistency is identified between the order-sensitive checksum value and the second order-sensitive checksum value.
A method for recovering after failure of a first server to which a client was connected for accessing a resource, the method comprising:
- detecting that a connection between the first server and the client has failed;
- automatically connecting the first client with a second server that has access to the resource;
- and
- accessing the resource through the second server, wherein an order-sensitive checksum is employed to verify usability of the resource.
A computer program product that includes a computer readable medium, the computer readable medium comprising instructions which, when executed by a processor, causes the processor to execute a process for recovering after the failure of a first server to which a client was connected for accessing a resource, the process comprising:
- connecting a client to a first server node to access a resource for using a scrollable cursor;
- recording state information for the connection between the client and the first server node, the state information comprising an order-sensitive checksum;
- detecting that a connection between the first server node and the client has failed;
- automatically connecting the client with a second server node, the second server node configurable to access the resource, wherein the state information is utilized to determine whether the client can continue processing with previously accessed data transmitted from the first server node;
- and
- allowing the client to continue processing with the previously accessed data transmitted from the first server node if the state information indicates consistency with newly accessed data from the second server node.
A system for recovering after the failure of a first server to which a client was connected for accessing a resource, the system comprising:
- means for connecting a client to a first server node to access a resource for using a scrollable cursor;
- means for recording state information for the connection between the client and the first server node, the state information comprising an order-sensitive checksum;
- means for detecting that a connection between the first server node and the client has failed;
- means for automatically connecting the client with a second server node, the second server node configurable to access the resource, wherein the state information is utilized to determine whether the client can continue processing with previously accessed data transmitted from the first server node;
- and
- means for allowing the client to continue processing with the previously accessed data transmitted from the first server node if the state information indicates consistency with newly accessed data from the second server node.
A computer program product that includes a computer readable medium, the computer readable medium comprising instructions which, when executed by a processor, causes the processor to execute a process for recovering after failure of a first server to which a client was connected for accessing a resource, the process comprising:
- detecting that a connection between the first server and the client has failed;
- automatically connecting the client with a second server that has access to the resource;
- and
- accessing the resource through the second server, wherein an order-sensitive checksum is employed to verify usability of the resource.
A system for recovering after failure of a first server to which a client was connected for accessing a resource, the system comprising:
- means for detecting that a connection between the first server and the client has failed;
- means for automatically connecting the client with a second server that has access to the resource;
- and
- means for accessing the resource through the second server, wherein an order-sensitive checksum is employed to verify usability of the resource.
Dependencies are inferred from the claim text.