KR100648817B1 - 자동 펌웨어 업데이트 시스템 및 그 방법 - Google Patents

자동 펌웨어 업데이트 시스템 및 그 방법 Download PDF

Info

Publication number
KR100648817B1
KR100648817B1 KR1020050100215A KR20050100215A KR100648817B1 KR 100648817 B1 KR100648817 B1 KR 100648817B1 KR 1020050100215 A KR1020050100215 A KR 1020050100215A KR 20050100215 A KR20050100215 A KR 20050100215A KR 100648817 B1 KR100648817 B1 KR 100648817B1
Authority
KR
South Korea
Prior art keywords
update
user device
personal information
information data
firmware
Prior art date
Application number
KR1020050100215A
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 KR1020050100215A priority Critical patent/KR100648817B1/ko
Application granted granted Critical
Publication of KR100648817B1 publication Critical patent/KR100648817B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 자동 펌웨어 업데이트 시스템 및 그 방법에 관한 것으로, 펌웨어 업데이트 시 개인 정보데이터를 백업하는 사용자 디바이스와, 상기 사용자 디바이스로부터 백업된 개인 정보데이터를 제공받아 임시로 저장한 후 상기 펌웨어 업데이트가 완료될 경우, 상기 임시로 저장된 백업 개인 정보데이터를 상기 사용자 디바이스 내의 원래 위치로 복원하기 위한 업데이트 서버를 포함함으로써, 사용자의 중요한 개인 정보데이터의 손실을 효과적으로 방지하여 사용자 디바이스의 펌웨어 업데이트에 대한 고객의 불안을 감소시키고 만족도를 향상시킬 수 있을 뿐만 아니라 이에 따른 제조사 측에서의 신규 서비스 배포의 용이성을 제공하는 비즈니스 효과도 얻을 수 있으며, 사용자 디바이스 내에 설치되는 에이전트를 이용하여 원격으로 사용자의 수동적인 개입 없이 자동으로 업데이트 과정을 진행함으로써 사용자에게 배포(Releases)된 사용자 디바이스 내의 소프트웨어 유지 보수비용을 줄일 수 있다.
디지털 디바이스, 펌웨어, 업데이트 서버, 업데이트 패키지, 개인 정보데이터, 원격 자동 에이전트

Description

자동 펌웨어 업데이트 시스템 및 그 방법{Automatic firmware update system and a method for the same}
도 1은 본 발명의 일 실시예에 따른 자동 펌웨어 업데이트 시스템을 설명하기 위한 전체적인 블록 구성도.
도 2는 본 발명의 일 실시예에 따른 자동 펌웨어 업데이트 방법을 설명하기 위한 구체적인 흐름도.
*** 도면의 주요 부분에 대한 부호 설명 ***
100 : 사용자 디바이스, 110 : 비휘발성 메모리,
111 : 부트로더, 113 : 커널,
115 : 파일시스템, 150 : 휘발성 메모리,
151 : 런타임 커널, 155 : 에이전트,
200 : 업데이트 서버, 210 : 임시 저장소,
230 : 업데이트 패키지 저장소, 250 : 업데이트 매니저 모듈
본 발명은 자동 펌웨어 업데이트 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 사용자 디바이스를 구동시키며 여러 응용(Application) 프로그램의 수행을 관리하는 펌웨어 업데이트 시 사용자 디바이스 내에 저장된 개인 정보데이터를 업데이트 서버의 임시 저장소에 백업하고 다시 사용자 디바이스의 원래 위치로 복원함으로써, 사용자의 중요한 개인 정보데이터의 손실을 효과적으로 방지할 수 있는 자동 펌웨어 업데이트 시스템 및 그 방법에 관한 것이다.
일반적으로, 디지털 디바이스(Digital Device)(예컨대, 휴대폰, PDA, 디지털 카메라, MP3 플레이어, 셋톱박스, 디지털 캠코더 및 네트웍 프린터 등)는 사용자의 다양한 정보를 저장할 수 있다.
또한, 상기 디지털 디바이스에 새로운 서비스 및 기능이 추가되는 등의 이유로 디지털 디바이스를 구동하는 펌웨어(Firmware)를 업데이트(Update)할 필요성도 높아지고 있다.
이러한 디지털 디바이스에는 플래쉬 메모리(Flash Memory)와 같은 비휘발성 저장 매체가 주로 사용되는데, 상기 플래쉬 메모리의 일정 부분에 저장되어 있는 커널(Kernel) 영역의 펌웨어를 업데이트 하는 종래의 방법에서는 업데이트 도중 사용자의 개인적인 정보데이터(예컨대, 주소록, 사진, 동영상 및 음악 파일 등)가 소실될 우려가 있다.
한편, 종래의 디지털 디바이스의 펌웨어 업데이트 방식에서는 펌웨어를 업데이트 하기 위해서 디지털 디바이스가 외부의 서버로부터 업데이트 패키지 (Update Package)를 다운로드(Download)하여 플래쉬 메모리의 커널 이미지 영역을 제외한 여분의 여유 공간 중 일정 영역에 기록한 후, 상기 디지털 디바이스를 재기동(Rebooting)시켜 커널이 램(RAM)에 로딩(Loading)되기 전 업데이트 모듈을 구동시킨 후, 기 기록된 업데이트 패키지를 플래쉬 롬(ROM)의 커널 이미지 영역에 재기록 하는 방식을 따른다.
상기와 같은 종래의 방식에서 디지털 디바이스의 플래쉬 메모리 내에 서버로부터 업데이트 할 패키지를 저장하는 과정에서 플래쉬 메모리의 여분의 공간이 부족하거나, 데이터가 저장된 방식이 선형(Linear)하게 구성되지 않았을 경우 사용자의 개인적인 정보데이터가 오버라이트(Overwrite) 되어 소실될 우려가 있다.
상기와 같은 문제점을 해결하기 위해 사용자가 스스로 업데이트 하기 전에 개인적인 정보데이터를 사용자 퍼스널 컴퓨터(Personal Computer, PC)에 백업(Backup)했다가 업데이트 완료 이후 다시 복원하는 과정을 밟기도 하나, 디지털 디바이스에 저장된 개인적인 정보데이터를 백업하는 과정에서 데이터 포맷을 수동으로 수정하는 번거로움이 크며, 사용자의 실수로 인한 데이터 손실의 가능성도 존재하는 문제점이 있다.
본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 사용자 디바이스의 펌웨어 업데이트 시 사용자 디바이스 내에 저장된 각종 개인 정보데이터를 업데이트 서버의 임시 저장소에 백업하고 다시 사용자 디바이스의 원래 위치로 복원함으로써, 업데이트 패키지의 크기가 큰 경우에도 사용자의 개인 정보데이터 손실에 유연하게 대처할 수 있으며, 사용자 디바이스 제조사의 오프라인(Offline) 펌웨어 업데이트를 위한 비용을 절감할 수 있을 뿐만 아니라 개인 정보데이터의 손실에 대한 고객 불만족도를 효과적으로 해소할 수 있는 자동 펌웨어 업데이트 시스템 및 그 방법을 제공하는데 있다.
전술한 목적을 달성하기 위하여 본 발명의 제1 측면은, 펌웨어 업데이트 시 개인 정보데이터를 백업하는 사용자 디바이스; 및 상기 사용자 디바이스로부터 백업된 개인 정보데이터를 제공받아 임시로 저장한 후 상기 펌웨어 업데이트가 완료될 경우, 상기 임시로 저장된 백업 개인 정보데이터를 상기 사용자 디바이스 내의 원래 위치로 복원하기 위한 업데이트 서버를 포함하는 자동 펌웨어 업데이트 시스템을 제공하는 것이다.
여기서, 상기 사용자 디바이스와 상기 업데이트 서버 사이의 데이터 통신 매개체로서, 상기 사용자 디바이스와 연결되고, 상기 업데이트 서버와 IP 프로토콜 기반의 데이터 통신을 할 수 있는 개인용 PC가 더 포함됨이 바람직하다.
바람직하게는, 상기 사용자 디바이스는 운영 시스템(OS) 역할을 위한 커널(Kernel)과, 사용자의 개인 정보데이터를 저장하기 위한 파일시스템(Filesystem)과, 상기 사용자 디바이스의 부트 코드를 담고 있는 부트로더(Boot Loader) 영역으로 나뉘어진 비휘발성 메모리; 및 상기 운영 시스템(OS)을 구동하기 위한 런타임 커널(Runtime Kernel)에 포함된 에이전트(Agent)로 구성되어 상기 에이전트를 통해 상기 개인 정보데이터/업데이트 패키지를 송/수신하기 위한 휘발성 메모리를 포함한다.
바람직하게는, 상기 에이전트는 상기 업데이트 서버로부터 업데이트 패키지를 전송 받기 위한 제1 소프트웨어 모듈; 상기 제1 소프트웨어 모듈로부터 전송 받은 업데이트 패키지를 상기 사용자 디바이스 내의 비휘발성 메모리에 기록 및 설치하기 위한 제2 소프트웨어 모듈; 상기 사용자 디바이스 내의 개인 정보데이터를 추출하기 위한 제3 소프트웨어 모듈; 및 상기 사용자 디바이스의 펌웨어 업데이트 동안에 상기 추출된 개인 정보데이터를 상기 업데이트 서버로 백업하며, 상기 펌웨어 업데이트 완료 후 상기 사용자 디바이스 내의 원래 위치로 다시 복원하기 위한 제4 소프트웨어 모듈을 포함한다.
바람직하게는, 상기 업데이트 서버는 상기 사용자 디바이스 내의 커널에 대한 업데이트 패키지를 저장하기 위한 업데이트 저장소; 상기 사용자 디바이스의 펌웨어 업데이트 시 상기 사용자 디바이스 내의 개인 정보데이터를 임시로 저장하기 위한 임시 저장소; 및 상기 업데이트 저장소에 저장된 업데이트 패키지를 상기 사용자 디바이스로 전송하고, 상기 사용자 디바이스로부터 제공받은 개인 정보데이터를 상기 임시 저장소로 저장시키기 위한 업데이트 매니저 모듈을 포함한다.
본 발명의 제2 측면은, 사용자 디바이스와 업데이트 서버를 포함하는 펌웨어 업데이트 시스템을 이용하여 사용자 디바이스의 펌웨어를 자동으로 업데이트 하는 방법에 있어서, (a) 펌웨어 업데이트 요청 시 상기 사용자 디바이스로부터 개인 정보데이터를 상기 업데이트 서버로 백업하여 임시 저장하는 단계; (b) 상기 사용자 디바이스에서는 상기 업데이트 서버로부터 업데이트 패키지를 제공받아 비휘발성 메모리에 기록 및 설치하는 단계; 및 (c) 상기 펌웨어 업데이트가 완료될 경우, 상기 업데이트 서버에 임시 저장된 백업 개인 정보데이터를 상기 사용자 디바이스 내의 원래 위치로 복원하는 단계를 포함하는 것을 특징으로 하는 자동 펌웨어 업데이트 방법을 제공하는 것이다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다. 본 발명의 실시예는 당업계에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되어지는 것이다.
도 1은 본 발명의 일 실시예에 따른 자동 펌웨어 업데이트 시스템을 설명하기 위한 전체적인 블록 구성도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 자동 펌웨어 업데이트 시스템은 크게, 사용자 디바이스(100)와 업데이트 서버(200)로 이루어진다.
여기서, 상기 사용자 디바이스(100)는 펌웨어 업데이트 시 개인적인 각종 정보데이터(예컨대, 주소록, 사진, 동영상 및 음악 파일 등)를 백업하기 위한 것으로, 비휘발성 메모리(110) 예컨대, 플래쉬 롬 메모리(Flash ROM Memory) 영역과 휘발성 메모리(150) 예컨대, 에스디 램 메모리(SD RAM Memory) 영역이 포함되어 있다.
이때, 상기 비휘발성 메모리(110)는 상기 사용자 디바이스(100)의 부트 코드(Boot Code)를 담고 있는 부트로더(Boot Loader)(111)와, 상기 사용자 디바이스 운영 시스템(Operating System, OS)의 역할을 담당하는 커널(Kernel)(113)과, 사용자의 개인적인 정보데이터를 저장하는 파일시스템(Filesystem)(115) 영역으로 나뉘어진다.
상기 휘발성 메모리(150)는 상기 운영 시스템(OS)을 구동하기 위한 런타임 커널(Runtime Kernel)(151)에 포함된 에이전트(Agent)(155)로 구성되어 실제로 운영 시스템(OS)이 구동하는 휘발성 메모리(150) 위에 런타임 커널(151)에 포함되어 있는 에이전트(155) 코드(Code)가 로딩(Loading)되어 기능을 수행한다. 또한, 상기 휘발성 메모리(150) 내의 에이전트(155)를 통해 상기 개인적인 정보데이터/업데이트 패키지를 송/수신할 수 있다.
여기서, 상기 사용자 디바이스(100) 내에 설치되는 에이전트(155) 소프트웨어는 상기 업데이트 서버(200)로부터 업데이트 패키지를 전송 받기 위한 제1 소프트웨어 모듈과, 상기 제1 소프트웨어 모듈로부터 전송 받은 업데이트 패키지를 상기 사용자 디바이스 내의 비휘발성 메모리(110)에 기록 및 설치하기 위한 제2 소프트웨어 모듈과, 상기 사용자 디바이스(100) 내의 개인적인 정보데이터를 추출하기 위한 제3 소프트웨어 모듈과, 상기 사용자 디바이스(100)를 구동하기 위해 통상의 퍼스널 컴퓨터(PC) 상의 운영 시스템(OS)과 같이 상기 사용자 디바이스(100) 내에 설치되어 있는 펌웨어 업데이트 동안에 상기 추출된 개인적인 정보데이터를 상기 업데이트 서버(200)로 백업하며, 상기 펌웨어 업데이트 완료 후 상기 사용자 디바이스(100) 내의 원래 위치 즉, 파일시스템(115) 영역으로 다시 복원하기 위한 제4 소프트웨어 모듈을 포함할 수 있다.
한편, 상기 사용자 디바이스(100)는 예컨대, 휴대폰, PDA, 디지털 카메라, MP3 플레이어, 셋톱박스, 디지털 캠코더 및 네트웍 프린터 등의 디지털 디바이스(Digital Device)로 구현될 수 있다.
그리고, 상기 업데이트 서버(200)는 상기 사용자 디바이스(100)로부터 백업된 개인적인 정보데이터를 제공받아 임시로 저장한 후, 상기 펌웨어 업데이트가 완료될 경우, 상기 임시로 저장된 개인적인 정보데이터를 상기 사용자 디바이스(100) 내의 원래 위치로 복원하기 위한 기능을 수행한다.
이러한 업데이트 서버(200)는 상기 사용자 디바이스(100)의 펌웨어 업데이트 시 상기 사용자 디바이스(100) 내의 개인적인 정보데이터를 임시로 저장하기 위한 임시 저장소(210)와, 상기 사용자 디바이스(100) 내의 커널(113)에 대한 업데이트 패키지를 저장하기 위한 업데이트 패키지 저장소(230)와, 상기 업데이트 패키지 저장소(230)에 저장된 업데이트 패키지를 상기 사용자 디바이스(100)로 전송하고, 상기 사용자 디바이스(100)로부터 제공받은 개인적인 정보데이터를 상기 임시 저장소(210)로 저장시키기 위한 업데이트 매니저 모듈(250)을 포함할 수 있다.
도 2는 본 발명의 일 실시예에 따른 자동 펌웨어 업데이트 방법을 설명하기 위한 구체적인 흐름도로서, 사용자 디바이스(100, 도 1참조)측에서는 에이전트(155)가, 업데이트 서버(200, 도 1참조)측에서는 업데이트 매니저 모듈(250)이 각 각 메모리(Memory)에 로딩(Loading)되어 업데이트 큐(Queue)를 기다리는 상태이며, 사용자 디바이스(100) 또는 업데이트 서버(200)측으로부터 업데이트 시작 요청이 발생한 이후의 과정을 설명한다.
도 2를 참조하면, 펌웨어 업데이트 과정은 크게 3 단계로 나뉘어진다. 제1 단계는 상기 사용자 디바이스(100)에서 상기 업데이트 서버(200)로 사용자의 개인적인 정보데이터를 백업하는 과정이고, 제2 단계는 상기 사용자 디바이스(100)에서 상기 업데이트 서버(200)로부터 업데이트 패키지를 제공받아 기록 및 설치하는 과정이며, 제3 단계는 펌웨어 업데이트 완료 후 상기 업데이트 서버(200)에 저장된 개인적인 정보데이터를 상기 사용자 디바이스(100)로 다시 복원하는 과정이다.
이를 구체적으로 살펴보면, 먼저, 상기 사용자 디바이스(100)의 에이전트(155)는 자신의 커널정보(예컨대, 사용자 디바이스의 종류 및 모델명, 커널의 버전 등)를 상기 업데이트 서버(200)의 업데이트 매니저 모듈(250)로 전송하며(S100), 상기 업데이트 매니저 모듈(250)은 상기 사용자 디바이스(100)의 커널정보를 수신 받아 상기 업데이트 서버(200) 내에 구비된 업데이트 패키지 저장소(230)를 검색한 후(S101), 해당 사용자 디바이스(100)에 대한 업데이트 패키지가 존재하는지를 판단한다(S102).
이때, 상기 단계S102의 판단결과, 상기 업데이트 패키지가 존재하지 않을 경우 펌웨어 업데이트를 종료하고, 그렇지 않고 상기 업데이트 패키지가 존재할 경우 상기 업데이트 매니저 모듈(250)은 실제 업데이트 패키지를 전송하여 펌웨어 업데이트를 진행하기 전에 상기 사용자 디바이스(100)의 에이전트(155)로 미리 저 장된 사용자의 개인적인 정보데이터를 백업하도록 요청 메시지를 전송한다(S103).
다음으로, 상기 사용자 디바이스(100)의 에이전트(155)는 상기 업데이트 매니저 모듈(250)로부터 백업 요청 메시지를 수신 받아 비휘발성 메모리(110)의 파일시스템(115) 영역에 저장되어 있는 개인적인 정보데이터를 읽어 상기 업데이트 서버(200)로 전송한다(S104).
이후에, 상기 업데이트 매니저 모듈(250)은 상기 에이전트(155)로부터 개인적인 정보데이터를 수신 받아 상기 업데이트 서버(200) 내의 임시 저장소(210)에 백업 저장한 후(S105), 상기 백업된 사용자의 개인적인 정보데이터가 정상적으로 저장되었는지를 판단한다(S106).
이때, 상기 단계S106의 판단 결과, 사용자의 개인적인 정보데이터가 정상적으로 저장되지 않았을 경우 적어도 2번 이상 재시도 즉, 사용자의 개인적인 정보데이터를 백업하도록 요청 메시지를 전송하여 상기 임시 저장소(210)에 백업 저장하기까지의 일련의 과정(S103∼S106)이 2번 이상 반복되었는지를 판단하여(S107) 2번 이상 재시도 되지 않았을 경우 상기 단계S103으로 리턴하고, 그렇지 않고 2번 이상 재시도 되었을 경우 펌웨어 업데이트를 종료한다.
한편, 상기 단계S106의 판단 결과, 사용자의 개인적인 정보데이터가 정상적으로 저장되었을 경우 상기 업데이트 매니저 모듈(250)은 해당 사용자 디바이스(100)의 업데이트 패키지를 상기 에이전트(155)로 전송한다(S108).
다음으로, 상기 사용자 디바이스(100)의 에이전트(155)는 상기 업데이트 매니저 모듈(250)로부터 전송된 업데이트 패키지를 수신 받아 비휘발성 메모리(110) 의 파일시스템(115) 영역에 기록하고(S109), 상기 사용자 디바이스(100)를 재부팅(Rebooting)한 후 부트로더(Bootloader)(111)를 실행시킨다.(S110).
즉, 상기 에이전트(155)는 상기 업데이트 매니저 모듈(250)로부터 전송 받은 업데이트 패키지를 비휘발성 메모리(110)의 파일시스템(115) 영역에 기록하고, 재부팅(Rebooting)한 후 상기 부트로더(111) 상에서 실제 펌웨어 업데이트가 수행될 시 업데이트 패키지를 읽을 수 있도록 한다.
이때, 상기 파일시스템(115) 영역에 저장된 사용자의 개인적인 정보데이터는 이미 상기 업데이트 서버(200)의 임시 저장소(210)에 백업되어 있으므로, 상기 에이전트(155)는 데이터 손실에 대한 처리를 할 필요 없이 업데이트 패키지를 순차적으로 비휘발성 메모리(110)에 기록할 수 있다.
또한, 상기와 같은 순차적인 메모리 쓰기(Write)는 부트로더(111) 코드(Code)에 특별한 파일시스템(115) 처리 코드(Code)가 필요치 않아 코드(Code)의 크기를 줄일 수 있고, 데이터를 읽는 속도도 향상시킬 수 있으므로 메모리 자원 비용 절약 및 업데이트 속도 향상에 기여할 수 있다.
이후에, 상기 부트로더(111)는 상기 파일시스템(115) 영역에 저장된 업데이트 패키지를 커널(113) 영역에 기록하고(S111), 상기 사용자 디바이스(100)를 재부팅(Rebooting)한 후 상기 업데이트 된 커널(113)을 실행시킨다(S112).
그리고, 펌웨어 업데이트 완료 시 즉, 상기 부트로더(111)의 업데이트 에이전트 코드가 업데이트 패키지를 상기 비휘발성 메모리(110)의 커널(113) 영역에 성공적으로 기록한 후 새로 업데이트 된 커널(113)로 재부팅을 하여 커널 업데이 트 과정이 완료되면, 상기 에이전트(155)는 상기 업데이트 매니저 모듈(250)로 업데이트 완료결과 메시지를 전송한다(S113).
다음으로, 상기 업데이트 매니저 모듈(250)은 상기 에이전트(155)로부터 업데이트 완료결과 메시지를 수신 받아 상기 업데이트 서버(200)의 임시 저장소(210)에 백업 저장된 개인적인 정보데이터를 상기 사용자 디바이스(100)의 에이전트(155)로 전송한다(S114).
이후에, 상기 사용자 디바이스(100)의 에이전트(155)는 상기 업데이트 매니저 모듈(250)로부터 전송된 사용자의 개인적인 정보데이터를 수신 받아 상기 사용자 디바이스(100) 내의 원래 위치 즉, 상기 비휘발성 메모리(110)의 파일시스템(115) 영역에 기록함으로써(S115), 사용자의 개인적인 정보데이터를 원래대로 복원하여 전체 업데이트 과정이 완료된다.
전술한 본 발명에 따른 자동 펌웨어 업데이트 시스템 및 그 방법에 대한 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 본 발명에 속한다.
예를 들면, 본 발명의 일 실시예에서는 펌웨어 업데이트 서비스를 사용자 디바이스(100)와 업데이트 서버(200)간에 수행하였지만, 이에 국한하지 않으며, 사용자 디바이스(100)와 업데이트 서버(200)사이의 데이터 통신 매개체로서, 상기 사용자 디바이스(100)와 예컨대, USB 시리얼 케이블에 연결되고, 상기 업데이트 서버(200)와 예컨대, IP 프로토콜 기반의 데이터 통신을 할 수 있는 개인용 퍼스 널 컴퓨터(PC)가 더 포함될 수 있다.
이와 같은 펌웨어 업데이트 서비스 환경에서 사용자가 펌웨어 업데이트 요청을 상기 사용자 디바이스(100)에 설정된 버튼 등을 눌러 송신하였을 경우, 전술한 본 발명의 일 실시예의 자동 펌웨어 업데이트 방법에 따라 상기 업데이트 서버(200)와 통신하여 사용자의 개인적인 정보데이터를 백업하고 복원하며, 업데이트 패키지를 전송 받아 재 설치할 수 있다.
이때, 상기 개인용 퍼스널 컴퓨터(PC)는 예컨대, 핸드폰과 같이 자체적으로 데이터 통신이 가능하지 않은 사용자 디바이스에 대한 네트웍 게이트웨이(Gateway)의 역할을 한다. 즉, 사용자 디바이스(100)측에서 업데이트 서버(200)로 보내는 메시지와 업데이트 서버(200)에서 사용자 디바이스(100)측으로 보내는 메시지를 릴레이(Relay)하는 기능을 의미한다.
이상에서 설명한 바와 같은 본 발명의 자동 펌웨어 업데이트 시스템 및 그 방법에 따르면, 사용자 디바이스의 펌웨어 업데이트 시 사용자 디바이스 내에 저장된 각종 개인적인 정보데이터를 업데이트 서버의 임시 저장소에 백업하고 다시 사용자 디바이스의 원래 위치로 복원함으로써, 업데이트 패키지의 크기가 큰 경우에도 사용자의 개인 정보데이터 손실에 유연하게 대처할 수 있으며, 사용자 디바이스 제조사측의 오프라인(Offline) 펌웨어 업데이트를 위한 비용을 절감할 수 있을 뿐만 아니라 개인 정보데이터의 손실에 대한 고객 불만족도를 효과적으로 해소할 수 있는
또한, 본 발명에 따르면, 펌웨어 업데이트 방법이 전체적으로 원격 자동으로 진행됨으로써, 사용자에게 배포(Releases)된 사용자 디바이스 내의 소프트웨어 유지 보수비용을 줄일 수 있는 이점이 있다.

Claims (10)

  1. 펌웨어 업데이트 시 개인 정보데이터를 백업하는 사용자 디바이스; 및
    상기 사용자 디바이스로부터 백업된 개인 정보데이터를 제공받아 임시로 저장한 후 상기 펌웨어 업데이트가 완료될 경우, 상기 임시로 저장된 백업 개인 정보데이터를 상기 사용자 디바이스 내의 원래 위치로 복원하기 위한 업데이트 서버를 포함하는 자동 펌웨어 업데이트 시스템.
  2. 제 1 항에 있어서, 상기 사용자 디바이스와 상기 업데이트 서버 사이의 데이터 통신 매개체로서, 상기 사용자 디바이스와 연결되고, 상기 업데이트 서버와 IP 프로토콜 기반의 데이터 통신을 할 수 있는 개인용 PC가 더 포함되는 것을 특징으로 하는 자동 펌웨어 업데이트 시스템.
  3. 제 1 항에 있어서, 상기 사용자 디바이스는,
    운영 시스템(OS) 역할을 위한 커널(Kernel)과, 사용자의 개인 정보데이터를 저장하기 위한 파일시스템(Filesystem)과, 상기 사용자 디바이스의 부트 코드를 담고 있는 부트로더(Boot Loader) 영역으로 나뉘어진 비휘발성 메모리; 및
    상기 운영 시스템(OS)을 구동하기 위한 런타임 커널(Runtime Kernel)에 포함된 에이전트(Agent)로 구성되어 상기 에이전트를 통해 상기 개인 정보데이터/업데이트 패키지를 송/수신하기 위한 휘발성 메모리를 포함하는 것을 특징으로 하는 자동 펌웨어 업데이트 시스템.
  4. 제 3 항에 있어서, 상기 에이전트는,
    상기 업데이트 서버로부터 업데이트 패키지를 전송 받기 위한 제1 소프트웨어 모듈;
    상기 제1 소프트웨어 모듈로부터 전송 받은 업데이트 패키지를 상기 사용자 디바이스 내의 비휘발성 메모리에 기록 및 설치하기 위한 제2 소프트웨어 모듈;
    상기 사용자 디바이스 내의 개인 정보데이터를 추출하기 위한 제3 소프트웨어 모듈; 및
    상기 사용자 디바이스의 펌웨어 업데이트 동안에 상기 추출된 개인 정보데이터를 상기 업데이트 서버로 백업하며, 상기 펌웨어 업데이트 완료 후 상기 사용자 디바이스 내의 원래 위치로 다시 복원하기 위한 제4 소프트웨어 모듈을 포함하는 것을 특징으로 하는 자동 펌웨어 업데이트 시스템.
  5. 제 1 항에 있어서, 상기 업데이트 서버는,
    상기 사용자 디바이스 내의 커널에 대한 업데이트 패키지를 저장하기 위한 업데이트 저장소;
    상기 사용자 디바이스의 펌웨어 업데이트 시 상기 사용자 디바이스 내의 개인 정보데이터를 임시로 저장하기 위한 임시 저장소; 및
    상기 업데이트 저장소에 저장된 업데이트 패키지를 상기 사용자 디바이스로 전송하고, 상기 사용자 디바이스로부터 제공받은 개인 정보데이터를 상기 임시 저장소로 저장시키기 위한 업데이트 매니저 모듈을 포함하는 것을 특징으로 하는 자동 펌웨어 업데이트 시스템.
  6. 사용자 디바이스와 업데이트 서버를 포함하는 펌웨어 업데이트 시스템을 이용하여 사용자 디바이스의 펌웨어를 자동으로 업데이트 하는 방법에 있어서,
    (a) 펌웨어 업데이트 요청 시 상기 사용자 디바이스로부터 개인 정보데이터를 상기 업데이트 서버로 백업하여 임시 저장하는 단계;
    (b) 상기 사용자 디바이스에서는 상기 업데이트 서버로부터 업데이트 패키지를 제공받아 비휘발성 메모리에 기록 및 설치하는 단계; 및
    (c) 상기 펌웨어 업데이트가 완료될 경우, 상기 업데이트 서버에 임시 저장된 백업 개인 정보데이터를 상기 사용자 디바이스 내의 원래 위치로 복원하는 단계를 포함하는 것을 특징으로 하는 자동 펌웨어 업데이트 방법.
  7. 제 6 항에 있어서, 상기 단계(a)는,
    (a-1) 상기 사용자 디바이스는 자신의 커널정보를 상기 업데이트 서버로 전송하는 단계;
    (a-2) 상기 업데이트 서버는 상기 사용자 디바이스로부터 전송된 커널정보를 제공받아 커널정보에 따른 업데이트 패키지를 검색하여 상기 업데이트 패키지가 존재할 경우, 상기 사용자 디바이스로 개인 정보데이터 백업을 요청하는 단계;
    (a-3) 상기 사용자 디바이스는 상기 업데이트 서버로부터 개인 정보데이터 백업을 요청 받아 비휘발성 메모리에 저장된 개인 정보데이터를 상기 업데이트 서버로 전송하는 단계; 및
    (a-4) 상기 업데이트 서버는 상기 사용자 디바이스로부터 개인 정보데이터를 제공받아 임시 저장소에 저장하는 단계를 포함하는 것을 특징으로 하는 자동 펌웨어 업데이트 방법.
  8. 제 7 항에 있어서, 상기 커널정보는 사용자 디바이스의 종류 및 모델명, 커널의 버전인 것을 특징으로 하는 자동 펌웨어 업데이트 방법.
  9. 제 7 항에 있어서, 상기 단계(a-4)이후에,
    상기 사용자 디바이스로부터 백업된 개인 정보데이터가 상기 업데이트 서버의 임시 저장소에 정상적으로 저장되었는지를 판단하여 정상적으로 저장되지 않을 경우 적어도 두 번 이상 상기 단계(a-2)로 리턴하여 상기 사용자 디바이스로 개인 정보데이터 백업을 요청하는 단계를 더 포함하는 것을 특징으로 하는 자동 펌웨어 업데이트 방법.
  10. 제 6 항에 있어서, 상기 단계(b)는,
    (b-1) 상기 업데이트 서버는 상기 사용자 디바이스로 업데이트 패키지를 전송하는 단계;
    (b-2) 상기 사용자 디바이스는 상기 업데이트 서버로부터 전송된 업데이트 패키지를 제공받아 비휘발성 메모리의 파일시스템(Filesystem) 영역에 저장하고, 재부팅 후 부트로더(Bootloader)를 실행시키는 단계; 및
    (b-3) 상기 저장된 업데이트 패키지를 커널 영역에 기록하고, 재부팅 후 상기 업데이트 된 커널을 실행시키며, 펌웨어 업데이트 완료 시 상기 업데이트 서버로 완료결과를 전송하는 단계를 포함하는 것을 특징으로 하는 자동 펌웨어 업데이트 방법.
KR1020050100215A 2005-10-24 2005-10-24 자동 펌웨어 업데이트 시스템 및 그 방법 KR100648817B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050100215A KR100648817B1 (ko) 2005-10-24 2005-10-24 자동 펌웨어 업데이트 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050100215A KR100648817B1 (ko) 2005-10-24 2005-10-24 자동 펌웨어 업데이트 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR100648817B1 true KR100648817B1 (ko) 2006-11-23

Family

ID=37713251

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050100215A KR100648817B1 (ko) 2005-10-24 2005-10-24 자동 펌웨어 업데이트 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR100648817B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100951851B1 (ko) 2007-08-14 2010-04-12 (주)유경테크놀로지스 펌웨어를 자동으로 업데이트하는 임베디드 장치 및시스템과 그에 따른 방법
WO2016007563A1 (en) * 2014-07-07 2016-01-14 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems
US9891907B2 (en) 2014-07-07 2018-02-13 Harman Connected Services, Inc. Device component status detection and illustration apparatuses, methods, and systems
EP2327015B1 (en) 2008-09-26 2018-09-19 Sonova AG Wireless updating of hearing devices
WO2022131712A1 (ko) * 2020-12-17 2022-06-23 주식회사 바디프랜드 펌웨어 업데이트 기능을 구비한 마사지 장치 및 그 동작 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100951851B1 (ko) 2007-08-14 2010-04-12 (주)유경테크놀로지스 펌웨어를 자동으로 업데이트하는 임베디드 장치 및시스템과 그에 따른 방법
EP2327015B1 (en) 2008-09-26 2018-09-19 Sonova AG Wireless updating of hearing devices
WO2016007563A1 (en) * 2014-07-07 2016-01-14 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems
US9747096B2 (en) 2014-07-07 2017-08-29 Harman Connected Services, Inc. Remote embedded device update platform apparatuses, methods and systems
US9891907B2 (en) 2014-07-07 2018-02-13 Harman Connected Services, Inc. Device component status detection and illustration apparatuses, methods, and systems
WO2022131712A1 (ko) * 2020-12-17 2022-06-23 주식회사 바디프랜드 펌웨어 업데이트 기능을 구비한 마사지 장치 및 그 동작 방법

Similar Documents

Publication Publication Date Title
US8250567B2 (en) Robust firmware upgrade in a network terminal
JP5113700B2 (ja) ファームウェア更新装置及び方法
US7698698B2 (en) Method for over-the-air firmware update of NAND flash memory based mobile devices
US9098306B2 (en) Image forming apparatus, program updating method and computer-readable storage medium
US20110004871A1 (en) Embedded electronic device and firmware updating method thereof
CN102360298B (zh) 一种终端设备的软件升级方法
US8996667B2 (en) Deploying an operating system
US20070074201A1 (en) Method and system for updating software and computer readable recording medium storing the method
TWI396076B (zh) 無線終端機、無線終端機之非揮發性記憶體及診斷資訊之故障安全保存方法
US20050132351A1 (en) Updating electronic device software employing rollback
US8447964B2 (en) File update system and boot management system of mobile communication terminal, method of updating file in mobile communication terminal, and method of booting mobile communication terminal
US7512777B2 (en) Method and system for maintaining system management BIOS
JP2007219883A (ja) 移動端末装置およびソフトウェア更新方法
US7337359B2 (en) System and method for recovering a device state
CN101183337A (zh) 基于nand flash移动终端存储介质的空间管理方法
KR100648817B1 (ko) 자동 펌웨어 업데이트 시스템 및 그 방법
CN111433747B (zh) 用于加载操作系统的虚拟存储器
KR101085681B1 (ko) 이동통신 단말기의 데이터 복구 시스템 및 방법
US9940334B2 (en) Image forming apparatus and control method thereof
CN114020308A (zh) 一种摄像设备升级方法、装置、设备及介质
CN101714089A (zh) 安装套件的方法及制作套件映像文件的方法
KR101009954B1 (ko) 홈네트워크장치, 주변장치 설치프로그램 시스템 및주변장치 설치프로그램의 설치방법
JP4221892B2 (ja) ナビゲーション装置におけるプログラム書き換え方法、およびナビゲーション装置
KR100487717B1 (ko) 내장형 시스템을 위한 운영체제 로딩 시스템 및 방법
KR20060024682A (ko) 이동 통신 단말기의 업그레이드 시간 단축 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120906

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131004

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140904

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150930

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160920

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170928

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180927

Year of fee payment: 13