The present invention relates to a method of network booting a target computer, a computer for network booting a target computer and a computer program for network booting a target computer.
It is known to use DHCP/PXE processes to network boot a computer which requires booting (herein the “target machine”). The PXE protocol is a standard remote boot method described in the “Preboot Execution Environment (PXE) Specification” issued by Intel Corp. DHCP (Dynamic Host Configuration Protocol) is a known protocol used by PXE. Examples of network booting methods are described in US 2008/0155245 A1 and US 2003/0005096 A1.
It is desirable to improve the selection of the machine which boots the target machine.
In accordance with one aspect of the present invention, there is provided a method of booting a target machine in a sub-network of a computer network, the sub-network comprising other machines capable of booting the target machine, in which method the target machine transmits on the sub-network a message indicating it requires booting, in response to the message, the other machines in the sub-network interact to elect one of them as a local network booting master, and the elected booting master controls the booting of the target machine.
In an embodiment of the invention the target machine transmits a DHCP message indicating it needs booting and each of the other machines has a DHCP service.
In accordance with another aspect of the present invention, there is provided a non-transitory computer readable medium storing program code which when run on a suitable computer in a sub-network of a computer network including a target machine, detecting a message transmitted on the sub-network by the target machine indicating it requires booting, in response to the message, interacting with other machines in the sub-network interact having similar program code to elect one of them as a local network booting master, and control the booting of the target machine if the computer having the non-transitory computer readable medium is the elected master.
In an embodiment of the invention the program code includes a DHCP service for detecting a DHCP message transmitted on the sub-network by the target machine indicating it requires booting.
The election of the booting master takes place based on predetermined criteria and the criteria may be considered in a predetermined order of priority. The criteria define the desired properties of a machine for booting the target machine to enable efficient booting of the target machine.
In embodiments of the invention the criteria include, but are not limited to, one or more of:
The election criteria may additionally include, but are not limited to, one or more of the following:
Further features and advantages of the invention will become apparent from the following description of illustrative embodiments of the invention, given by way of example only, which is made with reference to the accompanying drawings, in which:
Referring to
Only two sub-networks, 100 and 101, are shown in
Referring to
The ROM 239 or another ROM (not shown) of the target machine 120 stores the PXE BIOS program which is needed to initiate a network boot process. Two or more of, and preferably all, the other machines 115, 116, 121, 122 in the network have a network boot program, Windows PE pre-installation files, Operating system images, a program the Applicants 1E Limited call “PXE LITE local” which will be described below. PXELite software is available from 1E Limited, and a DHCP service.
Consequently, up-to-date operating system images will be available on two or more of the machines 115, 116, 121,122 in the sub-network 100. The machines having PXE Lite local installed are referred to as “PXE Lite local machines.”
PXE LITE Local interacts with a program the Applicants 1E Limited call “PXE LITE Central” which is installed either in the configuration manager 131 or in another machine (not shown) which accesses the SCCM. PXE Lite Central will be described below.
Referring to
In step 32, the DHCP server 125 responds to the message, causing the PXELite local machines 115, 116, 121 and 122 on subnet 100 to elect one of them as the local PXE Lite Local server which interacts with the target machine to provide the required operating system.
In step 34 the elected PXE Lite local machine contacts PXE Lite Central to find out whether it should PXE boot the target machine 120.
In step 36, PXE Lite Central checks the configuration manager 130 for relevant Operating System deployment advertisements.
In step 38, the webservice 133 uses boot action data from the boot status information database 135 to instruct the elected PXE Lite Local server how to react.
A PXE Lite Local machine on the subnet 100 is elected by an election process which is carried out by interaction of the PXE Lite Local machines. Each PXE Lite local machine 42 has election software 40 of known type which uses an election group address. The election is based for example on the following criteria and order of priority:
The election criteria may additionally include for example one or more of the following in the following illustrative order of priority:
Other orders of priority for the additional criteria may be chosen.
If there are several target machines requiring booting separate elections are carried out for each target machine.
In step S50 all the machines on the subnet respond to the DHCP server to initiate an election. In step S51 the machines contact the Configuration manager to determine what boot image is required for the target machine.
The election according to the criteria then proceeds with those machines which do not have the required boot image exiting the election at step S53. The remaining machines determine which are able to respond S54 to the boot request and which have S55 a network boot program. Steps S52, S54 and S55 may be done in a different order. Machines which fail those criteria exit the election. The remaining machines then elect one machine on the basis of (any) other criteria.
In an embodiment, power management is prevented from taking place at the computer which wins the election. The power management may be re-enabled after the booting system has started the process of installing an OS.
When the target machine 120 first connects to the network, it broadcasts Si the DHCPDISCOVER message. It has to broadcast the message as it has no network address at this stage. The DHCPDISCOVER message includes the MAC address and SM BIOS (Systems Management BIOS) GUID (Globally Unique ID) of the target machine 120. The DHCP service on the PXELite local machines detect the DHCPDISCOVER message and that triggers an election process S2 as described above. The elected machine responds S31 with a DHCPOFFER message, offering various types of data including an IP network address for the newly started target machine. The elected machine also sends S32 the IP address of the elected machine. Steps S31 and S32 may be combined. The target machine 120 can accept any or all of the data. In accordance with the known DHCP process, it accepts the network address by sending S4 a DHCPREQUEST message which the DHCP service of the elected machine will acknowledge by sending S5 a DHCPACK message (not shown). The DHCP request is also transmitted to the other machines on the subnet. The DHCP messages are transmitted in packets which have a fixed size header. Data can be held in the header or by populating numbered field options within the message body. In practice, the header has enough space to carry a network address for a newly booting machine.
The elected PXE Lite local machine then interacts with the target machine in the manner known for PXELite. In step S6 the target machine sends a Boot Service Discover message to the elected machine which responds with an acknowledgement S7. The elected machine responds by sending S8 a message to PXE Lite central. The message includes the MAC and SM BIOS GUID of the target machine. PXELite central then interrogates S9 the SCCM (Configuration Manager) to determine if there are any Operating System (OS) advertisements for the target machine. If there are any advertisements, PXE Lite Central obtains S10 boot action data for the target machine from the boot action data base and sends S11 it to the elected PXELite local machine.
The boot action data is used by to determine the behavior of the PXE Lite local machine in booting S12 the target machine. For example, in accordance with the boot action data:
US 2008/0155245 A1 describes the use of the boot action data in more detail.
The foregoing description assumes that the PXE Lite Local machines 115, 116, 121 and 122 have the appropriate software packages , for example Operating Systems available. The packages are made available by downloads from the SCCM 130. To provide the downloads efficiently, the SCCM downloads are delivered from the SCCM server 130 over the WAN 105 in the following manner which may be implemented by NOMAD software available from 1E Limited, described in US2006/159090. When a new package is available, it is advertised by the SCCM server 130 which alerts the machines 115, 116, 121,122 on the branch network 100. This triggers a selection process at the branch network 100 and causes one of the machines 115, 116, 121, 122 to be elected as an active download master. The mechanism may be used to distribute the image files. These mechanisms are used to ensure that the following are present on at least two active machines, and preferably all active machines, 115, 116, 121, 122 in each sub-network the network boot program, the Windows PE pre-installation files, the Operating system images, the PXE Lite Local software including the DHCP service.
The invention also provides a suite of one or more computer programs which, when run on a computer system, implements the procedures described above. The computer program(s) is/are stored on one or more non transitory carriers, for a computer readable medium for example a hard disk, an optical disc, a magneto-optical disk, a compact disc, a magnetic tape, electronic memory including Flash memory, ROM and RAM, a RAID or any other suitable computer readable storage device.
One program of suite of programs is run on the PXE Lite local machines. Another program or suite of programs is run on a PXE Lite Central machine which may be the same machine as runs the SCCM or another machine linked to the SCCM.
The above embodiments are to be understood as illustrative examples of the invention. Further embodiments of the invention are envisaged. For example, one of the election criteria could be vi) Is power management active? An electable machine without power management active is preferred to a machine with power management active because there is no risk of it adopting a low power state during the interaction with the target machine. If power management is active it may be set to avoid adopting a low power state at least while the electable machine interacts with the target machine.
It is to be understood that any feature described in relation to any one embodiment may be used alone, or in combination with other features described, and may also be used in combination with one or more features of any other of the embodiments, or any combination of any other of the embodiments. Furthermore, equivalents and modifications not described above may also be employed without departing from the scope of the invention, which is defined in the accompanying claims.