Triggering debug processing within a scalable cloud environment

US9971675B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9971675-B2
Application numberUS-201615089734-A
CountryUS
Kind codeB2
Filing dateApr 4, 2016
Priority dateApr 4, 2016
Publication dateMay 15, 2018
Grant dateMay 15, 2018

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.

Use of tokens, included in a client request that requests a computer operation to be performed, to cause the processor that performs the requested computer operation to enter a “thread-specific-debug state.” In the thread-specific debug state, debug information is collected and logged from some threads running on the processor, but not from all threads running on the processor. This can provide more targeted, manageable and/or helpful debugging logs.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method comprising: receiving, by a server computer, through a communication network and from a requestor client application, a client request including: (i) a request for the server computer to perform a computer operation, and (ii) a debug token; responsive to the client request, starting to perform, by the server computer, the computer operation on a sub-set of thread(s) running on a set of processor(s), where the set of processor(s) are running a set of thread(s) that: (i) includes all threads of the sub-set of threads, and (ii) includes at least one thread that is not in the sub-set of thread(s), wherein the sub-set of thread(s) is determined based on information in the debug token; entering, by the set of processor(s), a thread-specific debug state so that: (i) debug information is logged with respect to the sub-set of thread(s), and (ii) debug information is not logged with respect to any thread(s) included in the set of thread(s) but not included in the sub-set of thread(s); and disabling the debug token. 2. The computer-implemented method of claim 1 wherein: the server computer is implemented by a virtual machine (VM); and the set of processor(s) are processors of a physical host computer upon which the VM is running. 3. The computer-implemented method of claim 1 wherein the computer operation is one of the following types of computer operations: (i) hosting web applications (application server); (ii) maintaining an index of information (catalog server); (iii); maintaining a communications environment (communications server); (iv) sharing computing resources (computing server); (v) sharing a database (database server); (vi) sharing files (file server); (vi) providing email communications (mail server); (vii) intermediating between a client and a server (proxy server); and/or (viii) hosting web pages (web server). 4. The computer-implemented method of claim 1 wherein: the set of processor(s) is a single processor; and the sub-set of thread(s) is a single thread. 5. The computer-implemented method of claim 2 wherein the VM is in a cloud. 6. The computer-implemented method of claim 1 further comprising: determining, by the server computer, whether debug token functionality is enabled; determining, by the server computer, whether the requestor client application is authorized to supply the debug token; and on condition that the debug token functionality is enabled and on further condition that the requestor is authorized to supply the debug token, processing the client request. 7. The computer-implemented method of claim 1 further comprising: passing, by the server computer, the debug token through successive requests. 8. The computer-implemented method of claim 1 further comprising: authenticating, by the server computer, a requestor; and responsive to authentication of the requestor, verifying the requestor's ability to supply a debug token in the request. 9. A computer program product comprising a computer readable storage medium having stored thereon: first program instructions programmed to receive, by a server computer, through a communication network and from a requestor client application, a client request including: (i) a request for the server computer to perform a computer operation, and (ii) a debug token; responsive to the client request, second program instructions programmed to start to perform, by the server computer, the computer operation on a sub-set of thread(s) running on a set of processor(s), where the set of processor(s) are running a set of thread(s) that: (i) includes all threads of the sub-set of threads, and (ii) includes at least one thread that is not in the sub-set of thread(s), wherein the sub-set of thread(s) is determined based on information in the debug token; third program instructions programmed to enter, by the set of processor(s), a thread-specific debug state so that: (i) debug information is logged with respect to the sub-set of thread(s), and (ii) debug information is not logged with respect to any thread(s) included in the set of thread(s) but not included in the sub-set of thread(s); and fourth program instructions programmed to disable the debug token. 10. The computer program product of claim 9 wherein: the server computer is implemented by a virtual machine (VM); and the set of processor(s) are processors of a physical host computer upon which the VM is running. 11. The computer program product of claim 9 wherein the computer operation is one of the following types of computer operations: (i) hosting web applications (application server); (ii) maintaining an index of information (catalog server); (iii); maintaining a communications environment (communications server); (iv) sharing computing resources (computing server); (v) sharing a database (database server); (vi) sharing files (file server); (vi) providing email communications (mail server); (vii) intermediating between a client and a server (proxy server); and/or (viii) hosting web pages (web server). 12. The computer program product of claim 9 wherein: the set of processor(s) is a single processor; and the sub-set of thread(s) is a single thread. 13. The computer program product of claim 10 wherein the VM is in a cloud. 14. The computer program product of claim 9 further comprising: fourth program instructions programmed to determine, by the server computer, whether debug token functionality is enabled; fifth program instructions programmed to determine, by the server computer, whether the requestor client application is authorized to supply the debug token; and on condition that the debug token functionality is enabled and on further condition that the requestor is authorized to supply the debug token, sixth program instructions programmed to process the client request. 15. The computer program product of claim 9 further comprising: fourth program instructions programmed to pass, by the server computer, the debug token through successive requests. 16. The computer program product of claim 9 further comprising: fourth program instructions programmed to authenticate, by the server computer, a requestor; and responsive to authentication of the requestor, fifth program instructions programmed to verify the requestor's ability to supply a debug token in the request. 17. A computer system comprising: a processor(s) set; and a computer readable storage medium; wherein: the processor(s) set is structured, located, connected and/or programmed to run program instructions stored on the computer readable storage medium; and the program instructions include: first program instructions programmed to receive, by a server computer, through a communication network and from a requestor client application, a client request including: (i) a request for the server computer to perform a computer operation, and (ii) a debug token; responsive to the client request, second program instructions programmed to start to perform, by the server computer, the computer operation on a sub-set of thread(s) running on a set of processor(s), where the set of processor(s) are running a set of thread(s) that: (i) includes all threads of the sub-set of threads, and (ii) includes at least one thread that is not in the sub-set of thread(s), wherein the sub-set of thread(s) is determined based on information in the debug token; third program instructions programmed to enter, by the set of processor(s), a thread-specific debug state so that: (i) debug information is logged with respect to the sub-set of

Assignees

Inventors

Classifications

  • Hypervisor-specific management and integration aspects · CPC title

  • by tracing the execution of the program · CPC title

  • Monitoring or debugging support · CPC title

  • by runtime analysis (performance monitoring G06F11/3466) · CPC title

  • using diagnostics (G06F11/0703 takes precedence) · 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 US9971675B2 cover?
Use of tokens, included in a client request that requests a computer operation to be performed, to cause the processor that performs the requested computer operation to enter a “thread-specific-debug state.” In the thread-specific debug state, debug information is collected and logged from some threads running on the processor, but not from all threads running on the processor. This can provide…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 15 2018 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).