IP Library Granted Patent US 7,624,381
Granted Patent B1
US 7,624,381 · App. 10/968,715 · Granted Nov 24, 2009

Portable detection of start and completion of object construction

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,624,381
App. No.
10/968,715
Granted
Nov 24, 2009
Kind
B1
Abstract

A method for tracking a target object, involving identifying at least one portion of code corresponding to a constructor for the target object, and inserting a first tracking method before the at least one portion of code and inserting a second tracking method after the at least one portion of code to obtain executable code, wherein the first tracking method and the second tracking method comprise a calling object reference and a target object reference as arguments.

Claims (34)

1. A method for tracking a target object, comprising:

identifying a portion of code comprising a first constructor for the target object after compiling the portion of code and before executing the portion of code;

inserting a first tracking method into the portion of code after compiling the portion of code and before executing the portion of code, wherein the first tracking method compares the target object and an object calling the first constructor to generate a first comparison result;

identifying a second constructor for the target object in the portion of code after compiling the portion of code and before executing the portion of code;

inserting a second tracking method into the portion of code after compiling the portion of code and before executing the portion of code, wherein the second tracking method compares the target object and an object calling the second constructor to generate a second comparison result; and

executing the portion of code including the first tracking method and the second tracking method to generate an output identifying a creation of the target object, wherein generation of the output is based on the first comparison result and the second comparison result, and wherein the output comprises at least one selected from the group consisting of a target object name, a target object type, a target object creation timestamp, and a target object deletion timestamp.

2. The method of claim 1 , wherein the output is directed to at least one selected from the group consisting of a display, a file, and an output device.

3. The method of claim 1 , wherein the portion of code is bytecode.

4. The method of claim 1 , wherein the portion of code is reconstructed using machine code.

5. A computer system for tracking a target object comprising:

a processor;

a memory;

a storage device; and

software instructions stored in the memory and configured to enable the computer system under control of the processor, to:

identify a portion of code comprising a first constructor for the target object after compiling the portion of code and before executing the portion of code;

insert a first tracking method into the portion of code after compiling the portion of code and before executing the portion of code, wherein the first tracking method compares the target object and an object calling the first constructor to generate a first comparison result;

identify a second constructor for the target object in the portion of code after compiling the portion of code and before executing the portion of code;

insert a second tracking method into the portion of code after compiling the portion of code and before executing the portion of code, wherein the second tracking method compares the target object and an object calling the second constructor to generate a second comparison result; and

execute the portion of code including the first tracking method and the second tracking method to generate an output identifying a creation of the target object, wherein generation of the output is based on the first comparison result and the second comparison result, and wherein the output comprises at least one selected from the group consisting of a target object name, a target object type, a target object creation timestamp, and a target object deletion timestamp.

6. A computer readable medium storing instructions for tracking a target object, the instructions comprising functionality to:

identify a portion of code comprising a first constructor for the target object after compiling the portion of code and before executing the portion of code;

insert a first tracking method into the portion of code after compiling the portion of code and before executing the portion of code, wherein the first tracking method compares the target object and an object calling the first constructor to generate a first comparison result;

identify a second constructor for the target object in the potion of code after compiling the portion of code and before executing the portion of code;

insert a second tracking method into the portion of code after compiling the portion of code and before executing the portion of code, wherein the second tracking method compares the target object and an object calling the second constructor to generate a second comparison result; and

execute the portion of code including the first tracking method and the second tracking method to generate an output identifying a creation of the target object, wherein generation of the output is based on the first comparison result and the second comparison result, and wherein the output comprises at least one selected from the group consisting of a target object name, a target object type, a target object creation timestamp, and a target object deletion timestamp.

7. The method of claim 1 , wherein the first constructor calls the second constructor.

8. The method of claim 1 , wherein the output is generated by the second tracking method because the second comparison result indicates the target object does not equal the object calling the second constructor.

9. The method of claim 7 , wherein the output is generated by the first tracking method because the second comparison result indicates the target object equals the object calling the second constructor.

10. The computer system of claim 5 , wherein the first constructor calls the second constructor.

11. The computer system of claim 5 , wherein the output is generated by the second tracking method because the second comparison result indicates the target object does not equal the object calling the second constructor.

12. The computer system of claim 10 , wherein the output is generated by the first tracking method because the second comparison result indicates the target object equals the object calling the second constructor.

13. The computer readable medium of claim 6 , wherein the first constructor calls the second constructor.

14. The computer readable medium of claim 6 , wherein the output is generated by the second tracking method because the second comparison result indicates the target object does not equal the object calling the second constructor.

15. The computer readable medium of claim 13 , wherein the output is generated by the first tracking method because the second comparison result indicates the target object equals the object calling the second constructor.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037305/0133 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2004
From: CZAJKOWSKI, GRZEGORZ JAN; DAYNES, LAURENT PHILIPPE
To: SUN MICROSYSTEMS, INC.
Reel/Frame 015915/0725 →