Patent US1655211A successfully refreshed from Google Patents.
Patent US4190348A successfully refreshed from Google Patents.
Patent US6014673A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6014673A Expired / Lapsed US ⏱️ 0.0 years remaining

Simultaneous use of database and durable store in work flow and process flow systems

Assignee: Google LLC
•
Filing: 1997-05-13
•
Granted: 2000-01-11
•
Expires: 2017-05-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for reliable high-speed access to a database system that stores system data in a non-volatile database, stores current data in an online database object cache, the current data reflecting at least a portion of the system data in the non-volatile database and the online database object cache providing the database system with the capability of querying and updating the current data in the online database object cache, logging each message in the database system as an entry in a durable log file, and periodically committing the current data in the online database object cache to the non-volatile database.

Inventors

  • 👤 James W. Davis
  • 👤 Weimin Du
  • 👤 Ming Chien Shan
  • 👤 Nicholas Sheard

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 12:12
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/14; G06F11/1471; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99953

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 137 words
A method for reliable high-speed access to a database system, comprising: storing system data in a non-volatile database; storing current data in an object cache, the current data reflecting at least a portion of the system data in the non-volatile database, the object cache providing the database system with the capability of querying and updating the current data; database and the object cache, wherein (1) each message contains historical and updating data of the current data and (2) the log file allows recovery of the database system in the event of a system failure by reconstructing the current data in the object cache, wherein no database commit is required in the log file or the database when the log file logs each message; and periodically committing the current data in the object cache to the non-volatile database.
Claim 2
Independent Claim 137 words
A method for reliable high-speed access to a database system, comprising: storing system data in a non-volatile database; storing current data in an object cache, the current data reflecting at least a portion of the system data in the non-volatile database, the object cache providing the database system with the capability of querying and updating the current data; database and the object cache, wherein (1) each message contains historical and updating data of the current data and (2) the log file allows recovery of the database system in the event of a system failure by reconstructing the current data in the object cache, wherein no database commit is required in the log file or the database when the log file logs each message; and periodically committing the current data in the object cache to the non-volatile database.
Claim 3
Dependent Claim 57 words
The method of claim 1, wherein the step of periodically committing the current data further comprises the steps of searching for entries in the durable log file related to modifications in the current data in the object cache; and executing the same modifications found in the durable log file on the system data in the non-volatile database.
Claim 4
Dependent Claim 23 words
The method of claim 2, further comprising the step of marking current data in the object cache when the current data is updated.
Claim 5
Dependent Claim 77 words
The method of claim 1, wherein the step of periodically committing the current data in the object cache further comprises the step of: inserting a commit entry in the durable log file when the current data in the object cache is committed to the non-volatile database; periodically pruning the log file to remove entries which temporally precede the commit entry; and periodically pruning the log file to remove entries storing the removed entries in a historical database.
Claim 6
Dependent Claim 72 words
The method of claim 4, wherein a failure of the database system can be recovered by locating a most recent commit entry in the durable log file; locating the entries in the durable log file related to modifications to the current data in the object cache which temporally follow the most recent commit entry; and performing the same modifications to the system data in the non-volatile database for each such entry found.
Claim 7
Dependent Claim 61 words
The method of claim 1, wherein the step of logging each message in the database system further comprises constructing the durable log file as a circular list; and the step of periodically committing the current data further comprises committing the current data in the object cache before the step of logging each message overwrites uncommitted entries in the durable log file.
Claim 8
Dependent Claim 38 words
The method of claim 1, further comprising: periodically inserting a recovery point entry in the durable log file, wherein the recovery point entry includes identification numbers for all messages waiting in volatile message queues in the database system.
Claim 9
Dependent Claim 92 words
The method of claim 7, further comprising the step of recovering from a failure of the database system by locating a most recent recovery point entry in the durable log file; forming a resend queue containing the messages identified in the recovery point entry; searching the durable log file for entries subsequent to the most recent recovery point for reply messages corresponding to each of the messages in the resend queue; removing the messages in the resend queue that have corresponding reply messages; and resending the messages remaining in the resend queue.
Claim 10
Dependent Claim 211 words
A database system configured to support a workflow process, comprising: a non-volatile database configured to reside in non-volatile storage to support a data structure of the workflow process and to provide the workflow process with access to a first plurality of data elements; a volatile database configured to support the data structure of the workflow process and to provide the workflow process with query and update access to a second plurality of data elements, the second plurality of data elements being related to a portion of the first plurality of data elements; a non-volatile and non-database log file in a non-volatile memory separate from the databases to log, as an entry, each message generated in the database system, wherein (1) each message contains historical and updating data of the second plurality of data elements and (2) the log file allows recovery of the database system in the event of a system failure by reconstructing the second plurality of data elements in the volatile database, wherein no database commit is required in the log file or the database when the log file logs each message; and an engine configured to support the workflow process and to log an entry in the non-volatile log file for each message generated by the workflow process.
Claim 11
Dependent Claim 211 words
A database system configured to support a workflow process, comprising: a non-volatile database configured to reside in non-volatile storage to support a data structure of the workflow process and to provide the workflow process with access to a first plurality of data elements; a volatile database configured to support the data structure of the workflow process and to provide the workflow process with query and update access to a second plurality of data elements, the second plurality of data elements being related to a portion of the first plurality of data elements; a non-volatile and non-database log file in a non-volatile memory separate from the databases to log, as an entry, each message generated in the database system, wherein (1) each message contains historical and updating data of the second plurality of data elements and (2) the log file allows recovery of the database system in the event of a system failure by reconstructing the second plurality of data elements in the volatile database, wherein no database commit is required in the log file or the database when the log file logs each message; and an engine configured to support the workflow process and to log an entry in the non-volatile log file for each message generated by the workflow process.
Claim 12
Dependent Claim 58 words
The database system of claim 9, wherein the engine is further configured to periodically commit the second plurality of data elements to the first plurality of elements by searching for entries in the non-volatile log file related to update transactions on the second plurality of data elements and reexecuting the entries on the first plurality of data elements.
Claim 13
Dependent Claim 34 words
The database system of claim 10, wherein the engine is further configured to insert a commit entry in the non-volatile log file to indicate which entries in the non-volatile log file have been committed.
Claim 14
Dependent Claim 70 words
The database system of claim 11, wherein the engine is further configured to recover from failure by locating a most recent commit entry in the non-volatile log file, to identify the entries in the non-volatile log file related to update transactions on the second plurality of data elements that are subsequent to the most recent commit entry, and to reexecute the identified entries on the first plurality of data elements.
Claim 15
Dependent Claim 42 words
The database system of claim 10, wherein the engine is further configured to periodically insert a recovery point entry in the log file, wherein the recovery point entry includes identification numbers for all messages waiting in volatile message queues in the engine.
Claim 16
Dependent Claim 73 words
The database system of claim 13, wherein the engine is further configured to recover from failure by locating a most recent recovery point entry in the non-volatile log file, to form a resend queue containing messages with identification numbers from the most recent recovery point entry, to remove messages from the resend queue that have corresponding reply message entries in the non-volatile log file, and to resend the messages on the resend queue.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-01-10 2003-07-12 2004-01-11 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-01-10 2007-07-12 2008-01-11 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-01-10 2011-07-12 2012-01-11 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag