Upgrade of a program
First Claim
1. A method of performing an upgrade of a program on a processor, the method comprising:
- receiving an upgraded version of the program into the processor;
creating a backup of the program in memory associated with the processor;
installing the upgraded version of the program;
rebooting the processor with the upgraded version installed;
checking if the state of the processor is correct by a reboot driver prior to initializing other application drivers.
9 Assignments
0 Petitions
Accused Products
Abstract
A method and processor program product for performing an upgrade of a program on a processor are provided. An upgraded version of the program is received into the processor and a backup of the program is created in memory associated with the processor. The upgraded version of the program is then installed and the processor is rebooted. Prior to initializing other application drivers, a reboot driver checks if the state of the processor is correct. If the reboot driver determines that the state of the processor is incorrect, the system reverts to the backup of the program. In alternative embodiments, if the reboot driver determines that the state is incorrect, the system inhibits the loading of other application drivers. Additionally, the reboot driver may set a counter to indicate the number of times that the processor is rebooted. If the counter has not reached a predetermined threshold, the system attempts to reboot the processor with the upgraded version of the program. If the counter reaches the predetermined threshold, the system reverts to the backup of the program.
215 Citations
30 Claims
-
1. A method of performing an upgrade of a program on a processor, the method comprising:
-
receiving an upgraded version of the program into the processor;
creating a backup of the program in memory associated with the processor;
installing the upgraded version of the program;
rebooting the processor with the upgraded version installed;
checking if the state of the processor is correct by a reboot driver prior to initializing other application drivers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
reverting to the backup of the program if the reboot driver determines that the state of the processor is incorrect.
-
-
3. The method according to claim 2, further comprising:
setting a counter of a reboot driver to indicate the number of times that the processor is rebooted.
-
4. The method according to claim 3, further comprising:
attempting to reboot the processor with the upgraded version of the program if the counter has not reached a predetermined threshold.
-
5. The method according to claim 4, wherein the step of reverting does not occur until the counter reaches a predetermined threshold.
-
6. The method according to claim 3, further comprising:
storing the counter in a database.
-
7. The method according to claim 6, wherein the database is the registry of an operating system.
-
8. A method according to claim 1, further comprising:
inhibiting the loading of other application drivers if the reboot driver determines that the state is incorrect.
-
9. The method according to claim 1, wherein configuration data for the backup is stored in non-volatile memory.
-
10. The method according to claim 1, wherein the processor is a first server in a server cluster.
-
11. The method according to claim 10, further comprising:
-
communicating to a second sever that an upgrade is to occur in the first server; and
confirming that second server is running a program which is compatible with the upgraded program prior to beginning the installation.
-
-
12. The method according to claim 11, wherein the second server is part of a server cluster with the first server.
-
13. The method according to claim 11, wherein the upgraded program is sent to the first server from a remote location.
-
14. The method according to claim 11, wherein the installation of the upgrade is performed automatically.
-
15. The method according to claim 11, wherein no user input device or viewing device is attached to the first server which is upgraded.
-
16. The method according to claim 10, further comprising:
-
communicating to a second server that an upgrade is to occur in the first server;
checking if the second server is running a program which is compatible with the upgraded program prior to beginning the installation;
sending a signal to the first server to abort the upgrade if the second server is not running a compatible version of the program.
-
-
17. The method according to claim 16, further comprising:
sending a signal prior to the first server beginning installation of the upgrade indicating that the second server will receive input and output formerly associated with the first server.
-
18. The method according to claim 17, further comprising:
notifying the second server that the first server is in the process of rebooting.
-
19. The method according to claim 18, further comprising:
sending a confirmation to the second server that the first server has been upgraded.
-
20. The method according to claim 19, further comprising:
upgrading the second server.
-
21. A processor program product on a processor readable medium for use with a processor comprising:
-
processor code for rebooting the processor subsequent to an upgraded version of a processor program being installed; and
processor code for checking if the state of the processor is set correctly prior to initializing application drivers. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
processor code for recalling a backup of the program from memory if the state of the processor is incorrect; - and
reinstalling the backup of the program.
-
-
23. A processor program product according to claim 21, further comprising:
processor code for inhibiting the loading of the application drivers if the state of the processor is incorrect.
-
24. The processor program product according to claim 21, further comprising:
-
processor code for setting a counter indicating the number of times that the processor is rebooted; and
processor code for rebooting the processor with the upgraded version if the counter has not reached a predetermined threshold;
wherein the processor code for recalling a backup of the program does not execute until the counter has reached the predetermined threshold.
-
-
25. The processor program product according to claim 21, further comprising:
-
processor code for sending a message from the processor located in a first server to a second server when an upgrade is to occur in the first server; and
processor code in the first server for confirming that the second server is running a program which is compatible with the upgraded program prior to beginning installation of the upgraded program.
-
-
26. The processor program product according to claim 25, wherein the second server is part of a server cluster with the first server.
-
27. The processor program product according to claim 26, further comprising:
processor code for sending a message for transferring control of input and output to the second server prior to the first serving beginning installation of the upgrade.
-
28. The processor program product according to claim 27, further comprising:
processor code for sending a confirmation to the second server that the first processor has been upgraded.
-
29. A digital storage medium encoded with instructions which, when loaded into a first processor performs an upgrade of a program, the digital storage medium comprising:
-
a receiving module for receiving the upgrade into the first processor and recognizing that the program is an upgrade of a current program which is resident on the first processor;
a copy module for initiating copying the current program and initiating storage of a backup copy of the current program in memory;
an installation module for installing the upgrade and rebooting the first processor;
a reboot driver for reading the state of the first processor prior to the initialization of application drivers;
a reversion module for recalling the backup copy of the current program and causing the installation of the backup copy if the installation of the upgrade fails. - View Dependent Claims (30)
a transceiver module for communicating to a second processor that an upgrade is to occur in the first processor and confirming that the second processor is running a program which is compatible with the upgraded program prior to beginning the installation.
-
Specification