← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag