# US 2018/0324231 A1 · Multicast adaptive bitrate channel selection in access networks

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

- Number: US 2018/0324231 A1
- Document ID: US20180324231A1
- Status: Published application
- Kind: A1
- Application number: 15/589,273
- Filed: 2017-05-08
- Published: 2018-11-08
- Earliest claimed: 2017-05-08
- Assignees: Alcatel-Lucent USA Inc.
- Applicants: Alcatel-Lucent USA Inc.
- Inventors: Shahid AKHTAR
- Web page: https://patentgrep.com/patent/US20180324231A1

## CPC

- H04L 65/611: for multicast or broadcast (systems for broadcast or conference H04L12/18; arrangements for broadcast or distribution combined with broadcast H04H20/00; arrangements for broadcast applications with a direct linkage to broadcast information or to broadcast space-time H04H60/00; selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS], H04W4/06)
- H04L 47/38: by adapting coding or compression rate
- H04L 65/80: Responding to QoS
- H04L 67/1006: with static server selection, e.g. the same server being selected for a specific client
- H04L 67/568: Storing data temporarily at an intermediate stage, e.g. caching
- H04N 21/2402: {Monitoring of the downstream path of the transmission network, e.g. bandwidth available (traffic monitoring in data switching networks H04L43/00; monitoring data switching networks utilization H04L43/0876)}
- H04N 21/2407: {Monitoring of transmitted content, e.g. distribution time, number of downloads (arrangements for monitoring programmes for broadcast or for distribution combined with broadcast H04H20/14)}
- H04N 21/6405: Multicasting {(data broadcast and multicast in packet switching networks H04L12/18)}
- H04N 21/6408: Unicasting
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04N 21/85406: {involving a specific file format, e.g. MP4 format}
- H04L 45/7453: using hashing
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A network element comprises a memory storing a data structure arrangement. The data structure arrangement includes: an ordered list of asset blocks having a head end and a tail end, each of the asset blocks indicating a number of clients in an access network currently streaming video content of a corresponding channel, the asset blocks being ordered according to the number of clients currently streaming the video content for each channel; and a border structure block storing a pointer to a border asset block within the ordered list of asset blocks, the pointer to the border asset block defining an active set of multicast channels for the access network, and causing the multicast controller to direct a termination node to provide the active set of multicast channels to the clients in the access network.

## Claims

### Claim 1

A network element comprising:
a memory storing a data structure arrangement, the data structure arrangement including
an ordered list of asset blocks having a head end and a tail end, each of the asset blocks indicating a number of clients in an access network currently streaming video content of a corresponding channel, the asset blocks being ordered according to the number of clients currently streaming the video content for each channel, and
a border structure block storing a pointer to a border asset block within the ordered list of asset blocks, the pointer to the border asset block defining an active set of multicast channels for the access network, and causing the network element to direct a termination node to provide the active set of multicast channels to the clients in the access network.

### Claim 2 (depends on 1)

The network element of claim 1, wherein each channel is indicative of a channel and video quality pair.

### Claim 3 (depends on 1)

The network element of claim 1, wherein
a first of the clients is identified by a first IP address;
the first of the clients is currently streaming video content for a first channel corresponding to a first of the asset blocks in the ordered list; and
the data structure arrangement further includes
a per stream block linking the first IP address with the first asset block, and
a data structure linking the first IP address with the per stream block.

### Claim 4 (depends on 3)

The network element of claim 3, wherein the data structure is an IP hash table.

### Claim 5 (depends on 3)

The network element of claim 3, wherein
the per stream block stores a time at which a most recent request for the first channel was received from the first IP address; and
at least one processor coupled to the memory, the at least one processor configured to execute computer-readable instructions to
determine whether a length of time since receipt of the most recent request exceeds a cleanup threshold value, and
remove the per stream block from the data structure arrangement if the length of time exceeds the cleanup threshold value.

### Claim 6 (depends on 5)

The network element of claim 5, wherein the at least one processor is further configured to execute the computer-readable instructions to
remove the first asset block from the ordered list of asset blocks if the number of clients currently streaming the first channel is zero after removal of the per stream block.

### Claim 7 (depends on 1)

The network element of claim 1, further comprising:
at least one processor coupled to the memory, the at least one processor configured to execute computer-readable instructions to
identify a request for a channel without a corresponding asset block in the ordered list,
generate an asset block representing the requested channel in response to the request,
initialize parameters for the generated asset block, and
insert the generated asset block at the tail end of the ordered list.

### Claim 8 (depends on 1)

The network element of claim 1, wherein the access network is one of a cable access network, a Digital Subscriber Line Access Multiplexer (DSLAM)-based access network, or a passive optical network.

### Claim 9

A network element comprising:
a memory storing computer-readable instructions and an ordered list of asset blocks having a head end and a tail end, each of the asset blocks indicating a number of clients in an access network currently streaming video content of a corresponding channel, the asset blocks being ordered according to the number of clients currently streaming the video content for each channel; and
at least one processor coupled to the memory, the at least one processor configured to execute the computer-readable instructions to
determine whether a first number of clients currently streaming video content for a first channel within the access network is greater than or equal to a second number of clients currently streaming video content for a first multicast channel within an active set of multicast channels for the access network, the multicast channels in the active set of multicast channels corresponding to a set of the asset blocks in the ordered list of asset blocks,
determine whether addition of the first channel will violate a resource condition for the access network, and
add the first channel to the active set of multicast channels if the addition of the first channel will not violate the resource condition for the access network.

### Claim 10 (depends on 9)

The network element of claim 9, wherein each channel and each multicast channel is indicative of a channel and video quality pair.

### Claim 11 (depends on 9)

The network element of claim 9, wherein
the first channel corresponds to a first asset block in the ordered list of asset blocks; and
the at least one processor is further configured to execute the computer-readable instructions to add the first channel to the active set of multicast channels by adjusting a position of the first asset block in the ordered list of asset blocks.

### Claim 12 (depends on 11)

The network element of claim 11, wherein the at least one processor is further configured to execute the computer-readable instructions to
remove the first asset block from the ordered list of asset blocks when the first number of clients currently streaming video content for the first channel is zero.

### Claim 13 (depends on 9)

The network element of claim 9, wherein the second number of clients is a minimum number of clients among the multicast channels in the active set of multicast channels.

### Claim 14 (depends on 13)

The network element of claim 13, wherein the at least one processor is further configured to execute the computer-readable instructions to
determine whether removing the first multicast channel from the active set of multicast channels will resolve the violation of the resource condition if the addition of the first channel will violate the resource condition; and
exclude the first multicast channel from the active set of multicast channels if removing the first multicast channel from the active set of multicast channels will resolve the violation of the resource condition.

### Claim 15 (depends on 14)

The network element of claim 14, wherein the at least one processor is further configured to execute the computer-readable instructions to
exclude both the first channel and the first multicast channel from the active set of multicast channels if removing the first multicast channel from the active set of multicast channels will not resolve the violation of the resource condition.

### Claim 16 (depends on 9)

The network element of claim 9, wherein
the first channel corresponds to a first asset block in the ordered list of asset blocks;
a first of the clients currently streaming video content for the first channel is identified by a first IP address; and
the memory includes a per stream block linking the first IP address with the first asset block.

### Claim 17 (depends on 16)

The network element of claim 16, wherein
the per stream block stores a time at which a most recent request for the first channel was received from the first IP address; and
the at least one processor is further configured to execute computer-readable instructions to
determine whether a length of time since receipt of the most recent request exceeds a cleanup threshold value, and
remove the per stream block from the memory if the length of time exceeds the cleanup threshold value.

### Claim 18 (depends on 9)

The network element of claim 9, wherein the at least one processor is further configured to execute computer-readable instructions to
identify a request for a second channel, which does not have a corresponding asset block in the ordered list of asset blocks,
generate an asset block representing the requested second channel in response to the request,
initialize parameters for the generated asset block, and
insert the generated asset block at the tail end of the ordered list of asset blocks.

### Claim 19 (depends on 9)

The network element of claim 9, wherein the access network is one of a cable access network, a Digital Subscriber Line Access Multiplexer (DSLAM)-based access network, or an optical network.

### Claim 20

A network element comprising:
a memory storing computer-readable instructions and an ordered list of asset blocks having a head end and a tail end, each of the asset blocks indicating a number of clients in an access network currently streaming video content of a corresponding channel, the asset blocks being ordered according to the number of clients currently streaming the video content for each channel; and
at least one processor coupled to the memory, the at least one processor configured to execute the computer-readable instructions to
identify a request for a channel without a corresponding asset block in the ordered list of asset blocks,
generate an asset block representing the requested channel in response to the request,
initialize parameters for the generated asset block, and
insert the generated asset block at the tail end of the ordered list.
