Method and system for deterministic hashes to identify remote methods
First Claim
1. A method for identifying an executable method, comprising the steps, performed by a processor, of:
- creating a method identifier for the executable method as a function of a name associated with the executable method and a parameter for use in connection with the execution of the executable method;
sending the method identifier for the executable method to a device to invoke the executable method; and
receiving a result indicating at least an attempt to initiate a process to invoke the executable method.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and system is provided to uniquely identify a remote method to invoke on a server using a hash value computed from the method signature sent from the client to the server with the call request. When a client wishes to invoke a remote method located on a server, the client sends a hash value identifying the remote method to the server in the “remote method invocation” (RMI) call. In one implementation, this hash value is created by applying a hash function to the method string name and the parameter type list and possibly the return type. When the server receives the RMI call, the server identifies which method is being called using the received hash value. The server maintains a mapping of hash values to their associated remote methods located on the server and references the correct method using the hash value. Additionally, in one implementation, the server creates the mapping table dynamically when a remote object is created. The server identifies the methods implemented by the object and creates hash values for each method. These hash values are stored in a mapping table which is used to reference the remote methods.
-
Citations
14 Claims
-
1. A method for identifying an executable method, comprising the steps, performed by a processor, of:
-
creating a method identifier for the executable method as a function of a name associated with the executable method and a parameter for use in connection with the execution of the executable method;
sending the method identifier for the executable method to a device to invoke the executable method; and
receiving a result indicating at least an attempt to initiate a process to invoke the executable method. - View Dependent Claims (2)
applying a hash function to the name associated with the executable method and the parameter of the local method.
-
-
3. A system for identifying an executable method, the system comprising:
- a processor for;
creating a method identifier for the executable method as a function of a name associated with the executable method and a parameter for use in connection with the execution of the executable method;
sending the method identifier for the executable method to a device to invoke the executable method; and
receiving a result indicating at least an attempt to initiate a process to invoke the executable method.
- a processor for;
-
4. A method in a data processing system for identifying a remote method on a server by a client, comprising the steps of:
-
generating an identifier based on a name of the remote method and a parameter of the remote method, the identifier uniquely identifying the remote method to be invoked by the client;
calling the server to remotely invoke the remote method on the server;
sending the generated identifier identifying the remote method to be invoked;
passing parameter argument values to be used in invoking the remote method;
receiving the call and the identifier by the server;
accessing a mapping table associated with a remote object associated with the remote method;
using the identifier sent with the call to identify the remote method to be invoked in the mapping table;
invoking the identified remote method using the passed parameter argument values; and
returning a result of the invocation of the remote method to the client. - View Dependent Claims (5)
applying a hash function to the name of the remote method and the parameter of the remote method to create the identifier.
-
-
6. A computer readable medium containing instructions to perform a method for invoking a remote method on a server, the method comprising the steps of:
-
generating an identifier based on a name of the remote method and a parameter of the remote method, the identifier uniquely identifying the remote method to be invoked by the client;
calling the server to remotely invoke the remote method on the server;
sending the generated identifier identifying the remote method to be invoked;
passing parameter argument values to be used in invoking the remote method;
receiving the call and the identifier;
accessing a mapping table associated with a remote object associated with the remote method;
using the identifier sent with the call to identify the remote method to be invoked in the mapping table;
invoking the identified remote method using the passed parameter argument values; and
returning the result of the invocation of the remote method to the client. - View Dependent Claims (7)
applying a hash function to the name of the remote method and the parameter of the remote method to create the identifier.
-
-
8. A method for identifying a remote method on a server, the method comprising:
-
generating, at a client, an identifier as a function of a name of a local method and a parameter of the local method;
transmitting a call from the client to the server to invoke the local method, wherein the call comprises the generated identifier and parameter argument values for the local method;
receiving the call at the server;
accessing, at the server, a mapping table to identify, as a function of the received identifier, a remote method, corresponding to the local method, to be invoked;
invoking, at the server, the identified remote method based on the received parameter argument values; and
returning a result of the invocation of the remote method from the server to the client. - View Dependent Claims (9)
applying a hash function to the name of the local method and the parameter of the local method to create the identifier.
-
-
10. A computer readable medium containing instructions to perform a method for identifying a remote method on a server, the method comprising the steps of:
-
generating, at a client, an identifier as a function of a name of a local method and a parameter of the local method;
transmitting a call from the client to the server to invoke the local method, wherein the call comprises the generated identifier and parameter argument values for the local method;
receiving the call at the server;
accessing, at the server, a mapping table to identify, as a function of the received identifier, a remote method, corresponding to the local method, to be invoked;
invoking, at the server, the identified remote method based on the received parameter argument values; and
returning a result of the invocation of the remote method from the server to the client. - View Dependent Claims (11)
applying a hash function to the name of the local method and the parameter of the local method to create the identifier.
-
-
12. A method for identifying executable methods in a distributed system comprised of a plurality of devices, the method comprising steps, performed by one of the devices, of:
-
receiving a method identifier for an executable method to be invoked, the method identifier having been derived from a function based on a name associated with the executable method and a parameter for use in connection with the execution of the executable method;
identifying the method to be invoked by using the method identifier;
initiating a process to invoke the identified method; and
returning a result indicating at least an attempt to initiate a process to invoke the identified method.
-
-
13. A system for identifying a remote method, and in response, invoking the method, the system comprising:
-
a memory including;
a mapping table for mapping identifiers to methods, each method having a parameter, and each identifier being based on a name of one of the methods and a parameter associated with the method; and
a processor for;
receiving a request to invoke a selected one of the methods, the request including an identifier;
accessing the mapping table to identify the selected method based on the included identifier;
invoking the identified method using passed parameter argument values; and
returning a result of the invocation of the identified method.
-
-
14. A system for identifying executable methods in a distributed system comprised of a plurality of devices, the system comprising:
-
a processor for;
receiving a method identifier for an executable method to be invoked, the method identifier having been derived from a function based on a name associated with the executable method and a parameter for use in connection with the execution of the executable method;
identifying the method to be invoked by using the method identifier;
initiating a process to invoke the identified method; and
returning a result indicating at least an attempt to initiate a process to invoke the identified method.
-
Specification