Global hosting system
DC CAFCFirst Claim
1. A distributed hosting framework operative in a computer network in which users of client machines connect to a content provider server, the framework comprising:
- a routine for modifying at least one embedded object URL of a web page to include a hostname pretended to a domain name and path;
a set of content servers, distinct from the content provider server, for hosting at least some of the embedded objects of web pages that are normally hosted by the content provider server;
at least one first level name server that provides a first level domain name service (DNS) resolution; and
at least one second level name server that provides a second level domain name service (DNS) resolution;
wherein in response to requests for the web page, generated by the client machines the web page including the modified embedded object URL is served from the content provider server and the embedded object identified by the modified embedded object URL is served from a given one of the content servers as identified by the first level and second level name servers.
1 Assignment
Litigations
0 Petitions
Accused Products
Abstract
The present invention is a network architecture or framework that supports hosting and content distribution on a truly global scale. The inventive framework allows a Content Provider to replicate and serve its most popular content at an unlimited number of points throughout the world. The inventive framework comprises a set of servers operating in a distributed manner. The actual content to be served is preferably supported on a set of hosting servers (sometimes referred to as ghost servers). This content comprises HTML page objects that, conventionally, are served from a Content Provider site. In accordance with the invention, however, a base HTML document portion of a Web page is served from the Content Provider'"'"'s site while one or more embedded objects for the page are served from the hosting servers, preferably, those hosting servers near the client machine. By serving the base HTML document from the Content Provider'"'"'s site, the Content Provider maintains control over the content.
-
Citations
34 Claims
-
1. A distributed hosting framework operative in a computer network in which users of client machines connect to a content provider server, the framework comprising:
-
a routine for modifying at least one embedded object URL of a web page to include a hostname pretended to a domain name and path; a set of content servers, distinct from the content provider server, for hosting at least some of the embedded objects of web pages that are normally hosted by the content provider server; at least one first level name server that provides a first level domain name service (DNS) resolution; and at least one second level name server that provides a second level domain name service (DNS) resolution; wherein in response to requests for the web page, generated by the client machines the web page including the modified embedded object URL is served from the content provider server and the embedded object identified by the modified embedded object URL is served from a given one of the content servers as identified by the first level and second level name servers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 26, 27, 28)
-
-
14. A method of serving a page supported at a content provider server, the page comprising a markup language base document having associated therewith a set of embedded objects, each embedded object identified by a URL, comprising the steps of:
-
rewriting the URL of an embedded object to generate a modified URL, the modified URL including a new hostname prepended to an original hostname, wherein the original hostname is maintained as part of the modified URL for use in retrieving the embedded object whenever a cached copy of the embedded object is not available; in response to a request to serve the page received at the content provider site, serving the page with the modified URL; attempting to serve the embedded object from a content server other than the content provider server as identified by the new hostname; and if the cached copy of the embedded object is not available from the content server, serving the embedded object from the content provider server.
-
-
15. A method of serving a page and an associated page object, wherein the page is stored on a content provider server and copies of the page object are stored on a set of content servers distinct from the content provider server, comprising the steps of:
-
(a) modifying a URL for the page object to include a hostname prepended to a content provider-supplied domain name and path; (b) serving the page from the content provider server with the modified URL; (c) responsive to a browser query to resolve the hostname, identifying a given one of the set of content servers from which the object may be retrieved; and (d) returning to the browser an IP address of the identified content server to enable the browser to attempt to retrieve the object from that content server. - View Dependent Claims (16)
-
-
17. A content delivery method, comprising:
-
tagging an embedded object in a page to resolve to a domain other than a content provider domain by prepending given data to a content provider-supplied URL to generate an alternate resource locator (ARL); serving the page from a content provider server with the ARL; and resolving the ARt to identify a content server in the domain; and serving the embedded object from the identified content server. - View Dependent Claims (18)
-
-
19. A content delivery service, comprising:
-
replicating a set of page objects across a wide area network of content servers managed by a domain other than a content provider domain; for a given page normally served from the content provider domain, tagging the embedded objects of the page so that requests for the page objects resolve to the domain instead of the content provider domain; responsive to a request for the given page received at the content provider domain, serving the given page from the content provider domain; and serving at least one embedded object of the given page from a given content server in the domain instead of from the content provider domain. - View Dependent Claims (20, 21, 22)
-
-
23. A method for Internet content delivery, comprising:
-
at the content provider server, modifying at least one embedded object URL of a page to include a hostname prepended to a domain name and a path normally used to retrieve the embedded object; responsive to a request for the page issued from a client machine, serving the page with the modified embedded object URL to the client machine from the content provider server; responsive to a request for the embedded object, resolving the hostname to an IP address of a content server, other than the content provider server, that is likely to host the embedded object; and attempting to serve the embedded object to the client from the content server. - View Dependent Claims (24, 25, 29, 30, 31, 32, 33)
-
-
34. A content delivery method, comprising:
-
distributing a set of page objects across a network of content servers managed by a domain other than a content provider domain, wherein the network of content servers are organized into a set of regions; for a given page normally served from the content provider domain, tagging at least some of the embedded objects of the page so that requests for the objects resolve to the domain instead of the content provider domain; in response to a client request for an embedded object of the page; resolving the client request as a function of a location of the client machine making the request and current Internet traffic conditions to identify a given region; and returning to the client an IP address of a given one of the content servers within the given region that is likely to host the embedded object and that is not overloaded.
-
Specification