The Journal of the Acoustical Society of Korea. 30 September 2014. 341-350
https://doi.org/10.7776/ASK.2014.33.5.341

ABSTRACT


MAIN

  • I. 서 론

  • II. 시스템 모델

  •   2.1 네트워크 구조

  •   2.2 네트워크 토폴로지 구성법

  •   2.2.1 클러스터 구성

  •   2.2.2 데이터 전송

  •   2.2.3 클러스터 재구성

  • III. 성능 분석

  • IV. 결 론

I. 서  론

전 세계적으로 해양 환경 보호, 재난 및 재해 탐지, 해양 자원 탐사, 군사적 목적의 감시 등의 다양한 응용분야에서 다수의 센서 노드로 구성된 수중음향 센서 네트워크의 활용 방법 및 기술 개발에 대한 관심이 높아지고 있다. 이러한 수중음향 센서 네트워크의 성공적 구현을 위해서는 물리 계층(physical layer)에서의 1 대 1 통신을 위한 변복조 및 오류 정정 기술 분야뿐만 아니라, 다중 센서 환경에서의 매체 접속 제어(Medium Access Control, MAC) 및 라우팅 기법, 그리고 효율적 네트워크 구성 및 관리 기법 등과 같은 네트워크 관련 기술 개발이 요구된다.[1] 이러한 맥락에서 해외에서는 SeaWeb, PLUSNet (Persistent Littoral Undersea Surveillance Network) 및 CADCON(Cooperative AUV Development CONcept)과 같은 대형 프로젝트를 통해 수중 MAC 프로토콜 및 수중 센서 네트워크 구성과 관련된 연구가 진행되었으며,[2-6] 국내에서도 국방과학연구소, 한국 해양연구원과 같은 연구소와 일부 대학을 중심으로 수중 통신 전반에 대한 기초 연구가 시작되어 활발히 진행되고 있다.[7,8]

일반적으로 수중음향 센서 네트워크에서는 센서 노드의 배터리 재충전 및 교환이 불가능하므로 배터리 방전 시에는 노드로서의 기능을 상실하게 되고, 결과적으로 센서 노드의 유실로 이어져 네트워크상의 통신링크 단절을 초래하게 된다. 따라서 네트워크 전체의 수명을 연장하기 위해서는 각 노드의 절대적 에너지 소모량을 줄임과 동시에 상대적 소모량 또한 균등하게 유지하는 것이 중요하다. 또한 유실된 노드가 발생할 경우, 네트워크 재구성을 통해 추가적인 노드의 유실을 방지해야 한다. 따라서 임의의 위치에 배치된 다수의 네트워크 노드들에 대해서 네트워크 구성 및 효율적인 에너지 관리를 위해서는 자기 조직화 기법의 활용이 요구된다.

자기 조직화 네트워크(Self Organization Network, SON)는 각각의 네트워크 노드들이 특정 노드의 제어 없이 일정한 알고리즘에 따라 주변 환경에 대한 메시지를 교환하고 이를 바탕으로 자율적이고 능동적으로 네트워크 구조를 구성하고 관리하는 기법이다. 또한 새로운 노드의 추가 및 기존 노드의 유실 등 여러 가지 상황에 의한 네트워크 구조의 변화에 대해서도 자율적 조정을 통해 네트워크 전체의 통신이 원활하게 이루어지도록 하는 특성을 갖는다. 이러한 자기 조직화 기법을 이용한 효율적인 네트워크 구조 구성 방법의 하나로 클러스터링 기반의 계층형 네트워크 구성 방식이 연구되어 왔다.[9,10] 클러스터링 기법은 센서 노드의 에너지 소모를 줄일 수 있으며, 커버리지 확대와 데이터 수집이 용이하다는 장점이 있다.[11] 하지만 클러스터 헤드가 클러스터 멤버에 비해 에너지 소모가 크며 이것이 네트워크 수명을 단축시키는 원인으로 작용한다. 즉, 클러스터 헤드 선출 및 클러스터 구성 방식이 네트워크 성능에 큰 영향을 주게 된다.

지금까지 자기 조직화 관련 기술은 지상의 이동통신 환경에서 주로 개발되어 왔으며 대표적 자기 조직화 네트워크를 활용한 클러스터링 기법으로 Low- Energy Adaptive Clustering Hierarchy(LEACH) 기법[12]과 A Hybrid, Energy-Efficient, Distributed Clustering Approach (HEED) 기법[13]이 있다. LEACH 기법은 임의의 확률값을 이용하여 클러스터 헤드를 선출한다. 클러스터 헤드 선출은 매 라운드마다 발생하며 이전 라운드에서 클러스터 헤드로 선출되지 않은 노드 중에서 새로운 클러스터 헤드가 선출 된다. 그러나 클러스터 재구성이 매 라운드마다 발생하고, 클러스터 헤드와 싱크 노드 간 직접 통신을 함으로써 클러스터 헤드의 에너지 소모량이 큰 단점을 갖는다. HEED 기법의 경우, 노드의 에너지 잔여량을 고려하여 클러스터 헤드를 선출하고 클러스터 재구성이 필요한 경우에만 발생하지만 LEACH와 마찬가지로 클러스터 헤드와 싱크 노드 간 직접 통신으로 인해 클러스터 헤드의 에너지 소모가 크다. 따라서 신호의 감쇠가 매우 큰 수중 채널 특성을 고려할 때, LEACH 기법과 HEED 기법을 그대로 적용하는 것은 클러스터 헤드 및 노드의 큰 에너지 소모로 인해 네트워크 수명을 크게 단축시키는 결과를 초래할 수 있다. 따라서 수중 채널 환경이 고려된 에너지 효율적 자기 조직화 기술이 요구된다.

본 논문에서는 수중 환경에서 자기 조직화 기법을 기반으로 하여 각 노드의 에너지 소모를 줄여 네트워크의 수명을 연장시키는 클러스터 구성 기법을 제안한다. 각 센서 노드는 인접 노드들의 식별 번호(ID), 배터리 잔여량 등에 대한 상태 정보를 바탕으로 클러스터 헤드를 선출한다. 이후 클러스터 헤드의 배터리 잔여량이 특정 수준 이하로 떨어졌을 경우에만 이웃 노드들과의 배터리 잔여량을 비교하여 지역적으로 클러스터 헤드를 교체하여 클러스터를 재구성함으로써 클러스터 헤드의 전력 소모를 줄이고 트래픽을 분산시켜 전체 네트워크의 수명을 연장한다. 클러스터 헤드는 클러스터 멤버로부터 수집한 데이터를 인접한 클러스터 헤드 간 다중 홉 중계를 통해 싱크 노드로 전송함으로써 LEACH 기법과 HEED 기법에 비해 클러스터 헤드의 에너지 소모를 줄일 수 있다.

본 논문은 다음과 같은 구성을 가진다. II장에서는 제안 기법의 시스템 모델 및 동작 방식에 대해 설명하고, III장에서는 모의실험 결과를 통해 제안 기법의 성능을 분석한다. 마지막으로 IV장에서는 성능 분석 결과를 바탕으로 결론을 맺는다.

>II. 시스템 모델

2.1 네트워크 구조

Fig. 1은 본 논문에서 고려하는 네트워크 구조를 나타낸다. 전체 네트워크는 하나의 싱크 노드와 다수의 센서 노드로 구성된다. 모든 센서 노드들은 동일한 크기의 통신 반경을 가지며, 식별 번호로 구분된다. 인접한 몇 개의 노드가 모여 하나의 클러스터를 형성하며 클러스터는 하나의 클러스터 헤드와 다수의 클러스터 멤버로 구성된다. 클러스터 멤버는 주위의 환경 정보와 상황 정보를 수집하여 클러스터 헤드로 전송하고, 클러스터 헤드는 수집한 정보를 클러스터 헤드 사이의 다중 홉 중계를 이용하여 싱크 노드로 전송한다. 본 논문에서는 모든 센서 노드가 서로 시간 동기화되어 있는 상황을 가정한다.

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC98F1.png

Fig. 1. Network architecture.

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9911.png

Fig. 2. Network topology configuration procedure.

2.2 네트워크 토폴로지 구성법

제안하는 클러스터 구성 과정은 Fig. 2에서 볼 수 있듯이 클러스터 구성 단계(cluster setup stage)와 데이터 전송 단계(data transmission stage)로 이루어지며, 두 단계가 하나의 라운드로서 반복된다. 클러스터 구성 단계는 다시 클러스터링 과정(clustering phase)과 스케줄링 과정(scheduling phase)으로 나뉘며, 클러스터링 과정에서는 클러스터 헤드와 멤버를 선출한다. 스케줄링 과정에서는 클러스터 헤드와 클러스터 멤버 사이의 데이터 전송을 위해 클러스터 헤드가 클러스터 멤버에게 시간 슬롯 및 직교 부호를 이용하여 채널을 할당한다. 데이터 전송 단계에서는 클러스터 헤드가 클러스터 멤버로부터 데이터를 수집하며, 수집한 데이터를 싱크 노드로 전송한다. 데이터 전송 단계가 끝난 후, 클러스터 헤드의 에너지 잔여량이 특정 수준 이하로 떨어지면 차기 라운드의 클러스터 구성 단계에서 지역적으로 클러스터 재구성이 수행된다.

2.2.1 클러스터 구성

처음 노드가 배치되면 각 노드들은 주변 노드 발견[12]을 통해 1홉 거리에 있는 노드와 식별 번호, 배터리 잔여량, 이웃 노드 개수에 대한 정보를 공유한다. 이후 싱크 노드는 HELLO 메시지를 방송하여 클러스터 구성을 시작한다. HELLO 메시지에는 Fig. 3과 같이 노드의 식별 번호와 싱크 노드로부터의 홉 거리 정보를 포함한다.

HELLO 메시지를 수신한 노드는 자신을 포함한 1홉 거리 내의 주변 노드들에 대한 Eq.(1)의 인수, http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9941.gif 값을 계산한 뒤 자신이 가장 큰 값을 가지는 경우 자신을 클러스터 헤드로 선출한다.

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9971.gif. (1)

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9981.gif는 노드의 에너지 잔여량, http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9982.gif은 이웃 노드의 개수를 의미하며, 클러스터 헤드로서 에너지 소모가 가장 적은 노드가 클러스터 헤드로 선출됨을 의미한다. 이 때 각 노드는 이미 1홉 거리에 있는 노드들에 대한 관련 정보를 가지고 있으므로 자신이 헤드로 선출될 수 있는지에 대한 여부를 판단할 수 있다.

Fig. 4는 클러스터 구성 단계에서 사용되는 제어 메시지의 구조를 나타낸다. Fig. 4에서, Type은 메시지 유형, Src_ID는 송신노드의 식별번호, Node_Type은 노드의 유형(클러스터 헤드, 클러스터 멤버)을 나타낸다. 선출된 클러스터 헤드는 클러스터 멤버노드를 초대하기 위한 INVITE_CLUSTER(클러스터 초대) 메시지를 방송한다. 여기에는 클러스터 헤드의 http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9A31.gif 값(http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9A42.gif), 싱크 노드와 클러스터 헤드 간 홉 수(Hop_ Count)에 대한 정보가 포함된다. INVITE_CLUSTER 메시지를 수신한 노드는 가입하고자 하는 클러스터 헤드의 식별 번호를 CH_ID 필드에 기입하고 자신의 http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9A72.gif값을 포함하여 JOIN_CLUSTER(클러스터 가입) 메시지를 방송한다. 이를 수신한 클러스터 헤드는 클러스터 멤버에 대한 정보를 저장한다.

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC99F2(2).png

Fig. 3. Structure of HELLO message.

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC99F2.jpg

Fig. 4. Structure of control messages.

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC99A3.png

Fig. 5. Decision of cluster head and member.

다수의 클러스터 헤드로부터 INVITE_CLUSTER 메시지를 수신한 노드의 경우, 가장 큰 http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9AA2.gif 값을 가지는 클러스터 헤드를 선택한다. 또한 특정 클러스터에 이미 가입되어 있는 노드가 다른 클러스터 헤드로부터 INVITE_CLUSTER 메시지를 수신한 경우, 새로 수신한 클러스터 헤드의 http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9AC2.gif 값이 현재 클러스터 헤드의 http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9AE2.gif 값보다 큰 경우에 새로운 클러스터로 가입 변경한다. 이때 클러스터 변경에 대한 별도의 제어 메시지 없이 새롭게 가입하고자 하는 클러스터에 대한 JOIN_CLUSTER 메시지를 방송하며, 기존의 클러스터 헤드는 JOIN_CLUSTER 메시지를 엿들음으로써 기존 멤버 노드의 클러스터 변경 사실을 확인하고 자신의 클러스터 멤버 목록에서 해당 노드의 정보를 삭제한다. 이러한 과정을 통해서 에너지 소모가 특정 노드에 집중되는 것을 방지할 수 있으며 모든 클러스터의 멤버 노드가 고르게 분포될 수 있다. Figs. 5와 6은 제어 메시지 교환을 통한 클러스터 헤드 및 멤버노드 결정과정과 새로운 클러스터 가입 과정의 예를 각각 나타낸다. Fig. 5에서 원 안의 숫자는 각 노드의 식별번호이며 http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9B02.gif는 노드 http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9B13.gifhttp://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9B24.gif 값, 그리고 Node_Type 필드의 1은 클러스터 헤드를, 2는 클러스터 멤버를 각각 나타낸다. Fig. 6에서의 점선은 현재 클러스터 멤버가 소속된 클러스터 헤드와의 연결을 나타낸다.

클러스터 멤버는 수집한 데이터를 클러스터 헤드로 전송하기 위해 시분할 다중 접속(Time Division Multiple Access, TDMA) 기법을 사용하며, 데이터 전송을 위한 시간 슬롯을 클러스터 헤드로부터 할당받는다. 따라서 클러스터 헤드는 클러스터 구성 과정이 완료된 후 스케줄링 과정에서 클러스터 멤버 노드의 시간 슬롯을 결정하고 이에 대한 정보를 방송한다. 클러스터 헤드는 모든 멤버에게 동일한 크기의 시간 슬롯을 할당하며, 멤버 노드 수와 무관하게 모든 클러스터가 동일한 시각에 데이터 전송을 끝낼 수 있도록 멤버 수가 적은 클러스터 헤드는 마지막 시간 슬롯 뒤에 보호 시간을 삽입하여 종료시각을 일정하게 맞춘다. Fig. 7은 클러스터 멤버의 수가 다른 두 클러스터의 시간 슬롯 할당의 예시를 나타낸다.

또한 모든 클러스터는 동일한 주파수 대역을 사용하며 이로 인한 인접 클러스터 간 간섭을 회피하기 위한 방법으로 각 클러스터는 서로 다른 직교 부호를 사용하는 코드 분할 다중 접속(Code Division Multiple Access, CDMA) 기법을 활용한다. 따라서 클러스터 헤드는 시간 슬롯 할당 정보와 함께 직교 부호에 대한 정보를 클러스터 멤버 노드에 방송한다.

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9BA2.png

Fig. 6. The process of joining a new cluster.

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9BB2.png

Fig. 7. Example for time slot allocation.

2.2.2 데이터 전송

데이터 전송 단계는 클러스터 멤버와 헤드 사이의 전송과 클러스터 헤드와 싱크 노드 사이의 전송으로 구분된다. 클러스터 멤버와 헤드 사이의 데이터 전송은 할당된 시간 슬롯에 데이터를 전송하는 TDMA 기법을 사용한다. 클러스터 헤드와 싱크 노드 사이의 데이터 전송은 클러스터 헤드 간 다중 홉 중계를 통해 이뤄지며, ACK를 갖는 반송파 감지 다중 접속(Carrier Sensing Multiple Access, with ACK, CSMA/ACK) 기법을 사용한다. 싱크 노드는 제한된 시간 안에 클러스터 헤드로부터의 데이터 수신을 완료하고 이를 알리는 응답 메시지를 플러딩 기법에 의해 이웃 클러스터 헤드에게 전달한다. 이를 통해 모든 클러스터 헤드는 데이터 전송 단계 종료를 인지한다. 데이터 전송 단계가 끝나면 다음 라운드의 구성 단계가 시작되며 이 단계에서 필요한 경우, 클러스터 재구성이 이루어진다.

2.2.3 클러스터 재구성

클러스터 재구성은 클러스터 구성 단계에서 클러스터 헤드의 에너지 잔여량이 특정 수준 이하로 떨어졌을 경우, 또는 특정 노드가 배터리 방전 등의 이유로 유실될 경우에 지역적으로 이루어진다. Eq.(2)는 클러스터 재구성 조건을 나타낸다. http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9BC3.gif는 클러스터 헤드의 현재 에너지 잔여량, http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9BD4.gif는 클러스터 헤드로 선출되었을 시점의 에너지 잔여량, http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9BD5.gif는 0과 1사이의 값을 가지는 상수를 나타낸다. 즉, 클러스터 헤드는 현재의 클러스터 헤드의 에너지 잔여량과 클러스터 헤드로 선출될 당시의 에너지 잔여량을 비교하여 클러스터 재구성 여부를 판단한다.

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9BF5.gif. (2)

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9C05.jpg

Fig. 8. Structure of RESIGN_CH message.

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9C16.jpg

Fig. 9. Structure of DISCHARGE message.

Eq.(2)의 조건을 만족하는 클러스터 헤드는 가장 최근에 수신한 각 클러스터 멤버의 http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9C27.gif 값을 비교하여 가장 큰 값을 가지는 노드를 차기 클러스터 헤드 후보로 정하고 해당 노드의 식별번호와 http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9C47.gif 값을 RESIGN_CH 메시지에 포함하여 클러스터 멤버에게 방송한다. Fig. 8은 RESIGN_CH 메시지 구조로서 Next_CH_ID는 차기 클러스터 헤드 후보의 식별 번호를 나타낸다.

클러스터 헤드가 Eq.(2)의 조건을 만족하는 동시에, 에너지 잔여량 http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9C58.gif이 0에 가까워 차기 라운드 중 배터리의 소진으로 인한 유실이 예상되는 경우, RESIGN_CH 메시지의 Flag 값을 1로 하여 방송한다. RESIGN_CH 메시지를 수신한 차기 클러스터 헤드 후보 노드는 초기 클러스터 구성 과정과 마찬가지로 이웃 노드들에게 INVITE_CLUSTER 메시지를 방송하고 그에 대한 응답으로 JOIN_CLUSTER 메시지를 수신하는 것으로 클러스터 재구성을 수행한다. 이때, 재구성을 하지 않는 클러스터의 클러스터 헤드는 이웃한 클러스터의 재구성의 영향으로 자신의 클러스터 멤버가 변할 수 있기 때문에 이 기간 동안 제어 메시지를 엿들어 자신의 클러스터 멤버의 변경 여부를 버퍼에 기록한다.

일반 멤버 노드가 배터리의 소진으로 유실이 예상되는 경우, 클러스터 재구성 단계에서 자신의 식별 번호 정보가 포함된 DISCHARGE 메시지를 주위에 방송한다. DISCHARGE 메시지를 수신한 노드는 유실노드의 정보를 버퍼에서 삭제한다. Fig. 9는 DISCHARGE 메시지의 구조를 나타낸다.

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9C78.png

Fig. 10. Simulation network topology.

III. 성능 분석

제안하는 클러스터링 기법의 성능 분석을 위해 컴퓨터 모의실험을 수행한다. 수중 채널에서의 음파의 전파 속도는 1500 m/s, 전파 손실을 반영하는 확산 인자는 1.5로 가정하였다. 일정 시간 경과 후 전체 노드의 배터리 잔여량의 합, 생존 노드의 수, 네트워크 구성 단계에서의 에너지 소모량, 데이터 전송 단계에서의 전송 지연 등에 대해서 가장 대표적인 클러스터링 기법인 LEACH 기법과 비교 및 분석한다. 가로, 세로 10 km 구역에 100개의 노드가 임의로 배치된 네트워크 구조를 가정하며, 싱크 노드는 네트워크의 중앙에 위치한다(Fig. 10). 각 노드는 매 라운드마다 일정한 크기의 데이터 패킷을 생성한다. 패킷 전송에서 충돌이 발생하는 경우 ACK을 갖는 반송파 감지 다중 접속(CSHA/ACK) 기법을 사용하여 패킷을 재전송한다. 센서 노드의 에너지 소모량 및 잔여량은 중요한 성능 분석 지표가 되며, 각 노드가 소모하는 에너지 소모량은 Eq.(3)과 같이 나타낼 수 있다.

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9CE6.gif, (3)

여기서 http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9CE7.gif는 송신 에너지, http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9CF8.gif는 수신 에너지, http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9D08.gif는 클러스터 헤드에만 해당되는 값으로 멤버로부터 수집한 데이터를 처리할 때 소모되는 에너지를 의미한다. 각각의 에너지 소모량은 Eq.(4)와 같이 구할 수 있다.[14]

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9D19.gif,

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9D2A.gif ,

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9D5A.gif.

(4)

Eq.(4)에서 http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9E0B.gif, http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9E2C.gif, http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9E3C.gif는 각각 비트 당 송신 에너지, 수신 에너지, 데이터 처리 에너지이며, http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9E4D.gif은 패킷의 크기를 나타낸다. Table 1은 모의실험에 사용된 시스템 파라미터 값이다.

Table 1. System parameters.

Parameter

Value

Control packet size

100 bits

Data packet size

500 bits

Data rate

1 kbps

Transmission energy rate(http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9D89.gif)

500 nJ/bit

Reception energy rate (http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9D8A.gif)

5 nJ/bit

Processing energy rate (http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9DAB.gif)

0.5 nJ/bit

Initial energy of node

0.5 J

Bandwidth

35 kHz (10-45)

Time slot size

4 s

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9DBB.gif (default)

0.9

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9E0A.gif

Fig. 11. Total residual energy of nodes according to rounds.

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9E9C.gif

Fig. 12. Number of survival nodes according to rounds.

Fig. 11은 라운드 수에 대한 전체 노드의 총 에너지 잔여량을 나타낸다. 제안 기법은 지역적인 클러스터 재구성이 이루어지고 매 라운드마다 클러스터 재구성을 수행하지 않기 때문에 매 라운드마다 전체 네트워크의 클러스터 재구성을 수행하는 LEACH 기법에 비해 에너지 소모가 적음을 알 수 있다. 또한 제안 기법에서는 클러스터 헤드와 싱크 노드 사이의 데이터 전송을 위해서 클러스터 헤드 사이의 다중 홉 중계를 사용하므로 클러스터 헤드의 에너지 소모를 감소시킬 수 있지만, LEACH 기법은 클러스터 헤드가 싱크 노드로 직접 데이터 전송하므로 평균적으로 통신 거리가 멀어지게 되고 이로 인해 신호의 감쇠가 큰 수중 환경에서 제안 기법에 비해 보다 많은 에너지를 소모한다.

Fig. 12는 라운드 수에 따른 생존 노드 수의 변화를 나타낸다. 생존 노드는 노드의 배터리가 완전 방전되지 않아 통신이 가능한 노드를 의미한다. 라운드 수가 증가함에 따라 LEACH 기법은 약 210 라운드부터 생존 노드의 수가 급격히 감소하는 데 비해, 제안 기법은 약 330 라운드부터 생존 노드의 수가 완만하게 감소하는 것을 확인할 수 있다. 이는 매 라운드마다 네트워크 전체에서 클러스터 재구성을 수행하는 LEACH 기법에 비해 제안 기법은 지역적인 클러스터 재구성을 수행하여 클러스터 구성에 소모되는 제어 메시지에 대한 송수신 에너지가 작고, 노드의 배터리 잔여량이 충분히 많은 경우에는 클러스터 재구성 과정이 생략될 수 있어 에너지 소모량을 크게 줄일 수 있기 때문이다.

Figs. 13과 14는 Eq.(2)에 정의된 클러스터 재구성을 위한 클러스터 헤드의 초기 에너지 대비 현재 에너지 잔여량 비인 http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9FFA.gif값의 변화에 따른 총 에너지 잔여량 변화와 네트워크의 수명을 나타낸다. 네트워크 수명은 생존 노드의 수가 0이 되는 상태까지의 라운드 수를 의미한다. http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9FFB.gif값이 작을수록 클러스터 재구성 횟수가 줄어들기 때문에 클러스터 재구성에 소모되는 에너지는 감소하지만 클러스터 헤드에 에너지 소모가 집중되어 특정 노드의 유실이 네트워크 수명 감소의 주된 원인이 된다. 반면 http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PICA00B.gif값이 증가할수록 클러스터 헤드에 집중되는 에너지 소모가 줄어들어 특정 노드의 유실은 발생하지 않으나 클러스터 재구성이 자주 발생하므로 클러스터 재구성에 사용되는 제어 메시지 교환으로 인한 에너지 소모가 네트워크 수명 감소의 주된 원인이 된다. 따라서 센서 노드 에너지 소모의 편차가 크지 않으면서 에너지 소모를 최소화할 수 있는 http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PICA00C.gif값을 정해야 하며, 해당 모의실험 환경에서는 http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PICA01D.gif값이 0.4일 때 가장 높은 성능이 나타났다.

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9F39.gif

Fig. 13. Total residual energy of nodes according to http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9F4A.gif.

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9FA9.jpg

Fig. 14. Life time for network according to http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9FB9.gif.

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PIC9FE9.gif

Fig. 15. Standard deviation for the residual energy of nodes according to rounds.

Fig. 15는 라운드 수에 따른 각 노드의 에너지 잔여량에 대한 표준 편차를 나타내며, 이는 노드의 에너지가 얼마나 균등하게 소모되는지를 나타낸다. LEACH 기법과 제안 기법 모두 에너지 잔여량에 대한 표준 편차가 라운드 수에 따라 증가함을 알 수 있다. 이것은 LEACH 기법의 경우 임의로 선출된 각 클러스터 헤드와 싱크 노드의 거리가 서로 달라 싱크 노드로의 데이터 전송 에너지의 차이로 인해 에너지 잔여량에 대한 편차가 발생하기 때문이다. 제안 기법의 경우에는 싱크 노드로의 데이터 전송에 클러스터 헤드 간 다중 홉 중계 방식을 사용하여 싱크 노드에 가까운 클러스터 헤드일수록 중계해야 할 데이터 량이 많아져 소모되는 에너지가 커지기 되고 따라서 에너지 잔여량에 대한 편차가 증가한다. 하지만 에너지 잔여량에 대한 편차가 LEACH 기법에 비해 느리게 증가하는 것을 확인할 수 있다. LEACH 기법의 경우 증가하던 에너지 잔여량에 대한 편차가 어느 수준 이상에서 다시 감소하는데, 이는 에너지 잔여량이 0이 되어 유실되는 노드의 수가 증가하기 때문이며, 특정 라운드 이후에는 모든 노드의 에너지 잔여량이 0이 되어 편차가 없어진다. 이를 통해 제안 기법이 LEACH 기법에 비해 노드의 에너지 소모가 균등하게 이뤄짐을 확인할 수 있다.

Fig. 16은 매 라운드마다 클러스터 구성 단계에서 소모되는 에너지 소모량의 누적 합을 나타낸다. 초기 단계에서 제안 기법의 에너지 소모량이 더 큰 이유는 초기 클러스터 구성 단계에서 클러스터 헤드 선출과 클러스터 멤버 구성, 클러스터 변경을 위한 제어 메시지 교환에 더 많은 에너지를 소모하기 때문이다. 그러나 라운드 수가 증가할수록 제안 기법은 지역적 클러스터 재구성을 통해 에너지를 절약할 수 있으므로 에너지 소모량이 LEACH 기법에 비해 작아지게 된다. LEACH 기법의 경우 230 라운드 이상에서 모든 노드의 배터리가 방전되어 누적 에너지 소모량이 더 이상 증가하지 않는다.

http://static.apub.kr/journalsite/sites/ask/2014-033-05/N0660330509/images/PICA06C.gif

Fig. 16. Cumulative energy of setup stage.

IV. 결  론

본 논문에서는 수중음향 센서 네트워크에서 자기 조직화 기법을 적용한 에너지 효율적 클러스터링 기법을 제안하였다. 자기 조직화 개념은 조건에 따라 여러 방식으로 구현될 수 있으며 본 논문에서는 수중 센서 네트워크 환경에 맞는 해법을 개발하였다. 제안 기법은 노드의 에너지 잔여량과 이웃 노드의 수를 고려하여 클러스터 헤드를 선출함으로써 네트워크 내의 모든 노드의 에너지를 균일하게 소모하도록 하여 네트워크의 수명을 연장시킬 수 있다. 클러스터 헤드가 선출되면 제어 메시지 교환을 통해 클러스터 멤버가 클러스터 헤드를 선택하여 클러스터를 형성하며, 이때 클러스터 헤드의 에너지 소모량을 줄이기 위해 에너지 잔여량이 큰 클러스터 헤드를 새로운 클러스터 헤드로 설정할 수 있다. 데이터 전송 단계에서는 클러스터 멤버와 헤드 사이의 데이터 전송에 TDMA 기법을 활용하며, 인접 클러스터와의 간섭 문제를 해결하기 위해 클러스터마다 서로 다른 직교 부호를 사용하는 CDMA 기법을 활용하였다. 또한 클러스터 헤드와 싱크 노드 사이의 데이터 전송에 클러스터 헤드 간 다중 홉 중계 방식을 사용함으로써 클러스터 헤드와 싱크 노드가 직접 통신하는 LEACH 기법에 비해 클러스터 헤드의 에너지 소모량을 줄일 수 있다. 그리고 매 라운드가 아닌 클러스터 헤드의 에너지 잔여량이 특정 수준 이하로 떨어질 경우에만 클러스터 재구성을 수행함으로써 클러스터 구성에 소모되는 에너지를 줄일 수 있었다. 이를 통해 일반적으로 사용되는 LEACH 기법에 비해 네트워크 운용 시간을 두 배 가까이 향상시킬 수 있으며, 노드의 에너지 소모 편차 또한 효율적으로 감소시킬 수 있다.

Acknowledgements

이 논문은 2014년도 정부(미래창조과학부)의 재원으로 한국연구재단의 지원을 받아 수행된 연구임(2012R1A1A4A01003029).

References

1
1.I. F. Akyildiz, D. Pompili, and T. Melodia, “Underwater acoustic sensor networks: research challenges,” J. Ad. Hoc. Networks 3, 257-279 (2005).
2
2.J. Rice, B. Creber, C. Fletcher, P. Baxley, K. Rogers, K. McDonald, D. Rees, M. Wolf, S. Merriam, R. Mehio, J. Proakis, K. Scussel, D. Porta, J. Baker, J. Hardiman, and D. Green, “Evolution of seaweb underwater acoustic networking,” in Proc. MTS/IEEE OCEANS 2000, 2007-2017 (2000).
3
3.J. Rice, “Telesonar signaling and seaweb underwater wireless networks,” in Proc. NATO Symposium New Info Processing Techniques for Military Systems, 1-13 (2001).
4
4.J. Rice, “Seaweb acoustic communication and navigation networks,” in Proc. International Conference of Underwater Acoustic Measurements: Technologies and Results, 1-7 (2005).
5
5.M. Grund, L. Freitag, J. Preisig, and K. Ball, “The PLUSNet underwater communications system: acoustic telemetry for undersea surveillance,” in Proc. OCEANS 2006, 1-5 (2006).
6
6.C. Benton, J. Kenney, R. Nitzel, D.R. Blidberg, S. Chappell, and S. Mupparapu, “Autonomous undersea systems network (AUSNet) - protocols to support Ad-Hoc AUV communica-tions,” in Proc. IEEE/OES Autonomous Underwater Vehicle 2004, 83-87 (2004).
7
7.Korea Institute of Ocean Science & Technology, http://www. kiost.ac/, 2012.
8
8.S. J. Park, S. H. Park, S. K. Kim, and C. H. Kim, “Underwater communication and oceanic sensor networks,” J. KIISE 28, 79-88 (2010).
9
9.F. Salva-Garau and M. Stojanovic, “Multi-cluster protocol for ad hoc mobile underwater acoustic networks,” in Proc. OCEANS 2003, 1, 91-98 (2003).
10
10.K. T. Kim and H. S. Cho, “A Self-organized Network Topology Configuration in Underwater Sensor Networks” (in Korean),J. Acoust. Soc. Kr. 32, 86-94 (2013).
11
11.R. Govindan, J. M. Hellerstein, W. Hong, S. Madden, M. Franklin, and S. Shenker, “The sensor network as a database,” USC Tech. Rep. 2002.
12
12.W. R. Heinzelman, A. Chandrakasan, and H. Balakrishnan, “Energy-efficient communication protocol for wireless microsensor networks,” in Proc. 33rdAnnual Hawaii Int. Conf. on Sys. Sci. Hawaii, 1-10 (2000).
13
13.O. Younis and S. Fahmy, “HEED: a hybrid, energy-efficient, distributed clustering approach for Ad-hoc sensor networks,” IEEE Trans. Mobile Computing, 3, 366-379 (2004).
14
14.G. Yang, M. Xiao, E. Cheng, and J. Zhang, “A cluster-head selection scheme for underwater acoustic sensor networks,” in Proc. CMC 2010, 188-191 (2010).
페이지 상단으로 이동하기