IP Library › Granted Patent US 11,606,267
Granted Patent B1
US 11,606,267 · App. 17/471,456 · Granted Mar 14, 2023

Detecting and quantifying latency components in accessing cloud services

Inventors: Srinivasachakrapani Kotipalli (Sammamish, WA); Brad Rutkowski (Woodinville, WA); Paul James Andrew (Redmond, WA); Konstantin Ryvkin (Bellevue, WA); Chittaranjan Sadanand Pattekar (Redmond, WA); Saurabh Vats (Seattle, WA)
Assignee: Microsoft Technology Licensing, LLC
H04L41/5025H04L41/065H04L41/5006H04L43/04H04L43/0852
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,606,267
App. No.
17/471,456
Granted
Mar 14, 2023
Kind
B1
Abstract

A latency processing system detects traffic at a cloud service end point and analyzes packets in the detected traffic to identify a network configuration of a client that is accessing the cloud service. Latency components corresponding to different parts of the network configuration are identified and quantified. A recommendation engine is controlled to generate and surface an output indicative of recommendations for reducing network latency.

Claims (71)

1. A computer system, comprising:

at least one processor; and

a data store storing instructions which, when executed by the at least one processor, cause the at least one processor to perform steps compromising:

detecting a first latency for a first client, using a first set of network components, in connecting to a cloud service endpoint;

detecting a second latency for a second client, using a second set of network components, in a common geographic area as the first client, in connecting to the cloud service endpoint using the second set of network components, the second latency being higher than the first latency;

based on the first latency encountered using the first set of network components, identifying a change in the second set of network components that can be made by the second client to obtain a latency reduction for the second client; and

generating a latency reduction recommendation output to the second client, the latency reduction recommendation output identifying:

a quantity of the latency reduction available to the second client, and

the identified change in the second set of network components.

2. The computer system of claim 1 wherein identifying a change in the second set of network components comprises:

identifying a change from a first, higher latency, internet service provider (ISP) in the common geographic area to a second, lower latency, ISP in the common geographic area.

3. The computer system of claim 2 wherein identifying a change from a first, higher latency, ISP to a second, lower latency, ISP, comprises:

identifying a plurality of ISPs in the common geographic area that are being used to connect to the cloud service endpoint based on detected traffic;

detecting a latency corresponding to each of the plurality of ISPs;

determining which of the plurality of ISPs the first and second clients are using based on requests received from the first and second clients at the cloud service endpoint; and

identifying the ISP used by the second client as the first, higher latency, ISP and identifying the ISP used by the first client as the second, lower latency, ISP.

4. The computer system of claim 1 wherein identifying a change in the second set of network components comprises:

identifying a change from a first, higher latency, proxy service provider in the common geographic area to a second, lower latency, proxy service provider in the common geographic area.

5. The computer system of claim 4 wherein identifying a change from a first, higher latency, proxy service provider to a second, lower latency, proxy service provider, comprises:

identifying a plurality of proxy service providers in the common geographic area that are being used to connect to the cloud service endpoint based on detected traffic;

detecting a latency corresponding to each of the plurality of proxy service providers;

determining which of the plurality of proxy service providers the first and second clients are using based on requests received from the first and second clients at the cloud service endpoint; and

identifying the proxy service provider used by the second client as the first, higher latency, proxy service provider and identifying the proxy service provider used by the first client as the second, lower latency, proxy service provider.

6. The computer system of claim 1 wherein the first client has a plurality of branch computing systems and wherein detecting a first latency comprises:

detecting a latency encountered by each of the branch computing systems in connecting to the cloud service endpoint.

7. The computer system of claim 6 wherein the branch computing systems connect to the cloud service endpoint through a proxy service provider and wherein detecting a latency encountered by each of the branch computing system comprises:

detecting a backhaul latency for each of the branch computing systems, the backhaul latency comprising a latency of connecting from the branch computing system to the proxy service provider.

8. The computer system of claim 7 and further comprising:

identifying, for each branch computing system, whether a lower latency connection configuration is available; and

if so, identifying the lower latency connection configuration for the branch computing system and a quantity of latency reduction corresponding to the lower latency connection configuration.

9. The computer system of claim 8 wherein generating the latency reduction recommendation output comprises:

generating a recommendation output indicative of the quantity of latency reduction and identifying the lower latency connection configuration.

10. A computer implemented method, comprising:

detecting a first latency for a first client, using a first set of network components, in connecting to a cloud service endpoint;

detecting a second latency for a second client, using a second set of network components, in a common geographic area as the first client, in connecting to the cloud service endpoint using the second set of network components, the second latency being higher than the first latency;

based on the first latency encountered using the first set of network components, identifying a change in the second set of network components that can be made by the second client to obtain a latency reduction; and

generating a latancy reduction recommendation output to the second client, the latency reduction recommendation output identifying;

a quantity of the latency reduction available to the second client, and

the identified change in the second set of network components.

11. The computer implemented method of claim 10 wherein identifying a change in the second set of network components comprises:

identifying a change from a first, higher latency, internet service provider (ISP) in the common geographic area to a second, lower latency, ISP in the common geographic area.

12. the computer implemented method of claim 11 wherein identifying a change from a first, higher latency, ISP to a second, lower latency, ISP, comprises:

identifying a plurality of ISPs in the common geographic area that are being used to connect to the cloud service endpoint based on detected traffic;

detecting a latency corresponding to each of the plurality of ISPs;

determining which of the plurality of ISPs the first and second clients are using based on requests received from the first and second clients at the cloud service endpoint; and

identifying the ISP used by the second client as the first, higher latency, ISP and identifying the ISP used by the first client as the second, lower latency, ISP.

13. The computer implemented method of claim 10 wherein identifying a change in the second set of network components comprises:

identifying a change from a first, higher latency, proxy service provider in the common geographic area to a second, lower latency, proxy service provider in the common geographic area.

14. The computer implemented method of claim 13 wherein identifying a change from a first, higher latency, proxy service provider to a second, lower latency, proxy service provider, comprises:

identifying a plurality of proxy service providers in the common geographic area that are being used to connect to the cloud service endpoint based on detected traffic:

detecting a latency corresponding to each of the plurality of proxy service providers;

determining which of the plurality of proxy service providers the first and second clients are using based on requests received from the first and second clients at the cloud service endpoint; and

identifying the proxy service provider used by the second client as the first, higher latency, proxy service provider and identifying the proxy service provider used by the first client as the second, lower latency, proxy service provider.

15. The computer implemented method of claim 10 wherein the first client has a plurality of branch computing systems and wherein detecting a first latency comprises:

detecting a latency encountered by each of the branch computing systems in connecting to the cloud service endpoint.

16. The computer implemented method of claim 15 wherein the, branch computing systems connect to the cloud service endpoint through a proxy service provider and wherein detecting a latency encountered by each of the branch computing system comprises:

detecting a backhaul latency for each of the branch computing systems, the backhaul latency comprising a latency of connecting from the branch computing system to the proxy service provider.

17. The computer implemented method of claim 16 and further comprising:

identifying, for each branch computing system, whether a lower latency connection configuration is available; and

if so, identifying the lower latency connection configuration for the branch computing system and a quantity of latency reduction corresponding to the lower latency connection configuration.

18. The computer implemented method of claim 17 wherein generating the latency reduction recommendation output comprises:

generating a recommendation output indicative of the quantity of latency reduction and identifying the lower latency connection configuration.

19. A computer implemented method, comprising:

detecting a plurality of different requests, originating from a common geographic area, at a cloud service endpoint;

detecting a network configuration from which each request originated;

detecting a latency encountered by each network configuration to identify a high latency network configuration having a first latency and a low latency network configuration having a second latency lower than the first latency;

identifying a client that is part of the high latency network configuration;

generating a network configuration recommendation for the identified client, the network configuration recommendation quantifying a reduction in latency available to the identified client by switching to the low latency network configuration; and

controlling an interface generator to output the network configuration recommendation for surfacing to the identified client.

20. The computer implemented method of claim 19 wherein the identified client has a plurality of branch computing systems and wherein the branch computing systems connect with the cloud service endpoint through a proxy service provider and wherein detecting a latency encountered by each of the branch computing system comprises:

detecting a backhaul latency for each of the branch computing systems, the backhaul latency comprising a latency of connecting from the branch computing system to the proxy service provider.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2021
From: KOTIPALLI, SRINIVASACHAKRAPANI; RUTKOWSKI, BRAD; ANDREW, PAUL JAMES; RYVKIN, KONSTANTIN; PATTEKAR, CHITTARANJAN SADANAND; VATS, SAURABH
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 057443/0278 →
Cited By (1)
US 12,363,016