|
Claims  |
|
|
We claim:
1. A system for storing and forwarding audio/video signals on demand,
comprising:
an encoder for receiving at least one of said audio/video signals,
digitizing each of said received at least one audio/video signal, and
compressing said digitized signal into a data stream;
a first processing system for receiving said data stream from said encoder,
further compressing said data stream, storing said data stream in a first
storage media, and later transmitting said data stream from storage;
a transmitting system for receiving said data stream from said processing
system and transmitting same to a location remote from said processing
system;
a second processing system including a microprocessor for receiving said
data stream from said transmitting system, processing said data stream,
storing said data stream in a second storage media, and, upon receipt of a
request for replay of said at least one audio/video signal later
transmitting a copy of said data stream from such storage media after
decompressing said copy of said data stream; and
a decoder for receiving said data stream copy from said storage media,
further decompressing said data stream copy and transforming said
decompressed data stream copy into an analog signal for transmission to at
least one television set for replay.
2. The system for storing and forwarding audio/visual signals on demand of
claim 1, wherein said first and second storage media are random access
mass storage media.
3. The system for storing and forwarding audio/video signals on demand of
claim 1, wherein said transmission by said second processing system is
synchronous replay to said decoder.
4. The system for storing and forwarding audio/video signals on demand of
claim 1, wherein said request for replay of said analog signal is from
another processing system.
5. The system for storing and forwarding audio/video signals on demand of
claim 1, wherein said request for replay of said analog signal is from a
program running simultaneously on said second processing system.
6. The system for storing and forwarding audio/video signals on demand of
claim 1, wherein said decompressing by said second processing system is
rebuilding of said copy of said data stream.
7. The system for storing and forwarding audio/video signals on demand of
claim 1, wherein said compressing by said first processing system is
stripping off network overhead from said data stream.
8. The system for storing and forwarding audio/video signals on demand of
claim 7, wherein said network overhead includes forward error correction
and addressing information.
9. The system for storing and forwarding audio/video signals on demand of
claim 1, wherein said second processing system further comprises a
communications board for enabling direct data transfer from said storage
media to said decoder.
10. The system for storing and forwarding audio/video signals on demand of
claim 9, wherein said communications board bears a data queue controller
for managing input, output and system channels of said communications
board.
11. The system for storing and forwarding audio/video signals on demand of
claim 10, wherein said data queue controller ensures buffers in all output
channels of said communications board are timely filled during
transmission to prevent under- or over-filling of a channel.
12. The system for storing and forwarding audio/video signals on demand of
claim 1, wherein said first processing system further comprises a
communications board for enabling direct data transfer from said encoder
to said storage media.
13. The system for storing and forwarding audio/video signals on demand of
claim 12, wherein said communications board bears a data queue controller
for managing input, output and system channels of said communications
board.
14. The system for storing and forwarding audio/video signals on demand of
claim 1, wherein said first processing system further includes a
microprocessor.
15. A system for storing and forwarding analog signals on demand,
comprising:
an encoder for receiving at least one of said analog signals, digitizing
each of said received at least one analog signal, and compressing said
digitized signal into a data stream;
a first processing system for receiving said data stream from said encoder,
further compressing said data stream, storing said data stream in a first
storage media, and later transmitting said data stream from storage;
a transmitting system for receiving said data stream from said processing
system and transmitting same to a location remote from said processing
system;
a second processing system including a microprocessor for receiving said
data stream from said transmitting system, processing said data stream,
storing said data stream in a second storage media, and, upon receipt of a
request for replay at least one of said analog signal later transmitting a
copy of said data stream from such storage media after decompressing said
copy of said data stream; and
a decoder for receiving said data stream copy from said storage media,
further decompressing said data stream copy and transforming said
decompressed data stream copy into an analog signal for transmission to at
least one presentation system for replay.
16. The system for storing and forwarding analog signals on demand of claim
15, wherein said first and second storage media are random access mass
storage media.
17. The system for storing and forwarding analog signals on demand of claim
15, wherein said transmission by said second processing system is
synchronous replay to said decoder.
18. The system for storing and forwarding analog signals on demand of claim
15, wherein said request for replay of said analog signal is from another
processing system.
19. The system for storing and forwarding analog signals on demand of claim
15, wherein said request for replay of said analog signal is from program
running simultaneously on said second processing system.
20. The system for storing and forwarding analog signals on demand of claim
15, wherein said decompressing by said second processing system is
rebuilding of said copy of said data stream.
21. The system for storing and forwarding analog signals on demand of claim
15, wherein said compressing by said first processing system is stripping
off network overhead from said data stream.
22. The system for storing and forwarding analog signals on demand of claim
21, wherein said network overhead includes forward error correction and
addressing information.
23. The system for storing and forwarding analog signals on demand of claim
15, wherein said second processing system further comprises a
communications board for enabling direct data transfer from said storage
media to said decoder.
24. The system for storing and forwarding analog signals on demand of claim
23, wherein said communications board bears a data queue controller for
managing input, output and system channels of said communications board.
25. The system for storing and forwarding analog signals on demand of claim
24, wherein said data queue controller ensures buffers in all output
channels of said communications board are timely filled during
transmission to prevent under- or over-filling of a channel.
26. The system for storing and forwarding analog signals on demand of claim
15, wherein said first processing system further comprises a
communications board for enabling direct data transfer from said encoder
to said storage media.
27. The system for storing and forwarding analog signals on demand of claim
26, wherein said communications board bears a data queue controller for
managing input, output and system channels of said communications board.
28. The system for storing and forwarding analog signals on demand of claim
15, wherein said first processing system further includes a
microprocessor.
29. The system for storing and forwarding analog signals on demand of claim
15, wherein said presentation system is a television set.
30. The system for storing and forwarding analog signals on demand of claim
15, wherein said presentation system is a multimedia platform.
31. The system for storing and forwarding analog signals on demand of claim
15, wherein said multimedia platform permits interaction with a user.
32. The system for storing and forwarding analog signals on demand of claim
15, wherein said presentation system is an audio speaker.
33. The system for storing and forwarding analog signals on demand of claim
15, wherein said analog signals are a multimedia production.
34. The system for storing and forwarding analog signals on demand of claim
15, wherein said analog signals are an audio/video program.
35. The system for storing and forwarding analog signals on demand of claim
15, wherein said analog signals are an audio-only presentation.
36. The system for storing and forwarding analog signals on demand of claim
15, wherein said analog signals are a conference video with associated
program audio.
37. The system for storing and forwarding analog signals on demand of claim
15, wherein said analog signals are a video-only presentation.
38. The system for storing and forwarding analog signals on demand of claim
15, wherein said analog signals are a television program.
39. The system for storing and forwarding analog signals on demand of claim
15, wherein said analog signals are a commercial.
40. The system for storing and forwarding analog signals on demand of claim
15, wherein said analog signals are video footage.
41. The system for storing and forwarding analog signals on demand of claim
15, wherein said second processing system inserts additional programming
at predetermined locations within said analog signal during said
transmission of said analog signal to at least one presentation system for
replay.
42. The system for storing and forwarding analog signals on demand of claim
15, wherein said additional programming is a commercial.
43. The system for storing and forwarding analog signals on demand of claim
15, wherein said additional programming is an announcement.
44. The system for storing and forwarding analog signals on demand of claim
15, wherein said presentation system is a cable television distribution
system.
45. The system for storing and forwarding analog signals on demand of claim
15, wherein said presentation system is a fiber optic link.
46. The system for storing and forwarding analog signals on demand of claim
15, wherein said presentation system is a VCR. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to transmission and storage of
digital information, and more particularly to a system and method for
storing and forwarding audio and/or visual information for display on
demand at a remote location.
2. Description of the Related Art
Viewing of various types of video programs has become increasingly popular.
Typical video programs include motion pictures, entertainment produced for
television as well as education and training programs. An extremely wide
variety of programs have been designed or adapted for viewing on standard
television sets.
Currently electromagnetic tapes of commercial movies are copied by the tens
of thousands and distributed to a variety of users such as hotels,
hospitals, stores, and other businesses, which is extremely
labor-intensive and expensive to maintain. For example, a hotel plays a
movie on its VCR system at specified starting times, and guests of the
hotel desiring to watch the particular movie merely tune in at the
designated time on the predetermined channel. If the guest tunes the room
television to the movie, a charge is added to the room bill.
The logistics of movie tape distribution severely limits the number of
movies which are economically feasible to show during any particular
period of time. Most hotels play an average of eight movies each month due
to limited capacity. Moreover, a videotape degrades each time it is
played, so the quality of the picture noticeably deteriorates toward the
end of the month.
In an effort to enable hotel guests to have video on demand, some suppliers
have racked together numerous (normally 32-128 decks, depending on the
number of rooms at a hotel) tape decks. Obviously, such an arrangement is
quite labor intensive and expensive to maintain. Each tape deck contains
an electromagnetic tape copy of a different movie which the on-site system
activates when a guest requests to view the particular movie on their room
television. However, if a guest from another room wishes to see the same
movie at some time during the movie's playback, that guest is informed
that the movie selected is currently unavailable, unless the guest wishes
to join the movie in progress. If the guest chooses to join the movie in
progress, they are still charged the full price for the movie as if they
had viewed it in its entirety.
Similarly, a couple of multi-media platforms offer some form of limited
video on demand or animation in a video form from a server. Nevertheless,
these platforms not only fail to provide VHS resolution quality video
programs, they tend to be quite expensive and lack an external interface
enabling another computer or program to control such platforms' operation.
Moreover, a new user often must wait until the platform returns to a
particular setting in its program before it is ready for interaction with
the new user.
SUMMARY OF THE INVENTION
In view of the above problems associated with the related art, it is an
object of the present invention to provide a system and method for
tapeless transferring of digital information from a first location to a
remote location, which provides system accountability.
It is another object of the present invention to provide an automated
system and method for storing and forwarding desired audio and/or video
information truly on demand and in a cost-effective manner.
It is yet another object of the present invention to provide a system and
method for providing full-length video on demand at better than VHS
resolution quality.
It is a further object of the present invention to provide such a system
and method on a microprocessor-based platform.
In the accomplishment of these and other objects, the present
microprocessor-based system and method stores and forwards audio/video
signals on demand. Such system and method includes an encoder for
receiving, digitizing, and compressing audio/video signals into a data
stream, and a first processing system for further compressing (stripping
off network overhead from the data stream) and storing the data stream
received from the encoder, and for later transmitting the twice-compressed
data stream via a transmitting system to a location remote from the first
processing system. A second processing system receives, processes, and
stores the data stream from the remote first processing system, and later
transmits a copy of the data stream, upon receipt of a request for replay
of the audio/video signal after retrieving and decompressing the copy of
the data stream. Such system and method also includes a decoder for
further decompressing and transforming the data stream into an analog
signal for transmission to at least one television set for replay.
These and other features and advantages of the invention will be apparent
to those skilled in the art from the following detailed description of
preferred embodiments, taken together with the accompanying drawings, in
which:
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic drawing of an example store-and-forward system
employing the present invention;
FIGS. 2a and 2b are schematic illustrations of example microprocessor-based
store-and-forward systems employing the present invention;
FIG. 3 is a schematic input channel circuit diagram according an embodiment
of the present invention;
FIG. 4 is a schematic output channel circuit diagram according to an
embodiment of the present invention;
FIG. 5 is a schematic data queue controller circuit diagram according to an
embodiment of the present invention; and
FIGS. 6a and 6b are schematic drawings of fixed and variable length
records, respectively.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
It should be noted from the outset that, in addition to watching video
programs, listening to a variety of strictly audio presentations is quite
popular. Such presentations include, for example, concerts, dissertations,
sports, as well as education and training programs, which can be played
through standard television speakers. While the discussion hereinafter
will address store-and-forward systems and methods in connection with
video programs, it should be understood that the present invention can be
equally applied to any analog source of information, including strictly
audio presentations. Moreover, additional applications of the present
invention are addressed later in this discussion.
The present system and method provides reliable, simultaneous video replays
delivered by a microprocessor-based host system designed to play movies
from archival storage. FIG. 1 depicts an example configuration of such a
store-and-forward processing system 100 according to the present
invention.
The input to store-and-forward system 100 can be generated by any number of
devices (not shown) such as a laser disc, camera, VCR, any standard
television input, or any analog audio/video source which yields
audio/video source material. Such material might contain, for example, a
music concert or video, a film, a TV program, a multi-media production,
informational commercial, a conference video with associated program
audio, as well as audio only or video only programming. Numerous
additional examples will occur to those skilled in the art.
The audio/video source material input is fed into encoder 105. Although the
preferred encoder is the SpectrumSaver compressed digital video (CDV)
encoder (a trademark and product of Compression Labs Incorporated), it
will be appreciated that other encoders will operate within the spirit of
the present invention. Encoder 105 digitizes and compresses the
audio/video source material into a serial bit data stream which is then
fed to workstation 110.
Workstation 110 is preferably at least a 486 50 Mhz class personal
computer. For the sake of discussion herein, system 100 incorporates at
least one workstation or client/server 110. It should be understood that
workstation 110 could also be a mainframe computer or any other processing
system capable of the throughput necessary for uninterrupted transmission.
The exact composition of such workstation or mainframe 110 are well-known
and will not be described herein.
Before it is recorded (stored) on magnetic disk, workstation 110 further
compresses the digital data stream for more efficient storage. This is
preferably accomplished by stripping off all unneeded data, such as
network overhead which might include forward error correction and
addressing information, (process described in more detail later). The
audio/video source material encoded in the serial bit stream is then
preferably recorded on a magnetic (hard) disc subsystem within workstation
110, although it could be stored on any appropriate magnetic media.
The data stream is delivered by workstation 110 at a predetermined later
time to uplink 120 for transmission of the digital video SCPC (single
carrier per channel) signal to a satellite (not shown). The satellite in
turn transmits the digital video SCPC signal to digital receive only earth
station 130. The transmission from workstation 110 to communications
controller 140 does not have to be by satellite; it could be by cable,
normal telephony circuits, microwave, fiber, cellular, etc. The present
system preferably employs satellite however, because it is a cost
effective way to transmit to a number of remote subscribers
simultaneously.
Once the data stream is received by receive only earth station 130, it is
fed via a data link 150 to a video workstation, where it is captured and
stored in its compressed form in direct access storage device (DASD) 160.
This workstation comprises communications controller 140, data bus 150 and
DASD 160, as well as associated software (not shown). It should be
understood that though DASD is disc in a current implementation of the
present invention, it could also be any type of random access device, for
example, DRAM, bubble memory, optical disc, or any type of mass data
storage with enough capacity, (e.g., typically 2 gigabytes per two hour
program/movie).
It should be observed at this point that workstation 110 and communications
controller 140, data bus 150 and DASD 160 could be the same workstation.
Specifically each workstation, according to the present invention, is
capable of receiving input from encoders and transmitting to other
workstations, as well as receiving input from other workstations and
transmitting to decoders--all with as little as a change in one bit to
reflect which configuration the workstation is to take.
Data bus 150 represents the data bus of the workstation itself where the
peripheral cards plug in (parallel data bus), as well as the data bus that
connects digital storage 160 with the workstation. The interface to
digital storage 160 in the present system is preferably a fast and wide
SCSI-2 (small computer systems interface), although other interfaces could
be employed.
From an external source via a control input port, communications controller
140 receives a serial command to play a selected program from those stored
in DASD 160. An user or another computer or another program running on
controller 140 can direct communications controller 140's actions via
commands provided through a serial port to communications controller 140.
Such commands, in addition to "play" include, for example: step forward,
step backward, pause/freeze frame, stop, advance frame by frame, and play
on a specific port. Step forward and step backwards means "step-in-time"
either forward or backwards because the data stream is in the digital, and
not analog, domain.
Specifically, when a program is requested, a control program residing on
communications controller 140 reads the appropriate data file(s)
containing the desired program from DASD 160, restructures (reorders) and
then decompresses (rebuilds) the data stream. The data stream is
restructured because it is not necessarily laid down in the same
contiguous serial blocks on disc drive 160 that it came in off the port.
The present system then selects an available communications serial port
and begins to feed the selected data file(s) through that serial port to
compressed digital video decoding device(s) 170,172,174,176.
While the present system preferably employs at least one SpectrumSaver
series M6 decoder, it should be apparent to those skilled in the art that
other decoders could also be employed. Decoders 170,172,174,176 perform
audio/video decompression and then convert the digital data stream to an
analog data stream before feeding the data stream to an analog NTSC video
and audio cable head-end (not shown) for transmission to at least one
television set (also not shown). It should be understood that decoders
170,172,174,176 could instead feed the analog data stream to anything that
accepts and plays standard television signals, including for example,
directly to a TV, directly to a cable TV distribution, to a VCR, or to a
fiber optic link.
The present system is designed to be scalable, preferably employing from
1-32 decoders and then in multiples of 32 decoders, depending upon the
size of a subscriber (e.g., a large hotel, a hospital, an apartment
complex, or even a small city); the present invention can cost effectively
handle thousands of decoders per overall system; subsystems therewithin
would handle approximately 32 decoders each. Of course, for the city
scenario, while the present system would require more software to manage
the increased number of decoders and a more powerful machine, essentially
the system configuration and method of operation would not change.
Consider now FIG. 2a, which illustrates a more detailed schematic example
of a microprocessor-based store-and-forward system 200 for video replay
according to the present invention. With no more than a change in a bit
(described later) and exchanging decoders 270,272,274,276 for encoder(s)
105, FIG. 2a also illustrates an example workstation 110 plus encoder(s)
105. One is reminded that workstation 110, and communications controller
140, data bus 150 and DASD 160 could all be the same machine.
System 200 consists of microprocessor system 205,210,215,220 and host bus
230, together with hard disk storage 235,240,245,250, 255,260, and high
speed communications controllers/processors 265. System bus 230 could be
either an ISA, EISA or MCA bus. Moreover, a SCSI-2 interface is preferred
for SCSI hard drives 255,260 because it permits a number of drives to be
mounted on a single system.
System 200 stores programs encoded in compressed digital form, on local
hard disc 255,260. When the control program receives an external (external
to the control program) request to play a selected program, the program is
played by passing digital data streams through high speed communications
ports to compressed digital video decoders 270,272,274,276 which in turn
generate composite video signals for transmission to a designated set of
televisions.
An example of I/O processor 265 for system 200 could be a HSSI (high speed
serial communications interface), although other processor interfaces
could be employed. I/O processor 265 preferably has 16 I/O ports tied to
one interface 235. If there are two SCSI interfaces 235,240, then there is
a second I/O processor 265. I/O processors 265 work in parallel,
asynchronously of each other. With a second I/O processor 265, up to 32
decoders may be supported--16 per I/O processor 265.
All video data transfers are handled by SCSI interfaces 235,240. I/O
processors 265 on the communications interfaces are responsible for
providing data to compressed digital video decoders 270,272,274,276 at the
required rate. Resource allocation and buffer management for processors
265 is done under host CPU supervision by the control program. Data
transferred between boards or the CPU is preferably in the raw format
stored on the SCSI system.
Compressed digital video decoders 270,272,274,276 are connected, via high
speed buffered communications ports and system bus 230, to host
microprocessor system 205,210,215,220. Each decoder is associated by
system software with a video track or data stream to be replayed. In a
preferred embodiment, all ports interfaced to decoders are allocated at
least two memory buffers to keep video replay consistent and
uninterrupted. The requirement for uninterrupted movie replay is a
sustained data rate of 1.8 Mbps or 225 KBps from hard disk 255,260 through
the ports to the compressed digital video decoders 270,272,274,276.
Additionally, each memory buffer can be as large as desired, depending on
the amount of dual ported RAM available on the communications interface.
FIG. 2a reflects one embodiment of the present invention--namely replay of
a desired program from disk drive 255,260 over system bus 230 through the
buffered ports of I/O processors 265 to decoders 270,272,274,276.
Replay Through System Bus
One aspect of the present system is the use of a memory mapped
communications interface. This type of interface eliminates transfer of
video data from hard disk 255,260 to local memory 215 and then to the
communications I/O processor 265 via system bus 230. Memory mapping allows
video data to be transferred from hard disk 255,260 directly to
communications port buffer memories via system bus 230.
I/O communications processors 265 pull data from port buffers and pass it
out through the ports to decoders 270,272,274,276 under control of the
control program residing on host computer 205,210,215. The control program
ensures each port's data buffers are not allowed to become completely
empty or overfull. To do this, SCSI disk devices are preferably used to
transfer video data directly to memory mapped I/O port buffers, all under
host control. Thus, as each buffer is emptied, I/O processor(s) 265 is
directed to the next full buffer for the compressed digital video
decoder's port.
However, memory mapped communications devices introduce wait states in the
system bus memory cycle when onboard I/O processor 265 and another bus
master 235,240 (e.g., SCSI) are simultaneously accessing dual ported
memory. These conditions reduce the bus transfer rates to 4.57 MBps (1.5
waits) for ISA/EISA and to 6.66 MBps (1 wait) for MCA. SCSI-2 interface
235,240 supports transfer rates of 5-10 MBps for an ISA bus and 10+ Mbps
for an MCA bus, both of which are greater than the communications-imposed
limits previously stated.
Additionally, in a preferred embodiment, host processor 205 contains a
large cache memory. This increases the host CPU's cache memory hit rate
when running video scheduling algorithms according to the present
invention. Thus, contention between host CPU 205 and SCSI bus mastering
devices 235,240 for system bus 230 is reduced, leaving more bus cycles
available for data transfer operations.
The throughput of the present system, in terms of number of playable
programs, such as for example movies, is considered in connection with two
different embodiments of the present invention discussed below. For the
sake of such discussion, the stated data rate required to play a single
movie through a decoder is 225 KB per second; sustained data transfer at
this rate provides uninterrupted replay. Moreover, the maximum seek time
for a Maxtor MXT-1240S SCSI disk drive is 20 msec, minimum seek is 15
msec, maximum latency is 9.5 msec and minimum data transfer is 2.8 MBps.
It should be understood that other SCSI disk drives could also be employed
in the present invention.
ASYNCHRONOUS "ON DEMAND" REPLAY. The requirement for on demand replay for
programs such as, for example, movies means that, at any time, a customer
may request replay of an entire on-line movie without joining a movie
already in progress, unless of course, the customer wants to join the
movie in progress. Movies are started subject to customer request and do
not run on a predefined schedule. One decoder is assigned to each request.
Using two 32 KB buffers for each port and a single disk drive 235 with at
least one movie on it, yields:
1. A 32 KB transfer time of 11.5 msec. (32 KB/2.8 Mbps)
2. Seek to next customer's track and position for next read is 20 msec
(worst case seek) plus 9.5 msec (worst case rotational latency) resulting
in 29.5 msec.
3. Total read time for 32 KB=41 msec.
The effective throughput of 1000/41*32 KB=780 KB/sec is greater than the
225 KB/sec required per movie. Therefore, a total of 780/225=3
customers/movies can be reliably serviced from the disk.
If larger buffers are set aside, the number of customers/movies can be
increased accordingly. Given two 512 KB buffers of onboard memory per port
yields:
1. A 32 KB transfer time of 11.5 msec.
2. Seek to next track and position for next 32 KB read is worst case of
minimum seek (1.5 msec) or maximum rotational latency (9.5 msec): 9.5
msec.
3. 512 KB buffer fill using 32 KB reads on adjacent tracks is a total of
16*11.5 msec+15*9.5 msec=326.5 msec.
4. Seek to next customer's track and position for next read is 29.5 msec.
5. Total read time for 512 KB=356 msec.
This time the effective throughput of 1000/356*512 KB=1438 KB/sec. Thus a
total of 1438/225=6 customers/movies are reliably serviced from the disk.
Finally consider SCSI disk drives 255,260 configured in a RAID 0 type disk
array with synchronized spindles. A RAID (redundant array of independent
disks) 0 configuration is preferred because data redundancy, which slows
RAID speed, is not necessary for this application. Off-line movie storage
is preferably accomplished with WORM optical devices where movies are
reloaded if failure occurs. Given RAID 0 with 4 parallel drives, the data
transfer rate increases to 11.2 ps. Since this is greater than the
sustainable ISA or MCA system bus transfer rates to the communications
buffers, the buffer rate of 4.57 ps for ISA is the limiting factor. Thus:
1. 32 KB transfer time of 32 KB/4.57 ps=7 msec.
2. Seek to next track and position for next 32 KB read is 9.5 msec.
3. 512 KB buffer fill using 32 KB reads on adjacent tracks is a total of
16*7 msec+15*9.5 msec=244.5 msec.
4. Seek to next customers track and position for next read is 29.5 msec.
5. Total read time for 512 KB=274 msec.
The effective throughput of 1000/274*512 KB=1868 KB/sec. This results in a
total of 1868/225=8 asynchronous customers/movies reliably serviced from
the disk.
Note that only 14% of available bus bandwidth is being used even with a
RAID array. This is primarily due to seek and rotational latency times.
Clearly, the above disk-imposed limits are not acceptable for servicing a
large number of customers. One obtains significantly better performance,
however, by qualifying the term "on demand" to allow for synchronized
replay of movies.
SYNCHRONOUS "ON DEMAND" REPLAY. The basic idea of synchronized replay is to
divide a program such as a movie into video segments each of which play
simultaneously. For example, movies could be divided into ten minute video
segments, which result in 12 video segments for a two hour movie. The host
system throughput must be great enough to allow all segments to play
simultaneously. Thus, for a two hour movie divided into ten minute
segments, the host processor supports a sustained throughput rate of
12*1.8 ps/8 bits or 2.7 ps.
If movies are divided into ten minute video segments and given that at
least 1.2 GB drives are used, two drives are required to hold each movie.
Six video segments for the first hour of the movie would be on drive 1,
with up to six segments for the second hour on drive 2.
With this configuration, there are several methods of mapping video
segments onto the drives to support synchronized replay. The simplest
approach is to place the segments front to back on each drive, just as
they would be in the asynchronous case.
As indicated earlier, a compressed digital video decoder connected via a
high speed buffered communications port 265 is associated with each video
segment being viewed. In a synchronous configuration, the video segment
playing control program would fill empty buffers for the current segment
before stepping to the next segment and filling those buffers. When a
customer's current segment has completed play, his compressed digital
video decoder is associated, by the control program, with the next segment
scheduled for play. This continues until the complete program has been
played. The decoder is then freed for reassignment to a new
customer/movie.
Using two 512 KB buffers on the communications board for each port and dual
disk drives for each movie, yields an effective throughput of 1000/356*512
KB=1438 KB/sec per disk or 2876 KB/sec for a movie split across 2 disks.
Thus a total of 2876/225=12 synchronous video segments for the given
movie can be serviced reliably from the disks. This means that the movie
can indeed be shown at ten minute intervals. Therefore, a single MCA
system could support 2 movies, each with 12 starting times while an ISA
system could support 2 movies if each had 10 or fewer starting times or if
the combined number of simultaneous video segment replays was 20 or less.
Clearly, there is a trade-off between number of starting times and total
movies supported on a single system.
By splitting the movie across two drives, seek and rotational latency times
can be overlapped for each drive playing the same movie. Thus the movie
replays at ten minute intervals more easily from two drives than from a
single large drive. A single drive does not allow overlapped seeks and
requires a larger video segment size and thus, a longer replay interval.
If more frequent starting times are required, because of the popularity of
a movie for example, a movie could be recorded over a greater number of
smaller drives.
An additional advantage of synchronized replay is that it is not necessary
to have one decoder for each customer (as required by asynchronous
replay). The number of decoders and communications ports needed is equal
to the minimum of: 1) the number of movies to be offered multiplied by the
number of video segments per movie or 2) the number of customers to be
serviced.
Nevertheless, higher data transfer rates can be obtained without losing
reliability. FIG. 2b reflects another embodiment of the present
invention--namely replay of a desired program from disk drive 255,260
directly to buffered ports of I/O processors 265 to decoders
270,272,274,276 without traveling system bus 230.
Replay Directly to I/O Processor
As is apparent from viewing FIGS. 2a and 2b, the configuration of FIG. 2b
essentially has not changed much from that of FIG. 2a, except in one
important resp | | |