Clustered enterprise Java™ having a message passing kernel in a distributed processing system
First Claim
1. A distributed processing system, comprising:
- a communication medium;
a first processing device, coupled to the communication medium, having a first software program emulating a first processing device (“
JVM1”
) including a first kernel software layer, having a first data structure (“
RJVM2”
), and a stub including a replica-handler with a load balancing software component and a failover software component for selecting one of a plurality of replicated objects;
a second processing device, coupled to the communication medium, having a second software program emulating a second processing device (“
JVM2”
) including a second kernel software layer, having a second data structure (“
RJVM1”
), wherein a message from the first processing device is transferred to the second processing device through the first kernel layer and the first software program in the first processing device to the second software program and the second kernel software layer in the second processing device; and
, wherein the first software program in the first processing device is a Java™
virtual machine (“
JVM”
) and the first data structure in the first processing device is a remote Java™
virtual machine (“
RJVM”
) and wherein, the second software program in the second processing device is a Java™
virtual machine (“
JVM”
) and the second data structure in the second processing device is a remote Java™
virtual machine (“
RJVM”
) and wherein the RJVM in the second processing device corresponds to the JVM in the first processing device.
2 Assignments
0 Petitions
Accused Products
Abstract
A clustered enterprise Java™ distributed processing system is provided. The distributed processing system includes a first and a second computer coupled to a communication medium. The first computer includes a Java™ virtual machine (JVM) and kernel software layer for transferring messages, including a remote Java™ virtual machine (RJVM). The second computer includes a JVM and a kernel software layer having a RJVM. Messages are passed from a RJVM to the JVM in one computer to the JVM and RJVM in the second computer. Messages may be forwarded through an intermediate server or rerouted after a network reconfiguration. Each computer includes a Smart stub having a replica handler, including a load balancing software component and a failover software component. Each computer includes a duplicated service naming tree for storing a pool of Smart stubs at a node. The computers may be programmed in a stateless, stateless factory, or a stateful programming model. The clustered enterprise Java™ distributed processing system allows for enhanced scalability and fault tolerance.
211 Citations
30 Claims
-
1. A distributed processing system, comprising:
-
a communication medium;
a first processing device, coupled to the communication medium, having a first software program emulating a first processing device (“
JVM1”
) including a first kernel software layer, having a first data structure (“
RJVM2”
), and a stub including a replica-handler with a load balancing software component and a failover software component for selecting one of a plurality of replicated objects;
a second processing device, coupled to the communication medium, having a second software program emulating a second processing device (“
JVM2”
) including a second kernel software layer, having a second data structure (“
RJVM1”
), wherein a message from the first processing device is transferred to the second processing device through the first kernel layer and the first software program in the first processing device to the second software program and the second kernel software layer in the second processing device; and
,wherein the first software program in the first processing device is a Java™
virtual machine (“
JVM”
) and the first data structure in the first processing device is a remote Java™
virtual machine (“
RJVM”
) and wherein,the second software program in the second processing device is a Java™
virtual machine (“
JVM”
) and the second data structure in the second processing device is a remote Java™
virtual machine (“
RJVM”
) and wherein the RJVM in the second processing device corresponds to the JVM in the first processing device.- View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
a second communication medium coupled to the second processing device; and
a third processing device, coupled to the second communication medium, having
1) a third software program emulating the third processing device (“
JVM3”
), and
2) a third kernel software layer having a third data structure (“
RJVM1”
), and a fourth data structure (“
RJVM2”
).
-
-
11. The distributed processing system of claim 10, wherein the second processing device forwards a message from the first processing device to the third processing device.
-
12. The distributed processing system of claim 11, wherein the first kernel software layer in the first processing device includes an abbreviation table for abbreviating the message and the third processing device includes a duplicate abbreviation table for reading the message.
-
13. The distributed processing system of claim 11, wherein the third processing device is coupled to the first communication medium, and wherein the message is transferred to the third processing device through the first kernel software layer in the first processing device to the third kernel software layer in the third processing device.
-
14. The distributed processing system of claim 1, wherein the first processing device is a peer of the second processing device.
-
15. The distributed processing system of claim 1, wherein the first processing device includes an Enterprise Java™
- Bean object.
-
16. The distributed processing system of claim 1, wherein the first processing device includes a naming tree having a pool of RA stubs stored at a node of the tree and the second processing device includes a duplicate of the naming tree.
-
17. The distributed processing system of claim 1, wherein the first processing device includes a multicast program for distributing 1) a RA stub to the first and the second processing device, and 2) a naming tree to the first and the second processing device.
-
18. The distributed processing system of claim 1, wherein the first processing device includes an application program coded in a stateless program model.
-
19. The distributed processing system of claim 18, wherein the application program includes a stateless session bean.
-
20. The distributed processing system of claim 1, wherein the first processing device includes an application program coded in an stateless factory program model.
-
21. The distributed processing system of claim 20, wherein the application program includes a stateful session bean.
-
22. The distributed processing system of claim 1, wherein the first processing device includes an application program coded in a stateful program model.
-
23. The distributed processing system of claim 22, wherein the application program includes an entity session bean.
-
24. An article of manufacture, including an information storage medium wherein is stored, comprising:
-
a first set of digital information for transferring a message from a first remote Java™
virtual machine in a first processing device to a second Java™
virtual machine in a second processing device, wherein the first remote Java™
virtual machine includes a message routing software component having a replica-handler for selecting the second Java™
virtual machine from a plurality of Java™
virtual machines in a plurality of processing devices.- View Dependent Claims (25, 26, 27, 28, 29, 30)
a second set of digital information for transferring the message to a communication medium.
-
-
29. The article of manufacture of claim 24, further comprising:
-
a second set of digital information for transferring the message to a communication medium; and
a third set of digital information, including a remote method invocation.
-
-
30. The article of manufacture of claim 24, further comprising:
-
a second set of digital information for transferring the message to a communication medium; and
a third set of digital information including an enterprise Java™
bean.
-
Specification