Most of today's public cloud services provide dedicated compute and memory resources but they do not provide any dedicated network resources. The shared network can be a major cause of the well known 'noisy neighbor' problem, which is a growing concern in public cloud services like Amazon EC2. Network reservations, therefore, are of prime importance for the Cloud. However, a tenant's network demand would usually keep changing over time and thus, a static one-time reservation would either lead to poor performance or resource wastage (and higher cost). In this context, we present Equinox - a system that automatically reserves end-to-end bandwidth for a tenant based on the predicted demand and adapts this reservation with time. We leverage flow monitoring support in virtual switches to collect flow data that helps us predict demand at a future time. We use a combination of vswitch based rate-limiting and OpenFlow based flow rerouting to provision end-to-end bandwidth requirements. We have implemented Equinox in an OpenStack environment with OpenFlow based network control. Our experimental results, using traces based on Facebook's production data centers, show that Equinox can provide up to 47% reduction in bandwidth cost as compared to a static reservation scheme while providing the same efficiency in terms of flow completion times. © 2014 IEEE.