|Computer Laboratory > People > Narseo Vallina-Rodriguez > ErdOS|
Towards an energy-aware social operating system
Mobile computing models rely exclusively on cloud and local resources for different purposes: from assisting sensors such as A-GPS to code offloading. This model is not optimal in many situations as accessing resources in the cloud is subject to network availability and latency while also imposing an energy overhead on the handset. As a result, both the user experience and the battery life of the handset can be severely minished.
ErdOS is an energy-aware social operating system in which mobile handsets can collaborate with neighbouring machines in order to assist each other and share their network, sensors and computation resources using low energy wireless connectivities such as low power Bluetooth and Qualcomm Flashlinq. ErdOS aims both to improve the handset usability and extend the battery life by an efficient management of all the mobile resources present in the environment by incorporating social networks as a fundamental part of the operating system.
ErdOS is being currently implemented as an Android OS extension
Simultaneous use of the diverse hardware systems embedded in a modern smartphone would limit many handsets to just a few hours of operation. In practice a phone will attempt to mitigate this problem and extend its lifetime by making selective use of the available resources. This is most often implemented through the use of standby power states, automatic control of the screen back-light, and actively switching particular subsystems (such as networking interfaces) on or off as demand dictates. These techniques are demand driven and so it is quite possible for a power-hungry application to drastically shorten the operating time of the handset if the user is not totally aware of the energy requirements of the different applications and the usage they do of the available hardware resources in the system. The strong layering on mobile operating systems makes difficult implementing cross-layering optimisations that could be otherwise quite straight forward.
ErdOS allocates and manages both the local and remote resources in a total different way compared to current mobile, desktop and server operating systems. ErdOS considers energy as a fundamental and central resource for the whole system. In order to enable resources sharing, ErdOS exploits social networks to enable cooperation, define context and social-based access control policies and security, using them as a channel to disseminate public keys among the devices and also to provide incentives (i.e. in terms of social capital). However, in order to efficiently allocate resources to applications, it is also necessary to understand the optimal usage of those resources, how the users interact with them and the implications of environmental constraints on those resources to minimise their energy consumption.
ErdOS provides an abstraction of neighbouring nodes' resources to be accessed as local ones. The operating system manages those resources in mobile environments and decides where to access an specific resource taking into account the energy costs and the impact on the users' experience of accessing them locally or in a remote node. Permissions for accessing resources follow the same model as in Unix systems: group permissions are made automatically and inspired on social networks privacy management and group categories. In ErdOS, social networks are used as a framework in the operating system, opening new horizons towards social and mobile computing.
Access to remote resources uses a range of Inter-Process Communication appropriate to the type of the resource. For example, a remote GPS can be accessed simply by registering an interest in it by doing an RPC to the remote phone ErdOS service, installing an event handler (i.e. a callback routine) locally and then receiving multicast UDP messages which serves assisting data while cloning the GPS NMEA data from the remote phone to the local one both using 802.11 standards, low-power Bluetooth or even Qualcomm's Flashlinq technologies. Moreover, it is also possible to use the radio beacons from the wireless interfaces to advertise services and information. On the other hand, access to a remote file is similar to a local access except for naming. Access to other type of resources would follow other design patterns appropriate for each case (e.g. other sensors such as camera and microphone, cellular network interfaces, etc).
In general terms, the operating system will manage and assist itself exploiting the information provided by neighbouring devices, also allowing applications to obtain resources from neighbouring devices. This will have benefits at different levels: user experience, robustness, flexibility and battery life.
The type of applications that can benefit from ErdOS capabilities are:
AcknowledgmentsI would like to thank Prof. Crowcroft for his support and guidance in this work. For more information, email nv240 ' at ' cam.ac.uk