Systems and methods for allocating bandwidth in switched digital video systems based on interest
US-9516367-B2 · Dec 6, 2016 · US
US9762692B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9762692-B2 |
| Application number | US-88032410-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 13, 2010 |
| Priority date | Apr 4, 2008 |
| Publication date | Sep 12, 2017 |
| Grant date | Sep 12, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A content delivery network has at least a first tier of servers. A content delivery method includes, at a first server in the first tier of servers, obtaining a request from a client for a resource. If the resource is available at the first server or at a peer of the first server, then the resource is served to the client from the first server. Otherwise, it is determined whether the resource is popular, and if the resource is determined to be popular, then the first server obtains the resource and the first server serves the resource to the client. If the resource is determined not to be popular, the client is directed to a second server, not in the first tier of servers, and the second server serves the resource to the client. The second server may be in a second tier of servers or it may be an origin server.
Opening claim text (preview).
We claim: 1. A method of content delivery in a content delivery network comprising at least a first tier of servers, the method comprising: at a first server in the first tier of servers, obtaining a request from a client for a resource, wherein the resource is available as part of a content provider's library; if the resource is not available at the first server or at a peer of the first server, determining if the resource is popular; if the resource is determined to be popular, then the first server obtaining the resource and the first server serving the resource to the client, otherwise, if the resource is determined not to be popular, directing the client to a second server in a second tier of servers distinct from the first tier of servers, wherein the second server comprises a first portion of the content provider's library, the first portion comprising at least the resource, wherein at least one other server in the second tier comprises a second portion of the content provider's library, wherein the first portion of the content provider's library is distinct from the second portion, and wherein the second tier is any intermediate tier between the first tier and an origin server that stores resources associated with the content provider's library, and the second server serving the resource to the client. 2. A method as recited in claim 1 , wherein portions of the content provider's library are logically partitioned across servers in the second tier. 3. A method as recited in claim 1 , wherein the first portion and the second portion are alphabetically partitioned across servers in the second tier based on a naming convention associated with each distinct resource in the content provider's library. 4. A method as recited in claim 1 , wherein the content provider's library comprises a plurality of content-types, each resource in the library being associated with one of the plurality of content-types. 5. A method as recited in claim 4 further comprising storing distinct portions of the content provider's library on two or more servers in the second tier, wherein the content-types on each of the two or more servers are proportionally distributed, the content-types comprising at least one of audio content, video content, gaming content, and software content. 6. A method as recited in claim 1 , wherein resources of the content provider's library are distributed in a substantially equal manner across servers in the second tier based on hash values of uniform resource locators (URLs) associated with two or more respective resources in the content provider's library. 7. A method as recited in claim 1 , wherein the step of directing the client to a second server in a second tier is performed in response to a step of using a hash to determine which second server in the second tier stores the first portion of the content provider's library. 8. A method as recited in claim 1 wherein the step of determining whether the resource is popular comprises determining whether a current popularity value for the resource exceeds a popularity threshold. 9. A method as recited in claim 8 , wherein the first tier of servers comprises a first popularity threshold and the second tier of servers comprises a second popularity threshold, and wherein the first popularity threshold is different from the second popularity threshold. 10. A content delivery framework comprising: a plurality of edge servers forming a first tier of servers; a plurality of parent servers forming a second tier of servers, the parent servers being distinct from the edge servers; and at least one popularity service constructed and adapted to obtain a first set of information from at least some of the edge servers about requests for content, and to provide the edge servers with a second set of information about which tier of servers should handle those requests for content, the popularity service making its determinations based, at least in part, on a measure of popularity of requested content; and wherein the requested content is available as part of a content provider's library, and wherein distinct portions of the content provider's library are logically partitioned across parent servers in the second tier. 11. A content delivery framework as recited in claim 10 , wherein at least one of the parent servers in the second tier comprises a first logically partitioned portion of the content provider's library, the first logically partitioned portion comprising at least the requested content. 12. A content delivery framework as recited in claim 11 , wherein at least one other parent server in the second tier comprises a second logically partitioned portion of the content provider's library, the second logically partitioned portion being distinct from the first logically partitioned portion. 13. A content delivery framework as recited in claim 10 , wherein the second set of information further includes identification of a parent server in the second tier that stores a logically partitioned portion of the content provider's library comprising the requested content. 14. A content delivery framework as recited in claim 10 , wherein the second tier of parent servers is any intermediate tier between the first tier and an origin server that stores the content provider's library. 15. A method of content delivery in a content delivery network comprising a plurality of tiers of servers, including at least a first tier of servers and a second tier of servers, the method comprising: at a first server in one tier of the tiers of servers, obtaining a request from a client for a resource, wherein the resource is available as part of a content provider's library; if the resource is not available at the first server or at a peer of the first server, then selectively redirecting the request from the client to a second tier server, the second tier server being in a tier distinct from the tier containing the first server, the redirecting being based, at least in part, on a current popularity value for the resource; wherein the second tier server comprises a first portion of the content provider's library, the first portion comprising at least the resource, wherein at least one other second tier server comprises a second portion of the content provider's library distinct from the first portion, and wherein the second tier of servers is any intermediate tier between the first tier and an origin server that stores the content provider's library, and wherein the step of selectively redirecting the request from the client to a second tier server comprises determining to which second tier server the request should be directed, the determining step using a hash function to identify a second tier server that stores the first portion of the content provider's library. 16. A method as recited in claim 15 wherein the first tier of servers comprises a plurality of edge servers and the second tier of servers comprises a plurality of parent servers, and wherein the first server is a parent server in the second tier and the second server is an edge server in the first tier. 17. A method as recited in claim 15 wherein the first tier of servers comprises a plurality of edge servers and the second tier of servers comprises a plurality of parent servers, and wherein the first server is an edge server in the first tier and the second server is a parent server in the second tier. 18. A method as recited in claim 15 wherein the first tier of servers comprises a plurality of edge servers and the second tier of servers comprises a plurality of parent s
using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers (storage management G06F3/0604; allocation of resources considering the load in multiprogramming arrangements G06F9/505; techniques for rebalancing the load in a distributed system G06F9/5083; access to distributed or replicated servers, e.g. load balancing, in data networks H04L67/1001) · CPC title
being end-user preferences (retrieval of video data in a video database based on user preferences G06F16/739; arrangements for recognizing users' preferences H04H60/46; user profiles in network data switching protocols H04L67/306; processing of user preferences or user profiles in wireless networks H04W8/18) · CPC title
Secondary servers, e.g. proxy server, cable television Head-end {(provisioning of proxy services in data packet switching networks H04L67/56)} · CPC title
End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content {(end-user interfaces for retrieving video data from a database G06F16/739; network services for supporting unicast streaming H04L65/612)} · CPC title
involving caching operations (prefetching while addressing of a memory level in which the access to the desired data or data block requires associative addressing means within memory systems or architectures G06F12/0862; caching at an intermediate stage in a data network H04L67/568) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.