US2012102001A1PendingUtilityA1

Method, System, and Database Archive for Enhancing Database Archiving

Assignee: LONGSHAW TOM BENJAMINPriority: Jun 12, 2006Filed: Dec 8, 2011Published: Apr 26, 2012
Est. expiryJun 12, 2026(expired)· nominal 20-yr term from priority
Inventors:Tom Longshaw
G06F 11/1464G06F 2201/80G06F 16/217G06F 2201/84G06F 11/1471
39
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A database archive, and a system and method for generating database archives is disclosed. A processor may store in a database archive an index that includes record entries that each references one or more record fields of a database, and may store the record fields independently of the database archive.

Claims

exact text as granted — not AI-modified
1 . A method comprising, by one or more computing systems:
 storing a plurality of record fields, wherein each of the plurality of record fields is a field of a record of a database;   storing in a first database archive an index that includes at least one record entry, wherein each of the at least one record entry references at least one record field of the database;   wherein the plurality of record fields is stored independently of the first database archive;   wherein each field included in more than one record of any single table of the database is stored for the more than one record as a single record field referenced by a plurality of record entries, each of the plurality of record entries corresponding to a different one of the more than one record; and   wherein each of the plurality of record fields is referenceable by at least one of a plurality of database archives and a current database index.   
     
     
         2 . The method of  claim 1 , wherein at least one of the plurality of record fields is a field of more than one record. 
     
     
         3 . The method of  claim 1 , wherein:
 the at least one record field is referenced by the each of the at least one record entry one of directly and indirectly; and   a record field is referenced indirectly by a reference of a record entry to a record data element that references the record field.   
     
     
         4 . The method of  claim 3 , wherein the record data element references more than one record field. 
     
     
         5 . The method of  claim 1 , further comprising:
 maintaining a record field in storage upon a condition that the record field is referenced by at least one of at least one of the plurality of database archives and the current database index.   
     
     
         6 . The method of  claim 5 , further comprising:
 allotting, one of for each record field and for each group of record fields forming a record, a corresponding bit to indicate whether the record field is referenced by any of the plurality of database archives; one of:
 for each record field, during generation of the record field, setting the record field's corresponding bit to a first value; and 
 for each group, during generation of the group, setting the group's corresponding bit to the first value; 
 for each of the plurality of database archives, during generation of the database archive, one of:
 setting, for each record field referenced by the database archive, the record field's corresponding bit to a second value if not previously set to the second value; and 
 setting, for each group referenced by the database archive, the group's corresponding bit to the second value if not previously set to the second value; and one of:
 removing a particular record field from storage upon a condition that the corresponding bit of the particular record field is set to the first value and the particular record field is not referenced by the current database index; and 
 removing a particular group from storage upon a condition that the corresponding bit of the particular group is set to the first value and the particular group is not referenced by the current database index. 
 
 
   
     
     
         7 . The method of  claim 1 , further comprising:
 modifying a current database index that, for representation of a current state of the database, references one or more of the plurality of record fields, by at least one of deleting from the current database index, inserting into the current database index, and updating in the current database index a representation of a record; wherein:
 deleting the representation of the record includes one of:
 removing from the current database index a record entry corresponding to the record or annotating the record entry corresponding to the record to indicate its deletion; 
 
 inserting the representation of the record includes inserting into the current database index the record entry corresponding to the record; and 
 updating the representation of the record includes at least one of:
 removing from the current database index the record entry corresponding to the record and inserting a new record entry in place of the removed record entry; 
 or annotating the record entry corresponding to the record to indicate its deletion and inserting the new record entry immediately following the record entry corresponding to the record. 
 
   
     
     
         8 . The method of  claim 7 , wherein inserting the representation of the record includes annotating the record entry corresponding to the record to indicate its time of entry, and the method further comprising:
 copying the current database index to obtain the index of the first database archive; and   subsequent to the copying of the current database index:
 removing from the current database index each record entry that is annotated to indicate its deletion; and 
 clearing all time of entry annotations. 
   
     
     
         9 . The method of  claim 8 , further comprising:
 retrieving one of a second database archive and the current database index; and   based on record entry annotations of the one of the second database archive and the current database index, generating the index of the first database archive.   
     
     
         10 . The method of  claim 9 , wherein:
 the first database archive is associated with a time value;   a particular record entry of the one of the second database archive and the current database index is included in the first database archive upon a condition that the one of the second database archive and the current database index indicates that a record to which the particular record entry corresponds was part of a state of the database the time value.   
     
     
         11 . The method of  claim 1 , further comprising copying a current database index to obtain the index of the first database archive. 
     
     
         12 . The method of  claim 1 , further comprising:
 storing a log of record operations; and   for generation of the first database archive:   retrieving a copy of a second database archive generated prior to generation of the first database archive; and   modifying the copy of the second database archive in accordance with the log;   wherein, subsequent to the modification of the copy, the copy is stored as the first database archive.   
     
     
         13 . The method of  claim 12 , wherein the modification includes:
 inserting a new record entry into the copy if the log indicates one of an insert operation and an update operation; and   removing a record entry from the copy of the log indicates one of a deletion operation and the update operation.   
     
     
         14 . The method of  claim 13 , wherein:
 a state of the database at a particular time is reconstructible based on the first database archive;   each entry of the log includes a time of a corresponding logged record operation;   modification of the copy based on a particular record operation indicated by the log is made upon a condition that the particular record operation is associated by the log with a time that is one of at and earlier than the particular time.   
     
     
         15 . The method of  claim 14 , wherein:
 the database includes a plurality of tables;   the log includes a plurality of logs, each log corresponding to a different one of the plurality of tables;   the second database archive includes a plurality of index portions, each portion corresponding to a different one of the logs; and   modifying the copy includes separately modifying each index portion of the copy according to its corresponding log.   
     
     
         16 . The method of  claim 12 , further comprising:
 for generation of a third database archive associated with a time value that is prior to a time with which the first database archive is associated:   retrieving a copy of the first database archive;   for each record entry of the copy, removing from the record entry from the copy if and upon a condition that the first database archive indicates that a record to which the record entry corresponds was not part of a state of the database at the time value; and subsequently storing the copy as the third database archive.   
     
     
         17 . The method of  claim 16 , wherein a record entry of the first database archive is included in the third database archive if and upon a condition that:
 (A) the record entry of the first database archive is one of:
 (a) associated with a time-of-deletion timestamp that one of (i) indicates a time subsequent to the time value and (ii) is NULL; and 
 (b) not associated with a time-of-deletion timestamp; and 
   (B) the record entry of the first database archive is one of:
 (a) associated with a time-of-entry timestamp that one of (i) indicates a time one of at and earlier than the time value and (ii) is NULL; and 
 (b) not associated with a time-of-entry timestamp. 
   
     
     
         18 . The method of  claim 16 , wherein the first database archive is used as a basis for generating the third database archive upon a condition that of all previously generated database archives associated with times subsequent to the time value, the time with which the first database archive is associated is closest to the time value. 
     
     
         19 . A method comprising, by one or more computing systems:
 storing a plurality of record fields; and storing a plurality of database indices separately from one another, wherein:   each of the database indices corresponds to a different time;   each of the database indices includes a plurality of corresponding record entries,   each record entry corresponding to a record included in a state of a database at the time to which the index corresponds;   each record entry references at least one of the record fields; and   each record field is referenceable by more than one of the database indices.   
     
     
         20 . A non-transitory, computer-readable media comprising instructions operable, when executed by one or more computing systems, to:
 store a plurality of record fields, wherein each of the plurality of record fields is a field of a record of a database;   store in a first database archive an index that includes at least one record entry, wherein each of the at least one record entry references at least one record field of the database, wherein the plurality of record fields is stored independently of the first database archive, and   wherein each field included in more than one record of any single table of the database is stored for the more than one record as a single record field referenced by a plurality of record entries, each of the plurality of record entries corresponding to a different one of the more than one record.   
     
     
         21 . A non-transitory, computer-readable media containing a database archive, comprising:
 an index that:   includes a plurality of record entries that each references at least one corresponding record field stored independently of the database archive;   and when loaded by a processor, causes the processor to reconstruct a state of a database that existed at a the time value which the database archive corresponds by retrieving all record fields referenced by the index;   wherein each field included in more than one record of any single table of the database is stored for the more than one record as a single record field referenced by a plurality of record entries, each of the plurality of record entries corresponding to a different on of the more than one record.   
     
     
         22 . The method of  claim 19 , wherein the plurality of record fields and the plurality of database indices are stored separately.

Join the waitlist — get patent alerts

Track US2012102001A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.