Embodiments of the present invention relate generally to displaying power consumption indicators and, more particularly, relate to an apparatus, method and a computer program product configured to calculate a power consumption segment and provide for display of a power consumption indicator defining a graphical characteristic corresponding to the power consumption segment.
In order to provide easier or faster information transfer and convenience, telecommunication industry service providers are continually developing improvements to existing communication networks. As a result, wireless communication has become increasingly more reliable in recent years. Along with the expansion and improvement of wireless communication networks, mobile terminals used for wireless communication have also been continually improving. In this regard, due at least in part to reductions in size and cost, along with improvements in battery life and computing capacity, mobile terminals have become more capable, easier to use, and cheaper to obtain. Due to the now ubiquitous nature of mobile terminals, people of all ages and education levels are utilizing mobile terminals to communicate with other individuals or contacts, receive services and/or share information, media and other content.
With the proliferation of mobile terminals, and given the variety of services beyond just placing phone calls that can be accomplished with mobile terminals, many individuals are finding mobile terminals to be important parts of their work and social lives. Thus, being able to rely upon the availability of the mobile terminal is an important consideration for many users. However, since mobile terminals may run on battery power, and since the number of functions they can perform are often numerous, battery conservation is a constant concern for mobile terminal users and therefore balancing use of the mobile terminal with power consumption becomes an issue. In this regard, for example, if a user is waiting for a bus or an airplane and wants entertainment, or if a user is lost or has an accident in a remote location, the user would almost certainly like to have as much battery power available as possible despite the fact that the user may have been utilizing the mobile terminal for routine functions and tasks in the meantime. Thus, the saving of battery power is important.
To improve battery life, of course, better batteries could be produced. However, the way in which a device is operated may also influence battery life. Accordingly, many operational factors have been modified in order to assist in increasing battery life. However, prior battery saving techniques have not provided users with easily understandable information regarding power consumption and the desired level of control over the balance between user terminal functionality and battery life.
A method, apparatus and computer program product are therefore provided that calculate a power consumption segment and provide for display of a power consumption indicator, thereby allowing a user to conveniently view and interact with the power consumption of an apparatus.
In an example embodiment, an improved apparatus comprises at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to calculate a power consumption segment, provide for display of a power consumption indicator defining a graphical characteristic corresponding to the power consumption segment, and provide for selection of the power consumption indicator to interact with the power consumption segment.
In an additional example embodiment a method comprises calculating a power consumption segment via a processor, providing for display of a power consumption indicator defining a graphical characteristic corresponding to the power consumption segment, and providing for selection of the power consumption indicator to interact with the power consumption segment.
In a further example embodiment a computer program product comprises at least one computer-readable storage medium having computer-executable program code portions stored therein, the computer-executable program code portions comprising program code instructions for calculating a power consumption segment, program code instructions providing for display of a power consumption indicator defining a graphical characteristic corresponding to the power consumption segment, and program code instructions providing for selection of the power consumption indicator to interact with the power consumption segment.
Accordingly, embodiments of the present invention may calculate power consumption segments and provide for display of power consumption indicators to thereby facilitate interaction with the power consumption of an apparatus.
Having thus described embodiments of the present disclosure in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
Some embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the invention are shown. Indeed, various embodiments of the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Like reference numerals refer to like elements throughout. As used herein, the terms “data,” “content,” “information” and similar terms may be used interchangeably to refer to data capable of being transmitted, received and/or stored in accordance with embodiments of the present invention. Moreover, the term “exemplary”, as used herein, is not provided to convey any qualitative assessment, but instead merely to convey an illustration of an example. Thus, use of any such terms should not be taken to limit the spirit and scope of embodiments of the present invention.
As used herein, the term ‘circuitry’ refers to (a) hardware-only circuit implementations (for example, implementations in analog circuitry and/or digital circuitry); (b) combinations of circuits and computer program product(s) comprising software and/or firmware instructions stored on one or more computer readable memories that work together to cause an apparatus to perform one or more functions described herein; and (c) circuits, such as, for example, a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation even if the software or firmware is not physically present. This definition of ‘circuitry’ applies to all uses of this term herein, including in any claims. As a further example, as used herein, the term ‘circuitry’ also includes an implementation comprising one or more processors and/or portion(s) thereof and accompanying software and/or firmware. As another example, the term ‘circuitry’ as used herein also includes, for example, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, other network device, and/or other computing device.
As indicated above, embodiments of the present invention may be employed in methods, apparatuses and computer program products configured to calculate a power consumption segment and provide for display of a power consumption indicator defining a graphical characteristic corresponding to the power consumption segment. In this regard, for example,
As shown in
In some embodiments the user terminal 10 may be capable of communicating with other devices, either directly, or via a network 30. The network 30 may include a collection of various different nodes, devices or functions that may be in communication with each other via corresponding wired and/or wireless interfaces. As such, the illustration of
In an example embodiment, an apparatus 50 is provided that may be employed by devices performing example embodiments of the present invention. The apparatus 50 may be embodied, for example, as any device hosting, including, controlling or otherwise comprising the user terminal 10. However, embodiments may also be embodied on a plurality of other devices such as for example where instances of the apparatus 50 may be embodied on the network 30. As such, the apparatus 50 of
With further regard to
The processor 70 may be embodied in a number of different ways. For example, the processor 70 may be embodied as one or more of various processing means such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), processing circuitry with or without an accompanying DSP, or various other processing devices including integrated circuits such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), a hardware accelerator, a special-purpose computer chip, or the like. In an example embodiment, the processor 70 may be configured to execute instructions stored in the memory device 76 or otherwise accessible to the processor. Alternatively or additionally, the processor 70 may be configured to execute hard coded functionality. As such, whether configured by hardware or software methods, or by a combination thereof, the processor 70 may represent an entity (for example, physically embodied in circuitry) capable of performing operations according to embodiments of the present invention while configured accordingly. Thus, for example, when the processor 70 is embodied as an ASIC, FPGA or the like, the processor 70 may be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processor 70 is embodied as an executor of software instructions, the instructions may specifically configure the processor to perform the algorithms and/or operations described herein when the instructions are executed. However, in some cases, the processor 70 may be a processor of a specific device (for example, a mobile terminal or network device such as a server) adapted for employing embodiments of the present invention by further configuration of the processor by instructions for performing the algorithms and/or operations described herein. The processor 70 may include, among other things, a clock, an arithmetic logic unit (ALU) and logic gates configured to support operation of the processor. In some embodiments the processor 70 may run an operating system configured to execute the applications.
Meanwhile, the communication interface 74 may be any means such as a device or circuitry embodied in either hardware, software, or a combination of hardware and software that is configured to receive and/or transmit data from/to a network and/or any other device or module in communication with the apparatus 50. In this regard, the communication interface 74 may include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network (for example, network 30). In fixed environments, the communication interface 74 may alternatively or also support wired communication. As such, the communication interface 74 may include a communication modem and/or other hardware/software for supporting communication via cable, digital subscriber line (DSL), universal serial bus (USB), Ethernet, High-Definition Multimedia Interface (HDMI) or other mechanisms. Furthermore, the communication interface 74 may include hardware and/or software for supporting communication mechanisms such as BLUETOOTH®, Infrared, UWB, WiFi, and/or the like, which are being increasingly employed in connection with providing home connectivity solutions.
The user interface 72 may be in communication with the processor 70 to receive an indication of a user input at the user interface and/or to provide an audible, visual, mechanical or other output to the user. As such, the user interface 72 may include, for example, a keyboard, a mouse, a joystick, a display, a touch screen, a microphone, a speaker, a ringer or other input/output mechanisms.
The processor 70 may comprise user interface circuitry configured to control at least some functions of one or more elements of the user interface 72, such as, for example, the speaker, the ringer, the microphone, the display, and/or the like. The processor 70 and/or user interface circuitry comprising the processor may be configured to control one or more functions of one or more elements of the user interface 72 through computer program instructions (for example, software and/or firmware) stored on a memory accessible to the processor (for example, memory device 76, and/or the like).
In some embodiments the apparatus 50 may include a battery 78, or other power supply. Although the apparatus 50 and associated method and computer program products are generally described herein as being applicable to embodiments in which the power supply may be depleted, in other embodiments the power supply may be substantially capable of powering the apparatus for an unlimited duration. For example, in some embodiments the power supply may comprise a commercial power supply such that electricity is provided by a commercial power plant via power lines. Thus, embodiments may be applicable to applications in which energy consumption is of concern, regardless of the capacity of the power supply.
Accordingly, in some embodiments the apparatus 50 may include a power consumption calculator 80. The processor 70 may be embodied as, include or otherwise control the power consumption calculator 80. The power consumption calculator 80 may employ or embody logic which calculates the power consumption level of the apparatus 50 or other device such as the user terminal 10 when embodied therein. Further, the power consumption calculator 80 may be configured to calculate one or more power consumption segments. Power consumption segments, as used herein, refer to portions of the total power consumption of the device. For example, in some embodiments power consumption segments may be calculated by the power consumption calculator 80 for various functions performed by the device. For example, as will be described below, in some embodiments functions may include voice calls, web browsing, audio playback, etc. Additionally or alternatively power consumption segments may be calculated by the power consumption calculator 80 for one or more components of the device. For example, as will also be described below, in some embodiments components may include 3G components, user interface components, such as the user interface 72, and memory such as the memory device 76. Thus, components may refer to hardware components of the device embodying the apparatus 50 in some embodiments.
Further, the power consumption calculator 80 may calculate the power consumption segments in terms of power consumption of currently active components/functions and/or past power consumption of components/functions, and in either case the power consumption may in some embodiments be calculated as an average. Further, in some embodiments, the power consumption calculator 80 may calculate predicted power consumption of the device. Predicted power consumption segments may, for example, be based on current and/or past power consumption levels of the components of the device and/or the functions performed by the device. Additionally, in some embodiments the power consumption calculator 80 may be configured to calculate the remaining operating time for the device which may be, for example, based on the past power consumption levels of the device. Further, the power consumption calculator 80 may be configured to calculate the remaining operating time for the device based on operation of the device using a certain component or function. For example, the power consumption calculator 80 may in some embodiments calculate the remaining operating time for the device based on use of the device in a voice call mode. Calculations by the power consumption calculator 80 relating to remaining operating time may be based on the present power level of the battery 78, which may in some embodiments be calculated by the power consumption calculator or a separate device.
In some embodiments the apparatus 50 may further include a power consumption mapping module 82. The processor 70 may be embodied as, include or otherwise control the power consumption mapping module 82. The power consumption mapping module 82 may be configured to provide for display of a power consumption indicator defining a graphical characteristic corresponding to a power consumption segment. Accordingly, as will be described below, the apparatus 50 may provide a user with a visual representation of power consumption.
In this regard,
In this regard, the power consumption mapping module 82 may provide for output of a tree map of the power consumption indicators. Thereby, for example, the size (e.g., area), color, and/or other graphical characteristic of the power consumption indicators 100-114 may be selected by the power consumption mapping module 82 to correspond with the respective power consumption segments. Thus, for example,
In addition to displaying the power consumption indicators 100-114, the user terminal 10 may also provide for selection of the power consumption indicators 100-114 to thereby allow the user to interact with the respective power consumption segments. For example, the user may interact with a power consumption segment by selecting one of the power consumption indicators in order to receive more information regarding the selected power consumption indicator. Thus, by way of example, when the a power consumption indicator is selected, the user terminal 10 may provide for display of a power consumption sub-segment indicator defining a sub-segment graphical characteristic corresponding to the power consumption sub-segment. For example, the power consumption mapping module 82 may create a new tree map displaying power consumption sub-segment indicators.
In this regard,
Thus, as noted above, the user terminal 10 may provide for selection of a power consumption indicator. Further, in some embodiments the user terminal 10 may provide for selection of a power consumption indicator by zooming in on a portion of the displayed power consumption indicators for example by using hand gestures. Thereby the user terminal 10 may display power consumption sub-segment indicators corresponding to one of the power consumption indicators. However, in some embodiments, the user terminal 10 may be configured to zoom in such that multiple power consumption indicators are selected. Thereby power consumption sub-segment indicators corresponding to multiple power consumption indicators may be displayed in some embodiments at the same time. Further, in some embodiments the user terminal 10 may be configured to display both power consumption indicators and power consumption sub-segment indicators at the same. Thus, in some embodiments a recursive tree map algorithm may be employed such that nested power consumption sub-segment indicators are displayed at the same time power consumption indicators are employed.
As previously discussed, the power consumption mapping module 82 may provide for display of the power consumption indicators 200-214 defining graphical characteristics corresponding to the respective power consumption segments. In this regard, for example, the power consumption mapping module 82 may provide the power consumption indicators which correspond to greater power consumption segments with larger sizes than those power consumption indicators corresponding to lesser power consumption segments. Accordingly, for example, in the embodiment illustrated in
Additionally, as indicated above, the power consumption calculator 80 may in some embodiments calculate the remaining operating time for the device. The power consumption calculator 80 may also be configured to calculate the remaining operating time for the device corresponding to performance of a particular function or use of a particular component. In this regard the power consumption mapping module 82 may be configured to display the remaining operating time for the user terminal 10. For example, power consumption calculator 82 may provide for display of a power consumption indicator for audio playback which is larger than the power consumption indicator for video playback. In such instances, the graphical characteristic may comprise the size of the power consumption indicators, and a larger size may correspond to a greater remaining operating time. Accordingly, for example, a larger power consumption indicator for audio playback may allow a user to see that use of audio playback functionality may allow for greater remaining operating time as compared to use of video playback functionality before the battery 78 depletes.
Further, in some embodiments the power consumption calculator 80 may be configured to predict expected power consumption segments as described above. In this regard, for example rather than showing current or past power consumption, the power consumption indicators 100-114, 200-214 may correspond to expected power consumption segments. For example, returning to
In an exemplary embodiment (not shown), the power consumption calculator 80 may be configured to calculate a power consumption segment which predicts expected power consumption based on, for example, historical data stored in, or collected from, the apparatus 50. For example, when an audio playback application plays a song, the power consumption calculator 80 may be able to calculate the average consumption during playback of the song and store this information in memory or send this information to a network server for storing. The average power consumption may also be calculated over longer periods of time of playing music (e.g. last playlist played, hours of the day, or a specified time period). Power consumption segments which predict expected power consumption may also be calculated for any other application or function performed by the apparatus 50. The power consumption indicators may additionally or alternatively show textually or graphically the remaining expected power, for example ‘Battery power left to play 100 songs,’ or for example display bolded chord symbols which indicate the estimated remaining power for audio playback or other function.
Returning to
Adjusting the power consumption segments may be conducted in a variety of manners in various embodiments. For example, the power consumption adjuster 84 may allow a user to prioritize or schedule processes performed by the user terminal 10. Prioritization may instruct the user terminal 10 to conserve energy other than for the selected processes/components. For example, if the user wants to prioritize voice calls and instant messaging, the user may select the voice calls 100 and instant messaging 104 power consumption indicators. Accordingly, the power consumption adjuster 84 may adjust the power consumption levels of the remaining processes performed by the user terminal 10. Thus, for example, audio playback may be limited to a reduced volume and the user terminal 10 may check for email messages less often. As may be understood by one having ordinary skill in the art, various other adjustments to the functions and/or components of the user terminal 10 may occur.
However, as mentioned above, adjustment of power consumption segments may in some embodiments allow a user to schedule performance of a function or use of a component of the user terminal 10. For example, the user may prefer to wait to update software on the user terminal 10 at some point other than during the day when the user would prefer to preserve the battery 78 for other uses. Accordingly, with regard to
In another exemplary embodiment, the apparatus 50 may allow the user to interact with the power consumption segments in other manners. By way of example, if the user is watching a movie played by a video playback application, and the power consumption calculator 80 has predicted that the battery 78 of the apparatus 50 may run out during watching the video, the apparatus may notify the user by displaying a message, for example, which indicates that ‘Device battery may last for 15 more minutes. Recharge the battery or decrease network power segments. Decrease now?’ After which, the user may be presented with the option to adjust the power consumption segments, or if so configured, the apparatus 50 may adjust the power consumption segments automatically, for example, by prioritization which may be based on default settings or user selectable settings, or based on historical statistical data. The apparatus 50 may also decrease the power consumption segments and/or power reserved for other functions based on historical data, and/or as needed. For example, if during video playback, the network connection is enabled for web browsing, the apparatus 50 may disconnect this network connection, thus preserving power for the video playback. The apparatus 50 may utilize the historical data and application/network usage patterns and adjust running applications accordingly. For example, if during video playback the user has not accepted calls in the past, the apparatus 50 may decrease the power needed for the stand-by network connection.
In terms of methods associated with embodiments of the present invention, the above-described apparatus 50 or other embodiments of apparatuses may be employed. In this regard,
Accordingly, blocks of the flowchart support combinations of means for performing the specified functions. It will also be understood that one or more blocks of the flowchart, and combinations of blocks in the flowcharts, can be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.
In this regard, one embodiment of a method comprises calculating a power consumption segment at operation 300. Further, the method may include providing for display of a power consumption indicator defining a graphical characteristic corresponding to the power consumption segment at operation 302. Additionally, the method may include providing for selection of the power consumption indicator to interact with the power consumption segment at operation 304.
In some embodiments, certain ones of the above-described operations (as illustrated in solid lines in
For example, the method may further comprise calculating the power consumption segment for a function which the apparatus is configured to perform at operation 306. Accordingly, in some embodiments of the method the power consumption segment may relate to a function performed by the apparatus. In such embodiments the method may further comprise providing for display of a remaining operating time for the apparatus corresponding to performing the function at operation 308. However, in other embodiments the power consumption segment may relate to a component of the apparatus. Thus, the method may comprise calculating the power consumption segment for a component of the apparatus at operation 310.
Regardless of whether the power consumption segment is calculated for a function performed by the apparatus or a component of the apparatus, the method may further comprise predicting an expected power consumption segment at operation 312. Further, the method may include calculating a power consumption sub-segment comprising a portion of the power consumption segment at operation 314. The method may in some embodiments also comprise providing for display of a power consumption sub-segment indicator defining a sub-segment graphical characteristic corresponding to the power consumption sub-segment in instances in which the power consumption indicator is selected at operation 316. Further, some embodiments of the method may comprise adjusting the power consumption segment at operation 318.
In an example embodiment, an apparatus for performing the method of
In some embodiments the operation 300 of calculating a power consumption segment may be conducted by means, such as the power consumption calculator 80, and/or the processor 70. Further, the operation 302 of providing for display of a power consumption indicator defining a graphical characteristic corresponding to the power consumption segment may be conducted by means, such as user interface 72, the power consumption mapping module 82, and/or the processor 70. Additionally, the operation 304 of providing for selection of the power consumption indicator to interact with the power consumption segment may be conducted by means, such as the user interface 72, the power consumption mapping module 82, and/or the processor 70.
Further, the operation 306 of calculating the power consumption segment for a function which the apparatus is configured to perform and the operation 310 of calculating the power consumption segment for a component of the apparatus may be conducted by means, such as the user interface 72, the power consumption calculator 80, and/or the processor 70. Also, the operation 308 of providing for display of a remaining operating time for the apparatus corresponding to performing the function may be conducted by means, such as the user interface 72, the power consumption mapping module 82, and/or the processor 70. Additionally, the operation 312 of predicting an expected power consumption segment and the operation 314 of calculating a power consumption sub-segment comprising a portion of the power consumption segment may be conducted by means, such as power consumption calculator 80, and/or the processor 70. Further, the operation 316 of providing for display of a power consumption sub-segment indicator defining a sub-segment graphical characteristic corresponding to the power consumption sub-segment may be conducted by means, such user interface 72, the power consumption mapping module 82, and/or the processor 70. Also, the operation 318 of adjusting the power consumption segment may be conducted by means, such as the power consumption adjuster 84 and/or the processor 70.
Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Moreover, although the foregoing descriptions and the associated drawings describe example embodiments in the context of certain example combinations of elements and/or functions, it should be appreciated that different combinations of elements and/or functions may be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, different combinations of elements and/or functions than those explicitly described above are also contemplated as may be set forth in some of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.