Network per-flow rate limiting
First Claim
1. A method of monitoring data flow in a network, comprising:
- configuring a data flow including a plurality of data packets by a switch controller, the data flow received from a source and configured to be routed through one or more switches in a network to a destination, the switch controller configured to control routing of the data flow through a network switch, wherein configuring includes associating the data flow with a quality of service (QoS) flow control policy selected from a plurality of QoS flow control policies, each QoS flow control policy associated with one of a plurality of pre-set flow control levels, and storing an indication of a selected pre-set flow control level in one or more of the data packets of the data flow, each pre-set flow control level defining a threshold value of a flow statistic, wherein a value of the flow statistic exceeding the threshold value is indicative of a congestion condition;
storing the selected QoS flow control policy in a flow control queue in the network switch that is separate from ingress and egress queues and from a flow table of the switch, the flow control queue associating the selected QoS flow control policy with the data flow, the flow control queue configured to associate one or more of the plurality of QoS flow control policies with each specific data flow received by the switch;
monitoring the network switch receiving the data flow, wherein monitoring includes determining the value of the flow statistic in the switch associated with the data flow;
determining whether a congestion condition exists for the data flow based on comparing the value of the flow statistic and the threshold value defined by the pre-set flow control level associated with the selected QoS flow control policy; and
based on determining that the congestion condition exists for the data flow, performing a remedial action specific to the data flow to address the congestion condition.
4 Assignments
0 Petitions
Accused Products
Abstract
A method of monitoring data flow in a network is provided. The method includes: configuring a data flow including a plurality of data packets by a switch controller, the switch controller configured to control routing through the switch and switch configuration, wherein configuring includes storing an indication of a flow control policy in one or more of the data packets; monitoring a network switch receiving the data flow, wherein monitoring includes determining flow statistics in the switch; determining whether a congestion condition exists for the data flow based on the flow statistics and the flow control policy; and based on determining that the congestion condition exists for the data flow, performing a remedial action specific to the data flow to address the congestion condition.
157 Citations
24 Claims
-
1. A method of monitoring data flow in a network, comprising:
-
configuring a data flow including a plurality of data packets by a switch controller, the data flow received from a source and configured to be routed through one or more switches in a network to a destination, the switch controller configured to control routing of the data flow through a network switch, wherein configuring includes associating the data flow with a quality of service (QoS) flow control policy selected from a plurality of QoS flow control policies, each QoS flow control policy associated with one of a plurality of pre-set flow control levels, and storing an indication of a selected pre-set flow control level in one or more of the data packets of the data flow, each pre-set flow control level defining a threshold value of a flow statistic, wherein a value of the flow statistic exceeding the threshold value is indicative of a congestion condition; storing the selected QoS flow control policy in a flow control queue in the network switch that is separate from ingress and egress queues and from a flow table of the switch, the flow control queue associating the selected QoS flow control policy with the data flow, the flow control queue configured to associate one or more of the plurality of QoS flow control policies with each specific data flow received by the switch; monitoring the network switch receiving the data flow, wherein monitoring includes determining the value of the flow statistic in the switch associated with the data flow; determining whether a congestion condition exists for the data flow based on comparing the value of the flow statistic and the threshold value defined by the pre-set flow control level associated with the selected QoS flow control policy; and based on determining that the congestion condition exists for the data flow, performing a remedial action specific to the data flow to address the congestion condition. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of processing data flows in a network switch, comprising:
-
receiving a data flow at the network switch, the data flow including a plurality of data packets, the data flow received from a source and configured to be routed through one or more switches in a network to a destination, wherein one or more of the data packets includes an indication of a selected pre-set flow control level associated with a quality of service (QoS) flow control policy selected from a plurality of QoS flow control policies, each QoS flow control policy associated with one of a plurality of pre-set flow control levels, each pre-set flow control level defining a threshold value of a flow statistic, wherein a value of the flow statistic exceeding the threshold value is indicative of a congestion condition, the indication inserted into the one or more data packets by a switch controller; storing the indication of the QoS flow control policy in a flow control queue in the network switch that is separate from ingress and egress queues and from a flow table of the switch, the flow control queue associating the selected QoS flow control policy with the data flow, the flow control queue configured to associate one or more of the plurality of QoS flow control policies with each specific data flow received by the switch; and processing the data flow at the network switch according to instructions associated with the data flow and configured by a switch controller. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A computer program product for monitoring data flow in a network, the computer program product comprising:
-
a non-transitory tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising; configuring a data flow including a plurality of data packets by a switch controller, the data flow received from a source and configured to be routed through one or more switches in a network to a destination, the switch controller configured to control routing of the data flow through a network switch, wherein configuring includes associating the data flow with a quality of service (QoS) flow control policy selected from a plurality of QoS flow control policies, each QoS flow control policy associated with one of a plurality of pre-set flow control levels, and storing an indication of a selected pre-set flow control level in one or more of the data packets of the data flow, each pre-set flow control level defining a threshold value of a flow statistic, wherein a value of the flow statistic exceeding the threshold value is indicative of a congestion condition; storing the selected QoS flow control policy in a flow control queue in the network switch that is separate from ingress and egress queues and from a flow table of the switch, the flow control queue associating the selected QoS flow control policy with the data flow, the flow control queue configured to associate one or more of the plurality of QoS flow control policies with each specific data flow received by the switch controller; monitoring the network switch receiving the data flow, wherein monitoring includes determining the value of the flow statistic in the switch; determining whether a congestion condition exists for the data flow based on comparing the value of the flow statistic and the threshold value defined by the pre-set flow control level associated with the selected QoS flow control policy; and based on determining that the congestion condition exists for the data flow, performing a remedial action specific to the data flow to address the congestion condition. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A computer program product for processing data flows in a network switch, the computer program product comprising:
-
a non-transitory tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising; receiving a data flow at the network switch, the data flow including a plurality of data packets, the data flow received from a source and configured to be routed through one or more switches in a network to a destination, wherein one or more of the data packets includes an indication of a selected pre-set flow control level associated with a quality of service (QoS) flow control policy selected from a plurality of QoS flow control policies, each QoS flow control policy associated with one of a plurality of pre-set flow control levels, each pre-set flow control level defining a threshold value of a flow statistic, wherein a value of the flow statistic exceeding the threshold value is indicative of a congestion condition the indication inserted into the one or more data packets by a switch controller; storing the indication of the QoS flow control policy in a flow control queue in the network switch that is separate from ingress and egress queues and from a flow table of the switch, the flow control queue associating the selected QoS flow control policy with the data flow, the flow control queue configured to associate one or more of the plurality of QoS flow control policies with each specific data flow received by the switch; and processing the data flow at the network switch according to instructions associated with the data flow and configured by a switch controller. - View Dependent Claims (18, 19, 20)
-
-
21. An apparatus for controlling a network switch, comprising:
-
a memory having computer readable computer instructions; and a processor for executing the computer readable instructions, the instructions including; configuring a data flow including a plurality of data packets by a switch controller, the data flow received from a source and configured to be routed through one or more switches in a network to a destination, the switch controller configured to control routing of the data flow through a network switch, wherein configuring includes associating the data flow with a quality of service (QoS) flow control policy selected from a plurality of QoS flow control policies, each QoS flow control policy associated with one of a plurality of pre-set flow control levels, and storing an indication of a selected pre-set flow control level in one or more of the data packets of the data flow, each pre-set flow control level defining a threshold value of a flow statistic, wherein a value of the flow statistic exceeding the threshold value is indicative of a congestion condition; storing the selected QoS flow control policy in a flow control queue in the network switch that is separate from ingress and egress queues and from a flow table of the switch, the flow control queue associating the selected QoS flow control policy with the data flow, the flow control queue configured to associate one or more of the plurality of QoS flow control policies with each specific data flow received by the switch controller; monitoring the network switch receiving the data flow, wherein monitoring includes determining the value of the flow statistics in the switch associated with the data flow; determining whether a congestion condition exists for the data flow based on comparing the value of the flow statistic and the threshold value defined by the pre-set flow control level associated with the selected QoS flow control policy; and based on determining that the congestion condition exists for the data flow, performing a remedial action specific to the data flow to address the congestion condition. - View Dependent Claims (22, 23, 24)
-
Specification