These days smartphones are used to aid and improve all kinds of tasks, in almost all aspects of our daily life. However, smartphones are generally considered fairly resource constrained, and their available power is the most constrained resource of all. Obviously, without power the smartphone will not function. Not surprisingly, increased battery capacity has been identified as one of the most desired features of mobile devices by users.
In order to combat the resource scarcity of mobile phones, many applications send heavy computation to the cloud for processing, and the result is then returned to the device. This can significantly lower the resource consumption of mobile phones and contribute to a longer lasting battery. At the same time, the concept of the Internet of Things (IoT) has emerged which has led to a drastic increase in connected devices. This, in turn, leads to elevated network traffic which potentially can cause latency and a heightened load on servers worldwide. Not only does this affect the internet backbone and the service providers, but an increase in network usage from mobile devices might also incur added cost for the end-user. In addition, by sending data to the cloud it poses an added risk to security, and introduces new attack vectors.
Security concerns, in combination with better hardware and more efficient algorithms has led to the computations being moved back to the users’ devices. However, the issue of available power on mobile devices still persists. This is a modern predicament. On one hand you have a significant reduction in energy consumption on the user’s device and on the other you have a significant increase in network load and security concerns. It is currently hard to deal with all these issues, but some efforts can be done in order to mitigate them to some extent.
In many scenarios multiple devices are co-located or in near proximity to one another. One such scenario is on public transport in populated areas. Multiple users might enter and exit the transport at the same time, in addition to being co-located on-board during the journey. In scenarios such as this, these smartphone users can collaborate on different tasks in order to reduce the load of each device. This reduces the consumed energy, without compromising on network load or some security issues as presented earlier. By opportunistically connecting to – and sharing – common computations with nearby smartphones, the users on-board a public transport vehicle can compute tasks as ‘one entity’. The result of the computations done collectively is then available for all nearby devices and ensures that no computation is done more than once.
You might also be interested in: Research article: App optimisation and performance
Let’s look at an example of a near-future public transport application, taking advantage of the Be-in/Be-out paradigm. Be-in/Be-out (BIBO) is about enabling users of public transport to enter and leave vehicles without having to do any explicit action. A seamless, ticket free travel experience. In order to achieve accurate ticketing, heavy local computations are needed in order to estimate or verify if a user actually is on a public transport vehicle, which vehicle and how long the journey is. In scenarios such as this, the smartphones of embarking and disembarking travellers can collaborate as one entity in order to calculate whether travellers are embarking, disembarking along with which mode of transport the travellers are in. Since these computations require large amounts of on-device sensor data, we conducted a study to measure the impact on the consumed smartphone energy when data were collected in a distributed manner, where every device shared the same data as opposed to every device collecting its own sensor data. The results indicated that a shared distributed collection imposed less energy consumption than traditional approaches.
It is hard to say exactly which calculations are needed for different solutions in the future, however, for scenarios where multiple devices need to do the same calculations within the same context, collaborating on the computation is a viable approach in order to reduce energy consumption. This will also keep network traffic at a minimum.
The Be-in/Be-out scenario in public transport is a very relevant scenario which we are currently researching through a joint research effort between industry partner Kogenta, research partner Kristiania University College and public transport operators such as Nordland Fylkeskommune and Ruter. The project is called Be-Insight and you can read more about it here. In the future this solution might contribute to a more seamless travel experience with fairer pricing schemes and hopefully – once implemented, the travellers won’t notice a significant change in their device’s power consumption due to distributed work collaboration.
Article by: Anders Skretting.