IP Library Patent Application 12717969
Patent Application
App. No. 12/717,969

HIGH AND LOW VALUE APPLICATION STATE

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 None
App. No.
12/717,969
Abstract

A set of high value state in application state for a software application can be distinguished from a set of low value state in the application state. For example, a set of heuristics can be run on the application state to distinguish between the set of high value state and the set of low value state. A set of designations that designate the set of high value state in the application state as high value and that designate the set of low value state in the application state as low value can be generated. When processing the application, the high value state can be processed differently than the low value state. The application may be packaged as a virtual application.

Claims (39)

1 . A computer-implemented method, comprising:

distinguishing between a set of high value state in application state for a software application and a set of low value state in the application state; and

packaging the application in a virtual application package.

2 . The method of claim 1 , wherein distinguishing comprises running one or more heuristics on the application state.

3 . The method of claim 2 , wherein the one or more heuristics determine whether one or more units of the application state include executable code.

4 . The method of claim 3 , wherein the one or more heuristics determine whether one or more units of the application state include a predetermined type of executable code.

5 . The method of claim 4 , wherein distinguishing comprises designating one or more units of the application state that include the predetermined type of executable code as low value and designating one or more units of the application state that do not include the predetermined type of executable code as high value.

6 . The method of claim 1 , wherein the distinguishing and packaging are done in a packaging computing environment, wherein the set of high value state is a set of high value state in the virtual application package, and wherein the set of low value state is a set of low value state in the virtual application package.

7 . The method of claim 6 , wherein the method further comprises performing the following in a target environment after beginning to instantiate the application in the target environment:

distinguishing between a set of high value state in the instantiated application and a set of low value state in the instantiated application.

8 . The method of claim 1 , further comprising generating a set of one or more designations that designate the set of high value state as high value and that designate the set of low value state as low value.

9 . The method of claim 1 , further comprising processing at least a portion of the application state, wherein the processing comprises processing the set of high value state differently from the set of low value state.

10 . The method of claim 9 , wherein the processing comprises performing a set of one or more actions to preserve the set of high value state but not performing the set of one or more actions to preserve the set of low value state.

11 . The method of claim 9 , wherein the processing is performed after instantiating the application.

12 . The method of claim 9 , wherein the processing comprises an act selected from a group consisting of servicing the application, performing a backup operation, moving the application, and combinations thereof.

13 . The method of claim 1 , wherein:

the set of high value state is a set of high value state in the virtual application package and the set of low value state is a set of low value state in the virtual application package;

the method further comprises:

instantiating the application;

distinguishing between a set of high value state in the instantiated application and a set of low value state in the instantiated application; and

processing the instantiated application, wherein the processing comprises processing the set of high value state in the instantiated application differently from the set of low value state in the instantiated application;

distinguishing between the set of high value state in virtual application package and the set of low value state in the virtual application package comprises running one or more heuristics; and

distinguishing between the set of high value state in the instantiated application and the set of low value state in the instantiated application comprises running one or more heuristics.

14 . A computer system comprising:

at least one processor; and

a memory comprising instructions stored thereon that when executed by the at least one processor cause the at least one processor to perform acts comprising:

analyzing application state for an application; and

generating a set of one or more designations that designate a set of high value state in the application state as high value and that designate a set of low value state in the application state as low value.

15 . The computer system of claim 14 , wherein the acts further comprise processing at least a portion of the application state, wherein the processing comprises processing the set of high value state differently from the set of low value state.

16 . The computer system of claim 14 , wherein the acts further comprise:

packaging the application as a virtual application package; and

transmitting the virtual application package to a target environment to be instantiated, the virtual application package including the set of one or more designations.

17 . One or more computer-readable storage media having computer-executable instructions embodied thereon that, when executed by at least one processor, cause the at least one processor to perform acts comprising:

running a set of one or more heuristics on a set of application state for a software application to distinguish between a set of one or more units of high value state in the set of application state and a set of one or more units of low value state in the set of application state;

making one or more high value designations of the one or more units of high value state; and

making one or more low value designations of the one or more units of low value state.

18 . The one or more computer-readable storage media of claim 17 , wherein the acts further comprise, in response to receiving user input, switching one of the high value designations to a low value designation.

19 . The one or more computer-readable storage media of claim 17 , wherein the acts further comprise, in response to user input, switching one of the low value designations to a high value designation.

20 . The one or more computer-readable storage media of claim 17 , wherein the acts further comprise processing at least a portion of the application state, wherein the processing comprises processing the set of high value state differently from the set of low value state.

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 Mar 8, 2010
From: FOXMAN, LEIB ADAM; JACOBSON, NEIL; JEWART, ERIC C.; KANLIKILICER, ALP EMRE; SHEEHAN, JOHN M; DUNKER, JEREMY E.
To: MICROSOFT CORPORATION
Reel/Frame 024040/0196 →