Prioritizing and parallelizing the capture of data for debugging computer programs

US11379290B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11379290-B2
Application numberUS-201916513935-A
CountryUS
Kind codeB2
Filing dateJul 17, 2019
Priority dateJul 17, 2019
Publication dateJul 5, 2022
Grant dateJul 5, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Aspects of the invention include receiving a request to obtain data located in an address space to diagnose a computer error. It is determined whether a threshold number of resources are available to obtain the data. Based on determining that the threshold number of resources is available to obtain the data, a priority level of the computer program is assessed. A number of threads to assign to a workload to obtain the data from the address space is determined based at least in part on the priority level of the computer program. The determined number of threads are assigned to the workload. The workload is divided into a number of parallel units equal to the number of threads assigned to the workload. The parallel units of the workload are executed by the assigned threads to capture the data in the address space. The captured data is stored.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method comprising: receiving a request to obtain data to diagnose a computer error, the data located in an address space assigned to a computer program; estimating a size of the data; determining whether a threshold number of resources are available to obtain the data, the threshold number based at least in part on the estimated size of the data; and based on determining that the threshold number of resources are available to obtain the data: assessing a priority level of the computer program; determining a number of threads to assign to a workload to obtain the data from the address space, the number of threads based at least in part on the priority level of the computer program; assigning the determined number of threads to the workload; dividing the workload into a number of parallel units, the number of parallel units equal to the number of threads assigned to the workload; executing, by the assigned threads, the parallel units of the workload to capture the data in the address space; and storing the captured data, wherein at least a portion of the data is located in a second address space of the computer and the determining is further based at least in part on a percentage of the data that is located in the second address space of the computer. 2. The computer-implemented method of claim 1 , wherein the executing of two or more of the parallel units of the workload overlaps in time. 3. The computer-implemented method of claim 1 , wherein the determining the number of threads to assign to a workload for obtaining the data is further based at least in part on the size of the data. 4. The computer-implemented method of claim 1 , wherein the second address space is assigned more threads than the address space based at least in part on the address space and the second address space having the same priority level, and on the second address space having a greater percentage of the data than the address space. 5. The computer-implemented method of claim 1 , wherein the address space is assigned more threads than a second address space assigned to a second computer program having a lower priority level than the address space. 6. The computer-implemented method of claim 1 , wherein the computer program is an application program. 7. The computer-implemented method of claim 1 , wherein the computer program is middleware. 8. A system comprising: a memory having computer readable instructions; and one or more processors for executing the computer readable instructions, the computer readable instructions controlling the one or more processors to perform operations comprising: receiving a request to obtain data to diagnose a computer error, the data located in an address space assigned to a computer program; estimating a size of the data; determining whether a threshold number of resources are available to obtain the data, the threshold number based at least in part on the estimated size of the data; and based on determining that the threshold number of resources are available to obtain the data: assessing a priority level of the computer program; determining a number of threads to assign to a workload to obtain the data from the address space, the number of threads based at least in part on the priority level of the computer program; assigning the determined number of threads to the workload; dividing the workload into a number of parallel units, the number of parallel units equal to the number of threads assigned to the workload; executing, by the assigned threads, the parallel units of the workload to capture the data in the address space; and storing the captured data, wherein at least a portion of the data is located in a second address space of the computer and the determining is further based at least in part on a percentage of the data that is located in the second address space of the computer. 9. The system of claim 8 , wherein the executing of two or more of the parallel units of the workload overlaps in time. 10. The system of claim 8 , wherein the determining the number of threads to assign to a workload for obtaining the data is further based at least in part on the size of the data. 11. The system of claim 8 , wherein the second address space is assigned more threads than the address space based at least in part on the address space and the second address space having the same priority level, and on the second address space having a greater percentage of the data than the address space. 12. The system of claim 8 , wherein the address space is assigned more threads than a second address space assigned to a second computer program having a lower priority level than the address space. 13. The system of claim 8 , wherein the computer program is an application program. 14. The system of claim 8 , wherein the computer program is middleware. 15. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform operations comprising: receiving a request to obtain data to diagnose a computer error, the data located in an address space assigned to a computer program; estimating a size of the data; determining whether a threshold number of resources are available to obtain the data, the threshold number based at least in part on the estimated size of the data; and based on determining that the threshold number of resources are available to obtain the data: assessing a priority level of the computer program; determining a number of threads to assign to a workload to obtain the data from the address space, the number of threads based at least in part on the priority level of the computer program; assigning the determined number of threads to the workload; dividing the workload into a number of parallel units, the number of parallel units equal to the number of threads assigned to the workload; executing, by the assigned threads, the parallel units of the workload to capture the data in the address space; and storing the captured data, wherein at least a portion of the data is located in a second address space of the computer and the determining is further based at least in part on a percentage of the data that is located in the second address space of the computer. 16. The computer program product of claim 15 , wherein the executing of two or more of the parallel units of the workload overlaps in time. 17. The computer program product of claim 15 , wherein the determining the number of threads to assign to a workload for obtaining the data is further based at least in part on the size of the data.

Assignees

Inventors

Classifications

  • considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups) · CPC title

  • Debugging of software · CPC title

  • Parallel decoding, e.g. parallel decode units · CPC title

  • Error filtering or prioritizing based on a policy defined by the user or on a policy defined by a hardware/software module, e.g. according to a severity level · CPC title

  • Dumping, i.e. gathering error/state information after a fault for later diagnosis · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11379290B2 cover?
Aspects of the invention include receiving a request to obtain data located in an address space to diagnose a computer error. It is determined whether a threshold number of resources are available to obtain the data. Based on determining that the threshold number of resources is available to obtain the data, a priority level of the computer program is assessed. A number of threads to assign to …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/0781. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 05 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).