IP Library › Granted Patent US 10,380,186
Granted Patent B2
US 10,380,186 · App. 12/787,593 · Granted Aug 13, 2019

Virtual topological queries

Inventors: Arik Sityon (Ganne Tiqwa, IL); Uri Ben-Dor (Givat Shmuel, IL); Ran Biron (Petah Tiqwa, IL)
Assignee: ENTIT SOFTWARE LLC
G06F16/9024
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,380,186
App. No.
12/787,593
Filed
May 26, 2010
Granted
Aug 13, 2019
Kind
B2
Art Unit
2159
USPC
707/722
Abstract

Systems, methods, and other embodiments associated with virtual topological queries are described. One example method includes executing a first topological query on a stored graph to generate a first result graph. The example method may also include manipulating the first result graph to generate a virtual query result graph as a function of a second topological query. The example method may also include providing the virtual query result graph.

Claims (32)

1. A non-transitory computer-readable medium storing computer-executable instructions that when executed by a computer cause the computer to perform a method, the method comprising:

executing a first topological query on a stored graph to generate a first result graph;

generating a virtual query result graph as a function of a second topological query, wherein generating the virtual query result graph comprises, in lieu of the computer executing the second topological query on the stored graph, manipulating the first result graph to generate the virtual query result graph, and wherein manipulating the first result graph comprises at least one of executing the second topological query on the first result graph, restricting the first result graph based on the second topological query, performing a union of the first result graph and the second topological query, or performing an intersection of the first result graph and the second topological query; and

providing the virtual query result graph;

wherein execution of the second topological query on the virtual query result graph involves less processing time than execution of the second topological query on the stored graph.

2. The non-transitory computer-readable medium of claim 1 , where restricting the first result graph comprises selecting sub-graphs of the first result graph that satisfy a condition of the second topological query.

3. The non-transitory computer-readable medium of claim 1 , where manipulating the first result graph comprises executing the second topological query to generate a second result graph and creating a union of the first result graph and the second result graph.

4. The non-transitory computer-readable medium of claim 1 , where manipulating the first result graph comprises executing the second topological query to generate a second result graph and creating an intersection of the first result graph and the second result graph.

5. The non-transitory computer-readable medium of claim 4 , where creating the intersection of the first result graph and the second result graph comprises joining a first sub-graph from the first result graph with a second sub-graph from the second result graph to create a third sub-graph.

6. The non-transitory computer-readable medium of claim 5 , where the third sub-graph comprises nodes from the first sub-graph, nodes from the second sub-graph, and a shared node that is associated with a node in the first sub-graph and that is associated with a node in the second sub-graph.

7. The non-transitory computer-readable medium of claim 1 , the method further comprising detecting a change to the stored graph that would affect the structure of the first result graph and providing an updated virtual query result graph in response to detecting the change.

8. The non-transitory computer-readable medium of claim 1 , wherein manipulating the first result graph further comprises selecting a manipulation technique based, at least in part, on the first result graph.

9. The non-transitory computer-readable medium of claim 1 , the method comprising receiving a virtual query from a client that identifies the first topological query, the second topological query, and a technique for manipulating the first topological query based on the second topological query.

10. A system, comprising:

a configuration management data store (CMDB) embodied on a non-transitory computer-readable medium to store descriptions of components of an information technology (IT) infrastructure and to store a directed graph describing relationships between the components of the IT infrastructure;

a virtual query logic, including at least instructions stored on a non-transitory computer-readable medium, to control execution of a virtual query comprising a first query, a second query, and a manipulation instruction involving the first query and the second query, wherein:

a result of the first query comprises a sub-graph of the directed graph in the CMDB;

the instructions to control execution of the virtual query instructs the virtual query logic to generate a virtual query result graph as a function of the second query;

the manipulation instruction instructs the virtual query logic to manipulate the result of the first query to generate the virtual query result graph; and

the manipulation instruction instructs the virtual query logic to perform at least one of execution of the second query on the result of the first query, a restriction of the result of the first query using the second query, a union of the result of the first query and a result of the second query, or an intersection of the result of the first query and the result of the second query; and

a provision logic to provide the virtual query result graph.

11. The system of claim 10 , comprising an update logic to monitor changes to the directed graph and to instruct the virtual query logic to re-execute an active virtual query.

12. The system of claim 10 , comprising a sequential flow logic to control execution of a sequence of conditional virtual topological queries by the virtual query logic, where a conditional virtual topological query is executed when a result of a virtual topological query meets a condition defined by the conditional virtual topological query.

13. The system of claim 10 , further comprising a series of queries that are to update over time as the directed graph in the CMDB changes, different subsequent queries to be invoked depending on the results of some of the queries, and data from the series of queries to be pooled into an active conditional query result graph that is to be provided when a result of any of the queries has changed.

14. A computing device, comprising:

a processor that is adapted to execute stored instructions; and

a storage device that stores instructions, the storage device comprising processor executable code that, when executed by the processor, is configured to:

execute a first topological query identified in a virtual topological query on a stored graph to generate a first result graph; and

generate a virtual query result graph as a function of a second topological query, wherein generating the virtual query result graph comprises, in lieu of executing the second topological query on the stored graph, manipulating the first result graph to generate the virtual query result graph,

wherein manipulating the first result graph comprises at least one executing the second topological query on the first result graph, restricting the first result graph using the second topological query, creating a union of the first result graph and a result of the second topological query, or intersecting the first result graph and the result of the second topological query.

15. The computing device of claim 14 , where the processor executable code is configured to monitor changes to the stored graph and control re-execution of the first topological query upon detection of a change to the stored graph.

16. The computing device of claim 14 , where the processor executable code is configured to select a technique for manipulation of the first topological query.

Assignments (8)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 042746/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2010
From: SITYON, ARIK; BEN-DOR, URI; BIRON, RAN
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 024447/0310 →
Continuity (1)
Related Publication 20110295841A1 · Dec 1, 2011