Method and apparatus for software loading and initialization in a distributed network
First Claim
1. A method of software loading and initialization in a distributed network of nodes, the method comprising:
- persistently storing, in a first storage of a master node, a plurality of software packages and a plurality of boot images, wherein the plurality of software packages and the plurality of boot images will be used by the nodes in the distributed network;
persistently storing, in a second storage of the master node, software version information and node type information for each node in the distributed network;
receiving, at the master node, a request for a boot image and software packages from a node, in the distributed network, that is performing an initial boot;
based on the request, the master node determining software version information of the node to retrieve from the second storage;
the master node retrieving the software version information of the node from the second storage;
the master node determining, based on the software version information of the node, a boot image of the plurality of boot images and one or more software packages of the plurality of software packages to extract from the first storage;
the master node extracting the boot image and the one or more software packages from the first storage;
the master node delivering, to the node, the boot image and the one or more software packages;
wherein said node;
(a) stores the boot image and the one or more software packages in its local persistent storage,(b) extracts software version information from the one or more software packages and stores the software version information in the local persistent storage,(c) reboots and executes the boot image stored in the local persistent storage, and(d) in response to executing the boot image, verifies the software version information with said master node by sending the software version information to the master node;
the master node receiving the software version information from the node;
in response to receiving the software version information, the master node determining whether the node has the correct software versions;
in response to the master node determining that said node does not have the correct software versions, then the master node retrieving correct software packages from the first storage and sending the correct software packages to said node, wherein said node stores the correct software packages in the local persistent storage and completes booting by executing the correct software packages stored in the local persistent storage.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for software loading and initialization in a distributed network of nodes. A master node provides a node information database and a software package database. A node performing an initial boot requests a boot image and software package download from the master node. The master node finds the node'"'"'s software configuration information in the node information database and sends the boot image and software packages to the node from the software package database. The node reboots into the boot image and verifies the software versions with the master node. If the node has the correct software, then it completes the boot sequence, otherwise, the master node sends the correct software packages to the node which then continues with the boot sequence.
86 Citations
36 Claims
-
1. A method of software loading and initialization in a distributed network of nodes, the method comprising:
-
persistently storing, in a first storage of a master node, a plurality of software packages and a plurality of boot images, wherein the plurality of software packages and the plurality of boot images will be used by the nodes in the distributed network; persistently storing, in a second storage of the master node, software version information and node type information for each node in the distributed network; receiving, at the master node, a request for a boot image and software packages from a node, in the distributed network, that is performing an initial boot; based on the request, the master node determining software version information of the node to retrieve from the second storage; the master node retrieving the software version information of the node from the second storage; the master node determining, based on the software version information of the node, a boot image of the plurality of boot images and one or more software packages of the plurality of software packages to extract from the first storage; the master node extracting the boot image and the one or more software packages from the first storage; the master node delivering, to the node, the boot image and the one or more software packages; wherein said node; (a) stores the boot image and the one or more software packages in its local persistent storage, (b) extracts software version information from the one or more software packages and stores the software version information in the local persistent storage, (c) reboots and executes the boot image stored in the local persistent storage, and (d) in response to executing the boot image, verifies the software version information with said master node by sending the software version information to the master node; the master node receiving the software version information from the node; in response to receiving the software version information, the master node determining whether the node has the correct software versions; in response to the master node determining that said node does not have the correct software versions, then the master node retrieving correct software packages from the first storage and sending the correct software packages to said node, wherein said node stores the correct software packages in the local persistent storage and completes booting by executing the correct software packages stored in the local persistent storage. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-readable storage medium carrying one or more sequences of instructions for software loading and initialization in a distributed network of nodes, which instructions, when executed by one or more processors, cause the one or more processors to perform:
-
persistently storing, in a first storage of a master node, a plurality of software packages and a plurality of boot images, wherein the plurality of software packages and the plurality of boot images will be used by the nodes in the distributed network; persistently storing, in a second storage of the master node, software version information and node type information for each node in the distributed network; receiving, at the master node, a request for a boot image and software packages from a node, in the distributed network, that is performing an initial boot; based on the request, the master node determining software version information of the node to retrieve from the second storage; the master node retrieving the software version information of the node from the second storage; the master node determining, based on the software version information of the node, a boot image of the plurality of boot images and one or more software packages of the plurality of software packages to extract from the first storage; the master node extracting the boot image and the one or more software packages from the first storage; the master node delivering, to the node, the boot image and the one or more software packages, wherein said node; (a) stores the boot image and the one or more software packages in its local persistent storage, (b) extracts software version information from the one or more software packages and stores the software version information in the local persistent storage, (c) reboots and executes the boot image stored in the local persistent storage, and (d) in response to executing the boot image, verifies the software version information with said master node by sending the software version information to the master node; the master node receiving the software version information from the node; in response to receiving the software version information, the master node determining whether the node has the correct software versions; in response to the master node determining that said node does not have the correct software versions, then the master node retrieving correct software packages from the first storage and sending the correct software packages to said node, wherein said node stores the correct software packages in the local persistent storage and completes booting by executing the correct software packages stored in the local persistent storage. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. An apparatus of software loading and initialization in a distributed network of nodes, comprising:
-
a master node; a first storage on said master node for persistently storing a plurality of software packages and a plurality of boot images that the nodes in the distributed network will use; a second storage on said master node for persistently storing software version information and node type information for each node in the network; means for receiving a request for a boot image and software packages from a node, in the distributed network, that is performing an initial boot; means for the master node determining, based on the request, software version information of the node to retrieve from the second storage; means for the master node retrieving the software version information of the node from the second storage; means for the master node determining, based on the software version information of the node, a boot image of the plurality of boot images and one or more software packages of the plurality of software packages to extract from the first storage; means for the master node extracting the boot image and the one or more software packages from the first storage; and means for the master node delivering, to the node, the boot image and the one or more software packages, wherein said node; (a) stores the boot image and the one or more software packages in its local persistent storage, (b) extracts software version information from the one or more software packages and stores the software version information in the local persistent storage, (c) reboots and executes the boot image stored in the local persistent storage, and (d) in response to executing the boot image, verifies the software version information with said master node by sending the software version information to the master node; means for the master node receiving the software version information from the node; means for the master node determining, in response to receiving the software version information, whether the node has the correct software versions; means for the master node retrieving, in response to the master node determining that said node does not have the correct software versions, correct software packages from the first storage and sending the correct software packages to said node, wherein said node stores the correct software packages in the local persistent storage and completes booting by executing the correct software packages stored in the local persistent storage. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A system for software loading and initialization in a distributed network of nodes, the system comprising:
-
a master node; a node in the distributed network; a first storage on the master node, wherein the first storage persistently stores a plurality of boot images and a plurality of software packages that nodes in the distributed network will use; a second storage on the master node, wherein the second storage persistently stores software version information and node type information for each node in the distributed network; one or more processors on the master node; one or more sequences of instructions which, when executed by the one or more processors on the master node, cause the one or more processors on the master node to perform; receiving a request for a boot image and software packages from the node that is performing an initial boot; based on the request, the master node determining software version information of the node to retrieve from the second storage; the master node retrieving the software version information of the node from the second storage; the master node determining, based on the software version information of the node, a boot image of the plurality of boot images and one or more software packages of the plurality of software packages to extract from the first storage; the master node extracting the boot image and the one or more software packages from the first storage; the master node delivering, to the node, the boot image and the one or more software packages; one or more other processors on the node; one or more other sequences of instructions which, when executed by the one or more other processors on the node, cause the one or more other processors on the node to perform; storing the boot image and the one or more software packages in local persistent storage of the node; extracting software version information from the software packages; storing the software version information in the local persistent storage; executing the boot image, that is stored in the local persistent storage, to reboot the node; in response to executing the boot image, verifying the software version information with the master node by sending the software version information to the master node; one or more further sequences of instructions which, when executed by the one or more processors on the master node, cause the one or more processors on the master node to perform; receiving the software version information from the node; in response to receiving the software version information, determining whether the node has the correct software versions; retrieving correct software packages from the first storage and sending the correct software packages to the node in response to determining that the node does not have the correct software versions; one or more additional sequences of instructions which, when executed by the one or more processors on the node, cause the one or more processors on the node to perform; in response to receiving the correct software packages from the master node, storing the correct software packages in the local persistent storage and executing the correct software packages stored in the local persistent storage to complete booting. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36)
-
Specification