IP Library Granted Patent US 7,000,229
Granted Patent B2
US 7,000,229 · App. 10/202,783 · Granted Feb 14, 2006

Method and system for live operating environment upgrades

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 7,000,229
App. No.
10/202,783
Granted
Feb 14, 2006
Kind
B2
Abstract

A method and system for implementing a live operating system upgrade of a computer system. The method includes generating a first copy of a previous operating system environment of the computer system. The computer system is then booted to a subsequent operating system environment. A second copy of the previous operating system environment at the time of the booting is then generated. Additionally, a third copy of the subsequent operating system environment, at the time of the booting is generated. The copies function by ensuring the subsequent operating system environment is synchronized with the previous operating system environment by comparing the first copy, the second copy, and the third copy to detect any intervening changes and allow decisions to be made regarding such changes.

Claims (70)

1. A machine-implemented method for updating an operating system environment, comprising:

creating a copy of an existing operating system environment currently being executed by a machine;

applying a set of updates to software code implementing the existing operating system environment to derive a new operating system environment;

creating a copy of an altered operating system environment which includes changes made to the existing operating system environment after the copy of the existing operating system environment was created;

creating a copy of the new operating system environment after the set of updates were applied;

rebooting the machine to cause the machine to execute the new operating system environment;

determining a set of changes that were made to the existing operating system environment, by a user application, to give rise to the altered operating system environment;

comparing the copy of the altered operating system environment with the copy of the new operating system environment; and

upon determining that the copy of the altered operating system environment comprises a set of intervening changes not reflected by the copy of the new operating system environment, changing the new operating system environment to reflect the set of intervening changes comprised in the copy of the altered operating system environment.

2. The method of claim 1 , wherein the copy of the existing operating system environment, the copy of the altered operating system environment, and the copy of the new operating system environment are generated dynamically on the machine.

3. The method of claim 1 , wherein the step of determining the set of changes comprises:

comparing the copy of the existing operating system environment with the copy of the altered operating system environment; and

generating the set of changes based on differences between the copy of the existing operating system environment and the copy of the altered operating system environment.

4. The method of claim 1 , further comprising:

adopting the copy of the new operating system environment if the copy of the new operating system environment reflects intervening changes with respect to the copy of the altered operating system environment.

5. The method of claim 1 , further comprising:

in response to comparing the copy of the altered operating system environment with the copy of the new operating system environment, determining that there are no intervening changes between the copy of the altered operating system environment and the copy of the new operating system environment.

6. The method of claim 1 , further comprising:

applying the set of changes to the new operating system environment.

7. A server configured to update an operating system environment, comprising:

a computer system having a processor coupled to a memory, the memory having computer readable code which, when executed by the processor, causes the computer system to implement:

creating a copy of an existing operating system environment currently being executed by the server;

applying a set of updates to software code implementing the existing operating system environment to derive a new operating system environment;

creating a copy of an altered operating system environment which includes changes made to the existing operating system environment after the copy of the existing operating system environment was created;

creating a copy of the new operating system environment after the set of updates were applied;

rebooting the server to cause the machine to execute the new operating system environment;

determining a set of changes that were made to the existing operating system environment, by a user application, to give rise to the altered operating system environment;

comparing the copy of the altered operating system environment with the copy of the new operating system environment; and

upon determining that the copy of the altered operating system environment comprises a set of intervening changes not reflected by the copy of the new operating system environment, changing the new operating system environment to reflect the set of intervening changes comprised in the copy of the altered operating system environment.

8. The server of claim 7 , wherein the copy of the existing operating system environment, the copy of the altered operating system environment, and the copy of the new operating system environment are generated dynamically on the server.

9. The server of claim 7 , wherein the step of determining the set of changes comprises:

comparing the copy of the existing operating system environment with the copy of the altered operating system environment; and

generating the set of changes based on differences between the copy of the existing operating system environment and the copy of the altered operating system environment.

10. The server of claim 7 , further comprising:

adopting the copy of the new operating system environment if the copy of the new operating system environment reflects intervening changes with respect to the copy of the altered operating system environment.

11. The server of claim 7 , further comprising:

in response to comparing the copy of the altered operating system environment with the copy of the new operating system environment, determining that there are no intervening changes between the copy of the altered operating system environment and the copy of the new operating system environment.

12. The server of claim 7 , further comprising:

applying the set of changes to the new operating system environment.

13. A computer-readable medium storing computer readable code which, when executed by a computer system, cause the computer system to perform the following steps:

creating a copy of an existing operating system environment currently being executed by the computer system;

applying a set of updates to software code implementing the existing operating system environment to derive a new operating system environment;

creating a copy of an altered operating system environment which includes changes made to the existing operating system environment after the copy of the existing operating system environment was created;

creating a copy of the new operating system environment after the set of updates were applied;

rebooting the computer system to cause the machine to execute the new operating system environment;

determining a set of changes that were made to the existing operating system environment, by a user application, to give rise to the altered operating system environment;

comparing the copy of the altered operating system environment with the copy of the new operating system environment; and

upon determining that the copy of the altered operating system environment comprises a set of intervening changes not reflected by the copy of the new operating system environment, changing the new operating system environment to reflect the set of intervening changes comprised in the copy of the altered operating system environment.

14. The computer-readable medium of claim 13 , wherein the copy of the existing operating system environment, the copy of the altered operating system environment, and the copy of the new operating system environment are generated dynamically on the computer system.

15. The computer-readable medium of claim 13 , wherein the step of determining the set of changes comprises:

comparing the copy of the existing operating system environment with the copy of the altered operating system environment; and

generating the set of changes based on differences between the copy of the existing operating system environment and the copy of the altered operating system environment.

16. The computer-readable medium of claim 13 , further comprising:

adopting the copy of the new operating system environment if the copy of the new operating system environment reflects intervening changes with respect to the copy of the altered operating system environment.

17. The computer-readable medium of claim 13 , further comprising:

in response to comparing the copy of the altered operating system environment with the copy of the new operating system environment, determining that there are no intervening changes between the copy of the altered operating system environment and the copy of the new operating system environment.

18. The computer-readable medium of claim 13 , further comprising:

applying the set of changes to the new operating system environment.

19. An apparatus for updating an operating system environment, comprising:

means for creating a copy of an existing operating system environment currently being executed by the apparatus;

means for applying a set of updates to software code implementing the existing operating system environment to derive a new operating system environment;

means for creating a copy of an altered operating system environment which includes changes made to the existing operating system environment after the copy of the existing operating system environment was created;

means for creating a copy of the new operating system environment after the set of updates were applied;

means for rebooting the apparatus to cause the machine to execute the new operating system environment;

means for determining a set, of changes that were made to the existing operating system environment, by a user application, to give rise to the altered operating system environment;

means for comparing the copy of the altered operating system environment with the copy of the new operating system environment; and

means for, upon determining that the copy of the altered operating system environment comprises a set of intervening changes not reflected by the copy of the new operating system environment, changing the new operating system environment to reflect the set of intervening changes comprised in the copy of the altered operating system environment.

20. The apparatus of claim 19 , wherein the copy of the existing operating system environment, the copy of the altered operating system environment, and the copy of the new operating system environment are generated dynamically on the apparatus.

21. The apparatus of claim 19 , further comprising:

means for applying the set of changes to the new operating system environment.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 14, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037280/0188 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2002
From: GERE, GARY
To: SUN MICROSYSTEMS, INC.
Reel/Frame 013155/0880 →