IP Library › Granted Patent US 12,511,302
Granted Patent B2
US 12,511,302 · App. 18/653,594 · Granted Dec 30, 2025

Facilitating query executions via role reassignment modality

Inventors: George Kondiles (Chicago, IL); Jason Arnold (Chicago, IL); S. Christopher Gladwin (Chicago, IL); Joseph Jablonski (Chicago, IL); Daniel Coombs (Chicago, IL); Andrew D. Baptist (Mt. Pleasant, WI)
Assignee: Ocient Holdings LLC
G06F16/2462G06F16/24553G06F16/248G06F3/0484
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 12,511,302
App. No.
18/653,594
Granted
Dec 30, 2025
Kind
B2
Abstract

A query processing system operates by: receiving a first query request that indicates a first query for execution by a database system; determining a first plurality of query execution mode options for execution of the first query via the database system; generating first role reassignment restriction data for the first query based on a first plurality of query operators of the first query; selecting a first selected query execution mode from the first plurality of query execution mode options based on role reassignment modality corresponding to the first selected query execution mode comparing favorably to the first role reassignment restriction data; and generating a resultant for the first query by facilitating execution of the first query in accordance with the first selected query execution mode.

Claims (60)

1 . A method for execution by a query processing module, comprising:

receiving a first query request that indicates a first query for execution by a database system;

determining a first plurality of query execution mode options for execution of the first query via the database system;

generating first role reassignment restriction data for the first query based on a first plurality of query operators of the first query;

selecting a first selected query execution mode from the first plurality of query execution mode options based on role reassignment modality corresponding to the first selected query execution mode comparing favorably to the first role reassignment restriction data; and

generating a resultant for the first query by facilitating execution of the first query in accordance with the first selected query execution mode.

2 . The method of claim 1 , further comprising:

receiving a second query request that indicates a second query for execution by the database system;

determining a second plurality of query execution mode options for execution of the second query via the database system;

generating second role reassignment restriction data for the second query based on a second plurality of query operators of the second query;

generating second query execution mode selection data by selecting a second selected query execution mode from the second plurality of query execution mode options based on role reassignment modality corresponding to the second selected query execution mode comparing favorably to the second role reassignment restriction data; and

generating a resultant for the second query by facilitating execution of the second query in accordance with the second selected query execution mode.

3 . The method of claim 2 , wherein the first plurality of query operators includes a first number of duplication removal operators and wherein the first role reassignment restriction data is generated based on the first number of duplication removal operators.

4 . The method of claim 3 , wherein the second plurality of query operators includes a second number of duplication removal operators and wherein the second role reassignment restriction data is generated based on the second number of duplication removal operators.

5 . The method of claim 4 , wherein when the second number of duplication removal operators differs from the first number of duplication removal operators, the second role reassignment restriction data differs from the first role reassignment restriction data.

6 . The method of claim 5 , wherein the second role reassignment restriction data is more restrictive than the first role reassignment restriction data.

7 . The method of claim 5 , wherein the second role reassignment restriction data is less restrictive than the first role reassignment restriction data.

8 . The method of claim 1 , further comprising:

generating a plurality of successful execution cost data corresponding to the plurality of query execution mode options; and

determining successful execution cost requirement data;

wherein selection of the first selected query execution mode from the first plurality of query execution mode options is further based on successful execution cost data corresponding to the first selected query execution mode comparing favorably to the successful execution cost requirement data, wherein the successful execution cost data corresponding to each of the first plurality of query execution mode options includes at least one of: an expected total execution time for execution of the first query in accordance with the each of the plurality of query execution mode options, or an expected total resource consumption for the each of the plurality of query execution mode options.

9 . The method of claim 8 , further comprising:

generating a plurality of execution success probabilities corresponding to the plurality of query execution mode options based on the plurality of execution success conditions; and

calculating a plurality of expected number of attempts corresponding to the plurality of query execution mode options based on the plurality of execution success probabilities, wherein each of expected number of attempts is calculated as a function of a corresponding one of the plurality of execution success probabilities in accordance with a geometric distribution;

wherein the at least one of: the expected total execution time, or the expected total resource consumption of each of the plurality of successful execution cost data is generated as a function of a corresponding one of the plurality of expected number of attempts for a corresponding one of the plurality of query execution mode options.

10 . The method of claim 8 , further comprising:

determining first scale requirements based on the first query request, wherein the first scale requirements indicate at least one of: a required number of nodes for a query execution plan for execution the first query, a required number of levels of the query execution plan for execution of the first query, or a required number of records for access in execution of the first query via the query execution plan;

wherein the successful execution cost data is generated as a function of the at least one of: the required number of nodes for a query execution plan for execution the first query, the required number of levels of a query execution plan for execution of the first query, or the required number of records for access in execution of the first query indicated by the first scale requirements; and

wherein facilitating execution of the first query in accordance with the first selected query execution mode includes at least one of: facilitating implementation of the query execution plan with required number of nodes to execute the first query, facilitating implementation the query execution plan with required number of levels to execute the first query; or facilitating implementation the query execution plan to access the required number of records to execute the first query.

11 . A query processing system comprises:

at least one processor; and

a memory that stores operational instructions that, when executed by the at least one processor, cause the query processing system to perform operations that include:

receiving a first query request that indicates a first query for execution by a database system;

determining a first plurality of query execution mode options for execution of the first query via the database system;

generating first role reassignment restriction data for the first query based on a first plurality of query operators of the first query;

selecting a first selected query execution mode from the first plurality of query execution mode options based on role reassignment modality corresponding to the first selected query execution mode comparing favorably to the first role reassignment restriction data; and

generating a resultant for the first query by facilitating execution of the first query in accordance with the first selected query execution mode.

12 . The query processing system of claim 11 , wherein the operations further comprise:

receiving a second query request that indicates a second query for execution by the database system;

determining a second plurality of query execution mode options for execution of the second query via the database system;

generating second role reassignment restriction data for the second query based on a second plurality of query operators of the second query;

generating second query execution mode selection data by selecting a second selected query execution mode from the second plurality of query execution mode options based on role reassignment modality corresponding to the second selected query execution mode comparing favorably to the second role reassignment restriction data; and

generating a resultant for the second query by facilitating execution of the second query in accordance with the second selected query execution mode.

13 . The query processing system of claim 12 , wherein the first plurality of query operators includes a first number of duplication removal operators and wherein the first role reassignment restriction data is generated based on the first number of duplication removal operators.

14 . The query processing system of claim 13 , wherein the second plurality of query operators includes a second number of duplication removal operators and wherein the second role reassignment restriction data is generated based on the second number of duplication removal operators.

15 . The query processing system of claim 14 , wherein when the second number of duplication removal operators differs from the first number of duplication removal operators, the second role reassignment restriction data differs from the first role reassignment restriction data.

16 . The query processing system of claim 15 , wherein the second role reassignment restriction data is more restrictive than the first role reassignment restriction data.

17 . The query processing system of claim 15 , wherein the second role reassignment restriction data is less restrictive than the first role reassignment restriction data.

18 . The query processing system of claim 11 , wherein the operations further comprise:

generating a plurality of successful execution cost data corresponding to the plurality of query execution mode options; and

determining successful execution cost requirement data;

wherein selection of the first selected query execution mode from the first plurality of query execution mode options is further based on successful execution cost data corresponding to the first selected query execution mode comparing favorably to the successful execution cost requirement data, wherein the successful execution cost data corresponding to each of the first plurality of query execution mode options includes at least one of: an expected total execution time for execution of the first query in accordance with the each of the plurality of query execution mode options, or an expected total resource consumption for the each of the plurality of query execution mode options.

19 . The query processing system of claim 18 , wherein the operations further comprise:

generating a plurality of execution success probabilities corresponding to the plurality of query execution mode options based on the plurality of execution success conditions; and

calculating a plurality of expected number of attempts corresponding to the plurality of query execution mode options based on the plurality of execution success probabilities, wherein each of expected number of attempts is calculated as a function of a corresponding one of the plurality of execution success probabilities in accordance with a geometric distribution;

wherein the at least one of: the expected total execution time, or the expected total resource consumption of each of the plurality of successful execution cost data is generated as a function of a corresponding one of the plurality of expected number of attempts for a corresponding one of the plurality of query execution mode options.

20 . The query processing system of claim 18 , wherein the operations further comprise:

determining first scale requirements based on the first query request, wherein the first scale requirements indicate at least one of: a required number of nodes for a query execution plan for execution the first query, a required number of levels of the query execution plan for execution of the first query, or a required number of records for access in execution of the first query via the query execution plan;

wherein the successful execution cost data is generated as a function of the at least one of: the required number of nodes for a query execution plan for execution the first query, the required number of levels of a query execution plan for execution of the first query, or the required number of records for access in execution of the first query indicated by the first scale requirements; and

wherein facilitating execution of the first query in accordance with the first selected query execution mode includes at least one of: facilitating implementation of the query execution plan with required number of nodes to execute the first query, facilitating implementation the query execution plan with required number of levels to execute the first query; or facilitating implementation the query execution plan to access the required number of records to execute the first query.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2024
From: KONDILES, GEORGE; ARNOLD, JASON; GLADWIN, S. CHRISTOPHER; JABLONSKI, JOSEPH; COOMBS, DANIEL; BAPTIST, ANDREW D.
To: OCIENT HOLDINGS LLC
Reel/Frame 067304/0226 →
Continuity (3)
Continuation 17678282 · Feb 23, 2022
Continuation 16879218 · May 20, 2020
Related Publication 20240281449A1 · Aug 22, 2024
References Cited (60)
US 5548770A · Bridges · 1996 [cited by applicant]
US 6230200B1 · Forecast · 2001 [cited by applicant]
US 6633772B2 · Ford · 2003 [cited by applicant]
US 7499907B2 · Brown · 2009 [cited by applicant]
US 7908242B1 · Achanta · 2011 [cited by applicant]
US 9177079B1 · Ramachandran et al. · 2015 [cited by applicant]
US 9596298B1 · Bekiroglu · 2017 [cited by examiner]
US 10521430B1 · Schreier et al. · 2019 [cited by applicant]
US 20010051949A1 · Carey · 2001 [cited by applicant]
US 20020032676A1 · Reiner · 2002 [cited by applicant]
US 20040162853A1 · Brodersen · 2004 [cited by applicant]
US 20070078838A1 · Chung · 2007 [cited by applicant]
US 20080059489A1 · Han · 2008 [cited by examiner]
US 20080133456A1 · Richards · 2008 [cited by applicant]
US 20080270372A1 · Hsu et al. · 2008 [cited by applicant]
US 20090063893A1 · Bagepalli · 2009 [cited by applicant]
US 20090183167A1 · Kupferschmidt · 2009 [cited by applicant]
US 20100082577A1 · Mirchandani · 2010 [cited by applicant]
US 20100241646A1 · Friedman · 2010 [cited by applicant]
US 20100274983A1 · Murphy · 2010 [cited by applicant]
US 20100312756A1 · Zhang · 2010 [cited by applicant]
US 20110219169A1 · Zhang · 2011 [cited by applicant]
US 20110228668A1 · Pillai · 2011 [cited by examiner]
US 20120109888A1 · Zhang · 2012 [cited by applicant]
US 20120151118A1 · Flynn · 2012 [cited by applicant]
US 20120185866A1 · Couvee · 2012 [cited by applicant]
US 20120254252A1 · Jin · 2012 [cited by applicant]
US 20120311246A1 · Mcwilliams · 2012 [cited by applicant]
US 20130103787A1 · Glover · 2013 [cited by examiner]
US 20130117257A1 · Meijer · 2013 [cited by examiner]
US 20130332484A1 · Gajic · 2013 [cited by applicant]
US 20140047095A1 · Breternitz · 2014 [cited by applicant]
US 20140136510A1 · Parkkinen · 2014 [cited by applicant]
US 20140188841A1 · Sun · 2014 [cited by applicant]
US 20150205607A1 · Lindholm · 2015 [cited by applicant]
US 20150244804A1 · Warfield · 2015 [cited by applicant]
US 20150248366A1 · Bergsten · 2015 [cited by applicant]
US 20150293966A1 · Cai · 2015 [cited by applicant]
US 20150310045A1 · Konik · 2015 [cited by applicant]
US 20160034547A1 · Lerios · 2016 [cited by applicant]
US 20170083588A1 · Lang · 2017 [cited by examiner]
US 20190050726A1 · Azaria · 2019 [cited by examiner]
US 20190332703A1 · Feldman · 2019 [cited by examiner]
“Efficient Mid-Query Re-Optimization of Sub-Optimal Query Execution Plans”, ACM SIGMOD Record, vol. 27, Issue 2, pp. 106-117, Jun. 1, 1998 (Year: 1998). [cited by examiner]
A new high performance fabric for HPC, Michael Feldman, May 2016, Intersect360 Research. [cited by applicant]
Alechina, N. (2006-2007). B-Trees. School of Computer Science, University of Nottingham, http://www.cs.nott.ac.uk/˜psznza/G5BADS06/lecture13-print.pdf. 41 pages. [cited by applicant]
Amazon DynamoDB: ten things you really should know, Nov. 13, 2015, Chandan Patra, http://cloudacademy. .com/blog/amazon-dynamodb-ten-thing. [cited by applicant]
An Inside Look at Google BigQuery, by Kazunori Sato, Solutions Architect, Cloud Solutions team, Google Inc., 2012. [cited by applicant]
Big Table, a NoSQL massively parallel table, Paul Krzyzanowski, Nov. 2011, https://www.cs.rutgers.edu/pxk/417/notes/contentlbigtable.html. [cited by applicant]
Distributed Systems, Fall2012, Mohsen Taheriyan, http://www-scf.usc.edu/-csci57212011Spring/presentations/Taheriyan.pptx. [cited by applicant]
International Searching Authority; International Search Report and Written Opinion; International Application No. PCT/US2017/054773; Feb. 13, 2018; 17 pgs. [cited by applicant]
International Searching Authority; International Search Report and Written Opinion; International Application No. PCT/US2017/054784; Dec. 28, 2017; 10 pgs. [cited by applicant]
International Searching Authority; International Search Report and Written Opinion; International Application No. PCT/US2017/066145; Mar. 5, 2018; 13 pgs. [cited by applicant]
International Searching Authority; International Search Report and Written Opinion; International Application No. PCT/US2017/066169; Mar. 6, 2018; 15 pgs. [cited by applicant]
International Searching Authority; International Search Report and Written Opinion; International Application No. PCT/US2018/025729; Jun. 27, 2018; 9 pgs. [cited by applicant]
International Searching Authority; International Search Report and Written Opinion; International Application No. PCT/US2018/034859; Oct. 30, 2018; 8 pgs. [cited by applicant]
International Searching Authority; International Search Report and Written Opinion; International Application No. PCT/US2021/026118; Jul. 22, 2021; 9 pgs. [cited by applicant]
MapReduce: Simplified Data Processing on Large Clusters, OSDI 2004, Jeffrey Dean and Sanjay Ghemawat, Google, Inc., 13 pgs. [cited by applicant]
Rodero-Merino, L.; Storage of Structured Data: Big Table and HBase, New Trends in Distributed Systems, MSc Software and Systems, Distributed Systems Laboratory; Oct. 17, 2012; 24 pages. [cited by applicant]
Step 2: Examine the data model and implementation details, 2016, Amazon Web Services, Inc., http://docs.aws.amazon.com/amazondynamodb/latestldeveloperguide!Ti . . . . [cited by applicant]