Overview
With their proliferation and increasing capabilities, mobile phones are playing an increasingly significant role in our daily life. Besides acting as a phone to make and receive voice calls, today mobile phones already become a personal entertainment device for people to listen to music, watch movies, and play games. Through their rich networking connectivity such as GPRS/Edge, CDMA1x, Wi-Fi, and Bluetooth, mobile phones are also an information retrieval device for users to surf the Internet, receive e-mails, get maps, and do mobile search. The advances in hardware and software make today’s mobile phones as powerful as a small computer. Mobile phones become multi-function devices used by people to do communication, entertainment, information retrieval, and computation, especially when they are on the move.
We envision that mobile phones become the first class computing devices and the next generation platform for personal mobile computing. Compared with PCs or laptops, mobile phones have several unique characteristics. First, mobile phones have very intimated relationship with their owners and are always carried with their owners. Second, mobile phones are always on and always connected to the Internet. Third, mobile phones have a unique ID provided by carriers and the ID can be used as a user ID by combining with some security mechanisms. All the characteristics provide great opportunities for personal mobile computing.
In the next generation phone computing, we explore the new mobile computing applications and user scenarios where mobile phones play the central role. One new class of mobile computing applications is to use a mobile phone to connect, control, and coordinate all the surrounding and remote computing devices and the applications running on them and access their data and services. Another new class of mobile computing applications is to enable new user scenarios and “better-together” experience when there are multiple mobile phones available at the same place or nearby. We design the system architecture and software framework for these applications, and develop building blocks to facilitate application development.
We also study how to solve the fundamental issues of mobile phones from a system software architecture point of view. The first issue is robustness. We investigate how to ensure high reliability but sill support rich applications as well. The second issue is security. We study how to provide strong protection for the critical applications such as digital payment. Power efficiency is the third key issue and we work on extending the battery life by reducing the power consumption of a single mobile phone and by collaboration among multiple mobile phones. Another but not the last issue is usability which is critical to provide good experience for users to conveniently operate a mobile phone and display information with the limited input methods and the small screen. We review the current software architectures of mobile phones and seek for new designs and implementations to better support above requirements.
Projects
- Phone-Augmented User-Centric Computing (PAUCC)
Today, people are using a larger and larger number of devices in their daily lives. Each of these devices has various functions and capabilities. The PAUCC project looks at ways to synergize these devices by, for example, positioning the mobile phone at the center of a personal computing environment and building rich innovative applications that leverage the collective power of the various devices through collaboration. The group is exploring ways to increase the functionality of mobile phones to go beyond traditional voice communication to be used as a personal controller, personal ID, secondary display, and unified storage.
User-centric computing is the future of computing. In user-centric computing, users are surrounded by multiple devices and they need to access their data and services on any device, anytime, anywhere. In PAUCC project, we investigate how a mobile phone can augment the user-centric computing experience, especially when user data and states are distributed across different devices. With their proliferation and increasing capabilities, mobile phones are playing an increasingly significant role in our daily life. We envision a new class of mobile computing applications where a mobile phone is the center enabling piece. It will utilize the computing devices surrounding us and access their data and services. It will connect, control, and coordinate all these devices and the applications running on them, regardless of their locations, distance, or means of communications. To realize this vision, we conduct a research to investigate the architecture and middleware issue. We design the system architecture and software framework for these applications, and develop a middleware layer to facilitate application development.
A typical user scenario is as follows. John can check his e-mail any time any where with his mobile phone. When he receives a message from his boss requesting a document, using his mobile phone he can search his desktop PC at work and construct a reply with the document attached. When he does a presentation, he can use his mobile phone to control the projector and to retrieve the PowerPoint file from the server. When he visits his friend’s house after work, he can use his mobile phone to connect to his home PC and have a photo album display on his friend’s TV. But when he leaves the house, the TV set-top box can no longer show the photos because it would require DRM licensing from John’s mobile phone which is no longer in the proximity. - Phone-to-Phone Networking
With the proliferation of IEEE 802.11 enabled mobile phones and other devices, there is increasing demand for spontaneous collaborative services over temporarily formed ad hoc networks, especially when there is a lack of the network infrastructure support. Two examples are to share files and to play multi-player games among two or more mobile phones. However, current IEEE 802.11 devices are mostly used in a "network centric" way that requires a device to be connected to a network before it can discover services or send out requests. This approach is not suitable for spontaneous collaborative services because network setup should take place after a certain service is requested.
In this project, we present a new mechanism that solves this problem. Our approach, named EZSetup, utilizes the IEEE 802.11 ad-hoc mode and fully complies with the current standard. It encodes the device and service information in the periodical beacons and leverages them as signaling mechanisms. Devices can now discover each other and acquire service requests and invitations prior to forming a network.
Our approach can be used not only by mobile phones but also by other 802.11 enabled devices such as laptops. Actually we have implemented EZSetup prototypes on both Windows Mobile 5.0 and Windows XP platform. In our prototype, a mobile phone user can find nearby neighbors and their available services without setting up a network. If there is a gaming service available, the user can invited other users to play a game and once the invitation is accepted, a network will be formed to play the game. Our experience and preliminary evaluation have demonstrated that EZSetup is an effective mechanism and convenient tool for spontaneous collaborations among 802.11 enabled devices.
Many new applications and user scenarios can be enabled by phone-to-phone networking. One class of such applications is to provide “better-together” user experience by aggregating the resources of multiple mobile phones. For example, MobiUS demonstrates how to play a larger size video clip on the screens of two mobile phones. - V-Phone: Virtual Machine Monitor (VMM) for Mobile Phones
More and more mobile phones run a general purpose operating system such as Windows Mobile, Symbian, or Linux, and increasing functionalities are built into mobile phones. Besides making voice calls, they are capable of playing music, taking photos, checking e-mail, accessing the Internet, watching movies, play games, and even editing documentations. As a result, mobile phones, especially smartphones, are becoming very complex systems and increasing system failures occur. However, people expect their mobile phones very reliable because traditionally mobile phones are treated as consumer electronics and very reliable. Users can’t tolerate broken voice calls due to errors in the mp3 player in their mobile phone.
At the same time, with their rich network connectivity, mobile phones are exposed to various viruses and attacks. Many viruses and malwares targeted on mobile phones have been reported and the number is creasing very fast. However, today many mobile phones run critical applications such as digital payment application which requests very high security. Therefore, it is very critical for mobile phones to provide strong protection to such applications.
In V-Phone project, we study how to leverage virtualization technology to improve the robustness and security of mobile phones. With a virtual machine monitor (VMM), multiple guest operating systems can simultaneously run on a single machine. The VMM provides clear separation between software and hardware, and strong isolation among the guest OSes. By running the basic functionalities of mobile phones such as making voice calls and sending short messages in a dedicated virtual machine and running the other add-on functionalities in another virtual machine, we can improve the reliability of mobile phones. By putting the critical applications into a separate virtual machine and only running it in needed, we can reduce the attack surface and enhance the security of mobile phones.
We design and implement a VMM for mobile phones to investigate the feasibility of running multiple full edged commercial OSes on a single mobile phone, and to study how mobile phones can benefit from the VMM. Besides robustness and security, VMM also provides other opportunities to benefit mobile phones. For example, we can run highly customized thin OSes which lead to reduced software footprint and improved power efficiency. Mobile phones must be a phone at the first and most time they mainly act as a phone although rich functionalities available. By separating the “phone function” from the other functions, we can make mobile phones as reliable as before and as power efficient as before, while still as powerful as a super portable computer at the same time. - Energy Efficiency by Collaboration
Energy consumption is important for battery-powered mobile devices. Nowadays, many advanced mobile devices are increasingly being equipped with multiple wireless interfaces for various data applications, such as Cellular, WiFi and Bluetooth. These wireless technologies greatly empower the communication of mobile users while increases the energy consumption substantially. We are undertaking a project targeting at reducing the communication energy consumption of mobile devices without losing the convenience and efficiency. We base our work under a collaborated framework, where neighboring mobile devices form power-management clusters spontaneously and collaboratively. We have demonstrated by forming such power-management clusters via Bluetooth, a collection of neighboring devices can significantly reduce the energy-consumption on WiFi networks without introducing significant delay on WiFi communications.
Project Members
Wireless and Networking Group | Microsoft Research Asia



