# US 12,113,842 B2 · Content delivery

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

- Number: US 12,113,842 B2
- Document ID: US12113842B2
- Status: Granted
- Kind: B2
- Application number: 18/257,558
- Filed: 2021-12-03
- Published: 2024-04-04
- Granted: 2024-10-08
- Earliest claimed: 2020-12-18
- Assignees: British Telecommunications public limited company
- Applicants: British Telecommunications Public Limited Company
- Inventors: Rory Turnbull; Timothy Stevens; Stephen Appleby
- Web page: https://patentgrep.com/patent/US12113842B2

## 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 43/0888: Throughput
- H04L 65/1045: Proxies, e.g. for session initiation protocol [SIP]
- H04L 65/1069: Session establishment or de-establishment
- H04L 65/612: for unicast
- H04L 65/765: {intermediate}
- H04L 65/80: Responding to QoS
- H04N 21/2225: Local VOD servers
- 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}
- H04L 43/0894: Packet rate
- 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 method of managing a network for delivering content to a client device, where content segments are delivered over multicast to a proxy. The received segments are stored at the proxy, before delivery of those segments is made from the proxy to the client device over unicast. Whilst the proxy receives further segments over multicast, it probes the network by making unicast requests for data (dummy data or additional content segments), and receiving those segments over unicast from the content server. The multicast rate reception rate and the unicast (probe) rate are measured and a maximum network throughput is calculated as the sum of these two rates. Subsequent segments are then delivered from the proxy to the client device at the calculated maximum network throughput rate, or at some rate dependent thereon. Thus, the client device will receive segments at a rate that is more indicative of the actual maximum network throughput, so can better use its adaptive bit rate algorithms to determine whether a switch to higher bit rate segments is appropriate.

## Claims

### Claim 1

A method of managing content delivery over a network to a client device, said content comprising a sequence of segments and wherein each of the segments is encoded at a plurality of bit rates, said method comprising:
i) receiving at a first network element one or more segments encoded at a first bit rate over multicast sent from a content server, and storing the one or more segments encoded at the first bit rate at the first network element, wherein the plurality of segments encoded at a first bit rate are received at a multicast reception rate;
ii) sending a request for data from the first network element to the content server over unicast, and receiving the requested data over unicast at the first network element at a unicast reception rate;
iii) determining a network throughput as the sum of the multicast reception rate and the unicast reception rate;
iv) transmitting one or more stored segments from the first network element to the client device over unicast at a transmission rate based on the determined network throughput.

### Claim 2 (depends on 1)

A method according to claim 1, wherein the data requested is dummy data.

### Claim 3 (depends on 1)

A method according to claim 1, wherein the data requested is a segment of content.

### Claim 4 (depends on 1)

A method according to claim 1, wherein the multicast reception rate is the size of a received segment divided by the total time taken to receive that segment.

### Claim 5 (depends on 1)

A method according to claim 1, wherein the unicast reception rate is the size of the received data divided by the total time taken to receive the data.

### Claim 6 (depends on 1)

A method according to claim 1, wherein the transmission rate is set to no more than the network throughput.

### Claim 7 (depends on 6)

A method according to claim 6, wherein the wherein the transmission rate is set to a fraction of the network throughput.

### Claim 8 (depends on 1)

A method according to claim 1, further comprising:
v) receiving at the first network element from the client device a request for one or more further segments encoded at a second bit rate, wherein the second bit rate is higher than the first bit rate; and
vi) receiving at the first network element the requested one or more further segments over multicast, and sending the received further segments to the client device over unicast.

### Claim 9

A network element for managing content delivery to a client device, said content comprising a sequence of segments and wherein each of the segments is encoded at a plurality of bit rates, said network element adapted in operation to:
receive one or more segments encoded at a first bit rate over multicast sent from a content server, and store the one or more segments encoded at the first bit rate, wherein the plurality of segments encoded at a first bit rate are received at a multicast reception rate;
send a request for data from the first network element to the content server over unicast, and receive the requested data over unicast at a unicast reception rate;
determine a network throughput as the sum of the multicast reception rate and the unicast reception rate;
transmit one or more stored segments to the client device over unicast at a transmission rate based on the determined network throughput.

### Claim 10 (depends on 9)

The network element according to claim 9, wherein the data requested is dummy data.

### Claim 11 (depends on 9)

The network element according to claim 9, wherein the data requested is a segment of content.

### Claim 12 (depends on 9)

The network element according to claim 9, wherein the multicast reception rate is the size of a received segment divided by the total time taken to receive that segment.

### Claim 13 (depends on 9)

The network element according to claim 9, wherein the unicast reception rate is the size of the received data divided by the total time taken to receive the data.

### Claim 14 (depends on 9)

The network element according to claim 9, wherein the transmission rate is set to no more than the network throughput.

### Claim 15 (depends on 14)

A network element according to claim 14, wherein the transmission rate is set to a fraction of the network throughput.

### Claim 16 (depends on 9)

The network element according to claim 9, the network element is further adapted in operation to:
receive at the first network element from the client device a request for one or more further segments encoded at a second bit rate, wherein the second bit rate is higher than the first bit rate; and
receive at the first network element the requested one or more further segments over multicast, and sending the received further segments to the client device over unicast.

### Claim 17 (depends on 9)

The network element according to claim 9, wherein the network element is adapted in operation to, while receiving the one or more segments over multicast:
send the request for data from the first network element to the content server over unicast, and receive the requested data over unicast at the unicast reception rate;
determine the network throughput as the sum of the multicast reception rate and the unicast reception rate; and
transmit the one or more stored segments to the client device over unicast at the transmission rate based on the determined network throughput.

### Claim 18 (depends on 1)

The method according to claim 1, wherein steps ii)-iv) are performed while receiving the one or more segments over multicast.
