US8824287B2 - Method and apparatus for managing traffic in a network - Google Patents

Method and apparatus for managing traffic in a network Download PDF

Info

Publication number
US8824287B2
US8824287B2 US12/989,631 US98963109A US8824287B2 US 8824287 B2 US8824287 B2 US 8824287B2 US 98963109 A US98963109 A US 98963109A US 8824287 B2 US8824287 B2 US 8824287B2
Authority
US
United States
Prior art keywords
value
meter
priority
scheduling
queue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US12/989,631
Other languages
English (en)
Other versions
US20110038261A1 (en
Inventor
Jakob Carlström
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cavium International
Xelerated AB
Marvell Technology Sweden AB
Marvell Asia Pte Ltd
Original Assignee
Marvell International Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Marvell International Ltd filed Critical Marvell International Ltd
Priority to US12/989,631 priority Critical patent/US8824287B2/en
Publication of US20110038261A1 publication Critical patent/US20110038261A1/en
Assigned to XELERATED NEWCO AB reassignment XELERATED NEWCO AB ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: XELERATED AB
Assigned to MARVELL TECHNOLOGY SWEDEN AB reassignment MARVELL TECHNOLOGY SWEDEN AB CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: XELERATED NEWCO AB
Assigned to MARVELL INTERNATIONAL LTD. reassignment MARVELL INTERNATIONAL LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MARVELL TECHNOLOGY SWEDEN AB
Assigned to XELERATED AB reassignment XELERATED AB ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CARLSTROM, JAKOB
Publication of US8824287B2 publication Critical patent/US8824287B2/en
Application granted granted Critical
Assigned to CAVIUM INTERNATIONAL reassignment CAVIUM INTERNATIONAL ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MARVELL INTERNATIONAL LTD.
Assigned to MARVELL ASIA PTE, LTD. reassignment MARVELL ASIA PTE, LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CAVIUM INTERNATIONAL
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6295Queue scheduling characterised by scheduling criteria using multiple queues, one for each individual QoS, connection, flow or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2458Modification of priorities while in transit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/522Dynamic queue service slot or variable bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/527Quantum based scheduling, e.g. credit or deficit based scheduling or token bank
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/58Changing or combining different scheduling modes, e.g. multimode scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/60Queue scheduling implementing hierarchical scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6235Variable service order
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/821Prioritising resource allocation or reservation requests

Definitions

  • the present invention relates to a traffic manager comprising a scheduler, a number of queues and a number of scheduling nodes hierarchically arranged at one or more scheduling levels under a root node, each scheduling node being configured to serve a queue or a scheduling node of a lower scheduling level according to priorities.
  • services with a wide range of traffic characteristics and quality of service requirements may share the bandwidth of a physical or logical network interface.
  • Examples of services with different requirements are voice, video, best effort and control messaging.
  • a service can have a minimum rate, which is guaranteed in most cases. However, in some applications, e.g. broadband aggregation, the guaranteed minimum rate is oversubscribed, i.e. the minimum rate cannot be guaranteed at every time, causing reduced quality of service, e.g. increasing the latency for a service, in periods with exceptionally high bandwidth demands.
  • each VLAN has two queues representing leaves in the tree, where a queue stores packets belonging to a service.
  • each queue or node has two sets of attributes; enqueue attributes and dequeue attributes.
  • the enqueue attributes control how data packets enter a queue, and as such control the depth of the queue.
  • the dequeue attributes control how data packets exit the queue, and as such control scheduling of the queue with respect to other queues.
  • Olsen et al. describe minimum rate propagation which allows child nodes to be configured with a minimum rate, even though the parent node does not have an equal or greater minimum rate. By the minimum rate propagation, the parent node has a conditional minimum rate guarantee, meaning that when traffic is present on the child node that has a minimum rate guarantee, the parent also has the minimum rate guarantee to be used only for traffic coming from the child with the guarantee.
  • the scheduler For each queue, during minimum bandwidth guarantee shaping, the scheduler will be selected based on round robin scheduling or strict priority scheduling, based on a separate minimum bandwidth strict priority register.
  • each queue is entered into a maximum bandwidth allowable region, where the scheduler will use either weighted deficit round robin (WDRR) or strict priority (SP) to pick a data packet from different quality of service (QoS) queues.
  • WDRR weighted deficit round robin
  • SP strict priority
  • an object of the present invention is to overcome the problems with oversubscription of a minimum rate guarantee in a communication network. Specifically, an object of the present invention is to share bandwidth in a controlled manner when the sum of demanded minimum rate is larger than the sum of allocated minimum rate. In other words, it is an object of the present invention, to provide means for flexible and predictable bandwidth allocation in cases of oversubscription of minimum guaranteed rates.
  • Another object of the present invention is to guarantee minimum rate at any scheduling level.
  • a traffic manager and a method for a traffic manager comprising a scheduler, a number of queues and a number of scheduling nodes hierarchically arranged at one or more scheduling levels, each scheduling node being configured to serve a queue or a scheduling node of a lower scheduling level according to priorities, the method comprising the step of reading a first data packet comprised in a first queue based on a scheduling priority.
  • the scheduling priority being determined at least partly on a configured priority of the first queue; at least partly on a first meter value of a first meter associated with the first queue; and at least partly on a second meter value of a second meter associated with a first scheduling node; the first scheduling node being a parent node of the first queue.
  • FIG. 1 a schematically illustrates a block diagram of a traffic manager according to an embodiment of the present invention
  • FIG. 1 b schematically illustrates a logical view of a traffic manager according to an embodiment of the present invention
  • FIG. 2 schematically illustrates an example of a scheduling hierarchy
  • FIG. 3 schematically illustrates scheduling of queues at an A scheduling node
  • FIG. 4 schematically illustrates scheduling of scheduling nodes at B, C, or P level scheduling nodes, without propagated priorities
  • FIG. 5 schematically illustrates scheduling of scheduling nodes at B, C, or P level scheduling nodes, with propagated priorities
  • FIG. 6 schematically illustrates priority propagation in a scheduling hierarchy
  • FIG. 7 schematically illustrates a network processor comprising an embodiment of the inventive traffic manager.
  • FIG. 8 schematically illustrates a router/switch comprising one or more traffic managers.
  • FIG. 1 a schematically illustrates a block diagram of a traffic manager 1 according to an embodiment of the present invention.
  • FIG. 1 b schematically illustrates a logical view of a traffic manager (TM) 1 according to an embodiment of the present invention.
  • the traffic manager 1 may be arranged to provide buffering, queuing and scheduling of data packets in a network system.
  • the traffic manager 1 may be comprised in a network processor 10 of the network system, cf. FIG. 7 . However, it may also be arranged as a stand alone device, which may be arranged external of and in communication with a network processor.
  • the traffic manager may be arranged for multiple purposes in a network system.
  • the traffic manager may be configured for ingress traffic management, egress traffic management, and virtual output queuing.
  • the traffic manager may be configured for other purposes in a network system.
  • the traffic manager algorithms may be configured to ensure that the bandwidth is shared according to service level agreements.
  • the services level agreements describe e.g. quality of service parameters such as minimum bandwidth, maximum bandwidth, latency, jitter and loss probability for traffic received from or transmitted to a network user.
  • the traffic manager queues and schedules data packets at an input of a switch fabric depending on quality of service parameters assigned to data packets in the queues and the availability of bandwidth and data storage in the switch fabric or at the outputs of the switch fabric.
  • the network processor can be any of a variety of known types; including the processor described in the international patent application no. PCT/EP2007/055777 which is incorporated herein by reference.
  • the processor may comprise processing means of a variety of known types; including an asynchronous processing pipeline, as described in the international patent application no. PCT/SE2005/0019696 which is incorporated herein by reference.
  • the traffic manager 1 is at arranged to receive data packets via one or several input ports 2 and to make a decision what action to take based on packet information.
  • the traffic manager 1 may therefore comprise means for packet inspection 3 .
  • the data packet information may be comprised in the data packet, e.g. in a protocol header.
  • the packet information may be transferred as a side-band information with the data packet, e.g. by attributes set by the entity transferring data packets to the traffic manager.
  • the traffic manager may be arranged to select a queue to which the data packet is to be written.
  • the selection of queue may be based on the packet information.
  • the queue number may be comprised in the packet information and by reading the packet information the traffic manager knows the queue to which the data packet is to be written.
  • the traffic manager may also be arranged to decide whether to drop a data packet by drop means 4 or to enqueue a data packet by enqueue means 5 based on the packet information, based on queue information, e.g. the current queue length or average queue length and/or based on parameters stored in the traffic manager and associated with the queue, such as drop thresholds and parameters for active queue management, e.g. weighted random early discard.
  • a data packet is written to a queue Q it becomes available for scheduling and dequeuing after any preceding data packet in the queue has been dequeued.
  • the queue may be served by a scheduler 6 , which in turn may be served by other schedulers at higher levels in a scheduling hierarchy.
  • a scheduler 6 is arranged to use a scheduling algorithm to determine the service order of queues or scheduler nodes.
  • a dequeue means 7 may be arranged to dequeue a data packet.
  • Non-limiting examples of scheduling algorithms comprise first-come-first-serve, time-division multiplexing, round-robin, weighted round-robin, strict priority queuing, deficit round-robin, deficit weighted round-robin, weighted fair queuing and earliest deadline first.
  • Dequeing from a queue or from a scheduler node may be temporarily blocked by traffic shapers, such as leaky buckets or token buckets, or by backpressure signals received by the traffic manager.
  • the backpressure signals may be received from a rate-limited output port whose local storage for data pending for transmission is almost full.
  • a data packet is transmitted through the output port 8 of the traffic manager.
  • the traffic manager is arranged to post-process the data packet before transmission.
  • the traffic manager may be arranged to edit the data packet header or to write information to side-band attributes.
  • data packets D 1 -D D enter the traffic manager 1 through a data interface comprising one or more input ports 2 , and are stored in one or more input buffers Q 1 -Q Q , such as one or more queues, before being scheduled in a manner described below. After being scheduled, the data packets D 1 -D D are read from the queues and exit the traffic manager through one or more output ports 8 .
  • traffic manager 1 comprises a number of scheduling nodes N 1 -N N hierarchically arranged at one or more scheduling levels L 1 -L L , each scheduling node N 1 -N N being configured to serve a queue Q 1 -Q Q or a scheduling node N 1 -N N of a lower scheduling level L 1 -L L according to priorities.
  • the traffic manager 1 comprises a scheduler 6 , e.g. a hierarchical scheduler, that may comprise a number, e.g. four, identical schedulers, each scheduler having a single scheduling hierarchy and being allocated to a set of traffic interfaces; matching its data bandwidth and packet rate.
  • the lowest leaves of a scheduler hierarchy are the queues Q.
  • Data packets from the queues are successively aggregated by scheduling nodes N arranged in a number, e.g. five, levels.
  • Each scheduler can be flexible configured hierarchically featuring 8192 queues and more the 2048 internal scheduling nodes which are shared between the traffic interfaces allocated to the scheduler.
  • FIG. 2 schematically illustrates an example of a scheduling hierarchy.
  • data packets D are stored in 8192 FIFO (first-in-first-out) queues Q, and four queues are mapped to one out of 2048 level A scheduling nodes N A .
  • 1-1024 level A scheduling nodes N A are mapped to one out of 512 level B scheduling nodes N B
  • 1-512 level B scheduling nodes N B are mapped to one out of 128 level C scheduling nodes N C
  • 1-128 level C scheduling nodes N C are mapped to one out of 16 ports P
  • 1-16 ports P are mapped to the scheduler tree T.
  • an egress scheduler at a user side of an oversubscribed Metro Ethernet system may assign 12 ports to Gigabit Ethernet interfaces.
  • level B and level C correspond to logical interfaces and services
  • level A corresponds to users
  • the queues correspond to applications. It should be understood that the number of levels may vary. Further, if a more shallow hierarchy is needed, level B or level C may for example be configured as transparent dummy layers connecting to upper or lower level nodes one-to-one.
  • Each of the scheduling nodes N A , N B , and N C , and each of the ports P may comprise a strict priority scheduler, a round robin (RR) scheduler or a deficit weighted round robin (DWRR) scheduler.
  • the scheduler tree T may comprise a strict priority scheduler or a round robin (RR) scheduler.
  • each of the queues Q, scheduling nodes N, and ports P is associated with dual rate shapers, e.g. dual token bucket shapers.
  • the rate shapers are bit rate shapers.
  • a minimum rate shaper also called a minimum (committed) token bucket shaper
  • a maximum rate shaper also called maximum (excess) token bucket shaper
  • shaper S e.g., shapers S 1 , S 2 , . . . S Q-1 , S Q and S P . . . S M and corresponding shaper values SV 1 -SV Q and SV P ).
  • the meter M is configured to define a dynamic priority, whereby the priority of the associated queue, node or port, can be dynamically changed between a high priority level and a low priority level in dependence of the relation between a meter value M V (e.g., MV 1 -MV Q and MV P ) and a meter limit value MLV of the meter M.
  • a meter value M V e.g., MV 1 -MV Q and MV P
  • MLV meter limit value of the meter M.
  • the first meter M 1 has a meter value MV 1 that is less than the meter limit value MLV 1 giving that the priority is low.
  • the priority would be high.
  • the shaper S is configured to limit the bit rate to the output port 8 of the traffic manager 1 .
  • a first data packet D 1 -D D comprised in a first queue Q 1 -Q D is read from the first queue and for example admitted to the output port 8 of the traffic manager 1 based on a scheduling priority SP.
  • the scheduling priority SP is determined at least partly on a configured priority CP 1 -CP Q of the first queue Q 1 -Q Q , cf. FIG. 3 ; at least partly on a first meter value MV 1 -MV M of a first meter M 1 -M M associated with the first queue Q 1 -Q Q ; and at least partly on a second meter value MV 1 -MV M of a second meter M 1 -M M associated with the first scheduling node N 1 -N N .
  • the scheduling priority may further be determined at least partly on a configured priority CP 1 -CP N of a first scheduling node N 1 -N N ; the first scheduling node N 1 -N N being a parent node of the first queue Q 1 -Q Q .
  • the first and second meters M 1 -M M may be so-called rate shapers and may be provided in any suitable form, for example as software program, or part thereof, or as digital or analogue circuits of electrical, optical or mechanical components.
  • the shapers use loose or strict token buckets algorithms, so that admittance of data is based on a value of a credit parameter. However, any other suitable admittance algorithm may be used.
  • the meters M 1 -M M being configured to dynamically change its priority level between a high priority level when the meter value MV 1 -MV M is equal to or higher than a meter limit value MLV (e.g., MLV 1 -MLV M ) and a low priority level when the meter value MV 1 -MV is lower than the meter limit value MLV.
  • a meter limit value MLV e.g., MLV 1 -MLV M
  • the meter limit values MLV 1 and MLV 2 of the first and second meters M 1 -M M are set to zero, the first and second meters will have a high priority if their meter value is equal to or greater than zero, and they will have a low priority if their meter value is less than zero.
  • the first and second meter values MV 1 -MV M of the first and second meters M 1 -M M are decreased by an amount corresponding to the amount of bits of the first data packet D 1 -D D , if the first data packet is read from the queue and admitted to the output port 8 of the traffic manager 1 .
  • the meter values may in addition be decreased by a shaping offset to compensate in advance for future changes in packet size; e.g, by adding or removing packet headers.
  • the shaping offset may be positive, zero, or negative.
  • the shaping offset may be configured per queue or per node or be passed to the traffic manager with the packet as an attribute.
  • the meter values MV 1 -MV M of the first and second meters M 1 -M M are periodically increased, e.g. every clock cycle of the processor, by a meter value amount.
  • the meter value amount may be set during configuration and may be given by amount/interval [bits/s]). In one embodiment, if the thus increased meter value exceeds configurable burst size parameters BS 1 -BSM the meter values are set to BS 1 -BSM.
  • the first and second meter values MV 1 -MV M of the first and second meters M 1 -M M may be increased by a suitable amount, e.g. by an amount corresponding to the amount of bits of the first data packet D 1 -D D , if the first data packet is read from the queue and admitted to the output port 8 of the traffic manager 1 .
  • the priority level of the meter may be high when the meter value is less than or equal to a meter limit value, and the priority level may be low when the meter value is higher than the meter limit value.
  • the meter values MV 1 -MV M of the first and second meters M 1 -M M are periodically decreased, e.g. every clock cycle of a processor, by a meter value amount.
  • the reading of the first data packet D 1 -D D and further admittance of the first data packet D 1 -D D to the output port of the traffic manager may also be based:
  • the shapers may be provided in any suitable form, for example as software program, or part thereof, or as digital or analogue circuits of electrical, optical or mechanical components.
  • the shapers use loose or strict token buckets algorithms, so that admittance of data is based on a value of a credit parameter.
  • any other suitable admittance algorithm may be used.
  • a first and a second shaper value SV 1 -SV M of the first and the second shapers S 1 -S M associated with the first queue Q 1 -Q Q and the first scheduling node N 1 -N N , respectively, are decreased with a value corresponding to the amount of bits of the first data packet D 1 -D D , if the first data packet D 1 -D D is read from the first queue Q 1 -Q Q .
  • first and second shaper values SV 1 -SV M of the first and second shapers S 1 -S M are periodically increased, e.g. every clock cycle of the processor 2 , by a shaper value amount.
  • the shaper value amount may be set during configuration and may be given by amount/interval [bits/s]). In one embodiment, if the thus increased shaper value exceeds configurable burst size parameters BS 1 -BSM the shaper values are set to BS 1 -BSM.
  • the first and second shaper values SV 1 -SV M of the first and second shapers S 1 -S M may be increased by a suitable amount, e.g. by an amount corresponding to the amount of bits of the first data packet D 1 -D D , if the first data packet is read from the queue and admitted to the output port 8 of the traffic manager 1 .
  • the shaper values SV 1 -SV M of the first and second shapers S 1 -S M are periodically decreased, e.g. every clock cycle of a processor, by a shaper value amount.
  • the reading of the first data packet D 1 -D D and further admittance of the first data packet D 1 -D D to the output port of the traffic manager may also be based:
  • the reading of the first data packet D 1 -D D and further admittance of the first data packet D 1 -D D to the output port of the traffic manager may also be based:
  • the configured priority CP of the first queue Q 1 -Q Q may be strict priority, e.g. high priority, medium priority or low priority; or dynamic priority.
  • FIG. 3 shows queues configured to have high priority, medium priority and dynamic priority.
  • the scheduling priority SP at a queue level is 3, 2, 1, 0, DC; wherein 3 being the highest scheduling priority, and wherein DC stands for “do not care”, i.e. scheduling priority has no effect on the scheduling decision.
  • the configured priority CP of the first scheduling node N 1 -N N may be strict priority (SPQ) or normal priority.
  • the scheduling priority SP at a node level is 5, 4, 3, 2, 1, 0, DC; 5 being the highest scheduling priority.
  • the present invention is not limited to the priorities, e.g. the configured priorities and scheduling priorities, given, but these priorities are only to be considered as examples.
  • FIG. 3 schematically illustrates scheduling of queues at a scheduling node N A .
  • the queues Q 0 -Q 7 have the configured priorities; high, medium, medium, dynamic, dynamic, dynamic, dynamic, dynamic, respectively. Every queue except Q 3 comprises a data packet D.
  • each of the queues has a meter M (e.g., M 0 -M 7 ) having a meter value MV and a shaper S having a shaper value SV.
  • the queues Q 0 -Q 4 , and Q 6 have meter values less than the meter limit values (shown as empty meter buckets in the figures), indicating that the queues Q 0 -Q 4 , and Q 6 have low priority.
  • the queues Q 5 and Q 1 have meter values MV 5 and MV 7 larger than the respective meter limit values (shown as filled buckets in the figures), indicating that the queues Q 5 and Q 7 have a high priority.
  • each of the queues Q 0 -Q 2 , and Q 4 -Q 6 has a shaper S having a shaper value SV equal to or larger than the shaper limit value (shown as filled shaper buckets in the figures).
  • the queues Q 3 and Q 7 have shapers S 3 and S 7 , respectively, having shaper values SV 3 and SV 7 , respectively, less than the respective shaper limit value (shown as empty shaper buckets in the figures).
  • the queues Q 0 -Q 2 having a strict configured priority are scheduled in accordance with their configured priority as long as the queue contains a data packet and has shaping tokens i.e. a shaping value SV larger than the shaping limit value.
  • both the meter M and the shaper S is used for scheduling. All dynamically configured queues comprising a data packet and having a meter value MV larger than the meter limit value MLV is scheduled before dynamically configured queues having a meter value MV less than the meter limit value. If two dynamically configured queues have equal meter values, the queue having the highest shaper value may be scheduled before the other queue.
  • the A scheduling node N A may comprise four round robin (RR) or weighted fair queuing (WFQ) schedulers and a strict priority (SPQ) scheduler.
  • RR round robin
  • WFQ weighted fair queuing
  • SPQ strict priority
  • the result from each of the four RR or WFQ schedulers are queue Q 0 , queue Q 2 , queue Q 5 , and queue Q 4 associated with four strict scheduling priority values: 3, 2, 1, 0, respectively. 3 being the highest scheduling priority and 0 the lowest scheduling priority.
  • queue Q 0 will be selected.
  • FIG. 4 schematically illustrates scheduling of scheduling nodes at B, C, or P level scheduling nodes, without propagated priorities.
  • the nodes N 0 and N 2 have the configured priority strict priority (SPQ) and will therefore be mapped to the SPQ scheduler of the node N B , N C or port P and scheduled with the highest priority.
  • SPQ priority strict priority
  • the nodes N 1 , and N 3 -N 7 have the configured priority normal, and will therefore be scheduled in dependence of the meter value MV 1 , MV 3 -MV 7 of the meters M 1 , M 3 -M 7 , respectively.
  • the nodes N 4 , N 5 , and N 7 have meter values MV 4 , MV 5 , and MV 7 larger than the meter limit values MLV 4 , MLV 5 , and MLV 7 , and will therefore be mapped to the meter scheduler of the node NB, NC or port P, the meter scheduler being indicated by Min in FIG. 4 .
  • the nodes N 1 and N 6 have a meter value less than the meter limit values MLV 1 and MLV 6 , respectively, and will therefore be scheduled in dependence of their shaper value. Therefore the nodes N 1 and N 6 are mapped to the shaper scheduler of node NB, NC or port P, the shaper scheduler being indicated by Max in FIG. 4 .
  • the nodes N 2 , N 5 and N 1 will be mapped to the strict scheduling priority levels 2 , 1 , and 0 , respectively. Thereafter, a strict priority scheduling will schedule node N 2 as the highest priority node.
  • FIG. 5 schematically illustrates scheduling of scheduling nodes at B, C, or P level scheduling nodes, with propagated priorities.
  • the node N 0 -N 7 has the same configured priority as the configured priority of the nodes shown in FIG. 4 .
  • the meter values of the meters of the nodes correspond to the meter values of the meters of the nodes in FIG. 4 .
  • the same is true for the shaper values of the shapers.
  • priorities are propagated from a child node to a parent node.
  • the parent nodes N 0 -N 7 have the propagated priority 0, 2, 1, 0, 3, 3, 2, 0, respectively.
  • the nodes N 0 and N 2 configured with a strict priority SPQ are mapped to a SPQ scheduler of the parent node independently of the propagated priority.
  • the nodes N 4 and N 5 configured with a normal priority, having a meter value MV 4 and MV 5 larger than the meter limit values MVL 4 and MVL 5 , respectively, and the highest propagated priority, 3, are mapped to the highest meter scheduler indicated as Min 3 in the FIG. 5 .
  • No nodes are configured with normal priority, have a meter value larger than a meter limit value and a propagated priority of 2 or 1, and therefore no nodes are mapped to the next highest meter scheduler indicated as Min 2 , and to the next-next highest meter scheduler indicated as Min 1 , in FIG. 5 .
  • node N 7 Only one node, node N 7 , has a normal configured priority, a meter value MV 7 larger than the meter limit value MVL 7 , and a propagated priority of 0 and is therefore mapped with the lowest meter scheduler indicated as Min 0 in FIG. 5 .
  • Two nodes, node N 1 and N 6 are configured with normal priorities, but have meter values MV 1 and MV 6 less than the meter limit values MVL 1 and MVL 6 , respectively, and will therefore not be mapped to one of the meter schedulers Min 3 , Min 2 , Min 1 , or Min 0 . Instead, the nodes N 1 and N 6 will be mapped to a shaper scheduler, indicated as Max in FIG. 5 , since the shaper values SV 1 and SV 6 are larger than the shaper limit values SVL 1 and SVL 6 , respectively.
  • node N 2 is selected over node N 0 since N 2 has a higher propagated priority, i.e. 1 instead of 0. Since node N 2 is configured with a strict priority, node N 2 is given the highest strict scheduling priority value, i.e. 5.
  • node N 5 is selected over node N 4 and mapped with the next highest strict scheduling priority value, i.e. 4. Further, since node N 7 is the only node mapped with the lowest meter scheduler Min 0 , it is given the next lowest priority value, i.e. 1.
  • node N 1 is selected over node N 6 and given the lowest scheduling priority value, i.e. 0.
  • node N 2 is scheduled as the highest priority node and it's scheduling priority may be propagated to a higher level.
  • FIG. 6 schematically illustrates an example of a single queue high priority propagation in a scheduling hierarchy.
  • the scheduling of queues, nodes, and ports may be accomplished as previously described and the determined scheduling priority may be propagated in the hierarchy.
  • Propagated priority is a way to prefer nodes with higher priority queues and meter values, e.g. conforming minimum (committed) token buckets, all the way through the hierarchies, over other nodes that have only lower priority queues, and that have high priority queues but no meter value, conforming minimum (committed) token buckets, all the way through the hierarchies.
  • priority propagation can be limited per scheduler, e.g. the priority propagation can be limited to the queue level and the A node level, but not allowed above the B node level.
  • Propagated priorities are used by the node scheduling logic, so that the node with the highest priority queue is selected before a node with a lower priority queue.
  • the propagated priorities are visible to the scheduling logic as long as the meter value are higher than a limit value, i.e. as long as minimum tokens exists.
  • a limit value i.e. when the minimum tokens are depleted, the node priority is changed to the lowest priority.
  • Strict priority can be enabled for any node in the scheduling hierarchy. Strict priorities are served with the highest priority ignoring their propagated priority. However, they still propagate their propagated priority (from lower levels) on the same manner as node configured as having a normal priority.
  • Scheduling priorities to queues are shown in Table 1.
  • the scheduled priorities are propagated to upper levels, with the propagated priority mechanism. Locally they are used for scheduling a queue.
  • the label Min TB represents a meter value and if it is indicated as “yes”, the meter value is larger than the meter limit value, i.e. high priority. If it is indicated as “no”, the meter value is less than the meter limit value, i.e. low priority.
  • the label Max TB represents a shaper value and “yes”/“no” indicates that the shaper value is larger/less than the shaper limit value.
  • Scheduling priorities to nodes are shown in Table 2. Theses priorities are calculated based on configuration priority and on Token bucket state, e.g. based on the meter value of the associated meter and the shaper value of the associated shaper.
  • the scheduling priorities are propagated to upper levels with the propagated priority mechanism. Locally the scheduling priorities are used for scheduling a node.
  • Scheduling priorities to ports are shown in table 3. These priorities are calculated based on configuration priority and on Token bucket state, e.g. the meter value of the associated meter and the shaper value of the associated shaper. The scheduling priorities are used for scheduling a port.
  • FIG. 7 schematically illustrates a network processor 10 comprising an embodiment of a traffic manager 1 .
  • the network processor 10 comprises a processing means 18 and a data packet interface 12 arranged to receive and/or transmit data packets.
  • the interface 12 may be 100 Mbps Ethernet MACs, Gigabit Ethernet MACs, 10-Gigabit Ethernet MACs, PCIe interfaces, SPI-4.2 interfaces, Interlaken interfaces, etc.
  • the interface 12 is arranged in communication with the traffic manager 1 and with a packet buffer 14 , e.g. a shared memory switch.
  • the shared memory switch 14 is configured to temporarily store data packets leaving one of the network subsystems, e.g. the interface 12 , the traffic manager 1 or the processing means 18 .
  • the shared memory switch 14 may be arranged to interconnect network subsystems.
  • the processing means 18 may be a dataflow pipeline of one or more processors with special-purpose engines.
  • the processing means 18 is configured to classify and edit data packet information, e.g. headers, to perform functionalities such as switching, forwarding and firewalling.
  • an optional external memory 20 for one or more databases may be arranged in communication with the network processor 10 .
  • a data packet is received via the interface 12 of the network processor 10 .
  • the interface 12 writes the packet to the shared memory switch 14 that buffers the packet.
  • the shared memory switch 14 writes the packet to the processing means 18 that processes the packets and sets packet information for use by the traffic manager 1 .
  • the processing means 18 writes the packet to the traffic manager 1 .
  • the processing means 18 writes the packet to the traffic manager via the shared memory switch 14 .
  • the traffic manager 1 is configured to decide what action to be taken based on e.g. packet information prepared by the processing means 18 .
  • the traffic manager If the packet is enqueued in the traffic manager and later dequeued, the traffic manager writes the packet either to the interface 12 , optionally via the shared memory switch 14 , or back to the processing means 18 , optionally via the shared memory switch 14 , for post-processing. From the processing means the packet is written back to the interface 18 , optionally via the shared memory switch 14 . Finally, the packet is transmitted from the network processor 10 via an interface 18 .
  • FIG. 8 schematically illustrates a router or a switch 30 comprising one or more traffic managers 1 , such as one or more ingress traffic managers 1 and one or more egress traffic managers 2 .
  • the router/switch 30 may also comprise several network processors 10 .
  • a traffic manager 1 and/or 2 may be comprised in a network processor 10 .
  • a network processor 10 may be configured without a traffic manager 1 and/or 2 .
  • the router/switch 30 may comprise one or more input queues to a switch fabric 32 , e.g. a bus, comprised in the router/switch 30 , and one or more output queues 34 from the switch fabric 32 .
  • the input queues may be virtual output queues 8 ′ of a traffic manager.
  • a scheduling hierarchy may have a group of child nodes at a scheduling level that are associated with a parent node at the next level.
  • the nodes have a minimum rate relating to their meter values and a maximum rate relating to their shaper value.
  • the bandwidth offered to the parent node is greater than or equal to the sum of minimum rates of the child nodes but less than the sum of maximum rates of the child nodes. In such situations, even if all priorities propagated to the child nodes are zero, the child nodes which do not exceed their minimum rates are scheduled with a higher priority than the child nodes exceeding their minimum rates, and consequently guaranteeing minimum rate at any level.
  • a node at level A corresponds to a network user and that a queue corresponds to an application.
  • each user has at least one “best effort” application queue; e.g. for web traffic, which has a maximum rate but not a minimum rate.
  • each user has a maximum rate and a minimum rate.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
US12/989,631 2008-04-24 2009-04-21 Method and apparatus for managing traffic in a network Active 2030-02-21 US8824287B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/989,631 US8824287B2 (en) 2008-04-24 2009-04-21 Method and apparatus for managing traffic in a network

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US4768108P 2008-04-24 2008-04-24
SE0800949-0 2008-04-25
SE0800949 2008-04-25
US12/989,631 US8824287B2 (en) 2008-04-24 2009-04-21 Method and apparatus for managing traffic in a network
PCT/EP2009/054742 WO2009130218A1 (fr) 2008-04-24 2009-04-21 Gestionnaire de trafic et procédé pour un gestionnaire de trafic

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2009/054742 A-371-Of-International WO2009130218A1 (fr) 2008-04-24 2009-04-21 Gestionnaire de trafic et procédé pour un gestionnaire de trafic

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/474,674 Continuation US9240953B2 (en) 2008-04-24 2014-09-02 Systems and methods for managing traffic in a network using dynamic scheduling priorities

Publications (2)

Publication Number Publication Date
US20110038261A1 US20110038261A1 (en) 2011-02-17
US8824287B2 true US8824287B2 (en) 2014-09-02

Family

ID=40810443

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/989,631 Active 2030-02-21 US8824287B2 (en) 2008-04-24 2009-04-21 Method and apparatus for managing traffic in a network
US14/474,674 Active US9240953B2 (en) 2008-04-24 2014-09-02 Systems and methods for managing traffic in a network using dynamic scheduling priorities

Family Applications After (1)

Application Number Title Priority Date Filing Date
US14/474,674 Active US9240953B2 (en) 2008-04-24 2014-09-02 Systems and methods for managing traffic in a network using dynamic scheduling priorities

Country Status (4)

Country Link
US (2) US8824287B2 (fr)
CN (1) CN102084628B (fr)
TW (1) TWI477109B (fr)
WO (1) WO2009130218A1 (fr)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150063811A1 (en) * 2013-09-02 2015-03-05 Oki Electric Industry Co., Ltd. Central-office termination apparatus of adaptively changing connection to subscriber-terminal terminator and path switching method
US20170055052A1 (en) * 2015-08-21 2017-02-23 Oki Electric Industry Co., Ltd. Station side terminal device, subscriber side terminal device, optical communication system, route switching method, non-transitory computer readable medium storing route switching program, and wavelength switching method
US20170054645A1 (en) * 2015-08-20 2017-02-23 Fujitsu Limited Communication device, network management device, and network system
US10193977B2 (en) * 2016-04-29 2019-01-29 Huawei Technologies Co., Ltd. System, device and process for dynamic tenant structure adjustment in a distributed resource management system

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6396819B1 (en) * 1998-03-21 2002-05-28 Richard D. Fleeter Low-cost satellite communication system
US7227884B2 (en) 2000-02-28 2007-06-05 Aeroastro, Inc. Spread-spectrum receiver with progressive fourier transform
WO2007136415A2 (fr) * 2005-12-30 2007-11-29 Comtech Mobile Datacom Corporation Communications mobiles par satellite
WO2009130218A1 (fr) 2008-04-24 2009-10-29 Xelerated Ab Gestionnaire de trafic et procédé pour un gestionnaire de trafic
KR101205622B1 (ko) * 2008-12-22 2012-11-27 한국전자통신연구원 채널 대역 할당 장치 및 방법
US8548107B1 (en) 2009-01-26 2013-10-01 Comtech Mobile Datacom Corporation Advanced multi-user detector
US9106364B1 (en) 2009-01-26 2015-08-11 Comtech Mobile Datacom Corporation Signal processing of a high capacity waveform
US8615013B2 (en) * 2010-05-18 2013-12-24 Agere Systems Llc Packet scheduling with guaranteed minimum rate in a traffic manager of a network processor
US8675711B1 (en) * 2009-09-25 2014-03-18 Comtech Mobile Datacom Corporation System and methods for dynamic spread spectrum usage
CN101795173B (zh) * 2010-01-21 2012-11-21 福建星网锐捷网络有限公司 无线网络中下行数据的传输方法及无线接入设备
JP5604919B2 (ja) * 2010-03-18 2014-10-15 富士通株式会社 パケット転送装置およびパケット転送方法
EP2525534B1 (fr) * 2011-05-18 2018-04-18 Xelerated NewCo AB Programmateur de trafic de réseau et procédé associé, programme informatique et produit de programme informatique
CN102769583B (zh) * 2012-08-03 2015-03-18 深圳中兴网信科技有限公司 即时通讯服务器的用户分配装置和用户分配方法
US9330152B2 (en) * 2013-03-18 2016-05-03 Cellco Partnership Grid loader process
US9450881B2 (en) * 2013-07-09 2016-09-20 Intel Corporation Method and system for traffic metering to limit a received packet rate
US9325617B2 (en) * 2013-12-09 2016-04-26 International Business Machines Corporation Overlay capabilities exchange using DCBX
CN104753809B (zh) * 2013-12-25 2019-04-02 深圳市中兴微电子技术有限公司 一种流量整形中添加令牌的方法及装置
EP2894807B1 (fr) * 2014-01-10 2019-11-13 Mitsubishi Electric R & D Centre Europe B.V. Procédé de signalisation et de détermination de ressources de temps et de fréquence à utiliser dans un réseau de communications sans fil
KR101881430B1 (ko) 2014-05-08 2018-07-24 후아웨이 테크놀러지 컴퍼니 리미티드 데이터 스케줄링 방법 및 장치
EP2996293B1 (fr) * 2014-09-12 2017-08-30 Alcatel Lucent Dispositif de mise en réseau de programmation de paquets pour des flux de données sensibles à une échéance
US9729439B2 (en) 2014-09-26 2017-08-08 128 Technology, Inc. Network packet flow controller
US10447608B2 (en) * 2014-11-14 2019-10-15 Marvell Semiconductor, Inc. Packet scheduling using hierarchical scheduling process with priority propagation
US10110515B2 (en) * 2014-11-14 2018-10-23 Cavium, Inc. Packet scheduling using hierarchical scheduling process
US10277506B2 (en) 2014-12-08 2019-04-30 128 Technology, Inc. Stateful load balancing in a stateless network
CN105354205B (zh) * 2015-01-13 2018-06-29 吴昱珂 人际关系管理方法、人际关系管理系统及对应的智能终端
US9736184B2 (en) 2015-03-17 2017-08-15 128 Technology, Inc. Apparatus and method for using certificate data to route data
EP3076616B1 (fr) * 2015-03-31 2017-04-12 Mitsubishi Electric R&D Centre Europe B.V. Procédé de gestion de trafic de données et noeud de réseau pour la mise en oeuvre de ce procédé
US9762501B2 (en) 2015-04-01 2017-09-12 Honeywell International Inc. Systematic hybrid network scheduling for multiple traffic classes with host timing and phase constraints
US9769075B2 (en) 2015-04-01 2017-09-19 Honeywell International Inc. Interference cognizant network scheduling
US9769082B2 (en) 2015-04-01 2017-09-19 Honeywell International Inc. System and method for network bandwidth, buffers and timing management using hybrid scheduling of traffic with different priorities and guarantees
EP3091700B1 (fr) * 2015-05-05 2018-03-21 Mitsubishi Electric R&D Centre Europe B.V. Procédé d'attribution de ressources temps-fréquence pour la transmission de paquets de données sur un canal sélectif en fréquence
US9729682B2 (en) 2015-05-18 2017-08-08 128 Technology, Inc. Network device and method for processing a session using a packet signature
US9762485B2 (en) 2015-08-24 2017-09-12 128 Technology, Inc. Network packet flow controller with extended session management
EP3136678B1 (fr) 2015-08-27 2019-11-27 Tata Consultancy Services Limited Système et procédé pour un transfert en temps réel de données audio et/ou de flux vidéo à travers un réseau avb ethernet
US9871748B2 (en) 2015-12-09 2018-01-16 128 Technology, Inc. Router with optimized statistical functionality
US9985883B2 (en) 2016-02-26 2018-05-29 128 Technology, Inc. Name-based routing system and method
US10205651B2 (en) 2016-05-13 2019-02-12 128 Technology, Inc. Apparatus and method of selecting next hops for a session
US10298616B2 (en) 2016-05-26 2019-05-21 128 Technology, Inc. Apparatus and method of securing network communications
US9832072B1 (en) 2016-05-31 2017-11-28 128 Technology, Inc. Self-configuring computer network router
US10200264B2 (en) 2016-05-31 2019-02-05 128 Technology, Inc. Link status monitoring based on packet loss detection
US10257061B2 (en) 2016-05-31 2019-04-09 128 Technology, Inc. Detecting source network address translation in a communication system
US10841206B2 (en) 2016-05-31 2020-11-17 128 Technology, Inc. Flow modification including shared context
US11075836B2 (en) 2016-05-31 2021-07-27 128 Technology, Inc. Reverse forwarding information base enforcement
US10091099B2 (en) 2016-05-31 2018-10-02 128 Technology, Inc. Session continuity in the presence of network address translation
US10009282B2 (en) 2016-06-06 2018-06-26 128 Technology, Inc. Self-protecting computer network router with queue resource manager
US9985872B2 (en) 2016-10-03 2018-05-29 128 Technology, Inc. Router with bilateral TCP session monitoring
US10425511B2 (en) 2017-01-30 2019-09-24 128 Technology, Inc. Method and apparatus for managing routing disruptions in a computer network
US10778575B2 (en) 2017-02-20 2020-09-15 Ge Aviation Systems Llc Systems and methods for scheduling a message
US10833980B2 (en) 2017-03-07 2020-11-10 128 Technology, Inc. Router device using flow duplication
US10560373B2 (en) 2017-04-06 2020-02-11 Gvbb Holdings S.A.R.L. System and method for timely and uniform distribution for real-time packet transmission
US10432519B2 (en) 2017-05-26 2019-10-01 128 Technology, Inc. Packet redirecting router
US11165863B1 (en) 2017-08-04 2021-11-02 128 Technology, Inc. Network neighborhoods for establishing communication relationships between communication interfaces in an administrative domain
US20190253341A1 (en) 2018-02-15 2019-08-15 128 Technology, Inc. Service Related Routing Method and Apparatus
WO2020236283A1 (fr) 2019-05-23 2020-11-26 Cray Inc. Système et procédé d'attribution dynamique de moteurs de réduction
CN113906720B (zh) * 2019-06-12 2024-05-10 华为技术有限公司 流量调度方法、设备及存储介质
JP7127743B2 (ja) * 2019-07-04 2022-08-30 日本電信電話株式会社 通信装置、通信方法及びプログラム
CN115428411B (zh) 2020-04-23 2024-05-28 瞻博网络公司 使用会话建立度量的会话监测
CN113626161B (zh) * 2021-07-09 2023-12-22 中国科学院信息工程研究所 一种分布式多用户的数据调度方法及系统

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2302129A1 (fr) 1999-03-26 2000-09-26 Newbridge Networks Corporation Arbitrage d'horodatage pour dispositifs de communications numeriques
US6188698B1 (en) 1997-12-31 2001-02-13 Cisco Technology, Inc. Multiple-criteria queueing and transmission scheduling system for multimedia networks
US20020141427A1 (en) * 2001-03-29 2002-10-03 Mcalpine Gary L. Method and apparatus for a traffic optimizing multi-stage switch fabric network
US20040125815A1 (en) * 2002-06-24 2004-07-01 Mikio Shimazu Packet transmission apparatus and method thereof, traffic conditioner, priority control mechanism and packet shaper
US20050047425A1 (en) 2003-09-03 2005-03-03 Yonghe Liu Hierarchical scheduling for communications systems
US20050074011A1 (en) * 2003-10-02 2005-04-07 Robotham Robert Elliott Method and apparatus for frame-aware and pipelined hierarchical scheduling
US20050152374A1 (en) * 2004-01-14 2005-07-14 Cohen Earl T. Propagation of minimum guaranteed scheduling rates among scheduling layers in a hierarchical schedule
US20060140192A1 (en) * 2004-12-29 2006-06-29 Intel Corporation, A Delaware Corporation Flexible mesh structure for hierarchical scheduling
US20060291495A1 (en) * 2002-03-01 2006-12-28 Null Networks Llc Hardware self-sorting scheduling queue
US20070153697A1 (en) 2006-01-04 2007-07-05 Broadcom Corporation Hierarchical queue shaping
US7321940B1 (en) * 2003-06-30 2008-01-22 Cisco Technology, Inc. Iterative architecture for hierarchical scheduling
US7525962B2 (en) * 2004-12-27 2009-04-28 Intel Corporation Reducing memory access bandwidth consumption in a hierarchical packet scheduler
US20100278190A1 (en) * 2009-04-29 2010-11-04 Yip Thomas C Hierarchical pipelined distributed scheduling traffic manager
US7830889B1 (en) * 2003-02-06 2010-11-09 Juniper Networks, Inc. Systems for scheduling the transmission of data in a network device
US8194690B1 (en) * 2006-05-24 2012-06-05 Tilera Corporation Packet processing in a parallel processing environment

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7215637B1 (en) * 2000-04-17 2007-05-08 Juniper Networks, Inc. Systems and methods for processing packets
CN1298139C (zh) * 2003-08-15 2007-01-31 中兴通讯股份有限公司 一种支持多端口多业务的多级调度的方法
US20050160178A1 (en) * 2003-12-17 2005-07-21 Venables Bradley D. Adjusting shaped rates
US7675926B2 (en) 2004-05-05 2010-03-09 Cisco Technology, Inc. Hierarchical QoS behavioral model
US8730982B2 (en) 2005-11-10 2014-05-20 Broadcom Corporation Scheduling of data transmission with minimum and maximum shaping of flows in a network device
US8171478B2 (en) 2006-06-22 2012-05-01 Marvell International Ltd. Method for packet flow control using credit parameters with a plurality of limits
WO2009130218A1 (fr) 2008-04-24 2009-10-29 Xelerated Ab Gestionnaire de trafic et procédé pour un gestionnaire de trafic

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6188698B1 (en) 1997-12-31 2001-02-13 Cisco Technology, Inc. Multiple-criteria queueing and transmission scheduling system for multimedia networks
CA2302129A1 (fr) 1999-03-26 2000-09-26 Newbridge Networks Corporation Arbitrage d'horodatage pour dispositifs de communications numeriques
US20020141427A1 (en) * 2001-03-29 2002-10-03 Mcalpine Gary L. Method and apparatus for a traffic optimizing multi-stage switch fabric network
US20060291495A1 (en) * 2002-03-01 2006-12-28 Null Networks Llc Hardware self-sorting scheduling queue
US20040125815A1 (en) * 2002-06-24 2004-07-01 Mikio Shimazu Packet transmission apparatus and method thereof, traffic conditioner, priority control mechanism and packet shaper
US7830889B1 (en) * 2003-02-06 2010-11-09 Juniper Networks, Inc. Systems for scheduling the transmission of data in a network device
US7321940B1 (en) * 2003-06-30 2008-01-22 Cisco Technology, Inc. Iterative architecture for hierarchical scheduling
US20050047425A1 (en) 2003-09-03 2005-03-03 Yonghe Liu Hierarchical scheduling for communications systems
US20050074011A1 (en) * 2003-10-02 2005-04-07 Robotham Robert Elliott Method and apparatus for frame-aware and pipelined hierarchical scheduling
US20050152374A1 (en) * 2004-01-14 2005-07-14 Cohen Earl T. Propagation of minimum guaranteed scheduling rates among scheduling layers in a hierarchical schedule
US7525962B2 (en) * 2004-12-27 2009-04-28 Intel Corporation Reducing memory access bandwidth consumption in a hierarchical packet scheduler
US20060140192A1 (en) * 2004-12-29 2006-06-29 Intel Corporation, A Delaware Corporation Flexible mesh structure for hierarchical scheduling
US20070153697A1 (en) 2006-01-04 2007-07-05 Broadcom Corporation Hierarchical queue shaping
US8194690B1 (en) * 2006-05-24 2012-06-05 Tilera Corporation Packet processing in a parallel processing environment
US20100278190A1 (en) * 2009-04-29 2010-11-04 Yip Thomas C Hierarchical pipelined distributed scheduling traffic manager

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150063811A1 (en) * 2013-09-02 2015-03-05 Oki Electric Industry Co., Ltd. Central-office termination apparatus of adaptively changing connection to subscriber-terminal terminator and path switching method
US9210097B2 (en) * 2013-09-02 2015-12-08 Oki Electric Industry Co., Ltd. Central-office termination apparatus of adaptively changing connection to subscriber-terminal terminator and path switching method
US20170054645A1 (en) * 2015-08-20 2017-02-23 Fujitsu Limited Communication device, network management device, and network system
US20170055052A1 (en) * 2015-08-21 2017-02-23 Oki Electric Industry Co., Ltd. Station side terminal device, subscriber side terminal device, optical communication system, route switching method, non-transitory computer readable medium storing route switching program, and wavelength switching method
US9866930B2 (en) * 2015-08-21 2018-01-09 Oki Electric Industry Co., Ltd. Station side terminal device, subscriber side terminal device, optical communication system, route switching method, non-transitory computer readable medium storing route switching program, and wavelength switching method
US10193977B2 (en) * 2016-04-29 2019-01-29 Huawei Technologies Co., Ltd. System, device and process for dynamic tenant structure adjustment in a distributed resource management system

Also Published As

Publication number Publication date
TW201001979A (en) 2010-01-01
US20110038261A1 (en) 2011-02-17
TWI477109B (zh) 2015-03-11
WO2009130218A1 (fr) 2009-10-29
CN102084628B (zh) 2014-12-03
US9240953B2 (en) 2016-01-19
CN102084628A (zh) 2011-06-01
US20140369360A1 (en) 2014-12-18

Similar Documents

Publication Publication Date Title
US8824287B2 (en) Method and apparatus for managing traffic in a network
US10178053B2 (en) Programmable broadband gateway hierarchical output queueing
US7474668B2 (en) Flexible multilevel output traffic control
US8259738B2 (en) Channel service manager with priority queuing
US8467295B2 (en) System and methods for distributed quality of service enforcement
US6993041B2 (en) Packet transmitting apparatus
US7158528B2 (en) Scheduler for a packet routing and switching system
Semeria Supporting differentiated service classes: queue scheduling disciplines
JP4070610B2 (ja) データ・ストリーム・プロセッサにおけるデータ・ストリームの操作
US8218546B2 (en) Interleaved processing of dropped packets in a network device
US7272150B2 (en) System and method for shaping traffic from a plurality of data streams using hierarchical queuing
US7986706B2 (en) Hierarchical pipelined distributed scheduling traffic manager
JP6036310B2 (ja) パケット交換装置、伝送装置、及びパケットスケジューリング方法
US20070070895A1 (en) Scaleable channel scheduler system and method
US20040151197A1 (en) Priority queue architecture for supporting per flow queuing and multiple ports
US20070104102A1 (en) Buffer management and flow control mechanism including packet-based dynamic thresholding
JP4163044B2 (ja) 帯域制御方法およびその帯域制御装置
AU2002339349B2 (en) Distributed transmission of traffic flows in communication networks
US6947380B1 (en) Guaranteed bandwidth mechanism for a terabit multiservice switch
US20040085978A1 (en) System and method for prioritizing and queuing traffic
Benet et al. Providing in-network support to coflow scheduling
Bianco QoS scheduling
WO2007072538A1 (fr) Dispositif et procede de programmation de file d'attente, et dispositif de relais d'informations

Legal Events

Date Code Title Description
AS Assignment

Owner name: XELERATED NEWCO AB, SWEDEN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:XELERATED AB;REEL/FRAME:027387/0234

Effective date: 20111202

AS Assignment

Owner name: MARVELL TECHNOLOGY SWEDEN AB, SWEDEN

Free format text: CHANGE OF NAME;ASSIGNOR:XELERATED NEWCO AB;REEL/FRAME:027930/0941

Effective date: 20111214

AS Assignment

Owner name: MARVELL INTERNATIONAL LTD., BERMUDA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MARVELL TECHNOLOGY SWEDEN AB;REEL/FRAME:027938/0823

Effective date: 20111202

AS Assignment

Owner name: XELERATED AB, SWEDEN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CARLSTROM, JAKOB;REEL/FRAME:033286/0922

Effective date: 20140710

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551)

Year of fee payment: 4

AS Assignment

Owner name: CAVIUM INTERNATIONAL, CAYMAN ISLANDS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MARVELL INTERNATIONAL LTD.;REEL/FRAME:052918/0001

Effective date: 20191231

AS Assignment

Owner name: MARVELL ASIA PTE, LTD., SINGAPORE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CAVIUM INTERNATIONAL;REEL/FRAME:053475/0001

Effective date: 20191231

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8