CDN load balancing in the cloud
First Claim
1. A method, implemented at a computer system that includes one or more processors and system memory, for improving performance of a content delivery network (CDN) by reallocating server resources at an edge data center of the CDN to web application properties serviced by the CDN, the method comprising:
- proactively allocating server resources of the edge data center among a plurality of web application properties, based on one or more rules that are developed from first data collected about the plurality of web application properties over a first time frame, and that identify historic network demand for each of the plurality of web application properties, including;
using the one or more rules to determine a load type category for each web application property;
calculating at least one compatibility index for each of a plurality of servers at the edge data center, including applying a penalty coefficient to at least one server hosting a property type incompatible with at least one of the plurality of web application properties;
creating at least one sorted order of the plurality of servers based on the at least one compatibility index calculated for each of the plurality of servers;
using the load type category of each web application property and the at least one sorted order of the plurality of servers to allocate a corresponding amount of server resources at the edge data center to each web application property, the server resources allocated to each web application property used to cache data of the web application property and to serve the cached data to network clients, wherein the one or more rules cause web application properties having higher historic network demand to be allocated a greater amount of server resources at the edge data center than web application properties having lower historic network demand; and
sending data of each web application property over a network to the edge data center, for caching the data of each web application property at its corresponding allocated server resources and serving the cached data to network clients from the corresponding allocated server resources; and
reactively re-allocating the server resources of the edge data center among the plurality of web application properties based on second data that is collected over a second time frame that is shorter than the first time frame, to identify current activity at the edge data center, and based on identifying currently trending traffic associated with one or more of the plurality of web application properties at the edge data center from the second data, including;
determining from the second data that client network demands for at least one of the plurality of web application properties is currently increasing, and that trending traffic has caused the at least one web application property to experience a load type category increase;
based on the at least one web application property having experienced a load type category increase, calculating additional server resources at the edge data center needed to meet the current client network demands for the at least one web application property based on a new load type category for the at least one web application property; and
allocating the additional server resources at the edge data center to the at least one property, for caching the data of the at least one web application property at the additional server resources and serving the cached data to network clients from the additional server resources.
3 Assignments
0 Petitions
Accused Products
Abstract
CND load balancing in the cloud. Server resources are allocated at an edge data center of a content delivery network to properties that are being serviced by edge data center. Based on near real-time data, properties are sorted by trending traffic at the edge data center. Server resources are allocated for at least one property of the sorted properties at the edge data center. The server resources are allocated based on rules developed from long-term trends. The resource allocation includes calculating server needs for the property in a partition at the edge data center, and allocating the server needs for the property to available servers in the partition.
-
Citations
17 Claims
-
1. A method, implemented at a computer system that includes one or more processors and system memory, for improving performance of a content delivery network (CDN) by reallocating server resources at an edge data center of the CDN to web application properties serviced by the CDN, the method comprising:
-
proactively allocating server resources of the edge data center among a plurality of web application properties, based on one or more rules that are developed from first data collected about the plurality of web application properties over a first time frame, and that identify historic network demand for each of the plurality of web application properties, including; using the one or more rules to determine a load type category for each web application property; calculating at least one compatibility index for each of a plurality of servers at the edge data center, including applying a penalty coefficient to at least one server hosting a property type incompatible with at least one of the plurality of web application properties; creating at least one sorted order of the plurality of servers based on the at least one compatibility index calculated for each of the plurality of servers; using the load type category of each web application property and the at least one sorted order of the plurality of servers to allocate a corresponding amount of server resources at the edge data center to each web application property, the server resources allocated to each web application property used to cache data of the web application property and to serve the cached data to network clients, wherein the one or more rules cause web application properties having higher historic network demand to be allocated a greater amount of server resources at the edge data center than web application properties having lower historic network demand; and sending data of each web application property over a network to the edge data center, for caching the data of each web application property at its corresponding allocated server resources and serving the cached data to network clients from the corresponding allocated server resources; and reactively re-allocating the server resources of the edge data center among the plurality of web application properties based on second data that is collected over a second time frame that is shorter than the first time frame, to identify current activity at the edge data center, and based on identifying currently trending traffic associated with one or more of the plurality of web application properties at the edge data center from the second data, including; determining from the second data that client network demands for at least one of the plurality of web application properties is currently increasing, and that trending traffic has caused the at least one web application property to experience a load type category increase; based on the at least one web application property having experienced a load type category increase, calculating additional server resources at the edge data center needed to meet the current client network demands for the at least one web application property based on a new load type category for the at least one web application property; and allocating the additional server resources at the edge data center to the at least one property, for caching the data of the at least one web application property at the additional server resources and serving the cached data to network clients from the additional server resources. - View Dependent Claims (2, 3, 4, 5, 17)
-
-
6. A computer program product comprising one or more hardware storage devices storing computer-executable instructions that are executable by one or more processors of a computer system to cause the computer system to reallocate server resources at an edge data center of a content delivery network (CDN) to web application properties serviced by the CDN, the computer-executable instructions including instructions that are executable to cause the computer system to perform at least the following:
-
proactively allocate server resources of the edge data center among a plurality of web application properties, based on one or more rules that are developed from first data collected about the plurality of web application properties over a first time frame, and that identify historic network demand for each of the plurality of web application properties, including; using the one or more rules to determine a load type category for each web application property; computing at least one compatibility index for each of a plurality of servers at the edge data center, including applying a penalty coefficient to at least one server hosting a property type incompatible with at least one of the plurality of web application properties; creating at least one sorted order of the plurality of servers based on the at least one compatibility index computed for each of the plurality of servers; using the load type category of each web application property and the at least one sorted order of the plurality of servers to allocate a corresponding amount of server resources at the edge data center to each web application property, the server resources allocated to each web application property used to cache data of the web application property and to serve the cached data to network clients, wherein the one or more rules cause web application properties having higher historic network demand to be allocated a greater amount of server resources at the edge data center than web application properties having lower historic network demand; and sending data of each web application property over a network to the edge data center, for caching the data of each web application property at its corresponding allocated server resources and serving the cached data to network clients from the corresponding allocated server resources; and reactively re-allocate the server resources of the edge data center among the plurality of web application properties based on second data that is collected over a second time frame that is shorter than the first time frame, to identify current activity at the edge data center, and based on identifying currently trending traffic associated with one or more of the plurality of web application properties at the edge data center from the second data, including; determining from the second data that client network demands for at least one of the plurality of web application properties is currently increasing, and that trending traffic has caused the at least one web application property to experience a load type category increase; based on the at least one web application property having experienced a load type category increase, calculating additional server resources at the edge data center needed to meet the current client network demands for the at least one web application property based on a new load type category for the at least one web application property; and allocating the additional server resources at the edge data center to the at least one property, for caching the data of the at least one web application property at the additional server resources and serving the cached data to network clients from the additional server resources. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer system, comprising:
-
one or more processors; system memory; one or more data stores; and one or more computer-readable storage media having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computer system to allocate server resources at an edge data center of a content delivery network (CDN) to web application properties serviced by the CDN, the computer-executable instructions including instructions that are executable to cause the computer system to perform at least the following; proactively allocate server resources of the edge data center among a plurality of web application properties, based on one or more rules that are developed from first data collected about the plurality of web application properties over a first time frame, and that identify historic network demand for each of the plurality of web application properties, including; using the one or more rules to determine a load type category for each web application property; determining at least one compatibility index for each of a plurality of servers at the edge data center, including applying a penalty coefficient to at least one server hosting a property type incompatible with at least one of the plurality of web application properties; creating at least one sorted order of the plurality of servers based on the at least one compatibility index determined for each of the plurality of servers; using the load type category of each web application property and the at least one sorted order of the plurality of servers to allocate a corresponding amount of server resources at the edge data center to each web application property, the server resources allocated to each web application property used to cache data of the web application property and to serve the cached data to network clients, wherein the one or more rules cause web application properties having higher historic network demand to be allocated a greater amount of server resources at the edge data center than web application properties having lower historic network demand; and sending data of each web application property over a network to the edge data center, for caching the data of each web application property at its corresponding allocated server resources and serving the cached data to network clients from the corresponding allocated server resources; and reactively re-allocate the server resources of the edge data center among the plurality of web application properties based on second data stored in the one or more data stores that is collected over a second time frame that is shorter than the first time frame, to identify current activity at an edge data center, and based on identifying currently trending traffic associated with one or more of the plurality of web application properties at the edge data center from the first data, including; determining from the second data that client network demands for at least one of the plurality of web application properties is currently increasing, and that trending traffic has caused the at least one web application property to experience a load type category increase; based on the at least one web application property having experienced a load type category increase, calculating additional server resources at the edge data center needed to meet the current client network demands for the at least one web application property based on a new load type category for the at least one web application property; and allocating the additional server resources at the edge data center to the at least one property, for caching the data of the at least one web application property at the additional server resources and serving the cached data to network clients from the additional server resources. - View Dependent Claims (12, 13, 14, 15, 16)
-
Specification