||In traditional near-VOD (NVOD), the number of streams required is still high if the user delay goal is low. In this thesis, we first study the use of client buffering to reduce the bandwidth requirement given a certain maximum user delay goal. We study a scheme based on streaming approach termed "join-and-stream" (JAS), which multicasts a movie in a staggered manner and uses short unicast streams to recover the time difference between the closest multicast point and the request arrival time. Such a technique is effective for movies with intermediate arrival rate. Driven by the observation that broadband networks to the home has become a reality, we propose a broadcasting scheme termed "stream-bundling," which proves to be effective for popular movies. The scheme groups (i.e., "bundles") the server streams into channels of incrementally increasing bandwidth. Such high-speed bundled channels are used to deliver the beginning segment of a video to the client so that it can merge with an on-going multicast stream quickly. By comparing with other previously proposed broadcasting schemes such as Pyramid Broadcasting, Skyscraper Broadcasting and Harmonic Broadcasting, stream-bundling is shown to achieve similar level of performance with much lower complexity (without many channels to manage and to hop). Using our two schemes, the bandwidth requirement of a system can be reduced significantly as compared with the traditional NVOD, with the cost of only little client buffering. Although batching can reduce network or server bandwidth requirement, such a technique introduces user delay, hence leading to user reneging if such delay is beyond its tolerance. In traditional NVOD systems, the delay tolerance is generally regarded as unknown. In the second part of this thesis, we consider that such tolerance is revealed upon user's arrival. We study a scheme termed "Delay-Aware Batching" (DAB) in which stream allocation is driven by the point at which someone is about to renege. In another variance, termed DAB-r, users are prioritized and streams are reserved according to the user classes, so as to achieve a certain loss/revenue performance. Another scheme is using client buffering jointly with video multicast to achieve a substantial saving in the stream requirement in a reservation system as compared to an on-demand system. Given the knowledge of the user reneging time, we show that the server bandwidth can be allocated more intelligently to achieve significant improvement of system performance.