← Back to Patent Explorer
US6347342B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for dynamically brokering object messages among object models

Assignee: Next Software Inc
•
Filing: 1996-07-15
•
Granted: 2002-02-12
•
Expires: 2016-07-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Paul Marcos
  • 👤 Kresten Krab Thorup

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 14:05
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/547; G06F9/548

Claims Analysis

Total Claims: 21
Claim 1
Independent Claim 146 words
A method of dynamically communicating an object message between a client and server of separate object models comprising: establishing a plurality of proxy objects for a server, said plurality of proxy objects comprising a client proxy object, a server proxy object, and a server stub object; sending a message from a client to said server and dynamically mapping said client to said server, said dynamic mapping comprising the steps of: intercepting said message sent by said client in a first object model by said client proxy; transmitting said message from said client proxy to said server proxy; unpackaging said message by said server proxy; forwarding said unpackaged message to said server stub; querying said server in a second object model for interface information by said server stub; generating a translated message using a message protocol of said server; and forwarding said translated message to said server.
Claim 2
Independent Claim 146 words
A method of dynamically communicating an object message between a client and server of separate object models comprising: establishing a plurality of proxy objects for a server, said plurality of proxy objects comprising a client proxy object, a server proxy object, and a server stub object; sending a message from a client to said server and dynamically mapping said client to said server, said dynamic mapping comprising the steps of: intercepting said message sent by said client in a first object model by said client proxy; transmitting said message from said client proxy to said server proxy; unpackaging said message by said server proxy; forwarding said unpackaged message to said server stub; querying said server in a second object model for interface information by said server stub; generating a translated message using a message protocol of said server; and forwarding said translated message to said server.
Claim 3
Dependent Claim 16 words
The method of claim 1 further comprising transmitting a response from said server to said client.
Claim 4
Dependent Claim 42 words
The method of claim 1 further comprising: said client sending a query to determine if said server is able to respond to said message; and responding affirmatively to said query regardless of whether said server is able to respond to said message.
Claim 5
Dependent Claim 156 words
The method of claim 1 wherein said establishing a plurality of proxy objects comprising: said client establishing a connection to an Object Request Broker (ORB); said client requesting from said ORB a connection to said server; said ORB determining the existence of said server; said ORB notifying said client if said server does not exist; said ORB returning said client proxy object of said server to said client if said server exists, said returning client proxy object comprising: creating a proxy object of said server, obtaining a stub object of said server, and creating mapping table information for said proxy object if said mapping table information does not already exist; retrieving proxy object pointer for said server if mapping table information already exists for said server; returning a copy of said proxy object of said server as a client proxy object to said client; and creating an association between said proxy object and said stub object.
Claim 6
Dependent Claim 18 words
The method of claim 4 further comprising creating an association between said client and said client proxy object.
Claim 7
Dependent Claim 17 words
The method of claim 4 further comprising creating an association between said server and said stub object.
Claim 8
Dependent Claim 17 words
The method of claim 4 further comprising creating an association between said server and said proxy object.
Claim 9
Dependent Claim 17 words
The method of claim 4 further comprising creating an association between said client and said stub object.
Claim 10
Dependent Claim 62 words
The method of claim 1 wherein said generating a translated message further comprises: determining the expected number and type of arguments of said server; determining whether an expected argument type is different than an argument type of said message; and translating one of said plurality of arguments to an expected argument type when its type is different than said expected argument type.
Claim 11
Dependent Claim 68 words
The method of claim 2 wherein said transmitting further comprises: determining the expected type of said response; determining whether said type of said response is different than said expected type; translating said response from said type to said expected type when said type is different than said expected type; generating a translated response using a message protocol of said client; and transmitting said translated response to said client.
Claim 12
Dependent Claim 273 words
An article of manufacture comprising: a computer usable medium having computer readable program code embodied therein for dynamically handling an object message between a client and server in separate object models, said computer readable program code in said article of manufacture comprising: computer readable program code configured to cause a computer to establish a plurality of proxy objects for a server, said plurality of proxy objects comprising a client proxy object, a server proxy object, and a server stub object; computer readable program code configured to cause a computer to send a message from a client to said server; computer readable program code configured to cause a computer to intercept said message sent by said client in a first object model, said intercept performed by said client proxy; computer readable program code configured to cause a computer to transmit said message from said client proxy to said server proxy; computer readable program code configured to cause a computer to unpackage said message by said server proxy; computer readable program code configured to cause a computer to forward said unpackaged message to said server stub; computer readable program code configured to cause a computer to query said server in a second object model for interface information for said server, said query performed by said server stub; computer readable program code configured to cause a computer to generate a translated message using a message protocol of said server; computer readable program code configured to cause a computer to forward said translated message to said server; and computer readable program code configured to cause a computer to transmit a response from said server to said client.
Claim 13
Dependent Claim 273 words
An article of manufacture comprising: a computer usable medium having computer readable program code embodied therein for dynamically handling an object message between a client and server in separate object models, said computer readable program code in said article of manufacture comprising: computer readable program code configured to cause a computer to establish a plurality of proxy objects for a server, said plurality of proxy objects comprising a client proxy object, a server proxy object, and a server stub object; computer readable program code configured to cause a computer to send a message from a client to said server; computer readable program code configured to cause a computer to intercept said message sent by said client in a first object model, said intercept performed by said client proxy; computer readable program code configured to cause a computer to transmit said message from said client proxy to said server proxy; computer readable program code configured to cause a computer to unpackage said message by said server proxy; computer readable program code configured to cause a computer to forward said unpackaged message to said server stub; computer readable program code configured to cause a computer to query said server in a second object model for interface information for said server, said query performed by said server stub; computer readable program code configured to cause a computer to generate a translated message using a message protocol of said server; computer readable program code configured to cause a computer to forward said translated message to said server; and computer readable program code configured to cause a computer to transmit a response from said server to said client.
Claim 14
Dependent Claim 62 words
The article of manufacture of claim 11 further comprising: computer readable program code configured to cause a computer to send a query to determine if said server is able to respond to said message; and computer readable program code configured to cause a computer to respond affirmatively to said query regardless of whether said server is able to respond to said message.
Claim 15
Dependent Claim 220 words
The article of manufacture of claim 11 wherein said program code configured to cause a computer to establish a plurality of proxy objects of said server further comprises: computer readable program code configured to cause said client to establish a connection to an Object Request Broker (ORB); computer readable program code configured to cause said client to request from said ORB a connection to said server; computer readable program code configured to cause said ORB to determine the existence of said server; computer readable program code configured to cause said ORB to notify said client if said server does not exist; computer readable program code configured to cause said ORB to return said client proxy object of said server to said client if said server exists, said return client proxy object comprising: creating a proxy object of said server, obtaining a stub object of said server, and creating mapping table information for said proxy object if said mapping table information does not already exist; retrieving proxy object pointer for said server if mapping table information already exists for said server; returning a copy of said proxy object of said server as a client proxy object to said client; and computer readable program code configured to cause a computer to create an association between said proxy object and said stub object.
Claim 16
Dependent Claim 29 words
The article of manufacture of claim 13 further comprising computer readable program code configured to cause a computer to create an association between said client and said proxy object.
Claim 17
Dependent Claim 29 words
The article of manufacture of claim 13 further comprising computer readable program code configured to cause a computer to create an association between said server and said stub object.
Claim 18
Dependent Claim 29 words
The article of manufacture of claim 13 further comprising computer readable program code configured to cause a computer to create an association between said server and said proxy object.
Claim 19
Dependent Claim 29 words
The article of manufacture of claim 13 further comprising computer readable program code configured to cause a computer to create an association between said client and said stub object.
Claim 20
Dependent Claim 102 words
The article of manufacture of claim 11 wherein said program code configured to cause a computer to generate a translated message further comprises: computer readable program code configured to cause a computer to determine the expected number and type of arguments of said server; computer readable program code configured to cause a computer to determine whether an expected argument type is different than an argument type of said message; and computer readable program code configured to cause a computer to translate one of said plurality of arguments to an expected argument type when its type is different than said expected argument type.
Claim 21
Dependent Claim 133 words
The article of manufacture of claim 11 wherein said program code configured to cause a computer to transmit said response further comprises the steps of: computer readable program code configured to cause a computer to determine the expected type of said response; computer readable program code configured to cause a computer to determine whether said type of said response is different than said expected type; computer readable program code configured to cause a computer to translate said response from said type to said expected type when said type is different than said expected type; computer readable program code configured to cause a computer to generate a translated response using a message protocol of said client; and computer readable program code configured to cause a computer to transmit said translated response to said client.

References Cited (Backward Citations)

US3276316A Cited
GB2189800A Cited
EP0297927A2 Cited
US5481721A Cited
US5329619A Cited
US5511197A Cited
US5532104A Cited
US5423432A Cited
US5732270A Cited
US5502304A Cited
US5872973A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-02-11 2005-08-13 2006-02-12 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-02-11 2009-08-13 2010-02-12 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-02-11 2013-08-13 2014-02-12 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag