Flexible queues in a network switch

US2016373368A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016373368-A1
Application numberUS-201615256164-A
CountryUS
Kind codeA1
Filing dateSep 2, 2016
Priority dateMay 24, 2012
Publication dateDec 22, 2016
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.

In an apparatus for receiving and forwarding data packets on a network, a network device includes a plurality of ports for coupling to the network and for transmitting packets to devices disposed in or coupled to the network. At least one processor configured to process packets received via the network processes packets by selectively forwarding processed packets to one or more of the ports. A plurality of queues are defined in a memory, each configured to store packets to be transmitted by ports in the plurality of ports. A queue manager is configured to selectively assign a subset of the plurality of queues to a subset of the plurality of ports.

First claim

Opening claim text (preview).

1 . (canceled) 2 . A network device comprising: a plurality of ports configured to be coupled to a network and to transmit network packets to other devices disposed in or coupled to the network; a memory system configured to include: a plurality of queues for storing packets to be transmitted by ports among the plurality of ports, and queue assignment information that indicates which queues are assigned to which ports; a forwarding engine configured to determine ports via which the network packets are to be transmitted from the network device; a queue manager configured to: direct network packets processed by the forwarding engine to appropriate queues among the plurality of queues, direct network packets stored in the queues among the plurality of queues to appropriate ports among the plurality of ports using the queue assignment information in the memory system, and reconfigure assignments of queues to ports during operation of the network device by revising the queue assignment information in the memory system. 3 . The network device of claim 2 , wherein the queue manager is configured to (i) intercept a congestion notification sent to an upstream device in or coupled to the network from a downstream device in or coupled to the network and, (ii) mitigate congestion according to the intercepted congestion notification by performing a queue modification action that includes one of: (a) reassigning one or more queues to a port associated with the congestion notification and updating the queue assignment information to indicate the reassignment of the one or more queues to the port, or (b) modifying a queue length of a queue. 4 . The network device of claim 3 , wherein the queue manager is configured to, in response to the intercepted congestion notification: (i) reassign one or more queues to a port associated with the downstream device and update the queue assignment information to indicate the reassignment of the one or more queues to the port, and (ii) perform a shaping operation on a flow of packets received from the upstream device and destined for the downstream device. 5 . The network device of claim 3 , wherein the queue manager is configured (i) to intercept a layer 2 congestion notification sent to the upstream device from the downstream device, and (ii) to perform the queue modification action for mitigating congestion according to the intercepted layer 2 congestion notification. 6 . The network device of claim 2 , wherein the memory system is configured to include at least one of the following data structures used by the queue manager to direct data packets stored in queues and/or ports of the network device: (i) a port-to-queue table to configurably define which queues are assigned to each port; (ii) a queue-to-port table to configurably define which port is associated with each queue; (iii) a queue-to-port-group table to configurably define which port group is associated with each queue; and (iv) a queue priority table to configurably define a priority associated with each queue. 7 . The network device of claim 2 , wherein the queue manager is configured to: in response to determining that a first port has failed, reassign one or more queues that were assigned to the first port to one or more other ports, and update the queue assignment information to indicate the reassignment of the one or more queues. 8 . The network device of claim 2 , wherein the queue manager is configured to: in response to determining that a serializer-deserializer functional block coupled to a first port is defective, reassign one or more queues that were assigned to the first port to one or more other ports, and update the queue assignment information to indicate the reassignment of the one or more queues. 9 . The network device of claim 2 , wherein the queue manager is configured to: in response to determining that a first queue assigned to a first port is defective, reassign one or more second queues that were assigned to one or more second ports to the first port, and update the queue assignment information to indicate the reassignment of the one or more second queues to the first port. 10 . The network device of claim 2 , wherein: the memory system is configured to store a plurality of port profiles, each port profile corresponding to one of the plurality of ports and indicating at least one of i) a feature of packet traffic destined for the port or ii) a feature of a device coupled to the port; and the queue manager is configured to assign to each of at least some of the plurality of ports one or more of the plurality of queues according to the port profile corresponding to the port. 11 . The network device of claim 10 , wherein the queue manager comprises a queue processor configured to allocate queues to ports according to any one or more of the following aspects of a port profile: (i) a specified flow or protocol; (ii) a specified traffic type; (iii) a specified multi-tenant configuration profile; and (iv) a specified quality of service (QoS). 12 . A method in a network device having a plurality of queues and a plurality of ports, the method comprising: storing, in a memory system of the network device, queue assignment information that indicates which queues are assigned to which ports; revising the queue assignment information in the memory system to reconfigure assignments of queues to ports during operation of the network device; receiving network packets at ports among the plurality of ports; determining, in a forwarding engine of the network device, a respective set of one or more ports to which each network packet of at least some of the received network packets should be forwarded; directing network packets processed by the forwarding engine to appropriate queues among the plurality of queues; directing network packets stored in the queues among the plurality of queues to appropriate ports among the plurality of ports using the queue assignment information in the memory system; and transmitting packets from ports of the network device, including, for each of at least some of the queues: retrieving packets from the queue, and providing the retrieved packets to the port to which the queue is assigned. 13 . The method of claim 12 , further comprising: intercepting a congestion notification sent to an upstream device in or coupled to the network from a downstream device in or coupled to the network; and mitigating congestion according to the intercepted congestion notification by performing a queue modification action that includes one of: (a) reassigning one or more queues to a port associated with the congestion notification and updating the queue assignment information in the memory system to indicate the reassignment of the one or more queues to the port, or (b) modifying a queue length of a queue. 14 . The method of claim 13 , wherein mitigating congestion comprises, in response to the intercepted congestion notification: reassigning one or more queues to a port associated with the downstream device and updating the queue assignment information in the memory system to indicate the reassignment of the one or more queues to the port; and performing a shaping operation on a flow of packets received from the upstream device and destined for the downstream device. 15 . The network device of claim 13 , wherein: intercepting the congestion notification comprises intercepting a layer 2 congestion notification sent to the upstream device from the downstream device; and performing the queue modification action comprises performing a queue

Assignees

Inventors

Classifications

  • Avoiding congestion; Recovering from congestion · CPC title

  • using a shared central buffer; using a shared memory · CPC title

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

  • Shared queuing · CPC title

  • H04L47/58Primary

    Changing or combining different scheduling modes, e.g. multimode scheduling · 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 US2016373368A1 cover?
In an apparatus for receiving and forwarding data packets on a network, a network device includes a plurality of ports for coupling to the network and for transmitting packets to devices disposed in or coupled to the network. At least one processor configured to process packets received via the network processes packets by selectively forwarding processed packets to one or more of the ports. A …
Who is the assignee on this patent?
Marvell World Trade Ltd
What technology area does this patent fall under?
Primary CPC classification H04L49/3036. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu Dec 22 2016 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).