The present invention provides a method and system for directing a network boot. The method includes obtaining a bootstrap by a client, the client residing in a subnet; obtaining a configuration file by the bootstrap, where the configuration file comprises a map of subnets and their corresponding file servers; determining from the configuration file a file server corresponding to the client's subnet; and obtaining an operating system (os) image from the corresponding local file server. The method and system provides a bootstrap which, when loaded onto a client, obtains a configuration file from the remote file server. The configuration file contains a map of the network's subnets and their corresponding local file servers. Using this configuration file, the bootstrap obtains an os image from the local file server which services the subnet in which the client resides. In this manner, the client can perform a remote boot and have direct access to its local file server, promoting more efficient file transfers.

Patent
   6735692
Priority
Jul 11 2000
Filed
Jul 11 2000
Issued
May 11 2004
Expiry
Jul 10 2022
Extension
729 days
Assg.orig
Entity
Large
35
14
all paid
1. A method for directing a network boot, comprising the steps of:
(a) obtaining a bootstrap by a client, the client residing in a subnet;
(b) obtaining a configuration file by the bootstrap, wherein the configuration file comprises a map of subnets and their corresponding file servers;
(c) determining from the configuration file a file server corresponding to the client's subnet; and
(d) obtaining an operating system (os) image from the corresponding local file server.
10. A computer readable medium with program instructions for directing a network boot, the instructions for:
(a) obtaining a bootstrap by a client, the client residing in a subnet;
(b) obtaining a configuration file by the bootstrap, wherein the configuration file comprises a map of subnets and their corresponding file servers;
(c) determining from the configuration file a file server corresponding to the client's subnet; and
(d) obtaining an operating system (os) image from the corresponding local file server.
6. A method for directing a network boot, comprising the steps of:
(a) obtaining a bootstrap by a client, the client residing in a subnet;
(b) obtaining a configuration file by the bootstrap, wherein the configuration file comprises a map of subnets and their corresponding file servers;
(c) parsing the configuration file by the bootstrap to determine a local file server corresponding to the client's subnet;
(d) sending a request from the bootstrap to the local file server for an os image; and
(e) receiving the os image by the client.
8. A system comprising:
a hoot server comprising a name for a bootstrap;
a remote file server comprising the bootstrap and a configuration file, wherein the configuration file comprises a map of subnets and their corresponding file servers;
a subnet, wherein the subnet comprises:
a local file server comprising an os image; and
a client, the client comprising:
a pxe option rom for obtaining the bootstrap, and
a memory for storing the bootstrap, wherein the bootstrap is capable of using the configuration file to obtain the os image for the client.
9. A system, comprising:
a boot server comprising a name for a bootstrap;
a remote file server comprising the bootstrap and a configuration file, wherein the configuration file comprises a map of subnets and their corresponding file servers; and
a subnet, comprising:
a local file server comprising an os image,
a client, the client comprising:
a pxe option rom for obtaining the bootstrap from the remote file server, and
a memory for storing the bootstrap, wherein the bootstrap is capable of using the configuration file to obtain the os image for the client.
11. A computer readable medium with program instructions for directing a network boot, the instructions for:
(a) obtaining a bootstrap by a client, the client residing in a subnet;
(b) obtaining a configuration file by the bootstrap, wherein the configuration file comprises a map of subnets and their corresponding file servers;
(c) parsing the configuration file by the bootstrap to determine a local file server corresponding to the client's subnet;
(d) sending a request from the bootstrap to the local file server for an os image; and
(e) receiving the os image by the client.
7. A method for directing a network boot, comprising the steps of:
(a) obtaining from a boot server a name of a bootstrap by a client, the client residing in a subnet;
(b) obtaining the bootstrap from a remote file server;
(c) passing control to the bootstrap;
(d) sending a request from the bootstrap to a remote file server for a configuration file, wherein the configuration file comprises a map of subnets and their corresponding file servers;
(e) obtaining the configuration file from the remote file server;
(f) parsing the configuration file by the bootstrap to determine a local file server corresponding to the client's subnet;
(g) sending a request from the bootstrap to the local file server for an os image; and
(h) receiving the os image by the client.
12. A computer readable medium with program instructions for directing a network boot, the instructions for:
(a) obtaining from a boot server a name of a bootstrap by a client, the client residing in a subnet;
(b) obtaining the bootstrap from a remote file server;
(c) passing control to the bootstrap;
(d) sending a request from the bootstrap to a remote file server for a configuration file, wherein the configuration file comprises a map of subnets and their corresponding file servers;
(e) obtaining the configuration file from the remote file server;
(f) parsing the configuration file by the bootstrap to determine a local file server corresponding to the client's subnet;
(g) sending a request from the bootstrap to the local file server for an os image; and
(h) receiving the os image by the client.
2. The method of claim 1, wherein the obtaining step (a) comprises:
(a1) obtaining from a boot server a name of the bootstrap;
(a2) obtaining the bootstrap from a remote file server;
(a3) storing the bootstrap in a memory; and
(a4) passing control to the bootstrap.
3. The method of claim 1, wherein the obtaining step (b) comprises:
(b1) sending a request from the boot strap to a remote file server for the configuration file; and
(b2) obtaining the configuration file from the remote file server.
4. The method of claim 1, wherein the determining step (c) comprises:
(c1) parsing the configuration file by the bootstrap to determine the local file server corresponding to the client's subnet.
5. The method of claim 1, wherein the obtaining step (d) comprises:
(d1) sending a request from the bootstrap to the local file server for the os image; and
(d2) receiving the os image by the client.

The present invention relates to computer networks, and more particularly to remote file access in computer networks.

The Preboot Execution Environment (PXE), developed by Intel™, extends the well-known Dynamic Host Configuration Protocol (DHCP) to provide a generic device driver interface to a bootstrap software. The bootstrap software allows a client to perform a remote boot. Conventionally, when the client boots, it first obtains the name of the bootstrap from a remote PXE boot server. The client then obtains the bootstrap from a remote file server, which typically uses the Trivial File Transfer Protocol (TFTP). Once loaded onto the client, the bootstrap obtains the operating system (OS) image from the remote TFTP server. This OS image is used to manage the client.

However, conventional PXE requires that the OS image be obtained from the remote TFTP server corresponding to the PXE boot server, i.e., the PXE boot server and the remote TFTP server are part of the same remote server. This creates a problem in a Wide Area Network (WAN) environment, where each subnet in the WAN is typically serviced by a separate file server. Thus, a client in a subnet cannot directly access files on the TFTP file server servicing its subnet. Files need to be accessed through the WAN. With large files, this is cumbersome and is an inefficient use of network resources. This may be time consuming as well, if the remote server and the client are separated by a slow router link.

Accordingly, there exists a need for a method and system for redirecting a network boot to a local file server. The present invention addresses such a need.

The present invention provides a method and system for directing a network boot. The method includes obtaining a bootstrap by a client, the client residing in a subnet; obtaining a configuration file by the bootstrap, where the configuration file comprises a map of subnets and their corresponding file servers; determining from the configuration file a file server corresponding to the client's subnet; and obtaining an operating system (OS) image from the corresponding local file server. The method and system provides a bootstrap which, when loaded onto a client, obtains a configuration file from the remote file server. The configuration file contains a map of the network's subnets and their corresponding local file servers. Using this configuration file, the bootstrap obtains an OS image from the local file server which services the subnet in which the client resides. In this manner, the client can perform a remote boot and have direct access to its local file server, promoting more efficient file transfers.

FIG. 1 is a block diagram illustrating a preferred embodiment of a Preboot Execution Environment(PXE) in accordance with the present invention.

FIG. 2 is a flowchart illustrating a preferred embodiment of a method for redirecting a network boot to a local file server in accordance with the present invention.

FIG. 3 is a flowchart illustrating in more detail the preferred embodiment of the method for redirecting a network boot to a local file server in accordance with the present invention.

The present invention provides a method and system for redirecting a network boot to a local file server. The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiment will be readily apparent to those skilled in the art and the generic principles herein may be applied to other embodiments. Thus, the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest scope consistent with the principles and features described herein.

To more particularly describe the features of the present invention, please refer to FIGS. 1 through 3 in conjunction with the discussion below.

FIG. 1 is a block diagram illustrating a preferred embodiment of a Preboot Execution Environment (PXE) in accordance with the present invention. In the preferred embodiment, the PXE is in a Wide Area Network (WAN). The PXE comprises at least two subnets, such as subnet A and B. Subnet A contains a client 102 and a local network server 108. The client 102 comprises includes a PXE option Read Only Memory (ROM) 104 and a bootstrap loader 106. The local network server 108 comprises a local Trivial File Transfer Protocol (TFTP) server 110. The PXE option ROM 104 contains code which allows the client 102 to function in a PXE. The bootstrap loader 106 is a program which stores the bootstrap 118 and other information. The local network server 108 manages subnet A and includes the local TFTP server 110 which services subnet A.

Subnet B comprises a remote PXE management server 112, which includes a PXE boot server 114 and a remote TFTP server 116. The PXE boot server 114 provides the PXE client 102 with the name of the bootstrap. The bootstrap 118 and a configuration file 120 are stored in the remote TFTP server 116. The configuration file 120 contains a map of the network's subnets and their corresponding local file servers. With the present invention, the PXE client 102 initially boots with the remote server 112, but then the boot is redirected to the local network server 108, allowing for direct access between the client 102 and the local TFTP server 110.

FIG. 2 is a flowchart illustrating a preferred embodiment of a method for redirecting a network boot to a local file server in accordance with the present invention. First, the client 102 obtains a bootstrap 118 from the remote server 112, via step 202. Once the bootstrap 118 is loaded onto the client 102, the bootstrap 118 obtains a configuration file 120 from the remote file server, such as remote TFTP server 116, via step 204. The bootstrap 118 next determines from the configuration file 120 the local file server, such as local TFTP server 110, which corresponds to the client's subnet, via step 206. Then, the bootstrap 118 obtains the operating system (OS) image from the corresponding local file server 110, via step 208. This OS image is used to manage the client 102. Because the OS image is obtained from the local file server 110, the client 102 can have direct access to files on the local file server 110. Files may be transferred from the local file server 110 to the client 102 without traveling through the WAN. This maintains the advantages of a remote boot while also allowing more efficient file transfers.

FIG. 3 is a flowchart illustrating in more detail the preferred embodiment of the method for redirecting a network boot to a local file server in accordance with the present invention. First, the PXE option ROM 104 sends a request to the PXE boot server 114 for the name of the bootstrap 118, via step 302. The PXE boot server 114 responds by sending the name of the bootstrap 118 to the PXE option ROM 104, via step 304. The PXE option ROM 104 next sends a request for the bootstrap 118 to the remote TFTP server 116, via step 306. The remote TFTP server 116 responds by sending the bootstrap 118 to the PXE option ROM 104, via step 308. Once the complete bootstrap 118 is received into memory, the PXE option ROM 104 passes control to the bootstrap 118, via step 310.

When the bootstrap 118 obtains control, it sends a request to the remote TFTP server 116 for the configuration file 120, which contains a map of the subnets and their corresponding local TFTP servers, via step 312. The remote TFTP server 116 responds by sending the configuration file 120 to the bootstrap 118, via step 314. Once it receives the configuration file 120, the bootstrap 118 parses the configuration file to determine the local TFTP server 110 serving the client's subnet, via step 316. At this time, the bootstrap 118 may also place a small data structure concerning the subnets and their local TFTP servers in memory to be used by the OS image after it gains control. The bootstrap 118 then sends a request to the local TFTP server 110 for the OS image, via step 318. The local TFTP server 110 responds by sending the OS image to the client 102, via step 320. The OS image manages the client 102 and may optionally return to the local TFTP server 110 to obtain more files required to manage the client 102.

A method and system for redirecting a network boot to a local file server has been disclosed. The method and system provides a bootstrap which, when loaded onto a client, obtains a configuration file from the remote TFTP server. The configuration file contains a map of the network's subnets and their corresponding local TFTP servers. Using this configuration file, the bootstrap obtains an OS image from the local TFTP server which services the subnet in which the client resides. In this manner, the client can perform a remote boot and have direct access to its local TFTP server, promoting more efficient file transfers.

Although the present invention has been described in accordance with the embodiments shown, one of ordinary skill in the art will readily recognize that there could be variations to the embodiments and those variations would be within the spirit and scope of the present invention. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims.

Rhoades, David B., Murphrey, Stephen Woodrow, Robinson, Walter Leslie

Patent Priority Assignee Title
10164833, Jun 07 2013 Apple Inc. Configuring computing devices using a bootstrap configuration
10659302, Jun 07 2013 Apple Inc. Configuring computing devices using a bootstrap configuration
6810478, Dec 12 2000 International Business Machines Corporation System for remote booting of muntliple operating systems using chained bootstrap mechanism in a network
6954853, Feb 26 2002 VIA Technologies, Inc. Remote boot system for multiple client terminals and method thereof
7039682, Dec 15 2000 International Business Machines Corporation Extension of the BOOTP protocol towards automatic reconfiguration
7085921, Dec 31 2001 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Embedded OS PXE server
7139816, Dec 18 2000 International Business Machines Corporation Method, apparatus, and program for server based network computer load balancing across multiple boot servers
7251725, Aug 06 2001 HEWLETT-PACKARD DEVELOPMENT COMPANY L P Boot process for a computer, a boot ROM and a computer having a boot ROM
7321927, Dec 12 2005 Hitachi, LTD Controlling method, computer system, and processing program of booting up a computer
7321936, Apr 18 2002 ARDENCE DELAWARE, INC System for and method of streaming data to a computer in a network
7334027, Jun 06 2007 Hitachi, Ltd. Controlling method, computer system, and processing program of booting up a computer
7346672, Mar 12 2002 Hewlett Packard Enterprise Development LP Automatic TFTP firmware download
7356685, Jul 01 2005 RPX Corporation System and method for enabling automated run-time input to network bootstrapping processes
7536458, Feb 09 2001 Microsoft Technology Licensing, LLC Distribution of binary executables and content from peer locations/machines
7577728, Dec 12 2005 Hitachi, Ltd. Controlling method, computer system, and processing program of booting up a computer
7584261, Feb 09 2001 Microsoft Technology Licensing, LLC Distribution of binary executables and content from peer locations/machines
7590838, Mar 17 2005 Fujitsu Limited Remote boot method and mechanism, and computer-readable storage medium
7680903, Apr 09 2003 Siemens Aktiengesellschft Method and arrangement for configuring a device in a data network
7730302, May 05 2006 Microsoft Technology Licensing, LLC Secure and modifiable configuration files used for remote sessions
7797525, Jul 01 2004 Hewlett-Packard Development Company, L.P.; HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Operating system installation
7966386, Dec 12 2005 Hitachi, Ltd. Controlling method, computer system, and processing program of booting up a computer
8090808, Apr 18 2002 ARDENCE DELAWARE, INC System for and method of network booting of an operating system to a client computer using hibernation
8156223, Mar 20 2001 Microsoft Technology Licensing, LLC Distribution of binary executables and content from peer locations/machines
8290901, Mar 07 2005 RPX Corporation Techniques for remote resource mounting
8312115, Dec 21 2006 1E LIMITED Network booting apparatus and method
8332689, Jul 18 2001 VEEAM SOFTWARE GROUP GMBH Systems, methods, and computer program products for instant recovery of image level backups
8352624, Apr 18 2002 ARDENCE DELAWARE, INC System for and method of streaming data to a computer in a network
8412769, Sep 13 2010 Microsoft Technology Licensing, LLC Scalably imaging clients over a network
8522003, Jun 16 2008 NOKIA SOLUTIONS AND NETWORKS OY Software loading method and apparatus to a computing platform
8566640, Jul 19 2010 VEEAM SOFTWARE GROUP GMBH Systems, methods, and computer program products for instant recovery of image level backups
8769056, Apr 09 2003 Siemens Aktiengesellschaft Method and arrangement for configuring a device in a data network
9104624, Jul 19 2010 VEEAM SOFTWARE GROUP GMBH Systems, methods, and computer program products for instant recovery of image level backups
9191460, Dec 14 2006 LENOVO INTERNATIONAL LIMITED Selective sub-net filtering in a pre-boot execution environment (PXE)
9467334, Jun 07 2013 Apple Inc. Configuring computing devices using a bootstrap configuration
RE44299, Jul 01 2005 RPX Corporation System and method for enabling automated run-time input to network bootstrapping processes
Patent Priority Assignee Title
5557748, Feb 03 1995 Intel Corporation Dynamic network configuration
5794031, Dec 28 1993 NEC Corporation Distributed processing system for system booting and shutdown in distributed processing environment
5872968, Oct 16 1996 Lenovo PC International Data processing network with boot process using multiple servers
5875306, Oct 01 1996 International Business Machines Corporation Reconfiguring computer resources in a distributed computer enterprise environment
5974547, Mar 20 1998 Hewlett Packard Enterprise Development LP Technique for reliable network booting of an operating system to a client computer
6009474, May 20 1997 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Method and apparatus for re-assigning network addresses to network servers by re-configuring a client host connected thereto
6012088, Dec 10 1996 SNAPCHAT, INC Automatic configuration for internet access device
6026438, Oct 31 1997 Bank of America Corporation Dynamic workstation configuration processor
6070187, Mar 26 1998 Hewlett Packard Enterprise Development LP Method and apparatus for configuring a network node to be its own gateway
6175918, Aug 11 1997 Kabushiki Kaisha Toshiba Client computer, initialization processing method applied to client computer, and computer program product used in client computer
6317826, Feb 13 1998 International Business Machines Corporation Booting a computer system from a network
6421777, Apr 26 1999 ServiceNow, Inc Method and apparatus for managing boot images in a distributed data processing system
6535976, Mar 27 1997 Lenovo PC International Initial program load in data processing network
6611915, May 27 1999 International Business Machines Corporation Selective loading of client operating system in a computer network
//////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Jun 19 2000MURPHREY, STEPHEN WOODROWIBM CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0109970071 pdf
Jul 07 2000RHOADES, DAVID B IBM CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0109970071 pdf
Jul 07 2000ROBINSON, WALTER LESLIEIBM CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0109970071 pdf
Jul 11 2000International Business Machines Corporation(assignment on the face of the patent)
Aug 17 2011International Business Machines CorporationGoogle IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0268940001 pdf
Sep 29 2017Google IncGOOGLE LLCCHANGE OF NAME SEE DOCUMENT FOR DETAILS 0441270735 pdf
Date Maintenance Fee Events
Jun 08 2004ASPN: Payor Number Assigned.
Sep 19 2007M1551: Payment of Maintenance Fee, 4th Year, Large Entity.
Sep 23 2011M1552: Payment of Maintenance Fee, 8th Year, Large Entity.
Nov 11 2015M1553: Payment of Maintenance Fee, 12th Year, Large Entity.


Date Maintenance Schedule
May 11 20074 years fee payment window open
Nov 11 20076 months grace period start (w surcharge)
May 11 2008patent expiry (for year 4)
May 11 20102 years to revive unintentionally abandoned end. (for year 4)
May 11 20118 years fee payment window open
Nov 11 20116 months grace period start (w surcharge)
May 11 2012patent expiry (for year 8)
May 11 20142 years to revive unintentionally abandoned end. (for year 8)
May 11 201512 years fee payment window open
Nov 11 20156 months grace period start (w surcharge)
May 11 2016patent expiry (for year 12)
May 11 20182 years to revive unintentionally abandoned end. (for year 12)