Claims
- 1. A method for communicating between Java objects residing in different computer platforms linked by a network, comprising the steps of:sending a message from a sender object to a virtual object in a first host address and port number, the virtual object being a virtual representation of a receiver object in a second host address and port number, the virtual object associated with a reference that maintains an address and lifespan of the receiver object; creating a messenger object in the first host address and port number; sending the messenger object to deliver the message, the messenger object having an identity of the receiver object and destination address of the second host address and port number; and invoking an encounter between the messenger object and the receiver object for conveying the message thereto.
- 2. The method, as set forth in claim 1, further comprising the step of maintaining the receiver object identity and destination address therefor in a handle.
- 3. The method, as set forth in claim 1, further comprising the step of starting a message timer when sending the messenger object.
- 4. The method, as set forth in claim 1, further comprising the step of dropping a result by the messenger object prior to the encounter with the receiver object for accepting a return value or thrown exception from the receiver object in the second host address and port number in response to the encounter.
- 5. The method, as set forth in claim 4, further comprising the step of carrying an address of the result in the messenger object.
- 6. The method, as set forth in claim 4, wherein the sender object blocks until the return value or thrown exception is received at the result.
- 7. The method, as set forth in claim 4, wherein the sender object queries the result for the return value or thrown exception at will.
- 8. The method, as set forth in claim 4, further comprising the step of creating a reply messenger object for delivering a return value or thrown exception in a reply message to the result according to its address carried in the messenger.
- 9. The method, as set forth in claim 8, further comprising the steps of:determining an address location in the first host address and port number of the result for returning the reply message object from the receiver object; providing the address location to the messenger object; providing the address location to the reply messenger object; and returning the return value or thrown exception to the result according to the address location by the reply messenger.
- 10. The method, as set forth in claim 8, further comprising the step of providing update data related to the receiver object to the reply messenger object for delivery back to the sender object.
- 11. The method, as set forth in claim 10, wherein the step of providing update data comprises the step of providing an updated address of the receiver object.
- 12. The method, as set forth in claim 10, wherein the step of providing update data comprises the step of providing an updated lifespan of the receiver object.
- 13. The method, as set forth in claim 10, further comprising the step of updating the reference with the update data.
- 14. The method, as set forth in claim 1, wherein the step of invoking the encounter comprises the steps of:invoking an encounter between the messenger object and a middleman object associated with the receiver object; and sending the message from the middleman object to the receiver object using Java reflection.
- 15. The method, as set forth in claim 14, further comprising the step of resending the message to the middleman object in response to the message not being implemented by the receiver object.
CROSS REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of U.S. Provisional Application No. 60/067,160 filed on Dec. 1, 1997.
US Referenced Citations (6)
| Number |
Name |
Date |
Kind |
|
5341478 |
Travis et al. |
Aug 1994 |
A |
|
5481721 |
Serlet et al. |
Jan 1996 |
A |
|
5603031 |
White et al. |
Feb 1997 |
A |
|
5812781 |
Fahlman et al. |
Sep 1998 |
A |
|
5822585 |
Noble et al. |
Oct 1998 |
A |
|
6012081 |
Dorn et al. |
Jan 2000 |
A |
Provisional Applications (1)
|
Number |
Date |
Country |
|
60/067160 |
Dec 1997 |
US |