IP Library Granted Patent US 11,252,261
Granted Patent B2
US 11,252,261 · App. 16/849,248 · Granted Feb 15, 2022

System and method for analyzing web application network performance

Inventor: Alexander G. Dumaine (Durham, NC)
H04L67/36H04L67/02
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,252,261
App. No.
16/849,248
Granted
Feb 15, 2022
Kind
B2
Abstract

A system and method are presented for analyzing network performance of a web application. A user interface in a cloud-based collaboration platform provides a notification when the user's location is having network connectivity issues to the collaboration platform. Connectivity issues may be determined through aggregation of measurements of network quality and performance (e.g. XMLHttpRequest requests, Websockets, and WebRTC) and alerting the user when issues arise. Data may be pushed back to an analytics ingestion system for aggregate-of-aggregate analytics and alerting as well as viewing network performance across a plurality of users and organizations.

Claims (48)

1. A computer-implemented method for assessing connection quality for a first party in an interaction between the first party and a second party in a cloud-based collaboration platform, wherein the first party is associated with an enterprise that provides application features via the cloud-based collaboration platform, the method comprising the steps of:

measuring web application network performance across a plurality of network connections between a central client and a plurality of endpoints to obtain a measurement for each network connection, wherein each of the plurality of network connections comprises a different connection type;

aggregating the measurements obtained for each of the different connection types and analyzing for an issue;

detecting an issue with a first connection type of the different connection types based on analysis of the aggregate of the measurements of the first connection type; and

in response to detecting the issue, dynamically shifting at least one of the application features from network connections of the first connection type to network connections of one of the other connection types of the different connection types.

2. The method of claim 1 , wherein the enterprise comprises a contact center and the first party comprises an agent of the contact center.

3. The method of claim 2 , further comprising the steps of:

alerting the first party in real-time of the detected issue; and

receiving input from the first party that initiates the step of dynamically shifting the at least one of the application features from the network connections of the first connection type to the network connections of the one of the other connection types of the different connection types.

4. The method of claim 3 , wherein the measuring further comprises analytics of XMLHttpRequests, Websockets, and WebRTC.

5. The method of claim 4 , wherein the XMLHttpRequests are monitored for at least one of:

latency in response time as a function of request body size and response body size; and

status codes.

6. The method of claim 4 , wherein the Websockets are monitored for frequent closures, wherein the closures are determined to be indicative of socket connection disruption.

7. The method of claim 6 , wherein web telemetry is performed of TCP connections performed in a browser via the Websockets for measuring at least one of: network quality, network connectivity, and network stability.

8. The method of claim 4 , wherein the WebRTC is monitored for one or more of:

prior to connection, latency in gathering ICE candidates;

after the connection, media statistics for latency, bandwidth usage and availability, jitter, and dropped packets;

connection interruptions; and

connection terminations.

9. The method of claim 8 , wherein built-in network metrics and RTCPeerConnection are used to determine metrics for monitoring.

10. The method of claim 3 , wherein the measuring further comprises analytics of two of: XMLHttpRequest requests, Websockets, and WebRTC.

11. The method of claim 3 , wherein the measuring is performed using web telemetry; further comprising the steps of:

pushing data to an analytics ingestion system for aggregate-of-aggregate analytics and alerting; and

compiling analysis of network performance across users and organizations.

12. A system for assessing connection quality for a first party in an interaction between the first party and a second party in a cloud-based collaboration platform, wherein the first party is associated with an enterprise that provides application features via the cloud-based collaboration platform, the system comprising:

a processor; and

a memory in communication with the processor, the memory storing instructions that, when executed by the processor causes the processor to perform the steps of:

measuring web application network performance across a plurality of network connections between a central client and a plurality of endpoints to obtain a measurement for each network connection, wherein each of the plurality of network connections comprises a different connection type;

aggregating the measurements obtained for each of the different connection types and analyzing for an issue;

detecting an issue with a first connection type of the different connection types based on analysis of the aggregate of the measurements of the first connection type; and

in response to detecting the issue, dynamically shifting at least one of the application features from network connections of the first connection type to network connections of one of the other connection types of the different connection types.

13. The system of claim 12 , wherein the enterprise comprises a contact center and the first party comprises an agent of the contact center.

14. The system of claim 13 , wherein the memory stores additional instructions that, when executed by the processor further cause the processor to perform the steps of:

alerting the first party in real-time of the detected issue; and

receiving input from the first party that initiates the step of dynamically shifting the at least one of the application features from the network connections of the first connection type to the network connections of the one of the other connection types of the different connection types.

15. The system of claim 14 , wherein the measuring further comprises analytics of XMLHttpRequests, Websockets, and WebRTC.

16. The system of claim 15 , wherein the XMLHttpRequests are monitored for at least one of:

latency in response time as a function of request body size and response body size; and

status codes.

17. The system of claim 15 , wherein the Websockets are monitored for frequent closures, wherein the closures are determined to be indicative of socket connection disruption.

18. The system of claim 17 , wherein web telemetry is performed of TCP connections performed in a browser via the Websockets for measuring at least one of: network quality, network connectivity, and network stability.

19. The system of claim 15 , wherein the WebRTC is monitored for one or more of:

prior to connection, latency in gathering ICE candidates;

after the connection, media statistics for latency, bandwidth usage and availability, jitter, and dropped packets;

connection interruptions; and

connection terminations.

20. The system of claim 19 , wherein built-in network metrics and RTCPeerConnection are used to determine metrics for monitoring.

Assignments (4)
NOTICE OF SUCCESSION OF SECURITY INTERESTS AT REEL/FRAME 053598/0521 Recorded Feb 3, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR AGENT
Reel/Frame 070097/0036 →
CHANGE OF NAME Recorded May 13, 2024
From: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.
To: GENESYS CLOUD SERVICES, INC.
Reel/Frame 067391/0081 →
SECURITY AGREEMENT Recorded Aug 25, 2020
From: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 053598/0521 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2020
From: DUMAINE, ALEXANDER G.
To: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.
Reel/Frame 052424/0004 →
Cited By (1)
US 12,456,463