Customer defined bandwidth limitations in distributed systems
First Claim
1. A non-transitory computer-readable medium storing instructions that when executed on a computing system cause the computing system to:
- obtain, at a centralized server of a networking configuration service, client input throttling instructions and a current cycle client account balance;
determine, at the networking configuration service, based on the current cycle client account balance exceeding a threshold amount disclosed in the client input throttling instructions, to apply a networking configuration option disclosed in the client input throttling instructions to a category of network traffic specified by the client input throttling instructions and associated with a virtual machine instance of a of the client, wherein the virtual machine instance runs on a node of a set of nodes configured to implement a network-accessible service of a service provider network;
transmit, to a control module running on the node, based on the determination, metadata used to apply the networking configuration option;
configure, at the node, a packet queue for each category of network traffic specified in the network configuration option;
categorize, at the node, each packet of network traffic directed to the virtual machine instance in accordance with categories of network traffic specified in the network configuration option;
store each packet of the network traffic in one of the packet queues in accordance with the category of the packet; and
reduce a rate of network traffic to the virtual machine instance by throttling a transfer rate of each packet queue in accordance with a transfer rate specified in the network configuration option for the category of network traffic stored in the packet queue.
1 Assignment
0 Petitions
Accused Products
Abstract
A centralized networking configuration in a distributed system includes a plurality of computing devices implementing a networking configuration server and a plurality of nodes of a service provider network. The computing devices are configured to obtain, at the networking configuration server, client input throttling instructions and client billing information, determine, at the networking configuration server, based on the client input throttling instruction and client billing information, to apply a networking configuration option provided by the client input throttling instructions to a particular category of traffic associated with a service instance of a network-accessible service of the service provider network, transmit, from the networking configuration server to a particular node of the provider network, the networking configuration option, and implement, at the particular node, the networking configuration option.
22 Citations
22 Claims
-
1. A non-transitory computer-readable medium storing instructions that when executed on a computing system cause the computing system to:
-
obtain, at a centralized server of a networking configuration service, client input throttling instructions and a current cycle client account balance; determine, at the networking configuration service, based on the current cycle client account balance exceeding a threshold amount disclosed in the client input throttling instructions, to apply a networking configuration option disclosed in the client input throttling instructions to a category of network traffic specified by the client input throttling instructions and associated with a virtual machine instance of a of the client, wherein the virtual machine instance runs on a node of a set of nodes configured to implement a network-accessible service of a service provider network; transmit, to a control module running on the node, based on the determination, metadata used to apply the networking configuration option; configure, at the node, a packet queue for each category of network traffic specified in the network configuration option; categorize, at the node, each packet of network traffic directed to the virtual machine instance in accordance with categories of network traffic specified in the network configuration option; store each packet of the network traffic in one of the packet queues in accordance with the category of the packet; and reduce a rate of network traffic to the virtual machine instance by throttling a transfer rate of each packet queue in accordance with a transfer rate specified in the network configuration option for the category of network traffic stored in the packet queue. - View Dependent Claims (2, 3)
-
-
4. A system comprising:
a plurality of computing devices implementing a networking configuration server and a plurality of nodes of a service provider network, each of the plurality of computing devices comprising a processor and memory coupled to the processor, wherein the computing devices are configured to; obtain, at the networking configuration server, client input throttling instructions and client billing information; determine, at the networking configuration server, based on the client input throttling instruction and client billing information, to apply a networking configuration option provided by the client input throttling instructions to a particular category of network traffic associated with a virtual machine instance of the client, wherein the virtual machine instance runs on a node of a set of nodes configured to implement a network-accessible service of the service provider network; transmit, from the networking configuration server to the node, the networking configuration option; configure, at the node, a packet queue for each category of network traffic specified in the network configuration option; categorize, at the node, each packet of network traffic directed to the virtual machine instance in accordance with categories of network traffic specified in the network configuration option; store each packet of the network traffic in one of the packet queues in accordance with the category of the packet; and reduce a rate of network traffic to the virtual machine instance by throttling a transfer rate of each packet queue in accordance with a transfer rate specified in the network configuration option for the category of network traffic stored in the packet queue. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
15. A method, comprising:
-
obtaining, by a first computing device, client input throttling instructions; determining client billing information; determining, in accordance with the client input throttling instructions and based on the client billing information, a networking configuration option for a particular category of network traffic associated with a second computing device; transmitting, to the second computing device from a networking configuration server, the networking configuration option; configuring, at the second computing device, a packet queue for each category of network traffic specified in the network configuration option; categorizing, at the second computing device, each packet of network traffic directed to a service instance associated with the second computing device in accordance with categories of network traffic specified in the network configuration option; storing each packet of the network traffic in one of the packet queues in accordance with the category of the packet; and reducing a rate of network traffic to the service instance by throttling a transfer rate of each packet queue in accordance with a transfer rate specified in the network configuration option for the category of network traffic stored in the packet queue. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
Specification