IP Library Granted Patent US 11,693,877
Granted Patent B2
US 11,693,877 · App. 16/053,445 · Granted Jul 4, 2023

Cross-ontology multi-master replication

Inventors: Richard Allen Ducott, III (Palo Alto, CA); John Kenneth Garrod (Palo Alto, CA); John Antonio Carrino (Palo Alto, CA); Katherine Brainard (Palo Alto, CA)
Assignee: Palantir Technologies Inc.
G06F16/258G06F16/27G06F16/955G06N5/02
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,693,877
App. No.
16/053,445
Granted
Jul 4, 2023
Kind
B2
Abstract

A system and method providing cross-ontology multi-master replication is described. In a first embodiment a method for cross-ontology multi-master replication comprising the steps of: storing a database change comprising a property value, the property value having an exporting site property type as defined in an exporting site ontology for an exporting site; using an ontology map to map the exporting site property type to an importing site property type defined by an importing site ontology for an importing site; transforming the property value to an intermediate property value based on the importing site property type; transforming the intermediate property value to a first round-trip value based on the exporting site property type; and determining whether to export the database change to the importing site based at least in part on a comparison between the property value and the first round-trip value.

Claims (47)

1. A method comprising:

storing a database change comprising a property value, the property value having an exporting site property type as defined in an exporting site ontology for an exporting site;

mapping the exporting site property type to an importing site property type defined by an importing site ontology for an importing site based on an ontology map comprising a one-to-one mapping between data types defined by the exporting site ontology and data types defined by the importing site ontology;

transforming the property value to an intermediate property value based on the importing site property type to simulate incorporating the property value into the importing site;

transforming the intermediate property value to a first round-trip value based on the exporting site property type to simulate incorporating the intermediate property value into the exporting site;

determining that the property value and the first round-trip value are different;

transforming the first round-trip value to a second intermediate value based on the importing site property type;

transforming the second intermediate value to a second round-trip value based on the exporting site property type;

determining whether to export the database change to the importing site based at least in part on a comparison between the first round-trip value and the second round-trip value;

exporting the database change to the importing site when the first round-trip value and the second round-trip value match,

wherein the method is performed by one or more computing devices.

2. The method of claim 1 , further comprising determining to export the database change to the importing site in response to determining that the property value and the first round-trip value are the same.

3. The method of claim 1 , further comprising flagging an incompatible mapping of the ontology map when the first-round trip value and the second-round trip value differ.

4. The method of claim 1 ,

wherein exporting the database change at the importing site comprises exporting based at least in part on the one-to-one mapping.

5. The method of claim 1 , further comprising flagging an incompatible mapping when the property value and the first round-trip value differ.

6. One or more non-transitory computer readable storage media storing instructions which, when executed, cause performance of:

storing a database change comprising a property value, the property value having an exporting site property type as defined in an exporting site ontology for an exporting site;

mapping the exporting site property type to an importing site property type defined by an importing site ontology for an importing site based on an ontology map comprising a one-to-one mapping between data types defined by the exporting site ontology and data types defined by the importing site ontology;

transforming the property value to an intermediate property value based on the importing site property type to simulate incorporating the property value into the importing site;

transforming the intermediate property value to a first round-trip value based on the exporting site property type to simulate incorporating the intermediate property value into the exporting site;

determining that the property value and the first round-trip value are different;

transforming the first round-trip value to a second intermediate value based on the importing site property type;

transforming the second intermediate value to a second round-trip value based on the exporting site property type;

determining whether to export the database change to the importing site based at least in part on a comparison between the first round-trip value and the second round-trip value;

exporting the database change to the importing site when the first round-trip value and the second round-trip value match.

7. The one or more non-transitory computer readable storage media of claim 6 , wherein the instructions, when executed, cause determining to export the database change to the importing site in response to determining that the property value and the first round-trip value are the same.

8. The one or more non-transitory computer readable storage media of claim 6 , wherein the instructions, when executed, cause flagging an incompatible mapping of the ontology map when the first-round trip value and the second-round trip value differ.

9. The one or more non-transitory computer readable storage media of claim 6 ,

wherein exporting the database change at the importing site comprises exporting based at least in part on the one-to-one mapping.

10. The one or more non-transitory computer readable storage media of claim 6 , wherein the instructions, when executed, cause flagging an incompatible mapping when the property value and the first round-trip value differ.

11. A system comprising:

one or more processors;

one or more non-transitory computer readable storage media coupled to the one or more processors and comprising logic configured to:

store a database change comprising a property value, the property value having an exporting site property type as defined in an exporting site ontology for an exporting site;

map the exporting site property type to an importing site property type defined by an importing site ontology for an importing site based on an ontology map comprising a one-to-one mapping between data types defined by the exporting site ontology and data types defined by the importing site ontology;

transform the property value to an intermediate property value based on the importing site property type to simulate incorporating the property value into the importing site;

transform the intermediate property value to a first round-trip value based on the exporting site property type to simulate incorporating the intermediate property value into the exporting site;

determining that the property value and the first round-trip value are different;

transforming the first round-trip value to a second intermediate value based on the importing site property type;

transforming the second intermediate value to a second round-trip value based on the exporting site property type;

determining whether to export the database change to the importing site based at least in part on a comparison between the first round-trip value and the second round-trip value;

exporting the database change to the importing site when the first round-trip value and the second round-trip value match.

12. The system of claim 11 , wherein the logic is configured to determine to export the database change to the importing site in response to determining that the property value and the first round-trip value are the same.

13. The system of claim 11 , wherein the logic is configured to flag an incompatible mapping of the ontology map when the first-round trip value and the second-round trip value differ.

14. The system of claim 11 , wherein the logic is configured to flag an incompatible type mapping when the property value and the first round-trip value are different.

15. The system of claim 11 , wherein exporting the database change at the importing site comprises exporting based at least in part on the one-to-one mapping.

Assignments (7)
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
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 →
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: ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT
Reel/Frame 051709/0471 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 051713/0149 →
Continuity (4)
Continuation 15143780 · May 2, 2016
Division 14156208 · Jan 15, 2014
Continuation 13076804 · Mar 31, 2011
Related Publication 20190138533A1 · May 9, 2019