`
`1111111111111111111111111111111111111111111111111111111111111111111111111111
`US 20110185202Al
`
`(19) United States
`c12) Patent Application Publication
`Black et al.
`
`(10) Pub. No.: US 2011/0185202 A1
`Jul. 28, 2011
`(43) Pub. Date:
`
`(54) MOBILE COMPUTING DEVICE AND
`METHOD FOR MAINTAINING
`APPLICATION CONTINUITY
`
`(75)
`
`Inventors:
`
`Gregory R. Black, Vernon Hills, IL
`(US); John P. Boos, Grayslake, IL
`(US)
`
`(73) Assignee:
`
`MOTOROLA, INC., Schaumburg,
`IL (US)
`
`(21) Appl. No.:
`
`12/694,244
`
`(22) Filed:
`
`Jan.26,2010
`
`Publication Classification
`
`(51)
`
`Int. Cl.
`G06F 1132
`
`(2006.01)
`
`(52) U.S. Cl. ........................................................ 713/320
`(57)
`ABSTRACT
`
`A method of maintaining application continuity (900) and
`mobile computing device (200) are described. The method
`involves a mobile device running an application in synchro(cid:173)
`nous communication with an application server. The applica(cid:173)
`tion has a threshold communication null period for maintain(cid:173)
`ing application continuity. The method (900) can include the
`steps of: operating (910) the application in synchronous com(cid:173)
`munication with an application server, defining an active
`mode, wherein the synchronous communication is automati(cid:173)
`cally enabled; providing (920) a dormant mode wherein the
`synchronous communication is automatically disabled in the
`mobile device for a predetermined duration; and interrupting
`(930) the dormant mode by momentarily communicating
`with the application server prior to a threshold communica(cid:173)
`tion null period, for maintaining application continuity.
`Advantageously, prior to a threshold period of communica(cid:173)
`tion inactivity, the dormant mode can be interrupted to main(cid:173)
`tain application connectivity, so the server will not stop the
`application and data will not be lost.
`
`MOBILE
`COMPUT~NG
`DEVICE
`112-D
`
`MOBILE
`COMPUTING
`DEVICE
`112-D
`
`Page 1 of 23
`
`GOOGLE EXHIBIT 1006
`
`
`
`Patent Application Publication
`
`Jul. 28, 2011 Sheet 1 of 8
`
`US 2011/0185202 A1
`
`MOBILE
`COMPUTING
`DEVICE
`112--D
`
`MOBILE
`COMPUTING
`DEVICE
`112-D
`
`FIG. 1
`
`155
`r'
`providing a polling manager configured to receive for each of the plurality of
`applications a predetermined polling interval and tolerance window;
`
`monitoring data communication activity of the mobile computing device:
`
`r160
`
`r165
`determining, for each of the plurality of running applications, the time elapsed
`since the previous synchronization
`
`/170
`synchronizing the application if at least one of the following conditions occurs:
`a) the time elapsed since the previous synchronization is substantially equal to
`the predetermined polling interval for the application,
`b) communication activity is detected, and the time elapsed since the previous
`synchronization is within the tolerance window for the application.
`
`FIG. 2
`
`Page 2 of 23
`
`
`
`Patent Application Publication
`
`Jul. 28, 2011 Sheet 2 of 8
`
`US 2011/0185202 Al
`
`FIG. 3a
`
`Aim
`1
`2
`
`lnt Win
`24 11
`21
`6
`
`3
`
`4
`
`8
`
`6
`
`3
`2
`
`Aim
`1
`2
`
`F1G. 3b
`
`lnt Win
`24 11
`21
`6
`
`3
`
`4
`
`8
`
`6
`
`3
`
`2
`
`FIG. 3c
`
`AQQ
`1
`2
`
`lnt Win
`- - -
`24 11
`21
`6
`
`3
`
`4
`
`8
`
`6
`
`3
`
`2
`
`0 0 0 0
`
`2 2
`
`[
`
`j
`
`~
`
`:
`
`!
`
`:
`
`:
`
`~-L-~-+-1--~-- -1--1-- ·- '-~
`~-~--L-~- __i_J
`
`• • • : .; • ~ • • • .; " • .;
`
`• ,;
`=
`oi
`= • ~
`: . ;
`'
`'-~-+~
`·-~-·
`= "
`4'1' 2 3 ~ ~ t 7 8~1~1,112131415161718 9202122232425'2~T
`Sync1,2,3,4 II Sync3,4 I
`
`~
`
`•
`
`~
`
`'
`i
`!
`! ~
`
`:
`
`:
`
`t
`
`-t-~
`
`o 1 2 s 4 s e 7 8 91o 1'1 f 1's14151eh1819~w21222s24'2s'26 r
`I Sync3, 4 I
`
`01123443
`
`!
`0
`
`2 3 4 5 6 7 8 910 1
`
`1
`
`11,21,31'41516 hf 1'92o21 :b:b242s2; T
`[Sync 1, 2, 3:4]
`
`FIG. 3
`
`Page 3 of 23
`
`
`
`Patent Application Publication
`
`Jul. 28, 2011 Sheet 3 of 8
`
`US 2011/0185202 Al
`
`;
`
`i
`
`:
`
`:
`
`i
`
`:
`
`FIG. 4a
`
`Aim
`1
`
`2
`
`3
`
`4
`
`8
`
`6
`
`3
`
`2
`
`,;
`,;
`,;
`. ~
`
`.
`
`.
`
`.
`
`;
`
`i
`
`l
`
`'·' +-~-t++- -LI-+i .... -tt
`·-~--~-+- --!-~
`
`;
`
`:
`
`:
`
`lnt Win 0 0 0 0 1 2 2
`• ,;
`• oi
`24 11
`~ •
`6
`21
`~ .
`++-!-_,
`~+• ~
`~ 1' 2 3 ~ ~ t 7 8 9101112131415161718 920212223242526
`I Sync 1, 2, 3, 4 II Sync 3, 4 I
`
`Aim
`1
`
`lnt Win
`24 11
`
`FIG. 4b
`
`2
`
`3
`
`4
`
`2i 6
`
`8
`
`6
`
`3
`
`2
`
`FIG. 4c
`
`FIG. 4d
`
`Aim
`1
`2
`
`lnt Win
`24 11
`21
`
`6
`
`3
`
`4
`
`8
`
`6
`
`3
`
`2
`
`Aim
`1
`
`lnt Win
`24 1 1
`
`2
`
`3
`
`4
`
`21
`
`8
`
`6
`
`6
`
`3
`
`2
`
`0.0001222
`! l f
`[ ;
`: ! ~
`j
`:
`.
`.
`.
`.
`.
`.
`.
`~ !
`;
`•
`j
`: ~--;--~-t-~--:--t--1--:--r--t-~
`
`.
`
`:
`
`. . ~
`~ I ~ ,-~-+-~-i--i-~ .
`; . :
`+-t-1·-+
`t·t-i : '
`' '
`o 1 2 3 4 5 a 1 8 91o 1'1 f 1.31'41s1e1r1a1e2o212223'24,25,26
`I Sync 3, 4 I
`i ! : l : 1
`,. 1--r-r -r r-r -,--r-: -t-1
`'
`'-i-tti·t-~
`j +++.,
`j ! ; "
`rtt! :
`
`01123443
`
`:
`
`~
`
`!
`
`•
`
`i
`
`!
`
`4 5
`
`7
`
`0
`
`2
`
`3
`
`4 3
`
`1 1
`]
`
`~
`
`·-~- -~-.- .tL .. L~-1-i
`. . .
`~ • ,; •
`.
`~-~--~-.,
`•+i
`
`~
`
`~
`
`;
`
`;
`
`:
`1213141516
`
`;
`
`:
`
`4 5
`
`7
`
`11
`
`FIG. 4
`
`Page 4 of 23
`
`
`
`Patent Application Publication
`
`Jul. 28, 2011 Sheet 4 of 8
`
`US 2011/0185202 Al
`
`280 ?
`r250 ~240
`I TRANSCEIVER I
`
`y
`
`r210
`
`c230
`
`AUDIOUO J
`
`200
`
`c215
`
`I
`
`BATTERY
`
`I
`
`i
`i
`
`_c220
`
`CONTROLLER
`
`270
`290
`
`J
`l
`
`MEMORY
`
`Polling/P<>I/'~j
`Management
`Module
`
`I
`
`SIM
`
`r285
`
`I
`
`c.260
`USER INTERFAC~-1
`
`FIG. 5
`
`Page 5 of 23
`
`
`
`Patent Application Publication
`
`Jul. 28, 2011 Sheet 5 of 8
`
`US 2011/0185202 Al
`
`"" ...... 1 ./...1 0
`
`Runnino Aoos
`
`News Feed
`
`Photo Uploading
`
`Data Backup
`
`' '
`615:
`' ' '
`
`Toleranoa
`Window
`Win(A)
`Register
`
`620
`
`Claim 1
`
`625
`
`Set:
`
`Yes
`
`. """"""""""""""""""""""""""""""""""""""""""" ,,., . .,. .. , ....
`
`605
`
`Start
`1-----"""
`T PREVIOUS( A) = 0
`T Mln(A} = lnt(A}- Win( A)
`T1oeA~(A) = lnt(A)
`T=O
`
`v----.635
`
`...t:
`Comm Active ?
`JNo
`
`640
`
`~
`
`645
`
`---
`650 No
`
`655
`
`I Set A= AppCount
`;t::
`T 0!: T1oeAdA} ?
`Yes
`"J,
`I Set A' = AppCount r
`r-660
`:1:.
`-=:::::::::--
`T > TMIN(A')?
`No
`~ Yes
`I synchronize Application( A')
`+
`T PREVIOus(A') = T
`T Mln(A') = T + lnt(A)- Win(A)
`TIDEAL(A') = T + lnt(A)
`
`665
`
`,..---.._67C
`
`Set:
`
`r·
`
`No
`
`t
`....... :
`675
`A' =A' -1
`_t
`-L::._680
`=-
`A'= 0?
`T Yes
`....
`r
`c-690 No
`
`685
`
`Yes
`
`695
`697
`
`FIG. 6
`
`A=A-1
`
`I
`-*-
`-=:::::....__ A= 0?
`"T
`I Delay D.T
`I T=T+ I
`
`Page 6 of 23
`
`
`
`700
`
`710
`
`Operating an application in synchronous communication with an application
`server via a persistent IP session, defining an active mode, wherein the
`synchronous communication is automatically enabled by establishing a
`persistent IP session according to a prearranged schedule
`
`,.- 720
`
`providing a dormant mode wherein the synchronous communication is
`automatically disabled in the mobile device by closing the persistent IP
`session according to the preaaranged schedule
`
`I
`programming a user programmable dormancy mode scheduler for scheduling
`the dormant mode period.
`
`/
`
`730
`
`FIG. 7
`
`(')
`
`~ .....
`
`'"= ~ .....
`("D = .....
`~ 'e -....
`.... 0 = '"= = 0" -....
`.... 0 =
`2' :-
`
`(')
`
`~ .....
`
`N
`~CIO
`N
`
`0 ....
`....
`rFJ =(cid:173)
`.....
`0\
`0 .....
`CIO
`
`("D
`("D
`
`c
`rFJ
`N
`0 ....
`....
`..._
`0 ....
`
`CIO
`Ul
`N
`0
`N
`
`> ....
`
`Page 7 of 23
`
`
`
`820
`Wireless
`Infrastructure
`
`822
`Packet Data
`Switch
`(Internet
`Gateway)
`
`824
`Circuit Switch
`
`810
`Mobile
`Device
`Client
`
`812
`Mobile
`Device
`Client
`
`830
`Application Service Aggregation Server
`
`....
`
`_..
`
`832
`834
`Front ~ Data
`End
`Cache
`
`836
`
`Back
`End
`
`800
`
`840
`Application
`Server
`
`850
`Application
`Server
`
`860
`Application
`Server
`
`FIG. 8
`
`(')
`
`~ .....
`
`'"= ~ .....
`('D = .....
`~ 'e -....
`.... 0 = '"= = 0" -....
`.... 0 =
`2' :-
`
`(')
`
`~ .....
`
`N
`~CIO
`N
`
`0 ....
`....
`rFJ =(cid:173)
`.....
`-....l
`0 .....
`CIO
`
`('D
`('D
`
`c
`rFJ
`N
`0 ....
`....
`..._
`0 ....
`
`CIO
`Ul
`N
`0
`N
`
`> ....
`
`Page 8 of 23
`
`
`
`900
`
`(900
`
`Operate an application in synchronous communication with an application server,
`defining an active mode, wherein the synchronous communication is
`automatically enabled.
`
`(920
`
`I
`
`(930
`
`Provide a dormant mode wherein the synchronous communication is
`automatically disabled in the mobile device for a predetermined duration.
`
`Interrupt the dormant mode by momentarily communicating with the application
`server prior to a threshold communication null period, for maintaining application
`continuity.
`
`FIG. 9
`
`(')
`
`~ .....
`
`'"= ~ .....
`('D = .....
`~ 'e -....
`.... 0 = '"= = 0" -....
`.... 0 =
`2' :-
`
`(')
`
`~ .....
`
`N
`~CIO
`N
`
`0 ....
`....
`rFJ =(cid:173)
`.....
`CIO
`0 .....
`CIO
`
`('D
`('D
`
`c
`rFJ
`N
`0 ....
`....
`..._
`0 ....
`
`CIO
`Ul
`N
`0
`N
`
`> ....
`
`Page 9 of 23
`
`
`
`US 2011/0185202 AI
`
`Jul. 28, 2011
`
`1
`
`MOBILE COMPUTING DEVICE AND
`METHOD FOR MAINTAINING
`APPLICATION CONTINUITY
`
`CROSS REFERENCE TO RELATED CASES
`
`[0001] This application is related to applicant's provisional
`patent applications, entitled: A Mobile Computing Device
`and Method With Enhanced Poling Management (Docket
`numberCML07453), filed on May 21,2009, having U.S. Ser.
`No. 61/180,301; and A Mobile Computing Device and
`Method With Intelligent Pushing Management (Docket num(cid:173)
`ber CS37274), filed on Nov. 30, 2009, having U.S. Ser. No.
`61/265,211.
`
`FIELD OF THE INVENTION
`
`[0002] The field of the invention relates to a mobile com(cid:173)
`puting device and method for maintaining application conti(cid:173)
`nuity.
`
`BACKGROUND OF THE INVENTION
`
`[0003] When operating a mobile device in synchronous
`communication with an application server, there is a tradeoff
`between good application performance which requires more
`frequent data exchanges, for example, a short synchroniza(cid:173)
`tion interval, and good battery life which requires less fre(cid:173)
`quent data exchanges, for example, a long synchronization
`interval.
`[0004] The problem being addressed in this patent applica(cid:173)
`tion, is that after a certain threshold period of time of com(cid:173)
`munication inactivity between a server and a mobile comput(cid:173)
`ing device, the server will terminate the application, which
`can result in loss of desired data. It would be an improvement
`in the art, if prior to the threshold period, a method could be
`devised to maintain the application.
`[0005] Mobile computing devices, such as mobile or wire(cid:173)
`less stations, cellphones, radios, laptops, wireless communi(cid:173)
`cation devices and the like, operate with a power storage
`device with a limited energy supply, such as a battery, fuel cell
`or the like. A mobile computing device needs a power source
`and, in many cases, this power source is a battery. For
`instance, cellular phones use various types of batteries to
`operate. The amount of time a mobile station can typically
`operate before the energy of the battery is consumed (which is
`often referred to as "battery life"), is often an important
`criteria that consumers use in choosing one brand or type of
`mobile computing device over another brand. The terms bat(cid:173)
`tery, energy storage device and power storage device are used
`interchangeably herein.
`[0006] While the power storage device is generally
`rechargeable, it may not be convenient or even possible for a
`user to recharge. Accordingly, there is a need to maximize the
`useful operational time of a wireless computing device.
`[0007] Additionally, different operating environments can
`cause the user to be surprised and/or frustrated when the
`battery runs out much more quickly than would typically be
`expected by the user. Thus, a variation or unexpected short
`battery life is very undesirable from a user perspective.
`[0008] This is a particularly relevant problem for mobile
`computing devices running applications supported by an
`applications server because of the power drain due to the
`wireless data exchange between the mobile device and the
`server, since each upload or download causes the consump(cid:173)
`tion of energy in the mobile device and server. The problem is
`
`especially acute in the mobile device, which is typically bat(cid:173)
`tery powered and has finite energy available. For example, a
`mobile device may employ an email server for uploading and
`downloading email in support of an email application, a con(cid:173)
`tact server for uploading and downloading contact status in
`support of a social networking application, an information
`server for downloading movies, news, music, etc. in support
`of a media playing application, and a back-up/storage server
`for uploading mobile device data in support of a data back-up
`application. Typically, the mobile device and application
`server synchronize on a regular or periodic basis, i.e. they
`communicate, upload, download or exchange information at
`essentially regular or fixed time intervals, and in this docu(cid:173)
`ment, the exchange of data between and mobile device run(cid:173)
`ning an application and an application server is referred to as
`"synchronization", and the amount of time between data
`exchanges is referred to as the "synchronization interval" or
`"sync interval", for a given application and application server.
`Thus, there is a need for increasing a length of a synchroni(cid:173)
`zation interval, in order to conserve energy in a power storage
`device of a wireless computing device, such as a mobile
`station, in order to prolong useful power storage device or
`battery life.
`[0009] Generally, there is a tradeoff between good applica(cid:173)
`tion performance which requires more frequent data
`exchanges, i.e. a short synchronization interval, and good
`battery life which requires less frequent data exchanges, i.e. a
`long synchronization interval. For example, performance of
`an email application may be determined by the amount of
`time it takes to receive an email, and performance of a social
`networking application may be determined by the delay in
`receiving a change in a social contact's status.
`[001 0] The exchange of data with an application server may
`be initiated by the server, i.e. a "push" data service, or by the
`mobile, i.e. a "pull" data service. In the case of a "pull" data
`service the mobile device typically provides a timer operable
`to trigger the expiration of the synchronization interval at
`which time the mobile device may pole the application for the
`availability of new application data. Thus with a "pull" data
`service the mobile device is in control of the synchronization
`interval, also known as the pulling or poling interval. Con(cid:173)
`versely, in the case of a "push" data service the mobile device
`responds to the synchronization requests from the server
`which may or may not be periodic.
`[0011]
`It is known to vary the synchronization interval
`according to the application, since the performance of certain
`applications may be more sensitive to synchronization fre(cid:173)
`quency than others. It is also known that the requirement for
`timely synchronization varies with the state of the applica(cid:173)
`tion. Synchronization may also be initiated a-periodically by
`the application running on the mobile device, or by the user.
`Thus, when multiple applications are running, each applica(cid:173)
`tion is likely to require different synchronization intervals,
`which may or may not be controlled by the mobile device.
`[0012] Synchronization of an application with an applica(cid:173)
`tion server involves the uploading or downloading of appli(cid:173)
`cation data between the mobile device and the application
`server over the communication infrastructure. Before the
`application data is exchanged with the application server
`there is a need to execute certain starting activities, such as
`powering-up the communication circuits, and establishment
`of a data communications session with the communication
`infrastructure. Similarly after the data is exchanged with the
`application server there is a need to execute certain ending
`
`Page 10 of 23
`
`
`
`US 2011/0185202 AI
`
`Jul. 28, 2011
`
`2
`
`activities, such as terminating the data communication ses(cid:173)
`sion with the communication infrastructure and powering(cid:173)
`down the data communication circuits. These starting and
`ending activities cause power drain in the mobile device. Thus
`there is a tendency for uncoordinated synchronization which
`causes power drain due to the stopping and starting activities
`associated with each data exchange. Thus, there is a need to
`minimize the starting and stopping activities by coordinating
`the synchronization times for multiple applications.
`[0013] When operating a mobile device in synchronous
`communication with an application server, there is a tradeoff
`between good application performance which requires more
`frequent data exchanges, i.e. a short synchronization interval,
`and good battery life which requires less frequent data
`exchanges, i.e. a long synchronization interval
`[0014]
`It is known to vary the synchronization interval
`according to a schedule, such that the period between down(cid:173)
`loading increases when certain applications are less likely to
`require frequent downloads. However, since application
`usage is a human behavior, the optimum download period
`cannot always be predicted and scheduled. Furthermore, the
`power drain due to the wireless data exchange with the appli(cid:173)
`cation server may be unpredictable. The available wireless
`networks may be such that only data transmission methods
`requiring high power consumption are available. Hence, the
`optimum synchronization interval cannot always be pre(cid:173)
`dicted and scheduled. Thus, there is a need to provide a longer
`downloading synchronization interval or period for drawing
`less energy consumption at certain "dormant times", while
`also providing shorter downloading synchronization inter(cid:173)
`vals at "active times", when an application requires timely
`information.
`[0015] Also, there is a need to provide a longer download(cid:173)
`ing synchronization interval or period for drawing less energy
`consumption when the energy required for synchronization is
`higher, while also providing shorter downloading synchroni(cid:173)
`zation interval when the energy required for synchronization
`is lower, thereby taking advantage of favorable network con(cid:173)
`ditions which may be temporary.
`[0016]
`In connection with push applications, data is pushed
`on a regular interval from an application server, and Applicant
`is not aware of a method available at any mobile client for
`adjusting the pushing interval. It would be considered an
`improvement in the art, if a mobile device could autono(cid:173)
`mously adjust the rate at which it accepts pushed data. In
`addition, it would also be considered an improvement in the
`art if a mobile device could control applications in which data
`is pushed from an application server to the mobile device.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0017] FIG.1 is a block diagram of a system with enhanced
`poling management to reduce energy drain, according to the
`present invention.
`[0018] FIG. 2 is a flowchart of one example of an approach
`for enhancing poling management to reduce energy drain,
`according to the present invention.
`[0019] FIG. 3 is a series of timing diagrams depicting the
`poling operation of a mobile computing device according to a
`first embodiment of the present invention.
`[0020] FIG. 4 is a series of timing diagram depicting the
`poling operation of a mobile computing device according to a
`second embodiment of the present invention.
`
`[0021] FIG. 5 is a block diagram of a mobile computing
`device that provides for an improved battery life according to
`the present invention.
`[0022] FIG. 6 is a flow diagram of a mobile computing
`device running an application in synchronous communica(cid:173)
`tion with an application server according to one embodiment
`of the present invention.
`[0023] FIG. 7 is a simplified block diagram of a method of
`saving energy in a mobile device running an application in
`synchronous communication with an application server, to
`reduce energy drain, according to an embodiment of the
`present invention.
`[0024] FIG. 8 is a simplified block diagram of a method of
`saving energy in a mobile device running an application in
`synchronous communication with an application server, to
`reduce energy drain, according to an embodiment of the
`present invention.
`[0025] FIG. 9 is a simplified block diagram of a method of
`saving energy in a mobile device running an application in
`synchronous communication with an application server, to
`maintain application continuity, according to an embodiment
`of the present invention.
`[0026] Skilled artisans will appreciate that elements in the
`figures are illustrated for simplicity and clarity and have not
`necessarily been drawn to scale. For example, the dimensions
`and/or relative positioning of some of the elements in the
`figures may be exaggerated relative to other elements to help
`to improve the understanding of various embodiments of the
`present invention. Also, common but well-understood ele(cid:173)
`ments that are useful or necessary in a commercially feasible
`embodiment are often not depicted in order to facilitate a less
`obstructed view of these various embodiments of the present
`invention. It will further be appreciated that certain actions
`and/or steps may be described or depicted in a particular order
`of occurrence while those skilled in the art will understand
`that such specificity with respect to sequence is not actually
`required. It will also be understood that the terms and expres(cid:173)
`sions used herein have the ordinary meaning as is accorded to
`such terms and expressions with respect to their correspond(cid:173)
`ing respective areas of inquiry and study except where spe(cid:173)
`cific meanings have otherwise been set forth herein.
`
`DETAILED DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`
`[0027] A system and method is described that controls the
`length of the synchronization interval associated with a
`mobile computing device (or mobile station, wireless com(cid:173)
`munication device, wireless computing device, mobile or
`wireless station, cellphone, radio, laptop and the like, such
`terms used interchangeably herein) running an application in
`periodic or synchronous communication with an application
`server, in order to conserve and improve the life of an energy
`storage device in connection with a mobile computing device.
`The approaches described herein allow a mobile computing
`device to operate in a variety of conditions and provide a
`variety of bandwidth intensive services without substantially
`compromising the energy storage device in association with
`the mobile station.
`[0028] Coordinating the synchronization interval of the
`periodic or synchronous communication between the mobile
`computing device running multiple applications with respec(cid:173)
`tive application servers may be made in a variety of different
`ways. In one example, the mobile device is equipped with a
`poling manager, which: receives for each application an ideal
`
`Page 11 of 23
`
`
`
`US 2011/0185202 AI
`
`Jul. 28, 2011
`
`3
`
`poling interval and tolerance window; monitors communica(cid:173)
`tion activity of the mobile computing device; determines the
`time elapsed since the previous synchronization for each
`application; and synchronizes the application if the time
`elapsed since the previous synchronization is substantially
`equal to the ideal poling interval for the application, or com(cid:173)
`munication activity is detected and the time elapsed since the
`previous synchronization is within the tolerance window for
`the application.
`In another example, the poling manager: receives
`[0029]
`for each application an ideal poling interval and tolerance
`window; monitors communication activity of the mobile
`computing device; determines the time elapsed since the pre(cid:173)
`vious synchronization for each application; selects a pre(cid:173)
`ferred synchronization interval between the time elapsed
`since the previous synchronization and a future synchroniza(cid:173)
`tion interval, and synchronizes the application if the time
`elapsed since the previous synchronization is substantially
`equal to the ideal poling interval for the application, or com(cid:173)
`munication activity is detected, the time elapsed since the
`previous synchronization is within the tolerance window for
`the application and is the preferred synchronization interval.
`The length of the synchronization interval may be dynami(cid:173)
`cally decreased or increased from the ideal interval, depend(cid:173)
`ing on the monitored communication activity and the deter(cid:173)
`mined preference.
`[0030] Further adjustments may also be made. For
`instance, the window of tolerance for a first application may
`be adjusted depending on the ideal synchronization interval
`of a second application, as detailed below.
`[0031] Thus, approaches are described whereby the power
`storage device of the mobile computing device is improved
`even under less than ideal operating conditions and different
`modes of operation, such as multiple applications running in
`synchronous commnnication with an application server. Con(cid:173)
`sequently, the mobile computing device can operate nnder a
`variety of operating conditions
`[0032] Referring to FIG. 1, one example of a system with
`enhanced poling management for increasing the battery life
`of a mobile computing device, is described. The system
`includes a first mobile computing device 102 that is coupled
`to a first Radio Access Network (RAN) 104. The first RAN
`104 is coupled to a commnnication infrastructure 106. The
`infrastructure can include a plurality of application servers,
`for running various applications, as detailed below. A second
`mobile computing device 110 is coupled to a second RAN
`108. The second RAN 108 is also coupled to the infrastructure
`106. The principles described herein may be applied to a
`variety of wide area network systems, such as long-term
`evolution (LTE), ultra mobile wideband (UMB), 802.16e &
`m, High Rate Packet Data (HRPD) systems, or systems such
`as
`the Universal Mobile Telecommunication System
`(UMTS), as well as wireless local area networks, personal
`area networks, and wired networks.
`[0033] The mobile computing devices 102 and 110 may be
`any type of mobile wireless device. The mobile computing
`devices 102 and 110 each include a poling management mod(cid:173)
`ule 112 for coordinating synchronous communications
`between application server poling applications, as detailed
`below. For example, the mobile computing devices 102 and
`110 may be cellular telephones, pagers, radios, mobile sta(cid:173)
`tions, personal computers, or personal digital assistants. As
`should be understood by those skilled in the art, other
`examples of mobile computing devices are possible.
`
`[0034] The RANs 104 and 108 may be any device or com(cid:173)
`bination of devices that allow the mobile computing devices
`102 and 110 to have access to the commnnication infrastruc(cid:173)
`ture 106. For example, the RANs 104 and 108 may include
`access points, base stations, base station controllers, anten(cid:173)
`nas, and other types of devices that facilitate these commu(cid:173)
`nications.
`[0035] The commnnication infrastructure 106 preferably
`includes devices and/or networks that allow communications
`to be made between mobile stations. For example, the infra(cid:173)
`structure 106 may include switches, servers, storage devices,
`and networks (e.g., wireless networks, the Internet, landline
`telephone networks) that facilitate commnnications between
`the mobile computing devices 102 and 110.
`[0036] Referring now to FIG. 2, an exemplary method of
`enhancing poling management for extending the useful life of
`an energy storage device in a mobile computing device, is
`shown. The method 150 is configured to help lengthen the
`battery life of a mobile computing device running a plurality
`of applications in synchronous or asynchronous, data com(cid:173)
`munication with an application server. The method 150
`includes the steps of: providing 155 a poling manager con(cid:173)
`figured to receive for each of the plurality of applications a
`predetermined poling interval and tolerance window; moni(cid:173)
`toring 160 data commnnication activity of the mobile com(cid:173)
`puting device; determining 165, for each of the plurality of
`running applications, the time elapsed since the previous
`synchronization; and synchronizing 170 the application if at
`least one of the following conditions occurs: the time elapsed
`since the previous synchronization is substantially equal to
`the predetermined poling interval for the application; and
`communication activity is detected, and the time elapsed
`since the previous synchronization is within the tolerance
`window for the application.
`[0037] Advantageously, this method can provide substan(cid:173)
`tial energy savings in an energy storage device in mobile
`computing device applications, for example, by synchroniz(cid:173)
`ing and running multiple applications together, which saves
`energy storage device or battery life by turning on the trans(cid:173)
`ceiver circuitry when necessary and minimizing or eliminat(cid:173)
`ing unnecessary or redundant synchronization, by the use of
`dynamic and smart poling management techniques, as
`detailed herein. This can be accomplished by providing a
`poling interval for each application that is within its window
`of tolerance, for example.
`In one arrangement, the synchronizing step 170 is
`[0038]
`triggered by detecting synchronization activity initiated by at
`least one of: an application; an application server; and a user.
`This provides each application the opportunity to synchro(cid:173)
`nize with its respective application server in coordination
`with the detected commnnication activity. In further detail,
`the synchronizing step 170 can be triggered substantially
`immediately after completion of the detected synchronization
`activity, thus avoiding stopping and restarting of the commu(cid:173)
`nication circuits, and thereby saving energy.
`[0039] Referring to FIG. 3, four synchronizations are
`shown moving from the top to the bottom of the figure, at time
`zero, six, twelve and eighteen, respectively. Application 1 has
`a synchronization interval of 24 nnits and window of toler(cid:173)
`ance of 11 units. The units can be in milliseconds. Application
`2 has a synchronization interval of 21 units and window of
`tolerance of 6 nnits. Application 3 has a synchronization
`interval of8 units and window of tolerance of3 units. Appli(cid:173)
`cation 4 has a synchronization interval of 6 units and window
`
`Page 12 of 23
`
`
`
`US 2011/0185202 AI
`
`Jul. 28, 2011
`
`4
`
`of tolerance of2 units. Referring to FIG. 3a, at time 0, a sync
`occurs for applications 1, 2, 3, and 4. At time 6, a synch
`occurs, triggered by the amount of time passing since the
`previous synchronization being equal to the synchronization
`interval for application 4. Applications 3 and 4 are synchro(cid:173)
`nized because these are the applications for which the win(cid:173)
`dow of tolerance includes time 6. Referring now to FIG. 3b,
`the window of tolerance is shifted from FIG. 3a for applica(cid:173)
`tions 3 and 4, to account for the time of the previous synchro(cid:173)
`nization having changed from time 0 to time 6. At time 12, a
`synch occurs, triggered by the amount of time passing since
`the previous synchronization being equal to the synchroniza(cid:173)
`tion interval for application 4. Applications 3 and 4 are again
`synchronized because these are the applications for which the
`window of tolerance includes time 12. Referring now to FIG.
`3c, the window of tolerance is shifted from FIG. 3b for appli(cid:173)
`cations 3 and 4, to account for the time of the previous syn(cid:173)
`chronization having changed from time 6 to time 12. At time
`18, a sync occurs, whereby applications 1, 2, 3 and 4 are
`synchronized because these are the applications for which the
`window of tolerance includes time 18. Thus it is the synchro(cid:173)
`nization of the four applications is coordinated thereby reduc(cid:173)
`ing power drain in the data communication device.
`[0040] By the use of smart poling management techniques,
`as detailed herein, synchronizing and running multiple appli(cid:173)
`cations together, can provide substantial energy savings. For
`example, the transceiver circuitry is turned on at times 0, 6, 12
`and 18, as necessary to obtain a down load, etc. Referring
`again to FIG. 3a, unnecessary or redundant synchronizations
`do not occur, as would happen at time 8, for example, if the
`synchronization for application 3 were not advanced from
`time 8 to time 6.
`