WO2001097469A2 - Planificateur d'emission de paquets - Google Patents

Planificateur d'emission de paquets Download PDF

Info

Publication number
WO2001097469A2
WO2001097469A2 PCT/NO2001/000247 NO0100247W WO0197469A2 WO 2001097469 A2 WO2001097469 A2 WO 2001097469A2 NO 0100247 W NO0100247 W NO 0100247W WO 0197469 A2 WO0197469 A2 WO 0197469A2
Authority
WO
WIPO (PCT)
Prior art keywords
packet
packets
list
lists
receiver
Prior art date
Application number
PCT/NO2001/000247
Other languages
English (en)
Other versions
WO2001097469A3 (fr
Inventor
Hans Rygh
Original Assignee
Sun Microsystems, Inc.
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 Sun Microsystems, Inc. filed Critical Sun Microsystems, Inc.
Priority to AU2001282688A priority Critical patent/AU2001282688A1/en
Publication of WO2001097469A2 publication Critical patent/WO2001097469A2/fr
Publication of WO2001097469A3 publication Critical patent/WO2001097469A3/fr

Links

Classifications

    • 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes

Definitions

  • the present invention relates to a method and an apparatus for transferring information through a communication medium. More particularly, the present invention relates to a packet transmission scheduler and a method of operation.
  • the receiver decides whether it wishes to accept or reject a packet, and returns this decision in a message to the transmitter.
  • This is illustrated- in Figure 1 , showing a point-to-point link with transmitter and receiver, the transmitter and receiver being in separate nodes. Both the transmitter and the receiver comprise buffer pools with entries holding packets.
  • the transmitter in Figure 1 cannot be reallocated until a positive (packet accepted) feedback has arrived.
  • the receiver does not wish to accept a packet, and a negative feedback is returned. If a strictly ordered scheme is applied, it is then a waste of bandwidth to send other packets in the same thread, since they will then anyway be rejected.
  • a thread is here defined to be an ordered sequence of packets with a set of common features. Criteria for belonging to a thread could be destination address of the packet, whether the packet is a request or response, whether the packet is for maintenance/diagnostics or for ordinary traffic etc.
  • Multithreading means here the ability to handle several threads at the same time, and non-blocking means that the lack of progress in one thread will not affect the progress of other threads.
  • the packet transmission scheduler described is especially designed for use in a system with the N x N Crossbar Switch described in US 09/520,066, and with the Virtual Channel Flow Control as described in US 09/520,063, both filed March 7, 2000, and both applications being assigned to the assignee of the present application, and hereby included in their entirety by reference.
  • this should not be interpreted as limiting for the invention, as the scheduler here described is also applicable in other communication systems.
  • the invention provides a method for scheduling packets in a communication network, the network including at least a transmitter and a receiver, the transmitter comprising a buffer pool for storing packets to be transmitted, the method comprising:
  • the packets are grouped on the basis of destination address, size or function of the packets.
  • a number of linked lists are used for managing the packets to be transmitted.
  • the linked lists are controlled by functions applied whenever: i) a packet is stored in the buffer pool, ii) a new packet needs to be scheduled for transmission, and iii) feedback from a transmitted packet is returned to the transmitter.
  • the algorithm may include a set of atomic operations, executed one at a time.
  • the invention provides a packet transmission scheduler for scheduling packets in a communication network, the packets being grouped into independent threads, the scheduler comprising, a buffer pool with a number of entries for storing the packets to be transmitted, a linkable packet tag element associated with each entry in the buffer pool, the packet tag element describing the state of the buffer entry, wherein the packet tag elements forming a number of linked lists, the lists keeping the packet history, providing fairness and optimal exploitation of the connection resources.
  • the lists comprise: a global list holding the packet tag elements associated with threads currently being accepted by the receiver, a global list holding the packet tag elements associated with packets that have been rejected by the receiver, a list for each thread holding the packet tag elements associated with packets currently being in progress, and a list for each thread holding the packet tag elements associated with packets currently being on hold.
  • the packet transmission scheduler described is based on a set of operations and a number of linked lists.
  • the operations are atomic, i.e. they cannot be divided into sub-operations, and they are executed one at the time.
  • Each entry in the buffer pool has an associated linkable packet tag element describing the state of the corresponding buffer entry.
  • Information for each entry such as what thread the associated packet belongs to, whether the packet is first or last in its thread, whether the packet has been tried transmitted before etc., is stored therein.
  • the scheduler uses the lists to keep track of previous and current state, like what packets have been sent and what have been rejected, so that fairness combined with optimal exploitation of the connection resources can be delivered.
  • Figure 1 is a view showing a point-to-point link with a transmitter and a receiver.
  • the packet transmission scheduler in the present invention uses three atomic operations, Store, Next and Update, for handling the transmission of packets. These atomic operations have the following definitions:
  • the store operation is invoked when a packet is stored in the buffer pool of the transmitter.
  • the scheduler uses the scheduler to keep track of the history.
  • the lists are defined as follows: •
  • the fresh list A global list holding the packet associated elements associated with threads currently being accepted by the receiver.
  • the old list A global list holding the packet associated elements associated with packets that have been rejected by the receiver.
  • the inprog lists A list for each thread holding the packet associated elements associated with packets currently being in progress.
  • the onhold lists A list for each thread holding the packet associated elements associated with packets currently being on hold.
  • the store operation will typically append an element to the tail of the fresh list, unless the stored packet is in a thread that is currently being rejected by the receiver. In that case the element will be appended to the tail of its onhold list.
  • the next operation will every other time take an element from the head of the fresh list and the head of the old list, and append it to the inprog list for this element's thread. If one of the lists is empty, an element will be taken from the non-empty list every time. If both lists are empty, there are no packets in the buffer pool, and the operation will not be invoked.
  • the update operation is by far the most complex. If a transmission was successful, i.e. the receiver has accepted a packet, the associated element is removed from its inprog list. If there are packets in the same thread that are on hold, their associated elements are taken from their onhold list and appended to the tail of the fresh list.
  • the rejected packet is either the oldest packet in its thread in the buffer pool, or it is placed after another already rejected packet in sequence.
  • the rejected packet is the oldest packet in its thread in the buffer pool
  • the rejected packet's associated element is taken from its inprog list and added to the tail of the old list.
  • any elements of its inprog list will be appended to the tail of its onhold list.
  • any element in this thread in the fresh list will be extracted, linked together in ordered sequence and appended to the tail of its onhold list.
  • the rejected packet In the second case, i.e. the rejected packet is not the oldest packet in its thread in the buffer pool, the packet must have been in progress when there was performed an update operation on a rejected packet in the same thread earlier.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

La présente invention concerne un procédé et un dispositif pour transférer de l'information via un support de communication. L'invention concerne plus particulièrement un planificateur d'émission de paquets non bloquant et à entrelacement et son mode de fonctionnement. Le planificateur d'émission de paquets de la présente invention repose sur un ensemble d'opérations atomiques et sur un certain nombre de listes liées. Le planificateur utilise les listes pour garder trace de l'état précédent et courant, permettant de savoir quels paquets ont été envoyés et quels paquets ont été rejetés, de façon qu'on puisse conférer à la connexion des qualités de fidélité alliées à celles d'une exploitation optimale.
PCT/NO2001/000247 2000-06-14 2001-06-12 Planificateur d'emission de paquets WO2001097469A2 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001282688A AU2001282688A1 (en) 2000-06-14 2001-06-12 Packet transmission scheduler

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US59345000A 2000-06-14 2000-06-14
US09/593,450 2000-06-14

Publications (2)

Publication Number Publication Date
WO2001097469A2 true WO2001097469A2 (fr) 2001-12-20
WO2001097469A3 WO2001097469A3 (fr) 2002-05-02

Family

ID=24374759

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/NO2001/000247 WO2001097469A2 (fr) 2000-06-14 2001-06-12 Planificateur d'emission de paquets

Country Status (2)

Country Link
AU (1) AU2001282688A1 (fr)
WO (1) WO2001097469A2 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG155038A1 (en) * 2001-09-28 2009-09-30 Consentry Networks Inc A multi-threaded packet processing engine for stateful packet processing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5923656A (en) * 1996-10-22 1999-07-13 Board Of Trustees Of The University Of Illinois Scalable broad band input-queued ATM switch including weight driven cell scheduler
US5996019A (en) * 1995-07-19 1999-11-30 Fujitsu Network Communications, Inc. Network link access scheduling using a plurality of prioritized lists containing queue identifiers
WO2000007126A1 (fr) * 1998-07-30 2000-02-10 Teledyne Technologies Incorporated Systeme d'acquisition et de transmission de donnees de vol
WO2000028701A1 (fr) * 1998-11-09 2000-05-18 Cabletron Systems, Inc. Procede et dispositif d'ordonnancement efficace de paquets de donnees de dimension variable, dans un commutateur d'entrees tamponne
EP1009189A2 (fr) * 1998-12-08 2000-06-14 Nec Corporation Planification RRGS-round-robin cupide pour commutateurs térabit aux tampons d'entrée et sortie

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5996019A (en) * 1995-07-19 1999-11-30 Fujitsu Network Communications, Inc. Network link access scheduling using a plurality of prioritized lists containing queue identifiers
US5923656A (en) * 1996-10-22 1999-07-13 Board Of Trustees Of The University Of Illinois Scalable broad band input-queued ATM switch including weight driven cell scheduler
WO2000007126A1 (fr) * 1998-07-30 2000-02-10 Teledyne Technologies Incorporated Systeme d'acquisition et de transmission de donnees de vol
WO2000028701A1 (fr) * 1998-11-09 2000-05-18 Cabletron Systems, Inc. Procede et dispositif d'ordonnancement efficace de paquets de donnees de dimension variable, dans un commutateur d'entrees tamponne
EP1009189A2 (fr) * 1998-12-08 2000-06-14 Nec Corporation Planification RRGS-round-robin cupide pour commutateurs térabit aux tampons d'entrée et sortie

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BOGENENI K ET AL: "Low-complexity multiple access protocols for wavelength-division multiplexed photonic networks" IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS. PROTOCOLS FOR GIGABIT NETWORKS, vol. 12, no. 2, February 1993 (1993-02), pages 1-35, XP002902333 *
DUAN H ET AL: "A high-performance OC-12/OC-48 queue design prototype for input-buffered ATM switches. In: INFOCOM'97. Sixteenth annual joint conference of the IEEE computer and communications societies. Driving the information revolution " PROCEEDINGS IEEE, vol. 1, 7 - 11 April 1997, pages 20-28, XP010252017 Kobe, Japan *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG155038A1 (en) * 2001-09-28 2009-09-30 Consentry Networks Inc A multi-threaded packet processing engine for stateful packet processing

Also Published As

Publication number Publication date
WO2001097469A3 (fr) 2002-05-02
AU2001282688A1 (en) 2001-12-24

Similar Documents

Publication Publication Date Title
EP1137225B1 (fr) Commutateur et méthode de commutation
US7558269B2 (en) Method for transmitting high-priority packets in an IP transmission network
US8542585B2 (en) Method and system for transmit scheduling for multi-layer network interface controller (NIC) operation
US5732087A (en) ATM local area network switch with dual queues
CN100401791C (zh) 数据网络节点及交换协议数据单元的方法
AU746246B2 (en) Method and apparatus for supplying requests to a scheduler in an input-buffered multiport switch
US8081626B2 (en) Expedited communication traffic handling apparatus and methods
US20040114616A1 (en) Scheduling methods for combined unicast and multicast queuing
US20090285231A1 (en) Priority scheduling using per-priority memory structures
US6574232B1 (en) Crossbar switch utilizing broadcast buffer and associated broadcast buffer management unit
JP4105955B2 (ja) 分散型共有メモリパケットスイッチ
US8199764B2 (en) Scalable approach to large scale queuing through dynamic resource allocation
US20050190779A1 (en) Scalable approach to large scale queuing through dynamic resource allocation
US8107372B1 (en) Collision compensation in a scheduling system
CN112737976B (zh) 用于支持分组交换的系统、方法、介质和设备
US7079545B1 (en) System and method for simultaneous deficit round robin prioritization
WO2001097469A2 (fr) Planificateur d'emission de paquets
JP2005245015A (ja) パケット転送装置
JP2002033749A (ja) バッファ装置およびスイッチング装置
EP1797682B1 (fr) Changement de classe de qualite de service (qos)
CN114500520A (zh) 一种数据传输方法、装置及通信节点
CN104954284A (zh) 一种面向概率路由的延迟容忍网络拥塞避免方法
JP2007184941A (ja) 不足ラウンドロビン方式のデータパケットスケジューリングのインスタントサービス方法
CA2358301A1 (fr) Gestionnaire de trafic de donnees
JP2001244981A (ja) キュー制御装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP