Prosecution Insights
Last updated: July 17, 2026
Application No. 18/351,453

SHARING COMPILED CODE FOR EXECUTING QUERIES ACROSS QUERY ENGINES

Final Rejection §103
Filed
Jul 12, 2023
Priority
Mar 29, 2019 — continuation of 11/853,301
Examiner
GEBRESENBET, DINKU W
Art Unit
2164
Tech Center
2100 — Computer Architecture & Software
Assignee
Amazon Technologies Inc.
OA Round
6 (Final)
71%
Grant Probability
Favorable
7-8
OA Rounds
5m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 71% — above average
71%
Career Allowance Rate
431 granted / 608 resolved
+15.9% vs TC avg
Strong +35% interview lift
Without
With
+34.9%
Interview Lift
resolved cases with interview
Typical timeline
3y 5m
Avg Prosecution
11 currently pending
Career history
619
Total Applications
across all art units

Statute-Specific Performance

§101
1.6%
-38.4% vs TC avg
§103
84.7%
+44.7% vs TC avg
§102
11.4%
-28.6% vs TC avg
§112
0.3%
-39.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 608 resolved cases

Office Action

§103
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 . Response to amendment This office action is in response to an amendment filed on March 19, 2026 in response to PTO office action dated November 19, 2025. The amendment has been entered and considered. Claims 21, 28 and 35 have been amended. Claims 1-20 have been cancelled. Claims 21-40 are pending in this office action. Applicant’s arguments with respect to the rejection of claims under 35 U.S.C. § 103(a) have been fully considered bur are moot in view of the new grounds of rejection. This action is FINAL. Claim Objections Claim 21, 28 and 35 are objected to because of the following informalities: Claim 21, line 12, the phrase “the code” is recited. However, it is not clear to what code it refers to. Previously, “uncompiled portions of code” was recited in line 7. In line 12, “the code, wherein in the code is for executing queries” is recited and is ambiguous. Similar issue exists in claims 28 and 35. Appropriate correction is required. Claims rejection 35 U.S.C. 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 of this title, 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 21-23; 28-30; 35-37 are rejected under AIA 35 U.S.C. 103 as being unpatentable over Pomponio at el. (US 20120110030 A1) in view of Post et al. (US 20070094648 A1) further in view of Subbiah (US 20160267293 A1) further in view of Silberstein (US 20170371926). Regarding claims 21, 28 and 35 Pomponio discloses one or more processors, and a memory, that stores program instructions that, when executed by the at least one processor, cause the one or more processors to implement a database service (see Pomponio paragraph [0017],, A software database system is provided that includes an automatic code analysis and self-documentation program. This program operating on a computer analyzes and fragments input code into constituent code segments and self-documents those segments. A code repository stores the code segments. A code-generating algorithm operating on a microprocessor extracts the code segments from the repository to generate a standard code page that is deployable on a server), configured to: generate, by a plurality of query engines hosted by the database service (see Pomponio paragraph [0042], administrator selects a server 12 to be the location on which the database application software will build the inventive database and related applications. It is appreciated that the administrator can designate multiple servers as the locations on which various database structure applications will reside depending on factors illustratively including organization size, organizational units, total database size and security concerns. Preferably, an administrator is provided with a list of available servers which are detected by the loaded application software through the use of conventional software controls and detection routines), uncompiled portions of code to execute different queries received at the plurality of query engines to different respective databases of database service (see Pomponio paragraph [0066],forms by which code in uncompiled form is stored and retrieved currently exist and are operative within the context of the present invention. The wholly uncompiled or partially compiled code is readily stored in a variety of formats including plain text or encrypted depending on the level of security deemed appropriate by the system manager. It is appreciated that various criteria and sequences of code storage and retrieval are applied) store the uncompiled portions of code (see Pomponio paragraph [0083], The resultant generated code 182 is retrieved to generate an application 184. The code generated by algorithm 180 is conveyed at 186 or 188 to optionally generate uncompiled code files 190 or partially compiled code 192. The code 184, 187 or 192 generated at 180 is deployed on a server. The compiled code 184 is well suited for immediate operational use. Partially compiled code 192 is optionally modified by intermediate language as is done with .NET or Java during conveyance 188) identify the stored uncompiled portions of the code …(see Pomponio paragraph [0074] The self-documentation of code at 160 uses reflection, parsing or any other means to determine the code or object references contained in the code being written and/or stored from 152, 154 or 156. Usage of the detailed documentation can be for various purposes such as display in a report, retrieval for modification or presentation in various forms in a custom designer). Post expressly disclose compile the stored uncompiled portions of the code to generate compiled versions of the code (see Post paragraph [0046], host executable code is compiled for the detected event at step 350. In one embodiment, the code is dynamically compiled for one or more instructions associated with the event. After compiling, the compiled code is placed into the code cache); and provide the compiled versions of one or more of the stored portions of the code to store in the local cache for the query engine to perform one or more subsequent queries that the query engine is likely to receive (see Post paragraph [0046], host executable code is compiled for the detected event at step 350. In one embodiment, the code is dynamically compiled for one or more instructions associated with the event. After compiling, the compiled code is placed into the code cache; see Post paragraph [0047],If compiled code associated with the detected event is available at step 330, the compiled code is placed into code cache 134 at step 370). It would have been obvious to a person of ordinary skill in art before the effective filing date of the claimed invention to incorporate the teaching of Post into the method of Pomponio to have provide the compiled versions of one or more of the stored portions of the code to store in the local cache. Here, combining Post with Pomponio, which are both related to query processing, improves Pomponio, by providing system execution plan caching schemes (see Post paragraph [0004]). Subbiah expressly discloses, detect a warming event for … local cache for a query engine (see Subbiah paragraph [0049], The storage engine (502) stores the query in a local cache of a node. The conditions engine (504) determines a change in a condition affecting a query. The conditions engine (504) may determine whether there is a change that affects a query with a key publish table that is generated by a publishing engine (510). A key generation engine (508) may generate a key in response to a changed condition and cause a row to be added to the publishing indicating the change and, in some instances, related details). It would have been obvious to a person of ordinary skill in art before the effective filing date of the claimed invention to incorporate the teaching of Subbiah into the method of Pomponio to have detect a warming event for pre-populating a local cache for a query engine. Here, combining Subbiah with Pomponio, which are both related to query processing, improves Pomponio, by providing the local cache that stores the previously executed queries and reuses these queries to save time and resources by avoiding redoing the query plan generation that was performed previously (see Subbiah paragraph [0018]). Silberstein expressly discloses… pre-populating new local cache…with the code, wherein the code is for executing queries, determined to be likely to be performed, by the query engine, but not yet received by the query engine (see Silberstein paragraphs [0072]-[0073],, the system can pre-populate a local cache with other content objects that are correlated with the received content object by obtaining a content-object recommendation (operation 508). For example, the system can obtain the content-object recommendation from the received content object itself, or from a remote network device that generated or forwarded the content object for the local client device. The content-object recommendation can indicate location-independent names for a set of other content objects that are correlated to the received content object, or can indicate interests that facilitate obtaining these content objects. [0073] To pre-populate the cache, the system selects a recommended content object from the recommendation (operation 510), and disseminates an interest for the recommended content object (operation 512). Once the system has obtained the recommended content object, the system proceeds to store the recommended content object in the local cache (operation 514). This allows the system to obtain the recommended content object from the cache if a local application submits a request for this content object in the near future, without having to disseminate an interest for the object over a content-centric network). It would have been obvious to a person of ordinary skill in art before the effective filing date of the claimed invention to incorporate the teaching of Silberstein into the method of Pomponio to have detecting a warming event for the second data store. Here, combining Silberstein with Pomponio, which are both related to query processing, improves Pomponio, by providing system that provides a data-caching system that facilitates pre-loading a cache with content objects that have been determined to be correlated with other content objects (see Silberstein paragraph [0006]). Regarding claims 22, 29 and 36 Subbiah expressly discloses wherein the warming event is detection of a different compiler used to compile code generated for performing queries at the database service and wherein the compilation of the stored portions of the code is performed using the different compiler (see Subbiah paragraph [0049], The storage engine (502) stores the query in a local cache of a node. The conditions engine (504) determines a change in a condition affecting a query. The conditions engine (504) may determine whether there is a change that affects a query with a key publish table that is generated by a publishing engine (510). A key generation engine (508) may generate a key in response to a changed condition and cause a row to be added to the publishing indicating the change and, in some instances, related details). It would have been obvious to a person of ordinary skill in art before the effective filing date of the claimed invention to incorporate the teaching of Subbiah into the method of Pomponio to have detect a warming event for pre-populating a local cache for a query engine. Here, combining Subbiah with Pomponio, which are both related to query processing, improves Pomponio, by providing the local cache that stores the previously executed queries and reuses these queries to save time and resources by avoiding redoing the query plan generation that was performed previously (see Subbiah paragraph [0018]). Regarding claims 23, 30 and 37 Subbiah wherein the warming event is detection of a different version of the query engine and wherein the compilation of the stored portions of the code is performed based on the different version of the query engine (see Subbiah paragraph [0019] the key information or the changes written to the shared memory (126) may be rewritten into the query such that the original query is transformed to reflect the current conditions that will affect the execution of the query; see Subbiah paragraph [0049], The storage engine (502) stores the query in a local cache of a node. The conditions engine (504) determines a change in a condition affecting a query. The conditions engine (504) may determine whether there is a change that affects a query with a key publish table that is generated by a publishing engine (510). A key generation engine (508) may generate a key in response to a changed condition and cause a row to be added to the publishing indicating the change and, in some instances, related details). It would have been obvious to a person of ordinary skill in art before the effective filing date of the claimed invention to incorporate the teaching of Subbiah into the method of Pomponio to have detect a warming event for pre-populating a local cache for a query engine. Here, combining Subbiah with Pomponio, which are both related to query processing, improves Pomponio, by providing the local cache that stores the previously executed queries and reuses these queries to save time and resources by avoiding redoing the query plan generation that was performed previously (see Subbiah paragraph [0018]). Claims 24-27, 31-34 and 38-40 are rejected under AIA 35 U.S.C. 103 as being unpatentable over Pomponio at el. (US 20120110030 A1) in view of Post et al. (US 20070094648 A1) further in view of Subbiah (US 20160267293 A1) further in view of Silberstein (US 20170371926) further in view of Schneider at el. (US 20120084315 B1). Regarding claims 24, 31 and 38, Schneider expressly discloses wherein the stored portions of the code are identified according to source identifiers maintained for previously compiled versions of the stored portions of the code and wherein the source identifiers are usable to locate the stored portions of code (see Schneider paragraph [0118]-[0120], database server system 240 compares the SQL text associated with the prepared SQL statement against SQL text 458 stored in SQL Statement entries 352. If the corresponding SQL text is found, database server system 240 proceeds to step 880. If not, then to step 825. [0119] At step 880, database server system 240 creates Dynamic SQL entry 342. LWP identifier 454 and LWP name 456 are copied from Statement Cache 350 into Dynamic SQL entry 342. After step 880, the Dynamic SQL Prepare process is complete and database server system 240 proceeds to step 530. [0120] However, if the SQL text is not found, database server system 240 proceeds to step 820. In steps 825-870, database server system proceeds to create the query tree for the LWP object and save the query tree in Procedure Cache 360). It would have been obvious to a person of ordinary skill in art before the effective filing date of the claimed invention to incorporate the teaching of Schneider into the method of Pomponio to have stored portions of the code that are identified according to source identifiers maintained for previously compiled versions of the stored portions of the code. Here, combining Schneider with Pomponio, which are both related to query processing, improves Pomponio, by providing systems and methods that are operable to reuse the generated query plan for clients that request an execution of the same SQL statement (see Schneider paragraph [0018]). Regarding claims 25, 32 and 39, Schneider expressly discloses wherein the database service is further configured to obtain respective query plans for the respective queries and wherein the compilation of the stored portions of the code is performed using the respective query plans (see Schneider paragraph [0058], the query plan generated by the Dynamic SQL Execute process is saved in the global memory cache, such as, Procedure Cache 360. The corresponding LWP object is saved in another global memory cache, such as, SQL Statement Cache 350. Because the query plan and the LWP object are saved in the global memory caches, database server system 240 is operable to reuse the generated query plan when it receives identical prepared SQL statements from multiple clients 210)). It would have been obvious to a person of ordinary skill in art before the effective filing date of the claimed invention to incorporate the teaching of Schneider into the method of Pomponio to have stored portions of the code that are identified according to source identifiers maintained for previously compiled versions of the stored portions of the code. Here, combining Schneider with Pomponio, which are both related to query processing, improves Pomponio, by providing systems and methods that are operable to reuse the generated query plan for clients that request an execution of the same SQL statement (see Schneider paragraph [0018]). Regarding claims 26, 33 and 40, Schneider discloses wherein the database service is further configured to store the compiled versions of the stored portions of the code in a global compiled code store (see Schneider paragraph [0118]-[0120], database server system 240 compares the SQL text associated with the prepared SQL statement against SQL text 458 stored in SQL Statement entries 352. If the corresponding SQL text is found, database server system 240 proceeds to step 880. If not, then to step 825. [0119] At step 880, database server system 240 creates Dynamic SQL entry 342. LWP identifier 454 and LWP name 456 are copied from Statement Cache 350 into Dynamic SQL entry 342. After step 880, the Dynamic SQL Prepare process is complete and database server system 240 proceeds to step 530. [0120] However, if the SQL text is not found, database server system 240 proceeds to step 820. In steps 825-870, database server system proceeds to create the query tree for the LWP object and save the query tree in Procedure Cache 360). It would have been obvious to a person of ordinary skill in art before the effective filing date of the claimed invention to incorporate the teaching of Schneider into the method of Pomponio to have stored portions of the code that are identified according to source identifiers maintained for previously compiled versions of the stored portions of the code. Here, combining Schneider with Pomponio, which are both related to query processing, improves Pomponio, by providing systems and methods that are operable to reuse the generated query plan for clients that request an execution of the same SQL statement (see Schneider paragraph [0018]). Regarding claims 27, 34 Schneider discloses (see Schneider paragraph [0070], Procedure Cache 360 also provides an Application Interface (API) to install, delete, retrieve and release query plans). Subbiah expressly discloses wherein the database service is further configured to delete one of the compiled versions from the global compiled code store according to a time-to-live value for the one compiled version (see Subbiah paragraphs [0040]-[0041], The query identification state may be set to “invalid” in the shared memory segment in an appropriate manner. When a revoke statement is issued anywhere on the system, all the shared memory segments on the system receive a notification. When the shared memory segments receive the notification, it checks to see if it has any matching query in its list. If so, the query identification state will be marked invalid. [0041] The master executor, prior to execution, checks the state of the query identification associated with the query in the shared memory segment. If the query identification state is invalid, the query is recompiled to obtain the updated privileges). It would have been obvious to a person of ordinary skill in art before the effective filing date of the claimed invention to incorporate the teaching of Subbiah into the method of Pomponio to have detect a warming event for pre-populating a local cache for a query engine. Here, combining Subbiah with Pomponio, which are both related to query processing, improves Pomponio, by providing the local cache that stores the previously executed queries and reuses these queries to save time and resources by avoiding redoing the query plan generation that was performed previously (see Subbiah paragraph [0018]). Remarks The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Szalay et al. (US 20140137124 A1) expressly discloses s a compiler configured to receive uncompiled code and generate executable code configured to execute on the processing node servers and the database servers. The operating system sub-system is configured coordinate execution of the executable code to perform as a single application with processes executing in both the processing sub-system and the database sub-system and presenting the database sub-system to processes running in the processing sub-system as a layer in a memory hierarchy of the data-intensive computer. Conclusion Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any extension fee pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to DINKU W GEBRESENBET whose telephone number is (571)270-1636. The examiner can normally be reached between 8:00AM-5:00PM. 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, Amy Ng can be reached on 571- 270-1698. 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. /DINKU W GEBRESENBET/Primary Examiner, Art Unit 2164
Read full office action

Prosecution Timeline

Show 8 earlier events
Mar 19, 2025
Response Filed
Jul 01, 2025
Final Rejection mailed — §103
Oct 01, 2025
Response after Non-Final Action
Nov 03, 2025
Request for Continued Examination
Nov 12, 2025
Response after Non-Final Action
Nov 19, 2025
Non-Final Rejection mailed — §103
Mar 19, 2026
Response Filed
Jun 22, 2026
Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12670158
UNDERSTANDING STORAGE UTILIZATION OF A CACHING SYSTEM THROUGH INCOMING TRAFFIC
2y 1m to grant Granted Jun 30, 2026
Patent 12664152
METHOD AND SYSTEM FOR DATA STORAGE AND RETRIEVAL
1y 7m to grant Granted Jun 23, 2026
Patent 12625866
SYSTEM TO DETERMINE TUPLE VALUES
2y 3m to grant Granted May 12, 2026
Patent 12619627
CENTRAL USER INTERFACE FOR ACCESSING AND UPGRADING OF DATASET INTEGRATIONS
1y 4m to grant Granted May 05, 2026
Patent 12613868
Bifurcated System for Querying Multiple Data Types
2y 1m to grant Granted Apr 28, 2026
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

7-8
Expected OA Rounds
71%
Grant Probability
99%
With Interview (+34.9%)
3y 5m (~5m remaining)
Median Time to Grant
High
PTA Risk
Based on 608 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