Determining an execution ordering

US9305058B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9305058-B2
Application numberUS-201113285785-A
CountryUS
Kind codeB2
Filing dateOct 31, 2011
Priority dateOct 31, 2011
Publication dateApr 5, 2016
Grant dateApr 5, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

There is provided a computer-implemented method of determining an execution ordering. An exemplary method comprises generating a directed graph based on a hierarchy. The hierarchy includes a plurality of pattern queries. The method also includes determining a minimum spanning tree of the directed graph. The method further includes determining an execution order of the pattern queries based on the minimum spanning tree.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method of determining an execution ordering, comprising: generating a directed graph based on a hierarchy comprising a plurality of pattern queries; determining a minimum spanning tree of the directed graph; and determining an execution order of the pattern queries based on the minimum spanning tree. 2. The method recited in claim 1 , wherein the hierarchy comprises a plurality of parent-child relationships between the plurality of pattern queries, wherein a child pattern query refines data processed by a parent of the child pattern query. 3. The method recited in claim 1 , wherein the directed graph comprises: a plurality of vertices corresponding to the plurality of pattern queries; a virtual ground vertex comprising a root of the directed graph; a plurality of first edges corresponding to the plurality of parent-child relationships, wherein each of the first edges is associated with a weight corresponding to a cost of processing a first pattern query, at which, the first edge is directed; and a plurality of second edges directed from the virtual ground vertex to the plurality of vertices, wherein each of the second edges is associated with a weight corresponding to a cost of processing the first pattern query, at which the second edge is directed. 4. The method recited in claim 3 , wherein the cost comprises a cost of processing the first pattern query independently if the associated edge is directed from the virtual ground vertex. 5. The method recited in claim 4 , wherein the first pattern query is processed using a stack-based join. 6. The method recited in claim 3 , wherein the cost comprises a cost of processing the first pattern query after processing a previously executed pattern query from which the associated edge is directed. 7. The method recited in claim 6 , wherein the first pattern query is a child of the previously executed pattern query, and the first pattern query is conditionally computed using a general to specific evaluation. 8. The method recited in claim 6 , wherein the first pattern query is a parent of the previously executed pattern query, and the first pattern query is conditionally computed using a specific to general evaluation. 9. A computer system for determining an execution ordering, the computer system comprising: a processor that is adapted to execute stored instructions; and a memory device that stores instructions, the memory device comprising: computer-implemented code adapted to generate a directed graph based on a hierarchy comprising a plurality of pattern queries, wherein the hierarchy comprises a plurality of parent-child relationships between the plurality of pattern queries, wherein a child pattern query refines data processed by a parent of the child pattern query; computer-implemented code adapted to determine a minimum spanning tree of the directed graph; and computer-implemented code adapted to determine an execution order of the pattern queries based on the minimum spanning tree. 10. The computer system recited in claim 9 , wherein the directed graph comprises: a plurality of vertices corresponding to the plurality of pattern queries; a virtual ground vertex comprising a root of the directed graph; a plurality of first edges corresponding to the plurality of parent-child relationships, wherein each of the first edges is associated with a weight corresponding to a cost of processing a first pattern query, at which, the first edge is directed; and a plurality of second edges directed from the virtual ground vertex to the plurality of vertices, wherein each of the second edges is associated with a weight corresponding to a cost of processing the first pattern query, at which the second edge is directed. 11. The computer system recited in claim 10 , wherein the cost comprises a cost of processing the first pattern query independently if the associated edge is directed from the virtual ground vertex. 12. The computer system recited in claim 11 , wherein the first pattern query is processed using a stack-based join. 13. The computer system recited in claim 10 , wherein the cost comprises a cost of processing the first pattern query after processing a second pattern query from which the associated edge is directed. 14. The computer system recited in claim 13 , wherein the first pattern query is a child of the second pattern query, and the first pattern query is conditionally computed using a general to specific evaluation. 15. The computer system recited in claim 13 , wherein the first pattern query is a parent of the second pattern query, and the first pattern query is conditionally computed using a specific to general evaluation. 16. A tangible, non-transitory, machine-readable medium that stores machine-readable instructions executable by a processor to determine an execution ordering, the tangible, non-transitory, machine-readable medium comprising: machine-readable instructions that, when executed by the processor, generate a directed graph based on a hierarchy comprising a plurality of pattern queries, wherein the hierarchy comprises a plurality of parent-child relationships between the plurality of pattern queries, wherein a child refines data processed by a parent of the child pattern query, and wherein the directed graph comprises: a plurality of vertices corresponding to the plurality of pattern queries; a virtual ground vertex comprising a root of the directed graph; a plurality of first edges corresponding to the plurality of parent-child relationships, wherein each of the first edges is associated with a weight corresponding to a cost of processing a first pattern query, at which, the first edge is directed; and a plurality of second edges directed from the virtual ground vertex to the plurality of vertices, wherein each of the second edges is associated with a weight corresponding to a cost of processing the first pattern query, at which the second edge is directed; machine-readable instructions that, when executed by the processor, determine a minimum spanning tree of the directed graph; and machine-readable instructions that, when executed by the processor, determine an execution order of the pattern queries based on the minimum spanning tree. 17. The tangible, machine-readable medium recited in claim 16 , wherein the cost comprises a cost of processing the first pattern query independently if the associated edge is directed from the virtual ground vertex. 18. The tangible, machine-readable medium recited in claim 17 , wherein the first pattern query is processed using a stack-based join. 19. The tangible, machine-readable medium recited in claim 16 , wherein the cost comprises a cost of processing the first pattern query after processing a second pattern query from which the associated edge is directed. 20. The tangible, machine-readable medium recited in claim 19 , wherein, if the first pattern query is a child of the second pattern query, the first pattern query is conditionally computed using a general to specific evaluation, and wherein, if the first pattern query is a parent of the second pattern query, the first pattern query is conditionally computed using a specific to general evaluation.

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9305058B2 cover?
There is provided a computer-implemented method of determining an execution ordering. An exemplary method comprises generating a directed graph based on a hierarchy. The hierarchy includes a plurality of pattern queries. The method also includes determining a minimum spanning tree of the directed graph. The method further includes determining an execution order of the pattern queries based on t…
Who is the assignee on this patent?
Gupta Chetan Kumar, Wang Song, Mehta Abhay, and 3 more
What technology area does this patent fall under?
Primary CPC classification G06F17/30516. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 05 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).