| Patent application number | Description | Published |
| 20100114921 | Dynamic Fragmentation of Digital Media - Media fragmentation may be provided. First, a request for a manifest may be received from a client. Then, in response to the received request for the manifest, the manifest may be sent to the client. Next, a request may be received from the client for a file fragment. The request may indicate a start time and an end time corresponding to the file fragment. The request may be in a format defined by the manifest. Then a lookup table may be queried for a first byte location in a media file corresponding to the start time and a second byte location in the media file corresponding to the end time. Next, a portion of the media file between the first byte location and the second byte location may be extracted from the media file. The portion may comprise the file fragment. The file fragment may be sent to the client. | 05-06-2010 |
| 20100180011 | URL BASED RETRIEVAL OF PORTIONS OF MEDIA CONTENT - A media fragmenting system is described herein that allows requesting portions of a content item through information specified in a Uniform Resource Identifier (URI) used to retrieve the content item. Media fragments retrieved using the media fragmenting system are cacheable by existing Internet infrastructure and allow clients to retrieve portions of a content item without retrieving the entire content item. The media fragmenting system adds a content range segment to the URI to specify a portion of the content item. A server receiving the URI accesses the content item, identifies the requested portion, and returns the requested portion in a standard HTTP response to the client. Because no changes to the HTTP protocol are involved, intermediate servers, routers, and proxies, can all handle the request and response as well as cache the response without modification. | 07-15-2010 |
| 20100235472 | SMOOTH, STATELESS CLIENT MEDIA STREAMING - An adaptive streaming system is described herein that provides a stateless connection between the client and server for streaming media playback in which the data is formatted in a manner that allows the client to make decisions and react more quickly to changing network conditions. The client requests uniform chunks of media from the server that include a portion of the media. The adaptive streaming system requests portions of a media file or of a live streaming event in small-sized chunks each having a distinguished URL. This allows streaming media data to be cached by existing Internet cache infrastructure. Each chunk contains metadata information that describes the encoding of the chunk and media content for playback by the client. The server may provide chunks in multiple encodings so that the client can switch quickly to chunks of a different bit rate or playback speed. | 09-16-2010 |
| 20100235528 | DELIVERING CACHEABLE STREAMING MEDIA PRESENTATIONS - A smooth streaming system provides a stateless protocol between a client and server in which the server embeds incremental control information in media fragments. The server provides uniform media fragment responses to media fragment requests that are cacheable by existing Internet cache infrastructure. The smooth streaming system receives media data in fragments from one or more encoders, creates an index of each fragment, and stores the fragments. The server provides fragments to clients that contain metadata information describing the encodings available on the server and the encoding of the fragment. The server may also provide information within each fragment that allows the client to determine whether the client is requesting data too fast or too slow, so that the client can adapt its request rate to a cadence in tune with the rate at which the server is receiving encoder data. | 09-16-2010 |
| 20100268789 | NETWORK CACHING FOR MULTIPLE CONTEMPORANEOUS REQUESTS - A live caching system is described herein that reduces the burden on origin servers for serving live content. In response to receiving a first request that results in a cache miss, the system forwards the first request to the next tier while “holding” other requests for the same content. If the system receives a second request while the first request is pending, the system will recognize that a similar request is outstanding and hold the second request by not forwarding the request to the origin server. After the response to the first request arrives from the next tier, the system shares the response with other held requests. Thus, the live caching system allows a content provider to prepare for very large events by adding more cache hardware and building out a cache server network rather than by increasing the capacity of the origin server. | 10-21-2010 |
| 20110080940 | LOW LATENCY CACHEABLE MEDIA STREAMING - A low latency streaming system provides a stateless protocol between a client and server with reduced latency. The server embeds incremental information in media fragments that eliminates the usage of a typical control channel. In addition, the server provides uniform media fragment responses to media fragment requests, thereby allowing existing Internet cache infrastructure to cache streaming media data. Each fragment has a distinguished Uniform Resource Locator (URL) that allows the fragment to be identified and cached by both Internet cache servers and the client's browser cache. The system reduces latency using various techniques, such as sending fragments that contain less than a full group of pictures (GOP), encoding media without dependencies on subsequent frames, and by allowing clients to request subsequent frames with only information about previous frames. | 04-07-2011 |
| 20110083037 | RELIABLE MEDIA STREAMING - A reliable streaming system increases reliability of live and on-demand streaming media events through a robust server architecture that allows fast failover and recovery in the event of network, hardware, or other failures. The system provides for failover of encoders, ingest servers, which receive encoded media data from encoders, and origin servers, which serve as the retrieval point of last resort for connecting clients. The system also provides a push proxy mechanism that allows one copy of data to feed redundant servers and pre-warm caches, saving on provisioned bandwidth. In addition, the system provides a distribution server role that allows content to be automatically syndicated to a region when needed. Thus, the reliable streaming system provides a streaming solution with no single point of failure and redundancy and fast failover built into the content network architecture. | 04-07-2011 |
| 20110083144 | INTEGRATING CONTINUOUS AND SPARSE STREAMING DATA - A sparse streaming system provides a first-class means for sparse metadata to be added to streaming media presentations and to be delivered using an integrated data channel that is cacheable using readily available HTTP-based Internet caching infrastructure for increased scalability. The sparse streaming system stores a reference to a sparse track within a continuous track. If a continuous fragment arrives at the client that refers to a sparse fragment that the client has not yet retrieved, then the client requests the sparse fragment. In addition, each sparse fragment may include a backwards reference to the sparse fragment created immediately prior. The references in the continuous fragments make the client aware of new sparse track fragments, and the backwards references in the sparse track fragments ensure that the client has not missed any intervening sparse track fragments. | 04-07-2011 |
| 20110106847 | ASSEMBLING STREAMED CONTENT FOR ON-DEMAND PRESENTATION - Assembling streamed content for on-demand presentation is described. In embodiments, a media asset can be requested from a content distributor, and cacheable segments of the media asset are streamed to the requesting client device. The cacheable segments are received in an initial quality display format for uninterrupted playback of the media asset at the client device while the cacheable segments are being received. An asset matrix that correlates a bit rate and a time position for each cacheable segment in the media asset is also received. The cacheable segments of the media asset can be assembled according to the asset matrix to generate an assembled asset data file of the media asset. The assembled asset data file can then be back-filled with selected ones of the cacheable segments that are replaced with a highest quality display format for on-demand presentation of the media asset when selected for viewing. | 05-05-2011 |