`(12) Patent Application Publication (10) Pub. No.: US 2012/0272230 A1
`LEE
`(43) Pub. Date:
`Oct. 25, 2012
`
`US 2012027223 OA1
`
`(54) POWER SAVINGAPPLICATION UPDATE INA
`PORTABLE ELECTRONIC DEVICE
`
`(52) U.S. Cl. ......................................... 717/173; 717/171
`
`(75) Inventor:
`
`t HAN LEE, SAN JOSE, CA
`
`(73) Assignee:
`
`(21) Appl. No.:
`(22) Filed:
`
`APPLE INC., CUPERTINO, CA
`(US)
`13/090,007
`Apr. 19, 2011
`
`Publication Classification
`
`(51) Int. Cl.
`G06F 9/44
`
`(2006.01)
`
`ABSTRACT
`(57)
`A power savings mode for data updates is provided. The
`power savings mode prevents data updates to occur while a
`screen of a portable electronic device is turned off and the
`device is in a sleep state. The power savings mode waits until
`the screen is turned on and the portable electronic device is in
`a wake state before allowing applications and widgets to
`update data from network repositories. By preventing appli
`cations and widgets from updating data while the portable
`electronic device is in a sleep state, the power savings mode
`conserves battery life and network bandwidth by limiting
`possibly unnecessary data transmissions.
`
`21 N
`
`
`
`DATABASE
`UPDATE MODULE
`22
`
`DATA UPDATE
`DETERMINATION
`MODULE
`25
`
`SLEEP
`DETERMINATION
`MODULE
`26
`
`DATA UPDATE
`TRIGGER MODULE
`27
`
`ACTIVE
`APPLICATIONS
`AND
`WIDGETS
`24
`
`DATA UPDATE
`DATABASE
`23
`
`Page 1 of 18
`
`GOOGLE EXHIBIT 1009
`
`
`
`Patent Application Publication
`
`Oct. 25, 2012 Sheet 1 of 11
`
`US 2012/0272230 A1
`
`
`
`SSA (3)
`
`N
`
`O
`
`FIG. 1A
`
`Page 2 of 18
`
`
`
`Patent Application Publication
`
`Oct. 25, 2012 Sheet 2 of 11
`
`US 2012/0272230 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 3 of 18
`
`
`
`Patent Application Publication
`
`Oct. 25, 2012 Sheet 3 of 11
`
`US 2012/0272230 A1
`
`
`
`FIG. 2
`
`Page 4 of 18
`
`
`
`Patent Application Publication
`
`Oct. 25, 2012 Sheet 4 of 11
`
`US 2012/0272230 A1
`
`
`
`c:35, Breezy Thunderstorms Likely Rain
`Wind
`9mph
`Humidity
`84%
`Direction:
`NNE
`Precipitation: 0.24
`DeW Point 68
`Chance:
`99%
`
`FIG. 3A
`
`Page 5 of 18
`
`
`
`Patent Application Publication
`
`Oct. 25, 2012 Sheet 5 of 11
`
`US 2012/0272230 A1
`
`
`
`\
`N
`
`12
`
`SETTINGS
`DAYS HOURS MIN.
`
`Time Period Betw
`
`o
`ICE een
`Enable Power Saving Mode
`
`LOCation
`
`Cupertino, California
`
`Units
`
`Fahrenheit
`
`FIG. 3B
`
`Page 6 of 18
`
`
`
`Patent Application Publication
`
`Oct. 25, 2012 Sheet 6 of 11
`
`US 2012/0272230 A1
`
`
`
`A PORTABLE ELECTRONIC DEVICE IS RUNNING
`AN APPLICATION/WIDGET INA POWER SAVING
`MODE
`14
`
`IST TIME TO UPDATE
`DATA OF APPLICATIONS/WIDGETS?
`16
`
`IS THE PORTABLE ELECTRONIC
`DEVICE IN A SLEEP MODE
`18
`
`UPDATE APPLICATION/WIDGET DATA
`20
`
`FIG. 4
`
`Page 7 of 18
`
`
`
`Patent Application Publication
`
`Oct. 25, 2012 Sheet 7 of 11
`
`US 2012/0272230 A1
`
`
`
`12:00 PM
`
`Sunday, 22 February
`
`44
`
`26
`c: Breezy Thunderstorms Likely Rain
`Wind
`9 mph
`Humidity
`84%
`Direction:
`NNE
`Precipitation: 0.24
`DeWPoint: 68
`Chance,
`99%
`
`FIG. 5A
`
`Page 8 of 18
`
`
`
`Patent Application Publication
`
`Oct. 25, 2012 Sheet 8 of 11
`
`US 2012/0272230 A1
`
`
`
`FIG. 5B
`
`Page 9 of 18
`
`
`
`Patent Application Publication
`
`Oct. 25, 2012 Sheet 9 of 11
`
`US 2012/0272230 A1
`
`
`
`4.
`
`ck, Breezy Thunderstorms Likely Rain
`Wind
`9mph
`Humidity
`84%
`Direction
`NNE
`Precipitation: 0.24
`DeW Point: 68
`Chance:
`99%
`
`FIG. 5C
`
`Page 10 of 18
`
`
`
`Patent Application Publication
`
`Oct. 25, 2012 Sheet 10 of 11
`
`US 2012/0272230 A1
`
`
`
`4:00 PM
`
`Sunday, 22 February
`
`Y 2.É.
`
`citi, Breezy Thunderstorms Likely Rain
`Wind
`11 mph Humidity
`84%
`Direction:
`NNE
`Precipitation: 0.24
`DeW Point: 68
`Chance.
`99%
`
`FIG. 5D
`
`Page 11 of 18
`
`
`
`Patent Application Publication
`
`Oct. 25, 2012 Sheet 11 of 11
`
`US 2012/0272230 A1
`
`21
`
`
`
`DATABASE
`UPDATE MODULE
`22
`
`DATA UPDATE
`DETERMINATION
`MODULE
`25
`
`SLEEP
`DETERMINATION
`MODULE
`26
`
`DATA UPDATE
`TRIGGER MODULE
`27
`
`ACTIVE
`APPLICATIONS
`AND
`WIDGETS
`24
`
`DATA UPDATE
`DATABASE
`23
`
`FIG. 6
`
`Page 12 of 18
`
`
`
`US 2012/0272230 A1
`
`Oct. 25, 2012
`
`POWER SAVINGAPPLICATION UPDATE INA
`PORTABLE ELECTRONIC DEVICE
`
`BACKGROUND
`0001. An embodiment of the invention generally relates to
`a power saving system and method for updating data in an
`application or widget running on a portable electronic device.
`Other embodiments are also described.
`0002 Portable electronic devices receive and display
`numerous pieces of information to users. The information
`may be received through the Internet or any type of data
`network. Conventionally, users have retrieved and viewed
`information from data networks through websites formatted
`for web browsers. However, websites are often difficult to
`view on Smaller screens typically used on portable electronic
`devices. Accordingly, special purpose applications have been
`developed for portable electronic devices that properly for
`mat information typically viewed on a website for use on a
`portable electronic device's Small screen. In some cases, these
`special purpose applications may fully encompass the view
`ing area of the screen Such that a user can only view the
`contents of one active application. However, in other cases
`special purpose applications may be sized to encompass only
`a small area of a screen Such that multiple applications may be
`viewed simultaneously. These Smaller footprint applications
`are sometimes referred to as “widgets.”
`0003. Whether using a web-browser to view information
`or a special purpose application, these applications receive
`information through a network interface using either a push or
`pull protocol. For example, a portable electronic device with
`Internet connectivity may retrieve weather information for a
`user's hometown from a weather broadcast service. Such as
`The Weather Channel (www.weather.com). The National
`Weather Service (www.weather.gov). AccuWeather (www.
`accuweather.com), or a similar service. Upon receipt, the
`information is shown to a user on a screen of the portable
`electronic device through a visible user interface provided by
`a weather application.
`0004. In many cases, the constant changing of information
`results in the need to periodically update the data that is
`shown by the application. For example, a weather application
`may be configured to automatically retrieve and update its
`displayed data every hour. These updates take place even
`while the screen of the portable electronic device is shut off
`such that the weather application is not viewable to a user. In
`Some instances, data displayed in the application may be
`refreshed several times before the screen of the portable elec
`tronic device is turned on and viewed by a user. Each
`unviewed data update thus consumes battery power and net
`work bandwidth, without providing a benefit to the user since
`the results were never viewed.
`
`SUMMARY
`0005. Many portable electronic devices include various
`applications and widgets that rely on periodically obtaining
`data from remote network repositories. After The updated
`data is typically shown to a user on a screen of the portable
`electronic device only when the screen has been turned on and
`the device has exited a sleep state. There is a need for a power
`saving mode that efficiently controls the update of Such data.
`0006 An embodiment of the invention provides a power
`savings mode for data updates. The power savings mode
`prevents data updates from taking place, while a screen of the
`
`portable electronic device is turned off and the device is in a
`sleep state. In one embodiment, the power savings mode
`waits until the screen is turned on and the portable electronic
`device is in a wake state, before allowing a given application
`orwidget to update data from network repositories. In another
`embodiment, the power savings mode prevents a given appli
`cation or widget from updating its data while the device is in
`its sleep state, until a predetermined user command is
`detected or received, e.g. a physical home button being
`pressed, an audible pattern being recognized (using a micro
`phone), or a movement pattern being recognized (using a
`position, orientation or movement sensor). By preventing the
`application or widget from updating data while the portable
`electronic device is in a sleep state, the power savings mode
`may conserve battery energy and network bandwidth by lim
`iting possibly unnecessary network data transmissions.
`0007. The above summary does not include an exhaustive
`list of all aspects of the present invention. It is contemplated
`that the invention includes all systems and methods that can
`be practiced from all suitable combinations of the various
`aspects Summarized above, as well as those disclosed in the
`Detailed Description below and particularly pointed out in the
`claims filed with the application. Such combinations have
`particular advantages not specifically recited in the above
`Summary.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0008. The embodiments of the invention are illustrated by
`way of example and not by way of limitation in the figures of
`the accompanying drawings in which like references indicate
`similar elements. It should be noted that references to “an or
`“one' embodiment of the invention in this disclosure are not
`necessarily to the same embodiment, and they mean at least
`OC.
`0009 FIG. 1a shows a portable electronic device running
`an operating system and one or more applications or widgets,
`in accordance with an embodiment of the invention.
`0010 FIG. 1b shows a portable electronic device con
`nected to a wireless data network and a wireless telephone
`network, in accordance with an embodiment of the invention.
`0011
`FIG. 2 shows a lock screen application running on
`the portable electronic device while the portable electronic
`device 1 is in a wake state.
`0012 FIG. 3a shows the portable electronic device run
`ning a lock screen application and a weather widget in a wake
`State.
`0013 FIG. 3b shows a configuration panel for a weather
`widget, in accordance with an embodiment of the invention.
`0014 FIG. 4 shows a method for updating data on the
`portable electronic device using a power saving mode, in
`accordance with an embodiment of the invention.
`(0015 FIGS. 5a-5d show screen displays of the portable
`electronic device while the method of FIG. 4 is being per
`formed.
`0016 FIG. 6 shows a power saving data update system, in
`accordance with an embodiment of the invention.
`
`DETAILED DESCRIPTION
`0017 Several embodiments of the invention with refer
`ence to the appended drawings are now explained. While
`numerous details are set forth, it is understood that some
`embodiments of the invention may be practiced without these
`details. In other instances, well-known circuits, structures,
`
`Page 13 of 18
`
`
`
`US 2012/0272230 A1
`
`Oct. 25, 2012
`
`and techniques have not been shown in detail so as not to
`obscure the understanding of this description.
`0018 FIG. 1a shows a portable electronic device 1 that is
`running an operating system and one or more applications or
`widgets. The portable electronic device 1 may be a personal
`digital assistant, a Smartphone, a portable audio device, or
`any similar apparatus. For example, the portable electronic
`device 1 may be an iPhoneTM device, an iPadTM device oran
`iPodTM device by Apple Inc. of Cupertino, Calif. The portable
`electronic device 1 includes a display screen 2, a home menu
`button 4, and a power on/off button 6. In one embodiment, the
`display Screen 2 may be a touch screen, which can detect the
`presence and location of a touch within the display Screen 2,
`which may be used for essentially all user input. In other
`embodiments, a physical QWERTY keypad is provided for
`the user input. The device 1 may also include audio volume
`buttons and a call ringer on/off button. An example home
`menu of a graphical user interface is shown in FIG. 1, with
`graphic icons representing various applications stored in the
`device 1 and that can be executed therein.
`0019. The display screen 2 displays graphics and text out
`put by applications, widgets, and the operating system run
`ning on the portable electronic device 1. The term “applica
`tion' is used generically here to encompass both full-featured
`applications and apps, which typically take up the entire
`display Screen of a Smart phone device when opened, and
`widgets which are miniature programs that have much more
`limited functionality and can “reside a lock screen of the
`device while displaying data that is being periodically
`updated. A widget can also be an interactive portal to its
`parent app. Examples include a clock widget, a calendar
`widget, a stock ticker widget, and a weather widget. Multiple
`applications may be viewable on the display screen 2 at a
`single time, or a single application may be expanded to the
`entire viewing area of the display screen 2.
`0020. The device 1 includes the necessary hardware and
`Software to manage turning on and off the display Screen 2
`and the sleep and wake modes of the device, to enable effi
`cient use of the device's battery (not shown). The display
`screen 2 is turned off when the portable electronic device 1
`enters the sleep state while the display screen 2 is turned on
`when the portable electronic device 1 exits the sleep state and
`enters awake state. The home button 4 may be used to turn the
`display screen 2 on (i.e. transition the device 1 from a sleep
`state to a wake state). The power button 6 may be used to
`toggle the display Screen 2 on and off (i.e. transition the
`device 1 between wake and sleep states) and to toggle the
`entire device 1 on and off (i.e. force a power on reset and
`completely power down the device 1). For example, when the
`display screen2 is on (e.g. lit and in awake state), pressing the
`power button 6 for a short duration (e.g. holding it for no more
`than 1 Second) may toggle the display Screen 2 off (e.g. unlit
`and in a sleep state) but not completely power down the device
`1. In one embodiment, when the display screen 2 is off, all
`touch sensitive controls on the display Screen 2 are disabled.
`While the portable electronic device 1 can still receive data,
`phone calls and play music/audio when the display screen 2 is
`off and the device 1 is in a sleep state, user input via the
`display Screen 2 is disabled. Additionally, pressing the power
`button 6 for a short duration while the display screen 2 is
`turned off turns the display Screen 2 on and the touch sensi
`tivity of the display screen 2 is reactivated.
`0021. As noted above, the powerbutton 6 may also be used
`to toggle power to the entire device 1. For example, when
`
`powered on in either a sleep or wake state, holding the power
`button 6 down for a relatively long duration, e.g. more than 1
`second, powers down the device 1 completely. When powered
`down, the device 1 cannot transmit or receive data, initiate or
`answer phone calls, process any data, etc. When the device 1
`is powered off, holding the power button 6 down for a rela
`tively long duration causes a power-on-reset for the entire
`device 1.
`0022. Similar to the power button 6, the home button 4
`may be configured to toggle the device 1 from sleep state to
`wake State, when pressed for essentially any duration.
`0023 The portable electronic device 1 includes an oper
`ating system that manages hardware resources and provides
`common services to various applications running on the oper
`ating system. For example, the operating system installed on
`the portable electronic device 1 may manage memory alloca
`tion, network interfaces, audio circuitry, and external inter
`faces. Example operating systems include iOS by Apple Inc.
`and Symbian by Nokia.
`0024. With the assistance of the installed operating sys
`tem, the device 1 Supports a variety of applications, such as a
`telephone application for receiving/placing phone calls, a
`lock screen application, a weather widget, a stock quote wid
`get, a blogging widget, a web browser application, etc. An
`application running on the portable electronic device 1 may
`access a network interface through a system call to the
`installed operating system. The network interface provides
`the applications with access to networks and external sources
`of data using a variety of communications standards, proto
`cols, and technologies as introduced above. For example, as
`shown in FIG. 1b, the portable electronic device 1 may
`include network interfaces that allow the device 1 to connect
`to both wireless data networks and wireless telephone net
`works to access weather report and stock quote services.
`0025 FIG. 2 shows an “unlock screen” of a lock screen
`application running on the portable electronic device 1 in a
`wake State. The display Screen 2 is turned on, and the user is
`being prompted to unlock or enable the user interface of the
`device 1. The lock screen application may be a standalone
`application that runs on top of the operating system, or the
`lock screen application may be a service that is integrated as
`part of the operating system.
`0026. The lock screen application prevents unauthorized
`access or inadvertent use of the portable electronic device 1.
`As shown in FIG. 2, with the assistance of the lock screen
`application, the user interface of the portable electronic
`device 1 is maintained in a locked State until the user “manu
`ally” commands the application to unlock the device 1. In the
`locked State, the unlock screen contains a graphic that
`prompts the user to slidea finger over a predetermined path on
`the display screen 2 to unlock the device 1. In other embodi
`ments, the user may be directed to enteran alphanumeric code
`or other pattern (e.g. a movement pattern) to unlock the device
`1. Note that there may be a password prompt after a physical
`button has been pressed but before the device 1 is “unlocked’,
`requiring the user to enter a secret password before the user
`interface of the device 1 can be normally used in its wake
`State.
`0027. In the locked state, the lock screen may display
`various pieces of data to the user. For instance, in FIG. 2, time
`of day, date, data rate, and battery status are shown. The
`information may instead or in addition include the number of
`missed calls, the number of unread SMS and/or MMS mes
`sages, the number of unheard Voicemail messages, etc. In one
`
`Page 14 of 18
`
`
`
`US 2012/0272230 A1
`
`Oct. 25, 2012
`
`embodiment, one or more widgets may be “placed on the lock
`screen’. Such as a weather widget or a stock ticker widget.
`These may display data that is periodically updated (also
`referred to as dynamic content) from external sources. In one
`embodiment, these external sources are accessed through a
`network interface of the portable electronic device.
`0028 FIG.3a shows the portable electronic device 1 run
`ning a lock screen application in a wake state. The lock or
`unlock screen being displayed in this example includes a
`weather widget 10 that is positioned at a center portion of the
`lock screen. Although a weather widget 10 is shown and
`described, any other similar type of widget (e.g. a stock wid
`get that displays up to date stock price data or news relating to
`a particular stock, a sports widget that displays up to date
`score data or professional sports news, a blog widget that
`displays the latest posts made to aparticular blog, etc.) may be
`used. The use of the weather widget 10 is merely for purposes
`of explanation.
`0029. The weather widget 10 shows the current weather
`for a location designated by the user. For example, the
`weather widget 10 may show the current temperature, wind
`direction, wind speed, barometric pressure, humidity, and
`other similar pieces of data for a designated city or location.
`The weather widget 10 may retrieve this weather data from an
`external data source through a network interface using either
`a push or pull protocol. For example, the external source may
`be a weather broadcast service or server that is accessible over
`the Internet, such as The Weather Channel (www.weather.
`com). The National Weather Service (www.weather.gov),
`AccuWeather (www.accuweather.com), or a similar service.
`To access such a server over the Internet, the weather widget
`10 utilizes an appropriate network interface of the portable
`electronic device such as a WiFi wireless local area network
`interface, and various cellular network interfaces such as a
`GSM network interface, an EDGE network interface, a
`HSDPA network interface, a W-CDMA network interface, a
`CDMA network interface, or a TDMA network interface.
`0030 FIG. 3b shows a configuration panel 12 that is being
`displayed once the user interface of the device 1 has been
`unlocked for the weather widget 10. The configuration panel
`12 allows the user to select various settings for the weather
`widget 10. In one of the settings, the user may select a time
`period between periodic updates of weather data. A time
`period between periodic updates may be set to a desired
`number of minutes, hours, or days. Since, weather conditions
`are not rapidly changing, this level of granularity is Sufficient.
`However, other widgets may require a greater frequency of
`updates. For example, for a stock quotes widget it may be
`necessary to adjust periodic updates in terms of seconds,
`because Stock quotes/prices change extremely rapidly.
`0031
`FIG. 3b also shows a configuration setting for acti
`Vating/deactivating of a power saving mode. The power Sav
`ing mode regulates when the weather widget 10 updates data.
`In one embodiment, when activated, the power saving mode
`restricts the weather widget 10 from downloading data while
`the portable electronic device is in a sleep state (e.g. the
`display screen is off). Accordingly, any periodic updates that
`are scheduled to occur while the portable electronic device 1
`is in the sleep state are not performed until the portable
`electronic device 1 transitions from the sleep state to a wake
`State.
`0032. Although the above description refers to a widget
`appearing on a lock screen of the portable electronic device 1,
`a stand-alone full-featured application running on the por
`
`table electronic device 1, but that does not have a correspond
`ing widget appearing in the lock screen, may also be config
`ured with the power saving mode as described herein. For
`example, a stand-alone stock application may be running on
`the portable electronic device 1 in a power saving mode.
`While the portable electronic device 1 is in a sleep state, the
`stand-alone stock application is not allowed to update data
`from an external data source using the network interface. All
`such scheduled data updates wait for the portable electronic
`device 1 to enter a wake state before being performed.
`0033 FIG. 4 shows a method for updating application data
`on the portable electronic device 1 while operating in a power
`saving mode, according to one embodiment of the invention.
`An application may store the time of its next scheduled data
`update. At operation 14, the process begins when a power
`saving mode for the application has been selected. Selection
`of the power saving mode may be universal, that is for all
`applications running on the portable electronic device 1,
`using a user configurable setting provided by the operating
`system. In this embodiment, upon selection of the power
`saving mode, the operating system may create and update a
`database with the next scheduled data update of each active
`application. Alternatively, an application may be individually
`set to operate in the power saving mode, using a configurable
`setting provided by the application.
`0034. After selecting a power saving mode, the method of
`FIG. 4 determines if it is time to perform a data update at
`operation 16. In embodiments in which each individual appli
`cation controls their own power saving mode, operation 16
`may be performed asynchronously by each application. An
`application may determine if it is time to perform a data
`update by comparing the current time (maintained by the
`operating system) with its next scheduled data update time,
`which was stored earlier at operation 14.
`0035. In embodiments in which the operating system con
`trols updates for each application that is in a power saving
`mode, operation 16 is performed synchronously by the oper
`ating system for each active application. The operating sys
`tem may determine if it is time to perform a data update for a
`given active application by querying a database for Scheduled
`data updates (see operation 14) that occur at or before the
`current time. Based on this comparison, the operating system
`may create a list of applications that are scheduled to update
`data. Operation 16 repeats until at least one application or
`widget is to update its data. In one embodiment, operation 16
`repeats at a set interval (e.g. every 5 seconds).
`0036 Upon the determination that an application or wid
`get is to update its data now, operation 18 determines if the
`portable electronic device 1 is in a sleep state. As described
`above, the portable electronic device 1 is in a sleep state when
`the display screen is turned off. Conversely, when the display
`screen is turned on, the portable electronic device 1 is in a
`wake state. Operation 18 continues to operate until the por
`table electronic device 1 is determined to not be in a sleep
`state. In embodiments in which the operating system controls
`data updates for each application that is in a power saving
`mode, the method may return to operation 16 after operation
`18 determines the portable electronic device 1 is in a sleep
`state. Returning to operation 16 allows the method to add
`additional applications to the list of applications that need to
`update their data “now”.
`0037. In one embodiment, the device 1 determines that it is
`no longerina sleep state when the operating system detects or
`receives a user command to exit the sleep state. For instance,
`
`Page 15 of 18
`
`
`
`US 2012/0272230 A1
`
`Oct. 25, 2012
`
`a processor interrupt may be signaled by the home menu
`button being pressed. This would be followed with other
`operations that are more formally within the definition of
`wake state, such as turning on the display Screen and enabling
`user input (e.g. alphanumeric text via a touch screen or via a
`physical keyboard) for unlocking the user interface of the
`device 1.
`0038. After determining that the portable electronic
`device 1 is not in a sleep state, operation 20 triggers the "now
`due applications in its list to update their data. In embodi
`ments in which the operating system controls data updates for
`each application that is in a power saving mode, the operating
`system sends an update message to the application to update
`its data. In response to the update message, the applications
`establish a connection with an external data source and then
`download its latest data. After updates have been completed at
`operation 20, the method may clear the list of applications
`that need to update their data now and returns to operation 16.
`The method continues to operate as long as a running appli
`cation is in a power saving mode.
`0039. An example operation of the method of FIG. 4 will
`be described, while referring to various embodiments. FIGS.
`5a-5d show a portable electronic device 1 performing the
`method of FIG. 4.
`0040 FIG. 5a shows a lock screen of the portable elec
`tronic device 1 that is in a wake state at 12:00 PM. The lock
`screen includes a weather widget with a power saving mode
`selected, and a clock widget. The weatherwidget is scheduled
`to update every three hours. In this example, the weather
`widget has just updated and is scheduled to update again at
`3:00 PM.
`004.1 FIG.5b shows the portable electronic device 1 in a
`sleep state at 12:01 PM. The device may enter the sleep state
`by pressing the power button for a short duration as explained
`above. Since the device 1 is in a sleep state, the lock screen
`and associated widget is not viewable on the display Screen 2.
`Further any updates scheduled to take place while the por
`table electronic device 1 is in a sleep state, will not take place
`until the device 1 enters a wake state.
`0042 FIG. 5c shows the portable electronic device 1 at
`4:00 PM immediately after entering a wake state for the first
`time since 12:00 PM. The portable electronic device 1 may
`enter a wake state by a user pressing either the power button
`6 or home button 4, in response to which the display screen 2
`is turned on. As seen in FIG.5c, the weather data shown in the
`weather widget is identical to the weather data from FIG.5a.
`The data is identical because as explained above no data
`updates were performed while the portable electronic device
`1 was in a sleep state. Even though an update was scheduled
`for 3:00 PM, this update was rescheduled/delayed until after
`the portable electronic device 1 entered awake state. Thus, in
`this embodiment, the display screen 2 is turned on without
`first updating any widgets that are visible in it, showing the
`original state of the widget from its previous update.
`0043. In one embodiment, the device 1 determines if the
`device is in a sleep state by accessing an application program
`ming interface (API) provided by the operating system of the
`device. The sleep and wake states of the device 1 may be
`defined using a power management array. The first element in
`the array contains the structure that describes the sleep state
`and the second element of the array contains the structure that
`describes the wake state of the device 1. For example, the
`array and the corresponding structures may be defined in
`objective C as follows:
`
`// Declare an array of two IOPMPowerState structures
`(kMyNumberOfStates = 2).
`static IOPMPowerState myPowerStateskMyNumberOfStates):
`if Zero-fill the structures.
`bzero (myPowerStates, sizeof myPowerStates));
`fi Fill in the information about the device's 1 sleep state:
`myPowerStates.Oversion = 1;
`myPowerStates.O.capabilityFlags = kIOPMPowerOff:
`myPowerStates(O).outputPowerCharacter = kIOPMPowerOff:
`myPowerStates.O.inputPowerRequirement = kIOPMPowerOff;
`myPowerStates.O.screenPower = kIOPMPowerOff:
`if Fill in the information about the device's 1 wake state:
`myPowerStates1.version = 1;
`myPowerStates1.capabilityFlags = kIOPMPowerOn;
`myPowerStates1.outputPowerCharacter = kIOPMPowerOn;
`myPowerStates1.inputPowerRequirement = kIOPMPowerOn;
`myPowerStates1.screenPower = kIOPMPowerOn;
`
`0044) The state of the device 1 may thereafter be deter
`mined by comparing the value in the power management
`array against the device's 1 current state. If the device 1 is
`determined to be in a wake mode, a data update is performed.
`An example function, which may be used by a widget or
`standalone application to update data, is shown below:
`
`void MyIOServiceDriver::powerSavingData Update (IOService *
`whatDevice )
`if (whatDevice-powerState == myPowerStates1.screenPower) {
`i. In wake state.
`performDataUpdate();
`
`// In sleep state.
`return;
`
`FIG. 5d shows the portable electronic device 1 a
`004.5
`short period of time (less than a minute and in general on the
`order of a few seconds) after the display screen 2 was turned
`on (in FIG.5c) wake state. The weather widget has performed
`its data update, which was originally scheduled for 3:00 PM
`and the data being displayed in the weather widget is now
`different from the original data shown in FIG. 5c.
`0046) Note that as an alternative, the display screen 2
`could be turned on (in response to the home menu button 4
`being pressed) but without the original state of the weather
`widget being displayed. In that case, there would be a short
`delay after the screen is turned on, while the weather widget
`updates its data, before its icon showing the updated data
`appears on the display Screen 2.
`0047 Turning now to FIG. 6, a power saving data update
`system 21 will be described. The power saving data update
`system of FIG. 6 is capable of controlling multiple applica
`tions that may be running in a portable electronic device 1. As
`will be further described below, the power saving data update
`system may be used to perform the power saving update
`method of FIG. 4.
`0048. The power saving data update system 21 operates
`when at least one application has been selected to use a power
`saving mode. The applications may individually select to use
`a power saving mode through a user configuration panel
`provided by each application and widget. Alternatively, a
`
`Page 16 of 18
`
`
`
`US 2012/0272230 A1
`
`Oct. 25, 2012
`
`global setting may be provided by the operating system,
`which requires all applications and widgets