IP Library › Granted Patent US 11,438,274
Granted Patent B2
US 11,438,274 · App. 17/009,445 · Granted Sep 6, 2022

Network latency optimization

Inventors: Maurice Manuel Garcia (Levittown, PA); Richard Woundy (Ambler, PA)
Assignee: Comcast Cable Communications, LLC
H04L47/2425H04L43/0858H04L47/18H04L47/28H04L47/6295H04L47/14
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,438,274
App. No.
17/009,445
Granted
Sep 6, 2022
Kind
B2
Abstract

A network may provide latency optimization by configuring respective latency values of one or more network components. A latency manager may receive a request indicative of a maximum latency value of a communications path between two devices, and may determine a particular network latency value. The latency manager may then determine respective endpoint latency values for endpoint devices based on the maximum latency value and network latency values. In addition, buffer characteristics, such as buffer depth at particular devices, may be adjusted in view of the latencies.

Claims (78)

1. A non-transitory computer-readable medium storing instructions that, when executed, cause:

determining, by one or more computing devices and based on a difference between a requested maximum network latency value and a value indicative of a measured network latency of a network communications path between a first device and a second device:

a network latency requirement for the first device, and

a network latency requirement for the second device;

adjusting, based on the network latency requirement for the first device, a queue associated with the first device; and

adjusting, based on the network latency requirement for the second device and a device type of the first device, a queue associated with the second device.

2. The non-transitory computer-readable medium of claim 1 , wherein the instructions, when executed, cause:

the adjusting the queue associated with the first device by causing adjusting, based on the network latency requirement for the first device, a minimum packet-buffer-queue depth and a maximum packet-buffer-queue depth of the queue associated with the first device; and

the adjusting the queue associated with the second device by causing adjusting, based on the network latency requirement for the second device, a minimum packet-buffer-queue depth and a maximum packet-buffer-queue depth of the queue associated with the second device.

3. The non-transitory computer-readable medium of claim 2 , wherein the requested maximum network latency value is associated with a service flow, and

wherein the instructions, when executed, cause the adjusting the minimum packet-buffer-queue depth and the maximum packet-buffer-queue depth of the queue associated with the first device by causing adjusting a packet-buffer-queue depth associated with the service flow.

4. The non-transitory computer-readable medium of claim 1 , wherein the instructions, when executed, cause the determining the network latency requirement for the first device by causing determining, based on a service tier associated with the first device, the network latency requirement for the first device.

5. The non-transitory computer-readable medium of claim 1 , wherein the instructions, when executed, cause the determining the network latency requirement for the first device by causing determining, based on the device type of the first device, the network latency requirement for the first device.

6. The non-transitory computer-readable medium of claim 1 , wherein the instructions, when executed, cause the determining the network latency requirement for the first device by causing determining, responsive to a determination that a communications link associated with the first device has failed, the network latency requirement for the first device.

7. The non-transitory computer-readable medium of claim 1 , wherein the instructions, when executed, cause the determining the network latency requirement for the first device by causing determining, responsive to a determination that network latency associated with a communications link associated with the first device exceeds a threshold, the network latency requirement for the first device.

8. A non-transitory computer-readable medium storing instructions that, when executed, cause:

adjusting, based on a difference between:

a requested maximum network latency value, and

a value indicative of a measured network latency of a network communications path between a computing device of a first type of computing device and a computing device of a second type of computing device,

a minimum packet-buffer-queue depth and a maximum packet-buffer-queue depth of a queue associated with the computing device of the first type of computing device to depths determined based on the first type of computing device, the second type of computing device being different from the first type of computing device; and

adjusting, based on the difference, a minimum packet-buffer-queue depth and a maximum packet-buffer-queue depth of a queue associated with the computing device of the second type of computing device to depths determined based on the first type of computing device and the second type of computing device.

9. The non-transitory computer-readable medium of claim 8 , wherein the requested maximum network latency value is associated with a service flow, and wherein the instructions, when executed, cause the adjusting the minimum packet-buffer-queue depth and the maximum packet-buffer-queue depth of the queue associated with the computing device of the first type of computing device by causing adjusting a queue associated with the service flow.

10. The non-transitory computer-readable medium of claim 8 , wherein the instructions, when executed, cause the adjusting the minimum packet-buffer-queue depth and the maximum packet-buffer-queue depth of the queue associated with the computing device of the first type of computing device by causing adjusting, based on a subscription tier associated with the computing device of the first type of computing device, at least one of:

the minimum packet-buffer-queue depth of the queue associated with the computing device of the first type of computing device, or

the maximum packet-buffer-queue depth of the queue associated with the computing device of the first type of computing device.

11. The non-transitory computer-readable medium of claim 8 , wherein the instructions, when executed, cause the adjusting the minimum packet-buffer-queue depth and the maximum packet-buffer-queue depth of the queue associated with the computing device of the first type of computing device by causing adjusting, responsive to at least one of:

a determination that a communications link associated with the computing device of the first type of computing device has failed, or

a determination that network latency associated with the communications link exceeds a threshold,

at least one of:

the minimum packet-buffer-queue depth of the queue associated with the computing device of the first type of computing device, or

the maximum packet-buffer-queue depth of the queue associated with the computing device of the first type of computing device.

12. A non-transitory computer-readable medium storing instructions that, when executed, cause:

adjusting, based on a requested network latency and a measured network latency of a link of a network that interfaces a communication interface of a first device and a communication interface of a second device:

a queue associated with the first device; and,

based on a device type of the first device, a queue associated with the second device.

13. The non-transitory computer-readable medium of claim 12 , wherein the instructions, when executed, cause determining a difference between a value associated with the requested network latency and a value associated with the measured network latency, and wherein the instructions, when executed, cause the adjusting by causing adjusting, based on the difference, the queue associated with the first device.

14. The non-transitory computer-readable medium of claim 13 , wherein the instructions, when executed, cause the adjusting by causing adjusting, based on the difference, the queue associated with the second device.

15. The non-transitory computer-readable medium of claim 12 , wherein the instructions, when executed, cause, after the adjusting, responsive to a change in the measured network latency, and based on the change, readjusting the queue associated with the first device.

16. The non-transitory computer-readable medium of claim 12 , wherein the instructions, when executed cause the adjusting responsive to at least one of:

a determination that a different link of the network has failed, or

a determination that a network latency measurement associated with the first device exceeds a threshold.

17. The non-transitory computer-readable medium of claim 12 , wherein the requested network latency is associated with a service flow, and wherein the instructions, when executed cause the adjusting by causing adjusting a queue associated with the service flow.

18. The non-transitory computer-readable medium of claim 12 , wherein the instructions, when executed, cause the adjusting by causing adjusting, based on a service tier associated with the first device, at least one of:

the queue associated with the first device, or

the queue associated with the second device.

19. The non-transitory computer-readable medium of claim 12 , wherein the instructions, when executed, cause the adjusting by causing adjusting at least one of:

a minimum packet-buffer-queue depth of the queue associated with the first device, or

a maximum packet-buffer-queue depth of the queue associated with the first device.

20. The non-transitory computer-readable medium of claim 12 , wherein the instructions, when executed, cause the adjusting by causing adjusting at least one of:

a minimum packet-buffer-queue depth of the queue associated with the first device, or

a maximum packet-buffer-queue depth of the queue associated with the second device.

21. A non-transitory computer-readable medium storing instructions that, when executed, cause:

determining, by one or more computing devices and based on a service tier associated with a user, a network latency value for a first device and a network latency value for a second device;

adjusting, based on the network latency value for the first device, a queue associated with the first device; and

adjusting, based on the network latency value for the second device and a device type of the first device, a queue associated with the second device.

22. The non-transitory computer-readable medium of claim 21 , wherein the instructions, when executed, cause:

the adjusting the queue associated with the first device by causing adjusting, based on the network latency value for the first device, a minimum packet-buffer-queue depth and a maximum packet-buffer-queue depth of the queue associated with the first device; and

the adjusting the queue associated with the second device by causing adjusting, based on the network latency value for the second device, a minimum packet-buffer-queue depth and a maximum packet-buffer-queue depth of the queue associated with the second device.

23. The non-transitory computer-readable medium of claim 22 , wherein the instructions, when executed, cause the adjusting the minimum packet-buffer-queue depth and the maximum packet-buffer-queue depth of the queue associated with the first device by causing adjusting a packet-buffer-queue depth associated with the service tier.

24. The non-transitory computer-readable medium of claim 21 , wherein each network latency value is based on a maximum latency value for an endpoint-to-endpoint communications path.

25. The non-transitory computer-readable medium of claim 21 , wherein the instructions, when executed, cause the determining the network latency value for the first device by causing determining, based on a device service tier associated with the first device, the network latency value for the first device.

26. The non-transitory computer-readable medium of claim 21 , wherein the instructions, when executed, cause the determining the network latency value for the first device by causing determining, based on the device type of the first device, the network latency value for the first device.

27. The non-transitory computer-readable medium of claim 21 , wherein the instructions, when executed, cause the determining the network latency value for the first device by causing determining, responsive to a determination that a communications link associated with the first device has failed, the network latency value for the first device.

28. The non-transitory computer-readable medium of claim 21 , wherein the instructions, when executed, cause the determining the network latency value for the first device by causing determining, responsive to a determination that a network latency associated with a communications link associated with the first device exceeds a threshold, the network latency value for the first device.

29. A non-transitory computer-readable medium storing instructions that, when executed, cause:

adjusting, by a computing device and based on a difference between:

a requested maximum network latency value, and

a value indicative of a measured network latency of a network communications path between a computing device of a first type and a computing device of a second type,

a minimum packet-buffer-queue depth and a maximum packet-buffer-queue depth of a queue associated with the computing device of the first type to depths determined based on a service tier associated with a user, the second type of computing device being different from the first type of computing device; and

adjusting, by the computing device and based on the difference, a minimum packet-buffer-queue depth and a maximum packet-buffer-queue depth of a queue associated with the computing device of the second type to depths determined based on the service tier associated with the user.

30. The non-transitory computer-readable medium of claim 29 , wherein the instructions, when executed, cause determining the requested maximum network latency value based on the service tier associated with the user.

31. The non-transitory computer-readable medium of claim 29 , wherein the requested maximum network latency value is associated with a service flow, and wherein the instructions, when executed, cause the adjusting the minimum packet-buffer-queue depth and the maximum packet-buffer-queue depth of the queue associated with the computing device of the first type by causing adjusting a queue associated with the service flow.

32. The non-transitory computer-readable medium of claim 29 , wherein the instructions, when executed, cause the adjusting the minimum packet-buffer-queue depth and the maximum packet-buffer-queue depth of the queue associated with the computing device of the first type by causing adjusting, based on a subscription tier associated with the computing device of the first type, at least one of:

the minimum packet-buffer-queue depth of the queue associated with the computing device of the first type, or

the maximum packet-buffer-queue depth of the queue associated with the computing device of the first type.

33. The non-transitory computer-readable medium of claim 29 , wherein the instructions, when executed, cause the adjusting the minimum packet-buffer-queue depth and the maximum packet-buffer-queue depth of the queue associated with the computing device of the first type by causing adjusting, responsive to at least one of a determination that a communications link associated with the computing device of the first type has failed or a determination that a network latency associated with the communications link exceeds a threshold, at least one of:

the minimum packet-buffer-queue depth of the queue associated with the computing device of the first type, or

the maximum packet-buffer-queue depth of the queue associated with the computing device of the first type.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2021
From: GARCIA, MAURICE MANUEL; WOUNDY, RICHARD
To: COMCAST CABLE COMMUNICATIONS, LLC
Reel/Frame 055035/0169 →
Continuity (4)
Continuation 15960068 · Apr 23, 2018
Continuation 14880700 · Oct 12, 2015
Continuation 13748980 · Jan 24, 2013
Related Publication 20210176180A1 · Jun 10, 2021
Cited By (1)
US 12,317,013