← Back to Patent Explorer
US5951695A Expired / Lapsed US ⏱️ 0.0 years remaining

Fast database failover

Assignee: Hewlett Packard Enterprise Development LP
•
Filing: 1997-07-25
•
Granted: 1999-09-14
•
Expires: 2017-07-25
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A database system facilitates quick failover. The database system includes a primary node, a standby node and a fast interconnect between the primary node and the standby node. The primary node includes a primary buffer pool which stores pages of the database information, and a log storage which receives a log of updates for the pages within the primary buffer pool. When a page is to be updated by a primary node, the primary node sends a copy of a before update image of the page to the standby node. When the primary log writes logs of updates to the log storage, the primary node also forwards the logs of updates to the standby node.

Inventors

  • 👤 Curtis P. Kolovson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 11:27
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/16; G06F11/20; G06F11/2053; G06F11/2056; G06F11/2071; G06F11/14; G06F11/1446; G06F11/1448; G06F11/1451; G06F11/2066

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 74 words
A method for facilitating failover within a database system comprising the following steps: (a) when during normal operation of a primary node, a page is to be updated by the primary node, sending a copy of a before update image of the page to a standby node; (b) writing a log of updates for the page to a log storage; and, (c) forwarding the log of updates for the page to the standby node.
Claim 2
Independent Claim 74 words
A method for facilitating failover within a database system comprising the following steps: (a) when during normal operation of a primary node, a page is to be updated by the primary node, sending a copy of a before update image of the page to a standby node; (b) writing a log of updates for the page to a log storage; and, (c) forwarding the log of updates for the page to the standby node.
Claim 3
Dependent Claim 73 words
A method as in claim 1 wherein step (a) includes the following substeps: (a.1) if the page does not exist in a buffer pool within the primary node, fetching the page from database storage into the buffer pool; (a.2) if the page existing in the buffer pool is clean, sending the copy of the before update image of the page to the standby node; and, (a.3) updating the page on the primary node.
Claim 4
Dependent Claim 28 words
A method as in claim 1 wherein step (b) and step (c) are performed when the page is dirty and is being written back to a database storage.
Claim 5
Dependent Claim 26 words
A method as in claim 1 wherein step (b) and step (c) are performed when a transaction which updates the page is in a commit phase.
Claim 6
Dependent Claim 141 words
A method as in claim 1 additionally comprising the following steps performed after step (a): (d) receiving the copy of the before update image of the page by the standby node; (e) discarding the before update image of the page, by the standby node, when the standby node already is storing a version of the page which is identical with the before update image of the page; (f) when the standby node already is storing a version of the page which is not identical with the before update image of the page, replacing, by the standby node, the version of the page which is not identical with the before update image of the page; and, (g) when the standby node is not currently storing any version of the page, storing, by the standby node, the before update image of the page.
Claim 7
Dependent Claim 82 words
A method as in claim 1 additionally comprising the following steps performed after step (c): (d) receiving, by the standby node, the log of updates for the page; (e) when a copy of the page does not reside in a buffer pool within the standby node, obtaining the page and placing the page into the buffer pool within the standby node; and, (f) performing, by the standby node, redo recovery on the page based on the log of updates for the page.
Claim 8
Dependent Claim 49 words
A method as in claim 6 additionally comprising the following step performed after step (d): (g) inserting an entry into an active transaction cache table within the standby node, the entry indicating a transaction which updates the page and a pointer into a log spool for the standby node.
Claim 9
Dependent Claim 36 words
A method as in claim 7 additionally comprising the following step: (h) upon the standby node receiving a commit transaction record for the transaction, deleting the entry for the transaction in the active transaction cache table.
Claim 10
Dependent Claim 61 words
A method as in claim 7 additionally comprising the following step: (h) upon the standby node receiving a rollback record for the transaction, performing the following substeps by the standby node: (h.1) deleting the entry for the transaction in the active transaction cache table; and, (h.2) performing undo recovery on the page based on the log of updates for the page.
Claim 11
Dependent Claim 96 words
A method as in claim 1 additionally comprising the following step: (d) upon failure of the primary node, performing the following substeps: (d.1) activating connections between the standby node and the log storage and between the standby node and database storage, (d.2) performing undo recovery on pages within a buffer pool within the standby node to rollback updates made by transactions that were left active upon the failure of the primary node, and (d.3) initiating a database checkpoint on the standby node in order to flush dirty pages within the buffer pool to the database storage.
Claim 12
Dependent Claim 28 words
A method as in claim 10 wherein step (d) additionally comprises the following substep: (d.4) attempting, by the standby node, to initiate contact with a new standby node.
Claim 13
Dependent Claim 111 words
A database system comprising: a database storage which stores database information; a primary node, comprising: a primary buffer pool which stores pages of the database information, and a log storage for receiving a log of updates for the pages within the primary buffer pool; and, a standby node; wherein when during normal operation of the primary node a page is to be updated by the primary node, the primary node sends a copy of a before update image of the page to the standby node, and wherein when the primary writes logs of updates to the log storage, the primary node also forwards the logs of updates to the standby node.
Claim 14
Dependent Claim 111 words
A database system comprising: a database storage which stores database information; a primary node, comprising: a primary buffer pool which stores pages of the database information, and a log storage for receiving a log of updates for the pages within the primary buffer pool; and, a standby node; wherein when during normal operation of the primary node a page is to be updated by the primary node, the primary node sends a copy of a before update image of the page to the standby node, and wherein when the primary writes logs of updates to the log storage, the primary node also forwards the logs of updates to the standby node.
Claim 15
Dependent Claim 35 words
A database system as in claim 12 wherein when the page to be updated does not exist in the primary buffer pool, the primary node fetches the page from database storage into the buffer pool.
Claim 16
Dependent Claim 152 words
A database system as in claim 12 wherein the standby node comprises: a standby buffer pool, wherein when the standby node receives the copy of the before update image of the page by the standby node: the standby node discards the before update image of the page when the standby node already is storing in the standby buffer a version of the page which is identical with the before update image of the page, when the standby node already is storing a version of the page in the standby buffer which is not identical with the before update image of the page, the standby node replaces the version of the page which is not identical with the before update image of the page, and when the standby node is not currently storing any version of the page, the standby node stores the before update image of the page in the standby buffer.
Claim 17
Dependent Claim 64 words
A database system as in claim 12 wherein the standby node comprises: a standby buffer pool; and, a log record reception buffer for receiving the logs of updates forwarded to the standby node by the primary node, wherein the standby node performs redo recovery on pages within the standby buffer pool based on the logs of updates received by the log record reception buffer.
Claim 18
Dependent Claim 107 words
A database system as in claim 15 additionally comprising: a first connection between the standby node and the database storage; and, a second connection between the standby node and the log storage within the primary node; wherein upon failure of the primary node, the standby node activates the first connection and the second connection, the standby node performs undo recovery on pages within the standby buffer pool to rollback updates made by transactions that were left active upon the failure of the primary node, and the standby node initiates a database checkpoint in order to flush dirty pages within the standby buffer pool to the database storage.
Claim 19
Dependent Claim 27 words
A database system as in claim 16 wherein upon failure of the primary node, the standby node additionally attempts to initiate contact with a new standby node.
Claim 20
Dependent Claim 74 words
A database system as in claim 12 wherein the standby node comprises: a standby buffer pool; a log storage into which are stored the logs of updates forwarded to the standby node by the primary node; and, an active transaction cache table, entries within the active transaction cache table including an indication of a transaction which updates a page in the standby buffer pool, and a pointer into the log storage for the transaction.
Claim 21
Dependent Claim 38 words
A database system as in claim 18 wherein the standby node deletes a first entry from the active transaction cache table upon the standby node receiving a commit transaction record for a first transaction indicated by the entry.
Claim 22
Dependent Claim 59 words
A database system as in claim 18 wherein upon the standby node receiving a rollback record for a first transaction, the standby node deletes from the active transaction cache table a first entry which includes an indication of the first transaction, and the standby node performs an undo recovery on any pages which are modified by the first transaction.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-09-13 2003-03-15 2003-09-14 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-09-13 2007-03-15 2007-09-14 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-09-13 2011-03-15 2011-09-14 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag