KR102525600B1 - 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법 및 시스템 - Google Patents

다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법 및 시스템 Download PDF

Info

Publication number
KR102525600B1
KR102525600B1 KR1020210123421A KR20210123421A KR102525600B1 KR 102525600 B1 KR102525600 B1 KR 102525600B1 KR 1020210123421 A KR1020210123421 A KR 1020210123421A KR 20210123421 A KR20210123421 A KR 20210123421A KR 102525600 B1 KR102525600 B1 KR 102525600B1
Authority
KR
South Korea
Prior art keywords
firmware
information
data
firmware update
update
Prior art date
Application number
KR1020210123421A
Other languages
English (en)
Other versions
KR20230040434A (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 KR1020210123421A priority Critical patent/KR102525600B1/ko
Publication of KR20230040434A publication Critical patent/KR20230040434A/ko
Application granted granted Critical
Publication of KR102525600B1 publication Critical patent/KR102525600B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 디바이스 펌웨어 관리 방법 및 시스템에 관한 것으로서, 보다 구체적으로는 SNMP, CoAP, MQTT 등 다양한 통신 프로토콜이 난립함에 따른 펌웨어를 관리하는 서버 구축 시간 및 운영 비용 증가를 방지하고 다수 개의 디바이스에 대한 펌웨어 정보를 동시에 관리하기 위한 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법 및 시스템에 관한 것이다.
상기 목적을 달성하기 위하여, 본 발명은, 제조사 서버에서 펌웨어 업데이트의 대상이 되는 디바이스의 정보, 펌웨어 정보 및 서명키 정보 중 적어도 어느 하나 이상의 정보를 수신 받아 데이터로서 등록하는 펌웨어 데이터 등록 단계; 제조사 서버로부터 펌웨어 업데이트 요청을 수신 받아 펌웨어 업데이트 대상이 되는 디바이스의 펌웨어 정보를 조회하고 디바이스 타입에 따른 펌웨어 정보를 동시에 멀티 프로세싱으로서 관리하는 펌웨어 정보 멀티 프로세싱 관리 단계; 및 펌웨어 업데이트 대상이 되는 디바이스에 네크워크로 접속하여 상기 등록된 데이터를 기초로 펌웨어 서명키 검증을 통해 상기 디바이스의 펌웨어 업데이트를 수행하는 펌웨어 업데이트 수행 단계;를 포함하는 것을 특징으로 한다.

Description

다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법 및 시스템{DEVICE FIRMWARE MANAGEMENT METHOD AND SYSTEM CAPABLE OF MULTI-PROCESSING ACCORDING TO THE APPLICATION OF VARIOUS COMMUNICATION PROTOCOLS}
본 발명은 디바이스 펌웨어 관리 방법 및 시스템에 관한 것으로서, 보다 구체적으로는 SNMP, CoAP, MQTT 등 다양한 통신 프로토콜이 난립함에 따른 펌웨어를 관리하는 서버 구축 시간 및 운영 비용 증가를 방지하고 다수 개의 디바이스에 대한 펌웨어 정보를 동시에 관리하기 위한 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법 및 시스템에 관한 것이다.
전자 디바이스는 다양한 기능들을 수행하기 위한 소프트웨어(software)를 내재하고 있다. 상기 소프트웨어를 임베디드 소프트웨어 또는 펌웨어라고 한다. 프로세서의 급격한 발전에 따라 펌웨어의 역할 역시 다양하게 늘어나고 있다.
일반적으로 펌웨어는 고객의 추가 요구 사항을 반영하기 위해서, 또는 하 드웨어(hardware)나 소프트웨어(software)에 내재되어 있던 문제를 해결하기 위해서 지속적으로 실시되며, 디바이스의 펌웨어 업데이트는 유선 및 무선을 포함한 다양한 방식으로 이루어진다.
하지만, 경우에 따라 펌웨어의 불량으로 인해 디바이스들의 오동작을 유발하는 경우가 있는데, 그러한 경우에는 펌웨어의 업데이트가 요구된다. 또한 디바이스들의 하드웨어가 업그레이드되는 과정에서도 펌웨어의 업데이트가 요구된다.
그러나, 그러한 디바이스들의 펌웨어를 업데이트하는 데는 많은 시간과 비용이 소요되는 것이 현실이다. 이러한 점을 고려하여 통신망을 이용하여 펌웨어를 업데이트하는 기술이 요구되고 있는 실정이다. 물론, 최근에는 통신망을 이용하여 펌웨어를 업데이트하는 기술이 소개되고는 있으나 단순한 펌웨어 업데이트만을 소개하고 있을 뿐 업데이트에 대한 신뢰성이나 안정성을 보장하지는 못하고 있다.
이에 따라, SNMP, CoAP, MQTT 등 다양한 통신 프로토콜이 난립함에 따른 펌웨어를 관리하는 서버 구축 시간 및 운영 비용이 증가되는 환경을 벗어나도록 디바이스 제조사마다 적용된 통신 프로토콜 및 관리 절차의 복잡성을 해결하고, 타사의 기 구축된 펌웨어 관리 서버와의 연동을 통한 통합된 디바이스 펌웨어 관리가 이루어지고, 더 나아가, 운영 환경 또는 네트워크 환경에 따라 동시에 여러 개의 디바이스 펌웨어 데이터에 대한 관리가 가능하도록 하는 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법 및 시스템이 절실하게 요구되고 있는 실정이다.
대한민국 등록특허공보 제10-2276409호 대한민국 등록특허공보 제10-1757417호
본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 안출된 것으로서, SNMP, CoAP, MQTT 등 다양한 통신 프로토콜이 난립함에 따른 펌웨어를 관리하는 서버 구축 시간 및 운영 비용이 증가되는 환경을 벗어나도록 디바이스 제조사마다 적용된 통신 프로토콜 및 관리 절차의 복잡성이 해결하고, 타사의 기 구축된 펌웨어 관리 서버와의 연동을 통한 통합된 디바이스 펌웨어 관리가 이루어지고, 더 나아가, 운영 환경 또는 네트워크 환경에 따라 동시에 여러 개의 디바이스 펌웨어 데이터에 대한 관리가 가능하도록 하는 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법 및 시스템을 제공하는데 그 목적이 있다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상기 목적을 달성하기 위하여, 본 발명은, 제조사 서버에서 펌웨어 업데이트의 대상이 되는 디바이스의 정보, 펌웨어 정보 및 서명키 정보 중 적어도 어느 하나 이상의 정보를 수신 받아 데이터로서 등록하는 펌웨어 데이터 등록 단계; 제조사 서버로부터 펌웨어 업데이트 요청을 수신 받아 펌웨어 업데이트 대상이 되는 디바이스의 펌웨어 정보를 조회하고 디바이스 타입에 따른 펌웨어 정보를 동시에 멀티 프로세싱으로서 관리하는 펌웨어 정보 멀티 프로세싱 관리 단계; 및 펌웨어 업데이트 대상이 되는 디바이스에 네크워크로 접속하여 상기 등록된 데이터를 기초로 펌웨어 서명키 검증을 통해 상기 디바이스의 펌웨어 업데이트를 수행하는 펌웨어 업데이트 수행 단계;를 포함하는 것을 특징으로 한다.
또한, 상기 펌웨어 데이터 등록 단계는, 등록된 데이터가 제조사 서버의 펌웨어 업데이트 대상이 되는 디바이스의 정보, 펌웨어 정보 및 서명키 정보 중 적어도 어느 하나 이상의 정보 데이터와 대응되도록 데이터를 동기화하는 데이터 동기화 단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 펌웨어 정보 멀티 프로세싱 관리 단계는, 펌웨어 업데이트 대상이 되는 디바이스의 타입에 따른 펌웨어 정보가 포함된 리스트를 기초로 하는 멀티 프로세싱 정보를 확인하고, 확인된 정보를 토대로 복수개의 다양한 타입의 디바이스의 펌웨어 정보를 동시에 멀티 프로세싱으로서 관리하는 것을 특징으로 한다.
또한, 상기 펌웨어 정보 멀티 프로세싱 관리 단계는, 등록된 데이터에서 펌웨어 업데이트 대상이 되는 디바이스의 펌웨어 정보 및 서명키 정보 중 적어도 어느 하나 이상의 정보를 기초로 하는 데이터를 DIFF 이미지로 구성하여 관리하는 DIFF 이미지 관리 단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 DIFF 이미지 관리 단계는, 구성된 DIFF 이미지를 압축하고, 압축된 DIFF 이미지를 DIFF 이미지 서명을 통해 펌웨어 업데이트 대상이 되는 디바이스의 펌웨어 버전을 관리하는 것을 특징으로 한다.
또한, 상기 펌웨어 업데이트 수행 단계는, 등록된 데이터 중 구성된 DIFF 이미지를 기초로 펌웨어 서명키 검증을 통해 상기 디바이스의 펌웨어 업데이트를 수행하는 것을 특징으로 한다.
또한, 상기 펌웨어 업데이트 수행 단계는, 구성된 DIFF 이미지를 토대로 펌웨어 업데이트 대상이 되는 디바이스의 펌웨어 업데이트 설정 정보를 확인하고 FTP(File Transfer Protocol)을 이용하여 펌웨어 업데이트 데이터 다운을 수행하는 것을 특징으로 한다.
또한, 상기 펌웨어 업데이트 수행 단계는, 펌웨어 업데이트 데이터 다운을 수행한 이후 해당 펌웨어 업데이트 데이터의 DIFF 이미지 서명을 검증하고, 해당 검증을 통해 DIFF 이미지를 복원하여 다운된 펌웨어 업데이트 데이터를 기초로 펌웨어 업데이트를 수행하는 것을 특징으로 한다.
또한, 상기 디바이스 펌웨어 관리 방법은, 펌웨어 업데이트 수행 단계 이후로, 제조사 서버로부터 무결성 검증 요청을 수신 받아 펌웨어 업데이트 대상이 되는 디바이스의 펌웨어 업데이트 무결성 검증을 수행하고, 해당 무결성 검증 수행 결과를 저장하는 무결성 검증 단계를 더 포함하는 것을 특징으로 한다.
또한, 추가적으로, 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 시스템에 있어서, 펌웨어 업데이트의 대상이 되는 디바이스; 상기 펌웨어 업데이트의 대상이 되는 디바이스의 정보, 펌웨어 정보 및 서명키 정보 중 적어도 어느 하나 이상의 정보를 전송하는 제조사 서버; 및 상기 제조사 서버로부터 펌웨어 업데이트 요청을 수신 받아 펌웨어 업데이트 대상이 되는 디바이스의 펌웨어 정보를 조회하고, 상기 디바이스 타입에 따른 펌웨어 정보를 동시에 멀티 프로세싱으로서 관리하고, 상기 펌웨어 업데이트 대상이 되는 디바이스에 네크워크로 접속하여 상기 등록된 데이터를 기초로 펌웨어 서명키 검증을 통해 상기 디바이스의 펌웨어 업데이트를 수행하는 펌웨어 관리서버;를 포함하는 것을 특징으로 한다.
본 발명에 따른, 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 방법 및 시스템은, SNMP, CoAP, MQTT 등 다양한 통신 프로토콜이 난립함에 따라 펌웨어를 관리하는 서버 구축 시간 및 운영 비용 증가되는 환경을 벗어나도록 디바이스 제조사마다 적용된 통신 프로토콜 및 관리 절차의 복잡성을 해결하고, 타사의 기 구축된 펌웨어 관리 서버와의 연동을 통한 통합 디바이스 펌웨어 관리 및 다수 개의 디바이스에 대한 펌웨어 정보 동시 관리가 이루어지는 다양한 통신 프로토콜이 적용 가능한 통합 디바이스 펌웨어 관리 방법 및 시스템을 제공을 제공할 수 있다.
또한, 상기 효과를 토대로 각 제조사별 디바이스 펌웨어 관리 서버 구축을 용이하게 할 수 있다.
또한, 상기 효과를 토대로 펌웨어 업데이트 과정에서 발생되는 제조사마다 적용된 통신 프로토콜 및 관리 절차의 복잡성을 해결할 수 있다.
또한, 상기 효과를 토대로 타사의 기 구축된 펌웨어 관리 서버와 연동을 통해서 통합 관리할 수 있다.
또한, 상기 효과를 토대로 운영 환경 또는 네트워크 환경에 따라 동시에 여러 개의 디바이스 펌웨어 데이터에 대한 관리가 가능하도록 한다.
또한, 상기 효과를 토대로 운영 환경 또는 네트워크 환경에 따라 서비스별 디바이스에 대한 펌웨어 데이터 설정 관리가 가능하도록 한다.
또한, 상기 효과를 토대로 다수 개의 디바이스 별로 독특한 설정(옵션)에 대한 펌웨어 데이터 관리가 가능하도록 한다.
다만, 본 발명의 효과가 상술한 효과들로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법 순서도
도 2는 본 발명의 일 실시예에 따른 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법에 대한 시스템 구성도
도 3은 본 발명의 일 실시예에 따른 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법에 대한 시스템 예시도
도 4는 본 발명의 일 실시예에 따른 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법 중 멀티 프로세싱에 대한 방법 순서도
본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.
따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 설정된 용어들로서 이는 생산자의 의도 또는 관례에 따라 달라질 수 있으므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이고, 본 명세서에서 본 발명에 관련된 공지의 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에 이에 관한 자세한 설명은 생략하기로 한다.
이하, 도면을 참조로 하여 본 발명인 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법 및 시스템을 설명하기로 한다.
도 1은 본 발명의 일 실시예에 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법 순서도이다.
본 방법은 기본적으로 펌웨어 데이터 등록 단계, 펌웨어 정보 멀티 프로세싱 관리 단계 및 펌웨어 업데이트 수행 단계로 구성될 수 있다.
보다 구체적으로, 상기 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법은, 제조사 서버에서 펌웨어 업데이트의 대상이 되는 디바이스의 정보, 펌웨어 정보 및 서명키 정보 중 적어도 어느 하나 이상의 정보를 수신 받아 데이터로서 등록하는 펌웨어 데이터 등록 단계, 제조사 서버로부터 펌웨어 업데이트 요청을 수신 받아 펌웨어 업데이트 대상이 되는 디바이스의 펌웨어 정보를 조회하고 디바이스 타입에 따른 펌웨어 정보를 동시에 멀티 프로세싱으로서 관리하는 펌웨어 정보 멀티 프로세싱 관리 단계 및 펌웨어 업데이트 대상이 되는 디바이스에 네크워크로 접속하여 상기 등록된 데이터를 기초로 펌웨어 서명키 검증을 통해 상기 디바이스의 펌웨어 업데이트를 수행하는 펌웨어 업데이트 수행 단계를 포함하는 것일 수 있다.
또한, 본 방법 발명에서 이루어 지는 방법은 서버 내에서 수행될 수도 있으며, 해당 서버는 일종의 웹서버, 데이터베이스 서버, 모바일 서버로서 역할을 하도록 구축될 수 있는데, 예를 들어 처리된 결과를 온라인 네트워크를 통해 웹페이지 상에서 보여주거나 필요한 입력 데이터를 웹페이지를 통해 전송 받을 수 있고, 여기서 웹페이지는 단순한 텍스트, 이미지, 사운드, 동영상 등 이외에도 웹 애플리케이션과 같은 특정 작업을 수행하기 위한 소프트웨어를 포함하는 것일 수 있으며, 또한, 데스크탑, 노트북, 스마트폰, 태블릿 PC 등에 설치되는 애플리케이션과 인터페이스를 제공하도록 구축될 수 있다.
또한, 본 발명에서 언급하는 온라인 네트워크라 함은 유선 공중망, 무선 이동 통신망, 또는 휴대 인터넷 등과 통합된 코어 망일 수도 있고, TCP/IP 프로토콜 및 그 상위 계층에 존재하는 여러 서비스, 즉 HTTP(Hyper Text Transfer Protocol), HTTPS(Hyper Text Transfer Protocol Secure), Telnet, FTP(File Transfer Protocol), DNS(Domain Name System), SMTP(Simple Mail Transfer Protocol) 등을 제공하는 전 세계적인 개방형 컴퓨터 네트워크 구조를 의미할 수 있으며, 이러한 예에 한정하지 않고 다양한 형태로 데이터를 송수신할 수 있는 데이터 통신망을 포괄적으로 의미하는 것일 수 있다.
또한, 상술한 서버는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체를 통해 데이터 교환 및 관리가 이루어질 수도 있으며, 서버 내에서 이루어지는 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함하고, 상기 서버들의 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 하기 설명되는 디바이스라 함은, 스마트폰(smartphone), 태블릿 PC(tablet Personalcomputer), 이동 전화기(mobile phone), 영상 전화기, 데스크탑 PC(dasktoppersonal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia plater), 웨어러블 장치(wearable device)(예: 스마트 안경, 머리 착용형 장치(head-mounted-device(HMD) 등), 스마트미러(smart mirrors), 키오스크 장치(kiosk) 또는 스마트 와치(smart watch)) 중 적어도 하나를 포함할 수 있으며, 이러한 예에 한정하지 않고 다양한 형태로 전기적인 신호로 변화된 값을 송수신 할 수 있는 디바이스를 의미하는 것이다.
또한, 상기 디바이스의 일례로, 입력 모듈을 포함할 수도 있는데, 해당 모듈은 숫자 또는 문자 정보를 입력 받고 각종 기능들을 설정하기 위한 다수의 입력키 및 기능키들을 포함할 수 있는데, 기능키들은 특정 기능을 수행하도록 설정된 방향키, 사이드 키 및 단축키 등을 포함하고, 입력 모듈은 디바이스의 기능 제어와 관련한 키 신호를 생성하여 디바이스로 전달할 수도 있다.
또한, 디바이스가 풀 터치스크린을 지원하는 경우, 해당 디바이스의 케이스 측면에 형성되는 볼륨 조절을 위한 볼륨 키, 화면 온/오프 및 디바이스 온/오프를 위한 전원 키 만을 포함할 수도 있고, 특히, 본 발명에서 설명되는 서버에 접속하여 펌웨어 업데이트를 수행, 제어 및 지시하는 입력 신호 등과 같은 다양한 입력 신호 등을 생성하고, 이를 본 발명에서 설명되는 서버에 전달할 수도 있다.
또한, 상기 디바이스의 일례로, 디바이스 제어모듈을 포함할 수도 있는데, 디바이스의 전송받고자 하는 디바이스 펌웨어 관리 방법의 전반적인 동작 및 디바이스의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수도 있으며, 디바이스 제어모듈은 중앙 처리 장치(Central Processing Unit: CPU), 애플리케이션 프로세서(Application Processor) 및 SDK(Software Development Kit) 등을 구비할 수도 있으며, 이러한 예에 한정하지 않고 다양한 형태로 디바이스를 제어할 수 있는 모듈을 포괄적으로 의미하는 것일 수 있다.
또한, 상기 펌웨어 데이터 등록 단계는, 등록된 데이터가 제조사 서버의 펌웨어 업데이트 대상이 되는 디바이스의 정보, 펌웨어 정보 및 서명키 정보 중 적어도 어느 하나 이상의 정보 데이터와 대응되도록 데이터를 동기화하는 데이터 동기화 단계를 더 포함하는 것을 특징으로 한다.
또한, 펌웨어 데이터 등록 단계는, 펌웨어 업데이트 대상이 되는 디바이스 및 디바이스의 모듈 타입 정보를 등록하는데, 제조사 서버를 통해 디바이스/모듈 타입 등록 페이지에 접속하여 모듈 타입 목록을 조회하고, 제조사 서버를 통해 디바이스/모듈 타입 정보를 입력하고, 디바이스/모듈 타입 중복체크를 수행하고, 제조사 서버로부터 등록 요청을 수신 받아 펌웨어 업데이트 대상이 되는 디바이스의 디바이스/모듈 타입 정보를 저장할 수도 있다.
여기서, 디바이스의 모듈 목록은 디바이스에 포함된 모듈을 타입별로 일관 업데이트하기 위한 것으로, 모듈 명, 디바이스 종류/타입(예: DCU, PLC, LTE, MCU 등) 및 모듈 세부 정보(펌웨어 정보) 등을 나타내는 것으로 할 수도 있다.
또한, 여기서, 디바이스 목록은, 모듈 식별자 ID, 디바이스 명, 제조사, 디바이스 모델, 시리얼 번호, 디바이스 접속 정보(IP), 디바이스 물리 정보, 등록 일자, 디바이스 세부 정보(펌웨어 정보) 등을 나타내는 것으로 할 수도 있다.
또한, 펌웨어 데이터 등록 단계는, 펌웨어 업데이트 대상이 되는 디바이스에 의해 펌웨어 정보를 등록하는데, 제조사 서버의 펌웨어 등록 페이지를 통해 디바이스 목록 및 펌웨어 관리 정보를 조회하고, 제조사 서버로부터 디바이스가 선택되어 디바이스 정보를 구성하고 해당 디바이스에 포함된 모듈 타입 정보를 조회할 수도 있다.
또한, 펌웨어 데이터 등록 단계는, 펌웨어 업데이트 대상이 되는 모듈에 의해 펌웨어 정보를 등록하는데, 제조사 서버가 상기 조회된 모듈 타입 정보를 기초로 모듈을 선택하고, 펌웨어 목록을 조회하고, 제조사 서버로부터 펌웨어 데이터가 입력되면 펌웨어 중복을 체크하고, 이에 따라 제조사 서버로부터 등록 요청을 수신 받아 펌웨어 정보를 저장할 수도 있다.
여기서, 펌웨어 관리 정보는, 디바이스 식별자 ID(모듈별 펌웨어 관리), 현재 펌웨어 식별자 ID, DIFF 이미지 식별자 ID, 서명 키 식별자, 업데이트 스케쥴링 활성화 여부, 무결성 검증 스케쥴링 활성화 여부, 새로운 펌웨어 등록 여부, 최종 업데이트 날짜, 최종 무결성 검사 일정, 최종 무결성 검사 값 등을 나타내는 것으로 할 수도 있다.
또한, 여기서, 펌웨어 정보는, 디바이스 식별자, 메인 모듈 펌웨어 ID, 펌웨어 버전, 펌웨어 데이터, 해당 데이터 사이즈, 펌웨어 데이터 무결성 값, 등록 시간 등을 나태내는 것으로 할 수도 있다.
또한, 펌웨어 데이터 등록 단계는, 서명키 정보를 등록하는데, 제조사 서버로부터 서명키 데이터를 입력 및 등록 요청을 수신 받아 체크썸(무결성 값)을 계산하고, 서명키 정보를 저장할 수도 있다.
여기서, 서명키 정보는, 서명키 데이터 파일 위치, 서명키 데이터 파일 사이즈, 서명키 데이터 무결성 값, 등록일 등을 나타내는 것으로 할 수도 있다.
또한, 상기 펌웨어 정보 멀티 프로세싱 관리 단계는, 펌웨어 업데이트 대상이 되는 디바이스의 타입에 따른 펌웨어 정보가 포함된 리스트를 기초로 하는 멀티 프로세싱 정보를 확인하고, 확인된 정보를 토대로 복수개의 다양한 타입의 디바이스의 펌웨어 정보를 동시에 멀티 프로세싱으로서 관리하는 것을 특징으로 한다.
또한, 여기서 상기 리스트는 서비스 데몬에 대한 리스트로서, 멀티 프로세싱을 수행하기 위한 서비스 요청 정보를 포함한 멀티 프로세싱 정보이며, 상기 펌웨어 정보 멀티 프로세싱 관리 단계는, 멀티 프로세싱 정보를 확인 및 멀티 프로세싱 - 프로세서 식별자 입력을 통해 서비스 요청 정보 입력을 수행하고, 상기 서비스 데몬에 대한 리스트를 참조로 다수 개의 프로세싱 요청 및 각 프로세스 별 프로세서 식별자 전달(인자값)을 통해 서비스 처리 요청을 수행하고, 수신된 인자값(프로세서 식별자)를 조건으로 서비스 요청 데이터 혹은 정보 확인을 수행할 수도 있다.
또한, 상기 펌웨어 정보 멀티 프로세싱 관리 단계 중 멀티 프로세싱에 대한 일례로, 서비스 데몬에 대한 리스트(service_daemon_list)를 기초로 서비스 연계 데몬 실행 명령에 대한 데몬 실행 명령어(excute_command) 및 멀티 프로세싱을 위한 옵션에 대한 동작 프로세스 개수(execute_processor_count)로서 동시에 동작할 프로세스 개수 정의를 수행할 수도 있다.
또한, 상기 펌웨어 정보 멀티 프로세싱 관리 단계 중 멀티 프로세싱에 대한 일례로, 디바이스 타입 등록 시 서비스와 데몬 연동은, 적용 가능한 서비스를 등록(module_type_list)하고, 기본 서비스 선택(default_service_code 에서 선택된 applicable_service_codes 내에서 하나 선택) 및 디바이스 별로 사용될 옵션을 정의(option_fields 디바이스 별로 사용될 옵션 포맷 정의) 할 수도 있다.
또한, 상기 펌웨어 정보 멀티 프로세싱 관리 단계 중 멀티 프로세싱에 대한 일례로, 디바이스 등록 시 서비스와 데몬 연동 설정은, 사용할 서비스 설정(device_list, 사용할 서비스를 applicable_service_codes 값 중 하나를 선택) 및 디바이스 별 옵션 값을 설정(options, 디바이스 타입의 option_fields 필드에 정의된 포맷으로 값을 입력받음) 할 수도 있다.
또한, 상기 펌웨어 정보 멀티 프로세싱 관리 단계 중 멀티 프로세싱에 대한 일례로, 다수의 서비스 요청 시, 서비스 정보를 확인(device_list) 및 디바이스 옵션 값 확인(options)을 수행하고, 서비스 요청 정보 개수를 확인 후, 서비스 데몬에 대한 리스트(service_daemon_list)를 기초로 멀티 프로세싱을 위한 옵션에 대한 동작 프로세스 개수(execute_processor_count) 필드를 확인하고, 동작할 프로세서 번호(execute_processor_number) 지정(서비스 요청 정보 총 개수/동작 프로세스 개수_예:100/10 = 프로세스당 10개씩 할당 등) 및 이에 따라 서비스 요청 정보 저장(request_list)을 request_list 테이블에 수행(데이터 적재)하고, 상기 execute_processor_count에 따라 서비스 데본 실행을 처리하여 멀티 프로세싱이 수행될 수도 있다.
또한, 상기 펌웨어 정보 멀티 프로세싱 관리 단계는, 등록된 데이터에서 펌웨어 업데이트 대상이 되는 디바이스의 펌웨어 정보 및 서명키 정보 중 적어도 어느 하나 이상의 정보를 기초로 하는 데이터를 DIFF 이미지로 구성하여 관리하는 DIFF 이미지 관리 단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 DIFF 이미지 관리 단계는, DIFF 이미지 중복 체크 및 조회를 수행하고, 중복 여부에 따라 중복하지 않을 경우, DIFF 이미지를 생성하고 SOURCE 이미지 정보 및 새로운 이미지 정보를 조회하고, 해당 DIFF 이미지를 xdelta 처리된 DIFF 이미지로서 저장하여 FTP에 파일 등록할 수도 있다.
또한, 상기 DIFF 이미지 관리 단계는, DIFF 이미지 중복 체크 및 조회를 수행하고, 중복 여부에 따라 중복하지 않을 경우, DIFF 이미지를 생성하고 SOURCE 이미지 정보 및 새로운 이미지 정보를 조회하고, 해당 DIFF 이미지를 xdelta 처리된 DIFF 이미지의 체크썸을 생성하여 DIFF 이미지 정보를 저장할 수도 있다.
여기서, SOURCE 이미지 정보 및 새로운 이미지 정보는, 적용할 모듈 식별자 ID, 펌웨어 버전, 이전 버전 식별자, 펌웨어 명칭, 펌웨어 데이터 파일 위치, 펌웨어 데이터 사이즈, 펌웨어 데이터 무결성 값, 등록 시간 등을 나타내는 것으로 할 수도 있다.
또한, 여기서, DIFF 이미지 정보는 현재 펌웨어 ID, 업데이트할 펌웨어 ID, DIFF 이미지 데이터, 데이터 사이즈, 이미지 데이터 무결성 값(체크썸), 생성 날짜 등을 나타내는 것으로 할 수도 있다.
또한, 상기 DIFF 이미지 관리 단계는, 구성된 DIFF 이미지를 압축하고, 압축된 DIFF 이미지를 DIFF 이미지 서명을 통해 펌웨어 업데이트 대상이 되는 디바이스의 펌웨어 버전을 관리하는 것을 특징으로 한다.
또한, 상기 DIFF 이미지 관리 단계는, DIFF 이미지 구성을 구분되는 특정 펌웨어 데이터 복수개가 더해진 델타 데이터인 DIFF 이미지로서 인코딩을 수행하여 DIFF 이미지를 구성하는데, 델타 데이터로 구성된 DIFF 이미지에 특정 펌웨어 데이터가 더해진 별도의 특정 펌웨어 데이터로서 디코딩을 수행하는 것을 특징으로 한다.
또한, 상기 인코딩의 예로서, 특정된 A라는 펌웨어 데이터와 특정된 B라는 펌웨어 데이터가 더해져 델타 데이터인 DIFF 이미지로서 구성이 되며, 디코딩의 예로서, 특정된 A라는 펌웨어 데이터와 상기 델타 데이터인 DIFF 이미지가 더해져 특정된 B라는 펌웨어 데이터로서 구성이 되며, 상기 구성된 DIFF 이미지는, 델타 인코딩을 위한 명령줄 프로그램으로써, 두 파일(데이터) 간의 차이를 생성하고, DIFF 및 PATCH 와 유사하지만 바이너리 파일을 대상으로 하고, 표준화된 VCDIFF 형식을 생성하고, 또한, 델타 인코딩은, 완전한 데이터가 아닌 순차적 데이터 간의 차이(deltas) 형태로 데이터를 저장하거나 전송하는 방법으로, 델타 인코딩을 델타 압축이라고도 하며, 데이터 차이점은 델타 또는 diffs라고 하는 개별 데이터에 기록된다.
또한, 상기 차이점이 작은 경우(예: 큰 문서의 몇 단어 변경 또는 큰 테이블의 몇 가지 레코드 변경 등), 델타 인코딩은 데이터 중복성을 크게 줄이고, 고유 델타 컬렉션은 인코딩되지 않은 등가물보다 공간 효율이 훨씬 크며, 논리적 관점에서 볼 때 두 데이터 값 간의 차이는 다른 값에서 하나의 값을 얻는 데 필요한 정보이다.
또한, 펌웨어 업데이트 수행 단계는, 펌웨어 업데이트 대상이 되는 디바이스에 네크워크로 접속하여 상기 등록된 데이터를 기초로 펌웨어 서명키 검증을 통해 상기 디바이스의 펌웨어 업데이트를 수행하는데, 여기서 등록된 데이터 중 구성된 DIFF 이미지를 기초로 펌웨어 서명키 검증을 통해 상기 디바이스의 펌웨어 업데이트를 수행하는 것을 특징으로 한다.
또한, 상기 네트워크는 다양한 통신 프로토콜을 포함하고 있으며, 네트워크 또는 다른 미디어를 통해 디바이스 간에 교환되는 정보는 통신 프로토콜 사양에서 설정할 수 있는 규칙 및 규칙에 따라 관리된다.
또한, 의사소통의 성격, 교환된 실제 데이터 및 모든 상태에 따른 행동은 이 사양에 의해 정의되고, 디지털 컴퓨팅 시스템에서 규칙은 알고리즘 및 데이터 구조로 표현될 수 있으며, 프로토콜은 알고리즘이나 프로그래밍 언어가 계산과 통신하는 것이다.
또한, 운영 체제에는 대개 공유 데이터를 조작하여 서로 통신하는 일련의 협력 프로세스가 있다. 이 통신은 프로세스 코드 자체에 내장될 수 있는 잘 이해된 프로토콜에 의해 제어된다. 대조적으로, 공유 메모리가 없으므로 통신 시스템은 공유 전송 매체를 사용하여 서로 통신해야 한다. 전송은 반드시 신뢰할 만한 것은 아니며 개별 시스템은 다른 하드웨어 또는 운영 체제를 사용할 수 있다.
또한, 네트워킹 프로토콜을 구현하기 위해 프로토콜 소프트웨어 모듈은 기계의 운영 체제에 구현된 프레임 워크와 인터페이스 된다. 이 프레임 워크는 운영 체제의 네트워킹 기능을 구현한다. 프로토콜 알고리즘이 휴대용 프로그래밍 언어로 표현될 때 프로토콜 소프트웨어는 운영 체제에 독립적일 수 있으며, 가장 잘 알려진 프레임 워크는 TCP/IP 모델과 OSI 모델이다.
또한, 일반적으로 단일 프로토콜을 사용하여 전송을 처리하지 않는다. 대신 프로토콜 스위트(protocol suite)라 불리는 일련의 협력 프로토콜을 사용한다. 가장 잘 알려진 프로토콜 제품군은 TCP/IP, IPX/SPX, X.25, AX.25 및 AppleTalk이다.
또한, 프로토콜은 그룹의 기능성을 기반으로 정렬될 수 있다. 예를 들어 전송 프로토콜 그룹이 있다. 기능은 레이어에 매핑되며 각 레이어는 응용 프로그램, 전송, 인터넷 및 네트워크 인터페이스 기능과 관련된 별개의 문제 클래스를 해결한다. 또한, 메시지를 전송하려면 각 계층에서 프로토콜을 선택해야 한다. 다음 프로토콜의 선택은 각 계층에 대한 프로토콜 선택기로 메시지를 확장함으로써 달성된다.
또한, 여기서 상기 다양한 통신 프로토콜의 예로서, HTTP(Hyper Text Transfer Protocol), HTTPS(Hyper Text Transfer Protocol Secure), FTP(File Transfer Protocol), SFTP(Secure File Transfer Protocol), Telnet(Terminal Network), POP3(Post Office Protocol version 3), SMTP(Simple Mail Transfer Protocol), SSH(Secure Shell), SSL(Secure Socket Layer), SOAP(Simple Object Access Protocol), ARP(Address Resolution Protocol) 등이 포함될 수도 있으며, 이러한 예에 한정하지 않고 일반적으로 공지된 다양한 형태의 모든 통신 프로토콜을 포괄적으로 의미하는 것일 수 있다.
또한, 상기 구성된 DIFF 이미지 정보를 조회하고 IP 및 DIFF 이미지 정보를 포함한 SFTP(Secure File Transfer Protocol)를 통해 펌웨어 업데이트 설정하기 위한 정보를 SNMP(Simple Network Management Protocol) 방식을 이용하여 펌웨어 업데이트 대상이 되는 디바이스로 전달할 수도 있으며, 또한, 상기 펌웨어 업데이트 수행 단계는, 구성된 DIFF 이미지를 토대로 펌웨어 업데이트 대상이 되는 디바이스에 전송된 펌웨어 업데이트 설정 정보를 확인하고 FTP(File Transfer Protocol)을 이용하여 펌웨어 업데이트 데이터 다운을 수행하는 것을 특징으로 한다.
또한, 상기 펌웨어 업데이트 수행 단계는, 펌웨어 업데이트 데이터 다운을 수행한 이후 해당 펌웨어 업데이트 데이터의 DIFF 이미지 서명을 검증하고, 해당 검증을 통해 DIFF 이미지를 복원하여 다운된 펌웨어 업데이트 데이터를 기초로 펌웨어 업데이트를 수행하는 것을 특징으로 한다.
또한, 상기 디바이스 펌웨어 관리 방법은, 펌웨어 업데이트 수행 단계 이후로, 제조사 서버로부터 무결성 검증 요청을 수신 받아 펌웨어 업데이트 대상이 되는 디바이스의 펌웨어 업데이트 무결성 검증을 수행하고, 해당 무결성 검증 수행 결과를 저장하는 무결성 검증 단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 무결성 검증 단계는, 무결성 검증 요청을 받아 무결성 검증 요청 메시지를 작성하고, 상기 요청 정보를 확인하고 통신모뎀을 설정한 후 무결성 검증을 처리한다.
또한, 여기서 상기 요청 정보는, 관리 중인 디바이스 식별자 ID, 업데이트에 사용되는 펌웨어 서명 명 식별자, 업데이트에 사용된 DIFF 이미지 식별자 등을 나타내는 것으로 할 수도 있다.
또한, 통신모뎀 설정은, 디바이스 구성관리, 모듈 식별자 ID, 디바이스 명, 제조사, 시리얼 번호, 디바이스 접속 정보(IP), 등록 일자, 디바이스 세부정보(펌웨어 정보) 등을 나타내는 것으로 할 수도 있다.
또한, 상기 무결성 검증 단계는, 펌웨어 무결성 검증 값을 생성하는데, 펌웨어 무결성 검증 값을 요청받아 무결성 값을 생성하고 펌웨어 데이터를 확인후 무결성 검사를 수행하고, 해당 무결성 검증 값을 비교 검증하여, 펌웨어 업데이트 수행된 디바이스의 펌웨어 정보(생성된 무결성 검증 값)를 업데이트 하고, 상기 검사된 무결성 검사 이력을 저장할 수도 있다.
또한, 상술한 본 발명에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있고, 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며, 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 기술분야에서 통상의 지식을 가진 사람에게 공지되어 사용 가능한 것일 수도 있다.
또한, 여기서 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
또한, 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 본 발명은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다는 것을 알 수 있으며, 이러한 임의의 소프트웨어는 삭제 가능 또는 재기록 가능 여부와 상관없이 휘발성 또는 비휘발성 저장 장치나, RAM, 메모리 칩, 집적 회로와 같은 메모리나, CD, DVD, 자기 디스크, 자기테이프 등과 같은 광학적/자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다.
따라서, 본 발명은 상술된 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계로 읽을 수 있는 저장 매체를 포함하며, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 발명은 이와 균등한 것을 적절하게 포함한다.
도 2는 본 발명의 일 실시예에 따른 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법에 대한 시스템 구성도이고, 도 3은 본 발명의 일 실시예에 따른 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법에 대한 시스템 예시도이다.
본 시스템은 기본적으로 제조사 서버(외부서버), 펌웨어 관리서버 및 디바이스로 구성될 수 있다.
또한, 본 시스템의 보다 구체적인 일례로, 제조사 서버(외부서버)는 사용자(제조사) 컴퓨팅 장치에 의해 제어되는 웹서버 및 스케쥴링 모듈을 포함할 수도 있고, 펌웨어 관리서버는 데이터 베이스부, 펌웨어 관리모듈, 송신 모듈 및 수신 모듈로서 구성될 수도 있다.
또한, 기본적으로, 상기 방법을 사용한 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 시스템에 있어서, 펌웨어 업데이트의 대상이 되는 디바이스, 상기 펌웨어 업데이트의 대상이 되는 디바이스의 정보, 펌웨어 정보 및 서명키 정보 중 적어도 어느 하나 이상의 정보를 전송하는 제조사 서버 및 상기 제조사 서버로부터 펌웨어 업데이트 요청을 수신 받아 펌웨어 업데이트 대상이 되는 디바이스의 펌웨어 정보를 조회하고, 상기 디바이스 타입에 따른 펌웨어 정보를 동시에 멀티 프로세싱으로서 관리하고, 상기 펌웨어 업데이트 대상이 되는 디바이스에 네크워크로 접속하여 상기 등록된 데이터를 기초로 펌웨어 서명키 검증을 통해 상기 디바이스의 펌웨어 업데이트를 수행하는 펌웨어 관리서버를 포함할 수도 있다.
또한, 상기 시스템의 일례로, 제조사 서버(외부 서버) 혹은 사용자 서버(외부 서버)는 해당 서버 내에 포함된 웹 서버와 펌웨어 관리서버에 포함된 웹 서버(RestAPI 포함) 간의 데이터 송수신에 대한 요청 및 응답을 수행하고, 외부서버에 포함된 데이터베이스부 및 펌웨어 관리서버에 포함된 데이터베이스부 간의 전송되는 데이터에 대한 동기화가 자동으로 수행될 수도 있다.
또한, 상기 시스템의 일례로, 펌웨어 관리서버에 포함된 웹 서버에서 데이터베이스부로 데이터 조회 및 입력을 수행하고, 서비스 요청 데이터 입력을 수행하되, 서비스 별로 멀티 프로세서 개수에 따라 프로세스 구분 식별자 입력으로서 서비스 요청 데이터 입력을 수행할 수도 있다.
또한, 상기 시스템의 일례로, 펌웨어 관리모듈에 포함된 스케줄 관리모듈에서 데이터베이스로 서비스 요청 데이터 입력을 수행하되, 멀티 프로세서 개수에 따라 요청 데이터에 프로세스 식별자를 구분한 입력을 통한 멀티 프로세싱으로서 서비스 요청 데이터 입력을 수행할 수도 있다.
또한, 상기 시스템의 일례로, 펌웨어 관리서버에 포함된 웹 서버에서 메시지 관리모듈로 서비스 코드 확인 서비스 요청을 수행하되, 서비스 별로 멀티 프로세스 개수에 따라 프로세스 동작 요청이 이루어 지는 멀티 프로세싱으로서 서비스 코드 확인 및 요청을 수행할 수도 있다.
또한, 상기 시스템의 일례로, 펌웨어 관리서버에 포함된 메시지 관리모듈은 서비스 데몬 관리모듈로 각 프로세시 별 프로세스 식별자 전달을 수행하고, 해당 서비스 데몬 관리모듈은 펌웨어 관리서버에 포함된 데이터베이스부로 프로세스별 식별자 기반의 서비스 요청 정보 조회를 수행할 수도 있다.
또한, 상기 시스템의 일례로, 펌웨어 관리서버에 포함된 서비스 데몬 관리모듈 및 다수의 디바이스 상호 간은 데이터를 송수신하여 펌웨어 업데이트를 수행하기 위한 전송과정을 수행할 수도 있으며, 추가적인, 상기 시스템의 일례로, 외부서버에 포함된 FTP 클라이언트 모듈 및 펌웨어 관리서버에 포함된 FTP 클라이언트 모듈은 서로간 연동 여부에 따라 데이터 전송 수행을 보조할 수도 있다.
상기 기재된 다수의 일례들은 본 발명인 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법을 사용하는 시스템에서 이루어지며, 모듈의 명칭에 의해 행위의 내용이 제한되지 않는 것으로 해석되어야 한다.
도 4는 본 발명의 일 실시예에 따른 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법 중 멀티 프로세싱에 대한 방법 순서도이다.
한편으로, 본 발명인 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법 중 멀티 프로세싱에 대한 방법은, 기본적으로 상기 펌웨어 정보 멀티 프로세싱 관리 단계 중 멀티 프로세싱에 대한 일례로, 서비스 연계 데몬 정의단계, 서비스와 데몬 연동단계, 서비스와 데몬 연동 설정단계, 서비스 정보 및 디바이스 옵션 값 확인단계, 동작 프로세스 개수 필드 확인단계, 동작 프로세서 번호 지정단계, 서비스 요청 정보 저장단계 및 서비스 데몬 실행 처리단계를 포함하여 구성된다.
보다 구체적으로, 서비스 데몬에 대한 리스트(service_daemon_list)를 기초로 서비스 연계 데몬 실행 명령에 대한 데몬 실행 명령어(excute_command) 및 멀티 프로세싱을 위한 옵션에 대한 동작 프로세스 개수(execute_processor_count)로서 동시에 동작할 프로세스 개수 정의를 수행하는 서비스 연계 데몬 정의단계, 적용 가능한 서비스를 등록(module_type_list)하고, 기본 서비스 선택(default_service_code 에서 선택된 applicable_service_codes 내에서 하나 선택) 및 디바이스 별로 사용될 옵션을 정의(option_fields 디바이스 별로 사용될 옵션 포맷 정의)하는 서비스와 데몬 연동단계, 사용할 서비스 설정(device_list, 사용할 서비스를 applicable_service_codes 값 중 하나를 선택) 및 디바이스 별 옵션 값을 설정(options, 디바이스 타입의 option_fields 필드에 정의된 포맷으로 값을 입력받음)하는 서비스와 데몬 연동 설정단계, 다수의 서비스 요청 시, 서비스 정보를 확인(device_list) 및 디바이스 옵션 값 확인(options)하는 서비스 정보 및 디바이스 옵션 값 확인단계, 서비스 요청 정보 개수를 확인 후, 서비스 데몬에 대한 리스트(service_daemon_list)를 기초로 멀티 프로세싱을 위한 옵션에 대한 동작 프로세스 개수(execute_processor_count) 필드를 확인하는 동작 프로세스 개수 필드 확인단계, 동작할 프로세서 번호(execute_processor_number) 지정하는 동작 프로세서 번호 지정단계, 서비스 요청 정보 저장(request_list)을 request_list 테이블에 데이터 적재하는 서비스 요청 정보 저장단계 및 execute_processor_count에 따라 서비스 데몬 실행을 처리하여 멀티 프로세싱이 수행하는 서비스 데몬 실행 처리단계를 포함하여 이루어 진다.
이상에서 첨부된 도면을 참조하여 본 발명을 설명함에 있어 특정형상 및 방향을 위주로 설명하였으나, 본 발명은 그 발명에 속하는 기술분야에서 통상의 지식을 가진 사람에 의하여 다양한 변형 및 변경이 가능하고, 이러한 변형 및 변경은 본 발명의 권리범위에 포함되는 것으로 해석되어야 한다.

Claims (10)

  1. 제조사 서버에서 펌웨어 업데이트의 대상이 되는 디바이스의 정보, 펌웨어 정보 및 서명키 정보 중 적어도 어느 하나 이상의 정보를 수신 받아 데이터로서 등록하는 펌웨어 데이터 등록 단계;
    제조사 서버로부터 펌웨어 업데이트 요청을 수신 받아 펌웨어 업데이트 대상이 되는 디바이스의 펌웨어 정보를 조회하고, 디바이스 타입에 따른 펌웨어 정보가 포함된 리스트를 기초로 하는 멀티 프로세싱 정보를 확인하여, 복수개의 상기 디바이스 타입의 펌웨어 정보를 동시에 멀티 프로세싱으로서 관리하는 펌웨어 정보 멀티 프로세싱 관리 단계; 및
    펌웨어 업데이트 대상이 되는 디바이스에 네크워크로 접속하여 상기 등록된 데이터를 기초로 펌웨어 서명키 검증을 통해 상기 디바이스의 펌웨어 업데이트를 수행하는 펌웨어 업데이트 수행 단계;를 포함하는 것을 특징으로 하며,
    상기 펌웨어 데이터 등록 단계는, 상기 디바이스 타입에 따라 의해 상기 펌웨어 정보를 등록하고,
    상기 멀티 프로세싱 관리 단계는, 서비스 데몬의 실행 정보를 생성하는 단계, 상기 서비스 데몬과 수행할 서비스를 연결하는 단계, 상기 서비스를 적용할 대상 디바이스 목록을 생성하는 단계, 상기 디바이스 타입에 따라 디바이스 옵션을 적용하는 단계, 상기 디바이스의 개수와 상기 디바이스 타입에 따라 동작 프로세스를 지정하는 단계 및 상기 서비스 데몬이 서비스를 수행하는 단계를 포함하는,
    다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법.
  2. 청구항 1에 있어서,
    상기 펌웨어 데이터 등록 단계는,
    등록된 데이터가 제조사 서버의 펌웨어 업데이트 대상이 되는 디바이스의 정보, 펌웨어 정보 및 서명키 정보 중 적어도 어느 하나 이상의 정보 데이터와 대응되도록 데이터를 동기화하는 데이터 동기화 단계를 더 포함하는 것을 특징으로 하는,
    다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법.
  3. 삭제
  4. 청구항 1에 있어서,
    상기 펌웨어 정보 멀티 프로세싱 관리 단계는,
    등록된 데이터에서 펌웨어 업데이트 대상이 되는 디바이스의 펌웨어 정보 및 서명키 정보 중 적어도 어느 하나 이상의 정보를 기초로 하는 데이터를 DIFF 이미지로 구성하여 관리하는 DIFF 이미지 관리 단계를 더 포함하는 것을 특징으로 하는,
    다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법.
  5. 청구항 4에 있어서,
    상기 DIFF 이미지 관리 단계는,
    구성된 DIFF 이미지를 압축하고, 압축된 DIFF 이미지를 DIFF 이미지 서명을 통해 펌웨어 업데이트 대상이 되는 디바이스의 펌웨어 버전을 관리하는 것을 특징으로 하는,
    다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법.
  6. 청구항 4에 있어서,
    상기 펌웨어 업데이트 수행 단계는,
    등록된 데이터 중 구성된 DIFF 이미지를 기초로 펌웨어 서명키 검증을 통해 상기 디바이스의 펌웨어 업데이트를 수행하는 것을 특징으로 하는,
    다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법.
  7. 청구항 4에 있어서,
    상기 펌웨어 업데이트 수행 단계는,
    구성된 DIFF 이미지를 토대로 펌웨어 업데이트 대상이 되는 디바이스의 펌웨어 업데이트 설정 정보를 확인하고 FTP(File Transfer Protocol)을 이용하여 펌웨어 업데이트 데이터 다운을 수행하는 것을 특징으로 하는,
    다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법.
  8. 청구항 7에 있어서,
    상기 펌웨어 업데이트 수행 단계는,
    펌웨어 업데이트 데이터 다운을 수행한 이후 해당 펌웨어 업데이트 데이터의 DIFF 이미지 서명을 검증하고, 해당 검증을 통해 DIFF 이미지를 복원하여 다운된 펌웨어 업데이트 데이터를 기초로 펌웨어 업데이트를 수행하는 것을 특징으로 하는,
    다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법.
  9. 청구항 1에 있어서,
    상기 디바이스 펌웨어 관리 방법은,
    펌웨어 업데이트 수행 단계 이후로, 제조사 서버로부터 무결성 검증 요청을 수신 받아 펌웨어 업데이트 대상이 되는 디바이스의 펌웨어 업데이트 무결성 검증을 수행하고, 해당 무결성 검증 수행 결과를 저장하는 무결성 검증 단계를 더 포함하는 것을 특징으로 하는,
    다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법.
  10. 청구항 1 내지 2 및 청구항 4 내지 9 중 어느 한 항에 따른 방법을 사용한 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 시스템에 있어서,
    펌웨어 업데이트의 대상이 되는 디바이스;
    상기 펌웨어 업데이트의 대상이 되는 디바이스의 정보, 펌웨어 정보 및 서명키 정보 중 적어도 어느 하나 이상의 정보를 전송하는 제조사 서버; 및
    상기 제조사 서버로부터 펌웨어 업데이트 요청을 수신 받아 펌웨어 업데이트 대상이 되는 디바이스의 펌웨어 정보를 조회하고,
    상기 디바이스 타입에 따른 펌웨어 정보를 동시에 멀티 프로세싱으로서 관리하고,
    상기 펌웨어 업데이트 대상이 되는 디바이스에 네크워크로 접속하여 상기 등록된 데이터를 기초로 펌웨어 서명키 검증을 통해 상기 디바이스의 펌웨어 업데이트를 수행하는 펌웨어 관리서버;를 포함하는 것을 특징으로 하며,
    상기 펌웨어 관리서버는, 디바이스 타입에 따라 의해 상기 펌웨어 정보를 관리하고, 서비스 데몬의 실행 정보를 생성하고, 상기 서비스 데몬이 수행할 펌웨어 업데이트 대상 및 디바이스 옵션 정보를 관리하고, 상기 디바이스의 개수와 상기 디바이스 타입에 따라 동작 프로세스를 지정하여 상기 서비스 데몬이 펌웨어 업데이트를 수행하는,
    다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 시스템.
KR1020210123421A 2021-09-15 2021-09-15 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법 및 시스템 KR102525600B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210123421A KR102525600B1 (ko) 2021-09-15 2021-09-15 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210123421A KR102525600B1 (ko) 2021-09-15 2021-09-15 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20230040434A KR20230040434A (ko) 2023-03-23
KR102525600B1 true KR102525600B1 (ko) 2023-04-27

Family

ID=85799278

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210123421A KR102525600B1 (ko) 2021-09-15 2021-09-15 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102525600B1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2012276270B9 (en) * 2011-06-29 2014-12-11 X2M Connect Limited An integration system
KR101541112B1 (ko) * 2013-07-04 2015-07-31 주식회사 미르코퍼레이션 Fota 시스템 및 그 실행 방법
KR101757417B1 (ko) 2017-04-19 2017-07-12 주식회사 주빅스 무선통신에서의 통신노드 펌웨어 업데이트 방법
KR102256249B1 (ko) * 2018-08-16 2021-05-26 경희대학교 산학협력단 통합 보안 SoC를 이용한 IoT 디바이스의 안전한 펌웨어 업데이트 방법
KR102276409B1 (ko) 2021-01-15 2021-07-13 주식회사 이엠웨이브 로라 통신 단말의 무선 펌웨어 업그레이드 시스템 및 방법

Also Published As

Publication number Publication date
KR20230040434A (ko) 2023-03-23

Similar Documents

Publication Publication Date Title
US10142106B2 (en) System and method for securing sensitive data
JP6322694B2 (ja) リソーススタック内のカスタムリソース
US9536081B2 (en) System and process for managing network communications
CN111930521A (zh) 用于部署应用的方法、装置、电子设备及可读存储介质
US11799732B2 (en) Internet of things device discovery and configuration
CN110326255A (zh) 管理消息传递协议通信
CN104657174A (zh) 一种用于动态实现应用功能的方法和装置
US9912759B2 (en) Dynamically generating solution stacks
CN105765533B (zh) 用于固件虚拟化的方法和装置
JP2020009426A (ja) コピーされたメッセージリストを提供する方法とシステム、および非一時的なコンピュータ読み取り可能な記録媒体
US20210250244A1 (en) Internet of things system topology generation
US20170031673A1 (en) Updating database drivers for client applications through a database server push
CN107168765A (zh) 一种远程编译软件的方法及系统
CN113360160A (zh) 部署应用的方法、装置、电子设备和存储介质
US10666683B2 (en) User interface for low-touch security policy provisioning
US8583600B2 (en) Deploying directory instances
KR102525600B1 (ko) 다양한 통신 프로토콜 적용에 따른 멀티 프로세싱이 가능한 디바이스 펌웨어 관리 방법 및 시스템
KR102549842B1 (ko) 다양한 통신 프로토콜이 적용 가능한 통합 디바이스 펌웨어 관리 방법 및 시스템
US11601476B2 (en) Gateway action framework
KR20230041865A (ko) Diff 이미지 구성을 통한 펌웨어 업데이트 관리 방법 및 이를 실행하기 위한 기록매체에 저장된 컴퓨터 프로그램
CN114157658A (zh) 镜像仓库部署方法、装置、电子设备和计算机可读介质
KR102510167B1 (ko) 플래시 메모리를 이용한 펌웨어 대용량 업데이트 개선 방법 및 이를 실행하기 위한 기록매체에 저장된 컴퓨터 프로그램
KR102573894B1 (ko) 플래시 메모리를 이용한 펌웨어 업데이트 공유키 관리 방법 및 이를 실행하기 위한 기록매체에 저장된 컴퓨터 프로그램
KR102586649B1 (ko) 분산형 파일 시스템을 이용한 펌웨어 관리 시스템 및 펌웨어 관리 방법
CN112541756B (zh) 区块链合约升级方法、装置、计算机设备及可读存储介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right