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

Method and system for deterministic hashes to identify remote methods

Assignee: Sun Microsystems Inc
•
Filing: 2000-10-12
•
Granted: 2003-09-30
•
Expires: 2020-10-12
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Peter C. Jones
  • 👤 Ann M. Wollrath
  • 👤 Robert W. Scheifler

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 07:36
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/547; G06F9/548; G06F12/00; G06F12/02; G06F12/0223; G06F12/023; G06F12/0253; G06F12/0261; G06F16/00; G06F16/20; G06F16/22; G06F16/2228; G06F16/2255; G06F16/28; G06F16/289; G06F9/465; H; H04; H04L; H04L9/00; H04L9/32; H04L9/3236; H04L9/3239; G06F2209/00; G06F2209/46; G06F2209/463; H04L67/00; H04L67/01; H04L67/133; H04L69/00; H04L69/24

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 82 words
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.
Claim 2
Independent Claim 82 words
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.
Claim 3
Dependent Claim 33 words
The method of claim 1 , wherein the creating step includes the step of: applying a hash function to the name associated with the executable method and the parameter of the local method.
Claim 4
Independent Claim 80 words
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.
Claim 5
Independent Claim 80 words
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.
Claim 6
Independent Claim 155 words
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.
Claim 7
Independent Claim 155 words
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.
Claim 8
Dependent Claim 37 words
The method of claim 4 , wherein the generating step further includes the step of: applying a hash function to the name of the remote method and the parameter of the remote method to create the identifier.
Claim 9
Dependent Claim 154 words
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.
Claim 10
Dependent Claim 154 words
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.
Claim 11
Dependent Claim 39 words
The computer readable medium of claim 6 , wherein the generating step further includes the step of: applying a hash function to the name of the remote method and the parameter of the remote method to create the identifier.
Claim 12
Independent Claim 130 words
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.
Claim 13
Independent Claim 130 words
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.
Claim 14
Dependent Claim 37 words
The method of claim 8 , wherein the generating step further includes the step of: applying a hash function to the name of the local method and the parameter of the local method to create the identifier.
Claim 15
Dependent Claim 141 words
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.
Claim 16
Dependent Claim 141 words
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.
Claim 17
Dependent Claim 39 words
The computer readable medium of claim 10 , wherein the generating step further includes the step of: applying a hash function to the name of the local method and the parameter of the local method to create the identifier.
Claim 18
Independent Claim 107 words
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.
Claim 19
Independent Claim 107 words
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.
Claim 20
Independent Claim 106 words
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.
Claim 21
Independent Claim 106 words
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.
Claim 22
Independent Claim 102 words
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.
Claim 23
Independent Claim 102 words
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.

References Cited (Backward Citations)

US4430699A Cited
US4491946A Cited
EP0300516B1 Cited
US4558413A Cited
US4956773A Cited
US4567359A Cited
US4823122A Cited
US4809160A Cited
US4713806A Cited
US4939638A Cited
US5724540A Cited
US5524244A Cited
EP0351536B1 Cited
US5471629A Cited
US5109486A Cited
EP0384339B1 Cited
US4992940A Cited
US5297283A Cited
US5966531A Cited
US5218699A Cited
US5253165A Cited
US5555427A Cited
US5440744A Cited
EP0472874B1 Cited
US5504921A Cited
US5319542A Cited
US5327559A Cited
US5933497A Cited
GB2253079A Cited
US5475817A Cited
US5339435A Cited
US5481721A Cited
US5544040A Cited
US5684955A Cited
US5774729A Cited
US5778179A Cited
GB2262825B Cited
EP0555997B1 Cited
US5390328A Cited
EP0565849A2 Cited
EP0569195B1 Cited
US5311591A Cited
US6263379B1 Cited
US5307490A Cited
US5475792A Cited
US5423042A Cited
US5511197A Cited
US5724588A Cited
US5689709A Cited
US5511196A Cited
US5386568A Cited
US5448740A Cited
US5452459A Cited
US5764897A Cited
US5475840A Cited
US5832593A Cited
US5694551A Cited
EP0625750A3 Cited
EP0635792B1 Cited
US5666493A Cited
US5844553A Cited
US5617537A Cited
EP0651328B1 Cited
US5455952A Cited
US5652888A Cited
US5706435A Cited
EP0660231B1 Cited
US5548726A Cited
US5594921A Cited
US6031977A Cited
US5745755A Cited
US5832219A Cited
US5845090A Cited
US5664111A Cited
US5592375A Cited
US5392280A Cited
US5675796A Cited
US6216138B1 Cited
US5680617A Cited
US5675797A Cited
US5680573A Cited
US5778228A Cited
EP0697655B1 Cited
US5555367A Cited
US5715314A Cited
US5961582A Cited
US6009413A Cited
US5815711A Cited
US5577231A Cited
US5664110A Cited
US5644768A Cited
US5553282A Cited
US5745678A Cited
US5758344A Cited
US5784560A Cited
EP0718761B1 Cited
US5872928A Cited
US5727048A Cited
US5969967A Cited
US5940827A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2006-09-29 2007-03-31 2007-09-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2010-09-29 2011-03-31 2011-09-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2014-09-29 2015-03-31 2015-09-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag