Office Action Predictor
Last updated: April 16, 2026
Application No. 18/952,551

SYSTEM AND METHOD FOR SCALABLE DATA PROCESSING OPERATIONS

Non-Final OA §103§DP
Filed
Nov 19, 2024
Examiner
THAI, HANH B
Art Unit
2163
Tech Center
2100 — Computer Architecture & Software
Assignee
Microsoft Technology Licensing, LLC
OA Round
1 (Non-Final)
87%
Grant Probability
Favorable
1-2
OA Rounds
2y 7m
To Grant
88%
With Interview

Examiner Intelligence

Grants 87% — above average
87%
Career Allow Rate
694 granted / 797 resolved
+32.1% vs TC avg
Minimal +1% lift
Without
With
+1.3%
Interview Lift
resolved cases with interview
Typical timeline
2y 7m
Avg Prosecution
16 currently pending
Career history
813
Total Applications
across all art units

Statute-Specific Performance

§101
23.9%
-16.1% vs TC avg
§103
41.2%
+1.2% vs TC avg
§102
9.7%
-30.3% vs TC avg
§112
5.7%
-34.3% vs TC avg
Black line = Tech Center average estimate • Based on career data from 797 resolved cases

Office Action

§103 §DP
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 . This is Non-Final Office Action in response to application filed on November 19, 2024 in which claims 1-20 are presented for examination. Information Disclosure Statement The references listed in the IDS filed on September 23, 2025 has been considered and entered into record. A copy of the signed or initialed IDS is hereby attached. Examiner Notes Examiner cites particular columns, paragraphs, figures and line numbers in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner. 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. Claims 1-20 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-20 of U.S. Patent No. US 12182117 B1. Although the claims at issue are not identical, they are not patentably distinct from each other because they are directed toward the same subject matter. All limitations and elements in claim 1 of the instant application are found in claim 1 of Emani except “a code block processing engine configured to process a sequence of statements of a code block” have been omitted. However, the library in the ‘551 invention includes operations and code blocks; therefore, they are considered substantially similar. Although the claims at issue are not identical, they are not patentably distinct from each other because they are substantially similar in scope and they use the similar limitations as showed in the Claims Comparison Table below as the claims of the cited patent teach every claims of the instant application, as such, anticipate the claims of the instant application. The motivation would have to expand the overall use of the claimed invention at no significant cost. Claims Comparison Table: Instant application #18/952551 US Patent # 12182117 Claim 1. A system, comprising: a processor circuit; and memory that stores program code structured to cause the processor circuit to: enable a library to be imported into a computer program under development, the library comprising an operation evaluator and an engine interface; and based on the importing, enable code of the library to be referenced within the computer program under development to: cause data processing operations to be included in a queue by the operation evaluator, the queue comprising a translatable portion comprising indications of data processing operations translatable to data queries and a non-translatable portion comprising indications of non-translatable data processing operations, cause the translatable data portion of the queue to be compiled into a database query by the operation evaluator, cause the engine interface to cause the database query to be executed by a database engine to generate a query result, and transmit a result dataset corresponding to the query result to an application configured to analyze the result dataset. 2. The system of claim 1, wherein the program code is further structured to cause the processor to import the library as the computer program under development is loaded by an application for developing programs. 3. The system of claim 1, wherein the program code is further structured to cause the processor to: subsequent to user interaction with a user interface, invoke the operation evaluator to cause the data processing operations to be included in the queue and cause the translatable data portion of the queue to be compiled into a database query. 4. The system of claim 1, wherein the program code is further structured to cause the processor to: enabling code to be referenced within the computer program under development to generate an expression tree comprising a database expression, and wherein the operation evaluator compiles the database expression into the database query. 5. The system of claim 1, wherein an indication of a first data processing operation in the non-translatable portion of the queue further indicates the first data processing operation is dependent on a second data processing operation, and an indication of the second data processing operation is included in the translatable portion of the queue. 6. The system of claim 5, wherein the program code is structured to cause the processor circuit to utilize the operation evaluator to determine that the first data processing operation is not translatable to a database query based on at least one of: a function of the first data processing operation not being translatable to an operator of a database query; or an argument of the first data processing operation not being translatable to an operand of a database query. 7. The system of claim 1, wherein the program code is structured to cause the processor circuit to utilize the operation evaluator to: identify, in one or more queues comprising the queue, a common indication that occurs more than a predetermined number of times; generate a common table indication corresponding to the common indication; and map the common table indication to instances of the common indication in the one or more queues. 8. The system of claim 1, wherein the program code is structured to cause the processor circuit to utilize the engine interface to process a sequence of statements of a code block, the statements comprising the data processing operations. 9. A method for processing a sequence of statements of a code block, the statements including data processing operations, the data processing operations comprising a first data processing operation and a second data processing operation, the method comprising: enabling a library to be imported into a computer program under development, the library comprising an operation evaluator and an engine interface; and based on the importing, enabling code of the library to be referenced within the computer program under development to: cause the operation evaluator to place a first indication of the first data processing operation in a translatable portion of a queue, cause the operation evaluator to place a second indication of the second data processing operation in a non-translatable portion of the queue, cause the operation evaluator to compile the translatable portion of the queue, resulting in a database query, cause the engine interface to cause the database query to be executed by a database engine, resulting in a query result, and transmit a result dataset corresponding to the query result to an application configured to analyze the result dataset. 10. The method of claim 9, wherein the library is imported as the computer program under development is loaded by an application for developing programs. 11. The method of claim 9, further comprising: subsequent to user interaction with a user interface, invoking the operation evaluator to cause the first and second data processing operations to be included in the queue and to cause the translatable portion of the queue to be compiled into the database query. 12. The method of claim 9, further comprising: enabling code to be referenced within the computer program under development to generate an expression tree comprising a database expression, and wherein the operation evaluator compiles the database expression into the database query. 13. The method of claim 9, wherein the first indication further indicates the first data processing operation is dependent on the second data processing operation. 14. The method of claim 9, further comprising determining the first data processing operation is not translatable to a database query based on at least one of: a function of the first data processing operation not being translatable to an operator of a database query; or an argument of the first data processing operation not being translatable to an operand of a database query. 15. The method of claim 9, further comprising: identifying, in one or more queues comprising the queue, a common indication that occurs more than a predetermined number of times; generating a common table indication corresponding to the common indication; and mapping the common table indication to instances of the common indication in the one or more queues. 16. A computer-readable storage medium encoded with program instructions that, when executed by a processor circuit, perform a method for processing a sequence of statements of a code block, the method comprising: enabling a library to be imported into a computer program under development, the library comprising an operation evaluator and an engine interface; and based on the importing, enabling code of the library to be referenced within the computer program under development to: cause the operation evaluator to place a first indication of the first data processing operation in a translatable portion of a queue, cause the operation evaluator to place a second indication of the second data processing operation in a non-translatable portion of the queue, cause the operation evaluator to compile the translatable portion of the queue, resulting in a database query, cause the engine interface to cause the database query to be executed by a database engine, resulting in a query result, and transmit a result dataset corresponding to the query result to an application configured to analyze the result dataset. 17. The computer-readable storage medium of claim 16, wherein the library is imported as the computer program under development is loaded by an application for developing programs. 18. The computer-readable storage medium of claim 16, the method further comprising: subsequent to user interaction with a user interface, invoking the operation evaluator to cause the first and second data processing operations to be included in the queue and to cause the translatable portion of the queue to be compiled into the database query. 19. The computer-readable storage medium of claim 16, the method further comprising: enabling code to be referenced within the computer program under development to generate an expression tree comprising a database expression, and wherein the operation evaluator compiles the database expression into the database query. Claim 1. A system, comprising: a processor circuit; and memory that stores program code executable by the processor circuit, the program code comprising: a code block processing engine configured to process a sequence of statements of a code block, the statements including data processing operations, the code block processing engine including an operation evaluator configured to: maintain a queue that includes a translatable portion comprising indications of data processing operations translatable to database queries and a non-translatable portion comprising indications of non-translatable data processing operations, determine that a first data processing operation of a first code block statement is not translatable to a database query, include an indication of the first data processing operation in the translatable portion of the queue, and responsive to a determination that a second data processing operation of a second code block statement is undeferrable, compile the translatable portion of the queue into a database query; and an engine interface configured to: cause the database query to be executed by a database engine to generate a query result; cause the first data processing operation to be executed by a data processing engine to generate a first data processing result; and transmit, to an application configured to analyze the result dataset, a result dataset corresponding to the query result and the first data processing result. 2. The system of claim 1, wherein the indication of the first data processing operation in the non-translatable portion of the queue further indicates the first data processing operation is dependent on a third data processing operation. 3. The system of claim 2, wherein an indication of the third data processing operation is included in the translatable portion of the queue. 4. The system of claim 2, wherein the operation evaluator is further configured to: generate an expression tree comprising a first database expression and a second database expression, the first database expression comprising the indication of the first data processing operation, the second database expression comprising the indication of the third data processing operation, the expression tree indicating the first database expression is dependent on the second database expression. 5. The system of claim 1, wherein the engine interface is further configured to: select a subset of data to execute the first data processing operation against; and cause the first data processing operation to be executed by the data processing engine and with respect to the selected subset of data to generate the first data processing result. 6. The system of claim 5, wherein the subset of data comprises data included in the query result. 7. The system of claim 1, wherein the operation evaluator is configured to determine that the first data processing operation is not translatable to a database query based on at least one of: a function of the first data processing operation not being translatable to an operator of a database query; or an argument of the first data processing operation not being translatable to an operand of a database query. 8. A method for processing a sequence of statements of a code block, the statements including data processing operations, the method comprising: maintaining a queue that includes a translatable portion comprising indications of data processing operations translatable to data queries and a non-translatable portion comprising indications of non-translatable data processing operations; determining that a first data processing operation of a first code block statement is not translatable to a database query; including an indication of the first data processing operation in the non-translatable portion of the queue; responsive to a determination that a second data processing operation of a second code block statement is undeferrable, compiling the translatable portion of the queue into a database query; causing the database query to be executed by a database engine to generate a query result; causing the first data processing operation to be executed by a data processing engine to generate a first data processing result; and transmitting, to an application configured to analyze the result dataset, a result dataset corresponding to the query result and the first data processing result. 9. The method of claim 8, wherein the indication of the first data processing operation in the non-translatable portion of the queue further indicates the first data processing operation is dependent on a third data processing operation. 10. The method of claim 9, wherein an indication of the third data processing operation is included in the translatable portion of the queue. 11. The method of claim 8, further comprising: generating an expression tree comprising a first database expression and a second database expression, the first database expression comprising the indication of the first data processing operation, the second database expression comprising the indication of the third data processing operation, the expression tree indicating the first database expression is dependent on the second database expression. 12. The method of claim 8, further comprising: selecting a subset of data to execute the first data processing operation against; and causing the first data processing operation to be executed by the data processing engine and with respect to the selected subset of data to generate the first data processing result. 13. The method of claim 12, wherein the subset of data comprises data included in the query result. 14. The method of claim 8, wherein said determining that the first data processing operation is not translatable to a database query is based on at least one of: a function of the first data processing operation not being translatable to an operator of a database query; or an argument of the first data processing operation not being translatable to an operand of a database query. 15. A computer-readable storage medium encoded with program instructions that, when executed by a processor circuit, perform a method for processing a sequence of statements of a code block, the method comprising: maintaining a queue that includes a translatable portion comprising indications of data processing operations translatable to data queries and a non-translatable portion comprising indications of non-translatable data processing operations; determining that a first data processing operation of a first code block statement is not translatable to a database query; including an indication of the first data processing operation in the non-translatable portion of the queue; responsive to a determination that a second data processing operation of a second code block statement is undeferrable, compiling the translatable portion of the queue into a database query; causing the database query to be executed by a database engine to generate a query result; causing the first data processing operation to be executed by a data processing engine to generate a first data processing result; and transmitting, to an application configured to analyze the result dataset, a result dataset corresponding to the query result and the first data processing result. 16. The computer-readable storage medium of claim 15, wherein the indication of the first data processing operation in the non-translatable portion of the queue further indicates the first data processing operation is dependent on a third data processing operation. 17. The computer-readable storage medium of claim 16, wherein an indication of the third data processing operation is included in the translatable portion of the queue. 18. The computer-readable storage medium of claim 15, the method further comprising: generating an expression tree comprising a first database expression and a second database expression, the first database expression comprising the indication of the first data processing operation, the second database expression comprising the indication of the third data processing operation, the expression tree indicating the first database expression is dependent on the second database expression. 19. The computer-readable storage medium of claim 15, the method further comprising: selecting a subset of data to execute the first data processing operation against; and causing the first data processing operation to be executed by the data processing engine and with respect to the selected subset of data to generate the first data processing result. 20. The computer-readable storage medium of claim 19, wherein the subset of data comprises data included in the query result. 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. Claims 1-20 are rejected under 35 U.S.C. 103 as being unpatentable over Kadiyala et al. “Applications of Python to Evaluate Environmental Data Science Problems” in view of Brossard et al. (US 11726976 B1). Regarding claim 1, Kadiyala discloses a system, comprising: a processor circuit; and memory that stores program code structured to cause the processor circuit to: enable a library (page 1580, col. 1, Kadiyala, i.e. Python machine learning library package) to be imported into a computer program under development (page 1582, col. 1-2, Kadiyala, i.e. “…there are multiple methods of importing different types of data into the Spyder IDE for use with Scikit-learn…Type in the following commands in the Spyder Editor file to import the data from b20yesCO2.csv file. Type in command 8 to initiate the pandas as pd. All the subsequent references to “pd” in the Python code call on the pandas package functions, for example “import pandas as pd”), the library comprising an operation evaluator and an engine interface (Title and page 1582, col. 2, Kadiyala, i.e. The Python language was created to serve as a successor to the programing language handled and interfaced); and based on the importing (pages 1581- 1582, i.e., importing data), enable code of the library to be referenced within the computer program under development to: cause data processing operations to be included in a queue by the operation evaluator (page 1582, col. 1-2 “…Type in command 8 to initiate the pandas as pd. All the subsequent references to “pd” in the Python code will call on the pandas package functions for evaluation, wherein the input data from b20yesCO2.csv data is then imported as a DataFrame and assigned to the variable named “data” by using command 9), the queue comprising a translatable portion comprising indications of data processing operations translatable to data queries (page 1582, col. 1-2 “…b20yesCO2.csv data is then imported as a DataFrame and assigned to the variable named “data” subsequent references to pd in the Python code call on the pandas package functions, the input data from b20yesCO2.csv data is then imported as a DataFrame and assigned to the variable named “data” corresponding to “…operations translatable to data queries) and a non-translatable portion comprising indications of non-translatable data processing operations (page 1582, col. 1-2 “..in the absence of the input .csv file not being located within the working directory corresponding to “non-translatable data processing operations) cause the translatable data portion of the queue to be compiled into a database query by the operation evaluator (page 1582, col. 1-2), cause the engine interface to cause the database query to be executed by a database engine to generate a query result (page 1582, col. 1-2, The output “query result” from running the commands may be seen in the IPython console window of Spyder application launched in Anaconda with the three integrated panes: Editor pane for coding, variable Explorer pane for referring to the data formats, and the TPython console pane that provides programming output). Kadiyala, however, does not explicitly disclose data portion of the queue to be compiled into a database query and transmit a result dataset corresponding to the query result to an application configured to analyze the result dataset. Brossard discloses translatable data portion of the queue to be compiled into a database query (col.10, lines 25-53, Brossard, i.e., job compiler parses a job into multiple tasks and generates the execution code “query” for each of the multiple tasks and generating query plan for executing received queries read on the claimed “translatable data portion of the queue to be compiled into a database query”) and transmit a result dataset corresponding to the query result to an application configured to analyze the result dataset (col.10, lines 25-53 and col. 22, line 32 to col.23, line 31, Brossard, i.e., return values list reflects how SQL argument is encoded as a Pandas array of a particular dtype). It would have been obvious to a person having ordinary skill in the art before the effective filing date, having both Kadiyala and Brossard before them to compile multiple tasks into query as taught by Brossard for enhancing the execution’s query speed of Brossard. Because both Kadiyala and Brossard teach method for processing query operations, it would have been obvious to one skilled in the art to substitute one known method for the other to improve the speed and efficiency of executing query (col.10, lines 25-36, Brossard). Regarding claim 2, Kadiyala/Brossard combination discloses wherein the program code is further structured to cause the processor to import the library as the computer program under development is loaded by an application for developing programs (page 1582, col. 1-2, Kadiyala). Regarding claim 3, Kadiyala/Brossard combination discloses wherein the program code is further structured to cause the processor to: subsequent to user interaction with a user interface (page 1582, col. 1-2, Kadiyala), invoke the operation evaluator to cause the data processing operations to be included in the queue and cause the translatable data portion of the queue to be compiled into a database query (col.10, lines 25-36, Brossard). Regarding claim 4, Kadiyala/Brossard combination discloses wherein the program code is further structured to cause the processor to: enabling code to be referenced within the computer program under development to generate an expression tree comprising a database expression, and wherein the operation evaluator compiles the database expression into the database query (col.10, lines 25-36 and col. 22, line 32 to col.23, line 31, Brossard). Regarding claim 5, Kadiyala/Brossard combination discloses wherein an indication of a first data processing operation in the non-translatable portion of the queue further indicates the first data processing operation is dependent on a second data processing operation, and an indication of the second data processing operation is included in the translatable portion of the queue (col.4, line 4 to col.5, line 18, Brossard). Regarding claim 6, Kadiyala/Brossard combination discloses a function of the first data processing operation not being translatable to an operator of a database query; or an argument of the first data processing operation not being translatable to an operand of a database query (page 1582, col. 1-2 “..in the absence of the input .csv file not being located within the working directory). Regarding claim 8, Kadiyala/Brossard combination discloses wherein the program code is structured to cause the processor circuit to utilize the engine interface to process a sequence of statements of a code block, the statements comprising the data processing operations (page 1582, col. 1-2 “…Type in command 8 to initiate the pandas as pd. All the subsequent references to “pd” in the Python code will call on the pandas package functions for evaluation, wherein the input data from b20yesCO2.csv data is then imported as a DataFrame). Regarding claim 9, Kadiyala discloses a method for processing a sequence of statements of a code block, the statements including data processing operations (page 1582, col. 1-2, Kadiyala), the data processing operations comprising a first data processing operation and a second data processing operation, the method comprising: enabling a library to be imported into a computer program under development (page 1582, col. 1-2, Kadiyala, i.e. “…there are multiple methods of importing different types of data into the Spyder IDE for use with Scikit-learn…Type in the following commands in the Spyder Editor file to import the data from b20yesCO2.csv file. Type in command 8 to initiate the pandas as pd. All the subsequent references to “pd” in the Python code call on the pandas package functions, for example “import pandas as pd”), the library comprising an operation evaluator and an engine interface (Title and page 1582, col. 2, Kadiyala, i.e. The Python language was created to serve as a successor to the programing language handled and interfaced); and based on the importing (pages 1581- 1582, i.e., importing data), enabling code of the library to be referenced within the computer program under development to: cause the operation evaluator to place a first indication of the first data processing operation in a translatable portion of a queue (page 1582, col. 1-2 “…b20yesCO2.csv data is then imported as a DataFrame and assigned to the variable named “data” subsequent references to pd in the Python code call on the pandas package functions, the input data from b20yesCO2.csv data is then imported as a DataFrame and assigned to the variable named “data” corresponding to “…operations translatable to data queries), cause the operation evaluator to place a second indication of the second data processing operation in a non-translatable portion of the queue (page 1582, col. 1-2 “..in the absence of the input .csv file not being located within the working directory corresponding to “non-translatable data processing operations), cause the operation evaluator to compile the translatable portion of the queue (page 1582, col. 1-2), resulting in a database query, cause the engine interface to cause the database query to be executed by a database engine, resulting in a query result(page 1582, col. 1-2, The output “query result” from running the commands may be seen in the IPython console window of Spyder application launched in Anaconda with the three integrated panes: Editor pane for coding, variable Explorer pane for referring to the data formats, and the TPython console pane that provides programming output). Kadiyala, however, does not explicitly disclose data portion of the queue to be compiled into a database query and transmit a result dataset corresponding to the query result to an application configured to analyze the result dataset. Brossard discloses translatable data portion of the queue to be compiled into a database query (col.10, lines 25-53, Brossard, i.e., job compiler parses a job into multiple tasks and generates the execution code “query” for each of the multiple tasks and generating query plan for executing received queries read on the claimed “translatable data portion of the queue to be compiled into a database query”) and transmit a result dataset corresponding to the query result to an application configured to analyze the result dataset (col.10, lines 25-53 and col. 22, line 32 to col.23, line 31, Brossard, i.e., return values list reflects how SQL argument is encoded as a Pandas array of a particular dtype). It would have been obvious to a person having ordinary skill in the art before the effective filing date, having both Kadiyala and Brossard before them to compile multiple tasks into query as taught by Brossard for enhancing the execution’s query speed of Brossard. Because both Kadiyala and Brossard teach method for processing query operations, it would have been obvious to one skilled in the art to substitute one known method for the other to improve the speed and efficiency of executing query (col.10, lines 25-36, Brossard). Regarding claim 10, Kadiyala/Brossard combination discloses wherein the library is imported as the computer program under development is loaded by an application for developing programs (pages 1581- 1582, Kadiyala). Regarding claim 11, Kadiyala/Brossard combination discloses subsequent to user interaction with a user interface (page 1582, col. 1-2, Kadiyala), invoke the operation evaluator to cause the data processing operations to be included in the queue and cause the translatable data portion of the queue to be compiled into a database query (col.10, lines 25-36, Brossard). Regarding claim 12, Kadiyala/Brossard combination discloses enabling code to be referenced within the computer program under development to generate an expression tree comprising a database expression, and wherein the operation evaluator compiles the database expression into the database query (col.10, lines 25-36 and col. 22, line 32 to col.23, line 31, Brossard). Regarding claim 13, Kadiyala/Brossard combination discloses wherein the first indication further indicates the first data processing operation is dependent on the second data processing operation (col.4, line 4 to col.5, line 18, Brossard). Regarding claim 14, Kadiyala/Brossard combination discloses determining the first data processing operation is not translatable to a database query based on at least one of: a function of the first data processing operation not being translatable to an operator of a database query; or an argument of the first data processing operation not being translatable to an operand of a database query (page 1582, col. 1-2 “..in the absence of the input .csv file not being located within the working directory). Regarding claim 16, Kadiyala discloses a computer-readable storage medium encoded with program instructions that, when executed by a processor circuit, perform a method for processing a sequence of statements of a code block, the method comprising: enabling a library to be imported into a computer program under development (page 1582, col. 1-2, Kadiyala, i.e. “…there are multiple methods of importing different types of data into the Spyder IDE for use with Scikit-learn…Type in the following commands in the Spyder Editor file to import the data from b20yesCO2.csv file. Type in command 8 to initiate the pandas as pd. All the subsequent references to “pd” in the Python code call on the pandas package functions, for example “import pandas as pd”), the library comprising an operation evaluator and an engine interface (Title and page 1582, col. 2, Kadiyala, i.e. The Python language was created to serve as a successor to the programing language handled and interfaced); and based on the importing (pages 1581- 1582, i.e., importing data), enabling code of the library to be referenced within the computer program under development to: cause the operation evaluator to place a first indication of the first data processing operation in a translatable portion of a queue, cause the operation evaluator to place a second indication of the second data processing operation in a non-translatable portion of the queue (page 1582, col. 1-2 “..in the absence of the input .csv file not being located within the working directory corresponding to “non-translatable data processing operations), cause the operation evaluator to compile the translatable portion of the queue (page 1582, col. 1-2), resulting in a database query, cause the engine interface to cause the database query to be executed by a database engine, resulting in a query result(page 1582, col. 1-2, The output “query result” from running the commands may be seen in the IPython console window of Spyder application launched in Anaconda with the three integrated panes: Editor pane for coding, variable Explorer pane for referring to the data formats, and the TPython console pane that provides programming output). Kadiyala, however, does not explicitly disclose data portion of the queue to be compiled into a database query and transmit a result dataset corresponding to the query result to an application configured to analyze the result dataset. Brossard discloses translatable data portion of the queue to be compiled into a database query (col.10, lines 25-53, Brossard, i.e., job compiler parses a job into multiple tasks and generates the execution code “query” for each of the multiple tasks and generating query plan for executing received queries read on the claimed “translatable data portion of the queue to be compiled into a database query”) and transmit a result dataset corresponding to the query result to an application configured to analyze the result dataset (col.10, lines 25-53 and col. 22, line 32 to col.23, line 31, Brossard, i.e., return values list reflects how SQL argument is encoded as a Pandas array of a particular dtype). It would have been obvious to a person having ordinary skill in the art before the effective filing date, having both Kadiyala and Brossard before them to compile multiple tasks into query as taught by Brossard for enhancing the execution’s query speed of Brossard. Because both Kadiyala and Brossard teach method for processing query operations, it would have been obvious to one skilled in the art to substitute one known method for the other to improve the speed and efficiency of executing query (col.10, lines 25-36, Brossard). Regarding claim 17, Kadiyala/Brossard combination discloses wherein the library is imported as the computer program under development is loaded by an application for developing programs (pages 1581- 1582, Kadiyala). Regarding claim 18, Kadiyala/Brossard combination discloses subsequent to user interaction with a user interface (page 1582, col. 1-2, Kadiyala), invoke the operation evaluator to cause the data processing operations to be included in the queue and cause the translatable data portion of the queue to be compiled into a database query (col.10, lines 25-36, Brossard). Regarding claim 19, Kadiyala/Brossard combination discloses enabling code to be referenced within the computer program under development to generate an expression tree comprising a database expression, and wherein the operation evaluator compiles the database expression into the database query (col.10, lines 25-36 and col. 22, line 32 to col.23, line 31, Brossard). Allowable Subject Matter Claims 7, 15 and 20 are 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. Regarding claim 7, similar claim 15 and claim 20, Kadiyala/Brossard combination discloses all of the claimed limitations as discussed above, except identify, in one or more queues comprising the queue, a common indication that occurs more than a predetermined number of times; generate a common table indication corresponding to the common indication; and map the common table indication to instances of the common indication in the one or more queues. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Pandas et al. (US 11853301 B1) disclose compiled portions of code generated to perform a query plan at a query engine is shared with other query engines. A data store, separate from the query engines, is store compiled portions of query code generated for different queries. If a query engine does not have a locally stored compiled portion of query code, then the separate data store may be accessed in order to obtain a compiled portion of query code, allowing reuse of compiled query code across different queries engines for queries directed to different databases (Fig.7; abstract, and col.8, lines 19-53, Pandas). Waas et al. (US 11625414 B2) disclose transparent interoperability between applications and data management system including code block processing comprising operation evaluator (col.5, line58 to col.6, line 63, Waas) and translating code block statement to database query (col.18, lines 9-22, Waas). Tempero et al. (US 20160342645 A1) disclose efficient storage using automatic data translation that automatically translates data as it passes between certain applications, specifically, an automatic data translation module (ADTM) receives a first particular format of data from a first application (abstract and ¶[0027]-[0028], Tempero) and automatically/transparently converts the first particular format of data into another representation of the same data, but in a second format utilized by a recipient application (¶[0027]-[0028], [0039]-[0040] and [0048], Tempero). Ikeda et al. (S 20060056413 A1) disclose methods and systems for efficient queue propagation using a single protocol-based remote procedure call to stream a batch of messages. Bireley et al. (US 20080319959 A1) disclose GENERATING INFORMATION ON DATABASE QUERIES IN SOURCE CODE INTO OBJECT CODE COMPILED FROM THE SOURCE CODE. Hrle et al. (US 20160110439 A1) disclose DATABASE MANAGEMENT SYSTEM AND METHOD OF OPERATION. Jahankhani (US 20160117364 A1) discloses GENERATING IMPERATIVE-LANGUAGE QUERY CODE FROM DECLARATIVE-LANGUAGE QUERY CODE. Kondiles et al. (US 20210303570 A1) disclose FACILITATING QUERY EXECUTIONS VIA DYNAMIC DATA BLOCK ROUTING. Argon et al. (US 20140282587 A1) disclose multi-core binary translation task processing. Fallon (US 9298871 B1) discloses method and system for implementing transactions of parameterized cells. Kogan et al. (US 20160092265 A1) disclose systems and methods for utilizing futures for constructing scalable shared data structures. Perez (US 20190122139 A1) discloses system and method for generating SQL support for tree ensemble classifiers. Bertoldi et al. (US 20200073947 A1) disclose translation system and method. Danivas et al. (US 20220182331 A1) disclose methods and systems for adaptive network quality of service for latency critical applications. Any inquiry concerning this communication or earlier communications from the examiner should be directed to HANH B THAI whose telephone number is (571)272-4029. The examiner can normally be reached Mon-Friday 7-4:30. 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, Tony Mahmoudi can be reached at 571-272-4078. 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. /HANH B THAI/Primary Examiner, Art Unit 2163 October 29, 2025
Read full office action

Prosecution Timeline

Nov 19, 2024
Application Filed
Oct 31, 2025
Non-Final Rejection — §103, §DP
Mar 18, 2026
Interview Requested
Mar 24, 2026
Examiner Interview Summary
Mar 24, 2026
Examiner Interview (Telephonic)
Apr 02, 2026
Response Filed

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12596709
MACHINE LEARNING RECOLLECTION AS PART OF QUESTION ANSWERING USING A CORPUS
2y 5m to grant Granted Apr 07, 2026
Patent 12561391
METHODS AND SYSTEMS FOR PRESENTING USER INTERFACES TO RENDER MULTIPLE DOCUMENTS
2y 5m to grant Granted Feb 24, 2026
Patent 12561296
INTUITIVE DATA FLOW (IDF)
2y 5m to grant Granted Feb 24, 2026
Patent 12547400
CATALOG FOR MANAGING MODULAR CODE
2y 5m to grant Granted Feb 10, 2026
Patent 12541529
EFFICIENT EXTRACTION OF PROVENANCE INFORMATION FROM DATABASE QUERY EXECUTION LOGS
2y 5m to grant Granted Feb 03, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

1-2
Expected OA Rounds
87%
Grant Probability
88%
With Interview (+1.3%)
2y 7m
Median Time to Grant
Low
PTA Risk
Based on 797 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in for Full Analysis

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

Free tier: 3 strategy analyses per month