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 .
Status of Claims
1. Claims 1, 7-8, 14, and 20 are currently amended.
2. Claims 1-20 are pending.
3. Claims 1-20 are rejected.
Response to Arguments
4. Regarding 35 U.S.C. 112 Rejections:
Applicant’s amendments and arguments with respect to the objections to the 35 U.S.C. 112b rejections of the invention have been fully considered and are persuasive. The 35 U.S.C. 112b rejections have been withdrawn.
5. Regarding Prior Art Rejections:
Applicant’s amendments and arguments to claims 1, 8, and 14 have been considered and are not persuasive. The rejections under 35 U.S.C. 103 are maintained. Additionally, applicant’s arguments are rejected under a new ground of rejection necessitated by the amendment.
6. Applicant argues in remarks:
Applicant has amended claim 1 to recite, "detecting a direct device assignment of the virtual machine based on a first Single Root I/O Virtualization (SR-IOV) assignment of a first port on a first network interface, wherein the virtual machine communicates with the first network interface of the host server using the direct device assignment to bypass a first host operating system of the host server," "reserving a replacement device assignment on the target server including a second SR-IOV assignment of a second port on a second network interface, wherein the replacement device assignment comprises a link to the second network interface of the target server configured to bypass a second host operating system of the target server, "reconfiguring the virtual machine running on the host server with data supporting the replacement device assignment on the target server, wherein the replacement device assignment replaces the direct device assignment," and "migrating the virtual machine to the target server, wherein the migrated virtual machine communicates with the second network interface of the target server using the replacement device assignment to bypass a second operating system of the target server."
To summarize, a virtual machine has an SR-IOV device assignment directly to a network interface of a host machine. The VM is reconfigured with data for a reserved SR-IOV assignment directly to a new network card on a target machine. The VM is then migrated to the target machine, where the VM can communicate directly with the new network card due to the reconfiguration.
The Office Action notes on page 5 that Zhao does not teach "detecting a direct device assignment of the virtual machine, wherein the virtual machine communicates with a first hardware device of the host server using the direct device assignment to bypass a first host operating system of the host server; and reserving a replacement device assignment on the target server, wherein the replacement device assignment comprises a link to a second hardware device of the target server configured to bypass a second host operating system of the target server," and identifies Sabin as disclosing same. Applicant further submits that Zhao does not disclose the SR-IOV or PCIe migration elements of amended claim 1.
Sabin states as quoted by the Office Action, "[h]ypervisor 302, in some embodiments, may provide virtual resources to guest operating systems 330 or control programs 320 executing on virtual machines 332 in any manner that simulates operating systems 330 or control programs320 having direct access to system resources (emphasis added)." Sabin, col. 16. . 55-59. Sabinsimulates direct access, but does not migrate direct access to a network interface in the manner recited in amended claim 1. The hypervisor depicted in FIG. 5C of Sabin supports this notion, as it is running over operating system 314. This is described in Sabin as a "type 2 hypervisor" Sabin, Col. 16, In. 28-43.
Sabin in other portions discloses a technique of taking a snapshot of a VM's hard drive, then overwriting a hard drive of a second VM on another platform to migrate the VM. More precisely, Sabin states "[a]s shown in FIG. 2, to migrate the application 135, the migration controller 110 may replace the second operating system disk 234 of the second virtual machine 1255 with the snapshot 240 of the first operating system disk 234a of the first virtual machine 125a. For example, a hypervisor and/or a cloud service associated with the second virtual machine 1255 may replace the second operating system disk 2346 of the second virtual machine 125 by updating the properties of the second virtual machine 1256 to indicate the change to the first operating system disk 234a of the first virtual machine 125a." Sabin, col. 8, In. 64 - col 9., In. 7.
Sabin appears to copy the drive of a first VM to migrate it into a second VM. However, an image of the first VM's drive in Sabin would have no indication it was subject to an SR-IOV assignment (or any other direct PCIe assignment). A device with an SR-IOV assignment (or other direct PCIe device assignment) would be broken by such a migration, as the snapshotted device information from the original host machine would likely be invalid on the target machine.
The Examiner notes on page 6 that, "[t]he migration controller assigns the second VM, which is analogous with the destination, to an application for migration. The hypervisor can provide direct access to system resources without having to go through an OS." Applicant respectfully disagrees and objects to the use of Official Notice to the extent taken.
Sabin does not disclose the seamless migration of claim 1, where direct SR-IOV access exists on a host VM and is reserved and preconfigured for a target VM, as recited in claim 1. The snapshot-based technique disclosed in Sabin appears incompatible with such a migration.
In contrast, amended claim 1 recites "detecting a direct device assignment of the virtual machine based on a first Single Root I/O Virtualization (SR-IOV) assignment of a first port on a first network interface, wherein the virtual machine communicates with the first network interface of the host server using the direct device assignment to bypass a first host operating system of the host server,""reserving a replacement device assignment on the target server including a second SR-IOV assignment of a second port on a second network interface, wherein the replacement device assignment comprises a link to the second network interface of the target server configured to bypass a second host operating system of the target server, "reconfiguring the virtual machine running on the host server with data supporting the replacement device assignment on the target server, wherein the replacement device assignment replaces the direct device assignment," and "migrating the virtual machine to the target server, wherein the migrated virtual machine communicates with the second network interface of the target server using the replacement device assignment to bypass a second operating system of the target server."
Applicant submits claim 1 thus distinguishes over the prior art of record. Claims 2-7 are believed to be allowable as depending on allowable base claims in addition to having their own unique features.
Claims 8 and 15 have been amended similarly to claim 1 with PCIe devices in place of SR-IOV devices. Claims 8 and 15 are thus believed to distinguish over the prior art of record for similar reasons. Claims 9-14 and 16-20 are believed to be allowable as depending on allowable base claims in addition to having their own unique features.
7. With the newly amended claims, the overall scope of the claim does not read the same way it did before. Therefore, new art and combination thereof was introduced to better suit the new scope of the claims.
8. Sabin does not teach of a device with an SR-IOV assignment or other direct PCIe assignment. However, in analogous art, Cao teaches of virtual machine migration with a SR-IOV and PCIe assignment. More specifically, a virtual machine is migrated from a source server to a destination server. The source and destination include a SR-IOV network adapter. As discussed in Cao, an input/output (I/O) virtualization technology, a single-root input/output virtualization (SR-IOV) technology may be used to obtain a plurality of virtual PCIe devices on a physical peripheral component interconnect express (POO device through virtualization. Such a function is referred to as a virtual function (VF). An SR-IOV network adapter may be virtualized into a plurality of virtual network adapters. A virtual machine executes a service by using a virtual network adapter. Each virtual machine may bypass a virtual machine manager to directly exchange network I/O data with one or more virtual network adapters corresponding to the virtual machine ([0004]). This reduces I/O performance overheads in the virtual machine manager, and ensures I/O throughput efficiency of each VM. Specifically, when sending and receiving a data packet from the virtual network adapter, the virtual machine VM can implement totally independent sending and receiving, as discussed in Cao ([0093]). In combination with Zhao and Ciano, which were previously presented, Additionally, claims 2-7, 9-13, and 15-20 depend from and further limit amended claims 1, 7, and 16 and are therefore also rejected under 35 U.S.C 103. The full rejection can be found in the 35 U.S.C. 103 rejection section below.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
9. Claims 1, 7-8, 14, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Zhao US 20150052254 A1 in view of Cao et al. US 20210200573 A1, and in further view of Ciano US 7506037 B1.
10. With regard to claim 1, Zhao teaches:
A method of migrating a virtual machine, comprising:
identifying the virtual machine for migration in response to a load on a host server running the virtual machine ([0006] A virtual machine live migration method provided by an embodiment of the present invention includes: acquiring load information of physical machines in a first physical machine group, where the physical machines in the first physical machine group share a same access switch; determining a source physical machine and a destination physical machine in the first physical machine group according to a first dynamic resource scheduling policy and the load information of the physical machines in the first physical machine group, where the source physical machine is a physical machine whose load information exceeds a first threshold, and the destination physical machine is a physical machine whose load information is lower than a second threshold, where the first threshold is higher than the second threshold; and delivering a migration instruction to the source physical machine according to a second dynamic resource scheduling policy, where the migration instruction includes an identifier of a virtual machine to be migrated and an identifier of the destination physical machine, so that the source physical machine migrates, according to the migration instruction, a virtual machine on the source physical machine and corresponding to the identifier of the virtual machine to be migrated to the destination physical machine corresponding to the identifier of the destination physical machine, so as to make load information of the destination physical machine lower than the first threshold after the virtual machine on the source physical machine is accepted, and make load information of the source physical machine lower than the first threshold after the virtual machine is migrated; Examiner’s Note: Acquiring load information of a first machine and seeing that it exceeds a threshold. The VM to be migrated is running on a physical machine.);
identifying a target server with available resources to run the virtual machine ([0006] acquiring load information of physical machines in a first physical machine group... determining a source physical machine and a destination physical machine in the first physical machine group according to a first dynamic resource scheduling policy and the load information of the physical machines in the first physical machine group, where the source physical machine is a physical machine whose load information exceeds a first threshold, and the destination physical machine is a physical machine whose load information is lower than a second threshold, where the first threshold is higher than the second threshold; [0047]);
migrating the virtual machine to the target server ([0047] so that the source physical machine migrates, according to the migration instruction, a virtual machine on the source physical machine and corresponding to the identifier of the virtual machine to be migrated to the destination physical machine corresponding to the identifier of the destination physical machine; Examiner’s Note: VM is migrated according to the migration instruction.), wherein the migrated virtual machine communicates with the second network interface of the target server using the replacement device assignment to bypass a second operating system of the target server.
Zhao teaches a migrating a VM to a destination source machine when the load information of a first source machine surpasses a threshold. However, Zhao fails to explicitly teach detecting a direct device assignment of the virtual machine based on a first Single Root I/O Virtualization (SR-IOV) assignment of a first port on a first network interface, wherein the virtual machine communicates with the first network interface of the host server using the direct device assignment to bypass a first host operating system of the host server; reserving a replacement device assignment on the target server including a second SR- IOV assignment of a second port on a second network interface, wherein the replacement device assignment comprises a link to the second network interface of the target server configured to bypass a second host operating system of the target server; reconfiguring the virtual machine running on the host server with data supporting the replacement device assignment on the target server, wherein the replacement device assignment replaces the direct device assignment; and wherein the migrated virtual machine communicates with the second network interface of the target server using the replacement device assignment to bypass a second operating system of the target server.
However, in analogous art, Cao teaches:
detecting a direct device assignment of the virtual machine based on a first Single Root I/O Virtualization (SR-IOV) assignment of a first port on a first network interface, wherein the virtual machine communicates with the first network interface of the host server using the direct device assignment to bypass a first host operating system of the host server ([0004] As an input/output (I/O) virtualization technology, a single-root input/output virtualization (SR-IOV) technology may be used to obtain a plurality of virtual PCIe devices on a physical peripheral component interconnect express (POO device through virtualization. Such a function is referred to as a virtual function (VF). An SR-IOV network adapter may be virtualized into a plurality of virtual network adapters. A virtual machine executes a service by using a virtual network adapter. Each virtual machine may bypass a virtual machine manager to directly exchange network I/O data with one or more virtual network adapters corresponding to the virtual machine; [0028] A third aspect of the embodiments of this application provides a virtual machine live migration method, applied to a source server on which a first virtual machine runs. The method is used to migrate the first virtual machine to a destination server. The source server includes a single-root input/output virtualization SR-IOV network adapter.);
reserving a replacement device assignment on the target server including a second SR- IOV assignment of a second port on a second network interface, wherein the replacement device assignment comprises a link to the second network interface of the target server configured to bypass a second host operating system of the target server ([0004] As an input/output (I/O) virtualization technology, a single-root input/output virtualization (SR-IOV) technology may be used to obtain a plurality of virtual PCIe devices on a physical peripheral component interconnect express (POO device through virtualization. Such a function is referred to as a virtual function (VF). An SR-IOV network adapter may be virtualized into a plurality of virtual network adapters. A virtual machine executes a service by using a virtual network adapter. Each virtual machine may bypass a virtual machine manager to directly exchange network I/O data with one or more virtual network adapters corresponding to the virtual machine; [0017] A second aspect of the embodiments of this application provides a virtual machine live migration method, applied to a destination server for virtual machine migration. The destination server includes an SR-IOV network adapter. The destination server runs a virtual machine manager and a live migration module. The method includes: The virtual machine manager obtains a live migration command. The live migration command is used to indicate that a first virtual machine in a source server is to be migrated to a second virtual machine in the destination server; [0108] When a first virtual machine in a source server is migrated from the source server to a destination server, the source server obtains a live migration request. The source server establishes the connection to the destination host according to the live migration request, and sends the live migration request to the destination server. The live migration request indicates the first virtual machine in the source server to migrate to the destination server. The destination server may perform preparation work before the live migration. For example, the destination server pre-reserves a virtual machine resource for the first virtual machine.);
migrating the virtual machine to the target server, wherein the migrated virtual machine communicates with the second network interface of the target server using the replacement device assignment to bypass a second operating system of the target server ([0004] As an input/output (I/O) virtualization technology, a single-root input/output virtualization (SR-IOV) technology may be used to obtain a plurality of virtual PCIe devices on a physical peripheral component interconnect express (POO device through virtualization. Such a function is referred to as a virtual function (VF). An SR-IOV network adapter may be virtualized into a plurality of virtual network adapters. A virtual machine executes a service by using a virtual network adapter. Each virtual machine may bypass a virtual machine manager to directly exchange network I/O data with one or more virtual network adapters corresponding to the virtual machine; [0017] A second aspect of the embodiments of this application provides a virtual machine live migration method, applied to a destination server for virtual machine migration. The destination server includes an SR-IOV network adapter. The destination server runs a virtual machine manager and a live migration module. The method includes: The virtual machine manager obtains a live migration command. The live migration command is used to indicate that a first virtual machine in a source server is to be migrated to a second virtual machine in the destination server.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Zhao with the teachings of Cao where detecting a direct device assignment of the virtual machine based on a first Single Root I/O Virtualization (SR-IOV) assignment of a first port on a first network interface, wherein the virtual machine communicates with the first network interface of the host server using the direct device assignment to bypass a first host operating system of the host server; reserving a replacement device assignment on the target server including a second SR- IOV assignment of a second port on a second network interface, wherein the replacement device assignment comprises a link to the second network interface of the target server configured to bypass a second host operating system of the target server; and wherein the migrated virtual machine communicates with the second network interface of the target server using the replacement device assignment to bypass a second operating system of the target server. Similarly to Zhao, Cao teaches of a virtual machine migration method. Additionally, Cao teaches of source and destination servers that include a SR-IOV network adapter. SR-IOV technology allows virtual machines to bypass a virtual machine manager and directly exchange network I/O data with one or more virtual network adapters corresponding to the virtual machine ([0004]). This reduces I/O performance overheads in the virtual machine manager, and ensures I/O throughput efficiency of each VM. Specifically, when sending and receiving a data packet from the virtual network adapter, the virtual machine VM can implement totally independent sending and receiving, as discussed in Cao ([0093]).
Both Zhao and Cao fail to teach reconfiguring the VM on the host server with data to support the replacement device assignment on the target server.
However, in analogous art, Ciano teaches:
reconfiguring the virtual machine running on the host server with data supporting the replacement device assignment on the target server, wherein the replacement device assignment replaces the direct device assignment (Abstract, An incompatibility problem during a virtual environment migration from a first host to a second host can be addressed by changing a configuration of the virtual environment and/or by migrating the virtual environment to a host other than the second host. A migration advisor module is configured to take such action automatically upon detection of the incompatibility problem. Alternatively, the migration advisor module may take such action with assistance and/or input from an operator. The migration advisor module can change the configuration of the virtual environment by removing unnecessary components of the virtual environment and causing the reconfigured virtual environment to be migrated to the second host. Alternatively, the migration advisor module can cause the virtual environment to be migrated to a third host with sufficient physical system resources to meet the requirements of the virtual environment.; Examiner’s Note: Prior to migration, it is determined if the VM needs to be reconfigured in order to be compatible with its destination host.); and
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Zhao and Cao with the teachings of Ciano where reconfiguring the virtual machine running on the host server with data supporting the replacement device assignment on the target server, wherein the replacement device assignment replaces the direct device assignment. When migrating a VM to a destination device, it is important to determine whether the VM will be compatible and able to be run on the destination device. By ensuring the VM is compatible with the destination device, it guarantees that the destination host meets at least one of the physical system requirements of the virtual environment, as discussed in Ciano (Abstract).
11. With regard to claim 7, Cao further teaches:
wherein the virtual machine automatically communicates with the second network interface of the target server using the replacement device assignment in response to migrating the virtual machine to the target server ([0044] A fifth aspect of the embodiments of this application provides a communications device. The communications device is a source end for virtual machine live migration. The communications device runs a first virtual machine, a first virtual network adapter used by the first virtual machine, a virtual machine manager, and a live migration module. The first virtual network adapter is obtained through virtualization based on an SR-IOV network adapter. The communications device comprises: The virtual machine manager is configured to deliver a live migration command to the live migration module. The live migration module is configured to obtain, according to the live migration command, information that needs to be migrated and that is about the first virtual machine, and report the information to the virtual machine manager, where the information that needs to be migrated and that is about the first virtual machine includes state information of the first virtual network adapter and memory data of the first virtual machine. The virtual machine manager is further configured to send the state information and the memory data of the first virtual machine to the destination communications device; [0049] The communications device is a destination communications device for virtual machine live migration. The communications device includes an SR-IOV network adapter. The communications device runs a virtual machine manager and a live migration module. The virtual machine manager is configured to obtain a live migration command, where the live migration command is used to indicate that a first virtual machine in a source communications device is to be migrated to a second virtual machine in the destination communications device. The virtual machine manager is further configured to receive state information of a first virtual network adapter corresponding to the first virtual machine sent by the source communications device. The live migration module is further configured to restore the state information to the SR-IOV network adapter according to an instruction of the virtual machine manager; [0227] Optionally, although not shown in FIG. 10, the destination communications device 1000 may further include one or more power supplies, one or more wired or wireless network interfaces, such as an Ethernet interface, and one or more input/output interfaces.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Zhao with the teachings of Cao wherein the virtual machine automatically communicates with the second network interface of the target server using the replacement device assignment in response to migrating the virtual machine to the target server. Communicating with a network interface of a target server allows for a connection between a device and a network. This enables data transmission, which is important for VM migration. During VM migration, the virtual function driver obtains, according to the live migration command, information that needs to be migrated and that is about the first virtual machine, where the information that needs to be migrated and that is about the first virtual machine includes state information of the first virtual network adapter corresponding to the first virtual machine and memory data of the first virtual machine; and reports the information to the virtual machine manager. The virtual machine manager sends the state information and the memory data of the first virtual machine to the destination server ([0028]). This allows the virtual machine manager to receive state information of a first virtual network adapter corresponding to the first virtual machine sent by the source server. The virtual function driver restores the state information to the SR-IOV network adapter according to an instruction of the virtual machine manager, as discussed in Cao ([0037]). Therefore, ensuring the source server is able to be migrated to a destination server successfully.
12. With regard to claim 8, Zhao teaches:
A virtualization system comprising a processor in communication with a non-transitory memory configured to store instructions that, when executed by the processor, cause the virtualization system to perform operations, the operations comprising:
identifying a virtual machine for migration in response to a load on a host server running the virtual machine ([0006] A virtual machine live migration method provided by an embodiment of the present invention includes: acquiring load information of physical machines in a first physical machine group, where the physical machines in the first physical machine group share a same access switch; determining a source physical machine and a destination physical machine in the first physical machine group according to a first dynamic resource scheduling policy and the load information of the physical machines in the first physical machine group, where the source physical machine is a physical machine whose load information exceeds a first threshold, and the destination physical machine is a physical machine whose load information is lower than a second threshold, where the first threshold is higher than the second threshold; and delivering a migration instruction to the source physical machine according to a second dynamic resource scheduling policy, where the migration instruction includes an identifier of a virtual machine to be migrated and an identifier of the destination physical machine, so that the source physical machine migrates, according to the migration instruction, a virtual machine on the source physical machine and corresponding to the identifier of the virtual machine to be migrated to the destination physical machine corresponding to the identifier of the destination physical machine, so as to make load information of the destination physical machine lower than the first threshold after the virtual machine on the source physical machine is accepted, and make load information of the source physical machine lower than the first threshold after the virtual machine is migrated; Examiner’s Note: Acquiring load information of a first machine and seeing that it exceeds a threshold. The VM to be migrated is running on a physical machine.);
identifying a target server with available resources to run the virtual machine ([0006] acquiring load information of physical machines in a first physical machine group... determining a source physical machine and a destination physical machine in the first physical machine group according to a first dynamic resource scheduling policy and the load information of the physical machines in the first physical machine group, where the source physical machine is a physical machine whose load information exceeds a first threshold, and the destination physical machine is a physical machine whose load information is lower than a second threshold, where the first threshold is higher than the second threshold; [0047]);
migrating the virtual machine to the target server, wherein the migrated virtual machine communicates with the second PCIe device of the target server using the replacement device assignment to bypass a second operating system of the target server ([0047] so that the source physical machine migrates, according to the migration instruction, a virtual machine on the source physical machine and corresponding to the identifier of the virtual machine to be migrated to the destination physical machine corresponding to the identifier of the destination physical machine; Examiner’s Note: VM is migrated according to the migration instruction.).
Zhao teaches a migrating a VM to a destination source machine when the load information of a first source machine surpasses a threshold. However, Zhao fails to explicitly teach detecting a direct device assignment of a first Peripheral Component Interconnect Express (PCIe) device of the host server directly to [[of]] the virtual machine, wherein the virtual machine communicates with the first PCIe device of the host server using the direct device assignment to bypass a first host operating system of the host server; reserving a replacement device assignment of a second PCIe device on the target server, wherein the replacement device assignment comprises a link to the second PCIe device of the target server configured to bypass a second host operating system of the target server; reconfiguring the virtual machine running on the host server with data supporting the replacement device assignment on the target server, wherein the replacement device assignment replaces the direct device assignment; and wherein the migrated virtual machine communicates with the second PCIe device of the target server using the replacement device assignment to bypass a second operating system of the target server.
However, in analogous art, Cao teaches:
detecting a direct device assignment of a first Peripheral Component Interconnect Express (PCIe) device of the host server directly to [[of]] the virtual machine, wherein the virtual machine communicates with the first PCIe device of the host server using the direct device assignment to bypass a first host operating system of the host server ([0004] As an input/output (I/O) virtualization technology, a single-root input/output virtualization (SR-IOV) technology may be used to obtain a plurality of virtual PCIe devices on a physical peripheral component interconnect express (POO device through virtualization. Such a function is referred to as a virtual function (VF). An SR-IOV network adapter may be virtualized into a plurality of virtual network adapters. A virtual machine executes a service by using a virtual network adapter. Each virtual machine may bypass a virtual machine manager to directly exchange network I/O data with one or more virtual network adapters corresponding to the virtual machine; [0028] A third aspect of the embodiments of this application provides a virtual machine live migration method, applied to a source server on which a first virtual machine runs. The method is used to migrate the first virtual machine to a destination server. The source server includes a single-root input/output virtualization SR-IOV network adapter; [0220] The source communications device 900 further includes a physical network adapter 903. The physical network adapter 903 is a PCIe device, namely, an SR-IOV network adapter.);
reserving a replacement device assignment of a second PCIe device on the target server, wherein the replacement device assignment comprises a link to the second PCIe device of the target server configured to bypass a second host operating system of the target server ([0004] As an input/output (I/O) virtualization technology, a single-root input/output virtualization (SR-IOV) technology may be used to obtain a plurality of virtual PCIe devices on a physical peripheral component interconnect express (POO device through virtualization. Such a function is referred to as a virtual function (VF). An SR-IOV network adapter may be virtualized into a plurality of virtual network adapters. A virtual machine executes a service by using a virtual network adapter. Each virtual machine may bypass a virtual machine manager to directly exchange network I/O data with one or more virtual network adapters corresponding to the virtual machine; [0017] A second aspect of the embodiments of this application provides a virtual machine live migration method, applied to a destination server for virtual machine migration. The destination server includes an SR-IOV network adapter. The destination server runs a virtual machine manager and a live migration module. The method includes: The virtual machine manager obtains a live migration command. The live migration command is used to indicate that a first virtual machine in a source server is to be migrated to a second virtual machine in the destination server; [0108] When a first virtual machine in a source server is migrated from the source server to a destination server, the source server obtains a live migration request. The source server establishes the connection to the destination host according to the live migration request, and sends the live migration request to the destination server. The live migration request indicates the first virtual machine in the source server to migrate to the destination server. The destination server may perform preparation work before the live migration. For example, the destination server pre-reserves a virtual machine resource for the first virtual machine; [0226] The destination communications device 1000 further includes a physical network adapter 1003. The physical network adapter 1003 is a PCIe device, namely, an SR-IOV network adapter.);
migrating the virtual machine to the target server, wherein the migrated virtual machine communicates with the second PCIe device of the target server using the replacement device assignment to bypass a second operating system of the target server ([0004] As an input/output (I/O) virtualization technology, a single-root input/output virtualization (SR-IOV) technology may be used to obtain a plurality of virtual PCIe devices on a physical peripheral component interconnect express (POO device through virtualization. Such a function is referred to as a virtual function (VF). An SR-IOV network adapter may be virtualized into a plurality of virtual network adapters. A virtual machine executes a service by using a virtual network adapter. Each virtual machine may bypass a virtual machine manager to directly exchange network I/O data with one or more virtual network adapters corresponding to the virtual machine; [0017] A second aspect of the embodiments of this application provides a virtual machine live migration method, applied to a destination server for virtual machine migration. The destination server includes an SR-IOV network adapter. The destination server runs a virtual machine manager and a live migration module. The method includes: The virtual machine manager obtains a live migration command. The live migration command is used to indicate that a first virtual machine in a source server is to be migrated to a second virtual machine in the destination server; [0220] The source communications device 900 further includes a physical network adapter 903. The physical network adapter 903 is a PCIe device, namely, an SR-IOV network adapter; [0226] The destination communications device 1000 further includes a physical network adapter 1003. The physical network adapter 1003 is a PCIe device, namely, an SR-IOV network adapter.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Zhao with the teachings of Cao where detecting a detecting a direct device assignment of a first Peripheral Component Interconnect Express (PCIe) device of the host server directly to [[of]] the virtual machine, wherein the virtual machine communicates with the first PCIe device of the host server using the direct device assignment to bypass a first host operating system of the host server; reserving a replacement device assignment of a second PCIe device on the target server, wherein the replacement device assignment comprises a link to the second PCIe device of the target server configured to bypass a second host operating system of the target server; and wherein the migrated virtual machine communicates with the second PCIe device of the target server using the replacement device assignment to bypass a second operating system of the target server. Similarly to Zhao, Cao teaches of a virtual machine migration method. Additionally, Cao teaches of source and destination servers that include a SR-IOV network adapter, which is a PCIe device. SR-IOV technology allows virtual machines to bypass a virtual machine manager and directly exchange network I/O data with one or more virtual network adapters corresponding to the virtual machine ([0004]). This reduces I/O performance overheads in the virtual machine manager, and ensures I/O throughput efficiency of each VM. Specifically, when sending and receiving a data packet from the virtual network adapter, the virtual machine VM can implement totally independent sending and receiving, as discussed in Cao ([0093]).
Both Zhao and Cao fail to teach reconfiguring the VM on the host server with data to support the replacement device assignment on the target server.
However, in analogous art, Ciano teaches:
reconfiguring the virtual machine running on the host server with data supporting the replacement device assignment on the target server, wherein the replacement device assignment replaces the direct device assignment (Abstract, An incompatibility problem during a virtual environment migration from a first host to a second host can be addressed by changing a configuration of the virtual environment and/or by migrating the virtual environment to a host other than the second host. A migration advisor module is configured to take such action automatically upon detection of the incompatibility problem. Alternatively, the migration advisor module may take such action with assistance and/or input from an operator. The migration advisor module can change the configuration of the virtual environment by removing unnecessary components of the virtual environment and causing the reconfigured virtual environment to be migrated to the second host. Alternatively, the migration advisor module can cause the virtual environment to be migrated to a third host with sufficient physical system resources to meet the requirements of the virtual environment.; Examiner’s Note: Prior to migration, it is determined if the VM needs to be reconfigured in order to be compatible with its destination host.); and
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Zhao and Cao with the teachings of Ciano where reconfiguring the virtual machine running on the host server with data supporting the replacement device assignment on the target server, wherein the replacement device assignment replaces the direct device assignment. When migrating a VM to a destination device, it is important to determine whether the VM will be compatible and able to be run on the destination device. By ensuring the VM is compatible with the destination device, it guarantees that the destination host meets at least one of the physical system requirements of the virtual environment, as discussed in Ciano (Abstract).
13. Regarding claim 14, it is rejected under the same reasoning as claim 8 above. Therefore, it is rejected under the same rationale.
14. Regarding claim 20, it is rejected under the same reasoning as claim 7 above. Therefore, it is rejected under the same rationale.
15. Claims 2, 9, and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Zhao US 20150052254 A1; Cao et al. US 20210200573 A1; and Ciano US 7506037 B1, as applied in claim 1, and in further view of Rady et al. US 11652684 B1.
16. With regard to claim 2, Zhao provides a virtual machine live migration method, a virtual machine deployment method, a server and a cluster system so as to relieve impact of virtual machine live migration on network load in a cluster ([0005]). Although Zhao teaches of relieving impact of VM migration on network load, Zhao fails to explicitly teach that is it a distributed unit or a central unit of a 5G data and telephone network.
However, in analogous art, Rady teaches:
wherein the virtual machine runs a distributed unit or a central unit of a 5G data and telephone network (Fig. 2; Col. 8, lines 42-62, Hypervisor 224-4 may provide hardware virtualization techniques that allow multiple operating systems (e.g., “guest operating systems”) to execute concurrently on a host computer, such as computing resource 224. Hypervisor 224-4 may present a virtual operating platform to the guest operating systems, and may manage the execution of the guest operating systems. Multiple instances of a variety of operating systems may share virtualized hardware resources. Network 230 includes one or more wired and/or wireless networks. For example, network 230 may include a cellular network (e.g., a fifth generation (5G) network, a long-term evolution (LTE) network, a third generation (3G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., the Public Switched Telephone Network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber optic-based network, or the like, and/or a combination of these or other types of networks; Examiner’s Note: Rady teaches of guest operating systems, that are associated with a network. This network can be cellular network (5G network) or a telephone network.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Zhao, Cao, and Ciano with the teachings of Rady wherein the virtual machine runs a distributed unit or a central unit of a 5G data and telephone network. Rady teaches of guest operating systems, that are associated with a network. This network can be cellular network (5G network) or a telephone network. By running a network on a VM, the hypervisor allows multiple operating systems to run concurrently on a computer and share virtualized hardware resources, as discussed in Rady (Col. 8, lines 42-50). Similarly, Cao teaches of SR-IOV network adapters that may be used to obtain a plurality of virtual PCIe devices on a physical peripheral component interconnect express (POO device through virtualization. Such a function is referred to as a virtual function (VF). An SR-IOV network adapter may be virtualized into a plurality of virtual network adapters. A virtual machine executes a service by using a virtual network adapter. Each virtual machine may bypass a virtual machine manager to directly exchange network I/O data with one or more virtual network adapters corresponding to the virtual machine ([0004]). This reduces I/O performance overheads in the virtual machine manager, and ensures I/O throughput efficiency of each VM. Specifically, when sending and receiving a data packet from the virtual network adapter, the virtual machine VM can implement totally independent sending and receiving, as discussed in Cao ([0093]). Reducing latency is important for things that require high speed, such as 5G data and telephone network.
17. Regarding claim 9, it is rejected under the same reasoning as claim 2 above. Therefore, it is rejected under the same rationale.
18. Regarding claim 15, it is rejected under the same reasoning as claim 2 above. Therefore, it is rejected under the same rationale.
19. Claims 3, 10, and 16 are rejected under 35 U.S.C. 103 as being unpatentable over Zhao US 20150052254 A1; Cao et al. US 20210200573 A1; and Ciano US 7506037 B1, as applied in claim 1, and in further view of Parulkar et al. US 10965737 B1.
20. With regard to claim 3, Zhao, Cao, and Ciano teach the method of claim 1 but fail to explicitly teach wherein the virtual machine runs a network function of a 5G data and telephone network, the network function comprising an application function (AF), an access and mobility management function (AMMF), an authentication server function (AUSF), a network function local repository (NRF), a packet forwarding control protocol (PFCP), a session management function (SMF), a unified data management (UDM), a unified data repository (UDR), or a user plane function (UPF).
However, in analogous art, Parulkar teaches:
wherein the virtual machine runs a network function of a 5G data and telephone network, the network function comprising an application function (AF), an access and mobility management function (AMMF), an authentication server function (AUSF), a network function local repository (NRF), a packet forwarding control protocol (PFCP), a session management function (SMF), a unified data management (UDM), a unified data repository (UDR), or a user plane function (UPF) (Col. 2, lines 10-20, According to some embodiments, computing resources managed by a cloud provider are deployed at edge locations of the cloud provider network integrated within communications service provider (CSP) networks. CSPs generally include companies that have deployed networks through which end users obtain network connectivity. For example, CSPs can include mobile or cellular network providers (e.g., operating 3G, 4G, and/or 5G networks), wired internet service providers (e.g., cable, digital subscriber lines, fiber, etc.), and WiFi providers (e.g., at locations such as hotels, coffee shops, airports, etc.); Col. 8, lines 56- 61, As illustrated, the provider substrate extension servers can host one or more compute instances 122. Compute instances 122 can be VMs, or containers that package up code and all its dependencies so an application can run quickly and reliably across computing environments (e.g., including VMs); Col. 9, lines 30-44, The migration manager may have a centralized coordination component that runs in region, as well as local controllers that run on the PSE servers (and servers in the cloud provider's data centers). The centralized coordination component can identify target edge locations and/or target hosts when a migration is triggered, while the local controllers can coordinate the transfer of data between the source and target hosts. The described movement of the resources between hosts in different locations may take one of several forms of migration. Migration refers to moving virtual machine instances (and/or other resources) between hosts in a cloud computing network, or between hosts outside of the cloud computing network and hosts within the cloud. There are different types of migration including live migration and reboot migration; Col. 9, lines 53-57, Live migration refers to the process of moving a running virtual machine or application between different physical machines without significantly disrupting the availability of the virtual machine (e.g., the down time of the virtual machine is not noticeable by the end user); Col. 35, lines 32-53, The operations include, at block 1102, receiving a message including an indication of a mobility event associated with a mobile device of a communications service provider network, wherein the mobility event indicates a change in a connection point of the mobile device to the communications service provider network from a from a first access point to a second access point. As explained with reference to FIG. 8, the initial placement determination for a compute instance based on a latency requirement may no longer satisfy that latency requirement as devices move amongst different access points of a CSP network. To continue to meet a latency requirement, the cloud provider network can respond to mobility events output by a mobility management component of the CSP network such as an Access and Mobility and Mobility Management Function (AMF) for 5G networks or the Mobility Management Entity (MME) for 4G or LTE networks. Such mobility events may be actual events (e.g., a mobile device has changed its connection point from a first access point to a second access point) or predicted events (e.g., the mobile device is likely to connect to the second access point); Examiner’s Note: Resources managed by a cloud provider are deployed at locations of the cloud provider network that include mobile/cellular network, including 5G. The service providers can be VMs, indicating that the VM can run a network function of 5G and telephone network. At times, there might need to be a live migration of VMs between hosts due to lack of resources on the source host. The network can comprise of an access and mobility management function.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Zhao, Cao, and Ciano with the teachings of Parulkar wherein the virtual machine runs a network function of a 5G data and telephone network, the network function comprising an application function (AF), an access and mobility management function (AMMF), an authentication server function (AUSF), a network function local repository (NRF), a packet forwarding control protocol (PFCP), a session management function (SMF), a unified data management (UDM), a unified data repository (UDR), or a user plane function (UPF). The purpose of the AMMF is to decide whether a handover of the electronic device from one access point to another is to take place, and which access point is the best connection point. It does this by looking at certain signals measured by the electronic device, as discussed in Parulkar (Col. 29, lines 1-24).
21. Regarding claim 10, it is rejected under the same reasoning as claim 3 above. Therefore, it is rejected under the same rationale.
22. Regarding claim 16, it is rejected under the same reasoning as claim 3 above. Therefore, it is rejected under the same rationale.
23. Claims 4-5, 11-12, and 17-18 are rejected under 35 U.S.C. 103 as being unpatentable over Zhao US 20150052254 A1; Cao et al. US 20210200573 A1; and Ciano US 7506037 B1, as applied in claim 1, and in further view of Wu et al. US 20190095243 A1.
24. With regard to claim 4, Zhao, Cao, and Ciano teach the method of claim 1 but fail to explicitly teach wherein reserving the replacement device assignment on the target server further comprises commissioning a dummy virtual machine on the target server, wherein the dummy virtual machine is configured with the replacement device assignment.
However, in analogous art, Wu teaches:
wherein reserving the replacement device assignment on the target server further comprises commissioning a dummy virtual machine on the target server, wherein the dummy virtual machine is configured with the replacement device assignment ([0032] The embodiments of the present disclosure are described using an example in which a source virtual machine in the first virtualization system 11 is migrated to a host of the second virtualization system 12. The first virtualization system 11 specifies a temporary address of a destination virtual machine, and transfers the temporary address to the second migration tool 121 of the second virtualization system 12 such that the second migration tool 121 sets an address of the migrated destination virtual machine to the temporary address. The first migration tool 111 establishes a connection to the migrated destination virtual machine using the temporary address, and modifies the address of the destination virtual machine to an address of the source virtual machine using the first migration agent on the destination virtual machine in order to maintain consistency of the addresses of the virtual machine before and after migration, thereby shortening service interruption duration; Examiner’s Note: The temporary VM address acts as a dummy VM that allows the source VM to connect to the destination system.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Zhao, Cao, and Ciano with the teachings of Wu wherein reserving the replacement device assignment on the target server further comprises commissioning a dummy virtual machine on the target server, wherein the dummy virtual machine is configured with the replacement device assignment. During the act of virtual machine migration, it would be beneficial to have dummy VM be assigned to the target server since it helps maintain consistency of the addresses of the virtual machine before and after migration, thereby shortening service interruption duration, as discussed in Wu ([0032]). Therefore, allowing the VM to migrate with minimal interference with customer’s usage.
25. With regard to claim 5, Wu further teaches:
wherein migrating the virtual machine to the target server further comprises:
commissioning the virtual machine having the replacement device assignment on the target server ([0032] The first migration tool 111 establishes a connection to the migrated destination virtual machine using the temporary address, and modifies the address of the destination virtual machine to an address of the source virtual machine using the first migration agent on the destination virtual machine; Examiner’s Note: The temporary address is changed to the source VM address, which gives the source VM the ability to connect to the destination system.); and
decommissioning the dummy virtual machine having the replacement device assignment on the target server ([0032] The first migration tool 111 establishes a connection to the migrated destination virtual machine using the temporary address, and modifies the address of the destination virtual machine to an address of the source virtual machine using the first migration agent on the destination virtual machine; Examiner’s Note: Temporary address is modified to the address of the source VM. This is analogous with decommission the dummy VM.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Zhao, Cao, and Ciano with the teachings of Wu wherein migrating the virtual machine to the target server further comprises: commissioning the virtual machine having the replacement device assignment on the target server and decommissioning the dummy virtual machine having the replacement device assignment on the target server. In order for the source VM to successfully migrate to the destination system, it has to replace the dummy VM that is currently holding its place. By utilizing a dummy VM, it helps maintain consistency of the addresses of the virtual machine before and after migration, thereby shortening service interruption duration, as discussed in Wu ([0032]). Therefore, allowing the VM to migrate with minimal interference with customer’s usage.
26. Regarding claim 11, it is rejected under the same reasoning as claim 4 above. Therefore, it is rejected under the same rationale.
27. Regarding claim 12, it is rejected under the same reasoning as claim 5 above. Therefore, it is rejected under the same rationale.
28. Regarding claim 17, it is rejected under the same reasoning as claim 4 above. Therefore, it is rejected under the same rationale.
29. Regarding claim 18, it is rejected under the same reasoning as claim 5 above. Therefore, it is rejected under the same rationale.
30 Claims 6, 13, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Zhao US 20150052254 A1; Cao et al. US 20210200573 A1; and Ciano US 7506037 B1, as applied in claim 1, in further view of Zhang et al. US 20140130044 A1.
31. With regard to claim 6, Zhao, Cao, and Ciano teach the method of claim 1 but fail to explicitly teach further comprising forwarding a communication addressed to the direct device assignment from the host server to the replacement device assignment on the target server.
However, in analogous art, Zhang teaches:
further comprising forwarding a communication addressed to the direct device assignment from the host server to the replacement device assignment on the target server ([0074] In the embodiments of the present disclosure, after a message of live migration that a virtual machine migrates from a source physical host to a target physical host sent by a virtual machine management server is received, an identifier of a source forwarding switch of the virtual machine and an identifier of a target forwarding switch of the virtual machine are acquired; prestored configuration information is sent to the target forwarding switch corresponding to the identifier of the target forwarding switch, so that the target forwarding switch stores the configuration information; and a configuration information deletion instruction is sent to the source forwarding switch corresponding to the identifier of the source forwarding switch, so that the source forwarding switch deletes the prestored configuration information. Compared with the prior art in which configuration information is not migrated synchronously after live migration of a virtual machine, with the method for migrating configuration information during live migration of a virtual machine provided in the embodiments of the present disclosure, configuration information of a virtual machine can be migrated synchronously during live migration of the virtual machine; Examiner’s Note: Configuration information of the source host is sent to the target host through the target forwarding switch.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Zhao, Cao, and Ciano with the teachings of Zhang comprising forwarding a communication addressed to the direct device assignment from the host server to the replacement device assignment on the target server. By forwarding a communication from the host server to the target server, the switching control apparatus provided in this embodiment of the present disclosure can synchronously migrate configuration information of a virtual machine during live migration of the virtual machine. In this way, when the virtual machine is online on a new physical host, it is not identified as an Internet protocol/media access control address forgery attack, thereby enabling the virtual machine to access a network successfully after the live migration, as discussed in Zhang ([0159]). Therefore, ensuring the seamless migration of a VM from one device to another.
32. Regarding claim 13, it is rejected under the same reasoning as claim 6 above. Therefore, it is rejected under the same rationale.
33. Regarding claim 19, it is rejected under the same reasoning as claim 6 above. Therefore, it is rejected under the same rationale.
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 nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to AN-AN N NGUYEN whose telephone number is (571)272-6147. The examiner can normally be reached Monday-Friday 8:00-5:00 ET.
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, AIMEE LI can be reached at (571) 272-4169. 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.
/AN-AN NGOC NGUYEN/Examiner, Art Unit 2195
/Aimee Li/Supervisory Patent Examiner, Art Unit 2195