PRIORITIZATION AND FLOW CONTROL OF A SPREAD SPECTRUM MULTIUSER CHANNEL

Abstract: Packet data from a plurality of sources is received at a controller associated with the multiuser channel. Each packet of the packet data is prioritized based on in part the reroutability of a class of data types. Each packet is scheduled for transmission over the multiuser channel based on in part the prioritization. A backlog of packet data queued is tracked for transfer over the multiuser channel. Based on in part the tracked queue, the flow of data from each data source is limited.

Description: PRIORITIZATION AND FLOW CONTROL OF A SPREAD SPECTRUM MULTIUSER CHANNEL BACKGROUND 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. Figure 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 Figure 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. 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. Since shared and common channels carry data for different users, data is sent using protocol data units (PDUs) or packets. As shown in Figure 2, to regulate the flow of data from differing sources 48-52 into a channel 56, a controller 54 is used. One common channel used for transmitting data to the UEs 20-24 is the forward access common channel (FACH) 58. As shown in Figure 3, the FACH 58 originates in a 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 carriers 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. 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. 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. According, it is desirable to reduce the latency of data for shared and common channels without the problems associated with the prior art. SUMMARY Packet data from a plurality of sources is received at a controller associated with the multiuser channel. Each packet of the packet data is prioritized based on in part the reroutability of a class of data types. Each packet is scheduled for transmission over the multiuser channel based on in part the prioritization. A backlog of packet data queued is tracked for transfer over the multiuser channel. Based on in part the tracked queue, the flow of data from each data source is limited. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a simplified illustration of a wireless spread spectrum communication system. Figure 2 is an illustration of data flowing into a common or shared channel. Figure 3 is an illustration of data flowing into a FACH channel within a RNC. Figure 4 is an illustration of a prioritization scheme. Figure 5 is a prioritization scheme for use with a FACH channel. Figure 6 depicts a reservation mechanism used with a common or shared channel. Figure 7 depicts data source windows used with a common or shared channel. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Data prioritization 70 is used to reduce data latency in a multiuser channel controller 54 as illustrated in Figure 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. 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' data type. 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's controller. 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. A prioritization scheme 72 for use with a FACH 58 is shown in Figure 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. To facilitate this prioritization scheme 72 for the FACH 58, modifications to the RNC 36 are required. As shown in Figure 3, the prior art MAC-d 66 controls the DCCH, DTCH and MAC-d's H-ARQ. As shown in Figure 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. 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 Figure 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'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. 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 Figure 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 increases which increases the number of outstanding packets. Conversely, as the availability decreases, the size of the windows decreases 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.

Claims: CLAIMS What is claimed is: 1. A method of prioritizing packet data for transfer over a multiuser channel in a wireless spread spectrum code division multiple access communication system, the method comprising: receiving packet data from a plurality of sources at a controller associated with the multiuser channel; prioritizing each packet of said packet data based on in part reroutability of a class of data types of each said packet where the classes having a least reroutable types of packet take priority over classes with more reroutable types of packet; and scheduling each said packet for transmission over the multiuser channel based on in part said prioritization. 2. The method of claim 1 wherein said prioritization is based on in part a hierarchy of control, signaling and traffic type packets. 3. The method of claim 2 wherein the control packets take priority over the signaling packets which take priority over the traffic packets. 4. The method of claim 1 wherein the prioritization is based on in part a hierarchy of common, shared and dedicated type packets. 5. The method of claim 4 wherein the common and shared packets take priority over the dedicated packets. 6. The method of claim 1 wherein the classes of packet data comprise a control class with no reroutability, a signaling class with some reroutability and a traffic class with all reroutability. 7. The method of claim 6 wherein each class having a subhierarchy based on a number of users associated with the packet. 8. The method of claim 7 wherein the subhierarchy comprises common and shared packets having priority over dedicated packets. The method of claim 1 wherein the multiuser channel is a shared channel. 10. The method of claim 1 wherein the multiuser channel is a common channel. 11. The method of claim 10 wherein the common channel is a forward access control channel. 12. The method of claim 11 wherein the packets are prioritized into a highest, high medium or lowest priority; wherein the highest priority having downlink shared channel control, uplink shared channel control and shared hybrid automatic repeat request control packets, the high priority having dedicated hybrid automatic repeat request control packets, the medium priority having common control channel and dedicated control channel packets and the lowest priority having dedicated traffic channel packets. 13. A wireless spread spectrum communication system having a radio network controller controlling the communication of a plurality of communication nodes where each node supports communication for a plurality of user equipments, the system comprising: the plurality of communication nodes; and the plurality of user equipments having: means for receiving packet data transferred over a multiuser channel; and the radio network controller having: a controller associated with the multiuser channel having an input configured to receive packet data from the plurality of communication nodes; means for prioritizing each packet of said packet data based on in part reroutability of a class of data types of each said packet where the classes having a least reroutable types of packet take priority over classes with more reroutable types of packet; and means for scheduling each said packet for transmission over the multiuser channel based on in part said prioritization. 14. A controller for prioritizing packet data for transfer over a multiuser channel in a wireless spread spectrum code division multiple access communication system, the controller comprising: an input configured to receive packet data from a plurality of sources; and an output selectively outputting the received packet data for transmission over the multiuser channel based on in part a prioritization scheme; and wherein the prioritization scheme priorities each packet of the packet data based on in part reroutability of a class of data types of each said packet where the classes having a least reroutable types of packet take priority over classes with more reroutable types of packet. 15. A method of controlling packet data from multiple types of data sources, including data sources having reroutable data and data sources having non- reroutable data, the multiple types of data sources flowing into a multiuser channel in a wireless spread spectrum code division multiple access communication system, the method comprising: providing a queue for incoming data of each data source; tracking a backlog of data in the queue; limiting data flow from each of the data sources based on in part the tracked backlog; for each data source capable of rerouting packet data, selectively rerouting packet data intended to be transmitted over the multiuser channel to another channel based on in part the tracked backlog; and for each data source not capable of rerouting packet data, selectively not sending packet data intended to be transmitted over the multiuser channel based on in part the tracked backlog. 16. The method of claim 15 wherein the queue is a single queue associated with the multiuser channel. 17. The method of claim 15 wherein the queue comprises a plurality of queues, the plurality of queues comprising a queue per each data source and a queue for the multiuser channel. 18. The method of claim 17 wherein the data flow limiting is by changing a size of each data source queue in response to the tracked backlog. 19. The method of claim 18 wherein the size of each data source queue decreases as the tracked backlog increases and increases as the tracked backlog decreases. 20. The method of claim 15 wherein the multiuser channel is a shared channel. 21. The method of claim 15 wherein the multiuser channel is a common channel. 22. The method of claim 21 wherein the common channel is a forward access control channel. 23. A scheduling mechanism for controlling packet data from multiple types of data sources, including data sources having reroutable data and data sources having non-reroutable data, the multiple types of data sources flowing into a multiuser channel in a wireless spread spectrum code division multiple access communication system, the mechanism comprising: a queue associated with the multiuser channel having an input configured to receive incoming packet data from a plurality of data source queues, the multiuser channel queue outputting the received packet data for transmission over the multiuser channel; the plurality of data source queues, each data source queue uniquely associated with each data source and having an input configured to receive data from that queue's data source, each data source queue capable of varying its capacity; and wherein the varying capacity of each data source queue changes based on in part an availability of the multiuser channel queue. 24. The mechanism of claim 23 wherein the varying capacity of each data source queue decreases as the multiuser channel availability increases and increases as the multiuser channel availability decreases. 25. A wireless spread spectrum communication system having a radio network controller controlling the communication of a plurality of communication nodes where each node supports communications for a plurality of user equipments, the system comprising: the plurality of communication nodes; the plurality of user equipments having: means for receiving packet data transferred over a multiuser channel; and the radio network controller having: a queue for incoming data from each data source; means for tracking a backlog of packet data in the queue; means for limiting data flow from each of the data sources based on in part the tracked backlog; for each data source capable of rerouting packet data, means for selectively rerouting packet data intended to be transmitted over the multiuser channel to another channel based on in part the tracked backlog; and for each data source not capable of rerouting packet data, means for selectively not sending packet data intended to be transmitted over the multiuser channel based on in part the tracked backlog. 26. The system of claim 25 wherein the queue is a single queue associated with the multiuser channel. 27. The system of claim 25 wherein the queue comprises a plurality of queues, the plurality of queues comprising a queue per each data source and a queue for the multiuser channel. 28. The system of claim 27 wherein the limiting means limits by changing a size of each data source queue in response to the tracked backlog. 29. The system of claim 28 wherein the size of each data source queue decreases as the tracked backlog increases and increases as the tracked backlog decreases.

Inventors: TERRY STEPHEN E, TERRY, STEPHEN, E.
Applicants: INTERDIGITAL TECH CORP, TERRY STEPHEN E, INTERDIGITAL TECHNOLOGY CORPORATION, TERRY, STEPHEN, E.
Application year: 2000
Main classification: H04Q7
IPC codes: H04J13, H04L12, H04W72