IP Library Patent Application 11769867
Patent Application
App. No. 11/769,867

METHOD AND SYSTEM FOR GARBAGE COLLECTION OF NATIVE RESOURCES

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 None
App. No.
11/769,867
Abstract

A system and method for enabling automatic and fast garbage collection of native resources. Native code of mixed-language components is directed to perform dynamic allocation of native entities (such as objects, structures, etc.) through a Native Entity Factory (NEF) component instead of using low-level native language operators. Using the NEF component enables tracing dynamic native entity allocations, and driving a virtual machine garbage collector component based on native-heap activity.

Claims (52)

1 . A method comprising:

receiving a request to create an object in a native heap, the object associated with a managed component;

creating the object in the native heap;

maintaining an identifier for the object along with a priority indication; and

based on the priority indication, determining whether to scan the managed component for an indication that the managed component may be garbage collected.

2 . The method of claim 1 wherein the step of determining to scan the managed component includes periodically scanning the managed component.

3 . The method of claim 2 wherein the step of periodically scanning the managed component includes indicating to a garbage collector to periodically scan managed components.

4 . The method of claim 3 further including indicating to a garbage collector to stop periodically scanning managed components.

5 . The method of claim 3 further including:

after garbage collecting the managed component, determining whether to stop scanning managed components.

6 . The method of claim 1 wherein the priority indication indicates a priority for disposing of the object when it is no longer needed.

7 . The method of claim 1 wherein the priority indication is provided with the request to create the object.

8 . The method of claim 1 wherein when the managed component is garbage collected, the object in the native heap is disposed of.

9 . The method of claim 1 wherein determining whether to scan the managed component is also based on a size of the object.

10 . The method of claim 1 wherein the managed component is managed by a virtual machine.

11 . The method of claim 10 wherein the virtual machine is a Java Virtual Machine (JVM).

12 . Apparatus comprising:

a processor;

a memory, coupled to the processor, the memory including instructions, that, when provided to the processor cause the processor to carry out steps of:

receiving a request to create an object in a native heap in the memory, the object associated with a managed component;

creating the object in the native heap;

maintaining an identifier for the object along with a priority indication; and

based on the priority indication, determining whether to scan the managed component for an indication that the managed component may be garbage collected.

13 . The apparatus of claim 12 wherein the step of determining to scan the managed component includes periodically scanning the managed component.

14 . The apparatus of claim 13 wherein the step of periodically scanning the managed component includes indicating to a garbage collector to periodically scan managed components.

15 . The apparatus of claim 14 further including indicating to a garbage collector to stop periodically scanning managed components.

16 . The apparatus of claim 14 further including:

after garbage collecting the managed component, determining whether to stop scanning managed components.

17 . The apparatus of claim 12 wherein the priority indication indicates a priority for disposing of the object when it is no longer needed.

18 . The apparatus of claim 12 wherein the priority indication is provided with the request to create the object.

19 . The apparatus of claim 12 wherein when the managed component is garbage collected, the object in the native heap is disposed of.

20 . The apparatus of claim 12 wherein determining whether to scan the managed component is also based on a size of the object.

21 . The apparatus of claim 12 wherein the managed component is managed by a virtual machine.

22 . The apparatus of claim 21 wherein the virtual machine is a Java Virtual Machine (JVM).

23 . A machine-readable medium having machine-executable instructions for instructing a processor to perform steps comprising:

receiving a request to create an object in a native heap in a memory, the object associated with a managed component;

creating the object in the native heap;

maintaining an identifier for the object along with a priority indication; and

based on the priority indication, determining whether to scan the managed component for an indication that the managed component may be garbage collected.

24 . The machine-readable medium of claim 23 wherein the step of determining to scan the managed component includes periodically scanning the managed component.

25 . The machine-readable medium of claim 24 wherein the step of periodically scanning the managed component includes indicating to a garbage collector to periodically scan managed components.

26 . The machine-readable medium of claim 25 further including the step of indicating to a garbage collector to stop periodically scanning managed components.

27 . A mobile device comprising:

a processing component;

a memory component, coupled to the processing component;

wherein the memory component includes instructions, that when provided to the processing component, cause the processing component to perform the steps of:

providing a virtual machine, for creating and managing managed components, the virtual machine including a garbage collector;

receiving a request to create an object in a native heap separate from the virtual machine, the object associated with a managed component in the virtual machine;

creating the object in the native heap;

maintaining an identifier for the object along with a priority indication;

based on the priority indication, determining whether to instruct the garbage collector to periodically scan the managed component for an indication that the managed component may be garbage collected; and

upon garbage collecting the managed component, determining whether to indicate to the garbage collector to stop periodically scanning managed components.

Assignments (6)
UCC FINANCING STATEMENT AMENDMENT - DELETION OF SECURED PARTY Recorded Aug 30, 2016
From: NOKIA CORPORATION
To: MICROSOFT CORPORATION
Reel/Frame 039872/0112 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2012
From: 2011 INTELLECTUAL PROPERTY ASSET TRUST
To: CORE WIRELESS LICENSING S.A.R.L
Reel/Frame 027485/0857 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2011
From: NOKIA CORPORATION
To: NOKIA 2011 PATENT TRUST
Reel/Frame 027120/0608 →
CHANGE OF NAME Recorded Oct 26, 2011
From: NOKIA 2011 PATENT TRUST
To: 2011 INTELLECTUAL PROPERTY ASSET TRUST
Reel/Frame 027121/0353 →
SHORT FORM PATENT SECURITY AGREEMENT Recorded Sep 13, 2011
From: CORE WIRELESS LICENSING S.A.R.L.
To: NOKIA CORPORATION; MICROSOFT CORPORATION
Reel/Frame 026894/0665 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2007
From: DI FLORA, CRISTIANO
To: NOKIA CORPORATION
Reel/Frame 019503/0555 →