Patent ID: 8682856

Claim:
A computer-implemented method, performed by a computer system comprising one or more processors and computer memory, for modifying information in a database stored in volatile memory, comprising: receiving a modification request including a search string and modification data; assigning the modification request to an update thread for processing, the processing comprising: using a search engine, retrieving a first pointer to a first record corresponding to the search string; using the first pointer, copying the first record into a second record; modifying data in the second record based on the modification data; determining a second pointer for the second record; and in an uninterruptable process and without locking read access to the database, updating the search engine with the second pointer; writing both the second record to a snapshot file and information based on the modification data to another file stored in non-volatile memory; and purging the first record from the database stored in volatile memory, the snapshot file maintaining the first and the second record, wherein the writing occurs after at least two different modification requests update the pointer contained in the search engine.