IP Library Granted Patent US 10,068,002
Granted Patent B1
US 10,068,002 · App. 15/664,184 · Granted Sep 4, 2018

Systems and methods for adaptive data replication

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 10,068,002
App. No.
15/664,184
Granted
Sep 4, 2018
Kind
B1
Abstract

Systems and methods are provided for adaptive data replication. A first data object is stored. One or more first network characteristics of a communication network are detected. A first replication mode is triggered (e.g., a single-master replication mode) based on the one or more first network characteristics of the communication network. The single-master replication may be configured to facilitate real-time synchronizations (e.g., for critical updates). One or more second network characteristics of the communication network are detected. A second replication mode (e.g., a multi-master replication mode) is triggered based on the one or more second network characteristics. The second replication may be configured to facilitate a delayed synchronization (e.g., for non-critical updates) of the first data object and the second data object using the second update file.

Claims (74)

1. A system comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the system to perform:

storing a first data object, the first data object being associated with a corresponding second data object stored by a remote master replication system;

detecting one or more first network characteristics of a communication network;

triggering a first replication mode based on the one or more first network characteristics of the communication network, the first replication mode comprising a single-master replication mode, the first replication mode including:

receiving a first update of the first data object;

generating a first update file in response to receiving the first update of the first data object, the first update file indicating the first update of the first data object; and

providing the first update file to the remote master replication system over the communication network, the remote master replication system being configured to facilitate a real-time synchronization of the first data object and the second data object using the first update file;

detecting one or more second network characteristics of the communication network; and

triggering a second replication mode based on the one or more second network characteristics, the second replication mode comprising a multi-master replication mode, the second replication mode including:

receiving a second update of the first data object;

generating a second update file, the second update file indicating the second update of the first data object;

providing the second update file to a second replication system, the second replication system comprising a multi-master replication system, the second replication system facilitating a delayed synchronization of the first data object and the second data object using the second update file;

providing, by the second replication system, the second update file to a remote multi-master replication system;

generating, by the remote multi-master replication system, a third update file, the third update file indicating the second update of the first data object;

providing, by the remote multi-master replication system, the third update file to the remote master replication system; and

updating, by the remote master replication system, the second data object using the third update file.

2. The system of claim 1 , wherein the one or more first network characteristics comprise any of latency, bandwidth, throughput, or network connection status.

3. The system of claim 1 , wherein the second replication mode further includes:

generating an alert based on any of the one or more second network characteristics, or the second replication mode; and

presenting the alert to a user of the system.

4. The system of claim 1 , wherein the instructions further cause the system to perform:

determining a priority status of at least a portion of the first update of the first data object; and

wherein the first replication mode is triggered based on the priority of status of the at least a portion of the first update of the first data object.

5. The system of claim 1 , wherein the second replication mode further includes:

obtaining, by the second replication system, one or more third data objects, the one or more third data objects being associated with corresponding one or more fourth data objects stored by the remote multi-master replication system, the second update file further indicating the one or more third data objects; and

synchronizing, by the remote multi-master replication system, the one or more third data objects and the one or more fourth data objects using the second update file.

6. The system of claim 1 , wherein the third and fourth data objects comprise immutable data objects and the first and second data objects comprises mutable data objects.

7. The system of claim 1 , wherein the third and fourth data objects represent a geographic map, and the first and second data objects represent a point of interest of the geographic map.

8. A method being implemented by a computing system including one or more physical processors and storage media storing machine-readable instructions, the method comprising:

storing a first data object, the first data object being associated with a corresponding second data object stored by a remote master replication system;

detecting one or more first network characteristics of a communication network;

triggering a first replication mode based on the one or more first network characteristics of the communication network, the first replication mode comprising a single-master replication mode, the first replication mode including:

receiving a first update of the first data object;

generating a first update file in response to receiving the first update of the first data object, the first update file indicating the first update of the first data object; and

providing the first update file to the remote master replication system over the communication network, the remote master replication system being configured to facilitate a real-time synchronization of the first data object and the second data object using the first update file;

detecting one or more second network characteristics of the communication network; and

triggering a second replication mode based on the one or more second network characteristics, the second replication mode comprising a multi-master replication mode, the second replication mode including:

receiving a second update of the first data object;

generating a second update file, the second update file indicating the second update of the first data object;

providing the second update file to a second replication system, the second replication system comprising a multi-master replication system, the second replication system facilitating a delayed synchronization of the first data object and the second data object using the second update file;

providing, by the second replication system, the second update file to a remote multi-master replication system;

generating, by the remote multi-master replication system, a third update file, the third update file indicating the second update of the first data object;

providing, by the remote multi-master replication system, the third update file to the remote master replication system; and

updating, by the remote master replication system, the second data object using the third update file.

9. The method of claim 8 , wherein the one or more first network characteristics comprise any of latency, bandwidth, throughput, or network connection status.

10. The method of claim 8 , wherein the second replication mode further includes:

generating an alert based on any of the one or more second network characteristics, or the second replication mode; and

presenting the alert to a user of the system.

11. The method of claim 8 , further comprising:

determining a priority status of at least a portion of the first update of the first data object; and

wherein the first replication mode is triggered based on the priority of status of the at least a portion of the first update of the first data object.

12. The method of claim 8 , further comprising:

obtaining, by the second replication system, one or more third data objects, the one or more third data objects being associated with corresponding one or more fourth data objects stored by a remote multi-master replication system, the second update file further indicating the one or more third data objects; and

synchronizing, by the remote multi-master replication system, the one or more third data objects and the one or more fourth data objects using the second update file.

13. The method of claim 8 , wherein the third and fourth data objects comprise immutable data objects and the first and second data objects comprises mutable data objects.

14. The method of claim 8 , wherein the third and fourth data objects represent a geographic map, and the first and second data objects represent a point of interest of the geographic map.

15. A non-transitory computer readable medium comprising instructions that, when executed, cause one or more processors to perform:

storing a first data object, the first data object being associated with a corresponding second data object stored by a remote master replication system;

detecting one or more first network characteristics of a communication network;

triggering a first replication mode based on the one or more first network characteristics of the communication network, the first replication mode comprising a single-master replication mode, the first replication mode including:

receiving a first update of the first data object;

generating a first update file in response to receiving the first update of the first data object, the first update file indicating the first update of the first data object; and

providing the first update file to the remote master replication system over the communication network, the remote master replication system being configured to facilitate a real-time synchronization of the first data object and the second data object using the first update file;

detecting one or more second network characteristics of the communication network; and

triggering a second replication mode based on the one or more second network characteristics, the second replication mode comprising a multi-master replication mode, the second replication mode including:

receiving a second update of the first data object;

generating a second update file, the second update file indicating the second update of the first data object;

providing the second update file to a second replication system, the second replication system comprising a multi-master replication system, the second replication system facilitating a delayed synchronization of the first data object and the second data object using the second update file;

providing, by the second replication system, the second update file to a remote multi-master replication system;

generating, by the remote multi-master replication system, a third update file, the third update file indicating the second update of the first data object;

providing, by the remote multi-master replication system, the third update file to the remote master replication system; and

updating, by the remote master replication system, the second data object using the third update file.

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 Feb 2, 2018
From: WILCZYNSKI, PETER; ZHENG, RYAN; CARRINO, JOHN; WILSON, TIMOTHY; FREIBERG, STEPHEN; GARROD, JOHN; WALDREP, WILLIAM
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 044823/0787 →
Cited By (2)
US 12,461,937 US 12,587,578