Method and apparatus for data rate control in a communication system

In a wireless communication system (10) a method and apparatus for inhibiting data transmissions during a data service outage at the access terminal (16). The access terminal (16) transmits an outage indicator to the access network (12) prior to the outage. A data service outage may be due to a page monitor of the voice portion of the system, or to frequency searching during which the access terminal (AT) is not available to receive data. The access network (12) does not transmit data during the outage. In one embodiment, the indicator is a DRC null cover. In an alternate embodiment, the indicator is a DRC having a zero data rate.

BACKGROUND

The present invention pertains generally to communications, and more specifically to a method and apparatus for data rate control in a communication system.

Increasing demand for wireless data transmission and the expansion of services available via wireless communication technology have led to the development of specific data services. One such service is referred to as High Data Rate (HDR). An exemplary HDR service is proposed in “EIA/TIA-IS856 cdma2000 High Rate Packet Data Air Interface Specification” referred to as “the HDR specification.”

HDR service is generally an overlay to a voice communication system that provides an efficient method of transmitting packets of data in a wireless communication system. As the amount of data transmitted and the number of transmissions increases, the limited bandwidth available for radio transmissions becomes a critical resource. There is a need, therefore, for an efficient and accurate method of transmitting information in a communication system that optimizes use of available bandwidth.

SUMMARY

According to one aspect, a wireless apparatus operative in a wireless data communication system includes a processor and a memory. The memory is coupled to the processor. The processor is operative for a plurality of computer readable instructions. The instructions include a first set of computer readable instructions operative to determine if sufficient time slots are available to transmit a data packet prior to an outage, and a second set of computer readable instructions operative to generate an outage indicator to inhibit transmission of the data packet as sufficient time slots may not be available to receive the data packet.

According to another aspect, in a wireless communication system capable of data communications, a method determines a data service outage, and transmits a data outage indicator to inhibit data transmissions during an outage.

DETAILED DESCRIPTION

FIG. 1illustrates an architecture reference model for a communication system10having an Access Network (AN)12communicating with an Access Terminal (AT)16via an air interface14. In one embodiment, the system10is a Code Division Multiple Access (CDMA) system having a High Data Rate (HDR) overlay system, such as specified in the “TIA/EIA/IS-856 cdma2000 High Rate Packet Data Air Interface Specification” referred to as “the HDR standard.” The AN12communicates with AT16, as well as any other ATs within system10(not shown), by way of the air interface14. The AN12includes multiple sectors, wherein each sector provides at least one Channel. A Channel is defined as the set of communication links for transmissions between the AN12and the ATs within a given frequency assignment. A Channel consists of a Forward Link (FL) for transmissions from the AN12to AT16and a Reverse Link (RL) for transmissions from the AT16to the AN12.

FIGS. 2 and 3illustrate HDR operation of AN12and AT16, respectively. The AN12and AT16each include a processor and at least one memory storage device in addition to signal processing modules. The processor may be a central processing unit or may be a dedicated controller. The memory storage device stores computer-readable instructions and/or routines for controlling communication within the wireless system10. Within AN12, the memory storage device may store instructions to control data transmissions. Within AT16, the memory storage device may store instructions controlling data transmissions, including data requests.

FIG. 2illustrates a state diagram40for the data transmission states of AN12with respect to AT16, i.e., HDR states. Generally, the state of AN12refers to the state of a protocol engine in the AN12as it applies to a particular AT, such as AT16. Since the AN12communicates with multiple ATs, multiple independent instantiations of a protocol will exist in the AN12, each with its own independent state machine. The state diagram40includes two states: ENABLE and DISABLE, wherein each state references a data transmission to AN12. In the ENABLE state42, AN12is configured to receive requests for data transmissions from the AT16and to transmit any pending data transmissions to AT16. In the DISABLE state43, AN12discontinues transmission of pending data transmissions to AT16.

For data transmissions, the AN12receives a data request from the AT16. The data request specifies the data rate at which the data is to be sent, the length of the data packet transmitted, and the sector from which the data is to be sent. The AT16determines the data rate based on the quality of the Channel between AN12and AT16. In one embodiment the quality of the Channel is determined by the Carrier-to-Interference ratio, C/I. Alternate embodiments may use other metrics corresponding to the quality of the Channel. The AT16provides requests for data transmissions by sending a Data Rate Control, DRC, message via a specific channel referred to as the DRC channel. The DRC message includes a data rate portion and a sector portion. The data rate portion indicates the requested data rate for the AN12to send the data, and the sector indicates the sector from which the AN12is to send the data. Both data rate and sector information are required to process a data transmission. The data rate portion is referred to as a DRC value, and the sector portion is referred to as a DRC cover. The DRC value is a message sent to the AN12via the air interface14. In one embodiment, each DRC value corresponds to a data rate in kbits/sec having an associated packet length according to a predetermined DRC value assignment. The assignment includes a DRC value specifying a null data rate. In practice, the null data rate indicates to the AN12that the AT16is not able to receive data. In one situation, for example, the quality of the Channel is insufficient for the AT16to receive data accurately.

In operation, the AT16continuously monitors the quality of the Channel to calculate a data rate at which the AT16is able to receive a next data packet transmission. The AT16then generates a corresponding DRC value; the DRC value is transmitted to the AN12to request a data transmission. Note that typically data transmissions are partitioned into packets. The time required to transmit a packet of data is a function of the data rate applied.

In one embodiment, the AT16covers the DRC value with a DRC cover. The DRC cover is a coding applied to identify the sector from which the data is to be transmitted. In one embodiment, the DRC cover is a Walsh code applied to the DRC value, wherein a unique code corresponds to each sector in the Active Set of the AT16. The Active Set, AS, consists of those sectors, with which AT16is currently transmitting and receiving information. According to this embodiment, at least one Walsh code is designated as a null cover that does not correspond to any sector in the AS. The DRC value and DRC cover provide the complete data request, as the DRC value specifies a data rate and the DRC cover identifies a transmission sector. Alternate embodiments may use alternate covers or methods of identifying a transmission sector. Still other embodiments may include the sector identification in the DRC value.

Continuing withFIG. 2, the AN12transitions from the ENABLE state42to the DISABLE state43on receipt of a DRC value corresponding to a null data rate or on receipt of a DRC value having a null cover. On transition to the DISABLE state43, the AN12does not process any pending data transmissions to AT16. From the DISABLE state43, the AN12transitions to the ENABLE state42on receipt of a DRC value specifying a data rate other than the null rate, i.e., a valid non-null data rate. Similarly, the AN12transitions to the ENABLE state42on receipt of a DRC value having a DRC cover specifying a valid sector, i.e., a sector in the Active Set of AT16. In the ENABLE state42, AN12processes pending data transmission to AT16. Specifically, AN12processes the next data transmission according to the data rate specified in the DRC value and from the sector specified by the DRC cover.

FIG. 3illustrates a state diagram41for operation of AT16, indicating transitions between ENABLE state44and DISABLE state46. In the ENABLE state44, AT16requests data from AN12and processes data transmissions from AN12. In the DISABLE state46, AT16does not request data from AN12. The AT16enters the DISABLE state46when there are insufficient time slots available for a given data transmission or message. Determination of the number of time slots available, i.e. amount of time allowed for a data transmission, is a function of several conditions, including DRC start time, DRC length, the DRC value specifying the transmission, and the turnaround time. The time available for the AT16to receive a data transmission is measured from the DRC start time and continues through the length of the DRC and the turnaround time. For example, with reference toFIG. 5, the DRC start time is at time t0.

As illustrated inFIG. 5, the time available for AT16to receive a data transmission is any time prior to time t10, and effectively is measured from time t0to time t10. As illustrated, the DRC may have a length over multiple time slots. In this case the DRC(i) is made up of four time slots, wherein the DRC length is measured from time t0to t4, including four time slots: t0to t1; t1to t2; t2to t3; and t3to t4. The turnaround time is from time t4to t5. After the turnaround time, four time slots are available during which the data transmission may start. As the DRC window length is equal to the DRC length, the DRC window, therefore, includes the same number of time slots as the transmitted DRC. In other words, the DRC length is equal to the DRC window length. Specifically, as illustrated inFIG. 5, the length of DRC(i) is equal to the length of DRC(i) WINDOW. In addition to the DRC start time, the DRC length and the turnaround time, the time available is calculated based on the latest time possible for a transmission to complete. As the data transmission may begin during any of the four time slots of the DRC(i) WINDOW, the latest possible transmission completion would start at time t8and complete at time t10. Therefore, the latest possible transmission is used for the calculation of the time available. Note that it is possible to have a transmission processed from each of the time slots of the DRC window, where in this case there are a total of four possible transmissions. However, none of the four transmissions would complete later than the one starting at time t8.

Returning toFIG. 3, in effect, in the DISABLE state46the AT16does not request any further HDR transmissions. The AT16transitions to the DISABLE state to “tune away” to another frequency; and therefore, the data transmission frequency is not available for reception. The AT16may currently be processing data requested prior to transition to DISABLE state. Similarly, AT16may have stored such received data in a memory device for later processing. It is further possible that some data is stored for later processing and other data is being processed. While AT16does not request data transmissions while in the DISABLE state46, the AT16may continue to process data received prior to a transition to the DISABLE state46and may receive messages within the time available. In this way, if any pending message may complete transmission prior to the time when AT16will tune away, that message may be transmitted from AN12and received by AT16. In one embodiment, the AT16may process voice transmissions while in the DISABLE state46.

Multi-carrier wireless communication systems, such as systems supporting voice and data, incorporate different carrier frequencies for different services and/or sectors. For example, in one embodiment, a wireless HDR system incorporates different frequencies per sector. Other systems include a service that use different carrier frequencies, such as Short Message Service, SMS, facsimile service, etc. In multi-carrier systems it may be necessary for an AT to search for a different frequency, either periodically or one occurrence of an event. Anytime an AT searches for a different frequency, the AT tunes away. In an HDR system the AT may tune away to search for other sectors.

In operation, the AT16determines a data rate based on the quality of the channel. Based on the data rate, the AT16is able to calculate the time required to transmit the next data packet. The time is measured as time slots, where each slot is a predetermined duration of time. In HDR systems, the AT16may receive both voice and data communications. To affect this capability, the AT16switches between the data and voice portions of the system. While the AT16switches to the voice portion of the system, the data portion has a temporary outage within the AT16. Specifically, the AT16periodically monitors a paging channel for requests for voice communications.

In addition to processing the data transmissions from AN12, the AT16also processes voice transmissions. The voice transmissions may be received from AN12or from another AN within system10. To process voice transmissions, the AT16periodically checks for voice system pages indicating a voice call is pending. Note that a voice system may include other services, such as SMS and may also perform an inter-frequency search. The HDR and voice transmissions are each processed on different frequencies. To check for pages, the AT16monitors a specific frequency different from the HDR frequency. The check for pages results in an effective outage on the HDR frequency. To avoid missing any data packets that may be sent during an outage, the AT16determines when each outage is scheduled. If a given data transmission is able to complete before a scheduled outage, the AT16sends a request in the form of a DRC having a valid data rate and a valid sector to AN12. In other words, AT16compares the number of time slots N needed to transmit and receive the given data transmission or data packet to the number of time slots M before the scheduled outage. If N is less than or equal to M, the data transmission may proceed. If there is insufficient time to process the data transmission before the scheduled outage, i.e., N is greater than M, AT16provides a message instructing AN12not to transmit the next data transmission. In one embodiment, this message is a DRC having either a null data rate or a null cover.

As illustrated inFIG. 3, AT16transitions from the ENABLE state44to the DISABLE state46on determination that insufficient slots are available for the next data transmission. In the DISABLE state46, the AT16discontinues requesting data transmissions from AN12. The AT16transitions from the DISABLE state46to the ENABLE state44on determination that sufficient slots are available for the next data transmission. In the ENABLE state44, the AT16sends a DRC having a valid data rate and sector to the AN12and processes data transmissions received from AN12.

In one embodiment, illustrated inFIG. 4, the DRC is provided over multiple slots. The slots are labeled A, B, C and D, and begin at times t0, t1, t2, t3, respectively. The DRC value may use multiple slots, and may incorporate repetitive coding techniques. The AT16transmits the DRC information within the specified slots on the RL. The DRC values are determined and generated continuously by AT16.

The AN12receives the DRC information and prepares to send the data at the specified data rate and in the specified sector after a predetermined turn-around time. As illustrated inFIG. 5, a DRC window begins at time t5after the turn-around time. In one embodiment, the turn-around time is a half time slot. The data transmissions specified by DRC(i) may begin any time within the DRC(i) window, i.e., t5to t8.

FIG. 6illustrates a first scenario having insufficient time slots available for processing a next data transmission. To avoid missing any data packets sent during an outage, the AT16determines when the next outage is scheduled. Processing a given data transmission requires time slots from t8to t10. However, the AT16has an outage scheduled at the time marked tSWITCH, prior to time t10. Since insufficient time slots are available for receipt of the next data transmission, AT16provides an indication to AN12that no data should be sent during an upcoming outage. In one embodiment, the indication is to provide a null cover for the DRC. Effectively the null cover provides a data rate request without specifying a sector. The AN12receives the null cover and has insufficient information to provide the data, so no data is sent during that time period. In an alternate embodiment, the indication is a zero rate request. Again the AN12has insufficient information to provide the data and, therefore, forgoes the transmission for this time period.

FIG. 7illustrates a second scenario, wherein the data transmission specified by DRC(i) does not have sufficient time slots to be received by AT16. The data transmission would complete at time t10, which is after tSWITCH. The AT16continues generating DRC messages by determining data rates as a function of the channel. The next calculation results in a DRC(i+1) having a data rate higher than the data rate of DRC(i). According to this new calculated data rate, the data transmission specified by DRC(i+1) has sufficient time slots to be received by AT16, i.e., time slots t12to t13. In this case, the AT16transmits DRC(i) with a null data rate or a null cover and no data transmission begins from AN12during the DRC(i) window, i.e., t5to t8. However, the AT16transmits DRC(i+1) with a valid data rate and valid sector. In response AN12may transmit data as specified by DRC(i+1). In this case, the Channel condition changed sufficiently to increase the data rate available and reduce the transmission time needed for AT16to receive the data transmission.

The AT16continuously determines a data rate for receipt of data transmissions. The time required to process a data transmission at the data rate is determined and compared to the time available prior to a next outage. The data rate is translated to the corresponding DRC value if there is time available to receive the data transmission.FIG. 8illustrates a process50for generating DRC information in anticipation of an outage according to one embodiment. At step52the AT16calculates a data rate for receiving a given data transmission. Based on the data rate, the AT16calculates the number of time slots N required for to receive the transmission at the calculated data rate of step52. The AT also calculates the number of time slots M prior to a next outage at step54. A comparison of N and M is made at decision diamond56. If N is less than or equal to M, i.e., sufficient time slots are available for the next transmission, processing continues to step60to determine the DRC value corresponding to the calculated data rate. The DRC value is sent identifying the data rate and sector at step62. Processing continues to step66to process the outage. If there are insufficient time slots available at decision diamond58, processing continues to step64to send a DRC value having a null data rate or a null cover. At decision diamond68the AT16determines to continue the data transmission or to terminate the HDR transactions. For example, AT16may receive a voice call and terminate the data transmission until completion of the call. If the data transmissions are to continue, processing returns to step52to determine a next data rate. If no pages are received, the HDR transactions continue.

The method ofFIG. 8is applicable in a wireless communication system capable of data communications, wherein the access terminal first determines a data service outage and then transmits a data outage indicator to inhibit data transmissions during the outage. Effectively, the access terminal does not request any data transmissions that will not complete prior to the outage. The access terminal continues to provide DRC requests to the access network, wherein if time is not available for receipt of a data transmission, the corresponding DRC specifies a null data rate or a null sector. In response, the access network does not transmit data to the access terminal that will not be completed prior to the outage.

Thus, a novel and improved data rate control has been described. Those of skill in the art would understand that the data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description are advantageously represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof. Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. The various illustrative components, blocks, modules, circuits, and steps have been described generally in terms of their functionality. Whether the functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans recognize the interchangeability of hardware and software under these circumstances, and how best to implement the described functionality for each particular application. As examples, the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented or performed with a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components such as, e.g., registers and FIFO, a processor executing a set of firmware instructions, any conventional programmable software module and a processor, or any combination thereof designed to perform the functions described herein. The processor may advantageously be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, programmable logic device, array of logic elements, or state machine. The software module could reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary processor is advantageously coupled to the storage medium so as to read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a telephone or other user terminal. In the alternative, the processor and the storage medium may reside in a telephone or other user terminal. The processor may be implemented as a combination of a DSP and a microprocessor, or as two microprocessors in conjunction with a DSP core, etc.

Preferred embodiments of the present invention have thus been shown and described. It would be apparent to one of ordinary skill in the art, however, that numerous alterations may be made to the embodiments herein disclosed without departing from the spirit or scope of the invention. Therefore, the present invention is not to be limited except in accordance with the following claims.