Prosecution Insights
Last updated: May 29, 2026
Application No. 18/216,130

STATE-AWARE CONTINUOUS INTEGRATION

Non-Final OA §103
Filed
Jun 29, 2023
Examiner
PAN, HANG
Art Unit
2193
Tech Center
2100 — Computer Architecture & Software
Assignee
Red Hat Inc.
OA Round
3 (Non-Final)
74%
Grant Probability
Favorable
3-4
OA Rounds
4m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 74% — above average
74%
Career Allowance Rate
473 granted / 635 resolved
+19.5% vs TC avg
Strong +26% interview lift
Without
With
+25.8%
Interview Lift
resolved cases with interview
Typical timeline
3y 3m
Avg Prosecution
20 currently pending
Career history
663
Total Applications
across all art units

Statute-Specific Performance

§101
3.4%
-36.6% vs TC avg
§103
91.8%
+51.8% vs TC avg
§102
2.2%
-37.8% vs TC avg
§112
1.5%
-38.5% vs TC avg
Black line = Tech Center average estimate • Based on career data from 635 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 . This office action is in response to applicant’s RCE filed on 01/22/2026. Claims 1-7 and 14-26 are pending and examined. Claims 8-13 have been cancelled. Claims 21-26 are newly added. Response to Arguments Per 103 rejection, applicant’s arguments filed on 01/22/2026 have been fully considered. However, the claims are rejected under new grounds of rejection with a new reference applied (Tsirkin). 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-6, 14-19, 21-26 are rejected under 35 U.S.C. 103 as being unpatentable over Ho (US PGPUB 2004/0088694), in view of Wang et al. (US PGPUB 2022/0027187) hereinafter Wang, in view of Reiss et al. (US PGPUB 2013/0104114) hereinafter Reiss, in view of Tsirkin (US PGPUB 2015/0248237). Per claim 1, Ho discloses a method, comprising: receiving, at a server from a first worker node, a committed update to an image stored in a central image pool, the central image pool accessible by a plurality of worker nodes to contemporaneously operate on one or more states of the image, wherein the plurality of worker nodes includes the first worker node; adding the committed update as a new state for the image to the central image pool, the new state having a dependency to a baseline state of the image that is modified based on the committed update (claims 7, 18; paragraphs [0027][0055]-[0057][0060][0061]; storing a base image of the program in a repository, the repository may be a centralized storage location in the memory of a server accessible to users (a central image pool accessible by a plurality of worker nodes); different users can operate on different states of an image concurrently; after a patch (a committed update) has been applied, the patch is copied to the repository, the repository may be used to store multiple versions of base images (e.g. 1.4.1, 1.4.2, 1.5) and multiple versions of patches (e.g. 1.4.1—01, 1.4.2—03); the user device receives an updating patch, the installed patch is replaced with the updating patch, an updated program is created by combining the base image and the updating patch (i.e. the new state having a dependency to a baseline state of the image that is modified based on the committed update); “updating a structure for the image to include the new state (claims 7, 18; paragraphs [0027][0055]-[0057]; updating a registry with information about the updated program; the update provides system wide information with knowledge of the updated program, so the system will be aware of the version of the new software instead of thinking it is still an old version (i.e. the registry is updated to reflect the new version/baseline state, which replaced the old version/baseline state); paragraph [0060]; the registry stores locations/dependencies of different applications; the repository may store multiple versions of base images (e.g. 1.4.1, 1.4.2, 1.5) and multiple versions of patches (e.g. 1.4.1—01, 1.4.2—03), when a particular version of the base image or patch is retrieved, the system will look up the proper version from the repository). Ho discloses updating a structure for the image to include the new state, Ho does not explicitly teach updating a structure for the image to include the new state with the dependency that links the new state to the baseline state associated with a first namespace, wherein updating the structure to include the new state comprises generating a copy of the baseline state that corresponds to a second namespace branching from the first namespace of the baseline state. However, Wang suggests the above (Fig. 2A; paragraphs [0015][0023][0024]; creating a snapshot tree that stores different versions of an application snapshot; different versions (states) of a snapshot are added to the tree, comprising cloning a copy of a baseline snapshot (snapshot 225-7 is a copy of snapshot 225-3, they have different namespaces), a new snapshot 225-8 is linked (dependency) to the baseline snapshot 225-7; the snapshot 225-8 represents a new state of the snapshot). Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Ho and Reiss to utilize a snapshot tree to represent different versions (states) of an application snapshot, as it provides easy storage and retrieval of different versions of an application image. Ho does not explicitly teach publishing the structure to the plurality of worker nodes to indicate that the new state is available for use in developing the image as a candidate baseline state. However, Reiss suggests publishing the structure to the plurality of worker nodes to indicate that the new state is available for use in developing the image as a candidate baseline state (paragraphs [0023][0024]; after a system is updated with a new version of software (a new baseline), a message regarding the new version of the software may be broadcast throughout the network, identifying the new version of the software notifying client devices of its availability (i.e. publishing the information of the new version of the software to worker nodes to indicate the new version is available for use as a candidate baseline state)). Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Ho, Wang and Reiss that after a system is updated with a new version of software, the information about the new version of the software may be published to other nodes in a network, so the other nodes can also be updated with the latest version (baseline) of the software (which facilitates management and maintenance of software versions in a network environment). Ho does not explicitly teach receiving a read operation and a write operation to access the baseline state, the write operation associated with the first worker node; and performing the read operation on the baseline state and the write operation on the copy of the baseline state. However, Tsirkin suggests the above (paragraphs [0030][0031]; different tasks (nodes) can have read access to a shared memory page (i.e. read operation by a first node on baseline state), if a task requests write access to the shared memory page, a memory manager performs a copy-on-write operation by (1) creating a new copy of the memory page, (2) adjusting permissions of the new copy of the memory page to make it writable, and (3) modifying memory mappings to allow the task (first node) to write to the new copy of the memory page). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Ho, Wang, Reiss and Tsirkin to allow read access to a baseline state by a worker node, and to use a copy-on-write on a baseline state for a write request by the worker node; the allows a task accessing a shared memory page to update a new, writeable copy of the memory page while other tasks continue sharing the original memory page (Tsirkin, paragraph [0031]; i.e. allowing concurrently access for a shared resource). Per claim 2, Ho further suggests wherein the dependency is a first dependency of a first new state, and receiving, at the server from a second worker node, a second committed update to the image stored in the central image pool accessible by the plurality of worker nodes that includes the second worker node; adding the second committed update as a second new state for the image to the central image pool wherein the second new state has a second dependency to a second baseline state that is modified based on the second committed update; updating the structure for the image according to the second dependency that links the second new state to the second baseline state (claim 7; paragraph [0027][0055]-[0057]; storing a base image of the program a repository, the repository may be, a centralized storage location in the memory of a server accessible to users (a central image pool accessible by a second worker node); receiving a second update to a base image; determine if a second baseline exists for the second update (determine a second baseline image dependent on the second update), retrieve the second baseline image; combining the second base image with the second updating patch to create a second updated program; replacing the installed program with the second updated program (adding the second updated program as a second new state for the image); updating a registry with information about the second updated program; the update provides system wide information with knowledge of the second updated program, so the system will be aware of the version of the new software instead of thinking it is still an old version (i.e. the registry is updated to reflect the new version/baseline state, which replaced the old version/baseline state); paragraph [0060]; the registry stores locations/dependencies of different applications; the repository may store multiple versions of base images (e.g. 1.4.1, 1.4.2, 1.5) and multiple versions of patches (e.g. 1.4.1—01, 1.4.2—03), when a particular version of the base image or patch is retrieved, the system will look up the proper version from the repository). Wang also suggests wherein the dependency is a first dependency of a first new state, and receiving, a second committed update to the image stored; adding the committed update as a second new state for the image to the central image pool wherein the second new state has a second dependency to a second baseline state that is modified based on the committed update; updating the structure for the image according to the second dependency that links the second new state to the second baseline state (Fig. 2A; paragraphs [0015][0023][0024]; creating a snapshot tree that stores different versions of an application snapshot; different versions (states) of a snapshot are added to the tree, snapshot 225-8 is the first committed update with dependency to baseline snapshot 225-7; snapshot 225-14 is the second committed update with dependency to baseline snapshot 225-13; snapshot 225-14 contains changes that modify the baseline snapshot 225-13). Reiss further suggests publishing the structure to the plurality of worker nodes to indicate that the second new state is available for use in developing the image as a second candidate baseline state (paragraphs [0023][0024]; after a system is updated with a new version of software (a second new baseline), a message regarding the new version of the software may be broadcast throughout the network, identifying the new version of the software notifying client devices of its availability (i.e. publishing the information of the new version of the software to worker nodes to indicate the new version is available for use as a second candidate baseline state)). Per claim 3, Ho further suggests wherein the second baseline state used by the second worker node is the new state submitted from the first worker node as the candidate baseline state (paragraphs [0028][0053]-[0056]; the base image may be used to generate multiple versions of a program stored in different locations on the same system, a user may utilize different versions of the program; the current default image may be defined by a registry; the base image is then combined with the new patch to generate an updated program that replaces the previous version of the program; (i.e. the first update (new state) from a first worker node is used to generate a new version of the application, which becomes a new (second) baseline (default image), for use for another node (second worker node)). Per claim 4, Ho further suggests wherein the structure is a tree structure, defining at least two branches from the baseline state, and wherein updating the structure further comprises: positioning the new state in the tree structure relative to one or more existing states of the image to indicate a respective relationship between the new state and the one or more existing states (paragraphs [0028][0053]-[0056]; the base image may be used to generate multiple versions of a program stored in different locations on the same system, multiple versions may exist in a system; the registry stores the information of different application images and patch versions; the current default image may be defined by a registry; paragraph [0060]; the registry stores locations/dependencies of different applications; the repository may store multiple versions of base images (e.g. 1.4.1, 1.4.2, 1.5) and multiple versions of patches (e.g. 1.4.1—01, 1.4.2—03), when a particular version of the base image or patch is retrieved, the system will look up the proper version from the repository; (i.e. a registry is a tree structure storing patches (update) info and version (baseline) info of an application, and storing their relationships; this is evidenced in Busayarat et al. (US PGPUB 2017/0177333), Fig. 3; claim 1; software versions stored in a tree structure showing their relationships)). Per claim 5, Ho further suggests wherein the baseline state is an intermediate state that includes dependencies to at least one earlier state in the structure (paragraphs [0028][0053]-[0056]; the base image may be used to generate multiple versions of a program stored in different locations on the same system, multiple versions may exist in a system; the registry stores the information of different application images and patch versions; the current default image may be defined by a registry (i.e. a new baseline is created by combining an old baseline + an update, the new baseline is an intermediate state because it can be combined a another update to create a newer version of the baseline)). Per claim 6, Ho further suggests wherein the baseline state includes at least one build previously submitted to the central image pool by a particular worker node of the plurality of worker nodes, other than the first worker node (paragraphs [0027][0028][0053]-[0056]; storing a base image of the program a repository, the repository may be, a centralized storage location in the memory of a server accessible to different users; the base image (one build previously submitted) is then combined with the new patch to generate an updated program that replaces the previous version of the program; the current default image may be defined by a registry (i.e. a new baseline is created by combining an old baseline + an update, the old base line was created when another node submitted a build (update) at an earlier time); since different users can access the images stored in the repository, it would have been obvious one user can submit a version of the application, another user can submit another version of the application). Claims 14-19 recite a system that performs the method of claims 1-6. Therefore, claims 14-19 are rejected under similar rationales as claims 1-6. Claims 21-26 recite computer code stored in a medium that performs the method of claims 1-6. Therefore, claims 21-26 are rejected under similar rationales as claims 1-6. Claims 7 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Ho, in view of Wang, in view of Reiss, in view of Tsirkin, and in view of Mitchell et al. (US PGPUB 2018/0365133) hereinafter Mitchell. Per claim 7, Ho disclosing submitting updates on a server, but does not explicitly teach the server is a continuous integration server. However, Mitchell suggests the above (paragraph [0023]; submitting updates to an application in a continuous integration environment). Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Ho, Wang, Reiss, Tsirkin and Mitchell to submitting updates in a continuous integration environment, which periodically performs integration tests on the server to detect and fix errors in the updates. Claim 20 is rejected under similar rationales as claim 7. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to HANG PAN whose telephone number is (571)270-7667. The examiner can normally be reached 9 AM to 5 PM. 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, Chat Do can be reached at 571-272-3721. 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. /HANG PAN/Primary Examiner, Art Unit 2193
Read full office action

Prosecution Timeline

Show 1 earlier event
Jun 24, 2025
Non-Final Rejection mailed — §103
Sep 10, 2025
Applicant Interview (Telephonic)
Sep 10, 2025
Examiner Interview Summary
Sep 20, 2025
Response Filed
Oct 23, 2025
Final Rejection mailed — §103
Jan 22, 2026
Request for Continued Examination
Jan 29, 2026
Response after Non-Final Action
May 07, 2026
Non-Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12639200
AUTOMATED TRACKING OF CONSISTENT SOFTWARE TEST FAILURES
2y 4m to grant Granted May 26, 2026
Patent 12639192
AN INTEGRATED AI-DRIVEN SYSTEM FOR AUTOMATING IT AND CYBERSECURITY OPERATIONS
9m to grant Granted May 26, 2026
Patent 12619518
AUTOMATED ROOT CAUSE IDENTIFICATION USING DATA FLOW ANALYSIS OF PLURAL EXECUTION TRACES
1y 10m to grant Granted May 05, 2026
Patent 12613694
SYSTEM AND METHOD FOR CUSTOMIZING LOGSTASH SNMP INPUT PLUGIN
3y 0m to grant Granted Apr 28, 2026
Patent 12613792
SOFTWARE TESTING IN PARALLEL WITH DIFFERENT DATABASE INSTANCES
2y 10m 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

3-4
Expected OA Rounds
74%
Grant Probability
99%
With Interview (+25.8%)
3y 3m (~4m remaining)
Median Time to Grant
High
PTA Risk
Based on 635 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