Dynamic fill target selection in a content delivery framework
First Claim
1. A computer-implemented method, in a content delivery framework including a network comprising multiple content delivery service endpoints, said content delivery service endpoints running on a plurality of devices, wherein said multiple content service endpoints form a plurality of sub-clusters, the method operable on a device comprising hardware including memory and at least one processor, the method comprising:
- (A) defining a group from a first set of nodes comprising content delivery service instances across the devices of said plurality of sub-clusters, wherein each node in the group assumes one or more discrete responsibilities involved in processing of a content delivery request across the group, wherein said discrete responsibilities include being fill-responsible for said content delivery request, and wherein the defining of the group is according to a peering policy at least based on capabilities and capacities of nodes in the group, wherein said peering policy maps different request types to different responsibility chains;
(B) selecting, from a second set, a particular fill-responsible node to be responsible for processing a particular content delivery request made at a node of the group, said particular content delivery request relating to particular content comprising a particular resource, said particular resource comprising content deliverable by the content delivery framework, said selecting of said particular fill-responsible node being based on said particular resource,wherein the second set comprises nodes that are fill-responsible for the particular resource, including (i) one or more nodes in the group that are fill-responsible for the particular resource, and (ii) at least one fill-responsible node outside the group,said second set being defined based on a policy associated with the particular resource; and
(C) one of;
(C)(1) redirecting said particular content delivery request to said particular fill-responsible node; and
(C)(2) filling the particular resource from said particular fill-responsible node, wherein, in (C)(1) and (C)(2), if said particular fill-responsible node does not have said particular resource in a cache thereof, said particular fill-responsible node fills the particular resource from a remote fill target.
1 Assignment
0 Petitions
Accused Products
Abstract
In a content delivery framework including a network with multiple delivery service endpoints running on devices, the multiple service endpoints forming a plurality of sub-clusters, a group is defined from a set of nodes comprising delivery service instances across the devices of the plurality of sub-clusters. Each node in the group assumes one or more discrete responsibilities involved in processing of a request across the group, the discrete responsibilities including being fill-responsible. A fill-responsible node is selected from the group to be responsible for processing a request made at a node of the group, the request relating to a particular resource. Selection of the fill-responsible node is based on the particular resource, and the fill-responsible node is selected from a set of one or more nodes in the group that are fill-responsible for the particular resource, the set being defined based on a policy associated with the particular resource.
371 Citations
19 Claims
-
1. A computer-implemented method, in a content delivery framework including a network comprising multiple content delivery service endpoints, said content delivery service endpoints running on a plurality of devices, wherein said multiple content service endpoints form a plurality of sub-clusters, the method operable on a device comprising hardware including memory and at least one processor, the method comprising:
-
(A) defining a group from a first set of nodes comprising content delivery service instances across the devices of said plurality of sub-clusters, wherein each node in the group assumes one or more discrete responsibilities involved in processing of a content delivery request across the group, wherein said discrete responsibilities include being fill-responsible for said content delivery request, and wherein the defining of the group is according to a peering policy at least based on capabilities and capacities of nodes in the group, wherein said peering policy maps different request types to different responsibility chains; (B) selecting, from a second set, a particular fill-responsible node to be responsible for processing a particular content delivery request made at a node of the group, said particular content delivery request relating to particular content comprising a particular resource, said particular resource comprising content deliverable by the content delivery framework, said selecting of said particular fill-responsible node being based on said particular resource, wherein the second set comprises nodes that are fill-responsible for the particular resource, including (i) one or more nodes in the group that are fill-responsible for the particular resource, and (ii) at least one fill-responsible node outside the group, said second set being defined based on a policy associated with the particular resource; and
(C) one of;(C)(1) redirecting said particular content delivery request to said particular fill-responsible node; and (C)(2) filling the particular resource from said particular fill-responsible node, wherein, in (C)(1) and (C)(2), if said particular fill-responsible node does not have said particular resource in a cache thereof, said particular fill-responsible node fills the particular resource from a remote fill target. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 17)
-
-
14. A device, operable in a content delivery framework including a network comprising multiple delivery service endpoints, said delivery service endpoints running on a plurality of devices, wherein said multiple service endpoints form a plurality of sub-clusters, the device comprising:
-
hardware including memory and at least one processor, and a service running on said hardware, wherein said service is configured to; (a) define a group from a first set of nodes comprising content delivery service instances across the devices of said plurality of sub-clusters, wherein each node in the group assumes one or more discrete responsibilities involved in processing of a content delivery request across the group, wherein said discrete responsibilities include being fill-responsible for said content delivery request, and wherein the defining of the group is according to a peering policy at least based on capabilities and capacities of nodes in the group, wherein said peering policy maps different request types to different responsibility chains; and (b) select, from a second set, a particular fill-responsible node to be responsible for processing a particular content delivery request made at a node of the group, said particular content delivery request relating to a particular resource, said selecting of said particular fill-responsible node being based on said particular resource, wherein the second set comprises nodes that are fill-responsible for the particular resource, including (i) one or more nodes in the group that are fill-responsible for the particular resource, and (ii) at least one fill-responsible node outside the group, said particular resource comprising content deliverable by the content delivery framework, said second set being defined based on a policy associated with the particular resource; and (c) one of; (c)(1) redirect said particular content delivery request to said particular fill-responsible node; and (c)(2) fill the particular resource from said particular fill-responsible node, wherein, in (c)(1) and (c)(2), if said particular fill-responsible node does not have said particular resource in a cache thereof, said particular fill-responsible node fills the particular resource from a remote fill target. - View Dependent Claims (15, 18)
-
-
16. An article of manufacture, comprising non-transitory computer-readable media having computer-readable instructions stored thereon, the computer readable instructions including instructions for implementing a computer-implemented method, said method operable on a device comprising hardware including memory and at least one processor and running a service on said hardware, said method operable in a content delivery framework including a network comprising multiple delivery service endpoints, said delivery service endpoints running on a plurality of devices, wherein said multiple service endpoints form a plurality of sub-clusters, the method operable on a device comprising hardware including memory and at least one processor,
said method comprising: -
(A) defining a group from a first set of nodes comprising delivery service instances across the devices of said plurality of sub-clusters, wherein each node in the group assumes one or more discrete responsibilities involved in processing of a content delivery request across the group, wherein said discrete responsibilities include being fill-responsible for said content delivery request, and wherein the defining of the group is according to a peering policy at least based on capabilities and capacities of nodes in the group, wherein said peering policy maps different request types to different responsibility chains; (B) selecting, from a second set, a particular fill-responsible node to be responsible for processing a particular content delivery request made at a node of the group, said particular content delivery request relating to a particular resource, said selecting of said fill-responsible node being based on said particular resource, wherein the second set comprises nodes that are fill-responsible for the particular resource, including (i) one or more nodes in the group that are fill-responsible for the particular resource, and (ii) at least one fill-responsible node outside the group, said particular resource comprising content deliverable by the content delivery framework, said second set being defined based on a policy associated with the particular resource; (C) one of; (C)(1) redirect said particular content delivery request to said particular fill-responsible node;
or(C)(2) fill the particular resource from said particular fill-responsible node, wherein, in (C)(1) and (C)(2), if said particular fill-responsible node does not have said particular resource in a cache thereof, said particular fill-responsible node fills the particular resource from a remote fill target. - View Dependent Claims (19)
-
Specification