Fault tolerance based query execution

US9424150B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9424150-B2
Application numberUS-201113311596-A
CountryUS
Kind codeB2
Filing dateDec 6, 2011
Priority dateDec 6, 2011
Publication dateAug 23, 2016
Grant dateAug 23, 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.

Various embodiments of systems and methods for a fault tolerance based query execution are described herein. Queries are received from users, the queries including operators. A multi-query optimization is performed on the operators included in the queries to obtain a query plan. A fault tolerance degree is determined for the operators included in the query plan. Based on the fault tolerance degree of the operators, nodes are assigned to the operators included in the query plan. The assigned nodes execute the operators included in the query plan to execute the queries. In one aspect, the nodes simultaneously execute the operators included in the query plan.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer implemented method for executing a plurality of queries, the method comprising: receiving the plurality of queries from a user, the plurality of queries including a plurality of operators; based on the received plurality of queries, determining, by a processor of the computer, a fault tolerance degree for the plurality of operators, wherein determining the fault tolerance degree includes: calculating, by the processor of the computer, a query outdegree for an operator from the plurality of operators by counting a number of the plurality of queries that include the operator from the plurality of operators, wherein the counted number of the plurality of queries is the query outdegree corresponding to the operator from the plurality of operators; and determining, by the processor of the computer, the fault tolerance degree for the plurality of operators based on the calculated query outdegree; based on the determined fault tolerance degree, assigning, by the processor of the computer, a plurality of nodes to the plurality of operators; and executing the received plurality of queries by the assigned plurality of nodes. 2. The computer implemented method according to claim 1 , wherein executing the received plurality of queries includes: simultaneously executing the plurality of operators by the assigned plurality of nodes. 3. The computer implemented method according to claim 1 , wherein assigning the one or more nodes includes: determining, by the processor of the computer, a number of the plurality of nodes to be assigned to the plurality of operators based on the determined fault tolerance degree; and based on the determined number of the plurality of nodes, assigning, by the processor of the computer, the plurality of nodes to the plurality of operators. 4. The computer implemented method according to claim 1 , further comprising: performing, by the processor of the computer, a multi-query optimization on the plurality of operators included in the received plurality of queries to obtain a query plan; and determining, by the processor of the computer, the fault tolerance degree of the plurality of operators included in the query plan. 5. The computer implemented method according to claim 1 , further comprising: receiving, from the user, a requested query fault tolerance for the plurality of queries. 6. The computer implemented method according to claim 5 , wherein determining the fault tolerance degree includes: determining, by the processor of the computer, the fault tolerance degree of the plurality of operators based on the received requested query fault tolerance. 7. A non-transitory computer readable storage medium to tangibly store instructions, which when executed by a computer, cause the computer to: receive a plurality of queries from a user, the plurality of queries including a plurality of operators; based on the received plurality of queries, determine a fault tolerance degree for the plurality of operators, wherein determining the fault tolerance degree includes: calculate a query outdegree for an operator from the plurality of operators by counting a number of the plurality of queries that include the operator from the plurality of operators, wherein the counted number of the plurality of queries is the query outdegree corresponding to the operator from the plurality of operators; and determine the fault tolerance degree for the plurality of operators based on the calculated query outdegree; based on the determined fault tolerance degree, assign a plurality of nodes to the plurality of operators; and execute the received plurality of queries by the assigned plurality of nodes. 8. The non-transitory computer readable storage medium according to claim 7 , further comprising instructions which when executed by the computer further causes the computer to: simultaneously execute the plurality of operators by the assigned plurality of nodes. 9. The non-transitory computer readable storage medium according to claim 7 , further comprising instructions which when executed by the computer further causes the computer to: determine a number of the plurality of nodes to be assigned to the plurality of operators based on the determined fault tolerance degree; and based on the determined number of the plurality of nodes, assign the plurality of nodes to the plurality of operators. 10. The non-transitory computer readable storage medium according to claim 7 , further comprising instructions which when executed by the computer further causes the computer to: perform a multi-query optimization on the plurality of operators included in the received plurality of queries to obtain a query plan; and determine the fault tolerance degree of the plurality of operators included in the query plan. 11. The non-transitory computer readable storage medium according to claim 7 , further comprising instructions which when executed by the computer further causes the computer to: receive, from the user, a requested query fault tolerance for the plurality of queries. 12. The non-transitory computer readable storage medium according to claim 11 , further comprising instructions which when executed by the computer further causes the computer to: determine the fault tolerance degree of the plurality of operators based on the received requested query fault tolerance. 13. A computer system for executing a plurality of queries, the computer system comprising: a memory to store a program code; and a processor communicatively coupled to the memory, the processor configured to execute the program code to: receive the plurality of queries from a user, the plurality of queries including a plurality of operators; based on the received plurality of queries, determine a fault tolerance degree for the plurality of operators, wherein determining the fault tolerance degree includes: calculate a query outdegree for an operator from the plurality of operators by counting a number of the plurality of queries that include the operator from the plurality of operators, wherein the counted number of the plurality of queries is the query outdegree corresponding to the operator from the plurality of operators; and determine the fault tolerance degree for the plurality of operators based on the calculated query outdegree; based on the determined fault tolerance degree, assign a plurality of nodes to the one or more operators; and execute the received plurality of queries by the assigned plurality of nodes. 14. The system of claim 13 , wherein the processor further executes the program code to: simultaneously execute the plurality of operators by the assigned plurality of nodes. 15. The system of claim 13 , wherein the processor further executes the program code to: determine a number of the plurality of nodes to be assigned to the plurality of operators based on the determined fault tolerance degree; and based on the determined number of nodes, assign the plurality of nodes to the plurality of operators. 16. The system of claim 13 , wherein the processor further executes the program code to: perform a multi-query optimization on the plurality of operators included in the received plurality of queries to obtain a query plan; and determine the fault tolerance degree of the plurality of operators included in the query plan. 17. The system of claim 13 , wherein the processor further executes the program code to: receive, from the user, a requested query fault tolerance for the plurality of queries.

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 US9424150B2 cover?
Various embodiments of systems and methods for a fault tolerance based query execution are described herein. Queries are received from users, the queries including operators. A multi-query optimization is performed on the operators included in the queries to obtain a query plan. A fault tolerance degree is determined for the operators included in the query plan. Based on the fault tolerance deg…
Who is the assignee on this patent?
Jerzak Zbigniew, Heinze Thomas, Sap Se
What technology area does this patent fall under?
Primary CPC classification G06F11/2035. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 23 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).