IP Library Granted Patent US 9,231,876
Granted Patent B2
US 9,231,876 · App. 14/008,689 · Granted Jan 5, 2016

User traffic accountability under congestion in flow-based multi-layer switches

Inventors: Faisal Ghias Mir (Heidelberg, DE); Marcus Brunner (Leimen, DE); Rolf Winter (Heidelberg, DE); Dirk Kutscher (Heidelberg, DE)
Assignee: NEC EUROPE LTD.
H04L47/20H04L43/0829H04L47/12H04L47/2441H04L47/122H04L47/30
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,231,876
App. No.
14/008,689
Granted
Jan 5, 2016
Kind
B2
Abstract

A method of policing network traffic based on congestion on a flow-based programmable switch, such as an OpenFlow switch is provided. The method polices congestion-causing flows in a network by detecting congestion at a flow-based programmable switch on the network. Once congestion has been detected, the method identifies one or more flows that are causing the congestion at the flow-based programmable switch, and penalizes the flows that were identified as causing congestion. A flow-based programmable switch including a data plane having input ports, output ports, and forwarding rules that map packets received on an input port to an output port based on a packet matching a rule in the forwarding rules is also described.

Claims (24)

1. A method of policing congestion-causing flows in a network, comprising:

detecting congestion at a flow-based programmable switch on the network;

identifying a flow that is causing congestion at the flow-based programmable switch, wherein said identifying comprises re-routing packets that have been determined to be subject to congestion for further analysis by mirroring the packets that have been determined to be subject to congestion; and

penalizing the flow that was identified as causing congestion.

2. The method according to claim 1 , wherein the flow-based programmable switch is configured to use the OpenFlow protocol.

3. The method according to claim 1 , wherein detecting congestion comprises monitoring a statistic of a port of the flow-based programmable switch.

4. The method according to claim 1 , wherein detecting congestion comprises monitoring a statistic of a flow on the flow-based programmable switch.

5. The method according to claim 1 , wherein detecting congestion comprises monitoring a statistic based on a drop count, indicating a number of packets dropped.

6. The method according to claim 1 , wherein detecting congestion comprises monitoring a statistic based on a mark count, related to a packet queue length.

7. The method according to claim 1 , wherein detecting congestion comprises monitoring a statistic based on a count of packets that are marked with a congestion mark, indicating that the packets have been subject to congestion on the network.

8. The method according to claim 5 wherein the statistic is monitored over a period of time.

9. The method according to claim 5 , wherein the statistic based on the drop count and/or the mark count is monitored using a counter added to a flow table entry in the flow-based programmable switch.

10. The method according to claim 9 , wherein the counter is reset to zero for flow table entries that forward traffic to a port on which congestion has been detected.

11. The method according to claim 1 , wherein detecting congestion comprises monitoring a statistic related to a time between handling a packet on the flow-based programmable switch, and handling a return packet associated with the packet on the flow-based programmable switch.

12. The method according to claim 1 , wherein further analysis of the packets that have been determined to be subject to congestion comprises using timing information of the packets to determine which of the flows represented by the packets is causing congestion.

13. The method according to claim 1 , wherein identifying a flow that is causing congestion comprises correlating port statistics and flow statistics.

14. The method according to claim 1 , wherein penalizing the flow that was identified as causing congestion comprises re-routing the flow that was identified as causing congestion, increasing a probability of dropping packets of the flow that was identified as causing congestion, and/or charging a premium tariff to the owner of the flow that was identified as causing congestion.

15. The method according to claim 1 , wherein penalizing the flow that was identified as causing congestion comprises load balancing traffic across multiple flow-based programmable switches.

16. The method according to claim 1 , wherein one or more of detecting congestion, identifying a flow that is causing congestion, and penalizing the flow that was identified as causing congestion is implemented at least in part outside of the flow-based programmable switch.

17. A flow-based programmable switch including a data plane having input ports, output ports, and forwarding rules that map packets received on an input port to an output port based on a packet matching a rule in the forwarding rules, the flow-based programmable switch further comprising:

a congestion detection module that receives statistics from the data plane, the congestion detection module configured to detect congestion at the flow-based programmable switch;

a traffic/flow extractor module that receives statistics and/or packets from the data plane, the traffic/flow extractor module configured to identify a flow that is causing congestion at the flow-based programmable switch when congestion has been detected by at least re-routing packets that have been determined to be subject to congestion for further analysis by mirroring the packets that have been determined to be subject to congestion; and

a policing module that receives information on the flow that is causing congestion from the traffic/flow extractor module, the policing module configured to penalize the flow that has been identified as causing congestion at the flow-based programmable switch.

18. The flow-based programmable switch of claim 17 , wherein the flow-based programmable switch is configured to use the OpenFlow protocol.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2026
From: NEC CORPORATION
To: NEC ASIA PACIFIC PTE LTD.
Reel/Frame 074916/0414 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2026
From: NEC ASIA PACIFIC PTE LTD.
To: CBS INTERACTIVE INC.
Reel/Frame 074916/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2026
From: NEC CORPORATION
To: NEC ASIA PACIFIC PTE LTD.
Reel/Frame 074814/0461 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2016
From: NEC EUROPE LTD.
To: NEC CORPORATION
Reel/Frame 039778/0339 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2013
From: MIR, FAISAL GHIAS; BRUNNER, MARCUS; WINTER, ROLF; KUTSCHER, DIRK
To: NEC EUROPE LTD.
Reel/Frame 031758/0291 →
Priority Claims (1)
EP 11002569 · Mar 29, 2011 · regional
Continuity (1)
Related Publication 20140192646A1 · Jul 10, 2014