Claims Analysis
Total Claims: 13
Claim 1
Independent Claim
227 words
A dynamic memory allocation procedure comprising the computer-implemented steps of: a. allocating areas of memory for use as a series of free buffer pools, each free buffer pool comprising plural identical size (hereafter called "buffer size") buffer storage areas, each succeeding free buffer pool of said series including a larger buffer size than a preceding free buffer pool of said series; b. associating a selection size parameter with each free buffer pool, said selection size parameter for a given free buffer pool being a value larger than said buffer size comprising said given free buffer pool, but less than a next larger buffer size comprising a further one of said series of free buffer pools; and c. responding to a request for allocation of buffer space by i. allocating a buffer from a free buffer pool whose selection size parameter is a larger value, among selection size parameters, than said buffer space that was requested; ii. determining a difference between and the allocated buffer size and the requested buffer space to find an unfulfilled amount of said requested buffer space; and iii. allocating a buffer from a free buffer pool whose selection size parameter is a larger value, among selection size parameters, than said unfulfilled amount; and iv. repeating steps ii and iii until step ii determines that no unfulfilled amount remains of said requested buffer space.
Claim 2
Dependent Claim
227 words
A dynamic memory allocation procedure comprising the computer-implemented steps of: a. allocating areas of memory for use as a series of free buffer pools, each free buffer pool comprising plural identical size (hereafter called "buffer size") buffer storage areas, each succeeding free buffer pool of said series including a larger buffer size than a preceding free buffer pool of said series; b. associating a selection size parameter with each free buffer pool, said selection size parameter for a given free buffer pool being a value larger than said buffer size comprising said given free buffer pool, but less than a next larger buffer size comprising a further one of said series of free buffer pools; and c. responding to a request for allocation of buffer space by i. allocating a buffer from a free buffer pool whose selection size parameter is a larger value, among selection size parameters, than said buffer space that was requested; ii. determining a difference between and the allocated buffer size and the requested buffer space to find an unfulfilled amount of said requested buffer space; and iii. allocating a buffer from a free buffer pool whose selection size parameter is a larger value, among selection size parameters, than said unfulfilled amount; and iv. repeating steps ii and iii until step ii determines that no unfulfilled amount remains of said requested buffer space.
Claim 3
Dependent Claim
32 words
The method as recited in claim 1, wherein said buffer size of a free buffer pool is double a buffer size of a free buffer pool that just precedes in said series.
Claim 4
Dependent Claim
41 words
The method as recited in claim 1, wherein each said selection size parameter is the sum of the buffer size of the associated free buffer pool and the buffer size of a free buffer pool that just precedes in said series.
Claim 5
Dependent Claim
54 words
The method as recited in claim 1, wherein each buffer is provided with an associated buffer control block (BCB) data structure and each of steps (a)-(c) is performed employing a BCB, each BCB including a pointer to a next BCB, a buffer address and a size value of a buffer at said buffer address.
Claim 6
Dependent Claim
23 words
The method as recited in claim 1, wherein step (a) is performed in advance of receipt of a request for a buffer allocation.
Claim 7
Dependent Claim
52 words
The method as recited in claim 1, further comprising the step of: d. for each free buffer pool, maintaining track of remaining unallocated buffer space and when a low level threshold of said unallocated buffer space is reached for a free buffer pool, allocating additional buffer space to said free buffer pool.
Claim 8
Dependent Claim
285 words
Apparatus for dynamically allocating memory, comprising: a processor; a free buffer pool memory; control memory storing buffer control block (BCB) data structures which enable segmentation of said free buffer pool memory into a series of free buffer pools, each free buffer pool comprising plural buffers of identical size (hereafter called "buffer size"), each succeeding free buffer pool of said series including a larger buffer size than a preceding free buffer pool of said series; memory means for storing a selection size parameter in association with each free buffer pool, said selection size parameter for a given free buffer pool being a value larger than said buffer size comprising said given free buffer pool, but less than a next larger buffer size comprising a further one of said series of free buffer pools; and a memory allocation procedure stored in said control memory and operational in combination with said processor, said BCB data structures and selection size parameters to respond to a request from an executing procedure for allocation of buffer space by: i. allocating a buffer from a free buffer pool in said free buffer pool memory whose associated selection size parameter is a larger value, among selection size parameters, than said buffer space that was requested; ii. determining a difference between the allocated buffer size and the requested buffer space to find an unfulfilled amount of said requested buffer space; iii. allocating a buffer from a free buffer pool in said free buffer pool memory whose selection size parameter is a larger value, among selection size parameters, than said unfulfilled amount; and iv. repeating ii and iii until said memory allocation procedure determines that there is no unfulfilled amount of said requested buffer space.
Claim 9
Dependent Claim
285 words
Apparatus for dynamically allocating memory, comprising: a processor; a free buffer pool memory; control memory storing buffer control block (BCB) data structures which enable segmentation of said free buffer pool memory into a series of free buffer pools, each free buffer pool comprising plural buffers of identical size (hereafter called "buffer size"), each succeeding free buffer pool of said series including a larger buffer size than a preceding free buffer pool of said series; memory means for storing a selection size parameter in association with each free buffer pool, said selection size parameter for a given free buffer pool being a value larger than said buffer size comprising said given free buffer pool, but less than a next larger buffer size comprising a further one of said series of free buffer pools; and a memory allocation procedure stored in said control memory and operational in combination with said processor, said BCB data structures and selection size parameters to respond to a request from an executing procedure for allocation of buffer space by: i. allocating a buffer from a free buffer pool in said free buffer pool memory whose associated selection size parameter is a larger value, among selection size parameters, than said buffer space that was requested; ii. determining a difference between the allocated buffer size and the requested buffer space to find an unfulfilled amount of said requested buffer space; iii. allocating a buffer from a free buffer pool in said free buffer pool memory whose selection size parameter is a larger value, among selection size parameters, than said unfulfilled amount; and iv. repeating ii and iii until said memory allocation procedure determines that there is no unfulfilled amount of said requested buffer space.
Claim 10
Dependent Claim
59 words
The apparatus as recited in claim 7, wherein each buffer is provided with an associated BCB data structure, each BCB including a pointer to a next BCB, a buffer address, a size value of a buffer at said buffer address, a plurality of said BCBs comprising a data structure which enables said segmentation of said free buffer pool memory.
Claim 11
Dependent Claim
47 words
The apparatus as recited in claim 8, further comprising: means associated with each free buffer pool for enabling said processor to determine when non-allocated buffer space in said free buffer pool has reached a low level threshold so as to enable a replenishment of said buffer space.
Claim 12
Dependent Claim
110 words
The apparatus as recited in claim 7, further comprising: a first quickcell memory having a storage capacity to store plural quickcells, each of said plural quickcells being an area of storage of identical size, each quickcell including a pointer to an address of a next linked quickcell; a quickcell register indicating an address of a next unallocated quickcell in said first quickcell memory; and said memory allocation procedure responding to a memory allocation request, by (i) allocating said next unallocated quickcell in accord with said address stored in said quickcell register and (ii) updating said address in said quickcell register in accord with said pointer in a just allocated quickcell.
Claim 13
Dependent Claim
50 words
The apparatus as recited in claim 10, further comprising: plural additional quickcell memories and associated quickcell registers, each additional quickcell memory having a storage capacity to store plural quickcells, each of said plural quickcells being an area of storage of identical size, each quickcell memory having a different size quickcell.