Video-on-Demand Nick Caggiano Walter Phillips
Video-on-Demand What is Video-on-Demand? Storage, transmission, and display of archived video files in a networked environment Most popularly used to watch movies offered by cable provider Many companies banking on prospect of bringing Video-on-Demand to educational institutions
Video-on-Demand Components of Video-on-Demand system Client e.g. Set-top box Buffers signals sent from server More buffering leads to less expensive decoding hardware Decoding can be done while displaying, as opposed to realtime decoding Decodes (usually from MPEG-2) signals Ensures synchronization of audio and video Also acts as interface between user and server Set-top box sends STOP, PAUSE, and REWIND signals upstream to the server
Video-on-Demand Components of Video-on-Demand system Network Continuous and long-lived connections unlike traditional bursty, short-lived computer connections Require bandwidths in the range of 1.5Mbps to 5Mbps. Delay and jitter must be minimized to preserve presentation. Packets which miss deadline must be dropped
Video-on-Demand Components of Video-on-Demand Server Random access Short seek time Reliability Availability Scalability
Video-on-Demand Server architectures Centralized system Server and archives stored in central location Easy to manage Doesn't scale well Low throughput May add local servers with video buffers no archives at local servers, but can forward requests to central server» Matrix stored at local server, Police Academy 12 kept in archive» Similar to Blockbuster New Releases section
Video-on-Demand Server architectures Distributed system Local processing servers with archives Reduced delay/congestion Scales well Higher availability and throughput More difficult to manage
Video-on-Demand Berkeley Distributed Video-on-Demand System Composed of Database Stores metadata for each video Keyword (for searches), genre, cast, runtime, etc Where the video is currently stored/cached Video Manager (VMGR) Locates video and prepares for playback Initiates billing to user account Video File Server (VFS) Stores video on magnetic disks May be replicated for availability/reliability
Video-on-Demand Berkeley Distributed Video-on-Demand System Composed of Archive Server (AS) Stores video on inexpensive storage (magnetic disk, tape, etc) May be replicated User selects video from supplied UI VMGR locates video on AS or VFS May select best server due to locality, network load, etc VMGR initiates and dynamically manages playback
Video-on-Demand Video storage architectures One movie per disk Disk is random access = good for rewind, fast-forward, etc Disk failure only affects one movie (and therefore it's streams) Can easily move to another replicated disk Easy scheduling Under-utilizes resources (disk bandwidth) some movies more popular than others ( Matrix v. Police Academy 12 ) Creates bottlenecks Can achieve an order of mag. in response time with replication
Video-on-Demand Video storage architectures Stripe video across array of disks Each disk can service a small number of requests for different movies Less popular videos don't waste disk bandwidth Load balancing Scheduling is much more difficult New video must wait for disk scheduling window Fast-forward or rewind must wait for scheduling window in next disk Disk failure affects many movies, not just one Best cost/stream of two architectures
Video-on-Demand Viola Chinese University of Hong Kong Video striping across servers RAIS Redun. Array of Inexpensive Servers Provides additional hardware to merge video blocks into a single data stream Good scalability Simply add another server Good reliability Same parity protection as RAID
Video-on-Demand Quality of Service and Admission Control Server must maintain some quality of service (QoS) Prompt set-up time User doesn't want to wait when he selects a movie Synchronization/continuity of streams Minimized delay/jitter Fast repsonse to VCR functions In order to do so, must maintain some admission control Disk bandwidth, memory buffers, network bandwidth, etc Must be determined ahead of time, to ensure QoS throughout session
Industry Perspective
Side Note: Why even bother with VOD servers? Personal Alternatives Tivo -- Replay TV -- VCR Centrally managed benefit Interactive Shopping and advertisement delivery. Usage profiling Play, pause, fast forward and rewind Billing Monthly billing vs. usage billing (also Hybrid billing) Convenient access to the latest/dynamic content Higher value to the user Marketing ploy Competition with the satellite providers
Who wants Video On Demand? Some e-poll findings Two-thirds of those surveyed have heard of VOD (mostly male and younger demographics) People prefer the subscription payment method vs. pay per view method (both methods are utilized) Scheduled premium movies (every half-hour) might be acceptable for most viewers (sporting events) Results were from December 2002 Time Warner San Diego released VOD in September
Big Names SeaChange ITV 12024 Maynard, Maryland http://www.seachangeinternational.com/products/on_demand_television/ Concurrent Computer Corporation Media Hawk Duluth, Georgia http://www.ccur.com/vod/ ncube n4x Beaverton, Oregon http://www.ncube.com/vod/
Common features Off the shelf processors (i.e. Pentium class) High speed I/O SCSI ~160MBps FIBRE channel ~260MBps All use RAID5 or some proprietary variant Why RAID5? Obviously fault tolerance and efficient space usage (compared to mirroring) RAID5 gives slow write performance but good read performance which is what we are concerned about
Why such diversity? Time Warner is a big company so why would San Diego use Concurrent, Palm Desert use ncube, and Los Angeles use SeaChange? Answer: Competition amongst VOD vendors
Local Industry Time Warner Centralized Infrastructure Media Servers used: Concurrent Computer Corporation Media Hawk 2000 (7 of them) Covers a large geographic area North County to Coronado Not all Time Warner locations use the same equipment configuration Cox Communications Distributed Infrastructure Servers Used? Employees were not very helpful
Centralized vs. Distributed Centralization is easy to manage Simpler Requires high bandwidth throughout the system Distributed replication can be a problem Might be more fault tolerant Better if limited bandwidth between the core and the hubs What about scalability?
Capacity Time Warner Designed for 6% of digital subscriber use 16 On Demand Channels (3 more planned) 800 hours (expanding to 3200 hours) Each coax cable can carry 10 streams Each node has 4 coax outputs This means 40 movies can be delivered to a neighborhood The 41 st subscriber would get a denial of service Remember, this is VOD only. Regular PPV and digital channels still work
From the server to your house Media comes out of the server over 160 Mbps ASI (Asynchronous Serial Interface) cables Converted to optical signal and transmitted via a hub to a node in the neighborhood The node converts the signal back to an RF signal that can be transmitted over regular coax Scientific Atlanta D9477 MQAM Modulator QAM Quadrature Amplitude Modulation
Side Notes 160 Mbit/second ASI A movie requires 3.75 Mbits/seconds ~ 40 streams per ASI cable Analog coax can carry 10 movies Nodes are logically grouped in 4 s Can be reassigned dynamically as needed Groupings are dictated by the number of set top boxes served
Managing the system Sunfire 280R (http://www.sun.com/servers/entry/280r/) Business Management System (BMS) Responsible for things such as: Billing / Ordering Scheduling Content management
Conclusion Its here now Is it all that exciting? Could it do more?