MDB Motorola Internal Use Only 1 21-August-2006 DM/FOTA Component Overview Elliot Stewart
MDB Motorola Internal Use Only 2 21-August-2006 Agenda DM/FOTA Technology Background FOTA System Architecture FOTA Transaction Flow FOTA Client Architecture DM Provisioning Capabilities DM/FOTA Team Resources
MDB Motorola Internal Use Only 3 21-August-2006 DM/FOTA Technology Background
MDB Motorola Internal Use Only 4 21-August-2006 DM/FOTA Technology Open Mobile Alliance driven – Device Management (DM) Working Group –Client – Server technology Enabler releases –Current: DM protocol v1.2 Firmware Update (FUMO) v1.0 – a.k.a. FOTA –Future: Diagnostics, Scheduling, Application Management, etc…
MDB Motorola Internal Use Only 5 21-August-2006 Common Use Cases OMA DM enabler releases drive key use cases OMA FUMO protocol –Firmware update (covered) –Flex update –Combined Firmware + Flex update OMA DM protocol –Phone application provisioning –Verification, addition, and deletion of phone settings
MDB Motorola Internal Use Only 6 21-August-2006 FOTA System Architecture
MDB Motorola Internal Use Only 7 21-August-2006 FOTA E2E
MDB Motorola Internal Use Only 8 21-August-2006 System Integration
MDB Motorola Internal Use Only 9 21-August-2006 FOTA Transaction Flow
MDB Motorola Internal Use Only August-2006 Transaction Flow
MDB Motorola Internal Use Only August-2006 FOTA Client Architecture
MDB Motorola Internal Use Only August-2006 FOTA Client Architecture
MDB Motorola Internal Use Only August-2006 OTA Controller State machine controlled Idle DFWaiting UPWaiting FetchDF DFAvailable UPAvailable Update Failed User Canceled Download Failed Update Complete
MDB Motorola Internal Use Only August-2006 Update Package DL OTA Download Agent (DA) –Responsible for securely retrieving descriptor file and update package from an authenticated download server Uses TLS 1.0 (SSL 3.1) secure connection through Core Browser to perform the download Verifies that the root certifying authority (CA) of the certificate chain received must be one that asserts that the bearer of it’s certificate is authenticated for OTA software update purposes –Interfaces with the OTA Handoff Agent to store the Update Package in: Persistent memory for FW updates File system for Flex updates
MDB Motorola Internal Use Only August-2006 FOTA Components OTA Handoff Agent (HA) –Acts as the handshake between the phone code firmware and Update Agents via a reserved memory area called the Handoff Data section –Signals to Update Agent when package available –Reboots the phone when the update process is ready to start –Provides update status to the OTA Controller OTA Plug-in –Provides functional interface between the SyncML DM engine and the OTA Controller –Responsible for all the SyncML DM operational commands for most of the FUMO subtree nodes
MDB Motorola Internal Use Only August-2006 FW Update Agent Update Agent (UA) –Stand-alone firmware that incorporates the UA library from Bitfone and Motorola written APIs to sequence a firmware update based on instructions contained in an update package –Key operational tasks: UA copies itself from ROM to RAM before running in RAM Decompresses the update package Surveys the phone code firmware Provides progress updates for the display –Update process: Fault tolerant Runs to completion no matter how many times interrupted –Final action is to update status in Handoff data section and reset phone
MDB Motorola Internal Use Only August-2006 FOTA UI OTA UI Responsibilities –Display and update progress bar during download –Allow the user to cancel a download –Obtain user input on beginning a software update –Check to ensure a package is available prior to sending an update request and inform the user in the case where there is no package –Check the battery level to ensure it is an acceptable level to begin an update and inform the user when it is not –Inform the user that all of the phone operations will be unavailable during an update –Allow the user to close the flip and continue the download The OTA UI is implemented as a state machine
MDB Motorola Internal Use Only August-2006 Modified Boot
MDB Motorola Internal Use Only August-2006 DM Provisioning Capabilities
MDB Motorola Internal Use Only August-2006 DM Tree (partial)
MDB Motorola Internal Use Only August-2006 Provisioning Architecture
MDB Motorola Internal Use Only August-2006 Provisioning Features Feature #Description 7296Standardized Management Objects – DevInfo, DevDetail, DM Accounts, DM connectivity 7435Web session (Browser) & MMS 8633Dynamic URL – Message center, Themes, Java Tools, IM, Pictures, Video, Audio, Games & Apps, and Main menu 9028Network Storage (Blog) 9473WVIM 11403FUMO 11598Default settings control for web session & MMS 12081Motorola PoC client OMA PoC client
MDB Motorola Internal Use Only August-2006 DM/FOTA Team Resources
MDB Motorola Internal Use Only August-2006 FAQs DM Compass FAQ site – –To subscribe ction=elinksubscribe&nexturl=%2Fcgi%2Fgo%2Fdm_faq ction=elinksubscribe&nexturl=%2Fcgi%2Fgo%2Fdm_faq FOTA Compass FAQ site – –To subscribe ction=elinksubscribe&nexturl=%2Fcgi%2Fgo%2Ffotafaq_0 ction=elinksubscribe&nexturl=%2Fcgi%2Fgo%2Ffotafaq_0
MDB Motorola Internal Use Only August-2006 DDTS CR Search DM/FOTA CR search guidelines – DDTS Google search – Custom based queries in DDTS –DM analysis CRs \( \(Description 'notequal' "\ " '&&' \(Project 'isequal' "adevice_mgt" '||' Project 'isequal' "aprod_3g" '||' Project 'isequal' "aprod_gsm" \) '&&' \(Status 'isequal' "N" '||' Status 'isequal' "W" '||' Status 'isequal' "A" '||' Status 'isequal' "E" '||' Status 'isequal' "L" '||' Status 'isequal' "O" '||' Status 'isequal' "U" '||' Status 'isequal' "V" \) '&&' \(Severity 'isequal' "1" '||' Severity 'isequal' "2" '||' Severity 'isequal' "3" '||' Severity 'isequal' "4" '||' Severity 'isequal' "5" \) '&&' \(Primary_feature_team 'isequal' "DevMgmt" '||' Primary_feature_team 'isequal' "Not_yet_analyzed" \) \) \) '&&' \(Class 'isequal' "analysis" \) –DM development CRs \( \( \(Primary_feature_team 'isequal' "DevMgmt" '||' Primary_feature_team 'isequal' "Not_yet_analyzed" \) '&&' Description 'notequal' "\ \ " '&&' \(Status 'isequal' "N" '||' Status 'isequal' "A" '||' Status 'isequal' "P" '||' Status 'isequal' "R" '||' Status 'isequal' "D" '||' Status 'isequal' "U" '||' Status 'isequal' "E" '||' Status 'isequal' "V" '||' Status 'isequal' "I" '||' Status 'isequal' "T" '||' Status 'isequal' "C" \) '&&' \(Severity 'isequal' "1" '||' Severity 'isequal' "2" '||' Severity 'isequal' "3" '||' Severity 'isequal' "4" '||' Severity 'isequal' "5" \) '&&' Project 'isequal' "device_mgt" '&&' \(Submitted_on 'atleast' "050101" '&&' Submitted_on 'atmost' "060512" \) \) \) '&&' \(Class 'isequal' "development" \)
MDB Motorola Internal Use Only August-2006 Useful Compass Links DM Compass top-level – DM Component CCB – DM Component Releases – DM Team homepage – DM Team Training Repository –
MDB Motorola Internal Use Only August-2006 Senior Team Contacts NameCore IDRole Mark Rubelfmr300DM Director Hua Huangw30115Mgr – GSM/UMTS Shankar Ranerusraneru1Mgr – CDMA R N Ramesha15800Architect Elliot Stewarte42605Architect Ryan Markw21047OTA Flex J Krithikaa17739DM/FOTA Baheer Rajalingambrajali1FW UA Allyn CharlefouracharlefCM/Build