U.S. patent application number 12/959111 was filed with the patent office on 2012-01-12 for radio resource signaling during network congestion in a mobile wireless device.
This patent application is currently assigned to APPLE INC.. Invention is credited to Jianxiong Shi, Sundararaman V. Shiva, Longda Xing.
Application Number | 20120008573 12/959111 |
Document ID | / |
Family ID | 45438541 |
Filed Date | 2012-01-12 |
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
|
Family ID: |
45438541 |
Appl. No.: |
12/959111 |
Filed: |
December 2, 2010 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61362662 |
Jul 8, 2010 |
|
|
|
Current U.S.
Class: |
370/329 ;
455/450 |
Current CPC
Class: |
H04W 72/1252 20130101;
H04W 76/18 20180201; H04W 28/0205 20130101; H04W 72/0486 20130101;
H04W 88/02 20130101; H04W 72/04 20130101; H04W 72/0413
20130101 |
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.
* * * * *