# US 11,442,849 B1 · System for assisting in assessment and mitigation of data network operations

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,442,849 B1
- Document ID: US11442849B1
- Status: Granted
- Kind: B1
- Application number: 17/183,193
- Filed: 2021-02-23
- Granted: 2022-09-13
- Earliest claimed: 2016-06-30
- Assignees: Headspin, Inc.
- Applicants: Headspin, Inc.
- Inventors: Brien Colwell; Manish Lachwani; Marius Nita; Benjamin Lichtner; Shawn Weiland
- Web page: https://patentgrep.com/patent/US11442849B1

## CPC

- G06F 11/3476: {Data logging (G06F11/14, G06F11/2205 take precedence)}
- G06F 11/3692: {for test results analysis}
- G06F 11/3466: {Performance evaluation by tracing or monitoring}
- G06F 11/3058: {Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations (thermal management in cooling arrangements of a computing system G06F1/206)}
- G06F 11/3062: {where the monitored property is the power consumption (power management in a computing system G06F1/3203)}
- G06F 11/3409: {for performance assessment}
- G06F 11/3414: {Workload generation, e.g. scripts, playback}
- G06F 11/3419: {by assessing time}
- G06F 2201/81: Threshold
- G06F 2201/865: Monitoring of software
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Mobile devices executing applications utilize data services worldwide, with issues involving the transfer of data on the network impacting the operation and user experience of those applications. Network data is acquired from a mobile computing device during communication and processed to determine occurrence of a burst which is representative of elements in the network data that are determined to be causally related. Bursts are analyzed, and those associated with poor performance are presented in a user interface. The user interface provides impact information about the effect the burst had on operation of the application. The user interface may provide suggestions to mitigate the poor performance. If no problem is determined by the system, but the user believes a problem to have occurred, user input is collected and used to trigger a workflow to analyze the burst. Subsequent results of this analysis are returned to the user via the user interface.

## Claims

### Claim 1

A device comprising:
one or more memories storing computer-executable instructions; and
one or more hardware processors to execute the computer-executable instructions to:
access first data comprising information about one or more activities associated with an application under test (AUT);
determine second data indicative of a burst comprising the one or more activities in the first data that are deemed to be associated with one another;
access third data comprising images generated during execution of the application during at least a portion of the test;
synchronize the third data with the first data; and
generate fourth data based on the first data associated with the second data and the synchronization of the third data with the first data, wherein the fourth data is indicative of one or more issues occurring during the test.

### Claim 2 (depends on 1)

The device of claim 1, the determination of the second data further comprising computer-executable instructions to:
determine a first activity occurring in the first data with a frequency that is less than a first threshold value;
determine a second activity occurring in the first data with a frequency that is less than a second threshold value;
determine one or more of:
a first timestamp of the first activity is within a threshold time window of a second timestamp of the second activity, or
a first overall time of the first activity overlaps with a second overall time of the second activity; and
generate the second data including the first activity and the second activity.

### Claim 3 (depends on 2)

The device of claim 2, further comprising the one or more hardware processors to execute the computer-executable instructions to:
determine a round-trip time between the device and a proxy, wherein the first data is obtained at least in part by the proxy; and
determine the threshold time window based at least in part on the round-trip time, wherein the threshold time window is indicative of a time interval that is greater than or equal to the round-trip time.

### Claim 4 (depends on 1)

The device of claim 1, wherein the fourth data comprises one or more of:
fifth data indicative of a variance between one or more metrics of an activity and analysis threshold data, or
sixth data indicative of how to reduce the variance.

### Claim 5 (depends on 1)

The device of claim 1, further comprising the one or more hardware processors to execute the computer-executable instructions to:
generate user interface data comprising at least a portion of one or more of: the second data or the fourth data; and
send the user interface data to a second device.

### Claim 6 (depends on 1)

The device of claim 1, further comprising the one or more hardware processors to execute the computer-executable instructions to:
receive fifth data associated with a particular portion of the first data;
generate user interface data presenting at least the particular portion of the first data;
send the user interface data to one or more devices; and
determine sixth data indicative of one or more thresholds associated with one or more analysis rules.

### Claim 7 (depends on 1)

The device of claim 1, wherein the one or more activities comprise communication between the AUT and one or more devices during a test; and
further comprising the one or more hardware processors to execute the computer-executable instructions to:
obtain fifth data indicative of video of the AUT during the test; and
associate the fifth data with the first data.

### Claim 8

A method comprising:
accessing first data comprising information about one or more activities associated with an application obtained during a test;
determining second data indicative of a burst comprising the one or more activities in the first data that are deemed to be associated with one another;
accessing third data comprising images generated during execution of the application during at least a portion of the test;
synchronizing the third data with the first data;
generating fourth data based on the first data associated with the second data and the synchronization of the third data with the first data, wherein the fourth data is indicative of one or more issues occurring during the test; and
generating user interface data to present information based at least in part on the second data indicative of the burst and the fourth data indicative of the one or more issues.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
determining a union of time associated with each of the one or more activities of the second data;
determining a sum of data transferred by the one or more activities of the second data; and
wherein the user interface data is further configured to present a graphical representation of the second data comprising a rectangle having a width based on the union of time and a height based on the sum of data transferred.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
determining a variance between one or more metrics associated with one of the one or more activities and an analysis threshold; and
wherein the user interface data further comprises instructions to generate a graphical representation of the variance.

### Claim 11 (depends on 8)

The method of claim 8, the determining the second data comprising:
determining a first activity occurring in the first data with a frequency that is less than a first threshold value;
determining a second activity occurring in the first data with a frequency that is less than a second threshold value;
determining one or more of:
a first timestamp of the first activity is within a threshold time window of a second timestamp of the second activity, or
a first overall time of the first activity overlaps with a second overall time of the second activity; and
generating the second data to include at least the first activity and the second activity.

### Claim 12 (depends on 8)

The method of claim 8, further comprising:
establishing a connection between a proxy and a proxy host device at a first geolocation;
establishing communication between the proxy and a device at a second geolocation that is executing the application;
sending, via the connection, communications between the application and a server using the proxy host device; and
receiving at least a portion of the first data from the proxy.

### Claim 13 (depends on 8)

The method of claim 8, wherein the first data comprises one or more of:
video capture of images generated by the application during testing,
hardware metrics obtained from a computing device executing the application,
operating system metrics obtained from the computing device executing the application, or
data exchanged between the application and one or more destination devices.

### Claim 14 (depends on 8)

The method of claim 8, further comprising:
receiving fifth data indicative of user input from a user interface; and
generating second user interface data indicative of the third data.

### Claim 15

A method comprising:
accessing first data comprising information about one or more activities associated with an application obtained during a test that is executing on a first device;
accessing second data comprising images generated during execution of the application during at least a portion of the test;
determining third data indicative of a burst comprising the one or more activities in the first data that are deemed to be associated with one another;
synchronizing the first data with the second data;
generating fourth data based on the synchronization of the first data and the second data, wherein the fourth data is indicative of one or more issues occurring during the test; and
generating user interface data to present information based at least in part on the third data indicative of the burst and the fourth data indicative of the one or more issues.

### Claim 16 (depends on 15)

The method of claim 15, further comprising:
establishing a connection between the application executing on the first device and a second device via proxy;
receiving the first data from the proxy;
determining a round-trip time between the first device and the proxy;
determining a threshold time window based at least in part on the round-trip time, wherein the threshold time window is indicative of a time interval that is greater than or equal to the round-trip time; and
wherein determining the third data comprises:
determining a first timestamp of a first activity is within the threshold time window of a second timestamp of a second activity; and
generating the third data including the first activity and the second activity.

### Claim 17 (depends on 15)

The method of claim 15, further comprising:
determining a union of time spent performing each of the one or more activities of the third data;
determining a sum of fifth data transferred by the one or more activities of the third data; and
the user interface data further configured to present a graphical representation of the third data, the graphical representation comprising a rectangle having a width based on the union of time and a height based on the sum of the fifth data transferred.

### Claim 18 (depends on 15)

The method of claim 15, further comprising:
determining a metric value of one or more of the one or more activities;
comparing the metric value with threshold data; and
the user interface data further configured to present an issue indicator based on the comparison.

### Claim 19 (depends on 15)

The method of claim 15, further comprising:
accessing source code of the application;
determining a correspondence between a portion of the source code and at least a portion of the first data; and
presenting the portion of the source code contemporaneously with presenting the fourth data.

### Claim 20 (depends on 15)

The method of claim 15, further comprising:
establishing a connection between a proxy and a proxy host device at a first geolocation;
establishing communication between the proxy and a device at a second geolocation that is executing the application;
sending, via the connection, communications between the application and a server using the proxy host device; and
receiving at least a portion of the first data from the proxy.
