In this paper we present a bandwidth management framework that determines a proper bandwidth for each instance in order to get higher user experience, then dynamically allocate bandwidth based on network requirement of each instance. We propose a way to quantify user experience, and propose a dynamic programming method to find optimal allocation so as to maximize the total quantified users experience. We also propose a greedy method that can determine proper bandwidth for each instance according to near future demand prediction. Our experiment confirms that the greedy method is both effective and efficient. We also confirm that our bandwidth requirement prediction method is effective.