IP Library Granted Patent US 11,966,418
Granted Patent B2
US 11,966,418 · App. 18/118,923 · Granted Apr 23, 2024

Systems and methods for adaptive data replication

Inventors: Peter Wilczynski (San Francisco, CA); Ryan Zheng (Mountain View, CA); John Carrino (Menlo Park, CA); Timothy Wilson (Palo Alto, CA); Stephen Freiberg (Palo Alto, CA); John Garrod (San Mateo, CA); William Waldrep (Palo Alto, CA)
Assignee: Palantir Technologies Inc.
G06F16/275G06F11/3409G06F16/27G06F16/29G06F16/951
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,966,418
App. No.
18/118,923
Granted
Apr 23, 2024
Kind
B2
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 (44)

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 at a replication system, the first data object being associated with a corresponding second data object stored by a remote replication system;

receiving a first request to provide a first update to the first data object;

generating the first update to the first data object;

synchronizing the first updated first data object with the second data object according to a first replication mode;

receiving a second request to generate a second update to the first data object;

in response to receiving the second request, generating the second update to the first data object following the first update;

determining a priority associated with the second update; and

selectively synchronizing the first data object following the second update with the second data object according to a second replication mode.

2. The system of claim 1 , wherein the priority comprises any two of an actual or predicted network performance characteristics of a network connecting the replication system and the remote replication system, a degree of time sensitivity of the update, and one or more transmission performance thresholds to perform the update.

3. The system of claim 2 , wherein the actual or predicted network performance characteristics comprise a latency, a bandwidth, and a throughput.

4. The system of claim 1 , wherein the second replication mode has a lower latency compared to the first replication mode.

5. The system of claim 1 , wherein the priority is determined based on whether the update comprises a modification to a map.

6. The system of claim 1 , wherein the remote master replication system is comprised within a full-mesh topology.

7. The system of claim 6 , wherein the replication system is comprised within a full-mesh topology.

8. The system of claim 1 , wherein the selectively synchronizing of the first data object following the second update with the second data object according to the second replication mode is concurrently with the synchronizing of the first data object following the first update according to the first replication mode.

9. 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 at a replication system, the first data object being associated with a corresponding second data object stored by a remote replication system;

receiving a first request to provide a first update to the first data object;

generating the first update to the first data object;

synchronizing the first updated first data object with the second data object according to a first replication mode;

receiving a second request to generate a second update to the first data object;

in response to receiving the second request, generating the second update to the first data object following the first update;

determining a priority associated with the second update; and

selectively synchronizing the first data object following the second update with the second data object according to a second replication mode.

10. The method of claim 9 , wherein the priority comprises any two of an actual or predicted network performance characteristics of a network connecting the replication system and the remote replication system, a degree of time sensitivity of the update, and one or more transmission performance thresholds to perform the update.

11. The method of claim 10 , wherein the actual or predicted network performance characteristics comprise a latency, a bandwidth, and a throughput.

12. The method of claim 9 , wherein the second replication mode has a lower latency compared to the first replication mode.

13. The method of claim 9 , wherein the priority is determined based on whether the update comprises a modification to a map.

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

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

receiving a first request to provide a first update to the first data object;

generating the first update to the first data object;

synchronizing the first updated first data object with the second data object according to a first replication mode;

receiving a second request to generate a second update to the first data object;

in response to receiving the second request, generating the second update to the first data object following the first update;

determining a priority associated with the second update; and

selectively synchronizing the first data object following the second update with the second data object according to a second replication mode.

15. The non-transitory computer readable medium of claim 14 , wherein the priority comprises any two of an actual or predicted network performance characteristics of a network connecting the replication system and the remote replication system, a degree of time sensitivity of the update, and one or more transmission performance thresholds to perform the update.

16. The non-transitory computer readable medium of claim 15 , wherein the actual or predicted network performance characteristics comprise a latency, a bandwidth, and a throughput.

17. The non-transitory computer readable medium of claim 14 , wherein the second replication mode has a lower latency compared to the first replication mode.

18. The non-transitory computer readable medium of claim 14 , wherein the priority is determined based on whether the update comprises a modification to a map.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2023
From: WILCZYNSKI, PETER; ZHENG, RYAN; CARRINO, JOHN; WILSON, TIMOTHY; FREIBERG, STEPHEN; GARROD, JOHN; WALDREP, WILLIAM
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 062920/0483 →
Continuity (5)
Continuation 17133534 · Dec 23, 2020
Continuation 16116037 · Aug 29, 2018
Continuation 15664184 · Jul 31, 2017
Provisional Application 62489737 · Apr 25, 2017
Related Publication 20230222141A1 · Jul 13, 2023