KR101663994B1 - 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법, 이를 수행하기 위한 기록 매체 및 장치 - Google Patents

사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법, 이를 수행하기 위한 기록 매체 및 장치 Download PDF

Info

Publication number
KR101663994B1
KR101663994B1 KR1020160050853A KR20160050853A KR101663994B1 KR 101663994 B1 KR101663994 B1 KR 101663994B1 KR 1020160050853 A KR1020160050853 A KR 1020160050853A KR 20160050853 A KR20160050853 A KR 20160050853A KR 101663994 B1 KR101663994 B1 KR 101663994B1
Authority
KR
South Korea
Prior art keywords
node
bloom filter
nodes
information
routing protocol
Prior art date
Application number
KR1020160050853A
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 KR1020160050853A priority Critical patent/KR101663994B1/ko
Application granted granted Critical
Publication of KR101663994B1 publication Critical patent/KR101663994B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • H04W4/005
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Abstract

사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법은, 각 노드로부터, 노드들간의 연결 정보를 나타내는 링크(rink) 식별자 및 루트 노드로부터의 깊이 정보와 부모 노드로부터 자식 노드의 상대적 위치(relative location) 정보를 나타내는 랭크(rank) 식별자를 포함하는 제어 메시지(DIO; DAG Information Object)를 주기적으로 전송하는 단계; 상기 제어 메시지를 수신한 노드들은 블룸 필터(Bloom filter)를 이용하여 노드 구분자들을 생성하는 단계; 상기 노드 구분자들에 따라 소스 노드로부터 목적지 노드까지 생성할 수 있는 복수개의 라우팅 경로를 구성하는 단계; 및 상기 목적지 노드까지 전달 확률이 가장 높은 라우팅 경로에 포함된 노드는 복수개의 패킷들을 선형 방정식의 형태로 조합하여 선형 네트워크 코딩 방식으로 전송하는 단계를 포함한다. 이에 따라, 블룸 필터 및 향상된 랭크 개념을 활용하여 경량화 자동 주소 설정을 포함한 IPv6 이웃 노드 탐색 방법 및 경량화된 라우팅 프로토콜을 제공하여 전체 제어 메시지의 오버헤드를 줄일 수 있다.

Description

사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법, 이를 수행하기 위한 기록 매체 및 장치{METHOD FOR PROVIDING AN LIGHT-WEIGHT ROUTING PROTOCOL IN A IoT CAPABLE INFRA-LESS WIRELESS NETWORKS, RECORDING MEDIUM AND DEVICE FOR PERFORMING THE METHOD}
본 발명은 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법, 이를 수행하기 위한 기록 매체 및 장치에 관한 것으로서, 더욱 상세하게는 향상된 RPL(IPv6 Routing Protocol for Low-power Lossy Networks)를 기반으로 블룸 필터 및 향상된 랭크 개념을 활용하여 경량화 자동 주소 설정을 포함한 IPv6 이웃 노드 탐색 기법 및 경량화된 라우팅 프로토콜을 제안한다.
다양한 서비스들의 수요 및 최근 스마트 기기들의 발전 등은 인간 중심이었던 인터넷을, 인간의 삶을 보다 스마트하게 만드는 지능화된 사물 인터넷(Internet of Thing: IoT) 환경으로 변화시켰다. IoT가 응용될 수 있는 단말은 저전력, 초소형 및 경량적이어야 한다는 특성 때문에 지금까지 폐쇄적이고 개별적으로 이용되어오던 센서 네트워크에 일차적으로 접목 가능하다.
센싱된 정보가 스마트폰, 스마트 TV와 같은 다양한 스마트 기기들과 연동된다면 새로운 개인 중심의 생활밀착형 서비스를 제공할 수 있고, 특히 2020년에는 약 240억대의 단말이 인터넷에 연결될 수 있기 때문에 이를 통해 스마트 홈, 스마트 그리드, 헬스케어, 지능형 교통서비스 등과 같은 IoT 기반의 다양한 서비스가 창출될 수 있다.
물론, 최근 스마트 기기들은 가속도계, GPS, 근접센서, 카메라 등 자체 내장된 센서 등을 활용하여 새로운 응용 서비스를 만들어 내는 능력과 프레임워크를 제공하고 있기 때문에, 사용자와 개발자의 편의에 따라 내장 센서의 값을 활용할 수 있다. 하지만, 스마트폰 센서의 크기나 가격, 제한된 공간 등으로 다양한 센서들을 모두 내장시킬 수는 없으며, 따라서 사용자들의 지속적인 욕구를 충족시키기엔 한계가 있다.
이런 이유로 인해 최근에는 사물 인터넷과의 연동을 통해 외부에 위치하고 있는 다양한 센서를 활용하여 정보를 수집하거나 스마트 기기에서 원격으로 제어 할 수 있는 기술개발에 대한 관심과 논의가 뜨거운 상황이다. 일례로 이동성을 가진 스마트폰들은 주변에 산재해 있는 고정된 다양한 환경 및 기상 센서들로부터 정보를 수집하여 현재 위치의 실시간 온도 및 습도를 포함한 환경 정보를 다양하게 활용할 수 있다.
최근에는, 인프라가 없는(Infra-less) 환경에서 디바이스들끼리 정보를 직접 주고받을 수 있는 기기 간 직접(device-to-device) 통신기술들이 다양한 무선망에서 발전되고 있다. 셀룰러 네트워크에서는 기기 간 직접통신 기술로써 3GPP에서 LTE(Long-Term Evolution)에 직접통신을 적용하기 위해 최근 표준화를 시작했고, 비면허 대역에서는 기존의 무선랜 표준을 확장하여 와이파이 다이렉트의 802.11u 기술이 개발되었다.
또한, IEEE 802.15.8에서는 대상인식 통신 표준화 작업이 진행 중이다. 기기 간 직접통신의 대표적인 장점들은, ⅰ) AP 및 기지국등과 같은 중간 노드를 거칠 필요가 없기 때문에 전송횟수, 통신거리 및 지연시간 감소를 시킬 수 있고, ⅱ) IoT 단말기들끼리 센싱된 정보, 이웃탐색 및 IPv6 주소 등의 새로운 종류의 근접 기반 자원들도 서로 쉽게 공유할 수 있는 환경을 새로 만들 수 있다는 점 등을 들 수 있다.
하지만, IoT 환경에서는 단말기가 특히 저전력, 경량화 및 불안정한 통신 상황 등의 특성들을 가지기 때문에 기존의 자동 주소 설정을 포함한 IPv6 이웃발견(Neighbor Discovery) 기법, 기기 간 통신 및 라우팅 프로토콜과 다르게 디자인되어야 한다.
근접 기반 경량화 자동 주소 설정 및 IPv6 이웃발견 기법은 두 개 이상의 IoT 단말기들이 물리적으로 근접한 위치에 있을 때, 각 IoT 단말기가 경량화된 IPv6 주소를 자동으로 설정하고 상대 IoT를 발견 후 기반 시설을 거치지 않고 IoT 기기 간 직접통신을 하는 것이다. 이러한 근접 기반 경량화 자동 주소 설정 및 IPv6 이웃 발견기법을 구현하기 위해서는, 우선적으로 수많은 주변 IoT들이 자동으로 각각 설정한 IPv6 주소가 겹치지 서로 겹치지 않는지 찾아내는 디스커버리 프로토콜을 설계하는 것이 매우 중요하다. 하지만, 적절한 시간 내에, 가능한 적은 양의 무선 자원을 사용하고, 배터리 소모를 최소화하면서 경량화 자동 주소 설정을 탐색하고 목적지까지 데이터를 전송해줄 수 있는 프로토콜을 설계하는 것은 간단한 일이 아니다.
특히, 이러한 방식으로 수많은 IoT 기기들이 원하는 IoT 단말기 및 중복되지 않는 IPv6 주소를 발견하지 못하거나 목적지까지 경로 유지가 되지 않을 경우, 접속을 끊고 다시 연결해야 하는 과정을 반복해야 하고 이러한 과정에서 많은 양의 유니캐스트 정보가 전달되어야 하므로 매우 비효율적이라 할 수 있다.
KR 2013-0068051 A KR 1570933 B1
IEEE, Wireless LAN medium access control(MAC) and physical layer(PHY) specifications amendment 9: interworking with external networks, IEEE Std. 802.11u, 2011. IETF, "RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks", RFC 6550, Mar., 2012.
이에, 본 발명의 기술적 과제는 이러한 점에서 착안된 것으로 본 발명의 목적은 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법을 제공하는 것이다.
본 발명의 다른 목적은 상기 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 기록 매체를 제공하는 것이다.
본 발명의 또 다른 목적은 상기 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법을 수행하기 위한 장치를 제공하는 것이다.
상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법은, 각 노드로부터, 노드들간의 연결 정보를 나타내는 링크(rink) 식별자 및 루트 노드로부터의 깊이 정보와 부모 노드로부터 자식 노드의 상대적 위치(relative location) 정보를 나타내는 랭크(rank) 식별자를 포함하는 제어 메시지(DIO; DAG Information Object)를 주기적으로 전송하는 단계; 상기 제어 메시지를 수신한 노드들은 블룸 필터(Bloom filter)를 이용하여 노드 구분자들을 생성하는 단계; 상기 노드 구분자들에 따라 소스 노드로부터 목적지 노드까지 생성할 수 있는 복수개의 라우팅 경로를 구성하는 단계; 및 상기 목적지 노드까지 전달 확률이 가장 높은 라우팅 경로에 포함된 노드는 복수개의 패킷들을 선형 방정식의 형태로 조합하여 선형 네트워크 코딩 방식으로 전송하는 단계를 포함한다.
본 발명의 실시예에서, 상기 제어 메시지는 상기 링크 식별자 및 상기 랭크 식별자를 (x, y) 형태로 포함할 수 있다.
본 발명의 실시예에서, 상기 노드 구분자들에 따라 소스 노드로부터 목적지 노드까지 생성할 수 있는 복수개의 라우팅 경로를 구성하는 단계는, 상기 랭크 식별자가 특정값 이하인 조건에서, 생성할 수 있는 다중 경로를 생성할 수 있다.
본 발명의 실시예에서, 각 노드는, 소스 노드와 목적지 노드 사이에 설정된 라우팅 경로 상의 이웃 노드들에 대한 정보를 축약된 블룸 필터 코드로 표현하여 블룸 필터 테이블에서 관리하는 단계를 더 포함할 수 있다.
본 발명의 실시예에서, 상기 블룸 필터 테이블에는 각 자식 노드들의 상대적인 위치를 고려한 노드 블룸 필터 값과 해당 노드까지 데이터를 전송될 때 거친 노드들의 전체 경로를 함축한 블룸 필터 값을 저장할 수 있다.
본 발명의 실시예에서, 상기 목적지 노드는 선형 방정식의 변수 개수만큼 수신된 선형 방정식들을 조합하여 패킷을 디코딩하는 단계를 더 포함할 수 있다.
본 발명의 실시예에서, 상기 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법은, RPL(IPv6 Routing Protocol for Low-power Lossy Networks) 도메인 내에서 수행될 수 있다.
상기한 본 발명의 다른 목적을 실현하기 위한 일 실시예에 따른 컴퓨터로 판독 가능한 저장 매체에는, 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법을 수행하기 위한 컴퓨터 프로그램이 기록되어 있다.
상기한 본 발명의 또 다른 목적을 실현하기 위한 일 실시예에 따른 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 장치는, 노드들간의 연결 정보를 나타내는 링크(rink) 식별자 및 루트 노드로부터의 깊이 정보와 부모 노드로부터 자식 노드의 상대적 위치(relative location) 정보를 나타내는 랭크(rank) 식별자를 포함하는 제어 메시지(DIO; DAG Information Object)를 생성하는 DIO 생성부; 상기 제어 메시지를 주기적으로 전송하는 DIO 전송부; 타 노드로부터 제어 메시지를 수신한 노드들은 블룸 필터(Bloom filter)를 이용하여 노드 구분자들을 생성하는 블룸 필터부; 상기 노드 구분자들에 따라 소스 노드로부터 목적지 노드까지 생성할 수 있는 복수개의 라우팅 경로를 구성하는 다중 경로 형성부; 및 상기 목적지 노드까지 전달 확률이 가장 높은 라우팅 경로에 포함된 경우, 복수개의 패킷들을 선형 방정식의 형태로 조합하여 선형 네트워크 코딩 방식으로 전송하는 선형 네트워크 코딩부를 포함한다.
본 발명의 실시예에서, 상기 제어 메시지는 상기 링크 식별자 및 상기 랭크 식별자를 (x, y) 형태로 포함할 수 있다.
본 발명의 실시예에서, 상기 다중 경로 형성부는, 상기 랭크 식별자가 특정값 이하인 조건에서, 생성할 수 있는 다중 경로를 생성할 수 있다.
본 발명의 실시예에서, 상기 블룸 필터부는, 소스 노드와 목적지 노드 사이에 설정된 라우팅 경로 상의 이웃 노드들에 대한 정보를 축약된 블룸 필터 코드로 표현하여 블룸 필터 테이블에서 관리하고, 상기 블룸 필터 테이블에는 각 자식 노드들의 상대적인 위치를 고려한 노드 블룸 필터 값과 해당 노드까지 데이터를 전송될 때 거친 노드들의 전체 경로를 함축한 블룸 필터 값을 저장할 수 있다.
본 발명의 실시예에서, 상기 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 장치는, RPL(IPv6 Routing Protocol for Low-power Lossy Networks) 도메인 내에서 적어도 하나의 노드에 형성될 수 있다.
이와 같은 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법에 따르면, 해시함수(hash function) 기반 블룸 필터 표현법을 활용하여 노드들끼리 주고 받는 메시지량을 줄이는 것을 물론 노드 식별주소, 이웃 발견 및 라우팅 경로 등을 경량화하게 모두 표현하여 궁극적으로 전체 제어 메시지의 오버헤드를 줄일 수 있다. 또한, 저전력 손실 네트워크에서 경량화된 주소를 가진 IoT 단말기들이 RPL(Routing Protocol for Low-power and lossy networks) 기반으로 동작할 때 루프, 경로 손실 등과 같은 문제가 생겨도 유연하고 작은 오버헤드로 경로를 다시 재탐색하여 빠른 시간 내에 원하는 이웃 IoT 단말기를 찾아 목적지까지 데이터를 견고하게 전송할 수 있다.
도 1은 본 발명의 일 실시예에 따른 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법의 흐름도이다.
도 2는 RPL에서 전달되는 DODAGs의 형태를 보여주는 도면이다.
도 3은 로컬 링크 정보 및 랭크를 담은 DAG Information Object(DIO)라는 는 제어 메시지를 보여주는 도면이다.
도 4는 본 발명에 따른 경량화 라우팅 프로토콜을 위한 IPv6 주소 설정을 위한 제어 메시지를 보여주는 도면이다.
도 5는 블룸 필터 결과 생성된 노드 구분자들을 바탕으로 IPv6 주소를 대신하여 노드를 식별하는 과정을 보여주는 도면이다.
도 6은 소스 노드에서 목적지 노드까지 데이터를 전송할 수 있는 다양한 경로가 존재할 때, 각 노드를 10비트의 블룸 필터로 표현한 멀티 홉 시나리오를 보여주는 도면이다.
도 7은 소스 노드에서 목적지 노드의 전 노드인 (1,0)까지 데이터를 전송할 수 있는 각각의 다중 경로들을 블룸 필터 테이블에서 관리하는 과정을 보여주는 도면이다.
도 8은 무선 링크 에러가 정규 분포(normal distribution)를 따를 때 누적분포함수를 보여주는 도면이다.
도 9는 무선 링크 에러가 로그 정규 분포(log-normal distribution)를 따를 때 누적분포함수를 보여주는 도면이다.
도 10은 본 발명의 일 실시예에 따른 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 장치의 블록도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법의 흐름도이다.
본 발명에서는 해시함수(hash function) 기반으로 블룸 필터 표현법을 활용하여 노드들끼리 주고 받는 메시지량을 줄이는 것을 물론 노드식별 주소, 이웃 발견 및 라우팅 경로 등을 경량화하게 모두 표현하여 궁극적으로 전체 제어 메시지의 오버헤드를 줄인다.
또한, 저전력 손실 네트워크에서 경량화된 주소를 가진 IoT 단말기들이 RPL(Routing Protocol for Low-power and lossy networks) 기반으로 동작할 때 루프, 경로 손실 등과 같은 문제가 생겨도 유연하고 작은 오버헤드로 경로를 다시 재탐색하여 빠른 시간 내에 원하는 이웃 IoT단말기를 찾아 목적지까지 데이터를 견고하게 전송할 수 있다.
도 1을 참조하면, 본 실시예에 따른 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법은, 각 노드로부터, 노드들간의 연결 정보를 나타내는 링크(rink) 식별자 및 루트 노드로부터의 깊이 정보 및 부모 노드로부터 자식 노드의 상대적 위치(relative location) 정보를 나타내는 랭크(rank) 식별자를 포함하는 제어 메시지(DIO; DAG Information Object)를 주기적으로 전송한다(단계 S10).
IoT기반 저전력 통신을 위한 라우팅 프로토콜은, 경로설정을 위한 제어 메시지관점(control plane) 및 데이터 전송관점(data plane)에 따라 나뉘는데, 제어 메시지관점 프로토콜 중 RPL(IPv6 Routing Protocol for Low-power Lossy Networks)은 IETF의 ROLL(Routing Over Low-power and Lossy networks) 워킹 그룹에서 표준화를 진행 중인 IPv6 라우팅 프로토콜로 Ripple(리플)이라 읽는다.
RPL은 IEEE 802.15.4 전력선 통신 등 저전력과 잡음이 매우 심한 네트워크 환경에 적합하도록 설계되었으며, 여러 응용들의 다양한 요구사항을 수용하기 위해 다양한 라우팅 메트릭을 지원한다. 이를 위하여 각 응용의 요구조건을 달성하기 위한 라우팅 메트릭, 경로 최적화 등에 해당하는 기능은 Objective Function(OF)이라 하여 분리하였으며 표준에서 정의하는 내용들은 다양한 OF에 공통적으로 사용하는 일반적인 내용들을 정의하고 있다.
도 2를 참조하면, RPL객체는 목적지 기반 방향성은 있지만 사이클이 없는 여러 개의 그래프(DODAGs: Destination Oriented Directed Acyclic Graphs)로 구성된다. 노드의 랭크는 도 3과 같이 루트 DODAG로부터 얼마나 멀리 위치하고 있는지를 알려준다. DODAGs를 만들기 위해 각 노드들은 로컬 링크 정보 및 랭크 정보를 담은 DAG Information Object(DIO)라는 제어 메시지를 주기적으로 전송한다.
DIO를 수신한 노드들은 DODAG루트까지 최소의 비용으로 전송할 수 있는 부모 노드를 선택하기 위해서 새로운 DODAG에 참여하거나 기존의 DODAG를 유지한다. 또한, DIO메시지 외에 DIS(DAG Information Solicitation), DAO(Destination Advertisement Object) 등 제어 메시지들이 RPL이 동작하는데 추가로 필요하다.
RPL은 크게 데이터 저장 금지 모드(non-storing mode), 데이터 저장 가능 모드(storing mode) 및 데이터가 위로 전송되는 것을 막는 기법 이렇게 3가지 전송기법이 있다. 저장 금지 모드에서는 근접한 말단 노드들끼리 통신을 하고자 하는 경우에도 DODAG루트까지 올라갔다가 데이터가 수신 노드에게 전송되어야 한다는 특징이 있고, 저장 모드에서는 루트까지 올라가지 않아도 공유하고 있는 근접 상위 노드만 통과하여 해당 노드에게 데이터를 전송할 수 있다는 특징이 있다.
하지만, 어떤 타입이든 RPL에서는 노드들이 에너지를 절약하기 위해서 잠자는 모드(sleeping mode)로 들어가서 제때 응답을 안 하거나 저전력 및 데이터 손실이 존재할 수 있는 환경이기 때문에 데이터 성공률이 매우 낮은 편이다. 그 결과 데이터 전송에 문제가 생긴 경우, DIO제어 메시지를 활용하여 문제를 알리고 해결한다. 그러나, RPL에서는 루프문제(loop problem)를 완벽하게 해결할 수 없다.
따라서, 루프문제가 발생되면 실시간으로 탐지하여 문제 있는 부분을 유연하게 피하고(loosely avoidance) DIO, DIS 및 DAO제어 메시지들을 활용하여 작은 오버헤드로 최대한 빨리 해결 하는 게 필요하다. 또한, 루프문제가 발생했을 경우, DIO poisoning이라는 방식으로 문제를 해결하려고 하지만 문제가 생길 때마다 매번 DODAG들을 새로 유지하고 업데이트하는데 오버헤드가 들기 때문에 완벽한 해결책이 되지 못한다.
저전력 손실 네트워크를 구성하는 LLN(Low-power and Lossy Networks) 라우터는 한정된 메모리를 사용하는 제한 조건을 가지고 있기 때문에, 목적지 경로 정보를 유지할 수 없으며 다만 적은 수의 디폴트 라우터 정보만을 유지한다. 따라서, 제한된 환경에서도 LLN 라우터가 LLN 내에 목적지까지의 연결성 정보 및 데이터그램 전달을 위한 경로 정보를 유지해야 한다. 더불어, 데이터그램 전달을 위해 IPv6 소스 라우팅이 필요하다.
이에, 본 발명에서는 기기 간 통신(Infra-less) 환경에서 RPL 라우팅 도메인 내에서 RPL 라우터들끼리 데이터그램 전달을 위해 IoT 단말기의 경량화(light-weight) 자동 주소 설정을 포함한 IPv6 이웃 발견 기법 및 라우팅 프로토콜을 제안한다.
기존 연구들은 데이터를 목적지로 경량화하게 전송하기 위해서 제어 메시지 타입을 다양하게 구분하거나 주기적으로 주고받아 데이터 전송 전체 경로를 설정하는 데 초점을 맞추었다. 반면, 본 발명에서 제안하는 방법은 블룸 필터 표현법을 활용하여 노드들끼리 주고받는 메시지량을 줄이는 것을 물론 노드식별 주소, 이웃 발견 및 라우팅 경로 등을 경량화하게 모두 표현하여 궁극적으로 전체 제어 메시지의 오버헤드를 줄였다.
IoT 단말기들이 급격하게 증가되고 초연결성을 지원하기 위해서는 센싱 데이터, IPv6 주소 및 이웃탐색 등의 주고받는 메시지량이 급격하게 증가될 것이다. 반면, IoT단말기들 및 LLN라우터들은 초경량화, 저전력 및 손실 등의 특성이 있기 때문에 최소한의 데이터를 저장하고 있어야 하고, 목적지까지 일관된 경로로 데이터를 전송하는 것은 어려운 일이다.
따라서, 노드식별자에 주소를 압축하여 의미는 부여하되 경량화된 표기법이 필요하다. 경량화된 IPv6 주소 설정을 위해, 본 발명에서는 블룸 필터 및 향상된 랭크기법을 활용한다. 기존의 RPL 기법에서는 데이터 전송 레벨을 구분하기 위해 루트노드로부터 깊이가 얼마나 되는지 나타내는 랭크(rank)라는 척도만 활용했다.
하지만, 본 발명에서는 도 4와 같이, 부모 노드로부터 자식 노드의 상대적인 위치를 구분해주는 2번째 새로운 첨자(index)인 상대적 위치(relative location) 정보를 향상된 랭크로 추가한다.
예를 들어, (3,0)은 랭크 식별자가 3이고, 상대적인 부모 노드(2,0)로부터 왼쪽에 위치한 노드를 의미한다. 반면에, (3,1)은 랭크 식별자가 역시 3이지만 (2,0) 노드로부터 오른쪽에 위치한 노드를 의미한다. RPL 기법에서는 같은 랭크를 가진 이웃 노드는 루트노드로부터 해당 IoT노드까지 동일한 레벨에 존재한다는 것을 의미한다. 따라서, 루프문제를 피하고 견고하게 데이터를 전송하기 위해서는 랭크가 낮은 이웃 노드들만 고려할 수 있다.
본 발명에서 제안하는 향상된 RPL(enhanced RPL: eRPL) 기법에서는 랭크 식별자가 같거나 낮은 조건에서 상대적 위치값이 같거나, 크거나, 작아지거나 상관없이 다양한 조합을 반복하면서 견고한 경로로 데이터를 전송할 수 있도록 만들어준다. 도 4에서 알 수 있듯이, 본 발명에서 제안하는 방법에서는 경량화된 IPv6 주소를 활용하여 각 소스 노드에서 목적지 노드까지 총 3개의 다중 경로를 활용할 수 있다는 것을 보여준다.
상기 제어 메시지를 수신한 노드들은 블룸 필터(Bloom filter)를 이용하여 노드 구분자들을 생성한다(단계 S30).
도 5는 블룸 필터 결과 생성된 노드 구분자들을 바탕으로 IPv6 주소를 대신하여 노드를 식별하는 과정을 보여준다. 예를 들어, 1번, 6번 및 10번 자리에 '1'비트로 설정된 경우 노드 1을 나타내고, 1번, 3번 및 7번 자리에 '1'비트로 설정되면 노드 2번을 나타내고, 2번, 3번 및 8번 자리에 '1'비트로 설정되면 노드 3번을 나타낸다.
만약, 소스 노드에서 목적지 노드까지 노드 1번, 2번 및 3번을 경유하여 경로설정 제어 메시지 패킷이 전송되었다면, 목적지가 가지고 있는 블룸 필터는 1, 2, 3, 6, 7, 8, 10번 자리에 모두 '1'비트로 설정된 최종 결과만 가지고 있게 된다. 목적지 노드는 자신의 원 홉 반경 내의 주변 노드들 중 어떤 노드를 경유하여 경로설정 제어 메시지 패킷이 전송됐는지 판단하기 위해 최종 블룸 필터에 '1'비트로 체크된 자리들과 각 이웃 노드들의 블룸 필터를 대입하여 판별한다.
또한, 상기 노드 구분자들에 따라 소스 노드로부터 목적지 노드까지 생성할 수 있는 복수개의 라우팅 경로를 구성한다(단계 S50).
도 6을 참조하면, 소스 노드에서 목적지 노드까지 데이터를 전송할 수 있는 다양한 경로가 존재할 때, 각 노드를 10비트의 블룸 필터로 표현한 멀티 홉 시나리오를 보여준다. 도 7은 소스 노드에서 목적지 노드의 전 노드인 (1,0)까지 데이터를 전송할 수 있는 각각의 다중 경로들을 블룸 필터 테이블에서 관리하는 과정을 보여준다.
하지만, 블룸 필터 값만으로는 중복되거나 노드 식별 정확도가 떨어질 수 있기 때문에 본 발명에서 제안하는 방법에서는 상대적인 자녀 노드의 위치를 표현할 수 있는 향상된 랭크를 추가로 활용하여 이 문제를 해결한다. 해당 코드에는 이웃 노드들의 이름 집합을 축약한 정보만이 담겨 있으므로 코드로부터 이웃 노드들 이름을 유일하게 복구할 수 없다. 대신, 특정 이웃 노드의 이름이 송신자의 이웃 노드 리스트 집합에 포함되었는지의 여부만 알 수 있다.
따라서, 축약된 블룸 필터 코드를 이용하여 이웃 노드의 존재 유무를 테스트할 때 정보의 손실로 인해 오류가 발생 할 수 있다. 이웃 노드가 존재하지 않지만 존재한다고 판단한 경우는 거짓 양성(false positive) 오류가 발생했다고 할 수 있으며 이웃 노드가 존재하지만 존재하지 않는다고 판단한 경우는 거짓 음성(false negative) 오류로 분류할 수 있다.
이때, 이웃 노드 발견이 실패하는 경우를 막기 위해서 거짓 음성 오류가 발생하지 않도록 향상된 랭크를 반영하여 축약된 블룸 필터 코드를 설계한다. 즉, 같은 블룸 필터에 속한 여러 개의 이웃 노드들이 존재하더라도, 부모 노드로부터 각 자식 노드들의 상대적인 위치는 다르기 때문에, 이를 표현하고 있는 향상된 랭크 식별자는 블룸 필터의 부정확성을 해결해줄 수 있다.
그 결과, 본 발명에서 제안하는 방법에서는 전체경로 및 상대적인 자식 노드의 위치를 함축하고 있는 블룸 필터를 활용하여 경량화된 IPv6 주소, 이웃 노들의 발견 및 경량화 라우팅 프로토콜 설정할 수 있다.
기존 RPL기법과 달리 본 발명에서 제안하는 방법에서는 각 부모 노드가 블룸 필터로 함축화된 다양한 자식경로들을 유지하기 때문에 손실이 많은 사물 인터넷 기반 무선 네트워크에서 다양한 에러가 많이 발생해도 바로 다른 지역적으로 가능한 경량화 된 경로를 활용하여 견고성을 높인다.
일반적으로, 근접 단말기의 발견을 위해 통신 단말기는 자신의 식별자(identifier)가 포함되어 있는 비콘(beacon) 등의 신호를 주기적으로 방송해야 하고 이웃 노드들의 발견을 위해서는 추가적으로 이웃 노드들의 정보가 포함된 메시지도 알려야 한다. 그러나, 이웃 노드들의 이름 및 리스트를 그대로 방송하면 너무 많은 양의 정보를 전달하게 되어 저전력 손실 네트워크에서는 적합하지 않다.
본 발명에서 제안하는 방법에서는, 이웃 노드 리스트 광고에 필요한 비트수를 줄이기 위해 소스 노드와 목적지 노드 사이에 설정된 경로 상의 이웃 노드들에 대한 정보를 도 7의 축약된 블룸 필터 코드로 표현하여 블룸 필터 테이블에서 관리한다. 예를 들어, 노드 (1,0)의 블룸 필터에 기반한 이웃관리 테이블에는 자식 노드들인 (2,1), (2,0), (1,1) 및 목적지 노드가 들어있다.
노드(1,0)는 목적지 노드만 제외하고, 각 자식 노드들의 상대적인 위치를 고려한 노드 블룸 필터 값과 해당 노드까지 데이터를 전송될 때 거쳐 온 노드들의 전체 경로를 함축한 블룸 필터 값을 테이블에 관리한다. 만약 노드 (1,0)이 1111000000라는 블룸 필터로 데이터를 받았다면, 노드 (1,0)의 주변 노드들의 블룸 필터 (0000011010), (0111000000) 및 (0000011001) 중에서 (1,1)에 해당되는 (0111000000)만 포함할 수 있기 때문에 데이터가 소스 노드, (3,1), (1,1)을 거쳐서 (1,0)으로 왔다는 것을 알 수 있다.
본 발명에서 목적지 노드까지 전달 확률이 가장 높은 라우팅 경로에 포함된 노드는 복수개의 패킷들을 선형 방정식의 형태로 조합하여 선형 네트워크 코딩 방식으로 전송한다(단계 S70).
사물 인터넷과 같은 저전력 손실 네트워크에서 단말기 및 라우터는 한정된 메모리를 사용하는 제한 조건을 가지고 있기 때문에, 목적지 경로 정보를 유지할 수 없다. 또한, 한정된 메모리 및 손실 네트워크라는 특성으로 무선으로 전송되는 패킷의 양을 줄이는 것이 중요하다. 따라서, 본 발명에서는 사물 인터넷 환경에서 추가적으로 선형 네트워크 코딩과 캐슁(caching)이라는 개념을 활용하여 전송되는 패킷의 양을 줄이고, 목적지 경로 정보를 효율적으로 캐슁에 저장한다.
본 발명에서는 노드들이 원본 패킷 1개를 전송하는 대신 여러 개의 패킷들을 선형 방정식의 형태로 조합하여 전송함으로써, 전체적으로 패킷의 양을 더욱 줄이는 것을 목표로 한다. 목적지 노드는 선형 방정식의 변수 개수만큼 선형 방정식들을 수신 후 조합하여 수학적으로 선형방정식을 풀듯이 계산하여 원하는 패킷을 디코딩할 수 있다(단계 S90).
캐슁이라는 기본 개념은 컴퓨터 시스템에서 CPU가 메인 메모리에 저장되어 있는 기계명령(instruction)을 활용하는데 많은 지연이 있기 때문에, 미리 CPU에 가까운 저장소인 캐쉬(cache)로 가져다 놓고 이를 효율적으로 활용하는 것이다. 분산 시스템 혹은 인터넷 환경에서 캐슁은 자주 요청되는 원본 데이터 혹은 웹 페이지가 멀리 있는 경우 미리 가까운 서버에 저장해놓고 응답 시간을 줄이는 것이다.
그 결과, 본 발명에서는 사물 인터넷 환경에서 소스 노드에서 목적지 노드까지 무선 통신을 하는데 저전력 및 손실이라는 추가적인 특성을 반영하여 각 노드들이 선형 네트워크 코딩(linear network coding)해서 패킷들의 조합을 전송하고 중간 노드들은 이를 효율적으로 캐슁한다. 목적지 노드는 원하는 선형 방정식을 충분히 수신 후 효율적인 캐슁(caching friendly)을 활용해서 디코딩을 수행한다.
이 경우, 내부 반복(iteration) 당 고려하는 매트릭스를 한 개만 유지하고 해당 매트릭스의 열(column)을 증가시키면서 캐슁에 접근하여 목적지 노드가 필요한 선형 방정식들을 효율적으로 디코딩하도록 한다. 각 노드들이 전송한 패킷들이 중간 노드 캐쉬에 열 (column)을 증가시키면서 효율적으로 저장됐기 때문에 목적지 노드 역시 해당 규칙대로 선형방정식 조합을 캐슁에 접근하여 디코딩하여 처음 한번 선형방정식이 없는 콜드 미스(cold miss)만 발생하고 추후 연속적으로 히트(hit)를 활용하여 원하는 패킷을 디코딩하게 된다.
본 발명의 효과를 증명하기 위해 event-driven simulator중 하나인 NS-3(Network Simulator-3)를 활용하여 도 7과 같은 저장 금지 모드 및 저전력 손실 멀티 홉 네트워크 시나리오에서 본 발명의 방법을 평가했다.
도 8은 무선 링크 에러가 정규 분포(normal distribution)를 따를 때 누적분포함수를, 그림 도 9는 무선 링크 에러가 로그 정규 분포(log-normal distribution)를 따를 때 누적분포함수를 보여준다.
무선 링크 에러가 각각의 분포함수를 바탕으로 동적으로 변할 때, 3가지 기법들(local, best average 및 local & best average repair schemes)을 최적의 기법(optimal repair scheme)과 비교해본 결과 직관적으로 알 수 있듯이, 본 발명에서 제안한 기법(local & best average repair scheme)은 전체적으로 좋은 경로에서 무선 링크 손실이 발생해도 지역적으로 다른 좋은 경로에서 무선 링크 손실이 발생해도 지역적으로 다른 좋은 다중 경로를 찾아서 기회적으로 데이터를 전송하기 때문에 최적의 기법과 성능 차이가 제일 작다.
결과적으로, 사물 인터넷 기반 기기간 통신 무선환경은 지역적으로 그리고 랜덤으로 링크단위 에러가 많이 발생하기 때문에 average값만 고려한 방식보다 local값을 고려한 기법이 중요하다는 것을 확인할 수 있다.
이와 같이 본 발명에 따른 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법은, 동적으로 무선 링크가 변하여 데이터 손실이 발생하는 경우에도, 향상된 랭크 정보를 바탕으로 다중 경로 정보를 지역적으로 활용하여 노드 간 전송의 견고성을 높였다. 또한, 본 발명은 제어 메시지 전송 횟수 및 사이즈를 줄임으로써, 노드 식별 IPv6 주소, 이웃 발견 과정 및 데이터 전송을 위한 라우팅 경로에서 발생하는 총 제어 메시지량을 줄이는 RPL 기반 향상된 경량화 라우팅 프로토콜을 제공할 수 있다.
이와 같은, 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법은, 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
도 10은 본 발명의 일 실시예에 따른 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 장치의 블록도이다.
본 발명에 따른 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 장치(10, 이하 장치)는 시함수(hash function) 기반으로 블룸 필터 표현법을 활용하여 노드들끼리 주고 받는 메시지량을 줄이는 것을 물론 노드식별 주소, 이웃 발견 및 라우팅 경로 등을 경량화하게 모두 표현하여 궁극적으로 전체 제어 메시지의 오버헤드를 줄인다.
도 1을 참조하면, 본 발명에 따른 장치(10)는 DIO 생성부(110), DIO 전송부(130), 블룸 필터부(150), 다중 경로 형성부(170) 및 선형 네트워크 코딩부(190)를 포함한다. 상기 장치(10)는 RPL(Routing Protocol for Low-power and lossy networks) 라우팅 도메인 내에서 RPL 라우터들끼리 데이터그램 전달을 위해 IoT 단말기의 경량화 자동 주소 설정을 포함한 IPv6 이웃 발견 기법 및 경량화 라우팅 프로토콜을 제공한다.
본 발명의 상기 장치(10)는 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜을 수행하기 위한 소프트웨어(애플리케이션)가 설치되어 실행될 수 있으며, 상기 DIO 생성부(110), 상기 DIO 전송부(130), 상기 블룸 필터부(150), 상기 다중 경로 형성부(170) 및 상기 선형 네트워크 코딩부(190)의 구성은, 상기 장치(10)에서 실행되는 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜을 수행하기 위한 소프트웨어에 의해 제어될 수 있다.
상기 장치는 별도의 단말이거나 또는 단말의 일부 모듈일 수 있다. 또한, 상기 DIO 생성부(110), 상기 DIO 전송부(130), 상기 블룸 필터부(150), 상기 다중 경로 형성부(170) 및 상기 선형 네트워크 코딩부(190)의 구성은 통합 모듈로 형성되거나, 하나 이상의 모듈로 이루어 질 수 있다. 그러나, 이와 반대로 각 구성은 별도의 모듈로 이루어질 수도 있다.
상기 장치(10)는 단말기에 형성되며, 여기서 단말기란 장치로서, 스마트 폰, 휴대 전화, 태블릿 컴퓨터, 노트북, 넷북, 피디에이(PDA), 피엠피(PMP), 피에스피(PSP), 엠피쓰리(MP3) 플레이어, 이북(e-book) 리더, 내비게이션, 스마트 카메라, 전자사전, 전자시계, 게임기 등 다양한 형태의 모바일(mobile) 장치뿐만 아니라 데스크 탑 컴퓨터, 스마트 TV 등의 무선 통신이 가능한 모든 전자 장치를 포함할 수 있다.
상기 단말기는 디바이스(device), 기구(apparatus), 단말(terminal), UE(user equipment), MS(mobile station), 무선기기(wireless device), 휴대기기(handheld device) 등 다른 용어로 불릴 수 있다. 또한, 상기 단말기는 운영체제(Operation System; OS), 즉 시스템을 기반으로 다양한 소프트웨어를 실행하거나 제작할 수 있다.
상기 운영체제는 소프트웨어가 장치의 하드웨어를 사용할 수 있도록 하기 위한 시스템 프로그램으로서, 안드로이드 OS, iOS, 윈도우 모바일 OS, 바다 OS, 심비안 OS, 블랙베리 OS 등 모바일 컴퓨터 운영체제 및 윈도우 계열, 리눅스 계열, 유닉스 계열, MAC, AIX, HP-UX 등 컴퓨터 운영체제를 모두 포함할 수 있다.
상기 DIO 생성부(110)는 노드들간의 연결 정보를 나타내는 링크(rink) 식별자 및 루트 노드로부터의 깊이 정보와 부모 노드로부터 자식 노드의 상대적 위치(relative location) 정보를 나타내는 랭크(rank) 식별자를 포함하는 제어 메시지(DIO; DAG Information Object)를 생성한다. 또한, 상기 DIO 전송부(130)는 상기 제어 메시지를 주기적으로 전송한다.
상기 제어 메시지는 상기 링크 식별자 및 상기 랭크 식별자를 (x, y) 형태로 포함할 수 있다. 도 4와 같이, 부모 노드로부터 자식 노드의 상대적인 위치를 구분해주는 2번째 새로운 첨자(index)인 상대적 위치(relative location) 정보를 향상된 랭크로 개념을 추가한다.
예를 들어, (3,0)은 랭크 식별자가 3이고, 상대적인 부모 노드(2,0)로부터 왼쪽에 위치한 노드를 의미한다. 반면에, (3,1)은 랭크 식별자가 역시 3이지만 (2,0) 노드로부터 오른쪽에 위치한 노드를 의미한다. RPL기법에서는 같은 랭크를 가진 이웃 노드는 루트노드로부터 해당 IoT노드까지 동일한 레벨에 존재한다는 것을 의미한다. 따라서, 루프문제를 피하고 견고하게 데이터를 전송하기 위해서는 랭크가 낮은 이웃 노드들만 고려할 수 있다.
본 발명에서 제안하는 향상된 RPL(enhanced RPL: eRPL) 기법에서는 랭크 식별자가 같거나 낮은 조건에서 상대적 위치값이 같거나, 크거나, 작아지거나 상관없이 다양한 조합을 반복하면서 견고한 경로로 데이터를 전송할 수 있도록 만들어준다. 도 4에서 알 수 있듯이, 본 발명에서 제안하는 방법에서는 경량화된 IPv6 주소를 활용하여 각 소스 노드에서 목적지 노드까지 총 3개의 다중 경로를 활용할 수 있다는 것을 보여준다.
상기 블룸 필터부(150)는 타 노드로부터 제어 메시지를 수신한 노드들은 블룸 필터(Bloom filter)를 이용하여 노드 구분자들을 생성한다.
도 5는 블룸 필터 결과 생성된 노드 구분자들을 바탕으로 IPv6 주소를 대신하여 노드를 식별하는 과정을 보여준다. 예를 들어, 1번, 6번 및 10번 자리에 '1'비트로 설정된 경우 노드 1을 나타내고, 1번, 3번 및 7번 자리에 '1'비트로 설정되면 노드 2번을 나타내고, 2번, 3번 및 8번 자리에 '1'비트로 설정되면 노드 3번을 나타낸다.
만약, 소스 노드에서 목적지 노드까지 노드 1번, 2번 및 3번을 경유하여 경로설정 제어 메시지 패킷이 전송되었다면, 목적지가 가지고 있는 블룸 필터는 1, 2, 3, 6, 7, 8, 10번 자리에 모두 '1'비트로 설정된 최종 결과만 가지고 있게 된다. 목적지 노드는 자신의 원 홉 반경 내의 주변 노드들 중 어떤 노드를 경유하여 경로설정 제어 메시지 패킷이 전송됐는지 판단하기 위해 최종 블룸 필터에 '1'비트로 체크된 자리들과 각 이웃 노드들의 블룸 필터를 대입하여 판별한다.
상기 다중 경로 형성부(170)는 상기 노드 구분자들에 따라 소스 노드로부터 목적지 노드까지 생성할 수 있는 복수개의 라우팅 경로를 구성한다.
도 6을 참조하면, 소스 노드에서 목적지 노드까지 데이터를 전송할 수 있는 다양한 경로가 존재할 때, 각 노드를 10비트의 블룸 필터로 표현한 멀티 홉 시나리오를 보여준다. 도 7은 소스 노드에서 목적지 노드의 전 노드인 (1,0)까지 데이터를 전송할 수 있는 각각의 다중 경로들을 블룸 필터 테이블에서 관리하는 과정을 보여준다.
같은 블룸 필터에 속한 여러 개의 이웃 노드들이 존재하더라도, 부모 노드로부터 각 자식 노드들의 상대적인 위치는 다르기 때문에, 이를 표현하고 있는 향상된 랭크 식별자는 블룸 필터의 부정확성을 해결해줄 수 있다. 그 결과, 본 발명에서 제안하는 장치에서는 전체경로 및 상대적인 자식 노드의 위치를 함축하고 있는 블룸 필터를 활용하여 경량화된 IPv6 주소, 이웃 노들의 발견 및 경량화 라우팅 프로토콜 설정할 수 있다.
기존 RPL연구와 달리 본 발명에서 제안하는 장치에서는 각 부모 노드가 블룸 필터로 함축화된 다양한 자식경로들을 유지하기 때문에, 손실이 많은 사물 인터넷 기반 무선 네트워크에서 다양한 에러가 많이 발생해도 바로 다른 지역적으로 가능한 경량화 된 경로를 활용하여 견고성을 높일 수 있다.
또한, 상기 블룸 필터부(150)는 이웃 노드 리스트 광고에 필요한 비트수를 줄이기 위해 소스 노드와 목적지 노드 사이에 설정된 경로 상의 이웃 노드들에 대한 정보를 도 7의 축약된 블룸 필터 코드로 표현하여 블룸 필터 테이블에서 관리한다. 예를 들어, 노드 (1,0)의 블룸 필터에 기반한 이웃관리 테이블에는 자식 노드들인 (2,1), (2,0), (1,1) 및 목적지 노드가 들어있다.
노드(1,0)는 목적지 노드만 제외하고, 각 자식 노드들의 상대적인 위치를 고려한 노드 블룸 필터 값과 해당 노드까지 데이터를 전송될 때 거쳐 온 노드들의 전체 경로를 함축한 블룸 필터 값을 테이블에 관리한다. 만약 노드 (1,0)이 1111000000라는 블룸 필터로 데이터를 받았다면, 노드 (1,0)의 주변 노드들의 블룸 필터 (0000011010), (0111000000) 및 (0000011001) 중에서 (1,1)에 해당되는 (0111000000)만 포함할 수 있기 때문에 데이터가 소스 노드, (3,1), (1,1)을 거쳐서 (1,0)으로 왔다는 것을 알 수 있다.
상기 선형 네트워크 코딩부(190)는 상기 목적지 노드까지 전달 확률이 가장 높은 라우팅 경로에 포함된 경우, 복수개의 패킷들을 선형 방정식의 형태로 조합하여 선형 네트워크 코딩 방식으로 전송한다.
본 발명에서는 노드들이 원본 패킷 1개를 전송하는 대신 여러 개의 패킷들을 선형 방정식의 형태로 조합하여 전송함으로써, 전체적으로 패킷의 양을 더욱 줄이는 것을 목표로 한다. 목적지 노드는 선형 방정식의 변수 개수만큼 선형 방정식들을 수신 후 조합하여 수학적으로 선형방정식을 풀듯이 계산하여 원하는 패킷을 디코딩할 수 있다.
이와 같이, 본 발명은 블룸 필터 표현법을 활용하여 노드들끼리 주고 받는 메시지량을 줄이는 것을 물론 노드 식별주소, 이웃 발견 및 라우팅 경로 등을 경량화하게 모두 표현하여 전체 제어 메시지의 오버헤드를 줄일 수 있다. 또한, 저전력 손실 네트워크에서 경량화된 주소를 가진 IoT 단말기들이 RPL(Routing Protocol for Low-power and lossy networks) 기반으로 동작할 때 루프, 경로 손실 등과 같은 문제가 생겨도 유연하고 작은 오버헤드로 경로를 다시 재탐색하여 빠른 시간 내에 원하는 이웃 IoT 단말기를 찾아 목적지까지 데이터를 견고하게 전송할 수 있다.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
본 발명에서 제안하는 IoT 단말기의 경량화(light-weight) 자동 주소 설정, IPv6 이웃 발견 기법 및 경량화 라우팅 프로토콜은, 특정 통신 기술을 가정하고 있지는 않기 때문에 와이파이 다이렉트나 IEEE 802.15.8 대상인식통신 등에 널리 응용될 수 있을 것이다.
10: 장치
110: DIO 생성부
130: DIO 전송부
150: 블룸 필터부
170: 다중 경로 형성부
190: 선형 네트워크 코딩부

Claims (13)

  1. 사물 인터넷에 기반한 기기 간 무선 통신(Infra-less) 환경에서,
    각 노드로부터, 노드들간의 연결 정보를 나타내는 링크(rink) 식별자 및 루트 노드로부터의 깊이 정보와 부모 노드로부터 자식 노드의 상대적 위치(relative location) 정보를 나타내는 랭크(rank) 식별자를 포함하는 제어 메시지(DIO; DAG Information Object)를 주기적으로 전송하는 단계;
    상기 제어 메시지를 수신한 노드들은 블룸 필터(Bloom filter)를 이용하여 노드 구분자들을 생성하는 단계;
    상기 노드 구분자들에 따라 소스 노드로부터 목적지 노드까지 생성할 수 있는 복수개의 라우팅 경로를 구성하는 단계; 및
    상기 목적지 노드까지 전달 확률이 가장 높은 라우팅 경로에 포함된 노드는 복수개의 패킷들을 선형 방정식의 형태로 조합하여 선형 네트워크 코딩 방식으로 전송하는 단계를 포함하고,
    상기 목적지 노드에서 선형 방정식을 조합하여 원하는 패킷을 디코딩 시 수행하는 내부 반복(interation) 당 하나의 매트릭스를 유지할 수 있도록, 상기 소스 노드와 상기 목적지 노드의 중간 노드의 캐쉬(cashe)에 상기 복수개의 패킷들의 조합을 열(column)을 증가시키면서 저장하는 단계를 더 포함하는, 경량화 라우팅 프로토콜 제공 방법.
  2. 제1항에 있어서,
    상기 제어 메시지는 상기 링크 식별자 및 상기 랭크 식별자를 (x, y) 형태로 포함하는, 경량화 라우팅 프로토콜 제공 방법.
  3. 제1항에 있어서, 상기 노드 구분자들에 따라 소스 노드로부터 목적지 노드까지 생성할 수 있는 복수개의 라우팅 경로를 구성하는 단계는,
    상기 랭크 식별자가 특정값 이하인 조건에서, 생성할 수 있는 다중 경로를 생성하는, 경량화 라우팅 프로토콜 제공 방법.
  4. 제1항에 있어서,
    각 노드는, 소스 노드와 목적지 노드 사이에 설정된 라우팅 경로 상의 이웃 노드들에 대한 정보를 축약된 블룸 필터 코드로 표현하여 블룸 필터 테이블에서 관리하는 단계를 더 포함하는, 경량화 라우팅 프로토콜 제공 방법.
  5. 제4항에 있어서,
    상기 블룸 필터 테이블에는 각 자식 노드들의 상대적인 위치를 고려한 노드 블룸 필터 값과 해당 노드까지 데이터를 전송될 때 거친 노드들의 전체 경로를 함축한 블룸 필터 값을 저장하는, 경량화 라우팅 프로토콜 제공 방법.
  6. 제1항에 있어서,
    상기 목적지 노드는 선형 방정식의 변수 개수만큼 수신된 선형 방정식들을 조합하여 패킷을 디코딩하는 단계를 더 포함하는, 경량화 라우팅 프로토콜 제공 방법.
  7. 제1항에 있어서,
    RPL(IPv6 Routing Protocol for Low-power Lossy Networks) 도메인 내에서 수행되는, 경량화 라우팅 프로토콜 제공 방법.
  8. 제1항 내지 제7항 중 어느 하나의 항에 따른 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법을 수행하기 위한, 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
  9. 사물 인터넷에 기반한 기기 간 무선 통신(Infra-less) 환경에서,
    노드들간의 연결 정보를 나타내는 링크(rink) 식별자 및 루트 노드로부터의 깊이 정보와 부모 노드로부터 자식 노드의 상대적 위치(relative location) 정보를 나타내는 랭크(rank) 식별자를 포함하는 제어 메시지(DIO; DAG Information Object)를 생성하는 DIO 생성부;
    상기 제어 메시지를 주기적으로 전송하는 DIO 전송부;
    타 노드로부터 제어 메시지를 수신한 노드들은 블룸 필터(Bloom filter)를 이용하여 노드 구분자들을 생성하는 블룸 필터부;
    상기 노드 구분자들에 따라 소스 노드로부터 목적지 노드까지 생성할 수 있는 복수개의 라우팅 경로를 구성하는 다중 경로 형성부; 및
    상기 목적지 노드까지 전달 확률이 가장 높은 라우팅 경로에 포함된 경우, 복수개의 패킷들을 선형 방정식의 형태로 조합하여 선형 네트워크 코딩 방식으로 전송하되, 상기 목적지 노드에서 선형 방정식을 조합하여 원하는 패킷을 디코딩 시 수행하는 내부 반복(interation) 당 하나의 매트릭스를 유지할 수 있도록, 상기 소스 노드와 상기 목적지 노드의 중간 노드의 캐쉬(cashe)에 상기 복수개의 패킷들의 조합을 열(column)을 증가시키면서 저장하도록 하는 선형 네트워크 코딩부를 포함하는, 경량화 라우팅 프로토콜 제공 장치.
  10. 제9항에 있어서,
    상기 제어 메시지는 상기 링크 식별자 및 상기 랭크 식별자를 (x, y) 형태로 포함하는, 경량화 라우팅 프로토콜 제공 장치.
  11. 제9항에 있어서, 상기 다중 경로 형성부는,
    상기 랭크 식별자가 특정값 이하인 조건에서, 생성할 수 있는 다중 경로를 생성하는, 경량화 라우팅 프로토콜 제공 장치.
  12. 제9항에 있어서, 상기 블룸 필터부는,
    소스 노드와 목적지 노드 사이에 설정된 라우팅 경로 상의 이웃 노드들에 대한 정보를 축약된 블룸 필터 코드로 표현하여 블룸 필터 테이블에서 관리하고,
    상기 블룸 필터 테이블에는 각 자식 노드들의 상대적인 위치를 고려한 노드 블룸 필터 값과 해당 노드까지 데이터를 전송될 때 거친 노드들의 전체 경로를 함축한 블룸 필터 값을 저장하는, 경량화 라우팅 프로토콜 제공 장치.
  13. 제9항에 있어서,
    RPL(IPv6 Routing Protocol for Low-power Lossy Networks) 도메인 내에서 적어도 하나의 노드에 형성되는, 경량화 라우팅 프로토콜 제공 장치.
KR1020160050853A 2016-04-26 2016-04-26 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법, 이를 수행하기 위한 기록 매체 및 장치 KR101663994B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160050853A KR101663994B1 (ko) 2016-04-26 2016-04-26 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법, 이를 수행하기 위한 기록 매체 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160050853A KR101663994B1 (ko) 2016-04-26 2016-04-26 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법, 이를 수행하기 위한 기록 매체 및 장치

Publications (1)

Publication Number Publication Date
KR101663994B1 true KR101663994B1 (ko) 2016-10-12

Family

ID=57173788

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160050853A KR101663994B1 (ko) 2016-04-26 2016-04-26 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법, 이를 수행하기 위한 기록 매체 및 장치

Country Status (1)

Country Link
KR (1) KR101663994B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190120057A (ko) * 2018-04-13 2019-10-23 한국과학기술원 로드 균형을 위한 확률 기반 적응형 라우팅 알고리즘
KR102109771B1 (ko) 2018-12-05 2020-06-01 영남대학교 산학협력단 사물인터넷을 위한 보안 이동성 적응형 라우팅 방법 및 상기 방법을 수행하기 위한 기록 매체
KR20210053235A (ko) 2019-10-30 2021-05-11 주식회사 대림 보안성이 향상된 로라 프로토콜 기반의 통신 시스템 및 이를 이용한 통신 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130068051A (ko) 2011-12-15 2013-06-25 한국전자통신연구원 식별자 관리 장치 및 그것의 식별자 관리 방법
KR101570933B1 (ko) 2014-09-05 2015-11-23 금오공과대학교 산학협력단 데이터분산서비스에서 동적 블룸 필터를 이용한 노드 탐색 시스템 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130068051A (ko) 2011-12-15 2013-06-25 한국전자통신연구원 식별자 관리 장치 및 그것의 식별자 관리 방법
KR101570933B1 (ko) 2014-09-05 2015-11-23 금오공과대학교 산학협력단 데이터분산서비스에서 동적 블룸 필터를 이용한 노드 탐색 시스템 및 방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
IEEE, Wireless LAN medium access control(MAC) and physical layer(PHY) specifications amendment 9: interworking with external networks, IEEE Std. 802.11u, 2011.
IETF, "RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks", RFC 6550, Mar., 2012.
논문((오하영, "사물 인터넷 기반 기기 간 통신 무선 환경에서 향상된 RPL 기반 경량화 라우팅 프로토콜", 2014.10.)* *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190120057A (ko) * 2018-04-13 2019-10-23 한국과학기술원 로드 균형을 위한 확률 기반 적응형 라우팅 알고리즘
KR102153814B1 (ko) * 2018-04-13 2020-09-08 한국과학기술원 로드 균형을 위한 확률 기반 적응형 라우팅 알고리즘
KR102109771B1 (ko) 2018-12-05 2020-06-01 영남대학교 산학협력단 사물인터넷을 위한 보안 이동성 적응형 라우팅 방법 및 상기 방법을 수행하기 위한 기록 매체
KR20210053235A (ko) 2019-10-30 2021-05-11 주식회사 대림 보안성이 향상된 로라 프로토콜 기반의 통신 시스템 및 이를 이용한 통신 방법

Similar Documents

Publication Publication Date Title
Jaiswal et al. EOMR: An energy-efficient optimal multi-path routing protocol to improve QoS in wireless sensor network for IoT applications
Das et al. Adaptive and intelligent energy efficient routing for transparent heterogeneous ad-hoc network by fusion of game theory and linear programming
JP2007325261A (ja) 経路確立方法
KR101663994B1 (ko) 사물 인터넷에 기반한 기기 간 무선 통신 환경에서 경량화 라우팅 프로토콜 제공 방법, 이를 수행하기 위한 기록 매체 및 장치
Tekkalmaz et al. PSAR: power-source-aware routing in ZigBee networks
Alahari et al. A survey on network routing protocols in internet of things (IOT)
Huang et al. Multipath ring routing in wireless sensor networks
CN104301912A (zh) 一种路径通断的检测方法和装置
WO2018086305A1 (zh) 网络中心节点的确定方法、装置及设备节点
Kumar et al. Energy efficient link stable routing in internet of things
Nitesh et al. Minimum spanning tree–based delay‐aware mobile sink traversal in wireless sensor networks
He et al. Greedy construction of load‐balanced virtual backbones in wireless sensor networks
KR101217813B1 (ko) 무선 네트워크에서 데이터 전송의 우선순위 결정 방법
CN106685819B (zh) 一种基于节点能量划分的aomdv协议节能方法
WO2017024952A1 (zh) 设备到设备的无线网格网络的路由寻找方法和装置
Yang et al. A swarm-intelligence-based protocol for data acquisition in networks with mobile sinks
US10813033B1 (en) Partitioned network routing
Al Sawafi et al. Toward hybrid RPL based IoT sensing for smart city
Berguiga et al. A fast handover protocol for 6LoWPAN wireless mobile sensor networks
Oh et al. Light-weight routing protocol in IoT-Based inter-device telecommunication wireless environment
Park et al. Retracted: A Data Gathering Method Based on a Mobile Sink for Minimizing the Data Loss in Wireless Sensor Networks
Gouvy et al. Minimising energy consumption through mobility with connectivity preservation in sensor networks
Amgoth et al. Energy-aware multi-level routing algorithm for two-tier wireless sensor networks
Singh et al. A study on energy efficient routing protocols in MANETs with effect on selfish behaviour
Prabowo et al. (EDsHEED) Enhanced Simplified Hybrid, Energy-efficient, Distributed Clustering for Wireless Sensor Network

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191001

Year of fee payment: 4