Reassignment of nodes during query execution

US12008005B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12008005-B2
Application numberUS-202217678282-A
CountryUS
Kind codeB2
Filing dateFeb 23, 2022
Priority dateMay 20, 2020
Publication dateJun 11, 2024
Grant dateJun 11, 2024

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.

A database system is operable to initiate execution of a query via a subset of a plurality of nodes. After initiating the execution of the query, failure detection data is generated indicating a first node included in the subset of the plurality of nodes based on determining execution condition data for the first node compares unfavorably to node execution condition requirements. Node reassignment data is generated based on the failure detection data by assigning a new node in the plurality of nodes to replace the first node in the query execution plan for a remainder of the execution of the query. A resultant is generated for the query in accordance with completion of the execution of the query, where at least a portion of the execution of the query is performed via the new node.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for execution by a query processing system, comprising: initiating an execution of a query via a subset of a plurality of nodes assigned to execute the query in accordance with a query execution plan; after initiating the execution of the query, generating failure detection data indicating a first node included in the subset of the plurality of nodes based on determining execution condition data for the first node compares unfavorably to node execution condition requirements; generating node reassignment data based on the failure detection data by assigning a new node in the plurality of nodes to replace the first node in the query execution plan for a remainder of the execution of the query; and generating a resultant for the query in accordance with completion of the execution of the query, wherein at least a portion of the execution of the query is performed via the new node; wherein the query is executed in accordance with one query execution mode of a plurality of query execution modes, wherein the new node is assigned to replace the first node in the query execution plan for the remainder of the execution of the query based on resultant correctness requirement data of the one query execution mode indicating less than a strictest threshold correctness requirement of a plurality of threshold correctness requirements of the plurality of query execution modes, and wherein the node execution condition requirements are determined based on an execution success condition of the one query execution mode. 2. The method of claim 1 , wherein the subset of the plurality of nodes includes the first node based on a first query execution role of a plurality of query execution roles being assigned to the first node in the query execution plan, wherein the first node performs a first portion of the first query execution role, and wherein the at least a portion of the execution of the query performed via the new node includes a second portion of the first query execution role. 3. The method of claim 2 , wherein the subset of the plurality of nodes includes the new node based on a second query execution role of the plurality of query execution roles being assigned to the new node in the query execution plan, wherein the new node performs execution of the query in accordance with the second query execution role after initiation of the execution of the query and prior to generation of the node reassignment data, and wherein the new node performs execution of the query in accordance with the first query execution role and the second query execution role after generation of the node reassignment data. 4. The method of claim 3 , wherein each of the subset of the plurality of nodes execute the query in accordance with assignment to at least one of a plurality of hierarchical levels of the query execution plan, wherein the first node is assigned to execute the query at one hierarchical level of the plurality of hierarchical levels of the query execution plan, and wherein the new node is selected to replace the first node based on one of: the new node being assigned to execute the query at the one hierarchical level; the new node being assigned as a parent node of the first node at a hierarchical level immediately higher than the one hierarchical level; or the new node being assigned as a child node of the first node at a hierarchical level immediately lower than the one hierarchical level. 5. The method of claim 1 , wherein the subset of the plurality of nodes includes the new node based on the new node not being included in the subset of a plurality of nodes assigned to execute the query. 6. The method of claim 1 , wherein determining the execution condition data for the first node compares unfavorably to node execution condition requirements is based on at least one of: processing data blocks by the first node comparing unfavorably to a processing efficiency threshold of the node execution condition requirements; a communication latency of the first node comparing unfavorably to a communication latency threshold of the node execution condition requirements; or an upcoming outage of the first node. 7. The method of claim 1 , wherein generating the node reassignment data includes selecting the new node from a set of node options based on: the new node having a highest performance of the set of node options; the new node having a lowest level of current utilization of the set of node options; the new node participating in execution of lowest number of queries of the set of node options; the new node currently participating in execution of a number of queries that compares favorably to a maximum query participation threshold; or the new node being a predetermined backup node for the first node. 8. The method of claim 1 , wherein the new node performs the at least the portion of the execution of the query based on receiving saved state data from the first node based on the node reassignment data. 9. The method of claim 8 , wherein the failure detection data is generated to indicate the first node based on a grey failure of the first node, further comprising: sending the node reassignment data to the first node based on the grey failure of the first node; wherein the first node generates the saved state data based on detection of the grey failure, and wherein the first node transmits the saved state data to the new node based on the node reassignment data. 10. The method of claim 9 , wherein the grey failure of the first node is based on an upcoming outage of the first node, and wherein the first node generates the saved state data and transmits the saved state data to the new node prior to the upcoming outage. 11. The method of claim 10 , wherein the node reassignment data and the failure detection data is generated via a second node in the subset of the plurality of nodes based on the second node determining the execution condition data for the first node compares unfavorably to the node execution condition requirements, and wherein the second node sends the node reassignment data to the first node. 12. The method of claim 11 , wherein the second node is at least one of: the new node; a parent node of the first node in the query execution plan, wherein the second node determines the execution condition data for the first node compares unfavorably to the node execution condition requirements based on at least one of: not receiving all required data blocks from the first node, or determining that a rate at which data blocks are received from the first node compares unfavorably to a threshold; a node in a same shuffle node set as the first node in the query execution plan, wherein the second node determines the execution condition data for the first node compares unfavorably to the node execution condition requirements based on at least one of: not receiving all required data blocks from the first node, or determining that the rate at which data blocks are received from the first node compares unfavorably to a threshold; or a child node of the first node, wherein the second node determines the execution condition data for the first node compares unfavorably to the node execution condition requirements based on at least one of: being unable to communicate with the first node, or not receiving data receival confirmation from the first node within an expected amount of time. 13. The method of claim 1 , wherein the node reassignment data is generated via a plurality of nodes in the subset of the plurality of nodes based on execution of a consensus protocol amongst the plurality of nodes. 14. The method of claim 1 , wherein the node reassign

Assignees

Inventors

Classifications

  • Presentation of query results · CPC title

  • for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range · CPC title

  • of query operations · CPC title

  • Approximate or statistical queries · CPC title

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 US12008005B2 cover?
A database system is operable to initiate execution of a query via a subset of a plurality of nodes. After initiating the execution of the query, failure detection data is generated indicating a first node included in the subset of the plurality of nodes based on determining execution condition data for the first node compares unfavorably to node execution condition requirements. Node reassignm…
Who is the assignee on this patent?
Ocient Holdings LLC
What technology area does this patent fall under?
Primary CPC classification G06F16/24553. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 11 2024 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 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).