KR101073360B1 - 부트로더 기반의 멀티 홉 노드 업데이트 방법, 그에 따른 에이전트 노드 운용 방법 및 타겟 노드 운용 방법 - Google Patents

부트로더 기반의 멀티 홉 노드 업데이트 방법, 그에 따른 에이전트 노드 운용 방법 및 타겟 노드 운용 방법 Download PDF

Info

Publication number
KR101073360B1
KR101073360B1 KR1020080127280A KR20080127280A KR101073360B1 KR 101073360 B1 KR101073360 B1 KR 101073360B1 KR 1020080127280 A KR1020080127280 A KR 1020080127280A KR 20080127280 A KR20080127280 A KR 20080127280A KR 101073360 B1 KR101073360 B1 KR 101073360B1
Authority
KR
South Korea
Prior art keywords
node
agent
update
transmitting
software
Prior art date
Application number
KR1020080127280A
Other languages
English (en)
Other versions
KR20100068802A (ko
Inventor
김정식
김광수
이호근
김규형
배장식
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020080127280A priority Critical patent/KR101073360B1/ko
Publication of KR20100068802A publication Critical patent/KR20100068802A/ko
Application granted granted Critical
Publication of KR101073360B1 publication Critical patent/KR101073360B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/02Data link layer protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/04Large scale networks; Deep hierarchical networks
    • H04W84/08Trunked mobile radio systems

Landscapes

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

Abstract

본 발명은 멀티 홉 센서 네트워크의 원격 노드 업데이트 기술에 관한 것으로, 일면에 따른 멀티 홉 노드 업데이트 방법은, 부트로더를 실행하라는 업데이트 준비 메시지를 타겟 노드에 전송하는 단계; 및 업데이트용 소프트웨어 및 상기 업데이트용 소프트웨어를 상기 타겟 노드에 MAC 기반 통신으로 전송하라는 제어 메시지를 제1 에이전트 노드에 전송하는 단계를 포함하되, 상기 타겟 노드는 상기 소프트웨어로 업데이트되는 대상 노드이고, 상기 제1 에이전트 노드는 상기 타겟 노드와 1홉 거리의 노드이고, 상기 타겟 노드와 상기 제1 에이전트 노드는 MAC(Media Access Control) 계층을 기반으로 통신하는 것을 특징으로 한다.
센서 네트워크, 멀티 홉, 노드, 소프트웨어, 업데이트

Description

부트로더 기반의 멀티 홉 노드 업데이트 방법, 그에 따른 에이전트 노드 운용 방법 및 타겟 노드 운용 방법{Method for updating multi-hop node using boot-loader, method for operating agent node and method for operating target node thereof}
본 발명은 센서 네트워크의 노드 업데이트 기술에 관한 것으로서, 구체적으로는 센서 네트워크 노드에 대하여 원격지에서 소프트웨어를 업데이트 할 수 있는 멀티 홉 노드 업데이트 기술에 관한 것이다.
최근 무선 통신 기술의 발달과 하드웨어 기술의 발전에 힘입어 저렴한 가격으로 작은 크기의 무선 통신 노드가 개발됨에 따라, 이러한 무선 통신 노드를 사용한 응용의 하나로 무선 센서 네트워크에 관한 연구가 활발히 이루어지고 있다.
무선 센서 네트워크는 데이터를 모아 필요한 정보로 가공하는 역할을 하는 싱크 노드와, 센서를 갖추고 관심 데이터를 수집하는 역할을 하는 센서 노드들로 구성된다. 이러한 센서 노드들은 센서 필드라고 불리는 주로 사람이 활동하기 힘든 위험한 장소에 배치되어 관심 있는 데이터를 수집하고, 그 수집된 데이터를 싱크 노드를 통하여 서버에 전송한다.
통상적으로 이러한 센서 노드들은 사람의 활동이나 접근이 용이 하지 않은 장소에 주로 배치되고 있으며, 이러한 위치적 요인에 의하여 센서 노드의 설치 및 유지보수가 어렵다.
특히 센서 네트워크 유지보수에 있어서 센서 노드에 대하여 하드웨어 또는 소프트웨어에 대한 수정이 필요한 경우 센서 노드가 배치된 장소에 직접가서 센서 노드를 수거하여 수정하거나 교체를 실시해야 하는 불편함이 있다.
예를 들어, 센서 노드의 소프트웨어를 유지보수 하기 위하여 소프트웨어 업데이트를 실시하는 경우, 직접 센서 노드에 유선으로 접속하여 업데이트를 수행하거나 또는 무선으로 업데이트를 실시할 수 있다.
그러나 종래기술에 의한 무선을 통한 센서노드를 업데이트 하는 방법은, 소프트웨어 업데이트 대상인 타겟 노드와 1홉 거리에서 무선통신을 수행하여야만 하는 문제점이 있다. 따라서, 타겟 노드를 업데이트 하기 위해서는 타겟 노드가 배치된 물리적인 공간에 근접하여야만 무선으로 업데이트를 수행할 수 있는 단점이 있다.
본 발명은 전술한 문제점을 해결하기 위한 것으로, 본 발명이 해결하고자 하는 과제는 원격지의 관리 서버에서 타겟 노드와 1홉 거리인 에이전트 노드를 경유하여 타겟 노드의 소프트웨어를 업데이트 할 수 있는 부트로더 기반의 멀티 홉 노드 업데이트 방법, 그에 따른 에이전트 노드 운용 방법 및 타겟 노드 운용 방법을 제공하는 것이다.
전술한 과제를 해결하기 위하여, 본 발명의 일면에 따른 멀티 홉 노드 업데이트 방법은, 다수의 노드를 포함하는 센서 네트워크를 관리하는 관리 서버에 의해 수행되는 멀티 홉 노드 업데이트 방법으로서, 부트로더를 실행하라는 업데이트 준비 메시지를 상기 다수의 노드 중 타겟 노드에 전송하는 단계; 및 업데이트용 소프트웨어 및 상기 업데이트용 소프트웨어를 상기 타겟 노드에 MAC 기반 통신으로 전송하라는 제어 메시지를 상기 다수의 노드 중 제1 에이전트 노드에 전송하는 단계를 포함하되, 상기 타겟 노드는 상기 소프트웨어로 업데이트되는 대상 노드이고, 상기 제1 에이전트 노드는 상기 타겟 노드와 1홉 거리의 노드이고, 상기 타겟 노드와 상기 제1 에이전트 노드는 MAC(Media Access Control) 계층을 기반으로 통신하는 것을 특징으로 한다.
본 발명의 다른 면에 따른 에이전트 노드 운용 방법은, 관리 서버로부터 전송된 소프트웨어 이미지를 업데이트 대상인 타겟 노드로 전달하는 에이전트 노드의 운용 방법에 있어서, 라우팅 프로토콜을 이용하여 상기 관리 서버로부터 상기 소프트웨어 이미지 및 그에 따른 제어 메시지를 수신하는 단계; 상기 제어 메시지가 상 기 타겟 노드로의 상기 소프트웨어 이미지 전달을 지시하면, MAC(Media Access Control) 프로토톨을 이용하여 상기 타겟 노드로 상기 소프트웨어 이미지를 전송하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 면에 따른 타겟 노드 운용 방법은, 관리 서버로부터 제공된 업데이트용 소프트웨어를 이용하여 업데이트하는 타겟 노드의 운용 방법에 있어서, 1홉 거리의 적어도 하나의 에이전트 노드에 대한 정보를 구성하여 상기 관리 서버에 전송하는 단계; 상기 관리 서버로부터 부트로더를 실행하라는 업데이트 준비 메시지를 수신하면, 실행 중인 어플리케이션을 종료하고 부트로더를 실행하는 단계; 실행된 부트로더를 이용하여 상기 적어도 하나의 에이전트 노드 중 선택된 에이전트 노드와 MAC(Media Access Control) 프로토콜을 이용하여 업데이트용 소프트웨어를 수신하는 단계를 포함하는 것을 특징으로 한다.
본 발명은, 에이전트 노드를 이용하여 타겟 노드의 소프트웨어를 업데이트 하므로써, 종래의 1홉 거리의 무선 업데이트 기술에 비해 멀티 홉의 원격지에서도 타겟 노드의 소프트웨어를 업데이트 할 수 있는 효과가 있다.
또한, 에이전트 노드와 타겟 노드는 1홉 거리에서 MAC(Media Access Control) 기반의 무선통신을 통하여 업데이트용 소프트웨어를 송수신하므로, 센서 네트워크의 라우팅 프로토콜이 변경되어도 업데이트를 실시할 수 있는 효과가 있다.
또한 타겟 노드의 부트로더는 업데이트를 위하여 라우팅 프로토콜을 구성하 거나 유지하지 않아도 업데이트를 실시할 수 있는 효과가 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다.
먼저, 본 명세서에서는 라우팅 프로토콜, 부트로더 모드, 어플리케이션 모드 또는 응용프로그램 모드, 이미지 또는 소프트웨어 이미지라는 용어가 사용되는데, 이들 각 용어는 본 명세서에서 다음과 같은 의미를 가진다. 라우팅 프로토콜은 컴퓨터 네트워크 상의 두 개의 노드 사이의 경로를 선택할 수 있도록 하는 정보(라우팅 정보)를 라우터들 상호간에 동적으로 교신하기 위해 약속된 하나의 언어를 말하며, 부트로더(boot loader, 초기적재프로그램)란 운영 체제가 시동되기 이전에 미리 실행되면서 커널이 올바르게 시동되기 위해 필요한 모든 관련 작업을 마무리하고 최종적으로 운영 체제를 시동시키기 위한 목적을 가진 프로그램을 말하고, 이에 따라 부트로더 모드란 부트로더가 실행되는 상태를 말한다. 이와 유사하게 어플리케이션 모드 또는 응용프로그램 모드는 어플리케이션(응용 프로그램)이 실행되는 상태를 말한다. 이미지 또는 소프트웨어 이미지는 대상이 되는 객체(파일, 저장매체, 장치 등)와 동일한 내용을 갖는 복사본의 의미로 사용된다.
도 1은 본 발명에 따른 무선 네트워크를 개략적으로 도시하는 구성도이다.
도 1에 도시된 바와 같이, 관리 서버(100)는 싱크 노드(210)와 인터넷으로 연결되어 있으며, 싱크 노드(210)를 통하여 센서 네트워크 노드를 구성하는 노드들과 통신을 수행할 수 있다. 타겟 노드(230)는 본 발명에 따라 소프트웨어를 업데이트 하려고 하는 대상 노드이다.
업데이트 대상이 되는 타겟 노드(230)는 한정된 메모리 공간을 가지고 있으므로(예컨대, 메모리를 현재 실행 중인 프로그램에 최적화 한 경우), 업데이트용 소프트웨어 전체를 메모리에 저장할 수 없을 수 있다. 따라서 업데이트용 소프트웨어의 일부를 수신하여 메모리에 저장하고 현재 프로그램과 교체하는 방법을 이용해야 하나, 이러한 경우 현재 운영 중인 프로그램이 저장된 메모리 위치에 쓰기가 이루어지게 되므로 메모리 변경에 의한 동작오류가 발생할 수 있으며, 이로 인하여 센서 노드가 멈출 수 있다.
따라서 본 발명의 실시예에서는, 타겟 노드(230)는 소프트웨어를 업데이트 하기 위하여 부트로더에 업데이트 기능을 갖출 수 있으며, 따라서 타겟 노드(230)는 응용 프로그램 실행 상태(응용 프로그램 모드)가 아닌 부트로더 실행 상태(부트로더 모드)에서 프로그램을 업데이트 할 수 있다.
관리 서버(100)는 타겟 노드(230)에 업데이트를 시작하겠다는 메시지(이하, '업데이트 준비 메시지'라 칭함)를 전송하고, 업데이트 준비 메시지를 받은 타겟 노드(230)는 리부팅을 수행하여 부트로더를 실행함으로써 업데이트 대기상태를 유지할 수 있다. 이후, 업데이트 소프트웨어를 수신하면 타겟 노드(230)는 메모리에 그 수신한 소프트웨어를 순차적으로 쓰고, 관리 서버(100)로부터 업데이트가 종료되었다는 메시지(이하, '업데이트 종료 메시지'라 칭함)를 받으면 리부팅하여 어플리케이션 프로그램을 수행함으로써 업데이트를 마친다.
업데이트를 하는 과정에 대하여 설명하면, 관리 서버(100)는 에이전트 노드(220)를 경유하여 타겟 노드(230)의 업데이트를 실시한다. 에이전트 노드(220)는 타겟 노드(230)와 1 홉 거리에 있는 노드로서 센서 네트워크에 있는 싱크 노드(210)를 포함한 모든 노드(도시된 예에서는 220a, 220b)가 될 수 있다.
이러한 에이전트 노드(220)는 라우팅 프로토콜을 사용하여 관리 서버(100)에서 오는 업데이트용 소프트웨어를 수신한 후, 타겟 노드(230)에게 MAC 기반의 통신으로 1 홉간 거리에서 업데이트용 소프트웨어를 전송할 수 있다. 즉, 관리 서버(100)에서 싱크 노드(210)를 경유하여 에이전트 노드(220)에 이르기까지는 어플리케이션 모드를 통하여 라우팅 프로토콜에 의해 통신이 이루어지고, 에이전트 노드(220)와 타겟 노드(230)는 MAC 프로토콜을 통하여 메시지 등을 통신한다. 이는, 타겟 노드(230)의 부트로더는 라우팅 프로토콜을 탑재하지 않을 수 있으므로, 라우팅 프로토콜이 없이도 통신을 수행하기 위하여 에이전트 노드(220)와 타겟 노드(230)는 MAC 기반의 통신을 수행할 수 있는 것이며, 이를 위하여 에이전트 노 드(220)는 타겟 노드(230)와 1홉 거리에 위치한 노드 중에서 선정될 수 있다.
이하에서는 도 2를 더 참조하여 본 발명의 실시예에 따른 부트로더 기반의 멀티 홉 노드 업데이트 방법에 대하여 설명한다.
도 2는 본 발명의 실시예에 따른 업데이트 방법을 도시한 순서도이다.
센서 네트워크 상의 어느 노드에 대하여 업데이트용 소프트웨어를 업데이트 할 것인지 결정이 나면, 즉 타겟 노드(230)가 선정이 되면 그 타겟 노드(230)의 에이전트 노드를 선정한다. 즉, 관리 서버(100)는 에이전트 노드(220)를 선정하기 위해 타겟 노드(230)에게 에이전트 정보 요청 메시지(Agent Information Request)를 전송한다(S110).
에이전트 정보 요청 메시지를 수신한 타겟 노드(230)는 1홉 이웃에 있는 노드들에 대하여 정보를 수집하고(S120), 그 수집된 정보를 기반으로 에이전트 노드 후보에 대한 정보를 구성하여 에이전트 정보 응답 메시지(Agent Information Reply)로서 관리 서버에 전송한다(S130). 에이전트 노드 후보에 대한 정보를 구성하는 과정은 도 3을 참조하여 후술한다.
그 후 관리 서버(100)는 에이전트 후보 정보 중에서 통신을 수행할 에이전트 노드(220)를 선정하고(S140), 타겟 노드(230)에 부트로더를 실행하여 부트로더 모드로 변경하라는 업데이트 준비 메시지(Update Ready Request)를 전송한다(S150).
타겟 노드(230)는 업데이트 준비 메시지를 수신한 후 메시지를 수신하였음을 관리 서버(100)에 알리기 위해 업데이트 준비 응답 메시지(Update Ready Reply)를 전송하고(S160), 실행 중인 어플리케이션을 종료하고 부트로더를 실행하여 부트로 더 모드에 들어간다(S170). 전술한 바와 같이 타겟 노드(230)는 부트로더 모드에서 에이전트 노드(220)와 MAC 기반으로 통신을 수행함으로써 소프트웨어를 업데이트 할 수 있다. 이러한 부트로더 모드는 또한 업데이트용 프로그램을 수신할 때 마다 그에 대한 수신응답 메시지를 에이전트 노드(220)에 전송하도록 할 수 있다.
관리 서버(100)는 업데이트 준비 메시지에 대한 응답 메시지를 수신한 후, 업데이트용 소프트웨어 및 그 업데이트용 소프트웨어를 타겟 노드(230)로 MAC 기반 통신으로 전송하라는 제어메시지를 선정된 에이전트 노드(220)에 전송한다(S180). 이 때, 이러한 제어메시지는 에이전트 노드(220)의 에이전트 레이어에 해당하는 포트 정보일 수 있으며, 이에 대하여는 도 4 및 도 5를 참조하여 후술한다.
에이전트 노드(220)는 관리서버(100)로부터 전송받은 제어 메시지에 따라 타겟 노드(230)에 업데이트용 소프트웨어를 MAC 통신을 기반으로 전송하고(S181), 그에 대한 수신응답 메시지를 MAC 기반 통신방법으로 타겟 노드(230)로부터 수신한 후(S190), 라우팅 프로토콜 기반 통신방법으로 관리 서버(100)에 전송한다(S191).
전술한 바와 같이, 본 발명의 실시예에서는 관리 서버(100)와 에이전트 노드(220)는 라우팅 프로토콜에 의하여 통신을 수행함에 반해, 에이전트 노드(220)와 타겟 노드(230)는 MAC 기반으로 통신을 수행한다. 이는 타겟 노드(230)와 에이전트 노드(220)는 1홉 거리이며, 타겟 노드(230)는 부트로더 모드에서 통신을 수행하기 때문이다. 따라서 이를 위하여 에이전트 노드(220)는 통신 프로토콜의 변환(라우팅 프로토콜과 MAC 프로토콜)이 필요하며, 이에 대해서는 도 4 및 도 5를 참조하여 후술한다.
관리 서버(100)는 에이전트 노드(220)로부터 업데이트용 소프트웨어에 대한 수신응답 메시지를 받기 위하여 일정 시간 대기할 수 있으며, 이 대기 시간 내에 수신 응답 메시지를 수신하지 못하면 에이전트 노드(220)에 업데이트용 소프트웨어 및 제어메시지를 재전송할 수 있다.
또한, 관리 서버(100)는 일정 횟수 이상 재전송을 수행하여도 수신응답 메시지를 받지 못하면, 에이전트 후보에서 다른 에이전트를 선택하여(S140') 그 재선정된 에이전트 노드(220)를 이용하여 업데이트 메시지를 전송하도록 실시할 수 있다. 이를 반복하여 모든 에이전트 노드(220)를 이용하여도 수신 응답 메시지를 받지 못한다면 업데이트용 소프트웨어의 전송을 중지하고 관리자에게 알릴 수 있다.
이러한 에이전트 노드(220)를 경유하여 업데이트 프로그램을 타겟 노드(230)로 전송하는 단계(S180 내지 S191)에 대하여, 도 2에서는 간략히 도시하기 위하여 1회로 도시하였으나, 실제로는 업데이트용 소프트웨어를 적어도 하나의 이미지로 분할하고 그 분할된 이미지 마다 제어메시지를 포함하여 에이전트 노드(220)를 경유하여 타겟 노드(230)로 전송하도록 하는 단계를 그 분할 수 만큼 반복하여 실시할 수 있음은 자명하다. 또한 분할 전송의 경우에도, 관리 서버(100)는 전술한 수신응답 메시지에 대한 대기 및 재전송 요청 절차를 수행할 수 있음은 물론이다.
이러한 절차(S180 내지 S191)를 거처 업데이트용 소프트웨어를 모두 전송하면, 관리 서버(100)는 타겟 노드(230)가 업데이트된 프로그램으로 동작할 수 있도록 응용 프로그램 모드로 변경하라는 메시지(App. Program Mode Request)를 에이전트 노드(220)를 경유하여 전송한다(S200). 타겟 노드(230)는 응용 프로그램 모드로 변경하라는 메시지를 수신하고 그에 대한 응답 메시지(App. Program Mode Reply)를 에이전트 노드(220)를 경유하여 전송한 후(S210), 부트로더 모드에서 응용 프로그램 모드로 변경(S220)한다. 이때 응용 프로그램 모드로 변경했다는 응답 메시지(App. Program Mode Reply)는 어플리케이션 모드(응용 프로그램 모드)로 변경(S220) 후에, 관리 서버(100)에게 직접 또는 에이전트 노드(220)를 경유하여 실시 될 수도 있다.
도 3을 참조하여 도 2의 에이전트 노드 후보를 구성하는 단계에 대하여 구체적으로 설명한다.
도 3은 도 2의 에이전트 노드 후보를 구성하는 단계(S120)의 세부 순서도이다.
도 3에 도시된 바와 같이, 관리 서버(100)로부터 에이전트 정보 요청 메시지를 수신한 타겟 노드(230)는, 1홉에 위치한 모든 에이전트 노드(220a, 220b)에 대하여 후보 요청 메시지를 전송한다(S121). 이 때, 후보 요청 메시지는 도시된 바와 같이 특정 에이전트 노드를 선택하지 않고 동시에 송출하는 방송 메시지로서 전송될 수 있고, 또는 각 에이전트 노드에 대하여 각각 통신 메시지로서 전송될 수도 있다. 이러한 후보 요청 메시지를 받은 모든 에이전트 노드(220a, 220b)는 그에 대한 후보 응답 메시지를 타겟 노드(230)에 전송할 수 있다.
즉, 타겟 노드(230)는 에이전트 노드들(220a, 220b)의 후보 응답 메시지를 수신대기 하고, 에이전트 노드들(220a, 220b)로부터 후보 응답 메시지를 수신하면(S121a, S121b) 이를 이용하여 에이전트 후보 정보를 구성할 수 있다. 그 후, 타겟 노드(230)는 전술한 바와 같이 구성된 에이전트 후보정보를 포함하는 에이전트 정보 응답 메시지를 관리 서버(100)에 전송할 수 있다.
이 때, 이러한 1홉의 이웃 에이전트 노드(220a, 220b)가 동시에 응답 메시지를 전송하여 충돌하는 것을 방지하기 위하여, 각 에이전트 노드는 시간차를 두고 후보 응답 메시지를 전송하도록 실시할 수 있다.
이상에서는, 에이전트 노드(220)가 될 수 있는 에이전트 노드 후보 정보를 타겟 노드(230)를 통하여 수집하고, 그 에이전트 노드 후보정보를 수신한 관리 서버(100)가 에이전트 노드(220)를 선정하여 통신을 수행하는 실시예에 대하여 설명하였다.
그러나, 또한 이러한 에이전트 노드(220)에 대한 정보는 관리 서버(100)가 보유하도록 실시예를 구성할 수 있다. 즉, 관리 서버(100)가 센서 네트워크에 대한 구성도를 보유하고 있는 경우에는, 타겟 노드(230)가 에이전트 노드 정보를 구성할 필요 없이 관리 서버(100)에서 유지되는 네트워크 구성도를 기초로 타겟 노드(230)와 1홉 거리에 있는 노드를 에이전트 노드(220)로 선정하여 전술한 소프트웨어의 통신을 실시할 수 있는 것이다.
도 4 및 도 5를 참조하여, 에이전트 노드의 통신 프로토콜에 대하여 구체적으로 설명한다.
도 4는 본 발명에 따른 에이전트 노드의 통신 계층도이고, 도 5는 본 발명의 관리 서버와 에이전트 노드의 통신을 위하여 사용되는 데이터 포멧을 도시한 개략도이다.
전술한 바와 같이, 본 발명에서 관리 서버(100)와 에이전트 노드(220)는 라 우팅 프로토콜에 의하여 통신을 수행하는 반면에, 에이전트 노드(220)는 타겟 노드(230)와 MAC 기반의 통신을 수행한다. 이를 위하여 에이전트 노드(220)는 프로토콜 변환을 실시할 수 있다.
도 4는 이러한 에이전트 노드(220)의 통신 계층도로서, 도시된 바와 같이 MAC 계층의 상위 계층으로 네트워크(NWK) 계층과, 업데이트용 소프트웨어의 전송을 수행할 수 있는 업데이트 에이전트(Update Agent) 계층이 있다. 네트워크 계층은 에이전트 노드(220)가 일반적인 센서 노드로서 역할을 수행하기 위하여 어플리케이션을 구동할 때 사용되는 어플리케이션 계층을 상위 계층으로 포함할 수 있으며, 또한 업데이트 에이전트 계층을 상위 계층으로 포함할 수도 있다.
이러한 업데이트 에이전트 계층은 MAC 계층과 네트워크 계층을 모두 하위 계층으로 둔다. 즉, 에이전트 노드(220)가 관리 서버(100)와 통신하는 경우에는 라우팅 프로토콜을 기반으로 통신을 수행하므로 네트워크 계층을 이용하여 통신을 수행할 수 있으므로 업데이트 에이전트 계층의 하위에 네트워크 계층이 있으며, 에이전트 노드(220)가 타겟 노드(230)와 통신하는 경우에는 MAC 기반의 통신을 수행하므로 하위에 MAC 계층을 두고 있는 것이다.
따라서 업데이트 에이전트의 역할을 수행 중인 에이전트 노드(220)는, 수신된 메시지나 통신 데이터를 어느 계층을 통하여 처리하여야 하는지 불명료하다. 이를 위하여 관리 서버(100)는 업데이트용 소프트웨어와 함께, 타겟 노드와 MAC 통신을 수행하라는 제어 메시지를 전송한다.
도 5는 이러한 제어 메시지로서 포트 정보를 이용하는 것을 도시하고 있다.
관리 서버(100)에서 에이전트 노드(220)로 전송하는 업데이트 소프트웨어는 도 5에 도시된 바와 같이 패킷을 구성할 수 있다.
즉, MAC 계층의 상위계층 패킷(500)의 페이로드 부분(520)에는 업데이트 소프트웨어 또는 그 분할된 이미지가 포함되고, 헤더 부분(510)에는 제어 메시지가 포함될 수 있으며, 이때 제어 메시지로서 포트 번호에 대한 정보를 이용할 수 있다. 즉, 헤더 부분(510)에 도 4의 업데이트 에이전트 레이어에 해당하는 포트의 정보를 포함시킬 수 있으며, 에이전트 노드(220)는 이를 이용하여 수신받은 패킷을 전달할 상위 계층(업데이트 에이전트 레이어 또는 네트워크 계층)을 구별할 수 있는 것이다.
또한, 패킷(500)의 헤더 부분(510)에 포함된 포트 번호에 따라 그 페이로드 의 내용(520)이 네트워크 계층으로 전달된 경우에, 도 4에 도시된 바와 같이 네트워크 계층도 상위 계층으로 업데이트 에이전트 계층과 어플리케이션 계층을 모두 가지고 있으므로 어느 상위 계층으로 전달할 지 정보가 필요하다. 이를 위하여, 전술한 바와 같이 전달될 상위 계층에 대한 정보(예컨대, 상위 계층의 포트 정보)를 네트워크 계층 패킷에 헤더 형식으로 포함시킴으로써, 해당 상위 계층으로 메시지 내용을 전달하도록 실시할 수 있다.
이상, 본 발명에 대하여 첨부 도면을 참조하여 상세히 설명하였으나, 이는 예시에 불과한 것으로서 본 발명의 기술적 사상의 범위 내에서 다양한 변형과 변경이 가능함은 자명하다. 따라서 본 발명의 보호 범위는, 전술한 실시예에 국한되서는 아니되며 이하의 특허청구범위의 기재에 의한 범위 및 그와 균등한 범위를 포함 하여 정하여져야 할 것이다.
도 1은 본 발명에 따른 무선 네트워크를 개략적으로 도시하는 구성도.
도 2는 본 발명에 따른 업데이트 방법을 도시한 순서도.
도 3은 도 2의 에이전트 노드 후보를 구성하는 단계(S120)의 세부 순서도.
도 4는 본 발명에 따른 에이전트 노드의 통신 계층도.
도 5는 본 발명의 관리 서버와 에이전트 노드의 통신을 위하여 사용되는 데이터 포멧을 도시한 개략도.

Claims (10)

  1. 다수의 노드를 포함하는 센서 네트워크를 관리하는 관리 서버에 의해 수행되는 멀티 홉 노드 업데이트 방법에 있어서,
    부트로더를 실행하라는 업데이트 준비 메시지를 상기 다수의 노드 중 업데이트 대상인 타겟 노드에 전송하는 단계; 및
    업데이트용 소프트웨어 및 상기 업데이트용 소프트웨어를 상기 타겟 노드에 MAC(Media Access Control) 계층 기반 통신으로 전송하라는 제어 메시지를, 상기 다수의 노드 중 상기 타겟 노드와 1홉 거리의 제1 에이전트 노드에 전송하는 단계를 포함하는 멀티 홉 노드 업데이트 방법.
  2. 제1항에 있어서, 상기 업데이트용 소프트웨어 및 상기 제어 메시지를 전송하는 단계는,
    상기 업데이트용 소프트웨어를 적어도 하나의 이미지로 분할하는 단계;
    상기 분할된 업데이트용 소프트웨어 이미지 및 상기 제어 메시지를 상기 선정된 에이전트 노드에 전송하는 단계; 및
    상기 선정된 에이전트 노드로부터 수신응답 메시지를 수신하지 못하면, 상기 분할된 업데이트용 소프트웨어 이미지 및 상기 제어 메시지를 재 전송하는 단계를 포함하는 것인 멀티 홉 노드 업데이트 방법.
  3. 제1항에 있어서, 상기 제1 에이전트 노드에 전송하는 단계는,
    상기 타겟 노드로부터 상기 제1 에이전트 노드 및 제2 에이전트 노드의 정보 를 수신하는 단계;
    상기 제1 및 제2 에이전트 노드 중에서 상기 제1 에이전트 노드를 선택하는 단계; 및
    상기 업데이트용 소프트웨어 및 상기 제어 메시지를 상기 선택된 제1 에이전트에 전송하는 단계를 포함하는 멀티 홉 노드 업데이트 방법.
  4. 제3항에 있어서, 상기 제1 에이전트 노드에 전송하는 단계는,
    상기 제1 에이전트 노드로부터 상기 업데이트용 소프트웨어에 대한 수신응답 메시지를 수신하지 못하면, 상기 상기 업데이트용 소프트웨어 및 상기 제어메시지를 상기 제2 에이전트 노드에 전송하는 단계를 더 포함하는 멀티 홉 노드 업데이트 방법.
  5. 제1항에 있어서, 상기 제어 메시지는,
    상기 제1 에이전트 노드에서 상기 업데이트용 소프트웨어의 전송을 수행하는 에이전트 레이어에 해당하는 포트 정보를 포함하는 것인 멀티 홉 노드 업데이트 방법.
  6. 관리 서버로부터 전송된 소프트웨어 이미지를 업데이트 대상인 타겟 노드로 전달하는 에이전트 노드의 운용 방법에 있어서,
    라우팅 프로토콜을 이용하여 상기 관리 서버로부터 상기 소프트웨어 이미지 및 그에 따른 제어 메시지를 수신하는 단계;
    상기 제어 메시지가 상기 타겟 노드로의 상기 소프트웨어 이미지 전달을 지시하면, MAC(Media Access Control) 프로토톨을 이용하여 상기 타겟 노드로 상기 소프트웨어 이미지를 전송하는 단계를 포함하는 에이전트 노드 운용 방법.
  7. 제6항에 있어서, 상기 전송하는 단계는,
    상기 제어 메시지에 포함된 포트 정보를 확인하는 단계;
    상기 포트 정보가 상기 업데이트용 소프트웨어의 전송을 수행하는 에이전트 레이어에 해당하는 포트 정보이면, MAC 프로토콜을 이용하여 상기 타겟 노드로 상기 이미지를 전송하는 단계를 포함하는 것인 에이전트 노드 운용 방법.
  8. 관리 서버로부터 제공된 업데이트용 소프트웨어를 이용하여 업데이트하는 타겟 노드의 운용 방법에 있어서,
    1홉 거리의 적어도 하나의 에이전트 노드에 대한 정보를 구성하여 상기 관리 서버에 전송하는 단계;
    상기 관리 서버로부터 부트로더를 실행하라는 업데이트 준비 메시지를 수신하면, 실행 중인 어플리케이션을 종료하고 부트로더를 실행하는 단계;
    실행된 부트로더를 이용하여 상기 적어도 하나의 에이전트 노드 중 선택된 에이전트 노드와 MAC(Media Access Control) 프로토콜을 이용하여 업데이트용 소프트웨어를 수신하는 단계를 포함하는 것인 타겟 노드 운용 방법.
  9. 제8항에 있어서, 상기 관리 서버에 전송하는 단계는,
    상기 적어도 하나의 에이전트 노드로 후보 요청 메시지를 전송하는 단계;
    상기 전송된 후보 요청 메시지에 대한 응답 메시지를 송신한 에이전트 노드에 대한 정보를 구성하는 단계; 및
    상기 구성된 정보를 상기 관리 서버에 전송하는 단계를 포함하는 것인 타겟 노드 운용 방법.
  10. 제9항에 있어서, 상기 후보 요청 메시지를 전송하는 단계는,
    상기 적어도 하나의 에이전트 노드 각각에 대하여 시간 차를 두고 상기 후보 요청 메시지를 전송하는 것인 타겟 노드 운용 방법.
KR1020080127280A 2008-12-15 2008-12-15 부트로더 기반의 멀티 홉 노드 업데이트 방법, 그에 따른 에이전트 노드 운용 방법 및 타겟 노드 운용 방법 KR101073360B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080127280A KR101073360B1 (ko) 2008-12-15 2008-12-15 부트로더 기반의 멀티 홉 노드 업데이트 방법, 그에 따른 에이전트 노드 운용 방법 및 타겟 노드 운용 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080127280A KR101073360B1 (ko) 2008-12-15 2008-12-15 부트로더 기반의 멀티 홉 노드 업데이트 방법, 그에 따른 에이전트 노드 운용 방법 및 타겟 노드 운용 방법

Publications (2)

Publication Number Publication Date
KR20100068802A KR20100068802A (ko) 2010-06-24
KR101073360B1 true KR101073360B1 (ko) 2011-10-13

Family

ID=42367002

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080127280A KR101073360B1 (ko) 2008-12-15 2008-12-15 부트로더 기반의 멀티 홉 노드 업데이트 방법, 그에 따른 에이전트 노드 운용 방법 및 타겟 노드 운용 방법

Country Status (1)

Country Link
KR (1) KR101073360B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100412290B1 (ko) * 2001-11-27 2003-12-31 주식회사 동구제약 라니티딘 함유 현탁제 조성물 및 그의 제조방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060019679A1 (en) 2004-07-23 2006-01-26 Rappaport Theodore S System, method, and apparatus for determining and using the position of wireless devices or infrastructure for wireless network enhancements

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060019679A1 (en) 2004-07-23 2006-01-26 Rappaport Theodore S System, method, and apparatus for determining and using the position of wireless devices or infrastructure for wireless network enhancements

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100412290B1 (ko) * 2001-11-27 2003-12-31 주식회사 동구제약 라니티딘 함유 현탁제 조성물 및 그의 제조방법

Also Published As

Publication number Publication date
KR20100068802A (ko) 2010-06-24

Similar Documents

Publication Publication Date Title
US8572600B2 (en) Method for updating firmware of sensor nodes on the wireless sensor network
JP6754622B2 (ja) ソフトウェア更新装置およびソフトウェア更新システム
JP6150901B2 (ja) マルチタイプパッケージを通じたユーティリティノードソフトウェア/ファームウェア更新
US7814478B2 (en) Methods and apparatus for use in updating application programs in memory of a network device
JP6444405B2 (ja) ソフトウェア更新方法、システム及びデバイス
JP6316536B2 (ja) 情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法
CN101123750B (zh) 便于推送内容的后台处理的装置和相关方法
CN102577284A (zh) 控制网关功能以支持通信系统中的设备管理的技术
JP6458148B2 (ja) 無線ネットワークを介して通信する電子装置のクラスタへの所属方法、それに関連する、上記方法を実行する電子装置およびシステム
KR101522648B1 (ko) 이기종 m2m 디바이스의 지역 네트워크 운영 방법 및 장치
KR101450869B1 (ko) 무선 센서 네트워크 내에서 전송의무를 위임하여 데이터를송수신하는 방법
JP7345921B2 (ja) マスタースレーブアーキテクチャのota差分更新方法とシステム
JP2018092565A (ja) クラウド中継装置、クラウド接続処理方法、及びプログラム
KR101073360B1 (ko) 부트로더 기반의 멀티 홉 노드 업데이트 방법, 그에 따른 에이전트 노드 운용 방법 및 타겟 노드 운용 방법
CN103583017A (zh) 用于配置网络的方法
JP2010045526A (ja) 無線アドホックネットワーク端末のプログラム更新方法及び無線アドホックネットワーク端末
CN107211236A (zh) 服务层的资源链路管理
CN115210698B (zh) 通信装置、程序、通信方法、信息处理方法、信息处理装置和通信系统
JP5943476B2 (ja) センサネットワークシステム及びセンサネットワークシステムにおけるデータ取得方法
JP5577140B2 (ja) 情報処理システム及び情報処理方法
JP6896449B2 (ja) ネットワーク機器とその方法
JP4315063B2 (ja) 情報通信装置および情報通信システム
US10582546B2 (en) Method and device for configuring connection of wireless communication system
JP4186954B2 (ja) ネットワーク、端末装置及びそれらに用いる再起動方法並びにそのプログラム
JP7219832B1 (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
LAPS Lapse due to unpaid annual fee