Adaptive flow prioritization

US9985910B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9985910-B2
Application numberUS-201615194585-A
CountryUS
Kind codeB2
Filing dateJun 28, 2016
Priority dateJun 28, 2016
Publication dateMay 29, 2018
Grant dateMay 29, 2018

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 for communication includes receiving and forwarding packets in multiple flows to respective egress interfaces of a switching element for transmission to a network. For each of one or more of the egress interfaces, in each of a succession of arbitration cycles, a respective number of the packets in each of the plurality of the flows that are queued for transmission through the egress interface is assessed, and the flows for which the respective number is zero are assigned to a first group, while the flows for which the respective number is non-zero are assigned to a second group. The received packets that have been forwarded to the egress interface and belong to the flows in the first group are transmitted with a higher priority than the flows in the second group.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for communication, comprising: receiving from a packet data network, via ingress interfaces of a switching element, packets belonging to multiple flows, and forwarding the packets to respective egress interfaces of the switching element for transmission to the network; for each egress interface of the switching element, queuing the packets, belonging to a plurality of the flows, that have been forwarded for transmission through the egress interface; and for each of one or more of the egress interfaces, in each of a succession of arbitration cycles: assessing a respective number of the packets in each of the plurality of the flows that are queued for transmission through the egress interface; assigning the flows for which the respective number is zero to a first group, while assigning the flows for which the respective number is non-zero to a second group; and after assigning the flows, transmitting to the network the received packets that have been forwarded to the egress interface and belong to the flows in the first group with a higher priority than the flows in the second group. 2. The method according to claim 1 , wherein assessing the respective number comprises: maintaining a respective counter for each flow among the plurality of the flows; incrementing the respective counter when a packet in the flow is queued for transmission; and decrementing the counter when the packet is transmitted to the network. 3. The method according to claim 1 , and comprising initiating a new arbitration cycle in the succession in response to an arbitration event, wherein assessing the respective number comprises reassessing the respective number of the packets in each of the plurality of the flows that are queued for transmission upon initiation of the new arbitration cycle, and wherein assigning the flows comprises reassigning the flows to the first and second groups based on the reassessed number. 4. The method according to claim 3 , wherein the arbitration event is selected from a group of arbitration events consisting of selection of a predefined number of the queued packets for transmission and expiration of a predefined time period. 5. The method according to claim 1 , wherein transmitting the packets comprises transmitting the packets that belong to the flows in the first group with a strict priority over the flows in the second group. 6. The method according to claim 1 , wherein transmitting the packets comprises transmitting the packets within each of the first and second groups in an order in which the packets have been queued for transmission. 7. The method according to claim 1 , wherein the packets belong to multiple different traffic classes, which have different, respective levels of quality of service (QoS), and wherein queuing the packets comprises assigning the flows to different queues according to the traffic classes, and wherein transmitting the packets comprises arbitrating separately among the flows in each of one or more of the different traffic classes. 8. The method according to claim 1 , and comprising receiving in the switching element an indication of congestion in the network, and in response to the indication, applying a congestion control protocol to the flows in the second group but not to the flows in the first group. 9. The method according to claim 8 , wherein applying the congestion control protocol comprises selecting the flows to which congestion control measures are to be applied responsively to the respective number of the packets in each of the flows in the second group that are queued for transmission. 10. The method according to claim 1 , and comprising making an assessment of at least one of a transmission rate and an occurrence of transmission bursts in at least some of the flows, and applying the assessment in assigning the flows to the first and second groups. 11. Communication apparatus, comprising: multiple interfaces configured to serve as ingress and egress interfaces to a packet data network and to receive packets belonging to multiple flows for forwarding to respective egress interfaces for transmission to the network; and control circuitry, which is configured to queue the packets, belonging to a plurality of the flows, for transmission through each egress interface, and for each of one or more of the egress interfaces, in each of a succession of arbitration cycles: to assess a respective number of the packets in each of the plurality of the flows that are queued for transmission through the egress interface; to assign the flows for which the respective number is zero to a first group, while assigning the flows for which the respective number is non-zero to a second group; and after assigning the flows, to transmit to the network the packets that have been forwarded to the egress interface and belong to the flows in the first group with a higher priority than the flows in the second group. 12. The apparatus according to claim 11 , wherein the control circuitry is configured to assess the respective number of the packets in each of the plurality of the flows that are queued for transmission by maintaining a respective counter for each flow among the plurality of the flows, incrementing the respective counter when a packet in the flow is queued for transmission, and decrementing the counter when the packet is transmitted to the network. 13. The apparatus according to claim 11 , wherein the control circuitry is configured to initiate a new arbitration cycle in the succession in response to an arbitration event, to reassess the respective number of the packets in each of the plurality of the flows that are queued for transmission upon initiation of the new arbitration cycle, and to reassign the flows to the first and second groups based on the reassessed number. 14. The apparatus according to claim 13 , wherein the arbitration event is selected from a group of arbitration events consisting of selection of a predefined number of the queued packets for transmission and expiration of a predefined time period. 15. The apparatus according to claim 11 , wherein the control circuitry is configured to transmit the packets that belong to the flows in the first group with a strict priority over the flows in the second group. 16. The apparatus according to claim 11 , wherein the control circuitry is configured to transmit the packets within each of the first and second groups in an order in which the packets have been queued for transmission. 17. The apparatus according to claim 11 , wherein the packets belong to multiple different traffic classes, which have different, respective levels of quality of service (QoS), and wherein the control circuitry is configured to assign the flows to different queues according to the traffic classes, and to arbitrate separately among the flows in each of one or more of the different traffic classes. 18. The apparatus according to claim 11 , wherein the control circuitry is configured, upon receiving in the switching element an indication of congestion in the network, to apply a congestion avoidance protocol to the flows in the second group but not to the flows in the first group. 19. The apparatus according to claim 18 , wherein the control circuitry is configured to select the flows to which congestion control measures are to be applied responsively to the respective number of the packets in each of the flows in the second group that are queued for transmission. 20. The apparatus according to claim 11 , where

Assignees

Inventors

Classifications

  • H04L49/25Primary

    Routing or path finding in a switch fabric · CPC title

  • using multiple queues, one for each individual QoS, connection, flow or priority · CPC title

  • Traffic characterised by specific attributes, e.g. priority or QoS · CPC title

  • Avoiding congestion; Recovering from congestion · CPC title

  • using establishment or release of connections between ports · 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 US9985910B2 cover?
A method for communication includes receiving and forwarding packets in multiple flows to respective egress interfaces of a switching element for transmission to a network. For each of one or more of the egress interfaces, in each of a succession of arbitration cycles, a respective number of the packets in each of the plurality of the flows that are queued for transmission through the egress in…
Who is the assignee on this patent?
Mellanox Tech Tlv Ltd
What technology area does this patent fall under?
Primary CPC classification H04L49/25. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue May 29 2018 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).