Abstract:
Methods, devices, systems, and non-transitory computer-readable storage media for improving the reception of data at a computing device by proactively utilizing new TCP connections in response to identifying that TCP connections have stalled. In an embodiment, a processor of the computing device may perform operations including monitoring a status of requests via a plurality of TCP connections, identifying a stalled TCP connection having a missing request based on the monitoring, wherein the stalled TCP connection is configured to utilize a first network interface and access a first data source, evaluating other TCP connections to determine whether the other TCP connections stall using the first network interface or when accessing the first data source; identifying a second network interface and a second data source based on the evaluating, and reissuing the missing request with a new TCP connection configured to use the second network interface and access the second data source.
Abstract:
A method for controlling flash memory is described. The method includes selecting a new forward error correction (FEC) parameter set that provides more redundancy than a current FEC parameter set. The method also includes coding source information bits, using the new FEC parameter set, during write operations to a first corrupted page in the flash memory. The method further includes mapping the first corrupted page and at least one additional corrupted page in the flash memory to a single logical page with an expected page size.
Abstract:
A method for controlling flash memory includes selecting a new forward error correction (FEC) parameter set that provides more redundancy than a current FEC parameter set. The method also includes coding source information bits, using the new FEC parameter set, during write operations to a first corrupted page in the flash memory. The method further includes mapping the first corrupted page and at least one additional corrupted page in the flash memory to a single logical page with an expected page size.
Abstract:
Transport accelerator (TA) systems and methods for delivery of content to a user agent (UA) of the client device from a content server are provided according to embodiments of the present disclosure. Embodiments of a TA operate to subdivide, by a request manager (RM) of the TA, fragment requests provided by the UA each into a plurality of chunk requests for requesting chunks of the content and to provide, by the RM to a connection manager (CM) of the TA, chunk requests of the plurality of chunk requests for requesting chunks of the content. Requests may thus be made, by the CM, for the chunks of the content from the content server via a plurality of connections established between the CM and the content server.
Abstract:
Systems and methods which are adapted to provide transport accelerator operation through the use of user agent (UA) signaling are disclosed. In operation according to embodiments, a transport accelerator (TA) analyzes content requests to determine if the content request includes an indication that transport acceleration functionality is to be provided. If such an indication is present, the TA further analyzes the content request to determine if transport acceleration functionality will be provided.
Abstract:
A client device presents streaming media and includes a stream manager for controlling streams, a request accelerator for making network requests for content, a source component coupled to the stream manager and the request accelerator for determining which requests to make, a network connection, and a media player. A process for rate estimation is provided that will react quickly to reception rate changes. The rate estimator can use an adaptive windowed average and take into account the video buffer level and the change in video buffer level in a way so to guarantee that the rate adjusts fast enough if there is a need, while keeping the windowing width large (and thus the measurement variance) large. A guarantee might be that when a rate drop or rise happens, the estimator adjusts its estimate within a time proportional to a buffer drain rate or buffer fill level.
Abstract:
Systems and methods which are adapted to provide transport accelerator operation through the use of user agent (UA) signaling are disclosed. In operation according to embodiments, a transport accelerator (TA) analyzes content requests to determine if the content request includes an indication that transport acceleration functionality is to be provided. If such an indication is present, the TA further analyzes the content request to determine if transport acceleration functionality will be provided.
Abstract:
Transport accelerator (TA) systems and methods for accelerating delivery of content to a user agent (UA) of the client device are provided according to embodiments of the present disclosure. Embodiments initiate media transmission operation for the UA using the TA disposed in a communication path between the UA and a content server operable to provide content, wherein the TA comprises a request manager (RM) operable to control what data is requested from the content server and a plurality of connection managers (CMs) operable to control when the data is requested from the content server, wherein each CM of the plurality of CMs is adapted for communication with the content server via a different communication interface.
Abstract:
Systems, methods, and devices of the various embodiments enable rate shaping of content data delivered to a client application. A processor may determine an ingress rate of content data to a buffer. The processor may determine an amount of the content data stored in the buffer. The processor may determine an egress rate of the content data from the buffer to the client application based on the ingress rate and the amount of content data stored in the buffer. The processor may send the content data from the buffer to the client application at the egress rate.
Abstract:
In overview, the various embodiments provide methods implemented by a processor executing a DASH client on a receiver device for determining when, in view of a change in the receiver device's resources (e.g., bandwidth, battery power, etc.), to cancel or abandon downloading the current segment at the current representation and restart download of the current segment at a different representation to meet one or more performance objectives and/or optimizations related to the change in the receiver device's resources. In various embodiments, the receiver device processor may perform a cost-benefit analysis to determine whether switching representations during the ongoing download of the current segment will benefit the performance of the receiver device, and the receiver device processor may switch representations in response to determining that switching representations would improve the performance of the receiver device.