Algorithm for time based queuing in network traffic engineering
AssigneeBroadcom Corporation
InventorShih-Hsiung Ni
Life of this patent
Estimating the term…
Abstract
The present invention provides a method for prioritizing packet flows within a switching network. The method includes the steps of receiving packets at an input port, stamping the packets with an arrival time, and classifying the packet into a flow, wherein the flow is determined based upon at least a class of service of the packet, assigning the packet to a queuing ring according to the flow of the packet, and maintaining a flow ratio pending within the switch based upon the classification of the packet.
Claims21
A method of prioritizing packet flows within a switch, said method comprising the steps of:
- receiving a packet at an input port;
- stamping the packet with an arrival time;
- classifying the packet into a flow, wherein the flow is determined based upon at least a class of service of the packet;
- assigning the packet to at least one queuing ring according to the flow of the packet, wherein the queuing ring comprises at least one list of pointers, each list of pointers being assigned to a specified flow and a head pointer in each of the at least one list represents the specified flow;
- and
- maintaining a flow ratio pending within the switch based upon the flow of the packet,
- wherein a gap between head pointers of the list of pointer is calculated when one head pointer is added or deleted from the queuing ring.
A switch for prioritizing and routing a packet through a communication system, said switch comprising:
- an input port for receiving the packet from an input source;
- a time stamp for stamping the packet with an arrival time;
- a classification module for determining a flow of the packet, wherein the flow is determined based upon at least a class of service of the packet;
- a queuing module assigning the packet to at least one queuing ring according to the flow of the packet, wherein the queuing ring comprises at least one list of pointers, each list of pointers being assigned to a specific flow, wherein a head pointer in each list represents the specific flow;
- and
- a flow control module for maintaining a flow ratio pending within the switch based upon the flow of the packet,
- wherein a gap between head pointers of the list of pointer is calculated when one head pointer is added or deleted from the queuing ring.
A switch for prioritizing and routing a packet through a communication system, said switch comprising:
- receiving means for receiving a packet at an input port;
- stamping means for stamping the packet with an arrival time;
- determining means for determining a flow of the packet, wherein the flow is determined based upon at least a class of service of the packet;
- queuing means for assigning the packet to at least one queuing ring according to the flow of the packet, wherein the queuing ring comprises at least one list of pointers, each list of pointers being assigned to a specific flow, wherein a head pointer in each list represents the specific flow;
- and
- maintaining means for maintaining a flow ratio pending within the switch based upon the flow of the packet,
- wherein a gap between head pointers of the list of pointer is calculated when one head pointer is added or deleted from the queuing ring.
A switch for prioritizing and routing a packet through a communication system, said switch comprising:
- an input port for receiving a packet from an input source and an output port for transmitting the packet to an output destination;
- a queuing module configured to determine a flow of the packet and assign the packet in at least one queuing ring based upon the flow, wherein the flow is determined based upon at least a class of service of the packet and the queuing ring comprises at least one list of pointers, each list being assigned to one flow, wherein a head pointer in each of the at least one list represents a specific flow;
- a scheduling module configured to schedule the transmission of the packet from the queue within a selected time interval before the transmission of a next outgoing packet;
- a flow control module configured to maintain a flow ratio pending within the switch based upon the flow of the packet, and to control a transmission rate of the packet from the output port based upon the flow of the packet;
- a conflict determination module configured to determine if a conflict exists when the packet is scheduled to be transmitted from the output port;
- a threshold indicator module configured to provide a threshold status based upon the flow ratio;
- and
- a transmission module to transmit the packet from the output port according to the schedule determined by the scheduling module.
A method of prioritizing packet flows, comprising the steps of:
- receiving a packet into an input port;
- transmitting the packet from an output port;
- determining a flow of the packet, wherein the flow is determined based upon at least a class of service of the packet;
- assigning the packet to at least one queuing ring according to the flow of the packet, wherein the queuing ring comprises at least one list of pointers, each list being assigned to one flow, wherein a head pointer in each of the at least one list represents a specific flow;
- scheduling the transmission of the packet from the queue within a selected time interval before the transmission of a next outgoing packet;
- maintaining a flow ratio pending within the switch based upon the flow of the packet;
- controlling a transmission rate of the packet from the output port based upon the flow of the packet;
- determining if a conflict exists when the packet is scheduled to be transmitted from the output port;
- providing a threshold status based upon the flow ratio;
- and
- transmitting the packet from the output port within the selected time interval.
A switch for prioritizing and routing a packet through a communication system, the switch comprising:
- receiving means for receiving a packet into an input port;
- transmitting means for transmitting the packet from an output port;
- determining means for determining a flow of the packet, wherein the flow is determined based upon at least a class of service of the packet;
- assigning means for assigning the packet in at least one queuing ring according to the flow of the packet, wherein the queuing ring comprises at least one list of pointers, each list being assigned to one flow, wherein a head pointer in each of the at least one list represents a specific flow;
- scheduling means for scheduling the transmission of the packet from the queue within a selected time interval before the transmission of a next outgoing packet;
- maintaining means for maintaining a flow ratio pending within the switch;
- controlling means for controlling a transmission rate of the packet from the output port based upon the flow of the packet;
- determining means for determining if a conflict exists when the packet is scheduled to be transmitted from the output ports;
- providing means for providing a threshold status based upon the flow ratio;
- and
- transmitting means for transmitting the packet from the output port within the selected time interval.
Dependencies are inferred from the claim text.