A gripping scene in the movie Air Force One depicts the president of the United States getting technical help over a cell phone to dump fuel from his aircraft and thus force its hijackers to land. At a critical moment, when he is about to learn which wire to cut, his cell phone battery dies. Even the president cannot escape the ruthless economics of battery life!
A PERISHABLE RESOURCEEnergy is only one of many resources needed for mobile computing. Other resources include wireless network bandwidth, CPU cycles, main memory, and disk space. However, energy is the only perishable resource-once consumed, it cannot be replenished by actions performed within the mobile computing system. Only external actions, such as recharging the battery or replacing it, can replenish the resource. This is in contrast to the other resources I mentioned. You can reclaim both memory and disk space through deletions. With the passage of sufficient time, you can transmit a certain number of bits or execute a certain amount of code, even when bandwidth or CPU cycles are scarce. In general, these scarce resources affect the rate of progress, perceived performance, and user experience in mobile computing. But their scarcity does not have the grim finality of a dead battery. One memorable quote from the first NRC report says, "Using new materials and chemistries, batteries are approaching explosives in terms of energy density." Imagine the battery in your laptop, PDA, or cell phone having the energy content of a stick of dynamite! Fortunately, this energy is released over many hours rather than a few microseconds. But an implication of the quote is that radical improvements in battery technology are unlikely-their energy density is already very high. Incremental improvements are likely, but some of those improvements will be eaten up by the energy demands of increased functionality in mobile devices. It is therefore essential to explore alternative approaches to extending battery life.
EXPLORING ALTERNATIVESOne approach is to improve hardware power efficiency, a key concern of every designer of mobile hardware. Another is to make software energy-aware, thereby reducing its energy demands on hardware. 4 A third approach is to perform cyber foraging by offloading work to nearby servers, 5 and a fourth approach is to trigger external actions that replenish a battery's energy. All are viable options, and we will likely use different combinations of them in different circumstances.Given