IP Library › Granted Patent US 11,507,623
Granted Patent B2
US 11,507,623 · App. 16/810,606 · Granted Nov 22, 2022

Inheritance in dynamic hierarchical systems

Inventors: Raghavendra Rao M G (Walldorf, DE); Maximilian Stefanac (Karlsruhe, DE)
Assignee: SAP SE
G06F16/9024G06F16/2246G06F16/2272G06F16/24556
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,507,623
App. No.
16/810,606
Granted
Nov 22, 2022
Kind
B2
Abstract

Methods and apparatus are disclosed for representing a dynamic hierarchical system as a composite graph data structure. Members of a system are represented as primary nodes of a tree. Multiple system states have respective trees, which can be overlaid to obtain a composite graph. The composite graph can be augmented with secondary nodes for member attributes, and further nodes for state-dependent values of the attributes. Methods of processing bottom-up, top-down, and filtered queries are disclosed. Applications to military, manufacturing, and communication networks are provided.

Claims (76)

1. A computer-implemented method comprising:

for a system comprising a plurality of components, the system reconfigurable among a plurality of states having respective relationships among the components, building a composite graph data structure representing the system, wherein:

the components are represented by respective nodes (denoted component-representing nodes) of the composite graph data structure;

the relationships are represented as edges of a distinct respective tree, embedded within the composite graph data structure, for each of the states;

each of the trees has a same number of nodes, which are the component-representing nodes, and further each of the trees is formed of (i) the same component-representing nodes as any other of the trees and (ii) the edges representing the relationships of the respective state; and

the nodes are associated with data items which are values of respective attributes of the nodes;

receiving, from a first client, a first query for a first node of the nodes in a first state of the states, wherein the first node is not a root of the respective tree of the first state;

initializing a first query response;

traversing a first inheritance path of the first node in the respective tree of the first state within the composite graph data structure, wherein the first inheritance path comprises a first group of the nodes;

using the data items associated with the first group of the nodes to update the first query response;

transmitting the first query response to the first client;

receiving, from a second client, a second query for a second node of the nodes in a second state of the states, wherein the second node is not a root of the respective tree of the second state and the second state is distinct from the first state;

initializing a second query response;

traversing a second inheritance path of the second node in the respective tree of the second state within the composite graph data structure, wherein the second inheritance path comprises a second group of the nodes;

using the data items associated with the second group of the nodes to update the second query response; and

transmitting the second query response to the second client.

2. The computer-implemented method of claim 1 , wherein the first group of the nodes is traversed in order from the first node to the root.

3. The computer-implemented method of claim 1 , wherein the trees share a common root node.

4. The computer-implemented method of claim 1 , wherein the nodes are primary nodes, and wherein the composite graph data structure contains a plurality of secondary nodes directly coupled by secondary edges to respective nodes of the primary nodes.

5. The computer-implemented method of claim 4 , wherein the secondary edges are independent of the states.

6. The computer-implemented method of claim 4 , wherein each of the secondary nodes represents an attribute of the primary node to which the each secondary node is directly coupled.

7. The computer-implemented method of claim 6 , wherein the composite graph data structure further comprises a plurality of value nodes directly coupled by value edges to respective ones of the secondary nodes, and each of the value nodes represents a value of the attribute represented by the secondary node to which the each value node is directly coupled.

8. The computer-implemented method of claim 7 , wherein at least two of the value edges are dependent on the states.

9. The computer-implemented method of claim 1 , wherein the first query response comprises a set, and the updating the first query response aggregates the data items associated with the first group of the nodes into the set.

10. The computer-implemented method of claim 1 , wherein the first query extends to additional states of the plurality of states besides the first state, and the method further comprises traversing additional inheritance paths associated with the other states.

11. One or more computer-readable media storing instructions which, when executed by one or more hardware processors, cause the hardware processors to perform actions comprising:

for a system comprising a plurality of components, the system reconfigurable among a plurality of states having respective relationships among the components, receiving a composite graph data structure representing the system, wherein:

the components are represented by respective nodes (denoted component-representing nodes) of the composite graph data structure;

the relationships are represented as edges of a distinct respective tree, embedded within the composite graph data structure, for each of the states;

each of the trees has a same number of nodes, which are the component-representing nodes, and further each of the trees is formed of (i) the same component-representing nodes as any other of the trees and (ii) the edges representing the relationships of the respective state; and

the nodes are associated with data items which are values of respective attributes of the nodes;

receiving, from a first client, a first query for a first component of the system in a first state of the system, wherein the first component is represented by a first node of the nodes that is not a leaf of the respective tree of the first state;

initializing a first query response;

traversing a first subtree, of the respective tree of the first state in the composite graph data structure, rooted at the first node;

using the data items associated with respective nodes of the nodes of the first subtree to update the first query response;

transmitting the first query response to the first client;

receiving, from a second client, a second query for a second component of the system in a second state of the system, wherein the second component is represented by a second node of the nodes that is not a leaf of the respective tree of the second state;

initializing a second query response;

traversing a second subtree, of the respective tree of the second state in the composite graph data structure, rooted at the second node;

using the data items associated with respective nodes of the nodes of the second subtree to update the second query response; and

transmitting the second query response to the second client.

12. The one or more computer-readable media of claim 11 , wherein the trees share a common root node.

13. The one or more computer-readable media of claim 11 , wherein the given node is a root of the respective tree of the given state.

14. The one or more computer-readable media of claim 11 , wherein:

the nodes are primary nodes;

the composite graph data structure contains a plurality of secondary nodes directly coupled by secondary edges to respective nodes of the primary nodes;

the secondary edges are independent of the states; and

each of the secondary nodes represents an attribute of the primary node to which the each secondary node is directly coupled.

15. The one or more computer-readable media of claim 14 , wherein:

the composite graph data structure further comprises a plurality of value nodes directly coupled by value edges to respective ones of the secondary nodes;

each of the value nodes represents a value of the attribute represented by the secondary node to which the each value node is directly coupled; and

at least two of the value edges are dependent on the states.

16. The one or more computer-readable media of claim 11 , wherein the query response is a count, and the using sums the data items into the count.

17. A computing system comprising:

one or more hardware processors with memory coupled thereto;

computer-readable media storing instructions executable by the one or more hardware processors, the stored instructions comprising:

first instructions that, when executed, cause receipt of a composite graph data structure representing a reconfigurable system, wherein:

the reconfigurable system has a plurality of states with respective relationships among the components;

the components are represented by respective nodes (denoted component-representing nodes) of the composite graph data structure;

the relationships are represented as edges of a distinct respective tree, embedded within the composite graph data structure, for each of the states; and

each of the trees has a same number of nodes, which are the component-representing nodes, and further each of the trees is formed of (i) the same component-representing nodes as any other of the trees and (ii) the edges representing the relationships of the respective state;

second instructions that when executed, cause the one or more hardware processors to perform operations comprising:

receiving, from a first client, a first query for a first node of the nodes in a first state of the states, wherein the first node is not a root of the respective tree of the first state;

initializing a first query response;

traversing a first inheritance path of the first node in the respective tree of the first state within the composite graph data structure, wherein the first inheritance path comprises a first group of the nodes;

using the data items associated with the first group of the nodes to update the first query response;

transmitting the first query response to the first client;

receiving, from a second client, a second query for a second node of the nodes in a second state of the states, wherein the second node is not a root of the respective tree of the second state and the second state is distinct from the first state;

initializing a second query response;

traversing a second inheritance path of the second node in the respective tree of the second state within the composite graph data structure, wherein the second inheritance path comprises a second group of the nodes;

using the data items associated with the second group of the nodes to update the second query response; and

transmitting the second query response to the second client.

18. The computing system of claim 17 , wherein the instructions further comprise:

third instructions to add a new tree, for a new state, to the composite graph data structure.

19. The computing system of claim 17 , wherein the first and second states are for a common operating mode of the nodes at distinct respective times.

20. The computing system of claim 17 , wherein the first and second states are for distinct respective operating modes of the nodes at a common time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2020
From: M G, RAGHAVENDRA RAO; STEFANAC, MAXIMILIAN
To: SAP SE
Reel/Frame 052042/0679 →
Continuity (1)
Related Publication 20210279280A1 · Sep 9, 2021