  The prevalence of smart wearable devices is increasing exponentially and we
are witnessing a wide variety of fascinating new services that leverage the
capabilities of these wearables. Wearables are truly changing the way mobile
computing is deployed and mobile applications are being developed. It is
possible to leverage the capabilities such as connectivity, processing, and
sensing of wearable devices in an adaptive manner for efficient resource usage
and information accuracy within the personal area network. We show that
application developers are not yet taking advantage of these cross-device
capabilities, however, instead using wearables as passive sensors or simple end
displays to provide notifications to the user. We thus design AFV (Application
Function Virtualization), an architecture enabling automated dynamic function
virtualization and scheduling across devices in a personal area network,
simplifying the development of the apps that are adaptive to context changes.
AFV provides a simple set of APIs hiding complex architectural tasks from app
developers whilst continuously monitoring the user, device and network context,
to enable the adaptive invocation of functions across devices. We show the
feasibility of our design by implementing AFV on Android, and the benefits for
the user in terms of resource efficiency, especially in saving energy
consumption, and quality of experience with multiple use cases.
