throbber
(12) United States Patent
`Marcellino et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8,135,392 B2
`Mar. 13, 2012
`
`USOO8135392B2
`
`(54) MANAGING NOTIFICATION SERVICE
`CONNECTIONS AND DISPLAYING CON
`BADGES
`(75) Inventors: Chris Marcellino, San Francisco, CA
`(US); Justin Santamaria, San
`Francisco, CA (US)
`(73) Assignee: Apple Inc., Cupertino, CA (US)
`
`(*) Notice:
`
`(22) Filed:
`(65)
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 348 days.
`(21) Appl. No.: 12/433,709
`ppl. No.:
`9
`Apr. 30, 2009
`Prior Publication Data
`US 2009/0305732 A1
`Dec. 10, 2009
`O
`O
`Related U.S. Application Dat
`pplication Uata
`e
`(63) Continuation-in-part of application No. 12/198,037.
`filed on Aug. 25, 2008.
`(60) Provisional application No. 61/059.703, filed on Jun.
`6, 2008.
`
`(51) Int. Cl.
`(2006.01)
`H04M 3/00
`(52) U.S. Cl. ..................... 455/418; 455/414.1; 455/466;
`709/203
`(58) Field of Classification Search .................. 455/418,
`455/414.1, 466; 709/201
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,410,543 A
`4/1995 Seitz et al.
`6,208.996 B1
`3/2001 Ben-Shachar et al.
`6,223,046 B1
`4/2001 Hamill-Keays et al.
`
`134f6
`
`g: R ck 338 R et al.
`- -
`2naanilan .......................
`6,650,621 B1
`1 1/2003 Maki-Kullas
`7,313,419 B2 12/2007 Islam et al.
`7.487,248 B2
`2/2009 Moran et al.
`7,522,911 B2
`4/2009 Ung et al.
`2002/0147660 A1* 10, 2002 Indence .......................... 705/26
`2003/0078076 A1* 4/2003 Kuwajima et al. ............ 455,565
`2004/0258072 A1 12, 2004 Deforche
`2006/0106806 A1* 5/2006 Sperling et al. ................. 707/10
`2006/0252530 A1* 1 1/2006 Oberberger et al. ............ 463,29
`2007/0050812 A1
`3/2007 Ebata et al. ..................... 725/40
`2007/0223408 A1
`9, 2007 Thielke et al.
`38.9: A.
`858. s st al
`SO ea.
`2009/0228566 A1
`9/2009 Sharp et al.
`2010.0030612 A1
`2/2010 Kim et al. ......................... 705/9
`OTHER PUBLICATIONS
`David Chartier, “Lots to Like About New iPhone 2.2 Software
`Update (Updated), Nov. 21, 2008, 3 pages.
`k .
`cited by examiner
`Primary Examiner — Danh Le
`(74) Attorney, Agent, or Firm — Blakely, Sokoloff, Taylor &
`Zafman LLP
`
`ABSTRACT
`(57)
`A method and apparatus to manage notification service con
`nections. In one embodiment of the invention, a mobile
`device schedules a notification service connection message
`transmission interval for each of a plurality of notification
`service connections. The mobile device also associates a noti
`fication service connection message transmission window
`with each notification service connection message transmis
`sion interval. The mobile device synchronizes transmission of
`notification service connection messages based on overlap
`ping notification service connection message transmission
`windows. Responsive to receiving a notification message on
`one of the notification service connections, an icon badge is
`displayed on the mobile device for the appropriate applica
`tion.
`
`25 Claims, 15 Drawing Sheets
`
`REGISTERWITHNOTIFICATION SERWICE
`CONNECTIONMANAGER 30
`
`SCHEDULENOTIFICATION SERVICE
`CONNECTIONMESSAGE TRANSMISSION
`WINDOWAND WAKETIME
`412
`
`MONITORNOTIFICATIONSERWICE
`CONNECTION MESSAGE TIMER 44
`
`WITHINNOTIFICATION
`SERVICE CONNECTION
`MESSAGE WINDOW3
`316
`
`
`
`N O
`
`N
`
`NO
`
`IS THE DEWICEAWAKER
`
`HASNOTIFICATION
`SERVICE CONNECTION
`MESSAGEWTNW
`ELAPSED422
`
`YES
`
`WAKE DEWICE 424
`
`GLOBALNOTIFICATION
`SERWICE CONNECTION
`MESSAGE TIMER
`EXPRED338
`
`YES
`
`
`
`826
`
`NO
`
`WAKE DEWICE .428
`
`TRANSMITNOTIFICATION
`SERVICE CONNECTION
`MESSAGE:30
`
`
`
`Page 1 of 29
`
`GOOGLE EXHIBIT 1019
`
`

`

`U.S. Patent
`
`Mar. 13, 2012
`
`Sheet 1 of 15
`
`US 8,135,392 B2
`
`NOLLVOITddV
`
`YOSsHIOUd
`
`COT
`
`SYOMLAN
`
`ALIALLOANNOO
`
`“cya)(8)LNATa
`
`CaMSOldVa
`
`POL
`
`91FOIAATIGOW
`
`
`
`(S)HOIAUCHIIHOW
`
`OZT
`
`
`
`VIVdSJYOMLAN
`
`SSHOOV
`
`(S)LNAWATA
`
`OST
`
`TDId
`
`NOILVOMTLON
`
`T1Nd
`
`AOIAAHAS
`
`OT
`
`00T
`
`NOLLVOMILON
`NOILLVOMILON
`
`HSNd
`
`HSNd
`
`HOIAYHS
`
`HOIAMAS
`
`OCT
`
`OT
`
`Page 2 of 29
`
`Page 2 of 29
`
`
`
`
`
`

`

`U.S. Patent
`
`Mar. 13, 2012
`
`Sheet 2 of 15
`
`US 8,135,392 B2
`
`
`
`ESTABLISH DATA CONTEXT 210
`
`ESTABLISH NOTIFICATION SERVICE(S)
`CONNECTIONS 220
`
`SCHEDULE NOTIFICATION SERVICE
`CONNECTION MESSAGE INTERVAL AND
`SCHEDULE DEVICE WAKE TIME 230
`
`ENTER SLEEP MODE 240
`
`PUT APPLICATION PROCESSOR TO SLEEP,
`KEEP NETWORK CONNECTIVITY ELEMENT
`AWAKE
`250
`
`WAKE APPLICATION PROCESSOR
`ACCORDING TO NOTIFICATION SERVICE
`CONNECTION MANAGER TO TRANSMIT A
`NOTIFICATION SERVICE CONNECTION
`MESSAGE 260
`
`FIG. 2
`
`Page 3 of 29
`
`

`

`U.S. Patent
`
`Mar. 13, 2012
`
`Sheet 3 of 15
`
`US 8,135,392 B2
`
`
`
`NOTIFICATION
`SERVICE CONNECTION
`MESSAGE INDICATOR,
`RE-TRY EVENTS 364
`
`NOTIFICATION
`SERVICE CLIENT(S)
`310
`
`CALIBRATE
`SERVICE
`CONNECTION
`MESSAGE INTERVAL
`362
`
`NOTIFICATION SERVICE
`CONNECTION
`MESSAGE 374
`
`ITEM(S) OF
`INTEREST
`376
`
`REGISTER WITH
`NOTIFICATION SERVICE
`CONNECTION MANAGER 360
`
`NETWORKSTATUS 366
`
`KEEP STACK
`
`NETWORK STACK
`330
`
`SCHEDULE WAKE 370
`
`WAKE I/O
`SUBSYSTEM
`340
`
`NOTIFICATION
`SERVICE
`CONNECTION
`
`320
`
`SCHEDULE NOTIFICATION
`SERVICE CONNECTION
`MESSAGE TRANSMISSION
`INTERVAL,
`MONITOR TIMER(S) 372
`
`SYSTEM LEVEL
`TIMER(S)
`350
`
`MOBILE DEVICE 160
`
`FIG 3A
`
`Page 4 of 29
`
`

`

`U.S. Patent
`
`Mar. 13, 2012
`
`Sheet 4 of 15
`
`US 8,135,392 B2
`
`
`
`360
`
`362
`
`NOTIFICATION SERVICE
`CONNECTION MESSAGE
`TRANSMISSION INTERVAL
`SCHEDULER
`MODULE
`322
`
`NOTIFICATION SERVICE
`CONNECTION MESSAGE
`TRANSMISSION INTERVAL
`OPTIMIZER MODULE
`323
`
`NOTIFICATION SERVICE
`CONNECTION MESSAGE
`TRANSMISSION TIMER
`MONITOR MODULE
`324
`
`NOTIFICATION SERVICE
`CONNECTION MESSAGE
`WAKE SCHEDULER
`MODULE
`325
`
`370-D
`
`NOTIFICATION SERVICE
`CONNECTION MESSAGE
`GENERATORMODULE
`326
`
`SLEEP MODE MANAGER
`MODULE
`327
`
`368-0
`
`NOTIFICATION SERVICE CONNECTION MANGER320
`
`FIG. 3B
`
`Page 5 of 29
`
`

`

`U.S. Patent
`
`Mar. 13, 2012
`
`Sheet 5 Of 15
`
`US 8,135,392 B2
`
`REGISTER WITH NOTIFICATION SERVICE
`CONNECTION MANAGER 410
`
`SCHEDULE NOTIFICATION SERVICE
`CONNECTION MESSAGE TRANSMISSION
`WINDOW AND WAKE TIME
`412
`
`MONITOR NOTIFICATION SERVICE
`CONNECTION MESSAGE TIMER 414
`
`
`
`
`
`NO
`
`
`
`
`
`
`
`
`
`
`
`
`
`WITHIN NOTIFICATION
`SERVICE CONNECTION
`MESSAGE WINDOW2
`416
`
`YES
`
`IS THE DEVICE AWAKE?
`420
`
`HAS NOTIFICATION
`SERVICE CONNECTION
`MESSAGE WINDOW
`ELAPSED? 422
`
`
`
`YES
`
`
`
`
`
`
`
`WAKE DEVICE 424
`
`NO
`
`NO
`
`
`
`
`
`YES
`
`GLOBAL NOTIFICATION
`SERVICE CONNECTION
`MESSAGE TIMER
`EXPIRED? 418
`
`YES
`
`IS THE DEVICE AWAKE?
`426
`
`NO
`
`YES
`
`WAKE DEVICE 428
`
`TRANSMIT NOTIFICATION
`SERVICE CONNECTION
`MESSAGE 430
`
`FIG. 4
`
`Page 6 of 29
`
`

`

`U.S. Patent
`
`Mar. 13, 2012
`
`Sheet 6 of 15
`
`US 8,135,392 B2
`
`Ns|“94s||NMOYWHD|||||||||||
`
`09
`
`|
`
`||
`
`Ors
`
`ddsS0
`
`HWILL
`
`(8=CNIA
`
`NOLLVOIdILLON
`
`TV1nd
`
`O€TAOIAWAS
`
`“S7=MOYHO)
`
`
`ceos]iyOF0€9%ez0%c]OT
`ce0€°tacoeeSennnea||aepis”|OLST|iva
` aryAATV||oss|906IV|pawsIwont!;crs|0s|trSZ|MOUNIM8PSS|MOCNIMgrsorsors
`
`
`
`|89¢(IVAN79S79S09s
`Lvad|Lvad||||||||||||||||||prs|wey1MoaNIM|MOCNIM|sb0€|0%|JAWa|.zsIzis~ScSI
`“DIVALNANAdCOIND
`0s:MOGNIM=MOCNIA|MOCNIM,
`daaTsdaaTsvsas6hIpdaaTs
`
`SIs91SzI¢
`
`oI
`
`f
`
`,
`
`LWALWA
`
`Ol
`
`NOLLVOIALLON.
`
`OLTAOIAWAS
`
`HSnd
`
`‘Of=LVAA)
`
`(OI=CNIM
`
`NOLLVOILLON.
`
`O71HOIAMUS
`
`snd
`
`‘SIS=LVAa)
`
`(S=CNIM
`
`Page 7 of 29
`
`Page 7 of 29
`
`
`
`

`

`U.S. Patent
`
`Mar. 13, 2012
`
`Sheet 7 Of 15
`
`US 8,135,392 B2
`
`INITIAL
`NOTIFICATION
`SERVICE
`CONNECTION
`MESSAGE
`TRANSMISSION
`INTERVAL 610
`
`CONNECTION ACTIVE,
`INCREASE INTERVAL
`N AMOUNT 612
`
`CONNECTION INACTIVE,
`DECREASE INTERVAL YAMOUNT 614
`
`REFINED
`NOTIFICATION
`SERVICE
`CONNECTION
`MESSAGE
`TRANSMISSION
`INTERVAL 616
`
`CONNECTION ACTIVE,
`INCREASE INTERVAL
`M AMOUNT (M CN) 618
`
`EVERY ZAMOUNT
`OF TIME,
`RESET INTERVAL 623
`
`
`
`CONNECTION INACTIVE,
`DECREASE INTERVAL X AMOUNT (X< Y) 620
`
`STEADY
`NOTIFICATION
`SERVICE
`CONNECTION
`MESSAGE
`TRANSMISSION
`INTERVAL 622
`
`CONNECTION ACTIVE,
`LEAVE INTERVAL
`AT CURRENT VALUE 624
`
`CONNECTION INACTIVE,
`DECREASE INTERVAL BY HALF 626
`
`
`
`BACKOFF
`NOTIFICATON
`SERVICE
`CONNECTION
`MESSAGE
`TRANSMISSION
`INTERVAL 628
`
`FIG. 6
`
`CONNECTION INACTIVE,
`DECREASE INTERVAL
`BY HALF 630
`
`Page 8 of 29
`
`

`

`U.S. Patent
`
`Mar. 13, 2012
`
`Sheet 8 of 15
`
`US 8,135,392 B2
`
`
`
`Text Message
`
`Calendar 722
`
`PhotoS 724
`
`Instant Message
`
`(5 () () (5.
`G5 (2) () (r.
`
`Pull Email 728
`
`StockS 730
`
`Weather 734
`
`764
`
`Social
`Networking 736
`
`Clock 738
`
`NeWS 740
`
`App. Store 742
`
`Phone 712
`
`Push Email 714
`
`Internet 716
`
`Music 718
`
`Favorite Applications 710
`
`Display Screen 715
`
`MOBILE DEVICE 160
`
`FIG. 7
`
`Page 9 of 29
`
`

`

`U.S. Patent
`
`Mar. 13, 2012
`
`Sheet 9 Of 15
`
`US 8,135,392 B2
`
`
`
`Notification
`MeSSages
`
`NOTIFICATION MESSAGE
`MANAGER
`
`Notr Aio
`MESSAGE STORE 850
`
`Notification
`MeSSage
`
`APPLICATION(S)
`
`BADGING MODULE
`820
`
`Display Badge
`
`GRAPHICAL USER INTERFACE
`718
`
`MOBILE DEVICE 160
`
`FIG. 8
`
`Page 10 of 29
`
`

`

`U.S. Patent
`
`Mar. 13, 2012
`
`Sheet 10 of 15
`
`US 8,135,392 B2
`
`RECEIVE NOTIFICATION MESSAGE
`910
`
`PARSE NOTIFICATION MESSAGE
`915
`
`
`
`
`
`
`
`
`
`
`
`IS THE APPLICATIONASSOCIATED WITH THE
`NOTIFICATION MESSAGE CURRENTLY EXECUTING
`920
`
`YES
`
`NO
`
`
`
`TAKE ALTERNATIVE ACTION
`925
`
`DIRECT NOTIFICATION MESSAGE TO
`THAT APPLICATION
`930
`
`
`
`
`
`
`
`IS ANICON BADGE TO BE DISPLAYED2
`935
`
`DISPLAY APPROPRIATE ICON BADGE
`ON THE DISPLAY
`940
`
`CONTINUE PROCESSING THE NOTIFICATION
`MESSAGE
`945
`
`FIG. 9
`
`Page 11 of 29
`
`

`

`U.S. Patent
`
`Mar. 13, 2012
`
`Sheet 11 of 15
`
`US 8,135,392 B2
`
`Notification
`Messages
`
`
`
`NOTIFICATION MESSAGE
`MANAGER
`1010
`- - 1
`- - - - -
`-
`BADGING MODULE 1020
`MESSAGE STORE 1050
`
`Notification
`MeSSages
`
`Display Badges
`
`GRAPHICAL USER INTERFACE
`718
`
`APPLICATION(S)
`1040
`
`MOBILE DEVICE 160
`
`FIG 10
`
`Page 12 of 29
`
`

`

`U.S. Patent
`
`Mar. 13, 2012
`
`Sheet 12 of 15
`
`US 8,135,392 B2
`
`
`
`RECEIVE NOTIFICATION MESSAGE
`1110
`
`PARSE NOTIFICATION MESSAGE
`1115
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IS ANICON BADGE TO BE DISPLAYED2
`1120
`
`YES
`
`NO
`
`
`
`DISPLAY APPROPRIATE ICON BADGE
`ON THE DISPLAY
`1125
`
`IS THE APPLICATIONASSOCIATED WITH THE
`NOTIFICATION MESSAGE CURRENTLY EXECUTING
`1130
`
`NO
`
`
`
`YES
`
`TAKE ALTERNATIVE ACTION
`1135
`
`DIRECT NOTIFICATION MESSAGE TO
`THAT APPLICATION
`1140
`
`CONTINUE PROCESSING THE NOTIFICATION
`MESSAGE
`1145
`
`FIG 11
`
`Page 13 of 29
`
`

`

`U.S. Patent
`
`Mar. 13, 2012
`
`Sheet 13 of 15
`
`US 8,135,392 B2
`
`
`
`STORE NOTIFICATION MESSAGE
`1210
`
`APPLICATION BEGINS EXECUTING
`1215
`
`DIRECT NOTIFICATION MESSAGE TO THAT APPLICATION
`1220
`
`FIG. 12
`
`Page 14 of 29
`
`

`

`U.S. Patent
`
`Mar. 13, 2012
`
`Sheet 14 of 15
`
`US 8,135,392 B2
`
`
`
`HSV14“AATYCGYVH
`
`AVTdSIC ScEl
`
`ONISSHOOUd
`
`
`
`“'q)WALSAS
`
`(WOSSHDOUMOUOIN
`
`OCET
`
`
`
`(TVNOILdO)MOOd
`
`O9€T
`
`
`
`
`
`WOod‘AUWOWSI___\0OfET
`
`Orel
`
`(S)WAAISOSNVUL
`
`
`
`‘HLOOLANTA“D's)
`
`SSHTHMIM
`
`COLAUTTIM
`
`(TVNOILdO)
`
`06£T
`
`“cya)SAOLAACO/1
`
`WOSAND“IN.
`
`“TOULNOD
`
`
`
`COLA‘@IVOdAAN
`
`O8ET
`
`
`
`AOLAdCAVTdSIC9WATIOWLNOD
`
`OLET
`
`ClDIA
`
`
`
`ATILVTOANON
`
`
`
`“Cya)AYOWAW
`
`AYOWAN
`
`
`
`ATddNSWAMOd
`
`00¢eT
`
`
`
`(TVNOILLdO)AHOVO
`
`OLET
`
`Page 15 of 29
`
`Page 15 of 29
`
`
`
`
`

`

`U.S. Patent
`
`Mar. 13, 2012
`
`Sheet 15 of 15
`
`US 8,135,392 B2
`
`O/I
`
`OvrT
`
`
`
`O/lYAHLO
`
`(TVYNOLLdO)
`
`OSPT
`
`OIGNV OTrT
`AOIAdCAVTdSICQIOSSHOOUdOUIIN2UATIOUWLNOO
`
`
`“)'q)WALSAS
`AVTdSIGDNISSHOOUd
`
`O9P1OcrI
`
`viDIA
`
`
`
`(S)\HOIAHCLOdNI
`
`OLFT
`
`00rl
`
`XUIOWAN
`
`O€PT
`
`
`
`ATddNSYAMOd
`
`Scrl
`
`
`
`
`
`COLASANOHdATAL
`
`
`
`(qa“OaSSATAIM
`
`(S)UHAISOSNVULL
`
`
`
`‘HLOOLANTE“D'a)
`
`
`
`SSATAUIM“UITAITIM
`
`UVINTIO
`
`Page 16 of 29
`
`Page 16 of 29
`
`
`

`

`US 8,135,392 B2
`
`1.
`MANAGING NOTIFICATION SERVICE
`CONNECTIONS AND DISPLAYING CON
`BADGES
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`This application is a continuation-in-part of U.S. applica
`tion Ser. No. 12/198,037, filed Aug. 25, 2008, which claims
`the benefit of U.S. Provisional Application No. 61/059,703,
`filed Jun. 6, 2008, which are each hereby incorporated by
`reference in their entireties.
`This application is related to co-pending U.S. patent appli
`cation Ser. No. 12/042,307, entitled “Automatic Notification
`System and Process' filed on Mar. 4, 2008.
`
`10
`
`15
`
`BACKGROUND
`
`1. Field
`Embodiments of the invention relate to the field of mobile
`device processing; and more specifically, to managing noti
`fication service connections of mobile devices and displaying
`icon badges.
`2. Background
`Users of a mobile device (e.g., laptop, palmtop, portable
`media player, Smartphone, multimedia mobile phone, mobile
`gaming systems such as a "Gameboy', etc.) may subscribe to
`one or more notification services that may periodically send
`notification messages to the mobile device. For example,
`users may subscribe to one or more “push’ email services
`(e.g., MobileMe, Microsoft Exchange ActiveSync, push
`IMAP. Yahoo! Push, etc.) or other push services (e.g., update/
`upgrade services, news services, weblog services, podcast
`services, social networking services, or other types of Ser
`vices that send notification messages to the mobile devices).
`Notification messages typically represent events of interest
`which are typically defined by the applications (e.g., new
`email indicator, new news item indicator, new podcast indi
`cator, change of online status of a social networking friend,
`etc.).
`In the case of a push email service, for example, the email
`server may automatically transmit email messages and/or
`calendar updates to the email client on the mobile device for
`the user without the user requesting the item. In other words,
`the user does not request (poll) the email server for email
`messages or other items of interest. Thus, a push notification
`service is a persistent notification service. In order to maintain
`a push notification service, the mobile device periodically
`refreshes the connection to the push notification service (e.g.,
`by transmitting a ping message to the push server).
`In addition, users may subscribe to one or more “pull
`services, such as “pull email services (e.g., IMAP, POP3). In
`a pull email service, a user periodically checks (polls) the
`email server to determine if there is new email messages. If
`there are new email messages, they are then downloaded to
`the client. Many email clients Support an automatic configu
`ration of a poll interval. For example, a user of the mobile
`device may configure a poll interval of 10 minutes for a POP3
`email account (thus the email client automatically polls the
`email server every 10 minutes to check for new email mes
`sages). In addition, notification services may be configured to
`provide network wide (e.g., Internet wide) event notification
`messages to multiple Subscribers, where notification services
`may be automatically discovered by one or more subscribers
`and/or publishers, which is described in U.S. patent applica
`tion Ser. No. 12/042,307, entitled “Automatic Notification
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`System and Process', filed on Mar. 4, 2008, which is hereby
`incorporated by reference in its entirety.
`A mobile device establishes a data context (e.g., a Packet
`Data Protocol (PDP) context) with one or more network
`elements that provide data services to the mobile device (e.g.,
`Internet Protocol traffic from the Internet) over a network
`(e.g., a cellular network Such as a Generic Packet Radio
`Services (GPRS) network, and/or a Local Area Network
`(LAN)). The data context is a logical association between the
`mobile device and the network elements, and includes infor
`mation relating to routing (e.g., IP address information),
`Quality of Service (QoS), billing, authentication, etc. Since
`maintaining a data context consumes network resources of
`the network elements, the one or more servers may teardown
`a data context associated with a mobile device if the mobile
`device is not actively using the data context. For example, if
`the mobile device is turned off (and thus is not using the data
`context and not contacting the network elements), the net
`work elements may teardown the data context after Some time
`of not receiving information from the mobile device. The
`mobile device may periodically refresh the data context to
`keep the data context connection up.
`In order to conserve battery life, a mobile device may enter
`into a reduced power mode when not connected to a constant
`power Supply and not actively being used (e.g., an idle state).
`This is typically referred to as “sleep mode. The sleep mode
`of particular mobile devices may be different depending on
`the characteristics of the mobile device. For example, in the
`case where the mobile device has network access, (e.g., cel
`lular access, WiFi access, etc.), a sleep mode may include
`temporally putting the main processor to sleep and turning off
`the display, yet keeping the radio stack in an operable func
`tion. Thus, while in sleep mode, an exemplary mobile device
`may continue to receive phone calls and/or items of interest
`from notification services (e.g., email messages from a push
`email service and/or from a pull email service). Once
`received, the mobile device may be awakened to process
`those phone calls and/or notifications. For example, a mobile
`device awakes after receiving a phone call while in sleep
`mode so a user may answer the phone call. Additionally,
`typical mobile devices typically cannot refresh the data con
`text while in sleep mode (thus, a mobile device typically
`needs to be awake to refresh a data context).
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The invention may best be understood by referring to the
`following description and accompanying drawings that are
`used to illustrate embodiments of the invention. In the draw
`ings:
`FIG. 1 illustrates an exemplary computing environment
`according to one embodiment of the invention;
`FIG. 2 illustrates an exemplary flow for a mobile device
`establishing notification service connections and scheduling
`notification service connection message transmission inter
`vals according to one embodiment of the invention.
`FIG. 3A is a block diagram illustrating a framework of an
`exemplary mobile device to manage notification service con
`nections according to one embodiment of the invention;
`FIG.3B is a block diagram illustrating an exploded view of
`the notification service connection manager of FIG. 3A
`according to one embodiment of the invention;
`FIG. 4 is a flow diagram illustrating managing notification
`service connections according to one embodiment of the
`invention;
`FIG. 5 is an exemplary graph illustrating a mobile device
`synchronizing transmission of notification service connec
`
`Page 17 of 29
`
`

`

`US 8,135,392 B2
`
`3
`tion messages based on overlapping notification service con
`nection message transmission windows according to one
`embodiment of the invention;
`FIG. 6 is an exemplary state diagram illustrating optimiz
`ing notification service connection message intervals accord
`ing to one embodiment of the invention;
`FIG. 7 illustrates an exemplary graphical user interface of
`the mobile device according to one embodiment of the inven
`tion;
`FIG. 8 is a block diagram that illustrates an exemplary
`architecture of the mobile device to process notification mes
`sages according to one embodiment of the invention;
`FIG. 9 is a flow diagram illustrating exemplary operations
`for processing notification messages according to one
`embodiment of the invention;
`FIG. 10 is a block diagram that illustrates an alternative
`exemplary architecture of the mobile device to process noti
`fication messages according to one embodiment of the inven
`tion;
`FIG.11 is a flow diagram illustrating exemplary operations
`for processing notification messages according to one
`embodiment of the invention;
`FIG. 12 is a flow diagram illustrating exemplary operations
`when an application associated with the notification message
`is not currently executing according to one embodiment of the
`invention;
`FIG. 13 is a block diagram illustrating an exemplary
`mobile device according to one embodiment of the invention;
`and
`FIG. 14 is a block diagram illustrating an exemplary
`mobile device according to one embodiment of the invention.
`
`10
`
`15
`
`25
`
`30
`
`4
`The techniques shown in the figures can be implemented
`using code and data stored and executed on one or more
`electronic devices (e.g., a mobile device (e.g., laptop, palm
`top, portable media player, Smartphone, multimedia mobile
`phone, mobile gaming system, etc.), a non-mobile device
`(e.g., desktop computer, workstation, server, etc.). Such elec
`tronic devices store and communicate (internally and with
`other electronic devices over a network) code and data using
`machine-readable media, Such as machine storage media
`(e.g., magnetic disks; optical disks; random access memory;
`read only memory; flash memory devices) and machine com
`munication media (e.g., electrical, optical, acoustical or other
`form of propagated signals—such as carrier waves, infrared
`signals, digital signals, etc.). In addition, Such electronic
`devices typically include a set of one or more processors
`coupled to one or more other components, such as a storage
`device, one or more user input/output devices (e.g., a key
`board, a keypad, a touchscreen, and/or a display), and one or
`more network connections. The coupling of the set of proces
`sors and other components is typically through one or more
`busses and bridges (also termed as bus controllers). The Stor
`age device and signals carrying the network traffic respec
`tively represent one or more machine storage media and
`machine communication media. Thus, the storage device of a
`given electronic device typically stores code and/or data for
`execution on the set of one or more processors of that elec
`tronic device. Of course, one or more parts of an embodiment
`of the invention may be implemented using different combi
`nations of Software, firmware, and/or hardware.
`A method and apparatus for managing notification service
`connections is described. In one embodiment of the inven
`tion, a mobile device (e.g., laptop, palmtop, portable media
`player, Smartphone, multimedia mobile phone, mobile gam
`ing systems such as a "Gameboy', etc.) includes one or more
`notification service clients (e.g., push notification service cli
`ents (e.g., push email clients such as Mac, Microsoft
`Exchange, push-IMAP. Yahoo! Push, etc., update/upgrade
`services, news services, weblog services, podcast services,
`etc.) and/or pull notification service clients (e.g., pull email
`clients such as POP3, IMAP, etc.)). For each notification
`service client, the mobile device independently schedules a
`notification service connection message transmission interval
`and sets a notification service connection message transmis
`sion timer. In addition, a notification service connection mes
`sage transmission window is associated with each notifica
`tion service connection message transmission interval and is
`based on the value of the notification service connection
`message transmission interval. Upon a notification service
`connection message transmission timer expiring for a par
`ticular notification service client, the mobile device transmits
`a notification service connection message for that notification
`service, and also transmits a notification service connection
`message for each other notification service whose notification
`service connection message transmission window overlaps
`that expiring transmission timer. The mobile device resets the
`notification service connection message transmission timer
`for each notification service upon transmitting a notification
`service connection message.
`In one embodiment of the invention, for each notification
`service connection, the mobile device schedules a time to
`wake the mobile device, if the mobile device is in sleep mode,
`in order to transmit a notification service connection message.
`If the mobile device is awake at a certaintime, or is awakened
`during a scheduled wake at a certain time, the mobile device
`transmits a notification service connection message for each
`notification service whose notification service connection
`message transmission window overlaps that certaintime. The
`
`DETAILED DESCRIPTION
`
`In the following description, numerous specific details are
`set forth. However, it is understood that embodiments of the
`invention may be practiced without these specific details. In
`other instances, well-known circuits, structures and tech
`niques have not been shown in detail in order not to obscure
`the understanding of this description. In other instances, con
`trol structures, gate level circuits and full software instruction
`sequences have not been shown in detail in order not to
`obscure the invention. Those of ordinary skill in the art, with
`the included descriptions, will be able to implement appro
`priate functionality without undue experimentation.
`References in the specification to “one embodiment”, “an
`embodiment”, “an example embodiment’, etc., indicate that
`the embodiment described may include a particular feature,
`structure, or characteristic, but every embodiment may not
`necessarily include the particular feature, structure, or char
`acteristic. Moreover, Such phrases are not necessarily refer
`ring to the same embodiment. Further, when a particular
`feature, structure, or characteristic is described in connection
`with an embodiment, it is submitted that it is within the
`knowledge of one skilled in the art to effect such feature,
`structure, or characteristic in connection with other embodi
`ments whether or not explicitly described.
`In the following description and claims, the terms
`“coupled and “connected, along with their derivatives, may
`be used. It should be understood that these terms are not
`intended as synonyms for each other. “Coupled' is used to
`indicate that two or more elements, which may or may not be
`in direct physical or electrical contact with each other, co
`operate or interact with each other. “Connected' is used to
`indicate the establishment of communication between two or
`more elements that are coupled with each other.
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Page 18 of 29
`
`

`

`5
`mobile device resets the notification service connection mes
`sage transmission timer for each notification service after
`transmitting a notification service connection message.
`FIG. 1 illustrates an exemplary computing environment
`100 according to one embodiment of the invention. The com
`puting environment 100 includes the mobile devices 160 and
`170 which are each coupled with one or more network data
`access elements 150. The network data access element(s) 150
`may be part of various types of networks in different embodi
`ments of the invention, including cellular networks (e.g.,
`Global System for Mobile Communications (GSM),
`Enhanced Data Rates for GSM Evolution (EDGE), General
`Packet Radio Service (GPRS), Code Division Multiple
`Access (CDMA), Universal Mobile Telecommunications
`System (UMTS), or other cellular networks), Local Area
`Networks (LANs), etc. For example, if the network data
`access element(s) 150 are part of a GSM network, the network
`data access element(s) 150 may include one or more of base
`transceiver stations (BTSs), Base Station Controllers (BSCs),
`Mobile Switching Centers (MSCs), Serving GPRS Support
`Nodes (SGSNs), etc. As another example, if the network data
`access element(s) 150 are part of a LAN, the network data
`access element(s) 150 may include one or more network
`Switches, routers, hubs, modems, etc.
`The mobile device 160 includes the application processor
`162 and the network connectivity element(s) 164 (e.g., wire
`less network connectivity elements (e.g., radio network con
`nectivity elements for cellular telephony, WiFi network con
`nectivity elements), wired network connectivity elements
`(e.g., wired network interface controller(s) (NICs))). The
`mobile device 160 communicates with the network data
`access element(s) 150 via the network connectivity
`element(s) 164, through a data context (e.g., a PDP context).
`The Wide Area Network (WAN) 140 (e.g., the Internet) is
`coupled with the network data access elements 150. The push
`notification services 110 and 120 and the pull notification
`service 130 are coupled with the WAN 140. According to one
`embodiment of the invention, a user of the mobile device 160
`accesses and uses the push notification services 110 and 120
`and the pull notification service 130 (the push notification
`services 110 and 120 and the pull notification service 130
`provide items of interest for the user). For example, the push
`notification service 110 may be providing a personal push
`email account for the user of the mobile device 160 while the
`push notification service 120 may be providing a work push
`email account for the user of the mobile device 160. As
`another example, the pull notification service 130 may be
`providing an organizational pull email account (e.g., POP3
`email account, webmail account, etc.) for the user of the
`mobile device 160.
`In one embodiment of the invention, the application pro
`cessor 162 is the central processor of the mobile device 160.
`For example, the application processor 162 processes the
`operating system(s) of the mobile device 160 (the operating
`system is not illustrated in FIG. 1 in order not to obscure
`understanding of the invention), and any applications running
`on the mobile device 160. Other well known features of
`mobile devices are not illustrated in FIG. 1 in order not to
`obscure understanding of the invention, including input/out
`put devices, memory(ies), power Supply, displays, etc.
`According to one embodiment of the invention, the mobile
`device 160 is capable of entering into a reduced power mode,
`known as “sleep mode’. For example, if the mobile device
`160 is not coupled with a constant power Supply (e.g., not
`plugged into an electrical outlet), the mobile device 160 may
`periodically enter into sleep mode to conserve battery life of
`the device. The mobile device 160 may enter sleep mode in a
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 8,135,392 B2
`
`10
`
`15
`
`6
`number of different ways, including after a period of inactiv
`ity (e.g., 30 minutes of inactivity) and/or directly by com
`mand from a user (e.g., a user may issue a command to the
`mobile device 160 to enter into sleep mode). It will be under
`stood that other mechanisms of entering into sleep mode are
`within the scope of the invention.
`During sleep mode, according to one embodiment of the
`invention, the mobile device 160 temporarily disables the
`application processor 162 (the application processor 162 may
`consume virtually no power when temporarily disabled). It
`should be understood that if the application processor 162 is
`disabled, the operating system and applications of the mobile
`device 160 are also disabled. However, according to one
`embodiment of the invention, at least some of the network
`connectivity element(s) 164 are not temporarily disabled. In
`other words, at least some of the network connectivity ele
`ment(s) 164 may continue to receive information from the
`network data access elements 150, and use power. For
`example, if the mobile device 160 has the capability of receiv
`ing phone calls and/or text messages (e.g., Short Message
`Service (SMS) messages) the mobile device 160 may keep
`awake a radio connectivity element during sleep mode in
`order to receive phone calls and/or text messages. If the
`mobile device 160 disabled the radio connectivity element,
`for example, a user of the mobile device 160 would not be able
`to receive a phone call and/or text message (e.g., a phone call
`may instead be forwarded to voice mail if supported). It
`should be understood that in order to process those received
`phone calls and/or text messages (e.g., in order for a user to
`answer an incoming phone call), the mobile device 160 awak
`ens from sleep mode (e.g., re-enables the application proces
`sor 162).
`In addition, according to one embodiment of the invention,
`the mobile device 160 includes the capability of receiving
`items of interest from the push notification services 110-120
`during sleep mode. For example, at least Some of the network
`connectivity element(s) 164 have the capability of receiving
`the items of interest from the push notification services 110
`and 120 during sleep mode (e.g., email messages, calendar
`updates, weather updates, stock updates, etc.). In one embodi
`ment of the invention, a radio network connectivity element
`receives the items of interest sent from the push notification
`services 110 and 120 during sleep mode. Thus, during sleep
`mode, if the push notification services 110 and 120 provide
`push email serv

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket