Claims
- 1. A distributed processing system, comprising:
a communication medium; a first processing device, coupled to the communication medium, having a first Java virtual machine (“JVM1”) and a first kernel software layer including a first remote Java virtual machine (“RJVM1”); a second processing device, coupled to the communication medium, having a second Java virtual machine (“JVM2”) and a first kernel software layer including a second remote Java virtual machine (“RJVM2”),
wherein there is not a socket available between JVM1 and JVM2, and wherein a message may be transferred from the first processing device to the second processing device.
- 2. The distributed processing system of claim 1, wherein the first processing device is running under an applet security model.
- 3. The distributed processing system of claim 1, wherein the second processing device is behind a firewall.
- 4. The distributed processing system of claim 1, wherein the first processing device is a client and the second processing device is a client.
- 5. The distributed processing system of claim 1, wherein the first kernel layer includes a thread manager software component.
- 6. The distributed processing system of claim 1, wherein the first kernel includes a socket manager software component.
- 7. The distributed processing system of claim 1, wherein the first Java virtual machine includes a message routing software component.
- 8. The distributed processing system of claim 1, wherein the first Java virtual machine includes a message compression software component.
- 9. The distributed processing system of claim 1, wherein the first Java virtual machine includes a peer-gone detection software component.
- 10. A system for communication between processing devices in a cluster, comprising:
a first processing device, having a first virtual machine executing thereon, and a first kernel that includes a first message routing data structure representing a virtual machine executing at a second processing device; a second processing device, having a second virtual machine executing thereon, and a second kernel that includes a second message routing data structure representing the first virtual machine executing at said first processing device; and, wherein a message may be transferred from said first virtual machine to said second virtual machine via the first message routing data structure on said first processing device and the second message routing data structure on said second processing device.
- 11. The system of claim 10, wherein said first processing device and said second processing device are members of a plurality of processing devices, wherein each of said plurality of processing devices includes a message routing data structure representing the virtual machine of other processing devices with which each of said processing device can communicate.
- 12. The system of claim 10, wherein said first and said second processing devices are separated by a firewall or applet security model.
- 13. The system of claim 10, wherein said first processing device can be used by a first client or first application to communicate with a second client or second application that uses said second processing device.
- 14. The system of claim 10, wherein a message can be forwarded from a first of said plurality of processing devices to a second of said plurality of processing devices by an intermediate processing device, by passing the message through a succession of message routing data structures located at each processing device.
- 15. The system of claim 10 wherein said first virtual machine is a first JVM, and said first message routing data structure is a first RJVM, and wherein second virtual machine is a second JVM, and said second message routing data structure is a second RJVM.
- 16. A system for communication between processing devices in a cluster, comprising:
a first processing device, having a first virtual machine executing thereon, and a first kernel that includes a first message routing data structure representing a virtual machine executing at a second processing device; a second processing device, having a second virtual machine executing thereon, and a second kernel that includes a second message routing data structure representing both the first virtual machine executing at said first processing device, and a third virtual machine executing at a third processing device; a third processing device, having a third virtual machine executing thereon, and a third kernel that includes a third message routing data structure representing the virtual machine executing at said second processing device; and, wherein a message may be transferred from said first virtual machine to said third virtual machine via the first message routing data structure on said first processing device, the second message routing data structure on said second processing device, and the third message routing data structure on said third processing device.
- 17. The system of claim 16, wherein said first processing device and said second processing device are members of a plurality of processing devices, wherein each of said plurality of processing devices includes a message routing data structure representing the virtual machine of other processing devices with which the processing device can communicate.
- 18. The system of claim 16, wherein said first and said second processing devices are separated by a firewall or applet security model.
- 19. The system of claim 16, wherein said first processing device can be used by a first client or first application to communicate with a second client or second application that uses said second processing device.
- 20. The system of claim 16 wherein said first virtual machine is a first JVM and said first message routing data structure is a first RJVM, and wherein second virtual machine is a second JVM and said second message routing data structure is a second RJVM.
- 21. A system for communication between processing devices in a cluster, comprising:
a first processing device, having a first virtual machine executing thereon, and a first kernel that includes a first message routing data structure representing a virtual machine executing at a second processing device; a second processing device, having a second virtual machine executing thereon, and a second kernel that includes a second message routing data structure representing both the first virtual machine executing at said first processing device, and an intermediate virtual machine executing at an intermediate processing device; wherein a message can be forwarded from a first processing devices to a second processing devices via said intermediate processing device, by passing the message through a succession of message routing data structures located at each processing device.
- 22. The system of claim 21 wherein said first virtual machine is a first JVM, and said first message routing data structure is a first RJVM, and wherein second virtual machine is a second JVM, and said second message routing data structure is a second RJVM.
- 23. A method of communication between processing devices in a cluster, comprising the steps of:
providing a first processing device, said first processing device having a first virtual machine executing thereon, and a first kernel including a first message routing data structure representing a virtual machine executing at a second processing device; providing a second processing device, said second processing device having a second virtual machine executing thereon, and a second kernel including a second message routing data structure representing the first virtual machine executing at said first processing device; and, transferring a message from said first virtual machine to said second virtual machine via the first message routing data structure on said first processing device and the second message routing data structure at said second processing device.
- 24. The method of claim 23, wherein said first processing device and said second processing device are members of a plurality of processing devices, wherein each of said plurality of processing devices includes a message routing data structure representing the virtual machine of other processing devices with which the processing device can communicate.
- 25. The method of claim 23, wherein said first and said second processing devices are separated by a firewall or applet security model.
- 26. The method of claim 23, wherein said first processing device can be used by a first client or first application to communicate with a second client or second application that uses said second processing device.
- 27. The method of claim 23, wherein a message can be forwarded from a first of said plurality of processing devices to a second of said plurality of processing devices by an intermediate processing device, by passing the message through a succession of message routing data structures located at each processing device.
- 28. The method of claim 23 wherein said first virtual machine is a first JVM, and said first message routing data structure is a first RJVM, and wherein second virtual machine is a second JVM, and said second message routing data structure is a second RJVM.
- 29. A method of communication between processing devices in a cluster, comprising the steps of:
providing a first processing device, having a first virtual machine executing thereon, and a first kernel including a first message routing data structure representing a virtual machine executing at a second processing device; providing a second processing device, having a second virtual machine executing thereon, and a second kernel including a second message routing data structure representing both the first virtual machine executing at said first processing device, and a third virtual machine executing at a third processing device; providing a third processing device, having a third virtual machine executing thereon, and a third kernel including a third message routing data structure representing the virtual machine executing at said second processing device; and, transferring a message from said first virtual machine to said third virtual machine via the first message routing data structure on said first processing device, the second message routing data structure on said second processing device, and the third message routing data structure on said third processing device.
- 30. The method of claim 29, wherein said first processing device and said second processing device are a members of a plurality of processing devices, wherein each of said plurality of processing devices includes a message routing data structure representing the virtual machine of other processing devices with which the processing device can communicate with.
- 31. The method of claim 29, wherein said first and said second processing devices are separated by a firewall or applet security model.
- 32. The method of claim 29, wherein said first processing device can be used by a first client or first application to communicate with a second client or second application that uses said second processing device.
- 33. The system of claim 29 wherein said first virtual machine is a first JVM, and said first message routing data structure is a first RJVM, and wherein second virtual machine is a second JVM, and said second message routing data structure is as second RJVM.
- 34. A method of communication forwarding between processing devices in a cluster, comprising the steps of:
providing a first processing device, having a first virtual machine executing thereon, and a first kernel including a first message routing data structure representing a virtual machine executing at a second processing device; providing a second processing device, having a second virtual machine executing thereon, and a second kernel including a second message routing data structure representing both the first virtual machine executing at said first processing device, and an intermediate virtual machine executing at an intermediate processing device; wherein a message can be forwarded from said first processing device to said second processing device via said intermediate processing device, by passing the message through a succession of message routing data structures located at each processing device.
- 35. The method of claim 34 wherein said first virtual machine is a first JVM, and said first message routing data structure is a first RJVM, and wherein second virtual machine is a second JVM, and said second message routing data structure is a second RJVM.
- 36. An article of manufacture, comprising:
a first processing device, having a first virtual machine executing thereon, and a first kernel that includes a first message routing data structure representing a virtual machine executing at a second processing device; a second processing device, having a second virtual machine executing thereon, and a second kernel that includes a second message routing data structure representing the first virtual machine executing at said first processing device; and, wherein a message may be transferred from said first virtual machine to said second virtual machine via the first message routing data structure on said first processing device and the second message routing data structure on said second processing device.
- 37. A computer readable medium including instructions stored thereon which when executed cause the computer to perform the steps of:
providing a first processing device, said first processing device having a first virtual machine executing thereon, and a first kernel including a first message routing data structure representing a virtual machine executing at a second processing device; providing a second processing device, said second processing device having a second virtual machine executing thereon, and a second kernel including a second message routing data structure representing the first virtual machine executing at said first processing device; and, transferring a message from said first virtual machine to said second virtual machine via the first message routing data structure on said first processing device and the second message routing data structure at said second processing device.
CLAIM OF PRIORITY
[0001] This application is a continuation of application Ser. No. 09/405,500, filed Sep. 23, 1999, which claims the benefit of U.S. Provisional Application No. 60/107,167, filed Nov. 5, 1998, and both are incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60107167 |
Nov 1998 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
09405500 |
Sep 1999 |
US |
Child |
10427798 |
May 2003 |
US |