This invention is generally in the field of radio communication systems and more specifically in the field of packet radio communication system protocols.
In wireless networks employing General Packet Radio Service (GPRS), a coding scheme for data message transmissions is selected by rules embedded in a fixed network and in a mobile station that are designed to result in the highest data throughput with the fewest possible retransmissions. GPRS is an extension of circuit-switched networks and data transmission services that uses packet radio transmissions to carry data messages using protocols such as Internet Protocol (IP) or X.25 information from mobiles to the network and visa versa, in data blocks, or packets. GPRS is an extension to the circuit-switched Global System for Mobile communications (GSM), having four different coding schemes with effective data rates of 9.05, 13.4, 15.6 and 21.4 kilobits per second (code rates ½, ⅔, ¾ and 1) when using one of the eight time slots available within a TDMA frame.
Some GPRS-enabled fixed networks can transmit data to a mobile station, such as a cell phone, an Internet-enabled mobile phone or a personal digital assistant, using a selected one of the four coding schemes. However, the mobile unit may have resource limitations that prevent it from accepting data at some of the higher coding schemes, such as an effective data rate that is less than the maximum data rate that the mobile unit supports. Such a resource limitation arises when the mobile unit is coupled to a peripheral device using an effective downlink data transfer rate that is less than the maximum downlink radio channel data rate that the mobile unit can support. For example a mobile unit may act as a radio frequency modem for a personal computer (the peripheral, for the purposes of this document) that is coupled to the mobile unit by a serial link that has an effective data rate less than the effective data rate of the RF downlink. Another inherent resource limitation is a finite depth of a buffer memory of the mobile unit used to buffer data being sent to the peripheral device through the mobile unit. The fixed network can send data to the mobile station at a data rate greater than the effective downlink data rate determined by the link between the mobile unit and the peripheral, and the mobile unit can accept and acknowledge that data, until the buffer is full. At that time, the mobile unit has to being rejecting some of the downlink data packets. With the move toward third-generation network standards, there are even more possible problems of these types with high-performance networks that use a wider variety of coding schemes.
Current GPRS fixed networks typically use dynamic link adaptation methods that monitor the quality of packet transfers and select one of the four presently defined channel coding schemes (also referred to herein simply as “coding schemes”) based on changing radio conditions. As technologies and protocols emerge and evolve for wireless data transmissions, additional coding schemes will become available. For example, GSM networks incorporating Enhanced Data for Global Evolution (EDGE) with packet-switched enhancements for GPRS (also called Enhanced General Packet Radio Service) have nine additional coding schemes for increased performance. Other wireless network technologies such as GSM/EDGE Radio Access Network (GERAN) and Universal Mobile Telecommunications System (UMTS) provide enhanced coding schemes, requiring network algorithms that can determine the coding scheme adaptability of the mobile station and direct coding scheme commands to the mobile station based on the adaptability. When the protocol or implementation of the radio communication system does not allow the reporting of the above mentioned resource limitations of mobile stations, downlink coding scheme determination methods in current use result in sub-optimal data throughput due to re-transmissions that occur when the effective downlink data rate of the selected coding scheme exceeds the effective data transfer rate between the mobile unit and a peripheral device.
The present invention is illustrated by way of example and not limitation in the accompanying figures, in which like references indicate similar elements, and in which:
Should
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of embodiments of the present invention.
The present invention provides a method and apparatus that adapt coding schemes to data resource limits of a mobile station coupled to a peripheral device, thereby maximizing downlink data throughput to mobile stations connected to a radio communication network that have a data transfer rate between the mobile station and the peripheral that is lower than the data rate of the highest coding scheme that is supported by the mobile station.
Before describing in detail the particular method and apparatus in accordance with the present invention, it should be observed that the present invention resides primarily in combinations of method steps and apparatus components related to base station controllers for radio communication systems. Accordingly, the apparatus components and method steps have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the present invention so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.
An exemplary network technology that may be used for network operations is Global System for Mobile (GSM) communications, a digital cellular standard used throughout the world. GSM data services include circuit-switched voice services, circuit-switched data, short message services (SMS), 2.5 G and third-generation (3G) technologies that expand data-packet technologies and new multimedia types of wireless service. GSM uses three major frequency bands, including blocks of radio spectrum within the 900-, 1800-, and 1900-MHz bands. The 900- and 1800-MHz bands are the principal bands used in Europe and Asia, and the 1900-MHz band is used in North America.
With wireless networks employing General Packet Radio Service (GPRS), a mobile station is commanded to transmit data blocks at the optimal coding scheme that the network determines will result in the highest data throughput with the fewest possible retransmissions. For example, GPRS may offer transmissions via a GSM network within a range of 9.6 kilobits to 115 kilobits and allow users to make telephone calls and transmit data at the same time, the latter using an IP data transmission protocol.
Another embodiment of the wireless network may include Enhanced Data for Global Evolution (EDGE), which is moving toward wideband code division multiple access (WCDMA). EDGE may be used as a packet-switched enhancement for general packet radio service (GPRS), known as enhanced GPRS or EGPRS, and as a circuit-switched data enhancement called enhanced circuit-switched data (ECSD).
Public-switched telephone network (PSTN) 110 is a land-based telephone network. PSTN 110 may comprise one or more switched lines over one or a combination of wire, fiber, or wireless links. PSTN 110 is typically connected to Internet 120 and MSC 130.
Internet 120 is a public data communication network, which may comprise one or more electronic, optical or wireless communication paths with associated hardware and software to connect PSTN 110 with one or more wireless data devices 180.
Mobile switching center 130 may receive signals from and send signals to wireless data device 180 via a general packet radio service support node (GSN) 140, base site controller and packet controller units (BSC/PCU) 150, and BTS 160. MSC 130 may contain suitable hardware and software for ensuring that transmissions between wireless data device 180 and BTS 160 are accurate and reliable. Accurate and reliable transmission of data packets (blocks) may require that certain data packets be retransmitted, or encoded in a manner such that the data packets are decoded at the receiver without requiring an additional transmission of the data packets. MSC 130 may communicate with PSTN 110.
Mobile switching center 130 may be connected directly to Internet 120 via GSN 140 without requiring PSTN 110 as an intermediary. GSN 140 works with general packet radio service (GPRS), a packet-mode technique to transfer high-speed and low-speed data and to signal in an efficient manner over GSM radio networks. GPRS may employ GSN 140 to keep track of the location of wireless data device 180 and to perform security functions and access control. GSN 140, which is at the same hierarchical level as MSC 130, may be connected to the system of BTS 160 with frame relay. GSN 140 provides interworking with external packet-switched networks such as Internet 120, and is connected with GSN 140 via the IP-based GPRS backbone network. GSN 140 can help MSC 130 with more efficient coordination of GPRS and non-GPRS services and functionality.
Base site controller and packet controller units (BSC/PCU) 150 may be connected to MSC 130, GSN 140 and BTS 160. The BSC/PCU 150 helps control BTS 160 in call set-up functions, coding schemes to use and use of radio channels, and various maintenance tasks.
Base transceiver station (BTS) 160 contains suitable electronic equipment for transmitting and receiving radio frequency signals. BTS 160 may transmit and receive radio signals and more particularly, digitally encoded signals from wireless data device 180. Communications between BTS 160 and wireless data device 180 includes the transmission of data packets, which may be digitally encoded. The data packets may be intended for the peripheral 185 coupled to a wireless data device 180.
The data packets may be digitally encoded using a coding scheme (codes). The term scheme and code may be used interchangeably as appreciated by those skilled in the art. These schemes may be used in a variety of combinations with one or more received data packets. The transmission of data packets may use one or more modulation schemes, such as 16-QAM (quadrature amplitude modulation) or 8-PSK (phase shift keying). The modulation schemes and encoding schemes may be adaptively chosen based on factors such as requisite bit error rates (BER) or channel quality attributes. In accordance with the present invention, coding schemes are characterized in an ordinal relationship to each other, so that there are higher and lower coding schemes, with the higher coding schemes generally providing higher effective data throughput (i.e., the data rate not including error protection bits), and correspondingly requiring better environmental conditions to achieve sufficiently error free effective data throughput. Conversely, lower coding schemes generally employ either more redundant information or use slower modulation techniques to achieve effective data throughput that is similarly error free. Also, changing the coding scheme from a lower coding scheme to a higher coding scheme is referred to herein as raising the coding scheme, and conversely, a coding scheme can be lowered to a lower coding scheme. A successful transmission of multiple data packets comprising a data message may involve at least one additional transmission attempt (retransmission) of specific data packets whose contents were unsuccessfully decoded at the receiver. The retransmission may comprise a repeated transmission of the data packet that was corrupted in the channel. The retransmission may be sent at a lower coding scheme to improve the reliability of the data. The retransmission may also be sent using the same coding scheme, such as a repeated transmission. The retransmission may be sent at a higher coding scheme for faster data throughput. The coding scheme selection may be determined, for example, with feedback from wireless data device 180, by a data scheme selected by the packet control unit (PCU) portion of the BSC/PCU 150 and communicated to the BTS 160. A detailed description of some of the rules for selecting a coding scheme is given below with reference to
Wireless data device 180, which may be a cellular phone, a laptop computer, a wireless modem coupled to a laptop computer or other peripheral device, a PDA or other wireless device, is equipped with suitable hardware and software for receiving and transmitting digital transmissions. Wireless data device 180 typically transmits or receives data in a prescribed band of frequencies nominally at 900 MHz, 1900 MHz, or any other suitable band of frequencies prescribed for wireless communication. Wireless data device 180 may be carried by a human user, installed on mobile equipment, used in a fixed location such as on a desk or used in any other application where wireless communication services are desired.
Public switch telephone network (PSTN) 210, a land-based telephone network, is coupled to the MSC 230. The packet radio network 290 comprises an Internet-protocol network 220 is coupled to, one or more GPRS support nodes (GSN) 240, which are coupled to one or more packet controller units (PCU) 254. One or more wireless data devices 280 form a portion of the packet radio network 290.
GPRS support nodes (GSN) 240, as payload-carrying and control devices, help the network to switch packet data, routing packets to and from the geographical area of packet radio-specific network 290 and interfacing with Internet-protocol network 220. GSN 240 may be physically separate from the circuit-switched part of a cellular system core network, as shown in
Packet Controller Unit (PCU) 254 serves as an interface between BSS 250 and packet radio-specific network 290, performing radio functions and general packet radio service (GPRS) network functions. In addition to PCU 254, base site (or base station) controller (BSC) 252 and base transceiver station (BTS) 260 are components of BSS 250. BSC 252 controls radio signals of multiple cell sites, thus reducing the load on MSC 230. BSC 252 also performs radio signal management functions for BTS 260, managing functions such as frequency assignment and handoff. BTS 260, which may be equipped with antenna and radio equipment, is the central radio transmitter/receiver that maintains communications with mobile station (MS) 270 within its cell site or given range.
Mobile station 270 consists of mobile equipment such as a cellular phone and is used to communicate with the GSM network. Mobile station 270 may be coupled to or physically integrated with the data device (DD) 280, which may be a device such as a mobile personal digital assistant (PDA) or a laptop computer. Coupling between the MS 270 and the data device 280 can be, for instance, a wired link such as an RS-232 link, or could be by a wireless local area network link such as an infrared link, either of which may have a 56 Kbps limitation, or a link such as those specified in IEEE 802.11. Such links could be used whether or not the MS 270 and DD 280 are physically integrated, but are more likely to be used only when the MS 270 and DD 280 are not physically integrated. Mobile station 270 couples to base transceiver station 260 via air interface 262, which is a preferably standard signaling system of a standard wireless network technology, preferably conforming to one of the GSM standards. When the MS 270 and DD 280 are physically integrated, then the functions of both may be provided by one processor, or the functions may be provided by two processors coupled by links that can couple data at speeds substantially higher than those that are possible using the air interface 262. For the purposes of this document, whenever the MS 270 and DD 280 are coupled by a link that has a lower data rate than the highest data rate of the air interface, then DD 280 is referred to hereinafter as a peripheral device to the MS 270, whether or not the DD 280 is physically integrated with the MS 270. The average data rate that can be achieved between the MS 270 and the peripheral device 280 is hereinafter termed the data transfer rate.
The portion of the communication network comprising the MSC 230, the GSN 240 and the BSS 250 may be called the fixed network.
Other network topologies besides the network architecture described above are possible without departing from the essential characteristics of the present invention. Additional components to separate various functions of a piece of equipment or module may be included with departing from the nature of the present invention.
As previously mentioned, the PCU 254 manages, allocates, and schedules the packet data resources necessary to allow uplink and downlink packet data transmission between the BTS 260 and the MS 270 with its associated peripheral device 280. Specifically, a packet resource manager (not shown) within the PCU 254 receives data, determines how to best “package” the data, and then instructs (via control instructions) the BTS 260 to package the data accordingly. Once received by the MS 270 from the BTS 260, the data packages are “unpackaged” and reassembled, thereby completing the transmission of the data to the MS 270, which then may transfer the unpackaged data to the peripheral device 280, depending on the nature of the contents of the unpackaged data
For example, layer 2 user data bits received by the PCU 254 from the IP internet 220 via the GSN 240 (resulting from a particular software application) are in the form of Logic Link Control (LLCs) frames. Upon receipt, the PCU 254 splits each of the LLCs into segments of bits and inserts additional bits (e.g., polling bits, data encoding instructions, etc.). The resulting blocks of bits, herein referred to as “segmented blocks,” are forwarded to the BTS 260 for transmission as a downlink data message. Based on the data encoding instructions embedded in the segmented blocks by the PCU 254, the segmented blocks are encoded, or modulated, by the BTS 260 using the GPRS coding schemes, and the downlink data message is transmitted to the MS 270 as GPRS radio blocks. Similarly, a data message can be generated by the mobile data device 280 and transmitted from the MS 270 using the GPRS coding schemes. Current GPRS coding schemes selectable by the PCU 254 include Coding Scheme 1 (CS-1), CS-2, CS-3, or CS-4 (see,
The particular GPRS coding scheme selected by the PCU 254 and MS 270 is based on whether the data is control data requiring maximum protection for transmitted bits, or maximum data integrity, requiring CS-1 coding, or whether the data is user data. If the data is user data, varying coding schemes (e.g., CS-1 through CS-4) are selected by the PCU 254, generally based on channel quality factors and knowledge of the coding scheme capabilities of the MS 270, as described in more detail with reference to
The BTS 260 and the MS 270 encode the data into the GPRS radio blocks suitable for transmission over the Packet Data Traffic Channel between the BTS 260 and the MS 270. For ease of discussion, the GPRS radio blocks carrying encoded data may be referred to herein as “GPRS data blocks”.
Of course, as will be appreciated by those of ordinary skill in the art, the “cost” of using the CS-1 scheme is high in terms of bandwidth resources; less than one data message bit is recovered for every 2 bits transmitted. The GPRS PDTCH coding schemes CH-2, CH-3, and CH-4 are constructed to more efficiently utilize bandwidth resources, depending on the quality or robustness of the communication channel 124. More particularly, CH-2 and CH-3 utilizes controlled bit reduction, herein referred to as “bit puncturing” to reduce the amount of copied data bits transmitted. Moreover, CH-4 adds only USF and parity bits to the original layer 2 bits prior to transmission to the MS 270; no copied bits are transmitted.
For example,
When the MS 270 transmits a data burst to the BTS 260 in an uplink data message using one of the coding schemes CS-1, CS-2, CS-3, or CS-4, the data message bits and error control bits are arranged similarly to those in downlink data message bursts. However, the control bits that are included in an uplink burst have meanings different from those of the USF bits in a downlink burst and may be different in number than the USF bits of a downlink burst.
The CS-4 350 provides the most efficient utilization of bandwidth resources and is therefore the coding scheme of choice when channel conditions of the communication channel 124 permits (i.e., optimum channel conditions) and the equipment (BTS 260 and MS 270) is capable of such encoding scheme. Conversely, the CS-1 300 provides the most reliable scheme to ensure data integrity of the GPRS radio blocks received or transmitted by the MS-1 and is therefore the coding scheme of choice when the communication channel 124 is adversely affected or when transmission of a control information message is required. The CS-2 330 and the CS-3 340 provide intermediate coding schemes.
As will be appreciated by those of ordinary skill in the art, coding schemes for GPRS PDTCH can be achieved using a number of coding schemes, for example modulation and coding schemes, MCS-1 to MCS-9 suitable for use with enhanced GPRS.
GSM specifications include requirements that mobile stations 270 that are designed for use in GPRS systems be capable of receiving and transmitting the four defined coding schemes CS-1, CS-2, CS-3, and CS-4. Particularly in instances in which the MS 270 can operate using CS-3 or CS-4, the data device 280 may operate as a peripheral device—that is, the data transfer rate to the data device 280 may be slower than the downlink data rate from the base transmitter station (BTS) 260 to the MS 270. In systems that use GPRS, there is no standard for conveying to the Base Station Subsystem 250 or packet radio network 290 the data transfer rate from the MS 270 to the DD 280. As a result, the MS 270 may attempt to send a long set of data to the MS 270 that is intended for the DD 280 at a data rate that exceeds the data transfer rate. A consequence of such a transfer is that a buffer memory in the MS 270 that allows temporary storage of data being transferred from the MS 270 to the DD 280 can overflow, causing retransmissions by the BSS 250 that ultimately convey the data to the DD 280, but cause the effective downlink data rate to degrade. This invention overcomes this problem. It will be appreciated that the inventive methods described herein also apply to packet data communication systems that have other sets of coding schemes, of which the EDGE system is one example, and for which at least some mobile stations do not respond to a command to switch to particular coding schemes.
Referring to
Referring to
A set of data is then transmitted on the downlink channel to the mobile station at step 815, using the current combination of coding schemes, which provide a current data rate. Monitoring is then done, at step 820, to determine whether the data transfer rate of the peripheral device has been exceeded. The results of the monitoring are used at step 825 to determine whether a search criterion has been met, and when the search criterion is met, the optimal combination of coding schemes is established as the current combination of coding, at step 840. When the search criterion is not met at step 825, a new coding scheme combination having a new data rate different from the current data rate is determined at step 830 for use in another trial (or loop of the method). The current coding scheme combination is set to the new coding scheme combination at step 835 and an additional set of data is transmitted to the mobile station at step 815 using the current coding scheme combination. Thus the steps of transmitting 815, monitoring 820, establishing 830, and setting 830 may be repeated until the search criterion has been met at step 825
In another aspect of the present invention, a buffer depth of the mobile station may be determined at step 845 after the optimal coding scheme combination has been determined at step 840. Optionally, as indicated by dotted path 846, a buffer depth determination is not used in the method. A timer is started at step 850 after the optimal coding scheme is determined at step 840 (and after the optional buffer depth determination step 845 if it is used). Until the timer times out at step 860, data messages are transferred to the mobile station using the optimal coding scheme combination, and optionally using the buffer depth. This timer may be set for several seconds, to allow for changing resource conditions (e.g., allocated mobile buffer size and changing peripheral data transfer rates. This method 800 optimizes the transfer of data from the fixed network to the peripheral device.
Referring to
Referring to
When the data transfer rate is determined not to have been exceeded by the current data rate at step 825, then the search criterion has been met and the method continues at step 840 via path 826
Referring to
Referring to
Referring to
Referring to
Referring to
It will be appreciated by now that an optimal combination of coding schemes and estimated buffer capacity may be determined in a data packet radio communication system without the mobile station informing the fixed network of the transfer data rate, and these parameters may be used to improve the throughput of data messages in the radio communication system.
In the foregoing specification, the invention and its benefits and advantages have been described with reference to specific embodiments. However, one of ordinary skill in the art appreciates that various modifications and changes can be made without departing from the scope of the present invention as set forth in the claims below. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of present invention. The benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential features or elements of any or all the claims.
As used herein, the terms “comprises,” “comprising,” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
A “set” as used herein, means a non-empty set (i.e., for the sets defined herein, comprising at least one member). The term “another”, as used herein, is defined as at least a second or more. The terms “including” and/or “having”, as used herein, are defined as comprising. The term “coupled”, as used herein with reference to electro-optical technology, is defined as connected, although not necessarily directly, and not necessarily mechanically. The term “program”, as used herein, is defined as a sequence of instructions designed for execution on a computer system. A “program”, or “computer program”, may include a subroutine, a function, a procedure, an object method, an object implementation, an executable application, an applet, a servlet, a source code, an object code, a shared library/dynamic load library and/or other sequence of instructions designed for execution on a computer system. It will be further appreciated that a method or function that is typically implemented by the execution of programmed instructions by a processor may be entirely implemented without a processor and programmed instructions; an apparatus comprising a plurality of application specific logic state machines may be used instead to determine an optimal set of coding schemes.