IP Library Granted Patent US 8,429,639
Granted Patent B2
US 8,429,639 · App. 12/368,316 · Granted Apr 23, 2013

Image-based software update

Inventor: Ian C. Jirka (Issaquah, WA)
Assignee: Microsoft Corporation
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 8,429,639
App. No.
12/368,316
Granted
Apr 23, 2013
Kind
B2
Abstract

State data can be separated from an existing software stack stored in one or more computer storage units in a computer system. The existing software stack can include operating system software and application software, and the state data can represent one or more states of the existing software stack. An image can be stored in one or more computer storage units in the computer system, and the stored image can form an updated software stack including operating system and application software. In addition, the updated software stack can be configured using the state data.

Claims (34)

1. A computer-implemented method, comprising:

separating state data from an existing software stack stored in one or more computer storage units in a computer system, the existing software stack comprising operating system software and application software, and the state data representing one or more states of the existing software stack;

receiving an image from outside the computer system;

storing the image in one or more computer storage units in the computer system, the stored image being an updated software stack comprising operating system and application software; and

configuring the updated software stack using the state data.

2. The method of claim 1 , wherein the computer system comprises a virtual host, wherein the virtual host hosts the existing software stack prior to the image being stored in the one or more computer storage units, and the virtual host hosts the updated software stack after the image is stored in the one or more computer storage units.

3. The method of claim 1 , wherein the image is an appliance.

4. The method of claim 1 , further comprising deleting the existing software stack.

5. The method of claim 1 , wherein separating the state data comprises:

extracting the state data from the existing software stack; and

storing the extracted state data in one or more state migration storage units that are separate from the one or more storage units where the existing software stack is stored.

6. The method of claim 5 , wherein storing the extracted state data in the one or more state migration storage units comprises storing the extracted state data in a first virtual hard drive.

7. The method of claim 6 , wherein the one or more storage units where the existing software stack is stored comprise a second virtual hard drive.

8. The method of claim 1 , wherein the existing software stack comprises a first version of an operating system, and the updated software stack comprises a second version of the operating system that is newer than the first version.

9. The method of claim 1 , wherein the existing software stack comprises a first version of an application, and the updated software stack comprises a second version of the application that is newer than the first version.

10. A computer system comprising:

an existing software stack stored in a first set of one or more storage units, the software stack comprising operating system and application software;

state data stored in a second set of one or more storage units, the state data representing one or more states of the existing software stack; and

a deployment coordinator configured to store an image in the computer system, the image stored in the computer system being an updated software stack comprising operating system and application software, the updated software stack being configured to access the state data.

11. The system of claim 10 , wherein the deployment coordinator is configured to replace the existing software stack with the image in the first set of storage units.

12. The system of claim 10 , wherein the image is an appliance.

13. The system of claim 10 , further comprising a hypervisor supporting a virtual host, wherein the deployment coordinator is configured to run on the hypervisor.

14. The system of claim 13 , wherein the existing software stack is configured to run on the virtual host, and the deployment coordinator is configured to initiate the updated software stack to run on the virtual host.

15. The system of claim 10 , wherein the first set of one or more storage units comprises a first virtual hard drive and the second set of one or more storage units comprises a second virtual hard drive.

16. One or more computer-readable storage media having computer-executable instructions embodied thereon that, when executed, perform acts comprising:

extracting state data from an existing software stack;

replacing the existing software stack with an image to form an updated software stack, replacing the existing software stack comprising storing the image, the stored image being the updated software stack, the existing software stack remaining stored after the updated software stack becomes operational, and replacing the existing software stack with the image comprising deleting the existing software stack after the updated software stack becomes operational; and

injecting the state data into the updated software stack.

17. The one or more computer-readable media of claim 16 , wherein the acts further comprise storing the state data in a storage location that is separate from a storage location of the existing software stack.

18. The one or more computer-readable media of claim 17 , wherein the storage location of the state data is a virtual hard drive.

19. The one or more computer-readable media of claim 16 , wherein the updated software stack is configured to run on a virtual host.

20. The one or more computer-readable media of claim 16 , wherein replacing the existing software stack with the image comprises:

storing the image in an updated location separate from an existing storage location of the existing software stack; and

deleting the existing software stack from the existing storage location after the updated software stack is stored in the updated location.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2009
From: JIRKA, IAN C.
To: MICROSOFT CORPORATION
Reel/Frame 023192/0957 →
Continuity (1)
Related Publication 20100205594A1 · Aug 12, 2010