Method and apparatus to enhance platform boot efficiency
First Claim
1. A method comprising:
- storing a plurality of boot images on a boot server;
receiving a first boot image download request from a client at the boot server;
downloading one of the plurality of boot images from the boot server to the client;
caching the boot image at a network device along a communication path linking the client to the boot server, wherein the network device is one of a plurality of network devices linking the client to the boot server;
maintaining a list of which boot images are cached at each of the plurality of network devices;
receiving a second boot image download request at the boot server; and
sending a directive from the boot server to the network device to download the boot image that is cached on the network device to the client;
embedding caching indicia in packets corresponding to the boot image that are sent from the boot server to the client via the network device to download the boot image;
employing a packet filter at the network device, the packet filter enabled to identify packets containing the caching indicia; and
in response to identifying such packets;
caching the packets;
reassembling the packets to form the boot image; and
storing the boot image on a local file store accessible to the network device.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus for improving network boot efficiency are disclosed. Under embodiments of the method, boot images that are initially sent from a boot server to various clients are cached at network devices along communication paths between the boot server and the clients. In response to subsequent boot image requests from the clients, boot images cached at the network devices are downloaded directly from the network devices rather than from the boot server, reducing network traffic to and from the boot server and domains in between. In addition, boot program bootstrap files may also be cached and downloaded in a similar manner. Techniques are also disclosed for intercepting boot image download and network bootstrap program requests at the network devices, and for maintaining valid boot image cache configurations across the network. The network devices generally include switches, routers, bridges, and gateway servers.
-
Citations
23 Claims
-
1. A method comprising:
-
storing a plurality of boot images on a boot server; receiving a first boot image download request from a client at the boot server; downloading one of the plurality of boot images from the boot server to the client; caching the boot image at a network device along a communication path linking the client to the boot server, wherein the network device is one of a plurality of network devices linking the client to the boot server; maintaining a list of which boot images are cached at each of the plurality of network devices; receiving a second boot image download request at the boot server; and sending a directive from the boot server to the network device to download the boot image that is cached on the network device to the client; embedding caching indicia in packets corresponding to the boot image that are sent from the boot server to the client via the network device to download the boot image; employing a packet filter at the network device, the packet filter enabled to identify packets containing the caching indicia; and
in response to identifying such packets;caching the packets; reassembling the packets to form the boot image; and storing the boot image on a local file store accessible to the network device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A machine-readable medium, storing instructions that if executed on a network device perform operations comprising:
-
processing packets corresponding to a network boot image that are sent from a boot server to be forwarded to a client via the network device; caching the packets corresponding to a network boot image; reassembling the packets corresponding to a network boot image that are copied to form a boot image file; caching the boot image by storing the boot image file on a local file store; processing packets corresponding to a Network Bootstrap Program (NBP) that are sent from the boot server; caching the packets corresponding to the NBP; reassembling the packets corresponding to the NBP that are copied to form an NBP file; caching the NBP by storing the NBP file in the local file store; intercepting a PXE download request intended for the boot server in an IP packet including an IP packet header having a destination address corresponding to the boot server; forwarding the NBP file to the client; intercepting a boot image download request intended for the boot server the boot image download request in an IP packet including an IP packet header having a destination address corresponding to the boot sewer; and forwarding the boot image file to the client. - View Dependent Claims (16, 17, 18)
-
-
19. A network device, comprising:
-
a media interface, including at least one input/output port via which packets are received and transmitted; at least one memory store; at least one processor, communicatively-coupled to said at least one memory store and the media interface; and a storage device on which instructions are stored, which if executed by said at least one processor perform operations comprising; performing initial packet processing operations on packets received at the media interface, the initial packet processing operations including extracting packet header data; filtering the packet header data to identify filtered packets containing indicia indicating further processing is to be performed on the packets, examining at least one of the packet header data or packet payload data for the filtered packets to determine if the packet corresponds to a Network Bootstrap Program (NBP) sent from a boot server to be forwarded to a client via the network device; reassembling the NBP to form a NBP file; caching the NBP by storing the NBP file on a local file store; intercepting a PXE download request intended for the boot server, the PXE download request in an IP packet including an IP packet header having a destination address corresponding to the boot server; forwarding the NBP tile to the client; examining at least one of the packet header data or packet payload data for the filtered packets to determine if the packet corresponds to a boot image sent from a boot server to be forwarded to a client via the network device; reassembling the boot image to form a boot image file; caching the boot image by storing the boot image file on a local file store; intercepting a boot image download request intended for the boot server the boot image download request in an IP packet including an IP packet header having a destination address corresponding to the boot server; and forwarding the boot image file to the client. - View Dependent Claims (20, 21, 22, 23)
-
Specification