Distributed traffic shaping across a cluster
First Claim
1. A method for controlling the distribution of network traffic sent to a network cluster having a plurality of cluster members, the method comprising:
- maintaining, in a reservation coordinator cluster member of the network cluster, a hierarchical cluster rate limit tree data structure for the entire network cluster and a separate hierarchical member rate limit tree data structure for each cluster member in the plurality of cluster members, wherein the cluster rate limit tree data structure tracks rate limits and rate consumption across all of the plurality of cluster members, and wherein each separate member rate limit tree data structure tracks rate limits and rate consumption for individual applications and application operations of an associated cluster member;
receiving network traffic destined for a particular application at a first rate, the network traffic comprising a plurality of client requests for the application, and wherein each of the cluster members is an application server that concurrently provides the application; and
distributing the first rate among a subset of the cluster members based on the cluster rate limit tree data structure and the separate member rate limit tree data structures such that each cluster member in the subset has a portion of the first rate and a workload corresponding to the received network traffic is shared amongst the cluster members in the subset of the cluster members, wherein;
each cluster member within the subset maintains a token bucket for the particular application,the portion of the first rate distributed to each cluster member within the subset corresponds to a regeneration rate for a respective token bucket, andeach of the member rate limit tree data structures comprise nodes in a hierarchical arrangement and rate limits associated with the nodes such that a rate limit of a parent node in the hierarchical arrangement equals a sum of rate limits associated with child nodes of the parent node.
1 Assignment
0 Petitions
Accused Products
Abstract
A network is provided herein comprising a plurality of network resources, and at least one network cluster having a plurality of cluster members. Each member of the cluster may be configured for utilizing one or more of the network resources and for tracking usage thereof. For example, each member of the cluster may include one or more token buckets for tracking that member'"'"'s usage of the network resources. At least one member of the cluster (i.e., a “reservation coordinator”) may include a first set of computer-executable instructions for receiving network traffic destined for a particular network resource at a first rate (i.e., a maximum average sustained rate). In addition, the reservation coordinator may include a second set of computer-executable instructions for distributing the first rate among at least a subset of the cluster members. In some cases, each member of the cluster may include a third set of computer-executable instructions for changing how the first rate is distributed among members of the subset. For example, the third set of computer-executable instructions may include instructions for attempting to reserve a substantially larger or smaller portion of the first rate.
-
Citations
23 Claims
-
1. A method for controlling the distribution of network traffic sent to a network cluster having a plurality of cluster members, the method comprising:
-
maintaining, in a reservation coordinator cluster member of the network cluster, a hierarchical cluster rate limit tree data structure for the entire network cluster and a separate hierarchical member rate limit tree data structure for each cluster member in the plurality of cluster members, wherein the cluster rate limit tree data structure tracks rate limits and rate consumption across all of the plurality of cluster members, and wherein each separate member rate limit tree data structure tracks rate limits and rate consumption for individual applications and application operations of an associated cluster member; receiving network traffic destined for a particular application at a first rate, the network traffic comprising a plurality of client requests for the application, and wherein each of the cluster members is an application server that concurrently provides the application; and distributing the first rate among a subset of the cluster members based on the cluster rate limit tree data structure and the separate member rate limit tree data structures such that each cluster member in the subset has a portion of the first rate and a workload corresponding to the received network traffic is shared amongst the cluster members in the subset of the cluster members, wherein; each cluster member within the subset maintains a token bucket for the particular application, the portion of the first rate distributed to each cluster member within the subset corresponds to a regeneration rate for a respective token bucket, and each of the member rate limit tree data structures comprise nodes in a hierarchical arrangement and rate limits associated with the nodes such that a rate limit of a parent node in the hierarchical arrangement equals a sum of rate limits associated with child nodes of the parent node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 22, 23)
-
-
16. A network comprising:
-
a network cluster having a plurality of cluster members, each individually configured for concurrently providing a same application and for tracking usage thereof; and a reservation coordinator cluster member for controlling a distribution of traffic rate limits amongst the plurality of cluster members, wherein; the reservation coordinator cluster member maintains a hierarchical cluster rate limit tree data structure for the entire network cluster and a separate hierarchical member rate limit tree data structure for each cluster member in the plurality of cluster members, the cluster rate limit tree data structure tracks rate limits and rate consumption across all of the plurality of cluster members, each separate member rate limit tree data structure tracks rate limits and rate consumption for individual applications and application operations of an associated cluster member, the network cluster receives network traffic destined for the application at a first rate, the network traffic comprising a plurality of client requests for the application, the reservation coordinator distributes the first rate among a subset of the cluster members based on the cluster rate limit tree data structure and the separate member rate limit tree data structures such that each cluster member in the subset has a portion of the first rate and a workload corresponding to the received network traffic is shared amongst the cluster members in the subset of the cluster members, each cluster member within the subset maintains a token bucket for the particular application, the portion of the first rate distributed to each cluster member within the subset corresponds to a regeneration rate for a respective token bucket, and each of the member rate limit tree data structures comprise nodes in a hierarchical arrangement and rate limits associated with the nodes such that a rate limit of a parent node in the hierarchical arrangement equals a sum of rate limits associated with child nodes of the parent node. - View Dependent Claims (17, 18, 19, 20, 21)
-
Specification