Register or Login To Download This Patent As A PDF
| United States Patent Application |
20120008573
|
| Kind Code
|
A1
|
|
Shiva; Sundararaman V.
;   et al.
|
January 12, 2012
|
RADIO RESOURCE SIGNALING DURING NETWORK CONGESTION IN A MOBILE WIRELESS
DEVICE
Abstract
A method for radio link control in a mobile wireless communication device
The mobile wireless device transmits a sequence of service requests to
establish radio resources with a wireless communication network for a
data packet in a pending data buffer. When no radio resources are
allocated in response to the transmitted sequence of service requests,
the mobile wireless device sets a minimum threshold for the pending data
buffer, discards all pending data packets above the minimum threshold and
discards the oldest pending data packet. The mobile wireless device
repeats transmitting and discarding until a radio resource is allocated
or the pending data packet buffer is empty. A retry interval between
successive service requests is increased after transmitting each sequence
of service requests until reaching a maximum retry interval value.
| Inventors: |
Shiva; Sundararaman V.; (Los Gatos, CA)
; Xing; Longda; (San Jose, CA)
; Shi; Jianxiong; (Pleasanton, CA)
|
| Assignee: |
APPLE INC.
Cupertino
CA
|
| Serial No.:
|
959111 |
| Series Code:
|
12
|
| Filed:
|
December 2, 2010 |
| Current U.S. Class: |
370/329; 455/450 |
| Class at Publication: |
370/329; 455/450 |
| International Class: |
H04W 72/04 20090101 H04W072/04 |
Claims
1-5. (canceled)
6. A method for radio link control in a mobile wireless device, the
method comprising: in a mobile wireless device, transmitting a sequence
of service requests to establish radio resources between the mobile
wireless device and a wireless communication network for a data packet in
a pending data packet buffer; when no radio resources are allocated in
response to the transmitted sequence of service requests, setting a
threshold for the pending data packet buffer to a minimum threshold
value; discarding all pending data packets above the set threshold and
the oldest pending data packet; and repeating the transmitting and the
discarding until a radio resource is allocated by the wireless
communication network or the pending data packet buffer is empty.
7. The method as recited in claim 6, further comprising: when the pending
data packet buffer is not empty, after the discarding, increasing a retry
interval between successive service requests when the retry interval is
less than a maximum retry interval value.
8. The method as recited in claim 7, wherein increasing the retry
interval doubles the retry interval up to the maximum retry interval
value.
9. The method as recited in claim 8, wherein the allocated radio resource
is one or more radio access bearers.
10. The method as recited in claim 9, further comprising: after the radio
resource is allocated, resetting the retry interval to a default retry
interval value.
11-24. (canceled)
25. An apparatus for radio link control in a mobile wireless device, the
apparatus comprising: means for transmitting a sequence of service
requests to establish radio resources between the mobile wireless device
and a wireless communication network for a data packet in a pending data
packet buffer; when no radio resources are allocated in response to the
transmitted sequence of service requests, means for setting a threshold
for the pending data packet buffer to a minimum threshold value; means
for discarding all pending data packets above the set threshold and an
oldest pending data packet; and means for repeating the transmitting and
the discarding until a radio resource is allocated by the wireless
communication network or the pending data packet buffer is empty.
26. The apparatus as recited in claim 25, further comprising: means for
increasing a retry interval between successive service requests when the
retry interval is less than a maximum retry interval value after the
discarding when the pending data packet buffer is not empty.
27. The apparatus as recited in claim 26, wherein increasing the retry
interval doubles the retry interval up to the maximum retry interval
value, wherein the allocated radio resource is one or more radio access
bearers, the apparatus further comprising: means for resetting the retry
interval to a default retry interval value after the radio resource is
allocated.
28. The method as recited in claim 6, further comprising: in the mobile
wireless device, when no radio resources are allocated in response to the
transmitted sequence of service requests, notifying by a lower layer
process to a higher layer process in the mobile wireless device that a
stalled state exists, the higher layer process managing the number of
data packets sent for transmission and time periods between successive
data packets.
29. The method as recited in claim 6, further comprising: resetting a
retry counter to a non-zero maximum integer retry value after receiving
each new data packet to transmit; transmitting the sequence of service
requests to establish radio resources between the mobile wireless device
and the wireless communication network when the retry counter is
non-zero; decrementing the retry counter after transmitting each service
request to establish radio resources; and waiting a retry interval after
decrementing the retry counter and before transmitting a subsequent
service request.
30. The method as recited in claim 28, wherein the higher layer process
decreases the frequency of data packet transmission when the stalled
state exists.
31. The method as recited in claim 28, wherein the higher layer process
maintains at least one data packet in the pending data packet buffer when
the stalled state exists.
32. The method as recited in claim 28, wherein the higher layer process
lowers the number of data packets pending in the pending data packet
buffer when the stalled state exists.
33. The method as recited in claim 28, wherein the higher layer process
increases a time interval between transmitted data packets that seek to
initiate a TCP connection through the wireless communication network when
the stalled state exists.
34. The method as recited in claim 28, wherein the higher layer process
increases a time interval between successive DNS queries that look for IP
addresses when the stalled state exists.
35. The apparatus as recited in claim 25, further comprising: means for
detecting a stalled condition when no radio resources are allocated by
the wireless network during a pre-determined time interval; and means for
restricting the number of data packets received in the pending data
packet buffer during the stalled condition.
36. The apparatus as recited in claim 35, further comprising: means for
lowering the frequency of transmission of service requests for radio
resources during the stalled condition.
37. The apparatus as recited in claim 35, further comprising: means for
decreasing the frequency of data packet transmission during the stalled
condition.
38. The apparatus as recited in claim 35, further comprising: means for
maintaining at least one data packet in the pending data packet buffer
during the stalled condition.
39. The apparatus as recited in claim 35, further comprising: means for
lowering the number of data packets pending in the pending data packet
buffer during the stalled condition.
40. The apparatus as recited in claim 35, further comprising: means for
increasing a time interval between transmitted data packets that seek to
initiate a TCP connection through the wireless communication network
during the stalled condition.
41. The apparatus as recited in claim 35, further comprising: means for
increasing a time interval between successive DNS queries that look for
IP addresses transmitted by the apparatus during the stalled condition.
42. The apparatus as recited in claim 25, further comprising: means for
resetting a retry counter to a non-zero maximum integer retry value after
receiving each new data packet to transmit; means for transmitting the
sequence of service requests to establish radio resources between the
mobile wireless device and the wireless communication network when the
retry counter is non-zero; means for decrementing the retry counter after
transmitting each service request to establish radio resources; and means
for waiting a retry interval after decrementing the retry counter and
before transmitting a subsequent service request.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This patent application takes priority under 35 U.S.C. 119(e) to
U.S. Provisional Patent Application Ser. No. 61/362,662 entitled, "METHOD
AND APPARATUS FOR RADIO RESOURCE SIGNALING DURING NETWORK CONGESTION IN A
MOBILE WIRELESS DEVICE" by Shiva et al. filed Jul. 8, 2010 which is
incorporated by reference herein in its entirety for all purposes.
TECHNICAL FIELD
[0002] The described embodiments relate generally to wireless mobile
communications. More particularly, a method and apparatus is described
for radio resource signaling during periods of radio access network
congestion in a mobile wireless communication device.
BACKGROUND OF THE INVENTION
[0003] Mobile wireless communication devices, such as a cellular telephone
or a wireless personal digital assistant, can provide a wide variety of
communication services including, for example, voice communication, text
messaging, internet browsing, and electronic mail. Mobile wireless
communication devices can operate in a wireless communication network of
overlapping "cells", each cell providing a geographic area of wireless
signal coverage that extends from a radio network subsystem (RNS) located
in the cell. The radio network subsystem can include a base transceiver
station (BTS) in a Global System for Communications (GSM) network or a
Node B in a Universal Mobile Telecommunications System (UMTS) network.
Whether idle or actively connected, a mobile wireless communication
device can be associated with a "serving" cell in a wireless
communication network and be aware of neighbor cells to which the mobile
wireless communication device can also associate.
[0004] Mobile wireless communication devices can support both voice and
data connections, in some cases simultaneously, through radio resources
allocated by the radio network subsystem for a radio access portion of
the wireless communication network. The voice and data connections can
also include paths through circuit switched and/or packet switched
domains of a core network that interconnects the mobile wireless
communication device to a public switched telephone network (PSTN) and/or
a public data network (PDN). In order for the data connection to route
packets, also known as protocol data units (PDUs), between the mobile
wireless communication device and the packet data network, a packet data
protocol (PDP) context can be activated. As several different network
elements can be involved in activating the PDP context and because
establishing the PDP context can require a user discernable amount of
time, it can be preferable to maintain the PDP context even after the
data connection becomes idle when there are no data packets to transmit.
Radio resources in the radio access network, however, can be scarce, and
the wireless communication network can release the radio resources
allocated for the data connection during an idle period while maintaining
the PDP context, thus placing the data connection in a preservation mode.
When new data packets arrive at the mobile wireless communication device
for transmission to the public data network, new radio resources can then
be allocated by the radio network subsystem over which to transport the
new data packets.
[0005] During periods with high communication traffic in the radio access
network, the radio network subsystem can choose to not allocate new radio
resources to the mobile wireless communication device required for the
data connection. In this situation, the PDP context can remain active,
while the underlying data connection to support transport of the packets
can be unavailable. The mobile wireless communication device can then
accumulate unsent data packets in a pending data buffer and repeatedly
submit service requests for radio resources until the radio resources are
allocated by the radio network subsystem. These repeated service requests
can add unnecessary levels of signaling traffic to an already overloaded
radio access network.
[0006] Thus there exists a need to modify radio resource signaling between
the mobile wireless communication device and the radio network subsystems
of the wireless communication network during periods of radio access
network congestion.
SUMMARY OF THE DESCRIBED EMBODIMENTS
[0007] The described embodiments relate generally to wireless mobile
communications. More particularly, a method and apparatus is described
for radio resource signaling during periods of radio access network
congestion in a mobile wireless communication device.
[0008] In one embodiment, a method for radio link control in a mobile
wireless device can include at least the following steps. While a packet
data protocol context between the mobile wireless device and while a
wireless communication network is active and no radio resources are
allocated by the wireless communication network on which to transmit data
packets, the mobile wireless device executes the following steps
repeatedly when pending data packets exist in a pending data packet
buffer. A retry counter is set to a non-zero maximum integer retry value
after receiving each new data packet to transmit. A transceiver in the
mobile wireless device transmits a service request to establish radio
resources between the mobile wireless communication device and the
wireless communication network when the retry counter is non-zero. After
transmitting each service request to establish radio resources, the retry
counter is decremented.
[0009] In another embodiment, a method for radio link control in a mobile
wireless device can include at least the following steps. For a data
packet in the pending data packet buffer, the mobile wireless device
transmits a sequence of service requests to establish radio resources
between the mobile wireless device and a wireless communication network.
When no radio resources are allocated by the wireless communication
network in response to the transmitted sequence of service requests, a
threshold for the pending data packet buffer is set to a minimum
threshold value. All pending data packets above the set threshold and the
oldest pending data packet in the pending data packet buffer are
discarded. The transmitting and discarding steps are repeated until a
radio resource is allocated by the wireless communication network or the
pending data packet buffer is empty.
[0010] In yet another embodiment, a mobile wireless device is described.
The mobile wireless device includes an application processor configured
to generate data packets and a transceiver configured to receive data
packets from the application processor and to transmit data packets to a
wireless communication network. The transceiver is configured to reset a
retry counter to a non-zero maximum integer retry value after receiving
each new data packet to transmit. When no radio resources are allocated
by the wireless communication network on which to transmit the data
packets, and when the retry counter is non-zero, the transceiver is
configured to transmit a service request to establish radio resources
between the mobile wireless device and the wireless communication
network. The transceiver is configured to decrement the retry counter
after transmitting each service request to establish radio resources.
[0011] In a further embodiment, a non-transitory computer readable medium
for storing non-transitory computer program code executable by a
processor in a mobile wireless device includes at least the following.
Non-transitory computer program code for transmitting a sequence of
service requests to establish radio resources between the mobile wireless
device and a wireless network after receiving a data packet in a pending
data buffer. Non-transitory computer program code for discarding at least
one pending data packet in the pending data packet buffer when no radio
resources are allocated in response to the transmitted sequence of
service requests. Non-transitory computer program code for repeating the
transmitting and the discarding until a radio resource is allocated by
the wireless network or the pending data packet buffer is empty.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The invention and the advantages thereof may best be understood by
reference to the following description taken in conjunction with the
accompanying drawings.
[0013] FIG. 1 illustrates a mobile wireless communication device located
within a wireless cellular communication network.
[0014] FIG. 2 illustrates a hierarchical architecture for a wireless
communication network.
[0015] FIG. 3 illustrates a state transition diagram for a packet data
connection of the mobile wireless communication device.
[0016] FIG. 4 illustrates components of the mobile wireless communication
device.
[0017] FIG. 5 illustrates connections of the mobile wireless communication
device to elements of the wireless communication network.
[0018] FIG. 6 illustrates a message sequence between the mobile wireless
communication device and the wireless communication network for a
successful radio resource allocation.
[0019] FIG. 7 illustrates a message sequence between the mobile wireless
communication device and the wireless communication network for an
unsuccessful radio resource allocation.
[0020] FIG. 8 illustrates another message sequence between the mobile
wireless communication device and the wireless communication network for
an unsuccessful radio resource allocation.
[0021] FIG. 9 illustrates a repeated service request sequence between the
mobile wireless communication device and the wireless communication
network for an unsuccessful radio resource allocation.
[0022] FIG. 10 illustrates a repeated service request sequence resulting
from a series of pending data packets in the mobile wireless
communication device.
[0023] FIG. 11 illustrates a service request sequence with limited
repeated service requests for the sequence of pending data packets of
FIG. 10.
[0024] FIG. 12 illustrates an alternative service request sequence with
increasingly delayed service requests for the sequence of pending data
packets of FIG. 10.
[0025] FIG. 13 illustrates a method to modify radio resource signaling
between the mobile wireless communication device and the radio network
subsystem of the wireless communication network during radio access
network congestion.
[0026] FIG. 14 illustrates a second method to modify radio resource
signaling between the mobile wireless communication device and the radio
network subsystem of the wireless communication network during radio
access network congestion.
DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS
[0027] In the following description, numerous specific details are set
forth to provide a thorough understanding of the concepts underlying the
described embodiments. It will be apparent, however, to one skilled in
the art that the described embodiments may be practiced without some or
all of these specific details. In other instances, well known process
steps have not been described in detail in order to avoid unnecessarily
obscuring the underlying concepts.
[0028] Mobile wireless communication devices can provide a multiplicity of
services including both voice and data connections through wireless
communication networks. A data connection between a mobile wireless
communication device and an external data network, through a wireless
communication network, can be considered "active" when the mobile
wireless communication device is "attached" to the wireless communication
network and when a "higher layer" packet data protocol (PDP) context is
established. Radio access network resources, such as radio access bearers
(RABs) can be used to transport packets, also called protocol data units
(PDUs), between the mobile wireless communication device an radio network
subsystems in a radio access portion of the wireless communication
network. Radio resources can be shared among multiple mobile wireless
communication devices, and with limited radio frequency bandwidth
allocated for the radio access portion of the wireless communication
network, the radio access bearers can be released from the mobile
wireless communication device and can be re-allocated when the data
connection becomes idle. The PDP context can remain active, even though
radio resources can be not allocated. This condition can be known as a
"preservation mode."
[0029] With the PDP context active, higher layer processes in the mobile
wireless communication device can continue to send data packets to lower
layer processes for transmission to the wireless communication network;
however, without radio resources allocated by the wireless communication
network, the data packets can accumulate in a pending data buffer. Each
new data packet in the pending data buffer can trigger a service request
from the mobile wireless communication device to a radio network
subsystem (RNS) in the wireless communication network for radio
resources. During periods of network congestion, e.g. when insufficient
radio resources can be available for service requests from the mobile
wireless communication device, radio resources can be not allocated. The
mobile wireless communication device can then resubmit a service request
for radio resources up to a maximum number of retries for each pending
packet in the pending data buffer. A high number of pending higher layer
data packets can result in a large number of service request retries.
Such a sequence of service requests can add a significant signaling load
on the radio access portion of the wireless communication network that
can be already congested.
[0030] One or more different steps can be taken alone or in combination to
limit the number of service requests and lower the signaling load on the
radio access network during a period of congestion in the radio access
portion of the wireless communication network. First, as requested radio
resources can be used by the mobile wireless communication device to
transmit any pending data packets, service requests for multiple pending
data packets can be consolidated together, thereby limiting the total
number of service requests per pending data packet. Second, the number of
pending data packets can be limited by lowering thresholds on the pending
data buffer, thereby discarding older data packets sooner, even when no
specific service request has been made for that pending data packet.
Third, the time between successive service requests can be increased
after each series of service request retries for a pending data packet in
order to spread the signaling load over a longer time period. In
combination with limiting the number of pending data packets in the
pending data buffer, service requests can be both fewer in total and less
frequent in occurrence. The retry interval between service requests can
be limited to a maximum number to ensure that when network congestion
clears, the mobile wireless communication device can receive a response
to a service request in a timely manner. Additional details of the method
and apparatus to modify radio resource signaling between the mobile
wireless communication device and the radio network subsystem of the
wireless communication network during radio access network congestion can
is described in the following.
[0031] FIG. 1 illustrates a wireless communication network 100 of
overlapping wireless communication cells to which a mobile wireless
communication device 106 can connect. Each wireless communication cell
can cover a geographic area extending from a centralized radio network
subsystem. The mobile wireless communication device 106 can receive
communication signals from a number of different cells in the wireless
communication network 100, each cell located at a different distance from
the mobile wireless communication device 106. The mobile wireless
communication device 106 can be connected to a radio network subsystem
104 in a serving cell 102 and can be aware of neighbor cells in the
wireless communication network 100, such as radio network subsystem 108
in neighbor cell 110. The radio resources that connect the mobile
wireless communication device 106 to a cell can be limited and shared
among multiple mobile wireless communication devices.
[0032] FIG. 2 illustrates a hybrid hierarchical architecture 200 for a
wireless communication network that includes both UMTS and GSM radio
access network elements. A mobile wireless communication device 106
operating in a GSM wireless communication network can be referred to as a
mobile station (MS) 204, while a mobile wireless communication device 106
operating in a UMTS network can be referred to as user equipment (UE)
202. (Wireless mobile communication devices 106 can include the
capability of connecting to multiple wireless communication networks that
use different wireless radio network technologies, such as to a GSM
network and to a UMTS network; thus the description that follows can also
apply to such "multi-network" devices as well as single network devices.)
The MS 204 can connect to the GSM wireless communication network through
a radio network subsystem known as a base station subsystem (BSS) 218.
The BSS 218 can include a base transceiver station (BTS) 220 that
transmits and receive radio frequency signals between the MS and the
wireless communication network and a base station controller (BSC) that
manages the communication between a core network 236 and the MS 204. In a
GSM wireless communication network, an MS 204 can be connected to one BSS
at a time. As the MS 204 moves throughout the GSM wireless communication
network, the BSC 222 can manage handover of the MS 204 to different BTS
220 located in different cells. The GSM radio access network BSS 218
connects to a centralized core network 236 that provides circuit
switching and packet switching capabilities. The packet switching
capability can provide a General Packet Radio Service (GPRS) that
transmits internet protocol (IP) packets between the MS 204 and external
data networks.
[0033] The core network 236 can include a circuit switched domain 238 that
can carry voice traffic to and from an external public switched telephone
network (PSTN) and a packet switched domain 240 that can carry data
traffic to and from an external public data network (PDN). The circuit
switched domain 238 can include multiple mobile switching centers (MSC)
228 that connect a mobile subscriber to other mobile subscribers or to
subscribers on other networks through gateway MSCs (GMSC) 230. The packet
switched domain 240 can include multiple support nodes, referred to as
serving GPRS support nodes (SGSN) 224, that route data traffic among
mobile subscribers and to other data sources and sinks in the PDN 234
through one or more gateway GPRS support nodes (GGSN) 226. The core
network 236 can be commonly used by multiple radio link access network
subsystems that use different radio link technologies. As shown in FIG.
2, both a UMTS terrestrial radio access network (UTRAN) 214 and a GSM BSS
218 can connect to the same core network 236.
[0034] The circuit switched domain 238 and the packet switched domain 240
of the core network 236 can each operate in parallel, and both domains
can connect to different radio access networks simultaneously. The UTRAN
214 in the UMTS wireless access network can include multiple radio
network subsystems (RNS) 216. Each RNS 216 can include a "Node B" 206/210
that transmits and receives radio frequency signals and a radio network
controller (RNC) 208/212 that manages communication between the "Node B"
206/210 network elements and the core network 236. Unlike the MS 204 in
the GSM radio access network, the UE 202 can connect to more than one
radio network subsystem (RNS) 216 simultaneously. One RNS 216 can include
a "serving" radio network controller (SRNC) 208 that maintains the
logical connection between the UE 202 and the core network 236 through a
primary Node B 206. A second RNS 216 can include a "drift" radio network
controller (DRNC) 208 that provides additional radio link resources
through a secondary Node B 210 that supplements the radio link through
the primary Node B 206.
[0035] A UMTS wireless communication network can use a wireless
communication radio link technology known as wideband code division
multiple access (W-CDMA). W-CDMA transmissions can occupy a relatively
wide bandwidth based on a direct sequence spread spectrum modulation.
Transmissions between a UE 202 and an RNS 216 in a UMTS network can be
modulated by a spreading code, and each UE 202 connected to the RNS 216
can use a different spreading code but transmit simultaneously using the
same frequency spectrum. Received signals can be demodulated by
correlating them with a correctly matched de-spreading code. As the set
of spreading codes used in W-CDMA can be mutually orthogonal, signals
intended for a particular UE can be separated from signals transmitted to
other UE, even though all of the signals can overlap and use the same
frequency spectrum simultaneously. UMTS spread spectrum signals can
occupy a wider 5 MHz channel bandwidth compared with a narrower 200 kHz
channel bandwidth used by GSM signals.
[0036] In order for the UE 202 to communication to the RNS 216, a radio
resource, such as a radio access bearer (RAB) having a particular
frequency and spreading code, can be allocated by the RNS 216 in response
to a service request from the UE 202. Radio resources can be allocated
when requested and available and de-allocated when not used in order to
share the radio frequency spectrum among multiple UEs 202. To use the
GPRS capability of the wireless communication network, the UE 202 can
"attach" to the network and "activate" a packet data protocol (PDP)
context. By attaching to the network, the UE 202 identifies itself and
the wireless communication network 100 confirms the location of the UE
202. Activating the PDP context can enable IP traffic transfer through
radio resources on an "air" interface between the UE 202 and the RNS 216.
The UE 202 can obtain an IP address and can establish a logical
connection with a quality of service (QoS) profile through the UMTS
network. A UE 202 can have multiple PDP contexts active simultaneously,
and each PDP context can use a different RAB.
[0037] FIG. 3 illustrates a simple state diagram 300 for the UE 202. The
UE 202 can be in an inactive state 302, such as in a mobile management
(MM) idle mode when UE 202 is not attached to a GPRS mobility management
system in the wireless communication network 100. The state of the UE 202
can change to an active state 304 when a PDP context is activated
(transition 306). The UE 202 can remain in the active state 304 even when
the PDP context is modified (transition 310), such as when a change to a
QoS profile associated with the PDP context occurs. While in the active
state 304, radio resources (e.g. radio access bearers) allocated to the
UE 202 can be released at the request of the serving radio network
controller (SRNC) 208 in the RNS 216 with which the UE 202 is associated.
The PDP context can remain preserved by the core network (CN) 236 even
when the associated RAB is released. In order to re-establish RABs for
active PDP contexts that don't have associated RABs, the UE 202 can send
a service request message to the RNS 216 asking for a new allocation of
radio resources. Network congestion can result in no RABs being
allocated, however, the UE 202 can remain in the active state. If the
data connection is no longer required then the PDP context can be
deactivated (transition 308), and the UE 302 can return to an inactive
state 302.
[0038] FIG. 4 illustrates typical components of the mobile wireless
communication device 106 such as the UE 202. An applications processor
(AP) 402 can perform higher layer functions, such as maintaining an IP
stack and requesting and releasing data connections. A transceiver (XCVR)
404 in the mobile wireless communication device 106 can transmit and
receive lower layer packets that correspond to higher layer signaling and
data packets through a radio "air" interface to the RNS 216 in the
wireless communication network 100.
[0039] FIG. 5 illustrates that a higher layer PDP context 504 can be
established between the AP 402 in the mobile wireless communication
device 106 (equivalently the UE 202) and the core network 236 in the
wireless communication network 100. This higher layer PDP context 504 can
be supported by a lower layer radio access bearer (RAB) 502 between the
transceiver 404 and the Node B 206 within the radio network subsystem
(RNS) 216. While the PDP context 504 can be active without any radio
resources (lower layer RABs 502) allocated for the radio access portion
of the wireless communication network 100, data packets cannot be
communicated between the AP 402 and the public data network (PDN) 234
through the core network (CN) 236. An inactivity timer in the RNS 216 can
release the "costly" radio resources for other mobile wireless
communication devices to use when the data connection of the mobile
wireless communication device 106 is idle, such as when the packet data
buffer un the transceiver 404 is empty and a timer expires. The serving
radio network controller (SRNC) 208 can send a signaling connection
release based on the inactivity timer or in response to a signaling
connection release indication from the mobile wireless communication
device 106. The PDP context 504 can require significant time to set up,
as multiple network components can be involved in the PDP context
establishment. Thus the PDP context 504 can remain active even when no
RAB is assigned. When the XCVR 404 receives additional higher layer
packets from the AP 402 to transmit, the XCVR 404 can request radio
resources on which to transport the new higher layer packets through an
exchange of signaling messages as described next. Under normal network
load conditions, establishing new radio access bearers 502 can be faster
than setting up an entirely new PDP context 504.
[0040] FIG. 6 illustrates a signaling message exchange 600 between the UE
202 and the RNS 216 to request allocation of radio resources on which to
transport pending data packets. A service request 602 can be sent from
the UE 202 to the RNS 216. Note that this signaling message exchange 600
can use signaling radio resources separate from those being requested to
support data packet transport. The signaling radio resources can be
shared by multiple UEs 202 and can provide only limited throughput
capability, and thus can be incapable of supporting substantial packet
data traffic. Several successive steps can occur to establish a signaling
connection between the UE 202 and the RNS 216 including establishing a
radio resource control (RRC) connection (step 604) with the SRNC 208 in
the RNS 218, followed by direct transfer messaging to the CN 236 and a
security mode procedure 608 to ensure authentication of the UE 202. After
establishing the signaling connection, the RNS 216 can allocate 610 a
radio access bearer (RAB), i.e. a radio resource, to the UE 202, and
packet data transfer on the established data connection can occur. The
series of steps in FIG. 6 illustrate a successful request for radio
resource allocation to the UE 202.
[0041] FIG. 7 illustrates an unsuccessful request for radio resource
allocation for the UE 202, where the RNS 216 establishes a signaling
connection and then releases the signaling connection by sending an RRC
connection release message 704. In this case no radio resources are
allocated to the UE 202, and the UE 202 can be unaware of a reason for
the lack of success. In some cases the RNS 216 can send an optional
service accept message 702 after establishing the signaling connection
and then subsequently release the RRC connection 704 without actually
allocating radio resources. In either case, the UE 202 cannot send data
packets on the data connection as the radio access portion is not
established.
[0042] FIG. 8 illustrates another unsuccessful radio resource service
request, where the RNS 216 sends a service reject message 802 after
establishing the signaling connection. The service reject message 802 can
include a reason for the service reject. The RNS 216 can subsequently
release the signaling connection by sending an RRC connection release
message 704. Again, no radio resources can be allocated to the UE 202. As
the initial service request can be precipitated by a pending data packet,
which can remain unsent and therefore continue to be pending in a data
buffer in the UE 202, the UE 202 can generate repeated service requests
as shown in FIG. 9 for a single pending packet 900. To simplify the
diagram in FIG. 9, the steps that establish the signaling connection as
shown in FIGS. 6-8 are not shown, but they can occur.
[0043] As illustrated in FIG. 9, a service request 902 can be followed by
a service failure 904 without any radio resources being allocated to the
UE 202. FIGS. 6-8 illustrated representative radio resource service
request failures. The service failure response 904 from the RNS 216 can
also be not sent by the RNS or not received by the XCVR 404 in the UE
202. Following each service request 902, the XCVR 404 in the UE 202 can
wait a retry interval 906 before repeating the service request 902. The
retry interval 906 can be specified by the UE 202. Up to a maximum number
of service requests can be retried before the XCVR 404 can abandon the
service request procedure and discard the pending packet (step 908). In
an exemplary embodiment, the retry interval 906 can be set between 10 and
30 seconds apart and the maximum number of retries can be set for 2 to 4
for each pending packet 900. (Other non-zero integer values for the retry
interval 906 and maximum number of retries can also be used.) A single
pending packet 900 can result in a substantial number of signaling
messages exchanged between the XCVR 404 and the RNS 216 during multiple
attempts to have radio resources allocated to the UE 202 on which to
transport the pending data packet.
[0044] The higher layer functions in the AP 402 of the UE 202 can be
unaware of the lack of radio resource allocation and can continue to send
additional data packets to the XCVR 404 for transmission, which can
result in a deep backlog of data packets. Each data packet 900 can
generate a new set of signaling messages for a service request 902 adding
to the network congesting by overloading signaling radio resources. FIG.
10 illustrates four pending data packets 1002/1004/1006, and each data
packet generates a maximum number of service request (SR) retries, with
successive service requests spaced apart by a retry interval 906. With a
relatively deep data packet buffer in the XCVR 404, the AP 402 can send
more than 50-100 data packets within one minute to the XCVR 404 resulting
in several hundred service requests being generated by the XVCR 404 to
the RNS 216. As a result an excessively large number of signaling
messages can be transmitted between the XCVR 404 and the RNS 216 and can
overload an already congested radio access network. As the PDP context
can remain active when radio resources are unavailable, the higher layer
applications in the AP 402 can be unaware of the radio resource blockage
and can automatically retransmit data packets to the XCVR 404 for
transmission to the RNS 216 when no acknowledgements for the earlier data
packets are received.
[0045] FIG. 11 illustrates a message sequence 1200 for a method with
modified radio resource signaling between the XCVR 404 in the UE 202 and
the RNS 216 in the wireless communication network 100. A new set of
service requests for each pending higher layer data packet can be not
required, as the same radio resources for which allocation is sought can
be used for all pending data packets. Rather than send a maximum number
of service request retries for each pending data packet, a retry counter
can be reset when each new higher layer data packet is received by the
XCVR 404 from the AP 402. The maximum number of retries can then be
applied for all pending data packets rather than for each pending data
packet. As shown in FIG. 11, a first data packet 1002 can initiate a
first sequence of service requests. While the first sequence of service
requests is ongoing, a second data packet 1004 can be received by the
XCVR 404, and a new second sequence of service requests can start. The
new second sequence of service requests can encompass both the newly
received second data packet 1004 and the first received data packet 1002.
The first sequence of service requests for the first packet 1002 only can
effectively end.
[0046] During the second sequence of service requests, a third data packet
1006 can be received by the XCVR 404 triggering yet another new sequence
of service requests that can apply to all three pending data packets. If
no radio resources are allocated by the RNS 216, then the XCVR 404 can
discard all pending data packets after sending a sequence of service
requests that includes a maximum number of service request retries. The
sequence of service requests at any time can apply to all currently
pending data packets.
[0047] The data packet buffer in the XCVR 404 can include a threshold that
limits the total number of pending data packets so that the data packet
buffer can avoid an overflow. When the number of data packets in the data
buffer exceeds the threshold, then as new data packet are received, the
oldest data packets can be discarded leaving room for the newer data
packets in the data buffer. A timestamp can also be associated with a
data packet, and packets that remain pending longer than a time threshold
can be discarded.
[0048] FIG. 12 illustrates a second sequence 1200 for another method to
modify radio resource signaling between the XCVR 404 and the RNS 216.
After sending a first set of service requests for a first pending data
packet 1002, a packet data control procedure (PDCP) in the UE 202 can
change to a "stalled" state that can indicate that the radio access
portion of the wireless communication network has not allocated radio
resources in response to repeated service requests. While in the stalled
state, the UE 202 can change the threshold for the pending data packet
buffer in the XCVR 404 to a smaller value, which can result in older data
packets being discarded earlier as the pending data packet buffer can
overflow more quickly. For example, if the packet data buffer is reduced
to a threshold of only two data packets after changing to a stalled
state, then when packet #3 arrives, pending packet #1 can be discarded
due to data packet buffer overflow.
[0049] The retry interval between successive service requests for each set
of multiple service requests can also increase after each multiple
unsuccessful service request sequence. For example the retry interval can
double after each set of service requests up to a maximum retry interval
value. As a representative embodiment, the default retry interval can be
30 seconds with a default number of retries for each set of service
requests set to 4 in a service request procedure. After the first four
service request retries, the default retry interval can increase to 60
seconds and then again to 120 seconds. For a next service request
procedure (not shown) the retry interval can max out at a maximum retry
interval value of 180 seconds (less than double the previous retry
interval). The maximum retry interval value can be set to a level that
minimizes overall signaling loads on the wireless communication network,
while still ensuring that recovery from congestion is not adversely
affected.
[0050] When the RNS 216 allocates radio access bearers to the UE 202, the
PDCP can change back to a "normal" state from the "stalled" state, and
the threshold of the pending data packet buffer can be reset to a default
value. The retry interval can also be reset to a default value. In
addition to the two service request sequences shown in FIGS. 11 and 12,
the XCVR 404 can notify the AP 402 when a stalled network condition
exists, as determined by the XCVR 404. After recognizing the stalled
network condition, the AP 402 can choose to limit the frequency and
number of data packets sent to the XCVR 404 until the stalled network
condition subsides. Limiting the amount of data packets sent to the XCVR
404 can limit the number of service requests generated by the XCVR 404 in
response to receiving the data packets, thereby decreasing the signaling
traffic on the radio access interface until network congestion improves.
[0051] FIG. 13 illustrates a representative method 1300 to modify radio
resource signaling to account for radio access network resource
congestion. The method 1300 illustrated in FIG. 13 can correspond to the
sequence 1100 shown in FIG. 11. In step 1302, the XCVR 404 in the UE 202
can check whether any pending data packets exist, sent from a higher
layer process in the AP 402 of the UE 202 for transmission to the
wireless communication network. When one or more pending packets exist in
the buffer, the XCVR 404 can determine in step 1304 if a new data packet
was received in the pending data packet buffer. Any new data packets
received can cause a retry counter to be reset to a default maximum retry
counter value in step 1306. If no new data packets were received, then
the XCVR 404 can determine if the retry counter equals zero in step 1316,
which can indicate that a maximum number of retries have occurred for the
pending data packets. The method can terminate (and pending data packets
can be discarded). If the maximum number of service request retries has
not occurred, i.e. the retry counter is not zero, or after resetting the
retry counter in step 1306 following the receipt of a new data packet in
step 1304, a service request can be sent in step 1308 by the XCVR 404 to
the RNS 216 requesting radio resources on which to transmit the pending
data packets to the wireless communication network. If a radio access
bearer (RAB) is allocated in step 1310, then the method can end; however,
if no radio resources are allocated then in step 1312 the retry counter
can be decremented. After waiting for a retry interval in step 1314, the
XCVR 404 can return to check if a new data packet was received, thereby
restarting the service request retry procedure. The method 1300 shown in
FIG. 13 can result in at least a maximum retry value number of retries
for each pending data packet. Thus all pending data packets can receive
at least a minimum number of service request retries. Each service
request for radio resources can apply to all pending data packets in the
data buffer in the XCVR 404.
[0052] FIG. 14 illustrates a second method 1400 to modify radio resource
signaling when requesting radio resources when there radio access network
resource congestion exists. In step 1402, the XCVR 404 in the UE 202 can
send up to a maximum retry value of service requests for radio access
resources for a first pending data packet received from the AP 402. If no
radio access resources are allocated during step 1402 by the RNS 216,
then the UE 202 can identify that the radio access network is congested
(i.e. in a stalled state). In the stalled state, the UE 202 can lower the
threshold on the pending data packet buffer in step 1404, thereby causing
older pending data packets to be flushed from the pending data packet
buffer more quickly. In step 1406 all pending data packets above the
lowered threshold can be discarded. The oldest pending data packet, which
can correspond to the first pending data packet in the first cycle
through step 1406 or the most recent data packet for which a series of
service requests has been made, can also be discarded even if below the
lowered threshold. A pending data packet can be discarded after the
maximum number of service request retries have occurred for the pending
data packet. After discarding data packets, in step 1408, the XCVR 404
can determine if there are any remaining pending data packets in the data
buffer. If the pending data packet buffer is empty, then the process can
terminate.
[0053] If pending data packets still remain in the pending data packet
buffer, then the XCVR 404 in step 1410 can increase the retry interval
between successive service requests if the current retry interval is less
than a maximum retry interval value. The XCVR 404, in step 1412, can then
send up to a maximum number of service requests, each successive service
request being spaced apart by the retry interval value. The set of
service requests in step 1412 can apply to the oldest pending data packet
in the pending data packet buffer. In step 1414, the XCVR 404 can
determine if radio resources (i.e. radio access bearers) have been
allocated by the RNS 216. If no radio resources have been allocated, then
in step 1406 the oldest pending data packet can be discarded and the
process can repeat. Once radio access bearers have been allocated or the
pending data packet buffer empties, in step 1416 the retry interval can
be reset to a default retry interval value and the process can end.
[0054] In addition to the methods illustrated in FIGS. 13 and 14, other
methods can be used alone or in combination to lower the number of
service requests for radio access resources. The lower layer baseband
process in the XCVR 404 can notify the higher layer process (e.g. IP
stack management) in the AP 402 of the UE 202 that a stalled state (i.e.
congested network with inadequate radio access resources allocated)
exists. The stalled state can be declared by the XCVR 404 after a certain
number of service requests for radio resources have been submitted within
a certain time period. The higher layer process in the AP 402 can then
manage the number of data packets sent for transmission as well as the
time periods between successive data packets. This management of
transmission by the higher layer process in the AP 402 can lower the
number of data packets pending in the pending data packet buffer of the
XCVR 404, thereby lowering the number and frequency of service requests
for radio resources. In a representative embodiment, the higher layer
process can use a longer back off timer during a stalled state to spread
out successive TCP (Transmission Control Protocol) SYN packets that seek
to initiate a TCP connection. The higher layer process can also wait
longer periods between successive DNS (Domain Name Server) queries that
look for IP addresses. The higher layer process in the AP 402, however,
should continue to send at least some data packets to the lower layer
process in the XCVR 404 and should not wait for an indication that the
stalled condition has resolved. A steady, if infrequent, stream of data
packets can be required to ensure repeated service requests will
eventually result in an allocation of radio resources from the RNS 216.
Without any pending data packets, the XCVR 404 would not send any service
requests, and without service requests, no radio resources would be
allocated. This could result in a deadlocked condition as past service
requests for radio resources by the UE 202 can essentially expire once
the RRC connection is released by the RNS 216.
[0055] Various aspects of the described embodiments can be implemented by
software, hardware or a combination of hardware and software. The
described embodiments can also be embodied as computer readable code on a
computer readable medium for controlling manufacturing operations or as
computer readable code on a computer readable medium for controlling a
manufacturing line used to fabricate thermoplastic molded parts. The
computer readable medium is any data storage device that can store data
which can thereafter be read by a computer system. Examples of the
computer readable medium include read-only memory, random-access memory,
CD-ROMs, DVDs, magnetic tape, optical data storage devices, and carrier
waves. The computer readable medium can also be distributed over
network-coupled computer systems so that the computer readable code is
stored and executed in a distributed fashion.
[0056] The various aspects, embodiments, implementations or features of
the described embodiments can be used separately or in any combination.
The foregoing description, for purposes of explanation, used specific
nomenclature to provide a thorough understanding of the invention.
However, it will be apparent to one skilled in the art that the specific
details are not required in order to practice the invention. Thus, the
foregoing descriptions of specific embodiments of the present invention
are presented for purposes of illustration and description. They are not
intended to be exhaustive or to limit the invention to the precise forms
disclosed. It will be apparent to one of ordinary skill in the art that
many modifications and variations are possible in view of the above
teachings.
[0057] The embodiments were chosen and described in order to best explain
the principles of the invention and its practical applications, to
thereby enable others skilled in the art to best utilize the invention
and various embodiments with various modifications as are suited to the
particular use contemplated.
* * * * *