Field of the Invention
The present invention relates in general to the field of computers and similar technologies, and in particular to software utilized in this field. Still more particularly, it relates to a method, system and computer-usable medium for detecting unanticipated consumption of power by a device.
Description of the Related Art
In recent years, it has become common to use a wide variety of electrically-powered devices, such as smart phones, tablet computers, laptops, and other information processing systems to process, store and communicate various types of data. These devices typically use one or more software applications, each of which causes the device to consume a corresponding amount of electrical power when they are in use. However, the actual amount of power they may cause the device to consume can fluctuate due to various factors. For example, a graphics program in an idle mode (e.g., when minimized) may result in the device consuming a lesser amount of power than when it is in active use (e.g., when rendering complex graphics). Furthermore, use of the graphics program in other modes, such as during a demonstration or presentation, may result in the consumption of additional power by a hard drive or other peripherals associated with the device. As a result, the actual amount of power consumed by a device may be directly or indirectly affected by a given application's operating mode and the operations it is performing at different times. Other factors affecting the amount of power consumed by a device when an application is being used may include the type of processor the device uses, its operating system, memory configuration, or associated peripherals.
Current approaches for estimating the amount of power consumed by a device when performing various operations include using an average of the device's current draw at idle and full load. However, these approaches typically do not take into consideration the power demand individual applications may place on different devices when they are being used in various modes. As a result, ascertaining the anticipated power consumption of a particular device, using a known set of applications respectively operating in different modes at a given point in time, can prove difficult. In turn, this difficulty can create a variety of issues. For example, not knowing how much power a device consumes when performing different operations may make it difficult to manage its power usage. To continue the example, concurrently running two applications whose associated power usage is unknown may lead to unpredictable spikes in a device's power consumption. However, if it is known in advance that the two applications both result in high power consumption, then their respective operations may be alternated to moderate the device's power consumption.
As another example, lack of knowledge related to the power consumed by a device can mask the clandestine theft of data by surreptitiously implemented hardware or malware. To expand on this example, certain security agencies have been known to use a covert channel of radio waves that can be transmitted from tiny circuit boards or Universal Serial Bus (USB) cards secretly concealed in a device. In many cases, the device itself may not need to be in active use or be connected to the Internet for data to be stolen by the use of such hardware in conjunction with a data theft system. Likewise, various remote access Trojans are capable of keylogging, accessing a device's camera, stealing credentials stored in browsers, opening reverse shells, stealing files, manipulating processes, and viewing the user's desktop, all of which can be sent to a data theft system via the device's network adapter. In an attempt to prevent such activity, users are typically instructed to suspect malware when their devices are continuously busy during periods of user inactivity. However, it may be difficult for the user to discern the difference between malware activity and their device performing system maintenance or data backup operations in background mode. Furthermore, the power consumed by such hidden hardware or malware is typically masked by the consumption of power corresponding to the use of legitimate hardware and applications.