IP Library Granted Patent US 10,062,128
Granted Patent B2
US 10,062,128 · App. 15/043,449 · Granted Aug 28, 2018

Accessing data from multiple disparate systems through a graph

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,062,128
App. No.
15/043,449
Granted
Aug 28, 2018
Kind
B2
Abstract

Various embodiments relate generally to a system, a device and a method provide for accessing data across multiple disparate systems via a graph data structure. A request associated with a data object in a listing management system may be received. An identifier associated with the data object may then be determined. One or more nodes in a knowledge graph may then be traversed responsive to the identifier and the request associated with the data object. Data items are retrieved from the one or more nodes in the knowledge graph based on the request. Responsive to the received request, a proxy object comprising the retrieved one or more data items is then provided.

Claims (53)

1. A system comprising:

a processor configured with computer-executable instructions to:

obtain a request for a proxy code object enabling access to a plurality of data items, each data item stored at a data source of a plurality of disparate data sources, wherein the request includes an identifier for a first data item of the plurality of data items that is stored within a first data source of the plurality of disparate data sources;

retrieve the first data item from the first data source based at least partly on the identifier;

obtain a knowledge graph comprising nodes representing the plurality of data items, the knowledge graph identifying relationships between the plurality of data items stored in the plurality of disparate data sources, wherein each relationship links a characteristic of one data item of the plurality of data items, as stored in one data source of the plurality of disparate data sources, to another data item of the plurality of data items as stored within another data source of the plurality of disparate data sources;

identify, from the knowledge graph, a remainder of data items within the plurality of data items, wherein identifying the remainder of data items comprises traversing the knowledge graph from a first node associated with the first data item to a set of additional nodes associated with the remainder of data items;

generate the proxy code object, wherein the proxy code object includes the first data item and at least one code segment representing a method invocable to access, within a second data source of the plurality of data sources, a second data item within the remainder of data items; and

respond to the received data request by providing the proxy code object.

2. The system of claim 1 , wherein the processor is further configured to identify the first data source based at least partly on the identifier for the first data item included within the data request.

3. The system of claim 1 , wherein the processor is further configured to:

detect invocation of the method;

retrieve the second data item from the second data source; and

return the second data item.

4. The system of claim 1 , wherein the processor is further configured to identify at least one of the relationships based at least partly on one or more annotations.

5. The system of claim 1 , wherein the processor is further configured to identify at least one of the relationships based at least partly on at least one object relational mapping.

6. The system of claim 1 , wherein the processor is further configured to identify at least one of the relationships based at least partly on at least one SPRING JAVA configuration.

7. The system of claim 1 , wherein the method calls a JAVA class comprising code that enables access to the second data source.

8. A computer-implemented method comprising:

obtaining a request for a proxy code object enabling access to a plurality of data items, each data item stored at a data source of a plurality of disparate data sources, wherein the request includes an identifier for a first data item of the plurality of data items that is stored within a first data source of the plurality of disparate data sources;

retrieving the first data item from the first data source based at least partly on the identifier;

obtaining a knowledge graph comprising nodes representing the plurality of data items, the knowledge graph identifying relationships between the plurality of data items stored in the plurality of disparate data sources, wherein each relationship links a characteristic of one data item of the plurality of data items, as stored in one data source of the plurality of disparate data sources, to another data item of the plurality of data items as stored within another data source of the plurality of disparate data sources;

identifying, from the knowledge graph, a remainder of data items within the plurality of data items, wherein identifying the remainder of data items comprises traversing the knowledge graph from a first node associated with the first data item to a set of additional nodes associated with the remainder of data items;

generating the proxy code object, wherein the proxy code object includes the first data item and at least one code segment representing a method invocable to access, within a second data source of the plurality of data sources, a second data item within the remainder of data items; and

responding to the received data request by providing the proxy code object.

9. The computer-implemented method of claim 8 further comprising determining a portion of the request constituting the identifier, wherein determining the portion of the request constituting the identifier comprises:

determining a key associated with the first data source;

determining a data component of the request representing the key; and

designating the data component as the identifier.

10. The computer-implemented method of claim 8 , wherein traversing the knowledge graph from the first node associated with the first data item to the set of additional nodes associated with the remainder of data items comprises determining, from the knowledge graph, a relationship between the first data item and the second data item, wherein the relationship between the first data item and the second data item indicates that a characteristic the first data item represents a key associated with the second data source.

11. The computer-implemented method of claim 10 , wherein traversing the knowledge graph from the first node associated with the first data item to the set of additional nodes associated with the remainder of data items further comprises determining, from the knowledge graph, a relationship between the second data item and a third data item, wherein the relationship between the second data item and the third data item indicates that a characteristic the second data item represents a key associated with a third data source, of the plurality of disparate data sources, at which the third data item is stored.

12. The computer-implemented method of claim 8 , wherein at least one relationship of the knowledge graph is identified based at least partly on a combination of an annotation and a SPRING JAVA configuration.

13. The computer-implemented method of claim 8 further comprising:

detecting invocation of the method;

retrieving the second data item from the second data source; and

returning the second data item.

14. The computer-implemented method of claim 13 further comprising returning a computation associated with second data item.

15. Non-transitory computer-readable media comprising instructions that, when executed by a computing system, cause the computing system to:

obtain a request for a proxy code object enabling access to a plurality of data items, each data item stored at a data source of a plurality of disparate data sources, wherein the request includes an identifier for a first data item of the plurality of data items that is stored within a first data source of the plurality of disparate data sources;

retrieve the first data item from the first data source based at least partly on the identifier;

obtain a knowledge graph comprising nodes representing the plurality of data items, the knowledge graph identifying relationships between the plurality of data items stored in the plurality of disparate data sources, wherein each relationship links a characteristic of one data item of the plurality of data items, as stored in one data source of the plurality of disparate data sources, to another data item of the plurality of data items as stored within another data source of the plurality of disparate data sources;

identify, from the knowledge graph, a remainder of data items within the plurality of data items, wherein identifying the remainder of data items comprises traversing the knowledge graph from a first node associated with the first data item to a set of additional nodes associated with the remainder of data items;

generate the proxy code object, wherein the proxy code object includes the first data item and at least one code segment representing a method invocable to access, within a second data source of the plurality of data sources, a second data item within the remainder of data items; and

respond to the received data request by providing the proxy code object.

16. The non-transitory computer-implemented media of claim 15 , wherein the instructions are further executable by the computing system to determine the identifier within the request, and wherein, to determine the identifier within the request, the instructions cause the computing system to:

determining a key associated with the first data source;

determining a data component of the request representing the key; and

designating the data component as the identifier.

17. The non-transitory computer-implemented media of claim 15 , wherein, to traverse the knowledge graph from the first node associated with the first data item to the set of additional nodes associated with the remainder of data items, the instructions cause the computing system to determine, from the knowledge graph, a relationship between the first data item and the second data item, wherein the relationship between the first data item and the second data item indicates that a characteristic the first data item represents a key associated with the second data source.

18. The non-transitory computer-implemented media of claim 16 , wherein, to traverse the knowledge graph from the first node associated with the first data item to the set of additional nodes associated with the remainder of data items, the instructions further cause the computing system to determine, from the knowledge graph, a relationship between the second data item and a third data item, wherein the relationship between the second data item and the third data item indicates that a characteristic the second data item represents a key associated with a third data source, of the plurality of disparate data sources, at which the third data item is stored.

19. The non-transitory computer-implemented media of claim 18 , wherein the instructions are further executable by the computing system to:

detect invocation of the method;

retrieve the second data item from the second data source; and

return the second data item.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Apr 15, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: EXPEDIA GROUP, INC.; EXPEDIA, INC.; HOMEAWAY.COM, INC.; ORBITZ, LLC
Reel/Frame 059719/0926 →
SECURITY INTEREST Recorded May 5, 2020
From: EXPEDIA, INC.; HOMEAWAY.COM, INC.; ORBITZ, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 052577/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2017
From: JACOB, BRYON KRISTEN
To: HOMEAWAY.COM, INC.
Reel/Frame 043116/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2017
From: CORBETT, RONALD WILLIAM
To: HOMEAWAY.COM, INC.
Reel/Frame 040938/0705 →
EMPLOYEE AGREEMENT WITH OBLIGATION TO ASSIGN Recorded Jan 10, 2017
From: JACOB, BRYON KRISTEN
To: WVR, INC.
Reel/Frame 041326/0615 →
CHANGE OF NAME Recorded Jan 10, 2017
From: WVR, INC.
To: HOMEAWAY.COM, INC.
Reel/Frame 041326/0649 →