Memory balancing and optimization services
AssigneeInternational Business Machines Corporation
InventorsGary Valentin, Paul M. Bird, Matthew A. Huras, Xun Xue
Life of this patent
Estimating the term…
Loading patent…
AssigneeInternational Business Machines Corporation
InventorsGary Valentin, Paul M. Bird, Matthew A. Huras, Xun Xue
Estimating the term…
Memory balancing and optimization services (MBOS) control a size of a plurality of memory heaps, and a memory optimizer for allocating and de-allocating memory for a plurality of respective memory consumers. The MBOS may be instantiated within an application program such as a database management system providing services to memory consumers within the application. Alternatively, the MBOS may be instantiated within an operating system for providing services to memory consumers that are applications such as database management systems, e-commerce engines, operating systems, customer relationship management (CRM), enterprise resource planning (ERP), or supply chain management (SCM). Alternatively, an MBOS is instantiated within the operating system to provide services to applications and an MBOS is instantiated within each application to provide services to memory consumers within the application.
A system for balancing and optimizing memory allocation in a computer system that supports a plurality of memory consumers, comprising:
A computer system having a system memory, an operating system that executes within the system memory and a plurality of memory consumers that compete for use of the system memory, comprising:
A method of balancing and optimizing memory allocation in a computer system having an operating system, system memory and a plurality of memory consumers that compete for use of the system memory, comprising computer-implemented steps of:
A computer-readable medium storing program instructions for:
A method of balancing and optimizing memory allocation in a computer system having an operating system, system memory and a plurality of memory consumers that compete for use of the system memory, comprising computer-implemented steps of:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Backward citations are indexed for grants only.
The resources being hardware resources other than CPUs, Servers and Terminals: the resource being the memory
Computing and data processing
Term end not estimated
This is the first application filed for the present invention.
The present invention relates to improved memory management in a computing environment and, in particular, to inter-application and intra-application services for memory usage balancing and optimization.
In a computer system, large applications use memory in many different ways. They include sorting, caching prior work, scratch pad computations, concurrency control information, data caching, etc. Any of these requirements for memory may exceed a computer system's available memory capacity. Furthermore, memory usage is not static or generally optimized. Requirements and priorities among applications that consume memory change over time. One component of an application may benefit more from available memory than another component. Similarly, one application may hoard memory or benefit more from available memory than another.
Further features and advantages of the present invention will become apparent from the following detailed description, taken in combination with the appended drawings, in which:
FIG. 1 is a block diagram of a computer system, network and client;
FIG. 2 is a block diagram of an embodiment of the invention;
It will be noted that throughout the appended drawings, like features are identified by like reference numerals.
The invention provides a system for balancing and optimizing memory allocation in a computer system that supports a plurality of memory consumers. The system includes a centralized control function, referred to as a Memory Balancing and Optimization System (MBOS). The MBOS is adapted to serve memory reconfiguration requests received from any one of: selected ones of the memory consumers, a memory optimizer, and a system administrator. A callback function is are associated with a memory heap used by each of the selected ones of the memory consumers. The callback function is adapted to increase or reduce memory in the memory heap associated with the memory consumer, under control of the MBOS.
FIG. 1 is a block diagram 100 of a prior art computer system 102 connected to a network 118. A plurality of client computers 120 (only one of which is shown) are connected via links 130 to the network 118 in a manner well known in the art. The computer system 102 has a memory 104 such as semiconductor random access memory (RAM), flash memory, or the like. An operating system (OS) 106 such as AIX, Linux, OS X, Windows 2000, Windows XP or the like resides in the memory 104. A plurality of applications (only one shown) such as a database manager 108, web-server application server, e-commerce engine, customer relationship management (CRM), enterprise resource planning (ERP), or supply chain management (SCM) software are communicatively coupled by an interface 124 to the operating system 106. The database manager 108 stores and retrieves data 110 stored in the memory 104 using an interface 126 and communicates with the OS 106 via the interface 124 to access data 114 stored on a non-volatile medium such as a hard disk 115. The OS 106 retrieves the data 114 via a bus 122 in a manner well known in the art. The computer system 102 is connected to a network 118 by a link 128, also in a manner well known in the art.