Patent ID: 9442835
Filing Date: 2016-09-13
CPC Classification: G06F

Claim Text:
1. A computer-implemented method comprising: obtaining, by a memory suballocation application from an underlying memory allocation system, an allocation of a plurality of cell blocks from a heap portion of memory, wherein each of the cell blocks includes a plurality of equally-sized cells and a bitmap that indicates which of its plurality of cells are available, and wherein the plurality of cell blocks allocated to the memory suballocation application are managed by the memory suballocation application, and the heap portion of memory is managed by the underlying memory allocation system; receiving, from a requesting application, a request for dynamic allocation of a given amount of memory; determining if the given amount of memory exceeds a maximum cell size of the cells in a plurality of cell blocks allocated to the memory suballocation application; if the given amount of memory exceeds the maximum cell size, initiating a memory allocation via the underlying memory allocation system from the heap portion of memory for the given amount of memory that does not use any of the plurality of cell blocks; and if the given amount of memory does not exceed the maximum cell size: if the desired cell size does not exceed the maximum cell size and no cell of the desired cell size is available, obtaining, from the underlying memory allocation system, an additional cell block from the heap having equally-sized cells of the desired cell size for allocation to the requesting application.