Mobile applications are having a bigger role in our society than ever before. Many of these applications is relying heavily on internet usage, and due to the fact that smartphones have a limited battery capacity it is crucial that these network consuming applications are energy efficient. The traditional usage for communicating with a server is by using the HTTP protocol and a request/response model, but this can be rather limited because the server cannot send out data without the client's request. There are several ways to solve this problem, one widely used method is HTTP-Long Polling. Another protocol that has grown in popularity during the last years is the Websocket protocol, which works in a slightly different manner. The Websocket protocol supports two-way communication, commonly referred to as duplex, by default. This means that both the server and the client can send data to each other simultaneously and without the other parts request. Websocket has been proven more effective in many areas in various benchmarks, but whether it is more energy efficient on mobile platforms remains unclear and will thus be the topic of this thesis. To compare these protocols a mobile application has been developed for iOS and Android. These applications examine the energy efficiency of the two protocols by receiving short messages in a frequent interval from a server application written in Node.js. To measure energy impact of these protocols XCode Energy Report were used for iOS and Android’s built in battery monitor for Android. The result shows that the Websocket protocol was the more energy efficient alternative, especially for iOS. The implementation for Android shown that the choice of protocol did not have too much of an impact the energy consumption. / I dagens samhälle används mobilapplikationer i en större utsträckning än aldrig förr. Många av dessa mobilapplikationer använder sig friskt av mobiltelefonens nätverk, och eftersom mobiltelefoner har en begränsad batterikapacitet är det extra viktigt att dessa nätverkskrävande mobilapplikationer är så energisnåla som möjligt. Traditionellt sett har nätverksprotokollet HTTP använts för att skicka och ta emot data, men detta kan bli problematiskt då servern är beroende av att klienten frågar om data innan den kan skickas ut. Detta innebär att servern själv inte kan initiera en kommunikation med klienten. För att lösa detta problem finns det olika sätt som har kommit fram under åren; HTTP-Long Polling är en av dem. Ett annat protokoll som har växt sig populärt de senaste åren är Websocket, som fungerar på ett annat sätt. Websockets har standardiserat stöd för tvåvägskommunikation, eller duplex, vilket innebär att servern och klienten kan skicka data till varandra samtidigt och oberoende av att den andra parten har frågat om den. Websocket har visat sig vara effektivare inom många områden, men hur dessa kan påverka energiförbrukning när de implementeras på mobiltelefoner står oklart, det är detta den här studien syftar till att undersöka. För att undersöka denna skillnad har två mobilapplikationer utvecklats, en till Android och en till iOS. Dessa mobilapplikationer undersöker de olika protokollens energieffektivitet genom att ta emot meddelanden frekvent från en server skriven i Node.js. För att mäta hur väl de olika protokollen presterade användes XCode Energy Report för iOS och Androids inbyggda batteriförbruknings-översikt. Resultaten som erhölls var att Websocket var det mest energieffektiva alternativet, denna skillnad var dock extra tydlig på implementationen för iOS. Implementationen för Android visade att valet av protokoll inte hade en allt för stor betydelse för mobilapplikationens energiförbrukning, det bibliotek som användes för Websocket var väldigt mycket mindre effektivt än det som testades på iOS.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:hj-41361 |
Date | January 2018 |
Creators | van Mansvelt, Julius, Johansson, Jonathan |
Publisher | Tekniska Högskolan, Högskolan i Jönköping, JTH, Datateknik och informatik, Tekniska Högskolan, Högskolan i Jönköping, JTH, Datateknik och informatik |
Source Sets | DiVA Archive at Upsalla University |
Language | Swedish |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0028 seconds