Professor Lipyeow Lim discusses his research on query processing on mobile phones that will make cell phone batteries last longer.
Hi Lipyeow. What is query processing?
In data management, we usually think of computational tasks as queries over data. A common example is web search. The query is the set of keywords that you enter into the search engine website; the data is the collection of websites and the words they contain. Query processing is the process of finding the data that satisfy the query. In the case of web search, query processing finds those websites that contain the query keywords and returns the results to the user.
What does query processing have to do with mobile phones?
As mobile phones become more and more sophisticated, users increasingly rely on them for tasks they used to do with their computers. On top of that, phones are including sensors that enable a whole new class of mobile phone applications. For example, the GPS sensor and the accelerometer sensor of your cell phone can be used to find and recommend sales and deals available at nearby shops. More interestingly, people with health problems can wear sensors that measure their heart rate, EKG, temperature, and so forth. These sensors can use your phone to call for help when immediate medical attention is required. This requires a special type of query processing called “continuous query processing”, where the query condition is continuously evaluated as the sensor data arrives at the phone.
How is that relevant to energy efficiency and battery life?
The two major sources of energy consumption in cell phones are the display unit and the wireless communication modules. There’s nothing much my research can do to help with the display unit. We will leave that for the engineers. However, there is much room for improvement in how and when communication links gets used to transmit data. You might have noticed that when you forget to turn off the WiFi on your smartphone or iPad, the batteries drain in no time. This illustrates that careful use of the communication link can significantly extend the length of time between charges.
Query processing is intimately tied to the data, and the data needs to be moved to the location where query processing can be performed. If the query processing occurs at some computing infrastructure at the telephone company, all the data from the cellphone’s sensors need to be transmitted to the cell tower and from there to the phone company’s computers. Transmitting data via a 3G communication link requires a lot of energy from the cellphone. It may be more energy efficient to perform the query processing locally at the phone. Some queries, however, require data from the computing cloud in addition to local sensor data. There we have a trade-off between expending energy to download the remote data to the local phone or to upload the local sensor data to the computing cloud. It gets even more exciting to figure out when a group of phones could collaborate to share data and save on the energy required to acquire a piece of data independently.
How does your research address these issues?
My research involves the design of frameworks and algorithms for performing such continuous query processing in an energy efficient manner so that cell phones running such queries will last longer on a single charge. One direction deals with the order in which data is acquired using the communication links for query processing. For some queries, we do not need to expend energy to acquire all the required data before determining that the query is not satisfied. If we acquire the data that will most likely invalidate the query condition first, we save energy by not acquiring the rest of the data.
Another line of research deals with collaborative query processing among a group of cell phones. Imagine being in a meeting with a group of people and suppose the facilitator asks everyone to download a document for discussion. It would seem silly for everyone to download the same document independently expending precious battery power over the 3G link. If the phones could collaborate, only one phone would download the document and circulate the document to other phones via a lower-powered communication link such as bluetooth. A similar strategy can be used for collaborative query processing.
If students are interested in getting involved, what skills do you look for?
I am very open to working with students with a variety of skills. Students with strong algorithmic design skills can work on the algorithmic aspects of the problem. This includes designing new algorithms, implementing them and benchmarking them. Students with strong systems implementation skills can focus on the system issues of the research. This entails building systems, deploying systems, benchmarking and evaluating systems.
For more information:
Archan Misra, Lipyeow Lim, Optimizing Sensor Data Acquisition for Energy-Efficient Smartphone-based Continuous Event Processing, Mobile Data Management (2011).