This disclosure relates generally to techniques for modifying states of a device. More specifically, the disclosure describes techniques for modifying power states of a device including power states of components of a device based on movement of the device.
Computing devices are equipped with an increasing number of sensors configured to detect motion of the device. For example, mobile computing devices, such as smartphones and tablets, may include sensors, such as an accelerometer, a gyroscope, and the like, to detect motion of the device. User interfaces that incorporate gestures of the user may be important differentiating factors in mobile devices.
The subject matter disclosed herein relates to techniques for modifying a device power state based on movements of the device. A computing device may include one or more sensors configured to receive data associated with movement of the computing device. The computing device may modify a device, or components of the device, from either a first power state to a second power state, or from the second power state to the first power state, wherein the device consumes more power in the first power state than in the second power state. For example, based on a movement of the device, as indicated by the sensor data, a device may wake up from a sleep state. The embodiments described herein include a system configured to modify a device power state from a low powered state to a high powered state, or from a high powered state to a low powered state. The embodiments described herein include a learning mechanism to reduce false positive power state changes, and a training mechanism to enable a user to train a computing device to recognize a give device movement as a predetermined movement to modify the power state of the device or components of the device.
A “power state,” as referred to herein, is a state of a device including a sleep state, a power on state, a power off state, and the like. In embodiments, a power state may refer to an operation of the device wherein a power consumption of the device is changed, such as when a given subsystem of the device is either turned on or off. For example, a subsystem may refer to a graphical user interface display, an audio interface, a wireless interface, and the like. In embodiments, a movement of the device may modify a given subsystem such that the device changes from either a first power state to a second power state or from the second power state to the first power state, wherein the device consumes more power in the first power state than in the second power state.
The sensor logic 112 illustrated in
The sensor logic 112 may be relatively lower powered microcontroller relative to the processor 102. In embodiments, the sensor logic 112 is active in a relatively low power state when the processor is inactive. The sensor logic 112 may be equipped with movement detection algorithms, such as a lift-motion detection algorithm, on the monitoring module 114. Statistical models or parameters for this algorithm may be set by the device manufacturer and as discussed below.
In some scenarios, a movement of the device may result in a power state modification that is unintended. For example, a user may unintentionally move the computing device 101 such that the monitoring module 114 turns on the device (a “false positive” event). In embodiments, the modification module 110 may be configured to detect false positives, when, for example, a device is turned on in response to a power state modification initiated by a predetermined movement. In embodiments, a statistical model, such as a lift detection model associated with the predetermined movement may be modified by the modification module such that false positive occurrences may be reduced as discussed in more detail below.
In embodiments, the one or more sensors 108 may be smart sensors configured to detect events associated with the predetermined movements. The smart sensors may trigger a power state modification based on whether sensor data indicating device movement reaches a given threshold. In this embodiment, the power state of the computing device 101 or components of the computing device 101 may be modified based on the occurrence of a movement event wherein the sensor data indicating device movement reaches a given threshold.
The processor 102 may be a main processor that is adapted to execute the stored instructions. The processor 102 may be a single core processor, a multi-core processor, a computing cluster, or any number of other configurations. The processor 102 may be implemented as Complex Instruction Set Computer (CISC) or Reduced Instruction Set Computer (RISC) processors, x86 Instruction set compatible processors, multi-core, or any other microprocessor or central processing unit (CPU).
The memory unit 106 can include random access memory (e.g., SRAM, DRAM, zero capacitor RAM, SONOS, eDRAM, EDO RAM, DDR RAM, RRAM, PRAM, etc.), read only memory (e.g., Mask ROM, PROM, EPROM, EEPROM, etc.), flash memory, or any other suitable memory systems. The main processor 102 may be connected through a system bus 122 (e.g., PCI, ISA, PCI-Express, HyperTransport®, NuBus, etc.) to components including the memory 106, the storage unit 110, and the sensor logic 112.
The block diagram of
In embodiments, the monitoring module 114 may determine a false positive. A false positive is a detection of a motion by the monitoring module 114 that was not intended by the user to change the device power state. For example, the monitoring module 114 may determine that a movement has occurred and may determine that the movement is similar to a predetermined movement associated with a change of the device power state. As a result, the monitoring module 114 may provide an event, such as the wake-up event illustrated in
In embodiments, the user may set the predetermined motion used to modify the power state of the device. For example, rather than relying on a given model set by the manufacturer of the device, the user may train the device to modify a given power state of the device based on a user-defined movement of the device. In embodiments, the device may guide the user on reasonable gesture definition for high accuracy and low false detections. For example, if the user defines a movement that can be confused with a movement associated with other operations of the device, the system may provide the user with alternative movements, or with a measure of effectiveness that provides the user with the option to redefine the movement.
Whether the movement is defined by the user, or by a manufacturer, once the movement has been defined, the system can continually modify and improve movement detection and recognition by collecting and analyzing training data including false positives. In embodiments, power consumption related to false positives is managed by providing a multi-sensor/multi-layer approach to device power state modification. For example, the device detecting a movement determined to be associated with a power state modification will transition the device from a relatively low power state, such as the first power state discussed above, to a medium power state, wherein the medium power state is relatively higher than the first power state, such as a sleep state, and is relatively lower than a high power state, such as the second power state discussed above that may include a powered on or waked state. One such sensor that may be used in this type of embodiment may include a capacitive touch sensor that may detect hover associated with the user holding the device at the screen edges, such as at a bezel of the screen edge. If a hover is detected, it provides additional confirmation of a higher powered wake up of the device. Another such sensor that may be used in this type of embodiment may include an ambient light sensor that determines that the device is tucked away in a moving bag and hence should not be put into a high-power state, or not modified from the medium power state to the high power state.
In embodiments, a false positive may be determined by whether a device reaches a predetermined final position or not. A predetermined final position may be indicated by reduced movement of the device. The predetermined final position may be associated with a position, or angle, typically associated with use of the device. In some scenarios, some devices may incorporate a look verification feature wherein a user must look at a camera of the device in order for the device to verify the user and turn on the device. In embodiments, the predetermined final position includes the position associated with the look verification.
In embodiments, the modification of power states may be associated with specific operations associated with platform-power consumption. For example, a movement of the device may be associated with turning on/off specific subsystems such as a display of the device, an audio interface of the device, a wireless interface, such as a network interface card, and the like.
In embodiments, the method 300 may include determining a false positive power state modification. As discussed above in reference to
In embodiments, the predetermined movement may be designated by the user. In this embodiment, the device may be trained by the user to recognize a specific movement. The device may also direct the user to change the user designated movement based on a measure of effectiveness indicating a measure of difference from other movements associated with other modifying operations.
The various software components discussed herein may be stored on the tangible, non-transitory, computer-readable medium 400, as indicated in
A method for modifying a power state of a device is described herein. The method includes receiving data including events from a sensing means, such as a movement sensor indicating movement of the device. The method includes determining whether the device movement is associated with a predetermined device movement. For example, a predetermined device movement may include a device movement set by the user, or by the designer of the device, for the purposes of turning on the device. The power state of the device may be modified. The modification of a power state of the device is based on the movement determination from either a first power state to a second power state or from the second power state to the first power state, wherein the device consumes more power in the first power state than in the second power state.
A system for modifying a power state of a device is described herein. The system includes a sensing means, such as a movement sensor to gather data indicating whether the device is moving. In embodiments, the system may include sensor logic, at least partially including hardware logic, to receive the data from the sensor indicating movement of the device, and to determine whether the device movement is associated with a predetermined device movement. If the movement is associated with the predetermined device movement, the sensor logic may modify a power state of the device based on the movement determination from either a first power state to a second power state or from the second power state to the first power state, wherein the device consumes more power in the first power state than in the second power state.
A tangible computer-readable medium is described herein. The tangible computer-readable medium having instructions to direct a processor to carry out operations, the operations including receiving data from a sensing means, such as a movement sensor indicating movement of the device. The operations may include determining whether the device movement is associated with a predetermined device movement, and modifying a power state of the device based on the movement determination from either a first power state to a second power state or from the second power state to the first power state, wherein the device consumes more power in the first power state than in the second power state.
Some embodiments may be implemented in one or a combination of hardware, firmware, and software. Some embodiments may also be implemented as instructions stored on the tangible non-transitory machine-readable medium, which may be read and executed by a computing platform to perform the operations described. In addition, a machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine, e.g., a computer. For example, a machine-readable medium may include read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; or electrical, optical, acoustical or other form of propagated signals, e.g., carrier waves, infrared signals, digital signals, or the interfaces that transmit and/or receive signals, among others.
An embodiment is an implementation or example. Reference in the specification to “an embodiment,” “one embodiment,” “some embodiments,” “various embodiments,” or “other embodiments” means that a particular feature, structure, or characteristic described in connection with the embodiments is included in at least some embodiments, but not necessarily all embodiments, of the present techniques. The various appearances of “an embodiment,” “one embodiment,” or “some embodiments” are not necessarily all referring to the same embodiments.
Not all components, features, structures, characteristics, etc. described and illustrated herein need be included in a particular embodiment or embodiments. If the specification states a component, feature, structure, or characteristic “may”, “might”, “can” or “could” be included, for example, that particular component, feature, structure, or characteristic is not required to be included. If the specification or claim refers to “a” or “an” element, that does not mean there is only one of the element. If the specification or claims refer to “an additional” element, that does not preclude there being more than one of the additional element.
It is to be noted that, although some embodiments have been described in reference to particular implementations, other implementations are possible according to some embodiments. Additionally, the arrangement and/or order of circuit elements or other features illustrated in the drawings and/or described herein need not be arranged in the particular way illustrated and described. Many other arrangements are possible according to some embodiments.
In each system shown in a figure, the elements in some cases may each have a same reference number or a different reference number to suggest that the elements represented could be different and/or similar. However, an element may be flexible enough to have different implementations and work with some or all of the systems shown or described herein. The various elements shown in the figures may be the same or different. Which one is referred to as a first element and which is called a second element is arbitrary.
It is to be understood that specifics in the aforementioned examples may be used anywhere in one or more embodiments. For instance, all optional features of the computing device described above may also be implemented with respect to either of the methods or the computer-readable medium described herein. Furthermore, although flow diagrams and/or state diagrams may have been used herein to describe embodiments, the techniques are not limited to those diagrams or to corresponding descriptions herein. For example, flow need not move through each illustrated box or state or in exactly the same order as illustrated and described herein.
The present techniques are not restricted to the particular details listed herein. Indeed, those skilled in the art having the benefit of this disclosure will appreciate that many other variations from the foregoing description and drawings may be made within the scope of the present techniques. Accordingly, it is the following claims including any amendments thereto that define the scope of the present techniques.