IP Library Granted Patent US 10,856,348
Granted Patent B2
US 10,856,348 · App. 16/165,991 · Granted Dec 1, 2020

Methods and apparatus for determining a number of connections to use at a given time and/or the level of error correcting coding to use based on connection scores

Inventor: Jody Beck (Parker, CO)
Assignee: Charter Communications Operating, LLC
H04W76/15H04L1/0061H04L1/18H04L43/0852H04W24/08H04W28/06H04W72/085H04W76/11H04L45/302H04L45/306H04L45/308H04L45/64H04W80/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 10,856,348
App. No.
16/165,991
Granted
Dec 1, 2020
Kind
B2
Abstract

A first communications device may use one or a plurality of communications connections in parallel for a communications session between the first communications device and the second communications device. The first device makes decisions as to the number of connections to use, the level of error correcting code to use, and/or the level of packet redundancy to use based on test scores corresponding to one or more communications session connections. The first communications device generates a first test score corresponding to a first communications session connection based on a test performed over a first test path between the first communications device and a test server, said first communications session connection and the first test path sharing a common link, e.g., a common wireless link between the first device and an access point. The first device may generate and use an overall connection score corresponding to a plurality of session connections.

Claims (57)

1. A method of operating a first communications device, the method comprising:

communicating with a second communications device, during a communications session with the second communications device, using a connection identifier based communications protocol and at least a first communications connection between the first communications device and the second communications device;

determining a first connection score for the first communications connection, said first connection score being a function of the quality of a communications link that is part of the first communications connection between the first communications device and the second communications device; and

making a decision as to how many communications connections to use for said communications session based on the first connection score.

2. The method of claim 1 ,

wherein said connection identifier based communications protocol is Quick UDP Internet Connections (QUIC) protocol;

wherein the decision is a decision to use multiple communications connections for said communications session; and

wherein the method further comprises:

using the determined number of communications connections in parallel to communicate data between the first communications device and said second communications device, wherein using the determined number of communications connections in parallel includes using a first connection identifier for communications over each of the multiple communications connections which are used in parallel for the first communications session.

3. The method of claim 1 , wherein determining the first connection score includes performing a connection test over a communications test path to a test server, said communications test path including the communications link that is part of the first communications connection between the first communications device and the second communications device, and a test path portion which is not part of the first communications connection between the first communications device and the second communications device.

4. The method of claim 1 , wherein making a decision as to how many communications links to use for said communications session includes deciding to use a single communications connection when said first connection score is above a first threshold and more than one communications connection when said first connection score is equal to or below said first threshold.

5. The method of claim 1 , further comprising:

making a decision as to a level of error correcting coding or packet redundancy to use based on at least said first connection score.

6. The method of claim 4 , further comprising:

making an updated decision as to how many communications links to use for said communications session including making said decision based on an overall connection score generated from connection scores of multiple communication connections used for said communications session when multiple communications connections are being used for said communications session.

7. The method of claim 6 , further comprising:

prior to making said updated decision as to how many communications links to use, determining a current connection score for each connection being used by the communications session; and

generating the overall connection score from the current connection scores of the connections being used by the communications session; and wherein generating the overall connection score includes generating a weight sum of connection scores of communications connections in use for the session.

8. The method of claim 6 , further comprising:

determining at least one of i) an updated number of communications connections to be used for said communications session based on the overall connection score, ii) an updated level of error correction coding to be used on at least one of the connections in use,

or iii) an updated level of packet redundancy to use on at least one of the connections in use.

9. The method of claim 8 , further comprising:

determining if the overall connection score has changed by at least a predetermined amount; and

leaving the number of connections used by the session unchanged if the overall connection score has not changed by at least the predetermined amount.

10. The method of claim 9 , wherein determining at least one of: i) an updated number of communications connections to be used for said communications session based on the overall connection score, ii) an updated level of error correction coding to be used on at least one of the connections in use, or iii) an updated level of packet redundancy to use on at least one of the connections in use further includes:

determining if the overall communications score has decreased; and

in response to determining that the overall communications score has decreased, increasing one or more of: i) the number of communications connections to be used for said session, ii) the level of error correcting coding being used on one of the connections in use,

or iii) the level of packet redundancy on one of the connections in use.

11. The method of claim 10 , wherein determining at least one of: i) an updated number of communications connections to be used for said communications session based on the overall connection score, ii) an updated level of error correction coding to be used on at least one of the connections in use, or iii) an updated level of packet redundancy to use on at least one of the connections in use further includes:

determining if the overall communications score has increased; and

in response to determining that the overall communications score has increased, decreasing one or more of: i) the number of communications connections to be used for said session, ii) the level of error correcting coding being used on one of the connections in use, or iii) the level of packet redundancy on one of the connections in use.

12. A first communications device comprising:

a processor configured to:

communicate with a second communications device, during a communications session with the second communications device, using a connection identifier based communications protocol and at least a first communications connection between the first communications device and the second communications device;

determine a first connection score for the first communications connection, said first connection score being a function of the quality of the first communications connection between the first communications device and the second communications device; and

make a decision as to how many communications connections to use for said communications session based on the first connection score.

13. The first communications device of claim 12 , wherein said processor is configured to perform a connection test over a communications test path to a test server, said communications test path including a communications link that is part of the first communications connection between the first communications device and the second communications device, and a test path portion which is not part of the first communications connection between the first communications device and the second communications device.

14. The communications device of claim 12 , wherein said processor is configured to decide to use a single communications connection when said first connection score is above a first threshold (higher score indicates better connection) and more than one communications connection when said first connection score is equal to or below said first threshold, as part of being configured to make a decision as to how many communications links to use for said communications session.

15. The first communications device of claim 12 , wherein said processor is further configured to:

make a decision as to a level of error correcting coding or packet redundancy to use based on at least said first connection score.

16. The first communications device of claim 14 , wherein said processor is further configured to:

make an updated decision as to how many communications links to use for said communications session including making said decision based on an overall connection score generated from connection scores of multiple communication connections used for said communications session when multiple communications connections are being used for said communications session.

17. The first communications device of claim 16 , wherein said processor is further configured to:

determine a current connection score for each connection being used by the communications session, said determining being prior to making said updated decision as to how many communications links to use; and

generate the overall connection score from the current connection scores of the connections being used by the communications session.

18. The first communications device of claim 16 , wherein said processor is further configured to:

determine at least one of: i) an updated number of communications connections to be used for said communications session based on the overall connection score, ii) an updated level of error correction coding to be used on at least one of the connections in use, or iii) an updated level of packet redundancy to use on at least one of the connections in use.

19. The first communications device of claim 18 , wherein said processor is further configured to:

determine if the overall connection score has changed by at least a predetermined amount;

leave the number of connections used by the session unchanged if the overall connection score has not changed by at least the predetermined amount;

determine if the overall communications score has decreased; and

in response to determining that the overall communications score has decreased, increase one or more of: i) the number of communications connections to be used for said session, ii) the level of error correcting coding being used on one of the connections in use, or iii) the level of packet redundancy on one of the connections in use,

as part of being configured to determine at least one of: i) an updated number of communications connections to be used for said communications session based on the overall connection score, ii) an updated level of error correction coding to be used on at least one of the connections in use, or iii) an updated level of packet redundancy to use on at least one of the connections in use.

20. A non-transitory computer readable medium including computer executable instructions which when executed by a processor of a first communications device cause the first communications device to perform the steps of:

communicating with a second communications device, during a communications session with the second communications device, using a connection identifier based communications protocol and at least a first communications connection between the first communications device and the second communications device;

determining a first connection score for the first communications connection, said first connection score being a function of the quality of a communications link that is part of the first communications connection between the first communications device and the second communications device; and

making a decision as to how many communications connections to use for said communications session based on the first connection score.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY ASSIGNMENT PREVIOUSLY RECORDED ON REEL 051433 FRAME 0654. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT. Recorded Mar 4, 2020
From: TIME WARNER CABLE ENTERPRISES, LLC; CHARTER COMMUNICATIONS OPERATING, LLC
To: WELLS FARGO TRUST COMPANY, N.A.
Reel/Frame 052091/0071 →
SECURITY INTEREST Recorded Dec 27, 2019
From: TIME WARNER CABLE ENTERPRISES, LLC; CHARTER COMMUNICATIONS OPERATING, LLC
To: WELLS FARGO TRUST COMPANY, N.A.
Reel/Frame 051433/0654 →
SECURITY INTEREST Recorded Dec 4, 2019
From: TIME WARNER CABLE ENTERPRISES, LLC; CHARTER COMMUNICATIONS OPERATING, LLC; BRIGHT HOUSE NETWORKS, LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 051287/0057 →
SECURITY INTEREST Recorded Dec 4, 2019
From: CHARTER COMMUNICATIONS OPERATING, LLC; TIME WARNER CABLE ENTERPRISES, LLC; BRIGHT HOUSE NETWORKS, LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 051287/0087 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2018
From: BECK, JODY
To: CHARTER COMMUNICATIONS OPERATING, LLC
Reel/Frame 047362/0406 →
Continuity (3)
Continuation In Part 16020919 · Jun 27, 2018
Continuation In Part 16020959 · Jun 27, 2018
Related Publication 20200008254A1 · Jan 2, 2020
Cited By (1)
US 12,363,603