Patent ID: 7051341

Claim:
A method for implementing a remote method call, comprising: generating remote objects; generating a client communication object; and generating a server communication object, wherein the client and server communication objects enable communication between the client and the server communication objects; generating at least one proxy object, where each proxy object corresponds to one remote object; including data from the remote object into the proxy object; and processing a call to a method on one proxy object by: (i) determining whether the method is implemented locally; (ii) executing a local method including code to perform method operations on the proxy object without going to the remote object, in response to determining that the method is implemented locally; and (iii) executing a remote method including code to perform method operations on the remote object, in response to determining that the method is not implemented locally, by: (a) passing the remote method to the client communication object; (b) transmitting to the server communication object, with the client communication object, an invocation method specifying the remote method on one specified remote object to the server communication object, wherein the server communication object is a first server communication object; (c) determining, with the first server communication object, whether the remote object specified in the received invocation method is accessible through a second server communication object; and (d) transmitting, with the first server communication object, the received invocation method to the second server communication object to execute against the specified remote object, (e) executing, with the second server communication object, the remote method specified in the invocation method ante specified remote object; and (f) returning, with the second server communication object, data generated in response to execution of the remote method on the specified remote object to the client communication object.