KR101068214B1 - 클러스터 관리 방법 및 장치 - Google Patents

클러스터 관리 방법 및 장치 Download PDF

Info

Publication number
KR101068214B1
KR101068214B1 KR1020080113606A KR20080113606A KR101068214B1 KR 101068214 B1 KR101068214 B1 KR 101068214B1 KR 1020080113606 A KR1020080113606 A KR 1020080113606A KR 20080113606 A KR20080113606 A KR 20080113606A KR 101068214 B1 KR101068214 B1 KR 101068214B1
Authority
KR
South Korea
Prior art keywords
cluster
cluster head
message
clustering
node
Prior art date
Application number
KR1020080113606A
Other languages
English (en)
Other versions
KR20100054621A (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 KR1020080113606A priority Critical patent/KR101068214B1/ko
Publication of KR20100054621A publication Critical patent/KR20100054621A/ko
Application granted granted Critical
Publication of KR101068214B1 publication Critical patent/KR101068214B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/32Connectivity information management, e.g. connectivity discovery or connectivity update for defining a routing cluster membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/46Cluster building
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

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

Abstract

본 발명은 클러스터 관리에 관한 것으로서, 본 발명에 따른 클러스터 관리 방법은 클러스터 헤드를 선정하기 위한 초기화 동작을 수행하는 (a) 단계와, 상기 초기화 동작을 수행한 후, 상기 클러스터 헤드가 될 수 있는 후보 노드들로부터 각각의 상태 정보를 획득하는 (b) 단계 및 상기 획득한 상태 정보를 기초로 상기 클러스터 헤드를 선정하는 (c) 단계를 포함한다.
센서 네트워크, 클러스터링 메커니즘

Description

클러스터 관리 방법 및 장치{Apparatus and method for managing a cluster}
본 발명은 센서 네트워크 환경에서 클러스터를 효율적으로 관리하는 방법에 관한 것이다.
일반적으로 센서 네트워크(sensor network)는 각 노드들이 독자적으로 네트워크를 구성하여 주변 환경을 센싱하고 센싱된 데이터를 목적지에 전달하는 것을 목표로 하며, 열악한 환경에서 주변 상황을 모니터링하고 필요한 정보를 수집하는 용도로 사용된다.
이 때, 센서 네트워크를 구성하는 각 노드들은 연산능력, 메인 메모리, 에너지 등에서 많은 제약을 갖게 된다.
예를 들어, 센서 네트워크의 각 노드에 장착된 마이크로 컨트롤러의 성능이 제한되며, 각 노드의 메인 메모리는 제한적이어서 적은 양만이 지원된다.  또한, 센서 네트워크의 각 노드는 배터리를 장착한 형태로 배치되는데 배터리의 교환이 상대적으로 어려워 제한된 에너지를 갖게 되며, 센서 네트워크에서 사용가능한 채널의 수가 제한적이다.
이 중, 센서 네트워크에서의 제한된 에너지는 좁게는 각 노드의 생존기간을 넓게는 센서 네트워크 전체의 생존기간을 결정하며 성능적인 측면에서 가장 중요한 부분을 차지한다.
센서 네트워크에서의 작업 중 일반적으로 가장 많은 에너지가 소모되는 부분은 통신이다. 따라서, 통신에서의 에너지 효율을 향상시키기 위한 연구가 활발하게 이루어지고 있다.
센서 네트워크에서 통신에서의 에너지 효율을 향상시키기 위한 방법의 예로서 가장 많이 연구되고 있는 것이 클러스터링 메커니즘(Clustering Mechanism)이 있으며, 여기에는 LEACH(Low-Energy Adaptive Clustering Hierarchy) 방식과 HEED (Hybrid, Energy-Efficient, Distributed clustering approach) 방식이 있다.
클러스터링 메커니즘은 개략적으로 클러스터라는 작은 영역들로 센서 네트워크가 분할되고, 각 클러스터에는 클러스터 헤더가 존재하여 클러스터 멤버로부터 데이터를 수집하고 이를 모아서 싱크 노드로 전달하거나, 상위 계층의 클러스터 헤드로 전달하는 메커니즘으로 이해될 수 있다.
이 중, LEACH 방식은 클러스터 헤드를 돌아가며 선정하는 방법을 이용하여 네트워크 노드 간의 에너지 소모를 균등하게 하며 그로 인해서 네트워크 생존시간을 최대화 하기 위한 방안으로서 제안된 것이다. 클러스터 헤드 노드 선정 알고리즘은 기본적으로 각 주기마다 확률적인 방법에 의해 새로운 클러스터 헤드를 선정하는 방식을 사용한다.
HEED 방식에서는 개별 노드에서의 분산 처리 방법을 이용한 클러스터 헤드 선정 방안을 제안한다. 클러스터 헤드 노드의 선정은 국부 데이터만을 이용하여 이 루어져야 하며 클러스터링을 위해 전송되는 데이터의 양이 적어야 할 뿐만 아니라 일정시간 내에 동작이 완료되어야 한다. 
HEED 방식의 경우 클러스터의 크기에 관계없이 일정 시간 내에 알고리즘이 종료되며 이웃 노드의 위치를 고려하지 않아도 되는 장점이 있다. 그러나 클러스터 헤드의 선정 과정에서 동기화가 필요하며 클러스터 헤드 노드 선정 방법을 제외하고는 대체적으로 LEACH 방식을 따른다.
그러나, 현재까지 제안된 이와 같은 클러스터링 메커니즘을 실제 환경에 적용하는 데에는 해결해야할 문제점이 있다.
예를 들어, 현재까지 제안된 클러스터링 메커니즘에서는 아직 클러스터 헤드 선정 방안과 클러스터 범위 선정 방안 그리고 클러스터 간 통신 방안이 명확하게 제시되지 않고 있다. 또한 클러스터링 메커니즘 자체에 실제 환경에 적용하기에는 부적합한 가정을 포함하고 있는 경우도 많다.
따라서, 보다 실질적으로 센서 네트워크에서의 에너지 효율을 향상시키기 위한 클러스터링 메커니즘이 제공될 필요가 있다.
본 발명은 센서 네트워크에서 에너지 효율을 향상시키기 위한 클러스터링 메커니즘을 제공하는데 그 목적이 있다.
또한, 본 발명은 센서 네트워크의 생존 시간을 연장하고 클러스터 내 통신에서의 충돌을 감소시킬 수 있는 클러스터 헤드 선정 방안과 선정된 클러스터 헤드를 통한 클러스터 간 통신 방안을 제공하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 클러스터 관리 방법은 클러스터 헤드를 선정하기 위한 초기화 동작을 수행하는 (a) 단계와, 상기 초기화 동작을 수행한 후, 상기 클러스터 헤드가 될 수 있는 후보 노드들로부터 각각의 상태 정보를 획득하는 (b) 단계 및 상기 획득한 상태 정보를 기초로 상기 클러스터 헤드를 선정하는 (c) 단계를 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 클러스터 관리 방법은 클러스터 참여를 위한 초기화 동작을 수행하는 (a) 단계와, 상기 초기화를 수행한 후, 클러스터링 절차를 확인하기 위한 식별자를 기초로 클러스터 헤드를 검색하는 (b) 단계 및 상기 검색된 클러스터 헤드가 속하는 클러스터에 참여하는 (c) 단계를 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 클러스터 관리 장치는 후보 노드들로부터 상태 정보를 수신하는 데이터 송수신부와, 상기 수신한 상태 정보를 기초로 클러스터 헤드를 선정하고, 클러스터 간의 통신을 위한 라우팅 테이블을 생성하는 클러스터링 헤드 선정부와 클러스터에 참여, 클러스터로부터 탈퇴 또는 클러스터를 복구하도록 동작하는 클러스터 관리부 및 상기 생성된 라우팅 테이블을 저장하는 저장부를 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 클러스터 관리 장치는 클러스터 엔진 및 라우팅 엔진을 포함하는 클러스터링 메커니즘 계층이 탑재된 네트워크 계층 및 에너지 효율을 위해 동작하는 ELM-MAC 계층이 탑재된 매체 접근 제어 계층을 포함하고, 상기 클러스터 엔진은 클러스터 헤드의 선정, 선정된 클러스터 멤버의 클러스터에 참여 및 탈퇴, 클러스터 복구기능을 제공하는 클러스터 엔진하고 탈퇴하는 기능을 제공하며, 상기 라우팅 엔진은 상기 클러스터 엔진에 의해 생성된 라우팅 테이블을 참조하여 데이터를 목적지까지 전송하는 기능을 제공한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
상기한 바와 같은 본 발명의 클러스터 관리 방법에 따르면 통신 부분에서의 에너지 효율을 향상시킬 수 있는 효과가 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 장치는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 장치의 존재 또는 추가를 배제하지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 프로토콜 스택을 나타내는 도면으로서, 클러스터링 메커니즘을 위한 프로토콜 스택은 네트워크 계층(Network Layer), 매체 접근 제어 계층(Medium Access Control Layer) 그리고 물리 계층(Physical Layer)으로 분류될 수 있다.
네트워크 계층에는 본 발명에 따른 클러스터링 메커니즘 계층(200)이 위치하 는데, 클러스터링 메커니즘 계층(200)은 도 2에 도시한 바와 같이 클러스터 엔진(210)과 라우팅 엔진(220)으로 구성될 수 있다.
클러스터 엔진(210)은 클러스터링 기능, 즉 클러스터 헤드와 클러스터 멤버의 선정, 선정된 클러스터 멤버가 클러스터에 참여하고 탈퇴하는 기능을 제공한다. 그리고 클러스터 헤드의 고장이나 클러스터 헤드간의 경로의 끊어짐 등의 이상 상황에서의 클러스터의 복구 기능을 제공한다.
라우팅 엔진(220)은 클러스터 엔진(210)에 의해 생성된 라우팅 테이블을 참조하여 데이터를 목적지까지 전송하는 기능을 제공한다.
라우팅 엔진(220)은 특정한 센서 노드에서 싱크(sink) 노드로 그리고 싱크(sink) 노드에서 특정한 센서 노드로의 데이터 전송기능을 제공한다. 즉, 데이터 수집을 위한 업 링크(up-link) 그리고 질의 전달을 위한 다운 링크(down-link) 라우팅을 모두 제공한다.
여기에서 센서 노드란 환경 물리계에서 감지된 정보를 통합적으로 처리한 결과 또는 초기 데이터를 유무선 통신기술로 전달하는 시스템으로서, 데이터 처리, 통신 경로 설정, 미들웨어 처리 등을 수행하는 프로세서와 통신 모듈을 포함할 수 있다. 또한, 싱크(sink) 노드는 베이스 노드(base node)라고도 불리우며, 연동된 네트워크에서 요구된 서비스를 관련 센서 네트워크로 전달하는 기능을 제공한다.
또한, 센서 네트워크를 구성하는 다른 센서 노드는 서비스의 요구에 따라 또는 이미 설정한 조건의 이벤트 발생에 따라 센싱된 정보를 싱크 노드로 전달하게 된다.
매체 접근 제어 계층에는 ELM-MAC(Energy Link Management MAC) 계층(100)이 위치하는데, ELM-MAC 계층(100)은 센서 네트워크에서의 에너지 효율을 위해 구현된 MAC 계층 프로토콜이다.
ELM-MAC 계층(100)은 B-MAC(Berkeley MAC)에서의 통신 메커니즘과 에너지 효율을 위한 정책을 기반으로 제안되고 구현되었다. ELM-MAC 계층(100)은 통신 가능한 주변 노드의 목록과 주변 노드와의 통신을 위한 최적화된 송신 전력을 관리하고 송신 시에 최적화된 송신 전력으로 송신함으로써 송신에서의 에너지 소모를 최소화하여 센서 네트워크에서의 에너지 효율을 증가시키는 역할을 한다.
ELM-MAC 계층(100)에 대한 보다 자세한 내용은 2008년 4월에 공지된 논문 "ITRC Technical Report: ELM-MAC Development Report"를 참조할 수 있다.
도 3은 본 발명의 일 실시예에 따른 센싱 기기의 구조를 나타내는 블록도이다.
도 3을 참조하면, 본 발명에 따른 센싱 기기(300)는 클러스터링 헤드 선정부(310), 클러스터 관리부(320), 데이터 송수신부(330), 저장부(340) 및 제어부(350)를 포함한다.
클러스터링 헤드 선정부(310)는 클러스터 헤드를 선정하고, 선정 과정에서 클러스터 헤드 간의 통신을 위한, 즉 클러스터 간의 통신을 위한 라우팅 테이블을 생성한다. 클러스터링 헤드 선정부(310)는 초기화, 클러스터 후보 선정, 그리고 클러스터 헤드 선정 동작을 수행한다.
클러스터 관리부(320)는 센싱 기기(300)가 클러스터에 참여 또는 클러스터로 부터 탈퇴하거나 클러스터를 복구하는 기능을 제공한다.
데이터 송수신부(330)는 센싱 기기(300)와 다른 센싱 기기들 간에 데이터를 송수신하는 인터페이스 기능을 제공한다.
저장부(340)는 센싱 기기(300)의 동작에 필요한 각종 프로그램들 혹은 데이터들을 저장하는 기능을 제공한다.
제어부(350)는 센싱 기기(300)를 구성하는 각각의 구성 요소들간의 동작을 제어한다.
비록 도 3에서는 도시되지 않았으나 센싱 기기(300)의 동작에 필요한 에너지를 공급하는 에너지 소스가 센싱 기기(300)에 포함되는 것은 당업자라면 쉽게 이해할 수 있을 것이다. 또한, 본 발명에서의 센싱 기기는 도면 혹은 상세한 설명에 기재된 노드(node)에 대응하는 것으로 이해될 수 있다.
한편, 본 발명에 따른 클러스터링 메커니즘은 크게 클러스터 헤드 선정, 클러스터 참여, 클러스터 탈퇴 그리고 클러스터 복구 기능을 제공하는데, 도 1 내지 도 3에 도시된 도면과 함께 각각의 기능을 구체적으로 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따라 클러스터 헤드를 선정하는 방법을 나타내는 플로우 차트로서, 도 4에 도시된 일련의 과정들은 센싱 기기(300)의 클러스터링 헤드 선정부(310)에 의해 수행될 수 있다. 또한, 클러스터 헤드 선정과 관련된 각종 프로그램 혹은 데이터들은 저장부(340)에 저장되거나, 데이터 송수신부(330)에 의해 다른 센싱 기기들로 송신 혹은 다른 센싱 기기들로부터 수신될 수 있다. 클러스터 헤드 선정에 필요한 각 구성 요소들의 동작은 제어부(350)에 의해 제어될 수 있다.
도 4를 참조하면, 클러스터 헤드를 선정하기 위하여 우선 초기화(S410) 동작이 수행된다.
초기화 단계는 도 1에 도시된 ELM-MAC 계층(100)의 초기화 과정과 클러스터링 메커니즘 계층(200)의 초기화 과정으로 분류될 수 있다.
ELM-MAC 계층(100)의 초기화 과정을 도 5a 및 도 5b를 참조하여 설명하면, ELM-MAC 계층(100)은 초기화 과정에서 통신이 가능한 주변 노드의 목록을 생성하고 주변 노드들에 대한 최적화된 송신 전력을 연산하는 과정을 거쳐 도 5b에 도시된 것과 같은 링크 테이블을 생성한다.
도 5b에 도시된 링크 테이블에서 "Node ID"는 각 노드를 식별하기 위한 노드 식별자를 의미하며 "Link Power"는 해당 노드까지의 최적화된 송신 전력을 의미한다. 예를 들어, 도 5b에 도시된 링크 테이블은 "Node ID"가 3인 센싱 기기가 생성한 링크 테이블에 해당한다.
클러스터링 메커니즘 계층(200)의 초기화는 클러스터링 라운드 값을 0으로 초기화하는 것으로 시작된다. 클러스터링 라운드 값은 클러스터링 과정에서 클러스터링 절차를 확인하기 위한 식별자이며 순차적으로 증가된다.
클러스터링 라운드 값을 초기화 한 후 이미 클러스터링 작업이 종료된 경우에, 센싱 기기(300)는 현재 자신의 상태를 클러스터 멤버로 변경하고 이미 구성된 클러스터에 참여하기 위해 후술하는 클러스터 참여 동작을 수행하게 된다.
위와 같은 초기화 동작을 수행한 후, 싱크 노드(sink node)에서부터 하향식 방법으로 클러스터 헤드 선정을 위한 과정이 수행되는데, 보다 구체적으로 클러스터 헤드 후보들을 선정하는 동작이 수행된다(S420).
클러스터 헤드 후보들을 선정 단계는 클러스터 헤드가 될 수 있는 후보 노드들을 선정하고 각 노드들의 정보를 수집하는 단계이며, 이러한 단계는 싱크 노드에서 수행되거나 싱크 노드로부터 클러스터 헤드 선정 권한을 부여 받은 클러스터 헤드에서 수행된다.
도 6a 및 도 6b는 클러스터 헤드 후보를 선정하는 절차와 클러스터 헤드 후보를 선정하기 위해 필요한 메시지 형태를 도시하고 있다.
싱크 노드 혹은 싱크 노드로부터 클러스터 헤드 선정 권한을 부여받은 클러스터 헤드는 클러스터 헤드 후보 메시지(Cluster Head Candidate Message; 이하, 'CHC 메시지'라고 칭한다)를 브로드캐스트한다. CHC 메시지에는 자신의 클러스터링 라운드 값이 기입된다.
CHC 메시지 수신 알고리즘을 프로그램 형태의 의사 코드(Pseudo code)로 표현하면 다음과 같다.
If (Clusteringround < Clusteringround of received CHC message)
Then
Density = The size of ELM-MAC link table
Distance = Link power value of ELM-MAC link table corresponding to source MAC address of received CHC message
Energy = Remained energy of node
Packetization of Clusteringround, Density, Distance and Energy into CHC reply (CHCR) message
Transmission of CHCR message to the node corresponding to source MAC address of received CHC message
Else
Drop the received CHC message
End if
CHC 메시지를 수신받은 노드는 먼저 해당 메시지의 클러스터링 라운드 값(Clusteringround of received CHC message)과 자신의 클러스터링 라운드 값(Clusteringround)을 비교한다.
자신의 클러스터링 라운드 값이 수신 받은 CHC 메시지의 클러스터링 값보다 크거나 같다는 것은 해당 메시지가 이전 클러스터링 라운드의 메시지이거나 이미 해당 클러스터링 라운드의 작업이 끝났다는 것을 의미한다. 그러므로 이 경우에는 수신 받은 CHC 메시지를 폐기하게 된다(Drop the received CHC message).
반대로 자신의 클러스터링 라운드 값이 수신 받은 CHC 메시지의 클러스터링 라운드 값보다 작을 때 CHC 메시지 수신 알고리즘이 실행된다.
CHC 메시지 수신 알고리즘은 클러스터 헤드 선정의 자료로 자신의 상태 정보를 CHC 메시지를 송신한 노드에게 전달하는 것을 목표로 한다.
CHC 수신 알고리즘에서의 상태 정보는 밀집도(Density), CHC 메시지 송신 노드와의 거리(Distance) 그리고 자신의 잔여 에너지(Energy)로 구성될 수 있다.
밀집도(Density)의 경우 자기 주변의 노드의 수를 의미하며 ELM-MAC 계층(100)에서의 동작에 의해 획득한 링크 테이블의 크기는 자기 주변의 노드 수를 의미하므로 밀집도 변수에는 상기 링크 테이블의 크기의 값을 기입한다.
CHC 메시지 송신 노드와의 거리(Distance)는 CHC 메시지 송신 노드와의 송신 전력을 의미하며 ELM-MAC 계층(100)의 동작에 의해 획득한 링크 테이블에서 송신 전력은 해당 노드와의 상대적인 거리를 의미하므로 CHC 송신 노드와의 거리 변수에는 ELM-MAC의 링크 테이블에서 해당 노드의 송신 전력 값을 기입한다.
잔여 에너지(Energy)의 경우 자신의 잔여 에너지를 측정하여 잔여 에너지 변수에 기입한다.
자신의 상태 정보를 모두 수집한 다음 자신의 상태정보를 클러스터 헤드 후보 응답 메시지(Cluster Head Candidate Reply Message; 이하 'CHCR 메시지'로 칭한다)로 패킷화하여 자신에게 CHC 메시지를 송신한 노드로 전송한다.
위와 같은 방법에 따라 클러스터 헤드 후보들이 선정되면 이들 후보로부터 클러스터 헤드가 선정된다(S430).
클러스터 헤드 후보 선정 작업을 진행한 싱크 노드나 싱크 노드로부터 클러스터 헤드를 선정하는 권한을 받은 클러스터 헤드가 CHC 메시지를 보낸 후 CHCR 메시지를 수신하는 대기 시간이 종료된 상태에서 클러스터 헤드 선정 작업이 진행된다.
클러스터 헤드 선정은 클러스터 헤드 후보로부터 수집한 상태 정보를 이용하여 클러스터 헤드를 선정하게 된다.
만약 클러스터 헤드 후보 선정 단계에서 수신된 CHCR 메시지가 하나도 존재하지 않는다면 이것은 싱크 노드로부터 클러스터 헤드 선정 권한을 받은 클러스터 헤드 주변에 해당 클러스터 헤드의 멤버가 될 노드나 자신이 선택할 수 있는 클러스터 헤드가 존재하지 않는다는 것을 의미한다.
그러므로 이 경우 클러스터 헤드 선정 권한을 받은 노드 혹은 싱크 노드는 자신의 상태를 클러스터 멤버로 변경하고 클러스터 참여 알고리즘을 수행한다.
클러스터 헤드 선정 단계에서는 먼저 각 클러스터 헤드 후보로부터 수집된 상태 정보를 이용하여 각 노드의 CHselect 값을 연산한다.
선정되는 클러스터 헤드는 일반적으로 병합 연산의 효율을 위해 높은 밀집도(Density)를 가져야 하고 클러스터간의 충돌을 감소시키기 위해 해당 노드를 클러스터 헤드로 선정하는 노드와 먼 거리에 위치하여야 한다.
또한 클러스터 헤드는 다른 노드보다 많은 에너지를 소모하므로 높은 에너지를 가진 노드가 클러스터 헤드로 선정되어야 한다.
따라서, CHselect 값을 연산하기 위한 식은 [수학식 1]과 같이 표현될 수 있다.
CHselect = WdeDe + WdiDi + WeE
상기 [수학식 1]에서 De는 밀집도, Di는 현재 노드에서 해당 클러스터 헤드 후보까지의 거리 그리고 E는 해당 클러스터 헤드 후보의 잔여 에너지를 의미한다.
De, Di 및 E는 각각의 최대 값이 상기하기 때문에 연산 시에는 해당 값들의 편차 값을 0에서 1값으로 정규화하여 연산한다.
Wde, Wdi, We값은 각각의 값에 대한 가중치 값을 의미하는데, 각 가중치 값은 0에서 1사이 값으로 정의되며 해당 센서 네트워크가 배치되는 환경이나 정책에 따라 결정될 수 있다.
연산된 CHselect 값은 CHselect 테이블로 구성될 수 있다. CHselect 테이블은 클러스터 헤드 선정 작업을 위해서 내림차순으로 정렬되는 것이 바람직하다.
클러스터 헤드를 선정하기 위해 CHselect 테이블을 순차적으로 탐색하여 가장 큰 CHselect 값을 갖는 노드로 CHS(Cluster Head Select) 메시지를 전송한다.
CHselect 테이블의 순차적 탐색 작업과 CHS 메시지의 전송작업은 CHS 메시지의 전송 직후가 아닌 현재 전송한 CHS 메시지에 의한 클러스터 헤드 선정 작업이 모두 종료된 후에 수행된다.
CHS 메시지를 수신한 클러스터 헤드 후보는 주변에 CHS 메시지를 송신한 클러스터 헤드를 제외한 다른 클러스터 헤드가 있는지의 여부를 판단하기 위해 CHD(Cluster Head Discovery) 메시지를 브로드캐스트한다.
도 7a 및 도 7b에서는 CHS 메시지와 CHD 메시지의 전송 형태를 도시하고 있다.
CHD 메시지를 수신하는 알고리즘은 다음과 같은 의사 코드(Pseudo code)로 표현될 수 있다.
If (Nodestate == Clusterhead)
Then
If (Clusteringround >= Clusteringround of received CHD Message)
Then
Packetization of CHDR message including Clusteringround
Transmission of CHDR message toward the node corresponding to source MAC address of received CHD message
End if
Else
Drop the received CHD message
End if
CHD 메시지를 수신한 노드가 해당 라운드의 클러스터 헤드(Nodestate == Clusterhead)이고 자신의 클러스터링 라운드가 수신한 CHD 메시지의 클러스터링 라운드보다 크거나 같다면(Clusteringround >= Clusteringround of received CHD Message), 클러스터 영역이 중첩되게 되므로 자신에게 CHD 메시지를 송신한 노드로 CHDR(Cluster Head Discovery Reply) 메시지를 전송하여 CHD 메시지를 송신한 노드의 영역에 이미 클러스터 헤드가 선정되었다는 것을 통보한다.
CHD 메시지를 송신한 노드가 CHDR 메시지를 하나라도 수신했거나 이미 설정된 시간 동안 CHDR 메시지를 하나도 수신하지 못했을 때에는 자신에게 CHS 메시지 를 송신한 클러스터 헤드 노드에게 CHSR(Cluster Head Select Reply) 메시지를 전송하기 위해 다음과 같은 의사 코드(Pseudo code)로 표현되는 CHSR 송신 알고리즘을 수행할 수 있다.
If (CHDR message is not received)
Then
Nodetype = Clusterhead
Else
Nodetype = Clustermember
End if
Packetization of Clusteringround and Nodetype of the received CHS message into CHSR message
Transmission of CHSR message toward the node corresponding to source MAC address of received CHS message
전송한 CHSR 메시지에 대한 ACK 메시지를 받았을 때 자신의 클러스터링 라운드 값을 수신 받은 CHS 메시지의 클러스터링 라운드 값으로 갱신한다.
그리고 CHDR 메시지의 수신여부가 'FALSE'이면 클러스터 헤드로 자신의 상태를 변경한 후 라우팅 테이블을 초기화한다.
또한, 자신에게 CHS 메시지를 전송한 노드 ID를 싱크 노드로의 라우팅 경로로 라우팅 테이블에 삽입하고 라우팅 테이블의 목적지 형태를 싱크 노드로 기입한다.
만약 CHSR 메시지에 대한 ACK 메시지를 받았을 때 CHDR 메시지의 수신여부가 'TRUE'이면 클러스터 멤버로 자신의 상태를 변경한 후 클러스터 참여 알고리즘을 실행한다. 도 8a 및 도 8b에서는 CHCR 메시지 전송 절차와 메시지 형태를 도시하고 있다.
CHSR 메시지는 싱크 노드나 클러스터 헤드가 수신하는데, CHSR 메시지의 수신 알고리즘은 다음과 같은 의사 코드(Pseudo code)로 표현될 수 있다.
If (Nodetype of received CHSR message == Clusterhead)
Then
if (Nodestate == Sinknode)
Then
Put transmission node ID in FIFO queue
Add the entry for the transmission node to routing table
Else
Add the entry for the transmission node to routing table
ClusterheadjoinID = Source MAC address of CHSR message
Packetization of ClusterheadjoinID into CHJ message
Transmission of CHJ message to sink node
If (Completion of CHselect table searching)
Then
Transmission of CHSC message to sink node
Else
Search CHselect table and execute cluster head candidate selection algorithm
End if
End if
Else
Drop the CHSR message
End if
만일 수신한 CHSR 메시지를 송신한 노드가 클러스터 헤드가 되고(Nodetype of received CHSR message == Clusterhead), 싱크 노드가 CHSR 메시지를 수신하게 되면(Nodestate == Sinknode), 헤드 선정 알고리즘을 스케줄링 하기 위한 FIFO 큐에 해당 노드 ID를 삽입한다(Put transmission node ID in FIFO queue).
그리고 라우팅 테이블에 해당 노드로의 경로를 삽입하며 라우팅 테이블의 목적지 형태를 클러스터 헤드로 기입한다(Add the entry for the transmission node to routing table).
만일 수신한 CHSR 메시지를 송신한 노드가 클러스터 헤드가 되고(Nodetype of received CHSR message == Clusterhead), 클러스터 헤드가 CHSR 메시지를 수신하게 되면, 먼저 라우팅 테이블에 해당 노드에 대한 경로를 삽입한다(Add the entry for the transmission node to routing table).
그리고 CHSR 메시지를 송신한 노드의 ID를 CHJ(Cluster Head Join) 메시지의 ClusterheadjoinID로 패킷화하여 싱크 노드로 전송한다(ClusterheadjoinID = Source MAC address of CHSR message, Packetization of ClusterheadjoinID into CHJ message Transmission of CHJ message to sink node).
선정된 클러스터 헤드와 싱크노드의 경로 상에 존재하는 클러스터 헤드들은 CHJ 메시지의 ClusterheadjoinID와 MAC 계층 source ID 정보를 이용하여 자신의 라우팅 테이블에 선정된 클러스터 헤드에 대한 경로를 삽입한다.
그리고 삽입되는 라우팅 정보의 목적지 형태를 클러스터 헤드로 기입한다.
CHJ 메시지를 전송한 클러스터 헤드는 CHselect 테이블에 탐색이 종료되었는지 확인한다(Completion of CHselect table searching).
CHselect 테이블에 탐색할 대상이 남아있다면 CHselect 테이블에 탐색 이후 클러스터 헤드 후보 선정 알고리즘 즉 CHselect 테이블을 탐색하고 CHS 메시지를 전송하여 다음 클러스터 헤드 후보에 대한 클러스터 헤드 선정 작업을 진행한다(Search CHselect table and execute cluster head candidate selection algorithm).
CHselect 테이블을 모두 탐색하였다면 먼저 자신의 클러스터링 라운드 값으로 CJC(Cluster Join Command) 메시지를 브로드캐스트한다.
CJC 메시지를 받은 노드들은 해당 메시지의 클러스터링 라운드 값 보다 자신 의 클러스터링 라운드 값이 크거나 같다면 해당 메시지를 폐기하고 해당 메시지의 클러스터링 라운드 값 보다 자신의 클러스터링 라운드 값이 작다면 자신의 클러스터링 라운드 값을 CJC 메시지에서의 클러스터링 라운드 값으로 갱신하고 자신의 상태를 클러스터 멤버로 변경한 후 클러스터 참여 알고리즘을 수행한다. CJC 메시지를 브로드캐스트한 클러스터 헤드는 싱크 노드로 CHSC(Cluster Head Select Complete) 메시지를 송신한다(Transmission of CHSC message to sink node).
CHSC 메시지를 수신한 싱크 노드는 현재 FIFO 큐의 헤드에 위치한 노드 ID를 큐에서 삭제한 후 현재 큐의 헤드에 위치한 노드 ID로 CHSS(Cluster Head Select Start) 메시지를 송신한다.
CHSS 메시지가 해당 노드에 도착했을 때 해당 노드는 클러스터 헤드를 선정하는 권한을 부여받게 되며 클러스터 헤드 선정 알고리즘을 수행하게 된다.
도 9는 본 발명의 일 실시예에 따라 센싱 기기(300)가 클러스터에 참여하는 방법을 나타내는 플로우 차트이다.
이 때, 클러스터 참여는 클러스터 멤버가 자신에게 가까운 클러스터 헤드를 검색하고 해당 클러스터에 참여하는 것을 의미한다. 또한, 도 9에 도시된 일련의 과정들은 센싱 기기(300)의 클러스터 관리부(320)에 의해 수행될 수 있다. 또한, 클러스터 참여와 관련된 각종 프로그램 혹은 데이터들은 저장부(340)에 저장되거나, 데이터 송수신부(330)에 의해 다른 센싱 기기들로 송신 혹은 다른 센싱 기기들로부터 수신될 수 있다. 클러스터 참여에 필요한 각 구성 요소들의 동작은 제어부(350)에 의해 제어될 수 있다.
도 9를 참조하면, 우선 클러스터 참여를 위한 초기화(S910) 동작이 수행되는데, 클러스터 참여를 위한 초기화 단계에서는 먼저 라우팅 테이블과 클러스터 참여 동작시 사용하는 변수들을 초기화한다.
위와 같은 초기화 동작을 수행한 후, 클러스터 헤드를 검색하는 동작이 수행된다(S920).
클러스터 헤드 검색 단계는 클러스터 멤버가 참여가능한 클러스터의 클러스터 헤드를 검색하기 위해 수행되며 도 10a 및 도 11b는 클러스터 헤드 검색 단계에서의 전송절차와 메시지 형태를 도시하고 있다.
클러스터 멤버는 클러스터 헤드를 검색하기 위해 CS(Cluster Search) 메시지를 브로드캐스트한다.
CS 메시지를 수신한 클러스터 헤드는 CS 메시지에서의 클러스터링 라운드 값보다 자신의 클러스터링 라운드 값이 크거나 같을 경우에만 CSR(Cluster Search Reply)를 송신한다.
CSR 메시지를 수신한 클러스터 멤버는 지금까지 수신한 CSR 메시지에서의 클러스터링 라운드의 최대값과 현재 수신 한 CSR 메시지의 클러스터링 라운드 값을 비교하여 현재 CSR 메시지의 클러스터링 라운드 값이 최대값보다 클 경우에만 해당 클러스터 헤드 ID를 저장하고 해당 값으로 최대값을 갱신한다.
반대로 현재 CSR 메시지의 클러스터링 라운드 값이 최대값보다 작거나 같을 경우에는 해당 메시지를 폐기한다.
즉 가장 높은 라운드를 가지고 가장 먼저 응답한 클러스터 헤드를 검색한다.
CS를 송신한 후 CSR 메시지를 수집하는 제한 시간이 경과하면 저장된 클러스터 헤드 ID로 클러스터 참여를 요청한다.
위와 같은 방법에 따라 클러스터 헤드를 검색한 후 클러스터에 참여하게 된다(S930).
클러스터 참여 단계에서 클러스터 멤버는 클러스터 헤드 검색 단계에서 검색된 클러스터 헤드의 클러스터에 참여한다.
클러스터 멤버는 클러스터에 참여하기 위해 해당 클러스터 헤드에 CJ(Cluster Join) 메시지를 송신한다.
CJ 메시지를 수신한 클러스터 헤드는 현재 라우팅 테이블에 CJ 메시지를 송신한 클러스터 멤버 ID가 존재하는 지를 확인하고, 만일 존재하지 않는다면 라우팅 테이블에 해당 클러스터 멤버에 대한 경로를 삽입한 후 라우팅 테이블의 목적지 형태를 클러스터 멤버로 기입한다.
CJ 메시지에 대한 응답 메시지를 수신한 클러스터 멤버는 자신의 라우팅 테이블을 초기화하고 라우팅 테이블에 싱크 노드에 대한 경로와 자신의 클러스터 헤드에 대한 경로를 삽입하고 라우팅 테이블의 목적지 형태를 기입한다.
클러스터에 참여된 클러스터 멤버는 자신의 클러스터 헤드를 제외한 다른 클러스터 헤드로부터의 사용자 질의 등의 데이터 메시지에 응답하지 않는다.
즉, 클러스터에 참여한 클러스터 멤버는 자신의 클러스터 헤드를 제외한 다른 클러스터 헤드로부터 클러스터 메커니즘에서 클러스터 헤드 선정, 클러스터 참여, 클러스터 복구 등에 사용되는 제어 메시지(control message)를 제외한 메시지 에는 응답하지 않는다.
위와 같이 클러스터 참여는 초기화, 클러스터 헤드 검색 그리고 클러스터 참여 단계로 구성되며, 일정 주기로 반복되어 안정적인 성능의 클러스터에 참여하는 것을 목표로 한다.
한편, 클러스터 탈퇴는 클러스터 멤버가 다른 클러스터에 참여했거나 클러스터 멤버의 고장과 같은 이상 상황에서 수행된다.
이러한 클러스터 탈퇴 동작은 센싱 기기(300)의 클러스터 관리부(320)에 의해 수행될 수 있다. 또한, 클러스터 탈퇴와 관련된 각종 프로그램 혹은 데이터들은 저장부(340)에 저장되거나, 데이터 송수신부(330)에 의해 다른 센싱 기기들로 송신 혹은 다른 센싱 기기들로부터 수신될 수 있다. 클러스터 참여에 필요한 각 구성 요소들의 동작은 제어부(350)에 의해 제어될 수 있다.
클러스터 멤버는 다른 노드들의 메시지를 라우팅하는 등의 역할을 수행하지 않으므로 클러스터 멤버의 고장의 경우 네트워크 전체나 해당 클러스터를 복구할 필요성은 존재하지 않는다.
또한 클러스터 멤버가 다른 클러스터에 참여할 때 해당 클러스터 멤버의 라우팅 테이블은 초기화되므로 클러스터 멤버 측에서는 클러스터 탈퇴를 위한 별도의 연산이 필요하지 않다.
그러나 클러스터 멤버가 탈퇴하였을 때 해당 클러스터 멤버가 가입되어있던 클러스터 헤드의 라우팅 테이블을 수정해 주는 작업이 필요하다.
클러스터 헤드는 클러스터 멤버와의 통신작업 중 해당 통신이 이루어지지 않 았을 때, 즉 클러스터 헤드의 메시지에 클러스터 멤버가 응답하지 않았거나 클러스터 멤버의 고장으로 해당 메시지에 대한 응답이 불가능할 때 응답이 없는 클러스터 멤버에 대한 정보를 라우팅 테이블에서 삭제하게 된다.
한편, 클러스터 복구는 클러스터 헤드의 고장이나 클러스터 헤드간의 링크가 끊어지는 것과 같은 이상 상황에서 클러스터를 복구하는 것을 의미한다.
클러스터 헤드는 이상 상황을 발견하기 위해 자신의 주변에 존재하는 클러스터 헤드의 링크를 확인하는 메시지를 전송한다.
링크가 끊어졌다는 것을 발견한 클러스터 헤드는 라우팅 테이블에 해당 클러스터 헤드의 정보와 해당 클러스터 헤드를 다음 홉(hop)으로 갖는 정보를 모두 삭제한다.
해당 클러스터 헤드는 라우팅 테이블을 삭제하면서 삭제되는 라우팅 테이블 정보의 목적지 주소를 CLF(Cluster Link Failure) 메시지의 'Failure ID'로 패킷화하여 싱크 노드로 전송한다.
CLF 메시지가 싱크 노드로 전송되는 동안 이상 상황을 발견한 클러스터 헤드에서 싱크 노드까지의 경로 상에 존재하는 모든 클러스터 헤드에서 라우팅 테이블에 대한 삭제 작업이 수행된다.
해당 경로 상의 클러스터 헤드들은 라우팅 테이블에서 수신한 CLF 메시지의 'Failure ID'를 목적지로 가지는 라우팅 정보를 삭제한다.
이상 상황을 발견한 클러스터 헤드는 라우팅 테이블에 대한 삭제 작업을 종료하고, 싱크 노드로 해당 지역에서의 클러스터 복구를 요청하는 CRR(Cluster Recovery Request) 메시지를 전송한다.
도 11a 내지 도 11d는 클러스터 복구 절차와 복구 절차에서의 메시지 형태를 도시하고 있다. CRR 메시지를 수신한 싱크 노드는 먼저 자신의 클러스터링 라운드 값을 증가시키고 모든 클러스터 헤드에 CR(Cluster Recovery) 메시지를 전송한다.
CR 메시지를 수신한 클러스터 헤드들은 자신의 클러스터링 라운드 값을 상기 CR 메시지의 클러스터링 라운드 값으로 갱신하고 CR 메시지를 브로드캐스트한다.
다만, 복구를 요청한 클러스터 헤드는 자신의 클러스터링 라운드 값만을 갱신하고 브로드캐스트 작업은 수행하지 않는다. 브로드캐스트된 CR 메시지를 수신한 클러스터 멤버들도 자신의 클러스터링 라운드 값을 CR 메시지의 클러스터링 라운드 값으로 갱신한다.
CR 메시지를 송신한 싱크 노드는 일정시간이 지난 후 클러스터 헤드 선정 알고리즘을 스케줄링하기 위한 FIFO 큐에 클러스터 복구를 요청한 클러스터 헤드의 노드 ID를 삽입한다.
그리고 나서, 클러스터 복구를 요청한 클러스터 헤드에 CHSS 메시지를 송신하여 현재 이상 상황이 발생한 지역의 클러스터를 복구한다.
이러한 지역적인 복구 방법은 네트워크 트래픽을 감소시키며 전체적인 클러스터링 재형성으로 인한 에너지 손실을 감소시킬 수 있게 된다.
한편, 본 실시예에서 사용되는 구성요소 또는 '~부'는 메모리 상의 소정 영역에서 수행되는 태스크, 클래스, 서브 루틴, 프로세스, 오브젝트, 실행 쓰레드, 프로그램과 같은 소프트웨어(software)나, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)로 구현될 수 있으며, 또한 상기 소프트웨어 및 하드웨어의 조합으로 이루어질 수도 있다. 상기 구성요소 또는 '~부'는 컴퓨터로 판독 가능한 저장 매체에 포함되어 있을 수도 있고, 복수의 컴퓨터에 그 일부가 분산되어 분포될 수도 있다.
이상과 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
도 1은 본 발명의 일 실시예에 따른 프로토콜 스택을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 클러스터링 메커니즘의 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 센싱 기기의 구조를 나타내는 블록도이다.
도 4는 본 발명의 일 실시예에 따라 클러스터 헤드를 선정하는 방법을 나타내는 플로우 차트이다.
도 5a 및 도 5b는 본 발명의 일 실시예에 따른 ELM-MAC 계층의 초기화 과정을 설명하기 위한 도면이다.
도 6a 및 도 6b는 본 발명의 일 실시예에 따라 클러스터 헤드 후보를 선정하는 방법을 설명하기 위한 도면이다.
도 7a 및 도 7b에서는 본 발명의 일 실시예에 따른 CHS 메시지와 CHD 메시지의 전송 형태를 도시하는 도면이다.
도 8a 및 도 8b에서는 본 발명의 일 실시예에 따른 CHCR 메시지 전송 절차를 도시하는 도면이다.
도 9는 본 발명의 일 실시예에 따라 클러스터에 참여하는 방법을 나타내는 플로우 차트이다.
도 10a 및 10b는 본 발명의 일 실시예에 따라 클러스터 참여시 클러스터 헤드를 검색하는 방법을 설명하기 위한 도면이다.
도 11a 및 11d는 본 발명의 일 실시예에 따라 클러스터를 복구하는 방법을 설명하기 위한 도면이다.
<도면의 주요 부분에 관한 부호의 설명>
310: 클러스터링 헤드 선정부
320: 클러스터 관리부
330: 데이터 송수신부
340: 저장부
350: 제어부

Claims (13)

  1. 특정 노드를 기준으로 상기 특정 노드와 통신 가능한 주변 노드들의 목록을 생성하며, 상기 주변 노드들에 대한 상기 특정 노드와 상기 각 주변 노드간 송신 전력 정보를 포함하는 링크 테이블을 생성하는 초기화 동작을 수행하는 (a) 단계;
    상기 초기화 동작을 수행한 후, 싱크 노드 또는 상기 싱크 노드로부터 클러스터 헤드 선정 권한을 부여 받은 노드가 상기 클러스터 헤드가 될 수 있는 클러스터 헤드 후보 노드들로부터 자기 주변 노드의 수에 대한 밀집도 정보를 포함하는 각각의 상태 정보를 획득하는 (b) 단계; 및
    상기 싱크 노드 또는 상기 싱크 노드로부터 클러스터 헤드 선정 권한을 부여 받은 노드가 상기 획득한 상태 정보를 기초로 상기 클러스터 헤드를 선정하는 (c) 단계를 포함하는, 클러스터 관리 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 상태 정보는 거리 정보 및 잔여 에너지 정보 중 적어도 하나 이상을 더 포함하는, 클러스터 관리 방법.
  4. 제1항에 있어서,
    상기 (c) 단계는,
    상기 획득한 상태 정보를 기초로 기준값을 결정하는 단계; 및
    상기 결정된 기준값을 기초로 상기 클러스터 헤드를 선정하는 단계를 포함하는, 클러스터 관리 방법.
  5. 제4항에 있어서,
    상기 기준값은 밀집도 정보, 거리 정보 및 잔여 에너지 정보 중 적어도 하나 이상의 가중치의 합으로 결정되는, 클러스터 관리 방법.
  6. 클러스터 멤버가 클러스터 참여를 위하여 라우팅 테이블 및 클러스터 참여에 필요한 변수들에 대한 초기화 동작을 수행하는 (a) 단계;
    상기 클러스터 멤버가 상기 초기화를 수행한 후, 클러스터링 절차를 확인하기 위한 클러스터링 라운드값을 기초로 클러스터 헤드를 검색하되, 상기 클러스터링 라운드값이 최대인 클러스터 헤드를 검색하는 (b) 단계; 및
    상기 클러스터 멤버가 상기 검색된 클러스터 헤드가 속하는 클러스터에 참여하는 (c) 단계를 포함하는, 클러스터 관리 방법.
  7. 삭제
  8. 클러스터 헤드 후보 노드들로부터 자기 주변의 노드의 수에 대한 밀집도 정보를 포함한 상태 정보를 수신하는 데이터 송수신부;
    상기 수신한 상태 정보를 기초로 클러스터 헤드를 선정하고, 클러스터 간의 통신을 위한 라우팅 테이블을 생성하는 클러스터링 헤드 선정부;
    클러스터에 참여, 클러스터로부터 탈퇴 또는 클러스터를 복구하도록 동작하는 클러스터 관리부; 및
    상기 생성된 라우팅 테이블을 저장하는 저장부를 포함하되,
    상기 클러스터 관리부는 클러스터링 절차를 확인하기 위한 클러스터링 라운드값을 기초로 클러스터 헤드를 검색하되, 상기 클러스터링 라운드값이 최대인 클러스터 헤드를 검색하고, 상기 검색된 클러스터 헤드가 속하는 클러스터에 참여하는 클러스터 관리 장치.
  9. 제8항에 있어서,
    상기 상태 정보는 거리 정보 및 잔여 에너지 정보 중 적어도 하나 이상을 더 포함하고,
    상기 클러스터링 헤드 선정부는 상기 상태 정보를 기초로 결정된 기준값을 기초로 상기 클러스터 헤드를 선정하는, 클러스터 관리 장치.
  10. 삭제
  11. 클러스터 엔진 및 라우팅 엔진을 포함하는 클러스터링 메커니즘 계층이 탑재된 네트워크 계층; 및
    에너지 효율을 위해 동작하는 ELM-MAC 계층이 탑재된 매체 접근 제어 계층을 포함하되,
    상기 클러스터 엔진은 클러스터 헤드의 선정, 선정된 클러스터 멤버의 클러스터에 참여 및 탈퇴, 클러스터 복구기능을 제공하고,
    상기 라우팅 엔진은 상기 클러스터 엔진에 의해 생성된 라우팅 테이블을 참조하여 데이터를 목적지까지 전송하는 기능을 제공하고,
    상기 클러스터 엔진은 클러스터링 절차를 확인하기 위한 클러스터링 라운드값을 기초로 클러스터 헤드를 검색하되, 상기 클러스터링 라운드값이 최대인 클러스터 헤드를 검색하고, 상기 검색된 클러스터 헤드가 속하는 클러스터에 참여하도록 동작하는 클러스터 관리 장치.
  12. 제11항에 있어서,
    상기 클러스터 엔진은 클러스터 헤드 후보 노드들로부터 상태 정보를 수신하고, 상기 수신한 상태 정보를 기초로 클러스터 헤드를 선정하도록 동작하는, 클러스터 관리 장치.
  13. 삭제
KR1020080113606A 2008-11-14 2008-11-14 클러스터 관리 방법 및 장치 KR101068214B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080113606A KR101068214B1 (ko) 2008-11-14 2008-11-14 클러스터 관리 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080113606A KR101068214B1 (ko) 2008-11-14 2008-11-14 클러스터 관리 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20100054621A KR20100054621A (ko) 2010-05-25
KR101068214B1 true KR101068214B1 (ko) 2011-09-28

Family

ID=42279327

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080113606A KR101068214B1 (ko) 2008-11-14 2008-11-14 클러스터 관리 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101068214B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060055635A (ko) * 2004-11-18 2006-05-24 한국전자통신연구원 무선 센서 네트워크와 이를 위한 클러스터링 방법
KR20070012045A (ko) * 2005-07-22 2007-01-25 한국전자통신연구원 무선 센서 네트워크에서의 클러스터 헤더 자동 선출 방법및 보안 무선 센서 네트워크의 동적 구성 방법
KR20070063118A (ko) * 2005-12-14 2007-06-19 한국과학기술정보연구원 센서 네트워크의 라우팅 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060055635A (ko) * 2004-11-18 2006-05-24 한국전자통신연구원 무선 센서 네트워크와 이를 위한 클러스터링 방법
KR20070012045A (ko) * 2005-07-22 2007-01-25 한국전자통신연구원 무선 센서 네트워크에서의 클러스터 헤더 자동 선출 방법및 보안 무선 센서 네트워크의 동적 구성 방법
KR20070063118A (ko) * 2005-12-14 2007-06-19 한국과학기술정보연구원 센서 네트워크의 라우팅 방법

Also Published As

Publication number Publication date
KR20100054621A (ko) 2010-05-25

Similar Documents

Publication Publication Date Title
Padmanabhan et al. A survey of data replication techniques for mobile ad hoc network databases
CN107071811B (zh) 一种基于模糊控制的wsn容错非均匀分簇方法
Younis et al. Topology management techniques for tolerating node failures in wireless sensor networks: A survey
Akkari et al. LEATCH: Low energy adaptive tier clustering hierarchy
Prasanth et al. Implementation of efficient intra-and inter-zone routing for extending network consistency in wireless sensor networks
Varshney et al. Variants of LEACH routing protocol in WSN: A comparative analysis
JP2008078963A (ja) 無線センサネットワークの通信方法及びセンサノード
Stojmenovic et al. Toward scalable cut vertex and link detection with applications in wireless ad hoc networks
Venkataraman et al. A cluster-based approach to fault detection and recovery in wireless sensor networks
Joshi et al. Simulation of multi-UAV ad-hoc network for disaster monitoring applications
Geng et al. Resilient communication model for satellite networks using clustering technique
KR101068214B1 (ko) 클러스터 관리 방법 및 장치
Cao Minh et al. DISON: a self-organizing network management framework for wireless sensor networks
EP3869739B1 (en) Method for monitoring apparatus
Singh et al. Multi-parameter based load balanced clustering in WSN using MADM technique
Akbari et al. Cluster-based and cellular approach to fault detection and recovery in wireless sensor networks
Halde et al. Efficient collection of big data in WSN
Parasakthi et al. EART: enhancing an energy aware routing protocol in cluster based wireless sensor networks
Khan et al. Event based data gathering in wireless sensor networks
Ananth et al. Dual cluster head algorithm for proficient routing in wireless sensor networks
Akbari et al. A new algorithm fault management by clustered in wireless sensor network
Hadjadj et al. Energy-Efficient and Degree-Distance Clustering Based Hierarchical Routing Protocol for WSNs
Mohajerzadeh et al. An efficient energy aware routing protocol for real time traffic in wireless sensor networks
Rajab Fault Tolerance Techniques for Multi-Hop Clustering in Wireless Sensor Networks.
Guanathillake et al. Self-organization of wireless sensor networks based on severity of an emergency environment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20140902

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150901

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160913

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee