Today, a large fraction of Internet traffic is originated by Content
Delivery Networks (CDNs). To cope with increasing demand for
content, CDNs have deployed massively distributed infrastructures.
These deployments pose challenges for CDNs as they have to dynamically map end-users to appropriate servers without being fully
aware of the network conditions within an ISP or the end-user location. On the other hand, ISPs struggle to cope with rapid traffic
shifts caused by the dynamic server selection policies of the CDNs.
The challenges that CDNs and ISPs face separately can be turned into an opportunity for collaboration. We argue that it is sufficient for CDNs and ISPs to coordinate only in server selection, not routing, in order to perform traffic engineering. To this end, we propose Content-aware Traffic Engineering (CaTE), which dynamically adapts server selection for content hosted by CDNs using ISP recommendations on small time scales. CaTE relies on the observation that by selecting an appropriate server among those available to deliver the content, the path of the traffic in the network can be influenced in a desired way. We present the design and implementation of a prototype to realize CaTE, and show how CDNs and ISPs can jointly take advantage of the already deployed distributed hosting infrastructures and path diversity, as well as the ISP detailed view of the network status without revealing sensitive operational information. By relying on tier-1 ISP traces, we show that CaTE allows CDNs to enhance the end-user experience while enabling an ISP to achieve several traffic engineering goals.