Providing a watchdog timer to enable collection of crash data

US10365960B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10365960-B2
Application numberUS-201715617169-A
CountryUS
Kind codeB2
Filing dateJun 8, 2017
Priority dateDec 9, 2013
Publication dateJul 30, 2019
Grant dateJul 30, 2019

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.

A system and method for providing a watchdog timer to enable collection of crash data is provided. Upon execution of certain operations, a source thread of an application initiates a watchdog thread that periodically sample state of data relating to the application. Should the operation not complete within a watchdog timeout period, the watchdog thread invokes a crash function to collect additional state data. At least a portion of the state data is stored for later analysis and debugging.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method comprising: after a native application begins a particular operation, initiating a request to receive an indication in response to the particular operation being completed; periodically sampling application state data unless or until the indication is received; determining an amount of time that the operation system is to allow for the particular operation to be performed by the native application before the operating system designates the native application has having crashed based on stored sampled application state data in crash data; and after the determined amount of time that an operating system is to allow for the particular operation to be performed by the native application before the operating system designates the native application as having crashed has elapsed, storing at least a portion of the sampled application state data as the crash data, then terminating the native application. 2. The computer-implemented method of claim 1 , further comprising: generating a first thread in response to the native application beginning the particular operation. 3. The computer-implemented method of claim 2 , further comprising: determining a timeout period less than the amount of time that the operating system allows for the particular operation to be performed; and in response to the timeout period elapsing, monitoring, by the first thread, the timeout period before indicating a crash of the particular operation. 4. The computer-implemented method of claim 3 , further comprising: transmitting a message to a second thread to indicate that the timeout period is about to expire in response to the amount of time having elapsed to a predefined threshold that is less than the timeout period. 5. The computer-implemented method of claim 2 , further comprising: transmitting a locking request with the request to receive the indication to guarantee the indication will be received regardless of the native application having crashed. 6. The computer-implemented method of claim 1 , further comprising: determining an existence of the crash data in response to determining the amount of time that the operation system allows for the particular operation to be performed by the native application before the operating system designates the native application as having crashed has elapsed. 7. A system comprising: one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising: after a native application begins a particular operation, initiating a request to receive an indication in response to the particular operation being completed; periodically sampling application state data unless or until the indication is received; determining an amount of time that the operation system is to allow for the particular operation to be performed by the native application before the operating system designates the native application has having crashed based on stored sampled application state data in crash data; and after the determined amount of time that an operating system is to allow for the particular operation to be performed by the native application before the operating system designates the native application as having crashed has elapsed, storing at least a portion of the sampled application state data as the crash data, then terminating the native application. 8. The system of claim 7 , wherein the operations further comprise: generating a first thread in response to the native application beginning the particular operation. 9. The system of claim 8 , wherein the operations further comprise: determining a timeout period less than the amount of time that the operating system allows for the particular operation to be performed; and in response to the timeout period elapsing, monitoring, by the first thread, the timeout period before indicating a crash of the particular operation. 10. The system of claim 9 , wherein the operations further comprise: transmitting a message to a second thread to indicate that the timeout period is about to expire in response to the amount of time having elapsed to a predefined threshold that is less than the timeout period. 11. The system of claim 8 , wherein the operations further comprise: transmitting a locking request with the request to receive the indication to guarantee the indication will be received regardless of the native application having crashed. 12. The system of claim 7 , wherein the operations further comprise: determining an existence of the crash data in response to determining the amount of time that the operation system allows for the particular operation to be performed by the native application before the operating system designates the native application as having crashed has elapsed. 13. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising: after a native application begins a particular operation, initiating a request to receive an indication in response to the particular operation being completed; periodically sampling application state data unless or until the indication is received; determining an amount of time that the operation system is to allow for the particular operation to be performed by the native application before the operating system designates the native application has having crashed based on stored sampled application state data in crash data; and after the determined amount of time that an operating system is to allow for the particular operation to be performed by the native application before the operating system designates the native application as having crashed has elapsed, storing at least a portion of the sampled application state data as the crash data, then terminating the native application. 14. The computer-readable medium of claim 13 , wherein the operations further comprise: generating a first thread in response to the native application beginning the particular operation. 15. The computer-readable medium of claim 14 , wherein the operations further comprise: determining a timeout period less than the amount of time that the operating system allows for the particular operation to be performed; and in response to the timeout period elapsing, monitoring, by the first thread, the timeout period before indicating a crash of the particular operation. 16. The computer-readable medium of claim 14 , wherein the operations further comprise: transmitting a locking request with the request to receive the indication to guarantee the indication will be received regardless of the native application having crashed. 17. The computer-readable medium of claim 13 , wherein the operations further comprise: determining an existence of the crash data in response to determining the amount of time that the operation system allows for the particular operation to be performed by the native application before the operating system designates the native application as having crashed has elapsed.

Assignees

Inventors

Classifications

  • by exceeding a time limit, i.e. time-out, e.g. watchdogs · CPC title

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

  • in a system implementing multitasking (multitasking per se G06F9/46) · CPC title

  • the processing taking place on a specific hardware platform or in a specific software environment · CPC title

  • Resetting or repowering · 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 US10365960B2 cover?
A system and method for providing a watchdog timer to enable collection of crash data is provided. Upon execution of certain operations, a source thread of an application initiates a watchdog thread that periodically sample state of data relating to the application. Should the operation not complete within a watchdog timeout period, the watchdog thread invokes a crash function to collect additi…
Who is the assignee on this patent?
Google Llc
What technology area does this patent fall under?
Primary CPC classification G06F11/0778. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 30 2019 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).