IP Library Granted Patent US 9,055,003
Granted Patent B2
US 9,055,003 · App. 13/039,908 · Granted Jun 9, 2015

Regulating network bandwidth in a virtualized environment

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,055,003
App. No.
13/039,908
Granted
Jun 9, 2015
Kind
B2
Abstract

In a method for regulating network bandwidth in a virtualized computer environment, a computer having a hypervisor program receives a request from a first virtual client to transmit data. In response, the computer transfers the data from a memory of the first virtual client to a memory of a virtual server. The computer receives an error notification from a shared virtual network adapter of the virtual server, indicative of insufficient network bandwidth available to transmit the data. In response, the computer notifies the first virtual client that insufficient network bandwidth is available to transmit the data.

Claims (40)

1. A method for regulating network bandwidth in a virtualized computer environment, the method comprising the steps of:

a computer comprising a hypervisor program receiving a request from a first virtual client to transmit data, and in response, the computer copying the data from a memory of the first virtual client to a memory of a virtual server;

the computer receiving an error notification from a shared virtual network adapter in communication with the virtual server and a physical network adapter, the error indicative of insufficient network bandwidth available to transmit the data, and in response, the computer notifying the first virtual client that insufficient network bandwidth is available to transmit the data; and

prior to the step of copying the data from the memory of the first virtual client to the memory of the virtual server, the computer determining that a first pre-allocated bandwidth limit for the first virtual client has been reached, and in response, the computer determining that bandwidth currently allocated to a second virtual client within the virtualized computer environment is not currently being used, and in response, the computer increasing the first pre-allocated bandwidth limit to a first adjusted bandwidth limit.

2. The method of claim 1 , further comprising the steps of:

the computer receiving a bandwidth available notification from the shared virtual network adapter of the virtual server, the bandwidth available notification indicative of increased network bandwidth being available, and in response, the computer notifying the first virtual client that sufficient network bandwidth is available to transmit the data.

3. The method of claim 1 , wherein the step of the computer determining that the first pre-allocated bandwidth limit for the first virtual client has been reached comprises determining that an aggregate of a current bandwidth utilization by the first virtual client and a bandwidth utilization required to transmit the data is greater than a bandwidth limit pre-defined for the first virtual client in a bandwidth allocation table.

4. The method of claim 1 , further comprising the step of:

in response to the step of determining that bandwidth currently allocated to the second virtual client within the virtualized computer environment is not currently being used, the computer decreasing a second pre-allocated bandwidth limit of the second virtual client to a second adjusted bandwidth limit.

5. The method of claim 4 , further comprising the steps of:

the computer receiving a request from the second virtual client to transmit data, and in response, the computer reducing the first adjusted bandwidth limit to the first pre-allocated bandwidth limit and the computer increasing the second adjusted bandwidth limit to the second pre-allocated bandwidth limit.

6. A computer program product for regulating network bandwidth in a virtualized computer environment, the computer program product comprising:

one or more computer-readable tangible hardware storage devices and program instructions stored on at least one of the one or more hardware storage devices, the stored program instructions comprising:

program instructions to receive a request to transmit data from a first virtual client to a virtual server;

program instructions to copy the data from a memory of the first virtual client to a memory of a virtual server;

program instructions to receive a bandwidth utilization error notification from a shared virtual network adapter in communication with the virtual server and a physical network adapter, and in response, to notify the first virtual client of insufficient network bandwidth; and

program instructions to, prior to copying the data from the memory of the first virtual client to the memory of the virtual server, determine that a first pre-allocated bandwidth limit for the first virtual client has been reached, and in response, to determine that bandwidth currently allocated to a second virtual client within the virtualized computer environment is not currently being used, and in response, to increase the first pre-allocated bandwidth limit to a first adjusted bandwidth limit.

7. The computer program product of claim 6 wherein the stored program instructions further comprise program instructions to receive a bandwidth available notification from the shared virtual network adapter of the virtual server, the bandwidth available notification indicative of increased network bandwidth being available, and in response, to notify the first virtual client that sufficient network bandwidth is available to transmit the data.

8. The computer program product of claim 6 , wherein the program instructions to determine that the first pre-allocated bandwidth limit for the first virtual client has been reached comprise program instructions to determine that an aggregate of a current bandwidth utilization by the first virtual client and a bandwidth utilization required to transmit the data is greater than a bandwidth limit pre-defined for the first virtual client in a bandwidth allocation table.

9. The computer program product of claim 6 , wherein the stored program instructions further comprise program instructions to decrease a second pre-allocated bandwidth limit for the second virtual client to a second adjusted bandwidth limit.

10. The computer program product of claim 9 wherein the stored program instructions further comprise:

program instructions to receive a request to transmit data from the second virtual client to the virtual server;

program instructions to reduce the first adjusted bandwidth limit to the first pre-allocated bandwidth limit; and

program instructions to increase the second adjusted bandwidth limit to the second pre-allocated bandwidth limit.

11. A computer system for regulating network bandwidth in a virtualized computer environment, the computer system comprising:

one or more processors, one or more computer-readable tangible hardware storage devices, and program instructions stored on at least one of the one or more hardware storage devices for execution by at least one of the one or more processors, the stored program instructions comprising:

program instructions to receive a request to transmit data from a first virtual client to a virtual server;

program instructions to copy the data from a memory of the first virtual client to a memory of a virtual server;

program instructions to receive a bandwidth utilization error notification from a shared virtual network adapter in communication with the virtual server and a physical network adapter, and in response, to notify the first virtual client of insufficient network bandwidth; and

program instructions to, prior to copying the data from the memory of the first virtual client to the memory of the virtual server, determine that a first pre-allocated bandwidth limit for the first virtual client has been reached, and in response, to determine that bandwidth currently allocated to a second virtual client within the virtualized computer environment is not currently being used, and in response, to increase the first pre-allocated bandwidth limit to a first adjusted bandwidth limit.

12. The computer system of claim 11 , wherein the stored program instructions further comprise program instructions to receive a bandwidth available notification from the shared virtual network adapter of the virtual server, the bandwidth available notification indicative of increased bandwidth being available, and in response, to notify the first virtual client that sufficient network bandwidth is available to transmit the data.

13. The computer system of claim 11 , wherein the stored program instructions further comprise:

program instructions to determine that bandwidth currently allocated to the second virtual client is currently being used; and

program instructions notify the first virtual client that the first pre-allocated bandwidth limit has been reached.

14. The computer system of claim 11 , wherein the program instructions to determine that the first pre-allocated bandwidth limit has been reached comprise program instructions to determine that an aggregate of a current bandwidth utilization by the first virtual client and a bandwidth utilization required to transmit the data is greater than a bandwidth limit pre-defined for the first virtual client in a bandwidth allocation table.

15. The computer system of claim 11 , wherein the stored program instructions further comprise program instructions to decrease a second pre-allocated bandwidth limit for the second virtual client to a second adjusted bandwidth limit.

16. The computer system of claim 15 , wherein the stored program instructions further comprise:

program instructions to receive a request to transmit data from the second virtual client to the virtual server;

program instructions to reduce the first adjusted bandwidth limit to the first pre-allocated bandwidth limit; and

program instructions to increase the second adjusted bandwidth limit to the second pre-allocated bandwidth limit.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 057885/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2011
From: BARATAKKE, KAVITHA VITTAL MURTHY; BELLO, ADEKUNLE; HEGDE, NIKHIL; NARASIMHAN, RASHMI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 025898/0415 →