Patent application number | Description | Published |
20080256418 | DYNAMIC STREAM INTERLEAVING AND SUB-STREAM BASED DELIVERY - A communications system can provide methods of dynamically interleaving streams, including methods for dynamically introducing greater amounts of interleaving as a stream is transmitted independently of any source block structure to spread out losses or errors in the channel over a much larger period of time within the original stream than if interleaving were not introduced, provide superior protection against packet loss or packet corruption when used with FEC coding, provide superior protection against network jitter, and allow content zapping time and the content transition time to be reduced to a minimum and minimal content transition times. Streams may be partitioned into sub-streams, delivering the sub-streams to receivers along different paths through a network and receiving concurrently different sub-streams at a receiver sent from potentially different servers. When used in conjunction with FEC encoding, the methods include delivering portions of an encoding of each source block from potentially different servers. | 10-16-2008 |
20080298300 | Communication Control Method and System for Carrying Out Said Method - A system including communications means ( | 12-04-2008 |
20090031199 | FILE DOWNLOAD AND STREAMING SYSTEM - A method of encoding data operates on an ordered set of input symbols and includes generating redundant symbols from the input symbols, and includes generating output symbols from a combined set of symbols including the input symbols and the redundant symbols, wherein the number of possible output symbols is much larger than the number of the combined set of symbols, wherein at least one output symbol is generated from more than one symbol in the combined set of symbols and from less than all of the symbols in the combined set of symbols. The redundant symbols are generated from an ordered set of input symbols in a deterministic process such that a first set of static symbols calculated using a first input symbol has a low common membership with a second set of static symbols calculated using a second input symbol distinct from the first input symbol. | 01-29-2009 |
20110153807 | Systems and Methods for Preemptive DNS Resolution - Disclosed are systems, methods and computer program products for preemptive DNS resolution. A DNS proxy is provided for inspecting data packets transmitted to a client device on a first communication link. The proxy identifies one or more host device names embedded in the inspected data packets and resolves IP addresses associated with the embedded host device names. The proxy device transmits the inspected data packets to the client device without alterations on a second communication link. The second communication link has significantly higher propagation latency than the first communication link. The proxy then transmits to the client device, independent of the inspected data packets, the one or more host device names and the associated resolved IP addresses for use by the client device to establish connections to the host devices identified in the inspected data packet. | 06-23-2011 |
20110222404 | HTTP OPTIMIZATION, MULTI-HOMING, MOBILITY AND PRIORITY - Combining parallel Hypertext Transfer Protocol (HTTP) connections and pipelining overcomes an impact of increasing Round Trip Time (RTT) by varying in real time the number of parallel connections and pipelined requests such that the number of outstanding requests is minimal and the link remains fully utilized. Optimal construction and scheduling of requests and connections in an HTTP stack improves page load time and also provides for greater responsiveness to changes in object priorities. Multi-homing and mobility at the application layer for HTTP are addressed. Multi-homing provides for simultaneous use of multiple interfaces, for example WWAN and WLAN interfaces which improves download time, especially in the case that the available bandwidth the interfaces is of the same order of magnitude. Mobility provides for switching connections as the device moves. In combination they provide for smoother mobility. Mobility can be provided this way without server or network support. | 09-15-2011 |
20110231519 | ENHANCED BLOCK-REQUEST STREAMING USING URL TEMPLATES AND CONSTRUCTION RULES - A block-request streaming system provides for improvements in the user experience and bandwidth efficiency of such systems, typically using an ingestion system that generates data in a form to be served by a conventional file server (HTTP, FTP, or the like), wherein the ingestion system intakes content and prepares it as files or data elements to be served by the file server, which might include a cache. A client device can be adapted to take advantage of the ingestion process as well as improvements that make for a better presentation independent of the ingestion process. The client devices and ingestion system can be coordinated to have a predefined mapping and template for making block requests to HTTP file names that a conventional file server can accept through the use of URL construction rules. Segment size might be specified in an approximate manner for more efficient organization. | 09-22-2011 |
20110231569 | ENHANCED BLOCK-REQUEST STREAMING USING BLOCK PARTITIONING OR REQUEST CONTROLS FOR IMPROVED CLIENT-SIDE HANDLING - A block-request streaming system provides for improvements in the user experience and bandwidth efficiency of such systems, typically using an ingestion system that generates data in a form to be served by a conventional file server (HTTP, FTP, or the like), wherein the ingestion system intakes content and prepares it as files or data elements to be served by the file server. A client device can be adapted to take advantage of the ingestion process. The client device might be configured to optimize use of resources, given the information available to it from the ingestion system. This may include configurations to determine the sequence, timing and construction of block requests based on monitoring buffer size and rate of change of buffer size, use of variable sized requests, mapping of block requests to underlying transport connections, flexible pipelining of requests, and/or use of whole file requests based on statistical considerations. | 09-22-2011 |
20110238789 | ENHANCED BLOCK-REQUEST STREAMING SYSTEM USING SIGNALING OR BLOCK CREATION - A block-request streaming system provides for improvements in the user experience and bandwidth efficiency of such systems, typically using an ingestion system that generates data in a form to be served by a conventional file server (HTTP, FTP, or the like), wherein the ingestion system intakes content and prepares it as files or data elements to be served by the file server. The system might include controlling the sequence, timing and construction of block requests, time based indexing, variable block sizing, optimal block partitioning, control of random access point placement, including across multiple presentation versions, dynamically updating presentation data, and/or efficiently presenting live content and time shifting. | 09-29-2011 |
20110239078 | ENHANCED BLOCK-REQUEST STREAMING USING COOPERATIVE PARALLEL HTTP AND FORWARD ERROR CORRECTION - A block-request streaming system provides for improvements in the user experience and bandwidth efficiency of such systems, typically using an ingestion system that generates data in a form to be served by a conventional file server (HTTP, FTP, or the like), wherein the ingestion system intakes content and prepares it as files or data elements to be served by the file server, which might or might not include a cache. A client device can be adapted to take advantage of the ingestion process as well as including improvements that make for a better presentation independent of the ingestion process. In the block-request streaming system, the an ingestion system generates data according to erasure codes and the client device, through various selection and timing of requests for media data and redundant data, can efficiently decode media to provide for presentations. | 09-29-2011 |
20110258510 | CODE GENERATOR AND DECODER FOR COMMUNICATIONS SYSTEMS OPERATING USING HYBRID CODES TO ALLOW FOR MULTIPLE EFFICIENT USES OF THE COMMUNICATIONS SYSTEMS - A method of encoding data for transmissions from a source to a destination over a communications channel is provided. The method operates on an ordered set of source symbols and may generate zero or more redundant symbols from the source symbols, wherein data is encoded in a first step according to a simple FEC code and in a second step, data is encoded according to a second FEC code, more complex than the first FEC code. The first FEC code and/or the second FEC code might comprise coding known in the art. These steps result in two groups of encoded data in such a way that a low-complexity receiver may make use of one of the groups of encoded data while higher complexity receivers may make use of both groups of encoded data. | 10-20-2011 |
20120036409 | EFFICIENT ENCODING AND DECODING METHODS FOR REPRESENTING SCHEDULES AND PROCESSING FORWARD ERROR CORRECTION CODES - A sequence of symbol operations (a “schedule representation”) within a data storage device, wherein the operations are those used to process encoding or decoding operations of a forward error correction code (an “FEC code”) upon an arbitrary block of data of a given size (where size can be measured in numbers of symbols). The method is such that the schedule representation can be used to direct the processing of these operations upon a block of data in a way that is computationally efficient. Preferably, the same method can be applied to represent schedules derived from multiple different algorithms for the encoding or decoding of a code or for multiple different codes. | 02-09-2012 |
20120042050 | Representation groups for network streaming of coded multimedia data - In one example, a device for receiving information for multimedia data, the device comprising one or more processors configured to analyze at least a portion of a manifest file for multimedia content, wherein the portion of the manifest file includes information indicative of sets of representations of the multimedia content and information indicative of common characteristics for each of the sets of representations, select one of the sets of representations based on the common characteristics for the one of the sets of representations, select one of the representations of the selected one of the sets of representations based on one or more coding characteristics of the one of the representations of the one of the sets, and generate a request for data of the one of the representations based on the selection. | 02-16-2012 |
20120042089 | TRICK MODES FOR NETWORK STREAMING OF CODED MULTIMEDIA DATA - In one example, a device for retrieving multimedia data, the device comprising one or more processors configured to analyze information of a manifest file for multimedia content, wherein the information of the manifest file indicates that at least one representation of the multimedia content includes a temporal sub-sequence, determine one or more locations of data for the temporal sub-sequence, and submit one or more requests for the data for the temporal sub-sequence. | 02-16-2012 |
20120042090 | MANIFEST FILE UPDATES FOR NETWORK STREAMING OF CODED MULTIMEDIA DATA - In one example, a device for retrieving multimedia data, the device comprising one or more processors configured to retrieve data of a first segment of a representation of multimedia content in accordance with data of a copy of a manifest file stored by the device, retrieve a portion of a second segment of the representation in accordance with the manifest file, wherein the second segment occurs after the first segment in the representation, and wherein the portion of the second segment indicates that the manifest file is to be updated, update the copy of the manifest file stored by the device based on the indication that the manifest file is to be updated, and retrieve media data of the second segment in accordance with the updated manifest file. | 02-16-2012 |
20120042227 | FEC STREAMING WITH AGGREGATION OF CONCURRENT STREAMS FOR FEC COMPUTATION - Transmitters and receivers deal with streams of data, wherein the receiver is expected to begin using received data before receiving all of the data. Concurrent streams are sent and FEC coding is used with the streams and done as an aggregate. The transmitter performs FEC operations over the plurality of streams, wherein source blocks from at least two streams logically associated into a jumbo source block and FEC processing is performed to generate one or more jumbo repair block from the jumbo source block. Each of the source blocks comprises one or more source symbols from their respective stream. The jumbo source symbols can be of constant size and are suitably aligned along size boundaries that make processing efficient. Each source symbol need not be the same size, and the number of source symbols from each stream in a jumbo source block need not be the same value across streams. | 02-16-2012 |
20120131223 | Object-Based Transport Protocol - Methods and apparatuses are provided that facilitate providing an object-based transport protocol that allows transmission of arbitrarily sized objects over a network protocol layer. The object-based transport protocol can also provide association of metadata with the objects to control communication thereof, and/or communication of response objects. Moreover, the object-based transport protocol can maintain sessions with remote network nodes that can include multiple channels, which can be updated over time to seamlessly provide mobility, increased data rates, and/or the like. In addition, properties can be modified remotely by network nodes receiving objects related to the properties. | 05-24-2012 |
20120207068 | FRAMING FOR AN IMPROVED RADIO LINK PROTOCOL INCLUDING FEC - Framing techniques for an improved radio link protocol used in a wireless communication system, such as EV-DO. In one embodiment scheduling of the generation of repair symbols encoded to be transmitted along with source data is described. In another embodiment acknowledgment messages from a receiver are used to control the trailing edge of the protection window offered by the repair symbols. In another embodiment, non-acknowledgment messages from a receiver are used to control the generation of extra repair symbols. In another embodiment, a length field is used to avoid transmission of padding bytes over the air. In yet another embodiment, a symbol auxiliary field is appended to source symbols to indicate the padding bytes needed for symbol aligning thus avoiding the transmission of padding bytes over the air. | 08-16-2012 |
20120208580 | FORWARD ERROR CORRECTION SCHEDULING FOR AN IMPROVED RADIO LINK PROTOCOL - Forward error correction scheduling techniques for an improved radio link protocol used in a wireless communication system, such as EV-DO. In one embodiment scheduling of the generation of repair symbols encoded to be transmitted along with source data is described. In another embodiment acknowledgment messages from a receiver are used to control the trailing edge of the protection window offered by the repair symbols. In another embodiment, non-acknowledgment messages from a receiver are used to control the generation of extra repair symbols. In another embodiment, a length field is used to avoid transmission of padding bytes over the air. In yet another embodiment, a symbol auxiliary field is appended to source symbols to indicate the padding bytes needed for symbol aligning thus avoiding the transmission of padding bytes over the air. | 08-16-2012 |
20120210190 | ENCODING AND DECODING USING ELASTIC CODES WITH FLEXIBLE SOURCE BLOCK MAPPING - Data can be encoded by assigning source symbols to base blocks, assigning base blocks to source blocks and encoding each source block into encoding symbols, where at least one pair of source blocks is such they have at least one base block in common with both source blocks of the pair and at least one base block not in common with the other source block of the pair. The encoding of a source block can be independent of content of other source blocks. Decoding to recover all of a desired set of the original source symbols can be done from a set of encoding symbols from a plurality of source blocks wherein the amount of encoding symbols from the first source block is less than the amount of source data in the first source block and likewise for the second source block. | 08-16-2012 |
20120265897 | METHODS AND APPARATUS FOR ENHANCING DEVICE PERFORMANCE THROUGH FLOW CONTROL - A method and apparatus for enhancing device performance through transport flow control is provided. The method may include determining that a level of user interest is indicated in at least one application of one or more applications, and modifying a transport flow associated with at least one of the one or more applications. | 10-18-2012 |
20130007223 | ENHANCED BLOCK-REQUEST STREAMING SYSTEM FOR HANDLING LOW-LATENCY STREAMING - A block-request streaming system provides for low-latency streaming of a media presentation. A plurality of media segments are generated according to an encoding protocol. Each media segment includes a random access point. A plurality of media fragments are encoded according to the same protocol. The media segments are aggregated from a plurality of media fragments. | 01-03-2013 |
20130067295 | FILE DOWNLOAD AND STREAMING SYSTEM - A method of encoding data operates on an ordered set of input symbols and includes generating redundant symbols from the input symbols, and includes generating output symbols from a combined set of symbols including the input symbols and the redundant symbols, wherein the number of possible output symbols is much larger than the number of the combined set of symbols, wherein at least one output symbol is generated from more than one symbol in the combined set of symbols and from less than all of the symbols in the combined set of symbols. The redundant symbols are generated from an ordered set of input symbols in a deterministic process such that a first set of static symbols calculated using a first input symbol has a low common membership with a second set of static symbols calculated using a second input symbol distinct from the first input symbol. | 03-14-2013 |
20130159384 | WEB SERVER CONSTRAINT SUPPORT - Techniques are disclosed for a web server to support constraints specified by a client. In one embodiment, the web server receives, from the client, a request for one or more blocks of data. The request includes one or more constraints provided by the client. The web server may perform an action responsive to an increase in network congestion, based on the one or more constraints. Accordingly, the web server may handle the request in a manner that more closely meets the needs of the client. | 06-20-2013 |
20130159498 | MEASURING USER QUALITY OF EXPERIENCE FOR A STREAMING MEDIA SERVICE - Techniques are disclosed for representing a user quality of experience (QoE) experienced by users of a streaming media service using a single QoE metric. The single QoE metric may be determined based on a set of empirical characteristics relating to the streaming video service such as startup latency, video quality, and the likelihood of interruptions in streaming playback. The empirical characteristics may be weighted according to how much one factor influences user quality of experience, relative to the others. Representing the QoE as a single metric may allow a streaming media service provider to improve key business measures such as subscriber retention and engagement. | 06-20-2013 |
20130262625 | PIPELINING FOR PARALLEL NETWORK CONNECTIONS TO TRANSMIT A DIGITAL CONTENT STREAM - One embodiment of the present invention sets forth a technique for transmitting a digital content stream through a network between at least one content server and a content player. The method includes communicating with the at least one content server to set up a plurality of parallel network connections on the network to transmit the digital content stream. The method further includes sending a first data request and a second data request within a first time limit via at least one tested network connection in the plurality of parallel network connections to evaluate whether pipelining of the digital content stream is possible for the at least one tested network connection. The method also includes utilizing pipelining to transmit the digital content stream over the at least one tested network connection based on a first response to the first data request and a second response to the second data request. | 10-03-2013 |
20140052873 | SPECULATIVE PRE-AUTHORIZATION OF ENCRYPTED DATA STREAMS - Techniques are disclosed for improving user experience of multimedia streaming over computer networks. For example, a method for presenting multimedia content may generally include receiving a request to stream a media title. In response to the request, unencrypted content for the media title is streamed to a client. While streaming the unencrypted content, a digital rights management (DRM) license to access encrypted content for the media title is requested. After receiving the DRM license, the client switches from streaming the unencrypted content for the media title to streaming encrypted content for the media title. The switching from streaming the unencrypted content to streaming the encrypted content does not interrupt playback of the media title. | 02-20-2014 |
20140108671 | PARTITIONING STREAMING MEDIA FILES ON MULTIPLE CONTENT DISTRIBUTION NETWORKS - Techniques are disclosed for generating preference rankings in response to requests for streaming media content received from client devices. The preference rankings are used to indirectly partition streaming media content across different content distribution networks (CDNs). Such partitions may be referred to as a “soft” partition, as all of the streaming media content remains available from each CDN. That is, the partitioning of content across CDNs is not absolute, and any content item may be requested from any CDN. Doing so ensures that content remains available even where the preferred CDN for a given content item fails, while at the same time increasing the probability of a cache hit at the CDNs, without increasing the cost or the actual cache sizes of the content caches of different CDNs. | 04-17-2014 |
20140143301 | MULTI-CDN DIGITAL CONTENT STREAMING - Techniques for transmitting a digital content stream through a network between a plurality of content servers and a content player. Network performance information for the plurality of content servers is retrieved. Embodiments then determine a mapping of the plurality of content servers to a plurality of portions of a content buffer on the content player, based on the retrieved network performance information. A request is transmitted to each of the plurality of content servers to transmit digital content associated with the corresponding portion of the content buffer. | 05-22-2014 |
20140143431 | MULTI-CDN DIGITAL CONTENT STREAMING - Techniques for optimizing a plurality of parallel network connections for a digital content stream through a network between a plurality of content servers and a content player. Embodiments determine an indication of network performance for each of the plurality of parallel network connections. Additionally, upon determining that a first one the plurality of parallel network connections is underperforming, based on whether the indication of network performance associated with the first parallel network connection satisfies a threshold level of performance, the first parallel network connection is dropped. Upon determining that a total throughput for the digital content stream is less than a minimum threshold of network performance, embodiments select a content server with which to establish a new parallel network connection, based on historical network performance data associated with the selected content server, and also establishing the new parallel network connection to the selected content server. | 05-22-2014 |
20140195646 | SITE-BASED SERVER SELECTION - In an embodiment, a method comprises receiving a first data streamed from a first server computer at a first site; collecting a first throughput data for the first site based, at least in part, on a first throughput of the first data streamed from the first server computer; receiving a second data streamed from a second server computer at a second site; collecting a second throughput data for the second site based, at least in part, on a second throughput of the second data streamed from the second server computer; switching from the second server computer at the second site, to a third server computer at the first site, based, at least in part, on a comparison between the first throughput data and the second throughput data; wherein the method is performed by one or more special-purpose computing devices. | 07-10-2014 |
20140380113 | ENHANCED BLOCK-REQUEST STREAMING USING COOPERATIVE PARALLEL HTTP AND FORWARD ERROR CORRECTION - A block-request streaming system provides for improvements in the user experience and bandwidth efficiency of such systems, typically using an ingestion system that generates data in a form to be served by a conventional file server (HTTP, FTP, or the like), wherein the ingestion system intakes content and prepares it as files or data elements to be served by the file server, which might or might not include a cache. A client device can be adapted to take advantage of the ingestion process as well as including improvements that make for a better presentation independent of the ingestion process. In the block-request streaming system, the an ingestion system generates data according to erasure codes and the client device, through various selection and timing of requests for media data and redundant data, can efficiently decode media to provide for presentations. | 12-25-2014 |
20150074818 | FAST-EXPIRING LICENSES USED TO SPECULATIVELY AUTHORIZE ACCESS TO STREAMING MEDIA CONTENT - Techniques are disclosed for improving user experience of multimedia streaming over computer networks. More specifically, techniques presented herein reduce (or eliminate) latency in playback start time for streaming digital media content resulting from digital rights management (DRM) authorizations. A streaming media client (e.g., a browser, set-top box, mobile telephone or tablet “app”) may request a “fast-expiring” license for titles the streaming media client predicts a user is likely to begin streaming. A fast-expiring license is a DRM license (and associated decryption key) which is valid for only a very limited time after being used for playback. During the validity period of such a license, the client device requests a “normal” or “regular” license to continue accessing the title after the fast-expiring license expires. | 03-12-2015 |