Patent application number | Description | Published |
20090319681 | Dynamic Throttling Based on Network Conditions - The dynamic management of download rates when downloading digital resources to clients. A server concurrently maintains download sessions with any number of clients, each download session for downloading a corresponding digital resource to a corresponding client. The download rates for the various download sessions are adjusted as download sessions are completed, and as new download sessions are added. As new download sessions are initiated, a minimum and target download rate may be calculated. The target download rate is the rate at which the server will attempt to download the requested digital resource to the client, and will depend on the total available bandwidth for use to download the digital resources. | 12-24-2009 |
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 |
20100235494 | FLEXIBLE LOGGING, SUCH AS FOR A WEB SERVER - A flexible logging system is described herein that operates with a web server to provide activity logging in a way that is customizable to include a variety of data fields, can capture both client and server log information to a single location, and can provide data to an analysis engine directly to provide near real-time reporting. The system captures events within the web server as they occur and can provide reporting before the final response occurs. During request processing in the web server, server extension modules raise log events whenever an event occurs. The system matches the received data to a log definition and writes the data to any log that matches. Thus, the flexible logging system provides a rich, flexible, and fast platform for content providers and administrators to get a real-time view of the state of requests to their web servers. | 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 |
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 |
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 |
20110161485 | MANAGING MULTIPLE DYNAMIC MEDIA STREAMS - A coordinated adaptive streaming system provides a level of intelligence between adaptive streaming heuristics applied to multiple multi-bitrate streams playing on a client computer at the same time. The system receives a media event that includes multiple multi-bitrate streams and plays two or more of the streams. Each stream registers with the coordinated adaptive streaming system so that the system is aware of each of the streams. The system receives a priority indication from each stream that indicates the priority of the stream relative to other streams associated with the media event. The system uses the received priority indications to make adaptive streaming decisions. Thus, the coordinated adaptive streaming system provides playback that more closely aligns with a user's priorities and provides a higher quality experience to a user viewing multiple concurrent media streams. | 06-30-2011 |
20110302238 | VIRTUAL PLAYBACK SPEED MODIFICATION - A multispeed playback system is described herein that allows for playback of smooth streaming media presentations at speeds other than the normal speed or direction, while still using an underlying platform that does not natively support multispeed. The system provides frames to the underlying platform so that the platform is still playing 1× content while the system manipulates video and/or audio samples being fed to the platform to make rendered data look appropriately for a selected speed and direction. The system may feed the underlying platform frames at a faster rate or skip every other frame for faster playback, or may feed each frame to the underlying platform multiple times for slower playback. Thus, the multispeed playback system allows a client application developer to provide users with expected multispeed playback at the client without encoding multiple different streams at the server. | 12-08-2011 |
20110307623 | SMOOTH STREAMING CLIENT COMPONENT - A streaming abstraction system is described herein that provides application developers a client software development kit (SDK) on top of which to build smooth streaming solutions. The system reduces development time considerably and abstracts platform specific intricacies and protocol handling on the client. In addition, the streaming abstraction system makes it possible to monetize streaming content with advanced features like advertising and analytics and provides advanced capabilities like multiple camera angles, diagnostics, and error handling. In some embodiments, the streaming abstraction system provides an intermediate layer that operates between an application and an underlying client media platform. The intermediate layer manages smooth streaming protocol handling as well as interactions with the platform-specific runtime. | 12-15-2011 |
20110307781 | SEAMLESS PLAYBACK OF COMPOSITE MEDIA - A streaming composition system is described herein that provides easy workflow and playback capabilities for content producers to create composite media assets from existing and on-going media content and for streaming clients to seamlessly playback composite multimedia streams provided from different sources. These assets provide broadcasters an option to quickly turn around highlights for an on-going event. The streaming composition system allows a producer to identify clips within existing media assets and compose the clips into a new unified streaming presentation. For producers that already have smooth streaming media assets, the system leverages these assets to provide seamless playback across clip boundaries including advanced playback support for advertisement insertion, fast forward, rewind, and so on. | 12-15-2011 |
20140164926 | SEAMLESS PLAYBACK OF COMPOSITE MEDIA - A streaming composition system is described herein that provides easy workflow and playback capabilities for content producers to create composite media assets from existing and on-going media content and for streaming clients to seamlessly playback composite multimedia streams provided from different sources. These assets provide broadcasters an option to quickly turn around highlights for an on-going event. The streaming composition system allows a producer to identify clips within existing media assets and compose the clips into a new unified streaming presentation. For producers that already have smooth streaming media assets, the system leverages these assets to provide seamless playback across clip boundaries including advanced playback support for advertisement insertion, fast forward, rewind, and so on. | 06-12-2014 |