IP Library Granted Patent US 9,348,880
Granted Patent B1
US 9,348,880 · App. 14/676,621 · Granted May 24, 2016

Federated search of multiple sources with conflict resolution

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 9,348,880
App. No.
14/676,621
Granted
May 24, 2016
Kind
B1
Abstract

Methods and apparatuses related to federated search of multiple sources with conflict resolution are disclosed. A method may comprise obtaining a set of data ontologies (e.g., types, properties, and links) associated with a plurality of heterogeneous data sources; receiving a selection of a graph comprising a plurality of graph nodes connected by one or more graph edges; and transforming the graph into one or more search queries across the plurality of heterogeneous data sources. A method may comprise obtaining a first data object as a result of executing a first search query across a plurality of heterogeneous data sources; resolving, based on one or more resolution rules, at least the first data object with a repository data object; deduplicating data associated with at least the first data object and the repository data object prior to storing the deduplicated data in a repository that has a particular data model.

Claims (35)

1. A method comprising:

obtaining a first data object as a result of executing a first search query against a first data source of a plurality of heterogeneous data sources;

obtaining a second data object as a result of executing a second search query against a second data source, that is not the first data source, of the plurality of heterogeneous data sources;

determining, based on one or more resolution rules, whether the first data object and the second data object represent similar objects or identical objects;

in response to determining that the first data object and the second data object represent similar objects or identical objects:

generating an intermediate data object based on grouping the first data object with the second data object;

generating a unique identifier for the intermediate data object based on hashing one or more data object properties that uniquely identify the intermediate data object;

determining whether a repository data object that shares the unique identifier is stored in a repository that has a particular data model;

in response to determining that the repository data object is not stored in the repository, generating a stub data object that is referenced by the unique identifier and that is stored in the repository;

resolving the intermediate data object with the stub data object;

deduplicating data associated with the intermediate data object and the stub data object;

storing the deduplicated data in the repository that has the particular data model;

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

2. The method of claim 1 , wherein the particular data model comprises an object-centric data model.

3. The method of claim 1 , wherein the one or more data object properties comprise a provenance identifier.

4. The method of claim 1 , wherein the second search query takes as input one or more results of the first search query.

5. The method of claim 1 , wherein a change to data in one of the plurality of heterogeneous data sources and a change to data in the repository are synchronized based on vector clocks, repository rankings, or data source rankings.

6. A system comprising:

one or more processors; and

one or more non-transitory storage media storing instructions which, when executed by the one or more processors, cause:

obtaining a first data object as a result of executing a first search query against a first data source of a plurality of heterogeneous data sources;

obtaining a second data object as a result of executing a second search query against a second data source, that is not the first data source, of the plurality of heterogeneous data sources;

determining, based on one or more resolution rules, whether the first data object and the second data object represent similar objects or identical objects;

in response to determining that the first data object and the second data object represent similar objects or identical objects:

generating an intermediate data object based on grouping the first data object with the second data object;

generating a unique identifier for the intermediate data object based on hashing one or more data object properties that uniquely identify the intermediate data object;

determining whether a repository data object that shares the unique identifier is stored in a repository that has a particular data model;

in response to determining that the repository data object is not stored in the repository, generating a stub data object that is referenced by the unique identifier and that is stored in the repository;

resolving the intermediate data object with the stub data object;

deduplicating data associated with the intermediate data object and the stub data object;

storing the deduplicated data in the repository that has the particular data model.

7. The system of claim 6 , wherein the particular data model comprises an object-centric data model.

8. The system of claim 6 , wherein the one or more data object properties comprise a provenance identifier.

9. The system of claim 6 , wherein the second search query takes as input one or more results of the first search query.

10. The system of claim 6 , wherein a change to data in one of the plurality of heterogeneous data sources and a change to data in the repository are synchronized based on vector clocks, repository rankings, or data source rankings.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECTION OF ASSIGNEE ADDRESS PREVIOUSLY RECORDED AT REEL: 035964 FRAME: 0533. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 25, 2022
From: KRAMER, DANIELLE; ISRAEL, ANDREW; CHEN, JEFFREY; COHEN, DAVID; FREIBERG, STEPHEN; OFFUTT, BRYAN; AVANT, MATT; WILCZYNSKI, PETER; HOCH, JASON; LIU, ROBERT; WALDREP, WILLIAM; ZHANG, KEVIN; LANDAU, ALEXANDER; TOBIN, DAVID
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 061769/0630 →
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: 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 Jun 24, 2015
From: KRAMER, DANIELLE; ISRAEL, ANDREW; CHEN, JEFFREY; COHEN, DAVID; FREIBERG, STEPHEN; OFFUTT, BRYAN; AVANT, MATT; WILCZYNSKI, PETER; HOCH, JASON; LIU, ROBERT; WALDREP, WILLIAM; ZHANG, KEVIN; LANDAU, ALEXANDER; TOBIN, DAVID
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 035964/0533 →