Patent ID: 8161501

Claim:
A computer system for providing a source virtual machine that is interoperable with objects in a target virtual machine that is not the source virtual machine, said system comprising: a memory containing instructions; and a processor, communicatively connected to the memory, that executes the instructions to perform operations comprising: implementing the source virtual machine, wherein the source virtual machine runs on a first underlying operating system; running a first object, in the source virtual machine, that requests access to a function of a foreign object running in the target virtual machine, wherein the target virtual machine runs on at least one of the first underlying operating system or a second underlying operating system; running a shadow object, in the source virtual machine, that is created based on at least one of source code or binary code of the foreign object and configured to respond to the first object and make a local function call directly to the foreign object running in the target virtual machine; and running a native class wrapper, in the target virtual machine, that is created based on at least one of the source code or the binary code of the foreign object and configured to provide unsolicited callbacks directly from the foreign object to the shadow object, wherein at least one of the local function call or a callback from the native class wrapper to the shadow object includes garbage collection information.