Patent US6023712A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6023712A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for brokering memory resources

Assignee: Veritas Technologies LLC
•
Filing: 1997-07-30
•
Granted: 2000-02-08
•
Expires: 2017-07-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention provides a method and apparatus for brokering memory resources. A memory broker cooperates with one or more memory servers and one or more memory clients. The memory servers obtain usable memory space and report the availability of such memory space to the memory broker. The memory clients request and receive memory allocations from the memory broker. In one embodiment of the invention, the memory broker interacts with memory servers that may be unable to guarantee the duration of availability of the memory space they provide. The memory broker can fulfill memory requests from memory clients using portions of memory distributed among multiple memory servers.

Inventors

  • 👤 Daniel S. Spear
  • 👤 Philip B. Gardner

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 19:29
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/50; G06F9/5005; G06F9/5011; G06F9/5016; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99956

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 159 words
A method for brokering memory resources in a computer system comprising the steps of: receiving in a memory broker in said computer system a request from a memory client for one or more portions of allocated memory having an amount and a type; receiving in said memory broker from memory servers information on one or more portions of available memory of said amount and type; requesting one or more handles from said memory servers identifying said one or more portions of available memory distributed among said memory servers, wherein said one or more portions of available memory fulfill said request for said one or more portions of allocated memory; receiving in said memory broker from said memory servers said one or more handles; and fulfillng said request for said one or more portions of allocated memory by providing a handle from said memory broker to said memory client, said handle identifying said one or more portions of available memory.
Claim 2
Independent Claim 159 words
A method for brokering memory resources in a computer system comprising the steps of: receiving in a memory broker in said computer system a request from a memory client for one or more portions of allocated memory having an amount and a type; receiving in said memory broker from memory servers information on one or more portions of available memory of said amount and type; requesting one or more handles from said memory servers identifying said one or more portions of available memory distributed among said memory servers, wherein said one or more portions of available memory fulfill said request for said one or more portions of allocated memory; receiving in said memory broker from said memory servers said one or more handles; and fulfillng said request for said one or more portions of allocated memory by providing a handle from said memory broker to said memory client, said handle identifying said one or more portions of available memory.
Claim 3
Dependent Claim 27 words
The method of claim 1 further comprising the step of: polling said memory servers to locate said one or more portions of available memory of said type.
Claim 4
Dependent Claim 79 words
The method of claim 2 further comprising the steps of: receiving in said memory broker a first message from said memory client indicating that said memory client has completed using said one or more portions of allocated memory in said memory servers; communicating a second message from said memory broker to said memory servers to indicate that said one or more portions of allocated memory are no longer needed; and deallocating said one or more portions of allocated memory.
Claim 5
Dependent Claim 146 words
The method of claim 2 further comprising the steps of: receiving at said memory broker from said memory servers a first indication that said one or more portions of allocated memory must be released; providing from said memory broker to said memory client a second indication that said memory client must discard said one or more portions of allocated memory; discarding at said memory client a handle to said one or more portions of allocated memory; providing from said memory client to said memory broker a third indication that said memory client has discarded said handle to said one or more portions of allocated memory; providing from said memory broker to said memory servers a fourth indication that said handle to said one or more portions of allocated memory has been discarded; and deallocating at said memory servers said one or more portions of allocated memory.
Claim 6
Dependent Claim 176 words
The method of claim 2 further comprising the steps of: receiving at said memory broker a first indication from said memory servers that a voluntary discard of one or more portions of allocated memory should occur; polling a plurality of memory clients to request said voluntary discard of said one or more portions of allocated memory for which said first indication was received; determining at each of said plurality of memory clients if said one or more portions of allocated memory for which said first indication was received can be voluntarily discarded; receiving at said memory broker in said computer system indications that said plurality of memory clients are voluntarily discarding said one or more portions of allocated memory for which said first indication was received; providing to said memory servers a second indication that said one or more portion of allocated memory for which said first indication was received are is being voluntarily discarded; and deallocating at said memory servers said one or more portions of allocated memory for which said first indication was received.
Claim 7
Dependent Claim 173 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by said machine to perform method steps for brokering memory resources in said machine, said method steps comprising: receiving in a memory broker in said machine a request from a memory client for one or more portions of allocated memory of an amount and a type; receiving in said memory broker in said machine from memory servers information on one or more portions of available memory of said amount and type; requesting one or more handles from said memory servers identifying said one or more portions of available memory distributed among said memory servers that can fulfill said request for said allocated memory; receiving in said memory broker in said machine from said memory servers said one or more handles; and fulfilling said request for said one or more portions of allocated memory by providing a handle from said memory broker in said machine to said memory client to allocate said one or more portions of available memory.
Claim 8
Dependent Claim 173 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by said machine to perform method steps for brokering memory resources in said machine, said method steps comprising: receiving in a memory broker in said machine a request from a memory client for one or more portions of allocated memory of an amount and a type; receiving in said memory broker in said machine from memory servers information on one or more portions of available memory of said amount and type; requesting one or more handles from said memory servers identifying said one or more portions of available memory distributed among said memory servers that can fulfill said request for said allocated memory; receiving in said memory broker in said machine from said memory servers said one or more handles; and fulfilling said request for said one or more portions of allocated memory by providing a handle from said memory broker in said machine to said memory client to allocate said one or more portions of available memory.
Claim 9
Dependent Claim 29 words
The program storage device of claim 6, said method steps further comprising: polling said memory servers to locate said one or more portions of available memory of said type.
Claim 10
Dependent Claim 85 words
The program storage device of claim 7, said method steps further comprising: receiving in said memory broker in said machine a first message from said memory client indicating that said memory client has completed using said one or more portions of allocated memory in said servers; communicating a second message from said memory broker in said machine to said memory servers to indicate that said memory allocation is no longer needed; and deallocating at said memory servers said one or more portions of allocated memory.
Claim 11
Dependent Claim 160 words
The program storage device of claim 7, said method steps further comprising: receiving at said memory broker in said machine from said memory servers a first indication that said one or more portions of allocated memory must be released; providing from said memory broker in said machine to said memory client a second indication that said memory client must discard said one or more portions of allocated memory; discarding at said memory client a handle to said one or more portions of allocated memory; providing from said memory client to said memory broker in said machine a third indication that said memory client has discarded said handle to said one or more portions of allocated memory; providing from said memory broker in said machine to said memory servers a fourth indication that said handle to said one or more portions of allocated memory has been discarded; and deallocating at said memory servers said one or more portions of allocated memory.
Claim 12
Dependent Claim 184 words
The program storage device of claim 7, said method steps further comprising: receiving at said memory broker in said machine a first indication from said memory servers that a voluntary discard of one or more portions of allocated memory should occur; polling a plurality of memory clients to request said voluntary discard of said one or more portions of allocated memory for which said first indication was received; determining at each of said plurality of memory clients if said one or more portions of allocated memory for which said first indication was received can be voluntarily discarded; receiving at said memory broker in said machine indications that said plurality of memory clients are voluntarily discarding said one or more portions of allocated memory for which said first indication was received; providing to said memory servers a second indication that said one or more portions of allocated memory for which said first indication was received are being voluntarily discarded; and deallocating at said memory servers said one or more portions of allocated memory for which said first indication was received that are being voluntarily discarded.
Claim 13
Independent Claim 118 words
A method for brokering memory resources comprising the steps of: transmitting a request from a memory client to a memory broker in a computer system for the use of a page of memory; requesting by said memory broker from memory servers one or more pointers to one or more pages of memory distributed among said memory servers that can fulfill said request for a page of memory; providing from said memory servers to said memory broker one or more pointers to said one or more pages of memory; and providing from said memory broker to said memory client a pointer to a memory space distributed among said memory servers that fulfills said request for a page of memory.
Claim 14
Independent Claim 118 words
A method for brokering memory resources comprising the steps of: transmitting a request from a memory client to a memory broker in a computer system for the use of a page of memory; requesting by said memory broker from memory servers one or more pointers to one or more pages of memory distributed among said memory servers that can fulfill said request for a page of memory; providing from said memory servers to said memory broker one or more pointers to said one or more pages of memory; and providing from said memory broker to said memory client a pointer to a memory space distributed among said memory servers that fulfills said request for a page of memory.
Claim 15
Dependent Claim 39 words
The method of claim 11 further comprising the steps of: locking by said memory servers of said memory space distributed among said memory servers; and unlocking by said memory servers of said memory space distributed among said memory servers.
Claim 16
Dependent Claim 26 words
The method of claim 12 further comprising the step of: accessing by said memory client data stored in said memory space distributed among said memory servers.
Claim 17
Dependent Claim 70 words
The method of claim 13 further comprising the steps of: providing from said memory client to said memory broker a first indication that said memory client has completed accessing said data in said memory space distributed among said memory servers; and providing from said memory broker to said memory servers a second indication that access to said data in said memory space distributed among said memory servers has been completed.
Claim 18
Dependent Claim 140 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by said machine to perform method steps for brokering memory resources in said machine, said method steps comprising: transmitting a request from a memory client to a memory broker in a machine for the use of a page of memory, requesting by said memory broker from memory servers one or more pointers to one or more pages of memory distributed among said memory servers that can fulfill said request for a page of memory; providing from said memory servers to said memory broker one or more pointers to said one or more pages of memory; and providing from said memory broker to said memory client a pointer to a memory space distributed among said memory servers that fulfills said request for a page of memory.
Claim 19
Dependent Claim 140 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by said machine to perform method steps for brokering memory resources in said machine, said method steps comprising: transmitting a request from a memory client to a memory broker in a machine for the use of a page of memory, requesting by said memory broker from memory servers one or more pointers to one or more pages of memory distributed among said memory servers that can fulfill said request for a page of memory; providing from said memory servers to said memory broker one or more pointers to said one or more pages of memory; and providing from said memory broker to said memory client a pointer to a memory space distributed among said memory servers that fulfills said request for a page of memory.
Claim 20
Dependent Claim 41 words
The program storage device of claim 15, said method steps further comprising: locking by said memory servers of said memory space distributed among said memory servers; and unlocking by said memory servers of said memory space distributed among said memory servers.
Claim 21
Dependent Claim 28 words
The program storage device of claim 16, said method steps further comprising: accessing by said memory client data stored in said memory space distributed among said memory servers.
Claim 22
Dependent Claim 72 words
The program storage device of claim 17, said method steps further comprising: providing from said memory client to said memory broker a first indication that said memory client has completed accessing said data in said memory space distributed among said memory servers; and providing from said memory broker to said memory servers a second indication that access to said data in said memory space distributed among said memory servers has been completed.

References Cited (Backward Citations)

US5109336A Cited
US5579508A Cited
US5675793A Cited
US5588138A Cited
US5809554A Cited
US5732402A Cited
US5689707A Cited
US5784699A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-02-07 2003-08-09 2004-02-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-02-07 2007-08-09 2008-02-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-02-07 2011-08-09 2012-02-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag