US10180845B1ActiveUtility

System and methods for network booting

95
Assignee: IVANTI INCPriority: Nov 13, 2015Filed: Jan 11, 2016Granted: Jan 15, 2019
Est. expiryNov 13, 2035(~9.4 yrs left)· nominal 20-yr term from priority
Inventors:Joseph J. Nunes
H04L 45/74H04L 67/02G06F 9/4416G06F 9/4406H04L 61/4511H04L 61/5014H04L 67/51H04L 67/52H04L 67/06H04L 67/34
95
PatentIndex Score
19
Cited by
57
References
22
Claims

Abstract

A method for network booting by a preboot execution environment (PXE) proxy is described. The method includes receiving one or more boot service discovery protocol (BSDP) packets from a client device. The method also includes determining a bootable image file to provide to the client device based on characteristics of the client device received in the one or more BSDP packets. The method further includes determining a nearest network location of the bootable image file. The method additionally includes providing the nearest network location of the bootable image file to the client device.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method for network booting by a preboot execution environment (PXE) proxy, comprising:
 receiving, at the PXE proxy and from a client device, one or more boot service discovery protocol (BSDP) packets including information indicating characteristics of the client device; 
 determining, at the PXE proxy, a bootable image file to provide to the client device based on the characteristics of the client device; 
 determining, at the PXE proxy, a nearest network location of the bootable image file by sending, after the receiving the one or more BSDP packets and the determining the bootable image file to provide to the client device based on the characteristics of the client device, a ping request to a set of network locations that has the bootable image file, the nearest network location of the bootable image file being a network location that is from the set of network locations and that is nearer to the PXE proxy than each remaining network location from the set of network locations; and 
 providing information associated with the nearest network location of the bootable image file to the client device. 
 
     
     
       2. The method of  claim 1 , further comprising sending, to the client device using Trivial File Transfer Protocol (TFTP), a boot loader configured to load the bootable image file. 
     
     
       3. The method of  claim 1 , wherein providing information associated with the nearest network location includes:
 performing domain name system (DNS) resolution to determine an internet protocol (IP) address of the nearest network location of the bootable image file; and 
 sending a message indicating the IP address of the nearest network location of the bootable image file to the client device. 
 
     
     
       4. The method of  claim 1 , further comprising receiving, at the PXE proxy, one or more ping responses from one or more network locations from the set of network locations,
 wherein the determining the nearest network location of the bootable image file is based on:
 determining, for each network location from the one or more network locations, a time period between (1) when the ping request was sent by the PXE proxy to that network location and (2) when a ping response from that network location was received at the PXE proxy; and 
 determining a network location from the one or more network locations that is associated with a time period that is less than a time period determined for each other network location from the one or more network locations. 
 
 
     
     
       5. The method of  claim 1 , wherein the bootable image file is a netboot image file, the client device is a Macintosh client, and the PXE proxy is a Windows operating system device. 
     
     
       6. The method of  claim 1 , wherein the determining the bootable image file to provide to the client device includes:
 sending, to a web service, a query including the information indicating the characteristics of the client device such that the web service, in response to receiving the query, identifies the bootable image file based on the characteristics of the client device; and 
 receiving, from the web service, information associated with the bootable image file in response to the query. 
 
     
     
       7. The method of  claim 1 , wherein the set of network locations is a first set of network locations, the method further comprising:
 determining that the PXE proxy does not have a current version of a boot loader for the bootable image file; 
 acquiring, in response to the determining that the PXE proxy does not have the current version of the boot loader, the current version of the boot loader from a network location (1) from a second set of network locations having the current version of the boot loader and (2) nearer to the PXE proxy than each other network location from the second set of network locations; and 
 sending the current version of the boot loader to the client device. 
 
     
     
       8. The method of  claim 1 , wherein the providing information associated with the nearest network location includes sending, to the client device, a response indicating that the bootable image file is available and including a network path to the nearest network location of the bootable image file. 
     
     
       9. The method of  claim 1 , wherein the client device is a first client device and the bootable image file is a first bootable image file, the method further comprising:
 receiving, from a second client device, one or more BSDP packets including information indicating characteristics of the second client device; and 
 determining, based on the characteristics of the second client device, a second bootable image file different from the first bootable image file to provide information associated with the second bootable image file to the second client device. 
 
     
     
       10. The method of  claim 1 , wherein the PXE proxy and the client device are located in a single subnet. 
     
     
       11. The method of  claim 1 , wherein the information indicating the characteristics of the client device includes information indicating hardware characteristics of the client device. 
     
     
       12. A preboot execution environment (PXE) proxy that is configured for network booting, comprising:
 a processor; 
 memory in electronic communication with the processor; and 
 instructions stored in the memory, the instructions being executable by the processor to:
 receive, from a client device, one or more boot service discovery protocol (BSDP) packets including information indicating characteristics of the client device; 
 determine a bootable image file to provide to the client device based on the characteristics of the client device; 
 send, after the receiving the one or more BSDP packets and the determining the bootable image file to provide to the client device based on the characteristics of the client device, a ping request to a set of network locations that each has the bootable image file; 
 receive one or more ping responses from one or more network locations from the set of network locations; 
 determine a network location from the one or more network locations that is associated with a shortest time period between (1) when the ping request was sent to that network location and (2) when the ping response from that network location was received; and 
 provide information associated with the network location to the client device. 
 
 
     
     
       13. The PXE proxy of  claim 12 , further comprising instructions executable to send, to the client device using Trivial File Transfer Protocol (TFTP), a boot loader configured to load the bootable image file. 
     
     
       14. The PXE proxy of  claim 12 , wherein the instructions executable to provide the information associated with the network location include instructions executable to:
 perform domain name system (DNS) resolution to determine an internet protocol (IP) address of the network location; and 
 send a message indicating the IP address of the network location to the client device. 
 
     
     
       15. The PXE proxy of  claim 12 , wherein the network location includes one of a hypertext transfer protocol (HTTP) server that hosts the bootable image file or a network file system (NFS) server that hosts the bootable image file. 
     
     
       16. The PXE proxy of  claim 12 , wherein the bootable image file is a netboot image file, the client device is a Macintosh client, and the PXE proxy is a Windows operating system device. 
     
     
       17. The PXE proxy of  claim 12 , wherein the instructions executable to determine the bootable image file to provide to the client device comprise instructions executable to:
 send, to a web service, a query including the information indicating the characteristics of the client device such that the web service, in response to receiving the query, identifies the bootable image file based on the characteristics of the client device; and 
 receive, from the web service, information associated with the bootable image file. 
 
     
     
       18. The PXE proxy of  claim 12 , wherein the set of network locations is a first set of network locations, the PXE proxy further comprising instructions executable to:
 determine that the PXE proxy does not have a current version of a boot loader for the bootable image file; 
 acquire, in response to the determining that the PXE proxy does not have the current version of the boot loader, the current version of the boot loader from a network location (1) from a second set of network locations, (2) that is nearer to the PXE proxy than each other network location from the second set of network locations, and (3) having the current version of the boot loader; and 
 send the current version of the boot loader to the client device. 
 
     
     
       19. The PXE proxy of  claim 12 , wherein the instructions executable to provide information associated with the network location include instructions executable to send, to the client device, a response indicating that the bootable image file is available and including a network path to the network location. 
     
     
       20. A non-transitory tangible computer-readable medium for network booting by a preboot execution environment (PXE) proxy, the computer-readable medium comprising executable instructions to:
 receive, at the PXE proxy and from a client device, one or more boot service discovery protocol (BSDP) packets including information indicating characteristics of the client device; 
 determine, at the PXE proxy, a bootable image file to provide to the client device based on the characteristics of the client device; 
 determine, at the PXE proxy, a nearest network location of the bootable image file by sending, after the receiving the one or more B SDP packets and the determining the bootable image file to provide to the client device based on the characteristics of the client device, a ping request to a set of network locations that has the bootable image file, the nearest network location being a network location from the set of network locations that is nearer to the PXE proxy than each remaining network location from the set of network locations; and 
 provide information associated with the nearest network location of the bootable image file to the client device. 
 
     
     
       21. The non-transitory tangible computer-readable medium of  claim 20 , further comprising executable instructions to send, to the client device using Trivial File Transfer Protocol (TFTP), a boot loader configured to load the bootable image file. 
     
     
       22. The non-transitory tangible computer-readable medium of  claim 20 , wherein the executable instructions to determine the bootable image file to provide to the client device include executable instructions to:
 send, to a web service associated with an administrator, a query including the information indicating the characteristics of the client device such that the web service, in response to receiving the query, identifies the bootable image file to provide to the client device based on the characteristics of the client device; and 
 receive, from the web service, information associated with the bootable image file.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.