En jämförelse mellan HTTP Long Polling och Websocket ur ett batteriperspektiv

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 tradit...

Full description

Bibliographic Details
Main Authors: van Mansvelt, Julius, Johansson, Jonathan
Format: Others
Language:Swedish
Published: Tekniska Högskolan, Högskolan i Jönköping, JTH, Datateknik och informatik 2018
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:hj:diva-41361
id ndltd-UPSALLA1-oai-DiVA.org-hj-41361
record_format oai_dc
collection NDLTD
language Swedish
format Others
sources NDLTD
topic HTTP
Long Polling
Websocket
battery
duplex
mobile applications
HTTP
Long Polling
Websocket
batteri
duplex
mobilapplikation
Engineering and Technology
Teknik och teknologier
spellingShingle HTTP
Long Polling
Websocket
battery
duplex
mobile applications
HTTP
Long Polling
Websocket
batteri
duplex
mobilapplikation
Engineering and Technology
Teknik och teknologier
van Mansvelt, Julius
Johansson, Jonathan
En jämförelse mellan HTTP Long Polling och Websocket ur ett batteriperspektiv
description 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.
author van Mansvelt, Julius
Johansson, Jonathan
author_facet van Mansvelt, Julius
Johansson, Jonathan
author_sort van Mansvelt, Julius
title En jämförelse mellan HTTP Long Polling och Websocket ur ett batteriperspektiv
title_short En jämförelse mellan HTTP Long Polling och Websocket ur ett batteriperspektiv
title_full En jämförelse mellan HTTP Long Polling och Websocket ur ett batteriperspektiv
title_fullStr En jämförelse mellan HTTP Long Polling och Websocket ur ett batteriperspektiv
title_full_unstemmed En jämförelse mellan HTTP Long Polling och Websocket ur ett batteriperspektiv
title_sort en jämförelse mellan http long polling och websocket ur ett batteriperspektiv
publisher Tekniska Högskolan, Högskolan i Jönköping, JTH, Datateknik och informatik
publishDate 2018
url http://urn.kb.se/resolve?urn=urn:nbn:se:hj:diva-41361
work_keys_str_mv AT vanmansveltjulius enjamforelsemellanhttplongpollingochwebsocketurettbatteriperspektiv
AT johanssonjonathan enjamforelsemellanhttplongpollingochwebsocketurettbatteriperspektiv
AT vanmansveltjulius acomparisionbetweenhttplongpollingandwebsocketfromabatteryperspective
AT johanssonjonathan acomparisionbetweenhttplongpollingandwebsocketfromabatteryperspective
_version_ 1718743195369603072
spelling ndltd-UPSALLA1-oai-DiVA.org-hj-413612018-09-28T06:49:30ZEn jämförelse mellan HTTP Long Polling och Websocket ur ett batteriperspektivsweA Comparision Between HTTP Long Polling and Websocket from a Battery Perspectivevan Mansvelt, JuliusJohansson, JonathanTekniska Högskolan, Högskolan i Jönköping, JTH, Datateknik och informatikTekniska Högskolan, Högskolan i Jönköping, JTH, Datateknik och informatik2018HTTPLong PollingWebsocketbatteryduplexmobile applicationsHTTPLong PollingWebsocketbatteriduplexmobilapplikationEngineering and TechnologyTeknik och teknologierMobile 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. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:hj:diva-41361application/pdfinfo:eu-repo/semantics/openAccess