Cooperative memory management
First Claim
1. A machine readable non-transient storage medium having instructions therein, which when executed by a machine, causes the machine to perform a method comprising:
- receiving notifications from applications running in a data processing system, each notification from one of the applications specifying capabilities of application specific memory management in the one of the applications;
determining one or more measures of memory usage for the applications, the capabilities indicating at least one of the measures for the one of the applications;
sorting the applications into one or more groups, each group including at least one of the applications sorted according to one of the measures;
selecting one or more of the applications to reduce memory usage according to the capabilities received if a status of the memory usage indicates lack of available memory;
selecting at least one of the groups, wherein the selected groups include the selected applications; and
performing operations for application specific memory management to increase the available memory;
wherein the capabilities include an amount of memory guaranteed to be freed by the one of the applications,wherein one of the measures corresponds to the amount of memory guaranteed to be freed by the one of the applications,wherein one of the selected groups of applications are sorted according to the one of the measures, andwherein at least one of the selected applications is associated with a largest amount of memory guaranteed to be freed sorted in the one of the selected groups of applications.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and an apparatus for selecting one or more applications running in a data processing system to reduce memory usage according to information received from the applications are described. Notifications specifying the information including application specific memory management capabilities may be received from the applications. A status of memory usage indicating lack of available memory may be determined to notify the selected applications. Accordingly, the notified applications may perform operations for application specific memory management to increase available memory.
-
Citations
17 Claims
-
1. A machine readable non-transient storage medium having instructions therein, which when executed by a machine, causes the machine to perform a method comprising:
-
receiving notifications from applications running in a data processing system, each notification from one of the applications specifying capabilities of application specific memory management in the one of the applications; determining one or more measures of memory usage for the applications, the capabilities indicating at least one of the measures for the one of the applications; sorting the applications into one or more groups, each group including at least one of the applications sorted according to one of the measures; selecting one or more of the applications to reduce memory usage according to the capabilities received if a status of the memory usage indicates lack of available memory; selecting at least one of the groups, wherein the selected groups include the selected applications; and performing operations for application specific memory management to increase the available memory; wherein the capabilities include an amount of memory guaranteed to be freed by the one of the applications, wherein one of the measures corresponds to the amount of memory guaranteed to be freed by the one of the applications, wherein one of the selected groups of applications are sorted according to the one of the measures, and wherein at least one of the selected applications is associated with a largest amount of memory guaranteed to be freed sorted in the one of the selected groups of applications. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 16)
-
-
11. A computer implemented method, comprising
receiving notifications from applications running in a data processing system, each notification from one of the applications specifying capabilities of application specific memory management in the one of the applications; -
determining one or more measures of memory usage for the applications, the capabilities indicating at least one of the measures for the one of the applications; sorting the applications into one or more groups, each group including at least one of the applications sorted according to one of the measures; selecting at least one of the groups selecting one or more of the applications to reduce the memory usage according to the capabilities received if a status of the memory usage indicates lack of available memory, wherein the selected groups include the selected applications; and performing operations for application specific memory management to increase the available memory; wherein the capabilities include an amount of memory guaranteed to be freed by the one of the applications, wherein one of the measures corresponds to the amount of memory guaranteed to be freed by the one of the applications, wherein one of the selected groups of applications are sorted according to the one of the measures and wherein at least one of the selected applications is associated with a largest amount of memory guaranteed to be freed sorted in the one of the selected groups of applications.
-
-
12. A computer implemented method, comprising
receiving notifications from applications running in a data processing system, each notification from one of the applications specifying capabilities of application specific memory management in the one of the applications; -
determining one or more measures of memory usage for the applications, the capabilities indicating at least one of the measures for the one of the applications; sorting the applications into one or more groups, each group including at least one of the applications sorted according to one of the measures; selecting one or more of the applications to reduce the memory usage according to the capabilities received if a status of the memory usage indicates lack of available memory; selecting at least one of the groups, wherein the selected groups include the selected applications; and performing operations for application specific memory management to increase the available memory, wherein each of the applications are linked with a common library for memory allocation, wherein one of the measures corresponds to an amount of memory allocated via the common library for each of the applications, wherein one of the selected groups of applications are sorted according to the one of the measures and wherein at least one of the selected applications is associated with a largest amount of memory allocated via the common library sorted in the one of the selected groups of applications.
-
-
17. A machine readable non-transient storage medium having instructions therein, which when executed by a machine, causes the machine to perform a method comprising
receiving notifications from applications running in a data processing system, each notification from one of the applications specifying capabilities of application specific memory management in the one of the applications; -
determining one or more measures of memory usage for the applications, the capabilities indicating at least one of the measures for the one of the applications; sorting the applications into one or more groups, each group including at least one of the applications sorted according to one of the measures; selecting one or more of the applications to reduce the memory usage according to the capabilities received if a status of the memory usage indicates lack of available memory; selecting at least one of the groups, wherein the selected groups include the selected applications; and performing operations for application specific memory management to increase the available memory, wherein each of the applications are linked with a common library for memory allocation, wherein one of the measures corresponds to an amount of memory allocated via the common library for each of the applications, wherein one of the selected groups of applications are sorted according to the one of the measures and wherein at least one of the selected applications is associated with a largest amount of memory allocated via the common library sorted in the one of the selected groups of applications.
-
Specification