IP Library Granted Patent US 11,528,186
Granted Patent B2
US 11,528,186 · App. 16/903,266 · Granted Dec 13, 2022

Automated initialization of bare metal servers

Inventors: Sree Nandan Atur (Newark, CA); Kapil Upadhayay (Bangalore, IN); Ravi Kumar Alluboyina (Santa Clara, CA); Lakshay Badlani (Hayward, CA)
Assignee: ROBIN SYSTEMS, INC.
H04L41/0806G06F8/61G06F8/65G06F9/4406H04L61/5007H04L67/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 11,528,186
App. No.
16/903,266
Granted
Dec 13, 2022
Kind
B2
Abstract

A bare metal server, or other computing device, may be represented as a JSON file (extending the concept to infrastructure as code) containing hardware, firmware and software versions with links to a kickstarter file depending on the needs of an application, SKU type or some other criteria. Rather than a management node in an L2 network which has a DHCP server to IP lease and facilitate OS installation, a workflow then generates a bootstrap kernel which initializes the bare metal server with an IP address, VLAN, and network gateway which is used to reach out to the network to download and install a kernel, upgrade firmware for various hardware components like BIOS, BMC, NIC, RAID, SSD, NVME, FPGA, etc. The bootstrap kernel may further configure RAID and JBOD, flash custom images on hardware components and may further instruct the server to incrementally download and install an operating system.

Claims (51)

1. A method comprising:

providing a server system in a bare metal state;

requesting, by the server system while in the bare metal state, an initialization file from a file store without using dynamic host configuration protocol (DHCP) or a DHCP server;

receiving, by the server system while in the bare metal state, the initialization file, the initialization file including a server IP address assigned to the server system; and

configuring, by the server system, the server system to communicate using the server IP address.

2. The method of claim 1 , wherein the initialization file further references a network gateway, the method further comprising configuring, by the server system, the server system to communicate using the network gateway according to instructions in the initialization file.

3. The method of claim 1 , further comprising:

installing, on the server system, a kickstarter executable; and

executing, by the server system, the kickstarter executable to register the server system with a machine initialization module connected to the server system by a network;

wherein receiving the initialization file comprises receiving the initialization file from the machine initialization module over the network in response to registering the server system with the machine initialization module.

4. The method of claim 1 , further comprising:

downloading, by the server system, an operating system kernel according to instructions in the initialization file.

5. The method of claim 1 , further comprising:

downloading, by the server system, one or more firmware upgrade files according to instructions in the initialization file; and

upgrading, by the server system, firmware of one or more components of the server system according to the one or more firmware upgrade files.

6. The method of claim 5 , further comprising upgrading the firmware of the one or more components of the server system prior to installing an operating system on the server system.

7. The method of claim 6 , further comprising:

downloading, by the server system, an operating system package according to instructions in the initialization file; and

installing, by the server system, the operating system on the server system according to the operating system package.

8. The method of claim 6 , further comprising:

sequentially downloading, by the server system, a plurality of operating system packages according to instructions in the initialization file; and

installing, by the server system, the operating system on the server system according to the plurality of operating system packages.

9. The method of claim 1 , wherein the initialization file has a size of less than 3 MB.

10. The method of claim 1 , wherein the initialization file is an ISO image.

11. A non-transitory computer-readable medium storing executable code that, when executed by a processing device, causes the processing device to:

receive a request for an initialization file from a server system in a bare metal state, the request not being a dynamic host configuration protocol (DHCP) request;

generate the initialization file, the initialization file including a server IP address assigned to the server system and including instructions to configure the server system to communicate using the server IP address; and

transmit the initialization file to the server system while the server system is in the bare metal state without using DHCP or a DHCP server.

12. The non-transitory computer-readable medium of claim 11 , wherein the initialization file further references a network gateway and includes instructions to configure the server system to communicate using the network gateway.

13. The non-transitory computer-readable medium of claim 11 , wherein the executable code, when executed by the processing device, further causes the processing device to:

receive a request from a kickstarter executable executing on the server system to register the server system; and

generate the initialization file in response to the request.

14. The non-transitory computer-readable medium of claim 11 , wherein the initialization file further includes instructions to cause the server system to download an operating system kernel.

15. The non-transitory computer-readable medium of claim 11 , wherein the initialization file further includes instructions to cause the server system to:

download one or more firmware upgrade files; and

upgrade firmware of one or more components of the server system according to the one or more firmware upgrade files.

16. The non-transitory computer-readable medium of claim 15 , wherein the initialization file further includes instructions to cause the server system to upgrade the firmware of the one or more components of the server system prior to installing an operating system on the server system.

17. The non-transitory computer-readable medium of claim 16 , wherein the initialization file further includes instructions to cause the server system to:

download an operating system package; and

installing, by the server system, the operating system on the server system according to the operating system package.

18. The non-transitory computer-readable medium of claim 16 , wherein the initialization file further includes instructions to cause the server system to:

sequentially download a plurality of operating system packages; and

install the operating system on the server system according to the plurality of operating system packages.

19. The non-transitory computer-readable medium of claim 11 , wherein the initialization file has a size of less than 3 MB.

20. The non-transitory computer-readable medium of claim 11 , wherein the initialization file is an ISO image.

21. The method of claim 1 , wherein requesting, by the server system while in the bare metal state, the initialization file from the file store without using dynamic host configuration protocol (DHCP) or the DHCP server comprises

requesting, by the server system, the initialization file over a network.

22. The method of claim 1 , wherein requesting, by the server system while in the bare metal state, the initialization file from the file store without using dynamic host configuration protocol (DHCP) or the DHCP server comprises

requesting, by the server system, the initialization file over a network.

23. The method of claim 1 , wherein requesting, by the server system while in the bare metal state, the initialization file from the file store without using dynamic host configuration protocol (DHCP) or the DHCP server comprises

requesting, by the server system, the initialization file over a network using a baseboard management controller (BMC) of the server system.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2024
From: ROBIN SYSTEMS, INC.
To: RAKUTEN SYMPHONY, INC.
Reel/Frame 068193/0367 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2021
From: ATUR, SREE NANDAN; UPADHAYAY, KAPIL; ALLUBOYINA, RAVI KUMAR; BADLANI, LAKSHAY
To: ROBIN SYSTEMS, INC.
Reel/Frame 055686/0859 →
Continuity (1)
Related Publication 20210392039A1 · Dec 16, 2021
Cited By (1)
US 12,250,221