Abstract:
A method classifying service classes of packet data through an algorithm using several parameters is disclosed, in order to control the order of data transmission in a two-way communication network which supports various data transmissions having different kinds of quality of service (QoS).

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates generally to the control of the order of data transmission in a two-way communication network which supports various data transmissions having different kinds of quality of service (QoS). More particularly, the present invention is directed to a method for classifying service classes of packet data through an algorithm using several parameters.  
           [0003]    2. Description of the Related Art  
           [0004]    Modern two-way communication networks that provide for the transmission packet of data have become more and more important because these kinds of networks can make more efficient use of communication resources than conventional communication systems, such as the public switched telephone network (PSTN). For example, the delivery of telephone calls over a two-way network providing for-the transmission packet of data, has become popular due to potential cost savings. In addition, packet data transmission can allow different networks to connect easily to each other through an adapter such as a gateway. As the use of the Internet has dramatically grown, the demand for high speed data transmission has increased so fast that a method to be able to accommodate different networks is needed. In addition, a need exists for a technology to classify service classes provided by a plurality of data networks, such as a computer network, telephone network, or asynchronous transfer mode (ATM) network.  
           [0005]    However, conventional two-way communication networks are not designed to classify service classes of packet data. Therefore, each data packet generated from different data sources is processed by using a pure first-in-first-out (FIFO) method at a node that connects the plurality of networks.  
           [0006]    A conventional mobile wireless two-way communication network is shown in FIG. 1. Some terminals, such as cellular phone  101 , generate real-time packet data corresponding to a voice or video data stream that is time-sensitive, while internet protocol (IP) terminal  102  or personal digital assistant (PDA)  103  generate non-real time packet data that is less time sensitive than a real-time data stream.  
           [0007]    Referring to FIG. 1, packet data generated by each terminal  101 ,  102  and  103  is transmitted to a Base Station Controller (BSC)  106  through a Base Transceiver System (BTS)  105  where each data packet is multiplexed in a FIFO method, and then delivered to the computer network  107  (i.e. the Internet) or public switch telephone network  108  (PSTN) through a router (not shown) that is located in the BTS or BSC. However, a two-way communication network using the FIFO method can cause serious problems such as the late arrival of the data at a destination if the transmission of real-time packet data, such as audio, video, telemetry or control signals, is affected by the congestion of traffic. Furthermore, if the two-way communication network allows for the use of variable packet sizes to transmit or receive the packet data stream, the transmission of real time packet data is more seriously affected.  
           [0008]    Presently, there is no way to discriminate whether packet data corresponds to a real time packet data stream or a non-real time packet data stream in conventional two-way communication networks providing for packet data transmission. As a result, the conventional networks are not designed to efficiently handle real time packet stream transmission.  
         SUMMARY OF THE INVENTION  
         [0009]    It is therefore an object of the present invention to provide a method for efficiently transmitting packet data through a two-way communication network, particularly a mobile communication network and a computer network.  
           [0010]    It is another object of the present invention to provide a method for classifying service classes for transmission of packet data in a two-way communication network.  
           [0011]    It is still another object of the present invention to provide an algorithm to classify service classes for transmission of packet data in a two-way communication network.  
           [0012]    It is still another object of the present invention to a method for classifying packet data as a real time data stream or a non-real time data stream in a two-way communication network.  
           [0013]    According to an aspect of the present invention, there is provided a method for classifying a service class for transmission of packet data in a two-way communication network which supports transmission of packet data having various quality of service (QoS), comprising the steps of:  
           [0014]    determining a first parameter associated with a bi-directional full-duplex two-way communication characteristic of packet data transmission;  
           [0015]    determining a second parameter associated with a traffic characteristic of packet data transmission; and  
           [0016]    calculating a value to classify the service class of the packet data by using the first and second parameters. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0017]    The above and other objects, features and advantages of the present invention will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings in which:  
         [0018]    [0018]FIG. 1 illustrates a schematic diagram of a two-way communication network;  
         [0019]    [0019]FIG. 2 illustrates a flow chart of the process for entering a classification of service class mode for the transmission of packet data according to the present invention;  
         [0020]    [0020]FIG. 3 illustrates a flow chart showing a method for classifying service classes for transmission of the packet data according to the present invention;  
         [0021]    [0021]FIG. 4 illustrates a flow chart showing another method for classifying service classes for the transmission of the packet data according to the present invention;  
         [0022]    [0022]FIGS. 5 a  and  5   b  illustrate a flow chart showing a third method for classifying service classes for transmission of the packet data according to the present invention;  
         [0023]    [0023]FIG. 6 illustrates a block diagram of a two-way mobile communication network;  
         [0024]    [0024]FIG. 7 illustrates a structure of a Base Station Controller (BSC) which incorporates a selection and distribution unit (SDU) according to the present invention;  
         [0025]    [0025]FIG. 8 illustrates a structure of a Base Transceiver System (BTS) according to the present invention; and  
         [0026]    [0026]FIG. 9 illustrates a structure of a channel card according to the present invention. 
     
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0027]    A preferred embodiment of the present invention will be described in detail herein below with reference to the accompanying drawings. In the following description, numerous specific details are set forth to provide a more thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well known functions or constructions have not been described so as not to obscure the present invention.  
         [0028]    [0028]FIG. 6 illustrates a block diagram of a two-way mobile communication network. As will be discussed in more detail, exemplary network  600  includes a plurality of mobile terminals  601  for generating real time, near-real time, or non-real time packet data and for transmitting packet data through base transceiver system (BTS)  602  that manages the radio resources. The exemplary network  600  also includes base station controller (BSC)  603  which controls each BTS  602 , and gateway (GW)  604  that supports transfer of protocol between different networks, and is connected between mobile communication network  600  and a computer network (i.e. the Internet) or public switch telephone network (PSTN)  610 . The exemplary network  600  also includes selection and distribution unit (SDU)  605  for synchronizing data streams received from a plurality of links, and for then transmitting the synchronized data streams to an upper level (i.e. GW  604 ). The SDU  605  is usually located at BSC  603  or GW  604 .  
         [0029]    [0029]FIG. 7 illustrates a structure of a BSC incorporating a preferred exemplary embodiment of the present invention. As shown in FIG. 7, base station controller (BSC)  700  includes line interfaces  702 ,  703  to connect BTS  706  to GW  707 , and BSC main controller  701  that controls the overall operation of BSC  700 . Intra-BSC switch  705  is provided for routing packet data traffic, and SDU  704  is provided for multiplexing or de-multiplexing packet data transmitted or received from at least two links.  
         [0030]    [0030]FIG. 8 illustrates a structure of a BTS incorporating a preferred exemplary embodiment of the present invention. Referring to FIG. 8, BTS  800  includes line interface  806  for connecting BTS  800  to BSC  807 , RF transmitter/receiver  802  for communicating with mobile station (MS)  801 , BTS main controller  804  that controls the entire operation of BTS  800 , Intra-BTS switch  805  for determining the paths of traffic, and a plurality of channel cards  803  located between the Intra-BTS switch  805  and the RF transmitter/receiver  802 .  
         [0031]    With reference to FIG. 9, the structure of the channel card  803  of FIG. 8 is described in detail. The channel card  900  includes an input/output interface  905  that communicates with Intra-BTS switch  908 , main processor  904 , memory  901 , and modulator  902 /demodulator  903  for interfacing with RF transmitter  906  and RF receiver  907  respectively.  
         [0032]    Referring back now to FIG. 2. FIG. 2 is a flow chart illustrating a process for entering classification of service class mode for the transmission of the packet data according to the present invention. In FIGS.  2  to  5 , the following abbreviations of each parameter is set forth as follows:  
         [0033]    w_NEW: a weighted value associated with a current class of service;  
         [0034]    w_OLD: a weighted value associated with a previous class of service;  
         [0035]    T_Check: a period of time for classifying service classes of packet data following the current packet data;  
         [0036]    T_PrevForTxEnd: the end time of transmission of previous forward direction packet data;  
         [0037]    T_PrevRevTxEnd: the end time of transmission of previous reverse direction packet data;  
         [0038]    T_CheckInterval: a period of time for classifying service classes of packet data;  
         [0039]    T_PktArrival: the arrival time of packet data;  
         [0040]    T_PktTxTime: the time needed to transmit packet data;  
         [0041]    N_ForPkts: the number of packet data being served over the forward link for the T_CheckInterval;  
         [0042]    N_RevPkts: the number of packet data being served over the reverse link for the T_CheckInterval;  
         [0043]    D_ForJitter: the amount of packet jitter being served over the forward link for the T_CheckInterval; and  
         [0044]    D_RevJitter: the amount of packet jitter being served over the reverse link for the T_CheckInterval.  
         [0045]    Now, the process of FIG. 2 will be explained in detail. Referring to FIG. 2, main processor  904  of channel card  900  in FIG. 9 initializes all the parameters in step  201  when there is a need to classify the service class. The main processor  904  checks if the current time of the communication system corresponds to the period of time for classifying service classes (T_Check) in step  202 . If the current time matches T_Check, the algorithm for classifying service classes, which is stored in the memory  901  of the channel card  900  of FIG. 9, is implemented in step  207 (FIGS. 3 and 4). Otherwise, the main processor  904  checks if a new data packet transmitted over the forward or reverse link is detected in step  203 . If a new data packet is detected in step  203 , the main processor  904  determines whether the newly detected data packet has been transmitted over the forward link or not in step  204 . If the newly detected data packet was transmitted over the forward link, the main processor  904  increase the parameters N_ForPkts, D_ForJitter and T_PrevForTxEnd in step  205 , in accordance with Equation 1:  
           N _ForPkts= N _ForPkts+1;   (Equation 1.)  
           D _ForJitter= D _ForJitter+( T _PktArrival− T _PrevForTxEnd);  
           T _PrevForTxEnd= T _PktArrival+ T _PktTxTime;  
         [0046]    However, if it is determined in step  204  that the newly detected data packet was transmitted over the reverse link, the main processor  904  increase the parameters N_RevPkts, D_RevJitter and T_PrevRevTxEnd in step  206 , in accordance with Equation 2:  
           N _RevPkts= N _RevPkts+1;  
           D _RevJitter= D _RevJitter+( T _PktArrival− T _PrevRevTxEnd);  
           T _PrevRevTxEnd= T _PktArrival+ T _PktTxTime;  
         [0047]    The algorithm for classifying service classes of packet data will be explained in detail with reference to FIGS. 3, 4 and  5 , respectively. First, notations used in algorithm are set forth as follows:  
         [0048]    ∝ (duplex activity factor): a parameter associated with the two way communication characteristic  
         [0049]    β (frequency factor): a parameter associated with the traffic characteristic of packet data corresponding to how often the data packet is being served. There are two kinds of parameters. One is β_forward related to the forward channel. The other is β_reverse related to reverse channel.  
         [0050]    Δ1: a threshold value for determining ∝ (the duplex activity factor) on the basis of the number of packet data detected over the forward or reverse channel for T_CheckInterval.  
         [0051]    Δ2: a threshold value for determining β (the frequency factor) on the basis of the frequency of the data transmission over the forward or reverse channel for T_CheckInterval.  
         [0052]    Δ3: a threshold value for classifying service classes of packet data.  
         [0053]    1) Determination of ∝(Duplex Activity Factor)  
         [0054]    [0054]FIG. 3 illustrates the procedure of determination of duplex activity factor(∝) that will be described in detail. Referring to FIG. 2, at step  202  if the current time of communication network corresponds to T_Check, the main processor  904  measures the number of packet data being served over the forward link for the latest T_CheckInterval, namely N_ForPkts, and determining whether or not the measured N_ForPkts is larger than a threshold value Δ1 in step  301 . The number of packet data being served over the reverse link for the latest T_CheckInterval, N_RevPkts, is also measured by using the same method as described above in step  301 . In either parameter if at least one parameter is smaller than the threshold value Δ1, ∝ (duplex activity factor) is set to 0 in step  304 . Otherwise, it is set to 1 in step  303 .  
         [0055]    Herein, if the duplex activity factor (∝) is 1, the packet data being served is classified as symmetric service corresponding to real time data, for example telephone or video demand communication. If the duplex activity factor, (∝), however, is 0, the packet data is classified as asymmetric service. One example of asymmetric service is transmitting over the Internet through a computer network.  
         [0056]    2) Determination of β (Frequency Factor)  
         [0057]    With reference to FIG. 4, the procedure of determination of the Frequency factor (β) will be described in detail.  
         [0058]    Referring to FIG. 2, at step  202  if the current time of communication network corresponds to T_Check, the main processor  904  detects if any packet data is transmitted over the forward channel, and measures a parameter (N_ForPkts), which is the number of packet data being served over the forward link for the T_CheckInterval in step  401 . If the N_ForPkts is larger than 0, in step  402 , the main processor  904  divides the parameter value D_ForJitter, which is the number of packet jitter being served over the forward link for the T_CheckInterval, by the parameter N_ForPkts measured in step  401 , and determines whether or not the divided value is larger than a threshold value Δ2. In either step  401  or  402 , if there is no detected packet data transmitted over the forward channel, or the division value is larger than the threshold value Δ2, β_forward set to 0 in step  404 . Otherwise, it is set to 1 in step  403 .  
         [0059]    A parameter, β_reverse, will also be obtained the same way as deciding the parameter, β_forward, in accordance with steps  405 ,  406 ,  407  and  408  of FIG. 4.  
         [0060]    Frequency factor (β) is a parameter that sets forth how frequently packet data is detected over a channel for a predetermined period of time.  
         [0061]    3) Classification of Service Classes of Packet Data  
         [0062]    [0062]FIG. 5 a  illustrates the procedures for classifying service classes of packet data as real time or non-real time data.  
         [0063]    Once the two parameters, ∝ (duplex activity factor) and β (frequency factor), have been obtained as set forth in FIGS. 3 and 4, the main processor  904  calculates a value of parameter, w_NEW, by using the following mathematical equation in step  501 .  
           w _NEW={(δ× w _OLD)+∝+[(β_forward+β_Reverse)/2]}/(δ×2)   (EQ. 1)  
         [0064]    Herein, parameter δ represents a weight factor of w_OLD and may be chosen from any real number between 0 and 1.  
         [0065]    In step  502 , if the value of parameter w_NEW is larger than the threshold value Δ3, the main processor determines the service class of packet data being served as a non-real time data stream in step  503 . Otherwise the service class of packet data being served is treated as real time data stream in step  503 . After determining the service class of packet data being served, the main processor  904  substitutes the value of parameter, w_OLD, for the value of parameter, w_NEW, in step  505 .  
         [0066]    [0066]FIG. 5 b  shows another algorithm to classify the service class of packet data being served as several classes, including near-real time. In FIG. 5 b,  after obtaining a value of the parameter, w_NEW, in step  506  according to EQ. 1, the main processor  904  classifies the service class of packet data on the basis of the obtained value of the parameter in step  506 , and substitutes the value of parameter w_OLD for the value of parameter w_NEW in step  507 .  
         [0067]    Although the algorithm for classifying service classes of packet data is described with the method of using two parameters, ∝ (duplex activity factor) and β (frequency factor), it is possible to implement this invention with only using either the duplex activity factor (∝) or the frequency factor (β). In other words, the classification procedure of this invention can be performed by setting either parameter to zero. Therefore, communication operators can easily choose one of three algorithms to operate their network efficiently.  
         [0068]    Particularly, the exemplary embodiment of the present invention describes a method for classifying service classes of packet data being served into a real time data stream or a non-real time data stream. Nevertheless, the service class of packet data can be grouped in more than two classes by using several real numbers instead of the use of 1 and 0.  
         [0069]    The result of tests showing the advantage of the embodiment of present invention will be clear from the following tables below. The test has been implemented under the condition where there are 6 voice mobile terminals, and 20 data mobile terminals. In addition, voice traffic is assumed as an ON_OFF model, whose average time of duration of ON is 1 second, and average time of duration of OFF is 1.35 seconds, respectively.  
         [0070]    According to Table 1, when the BTS detects the service class of packet data being served every 60 ms and voice packet data is not detected during the time OFF, the second row indicates the probability to discriminate correctly the service class of packet data by only using the duplex activity factor ∝, and the third row indicates the probability by only using the frequency factor  
         [0071]    The thresholds value Δ2 and Δ3 assumed for the above test are 2 and 0.5 respectively.  
                             TABLE 1                           The estimation of the productivity of the present invention       (if voice packet data is not detected during the       duration of time OFF.)            Web viewing time   10 sec   30 sec               Probability to discriminate correctly the   0.846154   0.923077       service class if only using the duplex       activity factor (α) is used       probability to discriminate correctly the   0.884615   0.961538       service class if only the frequency       factor (β) is used                  
 
         [0072]    Table 2 also shows the result of the test under the same conditions as Table 1, but when voice packet data is detected during the duration of time OFF.  
                                           TABLE 2                           The estimation of the productivity of the present invention       (if voice packet data is detected during the duration of       time OFF)            Web viewing time   10 sec   30 sec                    Probability to discriminate correctly the   1   1       service class only using the duplex       activity factor(α)       Probability to discriminate correctly the   0.923077   0.961538       service class only using the frequency       factor(β)                  
 
         [0073]    The accuracy of classifying the service classes of packet data being served using this invention is improved. Furthermore, through the use of various parameters, such as ∝, β, Δ1, Δ2, Δ3, communication operators can operate their network efficiently by avoiding unnecessary delay of data transmission.  
         [0074]    The above description of the preferred embodiment is provided to enable any person skilled in the art to make or use the present invention. Various modifications to the preferred embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments. Thus, the present invention is not intended to be limited to the embodiment shown but is to be defined by the scope and spirit of the appended claims.