System and method for controlling the access rates of packet switching network stations

Abstract: The invention relates to a system and method for controlling the access rate of stations in a data packet switching network comprising a number of transmitting/receiving stations interconnected by radio communication channels through which data packets can be transferred from one station to another according to a routing scheme, each station comprising: - means to receive and transmit data packets; - first calculating means for calculating a first parameter which is indicative for its output flow being the number of packets successfully transmitted per time unit; - second calculating means for calculating a second parameter which is indicative for its input flow increase tendency, being a measure based on the output flows of the neighbouring stations the set station can relay which second parameter increases when these output flows decrease; - third calculating means for calculating a third parameter which is indicative for its load; - transmmtting means for transmitting said first, second and third parameters to all neighbouring stations in reach of said station; - access rate altering means to alter its access rate; - comparison means; said system functioning during operation of the network in such a manner that in each station said first parameter is calculated by said first calculating means and is transmitted by said transmitting means at regular time intervals to all neighbouring stations in reach of the respective station, in each station thereafter said second and third parameters are calculated by said second and third calculating means respectively, whereafter the transmitting means in each station transmit said second and third parameters to its neighbouring stations in which said comparison means after reception of said second and third parameters determine which station in their neighbourhood has the largest input flow increas tendency and enable said altering means to update on the basis of the third parameter their access rate to bring the load of the station with largest input flow increase tendency closer to the nominal channel load.

Description: The invention relates to a method for controlling the access rate of stations in a data packet switching network, comprising a number of transmitting/receiving stations interconnected by radio communication channels through which data packets can be transferred from one station to another according to a routing scheme, each station comprising a number of transmitting/receiving stations interconnected by radio communication channels through which data packets can be transferred from one station to another according to a routing scheme, whereby during operation of the network station calculates a first parameter which is indicative of it output flow being the number of packets successfully transmitted per time unit. Such a method is disclosed in IBM Technical Disclosure Bulletin, Vol. 24, No. 4, Sept. 1981, pp. 2044-45. This article describes a flow control method in packet-switched computer networks using a particular flow control algorithm based, inter alia, on the input flow measured at each node. Channel access control protocols aim a maximizing the throughput of the radio channel by optimally tuning some control variables. In pure and slotted ALOHA networks, the control variables determine the rate at which each station transmits, while in CSMA networks, they determine the rate at which each station senses the channel. In the remainder of this application, the access rate of a station sill indistinctly refer to the rate at which a station transmits (in an ALOHA network) or senses the channel (in a CSMA network). In a single hop topology, there is conceptually one single channel and relatively well understood relations exist between the throughput of the channel and the control variables. These relations provide clear objectives to tune the control variables. In multihop topologies, there may be conceptually as many independent channels as there are stations, and no accurate relation exists for the global throughput. The object of the invention is now to provide a method for controlling the access rate of the stations in a packet switching network such that the output ratio of the station with minimum output ratio is increased by optimally tuning the load of the stations which are in direct reach of said station with minimum output ratio, and by optimally sharing the load of said station among the stations contributing to said load. In agreement with this object the invention provides a method of the above mentioned type characterized in that each station transmits the first parameter at predetermined time intervals to all neighbouring stations in reach of said station, that each station thereafter calculates a second parameter which is indicative of its input flow increase tendency, being a measure based on the output flows of the neighbouring stations the said station can relay which increases when these output flows decrease and a third parameter which is indicative of its load whereafter each station transmits said second and third parameters to its neighbouring stations which after reception of said second and third parameter determine which station in their neighbourhood has the largest input flow increase tendency update on the basis of the third parameter their access rate to bring the load of the station of the third parameter their access rate to bring the load of the station with largest input flow increase tendency closer to the nominal channel load. In a preferred method according to the invention the first parameter is the output ratio, being the ratio between the flow of packets correctly sent and acknowledged and the flow which has to be sent. The output ratio is preferably calculated by said first calculation means as the ratio between the number of packets successfully sent and acknowledged during a predetermine time period and the sum of said number and the number of packets which are still in the queue at the end of said period. Preferably the second parameter is the input flow increase tendency, a definition of which will be given in the figure description. The invention also relates to a system for carrying out the method according the invention described in claim 6. The invention will now be explained in more detail with reference to the accompanying drawings. Figure 1 illustrates a rather simple multiple hop packet radio network. Figure 2 illustrates very schematically a multihop radio network. Figure 3A provides an overview of the general access rate update rules used in the method according to the invention. Figure 3B provides a possible set of values for the protocol parameters. Figure 4 illustrates a blockdiagram of a hardware implementation of one of the network stations. Before dealing with channel access control protocols for multihop networks, first the function of such protocols in single hop networks will be recalled. In single hop networks, the channel load G is determined by the sum of the access rates g(K) of the various stations. G need to be controlled in order to maximize the throughput of the channel. A too large channel load leads to too many collisions while a channel load which is too small leads to too long idle periods. Thus, an optimal channel load G nom exists. This optimal channel load must be maintained by tuning the access rates g(K) of the stations or by tuning some variables which directly control these access rates g(K). This is the objective of the access control protocol. A first category of such protocol could work as follows. Each station K collects information on the status of the channel by listening to it, and tunes its own access rate g(K) accordingly. For example, to the optimal channel load corresponds an optimal percentage of collided packets. By measuring the current percentage of collided packets and by comparing it to the optimal percentage, each station can modify its own access rate in order to adjust it to the optimal value. In CSMA networks, the same strategy can operate on the basis of an optimal average length for the idle periods. This type of strategy merely implies that each station listen to the channel. Another category of protocols is based on exchanges of information between stations (thus, such protocols need reserved channel capacity for these exchanges). For example, each station could transmit its status (inactive or waiting to transmit) so that the number m of stations with packets to transmit would be known. In this case, each station could tune its individual access rate to G nom /m. The stations could also inform how much they are in need to transmit (by making a bid); the total channel capacity could then be shared according to these needs. Compared to the first category, such exchanges of information not only improve the tuning of the channel load, but also allow the channel capacity to be shared on demand. This advantage may, however, be rather meager and not justify the channel capacity used for its implementation. Nevertheless, there are situations (multiple hop topologies) where such information exchanges can be extremely useful. In multihop topologies not all the stations are in receiving range of each other, the situation is as if there were several different channels. Consider the situation of Figure 1 illustrating a number of stations I, J, K and L. In this figure two stations which are graphically connected are in receiving range of each other. In this situation, the stations I and L can simultaneously transmit a packet. These two packets will be correctly received by stations J and K respectively, provided that these stations remained silent during the transmission. This enlights the existence of several channels. The objective of the channel access control in a single hop topology was the maximization of the throughput. In a multiple hop topology, the objective is much less obvious. For example, when station J transmits a packet, it can be correctly received by station I and it can produce a collision in station K (with a packet sent by station L). "Must this transmission be considered as being harmful or not?" is the kind of questions that has to be answered. Below various objective functions that provide criteria to control the access rates will be discussed. If it is assumed that a source-destination traffic matrix M were given, one could try to assign the individual access rates in order to minimize the time necessary to route this whole traffic matrix or, equivalently, in order to maximize the percentage, say a%, of the traffic matrix that can be routed per time unit. The objective would thus be to maximize the amount of traffic a x M that can be correctly transmitted per time unit. This maximization requires a global optimization of all the access rates. As described in "A distributed Controller for a Non-Persistent CSMA Channel", by P.J. Courtois, G. Scheys and P. Semal, Philips Research Laboratory, Bruxelles, Report R514, 1987, this optimization is computationally very cumbersome and most often unfeasible in practice. Furthermore, in distributed systems, only local optimizations of the access rates are allowed. Suboptimal objectives have therefore to be defined. It is remarked that two kinds of throughput must be distinguished: the number of packets a station K correctly receives per time unit F(->K), called here below the input flow of station K, and the mumber of packets a station successfully transmits per time unit F(K->), called here below the output flow of station K. It is assumed that the station K will sooner or later receive an acknowledgement for this flow. A first objective function could be the maximization of the smallest input flow: To fulfill this objective, each station must determine which station (among its neighbours and itself) presents the smallest input flow and must update its own access rate in order to increase the input flow of that station. To implement this objective each station must communicate to others its current input flow F(->K) in order to allow the minimum in (1) to be computed. Once the minimum has been located, say in station I, the neighbours of I should modify their access rate in order to increase the input flow of station I. A station must therefore also be able to inform it neighbours of the way its input flow can be increased. Typically, each station K must be able to measure a current channel load G cur (K) as seen by itself and to determine the channel load G nom (K) which achieves its maximum input flow F(->K). If these two values are broadcast, the neighbours of station I can update their access rate in order to increase F(->I). The information to be broadcast by each station consists thus in triple [F(->K), G nom (K), G cur (K)], or in a more condensed form in [F(->(K), G r (K) = G cur (K)/G nom (K)] It is remarked that this procedure only aims at increasing the number of packets correctly received by station K. Nothing guarantees that these packets are destined to station K or have to be relayed by station K. The main criticism concerning the objective 1 is in fact that the station with the smallest input flow is not necessarily in need of an increase of its input flow; the input flow of this station, although small, could be sufficient. Conversely, the station with the largest input flow could still need some input flow increase. In order to meet this criticism, the individual needs should be taken into account. If T(->K) denotes the number of packets (per time unit) that have to be received by station K, the following objective function can be defined: With such an objective, a station would update its individual access rate g(K) in order to increase the input flow of the neighbouring station which presents the smallest ratio between what it receives and what it should receive. Unfortunately, the flow T(->K) that has to be received, is distributed among the neighbours of station K and is thus not available to any of them. Furthermore, in most cases the routing does not uniquely define by which station a packet has to be relayed. The following objective function tries to overcome this problem. Instead of considering the ratio between the flow that is correctly received and the flow that has to be received, one considers the ratio between the flow correctly sent and acknowledged, the output flow F(K->), and the flow which has to be sent T(K->). This ratio can be determined by measuring the output queue length of station K. If during a time period, the station K has successfully sent n(K) packets (they have been acknowledged) and if q(K) packets are still in queue at the end of that period, one has the following equality for that time period F(K->) T(K->) = n(K) n(K)+q(K) = O(K) The quality O(K), called the output ratio, can be determined by any station and broadcast to its neighbours, so that a local minimum, reach by say station I, can be easily computed by each station separately. The objective now aims at increasing the minimum output ratio. Expression (5) shows that the only way to increase an output ratio O(I) consists in the increase of the output flow F(I->) since the routing is not considered as an optimization variable. However, an increase of the output flow F(I->) of a station is difficult to obtain since the station(s) which can relay the packets queued in I is (are) not known, a priori. A rough approach would consist in reducing the access rate of the neighbours of I in order to allocate the station I an increase access rate g(I). This simple approach will prove efficient in very precise cases only and extremely harmful if it is applied without restrictions. This clearly enlights the dual character of the problems an access control must cope with in multiple hop topologies. On the one hand, a station, say K can inform its neighbours on how to increase its input flow F(->K), but K is not able to judge whether this increase is necessary (T(->K) is not known). On the other hand, a station I can try to inform its neighbours that it cannot transmit enough (its output ratio is too small), but, if it succeeds, its neighbours do not know how to react to increase the succeeds, its neighbours do not know how to react to increase the output flow of station I. The example of Figure 2 illustrates this situation. It also shows that the rough approach which consists in increasing the access rate of the station I which presents a locally minimum output ration O(I) could worsen the performance in other parts of the network. Assume that the station T is overloaded by traffic coming mainly from the set M. As a result, I has a small output ratio, much smaller than that of its only neighbours A and especially E and F which transmit easily though the set L. An attempt at increasing the output flow of I by increasing its access rate g(I) would only worsen the situation for the set M which could contain the station (S) with minimum output ratio. This shows that access rates can only be increased with extreme care. This example clearly enlights the dual type of problems the access control has to face. On the one hand, the station I and possibly some stations in M know that their output flows are too small but do not know how to improve them and, on the other hand, that station T knows that its input flow could be larger, but does not know if an increase is necessary. This situation can only be resolved by allowing information exchange. Below a distributed protocol according to the invention will be described which aims at maximizing the smallest outputs ratio and which requires two consecutive information exchanges. Referring again to the example illustrated in figure 2 this protocol according to the invention could comprise the following steps: 1. The station I broadcasts its output ratio; 2. (a) The station T realises, by comparison, that the output ratio of station I is the smallest and that it is a potential receiver of station I's packets (i.e. by a check in its routing table); (b) The station T then informs its neighbours that its input flow must be increased and tell them how it can be done (i.e. by broadcasting G cur (T) and G nom (T); 3. The neighbours of T them modify their access rate in order to bring G cur (T) closer to G nom (T). The protocol requires two consecutive information exchanges. First, the output ratios are exchanged. This allows each station K to compute its input flow increase tendency (IFIT): where R(L) denotes the set of stations which can relay the packets emitted by station L. The minimum is thus taken over the stations L which are neighbours (in hearing distance) of K and which can be relayed by K. This variable IFIT(K) measures how much the input flow F(->K) of station K should be improved (other measures of the input flow increase tendency will be discussed later). In the network as a whole, IFIT(K) reaches a maximum for the station(s) K which are relays of the station with the global minimum output ratio. The determination of the IFIT's corresponds to the step (2a) in the protocol above. The second information exchange concerns the IFIT's. This exchange allows each station K to determine the station in its neighbourhood N(K) which presents the maximum IFIT: and let T K denote this station. In N(K), T K is the station which should have its input flow increased. The station K must then modify its access rate accordingly. Thus, this protocol aims at increasing a smallest output ratio O(I) by increasing the input flow of a station T K which can relay I. The access rate g(K) is thus updated according to the following rules which are indicated in figure 3A. In this figure 3A g min and g max respectively denote the minimum and maximum access rates that are allowed and ε, δ1, δ2, δ3 and δ4 are protocol parameters. Reasonable figures for these protocol parameters are given in figure 3B. When load of the station T K is too high, all its neighbours reduce their access rate. If the load of T K is too light, then the station K is allowed to increase its access rate only if it has the minimum output ratio and if the station T K can relay K. When the traffic load T K is already optimally tuned, then the only useful update consists in giving a small increase of access rate to the station with the smallest output ratio and in reducing slightly the access rates of the other stations. The update of the access rates becomes more complicated when the station T K is not unique. In this case, the access rates must be updated in order to globally increase the input flow of the stations T K . Some preference can be given to the stations T K which are the closest to the destination in order to give a higher priority to the traffic which has to leave the network. The following more general definition of the output ratio takes limiting conditions into account: The output ratio of a station which had and has nothing to transmit (n(K) = O = q(K) is thus maximum. Furthermore the input flow increase tendency IFIT has been defined above as the inverse of a smallest output ratio. Practically, this guarantees "every" station which needs to transmit a minimum output flow. It can be seen as a fairness property of the protocol. Other measures of the IFIT could be the inverse of the average output ratio. or the inverse of a globalized output ratio With these measures, the performances of each station are mixed with those of its neighbours. The result may be a loss of fairness a situation where a station has only a few packets to transmit but has a null output flow. The access rate g(K) should be updated in a specific way when the station with maximum IFIT is the station K itself. This update must then take into account the way the own access rate g(K) of station K interferes with the number of packets correctly received by station K. For example, if the station is unable to receive when it is transmitting, the access rate g(K) must be reduced in order to increase the input flow of K. All the protocols described here require information exchanges. One should therefore guarantee minimum output and input flows in each station in order to allow the protocol to work. A consequence of this requirement is that the fairness property of the protocol seems vital. A hardware configuration of the various circuits in a sattion, designed to function in a network in which the above described method is implemented, schematically illustrated in figure 4. Figure 4 shows under the form of a blockdiagram a station 10 comprising a receiver section 11, a transmitter section 12, a traffic controller 13 and an additional controller 14. During operation the receiving section 11 functions to receive data packets from various channels, which data packets are transferred to the traffic controller 13. The traffic controller 13 monitors the destination of each received data packet and either a transfers a received data packet to the transmitter section in case the station 10 has to relay the received data packet or transfers the received data packets to the output 15 in case the station 10 was the destination of the received data packet or discards the received data packet otherwise. The functioning of the receiving section 11, the transmitting section 12 and the traffic controller 13 is considered as known to the expert in this field and therefore a detailed description of the function of these circuits is considered superfluous. As indicated above the station 10 is equipped with an additional controller 14, comprising a number of subcircuits, such as a first calculator 16, a second calculator 17, and third calculator 18, a comparison section 19 and access rate alterning means 20. During operation the first calculator 16 receives information from the traffic controller 13 each time a data packet is successfully transmitted by the transmitting section 12. The calculator 16 calculates on the basis of the information received from the traffic controller 13 the above mentioned first parameter, which is indicative of the number of packets successfully transmitted per time unit by the transmitting section 12, or in other words the first parameter which is indicative of the output flow of the station 10. The calculated first parameter is supplied by the calculator 16 to the transmitter section 12 and transmitted to the neighbouring stations. In station 10 the receiving section 11 also receives first parameters from neighbouring stations and these parameters are transferred from the receiving section 11 to a second calculator 17 in which they are used to calculate the aforementioned second parameter which is indicative of the input flow increase tendency of the station 10. The third calculating means 18 receives information from the traffic controller 13 and calculates on the basis thereof a third parameter which is indicative of the load of the station 10. Both the second parameter calulated by the second calculator 17 and the third parameter calculated by the third calculator 18 are transferred to the transmitting section 12 and transmitted to all neighbouring station in reach of station 10. Second and third parameters from neighbouring stations received in the receiving section 11 are transferred to a comparison section 19 in which the received parameters from all neighbouring stations are compared with each other and in which it is decided which station in the direct neighbourhood of station 10 has the largest input flow increase tendency. A signal reflecting this decision is transferred from the comparison section 19 to the access rate altering means 20 which responds to the reception of such a signal by providing suitable control signals to the traffic controller 13 updated the access rate of the station 10 in the manner as described above. Although in figure 4 the additional controller 14 comprises a number of separate subcircuits 16, 17, 18, 19 and 20 it will be clear that in a more sophisticated embodiment the additional controller 14 may comprise a suitably programmed processor or computer in which the various calculations and comparison operations are carried out and which provides on the one hand suitable signals to the transmitting section 12 and on the other hand control signals to the traffic controller 13.

Claims: Method for controlling the access rate of stations in a data packet switching network, comprising a number of transmitting/receiving stations (10) interconnected by radio communication channels through which data packets can be transferred from one station to another according to a routing scheme, whereby during operation of the network each station (10) calculates a first parameter which is indicative of its output flow being the number of packets successfully transmitted per time unit characterized in that each station transmits the first parameter at predetermined time intervals to all neighbouring stations in reach of said station, each station thereafter calculates a second parameter which is indicative of its input flow increase tendency, being a measure based on the output flows of the neighbouring stations the said station can relay which increases when these output flows decrease and a third parameter which is indicative of its load whereafter each station transmits said second and third parameters to its neighbouring stations which after reception of said second and third parameters determine which station in their neighbourhood has the largest input flow increase tendency and update on the basis of the third parameter their access rate to bring the load of the station of the third parameter their access rate to bring the load of the station with largest input flow increase tendency closer to the nominal channel load. Method according to claim 1, characterized in that the first parameter is the output ratio, being the ratio between the flow of packets correctly send acknowledged and the flow which has to be sent. Method according to claim 2, characterized in that the output ratio is calculated as the ratio between the number of packets successfully sent and acknowledged during a predetermined time period and the sum of said number and the number of packets which are still in the queue at the end of said period. Method according to one of the claims 1-3, characterized in that the input flow increase tendency is defined as: wherein IFIT(K) = input flow increase tendency of station K, R(L) = the set of stations which can relay the packets emitted by station L, O(L) = output ratio of station L. Method according to one of the claims 1-4, characterized in that the access rate g(K) of each station is updated according to the following rules: wherein G min and G max respectively denotes the minimum and maximum access rates that are allowed and where ε, δ1, δ2, δ3 and δ4 are protocol parameters. System for controlling the access rate of station (5) in a data packet switching network, comprising a number of transmitting/receiving stations (10) interconnected by radio communication channels through which data packets can be transferred from one station to another according to a routing scheme, each station comprising: means (11) to receive and means (12) to transmit data packets; first calculating means (16) for calculating a first parameter which is indicative of its output flow being the number of packets successfully transmitted per time unit; characterized in that each station further comprises second calculating means for calculating a second parameter which is indicative of its input flow increase tendency, being a measure based on the output flows of the neighbouring stations the said station can relay which second parameter increases when these output flows decrease; third calculating means (18) for calculating a third parameter which is indicative of its load; transmitting means (12) for transmitting said first, second and third parameters to all neighbouring stations in reach of said station; access rate altering means (20) to alter its access rate; comparison means (19); said system functioning during operation of the network in such a manner that in each station said first parameter is calculated by said first calculating means (16) and is transmitted by said transmitting means at regular time intervals to all neighbouring stations in reach of the respective station, in each station thereafter said second and third parameters are calculated by said second (17) and third (18) calculating means respectively, whereafter the transmitting means (12) in each station transmit said second and third parameters to its neighbouring stations in which said comparison means (19) after reception of said second and third parameters determine which station in their neighbourhood has the largest input flow increase tendency and enable said altering means (20) to update on the basis of the third parameter their access rate to bring the load of the station with largest input flow increase tendency closer to the nominal channel load. System according to claim 6, characterized in that the first parameter is the output ratio, being the ratio between the flow of packets correctly send and acknowledged and the flow which has to be sent. System according to claim 7, characterized in that during operation said first calculating means (16) calculate the output ratio as the ratio between the number of packets successfully sent by the data packet transmitting means (12) and acknowledged during a predetermined time period and the sum between said number and the number of packets which are still in the queue in the data packet transmitting means at the end of said period. System according to one of the claims 6-8, characterized in that during operation said second calculating means calculate the input flow increase tendency according tot he following algorithm: wherein IFIT(K) = input flow increase tendency of station K, R(L) = the set of stations which can relay the packets emitted by station L, O(L) = output ratio of station L. System according to one of the claims 6-9, characterized in that the access rate g(K) of each station is updated by said altering means (20) according to the following rules: wherein G min and G max respectively denotes the minimum and maximum access rates that are allowed and where ε, δ1, δ2, δ3 and δ4 are protocol parameters. System according to one of the claims 6-10 characterized in that said first (16), second (17) and third (18) calculating means are combined in one suitably programmed computer.

Inventors: COURTOIS PIERRE-JACQUES FRANCO, SCHEYS GUY FRANCOIS JULES, SEMAL PIERRE NICOLAS WILLY, COURTOIS, PIERRE-JACQUES FRANCOIS CHARLES, SCHEYS, GUY FRANCOIS JULES, SEMAL, PIERRE NICOLAS WILLY, Courtois, Pierre-Jacques François Charles, Scheys, Guy François Jules
Applicants: PHILIPS ELECTRONICS NV, PHILIPS ELECTRONICS N.V.
Application year: 1989
Main classification: H04L12
IPC codes: H04L12, H04Q11