Prosecution Insights
Last updated: October 02, 2026
Application No. 18/541,760

VIRTUAL MACHINE MIGRATION WITH VIRTUAL CPU DESCRIPTORS

Non-Final OA §101§103
Filed
Dec 15, 2023
Examiner
MHEIR, ZUHEIR
Art Unit
2198
Tech Center
2100 — Computer Architecture & Software
Assignee
Red Hat Inc.
OA Round
1 (Non-Final)
78%
Grant Probability
Favorable
1-2
OA Rounds
4m
Est. Remaining
88%
With Interview

Examiner Intelligence

Grants 78% — above average
78%
Career Allowance Rate
62 granted / 80 resolved
+22.5% vs TC avg
Moderate +10% lift
Without
With
+10.2%
Interview Lift
resolved cases with interview
Typical timeline
3y 2m
Avg Prosecution
6 currently pending
Career history
92
Total Applications
across all art units

Statute-Specific Performance

§101
23.4%
-16.6% vs TC avg
§103
49.3%
+9.3% vs TC avg
§102
15.6%
-24.4% vs TC avg
§112
7.7%
-32.3% vs TC avg
Black line = Tech Center average estimate • Based on career data from 80 resolved cases

Office Action

§101 §103
DETAILED ACTION Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Claims 1-20 are pending in this office correspondence. Drawings The Drawings filed on 12/15/2023, have been acknowledged. Claim Rejections - 35 USC § 101 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claim 20 is rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. Independent claim 20 recites the following: “A non-transitory computer-readable storage medium that includes computer-executable instructions that, when executed, cause one or more processor devices: …” The aforementioned recited claim language of - “A non-transitory computer-readable storage medium …”, wherein the instant application specification references this “non-transitory computer-readable medium” in paragraph [0045] as follows: “The computing device 100 may further include or be coupled to a non-transitory computer-readable storage medium such as a storage device 114, such as the storage device 16, which may comprise, for example, an internal or external hard disk drive (HDD) (e.g., enhanced integrated drive electronics (EIDE) or serial advanced technology attachment (SATA)), HDD (e.g., EIDE or SATA) for storage, flash memory, or the like.” (Emphasis Added) In the aforementioned instant application paragraph [0045], the “non-transitory computer-readable storage medium” is explicitly identified to comprise, for example, “an internal or external hard disk drive (HDD), …, or the like.” Furthermore, the instant application specification further discusses this “non-transitory computer-readable medium” differently in paragraph [0046] as follows: “All or a portion of the examples may be implemented as a computer program product 118 stored on a transitory or non-transitory computer-usable or computer-readable storage medium, such as the storage device 114, which includes complex programming instructions, ...” (Emphasis Added). As recited above, the instant application specification discusses this “non-transitory computer-readable storage medium” as having hardware structure, for example, such as a storage device 114 as discussed in paragraph [0045]. However, when the instant application specification of paragraph [0046] discusses a “a transitory or non-transitory computer-usable or computer-readable storage medium, such as the storage device 114, …” (Emphasis Added), which leaves the examiner confused of the meets and bounds of this “computer-readable storage medium” as being a transitory or non-transitory computer-readable storage medium as the same reference example of storage device 114 has been referred to identify both forms of storage media. Furthermore, and consistent with the well-established axiom in patent law that a patentee or applicant is free to be his or her own lexicographer, a patentee or applicant may use terms in a manner contrary to or inconsistent with one or more of their ordinary meanings, see MPEP 2173.05(a). Therefore, the term “non-transitory” is not sufficient to render a claim statutory, it must be explicitly supported by the specification. Non-limiting examples of claims that are not directed to any of the statutory categories include: Products that do not have a physical or tangible form, such as information (often referred to as "data per se") or a computer program per se (often referred to as "software per se") when claimed as a product without any structural recitations, see MPEP 2106.03. Software per se is not patentable subject matter. Accordingly, the aforementioned claim(s) is/are rejected as non-statutory for failing to disclose such hardware. Appropriate correction is required. Claims 1-20 are rejected under 35 U.S.C 101 because the claimed invention is directed to abstract idea without significantly more. Step 1: The claims are directed to a process and a system, wherein the claimed process determines that a workload of a first virtual machine is to be transferred to a second virtual machine. Further, the computing device generates a file comprising virtual CPU (vCPU) data that describes current conditions of the first virtual machine. Then, the computing device transmits this file from the first virtual machine to the second virtual machine. Furthermore, the computing device restores the current conditions of the first virtual machine on the second virtual machine based on the file. Then, the computing device sends a signal/acknowledgement to the first virtual machine indicating that the current conditions of the first virtual machine are restored on the second virtual machine. Step 2A – Prong One – The claims recite an abstract idea Independent claims 1, 13 and 20 are directed to an abstract idea without significantly more. The claim(s) recites the following limitation: “determining, by a hypervisor executing on a computing device, that a workload of a first virtual machine is to be transferred to a second virtual machine.” The aforementioned claim language recites process steps that, under its broadest reasonable interpretation, cover performance of the limitation in the mind, but for the recitation of generic computer components. That is, other than reciting: “a computing device”, “a memory”, “a processor device” and/or “a computer-readable storage medium”, nothing in the claim element precludes the steps from practically being performed in a human mind. For example, and given some information at hand, the claim’s recited language of “determining, …, that a workload of a first virtual machine is to be transferred …”, which is recited at a high-level or generality for which a person is mentally capable, or with the aid of pen and paper, of evaluating this information at hand and be able to determine to take an action, which is a mental process. As explained above, a process of “determining, …, that a workload of a first virtual machine is to be transferred …” recites nothing more than an abstract idea. Consequently, if a claim limitation, under its broadest reasonable interpretation, covers an abstract idea that includes a series of steps that recite mental steps, but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of “Abstract Ideas”. Accordingly, the aforementioned claim(s) recite abstract ideas. Step 2A – Prong Two - The abstract idea is not integrated into a practical application This judicial exception is not integrated into a practical application. In particular, the aforementioned claims recite the additional limitation of – “generating, by the hypervisor, a file comprising virtual CPU (vCPU) data that describes current conditions of the first virtual machine.” At this step, the cited language of: “generating, …, a file comprising virtual CPU (vCPU) data …”, is considered an insignificant extra-solution activity of data-transmission activity for simply enabling a person to deal with information/data for later use, which is considered to be an insignificant extra-solution activity to the judicial exception, for which an extra-solution activity includes both pre-solution and post-solution activity, see MPEP 2106.05(g). For example, the courts have decided that the use of a computer or other machinery in its ordinary capacity for economic or other tasks (e.g., to receive, store, or transmit data) or simply adding a general-purpose computer or computer components after the fact to an abstract idea, does not integrate a judicial exception into a practical application or provide significantly more, see MPEP 2106.05(f) and MPEP 2106.05(g). Further, the aforementioned claim recites the following – “transmitting, by the hypervisor, the file from the first virtual machine to the second virtual machine.” Again, at this step, the cited language of: “transmitting, …, the file from the first virtual machine to …”, is considered an insignificant extra-solution activity of data-transmission activity for simply enabling a person to deal with information/data for later use, which is considered to be an insignificant extra-solution activity to the judicial exception, for which an extra-solution activity includes both pre-solution and post-solution activity, see MPEP 2106.05(g). Further, the aforementioned claim recites the following – “restoring, by the hypervisor, the current conditions of the first virtual machine on the second virtual machine based on the file.” Again, at this step, the cited language of: “restoring, …, the current conditions of the first virtual machine …”, is considered an insignificant extra-solution activity of data-gathering activity for simply enabling a person to deal with information/data for later use, which is considered to be an insignificant extra-solution activity to the judicial exception, for which an extra-solution activity includes both pre-solution and post-solution activity, see MPEP 2106.05(g). Additionally, the aforementioned claims recite the following – “sending, by the hypervisor, a signal to the first virtual machine indicating that the current conditions of the first virtual machine are restored on the second virtual machine.” Further this step again, the cited language of: “sending, …, a signal to the first virtual machine indicating …”, amounts to mere data-transmission steps to enable a person to deal with information/data, which is considered an insignificant extra-solution activity because it is a mere nominal or tangential addition to the claim, a mere generic process of transmission of collected and/or analyzed data, see MPEP 2106.05(g). The additional elements recited in the aforementioned claim(s) are: “a hypervisor”, “a computing device”, “a memory”, “a processor device” and/or “a computer-readable storage medium”. The additional elements of using a computer, storage device(s) and processor(s) to obtain information, analyze information, and manipulate information amounts to no more than mere instructions to apply the exception using generic computer components. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception. See MPEP 2106.05(f). Step 2B: The claim(s) do not include additional elements that are sufficient to amount to significantly more than the judicial exception. The insignificant extra-solution activity identified above, which include the data-gathering activities (“restoring, …”); and data-transmission activities (“generating …”, “transmitting …” and “sending …”), are recognized by the courts as well-understood, routine, and conventional activities when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity (See MPEP 2106.05(d)(II)(i) Receiving or transmitting data over a network, e.g., using the Internet to gather data, buySAFE, Inc. v. Google, Inc., 765 F.3d 1350, 1355, 112 USPQ2d 1093, 1096 (Fed. Cir. 2014) (computer receives and sends information over a network); (v) Presenting offers and gathering statistics, OIP Techs., 788 F.3d at 1362-63, 115 USPQ2d at 1092-93). Additionally, the system, processor and storage device(s) are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component and cannot provide an inventive concept. Thus, there are no additional elements that amount to significantly more than the above-identified judicial exception (the abstract idea). Looking at the limitations as an ordered combination adds nothing that is not already present when looking at the elements taken individually. There is no indication that any combination of elements improves the functioning of a computer or improves any other technology. The claim(s) is not patent eligible. Claim 2 is dependent on claim 1 and includes all the limitations of claim 1. Further, the aforementioned claim recites the additional limitations of “determining that the workload of the first virtual machine is to be transferred to the second virtual machine comprises determining that one or more parameters of the first virtual machine are insufficient for the workload of the first virtual machine.” At this step, the recited language of “determining that the workload of the first virtual machine is to be transferred …”, which continues to recite high-level of a mental process of evaluating information at hand to take an action, which under its broadest reasonable interpretation covers performance of the limitation in the mind, but for the recitation of generic computer components, therefore does not amount to significantly more than the abstract idea. Claim 3 is dependent on claim 2 and includes all the limitations of claim 2. The aforementioned claim recites the additional limitations of “wherein the one or more parameters of the first virtual machine comprise one or more of computing resources, client computing device traffic, errors, or policies.” At this step, the recited language of “the one or more parameters of the first virtual machine comprise one or more of computing resources, client computing device traffic …”, which again continues to recite a mental abstract evaluation of information type, which does not amount to significantly more than the abstract idea. Claim 4 is dependent on claim 2 and includes all the limitations of claim 2. The aforementioned claim recites the additional limitations of “obtaining data that describes computing resources of the first virtual machine.” The claimed language of “obtaining data that describes computing resources, …”, is considered an insignificant extra-solution activity of data-gathering activity for simply enabling a person to deal with information/data for later use, which is considered to be an insignificant extra-solution activity to the judicial exception, for which an extra-solution activity includes both pre-solution and post-solution activity, see MPEP 2106.05(g), which does not amount to significantly more than the abstract idea. Further, the aforementioned claim continues to recite the following limitations: “determining, based on the data, that additional computing resources are needed for the first virtual machine.” At this, the processing evaluates information at hand to arrive at a conclusion based on this information at hand, which is a mental process to evaluate information that does not amount to significantly more than the abstract idea. Claim 5 is dependent on claim 1 and includes all the limitations of claim 1. Further, the aforementioned claim recites the additional limitation of “instantiating the second virtual machine with a state of the first virtual machine, wherein the state of the first virtual machine is included in the vCPU data; and initiating the second virtual machine at an execution point of the first virtual machine based on a plurality of pointers in the vCPU data that identify the execution point of the first virtual machine.” At this point, the aforementioned claim limitation languages of “instantiating the second virtual machine …” and “initiating the second virtual machine at an execution point …”, which recite mere instructions to apply the exception using a generic computer component and are recognized by the courts as well-understood, routine, and conventional activities when they are claimed in a merely generic manner and cannot provide an inventive concept, which does not amount to significantly more than the abstract idea. Claim 6 is dependent on claim 1 and includes all the limitations of claim 1. The aforementioned claim recites the additional limitations of “prior to sending the signal to the first virtual machine indicating that the current conditions of the first virtual machine are restored on the second virtual machine, determining that the file was accepted by the second virtual machine.” Again, at this step, the claim recited language of – “determining that the file was accepted …”, which disclose steps to analyze information presented to a user, which does not amount to significantly more than the abstract idea. Further, the aforementioned claim continues to recite the following limitations: “determining that the second virtual machine is executing the workload with the current conditions of the first virtual machine.” At this step, the processing evaluates information at hand to arrive at a conclusion based on this information at hand, which is a mental process to evaluate information that does not amount to significantly more than the abstract idea. Finally, aforementioned claim recites the additional limitations of “wherein sending the signal to the first virtual machine indicating that the current conditions of the first virtual machine are restored on the second virtual machine comprises sending the signal in response to determining that the file was accepted by the second virtual machine and the second virtual machine is executing the workload with the current conditions of the first virtual machine.” The claimed language of “sending the signal in response to determining that the file was accepted, …”, is considered an insignificant extra-solution activity of data-transmission activity for simply enabling a person to deal with information/data for later use, which is considered to be an insignificant extra-solution activity to the judicial exception, for which an extra-solution activity includes both pre-solution and post-solution activity, see MPEP 2106.05(g), which does not amount to significantly more than the abstract idea. Claim 7 is dependent on claim 1 and includes all the limitations of claim 1. The aforementioned claim recites the additional limitations of “prior to sending the signal to the first virtual machine indicating that the current conditions of the first virtual machine are restored on the second virtual machine, receiving an error message indicating that an error occurred”. The claimed language of “receiving an error message indicating that an error occurred”, is considered an insignificant extra-solution activity of data-gathering activity for simply enabling a person to deal with information/data for later use, which does not amount to significantly more than the abstract idea. Further, the aforementioned claim recites the additional limitation of: “generating a new file comprising vCPU data that describes current conditions of the first virtual machine.” At this step, At this step, the cited language of: “generating a new file comprising virtual CPU (vCPU) data …”, is considered an insignificant extra-solution activity of data-transmission activity for simply enabling a person to deal with information/data for later use, which is considered to be an insignificant extra-solution activity to the judicial exception, for which an extra-solution activity includes both pre-solution and post-solution activity, see MPEP 2106.05(g). The claim continues to recite the following limitation: “transmitting the new file from the first virtual machine to the second virtual machine”, at this step the recited language of “transmitting …” is considered an insignificant extra-solution activity of data-transmission activity for simply enabling a person to deal with information/data for later use, which does not amount to significantly more than the abstract idea. Furthermore, the claim recites the following limitation: “restoring the current conditions of the first virtual machine on the second virtual machine based on the new file.” At this step, the recited language of “restoring …” is considered an insignificant extra-solution activity of data-gathering activity for simply enabling a person to deal with information/data for later use, which does not amount to significantly more than the abstract idea, see MPEP 2106.05(g). Claim 8 is dependent on claim 1 and includes all the limitations of claim 1. The aforementioned claim recites the additional limitation of “subsequent to sending the signal to the first virtual machine indicating that the current conditions of the first virtual machine are restored on the second virtual machine, terminating the first virtual machine.” The recited claim language of “terminating the first virtual …”, which recite mere instructions to apply the exception using a generic computer component and are recognized by the courts as well-understood, routine, and conventional activities when they are claimed in a merely generic manner and cannot provide an inventive concept, which does not amount to significantly more than the abstract idea. Claim 9 is dependent on claim 1 and includes all the limitations of claim 1. The aforementioned claim recites the additional limitation of “wherein the workload of the first virtual machine comprises a current workload of the first virtual machine or a future increase in workload of the first virtual machine”. At this step, the recited language of “the workload of the first virtual machine comprises a current workload or …”, which recites a mental abstract evaluation of information type and/or abstract definition of terms, which does not amount to significantly more than the abstract idea. Claim 10 is dependent on claim 1 and includes all the limitations of claim 1. The aforementioned claim recites the additional limitation of “wherein the vCPU data that describes the current conditions of the first virtual machine comprises one or more of a current state of the first virtual machine, connections between client computing devices and the first virtual machine, or pointers to a plurality of vCPUs.” The claimed language of “the vCPU data that describes the current conditions of the first virtual machine comprises one or more of a current state of the …”, which recites a mental abstract evaluation of information type and/or abstract definition of terms, which does not amount to significantly more than the abstract idea. Claim 11 is dependent on claim 1and includes all the limitations of claim 1. The aforementioned claim recites the additional limitation of “creating a group comprising one or more vCPUs of the first virtual machine and one or more vCPUs of the second virtual machine, wherein transmitting the file from the first virtual machine to the second virtual machine comprises passing the file to one or more of the one or more vCPUs of the second virtual machine.” The claimed language of “transmitting the file from the first virtual machine to the second virtual machine comprises passing the file to …” recites an insignificant extra-solution activity of data transmission, which does not amount to significantly more than the abstract idea. Claim 12 is dependent on claim 1 and includes all the limitations of claim 9. The aforementioned claim recites the additional limitation of “wherein the hypervisor is operable to allocate computing resources to the first virtual machine and the second virtual machine.” The claimed language of “the hypervisor is operable to allocate computing resources to, …”, which recite mere instructions to apply the exception using a generic computer component and are recognized by the courts as well-understood, routine, and conventional activities when they are claimed in a merely generic manner and cannot provide an inventive concept, which does not amount to significantly more than the abstract idea. Independent claims (13 and 20) recite similar limitations to independent claim 1 and rejected for similar reasons and mentioned above. Dependent claims (14-19) recite similar limitations to dependent claims (2-8) and rejected for similar reasons and mentioned above. The aforementioned claims are not patent eligible. Claim Rejections - 35 USC § 103 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1-6, 8-17 and 19-20 are rejected under 35 U.S.C. 103 as being unpatentable over US Patent Application Publication (US 20200341797 A1) issued to Tsirkin (hereinafter as “TSIRKIN”), and in view of US Patent Application Publication (US 20220214902 A1) issued to ZHAO et al. (hereinafter as “ZHAO”). Regarding claim 1, TSIRKIN teaches a method, comprising: determining, by a hypervisor executing on a computing device, that a workload of a first virtual machine is to be transferred to a second virtual machine (TSIRKIN Fig. 1, Para [0019]: “Device virtualization may be implemented by intercepting VM memory read/write and/or input/output (I/O) operations with respect to certain memory and/or I/O port ranges, and by routing hardware interrupts to a VM 110 associated with the corresponding virtual device. Hypervisor 115 may provide interfaces between the underlying hardware and virtual devices of VMs 110. VM 110 may execute a guest OS (not shown), which may utilize underlying virtual processors (virtual central processing units (vCPUs)), virtual memory, and virtual I/O devices. One or more applications may be executing on VM 110 through the guest OS.”; and Fig. 1, Para. [0026]: “Source hypervisor 115a may initiate live migration responsive to receiving a request from migration manager 127 of host controller 125 to migrate VM 110 from source host 101a to destination host 101b. …, host controller 125 may issue the migration request responsive to a triggering event (e.g., a system administrator's migration request, system conditions, such as resource utilization by source host 101a exceeding a threshold, etc.).”, the examiner notes that the reference discloses a VM 110 may execute a guest OS, which may utilize underlying virtual processors (virtual central processing units (vCPUs)), virtual memory, and virtual I/O devices and applications may be executing on VM 110 through the guest OS, for which a person having ordinary skill in the art recognizes that the aforementioned activities represent a workload of virtual machines which are computing activities that include the software, processes, and resource demands); generating, by the hypervisor, a file comprising virtual CPU (vCPU) data that describes current conditions of the first virtual machine (TSIRKIN Fig. 1, Para: [0019]: “Hypervisor 115 may provide interfaces between the underlying hardware and virtual devices of VMs 110. VM 110 may execute a guest OS (not shown), which may utilize underlying virtual processors (virtual central processing units (vCPUs)), virtual memory, and virtual I/O devices. One or more applications may be executing on VM 110 through the guest OS.”; and Fig. 1, Para. [0035]: “…, memory may be stored on PMEM device 102 solely for purpose for facilitating live migration between source host 101a and destination host 101b. …, memory associated with VM 110 may be copied to memory 135b. After the memory copying is complete, the VM memory may be re-mapped from the PMEM device 102 to memory 135b.”; and Fig. 1, Para. [0045]: “Source hypervisor 115a may also transmit a minimal execution state of source VM 110 (e.g., CPU, registers, a state of devices accessible to VM 110, non-pageable memory) to destination host 101b. Host controller 125 may instruct destination host 101b to start VM 110. Memory stored on PMEM device 102 may be mapped and/or copied to memory 135b in accordance with previously described embodiments.”, the examiner notes that the reference discloses memory may be stored on PMEM device 102 (source) that may be transmitted by a hypervisor to a destination host which include the execution state of source VM to that of a file comprising virtual CPU (vCPU) data that describes current conditions of the first virtual machine); transmitting, by the hypervisor, the file from the first virtual machine to the second virtual machine (TSIRKIN Fig. 1, Para. [0045]: “Source hypervisor 115a may also transmit a minimal execution state of source VM 110 (e.g., CPU, registers, a state of devices accessible to VM 110, non-pageable memory) to destination host 101b.”); restoring, by the hypervisor, the current conditions of the first virtual machine on the second virtual machine based on the file (TSIRKIN Fig. 1, Para. [0035]: “…, memory may be stored on PMEM device 102 solely for purpose for facilitating live migration between source host 101a and destination host 101b. …, memory associated with VM 110 may be copied to memory 135b. After the memory copying is complete, the VM memory may be re-mapped from the PMEM device 102 to memory 135b.”; and Fig. 1, Para. [0045]: “Source hypervisor 115a may also transmit a minimal execution state of source VM 110 (e.g., CPU, registers, a state of devices accessible to VM 110, non-pageable memory) to destination host 101b. Host controller 125 may instruct destination host 101b to start VM 110. Memory stored on PMEM device 102 may be mapped and/or copied to memory 135b in accordance with previously described embodiments.”). However, TSIRKIN does not explicitly teach sending, by the hypervisor, a signal to the first virtual machine indicating that the current conditions of the first virtual machine are restored on the second virtual machine. But ZHAO teaches sending, by the hypervisor, a signal to the first virtual machine indicating that the current conditions of the first virtual machine are restored on the second virtual machine (ZHAO Para. [0026]: “…, a computer-implemented method of migrating a source virtual machine (VM-S) that is executing an application that accesses a virtual function of an artificial intelligence (AI) accelerator can include storing a checkpoint of a state of the VM-S into a storage of a plurality of states of the VM-S. …”); and Fig. 4A Para. [0089]: “ …, in response to the VM1-S receiving a notification from a hypervisor 455 of the target host 451 that the hypervisor 455 has successfully validated the checkpoint 420, and that the migration is complete, the hypervisor of the source host instructs the hypervisor 455 on target host 451 to restart the migrated application and the recorded tasks in VM1-T.”) It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of TSIRKIN (disclosing methods for virtual machine memory migration facilitated by persistent memory devices) to include the teachings of ZHAO (disclosing methods for virtual machine migration with checkpoint authentication in virtualization environment) and arrive at a method to manage confirmation of checkpoint transfers/copy between a source and target virtual machines. One of ordinary skill in the art would have been motivated to make this combination because when migrating virtual machines from a source (VM-S) to a target (VM-T), and before resuming the virtual machine at the target host, thereby validating the checkpoint/snapshot of the VM-S will ensure that the resources needed are available for a successful resumption of the target VM at the new, as recognized by (ZHAO Abstract, Para. [0026]-[0029]). In addition, the references of TSIRKIN and ZHAO teach features that are directed to analogous art and they are directed to the same field of endeavor of virtual machines migration and management. Regarding claims (13 and 20), the aforementioned claims recite similar limitations to claim 1, and therefore these claims are rejected for similar reasons and detailed above. Regarding claim 2, the combination of TSIRKIN and ZHAO teaches the limitations of claim 1. Further, TSIRKIN teaches wherein determining that the workload of the first virtual machine is to be transferred to the second virtual machine comprises determining that one or more parameters of the first virtual machine are insufficient for the workload of the first virtual machine (TSIRKIN Fig. 1, Para. [0026]: “…, host controller 125 may issue the migration request responsive to a triggering event (e.g., a system administrator's migration request, system conditions, such as resource utilization by source host 101a exceeding a threshold, etc.).”; and Para. [0049]: “The host controller may issue the request responsive to a triggering event (e.g., a system administrator's migration request, a system condition such as resource utilization of the source host raising above a threshold, etc.).”). Regarding claim (14), the aforementioned claim recites similar limitations to claim 2, and therefore this claim is rejected for similar reasons and detailed above. Regarding claim 3, the combination of TSIRKIN and ZHAO teaches the limitations of claim 2. Further, TSIRKIN teaches wherein the one or more parameters of the first virtual machine comprise one or more of computing resources, client computing device traffic, errors, or policies (TSIRKIN Fig. 1, Para. [0026]: “…, host controller 125 may issue the migration request responsive to a triggering event (e.g., a system administrator's migration request, system conditions, such as resource utilization by source host 101a exceeding a threshold, etc.).”; and Para. [0049]: “The host controller may issue the request responsive to a triggering event (e.g., a system administrator's migration request, a system condition such as resource utilization of the source host raising above a threshold, etc.).”). Regarding claim 4, the combination of TSIRKIN and ZHAO teaches the limitations of claim 2. Further, TSIRKIN teaches wherein determining that one or more parameters of the first virtual machine are insufficient for the workload of the first virtual machine comprises: obtaining data that describes computing resources of the first virtual machine (TSIRKIN Fig. 3, Para. [0058] At block 302, a source hypervisor on a source host may initiate live migration responsive to receiving a request to migrate a VM from the source host to a destination host. The request may be received from a host controller that directs VM migrations between host machines. The host controller may issue the request responsive to a triggering event (e.g., a system administrator's migration request, a system condition such as resource utilization of the source host raising above a threshold, etc.)”); and determining, based on the data, that additional computing resources are needed for the first virtual machine (TSIRKIN Fig. 1, Para. [0026]: “Source hypervisor 115a may initiate live migration responsive to receiving a request from migration manager 127 of host controller 125 to migrate VM 110 from source host 101a to destination host 101b. …, host controller 125 may issue the migration request responsive to a triggering event (e.g., a system administrator's migration request, system conditions, such as resource utilization by source host 101a exceeding a threshold, etc.).”). Regarding claim (15), the aforementioned claim recites similar limitations to claim 4, and therefore this claim is rejected for similar reasons and detailed above. Regarding claim 5, the combination of TSIRKIN and ZHAO teaches the limitations of claim 1. Further, TSIRKIN teaches wherein restoring the current conditions of the first virtual machine on the second virtual machine based on the file comprises: instantiating the second virtual machine with a state of the first virtual machine, wherein the state of the first virtual machine is included in the vCPU data (TSIRKIN Fig. 1, Para. [0045]: “Source hypervisor 115a and/or host controller 125 may receive a notification that the memory page copying operation and the synchronization operation are complete. Source hypervisor 115a may also transmit a minimal execution state of source VM 110 (e.g., CPU, registers, a state of devices accessible to VM 110, non-pageable memory) to destination host 101b. Host controller 125 may instruct destination host 101b to start VM 110.”); and initiating the second virtual machine at an execution point of the first virtual machine based on a plurality of pointers in the vCPU data that identify the execution point of the first virtual machine (TSIRKIN Fig. 1, Para. [0045]: “Source hypervisor 115a and/or host controller 125 may receive a notification that the memory page copying operation and the synchronization operation are complete. Source hypervisor 115a may also transmit a minimal execution state of source VM 110 (e.g., CPU, registers, a state of devices accessible to VM 110, non-pageable memory) to destination host 101b. Host controller 125 may instruct destination host 101b to start VM 110.”). Regarding claim (16), the aforementioned claim recites similar limitations to claim 5, and therefore this claim is rejected for similar reasons and detailed above. Regarding claim 6, the combination of TSIRKIN and ZHAO teaches the limitations of claim 1. Further, ZHAO teaches prior to sending the signal to the first virtual machine indicating that the current conditions of the first virtual machine are restored on the second virtual machine, determining that the file was accepted by the second virtual machine (ZHAO Para. [0026]: “In response to receiving a notification from the target hypervisor that the checkpoint was successfully validated by the target hypervisor, and that the migration was successfully completed, the recorded one or more AI tasks and the application can be restarted on the VM-T.”, the examiner notes that the reference discloses a successful validation of the checkpoint (i.e. file), to that of determining the acceptance by the second VM); and determining that the second virtual machine is executing the workload with the current conditions of the first virtual machine (ZHAO Para. [0026]: “In response to receiving a notification from the target hypervisor that the checkpoint was successfully validated by the target hypervisor, and that the migration was successfully completed, the recorded one or more AI tasks and the application can be restarted on the VM-T.”); wherein sending the signal to the first virtual machine indicating that the current conditions of the first virtual machine are restored on the second virtual machine comprises sending the signal in response to determining that the file was accepted by the second virtual machine and the second virtual machine is executing the workload with the current conditions of the first virtual machine (ZHAO Para. [0026]: “In response to receiving a notification from the target hypervisor that the checkpoint was successfully validated by the target hypervisor, and that the migration was successfully completed, the recorded one or more AI tasks and the application can be restarted on the VM-T.”). Regarding claim (17), the aforementioned claim recites similar limitations to claim 6, and therefore this claim is rejected for similar reasons and detailed above. Regarding claim 8, the combination of TSIRKIN and ZHAO teaches the limitations of claim 1. Further ZHAO teaches subsequent to sending the signal to the first virtual machine indicating that the current conditions of the first virtual machine are restored on the second virtual machine, terminating the first virtual machine (ZHAO Para. [0026]: “In response to the notification, a post-migration clean-up of the VM-S can be performed. The post-migration clean-up can include erasing at least the secure memory of the AI accelerator, including any AI inferences, AI models, secure computations, or portions thereof, and erasing the memory of the VM-S associated with the AI virtual function, and any calls to the virtual function by the application.”; and Fig. 4A, Fig. 9, Para. [0089]: “…, in response to the VM1-S receiving a notification from a hypervisor 455 of the target host 451 that the hypervisor 455 has successfully validated the checkpoint 420, and that the migration is complete, the hypervisor of the source host instructs the hypervisor 455 on target host 451 to restart the migrated application and the recorded tasks in VM1-T. Optionally, VM1-S performs a post-migration clean-up of the VM1-S and the one more AI accelerators associated with the VM1-S through the virtual function.”). Regarding claim (19), the aforementioned claim recites similar limitations to claim 8, and therefore this claim is rejected for similar reasons and detailed above. Regarding claim 9, the combination of TSIRKIN and ZHAO teach the limitations of claim 1. Further, TSIRKIN teaches wherein the workload of the first virtual machine comprises a current workload of the first virtual machine or a future increase in workload of the first virtual machine (TSIRKIN Fig. 1, Para [0019]: “Device virtualization may be implemented by intercepting VM memory read/write and/or input/output (I/O) operations with respect to certain memory and/or I/O port ranges, and by routing hardware interrupts to a VM 110 associated with the corresponding virtual device. Hypervisor 115 may provide interfaces between the underlying hardware and virtual devices of VMs 110. VM 110 may execute a guest OS (not shown), which may utilize underlying virtual processors (virtual central processing units (vCPUs)), virtual memory, and virtual I/O devices. One or more applications may be executing on VM 110 through the guest OS.”, the examiner notes that the reference discloses a VM 110 may execute a guest OS, which may utilize underlying virtual processors (virtual central processing units (vCPUs)), virtual memory, and virtual I/O devices and applications may be executing on VM 110 through the guest OS, for which a person having ordinary skill in the art recognizes that the aforementioned activities represent a workload of virtual machines which are computing activities that include the software, processes, and resource demands). Regarding claim 10, the combination of TSIRKIN and ZHAO teaches the limitations of claim 1. Further, TSIRKIN teaches wherein the vCPU data that describes the current conditions of the first virtual machine comprises one or more of a current state of the first virtual machine, connections between client computing devices and the first virtual machine, or pointers to a plurality of vCPUs (TSIRKIN Fig. 1, Para [0019]: “Device virtualization may be implemented by intercepting VM memory read/write and/or input/output (I/O) operations with respect to certain memory and/or I/O port ranges, and by routing hardware interrupts to a VM 110 associated with the corresponding virtual device. Hypervisor 115 may provide interfaces between the underlying hardware and virtual devices of VMs 110. VM 110 may execute a guest OS (not shown), which may utilize underlying virtual processors (virtual central processing units (vCPUs)), virtual memory, and virtual I/O devices. One or more applications may be executing on VM 110 through the guest OS.”). Regarding claim 11, the combination of TSIRKIN and ZHAO teaches the limitations of claim 1. Further, TSIRKIN teaches creating a group comprising one or more vCPUs of the first virtual machine and one or more vCPUs of the second virtual machine, wherein transmitting the file from the first virtual machine to the second virtual machine comprises passing the file to one or more of the one or more vCPUs of the second virtual machine (TSIRKIN Fig. 1, Para. [0019]: “Hypervisor 115 may provide interfaces between the underlying hardware and virtual devices of VMs 110. VM 110 may execute a guest OS (not shown), which may utilize underlying virtual processors (virtual central processing units (vCPUs)), virtual memory, and virtual I/O devices. One or more applications may be executing on VM 110 through the guest OS.”; and Fig. 1, Para. [0032]: “When VM 110 is stopped on source host 101a, source hypervisor 115a may transmit a minimal execution state of source VM 110 (e.g., CPU, registers, a state of devices accessible to VM 110, non-pageable memory) to destination host 101b.”). Regarding claim 12, the combination of TSIRKIN and ZHAO teach the limitations of claim 1. Further, TSIRKIN teaches wherein the hypervisor is operable to allocate computing resources to the first virtual machine and the second virtual machine (TSIRKIN Para. [0002]: “Virtualization permits, for example, consolidating multiple physical servers into one physical server running multiple VMs in order to enhance the hardware utilization rate. The host allocates a certain amount of its resources to each VM. Each VM can then use the allocated resources to execute applications, including operating systems (guest operating systems (OS)). A software layer providing the virtualization may be referred to as a hypervisor, a virtual machine monitor (VMM), or a kernel-based hypervisor, to name a few examples. The hypervisor emulates the underlying hardware of the host computer system, making the use of the VM transparent to the guest OS and the user of the VM. A VM may have a virtual processor, virtual system memory, virtual storage, and various virtual devices. VMs may be migrated between a source host computing platform (“the source host”) and a destination host computing platform (“the destination host”) connected over a network, which may be a local-area network (LAN) or a wide-area network (WAN) that may include the Internet.”; and Fig. 1, Para. [0019]: “…, source host 101a, destination host 101b, PMEM device 102, and host controller 125 may be part of a virtualization system. Host 101 may run one or more virtual machines (VMs) 110. Host 101 may also run an operating system 105 (host OS) to manage resources of host 101 made available to VM 110. Host OS 105 may manage and monitor various aspects of the operation of host 101, including storage, memory, and network interfaces. …, source host OS 105a and destination host OS 105b may include a source hypervisor 115a and destination hypervisor 115b (collectively referred to as “hypervisor 115”). Hypervisor 115 may virtualize access to the underlying host hardware components (e.g., CPU 130, memory 135, NIC 140), making the use of VM 110 transparent to the guest OS running on VM 110 and to users (e.g., a system administrator) of host 101. Hypervisor 115 may abstract the physical layer (i.e., hardware components) of the host machine (e.g., CPU 130, memory 135, NIC 140), and present this abstraction to VM 110 as a virtual device.”). Claims 7 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over US Patent Application Publication (US 20200341797 A1) issued to Tsirkin (hereinafter as “TSIRKIN”), in view of US Patent Application Publication (US 20220214902 A1) issued to ZHAO et al. (hereinafter as “ZHAO”), and in view of US Patent Application Publication (US 20210342232 A1) issued to Gopalan et al. (hereinafter as “GOPALAN”). Regarding claim 7, the combination of TSIRKIN and ZHAO teach the limitations of claim 1. However, the combination of TSIRKIN and ZHAO do not explicitly teach prior to sending the signal to the first virtual machine indicating that the current conditions of the first virtual machine are restored on the second virtual machine, receiving an error message indicating that an error occurred; generating a new file comprising vCPU data that describes current conditions of the first virtual machine; transmitting the new file from the first virtual machine to the second virtual machine; and restoring the current conditions of the first virtual machine on the second virtual machine based on the new file. But GOPALAN teaches prior to sending the signal to the first virtual machine indicating that the current conditions of the first virtual machine are restored on the second virtual machine, receiving an error message indicating that an error occurred (GOPALAN Para. [0020]: “PostcopyFT provides an approach to recover a VM when the source, the destination or the network fail during the post-copy live migration. To handle the source failure during the migration, prior to the migration, the source host periodically transfers the incremental memory checkpoints of the VM to the checkpoint cache store. ...”); generating a new file comprising vCPU data that describes current conditions of the first virtual machine (GOPALAN Para. [0020]: “PostcopyFT provides an approach to recover a VM when the source, the destination or the network fail during the post-copy live migration. To handle the source failure during the migration, prior to the migration, the source host periodically transfers the incremental memory checkpoints of the VM to the checkpoint cache store.”); transmitting the new file from the first virtual machine to the second virtual machine (GOPALAN Para. [0020]: “PostcopyFT provides an approach to recover a VM when the source, the destination or the network fail during the post-copy live migration. To handle the source failure during the migration, prior to the migration, the source host periodically transfers the incremental memory checkpoints of the VM to the checkpoint cache store. Once the migration starts, the latest memory state of the VM is captured and transferred to the checkpoint cache store. To handle the destination and network failure during the migration, the destination host transmits the reverse incremental checkpoints of the VM back to the checkpoint cache store as soon as a VM resumes execution at the destination.”); and restoring the current conditions of the first virtual machine on the second virtual machine based on the new file (GOPALAN Para. [0026]: “The first step of post-copy migration is to transfer the execution state of the VM, along with a minimal non-pageable memory state, to the destination. The VM is resumes at the destination while concurrently receiving the VM's pages from the source. PostCopyFT superimposes a reverse incremental checkpointing mechanism over this forward transfer of VM state. Specifically, once the migrating VM is resumed at the destination, PostCopyFT captures the VM's initial execution state and memory at the destination and transfers them to a checkpoint store. This checkpoint store is an in-memory key-value store located at either the source node or a third staging node. Then onwards, PostCopyFT captures any incremental changes in the VM's state, including the execution state and any modified memory pages, either periodically or upon an I/O activity of the VM, and forwards these to the checkpoint store.”; and Para. [0068]: “The execution state of a VM consists of the vCPU state and the I/O device state, which keeps changing during the execution of the VM. PostCopyFT-reverse captures the execution state of the VM and writes it to a channel buffer. The channel buffer is an in-memory buffer that provides facility to perform I/O operations to and from memory buffers. The channel buffer then transfers the entire device/CPU state (as a blob of all devices state) to the checkpoint cache store.”). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the combination teachings of TSIRKIN (disclosing methods for virtual machine memory migration facilitated by persistent memory devices) and the teachings of ZHAO (disclosing methods for virtual machine migration with checkpoint authentication in virtualization environment), to include the teachings of GOPALAN (disclosing methods for recovering a virtual machine after failure of post-copy live migration) and arrive at a method to manage recovery of failures during VM migration from a source to a destination. One of ordinary skill in the art would have been motivated to make this combination because when performing live migration of a virtual machines that involves the transfer of an active VM's execution state from one physical machine to another, ensuring successful live migration is a key feature to meet performance demands, as recognized by (GOPALAN Abstract, Para. [0007]-[0026]). In addition, the references of TSIRKIN, ZHAO and GOPALAN teach features that are directed to analogous art and they are directed to the same field of endeavor of virtual machines migration and management. Regarding claim (18), the aforementioned claim recites similar limitations to claim 7, and therefore this claim is rejected for similar reasons and detailed above. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure: Szczepanik et al.; (US 20250103374 A1); “Methods for virtual machine migration resource management, wherein VM migration content may include compute resources, data storage, or both, and a hot migration is performed live while the VM is actually running.” RAMANATHAN et al.; (US 20150149999 A1); “Methods for virtual machine group migration, wherein a plurality of virtual machines (VMs) is migrated from a source group to a destination group in such as way as to achieve consistency and either availability or group preservation.” Donnellan et al.; (US 8448171 B2); “Methods for communications between virtual machines that have been migrated, wherein the migration of the virtual machine may occur while the virtual machines are live, and the virtual machines may still be responding to requests from clients while the migration of virtual machines occurs.” Any inquiry concerning this communication or earlier communications from the examiner should be directed to Zuheir A Mheir whose telephone number is (571)272-4151. The examiner can normally be reached on Monday - Friday 9:00 - 5:00. 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, Pierre Vital can be reached on (571)272-4215. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see https://ppair-my.uspto.gov/pair/PrivatePair. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. 08/20/2026 /ZUHEIR A MHEIR/Patent Examiner, Art Unit 2198 /PIERRE VITAL/Supervisory Patent Examiner, Art Unit 2198
Read full office action

Prosecution Timeline

Dec 15, 2023
Application Filed
Aug 26, 2026
Non-Final Rejection mailed — §101, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12705662
GENERATION OF RECOMMENDATIONS FROM DYNAMICALLY-MAPPED DATA
2y 8m to grant Granted Aug 11, 2026
Patent 12675476
DATA QUERY METHOD, DATA QUERY APPARATUS, AND COMPUTER-PROGRAM PRODUCT
3y 5m to grant Granted Jul 07, 2026
Patent 12675498
DATA PIPELINE CONTROLLER
2y 1m to grant Granted Jul 07, 2026
Patent 12645648
NATIVELY SUPPORTING JSON DUALITY VIEW IN A DATABASE MANAGEMENT SYSTEM
3y 7m to grant Granted Jun 02, 2026
Patent 12639374
CONTENT BASED RELATED VIEW RECOMMENDATIONS
2y 4m to grant Granted May 26, 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

1-2
Expected OA Rounds
78%
Grant Probability
88%
With Interview (+10.2%)
3y 2m (~4m remaining)
Median Time to Grant
Low
PTA Risk
Based on 80 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