Method and apparatus for implementing generic access network functionality in a wireless communication device

According to one aspect of the teachings presented herein, a “smart” phone or other wireless communication device includes a “modem” processor configured to support cellular communication network signaling and an “applications” processor configured to host call control and/or user applications, such as by providing a desired Operating System (OS) for hosting such applications. In at least one embodiment of a wireless communication device contemplated herein, the modem processor implements a cellular network signaling controller, a Generic Access Network (GAN) manager, and a privately routable, first Internet Protocol (IP) stack. Further, the applications processor implements a publicly routable, second IP stack that implements routing, e.g., a Network Address Translation (NAT) routing, for routing GAN traffic to and from the first IP stack on a local IP link bridging the first and second IP stacks.

TECHNICAL FIELD

The present invention generally relates to wireless communication systems and devices, and particularly relates to the implementation of Generic Access Network (GAN) functionality in a wireless communication device.

BACKGROUND

Generic access network (GAN) protocols and operations allow a properly configured wireless communication device to maintain voice call continuity (VCC) as it moves between cellular coverage and local, unlicensed wireless coverage. With GAN capability, users can place voice (and data) calls using a cellular communication network and have call traffic shifted to the potentially cheaper and faster service offered by a Wireless LAN (WLAN) or essentially any other network, system, or access point that offers an Internet Protocol (IP) bearer. For example, a mobile operator providing cellular communication services via a GSM/GPRS network can extend coverage to WLANs or other IP-based networks by coupling them to the GSM/GPRS core network through an appropriately configured network controller.

In the context of GSM/GPRS, GAN protocols and operations are specified by the Third Generation Partnership Project (3GPP) Technical Specifications 43.318 and 44.318. The addition of GAN technology to existing GSM/GPRS networks enables users to roam seamlessly between the wide area GSM/GPRS network and local area networks having IP connectivity to the GSM/GPRS network. WiFi (802.11 b/g/n) radio transceivers are thus commonly included in GAN-enabled cellular handsets.

When a local network is detected by such a handset, it establishes a secure IP connection through a gateway to a server called a GAN Controller (GANC) that is owned or otherwise associated with the mobile operator. The GANC communicatively couples to the GSM/GPRS core network of the mobile operator and makes the signaling coming from the handset look like it is coming from another base station in the GSM/GPRS network. The GANC thus appears to be just another base station from the core network's perspective, although mobility management obviously is different, as the GANC can provide support for devices in any number of geographically separated wireless hotspots.

With the above in mind, GAN technology may be understood as replacing the radio connection between a cellular terminal and a supporting cellular network with an IP connection provided through a local access network. Supporting such operation, GAN functionality broadly divides into three tightly connected main parts: the (cellular) network signaling for access, authentication, and call processing; IP connection control signaling for establishing and carrying out IP-based communications; and, at least for Voice-over-IP (VoIP) calls, audio system processing for handling audio data stream coding/decoding and executing associated audio algorithms.

SUMMARY

According to one aspect of the teachings presented herein, a “smart” phone or other wireless communication device includes a “modem” processor configured to support cellular communication network signaling and an “applications” processor configured to host call control and/or user applications, such as by providing a desired Operating System (OS) for hosting such applications. In at least one embodiment of a wireless communication device contemplated herein, the modem processor implements a cellular network signaling controller, a Generic Access Network (GAN) manager, and a privately routable, first Internet Protocol (IP) stack, which implements IP security (IPsec) in one or more embodiments. Further, the applications processor implements a publicly routable, second IP stack that implements a router for routing GAN traffic to and from the first IP stack on a local IP link bridging the first and second IP stacks. In at least one such embodiment, the second IP stack implements Network Address Translation (NAT) routing, for routing GAN traffic to and from the first IP stack.

In another embodiment, a method of supporting Generic Access Network (GAN) functionality in a wireless communication device comprises operating a privately routable, first IP stack in association with a GAN manager, and operating a publicly routable, second IP stack as a router for the first IP stack. Here, the second IP stack routes outgoing GAN traffic from the first IP stack to a public network interface and routes incoming GAN traffic from the public network interface to the first IP stack, where the first and second IP stacks are bridged via a local IP link.

Among the several advantages provided by the above method and apparatus are decreased GAN implementation complexities as compared to implementing GAN functionality in the applications processor with a proxy-based interface to network signaling controls in the modem processor. GAN implementation complexity is further reduced as substantially the same GAN implementing software can be used for the modem processor, irrespective of the OS hosted on the applications processor. As a further advantage, the above implementation provides increased security as compared to implementation of GAN functionality within the applications processor, because GAN traffic encryption and decryption occurs within the modem processor, where cellular network signaling is hosted, and where Internet Key Exchange (IKE) and IPsec processing is hosted.

Of course, the present invention is not limited to the above summary of features and advantages. Indeed, those skilled in the art will recognize additional features and advantages upon reading the following detailed description, and upon viewing the accompanying drawings.

DETAILED DESCRIPTION

FIG. 1depicts one embodiment of a wireless communication device10, as contemplated herein. The device10includes GAN functionality, meaning that it communicatively couples to a Core Network (CN)12of a supporting cellular communications network14through a cellular Radio Access Network (RAN)16, based on the device's cellular signaling functionality, or through a given IP bearer18, based on the device's GAN functionality. Such a bearer may be provided, for example, by a WLAN access point32. Although the supporting cellular communications network14may be essentially any type of cellular network (e.g., Wideband CDMA, Long Term Evolution or LTE, etc.), it comprises a GSM/GPRS network by way of non-limiting example.

As such, the illustrated CN12includes a Mobile Switching Center (MSC)20, to manage communications between devices10and the Public Switched Telephone Network (PSTN), which is not shown. The CN12further includes a Serving GPRS Support Node (SGSN)22, which detects new GPRS-capable devices10within its associated service area(s), performs terminal authentication, authorization and admission control for GPRS services, sends and receives GPRS packet data to and from such devices10, and maintains service area location information for such devices10. The CN12further includes an AAA/proxy server24(AAA for Authentication/Access/Accounting), which provides authentication and access control for devices10attempting to gain connectivity with the cellular communication network14, and provides for service accounting functions for subscriber billing, etc. The AAA/proxy server24therefore is associated with a Home Location Register (HLR)26, which includes a database of subscriber information.

With the illustrated arrangement, and with GAN functionality implemented in the device10, the device10communicatively couples to the CN12either through the cellular RAN16, which includes one or more cellular base stations30, or, when employing GAN access, via the IP bearer18, such as provided by the illustrated access point32. Those skilled in the art will appreciate that the access point32is, in one or more embodiments, an WiFi/WLAN access point, such as based on IEEE 802.11 standards. In any case, the access point32communicatively couples through a generic IP network34, to a GAN Controller (GANC)36, which includes a security gateway38. In turn, the GANC36communicatively couples to the CN12, and carries packet data for the device10into and out of the CN12substantially as if it were another cellular base station12in the cellular communication network14.

The embodiment of the device10illustrated inFIG. 2implements advantageous GAN-related functionality, and comprises a modem processor40implementing a cellular network signaling controller42, a Generic Access Network (GAN) manager44, and a privately routable, first Internet Protocol (IP) stack46implementing IP security (IPsec). In the illustrated embodiment, the modem processor40further includes or implements an audio coder/decoder (codec)48, a Real-time Transport Protocol (RTP) controller50, and an Internet Key Exchange (IKE) Protocol controller52. Further, the modem processor40includes or is associated with a cellular radio transceiver54, which is configured to transmit cellular communication signals and to receive cellular communication signals, e.g., GSM/GPRS and/or WCDMA signals. It should be noted that audio codec48(audio system) is not an integral part of the GAN-related control and processing which is advantageously consolidated within the modem processor40. Therefore, in one or more embodiments, the audio codec48is implemented separately from the modem processor40, such as in an associated DSP.

The device10further includes an applications processor60implementing a publicly routable, second IP stack62. The second IP stack62advantageously implements a router64, for routing GAN traffic to and from the first IP stack46on a local IP link66bridging the first and second IP stacks46and62. This configuration supports consolidation of GAN functionality within the modem processor40, where, in one or more embodiments, an IP security (IPsec) layer68in the first IP stack46is configured to encrypt outgoing GAN traffic, and the first IP stack46is configured to send the outgoing encrypted GAN traffic to the second IP stack62over the local IP link66. The second IP stack62provides NAT routing of that outgoing encrypted GAN traffic onto an external IP network70.

Supporting that communication flow, the applications processor60includes or is associated with a public network interface72, and the second IP62stack is configured to provide NAT routing of the outgoing encrypted GAN traffic into the public network interface72(“C” interface), for transport on the external IP network70. Further, the second IP stack62is advantageously configured to provide NAT routing of incoming encrypted GAN traffic, as received through the public network interface72, into a second local network interface74(“B” interface), for delivery to the first IP stack46in the modem processor40. The first IP stack46in the modem processor40includes a complementary first local network interface76, for establishing the local IP link66between, and the IP sec layer68of the first IP stack46is configured to decrypt the incoming encrypted GAN traffic for higher-layer processing by the RTP controller50.

Correspondingly, the first IP stack46generates outgoing encrypted GAN traffic by encrypting outgoing RTP packets carrying outgoing Voice-over-IP (VoIP) data and generates incoming RTP packets carrying incoming VoIP data by decrypting incoming encrypted GAN traffic. Supporting this functionality, the RTP controller50is configured to generate the outgoing RTP packets from outgoing coded audio data and generate incoming coded audio data from the incoming RTP packets. In turn, the audio codec48is configured to generate the outgoing coded audio data by encoding a local input audio signal (e.g., a microphone signal), and is configured to generate a local output audio signal by decoding the incoming coded audio data (e.g., a speaker signal).

Thus, according to the above arrangement, the first local network interface circuit76is communicatively coupled to the first IP stack46, and the second local network interface74is communicatively coupled to the second IP stack62. This pair of interfaces74and76is configured to support the local IP link66between the first and second IP stacks46and62, for NAT routing of encrypted GAN traffic between the first and second IP stacks46and62. Further, as noted, the public network interface72in the applications processor60communicatively couples the second IP stack62to the external IP network70.

Also, as noted, the second IP stack62is configured in one or more embodiments to perform NAT routing of incoming encrypted GAN traffic received through the public network interface72to the second local network interface74, for transfer to the first IP stack46via the local IP link66. Further, the second IP stack62performs NAT routing of outgoing encrypted GAN traffic received through the second local network interface74, for transfer to the external IP network70via the public network interface72. In another embodiment contemplated herein, encryption of outgoing GAN traffic and decryption of incoming GAN traffic is carried out via the second IP stack62, rather than in the IPsec layer of the first IP stack46.

With the above examples, in mind, it will be understood that in one or more embodiments of the device10the applications processor60includes or is associated with a public network interface72that is communicatively coupled to the second IP stack62, for communicatively coupling the second IP stack62to an external IP network70. Further, the second IP stack62is configured to perform NAT routing of incoming GAN traffic received through the public network interface72to a local network interface74, for transfer to the first IP stack46via the local IP link66, and to perform NAT routing of outgoing GAN traffic received through the local network interface74, for transfer to the external IP network70via the public network interface72. If GAN traffic encryption/decryption is done in the first IP stack46rather than in the second IP stack62, then the GAN traffic passing on the local IP link66between the first and second IP stacks46and62is encrypted.

Still further, as shown in the embodiment depicted inFIG. 3, the applications processor60includes or is communicatively associated with an additional local network interface78(“A” interface) that is communicatively coupled to the cellular network signaling controller42of the modem processor40, for carrying non-encrypted (non-GAN) user data traffic flowing between the modem processor40and the applications processor60. Particularly, in the illustrated embodiment, the additional local network interface78communicatively couples the second IP stack62to the network signaling controller42, for non-GAN IP traffic and control signaling transfer.

In at least one embodiment, the modem processor40comprises a first microprocessor-based circuit. By way of non-limiting example, the modem processor40comprises, e.g., a Central Processing Unit (CPU), which may be a microprocessor, microcontroller, digital signal processor (DSP), an Application Specific Integrated Circuit (ASIC) or Field Programmable Gate Array (FPGA), any of which may include a microprocessor core. Preferably, the modem processor40provides baseband processing of digital signal samples obtained from antenna-received radio signals, after down-conversion and digitization by the cellular transceiver54, and similarly provides generation of baseband digital signal samples for generating radio signals transmitted by the cellular transceiver54. Thus, the modem processor40may be referred to as a baseband processor or DSP.

In this context, one or more of the various controllers and other elements that are functionally illustrated as being within the modem processor40may be implemented in whole or in part via the execution of stored computer program instructions by the modem processor40. As such, in at least one embodiment, one or more memory circuits or other storage devices80are included in or are associated with the modem processor40. The memory circuit(s)80serve as a computer readable medium, and store computer program instructions and supporting data (e.g., configuration values, etc.)82. Execution of the stored computer program instructions functionally instantiates the illustrated controllers, e.g., the GAN manager44and network signaling controller42, and the first IP stack46.

Further in this regard, it will be understood that the GAN manager44, which may be implemented in hardware and/or software, controls or otherwise provides GAN processing functionality for the device10. As is detailed herein, consolidating GAN processing control into the GAN manager44within the modem processor40simplifies the overall design of the device10, and allows the same or substantially the same GAN manager44to be used with different application processor implementations (e.g., different operating systems, etc.)

Likewise, the applications processor60comprises, in one or more embodiments, a second microprocessor-based circuit. (“Second” here is a term used relative to the first microprocessor-based circuit implementing the modem processor40, and there may be more than two microprocessor-based circuits in the device10.) By way of non-limiting example, the applications processor60comprises, e.g., a Central Processing Unit (CPU), which may be a microprocessor, microcontroller, digital signal processor (DSP), an Application Specific Integrated Circuit (ASIC) or Field Programmable Gate Array (FPGA), any of which may include a microprocessor core. However, those skilled in the art will appreciate that the modem processor40and the applications processor60can be implemented on a common die (e.g., within the same integrated circuit), implemented within the same multi-chip module on the same or different die, or can be implemented as physically separate devices.

In any case, the applications processor60preferably is configured to host one or more call control applications84, and one or more user applications86(shown inFIG. 2and inFIG. 3). By way of non-limiting example, the applications processor60is configured to host an “address book” or other phone-based contacts manager that allows a user of the device10to place VoIP calls, using either direct cellular access via the cellular transceiver54, or indirect GAN-based cellular access according to the above-described modem/application processor cooperation. Also, as described for the non-GAN user data traffic illustrated inFIG. 3, the one or more user applications comprise, for example, an email application and a web browser client, which are configured to communicate with Internet-based servers using protocols such as HTTP and SMTP. These “pure” Internet communications do not, as a general proposition, need GAN-based cellular connectivity.

The functionality encompassed by the applications processor60is, in one or more embodiments, implemented in part or in whole based on the applications processor60executing stored computer program instructions. As such, one or more memory circuits or other storage devices88operate as a computer readable medium, for storing computer program instructions and associated supporting data90. It will be understood that these stored computer program instructions may be organized as a collection of programs and/or program functions.

In at least one such embodiment, the applications processor60is configured to execute (additional) stored program instructions defining a desired operating system (OS), for implementing the second IP stack and hosting one or more user applications, as desired. As non-limiting examples, the applications processor60implements a Linux operating system, a SYMBIAN operating system, or a WINDOWS MOBILE operating system. In such embodiments, the second IP stack62advantageously may comprise the pre-packaged IP stack provided as part of the OS, but particularly configured for the NAT routing described herein.

Further, the GAN manager44of the modem processor40is, in at least one such embodiment, configured to establish IP and IPsec connections toward the supporting cellular communication network14(seeFIG. 1), as needed. The GAN manager44is further configured to export an Application Program Interface (API) towards the call control application(s)84as hosted by the OS implemented by the applications processor60. The API allows the call control application(s)84to initiate or otherwise carry out GAN-based calls, while still allowing the GAN functionality to be contained within the modem processor40.

Of course, those skilled in the art will appreciate that the modem and applications processors40and60can be implemented in a variety of ways, including at least partially implementing them in signal processing hardware, e.g., as programmed logic gates in an FPGA or other programmable logic circuit. However implemented, the mode processor40and the applications processor60are configured to implement a method of supporting GAN functionality in the device10.

FIG. 4illustrates one embodiment of the method, wherein processing includes operating a privately routable, first IP stack46with IP security (IPsec) processing in association with a GAN manager44(Block110). The first IP46stack is configured for encrypting outgoing GAN traffic and decrypting incoming GAN traffic, e.g., using an IPsec layer68.

The method further includes operating a publicly routable, second IP stack62as a Network Address Translation (NAT) router64for the first IP stack46(Block112). So configured, the second IP stack62routes outgoing encrypted GAN traffic from the first IP stack46to a public network interface72. The second IP stack62further routes incoming encrypted GAN traffic from the public network interface72to the first IP stack46, where the first and second IP stacks46and62are bridged via a local IP link66.

As shown in either ofFIG. 2or3, at least one embodiment of the method includes implementing the GAN manager44and the first IP stack62in the modem processor40of the device10, where the modem processor40is configured to provide cellular network signaling. “Implementing” in this sense may be regarded as a matter of design implementation, but also may be regarded as an active step, wherein execution of stored computer program instructions by the modem processor implements the GAN manager44, etc. Similarly, the method further includes implementing the second IP stack62via the applications processor60of the device10, which is also configured to host one or more call control and user applications84and86.

According to at least one method embodiment, outgoing encrypted GAN traffic is generated in the first IP stack based on receiving encoded audio data carried in an outgoing RTP packet stream provided by RTP controller50, which is implemented in the modem processor40. The method further includes generating an incoming RTP packet stream carrying encoded audio data, for the RTP controller50, based on decrypting the incoming encrypted GAN traffic. Again, the IPsec layer68in the first IP stack46is configured to provide GAN-related encryption/decryption processing, and the IKE controller52is configured to provide authentication key processing in support of obtaining GAN-based connectivity with the supporting cellular communication network14(as shown inFIG. 1).

With the above example details in mind, those skilled in the art will appreciate the advantageous reduction in complexity and the advantageous gains in GAN-related security provided by the present invention. In particular, these gains are realized in comparison to “conventional” GAN implementation in so-called smart phones and other wireless terminals. In such conventional devices, IP-based communications, including GAN functions, are supported on a single IP stack. That IP stack and the logic controlling IP connections execute on an application CPU, while the required cellular network signaling functions execute on a modem CPU, and extensive, complex proxy-based interfaces are required between the two CPUs to implement GAN functionality.

Further, such conventional deployments intimately tie GAN functionality to the application CPU hardware and associated OS, meaning that GAN-related code needs to be ported or re-written for different application CPU implementations. Still further, such conventional deployments force GAN traffic to pass unprotected between the application CPU and the modem CPU, leaving such traffic, including sensitive access control signaling, vulnerable to tampering or interception.

In contrast, the apparatus and method taught by the present invention segregate the GAN-related functionality to the modem processor40, which in one or more embodiments provides a secure, dedicated processing environment that advantageously localizes GAN encryption/decryption and control with cellular network signaling. A local IP link bridges the GAN-associated IP stack with an IP stack in the applications processor that is configured to provide NAT routing of GAN-related traffic incoming to and outgoing from the device10.

That is, the application processor's IP stack provides a publicly routable IP address, but does not perform GAN encryption/decryption, and instead routes encrypted GAN traffic to/from the privately routable IP address of the modem processor's IP stack. The application processor's IP stack therefore must be able to do NAT routing and a DNS proxy service, but it does not expose unencrypted GAN data on the interface between the modem and application processors40and60.

Instead, the GAN traffic from the device10to the external IP network70is encrypted by the IPsec layer68in the modem processor's IP stack46and sent to the local interface74of the application processor's IP stack62. Such traffic is sent over the local IP link66between the two stacks46and62. Correspondingly, the application processor's IP stack62acts as a NAT router for the GAN traffic arriving on the local network interface74, and forwards it to the public network interface72. Conversely, GAN traffic arriving from the network70on the public interface72is forwarded to the local network interface74, for further transport to the modem processor's IP stack46, which decrypts the packets for further processing by higher layers.

As such, all needed GAN-specific “building blocks” used to implement the device10can be shared as a matter of design between any number of devices that use the same or similar modem processors40, essentially irrespective of the application processor details (including OS choice). Such commonality speeds the deployment of new and revised device models, and can simplify cellular testing and type approvals.

Of course, those skilled in the art will recognize additional features and advantages, and will recognize that the foregoing discussion and accompanying illustrations as non-limiting. Indeed, the present invention is limited only by the following claims and their legal equivalents.