Prosecution Insights
Last updated: May 29, 2026
Application No. 18/768,526

QUERY EXECUTION BASED ON POWER AND VIA SCHEDULING SEGMENT CHUNKS FOR PARALLELIZED PROCESSING BASED ON REQUESTED NUMBER OF ROWS

Non-Final OA §101§103§112
Filed
Jul 10, 2024
Priority
Jan 12, 2024 — continuation of 12/386,831
Examiner
MARI VALCARCEL, FERNANDO MARIANO
Art Unit
2159
Tech Center
2100 — Computer Architecture & Software
Assignee
Ocient Holdings LLC
OA Round
1 (Non-Final)
49%
Grant Probability
Moderate
1-2
OA Rounds
1y 8m
Est. Remaining
69%
With Interview

Examiner Intelligence

Grants 49% of resolved cases
49%
Career Allowance Rate
72 granted / 147 resolved
-6.0% vs TC avg
Strong +20% interview lift
Without
With
+20.3%
Interview Lift
resolved cases with interview
Typical timeline
3y 6m
Avg Prosecution
29 currently pending
Career history
187
Total Applications
across all art units

Statute-Specific Performance

§101
12.1%
-27.9% vs TC avg
§103
82.1%
+42.1% vs TC avg
§102
2.3%
-37.7% vs TC avg
§112
3.2%
-36.8% vs TC avg
Black line = Tech Center average estimate • Based on career data from 147 resolved cases

Office Action

§101 §103 §112
DETAILED ACTION Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Priority Applicant’s claim for the benefit of a prior-filed application under 35 U.S.C. 119(e) or under 35 U.S.C. 120, 121, 365(c), or 386(c) is acknowledged. The present application is acknowledged as a continuation of U.S. Utility Application No. 18/411,484 filed 1/12/2024. Information Disclosure Statement The information disclosure statement (IDS) submitted on 7/10/2024 is/are in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is/are being considered by the examiner. Allowable Subject Matter Claims 12-13 objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims. Double Patenting The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969). A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b). The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13. The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer. Claim 1 is/are rejected under 35 U.S.C. 101 as claiming the same invention as that of claim 1 of prior U.S. Patent No. 12,099,876. This is a non-statutory double patenting rejection. Regarding independent claim 1, The instant application is a continuation of Application 18/411,484 and shares the same assignee and inventors. Claim 1 of Application 18/411,484 includes all the limitations of claim 1 of the instant application, while also reciting further limitations. 18/768,526 (instant application) 18/411,484 (co-pending application) 1. A method for execution by a processing module of a set of parallelized processing modules of a database system, comprising: determining a query for execution; serially processing a plurality of row sets over a temporal period in conjunction with execution of the query via processing each row set of the plurality of row sets based on power and based on: automatically selecting a requested number of rows to be included in the each row set based on row scheduling parameters; generating a scheduling request for the requested number of rows; and receiving the each row set for processing in response to the scheduling request via access to one segment of a set of segments required for execution of the query; wherein a query resultant for the query is generated based on processing of the plurality of row sets over the temporal period, and further based on processing of an additional plurality of rows included in the set of segments via a set of other processing modules of the set of parallelized processing module implemented in parallel with the processing module. 1. (currently amended) A method for execution by a processing module of a set of parallelized processing modules of a database system, comprising: determining a query for execution; serially processing a plurality of row sets over a temporal period in conjunction with execution of the query via processing each row set of the plurality of row sets based on: automatically selecting a requested number of rows to be included in the each row set based on row scheduling parameters, wherein the row scheduling parameters include: a total number of previously scheduled rows included in all previously scheduled row sets assigned to the processing module for processing in prior ones of the plurality of row sets serially before the each row set; an unprocessed number of previously scheduled rows included in the all previously scheduled row sets assigned to the processing module; a target number of rows;a minimum row set size; and a maximum ratio value corresponding to a predetermined maximum ratio of: the unprocessed number of previously scheduled rows to the target number of rows; generating a scheduling request for the requested number of rows; and receiving the each row set for processing in response to the scheduling request via access to one segment of a set of segments required for execution of the query; wherein a query resultant for the query is generated based on processing of the plurality of row sets over the temporal period, and further based on processing of an additional plurality of rows included in the set of segments via a set of other processing modules of the set of parallelized processing module implemented in parallel with the processing module. Claim Rejections - 35 USC § 112 The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. Claims 1, 19 and 20 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. Regarding independent claim 1, Claim 1 recites the following limitation: serially processing a plurality of row sets over a temporal period in conjunction with execution of the query via processing each row set of the plurality of row sets based on power and based on: automatically selecting a requested number of rows to be included in the each row set based on row scheduling parameters; Specifically, the claim recites the step wherein “serially processing a plurality of row sets over a temporal period in conjunction with execution of the query”. The claim does not define the term “power”, therefore one of ordinary skill in the art would not be able to determine how the term would be used to “serially process”. Therefore claim 1 contains indefinite terminology that fails to particularly point out and distinctly claim the subject matter to which the invention is directed. The examiner notes that Paragraph [0605] of Applicant's Specification describes to the term "power" in the present Application as relating to performing of the method according to the one or more power connections reflecting direct and indirect couplings between two items of the database system. For the purposes of this Office Action, the examiner has interpreted the step of " serially processing a plurality of row sets over a temporal period in conjunction with execution of the query…based on power and based on: …” to refer to this portion of the specification which refers to the use of electrical power to execute the method Regarding independent claim 19, The claim is analogous to the subject matter of independent claim 1 directed to a computer system and is rejected under similar rationale. Regarding independent claim 20, The claim is analogous to the subject matter of independent claim 1 directed to a non-transitory, computer readable medium and is rejected under similar rationale. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claim(s) 1-2, 6 and 18-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Lerios et al. (US PGPUB No. 2016/0034547; Pub. Date; Feb. 4, 2016) in view of Barry (US PGPUB No. 2020/0301903; Pub. Date: Sep. 24, 2020). Regarding independent claim 1, Lerios discloses a method for execution by a processing module of a set of parallelized processing modules of a database system, comprising:determining a query for execution; See FIG. 4 & Paragraph [0038], (FIG. 4 illustrates method 400 comprising step 302 of performing received operations via an SQL interface. A user 102 may operate a computing system 104 and interact with the SQL-driven distributed operation system 110, which allows the users to operate the SQL-driven distributed operating system by providing SQL commands that can be executed by the system, i.e. determining a query for execution.) serially processing a plurality of row sets over a temporal period in conjunction with execution of the query via processing each row set of the plurality of row sets based on power and based on: automatically selecting a requested number of rows to be included in the each row set based on row scheduling parameters; See Paragraph [0049], (The SQL-driven distributed operating system 110 can be configured to repeat or perform queries at specified intervals or at scheduled times.) See Paragraph [0073], (Optimization module 228 may utilize knowledge of future scheduled events in order to optimize query execution using information from scheduled queries.) See Paragraph [0114], (The SQL-driven distributed operating system may provide interactive progress feedback as each cell is executed in sequence, wherein each cell represents an executable SQL command, i.e. serially processing a plurality of row sets (e.g. processing the sequence of cells which may retrieve rows) over a temporal period (e.g. query execution may be scheduled) in conjunction with execution of the query via processing each row set of the plurality of row sets.) See Paragraph [0069], (Optimization module 228 may dynamically deduce information regarding data sources such as determining partition ranges of column values, i.e. based on power (e.g. Note [0099] wherein the SQL-driven distributed operating system may operate on any computer-enabled device such as vehicles, electricity meters, or voltmeters.) and based on: automatically selecting a requested number of rows to be included in each row set based on row scheduling parameters.) wherein a query resultant for the query is generated based on processing of the plurality of row sets over the temporal period, See FIG. 4 & Paragraph [0117], (FIG. 4 illustrates method 400 comprising step 402 of receiving and performing an SQL operation to be performed using first and second data. At step 408, a result may be generated and provided through the interface provided by the computing system using multiple computing systems which may each concurrently process, access and create at least a portion of the generated result, i.e. wherein a query resultant for the query is generated based on processing of the plurality of row sets over the temporal period.) Lerios does not disclose the step of generating a scheduling request for the requested number of rows; and receiving the each row set for processing in response to the scheduling request via access to one segment of a set of segments required for execution of the query; and further based on processing of an additional plurality of rows included in the set of segments via a set of other processing modules of the set of parallelized processing module implemented in parallel with the processing module. Barry discloses the step of generating a scheduling request for the requested number of rows; See Paragraph [0014], (Disclosing a method for reorganizing a tablespace in a database such that rows of the tablespace are arranged in a sequence defined in a tree-type clustering index of said tablespace. The method includes scheduling reorg tasks for each section and executing the scheduled reorg tasks on said sections. Note [0045] wherein a reorg operation comprises breaking up a tablespace and clustering index into logically distinct sets of data referred to as sections, i.e. generating a scheduling request for the requested number of rows.) and receiving the each row set for processing in response to the scheduling request via access to one segment of a set of segments required for execution of the query; See Paragraph [0052], (Disclosing a method for reorganizing a tablespace in a database such that rows of the tablespace are arranged in a sequence defined in a tree-type clustering index of said tablespace. Scheduling of sections during a reorg operation. A reorg operation may use packets that comprise fixed, non-logically contiguous set of keys and rows that is a subset of a section.) See Paragraph [0103], (The process includes a step of reading tablespace rows pointed to by a leaf page in logical order. Writing tablespace rows includes writing records into tablespace allocated in segments indicated by storage space ranges, i.e. receiving each row set for processing in response to the scheduling request via access to one segment of a set of segments required for execution of the query.) and further based on processing of an additional plurality of rows included in the set of segments via a set of other processing modules of the set of parallelized processing module implemented in parallel with the processing module. See Paragraph [0103], (The scheduled reorg tasks may be processed in parallel by a parallel computing system, clustered computing system and distributed computing system. Writing tablespace rows includes writing records into tablespace allocated in segments indicated by storage space ranges. Reading said tablespace rows therefore includes reading ranges of storage space, which are referred to as segments, i.e. further based on processing of an additional plurality of rows included in the set of segments via a set of other processing modules of the set of parallelized processing module implemented in parallel with the processing module.) Lerios and Barry are analogous art because they are in the same field of endeavor, query optimization. It would have been obvious to anyone having ordinary skill in the art before the effective filing date to modify the system of Lerios to include the method of reorganizing tablespaces for executing queries as disclosed by Barry. Paragraph [0016] of Barry discloses that the database reorg process allows the system to split reorg processing into independent sections and schedule said sections for concurrent processing, which may improve the functioning of the computing environment in which it is used during a database reorg process. Regarding dependent claim 2, As discussed above with claim Lerios-Barry, 1 discloses all of the limitations. Barry further discloses the step a scheduling module is operable to process a plurality scheduling requests for the query received across a set of parallelized processing modules executing the query that includes the processing module and the set of other processing modules based on dispersing a total plurality of rows included in the set of segments required for execution of the query for processing across the set of parallelized processing modules, See Paragraph [0076], (A scheduler or governor process may be used to handle scheduling. A processing of sections may be scheduled and sections are distributed among processor or computers for concurrent or parallel processing, i.e. wherein a scheduling module is operable to process a plurality scheduling requests for the query received across a set of parallelized processing modules executing the query that includes the processing module and the set of other processing modules.) See Paragraph [0026], (The DBS database management system supports partitioned tablespaces wherein the system sections sets of tablespace rows into different datasets based on a key value derived from a partitioning key and may correspond to ranges of values, i.e. based on dispersing a total plurality of rows included in the set of segments required for execution of the query for processing across the set of parallelized processing modules.) and wherein serially processing each row set of the plurality of row sets is further based on: sending the scheduling request to the scheduling module, See FIG. 7 & Paragraph [0077], (FIG. 7 illustrates method 700 comprising step 702 of processing sections according to a scheduler task, i.e. sending the scheduling request to the scheduling module.) wherein the each row set is received based on the scheduling module assigning the each row set to the processing module for processing in response to the scheduling module processing the scheduling request. See FIG. 7 & Paragraph [0081], (FIG. 7 comprises step 704 of processing leaf pages in a section by reading tablespace rows pointed to by the leaf page in logical order, i.e. wherein the each row set is received based on the scheduling module assigning the each row set to the processing module for processing (e.g. the scheduler task indicates the processing order of sections in the schedule) in response to the scheduling module processing the scheduling request.) Regarding dependent claim 6, As discussed above with claim Lerios-Barry, 1 discloses all of the limitations. Barry further discloses the step wherein the plurality of row sets are serially requested via a plurality of scheduling requests, See Paragraph [0103], (Scheduled reorg tasks associated with individual sections may be executed in rounds as scheduled by the processor, i.e. wherein the plurality of row sets are serially requested via a plurality of scheduling requests (e.g. the scheduling of reorg operations).) wherein a first row set of the plurality of row sets is processed prior to all other ones of the plurality of row sets based on:automatically selecting a first number of rows to be included in the first row set based on a value of a predetermined initial number of rows; See FIG. 7, (FIG. 7 illustrates method 700 comprising step 704 wherein the system may performed scheduled operations, which comprise processing leaf pages in a section by reading tablespace rows pointed to by the leaf page in a logical order, i.e. wherein a first row set of the plurality of row sets is processed prior to all other ones of the plurality of row sets based on (e.g. the first reorg operation to be scheduled):automatically selecting a first number of rows to be included in the first row set based on a value of a predetermined initial number of rows (e.g. step 704 of method 700).) generating a first scheduling request of the plurality of scheduling requests, wherein the first scheduling request indicates the first number of rows, See FIG. 7 & Paragraph [0081], (FIG. 7 comprises step 704 of processing leaf pages in a section by reading tablespace rows pointed to by the leaf page in logical order, i.e. generating a first scheduling request of the plurality of scheduling requests, wherein the first scheduling request indicates the first number of rows (e.g. the leaf pages indicate the amount of rows to be read from tablespace).) and wherein the first scheduling request is generated prior to generating all other ones of the plurality of scheduling requests; See Paragraph [0103], (Scheduled reorg tasks associated with individual sections may be executed in rounds as scheduled by the processor such that the interval between sections for which reorg tasks are scheduled in a round separates the sections by a size that compensates for varying section sizes, i.e. wherein the first scheduling request is generated prior to generating all other ones of the plurality of scheduling requests (e.g. the reorg operation for the plurality of sections is executed in rounds, including a first round which would service a first section via a first reorg task).) and receiving the first row set for processing. See FIG. 7, (At step 704, the process comprises reading tablespace rows pointed to by a leaf page in logical order, i.e. receiving the first row set for processing.) Regarding dependent claim 18, As discussed above with claim 1, Lerios-Barry discloses all of the limitations. Lerios further discloses the step wherein the query is executed via a plurality of nodes of the database system, wherein the set of parallelized processing modules are implemented via one node of the plurality of nodes, See Paragraph [0037], (SQL-driven operating system 110 may use computing systems 104, 124, 134 to operate as a distributed system that can each concurrently process, access and/or create at least a portion of the generated result, i.e. herein the query is executed via a plurality of nodes of the database system (e.g. computing systems 104, 124, 134), wherein the set of parallelized processing modules are implemented via one node of the plurality of nodes (e.g. computing systems 104, 124, 134 may concurrently process queries) .) wherein the set of segments are processed via the set of parallelized processing modules based on the set of segments being assigned to the one node for processing, See FIG. 4 & Paragraph [0117], (FIG. 4 illustrates method 400 comprising step 402 wherein the received operation is performed using first data managed by a first computing system and second data that is managed by a second computing system, i.e. wherein the set of segments are processed via the set of parallelized processing modules (e.g. Note [0037] wherein the separate computing systems may concurrently process query data) based on the set of segments being assigned to the one node for processing (e.g. first data is managed by first computing system and second data managed by second computing system). wherein the one node generates a partial query resultant via processing the set of segments, wherein a plurality of other partial query resultants are generated based on processing of a plurality of other sets of segments via other sets of parallelized processing modules of other nodes of the plurality of nodes, See Paragraph [0117], (The plurality of computing systems may each concurrently process, access, and create at least a portion of the generated result, i.e. wherein the one node generates a partial query resultant via processing the set of segments, wherein a plurality of other partial query resultants (e.g. the portions of the generated result created by the individual computing systems) are generated based on processing of a plurality of other sets of segments via other sets of parallelized processing modules of other nodes of the plurality of nodes (e.g. the plurality of computing systems act as a distributed system concurrently processing queries and generating at least a portion of a generated result. ).) and wherein the query resultant is generated based on a plurality of partial query resultants that includes the partial query resultant and the plurality of other partial query resultants. See Paragraph [0117], (Method 400 comprises step 408 of providing a result generated by executing the SQL operation via the interface. The different computing systems create at least a portion of the generated result, which may then be delivered to the interface in its entirety, i.e. wherein the query resultant is generated based on a plurality of partial query resultants that includes the partial query resultant and the plurality of other partial query resultants.) Regarding independent claim 19, Lerios discloses a node of a database system comprises:a set of parallelized processing modules, wherein each of the set of parallelized processing modules is operable to:determine a query for execution; See FIG. 4 & Paragraph [0038], (FIG. 4 illustrates method 400 comprising step 302 of performing received operations via an SQL interface. A user 102 may operate a computing system 104 and interact with the SQL-driven distributed operating system 110, which allows the users to operate the SQL-driven distributed operating system by providing SQL commands that can be executed by the system, i.e. determining a query for execution.) serially processing a plurality of row sets over a temporal period in conjunction with execution of the query via processing each row set of the plurality of row sets based on power and based on:automatically selecting a requested number of rows to be included in the each row set based on row scheduling parameters; See Paragraph [0049], (The SQL-driven distributed operating system 110 can be configured to repeat or perform queries at specified intervals or at scheduled times.) See Paragraph [0073], (Optimization module 228 may utilize knowledge of future scheduled events in order to optimize query execution using information from scheduled queries.) See Paragraph [0114], (The SQL-driven distributed operating system may provide interactive progress feedback as each cell is executed in sequence, wherein each cell represents an executable SQL command, i.e. serially processing a plurality of row sets (e.g. processing the sequence of cells which may retrieve rows) over a temporal period (e.g. query execution may be scheduled) in conjunction with execution of the query via processing each row set of the plurality of row sets.) See Paragraph [0069], (Optimization module 228 may dynamically deduce information regarding data sources such as determining partition ranges of column values, i.e. based on power (e.g. Note [0099] wherein the SQL-driven distributed operating system may operate on any computer-enabled device such as vehicles, electricity meters, or voltmeters.) and based on: automatically selecting a requested number of rows to be included in each row set based on row scheduling parameters.) wherein a query resultant for the query is generated based on processing of the plurality of row sets by the each of the set of parallelized processing modules. See FIG. 4 & Paragraph [0117], (FIG. 4 illustrates method 400 comprising step 402 of receiving and performing an SQL operation to be performed using first and second data. At step 408, a result may be generated and provided through the interface provided by the computing system using multiple computing systems which may each concurrently process, access and create at least a portion of the generated result.) See Paragraph [0037], (The SQL-driven distributed operating system 110 may utilize a plurality of computing systems 104, 124, 134 to concurrently process, access and/or create at least a portion of a generated result, i.e. wherein a query resultant for the query is generated based on processing of the plurality of row sets by the each of the set of parallelized processing modules.) Lerios does not disclose the step of generating a scheduling request for the requested number of rows; and receiving the each row set for processing in response to the scheduling request via access to one segment of a set of segments required for execution of the query; Barry discloses the step of generating a scheduling request for the requested number of rows; See Paragraph [0014], (Disclosing a method for reorganizing a tablespace in a database such that rows of the tablespace are arranged in a sequence defined in a tree-type clustering index of said tablespace. The method includes scheduling reorg tasks for each section and executing the scheduled reorg tasks on said sections. Note [0045] wherein a reorg operation comprises breaking up a tablespace and clustering index into logically distinct sets of data referred to as sections, i.e. generating a scheduling request for the requested number of rows.) and receiving the each row set for processing in response to the scheduling request via access to one segment of a set of segments required for execution of the query; See Paragraph [0052], (Disclosing a method for reorganizing a tablespace in a database such that rows of the tablespace are arranged in a sequence defined in a tree-type clustering index of said tablespace. Scheduling of sections during a reorg operation. A reorg operation may use packets that comprise fixed, non-logically contiguous set of keys and rows that is a subset of a section.) See Paragraph [0103], (The process includes a step of reading tablespace rows pointed to by a leaf page in logical order. Writing tablespace rows includes writing records into tablespace allocated in segments indicated by storage space ranges, i.e. receiving the each row set for processing in response to the scheduling request via access to one segment of a set of segments required for execution of the query.) Lerios and Barry are analogous art because they are in the same field of endeavor, query optimization. It would have been obvious to anyone having ordinary skill in the art before the effective filing date to modify the system of Lerios to include the method of reorganizing tablespaces for executing queries as disclosed by Barry. Paragraph [0016] of Barry discloses that the database reorg process allows the system to split reorg processing into independent sections and schedule said sections for concurrent processing, which may improve the functioning of the computing environment in which it is used during a database reorg process. Regarding independent claim 20, Lerios discloses a non-transitory computer readable storage medium comprises:at least one memory section that stores operational instructions that, when executed by at least one processing module that includes a processor and a memory, causes the at least one processing module to: determine a query for execution; See FIG. 4 & Paragraph [0038], (FIG. 4 illustrates method 400 comprising step 302 of performing received operations via an SQL interface. A user 102 may operate a computing system 104 and interact with the SQL-driven distributed operating system 110, which allows the users to operate the SQL-driven distributed operating system by providing SQL commands that can be executed by the system, i.e. determining a query for execution.) serially processing a plurality of row sets over a temporal period in conjunction with execution of the query via processing each row set of the plurality of row sets based on power and based on:automatically selecting a requested number of rows to be included in the each row set based on row scheduling parameters; See Paragraph [0049], (The SQL-driven distributed operating system 110 can be configured to repeat or perform queries at specified intervals or at scheduled times.) See Paragraph [0073], (Optimization module 228 may utilize knowledge of future scheduled events in order to optimize query execution using information from scheduled queries.) See Paragraph [0114], (The SQL-driven distributed operating system may provide interactive progress feedback as each cell is executed in sequence, wherein each cell represents an executable SQL command, i.e. serially processing a plurality of row sets (e.g. processing the sequence of cells which may retrieve rows) over a temporal period (e.g. query execution may be scheduled) in conjunction with execution of the query via processing each row set of the plurality of row sets.) See Paragraph [0069], (Optimization module 228 may dynamically deduce information regarding data sources such as determining partition ranges of column values, i.e. based on power (e.g. Note [0099] wherein the SQL-driven distributed operating system may operate on any computer-enabled device such as vehicles, electricity meters, or voltmeters.) and based on: automatically selecting a requested number of rows to be included in each row set based on row scheduling parameters.) wherein a query resultant for the query is generated based on processing of the plurality of row sets over the temporal period. See FIG. 4 & Paragraph [0117], (FIG. 4 illustrates method 400 comprising step 402 of receiving and performing an SQL operation to be performed using first and second data. At step 408, a result may be generated and provided through the interface provided by the computing system using multiple computing systems which may each concurrently process, access and create at least a portion of the generated result, i.e. wherein a query resultant for the query is generated based on processing of the plurality of row sets over the temporal period.) Lerios does not disclose the step of generating a scheduling request for the requested number of rows; and receiving the each row set for processing in response to the scheduling request via access to one segment of a set of segments required for execution of the query; Barry discloses the step of generating a scheduling request for the requested number of rows; See Paragraph [0014], (Disclosing a method for reorganizing a tablespace in a database such that rows of the tablespace are arranged in a sequence defined in a tree-type clustering index of said tablespace. The method includes scheduling reorg tasks for each section and executing the scheduled reorg tasks on said sections. Note [0045] wherein a reorg operation comprises breaking up a tablespace and clustering index into logically distinct sets of data referred to as sections, i.e. generating a scheduling request for the requested number of rows.) and receiving the each row set for processing in response to the scheduling request via access to one segment of a set of segments required for execution of the query; See Paragraph [0052], (Disclosing a method for reorganizing a tablespace in a database such that rows of the tablespace are arranged in a sequence defined in a tree-type clustering index of said tablespace. Scheduling of sections during a reorg operation. A reorg operation may use packets that comprise fixed, non-logically contiguous set of keys and rows that is a subset of a section.) See Paragraph [0103], (The process includes a step of reading tablespace rows pointed to by a leaf page in logical order. Writing tablespace rows includes writing records into tablespace allocated in segments indicated by storage space ranges, i.e. receiving the each row set for processing in response to the scheduling request via access to one segment of a set of segments required for execution of the query.) Lerios and Barry are analogous art because they are in the same field of endeavor, query optimization. It would have been obvious to anyone having ordinary skill in the art before the effective filing date to modify the system of Lerios to include the method of reorganizing tablespaces for executing queries as disclosed by Barry. Paragraph [0016] of Barry discloses that the database reorg process allows the system to split reorg processing into independent sections and schedule said sections for concurrent processing, which may improve the functioning of the computing environment in which it is used during a database reorg process. Claim(s) 3, 5 and 14 is/are rejected under 35 U.S.C. 103 as being unpatentable over Lerios in view of Barry as applied to claim 2 above, and further in view of ANTONOPOULOS et al. (US PGPUB No. 2019/0317727; Pub. Date: Oct. 17, 2019). Regarding dependent claim 3, As discussed above with claim 2, Lerios-Barry discloses all of the limitations. Lerios-Barry does not disclose the step wherein the each row set is selected by the scheduling module to include one of:exactly the requested number of rows indicated in the scheduling request; or less than the requested number of rows indicated in the scheduling request. ANTONOPOULOS discloses the step wherein the each row set is selected by the scheduling module to include one of:exactly the requested number of rows indicated in the scheduling request; See Paragraph [0019], (Disclosing a method of receiving a database command to sort an unsorted dataset. Users may submit a query causing the database server to sort a table. Sort results are sent back to the requesting process or application.) See Paragraph [0038], (The method includes splitting a dataset into group of chunks identified for a different thread to sort.) See Paragraph [0040], (Scan metadata may comprise an SLA field indicating a number of rows to be contained in a chunk.) See FIG. 6 & Paragraph [0051], (FIG. 6 illustrates method 600 comprising step 606 of reading data from a dataset until the size of the chunk reaches the appropriate maximum indicated by the maximum chunk size, i.e. wherein the each row set is selected by the scheduling module to include one of: exactly the requested number of rows indicated in the scheduling request.) The examiner notes that the step "wherein the each row set is selected by the scheduling module to include one of:exactly the requested number of rows indicated in the scheduling request; or less than the requested number of rows indicated in the scheduling request." is optional due to the use of the terms "include one of" and "or", the claim requires selection of an element from a list of alternatives, the prior art teaches the element if one of the alternatives is taught by the prior art, see MPEP 2143.03. Lerios, Barry and ANTONOPOULOS are analogous art because they are in the same field of endeavor, query optimization. It would have been obvious to anyone having ordinary skill in the art before the effective filing date to modify the system of Lerios-Barry to include the method of retrieving a specific number of rows according to a chunk size as disclosed by ANTONOPOULOS. Doing so would allow the system to organize tabular data from potentially large tables into smaller chunks that are easier to analyze and subsequently sort. Regarding dependent claim 5, As discussed above with claim 2, Lerios-Barry-ANTONOPOULOS discloses all of the limitations. ANTONOPOULOS further discloses the step wherein the each row set is selected by the scheduling module as one of:all of a set of unassigned rows included in the one segment based on a number of unassigned rows of the one segment being less than or equal to the requested number of rows indicated in the scheduling request based on one of: the all of the set of unassigned rows included in the one segment corresponding to remaining rows included in the one segment based on all other rows in the one segment being already assigned for processing via at least one of the set of processing modules and further based on a number of remaining rows in the set of remaining rows being less than or equal to the requested number of rows indicated in the scheduling request; or the all of the set of unassigned rows included in the one segment corresponding to a full set of rows included the one segment based on none of the full set of rows in the one segment having yet been assigned for processing via any of the set of processing modules and further based on a total number of rows in the full set of rows being less than or equal to the requested number of rows indicated in the scheduling request; or a proper subset of the set of unassigned rows included in the one segment based on a number of unassigned rows included in the one segment being greater than or equal to the requested number of rows indicated in the scheduling request. Specifically, a proper subset of the set of unassigned rows included in the one segment based on a number of unassigned rows included in the one segment being greater than or equal to the requested number of rows indicated in the scheduling request. See Paragraph [0051], (A chunk having a chunk size indicating a maximum number of rows may have an unsorted dataset read until the size of the chunk reaches the appropriate maximum, i.e. a proper subset of the set of unassigned rows included in the one segment based on a number of unassigned rows included in the one segment being greater than or equal (e.g. the unsorted dataset is larger than the chunk size) to the requested number of rows indicated in the scheduling request (e.g. step 602 of process 600 comprising determining a chunk size in response to step 601 of receiving a sort command).) The examiner notes that the step " all of a set of unassigned rows included in the one segment based on a number of unassigned rows of the one segment being less than or equal to the requested number of rows indicated in the scheduling request based on one of: the all of the set of unassigned rows included in the one segment corresponding to remaining rows included in the one segment based on all other rows in the one segment being already assigned for processing via at least one of the set of processing modules and further based on a number of remaining rows in the set of remaining rows being less than or equal to the requested number of rows indicated in the scheduling request; or the all of the set of unassigned rows included in the one segment corresponding to a full set of rows included the one segment based on none of the full set of rows in the one segment having yet been assigned for processing via any of the set of processing modules and further based on a total number of rows in the full set of rows being less than or equal to the requested number of rows indicated in the scheduling request; or a proper subset of the set of unassigned rows included in the one segment based on a number of unassigned rows included in the one segment being greater than or equal to the requested number of rows indicated in the scheduling request." is optional due to the use of the term "or", the claim requires selection of an element from a list of alternatives, the prior art teaches the element if one of the alternatives is taught by the prior art, see MPEP 2143.03. Lerios, Barry and ANTONOPOULOS are analogous art because they are in the same field of endeavor, query optimization. It would have been obvious to anyone having ordinary skill in the art before the effective filing date to modify the system of Lerios-Barry to include the method of retrieving a specific number of rows according to a chunk size as disclosed by ANTONOPOULOS. Doing so would allow the system to organize tabular data from potentially large tables into smaller chunks that are easier to analyze and subsequently sort. Regarding dependent claim 14, As discussed above with claim 1, Lerios-Barry discloses all of the limitations. Lerios-Barry does not disclose the step wherein each subsequent row set of the plurality of row sets processed after a first row set of the plurality of row sets are processed based on:determining whether to request additional rows for processing at a current time based on evaluating a current state of the row scheduling parameters, wherein the scheduling request is generated at the current time in response to determining to request the additional rows for processing at the current time, and wherein the scheduling request is generated at a later time in response to determining to not request the additional rows for processing based on re-evaluating an updated state of the row scheduling parameters at the later time. ANTONOPOULOS discloses the step wherein each subsequent row set of the plurality of row sets processed after a first row set of the plurality of row sets are processed based on:determining whether to request additional rows for processing at a current time based on evaluating a current state of the row scheduling parameters, See Paragraph [0019], (Disclosing a method of receiving a database command to sort an unsorted dataset. Users may submit a query causing the database server to sort a table. Sort results are sent back to the requesting process or application.) See Paragraph [0038], (The method includes splitting a dataset into group of chunks identified for a different thread to sort.) See Paragraph [0040], (Scan metadata may comprise an SLA field indicating a number of rows to be contained in a chunk.) See FIG. 6 & Paragraph [0051], (FIG. 6 illustrates method 600 comprising step 606 of reading data from a dataset until the size of the chunk reaches the appropriate maximum indicated by the maximum chunk size, i.e. determining whether to request additional rows for processing at a current time based on evaluating a current state of the row scheduling parameters (e.g. determining whether to continue to read rows into the chunk according to metadata characterizing the chunk).) wherein the scheduling request is generated at the current time in response to determining to request the additional rows for processing at the current time, See FIG. 6, (FIG. 6 illustrates process 600 comprising step 606 of reading rows into a chunk until the number of rows satisfies a maximum chunk size. This process occurs following step 601 of receiving a sort command, i.e. wherein the scheduling request is generated at the current time in response to determining to request the additional rows for processing at the current time (e.g. the method of sorting table data is executed in response to a user command).) The examiner notes that the step "wherein the scheduling request is generated at a later time in response to determining to not request the additional rows for processing based on re-evaluating an updated state of the row scheduling parameters at the later time." is optional due the fact that the claim indicates two scenarios that cannot occur simultaneously (e.g. a specific, unique scheduling request cannot be generated both at a current time and also at a later time), the claim requires selection of an element from a list of alternatives, the prior art teaches the element if one of the alternatives is taught by the prior art, see MPEP 2143.03. Lerios, Barry and ANTONOPOULOS are analogous art because they are in the same field of endeavor, query optimization. It would have been obvious to anyone having ordinary skill in the art before the effective filing date to modify the system of Lerios-Barry to include the method of retrieving a specific number of rows according to a chunk size as disclosed by ANTONOPOULOS. Doing so would allow the system to organize tabular data from potentially large tables into smaller chunks that are easier to analyze and subsequently sort. Claim(s) 4, 9 and 11 is/are rejected under 35 U.S.C. 103 as being unpatentable over Lerios in view of Barry and ANTONOPOULOS as applied to claim 3 above, and further in view of May et al. (US PGPUB No. 2022/0019589; Pub. Date: Jan. 20, 2022). Regarding dependent claim 4, As discussed above with claim 1, Lerios-Barry discloses all of the limitations. ANTONOPOULOS further discloses the step wherein an actual number of rows included in the each row set is selected to not exceed the requested number of rows based on requested number of rows being guaranteed to be greater than or equal to the minimum row set size. See FIG. 6, (FIG. 6 illustrates method 600 comprising step 606 wherein if the data read from the unsorted dataset reaches the maximum indicated chunk size, then the method proceeds to step 610 of sorting the chunk, i.e. wherein an actual number of rows included in the each row set is selected to not exceed the requested number of rows based on requested number of rows being guaranteed to be greater than or equal to the minimum row set size (e.g. the number of rows is not permitted to exceed the chunk size).) Lerios-Barry-ANTONOPOULOS does not disclose the step wherein the scheduling module is operable to assign row sets for processing in conjunction with adhering to a minimum row set size, wherein the requested number of rows is automatically selected based on being lower bounded by the minimum row set size, May discloses the step wherein the scheduling module is operable to assign row sets for processing in conjunction with adhering to a minimum row set size, wherein the requested number of rows is automatically selected based on being lower bounded by the minimum row set size, See Paragraph [0103], (Disclosing techniques and solutions for partitioning data among different types of storage media. The method may create partitions having a minimal partition cardinality that indicates a minimum number of rows that must be present in any partition that must be satisfied at all times, i.e. wherein the scheduling module is operable to assign row sets for processing in conjunction with adhering to a minimum row set size, wherein the requested number of rows is automatically selected based on being lower bounded by the minimum row set size.) Lerios, Barry, ANTONOPOULOS and May are analogous art because they are in the same field of endeavor, query optimization. It would have been obvious to anyone having ordinary skill in the art before the effective filing date to modify the system of Lerios-Barry-ANTONOPOULOS to include the method of forming partitions according to minimal partition cardinalities that must be satisfied at all times as disclosed by May. Doing so would allow the system to ensure that no sets of rows are ever empty such that the scheduling system does not have to process empty subsets of data. Regarding dependent claim 9, As discussed above with claim 1, Lerios-Barry discloses all of the limitations. Lerios-Barry does not disclose the step wherein the row scheduling parameters include:a total number of previously scheduled rows included in all previously scheduled row sets assigned to the processing module for processing in prior ones of the plurality of row sets serially before the each row set; an unprocessed number of previously scheduled rows included in the all previously scheduled row sets assigned to the processing module; ANTONOPOULOS discloses the step wherein the row scheduling parameters include:a total number of previously scheduled rows included in all previously scheduled row sets assigned to the processing module for processing in prior ones of the plurality of row sets serially before the each row set; See Paragraph [0026], (Disclosing a method of receiving a database command to sort an unsorted dataset. Database 102 includes an unsorted dataset 104 and sorted dataset 106, i.e. a total number of previously scheduled rows included in all previously scheduled row sets assigned to the processing module for processing in prior ones of the plurality of row sets serially before the each row set (e.g. the sorted dataset 106 has already been processed previously via process 600 of FIG. 6).) an unprocessed number of previously scheduled rows included in the all previously scheduled row sets assigned to the processing module; See Paragraph [0026], (Database 102 includes an unsorted dataset 104 and sorted dataset 106, i.e. an unprocessed number of previously scheduled rows (e.g. the unsorted dataset 104) included in the all previously scheduled row sets assigned to the processing module.) Lerios, Barry and ANTONOPOULOS are analogous art because they are in the same field of endeavor, query optimization. It would have been obvious to anyone having ordinary skill in the art before the effective filing date to modify the system of Lerios-Barry to include the method of retrieving a specific number of rows according to a chunk size as disclosed by ANTONOPOULOS. Doing so would allow the system to organize tabular data from potentially large tables into smaller chunks that are easier to analyze and subsequently sort. Leriows-Barry-ANTONOPOULOS does not disclose a target number of rows; and a minimum row set size. May discloses a target number of rows; See Paragraph [0103], (Disclosing techniques and solutions for partitioning data among different types of storage media. The method may create partitions having a minimal partition cardinality that indicates a minimum number of rows that must be present in any partition that must be satisfied at all times, which may be a user-provided parameter, i.e. a target number of rows (e.g. the user provides the minimal partition cardinality).) and a minimum row set size. See Paragraph [0103], (The method may create partitions having a minimal partition cardinality that indicates a minimum number of rows that must be present in any partition that must be satisfied at all times, i.e. a minimum row set size.) Lerios, Barry, ANTONOPOULOS and May are analogous art because they are in the same field of endeavor, query optimization. It would have been obvious to anyone having ordinary skill in the art before the effective filing date to modify the system of Lerios-Barry-ANTONOPOULOS to include the method of forming partitions according to minimal partition cardinalities that must be satisfied at all times as disclosed by May. Doing so would allow the system to ensure that no sets of rows are ever empty such that the scheduling system does not have to process empty subsets of data. Regarding dependent claim 11, As discussed above with claim 1, Lerios-Barry-ANTONOPOULOS-May discloses all of the limitations. May further disclose the step wherein automatically selecting the requested number of rows to be included in the each row set based on the row scheduling parameters includes:determining whether a minimum set size request condition is met; See Paragraph [0103], (The method may create partitions having a minimal partition cardinality that indicates a minimum number of rows that must be present in any partition that must be satisfied at all times, i.e. determining whether a minimum set size request condition is met.) when the minimum set size request condition is met, selecting the requested number of rows as the minimum row set size; and when the minimum set size request condition is not met, selecting the requested number of rows as a maximum of:the minimum row set size; and a difference between the target number of rows and the total number of previously scheduled rows. See Paragraph [0103], (The method may create partitions having a minimal partition cardinality that indicates a minimum number of rows that must be present in any partition that must be satisfied at all times. The parameter may be user-provided, i.e. when the minimum set size request condition is met, selecting the requested number of rows as the minimum row set size (e.g. the cardinality value is set according to the user input).) The examiner notes that the step "and when the minimum set size request condition is not met, selecting the requested number of rows as a maximum of:the minimum row set size; and a difference between the target number of rows and the total number of previously scheduled rows." is optional due the fact that the claim indicates two scenarios that cannot occur simultaneously (e.g. the minimum set size request condition cannot be both met and unmet at any given period of time), the claim requires selection of an element from a list of alternatives, the prior art teaches the element if one of the alternatives is taught by the prior art, see MPEP 2143.03. Claim(s) 7 is/are rejected under 35 U.S.C. 103 as being unpatentable over Lerios in view of Barry as applied to claim 9 above, and further in view of Caufield et al. (US PGPUB No. 2012/0278587; Pub. Date: Nov. 1, 2012). Regarding dependent claim 7, As discussed above with claim 6, Lerios-Barry discloses all of the limitations. Lerios-Barry does not disclose the step of determining the value of the predetermined initial number of rows based on the predetermined initial number of rows being computed as a function a total number of rows across the set of segments and a total number of parallelized processing modules in the set of parallelized processing modules. Caufield discloses the step of determining the value of the predetermined initial number of rows based on the predetermined initial number of rows being computed as a function a total number of rows across the set of segments and a total number of parallelized processing modules in the set of parallelized processing modules. See Paragraph [0030], (Disclosing a method for dynamically distributing data for parallel processing in a computing system. The system includes a parallel processing engine 80 configured to dynamically adjust the amount of data distributed to each of a plurality of partitions such that the engine distributes an amount of rows to each buffer corresponding to a proportion of a number of rows and a buffer data capacity, i.e. determining the value of the predetermined initial number of rows based on the predetermined initial number of rows being computed as a function a total number of rows across the set of segments and a total number of parallelized processing modules in the set of parallelized processing modules.) Lerios, Barry and Caufield are analogous art because they are in the same field of endeavor, query optimization. It would have been obvious to anyone having ordinary skill in the art before the effective filing date to modify the system of Lerios-Barry to include the distributing rows of data to a plurality of parallel processing buffers as disclosed by Caufield. Paragraph [0031] of Caufield discloses that the parallel processing engine 80 may determine a data processing capacity of individual buffers to determine the performance of each individual buffer, which allows the system to improve overall data processing performance because data processing is no longer bottlenecked by a lowest performing partition and the highest performing partition is not starved for data. Claim(s) 10 is/are rejected under 35 U.S.C. 103 as being unpatentable over Lerios in view of Barry, ANTONOPOULOS and May as applied to claim 9 above, and further in view of Caufield et al. (US PGPUB No. 2012/0278587; Pub. Date: Nov. 1, 2012). Regarding dependent claim 10, As discussed above with claim 9, Lerios-Barry-ANTONOPOULOS-May discloses all of the limitations. Lerios-Barry-ANTONOPOULOS-May does not disclose the step wherein the target number of rows is a predetermined value computed as a dividend of a total number of rows across the set of segments divided by a total number of parallelized processing modules in the set of parallelized processing modules. Caufield discloses the step wherein the target number of rows is a predetermined value computed as a dividend of a total number of rows across the set of segments divided by a total number of parallelized processing modules in the set of parallelized processing modules. See Paragraph [0030], (Disclosing a method for dynamically distributing data for parallel processing in a computing system. The system includes a parallel processing engine 80 configured to dynamically adjust the amount of data distributed to each of a plurality of partitions such that the engine distributes an amount of rows to each buffer corresponding to a proportion of a number of rows and a buffer data capacity, i.e. wherein the target number of rows is a predetermined value computed as a dividend of a total number of rows across the set of segments divided by a total number of parallelized processing modules in the set of parallelized processing modules.) Lerios, Barry, ANTONOPOULOS, May and Caufield are analogous art because they are in the same field of endeavor, query optimization. It would have been obvious to anyone having ordinary skill in the art before the effective filing date to modify the system of Lerios-Barry-ANTONOPOULOS-May to include the distributing rows of data to a plurality of parallel processing buffers as disclosed by Caufield. Paragraph [0031] of Caufield discloses that the parallel processing engine 80 may determine a data processing capacity of individual buffers to determine the performance of each individual buffer, which allows the system to improve overall data processing performance because data processing is no longer bottlenecked by a lowest performing partition and the highest performing partition is not starved for data. Claim(s) 8 and 15 is/are rejected under 35 U.S.C. 103 as being unpatentable over Lerios in view of Barry as applied to claim 6 above, and further in view of Brewster et al. (US PGPUB No. 2022/0335030; Pub. Date: Oct. 20, 2022). Regarding dependent claim 8, As discussed above with claim 6, Lerios-Barry discloses all of the limitations. Lerios-Barry does not disclose the step wherein the first row set corresponds to all rows in a first segment of the set of segments based on the predetermined initial number of rows exceeding a total number of rows included in the first segment. Brewster discloses the step wherein the first row set corresponds to all rows in a first segment of the set of segments based on the predetermined initial number of rows exceeding a total number of rows included in the first segment. See Paragraph [0047], (Disclosing a cache optimization method for data preparation using a data traversal program. The data traversal program may operate on a set of data that is divided into partitions/work portions based on a cost function.) See Paragraph [0082], (The number of rows selected for a partition may exceed a threshold number of rows. The number of rows in the partition is then trimmed and capped at the threshold, i.e. wherein the first row set corresponds to all rows in a first segment of the set of segments based on the predetermined initial number of rows exceeding a total number of rows included in the first segment.) Lerios, Barry and Brewster are analogous art because they are in the same field of endeavor, query optimization. It would have been obvious to anyone having ordinary skill in the art before the effective filing date to modify the system of Lerios-Barry to include the method of partitioning data into non-overlapping portions as disclosed by Brewster. Paragraph [0278] of Brewster discloses that the use of a data traversal program may result in at least some of the following benefits: an increase in the efficiency of storage, where the amount of storage needed to represent the results of operations is reduced. This is for example due to a compact data traversal program representation of the results being maintained, rather than actual values of a data set. The efficiency in processing speed is also increased, as only data that is modified by operations is written. Furthermore, by performing operations on references that represent data, rather than the actual data itself, further efficiency gains can be realized, as the references are more compact than the data itself. Regarding dependent claim 15, As discussed above with claim 1, Lerios-Barry discloses all of the limitations. Lerios-Barry does not disclose the step wherein the plurality of row sets include rows of only a proper subset of the set of segments processed by the processing module, based on the set of other processing modules of the set of parallelized processing modules processing segments included in a set difference of the set of segments and the proper subset of the set of segments. Brewster discloses the step wherein the plurality of row sets include rows of only a proper subset of the set of segments processed by the processing module, based on the set of other processing modules of the set of parallelized processing modules processing segments included in a set difference of the set of segments and the proper subset of the set of segments. See Paragraph [0047], (Disclosing a cache optimization method for data preparation using a data traversal program. The data traversal program may operate on a set of data that is divided into partitions/work portions based on a cost function.) See Paragraph [0125], (The data traversal program may be executed for a partition comprising a sequenced set of rows that are a subset of the dataset resulting from a sequenced set of operations having been performed on an input dataset. The sequenced subsets of rows from teh various partitions are non-overlapping, i.e. wherein the plurality of row sets include rows of only a proper subset of the set of segments processed by the processing module, based on the set of other processing modules of the set of parallelized processing modules processing segments included in a set difference of the set of segments and the proper subset of the set of segments.) Lerios, Barry and Brewster are analogous art because they are in the same field of endeavor, query optimization. It would have been obvious to anyone having ordinary skill in the art before the effective filing date to modify the system of Lerios-Barry to include the method of partitioning data into non-overlapping portions as disclosed by Brewster. Paragraph [0278] of Brewster discloses that the use of a data traversal program may result in at least some of the following benefits: an increase in the efficiency of storage, where the amount of storage needed to represent the results of operations is reduced. This is for example due to a compact data traversal program representation of the results being maintained, rather than actual values of a data set. The efficiency in processing speed is also increased, as only data that is modified by operations is written. Furthermore, by performing operations on references that represent data, rather than the actual data itself, further efficiency gains can be realized, as the references are more compact than the data itself. Claim(s) 16 is/are rejected under 35 U.S.C. 103 as being unpatentable over Lerios in view of Barry and Brewster as applied to claim 15 above, and further in view of Li et al. (US PGPUB No. 2014/0214799; Pub. Date: Jul. 31, 2014). Regarding dependent claim 16, As discussed above with claim 15, Lerios-Barry-Brewster discloses all of the limitations. Brewster further discloses the step wherein a second processing module processes other rows of a second proper subset of the set of segments via serially processing each of a second plurality of row sets in conjunction with execution of the query, See Paragraph [0069], (Spark master 302 is configured to receive jobs from external clients, break down said jobs into smaller work portions and distribute the work to various Spark workers for execution.) See FIG. 10D & Paragraph [0205], (FIG. 10D illustrates a process of performing a sort operation wherein at partitions may be determined for execution the operation, which are labelled Partition zero and partition one. A partition may serially obtain one key-value pair of a source table at a time, i.e. wherein a second processing module processes other rows of a second proper subset of the set of segments via serially processing each of a second plurality of row sets in conjunction with execution of the query.) Lerios-Barry-Brewster does not disclose the step wherein a given segment is included in a set intersection of the proper subset and the second proper subset based on the given segment being processed via a plurality of segment chunks that includes at least:a first segment chunk corresponding to one of the plurality of row sets processed by the processing module; and a second chunk corresponding to one of the second plurality of row sets processed by the second processing module; wherein the other rows included in the second plurality of row sets processed by the second processing module are distinct from the rows included in the plurality of row sets processed by the processing module. Li discloses the step wherein a given segment is included in a set intersection of the proper subset and the second proper subset based on the given segment being processed via a plurality of segment chunks that includes at least:a first segment chunk corresponding to one of the plurality of row sets processed by the processing module; and a second chunk corresponding to one of the second plurality of row sets processed by the second processing module; See Paragraph [0063], (Disclosing a method for processing a database statement that specifies evaluation ranking or cumulative window functions by generating an execution strategy based on an extended data distribution key. As part of executing a query, the method forms an extended data distribution key based on relevant columns for parallel execution of a database statement. A data distribution is then made to a plurality of window sort operators based on the relevant columns (e.g. "region" and "sales_amount" columns in the provided example) in order to receive and aggregate a subset of a data partition. The parallel execution strategy may require information about other input rows processed by other operators , wherein the respective input rows and other input rows may overlap in a data partition, in order to fully evaluate the window function, i.e. wherein a given segment is included in a set intersection of the proper subset and the second proper subset based on the given segment being processed via a plurality of segment chunks (e.g. the overlapping portion of the two sets of rows) that includes at least:a first segment chunk corresponding to one of the plurality of row sets processed by the processing module; and a second chunk corresponding to one of the second plurality of row sets processed by the second processing module (e.g. the two sets of input rows represent separate segments of rows).) wherein the other rows included in the second plurality of row sets processed by the second processing module are distinct from the rows included in the plurality of row sets processed by the processing module. See Paragraph [0063], (The parallel execution strategy may require information about other input rows processed by other operators , wherein the respective input rows and other input rows may overlap in a data partition, wherein the other rows included in the second plurality of row sets processed by the second processing module are distinct from the rows included in the plurality of row sets processed by the processing module (e.g. the method of Li does not require a complete overlap of input rows in a data partition, therefore a partial overlap may be used to fully evaluate the corresponding window function. Lerios, Barry, Brewster and Li are analogous art because they are in the same field of endeavor, query optimization. It would have been obvious to anyone having ordinary skill in the art before the effective filing date to modify the system of Lerios-Barry-Brewster to include the method of processing parallel queries using overlapping input rows as disclosed by Li. Doing so would allow a system to employ a parallel execution strategy that may retrieve additional input rows for fully evaluating a query operation by obtaining additional relevant rows of data in the case where a particular data partition is not sufficient for evaluating a particular function. Claim(s) 17 is/are rejected under 35 U.S.C. 103 as being unpatentable over Lerios in view of Barry as applied to claim 1 above, and further in view of Jose, JR. et al. (US PGPUB No. 2022/0398128; Pub. Date: Dec. 15, 2022). Regarding dependent claim 17, As discussed above with claim 1, Lerios-Barry discloses all of the limitations Lerios further discloses the step wherein all rows across the set of segments are included in a same relational database table that includes a plurality of columns, See Paragraph [0069], (Optimization module 228 may partition a range of values of a database table, i.e. wherein all rows across the set of segments are included in a same relational database table (e.g. the range of values refers to values of rows of a database table) that includes a plurality of columns (e.g. the optimization module 228 partitions value ranges of a column).) wherein filtering predicates of the query involve filtering based on a column of the plurality of columns, See Paragraph [0089], (the process of query execution by the SQL-driven distributed operating system 202 allows for top-level-only column-oriented storage of tabular data. A query that filters out rows based on the value of a first column may only read the first third of a file to decide which subset of rows meet the filtering criteria, i.e. wherein filtering predicates of the query involve filtering based on a column of the plurality of columns.) Lerios-Barry does not disclose the step wherein processing of the plurality of row sets further includes generating an output row set for the each row set as a filtered subset of the each row set via applying the filtering predicates, and wherein the query resultant is generated based on the output row set of the each row set. Jose, JR discloses the step wherein processing of the plurality of row sets further includes generating an output row set for the each row set as a filtered subset of the each row set via applying the filtering predicates, and wherein the query resultant is generated based on the output row set of the each row set. See Paragraph [0101], (Disclosing a system for processing data requests in a data intake and query system 102. The system comprises a query system 114 configured to analyze events of a query in parallel. Multiple components of the query system may concurrently search and provide partial responses for a subset of events to a search head that combines the results to produce an answer for the query, i.e. wherein the query resultant is generated based on the output row set of the each row set. . Events may be stored in buckets for specific time ranges that allows the data retrieval process to search buckets corresponding to time ranges that are relevant to a query. Note [0031] wherein the system enables users to run queries against stored events to retrieve events that meet filter criteria specified in the query, i.e. wherein processing of the plurality of row sets further includes generating an output row set for each row set as a filtered subset of each row set via applying the filtering predicates (e.g. the relevant buckets are searched according to filter criteria specified by the user query).) Lerios, Barry and Jose, JR are analogous art because they are in the same field of endeavor, query optimization. It would have been obvious to anyone having ordinary skill in the art before the effective filing date to modify the system of Lerios-Barry to include the method processing buckets of event data according to filtering criteria in parallel as disclosed by Jose, JR. Paragraph [0077] of Jose, JR discloses that the shared computing resource environment may make it easier to install, maintain and update the components of a distributed system by allowing the environment to be remotely instantiated or updated as desired. The system may also be embodied as a cloud-based service, allowing the service to easier meet dynamic demand. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to Fernando M Mari whose telephone number is (571)272-2498. The examiner can normally be reached Monday-Friday 6am-3pm. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Mariela Reyes can be reached on (571) 270-1006. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /FMMV/Examiner, Art Unit 2159 /ALBERT M PHILLIPS, III/Primary Examiner, Art Unit 2159
Read full office action

Prosecution Timeline

Jul 10, 2024
Application Filed
Jul 03, 2025
Non-Final Rejection mailed — §101, §103, §112
Sep 03, 2025
Response Filed

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12591588
CATEGORICAL SEARCH USING VISUAL CUES AND HEURISTICS
5y 3m to grant Granted Mar 31, 2026
Patent 12547593
METHOD AND APPARATUS FOR SHARING FAVORITE
3y 8m to grant Granted Feb 10, 2026
Patent 12505129
Distributed Database System
3y 11m to grant Granted Dec 23, 2025
Patent 12499123
ACTOR-BASED INFORMATION SYSTEM
2y 10m to grant Granted Dec 16, 2025
Patent 12499121
REAL-TIME MONITORING AND REPORTING SYSTEMS AND METHODS FOR INFORMATION ACCESS PLATFORM
2y 0m to grant Granted Dec 16, 2025
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
49%
Grant Probability
69%
With Interview (+20.3%)
3y 6m (~1y 8m remaining)
Median Time to Grant
Low
PTA Risk
Based on 147 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month