KR101960736B1 - 무선 네트워크를 통해 프로그램을 업데이트하는 무선기기 및 무선시스템 - Google Patents

무선 네트워크를 통해 프로그램을 업데이트하는 무선기기 및 무선시스템 Download PDF

Info

Publication number
KR101960736B1
KR101960736B1 KR1020180048319A KR20180048319A KR101960736B1 KR 101960736 B1 KR101960736 B1 KR 101960736B1 KR 1020180048319 A KR1020180048319 A KR 1020180048319A KR 20180048319 A KR20180048319 A KR 20180048319A KR 101960736 B1 KR101960736 B1 KR 101960736B1
Authority
KR
South Korea
Prior art keywords
wireless
external device
application program
program code
communication
Prior art date
Application number
KR1020180048319A
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 KR1020180048319A priority Critical patent/KR101960736B1/ko
Priority to PCT/KR2018/006266 priority patent/WO2019208870A1/ko
Application granted granted Critical
Publication of KR101960736B1 publication Critical patent/KR101960736B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits

Abstract

본 발명은, 무선 네트워크를 통해 통신 패킷을 송수신하는 무선 통신부, 응용 프로그램 코드를 저장하는 저장부 및 로딩된 프로그램 코드를 수행하는 제어부로서, 저장부의 응용 프로그램 코드를 수신된 통신 패킷으로부터 추출되는 응용 프로그램 코드로 갱신하는 제어부를 포함하고, 제어부는 무선 네트워크를 통해 연결된 제1 외부 기기로부터 수신되는 브로드캐스팅 통신 패킷의 인덱스에 대응하고 저장부의 지정된 영역에 저장된 응용 프로그램 코드의 청크를 브로드캐스팅 통신 패킷의 응용 코드 데이터로 대체하는, 무선 네트워크를 통해 프로그램을 업데이트하는 무선기기 및 무선시스템에 관한 것이다.

Description

무선 네트워크를 통해 프로그램을 업데이트하는 무선기기 및 무선시스템{WIRELESS DEVICE AND WIRELESS SYSTEM UPDATING PROGRAM THROUGH WIRELESS NETWORK}
본 발명은 무선 네트워크를 통해 프로그램을 업데이트하는 무선기기 및 무선시스템에 관한 것으로서, 구체적으로는 무선 네트워크에 액세스 가능한 무선기기의 프로그램을 효율적으로 업데이트 가능한 무선 네트워크를 통해 프로그램을 업데이트 하는 무선기기 및 무선시스템에 관한 것이다.
무선 네트워크를 활용하는 무선기기가 널리 활용되고 있다. 예를 들어, 사물 인터넷 무선 네트워크에 연결된 각종 센서 등의 무선기기들은 사물 인터넷을 통해 각종 데이터를 송수신할 수 있다.
사물 인터넷에 연결되는 무선기기들은 다양한 유형의 기기들일 수 있다. 각각의 무선기기들은 특정 기능 하나 이상의 기능이 할당되고 해당 지정된 기능을 저장되어 있는 프로그램을 통해 수행한다. 한 무선기기는 무선 네트워크에서 중계기(repeater)로서 동작할 수 있고 다른 무선기기는 무선 네트워크에서 게이트웨이로서 동작할 수 있고 또 다른 무선기기는 특정 기능(예를 들어 외부 환경 감시, 외부 기기 제어 등)을 수행할 수 있다.
무선기기들은 지정된 기능을 수행하기 위해 프로그램을 내장하는 데, 이 프로그램은 업데이트될 필요가 존재한다. 무선기기가 각종 위치에 산재하기에 현장에 작업자가 이동하여 직접 업데이트를 하는 경우에는 그 시간과 비용이 상승하는 문제가 발생한다.
무선기기들은 무선 네트워크에 연결되기에 IOT 무선 네트워크를 통한 업데이트를 가정할 수 있다. 이 경우에 각각의 무선기기별로 개별적인 프로그램의 업데이트가 필요하다. 특히, WiSUN(Wireless Smart Utility Network) 무선통신 기술과 같은 무선 네트워크를 활용하는 경우에, 각각의 무선기기들은 네트워크 토폴로지(topology)를 구성하여 중간 노드에 대응하는 무선기기들은 자신의 프로그램뿐 아니라 하위 노드의 프로그램을 임시 저장하여야 해 많은 메모리 용량이 필요한 문제가 발생한다.
또한, 무선 네트워크 상의 모든 무선기기들의 프로그램이 업데이트될 필요가 존재할 경우 모든 무선기기들을 대상으로 한 업데이트시에 많은 시간이 소요되게 된다.
개인용 컴퓨터나 무선 AP(Access Point) 등을 통해 무선기기를 업데이트하는 경우로서 프로그램 업데이트를 위해 100개의 패킷이 전송될 필요가 존재하는 경우에, 개인용 컴퓨터나 무선 AP 등은 하나의 무선기기와 통신 채널로 연결되어 하나의 패킷을 전송하고 그 패킷에 대한 응답(ACK)을 수신하면서 총 100개의 패킷을 전송하여 해당 무선기기에 대한 업데이트를 완료시킨다. 또한, 개인용 컴퓨터나 무선 AP 등은 다른 무선기기와 총 100개의 패킷을 전송하고 응답 패킷의 수신을 통해 다른 무선기기에 대한 업데이트를 완료시킬 수 있다.
예를 들어, 개인용 컴퓨터나 무선 AP에 연결된 무선기기가 5개이고 각 무선기기에 대한 업데이트에 1분이 소요되는 경우 5개의 무선기기를 업데이트하기 위해 총 5분의 시간이 소요된다. 예에서 알 수 있는 바와 같이, 기존 방식의 무선기기 업데이트 방식은 순차적이고 많은 시간을 요하는 문제점이 발생한다.
이와 같이 무선기기의 프로그램의 업데이트에 있어서 야기되는 각종 문제점을 해소할 수 있는 무선 네트워크를 통해 프로그램을 업데이트하는 무선기기 및 무선시스템이 필요하다.
10-0879547(B1), 2009년01월22일
본 발명은, 상술한 문제점을 해결하기 위해서 안출한 것으로서, 무선 네트워크를 통해 연결된 무선기기의 프로그램을 무선 네트워크를 통해 시간 효율적으로 업데이트 가능한 무선 네트워크를 통해 프로그램을 업데이트하는 무선기기 및 무선시스템을 제공하는 데 그 목적이 있다.
또한, 본 발명은 무선기기의 유형에 상관없이 단일 프로그램을 통해 지정된 각 유형의 기능을 수행하고 단일 프로그램을 대상으로 한 업데이트로 무선기기들의 업데이트를 단순화시킬 수 있도록 하는 무선 네트워크를 통해 프로그램을 업데이트하는 무선기기 및 무선시스템을 제공하는 데 그 목적이 있다.
또한, 본 발명은 단일 프로그램이 기록된 메모리를 활용하여 프로그램을 업데이트하고 후속 무선기기로 업데이트된 프로그램을 전송하여 추가적인 메모리 용량의 필요없이 프로그램 업데이트가 가능한 무선 네트워크를 통해 프로그램을 업데이트하는 무선기기 및 무선시스템을 제공하는 데 그 목적이 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 양상에 따른 무선 네트워크를 통해 프로그램을 업데이트하는 무선기기는 무선 네트워크를 통해 통신 패킷을 송수신하는 무선 통신부, 응용 프로그램 코드를 저장하는 저장부 및 로딩된 프로그램 코드를 수행하는 제어부로서, 저장부의 응용 프로그램 코드를 수신된 통신 패킷으로부터 추출되는 응용 프로그램 코드로 갱신하는 제어부를 포함하고, 제어부는 무선 네트워크를 통해 연결된 제1 외부 기기로부터 수신되는 브로드캐스팅 통신 패킷의 인덱스에 대응하고 저장부의 지정된 영역에 저장된 응용 프로그램 코드의 청크를 브로드캐스팅 통신 패킷의 응용 코드 데이터로 대체한다.
상기한 무선기기에 있어서, 제어부는 응용 프로그램 코드에 대응하는 전체 인덱스 중 제1 외부기기로부터 수신된 브로드캐스팅 통신 패킷에서 인식되지 못한 인덱스를 하나 이상 포함하는 인덱스 리스트의 통신 패킷을 무선 통신부를 통해 제1 외부 기기로 송출한다.
상기한 무선기기에 있어서, 저장부는 할당된 제1 메모리 영역에 기록된 업데이트 프로그램 코드를 더 포함하고, 응용 프로그램 코드를 로딩하여 수행하는 제어부는 무선 통신부를 통한 제1 외부 기기로부터의 응용 프로그램 업데이트 요청에 따라 업데이트 프로그램 코드를 로딩 및 수행하여 저장부의 제2 메모리 영역에 기록된 응용 프로그램 코드를 갱신한다.
상기한 무선기기에 있어서, 업데이트 프로그램 코드를 수행하는 제어부는 응용 프로그램 코드의 갱신 완료 이후에 무선 네트워크를 통해 연결된 제2 외부 기기 및 제3 외부 기기로 응용 프로그램 업데이트 요청을 전송하고 저장부의 제2 메모리 영역에 갱신된 응용 프로그램 코드로부터 구성되는 복수의 브로드캐스팅 통신 패킷을 무선 통신부를 통해 송출한다.
상기한 무선기기에 있어서, 저장부는 응용 프로그램 타입 데이터를 더 저장하고, 업데이트 프로그램 코드를 수행하는 제어부는, 응용 프로그램 코드의 갱신 완료 이후에 갱신된 응용 프로그램 코드를 로딩하여, 단일의 응용 프로그램 코드 내에서 응용 프로그램 타입 데이터에 따른 지정된 기능에 대응하는 프로그램 코드를 수행한다.
상기한 무선기기에 있어서, 무선 네트워크는 WiSUN 무선통신 기술에 따른 네트워크이다.
상기한 무선기기에 있어서, 제어부는 무선 통신부를 통해 인덱스 리스트의 인덱스에 대응하는 응용 코드 데이터를 포함하는 통신 패킷을 제1 외부 기기로부터 수신하고 인덱스에 대응하고 저장부의 지정된 영역에 저장된 응용 프로그램 코드 청크를 통신 패킷의 응용 코드 데이터로 대체하여 응용 프로그램 코드의 갱신을 완료한다.
본 발명의 일 양상에 따른 무선 네트워크를 통해 프로그램을 업데이트하는 무선시스템은 상기한 무선기기를 포함한다.
상기한 무선시스템에 있어서, 무선기기에 WiSUN 무선통신을 통해 연결되는 제1 외부 기기를 더 포함하고, 제1 외부 기기는 무선기기를 포함하는 복수의 무선기기로 응용 프로그램 업데이트 요청을 WiSUN 무선통신을 통해 전송하고 무선기기의 응용 프로그램 코드를 구성할 수 있는 복수의 브로드캐스팅 통신 패킷을 WiSUN 무선통신을 통해 전송하며, 제1 외부 기기는 복수의 브로드캐스팅 통신 패킷에 대한 단일의 응답 패킷을 무선기기로부터 수신함에 따라 응답 패킷의 인덱스 리스트에 대응하는 응용 코드 데이터를 포함하는 통신 패킷을 WiSUN 무선통신을 통해 무선기기로 재전송한다.
상기한 무선시스템에 있어서, 무선기기에 WiSUN 무선통신을 통해 연결되는 제2 외부 기기 및 제3 외부 기기를 더 포함하고, 무선기기는, 제1 외부 기기와의 무선통신에 따라 응용 프로그램 업데이트 완료 이후에, 제2 외부 기기 및 제3 외부 기기로 응용 프로그램 업데이트 요청을 WiSUN 무선통신을 통해 전송하고 제2 외부 기기 및 제3 외부 기기의 응용 프로그램 코드를 구성할 수 있고 무선기기에 갱신된 응용 프로그램으로부터 생성되는 복수의 브로드캐스팅 통신 패킷을 WiSUN 무선통신을 통해 전송하며, 제2 외부 기기 및 제3 외부 기기의 응용 프로그램 전송 완료 이후에, 무선기기는 갱신된 응용 프로그램 코드를 저장부의 응용 프로그램 코드 저장 영역 외에 설정된 응용 프로그램 타입에 따라 수행한다.
상기와 같은 본 발명에 따른 무선 네트워크를 통해 프로그램을 업데이트하는 무선기기 및 무선시스템은 무선 네트워크를 통해 연결된 무선기기의 프로그램을 무선 네트워크를 통해 시간 효율적으로 업데이트 가능한 효과가 있다.
또한, 상기와 같은 본 발명에 따른 무선 네트워크를 통해 프로그램을 업데이트하는 무선기기 및 무선시스템은 무선기기의 유형에 상관없이 단일 프로그램을 통해 지정된 각 유형의 기능을 수행하고 단일 프로그램을 대상으로 한 업데이트로 무선기기들의 업데이트를 단순화시킬 수 있도록 하는 효과가 있다.
또한, 상기와 같은 본 발명에 따른 무선 네트워크를 통해 프로그램을 업데이트하는 무선기기 및 무선시스템은 단일 프로그램이 기록된 메모리를 활용하여 프로그램을 업데이트하고 후속 무선기기로 업데이트된 프로그램을 전송하여 추가적인 메모리 용량의 필요없이 프로그램 업데이트가 가능한 효과가 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명에 따른 예시적인 무선시스템을 도시한 도면이다.
도 2는 무선 네트워크에 구성되는 예시적인 네트워크 토폴로지를 도시한 도면이다.
도 3은 무선기기의 예시적인 블록도를 도시한 도면이다.
도 4는 저장부의 예시적인 할당 영역 레이아웃을 도시한 도면이다.
도 5는 네트워크 토폴로지를 활용하여 응용 프로그램 코드를 갱신하는 예시적인 일련의 제어 흐름을 도시한 도면이다.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술 되어 있는 상세한 설명을 통하여 더욱 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다.
도 1은 본 발명에 따른 예시적인 무선시스템을 도시한 도면이다.
도 1의 무선시스템은 바람직하게는 무선 네트워크(400)를 통해 프로그램을 업데이트 가능한 무선시스템을 나타낸다.
도 1에 따르면 무선 시스템은 제어 서버(300), 게이트웨이(200), 하나 이상의(복수의) 무선기기(100) 및 무선 네트워크(400)를 포함한다. 도 1의 무선 시스템은 임의의 빌딩이나, 아파트 단지 등에 설치될 수 있다.
도 1을 통해 무선시스템을 간단히 살펴보면, 제어 서버(300)는 하나 이상의 무선기기(100)를 제어할 수 있는 장치이다. 제어 서버(300)는 지정된 무선기기(100)나 모든 무선기기(100)를 제어하기 위한 제어 데이터를 출력할 수 있고 무선기기(100)로부터 응답이나 각종 상태 데이터 등을 수신할 수 있다.
예를 들어, 제어 서버(300)는 모든 무선기기(100)에 저장되어 있는 응용 프로그램 코드의 업데이트 요청을 제어 데이터로 출력할 수 있다. 이 제어 데이터는 업데이트(갱신)될 응용 프로그램 코드를 포함하거나 후속하여 전달되는 제어 데이터가 이 응용 프로그램 코드를 포함할 수도 있다.
또한(또는), 제어 서버(300)는 모든(각각의) 무선기기(100)로부터 각종 상태 데이터를 수신할 수 있다. 예를 들어, 제어 서버(300)는 각종 유형의 무선기기(100)로부터 소비 전력량, 에어컨 제어 상태, 가스 소비량 등의 상태 데이터를 수신하고 수신된 상태 데이터에 따라 무선기기(100)를 제어하거나 과금 등을 처리할 수 있다.
제어 서버(300)는 게이트웨이(200)를 통해 무선기기(100)로 각종 데이터를 송신하고 수신할 수 있다.
게이트웨이(200)는 무선 네트워크(400)와 제어 서버(300) 및 게이트웨이(200) 네트워크 사이의 통신 패킷을 변환하여 양 네트워크로 전송할 수 있는 장치이다. 게이트웨이(200)는 제어 서버(300)로부터 무선 네트워크(400)에 연결된 임의의 무선기기(100)나 모든 무선기기(100)를 제어하기 위한 제어 데이터를 포함하는 통신 패킷을 수신하고 수신된 통신 패킷의 페이로드 상의 제어 데이터에 따라 무선 네트워크(400) 상의 임의의 무선기기(100) 또는 모든 무선기기(100)를 대상으로 하는 통신 패킷을 생성하여 출력한다.
예를 들어, 게이트웨이(200)는 무선기기(100)에 저장되어 수행되는 응용 프로그램 코드의 업데이트 요청을 나타내는 제어 데이터를 통신 패킷으로 제어 서버(300)로부터 수신한다. 수신된 제어 데이터에 따라, 게이트웨이(200)는 무선 네트워크(400)에 연결된 모든 무선기기(100)의 응용 프로그램 코드를 업데이트 요청의 동일한 응용 프로그램 코드로 갱신한다.
또한, 게이트웨이(200)는 무선 네트워크(400)에 연결된 무선기기(100)로부터 상태 데이터를 포함하는 통신 패킷을 수신하고 수신된 상태 데이터를 포함하고 제어 서버(300) 및 게이트웨이(200) 네트워크를 위한 통신 패킷을 구성하여 제어 서버(300)로 전송한다.
무선기기(100)는 지정된 기능을 수행하고 무선 네트워크(400)에 연결되어 각종 데이터를 송수신할 수 있는 기기이다. 예를 들어, 무선기기(100)는 전기 계량기, 가스 계량기 등에 연결되어 전력 소비량이나 가스 소비량을 계측(인식)하고 계측된 소비량을 원격의 제어 서버(300)로 전송하는 기기일 수 있다. 또는 무선기기(100)는 원격의 에어컨을 제어하기 위한 소형 기기일 수 있다. 임의의 무선기기(100)는 무선 네트워크(400) 상의 데이터를 중간에서 송수신하는 리피터(Repeater) 기능을 수행할 수도 있다.
복수의 무선기기(100)들은 네트워크 토폴로지를 구성하여 무선 네트워크(400)를 통해 게이트웨이(200)와 제어 서버(300)에 연결되어 각종 데이터를 송수신할 수 있도록 구성된다. 무선 네트워크(400)상의 무선기기(100)들은 각 무선기기(100)의 기능이나 유형에 상관없이 단일 응용 프로그램 코드를 바람직하게 내장한다.
동일한 응용 프로그램 코드는 업데이트될 수 있고 바람직하게는 네트워크 토폴로지를 통해서 동일한 응용 프로그램 코드가 업데이트된다. 동일 프로그램 코드를 구성함에 따라 각 무선기기(100)의 유형에 상관없이 간단하게 응용 프로그램 코드가 업데이트될 수 있고 이하에서 살펴볼 바와 같이 작은 메모리 용량으로 시간 효율적으로 업데이트 가능하다.
무선 네트워크(400)는 무선통신 기술을 이용하여 무선기기(100)들이나 게이트웨이(200) 사이의 데이터를 송수신하기 위한 네트워크이다. 무선 네트워크(400)는 알려져 있는 IOT(Internet of Things) 통신기술을 적용한 네트워크로서 예를 들어 WiSUN(Wireless Smart Utility Network) 무선통신 기술, NB-IOT(NarrowBand IOT) 무선통신 기술, LoRa(Long Range) 무선통신 기술을 적용한 네트워크일 수 있다.
WiSUN 무선통신 기술, NB-IOT 무선통신 기술 및/또는 LoRa 무선통신 기술은 900MHz 대역(예를 들어 920MHz)의 캐리어 주파수를 이용하여 저전력으로 각종 데이터를 지정된 비트레이트에 따라 송수신할 수 있다.
무선 네트워크(400)는 바람직하게는 WiSUN 무선통신 기술에 따른 네트워크이고 게이트웨이(200)나 무선기기(100)들은 WiSUN 무선통신을 통해 응용 프로그램 코드 업데이트 요청이나 그 응답과 같은 제어 데이터 등을 송수신할 수 있다.
제어 서버(300) 및 게이트웨이(200) 사이의 데이터를 송수신하는 네트워크(도면 부호 미도시)는 예를 들어 근거리 무선 네트워크(400)(예를 들어 WiFi)이거나 근거리 유선 네트워크(예를 들어 랜) 또는 그 조합으로 구성되는 네트워크(예를 들어, 빌딩 내에 구축되는 인트라넷 등)일 수 있다.
무선기기(100)와 본 발명에 따라 응용 프로그램 업데이트에 관련된 주요한 내용은 도 2 이하에서 상세히 살펴보도록 한다.
도 2는 무선 네트워크(400)에 구성되는 예시적인 네트워크 토폴로지를 도시한 도면이다.
도 2의 네트워크 토폴로지(topology)는 예를 들어 WiSUN 무선통신 기술이 적용된 무선 네트워크(400) 상에서 각종 데이터(제어 데이터)를 송수신하기 위한 무선기기(100)(와 게이트웨이(200)) 사이의 통신 연결 구조를 바람직하게 나타낸다.
도 2의 예에서 알 수 있는 바와 같이, 하나의 기기는 루트 노드로 네트워크 토폴로지 상에 설정된다. 이 기기는 무선기기(100)들 중 하나의 무선기기(100)일 수 있다. 또는 이 기기는 게이트웨이(200)일 수 있다.
루트 노드에는 적어도 두 개 이상의 노드가 자식 노드로 연결된다. 루트 노드는 수신된 통신 패킷의 데이터(예를 들어 페이로드)를 자식 노드로 전송하도록 구성된다. 예를 들어, 루트 노드는 수신된 통신 패킷의 목적지 주소(이 목적지 주소는 통신 패킷의 헤더에 포함되거나 페이로드 내에 포함될 수 있음)에 따라 후속 자식 노드를 결정하여 선택된 자식 노드로 통신 패킷을 전송한다.
수신된 통신 패킷이 브로드캐스팅(broadcasting) 통신 패킷인 경우에 루트 노드는 수신된 통신 패킷을 모든 자식 노드로 전송한다.
중간 노드(intermediate node)는 부모 노드(parent node)와 자식 노드(child node)를 가지는 노드이다. 중간 노드는 무선기기(100)일 수 있고 중간 노드는 통신 패킷의 목적지 주소에 따라 자신이 처리하거나 선택된 자식 노드로 통신 패킷을 전송한다.
수신된 통신 패킷이 브로드캐스팅(broadcasting) 통신 패킷인 경우에 중간 노드는 수신된 통신 패킷을 모든 자식 노드로 전송한다.
리프 노드는 네트워크 토폴로지 상에 자식 노드를 가지지 않는 노드이다. 리프 노드는 무선기기(100)일 수 있다.
리프 노드는 수신된 통신 패킷이 자신을 목적지로 하는 경우 해당 통신 패킷에서 페이로드를 추출하여 지정된 페이로드의 제어 데이터에 따라 처리를 수행할 수 있다.
본 발명에 따른, 루트 노드, 중간 노드 및 리프 노드는 모두 네트워크 토폴로지 상의 위치에 따라 네트워크 상에서 수행되어야 하는 노드 유형을 나타내고 각각의 노드에 대응하는 무선기기(100)는 또한 지정된 응용 기능을 수행할 수 있도록 구성된다.
예를 들어, 임의의 노드의 무선기기(100)는 전기 소비량 측정, 가스 소비량 측정, 에어컨 제어 등을 수행할 수 있고 측정된 소비량이나 제어 응답 데이터 등은 네트워크 토폴로지의 부모 노드를 통해 제어 서버(300)로 전송된다.
본 발명에 따른 응용 프로그램 코드는 각 무선기기(100)에 적용된 노드 유형 및/또는 응용기능 유형에 상관없이 단일 코드로 구성되고 바람직하게는 네트워크 토폴로지를 통한 브로드캐스팅을 통해 전달(전파)되고 네트워크 토폴로지 상의 무선기기(100)가 통신 패킷과 응답 패킷의 송수신으로 갱신된다.
각 노드간 전송되는 통신 패킷들은 필요에 따라 헤더 등이 변경될 수 있다. 예를 들어 통신 패킷의 소스 주소와 목적지 주소가 노드간 링크를 표현하는 현재 노드의 주소와 하위 노드의 주소로 설정될 수 있다.
도 2의 네트워크 토폴로지는 트리 형태의 토롤로지 예를 도시하였으나 그 외 다양한 형태의 토폴로지를 가지고 해당 토폴로지 내에서 본 발명에 따른 응용 프로그램 코드의 갱신이 가능하다.
노드 간 통신 패킷의 송수신으로 순차적인 응용 프로그램 코드의 갱신 과정은 도 5를 통해 상세히 살펴보도록 한다.
도 3은 무선기기(100)의 예시적인 블록도를 도시한 도면이다.
도 3에 따르면, 무선기기(100)는 무선 통신부(101), 저장부(103), 외부 인터페이스부(105) 및 제어부(107)를 포함한다. 설계 변형에 따라 무선기기(100)는 도 3의 일부 블록을 생략할 수 있거나 도 3에 도시되지 않은 다른 블록을 더 포함할 수도 있다.
도 3의 무선기기(100)는 무선 네트워크(400)에 연결되어 각종 지정된 기능을 수행하도록 구성되고 무선기기(100)는 설정된 네트워크 토폴로지에 따라 부모 노드나 자식 노드와 각종 통신 패킷을 송수신할 수 있다.
도 3을 통해 무선기기(100)를 살펴보면, 무선 통신부(101)는 무선 네트워크(400)를 통해 통신 패킷을 송수신한다. 무선 통신부(101)는 무선 안테나, 무선 안테나에 연결된 매칭 회로 및 통신 칩셋을 구비하여 지정된 무선통신 기술에 따른 무선통신 패킷을 인식하거나 송출할 수 있다. 무선 통신부(101)는 특정 무선통신 기술에 대응하는 지정된 통신표준에 따라 무선신홀르 동기화하여 무선의 통신 패킷을 송수신한다. 예를 들어, 무선 통신부(101)는 WiSUN 무선통신 기술에 따른 통신 패킷을 송수신할 수 있다.
무선 통신부(101)는 특정 무선기기(100)를 수신자로 지정한 통신 패킷이나 모든 무선기기(100)를 수신자로 지정한 브로드캐스팅(broadcasting) 통신 패킷을 수신하고 이를 제어부(107)로 전달 가능하다. 브로드캐스팅 통신 패킷은 통신 패킷의 헤더에서 인식(예를 들어 목적지 주소를 할당되지 않고 브로드캐스팅 패킷임을 설정하기 위한 주소(0xFF 등)로 설정)되거나 통신 패킷의 페이로드 상의 약속된 포맷의 플래그 데이터에 설정될 수 있다. 후자의 경우에는 통신 패킷은 네트워크 토폴로지 상의 하위 노드의 주소가 패킷 헤더의 목적지 주소로 설정될 수 있다.
브로드캐스팅 통신 패킷은 모든 무선기기(100)를 대상으로 한 제어를 필요한 경우에 게이트웨이(200) 등을 통해 전송된다. 예를 들어, 게이트웨이(200)는 갱신될 응용 프로그램 코드의 일련의 코드 데이터를 브로드캐스팅 통신 패킷의 페이로드에 포함시켜 모든 무선기기(100)로 전송할 수 있다.
저장부(103)는 각종 메모리를 포함하여 데이터와 프로그램을 저장한다. 저장부(103)는 낸드 플래쉬나 노어 플래쉬 등과 같은 비휘발성 메모리를 포함하여 각종 프로그램과 데이터를 저장한다. 저장부(103)는 드램 등과 같은 휘발성 메모리를 더 포함할 수도 있다.
저장부(103)는 각종 프로그램과 데이터를 포함(저장)하는 데 무선기기(100)의 일반 통신 기능을 수행하고 지정된 응용 기능을 수행하기 위한 응용 프로그램 코드와 이 응용 프로그램 코드를 업데이트(갱신)하기 위한 업데이트 프로그램 코드 및 응용 프로그램의 유형을 나타내는 응용 프로그램 타입 데이터를 포함하는 설정 데이터를 적어도 저장부(103)의 비휘발성 메모리에 포함(저장)한다.
도 4는 저장부(103)의 예시적인 할당 영역 레이아웃을 도시한 도면이다. 도 4는 저장부(103)에 포함되는 비휘발성 메모리에 저장되는 프로그램과 데이터의 레이아웃 예를 도시하고 있다.
저장부(103)의 비휘발성 메모리는 비휘발성 메모리의 전체 메모리 영역 중 하나의 할당된(지정된) 메모리 영역(주소 A에서 주소 B 이전까지)에 업데이트 프로그램 코드를 포함(저장)한다. 또한 비휘발성 메모리는 다른 할당된 메모리 영역(주소 B에서 주소 C 이전까지)에 응용 프로그램 코드를 포함(저장)한다. 또한, 비휘발성 메모리는 또 다른 할당된 메모리 영역(주소 C부터)에 설정 데이터를 저장한다.
설정 데이터는 응용 프로그램 코드와 업데이트 프로그램 코드의 수행시에 이용될 각종 데이터를 포함한다. 예를 들어, 설정 데이터는 적어도 무선기기(100)의 응용 프로그램 타입과 노드 타입의 데이터를 포함한다.
응용 프로그램 타입은 무선기기(100)에 할당되어 있는 응용 기능의 유형을 나타낸다. 응용 프로그램 타입은 예를 들어 가스 계량기 타입, 전기 계량기 타입, 수도 계량기 타입, 에어컨 제어 타입 등 무선기기(100) 외부의 관리 대상 타입을 나타낼 수 있다. 응용 프로그램 타입에 따라 응용 프로그램 코드는 대응하는 프로그램 코드로 점프하여 대응하는 기능을 수행할 수 있도록 구성된다.
노드 타입은 무선기기(100)가 네트워크 토폴로지 내에 구성될 때, 무선기기(100)의 노드 유형을 나타낸다. 노드 타입은 예를 들어 루트 노드, 중간 노드, 및 리프 노드 등을 나타낼 수 있다.
설정 데이터는 노드 타입과 함께 부모 노드 데이터 및 하나 이상의 자식 노드 데이터를 더 포함할 수 있다. 부모 노드 데이터는 네트워크 토폴로지에 따라 무선기기(100)에 연결된 부모 노드를 나타내는 데이터로서 예를 들어 부모 노드의 주소(예를 들어 데이터링크 레이어상의 주소)를 포함하고 나아가 부모 노드와 연결된 통신 채널에 대한 정보(예를 들어 통신채널번호나 할당 주파수 등)를 더 포함할 수 있다. 자식 노드 데이터는 네트워크 토폴로지에 따라 무선기기(100)에 연결된 자식 노드를 나타내는 데이터로서 예를 들어 자식 노드의 주소를 포함하고 나아가 자식 노드와 연결된 통신채널에 대한 정보를 더 포함할 수 있다.
노드 타입과 노드 데이터에 따라 응용 프로그램 코드와 업데이트 프로그램 코드는 네트워크 토폴로지 상의 부모 노드와 자식 노드를 식별하고 해당 노드로 각종 데이터, 정보, 응답 등을 네트워크 토폴로지에 따라 송수신할 수 있다.
도 4에서 알 수 있는 바와 같이, 응용 프로그램 코드는 그 응용 프로그램 타입에 상관없이 단일한 프로그램 코드로 구성된다. 응용 프로그램 코드는 주요한 내부 기능(function) 등을 같이 활용하면 설정 데이터의 응용 프로그램 타입에 따라 분기하여 각종 유형의 기능을 처리할 수 있도록 구성된다. 이러한 구성을 가짐으로써 응용 프로그램 타입에 따라 개별적인 응용 프로그램을 구성할 필요가 없고 서로 유사한 내부 기능을 공유하여 응용 프로그램 코드의 사이즈를 크게 늘릴 필요가 없게 한다. 또한 단일 응용 프로그램 코드를 가짐으로써 네트워크 토폴로지를 구성하는 각각의 무선기기(100)는 동일한 응용 프로그램 코드의 갱신이 가능하여 응용 프로그램 코드의 갱신을 단순화시킬 수 있다.
업데이트 프로그램 코드는 응용 프로그램 코드에 의해서 호출될 수 있다. 업데이트 프로그램 코드는 무선기기(100)의 부팅시에 이용되는 부팅 프로그램 내에 내장될 수 있다. 업데이트 프로그램의 업데이트 완료후에 무선기기(100)는 재부팅되어 이후 갱신된 응용 프로그램 코드가 수행될 수 있다.
업데이트 프로그램 코드에서 이루어지는 좀 더 구체적인 내용은 이하 제어부(107)의 설명과 도 5를 통해서 좀 더 상세히 살펴보도록 한다.
외부 인터페이스부(105)는 무선기기(100) 외부의 다른 기기와 인터페이스한다. 외부 인터페이스부(105)는 가스, 전기, 수도 계량기와 인터페이스하기 위한 수단을 구비하여 가스, 전기, 수도 계량기 등으로부터 소비 총량이나 소비 이벤트를 수신할 수 있다. 예를 들어, 외부 인터페이스부(105)는 단일 신호 라인을 통해 수신된 이벤트 신호에 따라 계량기 소비 이벤트 발생을 수신하거나 UART 등을 통해 수신된 데이터에 따라 소비 총량 등을 수신할 수 있다.
또는, 외부 인터페이스부(105)는 에어컨, TV, 모니터 등을 원격에서 제어하기 위한 송출 수단(예를 들어 리모콘 신호를 송출하는 적외선 다이오드)을 구비하여 원격의 외부 기기를 제어할 수 있다.
외부 인터페이스부(105)는 제어부(107)의 제어에 따라 제어 대상이나 모니터링 대상인 기기를 제어하거나 기기를 모니터링하거나 데이터를 수신할 수 있다.
제어부(107)는 무선기기(100)를 제어한다. 제어부(107)는 프로그램의 명령어 코드를 수행할 수 있는 하나 이상의 실행 유닛(Execution Unit)을 포함하여 저장부(103)에 저장된 프로그램의 명령어 코드와 설정 데이터를 이용하여 외부의 기기를 모니터링하거나 데이터를 수신할 수 있다. 또한, 제어부(107)는 무선 네트워크(400)의 네트워크 토폴로지를 통해 각종 통신 패킷을 송수신할 수 있다. 제어부(107)는 CPU, MPU, MICOM 등을 나타내거나 등으로 지칭할 수 있다.
제어부(107)는 로딩된 프로그램 코드를 수행하여 무선기기(100)를 제어한다.
제어부(107)에서 이루어지는 주요 제어를 간단히 살펴보면, 저장부(103)의 지정된 영역에 할당되어 있는 응용 프로그램 코드를 수행하는 제어부(107)는 설정 데이터의 응용 프로그램 타입에 따라 응용 프로그램 코드에서 선택된 프로그램 코드를 수행한다.
응용 프로그램 코드의 수행에 따라 제어부(107)는 외부 인터페이스부(105)를 통해 제어나 모니터링 대상으로부터 각종 데이터를 수신하거나 각종 제어 데이터를 송출할 수 있다. 제어부(107)는 각종 데이터(예를 들어 이벤트 발생이나 총 소비량 등과 같은 상태 데이터 등)의 수신에 따라 데이터를 포함하는 통신 패킷을 구성하여 이를 다른 외부 무선기기(100)(예를 들어, 부모 노드에 대응하는 무선기기(100))를 통해 제어 서버(300)로 전송할 수 있다.
응용 프로그램 코드를 수행하는 제어부(107)는 무선 통신부(101)를 통해 통신 패킷을 수신하고 수신된 통신 패킷을 설정 데이터의 노드 타입과 부모 노드 데이터 및 자식 노드 데이터를 이용하여 자식 노드나 부모 노드의 무선기기(100)로 재전송할 수 있다.
응용 프로그램 코드를 수행하는 제어부(107)는 수신된 통신 패킷의 페이로드를 추출하여 페이로드에 포함된 제어 데이터가 응용 프로그램 업데이트 요청을 나타내는 지를 결정한다. 응용 프로그램 업데이트 요청은 페이로드의 약속된 포맷에 따라 각 제어부(107)가 인식 가능하고 응용 프로그램 업데이트 요청은 부모 노드의 무선기기(100)로부터 통신 패킷을 통해 수신된다.
응용 프로그램 업데이트 요청에 따라, 응용 프로그램 코드를 수행하던 제어부(107)는 업데이트 프로그램 코드를 수행하여 응용 프로그램 코드의 업데이트를 준비한다. 업데이트 준비 과정에서 제어부(107)는 업데이트 프로그램 코드의 전체 크기, 업데이트 프로그램 코드를 모두 받기 위한 브로드캐스팅 통신 패킷의 개수 등을 결정한다.
제어부(107)는 업데이트 프로그램 코드의 전체 크기, 업데이트 프로그램 코드를 모두 받기 위한 브로드캐스팅 통신 패킷의 개수 등을 부모 노드의 무선기기(100)로부터 동적으로 수신하거나 동적 수신 없이 미리 고정될 수 있다. 예를 들어, 응용 프로그램 코드에 할당된 메모리 영역의 크기(예를 들어 10M Byte)가 고정되고 브로드캐스팅 통신 패킷의 페이로드에 포함될 응용 프로그램 코드의 청크(chunk) 크기(예를 들어 10K Byte)가 미리 고정될 수 있다. 통신 패킷의 페이로드에 포함될 청크의 크기가 결정되면 모든 응용 프로그램 코드를 전송할 통신 패킷의 개수(예를 들어 1000개) 또한 미리 결정될 수 있다.
업데이트 프로그램 코드를 수행하는 제어부(107)는 무선 통신부(101)를 통해 수신되는 통신 패킷으로부터 추출되는 갱신용 응용 프로그램 코드로 저장부(103)의 지정된 메모리 영역에 할당되어 있는 응용 프로그램 코드를 갱신한다.
갱신 과정에서 제어부(107)는 브로드캐스팅 통신 패킷을 무선 통신부(101)를 통해 수신한다. 이 브로드캐스팅 통신 패킷은 무선 네트워크(400)를 통해 연결된 외부의 무선기기(100)나 게이트웨이(200)(이하 '제1 외부 기기'라 지칭함)로부터 수신된다. 제1 외부 기기(100,200)는 예를 들어 본 무선기기(100)의 부모 노드일 수 있다. 제1 외부 기기(100,200)는 모든 자식 노드를 수신자를 지정하는 브로드캐스팅 통신 패킷(예를 들어 헤더의 목적지 주소를 "0xFF" 등으로 설정된 통신 패킷)을 생성하여 출력할 수 있다. 제1 외부 기기(100,200)는 페이로드에 포함될 청크 크기에 따른 일련의 브로드캐스팅 통신 패킷을 생성하여 순차적으로 출력할 수 있다.
수신된 브로드캐스팅 통신 패킷 헤더의 소스 주소를 이용하여 수신된 브로드캐스팅 통신 패킷이 부모 노드(제1 외부 기기(100,200))가 아닌 경우, 제어부(107)는 브로드캐스팅 통신 패킷을 필터링(제거)한다. 이에 따라, 각각의 무선기기(100)는 부모 노드로부터의 브로드캐스팅 패킷을 이용하여 응용 프로그램 코드의 갱신이 가능하다.
부모 노드로부터 수신된 브로드캐스팅 통신 패킷은 응용 프로그램 코드 중 어떠한 청크인 지를 나타내기 위한 인덱스를 포함할 수 있다. 예를 들어, 1000개의 청크로 응용 프로그램 코드가 구성되는 경우 제1 외부 기기(100,200)는 응용 프로그램 코드의 대응 위치에 따른 인덱스를 브로드캐스팅 통신 패킷의 헤더나 페이로드에 포함한다.
업데이트 프로그램 코드를 수행하는 제어부(107)는 브로드캐스팅 통신 패킷에서 인덱스를 추출하고 저장부(103)에 응용 프로그램 코드를 위해 할당된 메모리 영역에서 인덱스에 대응하는 위치의 응용 프로그램 코드 청크를 브로드캐스팅 통신 패킷에서 추출되는 응용 프로그램 코드 데이터로 대체한다. 이와 같이, 제어부(107)는 브로드캐스팅 통신 패킷에서 추출된 인덱스에 대응하고 저장부(103)의 지정된 영역에 응용 프로그램 코드의 청크를 브로드캐스팅 통신 패킷의 응용 코드 데이터로 대체한다.
업데이트 요청에 후속하여 업데이트를 수행하는 제어부(107)는 모든 인덱스에 대응하는 갱신될 응용 코드 데이터를 브로드캐스팅 통신 패킷을 통해 수신하고 수신시 인식되는 인덱스에 따라 바로 저장부(103)에 기록된 메모리 영역의 응용 프로그램 코드를 대체 갱신한다.
업데이트 프로그램 코드가 저장된 메모리 영역(이하 '제1 메모리 영역'이라고 지칭할 수도 있음)과 응용 프로그램 코드가 저장된 메모리 영역(이하 '제2 메모리 영역'이라고 지칭할 수도 있음)은 서로 다르고 바람직하게는 미리 그 위치가 고정된다.
업데이트 프로그램 코드를 수행하는 제어부(107)는 배포 완료를 나타내는 브로드캐스팅 통신 패킷을 수신할 수 있고 미 수신된 인덱스를 결정할 수 있다. 미 수신된 인덱스를 하나 이상 포함하는 인덱스 리스트를 구성하고 이 인덱스 리스트를 페이로드에 포함하는 통신 패킷을 생성하여 무선 통신부(101)를 통해 제1 외부 기기(100,200)로 전송하고 후속하여 인덱스에 대응하는 해당 통신 패킷을 수신하여 미 갱신된 응용 프로그램 코드를 갱신할 수 있다.
또한, 제어부(107)는 수신된 브로드캐스팅 통신 패킷에 대하여 측정된 신호세기(RSSI) 및/또는 LQI(Link Quality Indicator) 정보를 포함하는 통신 패킷을 무선 통신부(101)를 통해 제1 외부 기기(100,200)로 전송한다. 신호세기의 측정은 무선 통신부(101)를 통해 이루어지고 제어부(107)는 이를 수신할 수 있다. LQI 정보는 예를 들어 통신 에러율 등의 정보를 포함할 수 있고 신호세기 및/또는 LQI 정보는 인덱스 리스트를 포함하는 통신 패킷에 같이 전송되거나 별도의 통신 패킷에 포함되어 전송될 수 있다.
자신의 응용 프로그램 코드의 갱신이 완료됨에 따라, 제어부(107)는 설정 데이터의 자식 노드 데이터를 이용하여 자식 노드에 대응하는 무선기기(100)(이하 '제2 외부 기기', '제3 외부 기기' 등으로 지칭함)로 응용 프로그램 업데이트 요청을 포함하는 통신 패킷을 전송하고 이후 제2 메모리 영역에 저장되어 있는 일련의 응용 프로그램 코드 청크를 제2 외부 기기(100)나 제3 외부 기기(100)로 전송할 수 있다.
제2 외부 기기(100)나 제3 외부 기기(100)로부터 인덱스 리스트를 수신한 제어부(107)는 인덱스 리스트의 인덱스에 대응하는 응용 프로그램 코드 청크를 제2 메모리 영역에서 추출하여 추출된 응용 프로그램 코드 청크와 인덱스 데이터를 페이로드에 포함하는 통신 패킷을 생성하여 제2 외부 기기(100)나 제3 외부 기기(100)로 전송 가능하다.
제어부(107)는 인덱스 리스트뿐 아니라 신호세기(RSSI) 및/또는 LQI 정보를 제2 외부 기기(100)나 제3 외부 기기(100)로부터 통신 패킷을 통해 수신하고 수신된 신호세기 및/또는 LQI 정보에 따라 두 외부 기기(100) 중 하나의 외부 기기를 대상으로 먼저 업데이트를 완료 시킬 수 있다.
예를 들어, 제2 외부 기기(100)의 신호세기 및/또는 LQI 정보가 제3 외부 기기(100)의 신호세기 및/또는 LQI 정보보다 높거나 양호(우수)한 경우에 제어부(107)는 제2 외부 기기(100)의 인덱스 리스트를 이용하여 미수신된 응용 프로그램 코드 청크를 응답 패킷(ACK 응답)을 통해 순차적으로 제2 외부 기기(100)로 전송한다.
제2 외부 기기(100)에 대한 미수신 코드 청크 전송 완료 이후에 제어부(107)는 제3 외부 기기(100)의 인덱스 리스트를 이용하여 미수신된 응용 프로그램 코드 청크를 응답 패킷(ACK 응답)을 통해 순차적으로 제3 외부 기기(100)로 전송한다.
이와 같이, 연결된 자식 노드의 통신 상태에 따라 업데이트 과정을 다른 순서로 진행함으로써 노드 계층별 병렬로 수행되는 프로그램 업데이트를 빨리 완료시킬 수 있다.
무선 네트워크(400)를 통해 자식 노드의 응용 프로그램 코드의 갱신이 완료됨에 따라 업데이트 프로그램 코드를 수행하는 제어부(107)는 재부팅 과정을 통해 갱신된 응용 프로그램 코드를 수행하여 갱신된 프로그램에 따라 지정된 기능을 수행할 수 있다.
이상에서 살펴본 바와 같이, 본 발명에 따른 무선기기(100)는 프로그램 업데이트를 위한 별도의 저장 공간을 구비하지 않고 원래 응용 프로그램 저장을 위해 할당된 동일한 저장 공간을 이용하여 프로그램 업데이트가 가능한다. 또한, 무선기기(100)는 자식 노드에 대한 프로그램 업데이트도 이미 갱신된 프로그램 코드의 동일 저장 공간의 데이터를 이용하여 이루어져 별도의 메모리를 요구하지 않고 각 무선기기(100)의 타입의 상관없이 동일한 프로그램 코드의 업데이트를 통해 무선 네트워크(400)를 통한 프로그램 업데이트를 단순화시킬 수 있다.
도 5는 네트워크 토폴로지를 활용하여 응용 프로그램 코드를 갱신하는 예시적인 일련의 제어 흐름을 도시한 도면이다.
도 5의 제어 흐름은 네트워크 토폴로지 상에서 하나의 무선기기(100)에 의해서 이루어지는 제어 흐름을 나타낸다. 도 5의 제어 흐름은 바람직하게는 중간 노드의 무선기기(100)의 제어부(107)가 저장부(103)의 프로그램을 로딩 및 수행에 따라 구현된다.
먼저, 무선기기(100)(의 제어부(107))는 전원 등이나 외부 입력에 따라 구동 시작하여 응용 프로그램 코드를 수행(S101)한다. 제2 메모리 영역의 응용 프로그램 코드와 설정 데이터의 응용 프로그램 타입에 따라 지정된 기능을 무선기기(100)(의 제어부(107))가 수행한다.
한편, 무선기기(100)의 부모 노드이거나 게이트웨이(200)인 제1 외부 기기(100,200)는 WiSUN 무선통신을 통해 본 무선기기(100)에 연결된다. 제1 외부 기기(100,200)는 제어 서버(300) 등을 통한 응용 프로그램 업데이트 요청에 따라 제1 외부 기기(100,200)에 연결된 복수의 무선기기(100)(예를 들어, 자식 노드들에 대응하는 무선기기(100)들)로 프로그램 업데이트 요청(예를 들어 브로드캐스팅 통신 패킷이거나 1대1의 통신 패킷들)을 WiSUN 무선통신을 통해 전송한다.
무선기기(100)(의 제어부(107))는 프로그램 업데이트 요청을 나타내는 통신 패킷을 무선 통신부(101)를 통해 수신(S103)하고 업데이트 요청을 약속된 알고리즘 등에 따라 더 인증할 수 있다.
프로그램 업데이트 요청을 수신한 무선기기(100)(의 제어부(107))는 제1 메모리 영역에 할당되어 기록되어 있는 업데이트 프로그램 코드를 로딩(S105)하고 이후 수행하여 제2 메모리 영역의 응용 프로그램 코드를 갱신(S109 내지 S113 참조)한다.
갱신 과정을 구체적으로 살펴보면, 무선기기(100)(의 제어부(107))는 응용 프로그램 코드의 크기(예를 들어, 10M Byte)와 브로드캐스팅 통신 패킷 내에서 전송될 청크 크기(예를 들어, 10K Byte)에 따라 전체 브로드캐스팅 통신 패킷의 개수(예를 들어 1000개)를 미리 결정한다. 결정되는 전체 브로드캐스팅 통신 패킷의 개수는 프로그램 업데이트 요청을 나타내는 통신 패킷에 포함되어 수신되거나 무선기기(100)(의 제어부(107))에 의해 자동으로 결정될 수 있다.
결정된 개수에 따라 브로드캐스팅 통신 패킷에 포함된 인덱스에 따라 저장되는 메모리 영역을 무선기기(100)(의 제어부(107))가 브로드캐스팅 통신 패킷의 수신에 따라 동적으로 결정할 수 있다. 또한 무선기기(100)(의 제어부(107))는 개수 만큼의 인덱스를 포함하는 인덱스 리스트를 신규 생성(예를 들어 0에서 999 까지의 숫자를 모두 포함하는)한다.
또한, 무선기기(100)(의 제어부(107))는 저장부(103)의 설정 데이터 등에 저장되는 신호세기 정보와 LQI 정보를 초기화한다.
이후, 무선기기(100)(의 제어부(107))는 (제1 외부 기기(100,200)로부터의) 브로드캐스팅 통신 패킷을 수신하고 수신된 브로드캐스팅 통신 패킷에서 인덱스 및 페이로드의 응용 코드 데이터를 추출하고 추출된 응용 코드 데이터를 제2 메모리 영역의 대응하는 응용 프로그램 코드 청크(예를 들어 10K Byte)를 대체(S107)한다.
예를 들어, 제1 외부 기기(100,200)는 WiSUN 무선통신을 통해 응용 프로그램 코드 전체에 대응하는 복수의 브로드캐스팅 통신 패킷을 순차적으로 전송하고 무선기기(100)(의 제어부(107))는 이를 수신한다.
먼저, 무선기기(100)(의 제어부(107))는 수신된 브로드캐스팅 통신 패킷의 소스 주소를 추출하여 브로드캐스팅 통신 패킷을 필터링할 수 있다. 예를 들어, 무선기기(100)(의 제어부(107))는 수신된 브로드캐스팅 통신 패킷의 소스 주소가 부모 노드(설정 데이터의 부모 노드 데이터)가 아닌 경우 수신된 브로드캐스팅 통신 패킷을 제거하거 이후 처리를 생략한다.
무선기기(100)(의 제어부(107))는 필터링 후 남아 있는 브로드캐스팅 통신 패킷(여기서, 브로드캐스팅 통신 패킷의 타입은 통신 패킷의 헤더에 포함되거나 페이로드에 포함됨)에서 인덱스(여기서, 인덱스는 통신 패킷의 헤더에 포함되거나 페이로드에 포함됨)를 추출하고 페이로드에서 응용 코드 데이터를 추출한다.
무선기기(100)(의 제어부(107))는 추출된 인덱스에 대응하는 응용 프로그램 코드 청크 주소 영역을 식별(예를 들어, "응용 프로그램 코드 시작주소 + 청크 사이즈 * 인덱스" ~ "응용 프로그램 코드 시작주소 + (청크 사이즈 * 인덱스+1)")하고 식별된 청크 영역에 추출된 응용 코드 데이터를 기록하여 기존 응용 프로그램 코드 청크를 대체한다.
인덱스가 추출되고 응용 프로그램 코드 청크를 대체함에 따라, 무선기기(100)(의 제어부(107))는 인덱스 리스트에서 추출된 인덱스를 삭제한다.
또한, 무선기기(100)(의 제어부(107))는 수신된 브로드캐스팅 통신 패킷에 대한 신호세기를 측정하고 저장부(103)의 신호세기 정보와 LQI 정보를 갱신한다. 저장부(103)의 신호세기 정보는 수신된 각 브로드캐스팅 통신 패킷에 대한 신호세기 평균치일 수 있고 LQI 정보는 브로드캐스팅 통신 패킷들의 수신 여부나 에러 등에 따라 알려진 계산 방식을 통해 산출된다.
무선기기(100)(의 제어부(107))는 제1 외부 기기(100,200)로부터 순차적으로 송출된 각각의 브로드캐스팅 통신 패킷을 수신하고 수신된 패킷의 응용 코드 데이터와 인덱스를 이용하여 대응하는 코드 청크를 대체할 수 있다. 그에 따라, 무선기기(100)는 업데이트를 위한 별도의 메모리 영역의 할당과 이용 없이 기존 응용 프로그램 코드의 영역에 갱신되는 갱신 코드를 대체하여 구비되는 메모리 용량을 줄일 수 있다.
제1 외부 기기(100,200)는 응용 프로그램 코드에 대응하는 모든 브로드캐스팅 통신 패킷을 전송 완료함에 따라 응용 프로그램 배포 완료를 나타내는 통신 패킷을 구성하여 이를 전송하고 무선기기(100)(의 제어부(107))는 무선 통신부(101)를 통해 이를 수신(S109)한다. 배포 완료를 나타내는 통신 패킷은 브로드캐스팅 통신 패킷이거나 1 대 1로 응답(ACK)을 요구하는 전용 통신 패킷일 수 있다.
배포 완료를 나타내는 통신 패킷을 수신한 무선기기(100)(의 제어부(107))는 복수의 브로드캐스팅 통신 패킷에서 미 인식된(수신된) 인덱스를 나타내는 인덱스 리스트를 구성하고 이 인덱스 리스트와 신호세기 및/또는 LQI 정보를 포함하며 배포 완료에 대한 응답을 나타내는 통신 패킷을 무선 통신부(101)를 통해 제1 외부 기기(100,200)로 전송(S111)한다. 신호세기 및/또는 LQI 정보는 다른 통신 패킷에 포함되어 제1 외부 기기(100, 200)로 전송될 수도 있다.
예를 들어, 무선기기(100)(의 제어부(107))는 브로드캐스팅 통신 패킷의 수신으로 추출된 인덱스가 삭제된 인덱스 리스트와 신호세기 및/또는 LQI 정보를 포함하는 응답 패킷을 제1 외부 기기(100,200)로 WiSUN 무선통신을 통해 전송한다. 이와 같이, 무선기기(100)(의 제어부(107))는 복수의 브로드캐스팅 통신 패킷에 대한 수신 여부를 나타내는 단일의 응답 패킷을 제1 외부 기기(100,200)로 송출한다.
제1 외부 기기(100,200)는 모든 자식 노드(무선기기(100))들로부터 인덱스 리스트와 신호세기 및/또는 LQI 정보를 수신하고 신호세기 및/또는 LQI 정보에 따라 순차적으로 각각의 무선기기로 미수신된 응용 코드 데이터를 전송한다.
예를 들어, 제1 외부 기기(100,200)는 각각의 무선기기(100)와의 전송 순서를 각각의 무선기기(100)의 신호세기 및/또는 LQI 정보 사이의 높음이나 양호 정도로 순서화하고 가장 높은 신호세기를 가지거나 LQI 정보가 양호한 무선기기(100)로 먼저 미수신된 응용 코드 데이터를 순차적으로 전송한다.
제1 외부 기기(100,200)는 가장 순위가 높은 무선기기(100)로부터의 응답 패킷의 인덱스 리스트를 추출하고 인덱스 리스트의 인덱스에 대응하는 응용 코드 데이터를 포함하는 통신 패킷을 구성하여 WiSUN 무선통신의 무선 네트워크(400)를 통해 무선기기(100)로 재전송한다.
가장 순위가 높은 특정 무선기기(100)(의 제어부(107))는 무선 통신부(101)를 통해 인덱스 리스트에 대응하는 일련의 통신 패킷을 수신하고 수신된 통신 패킷에서 인덱스 및 응용 코드 데이터를 추출하고 저장부(103)의 제2 메모리 영역의 미 갱신된 응용 프로그램 코드 청크를 추출된 응용 코드 데이터로 대체(S113)한다.
예를 들어, 무선기기(100)(의 제어부(107))는 각 통신 패킷을 1 대 1 무선통신을 통해 수신하고 수신된 통신 패킷의 인덱스 및 응용 코드 데이터를 추출하고 추출된 인덱스에 대응하는 제2 메모리 영역의 청크 메모리 영역을 결정하고 결정된 청크 메모리 영역에 추출된 응용 코드 데이터를 기록하고 이 통신 패킷에 대한 응답 패킷(ACK 패킷)을 제1 외부기 기기로 무선 통신부(101)를 통해 전송한다. 또한, 무선기기(100)(의 제어부(107))는 인덱스 리스트에서 추출된 인덱스를 삭제할 수 있다.
모든 미 수신된 인덱스가 무선기기(100)(의 제어부(107))에 구성된 인덱스 리스트에서 삭제됨에 따라, 무선기기(100)(의 제어부(107))는 자신의 응용 프로그램 코드의 갱신 완료를 결정할 수 있다.
또한, 제1 외부 기기(100,200)는 후속 순위의 무선기기(100)를 대상으로 미수신된 응용 코드 데이터를 순차적으로 동일한 과정을 통해 전송 가능하다.
이러한 업데이트 방식을 통해서, 제1 외부 기기(100,200)에 연결된 모든 무선기기(100)들은 제1 외부 기기(100,200)와의 거리나 신호세기에 따른 업데이트 영향을 줄이면서 보다더 빠른 응용 프로그램 코드의 갱신이 가능하다.
자신의 응용 프로그램 코드의 갱신이 완료됨에 따라, 무선기기(100)(의 제어부(107))는 WiSUN 무선통신을 통해 연결된 자식 노드인 제2 외부 기기(100) 및 제3 외부 기기(100)에 대한 응용 프로그램 코드를 갱신할 수 있다. 자식 노드의 응용 프로그램 코드의 갱신은 무선기기(100)(의 제어부(107))가 자신의 코드 갱신 이후에 수행될 수 있고 예를 들어, 자신의 코드 갱신 완료 후 자식 노드 프로그램 갱신 진행을 셋팅하는 설정 데이터의 기록과 재 부팅후 이 설정 데이터의 확인에 따라 이루어질 수 있다.
구체적으로, 제1 메모리 영역의 업데이트 프로그램 코드를 수행하는 무선기기(100)(의 제어부(107))는 응용 프로그램 업데이트 요청을 나타내는 통신 패킷(브로드캐스팅 또는 1 대 1의 통신 패킷)을 WiSUN 무선통신 기술 등을 이용하여 무선 네트워크(400)를 통해 연결된 제2 외부 기기(100) 및 제3 외부 기기(100)를 포함하는 자식 노드로 전송(S115)한다.
동일한 응용 프로그램 코드를 구비한 제2 외부 기기(100) 및 제3 외부 기기(100)도 제2 메모리 영역의 응용 프로그램 코드에서 제1 메모리 영역의 업데이트 프로그램 코드를 수행하여 업데이트를 준비하고 일련의 업데이트 과정을 수행한다.
무선기기(100)(의 제어부(107))는 제2 외부 기기(100) 및 제3 외부 기기(100)로 전송되고 갱신된 응용 프로그램 코드로부터 구성되는 복수의 브로드캐스팅 통신 패킷을 생성하고 복수의 브로드캐스팅 통신 패킷을 WiSUN 무선통신 기술 등을 이용한 무선 네트워크(400)를 통해 전송(S117)한다.
예를 들어, 무선기기(100)(의 제어부(107))는 저장부(103)의 제2 메모리 영역의 응용 프로그램 코드를 청크 크기로 분할하고 분할된 응용 코드 데이터 및 대응하는 인덱스를 포함하는 일련의 브로드캐스팅 통신 패킷을 생성하여 순차적으로 무선 통신부(101)를 통해 무선 네트워크(400)로 송출한다.
생성된 모든 브로드캐스팅 통신 패킷을 전송완료한 무선기기(100)(의 제어부(107))는 응용 프로그램 배포 완료를 나타내는 통신 패킷을 구성하여 제2 외부 기기(100) 및 제3 외부 기기(100)로 WiSUN 무선통신 등의 무선 네트워크(400)를 통해 전송(S119)한다.
무선기기(100)(의 제어부(107))는 제2 외부 기기(100) 및 제3 외부 기기(100) 각각으로부터 미수신 인덱스를 나타내는 인덱스 리스트와 신호세기 및/또는 LQI 정보를 포함하는 통신 패킷을 수신하고 신호세기 및/또는 LQI 정보에 따라 제2 외부 기기(100) 및 제3 외부 기기(100)에 대한 전송 순서를 결정하고 결정된 전송 순서에 따라 순차적으로 인덱스 리스트의 인덱스에 대응하는 응용 코드 데이터를 포함하는 통신 패킷을 각각의 제2 외부 기기(100) 및 제3 외부 기기(100)로 전송(S121)한다.
예를 들어, 무선기기(100)(의 제어부(107))는 제2 외부 기기(100) 및 제3 외부 기기(100)에서의 전송 순서를 두 무선기기(100)의 신호세기 및/또는 LQI 정보 사이의 높음이나 양호 정도로 순서화하고 가장 높은 신호세기를 가지거나 LQI 정보가 양호한 외부 기기(100)로 먼저 미수신된 응용 코드 데이터를 순차적으로 전송한다.
이와 같이, 연결된 자식 노드의 통신 상태에 따라 업데이트 과정을 다른 순서로 진행함으로써 노드 계층별 병렬로 수행되는 프로그램 업데이트를 빠르게 완료할 수 있고 무선 자원을 효율적으로 사용할 수 있다.
미수신 인덱스에 대응하는 응용 코드 데이터를 포함하는 통신 패킷은 1 대 1 무선 통신을 통해 전송되고 그 수신 여부를 무선기기(100)(의 제어부(107))가 확인할 수 있다.
연결된 모든 자식 노드의 응용 프로그램 코드의 순차적인 전송과 나아가 업데이트의 완료 이후에, 무선기기(100)(의 제어부(107))는 저장부(103)의 제2 메모리 영역에 갱신된 응용 프로그램 코드를 로딩하여 이 응용 프로그램 코드를 수행(S123)한다.
예를 들어, 무선기기(100)(의 제어부(107))는 자식 노드로 제2 메모리 영역의 응용 프로그램 코드를 전송 완료한 후에 설정 데이터에 자식 노드의 프로그램 갱신 완료를 설정하고 이후 업데이트 프로그램 코드에 따라 재부팅한다. 무선기기(100)(의 제어부(107))는 재부팅에 따른 프로그램 시퀀스에 따라 응용 프로그램 코드를 수행한다.
응용 프로그램 코드를 수행하는 무선기기(100)(의 제어부(107))는 저장부(103)에 저장된 응용 프로그램 타입 데이터에 따라 대응하는 갱신된 프로그램 코드를 수행한다.
이와 같은 제어 흐름을 통해, 다수의 무선기기(100)의 응용 프로그램 코드를 단일 코드로 통합 관리할 수 있다. 또한, 네트워크 토폴로지 상의 무선기기(100)가 단일 코드로 동작함에 따라 응용 프로그램 코드의 갱신을 단순화시킬 수 있다.
또한, 응용 프로그램 코드 자체의 메모리 영역을 갱신 영역으로 활용함으로써 필요한 메모리 요구 사양을 줄일 수 있다. 특히, 네트워크 토폴로지 상의 중간 노드는 자신의 응용 프로그램 코드를 갱신한 후에 자신의 응용 프로그램 코드를 자식 노드에 갱신될 응용 프로그램 코드로 전달하여 중간 노드로서 요구되는 메모리 요구 사양을 최대한 줄일 수 있다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니다.
100 : 무선기기
101 : 무선 통신부
103 : 저장부
105 : 외부 인터페이스부
107 : 제어부
200 : 게이트웨이
300 : 제어 서버
400 : 무선 네트워크

Claims (10)

  1. 무선 네트워크를 통해 프로그램을 업데이트하는 무선기기로서,
    무선 네트워크를 통해 통신 패킷을 송수신하는 무선 통신부;
    비휘발성 메모리를 포함하여 상기 비휘발성 메모리의 제1 메모리 영역에 업데이트 프로그램 코드, 제2 메모리 영역에 응용 프로그램 코드 및 제3 메모리 영역에 응용 프로그램 타입, 부모 노드 데이터 및 복수의 자식 노드 데이터를 포함하는 설정 데이터를 저장하는 저장부; 및
    복수의 응용 프로그램 타입 중 상기 제3 메모리 영역에 설정된 응용 프로그램 타입에 따라 지정된 기능을 제2 메모리 영역으로부터 로딩된 응용 프로그램 코드를 통해 수행하는 제어부로서, 복수의 응용 프로그램 타입에 대응하는 각각의 기능을 수행하는 상기 제2 메모리 영역의 응용 프로그램 코드를 WiSUN 무선통신 기술에 따른 무선 네트워크의 토폴로지상에서 상기 부모 노드 데이터를 이용하여 부모 노드로 식별되는 제1 외부 기기로부터 수신되는 통신 패킷으로부터 추출되는 응용 프로그램 코드로 갱신하는 제어부;를 포함하고,
    지정된 기능을 상기 응용 프로그램 코드를 로딩하여 수행하는 상기 제어부는 상기 제1 외부 기기로부터의 응용 프로그램 업데이트 요청의 수신에 따라 상기 응용 프로그램 코드의 수행 대신에 상기 제1 메모리 영역의 업데이트 프로그램 코드를 로딩 및 수행하여, 상기 제1 외부 기기로부터 수신되는 브로드캐스팅 통신 패킷의 인덱스에 대응하고 저장부의 제2 메모리 영역에 저장된 응용 프로그램 코드의 청크를 상기 브로드캐스팅 통신 패킷의 응용 코드 데이터로 대체하고, 상기 제2 메모리 영역의 응용 프로그램 코드의 모든 청크를 갱신 완료한 후에 무선 네트워크의 토폴로지상에서 상기 복수의 자식 노드 데이터를 이용하여 자식 노드로 식별되는 제2 외부 기기 및 제3 외부 기기로 응용 프로그램 업데이트 요청을 전송하고 상기 저장부의 제2 메모리 영역에 갱신된 응용 프로그램 코드로부터 구성되는 복수의 브로드캐스팅 통신 패킷을 무선 통신부를 통해 송출하는,
    무선기기.
  2. 제1항에 있어서,
    상기 제어부는 상기 제2 메모리 영역의 응용 프로그램 코드에 대응하는 전체 인덱스 중 상기 제1 외부기기로부터 수신된 브로드캐스팅 통신 패킷에서 인식되지 못한 인덱스를 하나 이상 포함하는 인덱스 리스트, 수신된 복수의 브로드캐스팅 통신 패킷에 대해 측정된 신호 세기 및 LQI(Link Quality Indicator) 정보를 상기 무선 통신부를 통해 상기 제1 외부 기기로 송출하는,
    무선기기.
  3. 제1항에 있어서,
    상기 제어부는 복수의 브로드캐스팅 통신 패킷을 상기 제2 외부 기기 및 제3 외부 기기로 송출한 후에 상기 제2 외부 기기 및 상기 제3 외부 기기 각각으로부터 미 수신 인덱스를 나타내는 인덱스 리스트와 상기 복수의 브로드캐스팅 통신 패킷을 대상으로 측정된 신호 세기, LQI 정보 또는 신호 세기 및 LQI 정보를 수신하고 자식 노드인 상기 제2 외부 기기 및 상기 제3 외부 기기 중 응용 프로그램 코드의 업데이트를 우선하여 완료시킬 외부 기기를 각각의 외부 기기로부터의 신호 세기, LQI 정보 또는 신호 세기 및 LQI 정보에 기초하여 결정하고 결정된 외부 기기로부터 수신된 인덱스 리스트의 대응하는 응용 프로그램 코드 청크를 결정된 외부 기기로 먼저 전송하는,
    무선기기.
  4. 제1항에 있어서,
    상기 제어부는 복수의 브로드캐스팅 통신 패킷을 상기 제2 외부 기기 및 제3 외부 기기로 송출한 후에 상기 제2 외부 기기 및 상기 제3 외부 기기 각각으로부터 미 수신 인덱스를 나타내는 인덱스 리스트와 상기 복수의 브로드캐스팅 통신 패킷을 대상으로 측정된 신호 세기 및 LQI 정보를 수신하고 상기 제2 외부 기기의 신호 세기 및 LQI 정보와 상기 제3 외부 기기의 신호 세기 및 LQI 정보를 비교하여 상기 제2 외부 기기 및 상기 제3 외부 기기 중 더 높은 신호 세기 및 LQI 정보를 가지는 외부 기기를 우선하여 업데이트를 완료시킬 외부 기기로 결정하고 결정된 외부 기기로부터 수신된 인덱스 리스트의 대응하는 응용 프로그램 코드 청크를 결정된 외부 기기로 먼저 전송하는,
    무선기기.
  5. 제1항에 있어서,
    상기 업데이트 프로그램 코드를 수행하는 상기 제어부는, 상기 제2 메모리 영역의 응용 프로그램 코드의 갱신 완료 이후에 상기 제2 메모리 영역에 갱신된 응용 프로그램 코드를 로딩하여, 단일의 상기 응용 프로그램 코드 내에서 상기 제3 메모리 영역의 응용 프로그램 타입에 따른 지정된 기능에 대응하는 프로그램 코드를 수행하는,
    무선기기.
  6. 삭제
  7. 제2항에 있어서,
    상기 제어부는 상기 무선 통신부를 통해 상기 인덱스 리스트의 인덱스에 대응하는 응용 코드 데이터를 포함하는 통신 패킷을 제1 외부 기기로부터 수신하고 인덱스에 대응하고 저장부의 제2 메모리 영역에 저장된 응용 프로그램 코드 청크를 통신 패킷의 응용 코드 데이터로 대체하여 제2 메모리 영역의 응용 프로그램 코드의 갱신을 완료하는,
    무선기기.
  8. 무선 네트워크를 통해 프로그램을 업데이트하는 무선시스템으로서,
    제1항에 따른 무선기기;를 포함하는,
    무선시스템.
  9. 제8항에 있어서,
    상기 무선기기에 WiSUN 무선통신을 통해 연결되는 제1 외부 기기;를 더 포함하고,
    상기 제1 외부 기기는 상기 무선기기를 포함하는 복수의 무선기기로 응용 프로그램 업데이트 요청을 WiSUN 무선통신을 통해 전송하고 상기 무선기기의 응용 프로그램 코드를 구성할 수 있는 복수의 브로드캐스팅 통신 패킷을 WiSUN 무선통신을 통해 전송하며,
    상기 제1 외부 기기는 복수의 브로드캐스팅 통신 패킷에 대한 단일의 응답 패킷을 상기 무선기기로부터 수신함에 따라 상기 응답 패킷의 인덱스 리스트에 대응하는 응용 코드 데이터를 포함하는 통신 패킷을 WiSUN 무선통신을 통해 상기 무선기기로 재전송하는,
    무선시스템.
  10. 제9항에 있어서,
    상기 무선기기에 WiSUN 무선통신을 통해 연결되는 제2 외부 기기 및 제3 외부 기기;를 더 포함하고,
    상기 무선기기의 응용 프로그램 코드의 갱신 이후에, 상기 제2 외부 기기 및 상기 제3 외부 기기 각각은 상기 무선기기로부터 제2 메모리 영역의 응용 프로그램 코드로부터 구성되는 복수의 브로드캐스팅 통신 패킷을 WiSUN 무선통신을 수신하고,
    상기 제2 외부 기기 및 상기 제3 외부 기기의 응용 프로그램 코드의 전송 완료 이후에, 상기 무선기기는 갱신된 응용 프로그램 코드를 저장부의 제3 메모리 영역에 설정된 응용 프로그램 타입에 따라 수행하는,
    무선시스템.
KR1020180048319A 2018-04-26 2018-04-26 무선 네트워크를 통해 프로그램을 업데이트하는 무선기기 및 무선시스템 KR101960736B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180048319A KR101960736B1 (ko) 2018-04-26 2018-04-26 무선 네트워크를 통해 프로그램을 업데이트하는 무선기기 및 무선시스템
PCT/KR2018/006266 WO2019208870A1 (ko) 2018-04-26 2018-06-01 무선 네트워크를 통해 프로그램을 업데이트하는 무선기기 및 무선시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180048319A KR101960736B1 (ko) 2018-04-26 2018-04-26 무선 네트워크를 통해 프로그램을 업데이트하는 무선기기 및 무선시스템

Publications (1)

Publication Number Publication Date
KR101960736B1 true KR101960736B1 (ko) 2019-03-21

Family

ID=66036894

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180048319A KR101960736B1 (ko) 2018-04-26 2018-04-26 무선 네트워크를 통해 프로그램을 업데이트하는 무선기기 및 무선시스템

Country Status (2)

Country Link
KR (1) KR101960736B1 (ko)
WO (1) WO2019208870A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102062338B1 (ko) * 2019-10-10 2020-01-03 김흥중 외부 제어 인증수단을 구비한 홈 IoT 서비스 시스템
WO2023132592A1 (ko) * 2022-01-04 2023-07-13 엘지전자 주식회사 기능 업그레이드가 가능한 전자 기기, 및 전자 기기의 기능을 업그레이드하는 방법
WO2023132591A1 (ko) * 2022-01-04 2023-07-13 엘지전자 주식회사 기능 업그레이드가 가능한 전자 기기, 및 전자 기기의 기능을 업그레이드하는 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100879547B1 (ko) 2007-08-29 2009-01-22 (주)케이티에프테크놀로지스 이동통신단말기의 펌웨어 업데이트 방법 및 이를 이용하는이동통신단말기
KR101525811B1 (ko) * 2014-03-28 2015-06-09 유틸라이팅(주) 무선 센서 네트워크에서의 펌웨어 업그레이드를 위한 분산처리 시스템 및 그 방법
KR20170121911A (ko) * 2016-04-26 2017-11-03 삼성에스디에스 주식회사 P2P를 이용한 IoT 기기의 펌웨어 업데이트 방법 및 그 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100862971B1 (ko) * 2007-07-26 2008-10-13 강릉대학교산학협력단 무선 센서 네트워크의 노드들에 대한 펌웨어 업데이트 방법
KR20100072978A (ko) * 2008-12-22 2010-07-01 주식회사 케이티 센서 네트워크에서 센서 노드 소프트웨어의 원격 관리 시스템 및 그 방법
KR101757417B1 (ko) * 2017-04-19 2017-07-12 주식회사 주빅스 무선통신에서의 통신노드 펌웨어 업데이트 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100879547B1 (ko) 2007-08-29 2009-01-22 (주)케이티에프테크놀로지스 이동통신단말기의 펌웨어 업데이트 방법 및 이를 이용하는이동통신단말기
KR101525811B1 (ko) * 2014-03-28 2015-06-09 유틸라이팅(주) 무선 센서 네트워크에서의 펌웨어 업그레이드를 위한 분산처리 시스템 및 그 방법
KR20170121911A (ko) * 2016-04-26 2017-11-03 삼성에스디에스 주식회사 P2P를 이용한 IoT 기기의 펌웨어 업데이트 방법 및 그 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102062338B1 (ko) * 2019-10-10 2020-01-03 김흥중 외부 제어 인증수단을 구비한 홈 IoT 서비스 시스템
WO2023132592A1 (ko) * 2022-01-04 2023-07-13 엘지전자 주식회사 기능 업그레이드가 가능한 전자 기기, 및 전자 기기의 기능을 업그레이드하는 방법
WO2023132591A1 (ko) * 2022-01-04 2023-07-13 엘지전자 주식회사 기능 업그레이드가 가능한 전자 기기, 및 전자 기기의 기능을 업그레이드하는 방법

Also Published As

Publication number Publication date
WO2019208870A1 (ko) 2019-10-31

Similar Documents

Publication Publication Date Title
KR101960736B1 (ko) 무선 네트워크를 통해 프로그램을 업데이트하는 무선기기 및 무선시스템
Selavo et al. Luster: wireless sensor network for environmental research
RU2522034C2 (ru) Виртуальная опциональная плата для использования в выполнении измерительных операций
US11038767B2 (en) Discovery of a set of nodes in a network
JP6597935B2 (ja) 無線センサシステム、管理装置、通信制御方法および通信制御プログラム
CN102111912B (zh) Zigbee同构树型无线传感网的集中式构建方法
US20170353926A1 (en) Sleeping and wake-up methods and apparatuses of master-slave network, and power saving system of master-slave network
GB2512545A (en) Update management
CN102333388B (zh) 无线传感器网络分组的方法、系统、传感器及数据汇聚节点
CN106020875A (zh) 嵌入式终端的固件更新管理方法和装置
US20200186194A1 (en) Device, system and method for selectively receiving data broadcast in a network
US20180227136A1 (en) Data transmission system, management device, non-transitory recording medium recording data transmission program, and data transmission method
US20070178939A1 (en) Method for reducing radio interference between wireless access points
CN113036930B (zh) 一种电网数据通讯管理系统
US20110007663A1 (en) Determining Placement of Nodes Within a Wireless Network
CN213661953U (zh) 一种基于5G和LoRa的电网环境监测系统
WO2014068665A1 (ja) 通信システムおよび端末の所属先ネットワーク切替方法
CN105871710A (zh) 移动网关设备及其网络交互系统
US20170332319A1 (en) Communication device, communication method, and program
US20170142602A1 (en) Communication method, non-transitory computer-readable recording medium, and communication system
CN112291732B (zh) 基于混合模式自组网结构的环境监测系统、方法和装置
JP6978203B2 (ja) 通信設定装置
WO2017064758A1 (ja) 制御システムおよび制御方法
CN113918200A (zh) 高效可靠的嵌入式设备应用程序无线升级方法
JP6252943B2 (ja) 管理装置及びそれを用いた管理システム

Legal Events

Date Code Title Description
GRNT Written decision to grant