IP Library Granted Patent US 7,356,685
Granted Patent B2
US 7,356,685 · App. 11/171,266 · Granted Apr 8, 2008

System and method for enabling automated run-time input to network bootstrapping processes

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 7,356,685
App. No.
11/171,266
Granted
Apr 8, 2008
Kind
B2
Abstract

A system and method are provided for enabling runtime parameter value input into a computer device during a network bootstrapping process. The system and method may use a memory block to store values needed at runtime that are ordinarily input by a user. A configuration file having one or more macros included may be stored at a TFTP server. A first bootstrap program is loaded on the computer device to initialize a memory block with the name of the configuration file to be used by the computer device during booting and the values for any macros included in the configuration file. The first bootstrap program then calls a second bootstrap program to parse the memory block and/or the configuration file in order to use the contents of the configuration file to boot the computer device. Using macros in the configuration files enable the same configuration file to be used by devices with differing booting needs.

Claims (50)

1. A method of providing runtime input to a computer device during a network bootstrapping process, comprising:

providing a first set of bootstrap instructions to the computer device, the first set of bootstrap instructions configured to:

determine a configuration file corresponding to the computer device based at least in part on a unique attribute associated with the computer device;

determine one or more values associated with one or more macros in the configuration file; and

initialize a memory block with the one or more values associated with the one or more macros; and

generating a second set of bootstrap instructions, wherein the second set of bootstrap instructions is configured to parse the memory block to retrieve the one or more values and to initiate the booting process of the computer device.

2. The method of claim 1 , wherein the first set of bootstrap instructions configured to initialize the memory block further comprises instructions configured to store the one or more values associated with the one or more macros.

3. The method of claim 2 , wherein the first set of bootstrap instructions configured to initialize the memory block further comprises instructions to:

store a signature identifying the existence of the memory block; and

store a value indicating the number of macros used in the configuration file.

4. The method of claim 1 wherein the first set of bootstrap instructions is terminated when the second set of bootstrap instructions is generated.

5. The method of claim 1 , wherein the second set of bootstrap instructions is launched by the first set of bootstrap instructions.

6. The method of claim 1 , wherein the second set of bootstrap instructions is further configured to:

determine what configuration file to employ;

parse the configuration file; and

parse the memory block to retrieve the values for the macros identified in the parsed configuration file.

7. The method of claim 6 , wherein the second set of bootstrap instructions is further configured to determine what configuration file to employ by parsing the memory block to determine an appropriate configuration file.

8. The method of claim 6 , wherein the second set of bootstrap instructions is further configured to determine what configuration file to employ by identifying the configuration file from a customized DHCP tag.

9. The method of claim 1 , wherein the unique attribute is the media access control (MAC) address associated with the computer device.

10. The method of claim 1 , wherein the first set of bootstrap instructions is further configured to determine an appropriate boot environment for the computer device.

11. The method of claim 10 , wherein the boot environment is PXELINUX.

12. The method of claim 1 , wherein the first set of bootstrap instructions configured to initialize the memory block further comprises instructions configured to store the name of the determined configuration file.

13. The method of claim 1 , wherein the first set of bootstrap instructions is further configured to determine one or more values associated with one or more macros by consulting a device profile associated with the computer device.

14. A system for providing runtime input into a computer device during a network bootstrapping process, comprising:

a first server mechanism configured to provide a first set of bootstrap instructions, the first set of bootstrap instructions including an initialization module and a boot determination module;

a second server mechanism configured to provide one or more configuration files comprising one or more macros, wherein the one or more configuration files control the boot process of the computer device; and

a bootstrap loading module, incorporated within the computer device, configured to retrieve and install the first set of bootstrap instructions;

wherein the first set of bootstrap instructions is configured to launch a second set of bootstrap instructions, and

wherein the boot determination module comprises:

a mechanism for determining an appropriate boot environment for the computer device;

a mechanism for determining a configuration file associated with the computer device; and

a mechanism to determine one or more values associated with the one or more macros in the configuration file.

15. The system of claim 14 , wherein the second server mechanism is a TFTP server.

16. The system of claim 14 , wherein the initialization module further comprises a memory initialization mechanism for selecting a memory block for storing boot processing information.

17. A computer device capable of accepting runtime input during a network bootstrapping process, comprising:

a bootstrap loading module configured to retrieve and install a first set of bootstrap instructions; and

a memory device configured to store one or more values associated with one or more macros in one or more configuration files used in the bootstrapping process;

wherein the first set of bootstrap instructions is configured to:

determine a configuration file corresponding to the computer device;

determine one or more values associated with the one or more macros in the configuration file; and

initialize the memory device and store the one or more values associated with the one or more macros.

18. The computer device of claim 17 , wherein the bootstrap loading module is configured to contact a server mechanism to retrieve the first set of bootstrap instructions when the device starts up.

19. The computer device of claim 17 , wherein the bootstrap loading module is further configured to retrieve a second set of bootstrap instructions.

20. The computer device of claim 19 , wherein the second set of bootstrap instructions is configured to parse the configuration file and parse the memory device to retrieve the values for the macros identified in the parsed configuration file, and to use the retrieved values and the configuration file to boot the computer device.

21. A method of providing runtime input to a computer device during a network bootstrapping process, comprising:

providing a first set of bootstrap instructions to the computer device, the first set of bootstrap instructions configured to:

determine a confirguration file associated with the computer device;

consult a device profile to determine one or more values associated with one or macros in the configuration file, the one or more values needed to complete the bootstrapping process; and

initialize a memory block with the one or more values; and

generating a second set of bootstrap instructions, wherein the second set of bootstrap instructions is configured to parse the memory block to retrieve the one or more values to complete the bootstrapping process.

Assignments (11)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054244/0566 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054198/0029 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 046486/0433 →
RELEASE (REEL 038041 / FRAME 0001) Recorded Jan 2, 2018
From: JPMORGAN CHASE BANK, N.A.
To: RPX CORPORATION; RPX CLEARINGHOUSE LLC
Reel/Frame 044970/0030 →
SECURITY AGREEMENT Recorded Mar 9, 2016
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038041/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2016
From: NOVELL INTELLECTUAL PROPERTY HOLDINGS, INC.
To: RPX CORPORATION
Reel/Frame 037809/0057 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2011
From: CPTN HOLDINGS LLC
To: NOVELL INTELLECTUAL PROPERTY HOLDING, INC.
Reel/Frame 027325/0131 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2011
From: CPTN HOLDINGS LLC
To: NOVELL INTELLECTUAL PROPERTY HOLDINGS, INC.
Reel/Frame 027465/0206 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2011
From: NOVELL,INC.
To: CPTN HOLDINGS LLC
Reel/Frame 027465/0227 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2005
From: BACKMAN, DRAKE
To: NOVELL, INC.
Reel/Frame 016748/0595 →