KR101925022B1 - 무선 센서 네트워크에서 노드 에너지를 고려한 라우팅 장치 및 방법 - Google Patents

무선 센서 네트워크에서 노드 에너지를 고려한 라우팅 장치 및 방법 Download PDF

Info

Publication number
KR101925022B1
KR101925022B1 KR1020180023542A KR20180023542A KR101925022B1 KR 101925022 B1 KR101925022 B1 KR 101925022B1 KR 1020180023542 A KR1020180023542 A KR 1020180023542A KR 20180023542 A KR20180023542 A KR 20180023542A KR 101925022 B1 KR101925022 B1 KR 101925022B1
Authority
KR
South Korea
Prior art keywords
routing
node
fec
message
sensor node
Prior art date
Application number
KR1020180023542A
Other languages
English (en)
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 KR1020180023542A priority Critical patent/KR101925022B1/ko
Application granted granted Critical
Publication of KR101925022B1 publication Critical patent/KR101925022B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/04Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources
    • H04W40/10Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources based on available power or energy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/12Communication route or path selection, e.g. power-based or shortest path routing based on transmission quality or channel quality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks
    • Y02D70/326
    • Y02D70/34

Landscapes

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

Abstract

본 실시예는, 라우팅 장치에 있어서, 센서 노드의 링크 품질, 워크로드(workload) 및 하나의 패킷을 송신하는 데 평균적으로 소비되는 에너지인 패킷당 전송 에너지를 고려하여 라우팅 메트릭(routing metric)인 FEC(Future Energy Consumption)를 산출하는 FEC 산출부; 상기 FEC에 기초하여 상기 센서 노드의 랭크(rank)를 설정하고, 상기 랭크, 상기 FEC 및 상기 센서 노드의 잔여 에너지(residual energy) 정보를 DIO(DODAG Information Object) 메시지에 임베딩(embedding)하는 DIO 메시지 임베딩부; 및 상기 DIO 메시지를 트리클 타이머(trickle timer)의 제어 하에 이웃 노드들에게 송신하는 DIO 메시지 송신부를 포함하는 라우팅 장치를 제공한다.

Description

무선 센서 네트워크에서 노드 에너지를 고려한 라우팅 장치 및 방법{ROUTING DEVICE AND METHOD FOR CONSIDERING ENERGY OF NODE IN WIRELESS SENSOR NETWORK}
본 발명은 라우팅 장치에 관한 것으로, 보다 구체적으로는 무선 센서 네트워크에서 노드 에너지를 고려한 라우팅 메트릭 및 리던던시 상수 k를 이용하여 에너지 효율성을 향상시키는 라우팅 장치 및 방법에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 발명의 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
사물인터넷(Internet of Things: IoT)은 인터넷을 기반으로 사물들을 연결하여 사물과 사물 간의 정보를 상호 소통하는 지능형 기술 및 서비스를 말한다.
사물인터넷 환경에서 다양한 기기들은 지능형 서비스를 제공하기 위해 상호 연결되어 네트워크를 구성하게 된다. 그런데, 사물인터넷 네트워크를 구성하는 기기들(이하, “노드”라 칭함), 특히 센서 노드들의 리소스(예: 배터리, 프로세서 등)는 매우 제한적이다. 따라서, 사물인터넷 라우팅 프로토콜은 이러한 리소스 제약을 고려하여 설계되어야 한다.
기존의 라우팅 프로토콜, 예컨대 애드혹 온-디맨드 거리벡터(Ad-hoc on-demand distance vector: AODV), 동적 소스 라우팅(Dynamic Source Routing: DSR) 등은 에너지 소모가 많고 높은 프로세싱 능력을 요구하기 때문에, 사물인터넷 네트워크에는 적합하지 않다.
이에 따라, 사물인터넷 네트워크에 적합한 라우팅 프로토콜에 대한 다양한 연구 및 표준화 작업이 활발하게 진행되고 있으며, 그 대표적인 예로서 IETF(Internet Engineering Task Force) ROLL 워킹그룹에서 표준화한 RPL(IPv6 Routing Protocol for Low-Power and Lossy Networks)이 있다.
RPL은 저전력 손실 네트워크(Low power and Lossy Networks: LLNs) 환경에서 리소스 제한적인 노드들에게 IPv6 라우팅을 제공하기 위해 설계된 거리 벡터 라우팅 프로토콜이다.
RPL은 DIO(DODAG Information Object) 메시지 등 세 가지 메시지를 이용하여, 복수의 노드들을 포함하는 트리 형태의 토폴로지인 DODAG(Destination Oriented Directed Acyclic Graph)을 구성한다. 그리고, RPL은 오브젝트 함수(Objective Function)를 이용하여 DODAG 내 라우팅 경로를 최적화한다.
그런데, 이와 같은 기존 RPL에는 몇 가지 문제점들이 있다.
첫째, 기존 RPL의 오브젝트 함수는 링크 품질만을 고려할 뿐, 노드들의 혼잡도나 에너지 정보는 고려하지 않는다. 따라서, 기존 RPL의 오브젝트 함수를 이용하여 대규모 사물인터넷 네트워크를 구성하는 경우, 링크 품질이 좋은 노드들에 트래픽이 집중되어 해당 노드들의 에너지가 빨리 고갈되므로, 노드 장애로 인한 경로 단절이 빈번하게 발생된다.
이와 같은 문제를 해결하기 위하여, RPL은 글로벌 리페어(Global repair) 기법과 로컬 리페어(Local repair) 기법을 정의하고 있다. 그러나, 글로벌 리페어 기법은 전체 네트워크를 재구축하므로 네트워크의 에너지 소모가 크고, 로컬 리페어 기법은 경로 복구를 위해 추가적인 제어 메시지(예: RREQ(Route Request) 메시지 등)를 필요로 하므로 오버헤드가 증가한다는 한계가 있다.
둘째, DODAG 구성에 이용되는 제어 트래픽(control traffic)은 데이터 트래픽(data traffic)보다 작지만, 5,000개 이상의 노드들로 구성되는 대규모 사물인터넷 네트워크에서는 무시할 수 없을 정도로 커지게 된다. 따라서, 제어 패킷의 송신 주기를 적절하게 조절하지 않을 경우, 네트워크의 대역폭(bandwidth) 및 에너지의 소비가 급증하고 네트워크의 확장성(scalability) 및 안정성(stability)이 저하될 수 있다는 문제가 있다.
이와 같은 문제를 해결하기 위하여, 본 발명의 실시예는, 사물인터넷 네트워크 환경에서, 링크 품질에 더하여 각 노드의 워크로드 및 에너지 정보를 고려하여 라우팅 경로를 최적화하고, DIO 메시지의 송신 빈도를 적응적으로(adaptively) 조절함으로써, 네트워크의 에너지 효율을 향상시킬 수 있는 사물인터넷 라우팅 기법을 제공하고자 한다.
본 실시예의 일 측면에 의하면, 라우팅 장치에 있어서, 센서 노드의 링크 품질, 워크로드(workload) 및 하나의 패킷을 송신하는 데 평균적으로 소비되는 에너지인 패킷당 전송 에너지를 고려하여 라우팅 메트릭(routing metric)인 FEC(Future Energy Consumption)를 산출하는 FEC 산출부; 상기 FEC에 기초하여 상기 센서 노드의 랭크(rank)를 설정하고, 상기 랭크, 상기 FEC 및 상기 센서 노드의 잔여 에너지(residual energy) 정보를 DIO(DODAG Information Object) 메시지에 임베딩(embedding)하는 DIO 메시지 임베딩부; 및 상기 DIO 메시지를 트리클 타이머(trickle timer)의 제어 하에 이웃 노드들에게 송신하는 DIO 메시지 송신부를 포함하는 라우팅 장치를 제공한다.
본 실시예의 다른 측면에 의하면, 라우팅 장치에 있어서, 이웃 노드들로부터 각각의 FEC(Future Energy Consumption) 및 잔여 에너지(residual energy) 정보를 포함하는 DIO(DODAG Information Object) 메시지를 수신하는 DIO 메시지 수신부; 상기 이웃 노드들로부터 소정의 라우팅 제약 조건(routing constraint)을 만족하지 않는 노드들을 필터링하여 후보 부모 노드들을 구성하는 후보 부모 노드 리스트 업데이트부; 및 상기 후보 부모 노드들과 현재 부모 노드 중에서 랭크(rank)가 최소인 노드를 부모 노드로 선택하는 부모 노드 선택부를 포함하되, 상기 FEC는 상기 이웃 노드들 각각의 링크 품질, 워크로드(workload) 및 패킷당 전송 에너지를 고려하여 산출되는 라우팅 메트릭(routing metric)인 라우팅 장치를 제공한다.
본 실시예의 또 다른 측면에 의하면, 무선 센서 네트워크의 라우팅 방법에 있어서, 센서 노드의 링크 품질, 워크로드(workload) 및 하나의 패킷을 송신하는 데 평균적으로 소비되는 에너지인 패킷당 전송 에너지를 고려하여 라우팅 메트릭(routing metric)인 FEC(Future Energy Consumption)를 산출하는 단계; 상기 FEC에 기초하여 상기 센서 노드의 랭크(rank)를 설정하고, 상기 랭크, 상기 FEC 및 상기 센서 노드의 잔여 에너지(residual energy) 정보를 DIO(DODAG Information Object) 메시지에 임베딩(embedding)하는 단계; 트리클 타이머(trickle timer)의 구성 파라미터(configuration parameter)인 리던던시 상수 k를 상기 센서 노드의 에너지 상황에 따라 적응적으로 가변시켜, 상기 DIO 메시지의 송신 빈도(transmission frequency)를 조절하는 단계; 상기 DIO 메시지를 상기 트리클 타이머의 제어 하에 이웃 노드들에게 송신하는 단계를 포함하는 라우팅 방법을 제공한다.
본 실시예의 또 다른 측면에 의하면, 무선 센서 네트워크의 라우팅 방법에 있어서, 이웃 노드들로부터 각각의 FEC(Future Energy Consumption) 및 잔여 에너지(residual energy) 정보를 포함하는 DIO(DODAG Information Object) 메시지를 수신하는 단계; 상기 이웃 노드들로부터 소정의 라우팅 제약 조건(routing constraint)을 만족하지 않는 노드들을 필터링하여 후보 부모 노드들을 구성하는 단계; 및 상기 후보 부모 노드들과 현재 부모 노드 중에서 랭크(rank)가 최소인 노드를 부모 노드로 선택하는 단계, 상기 FEC는 상기 이웃 노드들 각각의 링크 품질, 워크로드(workload) 및 패킷당 전송 에너지를 고려하여 산출되는 라우팅 메트릭(routing metric)인 라우팅 방법을 제공한다.
본 실시예에 따른 라우팅 방법은 링크 품질, 워크로드 및 에너지 정보를 고려하여 부모 노드를 선택함으로써, 패킷 손실, 링크 손실 및 노드 장애를 감소시키고, 네트워크 전체의 에너지 소모를 최소화할 수 있는 효과가 있다.
또한, 본 실시예에 따른 라우팅 방법은 가변적인 리던던시 상수 k를 이용해 DIO 메시지의 송신 주기를 적응적으로 조절함으로써, 제어 오버헤드 증가에 따른 에너지 소모를 최소화할 수 있는 효과가 있다.
본 실시예의 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 실시예에 따른 라우팅 방법이 적용되는 사물인터넷 시스템의 일 예를 나타내는 도면이다.
도 2는 본 실시예에 따른 센서 노드의 구성을 나타내는 도면이다.
도 3은 본 실시예에 따른 라우팅 장치의 구성을 나타내는 도면이다.
도 4는 도 3의 DIO 메시지 송신 처리부의 구성을 상세하게 나타내는 도면이다.
도 5는 본 실시예에 따른 DIO 메시지의 구조를 나타내는 도면이다.
도 6은 도 3의 DIO 메시지 수신 처리부의 구성을 상세하게 나타내는 도면이다.
도 7은 본 실시예의 일 측면에 따른 라우팅 장치가 라우팅 메트릭인 FEC를 산출하는 방법을 나타내는 흐름도이다.
도 8은 본 실시예의 일 측면에 따른 라우팅 장치가 DIO 메시지를 송신하는 방법을 나타내는 흐름도이다.
도 9는 본 실시예의 다른 측면에 따른 라우팅 장치가 부모 노드를 선택하는 방법을 나타내는 흐름도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의하여야 한다. 또한, 본 발명의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '…부,' '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이하, 첨부된 도면들을 참조하여 본 발명의 일 실시예들에 대해서 보다 상세하게 설명하기로 한다.
본 실시예에 따른 라우팅 기법은 저전력 손실 네트워크(Low-power and Lossy Networks: LLNs), 예컨대 IPv6 저전력 무선 사설 네트워크(IPv6 over Low-power Wireless Personal Area Network: 6LoWPAN)에서 라우팅 경로를 설정하는 데 이용될 수 있다. 여기서, 6LoWPAN은 IEEE 802.15.4를 기반으로 하는 무선 센서 네트워크에 IPv6를 지원하기 위한 기술이다.
본 명세서에서는, 표준 라우팅 프로토콜인 RPL(IPv6 Routing Protocol for Low-Power and Lossy Networks) 기반 사물인터넷 무선 센서 네트워크 환경을 전제로 본 실시예를 설명하기로 한다. 다만, 이는 설명의 편의를 위한 것일 뿐, 본 실시예를 한정하는 것은 아니라는 점에 유의하여야 한다.
도 1은 본 실시예에 따른 라우팅 기법이 적용되는 사물인터넷 시스템의 일 예를 나타내는 도면이다.
도 1을 참조하면, 본 실시예에 따른 사물인터넷 시스템(100)은 인터넷(110), 보더 라우터(Border Router, 130) 및 무선 센서 네트워크(150)를 포함할 수 있다.
인터넷(110)은 유선 또는 무선 인터넷망, 유선 공중망, 무선 이동 통신망, 또는 휴대 인터넷 등과 통합된 코어망을 포함할 수 있다.
무선 센서 네트워크(150)는 보더 라우터(130), 예컨대 6LoWPAN 보더 라우터(6LoWPAN Border Router: 6LBR)를 통해 인터넷(110) 또는 외부 네트워크(미도시)와 연결되어 통신을 수행할 수 있다.
그리고, 무선 센서 네트워크(150)는 정보처리 및 무선통신 능력을 갖춘 복수의 노드들(151 내지 159)을 포함할 수 있다. 여기서, 복수의 노드들(151 내지 159)은 적어도 하나의 싱크 노드(151)와 싱크 노드(151)를 기준으로 상호 연결된 복수의 센서 노드들(153 내지 159)로 구별될 수 있다.
센서 노드들(153 내지 159)은 센서를 통해 수집된 각종 데이터(이하, “센싱 데이터”라 칭함)를 싱크 노드(151)로 송신할 수 있다.
그리고, 싱크 노드(151)는 센서 노드(153 내지 159)들을 관리 및 제어하고, 센서 노드들(153 내지 159)로부터 각종 센싱 데이터를 취합하는 데이터 집중국 기능을 수행할 수 있다.
복수의 노드들(151 내지 159)은 노드 간 통신을 수행하기 위하여 표준 라우팅 프로토콜인 RPL을 기반으로 트리 형태의 토폴로지인 DODAG(Destination Oriented Directed Acyclic Graph)을 구성하고, 라우팅 경로를 설정할 수 있다. 여기서, 라우팅 경로는 라우팅 메트릭(routing metric)을 이용하여 설정되며, 라우팅 메트릭이 변경됨에 따라 함께 변경될 수 있다.
구체적으로, 각각의 노드들은 DIO(DODAG Information Object) 메시지를 이웃 노드들에게 송신하여 자신의 네트워크 정보를 알리고, DIO 메시지를 수신한 노드들(이하, “수신 노드”라 칭함)은 수신된 DIO 메시지를 이용하여 후보 부모 노드 리스트를 업데이트할 수 있다. 그리고, 각각의 수신 노드들은 오브젝트 함수(Objective Function)를 통해 계산된 라우팅 메트릭을 이용하여 이웃 노드들 중 어느 하나를 부모 노드로 선택함으로써, 싱크 노드를 최종 목적지로 하는 단일 방향의 부모-자식 관계를 정의할 수 있다.
부모 노드를 선택한 각각의 하위 노드들은, DAO(Destination Advertisement Object) 메시지를 이용하여 부모-자식 관계가 정의된 라우팅 경로를 부모 노드에 전달하는 데, 이를 통해 최종 목적지인 싱크 노드까지 DAO 메시지가 경유하는 모든 중간 노드들의 주소 정보가 DAO 메시지에 기록될 수 있다.
이와 같은 과정을 통해, 트리형 토폴로지인 DODAG 내에서 네트워크의 전체 경로가 설정되게 된다.
도 2는 본 실시예에 따른 센서 노드의 구성을 나타내는 도면이다.
도 2를 참조하면, 센서 노드(200)는 통신 장치(210), 센싱 장치(230), 메모리 장치(250), 전원 공급 장치(270) 및 프로세싱 장치(290)를 포함할 수 있다.
통신 장치(210)는 프로세싱 장치(290)에 연결되며, 무선 통신 기능을 지원하는 적어도 하나의 통신 모듈, 예컨대 무선 인터넷 모듈, 근거리 통신 모듈 등을 포함할 수 있다. 여기서, 무선 인터넷 모듈은 센서 노드(200)에 내장되거나 외장될 수 있으며, 근거리 통신 모듈은 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee 등으로 구현될 수 있다.
센서 노드(200)는 통신 장치(210)를 통해 다른 노드들과 IPv6(Internet Protocol version 6) 패킷을 포함한 각종 데이터를 송수신할 수 있다. 또한, 센서 노드(200)는 통신 장치(210)를 통해 보더 라우터에 연결되어 외부 네트워크의 다른 노드들과 각종 데이터를 송수신할 수 있다.
센싱 장치(230)는 프로세싱 장치(290)에 연결되며, 적어도 하나의 센서(231) 및 아날로그-디지털 컨버터(Analog-Digital Converter: ADC, 233)를 포함할 수 있다.
센싱 장치(230)는 센서(231)를 통해 각종 정보를 수집하고, 이를 아날로그-디지털 컨버터(233)를 이용하여 디지털 신호로 변환한 후, 프로세싱 장치(290)에 전달할 수 있다.
메모리 장치(250)는 프로세싱 장치(290)에 연결되며, 오퍼레이팅 시스템(Operating System: OS), 프로그램 코드 및 각종 데이터를 저장할 수 있다.
메모리 장치(250)는 싱크 노드에 전달할 패킷을 임시 저장하기 위한 버퍼(buffer)를 포함할 수 있으며, 본 실시예에 따르면 버퍼의 현재 점유상태 즉, 버퍼에 저장된 현재 패킷 개수는 해당 노드의 워크로드(workload)를 나타낼 수 있다.
메모리 장치(250)는 휘발성 및 비휘발성, 분리형 및 비분리형 저장매체를 모두 포함하여 구현될 수 있다. 예를 들어, 메모리 장치(250)는 ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치, 콤팩트 플래시(compact flash: CF) 카드, SD(secure digital) 카드, 메모리 스틱(memory stick), 솔리드 스테이트 드라이브(solid-state drive: SSD)나 마이크로(micro) SD 카드 등과 같은 낸드 플래시 메모리(NAND flash memory), 하드 디스크 드라이브(hard disk drive: HDD) 등과 같은 마그네틱 컴퓨터 기억장치 등을 포함할 수 있다.
전원 공급 장치(270)는 프로세싱 장치(290)의 제어 하에 통신 장치(210)를 포함한 각 구성요소들에게 전원을 공급할 수 있다.
이를 위해, 전원 공급 장치(270)는 배터리(271) 및 배터리 충전부(273)를 포함할 수 있다. 배터리 충전부(273)는 교류전원에 연결되어 배터리(271)를 충전시킬 수 있으며, 교류전원을 전원변환하기 위한 컨버터를 포함할 수 있다. 배터리(271)는 배터리 충전부(273)에 의해 충전된 에너지를 각 구성요소들에게 공급할 수 있다.
또한, 전원 공급 장치(270)는 스위치 모드 파워 서플라이(Switched-Mode Power Supply: SMPS, 미도시)를 더 포함할 수 있다. 스위치 모드 파워 서플라이는 배터리(271)의 출력에 연결되어 전원을 공급받으며, 공급받은 전원을 스위칭 동작을 통해 각 구성요소들에게 분배할 수 있다.
프로세싱 장치(290)는 센서 노드(200)의 전반적인 동작을 제어하며, 적어도 하나의 프로세서(예: 마이크로 프로세서, CPU 등)를 포함할 수 있다. 또한, 프로세싱 장치(290)는 전기적으로 연결된 각 구성요소들의 동작을 제어할 수 있다.
본 실시예에 따른 센서 노드(200)는 무선 센서 네트워크에서 전체 에너지 효율을 증가시키기 위한 개선된 라우팅 장치를 더 포함할 수 있다.
라우팅 장치는 프로세싱 장치(290)에 기능적으로 포함되거나, 프로세싱 장치(290)와는 별개의 독립된 구성요소로서 센서 노드(200)에 포함될 수 있다.
또한, 라우팅 장치는 이들 양자의 조합 즉, 라우팅 장치의 일부 구성요소는 프로세싱 장치(290)에 포함되고 나머지 구성요소는 독립된 구성요소로서 센서 노드(200)에 포함될 수도 있다.
이하, 도 3 내지 도 6을 참조하여, 본 실시예에 따른 라우팅 장치에 대해 상세하게 설명하기로 한다.
도 3은 본 실시예에 따른 라우팅 장치의 구성을 나타내는 도면이다.
도 4는 도 3의 DIO 메시지 송신 처리부의 구성을 상세하게 나타내는 도면이다.
도 5는 본 실시예에 따른 DIO 메시지의 구조를 나타내는 도면이다.
도 6은 도 3의 DIO 메시지 수신 처리부의 구성을 상세하게 나타내는 도면이다.
우선, 도 3을 참조하면, 라우팅 장치(300)는 DIO 메시지 송신 처리부(310), DIO 메시지 수신 처리부(330) 및 트리클 타이머(350)를 포함할 수 있다. 다만, 이는 설명의 편의를 위하여 라우팅 장치(300)가 수행하는 '상향링크(upward link) 경로 설정 동작'을 구성요소로서 도시한 것일 뿐이다. 따라서, 도면에 직접적으로 도시되진 않았지만, 라우팅 장치(300)에는 하향링크(downward link) 경로 설정을 비롯한 다양한 라우팅 알고리즘(routing algorithm)을 실행하기 위해 필요한 구성요소들이 더 포함될 수 있다.
그리고, 라우팅 장치(300)는, 도 2를 참조하여 전술한, 통신 장치(210), 메모리 장치(250) 및 전원 공급 장치(270)와 연결될 수 있다.
DIO 메시지 송신 처리부(310)
DIO 메시지 송신 처리부(310)는 센서 노드의 네트워크 정보, 예컨대 랭크(rank) 등이 임베딩(embedding)된 DIO 메시지를 주위 노드들에게 송신할 수 있다.
이하, 도 4를 참조하여 DIO 메시지 송신 처리부(310)의 구성을 상세하게 설명하기로 한다.
도 4를 참조하면, DIO 메시지 송신 처리부(310)는 링크 품질 측정부(410), 워크로드 측정부(420), 에너지 정보 측정부(430), FEC 산출부(440), DIO 메시지 임베딩부(450) 및 DIO 메시지 송신부(460)를 포함할 수 있다.
링크 품질 측정부(410)는 ETX(Expected Transmission Count)를 통해 링크 품질을 측정할 수 있다. 여기서, ETX는 링크의 채널 상태를 통해 평균 송신 횟수를 구하는 메트릭으로, ETX 산출을 통한 링크 품질 측정 과정은 다음과 같다.
링크 품질 측정부(410)는 소정의 타임 인터벌(time interval) 동안의 패킷 전송 성공률(Packet Delivery Ratio: PDR)을 산출한다. 여기서, 소정의 타임 인터벌은 트리클 타이머(350)에 의해 미리 설정될 수 있다.
그리고, 링크 품질 측정부(310)는 산출된 패킷 전송 성공률에 역수를 취하여 ETX를 산출할 수 있다. 이 때, 산출된 ETX는 해당 링크와 관련된 에너지 소모를 예측하는 데 이용될 수 있다.
이상을 정리하면 수학식 1과 같다.
Figure 112018020098833-pat00001
여기서, c는 센서 노드, n은 이웃 노드를 의미한다.
센서 노드의 패킷 전송 성공률(PDR)이 낮아 ETX가 큰 경우, 링크 품질은 상대적으로 나쁘다고 평가할 수 있다.
반대로, 센서 노드의 패킷 전송 성공률(PDR)이 높아 ETX가 작은 경우, 링크 품질은 상대적으로 좋다고 평가할 수 있다.
워크로드 측정부(420)는 메모리 장치의 현재 버퍼 점유상태(buffer occupancy status)를 통해 센서 노드의 워크로드를 측정할 수 있다.
구체적으로, 센서 노드의 워크로드는 특정 타임 슬롯(time slot)에서 메모리 장치의 버퍼에 저장된 패킷들의 개수를 통해 나타낼 수 있으며, 이는 수학식 2와 같다.
Figure 112018020098833-pat00002
여기서,
Figure 112018020098833-pat00003
는 센서 노드 n의 워크로드, 셀프 로드 패킷 수는 직접 생성한 패킷들의 개수, 서브 트리 패킷 수는 서브 트리(즉, 자식 노드들)로부터 수신된 패킷들의 개수, 드롭 패킷 수는 드롭(drop)된 패킷들의 개수를 의미한다.
에너지 정보 측정부(430)는 센서 노드의 패킷당 송신 에너지 및 잔여 에너지(residual energy)를 포함하는 에너지 정보를 측정할 수 있다.
여기서, 패킷당 송신 에너지는 센서 노드가 하나의 패킷을 송신하는 데 평균적으로 소비하는 에너지를 의미한다.
그리고, 잔여 에너지는 센서 노드의 초기 에너지에서 패킷 수신, 송신 및 처리 등으로 소비된 에너지를 제외한 나머지 에너지를 의미한다.
FEC 산출부(440)는 링크 품질, 워크로드 및 패킷당 송신 에너지를 이용하여 매 타임 슬롯마다 라우팅 메트릭인 FEC(Future Energy Consumption)를 산출할 수 있다. 여기서, FEC는 센서 노드가 장래 소비할 것으로 예측되는 에너지를 의미한다.
본 실시예의 일 측면에 따르면, FEC 산출부(440)는 수학식 3의 계산에 따라 FEC를 산출할 수 있다. 이 때, 산출된 FEC는 DIO 메시지의 송신 빈도를 조절하는 데 이용될 수 있으며, 자식 노드들이 각각의 랭크(rank)를 설정하는 데 이용될 수 있다.
Figure 112018020098833-pat00004
여기서, n은 센서 노드, m은 이웃 노드,
Figure 112018020098833-pat00005
는 센서 노드 n의 워크로드,
Figure 112018020098833-pat00006
은 패킷당 송신 에너지를 의미한다.
DIO 메시지 임베딩부(450)는 부모 노드들 각각의 FEC 값에 기초하여 센서 노드의 랭크를 설정할 수 있다. 예를 들어, DIO 메시지 임베딩부(450)는 수학식 4를 이용하여 센서 노드의 랭크를 설정할 수 있다.
Figure 112018020098833-pat00007
여기서,
Figure 112018020098833-pat00008
는 센서 노드,
Figure 112018020098833-pat00009
는 부모노드들 각각의 FEC 값 중 최소값,
Figure 112018020098833-pat00010
는 싱크 노드들의 집합을 의미한다. 수학식 4를 참조하면, 싱크 노드의 랭크는 '1'로 설정된다. 싱크 노드를 제외한 나머지 센서 노드의 랭크는 그 부모 노드들 각각의 FEC 값 중에서 최소값으로 설정된다.
그리고, DIO 메시지 임베딩부(450)는 센서 노드의 랭크, FEC 및 잔여 에너지 정보를 DIO 메시지에 임베딩(embedding)할 수 있다.
DIO 메시지 송신부(460)는 통신 장치(210)를 통해 랭크, FEC 및 잔여 에너지 정보가 임베딩된 DIO 메시지를 무선 통신 범위 내의 이웃 노드들에게 송신할 수 있다. 이 때, DIO 메시지의 송신 주기는 트리클 타이머(350)에 의해 적응적으로(adaptively) 조절될 수 있으며, 이는 상세하게 후술하기로 한다.
본 실시예에 따른 DIO 메시지 포맷의 일 예는 도 5에 도시된 바와 같다.
도 5를 참조하면, 본 실시예에 따른 DIO 메시지 포맷은 RPL 표준에서 정의된 기본 구조에 따르되, 옵션 필드(option field)에 FEC(510)와 잔여 에너지 정보(530)를 포함할 수 있다.
참고로, DIO 메시지 포맷에는 RPL 인스턴스 ID(RPL Instance ID), 버전 넘버(Version Number), 랭크(Rank) 등이 포함된다. RPL 인스턴스 ID는 여러 개의 RPL이 동작할 때 각각의 RPL를 구별시키는 역할을 하고, 버전 넘버는 DODAG이 새로 구성되거나 센서 노드들의 탈퇴 등으로 기존 DODAG이 재구성될 때 각각의 DODAG을 구별시키는 역할을 한다. 그리고, 랭크는 루프나 경로를 설정할 때 부모 노드의 선택에 이용된다.
이상을 정리하면, DIO 메시지 송신 처리부(310)는, (1) 센서 노드의 링크 품질(link quality), 워크로드(workload) 및 에너지 정보를 측정하고, (2) 측정된 정보를 이용하여 라우팅 메트릭인 FEC를 산출하며, (3) 센서 노드 자신의 랭크(rank)를 설정한 후, (4) 랭크, FEC 및 잔여 에너지(residual energy) 정보를 DIO 메시지에 임베딩하여, (5) 트리클 타이머(350)의 제어 하에 이웃 노드들에게 송신할 수 있다.
트리클 타이머(330)
다시 도 3으로 돌아와, 트리클 타이머(trickle timer, 330)는 DIO 메시지 송신 처리부(310)에 의해 산출된 FEC에 기초하여 DIO 메시지의 송신 주기를 적응적으로 조절할 수 있다.
구체적으로, 트리클 타이머(350)는 구성 파라미터(configuration parameter)로서 인터벌(interval) I의 최소값(Imin), 최대값(Imax) 및 리던던시 상수 k를 포함할 수 있다. 여기서, 인터벌 I는 소정 시간 길이(time length)의 슬롯(slot)으로 구분될 수 있으며, 인터벌 I의 최소값(Imin) 및 최대값(Imax)은 수학식 5를 만족한다.
Figure 112018020098833-pat00011
여기서, N은 자연수를 의미한다.
인터벌 I의 초기값은 인터벌 I의 최소값(Imin) 및 최대값(Imax) 사이의 임의의 값으로 설정될 수 있다.
리던던시 상수 k는 자연수로서, DIO 메시지의 송신 빈도(transmission frequency)를 제어하는 데 이용될 수 있다. 또한, 리던던시 상수 k의 초기값은 시스템 환경을 고려하여 임의의 값으로 설정될 수 있다.
트리클 타이머(330)의 인터벌 구간은, DIO 메시지의 수신만 가능한 [0,I/2) 구간과 DIO 메시지의 송신이 가능한 [I/2,I) 구간으로 구분될 수 있다. 그리고, DIO 메시지의 송신 시점 t는 [0,I/2) 구간 중 임의의 시점으로 미리 설정될 수 있다.
트리클 타이머(330)는 일관된(consistent) DIO 메시지를 오버히어링(overhearing)하는 횟수를 카운팅하는 컨시스턴시 카운터(consistency counter) c를 포함하며, 컨시스턴시 카운터 c의 값은 인터벌 I가 시작할 때마다 '0'으로 초기화된다. 여기서, 센서 노드가 일관된 DIO 메시지를 오버히어링한다는 것은 라우팅 메트릭(예: 혼잡도, 링크 품질, 홉 카운트 등)에 변화가 없는 것을 말하며, 안정적인 라우팅 상태를 나타낼 수 있다. 반대로, 센서 노드가 비일관된(inconsistent) DIO 메시지를 오버히어링한다는 것은 라우팅 메트릭에 변화가 있는 것을 말하며, 불안정한 라우팅 상태를 나타낼 수 있다.
컨시스턴시 카운터 c의 값이 리던던시 상수 k보다 작은 경우(즉, 'c<k'), 센서 노드는 DIO 메시지를 송신할 수 있다.
반대로, 컨시스턴시 카운터 c의 값이 리던던시 상수 k 이상인 경우(즉, 'c≥≥k'), 센서 노드는 DIO 메시지를 송신할 수 없다.
기존의 트리클 타이머에서, 상술한 리던던시 상수 k는 사용자에 의해 최초 설정된 이후에는 임의로 변경되지 않는다. 따라서, 기존의 리던던시 상수 k에 따라 DIO 메시지의 송신을 제어하는 경우, 대규모 사물인터넷 네트워크에서 제어 오버헤드(control overhead)가 증가함에 따라 에너지 소모가 증가하고 특정 노드로 트래픽이 집중되는 문제가 발생할 수 있다.
이와 같은 문제를 해결하기 위하여, 본 실시예는 센서 노드의 에너지 상태를 고려하여 리던던시 상수 k를 적응적으로 조절하는 트리클 타이머(330)를 제안하고자 한다.
본 실시예에 따른 트리클 타이머(330)는 센서 노드의 잔여 에너지 및 FEC를 이용하여 리던던시 상수 k를 적응적으로(adaptively) 조절할 수 있다.
구체적으로, 트리클 타이머(330)는 각각의 인터벌마다 수학식 6에 따라 리던던시 상수 k를 조절할 수 있다.
Figure 112018020098833-pat00012
여기서,
Figure 112018020098833-pat00013
는 센서 노드의 초기 에너지 대비 잔여 에너지의 퍼센트 값을 의미하고,
Figure 112018020098833-pat00014
는 센서 노드의 초기 에너지 대비 FEC의 퍼센트 값을 의미한다.
그리고, 트리클 타이머(330)는 컨시스턴시 카운터 c의 값을 리던던시 상수 k와 비교하여 인터벌 I의 값을 가변적으로 조절할 수 있다.
구체적으로, 트리클 타이머(330)는 컨시스턴시 카운터 c의 값이 리던던시 상수 k 이상인 경우(즉, 'c≥k'), 인터벌 I의 값을 소정의 정수 배, 예컨대 두 배 증가시킬 수 있다. 이 때, 증가된 인터벌 I의 값이 최대값(Imax)에 도달한 경우, 트리클 타이머(330)는 다음 인터벌 I의 값을 최소값(Imin)으로 초기화할 수 있다.
이하, 센서 노드가 일관된 메시지를 오버히어링하는 빈도는 일정하다는 가정 하에, 리던던시 상수 k가 증가하는 경우와 감소하는 경우를 구분하여 설명하기로 한다.
노드의 장래 에너지 상태가 나빠질 것으로 판단되는 경우(즉,
Figure 112018020098833-pat00015
감소 및
Figure 112018020098833-pat00016
증가), 리던던시 상수 k는 감소하게 된다.
리던던시 상수 k의 감소로 인해 'c≥k' 조건의 충족 가능성이 높아지게 되고, 해당 조건이 충족되는 경우, 트리클 타이머(330)는 인터벌 I의 값을 소정의 정수 배, 예컨대 두 배 증가시킨다. 결과적으로, DIO 메시지의 송신 빈도가 감소되어, 센서 노드는 에너지 소모를 줄일 수 있게 된다.
그리고, 인터벌 I의 값이 최대값(Imax)에 도달한 경우, 트리클 타이머(350)는 다음 인터벌 I의 값을 최소값(Imin)으로 초기화할 수 있다.
반대로, 노드의 장래 에너지 상태가 좋아질 것으로 판단되는 경우(즉,
Figure 112018020098833-pat00017
증가 및
Figure 112018020098833-pat00018
감소), 리던던시 상수 k는 증가하게 된다.
리던던시 상수 k의 증가로 인해 'c<k' 조건의 충족 가능성이 높아지게 되고, 해당 조건이 충족되고 미리 설정된 DIO 메시지의 송신 시점 t가 도래한 경우, DIO 메시지 송신 처리부(310)는 DIO 메시지를 송신한다.
이상을 정리하면, 본 실시예에 따른 트리클 타이머(330)는 FEC와 잔여 에너지 정보에 기초하여 리던던시 상수 k를 적응적으로 조절함으로써, DIO 메시지의 송신 빈도를 최적화하고, 제어 트래픽에 의한 네트워크 전체의 에너지 소모를 감소시킬 수 있다.
DIO 메시지 수신 처리부(350)
다시 도 3으로 돌아와, DIO 메시지 수신 처리부(350)는 수신된 DIO 메시지에 포함된 랭크, FEC 및 잔여 에너지 정보를 이용하여 부모 노드를 선택(유지, 변경을 포함)함으로써, DODAG 내의 상향링크 경로를 설정할 수 있다.
이하, 도 6을 참조하여 DIO 메시지 수신 처리부(350)의 구성을 상세하게 설명하기로 한다.
도 6을 참조하면, DIO 메시지 수신 처리부(350)는 DIO 메시지 수신부(610), 후보 부모 노드 리스트 업데이트부(620), 부모 노드 선택부(630) 및 DAO 메시지 송신부(640)를 포함할 수 있다.
DIO 메시지 수신부(610)는 통신 장치(210)를 통해 이웃 노드들로부터 각각의 랭크, FEC 및 잔여 에너지 정보를 포함하는 DIO 메시지를 수신할 수 있다. 여기서, 수신된 DIO 메시지 포맷은 도 5를 참조하여 전술한 바와 같다.
후보 부모 노드 리스트 업데이트부(620)는 현재 수신된 DIO 메시지를 송신한 이웃 노드들(이하, “광고된(advertised) 후보 노드들”이라 칭함)에 대한 정보(예: 랭크, FEC 등)를 후보 부모 노드 리스트(이하, “후보 리스트”라 칭함)에 저장할 수 있다. 여기서, 후보 리스트는 도 2를 참조하여 전술한 메모리 장치에 저장될 수 있다.
그리고, 후보 부모 노드 리스트 업데이트부(620)는 소정의 라우팅 제약 조건(routing constraint)을 만족하지 않는 후보 노드를 후보 리스트에서 제외할 수 있다. 여기서, 소정의 라우팅 제약 조건이란 DODAG 내 특정 속성을 만족하지 않는 노드와 링크를 제거하기 위한 일종의 필터로서, 네트워크 환경이나 QoS(Quality of Service) 등을 고려하여 미리 정의될 수 있다. 소정의 라우팅 제약 조건에는, 예컨대 특정 지역에 물리적으로 위치하는 노드를 통해 데이터 패킷이 라우트되어야 한다는 것 등이 포함될 수 있다.
본 실시예의 일 측면에 따르면, 소정의 라우팅 제약 조건은 '부모 노드의 FEC가 잔여 에너지의 90% 보다 작을 것'일 수 있다.
부모 노드 선택부(630)는 후보 리스트에 포함된 광고된 후보 노드들 중에서 어느 하나를 새로운 부모 노드로 선택하거나, 또는 현재 부모 노드를 유지할 수 있다.
구체적으로, 부모 노드 선택부(630)는 후보 리스트에 포함된 후보 노드들 중에서 랭크가 최소인 어느 하나를 선택할 수 있다.
선택된 노드의 랭크가 현재 부모 노드의 랭크보다 작은 경우, 부모 노드 선택부(630)는 선택된 노드를 새로운 부모 노드로서 선택할 수 있다.
반대로, 선택된 노드의 랭크가 현재 부모 노드의 랭크 이상인 경우, 부모 노드 선택부(630)는 현재의 부모 노드를 유지할 수 있다. 이 경우, 부모 노드 선택부(630)는 선택된 노드를 후보 리스트에서 제외하고(즉, 후보 리스트 업데이트), 해당 노드에 대응하는 DIO 메시지를 페기(discard)할 수 있다. 그리고, 부모 노드 선택부(630)는 후보 리스트에 포함된 후보 노드들 중에서 랭크가 최소인 노드가 더 이상 존재하지 않을 때까지 현재 부모 노드와의 랭크 비교를 계속할 수 있다.
부모 노드 선택부(630)가 새로운 부모 노드를 선택한 경우, DAO 메시지 송신부(640)는 부모 노드로 선택된 노드에 DAO(Destination Advertisement Object) 메시지를 송신할 수 있다.
그리고, 부모 노드로 선택된 노드는 DAO 메시지를 수신함으로써, 부모-자식 관계가 정의되어 상향링크 경로가 설정되게 된다.
이상을 정리하면, DIO 메시지 수신 처리부(350)는, (1) 이웃 노드들로부터 DIO 메시지를 수신하고, (2) 수신된 DIO 메시지의 FEC 등을 이용하여 후보 부모 노드 리스트를 업데이트(생성을 포함)하고, (3) 업데이트된 후보 부모 노드 리스트를 기반으로 부모 노드를 선택한 후, (4) 선택된 부모 노드에 DAO(Destination Advertisement Object) 메시지를 송신함으로써, DODAG 내의 상향링크 경로를 설정할 수 있다.
이하, 도 7 내지 도 9를 참조하여, 본 실시예에 따른 라우팅 기법에 따라 라우팅 경로를 설정하는 방법을 상세하게 설명하기로 한다.
도 7은 본 실시예의 일 측면에 따른 라우팅 장치가 라우팅 메트릭인 FEC를 산출하는 방법을 나타내는 흐름도이다.
도 7을 참조하면, 단계 S710에서, 센서 노드는 패킷 전송 성공률(Packet Delivery Ratio: PDR)의 역수인 ETX(expected transmission count)를 메트릭으로 이용하여 링크 품질을 측정할 수 있다. 여기서, ETX는 패킷 송신에 따른 에너지 소모를 최소화하도록 라우팅 경로를 설정하는 데 이용될 수 있다. ETX를 산출하는 구체적인 방법은 도 4 및 수학식 1을 참조하여 전술한 바와 같다.
단계 S720에서, 센서 노드는 현재 버퍼 점유상태(buffer occupancy status)에 기초하여 워크로드를 측정할 수 있다.
본 실시예에 따르면, 센서 노드의 워크로드는 특정 타임 슬롯(time slot)에서 버퍼에 저장된 패킷들의 개수로서 측정될 수 있다. 센서 노드의 워크로드를 산출하는 구체적인 방법은 도 4 및 수학식 2를 참조하여 전술한 바와 같다.
단계 S730에서, 센서 노드는 패킷 송수신, 프로세싱 등으로 이미 소비한 에너지를 산출함으로써 잔여 에너지(residual energy)를 측정할 수 있다. 또한, 센서 노드는 하나의 패킷을 송신하는 데 평균적으로 소비되는 에너지 즉, 패킷당 송신 에너지를 측정할 수 있다.
단계 S740에서, 센서 노드는, 단계 S710 내지 S730에서 각각 측정된 링크 품질, 워크로드 및 잔여 에너지 정보를 이용하여, 라우팅 메트릭인 FEC(Future Energy Consumption)를 산출할 수 있다. FEC를 산출하는 구체적인 방법은 도 4 및 수학식 3을 참조하여 전술한 바와 같다.
이 때, 산출된 FEC는 센서 노드가 자신의 랭크(rank)를 설정하고, 트리클 타이머의 리던던시 상수 k를 적응적으로(adaptively) 조절하는 데 이용될 수 있다.
도 8은 본 실시예의 일 측면에 따른 라우팅 장치가 DIO 메시지를 송신하는 방법을 나타내는 흐름도이다.
도 8을 참조하면, 단계 S810에서, 센서 노드는 FEC에 기초하여 설정된 랭크 정보, FEC 및 잔여 에너지 정보를 DIO 메시지에 임베딩할 수 있다. 센서 노드의 랭크를 산출하는 구체적인 방법은 도 4 및 수학식 4를 참조하여 전술한 바와 같다.
본 실시예에 따른 DIO 메시지는 도 5를 참조하여 전술한 바와 같이, RPL 표준에서 정의된 기본 구조에 따르되, 옵션 필드(option field)에 FEC와 잔여 에너지 정보를 포함할 수 있다.
단계 S820에서, 센서 노드는 트리클 타이머를 초기화할 수 있다. 구체적으로, 트리클 타이머의 인터벌(interval) I의 최소값(Imin), 최대값(Imax) 및 초기값(I0)을 설정하고, DIO 메시지의 송신 시점 t를 [I/2,I) 구간에서 임의로 설정할 수 있다.
또한, 센서 노드는 리던던시 상수 k를 임의의 자연수로 초기화할 수 있다. 여기서, 리던던시 상수 k는 트리클 타이머의 구성 파라미터(configuration parameter)로서, DIO 메시지의 송신 빈도(transmission frequency)를 적응적으로 조절하는 데 이용될 수 있다.
단계 S830에서, 센서 노드는 잔여 에너지(residual energy) 및 FEC를 이용하여 리던던시 상수 k를 적응적으로 조절할 수 있다. 리던던시 상수 k를 산출하는 구체적인 방법은 도 3 및 수학식 5를 참조하여 전술한 바와 같다.
단계 S840에서, 트리클 타이머는 컨시스턴시 카운터 c의 값이 리던던시 상수 k 이상인지를 판단하여, 인터벌 I의 값의 증가여부를 결정할 수 있다.
단계 S840에서 판단한 결과 'c≥k'인 경우('예'), 단계 S850에서 트리클 타이머는 인터벌 I의 값을 소정의 정수 배, 예컨대 두 배 증가시켜 DIO 메시지의 송신 빈도를 감소시킬 수 있다. 이 때, 인터벌 I의 값이 최대값(Imax)에 도달한 경우, 트리클 타이머는 인터벌 I의 값을 최소값(Imin)으로 초기화할 수 있다.
반대로, 단계 S840에서 판단한 결과 'c<k'인 경우('아니오'), 센서 노드의 트리클 타이머는 인터벌 I의 값 및 DIO 메시지의 송신 빈도를 그대로 유지하고, 단계 S860으로 진행한다.
단계 S860에서, 트리클 타이머는 'c<k'인 조건(이하, “제 1 조건”이라 칭함) 및 DIO 메시지의 송신 시점 t의 도래(이하, “제 2 조건”이라 칭함)의 충족여부를 판단하여, DIO 메시지의 송신여부를 결정할 수 있다.
단계 S860에서 판단한 결과 제 1 조건 및 제 2 조건이 모두 충족되는 경우('예'), 단계 S870에서 센서 노드는 DIO 메시지를 그 하위 노드들에게 송신할 수 있다.
반대로, 단계 S860에서 판단한 결과 제 1 조건 및 제 2 조건 중 어느 하나라도 충족되지 않는 경우('아니오'), 센서 노드는 DIO 메시지를 송신할 수 없다.
도 9는 본 실시예의 다른 측면에 따른 라우팅 장치가 부모 노드를 선택하는 방법을 나타내는 흐름도이다.
참고로, 도 9에서 자식 노드란 DIO 메시지를 수신한 노드를 말하고, 부모 노드란 자식 노드에게 DIO 메시지를 송신한 이웃 노드로서, 자식 노드와 라우팅 경로를 형성하게 되는 노드를 말한다.
도 9를 참조하면, 단계 S910에서, 자식 노드는 적어도 하나의 이웃 노드로부터 랭크, FEC 및 잔여 에너지 정보를 포함하는 DIO 메시지를 수신할 수 있다.
단계 S920에서, 자식 노드는 수신된 DIO 메시지에 포함된 이웃 노드의 주소 및 FEC를 후보 부모 노드 리스트에 저장한다. 여기서, 후보 부모 노드 리스트는 도 2를 참조하여 전술한 메모리 장치에 저장될 수 있다.
단계 S930에서, 자식 노드는 후보 부모 노드 리스트에서 소정의 라우팅 제약 조건(routing constraint)을 충족하지 못하는 후보 부모 노드를 리스트에서 제외한다.
단계 S940에서, 자식 노드는 DIO 메시지를 송신한 이웃 노드 즉, 광고된 후보 노드가 후보 부모 노드 리스트에서 최소 랭크를 갖는지 여부를 판단한다.
단계 S940에서 판단한 결과 광고된 후보 노드가 최소 랭크를 갖는 경우('예'), 단계 S950으로 진행하여 광고된 후보 노드의 랭크가 현재 부모 노드의 랭크보다 작은지 여부를 판단한다.
단계 S950에서 판단한 결과 광고된 후보 노드의 랭크가 현재 부모 노드의 랭크보다 작은 경우('예'), 단계 S960에서 자식 노드는 광고된 후보 노드를 새로운 부모 노드로 선택한다.
그리고, 단계 S970에서, 자식 노드는 새로운 부모 노드에게 DAO(Destination Advertisement Object) 메시지를 송신하여, 상향링크 경로를 설정하게 된다.
단계 S940에서 판단한 결과 광고된 후보 노드가 최소 랭크를 갖지 않는 경우(“아니오”), 단계 S980에서 자식 노드는 광고된 후보 노드를 후보 부모 노드 리스트에서 제외하고, 대응되는 DIO 메시지를 폐기(discard)하고, 단계 S990으로 진행한다.
그리고, 단계 S990에서, 자식 노드는 후보 부모 노드 리스트에 포함된 광고된 후보 부모가 더 이상 존재하지 않을 때까지, 단계 S940 내지 단계 S980을 반복하여 수행할 수 있다.
이상 도 7 내지 도 9에서는, 복수의 과정을 순차적으로 수행하는 것으로 기재하고 있으나, 이는 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것이다. 다시 말해, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면, 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서, 도 7 내지 도 9에 기재된 순서를 변경하여 수행하거나 상기 복수의 과정 중 일부를 병렬적으로 수행하는 것으로 다양하게 수정 및 변경하여 적용 가능할 것이므로, 도 7 내지 도 9는 시계열적인 순서로 한정되는 것은 아니다.
한편, 도 7 내지 도 9에 도시된 과정들은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 즉, 컴퓨터가 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 송신)와 같은 저장매체를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100 : 사물인터넷 시스템
110 : 인터넷 130 : 보더 라우터
150 : 무선 센서 네트워크
151 : 싱크 노드 153 내지 159 : 센서 노드
200 : 센서 노드
210 : 통신 장치 230 : 센싱 장치
250 : 메모리 장치 270 : 전원 공급 장치
290 : 프로세싱 장치
300 : 라우팅 장치
310 : DIO 메시지 송신 처리부 330 : 트리클 타이머
350 : DIO 메시지 수신 처리부
410 : 링크 품질 측정부 420 : 워크로드 측정부
430 : 에너지 정보 측정부 440 : FEC 산출부
450 : DIO 메시지 임베딩부 460 : DIO 메시지 송신부
510 : Future Energy Consumption 530 : Residual Energy
610 : DIO 메시지 수신부
620 : 후보 부모 노드 리스트 업데이트부
630 : 후보 부모 노드 선택부 640 : DAO 메시지 송신부

Claims (20)

  1. 라우팅 장치에 있어서,
    센서 노드의 링크 품질, 워크로드(workload) 및 하나의 패킷을 송신하는 데 평균적으로 소비되는 에너지인 패킷당 전송 에너지를 고려하여 라우팅 메트릭(routing metric)인 FEC(Future Energy Consumption)를 산출하는 FEC 산출부;
    상기 FEC에 기초하여 상기 센서 노드의 랭크(rank)를 설정하고, 상기 랭크, 상기 FEC 및 상기 센서 노드의 잔여 에너지(residual energy) 정보를 DIO(DODAG Information Object) 메시지에 임베딩(embedding)하는 DIO 메시지 임베딩부; 및
    상기 DIO 메시지를 트리클 타이머(trickle timer)의 제어 하에 이웃 노드들에게 송신하는 DIO 메시지 송신부를 포함하되,
    상기 트리클 타이머는,
    구성 파라미터(configuration parameter)인 리던던시 상수 k를 상기 센서 노드의 에너지 상황에 따라 적응적으로 가변시켜 상기 DIO 메시지의 송신 빈도(transmission frequency)를 조절하는 것을 특징으로 하는
    라우팅 장치.
  2. 제 1 항에 있어서,
    상기 링크 품질은,
    상기 센서 노드의 ETX(Expected Transmission Count) 메트릭(metric)을 산출함으로써 측정되는
    라우팅 장치.
  3. 제 2 항에 있어서,
    상기 ETX는,
    상기 링크를 통한 패킷 전송 성공률(Packet Delivery Ratio: PDR)의 역수를 계산하여 산출되는
    라우팅 장치.
  4. 제 1 항에 있어서,
    상기 워크로드는,
    상기 센서 노드의 버퍼(buffer)에서, 상기 센서 노드가 직접 생성한 패킷들과 자식 노드들로부터 수신된 패킷들의 총 개수에서 드롭(drop)된 패킷들의 개수를 차감하여 산출되는
    라우팅 장치.
  5. 제 1 항에 있어서,
    상기 FEC는,
    상기 링크 품질, 상기 워크로드, 상기 패킷당 전송 에너지를 곱하여 산출되는
    라우팅 장치.
  6. 삭제
  7. 제 1 항에 있어서,
    상기 리던던시 상수 k는,
    상기 FEC 및 상기 잔여 에너지 정보를 이용하여 가변되는
    라우팅 장치.
  8. 제 1 항에 있어서,
    상기 트리클 타이머는,
    상기 센서 노드가 소정의 인터벌 동안 일관된(consistent) 메시지를 오버히어링(overhearing)하는 횟수와 상기 리던던시 상수 k의 비교 결과에 기초하여 상기 DIO 메시지의 송신 빈도를 조절하는
    라우팅 장치.
  9. 제 8 항에 있어서,
    상기 트리클 타이머는,
    상기 일관된 메시지를 오버히어링 하는 횟수가 상기 리던던시 상수 k보다 큰 경우, 상기 트리클 타이머의 인터벌(interval)의 길이를 소정의 배수로 증가시켜 상기 DIO 메시지의 송신 빈도를 감소시키는
    라우팅 장치.
  10. 라우팅 장치에 있어서,
    이웃 노드들로부터 각각의 FEC(Future Energy Consumption) 및 잔여 에너지(residual energy) 정보를 포함하는 DIO(DODAG Information Object) 메시지를 수신하는 DIO 메시지 수신부;
    상기 이웃 노드들로부터 소정의 라우팅 제약 조건(routing constraint)을 만족하지 않는 노드들을 필터링하여 후보 부모 노드들을 구성하는 후보 부모 노드 리스트 업데이트부; 및
    상기 후보 부모 노드들과 현재 부모 노드 중에서 랭크(rank)가 최소인 노드를 부모 노드로 선택하는 부모 노드 선택부를 포함하되,
    상기 FEC는 상기 이웃 노드들 각각의 링크 품질, 워크로드(workload) 및 패킷당 전송 에너지를 고려하여 산출되는 라우팅 메트릭(routing metric)인
    라우팅 장치.
  11. 제 10 항에 있어서,
    상기 라우팅 제약 조건은,
    상기 FEC가 대응되는 상기 잔여 에너지의 소정의 비율보다 작을 것인
    라우팅 장치.
  12. 무선 센서 네트워크의 라우팅 방법에 있어서,
    센서 노드의 링크 품질, 워크로드(workload) 및 하나의 패킷을 송신하는 데 평균적으로 소비되는 에너지인 패킷당 전송 에너지를 고려하여 라우팅 메트릭(routing metric)인 FEC(Future Energy Consumption)를 산출하는 단계;
    상기 FEC에 기초하여 상기 센서 노드의 랭크(rank)를 설정하고, 상기 랭크, 상기 FEC 및 상기 센서 노드의 잔여 에너지(residual energy) 정보를 DIO(DODAG Information Object) 메시지에 임베딩(embedding)하는 단계;
    트리클 타이머(trickle timer)의 구성 파라미터(configuration parameter)인 리던던시 상수 k를 상기 센서 노드의 에너지 상황에 따라 적응적으로 가변시켜, 상기 DIO 메시지의 송신 빈도(transmission frequency)를 조절하는 단계; 및
    상기 DIO 메시지를 상기 트리클 타이머의 제어 하에 이웃 노드들에게 송신하는 단계를 포함하는
    라우팅 방법.
  13. 제 12 항에 있어서,
    상기 링크 품질은,
    상기 링크를 통한 패킷 전송 성공률(Packet Delivery Ratio: PDR)의 역수로 정의되는 ETX(Expected Transmission Count) 메트릭(metric)을 산출함으로써 측정되는
    라우팅 방법.
  14. 제 12 항에 있어서,
    상기 워크로드는,
    상기 센서 노드의 버퍼(buffer)에서, 상기 센서 노드가 직접 생성한 패킷들과 자식 노드들로부터 수신된 패킷들의 총 개수에서 드롭(drop)된 패킷들의 개수를 차감하여 산출되는
    라우팅 방법.
  15. 제 12 항에 있어서,
    상기 리던던시 상수 k는,
    상기 FEC 및 상기 잔여 에너지 정보를 이용하여 가변되는
    라우팅 방법.
  16. 제 12 항에 있어서,
    상기 트리클 타이머는,
    상기 센서 노드가 소정의 인터벌 동안 일관된(consistent) 메시지를 오버히어링(overhearing)하는 횟수와 상기 리던던시 상수 k의 비교 결과에 기초하여 상기 DIO 메시지의 송신 빈도를 조절하는
    라우팅 방법.
  17. 제 16 항에 있어서,
    상기 트리클 타이머는,
    상기 일관된 메시지를 오버히어링 하는 횟수가 상기 리던던시 상수 k보다 큰 경우, 상기 트리클 타이머의 인터벌(interval) 길이를 소정의 배수로 증가시켜 상기 DIO 메시지의 송신 빈도를 감소시키는
    라우팅 방법.
  18. 무선 센서 네트워크의 라우팅 방법에 있어서,
    이웃 노드들로부터 각각의 FEC(Future Energy Consumption) 및 잔여 에너지(residual energy) 정보를 포함하는 DIO(DODAG Information Object) 메시지를 수신하는 단계;
    상기 DIO 메시지를 송신한 이웃 노드들 중에서 소정의 라우팅 제약 조건(routing constraint)을 만족하는 노드들을 이용하여 후보 부모 노드들을 구성하는 단계; 및
    상기 후보 부모 노드들과 현재 부모 노드 중에서 랭크(rank)가 최소인 노드를 부모 노드로 선택하는 단계를 포함하되,
    상기 FEC는 상기 이웃 노드들 각각의 링크 품질, 워크로드(workload) 및 패킷당 전송 에너지를 고려하여 산출되는 라우팅 메트릭(routing metric)인
    라우팅 방법.
  19. 제 18 항에 있어서,
    상기 소정의 라우팅 제약 조건은,
    상기 FEC가 대응되는 상기 잔여 에너지의 소정의 비율보다 작을 것인
    라우팅 방법.
  20. 제 18 항에 있어서,
    상기 링크 품질은,
    상기 링크를 통한 패킷 전송 성공률(Packet Delivery Ratio: PDR)의 역수로 정의되는 ETX(Expected Transmission Count) 메트릭(metric)을 산출함으로써 측정되는
    라우팅 방법.
KR1020180023542A 2018-02-27 2018-02-27 무선 센서 네트워크에서 노드 에너지를 고려한 라우팅 장치 및 방법 KR101925022B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180023542A KR101925022B1 (ko) 2018-02-27 2018-02-27 무선 센서 네트워크에서 노드 에너지를 고려한 라우팅 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180023542A KR101925022B1 (ko) 2018-02-27 2018-02-27 무선 센서 네트워크에서 노드 에너지를 고려한 라우팅 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101925022B1 true KR101925022B1 (ko) 2019-02-22

Family

ID=65584699

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180023542A KR101925022B1 (ko) 2018-02-27 2018-02-27 무선 센서 네트워크에서 노드 에너지를 고려한 라우팅 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101925022B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076315A (zh) * 2021-04-01 2021-07-06 洪璐 一种在区块链上的物联网的智能家居数据上链方法及系统
KR20220134253A (ko) 2021-03-26 2022-10-05 숭실대학교산학협력단 태양 에너지 수집형 무선 센서 네트워크에서 ctp를 이용한 라우팅 방법, 이를 수행하기 위한 기록 매체 및 장치
KR102459830B1 (ko) * 2021-05-24 2022-10-26 영남대학교 산학협력단 Q-러닝 기반의 사물 인터넷 라우팅 방법, 이를 수행하기 위한 기록 매체 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090099636A (ko) * 2008-03-18 2009-09-23 주식회사 케이티 센서 네트워크에서의 패킷 라우팅 방법
KR20140098306A (ko) * 2013-01-30 2014-08-08 중앙대학교 산학협력단 애드혹 네트워크에서 메시지 라우팅 방법 및 그 장치
KR20140098301A (ko) * 2013-01-30 2014-08-08 중앙대학교 산학협력단 무선 애드 혹 네트워크에서 에너지 효율적 라우팅 방법 및 장치
KR101678954B1 (ko) * 2015-09-21 2016-11-23 부산대학교 산학협력단 Rpl 기반 사물인터넷 무선 네트워크에서 노드 병목 및 전송 경로 품질을 고려한 라우팅 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090099636A (ko) * 2008-03-18 2009-09-23 주식회사 케이티 센서 네트워크에서의 패킷 라우팅 방법
KR20140098306A (ko) * 2013-01-30 2014-08-08 중앙대학교 산학협력단 애드혹 네트워크에서 메시지 라우팅 방법 및 그 장치
KR20140098301A (ko) * 2013-01-30 2014-08-08 중앙대학교 산학협력단 무선 애드 혹 네트워크에서 에너지 효율적 라우팅 방법 및 장치
KR101678954B1 (ko) * 2015-09-21 2016-11-23 부산대학교 산학협력단 Rpl 기반 사물인터넷 무선 네트워크에서 노드 병목 및 전송 경로 품질을 고려한 라우팅 장치 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220134253A (ko) 2021-03-26 2022-10-05 숭실대학교산학협력단 태양 에너지 수집형 무선 센서 네트워크에서 ctp를 이용한 라우팅 방법, 이를 수행하기 위한 기록 매체 및 장치
CN113076315A (zh) * 2021-04-01 2021-07-06 洪璐 一种在区块链上的物联网的智能家居数据上链方法及系统
KR102459830B1 (ko) * 2021-05-24 2022-10-26 영남대학교 산학협력단 Q-러닝 기반의 사물 인터넷 라우팅 방법, 이를 수행하기 위한 기록 매체 및 장치

Similar Documents

Publication Publication Date Title
JP4834102B2 (ja) 無線ネットワークにおけるルーティングに対するリンクコスト判定方法及び装置
JP4024246B2 (ja) マルチチャネル移動体アドホックネットワーク
KR101925022B1 (ko) 무선 센서 네트워크에서 노드 에너지를 고려한 라우팅 장치 및 방법
US20110164527A1 (en) Enhanced wireless ad hoc communication techniques
WO2010028311A1 (en) Enhanced wireless ad hoc communication techniques
JP2005524315A (ja) 移動体アドホック・ネットワークにおける許可制御
JP2010130685A (ja) パケットを送信元ノードから中継ノードを介して宛先ノードへ配信するための最適ルートを求める方法
EP3573372B1 (en) A role selection method for wireless communication systems
KR100768588B1 (ko) 애드 혹 무선 네트워크에서 예비 클러스터를 이용한토폴로지 관리 방법 및 이를 구현하기 위한 프로그램을기록한 기록매체
CN109818866A (zh) 一种能量意识和多维参数感知的服务质量保障路由方法
JP2010119086A (ja) パケットを送信元ノードから中継ノードを介して宛先ノードへルーティングする方法
Khedr et al. SEP-CS: Effective Routing Protocol for Heterogeneous Wireless Sensor Networks.
Mu An improved AODV routing for the zigbee heterogeneous networks in 5G environment
CN103338495A (zh) 基于leps的双向能量均衡无线传感网路由方法
Kansal et al. On sensor network lifetime and data distortion
Mastorakis et al. An energy-efficient routing scheme using backward traffic difference estimation in cognitive radio networks
Guerriero et al. A biobjective optimization model for routing in mobile ad hoc networks
WO2016046869A1 (ja) 通信品質計測方法、及び通信システム
Sarkar et al. A survey on power aware routing protocols for mobile ad-hoc network
Wenning et al. Opportunistic distance-aware routing in multi-sink mobile wireless sensor networks
Chaudhari et al. Multilayered distributed routing for power efficient MANET performance
Kalyani et al. Measurement and analysis of QoS parameters in RPL network
Mahyoub et al. Reliable and low-latency routing mechanism for IoT-based networks
Kumar et al. Optimal multipath routing using BFS for wireless sensor networks
KR101670809B1 (ko) 다중 홉 구조 무선통신 시스템에서 부하 분산을 고려한 부모 노드 선택 방법 및 이를 위한 장치