METHOD AND ROUTER IN A PACKET NETWORK WITH PRIORITY CLASSES

Abstract: A method and an equipment for packet prioritization when routing data packets. Several priority classes are defined for the packets (F), and a first threshold value (T1) and a second, higher, threshold value (T2) is defined for each priority class. In association with each packet, the oldest packet (F) of a given priority class is selected, and if the packet is older than the second threshold value (T2) of the priority class concerned, said packet (F) is discarded, and the next priority class is selected. If said packet (F) is older than the first threshold value (T1) of the priority class concerned, at least one packet of this priority class is transmitted until the oldest packet in the priority class is younger than the first threshold value (T1) of the priority class concerned, whereupon the next priority class is selected.

Description: METHOD AND ROUTER IN A PACKET NETWORK WITH PRIORITY CLASSES BACKGROUND OF THE INVENTION The invention relates to a method and an equipment for packet prioritization when routing data packets. Figure 1 shows the parts of a mobile system that are relevant to the invention. Mobile Stations MS communicate with Base Transceiver Stations BTSn over an air interface Urn. The base transceiver stations are controlled by Base Station Controllers BSC associated with Mobile Switching Centres MSC. A subsystem controlled by a base station controller BSC, including the base transceiver stations BTS controlled by the system, is called a Base Station Subsystem BSS. The interface between the exchange MSC and the base station subsystem BSS is called an A interface. The part of the mobile system that is on the MSC side of the A interface is called a Network Subsystem NSS. The interface between the base station controller BSC and the base trans- ceiver station BTS, in turn, is called an Abis interface. The mobile switching centre MSC connects incoming and outgoing calls. It performs similar functions as an exchange of a Public Switched Telephone Network PSTN. In addition to these, it also performs functions that are typical of mobile communication only, such as subscriber location management, in co-operation with the subscriber registers of the network, which are not shown separately in Figure 1. A conventional radio connection used in digital mobile systems is a circuit-switched connection, which means that resources allocated to a subscriber are reserved for the connection concerned for the entire duration of the call. A General Packet Radio Service GPRS is a new service designed for digital mobile systems, such as the GSM system. The packet radio service is described in ETSI specifications TC-TR-GSM 02.60 and 03.60. The packet radio service makes it possible to offer the user of a mobile station MS a packet-form radio connection effectively utilizing radio resources. On a packet- switched connection, radio resources are reserved only when speech or data is to be sent. The speech or data is collected in packets of a certain length. When a packet like this has been transmitted over the air interface Urn, and the transmitting party does not immediately have a new packet to send, the radio resource can be released to other subscribers. The system of Figure 1 comprises a separate Serving GPRS Sup- port Node or SGSN 15, which controls the operation of the packet data service on the network side. The control comprises, for example, logging the mobile station on and off the system, location updating of the mobile station, and routing of the data packets to the correct destination. In the present applica- tion, 'data' is interpreted widely to mean any information transmitted in a digital mobile system, for example speech encoded in digital form, data transmission between computers, or telefax data. An SGSN node can be in connection with a base transceiver station BTS, a base station controller BSC or a mobile switching centre MSC, or it may be separate from them. The interface between an SGSN node and a base station controller BSC is called a Gb interface. Information, such as control signalling and speech or other data is transmitted in the packet network by GPRS frames. Each frame F comprises a header 1 and a data part 2. (In addition, frames transmitted over the air interface, in particular, typically contain different bit patterns for synchronization, but this kind of frame parts are not essential to the invention.) In order that the system would know which mobile station has sent the frame, the header 1 comprises an identity identifying the mobile station, for example a Temporary Logical Link Identity TLLI. When a mobile station registers in the GPRS network, the network gives the mobile station a TLLI identity for use during the GPRS connection. After the GPRS connection, the same TLLI identity can be reassigned to some other mobile station. In the header 1 , it is also sometimes possible to use a Network Layer Service access point Identity NLSI as well as the TLLI identity to indicate the application protocol used by the mobile station. In a packet radio network it is possible to imagine a situation in which a subscriber using a personal computer PC communicates with another computer 14 through a packet network 10, data network 11 , router 13 and a local area network LAN. One long data transmission or several short consecutive data transmissions are in progress between the computers PC and 14, for example using the Internet FTP protocol. Simultaneously, the user of the computer PC or some other subscriber initiates an interactive session, for example using the Internet Telnet protocol. If the packets of each interactive session had to wait at the nodes over the connection for the termination of the long data transmission, then the response times would grow so long in the interac- tive session that it would no longer be sensible to use the service. Network operators typically define several different qualities of service QoS in such a way that the propagation delay in a higher quality of service (and possibly also the probability for packet loss) is smaller than in a lower quality of service. In this invention, the most important parameter associated with a quality of service is the propagation delay. The operator may de- fine e.g. three qualities of service for which two propagation delays T AVE and T 95 have been defined, of which the former (T AVE ) defines an average propagation delay of a packet in the operator's network and the latter (T 95 ) defines such a delay that 95 percent of the packets are transmitted by a smaller delay than T 95 . The correspondence between qualities of service and propagation delays could be e.g. as follows: Table 1 , typical correspondence between quality of service and propagation delay Quality of service T AVE (ms) T 95 (ms) 1 400 600 2 500 800 3 600 1200 (Obviously, these values only serve as an example. There may be more than three qualities of service, the median can be used instead of an arithmetic average, and instead of 95 percent, other percentages may also be used.) A network operator's problem is associated with the fact that traffic volumes show great variations depending on the time of day, and randomly. The traffic also shows a continuous, often noteworthy increase. Typically a subscriber signs a contract with an operator concerning a given quality of service and the maximum delays corresponding to the quality of service. As traffic increases (occasionally or permanently), the delays experienced by the subscriber exceed the maximum values set on said quality of service. The subscriber makes a complaint to the operator who has to allocate more telecommunication resources. As the number of users and the traffic increase, the loop recurs. It would be advantageous for the operator to stretch the existing transmission capacity as far as possible, thus enabling new investments to be postponed and newer technique being acquired in connection with the invest- ments. BRIEF DESCRIPTION OF THE INVENTION On the basis of the above, it is the object of the invention to provide a method and an equipment for routing packets in such a way that the operator's network offers an optimal transmission capacity when the contract be- tween the operator and a subscriber complies with what is shown in Table 1. The object of the invention is achieved by means of a method which is characterized in what is set forth in the independent claims. The dependent claims disclose the preferred embodiments of the invention. The invention is based on the idea that if the propagation delay of a given packet has exceeded a maximum propagation delay T 95 , the packet can no longer be saved in such a way that the operator would have fulfilled his obligations as to said packet. This kind of situation arises when the traffic in a router momentarily exceeds the transmission capacity of the router. If the operator tried to be fair to all subscribers and delay all packets equally, this would be likely to lead to the operator not fulfilling his obligations to the majority of subscribers. The situation could be e.g. such that only 90 percent of all packets can be transmitted within a time less than the delay T 95 . Nearly all subscribers would then feel that the operator has not fulfilled his obligations. It is better for the operator (and the majority of the subscribers) that the available resources are allocated between a number of subscribers and connections in such a way that the conditions of the contract are fulfilled, i.e. the propagation delays are not exceeded. In this case the router allocates resources primarily to packets that still can be transmitted within the propagation delay defined in the contract. In accordance with an embodiment, the router may even discard a packet that no longer can be transmitted within the agreed propagation delay, enabling the resources to be allocated more efficiently to the packets that still can be delivered within the agreed time. The discarded packets are then replaced at a higher protocol layer where the receiver requests the transmitter to resend the missing packets. BRIEF DESCRIPTION OF THE DRAWINGS In the following the invention will be described in more detail in connection with preferred embodiments with reference to the attached drawings, in which Figure 1 shows the parts of a mobile communications system that are essential to the invention; and Figure 2 is a block diagram showing how packets are arranged in a queue, and Figure 3 is a flow diagram illustrating the operation of the invention. DETAILED DESCRIPTION OF THE INVENTION Referring to Figure 1 a support node SGSN 15 in a packet network functions as a router and buffers data in a queue, forwarding it through a base station system BSC - BTS to a mobile station MS and a computer PC connected to it. Since an air interface Urn forms a clear bottleneck, a queue is formed at the SGSN node 15. Referring now to Figure 2, the priority class of a packet is determined when packets F are received at the router 15. Block 20 illustrates this function. In a simple manner, the priority class can be determined directly based on the quality of service QoS determined in the subscriber contract. Alternatively, the subscriber may determine the priority class based on the connection and/or the application. The subscriber can be identi- fied on the basis of a TLLI identity sent in a header 1 of a frame F. The TLLI identity identifies each connection between the mobile station and the SGSN node. The application can be identified unambiguously on the basis of a port number of a TCP protocol. In Figure 2, packet processing is illustrated by assigning a queue to each priority class, the queues totalling 7 (Q1 - Q7) in Fig- ure 2 by way of example. In the present application, 'queue' means any arrangement by which the same effect is achieved as by physical placement of packets in different queues. With regard to the use of memory, it may be more economical to keep only pointers relating to the packets in different queues. A queue can be implemented, for example, as a linked list in which each ele- ment of the list contains a pointer pointing to the next and/or previous element. In addition, a packet-specific time of arrival of the packet at the router is stored in the router. A first propagation delay threshold value T1 and a second, higher, threshold value T2 is defined for each priority class. The first threshold value T1 is associated with the average propagation delay T AVE . Similarly, the second threshold value T2 is associated with the 95 percent propagation delay T 95 . However, in addition to the router, the packet is also subjected to delays elsewhere, particularly on the radio path. The other delays are, however, often substantially constant, and consequently their empirical estimated portion can be subtracted from the delays T AVE and T 95 . If the estimated delay outside the router is denoted by T 0 , then T< = T AVE - T 0 and T 2 = T 95 - T 0 . An average value of e.g. the packets of a corresponding priority class, preferably a moving average, can be used as an estimate of the packet propagation delay. An alternative estimate of the propagation delay is e.g. the actual propagation delay of the packet concerned. Referring to Figure 3, a possible method of implementing the inventive idea is illustrated. The concepts "packet age", "old packet", and "young packet" are associated with the time that the packet F has waited in the router. In connection with each packet, in step 30, the oldest packet F of a given pri- ority class is selected. This is carried out e.g. in such a way that each priority class is assigned its own FIFO queue, as described in Figure 2, the packets being added to the end of the queue and unloaded from the start of the queue. In step 31 , if the age of the packet is higher than the second threshold value T2 of the priority class concerned, the next step is 32 where said packet F is discarded. In step 33 the next priority class is selected. If the packet is not older than T2 in step 31 , the next step is 34 where the age of the packet is compared with the first threshold value T1. If in step 34 said packet F is older than the first threshold value T1 of the priority class concerned, the next step is 35 where at least one packet of this priority class is transmitted. Packets are transmitted until the oldest packet of the priority class is younger than the first threshold value T1 of the priority class concerned, whereupon the next priority class is selected. The above priority class may be the same as the quality of service QoS determined in the subscriber contract. It is also feasible that the priority class is negotiated connection-specifically at the beginning and/or during a connection. The quality of service can be signalled to the routers on the packet network e.g. by providing each packet with a code indicating the quality of service. Since in the GPRS specifications four alternative qualities of service are defined, it is possible to identify them by two bits. Alternatively, a new quality of service can be signalled by a separate message indicating a change in the quality of service, the message being sent to a router located somewhere over the connection. The router will store the changed quality of service in its memory. When each packet is provided with a code indicating the quality of service, each node over the connection can independently make the decisions concerning priority. The priority can be easily changed by a 2-bit identity without a separate message indicating a change in the quality of service. The priority of individual packets can be changed easily without first sending, for example, a message raising the priority and then, after the packet, a message lowering the priority. When the quality of service changes and a separate message indicating the change is sent, it is not necessary to add a code indicating the quality of service to each separate packet. Another advantage achieved is simplification of billing, since a change in the quality of service, which is the billing criterion, is signalled by a separate message. Packets destined to a mobile station do usually not have a mechanism for changing the quality of service during the session, so the quality of service is usually defined as the subscriber registers to use a GPRS connection. As an alternative to determining the age of the packet packet- specifically in step 34, a predetermined number of packets may be sent from said priority class, naturally not exceeding the number of packets in said priority class. Parameter Ki in Figure 2 illustrates the amount of data sent from each queue at one go. As compared with prior art routing using a single queue, the service is improved if a plural number of queues Qi is used and parameter Ki is constant. The service can be further improved by adjusting parameter Ki, for example, on the basis of the quality of service such that more data is sent from the high-priority queues at one go than from the low- priority queues. Queue Q2 illustrates a situation where a small amount of data remains in the queue in addition to amount Ki. Transmission of entire queue Q2 here clearly improves the operation of the application concerned without that the other subscribers and/or applications would suffer too much. A suitable threshold value for such exceeding of Ki is, for example, 30 to 50%. Correspondingly, Q4 illustrates a queue comprising little data. Transmission of short queues before long ones shortens the average waiting time. Similarly, an alternative to determining the age of the packets to be discarded packet-specifically in steps 31 - 32, all packets of the same connection can be discarded from said priority class, since the protocol of the upper network layer has to resend such packets in any case. Routers are usually implemented by means of a digital memory and a processor. The method of the invention and its different variations are im- plemented as changed in the router processor software. Routing packets according to the invention has been described in association with a node in the GPRS network by way of example. It is obvious to those skilled in the art that similar routers may be used in any other telecommunication systems. Thus the invention and its embodiments are not restricted to the above examples, but may vary within the scope of the claims.

Claims: CLAIMS 1. A method of routing packets (F) in a router of a packet network, characterized in that: - several priority classes are defined for the packets (F), and for each priority class, a first propagation delay threshold value (T1) and a second, higher, propagation delay threshold value (T2) is defined; - from each priority class the oldest packet (F) is selected, in association with which - an estimate (E) of the propagation delays of the packets (F) is determined, and if the estimate is higher than the second threshold value (T2) of the priority class concerned, the priority of said packet (F) is lowered and the next priority class is selected; - if the estimate (E) of the propagation delay is higher than the first threshold value (T1) of the priority class concerned, at least one packet (F) of said priority class is transmitted, whereupon the next priority class is selected. 2. A method as claimed in claim 1, characterized in that in the transmission step a predetermined number of packets (F) is sent, the number, however, not exceeding the number of packets comprised by the priority class concerned. 3. A method as claimed in claim 1, characterized in that in the transmission step packets (F) are sent until the estimate (E) of the propagation delay is less than the first threshold value (T1) of the priority class concerned. 4. A method as claimed in any one of the preceding claims, characterized in that the priority of a packet (F) is lowered by discarding the packet. 5. A method as claimed in any one of the preceding claims, characterized in that the priority class is determined based on the quality of service (QoS) of the connection concerned. 6. A method as claimed in any one of the preceding claims, characterized in that the first threshold value (T1) is an average propagation delay (T AVE ) determined for the priority class and subtracted by the estimated propagation delay (T 0 ) of the packet in other parts of the network, and the second threshold value (T2) is a propagation delay defined for the pri- ority class; a delay that the majority of the packets has to fall short of (T 95 ), subtracted by the estimated propagation delay (T 0 ) of the packet in other parts of the network. 7. A method as claimed in any one of the preceding claims, characterized in that an average value, preferably a moving average, of the propagation delays of the packets of a priority class corresponding to the packet (F) is used as the estimate (E). 8. A method as claimed in any one of claims 1 to 6, character i z e d in that the propagation delay of said packet (F) is used as the estimate (E). 9. A method as claimed in any one of the preceding claims, characterized in that the packet network is a GPRS network and the routers are its SGSN and/or GGSN nodes. 10. A router in a packet network, the router comprising means for receiving and transmitting packets (F), characterized in that the router further comprises: - means (20) for assigning a priority class to each packet (F) in such a way that a first threshold value (T1) and a second, higher, threshold value (T2) is associated with each priority class; - means (30, 36) for selecting the oldest packet (F) from each prior- ity class and for determining an estimate (E) of the propagation delay; - means (32, 33) for lowering the priority of said packet (F) and for selecting the next priority class in response to the estimate (E) of the propagation delay being higher than the second threshold value (T2) of the priority class concerned; and - means (34, 35) associated with transmitter means for selecting at least one packet in response to the estimate (E) of the propagation delay being higher than the first threshold value (T1) of the priority class concerned, but lower than the second threshold value (T2) of the priority class concerned.

Inventors: HUUSKO SAMI, OLKKONEN MIKKO, HUUSKO, SAMI, OLKKONEN, MIKKO
Applicants: HUUSKO SAMI, NOKIA TELECOMMUNICATIONS OY, OLKKONEN MIKKO, HUUSKO, SAMI, OLKKONEN, MIKKO
Application year: 1997
Main classification: H04L12
IPC codes: H04L12, H04Q11