Towards a best-effort framework for developing smart mobile applications
Despite the rapid growth of the mobile technology, mobile devices are still considered as resource constrained with limited battery. Same computations are awkward to be undertaken on these devices with limited processing capabilities. Other processes are costly in terms of battery consumption. Ideally, mobile applications will have the possibility to decide either to do a computation locally or remotely depending on the current device capabilities status. Making such decision is very challenging as many interrelated factors are to be considered (e.g. network connection, battery level, and processing capabilities). In this paper, we propose a framework that supports developers in implementing such smartness fitness within their mobile applications. This solution provides approaches in form of algorithms to instrument code of mobile applications to behave in smart way. Incorporating these algorithms will allow for on-the-fly decision of local versus remote computation using a calculated cost function. We conducted some experimental scenarios to evaluate the usability and effectiveness of our decision-based algorithms. The results we have obtained prove that for the same computation, depending on the size of data, the network status and the device status, the decision of the engine may differ.