KR100969943B1 - 센서 네트워크 트리구조 구축 방법 - Google Patents

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

Info

Publication number
KR100969943B1
KR100969943B1 KR1020080092671A KR20080092671A KR100969943B1 KR 100969943 B1 KR100969943 B1 KR 100969943B1 KR 1020080092671 A KR1020080092671 A KR 1020080092671A KR 20080092671 A KR20080092671 A KR 20080092671A KR 100969943 B1 KR100969943 B1 KR 100969943B1
Authority
KR
South Korea
Prior art keywords
node
parent node
parent
sensor network
score
Prior art date
Application number
KR1020080092671A
Other languages
English (en)
Other versions
KR20100033683A (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

본원발명은 센서 네트워크의 트리구조를 저비용으로 구축할 수 있도록 하는 센서 네트워크 트리구조 구축방법에 관한 것으로서,
각 노드들이 싱크로부터의 홉 수와 생성될 트리 구조 안에서의 자신의 하위 계층에 위치되는 자신의 자식 노드(children nodes) 수에 기반하여 자신의 부모노드점수를 계산하고, 상기 센서 네트워크의 싱크 노드가 라우팅 구조의 형성을 명령하는 라우팅 초기화 메시지를 전체 센서 네트워크로 플러딩(flooding)하는 초기화과정; 상기 각각의 노드들이 초기화 메시지를 수신한 후 자신의 싱크로부터의 홉 수에 비례하는 대기시간만큼 기다리는 대기과정; 인접 노드들 중 최고 부모노드점수를 가지는 노드를 자신의 부모노드로 선정하는 부모노드선정과정;으로 이루어지며, 상기 센서 네트워크 트리 구조 구축 방법의 처리과정들이 각 센서 노드에서 개별적으로 이루어져 모든 센서 노드가 자신의 부모노드를 설정함으로써 전체 센서 네트워크의 트리 구조가 형성되도록 하는 것을 특징으로 한다.
센서 네트워크, 트리구조, 간섭제거, 싸이클제거, 부모노드점수, 부모노드 선정 우선순위

Description

센서 네트워크 트리구조 구축 방법{THE METHOD FOR CONSTRUCTING SENSOR NETWORK TREE STRUCTURE}
본원발명은 데이터 수집과정의 에너지 효율성을 향상시키고, 수집 지연 시간을 조절할 수 있는 센서 네트워크의 트리구조를 저비용으로 구축할 수 있도록 하는 센서 네트워크 트리구조 구축방법에 관한 것이다.
일반적으로 센서 네트워크는 일정 영역 내의 특성 예를 들면, 일정 영역의 온도 및 지진 발생 지점의 정확한 확인 및 원격검침 등을 하는데 이용될 수 있는 기술로서, 일정 영역에 다수개의 센서를 분포시킨 후, 센서들로부터의 정보를 수집 및 분석하여 원하는 데이터를 추출하게 된다.
상술한 센서 네트워크에서의 데이터 수집 응용은 주기적으로 전체 노드로부터 발생하는 데이터를 싱크로 전달하는 것을 말한다. 상술한 바와 같은 응용을 수행하는 센서 네트워크에서 에너지 소비가 중요한 문제로 제기되는데, 이는 배터리를 모두 소진한 노드가 센서네트워크를 이탈함으로써 네트워크 가용 시간 감소의 큰 원인이 되기 때문이다. 라우팅 지연시간 또한 데이터 수집 응용을 위한 센서 네트워크의 중요한 성능 지표이다. 실시간성이 중요한 센서 네트워크 데이터 수집 응용이 존재하기 때문이다.
이러한 에너지 소비 및 지연 시간을 줄이기 위하여 다수의 라우팅기법들이 제시되어 있는 데 그 중 트리(Tree) 구조를 이용한 방법이 가장 널리 쓰인다.
일반적으로 트리 구조 중에서 SPT(Shortest Path Tree)는 라우팅 지연 시간을 줄이는데 효과가 크며, MDST(Minimum Degree Spanning Tree)는 네트워크 내 데이터 집적(In-network Data Aggregation)과 함께 쓰여 에너지 효율성을 높이는데 효과가 큰 것으로 알려져 있다.
그러나 상술한 트리 구조 형성 기법은 대부분 싱크로 모든 정보를(토폴로지 정보)를 모은 후, 싱크에서 다시 네트워크의 트리구조를 만들고, 이 트리구조에 대한 정보를 전체 네트워크의 노드들로 보내는 방식으로 동작하기 때문에 트리 구조의 구축 비용이 크다는 문제점을 가진다.
삭제
삭제
따라서 본 명은 상술한 종래기술의 문제점을 해결하기 위한 것으로서, 각 노드가 자신의 주변 노드들과의 메시지 교환을 통해 자신의 부모 노드와 자식 노드를 설정함으로써, 센서 네트워크 전체에 트리 라우팅 구조가 형성될 수 있도록 하는 센서 네트워크 트리 구조 구축방법을 제공하는 것을 목적으로 한다.
또한 본 발명은 각 노드가 부모 노드를 선정할 때 에너지 효율성 및 지연시간이라는 응용 요구 사항을 반영할 수 있도록 하는 센서 네트워크의 트리 구조 구축방법을 제공하는 것을 다른 목적으로 한다.
또한 본 발명은 센서 네트워크의 라우팅 구조를 형성하는데 드는 메시지 및 시간 비용을 줄일 수 있도록 하는 센서 네트워크의 트리 구조 구축 방법을 제공하는 것을 또 다른 목적으로 한다.
삭제
상술한 목적을 달성하기 위한 발명의 센서 네트워크 트리구조 구축 방법은, 센서 네트워크의 변경이 발생되는 경우, 네트워크 변경이 싱크로 보고된 후 네트워크 변경을 보고받은 싱크가 라우팅 구조의 재설정을 명령하는 라우팅 초기화 메시지(routing initiation message)를 네트 워크 전체로 플러딩(flooding)하는 것에 의해 수행되는 것으로서, 각 노드들이 싱크로부터의 홉 수와 생성될 트리 구조 안에서의 자신의 하위 계층에 위치되는 자신의 자식 노드(children nodes) 수에 기반하여 트리구조에서 자신의 상위 계층에 위치되는 부모노드점수를 계산하고, 상기 센서 네트워크의 싱크 노드가 라우팅 구조의 형성을 명령하는 라우팅 초기화 메시지를 전체 센서 네트워크로 플러딩(flooding)하는 초기화과정; 상기 각각의 노드들이 초기화 메시지를 수신한 후 자신의 싱크로부터의 홉 수에 비례하는 대기시간만큼 기다리는 대기과정; 인접 노드들 중 최고 부모노드점수를 가지는 노드를 자신의 부모노드로 선정하는 부모노드선정과정;으로 이루어지며, 상기 센서 네트워크 트리 구조 구축 방법의 처리과정들이 각 센서 노드에서 개별적으로 이루어져 모든 센서 노드가 자신의 부모노드를 설정함으로써 전체 센서 네트워크의 트리 구조가 형성되도록 하는 것을 특징으로 한다.
상기 싱크로부터의 홉 수는 종래기술에서 잘 알려진 바와 같이 센서 네트워크의 그래프 구조에서 싱크와 노드를 연결하는 가장 짧은 경로의 홉 거리(the hop distance of shortest path between the sink and the sensor node)를 의미한다. 즉, 상기 홉 수는 이 후에 형성되는 트리 구조와는 무관하다.
상기 부모노드점수는, 상기 각 노드에서 자식 노드의 개수와 싱크까지의 홉 수를 인수로 결정되는 것으로, 센서 네트워크에서의 데이터 수집 응용이 에너지 효율성을 중요시할 경우에는 자식 노드의 개수가 많아지면 부모노드 점수가 낮아지도록, 센서 네트워크에서의 데이터 수집 응용이 낮은 라우팅 지연시간을 중요시할 경우에는 싱크까지의 홉 수가 커지면 부모노드가 낮아지도록 조절되는 것을 특징으로 한다.
상기 부모노드선정과정은, 상기 센서네트워크 구조가 싸이클(cycle)을 포함한 그래프(graph) 구조가 되는 것을 방지하기 위해 싸이클(cycle)을 제거하는 싸이클제거과정;을 더 포함할 수도 있다. 구체적으로 상기 부모노드선정메시지를 수신한 노드가 싸이클 발생 위험성을 판단하는데, 자신의 싱크까지의 홉 수가 부모노드선정메시지를 송신한 노드의 싱크까지의 홉 수 보다 큰 경우 또는 자신의 부모노드의 싱크까지의 홉 수가 부모노드선정 메시지를 송신한 노드의 싱크까지의 홉 수와 같은 경우 싸이클 위험성이 있다고 판단한다. 상기 싸이클 위험성에 관한 정보는 부모노드확인메시지를 통하여 부모노드선정메시지를 송신한 노드로 전달된다. 부모노드학인메시지를 수신하고 싸이클 위험성을 파악한 노드는 부모노드선정메시지송신과정부터 부모노드선정과정을 다시 시작하여 다른 노드를 부모 노드로 선정한다.
삭제
삭제
삭제
삭제
삭제
삭제
상기 부모노드선정과정은 센서 네트워크의 노드가 부모노드선정과정을 진행하는 동한 주변 노드의 부모노드점수에 변동이 생기는 경우에 대비하여, 주변 노드의 부모노드점수에 변동이 있어도 가장 부모노드점수가 높은 노드를 부모로 선정할 수 있도록 하는 간섭제거 과정을 더 포함하여 이루어질 수 있다.
상기 간섭제거과정을 더욱 상세히 설명하면, 상기 부모노드선정메시지는 메시지를 송신하는 시점에서 메시지를 송신하는 노드의 이웃 노드들의 부모노드점수 중 두 번째로 큰 부모노드점수(이하 'X')를 포함하고, 상기 부모노드확인메시지는 부모노드확인메시지를 송신하는 노드의 송신시점의 부모노드점수(이하 'Y')를 포함하도록 하여, 상기 추가 정보 X와 Y를 이용하여 노드들이 부모노드의 점수 변동으로 인한 문제가 발생하는 지를 확인한다. 상기 부모노드선정메시지를 수신한 노드는 자신의 현재 부모노드점수와 점수 X를 비교하여 자신의 부모노드점수가 더 작다면 자신의 부모가 될 수 없다고 판단한다. 상기 부모노드확인메시지를 수신한 노드는 점수 Y가 이웃 노드들 중 최대 부모노드점수가 아니라면 부모노드선정메시지송신과정으로 복귀하여 부모노드선정과정을 다시 시작하는 것에 의해 다른 노드를 부모노드로 선정한다.
삭제
삭제
삭제
상술한 본원발명은 각각의 노드가 개별적으로 활동하여 센서 네트워크 라우팅 구조를 구성하도록 하고, 인접 노드의 정보만을 활용하도록 함으로써, 라우팅 구조를 구성하는데 드는 시간 및 제어메시지 송수신 측면의 비용을 절감시킨다. 이 비용 절감은 센서 네트워크 변화 등으로 라우팅 구조의 변경이 수시로 일어나는 센서 네트워크 환경에서 특히 효과적이다.
또한, 본 발명은 에너지 효율성 및 지연시간이라는 센서 네트워크의 중요한 성능 지표를 만족시킨다.
또한, 본 발명은 센서 노드 간 시간 동기화 및 GPS 등을 이용한 위치 파악을 요구하지 않으므로 적은 하드웨어 비용으로 구현될 수 있어, 센서 네트워크 구축 비용을 절감시키는 효과를 제공한다.
또한, 상술한 본원발명의 센서 네트워크는 적은 비용으로 구축되기 때문에, 링크 끊김, 노드 고장, 노드 이동 등 네트워크 변화가 잦은 상황에서 장애 발생 없이 원활히 작동할 수 있도록 하여 센서 네트워크의 전체 성능을 현저히 향상시키는 효과를 제공한다.
또한, 상술한 본원발명은 다양한 지연 시간 요구 조건을 알고리즘 인자(alpha 변수) 조절로 간단히 지원할 수 있기 때문에, 지연 시간 요구 조건에 따라 다른 알고리즘을 구현하는 번거로움을 제거함으로써 센서 네트워크의 유지 및 관리를 용이하게 하는 효과를 제공한다.
이하, 본원발명의 바람직한 일 실시 예를 나타내는 첨부 도면을 참조하여 본원발명을 더욱 상세히 설명한다.
센서 네트워크에 변경이 발생한 경우, 센서네트워크의 싱크로 네트워크 변경정보가 전송되면, 센서 네트워크는 네트워크의 트리구조의 재구성을 위한 라우팅 초기화 메시지(routing initiation)를 센서 네트워크의 전체 노드로 플러딩(flooding) 한다. 이와 같이 라우팅 구조 변경을 위해 메시지 플러딩을 이용하는 것은 센서 네트워크 분야에서 일반적이다.(본 발명의 '초기화과정').
싱크로부터 라우팅 초기화 메시지를 수신한 센서 네트워크 내의 노드들은 이후부터 본원발명의 센서 네트워크 트리구조 구축방법을 적용하여 부모노드와 자식노드를 결정하는 작업을 수행한다.
본원발명의 일 실시 예를 나타내는 도 1 내지 도 5를 참조하여 본원 발명의 센서 네트워크 트리구조 구축방법을 더욱 상세히 설명하면 다음과 같다.
도 1은 본원발명의 바람직한 일 실시 예에 따르는 센서 네트워크 트리구조 구축방법의 처리과정을 나타내는 순서도, 도 2는 도 1의 처리과정 중 부모노드선정과정의 상세 처리과정을 나타내는 순서도, 도 3은 도 1 및 도 2의 처리과정에 의한 부모 및 자식 노드 설정을 위한 처리과정을 설명하기 위한 센서네트워크의 일 구성도, 도 4는 도 3의 A노드가 수집한 초기 인접노드들의 부모노드점수(PP) 및 부모노드 선정 우선순위 정보 값을 가지는 표를 나타내는 도면이며, 도 5는 C노드가 A노드를 자식노드로 등록한 후 부모노드점수를 업데이트하여 생성한 인접노드들의 부모노드점수(PP) 및 부모노드 선정 우선순위 정보 값을 가지는 표를 나타내는 도면이다.
도 1에 도시된 바와 같이, 상술한 센서 네트워크 트리구조 구축방법의 처리과정은, 네트워크의 트리구조의 재구성을 위한 라우팅 초기화 메시지(routing initiation)를 센서 네트워크의 전체 노드로 플러딩(flooding)하는 초기화과정(S10)과, 라우팅 초기화 메시지를 수신산 각 노드들이 부모노드선정 시작을 대기하는 대기과정(S20)과, 부모노드선정과정을 수행하기 위한 대기시간이 경과된 후에 먼저, 자신의 부모노드점수(PP: Parent Point)와 부모노드 선정 우선순위를 결정하는 부모노드조건계산과정(S100)과 부모노드선정과정(S200)을 포함하여 이루어진다.
이때, 초기화과정(S10)과 대기과정(S20)이 수행된 후 수행되는 상술한 부모노드조건계산과정(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) 'X'를 포함할 수 있다.
다음으로, 부모노드확인메시지송신과정(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노드에 대하여 부모노드선정을 위한 처리과정을 다시 수행한다.
상기 싸이클발생확인과정(S230)과 상기 싸이클노드제거과정(S251)이 본 발명의 싸이클제거과정이 된다.
이와 달리, C노드의 부모노드점수(PP)가 O이 아닌 경우에는 A노드는 부모 및 자식 노드 확정과정(S250) 중 간섭제거과정(S252)과 부모노드 확정과정(S253)을 수행하게 된다.
상술한 A노드의 간섭제거과정(S252)을 설명하면, 센서 네트워크 내의 각각의 노드의 부모노드점수는 센서 네트워크 내에서 동적으로 바뀌기 때문에, 앞서 설명한 바와 같이 부모노드선정메시지송신 시의 부모노드 점수에 의해 부모노드를 선정하는 것은, 부모노드응답메시지 수신 이후(부모노드점수 수집 이후)에 주변 노드의 간섭으로 인해 부모노드의 점수가 변경되어 잘못된 부모노드의 선정이 될 수 있으므로 이를 방지하기 위한 것이다.
이를 위해, 상술한 바와 같이, A노드는 부모노드선정메시지를 C노드로 송신하는 경우 자신이 수집한 부모노드점수 중 두 번째로 큰 부모노드점수(PPnext) 'X'를 포함시키고, C노드는 부모노드확인메시지 송신시 부모노드선정메시지를 수신한 시점에서의 자신의 부모노드점수(PP) 'Y'를 포함시키게 된다.
따라서 부모노드확인메시지의 수신 후 A노드는 부모노드확인메시지에 포함된 C노드의 부모노드점수(PP of IDfrist) 'Y'를 자신이 수집한 부모노드점수 중 두 번째로 큰 값인 PPnext(=X)와 비교하여, 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. 센서 네트워크의 트리구조를 구축하는 방법에 있어서,
    각 노드들이 싱크로부터 홉 수와 생성될 트리 구조 안에서의 자신의 하위 계층에 위치되는 자신의 자식 노드(children nodes) 수에 기반하여 트리구조에서 자신의 상위 계층에 위치되는 자신의 부모노드점수를 계산하고, 상기 센서 네트워크의 싱크 노드가 라우팅 구조의 형성을 명령하는 라우팅 초기화 메시지를 전체 센서 네트워크로 플러딩(flooding)하는 초기화과정;
    상기 각각의 노드들이 초기화 메시지를 수신한 후 자신의 싱크로부터의 홉 수에 비례하는 대기시간만큼 기다리는 대기과정;
    인접 노드들 중 최고 부모노드점수를 가지는 노드를 자신의 부모노드로 선정하는 부모노드선정과정;을 포함하여 이루어지는 것을 특징으로 하는 센서 네트워크 트리구조 구축방법.
  2. 청구항 1에 있어서, 상기 부모노드점수는,
    상기 각 노드에서 자식 노드의 개수와 싱크까지의 홉 수를 인수로 결정되는 것으로, 센서 네트워크에서의 데이터 수집 응용이 에너지 효율성을 중요시할 경우에는 자식 노드의 개수가 많아지면 부모노드 점수가 낮아지도록, 센서 네트워크에서의 데이터 수집 응용이 낮은 라우팅 지연시간을 중요시할 경우에는 싱크까지의 홉 수가 커지면 부모노드가 낮아지도록 조절되는 것을 특징으로 하는 센서 네트워크 트리구조 구축방법.
  3. 청구항 1에 있어서, 상기 부모노드선정과정은,
    부모 노드를 선정하려는 노드가 인접노드들에게 부모노드점수를 요청하여 부모노드점수를 수집하는 부모노드점수수집과정;
    상기 부모노드를 선정하려는 노드가 인접 노드 중 최대 부모노드점수를 가지는 노드로 부모노드선정메시지를 전송하는 부모노드선정메시지전송과정;
    상기 부모노드를 선정하려는 노드가 부모노드확인메시지를 수신하도록 상기 부모노드선정메시지를 수신한 노드가 부모확인메시지를 송신하는 부모확인메시지송신과정;
    상기 부모노드를 선정하려는 노드가 상기 부모확인메시지를 수신한 경우 상기 부모노드를 선정하려는 노드와 상기 부모노드설정메시지를 수신한 노드 각각이 상대방을 부모노드와 자식노드로 등록하는 부모 및 자식 노드 확정과정;을 포함하여 이루어지는 것을 특징으로 하는 센서 네트워크 트리 구조 구축방법.
  4. 청구항 2에 있어서, 상기 부모노드선정과정은,
    상기 센서네트워크 구조가 싸이클(cycle)을 포함한 그래프(graph) 구조가 되는 것을 방지하기 위해 싸이클(cycle)을 제거하는 싸이클제거과정;을 더 포함하는 것을 특징으로 하는 센서네트워크 트리 구조 구축방법.
  5. 청구항 3에 있어서,
    상기 부모노드선정메시지는 이웃 노드들의 부모노드점수 중 두 번째로 큰 부모노드점수를 포함하며,
    상기 부모노드확인메시지는 부모노드확인메시지를 송신하는 노드의 부모노드선정메시지를 수신하는 시점에서의 부모노드점수를 포함하고,
    상기 부모노드선정과정은 상기 두 번째로 큰 부모노드점수와 상기 부모노드선정메시지를 수신하는 시점에서의 부모노드점수를 이용하여 상기 노드가 상기 부모노드선정과정을 진행하는 중에 주변 노드의 부모노드점수가 변동하는 경우에도 가장 부모노드점수가 높은 노드를 부모노드로 선정할 수 있도록 하는 간섭제거과정;을 더 포함하여 이루어지는 것을 특징으로 하는 센서 네트워크 트리구조 구축방법.
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 KR20100033683A (ko) 2010-03-31
KR100969943B1 true 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 (2)

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

Families Citing this family (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 无锡悟莘科技有限公司 一种低功耗的无线组网方法
KR101989148B1 (ko) * 2017-11-22 2019-06-13 성균관대학교산학협력단 트리 생성 방법 및 스케쥴링 방법
CN114363237A (zh) * 2021-12-22 2022-04-15 苏州迈科网络安全技术股份有限公司 家庭组网设备网络拓扑识别方法、装置、终端及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040097253A (ko) * 2002-03-27 2004-11-17 모토로라 인코포레이티드 클러스터 헤드 동작을 선택할 수 있는 노드들을 구비한통신 네트워크에 대한 방법 및 장치
KR20060132113A (ko) * 2005-06-17 2006-12-21 고려대학교 산학협력단 무선 센서 네트워크에서 가상 싱크와 로테이션을 사용한라우팅 경로 설정 방법
KR20070025321A (ko) * 2005-09-01 2007-03-08 연세대학교 산학협력단 애드 혹 무선 네트워크에서 예비 클러스터를 이용한토폴로지 관리 방법 및 이를 구현하기 위한 프로그램을기록한 기록매체
KR100695333B1 (ko) * 2006-03-21 2007-03-16 한국전자통신연구원 무선 네트워크에서의 동적 예비클러스터 헤드를 이용한토폴로지 관리 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040097253A (ko) * 2002-03-27 2004-11-17 모토로라 인코포레이티드 클러스터 헤드 동작을 선택할 수 있는 노드들을 구비한통신 네트워크에 대한 방법 및 장치
KR20060132113A (ko) * 2005-06-17 2006-12-21 고려대학교 산학협력단 무선 센서 네트워크에서 가상 싱크와 로테이션을 사용한라우팅 경로 설정 방법
KR20070025321A (ko) * 2005-09-01 2007-03-08 연세대학교 산학협력단 애드 혹 무선 네트워크에서 예비 클러스터를 이용한토폴로지 관리 방법 및 이를 구현하기 위한 프로그램을기록한 기록매체
KR100695333B1 (ko) * 2006-03-21 2007-03-16 한국전자통신연구원 무선 네트워크에서의 동적 예비클러스터 헤드를 이용한토폴로지 관리 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012115353A2 (ko) * 2011-02-22 2012-08-30 서울대학교산학협력단 무선 센서 네트워크의 자가구성 시스템 및 이를 이용한 무선 센서 네트워크의 자가구성 방법
WO2012115353A3 (ko) * 2011-02-22 2012-12-13 서울대학교산학협력단 무선 센서 네트워크의 자가구성 시스템 및 이를 이용한 무선 센서 네트워크의 자가구성 방법
US9240973B2 (en) 2011-02-22 2016-01-19 Snu R&Db Foundation Self-construction system of wireless sensor network and method for self-construction of wireless sensor network using the same
KR101506212B1 (ko) * 2013-09-30 2015-03-26 에스큐아이소프트(주) Plc 원격검침 시스템용 성능시험기

Also Published As

Publication number Publication date
KR20100033683A (ko) 2010-03-31

Similar Documents

Publication Publication Date Title
KR100969943B1 (ko) 센서 네트워크 트리구조 구축 방법
Gallais et al. Localized sensor area coverage with low communication overhead
Zhang et al. A low duty cycle efficient MAC protocol based on self-adaption and predictive strategy
CN103118439B (zh) 基于传感网节点通用中间件的数据融合方法
JP5804504B2 (ja) マルチホップ無線ネットワークの経路制御方法
Zeng et al. Connectivity and coverage maintenance in wireless sensor networks
TWI398182B (zh) 應用於無線感測器網路之多跳路由演算法
Sitanayah et al. A fault-tolerant relay placement algorithm for ensuring k vertex-disjoint shortest paths in wireless sensor networks
CN101488887B (zh) 监控方法和监控装置
CN109688604B (zh) 一种基于贝叶斯网络的高动态移动自组织网络抗毁性评估方法
Frank et al. Distributed facility location algorithms for flexible configuration of wireless sensor networks
JP2009206560A (ja) センサデータ収集システムおよび方法、センサネットワーク構築装置および方法、プログラム、並びに記録媒体
CN110100479A (zh) 一种利用修改的无路径dao信令优化路由失效的装置和方法
CN111083733A (zh) 一种无线传感器网络拥塞控制方法及系统
JP6927072B2 (ja) 経路選択装置、経路選択方法及びプログラム
WO2022262127A1 (zh) 智慧物联网综合感知系统及方法
EP3425861A1 (en) Improved routing in an heterogeneous iot network
CN101772013A (zh) 一种基于投票机制的wsn抗攻击节点定位方法
CN103338472B (zh) 一种无线网络链路质量估计方法
KR20080070960A (ko) 활성화 노드 선택기법을 기반으로 하는 토폴로지 구성방법
US7680068B1 (en) System and method for artery node selection in an ad-hoc network
KR101087986B1 (ko) 센서 네트워크 기반의 화재 감시 시스템 및 그 방법
Cao Minh et al. DISON: a self-organizing network management framework for wireless sensor networks
US10244511B1 (en) Systems and methods for selecting a node management device in a wireless network
JP4507083B2 (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: 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