KR102586649B1 - 분산형 파일 시스템을 이용한 펌웨어 관리 시스템 및 펌웨어 관리 방법 - Google Patents

분산형 파일 시스템을 이용한 펌웨어 관리 시스템 및 펌웨어 관리 방법 Download PDF

Info

Publication number
KR102586649B1
KR102586649B1 KR1020210101731A KR20210101731A KR102586649B1 KR 102586649 B1 KR102586649 B1 KR 102586649B1 KR 1020210101731 A KR1020210101731 A KR 1020210101731A KR 20210101731 A KR20210101731 A KR 20210101731A KR 102586649 B1 KR102586649 B1 KR 102586649B1
Authority
KR
South Korea
Prior art keywords
firmware
information
difference
new firmware
upgrade
Prior art date
Application number
KR1020210101731A
Other languages
English (en)
Other versions
KR20230020599A (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 KR1020210101731A priority Critical patent/KR102586649B1/ko
Publication of KR20230020599A publication Critical patent/KR20230020599A/ko
Application granted granted Critical
Publication of KR102586649B1 publication Critical patent/KR102586649B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명의 일 실시예에 따른 펌웨어 관리 방법은, 펌웨어 관리 시스템에 의해 구현되는 펌웨어 관리 방법에 있어서, 기존 펌웨어와 신규 펌웨어 간의 차이에 대한 정보인 차이 정보가 산출되는 차이 정보 산출 단계; 상기 차이 정보가 분산형 파일 시스템에 업로드되는 단계인 차이 정보 업로드 단계; 상기 차이 정보가 업로드된 상기 분산형 파일 시스템으로부터 상기 차이 정보와 관련된 해시 정보인 차이 해시 정보가 전달되는 단계인 차이 해시 정보 생성 전달 단계; 및 상기 차이 해시 정보가 임의의 디바이스에 전송되는 단계인 펌웨어 업그레이드 설정 단계;를 포함할 수 있다.

Description

분산형 파일 시스템을 이용한 펌웨어 관리 시스템 및 펌웨어 관리 방법{A FIRMWARE MANAGEMENT SYSTEM USING DISTRIBUTED FILE SYSTEM AND A METHOD FOR FIRMWARE MANAGEMENT}
본 발명은 분산형 파일 시스템을 이용하여 펌웨어를 업데이트할 수 잇는 펌웨어 관리 시스템 및 펌웨어 관리 방법에 대한 것이다.
펌웨어는 소프트웨어와 하드웨어의 중간에 해당하는 것이며, 시스템의 효율을 높이기 위해 ROM에 넣는 기본적인 프로그램이나 데이터를 말한다. 펌웨어는 디바이스가 배포될 때 이미 설치되어 있지만, 응용프로그램의 변화, 오류 수정, 하드웨어의 성능 개선 등을 이유로 신규 펌웨어를 업그레이드할 필요성이 존재하다. 기존의 펌웨어 업그레이드 방식은 신규 펌웨어를 디바이스로 직접 제공하여, 해당 디바이스가 신규 펌웨어를 설치하는 방식으로 이루어진다.
다만, 이와 같이 펌웨어 자체를 전송하는 방식은 다양한 문제를 발생시킬 수 있다. MITM(Man In The Middle attack), 중간자 공격에 심각한 취약성을 드러내고 있다. 즉, 업데이트된 펌웨어 자체가 해커에게 노출될 수 있다. 또한, 배포 서버가 중앙 집중식 서버이므로 서버 장애 시에 펌웨어 업그레이드가 진행되지 않을 수 있다. 또한, 최근에는 디바이스(IoT)의 성능이 발전됨에 따라 다양한 기능을 할 수 있는 펌웨어가 업그레이드 되어야 하고, 이로 인해 펌웨어의 사이즈가 점점 커지는 추세인데, 펌웨어의 파일의 크기가 커질수록 서버의 트래픽을 가중시키는 문제가 야기된다.
본 발명은 상술한 문제점을 해결하기 위한 것으로, 분산형 파일 시스템을 활용하여 펌웨어를 업데이트할 수 있는 펌웨어 관리 시스템 및 관리 방법을 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
본 발명의 일 실시예에 따른 펌웨어 관리 방법은, 펌웨어 관리 시스템에 의해 구현되는 펌웨어 관리 방법에 있어서, 기존 펌웨어와 신규 펌웨어 간의 차이에 대한 정보인 차이 정보가 산출되는 차이 정보 산출 단계; 상기 차이 정보가 분산형 파일 시스템에 업로드되는 단계인 차이 정보 업로드 단계; 상기 차이 정보가 업로드된 상기 분산형 파일 시스템으로부터 상기 차이 정보와 관련된 해시 정보인 차이 해시 정보가 전달되는 단계인 차이 해시 정보 생성 전달 단계; 및 상기 차이 해시 정보가 임의의 디바이스에 전송되는 단계인 펌웨어 업그레이드 설정 단계;를 포함할 수 있다.
또한, 상기 차이 정보 산출 단계는, Xdelta를 활용하여 상기 차이 정보를 산출하는 단계이고, 상기 차이 정보는, diff 데이터로 이루어질 수 있다.
또한, 상기 분산형 파일 시스템은 IFPS일 수 있다.
또한, 상기 펌웨어 업그레이드 설정 단계는, 상기 차이 해시 정보와 함께 상기 신규 펌웨어 업그레이드 일정을 가이드하는 스케줄링 정보가 상기 디바이스에 전송되는 단계일 수 있다.
또한, 상기 펌웨어 업그레이드 설정 단계는, 상기 차이 해시 정보가 복수개 일 경우 펌웨어 업그레이드 방법에 대한 정보인 명령 정보를 함께 상기 디바이스에 전송하는 단계일 수 있다.
또한, 상기 신규 펌웨어가 업그레이드 설치된 상기 디바이스로 무결성 정보를 요청하는 무결성 정보 요청 단계; 및 상기 디바이스로부터 전달받은 상기 무결성 정보를 기초로 상기 신규 펌웨어 업그레이드의 무결성을 판단하는 무결성 판단 단계;를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 펌웨어 관리 시스템은, 기존 펌웨어와 신규 펌웨어 간의 차이에 대한 정보인 차이 정보를 산출하는 차이 정보 산출 모듈; 상기 차이 정보를 분산형 파일 시스템에 업로드하는 송신 모듈; 및 상기 차이 정보의 업로드와 대응되게 상기 분산형 파일 시스템으로부터 상기 차이 정보와 관련된 해시 정보인 차이 해시 정보를 수신하는 수신 모듈;을 포함하고, 상기 수신 모듈은, 상기 차이 해시 정보를 임의의 디바이스에 전송할 수 있다.
또한, 상기 차이 정보 산출 모듈은, Xdelta를 활용하여 diff 데이터로 이루어진 상기 차이 정보를 산출할 수 있다.
또한, 상기 신규 펌웨어 업그레이드 일정을 상기 디바이스에 가이드하는 스케줄링 모듈;을 더 포함할 수 있다.
또한, 상기 디바이스로 신규 펌웨어의 설치에 대한 무결성 여부를 확인하고 관리하는 무결성 확인 모듈;을 더 포함할 수 있다.
본 발명에 따른 분산형 파일 시스템을 이용한 펌웨어 관리 시스템 및 펌웨어 관리 방법은 보안성을 높일 수 있다.
또한, 관리 시스템의 트래픽을 감소시킬 수 있다.
또한, 관리 시스템의 온/오프와 관계없이 펌웨어 업그레이드를 진행할 수 있다.
또한, 자기인증 파일 시스템을 사용할 수 있다.
다만, 본 발명의 효과가 상술한 효과들로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 펌웨어 관리 시스템의 관계도
도 2는 본 발명의 일 실시예에 따른 펌웨어 관리 시스테의 구성도
도 3은 본 발명의 일 실시예에 따른 펌웨어 관리 방법의 개략도
도 4는 본 발명의 일 실시예에 따른 펌웨어 관리 방법의 상세 순서도
도 5는 본 발명의 일 실시예에 따른 펌웨어 관리 방법의 상세 순서도
이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 다만, 본 발명의 사상은 제시되는 실시예에 제한되지 아니하고, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서 다른 구성요소를 추가, 변경, 삭제 등을 통하여, 퇴보적인 다른 발명이나 본 발명 사상의 범위 내에 포함되는 다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본원 발명 사상 범위 내에 포함된다고 할 것이다.
도 1은 본 발명의 일 실시예에 따른 펌웨어 관리 시스템의 관계도이고, 도 2는 본 발명의 일 실시예에 따른 펌웨어 관리 시스테의 구성도이다.
도 1 및 도 2를 참조하면, 펌웨어 관리 시스템(100)은 펌웨어를 배포하고 관리하는 사용자의 컴퓨팅 장치(200)와 분산형 파일 시스템(300)과 유/무선 네트워크로 연결되어 정보 통신할 수 있다.
펌웨어 관리 시스템(100)은 정보 처리 연산을 수행할 수 있는 서버, 컴퓨팅 장치 등을 모두 포함하는 개념일 수 있다.
일례로, 본 발명에서 언급하는 서버는 서버의 서버 환경을 수행하기 위한 다른 구성들이 포함될 수도 있다. 서버는 임의의 형태의 장치는 모두 포함할 수 있다. 일례로, 서버는 디지털 기기로서, 랩탑 컴퓨터, 노트북 컴퓨터, 데스크톱 컴퓨터, 웹 패드, 이동 전화기와 같이 프로세서를 탑재하고 메모리를 구비한 연산 능력을 갖춘 디지털 기기일 수 있다. 일례로, 서버는 웹 서버일 수 있다. 다만, 이에 한정하지 않고, 서버의 종류는 통상의 기술자에게 자명한 수준에서 다양하게 변경 가능하다.
상술한 네트워크는 다양한 통신 프로토콜을 포함하고 있으며, 네트워크 또는 다른 미디어를 통해 디바이스 간에 교환되는 정보는 통신 프로토콜 사양에서 설정할 수 있는 규칙 및 규칙에 따라 관리된다.
또한, 의사소통의 성격, 교환된 실제 데이터 및 모든 상태에 따른 행동은 이 사양에 의해 정의되고, 디지털 컴퓨팅 시스템에서 규칙은 알고리즘 및 데이터 구조로 표현될 수 있으며, 프로토콜은 알고리즘이나 프로그래밍 언어가 계산과 통신하는 것이다.
또한, 운영 체제에는 대개 공유 데이터를 조작하여 서로 통신하는 일련의 협력 프로세스가 있다. 이 통신은 프로세스 코드 자체에 내장될 수 있는 잘 이해된 프로토콜에 의해 제어된다. 대조적으로, 공유 메모리가 없으므로 통신 시스템은 공유 전송 매체를 사용하여 서로 통신해야 한다. 전송은 반드시 신뢰할 만한 것은 아니며 개별 시스템은 다른 하드웨어 또는 운영 체제를 사용할 수 있다.
또한, 네트워킹 프로토콜을 구현하기 위해 프로토콜 소프트웨어 모듈은 기계의 운영 체제에 구현된 프레임 워크와 인터페이스 된다. 이 프레임 워크는 운영 체제의 네트워킹 기능을 구현한다. 프로토콜 알고리즘이 휴대용 프로그래밍 언어로 표현될 때 프로토콜 소프트웨어는 운영 체제에 독립적일 수 있으며, 가장 잘 알려진 프레임 워크는 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) 등이 포함될 수도 있으며, 이러한 예에 한정하지 않고 일반적으로 공지된 다양한 형태의 모든 통신 프로토콜을 포괄적으로 의미하는 것일 수 있다.
사용자는 펌웨어를 관리하는 자로서, 자연인 또는 법인 모두를 포함할 수 있다.
사용자는 펌웨어를 프로그래밍하고 배포하고, 수정하는 자일 수 있다.
사용자는 디바이스를 제조하여 판매하는 자일 수 있으나, 반드시 동일하지 않을 수 있다.
컴퓨팅 장치는 정보 처리 연산을 처리할 수 있는 장치를 의미할 수 있다.
일례로, 상기 컴퓨팅 장치는 데스크탑 컴퓨터, 노트북, 스마트폰, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 휴대용 단말기 등이 포함되는 이동 단말기 및/또는 스마트 TV 등이 포함되는 개념일 수 있다.
분산형 파일 시스템(300)은 컴퓨터 네트워크를 통해 여러 호스트의 파일에 접근하도록 하는 파일 시스템을 말하는 것일 수 있다.
일례로, 상기 분산형 파일 시스템(300)은 NFS(Network File System)와 CIFS(Common Internet File System), HDFS(Hadoop Distributed File System), OwFS(Owner-based File System), IPFS(Inter Planetary File System)을 의미할 수 있으나, 이에 본 발명이 한정되는 것은 아니고, 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
여기서, 분산형 파일 시스템(300)을 IFPS로 하는 것이 바람직할 수 있다.
이는, 펌웨어 관리 시스템(100)의 트레픽 감소, 펌웨어 업그레이드의 안정성 및 보안을 강화하는데 최적이기 때문일 수 있다.
본 발명의 일 실시예에 따른 펌웨어 괸리 시스템은 기존 펌웨어와 신규 펌웨어 간의 차이에 대한 정보인 차이 정보를 산출하는 차이 정보 산출 모듈(110), 상기 차이 정보를 분산형 파일 시스템(300)에 업로드하는 송신 모듈(120) 및 상기 차이 정보의 업로드와 대응되게 상기 분산형 파일 시스템(300)으로부터 상기 차이 정보와 관련된 해시 정보인 차이 해시 정보를 수신하는 수신 모듈(130)을 포함할 수 있다.
또한, 상기 펌웨어 관리 시스템(100)은, 상기 신규 펌웨어 업그레이드 일정을 상기 디바이스에 가이드하는 스케줄링 모듈(140)을 더 포함할 수 있다.
또한, 상기 펌웨어 관리 시스템(100)은, 상기 디바이스로 신규 펌웨어의 설치에 대한 무결성 여부를 확인하고 관리하는 무결성 확인 모듈(150)을 더 포함할 수 있다.
또한, 상기 펌웨어 관리 시스템(100)은 후술하는 펌웨어 관리 방법이 구현되는데 필요한 정보들이 저장되어 있는 데이터베이스부(160)를 더 포함할 수 있다.
또한, 상기 펌웨어 관리 시스템(100)은 사용자의 컴퓨팅 장치(200)에 펌웨어 관리, 신청 및 업그레이드와 같은 일련의 펌웨어 관련 업무를 수행할 수 있는 인터페이스를 웹 상에서 제공하는 웹페이지 관리 모듈(170)을 더 포함할 수 있다.
디바이스(400 전자 제품으로서 펌웨어가 설치되어 이용될 수 있는 모든 장치를 의미할 수 있다.
일례로, 디바이스라 함은, 스마트폰(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) 등을 구비할 수도 있으며, 이러한 예에 한정하지 않고 다양한 형태로 디바이스를 제어할 수 있는 모듈을 포괄적으로 의미하는 것일 수 있다.
차이 정보 산출 모듈(110)은 차이 정보를 산출할 수 있다.
기존 펌웨어란 이미 디바이스(400)에 배포된 펌웨어를 의미할 수 있다.
신규 펌웨어란 기존 펌웨어의 버그나 오류를 수정하거나 새로운 기능이 첨부되어 업그레이드된 펌웨어일 수 있다.
또는, 신규 펌웨어란 이미 디바이스(400)에 배포되지 않은 펌웨어를 의미할 수 있다.
상기 차이 정보 산출 모듈(110)은 정보들 간의 차이를 산출하는 프로그램을 활용하여 차이 정보를 산출할 수 있다.
일례로, 상기 차이 정보 산출 모듈(110)은 Xdelta를 활용하여 기존 펌웨어와 신규 펌웨어를 기초로 인코딩하여 diff 데이터로 이루어진 상기 차이 정보를 산출할 수 있다.
상기 인코딩의 예로서, 특정된 A라는 펌웨어 데이터와 특정된 B라는 펌웨어 데이터가 더해져 델타 데이터인 DIFF 이미지 데이터로서 구성이 되며, 디코딩의 예로서, 특정된 A라는 펌웨어 데이터와 상기 델타 데이터인 DIFF 이미지 데이터가 더해져 특정된 B라는 펌웨어 데이터로서 구성이 될 수 있다.
또한, 상기 구성된 DIFF 이미지 데이터는, 델타 인코딩을 위한 명령줄 프로그램으로써, 두 파일(데이터) 간의 차이를 생성하고, DIFF 및 PATCH 와 유사하지만 바이너리 파일을 대상으로 하고, 표준화된 VCDIFF 형식을 생성할 수 있다.
또한, 델타 인코딩은, 완전한 데이터가 아닌 순차적 데이터 간의 차이(deltas) 형태로 데이터를 저장하거나 전송하는 방법으로, 델타 인코딩을 델타 압축이라고도 하며, 데이터 차이점은 델타 또는 diffs라고 하는 개별 데이터에 기록될 수 있다.
또한, 상기 차이점이 작은 경우(예: 큰 문서의 몇 단어 변경 또는 큰 테이블의 몇 가지 레코드 변경 등), 델타 인코딩은 데이터 중복성을 크게 줄이고, 고유 델타 컬렉션은 인코딩되지 않은 등가물보다 공간 효율이 훨씬 크며, 논리적 관점에서 볼 때 두 데이터 값 간의 차이는 다른 값에서 하나의 값을 얻는 데 필요한 정보일 수 있다.
다만, 이에 한정하지 않고, 차이를 산출하는 방법은 통상의 기술자에게 자명한 수준에서 다양하게 변경 가능하다.
일례로, 상기 차이 정보 산출 모듈(110)은 SDK를 이용하여 차이 정보를 산출할 수도 있으나, 이에 본 발명이 한정되는 것은 아니다.
송신 모듈(120)은 정보를 외부 장치, 기기, 서버 또는 온라인 네트워크망과 상호 교환할 수 있다.
송신 모듈(120)은 펌웨어 관리 방법이 구현되는데 필요한 정보나 요청들을 외부 장치, 기기, 서버 또는 온라인 네트워크망으로 송신할 수 있다.
수신 모듈(130)은 외부 장치, 기기, 서버 또는 온라인 네트워크망으로부터 정보를 수신받을 수 있다.
수신 모듈(130)은 펌웨어 관리 방법이 구현되는 필요한 정보나 요청들을 외부 장치, 기기, 서버 또는 온라인 네트워크망으로부터 수신받을 수 있다
수신 모듈(130)은 사용자의 컴퓨팅 장치(200)로부터 신규 펌웨어 및 디바이스 정보를 전달받을 수 있다.
또한, 상기 수신 모듈(130)은 사용자의 컴퓨팅 장치(200)로부터 차이 정보의 생성 요청을 전달받을 수 있다.
또한, 수신 모듈(130)은 여러 종류의 네트워크 프로토콜이 적용될 수 있다.
스케줄링 모듈(140)은 차이 해시 정보, 스케줄링 정보 및 명령 정보를 디바이스로 전달하면서 디바이스의 펌웨어 업그레이드를 가이드할 수 있다.
차이 해시 정보는 차이 정보를 분산형 파일 시스템(300)에 업로드하는 경우, 분산형 파일 시스템(300)으로부터 수신 받는 해시 값을 말 할 수 있다.
일례로, 상기 차이 해시 정보는 해시 아이디를 말하는 것으로서 CID content ID를 의미할 수 있다.
다만, 이에 한정하지 않고, 차이 해시 정보의 종류는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
스케줄링 모듈(140)은 Deamon 서버로서 상시 가동될 수 있으나, 이에 한정하는 것은 아니다.
스케줄링 정보는 상기 차이 해시 정보와 함께 상기 신규 펌웨어 업그레이드 일정을 가이드하는 정보를 말할 수 있다.
즉, 디바이스는 스케줄링 정보를 수신하고, 디바이스 사용자는 디바이스에 펌웨어를 업그레이드할 시간을 설정할 수 있다.
스케줄링 정보는 디바이스에 업그레이드 시작 시간을 설정할 수 있는 스케줄 설정 인터페이스를 제공할 수 있다.
디바이스는 설정된 업그레이드 시간이 되면 차이 해시 정보를 이용하여 분산형 파일 시스템(300)으로부터 차이 정보를 다운 받을 수 있다.
명령 정보는 디바이스가 펌웨어를 설치하는 방법에 대한 가이드에 대한 정보일 수 있다.
디바이스는 명령 정보의 가이드에 기초하여 펌웨어 업그레이드를 실시할 수 있다.
일례로, 상기 명령 정보는 디바이스의 메모리에 저장되어 있을 수 있다.
일례로, 상기 명령 정보는 디바이스 사용자가 지정한 시간에 펌웨어가 업그레이드될 수 있도록 하는 가이드일 수 있다.
또한, 상기 명령 정보는 상기 차이 해시 정보가 복수개 일 경우 펌웨어 업그레이드 방법에 대한 정보일 수 있다.
업그레이드가 진행되지 않은 상기 차이 해시 정보가 복수개 디바이스에 저장되어 있다면, 미리 정해진 방법에 따라 업그레이드가 진행될 수 있다.
상기 명령 정보는 상기 미리 정해진 방법에 대해서 포함될 수 있다.
무결성 확인 모듈은 새로 업그레이된 신규 펌웨어가 잘 설치되었는지 확인하고 관리할 수 있다.
무결성 확인 모듈(150)은 상기 신규 펌웨어가 업그레이드 설치된 상기 디바이스로 무결성 정보를 요청할 수 있다.
무결성 확인 모듈(150)은 상기 디바이스로부터 전달받은 상기 무결성 정보를 기초로 신규 펌웨어 업그레이드의 무결성을 판단할 수 있다.
데이터베이스부(160)는 펌웨어 관리 방법이 구현되는데 필요한 모든 정보들이 저장되어 있을 수 있다.
일례로, 데이터베이스부(160)에는 기존의 펌웨어들, 디바이스 정보, 디바이스들의 펌웨어 업그레이드 히스토리, 차이 해시 정보 등이 저장되어 있을 수 있다.
데이터베이스부(160)는 내장 메모리 및/또는 외장 메모리를 포함할 수 있다.
일례로, 내장 메모리는 휘발성 메모리(예: DRAM, SRAM, 또는 SDRAM 등), 비휘발성 메모리(예: OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, 플래시 메모리, 하드 드라이브, 또는 솔리드 스테이트 드라이브 (SSD) 중 적어도 하나를 포함할 수 있다
외장 메모리는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱 등을 포함할 수 있다.
다만, 이에 한정하지 않고, 데이터베이스부(160)는 웹데이터베이스일 수 있다.
웹페이지 관리 모듈(170)은 사용자가 디바이스 정보를 등록하고 신규 펌웨어를 업로드 하고, 차이 정보 산출 요청하는 등의 일련의 펌웨어 관리 업무를 수행할 수 있도록 사용자 컴퓨팅 장치에 관리 인터페이스를 제공할 수 있다.
여기서, 사용자는 컴퓨팅 장치를 이용하여 웹 상으로 상술한 인터페이스에 접근하여 펌웨어 관리를 할 수 있다.
상기 차이 정보 산출 모듈(110), 상기 송신 모듈(120), 상기 수신 모듈(130), 상기 스케줄링 모듈(140), 상기 무결성 확인 모듈(150) 및/또는 상기 데이터베이스부(160)를 서로 유/무선으로 연결되어 정보를 상호 교환할 수 있다.
이하, 펌웨어 관리 시스템을 이용한 펌웨어 관리 방법에 대해서 자세하게 서술하도록 한다.
도 3은 본 발명의 일 실시예에 따른 펌웨어 관리 방법의 개략도이고, 도 4는 본 발명의 일 실시예에 따른 펌웨어 관리 방법의 상세 순서도이며, 도 5는 본 발명의 일 실시예에 따른 펌웨어 관리 방법의 상세 순서도이다.
도 3 내지 도 5를 참조하면, 본 발명의 일 실시예에 따른 펌웨어 관리 방법은 기존 펌웨어와 신규 펌웨어 간의 차이에 대한 정보인 차이 정보가 산출되는 차이 정보 산출 단계, 상기 차이 정보가 분산형 파일 시스템에 업로드되는 단계인 차이 정보 업로드 단계, 상기 차이 정보가 업로드된 상기 분산형 파일 시스템으로부터 상기 차이 정보와 관련된 해시 정보인 차이 해시 정보가 전달되는 단계인 차이 해시 정보 생성 전달 단계 및 상기 차이 해시 정보가 임의의 디바이스에 전송되는 단계인 펌웨어 업그레이드 설정 단계를 포함할 수 있다.
또한, 상기 펌웨어 관리 방법은 상기 신규 펌웨어가 업그레이드 설치된 상기 디바이스로 무결성 정보를 요청하는 무결성 정보 요청 단계 및 상기 디바이스로부터 전달받은 상기 무결성 정보를 기초로 상기 신규 펌웨어 업그레이드의 무결성을 판단하는 무결성 판단 단계를 더 포함할 수 있다.
이하, 상술한 각 단계들을 구체적으로 설명하도록 한다.
사용자는 컴퓨팅 장치를 활용하여 웹페이지 관리 모듈이 제공하는 웹 6상에서 신규 펌웨어를 등록하고 펌웨어가 설치될 디바이스 정보를 등록할 수 있다. 사용자가 웹 페이지 상에서 입력한 정보들은 송신 모듈이 수신하여 데이터베이스부에 저장될 수 있다.
디바이스 정보는 디바이스 종류, 사양, 모델명, 기능 등을 포함하는 정보들을 의미할 수 있다.
사용자는 신규 펌웨어를 디바이스에 배포하기 위해서 컴퓨팅 장치를 통해 웹 상으로 차이 정보 생성을 요청할 수 있다.
웹을 통해 차이 정보 생성 요청을 수신 받은 웹페이지 관리 모듈은 이러한 요청을 차이 정보 산출 모듈로 전달할 수 있다.
상기 송신 모듈은 상기 차이 정보를 상기 분산형 파일 시스템에 업로드할 수 있다.
분산형 파일 시스템은 차이 정보가 저장된 주소/파일명과 대응되는 차이 해시 정보를 산출하고 상기 차이 해시 정보를 상기 송신 모듈에 송신할 수 있다.
상기 송신 모듈은 상기 차이 해시 정보와 차이 정보를 상기 데이터베이스부에 전달하여 저장할 수 있다.
상기 웹페이지 관리 모듈은 차이 정보 업로드 및 차이 해시 정보 수신에 대한 정보를 웹 상에 표현되도록 할 수 있다.
사용자는 컴퓨팅 장치를 이용하여 신규 펌웨어의 업그레이드를 요청할 수 있으며, 상기 펌웨어 관리 시스템의 스케줄링 모듈은 펌웨어가 설치될 디바이스에 펌웨어 설치를 요청할 수 있다.
이를 위해, 펌웨어 관리 시스템은 스케줄링 정보, 명령 정보 및 차이 해시 정보를 상기 디바이스로 전송할 수 있다.
디바이스 사용자는 디바이스 상에서 펌웨어 업그레이드 일정을 설정하고, 신규 펌웨어를 업그레이드할 수 있다.
디바이스는 차이 해시 정보를 기초로 분산형 파일 시스템으로부터 차이 정보를 다운로드하고, 차이 정보를 기초로 신규 펌웨어로 디바이스를 업그레이드할 수 있다.
차이 정보는 기존에 설치된 펌웨어와 신규 펌웨어의 차이에 대한 정보로서, 기존 펌웨어와 차이 정보만으로 신규 펌웨어가 산출될 수 있으며, 산출된 신규 펌웨어가 디바이스에 설치될 수 있다.
만일, 디바이스 사용자가 신규 펌웨어의 업그레이드를 계속 미룰 수 있다.
이와 같을 경우, 업그레이드가 진행되지 않은 복 수개의 상기 차이 해시 정보가 디바이스에 저장될 수 있다. 이와 같은 상태에서 디바이스 사용자가 디바이스의 펌웨어 업그레이드를 진행할 경우, 미리 정해진 방법에 따라 펌웨어 업그레이드가 진행될 수 있다.
미리 정해진 방법은 업그레이드가 진행되지 않은 신규 펌웨어가 소정 숫자 이하일 경우에는 펌웨어 관리 시스템으로부터 먼저 전송된 차이 해시 정보와 대응되는 신규 펌웨어를 차례로 업그레이드하는 방법일 수 있다.
구체적인 일례로서, 디바이스에 아직 업그레이드가 진행되지 않은 차이 해시2 개 정보가 2개가 있고, 이를 제1 차이 해시 정보와 제2 차이 해시 정보라고 명명할 수 있다. 제1 차이 해시 정보는 2021. 1. 1.에 디바이스에 전송되었고, 제2 차이 해시 정보는 2020. 5. 1.에 디바이스에 전송되었다고 가정하고, 상기 소정 숫자가 3이라고 가정할 수 있다. 이러한 상황에서 디바이스 사용자가 펌웨서 업그레이드를 수락하는 경우, 디바이스는 제1 차이 해시 정보를 통해 제1 차이 정보를 분산형 파일 시스템으로부터 다운 받아 제1 신규 펌웨어를 설치하고, 다음으로 제2 차이 해시 정보를 통해 제2 차이 정보를 분산형 파일 시스템으로부터 다운 받아 제2 신규 펌웨어를 설치할 수 있다.
디바이스 사용자는 최종의 펌웨어의 업그레이드 일정을 수립함으로써, 자동적으로 여때까지 진행하지 못했던 펌웨어 업그레이드를 한번에 자동적으로 진행할 수 있다.
또한, 미리 정해진 방법은 업그레이드가 진행되지 않은 신규 펌웨어가 소정 숫자 초과일 경우에는 디바이스가 펌웨어 관리 시스템에 신규 펌웨어를 요청하는 방법일 수 있다.
구체적인 일례로서, 디바이스에 아직 업그레이드가 진행되지 않은 차이 해시4 개정보가 가 있고, 이를 제1 차이 해시 정보, 제2 차이 해시 정보, 제3 차이 해시 정보 및 제4 차이 해시 정보라고 명명할 수 있다. 상기 소정 숫자가 3이라고 가정할 수 있다. 이와 같을 경우, 차이 정보를 기초로 차례로 펌웨어를 업그레이드한다면 이는 업그레이드 시간일 길어질 수 있다. 이로써, 디바이스에 전송되어 아직 업그레이드가 진행되지 않은 차이 해시 정보가 소정 숫자 초과인 상태에서 디바이스 사용자가 펌웨어 업그레이드를 일정을 입력하여 업그레이드를 수락하는 경우, 디바이스는 펌웨어 관리 시스템에 직접적으로 최근의 신규 펌웨어를 요청할 수 있다.
펌웨어 관리 시스템은 디바이스 요청에 따라 최근 신규 펌웨어(예를 들면 제4 차이 해시 정보와 대응되는 신규 펌웨어)를 디바이스로 전송하고, 디바이스는 수신받은 신규 펌웨어를 이용하여 펌웨어 업그레이드를 진행할 수 있다.
신규 펌웨어로 업그레이드하는 방법에 대한 자세한 설명은 상술한 내용과 중복되는 한도에서 생략될 수 있다.
디바이스는 업그레이드 결과를 펌웨어 관리 시스템(일례로, 수신 모듈)으로 전송(일례로, SNMP TRAP 방식)할 수 있다. 업그레이드 결과에는 업그레이드된 펌웨어 버전 정보, 디바이스 일련번호, 모델명 등이 포함될 수 있다.
펌웨어 관리 시스템의 데이터베이스부는 업그레이드 결과를 저장할 수 있다.
사용자는 펌웨어 관리 시스템에 펌웨어 업그레이드 사실을 확인 요청하여 조회할 수도 있다.
사용자는 웹 페이지를 이용하여 무결성 검증을 요청할 수 있으며, 펌웨어 관리 시스템은 데이터베이스부에 저장된 디바이스에 설치된 펌웨어와 업그레이드 히스토리 확인을 통해 디바이스에 펌웨어 무결성 정보를 요청할 수 있다.
디바이스가 펌웨어 무결성 정보를 수신받을 경우, 디바이스는 SDK를 활용하여 설치되어 있는 펌웨어 해시 정보를 생성할 수 있고, 디바이스는 생성한 해시 정보를 펌웨어 관리 시스템으로 전송할 수 있다.
무결성 확인 모듈은 전달 받은 해시 정보를 토대로 펌웨어의 무결성을 검증할 수 있다.
무결성 확인 모듈은 펌웨어 무결성의 검증 정보를 데이터베이스부에 송신하여 저장할 수 있다.
펌웨어 관리 시스템의 사용자는 웹을 통해 무결성 검증 결과를 조회할 수 있다.
도 4 및 5에는 데이터베이스부를 펌웨어 관리 시스템의 별개 구성과 같이 도시하였으나, 이는 설명을 용이하게 하기 위한 것으로서, 이에 본 발명이 한정되는 것은 아니다.
본 발명의 실시예에 따른 펌웨어 관리 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있고, 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며, 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 기술분야에서 통상의 지식을 가진 사람에게 공지되어 사용 가능한 것일 수도 있다.
또한, 여기서 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다.
또한, 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지일 수 있다.
또한, 본 발명은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다는 것을 알 수 있으며, 이러한 임의의 소프트웨어는 삭제 가능 또는 재기록 가능 여부와 상관없이 휘발성 또는 비휘발성 저장 장치나, RAM, 메모리 칩, 집적 회로와 같은 메모리나, CD, DVD, 자기 디스크, 자기테이프 등과 같은 광학적/자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다.
따라서, 본 발명은 상술된 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계로 읽을 수 있는 저장 매체를 포함하며, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 발명은 이와 균등한 것을 적절하게 포함한다.
첨부된 도면은 본 발명의 기술적 사상을 보다 명확하게 표현하기 위해, 본 발명의 기술적 사상과 관련성이 없거나 떨어지는 구성에 대해서는 간략하게 표현하거나 생략하였다.
상기에서는 본 발명에 따른 실시예를 기준으로 본 발명의 구성과 특징을 설명하였으나 본 발명은 이에 한정되지 않으며, 본 발명의 사상과 범위 내에서 다양하게 변경 또는 변형할 수 있음은 본 발명이 속하는 기술분야의 당업자에게 명백한 것이며, 따라서 이와 같은 변경 또는 변형은 첨부된 특허청구범위에 속함을 밝혀둔다.
100 : 펌웨어 관리 시스템 110 : 차이 정보 산출 모듈
120 : 송신 모듈 130 : 수신 모듈

Claims (10)

  1. 펌웨어 관리 시스템에 의해 구현되는 펌웨어 관리 방법에 있어서,
    기존 펌웨어와 신규 펌웨어 간의 차이에 대한 정보인 차이 정보가 산출되는 차이 정보 산출 단계;
    상기 차이 정보가 분산형 파일 시스템에 업로드되는 단계인 차이 정보 업로드 단계;
    상기 차이 정보가 업로드된 상기 분산형 파일 시스템으로부터 상기 차이 정보와 관련된 해시 정보인 차이 해시 정보가 전달되는 단계인 차이 해시 정보 생성전달 단계; 및
    상기 차이 해시 정보가 임의의 디바이스에 전송되는 단계인 펌웨어 업그레이드 설정 단계;를 포함하며,
    상기 펌웨어 업그레이드 설정 단계는, 상기 차이 해시 정보와 함께 상기 신규 펌웨어 업그레이드 일정을 가이드 하는 스케줄링 정보가 상기 디바이스에 전송되고,
    상기 신규 펌웨어의 업그레이드가 진행되지 않은 복수 개의 차이 해시 정보가 상기 디바이스에 저장된 상태에서, 상기 디바이스가 펌웨어 업그레이드를 진행할 경우, 업그레이드가 진행되지 않은 상기 신규 펌웨어가 소정의 숫자 이하이면, 상기 복수 개의 차이 해시 정보 중 먼저 전송된 차이 해시 정보와 대응되는 신규 펌웨어부터 차례로 업그레이드하며,
    상기 신규 펌웨어의 업그레이드가 진행되지 않은 복수 개의 차이 해시 정보가 상기 디바이스에 저장된 상태에서, 상기 디바이스가 펌웨어 업그레이드를 진행할 경우, 업그레이드가 진행되지 않은 상기 신규 펌웨어가 소정의 숫자를 초과하면, 상기 펌웨어 관리 시스템에 가장 최신의 신규 펌웨어를 요청하여 업그레이드를 진행하는,
    펌웨어 관리 방법.
  2. 제1항에 있어서,
    상기 차이 정보 산출 단계는,
    Xdelta를 활용하여 상기 차이 정보를 산출하는 단계이고,
    상기 차이 정보는,
    diff 데이터로 이루어진,
    펌웨어 관리 방법.
  3. 제1항에 있어서,
    상기 분산형 파일 시스템은,
    IFPS인,
    펌웨어 관리 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 펌웨어 업그레이드 설정 단계는,
    상기 차이 해시 정보가 복수개 일 경우 펌웨어 업그레이드 방법에 대한 정보인 명령 정보를 함께 상기 디바이스에 전송하는 단계인,
    펌웨어 관리 방법.
  6. 제1항에 있어서,
    상기 신규 펌웨어가 업그레이드 설치된 상기 디바이스로 무결성 정보를 요청하는 무결성 정보 요청 단계; 및
    상기 디바이스로부터 전달받은 상기 무결성 정보를 기초로 상기 신규 펌웨어 업그레이드의 무결성을 판단하는 무결성 판단 단계;를 더 포함하는,
    펌웨어 관리 방법.
  7. 펌웨어 관리 시스템에 있어서,
    기존 펌웨어와 신규 펌웨어 간의 차이에 대한 정보인 차이 정보를 산출하는 차이 정보 산출 모듈;
    상기 차이 정보를 분산형 파일 시스템에 업로드하는 송신 모듈;
    상기 차이 정보의 업로드와 대응되게 상기 분산형 파일 시스템으로부터 상기 차이 정보와 관련된 해시 정보인 차이 해시 정보를 수신하고, 상기 차이 해시 정보를 임의의 디바이스에 전송하는 수신 모듈; 및
    상기 신규 펌웨어 업그레이드 일정을 상기 디바이스에 가이드 하는 스케줄링 모듈;을 포함하며,
    상기 신규 펌웨어의 업그레이드가 진행되지 않은 복수 개의 차이 해시 정보가 상기 디바이스에 저장된 상태에서, 상기 디바이스가 펌웨어 업그레이드를 진행할 경우, 업그레이드가 진행되지 않은 상기 신규 펌웨어가 소정의 숫자 이하이면, 상기 복수 개의 차이 해시 정보 중 먼저 전송된 차이 해시 정보와 대응되는 신규 펌웨어부터 차례로 업그레이드하며,
    상기 신규 펌웨어의 업그레이드가 진행되지 않은 복수 개의 차이 해시 정보가 상기 디바이스에 저장된 상태에서, 상기 디바이스가 펌웨어 업그레이드를 진행할 경우, 업그레이드가 진행되지 않은 상기 신규 펌웨어가 소정의 숫자를 초과하면, 상기 펌웨어 관리 시스템에 가장 최신의 신규 펌웨어를 요청하여 업그레이드를 진행하는,
    펌웨어 관리 시스템.
  8. 제7항에 있어서,
    상기 차이 정보 산출 모듈은,
    Xdelta를 활용하여 diff 데이터로 이루어진 상기 차이 정보를 산출하는,
    펌웨어 관리 시스템.
  9. 삭제
  10. 제7항에 있어서,
    상기 디바이스로 신규 펌웨어의 설치에 대한 무결성 여부를 확인하고 관리하는 무결성 확인 모듈;을 더 포함하는,
    펌웨어 관리 시스템.
KR1020210101731A 2021-08-03 2021-08-03 분산형 파일 시스템을 이용한 펌웨어 관리 시스템 및 펌웨어 관리 방법 KR102586649B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210101731A KR102586649B1 (ko) 2021-08-03 2021-08-03 분산형 파일 시스템을 이용한 펌웨어 관리 시스템 및 펌웨어 관리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210101731A KR102586649B1 (ko) 2021-08-03 2021-08-03 분산형 파일 시스템을 이용한 펌웨어 관리 시스템 및 펌웨어 관리 방법

Publications (2)

Publication Number Publication Date
KR20230020599A KR20230020599A (ko) 2023-02-13
KR102586649B1 true KR102586649B1 (ko) 2023-10-11

Family

ID=85202794

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210101731A KR102586649B1 (ko) 2021-08-03 2021-08-03 분산형 파일 시스템을 이용한 펌웨어 관리 시스템 및 펌웨어 관리 방법

Country Status (1)

Country Link
KR (1) KR102586649B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190391800A1 (en) * 2018-06-20 2019-12-26 Aptiv Technologies Limited Over-the-air (ota) mobility services platform
KR102146914B1 (ko) * 2019-04-23 2020-08-21 경기대학교 산학협력단 블록체인 기반 IoT 기기 펌웨어 배포 시스템

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1337917A4 (en) * 2000-11-17 2009-04-08 Hewlett Packard Development Co SYSTEM AND METHOD FOR UPDATING AND DISTRIBUTING INFORMATION
KR20170103318A (ko) * 2016-03-03 2017-09-13 한국전자통신연구원 IoT 디바이스를 위한 보안 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190391800A1 (en) * 2018-06-20 2019-12-26 Aptiv Technologies Limited Over-the-air (ota) mobility services platform
KR102146914B1 (ko) * 2019-04-23 2020-08-21 경기대학교 산학협력단 블록체인 기반 IoT 기기 펌웨어 배포 시스템

Also Published As

Publication number Publication date
KR20230020599A (ko) 2023-02-13

Similar Documents

Publication Publication Date Title
KR102026225B1 (ko) 블록 체인을 이용하여 데이터를 관리하는 장치 및 방법
US9294550B2 (en) Efficient data transfer for cloud storage by centralized management of access tokens
CN102804132B (zh) 基于目录的软件组件管理
CN108958787B (zh) 区块链系统升级方法、装置、设备及存储介质
CN111033468A (zh) 实施不同类型的区块链合约的系统和方法
CN103645910A (zh) 用于更新应用程序的方法
US20160364575A1 (en) Document state interface
US11797313B2 (en) Method for securely configuring an information system
US10212034B1 (en) Automated network change management
CN109391673A (zh) 一种管理更新文件的方法、系统及终端设备
CN112948340A (zh) 数据同步方法、装置、电子设备及可读存储介质
US20200153889A1 (en) Method for uploading and downloading file, and server for executing the same
EP3374858B1 (en) Creating and modifying applications from a mobile device
CN103294742A (zh) 用于在便携式终端中确定内容重复的装置和方法
KR20190110082A (ko) 블록 체인을 이용하여 데이터를 관리하는 장치 및 방법
CN110532016B (zh) 版本管理方法、版本更新方法和版本管理系统
CN110989934A (zh) 区块链节点数据存储方法、区块链系统及区块链节点
KR102586649B1 (ko) 분산형 파일 시스템을 이용한 펌웨어 관리 시스템 및 펌웨어 관리 방법
CN111353150B (zh) 一种可信启动方法、装置、电子设备及可读存储介质
WO2017036197A1 (zh) 一种网元模型管理方法及装置
KR102637173B1 (ko) 5g 모바일 에지 컴퓨팅 환경을 위한 블록체인 시스템, 장치 및 운영 방법
KR102156656B1 (ko) 가상머신 스택 생성 시스템 및 방법
CN112818426A (zh) 一种通过在线编程建模在线切片的联网3d打印技术
US20160259810A1 (en) Global file index
KR102510167B1 (ko) 플래시 메모리를 이용한 펌웨어 대용량 업데이트 개선 방법 및 이를 실행하기 위한 기록매체에 저장된 컴퓨터 프로그램

Legal Events

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