Abstract:
Systems and methods utilizing available storage space within a storage system (e.g., as “supplemental” storage) and/or implement less physical storage space in the storage system (e.g., reduced storage overhead) through operation of fragment pre-storage techniques are disclosed. Such fragment pre-storage utilization of the aforementioned available storage space may provide operation emulating larger storage overhead than is actually provided in the storage system, facilitate improved repair rates, and/or facilitate reduced repair bandwidth in the storage system according to embodiments. A fragment pre-storage repair policy may implement source object repair whereby additional fragments for the source object are pre-generated and pre-stored in the storage system as transient fragments, whereby the transient fragments are moved to corresponding storage nodes when those storage nodes become physically present in the storage system.
Abstract:
Systems and methods which implement one or more data organization techniques that facilitate efficient access to source data stored by a storage system are disclosed. Data organization techniques implemented according to embodiments are adapted to optimize (e.g., maximize) input/output efficiency and/or (e.g., minimize) storage overhead, while maintaining mean time to data loss, repair efficiency, and/or traffic efficiency. Data organization techniques as may be implemented by embodiments include blob based organization techniques, grouped symbols organization techniques, data ordering organization techniques, and combinations thereof.
Abstract:
Various embodiments enable managing data requests made by a receiver device for delivery of content segments to the receiver device. A processor may determine a first number of first chunk requests including a first amount of data requested for a content segment. The processor may send the first chunk requests to one or more servers and may receive first data responses at a receiving rate. The processor may determine whether sufficient data responses might not be received by the receiver device in time to recover the content segment by a time deadline associated with the content segment. In response to determining that sufficient data responses to the first chunk requests might not be received by the time deadline, the processor may determine a second number of one or more second chunk requests for the content segment and a second amount of data to request from the one or more servers.
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:
Data objects are delivered over a packet-switched network and receivers receive encoded symbols, such as repair symbols, broadcast or multicast, with sufficient information to form requests for additional symbols as needed based on what source symbols or sub-symbols are needed or missing. The requests can be made in a unicast or request fashion. Requesting and broadcasting might be done by different entities. A broadcast server can generate and store repair symbols while a source server can store content in source form. A request can be a unicast HTTP byte-range request, such as a URL, starting position and length. Requests might be aligned with starting positions of files. A receiver can calculate starting and ending byte positions of symbols or sub-symbols in a file and get indications that conventional HTTP servers are usable for file repair. Repair servers can request broadcast of repair data when byte-range requests from multiple receivers overlap.
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:
Embodiments provide methodologies for reliably storing data within a storage system using liquid distributed storage control. Such liquid distributed storage control operates to compress repair bandwidth utilized within a storage system for data repair processing to the point of operating in a liquid regime. Liquid distributed storage control logic of embodiments may employ a lazy repair policy, repair bandwidth control, a large erasure code, and/or a repair queue. Embodiments of liquid distributed storage control logic may additionally or alternatively implement a data organization adapted to allow the repair policy to avoid handling large objects, instead streaming data into the storage nodes at a very fine granularity.
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:
Transport accelerator (TA) systems and methods for delivery of content to a user agent (UA) of a client device are provided according to embodiments of the present disclosure. Embodiments receive, by a request manager (RM) of the TA, fragment requests provided by the UA for requesting content from a content server, and determine an amount of redundant encoded content data to request for a fragment request of the fragment requests for use by the RM in recovering the fragment.
Abstract:
Aspects of this disclosure generally relate to a method of retrieving video data of multimedia content. In an example, the method includes determining a first interval between switch points for a first representation of the multimedia content and a second interval between switch points for a second representation of the multimedia content, wherein the first interval is less than the second interval. The method also includes, based on the determination, submitting one or more network requests for an amount of video data from the first representation that has a playback time that is at least equal to a playback time between switch points in the second representation. The method also includes, after submitting the request for the amount of video data from the first representation, retrieving video data from the second representation.