Patent ID: 7904432

Claim:
A method of identifying and storing data changes of a first compressed database compared with a previous compressed database in order to update a second compressed database on a particular user device based on the stored data changes, wherein the data in the first and second compressed databases is stored in compressed form in uniquely identified data pages, the method comprising: running a service at a server computer to obtain information from data sources for updating the previous compressed database to produce the first compressed database, wherein the server computer is configured to communicate over a network with plural user devices including the particular user device for updating databases in respective plural user devices; decompressing, by the server computer, plural uniquely identified data pages of the first compressed database and combining the plural decompressed data pages to form a first new data page, and decompressing at least one uniquely identified data page of the previous compressed database to form a second new data page; reading, by the server computer, an entry from the first new data page and reading an entry from the second new data page; comparing, by the server computer, the read entries; identifying, by the server computer, a type of action performed on the entry of the second new data page based on the read entry comparison for differing read entries; storing, by the server computer, a delta entry in a delta file based on the read entry comparison for differing read entries; adding, by the server computer, an indication of the type of action to the delta entry, wherein the type of action is from the group of an entry addition action, an entry change action, and an entry deletion action; compressing, by the server computer, the delta file for use in updating the second compressed database; transmitting the compressed delta file over the network to the particular user device for updating the second compressed database at the particular user device; and repeating, by the server computer, the decompressing, reading, comparing, identifying, and storing for all entries in the first new data page and the second new data page.