IP Library Granted Patent US 9,665,380
Granted Patent B2
US 9,665,380 · App. 13/777,873 · Granted May 30, 2017

Peer-to-peer network booting

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 9,665,380
App. No.
13/777,873
Granted
May 30, 2017
Kind
B2
Abstract

A technique for booting a computing device using a boot image that is downloaded from a distributed network booting system involves identifying a tracker computing device that manages a plurality of computing devices that store all or a portion of the boot image, receiving from the tracker computing device information about one or more computing devices from which to download the boot image, and downloading the boot image from the one or more computing devices.

Claims (28)

1. A method of managing at a first computing device a distributed network boot system that includes a plurality of second computing devices, comprising:

receiving at the first computing device a first request from a third computing device to download a boot image;

identifying from the plurality of second computing devices one or more second computing devices that are capable of serving the boot image to the third computing device based on hardware properties advertised by the plurality of second computing devices, wherein the one or more second computing devices are selected based on a heuristic that considers hardware properties of the second computing devices, the hardware properties including available bandwidth, central processing unit utilization, latency, and average up-time, and at least one of the second computing devices advertises artificial values for the available bandwidth, central processing unit utilization, latency, and average up-time such that the at least one second computing device is not selected to serve the boot image to the third computing device;

transmitting to the third computing device information about the one or more second computing devices that are capable of serving the boot image in order to enable the third computing device to download the boot image from the one or more second computing devices that are capable of serving the boot image;

receiving from the third computing device an indication that the third computing device is willing to serve a portion of the boot image to other computing devices that request the boot image;

receiving a second request from a fourth computing device to download the boot image; and

transmitting to the fourth computing device information about the one or more second computing devices that are capable of serving the boot image and the third computing device in order to enable the fourth computing device to download the boot image from the one or more of the second computing devices that are capable of serving the boot image and the third computing device.

2. The method of claim 1 , wherein a first portion of the boot image is served by one or more of the second computing devices that are capable of serving the boot image and a second portion of the boot image is served by the third computing device.

3. A non-transitory computer readable medium comprising instructions executable in a first computing device that manages a distributed network boot system that includes a plurality of second computing devices, wherein the instructions when executed in the first computing device cause the first computing device to carry out the steps of:

receiving at the first computing device a first request from a third computing device to download a boot image;

identifying from the plurality of second computing devices one or more second computing devices that are capable of serving the boot image to the third computing device based on hardware properties advertised by the plurality of second computing devices, wherein the one or more second computing devices are selected based on a heuristic that considers hardware properties of the second computing devices, the hardware properties including available bandwidth, central processing unit utilization, latency, and average up-time, and at least one of the second computing devices advertises artificial values for the available bandwidth, central processing unit utilization, latency, and average up-time such that the at least one second computing device is not selected to serve the boot image to the third computing device;

transmitting to the third computing device information about the one or more second computing devices that are capable of serving the boot image in order to enable the third computing device to download the boot image from the one or more second computing devices that are capable of serving the boot image;

receiving from the third computing device an indication that the third computing device is willing to serve a portion of the boot image to other computing devices that request the boot image;

receiving a second request from a fourth computing device to download the boot image; and

transmitting to the fourth computing device information about the one or more second computing devices that are capable of serving the boot image and the third computing device in order to enable the fourth computing device to download the boot image from the one or more of the second computing devices that are capable of serving the boot image and the third computing device.

4. The non-transitory computer readable medium of claim 3 , wherein a first portion of the boot image is served by one or more of the second computing devices that are capable of serving the boot image and a second portion of the boot image is served by the third computing device.

5. A distributed network boot system comprising:

a first computing device;

a plurality of second computing devices; and

a third computing device,

wherein the first computing device is configured to:

receive a first request from the third computing device to download a boot image;

identify from the plurality of second computing devices one or more second computing devices that are capable of serving the boot image to the third computing device based on hardware properties advertised by the plurality of second computing devices, wherein the one or more second computing devices are selected based on a heuristic that considers hardware properties of the second computing devices, the hardware properties including available bandwidth, central processing unit utilization, latency, and average up-time, and at least one of the second computing devices advertises artificial values for the available bandwidth, central processing unit utilization, latency, and average up-time such that the at least one second computing device is not selected to serve the boot image to the third computing device;

transmit to the third computing device information about the one or more second computing devices that are capable of serving the boot image in order to enable the third computing device to download the boot image from the one or more second computing devices that are capable of serving the boot image;

receive from the third computing device an indication that the third computing device is willing to serve a portion of the boot image to other computing devices that request the boot image;

receive a second request from a fourth computing device to download the boot image; and

transmit to the fourth computing device information about the one or more second computing devices that are capable of serving the boot image and the third computing device in order to enable the fourth computing device to download the boot image from the one or more of the second computing devices that are capable of serving the boot image and the third computing device.

6. The distributed network boot system of claim 5 , wherein a first portion of the boot image is served by one or more of the second computing devices that are capable of serving the boot image and a second portion of the boot image is served by the third computing device.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2013
From: HILTGEN, DANIEL KERRY; SUNDRIYAL, SURESH; RIEWRANGBOONYA, WIT
To: VMWARE, INC.
Reel/Frame 029880/0761 →