Genetic Algorithm Approach and Buffering Techniques to Reduce Bandwidth Requirements for a Video on Demand System