KR101845290B1 - 장치 관리 명령을 통한 펌웨어 갱신 방법 및 장치 - Google Patents

장치 관리 명령을 통한 펌웨어 갱신 방법 및 장치 Download PDF

Info

Publication number
KR101845290B1
KR101845290B1 KR1020110141446A KR20110141446A KR101845290B1 KR 101845290 B1 KR101845290 B1 KR 101845290B1 KR 1020110141446 A KR1020110141446 A KR 1020110141446A KR 20110141446 A KR20110141446 A KR 20110141446A KR 101845290 B1 KR101845290 B1 KR 101845290B1
Authority
KR
South Korea
Prior art keywords
storage area
management
operating system
electronic device
update data
Prior art date
Application number
KR1020110141446A
Other languages
English (en)
Other versions
KR20130022360A (ko
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 KR1020110141446A priority Critical patent/KR101845290B1/ko
Priority to CN201280009296.2A priority patent/CN103380415B/zh
Priority to US13/723,292 priority patent/US9198039B2/en
Priority to PCT/KR2012/011266 priority patent/WO2013095040A1/en
Publication of KR20130022360A publication Critical patent/KR20130022360A/ko
Application granted granted Critical
Publication of KR101845290B1 publication Critical patent/KR101845290B1/ko

Links

Images

Classifications

    • 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
    • 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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • 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/22Microcontrol or microprogram arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication

Abstract

본 명세서에 개시된 전자 장치는 활성 상태의 제 1 저장 영역 및 비활성 상태의 제 2 저장 영역을 포함하는 메모리 및 상기 제 1 저장 영역에 저장된 제 1 운영체제를 실행하고, 상기 제 1 운영체제 상에서 펌웨어 갱신을 위한 관리 명령을 수행하는 제 1 제어부를 포함하되, 상기 제 1 제어부는 관리 명령을 관리 서버로부터 수신하고, 상기 관리 명령에 따라 갱신 데이터를 수신하고, 상기 갱신 데이터를 상기 제 2 저장 영역에 저장하고, 상기 제 2 저장 영역을 활성화하고, 상기 제 1 저장 영역을 비활성화하고, 상기 갱신 데이터 내의 갱신된 제 1 운영체제를 실행하는 것을 특징으로 하는 전자 장치이다.

Description

장치 관리 명령을 통한 펌웨어 갱신 방법 및 장치{METHOD AND DEVICE FOR UPDATING FIRMWARE BASED ON A DEVICE MANAGEMENT COMMAND}
본 명세서는 펌웨어를 갱신하는 방법 및 장치에 관한 것으로, 보다 구체적으로 장치 관리 명령을 통하여 펌웨어를 갱신하는 방법 및 장치에 관한 것이다.
장치 관리는 전자 장치에 대하여 사용자 맞춤형 설정, 원격 관리, 갱신 등의 기능을 제공하는 기술을 말한다. 장치 관리 기술은 제품의 제조 과정, 구입 후 초기 설정, 오류 및 수정 사항에 대한 일괄 갱신, 제품에 대한 원격 관리 등의 목적으로 이용될 수 있다.
이동 통신 분야의 응용 프로그램 및 서비스 분야에 대한 표준화 기술로서 OMA(Open Mobile Alliance; 이하 OMA)에서 제정한 기술들이 사용되고 있다. OMA는 모바일 데이터 서비스의 상호 운용성을 촉진시키기 위하여 모바일 웹, 웹 브라우징, DRM 솔루션, IP 멀티미디어, 장치 관리, 모바일 방송, 모바일 관련 문서 표준화 등에 관하여 다룬다.
특히, OMA에서의 장치 관리를 위한 기술에 대한 표준화는 펌웨어(firmware)의 갱신(update), 소프트웨어 다운로드, 신규 서비스, 에러(error)의 수정 등과 같은 과정이 무선으로 수행될 수 있도록 한다. 이와 같은, 장치 관리 기능을 수행하는 동작이 구현된 프로그램 및 기타 장치 제어를 위한 운영 체제 등이 포함된 펌웨어를 갱신하는 구체적인 절차가 규정될 필요가 있다.
본 명세서는 장치 관리 메시지에 의하여 펌웨어를 갱신하는 방법을 제시하기 위한 것이다. 또한, 본 명세서는 비활성 상태의 영역을 이용하여 안정적으로 펌웨어를 수신하여 갱신하는 방법을 제시하기 위함이다. 또한, 본 명세서는 OMA 장치 관리 표준에 따라 가전 제품을 위하여 펌웨어를 갱신하는 방법을 제시하기 위함이다.
일 실시 형태로서 전자 장치가 개시된다. 상기 전자 장치는 활성 상태의 제 1 저장 영역 및 비활성 상태의 제 2 저장 영역을 포함하는 메모리, 및 상기 제 1 저장 영역에 저장된 제 1 운영체제를 실행하고, 상기 제 1 운영체제 상에서 펌웨어 갱신을 위한 관리 명령을 수행하는 제 1 제어부를 포함하도록 구성될 수 있다.
상기 일 실시 형태 또는 그 밖의 실시 형태는 다음 특징들 중 어느 하나를 포함할 수 있다.
상기 제 1 제어부는 관리 명령을 관리 서버로부터 수신하고, 상기 관리 명령에 따라 갱신 데이터를 수신하고, 상기 갱신 데이터를 상기 제 2 저장 영역에 저장하고, 상기 제 2 저장 영역을 활성화하고, 상기 제 1 저장 영역을 비활성화하고, 상기 갱신 데이터 내의 갱신된 제 1 운영체제를 실행할 수 있다. 또한, 상기 갱신 데이터는 상기 갱신된 제 1 운영체제를 포함하는 펌웨어 이미지 형태일 수 있다. 상기 갱신 데이터는 상기 제 1 운영체제 중 갱신된 부분에 대한 데이터 또는 갱신된 전체 제 1 운영체제를 포함할 수 있다. 또한, 상기 관리 명령은 OMA (Open Mobile Alliance) 장치 관리 표준을 따르는 제어 메시지의 교환에 따라 수신될 수 있다. 또한, 상기 관리 명령은 다운로드 및 갱신을 수행할 것을 지시할 수 있다.
또한, 상기 전자 장치는 가전 기능을 제어하기 위한 제 2 운영체제를 실행하는 제 2 제어부를 더 포함하되, 상기 메모리는 상기 제 2 운영체제를 저장하는 제 3 영역을 더 포함하도록 형성되고, 상기 제 1 제어부는 상기 갱신 데이터 내의 갱신된 제 2 운영체제를 상기 제 3 저장 영역에 저장할 수 있다. 또한, 상기 제 1 제어부는 UART (Universal Asynchronous Receiver/Transmitter)를 통하여 상기 갱신된 제 2 운영체제를 전송함으로써 상기 제 3 저장 영역에 저장할 수 있다. 또한, 상기 제 1 제어부 및 제 2 제어부는 별도의 하드웨어를 이용하여 구현될 수 있다. 또한, 상기 제 1 제어부는 상기 전자장치의 디스플레이 모듈과 연결되도록 구현될 수 있다.
다른 실시 형태로서 펌웨어 갱신 방법이 개시된다. 상기 펌웨어 갱신 방법은 관리 서버로부터 장치 관리 세션을 통해 갱신 데이터의 주소 정보를 수신하는 단계, 상기 주소 정보를 기초로 상기 갱신 데이터를 수신하는 단계, 상기 갱신 데이터를 비활성 상태의 저장 영역에 저장하는 단계, 상기 저장 영역을 활성 상태로 변경하는 단계, 및 상기 활성 상태로 변경된 저장 영역 내의 갱신 데이터에 포함된 갱신된 제 1 운영체제가 실행되는 단계를 포함하여 이루어질 수 있다.
상기 다른 실시 형태 또는 그 밖의 실시 형태는 다음 특징들 중 어느 하나를 포함할 수 있다.
상기 펌웨어 갱신 방법은 상기 저장 영역 내의 상기 갱신 데이터에 포함된 갱신된 제 2 운영체제를 MCU(Micro-Controller Unit)에 의하여 접근이 가능한 다른 저장 영역에 저장하는 단계를 더 포함할 수 있다.
또한, 상기 갱신 데이터의 주소 정보는 OMA (Open Mobile Alliance) 장치 관리 표준을 따르는 메시지 교환 방식에 따라 수신될 수 있다.
본 명세서에 개시된 실시 예들을 따르는 전자 장치는 장치 관리 메시지에 의하여 펌웨어 갱신을 수행한다.
본 명세서에 개시된 실시 예들을 따르는 전자 장치는 현재 실행되는 운영체제가 저장된 영역과 갱신되는 운영체제가 저장되는 영역이 구분되어 포함된 메모리를 포함하도록 형성되어, 펌웨어 갱신 과정에서 오류가 발생해도 현재 실행 중인 운영체제에 적은 영향을 미치게 된다.
본 명세서에 개시된 실시 예를 따르는 전자 장치는 복수의 운영체제가 각각 서로 다른 환경을 제공하고 있는 경우라도 장치 관리 메시지에 의하여 펌웨어 갱신이 이루어질 수 있다.
도 1은 본 명세서에 개시된 기술이 적용될 수 있는 장치 관리 시스템을 도시한다.
도 2는 본 명세서에 개시된 기술이 적용될 수 있는 전자 장치의 일 예를 도시한다.
도 3은 OMA 장치 관리 표준을 따르는 전자 장치와 관리 서버가 장치 관리를 위한 메시지를 교환하는 과정들을 도시한다.
도 4는 관리 서버로부터 수신된 펌웨어 갱신 명령에 따라 펌웨어 갱신이 이루어지는 방법을 나타내는 개략적인 흐름도이다.
도 5, 도 6, 및 도 7은 펌웨어 갱신 명령에 따라 전자 장치가 펌웨어를 갱신하는 방법을 나타낸 흐름도이다.
도 8 및 도 9는 참조하여 서비스 에이전트가 상기 펌웨어 갱신 명령을 처리하는 과정을 나타낸다.
도 10은 펌웨어 갱신 명령에 따라 전자 장치가 펌웨어를 갱신하는 방법을 나타낸 흐름도이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것 일뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.
이하, 단말이라는 용어가 사용되나, 상기 단말은 UE(User Equipment), ME(Mobile Equipment), MS(Mobile Station), UT(User Terminal), SS(Subscriber Station), MSS(Mobile Subscriber Station), 무선기기(Wireless Device), 휴대기기(Handheld Device), AT(Access Terminal)로 불릴 수 있다.
이하, 도 1 및 도 2를 참조하여 본 명세서에 개시된 실시 예들을 따르는 장치 관리 시스템 내의 엔티티들에 대하여 설명된다. 도 1은 본 명세서에 개시된 기술이 적용될 수 있는 장치 관리 시스템을 도시한다. 도 2는 본 명세서에 개시된 기술이 적용될 수 있는 전자 장치의 일 예를 도시한다.
도 1을 참조하면, 상기 장치 관리 시스템은 전자 장치(100) 및 관리 서버(200)가 포함되도록 구성될 수 있다.
상기 전자 장치(100)는 장치 관리의 대상으로서, 각종 가전기기, 통신기기 등에 해당한다. 상기 전자 장치(100)는 상기 관리 서버(200)로부터 요청된 관리 명령을 수행할 수 있다. 상기 전자 장치(100)는 가전 장치(Home Appliance)일 수 있다. 상기 전자 장치는 가전 기능의 하드웨어에 해당하는 가전 모듈(130)을 포함하고, 상기 가전 모듈(130)을 다양한 방법으로 활용하기 위한 응용 프로그램들을 구비한 지능형 가전 장치일 수 있다.
상기 관리 서버(200)는 상기 전자 장치(100)에 대한 관리 서비스를 실행하는 장치이다. 특히, 상기 관리 서버(200)는 상기 전자 장치(100)에게 관리 명령의 수행을 요청하고, 상기 관리 명령의 수행 결과를 상기 전자 장치(100)로부터 수신하여 사용자에게 제공하기 위한 모듈들을 포함하도록 구성될 수 있다. 상기 전자 장치(100) 및 상기 관리 서버(200)의 구체적인 구성에 대하여는 도 2를 참조하여 구체적으로 후술된다.
상기 장치 관리 시스템은 관리 포털(300)을 더 포함하도록 구성될 수 있다. 상기 관리 포털(300)은 상기 전자 장치(100)의 사용자의 가입 및 지원 서비스를 제공하는 서버이다. 상기 관리 포털(300)은 상기 전자 장치(100)의 사용자를 관리하는 기능, 상기 전자 장치(100)의 제품 인증을 수행하는 기능을 수행하도록 구성될 수 있다. 상기 관리 포털(300)은 상기 전자 장치(100)의 제조사 또는 상기 전자 장치(100)의 판매자에 의하여 운영되는 장치 또는 서비스 시스템일 수 있다.
한편, 상기 장치 관리 시스템은 연산 장치(400)를 더 포함하도록 구성될 수 있다. 상기 연산 장치(400)는 상기 관리 포털(300)이 제공하는 서비스에 접속하기 위하여 사용되는 장치이다. 상기 연산 장치(400)는, 예컨대, 개인용 컴퓨터 등과 같은 네트워크 기능 및 사용자 인터페이스를 구비한 장치일 수 있다. 상기 연산 장치(400)는 상기 전자 장치(100)에 대한 정보 또는 사용자에 대한 정보를 관리하기 위하여 사용될 수 있다.
한편, 상기 장치 관리 시스템은 단말기(500)를 더 포함하도록 구성될 수 있다. 상기 단말기(500)는 상기 관리 서버(200)가 제공하는 상기 전자 장치(100)에 대한 관리 서비스에 접속하기 위해 사용되는 장치이다. 상기 단말기(500)는 상기 관리 서버(200)에서 제공되는 API(Application Programming Interface) 모듈을 통하여 상기 관리 서비스를 이용할 수 있다. 본 명세서에서 설명되는 단말기는 관리 서버에 접속하여 DM 클라이언트를 포함하는 전자 장치에 대한 관리 서비스를 이용할 수 있는 임의의 전자 기기이며, 예컨대, 휴대폰, 셀룰러폰, 스마트 폰(smart phone), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿(tablet device), 컴퓨터(computer) 또는 멀티미디어 기기 등을 포괄하는 의미로 해석되어야 한다.
도 2를 참조하면, 상기 전자 장치(100)는 통신부(Communication Unit)(110), 인터페이스부(Interface Unit)(120), 메모리(Memory)(140) 및 제어부(Processing Unit)(180)를 포함하도록 구성될 수 있다.
상기 통신부(110)는 상기 관리 서버(200)와 관리 명령 수행을 위한 제어 메시지, 상기 관리 명령 수행에 필요한 데이터, 상기 관리 명령 수행의 결과 등을 송수신하기 위한 통신 모듈이다. 상기 통신부(110)는 상기 관리 서버(200)와 통신을 수행하기 위한 무선 통신 모듈(111) 또는 유선 통신 모듈(112)을 포함하도록 구성될 수 있다. 특히, 상기 무선 통신 모듈(111)은 근거리 내에 있는 장치와 통신을 위한 모듈로서, 예컨대, 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee, Wireless LAN (Bluetooth, 802.11n 등등 프로토콜)등의 근거리 통신 기술을 지원하는 모듈일 수 있다.
상기 인터페이스부(120)는 상기 전자 장치(100) 내의 가전 모듈(130)과 연결되는 통로 역할을 수행한다. 상기 인터페이스부(120)는 상기 가전 모듈(130)을 위하여 관리 명령에 따른 제어 신호 및 상태 정보가 송수신되도록 동작한다. 상기 인터페이스부(120)는 상기 가전 모듈(130)과 DM 클라이언트(171) 또는 DM 데몬(172) 사이의 관리 명령을 수행하기 위하여 필요한 라이브러리 형태로 구현될 수 있다.
상기 인터페이스부(120)를 통하여 연결되는 상기 가전 모듈(130)은, 예컨대, 세탁 기능, 조리 기능, 청소 기능 또는 저장 기능을 수행하는 하드웨어일 수 있다. 구체적으로, 상기 제어부(180)는 상기 메모리(140)에 저장된 응용 프로그램(160)에 포함된 제어 방법에 따라 상기 인터페이스부(120)를 통하여 연결된 상기 가전 모듈(130)을 제어할 수 있다.
상기 메모리(140)에는 상기 제어부(180)의 동작을 위한 프로그램이 저장될 수 있고, 입/출력되는 데이터들이 임시 저장될 수도 있다.
또한, 상기 메모리(140)에는 다양한 소프트웨어 컴포넌트들이 저장될 수 있다. 구체적으로, 상기 메모리(140)에는 운영 체제(Operating System; OS)(150), 응용 프로그램(Applications)(160) 및 관리 플랫폼(Management Platform)(170)이 저장될 수 있다. 또한, 상기 메모리(140)에는 상기 통신부(110)과 함께 동작하는 모듈, 상기 인터페이스부(120)와 함께 동작하는 모듈을 포함하는 소프트웨어 컴포넌트들이 저장될 수 있다.
상기 운영 체제(150)(예를 들어, LINUX, UNIX, OS X, WINDOWS, Chrome, Symbian, WinCE, Windows Mobile, iOS, Android, Bada, VxWorks, pSOS 또는 기타 임베디드 운영 체제)는 메모리 관리, 전력 관리 등과 같이 시스템 작업(tasks)들을 제어하기 위한 다양한 소프트웨어 컴포넌트들 및/또는 드라이버들을 포함할 수 있다.
한편, 상기 전자 장치(100)의 상기 운영 체제(150)는 복수의 운영 체제들이 협력하여 동작하도록 구성될 수 있다. 즉, 상기 전자 장치(100)는 수행되는 작업의 종류, 실행되는 환경 내의 가용 자원의 양 등에 따라 서로 다른 운영 체제가 실행되도록 구성될 수 있다. 또한, 상기 제어부(180)는 복수의 컨트롤러들이 포함되도록 구현될 수 있으며, 이 경우 상기 복수의 운영 체제는 각각 별도의 컨트롤러의 동작을 위한 운영 체제로서 동작할 수 있다.
상기 운영 체제(150)는 제 1 OS 및 제 2 OS 로 구분되도록 구성된다고 가정하면, 상기 제 1 OS는, 예컨대, 상기 전자제품(100)의 가전(Home Appliance) 기능을 수행하는 하드웨어의 동작 환경을 제공하는 운영 체제이고, 상기 제 2 OS는, 예컨대, 상기 전자제품(100)의 사용자 인터페이스(User Interface) 또는 상기 통신부(110)의 동작을 지원하는 기능을 수행하는 등의 일반적인 응용 프로그램의 실행을 위한 환경을 제공하는 범용 운영 체제일 수 있다. 예컨대, 상기 제 1 OS는 MCU(Micro Controller Unit) 상에서 실행되는 실시간 운영 체제(Real-time OS)와 같이 자원이 적은 환경을 제공하는 운영 체제이고, 상기 제 2 OS는 임베디드 운영 체제 중에서 다양한 응용 프로그램들이 실행될 수 있는 범용 운영 체제 일 수 있다.
상기 메모리(140)는 복수의 운영체제를 다른 영역에 저장하도록 구성될 수 있다. 예를 들어, 상기 메모리(140)는 상기 제 1 OS를 저장하기 위한 제 1 영역 및 상기 제 2 OS를 저장하기 위한 제 2 영역으로 구분되도록 구성될 수있다. 상기 제 1 영역 및 상기 제 2 영역은 물리적으로 다른 하드웨어를 이용하여 구분되거나, 논리적으로 다르게 구획된 파티션과 같은 형태로 구분될 수 있다.
또한, 상기 메모리(140)가 복수의 영역으로 구분된 경우 각 영역은 활성화 되거나 또는 비활성화 될 수 있다. 상기 메모리(140) 내의 활성 상태에 있는 영역에는 현재 사용되는 응용 프로그램 또는 운영 체제를 저장할 수 있고, 비활성 상태에 있는 영역에는 현재 사용되지 아니하는 응용 프로그램 또는 운영 체제 등이 저장되며, 특히 갱신될 응용 프로그램 또는 운영 체제가 저장될 수 있다.
한편, 상기 운영 체제(150)는 펌웨어 갱신(firmware update) 과정을 통하여 변경될 수 있다. 상기 펌웨어 갱신 과정은 상기 단말기(500)로부터 상기 DM 서버를 통해 상기 DM 클라이언트(171)로 전송된 관리 명령에 의하여 수행될 수 있다. 상기 펌웨어 갱신을 위한 상기 관리 명령은 업그레이드 기능을 수행할 것을 요청하는 명령일 수 있다.
상기 응용 프로그램(160)은 상기 운영 체제(150) 상에서 실행되는 프로그램을 지칭한다.
상기 응용 프로그램(160)은 상기 전자 장치(100)에 탑재된 가전 모듈(130)의 고유 기능에 대한 프로그램을 포함하도록 구성될 수 있다. 구체적으로, 상기 제어부(180)는 상기 응용 프로그램(160)을 따라 상기 인터페이스부(120)와 연결된 상기 가전 모듈(130)을 제어할 수 있다.
예를 들어, 상기 전자 장치(100)가 세탁 기능의 하드웨어가 탑재되도록 구현된 경우, 상기 인터페이스부(120)를 통하여 세탁 드럼 제어 유닛, 세탁수 공급 유닛, 센서 유닛, 세제 조절 유닛, 진동 조절 유닛 또는 수평 조절 유닛과 같은 상기 세탁 모듈을 관리하기 위한 제어 신호 및 상태 수집 신호가 송수신된다. 이 경우, 세탁 모듈을 관리하기 위한 제어 신호 등은 의류의 재질, 옷감 등과 같은 세탁 대상물의 정보에 따라 세탁, 헹굼, 탈수의 방법, 순서, 시간, 회수 등을 지정하는 세탁 코스에 따른 세탁 방법 등을 지시하는 상기 응용 프로그램(160)에 따라 동작하는 것일 수 있다.
다른 예를 들어, 상기 전자 장치(100)가 조리 기능의 하드웨어가 탑재되도록 구현된 경우, 상기 인터페이스부(120)를 통하여 조리 유닛, 전원/연료 제어 유닛, 조명 유닛, 공조 유닛 또는 센서 유닛과 같은 상기 조리 모듈을 관리하기 위한 제어 신호 및 상태 수집 신호가 송수신된다. 이 경우, 조리 모듈을 관리하기 위한 제어 신호 등은 운전 모드, 조리 코스 또는 레시피에 따른 조리법 등을 지시하는 상기 응용 프로그램(160)에 따라 동작하는 것일 수 있다.
또 다른 예를 들어, 상기 전자 장치(100)가 청소 기능의 하드웨어가 탑재되도록 구현된 경우, 상기 인터페이스부(120)를 통하여 구동 유닛, 청소 유닛, 장애물 검출 유닛, 위치 인식 유닛 또는 센서 유닛과 같은 상기 청소 모듈을 관리하기 위한 제어 신호 및 상태 수집 신호가 송수신된다. 이 경우, 청소 모듈을 관리하기 위한 제어 신호 등은 청소 방법을 지시하는 상기 응용 프로그램(160)에 따라 동작하는 것일 수 있다.
또 다른 예를 들어, 상기 전자 장치(100)가 저장 기능의 하드웨어가 탑재되도록 구현된 경우, 상기 인터페이스(120)를 통하여 냉각 유닛, 온도 제어 유닛, 센서 유닛 또는 전력 제어부와 같은 상기 저장 모듈을 관리하기 위한 제어 신호 및 상태 수집 신호가 송수신된다. 이 경우, 저장 모듈을 관리하기 위한 제어 신호 등은 저장 모드, 숙성모드 또는 보관 모드에 따른 저장 방법 등을 지시하는 상기 응용 프로그램(160)에 따라 동작하는 것일 수 있다.
한편, 상기 응용 프로그램(160)은 소프트웨어 갱신 과정을 통해 변경될 수 있다. 상기 소프트웨어 갱신 과정은 상기 단말기(500)로부터 상기 DM 서버를 통해 상기 DM 클라이언트(171)로 전송된 관리 명령에 의하여 수행될 수 있으며, 상기 소프트웨어 갱신을 위한 상기 관리 명령은 업그레이드 기능을 수행할 것을 요청하는 명령일 수 있다.
상기 관리 플랫폼(170)은 상기 운영 체제(150) 상에서 실행되는 관리 프로그램을 나타낸다.
상기 관리 플랫폼(170)은 DM 클라이언트(171)를 포함하도록 구성될 수 있다. 상기 DM 클라이언트(171)는 장치 관리 서버(Device Management Server; 이하 'DM 서버')와 상기 전자 장치(100) 관리를 위한 관리 메시지를 송수신한다.
상기 DM 클라이언트(171)가 수행하는 관리 기능들은 상기 전자 장치(100)에 탑재된 가전 모듈(130)에 대한 관리 기능으로서, 예컨대, 모니터링, 진단, 업그레이드, 원격 제어 등을 포함한다.
상기 모니터링 기능은 상기 가전 모듈(130)의 상태를 감시하는 기능이다. 상기 DM 클라이언트(171)는 상기 모니터링 기능을 통하여 상기 가전 모듈(130)에서 발생하는 이벤트 또는 로그(log) 데이터를 수집하도록 구성된다. 예컨대, 상기 전자 장치(100)에 세탁 기능의 하드웨어가 탑재된 경우, 상기 DM 클라이언트(171)는 상기 세탁 기능의 하드웨어에 대하여 동작 상태, 남은 시간, 초기 설정 시간, 세탁 코스 번호, 헹굼 레벨, 탈수 RPM, 온도 또는 예약 세탁 시간을 포함하는 항목에 대한 이벤트 또는 로그 데이터를 수집할 수 있다.
또한, 상기 진단 기능은 상기 가전 모듈(130)의 상태를 진단하는 기능이다. 상기 DM 클라이언트(171)는 상기 진단 기능을 통하여 상기 가전 모듈(130)에 발생한 오류의 검출 또는 진단 결과를 에이전트(agent)를 통해 획득할 수 있다.
상기 업그레이드 기능은 상기 전자 장치(100)의 펌웨어, 서비스 또는 응용 프로그램을 갱신하는 기능이다. 상기 DM 클라이언트(171)는 상기 업그레이드 기능을 통하여 상기 메모리(140)에 저장된 상기 운영 체제(150), 상기 응용 프로그램(160) 또는 상기 관리 플랫폼(170)을 갱신할 수 있다. 그 밖에, 상기 DM 클라이언트(171)는 상기 업그레이드 기능을 통하여 상기 통신부(110)과 함께 동작하는 모듈, 상기 인터페이스부(120)와 함께 동작하는 모듈을 포함하는 소프트웨어 컴포넌트들을 갱신할 수 있다.
상기 원격 제어 기능은 상기 전자 장치(100)를 원격지에서 제어하는 기능이다. 상기 DM 클라이언트(171)는 상기 원격 제어 기능을 통하여 상기 가전 모듈(130)의 동작을 제어할 수 있다. 예컨대, 상기 전자 장치(100)에 저장 기능의 하드웨어가 탑재된 경우, 상기 DM 클라이언트(171)는 상기 저장 기능의 하드웨어에 대하여 냉장실, 냉동실 등의 온도 제어를 수행하거나, 특급 냉동 등의 기능을 수행하도록 지시할 수 있다.
또한, 상기 관리 플랫폼(170)은 장치 관리 데몬(Device Management Daemon; 이하 'DM 데몬')(172)을 포함하도록 구성될 수 있다. 상기 DM 데몬(172)은 상기 관리 서버(200)의 상기 통지 모듈로부터 전송되는 통지 메시지를 상기 DM 클라이언트(171)를 위하여 수신할 수 있다. 또한, 상기 DM 데몬(172)은 상기 DM 클라이언트(171)의 예외 사항을 처리하는 기능을 수행할 수 있다.
또한, 상기 관리 플랫폼(170)은 서비스 에이전트(Service Agent)(173)를 포함하도록 구성될 수 있다. 상기 서비스 에이전트(173)는 상기 DM 클라이언트(171)가 관리 명령에 따라 상기 전자 장치(100) 내의 하드웨어를 제어하거나 또는 상기 제어부(180)가 상기 응용 프로그램을 실행하여 상기 하드웨어를 제어하기 위하여 사용되는 것이다.
한편, 상기 메모리(140)는 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크, 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 xD 메모리 등) 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 상기 메모리(140)는 상기 통신부(110)를 통해 연결되는 네트워크 스토리지(network storage) 또는 클라우드 서비스(cloud service) 따위에 의하여 제공되는 저장 기능에 의한 저장 영역 형태일 수 있다.
상기 제어부(180)는 본 명세서에 실시 예로서 개시된 방법들을 수행하도록 상기 전자 장치(100)의 구성 요소들을 제어한다. 즉, 상기 제어부(180)는 상기 통신부(110), 상기 인터페이스부(120) 및 상기 메모리(140)를 제어한다.
상기 제어부(180)는 상기 메모리(140)에 저장된 소프트웨어 컴포넌트들을 실행하도록 구성될 수 있다. 상기 제어부(180)는 상기 응용 프로그램(160)을 따라 상기 인터페이스부(120)에 연결된 상기 가전 모듈(130)을 제어할 수 있다.
한편, 상기 제어부(180)은 복수의 컨트롤러로 구분되어 구현될 수 있다. 예를 들어, 상기 제어부(180)는, 복수의 운영 체제가 실행되는 경우, 각 운영 체제를 실행하는 별도의 컨트롤러를 구비한 형태로 구현될 수 있다. 또한, 상기 제어부(180)는 기능에 따라 가전 모듈을 제어하기 위한 MCU (Micro Controller Unit) 및 범용 운영 체제를 실행함으로써 다양한 제어 동작을 수행하기 위한 컨트롤러로 구분되어 구현될 수 있다.
한편, 상기 제어부(180)가 복수의 컨트롤러로 구분되어 구현된 경우 별도의 보드에 구현되는 MCU와 달리, 범용 운영 체제를 실행하는 컨트롤러는 상기 전자 장치(100)의 디스플레이 모듈 등에 연결되도록 구현될 수 있다.
상기 제어부(180)는 본 명세서에 개시된 실시 예들에 따라 상기 관리 서버(200)로부터 수신한 관리 명령을 수행하기 위하여 상기 응용 프로그램(160)을 실행하거나 갱신할 수 있다.
도 2를 참조하면, 상기 관리 서버(200)는 통신부(210), 메모리(240) 및 제어부(280)를 포함하도록 구성될 수 있다.
상기 통신부(210)는 상기 전자 장치(100) 및 상기 단말기(500)와 통신을 수행할 수 있다.
상기 메모리(240)는 상기 제어부(280)의 동작을 위한 프로그램이 저장될 수 있고, 입/출력되는 데이터들이 임시 저장될 수도 있다. 특히, 상기 메모리(240)에는 상기 단말기(500)로부터 수신한 관리 명령에 대한 수행 요청을 상기 전자 장치(100)로 전달하고, 상기 전자 장치(100)로부터 상기 관리 명령의 수행 결과를 수신하기 위한 모듈들을 저장할 수 있다. 구체적으로, 상기 메모리(240)는 API(Application Programming Interface) 모듈(241), 연결 모듈(242), 다운로드 서버 모듈(243), 장치 관리 서버(Device Management Server; 이하 'DM 서버') 모듈(244) 및 통지(Notification) 모듈(245) 중 하나 이상을 포함하도록 구성될 수 있다.
먼저, 상기 API 모듈(241)은 상기 관리 서버(200) 외부의 단말 또는 응용 프로그램에게 장치 관리 서비스를 제공하는 인터페이스 모듈이다. 구체적으로, 상기 API 모듈(241)은 장치 관리 서비스에 접근하고자 하는 단말 또는 응용 프로그램이 허가된 것인지 확인하기 위한 인증을 위한 인터페이스 기능, 상기 전자 장치(100)의 원격 진단을 위한 인터페이스 기능, 상기 전자 장치(100)의 모니터링을 위한 인터페이스 기능, 상기 전자 장치(100)의 응용 프로그램을 제어하기 위한 인터페이스 기능 및 상기 전자 장치(100)의 가전 모듈(130)을 제어하기 위한 인터페이스 기능 중 적어도 하나를 포함하도록 구성될 수 있다. 한편, 상기 인터페이스를 제공하는 기능은 상기 API 서버와 같은 독립된 형태의 장치에 의하여 제공되도록 구현될 수 있다.
다음으로, 상기 연결 모듈(242)은 상기 관리 서버(200) 외부의 단말로부터 전송되는 관리 명령 요청 메시지를 상기 전자 장치(100)에 전달하고, 상기 전자 장치(100)로부터 상기 관리 명령 요청 메시지에 따른 관리 명령을 수행한 결과를 상기 관리 서버(200)로 전달하기 위한 메시지 전달 기능을 수행할 수 있다. 한편, 상기 메시지 전달 기능은 상기 연결 서버와 같은 독립된 형태의 장치에 의하여 수행되도록 구현될 수 있다.
다음으로, 상기 다운로드 서버 모듈(243)은 상기 전자 장치(100)에게 다운로드 데이터를 전송하는 기능을 수행할 수 있다. 상기 다운로드 서버 모듈(243)은 OMA 다운로드 표준에 따라 다운로드 데이터를 전송하는 모듈일 수 있다. 한편, 상기 다운로드 데이터를 전송하는 기능은 상기 다운로드 서버와 같은 독립된 형태의 장치에 의하여 수행되도록 구현될 수 있다.
다음으로, 상기 DM 서버 모듈(244)은 상기 전자 장치(100) 내의 장치 관리에 관한 기능을 수행하는 장치 관리 클라이언트(Device Management Client; 이하 'DM 클라이언트')와의 제어 메시지 송수신을 통해 관리 명령의 수행을 요청하고 상기 관리 명령의 수행 결과를 수신하는 기능을 수행할 수 있다. 상기 DM 서버 모듈(244)은 OMA DM 표준에 따라 상기 관리 명령을 위한 메시지들을 송수신할 수 있다. 한편, 상기 장치 관리를 위한 제어 메시지를 송수신하는 기능은 상기 장치 관리 서버와 같은 독립된 형태의 장치에 의하여 수행되도록 구현될 수 있다.
다음으로, 상기 통지 모듈(245)은 상기 전자 장치(100)에게 장치 관리를 위한 통지 메시지를 송수신하는 통지 기능을 수행할 수 있다. 상기 통지 모듈(245)은 상기 전자 제품(100) 및 상기 DM 서버 모듈 사이의 메시지를 푸쉬(push) 방식으로 교환할 수 있다. 또한, 상기 통지 기능은 상기 통지 서버와 같은 독립된 형태의 장치에 의하여 수행되도록 구현될 수 있다.
한편, 도 1 및 도 2에는 상기 관리 서버(200)가 하나의 장치의 형태로 도시되어 있으나, 구현 형태에 따라 서로 다른 역할을 수행하는 다수의 서버들로 구분되도록 구현될 수 있다. 예를 들어, 상기 관리 서버(200)는 API 서버, 연결 서버, 다운로드 서버, 장치 관리 서버 및 통지 서버 등으로 구분되어 구현될 수 있다. 다만, 이와 같이 상기 관리 서버(200)가 다수의 서버들로 구분되는 것은 구현 방법의 일 예일 뿐이며, 본 명세서에서 개시되는 상기 관리 서버(200)의 구성 및 방법은 각각 독립된 서버의 형태로 구현되는 것으로 제한하여 해석되지 아니한다.
상기 제어부(280)는 본 명세서에 실시 예로서 개시된 방법들을 수행하도록 상기 관리 서버(200)의 구성 요소들을 제어한다. 즉, 상기 제어부(280)는 상기 통신부(210) 및 상기 메모리(240)를 제어한다. 상기 제어부(280)는 상기 메모리(240)에 저장된 모듈들을 실행하도록 구성될 수 있다.
도 3은 OMA 장치 관리 표준을 따르는 전자 장치와 관리 서버가 장치 관리를 위한 메시지를 교환하는 과정들을 도시한다.
도 3을 참조하면, 관리 서버(200) 내의 DM 서버(Device Management Server)는 전자 장치(100) 내에 포함되어 있는 DM 클라이언트(171)와 OMA(Open Mobile Alliance)의 장치 관리(Device Management) 표준을 따르는 제어 메시지를 교환함으로써 상기 전자 장치(100)에 대한 관리를 수행한다.
먼저, 상기 관리 서버(200) 및 상기 전자 장치(100)는 패키지 0(Package #0), 패키지 1(Package #1) 및 패키지 2(Package #2)를 송수신하여 설정 상태(setup phase)의 동작을 수행한다. 상기 설정 상태는 인증(authentication) 및 장치 정보를 교환하기 위한 단계이다.
구체적으로, 상기 관리 서버(200)는 관리 세션을 시작하기 위한 트리거(trigger) 메시지에 해당하는 상기 패키지 0을 상기 전자 장치(100)로 전송한다. 상기 패키지 0을 수신한 상기 전자 장치(100)는 DM 클라이언트(171) 인증 정보(credentials) 및 장치 정보를 포함하는 상기 패키지 1을 상기 관리 서버(200)로 전송한다. 다음으로, 상기 패키지 1을 수신한 상기 관리 서버(200)는 상기 DM 클라이언트(171)의 인증 정보를 검사하고, 상기 검사의 결과가 유효하면 상기 DM 서버의 인증 정보(credentials) 및 관리 명령을 포함하는 상기 패키지 2를 상기 전자 장치(100)로 전송한다.
다음으로, 상기 관리 서버(200) 및 상기 전자 장치(100)는 패키지 3(Package #3) 및 패키지 4(Package #4)를 송수신하여 관리 상태(management phase)의 동작을 수행한다. 상기 관리 상태는 상기 설정 상태에서 전송된 상기 관리 명령에 대한 수행 결과를 상기 관리 서버(200)로 전송하기 위한 단계이다. 상기 관리 상태의 패키지들은 상기 관리 명령에 대한 수행 결과의 전송이 완료될 때까지 계속하여 송수신될 수 있다.
구체적으로, 상기 전자 장치(100)는 상기 관리 명령에 대한 응답을 포함하는 상기 패키지 3을 상기 관리 서버(200)로 전송한다. 상기 패키지 3을 수신한 상기 관리 서버(200)는 상기 관리 명령에 대한 추가적인 과정이 필요한 경우, 이를 지시하는 상기 패키지 4를 상기 전자 장치(100)로 전송한다.
전술된 바와 같은 OMA 장치 관리 표준을 따르는 제어 메시지의 교환에 있어서, 상기 패키지들은 SyncML(Synchronization Markup Language) 메시지와 같은 마크업 언어(markup language)로 구성되는 데이터이며, 상기 패키지들은 HTTP(Hypertext Transfer Protocol)에 따른 요청(Request)/응답(Response)의 본체(Body)에 포함되어 송수신된다. 또한, 상기 패키지들을 교환하기 위하여 상기 전자 장치(100) 및 상기 관리 서버(200)의 전송 수단은 다양한 전송 프로토콜이 이용될 수 있다. 만약 상기 전자 장치(100)가 무선 통신 기능을 가진 경우에는 상기 패키지들의 전송을 위하여 SMS(short message service) 또는 WAP(wireless application protocol) Push 등이 이용될 수 있으나, IP(Internet Protocol) 기반의 네트워크 통신 기능을 가진 경우에는 일반적인 TCP(Transport Control Protocol) 소켓을 통한 연결, SSL(Secure Socket Layer)을 통한 연결 등이 이용될 수도 있다.
이하, 도 4를 참조하여 본 명세서에 개시된 펌웨어 갱신 방법의 실시 예가 설명된다. 도 4는 관리 서버로부터 수신된 펌웨어 갱신 명령에 따라 펌웨어 갱신이 이루어지는 방법을 나타내는 개략적인 흐름도이다.
상기 관리 서버(200)는 갱신 개시 절차를 수행한다(S100).
상기 갱신 개시 절차(S100)에서는 상기 관리 서버(200)가 상기 전자 장치(100)의 펌웨어가 갱신될 필요가 있음을 상기 전자 장치(100)에게 알리는 동작이 수행된다.
또는, 사용자가 단말기(500)를 이용하여 펌웨어 갱신을 수행하는 관리 명령을 상기 관리 서버(200)로 전달할 수 있다. 이 경우, 상기 단말기(500)와 상기 관리 서버(200) 사이에 로긴 등의 인증 절차가 수행될 수 있으며, 상기 전자 장치(100)로 펌웨어 갱신을 위한 관리 명령을 상기 관리 서버로 전송할 수 있다.
이후, 상기 관리 서버(200)는 제 1 장치 관리 세션에 의하여 펌웨어 갱신 명령을 상기 전자 장치(100)로 전달한다(S200). 상기 제 1 장치 관리 세션은 OMA 장치 관리 표준을 따르는 제어 메시지일 수 있다. 구체적으로, 상기 관리 서버(200)는 상기 전자 장치(100)의 요청에 따라 갱신되어야 할 펌웨어를 포함하는 갱신 데이터를 다운로드 하기 위해 필요한 주소 정보를 상기 전자 장치(100)로 전달할 수 있다.
이후, 상기 전자 장치(100)는 상기 펌웨어 갱신 명령에 의하여 획득된 갱신 데이터의 주소 정보를 기초로 다운로드 과정을 수행한다(S300). 상기 다운로드 과정(S300)을 통해 수신된 갱신 데이터는 상기 전자 장치(100)의 메모리 내의 비활성 상태인 영역에 저장될 수 있다.
이후, 상기 전자 장치(100)는 다운로드 한 갱신 데이터를 이용하여 펌웨어 갱신 과정을 수행한다(S400). 상기 펌웨어 갱신 과정(S400)은 현재 사용되는 펌웨어를 갱신하는 것으로서, 상기 갱신 데이터 내의 갱신될 운영 체제 또는 응용 프로그램이 수행되도록 제어하는 과정이다. 이를 위하여 상기 전자 장치(100)는 메모리 내에 현재 사용되는 펌웨어가 저장된 영역을 비활성 상태로 전환하고, 상기 갱신될 운영체제 또는 응용 프로그램이 저장된 영역을 활성 상태로 전환할 수 있다. 또한, 상기 전자 장치(100)는 상기 갱신 에이터 내에 다른 컨트롤러에 의하여 수행될 운영 체제 또는 응용프로그램이 존재하는 경우 상기 다른 컨트롤러가 실행할 수 있도록 상기 메모리 상의 특정 영역에 상기 운영 체제 또는 응용프로그램을 저장할 수 있다.
이후, 상기 전자 장치(100)는 제 2 장치 관리 세션에 의하여, 필요한 경우, 펌웨어 갱신 명령의 처리 결과를 통지한다(S500).
이하, 도 5 내지 도 10을 참조하여 펌웨어 갱신 방법의 구체적인 실시 예가 개시된다. 도 5, 도 6, 도 7 및 도 10은 펌웨어 갱신 명령에 따라 전자 장치가 펌웨어를 갱신하는 방법을 나타낸 흐름도이다.
도 5를 참조하여 펌웨어 갱신을 위한 개시 절차(S100)가 구체적으로 개시된다. 상기 펌웨어 갱신을 위한 개시 절차(S100)가 상기 단말기(500)의 요청에 의하여 개시되는 경우에, 상기 관리 서버(200)는 상기 단말기(500)가 상기 전자 장치(100)에 대한 관리 명령을 요청할 수 있는 정당한 장치인지를 검사하는 과정을 수행할 수 있다.
구체적으로, 상기 단말기(500)는 상기 관리 서버(200)로 로긴(login) 요청 메시지를 전송한다(S110). 상기 로긴 요청 메시지는 상기 단말기(500) 또는 상기 단말기(500)에서 수행되는 장치 관리를 위한 응용 프로그램의 인증을 위한 정보를 포함할 수 있다. 상기 관리 서버(200)는 외부 장치에서 실행되고 있는 응용프로그램으로 하여금 상기 전자 장치(100)에 대한 관리 명령을 수행하도록 형성된 API(Application Programming Interface) 형태의 인터페이스를 제공할 수 있다. 상기 관리 서버(200)는 허용된 응용 프로그램 또는 장치가 상기 인터페이스를 호출할 수 있도록 하기 위하여, 상기 인터페이스를 호출하는 응용 프로그램, 장치 또는 사용자를 인증한다. 상기 로긴 요청 메시지는 상기 전자 장치(100)가 상기 인터페이스를 이용 가능함을 알리기 위해 사용되는 인증 메시지 일 수 있다.
상기 관리 서버(200)는 상기 로긴 요청 메시지에 포함된 인증 정보를 검사하고, 상기 로긴 요청 메시지에 포함된 인증 정보에 대한 검사 결과 상기 단말기(500) 또는 상기 단말기(500)에서 수행되는 장치관리를 위한 응용 프로그램이 상기 관리 서버(200)로 관리 명령을 요청할 수 있도록 허락되어 있음이 확인되는 경우, 상기 단말기(500)로 로긴 응답 메시지를 전송한다(S120).
상기 로긴 응답 메시지는 이후 상기 단말기(500)가 관리 명령의 수행을 요청하기 위해 필요한 접속 정보를 포함할 수 있다. 상기 접속 정보는 실시간 성격의 관리 명령의 요청을 수신하기 위한 상기 관리 서버(200)의 접속 정보일 수 있다. 예컨대, 상기 접속 정보는 상기 관리 서버(200)의 IP 주소 또는 TCP 포트일 수 있다.
이후, 상기 단말기(500)는 상기 관리 서버(200)에 접속하여 펌웨어 갱신을 위한 관리 명령의 수행을 요청한다(S140).
도 6을 참조하여 제 1 장치 관리 세션(S200)이 구체적으로 개시된다. 상기 관리 서버(200)는 상기 펌웨어 갱신을 위한 관리 명령의 종류에 따라 상기 전자 장치(100)와 상기 펌웨어 갱신을 위한 관리 명령을 전달하기 위한 과정을 수행한다.
먼저, 상기 관리 서버(200)는 상기 요청된 관리 명령의 종류를 판단할 수 있다(S210). 상기 관리 명령의 종류는 상기 관리 서버(200) 및 상기 전자 장치(100) 사이에서 상기 관리 명령을 수행하기 위한 제어 메시지가 송수신되는 방법에 따라 구분될 수 있다. 상기 관리 명령의 종류가 명령의 수행이 일정 시간 이내에 이루어져야 하는 실시간(real-time) 성격의 명령인 경우에는 연결 지향적인 세션을 통한 릴레이 방식으로 상기 관리 명령의 수행 요청 및 수행 결과 전송이 이루어지고, 비-실시간(non-realtime) 성격의 명령인 경우에는 OMA DM 표준을 따르는 제어 메시지를 송수신함으로써 상기 관리 명령의 수행 요청 및 수행 결과 전송이 이루어진다. 상기 전자 장치의 펌웨어 또는 소프트웨어를 갱신하기 위한 관리 명령은 지정된 시간에 갱신 작업이 수행되는 것으로 충분한 비-실시간 성격을 가지는 것으로 판단될 수 있다.
이후, 상기 펌웨어 갱신 명령을 전달하기 위한 장치 관리 세션이 수행된다. 구체적으로, 상기 관리 서버(200)는 상기 전자 장치(100)에게 트리거 메시지를 전송한다(S220). 구체적으로, 상기 관리 명령을 수신하도록 지시하는 상기 트리거 메시지는 OMA DM 표준에 따라 생성된 패키지 0일 수 있다. 다음으로, 상기 관리 서버(200)는 상기 지시 메시지에 대한 수신 응답(ACK) 메시지를 상기 관리 서버(200)로 전송할 수 있다(S230).
다음으로, 상기 지시 메시지를 수신한 상기 전자 장치(100)는 상기 DM 클라이언트(171)의 인증 정보를 포함한 메시지를 상기 관리 서버(200)로 전송한다(S240). 상기 DM 클라이언트(171)의 인증 정보를 포함한 메시지는 OMA DM 표준에 따라 생성된 패키지 1일 수 있다.
다음으로, 상기 DM 클라이언트(171)의 인증 정보를 수신한 상기 관리 서버(200)는 상기 DM 클라이언트(171)의 인증 정보를 검증하고, 상기 DM 클라이언트(171)의 인증 정보가 유효한 경우에 상기 DM 서버(240)의 인증 정보를 포함하는 메시지를 상기 전자 장치(100)로 전송한다(S250). 상기 DM 서버(240)의 인증 정보를 포함하는 메시지는 OMA DM 표준에 따라 생성된 패키지 2일 수 있다.
다음으로, 상기 DM 서버의 인증정보를 수신한 상기 전자 장치(100)는 상기 인증 정보를 검증하고, 상기 DM 서버의 인증 정보가 유효한 경우에 상기 DM 클라이언트(171)는 상기 서비스 에이전트(173)를 통하여 펌웨어 버전을 포함한 장치 정보를 조회할 수 있다(S255).
다음으로, 상기 전자 장치는 상기 펌웨어 버전을 포함하는 패키지 3을 상기관리 서버(200)로 전송한다(S260). 이후 상기 관리 서버(200)는 상기 펌웨어 버전버 기초로 펌웨어 갱신이 필요한지 여부를 판단할 수 있다.
다음으로, 상기 관리 서버(200)는 펌웨어 갱신이 필요하다고 판단된 경우 상기 단말기(500)부터 요청된 펌웨어 갱신 명령에 따라 갱신이 필요한 펌웨어를 포함하는 갱신 데이터의 주소 정보가 포함된 패키지 4를 상기 전자 장치(100)로 전송한다(S270). 상기 갱신 데이터의 주소 정보는 URL 정보 또는 PkgURL, Correlator 정보일 수 있다.
상기 패키지 4를 수신한 상기 전자 장치(100)는 상기 갱신 데이터의 주소 정보를 저장하고(S275), 패키지 5를 전송함으로써 상기 패키지 4를 통한 상기 갱신 명령이 저장되었음을 알린다(S280). 상기 관리 서버(200)는 상기 패키지 5에 대한 응답으로서 패키지 6을 전송한다(S290).
상기 갱신 명령은 다운로드 만을 지시하는 명령이거나 또는 다운로드 및 갱신을 함께 지시하는 명령일 수 있다. 상기 갱신 명령이 다운로드 만을 지시하도록 구성된 경우에 상기 전자 장치(100)는 이후의 갱신 과정을 별도로 수행할 수 있다.
도 7을 참조하여 다운로드 세션(S300)이 구체적으로 개시된다. 상기 전자 장치(100)는 상기 수신된 펌웨어 갱신 명령에 따라 상기 저장된 갱신 데이터의 URL 정보(PkgURL)에 기초하여 다운로드 과정을 수행할 수 있다.
먼저, 상기 전자 장치(100)가 상기 저장된 URL 정보로부터 추출된 다운로드 기술정보(Download Descriptor; 이하 DD)의 URL을 이용하여 다운로드 될 갱신 데이터를 위한 DD를 상기 관리 서버(200)에게 요청하고(S310), 상기 관리 서버(200)로부터 상기 다운로드 될 갱신 데이터를 위한 DD를 수신한다(S320). 이후에 상기 전자 장치(100)는 상기 저장된 URL 정보로부터 추출된 갱신 데이터의 URL을 이용하여 갱신 데이터를 상기 관리 서버(200)에게 요청하고(S330), 상기 관리 서버(200)로부터 상기 갱신 데이터를 수신한다(S340).
도 8 내지 도 9를 참조하여 서비스 에이전트가 상기 펌웨어 갱신 명령을 처리하는 과정(S400)이 구체적으로 개시된다.
먼저, 상기 전자 장치(100)는 상기 갱신 데이터를 대기 영역에 저장한다(S410). 상기 대기 영역은 펌웨어가 저장되는 메모리 중에서 현재 제어부에 의하여 사용되지 않는 영역으로서 비활성 상태에 놓인 영역을 나타낸다. 도 9의 (a)를 참조하여 예를 들면, 상기 메모리(140)는 제 1 영역(141a), 제 2 영역(141b) 및 제 3 영역(142)로 구분되도록 구성되고, 상기 제 1 영역(141a) 및 상기 제 2 영역(141b)는 제 1 운영체제를 위하여 사용되는 영역이고, 상기 제 3 영역(142)은 제 2 운영체제를 위하여 사용되는 영역이다. 상기 제 1 영역(141a)이 활성화되어 있고, 상기 제 2 영역(141b)이 비활성화 상태인 경우, 상기 전자 장치(100)는 도 9의 (b)와 같이 상기 갱신 데이터를 수신하여 상기 제 2 영역(141b)에 저장한다.
이 때, 상기 갱신 데이터는 상기 펌웨어 갱신 명령에 의하여 갱신될 새로운 제 1 운영체제를 포함하는 펌웨어 이미지 형태의 데이터 일 수 있다.
또는, 상기 갱신 데이터는 상기 제 1 운영 체제 중 갱신된 부분에 대한 데이터를 포함하는 형태의 데이터 일 수 있다.
이후에, 상기 전자 장치(100)는 상기 갱신 데이터에 제 2 운영체제가 포함되어 있는 경우에, 상기 제 2 운영체제를 상기 제 3 영역(142)에 저장함으로써 갱신한다(S420). 상기 제 2 운영체제는 가전 모듈을 제어하기 위한 것일 수 있다. 상기 전자 장치(100)는 상기 제 2 운영체제를 실행하는 별도의 컨트롤러가 구현될 수 있다. 상기 제어부는 UART (Universal Asynchronous Receiver/Transmitter)를 통하여 상기 갱신된 제 2 운영체제를 전송함으로써 상기 제 3 저장 영역에 저장할 수 있다. 도 9의 (c)를 참조하면, 상기 제 3 저장 영역(142)에는 UART를 통해 전송된 상기 제 2 운영 체제(152')가 저장되고 수행될 수 있는 상태가 된다.
이후에, 상기 전자 장치(100)는 상기 대기 영역을 활성 상태로 변경함으로써 상기 갱신 데이터에 포함된 상기 갱신된 제 1 운영체제(151')가 실행될 수 있는 상태가 된다(S430).
도 10은 제 2 장치 관리 세션(S500)을 통하여 펌웨어 갱신 결과를 상기 관리 서버(200)에게 알리는 과정을 도시한다. 구체적으로, 상기 전자 장치(100)는 펌웨어 갱신 명령의 수행 결과를 확인하고(S510), 상기 확인된 수행 결과를 패키지 1에 포함하여 상기 관리 서버(200)로 전송한다(S520). 이후 상기 관리 서버(200)는 상기 패키지 1에 대한 응답으로 패기키 2를 전송한다(S530).
이상에서 설명된 실시 예들은 본 발명의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시 예를 구성하는 것도 가능하다. 본 발명의 실시 예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시 예의 일부 구성이나 특징은 다른 실시 예에 포함될 수 있고, 또는 다른 실시 예의 대응하는 구성 또는 특징과 교체될 수 있다. 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시 예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.
본 발명은 본 발명의 정신 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 안되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다. 또한, 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시 예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있다.

Claims (12)

  1. 활성 상태의 제 1 저장 영역 및 비활성 상태의 제 2 저장 영역을 포함하는 메모리; 및
    상기 제 1 저장 영역에 저장된 제 1 운영체제를 실행하고, 상기 제 1 운영체제 상에서 펌웨어 갱신을 위한 관리 명령을 수행하는 제 1 제어부를 포함하되,
    상기 제 1 제어부는 관리 명령을 관리 서버로부터 수신하고, 상기 관리 명령에 따라 갱신 데이터를 수신하고, 상기 갱신 데이터를 상기 제 2 저장 영역에 저장하고, 상기 제 2 저장 영역을 활성화하고, 상기 제 1 저장 영역을 비활성화하고, 상기 갱신 데이터 내의 갱신된 제 1 운영체제를 실행하는 것을 특징으로 하는 펌 웨어가 탑재된 홈 어플라이언스.
  2. 제 1 항에 있어서, 상기 갱신 데이터는
    상기 갱신된 제 1 운영체제를 포함하는 펌웨어 이미지 형태인 것을 특징으로 하는 펌 웨어가 탑재된 홈 어플라이언스.
  3. 제 1 항에 있어서, 상기 갱신 데이터는
    상기 제 1 운영체제 중 갱신된 부분에 대한 데이터 또는 갱신된 전체 제 1 운영체제를 포함하는 것을 특징으로 하는 펌 웨어가 탑재된 홈 어플라이언스.
  4. 제 3 항에 있어서, 상기 관리 명령은
    OMA (Open Mobile Alliance) 장치 관리 표준을 따르는 제어 메시지의 교환에 따라 수신되는 것을 특징으로 하는 펌 웨어가 탑재된 홈 어플라이언스.
  5. 제 3 항에 있어서, 상기 관리 명령은
    다운로드 및 갱신을 수행할 것을 지시하는 것을 특징으로 하는 펌 웨어가 탑재된 홈 어플라이언스.
  6. 제 1 항에 있어서,
    가전 기능을 제어하기 위한 제 2 운영체제를 실행하는 제 2 제어부를 더 포함하되,
    상기 메모리는 상기 제 2 운영체제를 저장하는 제 3 저장 영역을 더 포함하도록 형성되고,
    상기 제 1 제어부는 상기 갱신 데이터 내의 갱신된 제 2 운영체제를 상기 제 3 저장 영역에 저장하는 것을 특징으로 하는 펌 웨어가 탑재된 홈 어플라이언스.
  7. 제 6 항에 있어서, 상기 제 1 제어부는
    UART (Universal Asynchronous Receiver/Transmitter)를 통하여 상기 갱신된 제 2 운영체제를 전송함으로써 상기 제 3 저장 영역에 저장하는 것을 특징으로 하는 펌 웨어가 탑재된 홈 어플라이언스.
  8. 제 6 항에 있어서, 상기 제 1 제어부 및 제 2 제어부는
    별도의 하드웨어를 이용하여 구현된 것을 특징으로 하는 펌 웨어가 탑재된 홈 어플라이언스.
  9. 제 8 항에 있어서,
    상기 제 1 제어부는,
    상기 홈 어플라이언스의 디스플레이 모듈과 연결되도록 구현된 것을 특징으로 하는 펌 웨어가 탑재된 홈 어플라이언스.
  10. 전자장치에 탑재된 펌 웨어의 갱신 방법에 있어서,
    상기 전자장치가, 관리 서버로부터 장치 관리 세션을 통해 갱신 데이터의 주소 정보를 수신하는 단계;
    상기 전자장치가, 상기 주소 정보를 기초로 상기 갱신 데이터를 수신하는 단계;
    상기 갱신 데이터를 상기 전자장치의 메모리 내의 비활성 상태의 저장 영역에 저장하는 단계;
    상기 저장 영역을 활성 상태로 변경하는 단계; 및
    상기 활성 상태로 변경된 저장 영역 내의 갱신 데이터에 포함된 갱신된 제 1 운영체제가 실행되는 단계를 포함하여 이루어지는 펌웨어 갱신 방법.
  11. 제 10 항에 있어서,
    상기 저장 영역 내의 상기 갱신 데이터에 포함된 갱신된 제 2 운영체제를 MCU(Micro-Controller Unit)에 의하여 접근이 가능한 다른 저장 영역에 저장하는 단계를 더 포함하는 것을 특징으로 하는 펌웨어 갱신 방법.
  12. 제 10 항에 있어서, 상기 갱신 데이터의 주소 정보는 OMA (Open Mobile Alliance) 장치 관리 표준을 따르는 메시지 교환 방식에 따라 수신되는 것을 특징으로 하는 펌웨어 갱신 방법.
KR1020110141446A 2011-08-25 2011-12-23 장치 관리 명령을 통한 펌웨어 갱신 방법 및 장치 KR101845290B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020110141446A KR101845290B1 (ko) 2011-08-25 2011-12-23 장치 관리 명령을 통한 펌웨어 갱신 방법 및 장치
CN201280009296.2A CN103380415B (zh) 2011-12-23 2012-12-21 基于设备管理命令更新固件的方法和装置
US13/723,292 US9198039B2 (en) 2011-12-23 2012-12-21 Method and device for updating firmware based on device management command
PCT/KR2012/011266 WO2013095040A1 (en) 2011-12-23 2012-12-21 Method and device for updating firmware based on device management command

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161527121P 2011-08-25 2011-08-25
US61/527,121 2011-08-25
KR1020110141446A KR101845290B1 (ko) 2011-08-25 2011-12-23 장치 관리 명령을 통한 펌웨어 갱신 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20130022360A KR20130022360A (ko) 2013-03-06
KR101845290B1 true KR101845290B1 (ko) 2018-04-04

Family

ID=48669728

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110141446A KR101845290B1 (ko) 2011-08-25 2011-12-23 장치 관리 명령을 통한 펌웨어 갱신 방법 및 장치

Country Status (4)

Country Link
US (1) US9198039B2 (ko)
KR (1) KR101845290B1 (ko)
CN (1) CN103380415B (ko)
WO (1) WO2013095040A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102246979B1 (ko) 2020-12-01 2021-04-30 (주) 라이트론 통신 모듈 및 이의 펌웨어 갱신 시스템
WO2023229058A1 (ko) * 2022-05-24 2023-11-30 엘지전자 주식회사 홈 어플라이언스 및 그 동작 방법
WO2023249134A1 (ko) * 2022-06-21 2023-12-28 엘지전자 주식회사 홈 어플라이언스

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102202660B1 (ko) 2013-09-23 2021-01-13 삼성전자주식회사 스마트 홈 서비스를 위한 기기들을 제어하는 방법 및 장치
US10140109B2 (en) * 2014-02-25 2018-11-27 Ford Global Technologies, Llc Silent in-vehicle software updates
US10691440B2 (en) * 2014-06-06 2020-06-23 Hewlett Packard Enterprise Development Lp Action execution based on management controller action request
CN104503786B (zh) 2014-12-15 2020-10-16 小米科技有限责任公司 固件刷新方法及装置
US9459857B2 (en) * 2015-01-21 2016-10-04 HGST Netherlands B.V. Managing wear of system areas of storage devices
CN104994141B (zh) * 2015-06-16 2018-05-25 四川长虹电器股份有限公司 缓解云服务器存储和计算压力的协同存储系统
CN106354524B (zh) * 2015-07-17 2021-01-01 恩智浦美国有限公司 实时更新固件的系统和方法
CN109154889A (zh) * 2016-04-21 2019-01-04 飞利浦照明控股有限公司 用于更新用于对物理环境进行监测和控制的基于云的系统中的系统设备的系统和方法
CN105959302B (zh) * 2016-06-28 2019-04-12 北京云创远景软件有限责任公司 一种终端管理系统及方法
JP6876235B2 (ja) * 2016-09-27 2021-05-26 富士フイルムビジネスイノベーション株式会社 電子装置及び画像処理装置
ES2827790T3 (es) * 2017-08-21 2021-05-24 Carrier Corp Sistema antiincendios y de seguridad que incluye bucle accesible por dirección y mejora automática de firmware
DE102018123494A1 (de) * 2017-11-17 2019-05-23 Samsung Electronics Co., Ltd. Speichervorrichtung, die zum aktualisieren einesfeldprogrammierbaren gate-arrays ausgestaltetist, und betriebsverfahren dafür
US10977050B2 (en) * 2018-01-11 2021-04-13 Macronix International Co., Ltd. Method for managing system boot code memory, memory device and electronic system using the same
CN108829418A (zh) * 2018-06-01 2018-11-16 联想(北京)有限公司 一种处理方法及电子设备
US10949111B2 (en) * 2018-11-28 2021-03-16 Red Hat Israel, Ltd. Updating operating system images of inactive compute instances
KR102186040B1 (ko) * 2019-08-21 2020-12-03 주식회사 오토비즈시스템즈 차량 진단 정보 수집 장치의 인터페이스 진단 수행 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050216753A1 (en) * 2004-03-23 2005-09-29 Dell Products L.P. System and method for providing a secure firmware update to a device in a computer system
US20060059300A1 (en) * 2004-09-16 2006-03-16 Chi-Chun Hsu Firmware Update for Optical Disc Drive
US20070283343A1 (en) * 2006-06-05 2007-12-06 Yariv Aridor Installation of a Bootable Image for Modifying the Operational Environment of a Computing System
US20110128158A1 (en) * 2009-12-01 2011-06-02 inXtron, Inc. Network device capable of remotely updating firmware thereof

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002333990A (ja) * 2001-03-05 2002-11-22 Omron Corp プログラム更新装置およびプログラム更新方法
KR100744873B1 (ko) * 2002-08-20 2007-08-01 엘지전자 주식회사 컴퓨터 시스템에서의 펌웨어 기록방법
US7523155B2 (en) * 2004-03-18 2009-04-21 International Business Machines Corporation Method, system and program product for using open mobile alliance (OMA) alerts to send client commands/requests to an OMA DM server
TW200622897A (en) * 2004-12-31 2006-07-01 Mitac Technology Corp Computer system and its processing method with instantly booting function
TWI349882B (en) * 2007-09-04 2011-10-01 Quanta Comp Inc Firmware update system and method for update the same
TWI389029B (zh) * 2008-02-27 2013-03-11 Mstar Semiconductor Inc 韌體更新裝置及方法
TWI363298B (en) * 2008-02-29 2012-05-01 Hon Hai Prec Ind Co Ltd Communication device and firmware update method thereof
CN101727333A (zh) * 2008-10-31 2010-06-09 英业达股份有限公司 微处理器中固件更新的方法及固件更新系统
US8307095B2 (en) * 2010-06-21 2012-11-06 Research In Motion Limited Firmware upgrade system and method in a device management architecture
US20120096451A1 (en) * 2010-10-15 2012-04-19 Roche Diagnostics Operations, Inc. Firmware update in a medical device with multiple processors
US20120117555A1 (en) * 2010-11-08 2012-05-10 Lsi Corporation Method and system for firmware rollback of a storage device in a storage virtualization environment
US8589910B2 (en) * 2011-11-01 2013-11-19 At&T Intellectual Property I, L.P. Coordinating firmware over-the-air updates for mobile devices utilizing presence information

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050216753A1 (en) * 2004-03-23 2005-09-29 Dell Products L.P. System and method for providing a secure firmware update to a device in a computer system
US20060059300A1 (en) * 2004-09-16 2006-03-16 Chi-Chun Hsu Firmware Update for Optical Disc Drive
US20070283343A1 (en) * 2006-06-05 2007-12-06 Yariv Aridor Installation of a Bootable Image for Modifying the Operational Environment of a Computing System
US20110128158A1 (en) * 2009-12-01 2011-06-02 inXtron, Inc. Network device capable of remotely updating firmware thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102246979B1 (ko) 2020-12-01 2021-04-30 (주) 라이트론 통신 모듈 및 이의 펌웨어 갱신 시스템
WO2023229058A1 (ko) * 2022-05-24 2023-11-30 엘지전자 주식회사 홈 어플라이언스 및 그 동작 방법
WO2023249134A1 (ko) * 2022-06-21 2023-12-28 엘지전자 주식회사 홈 어플라이언스

Also Published As

Publication number Publication date
CN103380415B (zh) 2017-10-31
US9198039B2 (en) 2015-11-24
US20130167134A1 (en) 2013-06-27
CN103380415A (zh) 2013-10-30
KR20130022360A (ko) 2013-03-06
WO2013095040A1 (en) 2013-06-27

Similar Documents

Publication Publication Date Title
KR101845290B1 (ko) 장치 관리 명령을 통한 펌웨어 갱신 방법 및 장치
KR101955976B1 (ko) 제한된 사용자 인터페이스를 가진 장치의 활성화
KR102010295B1 (ko) 가전기기 관리 시스템 및 이의 푸시 서비스 방법
CN105683845B (zh) 用于装置检测和app配置的系统和方法
KR102113039B1 (ko) 가전기기 및 이를 이용한 상품 구매 방법
KR101397471B1 (ko) 디바이스 플랫폼이 설치된 IoT 장치 및 IoT 어댑터
KR101822940B1 (ko) 수행 시간에 기초하여 장치 관리 명령을 수행하는 방법 및 장치
CN101741583A (zh) 实现智能家电数据更新的方法、装置及系统
CN111327759B (zh) 电子设备及用于控制电子设备的方法
US10621853B2 (en) Electronic apparatus and method
CN107318119B (zh) 家电设备组网方法、家电设备和计算机可读存储介质
US20160300483A1 (en) Device Control Method, Server, System and Computer Storage Medium
CN106162811B (zh) 建立网络连接的方法及装置
US10489055B2 (en) Z-wave controller shift in thermostats
US10085147B2 (en) Configuring network access parameters
KR20160111220A (ko) 전기제품, 전기제품의 펌웨어 업데이트 방법 및 네트워크 시스템
CN107077326B (zh) 用于所连接的消费者设备的注册框架
US20240056787A1 (en) Electronic device for managing controlled device and method of operating same
US20150256651A1 (en) Facilitating communication between smart object and application provider
JP6176170B2 (ja) 建物内に設置されて当該建物内の機器を制御するコントローラ
JP2019174987A (ja) 通信アダプタおよびファームウェア更新方法
JP2015126330A (ja) 通信方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant