Leasing Fragmented Storage Between Processes
AssigneeInternational Business Machines Corporation
InventorsDarryl M. Adderly, Anbumunee Ponniah, Sangita A. Ghodasara
Life of this patent
Estimating the term…
Abstract
A mechanism is provided for leasing fragmented storage between processes. The mechanism comprises a fragmented memory manager associated with instances of virtual memory managers to provide a pool of memory that may lease from the owners of the memory and in turn sub-let the memory for use by other processes or owners. The mechanism allows programs to operate under normal conditions until fragmentation sets. A different memory manager leases those fragmented memory blocks from processes to create a virtually contiguous block of memory that it can sub-lease to processes in need of temporary expansion beyond the memory available for the processes under normal circumstances.
Claims20
A method, in a data processing system, for leasing fragmented storage between processes, the method comprising:
- responsive to a fragment of storage owned by a first process being marked as unusable, adding, by a fragment pool manager running in the data processing system, the fragment of storage to an unallocated storage pool;
- responsive to a request to lease a portion of storage from a second process, constructing, by the fragment pool manager, one or more blocks of storage from the unallocated storage pool;
- allocating, by the fragment pool manager, the one or more blocks of storage to the second process;
- and
- managing, by the fragment pool manager, access to the one or more blocks of storage by the second process.
A computer program product comprising a computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to:
- responsive to a fragment of storage owned by a first process being marked as unusable, add, by a fragment pool manager running in the computing device, the fragment of storage to an unallocated storage pool;
- responsive to a request to lease a portion of storage from a second process, construct, by the fragment pool manager, one or more blocks of storage from the unallocated storage pool;
- allocate, by the fragment pool manager, the one or more blocks of storage to the second process;
- and
- manage, by the fragment pool manager, access to the one or more blocks of storage by the second process.
An apparatus in a computing device, comprising:
- a processor;
- and
- a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to:
- responsive to a fragment of storage owned by a first process being marked as unusable, add, by a fragment pool manager running on the processor, the fragment of storage to an unallocated storage pool;
- responsive to a request from a second process to lease a portion of storage, construct, by the fragment pool manager, one or more blocks of storage from the unallocated storage pool;
- allocate, by the fragment pool manager, the one or more blocks of storage to the second process;
- and
- manage, by the fragment pool manager, access to the one or more blocks of storage by the second process.
Dependencies are inferred from the claim text.