Distributed Content Management
Abstract
A method for managing content, within a video-on-demand system, which includes receiving, at a first content source, a request for content. The method also includes determining that the content is not available from the first content source. The method also includes determining that a second content source cost to retrieve the content from a second content source is less than a third content source cost to retrieve the content from a third content source. The costs are determined based on a network impact to fetch the content to the first content source. The method also includes in response to determining that the second content source cost is less than the third content source cost, fetching the content from the second content source. The first content source, the second content source, and the third content source each maintain a different subset of content available from a master content source.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method comprising:
receiving, by a processing apparatus at a first content source, a request for content; determining that the content is not available from the first content source; determining that a second content source cost associated with retrieving the content from a second content source is less than a third content source cost associated with retrieving the content from a third content source, wherein the second content source cost and the third content source cost are determined based on a network impact to fetch the content to the first content source; and in response to determining that the second content source cost is less than the third content source cost, fetching, to the first content source, the content from the second content source, wherein the first content source, the second content source, and the third content source each maintain a different subset of content available from a master content source.
2 . The method of claim 1 , further comprising:
determining that there is not sufficient memory to cache the content at the first content source; and selecting one or more items to evict from a cache at the first content source to make available sufficient memory for the content, wherein the selection of the one or more items to evict minimizes a network penalty associated with the eviction of the one or more items, wherein the network penalty is based on sizes of the content and the items, and numbers of requests expected to be received for the content and the items.
3 . The method of claim 1 , wherein the second content source cost is based on traffic which is predicted to occur over a link to the second content source, and wherein the third content source cost is based on traffic which is predicted to occur over a link to the third content source.
4 . The method of claim 1 , wherein the first content source comprises a first server, the second content source comprises a second server, the third content source comprises a third server, and the master content source comprises a master server.
5 . The method of claim 1 , wherein the second content source cost and the third content source cost are based on a number of items simultaneously transferred over a network link.
6 . The method of claim 1 , wherein the second content source cost and the third content source cost are further based on using historical traffic data to predict traffic for a target fetch time for the content.
7 . The method of claim 1 , wherein the second content source cost and the third content source cost are based on predicted traffic for one or more specific time intervals during a day, and wherein the predicted traffic is based on an analysis of repetitive traffic patterns.
8 . The method of claim 1 , wherein the first content source is a first video home office (VHO), the second content source is a second VHO, and the third content source is a third VHO, wherein the master content source is a video service office (VSO).
9 . A non-transitory computer-readable medium comprising instructions that, when executed by a processing apparatus, cause the processing apparatus to perform operations comprising:
receiving, by the processing apparatus, a request for content to be delivered from a first content source; determining that the content is not available from the first content source; determining that a second content source cost associated with retrieving the content from a second content source is less than a third content source cost associated with retrieving the content from a third content source, wherein the second content source cost and the third content source cost are determined based on a network impact to fetch the content to the first content source; and in response to determining that the second content source cost is less than the third content source cost, fetching, by the first content source, the content from the second content source, wherein the first content source, the second content source, and the third content source each maintain a different subset of content available from a master content source.
10 . The non-transitory computer-readable medium of claim 9 , wherein the operations further comprise:
determining that there is not sufficient memory to cache the content at the first content source; and selecting one or more items to evict from a cache at the first content source to make available sufficient memory for the content, wherein the selection of the items minimizes a network penalty associated with the eviction of the items, wherein the network penalty is based on sizes of the content and the items, numbers of requests expected to be received for the content and the items, and fetch costs associated with retrieving the content and the items, wherein each of the fetch costs is based on a sum of link weights of links in a network path for fetching each of the content and the items, and wherein each of the link weights is based on traffic predicted on a link in the links of the network path.
11 . The non-transitory computer-readable medium of claim 9 , wherein the operations further comprise:
determining a stream cost associated with streaming, from a content source other than the first content source, the content to fulfill the request for the content; and in response to determining that the stream cost is less than a cost to cache the content to the first content source, streaming the content from the second content source.
12 . The non-transitory computer-readable medium of claim 9 , wherein the second content source cost is based on traffic which is predicted to occur over a most utilized link to the second content source, and wherein the third content source cost is based on traffic which is predicted to occur over a most utilized link to the third content source.
13 . The non-transitory computer-readable medium of claim 12 , wherein the second content source cost and the third content source cost are based on historical traffic data.
14 . The non-transitory computer-readable medium of claim 12 , wherein the second content source cost and the third content source cost are based on a number of items simultaneously transferred over a network link.
15 . The non-transitory computer-readable medium of claim 12 , wherein the second content source cost and the third content source cost are based on predicted traffic for one or more specific time intervals during a day, and wherein the predicted traffic is based on an analysis of repetitive traffic patterns.
16 . The non-transitory computer-readable medium of claim 9 , wherein the first content source is a first distributed storage component, the second content source is a second distributed storage component, and the third content source is a third distributed storage component, wherein the master content source is a central repository.
17 . A system for a first server comprising:
a storage; and a processing apparatus, coupled to the storage, to:
receive a request for content from a client device;
determine that the content is not stored by the storage;
determine that a second server cost associated with retrieving the content from a second server is less than a third server cost associated with retrieving the content from a third server, wherein the second server cost and the third server cost are determined based on a network impact to fetch the content to the first server; and
in response to determining that the second server cost is less than the third server cost, fetching, by the first server, the content from the second server, wherein the first server, the second server, and the third server each maintain a different subset of content available from a master server.
18 . The system of claim 17 , wherein the processing apparatus is further to:
determine that the storage is insufficient to cache the content at the first server; and select one or more items to evict from a cache at the first server to make available sufficient space on the storage for the content, wherein the selection of the items minimizes a network penalty associated with the eviction of the items, wherein the network penalty is based on sizes of the content and the items, numbers of requests expected to be received for the content and the items, and fetch costs associated with retrieving the content and the items, wherein each of the fetch costs is based on a sum of link weights of links in a network path for fetching each of the content and the items, and wherein each of the link weights is based on traffic predicted on a link in the links of the network path.
19 . The system of claim 17 , wherein the processing apparatus is further to:
determine a stream cost associated with streaming, from a server other than the first server, the content to fulfill the request for the content; and in response to determining that the stream cost is less than a cost to cache the content to the first server, streaming the content to fulfill the request for the content.
20 . The system of claim 17 , wherein the second server cost and the third server cost are based on historical traffic data and predicted traffic.Join the waitlist — get patent alerts
Track US2016286250A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.