摘要:
A distributed file server system has multiple data servers connected to stream data files continuously over a network to multiple clients. Each data server supports at least one storage device, such as a disk. Data files are distributed across the data servers so that data blocks of the data files are stored on each of the storage devices. The file server system has a scheduler located at each of the data servers to manage distributed portions of a schedule. Each data server sees a different portion of the schedule, but no one data server sees the whole schedule. The scheduler facilitates service of requested data streams from its corresponding data server according to a schedule portion that is available to the data server. The scheduler determines whether to insert a new data stream into the current slot it presently owns in its schedule portion, or to wait for a subsequent slot in the schedule. The scheduler follows a thrifty policy that attempts to maximize spacing of occupied slots as far apart as possible within the schedule, while minimizing the clustering of occupied slots. The scheduler also factors in a maximum acceptable slippage that dictates the highest number of slots that the scheduler is willing to slip in the schedule before starting the new data stream. The end result is an even distribution of the occupied slots within the schedule that reduces startup latency for late schedule insertion at the expense of slightly prolonging the startup latency of early schedule insertions.
摘要:
A system (100) has a storage medium (110) that contains a number of storage units (108). A multimedia title is stored in the storage medium (110) as a number of blocks, whereby some of the blocks are stored multiple times such that different storage units (108) contain a copy of that block. Retrieving blocks from the storage medium (110) for supply to a user is executed in cycles and the system has for some of the blocks the freedom to choose from which of the storage units (108) the block is retrieved in order to balance the load on the storage units (108). Furthermore, the system (100) is arranged to look ahead a number of cycles to determine what blocks in the near future are necessary and to retrieve these future blocks earlier if the storage units are not yet fully occupied. The additional freedom to schedule retrieval of a block at earlier moments in time provides a further mechanism to balance the load on the storage units.
摘要:
A process is presented for supporting simultaneous disk read and write requests in a video server environment. Read requests are the result of movie viewing, while write requests are the result of video clip editing or movie authoring procedures. Due to real-time demands of movie viewing, read requests have to be fulfilled within certain deadlines, otherwise they are considered lost. Since the data to be written into disk is stored in main memory buffers, write requests can be postponed until critical read requests are processed. However, write requests still have to be proceeded within reasonable delays and without the possibility of indefinite postponement. This is due to the physical constraint of the limited size of the main memory write buffers. The new process schedules both read and write requests appropriately, to minimize the amount of disk reads that do not meet their presentation deadlines, and to avoid indefinite postponement and large buffer sizes in the case of disk writes.
摘要:
In a system 100, such as a video-on-demand-server, a reader 180 reads data from a storage medium 110 and stores the read data in buffers 125. The data is supplied from the buffers 125 to users 130 for consumption in the form of a plurality of data streams. The data streams may be fixed rate or variable rate with an identical maximum consumption rate of R.sub.max data elements per second. The reader 180 is controlled by a scheduler 170. The scheduler 170 divides a predetermined period of t.sub.cycle seconds, wherein for each active data stream at least R.sub.max *t.sub.cycle data elements can be read from the storage medium, into n successive time intervals, each of t.sub.interval seconds. For each data stream a corresponding buffer 125 is reserved for storing at least R.sub.max *(n+1)*t.sub.interval data elements. The data is read from the storage medium 110 by repeatedly sweeping the storage medium 110 for a group of data streams. Immediately before causing the reader 180 to perform a next sweep, the scheduler 170 determines the composition of the next group of data streams to be supplied with data. At least data streams whose corresponding buffer 125 comprise less then R.sub.max *2*t.sub.interval data elements are assigned to this group.
摘要:
In an audio/video server blocks of data are read from a storage medium by a reader and supplied to users in the form of data streams. The storage medium comprises a plurality of record-carrier based storage units. A reader reads a batch of data units from a storage unit in a single relative movement of a reading head of the storage unit with respect to the record-carrier of the storage unit. A scheduler controls reading of blocks from the storage medium by determining from which storage unit(s) data unit(s) need to be read for the block and placing a corresponding carrier access request in a read queue. The scheduler extracts for each of the storage units a batch of carrier access requests from the queue and issues the batch to the reader in an asynchronous manner, in response to the reader having substantially completed reading data units for a previous batch for the storage unit.
摘要:
A method and apparatus for delivering multimedia video data from a server (host processor) to a plurality of clients connected to a communications network. More specifically, with this invention, preprocessed video and multimedia data packets are striped across disks in units of fixed playback time, even if such units result in variable length stripes. To deliver multiple video or continuous media streams, the disks in the array are accessed simultaneously so that at any given instance, different disks are accessing the video or multimedia data for different streams. Access to the disks for reading the continuous media files is scheduled periodically, with the period equal to the back time of the stripes. Because each disk read command retrieves data for a fixed play back time, if the first read command for a continuous media stream request can be scheduled to complete on a disk within a playback time, all subsequent read commands are also guaranteed to not interfere with read commands of other streams. Data is delivered directly from the disk array to the communication network by a stream controller without being sent to the host system. Disk storage is utilized efficiently by allocating disk space in units of cylinders and storing the variable size stripes of video in packed format.
摘要:
A method for increasing the storage capacity of a video server which utilizes an array of disks is disclosed. The server is operated so that the continuity of a plurality of bit streams is maintained. The inventive method has advantageous characteristics with respect to storage capacity, streaming capacity, start-up latency of new streams, amount of required buffer capacity, scalability, reliability and multiple bit rates.
摘要:
An example news production system includes a scheduling system, a composite display, and a camera. The scheduling system accesses a news program schedule that specifies a sequence of actions to be performed by the news production system. The scheduling system reads entries from the news program schedule, identifies actions associated with each, and sends signals to cause the actions to be performed. The news production system may cause the composite display to render video content in accordance with a specified layout. A camera can capture video of a field of view that includes at least a portion of the composite display while the specified video content is rendered thereon. The news production system may also cause an output video stream to be based, at least in part, on the captured video.
摘要:
An example news production system includes a scheduling system, a composite display, and a camera. The scheduling system accesses a news program schedule that specifies a sequence of actions to be performed by the news production system. The scheduling system reads entries from the news program schedule, identifies actions associated with each, and sends signals to cause the actions to be performed. The news production system may cause the composite display to render video content in accordance with a specified layout. A camera can capture video of a field of view that includes at least a portion of the composite display while the specified video content is rendered thereon. The news production system may also cause an output video stream to be based, at least in part, on the captured video.
摘要:
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.