IP Library Granted Patent US 10,296,504
Granted Patent B2
US 10,296,504 · App. 14/970,061 · Granted May 21, 2019

Graphical user interface for querying relational data models

Inventors: David Joseph Hock (Poway, CA); Kevin Tully (San Mateo, CA)
Assignee: SuccessFactors, Inc.
G06F16/2423
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,296,504
App. No.
14/970,061
Granted
May 21, 2019
Kind
B2
Abstract

Some embodiments provide a non-transitory machine-readable medium that stores a program executable by at least one processing unit of a device. The program receives a selection of a first entity and a second entity in a relational data model. The relational data model includes several entities and a set of relationships among the several entities. The program also determines a set of navigation routes through the relational data model based on the first and second entities. The program further provides the determined navigation routes through a graphical user interface (GUI) in order to provide a visual context of data in the relational data model.

Claims (58)

1. A non-transitory machine-readable medium storing a program executable by at least one processing unit of a device, the program comprising sets of instructions for:

receiving a selection of a first entity and a second entity in a relational data model, the relational data model defining a plurality of entities and a set of relationships among the plurality of entities, each entity in the plurality of entities comprising a set of attributes;

determining a set of navigation routes through the relational data model based on the first and second entities and the set of relationships among the plurality of entities, each navigation route in the set of navigation routes comprising a different path through the relational data model, the different path comprising a subset of the set of relationships in the relational data mode and a set of entities in the plurality of entities of the relational data model that includes the first entity and the second entity;

providing each navigation route in the determined set of navigation routes through a graphical user interface (GUI) in order to provide a visual context of data in the relational data model by displaying the set of entities along the path of the navigation route that starts at the first entity and ends at the second entity;

receiving a selection of a navigation route in the set of determined navigation routes;

retrieving data from a data source based on the relational data model and the selected navigation route, the data source configured to store instances of entities defined by the relational data model and, for each instance of an entity, a set of values for the set of attributes defined to be associated with the entity in the relational data model; and

sending the retrieved data to a system in order for the system to integrate the data into the system.

2. The non-transitory machine-readable medium of claim 1 , wherein the system is a first system, wherein the program further comprises a set of instructions for sending the retrieved data to a second system in order for the second system to integrate the data into the second system.

3. The non-transitory machine-readable medium of claim 1 , wherein the set of navigation routes through the relational data model is a first set of navigation routes through the relational data model, wherein the navigation route is a first navigation route, wherein the data retrieved from the data source is a first data, wherein the system is a first system, wherein the program further comprises a set of instructions for:

receiving a selection of a third entity and a fourth entity in the relational data model;

determining a second set of navigation routes through the relational data model based on the third and fourth entities and the set of relationships among the plurality of entities, each navigation route in the second set of navigation routes comprising a different path through the relational data model, the different path comprising a subset of the set of relationships in the relational data mode and a set of entities in the plurality of entities of the relational data model that includes the third entity and the fourth entity;

providing each navigation route in the determined second set of navigation routes through the GUI in order to provide a visual context of data in the relational data model by displaying the set of entities along the path of the navigation route that starts at the third entity and ends at the fourth entity;

receiving a selection of a second navigation route in the second set of determined navigation routes;

retrieving second data from the data source based on the relational data model and the selected second navigation route; and

sending the retrieved second data to a second system in order for the second system to integrate the data into the second system.

4. The non-transitory machine-readable medium of claim 1 , wherein the system is a first system, wherein a second system comprises the data source.

5. The non-transitory machine-readable medium of claim 1 , wherein the set of instructions for determining the set of navigation routes through the relational data model comprises sets of instructions for starting at the first entity in the relational data model, traversing entities in the relational data model based on the relationships among the entities, and ending at the second entity in the relational data model.

6. The non-transitory machine-readable medium of claim 1 , wherein the GUI comprises a first panel for providing a first visual context of the data in the relational data model and a second panel for providing a second, different visual context of the data in the relational data model.

7. The non-transitory machine-readable medium of claim 1 , wherein each navigation route in the set of determined navigation routes comprises a number of entities that is less than a defined number of entities.

8. A method comprising:

receiving a selection of a first entity and a second entity in a relational data model, the relational data model defining a plurality of entities and a set of relationships among the plurality of entities, each entity in the plurality of entities comprising a set of attributes;

determining a set of navigation routes through the relational data model based on the first and second entities and the set of relationships among the plurality of entities, each navigation route in the set of navigation routes comprising a different path through the relational data model, the different path comprising a subset of the set of relationships in the relational data mode and a set of entities in the plurality of entities of the relational data model that includes the first entity and the second entity;

providing each navigation route in the determined set of navigation routes through a graphical user interface (GUI) in order to provide a visual context of data in the relational data model by displaying the set of entities along the path of the navigation route that starts at the first entity and ends at the second entity;

receiving a selection of a navigation route in the set of determined navigation routes;

retrieving data from a data source based on the relational data model and the selected navigation route, the data source configured to store instances of entities defined by the relational data model and, for each instance of an entity, a set of values for the set of attributes defined to be associated with the entity in the relational data model; and

sending the retrieved data to a system in order for the system to integrate the data into the system.

9. The method of claim 8 , wherein the system is a first system, the method further comprising sending the retrieved data to a second system in order for the second system to integrate the data into the second system.

10. The method of claim 8 , wherein the set of navigation routes through the relational data model is a first set of navigation routes through the relational data model, wherein the navigation route is a first navigation route, wherein the data retrieved from the second data storage is a first data, wherein the system is a first system, the method further comprising:

receiving a selection of a third entity and a fourth entity in the relational data model stored in the first data storage;

determining a second set of navigation routes through the relational data model based on the third and fourth entities and the set of relationships among the plurality of entities, each navigation route in the second set of navigation routes comprising a different path through the relational data model, the different path comprising a subset of the set of relationships in the relational data mode and a set of entities in the plurality of entities of the relational data model that includes the third entity and the fourth entity;

providing each navigation route in the determined second set of navigation routes through the GUI in order to provide a visual context of data in the relational data model by displaying the set of entities along the path of the navigation route that starts at the third entity and ends at the fourth entity;

receiving a selection of a second navigation route in the second set of determined navigation routes;

retrieving second data from the data source based on the relational data model and the selected second navigation route; and

sending the retrieved second data to a second system in order for the second system to integrate the data into the second system.

11. The method of claim 8 , wherein the system is a first system, wherein a second system comprises the data source.

12. The method of claim 8 , wherein determining the set of navigation routes through the relational data model comprises starting at the first entity in the relational data model, traversing entities in the relational data model based on the relationships among the entities, and ending at the second entity in the relational data model.

13. The method of claim 8 , wherein the GUI comprises a first panel for providing a first visual context of the data in the relational data model and a second panel for providing a second, different visual context of the data in the relational data model.

14. The method of claim 8 , wherein each navigation route in the set of determined navigation routes comprises a number of entities that is less than a defined number of entities.

15. A first system comprising:

a set of processing units; and

a non-transitory machine-readable medium storing instructions that when executed by at least one processing unit in the set of processing units cause the at least one processing unit to:

receive a selection of a first entity and a second entity in a relational data model, the relational data model defining a plurality of entities and a set of relationships among the plurality of entities, each entity in the plurality of entities comprising a set of attributes;

determine a set of navigation routes through the relational data model based on the first and second entities and the set of relationships among the plurality of entities, each navigation route in the set of navigation routes comprising a different path through the relational data model, the different path comprising a subset of the set of relationships in the relational data mode and a set of entities in the plurality of entities of the relational data model that includes the first entity and the second entity,

provide the determined set of navigation routes through a graphical user interface (GUI) in order to provide a visual context of data in the relational data model by displaying the set of entities along the path of the navigation route that starts at the first entity and ends at the second entity;

receive a selection of a navigation route in the set of determined navigation routes;

retrieve data from a second data storage based on the relational data model and the selected navigation route, the second data storage configured to store instances of entities defined by the relational data model and, for each instance of an entity, a set of values for the set of attributes defined to be associated with the entity in the relational data model; and

send the retrieved data to a second system in order for the second system to integrate the data into the second system.

16. The first system of claim 15 , wherein the instructions further cause the at least one processing unit to send the retrieved data to a third system in order for the third system to integrate the data into the third system.

17. The first system of claim 15 , wherein the set of navigation routes through the relational data model is a first set of navigation routes through the relational data model, wherein the navigation route is a first navigation route, wherein the data retrieved from the second data storage is a first data, wherein the instructions further cause the at least one processing unit to:

receive a selection of a third entity and a fourth entity in the relational data model stored in the first data storage;

determine a second set of navigation routes through the relational data model based on the third and fourth entities and the set of relationships among the plurality of entities, each navigation route in the second set of navigation routes comprising a different path through the relational data model, the different path comprising a subset of the set of relationships in the relational data mode and a set of entities in the plurality of entities of the relational data model that includes the third entity and the fourth entity;

provide each navigation route in the determined second set of navigation routes through the GUI in order to provide a visual context of data in the relational data model by displaying the set of entities along the path of the navigation route that starts at the third entity and ends at the fourth entity;

receive a selection of a second navigation route in the second set of determined navigation routes;

retrieve second data from the data source based on the relational data model and the selected second navigation route; and

send the retrieved second data to a third system in order for the third system to integrate the data into the third system.

18. The first system of claim 15 , wherein a third system comprises the data source.

19. The first system of claim 15 , wherein determining the set of navigation routes through the relational data model comprises starting at the first entity in the relational data model, traversing entities in the relational data model based on the relationships among the entities, and ending at the second entity in the relational data model.

20. The first system of claim 15 , wherein the GUI comprises a first panel for providing a first visual context of the data in the relational data model and a second panel for providing a second, different visual context of the data in the relational data model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2015
From: HOCK, DAVID JOSEPH; TULLY, KEVIN
To: SUCCESSFACTORS, INC.
Reel/Frame 037297/0570 →
Continuity (1)
Related Publication 20170169099A1 · Jun 15, 2017
Cited By (18)
US 12,190,330 US 12,204,564 US 12,216,794 US 12,259,882 US 12,265,896 US 12,277,232 US 12,288,233 US 12,299,065 US 12,353,405 US 12,381,915 US 12,412,140 US 12,536,329 US 12,591,828 US 12,609,938 US 12,641,108 US 12,688,324 US 12,694,044 US 12,718,167