KR20090076712A - Firmware upgrade system - Google Patents

Firmware upgrade system Download PDF

Info

Publication number
KR20090076712A
KR20090076712A KR1020080002801A KR20080002801A KR20090076712A KR 20090076712 A KR20090076712 A KR 20090076712A KR 1020080002801 A KR1020080002801 A KR 1020080002801A KR 20080002801 A KR20080002801 A KR 20080002801A KR 20090076712 A KR20090076712 A KR 20090076712A
Authority
KR
South Korea
Prior art keywords
upgrade
firmware
terminal
router
data
Prior art date
Application number
KR1020080002801A
Other languages
Korean (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 KR1020080002801A priority Critical patent/KR20090076712A/en
Publication of KR20090076712A publication Critical patent/KR20090076712A/en

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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • 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/445Program loading or initiating
    • G06F9/44557Code layout in executable memory
    • G06F9/44563Sharing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A firmware upgrade system is provided to upgrade the firmware of a digital device more safely by storing upgrade data in a home gateway. A plurality of upgrade servers(120-1~120-M) inlcude firmware upgrade data of a plurality of terminals(110-1~110-N). A sharing unit(130) stores profiles about the firmware upgrade of the terminals. The profile includes at least one among kinds of the terminals, a hardware version, a software version, the MAC address of a network device and URLs of the upgrade servers. The sharing unit receives/stores the upgrade data from the upgrade servers by using the profiles, and then transmits the stored upgrade data to the terminals based on a push or pull method.

Description

펌웨어 업그레이드 시스템{Firmware Upgrade System}Firmware Upgrade System {Firmware Upgrade System}

본 발명은 홈네트워크 시스템에 관한 것으로서 보다 상세하게는 홈게이트웨이에 업그레이드 데이터를 저장함으로써 디지털 기기의 펌웨어의 업그레이드를 보다 안전하게 할 수 있는 펌웨어 업그레이드 시스템에 관한 것이다.The present invention relates to a home network system, and more particularly, to a firmware upgrade system that can more safely upgrade firmware of a digital device by storing upgrade data in a home gateway.

최근 유무선 인터넷에 연결되는 단말기의 증가와 단말기의 성능이 하드웨어적인 부분과 소프트웨어적인 측면 그리고 하드웨어와 소프트웨어의 중간 계층인 펌웨어(firmware)에 많은 영향을 받고 있으며, 단말기의 많은 기능이 이러한 소프트웨어 또는 펌웨어로 구현되고 있다. 펌웨어는 일반적으로 롬(Read Only Memory; ROM)에 저장된 하드웨어를 제어하는 마이크로 프로그램을 의미한다. 프로그램이라는 관점에서는 소프트웨어와 동일하지만 하드웨어와 밀접한 관계를 가지고 있다는 점에서 일반 응용소프트웨어와 구분되어 펌웨어는 소프트웨어와 하드웨어의 특성을 모두 가지고 있다고 할 수 있다.Recently, the increase in the number of terminals connected to the wired and wireless Internet and the performance of the terminal have been greatly affected by hardware and software aspects, and firmware, which is an intermediate layer of hardware and software. Is being implemented. Firmware generally refers to a micro program that controls hardware stored in a read only memory (ROM). It is the same as software in terms of a program, but it is distinguished from general application software in that it is closely related to hardware. Thus, firmware has both characteristics of software and hardware.

최근에는 단말의 하드웨어의 변경없이 펌웨어만으로 단말기에 새로운 기능을 추가할 수 있어 점점 펌웨어의 업그레이드가 빈번하게 이루어지고 있다. 이러한 상황에서, 다양한 기능의 펌웨어가 운영됨으로 인하여 사용자가 업그레이드를 처리하 기가 복잡해지고 있다. 더욱이, 단말의 펌웨어 업그레이드는 성능향상을 위해 혹은 펌웨어 버그(bug)의 패치(patch)를 위해 필요하다. 하지만, 펌웨어 업그레이드를 위해 해당 단말의 ROM영역에 쓰기동작을 수행하는 과정에서 전원이 나가는 등 다른 외적 요인에 의해 오류가 발생하는 경우, 새로운 펌웨어 또는 기존의 펌웨어가 모두 실행 불가능한 상황에 빠져 단말이 동작불능상태에 빠질 수 있다.Recently, new functions can be added to the terminal using only the firmware without changing the hardware of the terminal, and firmware upgrades are frequently made. In this situation, the user is complicated to handle the upgrade due to the operation of the firmware of various functions. Moreover, the firmware upgrade of the terminal is necessary for performance improvement or for patching firmware bugs. However, when an error occurs due to other external factors such as power out during the writing operation to the ROM area of the corresponding terminal for firmware upgrade, the terminal operates due to the inability to execute the new firmware or the existing firmware. You may be incapacitated.

따라서 펌웨어의 업그레이드시 오류를 줄이고, 업그레이드를 자동적으로 수행할 수 있는 기술이 요구된다.Therefore, there is a need for a technology capable of reducing errors during firmware upgrade and automatically performing the upgrade.

본 발명의 기술적 과제는 공유기를 중심으로 다양한 디지털 기기들이 연결된 홈네트워크 시스템에서 공유기가 펌웨어 업그레이드의 주체가 되어 디지털기기의 펌웨어 업그레이드에 관한 업그레이드 데이터를 단말과 별도로 저장하여, 펌웨어 업그레이드를 안전하게 수행할 수 있는 펌웨어 업그레이드 시스템 및 수행방법을 제공함에 있다.The technical problem of the present invention is that the router becomes a main agent of firmware upgrade in a home network system in which various digital devices are connected to the router, and stores upgrade data on firmware upgrade of the digital device separately from the terminal, thereby safely performing a firmware upgrade. The present invention provides a firmware upgrade system and a method of performing the same.

본 발명의 일 양태에 따르면, 펌웨어 업그레이드 시스템을 제공한다. 상기 시스템은 통신수단을 구비한 단말, 상기 단말의 펌웨어 업그레이드 데이터를 포함하는 업그레이드 서버, 상기 단말의 펌웨어 업그레이드에 관한 프로파일(profile)을 저장하고, 상기 프로파일을 이용하여 상기 업그레이드 서버로부터 상기 업그레이드 데이터를 수신하며, 상기 수신된 업그레이드 데이터를 저장하고, 상기 저장된 업그레이드 데이터를 푸쉬(push)방식 또는 풀(pull)방식에 의해 상기 단말로 전송하는 공유기를 포함한다.According to one aspect of the present invention, a firmware upgrade system is provided. The system stores a terminal having communication means, an upgrade server including firmware upgrade data of the terminal, a profile related to firmware upgrade of the terminal, and the upgrade data from the upgrade server using the profile. And a router configured to receive the stored upgrade data and transmit the stored upgrade data to the terminal by a push method or a pull method.

본 발명의 다른 양태에 따르면, 펌웨어 업그레이드 수행방법을 제공한다. 상기 방법은 단말의 펌웨어 업그레이드에 관한 프로파일을 저장하는 단계, 상기 단말의 펌웨어 업그레이드의 필요여부를 업그레이드 서버에 질의하는 단계, 상기 프로파일을 이용하여 상기 업그레이드 서버로부터 상기 업그레이드 데이터를 수신하는 단계, 상기 수신된 업그레이드 데이터를 저장하는 단계, 상기 펌웨어 업그레이드 수행을 상기 단말로 요청하는 단계, 상기 단말로부터 요청에 따른 확답메시지를 수신하는 단계, 및 상기 저장된 업그레이드 데이터를 상기 단말로 전송하는 단계를 포함한다.According to another aspect of the present invention, a method of performing a firmware upgrade is provided. The method may include: storing a profile regarding a firmware upgrade of a terminal, querying an upgrade server whether a firmware upgrade of the terminal is required, receiving the upgrade data from the upgrade server using the profile, and receiving the received profile. Storing the upgrade data, requesting the firmware upgrade to the terminal, receiving a confirmation message according to the request from the terminal, and transmitting the stored upgrade data to the terminal.

본 발명의 또 다른 양태에 따르면, 펌웨어 업그레이드 수행방법을 제공한다. 상기 방법은 단말의 펌웨어 업그레이드에 관한 프로파일을 저장하는 단계, 상기 단말의 펌웨어 업그레이드의 필요여부를 업그레이드 서버에 질의하는 단계, 상기 프로파일을 이용하여 상기 업그레이드 서버로부터 상기 업그레이드 데이터를 수신하는 단계, 상기 수신된 업그레이드 데이터를 저장하는 단계, 상기 단말로부터 상기 업그레이드 데이터가 존재하는지 여부를 묻는 메시지을 수신하는 단계, 및 상기 요청에 따라 상기 업그레이드 데이터를 상기 단말로 전송하는 단계를 포함한다.According to another aspect of the present invention, a method of performing a firmware upgrade is provided. The method may include: storing a profile regarding a firmware upgrade of a terminal, querying an upgrade server whether a firmware upgrade of the terminal is required, receiving the upgrade data from the upgrade server using the profile, and receiving the received profile. Storing the upgrade data, receiving a message inquiring whether the upgrade data exists from the terminal, and transmitting the upgrade data to the terminal according to the request.

본 발명의 다른 양태에 따르면, 펌웨어 업그레이드 수행방법을 제공한다. 상기 방법은 펌웨어 업그레이드 수행을 공유기로부터 요청받는 단계, 상기 요청에 대하여 상기 펌웨어 업그레이드 수행을 허락하는 확답메시지를 상기 공유기로 전송하는 단계, 상기 공유기로부터 상기 공유기에 저장된 업그레이드 데이터를 수신하는 단계, 및 상기 수신된 업그레이드 데이터를 이용하여 펌웨어의 업그레이드를 수행하는 단계를 포함한다.According to another aspect of the present invention, a method of performing a firmware upgrade is provided. The method includes receiving a request from a router to perform a firmware upgrade, sending a confirmation message to the router to allow the firmware upgrade to be performed on the request, receiving upgrade data stored in the router from the router, and Performing upgrade of the firmware using the received upgrade data.

본 발명의 다른 양태에 따르면, 펌웨어 업그레이드 수행방법을 제공한다. 상기 방법은 저장된 업그레이드 데이터가 있는지를 묻는 메시지를 공유기로 전송하는 단계, 상기 메시지에 대한 응답으로 상기 저장된 업그레이드 데이터를 상기 공유기로부터 수신하는 단계, 상기 수신된 업그레이드 데이터를 이용하여 펌웨어의 업그 레이드를 수행하는 단계를 포함한다.According to another aspect of the present invention, a method of performing a firmware upgrade is provided. The method includes transmitting a message to the router inquiring whether there is stored upgrade data, receiving the stored upgrade data from the router in response to the message, and performing an upgrade of the firmware using the received upgrade data. It includes a step.

펌웨어 업그레이드 데이터를 저장하는 공유기를 이용해 댁내 디지털 기기들의 펌웨어 업그레이드를 푸쉬(push) 또는/및 풀(pull) 방식으로 수행함으로써 기존 펌웨어 업그레이드시 발생할 수 있는 오류를 최소화하되, 오류가 발생하더라도 단말이 동작불능상태에 빠지지 않도록 할 수 있다. 또한 본 발명의 펌웨어 업그레이드는 기존의 기기에 대해서도 쉽게 구현할 수 있어 리소스의 활용을 증대시키고, 업그레이드 절차 수행을 위한 기기의 퍼포먼스를 낭비하지 않으므로 기기의 성능을 향상시킬 수 있다.By using a router to store firmware upgrade data, firmware upgrades of digital devices in the home can be pushed and / or pulled to minimize errors that may occur when upgrading existing firmware, but the terminal may operate even if an error occurs. You can prevent them from falling into a disabled state. In addition, the firmware upgrade of the present invention can be easily implemented for an existing device, thereby increasing the utilization of resources, and does not waste the performance of the device for performing the upgrade procedure, thereby improving the performance of the device.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로 상세하게 설명하기 위하여, 이 발명의 바람직한 실시예를 첨부된 도면을 참조로 설명하기로 한다. 그러나 본 실시예가 이하에서 개시되는 실시예에 한정할 것이 아니라 서로 다양한 형태로 구현될 것이며, 단지 본 실시예는 본 발명의 개시가 완전하도록 하며, 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 도면에서의 요소의 형상등은 보다 명확한 설명을 강조하기 위하여 과장되게 표현된 부분이 있을 수 있으며, 도면상에서 동일 부호로 표시된 요소는 동일 요소를 의미한다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. However, the present embodiment is not limited to the embodiments disclosed below, but will be implemented in various forms, and only this embodiment is intended to complete the disclosure of the present invention, and to those skilled in the art to fully understand the scope of the invention. It is provided to inform you. Shapes of the elements in the drawings may be exaggerated parts to emphasize a more clear description, elements denoted by the same reference numerals in the drawings means the same element.

도 1은 본 발명의 일 예에 따른 펌웨어 업그레이드를 위한 시스템을 나타내는 블록도이다.1 is a block diagram illustrating a system for firmware upgrade according to an embodiment of the present invention.

도 1을 참조하면, 펌웨어 업그레이드를 위한 시스템은 단말(110-1,...110-N), 상기 단말(110-1,...110-N)의 펌웨어를 업그레이드하는 업그레이드 서버(120-1,...,120-M), 및 상기 단말(110-1,...110-N)과 상기 업그레이드 서버(120-1,...,120-M)의 연결을 담당하는 공유기(130)를 포함한다.Referring to FIG. 1, a system for upgrading firmware includes a terminal 110-1,... 110 -N, and an upgrade server 120-upgrading firmware of the terminals 110-1,... 110 -N. 1, ..., 120-M, and a router in charge of the connection between the terminals (110-1, ... 110-N) and the upgrade server (120-1, ..., 120-M) ( 130).

상기 단말(110-1,...110-N)은 펌웨어를 구비하고, 상기 공유기(130)와 유선 또는 무선으로 연결되어 펌웨어를 자동으로 업그레이드할 수 있다. 상기 단말(110-1,...110-N)은 클라이언트(client), 홈네트워크 기기 등으로 불릴 수도 있다. 상기 단말(110-1,...110-N)은 휴대용 단말기, 디지털 카메라, PDA, 각종 가전기기등 통신수단을 구비한 어떠한 디지털 디바이스가 될 수 있다.The terminals 110-1,..., 110 -N may include firmware and may be automatically connected to the router 130 by wire or wirelessly to upgrade firmware. The terminals 110-1,..., 110 -N may be referred to as clients, home network devices, or the like. The terminals 110-1,..., 110 -N may be any digital device having a communication means such as a portable terminal, a digital camera, a PDA, and various home appliances.

상기 업그레이드 서버(120-1,...,120-M)는 상기 단말(110-1,...110-N)의 펌웨어에 대한 업그레이드 데이터를 포함하며, 상기 업그레이드 데이터를 상기 단말(110-1,...110-N)에 직접 전송하거나 또는 상기 공유기(130)로 전송할 수 있다. 상기 업그레이드 서버(120-1,...,120-M)가 상기 업그레이드 데이터를 상기 공유기(130)로 전송하는 경우, 상기 공유기(130)는 상기 단말(110-1,...110-N)의 펌웨어 업그레이드를 수행한다.The upgrade server (120-1, ..., 120-M) includes the upgrade data for the firmware of the terminal (110-1, ... 110-N), and the upgrade data to the terminal (110-) 1, ... 110-N) or directly to the router 130. When the upgrade server (120-1, ..., 120-M) transmits the upgrade data to the router 130, the router 130 is the terminal (110-1, ... 110-N) Perform a firmware upgrade of).

상기 공유기(130)는 유선 또는 무선 통신수단을 구비한 다양한 디지털 디바이스가 될 수 있으며, 적어도 하나의 상기 업그레이드 서버(120-1,...,120-M)와 유선 또는 무선으로 연결될 수 있다. 상기 공유기(130)는 상기 업그레이드 서버(120-1,...,120-M)로부터 수신한 펌웨어 업그레이드 데이터를 이용하여 상기 공유기(130)에 연결된 적어도 하나의 상기 단말(110-1,...110-N)의 펌웨어를 업그레이 드할 수 있다. 상기 유선 또는 무선 통신수단은 범용 직렬 버스(Universal Serial Bus; USB), RS485, 블루투스(bluetooth)등 어떠한 통신수단일 수 있다.The router 130 may be a variety of digital devices having a wired or wireless communication means, and may be connected to at least one of the upgrade servers 120-1,..., 120 -M by wire or wirelessly. The router 130 is connected to the router 130 by using firmware upgrade data received from the upgrade server 120-1,..., 120-M. .110-N) firmware can be upgraded. The wired or wireless communication means may be any communication means such as a universal serial bus (USB), RS485, Bluetooth.

상기 공유기(130)는 상기 단말(110-1,...110-N)의 프로파일(profile)을 저장장치(140)에 저장한다. 프로파일은 상기 단말(110-1,...110-N)의 종류, 제조사명, 하드웨어 버젼, 소프트웨어 버젼, 네트워크 카드 MAC 주소 및 업그레이드 서버(120-1,...,120-M)의 URL 등 단말기에 필요한 정보 일체를 의미한다. 상기 공유기(130)는 홈네트워크에서의 홈서버, 홈게이트웨이(gateway), 호스트(host)등 다른 용어로 불릴 수도 있다. 홈서버 또는 홈게이트웨이는 IP망 뿐만 아니라 다양한 물리망을 통해 단말들과 연결되어 있으므로, IP를 지원하지 않는 다른 단말들의 펌웨어 업그레이드도 수행할 수 있다.The router 130 stores a profile of the terminals 110-1,..., 110 -N in the storage device 140. The profile is the type of the terminal (110-1, ... 110-N), the manufacturer name, hardware version, software version, network card MAC address and URL of the upgrade server (120-1, ..., 120-M) Etc. means all the information required for the terminal. The router 130 may be called in other terms such as a home server, a home gateway, a host, and the like in the home network. Since the home server or the home gateway is connected to the terminals through various physical networks as well as the IP network, firmware upgrades of other terminals that do not support IP may be performed.

도 2는 본 발명의 일 예에 따른 단말의 펌웨어 업그레이드 방법을 나타내는 흐름도이다.2 is a flowchart illustrating a firmware upgrade method of a terminal according to an embodiment of the present invention.

도 2를 참조하면, 상기 단말(110-1,...110-N)이 상기 공유기(130)에 연결된다(S200). 상기 연결은 유선 또는 무선통신수단에 의해 이루어질 수 있다. 상기 연결은 단말의 부팅시 부트로더(bootloader)단과 네트워크간에 이루어질 수 있다. 상기 공유기(130)는 상기 단말(110-1,...110-N)과 연결시 상기 단말(110-1,...110-N)의 프로파일(profile)을 요청하고(S201), 상기 단말(110-1,...110-N)로부터 상기 프로파일(profile)을 수신한 후(S202), 상기 단말(110-1,...110-N)의 프로파일(profile)을 상기 저장장치(140)에 저장한다(S203). 전술된 바와 같이 상기 프로파일은 상기 업그레이드 서버(120-1,...,120-M)의 URL을 포함하되, 펌웨어의 업그 레이드에 필요한 상기 단말의 제반 정보를 포함한다.2, the terminals 110-1,..., 110 -N are connected to the router 130 (S200). The connection may be made by wire or wireless communication means. The connection may be made between the bootloader and the network at the time of booting of the terminal. The router 130 requests a profile of the terminals 110-1,... 110 -N when connected to the terminals 110-1,... 110 -N (S201). After receiving the profile from the terminal 110-1,... 110 -N (S202), the profile of the terminal 110-1,... 110 -N is stored in the storage device. In operation S203, it is stored in 140. As described above, the profile includes URLs of the upgrade servers 120-1,..., 120 -M, and includes all information of the terminal required for upgrading the firmware.

상기 공유기(130)는 상기 단말의 프로파일에 저장된 업그레이드 서버(120-1,...120-M) URL에 질의하여 상기 단말(110-1,...110-N)의 펌웨어 업그레이드 여부를 확인한다(S204). 업그레이드 여부 확인은 주기적으로 또는 필요에 따라 비주기적으로 상기 공유기(130)에 의해 수행될 수 있다. 상기 펌웨어 업그레이드 여부 확인을 위해 상기 단말(110-1,...110-N)의 프로파일의 정보에 대한 인식이 요구된다. 펌웨어의 업그레이드 여부는 단말(110-1,...110-N)의 펌웨어 버젼이 최신 버젼인지 아닌지 여부에 의해 결정될 수 있다.The router 130 checks whether the firmware of the terminals 110-1, ... 110-N is upgraded by querying the URLs of the upgrade servers 120-1, ... 120-M stored in the profile of the terminal. (S204). The upgrade check may be performed by the router 130 periodically or aperiodically as necessary. In order to check whether the firmware is upgraded, recognition of the profile information of the terminals 110-1,..., 110 -N is required. Whether to upgrade the firmware may be determined by whether the firmware version of the terminal (110-1, ... 110-N) is the latest version.

펌웨어 업그레이드 여부 확인 결과 펌웨어의 업그레이드가 필요한 경우 상기 공유기(130)는 상기 단말(110-1,...110-N)에 필요한 업그레이드 데이터(또는 이미지(image))를 상기 업그레이드 서버(120-1,...120-M)에 요청하고(S205), 상기 업그레이드 서버(120-1,...120-M)로부터 상기 업그레이드 이미지를 수신한다(S206).If the firmware upgrade is required as a result of the firmware upgrade check, the router 130 provides upgrade data (or image) necessary for the terminals 110-1,..., 110 -N to the upgrade server 120-1. ... 120 -M) and receives the upgrade image from the upgrade server 120-1, ... 120 -M (S206).

상기 공유기(130)는 상기 업그레이드 이미지를 상기 저장장치에 저장한다(S207). 상기 업그레이드 데이터가 상기 단말(110-1,...110-N)의 메모리에만 로드되어 업그레이드되는 도중 전원이 차단되면 원래 저장하고 있던 업그레이드 데이터를 잃어버릴 위험이 있다. 이와 같이 상기 단말(110-1,...110-N)이 사용중이거나 또는 업그레이드가 수행될 수 없는 상황인 경우에, 공유기(130)가 상기 단말(110-1,...110-N)의 업그레이드 데이터를 별도의 저장장치에 저장해 놓으면, 펌웨어 업그레이드에 오류가 발생하여 상기 단말(110-1,...110-N)이 동작불능상태에 빠지더라도 업그레이드 데이터를 잃어버릴 위험이 없어진다.The router 130 stores the upgrade image in the storage device (S207). If the upgrade data is loaded only in the memory of the terminals 110-1,. As described above, when the terminals 110-1,... 110 -N are in use or when the upgrade cannot be performed, the router 130 is connected to the terminals 110-1,... 110 -N. If the upgrade data is stored in a separate storage device, an error occurs in the firmware upgrade and there is no risk of losing the upgrade data even if the terminals 110-1, ... 110-N are in an inoperable state.

상기 공유기(130)는 상기 업그레이드 데이터를 상기 단말(110-1,...110-N)로 전송하고(S208), 상기 단말(110-1,...110-N)은 펌웨어를 상기 업그레이드 데이터에 기초하여 업그레이드한다(S209). 상기 공유기(130)는 상기 업그레이드 데이터를 상기 단말(110-1,...110-N)의 메모리로 가져와 ROM에 쓰기를 시도한다. 이때 상기 단말(110-1,...110-N)의 전원등에 문제가 발생하여 리부팅이 되더라도, 상기 단말(110-1,...110-N)의 부트로더는 동일한 프로세스를 다시 수행함으로써 업그레이드를 재시도한다.The router 130 transmits the upgrade data to the terminals 110-1,... 110 -N (S208), and the terminal 110-1,... 110 -N upgrades the firmware. Upgrade based on the data (S209). The router 130 attempts to write the upgrade data to the memory of the terminals 110-1,. At this time, even if a problem occurs in the power supply of the terminal (110-1, ... 110-N) and reboot, the boot loader of the terminal (110-1, ... 110-N) by performing the same process again Retry the upgrade.

상기 공유기(130)는 상기 단말(110-1,...110-N)의 프로파일을 계속 가지고 있으면서 지속적으로 상기 단말(110-1,...110-N)의 업그레이드 여부를 체크하고, 필요한 경우 업그레이드 데이터를 상기 업그레이드 서버(120-1,...120-M)로부터 수신하여 상기 저장장치에 저장하고, 상기 단말(110-1,...110-N)의 펌웨어 업그레이드를 수행할 수 있다.The router 130 continuously maintains the profile of the terminals 110-1,... 110 -N and continuously checks whether the terminals 110-1,... 110 -N are upgraded, and If the upgrade data is received from the upgrade server (120-1, ... 120-M) and stored in the storage device, and can perform the firmware upgrade of the terminal (110-1, ... 110-N) have.

이하에서 본 발명에 따른 펌웨어의 업그레이드 수행방법에 관하여 서술된다. Hereinafter, a method of performing an upgrade of firmware according to the present invention will be described.

일 예로서, 펌웨어의 업그레이드는 푸쉬(push)방식에 의해 수행될 수 있다. 푸쉬 방식은 상기 공유기(130)가 상기 단말(110-1,...110-N)에게 주기적 또는 비주기적으로 펌웨어 업그레이드 수행요청을 하여, 상기 단말(110-1,...110-N)의 상태에 따라 펌웨어의 업그레이드 가능 여부를 판단한 후, 상기 단말(110-1,...110-N)로 업그레이드 데이터를 전송하여 상기 단말(110-1,...110-N)이 업그레이드를 수행하는 방법이다. 즉, 공유기(130)는 상기 단말(110-1,...110-N)의 상태에 따라 업그 레이드를 수행할지 여부를 결정한다.As an example, the upgrade of the firmware may be performed by a push method. In the push method, the router 130 performs a firmware upgrade request to the terminals 110-1,... 110 -N periodically or aperiodically, so that the terminals 110-1,... 110 -N After determining whether the firmware can be upgraded based on the state of the firmware, the terminal 110-1,... 110 -N upgrades the upgrade data by transmitting upgrade data to the terminals 110-1,. How to do it. That is, the router 130 determines whether to upgrade according to the states of the terminals 110-1,..., 110 -N.

예를 들어, 상기 공유기(130)가 상기 단말(110-1,...110-N)로 펌웨어의 업그레이드에 관해 질의한 데 대하여, 상기 단말(110-1,...110-N)은 상기 단말(110-1,...110-N)이 현재 사용자에 의해 사용되는 중이 아닌 경우(stand-by상태) 상기 공유기(130)로 업그레이드 수행을 허락하는 확답메시지를 전송할 수 있다. 또는 상기 단말(110-1,...110-N)은 사용자가 상기 단말(110-1,...110-N)을 사용하는 패턴(특정 시간대)을 고려하여 상기 공유기(130)로 상기 확답메시지를 전송한다. 상기 공유기(130)는 상기 단말(110-1,...110-N)로부터 확답메시지를 수신하면 업그레이드 데이터를 상기 단말(110-1,...110-N)로 전송하고, 업그레이드를 수행한다. 푸쉬 방식은 업그레이드 여부의 판단을 위한 상기 공유기(130)와 상기 단말(110-1,...110-N)간 별도의 프로토콜이 요구되며, 비교적 안전한 방식에 속한다.For example, when the router 130 inquires about the upgrade of the firmware to the terminals 110-1,..., 110 -N, the terminals 110-1,. When the terminals 110-1,..., 110 -N are not currently being used by the user (stand-by state), the terminal 110-1,..., 110 -N may transmit a confirmation message to allow the upgrade to be performed to the router 130. Alternatively, the terminal 110-1,..., 110 -N may be configured to the router 130 in consideration of a pattern (specific time zone) in which the user uses the terminal 110-1,..., 110 -N. Send a confirmation message. When the router 130 receives a confirmation message from the terminals 110-1,... 110 -N, the router 130 transmits upgrade data to the terminals 110-1,... 110 -N, and performs an upgrade. do. The push method requires a separate protocol between the router 130 and the terminals 110-1,... 110 -N for determining whether to upgrade, and belongs to a relatively safe method.

다른 예로서, 펌웨어의 업그레이드는 풀(pull)방식에 의해 수행될 수 있다. 풀 방식은 상기 단말(110-1,...110-N)이 로드(load)되는 직후, 또는 상기 단말(110-1,...110-N)이 로드된 후로부터 주기적으로 상기 단말(110-1,...110-N)이 상기 공유기(130)에 직접 업그레이드 데이터의 존재여부를 확인하여, 상기 공유기(130)에 저장된 업그레이드 데이터가 있으면 펌웨어 업그레이드를 수행하는 방식이다. 풀 방식은 상기 단말(110-1,...110-N)이 공유기(130)가 저장하고 있는 업그레이드 데이터가 있는지 여부를 묻는 메시지를 상기 공유기(130)로 전송한다.As another example, the upgrade of the firmware may be performed by a pull method. The pull method is performed immediately after the terminals 110-1,... 110 -N are loaded, or periodically after the terminals 110-1,... 110 -N are loaded. 110-1,... 110-N checks whether the upgrade data is directly present in the router 130, and if there is upgrade data stored in the router 130, firmware upgrade is performed. In the pull method, the terminal 110-1,... 110 -N transmits a message to the router 130 asking whether there is upgrade data stored in the router 130.

상기 공유기(130)에 저장된 업그레이드 데이터가 있는 경우, 상기 공유기(130)는 업그레이드 데이터를 상기 단말(110-1,...110-N)로 전송한다. 상기 단 말(110-1,...110-N)은 상기 업그레이드 데이터를 수신하여 ROM에 쓰는 방식으로서, 일반적으로 초기에 로드될 때 부트로더(bootloader) 단계에서 네트워크가 연결된 후 시도된다.If there is upgrade data stored in the router 130, the router 130 transmits the upgrade data to the terminals 110-1, ... 110-N. The terminals 110-1,..., 110 -N receive the upgrade data and write the data to the ROM. In general, the terminals 110-1,.

또 다른 예로서, 펌웨어의 업그레이드는 혼합방식에 의해 수행될 수 있다. 혼합방식은 푸쉬방식에 의하여 업그레이드, 업그레이드 데이터의 수신에 오류가 발생하거나 업그레이드를 수행하는 중 오류가 발생하는 경우, 상기 단말(110-1,...110-N)이 풀 방식으로 상기 공유기(130)에 업그레이드 여부를 요청하는 방식이다.As another example, the upgrade of firmware may be performed by a mixed method. In the mixed method, when an error occurs during reception of upgrade or upgrade data by a push method or an error occurs during the upgrade, the terminals 110-1,... 130) whether to upgrade or not.

상술한 모든 기능은 상기 기능을 수행하도록 코딩된 소프트웨어나 프로그램 코드 등에 따른 마이크로프로세서, 제어기, 마이크로제어기, ASIC(Application Specific Integrated Circuit) 등과 같은 프로세서에 의해 수행될 수 있다. 상기 코드의 설계, 개발 및 구현은 본 발명의 설명에 기초하여 당업자에게 자명하다고 할 것이다.All of the above functions may be performed by a processor such as a microprocessor, a controller, a microcontroller, an application specific integrated circuit (ASIC), or the like according to software or program code coded to perform the function. The design, development and implementation of the code will be apparent to those skilled in the art based on the description of the present invention.

이상 본 발명에 대하여 실시예를 참조하여 설명하였지만, 해당 기술 분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시켜 실시할 수 있음을 이해할 수 있을 것이다. 따라서 상술한 실시예에 한정되지 않고, 본 발명은 이하의 특허청구범위의 범위 내의 모든 실시예들을 포함한다고 할 것이다.Although the present invention has been described above with reference to the embodiments, it will be apparent to those skilled in the art that the present invention may be modified and changed in various ways without departing from the spirit and scope of the present invention. I can understand. Therefore, the present invention is not limited to the above-described embodiment, and the present invention will include all embodiments within the scope of the following claims.

도 1은 본 발명의 일 예에 따른 펌웨어 업그레이드를 위한 시스템을 나타내는 블록도이다.1 is a block diagram illustrating a system for firmware upgrade according to an embodiment of the present invention.

도 2는 본 발명의 일 예에 따른 단말의 펌웨어 업그레이드 방법을 나타내는 흐름도이다.2 is a flowchart illustrating a firmware upgrade method of a terminal according to an embodiment of the present invention.

Claims (7)

통신수단을 구비한 단말;A terminal having a communication means; 상기 단말의 펌웨어 업그레이드 데이터를 포함하는 업그레이드 서버;An upgrade server including firmware upgrade data of the terminal; 상기 단말의 펌웨어 업그레이드에 관한 프로파일(profile)을 저장하고, 상기 프로파일을 이용하여 상기 업그레이드 서버로부터 상기 업그레이드 데이터를 수신하며, 상기 수신된 업그레이드 데이터를 저장하고, 상기 저장된 업그레이드 데이터를 푸쉬(push)방식 또는 풀(pull)방식에 의해 상기 단말로 전송하는 공유기를 포함하는 펌웨어 업그레이드 시스템.A profile related to firmware upgrade of the terminal is stored, the upgrade data is received from the upgrade server using the profile, the received upgrade data is stored, and the stored upgrade data is pushed. Or a router transmitting to the terminal by a pull method. 제 1 항에 있어서,The method of claim 1, 상기 공유기는 홈네트워크에 있어서의 홈게이트웨이인, 펌웨어 업그레이드 시스템.And said router is a home gateway in a home network. 제 1 항에 있어서,The method of claim 1, 상기 프로파일은 상기 단말의 종류, 하드웨어 버젼, 소프트웨어 버젼, 네트워크 장치의 MAC 주소 및 상기 업그레이드 서버의 URL 중 적어도 하나를 포함하는, 펌웨어 업그레이드 시스템.And the profile includes at least one of a type of the terminal, a hardware version, a software version, a MAC address of a network device, and a URL of the upgrade server. 단말의 펌웨어 업그레이드에 관한 프로파일(profile)을 저장하는 단계;Storing a profile relating to a firmware upgrade of the terminal; 상기 단말의 펌웨어 업그레이드의 필요여부를 업그레이드 서버에 질의하는 단계;Querying an upgrade server whether a firmware upgrade of the terminal is required; 상기 프로파일을 이용하여 상기 업그레이드 서버로부터 상기 업그레이드 데이터를 수신하는 단계;Receiving the upgrade data from the upgrade server using the profile; 상기 수신된 업그레이드 데이터를 저장하는 단계;Storing the received upgrade data; 상기 펌웨어 업그레이드 수행을 상기 단말로 요청하는 단계;Requesting the terminal to perform the firmware upgrade; 상기 단말로부터 요청에 따른 확답메시지를 수신하는 단계; 및Receiving a confirmation message according to the request from the terminal; And 상기 저장된 업그레이드 데이터를 상기 단말로 전송하는 단계를 포함하는, 펌웨어 업그레이드 수행방법.And transmitting the stored upgrade data to the terminal. 단말의 펌웨어 업그레이드에 관한 프로파일을 저장하는 단계;Storing a profile relating to a firmware upgrade of the terminal; 상기 단말의 펌웨어 업그레이드의 필요여부를 업그레이드 서버에 질의하는 단계;Querying an upgrade server whether a firmware upgrade of the terminal is required; 상기 프로파일을 이용하여 상기 업그레이드 서버로부터 상기 업그레이드 데이터를 수신하는 단계;Receiving the upgrade data from the upgrade server using the profile; 상기 수신된 업그레이드 데이터를 저장하는 단계;Storing the received upgrade data; 상기 단말로부터 상기 업그레이드 데이터가 존재하는지 여부를 묻는 메시지을 수신하는 단계; 및Receiving a message asking whether the upgrade data exists from the terminal; And 상기 요청에 따라 상기 업그레이드 데이터를 상기 단말로 전송하는 단계를 포함하는, 펌웨어 업그레이드 시스템.And transmitting the upgrade data to the terminal according to the request. 펌웨어 업그레이드 수행을 공유기로부터 요청받는 단계;Receiving a request for a firmware upgrade from a router; 상기 요청에 대하여 상기 펌웨어 업그레이드 수행을 허락하는 확답메시지를 상기 공유기로 전송하는 단계;Sending a confirmation message to the router to allow the firmware upgrade to be performed on the request; 상기 공유기로부터 상기 공유기에 저장된 업그레이드 데이터를 수신하는 단계; 및Receiving upgrade data stored in the router from the router; And 상기 수신된 업그레이드 데이터를 이용하여 펌웨어의 업그레이드를 수행하는 단계를 포함하는, 펌웨어 업그레이드 수행방법.Performing upgrade of the firmware by using the received upgrade data. 저장된 업그레이드 데이터가 있는지를 묻는 메시지를 공유기로 전송하는 단계;Sending a message to the router inquiring whether there is stored upgrade data; 상기 메시지에 대한 응답으로 상기 저장된 업그레이드 데이터를 상기 공유기로부터 수신하는 단계;Receiving the stored upgrade data from the router in response to the message; 상기 수신된 업그레이드 데이터를 이용하여 펌웨어의 업그레이드를 수행하는 단계를 포함하는, 펌웨어 업그레이드 수행방법.Performing upgrade of the firmware by using the received upgrade data.
KR1020080002801A 2008-01-09 2008-01-09 Firmware upgrade system KR20090076712A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080002801A KR20090076712A (en) 2008-01-09 2008-01-09 Firmware upgrade system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080002801A KR20090076712A (en) 2008-01-09 2008-01-09 Firmware upgrade system

Publications (1)

Publication Number Publication Date
KR20090076712A true KR20090076712A (en) 2009-07-13

Family

ID=41333775

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080002801A KR20090076712A (en) 2008-01-09 2008-01-09 Firmware upgrade system

Country Status (1)

Country Link
KR (1) KR20090076712A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101497934B1 (en) * 2013-03-15 2015-03-03 (주)로엔케이 Method for upgrading firmware of power line communication modem
WO2015056833A1 (en) * 2013-10-14 2015-04-23 Kyungpook National University Industry-Academic Cooperation Foundation Web-based real time data pushing method and system thereof
CN111258611A (en) * 2020-01-22 2020-06-09 重庆长安汽车股份有限公司 Method for upgrading firmware of whole vehicle in air
CN114666783A (en) * 2020-12-23 2022-06-24 深圳Tcl新技术有限公司 Upgrading method, device, terminal and storage medium of wireless network module
KR20230097339A (en) * 2021-12-24 2023-07-03 (주)필리아테크놀러지 Digital door lock capable of updating firmware installed therein, and firmware updating method thereof

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101497934B1 (en) * 2013-03-15 2015-03-03 (주)로엔케이 Method for upgrading firmware of power line communication modem
WO2015056833A1 (en) * 2013-10-14 2015-04-23 Kyungpook National University Industry-Academic Cooperation Foundation Web-based real time data pushing method and system thereof
CN111258611A (en) * 2020-01-22 2020-06-09 重庆长安汽车股份有限公司 Method for upgrading firmware of whole vehicle in air
CN114666783A (en) * 2020-12-23 2022-06-24 深圳Tcl新技术有限公司 Upgrading method, device, terminal and storage medium of wireless network module
KR20230097339A (en) * 2021-12-24 2023-07-03 (주)필리아테크놀러지 Digital door lock capable of updating firmware installed therein, and firmware updating method thereof

Similar Documents

Publication Publication Date Title
TWI363298B (en) Communication device and firmware update method thereof
CN107926075B (en) System and method for supporting data communication in heterogeneous environment
CN106020875B (en) Firmware update management method and device of embedded terminal
EP3399408B1 (en) Information processing apparatus and computer readable storage medium
KR101541112B1 (en) FOTA system and the method
CN103748572A (en) Bios network access
KR20090076712A (en) Firmware upgrade system
CN111147314A (en) Switch upgrading method, device and storage medium
WO2012094853A1 (en) Method, device and system for installing terminal software
CN104077163A (en) Installing method, device and terminal for installation package
KR20180050001A (en) Firmware upgrade system and method for IoT
US10079689B2 (en) Method for realizing smart home service, smart home terminal and service hotspots
US20150220350A1 (en) Information processing device and method for managing information processing device
CN110837381B (en) Software upgrading method and device for projection equipment
CN110633086B (en) Blade server
KR100524588B1 (en) succeeding method of data in mobile
EP1829335A1 (en) Network interface with remote control functionality
CN103608771B (en) Share and access to local device
MX2008002494A (en) Method and apparatus for configuring a device from a network.
US20050257212A1 (en) System and method for autonomic software delivery for personal area networks
EP2425336A1 (en) Mobile operating system management method and system
KR20080038828A (en) System and method for upgrading firmware automatically
KR20160011090A (en) Apparatus and Method for Updating Application Program of Internet of Things
JP2012059080A (en) Electronic equipment and firmware update method
WO2011041955A1 (en) System and method for communicating between intelligent memory card and external host apparatus

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