Object oriented program memory management system and method...

Electrical computers and digital processing systems: memory – Storage accessing and control – Memory configuring

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S171000, C711S172000, C711S129000

Reexamination Certificate

active

06275916

ABSTRACT:

TECHNICAL FIELD OF THE INVENTION
The present invention relates in general to the field of computer programming. More particularly, the invention relates to a system and method for managing memory in object oriented programs in which objects are allocated and deallocated from fixed size memory pools rather than from the heap.
BACKGROUND OF THE INVENTION
Object oriented programming is a powerful programming tool. An object oriented program is one that has as its basic foundation a set of building blocks called objects, each of which is a representation or abstraction of a physical element or a logical concept. An object is defined by a set of data that represents specific attributes or properties of the object, and a set of functions or methods that can be performed on or by the object. Each object can receive messages instructing it to perform a particular function, or send such messages to other objects. Objects are reusable, and can also be called on by a variety of different application programs.
Objects must reside in memory, and each time an object is created by an application program memory must be allocated to store that object. In known objected oriented programs, memory is allocated form a common pool of free memory that is available to all application programs, commonly known as the heap. Although the act of allocating memory itself is a relatively simple task if memory is available, continued allocation of memory for new objects without also deallocating memory for objects that are no longer being used will slowly deplete the available memory space. This slow depletion of memory is referred to as a “memory leak”, and is a common problem in current object oriented programs. Further, known object oriented programs also continue to create new objects while the application program is running without keeping track of the availability of memory space in the heap. Consequently, any memory leaks may reach a critical point at any time. The obvious consequences of this are program or system failure, and loss of data. Thus, memory allocation and deallocation in object oriented programming, otherwise known as memory management, is of great concern and has traditionally been extremely problematic.
Memory management concerns have previously been addressed by various types of products or programs that manage the deletion of objects, such as well known garbage collection products. Although somewhat effective in reducing the danger of memory leaks, allocation of objects from the heap still proceeds during program execution without any feedback regarding available memory. Thus, it is always possible that insufficient memory will result in program or system failure. Accordingly, programs that manage the deletion of objects do not address a fundamental problem; that in known object oriented programs memory allocation occurs continuously and in ignorance of the state of available memory. Thus, it can never be guaranteed that sufficient memory will be available for the duration of the running time of the application program.
SUMMARY OF THE INVENTION
Accordingly, a need currently exists for a system and method of managing memory in object oriented programs that will ensure that adequate memory will be available at all times throughout program operation so as to avoid program failure and eliminate the problems associated with memory leaks.
In accordance with the present invention, a method is provided for managing memory in an object oriented program that is capable of using a plurality of fixed pool classes and a plurality of objects of those classes. The method includes the steps of constructing a plurality of memory pools each of a predetermined fixed size, where each of the fixed pool classes is associated with one of the plurality of memory pools; and instantiating a new object belonging to a selected one of the fixed pool classes, the instantiating step including the step of allocating memory for the new object from the associated memory pool. Further, when an object of a fixed pool class is deleted, memory is deallocated to the associated memory pool.
Further, in accordance with the present invention a system for managing memory in an object oriented program operating on a computer system is also provided comprising a memory pool class, and a plurality of fixed pool subclasses of the memory pool class, where the object oriented program is capable of using and instantiating objects belonging to the subclasses. The system further includes a plurality of memory pools each of a predetermined fixed size, where each of the plurality of fixed pool subclasses has one of the plurality of memory pools associated therewith, and where the memory for the objects of a selected subclass that are instantiated by the object oriented program is allocated from the associated memory pool. Likewise, when objects of the subclasses are deleted, memory is deallocated to the associated memory pools.


REFERENCES:
patent: 5241673 (1993-08-01), Schelvis
patent: 5680573 (1997-10-01), Rubin et al.
patent: 5687370 (1997-11-01), Garst et al.
patent: 5937434 (1999-08-01), Hasbun et al.
patent: 0633531 (1995-01-01), None
Cunha, et al., “The Architecture of a Memory Management Unit for Object-Oriented Systems”, Computer Architecture News, vol. 19, No. 4, Jun. 1, 1991, pp. 109-116.
S. E. Keene, “Creating and Initializing Instances”, Addison-Wesley Pub. Co., May 1989, pp. 155-163.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Object oriented program memory management system and method... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Object oriented program memory management system and method..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Object oriented program memory management system and method... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2509892

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.