Prosecution Insights
Last updated: April 19, 2026
Application No. 19/210,943

STANDING QUERY TO REACTIVE DATABASE

Non-Final OA §DP
Filed
May 16, 2025
Examiner
SHARPLESS, SAMUEL
Art Unit
2165
Tech Center
2100 — Computer Architecture & Software
Assignee
Microsoft Technology Licensing, LLC
OA Round
1 (Non-Final)
80%
Grant Probability
Favorable
1-2
OA Rounds
3y 3m
To Grant
99%
With Interview

Examiner Intelligence

Grants 80% — above average
80%
Career Allow Rate
99 granted / 123 resolved
+25.5% vs TC avg
Strong +31% interview lift
Without
With
+30.8%
Interview Lift
resolved cases with interview
Typical timeline
3y 3m
Avg Prosecution
29 currently pending
Career history
152
Total Applications
across all art units

Statute-Specific Performance

§101
13.9%
-26.1% vs TC avg
§103
52.2%
+12.2% vs TC avg
§102
20.9%
-19.1% vs TC avg
§112
7.1%
-32.9% vs TC avg
Black line = Tech Center average estimate • Based on career data from 123 resolved cases

Office Action

§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 . Specification The lengthy specification has not been checked to the extent necessary to determine the presence of all possible minor errors. Applicant’s cooperation is requested in correcting any errors of which applicant may become aware in the specification. 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-5, 11-15 and 20 are rejected on the ground of nonstatutory double patenting as being unpatentable over claim 1-3 and 5-6 of U.S. Patent No. 12,326,902. Although the claims at issue are not identical, they are not patentably distinct from each other as seen in the table below. Instant application U.S. Patent No. 12,326,902 Explanation Claim 1 1. A computing system comprising:a processor configured to:generate a binary large object (blob) representation of a reactive database;store the reactive database in the blob representation, in non-volatile storage;generate a graph representation of the reactive database from the blob representation, wherein the graph representation is a graph database in which a plurality of database entities are represented as a plurality of database nodes connected by a plurality of edges;via a reactive database application program interface (API), receive a first standing query registration input including a first standing query, wherein:the first standing query includes a first update condition and is associated with a first database entity of the plurality of database entities; and the first update condition is a condition on one or more respective values of one or more of the database entities or on a structural property of the reactive database;store the first standing query in the non-volatile storage;perform a graph representation update on the graph representation of the reactive database;determine that the graph representation update satisfies the first update condition;in response to determining that the first update condition is satisfied, execute the first standing query to perform a first state change at the first database entityof the plurality of database entities, wherein the first state change is a change to one or more values stored in the reactive database and/or to an architecture of the reactive database; andupdate the blob representation stored in the non-volatile storage based at least in part on the graph representation update and the first state change. Claim 1 1. A computing system comprising: a processor configured to: generate a binary large object (blob) representation of a reactive database from a relational representation of the reactive database; store the reactive database in the blob representation, in non-volatile storage; generate a graph representation of the reactive database from the blob representation, wherein the graph representation is a graph database in which a plurality of database entities are represented as a plurality of database nodes connected by a plurality of edges; via a reactive database application program interface (API), receive a first standing query registration input including a first standing query, wherein: the first standing query includes a first update condition and is associated with a first database entity of the plurality of database entities; and the first update condition is a condition on one or more respective values of one or more of the database entities or on a structural property of the reactive database; in response to receiving the first standing query registration input, partially evaluate the first standing query on one or more partial evaluation inputs that are stored in the reactive database and form a proper subset of a plurality of inputs of the first standing query, wherein: the one or more partial evaluation inputs are received at the processor as one or more query responses; and one or more remaining inputs of the first standing query are left unfilled when the first standing query is partially evaluated; subsequently to partially evaluating the first standing query, store the first standing query in the non-volatile storage; write data to the relational representation of the reactive database; update the blob representation stored in the non-volatile storage based at least in part on the written data; update the graph representation based at least in part on the updated blob representation; determine that the first update condition is satisfied by the written data at the graph representation of the reactive database; and in response to determining that the first update condition is satisfied, execute the partially evaluated first standing query on the remaining inputs of the first standing query to perform a first state change at the first database entity of the plurality of database entities, wherein the first state change is a change to one or more values stored in the reactive database and/or to an architecture of the reactive database. Recite very similar language and the claims are indistinguishable from each other Claim 2 2. The computing system of claim 1, wherein the processor is further configured to:via the reactive database API, receive a second standing query registration input including a second standing query, wherein:the second standing query includes a second update condition;the second update condition includes the first state change; andthe second standing query is associated with a second database entity of the plurality of database entities that is connected to the first database entity by an edge of the plurality of edges;store the second standing query in the non-volatile storage;in response to performing the first state change, determine that the second update condition is satisfied; andin response to determining that the second update condition is satisfied, execute the second standing query to perform a second state change at the second database entity. 2. The computing system of claim 1, wherein the processor is further configured to: via the reactive database API, receive a second standing query registration input including a second standing query, wherein: the second standing query includes a second update condition; the second update condition includes the first state change; and the second standing query is associated with a second database entity of the plurality of database entities that is connected to the first database entity by an edge of the plurality of edges; store the second standing query in the non-volatile storage; in response to performing the first state change, determine that the second update condition is satisfied; and in response to determining that the second update condition is satisfied, execute the second standing query to perform a second state change at the second database entity. Recite very similar language and the claims are indistinguishable from each other Claim 3 3. The computing system of claim 2, wherein:the plurality of database entities and edges of the graph representation of the reactive database have a graph structure with at least one cycle; andin response to determining that the first update condition is satisfied, the processor is configured to perform a plurality of state changes, including the first state change and the second state change, in a state change sequence that includes one or more iterations through the at least one cycle of the graph structure. Claim 3 3. The computing system of claim 2, wherein: the plurality of database entities and edges of the graph representation of the reactive database have a graph structure with at least one cycle; and in response to determining that the first update condition is satisfied, the processor is configured to perform a plurality of state changes, including the first state change and the second state change, in a state change sequence that includes one or more iterations through the at least one cycle of the graph structure. Recite very similar language and the claims are indistinguishable from each other Claim 4 4. The computing system of claim 1, wherein:the non-volatile storage is distributed between a plurality of physical non- volatile storage devices; andthe first state change is performed at the first database entity in respective quorum committed writes to the physical non-volatile storage devices in which a plurality of physical processors associated with the physical non-volatile storage devices are configured to:cast transaction votes on whether to commit transactions to perform the first state change at the reactive database; andcommit the transactions to perform the first state change at the reactive database in response to determining that a number of the physical processors greater than or equal to a predefined number vote to commit the transaction. Claim 5 5. The computing system of claim 1, wherein: the non-volatile storage is distributed between a plurality of physical non-volatile storage devices; and the written data is written to the reactive database and the first state change is performed at the first database entity in respective quorum committed writes to the physical non-volatile storage devices in which a plurality of physical processors associated with the physical non-volatile storage devices are configured to: cast transaction votes on whether to commit transactions to write the written data to the reactive database; and commit the transactions to write the written data to the reactive database in response to determining that a number of the physical processors greater than or equal to a predefined number vote to commit the transaction. Recite very similar language and the claims are indistinguishable from each other Claim 5 5. The computing system of claim1,wherein the first state change includes:generating an additional standing query associated with the first database entity;and storing the additional standing query in the non-volatile storage. Claim 6 6. The computing system of claim 1, wherein the first state change includes generating an additional standing query associated with the first database entity and storing the additional standing query in the non-volatile storage. Recite very similar language and the claims are indistinguishable from each other Claim 11 11. A method for use with a computing system, the method comprising:generating a binary large object (blob) representation of a reactive database;storing the reactive database in the blob representation, in non-volatile storage;generating a graph representation of the reactive database from the blob representation, wherein the graph representation is a graph database in which a plurality of database entities are represented as a plurality of database nodes connected by a plurality of edges;via a reactive database application program interface (API), receiving a first standing query registration input including a first standing query, wherein:the first standing query includes a first update condition and is associated with a first database entity of the plurality of database entities; andthe first update condition is a condition on one or more respective values of one or more of the database entities oron a structural property of the reactive database;storing the first standing query in the non-volatile storage; performing a graph representation update on the graph representation of the reactive database; determining that the graph representation update satisfies the first update condition;in response to determining that the first update condition is satisfied, executing the first standing query to perform a first state change at the first database entity of the plurality of database entities, wherein the first state change is a change to one or more values stored in the reactive database and/or to an architecture of the reactive database; and updating the blob representation stored in the non-volatile storage based at least in part on the graph representation update and the first state change. Claim 1 1. A computing system comprising: a processor configured to: generate a binary large object (blob) representation of a reactive database from a relational representation of the reactive database; store the reactive database in the blob representation, in non-volatile storage; generate a graph representation of the reactive database from the blob representation, wherein the graph representation is a graph database in which a plurality of database entities are represented as a plurality of database nodes connected by a plurality of edges; via a reactive database application program interface (API), receive a first standing query registration input including a first standing query, wherein: the first standing query includes a first update condition and is associated with a first database entity of the plurality of database entities; and the first update condition is a condition on one or more respective values of one or more of the database entities or on a structural property of the reactive database; in response to receiving the first standing query registration input, partially evaluate the first standing query on one or more partial evaluation inputs that are stored in the reactive database and form a proper subset of a plurality of inputs of the first standing query, wherein: the one or more partial evaluation inputs are received at the processor as one or more query responses; and one or more remaining inputs of the first standing query are left unfilled when the first standing query is partially evaluated; subsequently to partially evaluating the first standing query, store the first standing query in the non-volatile storage; write data to the relational representation of the reactive database; update the blob representation stored in the non-volatile storage based at least in part on the written data; update the graph representation based at least in part on the updated blob representation; determine that the first update condition is satisfied by the written data at the graph representation of the reactive database; and in response to determining that the first update condition is satisfied, execute the partially evaluated first standing query on the remaining inputs of the first standing query to perform a first state change at the first database entity of the plurality of database entities, wherein the first state change is a change to one or more values stored in the reactive database and/or to an architecture of the reactive database. Recite very similar language and the claims are indistinguishable from each other Claim 12 12. The method of claim 11, further comprising:via the reactive database API, receiving a second standing query registration input including a second standing query, wherein:the second standing query includes a second update condition;the second update condition includes the first state change; andthe second standing query is associated with a second database entity of the plurality of database entities that is connected to the first database entity by an edge of the plurality of edges;storing the second standing query in the non-volatile storage;in response to performing the first state change, determining that the second update condition is satisfied; andin response to determining that the second update condition is satisfied, executing the second standing query to perform a second state change at the second database entity. 2. The computing system of claim 1, wherein the processor is further configured to: via the reactive database API, receive a second standing query registration input including a second standing query, wherein: the second standing query includes a second update condition; the second update condition includes the first state change; and the second standing query is associated with a second database entity of the plurality of database entities that is connected to the first database entity by an edge of the plurality of edges; store the second standing query in the non-volatile storage; in response to performing the first state change, determine that the second update condition is satisfied; and in response to determining that the second update condition is satisfied, execute the second standing query to perform a second state change at the second database entity. Recite very similar language and the claims are indistinguishable from each other Claim 13 13. The method of claim 12, wherein:the plurality of database entities and edges of the graph representation of the reactive database have a graph structure with at least one cycle; andin response to determining that the first update condition is satisfied, the methodfurther comprises performing a plurality of state changes, including the first state change and the second state change, in a state change sequence that includes one or more iterations through the at least one cycle of the graph structure. Claim 3 3. The computing system of claim 2, wherein: the plurality of database entities and edges of the graph representation of the reactive database have a graph structure with at least one cycle; and in response to determining that the first update condition is satisfied, the processor is configured to perform a plurality of state changes, including the first state change and the second state change, in a state change sequence that includes one or more iterations through the at least one cycle of the graph structure. Recite very similar language and the claims are indistinguishable from each other Claim 14 14. The method of claim 11, wherein:the non-volatile storage is distributed between a plurality of physical non- volatile storage devices; andthe first state change is performed at the first database entity in respective quorum committed writes to the physical non-volatile storage devices, wherein the quorum committed writes each include, at a plurality of physical processors associated with the physical non-volatile storage devices:casting transaction votes on whether to commit transactions to perform the first state change at the reactive database; andcommitting the transactions to performthe first state change at the reactive database in response to determining that a number of the physical processors greater than or equal to a predefined number vote to commit the transaction. Claim 5 5. The computing system of claim 1, wherein: the non-volatile storage is distributed between a plurality of physical non-volatile storage devices; and the written data is written to the reactive database and the first state change is performed at the first database entity in respective quorum committed writes to the physical non-volatile storage devices in which a plurality of physical processors associated with the physical non-volatile storage devices are configured to: cast transaction votes on whether to commit transactions to write the written data to the reactive database; and commit the transactions to write the written data to the reactive database in response to determining that a number of the physical processors greater than or equal to a predefined number vote to commit the transaction. Recite very similar language and the claims are indistinguishable from each other Claim 15 15. The method of claim 11, wherein the first state change includes:generating an additional standing query associated with the first database entity;and storing the additional standing query in the non-volatile storage Claim 6 6. The computing system of claim 1, wherein the first state change includes generating an additional standing query associated with the first database entity and storing the additional standing query in the non-volatile storage. Recite very similar language and the claims are indistinguishable from each other Claim 20 20. A computing system comprising:a processor configured to:generate a binary large object (blob) representation of a reactive database; store the reactive database in the blob representation, in non-volatile storage distributed between a plurality of physical non-volatile storage devices; generate a graph representation of the reactive database, wherein the graph representation is a graph database in which a plurality of database entities are represented as a plurality of database nodes connected by a plurality of edges; receive a first standing query, wherein:the first standing query includes a first update condition and is associated with a first database entity of the plurality of database entities; and the first update condition is a condition on one or more respective values of one or more of the database entities or on a structural property of the reactive database;store the first standing query in the non-volatile storage; perform a graph representation update on the graph representation of the reactive database; determine that the graph representation update satisfies the first update condition; in response to determining that the first update condition is satisfied, execute the first standing query to perform a first state change at the first database entity of the plurality of database entities, wherein:the first state change is a change to one or more values stored in the reactive database and/or to an architecture of the reactive database; and the first state change is performed at the first database entity in respective quorum committed writes to the physical non-volatile storage devices inwhich a plurality of physical processors associated with the physical non-volatile storage devices are configured to:cast transaction votes on whether to commit transactions to perform the first state change at the reactive database; and commit the transactions to perform the first state change at the reactive database in response to determining that a number of the physical processors greater than or equal to a predefined number vote to commit the transaction;and update the blob representation stored in the non-volatile storage based at least in part on the graph representation update and the first state change. Claim 1 1. A computing system comprising: a processor configured to: generate a binary large object (blob) representation of a reactive database from a relational representation of the reactive database; store the reactive database in the blob representation, in non-volatile storage; generate a graph representation of the reactive database from the blob representation, wherein the graph representation is a graph database in which a plurality of database entities are represented as a plurality of database nodes connected by a plurality of edges; via a reactive database application program interface (API), receive a first standing query registration input including a first standing query, wherein: the first standing query includes a first update condition and is associated with a first database entity of the plurality of database entities; and the first update condition is a condition on one or more respective values of one or more of the database entities or on a structural property of the reactive database; in response to receiving the first standing query registration input, partially evaluate the first standing query on one or more partial evaluation inputs that are stored in the reactive database and form a proper subset of a plurality of inputs of the first standing query, wherein: the one or more partial evaluation inputs are received at the processor as one or more query responses; and one or more remaining inputs of the first standing query are left unfilled when the first standing query is partially evaluated; subsequently to partially evaluating the first standing query, store the first standing query in the non-volatile storage; write data to the relational representation of the reactive database; update the blob representation stored in the non-volatile storage based at least in part on the written data; update the graph representation based at least in part on the updated blob representation; determine that the first update condition is satisfied by the written data at the graph representation of the reactive database; and in response to determining that the first update condition is satisfied, execute the partially evaluated first standing query on the remaining inputs of the first standing query to perform a first state change at the first database entity of the plurality of database entities, wherein the first state change is a change to one or more values stored in the reactive database and/or to an architecture of the reactive database. Recite very similar language and the claims are indistinguishable from each other Allowable Subject Matter Claims 6-10 and 16-19 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. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to SAMUEL SHARPLESS whose telephone number is (571)272-1521. The examiner can normally be reached M-F 7:30 AM- 3:30 PM (ET). 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, ALEKSANDR KERZHNER can be reached at 571-270-1760. 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. /S.C.S./Examiner, Art Unit 2165 /ALEKSANDR KERZHNER/Supervisory Patent Examiner, Art Unit 2165
Read full office action

Prosecution Timeline

May 16, 2025
Application Filed
Mar 07, 2026
Non-Final Rejection — §DP (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12585614
PREDICTING OUTAGE CONDITIONS AND HANDLING ARCHIVING
2y 5m to grant Granted Mar 24, 2026
Patent 12561321
MATERIALIZED VIEW GENERATION AND PROVISION BASED ON QUERIES HAVING A SEMANTICALLY EQUIVALENT OR CONTAINMENT RELATIONSHIP
2y 5m to grant Granted Feb 24, 2026
Patent 12554717
DYNAMICALLY SUBSTITUTING A MODIFIED QUERY BASED ON PERFORMANCE ANALYSIS
2y 5m to grant Granted Feb 17, 2026
Patent 12547609
SYSTEMS AND METHODS FOR STREAMING DATA PIPELINES
2y 5m to grant Granted Feb 10, 2026
Patent 12536140
ADAPTIVE AGGREGATION AND COMPRESSION OF METADATA
2y 5m to grant Granted Jan 27, 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
80%
Grant Probability
99%
With Interview (+30.8%)
3y 3m
Median Time to Grant
Low
PTA Risk
Based on 123 resolved cases by this examiner. Grant probability derived from career allow 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