IP Library Granted Patent US 10,061,828
Granted Patent B2
US 10,061,828 · App. 15/143,780 · Granted Aug 28, 2018

Cross-ontology multi-master replication

Inventors: Richard Allen Ducott (Palo Alto, CA); John Kenneth Garrod (Palo Alto, CA); John Antonio Carrino (Palo Alto, CA); Katherine Brainard (Palo Alto, CA)
Assignee: Palantir Technologies, Inc.
G06F17/30569G06F7/00G06F17/30575G06F17/30876G06N5/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 10,061,828
App. No.
15/143,780
Granted
Aug 28, 2018
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: obtaining, at an importing site, an exporting site ontology and a set of one or more database changes; wherein the exporting site ontology defines a set of one or more data types; and after mapping the exporting site ontology to an importing site ontology, incorporating the set of one or more database changes into a database including mapping each of one or more data types of the set of data types to a data type defined by the importing site ontology using an ontology map.

Claims (54)

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;

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, wherein the intermediate property value is only different from the property value when transforming using the importing site property type causes change from the property value to the intermediate property value;

transforming the intermediate property value to a first round-trip value based on the exporting site property type, wherein first round-trip value is only different from the intermediate property value only when transforming using the exporting site property type causes change from the intermediate property value to the first round-trip value;

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;

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:

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 first round-trip value and the second round-trip value.

4. The method of claim 3 , further comprising exporting the database change to importing site when the first round-trip value and the second round-trip value match.

5. The method of claim 1 , further comprising exporting the database change to importing site when the property value and the first round-trip value match.

6. The method of claim 5 ,

wherein the ontology map comprises a one-to-one mapping between a first particular data type defined by the exporting site ontology and a plurality data types defined by the importing site ontology; and

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

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

8. 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;

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, wherein the intermediate property value is only different from the property value when transforming using the importing site property type causes change from the property value to the intermediate property value;

transforming the intermediate property value to a first round-trip value based on the exporting site property type, wherein first round-trip value is only different from the intermediate property value only when transforming using the exporting site property type causes change from the intermediate property value to the first round-trip value;

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.

9. The one or more non-transitory computer readable storage media of claim 8 , 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.

10. The one or more non-transitory computer readable storage media of claim 8 , wherein the instructions, when executed, cause:

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 first round-trip value and the second round-trip value.

11. The one or more non-transitory computer readable storage media of claim 10 , wherein the instructions, when executed, cause exporting the database change to importing site when the first round-trip value and the second round-trip value match.

12. The one or more non-transitory computer readable storage media of claim 8 , wherein the instructions, when executed, cause exporting the database change to importing site when the property value and the first round-trip value match.

13. The one or more non-transitory computer readable storage media of claim 12 ,

wherein the ontology map comprises a one-to-one mapping between a first particular data type defined by the exporting site ontology and a plurality data types defined by the importing site ontology; and

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

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

15. 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:

access 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;

use 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;

transform the property value to an intermediate property value based on the importing site property type, wherein the intermediate property value is only different from the property value when transforming using the importing site property type causes change from the property value to the intermediate property value;

transform the intermediate property value to a first round-trip value based on the exporting site property type, wherein first round-trip value is only different from the intermediate property value only when transforming using the exporting site property type causes change from the intermediate property value to the first round-trip value;

determine 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.

16. The system of claim 15 , 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.

17. The system of claim 15 , wherein the logic is configured to:

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

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

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

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

18. The system of claim 17 , wherein the logic is configured to export the database change to importing site when the first round-trip value and the second round-trip value are the same.

19. The system of claim 15 , wherein the logic is configured to export the database change to importing site when the property value and the first round-trip value are the same.

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

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 (3)
Division 14156208 · Jan 15, 2014
Continuation 13076804 · Mar 31, 2011
Related Publication 20160246862A1 · Aug 25, 2016