Computer Laboratory

Computer Laboratory > People > Narseo Vallina-Rodriguez > ErdOS

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

2. Managing mobile resources efficiently

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.

Fig 1. Patterns of usage for 10 users and 6 resources during 15 days. These plots indicate that some users present a clear pattern of usage (see users 1 and 3 battery cycle) and that it is possible to identify periods of time in which a particular resource is likely to be demanded by applications.

3. ErdOS architecture

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.

4. Applications

The type of applications that can benefit from ErdOS capabilities are:

  • Collaborative sensing
  • Home Networks
  • Mobile cloud computing.
  • Ubiquitous and sensing applications.
  • Social Services.
  • Ad-hoc and mesh networks.
  • Distributed storage.

5. Related Work

  • Narseo Vallina-Rodriguez, Jon Crowcroft "ErdOS: Achieving energy savings in mobile OS", ACM MobiArch 2011. [PDF], [BibTex]
  • Narseo Vallina-Rodriguez, Jon Crowcroft, "Energy Management Techniques in Modern Mobile Devices", In IEEE Communications Tutorials and Surveys, 2012. [PDF], [BibTex]
  • Narseo Vallina-Rodriguez and Jon Crowcroft, "The Case for Context-Aware Resources Management in Mobile Operating Systems", Mobile Context Awareness, pages 97-113, Springer London, 2012. [BibTex]
  • Narseo Vallina-Rodriguez, Christos Efstratiou, Geoffrey Xie, Jon Crowcroft "Enabling Opportunistic Resources Sharing on Mobile Operating Systems: Benefits and Challenges", In ACM S3 Workshop 2011 [PDF]
  • Narseo Vallina-Rodriguez, Pan Hui, Jon Crowcroft, Andrew Rice "Exhausting Battery Statistics", Mobiheld 2010.[PDF], [Slides], [BibTex]
  • N. Balasubramanian, A. Balasubramanian and A. Venkataramani. "Energy consumption in mobile phones: a measurement study and implicatios for network applications" . ACM IMC, 2009
  • A. Chaintreau, P. Hui, J. Crowcroft, C. Diot, R. Gass and J. Scott. "Impact of human mobility on opportunistic forwarding algorithms", IEEE Transactions on Mobile Computing
  • H. Zeng, C. Ellis, A. R. Lebeck and A. Vahdat. "ECOSystem: managing energy as a first class operating system resource". ACM ASPLOS 2002.
  • M. B. Jones, D.L. McCulley, A. Forin, P.J. Leach, D. Rosu and D.L. Roberts. "An overview of the Rialto real-time architecture". ACM SIGCOPS. 1996
  • S. M. Rumble, R. Stutsman. P. Levis, D. Mazieres and N. Zeldovich. "Apprehending joule thieves with cinder". In Mobiheld 2009

Talks:

Acknowledgments

I would like to thank Prof. Crowcroft for his support and guidance in this work. For more information, email nv240 ' at ' cam.ac.uk