# US 2019/0356728 A1 · Automated dynamic load balancing across virtual network interface controller fast switchover devices

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

- Number: US 2019/0356728 A1
- Document ID: US20190356728A1
- Status: Published application
- Kind: A1
- Application number: 15/979,785
- Filed: 2018-05-15
- Published: 2019-11-21
- Earliest claimed: 2018-05-15
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: COLIN R. DEVILBISS; STEVEN E. ROYER; CHARLES S. GRAHAM
- Web page: https://patentgrep.com/patent/US20190356728A1

## CPC

- H04L 67/1001: for accessing one among a plurality of replicated servers
- H04L 67/1008: based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30)
- H04L 67/1025: Dynamic adaptation of the criteria on which the server selection is based
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Automated dynamic load balancing across VNIC fast switchover devices including monitoring, by a resource monitor, resource utilization metrics of at least one resource used to send data along a first communications path through a hypervisor; in response to detecting, by the resource monitor based on the resource utilization metrics, that the at least one resource crosses a resource utilization threshold, sending a notification to a rebalancer, wherein the notification comprises a subset of the resource utilization metrics; generating, by the rebalancer based on the subset of the resource utilization metrics, a resource optimized mapping for the at least one resource used to send data along the first communications path; and issuing, by the rebalancer, the resource optimized mapping to the hypervisor, wherein the hypervisor reconfigures, based on the resource optimized mapping, the at least one resource used to send data along the first communications path.

## Claims

### Claim 1

A method of automated dynamic load balancing across virtual network interface controller (VNIC) fast switchover devices, the method comprising:
monitoring, by a resource monitor, resource utilization metrics of at least one resource used to send data along a first communications path through a hypervisor, wherein the first communications path is utilized by a first client partition and comprises a VNIC client in the first client partition, a VNIC server in a virtual input/output (I/O) server, a logical port in the virtual I/O server, and a communications adapter;
in response to detecting, by the resource monitor based on the resource utilization metrics, that the at least one resource crosses a resource utilization threshold, sending a notification to a rebalancer that the at least one resource has exceeded the resource utilization threshold, wherein the notification comprises a subset of the resource utilization metrics;
generating, by the rebalancer based on the subset of the resource utilization metrics, a resource optimized mapping for the at least one resource used to send data along the first communications path; and
issuing, by the rebalancer, the resource optimized mapping to the hypervisor, wherein the hypervisor reconfigures, based on the resource optimized mapping, the at least one resource used to send data along the first communications path.

### Claim 2 (depends on 1)

The method of claim 1, wherein the at least one resource is shared by a second communications path utilized by a second client partition.

### Claim 3 (depends on 1)

The method of claim 1, wherein the resource optimized mapping for the at least one resource used to send data along the first communications path comprises one selected from a group consisting of: an instruction to add an additional resource to the first communications path, and an instruction to replace the at least one resource with a second resource.

### Claim 4 (depends on 1)

The method of claim 1, wherein detecting, by the resource monitor, that the at least one resource crosses the resource utilization threshold comprises:
detecting, by the resource monitor, that the at least one resource exceeds an upper resource utilization threshold; and
detecting, by the resource monitor, that a second resource has fallen below a lower resource utilization threshold.

### Claim 5 (depends on 1)

The method of claim 1, wherein generating, by the rebalancer based on the subset of the resource utilization metrics, the resource optimized mapping for the at least one resource used to send data along the first communications path comprises:
determining, by the rebalancer, an affinity between the at least one resource and a second resource; and
generating, by the rebalancer, the resource optimized mapping based on the affinity between the at least one resource and the second resource.

### Claim 6 (depends on 1)

The method of claim 1, wherein the resource optimized mapping comprises instructions to alter a VNIC server failover configuration, wherein the VNIC server failover configuration identifies a backup VNIC server for use in response to a failure of the VNIC server.

### Claim 7 (depends on 1)

The method of claim 1, wherein the at least one resource comprises one selected from a group consisting of: the logical port, the communications adapter, the VNIC server, the virtual I/O server, processing resources, and memory resources.

### Claim 8

An apparatus for automated dynamic load balancing across virtual network interface controller (VNIC) fast switchover devices, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:
monitoring, by a resource monitor, resource utilization metrics of at least one resource used to send data along a first communications path through a hypervisor, wherein the first communications path is utilized by a first client partition and comprises a VNIC client in the first client partition, a VNIC server in a virtual input/output (I/O) server, a logical port in the virtual I/O server, and a communications adapter;
in response to detecting, by the resource monitor based on the resource utilization metrics, that the at least one resource crosses a resource utilization threshold, sending a notification to a rebalancer that the at least one resource has exceeded the resource utilization threshold, wherein the notification comprises a subset of the resource utilization metrics;
generating, by the rebalancer based on the subset of the resource utilization metrics, a resource optimized mapping for the at least one resource used to send data along the first communications path; and
issuing, by the rebalancer, the resource optimized mapping to the hypervisor, wherein the hypervisor reconfigures, based on the resource optimized mapping, the at least one resource used to send data along the first communications path.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein the at least one resource is shared by a second communications path utilized by a second client partition.

### Claim 10 (depends on 8)

The apparatus of claim 8, wherein the resource optimized mapping for the at least one resource used to send data along the first communications path comprises one selected from a group consisting of: an instruction to add an additional resource to the first communications path, and an instruction to replace the at least one resource with a second resource.

### Claim 11 (depends on 8)

The apparatus of claim 8, wherein detecting, by the resource monitor, that the at least one resource crosses the resource utilization threshold comprises:
detecting, by the resource monitor, that the at least one resource exceeds an upper resource utilization threshold; and
detecting, by the resource monitor, that a second resource has fallen below a lower resource utilization threshold.

### Claim 12 (depends on 8)

The apparatus of claim 8, wherein generating, by the rebalancer based on the subset of the resource utilization metrics, the resource optimized mapping for the at least one resource used to send data along the first communications path comprises:
determining, by the rebalancer, an affinity between the at least one resource and a second resource; and
generating, by the rebalancer, the resource optimized mapping based on the affinity between the at least one resource and the second resource.

### Claim 13 (depends on 8)

The apparatus of claim 8, wherein the resource optimized mapping comprises instructions to alter a VNIC server failover configuration, wherein the VNIC server failover configuration identifies a backup VNIC server for use in response to a failure of the VNIC server.

### Claim 14 (depends on 8)

The apparatus of claim 8, wherein the at least one resource comprises one selected from a group consisting of: the logical port, the communications adapter, the VNIC server, the virtual I/O server, processing resources, and memory resources.

### Claim 15

A computer program product for automated dynamic load balancing across virtual network interface controller (VNIC) fast switchover devices, the computer program product disposed upon a computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:
monitoring, by a resource monitor, resource utilization metrics of at least one resource used to send data along a first communications path through a hypervisor, wherein the first communications path is utilized by a first client partition and comprises a VNIC client in the first client partition, a VNIC server in a virtual input/output (I/O) server, a logical port in the virtual I/O server, and a communications adapter;
in response to detecting, by the resource monitor based on the resource utilization metrics, that the at least one resource crosses a resource utilization threshold, sending a notification to a rebalancer that the at least one resource has exceeded the resource utilization threshold, wherein the notification comprises a subset of the resource utilization metrics;
generating, by the rebalancer based on the subset of the resource utilization metrics, a resource optimized mapping for the at least one resource used to send data along the first communications path; and
issuing, by the rebalancer, the resource optimized mapping to the hypervisor, wherein the hypervisor reconfigures, based on the resource optimized mapping, the at least one resource used to send data along the first communications path.

### Claim 16 (depends on 15)

The computer program product of claim 15, wherein the at least one resource is shared by a second communications path utilized by a second client partition.

### Claim 17 (depends on 15)

The computer program product of claim 15, wherein the resource optimized mapping for the at least one resource used to send data along the first communications path comprises one selected from a group consisting of: an instruction to add an additional resource to the first communications path, and an instruction to replace the at least one resource with a second resource.

### Claim 18 (depends on 15)

The computer program product of claim 15, wherein detecting, by the resource monitor, that the at least one resource crosses the resource utilization threshold comprises:
detecting, by the resource monitor, that the at least one resource exceeds an upper resource utilization threshold; and
detecting, by the resource monitor, that a second resource has fallen below a lower resource utilization threshold.

### Claim 19 (depends on 15)

The computer program product of claim 15, wherein generating, by the rebalancer based on the subset of the resource utilization metrics, the resource optimized mapping for the at least one resource used to send data along the first communications path comprises:
determining, by the rebalancer, an affinity between the at least one resource and a second resource; and
generating, by the rebalancer, the resource optimized mapping based on the affinity between the at least one resource and the second resource.

### Claim 20 (depends on 15)

The computer program product of claim 15, wherein the resource optimized mapping comprises instructions to alter a VNIC server failover configuration, wherein the VNIC server failover configuration identifies a backup VNIC server for use in response to a failure of the VNIC server.
