IP Library Granted Patent US 12,113,691
Granted Patent B2
US 12,113,691 · App. 17/303,157 · Granted Oct 8, 2024

Determining an end user experience score based on client device, network, server device, and application metrics

Inventors: Steven Cohen (Chanhassen, MN); Kallingal Sebas Jayanth Kishoor (Woodbury, MN); Todd Lange (Eagan, MN)
Assignee: VIAVI Solutions Inc.
H04L43/0864H04L43/04H04L43/065H04L67/535
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 12,113,691
App. No.
17/303,157
Granted
Oct 8, 2024
Kind
B2
Abstract

A device receives client delay metrics associated with a client device, network delay metrics associated with a network, server delay metrics associated with a server device, and application delay metrics associated with an application provided by the server device, wherein the client device and the server device communicate via the network. The device calculates client delay scores based on the client delay metrics, and calculates network delay scores based on the network delay metrics. The device calculates server delay scores based on the server delay metrics, and calculates application delay scores based on the application delay metrics. The device calculates an end user experience score based on the client delay scores, the network delay scores, the server delay scores, and the application delay scores, and performs an action based on the end user experience score.

Claims (118)

1. A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising:

one or more instructions that, when executed by one or more processors of a device, cause the device to:

calculate one or more client delay scores associated with providing first indications of delays caused by a client device;

calculate one or more network delay scores associated with providing second indications of delays caused by a network;

calculate one or more server delay scores associated with providing third indications of delays caused by a server device;

calculate one or more application delay scores associated with providing fourth indications of delays caused by an application;

identify a particular value;

generate an end user experience score by deducting, from the particular value, at least one of the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, or the one or more application delay scores; and

selectively perform one or more actions based on the end user experience score, a largest source of delay, the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, and/or the one or more application delay scores,

wherein the largest source of delay is one of the client device, the network, the server device, or the application, and

wherein the one or more actions include one or more of:

restart at least one of the client device, the server device, one or more network devices associated with the network, or the application,

provide updated software to at least one of the client device, the server device, or the one or more network devices,

provide updated software for the application,

remove software from at least one of the client device, the server device, or the one or more network devices,

remove the application from the server device,

replace at least one of the server device, the one or more network devices, or the application,

add hardware to at least one of the client device, the server device, or the one or more network devices,

increase network bandwidth, or

add one or more other network devices to the network.

2. The non-transitory computer-readable medium of claim 1 , wherein the one or more instructions further cause the device to:

bias, based on received metrics and/or auxiliary information, at least one of the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, or the one or more application delay scores.

3. The non-transitory computer-readable medium of claim 1 , wherein the one or more instructions further cause the device to:

train one or more machine learning models by providing historical metrics and historical final scores to the one or more machine learning models; and

process, using the one or more machine learning models, one or more of the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, or the one or more application delay scores.

4. The non-transitory computer-readable medium of claim 1 , wherein the one or more instructions further cause the device to:

provide historical metrics and historical final scores to one or more machine learning models;

receive predictions of rules based on providing the historical metrics and the historical final scores to the one or more machine learning models;

update the one or more machine learning models based on the predictions of rules; and

process, the one or more updated machine learning models, one or more of the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, or the one or more application delay scores.

5. The non-transitory computer-readable medium of claim 1 , wherein the one or more instructions further cause the device to:

detect potential security threats associated with at least one of the client device, the server device, the network, or the application; and

wherein the one or more instructions, that cause the device to calculate the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, and/or the one or more application delay scores, cause the device to:

calculate the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, and/or the one or more application delay scores based on detecting the potential security threats.

6. The non-transitory computer-readable medium of claim 1 , wherein the one or more instructions further cause the device to:

receive, via a user interface, one or more user-defined metrics; and

wherein the one or more instructions, that cause the device to calculate the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, and/or the one or more application delay scores, cause the device to:

calculate the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, and/or the one or more application delay scores based on the one or more user-defined metrics.

7. A method, comprising:

calculating, by a device, one or more client delay scores associated with providing first indications of delays caused by a client device;

calculating, by the device, one or more network delay scores associated with providing second indications of delays caused by a network;

calculating, by the device, one or more server delay scores associated with providing third indications of delays caused by a server device;

calculating, by the device, one or more application delay scores associated with providing fourth indications of delays caused by an application;

identifying, by the device, a particular value;

generating, by the device, an end user experience score by deducting, from the particular value, at least one of the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, or the one or more application delay scores; and

selectively performing, by the device, one or more actions based on the end user experience score, a largest source of delay, the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, and/or the one or more application delay scores,

wherein the largest source of delay is one of the network or the application, and

wherein the one or more actions include one or more of:

restart at least one of the client device, the server device, one or more network devices associated with the network, or the application,

provide updated software to at least one of the client device, the server device, or the one or more network devices,

provide updated software for the application,

remove software from at least one of the client device, the server device, or the one or more network devices,

remove the application from the server device,

replace at least one of the server device, the one or more network devices, or the application,

add hardware to at least one of the client device, the server device, or the one or more network devices,

increase network bandwidth, or

add one or more other network devices to the network.

8. The method of claim 7 , further comprising:

biasing, based on received metrics and/or auxiliary information, at least one of the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, or the one or more application delay scores.

9. The method of claim 7 , further comprising:

training one or more machine learning models by providing historical metrics and historical final scores to the one or more machine learning models; and

processing, using the one or more machine learning models, one or more of the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, or the one or more application delay scores.

10. The method of claim 7 , further comprising:

providing historical metrics and historical final scores to one or more machine learning models;

receiving predictions of rules based on providing the historical metrics and the historical final scores to the one or more machine learning models;

updating the one or more machine learning models based on the predictions of rules; and

processing, using the one or more updated machine learning models, one or more of the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, or the one or more application delay scores.

11. The method of claim 7 , further comprising:

detecting potential security threats associated with at least one of the client device, the server device, the network, or the application; and

wherein calculating the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, and/or the one or more application delay scores comprises:

calculating the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, and/or the one or more application delay scores based on detecting the potential security threats.

12. The method of claim 7 , further comprising:

receiving, via a user interface, one or more user-defined metrics; and

wherein calculating the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, and/or the one or more application delay scores:

calculating the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, and/or the one or more application delay scores based on the one or more user-defined metrics.

13. A device, comprising:

one or more memories; and

one or more processors, communicatively coupled to the one or more memories, configured to:

calculate one or more client delay scores associated with providing first indications of delays caused by a client device;

calculate one or more network delay scores associated with providing second indications of delays caused by a network;

calculate one or more server delay scores associated with providing third indications of delays caused by a server device;

calculate one or more application delay scores associated with providing fourth indications of delays caused by an application;

identify a particular value;

generate an end user experience score by deducting, from the particular value, at least one of the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, or the one or more application delay scores; and

selectively perform one or more actions based on the end user experience score, a largest source of delay, the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, and/or the one or more application delay scores,

wherein the largest source of delay is one of the network or the application, and

wherein the one or more actions include one or more of:

restart at least one of the client device, the server device, one or more network devices associated with the network, or the application,

provide updated software to at least one of the client device, the server device, or the one or more network devices,

provide updated software for the application,

remove software from at least one of the client device, the server device, or the one or more network devices,

remove the application from the server device,

replace at least one of the server device, the one or more network devices, or the application,

add hardware to at least one of the client device, the server device, or the one or more network devices,

increase network bandwidth, or

add one or more other network devices to the network.

14. The device of claim 13 , wherein the one or more processors are configured to:

bias, based on received metrics and/or auxiliary information, at least one of the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, or the one or more application delay scores.

15. The device of claim 13 , wherein the one or more processors are configured to:

train one or more machine learning models by providing historical metrics and historical final scores to the one or more machine learning models; and

wherein the one or more processors, to calculate the end user experience score, are configured to:

calculate the end user experience score based on training the one or more machine learning models.

16. The device of claim 13 , wherein the one or more processors are configured to:

provide historical metrics and historical final scores to one or more machine learning models;

receive predictions of rules based on providing the historical metrics and the historical final scores to the one or more machine learning models;

update the one or more machine learning models based on the predictions of rules; and

using the one or more updated machine learning models.

17. The device of claim 13 , wherein the one or more processors are configured to:

detect potential security threats associated with at least one of the client device, the server device, the network, or the application; and

calculate the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, and/or the one or more application delay scores based on detecting the potential security threats.

18. The device of claim 13 , wherein the one or more processors are configured to:

receive, via a user interface, one or more user-defined metrics; and

wherein the one or more processors, to calculate the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, and/or the one or more application delay scores, are configured to:

calculate the one or more client delay scores, the one or more network delay scores, the one or more server delay scores, and/or the one or more application delay scores based on the one or more user-defined metrics.

19. The method of claim 7 , further comprising:

generating a user interface that includes first information indicating the end user experience score and second information indicating the largest source of delay.

20. The device of claim 13 , wherein the one or more processors are configured to:

generate a user interface that includes first information indicating the end user experience score and second information indicating the largest source of delay.

Assignments (4)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 73189/0873 Recorded May 28, 2026
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: INERTIAL LABS, INC.; VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC
Reel/Frame 075642/0381 →
SECURITY INTEREST Recorded Nov 14, 2025
From: VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC; INERTIAL LABS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 073571/0137 →
SECURITY AGREEMENT Recorded Oct 21, 2025
From: INERTIAL LABS, INC.; VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 073189/0873 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2021
From: COHEN, STEVEN; JAYANTH KISHOOR, KALLINGAL SEBAS; LANGE, TODD
To: VIAVI SOLUTIONS INC.
Reel/Frame 056314/0661 →
Continuity (2)
Continuation 15940278 · Mar 29, 2018
Related Publication 20210328895A1 · Oct 21, 2021