IP Library Granted Patent US 11,765,024
Granted Patent B2
US 11,765,024 · App. 17/214,014 · Granted Sep 19, 2023

Automatic provisioning of a computing device with operating system and network processing functions

Inventors: Sandeep Kumble Seetharama (Karnataka, IN); Nilakantan Mahadevan (Karnataka, IN)
Assignee: Hewlett Packard Enterprise Development LP
H04L41/0806G06F9/4406H04L41/0859H04L41/0863H04L41/0886
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 11,765,024
App. No.
17/214,014
Granted
Sep 19, 2023
Kind
B2
Abstract

Examples include systems and methods for providing automatic techniques for provisioning a computing device with an operating system and network processing functions. Some examples include automatically initiating a network handling module for configuring or programming a network interface card in a computing device to enable a network processing function while rebooting the computing device post operating system installation.

Claims (67)

1. A method for provisioning a computing device, comprising:

providing the computing device in a pre-operating system environment, the computing device comprising:

a first network interface card (NIC); and

a memory storing a customized operating system (OS) package comprising a first image file for an OS, and a second image file for NIC orchestration comprising network configuration data, a first NIC firmware corresponding to the first NIC, and a network handling module;

booting the computing device in the pre-operating system environment using the first image file to install the OS for attaining a post-operating system environment and configuring the first NIC to enable network connectivity;

executing instructions in the first image file to register the network handling module in the second image file as a service to be provided by the OS;

rebooting the computing device in the post-operating system environment for loading the OS;

automatically initiating, by the OS, the network handling module responsive to the network handling module being registered as the service to be provided by the OS; and

configuring or programming, by the network handling module initiated by the OS, the first NIC using the network configuration data in the second image file to enable a network processing function on the first NIC by:

determining, by the network handling module, at least one of a first NIC configuration or a first programming scheme defined for the first NIC;

reading, by the network handling module, the network configuration data from the second image file, wherein reading the network configuration data comprises identifying a plurality of contradicting configurations and selecting one of the contradicting configurations by superseding network partitioning over speed;

converting, by the network handling module, the network configuration data to first device specific information corresponding to the first NIC according to the at least one of the first NIC configuration or the first programming scheme defined for the first NIC; and

instructing, by the network handling module, the first NIC firmware to configure or program the first NIC using the first device specific information.

2. The method of claim 1 , wherein the network processing function comprises a processing activity related to security, performance, and customization in a network.

3. The method of claim 1 , wherein the network processing function comprises at least one selected from among: encryption/decryption, intrusion detection/prevention, compression, a firewall function, a Quality of Service (QoS) function, an access control list (ACL) function, network bonding, address translation, Virtual LAN (VLAN)/Virtual Extensible LAN (VXLAN) tunneling, security, routing, network partitioning, or creating a secure tunneling endpoint.

4. The method of claim 1 , further comprising:

determining, by the network handling module, whether the first NIC firmware is to be updated; and

in response to determining that the first NIC firmware is to be updated, updating the first NIC firmware prior to the configuring or programming of the first NIC.

5. The method of claim 1 , wherein the determining of the at least one of the first NIC configuration or the first programming scheme defined for the first NIC comprises retrieving a unique identification, vendor details, and metadata of the first NIC.

6. The method of claim 1 , wherein the selecting the one of the contradicting configurations validates the network configuration data.

7. The method of claim 1 , wherein the computing device further comprises a second NIC that is different from the first NIC, the second image file further comprises a second NIC firmware corresponding to the second NIC, and wherein the method further comprises:

configuring or programming, by the second NIC firmware, the second NIC with the network configuration data to enable the network processing function on the second NIC.

8. The method of claim 7 , wherein the configuring or programming the second NIC comprises:

determining, by the network handling module, at least one of a second NIC configuration or a second programming scheme defined for the second NIC;

converting, by the network handling module, the network configuration data to second device specific information corresponding to the second NIC according to the at least one of the second NIC configuration or the second programming scheme defined for the second NIC; and

instructing, by the network handling module, the second NIC firmware to configure or program the second NIC using the second device specific information.

9. The method of claim 8 , wherein the determining of the at least one of the second NIC configuration or the second programming scheme defined for the second NIC comprises retrieving a unique identification, vendor details, and metadata of the second NIC.

10. The method of claim 8 , wherein the at least one of the first NIC configuration or the first programming scheme defined for the first NIC is different than the at least one of the second NIC configuration or the second programming scheme defined for the second NIC.

11. The method of claim 1 , wherein the customized OS package comprises network configuration data for a plurality of network configurations, and the configuring or programming of the first NIC further comprises configuring or programming the first NIC with each network configuration of the plurality of network configurations to enable a plurality of network processing functions on the first NIC.

12. The method of claim 1 , further comprising:

in response of a failure while configuring or programming the first NIC with the network configuration data to enable the network processing function, restoring a previously configured or programmed network configuration on the first NIC.

13. A non-transitory machine-readable storage medium comprising instructions that upon execution cause a processor to:

in a computing device in a pre-operating system environment, the computing device comprising the processor, a first network interface card (NIC), and a memory storing a customized operating system (OS) package comprising a first image file for an OS and a second image file for NIC orchestration comprising network configuration data, a first NIC firmware corresponding to the first NIC, and a network handling module:

install the OS in the computing device using the first image file; and

execute instructions in the first image file to register the network handling module in the second image file as a service to be provided by the OS;

cause a reboot of the computing device in a post-operating system environment for loading the OS;

automatically initiate, by the OS, the network handling module responsive to the network handling module being registered as the service to be provided by the OS;

determine, by the network handling module, at least one of a first NIC configuration or a first programming scheme defined for the first NIC;

read, by the network handling module, the network configuration data from the second image file, wherein reading the network configuration data comprises identifying a plurality of contradicting configurations and selecting one of the contradicting configurations by superseding network partitioning over speed;

convert, by the network handling module, the network configuration data to first device specific information corresponding to the first NIC according to the at least one of the first NIC configuration or the first programming scheme defined for the first NIC; and

instruct, by the network handling module, the first NIC firmware to configure or program the first NIC using the first device specific information to enable a network processing function on the first NIC.

14. The non-transitory machine-readable storage medium of claim 13 , wherein the instructions to determine the at least one of the first NIC configuration or the first programming scheme defined for the first NIC comprise instructions to retrieve a unique identification, vendor details, and metadata of the first NIC.

15. The non-transitory machine-readable storage medium of claim 13 , wherein the instructions to select the one of the contradicting configurations validates the network configuration data.

16. The non-transitory machine-readable storage medium of claim 13 , wherein the network processing function comprises a processing activity related to security, performance, and customization in a network.

17. The non-transitory machine-readable storage medium of claim 13 , wherein the instructions upon execution cause the computing device to:

determine, by the network handling module, whether the first NIC firmware is to be updated; and

in response to determining that the first NIC firmware is to be updated, update the first NIC firmware prior to the instructing.

18. The non-transitory machine-readable storage medium of claim 13 , wherein the computing device further comprises a second NIC that is different from the first NIC, the second image file further comprises a second NIC firmware corresponding to the second NIC, and the instructions further comprise instructions that upon execution cause the computing device to:

determine at least one of a second NIC configuration or a second programming scheme defined for the second NIC;

convert the network configuration data to second device specific information corresponding to the second NIC according to the at least one of the second NIC configuration or the second programming scheme defined for the second NIC; and

instruct the second NIC firmware to configure or program the second NIC using the second device specific information to enable the network processing function on the second NIC.

19. The non-transitory machine-readable storage medium of claim 18 , wherein:

the instructions to determine the at least one of the first NIC configuration or the first programming scheme defined by the first NIC comprise instructions to retrieve unique identification, vendor details, and metadata of the first NIC, and

the instructions to determine the at least one of the second NIC configuration or the second programming scheme defined by the second NIC comprise instructions to retrieve a unique identification, vendor details, and metadata of the second NIC.

20. A computing device comprising:

a network interface card (NIC);

a memory storing a customized operating system (OS) package comprising a first image file for an OS and a second image file for network orchestration, the second image file comprising network configuration data, a NIC firmware corresponding to the NIC, and a network handling module;

a processor; and

a non-transitory storage medium storing instructions executable on the processor to:

boot the computing device in a pre-operating system environment using the first image file to install the OS for attaining a post-operating system environment and configuring the NIC to enable network connectivity;

execute instructions in the first image file to register the network handling module in the second image file as a service to be provided by the OS;

reboot the computing device in the post-operating system environment for loading the OS;

automatically initiate, by the OS, the network handling module responsive to the network handling module being registered as the service to be provided by the OS;

determine, by the network handling module, at least one of a NIC configuration or a programming scheme defined for the NIC;

read, by the network handling module, the network configuration data from the second image file, wherein reading the network configuration data comprises identifying a plurality of contradicting configurations and selecting one of the contradicting configurations by superseding network partitioning over speed;

convert, by the network handling module, the network configuration data to device specific information corresponding to the NIC according to the at least one of the NIC configuration or the programming scheme defined for the NIC; and

instruct, by the network handling module, the NIC firmware to configure or program the NIC using the device specific information to enable a network processing function on the NIC.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2021
From: KUMBLE SEETHARAMA, SANDEEP; MAHADEVAN, NILAKANTAN
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 056977/0063 →
Continuity (1)
Related Publication 20210336845A1 · Oct 28, 2021