×

HTTP adaptive streaming server with automatic rate shaping

  • US 8,751,679 B2
  • Filed: 10/07/2011
  • Issued: 06/10/2014
  • Est. Priority Date: 10/07/2011
  • Status: Active Grant
First Claim
Patent Images

1. An adaptive streaming server for transmitting a content stream through a network to a client, the adaptive streaming server comprising:

  • a Hypertext Transfer Protocol (HTTP) server comprising an input interface configured to receive a request from the client to play the content stream;

    a segmenting unit configured to receive multiple files of the content stream where the multiple files are encoded at different bit rates and further configured to segment each of the multiple files into a plurality of segments;

    a segment storage unit configured to store the plurality of segments;

    the HTTP server further comprising;

    a processing unit configured to generate a master manifest that includes a plurality of child manifests, wherein the first child manifest has references to the segments having a first bit rate, the second child manifest has references to the segments having a second bit rate, and the third child manifest has references to the segments having a third bit rate, and wherein the first bit rate is higher than the second bit rate which is higher than the third bit rate;

    an output interface configured to send the master manifest to the client;

    the input interface configured to receive a request from the client to fetch a specific one of the segments corresponding to the content stream;

    the processing unit configured to obtain the requested segment from the segment storage unit;

    the output interface configured to send the requested segment to the client;

    a bandwidth monitor configured to monitor a congestion level within the network; and

    the processing unit is configured to determine if the congestion level within the network exceeds a predetermined threshold and when this occurs is further configured such that if the client requests the segments associated with the first child manifest then the client is sent segments which have a bit rate that is less than the first bit rate by;

    receiving a request from the client to fetch one of the segments associated with the first child manifest corresponding to the content stream;

    obtaining a corresponding segment associated with one of the multiple files which has a bit rate that is less than the first bit rate rather than obtain the requested segment, wherein the corresponding segment is referenced by one of the second child manifest or the third child manifest; and

    sending the obtained segment to the client which playbacks the obtained segment.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×