Small memory footprint system and method for separating applications within a single virtual machine
First Claim
1. A method for isolating execution of a plurality of applications in an object-oriented software environment, wherein a class in the object-oriented software environment comprises a static field, wherein the plurality of applications are configured to utilize the class, the method comprising:
- programmatically generating a copy of the static field for each of the plurality of applications, thereby generating a plurality of corresponding copies of the static field, wherein each of the plurality of applications corresponds to a respective one of the corresponding copies of the static fields;
programmatically deleting the static field from the class;
programmatically generating one or more access methods for the corresponding copies of the static fields; and
using the one or more access methods to permit one of the plurality of applications to access the respective one of the corresponding copies of the static fields.
0 Assignments
0 Petitions
Accused Products
Abstract
A system and method for isolating the execution of a plurality of applications. The applications may utilize or share one or more “original” classes. Only one copy of each original class is maintained, regardless of how many applications utilize it. Static fields are extracted from the original classes. A separate copy of the static fields is created for each of the utilizing applications. A static field class which includes instance fields corresponding to the static fields may be created, wherein each instance of the static field class corresponds to one of the utilizing applications. Access methods for the one or more static fields may be created, wherein the access methods are operable to access the corresponding separate copy of the static fields based upon the identity of the utilizing application. A single access methods class may be created for each original class, wherein the single access methods class includes the access methods for accessing the extracted fields from the original class. The method and system may be optimized by exempting from extraction static fields that are classified as secure for utilization by the plurality of applications without inter-application interference. The secure set of static fields may include final static fields of primitive types, final static strings, immutable arrays of primitive types, and/or other appropriate fields.
-
Citations
29 Claims
-
1. A method for isolating execution of a plurality of applications in an object-oriented software environment, wherein a class in the object-oriented software environment comprises a static field, wherein the plurality of applications are configured to utilize the class, the method comprising:
-
programmatically generating a copy of the static field for each of the plurality of applications, thereby generating a plurality of corresponding copies of the static field, wherein each of the plurality of applications corresponds to a respective one of the corresponding copies of the static fields;
programmatically deleting the static field from the class;
programmatically generating one or more access methods for the corresponding copies of the static fields; and
using the one or more access methods to permit one of the plurality of applications to access the respective one of the corresponding copies of the static fields. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system for isolating execution of a plurality of applications in an object-oriented software environment, the system comprising:
-
a CPU;
a memory coupled to the CPU, wherein the memory stores a class comprising a static field, wherein the plurality of applications are configured to utilize the class, and wherein the memory stores program instructions which are executable by the CPU to;
programmatically generate a copy of the static field for each of the plurality of applications, thereby generating a plurality of corresponding copies of the static field, wherein each of the plurality of applications corresponds to a respective one of the corresponding copies of the static fields;
store the corresponding copies of the static field in the memory;
programmatically delete the static field from the class;
programmatically generate one or more access methods for the corresponding copies of the static fields; and
use the one or more access methods to permit one of the plurality of applications to access the respective one of the corresponding copies of the static fields stored in the memory. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A computer readable medium for isolating execution of a plurality of applications in an object-oriented software environment, wherein a class in the object-oriented software environment comprises a static field, wherein the plurality of applications are configured to utilize the class, the computer readable medium comprising program instructions which are computer-executable to implement:
-
programmatically generating a copy of the static field for each of the plurality of applications, thereby generating a plurality of corresponding copies of the static field, wherein each of the plurality of applications corresponds to a respective one of the corresponding copies of the static fields;
programmatically deleting the static field from the class;
programmatically generating one or more access methods for the corresponding copies of the static fields; and
using the one or more access methods to permit one of the plurality of applications to access the respective one of the corresponding copies of the static fields. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29)
-
Specification