# US 2022/0045959 A1 · Quality of experience (qoe) optimization of device and network configuration

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

- Number: US 2022/0045959 A1
- Document ID: US20220045959A1
- Status: Published application
- Kind: A1
- Application number: 16/989,768
- Filed: 2020-08-10
- Published: 2022-02-10
- Earliest claimed: 2020-08-10
- Assignees: T-Mobile USA, Inc.
- Applicants: T-Mobile USA, Inc.
- Inventors: Kanakrai Chauhan
- Web page: https://patentgrep.com/patent/US20220045959A1

## CPC

- H04L 47/24: Traffic characterised by specific attributes, e.g. priority or QoS
- H04L 41/0823: characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability (for optimising operational conditions of wireless networks H04W24/02)
- H04L 41/5067: Customer-centric QoS measurements
- H04L 43/087: Jitter
- H04L 43/0888: Throughput
- H04L 43/0894: Packet rate
- H04L 65/80: Responding to QoS
- H04L 67/303: Terminal profiles
- H04L 67/306: User profiles
- H04L 41/0816: the condition being an adaptation, e.g. in response to network events
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

This disclosure describes systems, devices, and computer-implemented methods that facilitate the modification of network configuration data within a client network to improve a Quality of Experience (QoE) metric associated with the execution of a user application on a client device. More specifically, a diagnostic controller may retrieve diagnostic data associated with the execution of a user application on a client device, determine a QoE metric associated with the execution of the user application, and generate network configuration data for delivery to the client device that improves the QoE metric, based on the diagnostic data and the QoE metric.

## Claims

### Claim 1

A system, comprising:
one or more processors;
memory coupled to the one or more processors, the memory including one or more modules that are executable by the one or more processors to:
retrieve, within a client network, a set of diagnostic data associated with execution of a user application via a client device;
determine a Quality of Experience (QoE) metric associated with the execution of the user application, based at least in part on the set of diagnostic data; and
generate network configuration data that improves the QoE metric for delivery to the client device, based at least in part on the set of diagnostic data and the QoE metric.

### Claim 2 (depends on 1)

The system of claim 1, wherein the user application corresponds to a streaming service and wherein the client device corresponds to a multimedia streaming device or a set-top box.

### Claim 3 (depends on 1)

The system of claim 1, wherein the set of diagnostic data corresponds to one or more of a buffering latency of a multimedia stream, a jitter index of the multimedia stream, a first bitrate for downlink throughput of a first data stream, or a second bitrate for uplink throughput of a second data stream.

### Claim 4 (depends on 1)

The system of claim 1, wherein the QoE metric is further based at least in part on threshold values for buffering latency, jitter indices, downlink throughput, and uplink throughput.

### Claim 5 (depends on 1)

The system of claim 1, wherein the one or more modules are further executable by the one or more processors to:
monitor, within the client network, execution of individual user applications on the client device over a predetermined time interval; and
generate a client profile for the client device, based at least in part on monitored events, and
wherein, to generate the network configuration data is further based at least in part on the client profile.

### Claim 6 (depends on 1)

The system of claim 1, wherein the one or more modules are further executable by the one or more processors to:
monitor, within the client network, execution of individual user applications on one or more client devices over a predetermined time interval;
determine a network performance at different geolocations within the client network, the network performance corresponding to individual QoE metrics associated with the execution of the individual user applications; and
generate a network profile for the client network that correlates network performance with the individual user applications, and
wherein, to generate the network configuration data is further based at least in part on the network profile.

### Claim 7 (depends on 1)

The system of claim 1, wherein the one or more modules are further executable by the one or more processors to:
generate a recommendation to modify a physical network configuration of the client network to improve the QoE metric of the user application, the recommendation including at least one of a first change in geolocation of the client device or a second change in geolocation of a communication transceiver.

### Claim 8 (depends on 1)

The system of claim 1, wherein the one or more modules are further executable by the one or more processors to:
retrieve, from a data store, client profile data of client devices operating on the client network over a predetermined time interval;
retrieve, from the data store, a network profile data of the client network that denotes network performance at different geolocations within the client network over the predetermined time interval; and
generate a data model for the client network based at least in part on client profile data and the network profile data, and
wherein, to generate the network configuration data is further based at least in part on the data model.

### Claim 9 (depends on 1)

The system of claim 1, wherein the network configuration data prioritizes an allocation of network resources of the client network to the client device relative to other client devices within the client network.

### Claim 10 (depends on 1)

The system of claim 1, wherein the network configuration data prioritizes an allocation of network resources of the client network to the user application over other user applications being executed on the client device.

### Claim 11 (depends on 1)

The system of claim 1, wherein the QoE metric is a first QoE metric, and wherein the one or more modules are further executable by the one or more processors to:
determine that the client device is configured to communicate via a plurality of communication protocols; and
infer that a second QoE metric associated with an unused communication protocol of the plurality of communications protocols is greater than the first QoE metric, and
wherein, the network configuration data includes computer-executable instructions that automatically change a current communication protocol of the client device to the unused communication protocol.

### Claim 12 (depends on 1)

The system of claim 1, wherein the one or more modules are further executable by the one or more processors to:
determine a set of available communication protocols for the client device to execute the user application; and
generate a recommendation to modify a current communication protocol used by the client device to execute the user application, based at least in part on the set of available communication protocols.

### Claim 13 (depends on 12)

The system of claim 12, wherein the one or more modules are further executable by the one or more processors to:
identify a communications transceiver within the client network that is used to execute the user application on the client device, and
wherein, the set of available communication protocols is based at least in part on communication protocols supported by the communications transceiver.

### Claim 14

A computer-implemented method, comprising:
under control of one or more processors:
monitoring execution of individual user applications on one or more client devices with a client network over a predetermined time period;
determining a network performance at different geolocations within the client network, the network performance corresponding to QoE metrics of the individual user applications;
generating a network profile of the client network;
receiving a set of diagnostic data associated with a real-time execution of a user application on a client device;
determining a real-time QoE metric associated with execution of the user application; and
generating network configuration data for delivery to the client device, based at least in part on the network profile and the real-time QoE metric.

### Claim 15 (depends on 14)

The computer-implemented method of claim 14, further comprising:
determining that the real-time QoE metric is less than a predetermined QoE threshold, and
wherein, the network configuration data is configured to increase the real-time QoE metric to at least the predetermined QoE threshold.

### Claim 16 (depends on 14)

The computer-implemented method of claim 14, further comprising:
identifying available communications protocols used by the client device and a communications transceiver within the client network, the communications transceiver being used to execute the user application on the client device;
identifying an alternate communications protocol of the available communications protocols that is not currently used to execute the user application on the client device; and
determining that an alternate QoE metric associated with use of the alternate communications protocol to execute the user application is greater than the real-time QoE metric, and
wherein, generating the network configuration data includes computer-executable instructions that automatically change a current communications protocol to the alternate communications protocol.

### Claim 17 (depends on 14)

The computer-implemented method of claim 14, further comprising:
generating a client profile for the client device, based at least in part on monitored events over a predetermined time interval, the monitored events being associated with an execution of individual user applications by the client device; and
determining a priority of a first user application relative a second user application that is simultaneously executed on the client device, based at least in part on the client profile, and
wherein, generating the network configuration data is further based at least in part on the priority.

### Claim 18

A client device that is communicatively coupled to a diagnostic controller, comprising:
one or more processors;
memory coupled to the one or more processors, the memory including one or more modules that are executable by the one or more processors to:
capture, via a diagnostic agent and over a predetermined time period, diagnostic data associated with execution of one or more user applications on the client device within a client network;
transmit, the diagnostic data to the diagnostic controller;
detect, via the diagnostic agent, a real-time execution of at least one user application on the client device; and
receive from the diagnostic controller, network configuration data that is configured to automatically modify a QoE associated with the execution of the at least one user application.

### Claim 19 (depends on 18)

The client device of claim 18, wherein the network configuration data is configured to change a current communications protocol used by the client device to execute the at least one user application to an alternate communications protocol that is different from the current communications protocol.

### Claim 20 (depends on 18)

The client device of claim 18, wherein the one or more modules are further executable by the one or more processors to:
display, via a user interface, selectable options to modify the real-time execution of the at least one user application;
receive, via the user interface, a user selection of one of the selectable options; and
modify the real-time execution of the at least one user application based at least in part on the user selection.
