IP Library Granted Patent US 10,528,460
Granted Patent B2
US 10,528,460 · App. 16/014,491 · Granted Jan 7, 2020

Assigning costs based on computer memory usage

Inventor: Arun Iyengar (Yorktown Heights, NY)
Assignee: International Business Machines Corporation
G06F12/0238G06F3/061G06F3/0604G06F3/0631G06F3/0632G06F3/0653G06F3/0673G06F3/0683G06F9/5016G06F12/02G06F12/023G06F11/3037G06F12/0871G06F2212/1016G06F2212/1041G06F2212/6042
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 10,528,460
App. No.
16/014,491
Granted
Jan 7, 2020
Kind
B2
Abstract

An information processing system, computer readable storage medium, and a method for managing computer memory. The method includes initializing at least one memory allocator within a computing system; deploying the at least one memory allocator on a multi-user or cloud system where users are charged a monetary fee based on consumption of at least one memory resource; determining, by the at least one memory allocator, a consumption of the at least one memory resource; determining a cost associated with the consumption that has been determined; and determining a monetary fee to charge the user based on the cost that has been determined.

Claims (47)

1. A method for managing computer memory, the method comprising:

initializing at least one memory allocator within a computing system;

deploying the at least one memory allocator on a multi-user or cloud system where users are charged a monetary fee based on consumption of an amount of memory of at least one memory resource;

determining, by the at least one memory allocator, a consumption of an amount of memory of the at least one memory resource;

determining a cost associated with the consumption that has been determined;

determining a monetary fee to charge the user based on the cost that has been determined; and

initializing a first memory allocator and a second memory allocator which are each customizable to efficiently handle different memory request size distributions, wherein to efficiently handle memory request size distributions comprises using special free lists tailored to store free blocks of a plurality of particular sizes of the memory request size distributions, the free blocks are allocated from the special free lists to handle memory requests.

2. The method of claim 1 , further comprising:

customizing the first memory allocator to efficiently handle a first memory request size distribution determined by the computing system; and

customizing the second memory allocator to efficiently handle a second memory request size distribution determined by the computing system, the second memory request size distribution being different from the first memory request size distribution.

3. The method of claim 2 , further comprising:

deploying the first memory allocator and the second memory allocator in support of at least one application, the deploying improving at least one of performance and memory utilization of the at least one application.

4. The method of claim 1 , further comprising: backing up a main memory object in a persistent storage.

5. The method of claim 4 , wherein the backing up is performed after a value associated with the main memory object has changed.

6. The method of claim 4 , wherein the backing up is performed in response to determining that a version of the main memory object stored within the persistent storage has been obsolete for a time period exceeding a threshold.

7. The method of claim 4 , wherein the backing up is performed in response to a number of updates to the main memory object, since a most recent version of the main memory object was stored in the persistent storage, exceeding a threshold.

8. An information processing system comprising:

an intelligent memory manager comprising at least one memory allocator;

a memory; and

a processor communicatively coupled to the memory and to the intelligent memory manager, wherein the processor, responsive to executing computer instructions, performs operations comprising:

initializing the at least one memory allocator;

initializing a first memory allocator and a second memory allocator which are each customizable to efficiently handle different memory request size distributions, wherein to efficiently handle memory request size distributions comprises using special free lists tailored to store free blocks of a plurality of particular sizes of the memory request size distributions, the free blocks are allocated from the special free lists to handle memory requests;

deploying the at least one memory allocator on a multi-user or cloud system where users are charged a monetary fee based on consumption of at least one memory resource;

determining, by the at least one memory allocator, a consumption of the at least one memory resource;

determining a cost associated with the consumption that has been determined; and

determining a monetary fee to charge the user based on the cost that has been determined.

9. The information processing system of claim 8 , wherein the processor, responsive to executing the computer instructions, performs operations comprising:

restricting a number of memory resources available to the user based on the cost that has been determined.

10. The information processing system of claim 8 , wherein the processor, responsive to executing the computer instructions, performs operations comprising:

determining a cost associated with the consumption that has been determined by assigning the cost based on a time period when the consumption occurred.

11. The information processing system of claim 8 , wherein the processor, responsive to executing the computer instructions, performs operations comprising:

determining a cost associated with the consumption that has been determined by assigning the cost based on whether the user is above or below a consumption threshold.

12. A computer readable storage medium, comprising computer instructions which, responsive to being executed by a processor cause the processor to perform operations, the processor being in an information processing system comprised of a memory communicatively coupled with the processor, and an intelligent memory manager comprising at least one memory allocator, and wherein the processor, responsive to executing the computer instructions, performs operations comprising:

initializing, with the intelligent memory manager, the at least one memory allocator;

initializing a first memory allocator and a second memory allocator which are each customizable to efficiently handle different memory request size distributions, wherein to efficiently handle memory request size distributions comprises using special free lists tailored to store free blocks of a plurality of particular sizes of the memory request size distributions, the free blocks are allocated from the special free lists to handle memory requests;

deploying the at least one memory allocator on a multi-user or cloud system where users are charged a monetary fee based on consumption of at least one memory resource;

determining, by the at least one memory allocator, a consumption of the at least one memory resource;

determining a cost associated with the consumption that has been determined; and

determining a monetary fee to charge the user based on the cost that has been determined.

13. The computer readable storage medium of claim 12 , wherein the processor, responsive to executing the computer instructions, performs operations comprising:

restricting a number of memory resources available to the user based on the cost that has been determined.

14. The computer readable storage medium of claim 12 , wherein the processor, responsive to executing the computer instructions, performs operations comprising:

determining a cost associated with the consumption that has been determined by assigning the cost based on whether the user is above or below a consumption threshold.

15. The computer readable storage medium of claim 12 , wherein the processor, responsive to executing the computer instructions, performs operations comprising:

customizing the first memory allocator to efficiently handle a first memory request size distribution determined by the intelligent memory manager;

customizing the second memory allocator to efficiently handle a second memory request size distribution determined by the intelligent memory manager, the second memory request size distribution being different from the first memory request size distribution; and

backing up a main memory object in a persistent storage, the backing up being performed in response to determining by the intelligent memory manager that a version of the main memory object stored within the persistent storage has been obsolete for a time period exceeding a threshold.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2018
From: IYENGAR, ARUN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 046165/0325 →
Continuity (5)
Continuation 15343437 · Nov 4, 2016
Division 14924813 · Oct 28, 2015
Division 13612238 · Sep 12, 2012
Continuation 12887964 · Sep 22, 2010
Related Publication 20180300234A1 · Oct 18, 2018