서지주요정보
(The) design and scheduling of rannbow : a real- time network debugger for wireless sensor networks = USN 기반의 실시간 네트워크 디버거 RaiNboW의 설계 및 스케줄링
서명 / 저자 (The) design and scheduling of rannbow : a real- time network debugger for wireless sensor networks = USN 기반의 실시간 네트워크 디버거 RaiNboW의 설계 및 스케줄링 / Jong-Uk Lee.
발행사항 [대전 : 한국과학기술원, 2009].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8020846

소장위치/청구기호

학술문화관(문화관) 보존서고

MICE 09003

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

Wireless Sensor Networks debugging requires remote and nonintrusive debugging features to access deployed sensor nodes in the network without obstructing network traffic. In addition, interactive debugging toward the entire network is beneficial to perform network-level debugging. To achieve the features, this paper proposes the design and scheduling algorithm of RaiNboW, a Real-time Network Debugger for WSNs. We design a debugging architecture to support both in-band and out of band remote debugging; in-band debugging uses the same bandwidth of the existing network and out of band debugging uses the outside bandwidth when request debugging commands. Then, components, a sensor node and a debugging support node (DSN) to assist debugging, of RaiNboW are modeling and essential debugging commands are defined. Moreover, we propose a real-time scheduling algorithm in order that network-level debugging is possible with requests debugging command while the network is operated. Requested debugging command should be performed not to disturb the operation of normal applications at most. Thus, we define tasks and tasks are scheduled by priority-driven EDF scheduling to maximize the utilization performance.

센서 네트워크 기술은 언제, 어디서나 다양한 정보와 편리하게 연결되어 환경 모니터링에서부터 텔레매틱스, 헬스케어, 국방 등에 이르기까지 다양한 응용에 활용 가능하고 활발한 연구가 진행되고 있다. 소형의 센서 노드가 넓은 범위의 지역에 배치되고 각 정보는 베이스 스테이션으로 무선 RF 통신을 통해 전달함으로 실시간으로 다양한 지역의 모니터링이 가능할 수 있다. 사람의 접근이 불가능한 곳까지 센서 노드의 배치가 가능하도록 배터리로 전력을 공급하며 초소형으로 제작될 수 있도록 연구 개발되고 있다. 이러한 센서 네트워크 상에서는 센서 노드가 실제 필드에 배치되고 나면 다시 접근하기가 매우 어려우므로 보다 신뢰성 있는 프로그램의 개발이 필요하다. 하지만 소프트웨어의 버그는 회피하기 어려우며, 특히 센서 노드의 경우 저전력으로 설계된 16-bit 마이크로 컨트롤러를 기반으로 개발되어 자원의 제약 및 MMU(Memory Management Unit)가 존재하지 않아 시스템의 결함이 빈번하게 일어날 수 있다. 따라서, 예상외의 버그가 내재되어 있을 가능성을 배제할 수 없으며 안정적인 시스템 동작을 위한 디버거가 요구된다. 본 논문에서는 센서 네트워크의 각 센서 노드에서 발생할 수 있는 결함을 파악하고 실시간 네트워크 디버깅을 제공하는 모델을 제시하고 디버깅 명령을 수행하기 위한 실시간 스케줄링 알고리즘을 제안하도록 한다. 실시간 네트워크 디버깅을 지원하는 구조는 크게 In-band와 Out-band의 두 가지다. 먼저, In-band의 경우에는 디버깅 관련 명령어 전송 및 상태 정보 전달을 담당하는 대역과 실제 센서 노드가 통신하기 위한 대역을 하나의 RF 송수신장치를 이용하여 전송하는 것이다. 센서 노드의 디버깅을 위해 추가 장비가 필요 없으며 특별하게 송수신 되는 패킷을 탐지하고 디버깅 명령어를 전달할 수 있는 디버그 지원 노드(DSN)가 호스트와 연결되어 센서 네트워크 주요 지점에서 상호 통신이 가능하게 한다. DSN 혹은 베이스 스테이션에는 사용자가 접근하여 호스트의 기능을 수행하고 실제 네트워크가 구축된 상태에서 각각의 센서 노드의 디버깅이 가능하다. 다음으로, Out-band의 경우에는 DSN이 센서 노드와 같이 설치되어 RF 송수신장치를 이용하지 않고 유선 Ethernet 통신을 기반으로 디버깅이 수행할 수 있게끔 제공한다. Ethernet 통신으로 보다 빠른 속도로 노드의 디버깅이 가능하며 더불어 JTAG 케이블이 연결된 상태로 센서 노드의 원격 프로그래밍 또한 가능하다. 센서 네트워크의 응용 및 목적에 따라 In-band의 편리함과 Out of band의 안전성을 적용하여 해당하는 환경에 최적화할 수 있는 디버깅 구조를 고안하였으며, 실제 프로그램의 설치 시에는 In-band를 이용하고 테스트 베드 구축이나 보다 많은 네트워크 기반의 테스트를 요구할 경우에는 Out of band 형태의 구조가 적절할 것으로 판단한다. 디버깅 명령어의 경우 GDB에서 제공하는 명령어를 기본으로 하되 센서 네트워크에서 특히나 필요할 수 있는 패킷 송신 및 주파수 대역 정보, 네트워크 라우팅 테이블 정보 등을 요청하거나 실제로 제어할 수 있는 명령어를 추가적으로 정의하였다. 이러한 명령어들은 호스트의 요청에 따라 전달되고 해당되는 센서 노드는 현재 시점에 해당하는 정보를 실시간으로 호스트에 보고하게 된다. Out-band의 경우 JTAG을 기반으로 한 원격 프로그래밍이 가능하여 버그를 수정한 뒤의 프로그램을 프로그래밍하여 개선된 상황을 모니터링 할 수 있다. 소형의 센서 노드로 이루어진 센서 네트워크에서 위와 같은 디버깅을 제공하기 위해서 초경량 및 저전력으로 디버깅이 제공될 수 있도록 하였다. 각 디버깅 명령어는 해당하는 최소의 Byte Code로 변환되고 정의된 프로토콜에 따라 전송함으로써 전송 크기 및 분석 시간을 줄이고 RF 송수신 장치의 Duty Cycling을 제공함으로 전력의 낭비를 최소화한다. 더불어, 실제 응용 프로그램이 진행되고 있는 상태에서 디버깅 명령어를 실시간으로 수행하고 보고하기 위해서 시스템 동작에 방해를 주지 않는 실시간 스케줄링 알고리즘을 제시한다. 센서 노드에서 수행하는 Task는 실제 응용 프로그램이 수행되는 Normal Task와 디버깅 명령어를 수행하고 보고하는 Debug Task, 노드 내의 Multiprocessor간 통신을 위한 Communication Task로 구분한다. 디버깅 요청이 없는 평소의 경우에는 Debug Task는 Wait Queue에서 Wait 상태로 있고, 나머지 두 Task만이 Ready Queue에 존재하여 해당 작업을 수행하도록 한다. 그러다가 호스트에 요청에 따라 디버깅 명령어에 대한 이벤트가 발생하였을 경우, Debug Task는 Ready Queue로 옮겨지고 Priority에 따라 각 Task의 스케줄링이 결정된다. 각 Task의 Priority를 기반으로 하되 EDF(Early Deadline First) 방식에 따라 각 Task는 스케줄링 된다. Normal Task와 여러 디버깅 명령어는 각자 다른 Priority를 가지게 되고 실제 시스템을 멈춘 뒤 한 단계씩 진행하는 break, next, step 등은 Normal Task 보다 Priority가 높으며 현재 상태에 대한 정보 전달을 요구하는 명령어는 Normal Task 보다 Priority가 낮게 부여 받은 뒤 수행된다. Normal Task의 경우 계속하여 프로그램을 수행하기 위해서 주기적으로 동작하는 Periodic Task이고 Debug Task의 경우는 호스트의 요청에 의해서만 동작하는 비주기적인 Sporadic Task로 시스템이 쉬는 시각에 Debug Task를 수행하여 Sporadic Task가 Periodic Task의 수행을 방해하지 않고 모든 작업들이 실시간으로 수행할 수 있다. 한편, Debug Task의 경우 실제 명령을 수행하는 Task와 결과를 호스트에 보고하는 Task로 구분하고 두 가지 Task에 대한 서로 다른 Deadline을 각각 부여함으로 전체적인 Task의 실행시간을 나누어서 보다 효율적인 실시간 스케줄링을 제공할 수 있으며 이 스케줄 알고리즘의 스케줄 가능성에 대해 증명하였다. 이러한 실시간 네트워크 디버거는 센서 네트워크 전체에 대해 실시간으로 디버깅을 할 수 있으며 실제 응용 프로그램의 방해가 없도록 제안하였다. 디버깅 명령어를 수행할 수 있도록 해당하는 메시지 프로토콜을 정의하였으며 실시간으로 해당 명령을 수행하고 이를 이용하여 시스템에 버그를 파악하도록 제공할 수 있다. 센서 네트워크의 경우 네트워크에 대한 오류 및 패킷 송수신시 발생할 수 있는 버그가 존재할 수 있으므로 네트워크 기반의 디버거를 통해 관련 버그들을 손쉽게 찾아낼 수 있다. 필드 설치 시에 방수 및 조립이 된 상태로 센서 노드를 설치하게 되어 노드에 문제가 있을 경우에는 접근하기도 어렵고 기구 해체에도 시간이 소모될 수 있으나 네트워크 디버깅을 통해 시간을 단축할 수 있을 것으로 예상한다. 추후에 JTAG 기반의 원격 프로그래밍 및 In-band 내에서의 프로그래밍 방법을 적용하여 네트워크 상태에서 Over the Air Programming 및 추가 디버깅 연구로 발전 가능하며 실용적이며 신뢰성 있는 센서 네트워크 시스템 구축에 효과적인 도움을 줄 것으로 기대한다.

서지기타정보

서지기타정보
청구기호 {MICE 09003
형태사항 v, 50 p. : 삽화 ; 26 cm
언어 영어
일반주기 저자명의 한글표기 : 이종욱
지도교수의 영문표기 : Dae-Young Kim
지도교수의 한글표기 : 김대영
학위논문 학위논문(석사) - 한국과학기술원 : 정보통신공학과,
서지주기 References : p. 44-46
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서