System and method for supporting efficient buffer reallocation in a networking device

US9621484B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9621484-B2
Application numberUS-201414584847-A
CountryUS
Kind codeB2
Filing dateDec 29, 2014
Priority dateDec 29, 2014
Publication dateApr 11, 2017
Grant dateApr 11, 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.

A system and method can support efficient packet switching in a network environment. The system can comprise an ingress buffer on a networking device. The ingress buffer operate to store one or more incoming packets that are received at an input port on the networking device, wherein the input port is associated with a plurality of source virtual lanes (VLs). Furthermore, the ingress buffer operate to reallocate buffer resource in the ingress buffer from being associated with a first source VL in the plurality of source VLs to being associated with a second source VL in the plurality of source VLs, and send an initial credit update to the input port for the first source VL and the second source VL.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for supporting packet switching in a network environment, the method comprising: associating an input port of a network device with a plurality of source virtual lanes (VLs); maintaining, by an ingress buffer on the networking device, a credit state for each of a plurality of virtual output queues (VOQs) of the ingress buffer, wherein each VOQ comprises resources of a shared memory, and wherein the credit state includes a current buffer occupancy based on how full the resources of the VOQ are; associating a first source VL of the plurality of source VLs with a first VOQ of the plurality of VOQs; storing a packet received at the input port in the in the first VOQ; releasing at least part of the resources of the first VOQ by de-queuing the packet stored in the first VOQ; reallocating at least part of the released VOQ resources of the first VOQ to a second VOQ of the plurality of VOQs associated with a second source VL of the plurality of source VLs; and sending an initial credit update to the input port for the first source VL and the second source VL, wherein the initial credit update reflects changes to the credit state of the first VOQ and the second VOQ caused by the reallocating. 2. The method according to claim 1 , further comprising: allowing the networking device to be a network switch, which includes a crossbar fabric. 3. The method according to claim 1 , wherein each VOQ of the plurality of VOQs operates to store one or more packets targeting an output port. 4. The method according to claim 3 , further comprising: selecting a virtual output queue that is associated with the first source VL and has a highest occupancy. 5. The method according to claim 1 , wherein: said reallocating is performed in response to changes in application quality of service (QoS) requirements. 6. The system according to claim 1 , wherein the de-queuing comprises walking through a linked list of buffers that store said packet from a head of said first VOQ. 7. The method according to claim 1 , further comprising using a management agent to initiate the reallocation. 8. The method according to claim 1 , further comprising: advertising, via the ingress buffer, buffer space available per source VL to the input port. 9. The method according to claim 1 , further comprising: setting, via the input port, a maximum credit allowed based on the initial credit update. 10. The method according to claim 9 , further comprising: advertising, via the input port, available credits to an external source based on the maximum credit allowed as reflected by said credit state maintained by the ingress buffer. 11. A network device for supporting packet switching in a network environment, the network device comprising: a microprocessor and a shared memory; an input port and a plurality of source virtual lanes (VLs), wherein the input port is associated with a first source VL and a second source VL of the plurality of source VLs; an ingress buffer implemented in said shared memory, including a plurality of virtual output queues (VOQs), wherein the ingress buffer operates to maintain a credit state for each of the plurality of VOQs, wherein each VOQ of the plurality of VOQs comprises resources of said shared memory, and wherein the credit state includes a current buffer occupancy based on how full the resources of the VOQ are; wherein the first source VL is associated with a first VOQ of the plurality of VOQs, and the second source VL is associated with a second VOQ of the plurality of VOQs; and wherein the network device operates to: store a packet received at the input port in the first VOQ; release at least part of the resources of the first VOQ by de-queuing the packet stored in the first VOQ; reallocate at least part of the released VOQ resources of the first VOQ to the second VOQ; and send an initial credit update to the input port for the first source VL and the second source VL, wherein the initial credit update reflects changes to the credit state of the first VOQ and the second VOQ caused by said reallocating. 12. The system according to claim 11 , wherein: the networking device is a network switch, which includes a crossbar fabric. 13. The system according to claim 11 , wherein each VOQ of the plurality of VOQs operates to store one or more packets targeting an output port. 14. The system according to claim 13 , wherein: the ingress buffer operates to select a virtual output queue that is associated with the first source VL and has a highest occupancy. 15. The system according to claim 11 , wherein: said reallocating is performed in response to changes in application quality of service (QoS) requirements. 16. The system according to claim 11 , wherein the de-queuing comprises walking through a linked list of buffers that store said packet from a head of said first VOQ. 17. The system according to claim 11 , further comprising: a management agent, which operates to initiate the reallocation. 18. The system according to claim 11 , wherein: the ingress buffer operates to advertise buffer space available per source VL to the input port. 19. The system according to claim 11 , wherein: the input port operates to set a maximum credit allowed based on the initial credit update, and advertise available credits to an external source based on the maximum credit allowed. 20. A non-transitory machine readable storage medium having instructions stored thereon for supporting packet switching in a network environment, which instructions, when executed cause a system to perform steps comprising: associating an input port of a network device with a plurality of source virtual lanes (VLs) maintaining, by an ingress buffer on the networking device, a credit state for each of a plurality of virtual output queues (VOQs) of the ingress buffer, wherein each VOQ comprises resources of a shared memory, and wherein the credit state includes a current buffer occupancy based on how full the resources of the VOQ are, associating a first source VL of the plurality of source VLs with a first VOQ of the plurality of VOQs; storing a packet received at the network port in the in the first VOQ; releasing at least part of the resources of the first VOQ by de-queuing the packet stored in the first VOQ; reallocating at least part of the released VOQ resources of the first VOQ in the ingress buffer to a second VOQ of the plurality of VOQs associated with a second source VL of the plurality of source VLs; and sending an initial credit update to the input port for the first source VL and the second source VL, wherein the initial credit update reflects changes to the credit state of the first VOQ and the second VOQ caused by the reallocating.

Assignees

Inventors

Classifications

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 US9621484B2 cover?
A system and method can support efficient packet switching in a network environment. The system can comprise an ingress buffer on a networking device. The ingress buffer operate to store one or more incoming packets that are received at an input port on the networking device, wherein the input port is associated with a plurality of source virtual lanes (VLs). Furthermore, the ingress buffer ope…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification H04L49/3045. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 11 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).