Claims Analysis
Total Claims: 22
Claim 1
Independent Claim
287 words
A memory management system usable with a client, comprising: memory defining a memory space including at least one memory buffer, the memory buffer defined by a set of attributes including base address and size, the memory including a fixed-simple memory allocation, having a link, and one of: a. a relocatable simple memory allocation coupled with the link, b. a head of a complex memory allocation comprising multiple simple memory allocations, or c. a null simple memory allocation; a memory manager coupled with the memory and configured to manage specific instances of memory allocation usable by a client by implementing a generalized double indirection memory relocation model of datatypes; a memory management interface coupled with the memory manager and configurable to enable a client to specify a request for a relocatable memory object; processing circuitry coupled with the memory and the memory management interface and operative to detect a low memory condition; wherein the memory manager is operative to relocate the memory object from the one physical location in memory to another physical location in memory in generate a sufficiently large contiguous free memory block for the client so as to overcome the low memory condition; wherein the memory manager allocates a relocatable memory object via the double indirection memory relocation model comprising relocatable data-types as a four-tuple (x, y, z, f), such that: x gives the size of a header-structure that describes a data-section; y gives an offset to a data-pointer element of the header-structure; z gives an offset from a base of the data-section that the datapointer must address; and f gives an entry point for moving the one of the relocatable simple-allocation, the head of the complex memory allocation, and the null simple memory allocation.
Claim 2
Dependent Claim
287 words
A memory management system usable with a client, comprising: memory defining a memory space including at least one memory buffer, the memory buffer defined by a set of attributes including base address and size, the memory including a fixed-simple memory allocation, having a link, and one of: a. a relocatable simple memory allocation coupled with the link, b. a head of a complex memory allocation comprising multiple simple memory allocations, or c. a null simple memory allocation; a memory manager coupled with the memory and configured to manage specific instances of memory allocation usable by a client by implementing a generalized double indirection memory relocation model of datatypes; a memory management interface coupled with the memory manager and configurable to enable a client to specify a request for a relocatable memory object; processing circuitry coupled with the memory and the memory management interface and operative to detect a low memory condition; wherein the memory manager is operative to relocate the memory object from the one physical location in memory to another physical location in memory in generate a sufficiently large contiguous free memory block for the client so as to overcome the low memory condition; wherein the memory manager allocates a relocatable memory object via the double indirection memory relocation model comprising relocatable data-types as a four-tuple (x, y, z, f), such that: x gives the size of a header-structure that describes a data-section; y gives an offset to a data-pointer element of the header-structure; z gives an offset from a base of the data-section that the datapointer must address; and f gives an entry point for moving the one of the relocatable simple-allocation, the head of the complex memory allocation, and the null simple memory allocation.
Claim 3
Dependent Claim
18 words
The memory management system of claim 1 wherein the link of the fixed-simple memory allocation comprises a pointer.
Claim 4
Dependent Claim
16 words
The memory management system of claim 1 wherein the memory manager allocates a non-relocatable memory object.
Claim 5
Dependent Claim
35 words
The memory management system of claim 1 wherein the memory manager is configured to allocate a memory object, and wherein the memory manager is operative to assign and allocate a fit for the memory object.
Claim 6
Dependent Claim
42 words
The memory management system of claim 1 wherein the memory manager is configured to allocate memory objects, and wherein the memory manager is operative to move memory objects to different locations in memory in order to coalesce a free block of memory.
Claim 7
Dependent Claim
18 words
The memory management system of claim 1 wherein the memory manager is configured to identify relocatable memory objects.
Claim 8
Dependent Claim
20 words
The memory management system of claim 1 wherein the memory manager is operative to move the identified relocatable memory objects.
Claim 9
Dependent Claim
24 words
The memory management system of claim 1 further comprising a print engine, the memory manager operative to relocate memory objects to receive print jobs.
Claim 10
Independent Claim
164 words
A method for relocating memory, comprising: providing a memory; allocating a memory object, either relocatable or non-relocatable, using a generalized double indirection memory relocation model of data-types; requesting an allocation of memory; assigning a fit for the memory object, followed by allocating a fit for the memory object; determining of the allocation from free memory can be satisfied; and if the allocation from free memory can be satisfied, then moving memory objects to different places in memory to get a sufficiently big free block of memory; wherein allocating the relocatable memory object via the double indirection memory relocation model comprising relocatable data-types as a four-tuple (x, y, z, f), such that: x gives a size of a header-structure that describes a data-structure; z gives an offset from a base of the data-section that the datapointer must address; and f gives an entry point for moving the one of the relocatable simple-allocation, a head of a complex memory allocation, and a null simple memory allocation.
Claim 11
Independent Claim
164 words
A method for relocating memory, comprising: providing a memory; allocating a memory object, either relocatable or non-relocatable, using a generalized double indirection memory relocation model of data-types; requesting an allocation of memory; assigning a fit for the memory object, followed by allocating a fit for the memory object; determining of the allocation from free memory can be satisfied; and if the allocation from free memory can be satisfied, then moving memory objects to different places in memory to get a sufficiently big free block of memory; wherein allocating the relocatable memory object via the double indirection memory relocation model comprising relocatable data-types as a four-tuple (x, y, z, f), such that: x gives a size of a header-structure that describes a data-structure; z gives an offset from a base of the data-section that the datapointer must address; and f gives an entry point for moving the one of the relocatable simple-allocation, a head of a complex memory allocation, and a null simple memory allocation.
Claim 12
Dependent Claim
14 words
The method of claim 9 wherein the memory manager allocates a relocatable memory object.
Claim 13
Dependent Claim
14 words
The method of claim 9 wherein the memory manager allocates a non-relocatable memory object.
Claim 14
Dependent Claim
24 words
The method of claim 9 wherein the step of moving memory objects to different places in memory comprises coalescing a free block of memory.
Claim 15
Dependent Claim
21 words
The method of claim 9 wherein the steps of assigning a fit and allocating a fit cooperate to generate a fit.
Claim 16
Dependent Claim
21 words
The method of claim 9 wherein the step of moving memory objects comprises relocating memory objects to receive a print job.
Claim 17
Independent Claim
173 words
A method for relocating memory for relocating memory, comprising: allocating a memory object using a generalized double indirection memory relocation model of data-types; requesting an allocation of memory from the memory; generating a fit for the memory object within the requested allocation of memory; determining if the allocation of memory can be satisfied from the existing free memory; and if the allocation from free memory can be satisfied, then moving memory objects to different places in memory to coalesce a free block of memory; wherein allocating a relocatable memory object via the double indirection memory relocation model comprising relocatable data-types as a four-tuple (x, y, z, f), such that: x gives a size of a header-structure that describes a data-section; y gives an offset to a data-pointer element of the header-structure; z gives an offset from a base of the data-section that a datapointer must address; and f gives an entry point for moving the one of the relocatable simple-allocation, a head of a complex memory allocation, and a null simple memory allocation.
Claim 18
Independent Claim
173 words
A method for relocating memory for relocating memory, comprising: allocating a memory object using a generalized double indirection memory relocation model of data-types; requesting an allocation of memory from the memory; generating a fit for the memory object within the requested allocation of memory; determining if the allocation of memory can be satisfied from the existing free memory; and if the allocation from free memory can be satisfied, then moving memory objects to different places in memory to coalesce a free block of memory; wherein allocating a relocatable memory object via the double indirection memory relocation model comprising relocatable data-types as a four-tuple (x, y, z, f), such that: x gives a size of a header-structure that describes a data-section; y gives an offset to a data-pointer element of the header-structure; z gives an offset from a base of the data-section that a datapointer must address; and f gives an entry point for moving the one of the relocatable simple-allocation, a head of a complex memory allocation, and a null simple memory allocation.
Claim 19
Dependent Claim
21 words
The method of claim 15 wherein the coalesced free block of memory is sufficient to meet the requested allocation of memory.
Claim 20
Dependent Claim
12 words
The method of claim 15 wherein the allocated memory object is relocatable.
Claim 21
Dependent Claim
12 words
The method of claim 15 wherein the allocated memory object is non-relocatable.
Claim 22
Dependent Claim
32 words
The method of claim 15 wherein the step of generating a fit for the memory object comprises assigning a fit for the memory object, then allocating a fit for the memory object.