IP Library › Granted Patent US 11,727,022
Granted Patent B2
US 11,727,022 · App. 17/206,876 · Granted Aug 15, 2023

Generating a global delta in distributed databases

Inventors: Robert Neugebauer (Stouffville, CA); Ian Richard Finlay (Uxbridge, CA); Glenn Patrick Steffler (Markham, CA); Mohammad Wasif Khan (Toronto, CA)
Assignee: International Business Machines Corporation
G06F16/2471G06F16/2282G06F16/2358G06F16/2433G06F16/24534G06F16/24573
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 11,727,022
App. No.
17/206,876
Granted
Aug 15, 2023
Kind
B2
Abstract

Embodiments are disclosed for a method. The method includes receiving a plurality of local deltas for a query execution against a corresponding plurality of data sources hosted by a corresponding plurality of distributed nodes of a dynamic distributed network. The method also includes generating a combined delta by combining the local deltas. Additionally, the method includes generating a determined delta result by performing additional processing on the combined delta. Further, the method includes providing the determined delta for one of the distributed nodes.

Claims (56)

1. A computer-implemented method, comprising:

receiving a plurality of local deltas for an execution of a query against a corresponding plurality of data sources hosted by a corresponding plurality of distributed nodes of a dynamic distributed network;

generating a combined delta by combining the local deltas;

generating a determined delta result by performing additional processing on the combined delta, wherein the combined delta comprises a global set of changes that have occurred to the plurality of data sources between a first state and a second state, and wherein the additional processing comprises:

generating a cache result by executing a matched component query against a central cache, wherein the matched component query matches the central cache;

applying the combined delta to the cache result;

generating an unmatched component result by executing an unmatched component query of the query against one of the plurality of data sources, wherein the unmatched component query does not match the central cache;

generating the determined delta result by combining the unmatched component result with the cache result; and

providing the determined delta result for one of the distributed nodes in response to the query.

2. The method of claim 1 , further comprising determining a source local delta for a local data source of the plurality of data sources, wherein generating the combined delta comprises combining the source local delta and the local deltas.

3. The method of claim 2 , wherein determining the source local delta comprises:

determining a prior state of one or more tables of the local data source;

determining a current state of the one or more tables; and

determining one or more differences between the prior state and the current state, wherein the source local delta indicates the one or more differences.

4. The method of claim 2 , wherein the source local delta is associated with a remote distributed node that is remote to a local distributed node that is determining the source local delta.

5. The method of claim 2 , wherein determining the source local delta comprises performing a log analysis.

6. The method of claim 2 , wherein determining the source local delta comprises using a history table hosted by the local data source.

7. The method of claim 1 , further comprising accessing a plurality of additional tables in a local data source of the plurality of data sources, wherein generating the determined delta result comprises combining the additional tables with the combined delta or applying data transformation upon the combined delta.

8. The method of claim 1 , further comprising accessing a plurality of local deltas for a corresponding plurality of additional tables in a local data source of the plurality of data sources, wherein generating the determined delta result comprises combining the local deltas for the corresponding plurality of additional tables with the combined delta or applying data transformation upon the combined delta.

9. A computer program product comprising one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instructions comprising instructions configured to cause one or more processors to perform a method comprising:

receiving a plurality of local deltas for an execution of a query against a corresponding plurality of data sources hosted by a corresponding plurality of distributed nodes of a dynamic distributed network;

generating a combined delta by combining the local deltas;

generating a determined delta result by performing additional processing on the combined delta, wherein the combined delta comprises a global set of changes that have occurred to the plurality of data sources between a first state and a second state, and wherein the additional processing comprises:

generating a cache result by executing a matched component query against a central cache, wherein the matched component query matches the central cache;

applying the combined delta to the cache result;

generating an unmatched component result by executing an unmatched component query of the query against one of the plurality of data sources, wherein the unmatched component query does not match the central cache; and

generating the determined delta result by combining the unmatched component result with the cache result; and

providing the determined delta result for one of the distributed nodes in response to the query.

10. The computer program product of claim 9 , wherein the method further comprises determining a source local delta for a local data source of the plurality of data sources, and wherein generating the combined delta comprises combining the source local delta and the local deltas, wherein determining the source local delta comprises:

determining a prior state of one or more tables of the local data source of the plurality of data sources;

determining a current state of the one or more tables; and

determining one or more differences between the prior state and the current state, wherein the source local delta indicates the one or more differences.

11. The computer program product of claim 10 , wherein the source local delta is associated with a remote distributed node that is remote to a local distributed node that is determining the source local delta.

12. The computer program product of claim 10 , wherein determining the source local delta comprises performing a log analysis.

13. The computer program product of claim 10 , wherein determining the source local delta comprises using a history table hosted by the local data source of the plurality of data sources.

14. The computer program product of claim 9 , further comprising accessing a plurality of additional tables in a local data source of the plurality of data sources, wherein generating the determined delta result comprises combining the additional tables with the combined delta or applying data transformation upon the combined delta.

15. The computer program product of claim 9 , further comprising accessing a plurality of local deltas for a corresponding plurality of additional tables in a local data source of the plurality of data sources, wherein generating the determined delta result comprises combining the local deltas for the corresponding plurality of additional tables with the combined delta or applying data transformation upon the combined delta.

16. A system comprising:

one or more computer processing circuits; and

one or more computer-readable storage media storing program instructions which, when executed by the one or more computer processing circuits, are configured to cause the one or more computer processing circuits to perform a method comprising:

receiving a plurality of local deltas for an execution of a query against a corresponding plurality of data sources hosted by a corresponding plurality of distributed nodes of a dynamic distributed network;

generating a combined delta by combining the local deltas;

generating a determined delta result by performing additional processing on the combined delta, wherein the combined delta comprises a global set of changes that have occurred to the plurality of data sources between a first state and a second state, and wherein the additional processing comprises:

generating a cache result by executing a matched component query against a central cache, wherein the matched component query matches the central cache;

applying the combined delta to the cache result;

generating an unmatched component result by executing an unmatched component query of the query against one of the plurality of data sources, wherein the unmatched component query does not match the central cache;

generating the determined delta result by combining the unmatched component result with the cache result; and

providing the determined delta result for one of the distributed nodes in response to the query.

17. The system of claim 16 , the method further comprising:

determining a source local delta for a local data source of the plurality of data sources, and wherein generating the combined delta comprises combining the source local delta and the local deltas, wherein determining the source local delta comprises:

determining a prior state of one or more tables of the local data source;

determining a current state of the one or more tables; and

determining one or more differences between the prior state and the current state, wherein the source local delta indicates the one or more differences, wherein the source local delta is associated with a remote distributed node that is remote to a local distributed node that is determining the source local delta.

18. The system of claim 17 , wherein determining the source local delta comprises performing a log analysis.

19. The system of claim 17 , wherein determining the source local delta comprises using a history table hosted by the local data source of the plurality of data sources.

20. The system of claim 16 , further comprising accessing a plurality of additional tables in a local data source of the plurality of data sources, wherein generating the determined delta result comprises combining the additional tables with the combined delta or applying data transformation upon the combined delta.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2021
From: NEUGEBAUER, ROBERT; FINLAY, IAN RICHARD; STEFFLER, GLENN PATRICK; KHAN, MOHAMMAD WASIF
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 055653/0085 →
Continuity (1)
Related Publication 20220300504A1 · Sep 22, 2022