IP Library Granted Patent US 6,917,963
Granted Patent B1
US 6,917,963 · App. 09/684,373 · Granted Jul 12, 2005

Snapshot image for the application state of unshareable and shareable data

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 6,917,963
App. No.
09/684,373
Granted
Jul 12, 2005
Kind
B1
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.

Claims (36)

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.

2. The method of claim 1 , wherein a second portion of the non-shareable data is copied on a write operation.

3. The method of claim 1 , wherein a second portion of the non-shareable data is multiplexed.

4. The method of claim 1 , wherein the second instance is altered to provide customization of the software application.

5. The method of claim 1 , wherein references to the non-sharable data are saved in original form.

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, and

controlling 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.

7. The memory medium of claim 6 , wherein a second portion of the non-shareable data is copied on a write operation.

8. The memory medium of claim 6 , wherein a second portion of the non-shareable data is multiplexed.

9. The memory medium of claim 6 , wherein the second instance is altered to provide customization of the software application.

10. The memory medium of claim 6 , wherein references to the non-sharable data are saved in original form.

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, and

controlling 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.

12. The system of claim 11 , wherein a second portion of the non-shareable data is copied on a write operation.

13. The system of claim 11 , wherein a second portion of the non-shareable data is multiplexed.

14. The system of claim 11 , wherein the second instance is altered to provide customization of the software application.

15. The system of claim 11 , wherein references to the non-sharable data are saved in original form.

16. The system of claim 11 , wherein the system comprises:

a first software module that processes transactions between an operating system and the software application, and tracks requests for system resources or changes to the application state in anticipation of creation of a snapshot image;

a storage format for organizing the snapshot image into shareable and non-sharable data, the storage format manipulated by the first software module; and

a second module that fields requests for non-shareable data, duplicates the non-sharable data and provides the duplicated non-sharable data to the instance.

Assignments (18)
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS SYMANTEC OPERATING CORPORATION. Recorded Mar 5, 2012
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 027819/0462 →
CHANGE OF NAME Recorded Sep 26, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 019872/0979 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2006
From: EJASENT, INC.
To: VERITAS OPERATING CORPORATION
Reel/Frame 017766/0373 →
SECURITY INTEREST Recorded Jan 22, 2002
From: EJASENT, INC.
To: GATX VENTURES, INC.; SILICON VALLEY BANK
Reel/Frame 012493/0729 →