IP Library Granted Patent US 9,535,737
Granted Patent B2
US 9,535,737 · App. 14/610,117 · Granted Jan 3, 2017

Dynamic virtual port provisioning

Inventor: Ajai Joy (Tyngsboro, MA)
Assignee: BladeLogic, Inc.
G06F9/45558H04L41/0803H04L49/70G06F2009/4557G06F2009/45583G06F2009/45591G06F2009/45595
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,535,737
App. No.
14/610,117
Granted
Jan 3, 2017
Kind
B2
Abstract

In a general aspect, a computer-implemented method can include provisioning a virtual network on a hypervisor server. The method can also include querying the hypervisor server to determine an allowable range for a number of virtual ports of a first port group of a virtual switch implemented on the hypervisor server, the first port group being associated with the virtual network. The method can further include provisioning at least one virtual machine on the virtual network including assigning a respective virtual port of the first port group to the virtual machine. The method can still further include monitoring usage of the virtual ports of the first port group and, in response to the usage of the virtual ports of the first port group exceeding a threshold, instructing the hypervisor server to provision a second port group on the virtual switch, the second port group being associated with the virtual network.

Claims (82)

1. A computer-implemented method comprising:

provisioning a virtual network on a hypervisor server, the hypervisor server being configured to provide virtual computing resources for implementing the virtual network;

querying the hypervisor server to determine an allowable range for a number of virtual ports of a first port group of a virtual switch implemented on the hypervisor server, the first port group being allocated to the virtual network;

provisioning at least one virtual machine on the virtual network, the provisioning of a virtual machine of the at least one virtual machine including assigning a respective virtual port of the first port group to the virtual machine;

monitoring usage of the virtual ports of the first port group; and

in response to the usage of the virtual ports of the first port group exceeding a threshold, instructing the hypervisor server to provision a second port group on the virtual switch, the second port group being allocated to the virtual network in addition to the first port group.

2. The computer-implemented method of claim 1 , wherein a number of virtual ports in the second port group and the number of virtual ports in the first port group is equal to a largest value in the allowable range.

3. The computer-implemented method of claim 1 , wherein a number of virtual ports in the second port group is based on a rate of consumption of virtual ports in the first port group.

4. The computer-implemented method of claim 1 , wherein the threshold is a first threshold, the computer-implemented method further comprising:

monitoring usage of the virtual ports of the second port group; and

in response to the usage of the virtual ports in the second port group exceeding a second threshold, instructing the hypervisor server to provision a third port group on the virtual switch, the third port group being allocated to the virtual network.

5. The computer-implemented method of claim 4 , wherein the second threshold is different than the first threshold.

6. The computer-implemented method of claim 1 , wherein a VLAN identification and a quality-of-service parameter associated with the first port group are also associated with the second port group.

7. The computer-implemented method of claim 1 , further comprising:

querying the hypervisor server to determine a second allowable range for a number of virtual ports of the second port group.

8. The computer-implemented method of claim 1 , wherein the allowable range for the number of virtual ports of the first port group of the virtual switch is based on an architecture of the hypervisor server.

9. A computer-implemented method comprising:

provisioning a virtual network on a hypervisor server, the hypervisor server being configured to provide virtual computing resources for implementing the virtual network;

querying the hypervisor server to determine an allowable range for a number of virtual ports of a first port group of a virtual switch implemented on the hypervisor server, the first port group being associated with the virtual network;

provisioning at least one virtual machine on the virtual network, the provisioning of a virtual machine of the at least one virtual machine including assigning a respective virtual port of the first port group to the virtual machine;

monitoring usage of the virtual ports of the first port group; and

in response to the usage of the virtual ports of the first port group exceeding a threshold, instructing the hypervisor server to provision a second port group on the virtual switch, the second port group being associated with the virtual network, the number of virtual ports in the first port group being equal to a largest value in the allowable range, and a number of virtual ports in the second port group being less than the largest value in the allowable range.

10. A computer-implemented method comprising:

provisioning a virtual network on a hypervisor server, the hypervisor server being configured to provide virtual computing resources for implementing the virtual network;

querying the hypervisor server to determine an allowable range for a number of virtual ports of a first port group of a virtual switch implemented on the hypervisor server, the first port group being associated with the virtual network;

provisioning at least one virtual machine on the virtual network, the provisioning of a virtual machine of the at least one virtual machine including assigning a respective virtual port of the first port group to the virtual machine;

monitoring usage of the virtual ports of the first port group; and

in response to the usage of the virtual ports of the first port group exceeding a threshold, instructing the hypervisor server to provision a second port group on the virtual switch, the second port group being associated with the virtual network, and a number of virtual ports in the second port group being equal to a number of unassigned Internet Protocol (IP) addresses of the virtual network.

11. A computer-implemented method comprising:

provisioning a virtual network on a hypervisor server, the hypervisor server being configured to provide virtual computing resources for implementing the virtual network;

querying the hypervisor server to determine an allowable range for a number of virtual ports of a first port group of a virtual switch implemented on the hypervisor server, the first port group being associated with the virtual network;

provisioning at least one virtual machine on the virtual network, the provisioning of a virtual machine of the at least one virtual machine including assigning a respective virtual port of the first port group to the virtual machine;

monitoring usage of the virtual ports of the first port group;

in response to the usage of the virtual ports of the first port group exceeding a threshold, instructing the hypervisor server to provision a second port group on the virtual switch, the second port group being associated with the virtual network; and

monitoring an amount of available virtual computing resources of the virtual network, a number of virtual ports in the second port group being based on the amount of available virtual computing resources.

12. The computer-implemented method of claim 11 , wherein provisioning the second port group includes provisioning the second port group with a same set of quality of service parameters as the first port group.

13. The computer-implemented method of claim 11 , wherein assigning the respective virtual port of the first port group to the virtual machine includes assigning a respective Internet Protocol (IP) address of the virtual network to a virtual network-interface card of the virtual machine.

14. The computer-implemented method of claim 11 , wherein monitoring the usage of the virtual ports of the first port group is performed in response to the provisioning of the virtual machine of the at least one virtual machine.

15. The computer-implemented method of claim 11 , wherein monitoring the amount of available virtual computing resources of the virtual network is performed in response to the provisioning of the virtual machine of the at least one virtual machine.

16. A non-transitory computer-readable storage medium having instructions recorded and stored thereon, the instructions, when executed by a computing device, cause the computing device to:

provision a virtual network on a hypervisor server, the hypervisor server being configured to provide virtual computing resources for implementing the virtual network;

query the hypervisor server to determine an allowable range for a number of virtual ports of a first port group of a virtual switch implemented on the hypervisor server, the first port group being associated with the virtual network;

provision at least one virtual machine on the virtual network, the provisioning of a virtual machine of the at least one virtual machine including assigning a respective virtual port of the first port group to the virtual machine;

monitor usage of the virtual ports of the first port group;

in response to the usage of the virtual ports of the first port group exceeding a threshold, instruct the hypervisor server to provision a second port group on the virtual switch, the second port group being associated with the virtual network; and

monitor an amount of available virtual computing resources of the virtual network, a number of virtual ports in the second port group being based on the amount of available virtual computing resources.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the threshold is a first threshold, the instructions, when executed by the computing device, further cause the computing device to:

monitor usage of the virtual ports of the second port group; and

in response to the usage of the virtual ports in the second port group exceeding a second threshold, instruct the hypervisor server to provision a third port group on the virtual switch, the second port group being associated with the virtual network.

18. A system comprising:

a host server including a set of physical computing resources;

a hypervisor server configured to virtualize the set of physical computing resources of the host server; and

a virtual network management server including:

at least one memory that is configured to store instructions; and

at least one processor that is operably coupled to the at least one memory and that is configured to process the instructions to cause the virtual network management server to:

provision a virtual network on the hypervisor server, the hypervisor server being configured to provide virtual computing resources for implementing the virtual network;

query the hypervisor server to determine an allowable range for a number of virtual ports of a first port group of a virtual switch implemented on the hypervisor server, the first port group being associated with the virtual network;

provision at least one virtual machine on the virtual network, the provisioning of a virtual machine of the at least one virtual machine including assigning a respective virtual port of the first port group to the virtual machine;

monitor usage of the virtual ports of the first port group;

in response to the usage of the virtual ports of the first port group exceeding a threshold, instruct the hypervisor server to provision a second port group on the virtual switch, the second port group being associated with the virtual network; and

monitor an amount of available virtual computing resources of the virtual network, a number of virtual ports in the second port group being based on the amount of available virtual computing resources.

19. A system comprising:

a first host server including a first set of physical computing resources;

a second host server including a second set of physical computing resources;

a non-volatile data storage device;

a physical data network operationally coupled with the first host server, the second host server, and the non-volatile data storage device;

a hypervisor server configured to:

virtualize the first set of physical computing resources of the first host server,

virtualize the second set of physical computing resources of the second host server, and

virtualize the non-volatile data storage device; and

a virtual network management server including:

at least one memory that is configured to store instructions; and

at least one processor that is operably coupled to the at least one memory and that is configured to process the instructions to cause the virtual network management server to:

provision a virtual network on the hypervisor server, the hypervisor server being configured to provide virtual computing resources for implementing the virtual network;

query the hypervisor server to determine an allowable range for a number of virtual ports of a first port group of a virtual switch implemented on the hypervisor server, the first port group being associated with the virtual network;

provision at least one virtual machine on the virtual network, the provisioning of a virtual machine of the at least one virtual machine including assigning a respective virtual port of the first port group to the virtual machine;

monitor usage of the virtual ports of the first port group; and

in response to the usage of the virtual ports of the first port group exceeding a threshold, instruct the hypervisor server to provision a second port group on the virtual switch, the second port group being associated with the virtual network.

20. The system of claim 18 , wherein the set of physical computing resources of the host server includes:

at least one processor;

a non-volatile data storage device; and

volatile data storage.

Assignments (16)
CHANGE OF NAME Recorded Jan 10, 2025
From: BLADELOGIC, INC.
To: BMC HELIX, INC.
Reel/Frame 069870/0796 →
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0408 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0617 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052854/0139 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052844/0646 →
RELEASE OF PATENTS Recorded Oct 5, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.; BMC ACQUISITION L.L.C.
Reel/Frame 047198/0468 →
SECURITY INTEREST Recorded Oct 2, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047185/0744 →
SECURITY INTEREST Recorded Aug 10, 2017
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043514/0845 →
SECURITY INTEREST Recorded Jul 27, 2017
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043351/0231 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 034855 FRAME 0513. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 3, 2015
From: JOY, AJAI
To: BLADELOGIC, INC.
Reel/Frame 037037/0751 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2015
From: JOY, AJAI
To: BMC SOFTWARE, INC.
Reel/Frame 034855/0513 →
Continuity (1)
Related Publication 20160224363A1 · Aug 4, 2016