ADAPTIVE FAST DORMANCY CONTROLLER
First Claim
1. A method for changing a communication state of a mobile device in a wireless telecommunication network, comprising:
- monitoring network traffic activity by applications executing on the mobile device;
determining when use of a network connection has ended based on expiration of a device traffic inactivity timer;
sending a connection release message to the wireless telecommunications network to request release the of network connection on behalf of the applications in response to determining that use of the network connection has ended; and
updating the device traffic inactivity timer.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, devices, and instructions stored in non-transitory computer-readable medium are provided for adaptively adjusting when a mobile device requests fast dormancy (FD) by determining when applications executing on the mobile device stop using a connection to a cellular telecommunications network. An adaptive fast dormancy controller function executing on a processor of the mobile device monitors network traffic activity by the applications. The adaptive fast dormancy controller function may determine that an open network connection should be released using a device traffic inactivity timer that times durations of network inactivity by applications. The duration of the device traffic inactivity timer may be adjusted based upon observed application and/or network conditions. Multiple device traffic inactivity timers may be used to enable timing traffic inactivity of each application or groups of applications executing on the mobile device.
-
Citations
100 Claims
-
1. A method for changing a communication state of a mobile device in a wireless telecommunication network, comprising:
-
monitoring network traffic activity by applications executing on the mobile device; determining when use of a network connection has ended based on expiration of a device traffic inactivity timer; sending a connection release message to the wireless telecommunications network to request release the of network connection on behalf of the applications in response to determining that use of the network connection has ended; and updating the device traffic inactivity timer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
2. The method of claim 1, wherein determining when use of the network connection has ended based on expiration of a device traffic inactivity timer comprises determining when use of the network connection has ended based on expiration of a single device traffic inactivity timer used for all applications on the mobile device.
-
3. The method of claim 1, wherein determining when use of the network connection has ended based on expiration of a device traffic inactivity timer comprises determining when use of the network connection has ended based on expiration of a plurality of device traffic inactivity timers, wherein respective ones of the plurality of device traffic inactivity timers time inactivity of different applications executing on the mobile device.
-
4. The method of claim 3, wherein at least one of the plurality of device traffic inactivity timers times inactivity of a particular application executing on the mobile device selected based on a frequency of network activity events by the particular application.
-
5. The method of claim 3, further comprising determining whether more than one application is running simultaneously, wherein determining when use of the network connection has ended based on a device traffic inactivity timer comprises determining when all of the plurality of device traffic inactivity timers have expired when more than one application is running simultaneously.
-
6. The method of claim 3, wherein the at least two of the plurality of device traffic inactivity timers expire after different time durations, the method further comprising:
-
determining whether a user is interacting with the mobile device; and selecting one of the plurality of device traffic inactivity timers based upon whether the user is interacting with the mobile device.
-
-
7. The method of claim 6, wherein selecting one of the plurality of device traffic inactivity timers based upon whether the user is interacting with the mobile device comprises selecting one of the plurality of device traffic inactivity timers with a shorter time duration in response to determining that the user is not interacting with the mobile device and selecting one of the plurality of device traffic inactivity timers with a longer time duration in response to determining that the user is interacting with the mobile device.
-
8. The method of claim 1, further comprising:
-
determining whether a user is interacting with the mobile device; and setting a time duration of the device traffic inactivity timer based upon whether the user is interacting with the mobile device.
-
-
9. The method of claim 8, wherein setting a time duration of the device traffic inactivity timer based upon whether the user is interacting with the mobile device comprises setting a shorter time duration of the device traffic inactivity timer when the user is not interacting with the mobile device than when the user is interacting with the mobile device.
-
10. The method of claim 1, further comprising:
-
determining whether the application has a persistent end-to-end connection via the wireless telecommunication network; and delaying transmission of the connection release message to the wireless telecommunication network by a short delay in response to i) determining that the application does not have a persistent connection and ii) receiving a signal from the application indicating that the connection is to be released.
-
-
11. The method of claim 10, further comprising:
-
receiving a signal from the application indicating that the connection is to be released; determining whether the connection is being used for an on-going service; determining whether an upcoming periodic event for the on-going service is scheduled to occur after a network timeout time of a network inactivity timer in response to determining that the connection is being used for an on-going service; and sending the connection release message in response to determining that the upcoming periodic event occurs after the network timeout time.
-
-
12. The method of claim 1, wherein updating the device traffic inactivity timer comprises:
-
monitoring application traffic by the application during a sliding time window; calculating an inter-traffic interval statistic value based on the application traffic within the sliding time window; and updating a value of the device traffic inactivity timer according to the calculated inter-traffic interval statistic value.
-
-
13. The method of claim 12, further comprising adjusting the inter-traffic interval statistic value based on a round trip time to the wireless telecommunication network.
-
14. The method of claim 1, wherein updating the device traffic inactivity timer comprises;
-
monitoring application traffic by a group of applications during a sliding time window; calculating an inter-traffic interval statistic value based on the application traffic within the sliding time window; and updating a value of the device traffic inactivity timer associated with the group of applications according to the calculated inter-traffic interval statistic value.
-
-
15. The method of claim 1, wherein updating the device traffic inactivity timer comprises:
-
determining whether a previous request of network connection release correctly determined that a network connection should be released; increasing the device traffic inactivity timer value in response to determining that the previous request of network connection release prematurely released the network connection; and decreasing the device traffic inactivity timer value in response to determining that the mobile device previously missed an opportunity to release the network connection.
-
-
16. The method of claim 15, wherein updating the device traffic inactivity timer further comprises decreasing the device traffic inactivity timer value in response to determining that previous request of network connection release correctly determined that the network connection should be released.
-
17. The method of claim 15, wherein:
-
increasing the device traffic inactivity timer value in response to determining that the previous request of network connection release prematurely released the network connection comprises increasing the device traffic inactivity timer value by a first amount; decreasing the device traffic inactivity timer value in response to determining that the mobile device previously missed an opportunity to release the network connection comprises decreasing the device traffic inactivity timer value by a second amount; and the second amount is less than the first amount.
-
-
18. The method of claim 1, further comprising:
-
determining an objective rate of premature release decisions; calculating an observed rate of premature release decisions from one or more requests of network connection release outcomes; calculating a difference between the observed rate of premature release decisions and the objective rate of premature release decisions; and updating the device traffic inactivity timer based on the calculated difference between the observed rate of premature release decisions and the objective rate of premature release decisions.
-
-
19. The method of claim 18, wherein calculating the observed rate of premature release decisions from one or more requests of network connection release outcomes comprises calculating the observed rate of premature release decisions from outcomes of a fixed number of requests of network connection release.
-
20. The method of claim 18, wherein calculating the observed rate of premature release decisions from one or more requests of network connection release outcomes comprises calculating the observed rate of premature release decisions from all outcomes of past requests of network connection release.
-
21. The method of claim 18, wherein calculating the observed rate of premature release decisions from one or more requests of network connection release outcomes comprises calculating the observed rate of premature release decisions from outcomes of requests of network connection release within the observation time window.
-
22. The method of claim 18, wherein updating the device traffic inactivity timer based on the calculated difference between the observed rate of premature release decisions and the objective rate of premature release decisions comprises updating the device inactivity timer in proportion to the calculated the difference between the observed rate of premature release decisions and the objective rate of premature release decisions.
-
23. The method of claim 22, wherein updating the device traffic inactivity timer based on the calculated difference between the observed rate of premature release decisions and the objective rate of premature release decisions comprises updating the device inactivity timer by a fixed factor based on the calculated the difference between the observed rate of premature release decisions and the objective rate of premature release decisions.
-
24. The method of claim 22, wherein updating the device traffic inactivity timer based on the calculated difference between the observed rate of premature release decisions and the objective rate of premature release decisions comprises updating the device inactivity timer by a time-varying factor based on the calculated the difference between the observed rate of premature release decisions and the objective rate of premature release decisions.
-
25. The method of claim 24, wherein the time-varying factor is determined according to the difference between the observed rate of premature release decisions and the objective rate of premature release decisions.
-
2. The method of claim 1, wherein determining when use of the network connection has ended based on expiration of a device traffic inactivity timer comprises determining when use of the network connection has ended based on expiration of a single device traffic inactivity timer used for all applications on the mobile device.
-
-
26. A mobile device, comprising:
-
a wireless transceiver configured to establish a communication connection with a wireless telecommunications network; and a processor coupled to the wireless transceiver and configured with processor-executable instructions to perform operations comprising; monitoring network traffic activity by applications executing on the mobile device; determining when use of a network connection has ended based on expiration of a device traffic inactivity timer; sending a connection release message to the wireless telecommunications network to request release the of network connection on behalf of the applications in response to determining that use of the network connection has ended; and updating the device traffic inactivity timer. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)
-
27. The mobile device of claim 26, wherein the processor is configured with processor-executable instructions to perform operations such that determining when use of the network connection has ended based on expiration of a device traffic inactivity timer comprises determining when use of the network connection has ended based on expiration of a single device traffic inactivity timer used for all applications on the mobile device.
-
28. The mobile device of claim 26, wherein the processor is configured with processor-executable instructions to perform operations such that determining when use of the network connection has ended based on expiration of a device traffic inactivity timer comprises determining when use of the network connection has ended based on expiration of a plurality of device traffic inactivity timers, wherein respective ones of the plurality of device traffic inactivity timers time inactivity of different applications executing on the mobile device.
-
29. The mobile device of claim 28, wherein the processor is configured with processor-executable instructions to perform operations such that at least one of the plurality of device traffic inactivity timers times inactivity of a particular application executing on the mobile device selected based on a frequency of network activity events by the particular application.
-
30. The mobile device of claim 28, wherein the processor is configured with processor-executable instructions to perform operations further comprising determining whether more than one application is running simultaneously, and
wherein the processor is configured with processor-executable instructions to perform operations such that determining when use of the network connection has ended based on a device traffic inactivity timer comprises determining when all of the plurality of device traffic inactivity timers have expired when more than one application is running simultaneously. -
31. The mobile device of claim 28, wherein the processor is configured with processor-executable instructions to perform operations such that the at least two of the plurality of device traffic inactivity timers expire after different time durations, and
wherein the processor is configured with processor-executable instructions to perform operations further comprising: -
determining whether a user is interacting with the mobile device; and selecting one of the plurality of device traffic inactivity timers based upon whether the user is interacting with the mobile device.
-
-
32. The mobile device of claim 26, wherein the processor is configured with processor-executable instructions to perform operations such that selecting one of the plurality of device traffic inactivity timers based upon whether the user is interacting with the mobile device comprises selecting one of the plurality of device traffic inactivity timers with a shorter time duration in response to determining that the user is not interacting with the mobile device and selecting one of the plurality of device traffic inactivity timers with a longer time duration in response to determining that the user is interacting with the mobile device.
-
33. The mobile device of claim 26, wherein the processor is configured with processor-executable instructions to perform operations further comprising:
-
determining whether a user is interacting with the mobile device; and setting a time duration of the device traffic inactivity timer based upon whether the user is interacting with the mobile device.
-
-
34. The mobile device of claim 33, wherein the processor is configured with processor-executable instructions to perform operations such that setting a time duration of the device traffic inactivity timer based upon whether the user is interacting with the mobile device comprises setting a shorter time duration of the device traffic inactivity timer when the user is not interacting with the mobile device than when the user is interacting with the mobile device.
-
35. The mobile device of claim 26, wherein the processor is configured with processor-executable instructions to perform operations further comprising:
-
determining whether the application has a persistent end-to-end connection via the wireless telecommunication network; and delaying transmission of the connection release message to the wireless telecommunication network by a short delay in response to i) determining that the application does not have a persistent connection and ii) receiving a signal from the application indicating that the connection is to be released.
-
-
36. The mobile device of claim 35, wherein the processor is configured with processor-executable instructions to perform operations further comprising:
-
receiving a signal from the application indicating that the connection is to be released; determining whether the connection is being used for an on-going service; determining whether an upcoming periodic event for the on-going service is scheduled to occur after a network timeout time of a network inactivity timer in response to determining that the connection is being used for an on-going service; and sending the connection release message in response to determining that the upcoming periodic event occurs after the network timeout time.
-
-
37. The mobile device of claim 26, wherein the processor is configured with processor-executable instructions to perform operations such that updating the device traffic inactivity timer comprises:
-
monitoring application traffic by the application during a sliding time window; calculating an inter-traffic interval statistic value based on the application traffic within the sliding time window; and updating a value of the device traffic inactivity timer according to the calculated inter-traffic interval statistic value.
-
-
38. The mobile device of claim 37, wherein the processor is configured with processor-executable instructions to perform operations further comprising adjusting the inter-traffic interval statistic value based on a round trip time to the wireless telecommunication network.
-
39. The mobile device of claim 26, wherein the processor is configured with processor-executable instructions to perform operations such that updating the device traffic inactivity timer comprises;
-
monitoring application traffic by a group of applications during a sliding time window; calculating an inter-traffic interval statistic value based on the application traffic within the sliding time window; and updating a value of the device traffic inactivity timer associated with the group of applications according to the calculated inter-traffic interval statistic value.
-
-
40. The mobile device of claim 26, wherein the processor is configured with processor-executable instructions to perform operations such that updating the device traffic inactivity timer comprises:
-
determining whether a previous request of network connection release correctly determined that a network connection should be released; increasing the device traffic inactivity timer value in response to determining that the previous request of network connection release prematurely released the network connection; and decreasing the device traffic inactivity timer value in response to determining that the mobile device previously missed an opportunity to release the network connection.
-
-
41. The mobile device of claim 40, wherein the processor is configured with processor-executable instructions to perform operations such that updating the device traffic inactivity timer further comprises decreasing the device traffic inactivity timer value in response to determining that previous request of network connection release correctly determined that the network connection should be released.
-
42. The mobile device of claim 40, wherein the processor is configured with processor-executable instructions to perform operations such that:
-
increasing the device traffic inactivity timer value in response to determining that the previous request of network connection release prematurely released the network connection comprises increasing the device traffic inactivity timer value by a first amount; decreasing the device traffic inactivity timer value in response to determining that the mobile device previously missed an opportunity to release the network connection comprises decreasing the device traffic inactivity timer value by a second amount; and the second amount is less than the first amount.
-
-
43. The mobile device of claim 26, wherein the processor is configured with processor-executable instructions to perform operations further comprising:
-
determining an objective rate of premature release decisions; calculating an observed rate of premature release decisions from one or more requests of network connection release outcomes; calculating a difference between the observed rate of premature release decisions and the objective rate of premature release decisions; and updating the device traffic inactivity timer based on the calculated difference between the observed rate of premature release decisions and the objective rate of premature release decisions.
-
-
44. The mobile device of claim 43, wherein the processor is configured with processor-executable instructions to perform operations such that calculating the observed rate of premature release decisions from one or more requests of network connection release outcomes comprises calculating the observed rate of premature release decisions from outcomes of a fixed number of requests of network connection release.
-
45. The mobile device of claim 43, wherein the processor is configured with processor-executable instructions to perform operations such that calculating the observed rate of premature release decisions from one or more requests of network connection release outcomes comprises calculating the observed rate of premature release decisions from all outcomes of past requests of network connection release.
-
46. The mobile device of claim 43, wherein the processor is configured with processor-executable instructions to perform operations such that calculating the observed rate of premature release decisions from one or more requests of network connection release outcomes comprises calculating the observed rate of premature release decisions from outcomes of requests of network connection release within the observation time window.
-
47. The mobile device of claim 43, wherein the processor is configured with processor-executable instructions to perform operations such that updating the device traffic inactivity timer based on the calculated difference between the observed rate of premature release decisions and the objective rate of premature release decisions comprises updating the device inactivity timer in proportion to the calculated the difference between the observed rate of premature release decisions and the objective rate of premature release decisions.
-
48. The mobile device of claim 47, wherein the processor is configured with processor-executable instructions to perform operations such that updating the device traffic inactivity timer based on the calculated difference between the observed rate of premature release decisions and the objective rate of premature release decisions comprises updating the device inactivity timer by a fixed factor based on the calculated the difference between the observed rate of premature release decisions and the objective rate of premature release decisions.
-
49. The mobile device of claim 47, wherein the processor is configured with processor-executable instructions to perform operations such that updating the device traffic inactivity timer based on the calculated difference between the observed rate of premature release decisions and the objective rate of premature release decisions comprises updating the device inactivity timer by a time-varying factor based on the calculated the difference between the observed rate of premature release decisions and the objective rate of premature release decisions.
-
50. The mobile device of claim 49, wherein the processor is configured with processor-executable instructions to perform operations such that the time-varying factor is determined according to the difference between the observed rate of premature release decisions and the objective rate of premature release decisions.
-
27. The mobile device of claim 26, wherein the processor is configured with processor-executable instructions to perform operations such that determining when use of the network connection has ended based on expiration of a device traffic inactivity timer comprises determining when use of the network connection has ended based on expiration of a single device traffic inactivity timer used for all applications on the mobile device.
-
-
51. A mobile device, comprising:
-
means for monitoring network traffic activity by applications executing on the mobile device; means for determining when use of a network connection has ended based on expiration of a device traffic inactivity timer; means for sending a connection release message to a wireless telecommunications network to request release the of network connection on behalf of the applications in response to determining that use of the network connection has ended; and means for updating the device traffic inactivity timer. - View Dependent Claims (52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75)
-
52. The mobile device of claim 51, wherein means for determining when use of the network connection has ended based on expiration of a device traffic inactivity timer comprises means for determining when use of the network connection has ended based on expiration of a single device traffic inactivity timer used for all applications on the mobile device.
-
53. The mobile device of claim 51, wherein means for determining when use of the network connection has ended based on expiration of a device traffic inactivity timer comprises means for determining when use of the network connection has ended based on expiration of a plurality of device traffic inactivity timers, wherein respective ones of the plurality of device traffic inactivity timers time inactivity of different applications executing on the mobile device.
-
54. The mobile device of claim 53, wherein at least one of the plurality of device traffic inactivity timers times inactivity of a particular application executing on the mobile device selected based on a frequency of network activity events by the particular application.
-
55. The mobile device of claim 53, further comprising means for determining whether more than one application is running simultaneously,
wherein means for determining when use of the network connection has ended based on a device traffic inactivity timer comprises means for determining when all of the plurality of device traffic inactivity timers have expired when more than one application is running simultaneously. -
56. The mobile device of claim 53, wherein the at least two of the plurality of device traffic inactivity timers expire after different time durations, the mobile device further comprising:
-
means for determining whether a user is interacting with the mobile device; and means for selecting one of the plurality of device traffic inactivity timers based upon whether the user is interacting with the mobile device.
-
-
57. The mobile device of claim 51, wherein means for selecting one of the plurality of device traffic inactivity timers based upon whether a user is interacting with the mobile device comprises means for selecting one of the plurality of device traffic inactivity timers with a shorter time duration in response to determining that the user is not interacting with the mobile device and selecting one of the plurality of device traffic inactivity timers with a longer time duration in response to determining that the user is interacting with the mobile device.
-
58. The mobile device of claim 51, further comprising:
-
means for determining whether a user is interacting with the mobile device; and means for setting a time duration of the device traffic inactivity timer based upon whether the user is interacting with the mobile device.
-
-
59. The mobile device of claim 58, wherein means for setting a time duration of the device traffic inactivity timer based upon whether the user is interacting with the mobile device comprises means for setting a shorter time duration of the device traffic inactivity timer when the user is not interacting with the mobile device than when the user is interacting with the mobile device.
-
60. The mobile device of claim 51, further comprising:
-
means for determining whether the application has a persistent end-to-end connection via the wireless telecommunication network; and means for delaying transmission of the connection release message to the wireless telecommunication network by a short delay in response to i) determining that the application does not have a persistent connection and ii) receiving a signal from the application indicating that the connection is to be released.
-
-
61. The mobile device of claim 60, further comprising:
-
means for receiving a signal from the application indicating that the connection is to be released; means for determining whether the connection is being used for an on-going service; means for determining whether an upcoming periodic event for the on-going service is scheduled to occur after a network timeout time of a network inactivity timer in response to determining that the connection is being used for an on-going service; and means for sending the connection release message in response to determining that the upcoming periodic event occurs after the network timeout time.
-
-
62. The mobile device of claim 51, wherein means for updating the device traffic inactivity timer comprises:
-
means for monitoring application traffic by the application during a sliding time window; means for calculating an inter-traffic interval statistic value based on the application traffic within the sliding time window; and means for updating a value of the device traffic inactivity timer according to the calculated inter-traffic interval statistic value.
-
-
63. The mobile device of claim 62, further comprising means for adjusting the inter-traffic interval statistic value based on a round trip time to the wireless telecommunication network.
-
64. The mobile device of claim 51, wherein means for updating the device traffic inactivity timer comprises;
-
means for monitoring application traffic by a group of applications during a sliding time window; means for calculating an inter-traffic interval statistic value based on the application traffic within the sliding time window; and means for updating a value of the device traffic inactivity timer associated with the group of applications according to the calculated inter-traffic interval statistic value.
-
-
65. The mobile device of claim 51, wherein means for updating the device traffic inactivity timer comprises:
-
means for determining whether a previous request of network connection release correctly determined that a network connection should be released; means for increasing the device traffic inactivity timer value in response to determining that the previous request of network connection release prematurely released the network connection; and means for decreasing the device traffic inactivity timer value in response to determining that the mobile device previously missed an opportunity to release the network connection.
-
-
66. The mobile device of claim 65, wherein means for updating the device traffic inactivity timer further comprises means for decreasing the device traffic inactivity timer value in response to determining that previous request of network connection release correctly determined that the network connection should be released.
-
67. The mobile device of claim 65, wherein:
-
means for increasing the device traffic inactivity timer value in response to determining that the previous request of network connection release prematurely released the network connection comprises means for increasing the device traffic inactivity timer value by a first amount; means for decreasing the device traffic inactivity timer value in response to determining that the mobile device previously missed an opportunity to release the network connection comprises means for decreasing the device traffic inactivity timer value by a second amount; and the second amount is less than the first amount.
-
-
68. The mobile device of claim 51, further comprising:
-
means for determining an objective rate of premature release decisions; means for calculating an observed rate of premature release decisions from one or more requests of network connection release outcomes; means for calculating a difference between the observed rate of premature release decisions and the objective rate of premature release decisions; and means for updating the device traffic inactivity timer based on the calculated difference between the observed rate of premature release decisions and the objective rate of premature release decisions.
-
-
69. The mobile device of claim 68, wherein means for calculating the observed rate of premature release decisions from one or more requests of network connection release outcomes comprises means for calculating the observed rate of premature release decisions from the outcomes of fixed number of requests of network connection release.
-
70. The mobile device of claim 68, wherein means for calculating the observed rate of premature release decisions from one or more requests of network connection release outcomes comprises means for calculating the observed rate of premature release decisions from all outcomes of past requests of network connection release.
-
71. The mobile device of claim 68, wherein means for calculating the observed rate of premature release decisions from one or more requests of network connection release outcomes comprises means for calculating the observed rate of premature release decisions from the outcomes of requests of network connection release within the observation time window.
-
72. The mobile device of claim 68, wherein means for updating the device traffic inactivity timer based on the calculated difference between the observed rate of premature release decisions and the objective rate of premature release decisions comprises updating the device inactivity timer in proportion to the calculated the difference between the observed rate of premature release decisions and the objective rate of premature release decisions.
-
73. The mobile device of claim 72, wherein means for updating the device traffic inactivity timer based on the calculated difference between the observed rate of premature release decisions and the objective rate of premature release decisions comprises means for updating the device inactivity timer by a fixed factor based on the calculated the difference between the observed rate of premature release decisions and the objective rate of premature release decisions.
-
74. The mobile device of claim 72, wherein means for updating the device traffic inactivity timer based on the calculated difference between the observed rate of premature release decisions and the objective rate of premature release decisions comprises means for updating the device inactivity timer by a time-varying factor based on the calculated the difference between the observed rate of premature release decisions and the objective rate of premature release decisions.
-
75. The mobile device of claim 74, further comprising means for determining the time-varying factor according to the difference between the observed rate of premature release decisions and the objective rate of premature release decisions.
-
52. The mobile device of claim 51, wherein means for determining when use of the network connection has ended based on expiration of a device traffic inactivity timer comprises means for determining when use of the network connection has ended based on expiration of a single device traffic inactivity timer used for all applications on the mobile device.
-
-
76. A non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a mobile device processor to perform operations comprising:
-
monitoring network traffic activity by applications executing on the mobile device; determining when use of a network connection has ended based on expiration of a device traffic inactivity timer; sending a connection release message to a wireless telecommunications network to request release of the network connection on behalf of the applications in response to determining that use of the network connection has ended; and updating the device traffic inactivity timer. - View Dependent Claims (77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100)
-
77. The non-transitory processor-readable storage medium of claim 76, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations such that determining when use of the network connection has ended based on expiration of a device traffic inactivity timer comprises determining when use of the network connection has ended based on expiration of a single device traffic inactivity timer used for all applications on the mobile device.
-
78. The non-transitory processor-readable storage medium of claim 76, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations such that determining when use of the network connection has ended based on expiration of a device traffic inactivity timer comprises determining when use of the network connection has ended based on expiration of a plurality of device traffic inactivity timers, wherein respective ones of the plurality of device traffic inactivity timers time inactivity of different applications executing on the mobile device.
-
79. The non-transitory processor-readable storage medium of claim 78, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations such that at least one of the plurality of device traffic inactivity timers times inactivity of a particular application executing on the mobile device selected based on a frequency of network activity events by the particular application.
-
80. The non-transitory processor-readable storage medium of claim 78, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations further comprising determining whether more than one application is running simultaneously, and
wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations such that determining when use of the network connection has ended based on a device traffic inactivity timer comprises determining when all of the plurality of device traffic inactivity timers have expired when more than one application is running simultaneously. -
81. The non-transitory processor-readable storage medium of claim 78, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations such that the at least two of the plurality of device traffic inactivity timers expire after different time durations, and
wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations further comprising: determining whether a user is interacting with the mobile device; and selecting one of the plurality of device traffic inactivity timers based upon whether the user is interacting with the mobile device.
-
82. The non-transitory processor-readable storage medium of claim 76, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations such that selecting one of the plurality of device traffic inactivity timers based upon whether a user is interacting with the mobile device comprises selecting one of the plurality of device traffic inactivity timers with a shorter time duration in response to determining that the user is not interacting with the mobile device and selecting one of the plurality of device traffic inactivity timers with a longer time duration in response to determining that the user is interacting with the mobile device.
-
83. The non-transitory processor-readable storage medium of claim 76, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations further comprising:
-
determining whether a user is interacting with the mobile device; and setting a time duration of the device traffic inactivity timer based upon whether the user is interacting with the mobile device.
-
-
84. The non-transitory processor-readable storage medium of claim 83, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations such that setting a time duration of the device traffic inactivity timer based upon whether the user is interacting with the mobile device comprises setting a shorter time duration of the device traffic inactivity timer when the user is not interacting with the mobile device than when the user is interacting with the mobile device.
-
85. The non-transitory processor-readable storage medium of claim 76, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations further comprising:
-
determining whether the application has a persistent end-to-end connection via the wireless telecommunication network; and delaying transmission of the connection release message to the wireless telecommunication network by a short delay in response to i) determining that the application does not have a persistent connection and ii) receiving a signal from the application indicating that the connection is to be released.
-
-
86. The non-transitory processor-readable storage medium of claim 85, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations further comprising:
-
receiving a signal from the application indicating that the connection is to be released; determining whether the connection is being used for an on-going service; determining whether an upcoming periodic event for the on-going service is scheduled to occur after a network timeout time of a network inactivity timer in response to determining that the connection is being used for an on-going service; and sending the connection release message in response to determining that the upcoming periodic event occurs after the network timeout time.
-
-
87. The non-transitory processor-readable storage medium of claim 76, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations such that updating the device traffic inactivity timer comprises:
-
monitoring application traffic by the application during a sliding time window; calculating an inter-traffic interval statistic value based on the application traffic within the sliding time window; and updating a value of the device traffic inactivity timer according to the calculated inter-traffic interval statistic value.
-
-
88. The non-transitory processor-readable storage medium of claim 87, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations further comprising adjusting the inter-traffic interval statistic value based on a round trip time to the wireless telecommunication network.
-
89. The non-transitory processor-readable storage medium of claim 76, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations such that updating the device traffic inactivity timer comprises;
-
monitoring application traffic by a group of applications during a sliding time window; calculating an inter-traffic interval statistic value based on the application traffic within the sliding time window; and updating a value of the device traffic inactivity timer associated with the group of applications according to the calculated inter-traffic interval statistic value.
-
-
90. The non-transitory processor-readable storage medium of claim 76, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations such that updating the device traffic inactivity timer comprises:
-
determining whether a previous request of network connection release correctly determined that a network connection should be released; increasing the device traffic inactivity timer value in response to determining that the previous request of network connection release prematurely released the network connection; and decreasing the device traffic inactivity timer value in response to determining that the mobile device previously missed an opportunity to release the network connection.
-
-
91. The non-transitory processor-readable storage medium of claim 90, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations such that updating the device traffic inactivity timer further comprises decreasing the device traffic inactivity timer value in response to determining that previous request of network connection release correctly determined that the network connection should be released.
-
92. The non-transitory processor-readable storage medium of claim 91, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations such that:
-
increasing the device traffic inactivity timer value in response to determining that the previous request of network connection release prematurely released the network connection comprises increasing the device traffic inactivity timer value by a first amount; decreasing the device traffic inactivity timer value in response to determining that the mobile device previously missed an opportunity to release the network connection comprises decreasing the device traffic inactivity timer value by a second amount; and the second amount is less than the first amount.
-
-
93. The non-transitory processor-readable storage medium of claim 76, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations further comprising:
-
determining an objective rate of premature release decisions; calculating an observed rate of premature release decisions from one or more requests of network connection release outcomes; calculating a difference between the observed rate of premature release decisions and the objective rate of premature release decisions; and updating the device traffic inactivity timer based on the calculated difference between the observed rate of premature release decisions and the objective rate of premature release decisions.
-
-
94. The non-transitory processor-readable storage medium of claim 93, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations such that calculating the observed rate of premature release decisions from one or more requests of network connection release outcomes comprises calculating the observed rate of premature release decisions from outcomes of a fixed number of requests of network connection release.
-
95. The non-transitory processor-readable storage medium of claim 93, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations such that calculating the observed rate of premature release decisions from one or more requests of network connection release outcomes comprises calculating the observed rate of premature release decisions from all outcomes of past requests of network connection release.
-
96. The non-transitory processor-readable storage medium of claim 93, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations such that calculating the observed rate of premature release decisions from one or more requests of network connection release outcomes comprises calculating the observed rate of premature release decisions from outcomes of requests of network connection release within an observation time window.
-
97. The non-transitory processor-readable storage medium of claim 93, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations such that updating the device traffic inactivity timer based on the calculated difference between the observed rate of premature release decisions and the objective rate of premature release decisions comprises updating the device inactivity timer in proportion to the calculated the difference between the observed rate of premature release decisions and the objective rate of premature release decisions.
-
98. The non-transitory processor-readable storage medium of claim 97, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations such that updating the device traffic inactivity timer based on the calculated difference between the observed rate of premature release decisions and the objective rate of premature release decisions comprises updating the device inactivity timer by a fixed factor based on the calculated the difference between the observed rate of premature release decisions and the objective rate of premature release decisions.
-
99. The non-transitory processor-readable storage medium of claim 97, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations such that updating the device traffic inactivity timer based on the calculated difference between the observed rate of premature release decisions and the objective rate of premature release decisions comprises updating the device inactivity timer by a time-varying factor based on the calculated the difference between the observed rate of premature release decisions and the objective rate of premature release decisions.
-
100. The non-transitory processor-readable storage medium of claim 99, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations such that the time-varying factor is determined according to the difference between the observed rate of premature release decisions and the objective rate of premature release decisions.
-
77. The non-transitory processor-readable storage medium of claim 76, wherein the stored processor-executable instructions are configured to cause a mobile device processor to perform operations such that determining when use of the network connection has ended based on expiration of a device traffic inactivity timer comprises determining when use of the network connection has ended based on expiration of a single device traffic inactivity timer used for all applications on the mobile device.
-
Specification
- Resources
-
Current AssigneeQualcomm, Inc.
-
Original AssigneeQualcomm, Inc.
-
InventorsHUANG, Yuheng, SONG, Bongyong, SOLIMAN, Samir Salib
-
Granted Patent
-
Time in Patent OfficeDays
-
Field of Search
-
US Class Current370/253
-
CPC Class CodesH04W 76/38 triggered by timers