WO2006043264A1 - Flow control for transmission of data packets via a combined communication line - Google Patents

Flow control for transmission of data packets via a combined communication line Download PDF

Info

Publication number
WO2006043264A1
WO2006043264A1 PCT/IL2005/001063 IL2005001063W WO2006043264A1 WO 2006043264 A1 WO2006043264 A1 WO 2006043264A1 IL 2005001063 W IL2005001063 W IL 2005001063W WO 2006043264 A1 WO2006043264 A1 WO 2006043264A1
Authority
WO
WIPO (PCT)
Prior art keywords
link
payload
egress
rate
ingress
Prior art date
Application number
PCT/IL2005/001063
Other languages
French (fr)
Inventor
Asher Kfir
Original Assignee
Eci Telecom 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 Eci Telecom Ltd. filed Critical Eci Telecom Ltd.
Publication of WO2006043264A1 publication Critical patent/WO2006043264A1/en

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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/266Stopping or restarting the source, e.g. X-on or X-off
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • 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/11Identifying congestion

Definitions

  • the present invention relates to a technique for performing flow control when transmitting data packets of Ethernet, Fiber channel or the like via an intermediate communication network, in particular to cases when interfaces on both ends of the intermediate communication network have different payload rates.
  • EP 1416762 A2 to Nortel Networks Ltd. describes a transmission apparatus and a method for operating the apparatus which comprises means for controlling flow of frame based data transmitted from a local frame based data channel interface over a synchronous digital network (SONET/SDH).
  • the method of operation comprises the transmitter receiving frame based data at a first rate whereafter a buffer is configured to receive the frame based data.
  • a data amount threshold level for the buffer is predetermined whereafter, with respect to the threshold level, an amount of transmitted frame based data that has been received is monitored.
  • a signal in the form of a pause frame, is generated wherein the signal is configurable to adapt the rate of transmission from the frame based data channel interface.
  • a receiver for controlling flow of frame based data, received from a synchronous digital network, to a frame based data channel interface.
  • the receiver is configured to receive the frame based data at a first rate whereafter a buffer is configured to receive the frame based data.
  • a buffer is configured to receive the frame based data.
  • a signal is generated in the form of a pause frame, therein the pause frame signal is configurable to adapt the first transmission rate of the frame based data over the synchronous digital network to a second rate.
  • the rate of transmission from a local Ethernet switch may be controlled and the rate of receipt of Ethernet based frame data from a synchronous digital network may be controlled.
  • pause frames may be incorporated into one or more synchronous digital hierarchy virtual containers.
  • the EP 1,416,762 A2 discloses a specific solution (which had been known in its general form), that allows regulating one flow of the incoming frame based data for transmitting it via the SDH/SONET (so-called synchronous) link, and then separately regulating another flow of the frame based data outgoing the synchronous link to be transmitted through the outgoing local data link.
  • each of the local links (the ingress and the egress local links) to extend between a client and an SDH link.
  • Data flow via the ingress link is controlled independently from data flow via the egress link, and capacities of buffers of the local links are calculated talcing into account only the capacity of the SDH link.
  • transmission of packet based data via an intermediate network is usually associated with the need to adapt the rate of transmission of the packets at the ingress data link not only to the synchronous network but also to the egress data link.
  • "Traffic jams" or “bottle necks” may appear at various portions of the overall transmission link when the problem is not resolved.
  • problems which occur while transmitting packet based data (such as Ethernet or Fiber channel packets) via an intermediate network may be caused not only by capacity of the intermediate network's link, but also by differences in the maximum payload rates of the ingress and egress local links (transmitting data to and receiving the data from the intermediate network).
  • packet based data such as Ethernet or Fiber channel packets
  • an intermediate network such as a synchronous network
  • Gigabit Ethernet on the other side; a logical channel within a bus, such as SPI /POS-PHY bus interface on one side and a physical interface on the other side);
  • Management frames transmitted on a local link are flow control frames (e.g. Pause frames), intended to adapt the client traffic transmitted on one local link to the bandwidth (BW) provided on the intermediate network, and occupying some capacity on the adjacent egress local link.
  • flow control frames e.g. Pause frames
  • This situation may happen at least at the following conditions: a. Asymmetric BW on the intermediate (usually, synchronous) network in two opposite directions (by provisioning or as result of applying a protocol called Link Capacity Adjustment Scheme - LCAS) b. Asymmetric utilization of the BW on the synchronous network because of different mean frame size per direction and because of different overhead per frame on the local links and on the synchronous network.
  • packet based data preferably, Ethernet data or Fiber channel data
  • the flow control be independent from a bottle neck position in the communication line and be suitable for a variety of cases.
  • the data source and the data receiver can be both Ethernet clients, or both Fiber channel clients, the data source can be an Ethernet data source and the data receiver can be a Fiber channel data receiver, and vice versa.
  • other examples can be found and some will be mentioned as the description proceeds.
  • Fig. 1 schematically illustrates a simplified combined bi-directional communication line between a client P and a client Q 5 both capable of transmitting and receiving packet based data.
  • the combined line comprises two local links (an ingress packet based data link and an egress packet based data link) connected via an intermediate link, which in this case is represented as a communication link in a synchronous network.
  • the intermediate link can belong to another network type non-similar to those of the ingress and egress links, for example an MPLS network link.
  • the clients P and Q can both be Ethernet clients, and the synchronous network can be an SDH network.
  • the synchronous network link, in each direction, may comprise a number of virtual parallel links for transmitting virtual concatenated data streams, such VC4-4v being four virtual containers VC-4 transmitted in parallel via four links.
  • VC4-4v being four virtual containers VC-4 transmitted in parallel via four links.
  • the packet based data will be nained data in the further description and claims.
  • the packet based data source will be called transmitter and the packet based data receiver will be called receiver.
  • an ingress packet based data link connecting the packet based data source and the synchronous network will be called ingress link.
  • the egress packet based data link connecting the synchronous network with the data receiver will be called egress link.
  • the ingress link must not be a very first link in the communication line, and that the egress linlc may, in principle, be connected to a further network.
  • the ingress link, the intermediate link and the egress link are considered together as an exemplary combined communication line.
  • the egress link is the link of interest at which possible bottleneck effects must be prevented.
  • Fig. 1 schematically shows component links forming the exemplary combined communication line in both its transmission directions.
  • the line is formed between a client P and a client Q connected by two respective packet based links to a synchronous network through a mapper-demapper KL and a mapper-demapper L.
  • the communication line in this direction comprises: an ingress link (called A) transmitting from client P to a Synchronous Mapper K; an intermediate link (virtual synchronous link called B) transmitting from the Synchronous Mapper K to a Synchronous
  • Demapper L an egress or remote link called C 5 for transmitting data from the Synchronous Demapper L to client Q.
  • User data is transmitted via the communication line and may utilize different frame formats over each one of the three component links A 5 B 5 C.
  • Payload to comprise all those bytes of the user data that enter the communication line from client P 5 pass via the ingress link, the intermediate link and the egress (remote) link and, upon all operations of reformatting data in the communication line, reach the cheat Q.
  • Payload is the data that is not terminated on the Synchronous Mapper (K) or on the Synchronous Demapper (L) and thus reaches the client P.
  • Link rate (LR) should be understood as data rate currently supported by the link.
  • Payload rate is therefore the rate of payload currently supported by the link when overhead conditions are known.
  • the link may be subjected to temporary failures when its capacity and thus data rate are automatically reduced. Such phenomena may happen, for example, in synchronous networks when one or more routes forming the synchronous link fail, and wherein processes of reducing and restoring the link capacity upon detecting and fixing a failure are automatic (as can be done by LCAS protocol). Changes in actual data rates may cause dynamic changes in payload rates supported by suitable links and therefore - changes in location of a "bottle neck" of the line.
  • Overhead rate should be understood as the link capacity spent (per time unit) to transmitting various types of overhead: a) overhead per packet or frame (PPOH), required for transmitting the payload in a packet or frame and comprising, for example headers, trailers and inter-packet gaps; b) constant overhead (COH), usually configured or stated for a particular application and comprising for example, management frames (packets) transmitted via the link;
  • PPOH overhead per packet or frame
  • COH constant overhead
  • link A has payload rate PRA
  • link B has payload rate PRB
  • link C has payload rate PRC.
  • payload rate of the egress link C depends on the capacity occupied on the link for the management traffic (including pause frames) towards the receiver.
  • the egress link C serves for transmitting pause frames to the transmitter Q for controlling the traffic transmitted in the opposite direction along the ingress link D.
  • Payload rate PRA of the ingress link A depends on the amount and duration of silence periods.
  • efficient data flow control i.e., such that allows transmitting packet based data via the mentioned communication line comprising an ingress link, an intermediate link and an egress link without discarding data packets due to bottle neck effects
  • efficient data flow control is achieved by regulating payload rate at the ingress link based on: monitoring packets to be transmitted via the intermediate link, and using preliminary obtained information concerning at least payload rate supported by the egress link, thereby enabling transmission of data via the communication line at payload rate not exceeding the payload rate supported by the egress link.
  • the Inventor has proposed implementing the above concept by a method for flow control of packet based data by regulating p>ayload rate of said ingress link to dynamically adapt it to a lower one from two payload rates, wherein one of said two rates is a current payload rate of the intermediate link and the other of said two rates being a paylo ad rate supported by the egress link.
  • the ingress link and the egress link may have different interfaces and belong to different technologies.
  • any of said ingress link and egress link can be an Ethernet link, a Fiber channel link at various data rates (FE, GBE, XGBE, various rates of Fiber channel), can be a bus transmitting data using protocols such as POSPHY, SPI, CSIX, POS, etc.
  • the intermediate data link between the ingress link and the egiress link belongs to a network utilizing a different protocol, for example a synchronous ( SDH/SONET) network or MPLS network.
  • the proposed end-to-end flow control actually prevents transmitting packets from the ingress link towards the intermediate network at a rate that cannot be supported by the egress link.
  • the method comprises performing said monitoring of the packets before transmitting thereof via the intermediate link in order to determine length of payload per monitored packet, and performing said regulation of the payload rate of the ingress link based on:
  • the length of payload per monitored packet can be determined: a) by obtaining a number of payload bytes of each specific pactcet upon monitoring thereof, b) by obtaining a number of payload bytes during a specified time period; the number of packets that have passed during that time would also be required, c) by obtaining a number of payload bytes for a known nuimber of monitored packets.
  • the overhead required for transmitting said payload via tke egress link preferably " includes a constant overhead (COH) which is usually pre- configured, and an overhead per packet/ frame (PPOH) to be used on said egress link.
  • COH constant overhead
  • PPOH overhead per packet/ frame
  • the required preliminary information can be obtained from various sources.
  • the references can be fed from the Network Management, from Network Protocols.
  • the step of monitoring can be performed by a monitoring means which can be a conventional monitoring block known in communication networks for such purposes.
  • the step of regulation can be performed, say, by a metering means and preferably comprises sub-steps of: processing at least the above-mentioned information concerning the payload length and the preliminary obtained information concerning the egress link, and, in response to results of the processing, issuing flow control commands (for example, pause commands and pause cancellation commands, pause frames and pause cancellation frames, signal changing clock frequency, buffer status indications, etc.) thereby affecting the payload rate at the ingress link whenever required.
  • flow control commands for example, pause commands and pause cancellation commands, pause frames and pause cancellation frames, signal changing clock frequency, buffer status indications, etc.
  • the processing can be performed by a metering register (which may form part of the metering means), by periodically increasing a value of the register by an increment proportional to a difference between the egress link rate (LR) and the constant overhead rate (COHR) a,t the egress link, while decreasing the value of the register, for each monitored data packet to be transmitted via the intermediate link, by a decrement proportional to a sum of a number of payload bytes per monitored packet (PPPB) and a number of overhead bytes per packet required on the egress link (PPOH) 5 the processing further comprises comparing the value of the register with its low and high thresholds (watermarks), and making a decision whether any of the flow control commands is to be issued in response to the comparison result.
  • a metering register which may form part of the metering means
  • the method preferably comprises a conventional step of adapting payload rate of the ingress link to the payload rate of the intermediate (synchronous) link. It can be performed by arranging a conventional flow control buffer capable of storing data packets received from the transmitter before mapping thereof into synchronous transport frames, and capable of interrupting the transmitter from time to time in response to the buffer status.
  • a conventional buffer has a lower and a higher thresholds for detecting its status and performs the interrupting by issuing so-called pause frames and stop-pause frames (being management frames).
  • the step of regulation of the payload rate of the ingress link to the payload rate of the egress link can be executed by arranging at least one of the following functions: controlled output of the packets from said buffer to said intermediate link at a rate not exceeding the payload rate supported by said egress link, by applying said flow control commands (from said metering means) to the output of said buffer directly or indirectly, additional adapting of payload rate at the ingress link by applying said flow control commands (from said metering means) " before the buffer, for example to the transmitter, thereby additionally controlling input to the buffer.
  • the method just comprises arranging the controlled output of the packets from said buffer (to said mapper) at the payload rate not exceeding the payload rate of the egress link, while also performing the above-described conventional flow control on the ingress link.
  • the method will always be effective in preventing creation of bottleneck at the egress link. If the bottleneck happens to occur at the intermediate link, it is usually solved by conventional methods (such as the described conventional buffer of the synchronous link).
  • the method is universal and can be used for any ratio between the payload rates at links A,B,C but is particularly useful when PRC ⁇ PRA and PRC ⁇ PRB.
  • the proposed method is advantageous when the "bottleneck" of the communication line is placed at the egress link, regardless the situation at the intermediate network link.
  • a system for flow control of a packet based data transmitted along a communication line successively from a transmitter via an ingress link, an intermediate network link and an egress link to a receiver the system being operative to regulate payload rate at said ingress link based on: monitoring packets to be transmitted via the intermediate link, and using preliminary obtained information concerning at least payload rate supported by the egress link, thereby enabling transmission of data via the communication line at payload rate not exceeding the payload rate supported by the egress link.
  • the system is capable of regulating the payload rate at the ingress link to dynamically adapt it to a lower one from two payload rates, one of said two rates being payload rate of the intermediate link and the other of said two rates being payload rate of the egress link.
  • the system comprises a flow control unit including a monitoring unit and a metering means connected to one another, the monitoring unit being designed for scanning packets intended to be transmitted via the intermediate link and for determining a number of payload bytes in said packets, the metering means being adapted to obtain information about the number of said payload bytes from said monitoring unit, obtain said information concerning payload rate at the egress link (say, the data on link rate at the egress link and overhead required at the egress link), process all the obtained information, and in response to results of the processing, issue flow control commands to affect payload rate at the ingress link whenever required.
  • a flow control unit including a monitoring unit and a metering means connected to one another, the monitoring unit being designed for scanning packets intended to be transmitted via the intermediate link and for determining a number of payload bytes in said packets, the metering means being adapted to obtain information about the number of said payload bytes from said monitoring unit, obtain said information concerning payload rate at the egress link (say, the data
  • the flow control commands may be, for example, pause commands and pause cancellation commands, pause frames and pause cancellation frames, signal changing clock frequency, buffer status indications, etc.
  • the metering means comprises a register having two (a low and a high) thresholds and is adapted to: increase periodically (say, each time clock) a value of the register by an increment proportional to a difference between the egress link rate (LR) and the constant overhead rate (COHR) at the egress link, decrease the value of the register, for each monitored data packet to be transmitted via the intermediate link, by a decrement proportional to a sum of a number of payload bytes of said monitored packet and a number of overhead bytes per packet required on the egress link (PPOH), compare said value with the low and the high thresholds of the register, and in response to the comparison result, make a decision whether any of said flow control commands is to be issued.
  • LR egress link rate
  • COHR constant overhead rate
  • the proposed flow control unit as a whole, and its components separately (metering means and the monitoring unit) may be positioned at any location between (and including) the transmitter (say, at P ) and the suitable mapper-demapper ( K).
  • the metering means can be implemented either as a, hardware unit
  • the metering means is a programmable logic device.
  • the system preferably comprises a conventional buffer capable of adapting payload rate of the ingress link to payload rate of the intermediate link to control storing of data packets transn ⁇ itted from the transmitter before mapping thereof into transport frames (for example, synchronous frames), the system being further adapted to perform at least one of the following operations:
  • the metering means and the monitoring unit can be associated with the buffer, for monitoring packets being stored in the buffer and processing information about them together with data about overhead required at the egress link and payload rate at the egress link. Alternatively, the monitoring can be provided before the input or upon the output of the buffer.
  • control flow commands are preferably processed by a logic unit.
  • a logic unit implementing the Boolean function OR.
  • Fig. 1 schematically illustrates an exemplary communication line for which the proposed technology can be used.
  • Fig. 2 - schematically illustrates a block diagram of one model of the proposed data flow control system.
  • Fig. 3 schematically illustrates a block diagram of an exemplary algorithm which can be used in the proposed flow control system with the metering register.
  • Fig. 4 schematically shows some possible locations of the proposed data flow control unit in the communication line.
  • client P comprises a transmitter 12 which transmits data packets over an ingress link 14 (such as an Ethernet link); the data rate (and consequently, the payload rate) over the link is controlled by a flow control unit 23 (described below) via a logics block 16.
  • the data packets are stored in a conventional buffer 18 intended for local data flow regulation between the ingress link 14 and an intermediate link 20 (it can be a link belonging to an MPLS network, but in this example it is a synchronous network link).
  • the buffer 18 is a transmission rate adaptation buffer known in the art, that usually has an upper threshold (schematically shown as 18A) and a lower threshold (18B) for adapting the ingress HnJk rate to the synchronous link rate.
  • a known buffer can be provided with various means to control the ingress data flow in response to degree of the buffer's fullness; e.g. for Ethernet interface, it is operative to cause generating a pause frame to be sent to the transmitter upon exceeding the upper threshold, and to cause generating a pause canceling frame when the buffer is filled below the lower threshold.
  • the data packet buffer 18 is associated with a suitable mapper-demapper 22.
  • the main part of the proposed flow control system is a flow control unit 23 formed by a metering means (e.g., register) 24 coupled with a monitoring block 26.
  • the register 24 receives from the monitor 26 data on the number of payload bytes in each of the data packets transmitted towards the mapper; based on this information and data about the expected possible payload rate PRC at the egress link, the register 24 is adapted to issue control commands to affect the payload rate at the ingress link.
  • the data about payload rate at the egress link can be presented by data on the link rate on the egress link LRC, and data about overhead required for transmitting payload bytes via the egress link: for example COH (constant overhead) and PPOH (per packet overhead) of the egress link.
  • COH constant overhead
  • PPOH per packet overhead
  • the flow control unit 23 comprising two blocks 24 and 26 can be used for flow control in the communication line with or without additional local flow regulation between the ingress link and the synchronous link.
  • the register 24 may issue a flow control command 1 for controlling the transmitter 12, and by intermittently applying and removing such commands via the logic 16 the payload rate at the ingress link 14 will be regulated.
  • the register 24 may issue a command 2 (similar in nature to command 1) to perform controlled output from the buffer 18 to the mapper 22.
  • logic 25 may serve for obtaining both the flow control commands from the block 23, and for obtaining flow control commands from the mapper 22, and handling the obtained commands according to the logical OR function.
  • the command 1 from the register 24 will then be processed in the logic unit 16 together with a pause command 3 from the buffer 18, in order to control the transmitter 12 in a suitable manner.
  • the command 2 from the register can be similarly handled by a logic unit 25, together with flow control signals from the mapper 22 (if any).
  • the simplest implementation of the logic units 16 and 25 is the Boolean function OR. According to that, the logic unit 16 will interrupt transmitting packets from the transmitter 12 if either the register 26 or the buffer 18 applies to the logic 16 a pause command.
  • the monitoring unit 26 is capable of monitoring packets at any location: packets outgoing the transmitter 12, packets incoming to or outgoing from the buffer 18.
  • the metering register 24 and the monitoring unit 26 can be associated with the buffer (as in the drawing), while may actually be positioned at any location of the communication line.
  • the system with the flow control unit 23 is capable of continuously monitoring packets being input/stored in the buffer and, based on this information and the information about the egress link payload rate, continuously making decisions whether a) to continue outputting the packets from the buffer or to make a pause in outputting thereof, or b) whether to affect transmission of packets from the transmitter 12 by issuing pause commands towards the transmitter.
  • Fig. 3 is a block diagram of an exemplary algorithm of operation of the proposed system of data flow control.
  • Let the metering means 24 is a metering register.
  • the metering register (block 24) operates according to a specific algorithm: it increases its value proportionally to capacity of the egress link and decreases its value proportionally to payload data to be transmitted via the egress link. Value of the register must be compared with two thresholds or watermarks (L for low watermark and H for high watermark).
  • Block 30 Information on capacity of the egress link and on the overhead required at this link is obtained at block 30.
  • the information can be received from NMS (network management system), from network protocols, etc.
  • Block 32 illustrates that at each time clock (in our example - each microsecond) value of the register is increased by a number of bytes proportional (coefficient A) to the difference between egress link rate LR and the constant overhead COH required at the egress link.
  • the value of COH can be preliminarily stated in the system or received (also from NMS 5 network protocols, etc.).
  • Block 34 illustrates monitoring each of the transmitted packets to detect the number of payload bytes per each of the packets (PPPB), since the packets may differ in length.
  • Block 36 proposes a formula for calculating the number of bytes required in the egress link for transmitting payload bytes of one packet which has been monitored. In case all these payload bytes are to be transmitted in a single (one and the same) egress packet, the formula is PPPB+PPOH, where PPPB is payload bytes per packet (of the incoming packet) and PPOH is overhead bytes per packet (on the egress link). If not a single packet (i.e., a part of a packet or more than one egress packet) are used for transmitting payload bytes of one incoming packet via the egress link, the formula may differ from the above-mentioned one.
  • the register (regardless it is a hardware one or a software one) should be capable of monitoring its current state betweea the two register thresholds or watermarks (blocks 38, 40 of the flow chart). Such a monitoring can be done periodically or upon changes in the register value
  • the register thresholds can be used so that exceeding one of them would cause a pause condition (block 39 - say, in outpixtting the packets from the buffer 18), and exceeding the other one of th.em would cause continuation of the outputting ( block 41).
  • the register has a virtual volume 64 Kb that is presented by a 16 bites register.
  • the lower threshold is 30 Kb and the higher threshold is 34 Kb.
  • FIG. 4 schematically shows possible locations of the proposed data flow control unit 23 in the communication line 50.
  • the intermediate link can also be composed from a number of partial sub-links.
  • the flow control unit 23 is shown for both directions of the line, and intended for regulating data flow via a link considered an egress link in respect of two links preceding thereof (here called an intermediate link and an ingress link). The intended regulation is performed by affecting data flow at the ingress link.
  • a network node 52 (which can be a switch, a router, a server, a network processor, etc.) is connected by a link 54 to a mapper/demapper 56, further via an intermediate network 58 to a mapper/demapper 60, via a link 62 to a client with a receiver 64, and then to a further communication link 66.
  • each of the ingress link A and the egress link G may be formed by a logical channel over a bus interface 54 (such as SPI, POSPHY 5 UTOPIA, etc.).
  • the intermediate link B may belong to an MPLS or SDH/SONET network, while the egress link C and the ingress link D may be arranged in a physical bi-directional Ethernet link.
  • the control unit 23 can be located at a transmitter 52 ( before the bus), it can be a separate (stand alone unit), or can be coupled to a local buffer (not shown), associated with the mapper 56.
  • the blocks 24 and 26 of the unit 23 can be located on different devices.
  • the logic (OR) units see blocks 16 and 25 in Fig.
  • the proposed method and system of end-to-end flow control allow avoiding bottleneck conditions at the egress link without arranging large buffers between the intermediate link and the egress link, and without arranging cumbersome and time consuming communication between these buffers and the ingress link.

Landscapes

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

Abstract

A method and system for flow control of data packets transmitted along a communication line successively from a transmitter via an ingress link, an intermediate network link and an egress link towards a receiver, which allow regulation of payload rate at the ingress link based on: monitoring data packets to be transmitted via the intermediate link, and using preliminary obtained information concerning the egress link, being at least payload rate supported by the egress link; the method and system enable transmission of the data packets via the communication line at payload rate not exceeding the payload rate supported by the egress link.

Description

Flow control for transmission of data packets via a combined communication line
Field of the invention The present invention relates to a technique for performing flow control when transmitting data packets of Ethernet, Fiber channel or the like via an intermediate communication network, in particular to cases when interfaces on both ends of the intermediate communication network have different payload rates.
Background of the invention
EP 1416762 A2 to Nortel Networks Ltd. describes a transmission apparatus and a method for operating the apparatus which comprises means for controlling flow of frame based data transmitted from a local frame based data channel interface over a synchronous digital network (SONET/SDH). The method of operation comprises the transmitter receiving frame based data at a first rate whereafter a buffer is configured to receive the frame based data. A data amount threshold level for the buffer is predetermined whereafter, with respect to the threshold level, an amount of transmitted frame based data that has been received is monitored. In response to monitoring the amount of data received, a signal, in the form of a pause frame, is generated wherein the signal is configurable to adapt the rate of transmission from the frame based data channel interface. Working in conjunction with the transmission means there is also provided a receiver for controlling flow of frame based data, received from a synchronous digital network, to a frame based data channel interface. The receiver is configured to receive the frame based data at a first rate whereafter a buffer is configured to receive the frame based data. Upon pre-determining a data amount threshold level for the buffer an amount of frame based data received is monitored with respect to the threshold level. In response to monitoring the amount of data received, a signal is generated in the form of a pause frame, therein the pause frame signal is configurable to adapt the first transmission rate of the frame based data over the synchronous digital network to a second rate. In this way, the rate of transmission from a local Ethernet switch may be controlled and the rate of receipt of Ethernet based frame data from a synchronous digital network may be controlled. In the latter case pause frames may be incorporated into one or more synchronous digital hierarchy virtual containers.
In other words, the EP 1,416,762 A2 discloses a specific solution (which had been known in its general form), that allows regulating one flow of the incoming frame based data for transmitting it via the SDH/SONET (so-called synchronous) link, and then separately regulating another flow of the frame based data outgoing the synchronous link to be transmitted through the outgoing local data link.
A conference paper "Single-chip solution for ethernet over SDH/SONET" (Ge, Liangwei; Wang, Lijuan; Proceedings of SPIE - The International Society for Optical Engineering, v 4908, 2002, p 96-100, ISSN: 0277-786X CODEN: PSISDG
Conference: APOC 2002: Metro and Access Networks II, Oct 16-17 2002, Shanghai, China) describes A structure of a chip, which maps 10/100 Mbit/s Ethernet fames into SONET/SDH virtually concatenated VC- 12 payloads. The required link capacity to satisfy the desired QoS is calculated. A closed-loop flow control mechanism for both local and remote ends is suggested and the buffer size under self-similar traffic is estimated.
It should be noted that the flow control mechanism described in the paper considers each of the local links ( the ingress and the egress local links) to extend between a client and an SDH link. Data flow via the ingress link is controlled independently from data flow via the egress link, and capacities of buffers of the local links are calculated talcing into account only the capacity of the SDH link.
As has been noted by the Inventor, transmission of packet based data via an intermediate network (for example, synchronous communication network) is usually associated with the need to adapt the rate of transmission of the packets at the ingress data link not only to the synchronous network but also to the egress data link. "Traffic jams" or "bottle necks" may appear at various portions of the overall transmission link when the problem is not resolved.
There are some solutions like local flow control for adapting the data rate on the ingress link to the rate of the synchronous communication network or end-to-end flow control for adapting the data rate on the ingress link to the rate of the egress link. Other known approaches to data flow control are so-called end-to- end flow control or transparent flow control methods, where information on the status of a buffer at the egress link is sent to the mapper or to the client at the ingress via the intermediate link(s); the reaction time therefore depends on a considerable round trip delay and consequently requires large buffer at the egress link.
All the above-mentioned known solutions comprise large buffers which are required due to the considerable length of the intermediate link and the corresponding high values of round trip delay. Object and Summary of the invention
It has been noticed by the Inventor that the mentioned bottle necks occur in particular circumstances, which may take place in the network from time to time.
The Inventor has noticed that problems which occur while transmitting packet based data (such as Ethernet or Fiber channel packets) via an intermediate network (such as a synchronous network) may be caused not only by capacity of the intermediate network's link, but also by differences in the maximum payload rates of the ingress and egress local links (transmitting data to and receiving the data from the intermediate network).
These differences may arise because of:
• Different types of interface on both ends of the intermediate network (e.g. Fiber channel or Fast Ethernet on one side, and
Gigabit Ethernet on the other side; a logical channel within a bus, such as SPI /POS-PHY bus interface on one side and a physical interface on the other side);
• Different overheads required for transmitting traffic at the ingress and egress links.
• Management frames transmitted on a local link. One example of the management frames are flow control frames (e.g. Pause frames), intended to adapt the client traffic transmitted on one local link to the bandwidth (BW) provided on the intermediate network, and occupying some capacity on the adjacent egress local link.
This situation may happen at least at the following conditions: a. Asymmetric BW on the intermediate (usually, synchronous) network in two opposite directions (by provisioning or as result of applying a protocol called Link Capacity Adjustment Scheme - LCAS) b. Asymmetric utilization of the BW on the synchronous network because of different mean frame size per direction and because of different overhead per frame on the local links and on the synchronous network.
It is therefore an object of the invention to propose a method and a suitable system for efficient data flow control for transmitting packet based data (preferably, Ethernet data or Fiber channel data) from a packet based data source to a packet based data receiver via an intermediate (preferably, synchronous) network. It would be desired that the flow control be independent from a bottle neck position in the communication line and be suitable for a variety of cases. For example, the data source and the data receiver can be both Ethernet clients, or both Fiber channel clients, the data source can be an Ethernet data source and the data receiver can be a Fiber channel data receiver, and vice versa. However, other examples can be found and some will be mentioned as the description proceeds.
In order to assist understanding of the terms that will be used in the following description and claims, Fig. 1 schematically illustrates a simplified combined bi-directional communication line between a client P and a client Q5 both capable of transmitting and receiving packet based data. For each of its directions, the combined line comprises two local links (an ingress packet based data link and an egress packet based data link) connected via an intermediate link, which in this case is represented as a communication link in a synchronous network. However, the intermediate link can belong to another network type non-similar to those of the ingress and egress links, for example an MPLS network link.
In the proposed example, the clients P and Q can both be Ethernet clients, and the synchronous network can be an SDH network. The synchronous network link, in each direction, may comprise a number of virtual parallel links for transmitting virtual concatenated data streams, such VC4-4v being four virtual containers VC-4 transmitted in parallel via four links. For the sake of simplicity, the packet based data will be nained data in the further description and claims.
For the same reason, the packet based data source will be called transmitter and the packet based data receiver will be called receiver.
Analogously, an ingress packet based data link connecting the packet based data source and the synchronous network will be called ingress link. The egress packet based data link connecting the synchronous network with the data receiver will be called egress link.
It should be noted however, that the ingress link must not be a very first link in the communication line, and that the egress linlc may, in principle, be connected to a further network. For the sake of simplicity, in the following description the ingress link, the intermediate link and the egress link are considered together as an exemplary combined communication line. However, in any other combined communication line comprising such three interconnected links the egress link is the link of interest at which possible bottleneck effects must be prevented.
Fig. 1 schematically shows component links forming the exemplary combined communication line in both its transmission directions. The line is formed between a client P and a client Q connected by two respective packet based links to a synchronous network through a mapper-demapper KL and a mapper-demapper L.
In the following description, the transmission direction from client P (in this case operating as transmitter P) to client Q (in this case operating as receiver Q) will be mainly considered and described. The communication line in this direction comprises: an ingress link (called A) transmitting from client P to a Synchronous Mapper K; an intermediate link (virtual synchronous link called B) transmitting from the Synchronous Mapper K to a Synchronous
Demapper L; an egress or remote link called C5 for transmitting data from the Synchronous Demapper L to client Q.
User data is transmitted via the communication line and may utilize different frame formats over each one of the three component links A5B5C.
Let us define "Payload" to comprise all those bytes of the user data that enter the communication line from client P5 pass via the ingress link, the intermediate link and the egress (remote) link and, upon all operations of reformatting data in the communication line, reach the cheat Q. In our example, Payload is the data that is not terminated on the Synchronous Mapper (K) or on the Synchronous Demapper (L) and thus reaches the client P.
Let us consider that link rate LR of a specific link minus the total overhead rate OHR at this link yields the payload rate PR at the link, which characterizes the bandwidth available for transferring user data: PR = LR - OHR (1) where: Link rate (LR) should be understood as data rate currently supported by the link. Payload rate is therefore the rate of payload currently supported by the link when overhead conditions are known. However, the link may be subjected to temporary failures when its capacity and thus data rate are automatically reduced. Such phenomena may happen, for example, in synchronous networks when one or more routes forming the synchronous link fail, and wherein processes of reducing and restoring the link capacity upon detecting and fixing a failure are automatic (as can be done by LCAS protocol). Changes in actual data rates may cause dynamic changes in payload rates supported by suitable links and therefore - changes in location of a "bottle neck" of the line.
Overhead rate (OHR) should be understood as the link capacity spent (per time unit) to transmitting various types of overhead: a) overhead per packet or frame (PPOH), required for transmitting the payload in a packet or frame and comprising, for example headers, trailers and inter-packet gaps; b) constant overhead (COH), usually configured or stated for a particular application and comprising for example, management frames (packets) transmitted via the link; Referring to Fig. 1, we consider that link A has payload rate PRA, link B has payload rate PRB and link C has payload rate PRC.
For example, payload rate of the egress link C depends on the capacity occupied on the link for the management traffic (including pause frames) towards the receiver. In Fig. 1, the egress link C serves for transmitting pause frames to the transmitter Q for controlling the traffic transmitted in the opposite direction along the ingress link D. Payload rate PRA of the ingress link A depends on the amount and duration of silence periods. According to the inventive concept, efficient data flow control (i.e., such that allows transmitting packet based data via the mentioned communication line comprising an ingress link, an intermediate link and an egress link without discarding data packets due to bottle neck effects), is achieved by regulating payload rate at the ingress link based on: monitoring packets to be transmitted via the intermediate link, and using preliminary obtained information concerning at least payload rate supported by the egress link, thereby enabling transmission of data via the communication line at payload rate not exceeding the payload rate supported by the egress link.
The difference of the inventive concept from solutions known, in the prior art is in that adaptation of the payload rate of an ingress link; to the payload rate of an egress link is performed directly and in advance. Neither flow control on the intermediate link, nor round trip of information concerning egress link buffer is required.
In practice, the Inventor has proposed implementing the above concept by a method for flow control of packet based data by regulating p>ayload rate of said ingress link to dynamically adapt it to a lower one from two payload rates, wherein one of said two rates is a current payload rate of the intermediate link and the other of said two rates being a paylo ad rate supported by the egress link.
The ingress link and the egress link may have different interfaces and belong to different technologies. For example, any of said ingress link and egress link can be an Ethernet link, a Fiber channel link at various data rates (FE, GBE, XGBE, various rates of Fiber channel), can be a bus transmitting data using protocols such as POSPHY, SPI, CSIX, POS, etc. The intermediate data link between the ingress link and the egiress link belongs to a network utilizing a different protocol, for example a synchronous ( SDH/SONET) network or MPLS network.
In other words, the proposed end-to-end flow control actually prevents transmitting packets from the ingress link towards the intermediate network at a rate that cannot be supported by the egress link. To implement the proposed end-to-end flow control, the method comprises performing said monitoring of the packets before transmitting thereof via the intermediate link in order to determine length of payload per monitored packet, and performing said regulation of the payload rate of the ingress link based on:
-the determined length of payload per monitored packet, -the preliminary obtained information concerning payload rate supported by the egress link, including: throughput (actual link rate) of the egress link, overhead required for transmitting said payload via the egress link. The length of payload per monitored packet can be determined: a) by obtaining a number of payload bytes of each specific pactcet upon monitoring thereof, b) by obtaining a number of payload bytes during a specified time period; the number of packets that have passed during that time would also be required, c) by obtaining a number of payload bytes for a known nuimber of monitored packets.
The overhead required for transmitting said payload via tke egress link, preferably" includes a constant overhead (COH) which is usually pre- configured, and an overhead per packet/ frame (PPOH) to be used on said egress link.
The required preliminary information can be obtained from various sources. For example, the references can be fed from the Network Management, from Network Protocols.
The step of monitoring can be performed by a monitoring means which can be a conventional monitoring block known in communication networks for such purposes.
The step of regulation can be performed, say, by a metering means and preferably comprises sub-steps of: processing at least the above-mentioned information concerning the payload length and the preliminary obtained information concerning the egress link, and, in response to results of the processing, issuing flow control commands (for example, pause commands and pause cancellation commands, pause frames and pause cancellation frames, signal changing clock frequency, buffer status indications, etc.) thereby affecting the payload rate at the ingress link whenever required.
These flow control commands can be applied to the transmitter directly or via some logic. However, said commands can be applied to an alternative location that will be discussed below.
The processing can be performed by a metering register (which may form part of the metering means), by periodically increasing a value of the register by an increment proportional to a difference between the egress link rate (LR) and the constant overhead rate (COHR) a,t the egress link, while decreasing the value of the register, for each monitored data packet to be transmitted via the intermediate link, by a decrement proportional to a sum of a number of payload bytes per monitored packet (PPPB) and a number of overhead bytes per packet required on the egress link (PPOH)5 the processing further comprises comparing the value of the register with its low and high thresholds (watermarks), and making a decision whether any of the flow control commands is to be issued in response to the comparison result.
The method preferably comprises a conventional step of adapting payload rate of the ingress link to the payload rate of the intermediate (synchronous) link. It can be performed by arranging a conventional flow control buffer capable of storing data packets received from the transmitter before mapping thereof into synchronous transport frames, and capable of interrupting the transmitter from time to time in response to the buffer status. Such a conventional buffer has a lower and a higher thresholds for detecting its status and performs the interrupting by issuing so-called pause frames and stop-pause frames (being management frames).
In the above case (when the above-described conventional flow control buffer is utilized), the step of regulation of the payload rate of the ingress link to the payload rate of the egress link can be executed by arranging at least one of the following functions: controlled output of the packets from said buffer to said intermediate link at a rate not exceeding the payload rate supported by said egress link, by applying said flow control commands (from said metering means) to the output of said buffer directly or indirectly, additional adapting of payload rate at the ingress link by applying said flow control commands (from said metering means) "before the buffer, for example to the transmitter, thereby additionally controlling input to the buffer. In the simplest version, the method just comprises arranging the controlled output of the packets from said buffer (to said mapper) at the payload rate not exceeding the payload rate of the egress link, while also performing the above-described conventional flow control on the ingress link.
It should be emphasized that whatever the payload rate of the intermediate link (PRB) is, the method will always be effective in preventing creation of bottleneck at the egress link. If the bottleneck happens to occur at the intermediate link, it is usually solved by conventional methods (such as the described conventional buffer of the synchronous link). The method is universal and can be used for any ratio between the payload rates at links A,B,C but is particularly useful when PRC<PRA and PRC<PRB.
In other words, the proposed method is advantageous when the "bottleneck" of the communication line is placed at the egress link, regardless the situation at the intermediate network link.
According to a second aspect of the invention, there is also provided a system for flow control of a packet based data transmitted along a communication line successively from a transmitter via an ingress link, an intermediate network link and an egress link to a receiver, the system being operative to regulate payload rate at said ingress link based on: monitoring packets to be transmitted via the intermediate link, and using preliminary obtained information concerning at least payload rate supported by the egress link, thereby enabling transmission of data via the communication line at payload rate not exceeding the payload rate supported by the egress link. Actually, the system is capable of regulating the payload rate at the ingress link to dynamically adapt it to a lower one from two payload rates, one of said two rates being payload rate of the intermediate link and the other of said two rates being payload rate of the egress link. The system comprises a flow control unit including a monitoring unit and a metering means connected to one another, the monitoring unit being designed for scanning packets intended to be transmitted via the intermediate link and for determining a number of payload bytes in said packets, the metering means being adapted to obtain information about the number of said payload bytes from said monitoring unit, obtain said information concerning payload rate at the egress link (say, the data on link rate at the egress link and overhead required at the egress link), process all the obtained information, and in response to results of the processing, issue flow control commands to affect payload rate at the ingress link whenever required.
As has been mentioned, the flow control commands may be, for example, pause commands and pause cancellation commands, pause frames and pause cancellation frames, signal changing clock frequency, buffer status indications, etc.
According to one specific embodiment, the metering means comprises a register having two (a low and a high) thresholds and is adapted to: increase periodically (say, each time clock) a value of the register by an increment proportional to a difference between the egress link rate (LR) and the constant overhead rate (COHR) at the egress link, decrease the value of the register, for each monitored data packet to be transmitted via the intermediate link, by a decrement proportional to a sum of a number of payload bytes of said monitored packet and a number of overhead bytes per packet required on the egress link (PPOH), compare said value with the low and the high thresholds of the register, and in response to the comparison result, make a decision whether any of said flow control commands is to be issued.
The proposed flow control unit as a whole, and its components separately (metering means and the monitoring unit) may be positioned at any location between (and including) the transmitter (say, at P ) and the suitable mapper-demapper ( K).
The metering means can be implemented either as a, hardware unit
(for example a logic unit, a register, etc.) or as a software program.
Preferably, the metering means is a programmable logic device. The system preferably comprises a conventional buffer capable of adapting payload rate of the ingress link to payload rate of the intermediate link to control storing of data packets transnαitted from the transmitter before mapping thereof into transport frames (for example, synchronous frames), the system being further adapted to perform at least one of the following operations:
- controlled output of the packets from said buffer to said intermediate link at a rate not exceeding the payload rate supported by said egress link, by using said metering means, - double control of the payload rate at the ingress link, both by said metering means and by said buffer, thereby regulating input of the packets to said buffer. The metering means and the monitoring unit can be associated with the buffer, for monitoring packets being stored in the buffer and processing information about them together with data about overhead required at the egress link and payload rate at the egress link. Alternatively, the monitoring can be provided before the input or upon the output of the buffer.
The control flow commands, whenever applied, are preferably processed by a logic unit. For example, if the flow control commands from the metering means are to be applied to the transmitter together with the flow control commands from the buffer, they can be preliminarily held by a logic unit implementing the Boolean function OR.
Further details of the invention will be disclosed as the description proceeds.
Brief description of the drawings
Fig. 1 schematically illustrates an exemplary communication line for which the proposed technology can be used.
Fig. 2 - schematically illustrates a block diagram of one model of the proposed data flow control system. Fig. 3 schematically illustrates a block diagram of an exemplary algorithm which can be used in the proposed flow control system with the metering register.
Fig. 4 schematically shows some possible locations of the proposed data flow control unit in the communication line. Detailed description of the drawings Fig. 1 has been described in the summary of the invention. In the block diagram of one embodiment 10 of the data flow control system, illustrated in Fig. 2, client P comprises a transmitter 12 which transmits data packets over an ingress link 14 (such as an Ethernet link); the data rate (and consequently, the payload rate) over the link is controlled by a flow control unit 23 (described below) via a logics block 16. In this embodiment, the data packets are stored in a conventional buffer 18 intended for local data flow regulation between the ingress link 14 and an intermediate link 20 (it can be a link belonging to an MPLS network, but in this example it is a synchronous network link). The buffer 18 is a transmission rate adaptation buffer known in the art, that usually has an upper threshold (schematically shown as 18A) and a lower threshold (18B) for adapting the ingress HnJk rate to the synchronous link rate. Such a known buffer can be provided with various means to control the ingress data flow in response to degree of the buffer's fullness; e.g. for Ethernet interface, it is operative to cause generating a pause frame to be sent to the transmitter upon exceeding the upper threshold, and to cause generating a pause canceling frame when the buffer is filled below the lower threshold. The data packet buffer 18 is associated with a suitable mapper-demapper 22. The main part of the proposed flow control system is a flow control unit 23 formed by a metering means (e.g., register) 24 coupled with a monitoring block 26. The register 24 receives from the monitor 26 data on the number of payload bytes in each of the data packets transmitted towards the mapper; based on this information and data about the expected possible payload rate PRC at the egress link, the register 24 is adapted to issue control commands to affect the payload rate at the ingress link.
The data about payload rate at the egress link can be presented by data on the link rate on the egress link LRC, and data about overhead required for transmitting payload bytes via the egress link: for example COH (constant overhead) and PPOH (per packet overhead) of the egress link.
The flow control unit 23 comprising two blocks 24 and 26 can be used for flow control in the communication line with or without additional local flow regulation between the ingress link and the synchronous link. For example, if the buffer 18 is absent, or its output control regulation is problematic (say, if it is integral with a mapper 22) the register 24 may issue a flow control command 1 for controlling the transmitter 12, and by intermittently applying and removing such commands via the logic 16 the payload rate at the ingress link 14 will be regulated.
In case the buffer 18 exists and its output control is possible, the register 24 may issue a command 2 (similar in nature to command 1) to perform controlled output from the buffer 18 to the mapper 22.
It should be noted that logic 25 may serve for obtaining both the flow control commands from the block 23, and for obtaining flow control commands from the mapper 22, and handling the obtained commands according to the logical OR function.
The command 1 from the register 24 will then be processed in the logic unit 16 together with a pause command 3 from the buffer 18, in order to control the transmitter 12 in a suitable manner. The command 2 from the register can be similarly handled by a logic unit 25, together with flow control signals from the mapper 22 (if any). The simplest implementation of the logic units 16 and 25 is the Boolean function OR. According to that, the logic unit 16 will interrupt transmitting packets from the transmitter 12 if either the register 26 or the buffer 18 applies to the logic 16 a pause command.
Actually, the monitoring unit 26 is capable of monitoring packets at any location: packets outgoing the transmitter 12, packets incoming to or outgoing from the buffer 18. The metering register 24 and the monitoring unit 26 can be associated with the buffer (as in the drawing), while may actually be positioned at any location of the communication line. In the embodiment shown in Fig. 2, the system with the flow control unit 23 is capable of continuously monitoring packets being input/stored in the buffer and, based on this information and the information about the egress link payload rate, continuously making decisions whether a) to continue outputting the packets from the buffer or to make a pause in outputting thereof, or b) whether to affect transmission of packets from the transmitter 12 by issuing pause commands towards the transmitter.
Fig. 3 is a block diagram of an exemplary algorithm of operation of the proposed system of data flow control. Let the metering means 24 is a metering register.
The metering register (block 24) operates according to a specific algorithm: it increases its value proportionally to capacity of the egress link and decreases its value proportionally to payload data to be transmitted via the egress link. Value of the register must be compared with two thresholds or watermarks (L for low watermark and H for high watermark).
Information on capacity of the egress link and on the overhead required at this link is obtained at block 30. The information can be received from NMS (network management system), from network protocols, etc. Block 32 illustrates that at each time clock (in our example - each microsecond) value of the register is increased by a number of bytes proportional (coefficient A) to the difference between egress link rate LR and the constant overhead COH required at the egress link. The value of COH can be preliminarily stated in the system or received ( also from NMS5 network protocols, etc.).
The remaining capacity of the egress link (LR-COH) is dedicated for transmitting there-through all the received payload information, but in packet's format of the egress link. Block 34 illustrates monitoring each of the transmitted packets to detect the number of payload bytes per each of the packets (PPPB), since the packets may differ in length. Block 36 proposes a formula for calculating the number of bytes required in the egress link for transmitting payload bytes of one packet which has been monitored. In case all these payload bytes are to be transmitted in a single (one and the same) egress packet, the formula is PPPB+PPOH, where PPPB is payload bytes per packet (of the incoming packet) and PPOH is overhead bytes per packet (on the egress link). If not a single packet (i.e., a part of a packet or more than one egress packet) are used for transmitting payload bytes of one incoming packet via the egress link, the formula may differ from the above-mentioned one.
The register (regardless it is a hardware one or a software one) should be capable of monitoring its current state betweea the two register thresholds or watermarks (blocks 38, 40 of the flow chart). Such a monitoring can be done periodically or upon changes in the register value
(e.g. when a frame is transmitted). The register thresholds can be used so that exceeding one of them would cause a pause condition (block 39 - say, in outpixtting the packets from the buffer 18), and exceeding the other one of th.em would cause continuation of the outputting ( block 41). Example of calculations in the metering register:
Let COH = IMbps; LR = 100 Mbps; PPOH = 20 bytes, for the Ethernet egress link.
Let the register has a virtual volume 64 Kb that is presented by a 16 bites register. The lower threshold is 30 Kb and the higher threshold is 34 Kb. Each microsecond, the register value will be increased by (100-I)Mb = 99 bytes.
For a packet monitored by the monitoring unit and comprising 68 bytes from which only 64 bytes are payload, the register value will be decreased by 64+20 = 84 bytes. Fig. 4 schematically shows possible locations of the proposed data flow control unit 23 in the communication line 50. The intermediate link can also be composed from a number of partial sub-links. The flow control unit 23 is shown for both directions of the line, and intended for regulating data flow via a link considered an egress link in respect of two links preceding thereof (here called an intermediate link and an ingress link). The intended regulation is performed by affecting data flow at the ingress link. In the line 50, a network node 52 (which can be a switch, a router, a server, a network processor, etc.) is connected by a link 54 to a mapper/demapper 56, further via an intermediate network 58 to a mapper/demapper 60, via a link 62 to a client with a receiver 64, and then to a further communication link 66.
In this eκample, each of the ingress link A and the egress link G may be formed by a logical channel over a bus interface 54 (such as SPI, POSPHY5 UTOPIA, etc.). The intermediate link B may belong to an MPLS or SDH/SONET network, while the egress link C and the ingress link D may be arranged in a physical bi-directional Ethernet link. The control unit 23 can be located at a transmitter 52 ( before the bus), it can be a separate (stand alone unit), or can be coupled to a local buffer (not shown), associated with the mapper 56. The blocks 24 and 26 of the unit 23 can be located on different devices. The logic (OR) units (see blocks 16 and 25 in Fig. 2) can either be integrated with the flow control unit 23, or be associated with other device(s). The proposed method and system of end-to-end flow control allow avoiding bottleneck conditions at the egress link without arranging large buffers between the intermediate link and the egress link, and without arranging cumbersome and time consuming communication between these buffers and the ingress link.

Claims

Claims
1. A method for controlling data packets flow in a communication line comprising an ingress link, an intermediate link and an egress link, the method comprises regulation of payload rate at the ingress link based on: monitoring data packets to be transmitted "via the intermediate link, and using preliminary obtained information concerning the egress link, being at least payload rate supported by the egress link, thereby enabling transmission of the data packets via the communication line at payload rate not exceeding the payload rate supported by the egress link.
2. The method according to Claim 1, wherein said regulation of payload rate of said ingress link is performed by dynamically adapting it to a lower one from two payload rates, wherein one of said two rates is a current payload rate of the intermediate link and the other of said two rates being a payload rate supported by the egress link.
3. The method according to Claim 1 or 2, comprising performing said monitoring of the packets before transmitting thereof via the intermediate link to determine length of payload per monitored packet, and performing said regulation of payload rate of the ingress link based on: the determined length of payload per monitored packet, the preliminary obtained information concerning payload rate supported by the egress link, including actual link rate of the egress link and overhead required for transmitting said payload via the egress link.
4. The method according to Claim 3, wherein the length of payload per monitored packet is determined using at least one of the following ways: a) by obtaining a number of payload bytes of each specific packet upon monitoring thereof, b) by obtaining a number of payload bytes during a specified time period and a number of packets that have passed during said time period; c) by obtaining a number of payload bytes for a known number of monitored packets.
5. The method according to Claim 3 or 4, wherein the overhead required for transmitting said payload via the egress link includes a constant overhead (COH) and an overhead per packet (PPOH) to be used on said egress link.
6. The method according to any one of the preceding claims, wherein the step of regulation is performed by processing information concerning the monitored data packets and the preliminary obtained information concerning the egress link, and, in response to results of the processing, issuing flow control commands to affect the payload rate at the ingress link whenever required.
7. The method according to Claim 6, wherein said flow control commands are selected from the following non-exhaustive list comprising pause commands, pause cancellation commands, pause frames, pause cancellation frames, signals changing clock frequency, buffer status indications.
8. The method according to Claim 6, wherein the processing is performed using a metering register, by periodically increasing a value of the metering register by an increment proportional to a difference between the egress link rate (LR) and the constant overhead rate (COHR) at the egress link, while decreasing the value of the register, for each monitored data packet to be transmitted via the intermediate link, by a decrement proportional to a sum of a number of payload bytes per monitored packet (PPPB) and a number of overhead bytes per packet required on the egress link (PPOH), the processing further comprises comparing the value of the register with its low and high thresholds, and making a decision whether any of said flow control commands is to be issued in response to the comparison result.
9. The method according to any one of the preceding claims, further comprising a step of adapting payload rate of the ingress link to payload rate of the intermediate link; said adapting is performed by arranging a flow control buffer capable of storing data packets before mapping thereof onto the intermediate link, and capable of interrupting transmission of the packets via the ingress link In response to status of said buffer.
10. The method according to Claim 9 and 6, wherein the step of regulation of payload rate of the ingress link is executed by arranging at least one of the following functions: controlled output of the packets from said buffer to said intermediate link at a rate not exceeding the payload rate supported by said egress link, by applying said flow control commands towards an output of said buffer; additional adapting of the payload rate at the ingress link by applying said flow control commands before said buffer.
11. The method according to any one of the preceding claims, wherein at least one of said ingress link and egress link is a logical channel within a bus interface or a physical Ethernet interface.
12. The method according to any one of the preceding claims wherein said intermediate link belongs either to a synchronous network or to an MPLS network.
13. A system for flow control of data packets transmitted along a communication line successively from a transmitter "via an ingress link, an intermediate network link and an egress link towards a receiver, the system being operative to regulate payload rate at said ingress link based on: monitoring data packets to be transmitted via the intermediate link, and using preliminary obtained information concerning the egress link, being at least payload rate supported by the egress link, the system thereby enabling transmission of the data packets via the communication line at payload rate not exceeding the payload rate supported by the egress link.
14. The system according to Claim 13, capable of regulating the payload rate at the ingress link to dynamically adapt it to a lower one from two payload rates, one of said two rates being payload rate supported by the intermediate link and the other of said two rates being payload rate supported by the egress link.
15. The system according to Claim 13 or 14, comprising a flow control unit including a monitoring unit and a metering means connected to one another, the monitoring unit being capable of scanning packets intended to be transmitted via the intermediate link and of determining a number of payload bytes in said packets, the metering means being adapted to: obtain information about the number of said payload bytes from said monitoring unit, obtain said preliminary information concerning payload rate at the egress link , process all the obtained information, and in response to results of the processing, issue flow control commands to affect payload rate at the ingress link whenever required.
16. The system according to Claim 15, wherein said flow control commands are selected from the following non-exhaustive list comprising pause commands, pause cancellation commands, pause frames, pause cancellation frames, signals changing clock frequency, buffer status indications.
17. The system according to Claim 15 or 16, wherein the metering means comprises a register having two thresholds, and is adapted to: periodically increase a value of the register by an increment proportional to a difference between the egress link rate (LR) and a constant overhead rate (COHR) at the egress link, decrease the value of the register, for each monitored data packet to be transmitted via the intermediate link, by a decrement proportional to a sum of a number of payload bytes of said monitored packet and a number of overhead bytes per packet required on the egress link (PPOH), compare said value with the low and the high thresholds of the register, and in response to the comparison result, make a decision whether any of said flow control commands is to be issued.
18. The system according to any one of Claims 15 to 17, wherein the metering means is a programmable logic device.
19. The system according to any one of Claims 15 to 18, further comprising a flow control buffer capable of adapting payload rate of the ingress link to payload rate of the intermediate link to control storing of data packets before mapping thereof onto the intermediate link, the system being operative to perform at least one of the following operations:
- controlled output of the packets from said buffer to said intermediate link at a rate not exceeding the payload rate supported by said egress link, with the aid of said metering means, - double control of the payload rate at the ingress link, both by said metering means and by said buffer, thereby regulating input of ttie packets to said buffer.
20. The system according to any one of claims 15 to 19, wherein said control flow commands, whenever applied, are processed by a logic unit .
21. The system according to any one of claims 13 to 20, wherein at least one of said ingress link and egress link is a logical channel within a bus interface or a physical Ethernet interface.
22. The system according to any one of claims 13 to 21, wherein said intermediate link belongs either to a synchronous network or to an MPl^S network.
PCT/IL2005/001063 2004-10-21 2005-10-02 Flow control for transmission of data packets via a combined communication line WO2006043264A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IL164752 2004-10-21
IL16475204A IL164752A0 (en) 2004-10-21 2004-10-21 Flow control for transmission of data packets via a combined communication line

Publications (1)

Publication Number Publication Date
WO2006043264A1 true WO2006043264A1 (en) 2006-04-27

Family

ID=35519756

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2005/001063 WO2006043264A1 (en) 2004-10-21 2005-10-02 Flow control for transmission of data packets via a combined communication line

Country Status (2)

Country Link
IL (1) IL164752A0 (en)
WO (1) WO2006043264A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8410200B2 (en) 2006-04-18 2013-04-02 Plantic Technologies Limited Polymeric films

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701292A (en) * 1995-12-04 1997-12-23 Lucent Technologies Inc. Method and apparatus for controlling data transfer rates of data sources in asynchronous transfer mode-based networks
US20020159480A1 (en) * 2001-04-26 2002-10-31 Osamu Sekihata Method, apparatus, and system for bandwidth control

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701292A (en) * 1995-12-04 1997-12-23 Lucent Technologies Inc. Method and apparatus for controlling data transfer rates of data sources in asynchronous transfer mode-based networks
US20020159480A1 (en) * 2001-04-26 2002-10-31 Osamu Sekihata Method, apparatus, and system for bandwidth control

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HIRZALLA N ET AL: "A congestion control mechanism for interconnected high-speed networks", COMMUNICATIONS, COMPUTERS AND SIGNAL PROCESSING, 1993., IEEE PACIFIC RIM CONFERENCE ON VICTORIA, BC, CANADA 19-21 MAY 1993, NEW YORK, NY, USA,IEEE, vol. 2, 19 May 1993 (1993-05-19), pages 557 - 560, XP010141736, ISBN: 0-7803-0971-5 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8410200B2 (en) 2006-04-18 2013-04-02 Plantic Technologies Limited Polymeric films

Also Published As

Publication number Publication date
IL164752A0 (en) 2005-12-18

Similar Documents

Publication Publication Date Title
US7002911B1 (en) Flow control mechanism
JP3882187B2 (en) Flow control system and method
CA2546624C (en) Apparatus and method for improved fibre channel oversubscription over transport
US20210243668A1 (en) Radio Link Aggregation
US7573821B2 (en) Data packet rate control
US20110194411A1 (en) Applying router quality of service on a cable modem interface on a per-service-flow basis
US8750117B2 (en) Dynamic service-aware flow control in packet networks
JP2011507430A (en) Aggregated client packet transport
US20100061374A1 (en) Credit based flow control in an asymmetric channel environment
US7187693B2 (en) Communication apparatus and method for setting line capacity thereof
US7313144B2 (en) Frame transmission device
JP2008502192A (en) Backpressure method for multiplexed links
JP4652314B2 (en) Ether OAM switch device
US7286469B2 (en) Network synchronization device, system and method
WO2006043264A1 (en) Flow control for transmission of data packets via a combined communication line
EP0994591A2 (en) SDH protection optimized for data networking
US7433303B2 (en) Preemptive network traffic control for regional and wide area networks
US7088738B1 (en) Dynamic fragmentation of information
JPH11154967A (en) Control system for network management traffic transmission band width
JP5666420B2 (en) Packet multiplex transmission apparatus and method
KR101049289B1 (en) Transmission speed control device and method in asynchronous transmission system
JP2001144810A (en) Transmission band width control system for transmission data in network
JP2002118561A (en) Atm connecting adaptor device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

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

AL Designated countries for regional patents

Kind code of ref document: A1

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

DPEN Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 05796805

Country of ref document: EP

Kind code of ref document: A1