KR20120078335A - 무선 센서 네트워크에서 데이터 전송 방법 및 장치 - Google Patents
무선 센서 네트워크에서 데이터 전송 방법 및 장치 Download PDFInfo
- Publication number
- KR20120078335A KR20120078335A KR1020100140605A KR20100140605A KR20120078335A KR 20120078335 A KR20120078335 A KR 20120078335A KR 1020100140605 A KR1020100140605 A KR 1020100140605A KR 20100140605 A KR20100140605 A KR 20100140605A KR 20120078335 A KR20120078335 A KR 20120078335A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- routing path
- cluster header
- node
- cluster
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 무선 센서 네트워크에서 데이터 전송 방법 및 장치에 관한 것으로, 더욱 상세하게는 대규모 무선 센서 네트워크에서 네트워크 코딩 기반의 데이터 전송 방법 및 장치에 관한 것이다. 본 발명의 일 실시예에 따른 데이터 전송 방법은 제1 라우팅 경로 탐색을 통하여 네크워크 코딩이 필요한 클러스터 헤더 및 추가데이터 량을 설정하는 단계, 추가데이터 수신을 위한 제2 라우팅 경로를 설정하는 단계, 네트워크 코딩 데이터 및 상기 추가데이터를 수신하는 단계 및 상기 네트워크 코딩 데이터 및 상기 추가데이터를 이용하여 데이터를 복원하는 단계를 포함할 수 있다.
Description
본 발명은 무선 센서 네트워크에서 데이터 전송 방법 및 장치에 관한 것으로, 더욱 상세하게는 대규모 무선 센서 네트워크에서 네트워크 코딩 기반의 데이터 전송 방법 및 장치에 관한 것이다.
현재 유비쿼터스 기술의 핵심인 무선 센서 네트워크와 관련된 많은 연구가 진행되고 있다.
무선 센서 네트워크에 관련한 주요 연구 분야는 정보를 취득하는 센서기술, 센싱된 정보를 가공하여 전송하는 기술, 그리고 전송된 정보를 분석하고 서비스를 제공하는 기술 등과 같이 다양한 분야가 있다.
센서 네트워크를 구성하는 센서 노드는 일반적으로 작은 용량의 메모리, 낮은 계산 능력을 가지는 프로세서, 작은 대역의 무선 통신 장치 및 다양한 센서들을 활용하여 실세계의 정보를 수집하는 역할을 수행한다.
센서 노드가 가지는 센싱 범위 및 무선 통신 도달 거리의 한계 등으로 인해 넓은 지역에서의 정보를 수집하기 위해서는 다수의 센서 노드를 배치해야 한다.
따라서 대규모 센서 네트워크는 다수의 센서 노드간의 효율적인 통신을 위한 전체 네트워크를 제어, 관리 할 수 있어야 한다.
도 1 및 도 2는 종래의 무선 센서 네트워크에서 데이터 전송하는 방법을 설명하기 위한 도면이다.
도 1을 참조하면, 대규모 무선 센서 네트워크인 경우, 클러스터 헤더의 트리구조에서 높이(Height)는 점점 증가하게 되며, 이로 인해 혼잡문제가 발생하는 접합부분이 늘어나게 된다. 이로 인하여 혼잡구간이 증가하여 데이터의 전송 지연은 더욱 늘어나게 된다. 여기서, n1(101)부터 n14(114)는 클러스터 헤더를 나타내며, 최상위에 데이터를 수집하는 노드(100)를 나타낸다.
도 2는 종래의 클러스터 헤더의 트리구조에서 최하위단에 존재하는 8개의 클러스터 헤더가 동시에 패킷화된 데이터를 노드(100)로 전송 할 때 혼잡문제로 인한 전송 지연을 간단하게 도식한 그림이다.
여기서, 클러스터 헤더 n1?n8(101?108)까지는 트리구조에서 높이가 3일 때, n9?n12(109?112)까지는 높이가 2일 때이며, n13(113), n14(114)는 높이가 1이다. 그리고 Tx는 패킷 송신을 뜻하며, Rx는 패킷 수신을 뜻한다. 가로축의 T1?T5는 임의의 슬롯시간(Slot Time)을 뜻하며, P1?P8은 전송되는 패킷 데이터를 뜻한다.
무선 환경에서는 RTS(Request To Send)와 CTS(Clear To Send)를 교환한 다음에 데이터를 전송하고, 거리에 따른 지연도 고려하지만, 당업자에게 자명하므로 자세한 설명은 생략한다.
일반적으로 무선 센서 네트워크에서는 싱글 안테나를 사용하기 때문에 클러스터 헤더 n1(101)와 혼잡문제가 야기되는 클러스터 헤더 n9(109)가 RTS와 CTS 신호를 주고받은 후 1:1 통신을 하는 동안 클러스터 헤더 n2(102)가 클러스터 헤더 에게 전송을 시도해도 클러스터 헤더 n9(109)는 알아채지 못한다. 따라서 클러스터 헤더 n2(102)는 클러스터 헤더 n9(109)에게 재전송을 시도하게 된다.
클러스터 헤더의 트리 구조의 높이가 증가할수록 혼잡부분도 증가하게 되어 재전송의 시도 횟수는 계속 증가하게 된다.
클러스터 헤더가 재전송을 시도하는 동안 클러스터 헤더는 각 노드들로부터 데이터를 수집하지 못하는 경우가 생길 수가 있다.
즉 대규모 망에서의 클러스터 구조의 문제점은 클러스터 헤더로 센서 데이터가 모이고, 클러스터 헤더가 모은 센서 데이터를 노드(100)로 전송할 때 혼잡문제가 발생하게 되면, 센서 데이터의 전송 지연이 증가하는 것이다.
본 발명은 상기 문제점을 극복하기 위하여 안출된 것으로, 대규모 무선 센서 네트워크에서 데이터 전송 횟수를 줄여 데이터의 지연을 줄여 사용자가 끊김 없는 데이터 통신이 가능한 무선 센서 네트워크에서 데이터 전송 방법 및 장치를 제공하는 것이다.
본 발명의 일 측면에 따르면, 무선 센서 네트워크에서 데이터 전송 방법이 제공된다.
본 발명의 일 실시예에 따른 데이터 전송 방법은 제1 라우팅 경로 탐색을 통하여 네크워크 코딩이 필요한 클러스터 헤더 및 추가데이터 량을 설정하는 단계, 추가데이터 수신을 위한 제2 라우팅 경로를 설정하는 단계, 네트워크 코딩 데이터 및 상기 추가데이터를 수신하는 단계 및 상기 네트워크 코딩 데이터 및 상기 추가데이터를 이용하여 데이터를 복원하는 단계를 포함할 수 있다.
본 발명의 다른 일 측면에 따르면, 무선 센서 네트워크에서 데이터 전송 장치가 제공된다.
본 발명의 일 실시예에 따른 무선 센서 네트워크에서 데이터 전송 장치는 제1 라우팅 경로를 탐색하고 네크워크 코딩이 필요한 클러스터 헤더 및 추가데이터 량을 선정하는 제1 라우팅 경로 탐색부, 추가 데이터 정보를 수신하기 위한 제2 라우팅 경로를 설정하는 제2 라우팅 경로 설정부, 네트워크 코딩된 패킷 데이터 및 추가데이터를 수신하는 데이터수신부 및 상기 네트워크 코딩된 패킷 데이터 및 상기 추가데이터를 이용하여 데이터를 복원하는 데이터복원부를 포함할 수 있다.
본 발명은 대규모 무선 센서 네트워크에서 데이터 전송 횟수를 줄여 데이터의 지연을 줄여 사용자가 끊김 없는 데이터 통신이 가능한 효과가 있다.
도 1 및 도 2는 종래의 센서 네트워크에서 데이터 전송하는 방법을 설명하기 위한 도면이다.
도 3은 무선 센서 네트워크에서 데이터 전송 방법을 설명하기 위한 도면이다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 네트워크 코딩을 이용한 데이터 지연 해결 방법을 설명하기 위한 도면이다.
도 6 내지 도 8은 본 발명의 일 실시예에 따른 센서 네트워크에서 라우팅 경로를 설정하는 방법을 설명하기 위한 도면이다.
도 9는 본 발명의 제1 실시예에 따른 제2 라우팅 경로 선정 방법을 설명하기 위한 도면이다.
도 10 및 도 11은 본 발명의 제2 실시예에 따른 제2 라우팅 경로 선정 방법을 설명하기 위한 도면이다.
도 13 및 도 14는 본 발명의 일 실시예에 따른 효과를 설명하기 위한 도면이다.
도 3은 무선 센서 네트워크에서 데이터 전송 방법을 설명하기 위한 도면이다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 네트워크 코딩을 이용한 데이터 지연 해결 방법을 설명하기 위한 도면이다.
도 6 내지 도 8은 본 발명의 일 실시예에 따른 센서 네트워크에서 라우팅 경로를 설정하는 방법을 설명하기 위한 도면이다.
도 9는 본 발명의 제1 실시예에 따른 제2 라우팅 경로 선정 방법을 설명하기 위한 도면이다.
도 10 및 도 11은 본 발명의 제2 실시예에 따른 제2 라우팅 경로 선정 방법을 설명하기 위한 도면이다.
도 13 및 도 14는 본 발명의 일 실시예에 따른 효과를 설명하기 위한 도면이다.
도 3은 무선 센서 네트워크에서 데이터 전송 방법을 설명하기 위한 도면이다.
도 3을 참조하면, 단계 S310에서 노드(100)는 라우팅 경로를 탐색하고 네크워크 코딩이 필요한 클러스터 헤더 및 추가데이터 량을 선정한다.
노드(100)는 라우팅 경로를 탐색하고, 제1 라우팅 경로를 설정한다. 여기서, 제1 라우팅 경로는 클러스터 헤더 기반의 트리 라우팅 경로일 수 있다.
노드(100)는 제1 라우팅 경로를 통하여 네크워크 코딩이 필요한 클러스터 헤더를 설정한다.
여기서, 네크워크 코딩은 네트워크 계층에서 이루어지는 코딩 기법으로, 통신 자원을 효율적으로 사용하여 통신 네트워크의 전송 속도를 향상시키고자 하는 것에 그 목적을 두고 있다.
네트워크 코딩의 본질은 정보의 압축이며, 이 압축이 통신 네트워크의 라우팅과 밀접하게 연관되어 있다. 따라서 네트워크 코딩의 목적은 소스 코딩(Source Coding), 채널 코딩(Channel Coding)등 물리 계층에서 사용되는 코딩 기법과는 차이가 있다.
네트워크 코딩은 선형 코딩 기법(Linear Coding)을 사용하게 되는데, 예를 들면, 2개의 데이터인 a와 b 정보의 eXclusive OR(XOR)을 수행하여 압축을 하는 것이다.
또한, 여기서, 네크워크 코딩이 필요한 클러스터 헤더는 제1 라우팅 경로에서 혼잡 구간이 발생되는 구간에 위치한 클러스터 헤더로, 제1 라우팅 경로에서 자식 클러스터 헤더의 수가 적어도 2인 클러스터 헤더일 수 있다.
노드(100)는 제1 라우팅 경로를 이용하여 추가데이터 량을 선정한다. 여기서, 추가데이터 량은 노드(100)에서 수집된 네크워트 코딩된 데이터를 복원하기 위하여 필요한 데이터 량이다.
예를 들면, 노드(100)는 P1 데이터 및 P2 데이터가 네트워크 코딩된 N1 데이터를 디코딩하기 위해서는 P1 데이터 또는 P2 데이터가 필요하며, P3 데이터 및 P4 데이터가 네트워크 코딩된 N2 패킷를 디코딩하기 위해서는 P3 데이터 및 P4 데이터가 추가데이터로 필요하다.
단계 S320에서 노드(100)는 추가데이터 수신을 위한 제2 라우팅 경로를 설정한다.
노드(100)는 추가데이터 수신을 위한 제2 라우팅 경로를 설정한다.
여기서, 제2 라우팅 경로는 데이터 지연 없이 추가 데이터를 수신하기 위한 라우팅 경로로 클러스터 헤더 기반의 트리 라우팅 구조인 제1 라우팅 경로와 달리 클러스터 내에 포함된 노드를 활용하고, 싱크노드 또는 클러스터 헤더와 이웃 노드 간의 높이 차이 정보 및 신호 세기 정보에 의해 릴레이 노드를 포함하여 설정될 수 있다.
또한, 제2 라우팅 경로는 클러스터 헤드와 싱크노드까지의 실제 거리를 기반으로 설정될 수 있다.
단계 S330에서 노드(100)는 네트워크 코딩 데이터 및 추가데이터를 수신한다.
노드(100)는 제1 라우팅 경로를 통하여 네트워크 코딩 데이터를 수신한다.
노드(100)는 제2 라우팅 경로를 통하여 릴레이 노드로부터 데이터 복원을 위한 추가데이터를 수신한다.
단계 S340에서 노드(100)는 네트워크 코딩 데이터 및 추가데이터를 이용하여 데이터를 복원한다.
노드(100)는 제1 라우팅 경로로부터 수신한 네트워크 코딩 데이터 및 제2 라우팅 경로로부터 수신한 추가데이터를 이용하여 수신한 데이터를 복원할 수 있다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 네트워크 코딩을 이용한 데이터 지연 해결 방법을 설명하기 위한 도면이다.
도 4를 참조하면, 클러스터 헤더 n9?n14(109?114)는 데이터 전송 지연이 야기되는 노드들로, 전체 네트워크의 데이터 전송 지연을 줄이기 위하여 전송될 데이터에 대하여 네트워크 코딩을 수행한다. 여기서, 네트워크 코딩을 수행하는 클러스터 헤더는 적어도 2 이상의 자식 클러스터 헤더들로부터 패킷 데이터를 수신하는 노드이다.
클러스터 헤더 n9(109)는 예를 들어 P1 패킷데이터와, P2 패킷데이터를 수신한 후 네트워크 코딩을 수행하여 코딩된 N1 패킷데이터를 클러스터 헤더 n13(113)로 전송한다.
도 5를 참조하면, 보라색 부분(N1, N2, N3, N4, N5, N6)이 네트워크 코딩이 된 후의 데이터를 뜻하며, 하얀색 부분(P1, P3, P5, P7, N1, N3)이 네트워크 코딩된 데이터를 복원하기 위하여 필요한 추가데이터를 뜻한다.
우선 네트워크 코딩된 후에 수신되는 패킷 데이터 형성을 설명하기로 한다.
클러스터 헤더 n9(109)에서는 클러스터 헤더 n1 및 클러스터 헤더 n2로부터 수신한 P1 패킷데이터 및 P2 패킷데이터를 네트워크 코딩을 한 후 새로운 패킷데이터인 N1(P1P2)을 전송하고, 마찬가지로 클러스터 헤더 n10(110)은 클러스터 헤더 n3 및 클러스터 헤더 n4로부터 수신한 P3 패킷데이터 및 P4 패킷데이터를 네트워크 코딩을 한 후 생성된 새로운 패킷인 N2(P3P4)를 전송한다.
클러스터 헤더 n11(111) 및 클러스터 헤더 n12(112)에서도 같은 방식으로 네트워크 코딩이 이루어지고, 생성된 새로운 패킷 N3(P5P6) 및 N4(P7P8)를 전송한다.
클러스터 헤더 n13(113)에서 새로운 패킷 N1과 N2를 다시 네트워크 코딩하여 만들어진 패킷 N5(N1N2)을 전송하게 되며, n14(114)에서도 같은 방식으로 새로운 패킷인 N6(N3N4)을 전송한다.
노드(100)는 최종적으로 네트워크 코딩된 패킷데이터 N5와 N6을 수신한다.
도 5를 참조하면, 종래의 도 2와 비교하여 볼 때, 노드(100)는 데이터 지연이 많이 줄어들게 되며, 클러스터 헤더들도 재전송 횟수가 줄어들게 됨에 따라 각각의 클러스터에 속해있는 노드들의 전송 데이터를 받기위한 지연이 많이 줄어들게 된다.
하지만 노드(100)는 최종적으로 수신된 N5와 N6 패킷만으로는 원래 데이터인 패킷 1(P1) 부터 패킷 8(P8)까지의 데이터 복원을 하지 못한다. 왜냐하면 노드(100)는 N5 패킷을 디코딩하여 원래 데이터로 복원하기 위해서는 N1 패킷, N2 패킷 둘 중 하나의 패킷 데이터가 필요하다.
만약 노드(100)가 N1 패킷을 수신했다면, N1 패킷 및 N5 패킷를 이용하여 N2 패킷을 디코딩할 수 있다.
또한, 노드(100)는 N1 패킷을 디코딩하기 위해서는 P1, P2 중의 하나의 패킷 데이터가 필요하며, N2 패킷를 디코딩하기 위해서는 P3, P4 중의 하나의 패킷 데이터가 필요하다. 이러한 방식으로 원래 데이터로 디코딩하기 위해서는 총 6개의 추가적인 데이터 정보가 필요하다.
노드(100)는 클러스터 헤더 기반의 트리 라우팅 경로인 제1 라우팅 경로와 달리 추가데이터를 수신하기 위한 제2 라우팅 경로를 설정한다.
다음으로 추가데이터 부분을 설명하기로 한다.
본 발명의 제1 실시예에 따른 제2 라우팅 경로 설정방법의 경우, 제2 라우팅 경로를 통하여 지정된 릴레이 노드(도면에 표시 안 됨)는 클러스터 헤더 n1(101)가 RTS 신호를 전송할 때 엿듣기(Overhearing)을 통하여 패킷 데이터인 P1을 수신한다.
릴레이 노드는 P1 데이터를 엿듣기(Overhearing)한 후, 클러스터 헤더 n13(113)로 패킷 데이터인 P1을 전송한다.
릴레이 노드는 클러스터 헤더의 지연 문제와 상관이 없기 때문에 도면 3에 포함시키지 않았으며, 후술할 도 8을 통하여 설정할 수 있다.
상술한 방식을 통하여 클러스터 헤더 n13(113)는 릴레이 노드를 통하여 P1 및 P3 패킷 데이터를 받게 되며, 클러스터 헤더 n14(114)는 P5 및 P7 패킷 데이터를 받게 된다.
그리고 네트워크 코딩이 적용된 N1 및 N3 패킷 데이터는 릴레이 노드를 통하여 바로 노드(100)로 전송될 수 있다.
이러한 방식을 통하여 지연을 살펴보면, 네트워크 코딩을 적용하기 전에는 76개의 슬롯타임을 사용하며, 네트워크 코딩을 적용한 후에는 57개의 슬롯타임을 사용하게 된다.
네트워크 코딩을 적용하기 전을 살펴보면 클러스터 헤더가 데이터를 전송하는 동안 클러스터 헤더는 클러스터 헤더의 임무인 데이터 수집 활동을 제대로 수행하지 못하게 된다. 이를 생각해 볼 때, 네트워크 코딩을 사용한 후에는 데이터를 전송한 후 바로 자신의 임무로 돌아 갈수 있으며, 혼잡문제가 발생하는 구간이 줄어들게 됨을 알 수 있다. 즉 전체적인 네트워크의 지연이 줄어들게 된다.
도 6 내지 도 8은 본 발명의 일 실시예에 따른 센서 네트워크에서 라우팅 경로를 설정하는 방법을 설명하기 위한 도면이다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 센서 네트워크는 클러스터 헤더 n1?n14(101?114)가 라이팅 테이블 정보를 이용하여 동일 클러스터 안에서의 라우팅 테이블 정보를 이용하여 클러스터 헤더 기반의 트리 라우팅 경로인 제1 라우팅 경로 및 추가데이터 량을 선정할 수 있다.
도 7은 제1 라우팅 경로 선정을 위한 데이터 프레임을 설명하기 위한 도면으로, 노드(100)는 데이터 프레임(700)을 수신하여 제1 라우팅 경로를 선정한다.
도 7을 참조하면, 노드 ID(710)는 해당 노드의 ID 정보이며 높이(Height, 720)는 트리 구조의 높이 정보를 표현한다.
자식 노드 수(Number of Child, 730)는 자식 노드의 개수 정보이며, 마지막으로 시퀀스(Sequence, 740) 부분은 트리 구조를 탐색할 때 탐색 경로를 결정할 때 사용되는 정보이다.
도 8을 참조하면, 데이터 프레임(700)은 예를 들면, 점선으로 표시된 경로를 이동하며 전체 네트워크 형태 중에서 각각의 클러스터 형태를 차례대로 검색하게 되며, 이를 통해서 자식 노드의 유무도 판단할 수 있다.
노드(100)는 라우팅 데이터 프레임이 순환하며, 이를 통해 전체 클러스터 헤더간의 트리 구조에서의 높이(Height), 해당 클러스터 헤더의 부모 클러스터 헤더 ID와 자식 클러스터 헤더 ID 정보를 알 수 있다.
노드(100)는 시퀀스 정보(640)를 0으로 하여 라우팅 데이터 프레임(810)을 전송한다.
전송된 라우팅 데이터 프레임(810)는 클러스터 헤더 n1(101)에 도달하여 라우팅 데이터 프레임(840)를 생성하며, 클러스터 헤더 n1(101)의 자식 노드 수(Number of Child, 730)와 시퀀스 부분(740) 값이 같아지게 된다.
라우팅 데이터 프레임(840)은 시퀀스 부분(740) 값을 1로 증가시키고 클러스터 헤더 n9(109)로 올라가고, 클러스터 헤더 n9(109)의 자식 노드 수(Number of Child, 630)와 비교한다. 비교 결과, 클러스터 헤더 n9(109)의 자식 노드 수(2)가 시퀀스 부분(740) 값(1)보다 크므로, 다시 클러스터 헤더 n2로 내려가서 생성된다.
노드(100)는 자식 노드 수(730)와 시퀀스 부분(740) 값을 비교하여 같지 않을 경우에는 밑으로 내려가게 되고 같을 경우에는 위로 올라가는 라우팅 데이터 프레임 정보를 이용하여 전체 트리 구조의 정보를 획득할 수 있다.
또한, 노드(100)는 자식 노드 수(Number of Child, 630)의 수가 적어도 2 이상인 클러스터 헤더 ID 정보를 이용하여 네트워크 코딩되는 클러스터 헤더 정보 및 데이터 복원을 위한 추가 데이터 량에 대한 정보를 획득할 수 있다.
도 9는 본 발명의 제1 실시예에 따른 제2 라우팅 경로 선정 방법을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 노드(100)는 제1 라우팅 경로 탐색을 마치게 되면, 추가데이터 량 정보를 알 수 있으므로 추가데이터를 송신할 릴레이 노드를 포함하여 제2 라우팅 경로를 설정한다.
여기서, 릴레이 노드는 하위 클러스터 헤더가 데이터를 송신할 경우 그 데이터를 엿들어(Overhearing) 상위 클러스터 헤더로 송신한다.
도 9에 표시된 각각의 원은 클러스터 헤더의 송수신 범위를 나타낸다.
노드(100)는 자신의 클러스터 내의 일반 노드에게 헬로우(Hello) 메시지를 브로드캐스트(Broadcast)를 한다. 여기서, 헬로우(Hello) 메시지에는 클러스터 ID 정보, 트리 구조의 높이(Height) 정보, 노드 ID 정보, 응답 클러스터 ID 정보가 포함될 수 있다.
헬로우(Hello) 메시지를 받은 노드는 자신의 노드 ID 정보를 갱신한 후, 헬로우(Hello) 메시지를 브로드캐스트(Broadcast)를 한다.
클러스터 헤더는 헬로우(Hello) 메시지를 받게 되면 일단 헬로우(Hello) 메시지의 높이(Height) 정보를 기준으로 자신의 높이(Height) 정보를 비교하여 높이(Height)의 차가 2인지 판단한다.
클러스터 헤더는 판단 결과, 높이(Height)의 차가 2인 경우, 응답 클러스터 ID 정보를 갱신한 후, 응답신호(ACK)를 해당 노드로 송신한다.
노드는 응답신호(ACK)를 수신하고, 자신이 속한 클러스터의 헤더로 재전송된다.
클러스터 헤더는 응답 클러스터 ID 정보가 동일할 경우에는 신호세기가 가장 큰 신호를 선택하여 릴레이 노드를 설정한다.
본 발명에 따른 네트워크는 상술한 과정을 높이(Height)를 1씩 증가시켜 실행하게 되면, 전체 네트워크의 릴레이 노드를 선정하게 된다.
노드(100)는 전체 네트워크의 릴레이 노드가 선정하지만, 추가 데이터 량과 비교하여 보면, 불필요한 릴레이 노드가 선정될 수 있어 각각의 릴레이 노드 중 불필요한 릴레이 노드는 제거한다.
여기서, 릴레이 노드 제거의 기준은 클러스터 헤더가 가지는 자식 노드의 수로 판단한다.
노드(100)는 클러스터 헤더의 자식 수에 따라 추가적인 데이터 량을 판단하기 때문에, 클러스터 헤더와 트리 구조의 높이(Height) 정보를 바탕으로 판단하여 신호 세기가 가장 센 릴레이 노드만을 선정한다.
노드(100)는 예를 들면, 자식 노드의 수가 2일 경우에는 상위의 클러스터 헤더는 1개의 릴레이 노드로 선정하며, 자식 노드의 수가 1일 경우에는 상위의 클러스터 헤더가 릴레이 노드를 삭제한다.
이 과정을 거치게 되면 불필요한 노드는 삭제되게 되며, 릴레이 노드가 선정된다.
본 발명의 제1 실시예에 따른 노드(100)는 제2 라우팅 경로를 통하여 설정된 릴레이 노드를 통하여 추가데이터를 수신할 수 있다.
도 10 및 도 11은 본 발명의 제2 실시예에 따른 제2 라우팅 경로 선정 방법을 설명하기 위한 도면이다.
도 10을 참조하면, 클러스터 헤드 n1?n14(101?114)는 도 8의 라우팅 검색을 통하여 싱크노드(100)까지의 최소 홉 수를 가지는 경로를 계산한다.
도 10을 참조하여 라우팅 경로를 선택하게 되면 최종적으로 도 11에 보이는 형태로 전체 라우팅 경로가 설정된다. 도 11을 참조하면, 실선은 트리구조의 라우팅 경로이며, 점선으로 표시된 부분이 제2 라우팅 경로이다. 도 11에서 도시된 바와 같이 클러스터 헤드 n1(101), n3(103), n5(105), n7(107), n9(109), n12(112)는 트리 구조에서는 싱크노드(100)까지의 거리가 1홉 이상의 거리를 가져도 제2 라우팅 경로에서는 1홉 거리를 가질 수 있다.
본 발명의 제2 실시예에 따라 노드(100)는 추가데이터를 설정된 제2 라우팅 경로를 통하여 수신할 수 있다.
도 12는 본 발명의 일 실시예에 따른 데이터 전송 장치를 설명하기 위한 도면이다.
도 12를 참조하면, 본 발명에 따른 데이터 전송 장치(1200)는 제1 라우팅 경로 탐색부(1210), 제2 라우팅 경로 설정부(1220), 데이터 수신부(1230) 및 데이터 복원부(1240)를 포함할 수 있다.
제1 라우팅 경로 탐색부(1210)는 제1 라우팅 경로를 탐색하고 네크워크 코딩이 필요한 클러스터 헤더 및 추가데이터 량을 선정한다.
제2 라우팅 경로 설정부(1220)는 추가 데이터 정보를 수신하기 위한 제2 라우팅 경로를 설정한다. 여기서, 제2 라우팅 경로는 릴레이 노드를 포함하여 설정될 수 있고, 클러스터 헤드와 싱크노드 간의 실제 거리에 기반하여 설정될 수 있다.
데이터 수신부(1230)는 네트워크 코딩된 패킷 데이터 및 데이터 복원을 위한 추가데이터를 수신한다.
데이터 복원부(1240)는 수신된 네트워크 코딩된 패킷 데이터 및 추가 데이터를 이용하여 데이터를 복원한다.
도 13 및 도 14는 본 발명의 일 실시예에 따른 효과를 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 네트워크의 성능 평가를 위해 NS(Network Simulator)-2 시뮬레이터를 사용하였다.
시뮬레이션 모델은 네트워크 영역의 크기를 300mㅧ300m로 하였고 기준의 위치는 (0,0)에 위치 시켰으며, 센서 노드의 개수는 300개로 설정하고 그 중에 30개를 클러스터 헤더로 설정하였다. 각 노드의 이동은 없는 것으로 설정하여 100초 동안 시뮬레이션을 수행하였다. 실험에 사용된 무선 센서 네트워크의 전파 방식은 Two-ray Ground Reflection 모델을 사용하였으며, 노드의 최대 전송 범위는 50m로 설정하였다. 패킷 사이즈는 4000 비트(bit)로 설정하였고 MAC 프로토콜은 802.15.4 MAC 프로토콜을 사용하였다. 이를 정리하면 다음 표 1와 같다.
Parameters | Values |
Network Size | 300mㅧ300m |
Location of the base station | (0,0) |
The number of nodes | 270 |
The number of Cluster Header | 30 |
Data | 4000bit |
Simulation time | 100sec |
도 13은 클러스터 헤더에서 발생되는 패킷을 동시에 발생시키도록 하여 나온 시뮬레이션 결과이다.
가로축이 의미하는 동시 발생 패킷 수는 처음에는 1개의 클러스터 헤더에서 패킷이 발생되며 다음에는 2개의 클러스터 헤더에서 2개의 패킷이 동시에 발생되고 그 다음에는 3개의 클러스터 헤더에서 3개의 패킷이 동시에 발생되는 것을 의미한다. 즉 가로축이 의미하는 것은 혼잡 구간이 계속적으로 늘어나는 경우를 뜻하게 된다. 세로축이 의미하는 전송 지연 시간은 실제적인 지연을 뜻하게 된다. 즉 패킷이 발생되는 시점에서 싱크 노드까지 패킷이 도달하기까지 걸린 시간을 의미한다.
시뮬레이션 결과를 보게 되면 10개의 클러스터 헤더에서 동시에 10개의 패킷을 전송하기 전에는 종래의 방식(1310)이 지연이 적지만, 이 구간을 지나가게 되면 네트워크 코딩을 적용하는 본 발명(1320)이 더 지연이 적게 나왔다.
도 13을 살펴보면, 초반에는 전송 지연 시간이 비슷하다가 동시 발생 패킷이 많아지게 되면 혼잡도가 발생하는 부분이 많아지게 되어 네트워크 코딩을 사용한 본 발명(1320) 지연이 종래(1310)의 지연보다 약 19% 줄어든다.
이 결과가 뜻하는 것은 대규모 망으로 갈수록 혼잡 구간은 증가하게 되며 이 경우에는 네트워크 코딩을 적용하는 것이 지연 측면에서 이득을 본다.
도 14는 순차 패킷 발생 시 전송 지연 시간을 나타낸 시뮬레이션 결과이다. 가로축과 세로축이 의미하는 바는 위에 설명하는 바와 같다. 다만 다른 점이 있다면, 도 13은 클러스터 헤더에서 동시에 패킷을 전송하게 하였고, 도 14는 1개의 클러스터 헤더가 1개의 패킷을 보내게 되고, 2개의 클러스터 헤더가 2개의 패킷을 보내게 될 때에는 1개의 패킷이 전송된 후 200ms 후에 다음 패킷이 전송되도록 하여 순차적으로 패킷을 전송하도록 설정하였다. 순차적으로 패킷을 전송하게 함으로써 혼잡구간에서의 지연이 줄어들게 하여 전체 네트워크의 지연이 줄어들게 한 시뮬레이션 결과이다.
도 14를 살펴보면, 순차적으로 보내게 될 경우 혼잡 문제가 발생하는 부분이 적어지게 되므로 전체적으로 전송 지연 시간이 줄어드는 것을 알 수 있으며, 발생되는 패킷의 수가 많아질수록 네트워크 코딩을 사용하는 본 발명(1420)의 전송 지연 시간이 종래(1410)의 전송 지연시간보다 약 15% 감소함을 알 수 있다.
Claims (8)
- 데이터 전송장치에서 데이터 전송방법에 있어서,
제1 라우팅 경로 탐색을 통하여 네크워크 코딩이 필요한 클러스터 헤더 및 추가데이터 량을 설정하는 단계;
추가데이터 수신을 위한 제2 라우팅 경로를 설정하는 단계;
네트워크 코딩 데이터 및 상기 추가데이터를 수신하는 단계; 및
상기 네트워크 코딩 데이터 및 상기 추가데이터를 이용하여 데이터를 복원하는 단계를 포함하는 데이터 전송방법.
- 제1항에 있어서,
제1 라우팅 경로 탐색을 통하여 네크워크 코딩이 필요한 클러스터 헤더 및 추가데이터 량을 설정하는 단계는
클러스터 헤더 기반의 트리구조의 제1 라우팅 경로를 탐색하는 단계;
상기 탐색된 제1 라우팅 경로에서, 자식 클러스터 헤더가 적어도 2인 클러스터 헤더를 상기 네크워크 코딩이 필요한 클러스터 헤더로 설정하는 단계; 및
네트워크 코딩된 데이터를 복원하기 위하여 필요한 추가데이터 량을 설정하는 단계를 포함하는 데이터 전송방법.
- 제1항에 있어서,
상기 추가데이터 수신을 위한 제2 라우팅 경로를 설정하는 단계는
싱크노드 또는 클러스터 헤더와 이웃 노드 간의 높이 차이 정보 및 신호 세기 정보에 의해 릴레이 노드를 설정하는 단계; 및
상기 추가데이터를 상기 릴레이 노드를 경유하여 전송하는 제2 라우팅 경로를 설정하는 단계를 포함하는 데이터 전송 방법.
- 제1항에 있어서,
상기 추가데이터 수신을 위한 제2 라우팅 경로를 설정하는 단계는
싱크노드와 클러스터 헤더와의 실제 거리를 기반하여 제2 라우팅 경로를 설정하는 것을 특징으로 하는 데이터 전송 방법.
- 데이터 전송 장치에 있어서,
제1 라우팅 경로를 탐색하고 네크워크 코딩이 필요한 클러스터 헤더 및 추가데이터 량을 선정하는 제1 라우팅 경로 탐색부;
추가 데이터 정보를 수신하기 위한 제2 라우팅 경로를 설정하는 제2 라우팅 경로 설정부;
네트워크 코딩된 패킷 데이터 및 추가데이터를 수신하는 데이터수신부; 및
상기 네트워크 코딩된 패킷 데이터 및 상기 추가데이터를 이용하여 데이터를 복원하는 데이터복원부를 포함하는 데이터 전송장치.
- 제5항에 있어서,
상기 네크워크 코딩이 필요한 클러스터 헤더는 자식 클러스터 헤더가 적어도 2인 클러스터 헤더인 것을 특징으로 하는 데이터 전송장치.
- 제5항에 있어서,
상기 제2 라우팅 경로는
싱크노드 또는 클러스터 헤더와 이웃 노드 간의 높이 차이 정보 및 신호 세기 정보에 의해 설정되어 릴레이 노드를 경유하여 추가데이터를 수신하는 제2 라우터 경로를 설정하거나 상기 싱크노드와 상기 클러스터 헤더와의 실제 거리를 기반하여 제2 라우팅 경로를 설정하는 것을 특징으로 하는 데이터 전송장치. - 제5항에 있어서,
상기 네트워크 코딩은 선형 코딩 기법인 것을 특징으로 하는 데이터 전송 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100140605A KR101195956B1 (ko) | 2010-12-31 | 2010-12-31 | 무선 센서 네트워크에서 데이터 전송 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100140605A KR101195956B1 (ko) | 2010-12-31 | 2010-12-31 | 무선 센서 네트워크에서 데이터 전송 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120078335A true KR20120078335A (ko) | 2012-07-10 |
KR101195956B1 KR101195956B1 (ko) | 2012-10-30 |
Family
ID=46711699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100140605A KR101195956B1 (ko) | 2010-12-31 | 2010-12-31 | 무선 센서 네트워크에서 데이터 전송 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101195956B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9154544B2 (en) | 2013-01-11 | 2015-10-06 | Electronics And Telecommunications Research Institute | Device and method for supporting internet-based sensor data transmission |
KR101876116B1 (ko) * | 2017-01-24 | 2018-07-09 | 한경대학교 산학협력단 | 무선 센서 네트워크에서 데이터 병합 트리의 생성 방법 및 시스템 |
-
2010
- 2010-12-31 KR KR1020100140605A patent/KR101195956B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9154544B2 (en) | 2013-01-11 | 2015-10-06 | Electronics And Telecommunications Research Institute | Device and method for supporting internet-based sensor data transmission |
KR101876116B1 (ko) * | 2017-01-24 | 2018-07-09 | 한경대학교 산학협력단 | 무선 센서 네트워크에서 데이터 병합 트리의 생성 방법 및 시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR101195956B1 (ko) | 2012-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100664953B1 (ko) | 모바일 애드 혹 네트워크 환경에서의 멀티캐스트 라우팅방법 | |
Petrioli et al. | ALBA-R: Load-balancing geographic routing around connectivity holes in wireless sensor networks | |
JP4834102B2 (ja) | 無線ネットワークにおけるルーティングに対するリンクコスト判定方法及び装置 | |
CN105993186B (zh) | 虚拟多点收发机的系统和方法 | |
JP6863119B2 (ja) | 無線通信システム、無線中継装置、及び無線中継プログラム | |
US20070030847A1 (en) | Method and apparatus for providing network communicatiions | |
US8547852B2 (en) | Communicating device and method of controlling communicating device | |
CN103209435A (zh) | 基于拥塞控制的无线多跳网多播方法 | |
KR101113052B1 (ko) | 엘아이지알 알고리즘을 이용한 무선 센서 및 무선 애드혹 네트워크 | |
CN103260210A (zh) | 一种多跳网络中多跳路由的建立方法、系统及装置 | |
US9578587B2 (en) | Wireless communication device and route selection method in wireless network | |
KR101195956B1 (ko) | 무선 센서 네트워크에서 데이터 전송 방법 및 장치 | |
US20140198770A1 (en) | Node device, communication method, and storage medium | |
CN109819496A (zh) | 一种海上多移动异构平台短距离组网方法 | |
JP2008227579A (ja) | 無線装置およびそれを備えた無線通信ネットワーク | |
KR101107326B1 (ko) | 센서 네트워크에서의 이웃 노드 발견 및 보고 방법 | |
CN104507119B (zh) | 一种基于并发传输的无线传感器网络数据收集方法 | |
CN101668311B (zh) | 移动Ad Hoc网络的路由方法 | |
CN116647892A (zh) | 面向地下无线物联网的低能耗高可靠性网络路由方法 | |
Chen | OPAG: Opportunistic data aggregation in wireless sensor networks | |
JP2014175766A (ja) | 無線通信装置、無線通信システム及び無線通信プログラム | |
Junnarkar et al. | Novel quality of service (qos) improvement routing protocol for manet using ant colony optimization | |
JP2005304060A (ja) | データリンク伝送制御方法、移動通信システム及びデータリンク伝送制御装置 | |
Khaitiyakun et al. | An analysis of data dissemination on vanet by using content delivery network (cdn) technique | |
Mateen et al. | Adaptive multi-path on-demand routing in mobile ad hoc networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20151012 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20161004 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |