Prosecution Insights
Last updated: October 01, 2026
Application No. 18/226,004

Orchestrating Parallel Rollouts of Independent Aspects of Production Assets

Non-Final OA §103
Filed
Jul 25, 2023
Examiner
BERMAN, STEPHEN DAVID
Art Unit
2192
Tech Center
2100 — Computer Architecture & Software
Assignee
Google LLC
OA Round
3 (Non-Final)
78%
Grant Probability
Favorable
3-4
OA Rounds
0m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 78% — above average
78%
Career Allowance Rate
269 granted / 343 resolved
+23.4% vs TC avg
Strong +58% interview lift
Without
With
+58.3%
Interview Lift
resolved cases with interview
Typical timeline
2y 8m
Avg Prosecution
21 currently pending
Career history
374
Total Applications
across all art units

Statute-Specific Performance

§101
13.2%
-26.8% vs TC avg
§103
48.4%
+8.4% vs TC avg
§102
14.3%
-25.7% vs TC avg
§112
17.5%
-22.5% vs TC avg
Black line = Tech Center average estimate • Based on career data from 343 resolved cases

Office Action

§103
DETAILED ACTION Remarks 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 filed in response to Applicant’s Request for Continued Examination dated September 1, 2026. Claims 1, 5, 6, 7, 10, 12, 13, 14, 15, and 18 are currently amended and claims 1-20 remain pending in the application and have been fully considered by Examiner. The 35 USC 112 deficiencies have been corrected and the corresponding rejections are withdrawn. Applicant's arguments with respect to the prior art rejections have been considered but are moot in view of the new grounds of rejection presented herein. Continued Examination Under 37 CFR 1.114 A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on July 30, 2026, has been entered. 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. 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, 2, 3, 4, 8, 9, 10, 12, 16, 17, 18, 19, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Sivasubramanian et al. (US 20130066923, hereinafter Sivasubramanian) in view of Searle et al. (US 20160196132 A1, hereinafter Searle) and Custodio (US 20030182652, hereinafter Custodio). With respect to claim 1, Sivasubramanian discloses A system for orchestrating a rollout of independent aspect updates (e.g., Fig. 2 along with associated text, e.g., [0013], a separate control environment, or control plane, that can be used to control aspects of a data environment, or data plane … A user or customer can submit a request to the control plane … which can be analyzed to determine actions to be performed in the data plane, such as actions that create, delete, modify, expand, or otherwise modify a data store or data storage instance; [0068], Since a control plane can have multiple workflows running in parallel at any given time, and these workflows can be for performing different tasks, the control plane can take advantage of an architecture that is able to schedule multiple workflows and execute multiple activities in parallel.), the system comprising: one or more application programming interfaces (APIs) (e.g., Figs. 2-4 and associated text, e.g., [0024], The Web services layer also can include a set of APIs; [0025], The API layer also can be responsible for reading and writing database configuration data to/from the administration data store, in response to the API calls.); one or more computing devices configured to communicate with the one or more APIs (e.g., Figs. 2-5 and associated text, e.g., [0023], a computing device 202 for an end user is shown to be able to make calls through a network 206 into a control plane 208 to perform a task such as to provision a data repository of the data plane 210; [0024], The control plane … includes a Web services layer 212 … The Web services layer also can include a set of APIs 232 … for receiving Web services calls or requests.); and instructions that, when executed, cause the one or more APIs to (e.g., Figs. 2-4 and associated text, e.g., [0024], The control plane in this embodiment includes a Web services layer 212 … The Web services layer also can include a set of APIs 232 … for receiving Web services calls or requests from across the network 206, which the Web services layer can parse or otherwise analyze to determine the steps or actions needed to act on or process the call; [0040], users of the control plane can perform various tasks relating to data repositories and data instances using a set of APIs or other such interfaces.): receive, from the one or more computing devices, updates to be deployed for execution, wherein each update indicates an asset, an aspect to be updated, and a new value for the aspect (e.g., Figs. 2-5 and associated text, e.g., [0023], a computing device 202 for an end user is shown to be able to make calls through a network 206 into a control plane 208 to perform a task; [0041], Using a "ModifyDatabase" API, customers can increase the storage size, change the instance type, or modify various other fields [aspects]; [0046], the interface page can include options to specify a repository for the action 502, select an action to be performed 504, and specify options for the action 506, such as a database engine to be use or capacity to be requested, as well as version information 508 or other such options [aspects]; [0058-59], After the instance has been running for a while, the customer may decide to scale up the size of the instance, such as to 150 GB of storage. The customer in this example thus can submit a request to modify the database capacity using the command line tool, such as by submitting: modify-database --identifier customerprod --size 150 [update indicates an asset, an aspect to be updated, and a new value for the aspect].); assign, for each update of the updates to be deployed for execution, and a state field value (e.g., Figs. 2-5 and associated text, e.g., [0070], if a user wants to create a new repository then the Web service layer can store the required configuration in Admin DB with a status column such as "PENDING_CHANGES." [assign, for each update of the one or more updates to be deployed for execution, a state field value]; see also [0024]-[0026] and [0071].); select, from an aspect store storing the updates to be deployed for execution, one or more updates to be executed based on and the state field value of each update (e.g., Figs. 2-4 and 6 and associated text, e.g., [0024], Information for the request can be written to an administration ("Admin") data store 222 … for subsequent processing; [0026], the sweeper can periodically check the admin data store for outstanding jobs; [0070], a sweeper that constantly sweeps the Admin repository for any changes to be executed, as discussed above with respect to FIG. 2. For instance, if a user wants to create a new repository then the Web service layer can store the required configuration in Admin DB with a status column such as "PENDING_CHANGES." Each workflow host can runs a sweeper thread that sweeps for any database or security group records with status set to PENDING_CHANGES, and can start a workflow accordingly [based on the state field value]; see also [0071].); execute, in a system backend, the selected one or more updates (e.g., Figs. 2-5 and associated text, e.g., [0026], A workflow component … is operable to manage and/or perform the hosting and executing of workflows for tasks such as: repository creation, modification, and deletion; [0071], various embodiments utilize the sweeper architecture that is operable to sweep for new workflow activities to be started by looking at changes to the Admin repository records with a status set to be PENDING_CHANGES, for example, and can start a workflow accordingly.); update, based on the execution, the state field value associated with the selected one or more updates (e.g., Figs. 2-5 and associated text, e.g., [0060], While the changes are in progress, the status be, for example, "Pending Modification," which can be changed to a value such as "Active" once the provisioning has been completed.); and records within the aspect storeinstance is created in the data plane, information for the instance can be written to a data store in the control plane, such as a monitoring data store 220 … the monitoring data store can be … in an Admin data store 222 [aspect store]; [0071], Admin repository records.). Sivasubramanian does not appear to disclose the following, which is taught in analogous art, Searle: a unique rollout identifier (e.g., Figs. 63-65 and associated text, e.g., [0647] A unique identifier is generated for all updates received in the upcoming OMA-DM sync.) … the assigned unique rollout identifier (e.g., Figs. 63-65 and associated text, e.g., [0647], A unique identifier is generated for all updates received in the upcoming OMA-DM sync; [0650], The FUMO node is associated to the OMA-DM sync by using the previously generated update identifier U1.) … assign a unique change identifier to the selected one or more updates (e.g., Figs. 63-65 and associated text, e.g., [0653]-[0657], The client selects all the FUMO nodes which have are associated with the generated update identifier U1 … For every FUMO node which is downloaded the state is set to DOWNLOAD_IN_PROGRESS … A new update identifier is generated for the new OMA-DM sync request.); update, based on the unique change identifier, the state field value associated with the selected one or more updates (Id.; [0660]-[0662], The original FUMO node has the UpdateId set to the new update identifier U2 … A new, unrelated FUMO node is added to the client … The second OMA-DM sync is completed, and the server emits the EVENT_TYPE_SYNC_COMPLETE event.). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the invention of Sivasubramanian with the invention of Searle because it “helps manage and update embedded devices that traditionally have been inaccessible and impracticable to update”, as suggested by Searle (see [0047]). Although Sivasubramanian discloses records within the aspect store (see above), it also does not appear to disclose modify … based on executing the selected one or more updates. However, this is taught in analogous art, Custodio (e.g., Fig. 12 and associated text, e.g., [0078], the inventory manager 500 is called after every deployment of a release by the deployment module 400. Consequently, the default request list will contain all of the servers 21 that should have been altered in the just deployed release; [0082], updating the database 700 to reflect the current state of the server 21 (step 512).). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to further modify the invention of Sivasubramanian with the invention of Custodio, such that configuration database records are modified to reflect updates, because “Without such an inventory, the integrity of the environments cannot be guaranteed and can only be accepted as is. This often results in unpredictable application behavior,” as suggested by Custodio (see [0008]). With respect to claim 12, Sivasubramanian discloses A method of orchestrating a rollout of independent aspect updates (e.g., Figs. 2-3 and associated text, e.g., [0035], FIG. 3 illustrates an example process 300 by which a customer can request the performance of a control-related task with respect to at least one data instance in a data environment, here the data plane, using the control plane or a similar data control service; [0041], Using a "ModifyDatabase" API, customers can increase the storage size, change the instance type, or modify various other fields; [0068], the control plane can take advantage of an architecture that is able to schedule multiple workflows and execute multiple activities in parallel.), the method comprising: receiving, by one or more application programming interfaces (APIs) and from one or more computing devices (e.g., Figs. 2-5 and associated text, e.g., [0023], a computing device 202 for an end user is shown to be able to make calls through a network 206 into a control plane 208 to perform a task such as to provision a data repository of the data plane 210; [0024], The control plane … includes a Web services layer 212 … The Web services layer also can include a set of APIs 232 … for receiving Web services calls or requests.), updates to be deployed for execution, wherein an update indicates an asset, an aspect to be updated, and an aspect update (e.g., Figs. 2-5 and associated text, e.g., [0041], Using a "ModifyDatabase" API, customers can increase the storage size, change the instance type, or modify various other fields [aspects]; [0046], the interface page can include options to specify a repository for the action 502, select an action to be performed 504, and specify options for the action 506, such as a database engine to be use or capacity to be requested, as well as version information 508 or other such options [aspects]; [0058-59], After the instance has been running for a while, the customer may decide to scale up the size of the instance, such as to 150 GB of storage. The customer in this example thus can submit a request to modify the database capacity using the command line tool, such as by submitting: modify-database --identifier customerprod --size 150 [update indicates an asset, an aspect to be updated, and a new value for the aspect].); assigning, for each update of the updates to be deployed for execution, and a state field value (e.g., Figs. 2-5 and associated text, e.g., [0070], if a user wants to create a new repository then the Web service layer can store the required configuration in Admin DB with a status column such as "PENDING_CHANGES." [assign, for each update of the updates to be deployed for execution, a state field value]; see also [0024]-[0026] and [0071].); selecting, by the one or more APIs and from an aspect store storing the updates to be deployed for execution, one or more updates to be executed based on and the state field value of each update (e.g., Figs. 2-4 and 6 and associated text, e.g., [0024], Information for the request can be written to an administration ("Admin") data store 222 [aspect store storing the updates] … for subsequent processing; [0026], the sweeper can periodically check the admin data store for outstanding jobs; [0070], a sweeper that constantly sweeps the Admin repository for any changes to be executed, as discussed above with respect to FIG. 2. For instance, if a user wants to create a new repository then the Web service layer can store the required configuration in Admin DB with a status column such as "PENDING_CHANGES." Each workflow host can runs a sweeper thread that sweeps for any database or security group records with status set to PENDING_CHANGES, and can start a workflow accordingly [based on the state field value]; see also [0071].); by the one or more APIs,; by the one or more APIs requests from across the network 206, which the Web services layer can parse or otherwise analyze to determine the steps or actions needed to act on or process the call; [0040], users of the control plane can perform various tasks relating to data repositories and data instances using a set of APIs or other such interfaces.); executing, by the one or more APIs and in a system backend and based on the state field value, the selected one or more updates (e.g., Figs. 2-5 and associated text, e.g., [0026], A workflow component … is operable to manage and/or perform the hosting and executing of workflows for tasks such as: repository creation, modification, and deletion; [0071], various embodiments utilize the sweeper architecture that is operable to sweep for new workflow activities to be started by looking at changes to the Admin repository records with a status set to be PENDING_CHANGES, for example [based on the state field value], and can start a workflow accordingly [execute the one or more updates].); updating, by the one or more APIs and based on the executing. the state field value associated with the selected one or more updates (e.g., Figs. 2-5 and associated text, e.g., [0060], While the changes are in progress, the status be, for example, "Pending Modification," which can be changed to a value such as "Active" once the provisioning has been completed.); and by the one or more APIs, records within the aspect store such as a monitoring data store 220 … the monitoring data store can be … in an Admin data store 222 [aspect store]; [0071], Admin repository records.). Sivasubramanian does not appear to disclose the following, which is taught in analogous art, Searle: a unique rollout identifier (e.g., Figs. 63-65 and associated text, e.g., [0647] A unique identifier is generated for all updates received in the upcoming OMA-DM sync.) … the assigned unique rollout identifier (e.g., Figs. 63-65 and associated text, e.g., [0647] A unique identifier is generated for all updates received in the upcoming OMA-DM sync; [0650], The FUMO node is associated to the OMA-DM sync by using the previously generated update identifier U1.) … assigning … a unique change identifier to the selected one or more updates (e.g., Figs. 63-65 and associated text, e.g., [0653]-[0657], The client selects all the FUMO nodes which have are associated with the generated update identifier U1 … For every FUMO node which is downloaded the state is set to DOWNLOAD_IN_PROGRESS … A new update identifier is generated for the new OMA-DM sync request.); updating … and based on the unique change identifier, the state field value associated with the selected one or more updates (Id.; [0660]-[0662], The original FUMO node has the UpdateId set to the new update identifier U2 … A new, unrelated FUMO node is added to the client … The second OMA-DM sync is completed, and the server emits the EVENT_TYPE_SYNC_COMPLETE event.). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the invention of Sivasubramanian with the invention of Searle because it “helps manage and update embedded devices that traditionally have been inaccessible and impracticable to update”, as suggested by Searle (see [0047]). Although Sivasubramanian discloses records within the aspect store (see above), it also does not appear to disclose modifying … based on executing the selected one or more updates. However, this is taught in analogous art, Custodio (e.g., Fig. 12 and associated text, e.g., [0078], the inventory manager 500 is called after every deployment of a release by the deployment module 400. Consequently, the default request list will contain all of the servers 21 that should have been altered in the just deployed release; [0082], updating the database 700 to reflect the current state of the server 21 (step 512).). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to further modify the invention of Sivasubramanian with the invention of Custodio, such that configuration database records are modified to reflect updates, because “Without such an inventory, the integrity of the environments cannot be guaranteed and can only be accepted as is. This often results in unpredictable application behavior,” as suggested by Custodio (see [0008]). With respect to claim 18, A non-transitory computer readable storage medium storing instructions that (e.g., Fig. 2 and associate text, e.g., [0093], Storage media and computer readable media for containing code; claim 24, A non-transitory computer-readable medium including instructions for enabling management of a provisioned database.), when executed by one or more application programming interfaces (APIs) for orchestrating a rollout of independent aspect updates, cause the one or more APIs to (e.g., Fig. 2 along with associated text, e.g., [0013], control plane, that can be used to control aspects of a data environment, or data plane … A user or customer can submit a request to the control plane … which can be analyzed to determine actions to be performed in the data plane, such as actions that … modify a data store or data storage instance; [0024], The control plane in this embodiment includes a Web services layer 212 … The Web services layer also can include a set of APIs 232; [0040], users of the control plane can perform various tasks relating to data repositories and data instances using a set of APIs or other such interfaces; [0068], the control plane can take advantage of an architecture that is able to schedule multiple workflows and execute multiple activities in parallel.): receive, from one or more computing devices, updates to be deployed for execution, wherein each update indicates an asset, an aspect to be updated, and an aspect update (e.g., Figs. 2-5 and associated text, e.g., [0023], a computing device 202 for an end user is shown to be able to make calls through a network 206 into a control plane 208 to perform a task; [0041], Using a "ModifyDatabase" API, customers can increase the storage size, change the instance type, or modify various other fields [aspects]; [0046], the interface page can include options to specify a repository for the action 502, select an action to be performed 504, and specify options for the action 506, such as a database engine to be use or capacity to be requested, as well as version information 508 or other such options [aspects]; [0058-59], After the instance has been running for a while, the customer may decide to scale up the size of the instance, such as to 150 GB of storage. The customer in this example thus can submit a request to modify the database capacity using the command line tool, such as by submitting: modify-database --identifier customerprod --size 150 [update indicates an asset, an aspect to be updated, and a new value for the aspect].); assign, for each update of the updates to be deployed for execution, and a state field value (e.g., Figs. 2-5 and associated text, e.g., [0070], if a user wants to create a new repository then the Web service layer can store the required configuration in Admin DB with a status column such as "PENDING_CHANGES." [assign, for each update of the updates to be deployed for execution, a state field value]; see also [0024]-[0026] and [0071].); select, from an aspect store storing the updates to be deployed for execution, one or more updates to be executed based on and the state field value of each update (e.g., Figs. 2-4 and 6 and associated text, e.g., [0024], Information for the request can be written to an administration ("Admin") data store 222 [aspect store storing the received one or more updates] … for subsequent processing; [0026], the sweeper can periodically check the admin data store for outstanding jobs; [0070], a sweeper that constantly sweeps the Admin repository for any changes to be executed, as discussed above with respect to FIG. 2. For instance, if a user wants to create a new repository then the Web service layer can store the required configuration in Admin DB with a status column such as "PENDING_CHANGES." Each workflow host can runs a sweeper thread that sweeps for any database or security group records with status set to PENDING_CHANGES, and can start a workflow accordingly [based on the state field value]; see also [0071].); execute, in a system backend and based on the state field value, the selected one or more updates (e.g., Figs. 2-5 and associated text, e.g., [0026], A workflow component … is operable to manage and/or perform the hosting and executing of workflows for tasks such as: repository creation, modification, and deletion; [0071], various embodiments utilize the sweeper architecture that is operable to sweep for new workflow activities to be started by looking at changes to the Admin repository records with a status set to be PENDING_CHANGES, for example [based on the state field value], and can start a workflow accordingly [execute the one or more updates].); update, based on the executing, the state field value associated with the selected one or more updates (e.g., Figs. 2-5 and associated text, e.g., [0060], While the changes are in progress, the status be, for example, "Pending Modification," which can be changed to a value such as "Active" once the provisioning has been completed.); and records within the aspect store . Sivasubramanian does not appear to disclose the following, which is taught in analogous art, Searle: a unique rollout identifier (e.g., Figs. 63-65 and associated text, e.g., [0647] A unique identifier is generated for all updates received in the upcoming OMA-DM sync.) … the assigned unique rollout identifier (e.g., Figs. 63-65 and associated text, e.g., [0647] A unique identifier is generated for all updates received in the upcoming OMA-DM sync; [0650], The FUMO node is associated to the OMA-DM sync by using the previously generated update identifier U1.) … assign a unique change identifier to the selected one or more updates (e.g., Figs. 63-65 and associated text, e.g., [0653]-[0657], The client selects all the FUMO nodes which have are associated with the generated update identifier U1 … For every FUMO node which is downloaded the state is set to DOWNLOAD_IN_PROGRESS … A new update identifier is generated for the new OMA-DM sync request.); update, based on the unique change identifier, the state field value associated with the selected one or more updates (Id.; [0660]-[0662], The original FUMO node has the UpdateId set to the new update identifier U2 … A new, unrelated FUMO node is added to the client … The second OMA-DM sync is completed, and the server emits the EVENT_TYPE_SYNC_COMPLETE event.). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the invention of Sivasubramanian with the invention of Searle because it “helps manage and update embedded devices that traditionally have been inaccessible and impracticable to update”, as suggested by Searle (see [0047]). Although Sivasubramanian discloses records within the aspect store (see above), it also does not appear to disclose modify … based on executing the selected one or more updates. However, this is taught in analogous art, Custodio (e.g., Fig. 12 and associated text, e.g., [0078], the inventory manager 500 is called after every deployment of a release by the deployment module 400. Consequently, the default request list will contain all of the servers 21 that should have been altered in the just deployed release; [0082], updating the database 700 to reflect the current state of the server 21 (step 512).). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to further modify the invention of Sivasubramanian with the invention of Custodio, such that configuration database records are modified to reflect updates, because “Without such an inventory, the integrity of the environments cannot be guaranteed and can only be accepted as is. This often results in unpredictable application behavior,” as suggested by Custodio (see [0008]). With respect to claim 2, Sivasubramanian also discloses wherein the asset corresponds to an entity in production that is associated with an enforceable state (e.g., Figs. 1-5 along with associated text, e.g., [0058], After the instance has been running for a while, the customer may decide to scale up the size of the instance, such as to 150 GB of storage; [0059] modify-database --identifier customerprod --size 150; [0060], While the changes are in progress, the status be, for example, "Pending Modification," which can be changed to a value such as "Active" once the provisioning has been completed; [0061], the production instance.). With respect to claim 3, Sivasubramanian also discloses wherein the aspect to be updated corresponds to a single property of the asset (e.g., Figs. 2-5 along with associated text, e.g., [0058], After the instance has been running for a while, the customer may decide to scale up the size [single property] of the instance, such as to 150 GB of storage.). With respect to claim 4, Sivasubramanian also discloses wherein an aspect update indicates the new value of the aspect (e.g., Figs. 2-5 and associated text, e.g., [0058-59], After the instance has been running for a while, the customer may decide to scale up the size of the instance, such as to 150 GB of storage. The customer in this example thus can submit a request to modify the database capacity using the command line tool, such as by submitting: modify-database --identifier customerprod --size 150.), wherein the new value of the aspect corresponds to an intended value of the aspect (e.g., Figs. 2-5 and associated text, e.g., [0058], the customer may decide to scale up the size of the instance, such as to 150 GB of storage), wherein the intended value of the aspect is different from a baseline intent value of the aspect, and wherein the baseline intent value of the aspect indicates a most recent value or state of the aspect (e.g., Figs. 2-5 and associated text, e.g., [0045], the customer selects an instance to be provisioned with an initial capacity of 80 GB [baseline intent value of the aspect indicates a most recent value of the aspect]; [0058], the customer may decide to scale up the size of the instance, such as to 150 GB of storage [intended value of the aspect is different].). With respect to claims 8 and 19, Sivasubramanian also discloses wherein the executing the selected one or more updates further causes the one or more APIs to: (e.g., Figs. 2-5 and associated text, e.g., [0025] A Web service layer in one embodiment includes a scalable set of customer-facing servers that can provide the various control plane APIs and return the appropriate responses based on the API specifications; [0026], executing of workflows for tasks such as: repository … modification; [0036], After the final task has been completed, a message is sent to the requesting customer (or another appropriate user, application, or location) that the requested action has been completed 318.) and Custudio further teaches update a database storing information that describes: a current state of a system infrastructure of a system running the asset and the aspect, and a current production landscape of an updated system infrastructure (e.g., Figs. 1-4 and 7 along with associated text, e.g., [0034], current state of the production environment; [0038], the manifest 60 determines what files are being changed in a particular release of an environment 20 … The manifest module 100 is also responsible for updating the database 700 by creating a new release record for each manifest 60 received; Abstract, Each manifest is assigned a release number to allow the database to track every change to an environment as separate release. This in turn allows the database to track the entire contents of an environment [a current state of a system infrastructure] over time, down to the exact version [aspect] of a component found in a particular release of the environment.); and bind an incarnation of the database with the aspect to be updated (e.g., Figs. 1-4, 7, and 12 along with associated text, e.g., [0031] The use of releases to track changes in an environment 20 is seen more clearly in FIGS. 2a-2d. In FIG. 2a, a first manifest 62 specifies that code A, B, and C are to be deployed to environment A 28. More specifically, the manifest 62 specifies the exact version of the code that will be deployed. In this case, manifest 62 specifies that version 1 of A, B, and C should be deployed; [0032] In FIG. 2b, a second manifest 64 is issued to system 10. This manifest 64 specifies that version 2 [aspect to be updated] of code A and C should be deployed to environment A 28 … The system 10 assigns a release number to this manifest 64. In this case, release number 2 is assigned; [0038], The manifest module 100 is also responsible for updating the database 700 by creating a new release record for each manifest 60 received [bind an incarnation of the database with the aspect to be updated].). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to further modify the invention of Sivasubramanian with the invention of Custodio for the same reason set forth above and also because it “can easily handle rollback requests,” as suggested by Custodio (see [0033). With respect to claims 9 and 20, Sivasubramanian also discloses the one or more APIs to: (e.g., Figs. 2-4 and associated text, e.g., [0024] The Web services layer also can include a set of APIs 232 … for receiving Web services calls or requests from across the network 206, which the Web services layer can parse or otherwise analyze to determine the steps or actions needed to act on or process the call.), but it does not appear to disclose wherein binding the incarnation of the database with the aspect to be updated further causes … determine an intended state of the aspect to be reached based on execution of an update; and patch the intended state of the aspect to a baseline intent value of the aspect. However, this is further taught in Custodio (e.g., Figs. 1-4, 7, and 11-12 along with associated text, e.g., [0038], The manifest module 100 is also responsible for updating the database 700 by creating a new release record for each manifest 60 received [binding the incarnation of the database with the aspect to be updated]; [0032] In FIG. 2b, a second manifest 64 is issued to system 10. This manifest 64 specifies that version 2 of code A and C should be deployed [determine an intended state of the aspect to be reached based on execution of an update] to environment A 28. This is handled by the system 10 in the same way as manifest 62 was handled, resulting in versions 2 of A and C being deployed to environment A [patch the intended state of the aspect to a baseline intent value of the aspect]. The system 10 assigns a release number to this manifest 64. In this case, release number 2 is assigned.). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to further modify the invention of Sivasubramanian with the invention of Custodio for the same reasons set forth above. With respect to claim 10, Sivasubramanian also discloses wherein the updating, based on the executing, the state field further causes the one or more APIs to label values associated with aspects indicated in the selected one or more updates as committed (e.g., Figs. 2-5 and associated text, e.g., [0052], A "DescribeDatabases" or similar API can be used to determine the status of the request; [0060], While the changes are in progress, the status be, for example, "Pending Modification," which can be changed to a value such as "Active" once the provisioning has been completed.). With respect to claim 16, Sivasubramanian also discloses wherein the executing the one or more updates further comprises: , by the one or more APIs, (e.g., Figs. 2-5 and associated text, e.g., [0025] A Web service layer in one embodiment includes a scalable set of customer-facing servers that can provide the various control plane APIs and return the appropriate responses based on the API specifications; [0026], executing of workflows for tasks such as: repository … modification; [0036], After the final task has been completed, a message is sent to the requesting customer (or another appropriate user, application, or location) that the requested action has been completed 318.) and Custodio further teaches updating … a database storing information that describes: a current state of a system infrastructure of a system running the asset and the aspect, and a current production landscape of an updated system infrastructure (e.g., Figs. 1-4 and 7 along with associated text, e.g., [0038], the manifest 60 determines what files are being changed in a particular release of an environment 20 … The manifest module 100 is also responsible for updating the database 700 by creating a new release record for each manifest 60 received; Abstract, Each manifest is assigned a release number to allow the database to track every change to an environment as separate release. This in turn allows the database to track the entire contents of an environment [a current state of a system infrastructure] over time, down to the exact version [aspect] of a component found in a particular release of the environment.); and binding, by the one or more APIs, an incarnation of the database with the aspect to be updated (e.g., Figs. 1-4, 7, and 12 along with associated text, e.g., [0031] The use of releases to track changes in an environment 20 is seen more clearly in FIGS. 2a-2d. In FIG. 2a, a first manifest 62 specifies that code A, B, and C are to be deployed to environment A 28. More specifically, the manifest 62 specifies the exact version of the code that will be deployed. In this case, manifest 62 specifies that version 1 of A, B, and C should be deployed; [0032] In FIG. 2b, a second manifest 64 is issued to system 10. This manifest 64 specifies that version 2 [aspect to be updated] of code A and C should be deployed to environment A 28 … The system 10 assigns a release number to this manifest 64. In this case, release number 2 is assigned; [0038], The manifest module 100 is also responsible for updating the database 700 by creating a new release record for each manifest 60 received [binding an incarnation of the database with the aspect to be updated].). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to further modify the invention of Sivasubramanian with the invention of Custodio for the same reason set forth above and also because it “can easily handle rollback requests,” as suggested by Custodio (see [0033). With respect to claim 17, Sivasubramanian also discloses by the one or more APIs … by the one or more APIs (e.g., Figs. 2-4 and associated text, e.g., [0024] The Web services layer also can include a set of APIs 232 … for receiving Web services calls or requests from across the network 206, which the Web services layer can parse or otherwise analyze to determine the steps or actions needed to act on or process the call.), but it does not appear to disclose wherein the binding further comprises: determining … an intended state of the aspect to be reached based on execution of an update; and patching … the intended state of the aspect to a baseline intent value of the aspect. However, this is further taught in Custodio (e.g., Figs. 1-4, 7, and 11-12 along with associated text, e.g., [0038], The manifest module 100 is also responsible for updating the database 700 by creating a new release record for each manifest 60 received [binding the incarnation of the database with the aspect to be updated]; [0032] In FIG. 2b, a second manifest 64 is issued to system 10. This manifest 64 specifies that version 2 of code A and C should be deployed [determining an intended state of the aspect to be reached based on execution of an update] to environment A 28. This is handled by the system 10 in the same way as manifest 62 was handled, resulting in versions 2 of A and C being deployed to environment A [patch the intended state of the aspect to a baseline intent value of the aspect]. The system 10 assigns a release number to this manifest 64. In this case, release number 2 is assigned.). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to further modify the invention of Sivasubramanian with the invention of Custodio for the same reasons set forth above. Claims 5, 6, 7, 13, 14, 15 are rejected under 35 U.S.C. 103 as being unpatentable over Sivasubramanian in view of Searle and Custodio, as applied to claims 1 and 12 above, and further in view of Menon et al. (US 20130151705, hereinafter Menon). With respect to claims 5 and 13, Sivasubramanian also discloses wherein the records (e.g., Figs. 2-4 and associated text, e.g., [0071], Admin repository records.) indicate: a asset identifier associated with the asset (e.g., Figs. 2-5 and associated text, e.g., [0046], the interface page can include options to specify a repository for the action 502; [0058-59], After the instance has been running for a while, the customer may decide to scale up the size of the instance, such as to 150 GB of storage. The customer in this example thus can submit a request to modify the database capacity using the command line tool, such as by submitting: modify-database --identifier customerprod --size 150.); an indication of the aspect to be updated, wherein the aspect is associated with the asset (e.g., Figs. 2-5 and associated text, e.g., [0058-59], After the instance has been running for a while, the customer may decide to scale up the size of the instance, such as to 150 GB of storage [aspect to be updated]. The customer in this example thus can submit a request to modify the database capacity using the command line tool, such as by submitting: modify-database --identifier customerprod --size 150 [aspect is associated with the asset].); a baseline intent value of the aspect (e.g., Figs. 2-4 and associated text, e.g., [0045], the customer selects an instance to be provisioned with an initial capacity of 80 GB [baseline intent value of the aspect indicates a most recent value of the aspect]; [0030], When a data instance is created in the data plane, information for the instance can be written to a data store in the control plane, such as a monitoring data store 220 … in an Admin data store 222.); the state field associated with the selected one or more updates (e.g., Figs. 2-5 along with associated text, e.g., [0071], changes to the Admin repository records with a status set to be PENDING_CHANGE.); Furthermore, Searle also teaches and for each of the one or more updates to be deployed for execution, the unique rollout identifier indicating and Custodio also teaches an order in which the one or more updates to be deployed for execution should be deployed (e.g., Figs. 1-4 and 13 along with associated text, e.g., [0008], Each manifest is assigned a release number or identifier, so that each change to an environment is considered a separate release tracked in the central database; [0038], The manifest module 100 will assign a unique ID (or release number) [unique rollout identifier] to the changes set forth in the manifest 60; [0031], assigns a release number to manifest 62, in this case release 1 since it is the first deployment to environment A 28. The code changes made to environment A 28 are stored in a database within system 10 along with this release number; [0032], In FIG. 2b, a second manifest 64 is issued to system 10 … The system 10 assigns a release number to this manifest 64. In this case, release number 2 is assigned.). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to further modify the invention of Sivasubramanian with the inventions of Searle and Custodio for the same reasons set forth above and further because the invention of Custodio provides “the ability to track the exact version of all files that exist in a particular environment for a particular release, which allows the ability to easily rollback an environment to any known prior release of the environment,” as suggested by Custodio (see [0008]). Although Sivasubramanian discloses an asset identifier (see above), it does not appear to disclose that it is unique. However, this is taught in analogous art, Menon (e.g., Figs. 3-4 and associated text, e.g., [0071] Each resource has an associated unique resource identifier that is stored in resource table 202.). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to further modify the invention of Sivasubramanian with the invention of Menon because it “eliminates the need for users to communicate directly with multiple different back-end service providers in order to obtain access to the resources,” as suggested by Menon (see [0030]). With respect to claims 6 and 14, Sivasubramanian also discloses wherein the state field indicates one of a pending update or a committed update, wherein a pending update state field indicates that the aspect update associated with the one or more updates has not been deployed; and wherein a committed update state field indicates that the aspect update associated with the one or more updates was deployed (e.g., Figs. 2-5 and associated text, e.g., [0060], While the changes are in progress, the status be, for example, "Pending Modification," which can be changed to a value such as "Active" once the provisioning has been completed.). With respect to claim 7, Sivasubramanian also discloses further causes the one or more APIs to label the selected one or more updates as pending (e.g., Figs. 2-5 and associated text, e.g., [0025], The API layer also can be responsible for reading and writing database configuration data to/from the administration data store, in response to the API calls; [0060], While the changes are in progress, the status be, for example, "Pending Modification," which can be changed to a value such as "Active" once the provisioning has been completed) and Searle further teaches wherein the updating, based on the unique change identifier, the state field associated with the selected one or more updates (e.g., Figs. 63-65 and associated text, e.g., [0660]-[0662], The original FUMO node has the UpdateId set to the new update identifier U2 … A new, unrelated FUMO node is added to the client … The second OMA-DM sync is completed, and the server emits the EVENT_TYPE_SYNC_COMPLETE event.). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the invention of Sivasubramanian with the invention of Searle for the same reason set forth above. With respect to claim 15, Sivasubramanian also discloses further comprises labeling the selected one or more updates as pending (e.g., Figs. 2-5 and associated text, e.g., [0025], The API layer also can be responsible for reading and writing database configuration data to/from the administration data store, in response to the API calls; [0060], While the changes are in progress, the status be, for example, "Pending Modification," which can be changed to a value such as "Active" once the provisioning has been completed.) and Searle further teaches wherein the updating, based on the unique change identifier, the state field associated with the one or more updates (e.g., Figs. 63-65 and associated text, e.g., [0660]-[0662], The original FUMO node has the UpdateId set to the new update identifier U2 … A new, unrelated FUMO node is added to the client … The second OMA-DM sync is completed, and the server emits the EVENT_TYPE_SYNC_COMPLETE event.). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the invention of Sivasubramanian with the invention of Searle for the same reason set forth above. Claim 11 is rejected under 35 U.S.C. 103 as being unpatentable over Sivasubramanian in view of Searle and Custodio, as applied to claim 1 above, and further in view of Kothandaraman et al. (US 20050080801, hereinafter Kothandaraman). With respect to claim 11, Sivasubramanian also discloses the one or more APIs to: (e.g., Figs. 2-4 and associated text, e.g., [0024] The Web services layer also can include a set of APIs 232 … for receiving Web services calls or requests from across the network 206, which the Web services layer can parse or otherwise analyze to determine the steps or actions needed to act on or process the call.), but it does not appear to disclose wherein modifying the records within the aspect store based on the execution the selected one or more updates further causes … terminate tracking of the unique change identifier associated with the selected one or more updates; update an aspect value from a baseline intent value to the new value for the aspect; and remove the unique rollout identifier associated with the selected one or more updates. However, Custodio further teaches wherein modifying the records within the aspect store based on the execution the selected one or more updates further causes … update an aspect value from a baseline intent value to the new value for the aspect (e.g., Figs. 7 and 12 and associated text, e.g., [0078], inventory manager 500 is called after every deployment of a release by the deployment module 400. Consequently, the default request list will contain all of the servers 21 that should have been altered in the just deployed release [execution the one or more updates]; [0082], updating the database 700 to reflect the current state of the server 21 (step 512) [modifying the records within the aspect store based on the execution the one or more updates] … the inventory manager 500 can be tasked with ensuring that the servers 21 in an environment match the current status in database 700. In this case, the inventory manager could create a manifest 60 that would bring the server back in line with the status shown in the database 700 [update an aspect value from a baseline intent value to the new value for the aspect].) … a unique rollout identifier associated with the one or more updates (e.g., Figs. 1-4 and 13 along with associated text, e.g., [0008], Each manifest is assigned a release number or identifier, so that each change to an environment is considered a separate release tracked in the central database; [0038], The manifest module 100 will assign a unique ID (or release number) [unique rollout identifier] to the changes set forth in the manifest 60; [0031], assigns a release number to manifest 62, in this case release 1 since it is the first deployment to environment A 28. The code changes made to environment A 28 are stored in a database within system 10 along with this release number; [0032], In FIG. 2b, a second manifest 64 is issued to system 10 … The system 10 assigns a release number to this manifest 64. In this case, release number 2 is assigned.) and Searle further teaches tracking of the unique change identifier associated with the one or more updates (e.g., Figs. 63-65 and associated text, e.g., [0676], The FUMO node is associated to the OMA-DM sync by using the previously generated update identifier U1.); remove the unique rollout identifier associated with the selected one or more updates (e.g., Figs. 63-65 and associated text, e.g., [0685], The original FUMO node has the UpdateId set to the new update identifier U2.). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the invention of Sivasubramanian with the inventions of Searle and Custodio for the same reasons set forth above. Sivasubramanian does not appear to disclose terminate. However, in analogous art, Kothandaraman teaches terminate (e.g., Fig. 6 and associated text, e.g., [0114], the UI indicates that the deployment has started and provides details; for example, job ID; [0130], The command line interface may also be used to schedule deployments, deactivate scheduled jobs, delete jobs [terminate tracking]; [0226], the reporting database records a unique ID for each routed deployment.). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to further modify the invention of Sivasubramanian with the invention of Kothandaraman, such that change tracking is terminated, because it would free up resources. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Specifically, Turk et al. “DeltaSherlock: Identifying changes in the cloud” discloses a change discovery framework that captures system states on-demand and detects multiple system changes between them. Any inquiry concerning this communication or earlier communications from the examiner should be directed to STEPHEN DAVID BERMAN whose telephone number is (571) 272-7206. The examiner can normally be reached M-F, 9-6 Eastern. 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, Hyung S. Sough can be reached on 571-272-6799. 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. /STEPHEN D BERMAN/ Examiner, Art Unit 2192
Read full office action

Prosecution Timeline

Jul 25, 2023
Application Filed
Oct 22, 2025
Non-Final Rejection mailed — §103
Jan 13, 2026
Response Filed
Jun 01, 2026
Final Rejection mailed — §103
Jul 30, 2026
Response after Non-Final Action
Sep 01, 2026
Request for Continued Examination
Sep 02, 2026
Response after Non-Final Action
Sep 08, 2026
Non-Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12743274
CHAINED PULL REQUESTS IN A SOURCE CODE MANAGEMENT SYSTEM
3y 11m to grant Granted Sep 22, 2026
Patent 12724688
CHAOS EVENT TESTING USING SIMULATED TRAFFIC FEED AND CHAOS EVENTS SIMULTANEOUSLY
3y 2m to grant Granted Sep 01, 2026
Patent 12710959
EXTRACTING ENTITY RELATIONSHIP DIAGRAMS FROM SOURCE CODE
4y 8m to grant Granted Aug 18, 2026
Patent 12675269
CONTAINERIZED, DECENTRALIZED, AND DISTRIBUTED WEB APPLICATIONS WITH END-TO-END ENCRYPTION
2y 9m to grant Granted Jul 07, 2026
Patent 12664069
CODE CONCIERGE MODEL (CCM) FOR PREDICTING RUNTIME ERRORS OF SOURCE CODE
3y 1m to grant Granted Jun 23, 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
78%
Grant Probability
99%
With Interview (+58.3%)
2y 8m (~0m remaining)
Median Time to Grant
High
PTA Risk
Based on 343 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