HK1062238B - Dynamic bandwidth allocation for multiple access communication using session queues - Google Patents
Dynamic bandwidth allocation for multiple access communication using session queues Download PDFInfo
- Publication number
- HK1062238B HK1062238B HK04103812.6A HK04103812A HK1062238B HK 1062238 B HK1062238 B HK 1062238B HK 04103812 A HK04103812 A HK 04103812A HK 1062238 B HK1062238 B HK 1062238B
- Authority
- HK
- Hong Kong
- Prior art keywords
- sequence
- data
- channel
- base station
- subscriber unit
- Prior art date
Links
Description
Technical Field
The present invention relates to the field of communications, and more particularly, to wireless digital communication systems.
Background
The widespread use of wireless telephones and personal computers has resulted in a corresponding need for high-end telecommunications services that were once considered for only certain applications. In the eighties of the 20 th century, wireless voice communication using cellular telephone networks was widely used. Such services were primarily considered for the exclusive range of merchants due to their expensive user fees. This is also the case for access to remote distributed computer networks, which is why only merchants and large organizations have been able to afford the necessary computer and wired access devices until now. As a result of the widespread availability of both technologies, the current general user is not only enhanced with the desire to access the internet and private corporate intranets, but is also enhanced with the desire to access these networks wirelessly. It is of greater concern to users of portable computers, laptop computers, hand-held personal digital assistants, and the like, for such computers to access such networks without the restriction of a telephone line.
There is still no satisfactory solution for inexpensive, high-speed access to the internet, private intranets and other networks that can make widespread use of existing wireless infrastructure. This situation is very similar to artificial replicas in several untimely environments. First, the typical manner of providing high-speed data services to a business environment over a wireless network is incompatible with voice upgrade services in most homes or offices. This standard high speed data service also does not support efficient transmission for standard cellular wireless handsets well. Moreover, existing cellular networks were originally designed for the transmission of voice traffic only. The result is that the emphasis of current digital wireless communication protocols and modulation schemes is still voice dependent, although some schemes, such as data transmission regulation, provide some measure of asymmetry status. For example, the data rate of the IS-95 forward communication channel may be increased from 1.2 kilobits per second (kbps) modulation to 9.6kbps, referred to as rate set 1; and can be adjusted from 1.8kbps to 14.4kbps, referred to as rate set 2. However, in the reverse link communication channel, the data rate is fixed at 4.8 kbps.
Thus, existing designs of such systems typically provide wireless channels with forward regulation rates ranging only up to 14.4 kilobits per second (kbps). Such low rate channels do not lend themselves to transmission directly at 56.6kbps, which is the rate of inexpensive cable modems currently in use, let alone the higher rates used in Integrated Services Digital Network (ISDN) applications such as 128 kbps. This level of data rate has quickly become the lowest acceptable rate of behavior, such as browsing web pages. Other types of data networks using higher speed standard components, such as digital subscriber loop (xDSL) services, are currently being used in the united states. However, until recently, the cost has not dropped to the point of attracting residential users.
Although such networks were already deployed when originally designed for cellular networks, to a large extent, no provision has been made for providing higher speed ISDN or xDSL level data services based on cellular network topologies. Unfortunately, accessing a channel by multiple users in a wireless environment is expensive and competitive. Whether multiple access is provided by traditional Frequency Division Multiple Access (FDMA) using analog modulation based on a set of radio carriers, or by a new type of data modulation allowing sharing of radio carriers using Time Division Multiple Access (TDMA) or Code Division Multiple Access (CDMA), the radio spectrum characteristics are shared for the desired medium. This is in stark contrast to conventional digital transmission environments where wired media are available relatively inexpensively and thus do not have to be purposely designed for sharing.
Other considerations are the nature of the data itself. For example, with asymmetric data rate transmission requirements, accessing web pages is typically burst-oriented (burst-oriented). In particular, when a user of a remote client computer first assigns an address for a web page to a browser program. The browser program then transmits this web page address data, typically 100 bytes or less in length, over the network to the server computer. The server computer then responds to the content of the requested web page, which may contain 10 kbytes to several megabytes of text, pictures, audio, and even video data. It may then take several seconds or even minutes to read the contents of these pages before the user requests another page to download. Thus, the requirements for the forward channel data rate, i.e., the data rate from the base station to the user, will typically be many times the reverse channel data rate.
In an office environment, the nature of most employees' computer operating habits is that certain web pages are typically reviewed and then extended for other things, such as to access locally stored data or even to stop using the computer altogether. Thus, even though such users may desire to be connected to the internet or a private intranet throughout the day, the overall nature of the data transfer required to support the desired data transfer activities from and to a particular subscriber unit is sporadic in nature.
Furthermore, prior art wireless communication systems provide continuous bandwidth for individual users. I.e. in such networks the available bandwidth at all times in a communication session is constant and is primarily designed for voice-level use as described above.
Disclosure of Invention
There are a number of problems with prior art methods of data transmission over wireless networks. As noted above, the available bandwidth size of a single subscriber unit channel is typically fixed. However, data communication tends to be bursty in nature, often requiring a large amount of bandwidth at a particular time, and at other times requiring little to no bandwidth. Such wide fluctuations in bandwidth demand may occur very close in time.
For example, when browsing a website using the hypertext transfer protocol (HTTP), a user causes a client computer to send a small page request packet to the website server, primarily by selecting or clicking on a single link to one page. The request packet in the receive link direction requires very little bandwidth. In response to the request, the server sends one or more web pages ranging in size from 10 to 100 kilobytes (kB) or larger to the client, primarily in the forward link direction. The bandwidth required to receive these pages is much larger than to request them. Little consideration is given to the acceptable required suitable bandwidth to receive web pages due to the inefficiency of current wireless protocols to provide only a maximum data rate of about 9600bps under optimal conditions. This results in the server having to retain some of the requested data until the network can "keep up" with the transmission of the data, and also allows frustrated users to respond slowly and web pages to be downloaded multiple times. Essentially, the bandwidth to send a request is much greater than it needs to be, and the bandwidth to receive a page is not sufficient to transmit data at an acceptable rate.
Another problem with prior art systems is that the time that the page request message leaves the wireless network and becomes the wire bound is different from the time that the page of requested data enters the wireless portion of the data communication session, which is typically long. This delay from the time of the request to the time of receipt is one of the causes of network and server congestion.
The present invention is based in part on the observation that bandwidth is wasted during the time period in which data from the wireline network is awaited. In prior art wireless communication systems, a wireless client maintains a constant availability of the full bandwidth of a 9600bps wireless connection throughout a data communication session, even though it may be waiting to return to a page. Thus, the bandwidth that is not actually used is wasted because such data communication cannot allocate the channel resources of the session of the data communication being used to another session that requires more bandwidth. That is, if other concurrent wireless data communication sessions are generated for other subscriber units, such as in this example, these concurrent sessions would not be allocated to customers waiting only to return pages with any unused bandwidth in prior art systems.
The present invention provides high speed data and voice services over standard wireless connections, such as are available in Code Division Multiple Access (CDMA) type systems, via a unique combination of protocols and existing cellular signaling. The present invention achieves high data rates through more efficient allocation of access CDMA channels.
In particular, the present invention proposes a scheme for determining the effective allocation of N fixed rate data channels among M users. The present invention solves the problem of how to efficiently allocate channels when users compete to use them. For example, when there are more users than channels, the present invention determines a set of probabilities of when a user needs channel access and allocates channel resources accordingly. The present invention also dynamically takes or de-allocates channels (i.e., bandwidth) from idle users and provides or allocates these idle channels to users that require such bandwidth.
Channel resources are allocated based on buffer monitoring schemes provided on the forward and reverse links between the base station and the plurality of subscriber units. A data buffer is maintained for each connection between a base station and a subscriber unit. Each buffer monitors over time the threshold at which data is to be transferred in that buffer. Essentially, the threshold is the condition in which each respective subscriber unit being monitored measures the buffer "fullness" over time. For each buffer, a probability is calculated indicating how often a particular buffer of a particular user needs to transmit data and how much data will be transmitted. This probability value takes into account the rate at which data arrives at the buffer, and also takes into account which buffer threshold it exceeds, and also which resources in the form of channels have been allocated to the subscriber unit. Based on this probability value, the channel resources for data transmission can be allocated or deallocated to the subscriber unit depending on the advance requirement.
According to one aspect of the present invention there is provided a method for allocating and deallocating channel resources among a limited number of channel resources used for transmitting data from a base station transmitter to a plurality of subscriber unit receivers, the method comprising the steps of: storing data to be transmitted to a particular one of the subscriber unit receivers in a plurality of data sequences, wherein each receiver is associated with a plurality of sequences, each sequence is assigned to handle data traffic having a particular traffic type attribute, and each sequence also has at least one threshold associated with a level of data stored therein: receiving data at a transmit processor within the transmitter, wherein the data is from a plurality of sequences for transmission to the particular receiver; allocating a plurality of channel resources for the particular receiver; and monitoring, by a channel resource allocator, usage of each said sequence to determine urgency of data to be transmitted to a respective receiver of each sequence to dynamically reallocate an amount of channel resources for a communication link between a transmitter and a receiver, wherein said urgency is determined by said data service in dependence upon a plurality of said service type attributes and said at least one threshold associated with each respective sequence.
According to another aspect of the present invention, there is provided a wireless communication system including: a base station transmitter in a network comprising a plurality of base station transmitters, wherein the base station transmitter has a transmit processor and is connected to a wired network; a plurality of subscriber unit receivers in wireless communication with said base station transmitter; a plurality of data sequences in said base station transmitter operable to store data traffic to be transmitted to said subscriber unit receivers, each of said subscriber unit receivers being associated with at least one of said data sequences, each of said data sequences being operable to process data traffic having a particular traffic type attribute; a plurality of radio channels responsive to said transmit processor and operable to transmit data from said data sequence to each of said subscriber units; and a channel resource allocator in communication with said transmit processor operable to allocate channels for said subscriber unit receivers, said channel resource allocator being operable to monitor usage of each of said sequences to determine urgency of data to be transmitted to the respective subscriber unit receiver of each sequence, and further being operable to reassign a channel for a particular subscriber unit receiver, wherein urgency is determined by the data service in accordance with a plurality of service type attributes.
According to yet another aspect of the present invention there is provided a base station in a wireless communications network having a plurality of subscriber unit receivers, the base station comprising: a transmit processor; a plurality of data sequences for storing data traffic to be transmitted to said subscriber unit receivers over a plurality of radio channels responsive to a transmit processor, wherein each of said subscriber unit receivers is associated with at least one data sequence, each of said data sequences being operable for processing data traffic having a particular traffic type attribute; a channel resource allocator in communication with said transmit processor, operable to allocate channels to said subscriber unit receivers, said channel resource allocator being operable to monitor usage of each of said sequences to determine urgency of data to be transmitted to the respective subscriber unit receiver of each sequence, and further operable to reassign a channel for a particular subscriber unit receiver, wherein urgency is determined by the data service in accordance with a plurality of service type attributes.
Drawings
The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention.
Fig. 1 is a block diagram of an embodiment of a wireless communication system using a bandwidth management scheme in accordance with the present invention;
FIG. 2 is a schematic diagram of how channel assignments are made in a given Radio Frequency (RF) channel;
FIG. 3 is a diagram illustrating the protocol layers of a wireless communication system;
fig. 4 illustrates a structure of a session sequence and a data buffer applied in a base station;
FIG. 5 is a schematic diagram of a buffer level;
FIG. 6 is a diagram of buffer levels when resources are added;
FIG. 7 is a diagram of buffer levels when resources are removed.
Detailed Description
More particularly, and with initial attention now directed to the drawings, FIG. 1 is a block diagram of a system 100 for providing high speed data services over wireless connections via seamlessly integrated wired digital data protocols, such as Transmission control protocol/Internet protocol (TCP/IP), and digital modulation services wireless services such as Code Division Multiple Access (CDMA).
System 100 is comprised of two different types of components including subscriber units 101-1, 101-2, …, 101-n (collectively, subscribers 101) and one or more base stations 104 to provide the necessary functionality desired to achieve the embodiments of the present invention. Subscriber unit 101 provides wireless data and/or voice services and is capable of connecting devices such as laptop computers, portable computers, Personal Digital Assistants (PDAs), etc. to a network 105 such as the Public Switched Telephone Network (PSTN), a packet switched computer network, or other data networks such as the internet or private intranets through base station 104. The base station 104 may communicate with the network 105 based on any number of different effective communication protocols, which may be primary rate (Primary) ISDN, or other LAPD based on protocols such as IS-634 or V5.2, or even TCP/IP when the network 105 IS an Ethernet network such as the Internet. Subscriber unit 101 may be mobile in nature and capable of moving from one location to another while communicating with base station 104.
To simplify the description of the present invention, fig. 1 illustrates one base station 104 and three mobile subscriber units 101. The invention is equally applicable to situations where typically there are more subscriber units 101 communicating with one or more base stations 104.
It will be readily appreciated by those of ordinary skill in the art that fig. 1 may be a standard cellular communication system such as CDMA, TDMA, GSM or other system that allocates radio channels between base stations 104 and subscriber units 101. However, the invention is more particularly applicable to non-voice transmissions and can be better applied to variable bandwidth digital data transmissions. Thus, in a preferred embodiment, fig. 1 illustrates a CDMA-like system employing the principles of code division multiple access over the air interface. Of course, it IS to be understood that the present invention IS not limited to use with CDMA protocols such as IS-95 or emerging CDMA protocols such as the IS-95B standard. The invention is equally applicable to other multiple access techniques.
To provide data and voice communication between subscriber unit 101 and base station 104, wireless transmission of data is provided over a limited number of wireless channel resources through a forward communication channel 110 that conveys information from base station 104 to subscriber unit 101, and a reverse communication channel 111 that conveys information from subscriber unit 101 to base station 104. The present invention provides dynamic bandwidth management of these limited channel resources according to the needs of each subscriber unit 101. It should also be understood that data signals are transmitted bi-directionally through CDMA radio channels 110 and 111, i.e., data signals originating from subscriber unit 101 are coupled to network 105 and signals received from network 105 are coupled to subscriber unit 101.
Fig. 2 provides an example of how dynamic allocation of wireless bandwidth may be performed in system 100. First, a typical receiver within subscriber unit 101 or base station 104 may be commanded to tune to any 1.25 megahertz (MHz) channel over a larger bandwidth, such as up to 30MHz when allocated to the radio spectrum in a cellular telephone. In the united states, this bandwidth is typically effective between 800 and 900 MHz. For PCS type wireless systems, a bandwidth of 5 or 10MHz is typically allocated in the range of 1.8 to 2.0 GHz. In addition, there is typically a pair of matching bands activated simultaneously, separated by a guard band such as 80 MHz; the two matched frequency bands form a forward and reverse full duplex communication link between base station 104 and subscriber unit 101.
The transport processor (i.e., transceiver) can tune to the 1.25MHz radio frequency channel at any given point in time in subscriber unit 101 and base station 170. It is generally believed that providing this 1.25MHz radio frequency carrier is within acceptable bit error rate limits and preferably can provide a maximum data rate transmission speed generally equivalent to about 500 to 600 kbps. In the prior art, it is generally considered that in order to support XDSL type connections, which can accommodate information at most at 128kbps rates, each radio channel supports at most only about (500kbps/128kbps) or only three (3) subscriber units 101.
In contrast, the present system 100 subdivides the available radio channel resources into a relatively large number of sub-channels and then provides a method of allocating these sub-channels that best allows for data transmission between the base station 104 and each subscriber unit 101, and vice versa. In the embodiment illustrated in fig. 2, bandwidth is allocated to sixty-four (64) subchannels 300. It should be understood herein that in the case of a CDMA type system, subchannel 300 physically implements the coding of the data transmission using one of a number of different pseudo-random (PN) or orthogonal channel codes. For example, in the case of a single CDMA Radio Frequency (RF) carrier, subchannels 300 can be defined for each defined subchannel 300 by using different orthogonal codes. (subchannel 300 also refers to a "channel" in the discussion that follows, these two terms being used interchangeably before this paragraph).
As described above, the channels 300 are allocated only on demand. For example, a particular subscriber unit 101 is given multiple channels 300 when it requests a large amount of data transmission. In a preferred embodiment, a single subscriber unit 101 may be given up to 28 such channels in order to allow a data rate for the individual subscriber unit 101 of up to about 5 megabits per second. These channels 300 are deallocated when the subscriber unit 101 is relatively lightly loaded.
Maximum adaptability can be achieved by adjusting the coding rate and the type of modulation used in each connection, e.g., the number of channels. One particular scheme for assigning channel Coding, Forward Error Correction (FEC) Coding rate and symbol modulation type, is described in co-pending U.S. patent application serial No. 09/773,253 entitled "maximum data rate by Adjusting Code word and Code rate in CDMA system" filed on 31/1/2001, assigned to the same assignee, Tantivy communications corporation as the present application, and incorporated herein by reference.
Before discussing how the channels 300 are better allocated and the base station 104, the base station 104 establishes and allocates a corresponding data buffer 211 via 213. Data buffer 211 stores data to be transmitted to the corresponding subscriber unit 101 via 213. That is, in the preferred embodiment, the base station 104 has a separate data buffer for each subscriber unit 101. The number of buffers may change as the subscriber unit enters and exits a communication session or connection with the base station 104. There is always a one-to-one correspondence between the number of subscriber units 101 communicating with the base station 104 allocated through 213 and the number of buffers 211. Buffer 211, via 213, may be, for example, a queue or other storage structure controlled by software, or may be hardware controlled by fast buffering.
In the upper layer protocols implemented in the base station 104 and subscriber unit 101, the specific process of deciding how to allocate and reallocate channels can reside at the data service function.
Referring now to fig. 3 in particular, a diagram of protocol layers typically associated with third generation (3G) wireless communication services, for example, is illustrated. The protocol layers follow the Open Systems Interconnection (OSI) layering model, which includes a physical layer 120, a media access control sublayer 130, a link access control sublayer 140, and an upper communication layer 150. The physical layer 120 provides the physical layer processing such as coding and modulation of the respective logical channels. Access to the logical channels is controlled by different functions in the MAC sublayer 130, including the channel multiplexing sublayer 132, the radio link protocol sublayer 133, and the SRPB 134, and the signaling link access control function 141 is provided in the LAC sublayer 140.
Upper layer processing 150 includes upper layer signaling 151, data traffic 152, and voice traffic 153. Thus, the particular decision process to assign or de-assign channels to particular network layer connections resides in the data services function 152 of the upper layer 150. The data service function 152 communicates with the radio link protocol 133 at the MAC sublayer 130 to perform its functions such as sending assignment and de-assignment channel information end-to-end as needed.
Referring now to fig. 4, the various components of base station 104 and subscriber unit 101 are described in greater detail in connection with the process of determining when a channel should be allocated or deallocated.
Fig. 4 is a more detailed schematic diagram of an embodiment implementing a session-oriented caching scheme in the data service function 152. Fig. 4 also illustrates in particular how it is implemented in the base station 104. Network layer traffic is routed to base station 104 using typical network routing protocols, such as the transmission control protocol/internet protocol (TCP/IP). In the base station 104, the incoming traffic streams are split into individual traffic streams destined for individual subscriber units 101-1, 101-2, … 101-n. Traffic flow may be separated by, for example, examining the destination address field of the TCP/IP header. The individual traffic streams are first transmitted to the transmission modules 401-1, 401-2, … 401-n, with the transmission modules 401 corresponding one-to-one to each of the subscribing subscriber units 101. A given transmission module 401 is the first step in performing a chain of prefixed data processing steps for each subscriber unit 101. This process flow chain includes not only the functionality implemented by the transport module 401, but also a number of session sequences 410, a session multiplexer 420, and a transmission buffer 440. The outputs of the various transmission buffers 440-1, 440-2, …, 444-n are then combined by the transport processor 450 which forms the data for transmission over the forward wireless link 110.
Referring now again to the upper part of fig. 4, each transport module 401 is responsible for or monitors the communication flow by storing traffic flow data belonging to different transport layer sessions in a particular sequence in a sequence 410 of sessions associated with the transport module 401. For example, the transmission module 401-1 to which the processed data for routing to the subscriber unit 101 is assigned is associated with the number m of session sequences 410-1-1, 410-1-2, … 410-1-m. In a preferred embodiment, a given session is characterized by the use of a particular transport protocol. For example, in a protocol for session-oriented transmission, a session sequence 410 is assigned to each session. The session-oriented transport protocol comprises, for example, the transport control protocol. In protocols for sessionless transport, a session sequence 410 is preferably assigned to each data stream. The session-less protocol may be, for example, User Datagram Protocol (UDP). Thus, traffic destined for a particular subscriber unit 101-1 is not simply routed to the subscriber unit 101-1. First, different types of traffic from the transport layer side will be routed first to the individual session sequences 401-1-1, 401-1-2, … 401-1-m associated with this particular connection.
Another key function performed by the transport module 401 is to assign the priority associated therewith to the individual sequence 410-1. It will be appreciated subsequently that high priority traffic will be transmitted to buffer 440-1 before low priority traffic, depending on the available bandwidth for a particular subscriber unit 101. Which may include services that are not session-oriented, such as real-time services or data streaming protocols capable of transmitting voice and/or video information.
More particularly, the transmission module 401-1 reports the priority of each individual session sequence 410-1 to the session multiplexer 420 associated therewith. Typically, high priority traffic is selected by session multiplexer 420 to be loaded into transmission buffer 440-1 for low priority traffic. Traffic of the same priority is chosen arbitrarily fair using known techniques such as weighted fair queuing algorithm (WFQ) or other schemes that load the earliest sequenced data first.
The priority associated with each session sequence may be obtained from, for example, a profile data record maintained for each user. For example, some users may specify that web pages they request to be transmitted over a TCP-type session connection have a lower priority than audio streaming information carried in a UDP-type connection. The priority may also be based on other aspects of the data content being transmitted. For example, forward transmitted traffic from a private data network can be given a higher priority than forward transmitted traffic from a public network.
Each session multiplexer 420-1, 420-1, …, 420-n reports an indication of the status of all session sequences 410 currently being managed to the session manager 430. Session manager 430 also receives an indication of the current forward channel assignment given by channel allocator 209 for each individual subscriber unit 101. The channel allocator 209 monitors the usage of the transmission buffer 440 in the base station. Based on the received characterization information regarding the status of the amount of data queued in response to the transmission buffer 440, the channel resource allocator 209 then determines an urgency coefficient that represents the relative demand for each subscriber unit 101 to receive data on the active forward link wireless channel 110. Using these emergency coefficients, channel resource allocator 209 is able to dynamically allocate the optimum number of channel resources to be allocated to each subscriber unit 101. A detailed discussion of emergency coefficients in channel allocation will be explained in more detail below.
To estimate the amount of data in the wired network that can pass through at any particular instant in time, the session manager 430 also needs to continue running the estimate of latency or prepare the call network 105 to any particular server at the end of another transport layer session. Thus, the transport module 401 monitors individual session flows from different network servers located in the wired network 105 and is able to estimate the delay time, for example by determining a typical TCP round trip time. The transport module 401 reports this information to the session manager 430.
The session manager 430, containing all this information, can send a channel request to the channel resource allocator 209 when it perceives that the current incoming data stream from a particular individual subscriber unit 101 in the wired network is greater than the data rate allowed for the subscriber unit by the current channel configuration. As previously described, the channel configuration may include the number of channels allocated for each particular channel, the coding rate, and the symbol modulation rate. Likewise, session manager 430 may notify channel resource allocator 209 when it is able to release the allocated channel resources for a particular subscriber unit 101-1 if the incoming data stream from wired network 105 is less than the maximum data rate currently allocated to the forward link.
If a split connection transmission method is used (as described in RFC 2757-Long Thin Network (Long Thin Network)), seehttp://www.ietf.org/rfc/rfc2757.txtnumber=2757) The session manager 430 can send a request to the transfer data module 401 to abort any particular session or multiple session data flows. If the session is a TCP session, the transport module 401 can then actively place the TCP sender at the other end of the network 105 in a so-called persistent mode, thereby suspending all further session flows. If the session is streaming or an unreliable protocol, such as UDP, the loss profile will determine the nature of how the queue and incoming data are lost. If the session manager 430 requests that more forward bandwidth should be allocated for a particular subscriber unit 101-1 and the request is denied, session information will be aborted or lost.
If the channel request is denied, session manager 430 then determines the adjusted, aborted, or lost session information based on the content priority information. As indicated above, the transport session manager 401 maintains information to allow their individual session sequences 410 to be prioritized according to content, so these transport modules 401 can initiate and/or terminate the correct session sequence according to priority selection.
Each transmission buffer 440 is marked for calculating the emergency coefficient level of each buffer 440. The emergency coefficient is used by the channel allocator 209 to determine the allocation of channels on a per user basis. The levels indicated in fig. 4, such as L1, L2, and L3, represent borderline points for channel allocation and/or de-allocation. In particular, when the transmission buffer 440-1 is full and the rank is crossed, an indication that the subscriber unit 101-1 may need to allocate more forward link bandwidth is sent to the channel resource allocator 209. If the request is denied, channel resource allocator 209 then sends an indication of this to session manager 430.
Conversely, when transmission buffer 440-1 is free and the level is crossed, an indication is sent to channel resource allocator 209 and the associated subscriber unit 101-1 may take or deallocate the forward traffic channel without affecting end-to-end performance.
The values of the levels L1, L2 … L3 can therefore be defined below the flow threshold. This level basically represents the sum channel coding parameters of the effective coding rate allocated for each individual subscriber unit 101. Two conditions are required to determine the threshold level. First, the round trip time of transmissions over a wired network needs to be estimated or an initial approximation needs to be set. For a TCP session, estimates of consecutive Round Trip Times (RTTs) are made. For a stream oriented session like UDP another approximation can be derived, for example a function that optimizes how much queue data the user experiences in a specific real-time application using the UDP protocol.
Second, the data rate over the air interface needs to be determined. Which is a function of the current Code Rate (CR) and the number of assigned channels (NCH) assigned to a particular subscriber unit. These values are determined by the channel resource manager 209.
A code rate determined by the quality of the radio connection is allocated to the subscriber unit 101. Users may also be assigned a certain number of channels for each assigned code rate. Thus, there is a scheme for assigning a rank to each effectively assigned channel. Therefore, level L1-LC is available at any time for a given instant for a service connection, where C indicates the number of allocated channels. The level L1-LC thus changes the number of channels allocated each time, while also changing the code rate each time. In particular, the particular buffer level associated with each L level will vary depending on the available code rate.
Fig. 5 illustrates a schematic diagram of a special transmission buffer 440. Based on knowledge of the round trip transmission time in the network 105 and the current available data rate over the forward link wireless channel 110 assigned to a particular subscriber unit 101, the level L1-LC can be calculated as follows:
ln underflow threshold DRAir(coding rate and channel configuration) Δ t,
wherein DRAirIs the data rate over the air interface and the round trip transmission time is the estimated time or set round trip time over the wired network 105. At is the time interval over which the incoming data stream is monitored. If this scheme is only used to optimize session-oriented TCP connections, Δ t can also be considered as the maximum or average of all round-trip times estimated by the TCP endpoints, depending on the space of the validity buffer.
The conditions for sending a request for more bandwidth to be allocated to a particular subscriber unit 101 are described by the following relationship:
whereinΔ t is the time interval, BC, used to monitor the incoming data streamΔtIndicating the current transmission buffer capacity at the beginning of a particular time frame, FiniFin reductionmaxRepresenting all incoming data flows from the session or to the transmission buffer 440, L (n +1) is the total amount of data that can be transmitted over the wireless forward link 110 for the next incremental channel configuration in the Δ t time.
Note that for a Session-oriented TCP stream, its maximum FinsubiEqual to the maximum notification reception window divided by the round trip transmission time. The merging of all incoming streams in a particular time interval is greater than the total amount of data that can be transmitted the next time the channel capacity allocation is increased in the at time interval.
Fig. 6 illustrates this situation with the arrow representing the incoming flow block during the at time period in the figure.
The conditions for sending a channel deallocation request for a subscriber unit are given by the following relation:
where l (n) is the total amount of data that can be transmitted over the assigned forward link channel 110 during the delta-t time configured for the current channel. This happens when all incoming streams are merged in a certain time interval, Δ t being smaller than the total amount of data transmitted in this time interval of the current channel capacity allocation. This is indicated in the diagram 7 by a block arrow representing the number of incoming flows over time at.
Note that in actual implementations, transmission buffer 440 may simply be a theoretical sequence represented by one data structure in session management layer 430 or session multiplexer 420. The transmission buffer 440 is effectively a combination of all of the data residing in all of the session sequences 410 for any particular subscriber unit 101. The emergency coefficients and levels are determined for the transmit buffer data structure using the same logic, i.e., this logic may be implemented in session manager 430 and/or session multiplexer 420 rather than as a separate physical data storage structure and associated logic.
The present invention thus provides an advantageous way of loading the transmission sequence and how to request and/or allocate and/or deallocate additional resources on a per user basis. Depending on the observed buffer fullness, the assignment or reassignment of data classes and channels can be monitored for individual transmission sequences to a particular user. The channel resource allocator 209 thus knows the type of traffic passing through the base station based on the content of the application. Which allows more intelligent efficient channel allocation when competing for available resources. Thus, the connection between the base station and the subscriber unit in the forward link direction is optimized by allocating and deallocating transport layer known channels based on the currently configured forward link radio channel capacity in combination with the calculation of overflow and underflow thresholds.
While the present invention has been particularly shown and described with reference to the preferred embodiments, 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 scope of the invention encompassed by the appended claims.
Claims (42)
1. A method for allocating and deallocating channel resources among a limited number of channel resources used for transmitting data from a base station transmitter to a plurality of subscriber unit receivers, said method comprising the steps of:
storing data to be transmitted to a particular one of the subscriber unit receivers in a plurality of data sequences, wherein each receiver is associated with a plurality of sequences, each sequence is assigned to handle data traffic having a particular traffic type attribute, and each sequence also has at least one threshold associated with a level of data stored therein:
receiving data at a transmit processor within the transmitter, wherein the data is from a plurality of sequences for transmission to the particular receiver;
allocating a plurality of channel resources for the particular receiver; and
monitoring, by a channel resource allocator, usage of each said sequence to determine urgency of data to be transmitted to a respective receiver of each sequence to dynamically reallocate an amount of channel resources for a communication link between a transmitter and a receiver, wherein said urgency is determined by said data traffic in dependence upon a plurality of said traffic type attributes and said at least one threshold associated with each respective sequence.
2. The method of claim 1, wherein the at least one threshold associated with each sequence comprises a plurality of thresholds, wherein each threshold is associated with a rank of data stored in the respective sequence.
3. The method of claim 1, wherein the service type attribute comprises a content type.
4. The method of claim 1, wherein the traffic type attribute comprises a transport mechanism type.
5. The method of claim 3, wherein the content type is selected from the group consisting of File Transfer Protocol (FTP) and Hypertext transfer protocol (HTTP).
6. The method of claim 4, wherein the transport mechanism type is selected from a group consisting of transmission control protocol/internet protocol (TCP/IP) and User Datagram Protocol (UDP).
7. The method of claim 2, wherein the sequence threshold indicates a data underflow.
8. The method of claim 1, wherein each sequence is associated with a different transport layer session for a given user.
9. The method of claim 2, wherein the sequence threshold is determined by a code rate assigned to a communication channel associated with a link between a transmitter and a receiver.
10. The method of claim 2, wherein the sequence threshold depends on a round trip transmission time.
11. The method of claim 2, wherein the sequence threshold depends on a round trip transmission time and a coding rate.
12. The method of claim 2, wherein the sequence threshold depends on an expected quality and data rate in the channel.
13. The method of claim 2, further comprising the steps of:
an emergency coefficient associated with each sequence is calculated based on statistical information gathered by accumulating the data at a plurality of thresholds associated with each sequence, wherein the emergency coefficient represents the relative need for the transmitter associated with each sequence to transmit data, and the emergency coefficient for each sequence is used to determine the amount of channel resources to be reallocated to a connection between the transmitter and the receiver.
14. The method of claim 13, further comprising:
it is determined how the available channels are allocated between the sequences by determining whether the buffer with the largest emergency coefficient U exceeds a respective high threshold and whether the sequence with the smallest emergency coefficient U exceeds a respective low threshold, and if so, deallocating one resource channel from the sequence with the smallest emergency coefficient and reallocating the one resource channel for the sequence with the largest emergency coefficient.
15. A wireless communication system, comprising:
a base station transmitter in a network comprising a plurality of base station transmitters, wherein the base station transmitter has a transmit processor and is connected to a wired network;
a plurality of subscriber unit receivers in wireless communication with said base station transmitter;
a plurality of data sequences in said base station transmitter operable to store data traffic to be transmitted to said subscriber unit receivers, each of said subscriber unit receivers being associated with at least one of said data sequences, each of said data sequences being operable to process data traffic having a particular traffic type attribute;
a plurality of radio channels responsive to said transmit processor and operable to transmit data from said data sequence to each of said subscriber units; and
a channel resource allocator in communication with said transmit processor operable to allocate channels for said subscriber unit receivers, said channel resource allocator being operable to monitor usage of each of said sequences to determine urgency of data to be transmitted to the respective subscriber unit receiver of each sequence, and further being operable to reallocate channels for particular subscriber unit receivers, wherein urgency is determined by data traffic in accordance with a plurality of traffic type attributes.
16. The system of claim 15, wherein each sequence further comprises a plurality of sequence thresholds, wherein the thresholds indicate levels of data in the sequence.
17. The system of claim 15, wherein the service type attribute comprises a content type.
18. The system of claim 15, wherein the service type attribute comprises a transport mechanism type.
19. The system of claim 17, wherein the content type comprises at least one of File Transfer Protocol (FTP) and hypertext transfer protocol (HTTP).
20. The system of claim 18, wherein the type of transport mechanism comprises at least one of transmission control protocol/internet protocol (TCP/IP) and User Datagram Protocol (UDP).
21. The system of claim 16, wherein the sequence threshold indicates a data underflow.
22. The system of claim 15, further comprising a plurality of transport layer sessions, wherein each sequence is associated with a different transport layer session for a given user.
23. The system of claim 16, wherein the sequence threshold indicates a coding rate assigned to a communication channel associated with a link between a transmitter and a receiver.
24. The system of claim 16, wherein the sequence threshold is dependent on a round trip transmission time.
25. The system of claim 16, wherein the sequence threshold is dependent on a round trip transmission time and a coding rate.
26. The system of claim 16, wherein the sequence threshold depends on an expected quality and data rate in the channel.
27. The system of claim 15, wherein the channel resource allocator is further operable to calculate an emergency coefficient associated with each sequence based on statistical information collected for data accumulation at a plurality of thresholds associated with each sequence, wherein the emergency coefficient represents a relative need for a transmitter associated with each sequence to transmit data, and wherein the emergency coefficient for each sequence is used to determine an amount of channel resources to be reallocated to a connection between the transmitter and a receiver.
28. The system of claim 27 wherein the channel resource allocator is further operable to determine how to allocate available channels between the sequences by determining whether the sequence having the largest emergency coefficient U exceeds a corresponding high threshold and the buffer having the smallest emergency coefficient U exceeds a corresponding low threshold, and if so, deallocating one resource channel from the sequence having the smallest emergency coefficient and reallocating one resource channel for the sequence having the largest emergency coefficient.
29. A base station in a wireless communication network having a plurality of subscriber unit receivers, the base station comprising:
a transmit processor;
a plurality of data sequences for storing data traffic to be transmitted to said subscriber unit receivers over a plurality of radio channels responsive to a transmit processor, wherein each of said subscriber unit receivers is associated with at least one data sequence, each of said data sequences being operable for processing data traffic having a particular traffic type attribute;
a channel resource allocator in communication with said transmit processor, operable to allocate channels to said subscriber unit receivers, said channel resource allocator being operable to monitor usage of each of said sequences to determine urgency of data to be transmitted to the respective subscriber unit receiver of each sequence, and further operable to reassign a channel for a particular subscriber unit receiver, wherein urgency is determined by the data service in accordance with a plurality of service type attributes.
30. The base station of claim 29, wherein each sequence further comprises a plurality of sequence thresholds, wherein the thresholds indicate levels of data in the sequence.
31. The base station of claim 29, wherein the traffic type attribute comprises a content type.
32. The base station of claim 29, wherein the traffic type attribute comprises a transport mechanism type.
33. The base station of claim 31, wherein the content type comprises at least one of File Transfer Protocol (FTP) and hypertext transfer protocol (HTTP).
34. The base station of claim 32, wherein the type of transport mechanism comprises at least one of transmission control protocol/internet protocol (TCP/IP) and User Datagram Protocol (UDP).
35. The base station of claim 30, wherein the sequence threshold indicates a data underflow.
36. The base station of claim 29, further comprising a plurality of transport layer sessions, wherein each sequence is associated with a different transport layer session for a given user.
37. The base station of claim 30, wherein the sequence threshold indicates a code rate assigned to a communication channel associated with a link between a transmitter and a receiver.
38. The base station of claim 30, wherein the sequence threshold depends on a round trip transmission time.
39. The base station of claim 30, wherein the sequence threshold depends on a round trip transmission time and a coding rate.
40. The base station of claim 30, wherein the sequence threshold depends on an expected quality and data rate in the channel.
41. The base station of claim 29, wherein the channel resource allocator is further operable to calculate an emergency coefficient associated with each sequence based on the statistical information gathered by accumulating the data at the associated plurality of thresholds for each sequence, wherein the emergency coefficient represents a relative demand for transmission of data by a transmitter associated with each sequence, and wherein the emergency coefficient for each sequence is used to determine an amount of channel resources to be reallocated to connections between transmitters and receivers.
42. The base station of claim 41, wherein the channel resource allocator is further operable to determine how to allocate available channels in the sequence by determining whether the sequence having the largest emergency coefficient U exceeds a respective high threshold and the sequence having the smallest emergency coefficient U exceeds a respective low threshold, and if so, deallocating one resource channel from the sequence having the smallest emergency coefficient and reallocating said one resource channel for the sequence having the largest emergency coefficient.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/773,252 | 2001-01-31 | ||
US09/773,252 US6542481B2 (en) | 1998-06-01 | 2001-01-31 | Dynamic bandwidth allocation for multiple access communication using session queues |
PCT/US2002/001512 WO2002061993A1 (en) | 2001-01-31 | 2002-01-17 | Dynamic bandwidth allocation for multiple access communication using session queues |
Publications (2)
Publication Number | Publication Date |
---|---|
HK1062238A1 HK1062238A1 (en) | 2004-10-21 |
HK1062238B true HK1062238B (en) | 2009-10-23 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100459467C (en) | Dynamic bandwidth allocation for multiple access communications using session sequences | |
KR100571440B1 (en) | Dynamic Bandwidth Allocation for Multiple Access Communication Using Buffer Urgent Factor | |
EP1245127B1 (en) | System for allocating resources in a communication system | |
HK1062238B (en) | Dynamic bandwidth allocation for multiple access communication using session queues | |
HK1135831A (en) | A code division multiple access user device | |
CA2581871C (en) | Dynamic bandwidth allocation for multiple access communications using buffer urgency factor | |
HK1151931B (en) | Dynamic bandwidth allocation for multiple access communication using session queues | |
CA2615412A1 (en) | Dynamic bandwidth allocation for multiple access communication using session queues |