# US 2014/0157257 A1 · User datagram protocol (udp) packet migration in a virtual machine (vm) migration

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0157257 A1
- Document ID: US20140157257A1
- Status: Published application
- Kind: A1
- Application number: 13/690,135
- Filed: 2012-11-30
- Published: 2014-06-05
- Earliest claimed: 2012-11-30
- Assignees: International Business Machines Corporation
- Inventors: Eli M. Dow; James P. Gilchrest; Steven K. Schmidt; Jessie Yu
- Web page: https://patentgrep.com/patent/US20140157257A1

## CPC

- G06F 9/45533: {Hypervisors; Virtual machine monitors}
- G06F 9/455: Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/4856: {resumption being on a different machine, e.g. task migration, virtual machine migration (G06F9/5088 takes precedence)}
- H04L 69/164: Adaptation or special uses of UDP protocol
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Embodiments of the invention relate to receiving, by a first processor comprising a processing device, an indication that a migration of a virtual machine from the first processor to a second processor is to occur. The first processor transmits user datagram protocol (UDP) packets intended for the virtual machine to the second processor based on the indication. A signal is transmitted to the virtual machine to enter an offline state, wherein the offline states comprises a transfer of at least one of a central processing unit (CPU) state and a memory state, and wherein the virtual machine is configured to halt a processing of the UDP packets in response to receiving the signal. The virtual machine is reactivated once the migration of the virtual machine from the first processor to the second processor is complete. The virtual machine is instructed to resume the processing of the UDP packets.

## Claims

### Claim at position 1

1-6. (canceled)

### Claim 7

An apparatus comprising:
at least one processing device; and
memory having instructions stored thereon that, when executed by the at least one processing device, cause the apparatus to:
receive an indication that a migration of a virtual machine from the apparatus to a processor is to occur,
transmit user datagram protocol (UDP) packets intended for the virtual machine to the processor based on the indication,
transmit a signal to the virtual machine to enter an offline state, wherein the offline states comprises a transfer of at least one of a central processing unit (CPU) state and a memory state associated with the virtual machine, and wherein the virtual machine is configured to halt a processing of the UDP packets in response to receiving the signal,
receive a second signal indicating that the migration of the virtual machine from the apparatus to the processor is complete, and
instruct the virtual machine to resume the processing of the UDP packets based on the second signal.

### Claim 8 (depends on 7)

The apparatus of claim 7, wherein the instructions, when executed by the at least one processing device, cause the apparatus to:
buffer the UDP packets, and
transmit the buffered UDP packets to the processor once the migration of the virtual machine to the processor is complete.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein the instructions, when executed by the at least one processing device, cause the apparatus to:
order the UDP packets,
wherein the transmission of the UDP packets to the processor is based on the ordering of the UDP packets.

### Claim 10 (depends on 8)

The apparatus of claim 8, wherein the UDP packets are buffered in kernel or userspace memory in at least one of a guest and a hypervisor.

### Claim 11 (depends on 7)

The apparatus of claim 7, wherein the instructions, when executed by the at least one processing device, cause the apparatus to:
transmit the UDP packets intended for the virtual machine to the processor without buffering the UDP packets at the apparatus.

### Claim 12 (depends on 7)

The apparatus of claim 7, wherein the instructions, when executed by the at least one processing device, cause the apparatus to:
instruct the virtual machine to reorder the UDP packets prior to processing the packets.

### Claim 13

A computer program product comprising:
a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:
computer readable program code configured for:
receiving, by a first hypervisor associated with a first processor, an indication that a migration of a virtual machine from the first processor to a second processor is to occur;
causing, by the first hypervisor, the first processor to transmit user datagram protocol (UDP) packets intended for the virtual machine to a second hypervisor associated with the second processor based on the indication;
causing, by the first hypervisor, the first processor to transmit a signal to the virtual machine to enter an offline state, wherein the offline states comprises a transfer of at least one of a central processing unit (CPU) state and a memory state, and wherein the virtual machine is configured to halt a processing of the UDP packets in response to receiving the signal;
reactivating the virtual machine once the migration of the virtual machine from the first processor to the second processor is complete; and
instructing the virtual machine to resume the processing of the UDP packets.

### Claim 14 (depends on 13)

The computer program product of claim 13, wherein the computer readable program code is further configured for:
performing, by the first hypervisor, online migration of the virtual machine responsive to the indication while the virtual machine remains responsive to one or more inputs.

### Claim 15 (depends on 13)

The computer program product of claim 13, wherein the computer readable program code is further configured for:
causing, by the first hypervisor, the first processor to buffer the UDP packets; and
causing, by the first hypervisor, the first processor to transmit the buffered UDP packets to the second hypervisor responsive to receiving an indication that the migration of the virtual machine to the second processor is complete.

### Claim 16 (depends on 15)

The computer program product of claim 15, wherein the computer readable program code is further configured for:
causing, by the first hypervisor, the first processor to order the UDP packets,
wherein the transmission of the UDP packets to the second hypervisor is based on the ordering of the UDP packets to enable the second processor to process the UDP packets without having to re-order the UDP packets at the second processor.
