IP Library Granted Patent US 11,379,734
Granted Patent B2
US 11,379,734 · App. 17/107,795 · Granted Jul 5, 2022

Methods and systems for processing software traces

Inventors: Xinruo Sun (Mountain View, CA); Tianpeng Jin (Mountain View, CA)
Assignee: GOOGLE LLC
G06N5/02G06F11/3636G06F8/75G06F11/3409G06F11/3466G06F11/3688
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,379,734
App. No.
17/107,795
Granted
Jul 5, 2022
Kind
B2
Abstract

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.

Claims (52)

1. A method of processing traces, comprising:

capturing, by one or more processors, first information from an executing application;

capturing, by the one or more processors, second information from the executing application;

grouping, by the one or more processors, the first information and the second information based on a set of rules and identifying common trace information between the first information and the second information;

filtering, by the one or more processors, the first information based on the set of rules, wherein first information comprises a first trace identifier; and

filtering, by the one or more processors, the second information based on the set of rules, and wherein second information comprises a second trace identifier.

2. The method of claim 1 , wherein the set of rules excludes information common to all instances of the executing application.

3. The method of claim 2 , further comprising:

updating, by the one or more processors, the set of rules based on at least one of the first information or the second information.

4. The method of claim 1 , wherein grouping the first information and the second information generates grouped information, and wherein grouped information comprises a plurality of user device information and metadata information.

5. The method of claim 4 , further comprising:

segmenting, by the one or more processors, the grouped information into user device segments based on the plurality of user device information.

6. The method of claim 5 , wherein segmenting the grouped information into user device segments is further based on the executing application successful traces.

7. The method of claim 1 , further comprising:

segmenting, by the one or more processors, the grouped information into metadata segments based on metadata information.

8. The method of claim 7 , wherein segmenting the grouped information into metadata segments is further based on the executing application successful traces.

9. The method of claim 1 , where the executing application is executed on a remote device, and wherein the first information and the second information comprises periodic captures of an execution status for the executing application, and wherein the first information and the second information is associated with an objective.

10. The method of claim 9 , further comprising:

determining, by the one or more processors, a similarity in the first information and the second information; and

in response to determining the similarity, adding the remote device to a population of devices predicted as likely to execute the objective.

11. A system comprising:

at least one processing circuit configured to:

capture first information from an executing application;

capture second information from the executing application;

group the first information and the second information based on a set of rules and identifying common trace information between the first information and the second information;

filter the first information based on the set of rules, wherein first information comprises a first trace identifier; and

filter the second information based on the set of rules, and wherein second information comprises a second trace identifier.

12. The system of claim 11 , further comprising:

filter the first information based on the set of rules, wherein first information comprises a first trace identifier;

filter the second information based on the set of rules, and wherein second information comprises a second trace identifier; and

update the set of rules based on at least one of the first information or the second information.

13. The system of claim 11 , wherein grouping the first information and the second information generates grouped information, and wherein grouped information comprises a plurality of user device information and metadata information.

14. The system of claim 11 , further comprising:

segment the grouped information into user device segments based on the plurality of user device information, wherein segmenting the grouped information into user device segments is further based on the executing application successful traces; and

segment the grouped information into metadata segments based on metadata information, wherein segmenting the grouped information into metadata segments is further based on the executing application successful traces.

15. The system of claim 11 , where the executing application is executed on a remote device, and wherein the first information and the second information comprises periodic captures of an execution status for the executing application, and wherein the first information and the second information is associated with an objective.

16. The system of claim 5 , further comprising:

determining, by the one or more processors, a similarity in the first information and the second information; and

in response to determining the similarity, adding the remote device to a population of devices predicted as likely to execute the objective.

17. One or more non-transitory computer-readable storage media having instructions stored thereon that, when executed by at least one processing circuit, cause the at least one processing circuit to perform operations comprising:

capturing first information from an executing application;

capturing second information from the executing application;

grouping the first information and the second information based on a set of rules and identifying common trace information between the first information and the second information;

filtering the first information based on the set of rules, wherein first information comprises a first trace identifier; and

filtering the second information based on the set of rules, and wherein second information comprises a second trace identifier.

18. The one or more non-transitory computer-readable storage media of claim 17 , the operations further comprising:

filtering the first information based on the set of rules, wherein first information comprises a first trace identifier;

filtering the second information based on the set of rules, and wherein second information comprises a second trace identifier; and

updating the set of rules based on at least one of the first information or the second information.

19. The one or more non-transitory computer-readable storage media of claim 17 , wherein grouping the first information and the second information generates grouped information, and wherein grouped information comprises a plurality of user device information and metadata information, the operation further comprising:

segmenting the grouped information into user device segments based on the plurality of user device information, wherein segmenting the grouped information into user device segments is further based on the executing application successful traces; and

segmenting the grouped information into metadata segments based on metadata information, wherein segmenting the grouped information into metadata segments is further based on the executing application successful traces.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2022
From: JIN, TIANPENG; SUN, XINRUO
To: GOOGLE INC.
Reel/Frame 059239/0288 →
CHANGE OF NAME Recorded Mar 11, 2022
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 059362/0516 →
Continuity (5)
Continuation 17094642 · Nov 10, 2020
Continuation 15947666 · Apr 6, 2018
Continuation 15005777 · Jan 25, 2016
Continuation PCTCN2014089468 · Oct 24, 2014
Related Publication 20210081812A1 · Mar 18, 2021