EP0634034A4 - Procede d'exploitation d'un systeme de memoire a disque. - Google Patents
Procede d'exploitation d'un systeme de memoire a disque.Info
- Publication number
- EP0634034A4 EP0634034A4 EP94909407A EP94909407A EP0634034A4 EP 0634034 A4 EP0634034 A4 EP 0634034A4 EP 94909407 A EP94909407 A EP 94909407A EP 94909407 A EP94909407 A EP 94909407A EP 0634034 A4 EP0634034 A4 EP 0634034A4
- Authority
- EP
- European Patent Office
- Prior art keywords
- streams
- cycle
- transactions
- disk
- stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
- G11B27/105—Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17336—Handling of requests in head-ends
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/24—Systems for the transmission of television signals using pulse code modulation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
Definitions
- the present invention relates to a method for operating a storage system such as a disk storage system.
- I/O transactions for the disk storage system are scheduled so that the continuity of a plurality of streams is simultaneously maintained.
- the inventive method allows a plurality of users to independently and simultaneously access the disk storage system to store and retrieve stream oriented data such as that found in digital video and audio applications.
- the invention is also applicable to a stand-alone system wherein a disk storage system is accessed to retrieve or store data belonging to a plurality of streams.
- the streams for example, are retrieved from the disk storage system for display locally on a monitor or received from an external source for storage in the disk storage system.
- One application of the inventive method for operating a disk storage system is in a network such as a local area network.
- a Local Area network (LAN) for handling video data is illustrated in FIG 1.
- the network 10 comprises a shared transmission medium 12 and a plurality of stations 14 connected to the shared transmission medium.
- a server 16 is connected to the shared transmission medium.
- a disk storage system 20 for storing a plurality of video files is connected to server 16.
- a plurality of the stations 14 typically wish to access the disk storage system simultaneously to retrieve video files stored in the disk storage system or to write video files into the disk storage system.
- the invention is also applicable to a stand-alone system wherein a disk storage system is accessed to retrieve streams for display on a local monitor or a disk storage system is accessed to store streams received from an external source.
- Streaming data differs from transactional data as follows.
- the data rate associated with the traffic source is highly variable, i.e, it exhibits a high peak-to-average ratio.
- the data rate associated with the transmission of a stream is relatively constant and is generally higher than the average rate associated with a transactional source.
- the storage requirements for streaming data such as video and multimedia data are different than the storage requirements for typical LAN data which is transactional in nature.
- the size of the files is an order of magnitude greater or more. Even with compression techniques, the physical storage needs are large. While laser disks and CD ROMs provide cost effective storage, they are awkward for providing simultaneous access to multiple users.
- a preferred storage medium for video files is the magnetic disk storage system.
- FIG 4A A magnetic disk storage system 20 is illustrated in FIG 4A.
- the disk storage system 20 comprises a plurality of disk drives 200.
- Each disk drive 200 comprises a disk 21 and a controller 210.
- the disk drive 200 is shown in greater detail in FIG 4B.
- the disk 21 of the disk drive 200 comprises a plurality of platters 22.
- Each platter 22 has one or two magnetic surfaces, a bottom surface 23 and/or a top surface 24, for recording.
- Associated with each recording surface 23 or 24 is a read/write head 26.
- let h denote the number of heads, and thus, usable surfaces.
- the heads 26 are moved to particular locations on the platter surfaces 23,24 by the actuator 28 which is controlled by a controller 210.
- the controller 210 controls the proper positions of the read/write heads 26 and the transfer of data in both directions between the magnetic surfaces and a local buffer 30 which forms part of the control 210.
- the control 210 also manages the transfer of data across the SCSI bus 220 (see FIG 4A) into and out of a buffer internal to the adapter 230.
- the adapter 220 is then in charge of the transfer of data, via the system bus 250, into and out of the server computer system 16 which includes the memory of 260, CPU 270, and network interface 280.
- the computer system 16 may not be a server and may not include a network interface.
- each recording surface 23, 24 is divided into a number of concentric tracks. Tracks on all surfaces which are located at the same radius form a cylinder. The number of tracks in a cylinder is thus equal to h.
- Let c denote the number of tracks per surface (and thus also the number of cylinders) , and consider the tracks (and thus cylinders) to be numbered sequentially l, ...,c, starting with the outer track (cylinder) .
- Each track is divided into a number of fixed size sectors. Due to the circular geometry of the surface, the number of sectors in a track is not the same for all tracks; there being more sectors in outer tracks than in inner tracks.
- the cylinders in the disk are divided into subsets of contiguous cylinders called zones, such that the number of sectors per track in a zone is the same for all tracks in the zone.
- Z denote the number of zones, and consider the zones to be numbered sequentially from 0 to Z-l starting with the outer zone on the disk.
- the number of sectors in a track of zone i is designated ⁇ s and the number of cylinders in zone i is designated k,. Note that not all disks are organized into zones .
- the disk rotates permanently at a constant speed of R rotations per minute, and the read/write heads are moved all together from one cylinder to another, as needed. All I/O transactions are for an integral number of sectors, the specific number of which depends on the application. To limit the overhead caused by head movement when writing or reading a block of data, the sectors on the disk are used consecutively and sequentially, going from sector to sector on a given track, from track to track in a given cylinder, and from cylinder to cylinder.
- the 2,051 cylinders comprise 1981 data cylinders, 69 spares, and one for logs and maintenance information. They are organized into eight zones.
- the heads When a request for an I/O operation is placed in the disk storage system (say a read or write operation for some number of consecutive sectors) , the heads are first moved to the cylinder where the first sector is located; the delay incurred in this operation is referred to as the seek time (X seek ) . The head corresponding to the appropriate track then waits until the first sector appears under it, incurring a delay referred to as the rotational latency (X ro ) .
- the head begins reading or writing the sectors consecutively at a rate determined by the rotational speed; the time to read or write all sectors constituting the block is referred to as the transfer time (X t - a ⁇ fer ) •
- the transfer time X t - a ⁇ fer .
- the total time required in performing a read or write operation for a block T 1/0 (block), is the sum of seek time, rotational latency, and transfer time.
- T I/0 (block) X seek +X ro +X trans
- FIG 7 shows how the total time T I/0 for a block is divided into, seek time, rotation latency, and transfer time.
- the transfer time includes some head switch times and/or track-to-track seek times. It should be noted that seek times, rotational delays and transfer times may be random and not known a priori.
- the most important requirement on the storage system in supporting an active stream is to maintain the continuity of the stream.
- data In the case of playback, data must be retrieved from the disk and made available to the consumer (e.g., a decoder) no later than the time at which it is needed so as to avoid letting the decoder underflow.
- the writing of data on the disk must keep up with the rate at which it is getting produced so as to avoid letting the buffer (e.g., the buffer 30 of FIG 4B) overflow and thus losing data.
- every I/O operation must be completed within some stringent time constraint.
- the present invention is directed to a method for operating a disk storage system comprising one or more disks.
- the disk storage system is operated so as to simultaneously maintain the continuity of a plurality of data streams.
- the streams transport video data to or from the disk storage system.
- the disk storage system may be located in a network such as a local area network and maintain the continuity of a plurality of streams in the network.
- the disk storage system may be part of a stand ⁇ alone system in which a plurality of video streams are retrieved from storage and displayed locally on a monitor, or received from an external source and locally stored in the disk storage system.
- a network such as a LAN, but it should be understood that the inventive method for operating a disk storage system is not restricted to use in such a network.
- I/O transactions take place in I/O cycles.
- the data is consumed by the network in consumption cycles which follow one another without gaps.
- the data is produced in production cycles which follow one another without gaps.
- the disk storage system comprises one disk.
- Each data stream is either produced by the network (e.g., produced by a video coder in the network) at a constant basic rate of W base bits per second and consumed by the disk, or produced by the disk and consumed by the network (e.g., consumed by a video decoder in the network) at a constant basic rate of W basc bits/sec.
- a segment of S bits is stored in or retrieved from the disk.
- the number of streams whose continuity can be simultaneously maintained is limited by the number of I/O transactions which can be performed in an I/O cycle of duration T play . This depends on the locations of the retrieved and stored segments in the disk (as T I/0 for each transaction depends on the location) as well as the order in which the I/O transactions are scheduled.
- the first mode of operation known as the synchronous mode operates as follows.
- the I/O transactions for the active streams are scheduled in a particular predetermined order in each I/O cycle, but the production or consumption cycles of duration T p)av in which the data segments of the active streams are produced or consumed by the network are not necessarily aligned with each other.
- the start of consumption or production cycles for each stream are delayed or advanced appropriately to maintain continuity over the lifetime of each stream. The later the start of the first consumption cycle or the earlier the start of the first production cycle for each stream, beyond the minimum necessary, the larger is the buffer requirements.
- each of the other streams must complete their next I/O transactions and stream i must complete its third I/O transaction before the end of the second consumption cycle for stream i.
- This same condition holds for each succeeding cycle for which the stream i is active.
- the reason for this condition is that the I/O transactions of the streams take place in a non-varying predetermined order.
- the second mode of operation is known as gated operation.
- the order of I/O transactions for the active streams may vary from one I/O cycle to the next.
- each stream has one I/O transaction.
- one data segment S is consumed or produced by the network. Segments which are consumed by the disk in cycle T' play are produced by the network in cycle T' "1 ,,, ⁇ . Segments which are produced by the disk in cycle T' play are consumed by the network in cycle T i+1 play .
- the advantage of this technique is that the order of the I/O transactions may vary from cycle to cycle. For example, the I/O transactions to be performed in a cycle may be sorted according to their locations on the disk so as to minimize the total I/O overhead. To achieve a performance which is not dependent on the particular selection of files being played back or recorded (as pertaining to the location of the files on the disk) , the locations of the segments belonging to each file can be randomized over the entire disk.
- the advantage of this is that the total I/O time (T I/0 ) for any segments fetched in a cycle of duration T play is a random variable which is independent of the I/O time of all other segments to be fetched in the same, as well as in other, I/O cycles of duration T play . As a result, the sum of the I/O times for all segments is the sum of independently and identically distributed random variables .
- the most popular files could be recorded on the outer zones of the disk, and the least popular files could be recorded in the inner zones, as the average I/O time is smaller for segments in the outer zones than the inner zones.
- zero, one, or more than one I/O transactions may be performed for that stream in particular I/O cycles of duration T play .
- a stream has a bit rate of 2W base
- two I/O transactions will be performed in each I/O cycle of duration T p)ay .
- the I/O transactions are alternated between one transaction in each I/O cycle of duration T p ⁇ ay and two transactions in each I/O cycle of duration T p , ay .
- a stream has a bit rate 0.5 W base , then there is one I/O transaction in alternate cycles.
- a I/O transactions are performed within B I/O cycles of duration T p)ay .
- B is set to a fixed value N super for all streams.
- the present invention is also applicable to a disk array comprising N d disks.
- the I/O cycle has a duration of N d S/W base and there are A I/O transactions for each stream for each disk within B I/O cycles.
- requests to service a new stream are accepted or rejected depending on the capacity of the disk storage system and the current load. Once a request to service a new stream has been accepted, the bandwidth needed for it has been reserved. This way, the storage system can maintain the continuity of the streams which are accepted. This principle holds for the case of uniform data rates and multiple data rates and the case of a single disk or multiple disks. In the case of multiple data rates, the number of I/O's scheduled in any cycle should not exceed the maximum number of I/O's that can be performed in a cycle.
- FIG 1 schematically illustrates a local area network comprising a server, disk storage system, transmission medium and a plurality of end-user stations.
- FIG 2 and FIG 3 illustrate the production and consumption of data by a disk storage system in the local area network of FIG 1.
- FIG 4A illustrates a disk storage system
- FIG 4B illustrates one disk drive in the storage system of FIG 4A.
- FIG 5 illustrates the surface of a platter in the disk drive of FIG 4B.
- FIG 6 illustrates how the surface of a platter is organized into zones.
- FIG 7 illustrates the overhead time (T, /0 ) for an I/O transaction in the disk storage system of FIGs 4A and 4B.
- FIG 8 shows how the continuity of a plurality of streams is maintained simultaneously in accordance with the synchronous mode of the present invention.
- FIG 9 shows how the continuity of a plurality of streams is maintained simultaneously in accordance with the gating mode of the present invention.
- FIG 10 shows how data segments are located in a disk.
- FIG 11 shows how data segments are located in a disk array of N d disks .
- FIG 12 shows I/O, production and consumption cycles for G groups of streams having production and consumption cycles offset from one another.
- FIG 8 shows how a disk storage system comprising one disk operates in accordance with the synchronous mode of the present invention.
- the case of three streams is considered, wherein the streams are labeled Stream 1, Stream 2, and Stream 3.
- Stream 1 and Stream 2 are produced by the disk and consumed by the network at a rate of W base bits/second.
- Stream 3 is produced by the network and consumed by the disk at the rate of W base bits per second.
- the streams 1 and 2 are divided into consumption cycles. In each consumption cycle of duration one segment of S bits is consumed by the network at the rate of W base bits/sec.
- the number of I/O transactions which can be accommodated in one I/O cycle of duration S/W base is not easily determined due to the fact that I/O is random on a priori unknown.
- the number of transactions in an I/O cycle is determined probabilistically (e.g., the probability that a certain number of transactions exceeds the cycle length is equal to 10 "6 ) .
- I/O transactions are scheduled in the I/O cycles to maintain the continuity of the streams.
- a segment produced by the disk in an I/O transaction in an I/O cycle is consumed by the network in a later starting consumption cycle for the particular stream.
- a segment consumed by the disk in an I/O transaction in an I/O cycle is produced by the network in an earlier ending production cycle.
- the consumption or production cycles are all of the same duration (S/W) and are back-to-back with no interruptions (that is the idea behind continuity) .
- the constraint on the disk scheduling problem is to get or store the next or previous segment prior to the completion of the current consumption or production cycle. It is always possible to start the first consumption or production cycle immediately following the end of or before the start of the first I/O transaction; once .this is started, then the next deadline for preforming the next I/O is S/W base sec from that time, and the one after is 2S/W base after, and so on.
- I/O cycle I a segment is produced by the disk for stream 1 which is consumed by the network in consumption cycle I which starts after this I/O transaction.
- I/O cycle II a segment is produced by the disk for stream 1 which is consumed by the network in consumption cycle II which starts after this I/O transaction is complete.
- a segment is produced by the disk in I/O cycle I that is consumed by the network in a consumption cycle I which starts after this I/O transaction.
- a segment is produced for the Stream 2 by the disk in I/O cycle II which is consumed by the network in consumption cycle II.
- a segment produced by the network in production cycle I is stored in the disk in I/O cycle I
- a segment produced by the network in production cycle II is stored in the disk in I/O cycle II, etc. Note that in each case for stream 1 or 2, the next I/O transaction must take place before the start of the consumption cycle for that stream wherein the fetched data is to be consumed.
- FIG 10 illustrates the operation of the disk storage system in the gated mode according to the present invention.
- Stream 1 Stream 2, Stream 3.
- the I/O cycles and the production and consumption cycles are time aligned. These aligned cycles are labeled T i_1 p , ayr T ⁇ , T i+1 p . ay , etc.
- a segment of Stream 3 produced by the network in cycle T 1_I p ⁇ ay is stored in the disk in an I/O transaction which takes place in cycle T' p
- a segment of Stream 1 or Stream 2 which is produced by the disk in an I/O transaction in cycle T' play is consumed by the network in cycle T ,+1 p ⁇ ay and a segment which is produced by the disk in an I/O transaction in cycle T 1+1 p
- ay is consumed by the network in cycle T' +2 p , ay .
- the order of the I/O transactions may vary from one I/O cycle to another. For example, in cycle T' p . ay the order is Stream 1, Stream 3, Stream 2 and in cycle T 1+1 play the order is Stream 3, Stream 2, Stream 1.
- the schedule of I/O transactions within a cycle time should be ordered to minimize total overhead, i.e. the sum of T I/0 for all active streams, so as to maximize the number of streams for which continuity can be simultaneously maintained.
- I/O's within an I/O cycle should be scheduled in accordance with their location on a disk.
- One way to schedule I/O's is to move the heads from the outer cylinder to the inner cylinder in one cycle and then from the inner cylinder to the outer cylinder in the alternate cycle.
- the assessment as to whether a new stream maybe accepted or rejected will require knowledge of the locations of all the segments that may be required in the lifetime of the stream, since the location of a segment affects the transfer time of that segment, and hence the number of I/O transactions that can be performed in a cycle. This argument is also valid when the segments of the various files are located in contiguous locations.
- the location of segments belonging to each file may illustratively be randomized over the entire disk . As shown in FIG 10, consider the disk to be divided into segment length bins.
- Data segments for each file are allocated to the segment bins on a random basis.
- the advantage of this arrangement is that the transfer time for any segment fetched in an I/O cycle is a random variable which is distributed over the entire range, and is independent of the transfer times of all other segments in the same as well as in other I/O cycles (unless, of course, multiple streams are playing back the same file and are time- synchronized with each other such that in each cycle they are all fetching the same segment, in which case it is sufficient to fetch a single copy.)
- the sum of transfer times for all segments being fetched in a cycle is the sum of independently and identically distributed random variables, and is independent of such sums in all other cycles.
- the variance of the sum of transfer time decreases.
- the most popular files could be recorded in the outer zones of the disk and the least popular files could be recorded in the inner zones of the disk.
- an array of multiple disks may be utilized.
- the number of disks in the array may be designated by N d .
- All of the disks in the array are operated in the manner described above.
- One simple way to accomplish this is to consider the segments of S bits in a file to be grouped into data stripes of N d consecutive segments each. It is also useful to consider the segment bins in corresponding locations on each of the N d disks to form bin stripes of N d bin segments each.
- the bin stripes for N d disks are illustrated in FIG 11. The data stripes for a particular file are allocated randomly to the bin stripes.
- the striping of the data on the disk need not be horizontal, although the most natural case to consider is the horizontal striping. ( Figure 11 indicates the striping to be horizontal . ) What is most desirable however is the fact that the allocation of segments to the disks should be according to a regular cyclic pattern, i.e., consecutive segments should be placed in order on disk 1 then 2 then 3, ... until N d then 1, 2, etc. This way, regardless of where in its file each stream starts, the load on all disks is balanced; indeed, in each cycle and for each stream, a stripe worth of segments is fetched, and all segments in that stripe are guaranteed to be on different disks.
- N d segments are retrieved or recorded for each stream, one segment from each disk, thus guaranteeing that all disks are accessed equally.
- the number of streams where continuity can be simultaneously maintained is determined by the number of I/O transactions which can be performed on a disk in an I/O cycle of duration N d T p . ay .
- N d segments fetched for a stream in an I/O cycle could come from one (e.g., horizontally) stripe or adjacent portions of two chronologically consecutive stripes. This permits a stream to stop and resume anywhere and not be restricted to stopping at stripe boundaries without jeopardizing the uniform loading of the disk.
- the inventive method for operating a disk storage cycle is applicable to a conventional RAID (Redundant Array of Inexpensive Disks)
- N d S/W base N j N,*, i.e, . each of the N d streams has one transaction in each of N d disks.
- each stream has N d segments produced by the disk storage system during the previous cycle and waiting to be consumed by the network or N d segments produced by the network in the previous cycle and waiting to be consumed by the disk storage system.
- N d segments produced by the disk storage system and consumed by the network
- N d segments will be consumed by the disk, but it is known with certainty that by the end of the cycle an additional N d segments will be produced by the network.
- 2N d segment buffers are required for each stream.
- An alternate scheduling technique involves dividing the streams into G groups.
- the size of each group may be for example N aI /G.
- the consumption and production cycles of the streams in each group are time aligned with each other, but the consumption and production cycles of each successive group are offset by one (l/G)* of an I/O cycle of duration N d S/W base .
- the I/O cycle is divided into G subcycles.
- the I/O transactions are performed for the group of streams whose production/consumption cycles begin at the end of the particular I/O subcycle.
- the group of I/O transactions performed in each subcycle is sorted separately, for example, alternating between increasing and decreasing order of cylinders so as to minimize seek overhead.
- N d 4
- the number of I/O transactions for a stream served in each subcycle is four. For example, as shown in FIG 12, for a stream in Group 2, which is served in I/O subcycle #2, there is one segment retrieved from each of the four disks.
- G can be larger than or smaller than N d . This scheduling technique also reduces the amount of buffers utilized. It should also be noted that in the operation described above, all disks experience the same load.
- the streams are again divided into G groups and the size of each group is again, for example, N a ⁇ G.
- I/O transactions are performed in subcycles of length N d S/W basc G, however, instead of retrieving or storing N d segments for each stream in an entire group of size N a! /G, there is retrieved or stored one segment for each stream in N d groups.
- the segments retrieved or stored are those which begin consumption immediately following the subcycle or which were produced immediately preceding the subcycle. This scheduling technique also leads to reduced buffer size requirements.
- This scheduling algorithm can support streams of different rates ranging from a minimum of W bas ⁇ ./Nsuper bit/sec to a maximum of N ⁇ W ⁇ .,. bits/sec with increments of W base /N supcr bits/sec. Streams that require rates that do not belong to the above denominations will be assigned a bandwidth of the next higher allowable rates, in which case certain I/O bandwidth is wasted.
- N super 16 then a stream with rate 1.25W base bits/sec is allowed to fetch 20 stripes per supercycle, a stream with rate 0.125W base bits/sec is allowed to fetch 2 stripes per supercycle, and a stream with rate 0.3W base bits/sec is allowed to fetch 5 stripes per supercycle (although this stream may need to fetch fewer than 5 stripes in some supercycles) .
- L tJ stripes are allowed to be fetched in the i" 1 I/O cycle.
- L (J must be an integer between 0 and N j ,.
- the sum of L, d over all j must not exceed N,*.
- the sum of L, d over i l, 2, ...
- the j above criteria serve as the basis for admitting and scheduling the data retrieval of a stream.
- N super depends on a number of considerations .
- a large value of N super provides fine resolution of the streams and hence efficient use of I/O bandwidth.
- it increases start-up latency as well as the complexity of the scheduler.
- N super must be carefully selected for the anticipated mixture of stream rates and tolerable start-up latency.
- Start-up latency is the time elapsed from a request to initiate a new stream until the stream may begin to consume or produce its data.
- Two factors contribute to this latency.
- a stream requires a certain amount of data to be made available before it is able to begin data consumption or production; (this is referred to as the start-up data) .
- the start-up data is available (e.g., is retrieved from memory)
- a stream has to wait for the beginning of its next cycle before it can begin consuming its start-up data; (Recall that in the gated mode of operation, all streams may have their cycles time-aligned) .
- a stream is said to be in the start-up phase when its start-up data is being fetched.
- the maximum number of streams N-- ⁇ that can be supported simultaneously is equal to the maximum number ln max of I/O's that can be performed in one disk in a period of time equal to one I/O cycle of duration N d S/W base , where S is the segment size.
- the maximum number of streams that may be allowed to be active simultaneously may be limited to some number, denoted by N ⁇ so that the number of I/O transactions allowed for one disk in an I/O cycle for transactions related to data streams is M ⁇ .
- the number of active streams is denoted N ⁇ ,..
- M maX >M a ⁇ M activc .
- the excess disk access capacity i.e., M ⁇ - M.,-,* ⁇
- M ⁇ - M.,-,* ⁇ is then used for I/O transactions to support storage management functions, and to prefetch start-up data more quickly (thus decreasing the start-up latency) .
- N j is enforced by means of a call control processor which rejects a request for a new stream to become active if the number of currently active streams, N ⁇ , is equal to N al (or if the number of I/O transactions for active streams in an I/O cycle M ⁇ is equal to M al ) .
- a call control processor may be implemented in the server 16 of FIG 1.
- N new there already are N ⁇ e streams in the active state, and a certain number, N new , of requests to initiate new streams, where N new ⁇ N al -N active .
- the following two arrival scenarios are considered: a) Uniform arrival process: The N new requests are uniformly distributed during a period of time equal to K cycles. The average rate at which the requests arrive is equal to N new W base /KS arrivals/second. b) Poisson arrival process: The N ncw requests arrive according to a Poisson process with a constant rate equal to N new W basc ./KS arrivals/second.
- the service discipline defines the specific algorithm according to which the excess disk access capacity is allocated to these streams.
- Two such service disciplines are First-Come-First-Served and Round Robin.
- Other service disciplines can also be envisioned, such as Last-Come-First- Served with or without preemption, whereby the entire disk's excess capacity is entirely allocated to the new stream which arrived last, and Shortest-Job-First, again with or without preemption, whereby the entire disk's excess capacity is allocated to the stream with the smallest start-up data requirement.
- the I/O scheduling discipline specifies the order within a cycle in which the I/O's for the active streams and the I/O's for the selected new streams in the start-up phase are performed. Two disciplines are considered: a) Fully-Sorted Scheduling: At the beginning of each
- the method for serving new streams may be summarized as follows.
- the maximum number of I/O transactions for a disk in an I/O cycle of a particular duration is M ⁇ ax .
- M ⁇ ax By this it is meant that the probability of M ⁇ I/O transactions not fitting within a particular I/O cycle is less than a predetermined small number such as 10 "6 .
- the number of I/O transactions for active streams may be limited to M.,* for each disk in an I/O cycle.
- the number of I/O transactions for active streams for each disk in an I/O cycle is M ⁇ , where M ma ⁇ >M a , ⁇ M active .
- the excess capacity M ⁇ - , ⁇ may be used for non- streaming data such as storage management functions, and to prefetch start-up data for new streams. If the number of M. ⁇ ⁇ I/O transactions for active streams for each disk in an I/O cycle is less than M a *, new streams may be activated. The new streams may be activated in a manner so that the number of I/O transactions in a disk for active streams does not exceed M al in an I/O cycle. New streams may be selected for activation from all waiting streams according to a discipline such a first-come, first-served or round robin.
- the I/O transactions for the start-up data of the new streams are scheduled within each I/O cycle to occupy the excess capacity M ⁇ -M a; ., ⁇ for each disk using a particular algorithm.
- the I/O transactions for the start-up data of new streams and the I/O transactions of already active streams may be sorted together or there may be separate subcycles for start-up data of new streams and already active streams.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/977,493 US5581784A (en) | 1992-11-17 | 1992-11-17 | Method for performing I/O's in a storage system to maintain the continuity of a plurality of video streams |
PCT/US1993/011032 WO1994012937A2 (fr) | 1992-11-17 | 1993-11-15 | Procede d'exploitation d'un systeme de memoire a disque |
US977493 | 1997-11-24 |
Publications (3)
Publication Number | Publication Date |
---|---|
EP0634034A1 EP0634034A1 (fr) | 1995-01-18 |
EP0634034A4 true EP0634034A4 (fr) | 1995-03-01 |
EP0634034B1 EP0634034B1 (fr) | 2001-10-10 |
Family
ID=25525194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP94909407A Expired - Lifetime EP0634034B1 (fr) | 1992-11-17 | 1993-11-15 | Procede d'exploitation d'un systeme de memoire a disque |
Country Status (4)
Country | Link |
---|---|
US (4) | US5581784A (fr) |
EP (1) | EP0634034B1 (fr) |
DE (1) | DE69330906D1 (fr) |
WO (1) | WO1994012937A2 (fr) |
Families Citing this family (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5253275A (en) * | 1991-01-07 | 1993-10-12 | H. Lee Browne | Audio and video transmission and receiving system |
US6002720A (en) * | 1991-01-07 | 1999-12-14 | H. Lee Browne, D/B/A Greenwich Information Technologies Llc | Audio and video transmission and receiving system |
US5581784A (en) * | 1992-11-17 | 1996-12-03 | Starlight Networks | Method for performing I/O's in a storage system to maintain the continuity of a plurality of video streams |
US5729718A (en) * | 1993-11-10 | 1998-03-17 | Quantum Corporation | System for determining lead time latency as function of head switch, seek, and rotational latencies and utilizing embedded disk drive controller for command queue reordering |
JPH07302236A (ja) | 1994-05-06 | 1995-11-14 | Hitachi Ltd | 情報処理システムおよびその方法並びに情報処理システムにおけるサービス提供方法 |
US5732239A (en) * | 1994-05-19 | 1998-03-24 | Starlight Networks | Method for operating a disk storage system which stores video data so as to maintain the continuity of a plurality of video streams |
US5802394A (en) * | 1994-06-06 | 1998-09-01 | Starlight Networks, Inc. | Method for accessing one or more streams in a video storage system using multiple queues and maintaining continuity thereof |
US5606359A (en) * | 1994-06-30 | 1997-02-25 | Hewlett-Packard Company | Video on demand system with multiple data sources configured to provide vcr-like services |
US5586264A (en) * | 1994-09-08 | 1996-12-17 | Ibm Corporation | Video optimized media streamer with cache management |
US5712976A (en) * | 1994-09-08 | 1998-01-27 | International Business Machines Corporation | Video data streamer for simultaneously conveying same one or different ones of data blocks stored in storage node to each of plurality of communication nodes |
US5603058A (en) * | 1994-09-08 | 1997-02-11 | International Business Machines Corporation | Video optimized media streamer having communication nodes received digital data from storage node and transmitted said data to adapters for generating isochronous digital data streams |
EP0716370A3 (fr) * | 1994-12-06 | 2005-02-16 | International Business Machines Corporation | Méthode d'accès de disque pour délivrer une information de type multimédia et vidéo à la demande sur des réseaux étendus |
US5852705A (en) * | 1995-05-22 | 1998-12-22 | Sun Microsytems, Inc. | Method and apparatus for guaranteeing average case disk transfer bandwidth and seek time for a video server |
US5826110A (en) * | 1995-06-19 | 1998-10-20 | Lucent Technologies Inc. | System for video server using coarse-grained disk striping method in which incoming requests are scheduled and rescheduled based on availability of bandwidth |
US5724543A (en) * | 1995-06-19 | 1998-03-03 | Lucent Technologies Inc. | Video data retrieval method for use in video server environments that use striped disks |
US5787482A (en) * | 1995-07-31 | 1998-07-28 | Hewlett-Packard Company | Deadline driven disk scheduler method and apparatus with thresholded most urgent request queue scan window |
JP3456064B2 (ja) * | 1995-09-08 | 2003-10-14 | ソニー株式会社 | 音声・映像データ記録・再生装置 |
TW332284B (en) * | 1995-10-30 | 1998-05-21 | Sony Co Ltd | Method and apparatus for controlling access to a recording disk |
US5719983A (en) * | 1995-12-18 | 1998-02-17 | Symbios Logic Inc. | Method and apparatus for placement of video data based on disk zones |
US5657832A (en) * | 1996-02-28 | 1997-08-19 | Stevens; Robert C. | Stairway for connecting a floating member to a stationary member |
US5883670A (en) | 1996-08-02 | 1999-03-16 | Avid Technology, Inc. | Motion video processing circuit for capture playback and manipulation of digital motion video information on a computer |
US6032200A (en) * | 1996-09-30 | 2000-02-29 | Apple Computer, Inc. | Process scheduling for streaming data through scheduling of disk jobs and network jobs and the relationship of the scheduling between these types of jobs |
US6173329B1 (en) * | 1997-02-19 | 2001-01-09 | Nippon Telegraph And Telephone Corporation | Distributed multimedia server device and distributed multimedia server data access method |
US6115386A (en) * | 1997-03-11 | 2000-09-05 | Cisco Systems, Inc. | Systems and methods for transferring a bonded call |
US5892767A (en) * | 1997-03-11 | 1999-04-06 | Selsius Systems Inc. | Systems and method for multicasting a video stream and communications network employing the same |
US6211869B1 (en) | 1997-04-04 | 2001-04-03 | Avid Technology, Inc. | Simultaneous storage and network transmission of multimedia data with video host that requests stored data according to response time from a server |
US6105083A (en) | 1997-06-20 | 2000-08-15 | Avid Technology, Inc. | Apparatus and method for controlling transfer of data between and processing of data by interconnected data processing elements |
US6189071B1 (en) * | 1997-10-06 | 2001-02-13 | Emc Corporation | Method for maximizing sequential output in a disk array storage device |
US6237063B1 (en) * | 1997-10-06 | 2001-05-22 | Emc Corporation | Load balancing method for exchanging data in different physical disk storage devices in a disk array storage device independently of data processing system operation |
US6374336B1 (en) | 1997-12-24 | 2002-04-16 | Avid Technology, Inc. | Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner |
US6415373B1 (en) | 1997-12-24 | 2002-07-02 | Avid Technology, Inc. | Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner |
US6128717A (en) * | 1998-01-20 | 2000-10-03 | Quantum Corporation | Method and apparatus for storage application programming interface for digital mass storage and retrieval based upon data object type or size and characteristics of the data storage device |
US6061720A (en) * | 1998-10-27 | 2000-05-09 | Panasonic Technologies, Inc. | Seamless scalable distributed media server |
US7099848B1 (en) | 1999-02-16 | 2006-08-29 | Listen.Com, Inc. | Audio delivery and rendering method and apparatus |
JP3382176B2 (ja) * | 1999-03-26 | 2003-03-04 | 株式会社東芝 | 要求処理方法および要求処理装置 |
US6754736B1 (en) * | 1999-06-23 | 2004-06-22 | Fujitsu Limited | Information processing apparatus, data inputting/outputting method, and program storage medium therefor |
CN100370817C (zh) | 1999-07-28 | 2008-02-20 | 三星电子株式会社 | 随机存取存储设备 |
JP3440219B2 (ja) | 1999-08-02 | 2003-08-25 | 富士通株式会社 | 入出力装置及びディスク・タイムシェアリング方法 |
US6857106B1 (en) | 1999-09-15 | 2005-02-15 | Listen.Com, Inc. | Graphical user interface with moveable, mergeable elements |
US6721789B1 (en) * | 1999-10-06 | 2004-04-13 | Sun Microsystems, Inc. | Scheduling storage accesses for rate-guaranteed and non-rate-guaranteed requests |
KR100782255B1 (ko) | 1999-12-08 | 2007-12-04 | 리슨.컴 .인크. | 미디어 데이터의 스케줄링된 검색, 저장, 및 액세스 |
EP1256225B1 (fr) * | 2000-02-04 | 2010-08-18 | Listen.Com, Inc. | Système destiné à un réseau media distribué et à un serveur de metadonnées |
US20030018581A1 (en) * | 2000-02-16 | 2003-01-23 | Bratton Timothy R. | Delivering media data to portable computing devices |
US6763439B1 (en) * | 2000-05-01 | 2004-07-13 | Microsoft Corporation | Disk throttling and priority queuing for streaming I/O |
CN1198447C (zh) * | 2000-05-12 | 2005-04-20 | 提维股份有限公司 | 提高带宽效率的方法 |
US6606717B1 (en) * | 2000-07-31 | 2003-08-12 | Western Digital Technologies, Inc. | Cache control method and system for mixed streaming and non-streaming data |
US7631037B2 (en) * | 2001-02-08 | 2009-12-08 | Nokia Corporation | Data transmission |
US20040128694A1 (en) * | 2002-12-30 | 2004-07-01 | International Business Machines Corporation | Fast selection of media streams |
FR2863438B1 (fr) * | 2003-12-04 | 2006-11-24 | Canon Europa Nv | Procede et systeme de stockage et/ou restitution d'au moins un flux de donnees audio video isochrones dans/depuis un dispositif de stockage distribue |
US7428721B2 (en) * | 2004-12-01 | 2008-09-23 | Tabula, Inc. | Operational cycle assignment in a configurable IC |
US20060200464A1 (en) * | 2005-03-03 | 2006-09-07 | Microsoft Corporation | Method and system for generating a document summary |
US20060253662A1 (en) * | 2005-05-03 | 2006-11-09 | Bass Brian M | Retry cancellation mechanism to enhance system performance |
US7779175B2 (en) * | 2007-05-04 | 2010-08-17 | Blackwave, Inc. | System and method for rendezvous in a communications network |
US8863067B1 (en) | 2008-02-06 | 2014-10-14 | Tabula, Inc. | Sequential delay analysis by placement engines |
US8510370B2 (en) * | 2008-02-26 | 2013-08-13 | Avid Technology, Inc. | Array-based distributed storage system with parity |
US8166435B2 (en) * | 2008-06-26 | 2012-04-24 | Tabula, Inc. | Timing operations in an IC with configurable circuits |
US8954976B2 (en) * | 2008-07-10 | 2015-02-10 | Juniper Networks, Inc. | Data storage in distributed resources of a network based on provisioning attributes |
US8099402B2 (en) * | 2008-07-10 | 2012-01-17 | Juniper Networks, Inc. | Distributed data storage and access systems |
US9176779B2 (en) * | 2008-07-10 | 2015-11-03 | Juniper Networks, Inc. | Data access in distributed systems |
US8650270B2 (en) * | 2008-07-10 | 2014-02-11 | Juniper Networks, Inc. | Distributed computing with multiple coordinated component collections |
US8706900B2 (en) * | 2008-07-10 | 2014-04-22 | Juniper Networks, Inc. | Dynamic storage resources |
US8364710B2 (en) * | 2008-07-10 | 2013-01-29 | Juniper Networks, Inc. | Model-based resource allocation |
US8191070B2 (en) * | 2008-07-10 | 2012-05-29 | Juniper Networks, Inc. | Dynamic resource allocation |
US20100011091A1 (en) * | 2008-07-10 | 2010-01-14 | Blackwave Inc. | Network Storage |
US8887166B2 (en) * | 2008-07-10 | 2014-11-11 | Juniper Networks, Inc. | Resource allocation and modification using access patterns |
US9066141B2 (en) * | 2009-01-21 | 2015-06-23 | Juniper Networks, Inc. | Resource allocation and modification using statistical analysis |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4536836A (en) * | 1981-11-27 | 1985-08-20 | Storage Technology Corporation | Detection of sequential data stream |
US4636946A (en) * | 1982-02-24 | 1987-01-13 | International Business Machines Corporation | Method and apparatus for grouping asynchronous recording operations |
US4688168A (en) * | 1984-08-23 | 1987-08-18 | Picker International Inc. | High speed data transfer method and apparatus |
US5008819A (en) * | 1987-10-07 | 1991-04-16 | Gorbatenko George G | Memory spaced array |
US4914656A (en) * | 1988-06-28 | 1990-04-03 | Storage Technology Corporation | Disk drive memory |
US5140683A (en) * | 1989-03-01 | 1992-08-18 | International Business Machines Corporation | Method for dispatching work requests in a data storage hierarchy |
US5218695A (en) * | 1990-02-05 | 1993-06-08 | Epoch Systems, Inc. | File server system having high-speed write execution |
US5166939A (en) * | 1990-03-02 | 1992-11-24 | Micro Technology, Inc. | Data storage apparatus and method |
US5263145A (en) * | 1990-05-24 | 1993-11-16 | International Business Machines Corporation | Method and means for accessing DASD arrays with tuned data transfer rate and concurrency |
GB9019891D0 (en) * | 1990-09-12 | 1990-10-24 | Di Data Ltd | Computer memory array control |
US5197143A (en) * | 1990-10-01 | 1993-03-23 | Digital Equipment Corporation | Device and method for distributing information in a computer system |
US5220653A (en) * | 1990-10-26 | 1993-06-15 | International Business Machines Corporation | Scheduling input/output operations in multitasking systems |
US5301297A (en) * | 1991-07-03 | 1994-04-05 | Ibm Corp. (International Business Machines Corp.) | Method and means for managing RAID 5 DASD arrays having RAID DASD arrays as logical devices thereof |
US5237658A (en) * | 1991-10-01 | 1993-08-17 | Tandem Computers Incorporated | Linear and orthogonal expansion of array storage in multiprocessor computing systems |
US5261072A (en) * | 1991-10-31 | 1993-11-09 | Tandy Corporation | Compact disk data transfer system using cache memory |
DE69322532T2 (de) * | 1992-02-26 | 1999-04-29 | Cirrus Logic, Inc., Fremont, Calif. | Digitale Verarbeitungseinheit für Videoschnitt |
US5331417A (en) * | 1992-09-15 | 1994-07-19 | Digital Pictures, Inc. | System and method of displaying a plurality of digital video images |
US5581784A (en) * | 1992-11-17 | 1996-12-03 | Starlight Networks | Method for performing I/O's in a storage system to maintain the continuity of a plurality of video streams |
US5732239A (en) * | 1994-05-19 | 1998-03-24 | Starlight Networks | Method for operating a disk storage system which stores video data so as to maintain the continuity of a plurality of video streams |
-
1992
- 1992-11-17 US US07/977,493 patent/US5581784A/en not_active Expired - Fee Related
-
1993
- 1993-11-15 EP EP94909407A patent/EP0634034B1/fr not_active Expired - Lifetime
- 1993-11-15 WO PCT/US1993/011032 patent/WO1994012937A2/fr active IP Right Grant
- 1993-11-15 DE DE69330906T patent/DE69330906D1/de not_active Expired - Lifetime
-
1996
- 1996-09-10 US US08/711,031 patent/US5754882A/en not_active Expired - Fee Related
- 1996-09-10 US US08/711,049 patent/US5721950A/en not_active Expired - Fee Related
- 1996-09-10 US US08/711,050 patent/US5734925A/en not_active Expired - Fee Related
Non-Patent Citations (8)
Title |
---|
D.P. ANDERSON ET AL.: "A File System for Continuous Media", ACM TRANSACTIONS ON COMPUTER SYSTEMS, vol. 10, no. 4, November 1992 (1992-11-01), NEW YORK, USA, pages 311 - 337, XP000336441, DOI: doi:10.1145/138873.138875 * |
H.M. VIN: "Admission Control Algorithms for Multimedia On-Demand Servers", NETWORK AND OPERATING SYSTEMS SUPPORT FOR DIGITAL AUDIO AND VIDEO, 12 November 1992 (1992-11-12), LA JOLLA, CA, USA, pages 56 - 68, XP019182560 * |
H.M. VIN: "Designing a Multiuser HDTV Storage Server", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, vol. 11, no. 1, January 1993 (1993-01-01), NEW YORK, USA, pages 153 - 164, XP000378007, DOI: doi:10.1109/49.210554 * |
J. GEMMELL ET AL.: "Principles of Delay-Sensitive Multimedia Data Storage and Retrieval", ACM TRANSACTIONS ON INFORMATION SYSTEMS, vol. 10, no. 1, January 1992 (1992-01-01), NEW YORK, USA, pages 51 - 90, XP000362333, DOI: doi:10.1145/128756.128758 * |
P. LOUGHER ET AL.: "The Design and Implementation of a Continuous Media Storage Server", NETWORK AND OPERATING SYSTEMS SUPPORT FOR DIGITAL AUDIO AND VIDEO, 12 November 1992 (1992-11-12), LA JOLLA, CA, USA, pages 69 - 80, XP019182561 * |
P.S. YU ET AL.: "Design and Analysis of a Grouped Sweeping Scheme for Multimedia Storage Management", NETWORK AND OPERATING SYSTEMS SUPPORT FOR DIGITAL AUDIO AND VIDEO, 12 November 1992 (1992-11-12), LA JOLLA, CA, USA, pages 44 - 55 * |
RANGAN P.V. ET AL.: "Designing an On-Demand Multimedia Service", IEEE COMMUNICATIONS MAGAZINE, vol. 30, no. 7, July 1992 (1992-07-01), USA, pages 56 - 74, XP011416896, DOI: doi:10.1109/35.144778 * |
VENKAT RANGAN P. ET AL.: "Designing File Systems for Digital Video and Audio", 13TH ACM SYMPOSIUM ON OPERATING SYSTEM PRINCIPLES, vol. 25, no. 5, 13 October 1991 (1991-10-13), PACIFIC GROVE,CA, USA, pages 81 - 94 * |
Also Published As
Publication number | Publication date |
---|---|
US5581784A (en) | 1996-12-03 |
DE69330906D1 (de) | 2001-11-15 |
EP0634034A1 (fr) | 1995-01-18 |
EP0634034B1 (fr) | 2001-10-10 |
US5734925A (en) | 1998-03-31 |
WO1994012937A2 (fr) | 1994-06-09 |
WO1994012937A3 (fr) | 1994-08-04 |
US5721950A (en) | 1998-02-24 |
US5754882A (en) | 1998-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5734925A (en) | Method for scheduling I/O transactions in a data storage system to maintain the continuity of a plurality of video streams | |
US5802394A (en) | Method for accessing one or more streams in a video storage system using multiple queues and maintaining continuity thereof | |
Yu et al. | Grouped sweeping scheduling for DASD-based multimedia storage management | |
EP0701198A1 (fr) | Méthode pour l'opération d'un réseau d'unités de stockage | |
CA2178376C (fr) | Methode d'entrelacement pour les serveurs video | |
EP0886971B1 (fr) | Methode et systeme permettant de fournir des flux de donnees | |
CA2178359C (fr) | Dispositif et methode d'inscription et de reinscription de demandes d'arrivee | |
US6078998A (en) | Real time scheduling of prioritized disk requests | |
JP3308814B2 (ja) | ビデオサーバシステムに於いて平均的なシーク時間及びバンド幅を達成するための方法及びシステム | |
US6986019B1 (en) | Method and apparatus for detection and management of data streams | |
US4604687A (en) | Method and system for storing and retrieving multiple channel sampled data | |
JP2000507017A (ja) | 複数のデータメモリアレイ用データバッファリングシステム | |
US7647459B2 (en) | Multi-stream access scheme for high speed access and recording using a hard disk drive | |
KR20020020891A (ko) | 저장 매체상의 블록들을 액세스하기 위한 시스템 및 방법 | |
US6134586A (en) | Striping data across disk zones | |
Steinmetz | Multimedia file systems survey: approaches for continuous media disk scheduling | |
KR100746842B1 (ko) | 멀티미디어 서버 | |
US6314232B2 (en) | Data allocation method, recording medium with data recorded by the method, and data server apparatus | |
US6615284B2 (en) | Method and apparatus for performing input/output operations between a requesting device and responding device | |
EP0781435B1 (fr) | Methode et systeme de repetition de donnees entre des grappes successives logiquement | |
Lau et al. | Scheduling and replacement policies for a hierarchical multimedia storage server | |
Tseng et al. | A high performance video server for karaoke systems | |
Tse et al. | Improving multimedia systems performance using constant-density recording disks | |
EP0795254B1 (fr) | Procede et systeme de lecture de blocs de donnees destines a une pluralite de groupes d'utilisateurs | |
Cheng et al. | Blueprint For A Hard Real-Time File System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 19940712 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): DE FR GB IT |
|
A4 | Supplementary search report drawn up and despatched |
Effective date: 19950112 |
|
AK | Designated contracting states |
Kind code of ref document: A4 Designated state(s): DE FR GB IT |
|
17Q | First examination report despatched |
Effective date: 19980831 |
|
GRAG | Despatch of communication of intention to grant |
Free format text: ORIGINAL CODE: EPIDOS AGRA |
|
GRAG | Despatch of communication of intention to grant |
Free format text: ORIGINAL CODE: EPIDOS AGRA |
|
GRAH | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOS IGRA |
|
GRAH | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOS IGRA |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): DE FR GB IT |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED. Effective date: 20011010 Ref country code: FR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20011010 |
|
RIC1 | Information provided on ipc code assigned before grant |
Free format text: 7G 06F 3/06 A, 7G 06F 17/30 B, 7G 06F 13/28 B, 7G 06F 15/00 B |
|
REF | Corresponds to: |
Ref document number: 69330906 Country of ref document: DE Date of ref document: 20011115 |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: IF02 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20020110 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20020111 |
|
EN | Fr: translation not filed | ||
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20020110 |
|
26N | No opposition filed |