Abstract:
Systems and methods for maintaining an IP (Internet protocol) connection in a mobile network are disclosed. Techniques are disclosed wherein an optimal keep-alive interval is determined, and dynamic adjustments of keep-alive message interval are employed to prevent detection and counter measure. Keep-Alive schedule information may be determined at a first mobile terminal for a network, and subsequently used for a second mobile terminal when the second mobile terminal encounters that same network. In some embodiments, the Keep-Alive schedule information is stored at a network-node device. In some embodiments, the first mobile terminal and the second mobile terminal are cellular phones.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application is a Continuation application of U.S. patent application Ser. No. 15/079,089 entitled “DYNAMIC ADJUSTMENT OF KEEP-ALIVE MESSAGES FOR EFFICIENT BATTERY USAGE IN A MOBILE NETWORK”, which was filed on Mar. 24, 2016, which is a continuation of U.S. patent application Ser. No. 14/662,161 “DYNAMIC ADJUSTMENT OF KEEP-ALIVE MESSAGES FOR EFFICIENT BATTERY USAGE IN A MOBILE NETWORK”, which was filed on Mar. 18, 2015. U.S. patent application Ser. No. 14/662,161 is a continuation of U.S. patent application Ser. No. 14/283,193 entitled “DYNAMIC ADJUSTMENT OF KEEP-ALIVE MESSAGES INTERVALS FOR EFFICIENT BATTERY USAGE IN A MOBILE NETWORK,” which was filed on May 20, 2014, now U.S. Pat. No. 9,007,976, which is a Continuation application of U.S. patent application Ser. No. 13/043,425 entitled “DYNAMIC ADJUSTMENT OF KEEP-ALIVE MESSAGES INTERVALS IN A MOBILE NETWORK,” which was filed on Mar. 8, 2011, now U.S. Pat. No. 8,731,542, which claims benefit of U.S. Provisional Patent Application No. 61/408,826 entitled “ONE WAY INTELLIGENT HEARTBEAT”, which was filed on Nov. 1, 2010. U.S. patent application Ser. No. 14/662,161 claims the priority to U.S. patent application Ser. No. 12/853,119 entitled “MAINTAINING AN IP CONNECTION IN A MOBILE NETWORK,” which was filed Aug. 9, 2010, now U.S. Pat. No. 8,285,200, which is a continuation of U.S. patent application Ser. No. 11/471,630, entitled “MAINTAINING AN IP CONNECTION IN A MOBILE NETWORK,” which was filed Jun. 21, 2006, now U.S. Pat. No. 7,774,007, which claims benefit of U.S. Provisional Patent Application No. 60/707,170 entitled “MAINTAINING AN IP CONNECTION IN A MOBILE NETWORK,” which was filed Aug. 11, 2005. The contents of each of these applications are incorporated by reference herein. 
    
    
     BACKGROUND 
     The invention relates to techniques for maintaining an IP (Internet protocol) connection in a mobile network. 
     In a packet-switched mobile network, a mobile terminal is not normally assigned a dedicated circuit-switched connection. Instead, the network establishes and maintains a session for the terminal, and data packets are sent when necessary. In order to integrate mobile terminals with office applications, it is becoming increasingly popular to maintain Internet Protocol (IP) connections over packet data channels in packet-switched mobile networks. Maintaining an IP connection to/from a mobile terminal is desirable in order to keep data banks synchronized between the mobile terminal and an office computer, for example. 
     Maintaining an IP connection in packet-switched mobile networks involves certain problems. For example, it consumes the mobile terminal&#39;s battery. Further, many networks apply operator-defined policies to break connections after a certain period of inactivity. This period can be quite short, such as five minutes. When the IP connection to/from the mobile terminal is disconnected, database synchronization is impossible before connection reestablishment. Connection re-establishment must be initiated from the mobile terminal&#39;s side, the network cannot initiate connection re-establishment. 
     But connection re-establishment involves further expenses in tariff and/or battery consumption. Yet further, since the network cannot initiate reestablishment of the IP connection, network-initiated data synchronization must be initiated by means of an out-band trigger, ie, signalling independent from the Internet Protocol. A short message service (SMS) and its derivatives are examples of theoretically suitable out-band triggering mechanisms. But a single GSM-compliant short message can only transfer approximately 160 characters, which means that it is impracticable to transfer actual data in the trigger message. This has the consequence that the subscriber must bear the expenses and delays in re-establishing the IP connection. 
     The mobile terminal can send keep-alive messages in order to prevent the network from disconnecting a temporarily inactive IP connection. A keep-alive message is a message sent for the purpose of preventing the network from disconnecting the IP connection. 
     The mobile terminal&#39;s operating parameters in respect of the keep-alive messages could be optimized for a single network, but connection break-up habits vary between networks and in a single network they may depend on roaming arrangements between operators. 
     SUMMARY 
     An object of the present invention is to provide a method, equipment and a computer program product to so as to alleviate the above disadvantages relating to connection break-up in packet-switched mobile radio networks. The object of the invention is achieved by the methods and equipment which are characterized by what is stated in the independent claims. The dependent claims relate to specific embodiments of the invention. 
     The invention is based on the following idea. An IP connection is established between the mobile terminal and its correspondent node. During periods of inactivity in the IP connection, keep-alive messages are sent at a predetermined schedule. Keep-alive messages can be quite short, such as 10 bytes, but they prevent the network from detecting the connection as inactive, whereby it is not disconnected. The keep-alive schedule is varied. At least one of the parties monitors the lengths of several periods of inactivity at which the mobile radio network disconnects the IP connection. Based on several monitored lengths of periods of inactivity, a maximum interval between keep-alive messages is determined such that the maximum interval meets some predetermined criterion of statistical confidence. In other words, spurious connection break-ups, which are not avoidable by keep-alive messages, are ignored. The interval between keep-alive messages is set to the determined maximum interval. 
     An aspect of the invention is a method according to claim  1 . Other aspects of the invention relate to computer systems or program products for implementing the above methods. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       In the following the invention will be described in greater detail by means of specific embodiments with reference to the attached drawings, in which: 
         FIG. 1  shows an exemplary network arrangement in which the invention can be used; 
         FIG. 2  shows a flowchart illustrating an embodiment of the invention; and 
         FIGS. 3A and 3B  illustrate a technique for determining a maximum interval between keep-alive messages by means of a cumulative probability function. 
     
    
    
     DETAILED DESCRIPTION 
     The invention is applicable to virtually any mobile network architecture. The mobile network may be based on GPRS, 1×RTT or EVDO technologies, for example. The invention can also be implemented as part of a push-type mobile e-mail system, particularly in a consumer e-mail system, in which optimization of network resources is important because of the large number of users. 
       FIG. 1  shows an exemplary system architecture which is supported by the owner of the present application. This system supports synchronization of e-mail messages and/or calendar items and/or other information between a host system and a mobile terminal. 
     Reference numeral  100  denotes a host system that is able to send an receive e-mail messages. Reference numeral  102  denotes a mobile terminal, also able to send an receive e-mail messages. The e-mail messages may originate or terminate at external e-mail terminals, one of which is denoted by reference numeral  104 . The invention aims at improving cooperation between the host system  100  and mobile terminal  102  such that they can use a single e-mail account as transparently as possible. This means, for example, that the users of the external e-mail terminals  104 , when sending or receiving e-mail, do not need to know if the user of the host system  100  actually uses the host system  100  or the mobile terminal  102  to communicate via e-mail. The transparency also means that e-mail manipulation at the mobile terminal  102  has, as far as possible, the same effect as the corresponding e-mail manipulation at the host system  100 . For example, e-mail messages read at the mobile terminal  102  should preferably be marked as read at the host system. 
     Reference numeral  106  denotes a data network, such as an IP (Internet Protocol) network, which may be the common Internet or its closed subnetworks, commonly called intranets or extranets. Reference numeral  108  denotes an e-mail server and its associated database. There may be separate e-mail servers and/or server addresses for incoming and outgoing e-mail. The database stores an e-mail account, addressable by means of an e-mail address, that appears as a mailbox to the owner of the e-mail account. In order to communicate with mobile terminals  102 , the data network  106  is connected, via a gateway  112  to an access network  114 . The access network comprises a set of base stations  116  to provide wireless coverage over a wireless interface  118  to the mobile terminals  102 . 
     Reference numeral  110  denotes a messaging centre that is largely responsible for providing the above-mentioned transparency between the host system  100  and the mobile terminal  102 . The system architecture also comprises a connectivity function  120 , whose task is to push e-mail messages to the mobile terminal. In the embodiment shown in  FIG. 1 , the connectivity function  120  is considered a physically integral but logically distinct element of the messaging centre  110 . 
     The mobile terminal  102  may be a pocket or laptop computer with a radio interface, a smart cellular telephone, or the like. Depending on implementation, the host system  100 , if present, may have different roles. In some implementations the host system  100  is optional and may be a conventional office computer that merely acts as the mobile terminal user&#39;s principal computer and e-mail terminal. In other implementations the host system may act as a platform for a single user&#39;s connectivity function, in addition to being an office computer. In yet other implementations the host system  100  may comprise the connectivity function for several users. Thus it is a server instead of a normal office computer. 
     We assume here that the access network  114  is able to establish and maintain a IP connection  122  between the messaging centre  110  and the mobile terminal  102 . 
       FIG. 1  shows an embodiment in which the messaging centre  110  is largely responsible for e-mail transport to/from the mobile terminal  102  via the access network  114 , while a separate connectivity function  120  is responsible for data security issues. The connectivity function  120  may be physically attached to or co-located with the messaging centre  110 , but they are logically separate elements. Indeed, a definite advantage of the separate connectivity function  120  is that it can be detached from the messaging centre, for instance, within the company that owns the host system  100  or the e-mail server  108 . For a small number of users, the connectivity function  120  can be installed in each host system  100 , or the host system  100  can be interpreted as a separate server configured to support multiple users. It is even possible to implement some or all the above-mentioned options. This means, for example, that there is one or more messaging centres  110  that offer services to several network operators, or they may be a dedicated messaging centre for each network operator (somewhat analogous to short messaging centres). Each messaging centre  110  may have an integral connectivity function  120  to support users who don&#39;t wish to install a separate connectivity function in a host system  100 . For users who do install a separate connectivity function  120  in their host systems  100 , such connectivity functions bypass the connectivity function in the messaging centre  110  and address the messaging centre  110  directly. 
     A real e-mail system supports a large number of mobile terminals  102  and IP connections  122 . In order to keep track of which e-mail account and which IP connection belongs to which mobile terminal, the messaging centre  110  and the connectivity function collectively maintain an association  124 ,  124 ′ for each supported mobile terminal. Basically, each association  124 ,  124 ′ joins three fields, namely an e-mail address  124   a  assigned to the mobile terminal or its user, encryption information  124   c  and a temporary wireless identity  124   d  of the mobile terminal in the access network. The embodiment shown in  FIG. 1  also employs a terminal identifier  124   b  which may be the same as the e-mail address  124   a  of the mobile terminal  102 , in which case the association  124  actually associates three information items. Alternatively, the terminal identifier  124   b  may be an identifier arbitrarily assigned to the mobile terminal. In a preferred implementation the terminal identifier  124   b  is the mobile terminal&#39;s equipment identifier or its derivative. The encryption information  124   c  is preferably related to the mobile terminal&#39;s equipment identity and is preferably generated by the mobile terminal itself, so as to ensure that no other terminal besides the one used for creating the encryption information  124   c  will be able to decrypt incoming encrypted e-mail messages. The temporary wireless identity  124   d  may be the identifier of the IP connection  122  to the mobile station. 
     In the above-described system, the messaging centre  110  and connectivity function  120  were arranged to support a fairly large number of users of e-mail and/or calendar data. In order to satisfy the needs of the present invention, virtually any communication server able to maintain an IP connection to the mobile terminal can be used. 
       FIG. 2  shows a flowchart illustrating an embodiment of the invention. In an optional step  200  the network identifier is registered, which means that the method steps should be performed and the resulting parameters maintained separately for each network. In step  202  an IP connection is established between the mobile terminal and its correspondent node. The connection establishment can be entirely conventional. Initially, in step  204 , the mobile terminal and/or its correspondent node sends keep-alive messages when the IP connection is otherwise idle, ie, when there is no net user data to send. The keep-alive messages are sent according to a predetermined schedule. The schedule may be empty, which means that the mobile terminal may initially send no keep-alive messages at all. In step  206  the mobile terminal and/or its correspondent node keeps track of the periods of time after which the network disconnects the IP connection. The period of inactivity after which the network disconnects the IP connection will be called maximum inactivity period. A problem is that the mobile terminal does not know the true value of the maximum inactivity period; the network operator does not publish it. In an embodiment of the invention, the true value of the maximum inactivity period is approached from either direction (upwards and downwards) by altering the schedule for transmitting the keep-alive messages. On the other hand, it is not economically feasible to simply accept the shorted inactivity period before connection break-up as the value of the maximum inactivity period, because connection break-ups may occur for reasons which are not repeatable. In other words, many of the early connection break-ups occur regardless of the keep-alive messages, and attempting to eliminate such spurious break-ups by more frequent keep-alive messages will only result in increased battery drain and/or telecommunication tariffs. 
     Accordingly, step  208  comprises achieving a desired degree of statistical confidence in respect of the detected maximum inactivity period. In order to achieve statistical significance, the mobile terminal applies a confidence measure, such as variance. In a typical but non-restricting implementation, the mobile terminal may regard the connection break-up as regular if it happens after a certain inactivity period with a variance lower than some predetermined value. For example, the connection break-up may be considered regular if the network has discontinued the IP connection a predetermined minimum number x of times after an inactivity period of t, wherein the distribution of t has a variance var(t) which is smaller than some predetermined value y. 
     The act of achieving a desired degree of statistical confidence preferably comprises subtracting a safety margin At from the detected maximum inactivity period. For example, the safety margin may be expressed in minutes, such as 1-2 minutes, or as a percentage, such as 101-20%. If the detected maximum inactivity period is, say, 15 minutes, the mobile terminal may store a value of 13-14 minutes as a maximum safe interval between keep-alive messages. Let us denote this interval value by TINT. 
     In step  210  the mobile terminal and/or its correspondent node set up a schedule for sending keep-alive messages at intervals no higher than TINT in absence of net user traffic. By sending keep-alive messages via an otherwise idle IP connection at intervals no higher than TINT, the network regards the IP connection as active and, under normal operating conditions, does not disconnect it. 
     The keep-alive messages can be sent by either end of the connection, ie, by the mobile terminal and/or its correspondent node, such as a server, in the fixed part of the mobile radio network. 
     Sending the keep-alive messages at intervals no higher than TINT can be accomplished by means of a timer, which may be a physical timer or a logical one, such as a program thread or process. Each time any message is sent (either a real message or a keep-alive message), a timer with a value TINT is triggered. When the timer expires, a keep-alive message is sent, and the timer is re-triggered. 
     The optimum value for the safety margin safety margin At depends on the costs (battery-wise and tariff-wise) of sending keep-alive messages and reestablishing disconnected IP connections. It may also depend on the behaviour of the network, i.e., the regularity by which it breaks up temporarily inactive connections. If the network&#39;s behaviour is poorly predictable, and break-ups occurs with a certain safety margin, the safety margin should be increased. 
     In a further optional step  212 , the maximum safe interval between keep-alive messages, TINT, is stored together with an identifier of the network in which the TINT was determined, whereby it can be quickly taken into use on re-entry to the same network. This value can be stored in the mobile terminal. Instead of storing the value in the mobile terminal, or in addition to it, the mobile terminal may send the value to its home network to be stored in a data base which can be inquired by mobile terminals which are about to begin roaming in a foreign network. The value stored by other mobile terminals in the data base in the home network may override any default value otherwise used by the roaming mobile terminal. 
     Instead of sending the keep-alive messages from the mobile terminal, or in addition to it, the keep-alive messages may be sent from a stationary server connected to the mobile radio network. 
       FIGS. 3A and 3B  illustrate a technique for determining a maximum interval between keep-alive messages by means of a cumulative probability function. The vertical bars in  FIG. 3A , collectively denoted by reference numeral  32 , show counts of connection break-up versus interval between keep-alive messages. In this example, one break-up was detected at intervals of 5, 7, 8 and 9 minutes. Two break-ups were detected at an interval of 10 minutes, five at 11 minutes, seven at 12 minutes and, finally, three break-ups at an interval of 13 minutes. No idle connection survived for longer than 13 minutes. 
     Reference numeral  34  in  FIG. 3B  shows a cumulative probability function which illustrates a cumulative probability for the network breaking up an idle connection versus interval between keep-alive messages, given the monitoring data shown in  FIG. 3A . As shown by function  34 , all idle connection survived for 4 minutes and none survived for longer than 13 minutes. Reference numeral  35  denotes a line of maximum derivative in the cumulative probability function  34 . It is reasonable to assume that the line of maximum derivative coincides with the maximum period of inactivity tolerated by the network. Or, if the cumulative probability function  34  is drawn as discrete steps (jumps), the position of line  35  can be determined by the highest jump in line  34 . 
     This maximum period is denoted by reference numeral  36 , and its value is approximately 11.5 minutes in this example. A value of 10 minutes for TINT is appropriate, as indicated by dashed line  37 . Reference numeral  38  denotes a safety margin between the lines  36  and  37 . 
     Although this example shows that as much as 30% of connections were disconnected after 10 minutes of inactivity, it is reasonable to assume that these disconnections were caused by spurious effects rather than the network&#39;s policy to break up idle connections. 
     It is readily apparent to a person skilled in the art that, as the technology advances, the inventive concept can be implemented in various ways. The invention and its embodiments are not limited to the examples described above but may vary within the scope of the claims.