# Patent

## Title
Capability exchange during an authentication process for an access terminal

## Abstract

In one embodiment, during an authentication process between a network device and an access terminal, an authentication message for access to the network is received. The network device is configured to allow access to an IP network. The network device determines one or more capabilities of the access terminal from the authentication message. An action is then performed based on the one or more capabilities of the access terminal. The action may include using the capabilities to set up a session with the access terminal. Also, the network device may send its own capabilities to the access terminal in an authentication response. Accordingly, a capability negotiation between the access terminal and network device may be provided during an authentication process. This may facilitate a faster session setup as capabilities are exchanged during authentication can be used in the configuration of the session.

## Background
CROSS REFERENCES TO RELATED APPLICATIONS
This application claims priority from U.S. Provisional Patent application Ser. No. 60/780,176 filed on Mar. 6, 2006, which is hereby incorporated by reference in their entirety for all purposes.


TECHNICAL FIELD
Particular embodiments generally relate to networking.
BACKGROUND
In a code division multiplex access (CDMA) packet data network, an access terminal may be authenticated with a network for access. After authentication, a point-to-point (PPP) link may be brought up using the PPP protocol and extensions. The capabilities of the access terminal may then be exchanged with the network through the PPP link. Exchanging capabilities after authentication through the PPP link may delay the call setup. Further, for other protocols that may not use a PPP link, the procedures to exchange capabilities using the PPP link do not apply.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows an example of a system for providing a capability exchange.
FIG. 2 depicts a more detailed example of an access terminal and an IP gateway.
FIG. 3 depicts an example of a method for initiating the authentication process.
FIG. 4 depicts an example of a method for performing an authentication process at the access terminal.
FIG. 5 depicts an example of a method for exchanging capabilities during an authentication process at the IP gateway.



DESCRIPTION OF EXAMPLE EMBODIMENTS
Overview
In one embodiment, during an authentication process between a network device and an access terminal, an authentication message for access to the network is received. The network device is configured to allow access to an IP network. For example, the access terminal may be requesting access using mobile internet protocol (mobile IP). The network device determines one or more capabilities of the access terminal from the authentication message. For example, the capabilities may be included in fields of the authentication message. An action is then performed based on the one or more capabilities of the access terminal. The action may include using the capabilities to set up a session with the access terminal. Also, the network device may send its own capabilities to the access terminal in an authentication response. Accordingly, a capability negotiation between the access terminal and network device may be provided during an authentication process. This may facilitate a faster session setup as capabilities are exchanged during authentication can be used in the configuration of the session.
Example Embodiments
FIG. 1 shows an example of a system for providing a capability exchange. As shown, the system includes an IP gateway (IPGW) 102, radio access network (RAN) 104, an access terminal 106, an IP network 108, and a home agent 110.
The system described may use a mobile IP network in which access terminal 106 is attempting to access its home network through a visiting network. However, other protocols may be used in accessing different networks, such as access to a wireless fidelity (WiFi) network may be provided by particular embodiments.
IP gateway 102 is configured to provide the access to the home network for access terminal 106. Packets may be sent through IP network 108. Although a mobile IP network is described, it will be understood that other networks may also be used, such as worldwide interoperability for microwave access (WiMAX), CDMA, WiFi, etc.
IP gateway 102 may be any network device configured to facilitate authentication. Although an IP gateway is described, IP gateway 102 may also be a router, switch, back-to-back user agent, etc.
Radio access network 104 may be part of a mobile telecommunications system. Radio access network 104 may implement a radio access technology, such as CDMA, global system for mobile communications (GSM), universal mobile telecommunications system (UMTS), WiMAX, etc.
Access terminal 106 may be an endpoint, such as a cellular telephone, mobile e-mail device, laptop computer, personal digital assistant (PDA), instant messaging client, etc. Although access terminal 106 may be a mobile node, it will be understood that access terminal 106 may include a fixed device also.
Access terminal 106 may connect wirelessly to radio access network 104. Radio access network 104 may include a base station and other components that enable layer 2 mobile access and over-the-air communication. In other embodiments, access terminal 106 may also connect through a wired network.
Home agent 110 may be found in a home network. The home network may be a permanent home network that is assigned to access terminal 106. For example, the home network may have a network prefix matching that of a home address for access terminal 106. Home agent 110 facilitates messaging with access terminal 106 when it roams to visiting networks. In one embodiment, access terminal 106 must be authenticated by the home network when it wants to attach to a visiting network. This authentication process may be performed using protocols, such as extensible authentication protocol (EAP).
Particular embodiments provide a capabilities exchange during an authentication process for requesting access to the visiting network. In one embodiment, an access authentication request is sent from access terminal 106 to IP gateway 102 and requests access to the network. Access terminal 106 may determine one or more capabilities that it possesses and include information for the capabilities in the authentication message. Different access terminals 106 may include different capabilities. For example, a laptop computer, smart phone, regular voice phone, etc. may have different capabilities. Thus, IP gateway 102 cannot just assume which capabilities access terminal 106 supports. For example, access terminal 106 may be able to make a voice call, send data through an IP connection, listen to music, etc. Further, access terminal 106 may want to open a simple IP session, a mobile IP session, etc. Also, if access terminal 106 is using mobile IP, then access terminal 106 needs to let the network know through a mobile IP stack its capabilities. Thus, knowing the capabilities of access terminal 106 is important.
IP gateway 102 may also determine its own capabilities. These capabilities may be features supported by a network, such as which versions of protocols (IPv4, IPv6, etc.) are supported, etc. IP gateway 102 may authenticate access terminal 106 and may include its own capabilities in an authentication message response.
IP gateway 102 and access terminal 106 may use the capabilities that are exchanged to set up the session. Because the capabilities are exchanged during the authentication process, the set up of the session may be expedited. Conventionally, access terminal 106 may have been authenticated first and then a link is set up. Then capabilities may have been exchanged. However, in this case, capabilities are exchanged during the authentication process and the session may be set up using the capabilities that are exchanged. Accordingly, the session setup is more efficient because the capabilities may be used to configure the session with the correct capabilities supported.
FIG. 2 depicts a more detailed example of access terminal 106 and IP gateway 102. In access terminal 106, a capability determiner 202 determines capabilities for access terminal 106. The capabilities may be stored in storage 204. These capabilities may include any features that are supported by access terminal 106, such as its data capabilities, voice capabilities, codec type, resource revocation capability, robust header compression (ROHC), protocol version number, other protocol features supported, etc.
An authentication message sender 204 is then configured to generate an authentication message. For example, an EAP message requesting access to a network is generated. This message may be generated based on a request from IP gateway 102 or when access terminal 106 attaches to the visiting network.
The capabilities determined may be included in the authentication message as an extension to the protocol. For example, the authentication message may include fields in which information for the capabilities supported may be inserted.
Authentication message sender 204 then sends a message to IP gateway 102. The message may be sent over radio access network 104 to IP gateway 102. It should be noted that access terminal 106 might have been previously authenticated by radio access network 104 and thus it can communicate through the radio access network with IP gateway 102. This authentication process with radio access network 104 may be different from the authentication access process with the visiting network. For example, the access with IP gateway 102 is layer 3 access. Also, the capabilities may include layer 3 capabilities (IP and service layer attributes).
An access authenticator 206 of IP gateway 102 is configured to authenticate access terminal 106. For example, access authenticator 206 may communicate with a AAA server 208 that facilitates the authentication of access terminal 106. AAA server 208 may communicate with a home network of access terminal 106 to facilitate the authentication. The authentication of access terminal 106 is known in the art and will not be described further.
A message capability determiner 210 is configured to determine the capabilities that were included in the authentication message. Message capability determiner 210 may be configured to determine the capabilities from fields in the authentication request.
A session setup facilitator 212 is configured to set up the session. In one embodiment, if access authenticator 206 receives confirmation that access terminal 106 is authenticated to access a network, then capabilities for IP gateway 102 or the network may be determined.
A network capability determiner 214 may determine the capabilities from storage 216. These capabilities may include which protocols or features are supported by IP gateway 102. For example, IP gateway 102 may notify access terminal 106 that it supports proxy mobile IP (PMIP) and not client mobile IP (CMIP).
Session setup facilitator 212 then sends an authentication response to access terminal 106. For example, the authentication response may indicate whether or not access terminal 106 has been authenticated and may also include the capabilities for IP gateway 102 (e.g., capabilities of the network).
A session setup facilitator 216 of access terminal 106 is then configured to set up the session with session setup facilitator 212 of IP gateway 102. For example, access terminal 106 may take proper action based on the capabilities of the network before sending a request for IP access. In one example, if the capabilities for the network indicate PMIP is supported but not client mobile IP (CMIP), then PMIP may be used instead of CMIP. Having the capabilities exchange during the access authentication (via EAP) allows both access terminal 106 and IP gateway 102 to sync up quickly before access terminal 106 attempts to access the network.
FIG. 3 depicts an example of a method for initiating the authentication process. Step 302 attaches to a radio access network. For example, access terminal 106 may be roaming and may attach to a visiting network. In one example, a base station may acquire access terminal 106.
Step 304 performs an authentication process for access to radio access network 104. This may involve exchanging layer two capabilities between access terminal 106 and radio access network 104.
Once access terminal 106 is authenticated to access radio access network 104, step 306 starts the authentication process with IP gateway 102.
FIG. 4 depicts an example of a method for performing an authentication process at access terminal 106. Step 402 determines capabilities for access terminal 106. These may be any capabilities that are supported by access terminal 106.
Step 404 adds the capabilities to an access authentication message. For example, the capabilities may be added to an extension to an EAP authentication message.
Step 406 sends the access authentication message to IP gateway 102.
FIG. 5 depicts an example of a method for exchanging capabilities during an authentication process at IP gateway 102. Step 502 receives the access authentication message from access terminal 106. Step 504 sends an authentication message to AAA server 208 for authentication. AAA server 208 may then perform an authentication, such as communicating with a AAA server in the home network for access terminal 106 to facilitate the authentication.
Step 506 receives an authentication response from AAA server 208. This may indicate whether or not access terminal 106 is authorized to access the visiting network or not.
Step 508 determines capabilities that were included in the access authentication message received in step 502. These capabilities may be used in the session setup for access terminal 106.
Step 510 determines capabilities for IP gateway 102. These may be capabilities associated with a network.
Step 512 inserts the capabilities in an access authentication response. Also, the access authentication response may indicate whether or not access terminal 106 has been authenticated or not and also includes the network capabilities.
Step 514 then sends the response to access terminal 106.
Once the capabilities have been exchanged in authentication messages, access terminal 106 and IP gateway 102 may then proceed to set up a session. The capabilities that have been exchanged may be used in setting up the session. For example, certain decisions on what kinds of sessions to set up may be determined based on the capabilities exchanged. This is different than just setting up a session without knowing the capabilities of either access terminal 106 or IP gateway 102. By exchanging capabilities, the sessions may be set up more efficiently as the features may be incorporated into the session setup automatically. This is different than exchanging capabilities after the session is set up and then having to reconfigure the capabilities of the session if the incorrect capabilities were configured for the session.
Accordingly, capabilities are exchanged before an access attempt for setting up a session with a network is performed. This becomes more advantageous as different access terminals can include a multitude of different capabilities. Thus, different kinds of sessions may need to be set up based on the different capabilities. Thus, it is more likely that session set-up will be inefficient if the session needs to be set up before the capabilities are exchanged. Accordingly, particular embodiments allow sessions to be set up using the known capabilities for access terminal 106 and IP gateway 102.
Particular embodiments provide a common and access agnostic mechanism to exchange capabilities in the access segment between access terminal 106 and IP gateway 102. Gateways may be designed to implement the same functions via EAP across different access technologies. This simplifies the design of IP gateways and other devices that allow access to networks.
Although the description has been described with respect to particular embodiments thereof, these particular embodiments are merely illustrative, and not restrictive. Although mobile IP is described, particular embodiments may also be used with WiMAX, 3GPP2 involved architectures, IP radio access networks, 3GPP system architecture evolution (SAE)/long-term evolution (LTE), ATM-internet protocol multimedia subsystem (A-IMS), PPP free, etc
Any suitable programming language can be used to implement the routines of particular embodiments including C, C++, Java, assembly language, etc. Different programming techniques can be employed such as procedural or object oriented. The routines can execute on a single processing device or multiple processors. Although the steps, operations, or computations may be presented in a specific order, this order may be changed in different particular embodiments. In some particular embodiments, multiple steps shown as sequential in this specification can be performed at the same time. The sequence of operations described herein can be interrupted, suspended, or otherwise controlled by another process, such as an operating system, kernel, etc. The routines can operate in an operating system environment or as stand-alone routines occupying all, or a substantial part, of the system processing. Functions can be performed in hardware, software, or a combination of both. Unless otherwise stated, functions may also be performed manually, in whole or in part.
In the description herein, numerous specific details are provided, such as examples of components and/or methods, to provide a thorough understanding of particular embodiments. One skilled in the relevant art will recognize, however, that a particular embodiment can be practiced without one or more of the specific details, or with other apparatus, systems, assemblies, methods, components, materials, parts, and/or the like. In other instances, well-known structures, materials, or operations are not specifically shown or described in detail to avoid obscuring aspects of particular embodiments.
A “computer-readable medium” for purposes of particular embodiments may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, system, or device. The computer readable medium can be, by way of example only but not by limitation, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, system, device, propagation medium, or computer memory.
Particular embodiments can be implemented in the form of control logic in software or hardware or a combination of both. The control logic, when executed by one or more processors, may be operable to perform that what is described in particular embodiments.
A “processor” or “process” includes any human, hardware and/or software system, mechanism or component that processes data, signals, or other information. A processor can include a system with a general-purpose central processing unit, multiple processing units, dedicated circuitry for achieving functionality, or other systems. Processing need not be limited to a geographic location, or have temporal limitations. For example, a processor can perform its functions in “real time,” “offline,” in a “batch mode,” etc. Portions of processing can be performed at different times and at different locations, by different (or the same) processing systems.
Reference throughout this specification to “one embodiment”, “an embodiment”, “a specific embodiment”, or “particular embodiment” means that a particular feature, structure, or characteristic described in connection with the particular embodiment is included in at least one embodiment and not necessarily in all particular embodiments. Thus, respective appearances of the phrases “in a particular embodiment”, “in an embodiment”, or “in a specific embodiment” in various places throughout this specification are not necessarily referring to the same embodiment. Furthermore, the particular features, structures, or characteristics of any specific embodiment may be combined in any suitable manner with one or more other particular embodiments. It is to be understood that other variations and modifications of the particular embodiments described and illustrated herein are possible in light of the teachings herein and are to be considered as part of the spirit and scope.
Particular embodiments may be implemented by using a programmed general purpose digital computer, by using application specific integrated circuits, programmable logic devices, field programmable gate arrays, optical, chemical, biological, quantum or nanoengineered systems, components and mechanisms may be used. In general, the functions of particular embodiments can be achieved by any means as is known in the art. Distributed, networked systems, components, and/or circuits can be used. Communication, or transfer, of data may be wired, wireless, or by any other means.
It will also be appreciated that one or more of the elements depicted in the drawings/figures can also be implemented in a more separated or integrated manner, or even removed or rendered as inoperable in certain cases, as is useful in accordance with a particular application. It is also within the spirit and scope to implement a program or code that can be stored in a machine-readable medium to permit a computer to perform any of the methods described above.
Additionally, any signal arrows in the drawings/Figures should be considered only as exemplary, and not limiting, unless otherwise specifically noted. Furthermore, the term “or” as used herein is generally intended to mean “and/or” unless otherwise indicated. Combinations of components or steps will also be considered as being noted, where terminology is foreseen as rendering the ability to separate or combine is unclear.
As used in the description herein and throughout the claims that follow, “a”, “an”, and “the” includes plural references unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise.
The foregoing description of illustrated particular embodiments, including what is described in the Abstract, is not intended to be exhaustive or to limit the invention to the precise forms disclosed herein. While specific particular embodiments of, and examples for, the invention are described herein for illustrative purposes only, various equivalent modifications are possible within the spirit and scope, as those skilled in the relevant art will recognize and appreciate. As indicated, these modifications may be made to the present invention in light of the foregoing description of illustrated particular embodiments and are to be included within the spirit and scope.
Thus, while the present invention has been described herein with reference to particular embodiments thereof, a latitude of modification, various changes and substitutions are intended in the foregoing disclosures, and it will be appreciated that in some instances some features of particular embodiments will be employed without a corresponding use of other features without departing from the scope and spirit as set forth. Therefore, many modifications may be made to adapt a particular situation or material to the essential scope and spirit. It is intended that the invention not be limited to the particular terms used in following claims and/or to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include any and all particular embodiments and equivalents falling within the scope of the appended claims.

## Claims

1. A method comprising:
receiving at an Internet Protocol Gateway element (“IPG”) disposed between an access terminal and an Internet protocol (“IP”) network an authentication request from the access terminal, the authentication request comprising a request to access the network and an indication of access terminal capabilities, wherein the access terminal capabilities comprise at least one of a resource revocation capability, and robust header compression (ROHC) capabilities;
sending an authentication response, in response to the authentication request, to the access terminal, the authentication response including network capabilities, the network capabilities including at least one type of Internet protocol supported by the network; and
configuring a session between the IPG and the access terminal using the access terminal capabilities and the network capabilities;
wherein the authentication request and the authentication response comprise extensible authentication protocol (EAP) messages.

2. The method of claim 1, further comprising authenticating the access terminal before sending the authentication response.

3. The method of claim 1, wherein at least one of the access terminal capabilities and the network capabilities comprise capabilities for layer 3 access.

4. A method comprising:
sending an authentication request to a network device, the authentication request comprising a request to access a network and an indication of access terminal capabilities, wherein the access terminal capabilities comprise at least one of a resource revocation capability, and robust header compression (ROHC) capabilities;
receiving an authentication response in response to the authentication request, including network capabilities supported by the network device, the network capabilities including at least one type of Internet protocol supported by the network; and
configuring a session between the network device and the access terminal using the access terminal capabilities and the network capabilities;
wherein the session is configured to support at least a part of the one or more first capabilities supported by the access terminal, wherein different first capabilities being supported by the access terminal result in different session configurations; and
wherein the authentication request and the authentication response comprise extensible authentication protocol (EAP) messages.

5. The method of claim 4, wherein the authentication request and the authentication response are exchanged prior to the configuration of the session.

6. The method of claim 4, wherein at least one of the access terminal capabilities and the network capabilities comprise capabilities for layer 3 access.

7. An apparatus comprising:
one or more computer processors; and
logic encoded in one or more non-transitory tangible storage media for execution by the one or more computer processors, and when executed operable to:
receive at an Internet Protocol Gateway element (“IPG”) disposed between an access terminal and an Internet protocol (“IP”) network an authentication request from the access terminal, the authentication request comprising a request to access the network and an indication of access terminal capabilities, wherein the access terminal capabilities comprise at least one of a resource revocation capability, and robust header compression (ROHC) capabilities;
send an authentication response, in response to the authentication request, to the access terminal, the authentication response including network capabilities, the network capabilities including at least one type of Internet protocol supported by the network; and

configure a session between the IPG and the access terminal using the access terminal capabilities and the network capabilities;
wherein the authentication request and the authentication response comprise extensible authentication protocol (EAP) messages.

8. The apparatus of claim 7, wherein the authentication request and the authentication response are exchanged prior to the set up of the session.

9. The apparatus of claim 7, wherein at least one of the access terminal capabilities and the network capabilities comprise capabilities for layer 3 access.

10. An apparatus comprising:
one or more computer processors; and
logic encoded in one or more non-transitory tangible storage media for execution by the one or more computer processors, and when executed operable to:
determine one or more access terminal capabilities supported by the apparatus, wherein the access terminal capabilities comprise at least one of a resource revocation capability, and robust header compression (ROHC) capabilities;
send an authentication request for access to an Internet protocol (“IP”) network to a network device comprising an Internet Protocol Gateway element (“IPG”) disposed between an access terminal and the network, wherein the access terminal capabilities are included in the authentication message; and
receive an authentication response from a network device in response to the authentication request, the authentication response including network capabilities supported by the network device, the network capabilities including at least one type of Internet protocol supported by the network;
configure a session between the network device and the access terminal using the access terminal capabilities and the network capabilities;

wherein the session is configured to support at least a part of the one or more first capabilities supported by the access terminal, wherein different first capabilities being supported by the access terminal result in different session configurations; and
wherein the authentication request and the authentication response comprise extensible authentication protocol (EAP) messages.

11. The apparatus of claim 10, wherein the authentication request and the authentication response are exchanged prior to the configuration of the session.

12. The apparatus of claim 10, wherein at least one of the access terminal capabilities and the network capabilities comprise capabilities for layer 3 access.

13. An apparatus comprising:
means for determining the one or more first capabilities of the an access terminal using the a first authentication message received at the apparatus requesting access to an Internet protocol (“IP”) network during an authentication process with the access terminal, wherein information about the one or more first capabilities is included in the first authentication message, and wherein the one or more first capabilities comprise at least one of resource revocation capability, and robust header compression (ROHC) capabilities; and
means for sending a second authentication message, in response to the first authentication message, to the access terminal, the second authentication message including information about one or more second capabilities supported by the apparatus, the second capabilities including at least one type of Internet protocol supported by the network;
wherein a session between the access terminal and the apparatus is configured using the one or more first capabilities supported by the access terminal and the one or more second capabilities supported by the apparatus, wherein the one or more first capabilities are received by the apparatus before the session is set up;
wherein the first and second authentication messages comprise extensible authentication protocol (EAP) messages; and
wherein the apparatus comprises an Internet Protocol Gateway device (“IPG”) disposed between the access terminal and the network.

14. An apparatus comprising:
means for determining, at the apparatus, one or more first capabilities supported by the apparatus during an authentication process with a network device comprising an Internet Protocol Gateway (“IPG”) disposed between an access terminal and an Internet protocol (“IP”) network, and wherein the one or more first capabilities comprise at least one of resource revocation capability, and robust header compression (ROHC) capabilities; and
means for generating a first authentication message for access to a network, wherein information for the one or more first capabilities is included in the first authentication message;
wherein the first authentication message is sent to the network device;
wherein a second authentication message received at the apparatus includes information about one or more second capabilities supported by the network device, the second capabilities including at least one type of Internet protocol supported by the network;
wherein a session is configured between the network device and the apparatus using the one or more first capabilities supported by the apparatus and the one or more second capabilities supported by the network device, wherein the one or more first capabilities are sent before the session is set up; and
wherein the first and second authentication messages comprise extensible authentication protocol (EAP) messages.

15. The method of claim 1, wherein the session is configured to support at least a part of the one or more first capabilities supported by the access terminal, wherein different first capabilities being supported by the access terminal result in different session configurations.

16. The apparatus of claim 7, wherein the session is configured to support at least a part of the one or more first capabilities supported by the access terminal, wherein different first capabilities being supported by the access terminal result in different session configurations.