We proposed a user interface based user delay prediction framework. In this framework, an STD is first obtained for the software to model the interaction between the system and user. User delays are then predicted based on different STD states. Within this framework, two prediction models were proposed. We theoretically showed how prediction errors are related to energy savings through DPM/DVS. The history-based model predicts the actual delay based on recent observations. Since it may overestimate the delay, it should only be used when performance level transition delay is not a large concern. In our experiments, it resulted in an average system energy saving of 20.7% with a relatively small percentage of serious lazy errors. We also showed that exploiting STD states yielded a better tradeoff between lazy errors and energy savings. The psychological model exploits the user interface information further and predicts the lower bound on user delays, , how long it takes the user to read, decide, and move. Our experiments show that an average of 21.9% system energy savings can be obtained with negligible serious lazy errors. We showed that the tradeoff between lazy errors and energy savings achieved by the psychological model is beyond the capacity of the history-based model.
Beside utilizing user delay predictions, we also showed how DPM/DVS can be simply combined with the user interface. An average of 17.6% system energy reduction can be easily achieved by inserting DPM/DVS code into the user interface without introducing user-noticeable delays. For applications more tolerant of system delays and with longer user delays, an average of 28.9% system energy reduction can be achieved.