Patent ID: 7886312

Claim:
A computer program product for executing remote procedures comprising a set of computer executable instructions stored on a non-transitory computer readable medium, comprising: computer code means, responsive to a remote object call received by a client system, for generating at the client system a first serialized byte stream containing a remote object and its arguments; computer code means for sending by the client system the first serialized byte stream to a server containing the remote object; computer code means, responsive to the client system receiving a second serialized byte stream containing a result produced by the remote object from the server and determining the presence of a second remote object for which no reference can be found at the client system in the second serialized byte stream, for using information contained in the second serialized byte stream to determine the class type of the second remote object; computer code means for determining by the client system whether a proxy for the second remote object class type exists; computer code means, responsive to the client system determining that there is a proxy for the second remote object class type, for loading the proxy at runtime at the client system; and computer code means, responsive to the client system determining the absence of a proxy for the second remote object class type, for determining a most specific class type compatible with the second remote object, generating a proxy of the most specific class type at run time and using the generated proxy to call the second remote object.