KR101936949B1 - 선형 무선 센서 네트워크에서의 센싱 데이터 전송 방법 - Google Patents

선형 무선 센서 네트워크에서의 센싱 데이터 전송 방법 Download PDF

Info

Publication number
KR101936949B1
KR101936949B1 KR1020170134189A KR20170134189A KR101936949B1 KR 101936949 B1 KR101936949 B1 KR 101936949B1 KR 1020170134189 A KR1020170134189 A KR 1020170134189A KR 20170134189 A KR20170134189 A KR 20170134189A KR 101936949 B1 KR101936949 B1 KR 101936949B1
Authority
KR
South Korea
Prior art keywords
sensing data
node
sensor
nodes
gateway
Prior art date
Application number
KR1020170134189A
Other languages
English (en)
Other versions
KR20180064275A (ko
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 서울시립대학교 산학협력단
Publication of KR20180064275A publication Critical patent/KR20180064275A/ko
Application granted granted Critical
Publication of KR101936949B1 publication Critical patent/KR101936949B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access
    • H04W74/08Non-scheduled access, e.g. ALOHA
    • H04W74/0833Random access procedures, e.g. with 4-step access
    • H04W74/0841Random access procedures, e.g. with 4-step access with collision treatment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access
    • H04W74/08Non-scheduled access, e.g. ALOHA
    • H04W74/0866Non-scheduled access, e.g. ALOHA using a dedicated channel for access
    • H04W74/0875Non-scheduled access, e.g. ALOHA using a dedicated channel for access with assigned priorities based access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

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

Abstract

복수의 센서 노드가 두 개의 게이트웨이 노드 사이에 선형으로 연결된 선형 무선 센서 네트워크에서, 복수의 센서 노드 중 특정 센서 노드가 센싱 데이터를 전송하기 위하여, 제1 방향과 제2 방향에 연결된 이웃 노드들로 센싱 데이터를 전송하고, 이웃 노드들 중 적어도 하나의 이웃 노드로부터 미리 설정한 시간 내에 센싱 데이터에 대한 iACK가 전송되지 않으면, 전송 주체 노드에 근접한 제1 게이트웨이 식별자와 iACK가 전송되지 않은 수신 노드에 근접한 제2 게이트웨이 식별자를 확인한다.
제1 게이트웨이 식별자, 제2 게이트웨이 식별자와 미리 저장된 토폴로지 상태 정보, 그리고 이웃 노드와 연결된 방향을 토대로, 이웃 노드로 재전송할 센싱 데이터의 재전송 시점을 결정하고, 결정한 시점에 따라 이웃 노드로 재전송 플래그가 설정된 센싱 데이터를 재전송한다. 재전송된 센싱 데이터를 수신한 센서 노드는 다음 타임 슬롯에 재전송되는 또 다른 센싱 데이터를 기다렸다가 이를 재전송된 두 센싱 데이터를 병합하여 두 이웃 노드로 한번에 전송한다.

Description

선형 무선 센서 네트워크에서의 센싱 데이터 전송 방법{Method for sensing data transfer in linear wireless sensor network}
본 발명은 선형 무선 센서 네트워크에서의 센싱 데이터 전송 방법에 관한 것이다.
선형 무선 센서 네트워크(linear wireless sensor network)는 교량, 도로, 국경, 탄광, 공장 컨베이어 벨트 등의 다양한 시설들을 모니터링 하는 통신망 구조이다. 선형 무선 센서 네트워크는 모니터링을 수행하면서 획득한 센싱 데이터를 전달하는 센서 노드와, 센서 노드로부터 수신한 센싱 데이터를 수집하는 싱크 역할을 수행하는 게이트웨이 노드로 구성된다.
선형 무선 센서 네트워크에 활용되고 있는 무선 통신 기술은 다양하다. 그 중 하나인 IEEE 802.11는 MAC(Media Access Control) 프로토콜로서 CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance) 기반의 DCF(Distributed Coordinate Function)와 폴링 기반의 PCF(Point Coordinate Function)로 구성된 프로토콜이 정의되어 있다. 이러한 무선 통신 기술은 전력 소모가 큰 단점이 있어서, 전력이 한정된 무선 센서 네트워크에 사용하기에 부적합한 단점이 있다. 반면 또 다른 통신 기술인 IEEE 802.15.1, 802.15.4는 저전력 통신이 가능해서 무선 센서 네트워크에 적합하지만, 지원 가능한 토폴로지가 성형(star) 토폴로지로 한정되어 있어서 선형 무선 센서 네트워크에 사용하기에는 부적합하다.
따라서, 본 발명은 센싱 데이터를 전송하기 위한 프로토콜인 타임 슬롯 기반의 MAC 프로토콜을 이용하는 선형 무선 센서 네트워크에서 센서 노드의 센싱 데이터 전송 방법을 제공한다.
상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 하나의 특징인 복수의 센서 노드가 두 개의 게이트웨이 노드 사이에 선형으로 연결된 선형 무선 센서 네트워크에서, 복수의 센서 노드 중 특정 센서 노드인 전송 주체 노드가 센싱 데이터를 전송하는 방법으로서,
제1 방향과 제2 방향에 연결된 이웃 노드들로 센싱 데이터를 전송하는 단계; 상기 이웃 노드들 중 적어도 하나의 이웃 노드로부터 미리 설정한 시간 내에 상기 센싱 데이터에 대한 iACK가 전송되지 않으면, 상기 전송 주체 노드에 근접한 제1 게이트웨이 식별자와 상기 iACK가 전송되지 않은 수신 노드에 근접한 제2 게이트웨이 식별자를 확인하는 단계; 상기 제1 게이트웨이 식별자, 제2 게이트웨이 식별자와 미리 저장된 토폴로지 상태 정보, 그리고 상기 이웃 노드와 연결된 방향을 토대로, 상기 이웃 노드로 재전송할 센싱 데이터의 재전송 시점을 결정하는 단계; 및 상기 결정한 시점에 따라 상기 이웃 노드로 재전송 플래그가 설정된 센싱 데이터를 재전송하는 단계를 포함한다.
상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 또 다른 특징인 복수의 센서 노드가 두 개의 게이트웨이 노드 사이에 선형으로 연결된 선형 무선 센서 네트워크에서, 복수의 센서 노드 중 특정 센서 노드가 센싱 데이터를 전송하는 방법으로서,
제1 방향에 연결된 이웃 노드로부터 재전송된 제1 센싱 데이터를 수신하는 단계, 미리 정해진 시점에 제2 방향에 연결된 이웃 노드로부터 재전송된 제2 센싱 데이터를 수신하는 단계, 상기 제1 센싱 데이터와 제2 센싱 데이터를 토대로 병합 데이터를 생성하는 단계, 그리고 상기 생성한 병합 데이터를 상기 제1 방향 및 제2 방향에 연결된 이웃 노드로 전송하는 단계를 포함한다.
상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 또 다른 특징인 복수의 센서 노드가 두 개의 게이트웨이 노드 사이에 선형으로 연결된 선형 무선 센서 네트워크에서, 복수의 센서 노드 중 특정 센서 노드가 센싱 데이터를 전송하는 방법으로서,
제1 방향에 연결된 제1 이웃 노드로부터 수신한 센싱 데이터를 제2 방향에 연결된 제2 이웃 노드로 전달하는 단계, 미리 설정된 시간 내에 상기 센싱 데이터에 대한 iACK가 오지 않으면, 상기 특정 센서 노드에 근접한 제1 게이트웨이 식별자, 그리고 상기 제2 이웃 노드에 근접한 제2 게이트웨이 식별자를 토대로 상기 센싱 데이터를 재전송할 시점을 결정하는 단계, 그리고 상기 결정한 시점에 상기 센싱 데이터를 제2 이웃 노드로 재전송하는 단계를 포함한다.
본 발명에 따르면 타임 슬롯 기반 임의 접근 방식의 MAC 프로토콜을 사용함으로써 특정 타임 슬롯을 특정 노드가 사용하도록 지정하지 않기 때문에, 다른 MAC 프로토콜 방식에 비해 기능이 단순하고 타임 슬롯을 효율적으로 사용할 수 있다.
또한, 전송할 데이터를 갖고 있는 노드가 매체 감지 없이 바로 데이터를 전송할 수 있기 때문에, CSMA 기반 방식보다 단순하게 동작할 수 있다.
또한, 본 발명에서는 임의 접근 방식에 따라 충돌이 발생하는 경우 선형 센서 네트워크 구조를 활용하여 충돌을 유발한 노드들 간 전송 우선순위를 정해서 충돌을 해결할 수 있는 장점이 있다.
또한 본 발명에 따르면, 충돌 발생시 센싱 데이터의 병합 연산 즉, 네트워크 코딩 기법을 사용함으로써 무선 통신의 효율을 높이고 전송 지연 시간을 감소시킬 수 있다.
도 1은 본 발명의 실시예에 따른 선형 무선 센서 네트워크의 구조에 대한 예시도이다.
도 2는 본 발명의 실시예에 따른 센싱 데이터 전송 장치의 구조도이다.
도 3은 본 발명의 실시예에 따른 센싱 데이터 전송 방법에 대한 흐름도이다.
도 4는 본 발명의 실시예에 따른 노드 초기화에 대한 예시도이다.
도 5는 본 발명의 실시예에 따른 센싱 데이터 전송 충돌 해결에 대한 예시도이다.
도 6은 본 발명의 실시예에 따른 전송 노드에서의 충돌 발생과 해결에 대한 예시도이다.
도 7a 내지 도 7e는 본 발명의 제1 실시예에 따른 동시 전송으로 인한 충돌 발생과 해결에 대한 예시도이다.
도 8은 본 발명의 제2 실시예에 따른 동시 전송으로 인한 충돌 발생과 해결에 대한 예시도이다.
도 9는 본 발명의 제3 실시예에 따른 동시 전송으로 인한 충돌 발생과 해결에 대한 예시도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 도면을 참조로 하여 본 발명의 실시예에 따른 선형 무선 센서 네트워크에서의 센싱 데이터 전송 장치 및 방법에 대해 설명한다.
도 1은 본 발명의 실시예에 따른 선형 무선 센서 네트워크의 구조에 대한 예시도이다.
도 1에 도시된 바와 같이, 선형 무선 센서 네트워크는 두 개의 게이트웨이 노드(G1, G2) 사이에 복수의 센서 노드(S1∼S5)들이 선형으로 연결되어 있다. 게이트웨이 노드(G1, G2)는 싱크 역할을 수행하고, 센서 노드(S1∼S5)들은 각각 모니터링을 수행하거나 센싱 데이터를 생성한다. 센서 노드(S1∼S5)와 게이트웨이 노드(G1, G2)는 선형으로 연결되며, 두 개의 인접한 노드 간(게이트웨이 노드와 센서 노드간, 또는 센서 노드와 센서 노드 간)의 거리는 일정하게 유지된다.
센싱 데이터의 크기는 일정하며, 게이트웨이 노드(G1, G2)와 센서 노드(S1~S5)는 시간 동기화를 통해 타임 슬롯을 인지한다. 그리고 하나의 타임 슬롯 동안 하나의 센서 노드로부터 하나의 센싱 데이터가 송신되면, 센서 노드에 인접한 다른 센서 노드에서 센싱 데이터를 수신한다.
복수의 센서 노드(S1∼S5)와 게이트웨이 노드(G1, G2)에 이동성은 없다. 그리고 각각의 노드(S1∼S5, G1, G2) 내에 구비되어 있으며 센싱 데이터를 송수신하기 위한 안테나는 전방향 안테나를 사용하는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다.
복수의 센서 노드(S1∼S5)와 게이트웨이 노드(G1, G2)는 전방향 안테나를 통해 제1 방향과 제2 방향으로 센싱 데이터를 송수신한다. 즉, 임의의 센서 노드가 제1 방향으로의 센싱 데이터를 수신하면, 제1 방향에 인접하여 있는 이웃한 센서 노드로 센싱 데이터를 전달한다. 이와 마찬가지로 임의의 센서 노드가 제2 방향으로의 센싱 데이터를 수신하면, 제2 방향에 인접하여 있는 이웃한 센서 노드로 센싱 데이터를 전달한다.
여기서, 제1 방향과 제2 방향은 어느 하나의 방향으로 한정하지 않는다. 그러나, 본 발명의 설명의 편의를 위하여 제1 방향은 제1 게이트웨이 노드(G1)에서 제2 게이트웨이 노드(G2) 방향, 제2 방향은 제2 게이트웨이 노드(G2)에서 제1 게이트웨이 노드(G1) 방향인 것을 예로 하여 설명하며, 제1 방향과 제2 방향은 상호 역방향이다.
각각의 노드가 센싱 데이터 또는 설정을 위한 메시지를 전송하는 데이터 전송 반경은, 센싱 데이터 전송을 시도하고자 하는 노드(이하, 설명의 편의를 위하여 '전송 주체 노드'라 지칭함)의 양쪽에 바로 인접한 두 개의 노드(이하, 설명의 편의를 위하여 '이웃 노드'라 지칭함)까지로 한정되는 것을 예로 하여 설명한다. 즉, 전송 주체 노드를 기준으로 1-홉만큼 양 옆으로 선형 연결된 이웃 노드까지만 데이터의 전송 반경이 설정되어 있는 것을 예로 하여 설명한다. 만약 노드가 게이트웨이 노드와 같이 선형 무선 센서 네트워크 구조에서 가장 가장자리에 위치하는 경우에는, 인접한 센서 노드 하나로만 데이터를 전송한다.
이와 같이 각각의 노드에 대한 데이터 전송 반경을 한정함으로써, 노드가 데이터 전송을 위해 사용하는 전력 소모를 줄일 수 있다. 또한, 임의 접근 기반의 프로토콜에 따라, 데이터 전송 충돌 가능성을 줄일 수 있다.
게이트웨이 노드(G1, G2)는 선형 무선 센서 네트워크에서 유일한 식별자인 게이트웨이 식별자(Gateway ID, GID)가 부여되어 있다. 센서 노드(S1∼S5)는 센서 식별자(Sensor ID, SID)가 부여되어 있다. 각각의 노드들에 식별자가 부여되는 방법이나, 부여된 식별자의 형태는 어느 하나로 한정하지 않는다. 그리고 각각의 노드들이 송수신하는 센싱 데이터의 크기는 고정되어 있으며, 하나의 센싱 데이터를 전송하는 데 소요되는 시간은 일정하다고 예를 들어 설명한다.
본 발명의 실시예에서는 각각의 노드 중 센서 노드(S1∼S5)가 구조물의 상태 정보를 센싱하고, 센싱한 센싱 정보를 포함하는 센싱 데이터를 생성하여 이웃 노드들로 송수신할 수 있는 기능이 부여되어 있다. 이에 따라, 센서 노드(S1∼S5)를 센싱 데이터 전송 장치라고도 지칭하나, 반드시 이와 같이 한정되는 것은 아니다.
게이트웨이 노드(G1, G2)는 선형 무선 센서 네트워크를 초기 설정하기 위하여, 설정 초기 메시지(G_ANC)를 생성하여 전송한다. 여기서, 설정 초기 메시지는 메시지를 생성한 게이트웨이 노드에 대한 소스 게이트웨이 식별자, 그리고, 설정 초기 메시지를 전달하는 전송 주체 노드의 식별자를 포함하여 G_ANC(소스 게이트웨이 식별자, 전송 주체 식별자)로 생성된다.
제1 게이트웨이 노드(G1)는 생성한 설정 초기 메시지를 바로 인접한 제1 센서 노드(S1)로 전송한 후, 최종적으로 제2 게이트웨이 노드(G2)까지 도착하도록 제1 방향으로 전송한다. 그리고 제2 게이트웨이 노드(G2)는 생성한 설정 초기 메시지를 바로 인접한 제5 센서 노드(S5)로 전송한 후, 최종적으로 제1 게이트웨이 노드(G1)까지 도착하도록 제2 방향으로 전송한다.
선형 무선 센서 네트워크의 설정이 완료된 후, 센서 노드(S1∼S5)들이 센싱하여 생성한 센싱 데이터가 송수신된다. 센싱 데이터의 형태는 D(Si, Sj, r, e)이다. 여기서, Si는 센싱 데이터를 생성한 소스 노드의 식별자(이하, '소스 식별자'라 지칭함), Sj는 센싱 데이터를 전송하는 전송 주체 노드의 식별자(이하, '전송 주체 식별자'라 지칭함)를 의미한다. r은 처음 전송되는 센싱 데이터인지 재전송 데이터인지를 나타내는 재전송 플래그이고, e는 센싱 데이터가 두 개의 센싱 데이터가 병합된 것(이하, '병합 데이터'라 지칭함)인지를 나타내는 병합 플래그이다.
그리고, 본 발명의 실시예에서는 각각의 노드들이 전송하는 센싱 데이터를 형태에 따라 다음의 경우로 구분하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다.
- 원전송: 센서 노드 자신이 센싱 데이터를 생성한 경우, 인접한 두 개의 이웃 노드로 센싱 데이터를 원전송한다고 지칭한다.
- 전달: 이웃한 이웃 노드로부터 센싱 데이터를 수신한 센서 노드가, 자신의 다른 이웃 노드로 센싱 데이터를 전달한다고 지칭한다. 그러나, 본 발명의 설명의 편의를 위하여 원전송과 전달 모두 '전송'이라고 지칭할 수도 있다.
- 재전송: 이웃 노드로 전송할 센싱 데이터를 다시 한번 이웃 노드로 전송하는 경우, 센싱 데이터를 재전송한다고 지칭한다.
- 병합 전송: 센서 노드가 두 개의 센싱 데이터를 동시에 수신하여 충돌이 발생하고 두 개의 센싱 데이터를 각각 다른 방향의 두 이웃 노드에 제공해야 하는 경우가 발생하였다고 가정한다. 그러면, 두 개의 센싱 데이터를 두 이웃 노드로부터 우선순위에 따라 순차적으로 재전송 받아 병합 연산한 후, 한 번에 전송하는 것을 병합 전송한다고 지칭한다.
- iACK 전송: 센싱 데이터를 무사히 수신한 센서 노드가, 전달 방향상의 다음 이웃 노드에 해당 센싱 데이터를 전달할 때, 전달 역방향의 이웃 노드 즉, 바로 이전 전송 주체 노드가 이 전달을 엿들음으로써 전송 성공을 확인할 수 있게 하는 것을 iACK 전송이라 지칭한다.
이와 같은 환경에서, 센서 노드(S1∼S5)에 해당하는 센싱 데이터 전송 장치(100)의 구조에 대해 도 2를 참조로 설명한다.
도 2는 본 발명의 실시예에 따른 센싱 데이터 전송 장치의 구조도이다.
도 2에 도시된 바와 같이, 센싱 데이터 전송 장치(100)는 메시지 수신부(110), 메시지 전송부(120), 저장부(130) 및 처리부(140)를 포함한다.
메시지 수신부(110)는 게이트웨이 노드 또는 이웃한 센서 노드 중 어느 하나의 노드로부터 제1 방향 및 제2 방향으로 전달되는 설정 초기 메시지(G_ANC)를 수신한다. 여기서 설정 초기 메시지(G_ANC)에는 메시지를 생성한 게이트웨이 노드(G1, G2)의 소스 게이트웨이 식별자, 그리고 설정 초기 메시지를 전달하는 이웃 노드의 전송 주체 식별자가 포함되어 있다.
메시지 수신부(110)는 이웃한 센서 노드들로부터 전달되는 센싱 데이터(D)를 수신한다. 센싱 데이터에는 센싱 데이터를 생성한 소스 노드의 소스 식별자, 센싱 데이터를 전달하는 전송 주체 노드에 대한 전송 주체 식별자, 재전송 플래그 및 병합 플래그를 포함한다. 여기서 재전송 플래그는 해당 센싱 데이터가 처음 전달되는 데이터인지 재전송 데이터인지 여부를 나타내는 플래그이고, 병합 플래그는 두 개의 센싱 데이터가 병합된 형태의 센싱 데이터인지 여부를 나타내는 플래그이다.
센싱 데이터 전송 장치는 재전송 플래그를 확인함으로써, 해당 센싱 데이터가 재전송된 데이터임을 확인할 수 있다. 그리고 센싱 데이터 전송 장치는 병합 플래그를 확인함으로써, 이웃 노드로부터 전달된 센싱 데이터 내에 두 개의 센싱 데이터가 병합되어 있음을 확인하거나, 하나의 센싱 데이터가 전달된 것임을 확인할 수 있다. 이들 플래그 정보에 대해서는 이후 상세히 설명한다.
메시지 수신부(110)는 센싱 데이터 전송 장치(100)가 원전송하거나 전달한 센싱 데이터에 대하여, 센싱 데이터를 수신하였음을 알리는 iACK를 이웃 노드로부터 수신한다.
메시지 전송부(120)는 메시지 수신부(110)가 이웃 노드로부터 설정 초기 메시지를 수신하면, 설정 초기 메시지의 전송 주체 식별자에 센싱 데이터 전송 장치(100) 즉, 센서 노드 자신에게 할당된 센서 식별자를 포함하여 이웃 노드로 전달한다. 또한, 센싱 데이터 전송 장치(100)는 자신이 생성한 센싱 데이터를 이웃 노드로 원전송하거나, 이웃 노드로부터 전달된 센싱 데이터를 다른 이웃 노드로 전달한다. 이때, 저장부(130)에 저장된 인접 노드에 대한 정보를 토대로 센싱 데이터를 이웃 노드로 전달한다.
저장부(130)는 메시지 수신부(110)를 통해 수신한 설정 초기 메시지에 포함되어 있는 노드 정보를 토폴로지 상태 정보로써 저장, 관리한다. 여기서 노드 정보는 설정 초기 메시지를 생성한 게이트웨이 식별자와 함께, 설정 초기 메시지를 전달한 이웃 노드들에 대한 식별자를 포함할 수 있다. 저장부(130)에 저장되는 토폴로지 상태 정보는 다음 표 1과 같다.
·G1: (G2-S1)
·G2: (G1-S5)
·S1: (G1, G2-S2)
·S2: (G1-S1, G2-S3)
·S3: (G1-S2, G2-S4)
·S4: (G1-S3, G2-S5)
·S5: (G1-S4, G2)
여기서, (Gi-Sx, Gj-Sy)는 게이트웨이 노드 Gi를 향한 이웃 노드 Sx와, 게이트웨이 노드 Gj를 향한 이웃 노드 Sy 를 의미한다. 이때, i, j, x, y는 정수에 해당하고, 각각의 센서 노드 또는 게이트웨이 노드에 대응한다. 그리고 각 센서 노드 및 게이트웨이 노드에는 토폴로지 상태 정보가 저장되어 있다.
예를 들어, 제2 센서 노드(S2)는 설정 초기 메시지를 토대로 (G1-S1, G2-S3)의 토폴로지 상태 정보를 저장부(130)에 저장한다. 여기서, G1-S1은 제1 게이트웨이(G1)를 향한 제2 방향 쪽에 이웃 노드로 제1 센서 노드(S1)가 있고, 제2 게이트웨이(G2)를 향한 제1 방향 쪽에 이웃 노드로 제3 센서 노드(S3)가 있음을 의미한다.
이와 같이 토폴로지 상태 정보를 토대로, 게이트웨이 노드(G1, G2)에 인접하지 않은 모든 센서 노드(S2∼S4)는, 자신의 두 이웃 센서 노드의 센서 식별자와 양쪽 게이트웨이 노드(G1, G2)의 게이트웨이 식별자를 알게 된다. 그리고, 게이트웨이 노드(G1, G2)에 인접한 센서 노드(S1, S5)는 하나의 이웃 센서 노드(S2, S4)의 센서 식별자와 양쪽 게이트웨이 노드의 게이트웨이 식별자를 알 수 있다.
또한 게이트웨이 식별자와 센서 식별자를 연관시킴으로써, 각 센서 노드는 선형 무선 센서 네트워크에서 자신의 위치를 대략적으로 파악할 수 있다. 이렇게 파악된 센서 노드의 위치를 토대로, 이후 센싱 데이터를 재전송할 때 우선순위가 정해진다. 이에 대해서는 이후 상세히 설명한다.
저장부(130)는 이웃 노드들로부터 동시에 센싱 데이터를 수신하여 메시지 충돌이 발생하면, 우선순위에 의해 먼저 전송되는 센싱 데이터를 임시로 저장한다. 그리고 충돌된 다른 센싱 데이터가 전달되면, 처리부(140)로 임시 저장한 센싱 데이터를 전달하여 두 개의 센싱 데이터가 병합되도록 한다.
처리부(140)는 메시지 수신부(110)를 통해 수신한 설정 초기 메시지를 분석하여, 설정 초기 메시지를 생성한 게이트웨이 식별자, 설정 초기 메시지를 전달한 이웃 노드에 대한 전송 주체 식별자를 추출한다. 그리고 추출한 정보를 토폴로지 상태 정보로써 저장부(130)에 저장한다.
그리고, 처리부(140)는 센싱 데이터를 생성하여 메시지 전송부(120)를 통해 이웃 노드로 원전송한다. 센싱 데이터에는 센싱 데이터를 생성한 센서 노드의 소스 식별자, 센싱 데이터를 전달하는 노드의 전송 주체 식별자, 재전송 플래그와 병합 플래그를 포함한다. 이때, 센서 노드가 센싱 데이터를 생성하여 원전송하는 경우라면, 소스 노드 식별자와 전송 주체 식별자는 동일하게 설정된다.
처리부(140)는 이웃 노드로 원전송한 센싱 데이터 또는 전달한 센싱 데이터에 대한 iACK가 미리 설정된 시간 내에 수신되었는지 확인한다. 만약 미리 설정된 시간 내에 iACK가 이웃 노드로부터 전송되지 않았다면, 센싱 데이터를 재전송하도록 처리한다.
이때, 해당 센싱 데이터가 재전송되는 센싱 데이터임을 나타내기 위해, 데이터 메시지의 헤더에 재전송 여부를 나타내는 재전송 플래그를 설정한 후 메시지 전송부(120)로 전송한다. 그리고, 처리부(140)가 센싱 데이터의 재전송을 결정할 때, 센싱 데이터에 포함된 소스 식별자와 전송 주체 식별자를 토대로, 전송부(120)를 통해 이웃 노드로 재전송하는 우선순위를 파악한 후, 우선순위에 따라 센싱 데이터를 바로 재전송하거나 미리 설정된 시간 후에 재전송하도록 처리한다. 재전송 방법에 대해서는 이후 상세히 설명한다.
그리고, 처리부(140)는 이웃 노드로부터 센싱 데이터가 병합 전송된 경우, 자신이 바로 전에 전달한 센싱 데이터와 이웃 노드로부터 수신한 병합 센싱 데이터에 대해 병합 연산(
Figure 112017101751311-pat00001
, 도면에서는 표기의 편의를 위하여 '+'로 나타냄)한다. 이를 통해, 자신이 이웃 노드로 전달한 센싱 데이터는 삭제하고, 자신이 이웃 노드로 전송해야 할 센싱 데이터만 추출한다. 이에 대해서도 이후 상세히 설명한다.
이상에서 설명한 센싱 데이터 전송 장치(100)를 이용하여 센싱 데이터를 전송하는 방법에 대해 도 3을 참조로 설명한다.
도 3은 본 발명의 실시예에 따른 센싱 데이터 전송 방법에 대한 흐름도이다.
도 3에 도시된 바와 같이, 복수의 노드들 중 게이트웨이 노드(G1, G2)는 각각 선형 무선 센서 네트워크의 노드 초기화를 위해, 먼저 게이트웨이 노드(G1, G2) 자신에 대한 초기화를 한다. 그리고 센서 노드의 초기화를 위해 자신의 게이트웨이 식별자를 포함하는 설정 초기 메시지를 생성한다(S100).
여기서, 노드를 초기화하는 방법은 여러 방법으로 수행할 수 있으므로, 본 발명의 실시예에서는 상세한 설명을 생략한다. 그리고, 설정 초기 메시지를 생성하는 방법 역시 어느 하나로 한정하지 않는다. 또한, 선형 무선 센서 네트워크에서 게이트웨이 노드가 두 개(G1, G2) 설치되어 있으므로, S100 단계에서 생성되는 설정 초기 메시지도 두 개의 메시지가 생성된다. 그러나, 설명의 편의를 위하여, 제1 게이트웨이 노드(G1)가 생성한 설정 초기 메시지가 전송되는 것을 예로 하여 설명한다.
S100 단계에서 제1 게이트웨이 노드가 생성한 설정 초기 메시지를 수신한 제1 센서 노드(S1)는, 수신한 설정 초기 메시지로부터 이웃 노드의 노드 식별자를 추출하여 저장한다(S120). 제1 센서 노드(S1)의 경우에는, 수신한 설정 초기 메시지에 제1 게이트웨이 노드(G1)의 게이트웨이 식별자가 소스 게이트웨이 식별자와 전송 주체 식별자로 모두 포함되어 있다. 여기서, 제1 센서 노드(S1)는 제1 게이트웨이 노드를 기준으로 할 경우, 제1 방향에 위치한 이웃 노드가 된다.
제1 센서 노드(S1)는 소스 게이트웨이 식별자와 전송 주체 식별자가 일치할 경우, 하나의 식별자만 저장한다. 그리고 설정 초기 메시지의 전송 주체 식별자에 자신의 노드 식별자인 센서 식별자를 포함한 후, 제1 방향에 이웃한 이웃 노드에게 방송함으로써 노드에 대한 초기화를 완료한다(S140). 이때, S100 단계 내지 S140 단계를 통해 노드 초기화와 설정 초기 메시지의 송수신 예에 대해 도 4를 참조로 먼저 설명한도 4는 본 발명의 실시예에 따른 노드 초기화에 대한 예시도이다.
도 4에 도시된 바와 같이, 각각의 노드들에는 식별자가 부여되어 있다. 그리고 제1 게이트웨이 노드(G1)와 제2 게이트웨이 노드(G2)는 제어 신호에 따라 각각 설정 초기 메시지를 생성한다. 이때, 제1 게이트웨이 노드(G1)에서 생성한 설정 초기 메시지에는 소스 게이트웨이 식별자로 G1, 설정 초기 메시지를 전송하는 전송 주체 식별자로 G1이 설정되어 있다. 이와 마찬가지로 제2 게이트웨이 노드(G2)에서 생성한 설정 초기 메시지에는 소스 게이트웨이 식별자로 G2, 설정 초기 메시지를 전송하는 전송 주체 식별자로 G2가 설정되어 있다.
제1 게이트웨이(G1)는 생성한 설정 초기 메시지를 제1 방향으로 인접 노드인 제1 센서 노드(S1)로 전송한다. 이와 마찬가지로 제2 게이트웨이는 생성한 설정 초기 메시지를 제2 방향으로 인접 노드인 제5 센서 노드(S5)로 전송한다. 제1 센서 노드(S1)와 제5 센서 노드(S5)는 게이트웨이 노드로부터 수신한 설정 초기 메시지에 포함된 소스 게이트웨이 식별자와 전송 주체 식별자를 확인하여, 센서 노드 자신과 연결되어 있는 노드가 어떤 노드인지 확인할 수 있도록 노드 식별자를 저장한다.
그리고, 제1 센서 노드(S1)는 제1 게이트웨이의 게이트웨이 식별자와 자신의 식별자를 포함하는 설정 초기 메시지를 제1 방향으로 인접한 제2 센서 노드(S2)로 전송한다. 이와 마찬가지로 제5 센서 노드(S5)는 제2 게이트웨이의 게이트웨이 식별자와 자신의 식별자를 포함하는 설정 초기 메시지를 제2 방향으로 인접한 제4 센서 노드(S4)로 전송한다.
이상의 절차는 제1 게이트웨이 노드(G1)에서 생성한 설정 초기 메시지가 제2 게이트웨이 노드(G2)로 전송되고, 제2 게이트웨이 노드(G2)에서 생성한 설정 초기 메시지가 제1 게이트웨이 노드(G1)로 전송될 때까지 반복된다. 설정 초기 메시지가 반대편 게이트웨이 노드까지 전달이 완료된 후, 각각의 노드에는 토폴로지 상태 정보가 저장된다.
이상의 절차를 통해, 게이트웨이 노드(G1, G2)에 인접하지 않은 모든 센서 노드(S2∼S4)들은 자신의 두 이웃 센서 노드의 센서 식별자와 양쪽 게이트웨이 노드의 게이트웨이 식별자를 알게 된다. 그리고 게이트웨이 노드(G1, G2)에 인접한 센서 노드(S1, S5)는 하나의 이웃 센서 노드에 대한 센서 식별자와 게이트웨이 노드의 게이트웨이 식별자를 알 수 있다.
또한 게이트웨이 식별자와 센서 식별자를 연관시켜 저장함으로써, 각 센서 노드(S1∼S5)는 선형 무선 센서 네트워크에서 자신의 위치를 파악할 수 있다.
한편, 상기 도 3의 S130 단계에 따라 선형 무선 센서 네트워크의 초기화가 완료된 뒤, 복수의 센서 노드들(S1∼S5) 중 임의의 센서 노드들이 센싱 대상(예를 들어, 교량, 도로, 국경, 탄광, 공장 컨베이어 벨트 등)을 센싱하여 센싱 정보를 수집한 경우, 센싱 데이터를 생성하여 인접 노드들로 원전송한다. 또는, 제1 방향 또는 제2 방향 중 적어도 하나의 방향의 이웃 노드로부터 전달되는 센싱 데이터를, 동일 방향에 위치한 자신의 이웃 노드로 전달한다(S140).
센싱 데이터를 전송한 센서 노드는 센싱 데이터를 원전송 또는 전달한 인접 노드로부터 수신 확인 메시지(iACK)를 미리 설정한 시간 내에 수신하였는지 확인한다(S150). 만약 수신 확인 메시지를 수신하였다면, 해당 센싱 노드는 센싱 데이터를 재전송하지 않아도 된다.
그러나, 미리 설정한 시간 내에 수신 확인 메시지를 이웃 노드로부터 수신하지 못하였다면, 센싱 데이터를 전송한 센서 노드는 센싱 데이터의 재전송을 시도한다(S160). 이때, 센싱 데이터가 재전송되는 데이터임을 나타내기 위하여 재전송 플래그를 1로 설정하여 재전송한다.
센서 노드는 센싱 데이터를 재전송할 때, 재전송 우선순위를 결정한다. 그리고, 센싱 데이터 전송에 따른 충돌 없이 센싱 데이터가 재전송될 수 있도록 한다. 본 발명의 실시예에서는 게이트웨이 식별자와 센서 식별자를 토대로 우선순위를 결정하는 것을 예로 하여 설명한다.
즉, 본 발명의 실시예에서는 게이트웨이 식별자가 작은 게이트웨이 노드쪽에 가까운 센서 노드에서 생성된 센싱 데이터의 재전송 우선순위가 높도록 설정한다. 반대로 게이트웨이 식별자가 높은 게이트웨이 노드쪽에 가까운 센서 노드에서 생성된 센싱 데이터의 재전송 우선순위는 낮게 설정한다. 이때, 게이트웨이 식별자의 높고 낮음은 하나의 예를 들어 설명하는 것이며, 우선순위 설정의 기준을 이와 같이 한정하지 않는다.
예를 들어, 도 1에 나타낸 바와 같이 두 개의 게이트웨이 식별자가 G1과 G2로 설정되어 있다고 가정하면, G1인 게이트웨이 식별자가 G2인 게이트웨이 식별자보다 작은 식별자가 된다. 그리고 S3에서 데이터 충돌이 발생할 때, 센서 식별자가 S2인 제1 센서 노드와 S4인 제2 센서 노드가 S3으로 센싱 데이터를 재전송 해야 한다. 이때, 게이트웨이 식별자가 G1인 게이트웨이 노드에 센서 식별자가 S1인 센서 노드가 더 가까이 위치하기 때문에, 제1 센서 노드가 제2 센서 노드보다 센싱 데이터의 재전송 우선순위가 높아진다.
이와 같이 재전송 우선순위에 따른 충돌 해결 방법은, 센서 네트워크 토폴로지가 선형이라는 점을 이용한 것이다. 예를 들어, 한 센서 노드에서 데이터 전송 충돌이 발생하였다는 것은, 해당 센서 노드의 두 이웃 노드들이 동시에 센싱 데이터의 전송을 시도했음을 의미하는 것이다. 따라서 이 둘 간의 전송 순서만 해결하면 충돌이 해결된다.
이에 대해 예를 들어 설명하면, 두 개의 센싱 데이터를 동시에 수신하게 되는 충돌이 발생한 노드(Sn)를 '충돌 중심 노드'라 지칭한다. 그리고, 충돌 중심 노드를 기준으로 재전송 우선순위가 높은 즉, 본 발명의 실시예에서는 센서 식별자가 낮은 쪽의 센서 노드를 제1 재전송 센서 노드, 센서 식별자가 높은 쪽의 센서 노드를 제2 재전송 센서 노드라 지칭한다. 그리고, 제1 재전송 센서 노드가 원전송하였거나 전달한 센싱 데이터를 제1 센싱 데이터, 제2 재전송 센서 노드가 원전송하였거나 전달한 센싱 데이터를 제2 센싱 데이터라 지칭한다.
충돌 중심 노드의 두 이웃 노드들 중 센서 식별자가 낮은 쪽에 있는 제1 재전송 센서 노드는 충돌 중심 노드에서 센싱 데이터가 충돌되었음을 감지하면, 소스 식별자와 전송 주체 식별자를 토대로, 제1 재전송 센서 노드와 제2 재전송 센서 노드의 센싱 데이터 전달에 따른 충돌임을 판단할 수 있다. 따라서, 제1 재전송 센서 노드는 소스 식별자와 전송 주체 식별자, 그리고 미리 설정되어 있는 재전송 우선순위를 토대로, 제2 재전송 센서 노드보다 자신이 우선적으로 센싱 데이터를 재전송할 우선순위가 부여되어 있음을 알 수 있다.
따라서, 제1 재전송 센서 노드는 바로 제1 재전송 센서 노드 자신이 생성하였거나 제1 재전송 센서 노드의 이웃 노드로부터 수신한 제1 센싱 데이터(m1)를 충돌 중심 노드로 재전송한다. 충돌 중심 노드는 제1 재전송 센서 노드가 재전송한 제1 센싱 데이터를 임시로 저장한다. 여기서 제1 재전송 센서 노드가 충돌 중심 노드에서 센싱 데이터가 충돌되었음을 감지하는 방법은, 미리 설정한 시간 내에 수신 확인 메시지를 충돌 중심 노드로부터 수신하지 못한 경우 센싱 데이터가 충돌된 것으로 감지한다.
이와 마찬가지로 센서 식별자가 큰 쪽에 있는 제2 재전송 센서 노드는 충돌 중심 노드에서의 센싱 데이터 충돌을 감지하면, 제1 재전송 센서 노드보다 후순위로 센싱 데이터를 재전송할 수 있음을 인지하게 된다. 따라서, 미리 설정된 시간 후에 충돌 중심 노드로 제2 센싱 데이터(m2)를 재전송한다. 여기서 미리 설정된 시간이라 함은, 제1 재전송 센서 노드가 제1 센싱 데이터를 충돌 중심 노드로 전송할 시간에 해당한다.
충돌 중심 노드는 제2 재전송 센서 노드로부터 재전송된 제2 센싱 데이터와, 임시로 저장된 제1 센싱 데이터를 병합한 후 제1 재전송 센서 노드와 제2 재전송 센서 노드로 전달한다. 여기서, 두 개의 센싱 데이터를 병합하는 방법은 어느 하나로 한정하지 않는다.
제1 재전송 센서 노드와 제2 재전송 센서 노드는 병합된 센싱 데이터를 디코딩한다. 그리고 제1 재전송 센서 노드는 제2 센싱 데이터만을 추출하고, 제2 재전송 센서 노드는 제1 센싱 데이터만을 추출한다. 각각의 센서 노드가 병합된 센싱 데이터를 디코딩하는 방법 역시 본 발명의 실시예에서는 어느 하나의 방법으로 한정하지 않는다.
제1 센싱 데이터와 제2 센싱 데이터가 병합되어 생성된 센싱 데이터를 일반 센싱 데이터와 구분하기 위하여, 센서 노드는 메시지 헤더에 병합 여부를 표시하는 병합 플래그 비트를 추가로 정의한다. 즉, 병합 플래그가 0이면 일반 센싱 데이터이고, 병합 플래그가 1이면 두 개의 센싱 데이터가 병합된 병합 센싱 데이터임을 의미한다. 충돌 중심 노드를 중심으로 각각 1홉씩 떨어진 제1 재전송 센서 노드와 제2 재전송 센서 노드들이 동시에 충돌 중심 노드로 센싱 데이터를 전송하는 경우는, 이와 같은 방법으로 충돌이 해결된다.
센서 노드들이 센싱 데이터를 전송할 때, 원전송, 전달, 병합 전송, 그리고 iACK 전송으로 구분하여 전송한다.
원전송은 센싱 데이터를 생성한 센서 노드가 처음으로 두 개의 이웃 노드에게 전송하는 것으로, 센서 노드를 기준으로 양쪽 1-홉의 이웃 노드에게 모두 전송되어야 한다. 원전송 시 어느 한 쪽으로 전송 실패가 발생하면, 센서 노드는 센싱 데이터를 전송 실패가 발생한 해당 방향으로 재전송한다. 반면 양쪽 모두 전송 실패 시에는 원전송을 다시 시도한다.
병합 전송의 경우는 원전송과 동일하게 동작한다. 따라서 어느 한 쪽으로 병합 전송 실패 시, 해당 방향으로 재전송한다. 그러나, 양쪽 모두 전송 실패 시에는 병합 전송을 다시 시도한다.
iACK 전송은 센싱 데이터 전송 시 전송 방향의 역방향으로 전송되는 것(즉, 엿듣기)을 의미한다. 전송할 데이터가 하나 이상 있을 경우, 큐에 저장했다가 적절한(전송 또는 수신 이벤트가 없는) 시점에 전송을 시도한다.
센서 노드가 iACK의 수신을 실패하였다는 것은, iACK를 전송할 센서 노드에서 충돌이 발생했다는 것을 의미한다. 센서 노드는 센싱 데이터를 전송한 후 iACK 메시지를 수신하기 위해 다른 센싱 데이터를 이웃 노드로 원전송하거나 전달을 시도해서는 안 된다. 즉, 센싱 데이터를 원전송하는 경우라면 두 타임 슬롯 동안, 그리고 전달의 경우에는 한 타임 슬롯 동안 다른 센싱 데이터의 전송을 시도해서는 안 된다.
하나의 센서 노드에서 동일한 시점에 1개 이상의 센싱 데이터를 전송해야 하는 경우, 서로 충돌이 되지 않도록 우선순위를 정해서 적절한 시간 간격을 두고 전송을 시도한다. 그리고 동일한 센싱 데이터를 수신하면 폐기한다.
각각의 센서 노드는 센싱 데이터와 iACK 전송 시점 및 충돌 발생 여부를 결정한다. 충돌 발생 시 재전송 시점을 결정하는 규칙과 전송 우선순위에 대한 규칙은 다음 표 2 내지 표 4와 같다. 표 2는 전송 규칙을, 표 3은 충돌 감지 및 해결에 대한 규칙을, 마지막으로 표 4는 전송 우선순위에 대한 규칙을 나타낸 것이다.
각각의 표에 언급된 형태에 대해 먼저 설명하면, 전송 기준 시점은 τ0으로 가정한다. 그리고, 각 표에 기재된 규칙을 해석하는 방법에 대해 설명하면, a - (b, c) d'는 '노드 a가 시점 b에 행동 c를 수행하는 것을 d로 결정'함을 의미한다. 원전송한 센싱 데이터를 재전송하는 경우와 병합 전송을 재전송하는 경우는 r = 0으로 설정하고, 다른 재전송의 경우는 r = 1로 설정한다.
[A] 전송
[A.1] (τ0, 원전송) 전송
[A.1.1] GID 작은 쪽에 있는 수신 노드 - (τ1, iACK 전송) 전송
[A.1.2] GID 큰 쪽에 있는 수신 노드 - (τ2, iACK 전송) 전송
[A.2] (τ0, 전달) 전송
[A.2.1] 전달 수신 노드 - (τ1, iACK 전송) 전송
[A.3] (τ0, 병합 전송) 전송
[A.3.1] GID 작은 쪽에 있는 수신 노드 - (τ1, iACK 전송) 전송
[A.3.2] GID 큰 쪽에 있는 수신 노드 - (τ2, iACK 전송) 전송
규칙 [A.1.1]와 규칙 [A.1.2]를 예로 하여 설명하면, 임의의 센서 노드가 τ0 시점에 양쪽 이웃 노드로 센싱 데이터를 원전송하는 경우, 두 개의 이웃 노드 중 게이트웨이 식별자가 작은 쪽에 있는 이웃 노드가 τ1 시점에 원전송한 센서 노드로 iACK를 전송한다.
그리고 두 개의 이웃 노드 중 게이트웨이 식별자가 큰 쪽에 있는 센서 노드는 τ2 시점에, iACK를 원전송한 센서 노드로 전송하는 것으로 규칙이 정해진다. 즉, 전송 주체 노드가 같은 시점에 센싱 데이터를 양쪽 이웃 노드로 원전송한다 하더라도, 양쪽 이웃 노드는 센싱 데이터에 포함된 소스 식별자와 전송 주체 식별자를 토대로 게이트웨이 식별자가 작은 쪽이 iACK를 우선적으로 전송 주체 노드로 전송하도록 하는 우선순위가 부여된다. 이때, τ1 시점은 τ0으로부터 하나의 타임 슬롯 이후의 시점을 의미하고, τ2 시점은 τ0으로부터 두 개의 타임 슬롯 이후의 시점을 의미한다.
[B] 충돌 감지 및 해결
[B.1] (τ0, 원전송) 전송
[B.1.1] (τ2, iACK 수신) 성공 and (τ3, iACK 수신) 실패
[B.1.1.1] 원전송 노드 - (τ3, 전달) 재전송
[B.1.2] (τ2, iACK 수신) 실패 and (τ3, iACK 수신) 성공
[B.1.2.1] 원전송 노드 - (τ4, 전달) 재전송
[B.1.3] (τ2, iACK 수신) 실패 and (τ3, iACK 수신) 실패
[B.1.3.1] 원전송 노드 - (τ5, 원 전송) 재전송(이 경우 r=0)
[B.2] (τ0, 전달) 전송
[B.2.1] (τ2, iACK 수신) 실패
[B.2.1.1] GID 작은 쪽에 있는 전달 노드 - (τ2, 전달) 재전송
[B.2.1.2] GID 큰 쪽에 있는 전달 노드 - (τ3, 전달) 재전송
[B.3] (τ0, 병합 전송) 전송
[B.3.1] (τ2, iACK 수신) 성공 and (τ3, iACK 수신) 실패
[B.3.1.1] 병합 전송 노드 - (τ3, 전달) 재전송
[B.3.2] (τ2, iACK 수신) 실패 and (τ3, iACK 수신) 성공
[B.3.2.1] 병합 전송 노드 - (τ4, 전달) 재전송
[B.3.3] (τ2, iACK 수신) 실패 and (τ3, iACK 수신) 실패
[B.3.3.1] 병합 전송 노드 - (τ5, 병합 전송 ) 재전송(이 경우 r=0)
임의의 센서 노드인 전송 주체 노드가 τ0 시점에 양쪽 이웃 노드로 센싱 데이터를 원전송하는 경우를 설명하면 다음과 같다.
전송 주체 노드가 τ0 시점에 이웃 노드로 센싱 데이터를 원전송하면, 전송 주체 노드를 중심으로 게이트웨이 식별자가 작은 제1 이웃 노드는 τ1 시점에 전송 주체 노드로 iACK를 전송한다. 그리고 전송 주체 노드를 중심으로 게이트웨이 식별자가 큰 제2 이웃 노드는 제1 이웃 노드가 iACK를 전송한 뒤 τ2 시점에 iACK를 전송 주체 노드로 전송한다. 이때, 전송 주체 노드가 제2 이웃 노드로부터 전송된 iACK를 수신하지 못하였다면, 전송 주체 노드는 τ3 시점에 센싱 데이터를 재전송한다. 이는 규칙 [B.1.1], [B.1.1.1]에 해당한다.
그러나, 두 이웃 노드 모두로부터 iACK가 전송되지 않았다면, 전송 주체 노드는 τ5 시점에 센싱 데이터를 다시 한번 원전송하게 된다. (규칙 [B.1.3.1])
한편, 임의의 센서 노드인 전송 주체 노드가 τ0 시점에 이웃 노드로부터 수신한 센싱 데이터를 다른 이웃 노드로 전달하는 경우를 설명하면 다음과 같다(규칙 [B.2]).
전송 주체 노드가 자신의 위치보다 게이트웨이 식별자가 큰 이웃 노드로 센싱 데이터를 전달하였으나 iACK를 수신하지 못한 경우, 전송 주체 노드는 τ2 시점에 이웃 노드로 센싱 데이터를 재전송한다. 한편, 전송 주체 노드보다 게이트웨이 식별자가 작은 이웃 노드로 센싱 데이터를 전달하였고 iACK를 수신하지 못한 경우, 전송 주체 노드는 τ3 시점에 이웃 노드로 센싱 데이터를 재전송한다.
[C.1] iACK 수신이 전송 보다 우선한다.
[C.2] 동일 시점인 경우, 병합 전송이 재전송, 전달, 원전송 보다 우선한다.
[C.3] 동일 시점인 경우, 재전송이 전달, 원전송 보다 우선한다.
[C.4] 동일 시점인 경우, 전달이 원전송보다 우선한다.
[C.5] 동일 시점과 동일 전송일 경우, 더 오래 된 것이 우선한다.
본 발명의 실시예의 경우, 마스터 노드와 같은 개념이 존재하지 않는 완전 분산 방식이다. 즉, 각 센서 노드는 표 2 내지 표 4의 센싱 데이터 전송 규칙에 따라서 자체적으로 전송과 관련된 행동을 수행한다.
본 발명의 실시예에 따라 센싱 데이터 전송 충돌을 해결하는 예에 대해 도 5를 참조로 설명한다.
도 5는 본 발명의 실시예에 따른 센싱 데이터 전송 충돌 해결에 대한 예시도이다.
도 5에 도시된 바와 같이, 게이트웨이 식별자가 G1과 G2인 게이트웨이 노드가 있고, 두 개의 게이트웨이 노드 사이에 센서 식별자가 S1에서 S5까지 할당된 5개의 센서 노드가 있다.
그리고 τi는 메시지 전송 시점 i를 의미하며, 설명의 편의상 하나의 데이터 메시지 전송 소요 시간 즉, 하나의 타임 슬롯 크기를 1로 가정한다. D(Si, Sj, r, e)은 Si가 생성한 센싱 데이터를 Sj가 전달함을 의미한다.
D(Si, Si, 0, 0)은 원전송되는 센싱 데이터를 의미한다. r = 0이면 최초 전송 시도임을, r = 1이면 재전송 시도임을 의미하고, e = 0이면 병합이 되지 않았음을, e = 1이면 병합이 되었음을 의미한다. 점선 화살표는 iACK를 의미하며, 센싱 데이터의 식별자(DID)는 편의상 생략하여 도시하였다. 그리고, 도 5 내지 이후 설명할 도 9까지 표시된 센서 노드 중 음영이 표시된 센서 노드는 센싱 데이터를 생성한 소스 노드를 의미한다.
이와 같은 선형 무선 센서 네트워크에서 다음과 같은 절차로 충돌을 해결할 수 있다.
도 5의 (a)에 나타낸 바와 같이, S2가 S1으로부터 전달된 D(S1, S2, 0, 0)을 센싱 데이터의 전달 방향과 같은 방향인 S3로 전달하고, S4는 S5로부터 전달된 D(S5, S4, 0, 0)을 역시 같은 방향인 S3으로 전달한다. iACK를 수신한 S1은 자신이 τ0 시점에 S2로 전달한 센싱 데이터에 대한 응답임을 알고 전송이 성공한 것으로 간주하고 더 이상 전달하지 않는다. 이는 S5도 동일하게 적용한다.
반면, S3에서는 S2에서 전송한 D(S1, S2, 0, 0)과 S4에서 전송한 D(S5, S4, 0, 0)이 같은 시점에 전송, 충돌하게 되어 S2와 S4의 전송은 실패하게 된다. 그러면, 도 5의 (b)에 나타낸 바와 같이, S3에서의 센싱 데이터 수신 충돌을 감지한 S2와 S4는 각각 S3의 센싱 데이터 수신 충돌이 자신들에 의해 발생한 것임을 알고, 센싱 데이터의 전송 주체 노드를 확인한다.
S2가 S3으로 전달한 센싱 데이터의 전송 주체 노드는 S2이고, S4가 S3으로 전달한 전송 주체 노드는 S4가 된다. 따라서, 충돌 중심 노드인 S3을 기준으로 S2가 S4보다 게이트웨이 식별자가 작은 쪽에 위치하므로, S2와 S4는 각각 S2의 재전송 우선순위도 높게 설정되어 있음을 인지한다.
따라서, S2는 자신의 우선순위를 높게 설정, 충돌 감지 후 바로 S3으로 센싱 데이터 즉, D(S1, S2, 1, 0)을 재전송 한다(τ2). 이는 표 3에 나타낸 규칙 [B.1.1.1]에 따른 것이다.
반면, 충돌을 감지한 S4는 전송 실패한 D(S5, S4, 0, 0)이 G2에서 전달 것이라 자신의 우선순위를 S3에서 전송하고자 했던 센싱 데이터에 대한 우선순위보다 낮게 설정한다. 그리고, 충돌 감지 후 하나의 센싱 데이터가 전송되는 전송 시간 이후에 재전송 시도를 한다(τ3). 이는 표 3에 나타낸 규칙 [B.1.2.1]에 따른 것이다.
도 5의 (c)에 나타낸 바와 같이, 센싱 데이터 D(S1, S2, 1, 0)를 수신한 S3은 해당 센싱 데이터가 재전송된 것임을 확인하고 임시 저장한다. 그리고 S4로부터 재전송되는 센싱 데이터 D(S5, S4, 1, 0)를 기다렸다가, 두 센싱 데이터를 병합하고, 병합 데이터 D(S1
Figure 112017101751311-pat00002
S5, S3, 0, 1)을 이웃 노드들로 전송한다(τ4). 여기서 S1
Figure 112017101751311-pat00003
S5가 의미하는 것은 S1로부터의 센싱 데이터와 S5로부터의 센싱 데이터가 병합되었음을 의미하며,
Figure 112017101751311-pat00004
연산은 이미 알려진 사항으로 본 발명의 실시예에서는 상세한 설명을 생략한다.
S3에서 생성하여 전송한 병합 데이터 D(S1
Figure 112017101751311-pat00005
S5, S3, 0, 1)을 각각 수신한 S2는 자신이 S3으로 전달한 D(S1, S2, 0, 0)으로 병합 데이터를 디코딩하고, S4는 자신이 S3으로 전달한 D(S5, S4, 0, 0)으로 병합 데이터를 디코딩한다. 그리고 S2는 (S5, S4, 0, 0)를 추출하고 S4는 (S1, S2, 0, 0)을 추출한다. 그리고 나서 각각 추출한 센싱 데이터를 자신의 다른 이웃 노드로 전달한다(S2, S4의 τ5, τ6). 이는 표 2의 규칙 [A.3]에 따른 것이다.
이들 센싱 데이터를 수신한 S1과 S5는 각각 D(S5, S1, 0, 0)과 D(S1, S5, 0, 0)을 G1과 G2로 전달한다(S1, S5의 τ6, τ7). 이와 같은 절차를 토대로 S3에서 충돌이 일어나더라도 설정된 우선순위에 따라 재전송을 용이하게 수행할 수 있다.
한편, 상기 도 5에서 설명한 충돌 중심 노드를 기준으로 양 옆으로 1-홉 떨어진 노드의 동시 전송으로 인한 충돌 이외에도, 이웃한 다수의 노드들이 동시에 전송하면 충돌이 발생할 수 있다. 다양한 형태의 충돌 상황과 이를 해결하는 예에 대해 도 6 내지 도 9를 참조로 설명한다.
도 6은 본 발명의 실시예에 따른 전송 노드에서의 충돌 발생과 해결에 대한 예시도이다.
도 6의 (a)에 도시된 바와 같이, 임의의 한 센서 노드(S3)가 센싱 데이터를 생성하여 자신의 이웃 노드에 원전송하면, 이웃 노드들로부터 동시에 iACK를 수신하게 되며 이 경우 전송 주체 노드(S3)는 두 iACK의 수신에 따른 데이터 충돌이 발생한다(τ0과 τ1). 두 개의 iACK 수신 충돌은 센싱 데이터의 전송에는 문제가 없기 때문에 보냈던 센싱 데이터를 재전송하지 않아도 된다.
그러나 S2, S4에서 충돌이 발생해서 iACK가 전송되지 않을 수도 있다. 이 경우 S3이 센싱 데이터를 재전송 하지 않으면, S3이 생성한 센싱 데이터가 어느 게이트웨이로도 전송되지 않는 문제가 발생할 수 있다.
따라서 D(Si, Si, 0, 0) 또는 D(Si, Si, 1, 0)은 확실하게 1-홉 이웃 노드에 전달되어야 하며, 이것은 Si가 1-홉 이웃 노드들로부터 iACK를 성공적으로 수신해야 한다는 것을 의미한다. 이를 위해 도 6의 (b)에 나타낸 바와 같이, 규칙 [A.1.1]에 따라 전송 주체 노드의 식별자의 위치를 기준으로 GID가 작은 쪽에 있는 이웃 노드는 센싱 데이터를 수신하자 마자 바로 iACK를 전송한다(τ1). 그리고 규칙 [A.1.2]에 나타낸 바와 같이, 전송 주체 노드를 기준으로 GID가 큰 쪽 이웃 노드는 센싱 데이터를 수신한 뒤, 한 타임 슬롯 이후에 iACK를 전송한다(τ2). 이를 통해, S3에서 발생한 iACK 충돌 상황을 해결할 수 있다.
도 7a 내지 도 7f는 본 발명의 제1 실시예에 따른 동시 전송으로 인한 충돌 발생과 해결에 대한 예시도이다.
도 7a 내지 도 7f는 두 개의 1-홉 이웃 노드들이 동시에 센싱 데이터를 전송함으로 인해 발생할 수 있는 다양한 형태의 충돌 경우에 대하여, 어떻게 충돌을 해결하는 지를 나타낸 예시도이다.
도 7a는 1-홉 이웃 노드들이 동시에 센싱 데이터를 원전송을 하는 경우에 발생하는 충돌을 어떻게 해결하는지 나타낸 것이다. 먼저 (a-1)에 나타낸 바와 같이, S2와 S3이 각각 D(S2, S2, 0, 0), D(S3, S3, 0, 0)를 τ0 시점에 원전송한다고 가정한다. 그러면, S1는 S2로부터 원전송된 센싱 데이터를 성공적으로 수신하고, S4는 S3으로부터 원전송된 센싱 데이터를 성공적으로 수신한다. 반면, S2와 S3에서는 자신이 원전송하려는 센싱 데이터와 이웃 노드로부터 원전송되는 센싱 데이터 사이에 충돌이 발생한다.
따라서, (a-2)에 나타낸 바와 같이 S2는 S1로부터 전송되는 iACK만 수신하게 된다(τ1). 이와 마찬가지로 S3은 S4로부터 전송되는 iACK만 수신하게 된다(τ2). 그러므로, S2는 S3으로의 센싱 데이터 전송 실패를 감지하고, S3은 S2으로의 센싱 데이터 전송 실패를 감지한다.
S2는 규칙 [B.1.1]에 의해 τ3 시점에 D(S2, S2, 1, 0)을 S3으로 재전송한다. 이와 마찬가지로 S3도 충돌을 감지한 후 규칙 [B.1.2]에 의해 하나의 타임 슬롯이 지난 후, τ4 시점에 센싱 데이터를 재전송할 것을 결정한다.
이때 S3은 τ3 시점에 S2가 보낸 것이 재전송된 것임을 재전송 플래그를 통해 파악하고, 임시로 저장한다. 그리고 τ4 시점에 센싱 데이터를 재전송할 때, τ3 시점에 S2가 재전송한 센싱 데이터와 병합한 병합 데이터 D(S3
Figure 112017101751311-pat00006
S2, S3, 0, 1)을 이웃 노드들로 전송한다.
S2는 S3이 전송한 병합 데이터를 자신이 원전송한 센싱 데이터 D(S2, S2, 0, 0)로 디코딩하여 S3이 생성한 센싱 데이터 D(S3, S3, 0, 0)을 추출한다. 그리고 τ5 시점에 S1로 센싱 데이터 D(S3, S2, 0, 0)을 전달한다. 이와 마찬가지로, S4는 S3 이 τ4 시점에 전송한 병합 데이터를 자신이 갖고 있는 센싱 데이터 D(S3, S3, 0, 0)으로 디코딩한 후 S2가 생성한 센싱 데이터 D(S2, S2, 0, 0)을 추출한다. 이렇게 추출한 센싱 데이터는 τ6 시점에 S5로 센싱 데이터 D(S2, S4, 0, 0)으로 전달된다.
이는, 각각의 센서 노드들이 병합 데이터를 받았을 때, GID가 작은 쪽 노드는 규칙 [A.3.1]에 따라 디코딩 후 바로 전송하고(τ5), GID가 큰 쪽 노드는 규칙 [A.3.2]에 따라 한 타임 슬롯 이후에 전송한다(τ6).
한편, 도 7b는 두 1-홉 이웃 노드가 센싱 데이터를 다른 이웃 노드로부터 받아 전달하는 과정 중에 생길 수 있는 충돌 상황과 해결 상황을 각각 보여준다. 도 7a와 도 7b를 비교하면 알 수 있듯이, 센서 노드가 센싱 데이터를 원전송할 때 iACK 충돌을 해결하기 위한 절차로 인해 도 7a에 나타낸 절차를 통해 충돌을 해결할 경우, 도 7b에서 충돌 해결하는 시간보다 더 많은 시간이 소요됨을 알 수 있다.
도 7b에 나타낸 바와 같이, S2가 τ0 시점에 S1으로부터 전달된 센싱 데이터를 S3으로 전달하고, S1으로는 iACK를 전송한다. 그리고 τ0 시점에 S3는 S2로 S4에서 전달된 센싱 데이터를 전달하고, S4로는 iACK를 전송한다.
이때, S1과 S4는 iACK를 수신하였기 때문에 S2 그리고 S3으로 전달한 센싱 데이터를 재전송하지 않아도 무방하다. 그러나, S2의 경우에는 S1과 S3으로부터 전달되는 두 개의 센싱 데이터로 인해 충돌이 발생하고, S3의 경우에는 S2와 S4로부터 전달되는 두 개의 센싱 데이터로 인해 충돌이 발생한다.
따라서, 게이트웨이 식별자가 작은 쪽에 위치한 S2는 S3으로 바로 D(S1, S2, 1, 0)을 재전송한다(τ2). S3는 τ2 시점에 센싱 데이터가 재전송된 것을 확인하고, S3 자신이 S2로 재전송할 센싱 데이터에 S2로부터 재전송된 센싱 데이터를 병합하여, 병합 데이터를 S2로 전송한다(τ3). 그리고, S4로도 병합 데이터를 iACK로 전송한다.
도 7c 내지 도 7f는 모든 가능한 두 1-홉 이웃 노드의 동시 전송에 의한 충돌 상황과 본 발명의 실시예에 따른 해결 과정을 나타낸 것이다.
도 7c의 (c-1)을 살펴보면, S2는 S1로부터 원전송된 센싱 데이터를 τ0 시점에 S3로 전달하고 S1으로는 iACK를 전송한다. 그리고 S3는 센싱 데이터 D(S3, S3, 0, 0)을 τ0 시점에 S2와 S4로 원전송한다.
이 때, S2와 S3은 동시에 전송하기 때문에 S2와 S3에서 충돌이 발생하게 된다. 그러므로, (c-2)에 나타낸 바와 같이 S2는 τ2 시점에 S1로부터 전달된 센싱 데이터를 S3로 재전송한다. 그리고 τ0 시점에 S3으로부터 전송된 센싱 데이터를 충돌 없이 수신한 S4는 τ2 시점에 S3으로부터 전송된 센싱 데이터를 S5로 전달하면서 S3으로 iACK를 전송한다. 그러면, S3은 τ2 시점에 S2에서 재전송되는 센싱 데이터와 S4에서 전송되는 iACK를 동시에 수신하게 되어 다시 충돌이 발생한다.
이 경우, (c-3)에 나타낸 바와 같이, S2는 τ4 시점에 센싱 데이터를 재전송하고 S1으로 iACK도 재전송한다. 그리고 S3는 S4로부터 iACK를 τ0 시점과 τ2 시점 두 번에 걸쳐 연속으로 못 받게 된 것이므로, τ5 시점에 센싱 데이터를 원 전송한다. 이는 규칙 [B.1.3.1]에 따라 제1 시점에 iACK의 수신도 실패하고 제2 시점에 iACK 수신도 실패하였기 때문에, 센싱 데이터를 τ5 시점에 원 전송을 시도하는 것이다.
따라서 (c-4)에 나타낸 바와 같이, 게이트웨이 식별자가 작은 쪽에 있는 S2는 τ6 시점에 S3로부터 수신한 센싱 데이터를 S1으로 전송함과 동시에 S3으로 iACK를 전송한다. 그리고 τ7 시점에 S3은 S2에서 전달된 센싱 데이터를 S4로 전달하고, S2로는 iACK를 전송한다.
한편, 도 7d에 나타낸 바와 같이, τ0 시점에 S2는 센싱 데이터를 S1과 S3으로 원전송한다. 그리고 S3는 τ0 시점에 S4로부터 전달된 센싱 데이터를 S2로 전달하고, S4로는 iACK를 전송한다. 이때, S1은 S2로부터 전송된 센싱 데이터를 무사히 수신하고, S4도 S3으로부터 전송되는 iACK를 무사히 수신한다.
반면 S2는 S3으로 전송할 센싱 데이터와 S3으로부터 전달되는 센싱 데이터를 동시에 수신해야 하여 충돌이 발생한다. 그리고 S3은 S2로 전달하는 센싱 데이터와 S2로부터 전송되는 센싱 데이터를 동시에 송수신해야 하므로 충돌이 발생한다.
따라서, S1은 τ1 시점에 G1으로 센싱 데이터를 전달하면서 S2로 iACK를 전송한다. 여기서 S2는 S3으로부터 iACK를 수신하지 못하였기 때문에, τ3 시점에 S3으로 센싱 데이터를 재전송한다.
그리고, S3도 S2로부터 τ0에 전달한 센싱 데이터에 대한 iACK를 수신하지 못하였기 때문에, τ3 시점에 센싱 데이터를 재전송한다. 여기서 S2는 S3으로 재전송할 센싱 데이터와 S3으로부터 재전송되는 센싱 데이터가 동시에 송수신되기 때문에 여전히 충돌이 발생한다. 이와 마찬가지로 S3도 S2로부터 재전송되는 센싱 데이터와 S2로 재전송할 센싱 데이터가 있기 때문에 여전히 충돌이 발생한다.
그러므로, τ5 시점에 S2는 센싱 데이터를 S3으로 재전송한다. 이와 마찬가지로 S3은 τ6 시점에 자신이 재전송할 센싱 데이터와 S2로부터 재전송된 데이터를 병합한 후 S2와 S4로 전송한다.
두 1-홉 이웃 노드의 동시 전송으로 인한 충돌 발생의 또 다른 예를 도 7e를 통해 살펴보면, S2는 τ0 시점에 S3으로부터 전달된 센싱 데이터를 S1으로 전달하고, S3으로 센싱 데이터에 대한 iACK를 전송한다. 그리고 S3은 S4와 S2로 τ0 시점에 센싱 데이터를 원 전송한다. 이때, S2는 S3으로부터 원전송되는 센싱 데이터를 수신함과 동시에 S3으로 iACK를 전송해야 하기 때문에 충돌이 발생한다. 또한, S3의 경우에도 S2로 전송해야 하는 센싱 데이터와 S2로부터 전송되는 iACK를 동시에 수신해야 하기 때문에 충돌이 발생한다.
따라서, S4는 τ2 시점에 S3으로부터 전달된 센싱 데이터를 S5로 전달하고, S3으로 iACK를 전송한다. 그리고 τ3 시점에 S3은 S2로 센싱 데이터를 재전송하고 S4로 τ2에서 전달된 센싱 데이터에 대한 iACK를 전송한다. 그리고 S2는 τ4 시점에 S3으로 센싱 데이터 D(S3, S3, 1, 0)에 대한 iACK를 전송하고, S1으로는 S3으로부터 재전송된 센싱 데이터를 전달한다.
도 8은 본 발명의 제2 실시예에 따른 동시 전송으로 인한 충돌 발생과 해결에 대한 예시도이다.
도 8은 S2, S3, S4 세 개의 노드가 동시에 전송하는 복잡한 충돌 상황에서 본 발명의 실시예에 따른 방법에 의해 충돌이 해결되는 과정을 보여준다.
도 8에 도시된 바와 같이, S2는 S3으로의 원 전송 충돌 감지 후 [규칙 B.1.1]에 의해 τ3 시점에 재전송한다. 그리고, S4는 S3으로의 전송 충돌 감지 후 [규칙 B.1.2]에 의해 하나의 타임 슬롯 후 τ4 시점에 재전송한다. S3은 규칙 [B.1.3]에 의해 τ5에 원 전송을 다시 시도하는 것으로 예정되어 있으나, S2, S4로부터 재전송된 센싱 데이터들을 병합하여 τ5에 먼저 전송한다.
그리고, 병합 전송으로 인한 S2, S4의 디코딩된 센싱 데이터 전달이 완료될 때까지 기다린 후, τ8에 D(S3, S3, 0, 0)을 재전송한다. 이는 규칙 [C.3]에 의해 재전송된 메시지들의 효율적 전달을 위한 병합 전송이 원 전송의 재전송보다 우선적으로 처리되도록 하였기 때문이다.
도 9는 본 발명의 제3 실시예에 따른 동시 전송으로 인한 충돌 발생과 해결에 대한 예시도이다.
도 9에 도시된 바와 같이, S2, S3, S4, S5 네 개 노드가 동시에 전송하는 더 복잡한 충돌 상황에서 제안 방식에 의해 충돌이 해결되는 과정을 보여준다. 제3 실시예에서는 설명의 편의를 위하여 iACK는 생략하였으며, 대기 상태에 있는 주요 전송을 박스 안에 상태 시점과 함께 전송 예정인 센싱 데이터들을 표시하였다.
여기서 'τi(τj): D(Sx, Sy, r, e)'는 τi 시점에 D(Sx, Sy, r, e)가 전송되어야 함을 의미하며, τj는 D(Sx, Sy, r, e)가 처음에 스케쥴링된 전송 시점을 의미한다.
S2는 S3으로의 원 전송 충돌 감지 후 규칙 [B.1.1]에 의해 τ3에 센싱 데이터 D(S2, S2, 1, 0)을 재전송한다. 그리고 S5는 S3으로의 전송 충돌 감지 후 규칙 [B.1.2]에 의해 하나의 타임 슬롯 후 τ4에 센싱 데이터를 재전송한다.
S3은 규칙 [B.1.3]에 의해 D(S3, S3, 0, 0)을 τ5에 다시 시도하는 것으로 스케쥴링하지만, 규칙 [C.4]에 의해 S2로부터 재전송된 센싱 데이터를 τ4에 전달한다. 그러나 S3과 S5의 동시 전송으로 인해 S4에서 충돌이 발생하기 때문에, S3은 규칙 [B.2.1.1]에 의해 τ6에 D(S2, S3, 1, 0)을 재전송하고, S5는 규칙 [B.2.1.2]에 의해 τ7에 D(S5, S5, 1, 0)을 재전송한다.
그러면 S4는 S3과 S5로부터의 전송을 수신해서 τ8에 병합 데이터를 전송한다. S3은 D(S4, S3, 0, 0)을 규칙 [C.2]에 의해 τ6에서 τ9, 규칙 [C.1]에 의해 τ10, 규칙 [C.4]에 의해 τ11에 전송하는 것으로 전송 스케쥴을 변경하며, 결과적으로 τ11에 전송한다. 그리고 S3은 D(S3, S3, 0, 0)을 규칙 [C.4]와 규칙 [C.1]에 의해 τ13에 재전송한다. 이 경우 18개의 타임 슬롯이 지나면 모든 4개의 원 전송이 성공적으로 게이트웨이 G1과 G2로 전달된다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (6)

  1. 복수의 센서 노드가 두 개의 게이트웨이 노드 사이에 선형으로 연결된 선형 무선 센서 네트워크에서, 복수의 센서 노드 중 특정 센서 노드인 전송 주체 노드가 센싱 데이터를 전송하는 방법에 있어서,
    제1 방향과 제2 방향에 연결된 이웃 노드들로 센싱 데이터를 전송하는 단계;
    상기 이웃 노드들 중 적어도 하나의 이웃 노드로부터 미리 설정한 시간 내에 상기 센싱 데이터에 대한 iACK가 전송되지 않으면, 상기 전송 주체 노드에 근접한 제1 게이트웨이 식별자와 상기 iACK가 전송되지 않은 수신 노드에 근접한 제2 게이트웨이 식별자를 확인하는 단계;
    상기 제1 게이트웨이 식별자, 제2 게이트웨이 식별자와 미리 저장된 토폴로지 상태 정보, 그리고 상기 이웃 노드와 연결된 방향을 토대로, 상기 이웃 노드로 재전송할 센싱 데이터의 재전송 시점을 결정하는 단계; 및
    상기 결정한 시점에 따라 상기 이웃 노드로 재전송 플래그가 설정된 센싱 데이터를 재전송하는 단계
    를 포함하는 센싱 데이터 전송 방법.
  2. 제1항에 있어서,
    상기 센싱 데이터는, 상기 센싱 데이터를 생성한 센서 노드에 대한 소스 식별자, 상기 센싱 데이터를 이웃 노드로 전달하는 센서 노드에 대한 전송 주체 식별자, 상기 센싱 데이터가 재전송되는 센싱 데이터인지 여부를 나타내는 재전송 플래그, 그리고 상기 센싱 데이터가 두 개의 센싱 데이터가 병합된 센싱 데이터인지 나타내는 병합 플래그를 포함하는 센싱 데이터 전송 방법.
  3. 복수의 센서 노드가 두 개의 게이트웨이 노드 사이에 선형으로 연결된 선형 무선 센서 네트워크에서, 복수의 센서 노드 중 특정 센서 노드가 센싱 데이터를 전송하는 방법에 있어서,
    제1 방향에 연결된 이웃 노드로부터 재전송된 제1 센싱 데이터를 수신하는 단계,
    미리 정해진 시점에 제2 방향에 연결된 이웃 노드로부터 재전송된 제2 센싱 데이터를 수신하는 단계,
    상기 제1 센싱 데이터와 제2 센싱 데이터를 토대로, 미리 정해진 값으로 병합 플래그를 설정한 후 병합 데이터를 생성하는 단계, 그리고
    상기 생성한 병합 데이터를 미리 정해진 시점에 상기 제1 방향 및 제2 방향에 연결된 이웃 노드로 전송하는 단계
    를 포함하는 센싱 데이터 전송 방법.
  4. 삭제
  5. 복수의 센서 노드가 두 개의 게이트웨이 노드 사이에 선형으로 연결된 선형 무선 센서 네트워크에서, 복수의 센서 노드 중 특정 센서 노드가 센싱 데이터를 전송하는 방법에 있어서,
    제1 방향에 연결된 제1 이웃 노드로부터 수신한 센싱 데이터를 제2 방향에 연결된 제2 이웃 노드로 전달하는 단계,
    미리 설정된 시간 내에 상기 센싱 데이터에 대한 iACK가 오지 않으면, 상기 특정 센서 노드에 근접한 제1 게이트웨이 식별자, 그리고 상기 제2 이웃 노드에 근접한 제2 게이트웨이 식별자를 토대로 상기 센싱 데이터를 재전송할 시점을 결정하는 단계, 그리고
    상기 결정한 시점에 상기 센싱 데이터를 제2 이웃 노드로 재전송하는 단계
    를 포함하는 센싱 데이터 전송 방법.
  6. 제5항에 있어서
    상기 재전송한 센싱 데이터의 재전송 플래그는 상기 전달한 센싱 데이터의 재전송 플래그와 값이 상이한 센싱 데이터 전송 방법.
KR1020170134189A 2016-12-05 2017-10-16 선형 무선 센서 네트워크에서의 센싱 데이터 전송 방법 KR101936949B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160164669 2016-12-05
KR20160164669 2016-12-05

Publications (2)

Publication Number Publication Date
KR20180064275A KR20180064275A (ko) 2018-06-14
KR101936949B1 true KR101936949B1 (ko) 2019-01-11

Family

ID=62629075

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170134189A KR101936949B1 (ko) 2016-12-05 2017-10-16 선형 무선 센서 네트워크에서의 센싱 데이터 전송 방법

Country Status (1)

Country Link
KR (1) KR101936949B1 (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090050920A (ko) * 2007-11-16 2009-05-20 한국전자통신연구원 이더넷 링 네트워크의 비환원 모드에서의 장애 복구 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
김정현, 박다빈, 송홍엽, "사물인터넷 환경에서 에너지 소모량을 줄이기 위한 네트워크 부호화 기반 정보 공유 방식", The Journal of Korean Institute of Communications and Information Sciences '16-04 Vol.41 No.04 (2016.03.28.)*
신동승, 이성원, 이상국, 김동균, "수중 센서 네트워크에서 계층적 주소를 기반으로 한 TCP ACK 병합 기법", 정보과학회논문지 정보통신 제40권 제2호(2013.04.)*

Also Published As

Publication number Publication date
KR20180064275A (ko) 2018-06-14

Similar Documents

Publication Publication Date Title
KR100664953B1 (ko) 모바일 애드 혹 네트워크 환경에서의 멀티캐스트 라우팅방법
Molins et al. Slotted FAMA: a MAC protocol for underwater acoustic networks
JP3853326B2 (ja) アドホックネットワーク環境で確実にブロードキャストするシステム及び方法
US8797885B2 (en) Method for data transmission in a local area network
US7613146B2 (en) Method and system for reliable data transmission in wireless networks
US9037935B2 (en) Apparatus and method for retransmitting message in message transmission system
JP4297096B2 (ja) 通信端末装置
KR20090033381A (ko) 애드-혹 네트워크를 위한 이웃 간접 확인응답 알고리즘(NbIA)을 가지는 TDMA 채널 접근 스케줄링
US20200036483A1 (en) Method for efficient retransmissions in multi-hop control networks
KR101200792B1 (ko) Mac 유니캐스트와 중계 노드를 이용한 네트워크 브로드캐스트 방법
KR101936949B1 (ko) 선형 무선 센서 네트워크에서의 센싱 데이터 전송 방법
WO2010127394A1 (en) A medium access control (mac) for a wireless sensor network
Oliveira et al. An enhanced cooperative MAC protocol for hybrid PLC/wireless systems
WO2018151640A1 (en) Network node and method therein for transmitting a message in a mesh network
WO2016059782A1 (ja) 無線中継局、無線基地局、通信システムおよび通信方法
JP5617929B2 (ja) 無線局、通信システムおよび通信方法
KR101293159B1 (ko) 무선 애드혹 네트워크에서의 브로트캐스트 패킷 전송 방법 및 장치, 및 브로드캐스트 패킷 송수신 시스템
KR102058440B1 (ko) 재밍 공격을 회피하는 데이터 송수신 방법 및 장치
JP5204699B2 (ja) 無線ポーリングシステム
KR100862356B1 (ko) 경로-다이버시티 라우팅을 이용한 적응형 통신 방법 및이를 수행하는 통신 노드
KR101024901B1 (ko) 무선 센서 네트워크의 센서노드 및 백 오프 레인지 조절 방법
Myung et al. Eliminating duplicate forwarding in wireless opportunistic routing
JP4277567B2 (ja) 無線通信システムおよび無線中継器
US9270573B2 (en) Node apparatus, data relay method and computer-readable recording medium
JP4905342B2 (ja) 通信パケット中継方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right