A method for managing the transmission of packet objects distinguishes between packet objects having and not having quality of service (QoS) requirements for transmission over a logical channel. Packet objects for a logical channel having QoS requirements are placed in a sorted tree queue based on its scheduled departure time and on a weighting system related to the QoS requirements. Packet objects for a logical channel only requiring best effort transmission are place in a FIFO queue. Each logical channel is associated with either a sorted tree queue or a FIFO queue.
A stage-implemented QoS shaping scheme is provided for a data communication switch. The stage-implemented QoS shaping scheme may be implemented by augmenting an existing packet forwarding logic. Inbound packets or other input signals enter the switch with inbound QoS or priority information. The inbound QoS information and packet header data are used by the switch to determine internal and outbound QoS information in stages. The first stage receives a key including addressing and other information and determines a QoS shaping index. In the second stage, the QoS shaping index is used to select QoS shaping maps, and the inbound QoS information is mapped to the QoS shaping maps to select internal and outbound QoS information.
A shaper 201 and a scheduler 203 are combined to determine a target tree 203 and insert 207 a tag into a data structure, wherein the tag is associated with a packet that has reached the head of line (HOL) of a queue in a packet router. A tag may become an eligible tag and be placed in a set of tags to be searched. Such tags are searched for the smallest tag. A packet associated with the smallest tag is transmitted if the output link is available.
Systems and methods for scheduling data packets in a network processor are disclosed. Embodiments provide a network processor that comprises a best-effort scheduler with a minimal calendar structure for addressing schedule control blocks. In one embodiment, a three-entry calendar structure provides for weighted best effort scheduling. Each of a plurality different flows has an associated schedule control block. Schedule control blocks are stored as linked lists in a last-in-first-out buffer. Each calendar entry is associated with a different linked list by storing in the calendar entry the address of the first-out schedule control block in the linked list. Each schedule control block has a counter and is assigned a weight according to the bandwidth priority of the flow to which the corresponding packet belongs. Each time a schedule control block is accessed from a last-in-first-out buffer storing the linked list, the scheduler generates a scheduling event and the counter of the schedule control block is incremented. When an incremented counter of a schedule control block equals its weight, the schedule control block is temporarily removed from further scheduling.
Systems and methods for scheduling data packets in a network processor are disclosed. Embodiments provide a network processor that comprises a best-effort scheduler with a minimal calendar structure for addressing schedule control blocks. In one embodiment, a four-entry calendar structure provides for rate-limited weighted best effort scheduling. Each of a plurality of different flows has associated schedule control blocks. Schedule control blocks are stored as linked lists in a last-in-first-out buffer. Each calendar entry is associated with a different linked list by storing in the calendar entry the address of the first-out schedule control block in the linked list. Each schedule control block has a counter and is assigned a rate limit according to the bandwidth priority of the flow to which the corresponding packet belongs. Each time a schedule control block is accessed from a last-in-first-out buffer storing the linked list, the scheduler generates a scheduling event and the counter of the schedule control block is incremented. When an incremented counter of a schedule control block equals its rate limit, the schedule control block is temporarily removed from further scheduling until a time interval concludes.
Disclosed herein is a packet transmission method wherein received packets are sorted into prioritized QoS packets and general packets other than the prioritized QoS packets, the sorted prioritized QoS packets are accumulated, the accumulated QoS packets are capsulated and then transmitted as a capsulated packet, and the capsulated packet is transmitted in matching with the period of a CODEC. In the preferred embodiment, there is provided a wireless LAN system comprising a base station and at least one wireless LAN terminal connected to said base station via a wireless LAN; and a packet transmission system for transmitting a packet between said base station and said at least one wireless LAN terminal via the wireless LAN, the packet transmission system. In the packet transmission system, a packet sorter sorts received packet into prioritized packets and packets other than the prioritized packets. A FIFO queue buffer (QoS queue) accumulates the sorted prioritized packets. A packet combiner capsulates the accumulated packets in the QoS queue. A wireless packet transmitter transmits the capsulated packet between the base station and the at least one wireless LAN.