WO2001097469A2 - Planificateur d'emission de paquets - Google Patents
Planificateur d'emission de paquets Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow 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
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)
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)
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 |
-
2001
- 2001-06-12 AU AU2001282688A patent/AU2001282688A1/en not_active Abandoned
- 2001-06-12 WO PCT/NO2001/000247 patent/WO2001097469A2/fr active Application Filing
Patent Citations (5)
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)
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)
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 |