IP Library Granted Patent US 8,321,553
Granted Patent B2
US 8,321,553 · App. 10/113,479 · Granted Nov 27, 2012

Method and apparatus for calling virtual machine across processes

Assignee: Oracle America, Inc.
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 8,321,553
App. No.
10/113,479
Granted
Nov 27, 2012
Kind
B2
Abstract

Embodiments of the present invention are directed towards a method and apparatus for calling virtual machine across processes. In one embodiment, it is determined whether a virtual machine is running in the same process. If a virtual machine is running in the same process, that virtual machine is used. If a virtual machine is running in another process, the application sends commands for the virtual machine to an intermediary application in the same process. The intermediary application passes the commands on to another intermediary application in the process where the virtual machine is running, and that intermediary application sends the commands to the virtual machine. Communication from the virtual machine to the application are performed in the reverse order.

Claims (32)

1. A method for cross-process virtual machine calling comprising:

determining whether a virtual machine is running in a first process;

if no virtual machine is running in said first process, issuing a call to a virtual machine in a second process from said first process;

forwarding said call from said first process to said second process; and

delivering said call to said virtual machine in said second process.

2. The method of claim 1 wherein said step of forwarding comprises:

receiving said call at a first URPConnect module in said first process; and

transmitting said call from said first URPConnect module to a second URPConnect module in said second process.

3. The method of claim 1 wherein said virtual machine is a Java virtual machine.

4. The method of claim 1 wherein said call is object based.

5. A cross-process virtual machine calling system comprising:

a call issuer configured to

determine whether a virtual machine is running in a first process, and

if no virtual machine is running in said first process, issue a call to a virtual machine in a second process from said first process;

a forwarding unit configured to forward said call from said first process to said second process; and

a delivery unit configured to deliver said call to said virtual machine in said second process.

6. The cross-process virtual machine calling system of claim 5 wherein said forwarding unit comprises:

a first URPConnect module configured to receive said call in said first process; and

a second URPConnect module in said second process configured to receive said call from said first URPConnect module.

7. The cross-process virtual machine calling system of claim 5 wherein said virtual machine is a Java virtual machine.

8. The cross-process virtual machine calling system of claim 5 wherein said call is object based.

9. A computer program product comprising:

a non-transitory computer usable medium having computer readable program code embodied therein configured for cross-process virtual machine calling, comprising:

computer readable code configured to cause a computer to determine whether a virtual machine is running in a first process, and if no virtual machine is running in said first process,

issue a call to a virtual machine in a second process from said first process;

computer readable code configured to cause a computer to forward said call from said first process to said second process; and

computer readable code configured to cause a computer to deliver said call to said virtual machine in said second process.

10. The computer program product of claim 9 wherein said computer readable code configured to cause a computer to forward comprises:

computer readable code configured to cause a computer to receive said call at a first URPConnect module in said first process; and

computer readable code configured to cause a computer to transmit said call from said first URPConnect module to a second URPConnect module in said second process.

11. The computer program product of claim 9 wherein said virtual machine is a Java virtual machine.

12. The computer program product of claim 9 wherein said call is object based.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037311/0195 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2002
From: KUSHNIRSKIY, IGOR DAVIDOVICH; LUNEGOV, SERGEY V.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 013062/0305 →
Continuity (1)
Related Publication 20030217086A1 · Nov 20, 2003