IP Library Granted Patent US 7,904,432
Granted Patent B2
US 7,904,432 · App. 10/350,356 · Granted Mar 8, 2011

Compressed data structure for extracted changes to a database and method of generating the data structure

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,904,432
App. No.
10/350,356
Granted
Mar 8, 2011
Kind
B2
Abstract

A method of identifying and storing data changes of a first compressed database compared with a previous compressed database and updating a second compressed database on a user device based on the stored data changes. Data changes are stored in a compressed data structure and data in the first, second, and previous compressed databases is stored in compressed form in one or more uniquely identified data pages. A data page of the first compressed database and the previous compressed database are decompressed and an entry from the first and previous compressed databases is read and compared. If the read entries differ, a type of action performed on the previous entry is identified and an entry in a delta file based on the read entry comparison is stored. The delta file is then compressed. The second compressed database is updated based on the delta file.

Claims (52)

1. 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.

2. The method of claim 1 , wherein transmitting the compressed delta file is in response to receiving a request for the delta file from the particular user device.

3. The method of claim 1 , wherein the entry of each of the first and second new data pages is a line.

4. The method of claim 1 , wherein the delta entry includes an entry identifier and an action type identifier to identify the type of action.

5. The method of claim 4 , wherein the delta entry further includes a delta entry value.

6. The method of claim 1 , further comprising:

decompressing another uniquely identified data page of the previous compressed database; and

combining the decompressed uniquely identified data pages of the previous compressed database to form the second new data page prior to reading an entry.

7. The method of claim 1 , wherein transmitting the compressed delta file to the particular user device comprises transmitting the compressed delta file to a handheld device.

8. A non-transitory computer-readable storage medium comprising:

a data structure for a first compressed database comprising one or more uniquely identified data pages;

a data structure for a previous version of the first compressed database comprising one or more uniquely identified data pages;

at least one sequence of machine executable instructions in machine form, wherein execution of the instructions by a processor cause a server computer to:

run a service at the server computer to obtain information from data sources to update the previous version of the first compressed database to produce the first compressed database, wherein the server computer is configured to communicate over a network with plural user devices for updating databases in respective plural user devices;

decompress plural uniquely identified data pages of the first compressed database and combine the plural decompressed data pages to form a first new data page, and decompress at least one uniquely identified data page of the previous version of the first compressed database to form a second new data page;

compare an entry of the first new data page and an entry of the second new data page;

identify an action type performed on the entry of the second new data page based on the entry comparison for differing entries of the first new data page and the second new data page;

store a delta entry in a delta file based on the entry comparison for differing entries;

add an indication of the action type to the delta entry, wherein the action type is from the group of an entry addition action, an entry change action, and an entry deletion action;

compress the delta file for use in updating a second compressed database at a particular one of the user devices;

transmit the compressed delta file over the network to the particular user device for updating the second compressed database at the particular user device; and

repeat the decompressing, comparing, identifying, and storing for all entries in the first new data page and the second new data page.

9. The medium of claim 8 ,

wherein transmitting the compressed delta file is in response to receiving a request for the delta file from the particular user device.

10. The medium of claim 8 , wherein the delta entry includes an entry identifier and an action type identifier to identify the action type.

11. The medium of claim 10 , wherein the delta entry further includes a delta entry value.

12. The medium of claim 8 , wherein the entry of each of the first and second new data pages is a line.

13. The medium of claim 8 , further comprising instructions which, when executed by the processor, cause the server computer to:

decompress another uniquely identified data page of the previous version of the first compressed database; and

combine the decompressed uniquely identified data pages of the previous version of the first compressed database to form the second new data page.

14. A method comprising identifying and storing data changes of a first compressed database with a previous version of the first compressed database for updating a second compressed database based on the stored data changes, wherein the data in the first compressed database is stored in compressed form in uniquely identified data pages and the data in the previous version of the first compressed database is stored in compressed form in one or more uniquely identified data pages on a server computer, wherein the identifying and storing comprising:

running a service at the server computer to obtain information from data sources for updating the previous version of the first compressed database to produce the first compressed database, wherein the server computer is configured to communicate over a network with plural user devices 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 version of the first compressed database to form a second new data page;

storing, by the server computer, delta data indicative of a difference identified by comparing data in the first new data page with data in the second new data page in a delta file based on the data comparison for differing data;

identifying, by the server computer, a type of action performed on the entry of the second new data page based on the comparing;

adding, by the server computer, an indication of the type of action to an entry of the delta file, 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 at a particular one of the plural user devices,

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 and storing for all entries in the first new data page and the second new data page.

15. The method of claim 14 , further comprising:

decompressing another uniquely identified data page of the previous version of the first compressed database; and

combine the decompressed uniquely identified data pages of the previous version of the first compressed database to form the second new data page.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2003
From: MCKAY, CHRISTOPHER W.T.; SKILLCORN, STEVEN; DOUVIKAS, JAMES G.
To: HEWLETT-PACKARD COMPANY
Reel/Frame 013961/0309 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2003
From: HEWLETT-PACKARD COMPANY
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 013776/0928 →