# US 10,484,441 B2 · Switching between unicast streams and a multicast stream based on content demand

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

- Number: US 10,484,441 B2
- Document ID: US10484441B2
- Status: Granted
- Kind: B2
- Application number: 14/847,802
- Filed: 2015-09-08
- Published: 2017-03-09
- Granted: 2019-11-19
- Earliest claimed: 2015-09-08
- Assignees: Verizon Patent and Licensing Inc.
- Applicants: Verizon Patent and Licensing Inc.
- Inventors: Lalit R. Kotecha; Sagiv Draznin; Matthew W. Nelson
- Web page: https://patentgrep.com/patent/US10484441B2

## 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 65/60: Network streaming of media packets
- H04L 65/612: for unicast
- H04W 4/06: Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

A device may receive streaming information associated with one or more user devices, streaming content being provided to the one or more user devices, and a cell associated with the one or more user devices. The device may determine a quantity of user devices receiving the streaming content in the cell based on the streaming information. The device may determine whether the streaming content is being provided using a unicast stream or is being provided using a multicast stream. The device may determine to switch from the unicast stream to the multicast stream or from the multicast stream to the unicast stream based on the quantity of user devices. The device may switch from the unicast stream to the multicast stream, or the multicast stream to the unicast stream based on determining to switch.

## Claims

### Claim 1

A device, comprising:
a memory; and
one or more processors, communicatively coupled to the memory, to:
receive streaming information associated with a plurality of user devices,
streaming content being provided to the plurality of user devices, a first cell, and a second cell,
the streaming information including a segment identifier that identifies a segment of the streaming content and a cell identifier that identifies a first base station associated with the first cell or a second base station associated with the second cell,
the streaming information being:
a live feed, or
not a live feed, and
the segment identifier being used to group the plurality of user devices into one or more separate groups when the streaming information is not a live feed;
determine that a user device, of the plurality of user devices, switched from receiving the streaming content from the second base station to receiving the streaming content from the first base station;
determine, based on the user device switching to receive the streaming content from the second base station, a quantity of user devices, of the plurality of user devices, associated with the first cell;
determine, for the first base station, a bit rate at which one or more respective user devices, of the plurality of user devices, receive the streaming content;
compare the bit rate and a bit rate threshold at the first base station;
determine that the streaming content is being provided using a unicast stream for the first base station;
determine to switch from the unicast stream to a multicast stream for the first base station based on the quantity of user devices exceeding a quantity threshold and based on comparing the bit rate and the bit rate threshold;
switch from the unicast stream to the multicast stream for the first base station based on determining to switch; and
receive an acknowledgement when a multicast service is established,
the acknowledgement including a service identifier,
the service identifier to allow the user devices to access the multicast stream associated with the multicast service.

### Claim 2 (depends on 1)

The device of claim 1, where the one or more processors, when determining to switch from the unicast stream to the multicast stream, are to:
determine that the quantity of user devices satisfies a threshold for switching from the unicast stream to the multicast stream.

### Claim 3 (depends on 1)

The device of claim 1, where the one or more processors, are further to:
determine that the quantity of user devices no longer satisfies the quantity threshold; and
determining to switch from the multicast stream to the unicast stream based on the quantity of user device not satisfying the quantity threshold.

### Claim 4 (depends on 3)

The device of claim 3, where the one or more processors, are further to:
enable the streaming content to be provided via one or more unicast streams; and
provide an instruction for the one or more respective user devices to receive the streaming content via the one or more unicast streams.

### Claim 5 (depends on 1)

The device of claim 1, where the one or more processors, when switching from the unicast stream to the multicast stream, are to:
enable the streaming content to be provided via the multicast stream; and
provide an instruction for the one or more respective user devices to receive the streaming content via the multicast stream.

### Claim 6 (depends on 5)

The device of claim 5, where the one or more processors, when providing the instruction for the one or more respective user devices to receive the streaming content via the multicast stream, are to:
provide the service identifier, included with the instruction, that allows the one or more respective user devices to identify and receive the multicast stream.

### Claim 7 (depends on 1)

The device of claim 1, where the one or more processors, when receiving the streaming information, are to:
identify the streaming content and the one or more respective user devices based on the streaming information;
send a request, to another device, to identify the first cell or the second cell associated with the one or more respective user devices; and
receive, from the other device, information that identifies the first cell or the second cell based on sending the request.

### Claim 8

A non-transitory computer-readable medium storing instructions, the instructions comprising:
one or more instructions that, when executed by one or more processors, cause the one or more processors to:
receive streaming information associated with a plurality of user devices, streaming content being provided to the plurality of user devices, a first cell, and a second cell,
the streaming information including a segment identifier that identifies a segment of the streaming content and a cell identifier that identifies a first base station associated with the first cell or a second base station associated with the second cell,
the streaming information being:
a live feed, or
not a live feed, and
the segment identifier being used to group the plurality of user devices into one or more separate groups when the streaming information is not a live feed;
determine that a user device, of the plurality of user devices, switched from receiving the streaming content from the first base station to receiving the streaming content from the second base station;
determine, based on the user device switching to receive the streaming content from the second base station, a quantity of user devices, of the plurality of user devices, associated with the first cell and a quantity of user devices, of the plurality of user devices, associated with the second cell based on the segment identifier;
determine that the streaming content is being provided using a multicast stream from the first base station;
determine a bit rate at which one or more user devices, of the plurality of user devices, associated with the second base station receive the streaming content;
determine that the streaming content is being provided using a unicast stream from the second base station;
compare the bit rate and a bit rate threshold for switching from the unicast stream to a multicast stream;
compare the quantity of user devices, associated with the second cell, and a quantity threshold for switching from the unicast stream to the multicast stream;
determine that the bit rate threshold is satisfied based on comparing the bit rate and the bit rate threshold;
determine that the quantity threshold is satisfied based on comparing the quantity of user devices, associated with the second base station, and the quantity threshold;
switch, based on determining that the quantity threshold is satisfied and that the bit rate threshold is satisfied, from the unicast stream to the multicast stream; and
receive an acknowledgement when a multicast service is established,
the acknowledgement including a service identifier,
the service identifier to allow the user devices to access the multicast stream associated with the multicast service.

### Claim 9 (depends on 8)

The non-transitory computer-readable medium of claim 8, where the one or more instructions, that cause the one or more processors to determine that the quantity threshold is satisfied, cause the one or more processors to:
determine that the quantity threshold is satisfied based on the quantity of user devices meeting or exceeding the quantity threshold.

### Claim 10 (depends on 8)

The non-transitory computer-readable medium of claim 8, where the one or more instructions, that cause the one or more processors to switch from the unicast stream to the multicast stream, cause the one or more processors to:
enable the streaming content to be provided via the multicast stream; and
provide an instruction for the one or more user devices to receive the streaming content via the multicast stream.

### Claim 11 (depends on 10)

The non-transitory computer-readable medium of claim 10, where the one or more instructions, that cause the one or more processors to provide the instruction for the plurality of user devices, cause the one or more processors to:
provide the service identifier, included with the instruction, that allows the one or more user devices to identify and receive the multicast stream.

### Claim 12 (depends on 8)

The non-transitory computer-readable medium of claim 8, where the one or more instructions, that cause the one or more processors to receive the streaming information, cause the one or more processors to:
provide a content identifier for the streaming content;
receive the streaming information, which includes the content identifier; and
use the content identifier to identify the streaming content.

### Claim 13 (depends on 8)

The non-transitory computer-readable medium of claim 8, where the bit rate threshold is a first bit rate threshold, and
where the one or more instructions, further cause the one or more processors to:
determine that the bit rate is above the first bit rate threshold and below a second bit rate threshold.

### Claim 14 (depends on 8)

The non-transitory computer-readable medium of claim 8, where the one or more instructions further cause the one or more processors to:
store the segment identifier with a user device identifier, of the user device, in a data structure.

### Claim 15

A method, comprising:
receiving, by a device, streaming information that identifies a plurality of user devices, streaming content being provided to the plurality of user devices, a first cell, and a second cell,
the streaming information including a segment identifier that identifies a segment of the streaming content and a cell identifier that identifies the first cell associated with a first base station or the second cell associated with a second base station,
the streaming information being:
a live feed, or
not a live feed, and to
the segment identifier being used to group the plurality of user devices into one or more separate groups when the streaming information is not a live feed;
determining, by the device, that a user device, of the plurality of user devices, switched from receiving the streaming content from the first base station to receiving the streaming content from the second base station;
determining, by the device and based on the user device switching to receive the streaming content from the second base station, a quantity of user devices, of the plurality of user devices, associated with the first cell and a quantity of user devices, of the plurality of user devices, associated with the second cell;
determining, by the device, a bit rate at which one or more user devices, of the plurality of user devices, associated with the second base station receive the streaming content;
determining, by the device, that the streaming content is being provided using a multicast stream from the first base station based on the streaming information;
determining, by the device, that the streaming content is being provided using a unicast stream from the second base station based on the streaming information;
comparing, by the device and for the second base station, the bit rate and a bit rate threshold for switching from the unicast stream to a multicast stream;
comparing, by the device, the quantity of user devices, associated with the second cell, and a quantity threshold for switching from the unicast stream to the multicast stream;
determining, by the device, that the bit rate threshold is satisfied based on comparing the bit rate and the bit rate threshold;
determining, by the device, that the quantity threshold is satisfied based on comparing the quantity of user devices, associated with the second cell, and the quantity threshold;
switching, by the device, from the unicast stream to the multicast stream based on determining that the quantity threshold is satisfied and that the bit rate threshold is satisfied; and
receiving, by the device, an acknowledgement when a multicast service is established,
the acknowledgement including a service identifier,
the service identifier to allow the user devices to access the multicast stream associated with the multicast service.

### Claim 16 (depends on 15)

The method of claim 15, where determining that the quantity threshold is satisfied comprises:
determining that the quantity threshold is satisfied based on the quantity of user devices being greater than or equal to the quantity threshold.

### Claim 17 (depends on 15)

The method of claim 15, further comprising:
determining that the quantity threshold is no longer satisfied;
enabling, based on determining that the quantity threshold is no longer satisfied, the streaming content to be provided via one or more unicast streams; and
providing an instruction for the one or more user devices to receive the streaming content via the one or more unicast streams.

### Claim 18 (depends on 15)

The method of claim 15, further comprising:
sending a request, to another device, to identify the first cell or the second cell associated with the plurality of user devices; and
receiving, from the other device, information that identifies the first cell or the second cell.

### Claim 19 (depends on 15)

The method of claim 15, where the plurality of user devices are all of the user devices in the second cell; and
where the multicast stream is a broadcast stream.

### Claim 20 (depends on 15)

The method of claim 15, further comprising:
storing the segment identifier with a user device identifier, of a user device of the plurality of user devices, in a data structure.
