TRAFFIC SCHEDULING SYSTEM AND METHOD FOR A SHARED MEDIA NETWORK
FIELD AND BACKGROUND OF THE INVENTION
The present invention relates to a system and method for traffic scheduling for a transmission network, preferably a shared media network, and in particular to resource allocation of shared media among a number of terminals. Further, the invention relates to a traffic scheduler, and to a terminal which can be used in such a system or method.
The shared media can be a radio channel, a point-to- multipoint (PMP) radio system, a mobile ad hoc network (MANET) or a passive optical network, or something else. Preferably, a network entity (called here traffic scheduler) determines the resource allocation between the terminals for a relatively short period, e.g., for 1 millisecond. This period is called here transmission cycle. The length of the cycle can either be constant or variable.
In addition, the traffic preferably consists of packets, in particular IP packets with the possibility to use DiffServ type of marking. However, the invention can be applied with any packet or cell-based system with similar information in the packets.
The task of the traffic scheduler is to divide the total resource of the shared media as efficiently and fairly as possible. Efficiency means that the utilization level of the shared media is kept as high as possible. Fairness basically means two things. First, the resource division between end- users has to be fair (note that there is not necessarily any
one-to-one mapping between end-users and terminals) . The fairness criteria is closely related to the service model of the network operator; equal division between terminals is not necessarily fair, because there can be different end-user categories, and the number of active end-users using one terminal can vary. Second, if the business model of the network operator includes quality differentiation, those differentiation rules have to be appropriately taken into account. The difficulty lies in the diversity of the requirements, which makes it difficult to determine the right allocation without excessive amount of signaling traffic between the terminal and the traffic scheduler. This problem is particularly relevant when the shared media is radio channel with limited capacity.
Various standards and proprietary proposals include primary mechanisms to the technical implementation of a traffic scheduler. They typically define the channel structure of the shared media and some basic functionality for the interaction between the terminal and traffic scheduler, but leave the problem of actual traffic scheduling algorithm for upper layer protocols. Examples of this kind of system are IEEE 802.16 PMP (point to multipoint) radio system, Passive Optical Networks (PONs), and mobile ad hoc networks (MANETs) .
For practical purposes, there may be provided a predefined number of importance levels and urgency classes, say, N and M, respectively. This kind of marking system for IP (or ATM) networks is presented in US 6 047 326.
US 6 081 505 describes the buffering system for a fixed link where the next hop is the same for all packets or cells, and packets or cells can be transmitted individually in the same order they are located in the queues without sacrificing the performance of the transportation media.
US 6 047 326 and US 6 081 505 together form the so-called SIMA system which provides point-to-point traffic scheduling The SIMA concept is also discussed in: K. Kilkki and J. Ruutu, "Simple Integrated Media Access (SIMA) with TCP," in the 4th INFORMS Telecommunications conference Boca Raton, FL, USA, Mar. 1998, and in: K. Kilkki and J. Ruutu, "Simple integrated media access - an internet service based on priorities," in 6th International Conference on Telecommunication Systems, 1998, hereby incorporated by reference.
SUMMARY OF THE INVENTION
According to one aspect, the invention provides a system as defined in the independent system claim.
According to a further aspect, the invention provides a method as defined in the independent method claim.
Further, the invention provides a traffic scheduler as defined in the traffic scheduler claims, and a terminal as defined in the terminal claims, which can be used in such a system or method.
The invention provides a solution for the problem of resource allocation of shared media among a number of terminals.
The invention solves the problem of efficiently and fairly dividing a shared media resource, like that of radio channel or passive optical network. The solution is based e.g. on the SIMA concept. The original SIMA system was planned for fixed point to point links. This invention extends the basic SIMA principles to point to multipoint environment. The invention
takes into account both the importance of IP packets and the delay requirement of IP packets (QoS) . The invention provides methods for downlink and/or uplink traffic scheduling.
In accordance with one aspect of the invention, there is provided a system and/or method for scheduling traffic in a communication system wherein traffic can be transmitted, in the form of packets, to and from a plurality of terminals via a transmission medium such as shared media, comprising a traffic scheduling function or scheduler for scheduling traffic to and/or from one or more terminals. A means or function for centrally determining a required importance level (Ireq) and communicating this required importance level to the terminals or a transmitter entity is provided. The required importance level (Ireq) will be used to decide on accepting or dropping of packets.
When a packet is to be transmitted from a terminal, the terminal preferably compares an importance level included in the packet and the required importance level, and accepts the packet for transmitting if the importance level is greater than the required importance level, whereas, when the importance level of the packet is smaller than the required importance level, the packet is dropped.
A queue may be formed for each delay class in the terminal, and each accepted packet can be put in a queue according to delay class information or urgency information included in the packet.
Downlink sceduling preferably is a two-stage process where packets are grouped first according to their delay class, selected to the second stage according to delay priority order and grouped into second stage queues according to the destination. The packets in the first stage are preferably
"served" or selected in the order of delay classes so that whenever there are packets in the higher delay classes they are served while packets in lower delay classes wait until all packets with higher delay priority are served.
The two stage buffer may be provided in a traffic scheduler or in a transmission entity.
Uplink packets are preferably arranged into queues by delay class in each terminal (slave). An e.g. central traffic sceduler or scheduling function is informed about the size of different queues on each terminal. Resource is allocated to each terminal preferably based on total amount of traffic in each class.
The invention can be implemented in, or using, shared media networks, and is applicable to both wireless and wireline networks. The invention can advatageously be implemented e.g. in PON (passive optical networks), e.g. IEEE 802.16 PMP (point-to-multipoint) , wireless routers and ad hoc mobile networks. Good results are achieved regarding e.g. low packet-loss ratio, delay and bandwidth allocation.
According to an aspect of the invention, there is provided a concept of centrally determining a required importance level (Ireq level) and communicating this parameter to the terminals together with strict delay priority scheduling in the basestation.
Further, downlink scheduling and the idea of lumping the total capacity together for a single terminal are provided.
The invention provides, in accordance with one of the aspects thereof, a dynamic method for resource allocation when the traffic consists of IP packets with DiffServ -type (DiffServ
stands for Differentiated Services) of marking. One of the advantages of the invention is that it creates a systematic link between the marking of the IP packets and the resource allocation between end terminals.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 shows an embodiment of the present invention illustrating traffic scheduling for uplink and downlink using shared transmission media,
Fig. 2 illustrates an embodiment of the invention and in particular an implementation of a traffic scheduling system for downlink direction, and
Fig. 3 illustrates an embodiment of the present invention and in particular an implementation of the traffic scheduling at the uplink direction.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS OF THE
INVENTION
There are two directions to be handled by a traffic scheduler: downlink and uplink as illustrated in Fig. 1. At both directions the task of the traffic scheduler is in principle the same, that is, to divide each transmission cycle among the end terminals.
The embodiment shown in Fig. 1 includes a network node or entity 1 which may be implemented as a base station, base station controller, or transceiving node of a network. The node or entity 1 includes a traffic scheduler (or traffic scheduling function) 2, which cooperates and communicates
with an entity 3. The entity 3 is illustrated in Fig. 2 in more detail. Although Fig. 1 shows the entities 2, 3 to be part of the same entity 1, it is also possible to implement the entities 2, 3 in different devices. For example, the traffic scheduler can be implemented in a base station (or Node B) controller, and entity 3 can be implemented in the base station (or Node B) .
Packets for downlink transmission output from entity 3 are transmitted via a transmission network 4, e.g. a radio transmission network, to terminals 5. The transmission network 4 is preferably implemented as shared media.
The terminals 5 provide, if necessary, a proper conversion of received packets intended for the respective terminal e.g. into acoustic or optic form for output to respective end users 6.
The traffic coming to entity 3 in Fig 1 consists of packets, preferably IP packets, with certain type of traffic marking. Particularly, two types of information are preferably available in each packet:
1) Importance information indicating the importance of the packet, e.g. from the viewpoint of the network operator's general objective;
2) Urgency or delay information indicating the urgency of the packet. This information is related to the delay requirement of the application. The urgency of the packet defines the delay class of the packet.
The main use of the importance information contained in a packet is to ensure that if there are not enough resources (in this case through the shared media 4), the most important
packets will be transmitted and the least important packets will be discarded.
The main use of the urgency information is to ensure that urgent packets are transmitted with as short delay as possible when packets waiting for transportation have different urgency requirements.
Importance and urgency are- two essentially orthogonal- dimensions and should not be mixed with each other. Urgent packets are not necessarily important, and important packets are not necessarily urgent.
For practical purposes of implementing embodiments of the invention, there are provided a predefined number of importance levels and urgency classes, say, N and M, respectively. This kind of marking system for IP (or ATM) networks can be realized e.g. as taught in US 6 047 326. In addition, part of this invention may be implemented using the teaching of US 6 081 505. US 6 047 326 and US 6 081 505 together form the so-called SIMA system as mentioned above.
The present invention basically offers a solution preferably for a case when (1) either the sources or destinations of packets are different (as illustrated in Fig.l), and/or when (2) the use of the shared resource is more efficient when the packets or cells with the same source or destination are sent consecutively. Thus, this invention describes properties e.g. related to shared media.
The downlink-direction is easier for the traffic scheduler 2 because the relevant information is available for the traffic scheduler 2 at the same side of shared media 4. Downlink system and traffic scheduling method are described with reference to Fig 2, in particular regarding determination of
required importance level, Ireq.
Fig. 2 shows a traffic scheduling system and method for downlink direction. The embodiment shown in Fig. 2 illustrates the structure and functioning of entity 3 of Fig. 1. The entity 3 includes a comparator 21 for comparing an importance level of an input packet to be transmitted to a terminating entity, e.g. terminal 5, and a required importance level Ireq- Further, the entity 3 comprises a buffer means which here is implemented as a two-stage buffer means 23, 25 which are connected via a line or element 24.
The steps of scheduling process are as follows (numbering is the same as in Fig. 2) :
Step 1) : The first task is to decide whether or not an incoming packet e.g. input from a packet generator of a sending equipment is accepted to the system. The decision is based on the required importance level of the system (Ireq) and the importance level of the incoming packet (Ii) .
Comparator 21 effects this comparison. Comparator 21 receives the incoming packet via a line represented by an arrow at the left side of comparator 21, and checks a parameter or data "importance level Ii" indicated in the packet e.g. in the form of a bit or byte section of the packet reserved for importance indication. Further, the comparator 21 receives data defining or indicating the parameter or value "required importance level (Ireq) " as another input indicated in Fig. 2 by a dashed line. The packet is accepted if Ii is equal or greater than Ireq (Ii ≥ Ireq) • When I should be smaller than Ireq (Ii < Ireq) the packet is dropped as shown at 22 "Dropping decision".
Step 2) : Accepted packets are transmitted from comparator 21 to the buffer stage 23, and are grouped according to their
delay class (in the first buffer stage 23) . The delay class is indicated in each packet and is checked in entity 3 at or before the input of the first buffer stage 23. Each delay class has its own buffer or queue 23χ to 233 which together represent the buffer stage 23. Fig. 2 shows a system with three classes or queues 23ι to 233, but the number of classes can in principle be any positive integer number (including 1). Most reasonable choices are two or three classes.
Step 3): The system, e.g. traffic scheduler 2 shown in Fig. 1, defines the required importance level Ireq for a next incoming packet based on the utilization level of all buffers 23χ to 233 at the first buffering stage 23. The function for defining Ireq can e.g. be of the following form: Ireq = a + b*max(Rι, R2, ... RN) , where a and b are constants and Rj is the utilization level of queue j on the scale from 0 to 1. max ( ) means that the largest value of the arguments is selected.
Step 4) : The packets in the first stage queues are transmitted to second stage queues 25ι to 25 of the second buffer stage 25 preferably in a way that just before the start of the each transmission cycle exactly (or essentially) the amount of packets that can served during this cycle is transferred from the first to the second buffer stages 23, 25. The packets are selected for transferral based on priority order of queues 23x to 233: the queue with the highest (delay) priority is served whenever there are any packets, then the next one and so on. The queue with the lowest delay priority is served only if there are not enough packets in the higher priority queues to fill the cycle.
Step 5) : The packets are grouped into second stage queues 25ι to 25 according to their destinations. In the optimum case the amount of data in the second stage queues 25ι to 254 is
exactly the amount of data that can be transmitted during a transmission cycle. However, because of imperfection of real systems (e.g. finite size packets, and variable capacity over radio channels) , it might sometimes be necessary to keep data in the second stage buffer 25 until next cycle. In addition, if there is not enough data to fill the cycle, part of the cycle can be left empty (or filled by insignificant data depending on the system characteristics) .
Step 6) : Finally, the cycle is filled with the content in the second stage queues, and the data is transmitted to the terminals 5 via the shared media 4.
Step 7) : In addition it is possible that the exact amount of data that can be transmitted during a cycle is not exactly known beforehand, for instance, because of variable conditions on a radio channel. In this case some packets may have to be retransmitted during the next cycle. This results in a situation in which the capacity of the next cycle shall be decreased.
An embodiment of a function, system and method of the uplink traffic scheduling is shown in Fig. 3. The scheduling for the uplink direction is somewhat more complex because information has to be transferred over the shared media 4.
Fig. 3 illustrates the traffic scheduling at the uplink direction. The embodiment of Fig. 3 can be combined with the implementation of Fig. 2 to form an overall system, or can represent an embodiment of the invention, implemented independent of the embodiment of Fig. 2.
Each or at least some of the terminals 5 include a comparator 31 and a buffer stage 32 as well as a transmission output 33.
The following steps are executed according to the embodiment of Fig. 3.
Step 1) : When a packet arrives at, or is generated in a terminal 5 (j in Fig. 3) e.g. after conversion of user data such as voice or optical information into packetized traffic, the terminal (comparator 31) checks first whether or not the importance of the packet (Ii) is high enough. Similar to comparator 21 of Fig. 2, comparator 31 receives the incoming packet via a line represented by an arrow at the left side of comparator 31, and checks a parameter or data "importance level Ii" indicated in the packet e.g. in the form of a bit or byte section of the packet reserved for importance indication. Further, the comparator 31 receives data defining or indicating the parameter or value "required importance level (Ireq)" as another input indicated in Fig. 3 by a dashed line. A packet is accepted if Ii is equal or greater than Ireq (Ii > Ireq) i otherwise it is dropped.
Step 2) : There is one queue for each delay class in the buffer stage 32 of each terminal. Each accepted packet is put in a queue according to the delay class (or urgency) information inside the packet.
Step 3) : Each terminal 5 informs a (centralized) traffic scheduler 34 via the (e.g. radio) transmission network, e.g. the shared media 4, about the sizes Bji, Bj2ι. ••• of each queue in the terminal 5, that is, the total amount bytes of the packets in each queue of the terminal 5. If there is not any data in any queue, it is not necessary to send any information to the traffic scheduler 34.
The traffic scheduler 34 may be implemented as an own traffic scheduler, or may be identical with, and thus implemented in and by the traffic scheduler 2 of Fig. 1.
Step 4) : The t affic scheduler 34 keeps track of the amount of data in every queue in every terminal based on the information sent by the terminals 5 in step 3) .
Step 5): The scheduler counts the total load Bi, B2, ... of each delay class by adding up the data in corresponding queues Bi to BM in all terminals (Bi = ∑Bji, Bkι, Bn, .. ; B2 = ∑Bj2, Bk2, Bi2, ..;..., with j, k, 1, representing the different terminals 5 for which scheduler 34 schedules the traffic) . The required importance level (Ireq) is determined based on these total load figures Bi, B2, B3, Bn, .. ; in every class (Ireq = f(Bι , B2, BM) , preferably in the same manner as in the case of downlink direction (see step 3) in downlink case of Fig. 2). The result (Ireq) is sent to every terminal 5. Ireq is the same for every terminal independent of the load situation of individual terminals. It is possible that only the changes of Ireq are sent to the terminals in order to save the resources of link capacity (though usually Ireq can be coded by only a small number of bits, e.g. 3 bits).
Step 6) : The resources given for each terminal (Cj) during each cycle is determined in the order of delay classes, the highest one first, the lowest one last. The algorithm could be as follows: the resource given for delay class k in terminal z is
where Ck * is the capacity left by the higher delay classes, CM * = C , and Ck * = Ck * -^ Cjk . CM * = C means that the capacity C*M
available for the highest delay class is the total capacity C. M is the number of delay classes. In practice the algorithm means that the available capacity for each delay class is calculated recursively starting from the highest class (M) and ending to the lowest class (1) .
This algorithm approximately evens out the momentary delay of each class between terminals, because the serving rate is proportional to the size of the queue in the terminal . • For practical purposes it might be necessary to modify this division of resources to fit the size of actual packets. Basically, this is a rounding process.
It may also be enough to inform the terminals only about the total resource given for the terminal concerning all delay classes ( C; =^ Cjk ) , because the scheduling between classes k can be left for the terminal. This is a useful approach also because new packets can arrive while the traffic scheduler 34 is allocating the resources and sending the information to terminals 5.
Step 7) : Finally the terminal 5 sends packets according to information given by the traffic scheduler 34 in uplink direction e.g. to a base station or node 35.
Considering a case with limited granularity of packets, particularly if some packets are relatively large compared to the amount of data that can be transmitted during a cycle, the algorithm may be modified appropriately.
The exact implementation in different types of networks (e.g. radio channel, or PON) may be somewhat differing. The objective of this invention is to provide an overall model for traffic scheduling in all kind of shared media networks.
Generally, in an implementation of an embodiment of the invention, particularly in the case of uplink direction, relevant information is transported between the traffic scheduler 34 and terminals 5 (Ireq, Cj from scheduler 34 to terminals 5 and B-j* from terminals 5 to scheduler 34) . Note that Ireq is a specific parameter.
The invention can e.g. be used in case of PON, of IEEE 802.16 PMP, of wireless routers and in ad hoc mobile networks.
The invention is applicable in various access networks, both in radio and fixed networks. Particularly the principle of the traffic scheduler 34 at the uplink direction is very helpful, e.g. in case the traffic consists of IP packets and the IP packets contain reliable information about their importance and urgency.
Although preferred embodiments have been described above, the invention is not limited thereto and may also be implemented in other ways, e.g. by combining, in any arbitrary fashion, one or more features of one or more embodiments with one or more features of other embodiments.