System and method for throttling service requests using work-based tokens
US-8953453-B1 · Feb 10, 2015 · US
US9407560B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9407560-B2 |
| Application number | US-201313834117-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 15, 2013 |
| Priority date | Mar 15, 2013 |
| Publication date | Aug 2, 2016 |
| Grant date | Aug 2, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method of monitoring transmission of data in a network is provided. The method includes: receiving data packets for one or more data flows by at least one of a plurality of network switches; sampling queue data in each of the plurality of network switches, the sampled queue data taken from at least one queue attached to a switch port to which the one or more data packets have been forwarded; and transmitting the sampled queue data to a logically centralized network controller connected to the plurality of switches, the network controller configured to control the plurality of network switches, the network controller configured to determine whether a congestion, unfairness or Service Level Agreement (SLA) infringement condition exists in one or more switches based on the sampled queue data and send a control message to one or more data flow sources based on the congestion, unfairness or SLA infringement condition.
Opening claim text (preview).
What is claimed is: 1. A method of monitoring transmission of data in a network, comprising: receiving data packets for one or more data flows by at least one of a plurality of network switches; sampling queue data in each of the plurality of network switches receiving the one or more data packets, the sampled queue data taken from at least one queue attached to a switch port to which the one or more data packets have been forwarded, wherein the sampling of queue data from the switch port is performed by the network switch that has the switch port; encapsulating, by the network switch that performs the sampling, the sampled queue data in a control packet configured for communication between the plurality of network switches and a logically centralized network controller, the control packet configured to be used by the network controller to control switch configuration and routing; and transmitting the control packet including the sampled queue data by each network switch to the network controller connected to the plurality of switches, the network controller configured to control the plurality of network switches, the network controller configured to determine whether a congestion, unfairness or Service Level Agreement (SLA) infringement condition exists in one or more switches based on the sampled queue data, the network controller configured to select a time period during which the congestion, unfairness or SLA infringement condition was detected, aggregate all of the sampled queue data that was sampled during the time period, and send a control message to all data flow sources responsible for the congestion, unfairness or SLA infringement condition, the control message setting a globally fair transmission rate for all data flows for which the congestion, unfairness or SLA condition was detected, the control message sent to each of the data flow sources so that all of the data flow sources responsible for the congestion, unfairness or SLA infringement condition receive the control message within a time interval that is smaller than the time period. 2. The method of claim 1 , wherein the globally fair transmission rate is calculated based on a number of data flows affected by the congestion, unfairness or SLA condition, and based on a severity of the congestion, unfairness or SLA condition. 3. The method of claim 1 , wherein the network controller is configured to determine whether the congestion, unfairness or SLA infringement condition exists based on a rate of change of depth of the at least one queue, the depth corresponding to an amount of the at least one queue that is filled with data. 4. The method of claim 1 , further comprising receiving the control message from the network controller by the at least one of a plurality of network switches, wherein the control message is a global control message sent to each of the plurality of network switches based on aggregated sampled queue data from the plurality of network switches for a selected time period, the global control message including rate control calculated based on the aggregated sampled queue data. 5. The method of claim 1 , wherein transmitting the sampled queue data includes sending the sample data packet to the network controller over a secure link, the secure link established by the network controller to configure the switch and establish communication properties of links between network switches. 6. A method of monitoring transmission of data in a network, comprising: receiving, by a centralized network controller, a control packet encapsulating sampled queue data from each of a plurality of network switches, the network controller configured to control the plurality of network switches, the sampled queue data taken from at least one queue attached to a switch port to which one or more data packets of a data flow have been forwarded, the sampling of queue data from the switch port performed by the network switch that has the switch port, the control packet configured to be used by the network controller to control switch configuration and routing; determining, by the network controller, whether a congestion, unfairness or Service Level Agreement (SLA) infringement condition exists in one or more network switches for one or more data flows based on the sampled queue data; and based on determining that the congestion, unfairness or SLA infringement condition exists for the one or more data flows, selecting a time period during which the congestion, unfairness or SLA infringement condition was detected, aggregating all of the sampled queue data that was sampled during the time period and sending a control message via a control packet to all data flow sources responsible for the congestion, unfairness or SLA infringement condition to reduce an amount of congestion, unfairness or SLA non-compliance in the network switch, the control message setting a globally fair transmission rate for all data flows for which the congestion, unfairness or SLA condition was detected, the control message sent to each of the data flow sources so that all of the data flow sources responsible for the congestion, unfairness or SLA infringement condition receive the control message within a time interval that is smaller than the time period. 7. The method of claim 6 , wherein the plurality of network switches is a plurality of OpenFlow switches and the network controller is an OpenFlow network controller. 8. The method of claim 6 , wherein the plurality of network switches are configured for quantized congestion control (QCN) monitoring, which is configured to generate a congestion notification message (CNM). 9. The method of claim 6 , wherein the control message is sent via a multicast message to each of the plurality of data flow sources within the time interval. 10. The method of claim 6 , wherein determining includes aggregating sampled queue data for each data flow over a congestion epoch, and determining whether the congestion, unfairness or SLA infringement condition exists based on a number of congested data flows and at least one of congestion severity, an unfairness severity and a SLA infringement severity. 11. The method of claim 10 , wherein the control message includes a transmission rate set for each congested data flow. 12. The method of claim 6 , wherein sending the control message includes sending the control message to a plurality of data flow sources via a multicast function. 13. The method of claim 6 , wherein the control message includes a transmission rate that is set individually for each of the one or more data flow sources. 14. An apparatus for controlling a plurality of switches in a network, comprising: a memory having computer readable computer instructions; and a processor for executing the computer readable instructions, the instructions including: receiving a control packet encapsulating sampled queue data from each of a plurality of network switches, the sampled queue data taken from at least one queue attached to a switch port to which one or more data packets of a data flow have been forwarded, the sampling of queue data from the switch port performed by each of the plurality of network switches that has the switch port, the control packet configured to be used to control switch configuration and routing; determining whether a congestion, unfairness or Service Level Agreement (SLA) infringement condition exists in one or more network switches for one or more data flows based on the sampled queue data; and based on determining that the congestion, unfairness or SLA infringement condition exists for the one or more data flows, selecting a time period during which the conge
Avoiding congestion; Recovering from congestion · CPC title
for supporting services specification, e.g. SLA · CPC title
by balancing the load, e.g. traffic engineering · CPC title
Electricity · mapped topic
Identifying congestion · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.