Improving Network Protocols
Investigating the effect of improved network protcols and software on energy usage of mobile devices.Standard network protocols like HTTP (which makes up more than 80% of total traffic to mobile devices) and TLS (which is increasing in usage due to privacy and security concerns) provide an easy and well supported method of communication for the web and app developers. These protcols have been around for many years and efficient and well understood implementations exist on all platforms. However, their age means that they were designed in the age of mainframes, before mobile devices had been conceived. As a consequence, overheads inherent in their designs have become significant on mobile devcices. TLS requires several round trips to establish a connection, increasing the time taken to set it up, and requiring a large amount of energy. Meanwhile, TCP, another protocol at a lower layer of the network stack, which HTTP and TLS run on, also has features that make it unsuitable for mobile network connections. Replacing these older protcols with newer ones more suited to mobile devices could reduce energy consumption.
The various power states of mobile network hardware also affects energy consumption. Large amounts of energy are consumed by the hardware when not actively transmitting or receiving, but instead simply waiting to transmit or receive. Reducing the time spent in these waiting states is an important step to reducing overall energy consumption of networking hardware. Rescheduling network requests to maximise the length of idle time between transmissions can also help to reduce the total time spent in these waiting states.
Improving Request Scheduling
If packets, instead of being sent slowly over time, can be scheduled so that they are sent in bursts followed by periods of idle time, then the network hardware has to spend less time in higher power states and can consume less energy overall. Existing algorithms to achieve this, for example 802.11b (WiFi)'s Power Saving Mode, have significant implications to throughput and latency of connections (2). These older systems are therefore not suitable for modern mobile devices as users demand higher throughput and lower latency.
New algorithms for scheduling packets can improve over these existing ones. One proposal suggests that in the best case 50% of energy is saved for only a 7% increase in time taken, and in the average case the reduction in energy is significantly greater than the wall time slowdown (2).
Lower Overhead Protocols
HTTP 2, which was standardised in 2015, is a replacement for the aging HTTP protocol, and its energy performance on mobile devices is improved over its predecessor. For example, where HTTP 1.1 (the previous version, standardised in 1995) only allows one request per connection; HTTP 2 allows multiple requests to occur in parallel on one connection. This avoids the overhead of opening multiple connections and decreases the total time spent transmitting. In HTTP 1.1, when loading a web page, the client must download the resource and parse it, before extracting links to further resources required for rendering the page. In HTTP 2, the server can predict the resources the client will require, and automatically send them in parallel with the main page. This saves several round trips in typical web browsing scenarios and therefore improves both speed and energy consumption. These improvements are particularly important when the device has a connection with a high round-trip-time, as is typical with WiFi and cellular connections in areas with poor signal. In these conditions, HTTP2 saves significant energy as compared to HTTP 1.1, and in fast network conditions the energy consumed is no higher (3) (4).
QUIC is another protocol developed by Google, similarly to HTTP 2, with ambitions to improve web browsing speed. QUIC replaces TCP with UDP and aims to reduce latency by removing round trips and improved multiplexing and streaming. QUIC prevents a single lost packet from holding up a whole connection as in multiplexed TCP, and instead a lost packet only interrupts a single stream within that connection. These improvements decrease the time taken in higher energy states, thus reducing the energy consumed (5) (6) (7) (8).
Although HTTP 2 and QUIC have significant advantages in several areas for mobile devices, adoption is still lacking in many websites and apps. A W3Techs rurvey shows that just over 25% of top sites used HTTP 2 in February 2018; QUIC adoption is estimated at only 5%. Thus increasing the adoption of these new protocols can help to reduce energy usage.