Scalable flow and cogestion control with openflow

US9503382B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9503382-B2
Application numberUS-201414501945-A
CountryUS
Kind codeB2
Filing dateSep 30, 2014
Priority dateMar 15, 2013
Publication dateNov 22, 2016
Grant dateNov 22, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method of performing congestion management in a network is provided. The method includes monitoring a congestion status at a switch in the network. It is determined at the switch that the congestion status indicates that there is congestion at the switch. Based on the congestion being related to data received at the switch from a source at a first rate, a first message is transmitted from the switch to the source requesting the source to send the data at a second rate that is slower than the first rate. Based on the congestion being related to data requests received at the switch from a destination at third rate, a second message is transmitted from the switch to the destination requesting the destination to request the data at a fourth rate slower than the third rate.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of performing congestion management in a network, the method comprising: monitoring, at a physical switch in the network, both data packets and data requests received at the switch over one or more links in the network; based on the monitoring, determining a congestion status at the switch; determining, at the switch, that the congestion status indicates that there is congestion at the switch, the determining including examining a plurality of flags in a header field of an entry corresponding to a flow in a flow table at the switch, the plurality of flags including a forward congestion flag that when set indicates that a source of the data packets for the data flow is sending the data packets more quickly than the switch can process the data packets, and a backward congestion flag that when set indicates that a destination of the data packets for the data flow is sending the data requests more quickly than the switch can process the data requests; based on the forward congestion flag being set and congestion being related to the data packets received at the switch from the source at a first rate, transmitting a first message from the switch to the source, the first message requesting the source to send the data packets at a second rate that is slower than the first rate; and based on the backward congestion flag being set and congestion being related to the data requests received at the switch from the destination at a third rate, transmitting a second message from the switch to the destination, the second message requesting the destination to send the data requests at a fourth rate that is slower than the third rate. 2. The method of claim 1 , further comprising: based on transmitting the first message: monitoring the congestion status at the switch in the network; and based on determining that the congestion status indicates that there is no longer congestion at the switch related to the data packets received at the switch from the source, transmitting a third message from the switch to the source requesting the source to send the data packets at a fifth rate that is faster than the second rate. 3. The method of claim 1 , further comprising: based on transmitting the second message: monitoring the congestion status at the switch in the network; and based on determining that the congestion status indicates that there is no longer congestion at the switch related to the data requests received at the switch from the destination, transmitting a fourth message to the destination requesting the destination to send the data requests at a sixth rate that is faster than the fourth rate. 4. The method of claim 1 , wherein the switch, the source, and the destination are OpenFlow switches and the network is an OpenFlow network. 5. The method of claim 1 , wherein the switch is an OpenFlow switch. 6. The method of claim 5 , wherein the forward congestion flag is set to indicate congestion at the switch related to the data packets received at the switch based on a queue at the switch that stores the data packets exceeding a specified capacity. 7. The method of claim 5 , wherein the backward congestion flag is set to indicate congestion at the switch related to the data requests received at the switch based on a queue at the switch that stores the data requests exceeding a specified capacity. 8. A computer program product for congestion management in a network, the computer program product comprising: a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising: monitoring, at a physical switch in the network, both data packets and data requests received at the switch over one or more links in the network; based on the monitoring, determining a congestion status at the switch in the network; determining, at the switch, that the congestion status indicates that there is congestion at the switch, the determining including examining a plurality of flags in a header field of an entry corresponding to a flow in a flow table at the switch, the plurality of flags including a forward congestion flag that when set indicates that a source of the data packets for the data flow is sending the data packets more quickly than the switch can process the data packets, and a backward congestion flag that when set indicates that a destination of the data packets for the data flow is sending the data requests more quickly than the switch can process the data requests; based on the forward congestion flag being set and congestion being related to the data packets received at the switch from the source at a first rate, transmitting a first message from the switch to the source, the first message requesting the source to send the data packets at a second rate that is slower than the first rate; and based on the backward congestion flag being set and congestion being related to the data requests received at the switch from the destination at a third rate, transmitting a second message from the switch to the destination, the second message requesting the destination to send the data requests at a fourth rate that is slower than the third rate. 9. The computer program product of claim 8 , wherein the method further comprises: based on transmitting the first message: monitoring the congestion status at the switch in the network; and based on determining that the congestion status indicates that there is no longer congestion at the switch related to the data packets received at the switch from the source, transmitting a third message to the source requesting the source to send the data packets at a fifth rate that is faster than the second rate. 10. The computer program product of claim 8 , wherein the method further comprises: based on transmitting the second message: monitoring the congestion status at the switch in the network; and based on determining that the congestion status indicates that there is no longer congestion at the switch related to the data requests received at the switch from the destination, transmitting a fourth message to the destination requesting the destination to send the data requests at a sixth rate that is faster than the fourth rate. 11. The computer program product of claim 8 , wherein the switch, the source, and the destination are OpenFlow switches and the network is an OpenFlow network. 12. The computer program product of claim 8 , wherein the switch is an OpenFlow switch. 13. The computer program product of claim 12 , wherein the forward congestion flag is set to indicate congestion at the switch related to the data packets received at the switch based on a queue at the switch that stores the data packets exceeding a specified capacity. 14. The computer program product of claim 12 , wherein the backward congestion flag is set to indicate congestion at the switch related to the data requests received at the switch based on a queue at the switch that stores the data requests exceeding a specified capacity.

Assignees

Inventors

Classifications

  • H04L47/11Primary

    Identifying congestion · CPC title

  • using leaky-bucket · CPC title

  • using token-bucket · CPC title

  • Flow control; Congestion control · CPC title

  • Avoiding congestion; Recovering from congestion · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9503382B2 cover?
A method of performing congestion management in a network is provided. The method includes monitoring a congestion status at a switch in the network. It is determined at the switch that the congestion status indicates that there is congestion at the switch. Based on the congestion being related to data received at the switch from a source at a first rate, a first message is transmitted from the…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification H04L47/11. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Nov 22 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).