IP Library Granted Patent US 8,924,429
Granted Patent B1
US 8,924,429 · App. 14/254,773 · Granted Dec 30, 2014

Determining and extracting changed data from a data source

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 8,924,429
App. No.
14/254,773
Granted
Dec 30, 2014
Kind
B1
Abstract

According to certain aspects, a computer system may be configured to obtain information indicating a plurality of groupings of data of a data source, the information indicating a number of data items included in each of the plurality of groupings; determine a first grouping of the plurality of groupings including one or more data items that have changed by comparing a first number of data items included in the first grouping and a historical number of data items included in each of the plurality of groupings; access data items included in the first grouping from the data source; compare the data items included in the first grouping to data items of a corresponding compressed local version of the first grouping of data items; extract changed data items of the first grouping; and forward the extracted changed data items to a destination system.

Claims (40)

1. A computer system configured to obtain changed data from a data source, the computer system comprising:

one or more hardware computer processors configured to execute code in order to cause the system to:

obtain information indicating a plurality of groupings of data of a data source, the information indicating a number of data items included in each of the plurality of groupings;

determine a first grouping of the plurality of groupings including one or more data items that have changed by comparing a first number of data items included in the first grouping and a historical number of data items included in each of the plurality of groupings;

access data items included in the first grouping from the data source;

compare the data items included in the first grouping to data items of a corresponding local version of the first grouping to determine which data items of the first grouping from the data source have changed, wherein the corresponding local version of the first grouping of data items is a compressed version of the first grouping of data items;

extract the changed data items of the first grouping; and

forward the extracted changed data items to a destination system.

2. The system of claim 1 , wherein the compressed version of the first grouping of data items is a space-efficient probabilistic data structure including information about data items included in the first grouping at a first time prior to said obtaining the information indicating the plurality of groupings of the data of the data source.

3. The system of claim 2 , wherein the space-efficient probabilistic data structure is configured to determine whether a particular data item included in the first grouping was included in the first grouping at the first time.

4. The system of claim 3 , wherein the Bloom filter is selected from a plurality of Bloom filters that can each include a different number of data items.

5. The system of claim 2 , wherein the space-efficient probabilistic data structure is a Bloom filter.

6. The system of claim 1 , wherein the compressed version of the data does not comprise a copy of the data items of the first grouping.

7. The system of claim 1 , wherein the corresponding local version of the data is stored on first storage and the extracted changed data items forwarded to the destination system are stored on second storage, wherein the first storage has a smaller storage capacity than the second storage.

8. The system of claim 7 , wherein the first storage is a Network Attached Storage (NAS).

9. The system of claim 1 , wherein the data source is a database or a file.

10. The system of claim 1 , wherein the plurality of groupings is based on timestamps of respective data items, wherein the timestamps indicate respective times at which data items were last updated.

11. A method of obtaining changed data from a data source, the method comprising:

obtaining, by one or more hardware computer processors, information indicating a plurality of groupings of data of a data source, the information indicating a number of data items included in each of the plurality of groupings;

determining, by the one or more hardware computer processors, a first grouping of the plurality of groupings including one or more data items that have changed by comparing a first number of data items included in the first grouping and a historical number of data items included in each of the plurality of groupings;

accessing, by the one or more hardware computer processors, data items included in the first grouping from the data source;

comparing, by the one or more hardware computer processors, the data items included in the first grouping to data items of a corresponding local version of the first grouping to determine which data items of the first grouping from the data source have changed, wherein the corresponding local version of the first grouping of data items is a compressed version of the first grouping of data items;

extracting, by the one or more hardware computer processors, the changed data items of the first grouping; and

forwarding, by the one or more hardware computer processors, the extracted changed data items to a destination system.

12. The method of claim 11 , wherein the compressed version of the first grouping of data items is a space-efficient probabilistic data structure including information about data items included in the first grouping at a first time prior to said obtaining the information indicating the plurality of groupings of the data of the data source.

13. The method of claim 12 , wherein the space-efficient probabilistic data structure determines whether a particular data item included in the first grouping was included in the first grouping at the first time.

14. The method of claim 12 , wherein the space-efficient probabilistic data structure is a Bloom filter.

15. The method of claim 11 , wherein the compressed version of the data does not comprise a copy of the first grouping.

16. The method of claim 11 , wherein the corresponding local version of the data is stored on first storage and the extracted changed data items forwarded to the destination system are stored on second storage, wherein the first storage has a smaller storage capacity than the second storage.

17. The method of claim 16 , wherein the first storage is a Network Attached Storage (NAS).

18. The method of claim 11 , wherein the data source is a database or a file.

19. The method of claim 11 , wherein the plurality of groupings is based on timestamps of respective data items, wherein the timestamps indicate respective times at which data items were last updated.

20. A non-transitory computer readable storage medium comprising instructions for obtaining changed data from a data source that cause a computer processor to:

obtain information indicating a plurality of groupings of data of a data source, the information indicating a number of data items included in each of the plurality of groupings;

determine a first grouping of the plurality of groupings including one or more data items that have changed by comparing a first number of data items included in the first grouping and a historical number of data items included in each of the plurality of groupings;

access data items included in the first grouping from the data source;

compare the data items included in the first grouping to data items of a corresponding local version of the first grouping to determine which data items of the first grouping from the data source have changed, wherein the corresponding local version of the first grouping of data items is a compressed version of the first grouping of data items,

wherein the compressed version of the first grouping of data items is a space-efficient probabilistic data structure including information about data items included in the first grouping at a first time prior to said obtaining the information indicating the plurality of groupings of the data of the data source, and wherein the space-efficient probabilistic data structure is configured to determine whether a particular data item included in the first grouping was included in the first grouping at the first time;

extract the changed data items of the first grouping; and

transmit the extracted changed data items to a destination system.

Assignments (8)
ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENTS Recorded Jul 3, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0640 →
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUSLY LISTED PATENT BY REMOVING APPLICATION NO. 16/832267 FROM THE RELEASE OF SECURITY INTEREST PREVIOUSLY RECORDED ON REEL 052856 FRAME 0382. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Aug 26, 2021
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 057335/0753 →
SECURITY INTEREST Recorded Jun 4, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 052856/0817 →
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2020
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 052856/0382 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 051713/0149 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT
Reel/Frame 051709/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2014
From: FISHER, WILLIAM; MAAG, PETER
To: PALANTIR TECHNOLOGIES, INC.
Reel/Frame 032756/0685 →