Server utilizing multiple object retrieval candidates
AssigneeAkamai Technologies, Inc.
InventorsUtkarsh Goel, Martin T. Flack
Life of this patent
Estimating the term…
Abstract
Enable a CDN server to potentially go forward to any of multiple candidate servers (or other infrastructure) to retrieve a client-requested object, based on periodic testing of such candidate servers or infrastructure for cache hits and network latency (among other things), and scoring thereof. Such candidate servers or infrastructure represent alternative places to get the object. Importantly, a candidate may be a server or infrastructure owned and/or operated by another CDN, including a CDN industry competitor, and may be discovered in a preliminary process that involves detection of multi-CDN arrangements on the Internet where the foregoing approach may be viable.
Claims20
In a method of fetching an object requested by a client, the method performed in a system that has one or more proxy servers that field requests from end user client devices for objects, where the system has detected a particular hostname as being configured for a multi-CDN strategy that involves the use of first and second CDNs for delivery of objects under the particular hostname, the improvement comprising:
- A. based upon the detection of the particular hostname configured for a multi-CDN strategy, the system communicating the particular hostname to any of a particular proxy server and a point of presence associated therewith;
- B. based upon receipt of the particular hostname, any of the particular proxy server and another server in the point of presence establishing a multi-CDN scoring model that is associated with a task of the particular proxy server of the system retrieving an object under that hostname, wherein the scoring model includes both the first and second CDNs, the scoring model comprising:
- identification of first and second candidates from which to retrieve the object, the first candidate being any of a server and an infrastructure associated with the first CDN and the second candidate being any of a server and an infrastructure associated with the second CDN;
- a first score for the first candidate, the first score indicating the utility of contacting the first candidate to retrieve the object, applicable from a network vantage point of the particular proxy server in the system;
- and
- a second score for the second candidate, the second score indicating the utility of contacting the second candidate to retrieve the object, applicable from the network vantage point of the particular proxy server in the system;
- wherein said first and second scores vary across proxy servers in the system;
- C. the multi-CDN scoring model being any of provided to or generated by the particular proxy server of the system;
- D. at the particular proxy server of the system:
- receiving a request from a client for an object under the particular hostname that is configured for the multi-CDN strategy;
- determining that the object is not available to serve from a local cache at the particular proxy server;
- based on the particular hostname being in the multi-CDN scoring model, selecting one of the first and second candidates for retrieving the object, based on the first and second scores;
- and,
- as a result of said selection, sending a forward request to the selected candidate for the object.
In a system that includes a particular proxy server that fetches an object requested by a client, the system having one or more proxy servers that field requests from end user client devices for objects, where the system has detected a particular hostname as being configured for a multi-CDN strategy that involves the use of first and second CDNs for delivery of objects under the particular hostname, the improvement comprising:
- A. based upon the detection of the particular hostname configured for a multi-CDN strategy, a system component communicating the particular hostname to any of a particular proxy server and a point of presence associated therewith;
- B. based upon receipt of the particular hostname, any of the particular proxy server and another server in the point of presence establishing a multi-CDN scoring model that is associated with a task of the particular proxy server of the system retrieving an object under that hostname, wherein the scoring model includes both the first and second CDNs, the scoring model comprising:
- identification of first and second candidates from which to retrieve the object, the first candidate being any of a server and an infrastructure associated with the first CDN and the second candidate being any of a server and an infrastructure associated with the second CDN;
- a first score for the first candidate, the first score indicating the utility of contacting the first candidate to retrieve the object, applicable from a network vantage point of the particular proxy server in the system;
- and
- a second score for the second candidate, the second score indicating the utility of contacting the second candidate to retrieve the object, applicable from the network vantage point of the particular proxy server in the system;
- wherein said first and second scores vary across proxy servers in the system;
- C. the multi-CDN scoring model being any of provided to or generated by the particular proxy server of the system;
- D. at the particular proxy server of the system:
- receiving a request from a client for an object under the particular hostname that is configured for the multi-CDN strategy;
- determining that the object is not available to serve from a local cache at the particular proxy server;
- based on the particular hostname being in the multi-CDN scoring model, selecting one of the first and second candidates for retrieving the object, based on the first and second scores;
- and,
- as a result of said selection, sending a forward request to the selected candidate for the object.
In a method of fetching an object requested by a client, the method performed in a system that has one or more proxy servers that field requests from end user client devices for objects, where the system has detected a particular hostname as being configured for a multi-source strategy that involves the use of a CDN and at least one server deployed by a network operator for delivery of objects under the particular hostname, the improvement comprising:
- A. based upon the detection of the particular hostname configured for a multi-source strategy, the system automatically communicating the particular hostname to any of a particular proxy server and a point of presence associated therewith;
- B. based upon receipt of the particular hostname, any of the particular proxy server and another server in the point of presence establishing a multi-source scoring model that is associated with a task of the particular proxy server retrieving an object under that hostname, wherein the scoring model includes both the CDN and the at least one server deployed by the network operator, the scoring model comprising:
- identification of first and second candidates from which to retrieve the object, the first candidate being any of a server and an infrastructure associated with the CDN and the second candidate comprising the at least one server deployed by the network operator;
- a first score for the first candidate, the first score indicating the utility of contacting the first candidate to retrieve the object, applicable from a network vantage point of the particular proxy server in the system;
- and
- a second score for the second candidate, the second score indicating the utility of contacting the second candidate to retrieve the object, applicable from the network vantage point of the particular proxy server in the system;
- wherein said first and second scores vary across proxy servers in the system;
- C. the multi-source scoring model being any of provided to or generated by the particular proxy server of the system;
- D. at the particular proxy server of the system:
- receiving a request from a client for an object under the particular hostname that is configured for the multi-source strategy;
- determining that the object is not available to serve from a local cache at the particular proxy server,
- based on the particular hostname being in the multi-source scoring model, selecting one of the first and second candidates for retrieving the object, based on the first and second scores;
- and,
- as a result of said selection, sending a forward request to the selected candidate for the object.
Dependencies are inferred from the claim text.