KR101979119B1 - 센싱 데이터를 수집하여 전달하기 위한 코디네이터 위치 결정 방법 - Google Patents

센싱 데이터를 수집하여 전달하기 위한 코디네이터 위치 결정 방법 Download PDF

Info

Publication number
KR101979119B1
KR101979119B1 KR1020170161203A KR20170161203A KR101979119B1 KR 101979119 B1 KR101979119 B1 KR 101979119B1 KR 1020170161203 A KR1020170161203 A KR 1020170161203A KR 20170161203 A KR20170161203 A KR 20170161203A KR 101979119 B1 KR101979119 B1 KR 101979119B1
Authority
KR
South Korea
Prior art keywords
cluster
coordinator
chain
node
determining
Prior art date
Application number
KR1020170161203A
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 KR1020170161203A priority Critical patent/KR101979119B1/ko
Application granted granted Critical
Publication of KR101979119B1 publication Critical patent/KR101979119B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/32Connectivity information management, e.g. connectivity discovery or connectivity update for defining a routing cluster membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • H04W64/003Locating users or terminals or network equipment for network management purposes, e.g. mobility management locating network equipment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • H04W84/20Master-slave selection or change arrangements

Landscapes

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

Abstract

센싱 데이터를 수집하여 전달하기 위한 코디네이터 위치 결정 방법은 복수의 센서 노드가 배치된 관심 영역을 4개의 셀 단위로 클러스터링하는 과정을 반복하면서 복수의 클러스터를 생성하고, 각 클러스터에 위치하는 적어도 하나의 센서 노드 중 어느 하나를 클러스터 헤더로 결정하는 단계, 상기 복수의 클러스터 중 어느 하나의 방향을 기준으로 인접한 2개의 클러스터 단위로 상기 2개의 클러스터가 중첩된 영역에 위치하며 상기 2개의 클러스터의 클러스터 헤더와 1홉 거리에 있는 어느 하나의 센서 노드를 상기 2개의 클러스터에 대한 릴레이로 결정하는 단계, 상기 클러스터 헤더 및 상기 릴레이에 해당하는 노드 연결되며 서로 중첩된 노드를 갖는 않는 복수의 체인을 결정하는 단계 및 상기 복수의 체인 각각에 대하여 센서 노드에서 코디네이터의 위치까지 기준 홉거리(CoH)를 내에 위치하도록 체인을 구성하는 어느 노드의 위치 중 적어도 하나를 코디네이터 위치로 결정하는 단계를 포함한다.

Description

센싱 데이터를 수집하여 전달하기 위한 코디네이터 위치 결정 방법{DETERMINING METHOD FOR LOCATION OF COORDINATOR COLLECTING SENSING DATA}
이하 설명하는 기술은 센서 노드가 수집한 센싱 데이터를 수집하여 전달하기 위한 장치인 코디네이터의 배치 위치를 결정하는 기법에 관한 것이다.
최근 인터넷에 연결된 사물이 사람의 개입 없이 스스로 정보를 생성하고 다른 사물, 사람, 시스템과 연동하여 동작하는 사물인터넷(IoT: Internet of Things) 기술이 주목을 받고 있다. 2020년에 인터넷에 연결되는 사물의 수는 약 260억 개까지 증가할 것으로 전망된다. 사물인터넷에서 생산되는 데이터는 소량의 데이터와 멀티미디어 콘텐츠처럼 수십 또는 수백 메가바이트 수준의 대용량 데이터가 공존할 것이며, 향후에도 다양한 멀티미디어 콘텐츠들이 생산, 소비되겠지만 사물인터넷에서는 센싱 데이터 중심의 가벼운 연결이 기하급수적으로 증가하면서 대용량의 데이터 트래픽을 뛰어 넘는 환경이 될 것으로 예상된다.
S. Misra, S. D. Hong, G. Xue, and J. Tang, "Constrained relay node placement in wireless sensor networks to meet connectivity and survivability requirements," in In: IEEE INFOCOM 2008 Proceedings, April 2008, pp. 281-285. D. Yang, S. Misra, X. Fang, G. Xue, and J. Zhang, "Two-Tiered Constrained Relay Node Placement in Wireless Sensor Networks: Efficient Approximations," in In: IEEE Secon 2010 Proceedings, June 2010, pp. 1-9.
IoT 디바이스가 급격하게 증가하면 트래픽이 매우 급증하게 된다. 따라서 IoT 디바이스가 생성하는 센싱 데이터를 취합하여 인터넷 서버에 전달하는 장치가 필요하다. 이하 설명하는 기술은 센싱 데이터를 수집하는 장치에 대한 최적의 배치 위를 제공하고자 한다.
센싱 데이터를 수집하여 전달하기 위한 코디네이터 위치 결정 방법은 복수의 센서 노드가 배치된 관심 영역을 4개의 셀 단위로 클러스터링하는 과정을 반복하면서 복수의 클러스터를 생성하고, 각 클러스터에 위치하는 적어도 하나의 센서 노드 중 어느 하나를 클러스터 헤더로 결정하는 단계, 상기 복수의 클러스터 중 어느 하나의 방향을 기준으로 인접한 2개의 클러스터 단위로 상기 2개의 클러스터가 중첩된 영역에 위치하며 상기 2개의 클러스터의 클러스터 헤더와 1홉 거리에 있는 어느 하나의 센서 노드를 상기 2개의 클러스터에 대한 릴레이로 결정하는 단계, 상기 클러스터 헤더 및 상기 릴레이에 해당하는 노드 연결되며 서로 중첩된 노드를 갖는 않는 복수의 체인을 결정하는 단계 및 상기 복수의 체인 각각에 대하여 센서 노드에서 코디네이터의 위치까지 기준 홉거리(CoH)를 내에 위치하도록 체인을 구성하는 어느 노드의 위치 중 적어도 하나를 코디네이터 위치로 결정하는 단계를 포함한다. 상기 관심 영역은 그리드 형태의 복수의 셀로 구분되고, 상기 체인은 시작 위치에 있는 클러스터 헤더에서 마지막에 위치하는 클러스터 헤더에 이르는 경로에 위치하는 클러스터 헤더와 릴레이로 구성된다.
이하 설명하는 기술은 센싱 데이터를 수집하는 장치에 대한 최적 위치를 결정하여 네트워크 트래픽 및 장비 비용을 최소화한다.
도 1은 센싱 데이터를 수집하는 시스템의 구성을 도시한 예이다.
도 2는 관심 영역에 대한 클러스터링을 수행하는 과정에 대한 예이다.
도 3은 클러스터에 대한 릴레이를 결정하는 과정에 대한 예이다.
도 4는 클러스터에 형성된 체인의 예이다.
도 5는 코디네이터 위치를 결정하는 과정에 대한 예이다.
이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시례를 가질 수 있는 바, 특정 실시례들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 이하 설명하는 기술의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.
도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
이하 설명하는 기술은 IoT 디바이스에서 생성한 데이터를 전달하기 위한 기법에 관한 것이다. IoT 디바이스가 생성한 데이터 내지 수집한 데이터를 센싱 데이터라고 명명한다. 실시예에 따라서 IoT 디바이스는 하나의 홉(hop) 통신이 가능하다고 전제한다. 이하 설명하는 기술은 IoT 디바이스가 수집한 센싱 데이터를 수집하여 인터넷에 전달하는 장치의 배치에 관한 것이다. IoT 디바이스가 수집한 센싱 데이터를 수집는 장치를 이하 코디네이터(coordinator)라고 명명한다. 이하 설명에서 센싱 데이터를 수집하는 장치를 센서 노드라고 명명한다. 센서 노드는 IoT 디바이스에 한정하지 않고, 일정한 정보를 센싱하는 장치를 포함하는 개념이다.
도 1은 센싱 데이터를 수집하는 시스템(100)의 구성을 도시한 예이다. 센싱 데이터를 수집하는 시스템(100)은 센서 노드(110A 내지 110I), 코디네이터(130A 내지 130C) 및 서비스 서버(150)를 포함한다.
센서 노드(110A 내지 110I)는 일정한 센싱 데이터를 생성하거나, 제어 정보를 생성하는 장치들에 해당한다. 예컨대, 센서 노드는 온도 정보를 수집하는 온도센서, 밝기를 측정하는 조도 센서, 위치 정보를 수집하는 측위 장치, 영상 정보를 수집하는 이미지 센서, 전력을 측정하는 센서 등과 같은 일정한 정보를 수집하는 장치에 해당한다. 센서 노드는 일정한 통신 프로토콜을 사용하여 수집한 정보를 주변에 전송할 수 있다. 도 1에서 센서 노드는 서로 협력하여 정보를 전송하는 예를 도시한다. 센서 노드들은 하나의 홉 거리에 있는 다른 센서 노드에 센싱 데이터를 전송할 수 있다. 즉 센서 노드의 통신 가능 범위는 일정한 홉 거리이다. 예컨대, 센서 노드 110A는 센서 노드 110E에 수집한 정보를 홉 통신으로 전송할 수 있다. 센서 노드 110E는 하나의 홉 거리에 있는 코디네이터 130A에 센싱 데이터를 전송한다. 코디네이터 130A는 인터넷을 통해 센싱 데이터를 서비스 서버(150)에 전송한다.
코디네이터(130A 내지 130C)는 인접한 센서 노드로부터 센싱 데이터를 수신하여 수집한 데이터를 전송하는 객체이다. 코디네이터(130A 내지 130C)는 AP, 게이트웨이, 라우터 등과 같은 장치일 수도 있다. 또는 코디네이터는 스마트기기와 같은 장치일 수도 있다. 한편 코디네이터는 별도의 장치가 아니고, IoT 디바이스와 같은 센서 노드일 수도 있다.
서비스 서버(150)는 센싱 데이터를 활용하는 객체(entity)이다. 서비스 서버(150)는 센싱 데이터를 분석하여 일정한 제어 정보를 센서 노드에 전달할 수도 있다.
이하 코디네이터의 위치를 결정하는 과정에 대하여 설명한다. 코디네이터의 위치를 결정하는 주체는 센서 노드의 위치, 센서 노드가 위치하는 관심 영역에 대한 정보(지리적 정보 내지 위치 정보), 센서 노드의 통신 가능 범위 등을 사전에 알고 있다고 전제한다. 코디네이터의 위치를 결정하는 주체는 관심 영역에 배치된 제어 장치, 서비스 서버(150) 내지 별도의 컴퓨터 장치(PC, 스마트 기기 등)일 수 있다. 이하 컴퓨터 장치가 코디네이터의 위치를 결정하는 과정을 수행한다고 설명한다.
도 2는 관심 영역에 대한 클러스터링을 수행하는 과정에 대한 예이다. 도 2는 센서 노드가 배치된 전체 관심 영역을 사각형이라고 가정하였다. 컴퓨터 장치는 관심 영역을 일정한 크기를 갖는 그리드 형태로 구분한다. 즉 컴퓨터 장치는 관심 영역을 사각형 모양인 복수의 셀로 구분한다. 컴퓨터 장치는 4개의 셀을 하나의 단위로 먼저 클러스터링을 수행한다. 도 2는 4개의 셀 단위를 실선 사각형으로 표시하였고, 각 셀은 점선으로 표시하였다. 컴퓨터 장치는 4개의 셀의 중심에서 가장 가까운 센서 노드를 해당 클러스터의 클러스터 헤더(CH)로 결정한다. 클러스터 헤더는 클러스터에 속한 센서 노드로부터 센싱 데이터를 수신하여 수집한다. 클러스터 헤더는 클러스터에서 수집하는 센싱 데이터를 다른 객체에 전달한다. 도 2에서 원은 하나의 클러스터를 의미한다. 또한 원의 중심에 기재한 마름모 도형은 헤더인 센서 노드를 의미한다. 하나의 클러스터는 클러스터 헤더의 통신 가능 반경(커버리지)에 있는 센서 노드들을 포함한다. 한편 센서 노드의 통신 가능 반경은 4개의 셀을 모두 포함하지 못한다. 도 2는 8 × 8 셀을 예로 도시한다. 2개의 셀이 하나의 Row가 되어 세로축은 4개의 Row(Row1, Row2, Row3 및 Row4)로 구분된다.
컴퓨터 장치는 첫 번째 행(Row 1)의 좌측부터 우측으로 클러스터를 결정한다. 도 2(A)는 첫 번째 행(Row 1)에서 클러스터를 결정하는 예이다. 컴퓨터 장치는 두 번째 행(Row 2)에서는 우측에서 좌측으로 클러스터를 결정한다. 도 2(B)는 두 번째 행(Row 2)에서 클러스터를 결정하는 예이다. 도 2에서 이미 결정한 클러스터는 점선으로 표시하였다. 컴퓨터 장치는 세 번째 행(Row 3)에서는 좌측에서 우측으로 클러스터를 결정한다. 도 2(D)는 세 번째 행(Row 3)에서 클러스터를 결정하는 예이다. 도 2에 도시한 클러스터를 결정하는 순서는 하나의 예이다. 컴퓨터 장치는 다른 순서로 클러스터를 결정할 수도 있다. 이하 설명의 편의를 위해 컴퓨터 장치는 첫 번째 행의 좌측에서 시작하여 아래로 행을 옮기면서 지그재그 방향으로 클러스터를 결정한다고 가정한다.
센서 노드의 통신 가능 반경이가 4개의 셀을 모두 포함하지 못하기 때문에 어떤 클러스터는 4개의 셀에 위치한 어느 센서 노드를 포함하지 못할 수 있다. 도 2(A)에서 센서 노드 a는 첫 번째 행(Row1)에서 결정한 클러스터에 포함되지 못한 상태이다. 다만 경우에 따라서 다음 행(Row2)에 대한 클러스터를 결정하는 과정에서 첫 번째 행(Row1)에 속한 센서 노드가 클러스터에 포함될 수도 있다. 따라서 컴퓨터 장치는 두 번째 행(Row2)에 대한 클러스터 결정과정을 먼저 수행하는 것이 바람직하다. 도 2(B)는 두 번째 행(Row 2)에서 클러스터를 결정한 예인데, 센서 노드 a는 여전히 클러스터에 속하지 못한 상태이다. 이 경우 컴퓨터 장치는 센서 노드 a가 속할 수 있는 새로운 추가 클러스터를 결정한다.
컴퓨터 장치는 클러스터에 속하지 못한 센서 노드가 위치한 셀과 해당 셀에 인접한 셀(최대 8개)에서 아직 클러스터에 속하지 못한 센서 노드를 찾는다. 이후 컴퓨터 장치는 클러스터에 속하지 못한 센서 노드를 1 홉으로 연결 가능하도록 새로운 클러스터를 결정한다. 아직 클러스터에 속하지 못한 센서 노드를 이하 타겟 센서 노드라고 명명한다. (i) 타겟 센서 노드가 3개 이상인 경우, 컴퓨터 장치는 3개의 평균 위치를 계산하여 평균 위치에서 가장 가까운 센서 노드를 새로운 클러스터의 클러스터 헤더로 결정한다. (ii) 타겟 센서 노드가 1개 혹은 2개인 경우, 컴퓨터 장치는 타겟 센서 노드의 평균 위치(하나인 경우 해당 센서 노드의 위치)에 가장 가까운 클러스터 헤더(CHnear)를 찾는다. 컴퓨터 장치는 찾은 클러스터 헤더가 담당하는 클러스터에 속한 멤버 중 타겟 센서 노드의 평균 위치와 클러스터 헤더(CHnear)의 중간 지점(중점)에 가장 가까운 센서 노드를 새로운 클러스터의 헤더로 결정할 수 있다. 도 2(C)는 센서 노드 a에 대하여 추가 클러스터를 결정하는 예이다. 현재 클러스터에 속하지 않은 센서 노드는 1개이다. 따라서 컴퓨터 장치는 센서 노드 a에서 가장 가까운 클러스터 헤더를 찾고, 찾은 클러스터 헤더가 담당하는 클러스터에 속한 멤버(센서 노드) 중 센서 노드 a에 가까운 노드를 찾는다. 도 2(C)에서 A로 표시한 클러스터가 센서 노드 a에 대한 새로운 클러스터에 해당한다.
이와 같은 방식으로 컴퓨터 장치는 관심 영역에 속한 센서 노드들에 대하여 클러스터를 결정한다. 클러스터가 결정되면 이제 센싱 데이터를 수집하여 외부 네트워크(인터넷)에 전달하기 위한 코디네이터의 위치를 결정한다.
간단하게 모든 클러스터 헤더의 위치에 코디네이터를 배치할 수 있다. 이 경우 코디네이터가 각 클러스터에서 취합한 센싱 데이터를 인터넷 서버에 직접 전달 할 수 있으나 네트워크 규모가 커질수록 설치해야 할 코디네이터 수가 증가하여 설치 및 인터넷 연결 비용이 증가한다.
따라서 서비스 속도를 저해하지 않는 범위에서 일정한 영역에만 코디네이터를 설치하는 것이 바람직하다. 특히 IoT 서비스 경우 데이터 전송의 즉각성 보다는 적은 에너지 소모 및 저비용이 중요한 요소가 될 수도 있다. 이를 위하여 특정 클러스터 헤더는 릴레이(relay)를 통해 이웃 클러스터 헤더에 자신이 수집한 센싱 데이터를 전송한다. 이 경우 복수의 클러스터 헤더가 하나의 코디네이터를 공유할 수 있다.
컴퓨터 장치는 기본적으로 이웃한 클러스터에서 중첩 영역에 위치하는 센서 노드를 릴레이 노드로 선택한다. 코디네이터 설치 개수를 최소화 하기 위해 하나의 코디네이터에는 최대한 많은 클러스터 헤더가 연결되어야 한다.
도 3은 클러스터에 대한 릴레이를 결정하는 과정에 대한 예이다. 도 3는 도 2에서 결정한 클러스터를 기준으로 릴레이 노드를 결정하는 예이다. 도 3은 모두 17개(C1 내지 C17)의 클러스터에 대한 릴레이 노드를 결정하는 예이다. 컴퓨터 장치는 도 2에서 클러스터를 결정하는 순서와 동일한 순서로 클러스터 헤더에 대한 릴레이 노드를 결정한다고 가정한다. 도 3에서 클러스터 헤더와 연결되는 노드는 화살표로 표시하였다.
도 3(A)는 17개의 클러스터가 릴레이로 모두 연결되는 예이다. 컴퓨터 장치는 첫 번째 행의 좌측 클러스터 C1에서 시작하여 우측으로 이동하면서 클러스터 사이의 중첩 영역에서 릴레이 노드를 찾는다. 컴퓨터 장치는 클러스터 C1에서 클러스터 C5까지 우측 방향으로 이동하면서 중첩 영역에 위치한 센서 노드를 릴레이 노드로 결정한다. 컴퓨터 장치는 첫 번째 행의 마지막 클러스터에 이르면 방향을 전환하여 이웃한 클러스터와 중첩된 영역에 위치하는 센서 노드를 찾는다.
한편 어떤 클러스터 헤더와 다른 클러스터 헤더가 중첩 영역에 위치하는 경우 컴퓨터 장치는 별도의 릴레이 노드를 찾을 필요가 없다. 클러스터 헤드 사이에서 1 홉 통신이 가능하기 때문이다. 도 3(A)에서 클러스터 C4와 클러스터 C5는 클러스터 헤더 사이 통신이 가능하다. 따라서 컴퓨터 장치는 클러스터 C4와 클러스터 C5를 하나의 체인에 연결한다.
컴퓨터 장치는 클러스터 C5와 클러스터 C6 사이의 중첩 영역에 위치한 센서 노드를 릴레이 노드로 결정한다. 컴퓨터 장치는 두 번째 행에서 클러스터 C6에서 좌측으로 이동하면서 클러스터 C9까지 중첩 영역에서 릴레이 노드를 결정한다. 이와 같은 방식으로 컴퓨터 장치는 전체 클러스터 영역에서 릴레이 노드를 결정한다. 도 3(A)은 이동 방향에서 2개의 인접 노드 사이의 중첩 영역에 모두 센서 노드가 위치하는 경우이다. 따라서 도 3(A)은 클러스터 C1에서 클러스터 C17까지 모두 연결된 상태이다. 후술하겠지만, 도 3(A)은 C1에서 C17에 이르는 하나의 체인이 결정된 상태이다.
그러나 도 3(A)와 달리 하나의 클러스터와 인접한 클러스터 사이의 중첩 영역에 센서 노드가 없을 수도 있다. 이 경우 컴퓨터 장치는 현재까지 릴레이 노드를 찾은 체인은 그대로 두고, 다음 위치의 클러스터에서 다시 릴레이 노드를 찾는 과정을 수행한다. 도 3(B)는 어떤 클러스터의 중첩 영역에 센서 노드가 없는 경우에 릴레이 노드를 찾는 과정에 대한 예이다. 도 3(B)에서 컴퓨터 장치는 클러스터 C1에서 C6까지 릴레이 노드를 찾았다. 클러스터 C6와 클러스터 C13 사이의 중첩 영역에만 센서 노드가 있다. 따라서 컴퓨터 장치는 클러스터 C6와 클러스터 C13 사이의 중첩 영역에 위치한 릴레이 노드를 선택하여 C13까지 연결한다. 클러스터 C13은 다른 인접 클러스터와 센서 노드를 공유하지 않는다. 따라서 클러스터 C1에서 클러스터 C13까지가 하나의 체인(제1 체인)이 된다. 제1 체인의 시작 노드를 SN1으로 표시하였고, 마지막 노드를 EN1으로 표시하였다.
컴퓨터 장치는 릴레이 노드가 결정되는 않은 클러스터 중에서 일정한 우선 순위를 기준으로 릴레이 노드를 결정한 다음 클러스터를 찾는다. 컴퓨터 장치는 클러스터 C7에서부터 시작하여 인접한 클러스터 사이의 릴레이 노드를 찾는다. 컴퓨터 장치는 클러스터 C7에서 클러스터 C12까지 하나의 체인(제2 체인)을 결정하였다. 제2 체인의 시작 노드를 SN2으로 표시하였고, 마지막 노드를 EN2으로 표시하였다.
컴퓨터 장치는 릴레이 노드가 결정되는 않은 클러스터 중에서 일정한 우선 순위를 기준으로 릴레이 노드를 결정한 다음 클러스터를 찾는다. 컴퓨터 장치는 클러스터 C14에서부터 시작하여 인접한 클러스터 사이의 릴레이 노드를 찾는다. 컴퓨터 장치는 클러스터 C14에서 클러스터 C17까지 하나의 체인(제3 체인)을 결정하였다. 제3 체인의 시작 노드를 SN3으로 표시하였고, 마지막 노드를 EN3으로 표시하였다.
나아가 컴퓨터 장치는 현재 클러스터와 인접한 클러스터 사이의 중첩 영역에 릴레이 노드가 있는 경우라도, 인접한 클러스터가 이미 릴레이 노드를 갖는 경우 현재 클러스터에 대한 릴레이 노드 탐색을 중단한다. 도 3(C)는 현재 클러스터와 인접한 클러스터에 대하여 이미 릴레이 노드를 결정한 경우의 예이다. 도 3(C)에서 컴퓨터 장치는 클러스터 C1에서 C17까지 릴레이 노드를 찾았다. 따라서 클러스터 C1에서 클러스터 C17까지가 하나의 체인(제1 체인)이 된다. 제1 체인의 시작 노드를 SN1으로 표시하였고, 마지막 노드를 EN1으로 표시하였다.
이제 컴퓨터 장치는 릴레이 노드가 결정되는 않은 클러스터 중에서 일정한 우선 순위를 기준으로 릴레이 노드를 결정한 다음 클러스터를 찾는다. 컴퓨터 장치는 클러스터 C7에서부터 시작하여 인접한 클러스터 사이의 릴레이 노드를 찾는다. 컴퓨터 장치는 클러스터 C11과 클러스터 C12 사이의 중첩 영역에서 릴레이 노드를 찾았다. 다음 컴퓨터 장치는 클러스터 C12와 클러스터 C13 사이의 중첩 영역에서 릴레이 노드를 찾았다. 그러나 클러스터 C13은 이미 다른 릴레이 노드가 존재한다(클러스터 C13은 제1 체인에 속한다). 따라서 컴퓨터 장치는 추가적인 릴레이 노드 찾는 것을 중단한다. 컴퓨터 장치는 클러스터 C7부터 클러스터 C12까지를 하나의 체인(제2 체인)으로 결정한다. 제2 체인의 시작 노드를 SN2으로 표시하였고, 마지막 노드를 EN2으로 표시하였다.
도 3에서 이미 체인에 대하여 설명하였다. 체인은 클러스터 헤더와 릴레이 노드를 포함한다. 하나의 체인에 연결된 노드는 체인을 통해 1홉 통신으로 서로 데이터 전달이 가능하다. 이하 설명을 위하여 몇 가지 용어를 정의한다.
- 체인(chain): 릴레이 노드를 찾은 첫 번째 클러스터 헤드부터 더 이상 릴에이 노드를 찾을 수 없거나 이미 릴레이 노드가 있는 클러스터 헤더까지의 경로
- 노드: 체인을 구성하는 클러스터 헤더와 릴레이 노드를 통합적으로 지칭함
- node(α): 체인 α의 임의의 노드
- nodes(α, i, j): 체인 α에서 노드 i부터 노드 j까지의 노드들
- SN/EN : 체인의 시작 노드(SN)와 마지막 노드(EN)임. 다만 클러스터 헤더만 SN/EN이 될 수 있음
- SN(α)/EN(α): 체인 의 SN/EN
- dist(i, j): 임의의 두 노드 i와 j 사이의 경로 길이, i부터 j까지의 노드 개수로 계산
- Level(α): 체인α의 길이, 즉, dist(SN(α), EN(α))
- RP(Rendezvous_Point): 체인 β를 구성하면서 체인 α의 노드를 만나는 경우 해당 노드를 체인 β의 EN라고 여기고 RP(α, β)로 지칭, 즉 EN(β) ≡ RP (α, β)
- RP(α, β)가 EN(α)인 경우, 즉, EN(α) ≡ EN(β) 면, 늦게 생긴 체인 β를 체인 α의 연장으로 여겨 체인 β를 없애고 SN(β)를 EN(α)로 바꿈
- Level (α) = dist (SN(α), RP(α, β)) + level (β) - 1
- 체인 ID: 체인의 id, 체인이 만들어지는 순서대로 매겨짐
- List(chainID): 체인을 구성하는 클러스터 헤더와 릴레이 노드의 리스트
- segment: 하나의 코디네이터에 연결되는 클러스터 헤더와 릴레이 노드의 리스트
- CoH(Constraint_Hops): 응용의 품질을 만족시키기 위한 제한 홉 수(기준 홉수)
- 2CoH-1: 제한 홉 수를 고려해 만들 수 있는 segment의 최대 길이
도 4는 클러스터에 형성된 체인의 예이다. 도 4는 모두 4개의 체인(Chain 1내지 Chain 4)를 도시한다. 체인은 도 3에서 설명한 릴레이 노드를 결정하는 과정을 통해 결정된다.
컴퓨터 장치는 각 체인에 대해 체인의 노드에 릴레이 노드가 있는지 찾아서 각 체인과 만나는/만날 수 있는 체인을 찾는다. 도 4에서 Chain 3은 Chain 2와 만나고, Chain 2는 Chain 1과 만난다. 도 4는 서로 다른 체인이 만나는 경우를 체인을 연결하는 선으로 표시하였다.
체인과 관련된 용어를 몇 가지 설명한다.
C: 체인의 집합
R = { (α, β) | 체인 α의 노드에 RP(α, β)가 있는 경우, α, β ∈ C }, R은 전이관계(transitive)이고 비대칭 관계(antisymmetric)이다. (α, β) ∈ R and (β, γ) ∈ R 이면 (α, γ) ∈ R
체인 β: 체인 α와 만나는 체인
체인 γ: 체인 β를 통해 α와 만날 수 있는 체인
체인 α와 만나는/만날 수 있는 체인의 집합, [α] = { β ∈ C | (α, β) ∈ R }
C(α) = [α] ∪ {α}
도 4의 체인은 R = { (1, 2), (1,3) }, [1] = {2, 3}, [4] = ø, C(1) = {1, 2, 3} 이고 C(4) = {4}이다.
이제 결정된 각 체인에서 코디네이터 위치를 결정하는 과정을 설명한다. 아래 표 1은 코디네이터의 위치를 결정하는 수도코드(pseudo code)에 해당한다.
for every chain i ∈ C(α), max {dist(SN(i), EN(α))}, chain i를 찾음

if dist (SN(i), EN(α)) > 2CoH - 1
dist (SN(i), node(i)) = CoH인 node(i)의 위치에 코디네이터 설치

if dist (SN(i), EN(α)) ≤ 2CoH -1
dist (SN(i), node(i)) =
Figure 112017118897219-pat00001
인 node(i)의 위치에 코디네이터 설치

if dist (SN(i), RP(i, j)) ≤ CoH
dist(SN(i), RP(i, j) ≥ dist(SN(j), RP(i, j)이기 때문에, dist(SN(j), RP(i, j) ≤ CoH, nodes (j, SN(j), EN(j))를 코디네이터에 연결하고, chain j는 코디네이터를 설치/연결할 chain 집합에서 제외시킴

if CoH < dist (SN(i), node(i)) <= 2CoH-1
if dist(코디네이터, node(i)) + dist(SN(j), node(i)) -1 <= CoH
nodes(j, SN(j), EN(j))를 코디네이터에 연결하고, chain j를 코디네이터 설치/연결할 chain 집합에서 제외 시킴
else if,
nodes (i, SN(i), node(i)-1)만 코디네이터에 연결하여 chain i에 대한 코디네이터 설치 종료하고, chain i를 chain 집합에서 제외
도 5는 코디네이터 위치를 결정하는 과정에 대한 예이다. 도 5(A) 내지 도(D)는 체인에서 코디네이터를 결정하는 과정을 도시한다. CoH = 4라고 가정한다.
컴퓨터 장치는 체인의 길이가 가장 긴 체인을 찾아 우선적으로 코디네이터 위치를 결정한다. 컴퓨터 장치는 하나의 단일 체인의 길이를 기준으로 체인을 찾는 것은 아니고, 어느 체인이 다른 체인을 만나는 경우(즉 릴레이 노드로 연결 가능한 경우) 만나는 다른 체인의 길이까지 고려하여 가장 긴 체인을 찾는다. 도 5(A)에서 dist (SN(1),EN(1)) = 21, dist (SN(2), EN(1)) = 25, dist(SN(3), EN(1))= 25으로 체인 2와 체인 3이 가장 길다. 가장 긴 체인이 두 개 이상이라면 랜덤하게 또는 ID가 빠른 체인을 먼저 선택할 수 있다. 도 5(A)는 체인 ID가 빠른 체인 2(chain 2)를 먼저 선택하였다. dist (SN(2), EN(1)) = 25로서 2CoH-1보다 크다. 따라서 컴퓨터 장치는 체인 2에서 시작 노드(SN(2))로부터 CoH 거리에 해당하는 노드의 위치를 코디네이터(코디네이터 1) 위치로 결정한다. 도 5에서 코디네이터 위치는 검은색 사각형으로 도시하였다. 검은색 삭각형의 숫자는 코디네이터가 결정된 순서를 의미한다.
이제 dist (SN(2), RP(2,3)) = 5이다. dist (코디네이터 1, RP(2,3)) + dist (SN(3), RP(2,3)) - 1 = 2+5-1 = 6이다. 따라서 nodes(2, SN(2), RP(2,3)-1)만 코디네이터 1에 연결한다. 이를 통해 체인 2에 대한 코디네이터 설치가 종료된다.
도 5(B)에서 dist (SN(1),EN(1)) = 21이고, dist (SN(3), EN(1)) = 25이다. 따라서 가장 긴 체인 3이 선택된다. dist (SN(3), EN(1)) = 25로서 2CoH-1보다 크다. 따라서 컴퓨터 장치는 체인 3에서 시작 노드(SN(3)로부터 CoH 거리에 해당하는 노드의 위치를 코디네이터(코디네이터 2) 위치로 결정한다.
도 5(C)에서 체인 1의 시작 노드에서 CoH 거리에 코디네이터 3을 결정한다. 이후 코디네이터 3에 연결된 노드를 체인에서 제외하고, 나머지 노드를 기준으로 동일한 과정을 반복한다. 도 5(C)는 체인 1까지 코디네이터가 배치된 예를 도시한다. 체인 4에 대해서는 아직 코디네이터를 배치하지 않은 상태이다.
본 실시례 및 본 명세서에 첨부된 도면은 전술한 기술에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 전술한 기술의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시례는 모두 전술한 기술의 권리범위에 포함되는 것이 자명하다고 할 것이다.
100 : 센싱 데이터를 수집하는 시스템
110A 내지 110I : IoT 디바이스
130A 내지 130C : 코디네이터
150 : 서비스 서버

Claims (10)

  1. 복수의 센서 노드가 배치된 관심 영역을 4개의 셀 단위로 클러스터링하는 과정을 반복하면서 복수의 클러스터를 생성하고, 각 클러스터에 위치하는 적어도 하나의 센서 노드 중 어느 하나를 클러스터 헤더로 결정하는 단계;
    상기 복수의 클러스터 중 어느 하나의 방향을 기준으로 인접한 2개의 클러스터 단위로 상기 2개의 클러스터가 중첩된 영역에 위치하며 상기 2개의 클러스터의 클러스터 헤더와 1홉 거리에 있는 어느 하나의 센서 노드를 상기 2개의 클러스터에 대한 릴레이로 결정하는 단계;
    상기 클러스터 헤더 및 상기 릴레이에 해당하는 노드 연결되며 서로 중첩된 노드를 갖는 않는 복수의 체인을 결정하는 단계; 및
    상기 복수의 체인 각각에 대하여 센서 노드에서 코디네이터의 위치까지 기준 홉거리(CoH)를 내에 위치하도록 체인을 구성하는 어느 노드의 위치 중 적어도 하나를 코디네이터 위치로 결정하는 단계를 포함하되,
    상기 관심 영역은 그리드 형태의 복수의 셀로 구분되고, 상기 체인은 시작 위치에 있는 클러스터 헤더에서 마지막에 위치하는 클러스터 헤더에 이르는 경로에 위치하는 클러스터 헤더와 릴레이로 구성되는, 센싱 데이터를 수집하여 전달하기 위한 코디네이터 위치 결정 방법.
  2. 제1항에 있어서,
    상기 복수의 클러스터 각각에서 상기 4개의 셀의 중심을 기준으로 가장 가까운 센서 노드를 상기 클러스터 헤더로 결정하는 센싱 데이터를 수집하여 전달하기 위한 코디네이터 위치 결정 방법.
  3. 제1항에 있어서,
    클러스터링 과정이 완료된 후에 상기 복수의 센서 노드 중 클러스터에 포함되지 않은 센서 노드인 타겟 센서 노드가 있다면, 상기 타겟 센서 노드가 하나의 홉을 포함하는 추가 클러스터를 더 결정하는 단계를 더 포함하는 센싱 데이터를 수집하여 전달하기 위한 코디네이터 위치 결정 방법.
  4. 제3항에 있어서,
    상기 어느 하나의 센서 노드가 위치하는 어느 하나의 셀과 상기 어느 하나의 셀 주변에 위치한 셀에서 클러스터에 포함되지 않은 타겟 센서 노드가 3개 이상인 경우, 상기 타겟 센서 노드에 대한 평균 위치에서 가장 가까운 센서 노드가 상기 추가 클러스터의 클러스터 헤더가 되는 센싱 데이터를 수집하여 전달하기 위한 코디네이터 위치 결정 방법.
  5. 제3항에 있어서,
    상기 어느 하나의 센서 노드가 위치하는 어느 하나의 셀과 상기 어느 하나의 셀 주변에 위치한 셀에서 클러스터에 포함되지 않은 타겟 센서 노드가 2개 이하인 경우,
    상기 타겟 센서 노드의 평균 위치에서 가장 가까운 클러스터 헤더를 찾고, 상기 가장 가까운 클러스터 헤더의 클러스터에 속한 센서 노드 중 상기 평균 위치와 상기 가장 가까운 클러스터 헤더 위치의 중점에서 가장 가까운 센서 노드가 상기 추가 클러스터의 클러스터 헤더가 되는 센싱 데이터를 수집하여 전달하기 위한 코디네이터 위치 결정 방법.
  6. 제1항에 있어서,
    상기 2개의 클러스터에서 중첩된 영역에 센서 노드가 없는 경우 또는 상기 2개의 클러스터에서 어느 하나의 클러스터에 대하여 이미 릴레이가 존재하는 경우 릴레이 결정을 중지하는 센싱 데이터를 수집하여 전달하기 위한 코디네이터 위치 결정 방법.
  7. 제6항에 있어서,
    상기 릴레이 결정이 중지되면, 상기 복수의 클러스터 중 릴레이가 결정되지 않은 다른 클러스터에서 시작하여 인접한 2개의 클러스터 단위로 릴레이 결정을 계속 반복하는 센싱 데이터를 수집하여 전달하기 위한 코디네이터 위치 결정 방법.
  8. 제1항에 있어서,
    상기 기준 홉거리내에 위치하는 결정된 코디네이터에 정보를 전달할 수 있는 노드를 체인에서 제외하고, 코디네이터가 결정되지 않은 복수의 체인 중 릴레이를 통해 정보가 전달될 수 있는 경로가 가장 긴 어느 하나의 체인을 결정하고,
    상기 가장 긴 어느 하나의 체인의 길이가 "2×CoH-1" 보다 큰 경우 상기 가장 긴 어느 하나의 체인을 시작하는 노드에서 CoH 거리에 있는 노드를 상기 코디네이터의 위치로 결정하는 센싱 데이터를 수집하여 전달하기 위한 코디네이터 위치 결정 방법.
  9. 제1항에 있어서,
    상기 기준 홉거리내에 위치하는 결정된 코디네이터에 정보를 전달할 수 있는 노드를 체인에서 제외하고, 코디네이터가 결정되지 않은 복수의 체인 중 릴레이를 통해 정보가 전달될 수 있는 경로가 가장 긴 어느 하나의 체인을 결정하고,
    상기 가장 긴 어느 하나의 체인의 길이가 "2×CoH-1" 이하인 경우 상기 가장 긴 어느 하나의 체인의 중심 위치에 인접한 어느 하나의 노드를 상기 코디네이터의 위치로 결정하는 센싱 데이터를 수집하여 전달하기 위한 코디네이터 위치 결정 방법.
  10. 컴퓨터에서 상기 제1항 내지 제9항 중 어느 하나의 항에 센싱 데이터를 수집하여 전달하기 위한 코디네이터 위치 결정 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020170161203A 2017-11-29 2017-11-29 센싱 데이터를 수집하여 전달하기 위한 코디네이터 위치 결정 방법 KR101979119B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170161203A KR101979119B1 (ko) 2017-11-29 2017-11-29 센싱 데이터를 수집하여 전달하기 위한 코디네이터 위치 결정 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170161203A KR101979119B1 (ko) 2017-11-29 2017-11-29 센싱 데이터를 수집하여 전달하기 위한 코디네이터 위치 결정 방법

Publications (1)

Publication Number Publication Date
KR101979119B1 true KR101979119B1 (ko) 2019-05-15

Family

ID=66579263

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170161203A KR101979119B1 (ko) 2017-11-29 2017-11-29 센싱 데이터를 수집하여 전달하기 위한 코디네이터 위치 결정 방법

Country Status (1)

Country Link
KR (1) KR101979119B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200132484A (ko) * 2019-05-17 2020-11-25 군산대학교산학협력단 재난 관리 서버의 동작 방법
CN115767465A (zh) * 2022-11-22 2023-03-07 上海亿为科技有限公司 基于人工智能的环境采集系统、方法、装置、设备及产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100109109A (ko) * 2009-03-31 2010-10-08 한국외국어대학교 연구산학협력단 무선 센서 네트워크 시스템 및 데이터 전달 방법
KR20130066787A (ko) * 2011-12-13 2013-06-21 성균관대학교산학협력단 무선 센서 네트워크에서 균형 체인 토폴로지를 생성하는 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100109109A (ko) * 2009-03-31 2010-10-08 한국외국어대학교 연구산학협력단 무선 센서 네트워크 시스템 및 데이터 전달 방법
KR20130066787A (ko) * 2011-12-13 2013-06-21 성균관대학교산학협력단 무선 센서 네트워크에서 균형 체인 토폴로지를 생성하는 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
D. Yang, S. Misra, X. Fang, G. Xue, and J. Zhang, "Two-Tiered Constrained Relay Node Placement in Wireless Sensor Networks: Efficient Approximations," in In: IEEE Secon 2010 Proceedings, June 2010, pp. 1-9.
S. Misra, S. D. Hong, G. Xue, and J. Tang, "Constrained relay node placement in wireless sensor networks to meet connectivity and survivability requirements," in In: IEEE INFOCOM 2008 Proceedings, April 2008, pp. 281-285.

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200132484A (ko) * 2019-05-17 2020-11-25 군산대학교산학협력단 재난 관리 서버의 동작 방법
KR102252301B1 (ko) 2019-05-17 2021-05-14 군산대학교 산학협력단 재난 관리 서버의 동작 방법
CN115767465A (zh) * 2022-11-22 2023-03-07 上海亿为科技有限公司 基于人工智能的环境采集系统、方法、装置、设备及产品

Similar Documents

Publication Publication Date Title
Tunca et al. Ring routing: An energy-efficient routing protocol for wireless sensor networks with a mobile sink
Shen et al. Autonomous mobile mesh networks
Tunca et al. Distributed mobile sink routing for wireless sensor networks: A survey
Chen et al. DTN-FLOW: Inter-landmark data flow for high-throughput routing in DTNs
Mohanty et al. Distributed construction of minimum connected dominating set in wireless sensor network using two-hop information
KR101946730B1 (ko) IoT 디바이스의 센싱 데이터를 수집하여 전달하는 노드의 위치 결정 방법
EP2818015B1 (en) Managing wireless area networks
KR101979119B1 (ko) 센싱 데이터를 수집하여 전달하기 위한 코디네이터 위치 결정 방법
Tahir et al. Logical clusters in a DHT-Paradigm for scalable routing in MANETs
Kuhlani et al. Heuristic data dissemination for mobile sink networks
Alomari et al. A scheme for using closest rendezvous points and Mobile Elements for data gathering in wireless sensor networks
CN112261665B (zh) 一种自组织网络的组网方法
Lenka et al. Cluster-based rendezvous routing protocol for wireless sensor network
Sakthipriya et al. A reliable communication scheme for VANET communication environments
KR101022607B1 (ko) 무선 인지 환경에서 멀티채널 ad-hoc 네트워크를 위한 분산적 협력 공통 제어 채널 선택 방법
Banerjee et al. On state maintenance in cluster-based mobile ad-hoc networks
Mir et al. A quadtree-based hierarchical data dissemination for mobile sensor networks
WO2012009849A1 (en) A routing scheme for wireless sensor networks
US20120163289A1 (en) Node apparatus, node management apparatus and method, and communication system based on continuous network connectivity-lacking network
Shah et al. Water rippling shaped clustering strategy for efficient performance of software define wireless sensor networks
Soysal et al. Data spider: a resilient mobile basestation protocol for efficient data collection in wireless sensor networks
Li et al. Location service in sensor and mobile actuator networks
Abdelhakim et al. Architecture design of mobile access coordinated wireless sensor networks
KR101359860B1 (ko) 모바일 애드혹 기반 p2p 네트워크에서 연속적인 최근접 객체 검색 방법
Chen et al. A data gathering approach for wireless sensor network with quadrotor-based mobile sink node

Legal Events

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