Development

Apps

Energiegebruik app vraagt extra aandacht

7 oktober 2011

Apps die veel energie gebruiken, doen afbreuk aan hun doel. Het voordeel van mobiliteit komt immers in het gedrang wanneer een app er oorzaak van is dat een mobiel apparaat te vaak opgeladen moet worden. Maar uitzoeken wat de oorzaak is van overmatig energiegebruik, is nog niet eenvoudig. De gelaagde architectuur van de netwerkomgeving en het mobiele platform maken de zaken weinig inzichtelijk. En de betrokkenheid van drie partijen – de appontwikkelaar, de fabrikant van het mobieltje, en de uitbater van het mobiele netwerk – maken een analyse nog lastiger. Wetenschappers van de universiteit van Michigan en van AT&T vonden het gebrek aan inzicht onbevredigend, en besloten tot een diepteonderzoek. Daaruit kwamen conclusies naar voren waar ontwikkelaars hun voordeel mee kunnen doen.

Verschillende energiestatussen

De belangrijkste factoren die het energieverbruik beïnvloeden zijn, dat de mobiele telefoon moet woekeren met de beschikbare energie, en dat het mobiele netwerk voor de taak staat om een beperkte bandbreedte te verdelen over een potentieel groot aantal gebruikers c.q. processen. Eén van de belangrijkste zaken waar een ontwikkelaar daarbij rekening mee moet houden is, dat leveranciers hun mobieltje frequent laten schakelen tussen energiestatussen. In de hoogste stand is het mobieltje volledig operationeel, maar put het de batterij ook snel uit en legt het beslag op capaciteit op het mobiele net. In de laagste stand is het energieverbruik minimaal en is de netwerkverbinding vrijgegeven. Maar het mobieltje heeft dan wel extra energie en tijd nodig om in actie te komen. Tussen deze twee standen vindt men één of meer tussenstanden, met bijbehorend energieverbruik.

Het mobieltje zal altijd proberen terug te keren naar een lagere stand. Om te voorkomen dat een gebruiker afgeschakeld wordt tijdens een denkpauze, worden timers gebruikt die klokken hoe lang geleden de laatste gegevensoverdracht plaatsvond . Op een typisch 3G-netwerk is de terugschakelvertraging van volledig vermogen naar half vermogen bijvoorbeeld 5 seconden, en van half vermogen naar de stand werkloos 12 seconden. Tijdens die 5 respectievelijk 12 seconden verbruikt het mobieltje feitelijk energie voor niets, en houdt de netwerkoperator voor iets bandbreedte beschikbaar voor dat mobieltje. Die 5 en 12 seconden zijn gemiddeldes; iedere netwerkoperator maakt daar - uit het oogpunt van capaciteitsbeheer - eigen afwegingen in.

De communicatie over de mobiele netwerken is op zich ook al een bron van vertragingen. Dat heeft te maken met de hiërarchische structuur van mobiele netwerken. Een communicatiecyclus duurt daardoor makkelijk 4 tot 8 maal zo lang als in de bedrade wereld. En ieder webbezoek bevat meerdere cycli, zoals het opvragen van de locatie van de te bezoeken website in het Domain Name System en de verschillende stadia in het verbinding leggen met de server die de website host. Met slim programmeren kan daardoor op het mobieltje energie bespaard worden.. Bijvoorbeeld door het aantal acties die een antwoord vergen te beperken, of acties die voor afronding een reactie nodig hebben parallel te laten plaatsvinden. 

Op zoek naar de balans

De kunst is nu om een balans te vinden tussen twee verspillende activiteiten: het opschakelen naar een hogere energiestatus, en de periode waarin het mobieltje actief blijft om zeker te zijn dat een lopend proces is beëindigd. Waarbij dan ook rekening te houden is met de eigenaardigheden van het mobiele netwerk en de vertragingen die daarin kunnen optreden. Als vuistregel kan men hanteren, dat per sessie zoveel mogelijk data moeten worden verstuurd. Bestanden moeten bijvoorbeeld bij voorkeur in een keer in hun geheel gedownload worden. Hetzelfde geldt voor webpagina’s en de elementjes daarop.  Uitzondering zijn videobestanden; die kunnen beter in porties van 2 tot 5 minuten verstuurd worden, gebruik makend van de volledige bandbreedte op het moment van verzending.

Verder doet men een gebruiker van een app of een mobiele website een enorm plezier door alleen elementen te sturen die veranderd zijn, apps te synchroniseren zodat ze in één communicatiesessie.  Ook anticiperend downloaden van content kan energie helpen besparen – al kan dat bij het knijpen van de datalimieten door telecomproviders een aflopende zaak zijn. Met een speciale opdracht na ‘gedane zaken’ kan men ook de wachttijd tot het terugschakelen naar een lagere energiestatus forceren, hoewel dat ook nadelen heeft.

Meer informatie over programmeren voor efficiënt energiegebruik is te vinden op de de website van AT&T.


 
Lees het hele artikel
Je kunt dit artikel lezen nadat je bent ingelogd. Ben je nieuw bij AG Connect, registreer je dan gratis!

Registreren

  • Direct toegang tot AGConnect.nl
  • Dagelijks een AGConnect nieuwsbrief
  • 30 dagen onbeperkte toegang tot AGConnect.nl

Ben je abonnee, maar heb je nog geen account? Laat de klantenservice je terugbellen!