US2015365465A1PendingUtilityA1

Site acceleration with content prefetching enabled through customer-specific configurations

Assignee: AKAMAI TECH INCPriority: Dec 30, 2005Filed: Aug 24, 2015Published: Dec 17, 2015
Est. expiryDec 30, 2025(expired)· nominal 20-yr term from priority
H04L 69/16H04L 67/06G06F 16/9574H04L 67/02
50
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A CDN edge server is configured to provide one or more extended content delivery features on a domain-specific, customer-specific basis, preferably using configuration files that are distributed to the edge servers using a configuration system. A given configuration file includes a set of content handling rules and directives that facilitate one or more advanced content handling features, such as content prefetching. When prefetching is enabled, the edge server retrieves objects embedded in pages (normally HTML content) at the same time it serves the page to the browser rather than waiting for the browser's request for these objects. This can significantly decrease the overall rendering time of the page and improve the user experience of a Web site.

Claims

exact text as granted — not AI-modified
Having described our invention, what we claim is as follows.  
     
         1 . In an edge server in a content delivery network that is shared by a set of participating content providers, wherein a given content provider identifies given content for delivery, a method of content delivery, comprising:
 as a given object associated with a content provider domain is being served to a requesting client, scanning the given object if a prefetching status for the content provider domain has been enabled and a given prefetch limit has not been exceeded; and   prefetching a content object associated with the given object.   
     
     
         2 . The method as described in  claim 1  wherein the scanning step is initiated if a content-type associated with the given object has a given value. 
     
     
         3 . The method as described in  claim 1  wherein the scanning step is initiated if a response code associated with the given object has a given value. 
     
     
         4 . The method as described in  claim 1  wherein the given prefetch limit is one of:
 a number of prefetch requests, and an amount of bandwidth usage associated with the prefetch requests. 
 
     
     
         5 . The method as described in  claim 4  wherein the number of prefetch requests has a first threshold value at which prefetching is stopped, and a second threshold value at which prefetching, once stopped, is reinitiated. 
     
     
         6 . The method as described in  claim 4  wherein the amount of bandwidth usage associated with the prefetch requests has a first threshold value at which prefetching is stopped, and a second threshold value at which prefetching, once stopped, is reinitiated. 
     
     
         7 . The method as described in  claim 4  further including setting a time-scale over which the given prefetch limit is evaluated. 
     
     
         8 . The method as described in  claim 1  wherein the content object is cacheable. 
     
     
         9 . The method as described in  claim 8  wherein the prefetching step further includes:
 determining whether the content object is already cached on disk in the edge server; and 
 if the content object is already cached on disk in the edge server, moving the content object from disk to memory. 
 
     
     
         10 . The method as described in  claim 1  wherein the content object is non-cacheable. 
     
     
         11 . The method as described in  claim 10  further including the step of configuring a unique identifier to prevent the content object from being delivered to any entity except the requesting client. 
     
     
         12 . The method as described in  claim 1  wherein the content object includes at least one prefetchable object associated therewith, and the method further includes the step of performing a prefetching operation on the prefetchable object associated with the content object. 
     
     
         13 . The method as described in  claim 1  wherein the content object has a domain that is the same as the content provider domain or different from the content provider domain. 
     
     
         14 . The method as described in  claim 1  wherein the content object is fetched from one of: an origin server, and a parent edge server. 
     
     
         15 . Apparatus that is shared by a set of participating content providers, wherein a given content provider has an associated origin server and identifies given content for delivery, comprising:
 a processor and an associated operating system;   a proxy server;   a data store in which is stored a customer-specific, domain-specific configuration file that includes a set of one or more content prefetching directives; and   code executable in the processor to prefetch one or more content objects associated with a given object as the given object is being served to a requesting client in accordance with the one or more content prefetching directives in the configuration file.   
     
     
         16 . The apparatus as described in  claim 15  wherein the one or more content prefetching directives includes one of: a directive to enable prefetching, a directive to identify a content type for which prefetching is enabled, a directive to identify a prefetching scanning method, a directive to indicate whether prefetching should be enabled if the proxy server connects to the origin server directly, a directive to indicate whether prefetching should be enabled if the given object was cached at the proxy server, a directive to manage prefetching of a non-cacheable content object, a directive indicating a maximum number of content objects to prefetch within the given object, a directive identifying a set of one or more content object element types for which prefetching is enabled, a directive to allow prefetching for a content object that has a domain that differs from the domain of the given object, a directive to allow recursive prefetching on at least one content object, and a directive to provide rate limiting to at least one prefetch request. 
     
     
         17 . In an edge server of a content delivery network that is shared by a set of participating content providers, wherein a given content provider has an associated origin server and identifies given content for delivery, a method of content delivery, comprising:
 receiving a customer-specific, domain-specific configuration file that includes one or more prefetching directives, and at least one other content delivery directive;   as a given object associated with a content provider domain is being served to a requesting client, scanning the given object if a prefetching status for the content provider domain has been enabled as indicated by the prefetching directive in the configuration file;   prefetching at least a first content object associated with the given object, wherein the first content object is cacheable and is prefetched from one of: the origin server, a parent edge server, and a disk associated with the edge server; and   fetching a second content object associated with the content provider domain as indicated by the other content delivery directive in the configuration file.   
     
     
         18 . The method as described in  claim 17  wherein the second content object is dynamic content and is fetched from the origin server. 
     
     
         19 . The method as described in  claim 18  wherein the other content delivery directive in the configuration file controls the edge server to obtain the second content object via a path that includes at least one other edge server in the content delivery network. 
     
     
         20 . The method as described in  claim 17  wherein the other content delivery directive in the configuration file is a directive to optimize a TCP connection parameter associated with the edge server.

Join the waitlist — get patent alerts

Track US2015365465A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.