← Back to Patent Explorer
US5367637A Expired / Lapsed US ⏱️ 0.0 years remaining

Self-tuning virtual storage management for dedicated real-time computer system

Assignee: International Business Machines Corp
•
Filing: 1992-03-26
•
Granted: 1994-11-22
•
Expires: 2012-03-26
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A self-tuning and efficient computer method is disclosed for the management of virtual storage applicable to dedicated real-time computer systems. This method interposes a layer between the application and the real-time computer system to form a two-layered structure to meet an application's request for virtual storage (i.e. buffer request). The method adds a real-time system's slower allocation (second layer) to guarantee the creation of all other buffers during one real-time period. The self-tuning first layer is checked first to satisfy a buffer request, while the untuned second layer is entered to create a buffer when the first layer fails; either the request size is not yet tuned, or the pre-allocated buffers have run out. These entrances to the second layer provide a monitoring mechanism from which a new pre-allocation definition, based on the system usage history, is derived to tune the first layer at the next initialization time. This method also monitors "storage leaks" in which buffer pre-allocations are repeatedly insufficient because some repetitive requests are unmatched by corresponding free requests.

Inventors

  • 👤 Shuang N. Wei

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 12:01
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/50; G06F9/5005; G06F9/5011; G06F9/5016; G06F12/00; G06F12/02; G06F12/0223; G06F12/023; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99953; Y10S707/99956

Claims Analysis

Total Claims: 7
Claim 1
Independent Claim 190 words
A method of providing a self-tuned virtual storage manager on a dedicated real-time computer system comprising the steps of: interposing a virtual storage allocation/deallocation layer between a data processing application and the real-time computer system; reading from the interposed layer a HEAP definition file to select a number of memory buffer pools and a number of buffers in each pool; allocating the selected number of buffer pools and the selected number of buffers in each pool; collecting statistics regarding the usage of the buffers and the buffer pools; and tuning the interposed layer based on the collected statistics, the tuning comprising the steps of: incrementing a counter for each buffer allocation/deallocation within the interposed layer; computing a ratio of the interposed layer allocation count to the underlying real-time system usage for every 1000 allocation requests; monitoring the collected statistics collection when the ratio computed is less than nine or greater than 99; computing buffer pool size and quantity and number of buffers in each pool; determining the need to create or reduce buffer pool size and quantity and number of buffers in each pool; and updating the HEAP definition file.
Claim 2
Independent Claim 190 words
A method of providing a self-tuned virtual storage manager on a dedicated real-time computer system comprising the steps of: interposing a virtual storage allocation/deallocation layer between a data processing application and the real-time computer system; reading from the interposed layer a HEAP definition file to select a number of memory buffer pools and a number of buffers in each pool; allocating the selected number of buffer pools and the selected number of buffers in each pool; collecting statistics regarding the usage of the buffers and the buffer pools; and tuning the interposed layer based on the collected statistics, the tuning comprising the steps of: incrementing a counter for each buffer allocation/deallocation within the interposed layer; computing a ratio of the interposed layer allocation count to the underlying real-time system usage for every 1000 allocation requests; monitoring the collected statistics collection when the ratio computed is less than nine or greater than 99; computing buffer pool size and quantity and number of buffers in each pool; determining the need to create or reduce buffer pool size and quantity and number of buffers in each pool; and updating the HEAP definition file.
Claim 3
Dependent Claim 49 words
The method of claim 1 wherein the virtual storage manager automatically verifies the correctness of the tuning decisions comprising the steps of: running a known virtual storage application as a test pattern; and comparing the resulting HEAP definition obtained to a previously known standard HEAP for that test pattern.
Claim 4
Independent Claim 188 words
A system for self-tuning virtual storage on a real-time computer comprising: an allocation/deallocation layer interposed between a data processing application and the real-time computer; means for selecting a number of buffer pools and a number of buffers in each pool; means for allocating the selected number of buffer pools and the selected number of buffers in each pool; means for collecting statistics regarding the usage of the buffers and the buffer pools; and means for tuning the interposed layer to self-tune the virtual storage, the tuning means comprising: means for incrementing a counter for each buffer allocation/deallocation within the interposed layer; computing means for determining the ratio of the interposed layer allocation count to the underlying real-time system usage for every 1000 allocation requests; means for monitoring the collected statistics collection when the ratio computed is less than nine or greater than 99; computing means for determining buffer pool size and quantity and number of buffers in each pool; means for determining the need to create or reduce buffer pool size and quantity and number of buffers in each pool; and means for updating the HEAP definition file.
Claim 5
Independent Claim 188 words
A system for self-tuning virtual storage on a real-time computer comprising: an allocation/deallocation layer interposed between a data processing application and the real-time computer; means for selecting a number of buffer pools and a number of buffers in each pool; means for allocating the selected number of buffer pools and the selected number of buffers in each pool; means for collecting statistics regarding the usage of the buffers and the buffer pools; and means for tuning the interposed layer to self-tune the virtual storage, the tuning means comprising: means for incrementing a counter for each buffer allocation/deallocation within the interposed layer; computing means for determining the ratio of the interposed layer allocation count to the underlying real-time system usage for every 1000 allocation requests; means for monitoring the collected statistics collection when the ratio computed is less than nine or greater than 99; computing means for determining buffer pool size and quantity and number of buffers in each pool; means for determining the need to create or reduce buffer pool size and quantity and number of buffers in each pool; and means for updating the HEAP definition file.
Claim 6
Dependent Claim 30 words
The system of claim 3 having semi-automatic means to detect "storage leaks," comprises logging buffer address and requester when the difference between allocation and deallocation requests reach a preselected value.
Claim 7
Dependent Claim 24 words
The system of claim 3 having semi-automatic means to identify large size buffer requesters comprising logging buffer allocation requests larger than a preselected size.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-11-21 1998-05-23 1998-11-22 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-11-21 2002-05-23 2002-11-22 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-11-21 2006-05-23 2006-11-22 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag