Machine learning based content delivery
First Claim
Patent Images
1. A computer-implemented method for facilitating content delivery, the computer-implemented method comprising:
- under control of a hardware computing device configured with specific computer executable instructions,obtaining data regarding a first plurality of requests for network resources received over a specified period of time;
forming a vector that comprises at least a portion of the obtained data;
clustering, using a clustering algorithm that receives the vector as an input, the first plurality of requests based, at least in part, on a similarity measure related to cache performance of a plurality of content serving computing devices to form a plurality of clusters, wherein individual clusters of the plurality of clusters are associated with one or more content serving computing devices of the plurality of content serving computing devices;
instructing one or more content serving computing devices associated with a first cluster of the plurality of clusters to pre-cache at least a portion of content that is commonly requested in requests corresponding to the first cluster in anticipation of a future request corresponding to the first cluster being received;
obtaining a target request for a network resource;
determining that the target request corresponds to the first cluster of the plurality of clusters based on one or more confidence levels derived from an average distance computed between the target request and individual clusters of the plurality of clusters and a size of the individual clusters;
routing the target request to the one or more content serving computing devices associated with the first cluster of the plurality of clusters;
obtaining cache performance data corresponding to the routing of the target request;
adjusting one or more parameters of the clustering algorithm to modify criterion for clustering newly received requests using at least the obtained cache performance data;
updating the similarity measure based, at least in part, on the obtained cache performance data;
obtaining data regarding a second plurality of requests for network resources; and
clustering, using the adjusted one or more parameters of the clustering algorithm, the second plurality of requests based, at least in part, on the updated similarity measure to re-generate the plurality of clusters and form a re-generated plurality of clusters, wherein individual clusters of the re-generated plurality of clusters are associated with one or more content serving computing devices of the plurality of content serving computing devices.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for managing content delivery functionalities based on machine learning models are provided. In one aspect, content requests are routed in accordance with clusters of historical content requests to optimize cache performance. In another aspect, content delivery strategies for responding to content requests are determined based on a model trained on data related to historical content requests. The model may also be used to determine above-the-fold configurations for rendering responses to content requests. In some embodiments, portions of the model can be executed on client computing devices.
303 Citations
17 Claims
-
1. A computer-implemented method for facilitating content delivery, the computer-implemented method comprising:
-
under control of a hardware computing device configured with specific computer executable instructions, obtaining data regarding a first plurality of requests for network resources received over a specified period of time; forming a vector that comprises at least a portion of the obtained data; clustering, using a clustering algorithm that receives the vector as an input, the first plurality of requests based, at least in part, on a similarity measure related to cache performance of a plurality of content serving computing devices to form a plurality of clusters, wherein individual clusters of the plurality of clusters are associated with one or more content serving computing devices of the plurality of content serving computing devices; instructing one or more content serving computing devices associated with a first cluster of the plurality of clusters to pre-cache at least a portion of content that is commonly requested in requests corresponding to the first cluster in anticipation of a future request corresponding to the first cluster being received; obtaining a target request for a network resource; determining that the target request corresponds to the first cluster of the plurality of clusters based on one or more confidence levels derived from an average distance computed between the target request and individual clusters of the plurality of clusters and a size of the individual clusters; routing the target request to the one or more content serving computing devices associated with the first cluster of the plurality of clusters; obtaining cache performance data corresponding to the routing of the target request; adjusting one or more parameters of the clustering algorithm to modify criterion for clustering newly received requests using at least the obtained cache performance data; updating the similarity measure based, at least in part, on the obtained cache performance data; obtaining data regarding a second plurality of requests for network resources; and clustering, using the adjusted one or more parameters of the clustering algorithm, the second plurality of requests based, at least in part, on the updated similarity measure to re-generate the plurality of clusters and form a re-generated plurality of clusters, wherein individual clusters of the re-generated plurality of clusters are associated with one or more content serving computing devices of the plurality of content serving computing devices. - View Dependent Claims (2, 3)
-
-
4. A computer-implemented method comprising:
under control of a hardware computing device configured with specific computer executable instructions, obtaining data associated with a plurality of groups of requests for network resources, wherein a vector comprises at least a portion of the data, wherein individual groups of the plurality of groups are associated with one or more content serving computing devices of a plurality of content serving computing devices, and wherein the plurality of groups are determined using an algorithm that receives the vector as an input and based, at least in part, on a criterion related to cache performance of the plurality of content serving computing devices; instructing one or more content serving computing devices associated with a first group of the plurality of groups of requests to pre-cache at least a portion of content that is commonly requested in requests corresponding to the first group in anticipation of a future request corresponding to the first group being received; determining that a target request for a network resource is associated with the first group of the plurality of groups of requests based on one or more confidence levels derived from an average distance computed between the target request and individual groups of the plurality of groups and a size of the individual groups, wherein the target request is routed to one or more content serving computing devices associated with the determined first group; obtaining cache performance data corresponding to the routing of the target request; adjusting one or more parameters of the algorithm to modify criterion for grouping newly received requests using at least the obtained cache performance data; obtaining data regarding a second plurality of requests for network resources; and grouping, using the adjusted one or more parameters of the algorithm, the second plurality of requests based, at least in part, on the modified criterion to re-generate the plurality of groups and form a re-generated plurality of groups, wherein individual groups of the re-generated plurality of groups are associated with one or more content serving computing devices of the plurality of content serving computing devices. - View Dependent Claims (5, 6, 7)
-
8. A system comprising:
-
a data store configured to at least store computer-executable instructions; and a hardware processor in communication with the data store, the hardware processor configured to execute the computer-executable instructions to at least; obtain data associated with a plurality of groups of requests for network resources, wherein a vector comprises at least a portion of the data, wherein individual groups of the plurality of groups are associated with one or more content serving computing devices of a plurality of content serving computing devices, and wherein the plurality of groups are determined using an algorithm that receives the vector as an input and based, at least in part, on a criterion related to cache performance of the plurality of content serving computing devices; instruct one or more content serving computing devices associated with a first group of the plurality of groups of requests to pre-cache at least a portion of content that is commonly requested in requests corresponding to the first group in anticipation of a future request corresponding to the first group being received; determine that a target request for a network resource is associated with the first group of the plurality of groups of requests based on one or more confidence levels derived from an average distance computed between the target request and individual groups of the plurality of groups and a size of the individual groups, wherein the target request is routed to one or more content serving computing devices associated with the determined first group; obtain cache performance data corresponding to the routing of the target request; adjust one or more parameters of the algorithm to modify criterion for grouping newly received requests using at least the obtained cache performance data; obtain data regarding a second plurality of requests for network resources; and group, using the adjusted one or more parameters of the algorithm, the second plurality of requests based, at least in part, on the modified criterion to re-generate the plurality of groups and form a re-generated plurality of groups, wherein individual groups of the re-generated plurality of groups are associated with one or more content serving computing devices of the plurality of content serving computing devices. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A non-transitory computer readable storage medium storing computer executable instructions that when executed by a processor perform operations comprising:
-
obtaining an indication of a first group of a plurality of groups of requests for network resources, wherein individual groups of the plurality of groups are associated with one or more content serving computing devices of a plurality of content serving computing devices, and wherein the plurality of groups are determined using an algorithm based, at least in part, on a criterion related to cache performance of the plurality of content serving computing devices; instructing one or more content serving computing devices associated with the first group to pre-cache at least a portion of content that is commonly requested in requests corresponding to the first group in anticipation of a future request corresponding to the first group being received, wherein the first group of the plurality of groups is determined as corresponding to a target request for a network resource based on one or more confidence levels derived from an average distance computed between the target request and individual groups of the plurality of groups and a size of the individual groups; routing the target request to one or more content serving computing devices associated with the first group; obtaining cache performance data corresponding to the routing of the target request; adjusting one or more parameters of the algorithm to modify criterion for grouping newly received requests using at least the obtained cache performance data; obtaining data regarding a second plurality of requests for network resources; and grouping, using the adjusted one or more parameters of the algorithm, the second plurality of requests based, at least in part, on the modified criterion to re-generate the plurality of groups and form a re-generated plurality of groups, wherein individual groups of the re-generated plurality of groups are associated with one or more content serving computing devices of the plurality of content serving computing devices. - View Dependent Claims (14, 15, 16, 17)
-
Specification