Virtualization in adaptive stream creation and delivery
AssigneeEricsson Television Inc.
InventorsBob Forsman, Charles Dasher, Chris Phillips, Jennifer Reynolds, Steve Martin
Life of this patent
Estimating the term…
Abstract
An adaptive streaming server, a method, and a system are described herein that create a content stream to be delivered to one or more clients by segmenting the content into data structures which are stored in random access memory (volatile storage) rather than segmenting the content into segment files which are stored on a disk or database (non-volatile storage).
Claims19
A streaming server for providing a content stream through a network to a client, the streaming server comprising:
- a server comprising an input interface configured to receive a request from the client to play the content stream;
- a segmenting unit configured to receive the content stream and segment the content stream into a plurality of data structures, where the plurality of data structures encompass pointers which correspond to time codes and a reference to the unsegmented content stream;
- a random access memory unit configured to store the plurality of data structures and the pointers;
- the server further comprising:
- a processing unit configured to generate a manifest that includes a plurality references corresponding to a plurality of fragments of the content stream;
- an output interface configured to send the manifest to the client;
- the input interface configured to receive a request from the client to fetch one of the fragments corresponding to the content stream;
- the processing unit configured to obtain bytes associated with the requested fragment from the data structures stored in the random access memory unit, where the processing unit uses a start time and a stop time associated with the requested fragment and computes the corresponding pointers associated with the plurality of data structures to lookup bytes from the one or more data structures associated with the requested fragment;
- and
- the output interface configured to send the bytes associated with the requested fragment to the client.
A method implemented by an streaming server for providing a content stream through a network to a client, the method comprising the steps of:
- receiving a request from the client to play the content stream;
- receiving the content stream;
- segmenting the content stream into a plurality of data structures, where the plurality of data structures encompass pointers which correspond to time codes and a reference to the unsegmented content stream;
- storing the plurality of data structures and the pointers in a random access memory unit;
- generating a manifest that includes a plurality references corresponding to a plurality of fragments of the content stream;
- sending the manifest to the client;
- receiving a request from the client to fetch one of the fragments corresponding to the content stream;
- obtaining bytes associated with the requested fragment from the data structures stored in the random access memory unit by using a start time and a stop time associated with the requested fragment and computes the corresponding pointers associated with the plurality of data structures to lookup bytes from the one or more data structures associated with the requested fragment;
- and
- sending the bytes associated with the requested fragment to the client.
A system for providing a content stream through a network to a client, the system comprising:
- a content provider;
- an streaming server which interfaces with the client through the network;
- the streaming server is configured to:
- receive a request from the client to play the content stream;
- receive the content stream from the content provider;
- segment the content stream into a plurality of data structures, where the plurality of data structures are identified by pointers which correspond to time codes;
- generate a manifest that includes a plurality references corresponding to a plurality of fragments of the content stream;
- send the manifest to the client;
- receive a request from the client to fetch one of the fragments corresponding to the content stream;
- obtain bytes associated with the requested fragment from the data structures stored in the random access memory unit by using a start time and a stop time associated with the requested fragment and computes the corresponding pointers associated with the plurality of data structures to look up bytes from the one or more data structures associated with the requested fragment;
- and
- send the bytes associated with the requested fragment to the client.
Dependencies are inferred from the claim text.