Abstract:
The present invention relates to a method and apparatus for scheduling data for transmission via at least two half-duplex time division multiple access connections, wherein for each connection respective capacities of data portions to a transmission frame are allocated so that the total capacity of all data portions of the transmission frame does not exceed a predetermined capacity for each transmission direction, and that the sum of capacities of data portions of each connection of the transmission frame in both transmission directions does not exceed the predetermined capacity. Then, the transmission timing of the data portions within the transmission frame is set in such a manner that transmission and reception intervals of each connection do not overlap. Accordingly, scheduling can be optimised to meet both QoS and half-duplex requirements.

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention relates to a method and apparatus for scheduling data in a half-duplex transmission, which can be implemented e.g. in uplink and downlink burst data transmission for half-duplex terminals in burst-mode frequency division duplex (FDD) systems.  
       BACKGROUND OF THE INVENTION  
       [0002]     Modern access systems support different higher layer protocols. Protocols define the format and order of messages exchanged between two or more communicating entities, as well as the actions taken on the transmission and/or receipt of a message or other event. The central purpose of the Medium Access Control (MAC) protocol is sharing of radio channel resources. The MAC protocol defines how and when an access point or subscriber unit may transmit on the channel. The MAC protocol includes the interface&#39;s procedures to provide guaranteed services to upper layers.  
         [0003]     Wireless medium is a shared medium, which demands the MAC protocol to co-ordinate the transmission of multiple traffic flows over it. The basic distinction between different MAC protocols is the duplexing of the uplink and downlink channels. In Time Division Duplex (TDD), the downlink and uplink channels use the same carrier frequency. The data unit, i.e. MAC frame, is divided into an uplink portion and a downlink portion. The border between the uplink and downlink portion can be adaptive, which makes it suitable for asymmetric connections. In Frequency Division Duplex (FDD), different carrier frequencies are used in the downlink and uplink transmission. The terminals may thus simultaneously transmit and receive the signals. Finally, in Half-duplex Frequency Division Duplex (H-FDD), different carrier frequencies are used for the uplink and downlink transmission, but the terminals do not transmit and receive simultaneously. This poses a challenging problem to the uplink and downlink resource management. Furthermore, the type of physical channel has a significant influence on the radio access protocol and scheduling procedures. In a continuous transmission channel, the traffic flow is transmitted in the downlink direction and the whole traffic flow is received in the access point of the access network. The terminals have to decode the whole flow and pick up the packets addressed to them. In a Time Division Multiplexing (TDM) stream channel, the modulation type is changed within one MAC frame. The change has to be announced at the beginning of the MAC frame. The packets intended for various terminals have to be re-ordered according to the modulation type used by a particular terminal. In a Time Division Multiple Access (TDMA) burst channel, a standby mode is allowed when the data is not addressed to a particular terminal. The frame structure is announced at the beginning of the MAC frame.  
         [0004]     An example of a wireless communication system, where FDD and a burst mode of transmission are adopted, and support of half-duplex terminal is required, is the air interface for the IEEE 802.16 fixed broadband wireless access system. In this burst-mode FDD system, the downlink channel is framed to allow adaptive modulation and forward error correction (FEC). To accommodate half-duplex terminals, the downlink channel uses TDMA or a mixture of TDM and TDMA, where TDM is utilized for bandwidth efficiency and TDMA is used for half-duplex terminal support. Furthermore, downlink and uplink burst transmissions are centrally scheduled on a frame-by-frame basis by a central controller or access point (AP), in order to meet specified quality of service (QoS) requirements. Scheduling deals with the manner in which queued data packets are selected for transmission on the respective link or channel. A downlink map message, transmitted at the beginning of each frame, broadcasts the frame layout to all other terminals in the system.  
         [0005]     However, the QoS requirements can impose very tight constraints on the AP scheduler, which has to determine which packets to transmit next, and when, in order to meet system-defined QoS requirements. Similarly, half-duplex terminal transmission and reception scheduling imposes additional tight constraints which are independent of the QoS requirements. In particular, the burst data transmission order in each frame has to be arranged in such a manner that, for each of the half-duplex terminals, transmission and reception intervals do not overlap in time.  
       SUMMARY OF THE INVENTION  
       [0006]     It is therefore an object of the present invention to provide a method and apparatus for scheduling data in a half-duplex transmission, by means of which both QoS and half-duplex constraints can be met.  
         [0007]     This object is achieved by a method of scheduling data for transmission via at least two half-duplex time division multiple access connections, the method comprising the steps of: 
        allocating for each connection respective capacities of data portions of a transmission frame so that the total capacity of all data portions of the transmission frame does not exceed a predetermined capacity for each transmission direction, and that the sum of capacities of data portions of each connection of the transmission frame in both transmission directions does not exceed the predetermined capacity; and     setting the transmission timing of the data portions within the transmission frame in such a manner that transmission and reception intervals of each connection do not overlap in time.        
 
         [0010]     Furthermore, the above object is achieved by an apparatus for scheduling data for transmission via at least two half-duplex time division multiple access connections, said apparatus comprising: 
        allocation means for allocating for each connection respective capacities of data portions of a transmission frame so that the total capacity of all data portions of said transmission frame does not exceed a predetermined capacity for each transmission direction, and that the sum of capacities of data portions of each connection of said transmission frame in both transmission directions does not exceed said predetermined capacity; and     setting means for setting the transmission timing of said data portions within said transmission frame in such a manner that transmission and reception intervals of each connection do not overlap in time.        
 
         [0013]     Accordingly, scheduling can be optimised to meet both QoS and half-duplex requirements. The suggested scheduling procedure is optimal in the sense that it is always successful provided that the amount of capacity allocated in both transmission directions to a half-duplex terminal does not exceed the predetermined capacity, e.g. frame length. Furthermore, the number of data portions, e.g. bursts, transmitted in a frame can be minimized, thus minimizing the number of data portions for each transmission direction in a frame. Thereby, the number of entries in a transmission map provided for each transmission direction, e.g. uplink and downlink, can be minimized, while allowing to schedule transmissions according to whatever QoS model.  
         [0014]     The predetermined capacity may correspond to the maximum amount of capacity, e.g. frame length, available in the transmission frame for both transmission directions.  
         [0015]     It ist to be noted that in the light of the present invention, the term “connection” should be interpreted in such a manner that each connection connects to a different terminal. Thus, an allocation for a connection also refers to a specific terminal. The connections may be wireless connections of a wireless communication system, wherein the transmission directions may be uplink and downlink directions.  
         [0016]     The setting step comprises the steps of: 
        i) defining said set of capacity allocations for the one transmission direction of the transmission frame;     ii) setting an allocation start time for the other transmission direction of a subsequent connection, whose transmission timing directly follows a transmission timing of a selected reference connection, according to an allocation start time for the one transmission direction of the reference connection;     iii) setting an allocation start time for the other transmission direction of a non-subsequent connection, whose transmission timing does not directly follow the transmission timing of the selected reference connection, according to an allocation end time for the other transmission direction of a preceding connection, whose transmission timing directly precedes the transmission timing of the non-subsequent connection, and     iv) setting an allocation end time for said other transmission direction according to the sum of the set allocation start time and a value corresponding to the allocated capacity.        
 
         [0021]     The steps ii) to iv) may be successively performed for each connection.  
         [0022]     A connection whose transmission timing is the first timing within said transmission frame is initially selected as said reference connection, and wherein a connection with a subsequent transmission timing is selected if said scheduling does not lead to a feasible allocation. The feasibility may be checked by determining for each connection whether the sum of the total value of allocated capacities for that connection for both transmission directions and a capacity value corresponding to the difference between the set allocation start time for said one transmission direction and the set allocation end time for said other transmission direction is less then or equal to said predetermined capacity.  
         [0023]     Furthermore, the capacities of said data portions may be determined based on respective quality requirements of said connections. The transmission frame may be a MAC frame. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0024]     In the following, the present invention will be described in greater detail based on a preferred embodiment with reference to the accompanying drawings, in which:  
         [0025]      FIG. 1  shows a schematic diagram of a wireless communication system in which the present invention can be implemented;  
         [0026]      FIG. 2  shows a schematic diagram of an FDD based MAC protocol;  
         [0027]      FIG. 3  shows a schematic diagram indicating notation of an uplink and downlink capacity allocation within a frame;  
         [0028]      FIG. 4  shows a schematic diagram of specific allocation cases;  
         [0029]      FIG. 5  shows a flow diagram of a scheduling procedure according to a preferred embodiment of the present invention;  
         [0030]      FIG. 6  shows a schematic diagram indicating a feasible allocation; and  
         [0031]      FIG. 7  shows a pseudo-code implementation example of the scheduling procedure according to the preferred embodiment. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0032]     The preferred embodiment will now be described in greater detail based on an H-FDD scheduling scheme for scheduling uplink and downlink burst data transmission for half-duplex terminals or connections at an air interface of a fixed broadband wireless access (FBWA) system, e.g. according to the IEEE 802.16 specification.  
         [0033]      FIG. 1  shows such an FBWA system, which comprises an access point AP, usually called base station (BS), and subscriber-stations (SS) S 1  to S 4 . An SS can either be an individual end user terminal or a group terminal with several end user terminals connected to it. All data traffic goes through the access point AP, so that the access point AP can control the allocation of capacity (bandwidth) on the radio channel. The capacity is scheduled and allocated by the access point AP according to agreed traffic and/or QoS parameters.  
         [0034]      FIG. 2  shows an example of an FDD based MAC protocol. The downlink and uplink MAC frames F 1  to F 3  are of constant length. The downlink structure transmitted on a downlink carrier begins with a broadcast phase BP where information about uplink and downlink structure is announced. The broadcast phase BP is followed by a downlink phase DP for transmitting data bursts in the downlink direction. The uplink structure transmitted on an uplink carrier begins with an uplink phase UP for transmitting data bursts in the uplink direction, and is followed by a random access phase RAP primarily used for initial access but also for the signalling when a terminal has no resources allocated within the uplink phase UP.  
         [0035]     In the following, a scheduling procedure according to the preferred embodiment for optimising uplink and downlink scheduling for half-duplex terminals or connections is described. The proposed procedure can be implemented in the access point AP or any other central controller of the communication system. Downlink and uplink bursts are simply characterized by their transmission duration, independently of the presence or absence of preambles and switching time gaps. The solution is sufficiently general to be adapted to many different systems, where TDM is also used for bandwidth efficiency, and the TDM portion needs to be ordered by burst robustness.  
         [0036]      FIG. 3  shows a frame scheme indicating respective notations of a generic uplink and downlink capacity allocation for a terminal i, used in the following description of the scheduling procedure.  
         [0037]     According to  FIG. 3 , u i  is the amount of uplink capacity allocated to terminal i, d i  is the amount of downlink capacity allocated to terminal i, T is the total amount of capacity, available in the frame, both for uplink and downlink, s i   u  is the time offset at which the uplink capacity allocation for terminal i starts, s i   d  is the time offset at which the downlink capacity allocation for terminal i starts, and f i   u  is the time offset at which the uplink capacity allocation for terminal i ends. The following relationship must hold for uplink capacity allocations: 
 
 F   i   u   =|s   i   u   +u   i | T , i.e.,  s   i   u   =|f   i   u   −u   i | T    (1) 
 
         [0038]     Furthermore, the following relationship must hold for downlink capacity allocations: 
 
 f   i   d   =|s   i   d   +d   i | T , i.e.,  s   i   d   =|f   i   d   −d   i | T    (2) 
 
 wherein f i   d  is the time offset at which the downlink capacity allocation for terminal i ends. 
 
         [0039]     In the following, the term (s i   u ,u i ) denotes the uplink capacity allocation for terminal i, and the term (s i   d ,d i ) denotes the downlink capacity allocation for terminal i. The operator “| | T ” denotes a modulo operation with respect to the total amount T of capacity.  
         [0040]     The conditions to be met for a feasible capacity allocation are as follows. A set U={(s i   u ,u i )} (D={(s i   d ,d i )}) of uplink (downlink) capacity allocations is considered feasible if and only if, for any time instant t ε[0,T], there exists only one capacity allocation (s j   u ,u j ) ⊂ U (s j   d ,d j ) ⊂ D), if any, such that: 
 
| t−s   j   u | T   &lt;u   j (| t−s   j   d | T |&lt;d j ).   (3) 
 
         [0041]     Inequation (3) states that a time instant is included between the start and the end of the capacity allocation for terminal j. The uniqueness of j implies that capacity allocations for different terminals do not overlap in time.  
         [0042]     A set U={(s i   u ,u i )} of uplink capacity allocations is feasible if and only if 
 
| s   i   u   −f   j   u | T   +u   i   +u   j   ≦T, ∀i,j,    (4) 
 
 wherein: 
        1. |s i   u −f j   u | T  is the time interval between the end of one allocation and the beginning of the other;     2. u i  is the capacity allocated starting from s i   u  onward, u j  is the capacity allocated starting from f j   u  backward;     3. in order that the two capacity allocations are not overlapping, the sum of the three must be not greater than T.        
 
         [0046]      FIG. 4  shows a schematic diagram of specific cases for the above inequation (4). In the upper case, inequation (4) is true, while in the lower case inequation (4) is not true due to the overlapping uplink and downlink bursts.  
         [0047]     A similar result can be stated for downlink allocations. A set D={(s i   d ,d i )} of downlink capacity allocations is feasible if and only if 
 
| s   i   d   −f   j   d | T   +d   i   +d   j   ≦T, ∀i,j.    (5) 
 
         [0048]     As an additional feasibility condition, a pair of uplink U={(s i   u ,u i )} and downlink D={(s i   d ,d i )} capacity allocation sets is considered feasible if and only if, for any terminal i and time instant t ε[0,T], such that |t−s i   u | T &lt;u i , it applies: 
 
| t−s   i   d | T   ≧d   i .   (6) 
 
         [0049]     Thus, uplink and downlink sets of capacity allocations are feasible if and only if uplink and downlink allocations for the same terminal do not overlap in time. A pair of uplink U={(s i   u ,u i )} and downlink D={(s i   d ,d i )} feasible capacity allocation sets is feasible if and only if 
 
| s   i   d   −f   i   u | T   +u   i   +d   i   ≦T, ∀i.    (7) 
 
         [0050]     In summary, the proposed scheduling procedure has to solve the following problem. Given a pair of uplink U={(s i   u ,u i )} and downlink D={(s i   d ,d i )} capacity allocation sets, the pair (U,D) is feasible if the inequations (4), (5) and (7) are all true.  
         [0051]     Necessary conditions for the above inequations (4), (5), and (7) to be met can be immediately derived and are as follows: 
 
1. Σu i ≦T; 
 
2. Σd i ≦T; 
 
3.  u   i   +d   i   ≦T, ∀i.    (8) 
 
         [0052]     These conditions are also sufficient for a feasible pair of capacity allocation sets to exist.  
         [0053]     It is assumed that U={(s i   u ,u i )} is a feasible uplink capacity allocation set. Without losing generality, it is further assumed that indexes are assigned to terminals such that i&lt;j         s i   u &lt;s j   u , i.e., terminals are indexed by increasing uplink capacity allocation start time. Now, for a specific feasible downlink capacity allocation set D={(s i   d ,d i )} the following must apply:  
               s   i   d     =     {               ⁢              s   j   u     +       ∑     k   =     j   +   1         i   -   1       ⁢     d   k              T             i   &gt;   j                   ⁢              s   j   u     +       ∑     k   =     j   +   1       n     ⁢     d   k       +       ∑     k   =   1       i   -   1       ⁢     d   k              T             i   ≤   j                     (   9   )             
 
 where j is a terminal index between 1 and n. For any feasible uplink capacity allocation set U={(s i   u ,u i )}, and for any set of {d i } satisfying conditions 2 and 3 of the condition set (8), there exists at least one j, such that the downlink capacity allocation set D={(s i   d ,d i )}, obtained by assigning offsets according to equation (9), is feasible when combined with U, i.e., (U,D) is a feasible pair of capacity allocation sets. 
 
         [0054]      FIG. 5  shows a flow diagram of a scheduling procedure based on the above allocation scheme defined in equation (9).  
         [0055]     In the scheduling procedure, the following pre-conditions are considered to be met: 
        1. A set U={(s i   u ,u i )} of uplink capacity allocations is defined. The set is feasible, i.e., capacity allocations for different terminals do not overlap in time. Any suitable scheduling algorithm, tailored to the system specific uplink QoS requirements, can be used.     2. Access terminals are identified by an index number ranging from 1 to n, such that i&lt;j         s i   u &lt;s j   u , i.e., by increasing uplink capacity allocation start time.     3. The amount of downlink capacity allocated for each terminal has been determined, i.e., the set of capacities {d i } is defined. The procedure by which the set has been determined can be any suitable scheduling algorithm, tailored to the system specific downlink QoS requirements.     4. The set of capacities {d i } is such that Σd i ≦T, and u i +d i ≦T, ∀i.        
 
         [0060]     The proposed procedure is aimed at defining or setting the time offsets {s i   d }, at which the downlink capacity allocations must start, so that the resulting downlink capacity allocation set D={(s i   d ,d i )} is feasible when combined with u, i.e., (U,D) is a feasible pair of capacity allocation sets.  
         [0061]     The scheduling operation can be detailed step-by-step according to the sequence of steps indicated in  FIG. 5 .  
         [0062]     In step S 100 , the next terminal or connection j is set as a reference from which to start setting the capacity allocation starting offsets or times. The first time step S 100  is performed, j=1 is set, i.e. the terminal or connection with the first or earliest allocation start time is set as the reference terminal, while the next times j=1+|j| n  is set.  
         [0063]     Based on the choice of the reference terminal made in step S 100 , it is verified if the corresponding downlink allocation is feasible. This is accomplished as follows. A subsequent start terminal i=|j| n +1 to be considered first is determined in step S 101 , and going on considering one terminal at a time by increasing index (modulus n, i.e., the index after n is 1), the following operations are performed. In step S 102 , it is checked whether the considered terminal is the start terminal, i.e. i=|j| n +1. The downlink allocation starting offset of terminal i is then set as follows. If i=|j| n +1, i.e. the answer in step S 102  is “yes”, then the downlink allocation start time or offset is set according to the uplink allocation start time or offset of the reference terminal, e.g. s i   d =s j   u . Otherwise, if the answer in step S 102  is “no”, then the downlink allocation start time or offset is set according to the uplink allocation end time or offset of the preceding terminal, e.g. s i   d =f i-1   d .  
         [0064]     Then, in step S 105 , the downlink capacity end time of the considered terminal i is set according to the sum of the downlink allocation start time and the respective downlink capacity allocated to the considered terminal, e.g. f i   d =|s i   d +d i | T . It is noted that, by determining the allocation according to this formula, it could happen that the allocation wraps around the end of the frame and, in this case, two different allocations to the same terminal are actually defined, one at the end and the other at the beginning of the frame, respectively. However, this can happen for at most one terminal per frame.  
         [0065]     In step S 106 , it is checked whether the obtained allocation for the considered terminal or connection is feasible. As an example, the overall current allocation can be tested or checked according to the following calculation based on (7). If |s i   u −f i   d | T +u i +d i &gt;T, the terminal j selected in step S 100  is not suitable. Then, the answer in step S 106  is “no” and the current allocation procedure is stopped and reset in step S 107 , wherein the allocated downlink capacity starting times or offsets are deleted. Furthermore, the procedure returns to step S 100  so as to select the next reference terminal.  
         [0066]     Otherwise, if the answer in step S 106  is “yes”, i.e. the allocation defined for terminal i is fine. Then, it is checked in step S 108  whether all terminals have been considered, i.e. i=j. If so, all of the downlink capacity allocation starting times or offsets have been set successfully. The scheduling procedure has finished and the resulting set D={(s i   d ,d i )} gives the optimized downlink capacity allocation.  
         [0067]     Otherwise, if there are still terminals to be considered, the next terminal must be considered. To achieve this, the next terminal is set in step S 109 , i=1+|i| n , and the procedure returns to step S 102 .  
         [0068]     By referring to the procedure illustrated above, it can be stated that the procedure for optimal downlink allocation consists of searching for a downlink capacity allocation set where allocation start times are determined as a function of the set of downlink capacities and the set of uplink capacity allocations, according to equation (9). The suggested procedure implements a linear search by increasing the index of the reference terminal, i.e. the value of j, starting from j=1, and verifying whether the corresponding downlink allocation set resulting from equation (9), combined with the uplink allocation set U, is feasible or not.  
         [0069]      FIG. 6  shows an example of a feasible pair, where the downlink allocation set D was obtained according to equation (9) with j=4. As can be gathered from  FIG. 6 , the allocation start times or offsets of the downlink data bursts  1  to  4  are arranged in such a manner that no downlink data burst overlaps with a corresponding uplink data burst of the same terminal or connection. The downlink data burst  2  has been split up at the end and the start of the frame due to the modulo operation with respect to the maximum capacity value of the frame.  
         [0070]      FIG. 7  shows a pseudo-code example for a software routine for controlling a scheduling function at the access point AP or another central controller of the communication system. This pseudo-code routine corresponds to a specific implementation example of the procedure indicated in  FIG. 5  when using equation (9).  
         [0071]     It is noted that the present invention is not restricted to the preferred embodiment described above, but can be used in any scheduling function for scheduling data portions to be allocated to transmission frames of half-duplex connections. In particular, the present invention is not restricted to the specific use of an initial preset uplink allocation. As an alternative, a downlink allocation may be preset, based on which uplink allocation start times and end times are determined. In general, one transmission direction can be scheduled based on the other transmission direction. Thus, the preferred embodiments may vary within the scope of the attached claims.