KR100862971B1 - 무선 센서 네트워크의 노드들에 대한 펌웨어 업데이트 방법 - Google Patents

무선 센서 네트워크의 노드들에 대한 펌웨어 업데이트 방법 Download PDF

Info

Publication number
KR100862971B1
KR100862971B1 KR1020070084768A KR20070084768A KR100862971B1 KR 100862971 B1 KR100862971 B1 KR 100862971B1 KR 1020070084768 A KR1020070084768 A KR 1020070084768A KR 20070084768 A KR20070084768 A KR 20070084768A KR 100862971 B1 KR100862971 B1 KR 100862971B1
Authority
KR
South Korea
Prior art keywords
firmware
node
nodes
memory
transmitting
Prior art date
Application number
KR1020070084768A
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 PCT/KR2008/003551 priority Critical patent/WO2009014319A1/en
Priority to US12/670,314 priority patent/US8572600B2/en
Application granted granted Critical
Publication of KR100862971B1 publication Critical patent/KR100862971B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • 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
    • 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/0866Checking the configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Abstract

본 발명은 무선 센서 네트워크를 구성하는 각 노드의 펌웨어를 업데이트시키는 방법에 관한 것이다. 상기 업데이트 방법은, 게이트웨이에서 싱크 노드로 업데이트시킬 펌웨어를 전송하는 단계, 최상위 노드로부터 최하위 노드까지 무선 통신을 이용하여 순차적으로 상기 펌웨어를 전송하며, 펌웨어를 전송받은 각 노드는 상기 펌웨어를 자신의 메모리에 기록하는 단계, 상기 모든 노드들의 펌웨어의 기록이 완료된 경우, 각 노드들은 부트 프로그램을 구동시켜 상기 메모리에 저장된 펌웨어를 프로그램 메모리에 쓰는 단계, 상기 각 노드들은 상기 펌웨어를 실행하여 주변의 노드들과 통신하여 새로운 네트워크를 구성하는 단계를 구비한다.
본 발명에 의하여, 무선 센서 네트워크에 설치되어 있는 많은 노드들을 수거하지 않으면서도 펌웨어 교체가 가능해 진다. 또한, 본 발명에 의하여 무선으로 데이터를 송수신하여 각 노드의 펌웨어를 교체할 수 있게 됨으로써, 쉽고 빠르게 펌웨어를 교체할 수 있어서 기능 추가 및 유지보수에 용이하다.
무선센서네트워크, USN, 펌웨어, 센서노드, 업데이트

Description

무선 센서 네트워크의 노드들에 대한 펌웨어 업데이트 방법{Method for updating firmware of sensor nodes on the wireless sensor network}
본 발명은 무선 센서 네트워크에서의 각 노드들의 펌웨어를 업데이트시키는 방법에 관한 것으로서, 더욱 구체적으로는 센서 노드들에 대한 수거 과정이나 재설치 과정없이 각 센서 노드들의 펌웨어를 업데이트시키는 방법에 관한 것이다.
유비쿼터스 센서 네트워크(Ubiquitous Sensor Network: USN)란, 사물에 대한 인식정보 또는 주변의 환경정보를 감지할 수 있는 센서가 탑재된 센서 노드를 통해 무선 센서 네트워크를 구성하고, 다양한 센서들을 통해 입력되는 정보를 실시간으로 네트워크를 통해 외부와 연결하여 정보를 처리하고 관리하는 네트워크 시스템을 의미한다. USN은 궁극적으로 모든 사물에 컴퓨팅 및 통신 기능을 부여함으로써, 언제(anytime), 어디서나(anywhere) 네트워크, 디바이스 또는 서비스에 관계없이 통신 가능한 환경의 구현을 목적으로 한다.
일반적인 유비쿼터스 센서 네트워크(USN)의 구성은 사물에 대한 인식정보 또는 주변의 환경정보를 실시간으로 감지하는 센서와 통신 모듈을 포함하여 구성되는 센서 노드, 센서 노드의 집합으로 이루어진 센서 필드, 센서 필드에서 수집된 정보 를 전송받는 싱크 노드, 싱크 노드로부터 전송된 정보를 라우팅하여 광대역 통신망을 통해 관리 서버로 전송하는 게이트웨이를 포함하여 구성될 수 있다. 전술한 구성에서, 싱크 노드는 위성통신, 무선랜, 블루투스, 유선 인터넷과 같은 기존의 인프라로 게이트웨이와 연결될 수 있다. 이러한 USN은 화재, 홍수 또는 지진 등과 같은 재난 발생시 재난 발생 사실을 감지하고 대처하는데 이용될 수 있다.
그런데, 무선 센서 네트워크의 기능이 추가되거나 유지 보수를 하는 경우, 현장에 분산 설치된 각 센서 노드들에 설치된 펌웨어를 업데이트시키기 위하여 각 센서 노드들을 수거하여야 되는 번거러움이 발생된다. 또한, 실제로 넓은 지역에 산재되어 있는 센서 노드들을 수거하고 업데이트시킨 후 다시 원래 위치에 다시 설치하여야 되므로, 센서 노드들의 수거 및 재설치에 따른 시간과 비용이 많이 소요되는 문제점이 발생한다.
전술한 문제점을 해결하기 위한 본 발명의 목적은 무선 센서 네트워크에 설치된 센서들의 수거과정없이 편리하게 센서들의 펌웨어를 업데이트하는 방법을 제공하는 것이다.
전술한 기술적 과제를 달성하기 위한 본 발명의 특징은 서버, 게이트웨이 및 다수개의 노드들로 구성되는 무선 센서 네트워크를 구성하는 각 노드의 펌웨어를 업데이트시키는 방법에 관한 것으로서,
상기 서버로부터 게이트웨이를 경유하여 최상위 노드로 업데이트시킬 펌웨어를 전송하는 단계,
최상위 노드로부터 최하위 노드까지 무선 통신을 이용하여 순차적으로 상기 펌웨어를 전송하며, 펌웨어를 전송받은 각 노드는 상기 펌웨어를 자신의 메모리에 기록하는 단계,
상기 모든 노드들의 펌웨어의 기록이 완료된 경우, 각 노드들의 부트 프로그램을 구동시켜 상기 메모리에 저장된 펌웨어를 프로그램 메모리에 기록한 후, 각 노드에 기록된 펌웨어들을 실행시켜, 각 노드들이 주변의 노드들과 통신하여 새로운 네트워크를 구성하는 단계를 구비한다.
전술한 특징을 갖는 펌웨어 업데이트 방법에 있어서, 상기 서버는 업데이트시킬 펌웨어를 전송하기 전에 최하위 노드의 깊이 정보를 획득하여 저장하며, 모든 노드에서의 펌웨어의 업데이트가 완료된 후에 새로이 구성된 네트워크의 최하위 노드의 깊이 정보를 획득하고, 업데이트 전의 최하위 노드의 깊이 정보와 업데이트 후의 최하위 노드의 깊이 정보를 비교하여 이들이 동일하면 업데이트가 완료되었음을 최종적으로 확인한다.
전술한 특징을 갖는 펌웨어 업데이트 방법에 있어서, 상기 무선 센서 네트워크를 구성하는 각 노드들은 데이터를 송수신하기 위한 송신 구간, 수신 구간 및 휴지 구간을 구비하고,
상위 노드는 송신 구간 동안 펌웨어의 전송을 알리는 데이터 패킷을 송신하며, 하위 노드는 수신 구간 동안 상위 노드로부터 펌웨어 전송을 알리는 데이터 패킷이 수신되는 경우, 자신의 휴지 구간 동안 상위 노드로부터 펌웨어를 수신하는 것이 바람직하다.
전술한 특징을 갖는 펌웨어 업데이트 방법에 있어서, 상기 부트 프로그램은
(a) 만약 업데이트_플래그가 'True'로 설정된 경우, 사전에 메모리에 저장된 펌웨어를 판독하여 프로그램 메모리에 기록하는 단계,
(b) 만약 업데이트_플래그가 'True'로 설정되지 않고 외부의 펌웨어 다운로더(Downloader)와 연결된 경우, 상기 펌웨어 다운로더로부터 펌웨어를 수신하고, 수신된 펌웨어를 프로그램 메모리에 기록하는 단계,
(c) 프로그램 메모리에 기록된 펌웨어의 응용 프로그램을 실행하는 단계;
를 순차적으로 실행하여, 각 노드들을 부팅하는 것이 바람직하다.
본 발명에 의하여, 무선 센서 네트워크에 설치되어 있는 많은 노드들을 수거하지 않으면서도 펌웨어 교체가 가능해 진다. 또한, 본 발명에 의하여 무선으로 데이터를 송수신하여 각 노드의 펌웨어를 교체할 수 있게 됨으로써, 쉽고 빠르게 펌웨어를 교체할 수 있어서 기능 추가 및 유지보수에 용이하다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 무선 센서 네트워크의 노드들에 대한 펌웨어 업데이트 방법을 구체적으로 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 노드들의 펌웨어 업데이트 방법을 전체적으로 설명하는 흐름도이다.
도 1을 참조하면, 먼저 게이트웨이에서 싱크 노드까지 RS232C 통해 업데이트시킬 펌웨어를 전송한다(단계 10). 다음, 싱크 노드에서 터미널 노드까지 무선 통신을 이용하여 상기 펌웨어를 순차적으로 전송한다(단계 20). 이때, 상위 노드로부터 펌웨어를 수신한 각 노드들은 해당 펌웨어를 자신의 메모리에 기록한다. 다음, 모든 노드의 메모리에 펌웨어의 기록이 완료되면, 각 노드는 재부팅하여 부트(boot) 프로그램을 구동시킨다(단계 40). 이때, 각 노드의 부트 프로그램은 전술한 과정에 의하여 메모리에 저장된 펌웨어를 프로그램 메모리에 기록한(Writing) 후(단계 50), 상기 기록된 펌웨어를 실행한다(단계 60). 상기 펌웨어의 실행에 의하여, 각 노드들은 다시 주변 노드들과 통신하여 새로운 네트워크를 구성함으로써, 각 노드들은 펌웨어의 업데이트를 완료한다.
전술한 구성을 갖는 본 발명에 따른 업데이트 방법에 의하여, 사용자가 이미 설치되어 있는 많은 노드들을 수거하고 재설치하는 과정없이 노드들에 설치된 펌웨어를 교체할 수 있게 되며, 쉽고 빠르게 펌웨어를 교체할 수 있어서 기능 추가 및 유지보수에 용이하게 된다.
이하, 전술한 각 단계들에 대하여 보다 구체적으로 설명한다. 이하, 본 명세서에서, CP(Command Packet)는 명령어 패킷을 의미하며, DP(Data Packet)는 데이터 패킷을 의미하며, PDU(Protocol Data Unit)는 프로토콜 데이터 유닛을 의미하며, NPDU (Network layer Protocol Data Unit)는 네트워크 레이어의 프로토콜 데이터 유닛을 의미하며, APDU (Application layer Protocol Data Unit)는 응용 프로그램 레이어의 프로토콜 데이터 유닛을 의미하며, 패킷수신한도크기는 패킷에 적재될 실 데이터의 길이를 의미하며, 패킷수신한도수는 패킷을 연속적으로 송신 또는 수신할 카운트를 의미한다.
이하, 본 발명의 바람직한 실시예에 따른 업데이트 방법에 있어서, 게이트웨이와 싱크 노드간의 펌웨어 전송 과정을 구체적으로 설명한다. 도 2는 본 발명에 따른 업데이트 방법에서의 게이트웨이와 싱크 노드간의 펌웨어 전송 과정을 설명한 흐름도이다.
도 2를 참조하면, 먼저 게이트웨이는 싱크 노드에게 펌웨어 전송의 시작을 요청하는 CP#1을 전송한다(단계 200). CP#1에는 펌웨어 사이즈 정보를 포함한다. 다음, 싱크 노드는 CP#1을 수신하면 게이트웨이에게 전송 시작을 허락하는 CP#2를 전송한다(단계 210). 다음, 게이트웨이는 CP#2를 수신하면 싱크 노드에게 펌웨어 데이터 패킷 DP#n을 보낸다(단계 220). DP#n은 펌웨어를 n등분한 패킷이다. 다음, 싱크 노드는 DP#n을 수신하면 게이트웨이에게 DP#n에 대한 ACK 패킷 CP#3를 보낸다(단계 230). CP#3에는 수신한 펌웨어 패킷의 n 정보를 포함한다. 단계 220 및 단계 230을 모든 펌웨어 패킷(DP#1 ~ DP#n)이 전송될 때까지 반복한다(단계 240). 다음, 게이트웨이는 모든 펌웨어 패킷을 전송했음을 알리는 CP#4를 싱크 노드에게 전송한다(단계 250). 싱크 노드는 CP#1에 포함되어 있던 총 펌웨어 사이즈 정보와 수신받은 펌웨어 패킷(DP#1~DP#n)의 총 사이즈 정보를 비교하여 성공 여부를 알리는 CP#5를 게이트웨이에게 전송한다(단계 260).
CP#5의 내용에 따라, 만약 실패한 경우, 전술한 과정들을 다시 수행한다.
이하, 본 발명의 바람직한 실시예에 따른 업데이트 방법에 있어서, TDMA 선형 네트워크에서의 노드들로 펌웨어를 전송하는 과정을 구체적으로 설명한다. 도 3은 본 발명에 따른 업데이트 방법에서의 각 노드들로의 펌웨어 전송 과정을 설명한 흐름도이며, 도 4는 펌웨어 전송이 실패된 경우의 전송 과정을 설명한 흐름도이다. 본 발명에 따른 업데이트 방법이 적용되는 TDMA 선형 네트워크는 다수 개의 센서 노드들이 선형으로 연결되어 있는데, 최상위 노드인 싱크 노드가 게이트웨이와 데이터 송수신하며, 싱크 노드와 최하위 노드인 터미널 노드의 사이에 다수 개의 노드들이 선형으로 연결된다. 그리고, 각 노드들은 데이터를 송신하는 송신 구간, 데이터를 수신하는 수신 구간, 데이터 전송을 하지 않고 Sleep하는 휴지 구간을 반복적으로 구비한다.
도 3를 참조하면, 먼저 상위 노드는 하위 노드에게 CP#6를 전송하여 휴지(sleep) 구간에 펌웨어를 전송할 것을 알려준다(단계 300). 다음, CP#6를 받은 하위 노드는 sleep 구간에 펌웨어를 전송받기 위해 휴지(sleep) 상태로 되지 않는다. 다음, 하위 노드가 상위 노드로부터 휴지 구간에 펌웨어 수신이 성공되면 최상위 노드인 싱크 노드에게 CP#7을 전송한다(단계310). CP#7에는 자신의 고유 ID와 자신의 네트워크 깊이(depth) 정보가 포함되어 있으며, 상기 CP#7은 서버까지 전송되어 현재 펌웨어 전송의 진행 사항의 정보를 관리자에게 알려주게 된다.
만약, 하위 노드가 상위 노드로부터 sleep 구간에 펌웨어 수신이 실패되면 최상위(싱크) 노드에게 CP#10을 전송한다(도 4 참조). CP#10에는 자신의 고유 ID와 자신의 네트워크 depth 정보가 포함되어 있다. 만약, 펌웨어 수신이 완료된 상위 노드들이 CP#10을 수신하는 경우, 펌웨어 완료 상태를 해제한다. CP#10은 서버 까지 전송되어 현재 펌웨어 전송의 실패를 관리자에게 알려준다.
다음, 최하위 노드까지 펌웨어 전송이 완료되면 최하위 노드는 최상위(싱크) 노드에게 CP#8을 전송하여 네트워크의 모든 노드들이 펌웨어 전송이 완료되었음을 알려준다. CP#8은 서버 까지 전송되어 네트워크상의 모든 노드에게 펌웨어 전송이 완료 되었음을 관리자에게 알려준다.
CP#8을 수신한 최상위(싱크) 노드는 하위 노드들에게 재부팅을 요구하는 CP#9를 전송한다.
CP#9를 수신한 노드들은 부트 프로그램을 구동하여 펌웨어 업데이트 후에 바뀐 펌웨어를 구동하여 새로운 네트워크를 구성한다.
이하, 본 발명에 따른 업데이트 방법에 있어서, 송신 노드가 수신 노드에 접속을 시도하여 동기화하는 과정을 구체적으로 설명한다. 도 5는 본 발명에 따라 송 신 노드가 수신 노드에 접속을 시도하여 동기화하는 과정을 순차적으로 도시한 흐름도이다.
도 5를 참조하면, 먼저 수신노드는 송신노드의 Wait Timer를 작동하고 접속을 기다린다(단계 500). 송신노드는 수신노드에 접속을 시도하기 위해 Wait Timer를 작동하고 NPDU#1을 전송한다(단계 510). 이때 NPDU#1은 데이터의 크기를 포함한다. 만약 수신노드는 NPDU#1을 수신하는 경우, 디폴트로 설정된 패킷수신한도크기 및 패킷수신한도수를 포함한 NPDU#2를 송신노드에 전송한다(단계 520). 만약 수신노드가 NPDU#1을 수신하지 못하고 Wait Timer가 종료되는 경우, 수신노드는 Reset 된다(단계 522).
만약 송신노드가 NPDU#2을 수신하는 경우, 패킷수신한도크기 및 패킷수신한도수를 설정하고, 수신노드에 NPDU#3을 송신하고 Wait Timer를 작동한다(단계 530). 만약 송신노드가 NPDU#2을 수신하지 못하는 경우, NPDU#1을 재전송한다. 이때 Wait Timer가 종료되면 동기화 단계를 포기하고 Reset 한다(단계 532).
다음, 만약 수신노드가 NPDU#3을 수신하는 경우, Wait Timer를 종료하고 동기화 단계가 종료한다(단계 540). 만약 NPDU#3을 수신하지 못하는 경우, NPDU#2를 재전송하고 NPDU#3을 기다린다. 이때 Wait Timer가 종료되면 동기화 단계를 포기하고 Reset 한다(단계 542).
다음, 만약 송신 노드가 NPDU#2를 수신하는 경우 단계 530 및 단계 532를 재실행하며, 만약 그렇지 못한 경우에는 Wait Timer를 종료하고 동기화 단계가 종료된다(단계 550).
이하, 본 발명에 따른 업데이트 방법에 있어서, 송신 노드와 수신 노드가 동기화된 상태에서 송신 노드와 수신 노드가 데이터를 송수신하는 과정을 구체적으로 설명한다. 도 6은 본 발명에 따라 동기화된 송신 노드 및 수신 노드가 데이터를 전송하는 과정을 순차적으로 도시한 흐름도이다.
도 6을 참조하면, 전술한 동기화 단계가 종료되면 송신노드와 수신노드는 동기화가 되어 있기 때문에 TX구간과 RX구간이 서로 맞물려 있는 상태로 진행된다. 이때, Timer_Count = 5로 설정한다. 먼저, 송신노드는 패킷수신한도수 만큼 TX구간을 반복하면서 APDU#n을 전송한다. APDU는 패킷번호와 실데이터를 포함하고, 실데이터의 크기는 패킷수신한도크기와 일치한다. 다음, 수신노드는 패킷수신한도수 만큼 RX구간을 반복하면서 APDU#n을 수신한다. 다음, 송신노드의 TX구간이 끝나면 RX구간으로 상태를 전이하여 수신노드의 응답을 기다린다. 다음, 수신노드는 RX구간이 끝나면 NPDU#4를 송신노드에 전송한다. NPDU#4는 수신받은 패킷의 번호와 전송율에 의해 계산된 패킷수신한도수를 포함한다. 만약 APDU#n을 수신못하는 경우, Timer_Count를 1만큼 감소하고 Timer_Count 0이 되면 데이터 수신을 포기하고 Reset한다. 다음, 송신노드가 NPDU#4를 수신하면 다음에 보낼 패킷의 번호를 기록하고 패킷수신한도수를 설정한다. 만약 NPDU#4를 수신하지 못하면 Timer_Count를 1씩 감소하고 Timer_Count가 0이 되면 데이터 전송을 포기하고 Reset한다. 다음, 모든 데이터를 전송할 때까지 전술한 과정을 반복 수행한다.
이하, 본 발명에 따른 업데이트 방법에 있어서, 무선 센서 네트워크를 구성하는 각 노드의 부트 프로그램의 동작을 구체적으로 설명한다. 도 7은 상기 부트 프로그램의 동작을 순차적으로 도시한 흐름도이다.
도 7을 참조하면, 노드의 전원을 켜면 부트 프로그램이 수행된다. 먼저 업데이트_플래그를 확인하여(단계 700), 업데이트_플래그가 'True'로 설정된 경우 펌웨어의 업데이트 단계를 실행하며, 업데이트_플래그가 'True'가 아닌 경우 일반적인 부팅 단계를 실행한다.
상기 펌웨어의 업데이트 단계는 다음의 과정으로 이루어진다. 먼저 새로운 펌웨어가 기록되어 있는 메모리에서 펌웨어에 대한 데이터를 읽어와서(단계 710) 프로그램 메모리에 기록한다(단계 712). 모든 펨웨어를 프로그램 메모리에 기록하면 업데이트 완료_플래그를 셋하고(단계 714) 노드 자신의 네트워크 위치 정보를 나타내는 깊이 정보(depth)에 기반하여 일정시간 기다렸다가(단계 716) 새로이 업데이트된 펌웨어의 프로그램을 수행한다(단계 730).
상기 일반적인 부팅 단계는 다음의 과정으로 이루어진다. 먼저, 컴퓨터와 같은 외부의 펌웨어 다운로더(Downloader)와 연결되었는지를 확인한다(단계 720). 만약, 다운로더와 연결되어 있는 경우, 다운로더로부터 펌웨어를 수신받고, 수신된 펌웨어를 프로그램 메모리에 기록한 후(단계 722), 모든 펌웨어의 기록이 완료되면 해당 프로그램을 실행한다(단계 730). 만약 다운로더와 연결되어 있지 아니한 경우, 프로그램 메모리에 기록되어 있는 기존의 프로그램을 실행한다(단계 730).
이하, 본 발명에 따른 업데이트 방법에 있어서, 무선 센서 네트워크의 서버에서 각 노드들의 펌웨어 업데이트 완료시점을 확인하는 과정을 구체적으로 설명한다.
먼저, 네트워크의 최하위 노드는 일정한 시간마다 자신의 깊이(depth) 정보를 서버에게 전송한다. 서버는 최하위 노드의 깊이(depth) 정보를 수신하여 현 네트워크의 노드 개수를 파악한다. 한편, 서버는 각 노드에 대한 펌웨어 업데이트를 실행하기 전에 가장 최근의 깊이(depth) 정보를 기록하고 펌웨어를 전송한다.
새로운 펌웨어로 업데이트 후, 업데이트된 펌웨어를 실행하여 네트워크를 구성하는 노드들은 자신의 깊이(depth) 정보를 서버에게 전송한다. 서버는 펌웨어 전송 전의 깊이 정보와 펌웨어 전송 후 새롭게 구성되는 네트워크상의 노드의 깊이 정보를 비교한다. 만약 업데이트 전후의 각 깊이 정보가 동일한 경우, 업데이트 전의 네트워크 노드 개수와 업데이트 후의 노드 개수를 같다고 판단하여 새로운 펌웨어로 네트워크 구성이 완료되었음을 확인한다.
이상에서 본 발명에 대하여 그 바람직한 실시예를 중심으로 설명하였으나, 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 그리고, 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명에 따른 방법은 무선 센서 네트워크 또는 유비쿼터스 센서 네트워크를 구성하는 센서 노드들의 업데이트 방법에 관한 것으로서, 여러 지역에 산재되어 있는 센서 노드들로 구성되는 무선 센서 네트워크 또는 유비쿼터스 센서 네트워크 분야에 널리 사용될 수 있다.
도 1은 본 발명의 바람직한 실시예에 따른 노드들의 펌웨어 업데이트 방법을 전체적으로 설명하는 흐름도이다.
도 2는 본 발명의 바람직한 실시예에 따른 업데이트 방법에서의 게이트웨이와 싱크 노드간의 펌웨어 전송 과정을 설명한 흐름도이다.
도 3은 본 발명의 바람직한 실시예에 따른 업데이트 방법에서의 각 노드들로의 펌웨어 전송 과정을 설명한 흐름도이며, 도 4는 펌웨어 전송이 실패된 경우의 전송 과정을 설명한 흐름도이다.
도 5는 본 발명의 바람직한 실시예에 따라 송신 노드가 수신 노드에 접속을 시도하여 동기화하는 과정을 순차적으로 도시한 흐름도이다.
도 6은 본 발명의 바람직한 실시예에 따라 동기화된 송신 노드 및 수신 노드가 데이터를 전송하는 과정을 순차적으로 도시한 흐름도이다.
도 7은 본 발명의 바람직한 실시예에 따른 업데이트 방법에 있어서, 각 노드의 부트 프로그램의 동작을 순차적으로 도시한 흐름도이다.

Claims (4)

  1. 삭제
  2. 서버, 게이트웨이 및 다수개의 노드들로 구성되는 무선 센서 네트워크를 구성하는 각 노드의 펌웨어를 업데이트시키는 방법에 있어서,
    상기 서버로부터 게이트웨이를 경유하여 최상위 노드로 업데이트시킬 펌웨어를 전송하는 단계;
    최상위 노드로부터 최하위 노드까지 무선 통신을 이용하여 순차적으로 상기 펌웨어를 전송하며, 펌웨어를 전송받은 각 노드는 상기 펌웨어를 자신의 메모리에 기록하는 단계,
    상기 모든 노드들의 펌웨어의 기록이 완료된 경우, 각 노드들의 부트 프로그램을 구동시켜 상기 메모리에 저장된 펌웨어를 프로그램 메모리에 기록한 후, 각 노드에 기록된 펌웨어들을 실행시켜, 각 노드들이 주변의 노드들과 통신하여 새로운 네트워크를 구성하는 단계;
    를 구비하고,
    상기 서버는 업데이트시킬 펌웨어를 전송하기 전에 최하위 노드의 깊이 정보를 획득하여 저장하며, 모든 노드에서의 펌웨어의 업데이트가 완료된 후에 새로이 구성된 네트워크의 최하위 노드의 깊이 정보를 획득하고, 업데이트 전의 최하위 노드의 깊이 정보와 업데이트 후의 최하위 노드의 깊이 정보를 비교하여 이들이 동일하면 업데이트가 완료되었음을 확인하는 것을 특징으로 하는 무선 센서 네트워크에서의 각 노드들에 대한 펌웨어 업데이트 방법.
  3. 서버, 게이트웨이 및 다수개의 노드들로 구성되는 무선 센서 네트워크를 구성하는 각 노드의 펌웨어를 업데이트시키는 방법에 있어서,
    상기 서버로부터 게이트웨이를 경유하여 최상위 노드로 업데이트시킬 펌웨어를 전송하는 단계;
    최상위 노드로부터 최하위 노드까지 무선 통신을 이용하여 순차적으로 상기 펌웨어를 전송하며, 펌웨어를 전송받은 각 노드는 상기 펌웨어를 자신의 메모리에 기록하는 단계,
    상기 모든 노드들의 펌웨어의 기록이 완료된 경우, 각 노드들의 부트 프로그램을 구동시켜 상기 메모리에 저장된 펌웨어를 프로그램 메모리에 기록한 후, 각 노드에 기록된 펌웨어들을 실행시켜, 각 노드들이 주변의 노드들과 통신하여 새로운 네트워크를 구성하는 단계;
    를 구비하고,
    상기 무선 센서 네트워크를 구성하는 각 노드들은 데이터를 송수신하기 위한 송신 구간, 수신 구간 및 휴지 구간을 구비하고,
    상위 노드는 송신 구간 동안 펌웨어의 전송을 알리는 데이터 패킷을 송신하며, 하위 노드는 수신 구간 동안 상위 노드로부터 펌웨어 전송을 알리는 데이터 패킷이 수신되는 경우, 자신의 휴지 구간동안 상위 노드로부터 펌웨어를 수신하는 것을 특징으로 하는 무선 센서 네트워크에서의 각 노드들에 대한 펌웨어 업데이트 방법.
  4. 서버, 게이트웨이 및 다수개의 노드들로 구성되는 무선 센서 네트워크를 구성하는 각 노드의 펌웨어를 업데이트시키는 방법에 있어서,
    상기 서버로부터 게이트웨이를 경유하여 최상위 노드로 업데이트시킬 펌웨어를 전송하는 단계;
    최상위 노드로부터 최하위 노드까지 무선 통신을 이용하여 순차적으로 상기 펌웨어를 전송하며, 펌웨어를 전송받은 각 노드는 상기 펌웨어를 자신의 메모리에 기록하는 단계,
    상기 모든 노드들의 펌웨어의 기록이 완료된 경우, 각 노드들의 부트 프로그램을 구동시켜 상기 메모리에 저장된 펌웨어를 프로그램 메모리에 기록한 후, 각 노드에 기록된 펌웨어들을 실행시켜, 각 노드들이 주변의 노드들과 통신하여 새로운 네트워크를 구성하는 단계;
    를 구비하고,
    상기 부트 프로그램은
    (a) 만약 업데이트_플래그가 'True'로 설정된 경우, 사전에 메모리에 저장된 펌웨어를 판독하여 프로그램 메모리에 기록하는 단계;
    (b) 만약 업데이트_플래그가 'True'로 설정되지 않고 외부의 펌웨어 다운로더(Downloader)와 연결된 경우, 상기 펌웨어 다운로더로부터 펌웨어를 수신하고, 수신된 펌웨어를 프로그램 메모리에 기록하는 단계;
    (c) 프로그램 메모리에 기록된 펌웨어의 응용 프로그램을 실행하는 단계;
    를 순차적으로 실행하여, 각 노드들을 부팅하는 것을 특징으로 하는 무선 센서 네트워크에서의 각 노드들에 대한 펌웨어 업데이트 방법.
KR1020070084768A 2007-07-26 2007-08-23 무선 센서 네트워크의 노드들에 대한 펌웨어 업데이트 방법 KR100862971B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2008/003551 WO2009014319A1 (en) 2007-07-26 2008-06-23 Method for updating firmware of sensor nodes on the wireless sensor network
US12/670,314 US8572600B2 (en) 2007-07-26 2008-06-23 Method for updating firmware of sensor nodes on the wireless sensor network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20070075207 2007-07-26
KR1020070075207 2007-07-26

Publications (1)

Publication Number Publication Date
KR100862971B1 true KR100862971B1 (ko) 2008-10-13

Family

ID=40153196

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070084768A KR100862971B1 (ko) 2007-07-26 2007-08-23 무선 센서 네트워크의 노드들에 대한 펌웨어 업데이트 방법

Country Status (3)

Country Link
US (1) US8572600B2 (ko)
KR (1) KR100862971B1 (ko)
WO (1) WO2009014319A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100951622B1 (ko) 2008-05-02 2010-04-09 강릉원주대학교산학협력단 무선센서 네트워크의 노드에 대한 펌웨어 업데이트 방법 및이에 사용되는 펌웨어 업데이트장치
KR101001353B1 (ko) 2008-11-13 2010-12-14 경희대학교 산학협력단 센서 네트워크에서 센서 노드들 사이의 통신을 이용하여 예측 불가능한 이벤트를 자동으로 관리하는 방법
KR20170042947A (ko) * 2015-10-12 2017-04-20 에스케이텔레콤 주식회사 데이터 전송 및 수신 방법, 그리고 이를 위한 장치
WO2019208870A1 (ko) * 2018-04-26 2019-10-31 ㈜에이투유정보통신 무선 네트워크를 통해 프로그램을 업데이트하는 무선기기 및 무선시스템
US11886887B2 (en) 2020-09-09 2024-01-30 Samsung Electronics Co., Ltd. Management method and device for updating underlying multi-level firmware programs using verifying controllers

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100070899A (ko) * 2008-12-18 2010-06-28 한국전자통신연구원 가상 파티션 기법을 이용한 노드 갱신 시스템 및 그 제어방법
EP2328325B1 (en) 2009-11-26 2014-01-08 Alcatel Lucent Management framework and method for retrieving software identification information pertaining to a sensor in a network
US9720676B2 (en) * 2012-02-09 2017-08-01 International Business Machines Corporation Implementing updates to source code executing on a plurality of compute nodes
KR101353585B1 (ko) * 2012-06-11 2014-02-11 강릉원주대학교산학협력단 무선 센서 네트워크 시스템 및 노드장치, 센싱 메시지 처리방법
US9165456B2 (en) * 2012-07-24 2015-10-20 Mueller International, Llc Systems and methods for distributing data within a mesh network
US9286047B1 (en) 2013-02-13 2016-03-15 Cisco Technology, Inc. Deployment and upgrade of network devices in a network environment
US9851982B2 (en) 2014-02-28 2017-12-26 Tyco Fire & Security Gmbh Emergency video camera system
US10878323B2 (en) 2014-02-28 2020-12-29 Tyco Fire & Security Gmbh Rules engine combined with message routing
US9513364B2 (en) 2014-04-02 2016-12-06 Tyco Fire & Security Gmbh Personnel authentication and tracking system
DE102014113137A1 (de) 2014-09-11 2016-03-17 Nogs Gmbh Kommunikation zwischen Netzwerkknoten mittels Skripten
DE102015115402A1 (de) 2014-09-11 2016-03-31 Nogs Gmbh Konfiguration von Netzwerkknoten mittels Skripten
US10045427B2 (en) 2014-09-29 2018-08-07 Philips Lighting Holding B.V. System and method of autonomous restore point creation and restoration for luminaire controllers
US10374904B2 (en) 2015-05-15 2019-08-06 Cisco Technology, Inc. Diagnostic network visualization
US9800497B2 (en) 2015-05-27 2017-10-24 Cisco Technology, Inc. Operations, administration and management (OAM) in overlay data center environments
US10089099B2 (en) 2015-06-05 2018-10-02 Cisco Technology, Inc. Automatic software upgrade
US10033766B2 (en) 2015-06-05 2018-07-24 Cisco Technology, Inc. Policy-driven compliance
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US9967158B2 (en) 2015-06-05 2018-05-08 Cisco Technology, Inc. Interactive hierarchical network chord diagram for application dependency mapping
US10484512B2 (en) 2015-08-31 2019-11-19 Ayla Networks, Inc. Management of multi-radio gateway device using virtual gateway device
US10404832B2 (en) * 2015-08-31 2019-09-03 Ayla Networks, Inc. Management of gateway device using virtual gateway device
WO2017165454A1 (en) * 2016-03-21 2017-09-28 Deep Space Industries Inc. Method for remote system onboard software updating and protection
US10931629B2 (en) 2016-05-27 2021-02-23 Cisco Technology, Inc. Techniques for managing software defined networking controller in-band communications in a data center network
US10171357B2 (en) 2016-05-27 2019-01-01 Cisco Technology, Inc. Techniques for managing software defined networking controller in-band communications in a data center network
US10289438B2 (en) 2016-06-16 2019-05-14 Cisco Technology, Inc. Techniques for coordination of application components deployed on distributed virtual machines
US10708183B2 (en) 2016-07-21 2020-07-07 Cisco Technology, Inc. System and method of providing segment routing as a service
US10972388B2 (en) 2016-11-22 2021-04-06 Cisco Technology, Inc. Federated microburst detection
US10708152B2 (en) 2017-03-23 2020-07-07 Cisco Technology, Inc. Predicting application and network performance
US10523512B2 (en) 2017-03-24 2019-12-31 Cisco Technology, Inc. Network agent for generating platform specific network policies
US10594560B2 (en) 2017-03-27 2020-03-17 Cisco Technology, Inc. Intent driven network policy platform
US10764141B2 (en) 2017-03-27 2020-09-01 Cisco Technology, Inc. Network agent for reporting to a network policy system
US10250446B2 (en) 2017-03-27 2019-04-02 Cisco Technology, Inc. Distributed policy store
US10873794B2 (en) 2017-03-28 2020-12-22 Cisco Technology, Inc. Flowlet resolution for application performance monitoring and management
US10133566B2 (en) * 2017-03-30 2018-11-20 Adtran, Inc. Software upgrading system and method in a distributed multi-node network environment
US10680887B2 (en) 2017-07-21 2020-06-09 Cisco Technology, Inc. Remote device status audit and recovery
US10313850B2 (en) * 2017-07-24 2019-06-04 Honeywell International Inc. Systems and methods for upgrading firmware in multiple devices of a wireless fire detection system
US10554501B2 (en) 2017-10-23 2020-02-04 Cisco Technology, Inc. Network migration assistant
US10523541B2 (en) 2017-10-25 2019-12-31 Cisco Technology, Inc. Federated network and application data analytics platform
US10594542B2 (en) 2017-10-27 2020-03-17 Cisco Technology, Inc. System and method for network root cause analysis
US11233821B2 (en) 2018-01-04 2022-01-25 Cisco Technology, Inc. Network intrusion counter-intelligence
US11765046B1 (en) 2018-01-11 2023-09-19 Cisco Technology, Inc. Endpoint cluster assignment and query generation
US10826803B2 (en) 2018-01-25 2020-11-03 Cisco Technology, Inc. Mechanism for facilitating efficient policy updates
US10873593B2 (en) 2018-01-25 2020-12-22 Cisco Technology, Inc. Mechanism for identifying differences between network snapshots
US10798015B2 (en) 2018-01-25 2020-10-06 Cisco Technology, Inc. Discovery of middleboxes using traffic flow stitching
US10999149B2 (en) 2018-01-25 2021-05-04 Cisco Technology, Inc. Automatic configuration discovery based on traffic flow data
US10917438B2 (en) 2018-01-25 2021-02-09 Cisco Technology, Inc. Secure publishing for policy updates
US10574575B2 (en) 2018-01-25 2020-02-25 Cisco Technology, Inc. Network flow stitching using middle box flow stitching
US11128700B2 (en) 2018-01-26 2021-09-21 Cisco Technology, Inc. Load balancing configuration based on traffic flow telemetry
CN109634643B (zh) * 2018-11-19 2022-08-12 冶金自动化研究设计院 人防指挥所的三防自动化设备固件升级系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050106644A (ko) * 2004-05-06 2005-11-11 삼성전자주식회사 무선 펌웨어 업그레이드 가능 무선 단말기 및 그 방법
KR20070000738A (ko) * 2005-06-28 2007-01-03 에스케이 텔레콤주식회사 이동 통신 단말기를 이용한 펌웨어 업그레이드 시스템 및방법
KR20070038810A (ko) * 2005-10-07 2007-04-11 주식회사 대우일렉트로닉스 펌웨어 업그레이드 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7088822B2 (en) * 2001-02-13 2006-08-08 Sony Corporation Information playback device, information recording device, information playback method, information recording method, and information recording medium and program storage medium used therewith
JP3912091B2 (ja) * 2001-12-04 2007-05-09 ソニー株式会社 データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
US6961595B2 (en) * 2002-08-08 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for operating mobile nodes in multiple states
JP4408033B2 (ja) * 2002-09-24 2010-02-03 株式会社リコー 遠隔管理システム
US20050028001A1 (en) * 2003-07-29 2005-02-03 Jian Huang Secured software patching and upgrade method for densely deployed networks having spanning-tree topology
KR20050078773A (ko) * 2004-02-02 2005-08-08 삼성전자주식회사 브로드캐스트 암호화 방법을 위한 사용자 키 할당 방법
JP2005223504A (ja) * 2004-02-04 2005-08-18 Sony Corp サービス提供サーバ、情報処理装置、およびデータ処理方法、並びにコンピュータ・プログラム
US8984500B2 (en) * 2004-06-14 2015-03-17 Hewlett-Packard Development Company, L.P. Programming a computing node connected to a sensor and an actuator
US7924150B2 (en) * 2004-11-08 2011-04-12 Koninklijke Philips Electronics N.V. Safe identification and association of wireless sensors
US8364786B2 (en) * 2005-01-20 2013-01-29 The Regents Of The University Of California Synthesizing a scalable and incrementally updatable system software infrastructure for sensor networks
US8107397B1 (en) * 2006-06-05 2012-01-31 Purdue Research Foundation Protocol for secure and energy-efficient reprogramming of wireless multi-hop sensor networks
TWI315850B (en) * 2006-06-08 2009-10-11 Nat Univ Tsing Hua Upgrading device and method using bootloader in wireless sensor networks
US7983685B2 (en) * 2006-12-07 2011-07-19 Innovative Wireless Technologies, Inc. Method and apparatus for management of a global wireless sensor network
US8351369B2 (en) * 2007-12-12 2013-01-08 Synapsense Corporation Apparatus and method for adaptive data packet scheduling in mesh networks
US8331282B2 (en) * 2007-12-28 2012-12-11 Synapsense Corporation Apparatus and method for adaptive channel hopping in mesh networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050106644A (ko) * 2004-05-06 2005-11-11 삼성전자주식회사 무선 펌웨어 업그레이드 가능 무선 단말기 및 그 방법
KR20070000738A (ko) * 2005-06-28 2007-01-03 에스케이 텔레콤주식회사 이동 통신 단말기를 이용한 펌웨어 업그레이드 시스템 및방법
KR20070038810A (ko) * 2005-10-07 2007-04-11 주식회사 대우일렉트로닉스 펌웨어 업그레이드 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100951622B1 (ko) 2008-05-02 2010-04-09 강릉원주대학교산학협력단 무선센서 네트워크의 노드에 대한 펌웨어 업데이트 방법 및이에 사용되는 펌웨어 업데이트장치
KR101001353B1 (ko) 2008-11-13 2010-12-14 경희대학교 산학협력단 센서 네트워크에서 센서 노드들 사이의 통신을 이용하여 예측 불가능한 이벤트를 자동으로 관리하는 방법
KR20170042947A (ko) * 2015-10-12 2017-04-20 에스케이텔레콤 주식회사 데이터 전송 및 수신 방법, 그리고 이를 위한 장치
KR102120770B1 (ko) 2015-10-12 2020-06-09 에스케이텔레콤 주식회사 데이터 전송 및 수신 방법, 그리고 이를 위한 장치
WO2019208870A1 (ko) * 2018-04-26 2019-10-31 ㈜에이투유정보통신 무선 네트워크를 통해 프로그램을 업데이트하는 무선기기 및 무선시스템
US11886887B2 (en) 2020-09-09 2024-01-30 Samsung Electronics Co., Ltd. Management method and device for updating underlying multi-level firmware programs using verifying controllers

Also Published As

Publication number Publication date
US20100205596A1 (en) 2010-08-12
US8572600B2 (en) 2013-10-29
WO2009014319A1 (en) 2009-01-29

Similar Documents

Publication Publication Date Title
KR100862971B1 (ko) 무선 센서 네트워크의 노드들에 대한 펌웨어 업데이트 방법
JP5872731B2 (ja) クラスタの複数のノードのそれぞれに対してリンクの障害の検出を伝えるためのコンピュータ実装方法、非一時的なコンピュータ可読媒体およびコンピュータシステム
JP2008522459A (ja) 医療装置及びセンサの無線アドホックネットワークにおける時間同期
CN100556036C (zh) 执行数据传送请求的方法、系统和程序
CN105229972B (zh) 增强的动态主机配置协议方法
US9467517B2 (en) Method and apparatus for remote management of device
JP5233770B2 (ja) ゲートウェイ装置、その制御方法、システム、制御方法を実行させるためのプログラム及びそれを記録した記録媒体
CN104935634B (zh) 基于分布共享存储的移动设备数据共享方法
KR101971259B1 (ko) IoT 통신모듈에 설치된 프로그램을 업그레이드하는 운영관리 장치 및 그 구동방법
CN101360127A (zh) 文件更新方法及传输系统
JP2005182481A (ja) ネットワーク機器
CN102693375A (zh) 信息处理设备、信息处理方法、和信息处理系统
CN103477331A (zh) 启动装置、目标装置、通信系统、超时检测方法以及超时检测程序
CN102238603A (zh) 一种无线传感器网络的更新方法
CN103685489A (zh) 无线网络中文件传输方法
CN105592139A (zh) 一种分布式文件系统管理平台的ha实现方法及装置
EP2478668B1 (en) Mobile node assignement to a router in a wpan
JP4589749B2 (ja) データ収集システム
KR20070111591A (ko) 컨텐츠 관리 장치 및 그 방법
CN110050473B (zh) 无线设备同步的系统和方法
JP2019128653A (ja) 中継装置及び温水供給装置
JP2015176234A (ja) センサネットワークのソフトウェア配信システム、無線端末、ソフトウェア配信方法、および、プログラム
CN103684681A (zh) 传输装置与传输方法
JP5174718B2 (ja) ネットワークシステムおよびネットワークアダプタ
JP4973516B2 (ja) ネットワーク管理システム、ネットワーク管理装置、装置管理方法及び装置管理制御プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120928

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130821

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140822

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150908

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160831

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180921

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20191001

Year of fee payment: 12