Generally described, computing devices utilize a communication network, or a series of communication networks, to exchange data. Companies and organizations operate computer networks that interconnect a number of computing devices to support operations or provide services to third parties. The computing systems can be located in a single geographic location or located in multiple, distinct geographic locations (e.g., interconnected via private or public communication networks). Specifically, data centers or data processing centers, herein generally referred to as “data centers,” may include a number of interconnected computing systems to provide computing resources to users of the data center. The data centers may be private data centers operated on behalf of an organization or public data centers operated on behalf, or for the benefit of, the general public.
Content providers (such as businesses, artists, media distribution services, etc.) can employ a series of interconnected data centers to deliver content in the form of data objects (e.g., representing web sites, web content, or other digital data) to users or clients. These interconnected data centers are sometimes referred to as “content delivery networks” (CDNs) or content delivery systems. Existing routing and addressing technologies can enable multiple data centers associated with a content delivery system to provide similar or identical data objects to client computing devices. In some instances, each data center providing a set of data objects may be referred to as a point-of-presence (“POP”). A content delivery system can maintain POPs over a wide area (or worldwide) to enable the system to efficiently service requests from clients in a variety of locations.
To utilize a CDN, a content provider generally designates one or more computing devices or data centers (e.g., external to the CDN) to maintain primary copies of data objects, which are sometimes referred to as “origin servers.” Each POP within the CDN can maintain all or a portion of the data objects provided by the origin server (e.g., within a data store of the CDN). When a client requests a data object from a POP, the POP can determine whether the requested data object is maintained at the POP. If so, the POP can provide the requested data object to the client directly. If not, the POP may first retrieve the data object from the origin server, and thereafter provide the data object to the client. This process of returning a data object not presently maintained at a POP is sometimes referred to as a “cache miss.” Cache misses are generally undesirable, in that they result in delays to fulfill client requests (e.g., due to the time required to retrieve content from the origin server) as well as increased load on the origin server itself.