P
US8205213B2ExpiredUtilityPatentIndex 57

Method and apparatus for dynamically brokering object messages among object models

Assignee: MARCOS PAULPriority: Jul 15, 1996Filed: Dec 15, 2008Granted: Jun 19, 2012
Est. expiryJul 15, 2016(expired)· nominal 20-yr term from priority
Inventors:MARCOS PAULTHORUP KRESTEN KRAB
G06F 9/548
57
PatentIndex Score
2
Cited by
12
References
16
Claims

Abstract

The present invention dynamically brokers object messages between object models. An mediating component provides a bridge between object models such that messages can be transmitted in either direction between object models. The mediating component can be resident on a client machine, a server machine, or both. The mediating component can be used as a bridge between two instances of the same object model running on different machines. Thus, network communication is made possible for objects of an object model that otherwise lacks a networking capability. The mediating component maps a client object to a server object through proxy objects and stub objects. The proxy object always responds affirmatively when queried by a client object whether a server object can execute a particular method. A client object's message is forwarded to a server object. The mediating component performs any necessary translation of arguments or format of the message. In addition, the mediating component translates a server object's response.

Claims

exact text as granted — not AI-modified
1. A system for dynamic communication between objects, comprising:
 a processor; 
 a memory, coupled to the processor, storing instructions that, when executed by the processor, configure the processor to:
 receive a message sent by a client object to a server object; 
 determine dynamically at runtime in response to receiving the message one or more interface requirements of the server object; 
 dynamically create a mapping of the client object to the server object at run time including by at least one stub object and at least one proxy object; and 
 forward the message to the server object in accordance with the dynamically determined interface requirements of the server object; 
 
 wherein the at least one stub object and the at least one proxy object are associated with either or both of the client object and the server object and facilitate transmission of the message from the client object to the server object, and 
 wherein the interface requirements of the server object specify for each of at least a subset of methods available at the server object a method specification including a number of arguments and types of arguments expected by the server object when a method is invoked. 
 
     
     
       2. The system recited in  claim 1 , wherein the processor is further configured to dynamically translate the message at run time from an object model associated with the client object to an object model associated with the server object. 
     
     
       3. The system recited in  claim 2 , wherein to translate the message comprises one or more of translating a protocol of the message, translating an operation of the message, and translating one or more arguments of the message. 
     
     
       4. The system recited in  claim 2 , wherein the message is translated by the at least one proxy object or stub object between the client object and the server object. 
     
     
       5. The system recited in  claim 1 , wherein an object model associated with the client object is different from an object model associated with the server object. 
     
     
       6. The system recited in  claim 1 , wherein an object model associated with the client object is the same as an object model associated with the server object. 
     
     
       7. The system recited in  claim 1 , wherein the message is forwarded to the server object using a distributed object model or protocol. 
     
     
       8. The system recited in  claim 1 , wherein the client object and the server object reside on different machines. 
     
     
       9. The system recited in  claim 1 , wherein the mapping defines interface requirements of the client object. 
     
     
       10. The system recited in  claim 1 , wherein the processor is further configured to intercept a response to the message from the server object to the client object. 
     
     
       11. The system recited in  claim 10 , wherein the processor is further configured to forward the response to the client object in accordance with interface requirements of the client object. 
     
     
       12. The system recited in  claim 10 , wherein the processor is further configured to translate the response from an object model associated with the server object to an object model associated with the client object. 
     
     
       13. The system recited in  claim 1 , wherein the processor is further configured to receive a query from the client object to determine if the server object is able to service the message and respond affirmatively to the query. 
     
     
       14. The system recited in  claim 1 , wherein the system is associated with an Object Request Broker (ORB). 
     
     
       15. A method for dynamic communication between objects, comprising:
 receiving a message sent by a client object to a server object; 
 determining dynamically at runtime in response to receiving the message one or more interface requirements of the server object; 
 dynamically create a mapping of the client object to the server object at run time including by at least one stub object and at least one proxy object; and 
 forwarding the message to the server object in accordance with the dynamically determined interface requirements of the server object, 
 wherein the at least one stub object and the at least one proxy object are associated with either or both of the client object and the server object and facilitate transmission of the message from the client object to the server object, and 
 wherein the interface requirements of the server object specify for each of at least a subset of methods available at the server object a method specification including a number of arguments and types of arguments expected by the server object when a method is invoked. 
 
     
     
       16. A computer program product for dynamic communication between objects, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
 receiving a message sent by a client object to a server object; 
 determining dynamically at runtime in response to receiving the message one or more interface requirements of the server object; 
 dynamically create a mapping of the client object to the server object at run time including by at least one stub object and at least one proxy object; and 
 forwarding the message to the server object in accordance with the dynamically determined interface requirements of the server object, 
 wherein the at least one stub object and the at least one proxy object are associated with either or both of the client object and the server object and facilitate transmission of the message from the client object to the server object, and 
 wherein the interface requirements of the server object specify for each of at least a subset of methods available at the server object a method specification including a number of arguments and types of arguments expected by the server object when a method is invoked.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.