Snapshot image for the application state of unshareable and shareable data
First Claim
1. A method comprising:
- creating a snapshot image from a first instance of a software application running on a first computer, wherein the snapshot image comprises application state associated with the software application;
dividing the application state into shareable data and non-shareable data, wherein shareable data comprises read-only data or data that is functionally isolated from other applications, and wherein non-shareable data comprises data that is modified and is globally visible to other applications; and
restoring a second instance of the software application on a second computer different from the first computer, wherein the second instance and the first instance are distinct instances of the software application, and wherein the restoring comprises;
providing the shareable data to the second instance, andcontrolling access by the second instance to the non-shareable data, wherein controlling access comprises dynamically redirecting the non-shareable, and wherein at least a first portion of the non-shareable data is virtualized.
11 Assignments
0 Petitions
Accused Products
Abstract
A system, methods, and computer program products are disclosed for creating virtual application templates for the purpose of propagating a single application snapshot into multiple, distinct images. Snapshot virtual templates allow multiple application instances to use the same fixed resource identifier by making the resource identifier virtual, privatizing it, and dynamically mapping it to a unique system resource identifier. When a snapshot is cloned from a virtual template, the common or shared data is used exactly as is, whereas the non-sharable data is either copied-on-write, multiplexed, virtualized, or customized-on-duplication. The present invention notes access to modified resources, fixed system IDs/keys and unique process-related identifies and automatically inserts a level of abstraction between these resources and the application. The resources contained in a snapshot virtual template can be dynamically redirected at restore time. Access to memory and storage is managed in a copy-on-write fashion. System resource handles are managed in a virtualize-on-allocate fashion or by a multiplex-on-access mechanism. Process-unique resources are managed in a redirect-on-duplicate fashion. Rules may be defined through an application configurator that allows some degree of control over the creation of non-sharable data. The snapshot virtual template is constructed by dividing the snapshot image into sharable and non-sharable data. Knowledge of which system resources can be shared is encoded in the application snapshot/restore framework.
138 Citations
16 Claims
-
1. A method comprising:
-
creating a snapshot image from a first instance of a software application running on a first computer, wherein the snapshot image comprises application state associated with the software application;
dividing the application state into shareable data and non-shareable data, wherein shareable data comprises read-only data or data that is functionally isolated from other applications, and wherein non-shareable data comprises data that is modified and is globally visible to other applications; and
restoring a second instance of the software application on a second computer different from the first computer, wherein the second instance and the first instance are distinct instances of the software application, and wherein the restoring comprises;
providing the shareable data to the second instance, and controlling access by the second instance to the non-shareable data, wherein controlling access comprises dynamically redirecting the non-shareable, and wherein at least a first portion of the non-shareable data is virtualized. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A memory medium storing a plurality of instructions comprising instructions which, when executed:
-
create snapshot image from a first instance of a software application running on a first computer, wherein the snapshot image comprises application state associated with the software application;
divide the application state into shareable data and non-shareable data, wherein shareable data comprises read-only data or data that is functionally isolated from other applications, and wherein non-shareable data comprises data that is modified and is globally visible to other applications; and
restore a second instance of the software application on a second computer different from the first computer, wherein the second instance and the first instance are distinct of the software application, and wherein the restore comprises;
providing the shareable data to the second instance, andcontrolling access by the second instance to the non-shareable data, wherein controlling access comprises dynamically redirecting the non-shareable data, and wherein at least a first portion of the non-shareable data is virtualized. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A system operable to:
-
create a snapshot image from a first instance of a software application running on a first computer, wherein the snapshot image comprises application state associated with the software application;
divide the application state into shareable data and non-shareable data, wherein shareable data comprises read-only data or data that is functionally isolated from other applications, and wherein non-shareable data comprises data that is modified and is globally visible to other applications; and
restore a second instance of the software application on a second computer different from the first computer, wherein the second instance and the first instance are distinct of the software application, and wherein the restore comprises;
providing the shareable data to the second instance, andcontrolling access by the second instance to the non-shareable data, wherein controlling access comprises dynamically redirecting the non-shareable data, and wherein at least a first portion of the non-shareable data is virtualized. - View Dependent Claims (12, 13, 14, 15, 16)
-
Specification