US6173313B1
Expired / Lapsed
US
⏱️ 0.0 years remaining
Methodology for hosting distributed objects at a predetermined node in a distributed system
Assignee: Oracle International Corp
•
Filing: 1998-06-24
•
Granted: 2001-01-09
•
Expires: 2018-06-24
Abstract
Abstract A distributed object is hosted in a distributed system by invoking a global hash function on a generated name for the distributed object. The name for the distributed object is generated with knowledge of the global hash function so that the result of invoking the global hash function upon the name results in the selection of a predetermined node in the distributed system. The predetermined node may be selected based on the affinity of the node to the distributed object for reducing network messaging and communications overhead.
Inventors
- 👤 Boris Klots
- 👤 Amit Ganesh
- 👤 Roger J. Bamford
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-03 18:20
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/465
Claims Analysis
Total Claims: 46
Claim 1
Independent Claim
78 words
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.
Claim 2
Independent Claim
78 words
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.
Claim 3
Dependent Claim
51 words
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.
Claim 4
Dependent Claim
44 words
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.
Claim 5
Dependent Claim
102 words
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.
Claim 6
Dependent Claim
37 words
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.
Claim 7
Dependent Claim
57 words
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.
Claim 8
Dependent Claim
24 words
A method as in claim 6 , wherein the step of repeatedly generating said bit values includes the step of incrementing said bit values.
Claim 9
Dependent Claim
66 words
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.
Claim 10
Dependent Claim
45 words
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.
Claim 11
Dependent Claim
113 words
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.
Claim 12
Independent Claim
89 words
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.
Claim 13
Independent Claim
89 words
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.
Claim 14
Dependent Claim
50 words
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.
Claim 15
Dependent Claim
40 words
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.
Claim 16
Dependent Claim
96 words
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.
Claim 17
Dependent Claim
34 words
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.
Claim 18
Dependent Claim
34 words
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.
Claim 19
Dependent Claim
51 words
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.
Claim 20
Dependent Claim
24 words
A method as in claim 17 , wherein the step of repeatedly generating said bit values includes the step of incrementing said bit values.
Claim 21
Dependent Claim
72 words
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.
Claim 22
Dependent Claim
41 words
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.
Claim 23
Dependent Claim
99 words
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.
Claim 24
Dependent Claim
88 words
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.
Claim 25
Dependent Claim
88 words
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.
Claim 26
Dependent Claim
52 words
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.
Claim 27
Dependent Claim
41 words
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.
Claim 28
Dependent Claim
102 words
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.
Claim 29
Dependent Claim
38 words
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.
Claim 30
Dependent Claim
58 words
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.
Claim 31
Dependent Claim
25 words
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.
Claim 32
Dependent Claim
80 words
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.
Claim 33
Dependent Claim
41 words
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.
Claim 34
Dependent Claim
114 words
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.
Claim 35
Dependent Claim
99 words
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.
Claim 36
Dependent Claim
99 words
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.
Claim 37
Dependent Claim
51 words
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.
Claim 38
Dependent Claim
41 words
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.
Claim 39
Dependent Claim
97 words
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.
Claim 40
Dependent Claim
35 words
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.
Claim 41
Dependent Claim
35 words
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.
Claim 42
Dependent Claim
52 words
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.
Claim 43
Dependent Claim
25 words
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.
Claim 44
Dependent Claim
73 words
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.
Claim 45
Dependent Claim
41 words
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.
Claim 46
Dependent Claim
100 words
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.
References Cited (Backward Citations)
US5029104A
Cited
US5857102A
Cited
US5793965A
Cited
US5802291A
Cited
US5774721A
Cited
US5881268A
Cited
US6014702A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2004-01-09 | 2004-07-10 | 2005-01-09 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2008-01-09 | 2008-07-10 | 2009-01-09 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2012-01-09 | 2012-07-10 | 2013-01-09 | $7700.00 | Window Closed / Lapsed |