Prosecution Insights
Last updated: May 29, 2026
Application No. 18/026,143

Method for Transferring a Software Application from a First to a Second Data Processing Device

Non-Final OA §103
Filed
Mar 14, 2023
Priority
Sep 15, 2020 — EU 20196119 +1 more
Examiner
KAMRAN, MEHRAN
Art Unit
2196
Tech Center
2100 — Computer Architecture & Software
Assignee
Siemens Aktiengesellschaft
OA Round
2 (Non-Final)
90%
Grant Probability
Favorable
2-3
OA Rounds
0m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 90% — above average
90%
Career Allowance Rate
441 granted / 491 resolved
+34.8% vs TC avg
Moderate +14% lift
Without
With
+14.3%
Interview Lift
resolved cases with interview
Typical timeline
2y 7m
Avg Prosecution
13 currently pending
Career history
514
Total Applications
across all art units

Statute-Specific Performance

§101
1.1%
-38.9% vs TC avg
§103
90.6%
+50.6% vs TC avg
§102
1.5%
-38.5% vs TC avg
§112
5.3%
-34.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 491 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 . DETAILED ACTION This Office Action is in response to the amendment filed 11/26/2025. Claims 12-22 are pending in this application. Claims 12 and 22 are independent claims. Claims 12 and 22 are currently amended. This Office Action is made final. 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 of this title, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 12,15 and 22 are rejected under 35 U.S.C. 103 as being unpatentable over Saalfeld (US 10,778,585 B1) in view of Marsden (US 2014/0108344 A1). As per claim 12, Saalfeld teaches A method for transferring a software application from a first processing device to a second data processing device, the method comprising: a) executing a first instance of the software application implemented on the first data processing device, a scope of execution of the first instance of the software application within the first data processing device including: implementing data communication between the first instance of the software application and at least one of a further software application and an apparatus (Saalfeld Fig 4A link 110) storing state data in relation to at least one of (i) an internal state of the first data processing device and (ii) an internal execution of the first instance of the software application in a first storage device; (Saalfeld [col 9, lines 44-58] The compute host 100a may obtain the connection state and the application state 302 using any suitable technique. For example, the compute host 100a, the connection manager 300, and/or another component of the compute host 100a may gather/collect information for the connection state and the application state 302 from one or more sources, such as one or more services 108a running on the compute host 100a, one or more operating systems running on the compute host 100a, and any other software and/or hardware component of the compute host 100a. At least some of the information for the connection state and the application state 302 may be processed before it is sent to the compute host 100b. In some cases, at least some of the connection state and the application state 302 may be gathered and updated at a predetermined periodic interval and [col 9, lines 59-62] In embodiments, the connection state includes information for a connection-oriented protocol (e.g., TCP) and the application state includes information for an application-layer protocol (e.g., TLS, MQTT, HTTP). [col 12, lines 66-66 and col 13, lines 1-3] In embodiments, the application state may comprise other information for a state of an application (e.g., service 108a) or session that is used by the client and/or the connection 110.). b) transferring launch state data available on the first data processing device at a first time to a second storage device communicatively coupled to the second data processing device; (Saalfeld Fig 6 Block 608 (Send the connection state & application state to another compute host) and Fig 7 Block 710 (Send the connection state and the application state for the connection to the selected compute host)) d) handing over data communication with the further software application or apparatus from the first instance of the software application implemented on the first data processing device to the second instance of the software application implemented on the second data processing device. (Saalfeld [col 10, lines 46-67] FIG. 4B illustrates a system and a process for managing connection and application state migration for a client, according to some embodiments. As in FIG. 3B, the compute host 100b receives and applies the connection state and application state 302 to the compute host 100b in order to establish the termination point 106b to terminate the connection 110 at the compute host 100b instead of at the compute host 106a. In embodiments, subsequent to establishing the termination point 106b, the routing system routes the data for the connection 110 to the compute host 100b. In an embodiment, the client 112 is unaware of transfer of the connection 110 from the compute host 100a to the compute host 100b. In embodiments, subsequent to establishment of the termination point 106b, the connection manager 400a or 400b instructs the routing system to route the data for the connection 110 to the compute host 100b. In other embodiments, the routing system 104, the compute host 100b, the compute host 100a (e.g., a service 108a), the client 112, or another computing device of the service provider 102 may instruct the routing system to route the data for the connection 110 to the compute host 100b). Saalfeld does not teach c) launching a second instance of the software application, implemented on the second data processing device, at a second time utilizing the launch state data, the second instance of the software application being subsequently executed on the second data processing device such that, at a third time following the second time, the first instance of the software application on the first data processing device and the second instance of the software application on the second data processing device are executed synchronously. However, Marsden teaches c) launching a second instance of the software application, implemented on the second data processing device, at a second time utilizing the launch state data, the second instance of the software application being subsequently executed on the second data processing device in an accelerated manner relative to the first instance of the software application until, at a third time following the second time, the first instance of the software application on the first data processing device and the second instance of the software application on the second data processing device are executed synchronously; (Marsden [0046] According to another aspect of the present invention, there is provided a method of managing a plurality of applications hosted by a cluster of servers which each have an interface connectable to at least one client by a network, each application delivering a service at the client [0048] while the master server is hosting the live application, replicating changes in application data of the live application to a configurable number of servers in the cluster elected as slave servers whereby each elected slave server maintains a version of the application data of the live application, wherein responsive to an event in the cluster hosting of the application is transferred from the master server to one of the elected slave servers determined without intervention by a user when the event is detected, the elected slave server using its version of the current application data, to mount the application and become a new master server. [0273] They need to keep track of the connection because they have the ability to pause new requests on demand. This is in order to implement seamless live-migration. If the controller 30 has requested that a protocol handler 5 pauses connections to a given server 1, it will, in one of two modes [0298] Point-in-time snapshots of each application's data are taken within a configurable number of seconds of detection of changes to the application data, and the difference between these snapshots are replicated between the servers. This allows an application to be recovered automatically from a very recent copy of the data in the event that the system detects a failure of a component, server, network device, or even an entire data centre. [0300] then both sides' distributed protocol handlers succeed in closing all current connections and pausing/blocking all new incoming connections, the thrower instructs 104 its filesystem mount handler to unmount the filesystem, so that no further changes can possibly be made to it, at which point it takes a final snapshot of the filesystem and replicates 106 this final snapshot to the catcher, [0301] In the above described embodiments, a "seamless" live-migration is one in which all the modification which are occur on an application's filesystem on the old master by in-flight requests to the application are completed before the final snapshot is taken and replicated to the new master, so that when the filesystem is mounted on the new master, no application code or client can ever tell that the live migration happened, and no data is lost. Also see Fig 9). The examiner believes terms like synchronous, accelerated and seamless mean the same thing in terms of launching a second instance. There is no means for comparison or contrast with something else in the specification or claim language that would suggest why something is “accelerated”. The word synchronous (as opposed to asynchronous) means connecting the second device in a timely manner to preserve the state and connections. These aspects are all taught by the combination of Saalfeld and Marsden. It would have been obvious to a person in the ordinary skill in the art before the filing date of the claimed invention to combine Marsden with the system of Saalfeld to launch a second instance of the application. One having ordinary skill in the art would have been motivated to use Marsden into the system of Saalfeld for the purpose of replicating data pertaining to a set of applications across multiple (virtual or physical) servers (a cluster) in a high-latency networked system in a partition- and failure-tolerant manner (Marsden paragraph 01) As per claim 15, Saalfeld teaches wherein the data communication with at least one of the further software application and the apparatus is executed without interruptions. (Saalfeld [col 12, lines 43-48] FIG. 6 is a flow diagram of a process for connection and application state migration for uninterrupted service availability, according to some embodiments. One or more portions of the illustrated process may be performed via one or more components of the service provider, such as a routing system 104 and one or more compute hosts 100. [col 13, lines 37-43] FIG. 7 is a flow diagram of a process for connection and application state migration for uninterrupted service availability when rebooting a compute host, according to some embodiments. One or more portions of the illustrated process may be performed via one or more components of the service provider, such as a routing system 104 and one or more compute hosts 100.) As to claim 22, it is rejected based on the same reason as claim 12. Claims 13 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Saalfeld (US 10,778,585 B1) in view of Marsden (US 2014/0108344 A1) in further view of Chahal (US 2017 /0153963 A1). As per claim 13, Saalfeld and Marsden do not teach wherein input data for the further software application and/or apparatus and/or output data for the further software application and/or apparatus are stored during the data communication during said transferring launch state data of step a); wherein a tracing process for storing respectively current input data and/or output data in an I/O tracing database is launched in a further method step al) which precedes method step b); and wherein launching the second instance of the software application during method step c) is further implemented utilizing input and/or output data stored in the I/O tracing database in relation to the first time. However, Chahal teaches wherein input data for the further software application and/or apparatus and/or output data for the further software application and/or apparatus are stored during the data communication during said transferring launch state data of step a); wherein a tracing process for storing respectively current input data and/or output data in an I/O tracing database is launched in a further method step al) which precedes method step b); and wherein launching the second instance of the software application during method step c) is further implemented utilizing input and/or output data stored in the I/O tracing database in relation to the first time. (Chahal [0010] In yet another embodiment, the disclosed subject matter provides a computer program product for pre-deployment performance estimation of input-output intensive workloads, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform a method comprising the steps of generating the input-output traces of an application on a source system with varying concurrencies using an I/O trace capture module (210) followed by replaying the generated traces from the source system on a target system wherein the target system is to which the application needs to be migrated using an I/O trace replay module (212). The method further comprises the step of collecting performance data in the form of resource utilization, through-put time and response time from the target system using the I/O trace replay module (212); and lastly extrapolating the data gathered from the target system in order to accurately predict the performance of multi-threaded input-output intensive application in the target system using an Extrapolation module (214) [0033] In an embodiment of the invention, the I/O trace capture module (210) generates the traces in the user mode. There are multiple ways and tools to trace the I/O calls of an applications depending upon the layer they operate on e.g. kernel, user space or a combination of both. The user mode requires no modification in the application or the kernel. The input-output profile trace of AOI is captured using the strace utility in linux system. In order to reduce the strace overhead and the size of trace file, only input-output related calls are captured and the following I/O system calls are captured: read( ), write( ), pread( ), pwrite( ), Iseek( ), fsync( ), open( ), close( ). Each row in the captured trace consists of process ID, timestamp value, offset and the input-output system call. In order to capture the trace, all the thread IDs are first found that are spawned by MySQL and then strace is attached to each of these IDs. Thus multiple trace output files are created. In order to maintain the same order of the execution on the target system, all these files are merged in to a single file and then the output system calls are sorted according to the timestamp value.). It would have been obvious to a person in the ordinary skill in the art before the filing date of the claimed invention to combine Chahal with the system of Saalfeld and Marsden to implement a tracing process. One having ordinary skill in the art would have been motivated to use Chahal into the system of Saalfeld and Marsden for the purpose of predicting the performance of input-output intensive distributed enterprise application. (Chahal paragraph 02) As per claim 14, Chahal teaches wherein at least one of the input date and output data stored in the I/O tracing database are each assigned at least one time value. (Chahal [0033] In an embodiment of the invention, the I/O trace capture module (210) generates the traces in the user mode. There are multiple ways and tools to trace the I/O calls of an applications depending upon the layer they operate on e.g. kernel, user space or a combination of both. The user mode requires no modification in the application or the kernel. The input-output profile trace of AOI is captured using the strace utility in linux system. In order to reduce the strace overhead and the size of trace file, only input-output related calls are captured and the following I/O system calls are captured: read( ), write( ), pread( ), pwrite( ), Iseek( ), fsync( ), open( ), close( ). Each row in the captured trace consists of process ID, timestamp value, offset and the input-output system call. In order to capture the trace, all the thread IDs are first found that are spawned by MySQL and then strace is attached to each of these IDs. Thus multiple trace output files are created. In order to maintain the same order of the execution on the target system, all these files are merged in to a single file and then the output system calls are sorted according to the timestamp value. [0034] The input-output system calls are captured along with their timestamp. When the trace is replayed on the target system it is ensured that input-output calls are executed at the same time interval as in the original system so that workload is replicated correctly). Claim 16 is rejected under 35 U.S.C. 103 as being unpatentable over Saalfeld (US 10,778,585 B1) in view of Marsden (US 2014/0108344 A1) in further view of Vogt (US 11,775,351 B2). As per claim 16, Saalfeld and Marsden do not teach wherein the first instance of the software application on the first data processing device and the second instance of the software application on the second data processing device are each run cyclically. However, Vogt teaches wherein the first instance of the software application on the first data processing device and the second instance of the software application on the second data processing device are each run cyclically. (Vogt [col 2, lines 3-8] (6) Program execution in the PLC is e.g. determined in the IEC 61131-3 standard. The PLC has a control task which usually consists of one or of a plurality of programs generally to be executed in a cyclic manner, said programs comprising so-called “tasks”) Examiner believes this is consistent with what is disclosed in the specification ([0078] Here, in general, a cyclic execution of a software application is understood to mean that the software application, once terminated, executes again from the start. Such cyclic executions are frequently used, as a rule, with real-time operating systems and/or real-time controllers of machines or installations. By way of example, a cyclic program execution is frequently used within the scope of the program execution on programmable logic controllers). It would have been obvious to a person in the ordinary skill in the art before the filing date of the claimed invention to combine Vogt with the system of Saalfeld and Marsden to run instances cyclically. One having ordinary skill in the art would have been motivated to use Vogt into the system of Saalfeld and Marsden for the purpose of using processing data that may be used in a real-time system. (Vogt col 2, lines 48) Claims 17 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Saalfeld (US 10,778,585 B1) in view of Marsden (US 2014/0108344 A1) in further view of Nye (US 2019/0129744 A1). As per claim 17, Saalfeld and Marsden do not teach wherein the first and second data processing devices each comprise a real-time operating system, execution of the first instance of the software application on the first data processing device and execution of the second instance of the software application on the second data processing device being respectively performed within a scope of the respective real-time operating system of the respective data processing device. However, Nye teaches wherein the first and second data processing devices each comprise a real-time operating system, execution of the first instance of the software application on the first data processing device and execution of the second instance of the software application on the second data processing device being respectively performed within a scope of the respective real-time operating system of the respective data processing device. (Nye [0070] Some applications may operate strictly in real-time. Examples of strictly real-time applications may be safety critical applications that relate to controls for equipment that can cause harm to life or property in the event of a malfunction. Another example of real-time applications may be applications that are dependent on links to external equipment such as satellites that are difficult to re-negotiate or re-establish. These applications may be difficult to migrate using typical live migration methods because the downtime entailed by taking the application offline and moving the hardware resources to another server may result in serious degradation to performance metrics (such as the aforementioned QoS metrics). In other words, these applications may be unable to “pause” as is required in traditional migration methods, but may be capable of live migration using the methods associated with the present invention). It would have been obvious to a person in the ordinary skill in the art before the filing date of the claimed invention to combine Nye with the system of Saalfeld and Marsden to use a real-time operating system. One having ordinary skill in the art would have been motivated to use Nye into the system of Saalfeld and Marsden for the purpose of implementing live migration of hardware accelerated applications from a source server to a destination server (Nye paragraph 07). As per claim 18, Saalfeld and Marsden do not teach wherein the first and the second instances of the software application are each configured for real-time data communication with at least one of the further software application and the apparatus. However, Nye teaches wherein the first and the second instances of the software application are each configured for real-time data communication with at least one of the further software application and the apparatus. (Nye [0070] Some applications may operate strictly in real-time. Examples of strictly real-time applications may be safety critical applications that relate to controls for equipment that can cause harm to life or property in the event of a malfunction. Another example of real-time applications may be applications that are dependent on links to external equipment such as satellites that are difficult to re-negotiate or re-establish. These applications may be difficult to migrate using typical live migration methods because the downtime entailed by taking the application offline and moving the hardware resources to another server may result in serious degradation to performance metrics (such as the aforementioned QoS metrics). In other words, these applications may be unable to “pause” as is required in traditional migration methods, but may be capable of live migration using the methods associated with the present invention). It would have been obvious to a person in the ordinary skill in the art before the filing date of the claimed invention to combine Nye with the system of Saalfeld and Marsden to use real-time data communication. One having ordinary skill in the art would have been motivated to use Nye into the system of Saalfeld and Marsden for the purpose of implementing live migration of hardware accelerated applications from a source server to a destination server (Nye paragraph 07) Claim 19 is rejected under 35 U.S.C. 103 as being unpatentable over Saalfeld (US 10,778,585 B1) in view of Marsden (US 2014/0108344 A1) in further view of Tsirkin (US 2014/0245293 A1). As per claim 19, Saalfeld and Marsden do not teach wherein the data communication is performed utilizing a memory region jointly utilized by the communication partners involved. However, Tsirkin teaches wherein the data communication is performed utilizing a memory region jointly utilized by the communication partners involved. (Tsirkin [0029] In an example, a first application running on a first VM and a second application running on a second VM may communicate with each other using a shared memory region that is shared between the first and second VMs. For instance, the first application may communicate to the second application by writing to a portion of the shared memory region, and the second application may read from that portion of memory. When VMs share a shared memory region, the proportion of the host machine's total computer resources may be increased because less memory may be used to store data associated with the VMs). It would have been obvious to a person in the ordinary skill in the art before the filing date of the claimed invention to combine Tsirkin with the system of Saalfeld and Marsden to use a jointly owned memory system. One having ordinary skill in the art would have been motivated to use Tsirkin into the system of Saalfeld and Marsden for the purpose of migration of a virtual machine sharing a memory region with another virtual machine (Tsirkin paragraph 05) Claim 20 is rejected under 35 U.S.C. 103 as being unpatentable over Saalfeld (US 10,778,585 B1) in view of Marsden (US 2014/0108344 A1) in further view of Miedziejewski (US 2020/0026604 A1). As per claim 20, Saalfeld and Marsden do not teach wherein the state data are labeled within a scope of configuring the first instance of the software application on the first data processing device. However, Miedziejewski teaches wherein the state data are labeled within a scope of configuring the first instance of the software application on the first data processing device. (Miedziejewski [0013] The systems and methods described herein are configured for rerouting data traffic of applications to data sources. A failover application receives a failover request indicating a main application, associated sub-applications of the main application, and a target data source for the failover. The failover application identifies configuration data unique to the main application that includes one or more address masks associated with the target data source. The address masks enable routing of data traffic from the main application and associated sub-applications to the target data source. The failover application generates failover instructions for activating data traffic routing of the main application and/or sub-applications to the target data source based on the address mask(s) of the target data source. Then, the failover application provides the generated failover instructions to a data traffic manager associated with the main application, whereby data traffic of the at least one sub-application is routed to the target data source by the data traffic manager. The failover application provides flexible failover functionality that can be applied to any main application and associated sub-applications that include a compatible set of configuration data.) The examiner believes this is consistent with what is disclosed in the specification [0035] In an advantageous embodiment, the state data is labeled separately. By way of example, this labeling can be performed by a system for the creation of such a software application or can be configured, for example, by an engineering system. By way of example, the label can be stored together with the state data or in a separate file or a separate memory area. Furthermore, the state data can be stored separately, such as in a separate file, a separate memory area, and/or a separate storage device). It would have been obvious to a person in the ordinary skill in the art before the filing date of the claimed invention to combine Miedziejewski with the system of Saalfeld and Marsden to label state data. One having ordinary skill in the art would have been motivated to use Miedziejewski into the system of Saalfeld and Marsden for the purpose of handling failover request of an application (Miedziejewski paragraph 03). Claim 21 is rejected under 35 U.S.C. 103 as being unpatentable over Saalfeld (US 10,778,585 B1) in view of Marsden (US 2014/0108344 A1) in further view of Ge (US 2018/0332654 A1). As per claim 21, Saalfeld and Marsden do not teach wherein the first and second data processing device are each configured as a control device for controlling an apparatus or installation. However, Ge teaches wherein the first and second data processing device are each configured as a control device for controlling an apparatus or installation. (Ge [0002] Various aspects of this description generally relate to methods and migration manager components for transferring a first application running on a first computing device from the first computing device to a second computing device and systems for controlling at least one telecommunication base station [apparatus]. [0070] Example 31 is a method for transferring a first application running on a first computing device from the first computing device to a second computing device, the first application being configured to manage at least one communication connection of at least one terminal device to a telecommunication network via a base station antenna structure by sending first signals including connection control signals and service data signals to the at least one terminal device, the method including: initializing a second application configured to manage the at least one communication connection of the at least one terminal device to the telecommunication network via the base station antenna structure by sending second signals including connection control signals to the at least one terminal device; transferring management of the at least one communication connection of the at least one terminal device to the telecommunication network via the base station antenna structure from the first application to the second application, wherein the first application stops sending first signals and the second application starts sending second signals; stopping the execution of the first application at the first computing device; initializing the first application at the second computing device; transferring management of the at least one connection of the at least one terminal device to the telecommunication network via the base station antenna structure from the second application to the first application, wherein the second application stops sending second signals and the first application starts sending first signals. [0077] In Example 38, the subject matter of any of Examples 31-37 may optionally include that the second application takes over a task of continuously sending control signals via the base station antenna structure from the first application, when the second application is managing the at least one communication connection.) It would have been obvious to a person in the ordinary skill in the art before the filing date of the claimed invention to combine Ge with the system of Saalfeld and Marsden to control an apparatus or installation. One having ordinary skill in the art would have been motivated to use Ge into the system of Saalfeld and Marsden for the purpose of transferring a first application running on a first computing device from the first computing device to a second computing device and systems. (Ge paragraph 02) Response to Arguments Applicant's arguments filed on 11/26/2025 have been fully considered but they are not persuasive. Applicant’s arguments with respect to claims 12 and 22 have been considered but are moot because the arguments do not apply because of the introduction of new art by Marsden. Conclusion Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any extension fee pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to MEHRAN KAMRAN whose telephone number is (571)272-3401. The examiner can normally be reached on 9-5. 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. /MEHRAN KAMRAN/Primary Examiner, Art Unit 2196
Read full office action

Prosecution Timeline

Mar 14, 2023
Application Filed
Aug 27, 2025
Non-Final Rejection mailed — §103
Nov 26, 2025
Response Filed
Feb 04, 2026
Final Rejection mailed — §103
Apr 03, 2026
Response after Non-Final Action
Apr 22, 2026
Request for Continued Examination
Apr 24, 2026
Response after Non-Final Action

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12639090
GUEST-ASSISTED LIVE STORAGE MIGRATION
3y 5m to grant Granted May 26, 2026
Patent 12613736
MEMORY AWARE CONTEXT SWITCHING
3y 9m to grant Granted Apr 28, 2026
Patent 12613857
DATABASE SERVER AGENT
2y 11m to grant Granted Apr 28, 2026
Patent 12591444
Hardware Virtual Machine for Controlling Access to Physical Memory Space
3y 7m to grant Granted Mar 31, 2026
Patent 12585486
SYSTEMS AND METHODS FOR DEPLOYING A CONTAINERIZED NETWORK FUNCTION (CNF) BASED ON INFORMATION REGARDING THE CNF
3y 3m to grant Granted Mar 24, 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

2-3
Expected OA Rounds
90%
Grant Probability
99%
With Interview (+14.3%)
2y 7m (~0m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 491 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