I. 서 론
수중센서 네트워크를 이용한 통신 기술은 해양 환경에서의 데이터 수집, 오염에 대한 모니터링, 재난 방지 그리고 해군의 전술적 감시 체계 등 다양한 영역에서 활용되면서 이에 대한 관심과 수요가 높아지고 있다.[1] 국내에서도 수중센서 네트워크와 수중 통신에 대한 많은 연구가 진행되고 있으나 기술적 수준과 완성도 측면에서 아직 기초적인 연구 수준에 있다. 특히, 다수의 센서 노드들이 랜덤한 위치에 배치되고 재충전이 불가능하다는 센서 네트워크의 기본적 특성으로 인해 수중 센서 네트워크의 효율적인 구성 및 관리 방식에 대한 해법이 절실히 요구되고 있다. 따라서 근래에 지상의 이동통신 분야에서 관심을 받고 있는 자기 조직화 기술을 수중센터 네트워크 구성 방식으로 적용해 보는 시도가 설득력을 얻을 수 있다.
자기 조직화 기술(self-organization)은 중앙 집중적 제어기능 없이 네트워크 전체에 배치된 각각의 노드들이 일정한 알고리즘에 따라 제어 패킷을 교환하며 자율적으로 토폴로지를 구성하는 기법이다. 또한 새로운 노드의 유입 및 기존 노드의 분실 등 여러 가지 원인에 의한 토폴로지 변화에 적응적으로 구조를 조정하여 전체 네트워크 통신이 원활하게 진행되도록 하는 기법이다.[2] 이러한 자기 조직화 기법을 수중 환경에 적용하기 위해서는 수중 통신 채널이 갖는 특성에 대한 이해가 선행되어야 한다.
수중 음향 채널의 특성으로는 좁은 대역폭, 고주파에서의 큰 감쇠특성, 긴 전송 지연과 높은 오류율 등이 있다.[3] 또한 수중 센서 네트워크 구성 측면에서 주목할 점은 센서 노드들의 전력 공급이 배터리에만 의존하며 주로 바다 속 깊은 곳에 위치하여 수거 및 노드로의 접근을 통한 재충전이 어렵다는 점이다. 따라서 통신 과정에서 소모되는 전력을 최소화함과 동시에 에너지 소모를 전체 노드에 분산하여 네트워크 수명을 연장하는 것이 매우 중요하다. 네트워크의 효율적 구성 방법으로는 계층형 토폴로지 구성법이 가장 많이 응용되고 있으며 대표적인 기법으로는 클러스터링 기반의 LEACH(Low Energy Adaptive Clustering Hierarchy)) 방식이 있다.[4-6] 계층형 토폴로지에서 각각의 클러스터 헤더는 자식 노드들이 센싱한 데이터를 수집하고, 이를 최종 데이터 수집 장소인 싱크 노드로 전송한다. 여기서 일반 노드에 비해 에너지 소모가 큰 클러스터 헤더는 빠른 시간 안에 방전될 수 있고, 이로 인해 전체 네트워크 수명을 단축시키는 결과를 초래할 수 있다. [7]에서는 일정 수의 패킷을 수신한 후 헤더의 역할을 다음 노드에게 양도함으로써 각 노드의 에너지 소비를 균등하게 하는 방법을 제안하였다. 이 밖에 에너지 효율 측면에서 센서 네트워크를 효과적으로 구성하기 위한 연구로서 무선 센서 네트워크와 애드-혹 네트워크(Ad- Hoc networks) 환경에서 CDS(Connected Dominating Set) 기법이 제안되었다.[8,9] 이 기법은 소수의 노드들이 트리구조를 형성하고 나머지 노드들이 직접 이 트리구조를 형성한 노드들과 통신을 하여 네트워크 구조를 가장 단순하게 만드는 방식이다.
본 논문에서는 클러스터 기반의 네트워크 구성법을 제안하되, 효과적인 클러스터 헤더 선출 방식으로 최대독립집합(Maximal Independent Set : MIS)[10,11] 알고리즘을 활용하고, 이를 토대로 자기 조직화 기술을 적용하여 에너지 사용 효율을 증대시킨 자율적 수중 센서 네트워크 구성법을 제안한다. 수중 환경에서의 에너지 소모 관련 성능 분석을 위해 가장 대표적인 수중 채널 모형인 Urick 감쇠 모형[12]을 사용하였고 송수신에 사용되는 에너지 또한 수중환경에서 사용되는 값[13]을 이용하였다. 제안 방식에서는 노드 ID, 배터리 잔여량, 네트워크 토폴로지 상에서의 계층적 위치 등의 정보를 인접 노드들이 공유하며, 네트워크의 트래픽 부하를 분산하고 에너지 효율을 증대시키는 방향으로 토폴로지를 재구성하게 된다. 따라서 일정 시간 경과 후 노드들의 배터리 잔여량을 균일하게 유지하며 전체 네트워크의 수명을 연장하는 결과를 얻을 수 있다.
본 논문은 다음과 같은 구성을 가진다. II장에서는 제안 기법의 동작 과정을 설명하고 III장에서는 시뮬레이션 결과를 통하여 기존의 기법과 제안한 기법을 비교 분석하고 IV장에서 결론을 맺도록 한다.
II. 본 론
2.1 네트워크 구조
그림 1은 본 논문에서 고려하고 있는 네트워크 구조를 나타낸다. 전체 네트워크는 한 개의 싱크 노드와 다수의 일반 노드로 구성된다. 싱크 노드는 중앙에 위치하고 일반 노드들은 전체 영역에 균일하게 분포한다고 가정한다. 또한 싱크 노드를 포함한 모든 센서 노드들은 동일한 통신반경을 갖는다. 인접한 몇 개의 일반 노드가 모여 하나의 클러스터를 형성하고 또한 MIS 알고리즘을 이용하여 클러스터 헤더를 선출한다. 클러스터 헤더는 클러스터 멤버 노드로부터 수집한 데이터를 멀티 홉 방식으로 싱크 노드까지 전송한다. 이때, 클러스터 헤더와 클러스터 헤더는 직접 연결되지 않으며 반드시 중간 노드(여기서는 릴레이 노드라 부른다.)를 거쳐 연결된다. 정리하면, 싱크노드를 제외한 일반 노드들은 네트워크를 형성하는 과정에서 기능에 따라 클러스터 헤더, 릴레이, 클러스터 멤버 노드로 결정되며 환경변화에 의한 토폴로지 재구성 과정을 통해 그 역할이 바뀔 수 있다. 본 논문에서는 노드들의 기능 부여를 컬러링(coloring)이라 부르고 각 컬러에 따른 노드의 역할을 정리하면 표1과 같다. 한편 각 센서 노드는 고유한 ID를 가지고 있으며 서로 동기화가 되어 있다고 가정한다.
|
그림 1.네트워크 구성도 Fig. 1.Network structure. |
2.2 수중 채널 특성
센서 노드 간 전송에너지 분석을 위해 수중 채널 모형 중 하나인 다음의 Urick 감쇠 모형을 사용 한다.[12]
(1)
여기에서
는 신호 주파수 이고
는 전송거리이다. 감쇠 지수
는 확산감쇠의 모형에 따라 달라지며 1과 2사이의 값을 가진다(1 일 때는 원통형의 확산 모형을 2 일 때는 구의 확산 모형을 의미한다). 흡음지수(absorption coefficient)
는 다음의 Thorp's formula를 활용하여 kHz 단위의
에 대한 dB/km 값으로 표현 된다.[14]
| (2) |
2.3 제안 기법의 동작 원리
제안 기법은 네 가지 과정 즉, 이웃 노드 탐지(neighbor detection), 초기화(initialization), 데이터 전송(data transmission)과 조정(coordination)으로 이루어진다. 최초 센서 노드들이 수중에 배치되면 이웃 노드 탐지와 초기화 과정을 거친 후, 데이터 전송 - 이웃 노드 탐지 – 조정의 과정(본 논문에서는 라운드라 부른다)을 반복해서 수행하게 된다(그림 2).
| |
그림 2.제안 방식의 동작 과정 Fig. 2.Operation procedure of the proposed scheme. | |
표 1. 컬러링에 의한 노드 유형 Table 1. Types of nodes by coloring. | |
컬러 | 노드 유형 |
Green | 싱크 노드 |
White | 정의되지 않은 노드 |
Gray | 클러스터 멤버 노드 |
Black | 클러스터 헤더 노드 |
Blue | 릴레이 노드 |
2.3.1 이웃 노드 탐지
이웃 노드 탐지 단계에서는 각 노드들이 자신의 정보를 주변 노드들에게 알리고 또한 주변 노드들의 정보를 수집하여 자신의 “이웃 노드 목록”을 업데이트 하게 된다. 이웃 노드 탐지 과정 시작과 함께 싱크 노드는 자신의 전송 반경 내 노드들에게 자신의 ID와 컬러 정보를 포함하는 HELLO 메시지를 방송한다. HELLO 메시지를 수신한 각 노드는 임의 시간 지연(random back-off)한 뒤 자신의 ID와 배터리 잔여량을 포함하는 RELAY_HELLO 메시지를 방송한다. 이 과정에서, HELLO 메시지나 다른 노드로부터 수신한 RELAY_HELLO 메시지를 통해 이웃 노드 현황을 파악하고 이를 자신의 “이웃 노드 목록”에 저장하고 관리한다. 주기적으로 수행되는 이웃 노드 탐지 과정을 통하여 노드들은 시시각각 변화하는 노드들의 손실이나 토폴로지의 변화 등의 정보를 확인할 수 있다.
2.3.2 초기화
최초 이웃 노드 탐지 과정을 완료한 뒤 MIS 알고리즘을 이용한 클러스터 헤더와 릴레이 노드를 선출하는 초기화 단계가 진행된다. 클러스터 헤더 선출 과정은 다음과 같다.
(1)싱크 노드는 스스로 자신을 클러스터 헤더로 선출한 뒤 INVITE_CM(클러스터 멤버 초청)메시지를 방송한다. INVITE_CM 메시지는 노드의 ID와 컬러 정보를 포함한다.
(2)INVITE_CM 메시지를 수신한 White 노드들은 자신의 컬러를 Gray로 변경하고 클러스터에 참여한다는 JOIN_CM 메시지를 주변에 방송한다. 이 때 JOIN_CM에는 참여하는 멤버 노드의 ID, 컬러링 정보와 참여하고자 하는 헤더의 ID를 포함한다. JOIN_CM 메시지를 수신한 싱크 노드 또는 클러스터 헤더는 참여를 알려온 멤버 노드의 ID와 컬러 정보를 “멤버 노드 목록”에 추가한다.
(3)한편, Gray 노드로 부터의 JOIN_CM 메시지를 수신한 White 노드는 자신의 “이웃 노드 목록”에서 자신보다 작은 ID를 가진 White 노드가 없을 경우, 새로운 클러스터 헤더로서 자신의 컬러를 Black으로 변경한 뒤 INVITE_CM 메시지를 방송한다. 만약, 자신의 이웃 노드 목록에 자신보다 작은 ID의 White 노드가 있을 경우, 이 노드들의 컬러가 변경 될 때까지 대기한다. Gray 노드로부터 JOIN_CM 메시지를 수신한 또 다른 Gray 노드는 자신의 “이웃 노드 목록”에서 해당 노드의 컬러를 Gray로만 변경하고 메시지는 방송하지 않는다.
(4)White 상태는 기능이 정의되지 않은 불안정한 상태이므로 White 노드는 현 상태를 벗어나고자 Gray나 Black으로 컬러링을 계속 시도한다. 따라서 상기 과정을 통해 일정 시간 후에 네트워크에는 White 노드가 존재하지 않게 된다.
클러스터 헤더 선출 과정을 정리하면 그림 3과 같다.
는 시간의 흐름에 따라 진행되는 순서를 나타낸다. 클러스터 헤더 선출 과정에서 모든 노드는 자신의 이웃 노드의 소속 클러스터를 확인하고 클러스터 소속 정보를 “이웃 노드 목록”에 기록한다.
|
(a) |
|
(b) |
그림 3.클러스터 헤더 선출 과정(a) 클러스터 헤더 선출 전(b) 클러스터 헤더 선출 후 Fig. 3.Process of cluster header election.(a) Before cluster header election,(b) After cluster header election. |
클러스터 헤더와 멤버가 선출되어 클러스터가 구성되면 릴레이 노드가 선출된다. 릴레이 노드 선출은 최초로 싱크노드가 클러스터 헤더로서 자신의 “멤버 노드 목록”과 “이웃 노드 목록” 내에 White 노드가 없어진 후 INVITE_RL 메시지를 플러딩(Flooding)하면서 시작된다. 이 때 인접한 클러스터에서 헤더 선출이 끝나지 않은 경우에는 각각 관련 제어 메시지 간 충돌이 발생할 수 있어 초기화 과정이 지연될 수 있다. 하지만 싱크노드에서 클러스터 헤더 선출과 릴레이 선출 사이에 일정 대기 시간을 둠으로써 충돌을 상당부분 회피할 수 있다. INVITE_RL 메시지 내에는 클러스터 헤더 ID, 중계 노드들의 ID, RL_counter가 포함된다. 최초 싱크 노드는 자신의 ID를 클러스터 헤더 ID로 하고 RL_counter 초기값 0으로 하는 INVITE_RL을 이웃 노드 목록의 노드들에게 전송한다. 이를 수신한 Gray 노드들은 RL_counter를 1 증가시키고 자신의 ID를 중계 노드 ID에 추가한 뒤 다시 이웃 노드들에게 전송한다. 이러한 중계 과정 속에 INVITE_RL을 수신하게 되는 클러스터 헤더는 바로 직전의 클러스터 헤더가 누구인지 알게 되고 어떤 중계 노드들을 거쳐서 자신에게 몇 홉 만에 도착하게 되었는지도 알 수 있다. INVITE_RL을 수신한 클러스터 헤더는 RL_counter 0으로 리셋하고 그 이전 중계 노드 ID도 모두 지운 후 새로운 INVITE_ RL을 이웃 노드에 플러딩 한다. 만약 특정 클러스터 헤더가 다른 클러스터 헤더로부터 시작된 RL_counter가
인 INVITE_RL 메시지를 수신한다면 클러스터 헤더 간
홉 연결이 가능함을 나타낸다. 본 논문에서는 RL_counter가 3이 될 경우 메시지를 폐기시켜 클러스터 헤더들 간 3 홉 이내로 연결되도록 하였다.
인접 클러스터 헤더로부터 중계된 INVITE_RL 메시지를 2개 이상 수신한 클러스터 헤더는 일정시간동안 수신한 INVITE_RL 메시지 중 경로가 가장 짧은 것, 경로 홉 수가 모두 동일할 때는 먼저 도착한 메시지의 전달 경로를 바탕으로 그 역순으로 클러스터 헤더 간 라우팅 경로를 결정한다. 이 때 자연스럽게 싱크 노드까지의 라우팅을 위한 방향성도 결정된다(즉, INVITE_RL이 전달된 역순으로 클러스트 헤더간 전송을 계속 하다보면 궁극적으로 싱크노드까지 연결된다). 그리고 릴레이 선출을 확정하는 COMPLETE_ RL 메시지를 확정된 INVITE_RL 경로의 역순으로 인접 클러스터 헤더까지 중계하여 전송한다. 이 때, 채택된 경로에 존재하는 멤버 노드는 자신의 컬러를 Blue로 변경하고 릴레이 노드가 된다.
INVITE_RL을 중계한 후 일정 시간 동안 COMPLETE_ RL을 수신하지 못하게 되면 그 노드는 네트워크의 최 끝단으로 예상되는 노드이므로 최종적으로 네트워크 구성이 완료되었음을 알리는 COMPLETE_ NTW 메시지를 이미 설정된 라우팅 경로를 통해서 싱크노드까지 중계한다. 그림 4는 릴레이 노드 선출 과정을 나타낸다.
은 시간의 흐름에 따라 진행되는 순서를 나타낸다.
|
(a) |
|
(b) |
그림 4.릴레이 노드 선출 과정(a) 릴레이 노드 선출 전(b) 릴레이 노드 선출 후 Fig. 4.Process of relay node election.(a) Before relay node election,(b) After relay node election. |
2.3.3 데이터 전송
싱크노드는 앞 절에서 설명한 COMPLETE_NTW를 수신한 후 초기화가 완료되었음을 인지하고 그 다음 단계로서, 데이터 전송-이웃 노드 탐지–조정으로 구성된 라운드를 반복하게 된다. 매 라운드 마다 싱크노드는 라운드의 시작에 앞서 데이터 전송, 이웃 노드 탐지, 조정의 각 단계별 시작 시각을 알리는 스케쥴링 정보를 플러딩한다. 스케쥴링 정보를 수신한 각 노드는 명시된 시각에 맞추어 데이터 전송 모드로 들어가 자신이 수집한 정보를 앞 절의 클러스터 헤더 및 릴레이 선출 과정에서 이미 설정된 라우팅 경로에 따라 싱크노드로 전송한다. 즉, 멤버 노드(Gray)는 자신의 데이터를 클러스터 헤더로 전송하고 클러스터 헤더는 멤버로부터 수집된 정보와 자신의 정보를 더하여 릴레이를 통해 싱크 노드로 전송한다. 이 과정에서 릴레이 노드도 자신의 수집 정보를 더하여 중계하게 된다.
2.3.4 조정
토폴로지의 조정은 지역적으로 이루어진다. 클러스터 헤더는 자신의 배터리 잔여량을 매 라운드마다 조정 단계 직전에 체크한다. 배터리 잔여량이 클러스터 헤더로 선출되었을 때에 대비하여 일정 수준 이하로 떨어지면 조정을 시도한다. 즉, 다음 조건에서 조정이 이루어진다.
(3)
여기에서
는 현재의 배터리 잔여량이고
은 가장 최근에 클러스터 헤더로 선출되었을 시점의 배터리 잔여량이다. 즉, 클러스터 헤더는 모든 노드의 배터리가 골고루 소모될 수 있도록 재선출 하는 과정에서 여러 차례 선출될 수 있다.
는 0과 1사이의 값이다.
조정 단계에서 클러스터 헤더는 자신의 컬러를 White로 변경하고 자신의 ID 정보를 포함한 GIVEUP_ CH 메시지를 방송한다. GIVEUP_CH 메시지를 수신한 멤버 노드들은 자신의 컬러를 White로 변경하고 클러스터 재구성을 시작한다. 즉, “이웃 노드 목록”을 참고하여 자신의 에너지 잔여량이 가장 큰 노드가 Black으로 컬러링하고 INVITE_CM을 방송하면서 앞에서 설명한 초기화 단계의 클러스터 헤더 및 멤버 구성을 다시 하게 된다. 만약 두 개 이상의 노드들의 에너지 잔여량이 동일한 경우 ID가 작은 노드가 클러스터 헤더로 선출되도록 한다. 싱크 노드는 클러스터 재구성이 완료되었을 것으로 예상되는 적당한 시기에 INVITE_RL 메시지를 플러딩하여 릴레이 선출과정을 다시 밟게 된다. INVITE_RL 메시지를 플러딩하는 과정에서 인접 클러스터에서의 헤더 선출 미완료로 인해 제어 메시지 간 충돌이 발생하여 COMPLETE_RL을 수신하지 못하게 되면 실패한 위치에서 일정시간 backoff한 후 INVITE_RL 메시지를 재전송하여 릴레이 선출과정을 재개한다. 싱크 노드가 최종적으로 COMPLETE_NTW를 수신하게 되면 다음 라운드의 스케쥴링 정보를 알리고 다음 라운드를 진행한다. 이러한 일련의 과정을 통해, 국지적으로 시작한 조정 단계가 연쇄적으로 네트워크 전체의 토폴로지 재조정으로 연결될 수 있다.
노드가 유실되는 경우, 이웃 노드 탐지 과정에서 “이웃 노드 목록”의 변화를 통해 이를 인지한다. 이때에도 유실된 노드의 유형에 따라서 토폴로지 조정이 다르게 이루어진다. 유실된 노드가 Black이면 그 멤버 노드들은 모두 White로 변경하고 자신의 “이웃 노드 목록”에 다른 Black이 있는지를 확인한다. 만약 Black이 있을 경우, JOIN_CM메시지를 방송하여, 새로운 클러스터 헤더의 멤버로 가입하고, Black이 없을 경우 “이웃 노드 목록”에 있는 White들과 배터리 잔여량을 비교한다. 만약 자신의 배터리 잔여량이 가장 많으면 자신을 클러스터 헤더로 선출하고 INVITE_CM 메시지를 방송한다. 자신보다 배터리 잔여량이 많은 White가 있을 경우 그 White가 변경될 때까지 대기한다. 유실된 노드가 Blue일 경우 클러스터 헤더는 INVITE_RL 메시지를 보내고 릴레이 노드 선출 방법을 통하여 새로운 릴레이 노드를 선출한다. 유실된 노드가 White 혹은 Gray인 경우, 주변 노드들은 “이웃 노드 목록”과 “멤버 노드 목록”에서 유실된 노드의 정보를 지우고 별도의 조정과정을 거치지 않는다. 그림 5는 노드 유실 시 상기 3가지 경우에 대한 예시를 나타낸다.
III. 성능분석
컴퓨터 시뮬레이션에서는 그림 6과 같이 가로, 세로 20 km 길이의 구역에 100개의 노드들이 랜덤하게 배치된 구조를 가정한다. 각 노드들은 매 라운드마다 일정한 크기의 데이터 패킷을 1개씩 생성하여 정해진 라우팅 경로에 의해서 싱크노드까지 전송한다고 가정했다. 이때 각 노드가 소모하는 에너지 량을 산출하여 같은 조건에서의 LEACH 방식과 비교하였다. 총 소모 에너지는 송수신 시 데이터 처리과정에서 발생하는 데이터 처리 에너지와 거리에 따른 전송 에너지의 합으로 얻어진다. 데이터 처리 에너지는 다음과 같이 구해진다.
|
그림 6.시뮬레이션 환경에서의 노드 배치 Fig. 6.Node distribution in simulation. |
(4)
여기서
,
,
는 각각 송신데이터 처리 에너지, 수신데이터 처리 에너지, 데이터 취합(aggregation) 에너지를 나타낸다.
취합 에너지의 경우, 클러스터 헤더가 멤버 노드들로부터 전송된 데이터를 취합하는 과정에서 소모되는 에너지이다. 다시 각 에너지 소모량은 다음과 같이 구해진다.
![]()
(5)
![]()
여기서
,
,
는 각각 비트당 송신에너지, 수신에너지 취합에너지이고
은 패킷 크기이다. 표 2는 시뮬레이션에 사용된 시스템 파라미터 값들을 정리한 것이다.[13] 제안 방식에서는 모든 노드의 전송 반경(
)이 동일하다고 가정하였으므로 전송 에너지가 거리에 상관없이 일정한 값(
)을 갖는 반면 LEACH에서는 노드간 거리(
)가 일정하지 않으므로 거리의 제곱에 비례하는
의 전송에너지가 필요하다.
그림 7은 라운드 수에 따른 생존 노드수를 나타낸다. 생존 노드라는 것은 배터리가 100% 소진되지 않고 기능을 수행할 수 있는 노드를 의미한다. 라운드 수가 증가함에 따라 기존의 기법은 210 라운드부터, 제안한 기법은 290 라운드부터 노드수가 급격히 감소되는 것을 알 수가 있다. 이는 LEACH 기법일 경우 매 라운드마다 구조 조정을 하며 이때 네트워크 전체 노드가 수신할 수 있도록 큰 전력으로 구조 조정 제어 메시지를 전송하는 반면 제안한 방식에서는 지역적으로 구조 조정이 이루어져 제어 메시지 전송 에너지가 작을 뿐만 아니라 배터리 잔여량이 충분한 경우 구조 조정과정이 생략될 수 있으므로 에너지 소모량을 상당부분 줄일 수 있기 때문이다.
|
그림 7.라운드 수에 따른 생존 노드 수 Fig. 7.Number of alive nodes along with rounds. |
그림 8에서는 1 홉 거리의 변화에 따른 네트워크 수명의 변화를 나타낸다. 여기서 네트워크 수명은 전체 노드의 70%, 80%, 90%에 해당하는 노드가 살아 있을 때까지의 라운드 수로 각각 정의된다. 이 그림에서는 제안한 방식처럼 멀티 홉 방식을 사용하는 경우 네트워크 수명이 1홉 거리의 영향을 상대적으로 많이 받는 것을 알 수 있다. 1 홉 거리가 증가함에 따라 일정 범위 안에서 네트워크 수명이 증가하게 되는데 이는 1홉 커버리지가 커짐에 따라 주위 노드들이 많아지고 따라서 구조 조정을 통해 클러스터 헤더로 변경할 수 있는 후보군이 커지기 때문이다. 즉, 에너지가 특정 노드에서 과다하게 소모될 수 있는 가능성을 여러 노드가 분담함으로써 네트워크 수명을 연장할 수 있다.
그림 9는 라운드 수에 따른 각 노드의 에너지 잔여량의 표준 편차를 나타낸다. 즉, 노드들의 에너지 소모가 얼마나 골고루 이루어지느냐를 나타낸다. 에너지 잔여량 편차가 어느 수준까지 증가하는 이유는 제안한 기법의 경우, 데이터 전송이 멀티 홉 방식을 사용하기 때문에 싱크 노드에 가까운 노드들의 에너지 사용량이 더 많아서 증가하게 되는 것이고 기존의 LEACH 기법일 경우에는 클러스터 헤더들이 랜덤하게 선출되어 싱크와의 거리 편차가 크게 발생하고 따라서 배터리 잔여량 편차가 발생한다. 증가하던 배터리 잔여량 편차가 어느 수준 이상에서 다시 감소하는 이유는 배터리가 완전 소진되어 에너지 잔여량이 0인 노드의 개수가 증가하기 때문이다. 두 기법을 비교하면 단순히 랜덤으로 클러스터 헤더를 선출하는 것 보다 제안 방식처럼 에너지 잔여량이 큰 노드를 우선적으로 클러스터 헤더로 선출하는 것이 노드 간 에너지 소모의 편차를 작게 하는 방법이 됨을 확인할 수 있다.
|
그림 8.1홉 거리 값의 변화에 따른 네트워크 수명 Fig. 8.Network lifetime varying 1 hop distance. |
|
그림 9.라운드 수에 따른 에너지 잔여량의 표준 편차 Fig. 9.Deviation of individual nodes' residual energy along with rounds. |
그림 10은 초기화 단계와 매 라운드 마다 수행되는 조정 단계에서의 에너지 소모량 누적 합을 나타낸다. 그림에서 볼 수 있듯이 초기화 단계에서는 제안한 기법의 에너지 소모량이 더 많은데 그 이유는 초기화 단계에서는 이웃 노드 탐지 단계, 클러스터 헤더 선출 단계, 릴레이 선출 단계에서 에너지 소모가 상당하기 때문이다. 라운드 수가 증가할수록 제안 방식은 능동적으로 상황에 맞는 지역적 네트워크 조정을 통해 에너지를 절약할 수 있으므로 누적 에너지 소모량이 LEACH에 비해 작아지게 된다. LEACH의 경우 라운드 수 220이상에서 포화되는 이유는 노드들이 모두 에너지 방전 상태가 되었기 때문이다.
|
그림 10.초기화 단계와 조정 단계 에너지 소모량의 누적 합 Fig. 10.Accumulation of energy consumption passing through the initialization and coordination stages. |
IV. 결 론
본 논문에서는 수중 센서 네트워크 환경에서 MIS 알고리즘을 이용한 클러스터 헤더 선출 기법과 노드의 에너지 잔여량을 고려하는 지역적 토폴로지 조정을 통해 네트워크 수명을 연장하는 자기 조직화 네트워킹 기법을 제안하였다. 중앙 제어 기능 없이 각 노드가 주변 노드들 간의 간단한 제어 메시지 교환만으로 노드간의 불균질한 에너지 소모를 막고 노드의 유실에도 능동적으로 대처하여 새로운 네트워크를 구성할 수 있었다. 또한 노드들의 1 홉 거리가 일정할 경우 클러스터 헤더들이 싱크 노드까지 멀티 홉 방식으로 데이터를 전송함으로써 싱크 노드와 멀리 떨어져 있는 노드들이 높은 전송 전력으로 인해 빨리 손실 되는 것을 방지하여 네트워크 범위(coverage)를 확대함과 동시에 통신 효율도 높일 수 있었다.












