re: Nokia funded Bitfone OTA Firmware Update Solution
Oliver Thylmann wrote an InfoSync article and interview on Bitfone shortly after CsBIT.
I missed it on the first go round.
Here it is.
>> Phoning the Bits in Place
Oliver Thylmann InfoSync 05.03.02
infosync.no
If you've ever been annoyed by having to turn in your mobile phone to upgrade its firmware, Bitfone has a solution - Oliver Thylmann had a quick chat with them to learn more.
Bitfone Corporation, funded by among others Nokia Venture Partners, recently demonstrated their over-the-air firmware update technology, called mProve, which enables carriers and mobile phone manufacturers to deliver firmware and software updates to mobile phones over the air. Of course, we had to find out what all of this means for you - Joe Consumer.
Put in a slightly different manner, Bitfone's mProve solution is the first product to update the core operating system and major applications such as micro-browsers, Java Virtual Machines (JVMs), and messaging applications, while the phones remain in the hands of its user.
Bitfone's mProve solution "enables mobile phone manufacturers and wireless carriers to reduce warranty and recall costs, drive down customer service costs, and decrease customer churn caused by firmware and software problems", which for the customer simply means that all the bugs in your handset can be ironed out through means of a firmware upgrade, without it being necessary to ship the phone to the manufacturer or going to a service partner.
"The key to success for wireless services is providing a reliable, compelling user experience," said Gene Wang, chairman and CEO of Bitfone Corporation. "Wireless customers will always want access to the latest, most updated features and fixes. mProve meets the demand of wireless users to update phones in their hands, rather than through replacement or service center visits."
Mobile phones are growing increasingly complicated, and that is a trend which will nothing but continue - which means that more and more bugs will creep into phones. That, however, should not mean your phone will have to pay ever more frequent visits to the manufacturer or a service partner to get the latest firmware upgrade.
What we wondered, though, was how they made all of this work, and so we chatted up Sunil Marolia, Bitfone’s Marketing Manager, to learn more.
Oliver Thylmann: Among other things, you state that your technology does not require any hardware changes in phones; that leads me to presume it needs software changes - doesn’t it?
Sunil Marolia: This is correct. The phone must be embedded with a small software agent which we refer to as our mProve Agent. This agent is responsible for downloading, verifying, and applying the updates to the firmware. Typically, to produce a fault-tolerant solution for updating the phone's core OS, you would need to double the available flash memory so that you can store the new firmware while operating on the old. Our mProve solution does not require doubling the memory and can update the core OS of the phone, with full fault-tolerance, without requiring any hardware changes to the device. It should be noted that this is not something the consumers can download and then have the functionality. Our Agent must be embedded into the phone at the time it's manufactured or when the firmware is flashed into the phone. Therefore, we are working with manufacturers globally under NDA (Editor’s note: Non-Disclosure Agreement), to embed our mProve Agent into their phones.
Oliver Thylmann: Is your solution independent of the operating system that runs on the device?
Sunil Marolia: This is correct. There are two reasons for this. The first is that the mProve Generator, which produces the ultra small update packages is object independent. It does a byte level comparison using a proprietary comparison algorithm. To the Generator, firmware images are just an array of bytes, it doesn't care what it is. Therefore, any OS, content, application, can be compared to another, without regard to what the actual functionality of that code is.
The other component is the mProve Agent residing on the device. This is also independent of OS and just translates the update packages to turn the old version of firmware, into the new. It also downloads the update packages and verifies them, but the manner in which the Agent is constructed, enables it to be easily portable to any OS.
(Editor’s note: For the non-developers among you, mProve views software as what it is - just a string of ones and zeros - and does not care for what task the code performs but merely uses it as a comparative base.)
Oliver Thylmann: From my limited understanding, I would presume that it just resides somewhere in memory and handles it from there. Does that mean that the amount of time it takes to perform the update depends on how much of the phone’s Flash ROM is being updated, or how large the update is?
Sunil Marolia: The download time is dependent on the size of the update package. However, the mProve Generator analysis is not straight differencing. It uses a number of comparison rules to efficiently build the update package. Therefore, even if there are significant changes in the firmware, the update package can still be quite small, on the order of 1% to 10%, typically. In our demonstration at 3GSM (Editor’s note: 3GSM World Congress held in Cannes, France, in mid-February), version 1 and 2 of the firmware was 1.7 MB, and the update package was only 20 KB. But more importantly, the changes affected a significant amount of the firmware code and the amount of changes to the firmware will affect the amount of time to update it. In the case of our example at 3GSM, the update took about 2 minutes to apply once the package was downloaded.
Oliver Thylmann: I assume the "we can flash it without needing double the flash space" is one of the NDA parts - which quite frankly bugs me, since I can’t help but wonder how you fit double the amount of data into the same space. If there is no room there is no room, or is there?
Sunil Marolia: The update portion of our solution is proprietary, but to give you some idea of why we don't need to double the memory... the update package created by the mProve Generator is just a small fraction of the total firmware code size. Therefore, we only need to store this small amount of data in order to update the entire flash memory. How we manage to apply the updates with fault-tolerance and no additional memory is only discussed with potential customers under NDA.
Oliver Thylmann: Will this entire solution in some way be invisible to the user, so that for instance the update procedure can be initiated from the network side? I assume the network operator or phone manufacturer can decide that though - as I quite frankly wouldn’t be very happy if my phone suddenly decided to upgrade itself whilst I was talking to someone :)
Sunil Marolia: Bitfone provides a platform for the manufacturers, but the manner in which they wish to interact with their customers is up to them. There are methods to push updates which include provisioning SMS messages among others. However, it is our recommendation that the updates not be invisible to the user. Since we are updating the core OS of the device, there is a point in time during the update when the phone is no longer functional as a phone. Therefore, we recommend that the user be given a choice as to whether or not to accept an update.
Oliver Thylmann: What about making your solution work on older phones? For example, I have a Siemens ME45, and a new version of its firmware was announced. I’m pretty sure it cannot be updated with a system like yours in place only on the network side - but would it be possible if the new firmware included mProve capabilities to update the phone for later firmwares over the network?
Sunil Marolia: There are server side components which will host the updates on the network which will be controlled by manufacturers and/or wireless operators. But your assumption is correct... the mProve Agent can be retrofitted onto old phones if it is included in the new firmware. So, for your Siemens ME45, if the next firmware had the mProve Agent and you had it flash upgraded by cable, then the follow-on updates would not require you to visit a retail center, or send in your phone for future updates. Instead, they could be delivered and applied over-the-air. Most likely however, you will start to find the technology on newly released phones, as opposed to the phones which are currently on the market. Also, this technology works on 2, 2.5, and 3G networks.
Oliver Thylmann: Can you reveal anything about when we could expect phones with your technology to trickle into the market - or even better, tell us whether any manufacturers have already signed up for your solution, and if so which ones?
Sunil Marolia: We are seeing significant interest from manufacturers globally, however, we can’t discuss specific customers at this time, as we are working with them under NDA. We will keep you posted with more information as it becomes public. <<
- Eric - |