Method and apparatus for swapping a computer operating system
First Claim
Patent Images
1. A method of configuring a computer system having a plurality of storage areas, comprising:
- receiving a configuration request;
retrieving a pointer to a first storage area having resident therein a first operating system program;
receiving a second operating system program;
storing the second operating system program in a second storage area; and
automatically modifying the pointer to point to the second storage area in response to the storage of the second operating system;
wherein the pointer identifies, before the system is rebooted, one of the plurality of storage areas containing an operating system program to be loaded when the computer system is rebooted.
19 Assignments
0 Petitions
Accused Products
Abstract
One embodiment of the present invention provides a computer system with a plurality of storage memories, each storage memory storing an operating system program, and an identifier for identifying a storage memory containing an operating system program to be loaded when the unit is booted. The identifier is selectively switchable between storage memories so that the computer system may be selectively booted with an alternate operating system program. This facilitates loading a new version of an operating system, and then rapidly switching back to an old version of the operating system if the new version fails to function properly.
433 Citations
39 Claims
-
1. A method of configuring a computer system having a plurality of storage areas, comprising:
-
receiving a configuration request;
retrieving a pointer to a first storage area having resident therein a first operating system program;
receiving a second operating system program;
storing the second operating system program in a second storage area; and
automatically modifying the pointer to point to the second storage area in response to the storage of the second operating system;
wherein the pointer identifies, before the system is rebooted, one of the plurality of storage areas containing an operating system program to be loaded when the computer system is rebooted. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
receiving a request to reboot the computer system;
rebooting the computer system;
retrieving the pointer; and
loading the second operating system program from the second storage area.
-
-
3. The method of claim 2, further comprising:
-
running the second operating system;
if the second operating system fails, modifying the pointer to point to the first storage area; and
loading the first operating system program from the first storage area.
-
-
4. The method of claim 2, further comprising:
-
incrementing a counter when the computer system is rebooted; and
modifying the pointer to identify the first storage area if a pre-specified number of reboot operations is detected in a pre-determined period of time.
-
-
5. The method of claim 2, wherein the request to reboot the computer system is received from a remote manager.
-
6. The method of claim 1, wherein receiving the second operating system program comprises:
-
accepting a stream of binary data through a communication port of the computer system;
storing the binary data stream in a third storage area; and
verifying the integrity of the binary data stream.
-
-
7. The method of claim 1, wherein the plurality of storage areas includes a first flash memory.
-
8. The method of claim 7, wherein the plurality of storage areas further includes a second flash memory.
-
9. The method of claim 1, wherein the configuration request is received from a manager coupled to the computer system via a communication link.
-
10. The method of claim 1, wherein storing the second operating system program comprises overwriting a third operating system program stored in the second storage area.
-
11. The method of claim 1, wherein the computer system is part of a virtual private network unit for passing secure communications between members of a virtual private network.
-
12. The method of claim 11, wherein the configuration request and request to reboot the computer system are received from a virtual private network manager.
-
13. The method of claim 12, further comprising authenticating the virtual private network manager.
-
14. An apparatus comprising:
-
a first storage area for storing a first operating system program;
a second storage area for storing a second operating system program;
an identification mechanism for selectively identifying one of the first storage area or the second storage area, the identification mechanism identifying the first storage area in a first state;
a processor for executing an operating system program resident in one of the first storage area or second storage area; and
a communication port;
wherein the identification mechanism is automatically modified in a second state to identify the second storage area in response to receiving the second operating system through the communication port. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A method of operating a computer system having a processor, comprising:
-
storing a first operating system program in a first storage area;
storing a second operating system program in a second storage area;
storing a pointer to the first storage area;
executing instructions according to the first operating system program;
automatically replacing the pointer to the first storage area with a pointer to the second storage area in response to the storage of the second operating system program;
rebooting the computer system; and
executing instructions according to the second operating system program. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34)
receiving a third operating system program comprising a data stream;
verifying the integrity of the data stream;
storing the third operating system program in the first storage area, thereby replacing the first operating system program;
replacing the pointer to the second storage area with a pointer to the first storage area; and
rebooting the computer system.
-
-
28. The method of claim 27, further comprising:
-
initializing a counter;
incrementing the counter each time the computer system reboots; and
replacing the pointer to the first storage area with a pointer to the second storage area if the counter is incremented to a pre-specified value in a pre-determined period of time.
-
-
29. The method of claim 26, further comprising replacing the pointer to the second storage area with a pointer to the first storage area.
-
30. The method of claim 29, further comprising:
-
rebooting the computer system; and
executing instructions according to the first operating system program.
-
-
31. The method of claim 26, wherein the computer system is part of a virtual private network unit for passing secure communications between members of a virtual private network.
-
32. The method of claim 31, further comprising:
-
receiving a data packet from a first member of the virtual private network;
transforming the data packet; and
transmitting the transformed data packet to a second member of the virtual private network.
-
-
33. The method of claim 32, wherein the transforming step comprises encrypting the data packet.
-
34. The method of claim 32, wherein the transforming step comprises decrypting the data packet.
-
35. An apparatus for processing data communications, comprising:
-
a first nonvolatile storage area for storing a first sequence of operating instructions;
a second nonvolatile storage area for storing a second sequence of operating instructions;
an identifier for identifying one of the first storage area or the second storage area, the identifier being selectively switchable;
a processor for executing the sequence of operating instructions stored in the storage area identified by the identifier; and
a communication port electrically coupled to a manager;
wherein the identifier is automatically switched from identifying the first storage area in a first state, to identifying the second storage in a second state, in response to a command received from the manager through the communication port. - View Dependent Claims (36, 37)
-
-
38. A method of configuring a computer system, comprising:
-
receiving a request to replace a first operating system program stored on the computer system with a second operating system program;
retrieving the second operating system program;
examining a single pointer configured to identify, among a plurality of operating system program storage areas, a first storage area in which the first operating system program is stored;
transmitting the second operating system program to the computer system;
receiving verification that the second operating system program has replaced the first operating system program;
automatically changing the single pointer to identify, among the plurality of operating system program storage areas, a second storage area in which the second operating system program is stored; and
rebooting the computer system. - View Dependent Claims (39)
-
Specification