Abstract:
A synchronized data transfer system (200) including storage processor nodes (103), a backbone communication switch 101, multiple titles subdivided into subchunks (113a) - (113e) and distributed across the nodes, a user process (207) executed on a first node (201), a transfer process (215) executed on a second node (203), and a management process (219) executed on a management node (205). The user process sends a timestamped read request to request a corresponding subchunk. The transfer process sends a message to the management process for each received read request, where each message identifies source and destination nodes. The management process broadcasts transmit commands to initiate sequential transmit periods, receives the messages, and selects from among the received messages to ensure that each node sends or receives only one subchunk during each transmit period. The management process sends a transmit request for each selected message, and the transfer process sends a subchunk identified by a transmit request in response to the transmit command.
Abstract:
Requests are received for storing/retrieving and storing data from/to a plurality of storage devices (100). A processor (300) is designed for handling each request, based, e.g., upon the load of each processor. A request for retrieving data is forwarded directly from the designated processor to the storage device via a switch, (250). Responses from the storage devices are routed directly to the designated processor via the switch (250). The switch (250) independently routes the request for retrieving data and the responses between the storage devices (100) and the processor, based on information obtained by the processor. Data provided by a designated processor is stored on the storage devices (100) via a switch (250). The switch (250) independently routes the data to be stored directly from the designated processor to the storage devices (100), based on information created by the processor. Requests and responses are exchanged between the switch (250) and the storage devices (100) via at least one high-speed network channel.
Abstract:
An improved method and apparatus for data storage on hard disk drives (HDD) is described. The method and apparatus employ sequential data recording techniques ideal for sequential recording applications thus enabling the production of cheaper, more reliable and conveniently accessible systems. The sequential recording method may be employed with arrays of low-cost HDD and/or with the sequential employment of sectors, or groups of sectors, located within the individual HDDs themselves. An important feature of the system is that data are never deleted and so is only ever lost when overwritten with new data. Particular embodiments of the invention describe mirrored data storage systems which also provide for protection against data loss should one or more data storage elements fail.
Abstract:
A synchronized data transfer system (200) including storage processor nodes (103), a backbone communication switch 101, multiple titles subdivided into subchunks (113a) - (113e) and distributed across the nodes, a user process (207) executed on a first node (201), a transfer process (215) executed on a second node (203), and a management process (219) executed on a management node (205). The user process sends a timestamped read request to request a corresponding subchunk. The transfer process sends a message to the management process for each received read request, where each message identifies source and destination nodes. The management process broadcasts transmit commands to initiate sequential transmit periods, receives the messages, and selects from among the received messages to ensure that each node sends or receives only one subchunk during each transmit period. The management process sends a transmit request for each selected message, and the transfer process sends a subchunk identified by a transmit request in response to the transmit command.
Abstract:
In one example, multimedia content is requested from a plurality of storage modules. Each storage module retrieves the requested parts, which are typically stored on a plurality of storage devices at each storage module. Each storage module determines independently when to retrieve the requested parts of the data file from storage and transmits those parts from storage to a data queue. Based on a capacity of a delivery module and/or the data rate associated with the request, each storage module transmits the parts of the data file to the delivery module. The delivery module generates a sequenced data segment from the parts of the data file received from the plurality of storage modules and transmits the sequenced data segment to the requester.
Abstract:
Virtually random and on-demand access is provided to a virtually unlimited number of subscribers by partitioning the video program into an ordered sequence of n segments and providing the subscribers concurrent access to each of the n subsequences. A data stream representative of the video program is positioned into n subsequences, each representative of one of the n segments. The data of each of the n subsequences is organized as ordered sequence of elements. The elements of each of the n subsequences are interleaved and the interleaved data stream is continuously transmitted over a video program distribution medium at a rate which renders the data representing each segment concurrently available to any subscriber having a receiver capable of selecting, assembling, and displaying the data of a particular segment. The data stream can be compressed prior to interleaving using one of many known video data compression standards and techniques. Data compression can be performed in real time, or iteratively using software. The interleaved data stream can be transmitted in real time, or it can be stored on a storage device such as a hard disk or optical disk for later retrieval and transmission. The interleaved data stream can be ordered using any known standard by which video data is transmitted for reconstruction and display by a receiver. Data can be inserted into the interleaved data stream to inform the receiver to which of the n segments a portion of the interleaved data stream belongs, as well as the encoding level necessary for decompression of the data and time stamps to indicate order of display. Thus, the receiver may begin reconstruction from the beginning of the video program by selecting, assembling, decompressing and displaying the data making up the first segment during a first complete transmission of the interleaved data stream, and performing the same function for the succeeding segments during subsequent transmissions. The receiver can also be programmed to reconstruct any of the n segments in no particular order, approximating random access to the video program.
Abstract:
Techniques are described herein to dynamically control a number of hybrid automatic repeat requests (HARQ) transmissions based at least in part on flow characteristics of a data flow. Data included in a transport block may be grouped into one or more data flows based on a variety of factors. A set of performance benchmarks may be associated with each data flow. Flow characteristics for each data flow may be measured. A network entity may determine a number of HARQ transmissions to be transmitted during a HARQ procedure based on measured flow characteristics satisfying the performance benchmarks. For example, if a performance benchmark is not satisfied by its associated flow characteristic, the network entity may request additional HARQ transmissions during the HARQ procedure.
Abstract:
Interleaving multiple streams of data using a universal services multiplexer is followed by conveying a time interleaved multiplexer stream to a remote QAM module. A universal services multiplexer interleaves multiple streams of data into a time interleaved multiplexer stream.
Abstract:
In one example, multimedia content is requested from a plurality of storage modules. Each storage module retrieves the requested parts, which are typically stored on a plurality of storage devices at each storage module. Each storage module determines independently when to retrieve the requested parts of the data file from storage and transmits those parts from storage to a data queue. Based on a capacity of a delivery module and/or the data rate associated with the request, each storage module transmits the parts of the data file to the delivery module. The delivery module generates a sequenced data segment from the parts of the data file received from the plurality of storage modules and transmits the sequenced data segment to the requester.