Call chain interval resource impact aggregation differencing
US-2015309915-A1 · Oct 29, 2015 · US
US2016140031A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016140031-A1 |
| Application number | US-201615005777-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jan 25, 2016 |
| Priority date | Oct 24, 2014 |
| Publication date | May 19, 2016 |
| Grant date | — |
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.
Systems and methods for analysis of execution patterns for applications executing on remote devices. In some implementations of the system, a knowledge base stores successful traces from a plurality of instances of an application and one or more computing processors in the system receive, via a network interface, call-stack information from an instance of the application executing on a remote device, call-stack information including periodic captures of an execution status for the instance of the application, and determine whether there is a similarity between the call-stack information received from the instance of the application and the stored plurality of successful traces. Responsive to determining a similarity, the computing processors add the remote device to a population of devices likely to execute the object and facilitate further actions specific to the device population.
Opening claim text (preview).
What is claimed is: 1 . A system comprising: a knowledge base storing a collected plurality of successful traces from a plurality of instances of an application executing on a plurality of remote devices; a network interface; and a computer processor configured to: receive, via the network interface from a first instance of the application executing on a first remote device, one or more units of call-stack information, the call-stack information including periodic captures of an execution status for the first instance of the application; receive, from the first instance of the application, an indicator that the first instance of the application has executed an objective; aggregate, responsive to receiving the indicator, the received units of call-stack information leading up to the executed objective as a successful trace and store the successful trace in the knowledge base; receive, from a second instance of the application executing on a second remote device, one or more units of call-stack information, the call-stack information including periodic captures of an execution status for the second instance of the application; determine a similarity between the call-stack information received from the second instance of the application and the plurality of successful traces; and add, responsive to determining the similarity, the second remote device to a population of devices likely to execute the object. 2 . The system of claim 1 , further comprising a filter configured to use a set of rules to exclude, from each received unit of call-stack information, information that is common to all instances of the application. 3 . The system of claim 2 , wherein the computer processor is configured to update the set of rules based on the collected plurality of successful traces. 4 . The system of claim 2 , wherein the computer processor is configured to update the set of rules based on call-stack traces where the objective has not been executed. 5 . The system of claim 1 , wherein the call-stack information is received from a library linked to the application. 6 . The system of claim 1 , wherein a unit of call-stack information includes multiple call-stack captures batched together. 7 . The system of claim 1 , wherein the periodicity of call-stack captures is between one per second and one per minute. 8 . The system of claim 1 , wherein determining a similarity between the call-stack information received from the second instance of the application and the plurality of successful traces comprises using a clustering algorithm to determine that the call-stack information received from the second instance of the application belongs to a cluster of successful traces. 9 . The system of claim 1 , wherein the objective is a purchase event. 10 . A method comprising: receiving, from a first instance of an application executing on a first remote device, one or more units of call-stack information, the call-stack information including periodic captures of an execution status for the first instance of the application; receiving, from the first instance of the application, an indicator that the first instance of the application has executed an objective; aggregating the received units of call-stack information leading up to the executed objective as a successful trace; collecting a plurality of successful traces from a plurality of instances of the application executing on a plurality of remote devices; receiving, from a second instance of the application executing on a second remote device, one or more units of call-stack information, the call-stack information including periodic captures of an execution status for the second instance of the application; determining a similarity between the call-stack information received from the second instance of the application and the plurality of successful traces; adding the second remote device to a population of devices likely to execute the object. 11 . The method of claim 1 , comprising filtering the call-stack information using a set of rules to exclude call-stack information common to all instances of the application. 12 . The method of claim 11 , comprising updating the set of rules based on the collected plurality of successful traces. 13 . The method of claim 11 , comprising updating the set of rules based call-stack traces where the objective has not been executed. 14 . The method of claim 10 , comprising receiving the call-stack information from a library linked to the application. 15 . The method of claim 10 , wherein a unit of call-stack information includes multiple call-stack captures batched together. 16 . The method of claim 10 , wherein the periodicity of call-stack captures is between one per second and one per minute. 17 . The method of claim 10 , wherein determining a similarity between the call-stack information received from the second instance of the application and the plurality of successful traces comprises using a clustering algorithm to determine that the call-stack information received from the second instance of the application belongs to a cluster of successful traces. 18 . The method of claim 10 , wherein the objective is a purchase event. 19 . A non-transitory computer-readable medium storing instructions that, when executed by one or more computing processors, cause the one or more computing processors to: receive, from a first instance of an application executing on a first remote device, one or more units of call-stack information, the call-stack information including periodic captures of an execution status for the first instance of the application; receive, from the first instance of the application, an indicator that the first instance of the application has executed an objective; aggregate, responsive to receiving the indicator, the received units of call-stack information leading up to the executed objective as a successful trace and store the successful trace in a knowledge base storing a collected plurality of successful traces from a plurality of instances of an application executing on a plurality of remote devices; receive, from a second instance of the application executing on a second remote device, one or more units of call-stack information, the call-stack information including periodic captures of an execution status for the second instance of the application; determine a similarity between the call-stack information received from the second instance of the application and the plurality of successful traces; and add, responsive to determining the similarity, the second remote device to a population of devices likely to execute the object. 20 . The non-transitory computer-readable medium of claim 19 , storing instructions that, when executed by one or more computing processors, cause the one or more computing processors to filter the call-stack information using a set of rules to exclude call-stack information common to all instances of the application.
Software maintenance or management · CPC title
Knowledge representation; Symbolic representation · CPC title
for test execution, e.g. scheduling of test suites · CPC title
Structural analysis for program understanding · CPC title
for performance assessment · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.