US2005182776A1PendingUtilityA1

Time-addressed database management system

Priority: Feb 18, 2004Filed: Feb 16, 2005Published: Aug 18, 2005
Est. expiryFeb 18, 2024(expired)· nominal 20-yr term from priority
Inventors:Clark Yennie
G06F 16/283G06F 16/2477G06F 16/2264G06F 16/2246
23
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method of constructing a database for a database application, the method involving for each of a plurality of transactions, receiving input from a user via the database application; constructing a corresponding record that embodies the received input for that transaction; appending a time address to the corresponding record for that transaction, wherein the time address identifies when the corresponding transaction was completed; and storing the corresponding record for that transaction in a non-volatile data storage, wherein the time address for that corresponding record is permanently associated with that stored corresponding record and wherein the database application during normal operation prevents any overwriting of that stored corresponding record with any other record.

Claims

exact text as granted — not AI-modified
1 . A method of constructing a database for a database application, said method comprising: 
 for each of a plurality of transactions, receiving input from a user via the database application;    constructing a corresponding record that embodies the received input for that transaction;    appending a time address to the corresponding record for that transaction, wherein the time address identifies when the corresponding transaction was completed; and    storing the corresponding record for that transaction in a non-volatile data storage, wherein the time address for that corresponding record is permanently associated with that stored corresponding record and wherein the database application during normal operation prevents any overwriting of that stored corresponding record with any other data.    
   
   
       2 . The method of  claim 1  further comprising, for each of the plurality of transactions, adding a primary key to the corresponding record.  
   
   
       3 . The method of  claim 1  wherein, for all transactions handled by the database application, storing the corresponding record comprises adding that corresponding record to a single common accounting transaction file in the non-volatile data storage.  
   
   
       4 . The method of  claim 1  wherein, for all transactions handled by the database application, storing the corresponding record comprises appending that corresponding record to the end of a single common file in the non-volatile data storage.  
   
   
       5 . The method of  claim 1  further comprising responding to a command to delete a particular one of the stored records by: 
 generating a new version of the stored record;    flagging the new version of the stored record as deleted;    adding a time address to the new version of the stored record, wherein the added time address is different from the time address of said particular stored record; and    storing the new version of the stored record in the non-volatile data storage while continuing to leave said particular record in the non-volatile data storage.    
   
   
       6 . The method of  claim 1  further comprising generating a plurality of indexes to information that is within the stored records.  
   
   
       7 . The method of  claim 1  further comprising generating and maintaining in volatile memory a plurality of indexes to information that is within the stored records.  
   
   
       8 . The method of  claim 7  wherein each of said plurality of indexes includes two levels, the second level of which contains the time addresses that are within the stored records.  
   
   
       9 . A database method comprising: 
 storing a plurality of records in a data-storage, wherein each of the records of the plurality of records has a common structure that is characterized at its highest level by a key:value pair map in which the values are structures rather than scalars or primitives, said structures for containing one or more sub-records within the record; and    generating and maintaining a plurality of drill-down indexes in volatile memory, wherein each of said plurality of drill-down indexes is based on a corresponding multipart key and is for extracting different information from the sub-records contained with the records of said plurality of records.    
   
   
       10 . The method of  claim 9 , wherein storing said plurality of records involves adding a time address to each of the plurality of stored records, wherein the time address identifies when the corresponding record was created and wherein each corresponding index indexes said time addresses in its last level, said time address indexes identifying the time address within the stored records.  
   
   
       11 . A method of maintaining summary information for a database application that manages a database of records, said method comprising: 
 constructing an index in volatile memory for a key having associated therewith one or more quantity-related attributes that are found in the database records, wherein for each different instance of the key the index maintains a summary bucket that contains a cumulative value that is the sum of all values for the one or more quantity-related attributes associated with that instance of the key; and    automatically updating the summary buckets in the index in volatile memory each time a new record is added to the database.    
   
   
       12 . The method of  claim 11  wherein the automatic updating involves: 
 whenever a new record is added, scanning the new record for instances of attributes that match the summary bucket definitions for that file;    extracting values associated with those instances; and    adding the extracted values to the appropriate summary buckets stored in the index.

Join the waitlist — get patent alerts

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

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