Patent Publication Number: US-7916701-B1

Title: Virtual addressing to support wireless access to data networks

Description:
TECHNICAL FIELD OF THE INVENTION 
     The present invention relates generally to wireless access to data networks and, more particularly, to virtual addressing to support wireless access to data networks. 
     BACKGROUND OF THE INVENTION 
     As wireless devices become increasingly sophisticated, protocols and network equipment have evolved to support enhanced services, such as packet-based communications with data networks. However, portions of the telephony infrastructure remain reliant upon outdated protocols and equipment that are ill-prepared to handle the dynamic and rapid pace of today&#39;s networks. For example, the home location register (HLR) governs, in part, the ability of wireless devices to access packet-based networks. However, because of the ever-changing array of available data networks, it can be extremely difficult to maintain home location registers properly configured. 
     SUMMARY OF THE INVENTION 
     In accordance with the present invention, techniques for virtual addressing to support wireless access to data networks are provided. According to particular embodiments, the system provides a virtual addressing scheme to minimize impacts on home location register (HLR) configuration. 
     According to a particular embodiment, a method for processing network access requests for mobile devices receives a request to establish a communication link for data communications for a mobile device, with the request including a network identifier field indicating a packet-based network. The method determines a type of the indicated packet-based network and, if the type is virtual, accesses a pass-through field of the request to determine an actually requested packet-based network. 
     Embodiments of the invention provide various technical advantages. By configuring an HLR to accept one or more virtual network addresses, the system limits configuration changes to the HLR. By embedding actual network addresses within pass-through fields of network access requests, the system allows dynamic equipment, such as a gateway generalized packet radio service (GPRS) serving node (GGSN), to handle processing of network access requests. This enables administrators of network equipment to focus configuration efforts upon more sophisticated and protocol aware elements, which allows networks to more appropriately reflect the dynamic nature of today&#39;s communication systems. 
     Other technical advantages of the present invention will be readily apparent to one skilled in the art from the following figures, descriptions, and claims. Moreover, while specific advantages have been enumerated above, various embodiments may include all, some, or none of the enumerated advantages. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       For a more complete understanding of the present invention and its advantages, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which: 
         FIG. 1  illustrates a communication system that includes mobile devices and gateways that support virtual addressing in accordance with particular embodiments of the present invention; 
         FIG. 2  is a block diagram illustrating exemplary functional components for a mobile device from the system; 
         FIG. 3  is a block diagram illustrating exemplary functional components for a gateway of the system; 
         FIG. 4  is a flowchart illustrating a method for the mobile device to generate a network access request using virtual addressing; and 
         FIG. 5  is a flowchart illustrating a method for the gateway to process a received network access request that may include a virtual address. 
     
    
    
     DETAILED DESCRIPTION OF THE DRAWINGS 
       FIG. 1  illustrates a communication system, indicated generally at  10 , that includes mobile devices  12 , a radio access network  14 , an operator network  16 , and data networks, such as internet  18  and intranets  20 . In general, elements of system  10  support wireless communications and access of mobile devices  12  to data services provided by the data networks. To access data networks, mobile devices  12  generate network access requests that identify requested networks using, for example, access point names (APNs) assigned to the networks. According to particular embodiments, elements of system  10  are configured to support access to networks based on network access requests that identify virtual networks. These requests use pass-through fields within the network access requests to indicate actual networks to which access is requested. 
     Mobile devices  12  support wireless communications and provide packet-based access to data networks. Mobile devices  12  may be, for example, mobile phones, personal digital assistance, wireless enabled computers, or any other suitable device for providing wireless access to data networks. According to particular embodiments, mobile devices  12  support generalized packet radio service (GPRS) access to voice and data services. Mobile devices  12  access data networks using wireless communications supported by radio access network  14 . To access data networks, mobile devices  12  generate network access requests that identify access point names of the requested data networks. Typical network access requests further include other information, such as a user identifier, password, and mobile device identifier. 
     Radio access network (RAN)  14  supports wireless access of mobile devices  12  to voice and/or data services. Thus, RAN  14  represents any suitable collection and arrangement of components, such as radio transceivers and support infrastructure, that link mobile devices  12  to operator network  16 . Operator network  16  links RAN  14  to one or more data networks, such as internet  18  and intranets  20 . Data networks, such as internet  18  and intranets  20 , represent any suitable networks providing network services to accessing devices, such as mobile devices  12 . These network services include the communication of information such as voice, video, and data using packet-based protocols. 
     In the embodiment illustrated, operator network  16  includes a serving node  22  linking to RAN  14  and gateways  24  linking to various data networks. In addition, operator network  16  includes a domain name server (DNS)  26 , a home location register (HLR)  28 , a dynamic host configuration protocol (DHCP) server  30 , and a radius server  32 . Domain name server  26  maps domain names to internet protocol (IP) addresses and returns these addresses in response to appropriate requests. For example, in response to a request identifying a particular access point name, domain name server  26  returns a list of IP addresses for gateways  24  providing access to the identified access point name. HLR  28  provides traditional home location register features for operator network  16 . DHCP server  30  enables dynamic assignment of IP addresses to requesting devices. Radius server  32  provides for authorization and authentication of users. 
     Serving node  22  links to RAN  14  and handles initial processing of network access requests received from mobile devices  12 . For example, according to particular embodiments, operator network  16  supports GPRS protocols, and serving node  22  acts as a serving GPRS support node (SGSN). Upon receiving a network access request from one of mobile devices  12 , serving node  22  accesses HLR  28  to verify the request. For example, serving node  22  may identify an access point name from the request and access HLR  28  to determine whether the indicated access point name identifies a valid network. Thus, the configuration of HLR  28  can control whether or not mobile devices  12  may access particular networks. 
     To provide generic access through HLR  28  to data networks, HLR  28  is configured to recognize one or more virtual networks. For example, HLR  28  may be configured to recognize virtual access point names such as “internet” or “intranet.” These virtual networks need not correspond to any actual networks reachable through operator network  16 , but rather provide static configurations within HLR  28  that can minimize the need for configuration changes to HLR  28  and shift the burden of access request processing to other elements within operator network  16 . 
     Upon receiving appropriate verification from HLR  28 , serving node  22  accesses domain name server  26  to determine an IP address associated with the access point name identified in the network access request. In response to this request, domain name server  26  returns one or more IP address matching to the access point name in the domain name request. Within operator network  16 , gateways  24  provide access to various data networks identified by access point names. Thus, domain name server  26  is configured to return IP addresses of gateways  24  in response to appropriate domain name requests. For example, in response to a domain name request requesting an IP address associated with the access point name “internet,” domain name server  26  may return the IP address for gateway  24  labeled A (gateway A). Therefore, domain name server  26  is configured to recognize virtual networks and return IP addresses for appropriate gateways  24  in response to domain name requests identifying virtual networks. 
     Upon receiving an IP address from domain name server  26 , serving node  22  forwards the network access request to the identified IP address. As a part of this process, serving node  22  may reformat and/or supplement the request with additional information. For example, according to particular embodiments, serving node  22  uses the information from an access request received from mobile device  12  to generate a create packet data protocol (PDP) context request. Regardless of the exact format, the access request generated by serving node  22  includes the access point name and other information, such as a user identifier, password, and other information received from mobile device  12 . After performing appropriate formatting or processing of the information from mobile device  12 , serving node  22  forwards the network access request to gateway  24  identified by domain name server  26 . 
     Gateways  24  link operator network  16  to data networks and, along with serving nodes  22 , provide mobile devices  12  access to these data networks. In the embodiment illustrated, gateways  24  link with data networks, such as internet  18  and intranet  20 . However, while each gateway  24  is shown linking to a single network, each gateway  24  may link with multiple networks, and multiple gateways  24  may link to the same network. As previously discussed, these networks or portions of these networks are identified by access point names, which, for example, can be names defined or assigned by standards organizations to uniquely identify IP networks. 
     During operation, gateways  24  provide access to data networks in response to network access requests forwarded by serving node  22 . For example, after appropriately processing a network access request from serving node  22 , gateway  24  and serving node  22  may form a communication link to transport packets across operator network  16 . This communication link then serves as a transport mechanism for packets between mobile device  12  and the data network. According to particular embodiments, gateway  24  and serving node  22  form this communication link using GPRS tunneling protocol (GTP) to form a tunnel. Gateway  24  uses this GTP tunnel to insure that packets are communicated to and from serving node  22  currently acting as the attachment point for mobile device  12 . Thus, if mobile device  12  moves to an area served by a different serving node  22 , gateway  24  can reattach the tunnel to the new serving node  22 . 
     Before forming a communication link for mobile device  12 , gateway  24  processes the network access request received from serving node  22 . This processing includes steps such as authentication, authorization and address assignment. To aid with this processing, gateway  24  may access DHCP server  30  and radius server  32 . For example, gateway  24  may use DHCP server  30  to dynamically allocate an IP address to identify mobile device  12  during a communication session. 
     Radius server  32  provides authentication and authorization services. In response to an authentication and authorization request that identifies a user, password and requested network, radius  32  indicates whether the user is authorized and authenticated. For example, using the user identifier and password, radius server  32  can authenticate the identity of the user. Using the user identifier and requested network, radius server  32  can determine whether the user is authorized to access that network. 
     Upon receiving a network access request, gateway  24  uses DHCP server  30  and radius server  32  to process the request and determine whether mobile device  12  should be granted access to the requested network. In providing mobile devices  12  access to data networks, gateways  24  maintain routing information for these mobile devices  12 . As previously discussed, this routing information enables gateway  24  to tunnel packets to appropriate serving nodes  22  for each attached mobile device  12 . Thus, during operation, gateway  24  acts as the termination point for the mobile portion of communications between mobile devices  12  and data networks. That is, devices within data networks communicating with mobile devices  12  need not have any awareness of the mobile nature of mobile devices  12 . 
     To gain access to data networks, mobile device  12  generates and communicates a network access request to operator network  16 . This request includes fields identifying information including the requested network and a user identifier. Mobile device  12  generates the request using stored information and/or information provided by a user. For example, through a graphical user interface, a user may provide a user identifier, such as Bob, and specify a network to access, such as Cisco.com. In response to such a request, mobile device  12  may generate a network access request that identifies an access point name of Cisco.com and a user identifier of Bob. However, as previously discussed, for such a request to be appropriately processed by operator network  16 , HLR  28  should be configured to recognize the indicated access point name (in this example, Cisco.com). And since the range of potential access point names is vast and dynamic, the configuration and upkeep of antiquated HLR systems can prove difficult. 
     Therefore, mobile device  12  supports network access requests using virtual access point names. To generate a “virtual” network access request, mobile device  12  uses a virtual access point name as the indicated access point name and includes the actually requested access point name within another field of the network access request. For example, using the previous values, in the access point name field, mobile device  12  uses a value of intranet, and as the user identifier, mobile device  12  uses a value of Bob@Cisco.com. Thus, the network access request requests access to the virtual access point name of intranet while incorporating the actually requested access point name within another field of the request. Therefore, within this description, the term virtual network access request refers to any suitable message requesting access to a virtual access point name. 
     In the example given, mobile device  12  incorporates the actually requested access point name within the user identifier. This field is selected because, with respect to HLR  28  and serving node  22 , this is a pass-through field. That is, the user identifier field does not affect the operation of HLR  28  or serving node  22 . Moreover, serving node  22  passes the value of the user identifier field through in the network access request forwarded on to gateway  24 . Therefore, the user identifier value set by mobile device  12  passes to gateway  24  without affecting the operation of serving node  22  or HLR  28 , and can thus include any suitable information generated by mobile device  12  for interpretation by gateway  24 . However, while in the example given, mobile device  12  includes the actually requested access point name in the user identifier value, system  10  contemplates mobile device  12  incorporating this actually requested access point name within any suitable pass-through field of the network access request. That is, network access requests from mobile devices  12  may include a number of different pass-through fields, and system  10  contemplates mobile devices  12  and gateways  24  using any one of these pass-through fields in which to indicate actually requested access point names. 
     After generating the network access request, mobile device  12  communicates the request to operator network  16 . Within operator network  16 , serving node  22  receives and processes the network access request. As previously discussed, serving node processes the request through communications with HLR  28  that identify the access point name from the request. That is, serving node  22  access HLR  28  with the indicated access point name, regardless of whether the access point name is virtual or not. Thus, for a network access request indicating a virtual access point name, serving node  22  verifies the virtual access point name using HLR  28 . If HLR  28  is appropriately configured to validate the virtual access point name, HLR  28  will respond to serving node  22  that the request is valid. Therefore, HLR  28  need not reflect the actual access point name identified in the request, thus reducing the need for frequent maintenance and reconfiguration of HLR  28 . 
     After receiving validation from HLR  28 , serving node  22  determines the appropriate destination to receive a forwarded version of the network access request. To identify this destination, serving node  22  accesses domain name server  26  using the network identified within the access point name field of the network access request. Once again, serving node  22  uses the indicated access point name, regardless of whether it is virtual or not. Thus, for the request that identifies a virtual access point name, serving node  22  accesses domain name server  26  using this virtual access point name. In response to a domain name look-up request identifying a virtual access point name, domain name server  26  determines one or more IP addresses of gateways  24  matching to the identified virtual access point name and returns these IP addresses to serving node  22 . Therefore, to support virtual access point names, both HLR  28  and domain name server  26  should be configured to recognize and respond appropriately to virtual access point names. However, serving node  22  need not have an awareness of virtual access point names. 
     After determining an IP address for gateway  24  to receive the network access request, serving node  22  forwards the request to the identified destination. As previously discussed, serving node  22  may reformat the network access request received from mobile device  12  to conform to protocols expected by gateway  24 . According to particular embodiments, whether or not reformatting takes place, the information reflected in pass-through fields remains unchanged. Thus, given the example values above, the user identifier value in the network access request forwarded to gateway  24  will include a value of Bob@Cisco.com. Thus, serving node  22  may unwittingly pass through the access point name requested by mobile device  12  for processing by gateway  24 . 
     Upon receiving the network access request forwarded by serving node  22 , gateway  24  processes the request as discussed above. However, gateway  24  performs additional functions to support virtual access point name. Upon receiving a network access request, gateway  24  examines the indicated access point name to determine whether it refers to a virtual access point name. If the access point name field indicates a virtual value, gateway  24  retrieves the actual access point name requested from one of the other fields in the request. For example, upon determining that the access point name field indicates the virtual value of intranet, gateway  24  parses the user identifier field to determine the portion indicating the user identifier and the portion indicating the actual access point name requested. In this example, gateway  24  uses the @ sign as a delimiter to parse the user identifier value of Bob and the access point name of Cisco.com. Gateway  24  then processes the network access request as if the user identifier field had a value of Bob and the access point name had a value of Cisco.com. 
     According to other embodiments, gateway  24  determines whether or not the request indicates a virtual access point name based on the value in the pass-through field. For example, gateway  24  can examine the pass-through field for the delimiter used to separate the pass-through value and the actually requested access point name. If the delimiter is in the string, gateway  24  processes the request to determine the actual access point name. Thus, gateway  24  need not maintain information identifying all of the potential virtual access point names. 
     After determining the actual access point name, Gateway  24  may authenticate and/or authorize the request using radius server  32 , determine an IP address to dynamically assign to mobile device  12 , and perform other processing as appropriate. If the request is validated, gateway  24  forms a communication link with serving node  22 , for example, by forming a GTP tunnel with serving node  22 . Serving node  22  and gateway  24  then use this communication link to transport packets across operator network  16  for communications between mobile device  12  and the requested network. 
       FIG. 2  illustrates a particular embodiment of mobile device  12  that includes a user interface  50 , a wireless interface  52 , a processor  54  and a memory  56 . In general, mobile device  12  provides wireless services, including packet-based services, using wireless interface  52 . Mobile device  12  provides access to remote data networks by generating network access requests and supports the use of virtual access point names within generated network access requests. 
     User interface  50  provides for interactions with users of mobile device  12 . For example, user interface  50  may include a display, keypad and/or other suitable elements for presenting information to and receiving information from users. Wireless interface  52  supports wireless communications between mobile device  12  and other communications equipment, such as base transceiver stations. Processor  54  controls the management and operation of mobile device  12 . For example, processor  54  may include one or more microprocessors, programmed logic devices, or other suitable elements for controlling the operation of mobile device  12 . 
     Mobile device  12  also includes memory  56 , which in the embodiment illustrated includes code  58 , configuration information  60 , a user request  62 , and a virtual access point name  64 . Code  58  includes software and/or other appropriate controlling logic for use by elements of mobile device  12 , such as processor  54 . Configuration information  60  includes start-up, operating, and other suitable settings and configurations for use by mobile device  12 . For example, configuration information  60  may indicate whether or not to enable virtual access point names when communicating with certain operator networks  16 . User request  62  includes information, pre-specified and/or provided by a user, for generating a network access request. For example, user request  62  may include a user identifier, password, and a requested access point name, in addition to other suitable information. Virtual access point name  64  includes a value for use by mobile device  12  in generating virtual network access requests. Virtual access point name  64  includes a value recognizable by gateways  24  as indicating a virtual network. Moreover, virtual access point name  64  corresponds to a value configured in HLR  28  and domain name server  26 . 
     During operation, mobile device  12  generates network access requests and communicates these requests through operator network  16  using wireless interface  52 . Mobile device  12  may generate these network access requests in response to commands received from a user through user interface  50 . For example, through a web browser, dialog box, or other suitable interface, a user may provide a user identifier, password, and requested access point name. However, some or all of this information may be pre-configured within memory  56  by the user, manufacturer, and/or administrator. In response to the request, processor  54  builds a network access request using information provided by the user and information from memory  56 . In building the network access request, mobile device  12  may determine whether the use of a virtual access point name is appropriate. For example, mobile device  12  may access configuration information  60  to determine whether virtual access point names are supported by operator network  16  providing service to mobile device  12 . 
     If the use of a virtual access point name is appropriate, mobile device  12  builds the network access request using virtual access point name  64 . As previously discussed, mobile device  12  builds the virtual network access request by inserting virtual access point name  64  within the requested access point name field of the network access request. To include the actually requested access point name, processor  54  builds a pass-through string for insertion into a pass-through field of the network access request. For example, processor  54  may build an @ sign delimited string that indicates both the user identifier and the actually requested access point name and insert this string into the user identifier field of the network access request. As previously discussed, this enables gateway  24  to parse and interpret the different portions of the user identifier field. However, the use of the user identifier field is given only as an example, and system  10  contemplates mobile device  12  using any suitable pass-through field within a network access request in which to incorporate an actually requested access point name. Similarly, the pass-through field may be delimited by any suitable character. 
     While the embodiment illustrated and the preceding description focus on a particular embodiment of mobile device  12  that includes specific elements, system  10  contemplates mobile device  12  having any suitable combination and arrangement of elements for providing wireless packet-based services and accessing remote networks using virtual network access request. Thus, the modules and functionalities described may be combined, separated or otherwise distributed among any suitable functional components. For example, mobile device  12  may include a wireless telephone coupled to a mobile computer such that the mobile computer accesses packet-based services wirelessly using the mobile telephone. System  10  further contemplates mobile device  12  implementing some or all of the functionalities described using logic encoded in media, such as software or programmed logic devices. 
       FIG. 3  is a block diagram illustrating exemplary functional components for gateway  24  that include an operator network interface  80 , an external network interface  82 , a processor  84 , and a memory  86 . In general, gateway  24  provides an interface between operator network  16  and other networks, such as internet  18  and intranet  20 . To provide this interface, gateway  24  handles network access request from mobile devices  12  that identify particular networks using access point names. During operation, gateway  24  supports the processing of network access requests that identify virtual access point names. 
     Operator network interface  80  links gateway  24  to other equipment within operator network  16 . For example, using operator network interface  80 , gateway  24  may communicate with serving node  22 , DHCP server  30 , radius server  32 , and other appropriate elements within operator network  16 . External network interface  82  links gateway  24  with one or more external networks that can potentially include private networks such as intranets  20  and public networks such as internet  18 . 
     Processor  84  controls the operation and management of elements within gateway  24 . For example, processor  84  may include one or more microprocessors, programmed logic devices, or other appropriate controlling elements. Memory  86  represents any suitable combination and arrangement of local and/or remote storage devices for use by gateway  24  to maintain and access information during operation. In the embodiment illustrated, memory  86  maintains a plurality of access point name entries  88  and code  90 . Code  90  represents software and/or other appropriate controlling logic for use by elements of gateway  24 , such as processor  84 , during the operation of gateway  24 . For example, code  90  may include routines for processing network access requests, establishing communication links with serving node  22 , and providing network access for mobile devices  12 . Each access point name entry  88  includes information for use by gateway  24  in handling network access requests that identify that particular access point name. For example, each access point name entry  88  may indicate an access point name and a DHCP server and radius server for use in processing that particular access point name. In order to appropriately handle virtual access point names, access point name entries  88  further include a type field that indicates whether or not the particular access point name is virtual. 
     During operation, gateway  24  interfaces between operator network  16  and data networks, and provides mobile devices  12  access to these data networks in response to network access requests. Gateway  24  further supports the processing of network access requests that identify virtual access point names. Upon receiving a network access request, gateway  24  determines the access point name identified within the request. Using the determined access point name, gateway  24  accesses access point name entries  88  to determine a matching entry and, upon finding a match, determines the type of request indicated by the entry. That is, gateway  24  determines whether or not the network access request indicates a virtual access point name. If the network access request is not a virtual request, gateway  24  processes the request using traditional techniques. For example, gateway  24  may access DHCP server  30  and/or radius server  32  indicated within entry  88  to authenticate and authorize the indicated user and to assign an IP address to mobile device  12 . If appropriately validated, gateway  24  forms a communication link with serving node  22  and then processes communications to provide a link between mobile device  12  and the requested network. 
     If the request is virtual, gateway  24  retrieves the actually requested access point name from within the pass-through field used by mobile device  12 . For example, if the user identifier field is used as the carrier of the actually requested access point name, gateway  24  parses the user identifier value to extract the user identifier and the actually requested access point name. Gateway  24  then processes the request as if the actually requested access point name had been indicated within the access point name field. 
     However, while the embodiment illustrated and the preceding description focus on a particular embodiment of gateway  24  that includes specific elements, system  10  contemplates gateway  24  having any suitable combination and arrangement of elements for interfacing between operator network  16  and data networks and for processing network access requests that potentially identify virtual access point names. Therefore, the modules and functionalities described may be combined, separated, or otherwise distributed among any suitable functional components, and some or all of the functionalities of gateway  24  may be formed by logic encoded in media, such as software and programmed logic devices. 
       FIG. 4  is a flowchart illustrating a method for generating a network access request that potentially includes a virtual access point name. The following text describes the operation of the method with respect to mobile device  12 . Mobile device  12  determines a user identifier and password at step  100 . For example, mobile device  12  may present a log-in dialog using user interface  50  and receive input from a user. Alternatively, mobile device  12  may access memory  56  to determine pre-configured user identifier and password information. Mobile device  12  determines the requested access point name at step  102 . Similar to the determination of the user identifier and password, mobile device  12  may use information maintained within memory  56  and/or interaction with a user through user interface  50 . Mobile device  12  determines whether virtual access point name requests are enabled at step  104 . If not, mobile device  12  generates a conventional network access request at step  106 . 
     However, if virtual access point name requests are enabled, mobile device  12  determines a virtual access point name at step  108 . For example, mobile device  12  may access virtual access point name  64  maintained within memory  56 . At steps  110  through  116 , mobile device  12  builds a virtual network access request. Mobile device  12  first generates the network access request at step  110  and then sets the access point name field equal to the virtual access point name value at step  112 . Mobile device  12  builds a pass-through string at step  114 . This pass-through string includes the actually requested access point name and potentially includes other information typically communicated in a pass-through field. For example, as previously discussed, mobile device  12  may build a string that includes both the user identifier and the actually requested access point name for communication in the user identifier field. Mobile device  12  sets the pass-through field equal to the pass-through string at step  116 . 
     After generating a conventional network access request or a virtual network access request, mobile device  12  communicates the request to serving node  22  of operator network  16  at step  118 . Mobile device  12  then awaits a response from operator network  16  at steps  120  and  122 . At step  120 , mobile device  12  determines whether a response has been received, and at step  122 , mobile device  12  determines whether the request has timed out. If the request has timed out, mobile device  12  may indicate an error at step  124  and complete processing of the network access request. If a response is received and the response affirms the connection at step  126 , mobile device  12  establishes a packet-based communication session at step  128 . This enables the exchange of any suitable packet-based data between mobile device  12  and the remote network identified by the actually requested access point name. 
     Thus, the flowchart and preceding description outline the operation of mobile device  12  in generating a conventional or virtual network access request. However, the flowchart and accompanying description illustrate only an exemplary method of operation, and system  10  contemplates mobile devices  12  using any suitable techniques and elements for generating network access requests that incorporate virtual access point names. Therefore, many of the steps in this flowchart may take place simultaneously and/or in different orders than as shown. In addition, mobile device  12  may use methods with additional steps, fewer steps, and/or different steps, so long as the methods remain appropriate. 
       FIG. 5  is a flowchart illustrating a method for gateway  24  to handle received network access requests. Gateway  24  receives a network access request from serving node  22  at step  150 . Gateway  24  then determines the requested access point name from the access point name field at step  152  and accesses access point name entries  88  using the determined value at step  154 . Based on this access, gateway  24  determines whether the network access request identifies a virtual access point name at  156 , and if so, parses the pass-through field from the network access request to determine the actually requested access point name at step  158 . 
     After determining the actual access point name requested by the network access request, gateway  24  validates the request at step  160 . For example, gateway  24  may communicate an authorization and authentication request identifying the user identifier, password, and requested access point name to radius server  32 . If the request is not validated at step  162 , gateway  24  communicates a response to serving node  22  that denies the network access request at step  164 . However, if the request is validated at step  162 , gateway  24  communicates a response to serving node  22  that affirms the request at step  166 . Gateway  24  then establishes a communication link with serving node  22  at step  168 . For example, as previously discussed, gateway  24  may establish a GTP tunnel with serving node  22  to provide a transportation link for packets to travel between mobile device  12  and the requested network across operator network  16 . 
     Thus, the flowchart and preceding description outline the operation of gateway  24  in handling network access requests that potentially incorporate virtual access point names. However, the flowchart and accompanying description illustrate only an exemplary method of operation, and system  10  contemplates gateway  24  using any suitable techniques and elements for processing network access requests. Therefore, many of the steps in this flowchart may take place simultaneously and/or in different orders that as shown. In addition, gateway  24  may use methods with additional steps, fewer steps, and/or different steps, so long as the methods remain appropriate. 
     Although the present invention has been described in several embodiments, a myriad of changes and modifications may be suggested to one skilled in the art, and it is intended that the present invention encompass such changes and modifications as fall within the scope of the present appended claims.