Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of hosting a distributed object at a predetermined node within a distributed system including a plurality of nodes, said method comprising the computer-implemented steps of: generating a name for said distributed object such that an invocation of a hash function upon said name indicates that said distributed object is to be hosted at said predetermined node; hosting said distributed object at said predetermined node based on said hash function and said name for said distributed object.
2. A method as in claim 1, wherein the step of hosting said distributed object at said predetermined node based on said hash function and said name for said distributed object includes the step of invoking said hash function upon said name of said distributed object to indicate said predetermined node.
3. A method as in claim 2, wherein the step of invoking said hash function upon said name of said distributed object includes the step of successively invoking a plurality of hash functions corresponding to respective configurations of said distributed system upon said name.
4. A method as in claim 1, wherein the step of generating a name for said distributed object such that an invocation of a hash function upon said name indicates that said distributed object is to be hosted at said predetermined node includes the steps of: determining bit values such that an invocation of said hash function upon a concatenation of a base name for said distributed object and said bit values indicates that that said distributed object is to be hosted at said predetermined node; concatenating said base name and said bit values to produce said name for said distributed object.
5. A method as in claim 4, wherein the step of determining said bit values includes the step of predicting said bit values based on knowledge of said hash function, said predetermined node, and said base name.
6. A method as in claim 4, wherein the step of determining said bit values includes the step of repeatedly generating new bit values until an invocation of said hash function upon a concatenation of said base name and said new bit values indicates that that said distributed object is to be hosted at said predetermined node.
7. A method as in claim 6, wherein the step of repeatedly generating said bit values includes the step of incrementing said bit values.
8. A method as in claim 1, further comprising the steps of: generating a new hash function in response to a change in a configuration of said distributed system; invoking said new hash function upon said name of said distributed object to determine a new node from among said plurality of nodes to host said distributed object; and hosting said distributed object at said new node.
9. A method as in claim 8, wherein the step of invoking said new hash function upon said name of said distributed object includes the step of successively invoking a plurality of hash functions corresponding to respective configurations of said distributed system upon said name.
10. A method as in claim 8, wherein the step of generating a new hash function in response to a change in a configuration of said distributed system includes the step of generating said new hash function in response to a removal of said predetermined node from said distributed system; and the step of invoking said new hash function upon said name of said distributed object to determine a new node from among said plurality of nodes to host said distributed object includes the step of invoking said new hash function upon said name of said distributed object to determine a new node other than said predetermined node to host said distributed object.
11. A method of locking a resource within a networked, relational database system including a plurality of nodes, said method comprising the computer-implemented steps of: determining a selected node from among said plurality of nodes; generating a name for a lock for said resource such that an invocation of a hash function upon said name indicates an instance of a distributed lock manager at said selected node; enqueuing a lock request containing said name in said instance of said distributed lock manager based on said hash function and said name.
12. A method as in claim 11, wherein the step of enqueuing a lock request containing said name in said instance of said distributed lock manager based on said hash function and said name includes the step of invoking said hash function upon said name to indicate said selected node.
13. A method as in claim 12, wherein the step of invoking said hash function upon said name includes the step of successively invoking a plurality of hash functions corresponding to respective configurations of said distributed system upon said name.
14. A method as in claim 11, wherein the step of generating a name for a lock for said resource such that an invocation of a hash function upon said name indicates an instance of a distributed lock manager at said selected node includes the steps of: generating a base name for said lock; determining bit values such that an invocation of said hash function upon a concatenation of said base name and said bit values indicates said instance of said distributed lock manager; concatenating said base name and said bit values to produce said name.
15. A method as in claim 14, wherein the step of generating a base name for said lock includes the step of generating said base name based on said resource and a transaction identifier.
16. A method as in claim 14, wherein the step of determining said bit values includes the step of predicting said bit values based on said hash function, said location and said base name.
17. A method as in claim 14, wherein the step of determining said bit values includes the step of repeatedly generating new bit values until an invocation of said hash function upon a concatenation of said base name and said new bit values indicates said instance of said distributed lock manager.
18. A method as in claim 17, wherein the step of repeatedly generating said bit values includes the step of incrementing said bit values.
19. A method as in claim 11, further comprising the steps of: generating a new hash function in response to a change in a configuration of said networked, relational database system; invoking said new hash function upon said name to determine a new node from among said plurality of nodes; and enqueuing a new lock request containing said same at a new instance of said distributed lock manager at said new node.
20. A method as in claim 19, wherein the step of invoking said new hash function upon said name includes the step of successively invoking a plurality of hash functions corresponding to respective configurations of said distributed system upon said name.
21. A method as in claim 19, wherein the step of generating a new hash function in response to a change in a configuration of said networked, relational database system includes the step of generating said new hash function in response to a removal of said location from said networked, relational database system; and the step of invoking said new hash function upon said name to determine a new node from among said plurality of nodes to includes the step of invoking said new hash function upon said name to determine a new node other than said selected node.
22. A computer-readable medium bearing instructions for hosting a distributed object at a predetermined node within a distributed system including a plurality of nodes, said instructions arranged to cause one or more processors to perform the steps of: generating a name for said distributed object such that an invocation of a hash function upon said name indicates that said distributed object is to be hosted at said predetermined node; hosting said distributed object at said predetermined node based on said hash function and said name for said distributed object.
23. A computer-readable medium as in claim 22, wherein the step of hosting said distributed object at said predetermined node based on said hash function and said name for said distributed object includes the step of invoking said hash function upon said name of said distributed object to indicate said predetermined node.
24. A computer-readable medium as in claim 23, wherein the step of invoking said hash function upon said name includes the step of successively invoking a plurality of hash functions corresponding to respective configurations of said distributed system upon said name.
25. A computer-readable medium as in claim 22, wherein the step of generating a name for said distributed object such that an invocation of a hash function upon said name indicates that said distributed object is to be hosted at said predetermined node includes the steps of: determining bit values such that an invocation of said hash function upon a concatenation of a base name for said distributed object and bit values indicates that that said distributed object is to be hosted at said predetermined node; concatenating said base name and said bit values to produce said name for said distributed object.
26. A computer-readable medium as in claim 25, wherein the step of determining said bit values includes the step of predicting said bit values based on knowledge of said hash function, said predetermined node, and said base name.
27. A computer-readable medium as in claim 25, wherein the step of determining said bit values includes the step of repeatedly generating new bit values until an invocation of said hash function upon a concatenation of said base name and said new bit values indicates that that said distributed object is to be hosted at said predetermined node.
28. A computer-readable medium as in claim 27, wherein the step of repeatedly generating said bit values includes the step of incrementing said bit values.
29. A computer-readable medium as in claim 22, wherein said instructions are further arranged to cause said one or more processors to perform the steps of: generating a new hash function in response to a change in a configuration of said distributed system; invoking said new hash function upon said name of said distributed object to determine a new node from among said plurality of nodes to host said distributed object; and hosting said distributed object at said new node.
30. A computer-readable medium as in claim 29, wherein the step of invoking said hash function upon said name includes the step of successively invoking a plurality of hash functions corresponding to respective configurations of said distributed system upon said name.
31. A computer-readable medium as in claim 29, wherein the step of generating a new hash function in response to a change in a configuration of said distributed system includes the step of generating said new hash function in response to a removal of said predetermined node from said distributed system; and the step of invoking said new hash function upon said name of said distributed object to determine a new node from among said plurality of nodes to host said distributed object includes the step of invoking said new hash function upon said name of said distributed object to determine a new node other than said predetermined node to host said distributed object.
32. A computer-readable medium bearing instructions for locking a resource within a networked, relational database system including a plurality of nodes, said instructions arranged to cause one or more processors to perform the steps of: determining a selected node from among said plurality of nodes; generating a name for a lock for said resource such that an invocation of a hash function upon said name indicates an instance of a distributed lock manager at said selected node; enqueuing a lock request containing said name in said instance of said distributed lock manager based on said hash function and said name.
33. A computer-readable medium as in claim 32, wherein the step of enqueuing a lock request containing said name in said instance of said distributed lock manager based on said hash function and said name includes the step of invoking said hash function upon said name to indicate said selected node.
34. A computer-readable medium as in claim 33, wherein the step of invoking said hash function upon said name includes the step of successively invoking a plurality of hash functions corresponding to respective configurations of said distributed system upon said name.
35. A computer-readable medium as in claim 32, wherein the step of generating a name for a lock for said resource such that an invocation of a hash function upon said name indicates an instance of a distributed lock manager at said selected node includes the steps of: generating a base name for said lock; determining bit values such that an invocation of said hash function upon a concatenation of said base name and said bit values indicates said instance of said distributed lock manager; concatenating said base name and said bit values to produce said name.
36. A computer-readable medium as in claim 35, wherein the step of generating a base name for said lock includes the step of generating said base name based on said resource and a transaction identifier.
37. A computer-readable medium as in claim 35, wherein the step of determining said bit values includes the step of predicting said bit values based on said hash function, said location and said base name.
38. A computer-readable medium as in claim 35, wherein the step of determining said bit values includes the step of repeatedly generating new bit values until an invocation of said hash function upon a concatenation of said base name and said new bit values indicates said instance of said distributed lock manager.
39. A computer-readable medium as in claim 38, wherein the step of repeatedly generating said bit values includes the step of incrementing said bit values.
40. A computer-readable medium as in claim 32, further comprising the steps of: generating a new hash function in response to a change in a configuration of said networked, relational database system; invoking said new hash function upon said name to determine a new node from among said plurality of nodes; and enqueuing a new lock request containing said same at a new instance of said distributed lock manager at said new node.
41. A computer-readable medium as in claim 40, wherein the step of invoking said hash function upon said name includes the step of successively invoking a plurality of hash functions corresponding to respective configurations of said distributed system upon said name.
42. A computer-readable medium as in claim 40, wherein the step of generating a new hash function in response to a change in a configuration of said networked, relational database system includes the step of generating said new hash function in response to a removal of said location from said networked, relational database system; and the step of invoking said new hash function upon said name to determine a new node from among said plurality of nodes to includes the step of invoking said new hash function upon said name to determine a new node other than said selected node.
Complete technical specification and implementation details from the patent document.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
Unknown
January 9, 2001
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.