# US 11,121,960 B2 · Detecting and managing relocation of network communication endpoints in a distributed computing environment

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

- Number: US 11,121,960 B2
- Document ID: US11121960B2
- Status: Granted
- Kind: B2
- Application number: 16/426,729
- Filed: 2019-05-30
- Published: 2020-12-03
- Granted: 2021-09-14
- Earliest claimed: 2019-05-30
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Dwip N. Banerjee; Maria Joseph Frederic Durairaj; Sivakumar Krishnasamy; James L. Hall
- Web page: https://patentgrep.com/patent/US11121960B2

## CPC

- H04L 45/02: Topology update or discovery
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- H04L 45/121: by minimising delays
- H04L 49/70: {Virtual switches}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques for managing communications between applications executing in a distributed computing environment are presented. An example method includes detecting, by a first virtual machine, that an application has migrated from a source virtual machine to a destination virtual machine in the distributed computing environment. The first virtual machine identifies a location of the destination virtual machine in the distributed computing environment. Based on the identified location, the first virtual machine generates one or more routing rules for communications between applications executing on the first virtual machine and the migrated application, wherein the one or more routing rules comprise rules that minimize latency and processing overhead for communications with the migrated application in the distributed computing environment.

## Claims

### Claim 1

A method for managing communications between applications executing in a distributed computing environment by a first virtual machine, comprising:
detecting that an application has migrated from a source virtual machine to a destination virtual machine in the distributed computing environment such that the migrated application executes on the destination virtual machine and other applications executing on the source virtual machine prior to migration of the migrated application remain executing on the source virtual machine;
identifying a location of the destination virtual machine in the distributed computing environment, wherein identifying the location of the destination virtual machine in the distributed computing environment comprises identifying an interface through which communications with the destination virtual machine are performed; and
based on the identified location, generating routing rules for communications between applications executing on the first virtual machine and the migrated application, wherein the routing rules minimize latency and processing overhead for network communications between applications executing on the first virtual machine with the migrated application executing on the destination virtual machine in the distributed computing environment.

### Claim 2 (depends on 1)

The method of claim 1, wherein the identified interface comprises a loopback interface, and wherein the routing rules for communications between applications executing on the first virtual machine and the migrated application indicate that communications between applications executing on the first virtual machine and the migrated application are to be performed using a fast loopback interface.

### Claim 3 (depends on 1)

The method of claim 1, wherein detecting that the application has migrated from the source virtual machine to the destination virtual machine in the distributed computing environment comprises:
receiving, from a virtual networking system of a physical machine hosting the first virtual machine, an indication that the destination virtual machine has been migrated to the physical machine, wherein the routing rules indicate that communications between applications executing on the first virtual machine and the migrated application are to be performed through the virtual networking system.

### Claim 4 (depends on 1)

The method of claim 1, wherein detecting that the application has migrated from the source virtual machine to the destination virtual machine in the distributed computing environment comprises:
receiving, from a virtual networking system of a physical machine hosting the first virtual machine, an indication that the destination virtual machine has been migrated from the physical machine to a second physical machine, wherein the routing rules indicate that communications between applications executing on the first virtual machine and the migrated application are to be performed through a physical network connection between the physical machine and the second physical machine.

### Claim 5 (depends on 1)

The method of claim 1, wherein detecting that the application has migrated from the source virtual machine to the destination virtual machine comprises determining that a previous route has become an invalid route.

### Claim 6 (depends on 1)

The method of claim 1, wherein identifying the location of the destination virtual machine comprises establishing a connection between the first virtual machine and the destination virtual machine.

### Claim 7 (depends on 6)

The method of claim 6, wherein identifying the location of the destination virtual machine further comprises:
determining that the connection was established on an interface other than a loopback interface; and
determining that the destination virtual machine did not migrate to or away from a physical host on which the first virtual machine executes, wherein the routing rules comprise previously established routing rules updated with a new address of the destination virtual machine.

### Claim 8

A system, comprising:
a processor; and
a memory having instructions stored thereon which, when executed by the processor, perform an operation for managing communications between applications executing in a distributed computing environment by a first virtual machine, the operation comprising:
detecting that an application has migrated from a source virtual machine to a destination virtual machine in the distributed computing environment such that the migrated application executes on the destination virtual machine and other applications executing on the source virtual machine prior to migration of the migrated application remain executing on the source virtual machine;
identifying a location of the destination virtual machine in the distributed computing environment, wherein identifying the location of the destination virtual machine in the distributed computing environment comprises identifying an interface through which communications with the destination virtual machine are performed; and
based on the identified location, generating routing rules for communications between applications executing on the first virtual machine and the migrated application, wherein the routing rules minimize latency and processing overhead for network communications between applications executing on the first virtual machine with the migrated application executing on the destination virtual machine in the distributed computing environment.

### Claim 9 (depends on 8)

The system of claim 8, wherein:
the routing rules for communications between applications executing on the first virtual machine and the migrated application indicate that communications between applications executing on the first virtual machine and the migrated application are to be performed using a fast loopback interface.

### Claim 10 (depends on 8)

The system of claim 8, wherein detecting that the application has migrated from the source virtual machine to the destination virtual machine in the distributed computing environment comprises:
receiving, from a virtual networking system of a physical machine hosting the first virtual machine, an indication that the destination virtual machine has been migrated to the physical machine, wherein the routing rules indicate indicating that communications between applications executing on the first virtual machine and the migrated application are to be performed through the virtual networking system.

### Claim 11 (depends on 8)

The system of claim 8, wherein detecting that the application has migrated from the source virtual machine to the destination virtual machine in the distributed computing environment comprises:
receiving, from a virtual networking system of a physical machine hosting the first virtual machine, an indication that the destination virtual machine has been migrated from the physical machine to a second physical machine, wherein the routing rules indicate that communications between applications executing on the first virtual machine and the migrated application are to be performed through a physical network connection between the physical machine and the second physical machine.

### Claim 12 (depends on 8)

The system of claim 8, detecting that the application has migrated from the source virtual machine to the destination virtual machine comprises determining that a previous route has become an invalid route.

### Claim 13 (depends on 8)

The system of claim 8, wherein identifying the location of the destination virtual machine comprises establishing a connection between the first virtual machine and the destination virtual machine.

### Claim 14 (depends on 13)

The system of claim 13, wherein identifying the location of the destination virtual machine further comprises:
determining that the connection was established on an interface other than a loopback interface; and
determining that the destination virtual machine did not migrate to or away from a physical host on which the first virtual machine executes, wherein the routing rules comprise previously established routing rules updated with a new address of the destination virtual machine.

### Claim 15

A non-transitory computer-readable medium having instructions stored thereon which, when executed on a processor, perform an operation for managing communications between applications executing in a distributed computing environment by a first virtual machine, the operation comprising:
detecting that an application has migrated from a source virtual machine to a destination virtual machine in the distributed computing environment such that the migrated application executes on the destination virtual machine and other applications executing on the source virtual machine prior to migration of the migrated application remain executing on the source virtual machine;
identifying a location of the destination virtual machine in the distributed computing environment, wherein identifying the location of the destination virtual machine in the distributed computing environment comprises identifying an interface through which communications with the destination virtual machine are performed; and
based on the identified location, generating routing rules for communications between applications executing on the first virtual machine and the migrated application, wherein the routing rules minimize latency and processing overhead for network communications between applications executing on the first virtual machine with the migrated application executing on the destination virtual machine in the distributed computing environment.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein:
the routing rules for communications between applications executing on the first virtual machine and the migrated application indicate that communications between applications executing on the first virtual machine and the migrated application are to be performed using a fast loopback interface.

### Claim 17 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein detecting that the application has migrated from the source virtual machine to the destination virtual machine in the distributed computing environment comprises:
receiving, from a virtual networking system of a physical machine hosting the first virtual machine, an indication that the destination virtual machine has been migrated to the physical machine, wherein the routing rules indicate that communications between applications executing on the first virtual machine and the migrated application are to be performed through the virtual networking system.

### Claim 18 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein detecting that the application has migrated from the source virtual machine to the destination virtual machine in the distributed computing environment comprises:
receiving, from a virtual networking system of a physical machine hosting the first virtual machine, an indication that the destination virtual machine has been migrated from the physical machine to a second physical machine, wherein the routing rules indicate that communications between applications executing on the first virtual machine and the migrated application are to be performed through a physical network connection between the physical machine and the second physical machine.

### Claim 19 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein identifying the location of the destination virtual machine comprises:
initiating an establishing a connection between the first virtual machine and the destination virtual machine;
determining that the connection was established on an interface other than a loopback interface; and
determining that the destination virtual machine did not migrate to or away from a physical host on which the first virtual machine executes, wherein the routing rules comprise previously established routing rules updated with a new address of the destination virtual machine.
