U.S. patent application number 12/853707 was filed with the patent office on 2011-09-29 for breakout gateway for mobile data traffic.
This patent application is currently assigned to JUNIPER NETWORKS, INC.. Invention is credited to Srinivasa Chaganti, Sanjiv Doshi, Bin Hong, Apurva Mehta, Kumar Mehta, Krishna Sankaran.
Application Number | 20110235595 12/853707 |
Document ID | / |
Family ID | 44656420 |
Filed Date | 2011-09-29 |
United States Patent
Application |
20110235595 |
Kind Code |
A1 |
Mehta; Apurva ; et
al. |
September 29, 2011 |
BREAKOUT GATEWAY FOR MOBILE DATA TRAFFIC
Abstract
In general, the invention is directed to techniques for breaking
out mobile data traffic from a mobile service provider network to a
packet data network. For example, as described herein, a breakout
gateway device (BGW) receives a first service request and data
traffic for a data session associated with the requested service
from a mobile device in a radio access network, wherein the first
service request is addressed to a serving node of a mobile core
network of the mobile service provider network, and wherein the
data traffic is destined for the PDN. A control packet analysis
module forwards the first service request from the breakout gateway
device to the serving node. A breakout module of the BGW bypasses
the serving node by sending the data traffic from the breakout
gateway device to the PDN on a data path from the radio access
network to the PDN.
Inventors: |
Mehta; Apurva; (Cupertino,
CA) ; Mehta; Kumar; (Cupertino, CA) ;
Sankaran; Krishna; (Milpitas, CA) ; Doshi;
Sanjiv; (San Jose, CA) ; Chaganti; Srinivasa;
(San Ramon, CA) ; Hong; Bin; (San Jose,
CA) |
Assignee: |
JUNIPER NETWORKS, INC.
Sunnyvale
CA
|
Family ID: |
44656420 |
Appl. No.: |
12/853707 |
Filed: |
August 10, 2010 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61318190 |
Mar 26, 2010 |
|
|
|
Current U.S.
Class: |
370/329 |
Current CPC
Class: |
H04W 80/04 20130101;
H04L 45/22 20130101; H04W 8/082 20130101; H04W 88/16 20130101; H04W
40/34 20130101 |
Class at
Publication: |
370/329 |
International
Class: |
H04W 4/00 20090101
H04W004/00 |
Claims
1. A method comprising: receiving, with a breakout gateway device
positioned within a mobile service provider network, a first
service request from a radio access network, wherein the first
service request specifies a requested service supported by a packet
data network (PDN); forwarding the first service request from the
breakout gateway device to a serving node of a mobile core network
of the mobile service provider network, wherein the serving node
couples the mobile core network to the radio access network to
provide a first data path for the radio access network to the PDN;
receiving, with the breakout gateway device, data traffic for a
data session associated with the requested service from a mobile
device in the radio access network, wherein the data traffic is
destined for the PDN; and bypassing the serving node by sending the
data traffic from the breakout gateway device to the PDN on a
second data path from the radio access network to the PDN.
2. The method of claim 1, further comprising: advertising, with the
breakout gateway device to peer routers of the breakout gateway
device in the PDN, a first PDP address as a destination for which
the breakout gateway device offers connectivity; and assigning the
first PDP address to the mobile device for the data session.
3. The method of claim 2, further comprising: intercepting, with
the breakout gateway device, an Activate PDP Context Accept message
sent by the serving node to the mobile device in response to the
first service request, wherein the first service request is an
Activate PDP Context Request; replacing a second Packet Data
Protocol (PDP) address carried by the Activate PDP Context Accept
message with the first PDP address; and sending the modified
Activate PDP Context Accept message from the breakout gateway
device to the mobile device.
4. The method of claim 1, further comprising establishing a radio
access bearer (RAB) between the breakout gateway device and the
mobile device for the data session.
5. The method of claim 4, further comprising: intercepting, with
the breakout gateway device, a RAB Assignment Request message sent
by a serving node to the mobile device; replacing a source address
for the RAB Assignment Request message with an address of the
breakout gateway device; sending the modified RAB Assignment
Request message from the breakout gateway device to the mobile
device; and receiving, with the breakout gateway device, a RAB
Assignment Response message from the mobile device.
6. The method of claim 5, further comprising: extracting, with the
breakout gateway device, the source address and a destination
address for the RAB Assignment Request message; extracting, with
the breakout gateway device, an upstream tunnel endpoint identifier
(TEID) carried by the RAB Assignment Request message; extracting,
with the breakout gateway device, a downstream TEID carried by the
RAB Assignment Response message; and storing the source address,
destination address, downstream TEID, and upstream TEID to the
breakout gateway device in a record as session data for the data
session.
7. The method of claim 1, further comprising: assigning a PDP
address to the mobile device for the data session; receiving, with
the breakout gateway device, downstream data traffic for the data
session from the PDN, wherein the downstream data traffic comprises
the PDP address as a destination address for the PDP packet; and
forwarding the downstream data traffic from the breakout gateway
device to the mobile device via a Radio Access Bearer (RAB) between
the breakout gateway device and the mobile device.
8. The method of claim 7, further comprising encapsulating a packet
that constitutes the downstream data traffic in a GTP header that
specifies a downstream TEID received by the breakout gateway device
in a RAB Assignment Response message from a radio network
controller (RNC) of the radio access network.
9. The method of claim 1, further comprising: breaking out the data
traffic only when the data traffic has a destination address that
is an address of the breakout gateway device; and forwarding the
data traffic from the breakout gateway device to the serving node
when the data traffic does not have a destination address that is
an address of the breakout gateway device.
10. The method of claim 1, further comprising: receiving, with the
breakout gateway device, control traffic from a radio network
controller of the radio access network; and establishing, with the
breakout gateway device, the data session according to the control
traffic to cause the breakout gateway device, when the control
traffic exhibits a breakout indicator, to bypass the serving node
by sending the data traffic from the breakout gateway device to the
PDN on the second data path from the radio access network to the
PDN.
11. The method of claim 10, wherein the breakout indicator is
selected from the group consisting of an access point name, an
International Mobile Subscriber Identity (IMSI) value, or an
International Mobile Equipment Identity (IMEI) value.
12. The method of claim 10, wherein the breakout gateway device is
a first proxy device for the serving node to the radio access
network, and wherein the breakout gateway device is a second proxy
device for the radio network controller to the serving node.
13. The method of claim 10, wherein the control traffic is first
control traffic and the radio network controller is a first radio
network controller, and further comprising: receiving, with the
breakout gateway device, second control traffic associated with the
data session from a second radio network controller of the radio
access network; and modifying one or more session data values for
the data session with session data values carried by the second
control traffic.
14. The method of claim 1, wherein the breakout gateway device is a
first breakout gateway device, and further comprising: receiving,
with the first breakout gateway device, mobility information from a
second breakout gateway device indicating that the second breakout
gateway device serves a radio network controller (RNC) of the radio
access network that serves the mobile device; receiving, with the
first breakout gateway device, downstream data traffic for the data
session from the PDN, wherein the data traffic comprises a PDP
address as a destination address for the PDP packet; determining,
from the mobility information and session data for the data
session, that the second breakout gateway device serves the RNC of
the radio access network that serves the mobile device; and
tunneling the downstream data traffic from the first breakout
gateway device to the second breakout gateway device.
15. The method of claim 1, wherein the breakout gateway device is a
first breakout gateway device, and further comprising: storing,
with the first breakout gateway device, mobility information
indicating that a second breakout gateway device serves a first PDP
address; determining, with the first breakout gateway device, that
the data traffic is sourced by the first PDP address; and tunneling
the data traffic from the first breakout gateway device to the
second breakout gateway device based at least on the
determination.
16. The method of claim 1, wherein the breakout gateway device is a
first breakout gateway device, and further comprising: receiving,
with the first breakout gateway device, session data for the data
session from a second breakout gateway device, wherein the second
breakout gateway device serves a second radio network controller
(RNC) of the radio access network that previously served the mobile
device, and wherein the first breakout gateway device serves a
first radio network controller (RNC) of the radio access network
that currently serves the mobile device; receiving, with the first
breakout gateway device, downstream data traffic for the data
session from the second breakout gateway device, wherein the data
traffic comprises a PDP address as a destination address for the
PDP packet; determining, with the first breakout gateway device,
from the session data that the PDP address is a destination address
for the mobile device; and sending the downstream data traffic from
the first breakout gateway device to the mobile device based at
least on the determination.
17. A breakout gateway device positioned within a mobile service
provider network, comprising: a network interface to receive a
first service request and data traffic for a data session
associated with the requested service from a mobile device in a
radio access network, wherein the first service request is
addressed to a serving node of a mobile core network of the mobile
service provider network and specifies a requested service
supported by a packet data network (PDN), and wherein the data
traffic is destined for the PDN; a control packet analysis module
to forward the first service request from the breakout gateway
device to the serving node, wherein the serving node couples the
mobile core network to the radio access network to provide a first
data path for the radio access network to the PDN; and a breakout
module to bypass the serving node by sending the data traffic from
the breakout gateway device to the PDN on a second data path from
the radio access network to the PDN.
18. The breakout gateway device of claim 17, further comprising: an
address pool comprising a set of one or more PDP addresses; a
routing engine to advertise, to peer routers of the breakout
gateway device in the PDN, a first PDP address as a destination for
which the breakout gateway device offers connectivity; and an
address allocator to assign the first PDP address from the address
pool to the mobile device for the data session.
19. The breakout gateway device of claim 18, wherein the network
interface intercepts an Activate PDP Context Accept message sent by
the serving node to the mobile device in response to the first
service request, wherein the first service request is an Activate
PDP Context Request, and further comprising: a packet data protocol
(PDP) address modifier to replace a second PDP address carried by
the Activate PDP Context Accept message with the first PDP address,
wherein the network interface sends the modified Activate PDP
Context Accept message from the breakout gateway device to the
mobile device.
20. The breakout gateway device of claim 17, further comprising a
radio access bearer (RAB) source modifier to establish a radio
access bearer between the breakout gateway device and the mobile
device for the data session.
21. The breakout gateway device of claim 20, wherein the network
interface intercepts a RAB Assignment Request message sent by a
serving node to the mobile device, wherein the RAB source modifier
replaces a source address for the RAB Assignment Request message
with a source address of the breakout gateway device, wherein the
network interface sends the modified RAB Assignment Request message
from the breakout gateway device to the mobile device, wherein the
network interface receives a RAB Assignment Response message from
the mobile device.
22. The breakout gateway device of claim 21, further comprising: a
bearer values extractor to extract the source address and a
destination address for the RAB Assignment Request message, extract
an upstream tunnel endpoint identifier (TEID) carried by the RAB
Assignment Request message, and extract a downstream TEID carried
by the RAB Assignment Response message; and a mobile device records
module to store one or more records, wherein the breakout module
stores the source address, destination address, downstream TEID,
and upstream TEID to the breakout gateway device in one of the
records as session data for the data session.
23. The breakout gateway device of claim 17, further comprising an
address allocator to assign the first PDP address to the mobile
device for the data session, wherein the network interface receives
downstream data traffic for the data session from the PDN, wherein
the downstream data traffic comprises the PDP address as a
destination address for the PDP packet, wherein the breakout module
forwards the downstream data traffic to the mobile device via a
Radio Access Bearer (RAB) between the breakout gateway device and
the mobile device.
24. The breakout gateway device of claim 23, wherein the breakout
module encapsulates a packet that constitutes the downstream data
traffic in a GTP header that specifies a downstream TEID received
by the breakout gateway device in a RAB Assignment Response message
from a radio network controller (RNC) of the radio access
network.
25. The breakout gateway device of claim 17, wherein the breakout
module breaks out the data traffic only when the data traffic has a
destination address that is an address of the breakout gateway
device, wherein the breakout module forwards the data traffic to
the serving node when the data traffic does not have a destination
address that is an address of the breakout gateway device.
26. The breakout gateway device of claim 17, wherein the network
interface receives control traffic from a radio network controller
of the radio access network, and further comprising: one or more
breakout indicators; a lookup module to match a property of the
control traffic to one of the breakout indicators. a breakout
session setup module to establish the data session according to the
control traffic to cause the breakout gateway device, when the
lookup module matches a property of the control traffic to one of
the breakout indicators, to bypass the serving node by sending the
data traffic from the breakout gateway device to the PDN on the
second data path from the radio access network to the PDN.
27. The breakout gateway device of claim 26, wherein the property
of the control traffic is selected from the group consisting of an
access point name, an International Mobile Subscriber Identity
(IMSI) value, or an International Mobile Equipment Identity (IMEI)
value.
28. The breakout gateway device of claim 26, further comprising: a
radio network controller proxy to receive, from the serving node,
traffic destined for a radio network controller in the radio access
network; and a serving node proxy to receive, from a radio network
controller in the radio access network, traffic destined for the
serving node.
29. The breakout gateway device of claim 26, further comprising: a
mobile device records module to store one or more records, wherein
the control traffic is first control traffic and the radio network
controller is a first radio network controller, wherein the network
interface receives second control traffic associated with the data
session from a second radio network controller of the radio access
network, and wherein the breakout module modifies one or more
session data values in a record for the data session with session
data values carried by the second control traffic.
30. The breakout gateway device of claim 26, wherein the wherein
the network interface receives control traffic from a radio network
controller of the radio access network via a policy router of the
service provider network.
31. The breakout gateway device of claim 17, further comprising: a
configuration data module to store mobility information indicating
that a second breakout gateway device serves a radio network
controller (RNC) of the radio access network that serves the mobile
device, wherein the network interface receives downstream data
traffic for the data session from the PDN, wherein the data traffic
comprises a PDP address as a destination address for the PDP
packet; and a transfer module to determine, from the mobility
information and session data for the data session, that the second
breakout gateway device serves the RNC of the radio access network
that serves the mobile device, wherein the transfer module tunnels
the downstream data traffic to the second breakout gateway device
based at least on the determination.
32. The breakout gateway device of claim 17, further comprising: a
configuration data module to store mobility information indicating
that a second breakout gateway device serves a first PDP address;
and a transfer module to determine that the data traffic is sourced
by the first PDP address, wherein the transfer module tunnels the
data traffic to the second breakout gateway device based at least
on the determination.
33. The breakout gateway device of claim 17, wherein the breakout
gateway device is a first breakout gateway device, wherein the
network interface receives session data for the data session from a
second breakout gateway device, wherein the second breakout gateway
device serves a second radio network controller (RNC) of the radio
access network that previously served the mobile device, and
wherein the first breakout gateway device serves a first radio
network controller (RNC) of the radio access network that currently
serves the mobile device, wherein the network interface receives
downstream data traffic for the data session from the second
breakout gateway device, wherein the data traffic comprises a PDP
address as a destination address for the PDP packet, and wherein
the breakout module determines, from the session data, that the PDP
address is a destination address for the mobile device and sends
the downstream data traffic via the network interface to the mobile
device based at least on the determination.
34. A computer-readable storage medium comprising instructions for
causing a programmable processor to: receive, with a breakout
gateway device positioned within a mobile service provider network,
a first service request from a radio access network, wherein the
first service request specifies a requested service supported by a
packet data network (PDN); forward the first service request from
the breakout gateway device to a serving node of a mobile core
network of the mobile service provider network, wherein the serving
node couples the mobile core network to the radio access network to
provide a first data path for the radio access network to the PDN;
receive, with the breakout gateway device, data traffic for a data
session associated with the requested service from a mobile device
in the radio access network, wherein the data traffic is destined
for the PDN; and bypass the serving node by sending the data
traffic from the breakout gateway device to the PDN on a second
data path from the radio access network to the PDN.
Description
[0001] This application claims the benefit of U.S. Provisional
Application No. 61/318,190, filed Mar. 26, 2010, the entire content
of which is incorporated by reference herein.
TECHNICAL FIELD
[0002] The invention relates to cellular networks and, more
particularly, to offloading mobile traffic in a mobile service
provider network.
BACKGROUND
[0003] A cellular radio access network is a collection of cells
that each includes at least one base station capable of
transmitting and relaying signals to subscribers' mobile devices. A
"cell" generally denotes a distinct area of a cellular network that
utilizes a particular frequency or range of frequencies for
transmission of data. A typical base station is a tower to which
are affixed a number of antennas that transmit and receive the data
over the particular frequency. Mobile devices, such as cellular or
mobile phones, smart phones, camera phones, personal digital
assistants (PDAs) and laptop computers, may initiate or otherwise
transmit a signal at the designated frequency to the base station
to initiate a call or data session and begin transmitting data.
[0004] Cellular service providers convert cellular signals, e.g.,
Time Division Multiple Access (TDMA) signals, Orthogonal
Frequency-Division Multiplexing (OFDM) signals or Code Division
Multiple Access (CDMA) signals, received at a base station from
mobile devices into Internet protocol (IP) packets for transmission
within packet-based networks. A number of standards have been
proposed to facilitate this conversion and transmission of cellular
signals to IP packets, such as a general packet radio service
(GPRS) standardized by the Global System for Mobile Communications
(GSM) Association, mobile IP standardized by the Internet
Engineering Task Force (IETF), as well as, other standards proposed
by the 3.sup.rd Generation Partnership Project (3GPP), 3.sup.rd
Generation Partnership Project 2 (3GGP/2) and the Worldwide
Interoperability for Microwave Access (WiMAX) forum.
[0005] A typical 3GPP mobile network includes GPRS core
circuit-switched and packet-switched networks, a backhaul network,
and a number of radio access networks. A backhaul network for the
mobile network includes land-based transmission lines, frequently
leased by the service provider, to transport mobile data and
control traffic between radio access network base stations and the
core networks. The backhaul network also includes network devices,
such as the radio network controllers (RNCs) of the radio access
networks, aggregation devices, and routers.
[0006] The core packet-switched network for the mobile network
provides access to one or more packet data networks (PDNs), which
may include, for example, the Internet, an enterprise intranet, a
layer 3 VPN, and a service provider's private network. Various PDNs
provide a variety of packet-based data services to mobile devices,
such as bulk data delivery, voice over Internet protocol (VoIP),
Internet protocol television (IPTV), and the Short Messaging
Service (SMS). Service providers are seeing rapid growth in demand
for data services, and this trend will continue to accelerate.
[0007] In addition to providing access to PDNs, the core
packet-switched network for a service provider's mobile network
also provides core support services for the packet-based services
of the PDNs. Core support services enable and promote efficiency,
security, mobility, and accounting for the packet-based services.
GPRS support nodes (GSNs) within the core packet-switched network
of the mobile network provider distribute the functionality of the
core support services among Serving GSNs (SGSNs), which each serve
groups of radio access networks that provide the front-end
interface to the mobile devices, and Gateway GSNs (GGSNs), which
are edge nodes logically located between the core packet-switched
network and the PDNs. The SGSNs and GGSNs may perform, for example,
authentication, session management, mobility management,
compression, encryption, billing, and filtering for a service
provider's GPRS core network.
SUMMARY
[0008] In general, techniques are described for breaking out mobile
data traffic in a mobile service provider network. For example, for
a mobile service provider network that includes a mobile core
network, a backhaul network, and one or more radio access networks
(RANs), the techniques may be applied to bypass both the mobile
core network and portions of the backhaul network by "breaking out"
mobile data traffic from the backhaul network.
[0009] A breakout gateway device (BGW), as described herein, is
positioned within the mobile backhaul network to aggregate and
serve a set of one or more RNCs. An administrator provisions the
BGW with a list of identifiers that specify for the BGW the mobile
sessions for which associated data traffic is to bypass the mobile
core network. As part of a mobile session setup for a mobile
device, a GGSN assigns the mobile device a packet data protocol
(PDP) address for use by the mobile device as a source PDP address.
The BGW analyzes control traffic traversing the backhaul network
between the RANs and the mobile core network. If control traffic
comprises a PDP address assignment and includes an identifier
specified in the provisioned list of identifiers, the BGW replaces
the PDP address assigned by a GGSN with a PDP address served by the
BGW and advertised by the BGW to upstream networks.
[0010] Thereafter, the BGW redirects mobile data traffic sourced by
BGW-assigned PDP addresses to upstream networks to bypass the
remainder of the backhaul network and the mobile core network. In
addition, upstream networks route downstream traffic addressed to a
BGW-assigned PDP address to the BGW, bypassing portions of the
backhaul network and the mobile core network.
[0011] In one embodiment, the invention is directed to a method
comprising the step of receiving, with a breakout gateway device
positioned within a mobile service provider network, a first
service request from a radio access network, wherein the first
service request specifies a requested service supported by a packet
data network (PDN). The method further comprises the step of
forwarding the first service request from the breakout gateway
device to a serving node of a mobile core network of the mobile
service provider network, wherein the serving node couples the
mobile core network to the radio access network to provide a first
data path for the radio access network to the PDN. The method
additionally comprises the step of receiving, with the breakout
gateway device, data traffic for a data session associated with the
requested service from a mobile device in the radio access network,
wherein the data traffic is destined for the PDN. The method
further comprises the step of bypassing the serving node by sending
the data traffic from the breakout gateway device to the PDN on a
second data path from the radio access network to the PDN.
[0012] In another embodiment, the invention is directed to a
breakout gateway device positioned within a mobile service provider
network, comprising a network interface to receive a first service
request and data traffic for a data session associated with the
requested service from a mobile device in a radio access network,
wherein the first service request is addressed to a serving node of
a mobile core network of the mobile service provider network and
specifies a requested service supported by a packet data network
(PDN), and wherein the data traffic is destined for the PDN. The
breakout gateway device additionally comprises a control packet
analysis module to forward the first service request from the
breakout gateway device to the serving node, wherein the serving
node couples the mobile core network to the radio access network to
provide a first data path for the radio access network to the PDN.
The breakout gateway device further comprises a breakout module to
bypass the serving node by sending the data traffic from the
breakout gateway device to the PDN on a second data path from the
radio access network to the PDN.
[0013] In another embodiment, the invention is directed to a
computer-readable medium containing instructions. The instructions
cause a programmable processor to receive, with a breakout gateway
device positioned within a mobile service provider network, a first
service request from a radio access network, wherein the first
service request specifies a requested service supported by a packet
data network (PDN). The instructions additionally cause the
programmable processor to forward the first service request from
the breakout gateway device to a serving node of a mobile core
network of the mobile service provider network, wherein the serving
node couples the mobile core network to the radio access network to
provide a first data path for the radio access network to the PDN.
The instructions further cause the programmable processor to
receive, with the breakout gateway device, data traffic for a data
session associated with the requested service from a mobile device
in the radio access network, wherein the data traffic is destined
for the PDN. The instructions additionally cause the programmable
processor to bypass the serving node by sending the data traffic
from the breakout gateway device to the PDN on a second data path
from the radio access network to the PDN.
[0014] The techniques herein described may present one or more
advantages. For instance, in some environments a significant
portion of mobile traffic (e.g., flat-rate and capped flat-rate
data traffic) may not require the extensive services provided by a
mobile core network of a mobile service provider. Selectively
offloading mobile data traffic from the backhaul network may allow
the mobile service provider to avoid outlaying the resources, such
as additional support nodes, processing power, and bandwidth, that
would otherwise be needed to apply core support services to the
offloaded mobile traffic. In addition, selectively offloading
mobile data traffic may enable the mobile service provider to
reduce its utilization of the backhaul network. Because a backhaul
network often includes leased land-based transmission lines, the
service provider may, in some instances, reduce backhaul-related
leasing costs.
[0015] The details of one or more embodiments of the invention are
set forth in the accompanying drawings and the description below.
Other features, objects, and advantages of the invention will be
apparent from the description and drawings, and from the
claims.
BRIEF DESCRIPTION OF DRAWINGS
[0016] FIG. 1 is a block diagram illustrating an exemplary network
system that includes a number of breakout gateways that offload
mobile data traffic from a mobile service provider network
according to the techniques of this disclosure.
[0017] FIG. 2 is a block diagram illustrating a Universal Mobile
Telephony Service (UMTS) network having a topology-dependent
breakout gateway that offloads mobile data traffic from the network
according to the techniques of this disclosure.
[0018] FIG. 3 is a block diagram illustrating a Universal Mobile
Telephony Service (UMTS) network having a topology-independent
breakout gateway that offloads mobile data traffic from the network
according to the techniques of this disclosure.
[0019] FIG. 4 is a block diagram illustrating an exemplary breakout
gateway of FIG. 3 in further detail.
[0020] FIG. 5 is a block diagram illustrating, in detail, an
exemplary breakout session setup module of the breakout gateway of
FIG. 4.
[0021] FIG. 6 is a flowchart illustrating exemplary modes of
operation of elements of a mobile service provider network for
setting a PDP address for a mobile device to a PDP address locally
routable by a breakout gateway according to the described
techniques.
[0022] FIG. 7 is a flowchart illustrating exemplary modes of
operation for elements of a mobile service provider network for
establishing a tunnel between an RNC that serves a mobile device
and a breakout gateway in accordance with the techniques herein
described.
[0023] FIG. 8 is a flowchart illustrating an exemplary mode of
operation of a breakout gateway for breaking out mobile data
traffic from a mobile service provider network according to the
techniques of this disclosure.
[0024] FIG. 9 is a block diagram illustrating an exemplary
embodiment of the UMTS network of FIG. 2 that includes a policy
router to route mobile control traffic to a breakout gateway in
accordance with the described techniques.
[0025] FIG. 10 is a block diagram illustrating a network system
having breakout gateways that perform mobility management for a
mobile device in accordance with the described techniques.
[0026] FIG. 11 is a block diagram illustrating, in detail, an
exemplary mobility module for the exemplary breakout gateway of
FIG. 4.
[0027] FIG. 12 is a block diagram illustrating a network system
having breakout gateways that perform mobility management for a
mobile device in accordance with the described techniques.
[0028] FIG. 13 is a flowchart illustrating an exemplary mode of
operation of a breakout gateway to perform mobility management for
a mobile device according the techniques described herein.
[0029] FIG. 14 is a block diagram illustrating a network system
having breakout gateways that perform mobility management for a
mobile device in accordance with the described techniques.
[0030] FIG. 15 is a flowchart illustrating an exemplary mode of
operation of a breakout gateway to perform mobility management for
a mobile device according the techniques described herein.
[0031] FIG. 16 is a block diagram illustrating a network system
having breakout gateways that perform mobility management for a
mobile device in accordance with the described techniques.
[0032] FIG. 17 is a flowchart illustrating an exemplary mode of
operation of a breakout gateway to perform mobility management for
a mobile device according the techniques described herein.
DETAILED DESCRIPTION
[0033] FIG. 1 is a block diagram illustrating an exemplary network
system 1 operating according to the described techniques. In this
example, network system 1 comprises packet data network (PDN) 14
coupled to server 19 and to mobile service provider network 2.
Packet data network 14 supports one or more packet-based services
provided by server 19 that are available for request and use by any
of mobile devices 16A-16D ("mobile devices 16"). As examples, PDN
14 in conjunction with server 19 may provide bulk data delivery,
voice over Internet protocol (VoIP), Internet protocol television
(IPTV), Short Messaging Service (SMS), and Wireless Application
Protocol (WAP) service. Packet data network 14 may comprise, for
instance, a local area network (LAN), a wide area network (WAN),
the Internet, a virtual LAN (VLAN), an enterprise LAN, a layer 3
virtual private network (VPN), an Internet Protocol (IP) intranet
operated by the mobile service provider that operates mobile
service provider network 2, an enterprise IP network, or some
combination thereof. In various embodiments, PDN 14 is connected to
a public WAN, the Internet, or to other networks. Packet data
network 14 executes one or more packet data protocols (PDPs), such
as IP (IPv4 and/or IPv6), X.25 or Point-to-Point Protocol (PPP), to
enable packet transport for server 19 services.
[0034] Each of mobile devices 16 is a wireless communication device
that may comprise, for example, a mobile telephone, a laptop or
desktop computer having, e.g., a 3G wireless card, a
wireless-capable netbook, a video game device, a pager, a smart
phone, or a personal data assistant (PDA). Each of mobile devices
16 may run one or more applications, such as mobile calls, video
games, videoconferencing, and email, among others. Certain
applications running on mobile devices 16 may require access to
services offered by server 19 via PDN 14.
[0035] A service provider operates mobile service provider network
2 to provide network access, data transport and other services to
mobile devices 16. Mobile service provider network 2 comprises
mobile core network 7, base stations 11A-11D, and backhaul network
4. Mobile devices 16 communicate with base stations 11A-11D ("base
stations 11") over wireless links to access mobile service provider
network 2.
[0036] Backhaul network 4 is a transport network that enables base
stations 11 to exchange packetized data with mobile core network 7
and PDN 14. Backhaul network 4 comprises communication nodes
interconnected by communication links, such as leased land-lines or
point-to-point microwave connection. The communication nodes
comprise network, aggregation, and switching elements that execute
one or more protocols to route packets between base stations 11 and
a respective gateway device for either mobile core network 7 or PDN
14. In various aspects, backhaul network 4 may comprise a GSM radio
access network (GRAN) or a Universal Mobile Telephony Service
(UMTS) terrestrial radio access network (UTRAN) operating according
to respective radio access network standards set forth by the
relevant standards-setting body (e.g., 3GPP). Backhaul network 4 is
coupled to mobile core network 7 via communication link 18 and to
PDN 14 via communication link 20. The term "communication link," as
used herein, comprises any form of transport medium, wired or
wireless, and can include intermediate nodes such as network
devices. Communication links 18 and 20 may, for instance, each
comprise an asymmetric digital subscriber line (DSL) network,
WiMAX, a T-1 line, an Integrated Service Digital Network (ISDN),
wired Ethernet, or other type of network. Elements of backhaul
network 4 may communicate using Asynchronous Transfer Mode
(ATM).
[0037] Mobile core network 7 provides session management, mobility
management, and transport services between backhaul network 4 and
PDN 14 to support access, by mobile devices 16, to PDN 14 and
services of server 19. Mobile core network 7 is coupled to PDN 14
via communication link 22. Mobile core network 7 may comprise, for
instance, a general packet radio service (GPRS) core
packed-switched network, a GPRS core circuit-switched network, an
IP-based mobile multimedia core network, or another type of
transport network. Mobile core network 7 comprises one or more
packet processing nodes to support firewall, load balancing,
billing, deep-packet inspection (DPI), and other services for
mobile traffic traversing the mobile core network.
[0038] Elements of backhaul network 4 and mobile core network 7
cooperate to establish and operate traffic bearers to transport
mobile traffic, in the form of PDP packet data units (PDUs),
between mobile devices 16 and a gateway node (not shown in FIG. 1)
of mobile core network 7 (i.e., a communication node that couples
mobile core network 7 to PDN 14 via communication link 22). For
example, a particular traffic bearer between mobile device 16A and
a gateway node of mobile core network 7 may be operated according
to session data and various protocols executing on mobile device
16A, base station 11A, breakout gateway 8A and other elements of
backhaul network 4, and elements of mobile core network 7. A
traffic bearer may be composed of multiple sub-bearers connecting
individual elements that operate the traffic bearer.
[0039] Packets traversing mobile service provider network 2 between
one of mobile devices 16 and PDN 14 may thus comprise an inner
routing header that includes a source PDP address and a destination
PDP address, as well as an outer routing header that includes a
source IP address and a destination IP address. Elements of mobile
service provider network 2 use the outer routing header of a packet
to route a packet to the appropriate gateway (i.e., one of BGWs 8
or a gateway of mobile core network 7), or to the appropriate one
of mobile devices 16. In some instances, the source PDP address and
destination PDP address of an inner header are IP addresses.
[0040] According to the techniques described, backhaul network 4
further comprises breakout gateways 8A-8C ("BGWs 8") to divert
mobile data traffic issuing from mobile devices 16 to PDN 14 via
respective breakout links 21A-21C ("breakout links 21"), thereby
bypassing both mobile core network 7 and, in some instances,
elements of backhaul network 4 that lie on a forwarding path from
BGWs 8 to mobile core network 7. Each of breakout links 21
comprises communication link 20. Each of BGWs 8 may be an
independent communication node operating within or at the edge of
backhaul network 4. In some embodiments, any of BGWs 8 may be a
component or module of another communication element, such as a
router, within backhaul network 4.
[0041] BGWs 8 are each communicatively coupled to one or more base
stations 11 via communication links 13A-13D. Mobile traffic
traversing backhaul network 4 between base stations 11 and mobile
core network 7 traverses at least one of BGWs 8, which permits the
BGWs to monitor properties of the mobile control traffic. Mobile
control traffic includes signaling messages for establishing and
tearing down traffic bearers, migrating session data among elements
of backhaul network 4 and mobile core network 7 for mobility, and
other functions. Mobile control traffic may include fields that
identify services, subscribers, and mobile devices.
[0042] Each of BGWs 8 includes configuration data that designates
selected mobile data traffic for breakout based on properties of
the corresponding mobile control traffic. Accordingly, BGWs 8
breakout selected mobile data traffic from backhaul network 4 when
corresponding mobile control traffic exhibits one or more
properties that indicate, in the configuration data, that such the
mobile data traffic is designated for breakout. Mobile data traffic
corresponds to mobile control traffic when the data traffic is
carried by traffic bearers established by elements of network
system 1 in accordance with the mobile control traffic.
[0043] In one example, BGW 8A receives a mobile control traffic
from base station 11A and determines a subscriber identifier
specified by the control traffic. BGW 8A then queries the
configuration data to determine, based on the subscriber
identifier, whether mobile data traffic corresponding to the mobile
control traffic is designated for breakout. If the mobile data
traffic is not designated for breakout, BGW 8A forwards the mobile
data traffic on a forwarding path that traverses mobile core
network 7. If, however, the mobile data traffic is designated for
offload, BGW 8A establishes a breakout data path to PDN 14 for the
data traffic. The breakout data path bypasses mobile core network 7
and, in some instances, elements of backhaul network 4. In this
example, the breakout data path for the mobile data traffic
includes breakout link 21A to PDN 14. In addition, BGW 8A
advertises a routing identifier (e.g., an IP address) to enable PDN
14 to route downstream designated mobile data traffic to BGW 8A via
communication link 20 rather than to mobile core network 7 via
communication link 22. In this example, the downstream forwarding
path for the designated mobile data traffic includes breakout link
21A.
[0044] Having established a breakout data path for the designated
mobile data traffic, BGW 8A thereafter directs the designated
mobile data traffic, received from mobile device 16A via base
station 11A, onto the breakout data path for forwarding to PDN 14.
BGW 8A also receives downstream designated mobile data traffic from
PDN 14 via breakout link 21A. BGW 8A thus terminates a breakout
traffic bearer that carries designated mobile data traffic between
mobile device 16A and PDN 14 while bypassing mobile core network 7.
As a result, BGW 8A, although not an element of mobile core network
7, is a gateway device that enables PDN 14 to access mobile service
provider network 2 and vice-versa. BGW 8A continues to forward
non-designated mobile data traffic over a standard traffic bearer
that includes mobile core network 7.
[0045] The techniques of this disclosure may provide certain
advantages. For instance, in the absence of the techniques
described herein, mobile core network 7 may apply services (e.g.,
load balancing and walled-garden services such as deep packet
inspection) to mobile data traffic that does not require such
services. In such instances, mobile core network 7 must scale
correlative to increasing mobile traffic, requiring capital
expenditures for additional service providing nodes to meet
increasing demand. The techniques described may allow diversion of
designated mobile data traffic to communication link 20, which may
comprise a low-cost, high-volume network (e.g., a broadband
network), thereby bypassing mobile core network 7 and with it, the
relatively high costs of applying unnecessary services to the
mobile traffic. In addition, the techniques may enable designated
mobile data traffic to bypass one or more elements of backhaul
network 4, which may include leased transmission media and/or
legacy elements having low bandwidth capacity. As a result, the
techniques may reduce service provider leasing costs and/or capital
expenditures that would otherwise be required to upgrade backhaul
network 4 to carry the increasing demands of mobile data
traffic.
[0046] FIG. 2 is a block diagram illustrating an exemplary
embodiment of network system 1 in further detail. In this example,
mobile service provider network 2 comprises a Universal Mobile
Telephony Service (UMTS) network that operates in accordance with
the 3rd Generation Partnership Project (3GPP) standards and with
the techniques described herein. For purposes of illustration, the
techniques herein will be described with respect to a UMTS network.
However, the techniques are applicable to other communication
network types in other examples. For instance, the techniques are
similarly applicable to network architectures and nodes deploying
3GPP/2, WiMAX, and Mobile IP based technologies and standards.
[0047] Mobile service provider network 2 includes a general packet
radio service (GPRS) core packed-switched network 7 (hereinafter,
"GPRS core network 7"), which illustrates an embodiment of mobile
core network 7 of FIG. 1 in further detail. In this embodiment,
backhaul network 4 comprises radio network controller 6A ("RNC 6A")
coupled to base station 11A via an Iub interface. RNC 6A and base
station 11A form a UMTS Terrestrial Radio Access Network (UTRAN) 25
communicatively coupled to GPRS core network 7 via Iu-PS interface
24 operating over backhaul network 4. UTRAN 25 thus provides
wireless access by mobile device 16A to GPRS core network 7.
[0048] GPRS core network 7 provides packet-switched (PS) services
to UTRAN 25. For example, GPRS core network 7 provides packet
routing and switching, as well as mobility management,
authentication, and session management for mobile devices 16 served
by UTRAN 25. In some examples, mobile service provider network 2
may include additional nodes to further provide circuit-switched
(CS) services. In such examples, mobile service provider network 2
further includes an Iu-CS interface (not shown) to communicatively
couple the additional nodes to UTRAN 25 to enable real-time,
circuit-switched communication.
[0049] The packet-switched services provided by GPRS core network 7
may include mobility services, such as authentication and roaming
services, as well as call handling services, signaling, billing,
and internetworking between GPRS core network 7 and external
networks, such as PDN 14. In some examples, GPRS core network 7 is
connected to one or more other carrier networks, such as the
Internet and the Integrated Services Digital Network (ISDN).
[0050] Iu-PS interface 24 operates over backhaul network 4 and
provides UTRAN 25 with access to core support services provided by
GPRS core network 7. In general, Iu-PS interface 24 supports
protocols that enable communication between UTRAN 25 and GPRS core
network 7. In the example of mobile service provider network 2,
Iu-PS interface 24 supports Signaling ATM Adaptation Layer (SAAL)
and ATM Adaptation Layer 5 (AAL5) running over Asynchronous
Transfer Mode (ATM). Iu-PS interface 24 further supports Radio
Access Network Application Part (RANAP) running over Signaling
Connection Control Part (SCCP) protocol for handling
signaling/control between UTRAN 25 and GPRS core network 7, as well
as the GPRS Tunneling Protocol (GTP) running over User Datagram
Protocol (UDP) for transferring data. Iu-PS interface 24 supporting
RANAP may carry GPRS-specific applications, including GPRS Mobility
Management (GMM), Session Management (SM), and Short Message
Service (SMS). In this example, backhaul network 4 is an IP
network.
[0051] Base station 11A is connected to RNC 6A via Iub interface 22
operating over a communication link. Base station 11A, in this
embodiment, comprises a Node B base transceiver station that uses
an air interface to communicate with user equipment in the
geographic region (or "cell") that base station 11A serves. In some
embodiments, base station 11A comprises a femtocell. Mobile device
16A is located within the cell served by base station 11A. UTRAN 25
may, in some instances, comprise additional base stations, each of
which may serve one of several cells. In some examples, base
station 11A may be another type of wireless transceiver station,
such as a site controller or a WiMAX access point. User equipment,
such as mobile device 16A, may be referred to in alternative
architectures as a mobile station (MS).
[0052] Mobile device 16A has associated identifying information
that may include, for example, a Mobile Subscriber ISDN Number
(MSISDN), an International Mobile Subscriber Identity (IMSI), or an
International Mobile Equipment Identity (IMEI) stored, for
instance, in a subscriber identity module (SIM) or in mobile device
16A memory.
[0053] RNC 6A manages and routes data to/from base station 11A and
interfaces UTRAN 25 to GPRS core network 7 via Iu-PS interface 24.
As such, RNC 6A executes protocols supported by Iu-PS interface 24
(e.g., GTP) and may therefore, for instance, establish and support
GTP tunnels to nodes in GPRS core network 7. In some instances, RNC
6A comprises an IP router. In some embodiments, UTRAN 25 may
comprise additional RNCs and associated base stations variously
arranged.
[0054] In the illustrated embodiment, GPRS core network 7 comprises
serving GPRS support node 10 ("SGSN 10"), and gateway GPRS support
node 12 ("GGSN 12"). SGSN 10 uses Access Point Names (APNs) to
switch mobile traffic for UTRAN 25 to available GGSNs, such as GGSN
12. GPRS support nodes (GSNs) of GPRS core network 7 communicate
using Gn interface 26 operating over a communication link, which
may comprise an IP network. In some embodiment, Gn interface 26
thus uses an Internet Protocol, such as IPv4 and/or IPv6, at the
network layer of the Gn interface 26 protocol stack.
[0055] In addition, SGSN 10 serves RNC 6A, to which it is
communicatively coupled via Iu-PS interface 24 operating over a
communication link, and thus executes downstream protocols
supported by Iu-PS interface 24 (e.g., GTP). Mobile device 16A
connects to SGSN 10 during a GPRS Attach procedure. As an aspect of
this procedure, mobile device 16A sends identifying information
(e.g., an IMSI) to SGSN 10 via RNC 6A, which SGSN 10 uses to
authenticate the mobile device in cooperation with other GPRS core
network 7 elements, such as a Home Location Register (HLR) (not
shown). Upon completion of the GPRS Attach, SGSN 10 begins tracking
the mobile device 16A location as it moves among cells of UTRAN
25.
[0056] GGSN 12 is a gateway node that connects GPRS core network 7
(and hence service provider network 2) to PDN 14 via Gi interface
28 operating over communication link 22. GGSN 12 enables access to
one or more services provided by server 19 via PDN 14, and GGSN 12
maps accessible services to APNs. For example, GGSN 12 may comprise
a data structure that maps APNs to the packet data protocol (PDP)
address of the appropriate service node (e.g., server 19). In other
examples, GGSN 12 queries, using a received APN, a server for a PDP
address of the appropriate service node for the APN.
[0057] In accordance with the described techniques, backhaul
network 4 further comprises breakout gateway 8A logically situated
on Iu-PS interface 24. BGW 8A executes Iu-PS protocols, including
RANAP and GTP for signaling and data transport, respectively.
[0058] In the example embodiment, BGW 8A lies on the forwarding
paths between RNC 6A and SGSN 10. That is, BGW 8A is a next hop on
a forwarding path from RNC 6A to SGSN 10 and also a next hop on a
forwarding path from SGSN 10 to RNC 6A. BGW 8A is coupled to RNC 6A
and SGSN 10 via respective communication links 30 and 32.
[0059] BGW 8A does not include any proxy functionality and is
therefore topology-dependent. That is, the BGW 8A of FIG. 3 must
lie on the forwarding paths between RNC 6A and SGSN 10. However,
BGW 8A is logically located on Iu-PS interface 24. BGW 8A, although
not functioning as a proxy and therefore not addressed as a
destination device for mobile control and data traffic, snoops
mobile control traffic that traverses the forwarding paths between
RNC 6A and SGSN 10 and modifies the control traffic, as described
in detail below, in accordance with the described techniques.
[0060] BGW 8A is additionally logically situated on Gi interface 28
executing over elements of backhaul network 4 and communication
link 20 to PDN 14. BGW 8A advertises a routable PDP address to PDN
14, making BGW 8A accessible via a forwarding path that includes
communication link 20. Consequently, BGW 8A is a gateway node for
service provider network 2 that enables access by mobile device 16A
to one or more services provided by server 19 via PDN 14.
[0061] As elements of enabling access to PDN 14, Gi interface 28
may provide one or more of authentication, accounting/billing, and
authorization for mobile device 16A and users thereof. For example,
each of GGSN 12 and BGW 8A may comprise a Remote Authentication
Dial-In User Service (RADIUS) client that connects to a RADIUS
server (not shown) operating on Gi interface 28 and containing a
database of user access credentials, such as username/password
combinations, mobile device records, and identifying information.
In one example, the RADIUS client may, using an IMSI, authenticate
the user of mobile device 16A that is requesting a service from PDN
14.
[0062] BGW 8A monitors signaling traffic traversing BGW 8A on Iu-PS
interface 24 to identify data traffic that BGW 8A is to breakout on
Gi interface 28 to PDN 14 via communication link 20. In one
example, BGW 8A stores breakout indicators that map to properties
of signaling traffic. Breakout indicators may include, for
instance, APNs, IMSI or IMEI values, a quality of service (QoS)
profile, a static or semi-static PDP address of mobile device 16A,
a PDP address assigned by GGSN 12 to mobile device 16A, or another
property. When a value of a breakout indicator stored by BGW 8A
matches a value of a property of the signaling traffic, BGW 8A
takes steps to breakout the corresponding mobile data traffic. In
another example, BGW 8A queries, using properties of the signaling
traffic, an Authentication, Authorization, and Accounting (AAA)
server (e.g., a RADIUS server). The AAA server responds to a BGW 8A
query with an indication of whether BGW 8A should breakout
corresponding mobile data traffic for the signaling traffic.
[0063] For example, mobile device 16A activates access to GPRS core
network 7 by initiating a GPRS Attach procedure with an Attach
Request message to SGSN 10. BGW 8A intercepts the Attach Request
message as it traverses backhaul network 4 from RNC 6A to SGSN 10.
BGW 8A then extracts, from the message, one or more identifiers for
mobile device 16A, such as an IMSI, a packet-temporary mobile
subscriber identity (P-TMSI), or an SCCP connection identifier. BGW
8A also extracts the IP addresses of RNC 6A and SGSN 10, creates a
record for mobile device 16A, and stores the extracted data in the
record. BGW 8A then forwards the Attach Request message to SGSN 10,
which may authenticate and authorize mobile device 16A and then
reply to mobile device 16A with an Attach Accept message.
[0064] To establish a traffic bearer that enables data traffic
exchange between mobile device 16A and GGSN 12, mobile device 16A
sends SGSN 10 an Activate PDP Context Request message that
comprises an APN requested. In general, an APN comprises a
mandatory network identifier that specifies either an external
packet data network (e.g., PDN 14) or a service (e.g.,
Internet).
[0065] SGSN 10 uses the APN received in the Activate PDP Context
Request message to determine the appropriate GGSN linked to the PDN
or service specified by the APN. In the illustrated embodiment,
SGSN 10 sends GGSN 12 a Create PDP Context Request message that
requests GGSN 12 to establish a PDP context for mobile device 16A
as well as a GTP tunnel with which to transport mobile data traffic
between SGSN 10 and GGSN 12. In general, a PDP context is a data
structure stored on each of mobile device 16A, SGSN 10, and GGSN 12
that the devices use to forward mobile data traffic identified by
the PDP context. In the illustrated embodiment, the PDP contexts on
each of mobile device 16A, SGSN 10, and GGSN 12 link two GTP
tunnels that intersect at SGSN 10 to form a traffic bearer (i.e., a
3GPP bearer) between mobile device 16A and GGSN 12.
[0066] The Create PDP Context Request message comprises the APN
network identifier received by SGSN 10, as well as a Tunnel
Endpoint Identifier (TEID) created by SGSN 10 that identifies the
SGSN 10 side of a GTP tunnel to be established between SGSN 10 and
GGSN 12 for a new PDP context. GGSN 12 creates a new PDP context
responsive to the message received from SGSN 10 and installs the
new PDP context into the GGSN 12 PDP context table. GGSN 12 also
establishes a GTP tunnel to SGSN 10 for the new PDP context and
sends SGSN 10 a Create PDP Context Response message that includes a
TEID for the GGSN 12 side of the tunnel. To send SGSN 10 mobile
data packets using this GTP tunnel, GGSN 12 uses the TEID it
received from SGSN 10 in the Create PDP Context Request message. To
send GGSN 12 packets using this GTP tunnel, SGSN 10 uses the TEID
it received from GGSN 12 in the Create PDP Context Response
message.
[0067] The Create PDP Context Response message from GGSN 12 to SGSN
10 may also include a PDP address assigned to mobile device 16A.
The PDP address is routable by PDN 14 and provides a destination
address for mobile device 16A that enables mobile device 16A to
exchange packets with PDN 14 to access services provided by server
19. GGSN 12 may comprise an available pool of public or private PDP
addresses for assignment to requesting mobile devices. In some
embodiments, GGSN 12 connects to a Dynamic Host Configuration
Protocol (DHCP) server (not shown) operating on Gi interface 28 to
obtain a dynamically allocated PDP address for mobile device 16A
during a PDP context activation. Using a DHCP server may have an
advantage of centralized administration of the available address
pool.
[0068] Upon receiving the Create PDP Context Response message from
GGSN 12, SGSN 10 installs a PDP context for mobile device 16A and
attempts to establish a radio access bearer (RAB) with RNC 6A by
sending RNC 6A a RAB Assignment Request message. The RAB Assignment
Request message is a request by SGSN 10 to establish, modify, or
release a RAB comprising both a radio bearer to exchange data
between mobile device 16A and RNC 6A as well as a GTP tunnel
between RNC 6A and SGSN 10. The RAB Assignment Request message may
include a Tunnel Endpoint Identifier (TEID) created by SGSN 10 that
identifies the SGSN 10 side of a GTP tunnel to be established
between RNC 6 and SGSN 10 for the PDP context. BGW 8A forwards the
RAB Assignment Request message to RNC 6A, which sends a responsive
RAB Assignment Response to SGSN 10 to inform the SGSN of the result
of the RAB Assignment Request.
[0069] BGW 8A establishes a GTP-U tunnel with RNC 6A for breakout
mobile data traffic. In such instances, BGW 8A intercepts the RAB
Assignment Request message from SGSN 10 to RNC 6A and inspects the
message properties to determine whether one or more of the property
values match a breakout indicator value stored by BGW 8A. For
example, the RAB Assignment Request message may include an IMSI
value that BGW 8A matches to a breakout indicator value. If a
message property value matches a breakout indicator value, BGW 8A
extracts the embedded TEID for the SGSN 10 side of the GTP tunnel,
or "upstream TEID," and stores the upstream TEID in a record for
mobile device 16A. In addition, BGW 8A extracts the source (i.e.,
SGSN 10) and destination (i.e., RNC 6A) addresses for the RAB
Assignment Request message and stores these in the record. BGW 8A
then spoofs the identity of SGSN 10 in the message by replacing the
source address with an IP address of BGW 8A. As a result, BGW 8A
will receive the responsive RAB Assignment Response message from
RNC 6A that, in general, RNCs use to inform an SGSN of the result
of a RAB Assignment Request. BGW 8A replaces the upstream TEID with
a new TEID, allocated by and specific to BGW 8A.
[0070] If RNC 6A successfully establishes a RAB for the breakout
mobile data traffic, the RAB Assignment Response message includes a
TEID for the RNC 6A side of the GTP tunnel, or "downstream TEID,"
that RNC 6A and BGW 8A now terminate. BGW 8A stores the downstream
TEID in the record for mobile device 16A and uses the downstream
TEID and the IP address of RNC 6A to send breakout mobile data
traffic (i.e., GTP-U traffic) to RNC 6A via the associated GTP
tunnel. RNC 6A uses the IP address for BGW 8A and the TEID that RNC
6A received in the RAB Assignment Request message to send breakout
mobile data traffic to BGW 8A through the GTP tunnel. The TEID that
RNC 6A received in the RAB Assignment Request message now
identifies the BGW 8A side of a GTP tunnel terminated by both BGW
8A and RNC 6A. BGW 8A forwards RAB Assignment Response messages
from RNC 6A to SGSN 10 using the extracted upstream TEID to
continue the PDP activation requested by mobile device 16A.
[0071] SGSN 10 completes the PDP context activation requested by
mobile device 16A by sending an Activate PDP Context Accept message
to RNC 6A. The message may include a PDP address assigned by GGSN
12 to mobile device 16A.
[0072] In one aspect of the techniques, BGW 8A intercepts the
Activate PDP Context Accept message and inspects the message
properties to determine whether one or more of the property values
match a breakout indicator value stored by BGW 8A. For example, the
Activate PDP Context Accept message may include an APN value that
BGW 8A matches to a breakout indicator value. If one of the
property values of the message matches a breakout indicator value,
BGW 8A establishes breakout data path 29 for mobile data traffic
associated with the new PDP context. Breakout data path 29 is an
access path for mobile service provider network 2 to PDN 14.
[0073] In one example for establishing a breakout data path 29,
when the Activate PDP Context Accept message includes a PDP address
assignment for mobile device 16A, BGW 8A replaces the PDP address
assigned by GGSN 12 with a PDP address allocated from a PDP address
pool maintained by BGW 8A. The PDP address pool may comprise a
subnet of PDP addresses. For example, the PDP address pool may
comprise IP addresses in subnet 30.1/16. In some aspects, BGW 8A
queries a DHCP server for an assignable PDP address. BGW 8A adds
the assigned PDP address to the record for mobile device 16A. In
addition, BGW 8A advertises the assigned PDP address using a
routing protocol, e.g., Border Gateway Protocol (BGP), to PDN
14.
[0074] BGW 8A forwards the modified Activate PDP Context Accept
message to mobile device 6A, which adds the BGW-assigned PDP
address to the now-active PDP context on the mobile device 16A.
Mobile device 16A thereafter uses the BGW-assigned PDP address as
the source address for mobile data traffic sent according to the
PDP context. In addition, mobile device 16A sends mobile data
traffic for the PDP context mobile device via the GTP tunnel
between RNC 6A and BGW 8A established during the RAB
assignment.
[0075] When BGW 8A receives mobile data traffic via a GTP tunnel
established between RNC 6A and BGW 8A established during a RAB
assignment, BGW 8A breaks out the mobile data traffic along
breakout data path 29 to PDN 14, which includes communication link
20. That is, BGW 8A decapsulates the packets from the GTP-U header
of the GTP tunnel between RNC 6A and SGSN 10 and sends the
decapsulated packets to PDN 14. BGW 8A thus causes the mobile data
traffic to bypass GPRS core network 7 and elements of backhaul
network 4 that are on a forwarding path between BGW 8A and SGSN
10.
[0076] Mobile device 16A sources breakout mobile data traffic from
a BGW-assigned PDP address. Because BGW 8A advertises the
BGW-assigned PDP address to PDN 14, PDN 14 elements route return
mobile data traffic destined for the PDP address (e.g.,
service-related data traffic issuing from server 19) to BGW 8A for
forwarding to mobile device 16A along breakout data path 29.
[0077] BGW 8A identifies breakout mobile data traffic based on the
values stored in the record for mobile device 16A. For example, BGW
8A may identify breakout mobile traffic based on a TEID for an SGSN
10 side of a GTP tunnel between RNC 6A and SGSN 10. As described
above, BGW 8A may extract this TEID from a RAB Assignment Request
message. In such embodiments, RNC 6A and SGSN 10 may establish a
GTP tunnel as part of RAB assignment. To identify breakout mobile
data traffic, BGW 8A inspects and performs deep packet inspection
of GTP packets traversing BGW 8A over the GTP tunnel between RNC 6A
and SGSN 10.
[0078] In some embodiments, BGW 8A identifies breakout mobile data
traffic based on a source PDP address for the mobile data traffic.
In such embodiments, if the mobile data traffic is sourced by a
BGW-assigned PDP address, then BGW 8A breaks out the mobile data
traffic along breakout data path 29.
[0079] In some embodiments, SGSN 10 may request RAB assignment from
RNC 6A prior to requesting PDP context creation from GGSN 12.
[0080] For mobile data traffic, received by BGW 8A from RNC 6A,
that does not include properties that identify the traffic as
breakout mobile data traffic, BGW 8A forwards the mobile data
traffic along an IP forwarding path to SGSN 10. BGW 8A may receive
the mobile data traffic while forwarding the traffic through a GTP
tunnel between RNC 6A and SGSN 10. Such mobile data traffic
ultimately traverses GPRS core network 7 to PDN 14 via
communication link 22. In addition, BGW 8A continues to forward
mobile control traffic (i.e., GTP-C packets) comprising signaling
information to GPRS core network 7 for both breakout and standard
mobile data traffic.
[0081] In some embodiments, mobile device 16A has a static PDP
address that mobile device 16A includes in an Activate PDP Context
Request message to SGSN 10. The static PDP address may be used by
mobile device 16A to source both breakout and standard mobile data
traffic. In such instances, mobile device 16A may identify breakout
mobile data traffic for mobile device 16A based on TEIDs of a GTP-U
header for the traffic, or another value.
[0082] In some instances, GPRS core network 7 requests PDP context
activation, rather than mobile device 16A. For example, GGSN 12 may
receive mobile data traffic for a PDP address for which GGSN 12
does not have an active PDP context. GGSN 12 sends the PDP address
to, for example, a Home Location Register (not shown) to obtain a
serving SGSN, e.g., SGSN 10, for mobile device 16A associated with
the PDP address. GGSN 12 then directs SGSN 10 to send mobile device
16A a Request PDP Context Activation message. In response, mobile
device 16 initiates a PDP context activation procedure. BGW 8A
applies techniques to the PDP context activation procedure, as
described above, to set up breakout data path 29 when the mobile
control traffic exhibits one or more breakout properties.
[0083] FIG. 3 is a block diagram illustrating an exemplary
embodiment of network system 1 in further detail. The exemplary
embodiment illustrated in FIG. 3 includes elements that are
substantially similar to elements illustrated by the exemplary
embodiment of FIG. 2. For example, FIG. 3 includes GPRS core
network 7 having SGSN 10 and GGSN 12, PDN 14, server 19, backhaul
network 4, BGW 8A, and UTRAN 24 comprising RNC 6A, base station
11A, and mobile device 16A.
[0084] In the illustrated embodiment, BGW 8A includes proxy module
9A to perform proxy-related functions for BGW 8A with respect to
both RNC 6A and SGSN 10. Proxy module 9A causes BGW 8A to act as an
SGSN 10 proxy for RNC 6A. That is, RNC 6A exchanges packets with
BGW 8A as though BGW 8A is SGSN 10. Similarly, proxy module 9A
causes BGW 8A to act as an RNC 6A proxy for SGSN 10. That is, SGSN
10 exchanges packets with BGW 8A as though BGW 8A is RNC 6A. By
performing these proxy functions, proxy module 9A enables BGW 8A to
insert itself into the forwarding paths between RNC 6A and SGSN 10
without modifying the topology of backhaul network 4, thus
providing a topology-independent device for performing techniques
herein described. BGW 8A is therefore on both the control path and
the data path between RNC 6A and SGSN 10.
[0085] A core network 7 administrator may configure SGSN 10 to use
BGW 8A as an RNC 6A proxy, and a UTRAN 25 administrator may
configure RNC 6A to use BGW 8A as an SGSN 10 proxy.
[0086] BGW 8A performs such modifications to mobile control traffic
in a manner substantially similar to that described above with
respect to FIG. 2. Specifically, BGW 8A may inspect Activate PDP
Context Accept messages sent from SGSN 10 to RNC 6A and extract
relevant field values, such as TEIDs. If the messages include a
breakout indicator, BGW 8A may replace the PDP address assigned by
GGSN 12 with a PDP address allocated from a PDP address pool
maintained by BGW 8A, and then forward the modified message to RNC
6A. BGW 8A advertises the BGW-assigned PDP address to PDN 14. In
addition, BGW 8A may snoop RAB Assignment Response messages sent
from SGSN 10 to RNC 6A and extract relevant field values. When a
message includes a breakout indicator, BGW 8A may replace a GTP
user-plane source address carried by the message with an IP address
of BGW 8A, and then forward the modified message to RNC 6A to
establish a GTP tunnel with RNC 6A. The GTP user-plane source
address is typically carried in a type-length-value (TLV) field of
the RAB Assignment Response message. The address value of the GTP
user-plane source address field causes the recipient of the RAB
Assignment Response message, e.g., RNC 6A, to send mobile data
traffic for the bearer to the device, e.g., BGW 8A, having the
address value. The GTP user-plane source address is alternately
referred to herein as a source address of the RAB Assignment
Response message. Similarly, a GTP user-plane destination address
carried by a RAB Assignment Response message or RAB Assignment
Request message is alternately referred to herein as a destination
address of the respective message.
[0087] BGW 8A performs other functions substantially similarly to
the BGW 8A of FIG. 2. For example, BGW 8A may break out mobile data
traffic that is received via a GTP tunnel between RNC 6A and BGW 8A
onto breakout data path 29 to PDN 14. In addition, BGW 8A may send
mobile data traffic received from PDN 14 on breakout data path 29
to RNC 6A via the GTP tunnel between RNC 6A and BGW 8A.
[0088] In some embodiments, BGW 8A inspects mobile data traffic
from Iu-PS interface 24 traversing the forwarding path between RNC
6A and SGSN 10. If the mobile data traffic is sourced by a
BGW-assigned PDP address, BGW 8A breaks out the traffic to PDN 14
on breakout data path 29 via Gi interface 28 operating over
communication link 20. PDN 14 elements route mobile data traffic
destined for the PDP address (e.g., service-related data traffic
issuing from server 19) to BGW 8A for forwarding to mobile device
16A along breakout data path 29.
[0089] FIG. 4 is a block diagram illustrating breakout gateway 38
("BGW 38"), an exemplary embodiment of BGW 8A of FIG. 3,
communicatively coupled to RNC 6 and SGSN 10. BGW 38 includes proxy
module 52 to perform the proxy functionality of a
topology-independent breakout gateway. Proxy module 52 includes
SGSN proxy 56 to operate as an intermediary for communications from
RNC 6 to SGSN 10 and thereby enable BGW 38 to act as a proxy for
SGSN 10 to RNC 6. That is, RNC 6 addresses communications intended
for SGSN 10 to SGSN proxy 56. Proxy module 52 also includes RNC
proxy 58 to operate as an intermediary for communications from SGSN
10 to RNC 6 and thereby enable BGW 38 to act as a proxy for RNC 6
to SGSN 10. That is, SGSN 10 addresses communications intended for
RNC 6 to RNC proxy 58. Network address translation module 54 ("NAT
54") maintains records of network addresses for RNC 6 and SGSN 10
in a translation table. When SGSN proxy 56 receives a packet from
RNC 6 intended for SGSN 10, NAT 54 maps the destination address of
the packet to a network address of SGSN 10 using the translation
table. NAT 54 may also replace the source address for the packet
with an address of RNC proxy 58. Similarly, when RNC proxy 58
receives a packet from SGSN 10 intended for RNC 6, NAT 54 maps the
destination address of the packet to a network address of RNC 6
using the translation table. NAT 54 may also replace the source
address for the packet with an address of SGSN proxy 56. In some
examples, NAT 54 performs network address port translation. In this
way, proxy module 52 enables BGW 38 to insert itself into the
forwarding paths between RNC 6 and SGSN 10. Control and data
messages exchanged between RNC 6 and SGSN 10 therefore traverse BGW
38.
[0090] BGW 38 also includes network interface 50, routing engine
40, and protocol module 53 to facilitate sending and receiving
communications over Iu-PS interface 24 and Gn interface 26 for BGW
8. Network interface 50 is coupled to one or more wired or wireless
communication links (not shown) that transport communications for
the interfaces. Routing engine 40 performs PDP (e.g., IP) routing
and forwarding functions for BGW 38, including managing a routing
information base, executing routing protocols, and controlling BGW
38 interfaces (e.g., network interface 50). For example, routing
engine 40 may support the Internet Protocol and execute one or more
IP-based routing protocols, such as Open Shortest Path First
(OSPF), Routing Information Protocol (RIP), and Border Gateway
Protocol (BGP). Routing engine 40 may receive route advertisements
from other PDP-capable routers carrying routing information that
routing engine 40 maintains. In addition, routing engine 40 may
leverage existing routes to generate and install additional routes
to network locations identified by PDP addresses assigned by BGW
38, then advertise such routes during routing protocol
execution.
[0091] BGW 38 uses Radio Access Network Application Part (RANAP)
protocol 55 of protocol module 53 over Iu-PS interface 24 to
perform signaling between an access network, such as UTRAN 25, and
a core network, such as GPRS core network 7. Global mobility
management/session management ("GMM/SM") protocols 57 of protocol
module 53 operate over RANAP protocol 55 to support mobility
management for mobiles devices.
[0092] In accordance with the techniques of this disclosure, BGW 38
comprises breakout session setup module 42, breakout module 44,
control packet analysis module 46, protocol discriminator 48, and
mobility module 51.
[0093] In this aspect, BGW 38 operates as an element of a
GPRS-based service provider network. Accordingly, mobile data
traffic traverses BGW 38 via GTP tunnels established between
various elements of the service provider network, including BGW 38.
In addition, BGW 38 receives mobile control traffic via RANAP.
Protocol discriminator 48 receives mobile traffic from proxy module
52 and determines a carrier protocol for the traffic. Protocol
discriminator 48 transfers mobile data traffic carried by GTP-U
tunnels to breakout module 44 and transfers mobile control traffic
carried by RANAP to control packet analysis module 46. Protocol
discriminator 48 also transfers user-level PDP packets to breakout
module 44.
[0094] Control packet analysis module 46 receives mobile control
traffic and sends control messages therein to breakout session
setup module 42. Control packet analysis module 46 may send
filtered control traffic to proxy module 9 for transmission to the
appropriate destination device via network interface 50. Breakout
session setup module 42, in accordance with the described
techniques, inspects and/or modifies the control messages to
establish a breakout data path for data traffic associated with a
PDP context identified in the control messages. Some of the control
messages inspected and/or modified include GPRS Attach Request,
GPRS Attach Accept, Activate PDP Context Accept, RAB Assignment
Request, and RAB Assignment Response messages.
[0095] For example, SGSN 10, in response to an Activate PDP Context
Request message from a mobile device, sends BGW 38, operating as a
proxy for RNC 6, an Activate PDP Context Accept message 60 destined
for the mobile device. SGSN 10 sends Activate PDP Context Accept
message 60 to activate a PDP context and to attempt to relay a PDP
address, assigned by a GGSN, to the mobile device for the PDP
context. RNC proxy 58 receives Activate PDP Context Accept message
60 via network interface 50 and sends the message to protocol
discriminator 48. Protocol discriminator 48 determines from a RANAP
header encapsulating Activate PDP Context Accept message 60 that
the message is mobile control traffic. Accordingly, protocol
discriminator 48 forwards Activate PDP Context Accept message 60 to
control packet analysis module 46, which forwards the message to
breakout session setup module 42.
[0096] Breakout session setup module 42 inspects Activate PDP
Context Accept message 60 and determines whether any field values
of the message match a breakout indicator value. If Activate PDP
Context Accept message 60 exhibits a breakout indicator, breakout
session setup module 42 may modify Activate PDP Context Accept
message 60 to replace an assigned PDP address value with a PDP
address from an address pool that breakout session setup module 42
maintains. Breakout session setup module 42 sends the BGW-assigned
PDP address to routing engine 40, which advertises to peer routers
the PDP address or a prefix thereof as a destination subnet for
which BGW 38 offers connectivity. In addition, breakout session
setup module 42 sends the BGW-assigned PDP address to breakout
module 44, which stores the PDP address in one of mobile device
records 45 for the destination mobile device identified in Activate
PDP Context Accept message 60. Breakout module 44 may query mobile
device records 45 to determine the destination mobile device
associated with a destination PDP address for downstream mobile
data traffic received by BGW 38.
[0097] After replacing the PDP address, breakout session setup
module 42 sends the modified Activate PDP Context Accept message 62
to proxy module 52 for transmission to RNC 6 via network interface
50. If original Activate PDP Context Accept message 60 does not
exhibit any breakout indicators, breakout session setup module 42
sends Activate PDP Context Accept message 60 to proxy module 52 for
relay to SGSN 10 via network interface 50.
[0098] As another example, SGSN 10 sends BGW 38, operating as a
proxy for RNC 6, a RAB Assignment Request message 64 to attempt to
create a radio access bearer between the mobile device and SGSN 10.
RNC proxy 58 receives RAB Assignment Request message 64 via network
interface 50 and sends the message to protocol discriminator 48.
Protocol discriminator 48 determines from a RANAP header
encapsulating RAB Assignment Request message 64 that the message is
mobile control traffic. Accordingly, protocol discriminator 48
forwards RAB Assignment Request message 64 to control packet
analysis module 46, which forwards the message unfiltered to
breakout session setup module 42.
[0099] Breakout session setup module 42 inspects RAB Assignment
Request message 64 and determines whether any field values of the
message match a breakout indicator value. If RAB Assignment Request
message 64 exhibits a breakout indicator, breakout session setup
module 42 may modify RAB Assignment Request message 64 to replace a
GTP user-plane address carried by the message with an IP address of
BGW 38 (e.g., an address for SGSN proxy 56). In such instances,
breakout session setup module 42 additionally extracts the original
source and destination IP addresses of the message, as well as an
upstream TEID that identifies an SGSN 10 side of a GTP tunnel that
SGSN 10 is attempting to establish with RAB Assignment Request
message 64 to RNC 6. Breakout session setup module 42 sends the
extracted values to breakout module 44 for storage in one of mobile
device records 45 for the destination mobile device identified in
RAB Assignment Request message 64. Breakout session setup module 42
sends the modified RAB Assignment Request message 66 to proxy
module 52 for transmission to RNC 6 via network interface 50. If
original RAB Assignment Request message 64 does not exhibit any
breakout indicators, breakout session setup module 42 sends RAB
Assignment Request message 64 to proxy module 52 for relay to SGSN
10 via network interface 50.
[0100] RNC 6 responds to modified RAB Assignment Request message 66
by establishing a RAB for the PDP context and returning RAB
Assignment Response message 67 to BGW 38 by addressing the message
to the modified GTP user-plane address received in modified RAB
Assignment Request message 66. SGSN proxy 56 receives RAB
Assignment Response message 67 via network interface 50 and sends
the message to protocol discriminator 48, which determines that the
RAB Assignment Response message 67 is mobile control traffic and
sends the message to control packet analysis module 46. Control
packet analysis module 46 passes the message unfiltered to breakout
session setup module 42, which extracts a downstream TEID for the
RAB and sends the downstream TEID to breakout module 44 for storage
in one of mobile device records 45 for the mobile device identified
in RAB Assignment Response message 67.
[0101] Using data provided by breakout session setup module 42,
breakout module 44 analyzes mobile data traffic received by or
otherwise traversing BGW 38 and determines from mobile device
records 45 whether to bypass SGSN 10 by forwarding the mobile data
traffic on a breakout data path to a packet data network.
[0102] Mobile device records 45 store session data for one or more
mobile devices served by BGW 38. Mobile device records 45 may
comprise a table, database, linked list, or other data structure.
In some embodiments, a server, such as a Home Location Register
(HLR), stores mobile device records 45 that BGW 38 may query for
session data for a particular subscriber and/or mobile device.
Mobile device records 45 may include data for a PDP context for a
mobile device, including a PDP address and accompanying
Network-layer Service Access Point Identifier (NSAPI), an IMSI, a
P-TMSI, an SCCP connection identifier, a downstream TEID (extracted
from RAB Assignment Response message 67) for the RNC 6 side of a
GTP tunnel terminated by RNC 6 that serves the mobile device, an
upstream TEID (extracted from RAB Assignment Request message 64)
for the SGSN 10 side of the GTP tunnel, and a RAB identifier for a
RAB to RNC 6.
[0103] In one example operation, SGSN proxy 56 receives mobile data
traffic 70 from RNC 6 via network interface 50 and sends the
traffic to protocol discriminator 48. Protocol discriminator 48
determines from a GTP header that mobile data traffic 70 is GTP-U
traffic and transfers mobile data traffic 70 to breakout module 44.
Breakout module 44, in turn, analyzes mobile data traffic 70 to
determine whether to forward the traffic along a breakout data path
rather than forward the traffic to SGSN 10. For instance, breakout
module 44 may attempt to match a TEID of the GTP header for mobile
data traffic 70 to a TEID stored in mobile device records 45. In
another instance, breakout module 44 may attempt to match a
different property value in the GTP header, or in a header for a
protocol other than GTP for mobile data traffic 70, to an
identifier in mobile device records 45. For example, breakout
module 44 may attempt to match an IP-header field value of the
packet sourced by the mobile device. In another instance, breakout
module 44 identifies mobile data traffic 70 that is to be forwarded
along a breakout data path by determining that BGW 38 terminates
the GTP tunnel through which mobile data traffic 70 is received.
That is, breakout module 44 determines that mobile data traffic 70
is addressed, in a network header, to BGW 38.
[0104] If breakout module 44 matches a property (e.g., a TEID of a
GTP header or an IP-header field value) of mobile data traffic 70
to an identifier in mobile device records 45 or determines that BGW
38 terminates the GTP tunnel, breakout module 44 then directs
routing engine 40 to forward the traffic along a breakout data
path. In one example implementation, breakout module 44 strips
packets constituting mobile data traffic 70 of the GTP, UDP/TCP,
and IP headers to reveal user data packets encapsulated by a PDP
header (e.g., an IP header for an IP-based packet data network)
that includes a destination PDP address for a remote packet data
network, such as the Internet or a layer 3 VPN. Routing engine 40
forwards these PDP packets to a destination remote packet data
network according to routing and/or forwarding information that
routing engine 40 stores for BGW 38. In another example
implementation, breakout module 44 encapsulates the user data
packets with a PDP header that includes a destination address that
breakout module 44 explicitly sets prior to sending newly formed
PDP packets to routing engine 40. Routing engine 40 forwards the
PDP packets to the remote packet data network as PDP traffic 72. As
a result, BGW 38 operates to send mobile data traffic to a remote
packet data network along a breakout data path, enabling the mobile
data traffic to bypass elements, such as SGSN 10, of a mobile core
network. As used herein, "encapsulation" may refer to both a packet
header and footer, to a packet header only, or to a packet footer
only.
[0105] If breakout module 44 fails to match a property of mobile
data traffic 70 to an identifier in mobile device records 45,
breakout module 44 sends mobile data traffic 70 to routing engine
40 for forwarding to SGSN 10, along a GTP tunnel between RNC 6 and
SGSN 10, as mobile data traffic 68. As a result, outbound mobile
data traffic 68 does not bypass mobile core elements in the manner
of PDP traffic 72. In some instances, to forward the mobile data
traffic 70, NAT 54 replaces the destination address of mobile data
traffic 70 with a destination address of SGSN 10. In addition, NAT
54 may replace the source address of mobile data traffic 70 with an
IP address for the BGW 38. Routing engine 40 forwards the modified
data traffic to SGSN 10 as outbound mobile data traffic 68.
[0106] In another example operation, network interface 50 receives
PDP traffic 72 and sends the traffic to protocol discriminator 48,
which forwards the traffic to breakout module 44. In this instance,
mobile device records 45 stores data for PDP contexts for mobile
devices served by RNC 6. Breakout module 44 attempts to match the
destination PDP address of PDP traffic 72 to a PDP address stored
by one of mobile device records 45. Upon determining one of mobile
device records 45 that includes a matching PDP address, breakout
module 44 obtains from the matching record a downstream TEID for a
GTP tunnel between RNC 6 and BGW 38 and an IP address for RNC 6,
where RNC 6 serves the mobile device identified by the destination
PDP address of PDP traffic 72. Breakout module 44 encapsulates
packets constituting PDP traffic 72 with a GTP header that
comprises the downstream TEID, a transport header, and an IP header
comprising the IP address of RNC 6. Breakout module 44 sends the
encapsulated packets to routing engine 40 for forwarding to RNC 6,
via the GTP tunnel between RNC 6 and BGW 38, as mobile data traffic
70. In this manner, BGW 38 operates as a gateway to a mobile
network while enabling mobile data traffic 70 to bypass elements of
the mobile network core, such as SGSN 10.
[0107] In another example operation, RNC proxy 58 receives mobile
data traffic 68 from SGSN 10 via network interface 50. In this
instance, NAT 54 replaces the destination address of mobile data
traffic 68 with a destination address of RNC 6. Routing engine 40
forwards the modified data traffic to RNC 6 as mobile data traffic
70.
[0108] As described in detail with respect to FIGS. 10-15, mobility
module 51 enables BGW 38 to migrate session data to other breakout
gateway devices, tunnel mobile data and control traffic to other
breakout gateway devices, and communicate configuration data to
other breakout gateway devices to allow mobile devices to migrate
among RNCs of a network without experiencing interruptions in
connectivity.
[0109] FIG. 5 is a block diagram illustrating breakout session
setup module 42 of FIG. 4 in further detail. Breakout session setup
module 42 comprises lookup module 80, RAB source modifier 82, PDP
address modifier 84, bearer values extractor 98, and breakout
identifier lists 90 ("breakout ID lists 90"). Breakout identifier
lists 90 includes values for control message properties specifying
that BGW 38 may break out mobile data traffic associated with the
control message along a breakout data path. In the illustrated
embodiment, breakout identifier lists 90 includes IMEI list 92
("IMEI 92") comprising a list of IMEIs for one or more mobile
devices, IMSI list 94 ("IMSI 94") comprising a list of IMSIs for
one or more subscribers, and breakout APN list 96 ("breakout APN
96") comprising a list of service identifiers for one or more
services.
[0110] Lookup module 80 analyzes mobile control traffic traversing
or otherwise received by BGW 38 and determines whether the mobile
control traffic exhibits one or more breakout indicators. In this
example, lookup module 80 inspects IMEI, IMSI, flow identification
information, and/or APN property values of mobile control traffic
messages and compares them to values stored in one of breakout ID
lists 90 (that is, IMEI list 92, IMSI list 94, breakout APN list
96, and flow identifiers 97 ("flow IDs 97")). If lookup module 80
determines that a property value for a mobile control traffic
message matches a value stored in one of breakout ID lists 90,
lookup module passes a copy of the mobile control traffic message
to either RAB source identifier 82 (in the instance of a RAB
Assignment Request message), PDP address modifier 84 (in the
instance of an Activate PDP Context Accept message), and/or bearer
values extractor 98 (in all instances of mobile control traffic
messages). In some embodiments, lookup module 80 communicates with
a policy server that stores one or more policies to determine
whether breakout session setup module 42 should create a breakout
session for mobile data traffic corresponding to the mobile control
traffic.
[0111] Bearer values extractor 98 extracts property values from
mobile control traffic messages and sends the extracted values to
breakout module 44 for storage in entry of mobile device records
45. In this example, bearer values extractor 98 extracts, from GPRS
Attach Request messages, one or more identifiers for requesting
mobile devices, such as an IMSI, a packet-temporary mobile
subscriber identity (P-TMSI), or an SCCP connection identifier. In
addition, bearer values extractor 98 extracts the source and
destination IP addresses of RAB Assignment Request messages, as
well as upstream TEIDs that identify an SGSN side of a GTP tunnel.
TEID allocator 87 allocates a new TEID and replaces the upstream
TEID in the RAB Assignment Request message with the newly allocated
TEID. As a result, the new bearer is specific to the BGW allocating
the TEID. Upon receiving GTP-U packets, breakout module 44 of BGW
38 maps the BGW-allocated TEID to the SGSN-allocated TEID for
upstream traffic, and vice-versa for downstream traffic.
[0112] In addition, bearer values extractor 98 extracts downstream
TEIDs from RAB Assignment Response messages.
[0113] RAB source modifier 82 replaces the source IP address of RAB
Assignment Request messages that exhibit a breakout indicator with
an IP address of BGW 38. In this way, an RNC may establish a GTP-U
tunnel with BGW 38.
[0114] Address allocator 86 maintains address pool 88, a set of PDP
addresses for which BGW 38 advertises itself as offering
connectivity. In some instances, the set of a PDP addresses is a
subnet within the PDP address space. In some embodiments, address
allocator 86 requests PDP addresses from a server, such as a DHCP
server. Address allocator 86 provides an available PDP address for
a mobile device from address pool 88 to further breakout session
setup. In some instances, address allocator 86 provides an
available PDP address for a mobile device after accounting,
according to the 3GPP specification, for a "Routing-Area or the
Physical Location" of the RNC with the Routing-Area-Indicator
information. In this instance, address allocator 86 allocates a PDP
address for the mobile device from a particular subnet that is
associated with the determined location.
[0115] PDP address modifier 84 replaces an assigned PDP address for
a mobile device in Activate PDP Context Accept messages that
exhibit a breakout indicator with a PDP address that PDP address
modifier 84 requests from address allocator 86. A mobile device
that receives a modified Activate PDP Context Accept message uses,
as a source address, the PDP address assigned allocated by address
allocator 86, rather than a PDP address assigned by a GGSN. As a
result, return mobile data traffic is routed to BGW 38, thereby
bypassing the GGSN and other elements of the mobile core
network.
[0116] FIG. 6 is a flowchart illustrating exemplary modes of
operation of elements of a mobile service provider network,
including BGW 38 of FIG. 4, for setting a PDP address for a mobile
device to a PDP address locally routable by BGW 38 according to the
described techniques.
[0117] The mobile device sends an SGSN an Activate PDP Context
Request message that traverses BGW 38 on a forwarding path from the
mobile device to an SGSN (100). In response, the SGSN sends a
Create PDP Context Request message to a GGSN (102), which may
respond, in Create PDP Context Response, with an assigned PDP
address for the mobile device (104). In addition, the SGSN
establishes a radio access bearer with the mobile device by
performing a RAB assignment process in cooperation with an RNC and
with the mobile device (106). The SGSN forwards the GGSN-assigned
PDP address to the mobile device in an Activate PDP Context Accept
message (108).
[0118] Network interface 50 receives the Activate PDP Context
Accepts message and sends the message to breakout session setup
module 42. Lookup module 80 determines whether the message exhibits
one or more breakout indicators (110), such as an APN that matches
a breakout APN in breakout APN list 96 of BGW 38. If the message
exhibits a breakout indicator (NO branch of 110), PDP address
modifier 84 obtains a PDP address served by BGW 38 (i.e., a PDP
address for which BGW 38 advertises itself as offering
connectivity) from address allocator 86. PDP address modifier 84
then replaces the GGSN-assigned PDP address with the BGW-served PDP
address (112).
[0119] BGW 38 forwards the Activate PDP Context Accepts message to
the mobile device via network interface 50. The mobile device,
thereafter, uses the PDP address (whether assigned by the GGSN or
BGW 38) as a source address for mobile data traffic that mobile
device may send to a packet data network (114).
[0120] FIG. 7 is a flowchart illustrating exemplary modes of
operation for elements of a mobile service provider network,
including BGW 38 of FIG. 4, for establishing a GTP tunnel between
an RNC that serves a mobile device and BGW 38 to enable BGW 38 to
direct mobile data traffic along a breakout data path in accordance
with the described techniques.
[0121] SGSN sends a RAB Assignment Request message to an RNC that
serves a mobile device to initiate tunnel establishment for a PDP
context (120). Network interface 50 of BGW 38 receives the message
and lookup module 80 of breakout session setup module 42 determines
whether the message exhibits one or more breakout indicators (122),
such as an APN that matches a breakout APN in breakout APN list 96
of BGW 38. If not (NO branch of 122), BGW 38 forwards the RAB
Assignment Request message to the RNC (123). The RNC sends a RAB
Assignment Response message to the SGSN (124).
[0122] If the RAB Assignment Request message exhibits one or more
breakout indicators (YES branch of 122), bearer values extractor 98
extracts the source and destination IP addresses of the message
from the message (126). Bearer values extractor 98 also extracts a
TEID (the "upstream TEID") from the message for the SGSN side of a
GTP tunnel sought to be established by the SGSN (126). Breakout
module 44 stores the extracted values in a record in mobile device
records 45 for the mobile device session (126).
[0123] RAB source modifier 82 replaces the source IP address of the
RAB Assignment Request message with an IP address of BGW 38 (128),
and network interface 50 sends the modified message to the RNC
(130). As a result, RNC considers BGW 38 to be the requesting SGSN.
RNC therefore responds to the modified RAB Assignment Request
message with a RAB Assignment Response message to BGW 38 (132).
Bearer values extractor 98 extracts a TEID (the "downstream TEID")
from the RAB Assignment Response message for the RNC side of a GTP
tunnel that BGW 38 now terminates, and breakout module 44 stores
the downstream TEID in a record in mobile device records 45 for the
mobile device session. Having completed this mode of operation
according to the described techniques, BGW 38 may communicate
directly with the RNC via a GTP-U tunnel for the mobile device
session by querying the corresponding record in mobile device
records 45.
[0124] FIG. 8 illustrates an exemplary mode of operation for BGW 38
of FIG. 4. Network interface 50 received mobile data traffic
traversing or otherwise received by BGW 38 in a GTP tunnel (140).
If BGW 38 does not terminate the tunnel (NO branch of 142), then
breakout module 44 forwards the mobile data traffic to the SGSN
that terminates the tunnel (144). However, if the mobile data
traffic is addressed, in a network header, to BGW 38, then BGW 38
terminates the tunnel (YES branch of 142), and breakout module 44
forwards the mobile data traffic to the mobile data traffic
destination via a breakout data path to a packet data network, such
as the Internet or a layer 3 VPN (146).
[0125] FIG. 9 is a block diagram that illustrates network system
150, an exemplary embodiment of aspects of system 1 of FIG. 2.
Network system 150 additionally comprises a policy router 152 to
direct mobile control traffic to BGW 8A and demultiplex outbound
mobile data traffic between BGW 8A and SGSN 10. RNC 6A, policy
router 152, and SGSN 10 communicate using protocols specified by
Iu-PS interface 24. In some embodiments of network system 150, RNC
6A, policy router 152, and SGSN 10 may communicate over Iu-PS
interface 24 using ATM. In such instances, policy router 152
extracts IP packets from ATM cells for transmission to BGW 8A, and
policy router encapsulates IP packets received from BGW 8A in ATM
cells for transmission to RNC 6A or SGSN 10.
[0126] Policy router 152 comprises one or more policy rules that
dictate the behavior of policy router 152 with respect to mobile
data and control traffic. According to the techniques of this
disclosure, in one instance, a policy rule of policy router 152
directs policy router 152 to forward all mobile control traffic 154
to BGW 8A. That is, when policy router 152 receives mobile control
traffic 154 via Iu-PS interface 24, the policy rule causes policy
router 152 to forward the mobile control traffic 154 to BGW 8A over
Iu-PS interface 24. In this way, mobile control traffic 154 for
mobile device 16A traverses and may be inspected by BGW 8A. In some
embodiments, BGW 8A may be co-located with policy router 152. In
some embodiments, BGW 8A may be a service card inserted into a
policy router 152 chassis.
[0127] As described in detail above with respect to FIGS. 4, 5, and
7, during a RAB assignment process between SGSN 10 and RNC 6A, BGW
8A intercepts a RAB Assignment Request message from SGSN 10 to RNC
6A that is routed by policy router 152 to BGW 8A. If the message
exhibits a breakout indicator, BGW 8A may replace the source IP
address of the message (i.e., an IP address of SGSN 10), with an IP
address for BGW 8A. Moreover, BGW 8A may replace an upstream TEID
from the message to identify an associated PDP context. BGW 8A then
forwards the modified RAB Assignment Request message to policy
router 152 for transmission to RNC 6A. As a result, RNC 6A replies
to the RAB Assignment Request message with a RAB Assignment
Response message to BGW 8A and consequently establishes a radio
access bearer with BGW 8A. Thereafter, RNC 6A sends mobile data
traffic 156 for the PDP context associated with the modified RAB
Assignment Request message to BGW 8A for transmission to PDN 14
along a breakout data path that includes communication link 20.
Contrariwise, RNC 6A sends mobile data traffic 152 for PDP contexts
associated with the RAB Assignment Request message that are
unmodified by BGW 8A to SGSN 10 for transmission to PDN 14 along a
standard forwarding path that includes communication link 22.
[0128] In addition, as described in detail above with respect to
FIGS. 4-6, during a PDP context activation process between elements
of network system 150, BGW 8A intercepts an Activate PDP Context
Accept message from SGSN 10 to mobile device 16A that is routed by
policy router 152 to BGW 8A. If the message exhibits a breakout
indicator, BGW 8A may replace the PDP address assigned by GGSN 12
with a PDP address served by BGW 8A. BGW 8A then forwards the
modified Activate PDP Context Accept message to policy router 152
for transmission to RNC 6A. As a result, return mobile data traffic
to mobile device 16A enters mobile service provider network 2 via
BGW 8A, rather than via GGSN 12.
[0129] By performing the techniques described above, policy router
152 and BGW 8A may enable an administrator for mobile service
provider network 2 to provide breakout functionality using an
existing router, policy router 152.
[0130] FIG. 10 is a block diagram illustrating network system 160,
an exemplary embodiment of network system 1 of FIG. 2. In network
system 160, mobile devices 16A migrates locations during a mobile
data session such that mobile device 16A may require service by any
of base stations 11A-11B ("base stations 11"). In accordance with
the techniques of this disclosure, to maintain service continuity
for a breakout mobile data session of mobile device 16A, any of
breakout gateways 8A-8C ("BGWs 8") may use mobility information for
each of BGWs 8 to perform mobility management functions. Mobility
information may include, for example, IP addresses of each of BGWs
8, a list of each of RNCs 6 served by respective ones of BGWs 8, a
list of PDP addresses served by respective ones of BGWs 8, and
other information.
[0131] FIG. 11 is a block diagram illustrating mobility module 51
of BGW 38 of FIG. 4 in further detail. BGW 38 may be an embodiment
of one of BGWs 8 of FIG. 10. Mobility module 51 includes transfer
module 170, configuration data 172, administrative interface 174,
inter-BGW communication module 176 ("inter-BGW comm. 176"), and
Identity and Policy Manager interface 178 ("IPM interface 178").
Configuration data 172 stores mobility information, obtained by
mobility module 51 for BGW 38, regarding other breakout gateways in
a service provider network. Configuration data 172 may store
mobility information in one or more data structures, including
tables, lists, trees, or other data structure.
[0132] In one example, an administrator using administrative
interface 174 modifies configuration data 172 to specify mobility
information to mobility module 51. In another example, IPM
interface 178 interacts with an Identity and Policy Manager and/or
a AAA device to obtain mobility information for mobility module 51.
In another example, inter-BGW communication module 176 exchanges
mobility information with other breakout gateways of the service
provider network using, for example, Interior Border Gateway
Protocol (IBGP), another form of BGP, Inter-Chassis Control
Protocol (ICCP), or another communication protocol. For example,
BGW 38 may receive Network Layer Reachability Information (NLRI)
updates from another breakout gateway that specify, for the sending
breakout gateway, PDP routes that the sending breakout gateway
advertises. As another example, BGW 38 may advertise to other
breakout gateways the IMSI and/or P-TMSI identifiers and/or PDP
addresses for mobile devices having PDP contexts for which BGW 38
has established a breakout data path.
[0133] In a still further example, inter-BGW communication module
176 exchanges mobility information with other breakout gateways of
the service provider network using a "Source RNC to Target RNC
Transparent Container" information element carried in a relocation
request message or an enhanced relocation request message sent by
BGW 38 to other breakout gateways. Enhanced relocation denotes a
method whereby the relocation of serving radio network subsystem is
prepared using radio network subsystem application part (RNSAP)
signaling mechanisms carried over an Iur interface. In one example,
BGW 38 serves a source RNC, while another breakout gateway serves a
target RNC. To exchange breakout gateway related mobility
information with the other breakout gateway during an RNC-to-RNC
relocation, BGW 38 receives a Source RNC to Target RNC Transparent
Container information element from the source RNC. Inter-BGW
communication module 176 inserts the IMSI and/or P-TMSI identifiers
and/or BGW-assigned PDP addresses for mobile devices having PDP
contexts for which BGW 38 has established a breakout data path, and
inter-BGW communication module 176 forwards the relocation request
containing the modified information element to the other breakout
gateway. In some instances, inter-BGW communication module 176 also
inserts a network address for BGW 38 into the information element.
To insert values into the information element, inter-BGW
communication module 176 may, for instance, append
type-length-value (TLV) fields containing the information or
overload existing fields.
[0134] The other breakout gateway receives the modified information
element in the relocation request and obtains any identifiers for
mobile devices for which BGW 38 has established a breakout data
path. The other breakout gateway then restores the information
element by removing breakout gateway related information and then
forwards the relocation request to the target RNC. Relocation
request messages, enhanced relocation request messages, and the
"Source RNC to Target RNC Transparent Container" information
element are described in 3rd Generation Partnership Project,
Technical Specification Group Radio Access Network, "3GPP TS 25.413
UTRAN Iu interface, Radio Access Network Application Part (RANAP)
signaling, of which Section 9 is incorporated by reference
herein.
[0135] In accordance with the techniques of this disclosure, and as
described in further detail below, transfer module 170 may use
mobility information stored by configuration data 172 to update
mobile device records 45 of breakout module 44, re-route a breakout
data path to another breakout gateway of mobile service provider 2,
or communicate with another breakout gateway to migrate session
data. By performing these techniques, transfer module 170 may
enable mobile service provider network 2 to maintain service
continuity for a breakout mobile data session of mobile device 16A
when mobile device 16A migrates to locations served by various ones
of base stations 11.
[0136] FIG. 12 is a block diagram illustrating, for purposes of
clarity, a simplified representation of network system 160 of FIG.
10. In this embodiment, mobile device 16A having an active mobile
data session migrates from a routing area served by base station
11A to a routing area served by base station 11B. BGWs 8 break out
mobile data traffic for the active mobile data session along a
breakout data path, which includes communication link 20, to PDN
14. To maintain connectivity for the active mobile data session,
mobile device 16A sends SGSN 10A a Routing Area (RA) Update message
via base station 11B and RNC 6B to modify the radio access bearer
between mobile device 16A and SGSN 10A for the active mobile data
session.
[0137] SGSN 10A initiates a RAB Assignment process with mobile
device 16A by sending a RAB Assignment Request message to RNC 6B.
In addition, SGSN 10A sends a RAB Assignment Request message to RNC
6A to request release of the RAB for the active mobile data session
between RNC 6A and SGSN 10A.
[0138] BGW 8A serves both previous serving RNC 6A and current
serving RNC 6B for mobile device 16A. In accordance with the
techniques of this disclosure, BGW 8A previously established a GTP
tunnel between BGW 8A and RNC 6A by replacing a source IP address
of a RAB Assignment Request message with an IP address of BGW 8A.
In addition, BGW 8A has a record in mobile device records 45 for
the active mobile data session that, prior to the migration of
mobile device 16A from service by RNC 6A to service by RNC 6B,
directed BGW 8A to forward downstream mobile data traffic to RNC
6A. Because BGW 8A serves both RNC 6A and RNC 6B, BGW 8A extracts
from the RAB Assignment Request message to RNC 6B the IP address of
RNC 6B and the upstream TEID. BGW 8A may associate the RAB
Assignment Request message with the active mobile data session
using, for example, a NSAPI value. BGW 8A replaces the old values
for these properties in the record in mobile device records 45 with
the extracted values. That is, in the record in mobile device
records 45 for the active mobile data session, BGW 8A replaces the
IP address of RNC 6A with the IP address of RNC 6B and replaces the
upstream TEID provided by SGSN 10A to RNC 6A with a new upstream
TEID that corresponds to the upstream TEID provided by SGSN 10A to
RNC 6B. BGW 8A also replaces the source IP address with an IP
address of BGW 8A to ensure that RNC 6B sends upstream mobile data
traffic for the active mobile data session to BGW 8A, and then BGW
8A forwards the modified RAB Assignment Request message to RNC
6B.
[0139] RNC 6B responds to the RAB Assignment Request message with a
RAB Assignment Response message that includes a new downstream
TEID. BGW 8A extracts the new downstream TEID and replaces the
previous downstream TEID in the record in mobile device records 45
for the active mobile data session with the extracted value. BGW 8A
may then identify, using the upstream TEID, upstream mobile data
traffic for the active mobile data session and breaks out the
mobile data traffic along a breakout data path. In addition, BGW 8A
receives downstream mobile data traffic from PDN 14 address to the
PDP address of mobile device 16A for the active mobile data
session. BGW 8A may identify newly serving RNC 6B by keying the PDP
address to the appropriate record in mobile device records 45. BGW
8A then encapsulates the received mobile data traffic in a GTP
header that includes the new downstream TEID and sends the GTP
packet to RNC 6B.
[0140] By performing these mobility techniques, BGW 8A may thus
maintain connectivity for an active mobile data session for which
BGW 8A breaks out mobile data traffic along a breakout data path to
PDN 14 over communication link 20.
[0141] FIG. 13 is a flowchart illustrating an exemplary mode of
operation of BGW 8A of FIG. 12 to modify a mobile device record for
an active mobile data session to account for migration by the
mobile device to a new location served by a different RNC. The
steps illustrated in FIG. 12 are described with respect to network
system 160. In this example, BGW 8A of network system 160 is
embodied by BGW 38 of FIG. 4, which comprises mobility module 51 of
FIG. 11.
[0142] Initially, RNC 6B receives an RA Update message from mobile
device 16A that has migrated into an area served by RNC 6B and has
an active mobile data session (180). RNC 6B forwards the message to
SGSN 10A (180), which sends a RAB Assignment Request message to
release the RAB between SGSN 10A and RNC 6A, the previous serving
RNC for the active mobile data session (182). SGSN 10A additionally
sends RAB Assignment Request message to RNC 6B to set up a new
bearer (184). In some embodiments, the RAB Assignment Request
message includes both a release request and a request to establish
a new bearer. BGW 8A intercepts the RAB Assignment Request message
and transfer module 170 associates the message with the active
mobile data session, for which breakout module 44 maintains a
record in mobile device records 45 (186).
[0143] Bearer values extractor 98 extracts the destination IP
address (that is, the IP address of RNC 6B) and the upstream TEID
from the RAB Assignment Request message and breakout module 44
replaces the values for these properties in the record in mobile
device records 45 with the extracted values (188). In addition, RAB
source modifier 82 replaces the source IP address of the RAB
Assignment Request message with a source IP address of BGW 8A
(190). BGW 8A then forwards the modified RAB Assignment Request
message to RNC 6B via network interface 50.
[0144] RNC 6B returns a RAB Assignment Response message to BGW 8A
that comprises a new downstream TEID (192). Bearer values extractor
98 extracts the new downstream TEID and replaces the value for this
property in the record in mobile device records 45 with the
extracted value (194). BGW 8A now terminates a GTP data tunnel with
RNC 6B, which allows BGW 8A to exchange mobile data traffic with
RNC 6B and therefore maintain connectivity for the active mobile
data session.
[0145] FIG. 14 is a block diagram illustrating, for purposes of
clarity, a simplified representation of network system 160 of FIG.
10. In this embodiment, mobile device 16A having an active mobile
data session migrates from a routing area served by base station
11A and RNC 6A to a routing area served by base station 11C and RNC
6C. BGWs 8 break out mobile data traffic for the active mobile data
session along a breakout data path, which includes communication
link 20, to PDN 14. To maintain connectivity for the active mobile
data session, mobile device 16A sends an RA Update message via base
station 11C and RNC 6C that directs SGSN 10A to modify the radio
access bearer between mobile device 16A and SGSN 10A for the active
mobile data session.
[0146] SGSN 10A sends a RAB Assignment Request message to RNC 6A to
request release of a RAB for the active mobile data session between
RNC 6A and SGSN 10A. BGW 8A may intercept the message and direct
breakout module 44 to remove the record in mobile data records 45
for the active mobile data session.
[0147] To migrate the data channel for the active mobile data
session, SGSN 10A sends a RAB Assignment Request message to RNC 6C
to initiate a RAB assignment procedure with RNC 6C. BGW 8B, which
serves RNC 6C, performs the techniques described with respect to
FIGS. 4, 5, and 7 to establish a RAB between RNC 6C and BGW 8B for
mobile data traffic associated with the active mobile data
session.
[0148] In some instances, prior serving BGW 8A receives latent
return mobile data traffic 202 from PDN 14 that is destined for a
prior PDP address that had been previously assigned by BGW 8A
performing the techniques of this disclosure.
[0149] In accordance with the techniques described BGW 8B
advertises identifiers for mobile devices that it serves using, for
example, NLRI updates to other ones of BGWs 8. The identifiers may
comprise, for instance, an IMSI or a P-TMSI for a subscriber
associated with the mobile device. In the illustrated example,
inter-BGW communication module 176 of BGW 8A (described above with
respect to FIG. 11) receives NLRI update 200 from BGW 8B that
comprises mobility information, including an IMSI for mobile device
16A, to indicate that BGW 8B presently serves mobile device 16A.
BGW 8A stores the mobility information in configuration data
172.
[0150] When BGW 8A receives latent return mobile data traffic 202
from PDN 14 that is destined for a prior PDP address that had been
previously assigned by BGW 8A for the active mobile data session,
breakout module 44 may determine from mobile device records 45 that
BGW 8A no longer serves mobile device 16A. Transfer module 170 of
mobility module 51 then determine from configuration data 172 that
BGW 8B is presently serving mobile device 16A. For example,
transfer module 170 may compare an IMSI for mobile device 16A that
is stored by a record in mobile device records 45 for the active
mobile data session to a record in configuration data 172 that
associates BGW 8B with mobile device 16A. As a result, transfer
module 170 of BGW 8A tunnels, with a generic route encapsulation
(GRE) or an IP-in-IP tunnel, for instance, latent return mobile
data traffic 202 to BGW 8B. BGW 8B receives latent return mobile
data traffic 202 and forwards the traffic to RNC 6C for delivery to
mobile device 16A. By performing the above-described techniques,
BGWs 8 may enable mobile service provider network 2 to provide
uninterrupted delivery of return mobile data traffic that is
received, according the described techniques, from PDN 14 on a
breakout data path.
[0151] In some embodiments, BGW 8B does not modify the PDP address
of mobile device 16A for the active mobile data session. That is,
the mobile device 16A continues to use the PDP assigned by BGW 8A.
In such instances, after migrating the data channel for the active
mobile data session to establish a RAB between RNC 6C and BGW 8B
for mobile data traffic associated with the active mobile data
session, mobile device 16A sends upstream mobile data traffic to
BGW 8B. Because BGW 8B does not serve the source PDP address (i.e.,
the PDP address for mobile device 16A for the active mobile data
session), transfer module 170 of BGW 8B determines the serving one
of BGWs 8 from configuration data 172. Configuration data 172
stores mobility information that indicates the subnet, or list of
PDP addresses, served by each of BGWs 8.
[0152] In such embodiments, BGW 8A sends BGW 8B an identifier for
mobile device 16A that BGW 8B may use to identify mobile data
traffic for which BGW 8A has established a breakout data path. For
example, as described above with respect to FIG. 11, BGW 8A may
send BGW 8B a relocation request message or an enhanced relocation
request message that includes a "Source RNC to Target RNC
Transparent Container" information element modified by BGW 8A to
include, for instance, an IMSI, P-TMSI, or PDP address for mobile
device 16A. BGW 8B uses the received information to identify mobile
data traffic that BGW 8B is to forward to BGW 8A.
[0153] In these embodiments, transfer module 170 compares the
source PDP address of the upstream mobile data traffic to the lists
of PDP addresses served by each of the BGWs 8 to determine the BGW
that serves the source PDP address. In the illustrated
configuration, BGW 8A (the previous BGW serving mobile device 16A)
serves the source PDP address. Therefore, transfer module 170
tunnels, in a GRE or IP-in-IP tunnel, for instance, the upstream
mobile data traffic to BGW 8A. Downstream mobile data traffic for
the active mobile data session from PDN 14 and addressed to the PDP
address of mobile device 16A reaches BGW 8A.
[0154] FIG. 15 is a flowchart illustrating an exemplary mode of
operation of BGW 8A of FIG. 14 to direct latent downstream mobile
data traffic to BGW 8B to account for migration by a mobile device
to a new location served by a different RNC and BGW 8B. The steps
illustrated in FIG. 15 are described with respect to network system
160 of FIG. 14. In this example, BGW 8A of network system 160 is
embodied by BGW 38 of FIG. 4, which comprises mobility module 51 of
FIG. 11.
[0155] After mobile device 16A having an active mobile data session
migrates to a routing area served by BGW 8B, BGW 8A receives an
advertisement from BGW 8B that comprises mobility information
indicating BGW 8B is serving the mobile device (210). When BGW 8A
receives mobile data traffic for the active mobile data session
(212), BGW 8A determines, from the mobility information and a
mobile device record for the active mobile data session, that BGW
8B is serving mobile device 16A (214). For example, transfer module
170 of BGW 8A may compare an IMSI for mobile device 16A, stored by
a record in mobile device records 45 of BGW 8A for the active
mobile data session, to a record in configuration data 172 that
associates BGW 8B with mobile device 16A. BGW 8A then tunnels the
latent mobile data traffic to BGW 8B (216) for transmission to
mobile device 16A.
[0156] FIG. 16 is a block diagram illustrating, for purposes of
clarity, a simplified representation of network system 160 of FIG.
10. In this embodiment, mobile device 16A having an active mobile
data session migrates from a routing area served by base station
11A and RNC 6A to a routing area served by base station 11D and RNC
6D. BGWs 8 break out mobile data traffic for the active mobile data
session along a breakout data path, which includes communication
link 20, to PDN 14. To maintain connectivity for the active mobile
data session, mobile device 16A sends an RA Update message via base
station 11D and RNC 6D that directs mobile core network 7 to modify
the radio access bearer between mobile device 16A and the mobile
core network 7 for the active mobile data session.
[0157] SGSN 10B, which serves RNC 6D, receives the RA Update
message and requests the session data for the active mobile data
session from SGSN 10A. SGSN 10B then sends a RAB Assignment Request
message to establish a new RAB with RNC 6D. SGSN 10B also creates a
new GTP session with GGSN 12 by sending GGSN 12 a PDP Context
Update message. During the RAB establishment process initiated by
SGSN 10B to RNC 6D, BGW 8C performs the techniques of this
disclosure, described in detail with respect to FIGS. 4, 5, and 7,
to enable BGW 8C to terminate the RAB with RNC 6D and thereby
permit BGW 8C to receive and identify mobile data traffic for the
active mobile data session. That is, BGW 8C creates a record in
mobile device records 45 of BGW 8C, extracts upstream and
downstream TEIDs and source and destination IP addresses from the
mobile control messages, and stores the extracted values in the
record.
[0158] However, because mobile device 16A has already performed PDP
context activation involving RNC 6A, SGSN 10A and GGSN 12, BGW 8A
stores the session data for the active mobile data session in a
record in mobile device records 45 of BGW 8A. The session data
includes the PDP address of mobile device 16A for the active mobile
data session, and may also include other values, such as an
associated IMSI. BGW 8C requests this session data from BGW 8A and
stores the received session in a record in mobile device records 45
of BGW 8C. In some embodiments, BGW 8C may send an identity-request
message to RNC 6D to obtain an IMSI for mobile device 16A. As
described above with respect to BGW 8B of FIG. 14, BGW 8C may
advertise identifying information for mobile devices that it
serves. In the illustrated embodiment, BGW 8C sends BGW 8A NLRI
Update 220 comprising an IMSI for mobile device 16A. BGW 8A stores
the identifying information in configuration data 172 of BGW
8A.
[0159] When BGW 8C receives upstream mobile data traffic 222 for
the active mobile data session, transfer module 170 of BGW 8C
determines from configuration data 172 that BGW 8A serves the
source PDP address of upstream mobile data traffic 222. Transfer
module 170 therefore tunnels the traffic to BGW 8A for transmission
to PDN 14 via a breakout data path that includes communication link
20.
[0160] When BGW 8A receives downstream mobile data traffic 222 for
the active mobile data session from PDN 14, transfer module 170 of
BGW 8A determines from configuration data 172 that BGW 8C serves
mobile device 16A. Transfer module 170 therefore tunnels downstream
mobile data traffic 222 to BGW 8C for transmission to mobile device
16A via RNC 6D. By performing these techniques, BGW 8A and 8C may
enable mobile service provider network 2 to provide uninterrupted
connectivity for the active mobile data session.
[0161] FIG. 17 is a flowchart illustrating an exemplary mode of
operation of BGW 8C of FIG. 16 to direct downstream mobile data
traffic of an active mobile data session to mobile device 16A to
account for migration by the mobile device to a new location served
by RNC 6D and BGW 8C. The steps illustrated in FIG. 17 are
described with respect to network system 160 of FIG. 16. In this
example, BGW 8C of network system 160 is embodied by BGW 38 of FIG.
4, which comprises mobility module 51 of FIG. 11.
[0162] BGW 8C acquires session data for the active mobile data
session from BGW 8A, which served mobile device 16A prior to
migration (230). BGW 8C then receives downstream mobile data
traffic for the active mobile data session tunneled to BGW 8C by
BGW 8A (232). Using the acquired session data, BGW 8C determines
that mobile device 16A is to receive the traffic, and BGW 8C sends
the downstream mobile data traffic to mobile device 16A via RNC 6D
(234).
[0163] The techniques described in this disclosure may be
implemented, at least in part, in hardware, software, firmware or
any combination thereof. For example, various aspects of the
described techniques may be implemented within one or more
processors, including one or more microprocessors, digital signal
processors (DSPs), application specific integrated circuits
(ASICs), field programmable gate arrays (FPGAs), or any other
equivalent integrated or discrete logic circuitry, as well as any
combinations of such components. The term "processor" or
"processing circuitry" may generally refer to any of the foregoing
logic circuitry, alone or in combination with other logic
circuitry, or any other equivalent circuitry. A control unit
comprising hardware may also perform one or more of the techniques
of this disclosure.
[0164] Such hardware, software, and firmware may be implemented
within the same device or within separate devices to support the
various operations and functions described in this disclosure. In
addition, any of the described units, modules or components may be
implemented together or separately as discrete but interoperable
logic devices. Depiction of different features as modules or units
is intended to highlight different functional aspects and does not
necessarily imply that such modules or units must be realized by
separate hardware or software components. Rather, functionality
associated with one or more modules or units may be performed by
separate hardware or software components, or integrated within
common or separate hardware or software components.
[0165] The techniques described in this disclosure may also be
embodied or encoded in a computer-readable medium, such as a
computer-readable storage medium, containing instructions.
Instructions embedded or encoded in a computer-readable medium may
cause a programmable processor, or other processor, to perform the
method, e.g., when the instructions are executed. Computer readable
storage media may include random access memory (RAM), read only
memory (ROM), programmable read only memory (PROM), erasable
programmable read only memory (EPROM), electronically erasable
programmable read only memory (EEPROM), flash memory, a hard disk,
a CD-ROM, a floppy disk, a cassette, magnetic media, optical media,
or other computer-readable storage media. It should be understood
that the term "computer-readable storage media" refers to physical
storage media, and not signals or carrier waves, although the term
"computer-readable media" may include transient media such as
signals, in addition to physical storage media.
[0166] Various embodiments of the invention have been described.
These and other embodiments are within the scope of the following
claims.
* * * * *