Arbitration of multiple-thousands of flows for convergence enhanced ethernet

US9843529B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9843529-B2
Application numberUS-201514876528-A
CountryUS
Kind codeB2
Filing dateOct 6, 2015
Priority dateJan 22, 2013
Publication dateDec 12, 2017
Grant dateDec 12, 2017

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.

In one embodiment, a method includes selecting a flow from a head of a first control queue or a second control queue. The method also includes providing service to the selected flow. Moreover, the method includes decreasing a service credit of the selected flow by an amount corresponding to an amount of service provided to the selected flow. In another embodiment, a computer program product includes a computer readable storage medium having program code embodied therewith. The embodied program code is readable/executable by a device to select, by the device, a flow from a head of a first control queue or a second control queue. The embodied program code is also readable/executable to provide, by the device, service to the selected flow, and decrease, by the device, a service credit of the selected flow by an amount corresponding to an amount of service provided to the selected flow.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: selecting a flow from a head of a control queue selected from a group of control queues comprising: a first control queue and a second control queue; providing service to the selected flow; and decreasing a service credit of the selected flow by an amount corresponding to an amount of service provided to the selected flow, wherein more than one flow is present in at least one control queue of the group of control queues. 2. The method as recited in claim 1 , wherein the selected flow is selected from the second control queue in response to a determination that the first control queue is empty. 3. The method as recited in claim 1 , wherein the selected flow is selected from the second control queue in response to an indication that the first control queue should be avoided in response to determinations that both: 1) the second control queue is nonempty, and 2) a previously selected flow was selected from the second control queue. 4. The method as recited in claim 1 , further comprising: receiving the plurality of flows, each flow of the plurality of flows comprising packets of data; assigning a service credit to each flow of the plurality of flows; and assigning a weight parameter to each flow of the plurality of flows, wherein the amount of service provided to the selected flow is proportional to a weight parameter of the selected flow. 5. The method as recited in claim 1 , further comprising: enqueuing, at an end of the first control queue, a second flow which receives new unserviced packets and is not present in the first or second control queue in response to a determination that a service credit of the second flow is greater than zero. 6. The method as recited in claim 1 , further comprising: enqueuing, at an end of the second control queue, a second flow which receives new unserviced packets and is not present in the first or second control queue in response to a determination that a service credit of the second flow is not greater than zero. 7. The method as recited in claim 1 , further comprising: creating the first control queue and the second control queue, the first and second control queues being configured to store one or more flow descriptors of the plurality of flows. 8. The method as recited in claim 1 , further comprising: assigning a weight parameter and a service credit to at least some flows of the plurality of flows, wherein the weight parameter is independent of the service credit for the at least some flows; and increasing the service credit of the selected flow by an amount corresponding to a weight parameter of the selected flow in response to a determination that the selected flow is from the second control queue. 9. The method as recited in claim 1 , further comprising: enqueuing the selected flow to an end of the first control queue in response to a determination that the selected flow comprises unserviced data packets after providing service to the selected flow and that the service credit of the selected flow is greater than zero. 10. The method as recited in claim 1 , further comprising: enqueuing the selected flow to an end of the second control queue in response to a determination that the selected flow comprises unserviced data packets after providing service to the selected flow and that the service credit of the selected flow is not greater than zero. 11. A computer program product, comprising a non-transitory computer readable storage medium having program code embodied therewith, the embodied program code readable/executable by a device to: select, by the device, a flow from a head of a control queue selected from a group of control queues comprising: a first control queue and a second control queue; provide, by the device, service to the selected flow; and decrease, by the device, a service credit of the selected flow by an amount corresponding to an amount of service provided to the selected flow, wherein more than one flow is present in at least one control queue of the group of control queues. 12. The computer program product as recited in claim 11 , wherein the selected flow is selected from the second control queue in response to a determination that the first control queue is empty. 13. The computer program product as recited in claim 11 , wherein the selected flow is selected from the second control queue in response to an indication that the first control queue should be avoided. 14. The computer program product as recited in claim 11 , wherein the embodied program code is further readable/executable by the device to: receive, by the device, the plurality of flows, each flow of the plurality of flows comprising packets of data; assign, by the device, a service credit to each flow of the plurality of flows; and assign, by the device, a weight parameter to each flow of the plurality of flows. 15. The computer program product as recited in claim 11 , wherein the program code is further readable/executable by the device to enqueue, by the device at an end of the first control queue, a second flow which receives new unserviced packets and is not present in the first or second control queue in response to a determination that a service credit of the second flow is greater than zero. 16. The computer program product as recited in claim 11 , wherein the program code is further readable/executable by the device to enqueue, by the device at an end of the second control queue, a second flow which receives new unserviced packets and is not present in the first or second control queue in response to a determination that a service credit of the second flow is not greater than zero. 17. The computer program product as recited in claim 11 , wherein the program code is further readable/executable by the device to create, by the device, the first control queue and the second control queue, the first and second control queues being configured to store one or more flow descriptors. 18. The computer program product as recited in claim 11 , wherein the program code is further readable/executable by the device to increase, by the device, the service credit of the selected flow by an amount corresponding to a weight parameter of the selected flow in response to a determination that the selected flow is from the second control queue. 19. The computer program product as recited in claim 11 , wherein the program code is further readable/executable by the device to enqueue, by the device, the selected flow to an end of the first control queue in response to a determination that the selected flow comprises unserviced data packets after providing service to the selected flow and that the service credit of the selected flow is greater than zero. 20. The computer program product as recited in claim 11 , wherein the program code is further readable/executable by the device to enqueue, by the device, the selected flow to an end of the second control queue in response to a determination that the selected flow comprises unserviced data packets after providing service to the selected flow and that the service credit of the selected flow is not greater than zero.

Assignees

Inventors

Classifications

  • Static queue service slot or fixed bandwidth allocation · CPC title

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

  • H04L47/527Primary

    Quantum based scheduling, e.g. credit or deficit based scheduling or token bank · 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 US9843529B2 cover?
In one embodiment, a method includes selecting a flow from a head of a first control queue or a second control queue. The method also includes providing service to the selected flow. Moreover, the method includes decreasing a service credit of the selected flow by an amount corresponding to an amount of service provided to the selected flow. In another embodiment, a computer program product inc…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification H04L47/527. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 12 2017 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).