Advanced load balancing based on bandwidth estimation

US2020314014A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2020314014-A1
Application numberUS-201916368661-A
CountryUS
Kind codeA1
Filing dateMar 28, 2019
Priority dateMar 28, 2019
Publication dateOct 1, 2020
Grant date

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.

An apparatus for load balancing based on available bandwidth estimation includes a bandwidth module configured to determine for a networking device a first available bandwidth estimate for a first egress port and a second available bandwidth estimate for a second egress port, a load balancing module configured to select the first egress port as a selected port in response to determining that the first available bandwidth estimate of the first egress port exceeds a predetermined level and to select the second egress port as the selected port in response to determining that the available bandwidth estimate of the first egress port does not exceed the predetermined level and that the second available bandwidth estimate of the second egress port exceeds the predetermined level, and a transmission module configured to transmit a packet from the selected port. A method and network switching device work similarly to the apparatus.

First claim

Opening claim text (preview).

1 . An apparatus comprising: a scheduling circuit configured to schedule an egress port from a plurality of egress ports using a hash of at least one field of a packet header of a packet, wherein the packet is scheduled to be transmitted from a first egress port based on the hash; a bandwidth circuit configured to determine a first available bandwidth estimate for the first egress port of a networking device and to determine a second available bandwidth estimate for a second egress port of the networking device, wherein bandwidth comprises a measure indicative of capacity of a queue of an egress port; a load balancing circuit configured to select the first egress port as a selected port in response to determining that the first available bandwidth estimate of the first egress port exceeds a first predetermined level, the first predetermined level relative to a capacity of a queue of the first egress port, and to select the second egress port as the selected port in response to determining that the available bandwidth estimate of the first egress port does not exceed the first predetermined level and that the second available bandwidth estimate of the second egress port exceeds a second predetermined level, the second predetermined level relative to a capacity of a queue of the second egress port; and a transmitter configured to transmit the packet from the selected port. 2 . The apparatus of claim 1 , wherein the load balancing circuit is configured to determine whether the packet is configured to use a reliable transport protocol as a condition to selecting the second egress port as the selected port. 3 . The apparatus of claim 2 , wherein the reliable transport protocol is one of Transmission Control Protocol (“TCP”) and Stream Control Transmission Protocol (“SCTP”). 4 . The apparatus of claim 1 , further comprising a switching logic circuit configured to cause an action selected from dropping the packet and using flow control to pause receipt of further packets, to be performed in response to one or more of determining that the available bandwidth estimate of each egress port of a plurality of egress ports including the first egress port and the second egress port does not exceed a predetermined level applicable to the egress port and/or determining that the packet is not configured to use a reliable transport protocol. 5 . The apparatus of claim 1 , wherein the bandwidth circuit is configured to determine the available bandwidth estimate for the selected port based on a size of currently available memory in a queue for the selected port at a current rate of packet traffic for the selected port. 6 . The apparatus of claim 5 , wherein the bandwidth circuit is configured to decrease the available bandwidth estimate of the selected port by a packet size of the packet in response the selected port being selected. 7 . The apparatus of claim 5 , wherein the bandwidth circuit is configured to increase the available bandwidth estimate of the selected port by a packet size of the packet in response to the packet being transmitted from the selected port. 8 . The apparatus of claim 7 , wherein the bandwidth circuit is configured to determine the packet size by parsing a packet header of the packet before scheduling the packet for layer 2 or layer 3 processing. 9 . The apparatus of claim 1 , wherein the load balancing circuit is configured to select the second egress port as the selected port by determining which of a plurality of egress ports has the greatest available bandwidth estimate at a receipt time of the packet being received at an ingress port. 10 . The apparatus of claim 1 , wherein the load balancing circuit is configured to determine the second egress port by incrementing a port number to the port number of a next available egress port whose available bandwidth estimate exceeds a predetermined level applicable to the next available egress port. 11 . (canceled) 12 . The apparatus of claim 1 , wherein the plurality of egress ports are bundled together to form a link aggregation group selected from a static link aggregation group and a dynamic link aggregation group. 13 . A method comprising: receiving a packet at an ingress port of a networking device; schedule the packet to be transmitted from a first egress port of a plurality of egress ports based on a hash of at least one field of a header of the packet; determining a first available bandwidth estimate of the first egress port, wherein bandwidth comprises a measure indicative of capacity of a queue of an egress port; selecting the first egress port as a selected port in response to determining that the first available bandwidth estimate of the first egress port exceeds a first predetermined level, the first predetermined level relative to a capacity of a queue of the first egress port; selecting a second egress port as the selected port in response to determining that the first available bandwidth estimate of the first egress port does not exceed the first predetermined level and to further determining that the second egress port has a second available bandwidth estimate that exceeds a second predetermined level, the second predetermined level relative to a capacity of a queue of the second egress port; and transmitting the packet from the selected port. 14 . The method of claim 13 , further comprising causing an action selected from dropping the packet and using flow control to pause receipt of further packets, to be performed in response to one or more of determining that the available bandwidth estimate of each egress port of a plurality of egress ports including the first egress port and the second egress port does not exceed a predetermined level applicable to the egress port and/or determining that the packet is not configured to use a reliable transport protocol. 15 . The method of claim 13 , wherein determining the available bandwidth estimate for the selected port is based on a size of currently available memory in a queue for the selected port at a current rate of packet traffic for the selected port. 16 . The method of claim 15 , further comprising decreasing the available bandwidth estimate of the selected port by a packet size of the packet in response to the selected port being selected. 17 . The method of claim 15 , further comprising increasing the available bandwidth estimate of the selected port by a packet size of the packet in response to the packet being transmitted from the selected port. 18 . The method of claim 13 , further comprising selecting the second egress port by determining which of a plurality of egress ports including the first egress port and the second egress port has the greatest available bandwidth estimate at a receipt time of the packet being received at the ingress port. 19 . The method of claim 13 , further comprising selecting the second egress port by incrementing a port number to the port number of a next available egress port. 20 . A network switching device comprising: an ingress port; a plurality of egress ports; a first circuit configured to receive a networking packet and to schedule the networking packet to be transmitted from a first egress port based on a hash of at least one field of a header of the networking packet; a second circuit configured to configure the plurality of egress ports as members of a link aggregation group; a third circuit configured to determine a first available bandwidth estimate of a first egress port of the plurality of egress ports, wherein bandwidth compris

Assignees

Inventors

Classifications

  • Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities (flow or congestion control using dynamic resource allocation, e.g. in-call renegotiation, H04L47/76) · CPC title

  • using explicit feedback to the source, e.g. choke packets · CPC title

  • for predicting network behaviour · CPC title

  • for prediction of maintenance · CPC title

  • Assignment of logical groups to network elements · 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 US2020314014A1 cover?
An apparatus for load balancing based on available bandwidth estimation includes a bandwidth module configured to determine for a networking device a first available bandwidth estimate for a first egress port and a second available bandwidth estimate for a second egress port, a load balancing module configured to select the first egress port as a selected port in response to determining that th…
Who is the assignee on this patent?
Lenovo Entpr Solutions Singapore Pte Ltd
What technology area does this patent fall under?
Primary CPC classification H04L47/125. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu Oct 01 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).