IP Library Granted Patent US 8,903,802
Granted Patent B2
US 8,903,802 · App. 12/398,959 · Granted Dec 2, 2014

Systems and methods for managing queries

Inventors: Saileshwar Krishnamurthy (Palo Alto, CA); Neil Thombre (Santa Clara, CA); Neil Conway (Berkeley, CA); Wing Hang Li (San Bruno, CA)
Assignee: Cisco Technology, Inc.
G06F17/30516G06F17/30545G06F17/30445
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 8,903,802
App. No.
12/398,959
Granted
Dec 2, 2014
Kind
B2
Abstract

A streaming database management system may provide support for creating a new continuous query operator for on-the-fly addition of a new query, e.g., a new SQL query and/or new continuous query operator, into a shared continuous query plan. Alternatively, the streaming database management system may associate the new query on-the-fly with an existing continuous query operator, such as a relational operator and expression evaluator, to reuse the existing continuous query operator. In some embodiments, multiple operators are grouped for on-the-fly addition to the shared continuous query plan. Alternatively, the streaming database management system may identify a group of multiple operators in the shared continuous query plan for reuse by the new query.

Claims (37)

1. A method for managing a new continuous query that includes folding a new continuous query into a shared continuous query plan (SCP) associated with a global range table, the method comprising:

receiving via a computer readable storage medium a new continuous query;

compiling the new continuous query to generate an iterator model plan (IMP) and an associated local range table that includes a list of range variables, each of which uniquely identifies an object in the new continuous query, and wherein the IMP corresponds to an execution plan generated for the new continuous query and comprises one or more IMP operators, each of which includes one or more expressions whose variables are associated with the local range table;

analyzing the one or more IMP operators of the IMP and one or more SCP operators of the SCP to produce one or more variable transforms and one or more plan items;

wherein the one or more variable transforms modify the one or more expressions of the one or more IMP operators by associating the one or more IMP operators with variables of a global range table;

wherein the one or more plan items comprise one or more groups of the one or more IMP operators;

applying the variable transforms to modify the variables of the one or more iterator model plan IMP operators;

generating a continuous query operator based on each plan item included in the one or more plan items; and

providing the generated continuous query operator to a shared continuous query plan.

2. The method of claim 1 , further comprising providing the generated continuous query operator to a routing table.

3. The method of claim 1 , wherein a structure of the iterator model plan is independent of how the iterator model plan is folded into the shared continuous query plan.

4. The method of claim 1 , wherein a continuous query operator of a modified iterator model plan operates on a stream.

5. The method of claim 1 , wherein the operators of the modified iterator model plan includes any of a scan operator, a unary operator, a binary operator, or an n-ary operator.

6. The method of claim 1 , wherein operator of the modified iterator model plan are configured to perform any of an initialization function, a next function, a rescan function, a close function, and combination thereof.

7. The method of claim 1 , wherein the continuous query operator is configured to perform at least one of an initialization function, an execute function, an add query function, a remove query function, and an end function.

8. The method according to claim 1 , further comprising producing for each variable transform, instructions to re-target variables in an iterator model plan sub-plan from the local range table to the global range table.

9. The method according to claim 1 , further comprising producing for each plan item a new continuous query operator to be added to the shared continuous query plan based on an iterator model plan sub-plan.

10. The method according to claim 1 , further comprising applying each variable transform to operators in an iterator model plan sub-plan by evaluating the produced instructions.

11. The method according to claim 1 , further comprising:

generating a continuous query operator; and

copying the associated transformed iterator model plan sub-plan.

12. A system for new continuous query that includes folding a new continuous query into a shared continuous query plan (SCP) associated with a global range table, the system comprising:

a processor; and

a computer readable storage medium having instructions for execution by the processor which causes the processor to:

receive a new continuous query;

compile the new continuous query to generate an iterator model plan (IMP) and an associated local range table that includes a list of range variables, each of which uniquely identifies an object in the new continuous query, and wherein the IMP corresponds to an execution plan generated for the new continuous query and comprises one or more IMP operators, each of which includes one or more expressions whose variables are associated with the local range table;

analyze the one or more IMP operators of IMP and one or more SCP operators of the SCP to produce one or more variable transforms and one or more plan items;

wherein the one or more variable transforms modify the one or more expressions of the one or more IMP operators by associating the one or more IMP operators with variables of a global range table;

wherein the one or more plan items comprise one or more groups of the one or more IMP operators;

apply the variable transforms to modify the variables of the one or more IMP operators;

generate a continuous query operator based on each plan item included in the one or more plan items; and

provide the generated continuous query operator to a shared continuous query plan.

13. The system of claim 12 , wherein the processor is further configured to transform the operator variable based on the local range table and a global range table.

14. The system of claim 12 , wherein the continuous query operator is configured to execute a list of queries, the list of queries including the new continuous query.

15. The system of claim 12 , wherein the continuous query operator includes an input signature and an output signature.

16. The system of claim 12 , wherein the continuous query operator includes a pointer to a routing table.

17. The system of claim 12 , wherein the identified continuous query operator comprises a sub-plan including a group of two or more related operators of the iterator model plan.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2012
From: TRUVISO LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 028920/0987 →
CHANGE OF NAME Recorded Sep 7, 2012
From: TRUVISO, INC.
To: TRUVISO LLC
Reel/Frame 028923/0359 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF INVENTOR NAME FROM "NIEL THROMBRE" TO "NEIL THOMBRE" AND INVENTOR NAME FROM "NIEL CONWAY" TO "NEIL CONWAY" PREVIOUSLY RECORDED ON REEL 022353 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 23, 2009
From: THOMBRE, NEIL; CONWAY, NEIL; KRISHNAMURTHY, SAILESHWAR; LI, WING HANG
To: TRUVISO, INC.,
Reel/Frame 022589/0888 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2009
From: KRISHNAMURTHY, SAILESHWAR; THROMBRE, NIEL; CONWAY, NIEL; LI, WING HANG
To: TRUVISO, INC.,
Reel/Frame 022353/0254 →
Continuity (2)
Provisional Application 61068572 · Mar 6, 2008
Related Publication 20090228465A1 · Sep 10, 2009