Abstract:
A code division multiple access (CDMA) communication device comprises a medium access controller (MAC) configured to receive data from a plurality of channels. Each channel is associated with a priority and an identifier. The MAC is further configured to multiplex the data of the plurality of channels for transmission over a CDMA channel based on the priority.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a continuation of U.S. patent application Ser. No. 14/636,595, filed Mar. 3, 2015, which is a continuation of U.S. patent application Ser. No. 14/248,014, filed Apr. 8, 2014, which issued on Mar. 24, 2015 as U.S. Pat. No. 8,989,003, which is a continuation of U.S. patent application Ser. No. 12/603,974 filed on Oct. 22, 2009, which issued on Apr. 29, 2014 as U.S. Pat. No. 8,711,692, which is a continuation of U.S. patent application Ser. No. 10/832,678, filed Apr. 27, 2004, which issued on Oct. 27, 2009 as U.S. Pat. No. 7,609,632, which is a continuation of U.S. patent application Ser. No. 09/569,731, filed May 12, 2000, which issued on May 18, 2004 as U.S. Pat. No. 6,738,368, the contents of which are hereby incorporated by reference herein. 
     
    
     BACKGROUND 
       [0002]    The invention generally relates to channels used by multiple users in a wireless code division multiple access spread spectrum system. More specifically, the invention relates to a system and method of prioritizing and controlling the flow of data for common and shared channels in a spread spectrum system. 
         [0003]      FIG. 1  illustrates a simplified wireless spread spectrum code division multiple access (CDMA) communication system  18 . A node b  26  within the system  18  communicates with associated user equipment  20 - 24  (UE). The node b  26  has a single site controller (SC)  30  associated with either a single (shown in  FIG. 1 ) or multiple base stations  28 . A Group of node bs  26 ,  32 ,  34  is connected to a radio network controller (RNC)  36 . To transfer communications between RNCs  36 - 40 , an interface between the RNCs (IUR)  42  is utilized. Each RNC  36 - 40  is connected to a mobile switching center (MSC)  44  which in turn is connected to the core network  46 . 
         [0004]    To communicate within the system  18 , many types of communication channels are used, such as dedicated, shared and common. Dedicated channels transfer data between a node b  26  and a particular UE  20 - 24 . Common and shared channels are used by multiple UEs  20 - 24  or users. All of these channels carry a variety of data including traffic, control and signaling data. 
         [0005]    Since shared and common channels carry data for different users, data is sent using protocol data units (PDUs) or packets. As shown in  FIG. 2 , to regulate the flow of data from differing sources  48 - 52  into a channel  56 , a controller  54  is used. 
         [0006]    One common channel used for transmitting data to the UEs  20 - 24  is the forward access common channel (FACH)  58 . As shown in  FIG. 3 , the FACH  58  originates in an RNC  36  and is sent to a node b  28 - 34  for wireless transmission as a spread spectrum signal to the UEs  20 - 24 . The FACH  58  carries several data types from various sources, such as a common control channel (CCCH), dedicated control and traffic channel (DCCH and DTCH), and a downlink and uplink share channel (DSCH and USCH) control signaling. The FACH  58  also carries control signaling out of band, such as hybrid automatic repeat request (H-ARQ), and similar data transmitted via the IUR  62  from other RNCs  38 - 40 , such as CCCH, DCCH, DTCH and H-ARQ control data. 
         [0007]    Various controllers are used by the RNC  36  to control the flow of data. A radio link controller (RLC)  64  handles the CCCH. The dedicated medium access controller (MAC-d)  66  handles the DCCH, the DTCH and some out of band H-ARQ signaling. The shared medium access controller (MAC-sh)  68  handles the DSCH, USCH control signaling and out of band H-ARQ control signaling. Controlling the FACH  58  is the common medium access controller (MAC-c)  60 . 
         [0008]    Due to the multiple sources of data  48 - 52  that can be transmitted over a common or shared channel, the channel controllers  54  queue the data prior to transmission. If a large backlog develops in the queue, data in the queue develops a latency. A large latency of certain data such as control data will result in the failure of a channel. To alleviate this problem, the prior art either flushed the queue to reduce congestion or rerouted the data. Flushing the queue results in the loss of data and requires retransmission which is undesirable. Rerouting data already queued creates a duplication of data within the system and does not resolve the existing congestion. Accordingly, it is desirable to reduce the latency of data for shared and common channels without the problems associated with the prior art. 
       SUMMARY 
       [0009]    A code division multiple access (CDMA) communication device comprises a medium access controller (MAC) configured to receive data from a plurality of channels. Each channel is associated with a priority and an identifier. The MAC is further configured to multiplex the data of the plurality of channels for transmission over a CDMA channel based on the priority. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0010]      FIG. 1  is a simplified illustration of a wireless spread spectrum communication system. 
           [0011]      FIG. 2  is an illustration of data flowing into a common or shared channel. 
           [0012]      FIG. 3  is an illustration of data flowing into a FACH channel within an RNC. 
           [0013]      FIG. 4  is an illustration of a prioritization scheme. 
           [0014]      FIG. 5  is a prioritization scheme for use with a FACH channel. 
           [0015]      FIG. 6  depicts a reservation mechanism used with a common or shared channel. 
           [0016]      FIG. 7  depicts data source windows used with a common or shared channel. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0017]    Data prioritization  70  is used to reduce data latency in a multiuser channel controller  54  as illustrated in  FIG. 4 . For a particular common or shared channel, certain data must be transmitted on that channel and is shown in the figure as “mandatory”  88 . Other data is preferably sent on the particular channel but may be rerouted to another channel, such as a dedicated channel. This data is referred to as “best effort”  90 . Since “mandatory” data  88  is not reroutable, it takes priority over “best effort” data  90 . 
         [0018]    The type of the data within a packet, such as control  96 , signaling  98  and traffic data  100 , is also used for prioritization. To accomplish prioritization of the data type, control  96  and signaling  98  data packets are separated from traffic data packets  100 . One approach to separating the packets is to group similar data type packets together prior to reception at the controller  54 . Alternately, packets sent by each channel prior to reception by the controller  54  are provided with a flag or identifier indicating the packets&#39; data type. 
         [0019]    Since a prolonged delay in the transfer of control  96  or signaling  98  data results in a frozen channel, control  96  and signaling  98  data are given a higher priority than traffic data  100 . Additionally, data associated with multiple users, common or shared  92 , has a higher priority than data for a single user, dedicated  94 . The data prioritization scheme is typically stored in the software of the multiuser channel&#39;s controller. 
         [0020]    During periods of high congestion, data is rerouted to other channels based on its priority  70 . For instance, best effort dedicated traffic data is rerouted and mandatory common control data is not. By rerouting data prior to queuing, retransmissions will not be required. Accordingly, the amount of queued data is reduced resulting in lower data latency. Additionally, since the rerouted data is never queued, the duplication of data as experienced in the prior art is eliminated. 
         [0021]    A prioritization scheme  72  for use with a FACH  58  is shown in  FIG. 5 . Since the DSCH, H-ARQ of the MAC-sh have mandatory shared control data, they have the highest priority, highest. Although the H-ARQ of the MAC-d has mandatory control data, being dedicated it is assigned a slightly lower priority, high. The CCCH and DCCH are used for signaling and have the next level of priority, medium. The lowest level of priority is assigned to the DTCH because it has best effort dedicated traffic data. 
         [0022]    To facilitate this prioritization scheme  72  for the FACH  58 , modifications to the RNC  36  are required. As shown in  FIG. 3 , the prior art MAC-d  66  controls the DCCH, DTCH and MAC-d&#39;s H-ARQ. As shown in  FIG. 5 , each of these sources has a different priority. Since this data is multiplexed prior to prioritization at the MAC-d  66 , the multiplexer of the MAC-d  66  is moved to the MAC-c  60  to allow prioritization at the MAC-c  60 . Alternatively, the MAC-d  66  may send the priority and class (mandatory or best effort), such as by a flag or identifier, of each packet of the multiplexed data for prioritization at the MAC-c  60 . The data controlled by the RLC  64  and the MAC-sh  68  have equal priority and accordingly, neither requires modification. Using the stored priority list, the data from the various sources is scheduled for transmission and rerouted during periods of high congestion. 
         [0023]    Another technique for reducing the latency of data which may be combined with prioritization is to control the flow of data between the various controllers. As shown in  FIG. 6 , a scheduling mechanism  74  is used to regulate the data entering the common or shared channel  56 . The scheduling mechanism  74  tracks the backlog of data in the controller&#39;s queue. If the mechanism  74  recognizes congestion and that the data will not be transmitted in a certain period of time, access to the channel  56  limits the flow of data from the individual data sources. The individual sources will recognize the need to reroute data or to not attempt transmission. Using a flow control mechanism with a FACH, MAC and RLC (Layer 2), the latency of signaling is decreased thus increasing efficiency. 
         [0024]    To prevent the monopolization of the common or shared channel  56  by one data source  48 - 52  variable windows  76 - 86  may be used as shown in  FIG. 7 . Each data source  48 - 52  has a window or multiple windows  76 - 86  of outstanding data in the queue that it is permitted. The size of the window  76  is based on the requirements of the specific source. The window  76  is dynamically adjusted in response to the availability of the queue. As the availability of the channel increases, the size of the windows increase which increases the number of outstanding packets. Conversely, as the availability decreases, the size of the windows decrease which decreases the number of outstanding packets. As a result of the decreased windows, the data sources either reroute or stop sending packets to the windows.