IP Library Granted Patent US 8,892,863
Granted Patent B2
US 8,892,863 · App. 14/108,076 · Granted Nov 18, 2014

System and method for automated network configuration

Inventors: Chandrasekharan Nilakantan (Cupertino, TX); Lawrence Stein (San Carlos, CA)
Assignee: Dell Products L.P.
G06F9/4416H04L67/34
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 8,892,863
App. No.
14/108,076
Filed
Dec 16, 2013
Granted
Nov 18, 2014
Kind
B2
Art Unit
2116
USPC
713/2
Abstract

A method of configuring a data network with a controller, the data network including a plurality of hosts each associated with at least one of a plurality of switches, the method including receiving a request to boot an operating system image on one of the plurality of hosts, the operating system image having network connectivity requirements. Further, the method includes selecting a host out of the plurality of hosts on which to boot the operating system image. The method also includes booting the operating system image on the host, and configuring a switch out of the plurality of switches associated with the host based upon the network connectively requirements of the operating system image. Additionally, the method includes configuring networking attributes of a network interface in the host based upon the network connectivity requirements of the operating system image.

Claims (71)

1. A method for configuring a data network, comprising:

receiving, at a controller coupled to a data network, a request to boot an operating system image on one of a plurality of hosts in the data network;

determining, by the controller, a first number of virtual networks in the data network to which the operating system image requires access;

automatically selecting, by the controller, a host out of the plurality of hosts on which to boot the operating system image, wherein the selecting is based upon network connectivity requirements of the operating system image, and wherein the host includes at least one network interface;

determining, by the controller, that the host includes a fewer number of network interfaces than the first number of virtual networks;

booting, by the controller, the operating system image on the host;

partitioning, by an agent executing on the operating system image, the at least one network interface on the host into a plurality of interface partitions that are at least equal in number to the first number of virtual networks; and

configuring, by the agent, layer 3 networking attributes of the plurality of interface partitions such that each of the plurality of interface partitions is communicatively coupled to a different one of the first number of virtual networks.

2. The method of claim 1 , further comprising:

determining an anticipated network traffic requirement for each of the virtual networks; and

dividing a total bandwidth of the at least one network interface between the plurality of interface partitions based on the anticipated network traffic requirements of the virtual networks.

3. The method of claim 1 , further comprising:

determining, by the controller, that partitioning the at least one network interface will result in faster network performance than instantiating a plurality of virtual network interfaces and, in response, partitioning the at least one network interface by the agent.

4. The method of claim 1 , wherein the host is associated with at least one switch, and wherein the method further comprises:

configuring, by the controller, the at least one switch based on the network connectivity requirement of the operating system image.

5. The method of claim 4 , further comprising:

placing, by the controller, a switch port on the at least one switch that is coupled to the at least one network interface into a trunk mode prior to partitioning the at least one network interface by the agent.

6. The method of claim 1 , further comprising:

mapping a first interface partition of the plurality of interface partitions to a first virtual network; and

mapping a second interface partition of the plurality of interface partitions to a second virtual network.

7. The method of claim 1 , further comprising:

determining, by the controller, that a first host of the plurality of hosts includes a partitionable network interface that includes a total throughput speed;

determining, by the controller, that a second host of the plurality of hosts includes a number of non-partitionable network interfaces that is less than the first number of virtual networks, wherein the number of non-partitionable network interfaces include a combined throughput speed; and

determining, by the controller, that the total throughput speed of the partitionable network interface on the first host is greater than the combined throughput speed of the number of partitionable network interfaces on the second host and, in response, automatically selecting the first host out of the plurality of hosts on which to boot the operating system image.

8. A method of configuring a data network, comprising:

receiving, at a controller coupled to a data network, a request to boot an operating system image on one of a plurality of hosts in the data network;

determining, by the controller, a first number of virtual networks in the data network to which the operating system image requires access;

automatically selecting, by the controller, a host out of the plurality of hosts on which to boot the operating system image, wherein the selecting is based upon network connectivity requirements of the operating system image, and wherein the host includes at least one network interface;

determining, by the controller, that the host includes a fewer number of network interfaces than the first number of virtual networks; and

determining, by the controller, whether the at least one network interface on the host is partitionable;

wherein in response to determining that the at least one network interface on the host is partitionable, the controller boots the operating system image on the host, and an agent executing on that operating system image partitions the at least one network interface on the host into a plurality of interface partitions that are at least equal in number to the first number of virtual networks, and that agent configures layer 3 networking attributes of the plurality of interface partitions such that each of the plurality of interface partitions is communicatively coupled to a different one of the first number of virtual networks; and

wherein in response to determining that the at least one network interface on the host is not partitionable, the controller boots the operating system image on the host, and an agent executing on that operating system image instantiates a number of virtual network interfaces equal to the first number of virtual networks, and that agent configures the layer 3 networking attributes of the number of virtual network interfaces such that each of the number of virtual network interfaces is communicatively coupled to a different one of the first number of virtual networks.

9. The method of claim 8 , wherein in response to determining that the at least one network interface on the host is partitionable, the method further comprises:

determining an anticipated network traffic requirement for each of the virtual networks; and

dividing a total bandwidth of the at least one network interface between the plurality of interface partitions based on the anticipated network traffic requirements of the virtual networks.

10. The method of claim 8 , further comprising:

determining, by the controller, that partitioning the at least one network interface will result in faster network performance than instantiating the plurality of virtual network interfaces and, in response, partitioning the at least one network interface by the agent.

11. The method of claim 8 , wherein the host is associated with at least one switch, and wherein the method further comprises:

configuring, by the controller, the at least one switch based on the network connectivity requirement of the operating system image.

12. The method of claim 11 , further comprising:

placing, by the controller, a switch port on the at least one switch that is coupled to the at least one network interface into a trunk mode prior to either partitioning the at least one network interface by the agent or instantiating the number of virtual network interfaces by the agent.

13. The method of claim 8 , wherein in response to determining that the at least one network interface on the host is partitionable, the method further comprises:

mapping a first interface partition of the plurality of interface partitions to a first virtual network; and

mapping a second interface partition of the plurality of interface partitions to a second virtual network.

14. The method of claim 8 , wherein in response to determining that the at least one network interface on the host is paritionable, the method further comprises:

determining, by the controller, that a first host of the plurality of hosts includes a partitionable network interface that includes a total throughput speed;

determining, by the controller, that a second host of the plurality of hosts includes a number of non-partitionable network interfaces that is less than the first number of virtual networks, wherein the number of non-partitionable network interfaces include a combined throughput speed; and

determining, by the controller, that the total throughput speed of the partitionable network interface on the first host is greater than the combined throughput speed of the number of non-partitionable network interfaces on the second host and, in response, automatically selecting the first host out of the plurality of hosts on which to boot the operating system image.

15. A data network configuration system, comprising:

a controller that is configured to couple to a data network including a plurality of hosts, wherein the controller is further configured to:

receive a request to boot an operating system image on one of the plurality of hosts in the data network;

determine a first number of virtual networks in the data network to which the operating system image requires access;

automatically select a host out of the plurality of hosts on which to boot the operating system image, wherein the selecting is based upon network connectivity requirements of the operating system image, and wherein the host includes at least one network interface;

determine that the host includes a fewer number of network interfaces than the first number of virtual networks; and

boot the operating system image on the host; and

an agent module that executes on the host in the operating system image and that is configured to:

partition the at least one network interface on the host into a plurality of interface partitions that are at least equal in number to the first number of virtual networks; and

configure layer 3 networking attributes of the plurality of interface partitions such that each of the plurality of interface partitions is communicatively coupled to a different one of the first number of virtual networks.

16. The data network management system of claim 15 , wherein at least one of the controller and agent module are further configured to:

determine an anticipated network traffic requirement for each of the virtual networks; and

divide a total bandwidth of the at least one network interface between the plurality of interface partitions based on the anticipated network traffic requirements of the virtual networks.

17. The data network management system of claim 15 , wherein the controller is further configured to:

determine that partitioning the at least one network interface will result in faster network performance than instantiating a plurality of virtual network interfaces, wherein the at least one network interface is partitioned by the agent module in response.

18. The data network management system of claim 15 , wherein the host is associated with at least one switch, and wherein the controller is further configured to:

configure the at least one switch based on the network connectivity requirement of the operating system image.

19. The data network management system of claim 18 , wherein the controller is further configured to:

place a switch port on the at least one switch that is coupled to the at least one network interface into a trunk mode prior to the at least one network interface being partitioned by the agent module.

20. The data network management system of claim 15 , wherein the controller is further configured to:

determine that a first host of the plurality of hosts includes a partitionable network interface that includes a total throughput speed;

determine that a second host of the plurality of hosts includes a number of non-partitionable network interfaces that is less than the first number of virtual networks, wherein the number of non-partitionable network interfaces include a combined throughput speed; and

determine that the total throughput speed of the partitionable network interface on the first host is greater than the combined throughput speed of the number of partitionable network interfaces on the second host and, in response, automatically select the first host out of the plurality of hosts on which to boot the operating system image.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF REEL 032810 FRAME 0206 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0204 →
RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040045/0255 →
RELEASE OF REEL 032809 FRAME 0887 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040017/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2015
From: NILAKANTAN, CHANDRASEKHARAN; STEIN, LAWRENCE
To: DELL PRODUCTS L.P.
Reel/Frame 034788/0108 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032809/0887 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 032810/0206 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 032809/0930 →
Continuity (2)
Continuation 13096061 · Apr 28, 2011
Related Publication 20140108777A1 · Apr 17, 2014