KR100872180B1 - Apparatus, system and method for remotely upgrading the firmware of a device - Google Patents

Apparatus, system and method for remotely upgrading the firmware of a device Download PDF

Info

Publication number
KR100872180B1
KR100872180B1 KR1020070075061A KR20070075061A KR100872180B1 KR 100872180 B1 KR100872180 B1 KR 100872180B1 KR 1020070075061 A KR1020070075061 A KR 1020070075061A KR 20070075061 A KR20070075061 A KR 20070075061A KR 100872180 B1 KR100872180 B1 KR 100872180B1
Authority
KR
South Korea
Prior art keywords
firmware
management server
remote
message
electronic device
Prior art date
Application number
KR1020070075061A
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 KR1020070075061A priority Critical patent/KR100872180B1/en
Application granted granted Critical
Publication of KR100872180B1 publication Critical patent/KR100872180B1/en

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

An apparatus for upgrading the firmware of an electronic device is provided to remotely upgrade the firmware of the electronic device which is located at a distance place as having no communication means. An apparatus for remotely upgrading the firmware of an electronic device comprises the followings: the first data transceiver(440) which receives commands and messages from a management server or transmits them to the management server; a wireless data converting unit(420) which converts a part of commands and messages so as to be included in a short message; a memory(450) for storing a new firmware program received from the management server; the second data transceiver(410) which transmits or receives the commands and messages to or from the electronic device; and a central control part controlling the operation overall.

Description

원격 펌웨어 업그레이드 장치, 시스템 및 방법{APPARATUS, SYSTEM AND METHOD FOR REMOTELY UPGRADING THE FIRMWARE OF A DEVICE}APPARATUS, SYSTEM AND METHOD FOR REMOTELY UPGRADING THE FIRMWARE OF A DEVICE}

본 발명은 원격 펌웨어 업그레이드 장치, 시스템 및 방법에 관한 것으로서, 보다 상세하게는 통신 수단을 구비하고 있지 않은 전자기기의 펌웨어를 원격지에서 업그레이드하는 원격 펌웨어 업그레이드 장치, 시스템 및 방법에 관한 것이다. The present invention relates to a remote firmware upgrade apparatus, system and method, and more particularly, to a remote firmware upgrade apparatus, system and method for remotely upgrading the firmware of an electronic device that does not have a communication means.

펌웨어는 일반적으로 롬(ROM)에 저장된 하드웨어를 제어하는 마이크로 프로그램을 의미한다. 프로그램이라는 관점에서는 소프트웨어와 동일하지만 하드웨어와 밀접한 관계를 가지고 있다는 점에서 일반 응용소프트웨어와 구분되어 펌웨어는 소프트웨어와 하드웨어의 특성을 모두 가지고 있다고 할 수 있다.Firmware generally refers to a micro program that controls hardware stored in a 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.

예를 들어 어떤 기능을 발휘하는 하드웨어를 만든다고 할 때, 그것을 제어하는 모든 회로를 하드웨어로만 만들면, 그 구조도 대단히 복잡해지고 심지어는 논리적인 표현을 하기가 어려운 부분도 발생한다. For example, if you make hardware that functions, if you make all the circuits that control it only in hardware, the structure becomes very complicated and even difficult to express logically.

이런 경우 상당부분을 소프트웨어로 대체하되 그 소프트웨어가 저장된 기억장치를 하드웨어의 제어 회로중의 중심부분으로 구성하면, 매우 간단하면서도 적은 비용으로 문제를 해결할 수 있게 된다. 이렇게 만든 하드웨어적인 소프트웨어를 펌 웨어라 한다.In such a case, a large part of the software is replaced, but the memory stored in the software is configured as a central part of the control circuit of the hardware, so that the problem can be solved very simply and at low cost. The hardware software created in this way is called firmware.

이렇게 할 경우 하드웨어의 입장에서는 별도의 논리회로를 가진 것이 아니기 때문에 소프트웨어적인 특성을 가지고 있지만, 소프트웨어 입장에서는 마이크로 프로그램이 하드웨어를 제어하기 때문에 하드웨어적인 특성을 가진다고 설명할 수 있다.In this case, the hardware has a software characteristic because it does not have a separate logic circuit, but from the software perspective, it can be described as having a hardware characteristic because the micro program controls the hardware.

한편, 펌웨어는 전자기기의 성능향상 또는 오류 해결을 위하여 신규 펌웨어 프로그램으로재설치되어야 할 필요가 있다. 이를 흔히 "펌웨어 업그레이드"라고 하는데, 펌웨어 업그레이드는 신규 펌웨어 프로그램을 준비한 후, 해당 전자기기에 적절한 방법으로 신규 펌웨어 프로그램을 다운로드하여 설치를 수행하게 된다. On the other hand, the firmware needs to be reinstalled as a new firmware program in order to improve the performance of the electronic device or to solve the error. This is commonly referred to as "firmware upgrade," which is to prepare a new firmware program, and then download and install the new firmware program in an appropriate manner to the corresponding electronic device.

이때, 데이터 통신이 가능한 통신 수단을 구비한 전자기기의 경우에는, 원격지에서 제공되는 신규 펌웨어로 업그레이드를 수행하기 위하여, 해당 전자기기를 통신 네트워크를 통하여 원격지의 펌웨어 전송 서버 등의 신규 펌웨어를 제공하는 수단에 연결함으로써 펌웨어 프로그램을 다운로드받은 후, 펌웨어 업그레이드를 수행할 수 있는 방법이 다수 제안된 바 있다. At this time, in the case of an electronic device having a communication means capable of data communication, in order to perform the upgrade to a new firmware provided from a remote location, the electronic device provides new firmware such as a firmware transmission server at a remote location through a communication network. After downloading the firmware program by connecting the means, a number of methods for performing a firmware upgrade have been proposed.

반면, 통신 수단을 구비하고 있지 않은 전자기기의 경우에는 펌웨어를 업그레이드하는 것이 용이하지 않다. 전자기기들이 점차로 고성능, 고기능화되어 감에 따라 마이크로 프로세서를 갖추고, 지속적인 성능개선 및 오류 수정을 위하여 펌웨어 프로그램을 업그레이드할 필요성이 증대되어 가고 있다. On the other hand, in the case of an electronic device which is not equipped with a communication means, it is not easy to upgrade the firmware. As electronic devices become more advanced and more functional, there is an increasing need to upgrade the firmware program with microprocessors and for continuous performance improvement and error correction.

그러나, 통신 수단을 구비하고 있지 않은 전자기기의 경우에는 신규 펌웨어 프로그램을 해당 전자기기로 다운로드하는 절차가 용이하지 않다는 문제점이 있다. However, in the case of an electronic device having no communication means, there is a problem in that a procedure for downloading a new firmware program to the electronic device is not easy.

예컨대, 해당 전자기기에 펌웨어 프로그램을 다운로드하기 위하여, 먼저 PC 등의 전산장비에 신규 펌웨어 프로그램을 준비한다. 그 후, 시리얼 포트 또는 USB 포트 등을 통하여 전산장비와 전자기기를 연결하여 신규 펌웨어 프로그램을 전자기기에 다운로드하여 펌웨어 업그레이드를 수행하는 방법이 있다. For example, in order to download a firmware program to the electronic device, a new firmware program is first prepared in a computer equipment such as a PC. Then, there is a method of performing a firmware upgrade by downloading a new firmware program to the electronic device by connecting the computer equipment and the electronic device through a serial port or a USB port.

그러나, 이러한 방법으로 펌웨어 업그레이드를 수행하는 경우에는, 해당 전자기기와 멀리 떨어진 원격지에서 펌웨어 업그레이드를 수행하는 것이 곤란하다는 문제점이 있었다. However, when the firmware upgrade is performed in this manner, there is a problem that it is difficult to perform the firmware upgrade at a remote location away from the electronic device.

따라서, 통신 수단을 구비하고 있지 않은 전자기기의 펌웨어 업그레이드를 위한 범용적인 원격 펌웨어 업그레이드 장치 및 방법의 발명에 관한 요청이 그동안 꾸준히 제기되어 왔다. Therefore, there has been a steady request for the invention of a universal remote firmware upgrade apparatus and method for firmware upgrade of an electronic device which is not equipped with a communication means.

본 발명은 상기와 같은 문제점을 해결하기 위하여 착안된 것으로서, 통신 수단을 구비하고 있지 않은 전자기기의 원격 펌웨어 업그레이드 장치, 시스템 및 방법을 제공하는 것을 목적으로 한다.The present invention has been conceived to solve the above problems, and an object thereof is to provide an apparatus, a system and a method for upgrading a remote firmware of an electronic device which is not provided with a communication means.

상기와 같은 목적을 달성하기 위하여, 본 발명에 의한 원격 펌웨어 업그레이드 장치는, 상기 원격 펌웨어 업그레이드 장치 외부의 관리서버로부터 신규 펌웨어 프로그램을 수신하고, 상기 신규 펌웨어 프로그램의 송수신에 필요한 명령어 및 메시지를 상기 관리서버로부터 수신하거나 상기 관리서버에 송신하는 제1 데이터 송수신부와, 상기 관리서버로 송신하는 상기 명령어 및 상기 메시지 중 일부를 단문 메시지에 포함되도록 변환하는 무선 데이터 변환부와, 상기 관리서버로부터 수신한 상기 신규 펌웨어 프로그램을 저장하는 저장장치부와, 상기 신규 펌웨어 프로그램을 상기 전자기기로 송신하고, 상기 신규 펌웨어 프로그램의 송수신에 필요한 상기 명령어 및 상기 메시지를 상기 전자기기로 송신하거나 상기 전자기기로부터 수신하는 제2 데이터 송수신부 및 상기 신규 펌웨어 프로그램을 상기 관리서버로부터 수신하여 상기 전자기기로 송신하기 위하여 필요한 동작 전반을 제어하는 중앙 제어부를 포함한다. In order to achieve the above object, the remote firmware upgrade apparatus according to the present invention receives a new firmware program from a management server outside the remote firmware upgrade apparatus, and manages the commands and messages required for transmission and reception of the new firmware program. A first data transmission / reception unit received from a server or transmitted to the management server, a wireless data conversion unit converting a part of the command and the message transmitted to the management server to be included in a short message, and received from the management server. A storage unit for storing the new firmware program, transmitting the new firmware program to the electronic device, and transmitting or receiving the command and the message necessary for the transmission and reception of the new firmware program to the electronic device or from the electronic device. 2nd day Receives the transmitting and receiving unit and the new firmware program from the management server comprises a central control unit for controlling the overall operation required to transmit to the electronic device.

또한, 본 발명에 의한 원격 펌웨어 업그레이드 관리서버는, 이동통신망을 통해 연결된 상기 원격 펌웨어 업그레이드 서버 외부의 원격 펌웨어 업그레이드 장치 에 신규 펌웨어 프로그램을 송신하고, 상기 신규 펌웨어 프로그램의 송수신에 필요한 명령어 및 메시지를 상기 원격 펌웨어 업그레이드 장치에 송신하거나 상기 원격 펌웨어 업그레이드 장치로부터 수신하는 무선 데이터 송수신부와, 상기 원격 펌웨어 업그레이드 장치로부터 수신한 상기 명령어 및 상기 메시지를 분석하는 무선 데이터 분석부와, 상기 원격 펌웨어 업그레이드 장치에 전송할 상기 전자기기에 관한 상기 신규 펌웨어 프로그램을 적어도 하나 저장하는 데이터 저장부 및 상기 신규 펌웨어 프로그램을 상기 원격 펌웨어 업그레이드 장치를 경유하여 상기 전자기기로 송신하기 위하여 필요한 동작 전반을 제어하는 관리 제어부를 포함한다. In addition, the remote firmware upgrade management server according to the present invention transmits a new firmware program to a remote firmware upgrade apparatus external to the remote firmware upgrade server connected through a mobile communication network, and transmits a command and a message necessary for transmitting and receiving the new firmware program. A wireless data transmission / reception unit to be transmitted to or received from a remote firmware upgrade device, a wireless data analysis unit to analyze the command and message received from the remote firmware upgrade device, and to be transmitted to the remote firmware upgrade device A data storage unit for storing at least one new firmware program for the electronic device and the new firmware program to the electronic device via the remote firmware upgrade apparatus; W includes a management controller for controlling the overall operation required.

또한, 본 발명에 의한 원격 펌웨어 업그레이드 시스템은, 이동통신 모듈을 구비하고, 상기 이동통신 모듈을 통하여 이동통신 네트워크의 무선망에 연결되는 원격 펌웨어 업그레이드 장치와, 상기 이동통신 네트워크의 유선망에 연결되는 관리서버를 포함하며, 상기 원격 펌웨어 업그레이드 장치에 연결된 전자기기에 관한 신규 펌웨어 프로그램을 상기 관리서버로부터 상기 원격 펌웨어 업그레이드 장치로 전송한 후, 다시 상기 전자기기로 전송한다. In addition, the remote firmware upgrade system according to the present invention includes a remote firmware upgrade device having a mobile communication module, connected to a wireless network of a mobile communication network through the mobile communication module, and managed to be connected to a wired network of the mobile communication network. It includes a server, and transmits the new firmware program for the electronic device connected to the remote firmware upgrade device from the management server to the remote firmware upgrade device, and then to the electronic device again.

또한, 본 발명에 의한 원격 펌웨어 업그레이드 방법은, 이동통신 네트워크를 통하여 관리서버로부터 특정 전자기기에 관한 신규 펌웨어 프로그램을 수신하는 단계와, 상기 신규 펌웨어 프로그램을 상기 전자기기로 송신하는 단계를 포함한다. The remote firmware upgrade method according to the present invention includes receiving a new firmware program related to a specific electronic device from a management server through a mobile communication network, and transmitting the new firmware program to the electronic device.

또한, 본 발명의 다른 측면에 의한 원격 펌웨어 업그레이드 방법은, 관리서버가 상기 원격 펌웨어 업그레이드 장치로 상기 전자기기에 관한 신규 펌웨어 프로그램의 송신을 준비하는 단계와, 상기 관리서버가 이동통신 네트워크를 통하여 상 기 원격 펌웨어 업그레이드 장치로 상기 신규 펌웨어 프로그램을 송신하는 단계를 포함한다. In addition, the remote firmware upgrade method according to another aspect of the present invention, the management server to prepare for the transmission of the new firmware program for the electronic device to the remote firmware upgrade device, the management server through the mobile communication network And transmitting the new firmware program to a remote firmware upgrade apparatus.

본 발명에 의한 이동통신 중계기의 원격 펌웨어 업그레이드 시스템 및 방법을 이용하면, 통신 수단을 구비하고 있지 않은 전자기기에 대해서도 해당 전자기기가 설치된 현장에 직접 출동하지 않고도 해당 전자기기의 펌웨어를 원격으로 업그레이드할 수 있다.By using the remote firmware upgrade system and method of the mobile communication repeater according to the present invention, even if the electronic device does not have a communication means to remotely upgrade the firmware of the electronic device without having to go directly to the site where the electronic device is installed Can be.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다.Throughout the specification, when a part is "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element in between. .

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise. In addition, the terms “… unit”, “… unit”, “module”, etc. described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software. have.

본 명세서에서 이동국(Mobile Station, MS)은 단말(terminal), 이동 단말(Mobile Terminal, MT), 가입자국(Subscriber Station, SS), 휴대 가입자국(Portable Subscriber Station, PSS), 사용자 장치(User Equipment, UE), 접근 단말(Access Terminal, AT) 등을 지칭할 수도 있고, 이동 단말, 가입자국, 휴대 가입자 국, 사용자 장치 등의 전부 또는 일부의 기능을 포함할 수도 있다.In this specification, a mobile station (MS) is a terminal, a mobile terminal (MT), a subscriber station (SS), a portable subscriber station (PSS), a user equipment (User Equipment). It may also refer to a user equipment (UE), an access terminal (AT), and the like, and may include all or some functions of a mobile terminal, a subscriber station, a portable subscriber station, a user device, and the like.

본 명세서에서 기지국(Base Station, BS)은 접근점(Access Point, AP), 무선 접근국(Radio Access Station, RAS), 노드B(Node B), 송수신 기지국(Base Transceiver Station, BTS), MMR(Mobile Multihop Relay)-BS 등을 지칭할 수도 있고, 접근점, 무선 접근국, 노드B, 송수신 기지국, MMR-BS 등의 전부 또는 일부의 기능을 포함할 수도 있다.In the present specification, a base station (BS) is an access point (AP), a radio access station (Radio Access Station, RAS), a Node B (Node B), a base transceiver station (Base Transceiver Station, BTS), MMR ( Mobile Multihop Relay) -BS and the like, and may include all or part of functions such as an access point, a radio access station, a Node B, a base transceiver station, and an MMR-BS.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈", "블록" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise. In addition, the terms “… unit”, “… unit”, “module”, “block”, etc. described in the specification mean a unit that processes at least one function or operation, which is hardware or software or a combination of hardware and software. It can be implemented as.

이제 본 발명의 실시예에 따른 원격 펌웨어 업그레이드 장치, 시스템 및 방법에 대하여 도면을 참고로 하여 상세하게 설명한다. Now, a remote firmware upgrade apparatus, system and method according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 제1 실시예에 의한 원격 펌웨어 업그레이드 시스템의 전체적인 구성을 나타낸 개략도이다. 1 is a schematic diagram showing the overall configuration of a remote firmware upgrade system according to a first embodiment of the present invention.

도 1에 나타낸 바와 같이, 원격 펌웨어 업그레이드 시스템(1)은, 저장되어 있는 신규 펌웨어 프로그램을 이동통신 네트워크(30)를 통하여 전송하는 관리서버(50)와, 관리서버로부터 신규 펌웨어 프로그램을 전송받아 전자기기(20)에 재전송하는 펌웨어 업그레이드 장치(10) 및 이들을 연결하는 이동통신 네트워크(30)를 포함하여 이루어진다. As shown in FIG. 1, the remote firmware upgrade system 1 includes a management server 50 for transmitting a stored new firmware program through the mobile communication network 30, and receives a new firmware program from the management server. It includes a firmware upgrade apparatus 10 for retransmitting to the device 20 and a mobile communication network 30 connecting them.

신규 펌웨어 프로그램으로 전자기기(20)의 펌웨어가 업그레이드되는 절차를 간단히 설명하면 다음과 같다. The procedure of upgrading the firmware of the electronic device 20 to the new firmware program will be described below.

관리서버(50)는 전자기기(20)에 적용될 신규 펌웨어 프로그램이 저장되어 있다. 만약 전자기기(20)의 펌웨어가 업그레이드되어야 하는 상황이 발생한 경우에 는, 관리서버(50)에 저장된 신규 펌웨어 프로그램이 이동통신 네트워크(30)를 통하여 펌웨어 업그레이드 장치(10)로 전송된다. The management server 50 stores a new firmware program to be applied to the electronic device 20. If a situation in which the firmware of the electronic device 20 needs to be upgraded occurs, a new firmware program stored in the management server 50 is transmitted to the firmware upgrade apparatus 10 through the mobile communication network 30.

신규 펌웨어 프로그램은 관리서버(50)로부터 펌웨어 업그레이드 장치(10)로전송되어 임시로 펌웨어 업그레이드 장치(10)에 저장된 후, 다시 펌웨어 업그레이드 장치(10)로부터 전자기기(20)로 전송된다. The new firmware program is transmitted from the management server 50 to the firmware upgrade apparatus 10 and temporarily stored in the firmware upgrade apparatus 10, and then transmitted again from the firmware upgrade apparatus 10 to the electronic device 20.

이 때, 펌웨어 업그레이드 장치(10)와 전자기기(20) 간의 통신 경로(15)는,신규 펌웨어 프로그램을 송수신하고, 신규 펌웨어 프로그램의 송수신에 필요한 제어신호를 송수신할 수 있는 통신 경로라면, 다양한 통신 경로를 폭넓게 포괄할 수 있다. 가령, 펌웨어 업그레이드 장치(10)와 전자기기(20)는, 2개의 라인에 의한 유선 시리얼 통신(serial communication)이 이루어질 수도 있고, 무선 적외선 통신, 무선 블루투스(Bluetooth) 통신 기타 다양한 근거리 유무선 통신 경로에 의하여 연결이 될 수 있다. At this time, the communication path 15 between the firmware upgrade apparatus 10 and the electronic device 20 is a communication path capable of transmitting and receiving a new firmware program and transmitting and receiving a control signal necessary for transmitting and receiving a new firmware program. It can cover a wide range of paths. For example, the firmware upgrade apparatus 10 and the electronic device 20 may be connected to each other by wired serial communication through two lines, and may be connected to wireless infrared communication, wireless Bluetooth communication, and various short-range wired / wireless communication paths. Can be connected by.

전자기기(20)에 신규 펌웨어 프로그램이 전송되면, 전자기기(20)의 자체 펌웨어 업그레이드 규칙에 따라 신규 펌웨어 프로그램으로 펌웨어 업그레이드가 수행된다. When the new firmware program is transmitted to the electronic device 20, the firmware upgrade is performed to the new firmware program according to the firmware upgrade rule of the electronic device 20.

이와 같은 절차를 거침으로써, 원격지의 서버에 저장된 신규 펌웨어 프로그램이 통신 수단을 구비하지 않은 전자기기로 전송됨으로써 해당 전자기기의 펌웨어 업그레이드가 가능케 된다. By going through such a procedure, a new firmware program stored in a remote server is transmitted to an electronic device having no communication means, thereby enabling firmware upgrade of the electronic device.

도 1에서 나타낸 전자기기(20)는, 펌웨어를 구비하고 있으나 별도의 통신 수단을 구비하지 않은 전자기기를 광범위하게 포괄한다. 가령, 도 1의 전자기기는, 펌웨어를 구비하고 있으나 별도의 통신 수단을 구비하지 않은 냉장고나 TV, 세탁기 등 가전제품이 될 수도 있고, 이동통신 중계기가 될 수도 있다. The electronic device 20 shown in FIG. 1 covers a wide range of electronic devices having firmware but not having a separate communication means. For example, the electronic device of FIG. 1 may be a home appliance such as a refrigerator, a TV, a washing machine, which includes firmware but does not have a separate communication means, or may be a mobile communication repeater.

도 2는 본 발명의 제2 실시예에 의한 이동통신 중계기의 원격 펌웨어 업그레이드 시스템의 전체적인 구성을 나타낸 개략도이다. Figure 2 is a schematic diagram showing the overall configuration of a remote firmware upgrade system of a mobile communication repeater according to a second embodiment of the present invention.

도 2에서 나타낸 바와 같이, 도 1의 전자기기(20)는 도 2의 이동통신 중계기(20a)에 대응된다. 마찬가지로, 도 1의 원격 펌웨어 업그레이드 시스템(1)의 각 구성요소인 펌웨어 업그레이드 장치(10), 이동통신 네트워크(30,31,32) 및 관리서버(50)는 도 2의 원격 펌웨어 업그레이드 시스템(1a)의 각 구성요소인 펌웨어 업그레이드 장치(10a), 이동통신 네트워크(30a,31a,32a) 및 관리서버(50a)에 각각 대응된다. As shown in FIG. 2, the electronic device 20 of FIG. 1 corresponds to the mobile communication repeater 20a of FIG. 2. Similarly, each of the components of the remote firmware upgrade system 1 of FIG. 1, the firmware upgrade apparatus 10, the mobile communication networks 30, 31, and 32, and the management server 50 are the remote firmware upgrade system 1a of FIG. 2. Corresponding to each of the components of the firmware upgrade apparatus 10a, mobile communication networks (30a, 31a, 32a) and the management server (50a).

이동통신 사업자가 이동통신 서비스를 제공함에 있어서, 이동통신 트래픽(traffice)의 밀도와 서비스 영역 내의 가입자의 분포 및 이동통신망에 요구되는 서비스 품질 등을 종합적으로 고려하여 서비스 제공지역 내에서 최적인 것으로 판단되는 위치에 다수의 기지국(33a)이 설치된다. When a mobile service provider provides a mobile communication service, the service provider considers the density of mobile communication traffic, the distribution of subscribers in the service area, and the quality of service required for the mobile communication network. A plurality of base stations 33a are installed at the positions.

그럼에도 불구하고, 서비스 제공지역 내에서의 이른바 서비스 음영지역을 최소화하고 더욱 향상된 이동통신 서비스를 제공하기 위하여, 기지국 신호를 재증폭하여 주는 중계기(repeater)(20a)가 전계 강도가 부족한 지점 등에 더 설치된다. Nevertheless, repeater 20a for re-amplifying the base station signal is further installed at the point where the electric field strength is insufficient in order to minimize the so-called shadow area in the service providing area and to provide more improved mobile communication service. do.

현재 주식회사 케이티프리텔의 경우 RF(Radio Frequency) 중계기, ICS 중계기, 광 중계기, 마이크로웨이브(M/W) 중계기, 변파 중계기 등의 크고 작은 중계기 가 약 20만 ~ 30만 대 가량 운용되고 있다. Currently, K-Phototel Co., Ltd. operates about 200,000 to 300,000 small and large repeaters such as RF (Radio Frequency) repeaters, ICS repeaters, optical repeaters, microwave (M / W) repeaters, and wave repeaters.

한편, 이러한 중계기(20a)는 이동통신망에서 가입자에게 지속적으로 최적의 통화품질을 제공하기 위하여 지속적인 관리, 유지보수 및 펌웨어(firmware) 업그레이드가 필요하다. On the other hand, such a repeater 20a needs continuous management, maintenance and firmware (firmware) upgrade in order to continuously provide the optimum call quality to the subscriber in the mobile communication network.

이동통신 사업 초기에는 현장 운용자가 중계기(20a)가 설치된 현장을 직접 방문하여 중계기(20a)의 상태를 점검하고 필요한 작업을 수행하였다. 그러나, 중계기(20a)의 수효가 기하급수적으로 증가함에 따라, 중계기(20a)의 관리에 소요되는 인력, 비용 및 시간이 막대하게 되는 문제점이 있었다. In the beginning of the mobile communication business, the field operator visited the site where the repeater 20a was installed to check the condition of the repeater 20a and performed necessary work. However, as the number of repeaters 20a increases exponentially, there is a problem that the manpower, cost, and time required for managing the repeaters 20a become enormous.

이러한 문제점을 해결하기 위하여, 도 2에서 나타낸 바와 같은 본 발명의 제2 실시예에 의한 원격 펌웨어 업그레이드 시스템(1a)으로써 원격지의 중계기(20a)에 대한 펌웨어 업그레이드를 수행하게 된다. In order to solve this problem, the firmware upgrade for the remote repeater 20a is performed as the remote firmware upgrade system 1a according to the second embodiment of the present invention as shown in FIG. 2.

도 2의 실시예에 의한 이동통신 중계기의 원격 업그레이드 시스템(1a)은, 이동통신망(30a) 내에서 중계기 업그레이드 과정을 총괄하는 관리서버(50a)와 펌웨어 업그레이드 장치(10a)를 포함하여 이루어진다. The remote upgrade system 1a of the mobile communication repeater according to the embodiment of FIG. 2 includes a management server 50a and a firmware upgrade apparatus 10a that manage the repeater upgrade process in the mobile communication network 30a.

먼저, 관리서버(50)에는 중계기(20a)에 적용될 신규 펌웨어 프로그램이 저장되어 있다. 만약 중계기(20a)의 펌웨어가 업그레이드되어야 하는 상황이 발생한 경우에는, 관리서버(50a)에 저장된 신규 펌웨어 프로그램이 이동통신 네트워크(30a)를 통하여 펌웨어 업그레이드 장치(10a)로 전송된다. First, a new firmware program to be applied to the repeater 20a is stored in the management server 50. If a situation in which the firmware of the repeater 20a needs to be upgraded occurs, a new firmware program stored in the management server 50a is transmitted to the firmware upgrade apparatus 10a through the mobile communication network 30a.

펌웨어 업그레이드 장치(10a)는, 구비하고 있는 이동통신 모듈을 이용하여 관 리서버(50a)측과의 통신을 행한다. 또한, 펌웨어 업그레이드 장치(10a)는, 중계기(20a)의 내부 또는 외부에 장착되어, 미리 규정된 통신 인터페이스(15a)를 통하여 중계기(20a)측과와 유선 또는 무선으로 통신을 행한다. The firmware upgrade apparatus 10a communicates with the management server 50a side using the mobile communication module provided. In addition, the firmware upgrade apparatus 10a is mounted inside or outside the repeater 20a and communicates with the repeater 20a side via wired or wirelessly via the predefined communication interface 15a.

중계기(20a)에 신규 펌웨어 프로그램이 전송되면, 중계기(20a)의 자체 펌웨어 업그레이드 규칙에 따라 신규 펌웨어 프로그램으로 펌웨어 업그레이드가 수행된다. When the new firmware program is transmitted to the repeater 20a, the firmware upgrade is performed to the new firmware program according to the own firmware upgrade rule of the repeater 20a.

도 3은 도 2의 관리서버의 구성요소를 나타낸 블록도이다.3 is a block diagram illustrating components of the management server of FIG. 2.

도 3에서 나타낸 바와 같이, 관리서버(300)는 무선 데이터 송수신부(310), 무선 데이터 분석부(320), 데이터 저장부(330) 및 관리제어부(340)를 포함한다.As shown in FIG. 3, the management server 300 includes a wireless data transmission / reception unit 310, a wireless data analysis unit 320, a data storage unit 330, and a management control unit 340.

무선 데이터 송수신부(310)는 이동통신망을 통해 펌웨어 업그레이드 장치와 체결된 TCP/IP 접속 네트워크를 통하여 무선 데이터를 송수신한다.The wireless data transmission / reception unit 310 transmits and receives wireless data through a TCP / IP access network which is concluded with a firmware upgrade apparatus through a mobile communication network.

무선 데이터 분석부(320)는 펌웨어 업그레이드 장치로부터 수신한 무선 데이터, 예를 들어 각종 명령어 또는 메시지를 분석하여, 그에 따른 응답 메시지를 전송할 수 있도록 한다.The wireless data analyzer 320 analyzes wireless data received from the firmware upgrade apparatus, for example, various commands or messages, and transmits a response message accordingly.

데이터 저장부(330)는 중계기 제조사 및 중계기 모델, 버전 등에 따른 다양한 신규 펌웨어 프로그램을 저장한다. 따라서, 펌웨어 업그레이드가 필요한 중계기가 어떠한 제조사의 어떠한 모델이더라도 그에 적합한 신규 펌웨어 프로그램을 전송할 수 있도록 한다.The data storage unit 330 stores various new firmware programs according to the repeater manufacturer, the repeater model, the version, and the like. Therefore, the repeater requiring a firmware upgrade can transmit a new firmware program suitable for any model of any manufacturer.

관리 제어부(340)는 신규 펌웨어 프로그램의 CRC값을 계산하고, 펌웨어 업그레이드 장치로부터의 펌웨어 재전송 요청 메시지에 대응하여 펌웨어 재전송을 수행 하는 등 관리서버(300)의 동작을 전체적으로 제어한다.The management controller 340 calculates the CRC value of the new firmware program and controls the overall operation of the management server 300 such as performing firmware retransmission in response to the firmware retransmission request message from the firmware upgrade apparatus.

도 4는 도 2의 펌웨어 업그레이드 장치의 구성요소를 나타낸 블록도이다.4 is a block diagram illustrating components of the firmware upgrade apparatus of FIG. 2.

도 4에서 나타낸 바와 같이, 펌웨어 업그레이드 장치(400)는 제2 데이터 송수신부(410), 무선 데이터 변환부(420), 중앙 제어부(430) 및 제1 데이터 송수신부(440) 및 저장장치부(450)를 포함한다. As shown in FIG. 4, the firmware upgrade apparatus 400 includes a second data transceiver 410, a wireless data converter 420, a central controller 430, a first data transceiver 440, and a storage device ( 450).

제2 데이터 송수신부(410)는 펌웨어 업그레이드 장치(400)와 중계기와의 사이에서 주고받는 메시지 및 명령어 등의 각종 데이터의 송수신을 담당하는 통신 모듈이다. The second data transceiver 410 is a communication module that is responsible for the transmission and reception of various data such as messages and commands exchanged between the firmware upgrade apparatus 400 and the repeater.

이 실시예에서는 펌웨어 업그레이드 장치(400)의 제2 데이터 송수신부(410)와 중계기 간에 2개의 라인이 연결됨으로써, 이 라인들을 통하여 유선 시리얼 통신(serial communication)이 이루어지는 것으로 한다. 그러나, 앞에서 도 1을 참조하여 설명한 바 있듯이, 중계기와 펌웨어 업그레이드 장치(400)의 통신 인터페이스는, 신규 펌웨어 프로그램을 송수신하고, 신규 펌웨어 프로그램의 송수신에 필요한 제어신호를 송수신할 수 있는 통신 경로라면, 무선 적외선 통신, 무선 블루투스(Bluetooth) 통신 등 다양한 통신 경로를 폭넓게 포괄할 수 있다.In this embodiment, two lines are connected between the second data transceiver 410 and the repeater of the firmware upgrade apparatus 400, and thus, wired serial communication is performed through these lines. However, as described above with reference to FIG. 1, if the communication interface between the repeater and the firmware upgrade apparatus 400 is a communication path capable of transmitting and receiving a new firmware program and transmitting and receiving a control signal for transmitting and receiving a new firmware program, It can cover various communication paths such as wireless infrared communication and wireless Bluetooth communication.

다음으로, 무선 데이터 변환부(420)는 관리서버와 펌웨어 업그레이드 장치(400) 간에 주고받는 메시지 등 데이터 중 단문메시지(SMS)의 형태로 송수신되는 데이터를 단문메시지를 포함하는 패킷 형태의 무선 데이터로 변환하는 모듈이다.Next, the wireless data converter 420 converts the data transmitted and received in the form of a short message (SMS) among the data, such as a message transmitted and received between the management server and the firmware upgrade apparatus 400, into a packet-type wireless data including a short message. Module to convert.

중앙 제어부(430)는 신규 펌웨어 업그레이드를 위하여 펌웨어 업그레이드 장치(400)가 행하는 전반적인 동작을 제어한다. The central control unit 430 controls the overall operation performed by the firmware upgrade apparatus 400 for the new firmware upgrade.

제1 데이터 송수신부(440)는 관리서버와의 사이에서 주고받는 메시지 및 명령어 등의 각종 데이터의 송수신을 담당하는 통신 인터페이스 모듈이다. 제1 데이터 송수신부(440)는 이동통신 단말의 일종이므로, 고유한 전화번호를 가지고 있으며, 이동통신 네트워크를 통해 관리서버측과의 통신을 행한다. The first data transmission / reception unit 440 is a communication interface module that is responsible for the transmission and reception of various data such as messages and commands to and from the management server. Since the first data transmission / reception unit 440 is a kind of mobile communication terminal, it has a unique telephone number and communicates with the management server side through the mobile communication network.

저장장치부(450)는 관리서버로부터 전송받은 신규 펌웨어 프로그램을 저장하는 데이터 저장모듈이다. 저장장치부(450)는 실시예에 따라 플래시 메모리가 될 수도 있다. 그러나, 저장장치부(450)는 플래시 메모리만으로 한정되는 것은 아니며, 신규 펌웨어 프로그램을 저장하였다가 중계기 컨트롤러측으로 전송하는 목적을 달성할 수 있는 수단이라면, 하드 디스크 드라이브 등 어떠한 저장장치라도 무방하다.The storage unit 450 is a data storage module for storing a new firmware program received from the management server. The storage unit 450 may be a flash memory according to an embodiment. However, the storage unit 450 is not limited to the flash memory alone, and any storage device such as a hard disk drive may be used as long as the storage unit 450 can achieve the purpose of storing and transmitting a new firmware program to the repeater controller.

한편, 펌웨어 업그레이드 장치는 중계기의 내부 또는 외부에 설치될 수 있다. 가령, 펌웨어 업그레이드 장치가 중계기 외함에 설치되는 것도 가능하다. 또한, 펌웨어 업그레이드 장치의 전력을 중계기 전원으로부터 인가받도록 하는 설계도 가능하다. Meanwhile, the firmware upgrade apparatus may be installed inside or outside the repeater. For example, the firmware upgrade apparatus may be installed in the repeater enclosure. In addition, it is also possible to design to receive the power of the firmware upgrade apparatus from the repeater power supply.

한편, 제2 데이터 송수신부(410)를 통해 중계기로부터 입력되는 리셋신호에 의하여 펌웨어 업그레이드 장치(400)의 리셋(reset)이 가능하다. Meanwhile, the firmware upgrade apparatus 400 may be reset by a reset signal input from the repeater through the second data transceiver 410.

도 5는 도 2에서 나타낸 본 발명의 실시예가 적용되는 중계기의 구성요소를 나타낸 블록도이다. 5 is a block diagram showing the components of a repeater to which the embodiment of the present invention shown in FIG. 2 is applied.

도 5의 중계기(500)는, 기지국 신호를 증폭하는 역할을 수행하는 일반적인 형태의 중계기로서, 대역 분리기(510,540), 무선 신호처리부(520,530), 링크 안테나(550), 서비스안테나(560) 및 중계기 컨트롤러(570)를 포함한다.The repeater 500 of FIG. 5 is a general type repeater that amplifies a base station signal, and includes a band separator 510 and 540, a wireless signal processor 520 and 530, a link antenna 550, a service antenna 560, and a repeater. Controller 570.

무선 신호처리부(520,530) 각각은 LNA(Low Noise Amplifier) 모듈(520a,530a), IF 모듈(520b,530b), HPA(High Power Amplifier) 모듈(520c,530c)을 더 포함한다.Each of the wireless signal processors 520 and 530 further includes a low noise amplifier (LNA) module 520a and 530a, an IF module 520b and 530b, and a high power amplifier (HPA) module 520c and 530c.

대역 분리기(510,540)는 링크 안테나(550)를 통해 입력되는 기지국의 RF 신호를 서비스 안테나(560)를 통해 서비스측으로 출력시키기 위한 처리 경로와, 서비스 안테나(560)를 통해 입력되는 서비스측의 RF 신호를 링크 안테나(550)를 통해 기지국으로 출력시키기 위한 처리 경로를 분리시킨다.The band separators 510 and 540 are a processing path for outputting an RF signal of a base station input through the link antenna 550 to the service side through the service antenna 560, and an RF signal of the service side input through the service antenna 560. To separate the processing path for outputting to the base station through the link antenna 550.

LNA 모듈(520a,530a)은 링크 안테나(550) 및 서비스 안테나(160)를 통해 입력되는 RF 신호를 저잡음 증폭한다.The LNA modules 520a and 530a low noise amplify RF signals input through the link antenna 550 and the service antenna 160.

IF 모듈(520b,530b)은 LNA 모듈(520,560)에서 각각 증폭된 신호에 대해 이득을 조절하고 주파수를 하향 변환하여 중간 주파수로 변환한 다음 필터링하고 다시 주파수를 상향변환하고 증폭하여 동일한 신호를 만들어 출력한다.IF modules 520b and 530b adjust the gain for the signals amplified by the LNA modules 520 and 560 respectively, downconvert the frequency to convert it to an intermediate frequency, filter it, and then upconvert and amplify the frequency to produce the same signal. do.

HPA 모듈(520c,530c)은 IF모듈(520b,530b)로부터 각각 출력된 신호를 서비스안테나(560) 및 링크 안테나(550)로 출력한다.The HPA modules 520c and 530c output the signals output from the IF modules 520b and 530b to the service antenna 560 and the link antenna 550, respectively.

중계기 컨트롤러(570)는 중계기(500) 내부의 설정 데이터를 관리하며, 중계기(500) 내부의 무선 신호처리부(520,530)를 제어한다.The repeater controller 570 manages setting data inside the repeater 500 and controls the wireless signal processing units 520 and 530 inside the repeater 500.

또한, 중계기 컨트롤러(570)는 펌웨어 업그레이드 장치로부터 신규 펌웨어 프로그램을 전송받아 이를 임시 저장한다. In addition, the repeater controller 570 temporarily receives the new firmware program from the firmware upgrade apparatus.

또한, 중계기 컨트롤러(570)는 펌웨어 업그레이드 장치로부터 신규 펌웨어 프로그램을 전송받아 중계기 펌웨어 업그레이드를 수행하는 전반적인 동작을 제어한다.In addition, the repeater controller 570 receives the new firmware program from the firmware upgrade apparatus and controls the overall operation of performing the repeater firmware upgrade.

본 실시예에서는 펌웨어가 업그레이드되는 전자기기의 일례로서 이동통신 중계기에 관하여 설명하고 있지만, 이동통신 중계기가 아니더라도, 중계기 컨트롤러(570)에 대응되는 마이크로 컨트롤러를 구비하고 있으며, 도 4에서 나타낸 제2 데이터 송수신부와 연결되어, 원격 펌웨어 업그레이드 장치와 상호 통신을 행할 수 있는 전자기기라면 어느 것이라도 본 발명에 의하여 원격 펌웨어 업그레이드를 행할 수 있는 것은 물론이다. Although the mobile communication repeater is described as an example of an electronic device whose firmware is upgraded in the present embodiment, even if the mobile communication repeater is not included, the second controller shown in FIG. 4 includes a microcontroller corresponding to the repeater controller 570. Of course, any electronic device that is connected to the transceiver and can communicate with the remote firmware upgrade apparatus can perform the remote firmware upgrade according to the present invention.

아래에서는 원격 펌웨어 업그레이드 시스템의 관리서버와 펌웨어 업그레이드 장치 및 중계기 컨트롤러 간에 사용되는 명령어 및 메시지를 살펴본다.The following describes the commands and messages used between the management server of the remote firmware upgrade system and the firmware upgrade device and repeater controller.

표 1은 관리서버에서 펌웨어 업그레이드 장치측으로 전송하는 명령어 및 메시지를 정리한 표이다.Table 1 shows the commands and messages transmitted from the management server to the firmware upgrade device.

약자Abbreviation 명칭designation REP_FW_DLOAD_CMD(SMS)REP_FW_DLOAD_CMD (SMS) 펌웨어 업그레이드 요청 명령어Firmware Upgrade Request Command TCP_MODEM_ID_REQ(TCP/IP)TCP_MODEM_ID_REQ (TCP / IP) ID 요청 명령어ID request command TCP_FW_SIZE_TXTCP_FW_SIZE_TX 펌웨어 사양 메시지Firmware Specification Message TCP_FW_TX(N)TCP_FW_TX (N) 펌웨어 전송 메시지 (N은 0 또는 자연수)Firmware Transfer Message (N is 0 or Natural Number) TCP_FW_CRC_REQTCP_FW_CRC_REQ CRC 계산값 메시지CRC calculation message TCP_END_REQTCP_END_REQ 종료 메시지Exit message

이들 각각에 대하여 더욱 상세히 살펴보면 아래와 같다. Looking at each of them in more detail as follows.

먼저, 펌웨어 업그레이드 요청 명령어는 관리서버에서 펌웨어 업그레이드 장치측으로 중계기의 펌웨어 업그레이드를 행할 것을 요청하는 명령어다. First, the firmware upgrade request command is a command for requesting a firmware upgrade of the repeater from the management server to the firmware upgrade device side.

관리서버는 단문메시지(SMS)를 이용하여 펌웨어 업그레이드 요청 명령어를 전송하며, 이에 대한 응답으로서 펌웨어 업그레이드 장치는 관리서버측으로 TCP/IP 프로토콜에 의한 접속을 행한다.The management server sends a firmware upgrade request command using a short message (SMS), and in response, the firmware upgrade apparatus makes a connection to the management server by the TCP / IP protocol.

아래 표 1a는 펌웨어 업그레이드 요청 명령어의 포맷의 일례를 나타낸 표이다. Table 1a below shows an example of the format of the firmware upgrade request command.

구분division IP1IP1 IP2IP2 IP3IP3 IP4IP4 PORTPORT 바이트(19)Byte (19) 33 33 33 33 55

표 1a에서 나타낸 바와 같이, 펌웨어 업그레이드 요청 명령어는 19바이트의 길이로 이루어진다. As shown in Table 1A, the firmware upgrade request command has a length of 19 bytes.

그 중 IP1 내지 IP4에는 다운로드 서버의 IP 주소를 지시하며, 0 이상 255 이하의 자연수 값 중의 하나가 3바이트(Byte)의 공간에 저장된다. Among them, IP1 to IP4 indicate the IP address of the download server, and one of the natural number values of 0 to 255 is stored in a space of 3 bytes.

포트(PORT)는 다운로드 서버의 포트 번호를 지시하며, 0 이상 65535 이하의 자연수 값 중의 하나가 5바이트의 공간에 저장된다. The port indicates a port number of the download server, and one of natural values of 0 to 65535 is stored in 5 bytes of space.

다음으로, ID 요청 명령어는 펌웨어 업그레이드 장치의 전화번호를 요청하는 명령어다. 펌웨어 업그레이드 장치는 ID 요청 명령어에 대한 응답으로서 관리서버측에 ID 응답 메시지를 회신한다. Next, the ID request command is a command for requesting a phone number of the firmware upgrade apparatus. The firmware upgrade apparatus returns an ID response message to the management server side in response to the ID request command.

ID 요청 명령어는 관리서버 - 원격 펌웨어 업그레이드 장치 간 체결된 TCP/IP 접속경로를 통하여 TCP/IP 프로토콜로 전송된다. 이 TCP/IP 접속경로는, 펌웨어 업그레이드 요청 명령어에 대한 응답으로 펌웨어 업그레이드 장치에서 연결한 것이다.The ID request command is transmitted to the TCP / IP protocol through the TCP / IP connection path between the management server and the remote firmware upgrade device. This TCP / IP connection path is connected by the firmware upgrade apparatus in response to the firmware upgrade request command.

표 1b는 ID 요청 명령어의 포맷의 일례를 나타낸 표이다. Table 1b is a table showing an example of the format of the ID request command.

구분division STARTSTART CMDCMD TAILTAIL 바이트(3)Byte (3) 1One 1One 1One

표 1b에서 나타낸 바와 같이, ID 요청 명령어는 5바이트의 길이로 이루어지며, START, CMD, TAIL 필드가 각각 1바이트씩을 차지한다. As shown in Table 1b, the ID request command has a length of 5 bytes, and the START, CMD, and TAIL fields each occupy 1 byte.

START는 0x00, CMD는 0x01, TAIL은 0x7E이다. 한편, CRC는 16비트 CRC를 적용하며, START부터 CRC의 앞까지 계산한다.START is 0x00, CMD is 0x01, and TAIL is 0x7E. On the other hand, the CRC applies a 16-bit CRC, and calculates from START to the front of the CRC.

다음으로, 펌웨어 사양 메시지는 관리서버가 펌웨어 업그레이드 장치측에 중계기의 펌웨어 크기(SIZE) 및 명칭(FWNAME)을 알려주는 메시지이다. Next, the firmware specification message is a message in which the management server informs the firmware upgrade apparatus of the repeater's firmware size (SIZE) and name (FWNAME).

표 1c은 펌웨어 사양 메시지의 포맷의 일례를 나타낸 표이다.Table 1c is a table showing an example of the format of the firmware specification message.

구분division CMDCMD 크기(SIZE)SIZE 펌웨어 명칭(FWNAME)Firmware Name (FWNAME) CRCCRC TAILTAIL 바이트(15)Byte (15) 1One 66 55 22 1One

표 1c에서 나타낸 바와 같이, 펌웨어 사양 메시지는 15바이트의 길이로 이루어진다.As shown in Table 1c, the firmware specification message is 15 bytes long.

여기에서 START는 0x00이고, CMD는 0x02이다. Where START is 0x00 and CMD is 0x02.

또한, 펌웨어 파일의 크기를 나타내는 크기(SIZE) 필드는 6자리 정수로서, 바이트(byte) 단위로 나타낸 파일 크기 값을 포함한다.The SIZE field indicating the size of the firmware file is a six-digit integer and includes a file size value expressed in bytes.

한편, 펌웨어 명칭(FWNAME) 필드는 5바이트로 이루어지며, 아래 표 1d의 정보를 더 포함한다.On the other hand, the firmware name (FWNAME) field is composed of 5 bytes, and further includes the information of Table 1d below.

중계기 코드(RCODE) Repeater Code (RCODE) 중계기 제조사 Repeater manufacturers 컨트롤러 제조사Controller manufacturer 버전정보Version Information 2바이트2 bytes 1바이트1 byte 1바이트1 byte 1바이트1 byte

중계기 코드(RCODE) 필드에는 중계기의 모델을 식별하기 위하여 각 중계기의 모델별로 할당되는 고유한 코드가 포함된다. 동일 모델의 중계기에는 동일한 중계기 코드기 지정된다. 중계기 제조사 코드 필드에는 중계기를 제조한 제조사마다 할당되는 고유한 코드가 포함된다. 컨트롤러 제조사 필드에는 중계기의 컨트롤러를 제조한 제조사마다 할당되는 고유한 코드가 포함된다. 버전정보 필드에는 펌웨어의 버전에 관한 값이 포함된다. The repeater code (RCODE) field contains a unique code assigned to each repeater's model to identify the repeater's model. Repeaters of the same model are assigned the same repeater coder. The repeater manufacturer code field contains a unique code that is assigned to each manufacturer that manufactured the repeater. The controller manufacturer field contains a unique code that is assigned to each manufacturer that manufactures the repeater's controller. The version information field includes a value regarding the version of the firmware.

또한, CRC 필드에는 16비트 CRC 값이 포함되며, 펌웨어 프로그램 전체에 대한 CRC 오류의 체크에 사용된다.In addition, the CRC field includes a 16-bit CRC value and is used to check CRC errors for the entire firmware program.

또한, TAIL은 0x7E이다.Also, TAIL is 0x7E.

다음으로, 펌웨어 전송 메시지는 관리서버로부터 펌웨어 업그레이드 장치로 전송되는 신규 펌웨어 프로그램이 포함된 메시지이다. Next, the firmware transmission message is a message including a new firmware program transmitted from the management server to the firmware upgrade apparatus.

업그레이드할 신규 펌웨어 프로그램은 가령 4096바이트 단위 등으로 분할된 일련의 펌웨어 전송 메시지에 포함되어 전송된다.The new firmware program to be upgraded is transmitted in a series of firmware transmission messages divided into, for example, 4096 bytes.

표 1e는 펌웨어 전송 메시지 포맷의 일례에 관한 표이다.Table 1e is a table regarding an example of a firmware transmission message format.

구분division STARTSTART CMDCMD INDEXINDEX DATADATA CRCCRC TAILTAIL 바이트(4096)Bytes (4096) 1One 1One 33 40884088 22 1 One

표 1e에서 나타낸 바와 같이, 1개의 펌웨어 전송 메시지 내에 포함되어 전송되는 실제 펌웨어 데이터 블록의 크기는, 오버헤드를 제외하면 4,088바이트가 된다.As shown in Table 1e, the size of the actual firmware data block included in one firmware transmission message and transmitted is 4,088 bytes except for the overhead.

오버헤드 데이터의 각 필드는 다음과 같다.Each field of overhead data is as follows.

START 필드는 0x00의 1바이트이고, CMD는 0x03의 1바이트이며, INDEX는 펌웨어 프로그램을 4,088바이트로 분할하였을 때에 현재 전송하는 데이터 블록에 관한 인덱스를 저장하는 3자리의 정수 데이터 필드이다. 또한, CRC 필드에는 16비트 CRC 값이 포함되며, START부터 CRC 필드 앞까지 계산을 한다. TAIL은 0x7E의 1바이트이다.The START field is one byte of 0x00, the CMD is one byte of 0x03, and INDEX is a three-digit integer data field that stores an index of a data block currently transmitted when the firmware program is divided into 4,088 bytes. In addition, the CRC field includes a 16-bit CRC value and calculates from START to the front of the CRC field. TAIL is one byte of 0x7E.

한편, 펌웨어 업그레이드 장치는 펌웨어 전송 메시지의 각각의 블록에 대해서 수신여부를 일일이 전송하지는 않고, 대신 인덱스(index)가 유실된 경우에만 해당 인덱스부터 재전송을 요청한다.The firmware upgrade apparatus does not transmit the reception of each block of the firmware transmission message one by one, but instead requests retransmission from the corresponding index only when the index is lost.

CRC 계산값 메시지는 관리서버가 전체 펌웨어의 CRC 오류를 체크한 계산값을 펌웨어 업그레이드 장치로 전송하는 메시지이다. The CRC calculated value message is a message for the management server to transmit the calculated value of checking the CRC error of the entire firmware to the firmware upgrade apparatus.

펌웨어 업그레이드 장치는 관리서버로부터 전송받은 전체 펌웨어에 대해서 독자적으로 CRC 값을 계산한 후, 이를 CRC 계산값 메시지의 계산값과 비교함으로써 CRC 오류 여부를 체크한다. The firmware upgrade apparatus checks the CRC error by calculating the CRC value independently for the entire firmware received from the management server and comparing it with the calculated value of the CRC calculated value message.

표 1f는 CRC 계산값 메시지 포맷의 일례를 나타낸 표이다. Table 1f is a table showing an example of the CRC calculated value message format.

구분division STARTSTART CMDCMD RESULTRESULT FCRCFCRC CRCCRC TAILTAIL 바이트(8)Byte (8) 1One 1One 1One 22 22 1One

이때, START 필드는 0x00의 1바이트이고, CMD는 0x05의 1바이트이며, RESULT는 관리서버의 CRC 계산값과 펌웨어 업그레이드장치의 CRC 계산값과의 일치여부 정보이다. 가령, 0x00인 경우에는 일치, 0x01인 경우에는 불일치인 것으로 할 수 있다. FCRC는 감시모듈이 계산한 CRC 계산값이 포함된다. 또한, CRC 필드에는 16비트 CRC 값이 포함되며, START부터 CRC 필드 앞까지 계산을 한다. TAIL은 0x7E의 1바이트이다.At this time, the START field is 1 byte of 0x00, CMD is 1 byte of 0x05, and RESULT is information on whether the CRC calculation value of the management server matches the CRC calculation value of the firmware upgrade apparatus. For example, 0x00 can be a match, and 0x01 can be a mismatch. FCRC includes the CRC calculated by the monitoring module. In addition, the CRC field includes a 16-bit CRC value and calculates from START to the front of the CRC field. TAIL is one byte of 0x7E.

다음으로, 종료 메시지는 관리서버와 펌웨어 업그레이드 장치 간에 체결된 TCP/IP 네트워크 접속을 종료하는 명령어이다. Next, the end message is a command for terminating the TCP / IP network connection between the management server and the firmware upgrade apparatus.

관리서버는 신규 펌웨어의 전송을 완료한 경우 또는 전송이 오류 등에 기인하여 종료되는 경우 등에 이 명령어를 전송한다.The management server sends this command when the transmission of new firmware is completed or when the transmission is terminated due to an error or the like.

표 1g은 종료 메시지 포맷의 일례를 나타낸 표이다.Table 1g is a table showing an example of an end message format.

구분division STARTSTART CMDCMD FLAGFLAG CRCCRC TAILTAIL 바이트(6)Byte (6) 1One 1One 1One 22 1 One

START 필드에 대한 플래그 비트는 0x00, CMD 필드에 대한 플래그 비트는 0x06이다. The flag bit for the START field is 0x00 and the flag bit for the CMD field is 0x06.

FLAG 필드에 대한 플래그 비트는, 신규 펌웨어의 전송을 완료한 경우에는 FLAG=0x00 플래그로, 오류로 인하여 종료를 하는 경우에는 FLAG=0x01 플래그로 설정할 수 있다.The flag bit for the FLAG field can be set to the FLAG = 0x00 flag when the new firmware has been transferred, or to the FLAG = 0x01 flag when the error is terminated due to an error.

또한, CRC 필드에는 16비트 CRC 값이 포함되며, START부터 CRC 필드 앞까지 계산을 한다. TAIL은 0x7E의 1바이트이다.In addition, the CRC field includes a 16-bit CRC value and calculates from START to the front of the CRC field. TAIL is one byte of 0x7E.

표 2는 펌웨어 업그레이드 장치가 관리서버측으로 전송하는 신호를 정리한 표이다.Table 2 summarizes signals transmitted by the firmware upgrade apparatus to the management server.

약자Abbreviation 명칭designation TCP_MODEM_ID_RESTCP_MODEM_ID_RES ID 응답메시지ID response message TCP_FW_SIZE_RXTCP_FW_SIZE_RX 펌웨어 사양 응답 메시지Firmware Specification Response Message TCP_FW_RT_REQ(N)TCP_FW_RT_REQ (N) 펌웨어 재전송 요청 메시지 Firmware Resend Request Message TCP_FW_CRC_RESTCP_FW_CRC_RES CRC 비교결과 응답 메시지CRC comparison result response message TCP_END_RESTCP_END_RES 종료 응답 메시지Exit response message REP_FW_DLOAD_RESREP_FW_DLOAD_RES 펌웨어 다운로드 결과 메시지Firmware download result message

이들 각각에 대하여 더욱 상세히 살펴보면 아래와 같다. Looking at each of them in more detail as follows.

먼저, ID 응답메시지는 펌웨어 업그레이드 장치의 전화번호를 관리서버측으로 응답하는 메시지이다. First, the ID response message is a message for responding to the management server side the phone number of the firmware upgrade apparatus.

표 2a은 ID 응답메시지 포맷의 일례를 나타낸 표이다.Table 2a shows an example of an ID response message format.

구분division STARTSTART CMDCMD IDID CRCCRC TAILTAIL 바이트(16)Byte (16) 1One 1One 1111 22 1 One

위 표에서 나타낸 바와 같이, ID 응답메시지 중에서 펌웨어 업그레이드 장치의 전화번호는 ID 필드에 포함되어 펌웨어 업그레이드 장치로부터 관리서버측으로 전송이 되며, 모두 11자리의 전화번호가 전송이 된다.As shown in the above table, the telephone number of the firmware upgrade apparatus is included in the ID field and transmitted from the firmware upgrade apparatus to the management server in the ID response message, and all 11-digit telephone numbers are transmitted.

펌웨어 업그레이드 장치가 구비한 제1 데이터 송수신부(도 4의 440)는 이동통신 단말의 일종이므로, 고유한 전화번호를 가지고 있음은 앞서 도 4을 참조하여 설명한 바 있다. Since the first data transmission / reception unit 440 of FIG. 4 included in the firmware upgrade apparatus is a kind of mobile communication terminal, it has been described above with reference to FIG. 4.

또한, START 필드는 1바이트로서 플래그 비트는 0x00, CMD 필드는 1바이트로서 플래그비트는 0x01, TAIL 필드는 1바이트로서 플래그 비트는 0x7E이다. CRC 필드에는 16비트의 CRC값이 포함되며, START부터 CRC 앞까지 계산을 한다. The START field is 1 byte, the flag bit is 0x00, the CMD field is 1 byte, the flag bit is 0x01, the TAIL field is 1 byte, and the flag bit is 0x7E. The CRC field contains a 16-bit CRC value and calculates from START to the front of the CRC.

다음으로 펌웨어 사양 응답 메시지는, 관리서버가 펌웨어 업그레이드 장치측으로 전송한 펌웨어 사양 메시지에 응답하여 펌웨어 업그레이드 장치가 회신하는 메시지이다. Next, the firmware specification response message is a message returned by the firmware upgrade apparatus in response to the firmware specification message transmitted from the management server to the firmware upgrade apparatus.

표 2b는 펌웨어 사양 응답 메시지 포맷의 일례를 나타낸 표이다. Table 2b is a table showing an example of a firmware specification response message format.

구분division STARTSTART CMDCMD CRCCRC TAILTAIL 바이트(5)Byte (5) 1One 1One 22 1 One

위 표에서 나타낸 바와 같이, 펌웨어 사양 응답 메시지는 START, CMD, CRC 및 TAIL의 4개 필드로 이루어진다. START 필드는 1바이트의 0x00 플래그 비트, CMD는 1바이트의 0x02 플래그 비트, TAIL은 1바이트의 0x7E 플래그 비트를 가지며, CRC 필드에는 16비트의 CRC값이 포함되고, START부터 CRC 앞까지 계산을 한다.As shown in the table above, the firmware specification response message consists of four fields: START, CMD, CRC, and TAIL. The START field contains 1 byte of 0x00 flag bits, CMD has 1 byte of 0x02 flag bits, and TAIL contains 1 byte of 0x7E flag bits.The CRC field contains a 16-bit CRC value and calculates from START to the front of the CRC. .

다음으로 펌웨어 재전송 요청 메시지는 관리서버로부터 전송되는 펌웨어 전송 메시지를 통하여 펌웨어 프로그램을 4096바이트(엄밀하게는 4088바이트) 단위로 받는 도중, 인덱스가 유실되면 해당 인덱스에 관한 메시지부터 재전송해줄 것을 요청하는 메시지이다.Next, the firmware retransmission request message receives a firmware program in units of 4096 bytes (4088 bytes) through a firmware transmission message transmitted from the management server, and requests to resend the message about the index when the index is lost. to be.

펌웨어 업그레이드 장치로부터 펌웨어 재전송 요청 메시지를 받으면, 관리서버는 해당 인덱스에 관한 펌웨어 전송 메시지부터 재전송을 수행한다.When the firmware retransmission request message is received from the firmware upgrade apparatus, the management server retransmits from the firmware transmission message regarding the corresponding index.

표 2c은 펌웨어 재전송 요청 메시지 포맷의 일례를 나타낸 표이다.Table 2c shows an example of a firmware retransmission request message format.

구분division STARTSTART CMDCMD INDEXINDEX CRCCRC TAILTAIL 바이트(8)Byte (8) 1One 1One 33 22 1 One

표 2c에서 나타낸 바와 같이, 인덱스 필드는 재전송을 요청하고자 하는 인덱스에 관한 3자리 정수값을 저장한다. 또한, START 필드는 1바이트의 0x00 플래그 비트, CMD는 1바이트의 0x04 플래그 비트, TAIL은 1바이트의 0x7E 플래그 비트를 가지며, CRC 필드에는 16비트의 CRC값이 포함되고, START부터 CRC 앞까지 계산을 한다.As shown in Table 2c, the index field stores a 3-digit integer value for the index to request retransmission. In addition, the START field has one byte of 0x00 flag bits, CMD has one byte of 0x04 flag bits, and TAIL has one byte of 0x7E flag bits.The CRC field contains a 16-bit CRC value, which is calculated from START to the front of the CRC. Do it.

다음으로 CRC 비교결과 응답 메시지는 관리서버에서 수신한 CRC 계산값 메시지에 포함된 CRC 계산값을, 펌웨어 업그레이드 장치가 직접 계산한 CRC 값과 비교한 결과값을 관리서버측에 알려주는 메시지이다. Next, the CRC comparison result response message is a message for notifying the management server of the result of comparing the CRC calculation value included in the CRC calculation value message received from the management server with the CRC value directly calculated by the firmware upgrade apparatus.

만약 두 계산값이 불일치하게 되는 경우에는 CRC 오류가 발생한 것이 되고, 오류가 발생하였음을 CRC 계산값 메시지를 통하여 관리서버측에 전송하게 되면 관리서버는 펌웨어 프로그램을 처음부터 새로 재전송한다. 1회 재전송을 수행한 후에도 다시 오류가 발생하게 되면, 더 이상 재전송을 시도하지 않도록 할 수도 있으며, 이 경우 재전송에 따른 시스템의 과부하를 방지하는 효과를 기대할 수 있다.If the two calculated values are inconsistent, a CRC error occurs, and if the error is transmitted to the management server through the CRC calculated value message, the management server retransmits the firmware program from the beginning. If an error occurs again after performing a single retransmission, the retransmission may not be attempted any more. In this case, an effect of preventing an overload of the system due to the retransmission may be expected.

표 2d는 CRC 비교결과 응답 메시지 포맷의 일례를 나타낸 표이다.Table 2d is a table showing an example of a CRC comparison result response message format.

구분division STARTSTART CMDCMD RESULTRESULT FCRCFCRC CRCCRC TAILTAIL 바이트(8)Byte (8) 1One 1One 1One 22 22 1 One

표 2d에서 나타낸 바와 같이, CRC 비교값은 RESULT 필드에 1바이트의 크기로 저장이 되는데, CRC 오류가 발생하지 않은 경우, 즉 성공(success)을 나타내는 플래그 비트는 0x00, CRC 오류가 발생한 경우, 즉 실패(fail)를 나타내는 플래그 비트는 0x01이 된다.As shown in Table 2d, the CRC comparison value is stored in the RESULT field with a size of 1 byte. If a CRC error does not occur, that is, a flag bit indicating success is 0x00, or a CRC error occurs. The flag bit indicating failure is 0x01.

FCRC 필드에는 펌웨어 업그레이드 장치가 계산한 전체 펌웨어 프로그램에 대한 CRC 계산값이 2바이트로 저장된다. The FCRC field stores the CRC calculation value for the entire firmware program calculated by the firmware upgrade apparatus as 2 bytes.

또한, START 필드는 1바이트의 0x00 플래그 비트, CMD는 1바이트의 0x05 플래그 비트, TAIL은 1바이트의 0x7E 플래그 비트를 가지며, CRC 필드에는 16비트의 CRC값이 포함되고, START부터 CRC 앞까지 계산을 한다.In addition, the START field has one byte of 0x00 flag bits, CMD has one byte of 0x05 flag bits, and TAIL has one byte of 0x7E flag bits.The CRC field contains a 16-bit CRC value. Do it.

다음으로 종료 응답 메시지는 관리서버로부터 전송된 종료 메시지에 대한 응답 메시지이다. Next, the termination response message is a response message to the termination message sent from the management server.

표 2e는 종료 응답 메시지 포맷의 일례를 나타낸 표이다.Table 2e is a table showing an example of an end response message format.

구분division STARTSTART CMDCMD FLAGFLAG CRCCRC TAILTAIL 바이트(6)Byte (6) 1One 1One 1One 22 1 One

표 2e에서 나타낸 바와 같이, FLAG 필드에는 1바이트 데이터가 저장되며, 신규 펌웨어 프로그램 전송의 성공(success)을 나타내는 플래그 비트(0x00)와 실패(fail)를 나타내는 플래그 비트(0x01) 중의 하나가 된다. As shown in Table 2e, one-byte data is stored in the FLAG field, which is one of a flag bit (0x00) indicating a success of a new firmware program transmission and a flag bit (0x01) indicating a failure.

만약 FLAG=0x00이면 펌웨어 업그레이드 장치는 중계기 컨트롤러에게 펌웨어 다운로드 이벤트가 있음을 통보해야 한다.If FLAG = 0x00, the firmware upgrade device should notify the repeater controller that there is a firmware download event.

또한, FLAG=0x01이면 응답 메시지를 관리서버측에 전송한 후 TCP/IP 연결을 종료하고 대기상태로 복귀한다.In addition, if FLAG = 0x01, it sends a response message to the management server side, terminates the TCP / IP connection, and returns to the standby state.

또한, START 필드는 1바이트의 0x00 플래그 비트, CMD는 1바이트의 0x06 플래그 비트, TAIL은 1바이트의 0x7E 플래그 비트를 가지며, CRC 필드에는 16비트의 CRC값이 포함되고, START부터 CRC 앞까지 계산을 한다.In addition, the START field has one byte of 0x00 flag bits, CMD has one byte of 0x06 flag bits, and TAIL has one byte of 0x7E flag bits.The CRC field contains a 16-bit CRC value. Do it.

다음으로 펌웨어 다운로드 결과 메시지는 펌웨어 업그레이드 장치가 펌웨어 프로그램을 중계기측으로 전송한 후 그 전송결과를 관리서버측에 전송하는 메시지이다. Next, the firmware download result message is a message in which the firmware upgrade apparatus transmits the firmware program to the relay side and then transmits the transmission result to the management server side.

표 2f은 펌웨어 다운로드 결과 메시지 포맷의 일례를 나타낸 표이다.Table 2f is a table showing an example of the firmware download result message format.

구분division CMDCMD SEQ#SEQ # RESULTRESULT 바이트(7)Byte (7) 22 44 1One

표 2f에서 나타낸 바와 같이, 시퀀스 번호(SEQ#)는 패킷 손실을 추정할 수 있도록 하는 일련번호이며, 최소 0000번부터 최대 9999번까지의 일련번호를 지정한다.As shown in Table 2f, the sequence number (SEQ #) is a serial number for estimating packet loss, and specifies a serial number of at least 0000 up to 9999.

RESULT는 펌웨어 다운로드 결과를 몇 가지 유형으로 구분하여, 각 결과값에 1바이트의 숫자코드를 부여한 것이다. 펌웨어 업그레이드 장치는 펌웨어 다운로드 결과값을 관리서버측으로 전송하는 펌웨어 다운로드 결과 메시지의 RESULT 필드에 저장하며, 펌웨어 다운로드의 결과는 아래 표2-7과 같은 8가지 유형을 생각할 수 있다. RESULT classifies the firmware download result into several types and assigns each byte a 1-byte numeric code. The firmware upgrade apparatus stores the firmware download result value in the RESULT field of the firmware download result message which is transmitted to the management server. The result of the firmware download can be considered as eight types as shown in Table 2-7 below.

RESULTRESULT 설명Explanation 00 펌웨어 다운로드 성공(success)Firmware download success 1One 중계기 응답없음($FWLOAD에 대해 응답없음)Repeater not responding (no response for $ FWLOAD) 22 펌웨어 명칭 오류(Firmware Name Error)Firmware Name Error 33 전체 CRC 오류(TOTAL CRC Fail)Total CRC Fail 44 펌웨어 쓰기 실패(Firmware Write Fail)Firmware Write Fail 55 타임아웃 오류(Timeout Error)Timeout Error 66 블록 CRC 오류(Block CRC Fail)Block CRC Fail 77 부적합 펌웨어(Wrong Firmware)Wrong Firmware

표 3은 펌웨어 업그레이드 장치가 중계기 컨트롤러측으로 전송하는 신호를 정리한 표이다.Table 3 summarizes the signals transmitted by the firmware upgrade apparatus to the repeater controller.

약자Abbreviation 명칭designation $FWDLOAD$ FWDLOAD 펌웨어 다운로드 명령어Firmware download command

이를 더욱 상세히 살펴보면 아래와 같다. Looking at this in more detail as follows.

펌웨어 다운로드 명령어는, 펌웨어 업그레이드 장치가 관리서버로부터 신규 펌웨어 프로그램을 전송받은 후 중계기측에 이를 전송키 위하여 관리서버측에 펌웨어 프로그램의 다운로드를 지시하는 명령어다. The firmware download command is a command for instructing the download of the firmware program to the management server in order to transmit the new firmware program from the management server to the relay side after receiving the new firmware program.

펌웨어 업그레이드 장치는 관리서버로부터 신규 펌웨어 프로그램의 전송을 완료한 후 소정의 시간(예를 들어 1초) 경과 후에 이 명령어를 중계기 컨트롤러측으로 전송을 한다.The firmware upgrade apparatus transmits this command to the repeater controller after a predetermined time (for example, 1 second) has passed after the transmission of the new firmware program from the management server.

중계기 컨트롤러는 이 명령어에 대해서 소정의 타임아웃 시간 경과 전에(예를 들면 3초 내에) 펌웨어 스펙확인 명령어(AT$FWINFO?)로 응답을 한다. 만약 중계기 컨트롤러로부터 소정의 타임아웃 시간이 경과할 때까지 응답이 없으면, 관리서버측으로 다운로드 결과 메시지를 전송한다. 이때 표 2g에서 나타낸 바와 같이 RESULT 필드값이 1이 되도록 함으로써 펌웨어 다운로드가 실패했음을 보고하게 된다.The repeater controller responds to this command with a firmware specification check command (AT $ FWINFO?) Before a predetermined timeout time elapses (eg within 3 seconds). If there is no response until the predetermined timeout time elapses from the repeater controller, the download result message is transmitted to the management server. In this case, as shown in Table 2g, the RESULT field value is set to 1 to report that the firmware download has failed.

한편, 펌웨어 다운로드 에 대해서는 OK0D0A를 출력하지 않는다.On the other hand, OK0D0A is not output for firmware download.

표 3a은 펌웨어 다운로드 명령어 포맷의 일례를 나타낸 표이다.Table 3a shows an example of a firmware download command format.

명령Command $FWDLOAD0D0A$ FWDLOAD0D0A

표 4는 중계기 컨트롤러가 펌웨어 업그레이드 장치측으로 전송하는 신호를 정리한 표이다.Table 4 summarizes the signals that the repeater controller sends to the firmware upgrade device.

약자Abbreviation 명칭designation AT$FWINFO?AT $ FWINFO? 펌웨어 스펙확인 명령어Firmware Specification Check Command AT$FWEND=N AT $ FWEND = N 펌웨어 분할전송 명령어Firmware Split Transfer Command AT$FWRD=N AT $ FWRD = N 펌웨어 다운로드종료 명령어Firmware download exit command

이들 각각에 대하여 더욱 상세히 살펴보면 아래와 같다. Looking at each of them in more detail as follows.

먼저, 펌웨어 스펙확인 명령어는 펌웨어 업그레이드 장치로부터의 펌웨어 다운로드 명령어에 응답하여 중계기 컨트롤러가 펌웨어 업그레이드 장치측으로 전송하는 명령어다.First, the firmware specification check command is a command transmitted from the repeater controller to the firmware upgrade device side in response to the firmware download command from the firmware upgrade device.

앞서 펌웨어 다운로드 명령어에 관한 설명에서 언급한 바 있듯이, 중계기 컨트롤러는 펌웨어 다운로드 명령어를 수신한 후 소정 시간이 경과하기 전에 펌웨어 스펙확인 명령어를 펌웨어 업그레이드 장치측으로 전송한다. As mentioned in the foregoing description of the firmware download command, the repeater controller transmits a firmware specification check command to the firmware upgrade device side after a predetermined time elapses after receiving the firmware download command.

표 4a은 펌웨어 스펙확인 명령어 및 응답 포맷의 일례를 나타낸 표이다.Table 4a shows an example of a firmware specification check command and response format.

명령Command AT$FWINFO?0D0AAT $ FWINFO? 0D0A 응답answer $FWINFO:FWNAME,SIZE,TOTALCRC0D0A$ FWINFO: FWNAME, SIZE, TOTALCRC0D0A

펌웨어 업그레이드 장치는 중계기 컨트롤러측으로부터의 펌웨어 스펙확인 명령어에 응답하여 펌웨어의 스펙정보를 회신한다.The firmware upgrade apparatus returns the specification information of the firmware in response to the firmware specification check command from the repeater controller side.

펌웨어의 스펙정보에는 정보는 표 1c을 참조하여 앞서 설명한 바와 같이, 2바이트의 중계기 코드(RCODE)와, 각각 1바이트의 크기로 이루어지는 중계기 제조사 코드, 컨트롤러 제조사 코드 및 버전정보가 포함된다. The specification information of the firmware includes a repeater code (RCODE) of 2 bytes, a repeater manufacturer code, a controller manufacturer code, and version information each having a size of 1 byte, as described above with reference to Table 1c.

또한, 펌웨어 스펙정보 중 SIZE 항목에는 펌웨어 프로그램의 크기정보가 6자리 정수로서 바이트 단위로 포함된다.In addition, the size information of the firmware specification information includes the size information of the firmware program as a 6-digit integer in byte units.

또한, TOTALCRC 항목에는 전체 펌웨어 프로그램에 관한 16비트의 CRC 값이 포함된다. The TOTALCRC item also contains a 16-bit CRC value for the entire firmware program.

다음으로, 펌웨어 분할전송 명령어는 펌웨어 프로그램을 512바이트 단위의 블록으로 분할하여 전송하여 줄 것을 중계기 컨트롤러가 펌웨어 업그레이드 장치측에 요청하는 명령어다. Next, the firmware divided transfer command is a command that the repeater controller requests the firmware upgrade apparatus to divide and transmit the firmware program into blocks of 512 byte units.

512바이트 단위로 분할된 각각의 블록에 있어서, 오버헤드를 제외한 실질적인 펌웨어 프로그램 데이터는 496바이트가 된다. In each block divided into 512 byte units, the actual firmware program data excluding the overhead is 496 bytes.

오버헤드에는 4바이트의 $FWRD, 4바이트의 인덱스(INDEX), 4바이트의 CRC값 및 2바이트의 0D0A값이 포함된다.The overhead includes four bytes of $ FWRD, four bytes of index (INDEX), four bytes of CRC value, and two bytes of 0D0A value.

펌웨어 업그레이드 장치는 데이터(DATA) 필드와 CRC 필드의 모든 값을 2-디지트의 아스키 헥스 코드(ASCII Hex Code)로 변환하여 전송한다. 이때, 데이터 필드를 2-디지트로 나누어서 전송하기 때문에 실질적인 펌웨어 프로그램 데이터는 496바이트의 절반인 248바이트가 된다.The firmware upgrade apparatus converts all values of the data field and the CRC field into 2-digit ASCII Hex Codes and transmits them. At this time, since the data field is divided into two digits and transmitted, the actual firmware program data becomes 248 bytes, which is half of 496 bytes.

전체 블록의 개수 N은 아래 수학식 1과 같이 계산된다.The number N of all blocks is calculated as in Equation 1 below.

N = (펌웨어 프로그램의 크기 / 248 ) N = (size of firmware program / 248)

이 때, 분할된 펌웨어 프로그램 블록을 전송받는 전체 회수는 (N +1)회가 된다.At this time, the total number of times of receiving the divided firmware program block is ( N + 1) times.

한편, N번째 블록에서 펌웨어 프로그램의 마지막 부분 이후의 잔여 바이트에는 아무것도 채우지 않고, 바로 0D0A를 붙여서 전송한다.On the other hand, in the N- th block, nothing is filled in the remaining bytes after the last part of the firmware program, and is immediately transmitted with 0D0A attached.

중계기 컨트롤러는, 하나의 펌웨어 프로그램 블록을 전송받을 때마다 해당블록의 CRC값을 계산해서 펌웨어 업그레이드 장치로부터 전송된 CRC값과 비교한다. 두 CRC값이 동일한 경우에는 전송오류가 없는 것이다. 만약 두 CRC값이 다르면 3번까지 그 블록을 재전송요청하고, 3번째에도 CRC값이 상이한 경우에는 후술하는 펌웨어 다운로드 종료 명령어에서 해당 블록에서 CRC 오류가 발생하였음을 지시하는 코드를 이용하여(AT$FWEND=6) 펌웨어 다운로드가 실패하였음을 지시한다.Each time the repeater controller receives one firmware program block, the repeater controller calculates a CRC value of the corresponding block and compares the CRC value transmitted from the firmware upgrade apparatus. If the two CRC values are the same, there is no transmission error. If the two CRC values are different, the block is requested to be retransmitted up to 3 times. If the CRC values are different from the third time, a code indicating that a CRC error has occurred in the corresponding block is used in the firmware download end command described later (AT $ FWEND = 6) Indicates that the firmware download failed.

신규 펌웨어 프로그램의 첫번째 블록을 전송받았을 때, 중계기는 현행 펌웨어 프로그램과 신규 펌웨어 프로그램의 부트(boot) 영역을 비교하여 자신의 펌웨어 프로그램이 맞는지 여부를 판단한다. 만약 펌웨어 프로그램이 일치하지 않는 경우에는 후술하는 펌웨어 다운로드 종료 명령어에서 잘못된 펌웨어를 지시하는 코드를 이용하여(AT$FWEND=7) 펌웨어 다운로드가 실패하였음을 지시한다.When receiving the first block of the new firmware program, the repeater compares the current firmware program and the boot area of the new firmware program to determine whether the firmware program is correct. If the firmware programs do not match, the firmware download fails by using a code indicating wrong firmware (AT $ FWEND = 7) in the firmware download end command described later.

표 4b는 펌웨어 분할전송 명령어 및 그 응답 포맷의 일례를 나타내 표이다. Table 4b is a table showing an example of a firmware split transfer command and its response format.

명령Command AT$FWRD=INDEX0D0AAT $ FWRD = INDEX0D0A 응답answer $FWRD:INDEXDATACRC0D0A$ FWRD: INDEXDATACRC0D0A

여기에서 인덱스(INDEX)는 신규 펌웨어 프로그램의 해당 블록에 관한 4자리 정수의 인덱스이다.Here, the index INDEX is an index of four digit integers for the corresponding block of the new firmware program.

해당 인덱스에 관한 중계기 컨트롤러의 펌웨어 분할전송 명령어가 전송되면, 그 응답으로서 펌웨어 업그레이드 장치는 인덱스, 신규 펌웨어 프로그램의 해당 인덱스에 관한 데이터 블록 및 CRC를 전송한다.When the firmware split transfer command of the repeater controller for the corresponding index is transmitted, in response, the firmware upgrade apparatus transmits the index, the data block for the corresponding index of the new firmware program, and the CRC.

데이터(DATA)는 신규 펌웨어 프로그램의 해당 블록의 실제 데이터로서, 496바이트의 영역이지만 2-디지트 아스키 헥스 코드로 전송되는 관계로 2-디지트로 나누어 전송되기 때문에 실질적인 데이터 크기는 496/2=248바이트가 됨은 앞서 설명한 바 있다.Data is the actual data of the corresponding block of the new firmware program. The data size is 496/2 = 248 bytes because it is divided into 2-digits because it is transmitted in 2-digit ASCII hex code. Has been described above.

마찬가지로, CRC값은 2-디지트 아스키 헥스 코드로 전송되는 관계로 2-디지트로 나누어 전송되기 때문에 4바이트 크기가 된다.Similarly, since the CRC value is transmitted as a 2-digit ASCII hex code, it is divided into 2-digits and thus has a size of 4 bytes.

다음으로 펌웨어 다운로드 종료 명령어는 펌웨어 프로그램의 다운로드를 종료할 것을 중계기 컨트롤러가 펌웨어 업그레이드 장치측에 요청하는 명령어다.Next, the firmware download end command is a command that the repeater controller requests the firmware upgrade device to end the download of the firmware program.

표 4c은 펌웨어 다운로드 종료 명령어와 그 응답 포맷의 일례를 나타낸 표이다.Table 4c is a table showing an example of the firmware download end command and its response format.

명령Command AT$FWEND=CODEAT $ FWEND = CODE 응답answer OK0D0A 또는 ERROR0D0AOK0D0A or ERROR0D0A

중계기 컨트롤러는 펌웨어 다운로드 종료 명령어에 종료의 원인을 지시하는 1바이트의 코드를 포함하여 전송한다. 펌웨어 업그레이드 장치는 펌웨어 다운로드 종료 명령어에 대한 응답으로서 OK 또는 ERROR를 회신한다.The repeater controller transmits a 1 byte code indicating the cause of the termination in the firmware download termination command. The firmware upgrade apparatus returns an OK or ERROR in response to the firmware download end command.

표 4d는 펌웨어 다운로드 종료의 원인을 지시하는 1바이트의 코드를 정리한 표이다. 표 4d의 각 코드값은, 앞서 표 2g을 참조하여 설명한 다운로드 결과값(RESULT)에 대응된다. Table 4d is a table listing 1-byte codes indicating the cause of firmware download termination. Each code value of Table 4d corresponds to the download result RESULT described with reference to Table 2g above.

CODECODE 설명Explanation 00 펌웨어 다운로드 성공(success)Firmware download success 1One 중계기 응답없음($FWLOAD에 대해 응답없음)Repeater not responding (no response for $ FWLOAD) 22 펌웨어 명칭 오류(Firmware Name Error)Firmware Name Error 33 전체 CRC 오류(TOTAL CRC Fail)Total CRC Fail 44 펌웨어 쓰기 실패(Firmware Write Fail)Firmware Write Fail 55 타임아웃 오류(Timeout Error)Timeout Error 66 블록 CRC 오류(Block CRC Fail)Block CRC Fail 77 부적합 펌웨어(Wrong Firmware)Wrong Firmware

도 6은 본 발명의 제2 실시예에 의한 원격 펌웨어 업그레이드 방법에 따른 중계기 펌웨어 업그레이드의 흐름을 나타낸 도면이다. 6 is a diagram showing the flow of repeater firmware upgrade according to the remote firmware upgrade method according to a second embodiment of the present invention.

도 6에서 나타낸 바와 같이, 중계기의 원격 펌웨어 업그레이드 방법은 신규 펌웨어 프로그램이 관리서버로부터 펌웨어 업그레이드 장치로 전송되는 단계(S100)와, 상기 신규 펌웨어 프로그램이 상기 펌웨어 업그레이드 장치로부터 중계기 컨트롤러로 전송되는 단계(S200)를 포함하여 이루어진다. As shown in Figure 6, the remote firmware upgrade method of the repeater is a step of transmitting a new firmware program from the management server to the firmware upgrade apparatus (S100), and the step of transmitting the new firmware program from the firmware upgrade apparatus to the repeater controller ( S200) is made.

한편, 상기 신규 펌웨어 프로그램은 상기 중계기 컨트롤러로 전송된 후, 상기 중계기 컨트롤러의 자체 펌웨어 업그레이드 알고리듬에 따라 상기 신규 펌웨어가 설치되는 단계(S300)를 포함하여 이루어진다. On the other hand, the new firmware program is transmitted to the repeater controller, and comprises the step of installing the new firmware according to the firmware upgrade algorithm of the repeater controller (S300).

도 7은 도 6를 더욱 자세히 나타낸 흐름도이다.7 is a flow diagram illustrating FIG. 6 in more detail.

도 7에서 나타낸 바와 같이, 신규 펌웨어 프로그램이 관리서버로부터 펌웨어 업그레이드 장치로 전송되는 단계는, 관리서버와 펌웨어 업그레이드 장치 간 신규 펌웨어 프로그램 전송 준비단계(S110~S131)와, 관리서버로부터 펌웨어 업그레이드 장치로의 신규 펌웨어 프로그램 전송단계(S140~S161)를 더 포함하여 이루어진다. As shown in FIG. 7, the step of transmitting the new firmware program from the management server to the firmware upgrade apparatus includes preparing a new firmware program transmission step (S110 ˜ S131) between the management server and the firmware upgrade apparatus, and from the management server to the firmware upgrade apparatus. It further comprises a new firmware program transmission step (S140 ~ S161).

관리서버와 펌웨어 업그레이드 장치 간 신규 펌웨어 프로그램 전송 준비단계(S110~S131)는, 다시 관리서버로부터 펌웨어 업그레이드 장치측으로 통신 네트워크 접속요청이 이루어지는 단계(S110)와, 펌웨어 업그레이드 장치와 관리서버 간에 통신 네트워크 접속이 체결되는 단계(S111) 및 모뎀ID 식별단계(S120~S121)를 더 포함하여 이루어진다. The new firmware program transmission preparation step (S110 ~ S131) between the management server and the firmware upgrade device is a step (S110) where a communication network connection request is made from the management server to the firmware upgrade device side again, and the communication network connection between the firmware upgrade device and the management server. The fastening step (S111) and the modem ID identification step (S120 ~ S121) further comprises.

먼저, 관리서버로부터 펌웨어 업그레이드 장치측으로의 통신 네트워크 접속요청(S110)은, 관리서버에 의하여 표 1의 펌웨어 업그레이드 요청 명령어(REP_FW_DLOAD_CMD)가 전송됨으로서 이루어진다. 펌웨어 업그레이드 요청 명령어는 단문메시지(SMS)를 이용하여 전송된다.First, the communication network connection request (S110) from the management server to the firmware upgrade apparatus side is made by transmitting the firmware upgrade request command (REP_FW_DLOAD_CMD) shown in Table 1 by the management server. The firmware upgrade request command is transmitted using a short message (SMS).

펌웨어 업그레이드 장치는 펌웨어 업그레이드 요청 명령어를 수신한 때에는, 명령어에 대한 별도의 OK/ERROR 등의 응답이 없이 바로 통신 네트워크 접속을 체결한다(S111). 통신 네트워크의 접속은 TCP/IP 프로토콜에 의하여 이루어질 수 있다. 또한, 이 때 표 1a의 펌웨어 업그레이드 요청 명령어에 포함된 네트워크 정보(IP 주소 및 포트 번호 등)를 이용한다. When the firmware upgrade apparatus receives the firmware upgrade request command, the firmware upgrade apparatus immediately connects to the communication network without a response such as an OK / ERROR for the command (S111). The connection of the communication network can be made by the TCP / IP protocol. In this case, network information (IP address and port number, etc.) included in the firmware upgrade request command of Table 1a is used.

TCP/IP 접속이 체결되면, 관리서버는 펌웨어 업그레이드 장치를 식별하기 위하여, 표 1의 ID 요청 명령어(TCP_MODEM_ID_REQ)에 의하여 펌웨어 업그레이드 장치의 전화번호를 요청한다(S120). When the TCP / IP connection is concluded, the management server requests the phone number of the firmware upgrade apparatus by the ID request command (TCP_MODEM_ID_REQ) of Table 1 to identify the firmware upgrade apparatus (S120).

펌웨어 업그레이드 장치는 ID 요청 명령어를 수신하면 ID 응답메시지(TCP_MODEM_ID_RES)에 펌웨어 업그레이드 장치의 전화번호를 포함하여 관리서버측으로 회신한다(S121).When the firmware upgrade apparatus receives the ID request command, the firmware upgrade apparatus returns to the management server including the telephone number of the firmware upgrade apparatus in the ID response message (TCP_MODEM_ID_RES) (S121).

관리서버는 ID 응답메시지를 수신한 후, 해당 메시지에 포함된 펌웨어 업그레이드 장치의 전화번호가 관리서버에 저장되어 있는 해당 펌웨어 업그레이드 장치의 전화번호와 일치하는지 여부를 판단한다.After receiving the ID response message, the management server determines whether the telephone number of the firmware upgrade apparatus included in the message matches the telephone number of the firmware upgrade apparatus stored in the management server.

관리서버에 저장된 펌웨어 업그레이드 장치의 전화번호와 펌웨어 업그레이드 장치로부터 전송된 전화번호가 일치하면, 관리서버는 전송할 신규 펌웨어의 명칭 및 크기 정보를 펌웨어 업그레이드 장치로 전송한다(S130). 이들 정보는 펌웨어 사양 메시지(TCP_FW_SIZE_TX)에 포함되어 있음은 앞서 표 1c에서 설명한 바 있다. If the phone number of the firmware upgrade apparatus stored in the management server and the telephone number transmitted from the firmware upgrade apparatus match, the management server transmits the name and size information of the new firmware to be transmitted to the firmware upgrade apparatus (S130). These information are included in the firmware specification message (TCP_FW_SIZE_TX) as described in Table 1c above.

펌웨어 업그레이드 장치는 관리서버로부터 펌웨어 사양 메시지를 수신하면, 표 2b에서 설명한 펌웨어 사양 응답 메시지를 관리서버로 회신한 후 메시지에 포함된 펌웨어 명칭(Firmware Name)을 저장한다(S131).Upon receiving the firmware specification message from the management server, the firmware upgrade apparatus returns the firmware specification response message described in Table 2b to the management server, and stores the firmware name included in the message (S131).

도 9는 원격 펌웨어 업그레이드 장치에 관한 전화번호가 불일치하는 경우의흐름에 관한 도면이다. FIG. 9 is a diagram illustrating a flow in a case where telephone numbers relating to remote firmware upgrade apparatuses do not match.

관리서버는 저장된 펌웨어 업그레이드 장치의 전화번호와 펌웨어 업그레이드 장치로부터 전송된 전화번호가 일치하는지 여부를 판단한다(S122). 만약 두 전화번호가 불일치하면, 관리서버는 표 1g의 종료 메시지를 펌웨어 업그레이드 장치로 전송함으로써 TCP/IP 종료 명령을 내린다(S123). 펌웨어 업그레이드 장치는 종료 메시지를 수신하면 관리서버와의 사이에 체결된 TCP/IP 접속을 종료하고, 표 2e의 종료응답 메시지를 관리서버측으로 전송한 후 대기(idle) 상태로 복귀한다(S124).The management server determines whether the telephone number of the stored firmware upgrade apparatus and the telephone number transmitted from the firmware upgrade apparatus match (S122). If the two telephone numbers do not match, the management server issues a TCP / IP termination command by transmitting the termination message of Table 1g to the firmware upgrade apparatus (S123). Upon receiving the termination message, the firmware upgrade apparatus terminates the TCP / IP connection between the management server, and transmits the termination response message of Table 2e to the management server and returns to the idle state (S124).

다시 도 7으로 돌아가, 관리서버로부터 펌웨어 업그레이드 장치로 신규 펌웨어 프로그램이 전송되는 단계의 자세한 흐름을 살펴보면 다음과 같다.7 again, the detailed flow of the step of transmitting a new firmware program from the management server to the firmware upgrade apparatus is as follows.

펌웨어 업그레이드 장치가 펌웨어 사양 응답 메시지를 회신하면(S131), 관리서버는 신규 펌웨어 프로그램을 4096바이트 단위의 블록으로 분할하여 각 블록에 관한 인덱스(INDEX)와 함께 각각의 블록을 펌웨어 전송 메시지(TCP_FW_TX(N))에 포함하여 전송한다(S140,141,142,143,144).When the firmware upgrade apparatus returns a firmware specification response message (S131), the management server divides the new firmware program into blocks of 4096-byte units and displays each block with an index (INDEX) for each block in the firmware transfer message (TCP_FW_TX ( N )) and transmit (S140, 141, 142, 143, 144).

이 때, 총 블록의 수를 N이라 하면, 신규 펌웨어 프로그램의 전송을 위하여 필요한 전송의 회수는 총 (N +1)회가 된다.At this time, if the total number of blocks is N , the number of transfers necessary for the transfer of the new firmware program is ( N +1) times.

펌웨어 업그레이드 장치는 수신한 각 펌웨어 전송 메시지마다 수신응답을 관리서버측으로 회신하지 않는 대신, 인덱스가 순차적으로 수신되는지 여부를 판단한다. The firmware upgrade apparatus does not return the response to the management server for each firmware transmission message received, and determines whether the indexes are sequentially received.

신규 펌웨어 프로그램의 모든 블록의 전송이 완료되면, 관리서버는 펌웨어 업그레이드 장치측으로 CRC 계산값 메시지(TCP_FW_CRC_REQ)을 전송함으로써 전체 펌웨어 프로그램에 대한 CRC값을 전송한다.When the transmission of all blocks of the new firmware program is completed, the management server transmits a CRC value for the entire firmware program by sending a CRC calculation value message (TCP_FW_CRC_REQ) to the firmware upgrade apparatus.

펌웨어 업그레이드 장치는, 전송받은 신규 펌웨어 프로그램 전체에 대한 CRC값을 자체적으로 계산한 후, 수신받은 CRC 계산값 메시지에 포함된 CRC 계산값과 비교한다. 또한, 그 비교결과를 CRC 비교결과 응답 메시지(TCP_FW_CRC_RES)로써 관리서버측에 전송한다.The firmware upgrade apparatus calculates a CRC value for all of the received new firmware programs by itself and compares the CRC calculation value included in the received CRC calculation message. The comparison result is also transmitted to the management server side as a CRC comparison result response message (TCP_FW_CRC_RES).

만약 두 CRC 계산값이 일치하면, 신규 펌웨어 프로그램이 오류없이 전송된 것으로 간주하여, 관리서버는 TCP/IP 접속을 종료할 것을 지시하는 종료 메시지(TCP_END_REQ)를 전송하며, 펌웨어 업그레이드 장치는 수신한 종료 메시지에 응답하여 종료 응답 메시지(TCP_END_RES)를 관리서버에 회신한 후 대기(idle) 상태에 진입한다. If the two CRC calculations match, the new firmware program is considered to have been transmitted without error, and the management server sends an end message (TCP_END_REQ) instructing to terminate the TCP / IP connection, and the firmware upgrade device receives the received termination. In response to the message, the terminal sends an end response message (TCP_END_RES) to the management server and enters an idle state.

도 10은 특정 인덱스에 관한 데이터블록의 전송이 누락되었거나, 전송실패가 발생한 경우의 흐름에 관한 도면이다.FIG. 10 is a flowchart illustrating a case where transmission of a data block for a specific index is missing or a transmission failure occurs.

특정 인덱스(여기에서는 index=2)에 관한 데이터가 순차적으로 수신되지 않으면(S145), 해당 인덱스에 관한 펌웨어 전송 메시지부터 재전송하여 줄 것을 관리서버측에 요청한다(S146). 이 요청은 펌웨어 재전송 요청 메시지를 관리서버측으로 전송함으로써 수행된다.If data regarding a specific index (here index = 2) is not sequentially received (S145), the management server requests to retransmit from the firmware transmission message regarding the index (S146). This request is performed by sending a firmware retransmission request message to the management server side.

관리서버는 펌웨어 재전송 요청 메시지를 수신한 경우, 해당 인덱스에 관한 펌웨어 전송 메시지부터 다시 전송을 수행한다(S147,148,144).When the management server receives the firmware retransmission request message, the management server transmits again from the firmware transmission message for the index (S147, 148, 144).

도 11은 단계 S150에서의 CRC 계산값이 불일치하는 경우의 흐름에 관한 도면이다. 11 is a diagram of a flow when the CRC calculated values at step S150 are inconsistent.

편의상 단계S144 이전의 과정은 도시를 생략하였다.For convenience, the process before step S144 is omitted.

만약 두 CRC 계산값이 불일치하면(S152), CRC 비교결과 응답 메시지에 계산값이 불일치함을 뜻하는 정보를 포함하여 전송한다(S151). 이 경우, 관리서버로부터 신규 펌웨어 프로그램의 재전송이 이루어지게 된다(S170~S174). 펌웨어 업그레이드 장치도 그때까지의 모든 진행사항을 리셋하고, 수신한 모든 펌웨어 블록을 삭제한 후 관리서버로부터 전송되는 최초 펌웨어 전송 메시지부터 다시 수신을 한다. 신규 펌웨어 프로그램의 재전송이 이루어진 이후의 과정(S180~S161)은 앞서 도 7을 참조하여 살펴본 바와 동일하게 진행된다.If the two CRC calculation values do not match (S152), the CRC comparison result response message includes information indicating that the calculation values do not match and transmits (S151). In this case, retransmission of the new firmware program is made from the management server (S170 to S174). The firmware upgrade apparatus also resets all progresses up to that time, deletes all received firmware blocks, and then receives the first firmware transmission message transmitted from the management server again. Processes after the retransmission of the new firmware program (S180 ~ S161) is the same as described above with reference to FIG.

만약, 신규 펌웨어 프로그램의 전송 중에 돌연한 통화 단절(call drop)가 발생하면, 관리서버는 통화 단절 발생을 감지한 후 그때까지의 모든 진행사항을 리셋하고 신규 펌웨어 프로그램을 처음부터 재전송하는 것을 시도할 수 있다. 또한, 이러한 재전송이 통화 단절로 인하여 무한 반복되는 것을 방지하기 위하여, 재전송을 소정의 회수로 제한할 수도 있다.If a sudden call drop occurs during the transmission of the new firmware program, the management server detects the occurrence of the call disconnection, resets all progress until then, and attempts to retransmit the new firmware program from the beginning. Can be. In addition, in order to prevent such retransmissions from repeating infinitely due to disconnection, retransmissions may be limited to a predetermined number of times.

이와 같은 프로세스를 통하여, 중계기의 펌웨어 업그레이드를 위하여 관리서버로부터 펌웨어 업그레이드 장치로 신규 펌웨어 프로그램의 전송이 이루어지게 된다.Through this process, a new firmware program is transmitted from the management server to the firmware upgrade apparatus for firmware upgrade of the repeater.

아래에서는 신규 펌웨어 프로그램이 펌웨어 업그레이드 장치로부터 중계기 컨트롤러측으로 다시 전송된 후, 중계기 펌웨어 업그레이드가 이루어지는 프로세스에 대하여 계속해서 설명한다.In the following, the process in which the repeater firmware upgrade is performed after the new firmware program is transferred back from the firmware upgrade apparatus to the repeater controller side will be described.

도 8은 도 6를 더욱 자세히 나타낸 다른 흐름도이다. 8 is another flowchart illustrating FIG. 6 in more detail.

특히 도 8은 본 발명에 의한 이동통신 중계기의 원격 펌웨어 업그레이드 방법 중에서 신규 펌웨어 프로그램이 상기 펌웨어 업그레이드 장치로부터 중계기 컨트롤러로 전송되는 단계의 일례를 더욱 상세하게 나타낸 흐름도이다. In particular, FIG. 8 is a flowchart illustrating in more detail an example of a step of transmitting a new firmware program from the firmware upgrade apparatus to the repeater controller in the remote firmware upgrade method of the mobile communication repeater according to the present invention.

도 8에서 나타낸 바와 같이, 신규 펌웨어 프로그램이 펌웨어 업그레이드 장치로부터 중계기 컨트롤러로 전송되는 단계는, 펌웨어 업그레이드 장치와 중계기 컨트롤러 간 신규 펌웨어 프로그램 전송 준비단계(S210~S221)와, 펌웨어 업그레이드 장치로부터 중계기 컨트롤러측으로의 신규 펌웨어 프로그램 전송단계(S230~S251)를 더 포함하여 이루어진다.As shown in FIG. 8, the step of transferring the new firmware program from the firmware upgrade apparatus to the repeater controller includes preparing a new firmware program transmission step (S210 ˜ S221) between the firmware upgrade apparatus and the repeater controller and from the firmware upgrade apparatus to the repeater controller side. It further comprises a new firmware program transmission step (S230 ~ S251).

앞서 살펴본 프로세스에서, 펌웨어 업그레이드 장치가 관리서버로부터 신규 펌웨어 프로그램의 다운로드를 완료하면, 펌웨어 업그레이드 장치는 소정 시간(예를 들어, 1초)의 경과 후에 중계기 컨트롤러측에 신규 펌웨어 다운로드를 지시한다(S210). 이는 표 3a의 펌웨어 다운로드 명령어($FWDLOAD)를 통하여 수행한다.In the above-described process, when the firmware upgrade apparatus completes the download of the new firmware program from the management server, the firmware upgrade apparatus instructs the relay controller side to download the new firmware after a predetermined time (for example, 1 second) elapses (S210). ). This is done through the firmware download command ($ FWDLOAD) in Table 3a.

중계기 컨트롤러가 펌웨어 다운로드 명령어를 수신하면, 중계기 컨트롤러는 소정 시간(예를 들어, 3초)이 경과하기 전에 펌웨어 정보를 조회한다(S220). 펌웨어 정보의 조회는 표 4a의 펌웨어 스펙확인 명령어(AT$FWINFO?)를 펌웨어 업그레이드 장치측으로 전송함으로써 수행한다. 펌웨어 업그레이드 장치는 펌웨어 스펙확인 명령어에 대한 응답으로, 신규 펌웨어 프로그램에 관한 펌웨어 정보(중계기 펌웨어 명칭, 중계기 명칭, 컨트롤러 제조사 코드 및 버전정보 등)를 확인한다(S221).When the repeater controller receives the firmware download command, the repeater controller inquires the firmware information before a predetermined time (for example, 3 seconds) elapses (S220). The inquiry of the firmware information is performed by transmitting the firmware specification check command (AT $ FWINFO?) Shown in Table 4a to the firmware upgrade apparatus. In response to the firmware specification check command, the firmware upgrade apparatus checks firmware information (relay firmware name, repeater name, controller manufacturer code and version information, etc.) regarding the new firmware program (S221).

해당 중계기에 대한 올바른 펌웨어 명칭이 전송된 경우에는, 중계기 컨트롤러는 최초 인덱스(Firmware Index=0)부터 순차적으로 펌웨어 분할전송 명령어를 펌웨어 업그레이드 장치측으로 전송하고(S230,232,234,236), 작은 단위(예를 들어 512바이트)로 분할된 펌웨어 프로그램 블록을 펌웨어 업그레이드 장치로부터 순차적으로 전송받는다(S231,233,235,237). When the correct firmware name for the repeater is transmitted, the repeater controller sequentially transmits the firmware split transfer command to the firmware upgrade device from the initial index (Firmware Index = 0) (S230, 232, 234, 236), and the small unit (for example, The firmware program block divided into 512 bytes is sequentially transmitted from the firmware upgrade apparatus (S231, 233, 235, 237).

전체 펌웨어 프로그램 블록의 개수(M)는 수학식 2와 같다.The number M of the entire firmware program blocks is shown in Equation 2.

M = int{(펌웨어 크기)/248} M = int {(firmware size) / 248}

따라서, 신규 펌웨어 프로그램 전체를 다 읽기 위해서는 (M+1)개의 블록을 읽어야 한다.Therefore, to read the whole new firmware program, it is necessary to read ( M +1) blocks.

만약 (INDEX=M)인 블록의 경우에 펌웨어 프로그램 블록의 유효 데이터가 496 바이트보다 작으면, 프로그램 최종부분 이후의 잔여부분에는 아무것도 채우지 않고, 유효 데이터의 마지막에 0D0A를 붙여서 전송한다.(INDEX=M인블록은 512바이트보다 작을 수 있다)If the valid data of the firmware program block is smaller than 496 bytes in the case of (INDEX = M ), the remaining part after the end of the program is filled with nothing, and 0D0A is transmitted at the end of the valid data. M inblocks can be less than 512 bytes)

중계기 컨트롤러는 신규 펌웨어 프로그램의 최초 블록을 받았을 때에, 신규펌웨어 프로그램의 부트(boot) 영역을 현행 펌웨어 프로그램의 부트 영역과 비교하여, 신규 펌웨어 프로그램이 현행 펌웨어 프로그램과 호환성이 있는지 여부를 판단한다. 만약 호환성이 있는 것으로 판단한 경우에는 다음 블록의 다운로드를 계속 진행한다. When the repeater controller receives the first block of the new firmware program, it compares the boot area of the new firmware program with the boot area of the current firmware program, and determines whether the new firmware program is compatible with the current firmware program. If it is determined to be compatible, the next block download continues.

한편, 중계기 컨트롤러는 펌웨어 프로그램 블록을 받을 때마다 각 블록에 대한 CRC값을 계산한 후, 펌웨어 업그레이드 장치로부터 전송된 CRC값과 상호비교한다. 만약 두 CRC값이 일치하면 해당 블록이 성공적으로 전송된 것으로 간주하여 다음 블록으로 순차 진행한다.Meanwhile, the repeater controller calculates a CRC value for each block each time the firmware program block is received, and then compares the CRC value transmitted from the firmware upgrade apparatus. If the two CRC values coincide, the block is considered to have been successfully transmitted and then proceeds to the next block.

중계기 컨트롤러가 신규 펌웨어 프로그램을 모두 전송받으면, 신규 펌웨어 프로그램 전체에 대한 TOTAL CRC값을 계산하고, TOTAL CRC값이 펌웨어 업그레이드 장치로부터 전송받은 CRC값과 일치하는지 여부를 판단한다(S240).When the repeater controller receives all of the new firmware programs, it calculates a TOTAL CRC value for the whole new firmware program, and determines whether the TOTAL CRC value matches the CRC value transmitted from the firmware upgrade apparatus (S240).

만약 두 CRC값이 일치하는 경우에는 중계기 컨트롤러는 펌웨어를 저장장치(예를 들어, 플래시 메모리)에 써넣는다. If the two CRC values match, the repeater controller writes the firmware to storage (eg flash memory).

펌웨어 쓰기가 완료되면, 펌웨어 다운로드 성공을 뜻하는 코드를 포함하는 펌웨어 다운로드 종료 명령어를 펌웨어 업그레이드 장치측으로 전송한다(S250). 표 4c 및 4-4를 참조하면, 이 경우에 해당하는 펌웨어 다운로드 종료 명령어는 (AT$FWEND=0)이 된다. When the writing of the firmware is completed, a firmware download end command including a code indicating a firmware download success is transmitted to the firmware upgrade apparatus (S250). Referring to Tables 4c and 4-4, the corresponding firmware download end command is (AT $ FWEND = 0).

펌웨어 업그레이드 장치는 중계기 컨트롤러측으로부터 펌웨어 다운로드 종료 명령어(AT$FWEND=0)를 수신한 경우에는 (RESULT=0)인 펌웨어 다운로드 결과 메시지를 관리서버에 전송함으로서, 신규 펌웨어 프로그램이 성공적으로 다운로드되었음을 보고한다(S251). 이를 위하여 펌웨어 업그레이드 장치로부터 관리서버측으로 전송되는 단문메시지(SMS)를 사용할 수 있다. When the firmware upgrade device receives the firmware download end command (AT $ FWEND = 0) from the relay controller, the firmware upgrade device sends a firmware download result message of (RESULT = 0) to the management server, thereby reporting that the new firmware program has been successfully downloaded. (S251). For this purpose, a short message (SMS) transmitted from the firmware upgrade apparatus to the management server may be used.

중계기 컨트롤러는, 소정 시간(예를 들어, 20초) 경과 후에 중계기 컨트롤러에 내장된 업그레이드 알고리듬을 이용하여 펌웨어 업그레이드 프로세스를 수행하게 된다(S300).The repeater controller performs a firmware upgrade process by using an upgrade algorithm built in the repeater controller after a predetermined time (for example, 20 seconds) (S300).

도 12는 중계기 컨트롤러가 펌웨어 업그레이드 장치로부터의 펌웨어 다운로드 명령어를 수신한 후 소정의 타임아웃이 경과할 때까지도 명령어에 대한 응답을 회신하지 않는 경우의 흐름에 관한 도면이다. 12 is a flowchart illustrating a case in which the relay controller does not return a response to the command even after a predetermined timeout elapses after receiving the firmware download command from the firmware upgrade apparatus.

도 12에서 나타낸 바와 같이, 타임아웃(예를 들어 3초) 경과시까지 중계기 컨트롤러로부터 응답이 없는 것으로 판단된 경우에는(S211), 펌웨어 업그레이드 장치는 관리서버측으로 펌웨어 다운로드 결과 메시지를 전송한다(S212). 표 2g을 참조하면, 이 때의 코드값으로는 "중계기 응답없음"을 뜻하는 RESULT=1이 포함된다.As shown in FIG. 12, when it is determined that there is no response from the repeater controller until the timeout (for example, 3 seconds) elapses (S211), the firmware upgrade apparatus transmits a firmware download result message to the management server (S212). ). Referring to Table 2g, the code value at this time includes RESULT = 1, which means "no repeater response."

도 13은 펌웨어 업그레이드 장치로부터의 펌웨어 스펙확인 응답에 포함된 펌웨어 명칭이 해당 중계기의 명칭과 불일치하는 경우의 흐름을 나타낸 도면이다. FIG. 13 is a flowchart illustrating a case where the firmware name included in the firmware specification check response from the firmware upgrade apparatus is inconsistent with the name of the repeater.

중계기 컨트롤러는 펌웨어 스펙확인 응답에 포함된 중계기 제조사 코드가 해 당 중계기에 대한 제조사 코드와 일치하는지 여부를 확인한다(S222). The repeater controller checks whether the repeater manufacturer code included in the firmware specification check response matches the manufacturer code for the repeater (S222).

만약 불일치하는 경우에는 펌웨어 명칭 오류(Firmware Name Error)를 의미하는 코드값을 포함하는 펌웨어 다운로드 종료 명령어를 펌웨어 업그레이드 장치로 전송한다(S223). 표 4d를 참조하면, (AT$FWEND=2)가 이 경우에 해당하는 펌웨어 다운로드 종료 명령어가 된다.If there is a mismatch, a firmware download end command including a code value indicating a firmware name error is transmitted to the firmware upgrade apparatus (S223). Referring to Table 4d, (AT $ FWEND = 2) is the firmware download end command in this case.

또한, 중계기 컨트롤러는 이 경우에 소정 시간(예를 들어, 1분) 경과 후에 중계기 자체와 펌웨어 업그레이드 장치를 동시에 리셋함으로써 펌웨어 업그레이드 프로세스를 초기화한다.In addition, the repeater controller in this case initializes the firmware upgrade process by simultaneously resetting the repeater itself and the firmware upgrade apparatus after a predetermined time (for example, one minute) has elapsed.

또한, 펌웨어 업그레이드 장치는 중계기 컨트롤러로부터 펌웨어 다운로드 종료 명령어를 수신한 경우, 관리서버측으로 펌웨어 다운로드 결과 메시지(REP_FW_DLOAD_RES)를 전송한다(S224). 표 2g을 참조하면, 이 경우에 해당하는 펌웨어 다운로드 결과 메시지의 결과유형은 (RESULT=2)가 된다.In addition, when receiving the firmware download end command from the repeater controller, the firmware upgrade apparatus transmits a firmware download result message (REP_FW_DLOAD_RES) to the management server (S224). Referring to Table 2g, the result type of the firmware download result message corresponding to this case is (RESULT = 2).

도 14는 신규 펌웨어 프로그램의 각 데이터블록에 관한 CRC 계산값이 불일치하는 경우의 흐름을 나타낸 도면이다. 14 is a diagram showing a flow in the case where the CRC calculation values for each data block of the new firmware program do not match.

도 14에서 나타낸 바와 같이, 만약 펌웨어 분할전송 응답에 포함된 해당 데이터블록의 CRC 계산값과 중계기 컨트롤러가 직접 산출한 해당 데이터블록의 CRC 계산값이 일치하지 않으면(S232a), CRC 오류가 발생한 것으로 간주하여, 중계기 컨트롤러는 해당 블록의 인덱스를 가지는 펌웨어 분할전송 명령어를 전송함으로써, 동일한 블록의 재전송을 펌웨어 업그레이드 장치측에 요청한다(S232b). As shown in FIG. 14, if the CRC calculation value of the corresponding data block included in the firmware split transmission response and the CRC calculation value of the corresponding data block directly calculated by the repeater controller do not match (S232a), a CRC error is considered to have occurred. The relay controller transmits a firmware split transfer command having an index of the corresponding block, thereby requesting the firmware upgrade apparatus to retransmit the same block (S232b).

펌웨어 업그레이드 장치는 펌웨어 분할전송 명령어에 응답하여 다시 CRC 오 류가 발생한 데이터블록을 재전송한다(S233a). The firmware upgrade apparatus retransmits the data block in which the CRC error has occurred again in response to the firmware split transfer command (S233a).

한편, 무한반복의 문제점을 방지하기 위하여 중계기 컨트롤러는 소정 회수(예를 들어, 3회)까지만 재전송을 요청한 후, 소정 회수를 초과하는 CRC 오류가 발생한 경우에는 펌웨어 다운로드를 종료할 수 있다. 이 경우, 중계기 컨트롤러는 펌웨어 다운로드 종료명령어를 펌웨어 업그레이드 장치에 전송하며, 이 경우에 해당하는 펌웨어 다운로드 종료명령어는, 표 4c을 참조하면 블록 CRC 오류에 따른 다운로드 종료명령어인 (AT$FWEND=6)이 된다.Meanwhile, in order to prevent the problem of infinite repetition, the repeater controller may request retransmission up to a predetermined number of times (for example, three times), and then terminate the firmware download when a CRC error exceeding the predetermined number of times occurs. In this case, the repeater controller transmits a firmware download termination command to the firmware upgrade apparatus. In this case, referring to Table 4c, the repeater controller is a download termination command according to the block CRC error (AT $ FWEND = 6). Becomes

펌웨어 업그레이드 장치는 (AT$FWEND=6) 명령어를 수신한 경우에 (RESULT=6)인 펌웨어 다운로드 결과 메시지를 관리서버에 전송함으로서, 블록 CRC 오류에 따라 중계기 컨트롤러측으로의 펌웨어 다운로드가 실패하였음을 보고한다.When the firmware upgrade device receives the (AT $ FWEND = 6) command, it sends a firmware download result message of (RESULT = 6) to the management server, and reports that the firmware download to the repeater controller has failed due to a block CRC error. do.

중계기 컨트롤러는, 소정 시간(예를 들어, 1분) 경과 후에 중계기 자체와 펌웨어 업그레이드 장치를 동시에 리셋함으로써 펌웨어 업그레이드 프로세스를 초기화한다.The repeater controller initializes the firmware upgrade process by simultaneously resetting the repeater itself and the firmware upgrade apparatus after a predetermined time (for example, one minute) elapses.

도 15는 최초로 수신한 데이터블록에 포함된 부트영역에 의거하여 현행 펌웨어 프로그램과 신규 펌웨어 프로그램의 호환성 유무를 판단한 결과, 호환성이 없는 것으로 판명된 경우의 흐름을 나타낸 도면이다. FIG. 15 is a flowchart illustrating a case where it is determined that there is incompatibility as a result of determining whether the current firmware program and the new firmware program are compatible based on the boot area included in the first received data block.

도 15에서 나타낸 바와 같이, 만약 호환성이 없는 것으로 판단한 경우에는(S238), 부적합 펌웨어 프로그램임을 뜻하는 코드를 포함하는 펌웨어 다운로드 종료 명령어를 펌웨어 업그레이드 장치측으로 전송한다(S239). 표 4c 및 4-4를 참조하면, 이 경우에 해당하는 펌웨어 다운로드 종료 명령어는 (AT$FWEND=7)이 된다. As shown in FIG. 15, if it is determined that there is incompatibility (S238), a firmware download end command including a code indicating a non-compliant firmware program is transmitted to the firmware upgrade apparatus (S239). Referring to Tables 4c and 4-4, the corresponding firmware download end command is (AT $ FWEND = 7).

또한 중계기 컨트롤러는, 소정 시간(예를 들어, 1분) 경과 후에 중계기 자체와 펌웨어 업그레이드 장치를 동시에 리셋함으로써 펌웨어 업그레이드 프로세스를 초기화한다.In addition, the repeater controller initializes the firmware upgrade process by simultaneously resetting the repeater itself and the firmware upgrade apparatus after a predetermined time (for example, one minute) elapses.

펌웨어 업그레이드 장치는 중계기 컨트롤러측으로부터 펌웨어 다운로드 종료 명령어(AT$FWEND=7)를 수신한 경우에는 (RESULT=7)인 펌웨어 다운로드 결과 메시지를 관리서버에 전송함으로서, 부적합 펌웨어 프로그램의 사유로 인하여 중계기 컨트롤러측으로의 펌웨어 다운로드가 실패하였음을 보고한다(S239a).When the firmware upgrade device receives the firmware download end command (AT $ FWEND = 7) from the repeater controller side, the firmware upgrade device transmits a firmware download result message of (RESULT = 7) to the management server. It reports that the firmware download to the side has failed (S239a).

도 16은 중계기 컨트롤러가 다운로드한 신규 펌웨어 프로그램 전체에 대한 CRC 계산값에 오류가 발생한 경우의 흐름을 나타낸 도면이다. FIG. 16 is a diagram illustrating a flow when an error occurs in the CRC calculated value for the whole new firmware program downloaded by the repeater controller.

도 16에서 나타낸 바와 같이, 만약, TOTAL CRC값과 펌웨어 업그레이드 장치로부터 전송된 CRC값이 불일치하면(S2241), 전체 CRC 오류를 뜻하는 코드를 포함하는 펌웨어 다운로드 종료 명령어를 펌웨어 업그레이드 장치측으로 전송한다(S252). 표 4c 및 4-4를 참조하면, 이 경우에 해당하는 펌웨어 다운로드 종료 명령어는 (AT$FWEND=3)이 된다. As shown in FIG. 16, if there is a mismatch between the TOTAL CRC value and the CRC value transmitted from the firmware upgrade apparatus (S2241), a firmware download end command including a code representing an entire CRC error is transmitted to the firmware upgrade apparatus side ( S252). Referring to Tables 4c and 4-4, the corresponding firmware download end command is (AT $ FWEND = 3).

중계기 컨트롤러는, 소정 시간(예를 들어, 1분) 경과 후에 중계기 자체와 펌웨어 업그레이드 장치를 동시에 리셋함으로써 펌웨어 업그레이드 프로세스를 초기화한다.The repeater controller initializes the firmware upgrade process by simultaneously resetting the repeater itself and the firmware upgrade apparatus after a predetermined time (for example, one minute) elapses.

또한, 펌웨어 업그레이드 장치는 중계기 컨트롤러측으로부터 펌웨어 다운로드 종료 명령어(AT$FWEND=3)를 수신한 경우에는 (RESULT=3)인 펌웨어 다운로드 결 과 메시지를 관리서버에 전송함으로서, 전체 CRC 오류로 인하여 중계기 컨트롤러측으로의 펌웨어 다운로드가 실패하였음을 보고한다(S253). 이를 위하여 펌웨어 업그레이드 장치로부터 관리서버측으로 전송되는 단문메시지(SMS)를 사용할 수 있다.In addition, when the firmware upgrade device receives the firmware download end command (AT $ FWEND = 3) from the repeater controller, the firmware upgrade device sends a firmware download result message of (RESULT = 3) to the management server. Report that the firmware download to the controller has failed (S253). For this purpose, a short message (SMS) transmitted from the firmware upgrade apparatus to the management server may be used.

도 17은 펌웨어 스펙확인 명령어가 입력된 후 소정의 타임아웃이 경과할 때까지 펌웨어 분할전송 명령어가 입력되지 않은 경우의 흐름을 나타낸 도면이다. FIG. 17 is a flowchart illustrating a case where a firmware split transmission command is not input until a predetermined timeout elapses after a firmware specification check command is input.

펌웨어 스펙확인 명령어가 입력된 후 소정 시간(예를 들어, 5분) 이내에 신규 펌웨어 프로그램의 최초 블록(INDEX=0)에 대한 펌웨어 분할전송 명령어가 펌웨어 업그레이드 장치로 입력되지 않는 경우가 있을 수 있다(S254). 이 경우, 펌웨어 업그레이드 장치는 타임아웃으로 인하여 중계기 컨트롤러측으로의 펌웨어 다운로드가 실패하였음을 관리서버에 보고한다(S255). 표 2g을 참조하면, 타임아웃에 해당하는 펌웨어 다운로드 결과 메시지의 결과값은 (RESULT=5)가 된다. There may be a case where the firmware split transfer command for the first block of the new firmware program (INDEX = 0) is not input to the firmware upgrade apparatus within a predetermined time (for example, 5 minutes) after the firmware specification check command is input ( S254). In this case, the firmware upgrade apparatus reports to the management server that the firmware download to the relay controller side has failed due to timeout (S255). Referring to Table 2g, the result of the firmware download result message corresponding to the timeout is (RESULT = 5).

펌웨어 업그레이드 장치는, 펌웨어 다운로드 결과 메시지를 관리서버측으로 전송을 한 후에는 중계기 리셋명령($16160200006E60)을 중계기 컨트롤러로 전송한다. After the firmware upgrade apparatus transmits the firmware download result message to the management server, the firmware upgrade apparatus transmits a repeater reset command ($ 16160200006E60) to the repeater controller.

만약 펌웨어 쓰기 도중에 오류가 발생하면, 펌웨어 쓰기 실패를 뜻하는 코드를 포함하는 펌웨어 다운로드 종료 명령어를 펌웨어 업그레이드 장치측으로 전송한다. 표 4c 및 4-4를 참조하면, 이 경우에 해당하는 펌웨어 다운로드 종료 명령어는 (AT$FWEND=4)가 된다. 중계기 컨트롤러는, 소정 시간(예를 들어, 1분) 경과 후에 중계기 자체와 펌웨어 업그레이드 장치를 동시에 리셋함으로써 펌웨어 업그레이드 프로세스를 초기화한다.If an error occurs during firmware writing, a firmware download termination command including a code indicating a firmware writing failure is transmitted to the firmware upgrade apparatus. Referring to Tables 4c and 4-4, the corresponding firmware download end command is (AT $ FWEND = 4). The repeater controller initializes the firmware upgrade process by simultaneously resetting the repeater itself and the firmware upgrade apparatus after a predetermined time (for example, one minute) elapses.

펌웨어 업그레이드 장치는 중계기 컨트롤러측으로부터 펌웨어 다운로드 종료 명령어(AT$FWEND=4)를 수신한 경우에는 (RESULT=4)인 펌웨어 다운로드 결과 메시지를 관리서버에 전송함으로서, 펌웨어 쓰기 실패로 인하여 중계기 컨트롤러측으로의 펌웨어 다운로드가 실패하였음을 보고한다. 이를 위하여 펌웨어 업그레이드 장치로부터 관리서버측으로 전송되는 단문메시지(SMS)를 사용할 수 있다.When the firmware upgrade device receives the firmware download end command (AT $ FWEND = 4) from the repeater controller side, the firmware upgrade device sends a firmware download result message with (RESULT = 4) to the management server. Report that the firmware download failed. For this purpose, a short message (SMS) transmitted from the firmware upgrade apparatus to the management server may be used.

한편, 중계기 컨트롤러로부터 펌웨어 업그레이드 장치가 AT 명령어를 전송받는 경우에는, 모든 AT 명령어의 말단에는 반드시 0D0A가 붙어서 전송되어야 한다. On the other hand, when the firmware upgrade apparatus receives an AT command from the repeater controller, 0D0A must be attached to the end of all AT commands.

또한, 펌웨어 업그레이드 장치는 입력되는 모든 AT 명령어에 대해서 표 4a 내지 4-3에서 설명한 바와 같은 응답신호를 회신하여야 한다. 또한, 응답신호를 회신한 후에는 반드시 OK0D0A를 전송하여야 한다. In addition, the firmware upgrade apparatus should return a response signal as described in Tables 4a to 4-3 with respect to all input AT commands. In addition, after returning the response signal, OK0D0A must be transmitted.

중계기 컨트롤러는 펌웨어 업그레이드 장치로부터 AT 명령어에 대한 응답신호 및 그 후의 OK0D0A까지를 수신한 다음에야 비로서 명령을 수행하여야 한다.The repeater controller must execute the command only after receiving the response signal for the AT command and the subsequent OK0D0A from the firmware upgrade apparatus.

다만, 중계기의 명령어 없이 감시모듈이 일방적으로 전송하는 AT 명령어에는 OK0D0A가 전송되지 않는다. 예를 들어, 펌웨어 다운로드 명령어($FWDLOAD) 또는 중계기 리셋명령어($16160200006E60)가 이 경우에 속한다.However, OK0D0A is not transmitted to the AT command that the monitoring module sends without a repeater command. For example, a firmware download command ($ FWDLOAD) or a repeater reset command ($ 16160200006E60) belongs to this case.

펌웨어 업그레이드 장치와 중계기 컨트롤러 간 TCP/IP 통신의 조건은 아래 표 5와 같이 설정하는 것이 바람직하다.The condition of TCP / IP communication between the firmware upgrade device and the repeater controller is preferably set as shown in Table 5 below.

보레이트(Baud Rate)Baud Rate 38,400bps38,400 bps 스톱비트(stop bit) Stop bit 1비트1 bit 데이터비트(data bit)Data bit 8비트8 bit 패리티Parity 없음none

또한, 모든 AT 명령어에 대해서 에코(echo)는 사용하지 않는 것이 바람직하다.  It is also desirable to not use echo for all AT commands.

한편, 중계기 리셋 명령어는 어떤 경우에도 수행 가능하여야 한다. 신규 펌웨어 프로그램을 수신하던 중이었다면, 리셋을 수행함으로써 수신한 데이터를 모두 삭제하여야 한다. 또한, 어떠한 경우에도 중계기가 동작불능 상태에 빠지지 않아야 한다. On the other hand, the repeater reset command should be executable in any case. If you were receiving a new firmware program, you must delete all the received data by performing a reset. In no case shall the repeater be put into an inoperable state.

이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.The embodiments of the present invention described above are not implemented only through the apparatus and the method, but may be implemented through a program for realizing a function corresponding to the configuration of the embodiment of the present invention, or a recording medium on which the program is recorded. Such an implementation can be easily implemented by those skilled in the art from the description of the embodiments described above.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present invention defined in the following claims are also provided. It belongs to the scope of rights.

도 1은 본 발명의 제1 실시예에 의한 원격 펌웨어 업그레이드 시스템의 전체적인 구성을 나타낸 개략도, 1 is a schematic diagram showing the overall configuration of a remote firmware upgrade system according to a first embodiment of the present invention;

도 2는 본 발명의 제2 실시예에 의한 이동통신 중계기의 원격 펌웨어 업그레이드 시스템의 전체적인 구성을 나타낸 개략도,2 is a schematic diagram showing the overall configuration of a remote firmware upgrade system of a mobile communication repeater according to a second embodiment of the present invention;

도 3은 도 2의 관리서버의 구성요소를 나타낸 블록도,3 is a block diagram showing components of the management server of FIG.

도 4는 도 2의 펌웨어 업그레이드 장치의 구성요소를 나타낸 블록도,4 is a block diagram showing the components of the firmware upgrade apparatus of FIG.

도 5는 도 2에서 나타낸 본 발명의 실시예가 적용되는 중계기의 구성요소를 나타낸 블록도, 5 is a block diagram showing the components of a repeater to which the embodiment of the present invention shown in FIG. 2 is applied;

도 6은 본 발명의 제2 실시예에 의한 원격 펌웨어 업그레이드 방법에 따른 중계기 펌웨어 업그레이드의 흐름을 나타낸 도면, 6 is a diagram showing the flow of repeater firmware upgrade according to the remote firmware upgrade method according to a second embodiment of the present invention;

도 7은 도 6를 더욱 자세히 나타낸 흐름도,7 is a flow diagram illustrating FIG. 6 in more detail;

도 8은 도 6를 더욱 자세히 나타낸 다른 흐름도, 8 is another flowchart illustrating FIG. 6 in more detail;

도 9는 원격 펌웨어 업그레이드 장치에 관한 전화번호가 불일치하는 경우의흐름에 관한 도면, FIG. 9 is a flowchart of a case where a telephone number of a remote firmware upgrade apparatus is inconsistent; FIG.

도 10은 특정 인덱스에 관한 데이터블록의 전송이 누락되었거나, 전송실패가 발생한 경우의 흐름에 관한 도면,10 is a flowchart illustrating a case in which transmission of a data block for a specific index is missing or a transmission failure occurs;

도 11은 단계 S150에서의 CRC 계산값이 불일치하는 경우의 흐름에 관한 도면, 11 is a diagram relating to a flow when a CRC calculated value in step S150 is inconsistent;

도 12는 중계기 컨트롤러가 펌웨어 업그레이드 장치로부터의 펌웨어 다운로 드 명령어를 수신한 후 소정의 타임아웃이 경과할 때까지도 명령어에 대한 응답을 회신하지 않는 경우의 흐름에 관한 도면, 12 is a flowchart of a case in which the relay controller does not return a response to the command even after a predetermined timeout has elapsed after receiving the firmware download command from the firmware upgrade apparatus.

도 13은 펌웨어 업그레이드 장치로부터의 펌웨어 스펙확인 응답에 포함된 펌웨어 명칭이 해당 중계기의 명칭과 불일치하는 경우의 흐름을 나타낸 도면, FIG. 13 is a flow chart showing a case where the firmware name included in the firmware specification check response from the firmware upgrade apparatus is inconsistent with the name of the repeater. FIG.

도 14는 신규 펌웨어 프로그램의 각 데이터블록에 관한 CRC 계산값이 불일치하는 경우의 흐름을 나타낸 도면, 14 is a view showing a flow in the case where the CRC calculation values for the respective data blocks of the new firmware program are inconsistent;

도 15는 최초로 수신한 데이터블록에 포함된 부트영역에 의거하여 현행 펌웨어 프로그램과 신규 펌웨어 프로그램의 호환성 유무를 판단한 결과, 호환성이 없는 것으로 판명된 경우의 흐름을 나타낸 도면, FIG. 15 is a flowchart illustrating a case where it is determined that there is incompatibility as a result of determining whether the current firmware program is compatible with the new firmware program based on the boot area included in the first received data block. FIG.

도 16은 중계기 컨트롤러가 다운로드한 신규 펌웨어 프로그램 전체에 대한 CRC 계산값에 오류가 발생한 경우의 흐름을 나타낸 도면, FIG. 16 is a flowchart illustrating a case where an error occurs in the CRC calculated value for the whole new firmware program downloaded by the repeater controller; FIG.

도 17은 펌웨어 스펙확인 명령어가 입력된 후 소정의 타임아웃이 경과할 때까지 펌웨어 분할전송 명령어가 입력되지 않은 경우의 흐름을 나타낸 도면이다.FIG. 17 is a flowchart illustrating a case where a firmware split transmission command is not input until a predetermined timeout elapses after a firmware specification check command is input.

Claims (64)

전자기기의 펌웨어를 원격 업그레이드하는 장치로서,  A device for remotely upgrading the firmware of an electronic device, 상기 원격 펌웨어 업그레이드 장치 외부의 관리서버로부터 신규 펌웨어 프로그램을 수신하고, 상기 신규 펌웨어 프로그램의 송수신에 필요한 명령어 및 메시지를 상기 관리서버로부터 수신하거나 상기 관리서버에 송신하는 제1 데이터 송수신부와, A first data transmission / reception unit configured to receive a new firmware program from a management server outside the remote firmware upgrade apparatus, and to receive or transmit a command and a message necessary for transmitting and receiving the new firmware program from the management server or to the management server; 상기 관리서버로 송신하는 상기 명령어 및 상기 메시지 중 일부를 단문 메시지에 포함되도록 변환하는 무선 데이터 변환부와, A wireless data conversion unit for converting a part of the command and the message transmitted to the management server to be included in a short message; 상기 관리서버로부터 수신한 상기 신규 펌웨어 프로그램을 저장하는 저장장치부와,A storage unit for storing the new firmware program received from the management server; 상기 신규 펌웨어 프로그램을 상기 전자기기로 송신하고, 상기 신규 펌웨어 프로그램의 송수신에 필요한 상기 명령어 및 상기 메시지를 상기 전자기기로 송신하거나 상기 전자기기로부터 수신하는 제2 데이터 송수신부 및A second data transmission / reception unit configured to transmit the new firmware program to the electronic device, and to transmit or receive the command and the message necessary for the transmission and reception of the new firmware program to or from the electronic device; 상기 신규 펌웨어 프로그램을 상기 관리서버로부터 수신하여 상기 전자기기로 송신하기 위하여 필요한 동작 전반을 제어하는 중앙 제어부를 포함하는 원격 펌웨어 업그레이드 장치. And a central control unit for controlling overall operations necessary for receiving the new firmware program from the management server and transmitting it to the electronic device. 제1항에 있어서,      The method of claim 1, 상기 제1 데이터 송수신부는, 상기 원격 펌웨어 업그레이드 장치를 식별하는 고유한 제1 전화번호를 가지는 원격 펌웨어 업그레이드 장치.      And the first data transmission / reception unit has a unique first telephone number identifying the remote firmware upgrade apparatus. 제2항에 있어서,The method of claim 2, 상기 관리서버로부터 수신하는 상기 명령어는, 상기 원격 펌웨어 업그레이드 장치가 상기 전자기기의 펌웨어 업그레이드를 행할 것을 요청하는 펌웨어 업그레이드 요청 명령어를 포함하는 원격 펌웨어 업그레이드 장치.And the command received from the management server includes a firmware upgrade request command for requesting the remote firmware upgrade device to perform a firmware upgrade of the electronic device. 제3항에 있어서,      The method of claim 3, 상기 관리서버로부터 수신하는 상기 명령어는, 상기 제1 전화번호를 문의하는 ID 요청 명령어를 더 포함하는 원격 펌웨어 업그레이드 장치.      The command received from the management server further comprises an ID request command for querying the first telephone number. 제4항에 있어서,      The method of claim 4, wherein 상기 관리서버로부터 수신하는 상기 메시지는, 상기 신규 펌웨어 프로그램의 크기 및 명칭 정보를 포함하는 펌웨어 사양 메시지를 포함하는 원격 펌웨어 업그레이드 장치.      And the message received from the management server includes a firmware specification message including size and name information of the new firmware program. 제5항에 있어서,      The method of claim 5, 상기 관리서버로부터 수신하는 상기 메시지는, 상기 신규 펌웨어 프로그램을 이루는 데이터 블록을 포함하는 펌웨어 전송 메시지를 더 포함하는 원격 펌웨어 업그레이드 장치.      And the message received from the management server further includes a firmware transmission message including a data block constituting the new firmware program. 제6항에 있어서,      The method of claim 6, 상기 관리서버로부터 수신하는 상기 메시지는, 상기 관리서버에 대하여 체결된 TCP/IP 네트워크 접속을 종료할 것을 지시하는 종료 메시지를 더 포함하는 원격 펌웨어 업그레이드 장치.      The message received from the management server, the remote firmware upgrade device further comprising a termination message for instructing to terminate the TCP / IP network connection to the management server. 제7항에 있어서,      The method of claim 7, wherein 상기 관리서버로부터 수신하는 상기 메시지는, 상기 관리서버가 상기 신규 펌웨어 프로그램에 대한 CRC값을 계산한 제1 CRC 계산값을 포함하는 CRC 계산값 메시지를 더 포함하는 원격 펌웨어 업그레이드 장치.      And the message received from the management server further includes a CRC calculation value message including a first CRC calculation value obtained by the management server calculating a CRC value for the new firmware program. 제8항에 있어서,      The method of claim 8, 상기 관리서버로 송신하는 상기 메시지는, 상기 제1 전화번호를 포함하는 ID 응답메시지를 포함하는 원격 펌웨어 업그레이드 장치.      And the message sent to the management server comprises an ID response message including the first telephone number. 제9항에 있어서,      The method of claim 9, 상기 관리서버로 송신하는 상기 메시지는, 상기 펌웨어 사양 메시지에 대한 응답인 펌웨어 사양 응답 메시지를 더 포함하는 원격 펌웨어 업그레이드 장치.      The message sent to the management server, the remote firmware upgrade device further comprises a firmware specification response message in response to the firmware specification message. 제10항에 있어서,      The method of claim 10, 상기 관리서버로 송신하는 상기 메시지는, 상기 관리서버로부터 전송되는 일련의 상기 펌웨어 전송 메시지 중 특정 펌웨어 전송 메시지부터 재전송해줄 것을 요청하는 펌웨어 재전송 요청 메시지를 더 포함하는 원격 펌웨어 업그레이드 장치.      The message transmitted to the management server, the remote firmware upgrade device further comprises a firmware retransmission request message for requesting to retransmit from a specific firmware transmission message of the series of firmware transmission messages transmitted from the management server. 제11항에 있어서,      The method of claim 11, 상기 관리서버로 송신하는 상기 메시지는, 상기 관리서버로부터 전송받은 상기 신규 프로그램에 대해서 상기 원격 펌웨어 업그레이드 장치가 계산한 CRC값인 제2 CRC 계산값과 상기 제1 CRC 계산값과의 일치여부를 알리는 CRC 비교결과 응답 메시지를 더 포함하는 원격 펌웨어 업그레이드 장치.       The message transmitted to the management server is a CRC indicating whether or not the second CRC calculation value, which is a CRC value calculated by the remote firmware upgrade apparatus, and the first CRC calculation value correspond to the new program received from the management server. Remote firmware upgrade device further comprising a response message of the comparison result. 제12항에 있어서,      The method of claim 12, 상기 관리서버로 송신하는 상기 메시지는, 상기 관리서버로부터의 상기 신규 펌웨어 프로그램의 수신 성공여부에 관한 정보를 포함하는 종료 응답 메시지를 더 포함하는 원격 펌웨어 업그레이드 장치.      The message transmitted to the management server, the remote firmware upgrade device further comprises a termination response message containing information on whether or not the reception of the new firmware program from the management server. 제13항에 있어서,      The method of claim 13, 상기 관리서버로 송신하는 상기 메시지는, 상기 전자기기로의 상기 신규 펌웨어 프로그램의 전송 성공여부에 관한 정보를 포함하는 펌웨어 다운로드 결과 메시지를 더 포함하는 원격 펌웨어 업그레이드 장치.      The message transmitted to the management server, the remote firmware upgrade device further comprises a firmware download result message including information on whether the transmission of the new firmware program to the electronic device. 제14항에 있어서,      The method of claim 14, 상기 전자기기로 송신하는 상기 명령어는, 상기 전자기기가 상기 신규 펌웨어 프로그램의 다운로드를 개시할 것을 지시하는 펌웨어 다운로드 명령어를 포함하는 원격 펌웨어 업그레이드 장치.      And the command to be sent to the electronic device includes a firmware download command instructing the electronic device to start downloading the new firmware program. 제15항에 있어서,The method of claim 15, 상기 전자기기로부터 수신하는 상기 명령어는, 상기 신규 펌웨어 프로그램의 스펙정보를 요청하는 펌웨어 스펙확인 명령어를 포함하는 원격 펌웨어 업그레이드 장치.The command received from the electronic device, remote firmware upgrade apparatus including a firmware specification check command for requesting the specification information of the new firmware program. 제16항에 있어서,The method of claim 16, 상기 전자기기로부터 수신하는 상기 명령어는, 상기 신규 펌웨어 프로그램을 제1 크기의 데이터 블록으로 분할하여 순차전송하여 줄 것을 요청하는 펌웨어 분할전송 명령어를 더 포함하는 원격 펌웨어 업그레이드 장치.The command received from the electronic device further comprises a firmware split transmission command for requesting to sequentially transmit the new firmware program divided into a data block of the first size. 제17항에 있어서,The method of claim 17, 상기 전자기기로부터 수신하는 상기 명령어는, 상기 신규 펌웨어 프로그램의 다운로드 종료원인을 지시하는 코드를 포함하는 펌웨어 다운로드 종료 명령어를 더 포함하는 원격 펌웨어 업그레이드 장치.And the command received from the electronic device further includes a firmware download termination command including a code indicating a cause of downloading termination of the new firmware program. 제2항에 있어서, The method of claim 2, 상기 제2 데이터 송수신부는, 상기 전자기기에 연결되는 직렬 통신 인터페이스 모듈인 원격 펌웨어 업그레이드 장치. And the second data transceiver is a serial communication interface module connected to the electronic device. 전자기기의 펌웨어를 원격 업그레이드하기 위한 관리서버로서, As a management server for remotely upgrading the firmware of the electronic device, 이동통신망을 통해 연결된 상기 원격 펌웨어 업그레이드 서버 외부의 원격 펌웨어 업그레이드 장치에 신규 펌웨어 프로그램을 송신하고, 상기 신규 펌웨어 프로그램의 송수신에 필요한 명령어 및 메시지를 상기 원격 펌웨어 업그레이드 장치에 송신하거나 상기 원격 펌웨어 업그레이드 장치로부터 수신하는 무선 데이터 송수신부와,Sends a new firmware program to a remote firmware upgrade apparatus external to the remote firmware upgrade server connected through a mobile communication network, and transmits a command and a message necessary for transmitting and receiving the new firmware program to the remote firmware upgrade apparatus or from the remote firmware upgrade apparatus. Receiving wireless data transmission and reception unit, 상기 원격 펌웨어 업그레이드 장치로부터 수신한 상기 명령어 및 상기 메시지를 분석하는 무선 데이터 분석부와,A wireless data analyzer analyzing the command and the message received from the remote firmware upgrade apparatus; 상기 원격 펌웨어 업그레이드 장치에 전송할 상기 전자기기에 관한 상기 신규 펌웨어 프로그램을 적어도 하나 저장하는 데이터 저장부 및A data storage unit for storing at least one new firmware program for the electronic device to be transmitted to the remote firmware upgrade apparatus; 상기 신규 펌웨어 프로그램을 상기 원격 펌웨어 업그레이드 장치를 경유하여 상기 전자기기로 송신하기 위하여 필요한 동작 전반을 제어하는 관리 제어부를 포함하는 원격 펌웨어 업그레이드 관리서버.And a management controller for controlling overall operations required for transmitting the new firmware program to the electronic device via the remote firmware upgrade apparatus. 제20항에 있어서,The method of claim 20, 상기 데이터 저장부는, 상기 원격 펌웨어 업그레이드 장치에 지정된 전화번호를 적어도 하나 저장한 전화번호 목록을 더 포함하는 원격 펌웨어 업그레이드 관리서버. The data storage unit, the remote firmware upgrade management server further comprises a telephone number list storing at least one phone number specified in the remote firmware upgrade apparatus. 제21항에 있어서,The method of claim 21, 상기 무선 데이터 송수신부는, 상기 이동통신망의 유선망에 연결되는 원격 펌웨어 업그레이드 관리서버.The wireless data transmission and reception unit, a remote firmware upgrade management server connected to the wired network of the mobile communication network. 삭제delete 전자기기의 펌웨어를 원격 업그레이드하는 시스템으로서,As a system to remotely upgrade the firmware of the electronic device, 상기 관리서버로부터 상기 신규 펌웨어 프로그램을 수신하고, 상기 신규 펌웨어 프로그램의 송수신에 필요한 명령어 및 메시지를 상기 관리서버로부터 수신하거나 상기 관리서버에 송신하는 제1 데이터 송수신부와, 상기 관리서버로 송신하는 상기 명령어 및 상기 메시지 중 일부를 단문 메시지에 포함되도록 변환하는 무선 데이터 변환부와, 상기 관리서버로부터 수신한 상기 신규 펌웨어 프로그램을 저장하는 저장장치부와, 상기 전자기기에 연결되는 직렬 통신 인터페이스 모듈로서, 상기 신규 펌웨어 프로그램을 상기 전자기기로 송신하고, 상기 신규 펌웨어 프로그램의 송수신에 필요한 상기 명령어 및 상기 메시지를 상기 전자기기로 송신하거나 상기 전자기기로부터 수신하는 제2 데이터 송수신부 및 상기 신규 펌웨어 프로그램을 상기 관리서버로부터 수신하여 상기 전자기기로 송신하기 위하여 필요한 동작 전반을 제어하는 중앙제어부를 구비하고, 상기 제1 데이터 송수신부를 통하여 이동통신 네트워크의 무선망에 연결되는 원격 펌웨어 업그레이드 장치와,A first data transmission / reception unit configured to receive the new firmware program from the management server, receive a command and a message necessary for transmission and reception of the new firmware program from the management server, or transmit the command to the management server; A wireless data conversion unit for converting a portion of the command and the message to be included in a short message, a storage unit for storing the new firmware program received from the management server, and a serial communication interface module connected to the electronic device, A second data transceiver and the new firmware program for transmitting the new firmware program to the electronic device and transmitting or receiving the command and the message necessary for the transmission and reception of the new firmware program to or from the electronic device. Management Server And received from a remote firmware upgrades device including a central control unit for controlling the overall operation required to transmit to the electronic device, and connected to the radio network of a mobile communication network by way of a first data transmission and reception, 상기 이동통신 네트워크의 유선망에 연결되는 관리서버를 포함하며, It includes a management server connected to the wired network of the mobile communication network, 상기 원격 펌웨어 업그레이드 장치에 연결된 전자기기에 관한 신규 펌웨어 프로그램을 상기 관리서버로부터 상기 원격 펌웨어 업그레이드 장치로 전송한 후, 다시 상기 전자기기로 전송하는 원격 펌웨어 업그레이드 시스템. Remote firmware upgrade system for transmitting a new firmware program for the electronic device connected to the remote firmware upgrade device from the management server to the remote firmware upgrade device, and then to the electronic device. 제24항에 있어서,The method of claim 24, 상기 관리서버는,The management server, 상기 원격 펌웨어 업그레이드 장치에 상기 신규 펌웨어 프로그램을 송신하고, 상기 신규 펌웨어 프로그램의 송수신에 필요한 명령어 및 메시지를 상기 원격 펌웨어 업그레이드 장치에 송신하거나 상기 원격 펌웨어 업그레이드 장치로부터 수신하는 무선 데이터 송수신부와,A wireless data transmission / reception unit configured to transmit the new firmware program to the remote firmware upgrade apparatus, and to transmit or receive a command and a message necessary for the transmission and reception of the new firmware program to the remote firmware upgrade apparatus, and from the remote firmware upgrade apparatus; 상기 원격 펌웨어 업그레이드 장치로부터 수신한 상기 명령어 및 상기 메시지를 분석하는 무선 데이터 분석부와,A wireless data analyzer analyzing the command and the message received from the remote firmware upgrade apparatus; 상기 원격 펌웨어 업그레이드 장치에 전송할 상기 전자기기에 관한 상기 신규 펌웨어 프로그램을 적어도 하나 저장하는 데이터 저장부 및A data storage unit for storing at least one new firmware program for the electronic device to be transmitted to the remote firmware upgrade apparatus; 상기 신규 펌웨어 프로그램을 상기 원격 펌웨어 업그레이드 장치를 경유하여 상기 전자기기로 송신하기 위하여 필요한 동작 전반을 제어하는 관리 제어부를 더 포함하는 원격 펌웨어 업그레이드 시스템.And a management controller for controlling the overall operation required to transmit the new firmware program to the electronic device via the remote firmware upgrade apparatus. 삭제delete 삭제delete 원격 펌웨어 업그레이드 장치의 원격 펌웨어 업그레이드 방법에 있어서,In the remote firmware upgrade method of the device, 상기 신규 펌웨어 프로그램의 수신을 준비하는 단계와,Preparing to receive the new firmware program; 이동통신 네트워크를 통하여 관리서버로부터 특정 전자기기에 관한 신규 펌웨어 프로그램을 수신하는 단계와,Receiving a new firmware program for a specific electronic device from a management server through a mobile communication network, 상기 신규 펌웨어 프로그램을 상기 전자기기로 송신하는 단계를 포함하며, Transmitting the new firmware program to the electronic device, 상기 신규 펌웨어 프로그램의 수신을 준비하는 단계는,Preparing to receive the new firmware program, 상기 관리서버로부터 펌웨어 업그레이드 요청 명령어를 수신하는 단계와,Receiving a firmware upgrade request command from the management server; 상기 펌웨어 업그레이드 요청 명령어에 포함된 상기 관리서버의 네트워크 정보를 이용하여 상기 관리서버측으로 데이터 통신 접속을 체결하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.And establishing a data communication connection to the management server using the network information of the management server included in the firmware upgrade request command. 제28항에 있어서,The method of claim 28, 상기 원격 펌웨어 업그레이드 장치가 상기 신규 펌웨어 프로그램의 수신을 준비하는 단계는,Preparing the remote firmware upgrade device to receive the new firmware program, 상기 관리서버로부터 상기 원격 펌웨어 업그레이드 장치가 가지는 제1 전화번호를 요청하는 ID 요청 명령어를 수신하는 단계와,Receiving an ID request command for requesting a first telephone number of the remote firmware upgrade apparatus from the management server; 상기 ID 요청 명령어에 대한 응답으로서, 상기 제1 전화번호를 포함하는 ID 요청 응답 메시지를 상기 관리서버로 송신하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.And in response to the ID request command, sending an ID request response message including the first telephone number to the management server. 제29항에 있어서,The method of claim 29, 상기 관리서버가 보유한 상기 원격 펌웨어 업그레이드 장치에 관한 제2 전화번호와 상기 제1 전화번호가 일치하는 경우, 상기 관리서버로부터 상기 신규 펌웨어 프로그램의 사양 정보를 포함하는 펌웨어 사양 메시지를 수신하는 단계와,Receiving a firmware specification message including specification information of the new firmware program from the management server when the second telephone number and the first telephone number of the remote firmware upgrade apparatus held by the management server match; 상기 펌웨어 사양 메시지에 대한 응답으로서, 상기 관리서버로 펌웨어 사양 응답 메시지를 송신하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.Sending a firmware specification response message to the management server as a response to the firmware specification message. 제30항에 있어서,The method of claim 30, 상기 펌웨어 사양 메시지에 포함된 상기 신규 펌웨어 프로그램의 상기 사양 정보를 상기 원격 펌웨어 업그레이드 장치가 구비한 저장장치에 저장하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.And storing the specification information of the new firmware program included in the firmware specification message in a storage device provided by the remote firmware upgrade apparatus. 원격 펌웨어 업그레이드 장치의 원격 펌웨어 업그레이드 방법에 있어서,In the remote firmware upgrade method of the device, 상기 신규 펌웨어 프로그램의 수신을 준비하는 단계와,Preparing to receive the new firmware program; 이동통신 네트워크를 통하여 관리서버로부터 특정 전자기기에 관한 신규 펌웨어 프로그램을 수신하는 단계와,Receiving a new firmware program for a specific electronic device from a management server through a mobile communication network, 상기 신규 펌웨어 프로그램이 분할된 적어도 하나의 제1 데이터 블록 및 상기 제1 데이터 블록에 대응하는 제1 인덱스 정보가 포함된 일련의 펌웨어 전송 메시지를 상기 관리서버로부터 수신하는 단계 및Receiving, by the management server, a series of firmware transmission messages including at least one first data block obtained by dividing the new firmware program and first index information corresponding to the first data block; 상기 신규 펌웨어 프로그램을 상기 전자기기로 송신하는 단계를 포함하는 원격 펌웨어 업그레이드 방법.Transmitting the new firmware program to the electronic device. 제32항에 있어서,33. The method of claim 32, 상기 원격 펌웨어 업그레이드 장치가, 상기 일련의 펌웨어 전송 메시지가 상기 제1 인덱스의 오름차순으로 순차 수신되는지 여부를 판단하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법. And determining, by the remote firmware upgrade apparatus, whether the series of firmware transmission messages are sequentially received in the ascending order of the first index. 제33항에 있어서,The method of claim 33, wherein 상기 일련의 펌웨어 전송 메시지가 상기 제1 인덱스의 오름차순으로 순차 수신되지 않은 경우, 상기 제1 인덱스 중 누락된 제1 인덱스에 관한 상기 펌웨어 전송 메시지부터 재전송하여 줄 것을 요청하는 펌웨어 재전송 요청 메시지를 상기 관리서버에 송신하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.If the series of firmware transmission messages are not sequentially received in the ascending order of the first index, the management of the firmware retransmission request message requesting to retransmit from the firmware transmission message for the missing first index of the first index Remote firmware upgrade method further comprising the step of sending to the server. 제34항에 있어서,The method of claim 34, wherein 상기 펌웨어 재전송 요청 메시지를 전송한 후, 상기 누락된 제1 인덱스에 관한 상기 펌웨어 전송 메시지부터 계속 상기 관리서버로부터 수신하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.And after receiving the firmware retransmission request message, continuing from the firmware transmission message regarding the missing first index from the management server. 제35항에 있어서,36. The method of claim 35 wherein 상기 관리서버로부터 상기 신규 펌웨어 프로그램 전체에 대한 제1 CRC 값을수신하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법. And receiving a first CRC value for the entire new firmware program from the management server. 제36항에 있어서,The method of claim 36, 상기 관리서버로부터 전송받은 상기 신규 펌웨어 프로그램 전체에 대하여 제2 CRC 값을 산출하는 단계와,Calculating a second CRC value for the entire new firmware program received from the management server; 상기 제1 CRC 값과 상기 제2 CRC 값의 일치여부를 판단하는 단계 및Determining whether the first CRC value matches the second CRC value; and 상기 일치여부에 대한 내용을 포함하는 CRC 비교결과 응답 메시지를 상기 관리서버에 송신하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.And transmitting a CRC comparison result response message including the content of the match to the management server. 제37항에 있어서The method of claim 37 상기 제1 CRC 값과 상기 제2 CRC 값이 일치하는 경우, 상기 관리서버로부터 상기 데이터 통신 접속을 종료할 것을 지시하는 제2 종료 메시지를 수신하는 단계와,Receiving a second termination message indicating to terminate the data communication connection from the management server when the first CRC value and the second CRC value match; 상기 제2 종료 메시지에 대한 응답으로서, 상기 관리서버로 제2 종료 응답 메시지를 송신하는 단계와,Sending a second termination response message to the management server as a response to the second termination message; 상기 데이터 통신 접속을 종료하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.Terminating the data communication connection. 제38항에 있어서,The method of claim 38, 상기 제1 CRC 값과 상기 제2 CRC 값이 불일치하는 경우, 상기 관리서버로부터 일련의 상기 펌웨어 전송 메시지 전부를 재수신하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.If the first CRC value and the second CRC value are inconsistent, re-receiving all of the series of firmware transmission messages from the management server. 제35항에 있어서,36. The method of claim 35 wherein 상기 일련의 펌웨어 전송 메시지의 수신을 완료하기 전에 상기 데이터 통신 접속이 종료된 경우, 상기 관리서버로부터 일련의 상기 펌웨어 전송 메시지 전부를 재수신하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.Re-receiving all of the series of firmware transmission messages from the management server if the data communication connection is terminated before completing the series of firmware transmission messages. 제39항 또는 제40항에 있어서,41. The method of claim 39 or 40, 상기 관리서버로부터 일련의 상기 펌웨어 전송 메시지 전부를 재수신하기 전에, 이미 수신된 상기 펌웨어 전송 메시지를 삭제하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법. Deleting the already received firmware transfer message before re-receiving all of the series of firmware transfer messages from the management server. 원격 펌웨어 업그레이드 장치의 원격 펌웨어 업그레이드 방법에 있어서,In the remote firmware upgrade method of the device, 상기 신규 펌웨어 프로그램의 수신을 준비하는 단계와,Preparing to receive the new firmware program; 이동통신 네트워크를 통하여 관리서버로부터 특정 전자기기에 관한 신규 펌웨어 프로그램을 수신하는 단계와,Receiving a new firmware program for a specific electronic device from a management server through a mobile communication network, 상기 신규 펌웨어 프로그램을 수신할 것을 지시하는 펌웨어 다운로드 명령어를 상기 전자기기로 송신하는 단계 및Transmitting a firmware download command to the electronic device instructing to receive the new firmware program; 상기 신규 펌웨어 프로그램을 상기 전자기기로 송신하는 단계를 포함하는 원격 펌웨어 업그레이드 방법.Transmitting the new firmware program to the electronic device. 제42항에 있어서,The method of claim 42, wherein 상기 펌웨어 다운로드 명령어를 송신한 후, 제1 타임아웃이 경과하기 전에 상기 신규 펌웨어 프로그램의 펌웨어 정보 조회를 요청하는 펌웨어 스펙확인 명령어를 상기 전자기기로부터 수신하는 단계와,Receiving a firmware specification checking command from the electronic device requesting inquiry of firmware information of the new firmware program before a first timeout elapses after transmitting the firmware download command; 상기 펌웨어 스펙확인 명령어에 대한 응답으로서, 상기 원격 펌웨어 업그레이드 장치의 상기 저장장치에 저장된 상기 사양정보를 포함하는 펌웨어 스펙확인 응답을 상기 전자기기로 송신하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.And transmitting a firmware specification check response including the specification information stored in the storage device of the remote firmware upgrade apparatus to the electronic device as a response to the firmware specification check command. 제43항에 있어서,The method of claim 43, 상기 전자기기가 보유하는 상기 전자기기에 관한 제1 펌웨어 명칭이 상기 사양정보에 포함된 제2 펌웨어 명칭과 불일치하는 경우, 상기 전자기기로부터 펌웨어 명칭 오류를 의미하는 제1 코드값을 포함하는 제1 펌웨어 다운로드 종료 명령어를 수신하는 단계와,A first code value including a first code value indicating a firmware name error from the electronic device when the first firmware name of the electronic device held by the electronic device is inconsistent with the second firmware name included in the specification information; Receiving a firmware download end command, 상기 관리서버에 상기 제1 코드값을 포함하는 제1 펌웨어 다운로드 결과 메시지를 송신하는 단계 및Transmitting a first firmware download result message including the first code value to the management server; and 상기 제1 펌웨어 다운로드 종료 명령어를 수신한 후 제2 타임아웃 경과 후 상기 원격 펌웨어 업그레이드 장치를 리셋하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법. And resetting the remote firmware upgrade apparatus after a second timeout elapses after receiving the first firmware download end command. 제44항에 있어서,The method of claim 44, 상기 원격 펌웨어 업그레이드 장치가 상기 신규 펌웨어 프로그램을 상기 전자기기로 송신하는 단계는,The remote firmware upgrade apparatus is to transmit the new firmware program to the electronic device, 상기 신규 펌웨어 프로그램을 적어도 하나의 제2 데이터 블록으로 분할하는 단계와,Dividing the new firmware program into at least one second data block; 분할된 상기 제2 데이터 블록의 각각에 대응되는 제2 인덱스를 순차적으로 부여하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.And sequentially assigning a second index corresponding to each of the divided second data blocks. 제45항에 있어서,The method of claim 45, 상기 전자기기로부터 상기 제2 인덱스를 포함하는 일련의 펌웨어 분할전송 명령어를 수신하는 단계와,Receiving a series of firmware divided transfer instructions including the second index from the electronic device; 일련의 상기 펌웨어 분할전송 명령어에 대한 응답으로서, 상기 제2 인덱스에 대응되는 상기 제2 데이터 블록 및 상기 제2 데이터 블록에 대한 제3 CRC 값을 상기 전자기기로 전송하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.In response to the series of firmware split transfer instructions, transmitting the second data block corresponding to the second index and a third CRC value for the second data block to the electronic device. How to upgrade. 제46항에 있어서,47. The method of claim 46 wherein 일련의 상기 제2 데이터 블록 중 특정 제2 데이터 블록에 대한 상기 제3 CRC 값이 상기 전자기기에서 산출된 상기 특정 제2 데이터 블록에 대한 제4 CRC 값과 불일치하는 경우, 상기 전자기기로부터 상기 제2 데이터 블록의 상기 제2 인덱스 중 특정 제2 인덱스를 포함하는 상기 펌웨어 분할전송 명령어를 재수신하는 단계와,If the third CRC value for a particular second data block of the series of second data blocks is inconsistent with a fourth CRC value for the particular second data block calculated by the electronic device, the first from the electronic device; Re-receiving the firmware divided transfer command including a specific second index of the second indexes of the two data blocks; 상기 특정 제2 인덱스에 대응되는 상기 제2 데이터 블록을 상기 전자기기로 재송신하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.Retransmitting the second data block corresponding to the specific second index to the electronic device. 제47항에 있어서,The method of claim 47, 일련의 상기 제2 데이터 블록의 송신이 완료되면, 펌웨어 다운로드 성공을 뜻하는 제2 코드값을 포함하는 제2 펌웨어 다운로드 종료 명령어를 상기 전자기기로부터 수신하는 단계와,When the transmission of the series of second data blocks is completed, receiving a second firmware download termination command from the electronic device including a second code value indicating a firmware download success; 상기 관리서버에 상기 제2 코드값을 포함하는 제2 펌웨어 다운로드 결과 메 시지를 송신하는 단계 및Transmitting a second firmware download result message including the second code value to the management server; and 상기 제2 펌웨어 다운로드 종료 명령어를 수신한 후 제3 타임아웃 경과 후 상기 원격 펌웨어 업그레이드 장치를 리셋하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법. And resetting the remote firmware upgrade apparatus after a third timeout elapses after receiving the second firmware download end command. 제48항에 있어서,The method of claim 48, 상기 재송신하는 단계가 제1 재전송 회수를 초과한 경우, 상기 전자기기로부터 블록 CRC 오류를 뜻하는 제3 코드값을 포함하는 제3 펌웨어 다운로드 종료 명령어를 수신하는 단계와,Receiving a third firmware download termination command from the electronic device, the third firmware download end command including a third code value indicating a block CRC error, when the resending exceeds a first retransmission number; 상기 관리서버에 상기 제3 코드값을 포함하는 제3 펌웨어 다운로드 결과 메시지를 송신하는 단계 및Transmitting a third firmware download result message including the third code value to the management server; and 상기 제3 펌웨어 다운로드 종료 명령어를 수신한 후 제4 타임아웃 경과 후 상기 원격 펌웨어 업그레이드 장치를 리셋하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.And resetting the remote firmware upgrade apparatus after a fourth timeout after receiving the third firmware download termination command. 제49항에 있어서,The method of claim 49, 상기 신규 펌웨어 프로그램이 상기 전자기기에 부적합한 경우, 상기 전자기기로부터 상기 신규 펌웨어 프로그램이 상기 전자기기에 부적합함을 뜻하는 제4 코드값을 포함하는 제4 펌웨어 다운로드 종료 명령어를 수신하는 단계와,If the new firmware program is not suitable for the electronic device, receiving a fourth firmware download end instruction including a fourth code value indicating that the new firmware program is not suitable for the electronic device; 상기 관리서버에 상기 제4 코드값을 포함하는 제4 펌웨어 다운로드 결과 메 시지를 송신하는 단계 및Transmitting a fourth firmware download result message including the fourth code value to the management server; and 상기 제4 펌웨어 다운로드 종료 명령어를 수신한 후 제5 타임아웃 경과 후 상기 원격 펌웨어 업그레이드 장치를 리셋하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법. And resetting the remote firmware upgrade apparatus after a fifth timeout has passed after receiving the fourth firmware download end command. 제50항에 있어서,51. The method of claim 50, 상기 전자기기에서 산출된 상기 신규 펌웨어 프로그램 전체에 대한 제5 CRC 값이 상기 제2 CRC 값과 불일치하는 경우, 상기 전자기기로부터 상기 신규 펌웨어 프로그램 전체에 대한 CRC 오류를 뜻하는 제5 코드값을 포함하는 제5 펌웨어 다운로드 종료 명령어를 수신하는 단계와,If the fifth CRC value for the whole new firmware program calculated by the electronic device is inconsistent with the second CRC value, the fifth code value means a CRC error for the whole new firmware program from the electronic device. Receiving a fifth firmware download end command; 상기 관리서버에 상기 제5 코드값을 포함하는 제5 펌웨어 다운로드 결과 메시지를 송신하는 단계 및Transmitting a fifth firmware download result message including the fifth code value to the management server; and 상기 제5 펌웨어 다운로드 종료 명령어를 수신한 후 제6 타임아웃 경과 후 상기 원격 펌웨어 업그레이드 장치를 리셋하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.And resetting the remote firmware upgrade apparatus after a sixth timeout elapses after receiving the fifth firmware download end command. 제51항에 있어서,The method of claim 51, 상기 전자기기가 상기 신규 펌웨어 프로그램의 저장을 실패한 경우, 펌웨어쓰기 실패를 뜻하는 제6 코드값을 포함하는 제6 펌웨어 다운로드 종료 명령어를 수신하는 단계와,If the electronic device fails to store the new firmware program, receiving a sixth firmware download termination command including a sixth code value indicating a firmware write failure; 상기 관리서버에 상기 제6 코드값을 포함하는 제6 펌웨어 다운로드 결과 메시지를 송신하는 단계 및Transmitting a sixth firmware download result message including the sixth code value to the management server; and 상기 제6 펌웨어 다운로드 종료 명령어를 수신한 후 제7 타임아웃 경과 후 상기 원격 펌웨어 업그레이드 장치를 리셋하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.And resetting the remote firmware upgrade apparatus after a seventh timeout elapses after receiving the sixth firmware download termination command. 제42항에 있어서,The method of claim 42, wherein 상기 펌웨어 다운로드 명령어를 상기 전자기기로 송신한 후, 제8 타임아웃이경과할 때까지 상기 펌웨어 스펙확인 명령어가 수신되지 않은 경우, 상기 관리서버에 타임아웃 오류를 뜻하는 제7 코드값을 포함하는 제7 펌웨어 다운로드 결과 메시지를 송신하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.After transmitting the firmware download command to the electronic device, if the firmware specification check command is not received until the eighth timeout elapses, the management server includes a seventh code value indicating a timeout error. And transmitting a seventh firmware download result message. 삭제delete 전자기기의 펌웨어를 원격으로 업그레이드하는 방법으로서,As a way to remotely upgrade the firmware of electronic devices 관리서버가 상기 원격 펌웨어 업그레이드 장치로 상기 전자기기에 관한 신규 펌웨어 프로그램의 송신을 준비하는 단계와,Preparing a transmission of a new firmware program for the electronic device to the remote firmware upgrade apparatus by the management server; 상기 관리서버가 이동통신 네트워크를 통하여 상기 원격 펌웨어 업그레이드 장치로 상기 신규 펌웨어 프로그램을 송신하는 단계를 포함하며, Transmitting, by the management server, the new firmware program to the remote firmware upgrade apparatus through a mobile communication network, 상기 관리서버가 상기 원격 펌웨어 업그레이드 장치로의 신규 펌웨어 프로그램의 송신을 준비하는 단계는,Preparing the transmission of the new firmware program to the remote firmware upgrade device by the management server, 상기 원격 펌웨어 업그레이드 장치로 펌웨어 업그레이드 요청 명령어를 송신하는 단계와,Transmitting a firmware upgrade request command to the remote firmware upgrade apparatus; 상기 펌웨어 업그레이드 요청 명령어에 포함된 상기 관리서버의 네트워크 정보를 이용하여 상기 원격 펌웨어 업그레이드 장치로부터 데이터 통신 접속이 체결되는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.Remote data upgrade method further comprises the step of establishing a data communication connection from the remote firmware upgrade apparatus using the network information of the management server included in the firmware upgrade request command. 제55항에 있어서,The method of claim 55, 상기 관리서버가 상기 원격 펌웨어 업그레이드 장치로의 신규 펌웨어 프로그램의 송신을 준비하는 단계는,Preparing the transmission of the new firmware program to the remote firmware upgrade device by the management server, 상기 원격 펌웨어 업그레이드 장치가 가지는 제1 전화번호를 요청하는 ID 요청 명령어를 상기 원격 펌웨어 업그레이드 장치로 송신하는 단계와,Transmitting an ID request command for requesting a first telephone number of the remote firmware upgrade apparatus to the remote firmware upgrade apparatus; 상기 ID 요청 명령어에 대한 응답으로서, 상기 제1 전화번호를 포함하는 ID 요청 응답 메시지를 상기 원격 펌웨어 업그레이드 장치로부터 수신하는 단계 및Receiving an ID request response message including the first telephone number from the remote firmware upgrade apparatus in response to the ID request command; 상기 원격 펌웨어 업그레이드 장치에 대하여 상기 관리서버가 보유하는 제2전화번호와 상기 제1 전화번호의 일치여부를 판단하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.And determining whether the second telephone number held by the management server matches the first telephone number with respect to the remote firmware upgrade apparatus. 제56항에 있어서,The method of claim 56, wherein 상기 제1 전화번호와 상기 제2 전화번호가 일치하는 경우, 상기 원격 펌웨어업그레이드 장치로 상기 신규 펌웨어 프로그램의 사양 정보를 포함하는 펌웨어 사양 메시지를 송신하는 단계와,If the first telephone number and the second telephone number match, transmitting a firmware specification message including specification information of the new firmware program to the remote firmware upgrade apparatus; 상기 펌웨어 사양 메시지에 대한 응답으로서, 상기 원격 펌웨어 업그레이드장치로부터 펌웨어 사양 응답 메시지를 수신하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.Receiving a firmware specification response message from the remote firmware upgrade apparatus as a response to the firmware specification message. 제57항에 있어서,The method of claim 57, 상기 제1 전화번호와 상기 제2 전화번호가 불일치하는 경우, 상기 원격 펌웨어 업그레이드 장치로 상기 데이터 통신 접속을 종료할 것을 지시하는 제1 종료 메시지를 송신하는 단계와,If the first telephone number and the second telephone number do not match, sending a first end message to the remote firmware upgrade apparatus to instruct to terminate the data communication connection; 상기 제1 종료 메시지에 대한 응답으로서, 상기 원격 펌웨어 업그레이드 장치로부터 제1 종료 응답 메시지를 수신하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.Receiving a first termination response message from the remote firmware upgrade apparatus as a response to the first termination message. 제55항에 있어서,The method of claim 55, 상기 관리서버가 상기 이동통신 네트워크를 통하여 상기 원격 펌웨어 업그레이드 장치로 특정 전자기기에 관한 신규 펌웨어 프로그램을 송신하는 단계는,The management server transmitting a new firmware program for a specific electronic device to the remote firmware upgrade device via the mobile communication network, 상기 신규 펌웨어 프로그램을 적어도 하나의 제1 데이터 블록으로 분할하고,상기 제1 데이터 블록의 각각에 그 대응되는 제1 인덱스를 순차적으로 부여하는 단 계와,Dividing the new firmware program into at least one first data block, and sequentially assigning a corresponding first index to each of the first data blocks; 상기 제1 데이터 블록 및 제1 인덱스 정보를 포함하는 일련의 펌웨어 전송 메시지를 상기 원격 펌웨어 업그레이드 장치로 송신하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.And transmitting a series of firmware transmission messages including the first data block and the first index information to the remote firmware upgrade apparatus. 제59항에 있어서,The method of claim 59, 상기 제1 인덱스 중 특정 제1 인덱스에 관한 상기 펌웨어 재전송 요청 메시지를 상기 원격 펌웨어 업그레이드 장치로부터 수신한 경우, 상기 특정 제1 인덱스에 관한 상기 펌웨어 전송 메시지부터 순차적으로 상기 원격 펌웨어 업그레이드 장치로 재송신하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.Resending the firmware retransmission request message for the specific first index from the first index to the remote firmware upgrade apparatus sequentially from the firmware transmission message for the specific first index; Remote firmware upgrade method further comprising. 제60항에 있어서,The method of claim 60, 상기 신규 펌웨어 프로그램 전체에 대한 제1 CRC 값을 산출하는 단계와,Calculating a first CRC value for the entire new firmware program; 상기 원격 펌웨어 업그레이드 장치로 상기 제1 CRC 값을 포함하는 CRC 계산값 메시지를 송신하는 단계 및Transmitting a CRC calculated value message including the first CRC value to the remote firmware upgrade apparatus; 상기 원격 펌웨어 업그레이드 장치가 산출한 상기 신규 펌웨어 프로그램 전체에 대한 제2 CRC 값과 제1 CRC 값의 일치여부에 대한 내용을 포함하는 CRC 비교결과 응답 메시지를 상기 원격 펌웨어 업그레이드 장치로부터 수신하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.Receiving a CRC comparison result response message including information on whether the second CRC value and the first CRC value for the entire new firmware program calculated by the remote firmware upgrade apparatus from the remote firmware upgrade apparatus further comprising: Including remote firmware upgrade method. 제61항에 있어서62. The method of claim 61 상기 제1 CRC 값과 상기 제2 CRC 값이 일치하는 경우, 상기 원격 펌웨어 업그레이드 장치에 상기 데이터 통신 접속을 종료할 것을 지시하는 제2 종료 메시지를 송신하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.If the first CRC value and the second CRC value match, transmitting the second end message to the remote firmware upgrade apparatus to instruct to terminate the data communication connection. 제62항에 있어서,The method of claim 62, 상기 제1 CRC 값과 상기 제2 CRC 값이 불일치하는 경우, 상기 원격 펌웨어 업그레이드 장치에 일련의 상기 펌웨어 전송 메시지 전부를 재송신하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.And retransmitting all of the series of firmware transmission messages to the remote firmware upgrade apparatus when the first CRC value and the second CRC value do not match. 제63항에 있어서,The method of claim 63, wherein 상기 일련의 펌웨어 전송 메시지의 수신을 완료하기 전에 상기 데이터 통신 접속이 종료된 경우, 상기 원격 펌웨어 업그레이드 장치에 일련의 상기 펌웨어 전송 메시지 전부를 재송신하는 단계를 더 포함하는 원격 펌웨어 업그레이드 방법.Retransmitting all of the series of firmware transmission messages to the remote firmware upgrade apparatus when the data communication connection is terminated before completing the reception of the series of firmware transmission messages.
KR1020070075061A 2007-07-26 2007-07-26 Apparatus, system and method for remotely upgrading the firmware of a device KR100872180B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070075061A KR100872180B1 (en) 2007-07-26 2007-07-26 Apparatus, system and method for remotely upgrading the firmware of a device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070075061A KR100872180B1 (en) 2007-07-26 2007-07-26 Apparatus, system and method for remotely upgrading the firmware of a device

Publications (1)

Publication Number Publication Date
KR100872180B1 true KR100872180B1 (en) 2008-12-09

Family

ID=40371952

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070075061A KR100872180B1 (en) 2007-07-26 2007-07-26 Apparatus, system and method for remotely upgrading the firmware of a device

Country Status (1)

Country Link
KR (1) KR100872180B1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101083523B1 (en) 2010-08-12 2011-11-16 웹싱크 주식회사 Method of upgrading firmware and system for the same
US9665364B2 (en) 2013-06-18 2017-05-30 Thomson Licensing Dual-bank telecommunication apparatus and method of upgrading firmware in dual-bank telecommunication apparatus
CN110688138A (en) * 2019-09-27 2020-01-14 海信(山东)空调有限公司 Multi-split program upgrading method and device, multi-split system equipment and medium
KR20200137496A (en) * 2019-05-30 2020-12-09 (주) 에이앤티에스 Recording medium and method for upgrading firmware in embedded system of remot device in constrained environment
CN112835602A (en) * 2021-02-05 2021-05-25 杭州中港科技有限公司 Upgrading management method of intelligent expansion equipment
KR102266711B1 (en) 2020-03-23 2021-06-18 오세영 Facilities Linking Mangement System Using Fixed IP Adress
CN113890874A (en) * 2021-09-28 2022-01-04 交控科技股份有限公司 Program issuing method and device based on Powerlink network
CN114866525A (en) * 2022-05-19 2022-08-05 深圳市艾迪思特信息技术有限公司 Remote online firmware upgrading method and system for one-master multi-slave mode embedded equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10269107A (en) 1997-03-24 1998-10-09 Satoo Nishigaki Automatic maintenance system for personal computer peripheral equipment
KR20020071560A (en) * 2001-03-07 2002-09-13 엘지전자주식회사 Method for updating software of personal communication system
KR20050106846A (en) * 2004-05-06 2005-11-11 삼성전자주식회사 Apparatus and method for upgrading mobile terminal's firmware
KR20060108816A (en) * 2005-04-14 2006-10-18 에스케이 텔레콤주식회사 Method for remote upgrading software of wireless short-distance module

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10269107A (en) 1997-03-24 1998-10-09 Satoo Nishigaki Automatic maintenance system for personal computer peripheral equipment
KR20020071560A (en) * 2001-03-07 2002-09-13 엘지전자주식회사 Method for updating software of personal communication system
KR20050106846A (en) * 2004-05-06 2005-11-11 삼성전자주식회사 Apparatus and method for upgrading mobile terminal's firmware
KR20060108816A (en) * 2005-04-14 2006-10-18 에스케이 텔레콤주식회사 Method for remote upgrading software of wireless short-distance module

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101083523B1 (en) 2010-08-12 2011-11-16 웹싱크 주식회사 Method of upgrading firmware and system for the same
US9665364B2 (en) 2013-06-18 2017-05-30 Thomson Licensing Dual-bank telecommunication apparatus and method of upgrading firmware in dual-bank telecommunication apparatus
KR20200137496A (en) * 2019-05-30 2020-12-09 (주) 에이앤티에스 Recording medium and method for upgrading firmware in embedded system of remot device in constrained environment
KR102201461B1 (en) * 2019-05-30 2021-01-13 (주) 에이앤티에스 Recording medium and method for upgrading firmware in embedded system of remot device in constrained environment
CN110688138A (en) * 2019-09-27 2020-01-14 海信(山东)空调有限公司 Multi-split program upgrading method and device, multi-split system equipment and medium
KR102266711B1 (en) 2020-03-23 2021-06-18 오세영 Facilities Linking Mangement System Using Fixed IP Adress
CN112835602A (en) * 2021-02-05 2021-05-25 杭州中港科技有限公司 Upgrading management method of intelligent expansion equipment
CN113890874A (en) * 2021-09-28 2022-01-04 交控科技股份有限公司 Program issuing method and device based on Powerlink network
CN114866525A (en) * 2022-05-19 2022-08-05 深圳市艾迪思特信息技术有限公司 Remote online firmware upgrading method and system for one-master multi-slave mode embedded equipment
CN114866525B (en) * 2022-05-19 2024-04-12 深圳市艾迪思特信息技术有限公司 Remote online firmware upgrading method and system for embedded device in one master multi-slave mode

Similar Documents

Publication Publication Date Title
KR100872180B1 (en) Apparatus, system and method for remotely upgrading the firmware of a device
US10560322B1 (en) Network protocol for mesh capability in narrow-band wireless networks
US7269148B2 (en) Scheme for adaptive control of transport layer connection in communications via radio and wire networks
JP4575418B2 (en) How to manage mobile stations with radio waves
EP2273711B1 (en) Wireless communication apparatus and wireless communication method
EP2031918A2 (en) Systems and methods for mobile phone validation
US11206183B2 (en) Network protocol method for mesh capability in narrow-band wireless networks
KR100554440B1 (en) Repeater remote control system and method in mobile communication system
CN103918207A (en) Latency
JP2019041182A (en) Radio communication equipment and radio communication method
CN111245660B (en) Network-based equipment upgrading self-adaptive transmission method
KR101273696B1 (en) Method and apparatus for prediction of a connection indentifier in a downlink burst
CN112737847A (en) Node upgrading method and device, storage medium and electronic device
US11658871B2 (en) Transmission of data from a management entity to a smart electricity meter
CN115052252B (en) OTA (over the air) upgrading method, system and device
JP2007274699A (en) Method and apparatus to define interface, and telecommunication system
US20220338288A1 (en) Communication method and apparatus
JP7152452B2 (en) Server device, communication device, terminal device, communication system, program and update method
KR20010096665A (en) System and Method of Managing a Relay Device for Mobile Communication with RF pattern using PDA
EP4369616A2 (en) Apparatus and methods for g3-plc bootstrap in hybrid networks
CN103346919A (en) Method and system for uniformly managing wireless terminals to access CPE of equipment
JP2022107292A (en) Communication device, communication device control method, communication device control program, and communication system
US6721285B1 (en) Polling system for a duplex asymmetrical communications link
WO2024148461A1 (en) Communication method, apparatus, and system
CN113067763B (en) High-reliability mountain area distribution network communication system and communication method thereof

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
FPAY Annual fee payment

Payment date: 20121106

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131105

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141105

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151105

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20161104

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20171106

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20181031

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190903

Year of fee payment: 12