Architectural choices for video-on-demand systems