IP Library › Granted Patent US 9,613,083
Granted Patent B2
US 9,613,083 · App. 13/457,093 · Granted Apr 4, 2017

Nesting level

Inventors: Alkiviadis Simitsis (Santa Clara, CA); William K. Wilkinson (San Mateo, CA)
Assignee: Hewlett Packard Enterprise Development LP
G06F17/30386G06F17/30501G06F17/30958
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,613,083
App. No.
13/457,093
Granted
Apr 4, 2017
Kind
B2
Abstract

A system, method, and non-transitory computer readable medium are provided to access a graph comprising a plurality of nodes and at least one edge. Each node is associated with at least one database operation. Computer code is constructed that corresponds to the graph in accordance with a nesting level. The nesting level represents a degree of temporary storage to be allocated for intermediate output produced by the at least one database operation.

Claims (28)

1. A system comprising:

a processor configured to:

access a graph comprising a plurality of nodes and at least one edge, each edge associating two of the plurality of nodes, at least some of the plurality of nodes being associated with at least one database operation;

determine a nesting level associated with the graph, wherein the nesting level is a setting to specify a degree of temporary storage to be allocated for intermediate output produced by the at least one database operation;

detect a query path in the graph, the query path including at least a first node and a second node of the plurality of interdependent nodes, wherein an output of the first node is an input for the second node;

determine, based on the nesting level, whether the intermediate output produced by the at least one database operation should be produced using a nested query in the computer code or should be stored in a temporary storage area and retrieved therefrom; and

construct computer code corresponding to the graph in accordance with the nesting level.

2. The system of claim 1 , wherein if the nesting level equals a maximum nesting level, the processor is to construct the computer code such that the intermediate output is produced using nested queries.

3. The system of claim 1 , wherein if the nesting level equals a minimum nesting level, the processor is to construct the computer code such that the intermediate output is stored in a temporary storage area.

4. The system of claim 1 wherein if the nesting level equals a moderate nesting level, the processor is to construct the computer code such that a first portion of the intermediate output is produced using nested queries, and a second portion of the intermediate output is stored in a temporary storage area.

5. The system of claim 1 , wherein the nesting level is adjustable by a user.

6. A non-transitory computer readable medium having instructions stored therein, which if executed, cause a processor to:

access a graph comprising a plurality of interlinked nodes, wherein at least some of the plurality of interlinked nodes are associated with at least one database operation, wherein each database operation is associated with at least one computer code template;

determine a nesting level associated with the graph, wherein the nesting level is a setting to specify a degree of temporary storage to be allocated for intermediate output produced by the at least one database operation; and

construct, based on the nesting level, computer code using the at least one computer code template associated with each database operation, and wherein if the nesting level equals a maximum nesting level, then construct the computer code such that the intermediate output is produced using nested queries.

7. The non-transitory computer readable medium of claim 6 , wherein if the nesting level equals a minimum nesting level, the instructions stored in the non-transitory computer readable medium cause the processor to construct the computer code such that the intermediate output is stored in a temporary storage area.

8. The non-transitory computer readable medium of claim 6 , wherein if the nesting level equals a moderate nesting level, the instructions stored in the non-transitory computer readable medium cause the processor to construct the computer code such that a first portion of the intermediate output is produced using nested queries, and a second portion of the intermediate output is stored in a temporary storage area.

9. The non-transitory computer readable medium of claim 6 , wherein the computer code is structured query language and the computer code template is a structured query language template.

10. The non-transitory computer readable medium of claim 6 , wherein the nesting level is adjustable by a user.

11. A method comprising:

accessing, using a processor, a graph comprising a plurality of nodes and at least one edge, each edge associating two of the plurality of nodes, at least some of the plurality of nodes being associated with at least one database operation;

determining, using the processor, a nesting level associated with the graph, wherein the nesting level is a setting to specify a degree of temporary storage to be allocated for intermediate output produced by the at least one database operation; and

constructing, using the processor, computer code corresponding to the graph in accordance with the nesting level, and wherein if the nesting level equals a maximum nesting level, then constructing the computer code such that the intermediate output is produced using nested queries.

12. The method of claim 11 , wherein if the nesting level equals a minimum nesting level, the computer code is constructed such that the intermediate output is stored in a temporary storage area.

13. The method of claim 11 , wherein if the nesting level equals a moderate nesting level, the computer code is constructed such that a first portion of the intermediate output is produced using nested queries, and a second portion of the intermediate output is stored in a temporary storage area.

14. The method of claim 11 further comprising, detecting, using the processor, a query path in the graph, the query path including at least a first node and a second node of the plurality of interdependent nodes, wherein an output of the first node is an input for the second node.

15. The method of claim 14 further comprising, determining, using the processor, whether the intermediate output produced by the at least one database operation should be produced using a nested query in the computer code or should be stored in a temporary storage area and retrieved therefrom in view of the nesting level.

16. The method of claim 11 , wherein if the nesting level equals a moderate nesting level, the computer code is constructed such that temporary tables are created only for breaking point nodes having multiple outputs.

Assignments (2)
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 Dec 7, 2012
From: SIMITSIS, ALKIVIADIS; WILKINSON, WILLIAM K.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 029426/0633 →
Continuity (1)
Related Publication 20130290296A1 · Oct 31, 2013