Patent Publication Number: US-9843653-B2

Title: UMA/GAN keep-alive mechanism in wireless communication networks

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     The present application is a continuation of U.S. patent application Ser. No. 12/369,148 filed on Sep. 11, 2009, which claims priority from EP 08305020.3 filed on Feb. 11, 2008, the disclosures of which are hereby incorporated herein by reference. 
    
    
     FIELD OF THE DISCLOSURE 
     The present disclosure relates generally to wireless communications, and more particularly to keep-alive message signaling in mobile stations that communicate in Unlicensed Mobile Access Networks (UMA) and General Access Networks (GANs), corresponding entities and methods. 
     BACKGROUND 
     The Unlicensed Mobile Access (UMA) and General Access Network (GAN) specifications define keep-alive mechanisms that perform different functions. Generally, the keep-alive mechanism informs the network when a mobile station (MS) has disconnected. This occurs when the network stops receiving periodic keep-alive messages from the MS. After the MS disconnects, the network can eventually release network resources previously linked to the MS and optimise the use of resources in GAN controller (GANC). In addition, when no other message is flowing on the link, the continual sending of periodic keep-alive messages by the MS permits maintaining Transmission Control Protocol (TCP) socket flow. 
     In paragraph 6.5 of the GAN Specification, when the mobile station (MS) receives a Generic Access Resource Control (GA-RC) Register Accept message, the MS initiates the GA-RC keep-alive mechanism by starting a TU3906 timer using a TU3906 time value received in the message. In one known process, when the TU3906 timer expires in the MS, the MS sends the GA-RC keep-alive message to the GANC and re-starts the TU3906 timer. A consequence of the GAN specification is that upon receipt of the GA-RC Register Accept message, the MS sends a GA-RC Keep-Alive message upon every expiry of the TU3906 timer, without regard for other procedures that may be performed by the MS. For example, if the TU3906 timer expires during a Generic Access Circuit Switched Resources (GA-CSR) signalling procedure, the MS sends a keep-alive during signalling, which is not necessary efficient. 
     U.S. Publication No. 2008/0025258A1 entitled “UMA/GAN Keep-Alive Mechanism In Wireless Communication Networks” discloses a wireless communication user terminal that re-sets the TU 3906 timer upon transmission of a message thereby preventing expiration of the timer and the unnecessary transmission of keep-alive messages. For example, the TU 3906 timer may be re-set when the user terminal sends a Generic Access Circuit Switched Resource (GA-CSR) message or a Generic Access Packet Switched Resource (GA-PSR) message or some other message on the TCP socket. 
     The various aspects, features and advantages of the disclosure will become more fully apparent to those having ordinary skill in the art upon careful consideration of the following Detailed Description and the accompanying drawings described below. The drawings may have been simplified for clarity and are not necessarily drawn to scale. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a wireless communication device. 
         FIG. 2  is a signaling diagram according to an exemplary embodiment of the disclosure. 
     
    
    
     DETAILED DESCRIPTION 
     In  FIG. 1 , a wireless communication terminal  100  generally comprises a wireless transceiver  110  communicably coupled to a controller  120 . The exemplary transceiver includes an Unlicensed Mobile Access (UMA) and/or General Access Network (GAN) transceiver or some other protocol transceiver  112 . Thus the terminal communicates with the UMA and/or GAN over a packet-based connection, for example, a transmission control protocol (TCP) connection or some future packet protocol link. 
     In some embodiments, the transceiver also includes a cellular transceiver, for example, a GSM, UMTS, CDMA, WiMAX or other existing or future cellular protocol transceiver  114  capable of communicating on a wireless communications network. The terminal may be implemented as a mobile communications handset, for example, a cellular telephone, personal digital assistant (PDA), or other mobile station (MS) or terminal. The terminal may also be implemented as a personal computer including a removable GAN and/or UMA wireless access card or equivalent circuitry. 
     The controller may comprise a central processing unit (CPU) and/or a digital signal processor (DSP). The controller is communicably coupled to user inputs  130 , for example, a keypad or other alphanumeric input devices, a microphone, Bluetooth headset microphone and other inputs suitable for use with such terminals as is well known by those having ordinary skill in the art. The controller is also coupled to user outputs  140 , for example, a display and audio device among other outputs. In other embodiments, the inputs and outputs may include other user interfaces. 
     In  FIG. 1 , the terminal  100  includes a keep-alive timer  150  that is used to prompt the terminal when to transmit packet-based connection keep-alive messages to a network entity, for example, a GAN and/or UMA controller entity. More particularly, the terminal transmits a keep-alive message upon expiration of the keep-alive timer. The keep-alive timer is re-set and another keep-alive message is transmitted upon expiration of the keep-alive timer. The network entity maintains the packet-based connection in response to receiving the keep-alive message. For example, during a TCP connection, the keep-alive messages maintain TCP socket flow when no data is flowing. When the terminal disconnects from the network, the network stops receiving keep-alive messages whereupon the network releases network resources previously allocated to the terminal. While the keep-alive timer is illustrated as a separate entity in  FIG. 2 , the timer is typically integrated with the controller and may be implemented as software or firmware executed by the controller. In one embodiment, the keep-alive timer is a TU 3906 timer. 
     In embodiments where the keep-alive timer is configured to send keep-alive message only upon expiration of the timer, re-setting the timer will prevent expiration thereof and thus reduce the frequency at which the terminal transmits keep-alive messages. Reduced keep-alive signaling reduces radio resource usage and also reduces current drain in terminal. According to one aspect of the disclosure, the keep-alive mechanism is optimized to avoid unnecessary signaling and particularly to reduce the frequency at which the terminal transmits keep-alive messages to the network. 
     It is generally unnecessary to transmit keep-alive messages to the network when the terminal is receiving and/or transmitting messages with the network. Thus, in one embodiment, the controller is configured to re-set the keep-alive timer, before expiration of the keep-alive timer, upon receipt of a message, from the network, at the wireless transceiver when the wireless communication terminal is in a TCP connection. For example, the timer may be re-set each time the terminal receives a Generic Access Resource Control (GA-RC) message, a Generic Access Circuit Switched Resource (GA-CSR) message or some other network originated message on the TCP socket. The timer may also be re-set upon transmission of a message by the terminal to the network. For example, the timer may be re-set each time the terminal sends a message, for example, a Generic Access Circuit Switched Resource (GA-CSR) message, a Generic Access Resource Control (GA-RC) message, a Generic Access Packet Switched Resource (GA-PSR) message or some other network bound message on the TCP socket. 
     It is generally only necessary to send keep-alive messages after idle periods during which messages are not transmitted or received. Allowing the keep-alive timer to expire in the absence of inbound or bound messaging at the terminal will ensure that the terminal sends keep-alive messages only after idle periods, thereby maintaining the packet-based connection. 
     In  FIG. 1 , the controller  120  includes a timer start module  122  that starts the keep-alive timer  150 . The timer start module is typically implemented as software of firmware executed by the controller. In one embodiment, the timer start module starts the keep-alive timer when the terminal connects to or registers with the network. In some implementations, the terminal receives a register accept message including a timer value, which the terminal uses to start the timer. A network entity typically transmits the register accept message to the terminal in response to a register request message sent by the terminal. In GAN, for example, the terminal sends a GA-RC register request message to the GAN controller (GANC), which sends a GA-RC register accept message that includes a TU 3906 timer value. The terminal thus starts or initiates the TU3906 timer using a TU 3906 timer value received in the GA-RC message. Alternatively, the timer value may be hard coded or it may be variable and set based on instructions from the network. In another embodiment, the terminal sets the timer value. 
     As note above, when the keep-alive timer expires, the terminal sends a keep-alive message to the network controller and re-sets the timer. The network entity maintains the packet-based connection in response to receiving the keep-alive message. For example, A GAN and/or UMA network controller entity maintain TCP socket flow when no data is flowing upon receipt of the keep-alive message from the terminal. When the terminal disconnects from the network, the network stops receiving keep-alive messages whereupon the network releases network resources previously allocated to the terminal. In  FIG. 1 , the controller  120  includes a keep-alive message module  124  that causes the wireless transceiver  110  to transmit a keep-alive message upon expiration of the keep-alive timer. The keep-alive message module is typically implemented in software or firmware executed by the controller. 
     In  FIG. 2 , the terminal controller  120  also includes a keep-alive timer re-setting module  126  that re-sets the keep-alive timer  150 . The keep-alive timer is generally re-set upon expiration of the timer. In some embodiments, the keep-alive timer is re-set upon transmitting a message from the terminal to the network controller before expiration of the timer. In other embodiments, the keep-alive timer is re-set upon receiving a message at the terminal from the network controller before expiration of the timer. On the network side, a network keep-alive timer is generally re-set when the network sends a TCP packet to the terminal, and when the network receives a packet from the MS. In some embodiments, the keep-alive timer is not reset upon the transmission of messages on the User Datagram Protocol (UDP) link. 
     In the process flow diagram  200  of  FIG. 2 , the MS  210  sends a GA-RC Register Request  202  message to the GAN controller (GANC)  214 . More generally, the Register Request  202  is some other protocol registration request message. In some implementations, the register request message includes a field indicating whether the MS supports optimized operation of a keep-alive timer that runs during the network connection. In one particular implementation, support for the optimization of the keep-alive mechanism is indicated in the Required GAN Services IE sent in the GA-RC register request message. More generally, however, the support may be indicated in some other portion of the register request. 
     In  FIG. 2 , the GANC  214  sends a GA-RC Register Accept  204  message to the MS  210 . More generally, the Register Accept message  204  is some other protocol registration accept message. The Register Accept message  204  includes a TU 3906 timer value. The MS  210  initiates the TU 3906 timer  216  using the timer value upon receipt of the Register Accept message. Upon expiration of the TU 3906 timer, the MS  210  sends a GA-RC Keep-Alive Message  212  to the GAN controller (GANC)  214 . At  218 , the TU 3906 timer is re-set upon its expiration whereupon the terminal transmits another keep-alive message upon the next expiration of the timer. 
     In  FIG. 2 , before expiration of TU 3906 timer re-set at  318 , the MS  210  sends a GA-CSR Request  220  message to the GANC  214  and resets the TU 3906 timer at  206  before expiration of the timer, thus precluding transmission of another GA-RC Keep-Alive message. The GANC  214  replies to the GA-CSR Request with a GA-CSR Accept  222  message, whereupon the MS  210  re-sets the TU 3906 timer at  208 . Thereafter, the MS sends a GA-CSR Uplink Direct Transfer  224  to the GANC  214  and resets the TU 3906 timer at  230 . After the transfer, the GANC  314  sends a GA-CSR Release message  226  to the MS  210 , which re-sets the TU 3906 timer at  209 . The MS  310  then sends a GA-CSR Release Complete message  328  and again re-sets the TU 3906 timer at  234 . The MS  210  sends a GA-RC Keep-Alive message  232  upon expiration of the TU3906 timer. Thereafter the time is re-set and the process continues. 
     While the present disclosure and the best modes thereof have been described in a manner establishing possession and enabling those of ordinary skill to make and use the same, it will be understood and appreciated that there are equivalents to the exemplary embodiments disclosed herein and that modifications and variations may be made thereto without departing from the scope and spirit of the inventions, which are to be limited not by the exemplary embodiments but by the appended claims.