IP Library Granted Patent US 9,542,299
Granted Patent B2
US 9,542,299 · App. 14/045,007 · Granted Jan 10, 2017

Processing core data produced by a computer process

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 9,542,299
App. No.
14/045,007
Granted
Jan 10, 2017
Kind
B2
Abstract

A method, apparatus, computer program and computer program product for processing core data produced by a computer process to identify data relevant to the computer process, the method comprising the steps of: identifying core data for a computer process; identifying trace data comprising sequential trace entries for the computer process; selecting a predetermined number of most recent entries in the trace data; identifying any references to a memory address in each selected trace data entry; dereferencing each identified memory address in the core data; and extracting the data from the dereferenced memory location in the core data.

Claims (80)

1. A method for processing core data produced by a computer process to identify data relevant to the computer process, the method comprising:

identifying the core data for a computer process;

identifying trace data comprising sequential trace entries for the computer process;

selecting a predetermined number of most recent entries in the trace data;

identifying any references to a memory address in each selected trace data entry;

dereferencing each identified memory address in the core data;

extracting the data from the dereferenced memory location in the core data;

in response to the data from any dereferenced memory location in the core data comprising a further reference to a memory address, dereferencing the further memory address in the core data; and

extracting the data from the dereferenced further memory location in the core data,

wherein, for a given trace entry, the extraction of referenced data is limited to a predetermined depth of reference.

2. The method of claim 1 wherein the most recent entries in the trace data comprise a predetermined number of entries.

3. The method of claim 1 wherein the extracted data comprises a data structure.

4. The method of claim 1 wherein each reference to a memory address comprises a pointer.

5. The method of claim 1 further comprising:

identifying entries in the core data comprising register data for the process;

identifying any references to a memory address in each selected register entry;

dereferencing each identified register entry memory address in the core data; and

extracting the data from the dereferenced register entry memory location in the core data.

6. The method of claim 1 wherein the extracted data is marked within the core data file.

7. The method of claim 1 wherein remaining data in the core data file excluding the extracted data is replaced with compressible data.

8. The method of claim 1 wherein the extracted data is copied from the core data file into one or more other files.

9. The method of claim 1 wherein the computer process is a system or application program, and the method further comprises:

translating references to memory addresses in the trace data for program to the core data address space so as to enable:

identifying any references to a memory address in each selected trace data entry;

dereferencing each identified memory address in the core data; and

extracting the data from the dereferenced memory location in the core data.

10. The method of claim 1 wherein the computer process is a virtual machine.

11. An apparatus for processing core data produced by a computer process to identify data relevant to the computer process, the apparatus comprising:

a processor; and

a memory including program code configured to be executed by the processor to cause the apparatus to:

identify the core data for a computer process;

identify trace data comprising sequential trace entries for the computer process;

select a predetermined number of most recent entries in the trace data;

identify any references to a memory address in each selected trace data entry;

dereference each identified memory address in the core data;

extract the data from the dereferenced memory location in the core data;

responsive to the data from any dereferenced memory location in the core data comprising a further reference to a memory address, to dereference the further memory address in the core data; and

to extract the data from the dereferenced further memory location in the core data,

wherein, for a given trace entry, the extraction of referenced data is limited to a predetermined depth of reference.

12. The apparatus of claim 11 wherein the most recent entries in the trace data comprise a predetermined number of entries.

13. The apparatus of claim 11 wherein the extracted data comprises a data structure.

14. The apparatus of claim 11 wherein each reference to a memory address comprises a pointer.

15. The apparatus of claim 11 wherein the apparatus is further operable to:

identify entries in the core data comprising register data for the process;

identify any references to a memory address in each selected register entry;

dereference each identified register entry memory address in the core data; and

extract the data from the dereferenced register entry memory location in the core data.

16. The apparatus of claim 11 wherein the extracted data is marked within the core data file.

17. An apparatus for processing core data produced by a computer process to identify data relevant to the computer process, the apparatus comprising:

a processor; and

a memory including program code configured to be executed by the processor to cause the apparatus to:

identify the core data for a computer process;

identify trace data comprising sequential trace entries for the computer process;

select a predetermined number of most recent entries in the trace data;

identify any references to a memory address in each selected trace data entry;

dereference each identified memory address in the core data; and

extract the data from the dereferenced memory location in the core data,

wherein remaining data in the core data file excluding the extracted data is replaced with compressible data.

18. The apparatus of claim 11 wherein the extracted data is copied from the core data file into one or more other files.

19. The apparatus of claim 11 wherein the computer process is a system or application program, and the apparatus is further operable to:

translate references to memory addresses in the trace data for program to the core data address space so as to enable the apparatus to:

identify any references to a memory address in each selected trace data entry;

dereference each identified memory address in the core data; and

extract the data from the dereferenced memory location in the core data.

20. The apparatus of claim 11 wherein the computer process is a virtual machine.

21. A computer program stored on a non-transitory computer readable medium and loadable into a memory of a digital computer, comprising software code portions, when said computer program is run on a computer, for performing the method of claim 1 .

22. A computer program product for processing core data produced by a computer process to identify data relevant to the computer process, the computer program product comprising:

a non-transitory computer readable storage medium having instructions stored thereon that are readable by a processing circuit and executable by the processing circuit for performing a method according to claim 1 .

23. The apparatus of claim 17 wherein the most recent entries in the trace data comprise a predetermined number of entries.

24. The apparatus of claim 17 wherein the computer process is a system or application program, and the apparatus is further operable to:

translate references to memory addresses in the trace data for program to the core data address space so as to enable the apparatus to:

identify any references to a memory address in each selected trace data entry;

dereference each identified memory address in the core data; and

extract the data from the dereferenced memory location in the core data.

25. The apparatus of claim 17 wherein the apparatus is further operable to:

identify entries in the core data comprising register data for the process;

identify any references to a memory address in each selected register entry;

dereference each identified register entry memory address in the core data; and

extract the data from the dereferenced register entry memory location in the core data.

26. The apparatus of claim 17 wherein the computer process is a virtual machine.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES INC.
Reel/Frame 054636/0001 →
SECURITY AGREEMENT Recorded Nov 29, 2018
From: GLOBALFOUNDRIES INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 049490/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2015
From: GLOBALFOUNDRIES U.S. 2 LLC; GLOBALFOUNDRIES U.S. INC.
To: GLOBALFOUNDRIES INC.
Reel/Frame 036779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GLOBALFOUNDRIES U.S. 2 LLC
Reel/Frame 036550/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2013
From: CHAMBERLAIN, RICHARD N.; HELLYER, HOWARD J.; PETERS, MATTHEW F.; PILKINGTON, ADAM J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 031337/0020 →