Abstract:
According to one embodiment of the present invention, a method, a logic, and systems for selecting a communications protocol are disclosed. An initial request having a static Internet Protocol address is received from a mobile node, and a dynamic address is assigned to the mobile node. A data packet is received from the mobile node, and whether the data packet uses the dynamic address or has a mobile Internet Protocol request is determined. If the data packet has the mobile Internet Protocol request, the data packet is processed using a mobile Internet Protocol process. Alternatively, if the data packet uses the dynamic address, the data packet is processed using a simple Internet Protocol process.

Description:
TECHNICAL FIELD OF THE INVENTION 
     This invention relates in general to packet data networks, and more particularly to selecting a communications protocol. 
     BACKGROUND OF THE INVENTION 
     A call comprising packet data is typically communicated in a packet data network according to a communications protocol. In order to process the call, the communications protocol is identified, and the packet data is processed according to the identified communications protocol. Packet data, however, sometimes does not conform to network standards and the communications protocol for the packet data might not be readily identified. As a result, previous techniques for processing packet data are inadequate for many needs. 
     SUMMARY OF THE INVENTION 
     In accordance with the present invention, disadvantages and problems associated with packet data networks have been substantially reduced or eliminated. 
     According to one embodiment of the present invention, a method for selecting a communications protocol is disclosed. An initial request having a static Internet Protocol address is received from a mobile node, and a dynamic address is assigned to the mobile node. A data packet is received from the mobile node, and whether the data packet uses the dynamic address or has a mobile Internet Protocol request is determined. If the data packet has the mobile Internet Protocol request, the data packet is processed using a mobile Internet Protocol process. Alternatively, if the data packet uses the dynamic address, the data packet is processed using a simple Internet Protocol process. 
     According to one embodiment of the present invention, a system for selecting a communications protocol is disclosed. A processor receives a initial request having a static Internet Protocol address from a mobile node, and assigns a dynamic address to the mobile node. The processor receives a data packet from the mobile node, and determines whether the data packet uses the dynamic address or has a mobile Internet Protocol request. A first protocol module processes the data packet using a mobile Internet Protocol process if the data packet has the mobile Internet Protocol request. A second protocol module processes the data packet using a simple Internet Protocol process if the data packet uses the dynamic address. 
     According to one embodiment of the present invention, a system for selecting a communications protocol is disclosed. The system includes means for receiving an initial request having a static Internet Protocol address from a mobile node, and means for assigning a dynamic address to the mobile node. The system also includes means for receiving a data packet from the mobile node, and means for determining whether the data packet uses the dynamic address or has a mobile Internet Protocol request. Additionally, the system includes means for processing the data packet using a mobile Internet Protocol process if the data packet has the mobile Internet Protocol request, and means for processing the data packet using a simple Internet Protocol process if the data packet uses the dynamic address. 
     According to one embodiment of the present invention, logic for selecting a communications protocol is disclosed. The logic receives an initial request having a static Internet Protocol address from a mobile node, and assigns a dynamic address to the mobile node. The logic also receives a data packet from the mobile node, and determines whether the data packet uses the dynamic address or has a mobile Internet Protocol request. Additionally, the logic processes the data packet using a mobile Internet Protocol process if the data packet has the mobile Internet Protocol request, and processes the data packet using a simple Internet Protocol process if the data packet uses the dynamic address. 
     Important technical advantages of certain embodiments of the present invention may include assigning a dynamic address to a mobile node in order to process a call from the mobile node. If the dynamic address is not assigned, a communications session that allows the mobile node to communicate may be terminated. Other important technical advantages of certain embodiments of the present invention may include identifying the communications protocol of packet data from a mobile node. A packet data serving node checks whether the packet data includes an assigned dynamic address in order to determine the communications protocol needed to process the packet data. 
    
    
     
       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 an exemplary system for selecting a communications protocol; 
         FIG. 2  illustrates an exemplary packet data serving node; and 
         FIG. 3  illustrates an exemplary method for selecting a communications protocol. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       FIG. 1  illustrates an exemplary system  10  for selecting a communications protocol for a mobile node  12 . Mobile node  12  may support, for example, simple Internet Protocol (IP), mobile IP, or any other suitable communications protocol. To process packet data from mobile node  12 , system  10  identifies the communications protocol and processes the packet data according to the identified communications protocol. 
     Mobile node  12  may include, for example, a personal computer, a personal digital assistant, a mobile handset, or any other device suitable for communicating packet data to system  10 . Mobile node  12  may utilize, for example, code-division multiple access technology (CDMA) or any other suitable mobile communications technology. A call from mobile device  12  may comprise packet data such as voice, data, video, multimedia, or other type of data packets, or any combination of the preceding. 
     System  10  may include a base station controller  20 , a packet data serving node  22 , a home agent  24 , a mobile switching center  26 , and a correspondent communicating node  28 , which may be used to process a call from mobile node  12 . Base station controller  20  provides an interface between mobile node  12  and packet data serving node  22 . Base station controller  20  may route a call from mobile node  12  through a base station. The wireless link between mobile node  12  and packet data serving node  22  is typically a radio frequency link that may be cellular in network organization. A communication path  32  may be used to transmit data between base station controller  20  and packet data serving node  22 . Communication path  32  may comprise a portion of a communication network  33 . Communication network  33  may comprise a public switch telephone network, a public or private data network, the Internet, a wired or wireless network, a local, regional, or global communicating network, other suitable communication link, or any combination of the preceding. 
     Packet data serving node  22  may establish a communication session, for example, a point-to-point session, with mobile node  12  in order to provide mobile node  12  with access to the packet data network. A communication path  32  may be used to transmit data between base station controller  20  and packet data serving node  22 . Packet data serving node  22  may comprise, for example, a CISCO Packet Data Serving Node. Home agent  24  records the location of mobile node  12  and provides mobile IP service to the mobile node  12 . Correspondent communicating node  28  may comprise any suitable node with which mobile node  12  may communicate or hold an interactive session, for example, a file transfer protocol (FTP) server or a printer. 
     A communication path  34  may be used to transmit data between packet data serving node  22  and home agent  24 . A communication path  36  may be used to transmit data between packet data serving node  22  and correspondent communicating node  28 . A communication path  38  may be used to transmit data between home agent  24  and correspondent communicating node  28 . Communication paths  34 ,  36 , and  38  may comprise, for example, a portion of a communication network  33 . 
     Mobile switching center  26  manages base station controller  20 , and may also manage communication between system  10  and portions of other systems, which may be similar to system  10 . Mobile switching center  26  may include, for example, an open programmable switch such as a CISCO VCO/4K switch, and a system controller program that provides call processing. Mobile switching center  26  may comprise, for example, a CISCO Mobile Switching Center. 
       FIG. 2  illustrates an exemplary packet data serving node  22 . Packet data serving node  22  may include a processor  40 , a simple IP module  42 , a mobile IP module  44 , an address pool  46 , and a packet routing module  48 . Processor  40  receives packet data from base station controller  20 , identifies the communications protocol used to transmit the packet data, and sends the packet data to the appropriate protocol module to be processed. For example, processor  40  may send data packets to simple IP module  42 , which processes data packets according to simple IP, or to mobile IP module  44 , which processes data packets according to mobile IP. If processor  40  receives a data packet that includes a topologically incorrect static address such as a non-zero IP address, processor  40  may dynamically assign a topologically correct address from address pool  46 . 
     Mobile IP module  44  may include a mobile IP foreign agent function. Simple IP module  42  and mobile IP module  44  send data packets to packet routing module  48  for transmission to correspondent communicating node  28 . Data packets may be routed to correspondent communication node  28  either directly over communication path  36  or routed through the home agent over communication paths  34  and  38 . 
       FIG. 3  illustrates an exemplary method for selecting a communications protocol. At step  50 , packet data serving node  22  receives a request from mobile node  12  that includes a static address that may be topologically incorrect. The request may comprise an IP control protocol (IPCP) configure request. The static address may comprise, for example, a simple IP address expressed as a non-zero IP address, and may be included in an IP address configuration option of the request. 
     Processor  40  of packet data serving node  22  assigns a dynamic address from address pool  46  to mobile node  12  at step  52 , and transmits the dynamic address to mobile node  12 . The dynamic address, which may be topologically correct, may be transmitted in an IPCP message such as a negative acknowledgment (NAK) response. If mobile node  12  uses mobile IP, the dynamic address typically does not affect the mobile IP communications stack. Packet data serving node  22  establishes a point-to-point communications session with mobile node  12  at step  54 . Mobile node  12  may also be authenticated at step  54 . At step  56 , packet data serving node  22  sends mobility agent information about the foreign agent function included within mobile IP module  44  to mobile node  12 . The mobility agent information may comprise an agent advertisement that includes the address of mobile IP module  46  within packet data serving node  22 . 
     At step  60 , mobile node  12  responds using either simple IP or mobile IP. If mobile node  12  uses simple IP, mobile node  12  sends data packets that use the assigned dynamic address as a source address. At step  62 , packet data serving node  22  receives data packets from mobile node  12 , and processor  40  determines that the data packets use the dynamic address as the source address. At step  64 , packet data serving node  22  processes the data packets using simple IP. Processor  40  transmits the data packets to simple IP module  42 , which processes the data packets according to simple IP. At step  66 , the data packets are forwarded to packet routing module  48 , and then routed to correspondent communicating node  28  over communication path  36 . After data packets are routed, the method is terminated. 
     If mobile node  12  uses mobile IP at step  60 , mobile node  12  responds to the mobility agent information by sending a request for mobile IP. The request for mobile IP may comprise, for example, a mobile IP registration request or an agent solicitation. At step  72 , packet data serving node  22  receives the data packets from mobile node  12 , and processor  40  determines that the data packets include the request for mobile IP. Processor  40  transmits the data packets to mobile IP module  44 . At step  74 , mobile IP module  44  transmits the request to home agent  24  via packet routing module  48 . In response, home agent  24  assigns an address to mobile node  12 , which mobile IP module  44  receives at step  76  within a mobile IP reply message. At step  78 , the home agent assigned address is forwarded to mobile node  12  in a mobile IP registration reply message. 
     After receiving the home agent assigned address within the mobile IP registration reply, mobile node  12  sends data packets that use the home agent assigned address as a source address. At step  80 , packet data serving node  22  receives data packets from mobile node  12 , and processor  40  determines that data packets use the home agent assigned address as a source address. Packet data serving node  22  proceeds to step  82  to process data packets using mobile IP. Processor  40  transmits data packets to mobile IP module  44 , which processes data packets according to mobile IP. The data packets are forwarded to packet routing module  48  and routed to correspondent communicating node  28  at step  84 . Data packets may be routed to correspondent communicating node either directly over communication path  36  or routed through the home agent over communication paths  34  and  38 . After the data packets are routed, the method is terminated. 
     Important technical advantages of certain embodiments of the present invention may include assigning a dynamic address to mobile node  12  in order to process a call from mobile node  12 . If the dynamic address is not assigned, a communications session that allows mobile node  12  to communicate may be terminated. Other important technical advantages of certain embodiments of the present invention may include identifying the communications protocol of packet data from mobile node  12 . Packet data serving node  22  checks whether the packet data includes an assigned dynamic address or a mobile IP request in order to determine the communications protocol needed to process the packet data. 
     Although the present invention has been described with several embodiments, a myriad of changes, variations, alterations, transformations, and modifications may be suggested to one skilled in the art, and it is intended that the present invention encompass such changes, variations, alterations, transformations, and modifications as fall within the scope of the appended claims.