KR20100033683A - 센서 네트워크 나무구조 구축 방법 - Google Patents

센서 네트워크 나무구조 구축 방법 Download PDF

Info

Publication number
KR20100033683A
KR20100033683A KR1020080092671A KR20080092671A KR20100033683A KR 20100033683 A KR20100033683 A KR 20100033683A KR 1020080092671 A KR1020080092671 A KR 1020080092671A KR 20080092671 A KR20080092671 A KR 20080092671A KR 20100033683 A KR20100033683 A KR 20100033683A
Authority
KR
South Korea
Prior art keywords
node
parent node
parent
message
score
Prior art date
Application number
KR1020080092671A
Other languages
English (en)
Other versions
KR100969943B1 (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 KR1020080092671A priority Critical patent/KR100969943B1/ko
Publication of KR20100033683A publication Critical patent/KR20100033683A/ko
Application granted granted Critical
Publication of KR100969943B1 publication Critical patent/KR100969943B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/32Flooding

Landscapes

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

Abstract

본원발명은 센서 네트워크의 나무구조를 저비용으로 구축할 수 있도록 하는 센서 네트워크 나무구조 구축방법에 관한 것으로서,
센서 네트워크의 싱크로부터의 라우팅 초기화 메시지의 수신이 발생하는 경우 센서 네트워크의 각 노드들이 부모노드점수와 부모노드 선정 우선순위(대기시간)를 계산하는 부모노드조건계산과정과; 상기 각각의 노드들이 부모노드 선정 우선순위에 따라 부모노드조건계산과정에서 계산된 부모노드점수를 이웃 노드들로부터 수집하여 이들 중 최고 부모노드점수를 가지는 노드를 자신의 부모노드로 선정하는 부모노드선정과정;으로 이루어져,
데이터 수집과정의 에너지 효율성을 향상시키고, 수집 지연 시간을 최소화하는 센서 네트워크의 나무구조를 저비용으로 구축할 수 있도록 하는 효과를 제공한다.
센서 네트워크, 나무구조, 간섭제거, 싸이클제거, 부모노드점수, 부모노드 선정 우선순위

Description

센서 네트워크 나무구조 구축 방법{THE METHOD FOR CONSTRUCTING SENSOR NETWORK TREE STRUCTURE}
본원발명은 데이터 수집과정의 에너지 효율성을 향상시키고, 수집 지연 시간을 조절할 수 있는 센서 네트워크의 나무구조를 저비용으로 구축할 수 있도록 하는 센서 네트워크 나무구조 구축방법에 관한 것이다.
일반적으로 센서 네트워크는 일정 영역 내의 특성 예를 들면, 일정 영역의 온도 및 지진 발생 지점의 정확한 확인 및 원격검침 등을 하는데 이용될 수 있는 기술로서, 일정 영역에 다수개의 센서를 분포시킨 후, 센서들로부터의 정보를 수집 및 분석하여 원하는 데이터를 추출하게 된다.
상술한 센서 네트워크에서의 데이터 수집 응용은 주기적으로 전체 노드로부터 발생하는 데이터를 싱크로 전달하는 것을 말한다. 상술한 바와 같은 동작을 수행하는 센서 네트워크에서 에너지 소비 및 지연 시간은 중요한 문제로 제기되는데, 이는 노드가 센서네트워크를 이탈함으로써 네트워크 수명 감소의 큰 원인이 되기 때문이다.
이러한 에너지 소비 및 지연 시간을 줄이기 위하여 다수의 라우팅기법들이 제시되어 있는 데 그 중 나무(Tree) 구조를 이용한 방법이 가장 많이 쓰인다.
또한 데이터 수집 응용에서 센서 네트워크 나무구조에서 각 노드가 자식노드로부터 모든 데이터를 수집한 후 자신의 검출(sensing)데이터와 합쳐서 데이터를 압축한 후 부모노드로 전달하는 네트워크 내 데이터 압축(in-network data aggregation) 기법이 쓰이는데, 상술한 센서 네트워크 나무구조에서는 압축률이 높은 응용의 경우 자식노드의 수와 관계없이 하나의 패킷만 부모노드로 전달하면 되기 때문에 센서 네트워크 내부에서 에너지 소비와 지연 시간 감소 효과가 매우 크기 때문이다.
그리고 상술한 바와 같은 에너지 소비 및 지연문제의 해결을 위하여 다양한 링크(link) 평가 방법에 따른 SPST(Shortest Path Spanning Tree)의 연구가 진행된 후 나무구조 자체의 높이, 자식노드 개수 등만을 대상으로 하는 연구가 많아졌으며, 이 경우에도 상술한 바와 같이 노드가 센서네트워크를 이탈함으로써 네트워크 수명 감소의 큰 원인이 되기 때문에 에너지 소모의 평준화가 중요한 문제로 제기된다. 이와 관련하여 간 노드의 자식 개수가 평준화되는 MDST(Minimum Degree Spanning Tree)가 최적의 솔루션으로 알려져 있다. 그리고 상술한 MDST는 NP-hard(Nondeterministic Polynomial-time hard)의 문제점을 가지기 때문에 이를 극복하기 위하여 MDST를 근사화(approximation)하기 위한 방법들이 많이 제시되었으며, MDST를 구축하는 과정에서 데이터 수집 지연시간을 조절하는 기법도 많이 제시 된 상태이며, 이로 인해 MDST는 상술한 기법들의 적용에 의해 최적에 가까운 성능을 보여준다.
그러나 상술한 MDST 및 그에 적용되는 기법들은 대부분의 경우 싱크로 모든 정보(토폴로지 정보)가 모인 후, 싱크에서 다시 네트워크의 나무구조를 만들고, 네트워크의 나무구조에 대한 정보를 전체 네트워크의 노드들로 보내는 방식으로 동작하기 때문에 나무구조의 구축비용이 너무 커서 센서 센서네트워크와 같은 네트워크의 변동이 발생하는 구조의 경우에 사용되기 어려운 문제점을 가진다.
따라서 본원발명은 상술한 종래기술의 문제점을 해결하기 위한 것으로서, 센서 네트워크의 나무구조의 구축에 있어서, 각 노드가 이용하는 라우팅정보는 자신의 싱크(sink)까지의 거리(홉수, hops), 자신의 주변 노드의 아이디(ID)와 싱크까지의 거리(홉수)만을 포함하며, 각각의 노드가 GPS 등을 이용한 위치 정보를 이용하지 않고, 낮은 수준의 시간 동기화를 수행하도록 하여, 최소한의 하드웨어 및 정보를 요구하도록 함으로써, 센서 네트워크의 데이터 수집 과정의 에너지 효율성이나 수집 지연시간을 결정하는 나무구조를 적은 비용으로 구축할 수 있도록 하는 센서 네트워크 나무구조 구축방법을 제공하는 것을 그 목적을 한다.
상술한 목적을 달성하기 위한 발명의 센서 네트워크 나무구조 구축 방법은, 센서 네트워크의 변경이 발생되는 경우, 네트워크 변경이 싱크로 보고된 후 네트워크 변경을 보고받은 싱크가 라우팅 초기화 메시지(routing initiation message)를 네트 워크 전체로 플러딩(flooding)하는 것에 의해 수행되는 것으로서, 센서 네트워크의 싱크로부터의 라우팅 초기화 메시지의 수신이 발생하는 경우 센서 네트워크의 각 노드들이 부모노드점수와 부모노드 선정 우선순위를 계산하는 부모노드조건계산과정과; 상기 각각의 노드들 중 부모노드 선정 우선순위가 높은 노드가 부모노드조건계산과정에서 계산된 부모노드점수를 이웃 노드들로부터 수집하여 이들 중 최고 부모노드점수를 가지는 노드를 자신의 부모노드로 선정하는 부모노드선정과정;으로 이루어지는 것을 특징으로 한다.
이때, 상기 부모노드점수(ParentPoint(h.c))는α/(h+1) + (1-α)/(c+1)에 의해 생성되며, 상기 부모노드 선정 우선순위는 h*β*Mi로 표시되는 상기 라우팅 초기화 메시지 송신시부터 부모노드선정과정 시작까지 소요되는 각 노드들의 대기시간(Waiting Time)에 의해 결정되는 것으로서 대기시간이 만료되면 곧 바로 부모노드선정과정을 시작하게 되고, 따라서 대기시간이 작은 경우 부모노드 선정 우선순위가 높은 것이 된다.
상기 부모노드점수 및 부모노드 선정 우선순위 산출식에서 α는 나무구조가 지연 시간을 단축시키는 것을 결정하는 기 설정된 인수(parameter), h는 각 노드의 싱크까지의 홉수, c는 각 노드의 자식노드의 개수, β는 기 설정된 스케일링(scaling) 상수, Mi는 각 노드(노드 i)에서 측정된 MAC계층서비스시간(MAC layer service time)을 나타낸다.
상술한 처리과정 중 상기 부모노드선정과정은, 상기 센서 네트워크의 노드들이 부모노드점수 산출식을 이용하여 자신의 부모노드점수를 설정하고, 싱크로부터 라우팅 초기화 메시지 수신시부터 부모노드선정과정 시작까지의 시간을 나타내는 대기시간(부모노드 선정 우선순위)을 설정하며, 이 후 대기시간이 먼저 만료된 노드(부모노드 선정 우선순위가 높은 노드)부터 부모노드선정과정을 수행하게 된다.
상술한 부모노드선정과정의 처리과정을 설명하면, 상기 각각의 노드들이 인 접노드들로 부모노드점수를 요청하여 수집하는 부모노드점수수집과정과; 상기 부모노드점수를 수집한 노드가 최대 부모노드점수를 가지는 인접노드로 부모노드선정메시지를 전송하는 부모노드선정메시지송신과정과; 상기 부모노드선정메시지를 수신한 인접노드가 부모노드확인메시지를 상기 부모노드선정메시지를 송신한 노드로 전송하는 부모노드확인메시지송신과정과; 상기 부모노드선정메시지를 송신한 노드 및 부모노드확인메시지를 송신한 노드 각각이 상대방을 자식노드와 부모노드로 등록하는 부모 및 자식 노드 확정과정;으로 이루어지며, 상기 센서네트워크 내의 모든 노드가 부모노드를 선정할 때까지 부모노드 선정 우선 순위(대기시간 만료)에 따라 상기 처리과정이 각 노드에서 독립적으로 수행된다.
이때, 상기 부모노드확인메시지송신과정은 부모노드확인메시지송신 이전에 부모노드선정메시지를 수신한 노드는 루트에 있는 싱크로 연결되지 않는 싸이클(cycle)을 제거하기 위하여, 부모노드선정메시지를 송신한 노드에 대하여 자신이 부모노드로 선정되는 경우, 자신의 싱크까지의 홉수보다 싱크까지의 홉수가 작거나 같은 노드만이 부모노드가 되며, 어떤 노드의 부모 노드와 자식노드의 싱크까지의 홉수는 같지 않다는 조건을 적용하여 부모노드선정메시지를 수신한 노드가 스스로 부모노드에 적합한지를 판단한다. 이때 상기 두 가지 조건을 만족하지 않는 경우 부모노드선정메시지를 송신한 노드를 자식노드로 설정하지 않는다는 부모노드확인메시지를 부모노드선정메시지를 송신한 노드로 송신한 후 처리과정을 종료하는 것에 의해 싸이클 발생을 제거하는 과정을 더 수행하도록 이루어질 수 있으며, 이러한 처리과정을 싸이클제거과정이라 한다.
상술한 싸이클제거과정에서 부모노드확인메시지에 포함된 부모노드 설정 불가 메시지를 확인한 부모노드선정메시지 송신 노드는 부모노드선정메시지송신과정으로 복귀하여 부모노드점수수집과정에서 수집된 부모 점수 중 두 번째로 큰 부모노드점수를 가지는 노드에 대하여 부모노드선정 작업을 재수행한다.
다음으로, 상술한 싸이클제거과정에서 싸이클 발생이 없는 것으로 판단하여 부모노드확인메시지에 부모노드점수가 포함되는 경우 부모노드선정메시지 송신노드 및 부모노드확인메시지송신 노드 각각에서 부모 및 자식 노드 확정과정이 수행된다.
이때, 부모노드선정과정을 수행하는 노드가 부모노드점수수집과정을 수행한 후 부모노드점수가 최대 값을 가지는 노드를 부모노드로 선정하기 위하여 부모노드선정메시지의 송신시까지의 주변 노드의 간섭으로 인해 선정될 노드의 부모노드점수가 변경된 경우 부모노드가 잘못 선정될 수 있다. 상술한 바와 같이 센서 네트워크 나무구조 구축 과정 중 부모노드점수의 변경에 의해 부모노드가 잘못 선정되는 것을 방지하기 위하여 본원발명은 '간섭제거과정'을 더 포함하여 이루어진다.
상기 간섭제거과정을 더욱 상세히 설명하면, 상기 간섭제거과정을 위하여 부모노드선정메시지는 인접노드들의 부모노드점수 중 두 번째 부모노드점수를 포함하며, 상기 부모노드확인메시지는 부모노드확인메시지를 보내는 노드의 부모노드선정메시지를 받은 시점에서의 부모노드점수를 포함한다. 그리고 상기 부모 및 자식 노드 확정과정은 상기 부모노드확인메시지를 송신한 노드의 부모노드점수가 상기 부 모노드선정메시지에 포함된 두 번째 부모노드점수보다 작은 경우 상기 부모노드선정메시지를 전송한 노드가 두 번째로 큰 부모노드점수를 가지는 노드를 선택한 후 상기 부모노드선정메시지송신과정으로 복귀하여 처리과정을 재수행한다. 이때, 상기 부모노드선정메시지를 전송한 노드가 부모노드점수수집과정으로 복귀하여 처리과정을 재수행할 수 있으나, 노드의 불필요한 부하 감소를 위해서는 부모노드선정메시지송신과정으로 복귀하여 처리과정을 재수행하는 것이 바람직하다. 그리고 상기 부모노드확인메시지를 송신한 노드는 부모노드선정메시지를 송신한 노드를 자식노드로 등록함이 없이 처리과정을 종료한다. 이러한 처리과정을 '간섭제거과정'이라 한다.
상술한 바와 같은 간섭제거과정에 의해 간섭이 발생됨이 없는 경우에는 상술한 부모 및 자식 노드 확정과정에서 설명한 바와 같이, 부모노드선정메시지 송신노드는 상대노드를 부모노드로 등록하고, 부모노드확인메시지 송신노드 또한 상대노드를 자식노드로 등록한 후 부모노드점수를 업데이트하는 것에 의해 하나의 노드에 대한 부모노드선정과정이 종료된다.
그리고 대기시간이 이전에 만료된(부모노드 선정 우선순위가 높은) 노드가 수행하는 부모노드선정과정이 종료되는 것과 관계 없이 다른 노드들은 부모노드 선정 우선순위가 높은 순서대로, 즉 대기시간이 만료되는 데로 독립적으로 부모노드선정과정을 시작한다. 즉, 본원발명에서 각 노드는 대기시간(부모노드 선정 우선순위)이 만료되면 각 노드는 독립적으로 부모노드선정과정을 시작하므로 하나 이상의 노드가 동시에 부모노드선정과정을 수행하거나, 하나의 노드가 부모노드선정과정을 수행하는 중에 다른 노드가 부모노드선정과정을 시작할 수도 있다. 이러한 처리과정은 모든 센서 네트워크 내의 노드들이 부모노드를 설정할 때까지 반복 수행됨으로써 전체 센서 네트워크에 대한 나무구조가 구축된다.
상술한 본원발명은 각 노드가 이용하는 라우팅정보가 자신의 싱크(sink)까지의 거리(홉수, hops), 자신의 주변 노드의 아이디(ID)와 싱크까지의 거리만을 포함하며, 각각의 노드가 GPS 등을 이용한 위치 정보를 이용하지 않도록 하고, 낮은 수준의 동기화를 수행하도록 구성되어 최소한의 하드웨어 및 정보에 의해 구현될 수 있어 적은 비용으로 센서 네트워크의 나무구조를 구축할 수 있도록 함으로써 센서 네트워크의 나무구조 구현을 위한 비용을 현저히 절감시키는 효과를 제공한다.
또한, 상술한 본원발명의 센서 네트워크는 적은 비용으로 구축되기 때문에, 링크 끊김, 노드 고장, 노드 이동 등 네트워크 변화가 잦은 상황에서 장애 발생 없이 원활히 작동할 수 있도록 하여 센서 네트워크의 전체 성능을 현저히 향상시키는 효과를 제공한다.
또한, 상술한 본원발명은 다양한 지연 시간 요구 조건을 알고리즘 인자(alpha 변수) 조절로 간단히 지원할 수 있기 때문에, 지연 시간 요구 조건에 따라 다른 알고리즘을 구현하는 번거로움을 제거함으로써 센서 네트워크의 유지 및 관리를 용이하게 하는 효과를 제공한다.
이하, 본원발명의 바람직한 일 실시 예를 나타내는 첨부 도면을 참조하여 본원발명을 더욱 상세히 설명한다.
센서 네트워크에 변경이 발생한 경우, 센서네트워크의 싱크로 네트워크 변경정보가 전송되면, 센서 네트워크는 네트워크의 나무구조의 재구성을 위한 라우팅 초기화 메시지(routing initiation)를 센서 네트워크의 전체 노드로 플러딩(flooding) 한다.
싱크로부터 라우팅 초기화 메시지를 수신한 센서 네트워크 내의 노드들은 이후부터 본원발명의 센서 네트워크 나무구조 구축방법을 적용하여 부모노드와 자식노드를 결정하는 작업을 수행한다.
본원발명의 일 실시 예를 나타내는 도 1 내지 도 5를 참조하여 본원 발명의 센서 네트워크 나무구조 구축방법을 더욱 상세히 설명하면 다음과 같다.
도 1은 본원발명의 바람직한 일 실시 예에 따르는 센서 네트워크 나무구조 구축방법의 처리과정을 나타내는 순서도, 도 2는 도 1의 처리과정 중 부모노드선정과정의 상세 처리과정을 나타내는 순서도, 도 3은 도 1 및 도 2의 처리과정에 의한 부모 및 자식 노드 설정을 위한 처리과정을 설명하기 위한 센서네트워크의 일 구성도, 도 4는 도 3의 A노드가 수집한 초기 인접노드들의 부모노드점수(PP) 및 부모노 드 선정 우선순위 정보 값을 가지는 표를 나타내는 도면이며, 도 5는 C노드가 A노드를 자식노드로 등록한 후 부모노드점수를 업데이트하여 생성한 인접노드들의 부모노드점수(PP) 및 부모노드 선정 우선순위 정보 값을 가지는 표를 나타내는 도면이다.
도 1에 도시된 바와 같이, 상술한 센서 네트워크 나무구조 구축방법의 처리과정은, 라우팅 초기화 메시지를 수신한 노드들이 먼저, 자신의 부모노드점수(PP: Parent Point)와 부모노드 선정 우선순위를 결정한다(부모노드조건계산과정)(S100).
이때, 상술한 부모노드조건계산과정(S100)에서 부모노드점수(PP)는 에너지 효율성과 지연시간 최소화를 이루도록 계산되는 것으로서 하기의 수학식 1에 의해 생성된다.
부모노드점수(PP: ParentPoint(h,c)) = α/(h+1) + (1-α)/(c+1)
그리고 부모노드 선정 우선순위는 싱크로부터 각 노드로 라우팅 초기화 메시지가 전송된 이후 각 노드가 부모노드 선정을 시작하기까지의 대기시간(WatingTime)이 작은 것이 우선순위가 높은 것으로 결정하는 것으로서 하기의 수학식 2에 의해 생성된다.
부모노드 선정 우선순위(대기시간: WatinTime(h)) = h *β* Mi
상술한 수학식 1 및 수학식 2에서 α는 센서 네트워크의 나무구조가 지연 시간을 단축시키는 것을 결정하는 기 설정된 인수(parameter)로서 센서 네트워크의 나무구조가 지연 시간을 얼마나 단축시키는가를 결정할 수 있도록 하여 에너지 효율성과 지연 시간 최소화가 α 변수를 통해 교환(tradeoff)된다. 따라서 α가 클수록 지연 시간이 낮은 센서 네트워크의 나무구조가 구축되도록 한다. 그리고 h는 각 노드의 싱크까지의 홉(hop)수를 나타내며, c는 각 노드의 자식노드의 개수를 나타낸다. 다음으로 β는 기 설정된 스케일링(scaling) 상수로서 기다리는 시간이 실제로 노드 간의 부모노드 선정 순서를 결정하게 되는 확률을 높여주기 위하여 기다리는 시간의 실효성을 결정하는 것으로서 평균 인접 노드 개수의 절반 정도가 바람직하다. 마지막으로 Mi는 각 노드에서 측정된 MAC계층서비스시간(MAC layer service time)을 나타낸다.
상술한 바와 같이 부모노드조건계산과정(S100)이 수행되어 부모노드점수(PP)와 부모노드 선정 우선순위가 결정된 후에는, 각각의 노드들은 부모노드 선정 우선순위가 높은 순서부터 부모노드선정과정(S200)을 수행한다. 본원발명의 일 실시 예를 나타내는 도 3 및 도 4의 네트워크 구성에서 부모노드 선정 우선순위가 가장 높은 노드(부모노드선정과정 수행시까지의 대기시간이 가장 짧은 노드)는 A노드가 되며, A노드가 부모노드 선정과정을 제일 먼저 수행하게 되고, A노드의 부모노드 선정과정의 종료에 관계없이 부모노드 선정 우선순위(대기시간 만료)에 따라 B노드, D노드, C노드 순으로 부모노드선정과정을 시작한다. 즉, 부모노드 선정 우선순위가 가장 높은(대기시간이 가장 짧은) 노드의 부모노드선정과정의 처리 중에 다른 노드들이 부모노드선정과정을 시작할 수 있다.
상술한 부모노드선정과정(S200)은, 도 2에 도시된 바와 같이, 부모노드점수수집과정(S210)과, 부모노드선정메시지송신과정(S220)과, 싸이클제거과정(S230)과, 부모노드확인메시지송신과정(S240)과, 간섭제거과정(S252, S254)을 포함하는 부모 및 자식 노드 확정과정(S250)으로 이루어지는 것으로서, 도 2 내지 도 4를 참조하여 상술한 부모노드선정과정(S200)의 각 처리과정을 더욱 상세히 설명하면 다음과 같다.
먼저, 부모노드점수수집과정(S210)을 설명하면 부모노드점수수집과정(S210)은 부모노드 선정 우선순위가 높은 노드가 부모노드점수(PP)가 가장 높은 노드(이때의 노드의 ID를 "IDhighest"라 함)를 선택하기 위하여 부모노드 선정 우선순위가 가장 높은 노드(A노드)와 인접노드(B, C, D)들 사이에서 송수신되는 부모노드요청메시지(parent query message)와 부모노드응답메시지(parent reply)에 의해 수행된다.
노드 A, B, C, D로 구성된 도 3의 센서네트워크의 네트워크에서 각각의 노드들이 부모노드조건계산과정(S100)을 수행하여 얻은 부모노드점수(PP) 및 부모노드 선정 우선순위가 도 4에 표시되어 있으며, 도 4에서 A노드가 대기 시간이 가장 짧기 때문에 부모노드선정을 위한 부모노드 선정 우선순위가 가장 높아 부모노드선정과정을 먼저 수행하는 노드가 된다. 따라서 도 3 및 도 4의 네트워크 구성에서 부 모노드점수수집과정(S210)은 A노드가 인접노드(B, C, D)들로 부모노드요청메시지(parent query message)를 송신하고, 인접노드(B, C, D)들은 자신의 부모노드점수(PP)를 포함하는 부모노드응답메시지(Parent reply message)를 통해 응답함으로써, A노드가 인접한 B, C, D 노드들의 부모노드점수(PP)를 수집할 수 있도록 하며, 이를 부모노드점수수집과정(S210)이라 한다.
다음으로, 상술한 바와 같이 A노드가 부모노드점수수집과정(S210)에 의해 인접노드(B, C, D)들의 부모노드점수(PP)를 수집한 후에는 A노드는 인접노드들 중 부모노드점수가 가장 큰 노드(도 3 및 도 4에서 C노드)를 부모노드 선정 대상 노드로 선택한 후 C노드를 부모노드로 선정하기 위한 부모노드선정메시지를 송신하는 부모노드선정메시지송신과정(S220)을 수행한다. 이때 부모노드 선정 시 발생될 수 있는 간섭의 제거를 위한 '간섭제거과정'을 수행하기 위하여 부모노드선정메시지에는 A노드가 수집한 부모노드점수 중 두 번째로 큰 부모노드점수(PPnext)를 포함할 수 있다.
다음으로, 부모노드확인메시지송신과정(S240) 중 싸이클제거과정(S230)을 설명한다.
각 노드가 부모노드를 선정하는 방식으로 전체 나무를 구성하다 보면 루트에 있는 싱크로 연결되지 않는 싸이클(cycle)이 발생할 수 있으므로, 이것을 방지하기 위해 본원발명은 도 2에 도시된 바와 같이 부모노드확인메시지송신과정(S240) 중 부모노드확인메시지 송신 이전에 각 노드에서 싱크까지의 홉 수 정보를 활용하여 싸이클(cycle)을 제거하는 싸이클제거과정(S230)을 수행할 수 있다.
상술한 싸이클제거과정(S230)을 위한 두 가지 조건은 다음과 같다.
1) 노드는 자신보다 싱크까지의 홉 수가 작거나 같은 노드를 부모노드로 선정한다.
2) 어떤 노드의 부모노드와 자식노드의 싱크까지의 홉 수는 같을 수 없다.
이 두 가지 조건에 의해 본원발명은 성공적으로 싸이클을 제거한다. C노드는 부모노드확인메시지송신과정(S240)을 수행함에 있어서 부모노드선정메시지를 받은 후 상술한 두 가지 조건을 이용하여 싸이클 발생의 유무를 확인한 후 A노드로 부모노드확인메시지를 송신한다.
다음으로, 상술한 부모노드확인메시지송신과정(S240) 중 부모노드확인메시지 송신을 설명한다.
상술한 싸이클제거과정(S230)을 수행한 C노드는 싸이클제거과정(S230)에서 싸이클 제거를 위한 상기 두 조건을 만족하지 않는 경우에는 싸이클이 발생하는 것으로 판단하여 C노드가 A노드의 부모노드로 적합하지 않음을 알리기 위하여 C노드의 부모노드점수(PP of IDfirst)를 0으로 부모노드확인메시지에 포함시킨 후 해당 부모노드확인메시지를 A노드로 송신하고 처리과정을 종료한다.
이와 달리, 부모노드선정메시지를 수신한 C노드가 싸이클 제거를 위한 상기 두 가지 조건을 충족하는 경우 싸이클이 발생하지 않는 것으로 판단하여 부모노드 선정메시지를 송신한 A노드로 부모노드확인메시지를 송신하게 되며, 부모노드확인메시지는 차후 간섭제거과정의 수행을 위해 C노드의 부모노드점수(PP of IDfirst)를 포함할 수 있다.
이러한 부모노드확인메시지 송신을 위한 처리과정을 부모노드확인메시지송신과정(S240)이라 한다.
상기 부모노드확인메시지송신과정(S240) 이후에는 A노드와 C노드는 각각 별도로 부모 및 자식 노드 확정과정(S250)을 수행하게 되는데, 도 2에 도시된 바와 같이, A노드는 싸이클발생확인과정(S251)과, 간섭제거과정(S252)과, 부모노드 확정과정(S253)을 수행한다. 그리고 C노드는 간섭제거과정(S254)과, 자식노드 확정과정(S255)을 수행하게 된다. 도 2를 참조하여 A노드와 C노드 각각의 부모 및 자식 노드 확정과정(S250)을 상세히 설명하면 다음과 같다.
먼저, A노드의 처리과정을 설명하면 다음과 같다.
상술한 부모노드확인메시지송신과정(S240)에 의해 부모노드확인메시지를 수신한 A노드는 C노드가 송신한 부모노드확인메시지에 포함된 C노드의 부모노드점수(PP of IDfirst)를 추출한 후 C노드의 부모노드점수(PP of IDfirst)가 0인지를 판단하는 싸이클발생판단과정(S251)을 수행한다. 싸이클발생판단과정(S251)을 더욱 상세히 설명하면, C노드의 부모노드점수(PP of IDfirst)가 O인 경우에는 A노드는 C노드가 부모노드로 부적합한 것으로 판단하여 부모노드선정송신과정(S220)으로 복 귀한 후 두 번째로 큰 부모노드 점수를 가지는 B노드에 대하여 부모노드선정을 위한 처리과정을 다시 수행한다.
이와 달리, C노드의 부모노드점수(PP)가 O인 아닌 경우에는 A노드는 부모 및 자식 노드 확정과정(S250) 중 간섭제거과정(S252)과 부모노드 확정과정(S253)을 수행하게 된다.
상술한 A노드의 간섭제거과정(S252)을 설명하면, 센서 네트워크 내의 각각의 노드의 부모노드점수는 센서 네트워크 내에서 동적으로 바뀌기 때문에, 앞서 설명한 바와 같이 부모노드선정메시지송신 시의 부모노드 점수에 의해 부모노드를 선정하는 것은, 부모노드응답메시지 수신 이후(부모노드점수 수집 이후)에 주변 노드의 간섭으로 인해 부모노드의 점수가 변경되어 잘못된 부모노드의 선정이 될 수 있으므로 이를 방지하기 위한 것이다.
이를 위해, 상술한 바와 같이, A노드는 부모노드선정메시지를 C노드로 송신하는 경우 자신이 수집한 부모노드점수 중 두 번째로 큰 부모노드점수(PPnext)를 포함시키고, C노드는 부모노드확인메시지 송신시 부모노드선정메시지를 수신한 시점에서의 자신의 부모노드점수(PP)를 포함시키게 된다.
따라서 부모노드확인메시지의 수신 후 A노드는 부모노드확인메시지에 포함된 C노드의 부모노드점수(PP of IDfrist)를 자신이 수집한 부모노드점수 중 두 번째로 큰 값인 PPnext와 비교하여, PPnext가 더 큰 경우에는 C노드가 부모노드가 아닌 것으로 판단하여 부모노드선정메시지송신과정(S220)으로 복귀한 후 두 번째 크기의 부모노드점수를 가지는 D노드에 대하여 부모노드를 선정하는 처리과정을 재수행하 며, 이러한 과정을 간섭제거과정(S252)이라 한다.
그리고 간섭제거과정(S252)에서 PPnext가 C노드의 부모노드점수보다(PP of IDfirst) 더 작은 경우는 부모노드 확정과정(S253)을 수행하는데, 부모노드 확정과정(S253)은 A노드가 C노드를 부모노드로 등록하는 것을 말한다.
다음으로, 부모노드확인메시지송신과정(S240) 이후의 C 노드의 처리과정을 설명하면 다음과 같다.
싸이클제거과정(S230)에 의해 싸이클 발생이 없는 것으로 판단하여 자신의 부모노드점수(PP of IDfirst)를 포함하는 부모노드확인메시지를 송신한 C노드는 자신의 부모노드점수(PP of IDfirst)와 부모노드선정메시지에 포함된 PPnext를 비교한다. 이때, C노드는 자신의 부모노드점수(PP of IDfirst)가 부모노드선정메시지에 포함된 PPnext보다 작은 경우에는 처리과정을 종료하는 간섭제거과정(S254)을 수행한다.
이와 달리, C노드 자신의 부모노드점수(PP of IDfirst)가 PPnext보다 큰 경우 C노드는 A노드를 자식노드로 등록하고, 인접노드들의 부모노드점수(PP)를 업데이트 한 후 처리과정을 종료하는 자식노드 확정과정(S255)을 수행한다. 도 5는 C노드가 부모노드로 확정된 후의 부모노드점수(PP)들이 변경된 것을 나타내는 것으로서, 도 5에서 C노드의 부모노드점수는 수학식 1에서 c 값이 변경되어 도 4의 C노드의 부모노드점수와 다른 값을 가지도록 변경되었음을 알 수 있다.
상술한 처리과정은 모든 노드들이 부모노드와 자식노드로 등록될 때까지 부모노드 선정 우선순위에 따라 반복적으로 수행하게 된다. 즉, 상술한 처리과정에 의해 A노드가 C노드를 부모노드로 등록하고자 하는 부모노드선정과정이 진행된 후에는 A노드의 부모노드선정과정의 종료 여부와 관계없이 부모노드 선정 우선순위로서의 대기 시간이 만료되는 순서대로 B노드, D노드, C노드가 순차적으로 부모노드선정과정(S200)을 시작하여 모든 노드가 부모노드를 선정하고 자식노드를 등록하게 된다.
도 6은 본원발명을 실행시키기 위한 코드의 일예를 나타내는 도면이다.
도 6의 코드는 다양한 이벤트(event) 발생 시마다 처리과정을 나타내는 이벤트핸들러(event handler) 블록들로 구성된다. 그리고 이벤트 핸들러 코드들 앞에 변수정의(common notations) 블록을 두어 이벤트 핸들러 코드에서 사용되는 표기법을 설명하였다. 여기서 이벤트핸들러(event handler) 블록의 수행을 위한 이벤트들은 대기시간 경과(On expiration of waiting time()), 부모노드요청메시지 수신(On receving parent query()), 부모노드응답메시지 수신(On receving parent reply()), 부모노드선정메시지 수신(On receving parent designation(IDsender, PPsender)), 부모노드확인메시지 수신(On receving parent confirmation(IDsender, PPsender)) 이벤트가 되며, 해당 블록들은 상술한 이벤트의 발생시마다 본원발명의 처리과정을 수행하는 코드열로 구성된다. 그리고 상술한 코드열에서 PP는 부모노드점수를 나타내고, IDsender와 PPsender는 메시지 송신 노드의 ID 및 해당 메시지에 포함되는 부보노드점수를 나타내며, IDhighest 인접노드들 중 최대 부모노드 값을 가지는 노드의 ID를 나타내고, PPnext는 인접노드들의 부모노드점수 중 두 번째 부모노드점수를 나타낸다. 도 6의 코드는 본원발명의 각 처리과정을 코드화한 것으로 그 상세한 설명은 생략한다.
도 1은 본원발명의 바람직한 일 실시 예에 따르는 센서 네트워크 나무구조 구축방법의 처리과정을 나타내는 순서도,
도 2는 도 1의 처리과정 중 부모노드선정과정의 상세 처리과정을 나타내는 순서도,
도 3은 도 1 및 도 2의 처리과정에 의한 부모 및 자식 노드 설정을 위한 처리과정을 설명하기 위한 센서네트워크의 일 구성도,
도 4는 도 3의 A노드가 수집한 초기 인접노드들의 부모노드점수(PP) 및 부모노드 선정 우선순위 정보 값을 가지는 표를 나타내는 도면,
도 5는 C노드가 A노드를 자식노드로 등록한 후 부모노드점수를 업데이트하여 생성한 인접노드들의 부모노드점수(PP) 및 부모노드 선정 우선순위 정보 값을 가지는 표를 나타내는 도면,
도 6은 본원발명을 실행시키기 위한 코드의 일예를 나타내는 도면이다.
* 도면의 주요 부호에 대한 설명 *
A, B, C, D: 노드

Claims (5)

  1. 센서 네트워크의 나무구조를 구축하는 방법에 있어서,
    센서 네트워크의 변경시 센서 네트워크의 각 노드들이 부모노드점수와 부모노드 선정 우선순위를 계산하는 부모노드조건계산과정과;
    상기 부모노드 선정 우선순위에 따라 각각의 노드들이 부모노드조건계산과정에서 계산된 부모노드점수를 이웃 노드들로부터 수집하여 이들 중 최고 부모노드점수를 가지는 부모노드를 자신의 부모노드로 선정하는 부모노드선정과정;으로 이루어지는 것을 특징으로 하는 센서 네트워크 나무구조 구축방법.
  2. 청구항 1에 있어서, 상기 부모노드선정과정은,
    상기 부모노드 선정 우선순위에 따라 각각의 노드들이 인접노드들로 부모노드점수를 요청하여 부모노드점수와 부모노드 선정 우선순위를 수집하는 부모노드점수수집과정과;
    상기 부모노드점수를 수집한 노드가 최대 부모노드점수를 가지는 노드로 부모노드선정메시지를 전송하는 부모노드선정메시지송신과정과;
    상기 부모노드선정메시지를 수신한 노드가 부모노드확인메시지를 상기 부모노드선정메시지를 송신한 노드로 전송하는 부모노드확인메시지송신과정과;
    상기 부모노드선정메시지를 송신한 노드 및 부모노드확인메시지를 송신한 노드 각각이 상대방을 자식노드와 부모노드로 등록하는 부모 및 자식 노드 확정과정; 으로 이루어지는 것을 특징으로 하는 센서 네트워크 나무구조 구축방법.
  3. 청구항 2에 있어서, 상기 부모노드확인메시지송신과정은, 상기 부모노드확인메시지 송신 이전에 루트에 있는 싱크로 연결되지 않는 싸이클(cycle)을 제거하는 싸이클제거과정을 더 포함하는 것을 특징으로 하는 센서 네트워크 나무구조 구축방법.
  4. 청구항 2에 있어서,
    상기 부모노드선정메시지는 이웃 노드들의 부모노드점수 중 두 번째로 큰 부모노드점수를 포함하며,
    상기 부모노드확인메시지는 부모노드확인메시지를 송신하는 노드의 부모노드선정메시지를 수신하는 시점에서의 부모노드점수를 포함하고,
    상기 부모 및 자식 노드 확정과정은 상기 부모노드선정메시지를 송신한 노드와 상기 부모노드확인메시지를 송신한 노드가 상기 부모노드확인메시지를 송신한 노드의 부모노드점수가 상기 부모노드선정메시지에 포함된 두 번째 부모노드점수보다 작은 경우 상기 부모노드선정메시지를 전송한 노드가 상기 부모노드선정메시지송신과정부터 반복 수행하여 부모노드선정과정을 재수행하도록 하는 간섭제거과정;을 더 포함하여 이루어지는 것을 특징으로 하는 센서 네트워크 나무구조 구축방법.
  5. 청구항 1 내지 청구항 4 중 어느 한 항에 있어서,
    상기 부모노드점수(ParentPoint(h.c))는 α/(h+1) + (1-α)/(c+1)에 의해 생성되며,
    상기 부모노드 선정 우선순위는 h*β*Mi로 표시되는 상기 라우팅 초기화 메시지 송신시부터 부모노드선정 시작까지 소요되는 각 노드들의 대기시간(Waiting Time)에 의해 생성되며,
    상기 α는 나무구조가 지연 시간을 단축시키는 것을 결정하는 기 설정된 인수(parameter), 상기 h는 각 노드의 싱크까지의 홉수, 상기 c는 각 노드의 자식노드의 개수, 상기 β는 기 설정된 스케일링(scaling) 상수, 상기 Mi는 각 노드의 MAC계층서비스시간(MAC layer service time)인 것을 특징으로 하는 센서 네트워크 나무구조 구축방법.
KR1020080092671A 2008-09-22 2008-09-22 센서 네트워크 트리구조 구축 방법 KR100969943B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080092671A KR100969943B1 (ko) 2008-09-22 2008-09-22 센서 네트워크 트리구조 구축 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080092671A KR100969943B1 (ko) 2008-09-22 2008-09-22 센서 네트워크 트리구조 구축 방법

Publications (2)

Publication Number Publication Date
KR20100033683A true KR20100033683A (ko) 2010-03-31
KR100969943B1 KR100969943B1 (ko) 2010-07-14

Family

ID=42182482

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080092671A KR100969943B1 (ko) 2008-09-22 2008-09-22 센서 네트워크 트리구조 구축 방법

Country Status (1)

Country Link
KR (1) KR100969943B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101349962B1 (ko) * 2010-05-31 2014-01-14 한국전자통신연구원 센서 노드 및 라우팅 방법
CN104469906A (zh) * 2014-11-18 2015-03-25 无锡悟莘科技有限公司 一种低功耗的无线组网方法
KR101533025B1 (ko) * 2014-08-29 2015-07-02 성균관대학교산학협력단 무선 센서 네트워크 트리 재구축 방법
KR20190059021A (ko) * 2017-11-22 2019-05-30 성균관대학교산학협력단 트리 생성 방법 및 스케쥴링 방법
CN114363237A (zh) * 2021-12-22 2022-04-15 苏州迈科网络安全技术股份有限公司 家庭组网设备网络拓扑识别方法、装置、终端及存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101268009B1 (ko) 2011-02-22 2013-05-27 서울대학교산학협력단 무선 센서 네트워크의 자가구성 시스템 및 이를 이용한 무선 센서 네트워크의 자가구성 방법
KR101506212B1 (ko) * 2013-09-30 2015-03-26 에스큐아이소프트(주) Plc 원격검침 시스템용 성능시험기

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203729B2 (en) * 2001-04-20 2007-04-10 Motorola Inc. Method and apparatus for a communication network with nodes capable of selective cluster head operation
KR100760041B1 (ko) * 2005-06-17 2007-09-20 고려대학교 산학협력단 무선 센서 네트워크에서 가상 싱크와 로테이션을 사용한라우팅 경로 설정 방법
KR100768588B1 (ko) * 2005-09-01 2007-10-19 연세대학교 산학협력단 애드 혹 무선 네트워크에서 예비 클러스터를 이용한토폴로지 관리 방법 및 이를 구현하기 위한 프로그램을기록한 기록매체
KR100695333B1 (ko) * 2006-03-21 2007-03-16 한국전자통신연구원 무선 네트워크에서의 동적 예비클러스터 헤드를 이용한토폴로지 관리 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101349962B1 (ko) * 2010-05-31 2014-01-14 한국전자통신연구원 센서 노드 및 라우팅 방법
KR101533025B1 (ko) * 2014-08-29 2015-07-02 성균관대학교산학협력단 무선 센서 네트워크 트리 재구축 방법
CN104469906A (zh) * 2014-11-18 2015-03-25 无锡悟莘科技有限公司 一种低功耗的无线组网方法
KR20190059021A (ko) * 2017-11-22 2019-05-30 성균관대학교산학협력단 트리 생성 방법 및 스케쥴링 방법
CN114363237A (zh) * 2021-12-22 2022-04-15 苏州迈科网络安全技术股份有限公司 家庭组网设备网络拓扑识别方法、装置、终端及存储介质

Also Published As

Publication number Publication date
KR100969943B1 (ko) 2010-07-14

Similar Documents

Publication Publication Date Title
KR20100033683A (ko) 센서 네트워크 나무구조 구축 방법
CN103118439B (zh) 基于传感网节点通用中间件的数据融合方法
Li et al. A cone-based distributed topology-control algorithm for wireless multi-hop networks
Blough et al. The k-neigh protocol for symmetric topology control in ad hoc networks
Ramachandran et al. Clustering algorithms for wireless ad hoc networks
Akbari et al. Fault detection and recovery in wireless sensor network using clustering
von Rickenbach et al. Algorithmic models of interference in wireless ad hoc and sensor networks
JP2008529410A (ja) 無線経路指定を行うシステムおよび方法
CN109688604B (zh) 一种基于贝叶斯网络的高动态移动自组织网络抗毁性评估方法
Kamal et al. Packet-level attestation (PLA) A framework for in-network sensor data reliability
CN104168661A (zh) 一种满足公平性条件的最大化网络生存期传输调度方法
JP6927072B2 (ja) 経路選択装置、経路選択方法及びプログラム
Alsalih et al. Distributed voronoi diagram computation in wireless sensor networks.
CN101772013A (zh) 一种基于投票机制的wsn抗攻击节点定位方法
WO2022262127A1 (zh) 智慧物联网综合感知系统及方法
CN103338472B (zh) 一种无线网络链路质量估计方法
Alaybeyoglu et al. Tracking fast moving targets in wireless sensor networks
Zhong et al. Energy-efficient continuous boundary monitoring in sensor networks
Derhab et al. A partition prediction algorithm for service replication in mobile ad hoc networks
Chao et al. Design of structure-free and energy-balanced data aggregation in wireless sensor networks
WO2020022193A1 (ja) 経路選択装置、経路選択方法及びプログラム
Cao Minh et al. DISON: a self-organizing network management framework for wireless sensor networks
CN115865761A (zh) 一种考虑阻塞反馈的网络实体任务活动代价评估方法
CN113395357B (zh) 区块链系统的分片方法及装置
Raychoudhury et al. Top k-leader election in wireless ad hoc networks

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: 20130703

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140630

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150701

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160701

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee