IP Library Granted Patent US 9,628,405
Granted Patent B2
US 9,628,405 · App. 14/246,880 · Granted Apr 18, 2017

Merging multicast ABR and unicast ABR with progressive download ABR in a customer premises device within the same video delivery pipe

Inventors: Charles Hammett Dasher (Lawrenceville, GA); Jennifer Ann Reynolds (Duluth, GA); Robert Hammond Forsman (Sugar Hill, GA); Chris Phillips (Hartwell, GA)
Assignee: ERICSSON AB
H04L47/801H04L47/12H04L65/4069H04N21/23439H04N21/2402H04N21/2662H04N21/44209H04N21/6125H04N21/8456
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 9,628,405
App. No.
14/246,880
Granted
Apr 18, 2017
Kind
B2
Abstract

A method of managing bandwidth allocation across a video pipe that delivers both streaming adaptive bitrate (ABR) content and progressive download ABR content includes receiving a designation of a congestion boundary within a video pipe, the congestion boundary designating a first percentage of the video pipe that is to be used for streaming ABR content when congestion exists on both sides of the congestion boundary, wherein a remaining percentage of the video pipe is to be used for progressive download ABR; allocating bandwidth for streaming ABR content, wherein the gateway device can allocate for streaming content only that portion of the remaining percentage of bandwidth that is not requested for progressive download content; and allocating bandwidth for progressive download content, wherein the gateway device can allocate for progressive download content only that portion of the first percentage of bandwidth that is not requested for streaming content.

Claims (49)

1. A method, performed by a gateway device, of managing bandwidth allocation across a video pipe that delivers both streaming adaptive bitrate (ABR) content and progressive download ABR content to a premises having one or more multicast ABR (MABR) streaming clients, one or more unicast ABR (UABR) streaming clients and one or more progressive download ABR clients, the method comprising:

receiving a designation of a congestion boundary for the video pipe serving the premises associated with the gateway device, the congestion boundary designating a first percentage of the video pipe that is indicative of a configurable amount of bandwidth of the video pipe to be used for streaming ABR content, the configurable amount of bandwidth comprising a streaming video pipe portion of the video pipe, wherein a remaining percentage of the video pipe is to be used for progressive download ABR content;

receiving an indication that a new streaming client in the premises has tuned to a channel;

responsive to the indication, performing a bandwidth allocation modeling of the streaming video pipe portion to determine a select bitrate representation of a media asset associated with the channel, the bandwidth allocation modeling of the streaming video pipe portion based on taking into account all streaming channels of the streaming video pipe portion; and

joining the new streaming client to the select bitrate representation of the media asset,

wherein the bandwidth allocation modeling of the streaming video pipe portion comprises:

determining a composite device priority (CDP) for each of the steaming channels requested by the corresponding streaming clients of the premises;

generating a requested streaming list associated with the streaming channels tuned to by the streaming clients of the premises;

sorting the requested streaming list by the CDP in descending order;

for each requested stream in the requested streaming list, determining whether a lowest bitrate associated with the requested stream will fit into a modeled streaming video pipe portion and if the lowest bitrate will fit into the modeled streaming video pipe portion, adding the requested stream to a list of applied streams along with a weight associated with the CDP for the requested stream and otherwise adding the requested stream to a skipped stream list;

computing an inadequacy metric for each requested stream in the list of applied streams using the respective weight and assigned bitrate and sorting the list of applied streams by the inadequacy metric in descending order;

for each requested stream in the sorted list of applied streams, determining whether the requested stream can upgrade to a next highest bitrate using the configurable amount of streaming bandwidth indicated by the congestion boundary and if the requested stream can upgrade to the next highest bitrate, changing the bitrate for the requested stream to the next highest bitrate; and

determining highest bitrates for all requested streams allowed within the configurable amount of streaming bandwidth indicated by the congestion boundary, including the select bitrate representation of the media asset requested by the new streaming client.

2. The method as recited in claim 1 further comprising:

once all bitrates are determined, for each requested stream in the list of applied streams, if the requested stream is a MABR stream and the requested stream is not currently connected to a correct IGMP group, performing an IGMP join operation to join the requested stream at the determined bitrate to the corresponding streaming client, and if the requested stream is a UABR stream and the requested stream needs to change its bitrate, requesting a new unicast streaming bitrate from a content distribution network (CDN) edge streamer,

wherein determining the CDP for a requested stream comprises determining a highest priority device that is requesting the stream and using the priority of the determined device as the priority of the requested stream.

3. The method as recited in claim 1 wherein the inadequacy metric for a requested stream is calculated by dividing the weight associated with the CDP of the requested stream by a current bandwidth allocation for the requested stream.

4. The method as recited in claim 1 further comprising:

for each stream in the skipped stream list, determining if the stream is an MABR stream;

if the stream is an MABR stream, further determining if a progressive download ABR client is also requesting the MABR stream; and

if the progressive download ABR client is also requesting the MABR stream, providing the MABR stream to the progressive download ABR client utilizing at least a portion of the remaining percentage of the video pipe to be used for progressive download ABR content.

5. The method as recited in claim 1 further comprising:

for each stream in the skipped stream list, determining that if the stream is a UABR stream or else if the stream is an MABR stream; and

responsive to determining that the stream is either a UABR stream or an MABR stream, and further responsive to determining that the requesting client is a streaming client, notifying the client that no streaming bandwidth is available to serve the client.

6. A premises gateway device including a streaming server and a hypertext transport protocol (HTTP) server; the premises gateway device configured to manage bandwidth allocation across a video pipe that delivers both streaming adaptive bitrate (ABR) content and progressive download ABR content to a premises having one or more multicast ABR (MABR) streaming clients, one or more unicast ABR (UABR) clients and one or more progressive download ABR clients, the premises gateway device comprising:

one or more processors; and

non-transitory computer-readable media having program instructions thereon, which are configured to perform the following when executed by the one or more processors, at least a portion of the one or more processors and the non-transitory computer-readable media arranged into operate as the streaming server or the HTTP server:

responsive to receiving a congestion boundary for the video pipe serving the premises associated with the premises gateway device, the congestion boundary designating a first percentage of the video pipe that is indicative of a configurable amount of bandwidth of the video pipe to be used for streaming ABR content, the configurable amount of bandwidth comprising a streaming video pipe portion of the video pipe, wherein a remaining percentage of the video pipe is to be used for progressive download ABR content;

responsive to receiving an indication that a new streaming client in the premises has tuned to a channel, performing a bandwidth allocation modeling of the streaming video pipe portion to determine a select bitrate representation of a media asset associated with the channel, the bandwidth allocation modeling of the streaming video pipe portion based on taking into account all streaming channels of the streaming video pipe portion; and

joining the new streaming client to the select bitrate representation of the media asset,

wherein the bandwidth allocation modeling of the streaming video pipe portion comprises performing:

determining a composite device priority (CDP) for each of the streaming channels requested by the corresponding streaming clients of the premises;

generating a requested streaming list associated with the streaming channels turned to by the streaming clients of the premises;

sorting the requested streaming list by the CDP in descending order;

for each requested stream in the requested streaming list, determining whether a lowest bitrate associated with the requested stream will fit into a modeled streaming video pipe portion and if the lowest bitrate will fit into the modeled streaming video pipe portion, adding the requested stream to a list of applied streams along with a weight associated with the CDP for the requested stream and otherwise adding the requested stream to a skipped stream list;

computing an inadequacy metric for each requested stream in the list of applied streams using the respective weight and assigned bitrate and sorting the list of applied streams by the inadequacy metric in descending order;

for each requested stream in the sorted list of applied streams, determining whether the requested stream can upgrade to a next highest bitrate using the configurable amount of streaming bandwidth indicated by the congestion boundary and if the requested stream can upgrade to the next highest bitrate, changing the bitrate for the requested stream to the next highest bitrate; and

determining highest bitrates for all requested streams allowed within the configurable amount of streaming bandwidth indicated by the congestion boundary, including the select bitrate representation of the media asset requested by the new streaming client.

7. The premises gateway device as recited in claim 6 wherein the non-transitory computer-readable media further comprises program instructions for performing:

once all bitrates are determined, for each requested stream in the list of applied streams, if the requested stream is a MABR stream and the requested stream is not currently connected to a correct IGMP group, effectuating an IGMP join operation to join the requested stream at the determined bitrate to the corresponding streaming client, and if the requested stream is a UABR stream and the requested stream needs to change its bitrate, requesting a new unicast streaming bitrate from a content distribution network (CDN) edge streamer,

wherein determining the CDP for a requested stream comprises determining a highest priority device that is requesting the stream and using the priority of the determined device as the priority of the requested stream.

8. The premises gateway device as recited in claim 6 wherein the inadequacy metric for a requested stream is calculated by dividing the weight associated with the CDP of the requested stream by a current bandwidth allocation for the requested stream.

9. The premises gateway device as recited in claim 6 wherein the non-transitory computer-readable media further comprises program instructions for performing:

for each stream in the skipped stream list, determining if the stream is an MABR stream;

if the stream is an MABR stream, further determining if a progressive download ABR client is also requesting the MABR stream; and

if the progressive download ABR client is also requesting the MABR stream, providing the MABR stream to the progressive download ABR client in the remaining percentage of the video pipe to be used for progressive download ABR content.

10. The premises gateway device as recited in claim 6 wherein the non-transitory computer-readable media further comprises program instructions for performing:

for each stream in the skipped stream list, determining that if the stream is a UABR stream or else if the stream is an MABR stream; and

responsive to determining that the stream is either a UABR stream or an MABR stream, and further responsive to determining that the requesting client is a streaming client, notifying the client that no streaming bandwidth is available to serve the client.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2017
From: ERICSSON TELEVISION INC.
To: ERICSSON AB
Reel/Frame 042028/0194 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2015
From: DASHER, CHARLES HAMMETT; FORSMAN, ROBERT HAMMOND; PHILLIPS, CHRIS; REYNOLDS, JENNIFER ANN
To: ERICSSON TELEVISION INC.
Reel/Frame 036184/0349 →
Continuity (1)
Related Publication 20150288617A1 · Oct 8, 2015