IP Library Granted Patent US 8,639,904
Granted Patent B2
US 8,639,904 · App. 12/603,905 · Granted Jan 28, 2014

Method and system for managing heap across process replication

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 8,639,904
App. No.
12/603,905
Granted
Jan 28, 2014
Kind
B2
Abstract

A method and system for dynamically allocating memory, the method comprising maintaining a record of allocated memory that should be considered free in a child process, and designating as free any copy of memory identified by the record and created in a forking process.

Claims (23)

1. A method for dynamically allocating memory, comprising:

maintaining a record of memory allocated in a parent process that is considered free in a child process prior to the child process occurring; and

designating as fork-free any copy of memory identified by said record and created in a forking process.

2. A method for dynamically allocating memory, comprising:

defining a first memory allocation routine during a parent process for allocating memory a replication of which, when created in a forking process, is treated as allocated prior to the child process occurring; and

defining a second memory allocation routine during a parent process for allocating memory a replication of which, when created in a forking process, is treated as free prior to the child process occurring.

3. The method as claimed in claim 2 , comprising:

responding to said first memory allocation routine by allocating memory and, upon replication of said memory in a forking process to make a copy of said memory, treating said copy of said memory as allocated; and

responding to said second memory allocation routine by allocating memory and, upon replication of said memory in a forking process to make a copy of said memory, treating said copy of said memory as free.

4. A computing system, comprising:

an operating system configured to maintain a record of allocated memory during a parent process a copy of which is free in a child process prior to the child process occurring and to designate as fork-free any copy of said allocated memory identified by said record and created in a forking process.

5. A computing system, comprising:

a first memory allocation routine created during a parent process for allocating memory a copy of which is treated as allocated in any child process prior to the child process occurring; and

a second memory allocation routine created during a parent process for allocating memory a copy of which is treated as free in any child process prior to the child process occurring;

wherein said system is configured to respond to said first memory allocation routine in a parent process by allocating memory and, upon replication of said allocated memory in a forking process, treating a resulting copy of said allocated memory as allocated in a child process of said parent process and to respond to said second memory allocation routine in a parent process by allocating memory and, upon replication of said allocated memory in a forking process, treating a resulting copy of said allocated memory as free in a child process of said parent process.

6. The system as claimed in claim 5 , including a memory allocation routine comprising said first memory allocation routine and said second memory allocation routine.

7. An operating system, comprising:

a first memory allocation routine created during a parent process for allocating memory a copy of which is treated as allocated in any child process prior to the child process occurring; and

a second memory allocation routine created during a parent process for allocating memory a copy of which is treated as free in any child process prior to the child process occurring;

wherein said first memory allocation routine is configured when invoked in a parent process to allocate memory and, upon replication of said allocated memory in a forking process, to treat a resulting copy of said allocated memory as allocated in any child process of said parent process and said second memory allocation routine is configured when invoked in a parent process to allocate memory and, upon replication of said allocated memory in a forking process, to treat a resulting copy of said allocated memory as free in any child process of said parent process.

8. The operating system as claimed in claim 7 , including a memory allocation routine comprising said first memory allocation routine and said second memory allocation routine.

9. A non-transitory computer readable medium provided with program data that, when executed on a computing system, implements the method of claim 1 .

10. A non-transitory computer readable medium provided with program data that, when executed on a computing system, implements the method of claim 2 .

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2021
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 057650/0537 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2010
From: JONNALA, UDAY KIRAN; THEKKEMURIYIL, DILEEP PRABHAKARAN
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 023833/0891 →