IP Library Granted Patent US 7,308,466
Granted Patent B2
US 7,308,466 · App. 10/264,904 · Granted Dec 11, 2007

Memory reclamation method

Assignee: Koninklijke Philips Electronics N.V.
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 7,308,466
App. No.
10/264,904
Granted
Dec 11, 2007
Kind
B2
Abstract

A method of reclaiming memory space allocated to a data structure comprising data objects ( 910 - 960 ) linked by identifying pointers, in which the memory allocated to data objects is reclaimed using two systems: a first system ( 980 ), by which a selected part of the data structure is traversed by following the pointers, one of at least two identifiers being allocated to the data objects, a first identifier which indicates that the data object has been traversed so that the data objects referenced by the pointers of that data object have been identified, and a second identifier which indicates that the data object is referenced by a pointer, but the data object has not yet been traversed; and a second system ( 990 ), by which an individual data object is selected for deletion to enable the associated memory space to be reclaimed. The second system ( 990 ) reads the first system identifier for the individual data object, and if the first identifier is present deletes the data object thereby reclaiming the associated memory space. If the second identifier is present, it allocates a third identifier, where the first system ( 980 ) operates to reclaim the memory space allocated to data objects having the third identifier.

Claims (16)

1. A program stored on a machine readable medium for reclaiming memory space allocated to a data structure of data objects linked by identifying pointers, in which the memory allocated to data objects is reclaimed using two processes, the programming comprising:

a software portion of a first process under control of a processor, for traversing a selected part of the data structure by following the pointers,

allocating a first identifier which indicates that a data object has been traversed so that the data objects referenced by the pointers of that data object have been identified,

allocating a second identifier which indicates that a given data object is referenced by a pointer, but the given data object has not yet been traversed, and

reclaiming the memory space allocated to any data objects having a third identifier; and

a software portion of a second process under control of a processor, for reading the identifier for individual data objects;

deleting the data object thereby reclaiming the associated memory space if the first identifier is present;

allocating the third identifier if the second identifier is present.

2. The program of claim 1 , wherein the first process comprises an automatic garbage collection process.

3. The program of claim 2 , wherein the second process is another automatic garbage collection process.

4. The program of claim 1 , wherein the first process comprises the acts of reclaiming the memory space allocated to data objects having no identifier.

5. The program of claim 1 , wherein the deleting act comprises a manual deletion of data objects process.

6. The program of claim 1 , wherein the second process comprises a portion of a creating program of the objects when the objects are no longer needed.

7. The program of claim 1 , wherein the first process comprises the act of reclaiming memory space allocated to data objects referenced by pointers having the third identifier.

8. The program of claim 1 , wherein the second process is executing substantially independent of the first process.

9. The program of claim 1 , wherein the second process is executing substantially in parallel with the first process.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2018
From: UNILOC LUXEMBOURG S.A.
To: UNILOC 2017 LLC
Reel/Frame 046532/0088 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2012
From: IPG ELECTRONICS 503 LIMITED
To: PENDRAGON WIRELESS LLC
Reel/Frame 028594/0224 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2009
From: KONINKLIJKE PHILIPS ELECTRONICS N.V.
To: IPG ELECTRONICS 503 LIMITED
Reel/Frame 022203/0791 →
Priority Claims (1)
GB 9906629.2 · Mar 23, 1999 · national
Continuity (2)
Continuation 0953348500 · Mar 23, 2000
Related Publication 20030033320A1 · Feb 13, 2003