KR20120041384A - 모바일 디바이스의 펌웨어 업데이트 방법 및 장치 - Google Patents

모바일 디바이스의 펌웨어 업데이트 방법 및 장치 Download PDF

Info

Publication number
KR20120041384A
KR20120041384A KR1020100102809A KR20100102809A KR20120041384A KR 20120041384 A KR20120041384 A KR 20120041384A KR 1020100102809 A KR1020100102809 A KR 1020100102809A KR 20100102809 A KR20100102809 A KR 20100102809A KR 20120041384 A KR20120041384 A KR 20120041384A
Authority
KR
South Korea
Prior art keywords
update
firmware
file
storage area
mobile device
Prior art date
Application number
KR1020100102809A
Other languages
English (en)
Inventor
김호태
조성관
박주학
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020100102809A priority Critical patent/KR20120041384A/ko
Priority to US13/275,917 priority patent/US20120102477A1/en
Publication of KR20120041384A publication Critical patent/KR20120041384A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Abstract

본 발명은 펌웨어 업데이트를 위한 복수개의 업데이트 파일들이 존재할 시 그들의 정합성을 사전 판별하고 그에 따라 펌웨어 업데이트를 수행하는 모바일 디바이스 및 그의 펌웨어 업데이트 방법에 관한 것으로, 이러한 본 발명은 모바일 디바이스의 펌웨어 업데이트 방법에 있어서, 펌웨어 업데이트 이벤트에 따라 업데이트 파일과 체크섬을 사용자 데이터 저장영역에 저장하는 과정과, 상기 사용자 데이터 저장영역에 저장된 업데이트 파일의 정합성을 판별하는 과정과, 상기 업데이트 파일의 유효 여부에 대응하여 펌웨어 업데이트를 수행하는 과정을 포함한다.

Description

모바일 디바이스의 펌웨어 업데이트 방법 및 장치{METHOD AND APPARATUS FOR UPDATING FIRMWARE OF MOBILE DEVICE}
본 발명은 모바일 디바이스의 펌웨어 업데이트 방법 및 장치에 관한 것으로 특히 본 발명은 모바일 디바이스의 펌웨어 업데이트 시 복수개의 업데이트 파일들이 존재할 경우 각 업데이트 파일들에 대한 정합성을 사전 체크하고 그의 결과에 대응하여 펌웨어 업데이트를 수행할 수 있는 방법 및 장치에 관한 것이다.
최근 정보통신 기술과 반도체 기술 등의 발전에 힘입어 각종 모바일 디바이스들의 보급과 이용이 급속도록 증가하고 있다. 특히, 최근의 모바일 디바이스들은 각자의 전통적인 고유 영역에 머무르지 않고 다른 디바이스들의 영역까지 아우르는 모바일 융/복합(mobile convergence) 단계에 이르고 있다. 대표적으로 이동통신 단말의 경우에는 음성통화나 메시지 송수신과 같은 일반적인 통신 기능 외에도 TV(Television) 시청 기능(예컨대, DMB(Digital Multimedia Broadcasting)나 DVB(Digital Video Broadcasting)와 같은 이동 방송), 음악재생기능(예컨대, MP3(MPEG Audio Layer-3)), 사진촬영 기능, 인터넷 접속 기능, 사전 검색 기능 등 각종 멀티미디어 기능들이 부가되고 있다.
한편, 이러한 모바일 디바이스의 경우 펌웨어(firmware)를 통해 운용되고 있다. 상기 펌웨어는 데이터나 정보를 변경할 필요가 없는 핵심적인 소프트웨어를 롬(ROM, Read Only Memory) 등에 저장하여 하드웨어(hardware)처럼 사용되는 일종의 프로그램(program)을 나타낸다. 이러한 펌웨어는 모바일 디바이스의 안정된 성능과 버그(bug)를 수정하기 위해 제품의 출시 이후에도 새로운 버전(version)이 지속적으로 개발될 수 있다.
그리고 펌웨어의 새로운 버전이 개발될 경우 모바일 디바이스의 펌웨어를 업데이트(update)할 수 있다. 이때, 모바일 디바이스는 유선 또는 무선 등의 다양한 방법들을 이용하여 펌웨어를 업데이트할 수 있다. 특히, 최근에는 무선을 이용한 펌웨어 업데이트 방식이 주목받고 있다. 이러한 무선을 이용한 펌웨어 업데이트 방식의 대표적인 예시로 포타(FOTA, Firmware Over The Air) 서비스를 들 수 있다.
상기 포타 서비스는 기존 버전의 펌웨어와 새로운 버전의 펌웨어를 비교하여 서로 다른 부분만을 추출한 델타파일(delta file)을 무선 네트워크를 통해 제공함으로써 펌웨어를 업데이트할 수 있도록 하는 서비스를 나타낸다. 즉, 모바일 디바이스는 델타파일을 획득하고, 기존 펌웨어에서 변화된 부분 즉, 상기 델타파일에 해당하는 부분만을 수정함으로써 펌웨어를 업데이트할 수 있다.
이를 위하여, 모바일 디바이스는 업데이트 에이전트(update agent)를 포함할 수 있으며, 상기 업데이트 에이전트는 델타파일 저장영역을 포함할 수 있다. 이때, 일반적인 펌웨어 업데이트 과정은 상기 델타파일을 모바일 디바이스의 상기 델타파일 저장영역에 다운로드하고, 이를 확인한 상기 업데이트 에이전트가 업데이트 여부를 사용자에게 확인하는 과정으로 이루어진다.
하지만, 이러한 펌웨어 업데이트 방법은 오랫동안 펌웨어 업데이트가 이루어지지 않았거나, 펌웨어의 변경 사항이 많아 복수개의 업데이트 파일들이 존재할 수 있다. 이와 같이, 복수개의 업데이트 파일들이 존재하는 경우 종래에서는 상기 델타파일 저장영역의 용량 제한으로 인하여 하나의 업데이트 파일을 다운로드하여 펌웨어를 업데이트하고, 다음 업데이트 파일을 다운로드하여 펌웨어를 업데이트 하는 과정을 반복하는 방식을 이용하고 있다. 이러한 방식은 사용자가 매번 펌웨어 업데이트 여부를 확인해야 하는 불편함이 존재한다. 따라서 복수개의 업데이트 파일들이 존재하는 경우에 있어서 펌웨어 업데이트를 위한 보다 효과적인 방안의 필요성이 대두되고 있다.
본 발명의 목적은 복수개의 업데이트 파일들에 의한 펌웨어 업데이트를 지원하는 모바일 디바이스 및 그의 펌웨어 업데이트 방법을 제공하기 위한 것이다.
본 발명의 다른 목적은 펌웨어 업데이트 수행 전 복수개의 업데이트 파일들의 정합성을 사전 체크하고, 그의 결과에 따라 펌웨어 업데이트를 수행할 수 있는 모바일 디바이스 및 그의 펌웨어 업데이트 방법을 제공하기 위한 것이다.
본 발명의 또 다른 목적은 복수개의 업데이트 파일들에 의한 펌웨어 업데이트 시 다운로드 하여 저장된 해당 업데이트 파일들의 정합성을 사전 검사하고, 그의 결과에 따라 전체 또는 일부 업데이트 파일을 이용한 펌웨어 업데이트를 수행할 수 있는 모바일 디바이스 및 그의 펌웨어 업데이트 방법을 제공하기 위한 것이다.
본 발명의 또 다른 목적은 펌웨어 업데이트에 따른 최적의 환경을 구현하여 사용성 및 편의성을 향상시킬 수 있는 모바일 디바이스 및 그의 펌웨어 업데이트 방법을 제공하기 위한 것이다.
상기와 같은 목적들을 달성하기 위한 본 발명의 실시 예에 따른 방법은, 모바일 디바이스의 펌웨어 업데이트 방법에 있어서, 펌웨어 업데이트 이벤트에 따라 업데이트 파일과 체크섬을 사용자 데이터 저장영역에 저장하는 과정과, 상기 사용자 데이터 저장영역에 저장된 업데이트 파일의 정합성을 판별하는 과정과, 상기 업데이트 파일의 유효 여부에 대응하여 펌웨어 업데이트를 수행하는 과정을 포함한다.
본 발명의 실시 예에 따르면 상기 업데이트 파일은 복수개를 포함하며, 복수개의 업데이트 파일들 각각의 체크섬과 상기 포타 서버에서 제공된 체크섬을 비교에 의하여 상기 유효 여부를 판별하고, 그 결과 상기 복수개의 업데이트 파일들이 모두 유효한 경우 해당 업데이트 파일들을 이용한 펌웨어 업데이트를 수행하며, 상기 복수개의 업데이트 파일들 중 불특정 업데이트 파일이 비유효한 경우 선택적으로 펌웨어 업데이트를 수행하는 것을 특징으로 한다.
본 발명의 실시 예에 따르면 복수개의 업데이트 파일들 다운로드 시 사용자 데이터 저장영역의 저장 공간을 확인하고, 상기 저장 공간이 충족될 시 상기 복수개의 업데이트 파일들을 다운로드 하여 상기 사용자 데이터 저장영역에 저장하며, 상기 저장 공간이 충족되지 않을 시 상기 복수개의 업데이트 파일들 중 일부 업데이트 파일만을 다운로드 하여 상기 사용자 데이터 저장영역에 저장하는 것을 특징으로 한다.
상기와 같은 목적들을 달성하기 위하여 본 발명의 실시 예에서는, 상기 방법을 프로세서에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 포함한다.
상기와 같은 목적들을 달성하기 위한 본 발명의 실시 예에 따른 장치는, 모바일 디바이스에 있어서, 포타 서버가 제공하는 복수개의 업데이트 파일들 및 그들에 대한 체크섬을 수신하는 통신모듈과, 상기 복수개의 업데이트 파일들을 저장하는 저장부와, 펌웨어 업데이트 수행 전에 펌웨어 업데이트를 위한 업데이트 파일의 정합성을 판별하고 그에 따라 펌웨어 업데이트를 제어하는 제어부를 포함한다.
전술한 바와 같은 내용들은 당해 분야 통상의 지식을 가진 자가 후술되는 본 발명의 구체적인 설명으로부터 보다 잘 이해할 수 있도록 하기 위하여 본 발명의 특징들 및 기술적인 장점들을 다소 넓게 약술한 것이다. 이러한 특징들 및 장점들 이외에도 본 발명의 청구범위의 주제를 형성하는 본 발명의 추가적인 특징들 및 장점들이 후술되는 본 발명의 구체적인 설명으로부터 잘 이해될 것이다.
상술한 바와 같이 본 발명에서 제안하는 모바일 디바이스의 펌웨어 업데이트 방법 및 장치에 따르면, 복수개의 업데이트 파일들에 의한 펌웨어 업데이트 시 보다 빠르고 안정적이며 편리하게 수행할 수 있다. 이러한 본 발명에 따르면 복수개의 업데이트 파일들에 의한 펌웨어 업데이트 시 중간에 불특정 업데이트 파일의 오류로 인해 펌웨어 업데이트가 중단되는 상황을 미연을 방지할 수 있다. 이에 의해, 펌웨어 업데이트 중 오류에 의해 그 프로세싱이 강제 종료됨에 따라 발생 가능한 치명적인 문제 등을 사전 방지할 수 있다.
본 발명에 따르면 펌웨어 업데이트 수행 전에 복수개의 업데이트 파일들에 대한 체크섬(checksum) 계산을 통해 각각의 정합성을 판별할 수 있다. 그리고 복수개의 업데이트 파일들 중 어느 하나라도 문제가 있을 경우 포타 서버 및 사용자에게 알릴 수 있으며, 문제의 업데이트 파일로 인해 진행 중인 펌웨어 업데이트가 중지되는 문제를 사전 예방할 수 있다. 또한 본 발명에 따르면 문제가 발생된 적어도 하나의 업데이트 파일을 제외한 유효한 일부 업데이트 파일을 이용한 펌웨어 업데이트를 선택적으로 수행할 수 있다.
이러한 본 발명은 모든 모바일 디바이스에 적용되어 구현될 수 있다. 그리고 본 발명은 모바일 디바이스에 보다 효과적인 펌웨어 업데이트 기능을 지원하도록 함으로써 모바일 디바이스의 사용성, 편의성 및 경쟁력을 향상시키는데 기여할 수 있다.
도 1은 본 발명의 실시 예에 따른 펌웨어 업데이트 시스템을 개략적으로 도시한 도면,
도 2는 본 발명의 실시 예에 따른 모바일 디바이스의 구성을 개략적으로 도시한 도면,
도 3은 본 발명의 실시 예에 따른 모바일 디바이스의 펌웨어 업데이트 방법을 도시한 흐름도.
이하, 첨부된 도면들을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. 이때, 첨부된 도면들에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 즉, 하기의 설명에서는 본 발명의 실시 예에 따른 동작을 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
제안하는 본 발명은 모바일 디바이스의 펌웨어(firmware) 업데이트 방법 및 장치에 관한 것이다. 특히, 본 발명에 따르면 펌웨어 업데이트를 위한 복수개의 업데이트 파일(update file)들이 존재할 시 그들의 정합성을 사전 판별하고 그에 따라 펌웨어 업데이트를 수행하는 것에 관한 것이다. 이러한 본 발명에 따르면 펌웨어 업데이트 시 비정상 업데이트 파일로 인해 펌웨어 업데이트가 중단되거나 그로 인해 시스템에 치명적인 문제가 발생할 수 있는 소지를 미연에 방지할 수 있도록 한다.
본 발명의 실시 예에서 업데이트 파일은 모바일 디바이스의 기존 펌웨어 버전(version)과 신규 펌웨어 버전을 비교하여 서로 다른 부분만을 추출하여 생성한 파일로서, 신규 펌웨어와 기존의 펌웨어에서 차이가 나는 부분만을 추출한 데이터와 상기 데이터가 설치될 주소 정보를 포함할 수 있다. 이러한 업데이트 파일은 델타파일(Delta file) 또는 디퍼런셜 파일(Differential file)이 될 수 있다.
그리고 본 발명의 실시 예에서 업데이트 에이전트(update agent)는 업데이트 파일을 이용하여 모바일 디바이스의 펌웨어를 업데이트를 주관하는 프로그램을 나타낼 수 있다. 이러한 업데이트 에이전트는 일반적으로 모듈 형태로 제공되며, 업데이트 파일이 저장되는 델타파일 저장영역을 포함할 수 있다.
또한 본 발명의 실시 예에서 사용자 데이터 저장영역은 모바일 디바이스 사용에 따라 생성되는 다양한 데이터들을 저장하기 위해 할당된 저장영역을 나타낼 수 있다. 특히, 본 발명에서 사용자 데이터 저장영역은 포타(FOTA, Firmware Over The Air) 서버(FOTA server)로부터 다운로드 되는 복수개의 업데이트 파일들을 저장하고, 이후 펌웨어 업데이트 진행 시 해당 업데이트 파일들을 델타파일 저장영역으로 이동할 수 있다.
그러면 이하에서 본 발명의 실시 예에 따른 모바일 디바이스의 구성 및 그의 동작 제어 방법에 대하여 하기 도면들을 참조하여 살펴보기로 한다. 하지만 본 발명의 실시 예에 따른 모바일 디바이스의 구성 및 그의 제어 방법이 하기에서 기술하는 내용에 제한되거나 한정되는 것은 아니므로 하기의 실시 예에 의거하여 다양한 실시 예들에 적용할 수 있음에 유의하여야 한다.
도 1은 본 발명의 실시 예에 따른 펌웨어 업데이트 시스템을 개략적으로 도시한 도면이다.
상기 도 1을 참조하면, 본 발명의 펌웨어 업데이트 시스템은 모바일 디바이스(100), 네트워크(200), 그리고 포타 서버(300)를 포함하여 구성된다.
상기 모바일 디바이스(100)는 펌웨어 업데이트가 가능한 디바이스로서, 펌웨어 업데이트를 담당하는 업데이트 에이전트와, 부트 로더(Boot loader), 및 모바일 디바이스(100)의 전반적인 동작을 담당하는 제어부를 포함할 수 있다. 이러한 모바일 디바이스(100)는 상기 포타 서버(300)로부터 복수개의 업데이트 파일들을 다운로드하여 펌웨어를 업데이트할 수 있다. 특히, 본 발명에 따른 모바일 디바이스(100)는 복수개의 업데이트 파일들을 사용자 데이터 저장영역에 일시 저장하여 그들의 정합성 여부를 판정할 수 있다.
그리고 모바일 디바이스(100)는 모든 업데이트 파일들이 유효한 경우 해당 업데이트 파일들을 델타파일 저장영역으로 이동한 후 이들을 이용한 펌웨어 업데이트를 위한 절차를 수행할 수 있다. 또한 모바일 디바이스(100)는 적어도 하나의 특정 업데이트 파일들이 비유효한 경우 비유효한 해당 업데이트 파일들을 제외한 유효한 업데이트 파일들을 델타파일 저장영역으로 이동하고 이동된 일부 업데이트 파일을 이용한 펌웨어 업데이트 절차를 수행할 수 있다. 본 발명의 실시 예에서, 모바일 디바이스(100)는 포타 서버(300)에서 제공되는 체크섬을 이용하여 업데이트 파일들의 정합성 여부를 판정할 수 있다. 이러한 모바일 디바이스(100)의 상세한 펌웨어 업데이트 동작 예시에 대해 후술될 것이다.
한편, 상기 체크섬은 일반적으로 데이터의 정확성(또는 무결성)을 검사하기 위한 용도로 사용되는 오류 검출 방식의 하나를 나타내며, 본 발명의 실시 에에서는 업데이트 파일의 오류 검사에 이용될 수 있다. 즉, 본 발명의 실시 예에서는 포타 서버(300)가 업데이트 파일과 함께 관련 체크섬을 전송하고, 모바일 디바이스(100)가 전달된 체크섬과 각 업데이트 파일의 체크섬을 비교하는 것으로 설명한다. 하지만, 본 발명의 실시 예에 따르면 포타 서버(300)에서 전달된 체크섬을 이용하여 각 업데이트 파일의 오류 정정을 수행함으로써 그들의 정합성을 검사할 수도 있다.
상기 네트워크(200)는 이동통신 사업자가 이동통신 서비스를 제공하기 위해 설치한 무선 기지국을 포함하며, 상기 모바일 디바이스(100)와 상기 포타 서버(300) 사이에 통신 경로를 제공할 수 있다. 특히, 본 발명에 따른 네트워크(200)는 상기 포타 서버(300)에서 제공되는 복수개의 업데이트 파일들 및 그들과 관련된 체크섬을 상기 모바일 디바이스(100)로 전달할 수 있다.
상기 포타 서버(300)는 모바일 디바이스(100)의 펌웨어 업데이트 서비스를 제공하는 서버를 나타낼 수 있다. 상기 포타 서버(300)는 이동통신 사업자 서버 또는 상기 모바일 디바이스(100)의 제조사 서버가 포함될 수 있다. 이러한 포타 서버(300)는 이전 버전의 펌웨어와 신규 버전의 펌웨어를 비교하여 차이점을 추출하고 그에 따른 업데이트 파일을 생성하는 기능을 포함할 수 있다. 상기 포타 서버(300)는 신규 펌웨어가 개발될 경우 업데이트 파일들을 생성하고, 생성된 업데이트 파일들을 네트워크(200)를 통해 모바일 디바이스(100)로 전송할 수 있다. 또는 포타 서버(300)는 모바일 디바이스(100)가 접속하여 펌웨어 업데이트를 요청하는 것에 응답하여 상기 모바일 디바이스(100)의 펌웨어와 차이가 나는 적어도 하나의 업데이트 파일을 추출하고 추출된 업데이트 파일을 네트워크(200)를 통해 해당 모바일 디바이스(100)로 전송할 수 있다. 특히, 본 발명에서 상기 포타 서버(300)는 업데이트 파일 제공 시 해당 업데이트 파일이 정상일 때의 체크섬을 함께 제공할 수 있다.
도 2는 본 발명의 실시 예에 따른 모바일 디바이스(100)의 구성을 개략적으로 도시한 도면이다.
상기 도 2를 참조하면, 상기 모바일 디바이스(100)는 통신모듈(110), 표시부(120), 저장부(130), 그리고 제어부(180)를 포함하여 구성된다. 이 밖에도 상기 모바일 디바이스(100)는 마이크(microphone)와 스피커(speaker)를 구비하는 오디오처리부, 디지털 방송(예컨대, DMB(Digital Multimedia Broadcasting)나 DVB(Digital Video Broadcasting)와 같은 이동 방송)의 수신과 재생을 수행하기 위한 디지털 방송모듈, 사진/동영상 촬영 기능을 위한 카메라 모듈, 블루투스(BLUETOOTH) 통신 기능을 수행하기 위한 블루투스 통신모듈, 인터넷 통신 기능을 수행하기 위한 인터넷 통신모듈, 터치 기반의 입력을 위한 터치패드, 물리적인 키 입력을 지원하는 입력부, 모바일 디바이스(100)를 구성하는 상기와 같은 시스템 구성들에 전원 공급을 위한 배터리(battery) 등의 구성을 더 포함할 수 있으나, 그들에 대한 설명과 도시는 생략한다.
상기 통신모듈(110)은 이동통신 기반의 이동통신 서비스 및 무선랜(WLAN, Wireless Local Area Network) 기반의 인터넷 서비스(예컨대, Wi-Fi 서비스)와 같은 서비스를 지원하기 위한 모듈을 나타낸다. 상기 통신모듈(100)은 네트워크(200)와 설정된 통신채널을 형성하고, 형성된 통신채널을 통해 포타 서버(300)와의 교신에 따른 데이터 송수신을 처리할 수 있다. 특히, 본 발명의 실시 예에서 상기 통신모듈(110)은 상기 포타 서버(300)가 제공하는 복수개의 업데이트 파일들과 그들에 대한 체크섬을 상기 네트워크(200)를 통해 수신할 수 있다. 또한, 상기 통신모듈(110)은 제어부(180)의 제어 하에 모바일 디바이스(100)의 펌웨어 업데이트 요청을 상기 포타 서버(300)에 전송할 수 있다.
상기 표시부(120)는 모바일 디바이스(100)의 홈스크린(home screen)을 비롯하여, 모바일 디바이스(100)에서 지원하는 어플리케이션들의 실행화면을 제공한다. 예를 들면, 메시지 기능, 전자메일 기능, 인터넷 기능, 멀티미디어 기능, 검색 기능, 통신 기능, 전자책(예컨대, e-book) 기능, 사진/동영상 촬영 기능, 사진/동영상 재생 기능, TV(Television) 재생 기능(예컨대, DMB나 DVB와 같은 이동 방송 재생 기능), 음악 재생 기능(예컨대, MP3 재생 기능), 위젯 기능, 메모 기능, 게임 기능 등의 실행화면을 제공한다. 상기 표시부(120)는 액정표시장치(LCD, Liquid Crystal Display)가 사용되는 것이 일반적이나, 발광다이오드(LED, Light Emitting Diode), 유기발광다이오드(OLED, Organic LED), 능동형 OLED(AMOLED, Active Matrix OLED) 등과 같은 다른 표시장치가 사용될 수도 있다. 그리고 본 명세서에서 상기 표시부(120)는 펌웨어 업데이트를 위한 업데이트 파일 수신 상태를 알리는 화면 및 펌웨어 업데이트 상태를 알리는 화면을 제공할 수 있다. 이러한 펌웨어 업데이트 상태는 간단한 문구 또는 이미지 등의 다양한 아이템을 이용하여 나타낼 수 있다. 특히, 본 발명에서 상기 표시부(120)는 펌웨어 업데이트에 따른 결과정보를 나타낼 수 있다. 이러한 결과정보는 팝업창(Pop-up window) 기반으로 제공될 수 있다.
상기 저장부(130)는 상기 모바일 디바이스(100)에서 실행되고 처리되는 각종 프로그램과 데이터를 저장하며, 하나 이상의 비휘발성 메모리와 휘발성 메모리로 구성될 수 있다. 본 발명에서 상기 비휘발성 메모리는 ROM(Read Only Memory), 플래시 메모리(flash memory) 등에 대응할 수 있으며, 상기 휘발성 메모리는 RAM(Random Access Memory) 등에 대응할 수 있다. 그리고 저장부(130)는 상기 모바일 디바이스(100)의 운영체제, 상기 표시부(120)의 표시 제어 동작과 관련된 프로그램과 데이터, 상기 표시부(120)를 이용한 입력 제어 동작과 관련된 프로그램과 데이터, 모바일 디바이스(100)의 펌웨어 업데이트 제어 동작과 관련된 프로그램과 데이터 등을 지속적으로 또는 일시적으로 저장할 수 있다.
특히, 본 발명의 실시 예에서 상기 저장부(130)는 부트 로더(boot loader)(140), 업데이트 에이전트(update agent)(150), 델타파일 저장영역(160), 그리고 사용자 데이터 저장영역(170)을 포함하여 구성된다.
상기 부트 로더(140)는 모바일 디바이스(100)를 부팅시키는 프로그램을 나타낸다. 상기 부트 로더(140)는 모바일 디바이스(100) 부팅 시 시스템 플래그(system flag)를 확인하고, 시스템 플래그에 펌웨어 업데이트 관련 플래그가 설정된 경우 상기 업데이트 에이전트(150)를 구동하며, 시스템 플래그에 펌웨어 업데이트 관련 플래그가 설정되지 않은 경우 운영시스템(OS, Operating System)을 구동할 수 있다.
상기 업데이트 에이전트(150)는 펌웨어를 업데이트하는 기능을 담당한다. 상기 업데이트 에이전트(150)는 업데이트 파일(update file)(예컨대, 델타파일)을 이용하여 모바일 디바이스(100)의 펌웨어를 업데이트하는 프로그램으로서, 업데이트 파일을 저장하는 델타파일 저장영역(160)을 포함한다. 상기 업데이트 에이전트(150)는 델타파일 저장영역(160)의 업데이트 파일이 존재할 시 상기 부트 로더(140)에 의해 구동될 수 있다. 상기 델타파일 저장영역(160)은 펌웨어 업데이트를 위한 복수 개의 업데이트 파일들의 저장이 가능한 용량을 고려하여 설계될 수 있다.
상기 사용자 데이터 저장영역(170)은 모바일 디바이스(100)의 사용에 따라 발생하는 다양한 데이터를 저장하기 위해 할당된 저장영역을 나타낸다. 특히, 본 명세서에서 상기 사용자 데이터 저장영역(170)은 펌웨어 업데이트 시 복수 개의 업데이트 파일들을 임시 저장할 수 있다.
상기 제어부(180)는 상기 모바일 디바이스(100)의 전반적인 동작을 제어한다. 특히, 상기 제어부(180)는 본 발명의 펌웨어 업데이트 기능 운용과 관련된 동작을 제어할 수 있다. 예를 들어, 상기 제어부(180)는 모바일 디바이스(100)의 펌웨어 업데이트 이벤트의 체크 및 감지할 수 있다. 본 명세서에서 상기 펌웨어 업데이트 이벤트는 사용자 요청에 의해 수동 발생되거나, 또는 주어진 조건(예컨대, 설정된 업데이트 주기 등)이 만족될 시 자동 발생될 수 있다.
상기 제어부(180)는 펌웨어 업데이트 이벤트가 감지되면 포타 서버(300)로의 접속을 처리할 수 있다. 그리고 상기 제어부(180)는 포타 서버(300)와 접속될 시 모바일 디바이스(100)의 펌웨어 업데이트를 위한 업데이트 파일의 유무를 확인할 수 있다. 상기 제어부(180)는 펌웨어 업데이트를 위한 적어도 하나의 업데이트 파일이 존재할 시 상기 저장부(130)(특히, 사용자 데이터 저장영역(170))의 저장 공간을 체크할 수 있다. 그리고 상기 제어부(180)는 저장 공간이 충분한 경우 해당 업데이트 파일을 다운로드하여 상기 저장부(130)의 사용자 데이터 저장영역(170)에 저장할 수 있다. 반면, 상기 제어부(180)는 저장 공간이 충분하지 않은 경우 그와 관련된 알림 메시지를 상기 표시부(120) 상에 팝업창을 통해 나타낼 수 있다. 이때, 본 발명의 실시 예에서는 복수개의 업데이트 파일들을 다운로드 하는 경우를 가정한다.
이어서, 상기 제어부(180)는 상기 사용자 데이터 저장영역(170)에 저장된 복수개의 업데이트 파일들의 각 체크섬(checksum)을 체크할 수 있다. 이때, 상기 체크섬 체크는 사용자 데이터 저장영역(170)에 저장된 복수개의 업데이트 파일들에 등록된 각 체크섬(제1체크섬)과 상기 포타 서버(300)에서 업데이트 파일 다운로드 시 해당 업데이트 파일들에 대해 알려주는 체크섬(제2체크섬)을 비교하는 것에 의해 이루어질 수 있다.
그리고 상기 제어부(180)는 상기 제1체크섬과 상기 제2체크섬이 일치하면 해당 업데이트 파일들을 델타파일 저장영역(160)으로 이동한다. 이후, 상기 제어부(180)는 재부팅 시 펌웨어 업데이트 동작 수행을 위한 시스템 플래그(system flag)를 변경 설정한 후 모바일 디바이스(100)의 재부팅을 처리한다. 그리고 상기 제어부(180)는 재부팅 시 부트 로더(140)를 로딩하여 시스템 부팅을 제어할 수 있다. 이때, 상기 제어부(180)는 시스템 플래그를 확인하여 펌웨어 업데이트 수행 여부를 판정할 수 있다. 만약, 상기 제어부(180)는 펌웨어 업데이트로 결정할 시 모바일 디바이스(100)를 리셋(reset)한 후 상기 업데이트 에이전트(150)를 구동하여 펌웨어 업데이트를 처리할 수 있다. 이후, 상기 제어부(180)는 펌웨어 업데이트 후 상기 델타파일 저장영역(160)에 저장된 업데이트 파일의 삭제 및 시스템 플래그를 원래의 상태로 변경 설정한 후 모바일 디바이스(100)의 재부팅을 처리할 수 있다.
반면, 상기 제어부(180)는 상기 제1체크섬과 상기 제2체크섬이 일치하지 않으면 적어도 하나의 업데이트 파일에 오류가 있는 것으로 결정할 수 있다. 그리고 상기 제어부(180)는 오류가 있는 해당 적어도 하나의 업데이트 파일의 오류정보를 포타 서버(300)로 제공할 수 있다. 또한 상기 제어부(180)는 업데이트 파일 오류로 인한 펌웨어 업데이트가 중지됨을 상기 표시부(120) 상에 팝업창 출력을 제어할 수 있다. 이때, 제어부(180)는 사용자 설정 방식에 따라 수동 또는 자동에 의해 정상적인 업데이트 파일에 의한 부분 펌웨어 업데이트를 제어할 수도 있다.
한편, 이상에서와 같이 본 발명의 실시 예에 따르면, 포타 서버(300)는 펌웨어 업데이트를 위한 업데이트 파일과 관련된 체크섬(제2체크섬)을 모바일 디바이스(100)로 제공하며, 상기 제어부(180)는 다운로드한 업데이트 파일의 체크섬(제1체크섬)과 제2체크섬을 기반으로 업데이트 파일의 정합성을 미리 확인할 수 있다. 이에 따라, 상기 제어부(180)는 펌웨어 업데이트 중 특정 업데이트 파일의 오류로 인해 펌웨어 업데이트가 비정상 중지되어 치명적인 시스템 오류가 발생될 수 있는 상황을 미연에 방지할 수 있다.
이러한 제어부(180)의 제어 동작에 대해 후술하는 제어 방법에서 설명될 것이다. 그 밖에도 상기 제어부(180)는 상기 모바일 디바이스(100)의 통상적인 기능과 관련된 각종 제어 동작을 수행한다. 예를 들어, 상기 제어부(180)는 어플리케이션 실행 시 그의 운용 및 데이터 표시를 제어할 수 있다. 또한 제어부(180)는 터치 기반의 입력 인터페이스에서 지원하는 다양한 입력 방식에 대응하는 입력신호를 수신하고 그에 따른 기능 운용을 제어할 수 있다. 또한 제어부(180)는 모바일 디바이스(100)의 일반적인 모드에 의한 모바일 디바이스(100)의 파워 오프와, 일반적인 모드에 의한 파워 온에 따른 부팅 운용을 제어할 수 있다.
한편, 상기 도 1에 나타낸 본 발명의 모바일 디바이스(100)는 바 타입, 폴더 타입, 슬라이드 타입, 스윙 타입, 플립 타입 등 모든 타입의 모바일 디바이스(100)에 적용될 수 있다. 그리고 본 발명의 모바일 디바이스(100)는 모든 정보통신기기, 멀티미디어기기 및 그에 대한 응용기기를 포함할 수 있다. 예를 들면, 상기 모바일 디바이스(100)는 다양한 통신 시스템에 대응되는 각 통신 프로토콜들(communication protocols)에 의거하여 동작하는 이동통신 단말기(mobile communication terminal)를 비롯하여, 태블릿 PC(Personal Computer), 스마트 폰(Smart Phone), PMP(Portable Multimedia Player), 디지털 방송 플레이어, PDA(Personal Digital Assistant), 뮤직 플레이어(예컨대, MP3 플레이어), 그리고 휴대게임단말 등의 디바이스를 포함한다.
도 3은 본 발명의 실시 에에 따른 모바일 디바이스(100)의 펌웨어 업데이트 방법을 도시한 흐름도이다.
상기 도 3을 참조하면, 먼저 모바일 디바이스(100)는 포타 서버(300)에 접속할 수 있다(301단계). 예를 들어, 모바일 디바이스(100)의 제어부(180)의 펌웨어 업데이트 이벤트에 대응하여 포타 서버(300)로의 접속을 위한 통신모듈(110) 제어를 통해 포타 서버(300)로 접속을 처리할 수 있다.
다음으로, 모바일 디바이스(100)는 펌웨어 업데이트를 위한 적어도 하나의 업데이트 파일을 다운로드할 수 있다(303단계). 이때, 본 발명의 실시 예에서는 복수개의 업데이트 파일들을 다운로드 하는 것을 가정한다. 그리고 모바일 디바이스(100)의 제어부(180)는 다운로드 하는 복수개의 업데이트 파일들을 사용자 데이터 저장영역(170)에 저장할 수 있다.
다음으로, 모바일 디바이스(100)는 다운로드하여 저장된 업데이트 파일들의 전체 체크섬을 검사(305단계)하여 저장된 모든 업데이트 파일들의 유효성을 판정할 수 있다(307단계). 이때, 본 발명의 실시 예에 따르면 포타 서버(300)는 업데이트 파일과 관련된 체크섬을 가지며, 모바일 디바이스(100)의 제어부(180)는 업데이트 파일 다운로드 시 해당 업데이트 파일의 체크섬을 함께 다운로드 받을 수 있다. 이에 의해, 모바일 디바이스(100)의 제어부(180)는 업데이트 파일들과 함께 다운로드된 체크섬(제2체크섬)을 이용하여 저장된 업데이트 파일들의 각 체크섬(제1체크섬)을 비교 검사할 수 있다. 그리고 모바일 디바이스(100)의 제어부(180)는 체크섬 검사에 의해 다운로드하여 저장된 모든 업데이트 파일들의 정합성 여부를 판정할 수 있다. 즉, 모바일 디바이스(100)의 제어부(180)는 제1체크섬과 제2체크섬의 비교에 의해 불일치하는 체크섬을 가지는 업데이트 파일이 있는지 판정할 수 있다.
다음으로, 모바일 디바이스(100)는 업데이트 파일들이 모두 정상 상태가 아니면(307단계의 NO), 설정된 해당 동작을 수행할 수 있다(309단계). 예를 들어, 모바일 디바이스(100)의 제어부(180)는 사용자 설정 방식에 따라 수행 중인 펌웨어 업데이트를 자동으로 강제 종료할 수 있다. 그리고 모바일 디바이스(100)의 제어부(180)는 적어도 하나의 업데이트 파일의 오류에 따른 오류정보를 통지할 수 있다. 즉, 모바일 디바이스(100)의 제어부(180)는 제1체크섬과 제2체크섬의 비교에 의해 적어도 하나의 업데이트 파일이라도 그 체크섬이 유효하지 않으면, 관련 오류정보를 통지할 수 있다. 본 명세서에서 상기 오류정보 통지는 오류에 대응하는 업데이트 파일의 정보와 그에 오류가 발생됨을 알리는 상태정보를 가지는 오류정보를 포타 서버(300)로 전송하는 것을 포함한다. 아울러, 상기 오류정보 통지는 상기 오류정보를 표시부(120)를 통해 팝업창으로 출력하는 것을 포함한다.
또한 모바일 디바이스(100)의 제어부(180)는 업데이트 파일들이 모두 정상 상태가 아니면, 사용자 설정 방식에 따라 유효한 적어도 하나의 업데이트 파일에 의한 펌웨어 업데이트를 계속 자동 수행할 수 있다. 즉, 모바일 디바이스(100)의 제어부(180)는 부분 업데이트 파일에 의한 부분 펌웨어 업데이트를 처리할 수 있다. 이때, 유효한 업데이트 파일만을 델타파일 저장영역(160)으로 이동하고, 이동된 업데이트 파일을 이용하여 부분 펌웨어 업데이트를 수행할 수 있다. 또는 모바일 디바이스(100)의 제어부(180)는 팝업창을 확인하는 사용자의 선택에 따라 일부 업데이트 파일을 이용한 펌웨어 업데이트를 계속 수행하거나, 또는 펌웨어 업데이트 절차를 종료할 수 있다. 한편, 본 발명의 실시 예에서 앞서 설명한 바와 같이 일부 업데이트 파일을 이용한 부분 펌웨어 업데이트가 완료되면, 델타파일 저장영역(160)의 유효한 업데이트 파일을 비롯하여 사용자 데이터 저장영역(170)에 남아 있는 업데이트 파일 모두를 삭제하는 동작을 더 수행할 수 있다.
다음으로, 모바일 디바이스(100)는 업데이트 파일들이 모두 정상 상태이면, 즉 모든 업데이트 파일들의 체크섬이 유효하면(307단계의 YES), 해당 업데이트 파일들을 델타파일 저장영역(160)으로 이동할 수 있다(311단계). 그리고 모바일 디바이스(100)는 시스템 플래그(system flag)를 변경(313단계)한 후 재부팅 할 수 있다(315단계). 즉, 모바일 디바이스(100)의 제어부(180)는 펌웨어 업데이트를 위해 사용자 데이터 저장영역(170)에 저장된 복수개의 업데이트 파일들을 델타파일 저장영역(160)으로 이동할 수 있다. 그리고 모바일 디바이스(100)의 제어부(180)는 이후 재부팅 시 펌웨어 업데이트 동작이 수행될 수 있도록 하는 시스템 플래그를 수정할 수 있다. 즉, 모바일 디바이스(100)의 제어부(180)는 시스템 플래그의 정보를 펌웨어 업데이트를 위한 정보로 변경 설정하고 재부팅을 수행할 수 있다.
다음으로, 모바일 디바이스(100)는 재부팅 시 업데이트 에이전트를 구동할 수 있다(317단계). 예를 들어, 모바일 디바이스(100)의 재부팅 시 최초 동작되는 부트 로더(140)는 시스템 플래그를 확인할 수 있다. 즉, 부트 로더(140)는 시스템 플래그를 참조하여 펌웨어 업데이트 수행 여부를 결정할 수 있다. 그리고 시스템 플래그의 설정정보가 앞서 설명한 바와 같이 펌웨어 업데이트를 위한 정보로 설정된 경우 업데이트 에이전트를 구동할 수 있다. 예컨대, 모바일 디바이스(100)의 제어부(180)에 업데이트 에이전트가 로드될 수 있다.
다음으로, 모바일 디바이스(100)는 델타파일 저장영역(160)의 업데이트 파일들에 의한 펌웨어 업데이트를 수행할 수 있다(319단계). 예를 들어, 모바일 디바이스(100)는 제어부(180)는 로드된 업데이트 에이전트(150) 기반으로 펌웨어 업데이트 동작을 수행할 수 있다. 본 명세서에서 업데이트 에이전트(150)는 모바일 디바이스(100)의 펌웨어를 업데이트하는 프로그램을 나타낼 수 있다.
다음으로, 모바일 디바이스(100)는 업데이트 파일들에 의한 펌웨어 업데이트가 완료될 시 델타파일 저장영역(160)의 해당 업데이트 파일들을 삭제할 수 있다(321단계). 그리고 모바일 디바이스(100)는 시스템 플래그를 변경(323단계)한 후 재부팅 할 수 있다(325단계). 예를 들어, 모바일 디바이스(100)의 제어부(180)는 업데이트 에이전트(150)를 통해 델타파일 저장영역(160)의 복수개의 업데이트 파일들에 의한 펌웨어 업데이트를 수행하고, 펌웨어 업데이트가 완료되면 델타파일 저장영역(160)에 저장된 업데이트 파일들을 삭제할 수 있다. 그리고 모바일 디바이스(100)의 제어부(180)는 펌웨어 업데이트 동작이 완료됨에 따라 이후 재부팅 시 일반적인 동작에 의한 부팅이 수행될 수 있도록 앞서 변경 설정된 시스템 플래그를 원래의 정보(예컨대, 일반 부팅을 위한 정보)로 변경 설정할 수 있다. 즉, 모바일 디바이스(100)의 제어부(180)는 시스템 플래그의 정보를 복원한 후 재부팅을 수행할 수 있다.
따라서 모바일 디바이스(100)의 제어부(180)는 시스템 펌웨어 업데이트 완료 후 부팅 시 로드된 부트 로더(140)를 통해 시스템 플래그를 확인하고, 시스템 플래그의 설정정보가 앞서 설명한 바와 같이 일반적인 부팅을 위한 정보로 설정됨에 따라 통상적인 부팅을 수행할 수 있다.
한편, 상기 도 3에서는 도시 및 그의 설명은 생략하였으나, 본 발명의 실시 예에 따르면 복수개의 업데이트 파일들을 다운로드 시 저장 공간을 체크하는 동작을 수행할 수 있다. 예를 들어, 상기 도 3의 301단계에서와 같이 포타 서버(300)에 접속 후 펌웨어 업데이트를 위한 복수개의 업데이트 파일들이 확인될 시 사용자 데이터 저장영역(170)의 용량을 체크하여 다운로드에 따른 저장 공간이 충족되는지 판정할 수 있다. 그리고 만약, 사용자 데이터 저장영역(170)의 용량이 부족한 경우 설정 방식에 따라 복수개의 업데이트 파일들 중 일부 업데이트 파일만을 다운로드하여 펌웨어 업데이트를 수행할 수 있다. 또한 사용자 데이터 저장영역(170)의 용량이 부족한 경우 이를 사용자에게 통지하고, 사용자 선택에 따른 부분 업데이트 파일에 의한 펌웨어 업데이트를 수행하거나 펌웨어 업데이트를 종료할 수 있다. 이후, 일부 업데이트 파일에 대한 체크섬을 검사하고 앞서 설명한 바와 같은 절차에 대응하여 펌웨어 업데이트를 수행할 수 있다.
또한, 상기 도 3에서는 도시 및 그의 설명은 생략하였으나, 본 발명의 실시 예에 따르면 펌웨어 업데이트 완료에 따른 재부팅 후 수행된 펌웨어 업데이트에 대한 결과정보를 출력하는 동작을 더 수행할 수도 있다. 이때, 앞서 설명한 바와 같이 부분 업데이트 파일에 의한 펌웨어 업데이트가 이루어진 경우 업데이트가 이루어지지 않은 업데이트 파일에 대한 정보를 함께 제공할 수도 있다.
한편, 상술한 바와 같은 본 발명의 펌웨어 업데이트 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다. 이때, 상기 컴퓨터로 판독 가능한 기록 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 한편, 기록 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
상기 컴퓨터로 판독 가능한 기록 매체에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 자기매체(Magnetic Media), CD-ROM(Compact Disc Read Only Memory), DVD(Digital Versatile Disc)와 같은 광기록 매체(Optical Media), 플로티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 ROM(Read Only Memory), RAM(Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
그리고 본 발명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 그리고 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
100: 모바일 디바이스 110: 통신모듈
120: 표시부 130: 저장부
140: 부트 로더 150: 업데이트 에이전트
160: 델타파일 저장영역 170: 사용자 데이터 저장영역
180: 제어부 200: 네트워크
300: 포타 서버

Claims (15)

  1. 모바일 디바이스의 펌웨어 업데이트 방법에 있어서,
    펌웨어 업데이트 이벤트에 따라 업데이트 파일과 체크섬을 사용자 데이터 저장영역에 저장하는 과정과,
    상기 사용자 데이터 저장영역에 저장된 업데이트 파일의 정합성을 판별하는 과정과,
    상기 업데이트 파일의 유효 여부에 대응하여 펌웨어 업데이트를 수행하는 과정을 포함하는 것을 특징으로 하는 모바일 디바이스의 펌웨어 업데이트 방법.
  2. 제1항에 있어서, 상기 판별하는 과정은
    상기 체크섬을 이용하여 상기 업데이트 파일의 유효 여부를 판별하는 과정을 포함하고,
    상기 체크섬은 상기 모바일 디바이스가 접속하는 포타 서버로부터 제공되는 것을 특징으로 하는 모바일 디바이스의 펌웨어 업데이트 방법.
  3. 제2항에 있어서,
    상기 업데이트 파일은 복수개를 포함하며,
    상기 판별하는 과정은
    복수개의 업데이트 파일들 각각의 체크섬과 상기 포타 서버에서 제공된 체크섬을 비교하는 과정을 포함하는 것을 특징으로 하는 모바일 디바이스의 펌웨어 업데이트 방법.
  4. 제3항에 있어서, 상기 수행하는 과정은
    상기 복수개의 업데이트 파일들이 모두 유효한 경우 해당 업데이트 파일들을 이용한 펌웨어 업데이트를 수행하는 제1수행 과정과,
    상기 복수개의 업데이트 파일들 중 불특정 업데이트 파일이 비유효한 경우 선택적으로 펌웨어 업데이트를 수행하는 제2수행 과정을 포함하는 것을 특징으로 하는 모바일 디바이스의 펌웨어 업데이트 방법.
  5. 제4항에 있어서, 상기 제1수행 과정은
    상기 복수개의 업데이트 파일들을 상기 사용자 데이터 저장영역에서 델타파일 저장영역으로 이동하는 과정을 포함하는 것을 특징으로 하는 모바일 디바이스의 펌웨어 업데이트 방법.
  6. 제4항에 있어서, 상기 제2수행 과정은
    상기 복수개의 업데이트 파일들 중 유효한 업데이트 파일만을 상기 사용자 데이터 저장영역에서 델타파일 저장영역으로 이동하고, 상기 유효한 업데이트 파일에 의한 부분 펌웨어 업데이트를 수행하는 과정을 포함하는 것을 특징으로 하는 모바일 디바이스의 펌웨어 업데이트 방법.
  7. 제3항에 있어서,
    상기 사용자 데이터 저장영역의 저장 공간을 확인하는 과정과,
    상기 저장 공간이 충족될 시 상기 복수개의 업데이트 파일들을 다운로드 하여 상기 사용자 데이터 저장영역에 저장하는 과정과,
    상기 저장 공간이 충족되지 않을 시 상기 복수개의 업데이트 파일들 중 일부 업데이트 파일만을 다운로드 하여 상기 사용자 데이터 저장영역에 저장하는 과정을 더 포함하는 것을 특징으로 하는 모바일 디바이스의 펌웨어 업데이트 방법.
  8. 제1항에 있어서, 상기 수행하는 과정은
    상기 사용자 데이터 저장영역의 업데이트 파일을 델타파일 저장영역으로 이동하는 과정과,
    시스템 플래그를 펌웨어 업데이트를 위한 정보로 변경한 후 재부팅하는 과정과,
    상기 재부팅 시 상기 시스템 플래그를 참조하여 상기 델타파일 저장영역의 업데이트 파일을 이용한 펌웨어를 수행하는 과정을 포함하는 것을 특징으로 하는 모바일 디바이스의 펌웨어 업데이트 방법.
  9. 제8항에 있어서,
    상기 펌웨어 업데이트가 완료될 시 상기 시스템 플래그를 일반 부팅을 위한 정보로 변경한 후 재부팅하는 과정을 더 포함하는 것을 특징으로 하는 모바일 디바이스의 펌웨어 업데이트 방법.
  10. 제1항에 있어서,
    펌웨어 업데이트 완료에 따른 재부팅 후 펌웨어 업데이트에 대한 결과정보를 출력하는 과정을 더 포함하며,
    상기 결과정보는 부분 업데이트 파일에 의한 펌웨어 업데이트가 이루어진 경우 업데이트가 이루어지지 않은 업데이트 파일에 대한 정보를 포함하는 것을 특징으로 하는 모바일 디바이스의 펌웨어 업데이트 방법.
  11. 모바일 디바이스에 있어서,
    포타 서버가 제공하는 복수개의 업데이트 파일들 및 그들에 대한 체크섬을 수신하는 통신모듈과,
    상기 복수개의 업데이트 파일들을 저장하는 저장부와,
    펌웨어 업데이트 수행 전에 펌웨어 업데이트를 위한 업데이트 파일의 정합성을 판별하고 그에 따라 펌웨어 업데이트를 제어하는 제어부를 포함하는 것을 특징으로 하는 모바일 디바이스.
  12. 제11항에 있어서, 상기 저장부는
    모바일 디바이스 부팅 시 시스템 플래그를 확인하고, 시스템 플래그에 펌웨어 업데이트 관련 플래그가 설정된 경우 업데이트 에이전트를 구동하며, 시스템 플래그에 펌웨어 업데이트 관련 플래그가 설정되지 않은 경우 운영시스템을 구동하는 부트 로더와,
    상기 업데이트 파일을 저장하는 델타파일 저장영역을 포함하며, 펌웨어 업데이트를 주관하는 상기 업데이트 에이전트와,
    펌웨어 업데이트를 위해 다운로드 하는 상기 업데이트 파일을 저장하고, 펌웨어 업데이트 진행 시 저장된 업데이트 파일을 상기 델타파일 저장영역으로 이동하는 사용자 데이터 저장영역을 포함하는 것을 특징으로 하는 모바일 디바이스.
  13. 제12항에 있어서, 상기 제어부는
    상기 포타 서버로부터 상기 업데이트 파일을 다운로드 시 상기 사용자 데이터 저장영역의 저장 공간을 체크하고, 그에 따른 전체 업데이트 파일 또는 부분 업데이트 파일을 다운로드 하여 상기 사용자 데이터 저장영역으로 저장하며,
    펌웨어 업데이트 수행 전에 상기 사용자 데이터 저장영역에 저장된 업데이트 파일의 체크섬을 검사하여 그의 정합성을 식별하고, 이후 유효한 업데이트 파일을 상기 사용자 데이터 저장영역에서 상기 델타파일 저장영역으로 이동 제어하며,
    상기 델타파일 저장영역의 유효 업데이트 파일에 의한 펌웨어 업데이트를 제어하는 것을 특징으로 하는 모바일 디바이스.
  14. 제13항에 있어서, 상기 제어부는
    상기 업데이트 파일의 상기 델타파일 저장영역으로 이동 후 시스템 플래그를 펌웨어 업데이트를 위한 정보로 변경한 후 재부팅하고, 상기 재부팅 시 상기 시스템 플래그를 참조하여 상기 델타파일 저장영역의 업데이트 파일을 이용한 펌웨어 업데이트를 제어하는 것을 특징으로 하는 모바일 디바이스.
  15. 제13항에 있어서, 상기 제어부는
    적어도 하나의 업데이트 파일이 유효하지 않을 시 유효한 업데이트 파일만을 상기 사용자 데이터 저장영역에서 델타파일 저장영역으로 이동하고, 상기 유효한 업데이트 파일에 의한 부분 펌웨어 업데이트를 제어하는 것을 특징으로 하는 모바일 디바이스.
KR1020100102809A 2010-10-21 2010-10-21 모바일 디바이스의 펌웨어 업데이트 방법 및 장치 KR20120041384A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100102809A KR20120041384A (ko) 2010-10-21 2010-10-21 모바일 디바이스의 펌웨어 업데이트 방법 및 장치
US13/275,917 US20120102477A1 (en) 2010-10-21 2011-10-18 Firmware update method and apparatus for a mobile device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100102809A KR20120041384A (ko) 2010-10-21 2010-10-21 모바일 디바이스의 펌웨어 업데이트 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20120041384A true KR20120041384A (ko) 2012-05-02

Family

ID=45974085

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100102809A KR20120041384A (ko) 2010-10-21 2010-10-21 모바일 디바이스의 펌웨어 업데이트 방법 및 장치

Country Status (2)

Country Link
US (1) US20120102477A1 (ko)
KR (1) KR20120041384A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140142094A (ko) * 2013-06-03 2014-12-11 삼성전자주식회사 엔에프씨를 이용한 모바일 프린팅 시스템 및 방법
KR20170041687A (ko) * 2014-06-11 2017-04-17 홈 컨트롤 싱가포르 피티이. 엘티디. 소형 메모리 디바이스에 소프트웨어를 설치하기 위한 시스템
TWI668636B (zh) * 2018-08-01 2019-08-11 技嘉科技股份有限公司 伺服器韌體更新方法
US11520483B2 (en) 2020-09-24 2022-12-06 Samsung Electronics Co., Ltd. Operating method for performing firmware image chunk update and verification of whether damage as occurred on storage device

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090090801A (ko) * 2008-02-22 2009-08-26 삼성전자주식회사 휴대 단말기의 펌웨어 업데이트 방법 및 장치
US20110238980A1 (en) * 2010-03-23 2011-09-29 Fujitsu Limited System and methods for remote maintenance in an electronic network with multiple clients
US9183393B2 (en) * 2012-01-12 2015-11-10 Facebook, Inc. Multiple system images for over-the-air updates
JP5943681B2 (ja) * 2012-04-09 2016-07-05 キヤノン株式会社 情報処理装置、情報処理装置のファームウエア更新方法及びプログラム
CN103577281A (zh) * 2012-07-30 2014-02-12 北京网秦天下科技有限公司 一种数据恢复的方法和系统
CN103577280A (zh) * 2012-07-30 2014-02-12 北京网秦天下科技有限公司 一种数据备份的方法和系统
US8898654B2 (en) * 2012-08-29 2014-11-25 Microsoft Corporation Secure firmware updates
US9218178B2 (en) * 2012-08-29 2015-12-22 Microsoft Technology Licensing, Llc Secure firmware updates
US9189225B2 (en) * 2012-10-16 2015-11-17 Imprivata, Inc. Secure, non-disruptive firmware updating
KR20140077435A (ko) * 2012-12-14 2014-06-24 삼성전자주식회사 모바일 단말의 소프트웨어 업데이트 서비스 방법 및 장치
US9928047B2 (en) 2012-12-18 2018-03-27 Digital Turbine, Inc. System and method for providing application programs to devices
US9928048B2 (en) 2012-12-18 2018-03-27 Digital Turbine, Inc. System and method for providing application programs to devices
AU2014209581B2 (en) * 2013-01-25 2019-05-02 Google Llc Systems, methods, and computer program products for managing data re-installation
KR102077821B1 (ko) * 2013-06-03 2020-02-14 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 엔에프씨를 이용한 모바일 프린팅 시스템 및 방법
KR102143434B1 (ko) 2013-11-12 2020-08-11 삼성전자주식회사 근거리 무선 통신 칩의 펌웨어 업데이트 방법 및 이를 구현하는 전자 시스템
KR20150072240A (ko) * 2013-12-19 2015-06-29 엘지전자 주식회사 전기제품 및 전기제품의 펌웨어 업데이트 방법
EP3105676B1 (en) * 2014-02-12 2022-10-19 Nokia Technologies Oy Method and apparatus for updating a firmware of an apparatus
TWI518595B (zh) * 2014-03-17 2016-01-21 廣達電腦股份有限公司 軟體更新方法及系統以及行動裝置
US10546293B2 (en) * 2014-05-29 2020-01-28 Apple Inc. Apparatuses and methods for using a random authorization number to provide enhanced security for a secure element
EP2993578A1 (en) * 2014-09-02 2016-03-09 Gemalto M2M GmbH Method for adapting firmware of a wireless communication device
CN104217165B (zh) * 2014-09-16 2016-07-06 百度在线网络技术(北京)有限公司 文件的处理方法及装置
US9971611B2 (en) * 2014-10-31 2018-05-15 Cisco Technology, Inc. Monitoring a mobile device application
CN104699500B (zh) * 2015-01-06 2018-05-08 上海华测导航技术股份有限公司 智能设备中实现引导程序自动升级的方法
US20160291967A1 (en) * 2015-03-30 2016-10-06 Konica Minolta Laboratory U.S.A., Inc. Method and system for updating firmware
CN104809010B (zh) * 2015-04-09 2018-06-26 华为技术有限公司 一种刷机方法及智能终端
US10261489B2 (en) * 2015-04-15 2019-04-16 Indegy Ltd. Detection of mis-configuration and hostile attacks in industrial control networks using active querying
WO2017176197A1 (en) * 2016-04-04 2017-10-12 Lumenradio Ab A method for distributing software upgrade in a communication network
CN106201439B (zh) * 2016-09-09 2019-09-20 深圳怡化电脑股份有限公司 一种异常处理的方法及装置
JP6751057B2 (ja) * 2017-07-04 2020-09-02 日立オートモティブシステムズ株式会社 電子制御システム
US20190163461A1 (en) * 2017-11-29 2019-05-30 Nutanix, Inc. Upgrade managers for differential upgrade of distributed computing systems
EP3550430B1 (en) * 2017-12-20 2023-07-26 Shenzhen Goodix Technology Co., Ltd. Method for processing configuration file, touch chip, apparatus, and medium
US10933882B2 (en) 2017-12-27 2021-03-02 Micron Technology, Inc. Determination of reliability of vehicle control commands using a voting mechanism
US10981576B2 (en) 2017-12-27 2021-04-20 Micron Technology, Inc. Determination of reliability of vehicle control commands via memory test
JP7013918B2 (ja) * 2018-02-16 2022-02-01 トヨタ自動車株式会社 車両制御装置、プログラム更新方法およびプログラム
US20200004522A1 (en) * 2018-06-27 2020-01-02 Hewlett Packard Enterprise Development Lp Selective download of a portion of a firmware bundle
US11023217B2 (en) * 2018-11-09 2021-06-01 Dell Products L.P. Systems and methods for support of selective processor microcode updates
US11693644B2 (en) * 2020-03-17 2023-07-04 Hewlett Packard Enterprise Development Lp High performance computing node configuration mechanism
CN111552491A (zh) * 2020-04-22 2020-08-18 北京小马智行科技有限公司 移动载体的中转设备的固件升级的方法、装置与存储介质
US20230205514A1 (en) * 2021-12-27 2023-06-29 Honeywell International Inc. Bsidiff delta upgrade in external storage
CN114780122A (zh) * 2022-04-11 2022-07-22 乐鑫信息科技(上海)股份有限公司 嵌入式设备固件更新方法以及嵌入式设备
CN114780127A (zh) * 2022-05-09 2022-07-22 乐鑫信息科技(上海)股份有限公司 嵌入式设备固件更新方法、嵌入式设备、开发端设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5881236A (en) * 1996-04-26 1999-03-09 Hewlett-Packard Company System for installation of software on a remote computer system over a network using checksums and password protection
US7496757B2 (en) * 2002-01-14 2009-02-24 International Business Machines Corporation Software verification system, method and computer program element
US6836657B2 (en) * 2002-11-12 2004-12-28 Innopath Software, Inc. Upgrading of electronic files including automatic recovery from failures and errors occurring during the upgrade
JP2007510987A (ja) * 2003-10-27 2007-04-26 アメリカン パワー コンバージョン コーポレイション ソフトウェアプログラムを更新するためのシステムおよび方法
US7530065B1 (en) * 2004-08-13 2009-05-05 Apple Inc. Mechanism for determining applicability of software packages for installation
US7716660B2 (en) * 2004-12-14 2010-05-11 Microsoft Corporation Method and system for downloading updates
KR101426710B1 (ko) * 2006-07-14 2014-09-23 삼성전자주식회사 휴대단말기의 버전정보 갱신 장치 및 방법
US8776040B2 (en) * 2011-08-19 2014-07-08 International Business Machines Corporation Protection for unauthorized firmware and software upgrades to consumer electronic devices

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140142094A (ko) * 2013-06-03 2014-12-11 삼성전자주식회사 엔에프씨를 이용한 모바일 프린팅 시스템 및 방법
KR20170041687A (ko) * 2014-06-11 2017-04-17 홈 컨트롤 싱가포르 피티이. 엘티디. 소형 메모리 디바이스에 소프트웨어를 설치하기 위한 시스템
TWI668636B (zh) * 2018-08-01 2019-08-11 技嘉科技股份有限公司 伺服器韌體更新方法
US11520483B2 (en) 2020-09-24 2022-12-06 Samsung Electronics Co., Ltd. Operating method for performing firmware image chunk update and verification of whether damage as occurred on storage device

Also Published As

Publication number Publication date
US20120102477A1 (en) 2012-04-26

Similar Documents

Publication Publication Date Title
KR20120041384A (ko) 모바일 디바이스의 펌웨어 업데이트 방법 및 장치
US9772838B2 (en) Firmware update discovery and distribution
CN106293507B (zh) 具有外部存储器的电子设备及操作电子设备的方法
US9235404B2 (en) Firmware update system
US9032383B2 (en) Automatically updating applications on a client's device without interrupting the user's experience
US9513888B1 (en) Virtual preloads
US9110761B2 (en) Resource data structures for firmware updates
KR101633366B1 (ko) 앱스토어 서비스 제공 방법 및 시스템
US20130097298A1 (en) Standardized adapter interface for multiple browser-based devices
CN107273160A (zh) 一种版本升级的方法及装置
KR101674934B1 (ko) 오류 보고 방법 및 장치
US8825991B2 (en) FOTA based data update method and mobile terminal supporting the same
US9210211B2 (en) Remote automated updates for an application
KR20150099269A (ko) 펌웨어를 갱신하기 위한 전자 장치 및 방법
CA2710416C (en) Method and device for application archiving
CN111221559A (zh) 应用更新方法、装置、存储介质、终端及服务器
RU2635891C2 (ru) Механизм инсталляции и формат пакета для распараллеливаемых надежных инсталляций
CN103365682A (zh) 信息处理设备和信息处理方法
US20130198339A1 (en) Apparatus and method for determining duplication of content in portable terminal
CN116048644B (zh) 一种系统迁移方法、装置和可读存储介质
WO2016082450A1 (zh) 一种用户终端的升级方法和用户终端
CN104737128A (zh) 用于多用户账户的二进制的重新使用
US11729602B2 (en) Terminal software upgrade method, terminal software upgrade apparatus and storage medium
CN105453518B (zh) 计量网络的同步
CN114296764A (zh) 系统升级方法、装置、存储介质和电子设备

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid