Patent ID: 7574450

Claim:
A method of sharing an object between a plurality of applications in a single virtual processing environment, comprising: selecting an object to be shared; executing a first application and a second application in a virtual machine in memory on a computer processor; instantiating a container that contains an original reference to an object of the first application in the virtual machine; associating, with said container, a parameter responsive to an instantiation time of said container; storing a hash key associated with said container; creating a trusted dictionary to pass the object between the plurality of applications while maintaining a reference to the object; determining if the object can be serialized; serializing the container; transferring the serialized container to the second application within the same virtual machine; instantiating a container clone; said container clone, comprising a reference clone, wherein said reference clone is used by the second application to access or manipulate said object; deserializing the transferred serialized container by the second application with a deserialization module; and extracting the reference clone from the deserialized container; retrieving the object using the hash key associated with said container; verifying that the object will be retrieved from a correct class storage area; wherein the extracted reference clone allows the first application to share the object with the second application, by comparing and matching a parameter responsive to an instantiation time of the extracted reference clone and a parameter responsive to an instantiation time of the original reference and by comparing and matching a hash key associated with the extracted reference clone and the hash key associated with said container; and wherein the extracted reference clone shares at least one variable in common with the original reference using a reference to a class variable; removing the object from the class storage area when there are no more references to the object; extending the method of sharing an object to all objects passed from one application to another application; and sharing the object with a plurality of applications.