Error resolution for interactions with user pages
US-2024320079-A1 · Sep 26, 2024 · US
US9842017B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9842017-B1 |
| Application number | US-201514673429-A |
| Country | US |
| Kind code | B1 |
| Filing date | Mar 30, 2015 |
| Priority date | Mar 30, 2015 |
| Publication date | Dec 12, 2017 |
| Grant date | Dec 12, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Device health metrics may be collected and aggregated on a device before sending to a server for further aggregation. The method may include determining a crash has occurred on a device, and recording the crash and information corresponding to the crash in buffer storage on the device. The method may also include recording a crash type, a crash time, an identification of a component that caused the crash and a state of the device when the crash occurred. The method may also include grouping two or more crash events based on the crash type, generating device health metrics data including metadata corresponding to the two or more crash events, storing the device health metrics data in the buffer storage on the device, and sending the device health metrics data along with device identification information to a server for further aggregation.
Opening claim text (preview).
That which is claimed is: 1. A method, comprising: receiving, by at least one processor associated with a kernel module of a device, periodic notifications that a first application is executing in a user space of the device; determining, by the at least one processor, that a period of time has elapsed since receiving a most recent notification that the first application is executing in the user space; determining, by the kernel module, that a first crash event associated with the first application has occurred based at least in part on determining that the period of time has elapsed since receiving the most recent notification; receiving, by the at least one processor, first data corresponding to the first crash event, the first data comprising a first identifier identifying the first application and a second identifier identifying a first failure source associated with the first crash event; storing, by the at least one processor, the first data in a buffer in memory associated with a kernel space of the device; determining, by the at least one processor, that a second crash event associated with a second application has occurred; receiving, by the at least one processor, second data corresponding to the second crash event, the second data comprising a third identifier identifying the second application and a fourth identifier identifying a second failure source associated with the second crash event; determining, by the at least one processor, that the first failure source is a same source as the second failure source; generating, by the at least one processor, device health metrics data by aggregating the first data and the second data into a data structure, wherein aggregating the first data and the second data comprises: incrementing, by the at least one processor, a first counter of crash events for the first application based on the first crash event; incrementing, by the at least one processor, a second counter of crash events for the second application based on the second crash event; and sending, by the at least one processor, the device health metrics data and a device identifier of the device to a server. 2. The method of claim 1 , further comprising: determining, by the at least one processor, that the first application was executing in a foreground state during the first crash event; determining, by the at least one processor, that the second application was executing in a background state during the second crash event; and determining, by the at least one processor, a first value indicative of a first level of severity of the first crash event; associating, by the at least one processor, the first value with the first crash event; determining, by the at least one processor, a second value indicative of a second level of severity of the second crash event, a deviation between the first value and a baseline value being greater than a deviation between the second value and the baseline value, the baseline value being associated with execution of the first application and the second application without an exception occurring; and associating, by the at least one processor, the second value with the second crash event. 3. The method of claim 1 , further comprising: determining, by the at least one processor, that a network connection has been terminated; storing, by the at least one processor, a marker in the memory indicating a first portion of the device health metrics data that has been sent to the server; determining, by the at least one processor, that a new network connection has been established; determining, by the at least one processor, using the marker, a second portion of the device health metrics data; and sending, by the at least one processor, a second portion of the device health metrics data to the server. 4. A device, comprising: at least one memory storing computer-executable instructions; and at least one processor configured to access the at least one memory and execute the computer-executable instructions to: determine that a first failure event associated with a first application has occurred on the device; determine a level of severity of the first failure event based at least in part on one or more of: a state of the device being a sleep state, the first application being executed as background process by the device, or sensor data indicating a user of the device is viewing the device while the first application is being executed; store first data corresponding to the first failure event in a buffer on the device, the first data comprising a first identifier identifying a first type of failure of the first failure event; determine that a second failure event associated with a second application has occurred on the device; store second data corresponding to the second failure event in the buffer, the second data comprising a second identifier identifying a second type of failure of the second failure event; determine that the first identifier matches the second identifier; generate device health metrics data by aggregating the first data and the second data into a data structure; and send the device health metrics data and a device identifier of the device to a server. 5. The device of claim 4 , wherein the first or second failure event comprises a crash event comprising a frame drop, an application crash, a kernel crash, a kernel panic, termination of a process due to excessive memory usage, and an excessive battery drain. 6. The device of claim 5 , wherein the at least one processor is further configured to execute the computer-executable instructions to: record a crash time associated with the crash event, a frequency of the crash event, or a number of crashes per active CPU usage. 7. The device of claim 5 , wherein the device identifier comprises at least one of a device serial number, a device type, a device clock time, and a version of software associated with the device. 8. The device of claim 4 , wherein the at least one processor is further configured to execute the computer-executable instructions to: store a total number of bytes transferred by the device over a wireless network over a predetermined period of time; store an amount of time taken by the device to boot; store a screen time associated with the first application or second application; store an amount of the at least one memory allocated to the first application; and send, to the server, the total number of bytes transferred by the device, the amount of time the device takes to boot, the screen time for the application, and the amount of the at least one memory allocated to the first application. 9. The device of claim 4 , wherein the at least one processor is further configured to execute the computer-executable instructions to: determine that a network connection has been terminated; store a marker indicating a first portion of the device health metrics data that has been sent to the server; determine that a new network connection has been established; determine, using the marker, a second portion of the device health metrics data; and send a second portion of the device health metrics data to the server. 10. The device of claim 4 , wherein the at least one processor is further configured to execute the computer-executable instructions to: terminate a component that caused the first or second failure event based at least in part on a performance of the component over a predetermined period of time. 11. The device of claim 4 , wherein the at least one processor is further configured to execute the computer-executable instructions to: receive a configuration file for determining a size of the device health metrics data;
Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters · CPC title
in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems · CPC title
Root cause analysis, i.e. error or fault diagnosis (in a hardware test environment G06F11/22; in a software test environment G06F11/36) · CPC title
Dumping, i.e. gathering error/state information after a fault for later diagnosis · CPC title
by actively collecting configuration information or by backing up configuration information · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.