Abstract:
The method and apparatus adaptively adjust a timer based at least on the frequency of transmitted/received packets and the traffic arrival pattern in a data session in the communication system. The expiration of the timer indicates to suspend the data session in the communication system.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to telecommunication systems, and more particularly, to resource management in telecommunication systems. 
     2. Related Art 
     Major cellular telecommunication system types include those operating according to the Global Services for Mobile (GSM) Standard, the TLA/EIA/IS-95 Mobile Station-Base Station Compatibility Standard for Dual Mode Wideband Spread Spectrum Cellular Systems (IS-95), the TIA/EIA/IS-136 Mobile Station-Base Station Compatibility Standard (IS-136), the TIA/EIA/IS-707 Spread Spectrum cdma2000 Standard (IS-2000), and the TIA/EIA 553 Analog Standard (AMPS/TACS). Other major cellular systems include, but are not limited to, those operating in the personal communications system (PCS) band according to the IS-95 based ANSI-J-STD-008 1.8-2.0 GHz standard, or those operating according to the GSM based PCS 1900 (1900 MHz frequency range) standard. 
     Currently, each of the major cellular system standards is implementing data services into its digital cellular specification. For most of the standards, the data service specifications have been finalized, or are being finalized. 
     One data service specification includes a radio link protocol (RLP) that is utilized to provide an octet stream service over forward and reverse traffic channels. The octet stream service carries variable length data packets of the point-to-point protocol layer. The RLP divides the point-to-point protocol packets into traffic channel frames for transmission. The traffic channel frames form the physical layer transmission frames. There is no direct relationship between the point-to-point protocol packets and the traffic channel frames. A large packet may span several traffic channel frames, or a single traffic channel frame may include all or part of several point-to-point packets. The RLP does not take the higher level traffic channel framing into account but operates on a featureless octet stream, delivering the octets to the system multiplex sublayer for transmission in the order the octets are received from the point-to-point layer. The data may be transmitted on the traffic channel as primary traffic or, for example, along with speech, as secondary traffic. The RLP generates and supplies one frame to the multiple sublayer every 20 milliseconds (ms). The size of the RLP frame depends on the type and size of the transmission frame available for transmitting the RLP frame. 
     The foregoing is but one example of the data transmission protocol layer in a major cellular system standard, for use in transmission of data and data packets. Other standards also have similar data transmission protocols used for transmission of data packets. 
     The majority of the data transmission protocols include a finite timer for insuring data transmission sessions do not dominate system resources. For example, once a data transmission session is established, the timer is activated to measure an amount of time elapsed between consecutively received/transmitted data packets. That is, after a first packet is received/transmitted, the finite timer is started. If a subsequent packet is not received/transmitted before the timer expires, the telecommunication system will terminate the data session in favor of freeing up resources for use by other data or speech sessions. 
     Although the use of a timer in telecommunications systems insures system resources are not unnecessarily dominated by one or more data sessions, the use of a uniform timer does not take in consideration data sessions that may have packets that are generated in a substantially periodic nature. Such data sessions may include but are not limited to heart beat retrieval systems that access weather, traffic, stock, etc., information. Typically, these types of data sessions require a very small amount of time for packet transmission, which leads to a data session being unnecessarily maintained until a finite timer value expires. 
     SUMMARY OF THE INVENTION 
     An embodiment of the present invention is a process for improving resource usage in a communication system. The process evaluates the measured time between receipt of packets in a data session to adjust a timer value in accordance therewith. The timer value is determinative of when the communication system initiates suspension of the data session in order to release communication system recourses for use by other users of the communication system. 
     Yet another embodiment of the present invention is an apparatus for improving resource use in a communication system. The apparatus includes hardware elements to adjust a timer value to ensure efficient use of the communication system resources. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention will become more fully understood from the detailed description given hereinbelow and the accompanying drawings which are given by way of illustration only, and thus are not limitative of the present invention, and wherein: 
         FIG. 1  is a block diagram of a cellular terminal that is suitable for practicing an embodiment of the present invention; 
         FIG. 2  depicts the terminal illustrated in  FIG. 1  in communication with a wireless network; 
         FIG. 3  is a flowchart illustrating process steps according to an embodiment of the present invention; and 
         FIG. 4  is a block diagram of elements suitable for practicing an embodiment of the present invention in any communication system. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       FIGS. 1 and 2 , illustrate a wireless user terminal or mobile station (MS)  10  and a wireless network  32  that are suitable for practicing an embodiment of the present invention. The MS  10  includes an antenna  12  for transmitting signals to and receiving signals from a base site or a base station (BS)  30 . The BS  30  is a part of the wireless network  32  that includes a mobile switching center (MSC)  34 . The MSC  34  provides a connection to, for example, landline trunks when the MS  10  is involved in a communications session. 
     The MS  10  includes a modulator (MOD)  14   a , a transmitter  14 , a receiver  16 , demodulator (DEMOD)  16   a , and a controller  18  that provides signals to and receives signals from the modulator  14   a  and the demodulator  16   a , respectively. These signals may include signaling information and also speech, data and/or packet data transmitted between the MS  10  and the BS  30  in accordance with the air interface standard of the applicable wireless system. 
     The controller  18  may include a digital signal processor device, a microprocessor device and various analog-to-digital converters, digital-to-analog converters, and other support circuitry. The control and signal processing functions of the MS  10  are allocated between these devices according to their respective capabilities. The MS  10  also includes a user interface having a conventional earphone or speaker  17 , a conventional microphone  19 , a display  20 , a user input device, typically a keypad  22 , all of which are coupled to the controller  18 . The keypad  22  includes conventional numeric (0-9) keys and related keys (#, *)  22   a , and other keys  22   b  used for operating the MS  10 . These other keys  22   b  may include, for example, a send key, various menus scrolling soft keys, and a power key. The MS  10  may also include a battery  26  for powering the various circuits that are required to operate the MS  10 . 
     The MS  10  also includes various memories shown collectively as memory  24 . The memory  24  includes stored therein a plurality of constants and variables that are used by the controller  18  during an operation of the MS  10 . For example, the memory  24  may store the values of various wireless system parameters. An operating program for controlling the operation of the controller  18  is also stored in the memory  24 . Furthermore, the memory  24  may also store or buffer data prior to transmission or after reception. 
     The MS  10  may also function as a data terminal for transmitting or receiving packet data. As such, in this case, the MS  10  may be connected to a portable computer or a fax machine through a suitable data port (DP)  28 . Alternatively, the MS  10  may include relevant operating keys and/or software for access to a data network such as the Internet and and/or and an email server. 
     The BS  30  also includes the necessary transmitters and receivers to allow signal exchange with the MS  10 . Controllers, processors and associated memories that may be located in the BS  30  or the MSC  34  provide control of the BS  30  and the MSC  34  and implement the method and apparatus in accordance with the embodiments of the present invention. 
       FIG. 3  illustrates a flowchart of process steps in accordance with an embodiment of the present invention. The software and/or hardware for implementing the process steps illustrated in  FIG. 3  are collectively located in the controllers, processors and/or associated memories of the BS  30  and/or MSC  34 . However, it is also possible that the MS  10  includes the software and/or hardware capable of implementing the process steps illustrated in  FIG. 3 . Moreover, it is advantageous for the MS  10  to include the software and/or hardware for implementing the process steps. This would reduce radio link time; thereby avoiding having to charge the user of the MS  10  while the MS  10  is not transmitting data. Advantageously, the process may be integrated with the data transmission protocol of the communications system the embodiment is employed in. 
     Provided hereinbelow is a table (TABLE 1) that provides examples of certain variables discussed. It should be understood that the values listed in TABLE 1 are only examples of values that may be used with the present invention. 
     A terminator indicates the beginning of the process according to one embodiment of the present invention (S 100 ). The next step is the initiation of a packet call (S 110 ). The packet call step S 110  represents an establishment of a packet data session by the MS  10  with the wireless network  32 . Once the packet data session is established, a timer, or a dormancy timer, is initialized after a first data packet is sent/received in the data session (S 120 ). The timer is initialized by choosing a minimum of a through-put timer value (P) set from an initial through-put timer value (r) and a packet-driven timer value (T) set from a maximum timer value (Tmax)
 
Timer=min (P, T)
 
     This initialization of the timer takes place in one of the MS  10  and the network  32 . In particular, it may be advantageous for the MSC  34  to process the initialization of the timer in step S 120 . Next, it is determined whether the timer has expired since the data packet was sent in the data session (S 130 ). If the timer has expired, since the transmission of the data packet, the data session is rendered dormant (S 140 ). A data session (e.g. a point-to-point protocol (PPP) session) is rendered dormant or suspended if the radio link is taken down temporarily. The data session will remain dormant until an additional packet is sent by the MS  10  (S 150 ). Once the additional packet is sent, the timer is reinitialized (S 120 ). 
     However, in step S 130 , if it is determined that the timer has not expired, the process according to an embodiment of the present invention progresses to step S 160 . In step S 160 , a value that is derived from the current value of the unexpired timer, also called a current packet inter-arrival time, is saved as a value (t). For example, if the timer value is set to 15 seconds, and the timer counts down from 15 to 0 seconds, if the timer value is currently at 12 seconds then the value t would be 3 seconds. Alternatively, if the timer counts up from 0 to 15 seconds, and the timer value is currently at 12 seconds, then the value t would be 3 seconds also. 
     Next, a through-put driven adaptation is used to choose a new value for the through-put timer value (P) (S 170 ). The value P is determined based on a minimum of the initial value for a through-put timer value P summed with a target average packet inter-arrival time value (N) less the value t, and the upper bound of P: P max  
 
Through-put driven adaptation= P= min( P+N−t, P   max )
 
Next, a decision value (D), which is equal to the timer less the value t and further less a locality margin of the timer value (M) is determined (S 180 )
 
 D= (Timer− t−M )
 
     If the value D is greater than zero (S 190 ) the packet-driven timer value T is revised in accordance with a first packet-driven adaptation (S 200 ). On the other hand, if D is less than zero (S 190 ), then the packet-driven timer value T is revised in accordance with a second packet-driven adaptation (S 210 )
 
First packet-driven adaptation= T= ( T−d 1 *D ), and
 
Second packet-driven adaptation= T= min( T+d 2*(2 C−T )*(− D ),  T   max ),
 
where d1 is an incremental decrease timer value, d2 is an incremental increase timer value, T max  is the maximum timer value, and C is a normalized data session suspension/reactivation cost factor value. Finally, the timer is reset to equal a minimum of the determined value P and the determined T (S 220 ).
 
     TABLE 1 hereinbelow lists proposed values for the variables discussed in connections with the process of  FIG. 3 . These values may be modified in accordance with the specific communications system employing the present invention. 
     
       
         
               
               
               
               
             
           
               
                 TABLE 1 
               
               
                   
               
               
                   
                   
                   
                 Impact of 
               
               
                 Parameter 
                 Explanation 
                 Default Value 
                 change 
               
               
                   
               
             
             
               
                 C 
                 Normalized data 
                 7.5 seconds 
                 Bigger C =&gt; 
               
               
                   
                 session suspension/ 
                   
                 more con- 
               
               
                   
                 reactivation cost 
                   
                 servative 
               
               
                   
                 for call release 
               
               
                   
                 and reactivation 
               
               
                   
                 process 
               
               
                 M 
                 Locality margin 
                   3 seconds 
                 Bigger M =&gt; 
               
               
                   
                 of timer 
                   
                 more 
               
               
                   
                   
                   
                 conservative 
               
               
                 N 
                 Target average packet 
                   5 seconds 
                 Bigger N =&gt; 
               
               
                   
                 interarrival time for 
                   
                 fewer chatty 
               
               
                   
                 chatty applications 
                   
                 caught 
               
               
                 d1 
                 Step size for timer 
                 0.1 
                 Bigger d1 =&gt; 
               
               
                   
                 reduction 
                   
                 more aggres- 
               
               
                   
                   
                   
                 sive 
               
               
                 d2 
                 Step size of timer 
                 = d1/C = 0.013 
                 Bigger d2 =&gt; 
               
               
                   
                 increase 
                   
                 more 
               
               
                   
                   
                   
                 conservative 
               
               
                 T max   
                 Maximum timer value 
                 = 2*C = 15 seconds 
                 Bigger T max  =&gt; 
               
               
                   
                   
                   
                 more 
               
               
                   
                   
                   
                 conservative 
               
               
                 r 
                 Initial value for 
                 = N + 1 = 6 seconds 
                 Bigger r =&gt; 
               
               
                   
                 through-put timer 
                   
                 fewer 
               
               
                   
                   
                   
                 chatty caught 
               
               
                 P max   
                 The upper bound of 
                 = 1000 
                 P max  is used to 
               
               
                   
                 through-put 
                   
                 prevent the 
               
               
                   
                 driven timer 
                   
                 integer from 
               
               
                   
                   
                   
                 overflowing for 
               
               
                   
                   
                   
                 non-chatty 
               
               
                   
                   
                   
                 users 
               
               
                   
               
             
          
         
       
     
       FIG. 4  illustrates a block diagram of elements for implementing a process according to the present invention. The block diagram illustrated in  FIG. 4  shows hardware and/or software elements for implementing an embodiment of the present invention. These software/hardware elements may be located in the MS  10 , BS  30  and/or MSC  34 . Advantageously, the software/hardware elements may operate intimately or be integrated with the data transmission protocol of the communications system the elements are employed in. 
     As is illustrated in  FIG. 4 , a call state detector  36  is included for determining an arrival of a packet in an established data session. The call state detector  36  sends a signal to a trigger  38  indicating whether the data session is in dormant state or active state when a packet is received/transmitted. For the data session that is in dormant state, a packet arrival will result in the start of an inactivity timer  40 . The inactivity timer  40  is connected to a clocking mechanism  42 . The trigger  38  continues to receive signals from the call state detector  36  as an indication as to whether an additional packet has arrived in the data session. Moreover, the trigger  38  also receives signals from the inactivity timer  40  as to the current state or position of the timer  40 . If the inactivity timer  40  expires before the receipt of an additional packet at the call state detector  36 , a call resource management element  44  initiates a signal to the call state detector  36  to terminate or cause the current data session to go dormant. 
     On the other hand, if the trigger  38  detects a signal from the call state detector  36  that a packet has arrived before the inactivity timer  40  expires, both a traffic intensity estimator  46  and a through-put estimator  48  are referenced in order to cause a timer adjustment element  50  to send a timer update value signal to the inactivity timer  40 . Calculations in the traffic intensity estimator  46  and the through-put estimator  48  are based on variables that are stored in a memory  52 , along with other variables used in the system. These variables are discussed in detail with reference to the flow chart illustrated in  FIG. 3 . The relevant variables used by the through-put adaptation and the packet-driven adaptations, discussed in relation to  FIG. 3 , are those also used by the estimators  46  and  48 . 
     The invention being thus described, it will be obvious that the same may be varied in many ways. Such variations are not to be regarded as a departure from the spirit and scope of the invention, and all such modifications as would be obvious to one skilled in the art.