IP Library Granted Patent US 7,991,976
Granted Patent B2
US 7,991,976 · App. 12/142,291 · Granted Aug 2, 2011

Permanent pool memory management method and system

Assignee: Computer Associates Think, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,991,976
App. No.
12/142,291
Granted
Aug 2, 2011
Kind
B2
Abstract

A method, system, and computer program manager for a computing system memory in the operation of a computing process. At least one memory segment provides memory resources for the computing process, which includes a plurality of memory objects, each of the memory objects includes an equal number of bytes and has a predetermined order that associates the address of the memory object in the memory segment to the addresses of the remainder of the plurality of memory objects. A pointer identifies a first memory object from the plurality of memory objects. The first memory object occupies a first ordered position according to the predetermined order. The process allocates the first memory objects from the memory segment during the operation of the computing process. The pointer increments to a second memory object having a second ordered position relative to the first memory object. The process continues the allocating and incrementing steps on subsequently ordered memory objects within the memory segment as required by the computing process. The process deconstructs the at least one memory segment only upon the completion of the computing process.

Claims (29)

1. A method for managing a computing system memory device in the operation of a computing process, comprising the steps of:

constructing a memory segment for providing memory resources for the computing process, said memory segment comprising a plurality of memory objects, each of said memory objects comprising a predetermined number of bytes and having a successive order relating to the memory address of each of said plurality of memory objects;

reserving an allocation of said memory objects for the lifetime of the computing process;

constructing a pointer identifying a first memory object from said plurality of memory objects, said first memory object having a first ordered position according to said successive order;

allocating said first memory object from said memory segment during the operation of the computing process;

incrementing said pointer to a second memory object, said second memory object having second successively ordered position relative to said first memory object;

continuing said allocating step and said incrementing step on subsequently ordered memory objects of said memory segment as required by said computing process;

accessing said memory segment without the use of linked lists, tables or headers; and

deconstructing said at least one memory segment only upon said computing process no longer requiring said memory resources.

2. The method of claim 1 , wherein said constructing step further comprises the step of constructing said memory segment to comprise said plurality of memory objects, each of said memory objects comprising an equal number of bytes and having a successive order relating to the memory address of each of said plurality of memory objects.

3. The method of claim 1 , wherein deconstructing further comprising comprises the step of resetting said memory segment by deleting all of said plurality of memory objects in a single operation.

4. The method of claim 1 , further comprising the step of enumerating each of said plurality of memory objects according to said successive order of each of said plurality of memory objects within said memory segment.

5. A non-transitory media device comprising a system for managing a computing system memory device in the operation of a computing process, said media device comprising:

instructions stored thereon for constructing a memory segment for providing memory resources for the computing process, said memory segment comprising a plurality of memory objects, each of said memory objects comprising a predetermined number of bytes and having a successive order relating to the memory address of each of said plurality of memory objects;

instructions stored thereon for reserving allocation of said memory objects for the lifetime of the computing process;

instructions stored thereon for constructing a pointer identifying a first memory object from said plurality of memory objects, said first memory object having a first ordered position according to said successive order;

instructions stored thereon for allocating said first memory object from said memory segment during the operation of the computing process;

instructions stored thereon for incrementing said pointer to a second memory object, said second memory object having second successively ordered position relative to said first memory object;

instructions stored thereon for continuing said allocating step and said incrementing step on subsequently ordered memory objects of said memory segment as required by said computing process;

instructions stored thereon for accessing said memory segment without the use of linked lists, tables or headers; and

instructions stored thereon for deconstructing said at least one memory segment only upon said computing process no longer requiring said memory resources.

6. The media device of claim 5 , further comprising instructions for constructing said memory segment to comprise said plurality of memory objects, each of said memory objects comprising an equal number of bytes and having a successive order relating to the memory address of each of said plurality of memory objects.

7. The system media device of claim 5 , further comprising instructions for resetting said memory segment by deleting all of said plurality of memory objects in a single operation.

8. The non-transitory media device of claim 5 , further comprising instructions stored thereon for constructing a plurality of memory segments for traversing from a first one of said memory segments to a second one of said memory segments and in cooperation with each of said first and second one of said memory segments performing said pointer constructing, said memory object allocating, and said pointer incrementing steps for managing a computing system memory device in the operation of said computing process.

9. The non-transitory media device of claim 5 , further comprising instructions stored thereon for constructing said memory segment to comprise said plurality of memory objects without the use of a garbage collection process for managing said plurality of memory objects.

10. The non-transitory media device of claim 5 , further comprising instructions stored thereon for resetting said memory segment by deleting all of said plurality of memory objects in a single operation.

11. The non-transitory media device of claim 5 , further comprising instructions stored thereon for enumerating each of said plurality of memory objects according to said successive order of each of said plurality of memory objects within said memory segment.

12. The non-transitory media device of claim 5 , further comprising instructions stored thereon for managing said computing system memory device in association with an iterative computing process.

13. The non-transitory media device of claim 5 , further comprising instructions stored thereon for managing said computing system memory device in association with the formation and use of a hash table for organizing and accessing a predetermined data set.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2010
From: JORDAN, DAVID A.
To: NETQOS, INC.
Reel/Frame 024610/0169 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2010
From: NETQOS, INC.
To: COMPUTER ASSOCIATES THINK, INC.
Reel/Frame 024546/0286 →
Continuity (2)
Continuation 11057664 · Feb 14, 2005
Related Publication 20080250218A1 · Oct 9, 2008