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

User control of multiple memory heaps

Assignee: International Business Machines Corp
•
Filing: 1996-02-26
•
Granted: 1998-09-15
•
Expires: 2016-02-26
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention provides the user with the ability to control and administer the supply of memory managed in multiple heaps by a library heap management facility. The control data used by the heap management facility is located in the user-supplied memory. Heaps are created dynamically through calls from the application to the runtime library. Allocation within a heap is performed through calls to the runtime library that canvass the available heap memory for each allocation request. If no suitable block of heap memory is located, additional user supplied memory is requested for the application through a callback function. A second callback function notifies the user when a supplied unit of memory is no longer required by the heap and may be disposed of. The callback functions are specified separately for each heap. The invention also provides the user with means for setting the default heap in the runtime library for use by allocation requests from a vendor library that do not specify a heap. This can be done on a per thread basis in multithreaded applications so that different executing threads can use different default heaps in a non-interfering manner.

Inventors

  • 👤 Jay William Benayon
  • 👤 Brian Ward Thomson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 10:58
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/99952; Y10S707/99953; Y10S707/99956

Claims Analysis

Total Claims: 5
Claim 1
Independent Claim 103 words
A process for managing heap allocation from a user application executing in an operating system having means for allocating heap memory and a runtime library, comprising the computer implemented steps of: issuing a call from the user application to the runtime library specifying a heap to be destroyed; serializing access to the heap; scanning the heap memory for blocks of memory added to the heap by the user application for heap memory expansion; invoking a callback function from the runtime library to the user application for releasing each such scanned block of memory added to the heap; and deserializing access to the heap.
Claim 2
Dependent Claim 103 words
A process for managing heap allocation from a user application executing in an operating system having means for allocating heap memory and a runtime library, comprising the computer implemented steps of: issuing a call from the user application to the runtime library specifying a heap to be destroyed; serializing access to the heap; scanning the heap memory for blocks of memory added to the heap by the user application for heap memory expansion; invoking a callback function from the runtime library to the user application for releasing each such scanned block of memory added to the heap; and deserializing access to the heap.
Claim 3
Dependent Claim 38 words
A process according to claim 1, further comprising the step of issuing a call from the user application to the runtime library establishing the identity of the callback function for releasing blocks of memory added to the heap.
Claim 4
Dependent Claim 160 words
A process for managing heap allocation from a user application executing in an operating system having means for allocating heap memory and a runtime library, comprising the computer implemented steps of: (i) issuing a function call from the user application to the runtime library for a heap allocation of a size at least equal to a minimum size: (ii) determining if a block of heap memory of at least a minimum size is available: (iii) removing an object of a size equal to the size of the heap allocated, from the available heap memory; and (iv) returning the object to the user application; and (v) invoking a callback function for heap memory expansion from the runtime library to the user application on receiving a determination that no block of heap memory of at least the minimum size is available; and (vi) returning a block memory from the user application to the runtime library increasing the amount of heap memory available.
Claim 5
Dependent Claim 160 words
A process for managing heap allocation from a user application executing in an operating system having means for allocating heap memory and a runtime library, comprising the computer implemented steps of: (i) issuing a function call from the user application to the runtime library for a heap allocation of a size at least equal to a minimum size: (ii) determining if a block of heap memory of at least a minimum size is available: (iii) removing an object of a size equal to the size of the heap allocated, from the available heap memory; and (iv) returning the object to the user application; and (v) invoking a callback function for heap memory expansion from the runtime library to the user application on receiving a determination that no block of heap memory of at least the minimum size is available; and (vi) returning a block memory from the user application to the runtime library increasing the amount of heap memory available.

References Cited (Backward Citations)

US5561786A Cited
US5437006A Cited
US5559980A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-09-14 2002-03-16 2002-09-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-09-14 2006-03-16 2006-09-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-09-14 2010-03-16 2010-09-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag