High-bandwidth and real-time constraints for supporting concurrent video ac
cesses make generic software architecture design for high-performance on-de
mand video servers challenging. This challenging task can be even more comp
licated when we consider that a generic software architecture should be app
lied to different hardware platforms. In this paper, we introduce the desig
n, implementation, and evaluation of a generic software architecture for on
-demand video servers. We describe different key components on controlling
the storage and network devices within the server. The interactive collabor
ations between these software components are also illustrated, The experime
ntal results indicate a very promising direction on exploring the right com
binations of these software components. The server is, thus, able to increa
se the number of concurrent video accesses with the same hardware configura
tion. For instance, with the right combinations, the system achieved about
80 percent of the storage system bandwidth of four disks, about 70 percent
of the storage system bandwidth of six disks, and generally reached the max
imal achieved SCSI bandwidth when eight disks are used over two SCSI buses
(i.e., four disks on each SCSI bus). Our research and experimental results
are based on video servers currently under construction across a variety of
hardware platforms, including SMP, DMP, and clusters of PC or workstations
. The most-advanced prototype server is based on an SGI shared-memory multi
processor with a mass storage system consisting of RAID-3 disk arrays. With
all the enabling/management schemes, we were able to further investigate i
nteresting research issues by considering the user's access profiles for ta
king advantage of popular video titles. The results were significant, with
a range of 60 percent improvement given a 512 Kbyte block size; In addition
to the experimental results, theoretical performance models were also deve
loped that closely match to our collected experimental results.