IP Library › Granted Patent US 11,985,053
Granted Patent B2
US 11,985,053 · App. 17/648,021 · Granted May 14, 2024

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

Inventor: Steve Cohen (Chanhassen, 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 11,985,053
App. No.
17/648,021
Granted
May 14, 2024
Kind
B2
Abstract

A device may receive client delay metrics associated with a client device of a network, network delay metrics associated with the network, server delay metrics associated with a server device of the network, and application delay metrics associated with an application provided by the server device. The device may calculate passive and active client delay scores based on the client delay metrics and the application delay metrics, and may calculate passive and active network delay scores based on the network delay metrics. The device may calculate passive and active server delay scores based on the server delay metrics and the application delay metrics, and may calculate passive and active application delay scores based on the application delay metrics. The device may calculate an end user experience score based on the scores, and may perform actions based on the end user experience score.

Claims (105)

1. A method, comprising:

receiving, by a device, client delay metrics associated with a client device of a network;

receiving, by the device, network delay metrics associated with the network;

receiving, by the device, server delay metrics associated with a server device of the network;

receiving, by the device, application delay metrics associated with an application provided by the server device;

calculating, by the device and based on passive monitoring, one or more passive client delay scores;

calculating, by the device and via active or synthetic testing, one or more active client delay scores based on the client delay metrics and the application delay metrics,

wherein calculating the one or more active client delay scores based on the client delay metrics and the application delay metrics comprises:

processing the client delay metrics and the application delay metrics, with a model, to calculate a first active client delay score; and

processing the client delay metrics and the application delay metrics, with a machine learning model, to calculate a second active client delay score, and

wherein the machine learning model comprises one or more of a support vector machine model, a linear regression model, a least absolute shrinkage and selection operator (Lasso) regression model, a Ridge regression model, an Elastic Net model, or a k-nearest neighbor model;

calculating, by the device, one or more passive network delay scores and one or more active network delay scores based on the network delay metrics;

calculating, by the device, one or more passive server delay scores and one or more active server delay scores based on the server delay metrics and the application delay metrics;

calculating, by the device, one or more passive application delay scores and one or more active application delay scores based on the application delay metrics;

calculating, by the device, an end user experience score based on the one or more passive client delay scores, the one or more active client delay scores, the one or more passive network delay scores, the one or more active network delay scores, the one or more passive server delay scores, the one or more active server delay scores, the one or more passive application delay scores, and the one or more active application delay scores; and

performing, by the device, one or more actions based on the end user experience score.

2. The method of claim 1 , wherein performing the one or more actions comprises one or more of:

modifying the client device to modify the one or more passive client delay scores or the one or more active client delay scores;

modifying the network to modify the one or more passive network delay scores or the one or more active network delay scores;

modifying the server device to modify the one or more passive server delay scores or the one or more active server delay scores; or

modifying the application to modify the one or more passive application delay scores or the one or more active application delay scores.

3. The method of claim 1 , wherein calculating the one or more active network delay scores based on the network delay metrics comprises:

processing the network delay metrics to calculate a first active network delay score;

processing the network delay metrics to calculate a second active network delay score; and

selecting a greater of the first active network delay score or the second active network delay score as the one or more active network delay scores.

4. The method of claim 1 , wherein calculating the one or more active server delay scores based on the server delay metrics and the application delay metrics comprises:

processing the server delay metrics and the application delay metrics to calculate a first active server delay score; and

processing the network delay metrics and the application delay metrics to calculate a second active server delay score.

5. The method of claim 1 , wherein calculating the one or more active application delay scores based on the application delay metrics comprises:

calculating an application unavailable score based on the application delay metrics; and

calculating an application errors score based on the application delay metrics,

wherein the one or more active application delay scores correspond to the application unavailable score and the application errors score.

6. The method of claim 1 , wherein calculating the end user experience score comprises:

calculating a final passive score based on the one or more passive client delay scores, the one or more passive network delay scores, the one or more passive server delay scores, and the one or more passive application delay scores;

calculating a final active score based on the one or more active client delay scores, the one or more active network delay scores, the one or more active server delay scores, and the one or more active application delay scores; and

combining the final passive score and the final active score to calculate the end user experience score.

7. A device, comprising:

one or more memories; and

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

receive client delay metrics associated with a client device of a network;

receive network delay metrics associated with the network;

receive server delay metrics associated with a server device of the network;

receive application delay metrics associated with an application provided by the server device;

calculate, based on passive monitoring, one or more passive client delay scores;

calculate, via active or synthetic testing, one or more active client delay scores based on the client delay metrics and the application delay metrics,

wherein, to calculate the one or more active client delay scores based on the client delay metrics and the application delay metrics, the one or more processors are configured to:

process the client delay metrics and the application delay metrics, with a model, to calculate a first active client delay score; and

process the client delay metrics and the application delay metrics, with a machine learning model, to calculate a second active client delay score, and

wherein the machine learning model comprises one or more of a support vector machine model, a linear regression model, a least absolute shrinkage and selection operator (Lasso) regression model, a Ridge regression model, an Elastic Net model, or a k-nearest neighbor model;

calculate one or more passive network delay scores and one or more active network delay scores based on the network delay metrics;

calculate one or more passive server delay scores and one or more active server delay scores based on the server delay metrics and the application delay metrics;

calculate one or more passive application delay scores and one or more active application delay scores based on the application delay metrics;

calculate an end user experience score based on the one or more passive client delay scores, the one or more active client delay scores, the one or more passive network delay scores, the one or more active network delay scores, the one or more passive server delay scores, the one or more active server delay scores, the one or more passive application delay scores, and the one or more active application delay scores; and

provide the end user experience score for display.

8. The device of claim 7 , wherein the end user experience score provides an indication of an end user experience with the client device, the server device, the network, and the application.

9. The device of claim 7 , wherein the client delay metrics include one or more of a window exhaustion metric, a bulk data transfer exhausted window metric, or a bulk data transfer time metric.

10. The device of claim 7 , wherein the one or more processors, to calculate the one or more active network delay scores based on the network delay metrics, are configured to:

calculate an active network connection establishment failure score based on the network delay metrics;

calculate an active delay score based on the network delay metrics;

calculate an active slow network for data transfer score based on the network delay metrics; and

calculate an active network connection establishment delay score based on the network delay metrics,

wherein the active network connection establishment failure score, the active delay score, the active slow network for data transfer score, and the active network connection establishment delay score correspond to the one or more active network delay scores.

11. The device of claim 7 , wherein the one or more processors, to calculate the one or more active server delay scores based on the server delay metrics and the application delay metrics, are configured to:

calculate an active server connection establishment failure score based on the server delay metrics and the application delay metrics; and

calculate an active delay score based on the server delay metrics and the application delay metrics,

wherein the one or more active server delay scores correspond to the active server connection establishment failure score and the active delay score.

12. The device of claim 7 , wherein the network delay metrics include one or more of a round trip network delay metric, a connections metric, connection establishment failure metrics, connection establishment delay metrics, a retransmissions metric, a data transfer time metric, a data transfer retransmission time metric, a data transfer bytes metric, a retransmitted packets metric, a total packets metric, or a data packets metric.

13. The device of claim 7 , wherein the server delay metrics include one or more of a window exhaustion metric, a bulk data transfer exhausted window metric, a bulk data transfer time metric, a connections metric, connection establishment failure metrics, or connection establishment delay metrics.

14. 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:

receive client delay metrics associated with a client device of a network;

receive network delay metrics associated with the network;

receive server delay metrics associated with a server device of the network;

receive application delay metrics associated with an application provided by the server device;

calculate, based on passive monitoring, one or more passive client delay scores;

calculate, via active or synthetic testing, one or more active client delay scores based on the client delay metrics and the application delay metrics,

wherein the one or more instructions, that cause the device to calculate the one or more active client delay scores based on the client delay metrics and the application delay metrics, cause the device to:

process the client delay metrics and the application delay metrics, with a model, to calculate a first active client delay score; and

process the client delay metrics and the application delay metrics, with a machine learning model, to calculate a second active client delay score, and

wherein the machine learning model comprises one or more of a support vector machine model, a linear regression model, a least absolute shrinkage and selection operator (Lasso) regression model, a Ridge regression model, an Elastic Net model, or a k-nearest neighbor model;

calculate one or more passive network delay scores and one or more active network delay scores based on the network delay metrics;

calculate one or more passive server delay scores and one or more active server delay scores based on the server delay metrics and the application delay metrics;

calculate one or more passive application delay scores and one or more active application delay scores based on the application delay metrics;

calculate an end user experience score based on the one or more passive client delay scores, the one or more active client delay scores, the one or more passive network delay scores, the one or more active network delay scores, the one or more passive server delay scores, the one or more active server delay scores, the one or more passive application delay scores, and the one or more active application delay scores; and

modify one or more of the client device, the network, the server device, or the application based on the end user experience score.

15. The non-transitory computer-readable medium of claim 14 , wherein the one or more instructions, that cause the device to calculate the one or more active network delay scores based on the network delay metrics, cause the device to:

process the network delay metrics to calculate a first active network delay score;

process the network delay metrics to calculate a second active network delay score; and

select a greater of the first active network delay score or the second active network delay score as the one or more active network delay scores.

16. The non-transitory computer-readable medium of claim 14 , wherein the one or more instructions, that cause the device to calculate the one or more active server delay scores based on the server delay metrics and the application delay metrics, cause the device to:

process the server delay metrics and the application delay metrics to calculate a first active server delay score; and

process the network delay metrics and the application delay metrics to calculate a second active server delay score.

17. The non-transitory computer-readable medium of claim 14 , wherein the one or more instructions, that cause the device to calculate the one or more active application delay scores based on the application delay metrics, cause the device to:

calculate an application unavailable score based on the application delay metrics; and

calculate an application errors score based on the application delay metrics,

wherein the one or more active application delay scores correspond to the application unavailable score and the application errors score.

18. The non-transitory computer-readable medium of claim 14 , wherein the one or more instructions, that cause the device to calculate the one or more active network delay scores based on the network delay metrics, cause the device to:

calculate an active network connection establishment failure score based on the network delay metrics;

calculate an active delay score based on the network delay metrics;

calculate an active slow network for data transfer score based on the network delay metrics; and

calculate an active network connection establishment delay score based on the network delay metrics,

wherein the active network connection establishment failure score, the active delay score, the active slow network for data transfer score, and the active network connection establishment delay score correspond to the one or more active network delay scores.

19. The device of claim 7 , wherein, to calculate the one or more active client delay scores based on the client delay metrics and the application delay metrics, the one or more processors are further configured to:

select one of the first active client delay score or the second active client delay score as one of the one or more active client delay scores.

20. The device of claim 7 , wherein the model is an absolute model.

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 Jan 14, 2022
From: COHEN, STEVE
To: VIAVI SOLUTIONS INC.
Reel/Frame 058659/0984 →
Continuity (3)
Continuation In Part 17303157 · May 21, 2021
Continuation 15940278 · Mar 29, 2018
Related Publication 20220141109A1 · May 5, 2022