Abstract:
An apparatus and method of scheduling data packets in a communication system are provided, in which the number of first-type data packets to be transmitted with priority is determined according to a predetermined criterion from among total first-type data packets, and the determined number of first-type data packets and second-type data packets are scheduled so as to transmit the determined number of first-type data packets and then transmit the second-type data packets.

Description:
PRIORITY 
       [0001]    This application claims priority under 35 U.S.C. §119(a) to a Korean Patent Application filed in the Korean Intellectual Property Office on Jun. 27, 2006 and assigned Serial No. 2006-58338, the contents of which are hereby incorporated by reference. 
       BACKGROUND OF THE INVENTION 
       [0002]    1. Field of the Invention 
         [0003]    The present invention generally relates to a communication system. More particularly, the present invention relates to an apparatus and method of scheduling data packet in a communication system. 
         [0004]    2. Description of the Related Art 
         [0005]      FIG. 1  is a schematic view illustrating the configuration of a typical communication system. 
         [0006]    Referring to  FIG. 1 , the communication system has a multi-cell structure. That is, the communication system includes cells  100  and  150 , a Base Station (BS)  110  covering the cell  100 , BS  140  covering the cell  150 , and a plurality of Mobile Stations (MSs)  111 ,  113 ,  130 ,  151  and  153 . 
         [0007]    The communication system is being developed to additionally provide high-speed large-data packet transmission service to MSs, especially services with a variety of Quality of Service (QoS) requirements. Parameters that determine the QoS of data packets are allowed transmission delay time, fading characteristics, a closeness between a transmitter and a receiver, and a use or a non-use of diversity. Therefore, for reliable data packet transmission and reception, data packets should be scheduled in a manner taking into account a QoS of the data packets. 
         [0008]      FIG. 2  is a flowchart illustrating an operation in a scheduler for scheduling data packets so as to satisfy the QoS requirements of the data packets, which are determined according to allowed transmission delay time of the data packets in a typical communication system. 
         [0009]    As QoS levels are determined according to allowed transmission delay time, data packets are categorized into real-time data packets and non-real time data packets. If the data packets can be packed the scheduler schedules the data packets according to the number of data packet connections. If the data does not allow for packing, the scheduler schedules the data packets according to the number of the data packets. For convenience&#39; sake, it is assumed that the scheduler schedules data packets according to the number of the data packets, and the scheduling is carried out on a frame basis in the illustrated case of  FIG. 2 . 
         [0010]    Referring to  FIG. 2 , thus, the scheduler monitors the presence or absence of real-time data packets at a scheduling time in step  211 . In the absence of real-time data packets, the scheduler prioritizes non-real time data packets for transmission and schedules the non-real time data packets according to their priority levels in step  213 . Then the scheduler ends the algorithm. 
         [0011]    In the presence of real-time data packets in step  211 , the scheduler prioritizes real-time data packets for transmission and schedules the real-time data packets according to their priority levels in step  215 . Then, in step  217 , the scheduler prioritizes the non-real time data packets for transmission and schedules the non-real time data packets according to their priority levels. The scheduler ends the algorithm. 
         [0012]    As described above, when the scheduler schedules data packets so as to satisfy the QoS levels of the data packets which have been determined taking into account the allowed transmission time of the data packets, scheduling of non-real time data packets follows scheduling of real-time data packets in the typical communication system. Because it is important to keep the probability of failing to transmit real-time data packets within an allowed transmission time at or below a predetermined value, the real-time data packets takes priority over non- real time data packets in transmission. 
         [0013]    However, the wireless channel environment under which the communication system is usually placed varies with data packet transmission speeds of MSs. To improve a total performance of the communication system, it is preferable to transmit data packets when the wireless channel environment becomes good. If scheduling is performed such that non-real time data packets are always behind real-time data packets in priority, even though a sufficient allowed transmission delay time is left for the real-time data packets in a relatively poor wireless channel environment, the real-time data packets take priority over the non-real time data packets. In the opposite case, even when the wireless channel environment is relatively good, if no resources are available for the non-real time data packets after scheduling the real-time data packets, transmission of the non-real time data packets is impossible. 
         [0014]    Accordingly, there exists a need for a new scheduling method that considers a wireless channel environment in addition to allowed transmission delay time. 
       SUMMARY OF THE INVENTION 
       [0015]    An aspect of exemplary embodiments of the present invention is to address at least the above problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of exemplary embodiments of the present invention is to provide an apparatus and method of scheduling data packets in a communication system. 
         [0016]    Another aspect of exemplary embodiments of the present invention provides an apparatus and method of scheduling data packets, taking into account a wireless channel environment in a communication system. 
         [0017]    A further aspect of exemplary embodiments of the present invention provides an apparatus and method of scheduling data packets, taking into account allowed transmission delay time in a communication system. 
         [0018]    In accordance with an aspect of the present invention, there is provided a method of scheduling data packets in a data packet scheduling apparatus in a communication system, in which a number of first-type data packets to be transmitted with a priority is determined according to a predetermined criterion from among total first-type data packets, and the determined number of first-type data packets and second-type data packets are scheduled so as to transmit the determined number of first-type data packets and then transmit the second-type data packets. 
         [0019]    In accordance with another aspect of the present invention, there is provided a data packet scheduling apparatus in a communication system, in which a scheduler determines a number of first-type data packets to be transmitted with a priority according to a predetermined criterion from among total first-type data packets, and schedules the determined number of first-type data packets and second-type data packets so as to transmit the determined number of first-type data packets and then transmit the second-type data packets. 
         [0020]    In accordance with a further aspect of the present invention, there is provided a method of scheduling data packets in a data packet scheduling apparatus in a communication system, in which real-time data packets are grouped into real-time data packet groups according to allowed transmission delay time of the real-time data packets, the number of real-time data packets to be transmitted with priority in each of the real-time data packet groups is determined according to a predetermined criterion, the determined numbers of real-time data packets of the real-time data packet groups are prioritized, and the determined numbers of real-time data packets are scheduled to transmit the determined numbers of real-time data packets according to priority levels of the determined numbers of real-time data packets. 
         [0021]    In accordance with still another aspect of the present invention, there is provided a data packet scheduling apparatus in a communication system, in which a scheduler groups real-time data packets into real-time data packet groups according to allowed transmission delay time of the real-time data packets, determines a number of real-time data packets to be transmitted with priority according to a predetermined criterion in each of the real-time data packet groups, prioritizes the determined numbers of real-time data packets of the real-time data packet groups, and schedules the determined numbers of real-time data packets to transmit the determined numbers of real-time data packets according to priority levels of the determined numbers of real-time data packets. 
     
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0022]    The above and other objects, features and advantages of certain exemplary embodiments of the present invention will be more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which: 
           [0023]      FIG. 1  illustrates the configuration of a typical communication system; 
           [0024]      FIG. 2  is a flowchart illustrating an operation in a scheduler of scheduling data packets so as to satisfy QoS requirements of the data packets, which are determined according to the allowed transmission delay time of the data packets in the typical communication system; and 
           [0025]      FIG. 3  is a flowchart illustrating an operation in a scheduler of scheduling data packets so as to satisfy QoS requirements of the data packets, which are determined according to the allowed transmission delay time of the data packets in a communication system according to the present invention. 
       
    
    
     DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS 
       [0026]    The matters defined in the description such as a detailed construction and elements are provided to assist in a comprehensive understanding of exemplary embodiments of the invention. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Also, descriptions of well-known functions and constructions are omitted for clarity and conciseness. Throughout the drawings, the same drawing reference numerals will be understood to refer to the same elements, features and structures. 
         [0027]      FIG. 3  is a flowchart illustrating an operation in a scheduler of scheduling data packets so as to satisfy the QoS requirements of the data packets which are determined according to the allowed transmission delay time of the data packets in a communication system according to an exemplary embodiment of the present invention. 
         [0028]    As QoS levels are determined according to allowed transmission delay time, data packets are categorized into real-time data packets and non-real time data packets. If data packets can be packed, the scheduler schedules the data packets according to the number of data packet connections. If the data packets do not allow for packing, the scheduler schedules the data packets according to the number of the data packets. For convenience, it is assumed that the scheduler schedules data packets according to the number of the data packets, and the scheduling is carried out on a frame basis in the illustrated case of  FIG. 3 . 
         [0029]    Referring to  FIG. 3 , thus, the scheduler monitors the presence or absence of real-time data packets at a scheduling time in step  311 . In the absence of real-time data packets, the scheduler prioritizes non-real time data packets for transmission and schedules the non-real time data packets according to their priority levels in step  313 . Then the scheduler ends the algorithm. 
         [0030]    In the presence of real-time data packets in step  311 , the scheduler groups the real-time data packets according to their allowed transmission delay time in step  315 . The grouping will be described in more detail. 
         [0031]    The real-time data packets should be transmitted within their allowed transmission delay time and may have different allowed transmission delay time. Therefore, the scheduler groups real-time data packets with the same allowed transmission delay time into one group. In this manner, the total real-time data packets can be grouped according to their allowed transmission delay time. 
         [0032]    After the grouping, the scheduler determines the number of real-time data packets to be scheduled in each group, for transmission in a frame according to Equation (1) in step  317 . The real-time data packets to be scheduled for transmission in a frame is called “real-time transmission data packet”. 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         number 
                          
                         
                             
                         
                          
                         of 
                          
                         
                             
                         
                          
                         real 
                       
                       - 
                       
                         time 
                          
                         
                             
                         
                          
                         transmission 
                          
                         
                             
                         
                          
                         data 
                          
                         
                             
                         
                          
                         packets 
                       
                     
                     = 
                     
                       ceil 
                       ( 
                       
                         
                           
                             
                               number 
                                
                               
                                   
                               
                                
                               of 
                                
                               
                                   
                               
                                
                               total 
                                
                               
                                   
                               
                                
                               real 
                             
                             - 
                             
                               time 
                                
                               
                                   
                               
                                
                               data 
                                
                               
                                   
                               
                                
                               packets 
                             
                           
                           
                             
                               allowed 
                                
                               
                                   
                               
                                
                               transmission 
                                
                               
                                   
                               
                                
                               delay 
                                
                               
                                   
                               
                                
                               time 
                             
                             framelength 
                           
                         
                         × 
                         allocation 
                          
                         
                             
                         
                          
                         ratio 
                       
                       ) 
                     
                   
                    
                   
                     
 
                   
                    
                   where 
                    
                   
                     
 
                   
                    
                   
                     
                       allowed 
                        
                       
                           
                       
                        
                       transmission 
                        
                       
                           
                       
                        
                       delay 
                        
                       
                           
                       
                        
                       time 
                     
                     framelength 
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
     
         [0000]    denotes a total allocation opportunity available for real-time data packet transmission and allocation ratio is a weight. If the allocation ratio is 1, this means that there is no margin in transmitting the real-time data packets. If the allocation ratio is less than 1, this means that the total allocation opportunity is less than a reference allocation opportunity, thus increasing the probability of transmitting the real-time data packets with a delay time longer than the allowed transmission delay time. Thus, the allocation ratio is 1 or above, preferably. If the allocation ratio is equal to or larger than 
         [0000]    
       
         
           
             
               
                 allowed 
                  
                 
                     
                 
                  
                 transmission 
                  
                 
                     
                 
                  
                 delay 
                  
                 
                     
                 
                  
                 time 
               
               framelength 
             
             , 
           
         
       
     
         [0000]    this means that real-time data packets unconditionally take priority over non-real time data packets in transmission, as done in conventional real-time data packet transmission. 
         [0033]    Then, the scheduler prioritizes the real-time transmission data packets of the real-time data packet groups in step  319 . The prioritization can be performed in various ways. One of them is to prioritize the real-time data packet groups so that the highest priority level is given to a real-time data packet group with the shortest allowed transmission delay time. Another way is to prioritize the real-time transmission data packets of the real-time data packet groups according to priority levels given to all the real-time data packets of the real-time data packet groups by the scheduler. 
         [0034]    In step  321 , the scheduler prioritizes the non-real time data packets for transmission and schedules the non-real time data packets according to their priority levels. In step  323 , the scheduler prioritizes the remaining real-time data packets except the already-scheduled real-time transmission data packets in each group. The scheduler ends the process. 
         [0035]    For example, if data packets to be scheduled for transmission in a frame include real-time data packets and non-real time data packets, the real-time data packets have the same allowed transmission delay time, thus being grouped into one group, and the number of the real-time data packets is A, the scheduler determines the number A′ of real-time transmission data packets according to Equation (1). Thus, the scheduler transmits the A′ real-time data packets with priority from among the A real-time data packets, transmits the non-real time data packets, and then schedules the remaining A-A′ real-time data packets, for transmission. 
         [0036]    As is apparent from the above description, the present invention enables scheduling to be performed taking into account a wireless channel environment as well as allowed transmission delay time. Therefore, the total performance of a communication system is increased. 
         [0037]    While the invention has been shown and described with reference to certain exemplary embodiments of the present invention thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the appended claims and their equivalents.