얼마전에 유럽측과 업무 이야기를 하다가 특이한 이야기를 들었다. 자주 있는 일은 아니지만 종종 내장형 프로그램과 VM 프로그램을 비교한다는 것이다. 내장형은 Application, VM은 Contents나 Service로 구분되어 사용되는 국내와는 다른 부분이다. 유럽은 일반 Application도 VM 형태(Java 등)로도 제공을 하는 일이 종종 있다고 한다. 그래서 하나의 Application에서 한 회사는 내장형으로 다른 회사는 VM으로 제안을 해서 해당 Application이 내장형으로 할 때와 VM으로 할 때의 장단점을 놓고 고민을 한다고 한다.
VM의 경우, 가장 강조하는 것이 Patch나 Upgrade의 편이성이다. 심각한 오류가 발견이 될 때 SMS의 callback만 던져주면 새로 다운로드가 되니 사용자 입장에서는 편할 것이다. 하지만, 내장형도 Patch가 가능하다. 어쩌면 모든 Binary Code를 다시 Download 받아 reinstall 하는 VM형태보다 더 진일보 되는 기술이 있으니 바로 FOTA(Firmware Over The Air)이다. 휴대폰의 펌웨어를 무선으로 자동 업그레이드하는 솔루션인 이 FOTA는 일본과 유럽에서는 꽤나 일반적이고 국내 Vendor에서 사용을 하고 있지만 국내 시장에서는 다소 생소할 수도 있는 듯 하여 아는 한도에서 소개를 해보고자 한다.
1. FOTA의 등장 배경
모바일폰들이 mp3, 카메라 모듈, USB 드라이브등과 같은 다양한 Device와 Convergence 되면서 점차 복잡해지고 많은 수의 Application들이 내장되게 되었다. 2004년에는 평균적으로 50개 정도의 Application이 탑재되었지만 2006년에는 70개에 가까운 수의 Application이 탑재되었다.
Application이라는게 Bug또는 Upgrade되어야할 필요성은 느끼지만 그때마다 사용자가 서비스센터에 가서 업그레이드 받을 확률은 거의 없다. 서비스 센터에 갈 필요 없이 언제 어디서나 네트워크를 통해 문제되는 부분만 Patch를 받아서 해결되는 간편한 기술인 FOTA는 2001년에 처음 소개되었고 최근 2년부터 주목받기 시작했다.
2007년 말쯤에는 새로 출시되는 폰의 40%가, 2008년에는 50%가 FOTA기술을 내장할 것이라고 예측할만큼 성장하는 기술이다.
2. FOTA의 기본 기술
Patch의 기술은 사실 FOTA가 처음은 아니다. 요근래에도 온라인 게임의 계속되는 패치나 XP의 Service Pack들을 생각하면 생소하지는 않을 만큼 PC에는 일반적인 기술이다. PC와 다른 점은 낮은 Bandwidth와 높은 Packet Cost 등의 이유로 인해 전체 Firmware Package를 다운 받는 것이 아닌 수정된 부분만 추출하여 파일을 생성하고 이것을 다시 압축하여 파일사이즈를 줄여서 사용을 한다는 것이다. 이러한 일련의 알고리즘과 프로토콜등은 표준화되는 규격없이 각 FOTA 솔루션 업체에서 만들어서 사용을 했으나 점차로 OMA-DM의 표준스펙으로 옮겨가고 있다.
위의 그림은 FOTA 솔루션의 선두업체인 InnoPath의 기본 구조를 나타내는 그림이지만 기본 원리는 대동소이하다.
FOTA는 최신 버전과 사용자 핸드폰의 내장 버전과의 차이를 DIFF generator를 사용하여 구분한다. DIFF generator는 개발자에게는 아주 익숙한 툴로 두 코드 사이에 틀린 부분만을 찾아서 어떤 부분이 수정이 되었는지에 대한 정보를 얻어온다. DIFF 파일은 ZIP알고리즘에 의해 압축이 되고 Vendor가 제공하는 Key에 의해 보안이 추가된다.DIFF 파일을 빨리 생성하고 좀더 작은 Size로 만들어내는 것이 FOTA솔루션의 Key이며 각 솔루션 업체마다 차이가 있다.
DIFF 파일을 생성한 후에 각 모바일 디바이스에 전송을 하게 되고, 각 클라이언트는 받은 정보를 기준으로 하여 Binary Code를 수정(re-flash)하게 된다. 보통은 한 Block을 re-flash하기 위해 1.5초가 소요된다.
Comments List
관리자만 볼 수 있는 댓글입니다.
아무도 관심 없을거라 예상했는데 관심을 가져 주셔서 감사합니다.
제가 좀 더 부지럼을 떨어 보겠습니다. ^^
FOTA의 관련 자료는 어디서 확인 할수 있나요 ^^;
국내에서 다소 생소하셔서 이런 질문을 하시는 것 같은데 포스트에서 이야기 했듯이 FOTA는 새로운 기술이 아닙니다.
인터넷 검색 사이트에서 다양한 자료를 쉽게 구하실 수 있습니다.
FOTA나 MDM으로 검색해 보세요~
얼마전 인터넷 전화가 혼자가 몰래 Upgrade하는것을 본적이 있었습니다. 주인인 나에게 안들킬수도 있었는데..용케도 발견했드랬지요. 혼자서..Progress Bar가 쭉쭉 올라가고 Upgrade를 위한 재부팅도 수행하고.... 신기하더군요. FOTA도 마찬가지일듯....특정상황에서는 User가 모르겠지요. S/W 버전을 확인않는다면....
네~ 사실 제가 설명했던 이동 통신망을 이용한 OTA와는 조금 거리가 있지만 원론적인 의미의 OTA 는 맞습니다. 요즘은 아이폰에서 펌웨어 업글도 OTA로 이야기 하더군요.. ^^
관리자만 볼 수 있는 댓글입니다.