FOTA

FOTA är en akronym för Firmware Over-the-Air. Det används för uppgraderingar till mobiltelefoner, handdatorer och bärbara pekdatorer. 

Funktionen går under flera namn inklusive Software Update, Firmware Update eller Device Management. Ursprungligen krävdes det för firmwareuppdateringar att ett visst servicecenter besöktes; varje tillverkare hade sitt eget. En annan metod att uppgradera var genom att ansluta telefonen via en kabel till datorn och installera uppdateringen från datorn. Båda dessa metoder anses obekväma av konsumenter och de var även starkt beroende av att konsumenterna själva uppsökte uppgraderingen. Därför har majoriteten av mobiltelefontillverkare och operatörer nu antagit FOTA-teknik för sina mobiltelefoner. Om mobiltelefonen är FOTA-kapabel kan du istället ladda ner firmwareuppgradering via luften (Over-the-Air) direkt från din mobiloperatör. Det tillåter också tillverkare och operatörer att "trycka ut" firmwareuppgraderingar för att säkerställa att mobiltelefonkonsumenter har de senaste programuppdateringarna och löpande förbättringar, vilket bidrar till att minska kostnaderna för kundsupport och till att öka konsumenternas tillfredsställelse. Processen tar normalt mellan tre och tio minuter beroende på storleken på uppgraderingsfilen och på hastigheten på den trådlösa anslutningen.

Open Mobile Alliance har släppt en specifikation för en testprocess på Firmware Update Management som standardiserar testmetoder för FOTA. De flesta större mobiltelefontillverkare ger information om uppdatering av mjukvara på sina webbplatser, vanligtvis i deras kundsupport. De brukar lista vilka mobiltelefonmodeller som stöder uppdatering av mjukvara via FOTA eller vilka som fortfarande kräver användning av en kabelanslutning till en PC. 

Red Bend Software erbjuder en förteckning över av hundratals mobiltelefonmodeller som har FOTA-kapabel programvara.

Tillvägagångssätt

Det finns tre fundamentalt olika tekniska metoder att generera deltafiler och tillämpa dessa filer till firmwarebilden: patchning, padding, och beräkning.

Patchning
Patchning innebär att infoga en hoppinstruktion i början av blocket som ska ersättas; instruktionen pekar till den nya blocket. Det ersättande blocket läggs till avbilden i ett fritt utbyggnadsområde. Nackdelen är att den uppdaterade avbilden inte är bit-för-bit identisk med den ursprungliga målversionen och dessutom kräver stora mängder minne i firmwaredistributioner.

Padding
Padding innebär tillsatser av överskottsminne eller 'stoppning' runt firmwareblock som kan ersättas. Utmaningen här är att det kräver ytterligare 10-20% minne och behovet av att på förhand planera framtida utbyggnader redan i tillverkarens utvecklingsprocess. Dessutom kan minnesblock som inte "stoppats" inte ofta uppdateras, vilket gör det tillvägagångssätt opraktisk för icke-sekventiella uppdateringar.

Beräkning
Beräkning bearbetar utsignalen från programmets kompilator och länkare för att generera optimerade uppdateringsinstruktioner. Detta tillvägagångssätt stör inte utvecklingsprocessen, men ger ändå bit-för-bit exakta avbilder. Det beräkningsmässiga tillvägagångssättet möjliggör förutsägbara storlekar på uppdateringarna, stöder icke-konsekutiva versionsuppgraderingar och obegränsade uppdateringar per enhet.

Se även
 FUMO
 Over-the-Air Programming
 Software Components OTA
 Open Mobile Alliance's FUMO Test specification

Mobiltelefoni