Highly available distributed storage system for internet content with storage site redirection
First Claim
1. A method of content storage on behalf of participating content providers, comprising:
- having a given content provider identify content for storage;
having the given content provider upload the content to a given site selected from a set of replica sites, wherein at least some of the replica sites are located in different locations across different networks available over the public Internet;
initiating replication of the content from the given site to each replica site in the set of replica sites;
upon receiving a request from a given entity, identifying which of the replica sites should be used to retrieve the content;
directing the request to the identified replica site;
determining whether the request can be serviced at the identified replica site;
if the request can be serviced at the identified replica site, downloading the content from the identified replica site to the given entity; and
if the request cannot be serviced at the identified replica site, redirecting the request to another replica site.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for content storage on behalf of participating content providers begins by having a given content provider identify content for storage. The content provider then uploads the content to a given storage site selected from a set of storage sites. Following upload, the content is replicated from the given storage site to at least one other storage site in the set. Upon request from a given entity, a given storage site from which the given entity may retrieve the content is then identified. The content is then downloaded from the identified given storage site to the given entity. In an illustrative embodiment, the given entity is an edge server of a content delivery network (CDN).
-
Citations
18 Claims
-
1. A method of content storage on behalf of participating content providers, comprising:
-
having a given content provider identify content for storage;
having the given content provider upload the content to a given site selected from a set of replica sites, wherein at least some of the replica sites are located in different locations across different networks available over the public Internet;
initiating replication of the content from the given site to each replica site in the set of replica sites;
upon receiving a request from a given entity, identifying which of the replica sites should be used to retrieve the content;
directing the request to the identified replica site;
determining whether the request can be serviced at the identified replica site;
if the request can be serviced at the identified replica site, downloading the content from the identified replica site to the given entity; and
if the request cannot be serviced at the identified replica site, redirecting the request to another replica site. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method operative in a storage infrastructure comprising a set of storage sites, wherein a participating content provider uploads content to a given storage site in the site, comprising the steps of:
-
(a) initiating replication of the content from the given storage site to each replica site in the set of replica sites;
(b) upon receiving a request from a given entity, identifying a first replica site;
(c) directing the request to the first replica site;
(d) if the request cannot be serviced at the first replica site, redirecting the request to a second replica site; and
(e) if the request cannot be serviced at the second replica site, redirecting the request to a third replica site. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A method operative in a storage infrastructure comprising a set of storage sites, wherein a participating content provider uploads content to a given storage site in the site, comprising the steps of:
-
(a) initiating replication of the content from the given storage site to each replica site in the set of replica sites;
(b) upon receiving a request from a given entity, identifying a first replica site;
(c) directing the request to the first replica site;
(d) if the request cannot be serviced at the first replica site, redirecting the request to a second replica site; and
(e) if the request cannot be serviced at the second replica site, retrieving the content from an origin server.
-
Specification