IP Library Granted Patent US 10,320,870
Granted Patent B2
US 10,320,870 · App. 14/572,858 · Granted Jun 11, 2019

Method and apparatus for carrier controlled dynamic rate adaptation and client playout rate reduction

Inventors: Kevin J. Ma (Nashua, NH); Raj Nair (Lexington, MA); Robert Hickey (Bedford, MA); Jianguo Xu (Newton, MA)
Assignee: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
H04L65/60H04L29/0809H04L29/08099H04L65/103H04L65/105H04L65/602H04L67/2842H04L67/2847H04N21/222H04N21/6405H04N21/64738H04L67/02
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 10,320,870
App. No.
14/572,858
Granted
Jun 11, 2019
Kind
B2
Abstract

A method and system is provided for controlling bandwidth rate limiting and client rendering rate limiting in a video delivery network. The method provides network service providers with a means for overriding video delivery data rates selected through dynamic client bitrate adaptation, as well as video data rendering rates of the clients, to limit the impact of network congestion. A system is also specified for implementing a client and a proxy computer in accordance with the method. The system works transparently with standard HTTP-based video delivery systems and includes an HTTP proxy cache infrastructure to support bandwidth rate limiting and client rending rate limiting. The system further provides for administrative overrides of client bitrate selection and client bandwidth usage.

Claims (33)

1. A method for operating a proxy computer in a streaming video delivery network to enforce video streaming policies for clients using bitrate adaptation and video playout rate reduction, comprising:

performing video streaming by caching video segments from a video content server and delivering cached video segments to the clients, the caching including predictively prefetching future video segments;

monitoring a variety of operational information;

using the operational information to calculate desired operational parameters for the network including a target bitrate for delivery of the video segments and an optimal bitrate for prefetching video segments; and

notifying a client of network conditions and the need for modification of the playout rate at which the video segments are to be rendered at the client to obtain a desired mix of quality playback and conformance to the desired operational parameters of the network.

2. The method of claim 1 , wherein the variety of operation information includes subscriber service level agreement (SLA) information, local network bandwidth at the proxy computer, and presence of congestion in the network.

3. The method of claim 2 , further comprising one or more actions selected from the group consisting of limiting access to selected videos; limiting bandwidth usage; applying global rate limiting policies; and prioritizing bandwidth by service level.

4. The method of claim 3 , wherein limiting access to selected videos includes refraining from sending videos of a given bitrate and/or resolution to clients not capable of rendering the videos at the given bitrate and/or resolution.

5. The method of claim 3 , wherein limiting access to selected videos is based on licensing restrictions regarding maximum bitrate or resolution available to a given client.

6. The method of claim 3 , wherein limiting bandwidth usage is achieved by using segment spoofing and/or playlist spoofing, segment spoofing including requesting a segment for one bitrate from the video content server in response to receiving a request for a segment of a higher bitrate from a client, and playlist spoofing including sending a spoofed playlist to the client in response to receiving a requested playlist, the spoofed playlist differing from the requested playlist.

7. The method of claim 1 , wherein segments are prefetched sequentially based on a current segment being requested, and prefetched segments are cached for later delivery to the clients.

8. The method of claim 1 , wherein the network includes a frontend radio access network and a backend carrier backhaul network, and wherein bandwidth of the frontend radio access network is estimated separately from bandwidth of the backend carrier backhaul network.

9. The method of claim 1 , wherein notifying the client of network conditions includes providing a frontend network bandwidth estimate usable by the client and routers downstream of the proxy computer, and wherein notifying the client of network conditions includes using a custom HTTP header inserted into a response to an HTTP request.

10. The method of claim 1 , wherein notifying the client of network conditions includes providing a backend network bandwidth estimate usable by the client and routers downstream of the proxy computer, the notifying including using a custom HTTP header inserted into a response to an HTTP request.

11. A proxy computer for use in a streaming video delivery network to enforce video streaming policies for clients using bitrate adaptation and video playout rate reduction, comprising:

memory;

a processor;

input/output circuitry for connecting the proxy computer to the streaming video delivery network including connections to the clients and a video content server; and

one or more data buses by which the memory, processor and input/output circuitry are coupled together,

the memory and processor being configured to store and execute program instructions to enable the proxy computer to perform a method including:

performing video streaming by caching video segments from a video content server and delivering cached video segments to the clients, the caching including predictively prefetching future video segments;

monitoring a variety of operational information;

using the operational information to calculate desired operational parameters for the network including a target bitrate for delivery of the video segments and an optimal bitrate for prefetching video segments; and

notifying a client of network conditions and the need for modification of the playout rate at which the video segments are to be rendered at the client to obtain a desired mix of quality playback and conformance to the desired operational parameters of the network.

12. The proxy computer according to claim 11 , wherein the variety of operation information includes subscriber service level agreement (SLA) information, local network bandwidth at the proxy computer, and presence of congestion in the network.

13. The proxy computer according to claim 12 , further comprising one or more actions selected from the group consisting of limiting access to selected videos; limiting bandwidth usage; applying global rate limiting policies; and prioritizing bandwidth by service level.

14. The proxy computer according to claim 13 , wherein limiting access to selected videos includes refraining from sending videos of a given bitrate and/or resolution to clients not capable of rendering the videos at the given bitrate and/or resolution.

15. The proxy computer according to claim 13 , wherein limiting access to selected videos is based on licensing restrictions regarding maximum bitrate or resolution available to a given client.

16. The proxy computer according to claim 13 , wherein limiting bandwidth usage is achieved by using segment spoofing and/or playlist spoofing, segment spoofing including requesting a segment for one bitrate from the video content server in response to receiving a request for a segment of a higher bitrate from a client, and playlist spoofing including sending a spoofed playlist to the client in response to receiving a requested playlist, the spoofed playlist differing from the requested playlist.

17. The proxy computer according to claim 11 , wherein segments are prefetched sequentially based on a current segment being requested, and prefetched segments are cached for later delivery to the clients.

18. The proxy computer according to claim 11 , wherein the network includes a frontend radio access network and a backend carrier backhaul network, and wherein bandwidth of the frontend radio access network is estimated separately from bandwidth of the backend carrier backhaul network.

19. The proxy computer according to claim 11 , wherein notifying the client of network conditions includes providing a frontend network bandwidth estimate usable by the client and routers downstream of the proxy computer, and wherein notifying the client of network conditions includes using a custom HTTP header inserted into a response to an HTTP request.

20. The proxy computer according to claim 11 , wherein notifying the client of network conditions includes providing a backend network bandwidth estimate usable by the client and routers downstream of the proxy computer, the notifying including using a custom HTTP header inserted into a response to an HTTP request.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2019
From: MA, KEVIN J.; NAIR, RAJ; HICKEY, ROBERT; XU, JIANGUO
To: AZUKI SYSTEMS, INC.
Reel/Frame 048620/0691 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2019
From: AZUKI SYSTEMS, INC.
To: ERICSSON AB
Reel/Frame 048620/0737 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2016
From: HICKEY, ROB; MA, KEVIN J.; NAIR, RAJ; XU, JIANGUO
To: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Reel/Frame 038066/0440 →
Continuity (5)
Continuation 13667268 · Nov 2, 2012
Continuation PCTUS2010060317 · Dec 14, 2010
Provisional Application 61330971 · May 4, 2010
Provisional Application 61389408 · Oct 4, 2010
Related Publication 20150106481A1 · Apr 16, 2015