Quality of Service Schedulability in a wireless LAN
This invention relates to transmission of packets of data in a wireless local area network (WLAN). In particular the invention relates to a method of determining whether a requested parameterised Quality of Service (QoS) can be scheduled. A QoS access point can use a Rate Monotonic Access technique in order to determine whether the amount of bandwidth requested by a network member, to satisfy the QoS requirements of its traffic stream, is available.
The IEEE 802. He is a Draft Supplement to the IEEE 802.11 Standard for Telecommunications and Information Exchange Between Systems and a is a yet unapproved draft of a proposed IEEE Standard, subject to change. That document describes the Medium Access Control (MAC) Enhancements for Quality of Service (QoS), and it is a supplement based on the current edition of, 1999 Edition and the 802.Ha, 802.Hb and 802.11d supplements. The IEEE 802.11 e defines two kinds of QoS traffic: Prioritised and
Parameterised. Each traffic packet is marked with a particular priority or marked with a pre- negotiated parameter called Traffic Specification (TSPEC). In the IEEE 802. He a traffic specification describes the QoS characteristics of a traffic stream created by negotiation between a wireless station (WSTA) and a Hybrid Coordinator (HC). The algorithm of the invention is for Parameterised QoS. Figure 1 illustrates a QoS WLAN Network (in the IEEE 802. He referred to as a QoS basic service set, QBSS). In the parameterised QoS, each of the member of the network, in the IEEE 802. He referred to as QoS enhanced stations (QSTAs), negotiates its requirements with a QoS Access Point (QAP) / Hybrid Coordinator (HC). A hybrid coordinator is a type of point coordinator that performs bandwidth management including the allocation of Transmission Opportunities (TXOPs) to QoS enhanced stations (QSTAs) and the initiation of controlled contention intervals. The negotiation takes place using Traffic Specifications (TSPEC). The QAP decides, based on the bandwidth currently available, whether or not the TSPEC can be
registered in the network. Once a TSPEC is admitted, it is the duty of the QAP HC to provide Transmission Opportunities to the members of the QBSS. In the IEEE 802. He a Transmission Opportunity (TXOP) is defined as an interval of time when a particular QSTA has the right to initiate transmissions onto the wireless medium. A TXOP is defined by a starting time and a maximum duration. In the IEEE 802. He, if a new Traffic Stream (TS) with defined TSPEC needs to be added, then the first problem to be solved is whether it is possible to meet the TSPEC, i.e. to satisfy the requirements of TS, with existing or remaining bandwidth. This is a problem of schedulability, which is solved by the present invention. The entity that approves establishing the TSPEC is the Hybrid Coordinator (HC) in the QoS WLAN Access Point (QAP). If the HC receives a request for setting up of a TSPEC, the HC must decide whether the traffic stream specified by the TSPEC is schedulable. The algorithm of invention describes how the HC can decide if the requested TSPEC can be scheduled. The Traffic Specification (TSPEC) element contains the set of parameters that define the characteristics and QoS expectations of a unidirectional traffic stream, in the context of a particular WSTA, for use by the HC and WSTA(s) in support of parameterised QoS traffic transfer. The Traffic Specification allows a set of parameters more extensive than may be needed, or may be available, for any particular instance of parameterised QoS traffic. The fields are set to zero for any unspecified parameter values. The problem of scheduling the packets so that the QoS objectives are met is another problem which is not addressed by the present invention.
The invention provides a method for determining whether or not a request for setting up a new traffic stream (Add Traffic Stream, ADDTS) with a defined Traffic
Specification (TSPEC) can be scheduled, i.e. whether the requested Quality of Service, QoS can be provided. According to the invention, one or more necessary (but not sufficient) conditions for schedulability are checked. If one of the necessary conditions are not fulfilled, it is determined that the requested QoS is not schedulable, and only if all the necessary conditions are fulfilled, will the method proceed to check whether one or more sufficient conditions for schedulability are also met. If all necessary conditions are fulfilled and at least one sufficient condition is fulfilled, it is determined that the requested QoS is schedulable. Even if a TSPEC fails in a test for a sufficient condition, it may not be definitively concluded that the task is not schedulable, and further tests for sufficient conditions can be performed.
In such cases it may therefore be necessary to perform at least one more stringent test for sufficient conditions. Priorities are assigned to each task based on their 'Inter-Arrival period', so that a longer period results in a lower priority. Thus, if three TSPECs have inter-arrival period specified as 100, 150 and 120 ms, then their priorities would be 1, 3 and 2 respectively, where 1 indicates the highest priority.
Figure 1 illustrates a Quality of service (QoS) Wireless Local Area Network (WLAN), in the IEEE 802.11 e also referred to as a QoS Basic service Set (QBSS), Figure 2 illustrates the timing of arriving packets to be transmitted and the transmission opportunities (TXOP), and Figure 3 is a simplified flow chart illustrating the method of the invention
The QoS Basic service Set (QBSS) in Figure 1 is a network with several QoS stations, QSTA 1 through QSTA n, each of which is coupled to a QoS Access Point (QAP) with a Hybrid Coordinator (HC). In the IEEE 802.11 a Hybrid Coordinator is a type of point coordinator, defined as part of the QoS facility that implements the frame exchange sequences and MSDU handling rules defined by the hybrid coordination function. The HC performs bandwidth management including the allocation of Transmission Opportunities (TXOPs) to QSTAs and the initiation of controlled contention intervals. A hybrid coordinator is collocated with a QAP. In the IEEE 802.11 a QSTA is a station that implements the QoS facility and hybrid coordination function (HCF) as specified therein, and includes an IEEE 802.11- conformant physical (PHY) interface to the wireless medium (WM). A QSTA acts as a STA when associated in the Basic Service Set (BSS). When a member of the network, a QSTA, (or its user) wishes to initiate a transmission of packets of data with parameterised Quality of Service, an Add Traffic Stream (ADDTS) request is sent to the QAP/HC with Traffic Specification (TSPEC) data defining the parameters of the data stream. A "negotiation" then takes place between the QSTA and the QAP/HC based on the Traffic Specification data. Based on the bandwidth currently available in the network the QAP decides if the TSPEC can be registered in the network, i.e. whether the requested Quality of Service can be provided. The request can be granted or
refused, and once a TSPEC is admitted, it is the duty of the QAP to provide Transmission Opportunities (TXOP) to the members of the network. In the IEEE 802. He the Traffic Specification allows a set of parameters more extensive than may be needed, or may be available, for any particular instance of parameterised QoS traffic. The method of the invention uses the concepts of problem with 'Rate Monotonic Analysis' (RMA) used for real-time scheduling of tasks. Only the following of the TSPEC parameters are used in the method of the invention, namely: T, the time between arrivals of consecutive packets of data to be transmitted, i.e. the Inter-Arrival time, C, the time required for transmitting one of the consecutive packets of data.
This includes the duration of a Transmission Opportunity (TXOP) and the time required for the transmitting body to "deliver" the packet, i.e. the required TXOP duration plus the time required to "put the packet in air" (computation time), and D, the Delay-bound specified by the TSPEC. One of the necessary conditions that are checked is whether the time required for transmitting any one of the packets of data does not exceed the time between arrivals of consecutive packets of data to be transmitted. Mathematically, this can be expressed as Vi : Ti : Ci ≤ Ti (1) Another one of the necessary conditions that are checked is whether, at any time, the sum of bandwidth requirements for all tasks (TSPECs) does not exceed the total available bandwidth. Mathematically, this can be expressed as ∑{Ci/Ti)≤ l (2)
where n is the total number of tasks. TSPECs have a field called priority that indicates the priority of the stream. According to the invention, the priority assigned to TSPECs is based on the inter-arrival rate field in the TSPEC and not on the priority field of the TSPEC. The priority field of the TSPEC is a field agreed between MAC and the higher level protocols and it is not helpful in checking schedulabilty of the TSPEC. But at the MAC level, we try to assign priorities to TSPECs to see if after addition of this TSPEC if the system is 'schedulable'. For this purpose a priority is assigned to the entire TSPEC based on the inter-arrival rate and not based on the priority field.
No priority is explicitly assigned for various TSPECs. If priorities are assigned to TSPECs, the first level of problem is solved. To assign priorities we use the 'Fixed Priority Assignment' scheme. Though some kind of 'Dynamic Priority Assignment' scheme can also be adopted similar to the 'Earliest Deadline First' (EDF) etc. When a first task and a second task are performed, where packets of data in the first task have a first time between arrival of consecutive packets of data, and packets of data in the second task have a second time, longer than the first time, between arrival of consecutive packets of data, a first priority is assigned to the first task, and a second priority, lower than the first priority, is assigned to the second task. The priority is assigned based on the 'Inter-Arrival period', so that a longer period results in a lower priority. Thus, if three TSPECs have inter-arrival period specified as 100, 150 and 120 ms, then their priorities would be 1, 3 and 2 respectively, where 1 indicates the highest priority. The scheme is called 'Fixed Priority Scheme', which means that the priority will not change with respect to time. But when a new TS is added or an existing TS is deleted, then we have to reassign the priorities. So, we may still have to reassign priorities and still call it fixed priority scheduling. Priority will remain the same for a given set of TSPECs. The priority will not be changed unless a new TSPEC is added or one is removed. Yet another necessary condition that is checked is whether lower priority tasks are schedulable together with higher priority tasks. So, to transmit a packet of a particular priority it is checked whether there is enough bandwidth available to transmit all the packets for higher priority stream and still transmit the packets of the particular priority. Thus, the time for a lower priority TSPEC is the total time minus the time taken to transmit packets belonging to higher priority TSPECs. Mathematically, this can be expressed as
Vi :: \ ∑(Ti/Tf)Cf ≤ Ti - Ci (3) =1 where is the priority of the considered stream, and j is all higher priority streams. If all necessary conditions are fulfilled, and at least one sufficient condition is also fulfilled, the task is schedulable. A first one of the sufficient conditions that is checked is whether (C//r/) < «(2(1/H) -l) (4) The right hand side is a relatively simple function that only depends on the number of tasks n and therefore no time consuming calculations have to be performed.
Rather, the quantity on the left hand side, which depends on the actual TSPEC, can be compared to the corresponding function of n through the following look-up table.
This test is a relatively simple test, which is fast to perform, but it is also a pessimistic test, which means that even if a TSPEC fails in this test, it may still be schedulable, and in such cases it may therefore be necessary to perform a more stringent test for sufficient conditions. A more stringent sufficient condition that can be checked is whether delay bound for each task can be met. Mathematically this can be expressed as Ci + (DilΗ)Cj ≤ Di (5) =ι If none of the above two sufficient conditions are fulfilled, it still cannot be definitively concluded that the task is not schedulable, and further tests for sufficient conditions can be performed. However, for practical reasons we may choose to stop here, since further calculations tend to have increasing complexity and be computationally more intensive. The above described method has the following advantages
(1) The steps as defined in equations (2) and (4) above require constant time (especially because of the lookup table),
(2) The step as defined in equation (5) has only a linear asymptotic complexity - o(n), meaning that only n calculations need to be performed in a HC with n TSPECs already established. So, it has asymptotic complexity as n. The significance is that it consumes very less computational time.
(3) Because of the above reasons, the algoritlim is very fast in deciding schedulability.
(4) These computations need to be done only when an ADDTS.request comes and not periodically. For these reasons, in a preferred embodiment of the invention only the steps as defined in equations (2), (4) and (5) above are performed.