Prosecution Insights
Last updated: May 29, 2026
Application No. 17/729,568

Flexible Update Mechanism for Stateful Applications

Final Rejection §103
Filed
Apr 26, 2022
Priority
Apr 29, 2021 — EU 21171164.3
Examiner
VINCENT, ROSS MICHAEL
Art Unit
2196
Tech Center
2100 — Computer Architecture & Software
Assignee
ABB Schweiz AG
OA Round
4 (Final)
56%
Grant Probability
Moderate
5-6
OA Rounds
0m
Est. Remaining
86%
With Interview

Examiner Intelligence

Grants 56% of resolved cases
56%
Career Allowance Rate
13 granted / 23 resolved
+1.5% vs TC avg
Strong +29% interview lift
Without
With
+29.2%
Interview Lift
resolved cases with interview
Typical timeline
3y 5m
Avg Prosecution
17 currently pending
Career history
54
Total Applications
across all art units

Statute-Specific Performance

§101
1.6%
-38.4% vs TC avg
§103
96.8%
+56.8% vs TC avg
§112
1.6%
-38.4% vs TC avg
Black line = Tech Center average estimate • Based on career data from 23 resolved cases

Office Action

§103
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 . Claims 1, 13, and 17 are currently amended. No claims have been newly added. No claims have been canceled. Claims 1-20 are currently pending for examination. Response to Arguments In response to the applicant’s arguments, pg. 9, that none of the cited prior arts teach or suggest a runtime environment that receives input signals from field devices, executes a control algorithm to generate output signals, and then sends the output signals back to the field device within one execution signal, the examiner has carefully considered these arguments and concedes. As such, a new reference- Gotz (US 20230367629 A1) is applied to teach the amended limitation. In response to the applicant’s arguments, pgs.9-10, that Lakshmanan cannot reasonably be modified by and combined with Gold, the examiner has carefully considered these arguments and respectfully disagrees. The combination of Lakshmanan’s determination of where to place an application, i.e., which nodes to split a context and corresponding task between [0104], with Golds splitting of application state objects, or states between nodes is a functional combination. Lakshmanan’s system “considers the data flow between tasks before migrating tasks in order to prevent cycles and meet quality of service requirements of the application such as minimizing the end to end response time of the application”, 0051. One of ordinary skill in the art would be motivated to combine Lakshmanan’s method of allocating applications with Gold’s method of splitting applications, in order to provide “applications that can be modified at run-time in order to greatly broaden the scope, flexibility and usefulness of software application systems”, 0008. Each reference is used for its disclosed purpose in a straightforward way; Lakshmanan for load distribution, and Gold for splitting, or modifying, application states. A POSITA would be motivated to use Gold’s method for reducing the size of an application state object, or “safely chang{ing} an application at any time” as it would be “desired for rapid development and the long-term maintenance of large, complex enterprise-wide application systems” [0032]. These rationales are grounded in the references' own teachings rather than in Applicant's claim language, and the resulting system combines known techniques in a predictable manner; accordingly, Applicant's hindsight arguments are not persuasive. As such, the rejection of the instant application under 35 USC 103 is maintained. 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, 7, 13, 14, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Lakshmanan (US 20110047554 A1) in view of Gold (US 20050273773 A1) in view of Makin (US 20180074748 A1) in further view of Ware (US 20210326286 A1) in further view of Ye (WO 2012119436 A1) in further view of Duggal (US 20210360083 A1) in further view of McKean (US 7480909 B2) in further view of Shin (US 20110173622 A1) in further view of Gotz (US 20230367629 A1). As per claim 1, Lakshmanan discloses: A computer-implemented update management method for managing the transfer of an application state of a stateful application from a source node to at least one target node of a distributed control system (“The present invention relates generally to data stream processing using multiple nodes, by a plurality of software-implemented tasks, and relates more particularly to load distribution--with the goal of reducing energy costs--by concentrating tasks on a subset of possible nodes, called target nodes, meeting predetermined criteria in terms of load distribution quality (such as anticipated end-to-end throughput time), allowing other nodes without tasks to be quiesced as an economy measure.”, 0001) the method comprising: identifying using a computer a first part of the stateful application state which can be transferred independently of a second part of the stateful application state; (“As an example, suppose a task processes all events for customers who buy items online from January through June. This task can be split into two contexts where one context is customers that buy from January to March and another context is customers who buy from April to June. The same rules in these two contexts can be evaluated in parallel on different nodes. Effectively, the incoming data stream is split amongst two nodes, and data pertaining to a particular month is redirected to the appropriate node.”, 0104) Lakshmanan discloses the transfer of an application from a source to a target node, but does not explicitly disclose the transfer of an application state or the determination of a first part of an application state which can be transferred independently of a second part. However, Gold discloses: “Split 39 and merge 40 edges allows application state objects to be split or merged as they move from one operation to another in an application. They allow instance nodes in one application state object to be split into multiple application state objects as they flow from one operation to another”, 0057 ; Examiner Note: application state objects equate to application states. retrieving the stateful application state from the stateful application operating on the source node (“Displaying application state information on a display medium allows a user to dynamically interact with the application to effect changes to the application states.”, 0068 ; Examiner Note: displaying the application state information requires first retrieving it) It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the teachings of Lakshmanan and Gold, in order to provide a system which is capable of splitting up and transferring an application state from a source to a target node; thereby allowing for the application state to be moved between nodes in smaller, less computationally demanding packets. Lakshmanan in view of Gold discloses the identification of application states which may be split and re-deployed as portions of the initial state, but does not disclose the determination of whether or not this transfer may be accomplished in the available time window. However, Makin discloses: the stateful application operating on the source node (“In one embodiment, the migration of the software container may include the process maintaining a stateful session with a client system that begins with the client system communicating with the process at the source computing system and concludes with the client system communicating with the process at the target computing system.”, 0013) determining using the computer that the first part can be transferred from the source node to the at least one target node during one execution cycle of the stateful application (“In some examples, one or more of the systems described herein (e.g., identification module 104) may determine the type of migration to perform and/or prepare for the migration. Using FIG. 4 as an example, at step 302 identification module 104 may predict whether the systems described herein can meet a downtime objective when performing the migration. As will be explained in greater detail below, systems described herein may predict whether the downtime objective can be met in any of a variety of ways and based on any of a variety of information, including, e.g., the memory size of the software container.”, 0046 ; “creating and transferring incremental application checkpoints (e.g., based on differences in the application state information) until an incremental application checkpoint is small enough (e.g., due to relatively few changes in state) that a prediction indicates that a migration, if undertaken, would be completed within a specified time objective.”, 0004 ; Examiner Note: determining if a transfer or migration will meet the downtime objective equates to transferring a first part within an execution cycle, as the continuity of the applications are not affected by the transfer which meets the time objectives.) It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the teachings of Lakshmanan and Makin in order to provide a system capable of splitting a task and transferring it to multiple nodes in a timeframe which does not disrupt the continuity of the running applications- thereby providing a faster, more efficient system (meeting time objectives, Makin [0015]). Lakshmanan in view of Gold in view of Makin discloses a system wherein an application state may be split and transferred between nodes within a fixed timeframe, but does not disclose the timeframe for transfer being one execution cycle. However, Ware discloses: “For example, in one embodiment, the linear processing pipeline, and the MACs that are incorporated in such pipeline, may be configured to rotate, transfer or move (before, during or at the completion of an execution cycle) the input data values”, 0106 It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the teachings of Lakshmanan, Gold, Makin, and Ware, in order to provide a system capable of splitting up an application state and transferring individual parts of the application state within single execution cycle windows- thereby allowing the system to update the application state without disrupting the flow of the specific applications. Lakshmanan in view of Gold in further view of Makin in further view of Ware discloses the above limitations of claim 1, but does not explicitly disclose the performance of a first and second partial update, or migration. However, Ye discloses: performing using the computer a first partial update by transferring the first part of the stateful application state from the source node to the at least one target node during a first execution cycle of the stateful application; and performing using the computer a second partial update by transferring the second part of the stateful application state from the source node to the at least one target node during a second, subsequent execution cycle of the application (“Specifically, in FIG. 5, the processes 2001 and 2003 in the group 1 are migrated to the node 4; a part of the memory on the memory 1 corresponding to the processes 1000, 1001, 1005 in the group 1 is first migrated to the node 5, and then The processes 1000, 1001, and 005 in group 1 are migrated to node 5.”, Detailed Description, par.15 ; Examiner Note: processes 2001 and 2003 in group 1 equate to a first part of an application state, and processes 1001, 1001, and 005 in group 1 equate to a second part of an application state.) Although Ye does not explicitly disclose the performance of the first and second migrations being performed within respective execution cycles, the combination of Lakshmanan, Gold, Makin, Ware, and Ye would provide a system capable of performing partial updates within individual execution cycles. It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the system of Lakshmanan, Gold, Makin, and Ware with the system of Ye in order to provide a system capable of transferring portions of an application to new nodes within execution cycles – thereby improving the timeliness of the migration, or update, management system (Ye [Par.4]). Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye fully discloses the above limitations of claim 1, but does not explicitly disclose the operations being performed within a stateful application. However, Duggal discloses: “An example of a declarative composition of objects is an Internet of Things (IoT) application for automating industrial manufacturing, with relationships to entities 502 such as products, orders, materials and locations, to information 504 such as product specifications and machine specifications, to capabilities 506 such as machine activation, machine configuration, machining simulation, metric collection and metric aggregation, and nodes/devices 508 such as welding robots, 3D printers and atmospheric sensors for temperatures, pressure, moisture, etc.”, 0152 ; “In some embodiments, the platform is a serverless platform for stateful applications”, 0550. It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the system of Lakshmanan, Gold, Makin, Ware, and Ye with the stateful application of Duggal in order to provide a system capable of transferring portions of an application state of a stateful application within individual execution cycles, thereby allowing for the application state of the industrial equipment running the application to be updated without disrupting the flow of production. Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal fully discloses the above limitations of claim 1, but does not explicitly disclose the extraction of a first and second part of an application state. However, McKean discloses: extracting the first part of the stateful application state from the stateful application state retrieved from the source node (“ the controller initiating the task establishes a task coordination data object shared by the plurality of controllers, wherein the task coordination data object represents discrete partitions of the task to be performed and states for each partition, and wherein a free controller of the plurality of controllers selects a partition of the task available for processing as indicated by the states.”, 0019) extracting the second part of the stateful application state from the stateful application state retrieved from the source node (see fig.4- states of task partitions 1 and 2, “Thus, the controllers use a semaphore-mechanism to ascertain the state of individual partitions.”, 0022) It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the system of Lakshmanan, Gold, Makin, Ware, Ye, and Duggal, with the extraction of a multiple parts of application states of McKean in order to allow for the effective partitioning of tasks in a manner which minimizes the amount of time required to perform incidental data manipulation tasks- thus reducing the duration of instances of degraded system performance (McKean, [abstract]). Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean fully discloses the above limitations of claim 1, but does not disclose the calculation of the size of an application state, nor this size being a factor in determining whether to transfer the application state. However, Shin discloses: calculating a size of the first part of the stateful application state (“The size of the states may be determined based on, for example, a kernel context, a memory, an IPC, and an open I/O.”, 0089 ; “The migration method of FIG. 7 may be supported by a kernel level, and may enable all states of a task 711 that is currently running at a predetermined point in time to migrate from a source node 710 to a destination node 720 located in the kernel level.”, 0088) determining using the computer that the first part can be transferred from the source node to the at least one target node … based on the size of the first part of the stateful application state as calculated and currently available network capacity (“ A migrated task 721 that migrates to the destination node 720 may transparently use all resources that were already used. A migration initiation time may be in proportion to a size of states of a task for migration. The size of the states may be determined based on, for example, a kernel context, a memory, an IPC, and an open I/O.”, 0089) Though Shin does not disclose considering currently available network capacity, Lakshmanan discloses: “If becoming quiescent involves the decision to migrate tasks, then another cost is the time it takes to migrate a task and its associated state to another node. Assuming all state associated with a task as well as the task itself are local to a node, a node can estimate this cost by first determining the speed and bandwidth of the link used to migrate task and state to a recipient node. In determining which task to migrate and which node to migrate it to, a node can utilize the aforementioned steps 1 through step 6 of this embodiment.”, 0140. It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the system of Lakshmanan, Gold, Makin, Ware, Ye, Duggal, and McKean, with the calculation of application state size of Shin, in order to provide the system with the ability to consider the size of the application state before transferring an application state, in a manner which enables the system to migrate tasks between non-uniform memory architectures, thereby minimizing cost (Shin, [0040]). Lakshmanan in view of Gold in further view of Makin in further view of Ye in further view of Duggal in further view of McKean in further view Shin fully discloses the above limitations of claim 1, but does not disclose the receipt of input signals, processing, and sending of output signals by a program/application within one execution cycle. However, Gotz discloses: wherein the stateful application is executed cyclically by a runtime environment, wherein the runtime environment periodically receives input signals from one or more field devices, executes a control algorithm on the input signals to generate output signals, and sends the output signals to the one or more field devices within one execution cycle (“The time for the execution of a program cycle is frequently referred to as cycle time. The cycle time can be defined in various ways, such as the pure runtime of a program cycle. Further, the cycle time may also be defined as the overall time required for the reading of the input data, the execution of a cycle of the program, and the writing of the output data.”, 0080 ; “Input and/or output data in relation to the apparatus can be, for example, data that come from a machine or installation within the scope of the control thereof (e.g., sensor data, machine state data or characteristic data) or that are sent to the said machine or installation (e.g., control data for actuators or for adjusting or setting equipment parameters)”, 0054 ; Examiner Note: the execution of the program equates to the execution of the control algorithm.) The combination of Lakshmanan in view of Gold in further view of Makin in further view of Ye in further view of Duggal in further view of McKean in further view Shin in further view of Gotz fully discloses the execution of a stateful application in a runtime environment; wherein the runtime environment periodically receives input signals from one or more field devices, executes a control algorithm on the input signals to generate output signals, and sends the output signals to the one or more field devices within one execution cycle. It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the system of Lakshmanan, Gold, Makin, Ware, Ye, Duggal, McKean, and Shin with the cyclical execution of the program of Gotz within a real time environment which is continuously operationally ready in a manner so that the processing results are available within a given time interval (Gotz, [0083]). As per claim 2, Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz fully discloses the limitations of claim 1. Furthermore, Lakshmanan discloses: splitting the stateful application to create a plurality of decoupled parts which are able to operate independently of each other, each decoupled part being associated with a corresponding part of the application state (“Splitting of the tasks can be by context. Depending on the type of task, it may be impossible to split as described by partition ID. For instance, we may want to split by context. As an example, suppose a task processes all events for customers who buy items online from January through June. This task can be split into two contexts where one context is customers that buy from January to March and another context is customers who buy from April to June. The same rules in these two contexts can be evaluated in parallel on different nodes. Effectively, the incoming data stream is split amongst two nodes, and data pertaining to a particular month is redirected to the appropriate node.”, 0104) Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz fully discloses the above limitations of claim 2, but does not explicitly disclose the splitting being performed within a stateful application. However, Duggal discloses: “An example of a declarative composition of objects is an Internet of Things (IoT) application for automating industrial manufacturing, with relationships to entities 502 such as products, orders, materials and locations, to information 504 such as product specifications and machine specifications, to capabilities 506 such as machine activation, machine configuration, machining simulation, metric collection and metric aggregation, and nodes/devices 508 such as welding robots, 3D printers and atmospheric sensors for temperatures, pressure, moisture, etc.”, 0152 ; “In some embodiments, the platform is a serverless platform for stateful applications”, 0550. As per claim 7, Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz fully discloses the limitations of claim 2. Furthermore, Lakshmanan discloses: determining a deployment scheme indicating selected target nodes to which the decoupled parts are to be deployed (see fig.4-block 34 ; “Step 3: Create Load-Exchange Neighbors List. The next step of the process is creating a list of neighbor nodes to which a task can be partially or wholly transferred”, 0083 deploying the decoupled parts according to the determined deployment scheme (see fig.4- block 44 ; “In the last step of the process [block 44], the target task is migrated to the target node. Execution of the target task on the target node may then proceed.”, 0125) As per claim 13, it is a non-transitory computer media (Gold: “Embodiments of the invention may also be embodied in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention.“, 0090) claim with substantially the same limitations as claim 1, and as such, it is rejected for substantially the same reasons. As per claim 14, it is a non-transitory computer media claim with substantially the same limitations as claim 2, and as such, it is rejected for substantially the same reasons. As per claim 19, it is a non-transitory computer media claim with substantially the same limitations as claim 7, and as such, it is rejected for substantially the same reasons. Claims 3 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Lakshmanan (US 20110047554 A1) in view of Gold (US 20050273773 A1) in view of Makin (US 20180074748 A1) in further view of Ware (US 20210326286 A1) in further view of Ye (WO 2012119436 A1) in further view of Duggal (US 20210360083 A1) in further view of McKean (US 7480909 B2) in further view of Shin (US 20110173622 A1) in further view of Gotz (US 20230367629 A1) in further view of Khandekar (US 20110258246 A1). As per claim 3, Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz fully discloses the limitations of claim 2, but does not disclose the analysis of engineering data. However, Khandekar discloses: splitting the stateful application comprises analyzing engineering data relating to the application to identify the parts which can be decoupled (“During execution, the variables and constraints that are tightly coupled are likely to be required to exchange a lot of information. Therefore, the program is split in a manner so that the variables and constraints of those that are tightly coupled are stored on a single compute node as far as possible and while satisfying the first guiding principle." 0060 ; Examiner Note: the amount of coupling between variables and constraints equates to engineering data) It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the system of Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz with the consideration of engineering data of Khandekar, to provide a system capable of avoiding splits that create a conflict of access to global variables following a split. Khandekar fully discloses the above limitations of claim 3, but does not explicitly disclose the splitting being performed within a stateful application. However, Duggal discloses: “An example of a declarative composition of objects is an Internet of Things (IoT) application for automating industrial manufacturing, with relationships to entities 502 such as products, orders, materials and locations, to information 504 such as product specifications and machine specifications, to capabilities 506 such as machine activation, machine configuration, machining simulation, metric collection and metric aggregation, and nodes/devices 508 such as welding robots, 3D printers and atmospheric sensors for temperatures, pressure, moisture, etc.”, 0152 ; “In some embodiments, the platform is a serverless platform for stateful applications”, 0550. As per claim 15, it is a non-transitory computer media claim with substantially the same limitations as claim 3, and as such, it is rejected for substantially the same reasons. Claims 4 and 16 are rejected under 35 U.S.C. 103 as being unpatentable over Lakshmanan (US 20110047554 A1) in view of Gold (US 20050273773 A1) in view of Makin (US 20180074748 A1) in further view of Ware (US 20210326286 A1) in further view of Ye (WO 2012119436 A1) in further view of Duggal (US 20210360083 A1) in further view of McKean (US 7480909 B2) in further view of Shin (US 20110173622 A1) in further view of Gotz (US 20230367629 A1) in further view of Orlov (US 20200272672 A1). As per claim 4, Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz fully discloses the limitations of claim 2, but does not disclose the consideration of local and/or global variables to determine splitting points. However, Orlov discloses: splitting the stateful application comprises using local and/or global variables in control logic of the application to identify splitting points. (“The task becomes how to identify the best split point across the input variables. In one or more embodiments, the best split point for each input variable is identified/found in 622A, 622B, and 622C. Thereafter, at 624, the best split point across all input variables 622A-622C is chosen/identified and saved (along with the split characteristics.", 0130 ; Examiner Note: input variables equate to local variables.) It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the system of Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz in further view of Ye with the consideration of local variables of Orlov, to provide a system capable of avoiding splits that create a conflict of access to local variables following a split. Orlov fully discloses the above limitations of claim 4, but does not explicitly disclose the splitting being performed within a stateful application. However, Duggal discloses: “An example of a declarative composition of objects is an Internet of Things (IoT) application for automating industrial manufacturing, with relationships to entities 502 such as products, orders, materials and locations, to information 504 such as product specifications and machine specifications, to capabilities 506 such as machine activation, machine configuration, machining simulation, metric collection and metric aggregation, and nodes/devices 508 such as welding robots, 3D printers and atmospheric sensors for temperatures, pressure, moisture, etc.”, 0152 ; “In some embodiments, the platform is a serverless platform for stateful applications”, 0550. As per claim 16, it is a non-transitory computer media claim with substantially the same limitations as claim 4, and as such, it is rejected for substantially the same reasons. Claims 5 and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Lakshmanan (US 20110047554 A1) in view of Gold (US 20050273773 A1) in view of Makin (US 20180074748 A1) in further view of Ware (US 20210326286 A1) in further view of Ye (WO 2012119436 A1) in further view of Duggal (US 20210360083 A1) in further view of McKean (US 7480909 B2) in further view of Shin (US 20110173622 A1) in further view of Gotz (US 20230367629 A1) in further view of Inagaki (US 20090064112 A1). As per claim 5, Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz fully discloses the limitations of claim 2, but does not disclose the use of additional variables to represent a global variable. However, Inagaki discloses: splitting the stateful application comprises using additional variables to represent global variables of the control logic (“a compiler may split a variable in a program into new multiple variables respectively corresponding to parts of the program.”, 0004 ; Examiner Note: the new multiple variables equate to additional variables representing the initial variable which the numerous parts of the program had access to, i.e., global variables) The system of Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz in further view of Inagaki would be capable of using multiple variables to represent a single global variable in the process of splitting an application. It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the teachings of Lakshmanan in view of Makin in further view of Ye with those of Inagaki, in order to provide a system capable of handling a global variable in two separate locations when splitting an application- permitting the split applications to have more functional independence following the split. Inagaki fully discloses the above limitations of claim 5, but does not explicitly disclose the splitting being performed within a stateful application. However, Duggal discloses: “An example of a declarative composition of objects is an Internet of Things (IoT) application for automating industrial manufacturing, with relationships to entities 502 such as products, orders, materials and locations, to information 504 such as product specifications and machine specifications, to capabilities 506 such as machine activation, machine configuration, machining simulation, metric collection and metric aggregation, and nodes/devices 508 such as welding robots, 3D printers and atmospheric sensors for temperatures, pressure, moisture, etc.”, 0152 ; “In some embodiments, the platform is a serverless platform for stateful applications”, 0550. As per claim 17, it is a non-transitory computer media claim with substantially the same limitations as claim 5, and as such, it is rejected for substantially the same reasons. Claims 6 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Lakshmanan (US 20110047554 A1) in view of Gold (US 20050273773 A1) in view of Makin (US 20180074748 A1) in further view of Ware (US 20210326286 A1) in further view of Ye (WO 2012119436 A1) in further view of Duggal (US 20210360083 A1) in further view of McKean (US 7480909 B2) in further view of Shin (US 20110173622 A1) in further view of Gotz (US 20230367629 A1) in further view of Inagaki (US 20090064112 A1) in further view of Teyeb (US 20210243832 A1) in further view of Lau (US 20200195522 A1). As per claim 6, Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz in further view of Inagaki fully discloses the limitations of claim 5. Furthermore, Lakshmanan discloses: applying one or more predetermined rules for decision making to decide whether the transfer is feasible in response to the detected network load exceeding a specific threshold (“The predetermined criteria include: the physical connections of the target node, available load and memory of target node, minimizing the number of physical links, eliminating cycles, target node load correlation, and post-migration utilization of donor node and target node. At least some of these criteria should be met for selecting the target node. In a preferred embodiment, all of these criteria should be met for selecting the target node.”, 0088 ; “Furthermore, the physical machine link between the target node and the donor node currently hosting the target task must not have a very high network usage if the target task is stateful and has in-memory state. The more heavily utilized the link, the longer it will take to move state from the donor node to the target node.", 0090 ) Lakshmanan may disclose applying a predetermined rule to decide whether or not a transfer is feasible, however, this is not disclosed as being in response to a detected network load exceeding a threshold. However, Teyeb discloses: “In response to determining that the load on the network node exceeds the threshold amount, the network node ignores the first request for re-establishment”, 0031. It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the system of Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz in further view of Inagaki with the system of Teyeb, in order to provide a means for avoiding attempting to transfer application states when the network is already overloaded, thereby ensuring a faster transfer rate. Lakshmanan in view of Teyeb discloses the application of predetermined rules to determine whether an application transfer is feasible in response to the network load exceeding a threshold, but does not disclose the determination of an additional load from the creation of additional variables. However, Inagaki discloses: determining an additional load … resulting from the use of the additional variables (“On the other hand, when the variable is split into the new multiple variables, it is necessary to perform a process of assigning the value from one to a subsequent one of the new multiple variables. If this assigning process needs to be performed too many times, the execution efficiency of the program is decreased. For this reason, it is preferable to split a variable to an appropriate extent in order to enhance the execution efficiency of the program as a whole.", 0004 ; Examiner Note: determining decreased execution efficiency equates to determining additional load to be large.) Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz in further view of Teyeb in further view of Inagaki teaches the above limitations of claim 6, but does not disclose an additional compute or network load at the target node. However, Lau discloses: wherein the additional load comprises one or more of additional network load and additional compute load at the at least one target node (“However, this practice can be inefficient and can contribute to negative customer experiences when the system that customers are interacting with is not performing normally or nominally, for example when the system is enduring a partial service outage, network latency, partial hardware failure, additional compute loads on shared/supporting compute nodes, and so forth”, 0009 ; Examiner Note: the supporting compute nodes equate to the target node) It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the system of Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz in further view of Inagaki in further view of Teyeb with the awareness of additional compute loads of Lau, in order to provide a system capable of determining the additional compute load resulting from the use of additional variables, thereby allowing the system to avoid overloading the target node through the use of additional variables. As per claim 18, it is a non-transitory computer media claim with substantially the same limitations as claim 6, and as such, it is rejected for substantially the same reasons. Claims 8 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Lakshmanan (US 20110047554 A1) in view of Gold (US 20050273773 A1) in view of Makin (US 20180074748 A1) in further view of Ware (US 20210326286 A1) in further view of Ye (WO 2012119436 A1) in further view of Duggal (US 20210360083 A1) in further view of McKean (US 7480909 B2) in further view of Shin (US 20110173622 A1) in further view of Gotz (US 20230367629 A1) in further view of Buser (US 20200230499 A1). As per claim 8, Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz fully discloses the limitations of claim 1, but does not disclose the selection of batch size based on execution cycle. However, Buser discloses: determining that the first part of the stateful application state can be transferred from the source node to the at least one target node during one execution cycle of the application comprises identifying a batch of parts of the application state which can be transferred in parallel from the source node to one or more target nodes during that execution cycle (“GPU time sharing module 660 for allocating each processing slice of the GPUs 406 to a respective subset of online gaming sessions and dynamically sharing a duty cycle of a processing slice among two or more gaming sessions (i.e., executing the two or more gaming sessions simultaneously and in parallel during the duty cycle) according to real-time data processing need of the first and second gaming sessions”, 0109 ; Examiner Note: The consideration of duty cycle, or execution cycle, in the allocation of a number of session equates to the identifying of a number of parts which can be sent in a batch during an execution cycle) It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the teachings of Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz with the method of Buser, in order to enable parallel computing operations which do not exceed the execution cycle, thereby avoiding disruptions to the processing in the following cycle. Buser fully discloses the above limitations of claim 8, but does not explicitly disclose the state being that of a stateful application. However, Duggal discloses: “An example of a declarative composition of objects is an Internet of Things (IoT) application for automating industrial manufacturing, with relationships to entities 502 such as products, orders, materials and locations, to information 504 such as product specifications and machine specifications, to capabilities 506 such as machine activation, machine configuration, machining simulation, metric collection and metric aggregation, and nodes/devices 508 such as welding robots, 3D printers and atmospheric sensors for temperatures, pressure, moisture, etc.”, 0152 ; “In some embodiments, the platform is a serverless platform for stateful applications”, 0550. As per claim 20, it is a non-transitory computer media claim with substantially the same limitations as claim 8, and as such, it is rejected for substantially the same reasons. Claim 9 is rejected under 35 U.S.C. 103 as being unpatentable over Lakshmanan (US 20110047554 A1) in view of Gold (US 20050273773 A1) in view of Makin (US 20180074748 A1) in further view of Ware (US 20210326286 A1) in further view of Ye (WO 2012119436 A1) in further view of Duggal (US 20210360083 A1) in further view of McKean (US 7480909 B2) in further view of Shin (US 20110173622 A1) in further view of Gotz (US 20230367629 A1) in further view of Buser (US 20200230499 A1) in further view of Xu (US 20210004163 A1). As per claim 9, Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz in further view of Buser fully discloses the limitations of claim 8, but does not disclose the selection of batch size based on part size and network capacity. However, Xu discloses: determining the number of parts of the stateful application state to be transferred in parallel as part of the batch based on a size of one or more of the parts of the stateful application state and available network capacity (“the task batch size may be adjusted to be equal to, or a multiple of, the most recently calculated parallel I/O value, such that all the I/O tasks are enabled to efficiently run in parallel while avoiding waste of assigned bandwidth slots”, 0070 ; Examiner Note: number of I/O tasks, or task batch size to be run in parallel equates to number of parts to be transferred in parallel. Efficiently running without wasting assigned bandwidth slots equates to being based on network capacity) It would have been obvious to one of ordinary skill in the art, before the effective filing date, to combine the teachings of Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz in further view of Buser with the determination of batch size based on network capacity of Xu, in order to enable the system to run more efficiently (Xu, [0070]). Xu fully discloses the above limitations of claim 8, but does not explicitly disclose the application state being that of a stateful application. However, Duggal discloses: “An example of a declarative composition of objects is an Internet of Things (IoT) application for automating industrial manufacturing, with relationships to entities 502 such as products, orders, materials and locations, to information 504 such as product specifications and machine specifications, to capabilities 506 such as machine activation, machine configuration, machining simulation, metric collection and metric aggregation, and nodes/devices 508 such as welding robots, 3D printers and atmospheric sensors for temperatures, pressure, moisture, etc.”, 0152 ; “In some embodiments, the platform is a serverless platform for stateful applications”, 0550. Claim 10 is rejected under 35 U.S.C. 103 as being unpatentable over Lakshmanan (US 20110047554 A1) in view of Gold (US 20050273773 A1) in view of Makin (US 20180074748 A1) in further view of Ware (US 20210326286 A1) in further view of Ye (WO 2012119436 A1) in further view of Duggal (US 20210360083 A1) in further view of McKean (US 7480909 B2) in further view of Shin (US 20110173622 A1) in further view of Gotz (US 20230367629 A1) in further view of Buser (US 20200230499 A1) in further view of Xu (US 20210004163 A1) in further view of Chou (US 20180101218 A1). As per claim 10, Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz in further view of Buser in further view of Xu fully discloses the limitations of claim 9, but does not disclose the determination of slack time. However, Chou discloses: determining the number of parts of the stateful application state comprises taking into account compute time in order to determine a slack time during which the transfer is to be carried out (see fig.4A ; “FIG. 4A is an exemplary diagram illustrating the determination of slack time according to an embodiment of the application.", 0034) The system of Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Buser in further view of Xu in further view of Chou would be capable of determining a number of parts, or task batch size to transfer during a slack time determined from compute time. It would have been obvious to one of ordinary skill in the art, before the effective filing date to combine the teachings of Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz in further view of Buser in further view of Xu with those of Chou in order to provide the system with the ability to send a quantity of parts of a batch which can be sent during a slack time, thereby avoiding interrupting the primary processing of the execution cycle. Chou fully discloses the above limitations of claim 10, but does not explicitly disclose the state being that of a stateful application. However, Duggal discloses: “An example of a declarative composition of objects is an Internet of Things (IoT) application for automating industrial manufacturing, with relationships to entities 502 such as products, orders, materials and locations, to information 504 such as product specifications and machine specifications, to capabilities 506 such as machine activation, machine configuration, machining simulation, metric collection and metric aggregation, and nodes/devices 508 such as welding robots, 3D printers and atmospheric sensors for temperatures, pressure, moisture, etc.”, 0152 ; “In some embodiments, the platform is a serverless platform for stateful applications”, 0550. Claim 11 is rejected under 35 U.S.C. 103 as being unpatentable over Lakshmanan (US 20110047554 A1) in view of Gold (US 20050273773 A1) in view of Makin (US 20180074748 A1) in further view of Ware (US 20210326286 A1) in further view of Ye (WO 2012119436 A1) in further view of Duggal (US 20210360083 A1) in further view of McKean (US 7480909 B2) in further view of Shin (US 20110173622 A1) in further view of Gotz (US 20230367629 A1) in further view of Buser (US 20200230499 A1) in further view of Rao (US 20210097184 A1). As per claim 11, Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz in further view of Buser fully discloses the limitations of claim 8, but does not disclose the determination of slack time. However, Rao discloses: transferring a first batch of stateful application state parts during the first execution cycle, and a second batch of parts of the stateful application state during the second execution cycle (“For example, the external boot source transfers a first batch of boot code to the secure memory region, and the processing unit validates the first batch and transfers the first batch to the boot memory. In response to transferring the first batch to the boot memory, the external boot source transfers a second batch of boot code to the secure memory region, and the processing unit validates the second batch and transfers the second batch to the boot memory.", 0009 ; Examiner Note: a batch of boot code corresponds to a batch of application state parts.) The system of Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Buser in further view of Rao would be capable of sending appropriately sized batches of in sequential execution cycles (see Buser [0109]). It would have been obvious to one of ordinary skill in the art, before the effective filing date to combine the teachings of Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz in further view of Buser with those of Rao in order to provide the system with the ability to sequentially send a quantity of parts of a batch during sequential slack times, thereby avoiding interrupting the primary processing of the execution cycles. Rao fully discloses the above limitations of claim 10, but does not explicitly disclose the state being that of a stateful application. However, Duggal discloses: “An example of a declarative composition of objects is an Internet of Things (IoT) application for automating industrial manufacturing, with relationships to entities 502 such as products, orders, materials and locations, to information 504 such as product specifications and machine specifications, to capabilities 506 such as machine activation, machine configuration, machining simulation, metric collection and metric aggregation, and nodes/devices 508 such as welding robots, 3D printers and atmospheric sensors for temperatures, pressure, moisture, etc.”, 0152 ; “In some embodiments, the platform is a serverless platform for stateful applications”, 0550. Claim 12 is rejected under 35 U.S.C. 103 as being unpatentable over Lakshmanan (US 20110047554 A1) in view of Gold (US 20050273773 A1) in view of Makin (US 20180074748 A1) in further view of Ware (US 20210326286 A1) in further view of Ye (WO 2012119436 A1) in further view of Duggal (US 20210360083 A1) in further view of McKean (US 7480909 B2) in further view of Shin (US 20110173622 A1) in further view of Gotz (US 20230367629 A1) in further view of Gupta (US 20210004262 A1). As per claim 12, Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz fully discloses the limitations of claim 1, but does not disclose the comparing of outputs in the determination to switch between parts. However, Gupta discloses: comparing outputs produced by one or more deployed parts of the stateful application executing on respective target nodes with corresponding output produced by the application at the source node to identity a delta in the output of the application as deployed, and switching over to the one or more deployed parts of the stateful application state, if the result of the comparison are acceptable (“the computer-executable instructions that cause the system to start the virtual machine running on the destination host further include instructions that cause the computer to start the virtual machine running on the destination host as a result of determining that a difference between a state of the virtual machine on the source host and a state of the virtual machine on the destination host is below a threshold.”, clm.14 ; Examiner Note: a virtual machine running on a source or destination host equates to a deployed part of an application running on a target or source node. A difference between states equates to a delta of outputs, and being below a threshold equates to being acceptable. It would have been obvious to one of ordinary skill in the art, before the effective filing date to combine the teachings of Lakshmanan in view of Gold in further view of Makin in further view of Ware in further view of Ye in further view of Duggal in further view of McKean in further view of Shin in further view of Gotz with those of Gupta in order to provide the system with the ability to ensure that the deployed part running at the target, or destination is producing an output, or in a state, that is sufficiently similar to the part running at the source before switching over- thereby ensuring that only applications which have been correctly installed are executed (Gupta, [0004]). Gupta fully discloses the above limitations of claim 10, but does not explicitly disclose the application being a stateful application. However, Duggal discloses: “An example of a declarative composition of objects is an Internet of Things (IoT) application for automating industrial manufacturing, with relationships to entities 502 such as products, orders, materials and locations, to information 504 such as product specifications and machine specifications, to capabilities 506 such as machine activation, machine configuration, machining simulation, metric collection and metric aggregation, and nodes/devices 508 such as welding robots, 3D printers and atmospheric sensors for temperatures, pressure, moisture, etc.”, 0152 ; “In some embodiments, the platform is a serverless platform for stateful applications”, 0550. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Mandal (US 20240289232 A1) – discloses a system for scaling topics in a stateful event-driven platform. The system may compare a state of event records from backup partition and newly allocated backup partition. If they are different, the system can transfer the state to the new backup partition. The system can resume the application for generating an updated state, which is maintained at the new backup partition, based on the state and subsequent event records associated with the application. Ranjan (US 20190324786 A1) – discloses a method for re-deployment of VMs. The method entails discovering application consumption attributes, deploying containerized application, copying configuration details from manifest, and finally migrating stateful data to containerized application. Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to ROSS MICHAEL VINCENT whose telephone number is (703)756-1408. The examiner can normally be reached Mon-Fri 8:30AM-5:30PM. 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, April Blair can be reached on (571) 270-1014. 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. /R.M.V./ Examiner, Art Unit 2196 /APRIL Y BLAIR/Supervisory Patent Examiner, Art Unit 2196
Read full office action

Prosecution Timeline

Show 2 earlier events
Feb 21, 2025
Response Filed
May 06, 2025
Final Rejection mailed — §103
Aug 05, 2025
Response after Non-Final Action
Oct 03, 2025
Request for Continued Examination
Oct 09, 2025
Response after Non-Final Action
Dec 11, 2025
Non-Final Rejection mailed — §103
Mar 10, 2026
Response Filed
Apr 20, 2026
Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12632279
CROSS-PLATFORM VIRTUAL MACHINE MIGRATION
3y 5m to grant Granted May 19, 2026
Patent 12632323
CLOUD-NATIVE APPLICATION PROGRAMMING INTERFACE (API) RECOMMENDATION METHOD FUSING DATA AUGMENTATION AND CONTRASTIVE LEARNING
2y 8m to grant Granted May 19, 2026
Patent 12530219
TIME-BOUND LIVE MIGRATION WITH MINIMAL STOP-AND-COPY
3y 2m to grant Granted Jan 20, 2026
Patent 12511158
TASK ALLOCATION METHOD, APPARATUS, ELECTRONIC DEVICE AND COMPUTER-READABLE STORAGE MEDIUM
3y 3m to grant Granted Dec 30, 2025
Patent 12493493
METHOD AND SYSTEM FOR ALLOCATING GRAPHICS PROCESSING UNIT PARTITIONS FOR A COMPUTER VISION ENVIRONMENT
3y 10m to grant Granted Dec 09, 2025
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

5-6
Expected OA Rounds
56%
Grant Probability
86%
With Interview (+29.2%)
3y 5m (~0m remaining)
Median Time to Grant
High
PTA Risk
Based on 23 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