# US 12,113,710 B2 · Method and system for managing access congestion

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,113,710 B2
- Document ID: US12113710B2
- Status: Granted
- Kind: B2
- Application number: 18/301,408
- Filed: 2023-04-17
- Published: 2023-08-10
- Granted: 2024-10-08
- Earliest claimed: 2020-04-17
- Assignees: Sandvine Corporation
- Applicants: Sandvine Corporation
- Inventors: Kamakshi Sridhar; Ty Sayers; Alexander Osman
- Web page: https://patentgrep.com/patent/US12113710B2

## CPC

- H04L 47/122: by diverting traffic away from congested entities
- H04L 47/125: by balancing the load, e.g. traffic engineering
- H04L 47/283: in response to processing delays, e.g. caused by jitter or round trip time [RTT]
- H04L 47/29: {using a combination of thresholds}
- H04L 47/76: using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
- H04L 47/762: triggered by the network
- H04L 47/781: {Centralised allocation of resources}
- H04L 47/805: {QOS or priority aware}
- H04L 47/828: {Allocation of resources per group of connections, e.g. per group of users}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system and method for managing access congestion in a computer network, the system and method including: determining a plurality of channels within the computer network via a subscriber channel module; determining a set of subscribers for each of the channels of the plurality of channels via the subscriber channel module; determining a congestion level of each of the channels of the plurality of channels via an analysis module; determining each subscriber's impact on the respective channel based on each subscriber's network usage via the analysis module; and determining a reallocation of the subscribers to balance the channels, based on the congestion level and each subscriber's network usage, via a distribution module.

## Claims

### Claim 1

A method for managing access congestion in a computer network, the method comprising:
determining a plurality of channels within the computer network;
determining a set of subscribers for each of the channels of the plurality of channels;
determining a congestion level of each of the channels of the plurality of channels;
determining each subscriber's impact on the respective channel based on each subscriber's network usage, wherein determining each subscriber's impact comprises:
determining the bandwidth used by each subscriber in the channel;
determining an overall bandwidth transmitted through the channel;
determining an average subscriber throughput based on the overall bandwidth of the channel and a number of subscribers associated with the channel; and
determining each subscriber's contribution based on the duration of time each subscriber has throughput higher than the average subscriber throughput on the channel; and
determining a reallocation of the subscribers to balance the channels, based on the congestion level and each subscriber's network usage.

### Claim 2 (depends on 1)

The method of claim 1 wherein each of the channels are either an upstream bonding group or a Downstream service group.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining the congestion level of each channel comprises:
determining an average round trip time (RTT) of each channel;
determining a mean round trip time of a cable modem termination system associated with the plurality of channels; and
determining if each of the average round trip times for each channel is above a predetermined congestion level threshold.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining the congestion level of each channel comprises:
determining a correlation between RTT and throughput for each channel; and
determining whether the correlation between throughput and RTT is above a predetermined congestion level threshold.

### Claim 5 (depends on 1)

The method of claim 1, wherein determining the congestion level of each channel comprises:
determining a Quality of Experience (QoE) level for each channel of the plurality of channels; and
determining, for each of the channels, that the channel is congested if the QoE level is below a predetermined threshold.

### Claim 6 (depends on 1)

The method of claim 1 wherein determining each subscriber's impact on the respective channel further comprises:
determining a number of bytes sent by each subscriber in the channel;
determining a total number of bytes sent through the channel; and
determining each subscriber's contribution based on the number of bytes of each subscriber over the total number of bytes.

### Claim 7 (depends on 1)

The method of claim 1, wherein the plurality of channels comprise both bonding groups and service groups and the set of subscribers in each bonding group is not equivalent to the set of subscribers in each service group.

### Claim 8 (depends on 1)

The method of claim 1, wherein the reallocation of subscribers provides for a higher average QoE for the plurality of subscribers of the computer network.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
monitoring the congestion level of each channel of the plurality of channels;
determining if any of the congestion levels for each channel is over a predetermined congestion level threshold; and
reallocating subscribers based on the congestion level of each of the channels and each subscriber's impact on the respective channel.

### Claim 10 (depends on 1)

The method of claim 1, wherein the reallocation of subscribers is based on the subscriber's impact to the congestion level at various times of the day.

### Claim 11 (depends on 1)

The method of claim 1, wherein the reallocation of subscribers is based on the subscriber's impact to the congestion level during peak hours.

### Claim 12

A system for managing access congestion in a computer network, the system comprising at least one processor and a memory storing instructions, that when executed by the at least one processor, cause the system to execute:
a subscriber channel module configured to determine a plurality of channels within the computer network and determine a set of subscribers for each of the channels of the plurality of channels;
an analysis module configured to determine a congestion level of each of the channels of the plurality of channels and determine each subscriber's impact on the respective channel based on each subscriber's network usage, wherein determining each subscriber's impact comprises:
determining the bandwidth used by each subscriber in the channel;
determining an overall bandwidth transmitted through the channel:
determining an average subscriber throughput based on the overall bandwidth of the channel and a number of subscribers associated with the channel; and
determining each subscriber's contribution based on the duration of time each subscriber has throughput higher than the average subscriber throughput on the channel; and
a distribution module configured to determine a reallocation of the subscribers to balance the channels, based on the congestion level and each subscriber's network usage.

### Claim 13 (depends on 12)

The system of claim 12 wherein each of the channels are either an upstream bonding group or a downstream service group.

### Claim 14 (depends on 12)

The system of claim 12, wherein the analysis module is configured to:
determine an average round trip time (RTT) of each channel;
determine a mean round trip time of a cable modem termination system associated with the plurality of channels; and
determine if each of the average round trip times for each channel is above a predetermined congestion level threshold.

### Claim 15 (depends on 12)

The system of claim 12, wherein the analysis module is further configured to:
determine a Quality of Experience (QoE) level for each channel of the plurality of channels; and
determine, for each of the channels, that the channel is congested if the QoE level is below a predetermined threshold.

### Claim 16 (depends on 12)

The system of claim 12, wherein the plurality of channels comprise both bonding groups and service groups and the set of subscribers in each bonding group is not equivalent to the set of subscribers in each service group.

### Claim 17 (depends on 12)

The system of claim 12, wherein the reallocation of subscribers provides for a higher average QoE for the plurality of subscribers of the computer network.

### Claim 18 (depends on 12)

The system of claim 12, further comprising a monitoring module configured to:
monitor the congestion level of each channel of the plurality of channels;
determine if any of the congestion levels for each channel is over a predetermined congestion level threshold; and
the distribution module is configured to reallocate subscribers based on the congestion level of each of the channels and each subscriber's impact on the respective channel.
