US20100023693A1 - Method and system for tiered distribution in a content delivery network - Google Patents

Method and system for tiered distribution in a content delivery network Download PDF

Info

Publication number
US20100023693A1
US20100023693A1 US12/577,232 US57723209A US2010023693A1 US 20100023693 A1 US20100023693 A1 US 20100023693A1 US 57723209 A US57723209 A US 57723209A US 2010023693 A1 US2010023693 A1 US 2010023693A1
Authority
US
United States
Prior art keywords
content
cdn
server
region
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/577,232
Inventor
John A. Dilley
Andrew D. Berkheimer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Akamai Technologies Inc
Original Assignee
Akamai Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Akamai Technologies Inc filed Critical Akamai Technologies Inc
Priority to US12/577,232 priority Critical patent/US20100023693A1/en
Assigned to AKAMAI TECHNOLOGIES, INC. reassignment AKAMAI TECHNOLOGIES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DILLEY, JOHN A., BERKHEIMER, ANDREW D.
Publication of US20100023693A1 publication Critical patent/US20100023693A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2885Hierarchically arranged intermediate devices, e.g. for hierarchical caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • the present invention relates generally to techniques for reducing traffic to origin servers for very popular and large, potentially flash-popular objects.
  • a CDN is a network of geographically-distributed content delivery nodes that are arranged for efficient delivery of content on behalf of third party content providers.
  • a CDN is implemented as a combination of a content delivery infrastructure, a request-routing mechanism, and a distribution infrastructure.
  • the content delivery infrastructure usually comprises a set of “surrogate” origin servers that are located at strategic locations (e.g., Internet network access points, Internet Points of Presence, and the like) for delivering content to requesting end users.
  • the request-routing mechanism allocates servers in the content delivery infrastructure to requesting clients in a way that, for web content delivery, minimizes a given client's response time and, for streaming media delivery, provides for the highest quality.
  • the distribution infrastructure consists of on-demand or push-based mechanisms that move content from the origin server to the surrogates.
  • An effective CDN serves frequently-accessed content from a surrogate that is optimal for a given requesting client.
  • a single service provider operates the request-routers, the surrogates, and the content distributors.
  • that service provider establishes business relationships with content publishers and acts on behalf of their origin server sites to provide a distributed delivery system.
  • a well-known commercial CDN service that provides web content and media streaming is provided by Akamai Technologies, Inc. of Cambridge, Mass.
  • each cache in the hierarchy independently decides whether to fetch a requested reference from the object's home site or from its parent or sibling caches using a resolution protocol.
  • the object is fetched directly from the object's home, rather than through the cache hierarchy. This feature is used to force the cache to resolve non-cacheable URLs and local URLs directly from the object's home. If the URL's domain name matches a configurable list of substrings, then the object is resolved through the particular parent bound to that domain. Otherwise, when a cache receives a request for a URL that misses, the cache performs a remote call to all of its siblings and parents, checking if the URL hits any sibling or parent. The cache then retrieves the object from the site with the lowest measured latency.
  • Yet another object of the invention is to facilitate control over a tiered distribution of content in a CDN using object-specific metadata.
  • a still further object of the invention is to provide for a tiered distribution method and system in a content delivery network to ensure that end users can obtain desired content quickly and reliably, while effectively buffering web site infrastructure, thereby ensuring that an origin site is not overwhelmed with requests for popular content or large files.
  • Another more specific object of the present invention is to enable a cache hierarchy in a content delivery network wherein a given edge server region is associated with either a single parent region or a subset of intermediate regions to buffer the content provider origin server from flash crowds.
  • a cache hierarchy is established in the CDN comprising a given edge server region and either (a) a single parent region, or (b) a subset of well-connected “core” parent server regions.
  • the request is provided to either the single parent region or to a given one of the subset of server regions for handling, preferably as a function of metadata associated with the given object request.
  • the given object request is then serviced, if possible, by a given CDN server in either the single parent region or the given parent region.
  • a given CDN server in either the single parent region or the given parent region.
  • the original request is only forwarded on to the origin server if it cannot be serviced by the intermediate node in the hierarchy.
  • the single parent region is located at, adjacent, or near a data center at which the content provider origin server is located.
  • a given single parent region may be dedicated to a particular CDN content provider.
  • the edge server regions typically are co-located in large hosting data centers in the well-connected “core” of the Internet web hosting infrastructure. By funneling (i.e., forwarding) edge requests through this smaller subset of regions (or to the single parent region), the CDNSP can significantly reduce the amount of traffic on origin servers and exploit server-to-server optimizations.
  • the tiered distribution service is intended to reduce traffic to origin servers for very popular content and large, potentially flash-popular objects.
  • Metadata is information about the content provider's (CP's) content served by the CDN.
  • metadata is a set of control options and parameters that determine how an edge server handles a request for an object.
  • a given metadata tag is used enable the tiered distribution service or feature and to specify a policy or type of hierarchy parent to be used.
  • FIG. 1 is a block diagram of a known content delivery network in which the present invention may be implemented
  • FIG. 2 illustrates a typical machine configuration for a CDN content edge server
  • FIG. 3 is a simplified diagram illustrating a tiered distribution scheme according to the present invention.
  • FIG. 4 is a more detailed representation of the tiered distribution scheme wherein a given edge server may communicate with an intermediate core region or a dedicated parent region;
  • FIG. 5 is a block diagram of software components that provide the cache hierarchy functionality according to an embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating how a content server implements the cache hierarchy functionality according to the present invention.
  • an Internet content delivery infrastructure usually comprises a set of “surrogate” origin servers 102 that are located at strategic locations (e.g., Internet network access points, and the like) for delivering copies of content to requesting end users 119 .
  • a surrogate origin server is defined, for example, in IETF Internet Draft titled “Requirements for Surrogates in the HTTP” dated Aug. 9, 2000, which is incorporated herein by reference.
  • the request-routing mechanism 104 allocates servers 102 in the content delivery infrastructure to requesting clients in a way that, for web content delivery, minimizes a given client's response time and, for streaming media delivery, provides for the highest quality.
  • the distribution infrastructure consists of on-demand or push-based mechanisms that move content from the origin server to the surrogates.
  • a CDN service provider may organize sets of surrogate origin servers as a “region.”
  • a CDN region 106 typically comprises a set of one or more content servers that share a common backend, e.g., a LAN, and that are located at or near an Internet access point.
  • a typical CDN region may be co-located within an Internet Service Provider (ISP) Point of Presence (PoP) 108 .
  • ISP Internet Service Provider
  • PoP Point of Presence
  • a representative CDN content server is a Pentium-based caching appliance running an operating system (e.g., Linux, Windows NT, Windows 2000) and having suitable RAM and disk storage for CDN applications and content delivery network content (e.g., HTTP content, streaming media and applications).
  • CDN applications are sometimes referred to as “edge” servers as they are located at or near the so-called outer reach or “edge” of the Internet.
  • the CDN typically also includes network agents 109 that monitor the network as well as the server loads. These network agents are typically co-located at third party data centers or other locations.
  • Map maker software 107 receives data generated from the network agents and periodically creates maps that dynamically associate IP addresses (e.g., the IP addresses of client-side local name servers) with the CDN regions.
  • content is tagged for delivery from the CDN using a content migrator or rewrite tool 106 operated, for example, at a participating content provider server.
  • Tool 106 rewrites embedded object URLs to point to the CDNSP domain.
  • a request for tagged content is resolved through a CDNSP-managed DNS to identify a “best” region, and then to identify an edge server within the region that is not overloaded and that is likely to host the requested content.
  • a participating content provider may simply direct the CDNSP to serve an entire domain (or subdomain) by a DNS directive (e.g., a CNAME).
  • the CDNSP may provide object-specific metadata to the CDN content servers to determine how the CDN content servers will handle a request for an object being served by the CDN.
  • Metadata as used herein, thus refers to the set of all control options and parameters for the object (e.g., coherence information, origin server identity information, load balancing information, customer code, other control codes, etc.), and such information may be provided to the CDN content servers via a configuration file, in HTTP headers, or in other ways.
  • the CDNSP operates a metadata transmission system 116 comprising a set of one or more servers to enable metadata to be provided to the CDNSP content servers.
  • the system 116 may comprise at least one control server 118 , and one or more staging servers 120 a - n, each of which is typically an HTTP server (e.g., Apache).
  • Metadata is provided to the control server 118 by the CDNSP or the content provider (e.g., using a secure extranet application) and periodically delivered to the staging servers 120 a - n.
  • the staging servers deliver the metadata to the CDN content servers as necessary.
  • FIG. 2 illustrates a typical machine configuration for a CDN content edge server.
  • the content server 200 is a caching appliance running an operating system kernel 202 , a file system cache 204 , CDN software 206 , TCP connection manager 208 , and disk storage 210 .
  • CDN software 206 creates and manages a “hot” object cache 212 for popular objects being served by the CDN. It may also provide other CDN-related functions, such as request routing, in-region load balancing, and the like.
  • the content server 200 receives end user requests for content, determines whether the requested object is present in the hot object cache or the disk storage, serves the requested object via HTTP (if it is present) or establishes a connection to another content server or an origin server to attempt to retrieve the requested object upon a cache miss.
  • FIG. 3 illustrates the basic technique for tiered distribution according to the present invention.
  • the CDN (or other distributed delivery system, as the case may be) employs a tiered infrastructure using two or more tiers: a set of edge servers and a hierarchical set of “parent” or hub regions that service the edge servers.
  • the CDN service provider operates a plurality of CDN edge servers 302 a - n and a set of tiered distribution hubs 304 a - n.
  • the tiered distribution hubs accelerate content delivery to end users 306 a - n and buffer the origin server 308 .
  • the tiered distribution hubs ensure that the edge servers have the information requested by the end users.
  • a tiered distribution hub 304 maintains a persistent connection to the origin server 308 , although this is not a requirement.
  • the distribution hubs ensure that end users 306 do not flood the origin site with requests if the site is experiencing high traffic load or if the content is stale, large, or infrequently accessed.
  • the tiered distribution hubs act as accelerators for the end users, ensuring that the users obtain their desired content quickly and reliably, and the hubs acts as buffers for the origin site's internal infrastructure, guaranteeing that the site is not overwhelmed with requests for popular content or large files.
  • a given content delivery network 400 may comprise a set of regions 402 a - n, each of which comprises a set of content (or “edge”) servers 404 a - n.
  • CDN customers include a set of content providers (CPs), each of which typically operates a set of one or more origin servers 406 .
  • CPs content providers
  • the object may be retrieved from another edge server in the region or, failing that, from the origin server. This known operation is modified according to the present invention.
  • given content may be marked for distribution from a so-called cache hierarchy that includes a given edge region 402 and either (a) a given subset of the origin server regions (a “multi-region” cache hierarchy) or (b) a dedicated single parent region (a “single-region” cache hierarchy).
  • the given subset of parent regions includes regions 408 a - n.
  • a given region 408 includes a cluster of “parent” servers, for example, servers 410 a - n that, for illustrative purposes only, may be co-located in large hosting data centers in well-connected “core” portions of the Internet web hosting infrastructure.
  • Representative “core” locations include, without limitation, well-connected data centers in the Internet that have high-speed backbones (today these are optical networks running at multiple gigabits per second) and are connected to at least several (e.g., three (3)) other high-speed optical backbone networks. Connection to multiple backbone networks is very desirable to ensure requests can be routed quickly and reliably within the Internet.
  • the number of parent regions in the given subset is variable and their particular location and configuration (e.g., number of servers, connectivity, etc.) is selectable, however, these machines should be relatively powerful and well-connected.
  • An alternative to the multi-region cache hierarchy is a “single region” hierarchy that includes a given edge server region 402 and the single parent region 412 having a cluster of servers 414 a - n. Again, the location of the parent region and the number of servers within that region and their connectivity are variable. Typically, however, the single parent region 412 is associated with a particular content provider and, as a preference, it would be located nearby the content provider's origin server or server farm. The single parent region may also be located on the same provider network and geographically close.
  • the CDNSP By funneling requests that cannot be serviced in edge regions (because the object is not in cache or is in cache but needs to be validated) through either the multi-region or single-region parent clusters, the CDNSP significantly reduces the amount of traffic on content provider origin servers for very popular content and large, potentially flash-sensitive objects. As a result, the cache hierarchy protects the content providers from requests for large, popular objects causing the CDN to make more requests than the content provider can handle. In addition, the cache hierarchy reduces average latency and improves connectivity and content access in what might otherwise be poorly-connected edge regions.
  • Metadata is delivered to the CDN edge servers using a convenient transport mechanism such as illustrated in FIG. 1 .
  • Object metadata may be specified by customer, by directory, by object type, or in any other convenient manner. The syntax described is merely representative.
  • the CDN edge server has received object metadata
  • software executing in the edge server changes a9.g.aka.net (the original tag) to a9.c.aka.net for the multi-region approach (for resolution against a core map) or, alternatively, to something like a9.48.aka.net for the single region approach (with “r48” being region 48, presumably somewhere near the origin server).
  • application of metadata determines the name of the server region through which the request is funneled to fetch or validate the object being requested. This is the origin server by default, but it can also be a cache hierarchy parent, as described above.
  • a9.c.aka.net then gets resolved, e.g., through a first DNS level in the request routing mechanism (such as described in the '703 patent) to identify a best core region (e.g., a core region closest to the edge region) and then perhaps through a second DNS level to identify the best edge server in that region. If the metadata implements the single region parent, the first level returns second level servers specific to region 48.
  • a first DNS level in the request routing mechanism such as described in the '703 patent
  • the first level returns second level servers specific to region 48.
  • the use of multi-level DNS is merely illustrative. Generalizing, while the actual format of the edge server request to its parent varies, it may of the form aSerial.rRegion.cdnsp.net.
  • edge server region contacts either a core region or a dedicated parent region (edge server ⁇ region core region or single backing region) as a function of given object service metadata.
  • the origin server preferably is only contacted when a server in a parent region needs to fetch content, or when the server in the parent region needs to revalidate existing content. While the above description shows an edge server contacting an intermediate core region or a parent region, it should also be appreciated that the core region may be backed up by a single region so that the hierarchy is as follows: edge server region ⁇ core region ⁇ single backing region ⁇ origin server.
  • FIG. 5 illustrates the basic software and data components useful in the cache hierarchy.
  • This software may be implemented as part of the CDN software running in each edge server as illustrated in FIG. 2 .
  • the functionality may be implemented on a standalone basis.
  • an edge server includes a cache for storing content provider content. The server receives end-user requests for origin server content and serves this content authoritatively if it can do so.
  • a monitor 502 is a software process that monitors and reports edge server performance for load balancing and customer analysis.
  • a guide process 504 preferably is a component of the CDN edge server software (although it may be a standalone process) that directs the edge server to use another CDN server (i.e., an intermediate) instead of the customer's origin server for given content requests that are being managed by the cache hierarchy.
  • a C map 506 is a mapping from a client network address to a nearest CDN region that preferably is used by the CDN's DNS-based request routing mechanism to direct client requests.
  • the C map 506 is a map that contains a subset of the regions in a more global G map 508 used by the CDN service provider as part of the request routing mechanism. These subset regions are sometimes referred to herein as “parent” regions.
  • FIG. 6 illustrates a flowchart of a preferred operation of the present invention when a given edge server receives a client request for an object.
  • the routine begins at step 602 with the edge server cache management process looking for the object in the content server's cache. If the requested object is in cache and is fresh as indicated by a positive outcome of the test at step 604 , the object is served back to the requesting client at step 606 ; otherwise, the process attempts to validate the object at step 608 . If the object is not in cache or needs to be validated, the edge server makes a request (e.g., via a cache sharing protocol) to other edge servers in the region (each a “peer”) to see if one of them has a fresh copy of the object. This is step 610 .
  • a request e.g., via a cache sharing protocol
  • the edge server continues at step 616 to update its cache and, at step 618 , to return the object to the requesting client. This completes the processing. If, however, the outcome of the test at step 612 indicates that a peer has not returned a hit, i.e., no peer copy of the object is available, the process continues.
  • the edge server queries its associated guide process to identify where to go to get the object.
  • the guide process makes a determination whether the object is a candidate for using the hierarchy. As noted above, preferably this determination is made by having the guide process examine object metadata for a given tag, e.g., “use-hierarchy,” in a data string.
  • An illustrative data string is a resource locator that has been modified to point to the CDN.
  • object metadata e.g., “use-hierarchy” in the CDN resource locator are candidates for using the cache hierarchy; candidates that use features inconsistent with the scheme (see below) preferably are not served through the cache hierarchy.
  • the guide process at step 624 returns a peer list that includes just a given directive (e.g., DIRECT), which causes the server, at step 626 to talk to the origin server to obtain the object as usual.
  • a given directive e.g., DIRECT
  • the guide process examines the “use-hierarchy” metadata information at step 628 and, at step 630 , the process constructs a list of one or more parent region(s) or a dedicated parent region.
  • the server opens a connection (or uses a persistent one) to a parent region on the list and, at step 634 , it sends the request to a server in the parent region.
  • the requesting server preferably adds a request header to the request, which serves to nominate the receiving server (in the parent region) as a hierarchy parent.
  • the edge server generates a DNS query to the CDN request routing mechanism to identify a best core region and best server within that core region per the dual-level DNS scheme described above.
  • the parent serves the request either from its cache if it has it, or by making a request to the origin server.
  • a parent will not make a request to another server in the hierarchy; rather, its guide process by default will return only to the origin server as a valid destination. This completes the process.
  • the edge server includes an application programming interface (API) for the guide process to facilitate location of a parent region (from which the object can be fetched).
  • Data may be feed to the guide API by the content serving process, or from other external sources. This data may include, but is not limited to, information from the request received by the content server, and information from object metadata that applies to the requested object.
  • the guide API preferably includes routines that allow the content server to initialize the guide, to shutdown the guide, and to lookup a list of servers that should be contacted to request an object given the data provided to the guide.
  • Each entry in the list of servers preferably includes a DNS name or IP address for each server, and an indication of whether that server is an origin server or a parent server.
  • a defined, specific subset of objects may be serviced using the hierarchy while other objects are fetched using a default mechanism (which could be thought of as a degenerate hierarchy with one root, namely, the content provider origin server).
  • Use of the hierarchy preferably is determined via a metadata component that overrides an edge server default hierarchy mechanism.
  • this metadata component is controlled by the CDN service provider.
  • this metadata preferably is settable on a per-object basis from the outset, but it may be desirable also to enable all of a customer's files to use a non-default.
  • the edge server When a particular edge server communicates with another server in the hierarchy, the edge server preferably acts as a proxy. This may necessitate some changes to the HTTP headers in the client request (to indicate that the client is an edge server) and in the server response (so that the edge server receives all of the information it needs to correctly serve the object).
  • the parent In creating its response to a child (an edge server requesting the content from another server in the hierarchy), the parent preferably passes along any information so that the child can correctly construct the metadata and current coherence state of the object.
  • the parent should send the headers it received for object unchanged, possibly with a few exceptions, so that the child sees the object the same way that the serving parent saw it.
  • the response should also include an Age header to reflect how long that the object has been in the CDN (replacing the Age header received from an upstream proxy if necessary), and a Date header updated to the current time.
  • given content is associated with the cache hierarchy functionality using metadata.
  • This functionality thus can be applied to specific paths and extensions.
  • the alternate resource locator for the content is unmodified (from what it would be normally in the CDN).
  • edge-of-network content servers running CDN software
  • parent regions get the content (if needed) from the origin server(s).
  • servers in parent regions are not dedicated; rather, they run CDN software and may act as edge servers for some requests.
  • a machine that serves as a parent machine is well-provisioned with good connectivity and a large amount of disk storage.
  • a parent typically sends a child (an edge server running the CDN software) with information about how long (time-to-live or TTL) the content may stay in the child cache and still be deemed fresh.
  • Cache hierarchy uses a hierarchy of servers to distribute content closer to the requesting end users. This functionality is particularly advantageous for flash-popular content or for very large content because it allows the CDN edge servers to go to a selected set of machines for the content (as opposed to the origin server). As a consequence, the origin server will be expected to have to fulfill much fewer requests.
  • Representative content servers running CDN software are Intel Pentium-based computers running a Linux or Linux-variant operating system.
  • One or more of the processes described above are implemented as computer programs, namely, as a set of computer instructions, for performing the functionality described.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Small-Scale Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A tiered distribution service is provided in a content delivery network (CDN) having a set of surrogate origin (namely, “edge”) servers organized into regions and that provide content delivery on behalf of participating content providers, wherein a given content provider operates an origin server. According to the invention, a cache hierarchy is established in the CDN comprising a given edge server region and either (a) a single parent region, or (b) a subset of the edge server regions. In response to a determination that a given object request cannot be serviced in the given edge region, instead of contacting the origin server, the request is provided to either the single parent region or to a given one of the subset of edge server regions for handling, preferably as a function of metadata associated with the given object request. The given object request is then serviced, if possible, by a given CDN server in either the single parent region or the given subset region. The original request is only forwarded on to the origin server if the request cannot be serviced by an intermediate node.

Description

  • This application is a continuation of Ser. No. 12/122,776, filed May 19, 2008, now U.S. Pat. No. 7,603,439, which application was a continuation of Ser. No. 11/593,287, filed Nov. 6, 2006, now U.S. Pat. No. 7,376,716, which application was a continuation of Ser. No. 10/118,989, filed Apr. 9, 2002, now U.S. Pat. No. 7,133,905.
  • BACKGROUND OF THE INVENTION
  • 1. Technical Field
  • The present invention relates generally to techniques for reducing traffic to origin servers for very popular and large, potentially flash-popular objects.
  • 2. Description of the Related Art
  • It is well-known to deliver digital content (e.g., HTTP content, streaming media and applications) using an Internet content delivery network (CDN). A CDN is a network of geographically-distributed content delivery nodes that are arranged for efficient delivery of content on behalf of third party content providers. Typically, a CDN is implemented as a combination of a content delivery infrastructure, a request-routing mechanism, and a distribution infrastructure. The content delivery infrastructure usually comprises a set of “surrogate” origin servers that are located at strategic locations (e.g., Internet network access points, Internet Points of Presence, and the like) for delivering content to requesting end users. The request-routing mechanism allocates servers in the content delivery infrastructure to requesting clients in a way that, for web content delivery, minimizes a given client's response time and, for streaming media delivery, provides for the highest quality. The distribution infrastructure consists of on-demand or push-based mechanisms that move content from the origin server to the surrogates. An effective CDN serves frequently-accessed content from a surrogate that is optimal for a given requesting client. In a typical CDN, a single service provider operates the request-routers, the surrogates, and the content distributors. In addition, that service provider establishes business relationships with content publishers and acts on behalf of their origin server sites to provide a distributed delivery system. A well-known commercial CDN service that provides web content and media streaming is provided by Akamai Technologies, Inc. of Cambridge, Mass.
  • It is desirable to reduce wide-area network bandwidth and the load on a content provider's origin server as much as possible. To this end, the prior art has proposed a hierarchical proxy cache architecture wherein caches resolve misses through other caches higher in a hierarchy. This architecture is described, for example, in a paper titled “A Hierarchical Internet Object Cache,” to Danzig et al., 1996 USENIX Technical Conference, Jan. 22-26, 1996, San Diego, Calif. In this approach, each cache in the hierarchy independently decides whether to fetch a requested reference from the object's home site or from its parent or sibling caches using a resolution protocol. According to the protocol, if the URL identifying the reference contains any of a configurable list of substrings, then the object is fetched directly from the object's home, rather than through the cache hierarchy. This feature is used to force the cache to resolve non-cacheable URLs and local URLs directly from the object's home. If the URL's domain name matches a configurable list of substrings, then the object is resolved through the particular parent bound to that domain. Otherwise, when a cache receives a request for a URL that misses, the cache performs a remote call to all of its siblings and parents, checking if the URL hits any sibling or parent. The cache then retrieves the object from the site with the lowest measured latency.
  • While the cache hierarchy described in the above-identified publication provides benefits in the form of reduced access latency to the home site, the scheme is overly complex and costly (in terms of network bandwidth) due to the requirement of measuring latency between the cache and all of its siblings and parents upon a cache miss.
  • BRIEF SUMMARY OF THE INVENTION
  • It is a primary object of the present invention to provide a technique for delivering Internet traffic using tiered distribution, namely, a cache hierarchy, in which requests for content that cannot be serviced in edge servers are funneled through intermediate nodes.
  • It is another primary object of the present invention to provide a content delivery method and system that insulates a content provider origin server from excessive traffic when requesting end users are unable to be served from edge servers, e.g., because the requested content is unavailable, is available but stale, or un-cacheable.
  • It is still another more general object of the invention to enable CDN edge servers operating within a given CDN region to obtain content from one or more intermediate distribution hubs instead of traversing long haul links to fetch such content from content provider origin servers.
  • Yet another object of the invention is to facilitate control over a tiered distribution of content in a CDN using object-specific metadata.
  • A still further object of the invention is to provide for a tiered distribution method and system in a content delivery network to ensure that end users can obtain desired content quickly and reliably, while effectively buffering web site infrastructure, thereby ensuring that an origin site is not overwhelmed with requests for popular content or large files.
  • Another more specific object of the present invention is to enable a cache hierarchy in a content delivery network wherein a given edge server region is associated with either a single parent region or a subset of intermediate regions to buffer the content provider origin server from flash crowds.
  • These and other objects and technical advantages are provided in a content delivery network (CDN) having a set of surrogate origin (namely, “edge”) servers organized into regions and that provide content delivery on behalf of participating content providers, wherein a given content provider operates an origin server. According to the invention, a cache hierarchy is established in the CDN comprising a given edge server region and either (a) a single parent region, or (b) a subset of well-connected “core” parent server regions. In response to a determination that a given object request cannot be serviced in the given edge region, instead of contacting the origin server, the request is provided to either the single parent region or to a given one of the subset of server regions for handling, preferably as a function of metadata associated with the given object request. The given object request is then serviced, if possible, by a given CDN server in either the single parent region or the given parent region. Preferably, the original request is only forwarded on to the origin server if it cannot be serviced by the intermediate node in the hierarchy.
  • Preferably, the single parent region is located at, adjacent, or near a data center at which the content provider origin server is located. In addition, a given single parent region may be dedicated to a particular CDN content provider. The edge server regions typically are co-located in large hosting data centers in the well-connected “core” of the Internet web hosting infrastructure. By funneling (i.e., forwarding) edge requests through this smaller subset of regions (or to the single parent region), the CDNSP can significantly reduce the amount of traffic on origin servers and exploit server-to-server optimizations. The tiered distribution service is intended to reduce traffic to origin servers for very popular content and large, potentially flash-popular objects.
  • As used herein, metadata is information about the content provider's (CP's) content served by the CDN. Typically, metadata is a set of control options and parameters that determine how an edge server handles a request for an object. Preferably, a given metadata tag is used enable the tiered distribution service or feature and to specify a policy or type of hierarchy parent to be used.
  • The foregoing has outlined some of the more pertinent features of the present invention. These features should be construed to be merely illustrative. Many other beneficial results can be attained by applying the disclosed invention in a different manner or by modifying the invention as will be described.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of a known content delivery network in which the present invention may be implemented;
  • FIG. 2 illustrates a typical machine configuration for a CDN content edge server;
  • FIG. 3 is a simplified diagram illustrating a tiered distribution scheme according to the present invention;
  • FIG. 4 is a more detailed representation of the tiered distribution scheme wherein a given edge server may communicate with an intermediate core region or a dedicated parent region; and
  • FIG. 5 is a block diagram of software components that provide the cache hierarchy functionality according to an embodiment of the present invention; and
  • FIG. 6 is a flowchart illustrating how a content server implements the cache hierarchy functionality according to the present invention.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • As seen in FIG. 1, an Internet content delivery infrastructure usually comprises a set of “surrogate” origin servers 102 that are located at strategic locations (e.g., Internet network access points, and the like) for delivering copies of content to requesting end users 119. A surrogate origin server is defined, for example, in IETF Internet Draft titled “Requirements for Surrogates in the HTTP” dated Aug. 9, 2000, which is incorporated herein by reference. The request-routing mechanism 104 allocates servers 102 in the content delivery infrastructure to requesting clients in a way that, for web content delivery, minimizes a given client's response time and, for streaming media delivery, provides for the highest quality. The distribution infrastructure consists of on-demand or push-based mechanisms that move content from the origin server to the surrogates. A CDN service provider (CDNSP) may organize sets of surrogate origin servers as a “region.” In this type of arrangement, a CDN region 106 typically comprises a set of one or more content servers that share a common backend, e.g., a LAN, and that are located at or near an Internet access point. Thus, for example, a typical CDN region may be co-located within an Internet Service Provider (ISP) Point of Presence (PoP) 108. A representative CDN content server is a Pentium-based caching appliance running an operating system (e.g., Linux, Windows NT, Windows 2000) and having suitable RAM and disk storage for CDN applications and content delivery network content (e.g., HTTP content, streaming media and applications). Such content servers are sometimes referred to as “edge” servers as they are located at or near the so-called outer reach or “edge” of the Internet. The CDN typically also includes network agents 109 that monitor the network as well as the server loads. These network agents are typically co-located at third party data centers or other locations. Map maker software 107 receives data generated from the network agents and periodically creates maps that dynamically associate IP addresses (e.g., the IP addresses of client-side local name servers) with the CDN regions.
  • In one type of service offering, known as Akamai FreeFlow, from Akamai Technologies, Inc. of Cambridge, Mass., content is tagged for delivery from the CDN using a content migrator or rewrite tool 106 operated, for example, at a participating content provider server. Tool 106 rewrites embedded object URLs to point to the CDNSP domain. A request for tagged content is resolved through a CDNSP-managed DNS to identify a “best” region, and then to identify an edge server within the region that is not overloaded and that is likely to host the requested content. Instead of using content provider-side migration (e.g., using the tool 106), a participating content provider may simply direct the CDNSP to serve an entire domain (or subdomain) by a DNS directive (e.g., a CNAME). In either case, the CDNSP may provide object-specific metadata to the CDN content servers to determine how the CDN content servers will handle a request for an object being served by the CDN. Metadata, as used herein, thus refers to the set of all control options and parameters for the object (e.g., coherence information, origin server identity information, load balancing information, customer code, other control codes, etc.), and such information may be provided to the CDN content servers via a configuration file, in HTTP headers, or in other ways. A configuration file is advantageous as it enables a change in the metadata to apply to an entire domain, to any set of directories, or to any set of file extensions. In one approach, the CDNSP operates a metadata transmission system 116 comprising a set of one or more servers to enable metadata to be provided to the CDNSP content servers. The system 116 may comprise at least one control server 118, and one or more staging servers 120 a-n, each of which is typically an HTTP server (e.g., Apache). Metadata is provided to the control server 118 by the CDNSP or the content provider (e.g., using a secure extranet application) and periodically delivered to the staging servers 120 a-n. The staging servers deliver the metadata to the CDN content servers as necessary.
  • FIG. 2 illustrates a typical machine configuration for a CDN content edge server. Typically, the content server 200 is a caching appliance running an operating system kernel 202, a file system cache 204, CDN software 206, TCP connection manager 208, and disk storage 210. CDN software 206 creates and manages a “hot” object cache 212 for popular objects being served by the CDN. It may also provide other CDN-related functions, such as request routing, in-region load balancing, and the like. In operation as an HTTP cache for example, the content server 200 receives end user requests for content, determines whether the requested object is present in the hot object cache or the disk storage, serves the requested object via HTTP (if it is present) or establishes a connection to another content server or an origin server to attempt to retrieve the requested object upon a cache miss.
  • FIG. 3 illustrates the basic technique for tiered distribution according to the present invention. As the name implies, preferably the CDN (or other distributed delivery system, as the case may be) employs a tiered infrastructure using two or more tiers: a set of edge servers and a hierarchical set of “parent” or hub regions that service the edge servers. In this example, the CDN service provider operates a plurality of CDN edge servers 302 a-n and a set of tiered distribution hubs 304 a-n. The tiered distribution hubs accelerate content delivery to end users 306 a-n and buffer the origin server 308. The tiered distribution hubs ensure that the edge servers have the information requested by the end users. If the edge servers do not have the appropriate file when it is requested, the servers in the tiered distribution hubs will provide the edge servers with the requested content. Preferably, a tiered distribution hub 304 maintains a persistent connection to the origin server 308, although this is not a requirement. The distribution hubs ensure that end users 306 do not flood the origin site with requests if the site is experiencing high traffic load or if the content is stale, large, or infrequently accessed. In effect, the tiered distribution hubs act as accelerators for the end users, ensuring that the users obtain their desired content quickly and reliably, and the hubs acts as buffers for the origin site's internal infrastructure, guaranteeing that the site is not overwhelmed with requests for popular content or large files.
  • As illustrated in FIG. 4, a given content delivery network 400 may comprise a set of regions 402 a-n, each of which comprises a set of content (or “edge”) servers 404 a-n. CDN customers include a set of content providers (CPs), each of which typically operates a set of one or more origin servers 406. Typically, when a given requested object is not available from a given content server 404, the object may be retrieved from another edge server in the region or, failing that, from the origin server. This known operation is modified according to the present invention. In particular, given content may be marked for distribution from a so-called cache hierarchy that includes a given edge region 402 and either (a) a given subset of the origin server regions (a “multi-region” cache hierarchy) or (b) a dedicated single parent region (a “single-region” cache hierarchy). In the illustrated example, the given subset of parent regions includes regions 408 a-n. A given region 408 includes a cluster of “parent” servers, for example, servers 410 a-n that, for illustrative purposes only, may be co-located in large hosting data centers in well-connected “core” portions of the Internet web hosting infrastructure. Representative “core” locations include, without limitation, well-connected data centers in the Internet that have high-speed backbones (today these are optical networks running at multiple gigabits per second) and are connected to at least several (e.g., three (3)) other high-speed optical backbone networks. Connection to multiple backbone networks is very desirable to ensure requests can be routed quickly and reliably within the Internet. The number of parent regions in the given subset is variable and their particular location and configuration (e.g., number of servers, connectivity, etc.) is selectable, however, these machines should be relatively powerful and well-connected. An alternative to the multi-region cache hierarchy is a “single region” hierarchy that includes a given edge server region 402 and the single parent region 412 having a cluster of servers 414 a-n. Again, the location of the parent region and the number of servers within that region and their connectivity are variable. Typically, however, the single parent region 412 is associated with a particular content provider and, as a preference, it would be located nearby the content provider's origin server or server farm. The single parent region may also be located on the same provider network and geographically close.
  • By funneling requests that cannot be serviced in edge regions (because the object is not in cache or is in cache but needs to be validated) through either the multi-region or single-region parent clusters, the CDNSP significantly reduces the amount of traffic on content provider origin servers for very popular content and large, potentially flash-sensitive objects. As a result, the cache hierarchy protects the content providers from requests for large, popular objects causing the CDN to make more requests than the content provider can handle. In addition, the cache hierarchy reduces average latency and improves connectivity and content access in what might otherwise be poorly-connected edge regions. Preferably, only a relatively small, specific subset of objects are serviced using the hierarchy, while most objects are fetched using a default mechanism where the edge server contacts the origin server to handle a request that cannot be serviced in the edge region. This selectivity is accomplished preferably using object “metadata.”
  • The following is a representative description of CDN metadata that may be used to create the multiple region or single region parent according to an embodiment of the present invention. Metadata is delivered to the CDN edge servers using a convenient transport mechanism such as illustrated in FIG. 1. Object metadata may be specified by customer, by directory, by object type, or in any other convenient manner. The syntax described is merely representative.
      • The metadata tag “use-hierarchy” turns on the cache hierarchy feature, specifies the policy or type of hierarchy parent, and lists the base domain to be used.
      • The default setting for cache hierarchy is OA:
      • <md name=“use-hierarchy”>OA</md>
      • OA indicates that the edge server is to go direct to the (O)rigin-server specified in the (A)RL), where the ARL is a modified URL (or portion thereof) that points an end user browser to attempt to retrieve the object from the CDN. This setting is essentially the equivalent of turning the cache hierarchy off.
      • To turn on cache hierarchy for a typical CDN customer, the metadata tag may be of the following format:
      • <md name=“use-hierarchy”>coremap</md>
      • Other possible policy settings include, for example, PS or PD followed by an appropriate domain or IP address.
      • PS (serial) indicates a parent cache with an object's serial number (“a###.”) prepended to a specified domain name. The following is a typical setting, for which “coremap” is established as an alias. For example:
      • <md name=“use-hierarchy”>PSch.cdnsp.net</md>
      • This results in the edge server doing a DNS lookup for aX.ch.cdnsp.net, where X is a serial number. The sub-domain listed may change depending on the customer.
      • PD (domain) indicates a parent cache with a specified hostname or IP address. For example:
      • <md name=“use-hierarchy”>PDmyparent.cdnsp.com</md>
      • This results in the edge server doing a DNS lookup for myparent.cdnsp.com as a hierarchy parent.
      • <md name=“use-hierarchy”>PD204.178.107.233</md>
      • This results in the edge server using the listed IP as a hierarchy parent.
  • To provide a concrete example, assume that a content provider object has been tagged for delivery by the CDN (either explicitly or implicitly) using the tag a9.g.aka.net, where a9 is a serial number useful for load balancing purposes. One such technique is described in U.S. Pat. No. 6,108,703, which is incorporated herein by reference. An end user browser looking for that object is directed to an optimal CDN edge server in a given region using a dynamic DNS request routing mechanism, again as described in the above-identified patent. Now, assume that the CDN edge server either does not have the object in cache or that the object in cache is stale. If the CDN edge server has received object metadata, software executing in the edge server changes a9.g.aka.net (the original tag) to a9.c.aka.net for the multi-region approach (for resolution against a core map) or, alternatively, to something like a9.48.aka.net for the single region approach (with “r48” being region 48, presumably somewhere near the origin server). Thus, application of metadata determines the name of the server region through which the request is funneled to fetch or validate the object being requested. This is the origin server by default, but it can also be a cache hierarchy parent, as described above. In the example, a9.c.aka.net then gets resolved, e.g., through a first DNS level in the request routing mechanism (such as described in the '703 patent) to identify a best core region (e.g., a core region closest to the edge region) and then perhaps through a second DNS level to identify the best edge server in that region. If the metadata implements the single region parent, the first level returns second level servers specific to region 48. Of course, the use of multi-level DNS is merely illustrative. Generalizing, while the actual format of the edge server request to its parent varies, it may of the form aSerial.rRegion.cdnsp.net.
  • Thus, in accordance with an embodiment of the tiered distribution scheme, as edge server region contacts either a core region or a dedicated parent region (edge server→region core region or single backing region) as a function of given object service metadata. With respect to objects that have been identified to be distributed via the cache hierarchy, the origin server preferably is only contacted when a server in a parent region needs to fetch content, or when the server in the parent region needs to revalidate existing content. While the above description shows an edge server contacting an intermediate core region or a parent region, it should also be appreciated that the core region may be backed up by a single region so that the hierarchy is as follows: edge server region→core region→single backing region→origin server.
  • FIG. 5 illustrates the basic software and data components useful in the cache hierarchy. This software may be implemented as part of the CDN software running in each edge server as illustrated in FIG. 2. The functionality may be implemented on a standalone basis. As noted above, an edge server includes a cache for storing content provider content. The server receives end-user requests for origin server content and serves this content authoritatively if it can do so. A monitor 502 is a software process that monitors and reports edge server performance for load balancing and customer analysis. A guide process 504 preferably is a component of the CDN edge server software (although it may be a standalone process) that directs the edge server to use another CDN server (i.e., an intermediate) instead of the customer's origin server for given content requests that are being managed by the cache hierarchy. A C map 506 is a mapping from a client network address to a nearest CDN region that preferably is used by the CDN's DNS-based request routing mechanism to direct client requests. In an illustrative embodiment, the C map 506 is a map that contains a subset of the regions in a more global G map 508 used by the CDN service provider as part of the request routing mechanism. These subset regions are sometimes referred to herein as “parent” regions.
  • FIG. 6 illustrates a flowchart of a preferred operation of the present invention when a given edge server receives a client request for an object. The routine begins at step 602 with the edge server cache management process looking for the object in the content server's cache. If the requested object is in cache and is fresh as indicated by a positive outcome of the test at step 604, the object is served back to the requesting client at step 606; otherwise, the process attempts to validate the object at step 608. If the object is not in cache or needs to be validated, the edge server makes a request (e.g., via a cache sharing protocol) to other edge servers in the region (each a “peer”) to see if one of them has a fresh copy of the object. This is step 610. If the peer then returns a valid object, the edge server continues at step 616 to update its cache and, at step 618, to return the object to the requesting client. This completes the processing. If, however, the outcome of the test at step 612 indicates that a peer has not returned a hit, i.e., no peer copy of the object is available, the process continues.
  • At step 620, the edge server queries its associated guide process to identify where to go to get the object. At step 622, the guide process makes a determination whether the object is a candidate for using the hierarchy. As noted above, preferably this determination is made by having the guide process examine object metadata for a given tag, e.g., “use-hierarchy,” in a data string. An illustrative data string is a resource locator that has been modified to point to the CDN. Preferably, only objects with a “use-hierarchy” tag in the CDN resource locator are candidates for using the cache hierarchy; candidates that use features inconsistent with the scheme (see below) preferably are not served through the cache hierarchy. If the object is not a candidate for distribution through the hierarchy, the guide process at step 624 returns a peer list that includes just a given directive (e.g., DIRECT), which causes the server, at step 626 to talk to the origin server to obtain the object as usual. If, however, the object is a candidate for tiered distribution, the guide process examines the “use-hierarchy” metadata information at step 628 and, at step 630, the process constructs a list of one or more parent region(s) or a dedicated parent region. At step 632, the server opens a connection (or uses a persistent one) to a parent region on the list and, at step 634, it sends the request to a server in the parent region. The requesting server preferably adds a request header to the request, which serves to nominate the receiving server (in the parent region) as a hierarchy parent.
  • In the alternative, the edge server generates a DNS query to the CDN request routing mechanism to identify a best core region and best server within that core region per the dual-level DNS scheme described above.
  • At step 636, the parent serves the request either from its cache if it has it, or by making a request to the origin server. Preferably, a parent will not make a request to another server in the hierarchy; rather, its guide process by default will return only to the origin server as a valid destination. This completes the process.
  • Preferably, the edge server includes an application programming interface (API) for the guide process to facilitate location of a parent region (from which the object can be fetched). Data may be feed to the guide API by the content serving process, or from other external sources. This data may include, but is not limited to, information from the request received by the content server, and information from object metadata that applies to the requested object. The guide API preferably includes routines that allow the content server to initialize the guide, to shutdown the guide, and to lookup a list of servers that should be contacted to request an object given the data provided to the guide. Each entry in the list of servers preferably includes a DNS name or IP address for each server, and an indication of whether that server is an origin server or a parent server.
  • As noted above, a defined, specific subset of objects may be serviced using the hierarchy while other objects are fetched using a default mechanism (which could be thought of as a degenerate hierarchy with one root, namely, the content provider origin server). Use of the hierarchy preferably is determined via a metadata component that overrides an edge server default hierarchy mechanism. Preferably, this metadata component is controlled by the CDN service provider. To service the needs of multiple content providers, this metadata preferably is settable on a per-object basis from the outset, but it may be desirable also to enable all of a customer's files to use a non-default.
  • When a particular edge server communicates with another server in the hierarchy, the edge server preferably acts as a proxy. This may necessitate some changes to the HTTP headers in the client request (to indicate that the client is an edge server) and in the server response (so that the edge server receives all of the information it needs to correctly serve the object). In creating its response to a child (an edge server requesting the content from another server in the hierarchy), the parent preferably passes along any information so that the child can correctly construct the metadata and current coherence state of the object. In an illustrative embodiment, the parent should send the headers it received for object unchanged, possibly with a few exceptions, so that the child sees the object the same way that the serving parent saw it. Some exceptions are that the response should also include an Age header to reflect how long that the object has been in the CDN (replacing the Age header received from an upstream proxy if necessary), and a Date header updated to the current time.
  • Thus, according to a preferred embodiment, given content is associated with the cache hierarchy functionality using metadata. This functionality thus can be applied to specific paths and extensions. Preferably, the alternate resource locator for the content is unmodified (from what it would be normally in the CDN). Moreover, preferably only edge-of-network content servers (running CDN software) get such content from the parent regions (if they do not already have it), and parent regions get the content (if needed) from the origin server(s). Preferably, servers in parent regions are not dedicated; rather, they run CDN software and may act as edge servers for some requests. Typically, a machine that serves as a parent machine is well-provisioned with good connectivity and a large amount of disk storage. A parent typically sends a child (an edge server running the CDN software) with information about how long (time-to-live or TTL) the content may stay in the child cache and still be deemed fresh.
  • The present invention provides numerous advantages. Cache hierarchy uses a hierarchy of servers to distribute content closer to the requesting end users. This functionality is particularly advantageous for flash-popular content or for very large content because it allows the CDN edge servers to go to a selected set of machines for the content (as opposed to the origin server). As a consequence, the origin server will be expected to have to fulfill much fewer requests.
  • Representative content servers running CDN software according to the present invention are Intel Pentium-based computers running a Linux or Linux-variant operating system. One or more of the processes described above are implemented as computer programs, namely, as a set of computer instructions, for performing the functionality described.

Claims (6)

1. A method operative in a content delivery network (CDN) having a set of servers organized into regions and that provide content delivery on behalf of participating content providers, comprising:
establishing a cache hierarchy in the CDN for each of first and second content providers that are distinct from one another and distinct from a service provider that operates the content delivery network, each cache hierarchy comprising a CDN content server and one of: (a) a single parent region located in a selected location, and (b) a subset of parent regions located in a set of selected locations, wherein the selected locations are variable such that a cache hierarchy in the CDN for the first content provider differs from a cache hierarchy in the CDN for the second content provider;
in response to a first determination that a first object request cannot be serviced in a CDN content server, directing a first new request to the cache hierarchy associated with the first content provider instead of an origin server associated with the first content provider; and
in response to a second determination that a second object request cannot be serviced in a CDN content server, directing a second new request to the cache hierarchy associated with the second content provider instead of an origin server associated with the second content provider.
2. The method as described in claim 1 wherein the respective first new request or the second new request is directed based on content provider-specific metadata associated with the object request.
3. The method as described in claim 1 further including, in response to the first new request, receiving a response from the cache hierarchy in the CDN for the first content provider, where the response includes the content object associated with the first object request and time-to-live (TTL) information for the content object.
4. The method as described in claim 1 further including, in response to the second new request, receiving a response from the cache hierarchy in the CDN for the second content provider, where the response includes a content object associated with the second object request and time-to-live (TTL) information for the content object.
5. The method as described in claim 4 wherein the single parent region is associated with only the first content provider and the selected location is nearby the origin server associated with the first content provider.
6. The method as described in claim 4 wherein the single parent region is associated with only the first content provider and the selected location is co-located with the origin server associated with the first content provider.
US12/577,232 2002-04-09 2009-10-12 Method and system for tiered distribution in a content delivery network Abandoned US20100023693A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/577,232 US20100023693A1 (en) 2002-04-09 2009-10-12 Method and system for tiered distribution in a content delivery network

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US10/118,989 US7133905B2 (en) 2002-04-09 2002-04-09 Method and system for tiered distribution in a content delivery network
US11/593,287 US7376716B2 (en) 2002-04-09 2006-11-06 Method and system for tiered distribution in a content delivery network
US12/122,776 US7603439B2 (en) 2002-04-09 2008-05-19 System for tiered distribution in a content delivery network
US12/577,232 US20100023693A1 (en) 2002-04-09 2009-10-12 Method and system for tiered distribution in a content delivery network

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/122,776 Continuation US7603439B2 (en) 2002-04-09 2008-05-19 System for tiered distribution in a content delivery network

Publications (1)

Publication Number Publication Date
US20100023693A1 true US20100023693A1 (en) 2010-01-28

Family

ID=29248235

Family Applications (4)

Application Number Title Priority Date Filing Date
US10/118,989 Expired - Lifetime US7133905B2 (en) 2002-04-09 2002-04-09 Method and system for tiered distribution in a content delivery network
US11/593,287 Expired - Lifetime US7376716B2 (en) 2002-04-09 2006-11-06 Method and system for tiered distribution in a content delivery network
US12/122,776 Expired - Lifetime US7603439B2 (en) 2002-04-09 2008-05-19 System for tiered distribution in a content delivery network
US12/577,232 Abandoned US20100023693A1 (en) 2002-04-09 2009-10-12 Method and system for tiered distribution in a content delivery network

Family Applications Before (3)

Application Number Title Priority Date Filing Date
US10/118,989 Expired - Lifetime US7133905B2 (en) 2002-04-09 2002-04-09 Method and system for tiered distribution in a content delivery network
US11/593,287 Expired - Lifetime US7376716B2 (en) 2002-04-09 2006-11-06 Method and system for tiered distribution in a content delivery network
US12/122,776 Expired - Lifetime US7603439B2 (en) 2002-04-09 2008-05-19 System for tiered distribution in a content delivery network

Country Status (5)

Country Link
US (4) US7133905B2 (en)
EP (1) EP1493094B1 (en)
AT (1) ATE516554T1 (en)
AU (1) AU2003228479A1 (en)
WO (1) WO2003088065A1 (en)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110225206A1 (en) * 2010-03-15 2011-09-15 Salesforce.Com, Inc. System, method and computer program product for creating a plurality of cnames for a website
US20120066360A1 (en) * 2010-09-14 2012-03-15 Cdnetworks Co., Ltd. Cname-based round-trip time measurement in a content delivery network
US20120198071A1 (en) * 2011-02-01 2012-08-02 Limelight Networks, Inc. Distributed Landing Pad and Brick Topology for Content Storage in Content Delivery Networks
US20130041972A1 (en) * 2011-08-09 2013-02-14 Comcast Cable Communications, Llc Content Delivery Network Routing Using Border Gateway Protocol
US8396970B2 (en) 2011-02-01 2013-03-12 Limelight Networks, Inc. Content processing between locations workflow in content delivery networks
US20130103786A1 (en) * 2011-10-20 2013-04-25 Allen Miglore System and method for transporting files between networked or connected systems and devices
US8458290B2 (en) 2011-02-01 2013-06-04 Limelight Networks, Inc. Multicast mapped look-up on content delivery networks
US8478858B2 (en) 2011-02-01 2013-07-02 Limelight Networks, Inc. Policy management for content storage in content delivery networks
US20130173716A1 (en) * 2012-01-01 2013-07-04 Sean S. ROGERS Data delivery optimization
US20130191499A1 (en) * 2011-11-02 2013-07-25 Akamai Technologies, Inc. Multi-domain configuration handling in an edge network server
US8521813B2 (en) 2011-02-01 2013-08-27 Limelight Networks, Inc. Content replication workflow in content delivery networks
US20130268616A1 (en) * 2010-11-16 2013-10-10 Edgecast Networks, Inc. Discrete Mapping for Targeted Caching
US8615577B2 (en) 2011-02-01 2013-12-24 Limelight Networks, Inc. Policy based processing of content objects in a content delivery network using mutators
US20140365613A1 (en) * 2013-06-06 2014-12-11 Ericsson Television Inc. Defragmentation of adaptive streaming segment files in a content delivery network
US9325805B2 (en) 2004-08-02 2016-04-26 Steve J Shattil Content delivery in wireless wide area networks
EP3005176A4 (en) * 2013-06-06 2017-01-25 Ericsson Television Inc. Defragmentation of adaptive streaming segment files in a content delivery network
US10255305B2 (en) * 2016-09-09 2019-04-09 Intel Corporation Technologies for object-based data consistency in distributed architectures
US10419533B2 (en) 2010-03-01 2019-09-17 Genghiscomm Holdings, LLC Edge server selection for device-specific network topologies
US11330046B2 (en) 2010-03-01 2022-05-10 Tybalt, Llc Content delivery in wireless wide area networks

Families Citing this family (380)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225002B2 (en) 1999-01-22 2012-07-17 Network Disk, Inc. Data storage and data sharing in a network of heterogeneous computers
US6248081B1 (en) * 1999-09-28 2001-06-19 Scimed Life Systems, Inc. Endoscopic submucosal core biopsy device
US6405252B1 (en) 1999-11-22 2002-06-11 Speedera Networks, Inc. Integrated point of presence server network
US6694358B1 (en) * 1999-11-22 2004-02-17 Speedera Networks, Inc. Performance computer network method
EP1388073B1 (en) * 2001-03-01 2018-01-10 Akamai Technologies, Inc. Optimal route selection in a content delivery network
US7149797B1 (en) * 2001-04-02 2006-12-12 Akamai Technologies, Inc. Content delivery network service provider (CDNSP)-managed content delivery network (CDN) for network service provider (NSP)
WO2002079905A2 (en) * 2001-04-02 2002-10-10 Akamai Technologies, Inc. Scalable, high performance and highly available distributed storage system for internet content
US7774492B2 (en) 2001-07-26 2010-08-10 Citrix Systems, Inc. System, method and computer program product to maximize server throughput while avoiding server overload by controlling the rate of establishing server-side net work connections
US6892224B2 (en) * 2001-08-31 2005-05-10 Intel Corporation Network interface device capable of independent provision of web content
US7860964B2 (en) * 2001-09-28 2010-12-28 Level 3 Communications, Llc Policy-based content delivery network selection
US7822871B2 (en) 2001-09-28 2010-10-26 Level 3 Communications, Llc Configurable adaptive global traffic control and management
US9167036B2 (en) 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
US7133905B2 (en) * 2002-04-09 2006-11-07 Akamai Technologies, Inc. Method and system for tiered distribution in a content delivery network
AU2003240964A1 (en) * 2002-05-31 2003-12-19 Context Media, Inc. Cataloging and managing the distribution of distributed digital assets
US7260639B2 (en) * 2002-07-09 2007-08-21 Akamai Technologies, Inc. Method and system for protecting web sites from public internet threats
US7395355B2 (en) * 2002-07-11 2008-07-01 Akamai Technologies, Inc. Method for caching and delivery of compressed content in a content delivery network
US7284030B2 (en) * 2002-09-16 2007-10-16 Network Appliance, Inc. Apparatus and method for processing data in a network
US7171469B2 (en) 2002-09-16 2007-01-30 Network Appliance, Inc. Apparatus and method for storing data in a proxy cache in a network
US7552223B1 (en) 2002-09-16 2009-06-23 Netapp, Inc. Apparatus and method for data consistency in a proxy cache
JP4007594B2 (en) * 2002-09-26 2007-11-14 株式会社東芝 Moving picture coding apparatus and method, moving picture coding system conversion apparatus and method
JP4214271B2 (en) * 2002-10-15 2009-01-28 アークレイ株式会社 Test piece for measuring creatinine
US7136922B2 (en) * 2002-10-15 2006-11-14 Akamai Technologies, Inc. Method and system for providing on-demand content delivery for an origin server
US7715363B1 (en) * 2003-03-10 2010-05-11 Sprint Communications Company L.P. Wide area network with a large number of endpoints and a high bandwidth optical backbone
US20040205162A1 (en) * 2003-04-11 2004-10-14 Parikh Jay G. Method of executing an edge-enabled application in a content delivery network (CDN)
US7373416B2 (en) * 2003-04-24 2008-05-13 Akamai Technologies, Inc. Method and system for constraining server usage in a distributed network
US8423662B1 (en) 2003-04-28 2013-04-16 Akamai Technologies, Inc. Forward request queuing in a distributed edge processing environment
US7143170B2 (en) * 2003-04-30 2006-11-28 Akamai Technologies, Inc. Automatic migration of data via a distributed computer network
US20040249965A1 (en) * 2003-05-05 2004-12-09 Huggins Guy Dwayne Node caching system for streaming media applications
US8473635B1 (en) 2003-05-19 2013-06-25 Akamai Technologies, Inc. Provisioning tool for a distributed computer network
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
US7631081B2 (en) * 2004-02-27 2009-12-08 International Business Machines Corporation Method and apparatus for hierarchical selective personalization
EP1730918B1 (en) * 2004-03-31 2018-05-09 Telecom Italia S.p.A. Method and system for controlling content distribution, related network and computer program product therefor
EP1747658B1 (en) * 2004-05-18 2008-03-19 BRITISH TELECOMMUNICATIONS public limited company Peer-to-peer networks
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
US8739274B2 (en) 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
US7975018B2 (en) * 2004-07-07 2011-07-05 Emc Corporation Systems and methods for providing distributed cache coherence
US7603131B2 (en) 2005-08-12 2009-10-13 Sellerbid, Inc. System and method for providing locally applicable internet content with secure action requests and item condition alerts
EP2267951B1 (en) 2004-07-23 2016-12-28 Citrix Systems, Inc. Method for routing packets from an endpoint to a gateway
EP1771998B1 (en) 2004-07-23 2015-04-15 Citrix Systems, Inc. Systems and methods for optimizing communications between network nodes
US8986780B2 (en) 2004-11-19 2015-03-24 Massachusetts Institute Of Technology Method and apparatus for depositing LED organic film
US7966310B2 (en) * 2004-11-24 2011-06-21 At&T Intellectual Property I, L.P. Method, system, and software for correcting uniform resource locators
US7810089B2 (en) * 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8549149B2 (en) 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US8700695B2 (en) 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
US20060259690A1 (en) * 2005-05-10 2006-11-16 Cisco Technology, Inc. Methods and system for prepositioning frequently accessed web content
CN1941736A (en) * 2005-09-30 2007-04-04 西门子通信技术(北京)有限公司 Content distributing system and method for re-directing user request
US8306918B2 (en) 2005-10-11 2012-11-06 Apple Inc. Use of media storage structure with multiple pieces of content in a content-distribution system
US8291117B1 (en) * 2012-02-15 2012-10-16 Limelight Networks, Inc. Scaled domain name service
US7707314B2 (en) 2005-11-21 2010-04-27 Limelight Networks, Inc. Domain name resolution resource allocation
US7921184B2 (en) 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US8447837B2 (en) * 2005-12-30 2013-05-21 Akamai Technologies, Inc. Site acceleration with content prefetching enabled through customer-specific configurations
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
US7765275B2 (en) 2006-01-27 2010-07-27 International Business Machines Corporation Caching of private data for a configurable time period
WO2007096979A1 (en) * 2006-02-24 2007-08-30 Fujitsu Limited Information processor and data transfer method
US8151323B2 (en) * 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance
US8224751B2 (en) 2006-05-03 2012-07-17 Apple Inc. Device-independent management of cryptographic information
US8230098B2 (en) * 2006-05-10 2012-07-24 At&T Intellectual Property Ii, L.P. System and method for streaming media objects
US20070266120A1 (en) * 2006-05-10 2007-11-15 Dell Products L.P. System and method for handling instructions in a pre-boot execution environment
ATE459045T1 (en) * 2006-06-13 2010-03-15 British Telecomm PEER-TO-PEER QUALITY OF SERVICE REPUTATION REPORTING SYSTEM
US8244857B2 (en) 2006-06-13 2012-08-14 British Telecommunications Plc Computer network
US20090327509A1 (en) * 2006-08-10 2009-12-31 Joris Roussel Method for the diffusion of information in a distributed network
GB2440761A (en) * 2006-08-11 2008-02-13 Cachelogic Ltd Using a proxy server as a cache in a peer to peer network to speed up the multicast distribution of large files.
US20080216142A1 (en) * 2006-08-17 2008-09-04 Goldberg Brett M System and method of digital media distribution
US11303684B2 (en) 2006-09-14 2022-04-12 Opentv, Inc. Methods and systems for data transmission
US8335873B2 (en) 2006-09-14 2012-12-18 Opentv, Inc. Method and systems for data transmission
CN101150421B (en) * 2006-09-22 2011-05-04 华为技术有限公司 A distributed content distribution method, edge server and content distribution network
US7882200B2 (en) * 2006-10-30 2011-02-01 Bank Of America Corporation Method and apparatus for distribution of data among computing resources
US8621092B2 (en) * 2006-12-19 2013-12-31 International Business Machines Corporation Remote portlet consumer with enhanced resource URL processing
US7619545B2 (en) 2007-03-12 2009-11-17 Citrix Systems, Inc. Systems and methods of using application and protocol specific parsing for compression
US7827237B2 (en) 2007-03-12 2010-11-02 Citrix Systems, Inc. Systems and methods for identifying long matches of data in a compression history
US8255570B2 (en) 2007-03-12 2012-08-28 Citrix Systems, Inc. Systems and methods of compression history expiration and synchronization
US7532134B2 (en) 2007-03-12 2009-05-12 Citrix Systems, Inc. Systems and methods for sharing compression histories between multiple devices
EP2651092B1 (en) * 2007-03-12 2015-08-12 Citrix Systems, Inc. System and method of determining a precedence for matching fingerprints in a compression history
US7460038B2 (en) 2007-03-12 2008-12-02 Citrix Systems, Inc. Systems and methods of clustered sharing of compression histories
US7865585B2 (en) 2007-03-12 2011-01-04 Citrix Systems, Inc. Systems and methods for providing dynamic ad hoc proxy-cache hierarchies
US8032421B1 (en) * 2007-05-02 2011-10-04 Tp Lab, Inc. Method and system to distribute online video
US9311492B2 (en) 2007-05-22 2016-04-12 Apple Inc. Media storage structures for storing content, devices for using such structures, systems for distributing such structures
JP5135433B2 (en) * 2007-06-14 2013-02-06 マサチューセッツ インスティテュート オブ テクノロジー Control method and control apparatus for controlling thin film lamination
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US20090086625A1 (en) * 2007-09-28 2009-04-02 Thyagarajan Nandagopal Method and Apparatus For Providing a Distributed Control Plane for a Mobility Home Agent
WO2009056743A2 (en) * 2007-10-26 2009-05-07 France Telecom Device and method for supervising source equipment
AU2007231759B2 (en) * 2007-10-30 2011-05-26 Canon Kabushiki Kaisha Adaptive content caching
US8434076B2 (en) * 2007-12-12 2013-04-30 Oracle International Corporation Efficient compilation and execution of imperative-query languages
US20090156997A1 (en) * 2007-12-12 2009-06-18 Rockford Orthopaedic Sports Medicine Services, Llc Rotator cuff patch delivery device
US8392053B2 (en) * 2007-12-13 2013-03-05 Service Solutions U.S., Llc Graphing device and method
US20090164471A1 (en) * 2007-12-19 2009-06-25 Jinmei Shen Managing Distributed Data
US8543667B2 (en) 2008-01-14 2013-09-24 Akamai Technologies, Inc. Policy-based content insertion
EP2093965B1 (en) * 2008-02-21 2019-01-23 Nokia Solutions and Networks GmbH & Co. KG Reliable, location and load aware service search proxy (SSP)
US7962597B2 (en) * 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US7970820B1 (en) * 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US10924573B2 (en) * 2008-04-04 2021-02-16 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
CN102047244B (en) 2008-04-04 2013-02-27 第三雷沃通讯有限责任公司 Handling long-tail content in a content delivery network (CDN)
US9762692B2 (en) 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US11975546B2 (en) 2008-06-13 2024-05-07 Kateeva, Inc. Gas enclosure assembly and system
US8632145B2 (en) 2008-06-13 2014-01-21 Kateeva, Inc. Method and apparatus for printing using a facetted drum
US12018857B2 (en) 2008-06-13 2024-06-25 Kateeva, Inc. Gas enclosure assembly and system
US8383202B2 (en) * 2008-06-13 2013-02-26 Kateeva, Inc. Method and apparatus for load-locked printing
US12064979B2 (en) 2008-06-13 2024-08-20 Kateeva, Inc. Low-particle gas enclosure systems and methods
US10434804B2 (en) 2008-06-13 2019-10-08 Kateeva, Inc. Low particle gas enclosure systems and methods
US8537835B2 (en) 2008-06-20 2013-09-17 Alcatel Lucent Methods and apparatus for self-organized caching in a content delivery network
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US7925782B2 (en) * 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
WO2010023424A1 (en) * 2008-08-26 2010-03-04 British Telecommunications Public Limited Company Operation of a content distribution network
EP2159983A1 (en) * 2008-08-26 2010-03-03 BRITISH TELECOMMUNICATIONS public limited company Content distribution network
US8954548B2 (en) * 2008-08-27 2015-02-10 At&T Intellectual Property Ii, L.P. Targeted caching to reduce bandwidth consumption
AU2010276462B1 (en) 2010-12-27 2012-01-12 Limelight Networks, Inc. Partial object caching
AU2010202034B1 (en) * 2010-04-07 2010-12-23 Limelight Networks, Inc. Partial object distribution in content delivery network
US8516082B2 (en) * 2009-03-25 2013-08-20 Limelight Networks, Inc. Publishing-point management for content delivery network
WO2010033938A2 (en) * 2008-09-19 2010-03-25 Limelight Networks, Inc. Content delivery network stream server vignette distribution
US7930393B1 (en) 2008-09-29 2011-04-19 Amazon Technologies, Inc. Monitoring domain allocation performance
US7865594B1 (en) 2008-09-29 2011-01-04 Amazon Technologies, Inc. Managing resources consolidation configurations
US8286176B1 (en) 2008-09-29 2012-10-09 Amazon Technologies, Inc. Optimizing resource configurations
US8122124B1 (en) 2008-09-29 2012-02-21 Amazon Technologies, Inc. Monitoring performance and operation of data exchanges
US8117306B1 (en) 2008-09-29 2012-02-14 Amazon Technologies, Inc. Optimizing content management
US8316124B1 (en) 2008-09-29 2012-11-20 Amazon Technologies, Inc. Managing network data display
US20100088405A1 (en) * 2008-10-08 2010-04-08 Microsoft Corporation Determining Network Delay and CDN Deployment
US8949915B2 (en) * 2008-10-20 2015-02-03 At&T Intellectual Property Ii, Lp System and method for delivery of Video-on-Demand
US20120209942A1 (en) * 2008-10-28 2012-08-16 Cotendo, Inc. System combining a cdn reverse proxy and an edge forward proxy with secure connections
WO2010049876A2 (en) * 2008-10-28 2010-05-06 Cotendo Ltd System and method for sharing transparent proxy between isp and cdn
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8171106B2 (en) * 2008-12-12 2012-05-01 International Business Machines Corporation Per file system usage of networks
US7991883B1 (en) * 2008-12-15 2011-08-02 Adobe Systems Incorporated Server communication in a multi-tier server architecture
US7930429B2 (en) * 2008-12-18 2011-04-19 At&T Intellectual Property I, Lp System and method for obtaining content from a content delivery network
US8103780B2 (en) 2008-12-18 2012-01-24 At&T Intellectual Property I, Lp Systems and methods for determining the location of a request on a content delivery network
US8392530B1 (en) * 2008-12-18 2013-03-05 Adobe Systems Incorporated Media streaming in a multi-tier client-server architecture
US20100188457A1 (en) * 2009-01-05 2010-07-29 Madigan Connor F Method and apparatus for controlling the temperature of an electrically-heated discharge nozzle
US8356106B2 (en) * 2009-02-02 2013-01-15 George Mason Intellectual Properties, Inc. Cache validating SCIT DNS server
US9197677B2 (en) * 2009-03-09 2015-11-24 Arris Canada, Inc. Multi-tiered scalable media streaming systems and methods
US9485299B2 (en) * 2009-03-09 2016-11-01 Arris Canada, Inc. Progressive download gateway
CN101841553B (en) * 2009-03-17 2014-03-12 日电(中国)有限公司 Method, user node and server for requesting location information of resources on network
US7917618B1 (en) 2009-03-24 2011-03-29 Amazon Technologies, Inc. Monitoring web site content
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
CN101860720B (en) * 2009-04-10 2015-05-20 中兴通讯股份有限公司 Content positioning method and content distribution network node
EP2420035B1 (en) 2009-04-15 2017-09-27 Telefonaktiebolaget LM Ericsson (publ) Method and apparatus for reducing traffic in a communications network
US8046432B2 (en) 2009-04-17 2011-10-25 Microsoft Corporation Network caching for multiple contemporaneous requests
WO2010127328A2 (en) * 2009-05-01 2010-11-04 Kateeva, Inc. Method and apparatus for organic vapor printing
US8874708B2 (en) * 2009-05-26 2014-10-28 Red Hat, Inc. Location discovery based on DNS
US8073972B2 (en) * 2009-05-26 2011-12-06 Red Hat, Inc. System and method for location discovery based on DNS
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US9015335B1 (en) 2009-06-17 2015-04-21 Amazon Technologies, Inc. Server side stream switching
US9800690B1 (en) * 2009-06-26 2017-10-24 Tata Communications (America) Inc. Content-based redirection
US9137300B1 (en) 2009-06-30 2015-09-15 Amazon Technologies, Inc. Opportunistic pipe switching
US9137301B1 (en) 2009-06-30 2015-09-15 Amazon Technologies, Inc. Client based opportunistic routing
US9118680B1 (en) 2009-06-30 2015-08-25 Amazon Technologies, Inc. Opportunistic routing
CA2711311C (en) 2009-08-10 2016-08-23 Seawell Networks Inc. Methods and systems for scalable video chunking
CN102792291B (en) * 2009-08-17 2015-11-25 阿卡麦科技公司 Based on the method and system of the stream distribution of HTTP
US8397073B1 (en) * 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US8626876B1 (en) 2012-11-28 2014-01-07 Limelight Networks, Inc. Intermediate content processing for content delivery networks
US8219645B2 (en) * 2009-10-02 2012-07-10 Limelight Networks, Inc. Content delivery network cache grouping
US20120246214A1 (en) * 2009-11-02 2012-09-27 Hitachi, Ltd. Method for supporting service setting
US8458769B2 (en) * 2009-12-12 2013-06-04 Akamai Technologies, Inc. Cloud based firewall system and service
US8331371B2 (en) 2009-12-17 2012-12-11 Amazon Technologies, Inc. Distributed routing architecture
US8331370B2 (en) 2009-12-17 2012-12-11 Amazon Technologies, Inc. Distributed routing architecture
US8769614B1 (en) 2009-12-29 2014-07-01 Akamai Technologies, Inc. Security framework for HTTP streaming architecture
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US9386116B2 (en) 2010-05-13 2016-07-05 Futurewei Technologies, Inc. System, apparatus for content delivery for internet traffic and methods thereof
WO2011146742A2 (en) 2010-05-19 2011-11-24 Akamai Technologies Inc. Edge server http post message processing
WO2011149558A2 (en) 2010-05-28 2011-12-01 Abelow Daniel H Reality alternate
AU2011268104B2 (en) 2010-06-18 2016-12-15 Akamai Technologies, Inc. Extending a content delivery network (CDN) into a mobile or wireline network
US8190677B2 (en) * 2010-07-23 2012-05-29 Seawell Networks Inc. Methods and systems for scalable video delivery
US8756272B1 (en) 2010-08-26 2014-06-17 Amazon Technologies, Inc. Processing encoded content
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
CN102137138B (en) 2010-09-28 2013-04-24 华为技术有限公司 Method, device and system for cache collaboration
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US20120089700A1 (en) * 2010-10-10 2012-04-12 Contendo, Inc. Proxy server configured for hierarchical caching and dynamic site acceleration and custom object and associated method
US20120124372A1 (en) * 2010-10-13 2012-05-17 Akamai Technologies, Inc. Protecting Websites and Website Users By Obscuring URLs
US8626718B2 (en) * 2010-10-29 2014-01-07 Verizon Patent And Licensing Inc. Content caching based on refresh and expiration times
US9444876B2 (en) 2010-11-08 2016-09-13 Microsoft Technology Licensing, Llc Content distribution system
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US8626950B1 (en) 2010-12-03 2014-01-07 Amazon Technologies, Inc. Request routing processing
US8880633B2 (en) 2010-12-17 2014-11-04 Akamai Technologies, Inc. Proxy server with byte-based include interpreter
US9418353B2 (en) 2010-12-20 2016-08-16 Akamai Technologies, Inc. Methods and systems for delivering content to differentiated client devices
US9161080B2 (en) * 2011-01-28 2015-10-13 Level 3 Communications, Llc Content delivery network with deep caching infrastructure
CA2825393C (en) 2011-01-28 2019-03-12 Level 3 Communications, Llc Content delivery network with deep caching infrastructure
US8612550B2 (en) 2011-02-07 2013-12-17 Microsoft Corporation Proxy-based cache content distribution and affinity
US8867337B2 (en) 2011-04-26 2014-10-21 International Business Machines Corporation Structure-aware caching
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US9226034B1 (en) * 2011-05-10 2015-12-29 Google Inc. Apparatus and methods for generating clips using recipes with slice definitions
ES2410654B1 (en) * 2011-05-12 2014-05-21 Telefónica, S.A. SYSTEM AND METHOD FOR MANAGING THE INFRASTRUCTURE OF A NETWORK DISTRIBUTION NETWORK SERVICE IN AN ISP NETWORK
US8925022B2 (en) 2011-05-25 2014-12-30 Motorola Mobility Llc Method and apparatus for transferring content
JP5932987B2 (en) 2011-06-08 2016-06-08 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ Location and extraction of segmented content
US8850075B2 (en) * 2011-07-06 2014-09-30 Microsoft Corporation Predictive, multi-layer caching architectures
US9432704B2 (en) 2011-11-06 2016-08-30 Akamai Technologies Inc. Segmented parallel encoding with frame-aware, variable-size chunking
US9531691B2 (en) 2011-12-16 2016-12-27 Akamai Technologies, Inc. Providing forward secrecy in a terminating TLS connection proxy
US9647835B2 (en) 2011-12-16 2017-05-09 Akamai Technologies, Inc. Terminating SSL connections without locally-accessible private keys
US9531685B2 (en) 2011-12-16 2016-12-27 Akamai Technologies, Inc. Providing forward secrecy in a terminating SSL/TLS connection proxy using Ephemeral Diffie-Hellman key exchange
US9742858B2 (en) 2011-12-23 2017-08-22 Akamai Technologies Inc. Assessment of content delivery services using performance measurements from within an end user client application
WO2013096934A1 (en) * 2011-12-23 2013-06-27 Akamai Technologies, Inc. Host/path-based data differencing in an overlay network using a compression and differencing engine
US9231903B2 (en) * 2011-12-30 2016-01-05 Time Warner Cable Enterprises Llc System and method for resolving a DNS request using metadata
US9419852B1 (en) 2011-12-30 2016-08-16 Akamai Technologies, Inc. Systems and methods for identifying and characterizing client devices
US8904009B1 (en) 2012-02-10 2014-12-02 Amazon Technologies, Inc. Dynamic content delivery
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US9817916B2 (en) 2012-02-22 2017-11-14 Akamai Technologies Inc. Methods and apparatus for accelerating content authored for multiple devices
US9083743B1 (en) 2012-03-21 2015-07-14 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US10623408B1 (en) * 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US9712887B2 (en) 2012-04-12 2017-07-18 Arris Canada, Inc. Methods and systems for real-time transmuxing of streaming media content
US10893119B2 (en) 2012-05-22 2021-01-12 Verizon Patent And Licensing Inc. Time-based data caching
US9232240B2 (en) * 2012-06-08 2016-01-05 Verizon Patent And Licensing Inc. Distributed content delivery network architecture
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9628542B2 (en) 2012-08-24 2017-04-18 Akamai Technologies, Inc. Hybrid HTTP and UDP content delivery
CN104685486B (en) 2012-08-27 2018-10-09 阿卡麦科技公司 Preventing TCP too fast becomes too cautious
US9525659B1 (en) * 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US9135048B2 (en) 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US8875287B2 (en) 2012-10-04 2014-10-28 Akamai Technologies, Inc. Server with mechanism for reducing internal resources associated with a selected client connection
US9246998B2 (en) 2012-10-16 2016-01-26 Microsoft Technology Licensing, Llc Load balancer bypass
US9374276B2 (en) 2012-11-01 2016-06-21 Microsoft Technology Licensing, Llc CDN traffic management in the cloud
US9537973B2 (en) * 2012-11-01 2017-01-03 Microsoft Technology Licensing, Llc CDN load balancing in the cloud
US9160809B2 (en) * 2012-11-26 2015-10-13 Go Daddy Operating Company, LLC DNS overriding-based methods of accelerating content delivery
CN103838779B (en) * 2012-11-27 2019-02-05 深圳市腾讯计算机系统有限公司 It is multiplexed the cloud code-transferring method and system, distributed document device of idle computing resources
US9325711B2 (en) 2012-12-11 2016-04-26 Servmax, Inc. Apparatus and data processing systems for accessing an object
US9654355B2 (en) 2012-12-13 2017-05-16 Level 3 Communications, Llc Framework supporting content delivery with adaptation services
US9390052B1 (en) 2012-12-19 2016-07-12 Amazon Technologies, Inc. Distributed caching system
US9621399B1 (en) * 2012-12-19 2017-04-11 Amazon Technologies, Inc. Distributed caching system
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US10642738B1 (en) 2012-12-19 2020-05-05 Amazon Technologies, Inc. Distributed caching system
US9509804B2 (en) 2012-12-21 2016-11-29 Akami Technologies, Inc. Scalable content delivery network request handling mechanism to support a request processing layer
US9654579B2 (en) 2012-12-21 2017-05-16 Akamai Technologies, Inc. Scalable content delivery network request handling mechanism
CN105074688B (en) 2012-12-27 2018-04-17 阿卡麦科技公司 Use the data deduplication based on stream of peer node figure
US9729605B2 (en) 2012-12-27 2017-08-08 Akamai Technologies Inc. Mechanism for distinguishing between content to be served through first or second delivery channels
US10257249B1 (en) * 2013-02-14 2019-04-09 The Directv Group, Inc. Method and system for communicating content to a client device by pulling content from a publisher from a content delivery network when first requested by the client device
WO2014124692A1 (en) * 2013-02-15 2014-08-21 Nec Europe Ltd. Method and system for providing content in content delivery networks
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US9813515B2 (en) 2013-10-04 2017-11-07 Akamai Technologies, Inc. Systems and methods for caching content with notification-based invalidation with extension to clients
US9648125B2 (en) 2013-10-04 2017-05-09 Akamai Technologies, Inc. Systems and methods for caching content with notification-based invalidation
US9641640B2 (en) 2013-10-04 2017-05-02 Akamai Technologies, Inc. Systems and methods for controlling cacheability and privacy of objects
US9819721B2 (en) 2013-10-31 2017-11-14 Akamai Technologies, Inc. Dynamically populated manifests and manifest-based prefetching
WO2015084878A1 (en) 2013-12-02 2015-06-11 Akamai Technologies, Inc. Virtual private network (vpn)-as-a-service with delivery optimizations while maintaining end-to-end data security
JP2015108970A (en) * 2013-12-04 2015-06-11 ソニー株式会社 Server device and information processing method
WO2015100283A1 (en) * 2013-12-23 2015-07-02 Akamai Technologies, Inc. Systems and methods for delivering content to clients that are suboptimally mapped
KR101878084B1 (en) 2013-12-26 2018-07-12 카티바, 인크. Apparatus and techniques for thermal treatment of electronic devices
US9485456B2 (en) 2013-12-30 2016-11-01 Akamai Technologies, Inc. Frame-rate conversion in a distributed computing system
EP2894871A1 (en) * 2014-01-10 2015-07-15 Thomson Licensing Method for obtaining a network information by a client terminal configured for receiving a multimedia content divided into segments
KR102307190B1 (en) 2014-01-21 2021-09-30 카티바, 인크. Apparatus and techniques for electronic device encapsulation
US9866655B2 (en) 2014-03-31 2018-01-09 Akamai Technologies, Inc. Server initiated multipath content delivery
US9576070B2 (en) 2014-04-23 2017-02-21 Akamai Technologies, Inc. Creation and delivery of pre-rendered web pages for accelerated browsing
KR102390045B1 (en) 2014-04-30 2022-04-22 카티바, 인크. Gas cushion apparatus and techniques for substrate coating
US20150339691A1 (en) * 2014-05-23 2015-11-26 Moose Loop Holdings, LLC Systems and Methods for Adjusting Prices for a Service
US9531720B2 (en) 2014-09-02 2016-12-27 Akamai Technologies, Inc. System and methods for leveraging an object cache to monitor network traffic
US10785293B2 (en) 2014-11-11 2020-09-22 Akamai Technologies, Inc. Content delivery to physically-proximate devices using a mesh-assisted cache
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10771583B2 (en) 2014-12-29 2020-09-08 Akamai Technologies, Inc. Managing mobile device user subscription and service preferences to predictively pre-fetch content
US10063653B2 (en) 2014-12-29 2018-08-28 Akamai Technologies, Inc. Distributed server architecture for supporting a predictive content pre-fetching service for mobile device users
US10154068B2 (en) 2014-12-30 2018-12-11 Akamai Technologies, Inc. Self-adjusting tiered caching system to optimize traffic performance and origin offload
US10812580B2 (en) 2015-01-30 2020-10-20 Akamai Technologies, Inc. Using resource timing data for server push
US10313463B2 (en) 2015-02-19 2019-06-04 Akamai Technologies, Inc. Systems and methods for avoiding server push of objects already cached at a client
US10630771B1 (en) 2015-02-26 2020-04-21 Akamai Technologies, Inc. Content delivery network with network storage and support for on-demand content upload
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9819567B1 (en) * 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
CN104834722B (en) * 2015-05-12 2018-03-02 网宿科技股份有限公司 Content Management System based on CDN
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US10425499B2 (en) * 2015-06-18 2019-09-24 Line Corporation Server and method for providing content to users
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
WO2017091709A1 (en) 2015-11-25 2017-06-01 Akamai Technologies, Inc. Uniquely identifying and securely communicating with an appliance in an uncontrolled network
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
WO2018020291A1 (en) * 2016-07-25 2018-02-01 Telefonaktiebolaget Lm Ericsson (Publ) Content delivery network (cdn) for uploading, caching and delivering user content
US10375154B2 (en) 2016-07-29 2019-08-06 Microsoft Technology Licensing, Llc Interchangeable retrieval of content
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10693947B2 (en) * 2016-09-09 2020-06-23 Microsoft Technology Licensing, Llc Interchangeable retrieval of sensitive content via private content distribution networks
US10616250B2 (en) 2016-10-05 2020-04-07 Amazon Technologies, Inc. Network addresses with encoded DNS-level information
US9667619B1 (en) 2016-10-14 2017-05-30 Akamai Technologies, Inc. Systems and methods for utilizing client side authentication to select services available at a given port number
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
WO2018126134A1 (en) 2016-12-30 2018-07-05 Akamai Technologies, Inc. Unified, browser-based enterprise collaboration platform
US10084855B2 (en) 2017-01-23 2018-09-25 Akamai Technologies, Inc. Pixel-based load balancing
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US9986269B1 (en) 2017-03-03 2018-05-29 Akamai Technologies, Inc. Maintaining stream continuity counter in a stateless multiplexing system
US11088940B2 (en) 2017-03-07 2021-08-10 Akamai Technologies, Inc. Cooperative multipath
WO2018169083A1 (en) * 2017-03-16 2018-09-20 ソフトバンク株式会社 Relay device and program
US10447702B2 (en) * 2017-03-20 2019-10-15 Screening Room Media, Inc. Digital credential tiers
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US10764391B2 (en) 2017-09-14 2020-09-01 Akamai Technologies, Inc. Origin and cache server cooperation for compute-intensive content delivery
US10887385B2 (en) 2017-09-20 2021-01-05 Akamai Technologies, Inc. Marker based reporting system for hybrid content delivery network and peer to peer network
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US10531134B2 (en) 2017-11-10 2020-01-07 Akamai Technologies, Inc. Determining a time budget for transcoding of video
US10581948B2 (en) 2017-12-07 2020-03-03 Akamai Technologies, Inc. Client side cache visibility with TLS session tickets
US10439925B2 (en) 2017-12-21 2019-10-08 Akamai Technologies, Inc. Sandbox environment for testing integration between a content provider origin and a content delivery network
US10630769B2 (en) 2017-12-26 2020-04-21 Akamai Technologies, Inc. Distributed system of record transaction receipt handling in an overlay network
US11977924B2 (en) 2017-12-26 2024-05-07 Akamai Technologies, Inc. High performance distributed system of record with distributed random oracle
US10250708B1 (en) 2017-12-26 2019-04-02 Akamai Technologies, Inc. High performance distributed system of record
US11606190B2 (en) 2017-12-26 2023-03-14 Akamai Technologies, Inc. High performance distributed system of record with cryptographic service support
US11018850B2 (en) 2017-12-26 2021-05-25 Akamai Technologies, Inc. Concurrent transaction processing in a high performance distributed system of record
US10531130B2 (en) * 2018-01-23 2020-01-07 Charter Communications Operating, Llc Protocol and architecture for the decentralization of content delivery
US10810279B2 (en) 2018-02-07 2020-10-20 Akamai Technologies, Inc. Content delivery network (CDN) providing accelerated delivery of embedded resources from CDN and third party domains
US10764402B2 (en) 2018-03-03 2020-09-01 Akamai Technologies, Inc. Leveraging time-windows generated by web browser pre-connections
US10440142B2 (en) 2018-03-06 2019-10-08 Akamai Technologies, Inc. Automated TTL adjustment using cache performance and purge data
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US10958649B2 (en) 2018-03-21 2021-03-23 Akamai Technologies, Inc. Systems and methods for internet-wide monitoring and protection of user credentials
EP3769489A4 (en) 2018-03-22 2021-12-15 Akamai Technologies, Inc. Traffic forwarding and disambiguation by using local proxies and addresses
US10681001B2 (en) 2018-03-29 2020-06-09 Akamai Technologies, Inc. High precision mapping with intermediary DNS filtering
US10452563B1 (en) 2018-05-07 2019-10-22 Akamai Technologies, Inc. Cache eviction scheme for acceptable substitutes in online media
CN108737405B (en) * 2018-05-10 2020-02-18 网宿科技股份有限公司 Method, CCL server and system for guiding direct broadcasting video stream
EP3808043B1 (en) 2018-06-18 2024-10-23 Akamai Technologies, Inc. Download management with congestion mitigation for over the air content delivery to vehicles
US11012362B2 (en) 2018-06-18 2021-05-18 Akamai Technologies, Inc. Download management with congestion mitigation for over the air content delivery to vehicles
US10667172B2 (en) 2018-06-18 2020-05-26 Akamai Technologies, Inc. Download management with congestion mitigation for over the air content delivery to vehicles
WO2019243021A1 (en) * 2018-06-21 2019-12-26 British Telecommunications Public Limited Company Path selection for content delivery network
US10650023B2 (en) * 2018-07-24 2020-05-12 Booz Allen Hamilton, Inc. Process for establishing trust between multiple autonomous systems for the purposes of command and control
US10834138B2 (en) 2018-08-13 2020-11-10 Akamai Technologies, Inc. Device discovery for cloud-based network security gateways
US10931695B2 (en) 2018-08-22 2021-02-23 Akamai Technologies, Inc. Nonce injection and observation system for detecting eavesdroppers
US10798006B2 (en) 2018-10-12 2020-10-06 Akamai Technologies, Inc. Overload protection for data sinks in a distributed computing system
US10917493B2 (en) * 2018-10-19 2021-02-09 Bby Solutions, Inc. Dynamic edge cache content management
US11310201B2 (en) 2018-10-23 2022-04-19 Akamai Technologies, Inc. Network security system with enhanced traffic analysis based on feedback loop
US10972576B2 (en) * 2018-11-14 2021-04-06 International Business Machines Corporation Content acceleration for cross-site resources by CDN
US11019034B2 (en) 2018-11-16 2021-05-25 Akamai Technologies, Inc. Systems and methods for proxying encrypted traffic to protect origin servers from internet threats
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11483347B2 (en) 2018-12-05 2022-10-25 Akamai Technologies, Inc. High performance distributed system of record with secure interoperability to external systems
US10951589B2 (en) 2018-12-06 2021-03-16 Akamai Technologies, Inc. Proxy auto-configuration for directing client traffic to a cloud proxy
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US11930439B2 (en) 2019-01-09 2024-03-12 Margo Networks Private Limited Network control and optimization (NCO) system and method
US10931778B2 (en) * 2019-01-09 2021-02-23 Margo Networks Pvt. Ltd. Content delivery network system and method
CN109618003B (en) * 2019-01-14 2022-02-22 网宿科技股份有限公司 Server planning method, server and storage medium
US10924534B2 (en) 2019-03-01 2021-02-16 Akamai Technologies, Inc. Dynamic placement of computing tasks in a distributed computing environment
US10834222B1 (en) 2019-05-09 2020-11-10 Akamai Technologies Inc. Server utilizing multiple object retrieval candidates
CN110460866A (en) * 2019-07-29 2019-11-15 网宿科技股份有限公司 Push method, system and the server of stream medium data
US10771524B1 (en) * 2019-07-31 2020-09-08 Theta Labs, Inc. Methods and systems for a decentralized data streaming and delivery network
US20210173888A1 (en) 2019-12-08 2021-06-10 Akamai Technologies Inc. Proxy server caching of database content
GB2592211A (en) * 2020-02-19 2021-08-25 Nchain Holdings Ltd Adapting connections of a layered network
GB2594684A (en) 2020-02-19 2021-11-10 Nchain Holdings Ltd Layered network
US11431690B1 (en) * 2020-06-23 2022-08-30 Amazon Technologies, Inc. Protecting data within an edge location while providing access to associated metadata
IT202000017023A1 (en) * 2020-07-14 2022-01-14 Mainstreaming S P A METHOD FOR DISTRIBUTING FILES THROUGH A CONTENT DELIVERY NETWORK ALSO BASED ON ARTIFICIAL INTELLIGENCE ALGORITHMS, TELEMATIC SYSTEM AND SERVERS THAT ALLOW TO IMPLEMENT IT
US11687497B2 (en) * 2020-07-21 2023-06-27 Akamai Technologies Inc. Learning-based storage reduction in an overlay network
US12047648B2 (en) 2020-07-21 2024-07-23 Akamai Technologies, Inc. Systems and methods for midstream selection of content to insert into a media stream
US11233768B1 (en) * 2020-09-30 2022-01-25 Akamai Technologies, Inc. CDN configuration tuning based on domain scan analysis
US11445225B2 (en) * 2020-10-27 2022-09-13 Akamai Technologies, Inc. Measuring and improving origin offload and resource utilization in caching systems
US11379281B2 (en) 2020-11-18 2022-07-05 Akamai Technologies, Inc. Detection and optimization of content in the payloads of API messages
US11343348B1 (en) 2021-04-12 2022-05-24 Akamai Technologies, Inc. Real-time message delivery and update service in a proxy server network
US11343344B1 (en) 2021-04-23 2022-05-24 Akamai Technologies, Inc. Proxy server entity transfer modes
EP4327543A1 (en) 2021-04-23 2024-02-28 Akamai Technologies, Inc. Proxy server entity transfer modes
US12062068B2 (en) 2021-05-04 2024-08-13 Margo Networks Pvt. Ltd. Oneapp system and method
US11695855B2 (en) 2021-05-17 2023-07-04 Margo Networks Pvt. Ltd. User generated pluggable content delivery network (CDN) system and method
US11997096B2 (en) 2021-05-18 2024-05-28 Akamai Technologies, Inc. Fast, secure, and scalable data store at the edge for connecting network enabled devices
US11748263B2 (en) 2021-11-15 2023-09-05 Akamai Technologies, Inc. Internet caches with object hints
US11445045B1 (en) 2021-12-21 2022-09-13 Akamai Technologies, Inc. Systems and methods for preventing the caching of rarely requested objects
WO2023224680A1 (en) 2022-05-18 2023-11-23 Margo Networks Pvt. Ltd. Peer to peer (p2p) encrypted data transfer/offload system and method

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108703A (en) * 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US20010052016A1 (en) * 1999-12-13 2001-12-13 Skene Bryan D. Method and system for balancing load distrubution on a wide area network
US6389462B1 (en) * 1998-12-16 2002-05-14 Lucent Technologies Inc. Method and apparatus for transparently directing requests for web objects to proxy caches
US20020107944A1 (en) * 2000-11-01 2002-08-08 Bai Joseph J. Cooperative management of distributed network caches
US6542964B1 (en) * 1999-06-02 2003-04-01 Blue Coat Systems Cost-based optimization for content distribution using dynamic protocol selection and query resolution for cache server
US6754699B2 (en) * 2000-07-19 2004-06-22 Speedera Networks, Inc. Content delivery and global traffic management network system
US20040194102A1 (en) * 2001-01-16 2004-09-30 Neerdaels Charles J Using virutal domain name service (dns) zones for enterprise content delivery
US6829654B1 (en) * 2000-06-23 2004-12-07 Cloudshield Technologies, Inc. Apparatus and method for virtual edge placement of web sites
US7133905B2 (en) * 2002-04-09 2006-11-07 Akamai Technologies, Inc. Method and system for tiered distribution in a content delivery network

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5611049A (en) 1992-06-03 1997-03-11 Pitts; William M. System for accessing distributed data cache channel at each network node to pass requests and data
US6026452A (en) 1997-02-26 2000-02-15 Pitts; William Michael Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data
US6003030A (en) 1995-06-07 1999-12-14 Intervu, Inc. System and method for optimized storage and retrieval of data on a distributed computer network
US5991306A (en) * 1996-08-26 1999-11-23 Microsoft Corporation Pull based, intelligent caching system and method for delivering data over a network
US5924116A (en) * 1997-04-02 1999-07-13 International Business Machines Corporation Collaborative caching of a requested object by a lower level node as a function of the caching status of the object at a higher level node
US6240461B1 (en) * 1997-09-25 2001-05-29 Cisco Technology, Inc. Methods and apparatus for caching network data traffic
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6112279A (en) 1998-03-31 2000-08-29 Lucent Technologies, Inc. Virtual web caching system
US6351767B1 (en) * 1999-01-25 2002-02-26 International Business Machines Corporation Method and system for automatically caching dynamic content based on a cacheability determination
US6785704B1 (en) * 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US6405252B1 (en) 1999-11-22 2002-06-11 Speedera Networks, Inc. Integrated point of presence server network
US6484143B1 (en) 1999-11-22 2002-11-19 Speedera Networks, Inc. User device and system for traffic management and content distribution over a world wide area network
US6820133B1 (en) 2000-02-07 2004-11-16 Netli, Inc. System and method for high-performance delivery of web content using high-performance communications protocol between the first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
US7024466B2 (en) * 2000-04-07 2006-04-04 Movielink, Llc Network configured for delivery of content for download to a recipient
US7240100B1 (en) 2000-04-14 2007-07-03 Akamai Technologies, Inc. Content delivery network (CDN) content server request handling mechanism with metadata framework support
US6996616B1 (en) 2000-04-17 2006-02-07 Akamai Technologies, Inc. HTML delivery from edge-of-network servers in a content delivery network (CDN)
US6976090B2 (en) * 2000-04-20 2005-12-13 Actona Technologies Ltd. Differentiated content and application delivery via internet
US7299291B1 (en) 2000-05-18 2007-11-20 Akamai Technologies, Inc. Client-side method for identifying an optimum server
US7032031B2 (en) * 2000-06-23 2006-04-18 Cloudshield Technologies, Inc. Edge adapter apparatus and method
WO2002044915A1 (en) * 2000-11-30 2002-06-06 Appfluent Technology, Inc. System and method for delivering dynamic content
US20020092026A1 (en) * 2001-01-09 2002-07-11 International Business Machines Corporation Method and apparatus for broadcast delivery of content to a client-side cache based on user preferences
US6647466B2 (en) 2001-01-25 2003-11-11 Hewlett-Packard Development Company, L.P. Method and apparatus for adaptively bypassing one or more levels of a cache hierarchy
EP1388073B1 (en) 2001-03-01 2018-01-10 Akamai Technologies, Inc. Optimal route selection in a content delivery network
WO2002071191A2 (en) * 2001-03-02 2002-09-12 Kasenna, Inc. Metadata enabled push-pull model for efficient low-latency video-content distribution over a network
US7213071B2 (en) * 2001-04-03 2007-05-01 International Business Machines Corporation Quality of service improvements for network transactions
US7200681B1 (en) 2001-07-30 2007-04-03 Akamai Technologies, Inc. Edge side components and application programming environment for building and delivering highly distributed heterogenous component-based web applications
US7155478B2 (en) * 2001-10-03 2006-12-26 International Business Machines Corporation Selectively handling data processing requests in a computer communications network
US6954456B2 (en) * 2001-12-14 2005-10-11 At & T Corp. Method for content-aware redirection and content renaming
US7254634B1 (en) 2002-03-08 2007-08-07 Akamai Technologies, Inc. Managing web tier session state objects in a content delivery network (CDN)
US7136922B2 (en) 2002-10-15 2006-11-14 Akamai Technologies, Inc. Method and system for providing on-demand content delivery for an origin server
US7305252B2 (en) * 2003-12-09 2007-12-04 Nokia Corporation System and method for service naming and related directory structure in a mobile data network

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108703A (en) * 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US6389462B1 (en) * 1998-12-16 2002-05-14 Lucent Technologies Inc. Method and apparatus for transparently directing requests for web objects to proxy caches
US6542964B1 (en) * 1999-06-02 2003-04-01 Blue Coat Systems Cost-based optimization for content distribution using dynamic protocol selection and query resolution for cache server
US20010052016A1 (en) * 1999-12-13 2001-12-13 Skene Bryan D. Method and system for balancing load distrubution on a wide area network
US6829654B1 (en) * 2000-06-23 2004-12-07 Cloudshield Technologies, Inc. Apparatus and method for virtual edge placement of web sites
US6754699B2 (en) * 2000-07-19 2004-06-22 Speedera Networks, Inc. Content delivery and global traffic management network system
US20020107944A1 (en) * 2000-11-01 2002-08-08 Bai Joseph J. Cooperative management of distributed network caches
US20040194102A1 (en) * 2001-01-16 2004-09-30 Neerdaels Charles J Using virutal domain name service (dns) zones for enterprise content delivery
US7133905B2 (en) * 2002-04-09 2006-11-07 Akamai Technologies, Inc. Method and system for tiered distribution in a content delivery network

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9774505B2 (en) 2004-08-02 2017-09-26 Steve J Shattil Content delivery in wireless wide area networks
US9806953B2 (en) 2004-08-02 2017-10-31 Steve J Shattil Content delivery in wireless wide area networks
US9325805B2 (en) 2004-08-02 2016-04-26 Steve J Shattil Content delivery in wireless wide area networks
US10021175B2 (en) 2004-08-02 2018-07-10 Genghiscomm Holdings, LLC Edge server selection for device-specific network topologies
US10735503B2 (en) 2010-03-01 2020-08-04 Genghiscomm Holdings, LLC Content delivery in wireless wide area networks
US10419533B2 (en) 2010-03-01 2019-09-17 Genghiscomm Holdings, LLC Edge server selection for device-specific network topologies
US11330046B2 (en) 2010-03-01 2022-05-10 Tybalt, Llc Content delivery in wireless wide area networks
US11778019B2 (en) 2010-03-01 2023-10-03 Tybalt, Llc Content delivery in wireless wide area networks
US9031996B2 (en) * 2010-03-15 2015-05-12 Salesforce.Com System, method and computer program product for creating a plurality of CNAMES for a website
US20110225206A1 (en) * 2010-03-15 2011-09-15 Salesforce.Com, Inc. System, method and computer program product for creating a plurality of cnames for a website
US20120066360A1 (en) * 2010-09-14 2012-03-15 Cdnetworks Co., Ltd. Cname-based round-trip time measurement in a content delivery network
US8489724B2 (en) * 2010-09-14 2013-07-16 Cdnetworks Co., Ltd. CNAME-based round-trip time measurement in a content delivery network
US9037690B2 (en) * 2010-11-16 2015-05-19 Edgecast Networks, Inc. Discrete mapping for targeted caching
US20130268616A1 (en) * 2010-11-16 2013-10-10 Edgecast Networks, Inc. Discrete Mapping for Targeted Caching
US8478858B2 (en) 2011-02-01 2013-07-02 Limelight Networks, Inc. Policy management for content storage in content delivery networks
US20120198071A1 (en) * 2011-02-01 2012-08-02 Limelight Networks, Inc. Distributed Landing Pad and Brick Topology for Content Storage in Content Delivery Networks
US8615577B2 (en) 2011-02-01 2013-12-24 Limelight Networks, Inc. Policy based processing of content objects in a content delivery network using mutators
US8521813B2 (en) 2011-02-01 2013-08-27 Limelight Networks, Inc. Content replication workflow in content delivery networks
US8291083B2 (en) * 2011-02-01 2012-10-16 Limelight Networks, Inc. Distributed landing pad and brick topology for content storage in content delivery networks
US8856329B2 (en) 2011-02-01 2014-10-07 Limelight Networks, Inc. Multicast mapped look-up on content delivery networks
US8396970B2 (en) 2011-02-01 2013-03-12 Limelight Networks, Inc. Content processing between locations workflow in content delivery networks
US8458290B2 (en) 2011-02-01 2013-06-04 Limelight Networks, Inc. Multicast mapped look-up on content delivery networks
US11178244B2 (en) * 2011-08-09 2021-11-16 Comcast Cable Communications, Llc Content delivery network routing using border gateway protocol
US20130041972A1 (en) * 2011-08-09 2013-02-14 Comcast Cable Communications, Llc Content Delivery Network Routing Using Border Gateway Protocol
US20130103786A1 (en) * 2011-10-20 2013-04-25 Allen Miglore System and method for transporting files between networked or connected systems and devices
US8898244B2 (en) * 2011-10-20 2014-11-25 Allen Miglore System and method for transporting files between networked or connected systems and devices
US9769238B2 (en) * 2011-11-02 2017-09-19 Akamai Technologies, Inc. Multi-domain configuration handling in an edge network server
US20130191499A1 (en) * 2011-11-02 2013-07-25 Akamai Technologies, Inc. Multi-domain configuration handling in an edge network server
US20130173716A1 (en) * 2012-01-01 2013-07-04 Sean S. ROGERS Data delivery optimization
US9160697B2 (en) * 2012-01-01 2015-10-13 Qualcomm Incorporated Data delivery optimization
EP3005176A4 (en) * 2013-06-06 2017-01-25 Ericsson Television Inc. Defragmentation of adaptive streaming segment files in a content delivery network
US20140365613A1 (en) * 2013-06-06 2014-12-11 Ericsson Television Inc. Defragmentation of adaptive streaming segment files in a content delivery network
US10255305B2 (en) * 2016-09-09 2019-04-09 Intel Corporation Technologies for object-based data consistency in distributed architectures

Also Published As

Publication number Publication date
US20070055764A1 (en) 2007-03-08
US20080222281A1 (en) 2008-09-11
EP1493094B1 (en) 2011-07-13
US20030233423A1 (en) 2003-12-18
US7376716B2 (en) 2008-05-20
US7603439B2 (en) 2009-10-13
EP1493094A1 (en) 2005-01-05
AU2003228479A1 (en) 2003-10-27
ATE516554T1 (en) 2011-07-15
US7133905B2 (en) 2006-11-07
WO2003088065A1 (en) 2003-10-23
EP1493094A4 (en) 2008-11-05

Similar Documents

Publication Publication Date Title
US7133905B2 (en) Method and system for tiered distribution in a content delivery network
US7565450B2 (en) System and method for using a mapping between client addresses and addresses of caches to support content delivery
US8806008B2 (en) HTML delivery from edge-of-network servers in a content delivery network (CDN)
US7908337B2 (en) System and method for using network layer uniform resource locator routing to locate the closest server carrying specific content
US7343422B2 (en) System and method for using uniform resource locators to map application layer content names to network layer anycast addresses
US6542964B1 (en) Cost-based optimization for content distribution using dynamic protocol selection and query resolution for cache server
US7577754B2 (en) System and method for controlling access to content carried in a caching architecture
US7111006B2 (en) System and method for providing distributed database services
US20020016860A1 (en) System and method for resolving network layer anycast addresses to network layer unicast addresses
US8224986B1 (en) Methods and apparatus for redirecting requests for content
US7562153B2 (en) Method and apparatus for content distribution network brokering and peering
US20030079027A1 (en) Content request routing and load balancing for content distribution networks
EP1277327B1 (en) System and method for using network layer uniform resource locator routing to locate the closest server carrying specific content
Iyengar et al. Web caching, consistency, and content distribution
WO2001084802A2 (en) System and method for using uniform resource locators to map application layer content names to network layer anycast addresses
WO2001084803A2 (en) System and method for resolving network layer anycast addresses to network layer unicast addresses

Legal Events

Date Code Title Description
AS Assignment

Owner name: AKAMAI TECHNOLOGIES, INC., MASSACHUSETTS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DILLEY, JOHN A.;BERKHEIMER, ANDREW D.;REEL/FRAME:023356/0352;SIGNING DATES FROM 20020404 TO 20020408

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION