KR101461319B1 - 셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치 - Google Patents

셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치 Download PDF

Info

Publication number
KR101461319B1
KR101461319B1 KR1020130060326A KR20130060326A KR101461319B1 KR 101461319 B1 KR101461319 B1 KR 101461319B1 KR 1020130060326 A KR1020130060326 A KR 1020130060326A KR 20130060326 A KR20130060326 A KR 20130060326A KR 101461319 B1 KR101461319 B1 KR 101461319B1
Authority
KR
South Korea
Prior art keywords
firmware
version value
partition
upgrade
top box
Prior art date
Application number
KR1020130060326A
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 KR1020130060326A priority Critical patent/KR101461319B1/ko
Application granted granted Critical
Publication of KR101461319B1 publication Critical patent/KR101461319B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • H04N21/4586Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26291Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for providing content or additional data updates, e.g. updating software modules, stored at the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4516Management of client data or end-user data involving client characteristics, e.g. Set-Top-Box type, software version or amount of memory available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content

Abstract

안드로이드 운영체제를 사용하는 셋탑박스에서, 보유하고 있는 펌웨어를 별도의 갱신 장비 없이도, 자체 로직에 의해 자동으로 업그레이드 하는 셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치를 개시한다.

Description

셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치{METHODS AND DEVICE FOR UPGRADING FIRMWARE OF SET-TOP BOX}
본 발명은 안드로이드 운영체제를 사용하는 셋탑박스에서, 보유하고 있는 펌웨어를 별도의 갱신 장비 없이도, 자체 로직에 의해 자동으로 업그레이드 하는 셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치에 관한 것이다.
안드로이드 운영체제는 모바일 환경 뿐만 아니라 태블릿 기기, PC, 방송 장비 등 다양한 기기로 그 사용 영역을 확장하고 있다. 이러한 추세에 따라, 근래에는 안드로이드 운영체제를 사용하는 스마트 셋탑박스의 비중도 점점 늘어나고 있다.
일반적인 안드로이드를 운영체제로 사용하는 기기의 경우, 펌웨어의 업그레이드를 위해서는, PC에서 별도의 펌웨어 업그레이드 프로그램을 사용하여 업그레이드를 실시하였다. 이로 인해, 펌웨어의 업그레이드시, PC, 펌웨어 업그레이드 프로그램, 유선 케이블 등이 필수로 필요하였고, 업그레이드 과정에 상당한 불편함이 있어 왔다.
따라서, 펨웨어의 업그레이드시 별도의 장비를 동원하지 않고도, 셋탑박스 자체적으로 판단하여, 안드로이드 운영체제 하에서 펌웨어를 자동으로 업그레이드 시킬 수 있는 모델의 등장이 절실하게 요구되고 있다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 별도의 PC 관련 프로그램을 사용하지 않고, 안드로이드 운영체제 하의 셋탑박스에 대한 펌웨어 업그레이드를 수행하는 셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치를 제공하는 데에 그 목적이 있다.
또한, 본 발명은 업그레이드 서버로부터 펌웨어의 버전을 제공받아 셋탑박스 내 펌웨어의 버전과 비교하여 사용자에 펌웨어 업그레이드 여부를 알리고, 사용자가 업그레이드를 선택할 경우, 최신의 펌웨어를 다운로드 받아, 자체 업그레이드 프로그램을 통해 셋탑박스 내 펌웨어를 업그레이드하는 것을 목적으로 한다.
또한, 본 발명의 목적은 펌웨어의 업그레이드 필요성을 우선 체크하고, 그 체크 결과에 따라, 부팅 방식을 유연하게 결정 함으로써, 펌웨어의 업그레이드가 최적하게 이루어지도록 하는 데에 있다.
상기의 목적을 이루기 위한 셋탑박스의 펌웨어 업그레이드 방법은, 네트워크와의 연결에 따라, 펌웨어 서버로 버전 정보를 질의하는 단계, 상기 질의에 대해 상기 펌웨어 서버로부터 응답되는 제2 버전값과, 보유하는 펌웨어의 제1 버전값을 비교하는 단계, 및 상기 비교 결과를 고려하여 부팅 방식을 결정하고, 상기 결정된 부팅 방식에 따른 제어 처리를 수행하는 단계를 포함하여 구성 할 수 있다.
또한, 상기 목적을 달성하기 위한 기술적 장치로서, 셋탑박스의 펌웨어 업그레이드 장치는, 네트워크와의 연결에 따라, 펌웨어 서버로 버전 정보를 질의하는 질의부와, 상기 질의에 대해 상기 펌웨어 서버로부터 응답되는 제2 버전값과, 보유하는 펌웨어의 제1 버전값을 비교하는 비교부, 및 상기 비교 결과를 고려하여 부팅 방식을 결정하고, 상기 결정된 부팅 방식에 따른 제어 처리를 수행하는 제어부를 포함할 수 있다.
본 발명에 따르면, 별도의 PC 관련 프로그램을 사용하지 않고, 안드로이드 운영체제 하의 셋탑박스에 대한 펌웨어 업그레이드를 수행하는 셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치를 제공할 수 있다.
또한, 본 발명에 의해서는, 업그레이드 서버로부터 펌웨어의 버전을 제공받아 셋탑박스 내 펌웨어의 버전과 비교하여 사용자에 펌웨어 업그레이드 여부를 알리고, 사용자가 업그레이드를 선택할 경우, 최신의 펌웨어를 다운로드 받아, 자체 업그레이드 프로그램을 통해 셋탑박스 내 펌웨어를 업그레이드 할 수 있다.
또한, 본 발명에 따르면, 펌웨어의 업그레이드 필요성을 우선 체크하고, 그 체크 결과에 따라, 부팅 방식을 유연하게 결정 함으로써, 펌웨어의 업그레이드가 최적하게 이루어지도록 하는 효과를 얻을 수 있다.
도 1은 본 발명의 일실시예에 따른 펌웨어 업그레이드 장치의 구체적인 구성을 나타내는 도면이다.
도 2는 일실시예에 따라, 펌웨어를 다운로드 하기 위한 절차 흐름을 나타내는 도이다.
도 3은 본 발명의 펌웨어 업그레이드 장치가 사용하는 플래시 메모리에 대한 대략적인 도면이다.
도 4는 본 발명의 일실시예에 따른 펌웨어 업그레이드 방법을 구체적으로 도시한 작업 흐름도이다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
본 명세서에서 지속적으로 사용되는 펌웨어(firmware)는 소프트웨어와 하드웨어의 중간에 해당하는 것으로, 소프트웨어를 하드웨어화 한 것일 수 있다. 예컨대, 펌웨어는, 롬(ROM)에 기록되는, 하드웨어를 제어하는 마이크로 프로그램의 집합을 지칭할 수 있다.
또한, '업그레이드 부팅 이미지' 및 '시스템 부팅 이미지'는, 부팅 및 업그레이드와 관련한 데이터 파일, OS 관련 파일 등을, 단일의 파일 형태로 압축한 것으로, 예컨대, iso, lcd, cue, nrg 등의 이미지 파일을 예시할 수 있다.
본 발명의 펌웨어 업그레이드 장치는, 버전값 비교에 따른 결과를 고려하여, 부팅에 사용할 부팅 이미지를 선택적으로 결정하고, 결정된 부팅 이미지를 구동하여, 후속되는 프로그램 실행에 의한 제어 처리가 이루어지도록 한다.
예컨대, 보유하는 펌웨어의 버전값이 서버의 것과 다를 경우, 펌웨어 업그레이드 장치는, '업그레이드 부팅 이미지'를 부팅할 이미지로 결정하여 구동하고, 후속하여 업그레이드 프로그램을 실행하여, 최신의 펌웨어를 펌웨어 서버로부터 다운로드 되도록 할 수 있다.
이를 통해, 본 발명의 펌웨어 업그레이드 장치는, 별도의 PC 관련 프로그램을 사용하지 않고도, 자체적인 업그레이드 프로그램에 의해, 안드로이드 운영체제 하의 셋탑박스에 대한 펌웨어 업그레이드를 자동으로 수행할 수 있다.
도 1은 본 발명의 일실시예에 따른 펌웨어 업그레이드 장치의 구체적인 구성을 나타내는 도면이다.
본 발명의 펌웨어 업그레이드 장치(100)는, 질의부(110), 비교부(120), 및 제어부(130)를 포함하여 구성될 수 있다. 또한, 펌웨어 업그레이드 장치(100)는 실시예에 따라, 플래시 메모리(140)를 추가적으로 포함하여 구성할 수 있다.
우선, 질의부(110)는 네트워크(160)와의 연결에 따라, 펌웨어 서버(150)로 버전 정보를 질의한다. 여기서, 펌웨어 서버(150)는 본 발명의 펌웨어 업그레이드 장치(100)가 포함될 수 있는 셋탑박스와 계약 관계를 갖으면서, 펨웨어를 상기 셋탑박스로 주기적으로 배포하는 프로바이더(provider) 서버일 수 있다.
질의부(110)는 셋탑박스가 네트워크(160)에 연결되어 온라인 상태가 됨에 따라, 펌웨어 서버(150)로 가장 최근에서 작성된 펌웨어의 버전값(이하, '제2 버전값'으로 약칭함)에 대해 문의하는 역할을 한다. 상기 질의는 예컨대 명령 이벤트, SMS 등의 형태일 수 있다.
펌웨어 서버(150)는 새로운 펌웨어가 작성될 때마다 해당 펌웨어에 할당되는 버전값 별로 DB화하여 펌웨어를 관리하고, 질의부(110)로부터 상기 질의가 수신 됨에 따라, 가장 최근에 작성된 펌웨어의 제2 버전값을 상기 질의하는 버전 정보로서 펌웨어 업그레이드 장치(100)에 응답할 수 있다.
비교부(120)는 상기 질의에 대해 펌웨어 서버(150)로부터 응답되는 제2 버전값과, 보유하는 펌웨어의 제1 버전값을 비교한다. 여기서, 제1 버전값은 현재 셋탑박스 내 플래쉬 메모리(140)에 저장되고 있는 펌웨어의 버전값을 지칭하며, 펌웨어를 다운로드하는 시점에서 펌웨어 서버(150)로부터 안내 받을 수 있다. 즉, 비교부(120)는 셋탑박스에 보유되는 펌웨어의 제1 버전값과, 펌웨어 서버(150)에 최신의 것으로 보유되는 펌웨어의 제2 버전값이 서로 차이가 있는지를 비교하는 역할을 한다.
제어부(130)는 상기 비교 결과를 고려하여 부팅 방식을 결정한다. 여기서 부팅 방식은 부팅 이미지를 이용하여, 셋탑박스를, 특정 목적을 수행할 수 있는 동작 상태(operating state)에 도달되게 하는 방식을 의미할 수 있다.
일실시예에서, 제어부(130)는, 상기 비교 결과, 제1 버전값과 제2 버전값이 서로 상이한 경우, 상기 부팅 방식으로 업그레이드 부팅 이미지에 의한 업그레이드 프로그램의 실행을 결정할 수 있다.
상기 제1 및 제2 버전값이 상이하다는 것은, 셋톱박스에 보유되는 펌웨어가 최신의 것이 아니다라는 의미일 수 있다. 이에 따라, 제어부(130)는 상기 업그레이드 부팅 이미지를 구동하는 부팅 방식을 채택 함으로써, 펌웨어 서버(150)로부터 최신의 펌웨어를 다운로드 할 수 있는 환경이 조성되도록 한다.
상기 업그레이드 부팅 이미지의 구동에 의해 업그레이드 프로그램이 실행되면, 제어부(130)는 상기 결정된 부팅 방식에 따른 제어 처리를 수행할 수 있다. 즉, 제어부(130)는 상기 업그레이드 프로그램의 실행에 따라, 펌웨어 서버(150)로부터 상기 제2 버전값을 갖는 펌웨어를 다운로드한다.
다른 실시예에서, 제어부(130)는 상기 비교 결과, 제1 버전값과 제2 버전값이 일치하는 경우, 상기 부팅 방식으로 시스템 부팅 이미지에 의한 OS 프로그램의 실행을 결정할 수 있다.
상기 제1 및 제2 버전값이 서로 일치한다는 것은, 셋톱박스에 보유되는 펌웨어가 이미 최신의 것이다라는 의미일 수 있다. 이에 따라, 제어부(130)는 상기 시스템 부팅 이미지를 구동하는 부팅 방식을 채택 함으로써, 펌웨어 서버(150)로부터 더 이상의 펌웨어 다운로드가 이루어지지 않도록 하는 환경이 조성되도록 한다.
상기 시스템 부팅 이미지의 구동에 의해 OA 프로그램이 실행되면, 제어부(130)는 상기 결정된 부팅 방식에 따른 제어 처리를 수행할 수 있다. 즉, 제어부(130)는 상기 OS 프로그램의 실행에 따라, 보유되는 제1 버전값을 갖는 펌웨어를 이용하여, 셋톱박스가 통상의 동작 상태(예, 방송 신호 수신, 자가 모니터링 신호 송출 등)가 되도록 한다. 이 때, 제1 버전값을 갖는 펌웨어는 그대로 유지될 수 있다.
실시예에 따라, 펌웨어 업그레이드 장치(100)은 상기 업그레이드 부팅 이미지와 상기 시스템 부팅 이미지를 저장하기 위한 플래시 메모리(140)를 더 포함할 수 있다.
플래시 메모리(140)는 저장 영역을 다수의 영역으로 구획한, 복수의 파티션을 포함할 수 있다. 플래시 메모리(140)는, 상기 복수의 파티션 중에서, 제1 파티션으로 상기 업그레이드 부팅 이미지를 저장하고, 제2 파티션으로 상기 시스템 부팅 이미지를 저장할 수 있다.
또한, 플래시 메모리(140)는 복수의 파티션 중에서, 안드로이드 파티션으로 제1 버전값을 갖는 현재 보유 중의 펌웨어, 또는 펌웨어 서버(150)로부터 다운로드된 제2 버전값을 갖는 펌웨어를 저장할 수 있다. 상기 안드로이드 파티션은, 안드로이드 운영체제에서 사용하는, 상기 펌웨어, 커널, 및 시스템 데이터를 적어도 포함할 수 있다.
일례에서, 상기 제1 버전값과 상기 제2 버전값이 상이하다는 비교 결과이면, 제어부(130)는, 플래시 메모리(140)의 상기 제1 파티션에서 상기 업그레이드 부팅 이미지를 호출하여 구동 함으로써 상기 업그레이드 프로그램을 실행하고, 다운로드한 상기 제2 버전값을 갖는 펌웨어를, 상기 안드로이드 파티션에 저장하여, 펌웨어를 갱신할 수 있다.
상기 펌웨어 갱신에 있어서, 제어부(130)는, 상기 안드로이드 파티션으로 상기 제2 버전값을 갖는 펌웨어가 저장됨에 따라, 사용자에게 재부팅을 요청할 수 있다. 상기 요청에 대해, 상기 사용자로부터 수락 명령이 입력되면, 제어부(130)는 상기 셋탑박스을 재부팅하면서 상기 제1 버전값을 갖는 펌웨어를 제거하여, 상기 안드로이드 파티션에 상기 제2 버전값을 갖는 펌웨어가 유지되도록 할 수 있다.
또는, 상기 요청에 대해, 선정된 시간격 이내에, 상기 사용자로부터 수락 명령이 입력되지 않으면, 제어부(130)는 상기 셋탑박스가 대기 모드로 진입함에 따라, 상기 안드로이드 파티션에서 상기 제1 버전값을 갖는 펌웨어를 제거하여, 상기 안드로이드 파티션에 상기 제2 버전값을 갖는 펌웨어가 저장되도록 할 수 있다. 즉, 제어부(130)는 셋탑박스가 동작하지 않는 시간을 택하여, 상기 제1 버전값에서, 상기 제2 버전값으로의 펌웨어 업그레이드 동작을 수행할 수 있다.
또한, 제어부(130)는 다운로드한 상기 제2 버전값을 갖는 펌웨어에 대해, 암호화 해시 함수(예, md5)를 체크하여, 상기 제2 버전값을 갖는 펌웨어가 손상되었는지의 손상 여부를 판단하고, 상기 판단 결과, 손상이 없으면, 상기 안드로이드 파티션으로 상기 제2 버전값을 갖는 펌웨어를 저장할 수 있다. 이를 통해, 제어부(130)는 다운로드 과정에서 오류가 배제된 정상 상태의 펌웨어 만이, 안드로이드 파티션에 저장되어, 업그레이드 관여되도록 할 수 있다.
다른 일례에서, 상기 제1 버전값과 상기 제2 버전값이 일치한다는 비교 결과이면, 제어부(130)는, 플래시 메모리(140)의 상기 제2 파티션에서 상기 시스템 부팅 이미지를 호출하여 구동 함으로써 상기 OS 프로그램을 실행하고, 상기 OS 프로그램의 실행에 연동하여, 상기 안드로이드 파티션으로부터 상기 제1 버전값을 갖는 펌웨어를 리드할 수 있다.
본 발명에 따르면, 별도의 PC 관련 프로그램을 사용하지 않고, 안드로이드 운영체제 하의 셋탑박스에 대한 펌웨어 업그레이드를 수행하는 셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치를 제공할 수 있다.
또한, 본 발명에 의해서는, 업그레이드 서버로부터 펌웨어의 버전을 제공받아 셋탑박스 내 펌웨어의 버전과 비교하여 사용자에 펌웨어 업그레이드 여부를 알리고, 사용자가 업그레이드를 선택할 경우, 최신의 펌웨어를 다운로드 받아, 자체 업그레이드 프로그램을 통해 셋탑박스 내 펌웨어를 업그레이드 할 수 있다.
또한, 본 발명에 따르면, 펌웨어의 업그레이드 필요성을 우선 체크하고, 그 체크 결과에 따라, 부팅 방식을 유연하게 결정 함으로써, 펌웨어의 업그레이드가 최적하게 이루어지도록 하는 효과를 얻을 수 있다.
도 2는 일실시예에 따라, 펌웨어를 다운로드 하기 위한 절차 흐름을 나타내는 도이다.
도 2에 도시한 바와 같이, 본 발명의 펌웨어 업그레이드 장치를 포함하는 셋탑박스(210)는, 인터넷이 연결됨에 따라, 펌웨어 서버(200)에 펌웨어 버전을 요청한다(201). 본 단계(201)는 셋탑박스(210)에 의해, 네트워크와의 연결에 따라, 펌웨어 서버(210)로 버전 정보를 질의하는 과정이다.
이러한 요청에 응답하여, 펌웨어 서버(210)는 보유하는 최선의 펌웨어에 대한 펌웨어 버전, 즉 제2 버전값을 셋탑박스(200)로 제공할 수 있다.
이후, 셋탑박스(200)는, 펌웨어 서버(210)로부터 제공된 제2 버전값과, 현재 플래시 메모리 내 안드로이드 파티션에 저장되는 펌웨어의 제1 버전값을 비교하고, 상기 제1 및 제2 버전값이 상이하면, 사용자(130)에게 업그레이드 여부를 확인한다(203). 본 단계(203)는 펌웨어 서버(210)의 펌웨어 버전과, 셋탑박스(200)의 펌웨어 버전과 비교하여, 새로운 펌웨어가 있을 경우 사용자(220)에게 업그레이드 여부를 묻는 과정이다.
사용자(220)로부터 업그레이드 여부 응답으로 'Yes'가 되면(204), 셋탑박스(200)는 최신의 펌웨어를 펌웨어 서버(210)에 요청한다(205). 이에 따라, 펌웨어 서버(210)는 최신의 펌웨어를 셋탑박스(200)로 제공하게 된다(206). 본 단계들(204, 205, 206)은, 사용자(220)가 업그레이드를 수락하면 펌웨어 서버(200)를 통해 셋탑박스(200)에 새로운 펌웨어가 다운로드되는 과정이다.
다운로드를 완료하면, 셋탑박스(200)는 md5를 체크하여 다운로드 과정 중에, 펌웨어에 대한 손상 여부를 체크하고, 다운로드 받은 펌웨어에 문제가 없으면 사용자(220)에게 업그레이드를 위한 재부팅 여부를 묻는다(207).
셋탑박스(200)는 사용자(220)가 재부팅을 수락하면(208), 즉시 재부팅하여 펌웨어에 대한 업그레이드가 이루어지도록 하고, 만약, 재부팅을 수락하지 않을 경우 셋탑박스를 사용하지 않을 때 업그레이드가 이루어진다.
도 3은 본 발명의 펌웨어 업그레이드 장치가 사용하는 플래시 메모리에 대한 대략적인 도면이다.
플래시 메모리(300)는 복수의 파티션으로 구획하며, 상기 복수의 파티션 중, 업그레이드 파티션(330, 제1 파티션)에 업그레이드 부팅 이미지를 저장할 수 있다. 또한, 플래시 메모리(300)은 상기 복수의 파티션 중, 부트로더 파티션(310, 제2 파티션)에 시스템 부팅 이미지를 저장할 수 있다. 또한, 플래시 메모리(300) 내 안드로이드 파티션(320)에는, 보유되는 제1 버전값을 갖는 펌웨어 또는 새로 다운로드되는 제2 버전값을 갖는 펌웨어가 저장될 수 있다.
우선, 부트로더 파티션(310)은 펌웨어 업그레이드 장치가 포함되는 셋탑박스에서 사용할 운영체제를 시동시키기 위한 부팅 프로그램인 시스템 부팅 이미지가 존재하는 파티션이다.
안드로이드 파티션(320)은 안드로이드 운영체제에서 사용하는, 펌웨어를 비롯하여, 커널(Kernel), 데이터 시스템 등을 보관하는 파티션이다.
업그레이드 파티션(330)은 업그레이드에 사용되는 부팅 프로그램인 업그레이드 부팅 이미지가 존재하는 파티션이다.
부트로더 파티션(310)은 펌웨어의 업그레이드 여부를 확인하여 업그레이드가 필요할 경우, 안드로이드 운영체제의 시스템 부팅 이미지로 부팅하지 않고, 업그레이드 파티션(330)에 보관되는 업그레이드 부팅 이미지로 부팅하게 된다.
이후, 펌웨어 업그레이드 장치에서는 업그레이드 프로그램이 실행되어, 펌웨어 서버로부터 새로운 펌웨어를 다운로드 하고, 이를 안드로이드 파티션(320)에 저장 함으로써, 펌웨어에 대해 갱신 처리한다.
펌웨어의 갱신에 있어서, 펌웨어 업그레이드 장치는, 안드로이드 파티션(320)으로 제2 버전값을 갖는 새로운 펌웨어가 저장됨에 따라, 사용자에게 재부팅을 요청하고, 상기 요청에 대해, 상기 사용자로부터 수락 명령이 입력되면, 상기 셋탑박스을 재부팅하면서 상기 제1 버전값을 갖는 펌웨어를 제거하여, 안드로이드 파티션(320)에 상기 제2 버전값을 갖는 펌웨어가 유지되도록 할 수 있다.
만약, 상기 요청에 대해, 선정된 시간격 이내에, 상기 사용자로부터 수락 명령이 입력되지 않으면, 펌웨어 업그레이드 장치는 상기 셋탑박스가 대기 모드로 진입함에 따라, 안드로이드 파티션(320)에서 상기 제1 버전값을 갖는 펌웨어를 제거하여, 안드로이드 파티션(320)에 상기 제2 버전값을 갖는 펌웨어가 유지되도록 할 수 있다.
이하, 본 발명의 실시예에 따른 펌웨어 업그레이드 장치(100)의 작업 흐름을 상세히 설명한다.
도 4는 본 발명의 일실시예에 따른 펌웨어 업그레이드 방법을 구체적으로 도시한 작업 흐름도이다.
본 실시예에 따른 펌웨어 업그레이드 방법은 상술한 펌웨어 업그레이드 장치(100)에 의해 수행될 수 있다.
펌웨어 업그레이드 장치(100)는 네트워크(160)와의 연결에 따라, 펌웨어 서버(150)로 버전 정보를 질의한다(410). 여기서, 펌웨어 서버(150)는 본 발명의 펌웨어 업그레이드 장치(100)가 포함될 수 있는 셋탑박스와 계약 관계를 갖으면서, 펨웨어를 상기 셋탑박스로 주기적으로 배포하는 프로바이더(provider) 서버일 수 있다.
단계(410)는 셋탑박스가 네트워크(160)에 연결되어 온라인 상태가 됨에 따라, 펌웨어 서버(150)로 가장 최근에서 작성된 펌웨어의 제2 버전값에 대해 문의하는 과정이다. 상기 질의는 예컨대 명령 이벤트, SMS 등의 형태일 수 있다.
펌웨어 서버(150)는 새로운 펌웨어가 작성될 때마다 해당 펌웨어에 할당되는 버전값 별로 DB화하여 펌웨어를 관리하고, 펌웨어 업그레이드 장치(100)로부터 상기 질의가 수신 됨에 따라, 가장 최근에 작성된 펌웨어의 제2 버전값을 상기 질의하는 버전 정보로서 펌웨어 업그레이드 장치(100)에 응답할 수 있다.
펌웨어 업그레이드 장치(100)는 상기 질의에 대해 펌웨어 서버(150)로부터 응답되는 제2 버전값과, 보유하는 펌웨어의 제1 버전값을 비교한다(420). 여기서, 제1 버전값은 현재 셋탑박스 내 플래쉬 메모리(140)에 저장되고 있는 펌웨어의 버전값을 지칭하며, 펌웨어를 다운로드하는 시점에서 펌웨어 서버(150)로부터 안내 받을 수 있다. 단계(420)는 셋탑박스에 보유되는 펌웨어의 제1 버전값과, 펌웨어 서버(150)에 최신의 것으로 보유되는 펌웨어의 제2 버전값이 서로 차이가 있는지를 비교하는 역할을 한다.
펌웨어 업그레이드 장치(100)는 상기 비교 결과를 고려하여 부팅 방식을 결정한다. 여기서 부팅 방식은 부팅 이미지를 이용하여, 셋탑박스를, 특정 목적을 수행할 수 있는 동작 상태(operating state)에 도달되게 하는 방식을 의미할 수 있다.
상기 비교 결과, 제1 버전값과 제2 버전값이 서로 상이한 경우(단계 420의 No 방향), 펌웨어 업그레이드 장치(100)는 상기 부팅 방식으로 업그레이드 부팅 이미지에 의한 업그레이드 프로그램의 실행을 결정할 수 있다(430).
상기 제1 및 제2 버전값이 상이하다는 것은, 셋톱박스에 보유되는 펌웨어가 최신의 것이 아니다라는 의미일 수 있다. 이에 따라, 펌웨어 업그레이드 장치(100)는 상기 업그레이드 부팅 이미지를 구동하는 부팅 방식을 채택 함으로써, 펌웨어 서버(150)로부터 최신의 펌웨어를 다운로드 할 수 있는 환경이 조성되도록 한다.
상기 업그레이드 부팅 이미지의 구동에 의해 업그레이드 프로그램이 실행되면, 펌웨어 업그레이드 장치(100)는 상기 결정된 부팅 방식에 따른 제어 처리를 수행할 수 있다. 즉, 펌웨어 업그레이드 장치(100)는 상기 업그레이드 프로그램의 실행에 따라, 펌웨어 서버(150)로부터 상기 제2 버전값을 갖는 펌웨어를 다운로드한다(440).
다른 실시예에서, 상기 비교 결과, 제1 버전값과 제2 버전값이 일치하는 경우(단계 420의 Yes 방향), 펌웨어 업그레이드 장치(100)는 상기 부팅 방식으로 시스템 부팅 이미지에 의한 OS 프로그램의 실행을 결정할 수 있다(450).
상기 제1 및 제2 버전값이 서로 일치한다는 것은, 셋톱박스에 보유되는 펌웨어가 이미 최신의 것이다라는 의미일 수 있다. 이에 따라, 펌웨어 업그레이드 장치(100)는 상기 시스템 부팅 이미지를 구동하는 부팅 방식을 채택 함으로써, 펌웨어 서버(150)로부터 더 이상의 펌웨어 다운로드가 이루어지지 않도록 하는 환경이 조성되도록 한다.
상기 시스템 부팅 이미지의 구동에 의해 OA 프로그램이 실행되면, 펌웨어 업그레이드 장치(100)는 상기 결정된 부팅 방식에 따른 제어 처리를 수행할 수 있다. 즉, 펌웨어 업그레이드 장치(100)는 상기 OS 프로그램의 실행에 따라, 보유되는 제1 버전값을 갖는 펌웨어를 이용하여, 셋톱박스가 통상의 동작 상태(예, 방송 신호 수신, 자가 모니터링 신호 송출 등)가 되도록 한다(460). 이 때, 제1 버전값을 갖는 펌웨어는 그대로 유지될 수 있다.
펌웨어 업그레이드 장치(100) 내 플래시 메모리(140)는 저장 영역을 다수의 영역으로 구획한, 복수의 파티션을 포함할 수 있다. 플래시 메모리(140)는, 상기 복수의 파티션 중에서, 제1 파티션으로 상기 업그레이드 부팅 이미지를 저장하고, 제2 파티션으로 상기 시스템 부팅 이미지를 저장할 수 있다.
또한, 플래시 메모리(140)는 복수의 파티션 중에서, 안드로이드 파티션으로 제1 버전값을 갖는 현재 보유 중의 펌웨어, 또는 펌웨어 서버(150)로부터 다운로드된 제2 버전값을 갖는 펌웨어를 저장할 수 있다. 상기 안드로이드 파티션은, 안드로이드 운영체제에서 사용하는, 상기 펌웨어, 커널, 및 시스템 데이터를 적어도 포함할 수 있다.
일례에서, 상기 제1 버전값과 상기 제2 버전값이 상이하다는 비교 결과이면, 펌웨어 업그레이드 장치(100)는 플래시 메모리(140)의 상기 제1 파티션에서 상기 업그레이드 부팅 이미지를 호출하여 구동 함으로써 상기 업그레이드 프로그램을 실행하고, 다운로드한 상기 제2 버전값을 갖는 펌웨어를, 상기 안드로이드 파티션에 저장하여, 펌웨어를 갱신할 수 있다.
상기 펌웨어 갱신에 있어서, 펌웨어 업그레이드 장치(100)는 상기 안드로이드 파티션으로 상기 제2 버전값을 갖는 펌웨어가 저장됨에 따라, 사용자에게 재부팅을 요청할 수 있다. 상기 요청에 대해, 상기 사용자로부터 수락 명령이 입력되면, 펌웨어 업그레이드 장치(100)는 상기 셋탑박스을 재부팅하면서 상기 제1 버전값을 갖는 펌웨어를 제거하여, 상기 안드로이드 파티션에 상기 제2 버전값을 갖는 펌웨어가 유지되도록 할 수 있다.
또는, 상기 요청에 대해, 선정된 시간격 이내에, 상기 사용자로부터 수락 명령이 입력되지 않으면, 펌웨어 업그레이드 장치(100)는 상기 셋탑박스가 대기 모드로 진입함에 따라, 상기 안드로이드 파티션에서 상기 제1 버전값을 갖는 펌웨어를 제거하여, 상기 안드로이드 파티션에 상기 제2 버전값을 갖는 펌웨어가 저장되도록 할 수 있다. 즉, 펌웨어 업그레이드 장치(100)는 셋탑박스가 동작하지 않는 시간을 택하여, 상기 제1 버전값에서, 상기 제2 버전값으로의 펌웨어 업그레이드 동작을 수행할 수 있다.
또한, 펌웨어 업그레이드 장치(100)는 다운로드한 상기 제2 버전값을 갖는 펌웨어에 대해, 암호화 해시 함수(예, md5)를 체크하여, 상기 제2 버전값을 갖는 펌웨어가 손상되었는지의 손상 여부를 판단하고, 상기 판단 결과, 손상이 없으면, 상기 안드로이드 파티션으로 상기 제2 버전값을 갖는 펌웨어를 저장할 수 있다. 이를 통해, 펌웨어 업그레이드 장치(100)는 다운로드 과정에서 오류가 배제된 정상 상태의 펌웨어 만이, 안드로이드 파티션에 저장되어, 업그레이드 관여되도록 할 수 있다.
다른 일례에서, 상기 제1 버전값과 상기 제2 버전값이 일치한다는 비교 결과이면, 펌웨어 업그레이드 장치(100)는, 플래시 메모리(140)의 상기 제2 파티션에서 상기 시스템 부팅 이미지를 호출하여 구동 함으로써 상기 OS 프로그램을 실행하고, 상기 OS 프로그램의 실행에 연동하여, 상기 안드로이드 파티션으로부터 상기 제1 버전값을 갖는 펌웨어를 리드할 수 있다.
본 발명에 따르면, 별도의 PC 관련 프로그램을 사용하지 않고, 안드로이드 운영체제 하의 셋탑박스에 대한 펌웨어 업그레이드를 수행하는 셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치를 제공할 수 있다.
또한, 본 발명에 의해서는, 업그레이드 서버로부터 펌웨어의 버전을 제공받아 셋탑박스 내 펌웨어의 버전과 비교하여 사용자에 펌웨어 업그레이드 여부를 알리고, 사용자가 업그레이드를 선택할 경우, 최신의 펌웨어를 다운로드 받아, 자체 업그레이드 프로그램을 통해 셋탑박스 내 펌웨어를 업그레이드 할 수 있다.
또한, 본 발명에 따르면, 펌웨어의 업그레이드 필요성을 우선 체크하고, 그 체크 결과에 따라, 부팅 방식을 유연하게 결정 함으로써, 펌웨어의 업그레이드가 최적하게 이루어지도록 하는 효과를 얻을 수 있다.
본 발명의 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. 
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
100 : 펌웨어 업그레이드 장치
110 : 질의부 120 : 비교부
130 : 제어부 140 : 플래시 메모리
150 : 펌웨어 서버

Claims (16)

  1. 플래시 메모리를, 복수의 파티션으로 구획하는 단계;
    상기 복수의 파티션 중, 제1 파티션에 업그레이드 부팅 이미지를 저장하는 단계;
    네트워크와의 연결에 따라, 펌웨어 서버로 버전 정보를 질의하는 단계;
    상기 질의에 대해 상기 펌웨어 서버로부터 응답되는 제2 버전값과, 보유하는 펌웨어의 제1 버전값을 비교하는 단계;
    상기 비교 결과, 상기 제1 버전값과 상기 제2 버전값이 상이한 경우,
    상기 제1 파티션에서 상기 업그레이드 부팅 이미지를 호출하여 구동 함으로써 업그레이드 프로그램을 실행하는 단계;
    상기 업그레이드 프로그램의 실행에 따라, 상기 펌웨어 서버로부터 상기 제2 버전값을 갖는 펌웨어를 다운로드하는 단계; 및
    다운로드한 상기 제2 버전값을 갖는 펌웨어를, 상기 복수의 파티션 중, 안드로이드 파티션에 저장하여, 펌웨어를 갱신하는 단계
    를 포함하는 셋탑박스의 펌웨어 업그레이드 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 펌웨어를 갱신하는 단계는,
    암호화 해시 함수를 체크하여, 상기 제2 버전값을 갖는 펌웨어에 대해 손상 여부를 판단하는 단계; 및
    상기 판단 결과, 손상이 없으면, 상기 안드로이드 파티션으로 상기 제2 버전값을 갖는 펌웨어를 저장하는 단계
    를 포함하는 셋탑박스의 펌웨어 업그레이드 방법.
  5. 제1항에 있어서,
    상기 펌웨어를 갱신하는 단계는,
    상기 안드로이드 파티션으로 상기 제2 버전값을 갖는 펌웨어가 저장됨에 따라, 사용자에게 재부팅을 요청하는 단계; 및
    상기 요청에 대해, 상기 사용자로부터 수락 명령이 입력되면, 상기 셋탑박스을 재부팅하면서 상기 제1 버전값을 갖는 펌웨어를 제거하여, 상기 안드로이드 파티션에 상기 제2 버전값을 갖는 펌웨어가 유지되도록 하는 단계; 또는
    상기 요청에 대해, 선정된 시간격 이내에, 상기 사용자로부터 수락 명령이 입력되지 않으면, 상기 셋탑박스가 대기 모드로 진입함에 따라, 상기 안드로이드 파티션에서 상기 제1 버전값을 갖는 펌웨어를 제거하는 단계
    를 포함하는 셋탑박스의 펌웨어 업그레이드 방법.
  6. 제1항에 있어서,
    상기 안드로이드 파티션은,
    안드로이드 운영체제에서 사용하는, 상기 펌웨어, 커널(Kernel), 및 시스템 데이터를 적어도 포함하는
    셋탑박스의 펌웨어 업그레이드 방법.
  7. 제1항에 있어서,
    상기 비교 결과, 상기 제1 버전값과 상기 제2 버전값이 일치하는 경우,
    시스템 부팅 이미지에 의한 OS 프로그램을 실행하고, 상기 제1 버전값을 갖는 펌웨어를 유지시키는 단계
    를 더 포함하는 셋탑박스의 펌웨어 업그레이드 방법.
  8. 제7항에 있어서,
    상기 복수의 파티션 중, 제2 파티션에 상기 시스템 부팅 이미지를 저장하는 단계
    를 더 포함하고,
    상기 제1 버전값을 갖는 펌웨어를 유지시키는 단계는,
    상기 제2 파티션에서 상기 시스템 부팅 이미지를 호출하여 구동 함으로써 상기 OS 프로그램을 실행하는 단계; 및
    상기 OS 프로그램의 실행에 연동하여, 상기 복수의 파티션 중, 안드로이드 파티션으로부터 상기 제1 버전값을 갖는 펌웨어를 리드하는 단계
    를 포함하는 셋탑박스의 펌웨어 업그레이드 방법.
  9. 구획된 복수의 파티션을 포함하고, 상기 복수의 파티션 중, 제1 파티션에 업그레이드 부팅 이미지를 저장하는 플래시 메모리;
    네트워크와의 연결에 따라, 펌웨어 서버로 버전 정보를 질의하는 질의부;
    상기 질의에 대해 상기 펌웨어 서버로부터 응답되는 제2 버전값과, 보유하는 펌웨어의 제1 버전값을 비교하는 비교부; 및
    상기 비교 결과, 상기 제1 버전값과 상기 제2 버전값이 상이한 경우,
    상기 제1 파티션에서 상기 업그레이드 부팅 이미지를 호출하여 구동 함으로써 업그레이드 프로그램을 실행하고, 상기 업그레이드 프로그램의 실행에 따라, 상기 펌웨어 서버로부터 상기 제2 버전값을 갖는 펌웨어를 다운로드하며, 다운로드한 상기 제2 버전값을 갖는 펌웨어를, 상기 복수의 파티션 중, 안드로이드 파티션에 저장하여, 펌웨어를 갱신하는 제어부
    를 포함하는 셋탑박스의 펌웨어 업그레이드 장치.
  10. 삭제
  11. 삭제
  12. 제9항에 있어서,
    상기 제어부는,
    암호화 해시 함수를 체크하여, 상기 제2 버전값을 갖는 펌웨어에 대해 손상 여부를 판단하고, 상기 판단 결과, 손상이 없으면, 상기 안드로이드 파티션으로 상기 제2 버전값을 갖는 펌웨어를 저장하는
    셋탑박스의 펌웨어 업그레이드 장치.
  13. 제9항에 있어서,
    상기 제어부는,
    상기 안드로이드 파티션으로 상기 제2 버전값을 갖는 펌웨어가 저장됨에 따라, 사용자에게 재부팅을 요청하고,
    상기 요청에 대해, 상기 사용자로부터 수락 명령이 입력되면, 상기 셋탑박스을 재부팅하면서 상기 제1 버전값을 갖는 펌웨어를 제거하여, 상기 안드로이드 파티션에 상기 제2 버전값을 갖는 펌웨어가 유지되도록 하거나, 또는
    상기 요청에 대해, 선정된 시간격 이내에, 상기 사용자로부터 수락 명령이 입력되지 않으면, 상기 셋탑박스가 대기 모드로 진입함에 따라, 상기 안드로이드 파티션에서 상기 제1 버전값을 갖는 펌웨어를 제거하는
    셋탑박스의 펌웨어 업그레이드 장치.
  14. 제9항에 있어서,
    상기 안드로이드 파티션은,
    안드로이드 운영체제에서 사용하는, 상기 펌웨어, 커널, 및 시스템 데이터를 적어도 포함하는
    셋탑박스의 펌웨어 업그레이드 장치.
  15. 제9항에 있어서,
    상기 비교 결과, 상기 제1 버전값과 상기 제2 버전값이 일치하는 경우,
    상기 제어부는,
    시스템 부팅 이미지에 의한 OS 프로그램을 실행하고, 상기 제1 버전값을 갖는 펌웨어를 유지시키는
    셋탑박스의 펌웨어 업그레이드 장치.
  16. 제15항에 있어서,
    상기 플래시 메모리는, 상기 복수의 파티션 중, 제2 파티션에 상기 시스템 부팅 이미지를 저장하고,
    상기 제어부는,
    상기 제2 파티션에서 상기 시스템 부팅 이미지를 호출하여 구동 함으로써 상기 OS 프로그램을 실행하고, 상기 OS 프로그램의 실행에 연동하여, 상기 복수의 파티션 중, 안드로이드 파티션으로부터 상기 제1 버전값을 갖는 펌웨어를 리드하는
    셋탑박스의 펌웨어 업그레이드 장치.
KR1020130060326A 2013-05-28 2013-05-28 셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치 KR101461319B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130060326A KR101461319B1 (ko) 2013-05-28 2013-05-28 셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130060326A KR101461319B1 (ko) 2013-05-28 2013-05-28 셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치

Publications (1)

Publication Number Publication Date
KR101461319B1 true KR101461319B1 (ko) 2014-11-12

Family

ID=52287820

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130060326A KR101461319B1 (ko) 2013-05-28 2013-05-28 셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치

Country Status (1)

Country Link
KR (1) KR101461319B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101795258B1 (ko) * 2016-05-23 2017-11-07 주식회사 씨오티커넥티드 클라우드 네트워크를 통한 스냅샷 부트
CN108694054A (zh) * 2017-04-10 2018-10-23 南昌欧菲生物识别技术有限公司 微处理器固件的升级方法及智能终端
US10990378B2 (en) 2018-12-20 2021-04-27 SK Hynix Inc. Storage device and operating method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040052305A (ko) * 2002-12-16 2004-06-23 한국전자통신연구원 내장형 시스템을 위한 운영체제 로딩 시스템 및 방법
KR20090047846A (ko) * 2007-11-08 2009-05-13 브로드밴드미디어주식회사 디지털 방송 수신기의 소프트웨어 업그레이드 방법
JP2010198332A (ja) * 2009-02-25 2010-09-09 Canon Inc ファームウェア更新装置、ファームウェア更新システム、ファームウェア更新方法、およびファームウェア更新プログラム
KR20110058449A (ko) * 2009-11-26 2011-06-01 삼성전자주식회사 디지털 방송 시스템에서 셋탑박스의 펌웨어 갱신 방법 및 이를 위한 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040052305A (ko) * 2002-12-16 2004-06-23 한국전자통신연구원 내장형 시스템을 위한 운영체제 로딩 시스템 및 방법
KR20090047846A (ko) * 2007-11-08 2009-05-13 브로드밴드미디어주식회사 디지털 방송 수신기의 소프트웨어 업그레이드 방법
JP2010198332A (ja) * 2009-02-25 2010-09-09 Canon Inc ファームウェア更新装置、ファームウェア更新システム、ファームウェア更新方法、およびファームウェア更新プログラム
KR20110058449A (ko) * 2009-11-26 2011-06-01 삼성전자주식회사 디지털 방송 시스템에서 셋탑박스의 펌웨어 갱신 방법 및 이를 위한 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101795258B1 (ko) * 2016-05-23 2017-11-07 주식회사 씨오티커넥티드 클라우드 네트워크를 통한 스냅샷 부트
CN108694054A (zh) * 2017-04-10 2018-10-23 南昌欧菲生物识别技术有限公司 微处理器固件的升级方法及智能终端
US10990378B2 (en) 2018-12-20 2021-04-27 SK Hynix Inc. Storage device and operating method thereof

Similar Documents

Publication Publication Date Title
US9110757B2 (en) Techniques for performing virtual machine software upgrades using virtual disk swapping
US9639347B2 (en) Updating a firmware package
US8443361B2 (en) Systems and methods for tracking a history of changes associated with software packages in a computing system
US8495351B2 (en) Preparing and preserving a system configuration during a hot upgrade
US8949205B2 (en) Information processing apparatus for processing application software and a patch file
US20210240489A1 (en) Firmware update patch
US11327738B2 (en) Software and firmware updates in a combined single pane of glass interface
US11334341B2 (en) Desired state model for managing lifecycle of virtualization software
US11269609B2 (en) Desired state model for managing lifecycle of virtualization software
EP2805233B1 (en) Installation engine and package format for parallelizable, reliable installations
US20110296395A1 (en) Systems and methods for generating client qualification to execute package update manager
KR101461319B1 (ko) 셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치
JP2012146241A (ja) ソフトウェアアップデート方法、ソフトウェアアップデート装置、及びソフトウェアアップデートプログラム
US8364598B2 (en) Use of software update policies
US20230342181A1 (en) Validation of combined software/firmware updates
US20170199733A1 (en) Method for terminal to update operating system, terminal and system
KR101985524B1 (ko) 주문형 리소스
KR100558394B1 (ko) 전자장치 및 그 프로그램 업데이트 방법
WO2016127587A1 (zh) 一种实现软件版本升级的方法和装置
JP2003271387A (ja) ダウンロード方法、ダウンロードシステム
CN116028100B (zh) 软件版本升级方法和电子设备
US11435997B2 (en) Desired state model for managing lifecycle of virtualization software installed in heterogeneous cluster of hosts
CN117873538A (zh) Ota升级方法、装置、头戴显示设备和可读存储介质
CN110704086A (zh) 一种ota升级方法、设备及存储介质
CN111611003A (zh) 离线升级方法、装置、电子设备和计算机可读存储介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee