KR20230075885A - 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법 및 장치 - Google Patents

무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법 및 장치 Download PDF

Info

Publication number
KR20230075885A
KR20230075885A KR1020210162525A KR20210162525A KR20230075885A KR 20230075885 A KR20230075885 A KR 20230075885A KR 1020210162525 A KR1020210162525 A KR 1020210162525A KR 20210162525 A KR20210162525 A KR 20210162525A KR 20230075885 A KR20230075885 A KR 20230075885A
Authority
KR
South Korea
Prior art keywords
firmware
modems
clone
peripheral
image data
Prior art date
Application number
KR1020210162525A
Other languages
English (en)
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 KR1020210162525A priority Critical patent/KR20230075885A/ko
Priority to PCT/KR2021/017495 priority patent/WO2023095948A1/ko
Publication of KR20230075885A publication Critical patent/KR20230075885A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1854Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1868Measures taken after transmission, e.g. acknowledgments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/189Arrangements for providing special services to substations for broadcast or conference, e.g. multicast in combination with wireless systems
    • 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
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법 및 장치에 관한 것으로, 본 발명의 일 실시예에 따른 펌웨어 업그레이드를 위한 펌웨어 이미지 데이터를 수신하는 단계, 주변 모뎀들의 펌웨어 이미지 정보를 수집하는 단계, 및 상기 주변 모뎀들에 상기 주변 모뎀들의 업그레이드하기 위한 클론 이미지 데이터(Clone image data)를 브로드캐스트로 전송하는 단계를 포함한다.

Description

무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법 및 장치{METHOD AND APPARATUS FOR UPGRADING FIRMWARE REMOTELY IN WIRELESS MESH NETWORK}
본 발명은 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법 및 장치에 관한 것이다.
무선 메시 네트워크(Wireless Mesh Network, WMN)는 메시 네트워크의 일종이다. 무선 메시 네트워크는 메시 라우터들과 메시 보더 라우터(Border router)(110)라는 노드들로 이루어진 네트워크이다. 메시 라우터들이 무선 메시 네트워크의 핵심을 이룬다. 각 메시 라우터들은 1 이상의 홉을 거쳐 온 데이터들을, 무선 전송이 되는 한도 내에서, 이웃 라우터나 보더 라우터를 통해 상위 Back-bone Network(Internet)을 통해 목적지까지 전달해주거나 한다.
보통 메시 라우터들은 이동성이 없다. 메시 클라이언트는 이동성을 가질 수도 안 가질 수도 있다. 원격 검침 시스템에서 메시 노드는 전기 계량기에 연결 혹은 결합되어 있다.
도 1 내지 도 4는 실제 필드에 적용된 무선 메시 네트워크에서의 종래의 업그레이드 동작에 대한 예시이다.
도 1 내지 도 4에 도시된 바와 같이, 종래의 업그레이드 동작은 1:1 OTA(Over The Air) 방식에 따라 동작한다. 종래의 업그레이드 동작은 OTA의 주체인 서버 또는 DCU(Data Concentrator Unit)(110)에 의해 수행된다. 종래의 업그레이드 동작은 OTA의 주체가 되는 곳에서(예컨대, 서버 또는 DCU(Data Concentrator Unit)) 각 모뎀(120 내지 150))에게 1:1로 OTA를 반복적으로 실행한다. 예를 들어, 서버 또는 DCU(110)가 1번 모뎀(120)에 1:1로 OTA를 실행하여 완료한 후, OTA 업그레이드가 수행되지 않은 다음 모뎀들(130 내지 150)에 1:1로 OTA를 순차적으로 실행한다.
이러한 종래의 업그레이드 동작은 LLN(Low power and Lossy Network) 메시 네트워크의 특성상 자원이 한정적이기 때문에(예컨대, 통신 대역폭이 낮음), 모뎀을 하나씩 차례대로 업그레이드를 해야 하는 문제점이 있다. 한 번의 OTA 동작에 걸리는 시간이 많이 걸리지 않더라도, 실제 배치되어 있는 모뎀의 수가 매우 많기 때문에 전체적인 업그레이드 동작에 걸리는 시간은 기하급수적으로 증가하게 된다. 이와 같이, 종래의 업그레이드 동작은 모뎀 하나하나가 직접 상위로부터 이미지를 받아야 하기 때문에 그만큼 많은 데이터 및 트래픽 량이 소모된다는 문제점이 있다. 종래의 업그레이드 동작은 서버와 통신시 상용화된 망을 사용해야 하므로, 많은 데이터 및 트래픽 량이 소모됨에 따라 업그레이드 수량에 비례하여 통신 요금이 발생한다.
본 발명의 실시예들은 무선 메시 네트워크에서의 펌웨어 원격 업그레이드를 신속하고 효율적으로 수행하기 위한, 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법 및 장치를 제공하고자 한다.
다만, 본 발명의 해결하고자 하는 과제는 이에 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위의 환경에서도 다양하게 확장될 수 있을 것이다.
본 발명의 일 실시예에 따르면, 펌웨어 원격 업그레이드 장치에 의해 수행되는 펌웨어 원격 업그레이드 방법에 있어서, 펌웨어 업그레이드를 위한 펌웨어 이미지 데이터를 수신하는 단계; 주변 모뎀들의 펌웨어 이미지 정보를 수집하는 단계; 및 상기 주변 모뎀들에 상기 주변 모뎀들의 업그레이드하기 위한 클론 이미지 데이터(Clone image data)를 브로드캐스트로 전송하는 단계를 포함하는, 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법이 제공될 수 있다.
상기 펌웨어 이미지 정보를 수집하는 단계는, 상기 주변 모뎀들이 가지고 있는 펌웨어 이미지 정보를 요청하기 위한 클론 비컨 요청 프레임을 상기 주변 모뎀들에 전송하여 주변 모뎀들의 펌웨어 이미지 정보를 수집할 수 있다.
상기 클론 비컨 요청 프레임에는 업그레이드할 이미지 정보와 상기 주변 모뎀들이 패킷 충돌 방지를 위해 랜덤 딜레이 시드 값을 이용하여 랜덤 시간을 기다린 후에 클론 비컨 응답 프레임을 송신하기 위한 랜덤 딜레이 시드 값이 포함될 수 있다.
상기 방법은, 상기 수신된 펌웨어 이미지 데이터를 블록 비트 단위의 복수의 블록 데이터로 구분하여 관리하는 단계를 더 포함할 수 있다.
상기 방법은, 상기 클론 이미지 데이터의 브로드캐스트 전송 이후, 상기 주변 모뎀들의 펌웨어 이미지 정보를 확인하는 단계; 클론 이미지 데이터의 전체 블록 데이터를 수신받지 못한 주변 모뎀을 선택하는 단계; 및 상기 선택된 주변 모뎀이 수신받지 못한 클론 이미지 데이터의 블록 데이터를 상기 선택된 주변 모뎀에 유니캐스트로 전송하는 단계를 더 포함할 수 있다.
상기 주변 모뎀들의 펌웨어 이미지 정보를 확인하는 단계는, 상기 주변 모뎀들의 펌웨어 이미지 정보에서, 상기 클론 이미지 데이터의 전체 이미지 중에서 블록 비트로 표시되는 수신 이미지에 대한 제1 위치와 미수신 이미지에 대한 제2 위치를 확인할 수 있다.
상기 방법은, 상기 수집된 주변 모뎀들의 펌웨어 이미지 정보를 확인한 결과, 업그레이드 대상인 주변 모뎀이 기설정된 모뎀 개수 미만인 경우 상기 업그레이드 대상인 주변 모뎀을 선택하는 단계; 및 상기 선택된 업그레이드 대상인 주변 모뎀에 클론 이미지 데이터를 유니캐스트로 전송하는 단계를 더 포함할 수 있다.
한편, 본 발명의 다른 실시예에 따르면, 통신 모듈; 하나 이상의 프로그램을 저장하는 메모리; 및 상기 저장된 하나 이상의 프로그램을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 통신 모듈을 통해 펌웨어 업그레이드를 위한 펌웨어 이미지 데이터를 수신하고, 상기 통신 모듈을 통해 주변 모뎀들의 펌웨어 이미지 정보를 수집하고, 상기 통신 모듈을 통해 상기 주변 모뎀들에 상기 주변 모뎀들의 업그레이드하기 위한 클론 이미지 데이터(Clone image data)를 브로드캐스트로 전송하는, 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 장치가 제공될 수 있다.
상기 프로세서는, 상기 통신 모듈을 통해, 상기 주변 모뎀들이 가지고 있는 펌웨어 이미지 정보를 요청하기 위한 클론 비컨 요청 프레임을 상기 주변 모뎀들에 전송하여 주변 모뎀들의 펌웨어 이미지 정보를 수집할 수 있다.
상기 클론 비컨 요청 프레임에는 업그레이드할 이미지 정보와 상기 주변 모뎀들이 패킷 충돌 방지를 위해 랜덤 딜레이 시드 값을 이용하여 랜덤 시간을 기다린 후에 클론 비컨 응답 프레임을 송신하기 위한 랜덤 딜레이 시드 값이 포함될 수 있다.
상기 프로세서는, 상기 수신된 펌웨어 이미지 데이터를 블록 비트 단위의 복수의 블록 데이터로 구분하여 관리할 수 있다.
상기 프로세서는, 상기 클론 이미지 데이터의 브로드캐스트 전송 이후, 상기 주변 모뎀들의 펌웨어 이미지 정보를 확인하고, 클론 이미지 데이터의 전체 블록 데이터를 수신받지 못한 주변 모뎀을 선택하고, 상기 통신 모듈을 통해 상기 선택된 주변 모뎀이 수신받지 못한 클론 이미지 데이터의 블록 데이터를 상기 선택된 주변 모뎀에 유니캐스트로 전송할 수 있다.
상기 프로세서는, 상기 주변 모뎀들의 펌웨어 이미지 정보에서, 상기 클론 이미지 데이터의 전체 이미지 중에서 블록 비트로 표시되는 수신 이미지에 대한 제1 위치와 미수신 이미지에 대한 제2 위치를 확인할 수 있다.
상기 프로세서는, 상기 수집된 주변 모뎀들의 펌웨어 이미지 정보를 확인한 결과, 업그레이드 대상인 주변 모뎀이 기설정된 모뎀 개수 미만인 경우 상기 업그레이드 대상인 주변 모뎀을 선택하고, 상기 통신 모듈을 통해 상기 선택된 업그레이드 대상인 주변 모뎀에 클론 이미지 데이터를 유니캐스트로 전송할 수 있다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 실시예들은 무선 메시 네트워크에서의 펌웨어 원격 업그레이드를 신속하고 효율적으로 수행할 수 있다.
본 발명의 실시예들은 펌웨어 업그레이드를 위한 트래픽을 감소시킬 수 있다.
본 발명의 실시예들은 향상된 클론 OTA(Enhanced Clone OTA) 동작으로서, 브로드캐스트를 이용하여 밀집 지역에서의 중복 트래픽을 최소화할 수 있다. 클론 이미지 데이터를 브로드캐스트로 수신받는 모뎀들도 전체 클론 이미지 데이터 중 수신받지 못한 이미지 데이터 부분만 관리해서 알려주기 때문에 트래픽량이 현저히 줄어들고 통신 성공률도 증가할 수 있다.
본 발명의 실시예들은 펌웨어 업그레이드 시간을 단축시킬 수 있다. 본 발명의 실시예들은 브로드캐스트 전파를 통해 한 번에 여러 모뎀들이 이미지를 수신할 수 있기 때문에 그만큼 전체 네트워크 업그레이드 하는데 걸리는 시간이 단축될 수 있다.
본 발명의 실시예들은 통신 요금을 절약할 수 있다. 본 발명의 실시예들은 무선 메시 네트워크에서의 하나의 모뎀으로만 클론 이미지 데이터를 전송하면 모뎀끼리 브로드캐스트를 통해 클론 이미지 데이터를 주고받을 수 있기 때문에 통신 요금도 적게 들고 네트워크 수량과도 무관하다.
본 발명의 실시예들은 블록 단위로 클론 이미지 데이터를 관리할 수 있다. 본 발명의 실시예들은 전송받은 클론 이미지 데이터를 블록 단위로 관리함으로써 전체 클론 이미지 데이터 중에 수신받은 데이터, 수신받지 못한 클론 이미지 데이터를 판단할 수 있다. 이를 통해, 본 발명의 실시예들은 수신받지 못한 클론 이미지 데이터만 전송받음으로 인해 전체적인 전송 효율을 향상시킬 수 있다.
도 1 내지 도 4는 실제 필드에 적용된 무선 메시 네트워크에서의 종래의 업그레이드 동작에 대한 예시이다.
도 5 내지 도 8은 본 발명의 일 실시예에 따른 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 동작의 예시를 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따른 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법에서 주변 모뎀 정보 수집 단계를 나타낸 도면이다.
도 10은 본 발명의 일 실시예에 따른 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법에서 클론 이미지 브로드캐스트 단계를 나타낸 도면이다.
도 11은 본 발명의 일 실시예에 따른 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법에서 클론 이미지 유니캐스트 단계를 나타낸 도면이다.
도 12는 본 발명의 일 실시예에 따른 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법을 나타낸 흐름도이다.
도 13은 본 발명의 일 실시예에 따른 블록 비트 단위의 이미지 관리 예시를 나타낸 도면이다.
도 14는 본 발명의 일 실시예에 따른 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 장치를 나타낸 구성도이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 기술적 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해될 수 있다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들이 용어들에 의해 한정되는 것은 아니다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 본 발명에서 사용한 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나 이는 당 분야에 종사하는 기술자의 의도, 판례, 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 발명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 본 발명의 실시예들을 첨부 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 5 내지 도 8은 본 발명의 일 실시예에 따른 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 동작의 예시를 나타낸 도면이다.
도 5에 도시된 바와 같이, 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 동작은 서버 또는 DCU(200)가 무선 메시 네트워크에서의 하나의 모뎀(210)에 먼저 펌웨어 이미지 데이터를 1:1 OTA 방식을 통해 전송함으로써 개시된다. 여기서, 펌웨어 원격 업그레이드 동작은 향상된 클론 OTA(Enhanced Clone OTA)로 지칭될 수 있다. 펌웨어 이미지 데이터는 펌웨어 이미지와 동일한 클론 이미지 데이터로 지칭될 수 있다.
이후, 도 6에 도시된 바와 같이, 클론 이미지 데이터를 처음 수신받은 모뎀(210)은 자신의 펌웨어 데이터와 동일한 클론 이미지 데이터를 주변의 모뎀들(220 내지 240)에 전파하는 클론 프로세서를 실행한다. 클론 이미지 데이터를 수신받은 모뎀(210)은 클론을 시작할 때 이미지 브로드캐스트(Image Broadcast)로 주변 모뎀들(220 내지 240)에 클론 이미지 데이터를 전송한다. 일례로, 클론 이미지 데이터의 브로드캐스트 전송 이후, 일부 주변의 모뎀들(220 내지 240)은 클론 이미지 데이터를 100%만큼 수신받고, 다른 주변의 모뎀(250)은 클론 이미지 데이터를 80%만큼만 수신받을 수 있다.
도 7에 도시된 바와 같이, 클론 이미지 데이터를 처음 수신받은 모뎀(210)은 80%만큼만 수신받은 주변의 모뎀(250)을 확인한 후, 해당 주변의 모뎀(250)에 클론 이미지 데이터를 유니캐스트(Unicast)로 전송할 수 있다. 처음 수신받은 모뎀(210)은 각 주변 모뎀들을 확인하여 수신받지 못한 클론 이미지 데이터의 부분만을 1:1로 전송할 수 있다.
또한, 클론 이미지 데이터를 100%만큼 수신받은 주변의 모뎀들(220 내지 240)은 수신받은 클론 이미지 데이터와 동일한 클론 이미지 데이터를 이미지 브로드캐스트로 주변 모뎀들(260 내지 270)에 전송한다.
도 8에 도시된 바와 같이, 클론 이미지 데이터를 수신받은 모뎀(220)은 60%만큼만 수신받은 주변의 모뎀(270)을 확인한 후, 해당 주변의 모뎀(270)에 클론 이미지 데이터를 유니캐스트(Unicast)로 전송할 수 있다.
또한, 클론 이미지 데이터를 100%만큼 수신받은 주변의 모뎀들(260)은 수신받은 클론 이미지 데이터와 동일한 클론 이미지 데이터를 이미지 브로드캐스트로 다른 주변 모뎀들에 전송할 수 있다. 이때, 주변의 모뎀(280)은 도 6에 도시된 클론 동작에서 50%밖에 수신받지 못하였다. 하지만, 도 7 및 도 8과 같이 주변의 다른 모뎀들(220, 240)이 브로드캐스트로 동일한 클론 이미지 데이터를 전송하고 있다면, 클론을 당하는 모뎀(280)은 수신받지 못한 나머지 클론 이미지 데이터를 100%까지 채울 수 있다.
변형 실시예에서, 무선 메시 네트워크에서 중심 영역에 위치한 모뎀이 주변 모뎀들에 클론 이미지 데이터를 브로드캐스트로 전파할 수 있다. 이를 위해, 처음 수신받은 모뎀은 자신이 무선 메시 네트워크에서 중심 영역에 위치하는지를 확인한 후, 무선 메시 네트워크에서 중심 영역에 위치하지 않은 경우 중심 영역에 위치한 모뎀으로 클론 이미지 데이터를 유니캐스트로 전송할 수 있다. 이어서, 중심 영역에 위치한 모뎀이 주변 모뎀들에 클론 이미지 데이터를 브로드캐스트로 전파할 수 있다. 이는 무선 메시 네트워크에 위치한 모뎀들의 개수가 많기 때문에, 주변 영역부터 시작해서 전체 무선 메시 네트워크로 브로드캐스트로 전파되는 속도보다는 중심 영역부터 시작해서 방사형으로 전체 무선 메시 네트워크 전파되는 속도가 높을 수 있다. 주변 영역에 위치한 모뎀이 브로드캐스트로 전파하여 무선 메시 네트워크의 모든 모뎀에 전파하는 속도보다는 중심 영역에 위치한 모뎀이 브로드캐스트로 전파하는 속도가 높을 수 있다. 또는, 서버 또는 DCU(200)가 무선 메시 네트워크에서의 중심 영역에 위치한 모뎀에 먼저 펌웨어 이미지 데이터를 1:1 OTA 방식을 통해 전송하고, 그 중심 영역에 위치한 모뎀이 주변 모뎀들에 클론 이미지 데이터를 브로드캐스트로 전파할 수 있다.
이와 같이, 본 발명의 일 실시예에 따른 펌웨어 원격 업그레이드 동작은 펌웨어 업그레이드를 위한 트래픽을 감소시킬 수 있다. 종래 방식의 경우는 모뎀 하나하나가 직접 상위 서버나 DCU로부터 이미지 데이터를 받아야 하기 때문에, 그만큼 많은 데이터 및 트래픽 량이 소모된다.
반면, 본 발명의 일 실시예에 따른 펌웨어 원격 업그레이드 동작은 향상된 클론 OTA(Enhanced Clone OTA) 동작으로서, 브로드캐스트를 이용하여 밀집 지역에서의 중복 트래픽을 최소화할 수 있다. 클론 이미지 데이터를 브로드캐스트로 수신받는 모뎀들도 전체 클론 이미지 데이터 중 수신받지 못한 이미지 데이터 부분만 관리해서 알려주기 때문에 트래픽량이 현저히 줄어들고 통신 성공률도 증가할 수 있다.
본 발명의 일 실시예에 따른 펌웨어 원격 업그레이드 동작은 펌웨어 업그레이드 시간을 단축시킬 수 있다. 펌웨어 원격 업그레이드 동작은 브로드캐스트 전파를 통해 한 번에 여러 모뎀들이 이미지를 수신할 수 있기 때문에 그만큼 전체 네트워크 업그레이드 하는데 걸리는 시간이 단축될 수 있다.
본 발명의 일 실시예에 따른 펌웨어 원격 업그레이드 동작은 통신 요금을 절약할 수 있다. 모뎀은 서버 또는 DCU와 통신시 상용화된 망을 사용해야 하므로 업그레이드 수량에 비례하여 통신 요금이 발생한다. 본 발명의 일 실시예에 따른 펌웨어 원격 업그레이드 동작은 무선 메시 네트워크에서의 하나의 모뎀으로만 클론 이미지 데이터를 전송하면 모뎀끼리 브로드캐스트를 통해 클론 이미지 데이터를 주고받을 수 있기 때문에 통신 요금도 적게 들고 네트워크 수량과도 무관하다.
본 발명의 일 실시예에 따른 펌웨어 원격 업그레이드 동작은 블록 단위로 클론 이미지 데이터를 관리할 수 있다. 펌웨어 원격 업그레이드 동작은 전송받은 클론 이미지 데이터를 블록 단위로 관리함으로써 전체 클론 이미지 데이터 중에 수신받은 데이터, 수신받지 못한 클론 이미지 데이터를 판단할 수 있다. 이를 통해, 펌웨어 원격 업그레이드 동작은 수신받지 못한 클론 이미지 데이터만 전송받음으로 인해 전체적인 전송 효율을 향상시킬 수 있다.
한편, 본 발명의 일 실시예에 따른 펌웨어 원격 업그레이드 동작은 저전력의 손실이 많이 발생하는 네트워크(Low power and Lossy Network; LLN)와 같이 저속이면서 메시 네트워크를 사용하는 N:N 통신 환경에 적용될 수 있다. 원격 검침용 무선 메시 네트워크에서는 모든 모뎀이 동일한 펌웨어(FW, Firmware) 이미지 데이터로 동일한 동작을 하기 때문에 이와 같은 클론 이미지 데이터의 전파 기술을 적용할 수 있다.
본 발명의 일 실시예에 따른 펌웨어 원격 업그레이드 동작은 주변 모뎀의 정보를 수집하는 주변 모뎀의 정보 수집 단계(비컨 수집 단계), 브로드캐스트로 클론 이미지 데이터를 전파하는 클론 이미지 브로드캐스트 단계(클론 단계 1), 블록 단위의 클론 이미지 데이터의 관리로 인해 전송하지 못한 클론 이미지 데이터의 영역만 선택하여 클론 이미지 데이터를 전송하는 클론 이미지 유니캐스트 단계(클론 단계 2)를 포함할 수 있다. 이하, 본 발명의 일 실시예에 따른 펌웨어 원격 업그레이드 동작을 도 9 내지 도 11을 참조하여 설명하기로 한다.
도 9는 본 발명의 일 실시예에 따른 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법에서 주변 모뎀 정보 수집 단계를 나타낸 도면이다.
이하, 무선 메시 네트워크에서 펌웨어 원격 업그레이드 방법을 주체적으로 수행하는 모뎀을 코디네이터로 지칭하고, 주변 모뎀들을 라우터로 지칭하기로 할 수 있다.
단계 S101에서, 클론 OTA를 진행하는 노드인 코디네이터(310)는 비컨 수집 단계(주변 모뎀 정보 수집 단계)를 개시한다.
단계 S102에서, 코디네이터(310)는 자기 주변의 노드들의 펌웨어 정보를 수집하기 위해, 클론 비컨 요청 프레임을 브로드캐스트로 N 개의 라우터*N(320)에 전파한다.
단계 S103에서, 각 라우터*N(320)는 자신의 펌웨어 정보를 랜덤 지연 시간을 가지고 클론 비컨 응답 프레임을 코디네이터(310)로 전송한다.
단계 S104에서, 코디네이터(310)는 수집된 각 라우터*N(320)의 펌웨어 정보를 저장하기 위한 클론 테이블을 생성하고, 그 클론 테이블에 각 라우터*N(320)의 펌웨어 정보를 저장한다.
이후, 저장된 클론 테이블의 노드들인 라우터*N(320)을 기준으로 도 10에 도시된 클론 이미지 브로드캐스트 단계를 수행한다.
도 10은 본 발명의 일 실시예에 따른 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법에서 클론 이미지 브로드캐스트 단계를 나타낸 도면이다.
단계 S201에서, 클론 OTA를 진행하는 노드인 코디네이터(310)는 클론 단계 1(클론 이미지 브로드캐스트 단계)을 개시한다.
단계 S202 내지 S204에서, 코디네이터(310)는 자기 주변의 노드들인 N 개의 라우터*N(320)에 클론할 이미지인 클론 이미지 데이터를 브로드캐스트로 각각 전파한다.
단계 S205에서, 클론 OTA를 진행하는 노드인 코디네이터(310)는 클론 단계 1(클론 이미지 브로드캐스트 단계)을 종료한다.
도 11은 본 발명의 일 실시예에 따른 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법에서 클론 이미지 유니캐스트 단계를 나타낸 도면이다.
단계 S301에서, 도 10과 같이 클론 OTA를 진행한 노드인 코디네이터(310)는 클론 단계 2(클론 이미지 유니캐스트 단계)를 개시하기 위해, 타겟이 되는 노드를 라우터*N(320) 중에서 적어도 하나의 타겟 모뎀으로 선택한다.
단계 S302에서, 코디네이터(310)는 타겟 모뎀으로 선택된 라우터에 대해 클론 비컨 요청 프레임을 유니캐스트로 전송한다.
단계 S303에서, 타겟 모뎀으로 선택된 라우터는 클론 비컨 응답 프레임을 코디네이터(310)에 전송한다. 코디네이터(310)는 라우터로부터 수신된 클론 비컨 응답 프레임을 통해 전체 클론 이미지 데이터에서 수신받지 못한 부분만을 파악할 수 있다.
단계 S304에서, 코디네이터(310)는 타겟 모뎀으로 선택된 라우터에 수신받지 못한 클론 이미지 데이터의 해당 부분만을 전송한다.
단계 S305에서, 타겟 모뎀으로 선택된 라우터는 클론 이미지 데이터 응답 프레임을 코디네이터(310)에 전송한다.
이후, 단계 S306 및 단계 S307과 같이, 코디네이터(310)가 타겟 모뎀으로 선택된 라우터에 수신받지 못한 클론 이미지 데이터의 해당 부분만을 전송하고, 타겟 모뎀으로 선택된 라우터가 클론 이미지 데이터 응답 프레임을 코디네이터(310)에 전송하는 동작이 반복적으로 수행될 수 있다.
단계 S308에서, 코디네이터(310)는 주변 모뎀들인 라우터*N(320)이 수신받은 클론 이미지 데이터가 100%로 완료될 때까지 클론 단계 2를 반복적으로 수행할 수 있다.
이와 같이, 클론 단계 2(클론 이미지 유니캐스트 단계)는 도 9에 도시된 정보 수집 단계에서 수집한 주변 모뎀들을 대상으로 도 10에 도시된 클론 이미지 브로드캐스트 단계에서 전체 수신하지 못한 주변 모뎀들을 파악하여 1:1로 클론 이미지 데이터의 전송을 시도한다. 이때, 코디네이터(310)는 전체 클론 이미지 데이터를 전송하는 것이 아닌 상대방이 수신받지 못한 클론 이미지 데이터의 부분만을 파악하여 해당 부분만 선택된 모뎀들에 전송할 수 있다.
이때, 이미 다른 모뎀으로부터 클론 이미지 데이터를 수신받고 있던 주변 모뎀이 있을 수 있다. 이러한 주변 모뎀은 클론 비컨 요청을 무시하기 때문에 클론 이미지 데이터를 보내는 코디네이터(310)의 선택 대상에서 제외되어 네트워크의 불필요한 중복 전송을 방지할 수 있다.
한편, 클론 이미지 유니캐스트 단계 이후, 클론 이미지 유니캐스트 단계에서 에서 클론 테이블의 모든 대상인 주변 모뎀에 클론 동작 시도를 완료한 후에는 클론 프로세서의 라이프타임(lifetime)이 남아있는 한 계속하여 도 9 내지 도 11에 도시된 단계를 반복적으로 시도할 수 있다.
도 12는 본 발명의 일 실시예에 따른 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법을 나타낸 흐름도이다.
단계 S401에서, 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법이 시작된다. 여기서, 펌웨어 원격 업그레이드 방법은 펌웨어 원격 업그레이드 동작을 수행하기 위한 펌웨어 원격 업그레이드 장치에 의해 수행될 수 있다. 펌웨어 원격 업그레이드 장치는 무선 메시 네트워크에서의 모든 모뎀들에 공통적으로 포함될 수 있다. 펌웨어 원격 업그레이드 장치가 포함된 임의의 모뎀이 코디네이터(310)의 펌웨어 원격 업그레이드 동작을 수행할 수 있다. 일례로, 펌웨어 원격 업그레이드 장치는 도 5에 도시된 서버 또는 DCU로부터 처음 클론 이미지 데이터를 수신받은 모뎀에서 도 9 내지 도 11에 도시된 코디네이터(310)와 같이 동작할 수 있다.
단계 S402에서, 펌웨어 원격 업그레이드 장치는 펌웨어 원격 업그레이드를 위한 클론 프로세서를 시작한다.
단계 S403에서, 펌웨어 원격 업그레이드 장치는 클론 비컨 요청 프레임을 브로드캐스트로 전송한다. 클론 비컨 요청 프레임은 주변 모뎀들에 브로드캐스트로 전송되며, 전송하는 이미지 정보가 포함되고, 클론 프로세서 정보도 포함될 수 있다.
단계 S404에서, 펌웨어 원격 업그레이드 장치는 기설정된 시간(예컨대, X초 등) 만큼 대기하고, 대기 중인 비컨 수신시 업그레이드 대상 모뎀의 이미지 정보를 저장한다. 업그레이드 대상 모뎀들인 주변 모뎀들이 현재까지 수신한 이미지 정보가 포함될 수 있다.
단계 S405에서, 펌웨어 원격 업그레이드 장치는 업그레이드 대상 모뎀이 존재하는지를 확인한다.
단계 S406에서, 펌웨어 원격 업그레이드 장치는 업그레이드 대상이 존재하는 경우, 업그레이드 대상 모뎀이 3개 이상 존재하는지를 확인한다. 펌웨어 원격 업그레이드 장치는 업그레이드 대상 모뎀이 존재하지 않는 경우, 재시도 여부를 확인하는 단계 S416을 수행한다. 만약, 재시도 동작으로 확인되면, 펌웨어 원격 업그레이드 장치는 클론 비컨 요청 프레임을 전송하는 단계 S403부터 다시 수행한다. 반면, 재시도 동작이 필요하지 않은 것으로 확인되면, 펌웨어 원격 업그레이드 장치는 펌웨어 원격 업그레이드 동작을 종료하는 단계 S415를 수행한다.
단계 S407에서, 펌웨어 원격 업그레이드 장치는 업그레이드 대상 모뎀이 3개 이상 존재하는 경우, 클론 이미지 데이터를 브로드캐스트로 전파한다.
단계 S408에서, 펌웨어 원격 업그레이드 장치는 업그레이드 대상 모뎀이 3개 이상 존재하지 않는 경우, 3개 미만의 업그레이드 대상 모뎀을 선택한다. 클론 이미지 데이터의 브로드캐스트 전파 동작이 완료된 이후, 펌웨어 원격 업그레이드 장치는 업그레이드 대상 모뎀을 선택하는 단계 S408을 수행한다.
단계 S409에서, 펌웨어 원격 업그레이드 장치는 주변 모뎀들에 클론 비컨 요청 프레임을 전송하여 수신된 펌웨어 이미지 정보로부터 주변 모뎀들의 이미지 수신 상태를 확인할 수 있다. 클론 비컨 요청 프레임은 전송하는 이미지 정보가 포함되고, 클론 프로세서 정보도 포함될 수 있다.
단계 S410에서, 펌웨어 원격 업그레이드 장치는 클론 비컨 응답 프레임이 수신되는지를 확인한다. 클론 비컨 응답 프레임에는 현재까지 수신한 업그레이드 대상 모뎀의 이미지 정보가 포함될 수 있다. 업그레이드 대상 모뎀은 이미 다른 모뎀으로부터 클론 이미지 데이터를 수신받고 있는 상태이면 응답을 안할 수 있다.
단계 S411에서, 펌웨어 원격 업그레이드 장치는 클론 비컨 응답 프레임이 수신되는 경우, 업그레이드 대상 모뎀인 주변 모뎀의 클론 이미지 데이터의 수신이 완료되는지를 확인한다. 펌웨어 원격 업그레이드 장치는 클론 비컨 응답 프레임이 수신되지 않는 경우, 업그레이드 대상 모뎀이 존재하는지를 확인하는 단계 S414를 수행한다.
단계 S412에서, 펌웨어 원격 업그레이드 장치는 업그레이드 대상 모뎀이 가지고 있는 이미지 정보로부터 클론 이미지 데이터의 수신이 완료되지 않은 경우, 클론 이미지 데이터의 유니캐스트 진행을 수행한다. 펌웨어 원격 업그레이드 장치는 업그레이드 대상 모뎀에 클론 이미지 데이터를 수신받지 못한 부분만을 유니캐스트로 전송할 수 있다.
단계 S413에서, 펌웨어 원격 업그레이드 장치는 단계 S412 수행 이후, 업그레이드 대상 모뎀의 업그레이드를 종료한다. 또한, 펌웨어 원격 업그레이드 장치는 클론 이미지 데이터의 수신이 완료되는 경우, 업그레이드 대상 모뎀의 업그레이드를 종료한다.
단계 S414에서, 펌웨어 원격 업그레이드 장치는 업그레이드 대상 모뎀이 존재하는지를 확인한다.
단계 S415에서, 펌웨어 원격 업그레이드 장치는 업그레이드 대상 모뎀이 존재하지 않는 경우, 펌웨어 원격 업그레이드 동작을 종료한다. 펌웨어 원격 업그레이드 장치는 업그레이드 대상 모뎀이 존재하는 경우, 펌웨어 원격 업그레이드를 위한 업그레이드 대상 모뎀을 선택하는 단계 S408부터 다시 수행한다.
도 13은 본 발명의 일 실시예에 따른 블록 비트 단위의 이미지 관리 예시를 나타낸 도면이다.
펌웨어 원격 업그레이드 장치는 블록 비트(Block Bit) 단위로 클론 이미지 데이터를 관리한다. 즉, 무선 메시 네트워크에서의 모든 모뎀은 펌웨어 원격 업그레이드 장치가 포함되어 동작될 수 있으므로, 클론 이미지 데이터를 특정 크기의 블록 비트 단위로 관리할 수 있다. 펌웨어 원격 업그레이드 장치는 클론 이미지 데이터를 수신하면 수신한 클론 이미지 데이터에 대한 위치를 블록 비트에 표시함으로써 전체 클론 이미지 데이터 중에서 수신받은 부분(420)과 수신받지 못한 부분(410)을 구분할 수 있다.
아래 설정은 모뎀 등의 소형 임베디드 장치에서 주로 사용하는 비휘발성 메모리(non-volatile memory, NVM)인 플래시 메모리(Flash Memory)의 특성을 고려하여 설정된 값이다.
일 실시예에서, 전체 이미지 블록 사이즈(Total Image Block Size)는 4096 바이트(bytes)(1 플래시 메모리 페이즈 사이즈(Flash Memory Page Size))이고, 전체 이미지 블록 비트(Total Image Block Bits)는 32,768 비트(bits)이다. 여기서, 1바이트는 8 비트이다. 1 비트(Bit)는 1 블록(Block)을 나타낼 수 있다. 1블록은 32 바이트 이미지 사이즈(bytes image size)를 나타낼 수 있다.
위 설정대로 적용하여 1개의 블록 비트(Block Bit)는 32바이트의 이미지 크기를 의미할 수 있다. 전체 블록 비트 개수는 32,768 개 이므로 32,768 × 32 = 1,048,576(1 Megabyte) 이다.
도 14는 본 발명의 일 실시예에 따른 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 장치를 나타낸 구성도이다.
도 14에 도시된 바와 같이, 본 발명의 일 실시예에 따른 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 장치(500)는 통신 모듈(510), 메모리(520) 및 프로세서(530)를 포함한다. 그러나 도시된 구성요소 모두가 필수 구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 펌웨어 원격 업그레이드 장치(500)가 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 펌웨어 원격 업그레이드 장치(500)가 구현될 수 있다.
이하, 도 14의 펌웨어 원격 업그레이드 장치(500)의 각 구성요소들의 구체적인 구성 및 동작을 설명한다.
통신 모듈(510)은 서버 또는 DCU와 통신할 수 있다. 또한, 통신 모듈(510)은 주변 모뎀들과 통신할 수 있다. 이를 통해, 통신 모듈(510)은 펌웨어 업그레이드를 위한 펌웨어 이미지 데이터를 송수신할 수 있다.
메모리(520)는 펌웨어 원격 업그레이드 동작과 관련된 하나 이상의 프로그램을 저장한다.
프로세서(530)는 메모리(520)에 저장된 하나 이상의 프로그램을 실행한다. 프로세서(530)는 통신 모듈(510)을 통해 펌웨어 업그레이드를 위한 펌웨어 이미지 데이터를 수신하고, 통신 모듈(510)을 통해 주변 모뎀들의 펌웨어 이미지 정보를 수집하고, 통신 모듈(510)을 통해 주변 모뎀들에 주변 모뎀들의 업그레이드하기 위한 클론 이미지 데이터(Clone image data)를 브로드캐스트로 전송한다.
실시예들에 따르면, 프로세서(530)는 통신 모듈(510)을 통해, 주변 모뎀들이 가지고 있는 펌웨어 이미지 정보를 요청하기 위한 클론 비컨 요청 프레임을 주변 모뎀들에 전송하여 주변 모뎀들의 펌웨어 이미지 정보를 수집할 수 있다.
실시예들에 따르면, 클론 비컨 요청 프레임에는 업그레이드할 이미지 정보와 주변 모뎀들이 패킷 충돌 방지를 위해 랜덤 딜레이 시드 값을 이용하여 랜덤 시간을 기다린 후에 클론 비컨 응답 프레임을 송신하기 위한 랜덤 딜레이 시드 값이 포함될 수 있다.
실시예들에 따르면, 프로세서(530)는 수신된 펌웨어 이미지 데이터를 블록 비트 단위의 복수의 블록 데이터로 구분하여 관리할 수 있다.
실시예들에 따르면, 프로세서(530)는 클론 이미지 데이터의 브로드캐스트 전송 이후, 주변 모뎀들의 펌웨어 이미지 정보를 확인하고, 클론 이미지 데이터의 전체 블록 데이터를 수신받지 못한 주변 모뎀을 선택하고, 통신 모듈(510)을 통해 선택된 주변 모뎀이 수신받지 못한 클론 이미지 데이터의 블록 데이터를 선택된 주변 모뎀에 유니캐스트로 전송할 수 있다.
실시예들에 따르면, 프로세서(530)는 주변 모뎀들의 펌웨어 이미지 정보에서, 클론 이미지 데이터의 전체 이미지 중에서 블록 비트로 표시되는 수신 이미지에 대한 제1 위치와 미수신 이미지에 대한 제2 위치를 확인할 수 있다.
실시예들에 따르면, 프로세서(530)는 수집된 주변 모뎀들의 펌웨어 이미지 정보를 확인한 결과, 업그레이드 대상인 주변 모뎀이 기설정된 모뎀 개수 미만인 경우 업그레이드 대상인 주변 모뎀을 선택하고, 통신 모듈(510)을 통해 선택된 업그레이드 대상인 주변 모뎀에 클론 이미지 데이터를 유니캐스트로 전송할 수 있다.
한편, 본 발명의 일 실시예에 따른 펌웨어 원격 업그레이드 방법에 사용되는 프레임 포맷(Frame format)에 대해 설명하기로 한다. 펌웨어 원격 업그레이드 방법은 기본적으로 IEEE 802.15.4 표준의 MAC 커맨드(command)와 IE 프레임을 이용하여 정보를 교환한다. IE의 콘텐츠(Content) 내의 기본 단위는 바이트이며 2바이트 이상의 모든 데이터는 802.15.4 표준의 앤디언(Endian)을 따른다(LSB). 앤디언(Endian)은 최하위 비트(least significant bit, LSB)를 따른다.
펌웨어 원격 업그레이드 방법에 사용되는 프레임들에는 브로드캐스트 방식의 클론 비컨 요청(Clone Beacon Request), 유니캐스트 방식의 클론 비컨 요청(Clone Beacon Request), 클론 비컨 응답(Clone Beacon Response), 브로드캐스트 또는 유니캐스트 방식의 클론 이미지 데이터(Clone Image Data), 클론 이미지 데이터 응답(Clone Image Data Response)이 포함될 수 있다.
브로드캐스트 방식의 클론 비컨 요청(Clone Beacon Request) 프레임은 업그레이드할 이미지 정보를 전파함과 동시에 주변 모뎀으로부터 각 모뎀들이 가지고 있는 이미지 정보를 요청하는 프레임이다. 이 프레임에는 이미지 정보와 랜덤 딜레이 시드 값이 포함되어 있다. 브로드캐스트 메시지이므로 해당 메시지를 수신한 모든 모뎀들은 클론 비컨 요청을 통해 자신의 이미지 정보를 응답으로 전송한다. 이미지 정보에는 이미지 이름, 이미지 전체 크기, 수신해야 할 다음 이미지 주소 및 이미지 CRC값 중에서 적어도 하나가 포함될 수 있다.
유니캐스트 방식의 클론 비컨 요청(Clone Beacon Request) 프레임은 업그레이드할 이미지 정보를 전파함과 동시에 대상 모뎀이 가지고 있는 이미지 정보를 요청하는 프레임이다. 유니캐스트(Unicast) 메시지이므로 지정된 대상 모뎀만 클론 비컨 요청(Clone Beacon Response) 프레임으로 응답을 준다. 프레임 구성은 브로드캐스트 방식과 동일한다.
클론 비컨 응답(Clone Beacon Response) 프레임은 클론 비컨 요청(Clone Beacon Request)에 대한 응답 프레임이다. 브로드캐스트 방식의 클론 비컨 요청(Clone Beacon Request(Broadcast))에 대한 응답을 전송할 때는 패킷 충돌을 방지하기 위해, 클론 비컨 요청(Clone Beacon Request)에 있는 랜덤 딜레이 시드 값을 이용하여 랜덤 시간을 기다린 뒤에 전송한다. 이 프레임에는 자신이 받아야 할 다음 데이터 오프셋과 받아야 할 데이터 크기가 포함될 수 있다.
클론 이미지 데이터(Clone Image Data(Broadcast/Unicast)) 프레임은 실제 이미지 정보가 들어있는 프레임으로서, 이미지 데이터, 전송하는 이미지 데이터 크기, 이미지 데이터 오프셋 값이 포함되어 있다. 여기서, 브로드캐스트 방식의 클론 이미지 데이터 프레임은 브로드캐스트 프레임으로 모든 대상 모뎀에 전송한다. 유니캐스트 방식의 클론 이미지 데이터 프레임은 유니캐스트 프레임으로 특정 대상 모뎀 에만 전송할 수 있다.
클론 이미지 데이터 응답(Clone Image Data Response) 프레임은 유니캐스트 방식의 클론 이미지 데이터(Clone Image Data(Unicast))에 대한 응답으로 클론 비컨 응답(Clone Beacon Response) 프레임과 동일하게 자신이 받아야 할 다음 데이터 오프셋과 받아야 할 데이터 크기가 포함되어 있다.
한편, 상술한 방법은 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램으로 제공될 수 있다. 본 발명의 일 실시예에 따르면, 이상에서 설명된 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 전자 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 본 발명의 일 실시예에 따르면, 이상에서 설명된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 본 발명의 일 실시예에 따르면, 이상에서 설명된 다양한 실시예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 다양한 실시예들에 따른 기기의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시예에 따른 기기에서의 처리 동작을 특정 기기가 수행하도록 한다. 비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
또한, 상술한 다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
110, 200: 서버 또는 DCU
310: 코디네이터
320: 라우터*N
500: 펌웨어 원격 업그레이드 장치
510: 통신 모듈
520: 메모리
530: 프로세서

Claims (14)

  1. 펌웨어 원격 업그레이드 장치에 의해 수행되는 펌웨어 원격 업그레이드 방법에 있어서,
    펌웨어 업그레이드를 위한 펌웨어 이미지 데이터를 수신하는 단계;
    주변 모뎀들의 펌웨어 이미지 정보를 수집하는 단계; 및
    상기 주변 모뎀들에 상기 주변 모뎀들의 업그레이드하기 위한 클론 이미지 데이터(Clone image data)를 브로드캐스트로 전송하는 단계를 포함하는, 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법.
  2. 제1항에 있어서,
    상기 펌웨어 이미지 정보를 수집하는 단계는,
    상기 주변 모뎀들이 가지고 있는 펌웨어 이미지 정보를 요청하기 위한 클론 비컨 요청 프레임을 상기 주변 모뎀들에 전송하여 주변 모뎀들의 펌웨어 이미지 정보를 수집하는, 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법.
  3. 제2항에 있어서,
    상기 클론 비컨 요청 프레임에는 업그레이드할 이미지 정보와 상기 주변 모뎀들이 패킷 충돌 방지를 위해 랜덤 딜레이 시드 값을 이용하여 랜덤 시간을 기다린 후에 클론 비컨 응답 프레임을 송신하기 위한 랜덤 딜레이 시드 값이 포함되는, 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법.
  4. 제1항에 있어서,
    상기 수신된 펌웨어 이미지 데이터를 블록 비트 단위의 복수의 블록 데이터로 구분하여 관리하는 단계를 더 포함하는, 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법.
  5. 제1항에 있어서,
    상기 클론 이미지 데이터의 브로드캐스트 전송 이후, 상기 주변 모뎀들의 펌웨어 이미지 정보를 확인하는 단계;
    클론 이미지 데이터의 전체 블록 데이터를 수신받지 못한 주변 모뎀을 선택하는 단계; 및
    상기 선택된 주변 모뎀이 수신받지 못한 클론 이미지 데이터의 블록 데이터를 상기 선택된 주변 모뎀에 유니캐스트로 전송하는 단계를 더 포함하는, 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법.
  6. 제1항에 있어서,
    상기 주변 모뎀들의 펌웨어 이미지 정보를 확인하는 단계는,
    상기 주변 모뎀들의 펌웨어 이미지 정보에서, 상기 클론 이미지 데이터의 전체 이미지 중에서 블록 비트로 표시되는 수신 이미지에 대한 제1 위치와 미수신 이미지에 대한 제2 위치를 확인하는, 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법.
  7. 제1항에 있어서,
    상기 수집된 주변 모뎀들의 펌웨어 이미지 정보를 확인한 결과, 업그레이드 대상인 주변 모뎀이 기설정된 모뎀 개수 미만인 경우 상기 업그레이드 대상인 주변 모뎀을 선택하는 단계; 및
    상기 선택된 업그레이드 대상인 주변 모뎀에 클론 이미지 데이터를 유니캐스트로 전송하는 단계를 더 포함하는, 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법.
  8. 통신 모듈;
    하나 이상의 프로그램을 저장하는 메모리; 및
    상기 저장된 하나 이상의 프로그램을 실행하는 프로세서를 포함하고,
    상기 프로세서는,
    상기 통신 모듈을 통해 펌웨어 업그레이드를 위한 펌웨어 이미지 데이터를 수신하고,
    상기 통신 모듈을 통해 주변 모뎀들의 펌웨어 이미지 정보를 수집하고,
    상기 통신 모듈을 통해 상기 주변 모뎀들에 상기 주변 모뎀들의 업그레이드하기 위한 클론 이미지 데이터(Clone image data)를 브로드캐스트로 전송하는, 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 장치.
  9. 제8항에 있어서,
    상기 프로세서는,
    상기 통신 모듈을 통해, 상기 주변 모뎀들이 가지고 있는 펌웨어 이미지 정보를 요청하기 위한 클론 비컨 요청 프레임을 상기 주변 모뎀들에 전송하여 주변 모뎀들의 펌웨어 이미지 정보를 수집하는, 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 장치.
  10. 제9항에 있어서,
    상기 클론 비컨 요청 프레임에는 업그레이드할 이미지 정보와 상기 주변 모뎀들이 패킷 충돌 방지를 위해 랜덤 딜레이 시드 값을 이용하여 랜덤 시간을 기다린 후에 클론 비컨 응답 프레임을 송신하기 위한 랜덤 딜레이 시드 값이 포함되는, 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 장치.
  11. 제8항에 있어서,
    상기 프로세서는,
    상기 수신된 펌웨어 이미지 데이터를 블록 비트 단위의 복수의 블록 데이터로 구분하여 관리하는, 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 장치.
  12. 제8항에 있어서,
    상기 프로세서는,
    상기 클론 이미지 데이터의 브로드캐스트 전송 이후, 상기 주변 모뎀들의 펌웨어 이미지 정보를 확인하고, 클론 이미지 데이터의 전체 블록 데이터를 수신받지 못한 주변 모뎀을 선택하고, 상기 통신 모듈을 통해 상기 선택된 주변 모뎀이 수신받지 못한 클론 이미지 데이터의 블록 데이터를 상기 선택된 주변 모뎀에 유니캐스트로 전송하는, 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 장치.
  13. 제8항에 있어서,
    상기 프로세서는,
    상기 주변 모뎀들의 펌웨어 이미지 정보에서, 상기 클론 이미지 데이터의 전체 이미지 중에서 블록 비트로 표시되는 수신 이미지에 대한 제1 위치와 미수신 이미지에 대한 제2 위치를 확인하는, 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 장치.
  14. 제8항에 있어서,
    상기 프로세서는,
    상기 수집된 주변 모뎀들의 펌웨어 이미지 정보를 확인한 결과, 업그레이드 대상인 주변 모뎀이 기설정된 모뎀 개수 미만인 경우 상기 업그레이드 대상인 주변 모뎀을 선택하고, 상기 통신 모듈을 통해 상기 선택된 업그레이드 대상인 주변 모뎀에 클론 이미지 데이터를 유니캐스트로 전송하는, 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 장치.
KR1020210162525A 2021-11-23 2021-11-23 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법 및 장치 KR20230075885A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210162525A KR20230075885A (ko) 2021-11-23 2021-11-23 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법 및 장치
PCT/KR2021/017495 WO2023095948A1 (ko) 2021-11-23 2021-11-25 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210162525A KR20230075885A (ko) 2021-11-23 2021-11-23 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20230075885A true KR20230075885A (ko) 2023-05-31

Family

ID=86539812

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210162525A KR20230075885A (ko) 2021-11-23 2021-11-23 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법 및 장치

Country Status (2)

Country Link
KR (1) KR20230075885A (ko)
WO (1) WO2023095948A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7639661B2 (en) * 2003-05-16 2009-12-29 Sony Corporation Radio communication system, radio communication apparatus, radio communication method, and computer program
KR20090062317A (ko) * 2007-12-12 2009-06-17 한국전자통신연구원 멀티홉 무선망에서 시스템 업그레이드 방법 및 시스템
KR101495749B1 (ko) * 2013-05-02 2015-02-25 (주)누리텔레콤 원격 검침 시스템에서 노드 업그레이드 방법 및 그 장치
KR20140133242A (ko) * 2013-05-10 2014-11-19 (주)누리텔레콤 원격 검침 시스템을 이용한 펌웨어 업그레이드 방법 및 그 장치
CN109791485B (zh) * 2016-09-14 2023-03-28 霍尼韦尔国际公司 基于网状网络的空中调制解调器固件升级

Also Published As

Publication number Publication date
WO2023095948A1 (ko) 2023-06-01

Similar Documents

Publication Publication Date Title
WO2018202177A1 (zh) Zigbee设备的固件升级方法和装置
CN110149370A (zh) 一种升级文件下载方法及装置
JP6274584B2 (ja) 広告処理方法及び装置
CN104243586A (zh) 内容共享方法、内容共享装置,以及内容共享设备
KR101599696B1 (ko) 애드-혹 무선 네트워크들에서 관리 정보의 통신을 위한 디바이스 및 방법
CN104954271A (zh) Sdn网络中的数据包处理方法和装置
CN110493028A (zh) 一种集群部署方法、系统、装置及计算机可读存储介质
CN105721941A (zh) 云电视的空中下载升级控制方法和装置
CN105245528A (zh) 一种基于用户数据报协议(udp)的控制命令传输方法、发送端和接收端
CN109150741A (zh) 报文发送方法、装置、电子设备及存储介质
CN105979505A (zh) 一种空中下载的方法及装置
CN111669322B (zh) 一种中继器桥接方法和网关
CN112422485B (zh) 一种传输控制协议的通信方法及装置
JP4469285B2 (ja) 映像表示システム及び映像表示装置
CN101860976B (zh) 实现用户设备本地ip接入的方法、设备及系统
CN111885564B (zh) 数据传输方法、设备升级方法、计算机可读的存储介质
CN104426816A (zh) 一种虚拟机通信方法及装置
CN111511041B (zh) 一种远程连接方法及装置
KR20230075885A (ko) 무선 메시 네트워크에서의 펌웨어 원격 업그레이드 방법 및 장치
CN109768868B (zh) 以太广播帧的处理方法、装置及设备
CN109600795B (zh) A-msdu子帧的处理方法及无线网络存取装置
CN110247742B (zh) 一种通信方法、接入热点设备和终端设备
CN102938866B (zh) 传输vlan信息的方法、设备和系统
KR101031001B1 (ko) 단일 홉 무선 센서 네트워크를 위한 고속 병렬 소프트웨어 업데이트 방법
CN105391589A (zh) 一种报文传输的方法及装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal