KR101915566B1 - 멀티홉 네트워크 및 그것의 토폴로지 형성 방법 - Google Patents

멀티홉 네트워크 및 그것의 토폴로지 형성 방법 Download PDF

Info

Publication number
KR101915566B1
KR101915566B1 KR1020180076009A KR20180076009A KR101915566B1 KR 101915566 B1 KR101915566 B1 KR 101915566B1 KR 1020180076009 A KR1020180076009 A KR 1020180076009A KR 20180076009 A KR20180076009 A KR 20180076009A KR 101915566 B1 KR101915566 B1 KR 101915566B1
Authority
KR
South Korea
Prior art keywords
node
rank
rank value
nodes
value
Prior art date
Application number
KR1020180076009A
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 KR1020180076009A priority Critical patent/KR101915566B1/ko
Application granted granted Critical
Publication of KR101915566B1 publication Critical patent/KR101915566B1/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/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/124Shortest path evaluation using a combination of metrics

Landscapes

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

Abstract

본 명세서의 실시예에 따른 멀티홉 네트워크의 토폴로지 형성 방법은, 링크 품질, 트래픽 양, 및 에너지 잔여량에 대한 정보를 수집하는 단계, 링크 품질, 트래픽 양, 및 에너지 잔여량에 대한 정보를 사용하여 메시지 전송 비용을 계산하는 단계, 연결된 부모 노드의 랭크값을 기준으로 메시지 전송 비용을 합산하여 자신의 랭크값을 계산하는 단계, 인접 노드로부터 랭크값을 수신하는 단계, 및 자신의 랭크값을 기준으로 작은 랭크값이 수신된 인접 노드를 부모 노드로 결정하는 단계를 포함한다.

Description

멀티홉 네트워크 및 그것의 토폴로지 형성 방법{MULTIHOP NETWORK AND METHODD FOR GENERATINGING TOPOLOGY THEREOF}
본 발명은 멀티홉 네트워크 및 그것의 토폴로지 형성 방법에 관한 것이다. 보다 상세하게는, 효율적이고 균형적인 토폴로지를 형성할 수 있는 멀티홉 네트워크 및 그것의 토폴로지 형성 방법에 관한 것이다.
최근 알피엘(RPL: Routing Protocol for Low Power and Lossy Networks) 기술이 국제인터넷표준화그룹(IETF)에서 주요 라우팅 프로토콜로 선정되면서, 대부분의 멀티홉 통신 기반의 사물인터넷 환경에서 라우팅 프로토콜로 채택되어 사용되고 있다. 이러한, 사물 인터넷은 소형 센서 노드를 기반으로 형성된 네트워크로, 기가간 통신을 통해 수집된 정보가 서버로 전달된다.
이러한, RPL 네트워크는 DODAG(Destination Oriented Directed Acyclic Graph)라는 트리 구조의 토폴로지를 기반으로 각 노드에서 생성된 메시지가 루트 노드 쪽으로 전달되는 방식으로 라우팅된다. 따라서, 루트 노드에 가까이 있는 노드는 전달해야 하는 메시지 개수와 에너지 소비량이 증가하여 부하가 증가한다.
하지만, RPL 기술은 대부분의 루트 노드가 한 개인 상황을 가정하고 있으며, 부모 노드를 선정하는 규칙이 루트 노드까지의 홉(hop) 수 등과 같은 하나의 정보만을 사용하는 형태로 단순화되어 있다. 이러한, RPL 기술을 사용하여 라우팅 트리 형태의 토폴로지를 형성할 경우 불균형적인 토폴로지 형성으로 인해 특정 노드에 부하가 발생된 경우, 해당 노드에서 에너지가 고갈되어 네트워크가 단절되는 비효율적인 네트워크를 형성하게 되는 문제점이 있었다.
따라서 상술된 문제점을 해결하기 위한 기술이 필요하게 되었다.
관련하여 선행기술문헌인 한국 등록특허공보 제10-1208400호에서는 RPL 라우팅 프로토콜을 사용하여 저장 모드와 비저장 모드를 하나의 네트워크 내에서 혼합하여 혼합 모드를 구현하는 라우팅하는 방법을 기재한다.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 명세서에서 개시되는 실시예들은 효율적이고 균형적인 토폴로지를 형성할 수 있는 멀티홉 네트워크 및 그것의 토폴로지 형성 방법을 제시하는 데 목적이 있다.
본 명세서에서 개시되는 실시예들은 네트워크에서 노드들 간에 부하가 분산될 수 있는 멀티홉 네트워크 및 그것의 토폴로지 형성 방법을 제시하는데 목적이 있다.
본 명세서에서 개시되는 실시예들은 전체적인 네트워크의 수명을 연장할 수 있는 멀티홉 네트워크 및 그것의 토폴로지 형성 방법을 제시하는데 목적이 있다.
본 명세서에서 개시되는 실시예들은 네트워크의 신뢰성을 확보할 수 있는 멀티홉 네트워크 및 그것의 토폴로지 형성 방법을 제시하는데 목적이 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 일 실시예에 따르면, 노드의 토폴로지 형성 방법에 있어서, 링크 품질, 트래픽 양, 및 에너지 잔여량에 대한 정보를 수집하는 단계, 상기 링크 품질, 상기 트래픽 양, 및 상기 에너지 잔여량에 대한 정보를 사용하여 메시지 전송 비용을 계산하는 단계, 연결된 부모 노드의 랭크값을 기준으로 상기 메시지 전송 비용을 합산하여 자신의 랭크값을 계산하는 단계, 인접 노드로부터 랭크값을 수신하는 단계, 및 상기 자신의 랭크값을 기준으로 작은 랭크값이 수신된 인접 노드를 부모 노드로 결정하는 단계를 포함한다.
다른 실시예에 따르면, 노드는, 동작을 위한 전원을 공급하는 배터리, 다른 노드와 통신하는 통신부, 및 링크 품질, 트래픽 양, 및 에너지 잔여량에 대한 정보를 수집하고, 수집된 정보를 사용하여 메시지 전송 비용을 계산하며, 연결된 부모 노드의 랭크값을 기준으로 상기 메시지 전송 비용을 합산하여 자신의 랭크값을 계산하고, 상기 자신의 랭크값을 기준으로 작은 랭크값이 수신된 인접 노드를 부모 노드로 결정하는 제어부를 포함한다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 효율적이고 균형적인 토폴로지를 형성할 수 있는 멀티홉 네트워크 및 그것의 토폴로지 형성 방법을 제시할 수 있다.
또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 네트워크에서 노드들 간에 부하가 분산될 수 있는 멀티홉 네트워크 및 그것의 토폴로지 형성 방법을 제시할 수 있다.
또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 전체적인 네트워크의 수명을 연장할 수 있는 멀티홉 네트워크 및 그것의 토폴로지 형성 방법을 제시할 수 있다.
또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 네트워크의 신뢰성을 확보할 수 있는 멀티홉 네트워크 및 그것의 토폴로지 형성 방법을 제시할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 트리 구조를 갖는 네트워크를 도시한 도면이다.
도 2는 일 실시예에 따른 노드의 구조를 도시한 블록도이다.
도 3은 일 실시예에 따른 제어부를 도시한 블록도이다.
도 4는 일 실시예에 따른 노드에서 부모 노드의 설정을 예시적으로 도시한 도면이다.
도 5는 일 실시예에 따른 노드의 토폴로지 형성 방법을 도시한 순서도이다.
도 6은 일 실시예에 따른 잔여 에너지에 시그모이드 함수의 적용에 따른 패널티 변화를 도시한 그래프이다.
도 7은 일 실시예에 따른 루트 노드들 간에 부하를 감소시키기 위해 예상 랭크의 교환을 설명하기 위한 도면이다.
아래에서는 첨부한 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 아래에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여, 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략하였다. 그리고, 도면에서 실시예들의 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우뿐 아니라, '그 중간에 다른 구성을 사이에 두고 연결'되어 있는 경우도 포함한다. 또한, 어떤 구성이 어떤 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들을 더 포함할 수도 있음을 의미한다.
이하 첨부된 도면을 참고하여 실시예들을 상세히 설명하기로 한다.
다만, 이를 설명하기에 앞서, 아래에서 사용되는 용어들의 의미를 먼저 정의한다.
이하에서, '노드'는 멀티홉 네트워크를 구성하는 구성 요소로서, 소형 센서 노드일 수 있고, 배터리 등을 구비하여 무선으로 다른 노드들과 통신할 수 있다. 여기서, 노드는 루트 노드와 일반 노드를 포함할 수 있다. 여기서, 루트 노드는 네트워크를 최초에 형성한 노드로서 인터넷에 연결되어 다른 루트 노드들과 통신할 수 있다. 일반 노드는 루트 노드가 만든 네트워크에 참여하는 노드이고, 일정 주기를 간격으로 주변 정보를 수집하고 분석하여 최적의 토폴로지를 형성할 수 있다. 또한, 일반 노드는 하나의 루트 노드에 의해 생성된 네트워크에 종속되지 않고, 다른 루트 노드에 연결될 수 있다.
알피엘(RPL: IPv6 Routing Protocol for Low-power Lossy Networks)은 DODAG(Destination Oriented Directed Acyclic Graph)라는 트리형 네트워크 구조를 가진다. RPL은 저전력 저품질의 네트워크 환경인 엘엘엔에스(LLNs: Low-Power Lossy Networks)에서 파워(power)와 링크(link) 품질이 낮은 환경에서도 효율적인 라우팅을 하기 위해 설계된 기법으로 네트워크상에서 트리 라우팅 구조에서 낮은 에너지로 동작하는 라우팅을 시도하며 루프(loop)를 발생하지 않게 하는 메커니즘을 사용한다. RPL은 낮은 에너지 소비와 저전력, 저품질의 무선에 안 좋은 환경에서 사용하기 위한 라우팅 기법이다. 하기에서는 DODAG라는 트리형 네트워크 구조를 갖는 RPL을 기준으로 설명하지만, 제안된 발명은 트리 형태의 구조를 갖는 다른 모든 네트워크에 적용될 수 있다.
위에 정의한 용어 이외에 설명이 필요한 용어는 아래에서 각각 따로 설명한다.
도 1은 일 실시예에 따른 트리 구조를 갖는 네트워크를 도시한 도면이다.
도 1에 도시된 바와 같이, 트리 구조의 네트워크(10)는 인터넷(11)에 연결된 루트 노드(110, 120)와 노드(111~116, 121~125)를 포함할 수 있다. 따라서, 네트워크(10)는 노드(111~116, 121~125)를 포함하는 멀티홉 네트워크이다.
루트 노드(110, 120)는 인터넷(11)에 연결되어, 노드(111~116, 121~125)를 인터넷에 연결할 수 있다. 제 1 루트 노드(110)에는 노드(111~116)가 연결되고, 제 2 루트 노드(120)에는 노드(121~125)가 연결된다.
이때, 노드(130)는 일반 노드로서 네트워크(10)에 접속되기 위한 부모 노드를 선정할 수 있다. 제 1 노드(130)는 네트워크(10)에 아직 연결되지 못한 상태로서, 부모 노드의 선정을 위해 이웃 노드를 탐색할 수 있다. 이를 위해, 제 1 노드(130)는 디아이에스(Destination Oriented Directed Acyclic Graph(DODAG) Information Solicitation, 이하 'DIS'라 칭하기로 함) 메시지를 일정 주기를 간격으로 전송할 수 있다.
제 1 노드(130)로부터 DIS 메시지를 수신한 이웃 노드, 예를 들어, 노드(115, 116, 122, 124)는 디아이오(DODAG Information Object, 이하 'DIO'라 칭하기로 함) 메시지로 DIS 메시지에 응답할 수 있다.
제 1 노드(130)는 선택된 부모 노드로 디에이오(DODAG Advertisement Object, 이하 'DAO'라 칭하기로 함) 메시지를 전송하여 부모 노드로 선택한 것을 통보한다. 이때, 제 1 노드(130)는 선택된 부모 노드의 자식 노드가 된다. DAO 메시지를 수신한 노드는 제 1 노드(130)의 부모 노드로 설정된 것으로 확인할 수 있다.
이때, 제 1 노드(130)는 랭크(RANK)값을 이용하여 부모 노드를 결정할 수 있다. 제 1 노드(130)는 이웃 노드의 랭크값들 중에서 가장 작은 랭크값을 갖는 노드를 자신의 부모 노드로 결정할 수 있다. 예를 들어, 제 1 노드(130)는 제 2 노드(115)의 랭크값이 가장 작은 경우, 제 2 노드(115)를 부모 노드로 설정하고, 제 2 노드(115)를 통해 메시지를 송수신할 수 있다.
제안된 실시예에 따르면, 노드(110~116, 120~125, 130)는 랭크값을 계산할 수 있으며, 랭크값의 계산에 링크 품질, 트래픽 양, 및 에너지 잔여량을 모두 이용할 수 있다. 이와 같이, 노드(110~116, 120~125, 130)는 링크 품질, 트래픽 양, 및 에너지 잔여량의 정보를 이용하여 랭크값을 계산하며, 랭크값 계산 시 다양한 정보를 이용하여 토폴로지를 형성하기 때문에 효율적이고 균형적인 토폴로지를 형성할 수 있다.
도 2는 일 실시예에 따른 노드의 구조를 도시한 블록도이다.
도 2에 도시된 바와 같이, 노드(200)는 도 1에 도시된 다양한 노드(110~116, 120~125, 130) 중의 하나일 수 있으며, 네트워크의 토폴로지를 구성하므로 토폴로지 형성 장치로 간주될 수 있다. 하기에서는 설명의 편의를 위하여 '노드'라 칭하기로 한다.
노드(200)는 통신부(210), 저장부(220), 배터리(230), 및 제어부(240)를 포함할 수 있다.
통신부(210)는 다른 노드와 통신할 수 있다. 통신부(210)는 인터넷에 접속을 위해 다양한 무선 통신을 지원하는 통신 모듈을 포함할 수 있다. 한편, 통신부(210)는 인터넷에 유선 접속이 필요한 경우, 통신 모듈은 유선 통신을 지원할 수도 있다.
저장부(220)는 파일, 애플리케이션, 및 프로그램 등과 같은 다양한 종류의 데이터가 설치 및 저장될 수 있다. 저장부(220)에 저장된 데이터는 후술될 제어부(240)에 의해 액세스되어 이용되거나, 또는 제어부(240)에 의해 새로운 데이터가 저장될 수 있다. 또한 저장부(220)는 제어부(240)에 의해 실행될 수 있는 멀티홉 네트워크에서 토폴로지를 형성하도록 동작하는 프로그램을 저장할 수 있다.
배터리(230)는 노드(200)의 동작을 위한 전원을 공급할 수 있으며, 노드(200)에 결합된 형태로 구현되거나 탈착 가능한 형태로 구현될 수 있다. 배터리(230)는 노드(200)에 전원 공급을 하여 노드(200)의 동작을 위한 에너지를 제공할 수 있다.
제어부(240)는 노드(200)의 전체적인 동작을 제어하며, CPU 등과 같은 프로세서를 포함할 수 있다. 제어부(240)는 링크 품질, 트래픽 양, 및 에너지 잔여량을 수집할 수 있다. 제어부(240)는 링크 품질, 트래픽 양, 및 에너지 잔여량을 이용하여 메시지 전송 비용을 결정할 수 있다. 또한, 제어부(240)는 부모 노드의 랭크값에 메시지 전송 비용을 합산하여 자신 즉, 노드(200)의 랭크값을 결정할 수 있다.
제어부(240)는 이웃 노드들로부터 랭크값을 수신할 수 있다. 제어부(240)는 수신된 랭크값들 중에서 가장 작은 랭크값을 갖는 이웃 노드를 부모 노드로 결정할 수 있다. 이때, 제어부(240)는 가장 작은 랭크값을 갖는 이웃 노드의 랭크값이 자신의 랭크값보다 크면 해당 이웃 노드를 부모 노드로 설정하지 않고, 현재 부모 노드와 연결을 유지할 수 있다.
상술된 바에 따른 제어부(240)는 도 3을 참조하여 보다 상세히 후술된다.
도 3은 일 실시예에 따른 제어부를 도시한 블록도이다.
도 3에 도시된 바와 같이, 제어부(240)는 정보 수집부(241), 토폴로지 형성부(242), 및 이상 탐지부(243)를 포함할 수 있다. 또한, 제어부(240)는 노드(200)가 루트 노드이면 네트워크 정보 교환부(244)를 추가로 포함할 수 있다.
정보 수집부(241)는 노드(200) 내부와 외부의 정보를 수집할 수 있다. 정보 수집부(241)는 노드 외부의 정보는 부모 노드 또는 이웃 노드를 통해 수집할 수 있다.
정보 수집부(241)는 링크 품질에 대한 정보를 다른 노드로부터 수신할 수 있다. 예를 들어, 정보 수집부(241)는 링크 품질을 기대 전송 횟수(ETX: Expected Trassimssion Count)를 이용하여 계산될 수 있으며, 기대 전송 횟수는 메시지 또는 패킷의 전송 횟수의 단위로 계산될 수 있다.
정보 수집부(241)는 기대 전송 횟수(ETXnew(ni, x))를 하기의 수학식 1을 이용하여 계산할 수 있다.
Figure 112018064421808-pat00001
여기서, ni는 노드 인덱스 i인 노드를 의미하고, ETXold(ni, x)는 노드(200), 즉 노드(i)의 다른 노드(예를 들어, 부모 노드)로부터 소정 시점 이전에 수신한 기대 전송 횟수이고, ETXcur(ni, x)는 노드(200)의 다른 노드로부터 현재 시점에 수신한 기대 전송 횟수를 의미한다. a는 이전 기대 횟수와 현재 기대 횟수 사이의 평균을 계산하기 위한 가중치로서 정수일 수 있다.
정보 수집부(241)는 노드(200)가 라우터로 동작함에 따라 전송되는 라우팅 트래픽 양(RT: Routing Traffic)을 다른 노드로부터 수신할 수 있다. 정보 수집부(241)는 라우팅 트래픽 양(RT)을 초당 전송되는 패킷의 수(P/S: Packet per Second)를 기준으로 측정할 수 있다. 정보 수집부(241)는 라우팅 트래픽 양(RTnew(ni))을 하기의 수학식 2를 이용하여 계산할 수 있다.
Figure 112018064421808-pat00002
여기서, RTold(ni)는 다른 노드(예를 들어, 자식 노드들)로부터 소정 시점 이전에 수신된 라우팅 트래픽 양이고, RTcur(ni)는 다른 노드로부터 현재 시점에 수신된 라우팅 트래픽 양이다. 여기서도, a는 이전 라우팅 트래픽 양과 현재 라우팅 트래픽 양 사이의 평균을 계산하기 위한 상수이다.
정보 수집부(241)는 노드(200)에서 발생되는 자체 트래픽 양(SGT: Self GeneratingTraffic)을 측정할 수 있다. 정보 수집부(241)는 자체 트래픽 양(SGT)을 초당 전송되는 패킷의 수(P/S)를 기준으로 측정할 수 있다.
정보 수집부(241)는 자체 트래픽 양(SGTnew(ni))을 하기의 수학식 3을 이용하여 계산할 수 있다.
Figure 112018064421808-pat00003
SGTold(ni)는 소정 시점 이전에 측정된 자체 트래픽 양이고, SGTcur(ni)는 현재 시점에 측정된 자체 트래픽 양이다. 여기서도, a는 이전 자체 트래픽 양과 현재 자체 트래픽 양 사이의 평균을 계산하기 위한 상수이다.
정보 수집부(241)는 배터리(230) 등의 잔여 에너지를 측정할 수 있으며, 배터리(230)의 전체 에너지 용량 대비 잔여 에너지의 비율을 이용하여 잔여 에너지(RER: Residual Energy Ratio), 즉, 노드(200)의 잔여 에너지(RER(ni))를 측정할 수 있다.
정보 수집부(241)는 기대 전송 횟수(ETXnew(ni, x)), 라우팅 트래픽 양(RTnew(ni)), 자체 트래픽 양(SGTnew(ni)), 및 잔여 에너지(RER(ni))에 대한 정보를 토폴로지 형성부(242)로 제공할 수 있다.
정보 수집부(241)는 링크 품질과 트래픽 양에 관련하여 현재의 정보뿐만 아니라 과거의 정보를 함께 수집할 수 있다. 정보 수집부(241)는 지수 가중 평균(EWMA: Exponential Weighted Moving Average)을 이용하여 현재의 정보에 과거의 정보까지 반영된 링크 품질과 트래픽 양에 대한 정보를 계산할 수 있다.
토폴로지 형성부(242)는 수신된 잔여 에너지(RER(ni))에 시그모이드 함수를 적용한 잔여 에너지값(PN(ni))을 하기의 수학식 4를 이용하여 계산할 수 있다.
Figure 112018064421808-pat00004
이와 같이, 설정된 경우, 잔여 에너지가 12%인 시점부터 잔여 에너지에 패널티가 급격히 적용되어, 0%일 경우, 최대 2배까지 패널티가 적용될 수 있다. 토폴로지 형성부(242)는 잔여 에너지의 경우, 시그모이드 함수를 이용하여 잔여 에너지가 12%인 시점 이전에는 노드 선정에 미미한 영향만을 제공하고, 12% 미만의 시점에서 영향을 급격히 증가시킬 수 있도록 한다. 이를 통해, 토폴로지 형성부(242)는 노드의 에너지가 낮은데도 불구하고, 트래픽 양이 증가하여 에너지가 빠르게 고갈되어 네트워크가 단절되는 것을 방지, 즉 네트워크의 수명(lifetime)을 향상할 수 있다. 토폴로지 형성부(242)는 네트워크 내 에너지 사용의 효율성을 확보할 수 있다.
토폴로지 형성부(242)는 수학식 1 내지 4를 통해 계산된 기대 전송 횟수(ETXnew(ni, x)), 라우팅 트래픽 양(RTnew(ni)), 자체 트래픽 양(SGTnew(ni)), 및 잔여 에너지값(PN(ni))을 이용하여 메시지 전송 비용(TRELQ(ni))을 하기의 수학식 5를 이용하여 계산할 수 있다.
Figure 112018064421808-pat00005
여기서, EXT(ni, P(ni))는 부모 노드(P(ni))의 링크 품질을 고려하여 획득된 기대 전송 횟수이고, 수학식 1 내지 4를 통해 계산된 트래픽 양, 링크 품질, 및 잔여 에너지량에 대한 정보를 모두 이용하여 메시지 전송 비용(TRELQ(ni))을 계산할 수 있다.
토폴로지 형성부(242)는 메시지 전송 비용(TRELQ(ni))을 이용하여 랭크값(Rank(ni))을 하기의 수학식 6을 이용하여 계산할 수 있다.
Figure 112018064421808-pat00006
토폴로지 형성부(242)는 노드(200)의 랭크값(Rank(ni))을 노드(200)의 부모 노드의 랭크값(Rank(p(ni))에 메시지 전송 비용(TRELQ(ni))을 합산하여 계산할 수 있다. 따라서, 루트 노드를 기준으로 홉 수가 증가할수록, 즉 멀어질수록 랭크값이 증가하게 되고, 랭크값이 작을수록 루트 노드까지의 메시지 전송 비용이 작아지는 것을 의미한다.
토폴로지 형성부(242)는 인접 노드의 랭크값을 수신하여 가장 작은 랭크값을 갖는 노드를 부모 노드로 결정할 수 있다. 이때, 토폴로지 형성부(242)는 가장 작은 랭크값을 갖는 노드가 자신의 랭크값보다 크면 해당 노드를 부모 노드로 결정하지 않는다.
토폴로지 형성부(242)는 일정 주기를 간격으로 메시지 전송 비용(TRELQ(ni))을 계산하여 랭크값을 갱신할 수 있으며, 다른 노드로부터 일정 주기(예를 들어, 5분)를 간격으로 랭크값을 수신하여 부모 노드를 결정할 수 있다. 이를 통해, 토폴로지 형성부(242)는 루트 노드에 의해 형성된 네트워크에 연결되어 토폴로지를 형성할 수 있다.
이상 탐지부(243)는 에너지 잔여량이 소정 기준(예를 들면, 약 12% 미만)이 되면, 관리자 또는 사용자에게 배터리의 교체를 위한 알림 메시지를 전송할 수 있다. 이상 탐지부(243)는 노드(200) 자신 또는 다른 노드로부터 트래픽 양이 급격히 변화(예를 들어, 트래픽 양이 급격히 증가)하는 경우에 관리자 또는 사용자에게 트래픽 알람 메시지를 전송할 수 있다. 또한, 이상 탐지부(243)는 링크 품질이 급격히 변화(예를 들어, 링크 품질이 급격히 저하)하는 경우에도 관리자 또는 사용자에게 링크 알람 메시지를 전송할 수 있다.
이와 같이, 이상 탐지부(243)는 노드(200)를 기준으로 비정상적인 링크 품질, 트래픽 양을 감지하거나 소정 기준 미만의 잔여 배터리양을 감지하면, 관리자 또는 사용자에게 통보하여 신속한 처리, 예를 들어, 재부팅 또는 배터리 교환 등을 가능하게 할 수 있다.
네트워크 정보 교환부(244)는 노드(200)가 루트 노드일 경우 포함될 수 있다. 네트워크 정보 교환부(244)는 다른 루트 노드와 통신할 수 있으며, 루트 노드들 각각에 의해 형성된 네트워크에서의 부하에 따라 루트 노드의 랭크값을 조절한다.
네트워크 정보 교환부(244)는 루트 노드들 간에 예상 랭크(ER: Expected Rank)를 교환할 수 있다. 네트워크 정보 교환부(244)는 자신의 예상 랭크(ER(ni))을 하기의 수학식 7을 이용하여 계산할 수 있다.
Figure 112018064421808-pat00007
여기서, NETsub(ni)는 노드(200)(노드(ni))를 제외한 노드 의 서브 네트워크 내 노드들의 집합을 나타내고, NETsize(ni)는 집합(NETsub(ni))의 크기, 즉 집합 내 노드의 개수를 나타내고, Rank(x)는 상기 집합 내 노드의 랭크값을 나타내고, Rank(ni)는 노드(200)(노드(ni))의 랭크값을 나타낸다. 따라서, ER(ni)는 노드(200)(노드(ni))의 서브 네트워크에 있는 모든 노드의 평균 랭크값에서 루트 노드의 랭크를 뺀값을 의미하며, 루트 노드의 랭크를 0라고 할 때, 해당 서브 네트워크의 기대 랭크값을 나타낼 수 있다.
따라서, 네크워크 정보 교환부(244)에서 수신한 다른 루트 노드의 예상 랭크(ER) 값이 크면 해당 서브 네트워크에 부하가 큰 것을 확인할 수 있다.
네트워크 정보 교환부(244)는 자신의 ER(ni) 값을 인터넷을 이용하여 다른 노드들과 공유할 수 있다. 네트워크 정보 교환부(244)는 인접 루트 노드의 예상 랭크값을 고려하여 자신의 랭크값을 조절할 수 있다.
네트워크 정보 교환부(244)는 인접 네트워크의 루트 노드들의 집합(NR(ni))을 자신의 하위 네트워크에 존재하는 노드들로부터 발견된 인접 네트워크의 존재를 통보받으면, 해당 정보를 사용하여 인접 네트워크의 루트 노드들의 집합 (NR(ni))을 만들 수 있다.
네트워크 정보 교환부(244)는 균형적 부하량(Balance(ni))을 하기의 수학식 8을 이용하여 계산할 수 있다.
Figure 112018064421808-pat00008
여기서, NRS(ni)는 집합(NR(ni))에 있는 원소, 즉 노드의 수를 나타낸다. 따라서, 균형적 부하량(Balance(ni))은 노드(200), 즉 루트 노드(ni)가 인접 루트 노드의 집합과 인접 루트 노드의 서브 네트워크의 평균 부하량을 의미하는 ER(x)를 고려하였을 때, 각 루트 노드에서 부담할 수 있는 균형적 부하량을 의미한다. 즉, 균형적 부하량(Balance(ni))은 해당 노드에서 분산하여 부담할 부하량을 의미한다.
네트워크 정보 교환부(244)는 노드(200) 자신의 목표 랭크값(Ranktarget(ni))을 하기의 수학식 9를 이용하여 계산할 수 있다.
Figure 112018064421808-pat00009
네트워크 정보 교환부(244)는 균형적 부하량(Balance(ni)) 보다 작은 예상 랭크(ER(ni))를 갖는 루트 노드에 자신의 목표 랭크값을 0으로 설정하고, 균형적 부하량(Balance(ni))보다 큰 예상 랭크(ER(ni))를 갖는 루트 노드에 자신의 랭크값을 인위적으로 더 증가시켜 자신의 서브 네트워크에 있는 노드들을 주변의 부하가 적은 네트워크로 이동할 수 있도록 할 수 있다. 따라서, 네트워크 정보 교환부(244)는 0과 ER(ni) - Balance(ni)) 중에서 큰 값을 목표 랭크값으로 설정할 수 있다.
예를 들어, 네트워크 정보 교환부(244)는 예상 랭크(ER(ni))의 값이 큰 루트 노드에 대해 자신의 랭크값을 증가되도록 조절하면, 루트 노드의 랭크가 상향 조절될 수 있다. 이때, 네트워크 내의 일반 노드들은 자신의 부모 노드를 부하가 낮은 다른 루트 노드의 네트워크에서 부모 노드를 결정하기 때문에 네트워크 간에 부하를 분산할 수 있다. 네트워크 정보 교환부(244)는 균형적 부하량을 고려한 자신의 랭크값(Ranknew(ni))을 하기의 수학식 10을 이용하여 계산할 수 있다.
Figure 112018064421808-pat00010
여기서, a값은 지수 가중 평균(EWMA)을 계산하기 위한 가중치로서 약 0.7로 조절될 수 있으며, 다른 네트워크에 비해 네트워크에 부하(ER(ni))가 큰 루트 노드는 Rank(ni)의 값이 상향되도록 조절될 수 있다.
네트워크 정보 교환부(244)는 소정 주기(예를 들어, 약 5분)를 간격으로 다른 노드와 부하(ER(ni))에 관련된 정보를 교환하여 자신의 랭크값을 조절할 수 있다.
이와 같이, 노드(200)는 링크 품질, 트래픽 양, 및 에너지 잔여량을 모두 고려하여 랭크값을 결정하기 때문에 하나의 단편적인 정보만을 사용하는 부모 노드의 결정 방식에 비해 부하가 분산될 수 있다.
더욱이, 노드(200)는 인접한 다른 루트 노드에 의해 형성된 네트워크의 부하를 고려하여 루트 노드의 랭크값을 조절하기 때문에 네트워크 간에도 부하를 분산할 수 있다.
도 4는 일 실시예에 따른 노드에서 부모 노드의 설정을 예시적으로 도시한 도면이다.
도 4에 도시된 바와 같이, 네트워크(300)는 루트 노드(310)와 일반 노드(320~370)를 포함한다. 네트워크(300)는 루트 노드(310)를 기준으로 토폴로지를 형성한다.
예를 들어, 노드(200)가 네트워크(300)에 접속을 위해, 인접 노드들(320, 330, 350, 360)로부터 랭크값을 수신할 수 있다. 예를 들어, 제 1 노드(320)의 랭크값이 약 '3'이고, 제 2 노드(330)의 랭크값이 약 '4'이고, 제 3 노드(350)의 랭크값이 약 '7'이고, 제 4 노드(360)의 랭크값이 약 '9'일 수 있다. 이때, 노드(200)는 랭크값이 가장 작은 노드인 제 1 노드(320)에 연결될 수 있다.
노드(200)는 제 1 노드(320)에 연결되면, 자신의 랭크값을 계산할 수 있다. 노드(200)는 수학식 5를 이용 메시지 전송 비용(TRELQ(ni))을 계산하고, 부모 노드인 제 1 노드(320)의 랭크값을 이용하여 자신의 랭크값을 계산할 수 있다.
이후, 노드(200)는 일정 주기를 간격으로 이웃 노드들로부터 랭크값을 수신할 수 있다. 이때, 노드(200)는 자신의 랭크값이 '7'이고, 제 1 노드(320)의 랭크값이 '5'이고, 제 2 노드(330)의 랭크값이 '3'이면, 노드(200)는 부모 노드를 제 1 노드(320)로부터 제 2 노드(330)로 변경할 수 있다.
이와 같이, 네트워크(300)에서 모든 노드들(200, 310~370)은 랭크값의 계산에 링크 품질, 트래픽 양, 및 에너지 잔여량을 고려한 메시지 전송 비용(TRELQ(ni))을 반영하기 때문에 부하를 분산할 수 있다.
예를 들어, 노드들(200, 310~370)은 링크 품질이 좋지 않은 노드 또는 트래픽 양이 많은 노드로 트래픽이 몰려 부하가 발생하는 것을 방지할 수 있다. 또한, 노드들(200, 310~370)은 잔여 에너지가 소정 기준 미만인 노드로의 접속을 제한하도록 랭크값을 조절할 수 있다. 이를 통해, 노드들(200, 310~370) 각각은 잔여 에너지를 이용하여 랭크값을 조절하여 잔여 에너지가 낮은 노드로 트래픽이 몰리는 것을 방지할 수 있다. 즉, 잔여 에너지가 적은 노드에서 에너지 소모의 속도를 늦춰 네트워크 단절이 발생되는 것을 방지할 수 있다.
도 5는 일 실시예에 따른 노드의 토폴로지 형성 방법을 도시한 순서도이다.
도 5에 도시된 바와 같이, 노드(200)는 메지시 전송 비용을 계산하기 위한 정보를 수집할 수 있다(S410). 예를 들어, 노드(200)는 기대 전송 횟수(링크 품질)에 대한 정보, 라우팅 트래픽 양, 자체 트래픽 양, 및 잔여 에너지 양을 수집할 수 있다.
노드(200)는 메시지 전송 비용을 계산할 수 있다(S420). 메시지 전송 비용은 링크 품질, 트래픽 양(라우팅 트래픽 양과 자체 트래픽 양), 잔여 에너지를 이용하여 수학식 5에 도시된 바와 같이 각 정보를 정량화하여 계산할 수 있다. 노드(200)는 정량화를 위해 링크 품질, 트래픽 양 각각에는 랭크값 계산을 위해 소정의 가중치를 적용할 수 있으며, 잔여 에너지에는 시그모이드 함수를 적용할 수 있다.
노드(200)는 부모 노드의 랭크값에 메시지 전송 비용을 합산하여 랭크값을 계산할 수 있다(S430). 이때, 노드(200)는 자신의 랭크값을 소정 주기를 간격으로 계산할 수 있다.
노드(200)는 이웃 노드의 랭크값을 수신할 수 있다(S440). 노드(200)는 소정 주기를 간격으로 이웃 노드의 랭크값을 수신할 수 있다.
노드(200)는 이웃 노드의 랭크값을 수신 완료하였는지 확인할 수 있다(S450). S450단계의 확인 결과, 이웃 노드의 랭크값을 수신 완료하지 않은 경우, 노드(200)는 S440단계로 진행한다.
S450단계의 확인 결과, 이웃 노드의 랭크값의 수신을 완료한 경우, 노드(200)는 S460단계로 진행한다.
노드(200)는 자신의 랭크값과 이웃 노드의 랭크값을 비교할 수 있다(S460).
노드(200)는 랭크값의 비교를 통해 부모 노드를 결정한다(S470). 이때, 노드(200)는 자신의 랭크값보다 작은 이웃 노드의 랭크값들 중에서 가장 작은 값을 갖는 노드를 부모 노드로 결정할 수 있다.
S470단계의 결정 결과, 부모 노드를 결정하지 못한 경우, 노드(200)는 S410단계로 진행한 후, 소정 시간이 경과하면 부모 노드의 결정 동작을 다시 수행할 수 있다.
S470단계의 판단결과, 부모 노드를 결정한 경우, 노드(200)는 S480단계로 진행한다.
노드(200)는 결정된 부모 노드에 접속하여 토폴로지를 형성하고, 동작을 종료할 수 있다(S480).
도 5에서는, 노드(200)가 새로운 부모 노드에 접속하는 동작에 의해 종료되는 것을 기준으로 설명하지만, 부모 노드를 새로운 부모 노드로 변경한 후에도 소정 주기를 간격으로 부모 노드의 결정 동작을 반복하여 수행할 수 있다. 또한, 초기에 네트워크에 접속 시 노드(200)는 다른 노드로부터 수신된 랭크값만을 기준으로 부모 노드를 결정할 수 있다.
한편, 네트워크 내에 존재하는 모든 노드들은 노드(200)와 유사한 동작을 수행할 수 있다.
도 6은 일 실시예에 따른 잔여 에너지에 시그모이드 함수의 적용에 따른 패널티 변화를 도시한 그래프이다.
도 6에 도시된 바와 같이, 노드(200)는 수학식 4에 나타낸 바와 같이 시그모이드 함수를 적용하여 잔여 에너지를 계산할 수 있다.
이때, 그래프의 가로축은 잔여 에너지 비율을 나타내고, 세로축은 패널티값을 나타낸다. 예를 들어, 노드(200)는 잔여 에너지의 경우, 약 0.12(12%)의 잔여 에너지에서 약 0의 패널티값을 갖고, 약 0.06(6%)의 잔여 에너지에서 약 1의 패널티값을 갖고, 0(0%)의 잔여 에너지에서 약 2의 패널티값을 가질 수 있다.
이와 같이, 노드(200)는 에너지 잔여량에 시그모이드 함수를 적용하면, 소정 기준값, 약 0.12(12%)미만의 잔여 에너지를 기준으로 그 이하의 값을 갖는 잔여 에너지에서 패널티값이 급격히 증가하여 랭크값을 증가시킬 수 있다. 이를 통해, 노드(200)는 자신을 부모 노드로 하는 자식 노드의 연결을 제한할 수 있다.
도 7은 일 실시예에 따른 루트 노드들 간에 부하를 감소시키기 위해 예상 랭크의 교환을 설명하기 위한 도면이다.
도 7에 도시된 바와 같이, 인터넷에 접속된 두 개의 루트 노드(610, 620)가 존재한다. 루트 노드(610, 620)는 서로 예상 랭크(ER)의 정보를 교환할 수 있다. 여기서, 예상 랭크는 루트 노드(610, 620) 각각의 서브 네트워크에 있는 모든 노드의 평균 랭크값에서 루트 노드의 랭크를 감산한 값이다.
제 1 루트 노드(610)의 서브 네트워크에 있는 7개의 일반 노드와 제 2 루트 노드(620)의 서브 네트워크에 있는 7개의 일반 노드에 모두 랭크값이 표시된다. 이때, 제 1 루트 노드(610)의 랭크값은 '1'이고, 제 2 루트 노드(620)의 랭크값은 '0'이다.
상술한 수학식 7을 참조하여 제 1 루트 노드(610)는 예상 랭크(ER(Na))를 '약 4.57(=(2+5+8+7+3+5+9)/7-1)'로 계산할 수 있고, 제 2 루트 노드(620)는 예상 랭크(ER(Nb))를 '약 2.28(=(1+2+3+1+2+3+4)/7-0)'로 계산할 수 있다.
따라서, 제 1 루트 노드(610)와 제 2 루트 노드(620) 각각은 제 2 루트 노드(620)에 의해 형성된 네트워크의 부하가 제 1 루트 노드(610)에 의해 형성된 네트워크보다 부하가 낮은 것을 확인할 수 있다.
제 1 루트 노드(610)는 제 2 루트 노드(620)보다 더 높은 랭크값을 갖도록 자신의 랭크값을 조절할 수 있다. 이와 반대로, 제 2 루트 노드(620)가 제 1 루트 노드(610) 보다 더 낮은 랭크값을 갖도록 자신의 랭크값을 조절할 수도 있다.
이때, 노드(601)가 제 1 루트 노드(610)의 네트워크와 제 2 루트 노드(620)의 네트워크에 접속을 위해 이웃 노드로부터 랭크값을 수신할 수 있다. 이때, 이웃 노드의 랭크값에는 상술한 바와 같이 루트 노드(610, 620) 간에 예상 랭크의 전송을 통해 루트 노드(610, 620)의 랭크값이 조절될 수 있다. 노드(601)는 이웃 노드의 랭크값에 네트워크 간의 부하량이 반영되어 있으므로, 부하량을 고려하여 부모 노드를 선택할 수 있다. 이때, 노드(601)는 루트 노드를 통해 교환된 부하를 고려하여 랭크값을 조절하기 때문에 부하가 낮은 네트워크에 있는 부모 노드를 선택할 확률이 증가한다.
이를 통해, 제안된 발명에서는 루트 노드 각각에 의해 형성된 네트워크의 전체 부하를 고려하여 부모 노드를 선택하도록 할 수도 있다.
본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다.
또한 본 발명의 일실시예에 따르는 멀티홉 네트워크의 토폴로지 형성 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.
따라서 본 발명의 일실시예에 따르는 멀티홉 네트워크의 토폴로지 형성 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10: 네트워크 11: 인터넷
110, 120: 루트 노드
111, 112, 113, 114, 115, 116, 121, 122, 123, 124, 125, 130: 노드
200: 노드 210: 통신부
220: 저장부 230: 배터리
240: 제어부 241: 정보 수집부
242: 토폴로지 형성부 243: 이상 탐지부
244: 네트워크 정보 교환부 300: 네트워크
310, 610, 620: 루트 노드
320, 330, 340, 350, 360, 370, 601: 노드

Claims (20)

  1. 멀티홉 네트워크의 토폴로지 형성 방법에 있어서,
    링크 품질, 트래픽 양, 및 에너지 잔여량에 대한 정보를 수집하는 단계;
    상기 링크 품질, 상기 트래픽 양, 및 상기 에너지 잔여량에 대한 정보를 사용하여 메시지 전송 비용을 계산하는 단계;
    연결된 부모 노드의 랭크값을 기준으로 상기 메시지 전송 비용을 합산하여 자신의 랭크값을 계산하는 단계;
    인접 노드로부터 랭크값을 수신하는 단계; 및
    상기 자신의 랭크값을 기준으로 작은 랭크값이 수신된 인접 노드를 부모 노드로 결정하는 단계를 포함하고,
    상기 메시지 전송 비용을 계산하는 단계는,
    상기 노드의 잔여 에너지에 시그모이드 함수를 하기의 수학식을 사용하여 적용한 잔여 에너지값(PN(ni))을 사용하여 상기 메시지 전송 비용을 계산하는 단계를 더 포함하며,
    [수학식]
    Figure 112018101344747-pat00030

    여기서, RER(ni)는 노드 i에서의 잔여 에너지(현재 에너지량/전체 에너지량의 비율)인 토폴로지 형성 방법.
  2. 제 1 항에 있어서,
    상기 부모 노드를 결정하는 단계는,
    가장 작은 랭크값을 갖는 이웃 노드를 부모 노드로 결정하는 단계를 포함하는 토폴로지 형성 방법.
  3. 제 2 항에 있어서,
    상기 부모 노드를 결정하는 단계는,
    상기 가장 작은 랭크값을 갖는 노드가 상기 자신의 랭크값보다 작으면, 상기 이웃 노드를 부모 노드로 결정하는 단계를 더 포함하는 토폴로지 형성 방법.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 메시지 전송 비용을 계산하는 단계는,
    상기 메시지 전송 비용(TRELQ(ni))을 하기의 수학식을 사용하여 계산하는 단계를 포함하고,
    [수학식]
    Figure 112018101344747-pat00012

    여기서, SGT(ni)는 자체 트래픽 양이고, RT(ni)는 라우팅 트래픽 양이고, EXT(ni, p(ni))는 기대 전송 횟수이고, PN(ni)는 시그모이드 함수가 적용된 잔여 에너지값인 토폴로지 형성 방법.
  6. 제 1 항에 있어서,
    상기 노드가 루트 노드이면, 자신의 네트워크 부하량을 나타내는 예상 랭크를 계산하는 단계;
    다른 루트 노드의 예상 랭크를 수신하는 단계; 및
    상기 자신의 예상 랭크와 다른 루트 노드의 예상 랭크를 이용하여 상기 노드의 랭크값을 조절하는 단계를 더 포함하는 토폴로지 형성 방법.
  7. 제 6 항에 있어서,
    상기 예상 랭크를 계산하는 단계는,
    상기 예상 랭크를 하기의 수학식을 사용하여 계산하는 단계를 더 포함하고,
    [수학식]
    Figure 112018064421808-pat00013

    NETsub(ni)는 루트 노드(ni))를 제외한 상기 루트 노드의 서브 네트워크 내 노드들의 집합이고, NETsize(ni)는 상기 집합 내 노드의 개수, Rank(x)는 상기 집합 내 노드의 랭크값이고, Rank(ni)는 상기 루트 노드의 랭크값인 토폴로지 형성 방법.
  8. 제 7 항에 있어서,
    상기 노드의 랭크값을 조절하는 단계는,
    상기 랭크값을 조절하기 위한 목표 랭크값(Ranktarget(ni))을 하기의 수학식을 사용하여 계산하는 단계를 포함하고,
    [수학식]
    Figure 112018064421808-pat00014

    여기서, 상기 노드의 목표 랭크값(Ranktarget(ni))은 0과 예상 랭크(ER(ni))에서 균형적부하량(Balance(ni))을 차감한 값 중에 큰 값으로 설정되며,
    상기 균형적부하량(Balance(ni))은 상기 노드의 인접 루트 노드의 집합과, 상기 집합 내 인접 루트 노드의 서브 네트워크의 평균 부하량을 기준으로 루트 노드 각각에서 부담할 수 있는 부하량인 토폴로지 형성 방법.
  9. 제 8 항에 있어서,
    상기 균형적부하량(Balance(ni))은,
    상기 노드의 인접 루트 노드의 집합과, 상기 집합 내 인접 루트 노드의 서브 네트워크의 평균 부하량을 기준으로 루트 노드 각각에서 부담할 수 있는 부하량으로 하기의 수학식을 사용하여 계산하는
    [수학식]
    Figure 112018064421808-pat00015

    여기서, NRS(ni)는 집합(NR(ni))에 있는 노드의 수이고, ER(x)는 인접 루트 노드의 서브 네트워크의 평균 부하량인 토폴로지 형성 방법.
  10. 제 9 항에 있어서,
    상기 노드의 랭크값을 조절하는 단계는,
    상기 노드의 랭크값을 하기의 수학식을 사용하여 계산하는 단계를 포함하고,
    [수학식]
    Figure 112018064421808-pat00016

    여기서, Rankold(ni)는 상기 노드의 랭크값이고, Ranktarget(ni)은 목표 랭크값이고, 상기 a는 지수 가중 평균을 계산하기 위한 가중치인 토폴로지 형성 방법.
  11. 복수의 노드를 포함하는 멀티홉 네트워크에 있어서,
    상기 복수의 노드 각각은,
    동작을 위한 전원을 공급하는 배터리;
    다른 노드와 통신하는 통신부; 및
    링크 품질, 트래픽 양, 및 에너지 잔여량에 대한 정보를 수집하고, 수집된 정보를 사용하여 메시지 전송 비용을 계산하며, 연결된 부모 노드의 랭크값을 기준으로 상기 메시지 전송 비용을 합산하여 자신의 랭크값을 계산하고, 상기 자신의 랭크값을 기준으로 작은 랭크값이 수신된 인접 노드를 부모 노드로 결정하는 제어부를 포함하고,
    상기 제어부는,
    상기 배터리의 잔여 에너지에 시그모이드 함수를 하기의 수학식을 사용하여 적용한 잔여 에너지값(PN(ni))으로 상기 메시지 전송 비용을 계산하고,
    [수학식]
    Figure 112018101344747-pat00031

    여기서, RER(ni)는 노드 i에서의 잔여 에너지(현재 에너지량/전체 에너지량의 비율)인 멀티홉 네트워크.
  12. 제 11 항에 있어서,
    상기 제어부는,
    가장 작은 랭크값을 갖는 이웃 노드를 부모 노드로 결정하는 멀티홉 네트워크.
  13. 제 12 항에 있어서,
    상기 제어부는,
    상기 가장 작은 랭크값을 갖는 노드가 상기 자신의 랭크값보다 작으면, 상기 이웃 노드를 부모 노드로 결정하는 멀티홉 네트워크.
  14. 삭제
  15. 제 11 항에 있어서,
    상기 제어부는,
    상기 메시지 전송 비용(TRELQ(ni))을 하기의 수학식을 사용하여 계산하고,
    [수학식]
    Figure 112018101344747-pat00018

    여기서, SGT(ni)는 자체 트래픽 양이고, RT(ni)는 라우팅 트래픽 양이고, EXT(ni, p(ni))는 기대 전송 횟수이고, PN(ni)는 시그모이드 함수가 적용된 잔여 에너지값인 멀티홉 네트워크.
  16. 제 11 항에 있어서,
    상기 제어부는,
    상기 노드가 루트 노드이면, 자신의 네트워크 부하량을 나타내는 예상 랭크를 계산하고, 계산된 자신의 예상 랭크와 다른 루트 노드로부터 수신된 예상 랭크를 이용하여 상기 노드의 랭크값을 조절하는 멀티홉 네트워크.
  17. 제 16 항에 있어서,
    상기 제어부는,
    상기 예상 랭크를 하기의 수학식을 사용하여 계산하는 단계를 더 포함하고,
    [수학식]
    Figure 112018064421808-pat00019

    NETsub(ni)는 루트 노드(ni))를 제외한 상기 루트 노드의 서브 네트워크 내 노드들의 집합이고, NETsize(ni)는 상기 집합 내 노드의 개수, Rank(x)는 상기 집합 내 노드의 랭크값이고, Rank(ni)는 상기 루트 노드의 랭크값인 멀티홉 네트워크.
  18. 제 17 항에 있어서,
    상기 제어부는,
    상기 랭크값을 조절하기 위한 목표 랭크값(Ranktarget(ni))을 하기의 수학식을 사용하여 계산하고,
    [수학식]
    Figure 112018064421808-pat00020

    여기서, 상기 목표 랭크값(Ranktarget(ni))은 0과 예상 랭크(ER(ni))에서 균형적부하량(Balance(ni))을 차감한 값 중에 큰 값으로 설정되는 멀티홉 네트워크.
  19. 제 18 항에 있어서,
    상기 균형적부하량(Balance(ni))은,
    상기 노드의 인접 루트 노드의 집합과, 상기 집합 내 인접 루트 노드의 서브 네트워크의 평균 부하량을 기준으로 루트 노드 각각에서 부담할 수 있는 부하량으로 하기의 수학식을 사용하여 계산하는
    [수학식]
    Figure 112018064421808-pat00021

    여기서, NRS(ni)는 집합(NR(ni))에 있는 노드의 수이고, ER(x)는 인접 루트 노드의 서브 네트워크의 평균 부하량인 멀티홉 네트워크.
  20. 제 19 항에 있어서,
    상기 제어부는,
    상기 조절된 랭크값을 하기의 수학식을 사용하여 계산하고,
    [수학식]
    Figure 112018064421808-pat00022

    여기서, Rankold(ni)는 상기 노드의 랭크값이고, Ranktarget(ni)은 목표 랭크값이고, 상기 a는 지수 가중 평균을 계산하기 위한 가중치인 멀티홉 네트워크.
KR1020180076009A 2018-06-29 2018-06-29 멀티홉 네트워크 및 그것의 토폴로지 형성 방법 KR101915566B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180076009A KR101915566B1 (ko) 2018-06-29 2018-06-29 멀티홉 네트워크 및 그것의 토폴로지 형성 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180076009A KR101915566B1 (ko) 2018-06-29 2018-06-29 멀티홉 네트워크 및 그것의 토폴로지 형성 방법

Publications (1)

Publication Number Publication Date
KR101915566B1 true KR101915566B1 (ko) 2018-11-06

Family

ID=64329393

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180076009A KR101915566B1 (ko) 2018-06-29 2018-06-29 멀티홉 네트워크 및 그것의 토폴로지 형성 방법

Country Status (1)

Country Link
KR (1) KR101915566B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210103628A (ko) * 2020-02-13 2021-08-24 대구대학교 산학협력단 Rpl을 기반한 무선네트워크에서 에너지 효율성 및 패킷 송수신 안정성을 개선하기 위한 라우팅 방법
KR20230030302A (ko) * 2021-08-25 2023-03-06 인천대학교 산학협력단 빅데이터 기반 사물인터넷의 효율적 에너지 라우팅 제공 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101678954B1 (ko) * 2015-09-21 2016-11-23 부산대학교 산학협력단 Rpl 기반 사물인터넷 무선 네트워크에서 노드 병목 및 전송 경로 품질을 고려한 라우팅 장치 및 방법
KR101755596B1 (ko) * 2016-05-09 2017-07-07 부산대학교 산학협력단 RPL 기반 IoT 네트워크에서 서브 트리의 오버헤드를 감소시키는 장치 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101678954B1 (ko) * 2015-09-21 2016-11-23 부산대학교 산학협력단 Rpl 기반 사물인터넷 무선 네트워크에서 노드 병목 및 전송 경로 품질을 고려한 라우팅 장치 및 방법
KR101755596B1 (ko) * 2016-05-09 2017-07-07 부산대학교 산학협력단 RPL 기반 IoT 네트워크에서 서브 트리의 오버헤드를 감소시키는 장치 및 그 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210103628A (ko) * 2020-02-13 2021-08-24 대구대학교 산학협력단 Rpl을 기반한 무선네트워크에서 에너지 효율성 및 패킷 송수신 안정성을 개선하기 위한 라우팅 방법
KR102413475B1 (ko) * 2020-02-13 2022-06-27 대구대학교 산학협력단 Rpl을 기반한 무선네트워크에서 에너지 효율성 및 패킷 송수신 안정성을 개선하기 위한 라우팅 방법
KR20230030302A (ko) * 2021-08-25 2023-03-06 인천대학교 산학협력단 빅데이터 기반 사물인터넷의 효율적 에너지 라우팅 제공 장치
KR102601253B1 (ko) * 2021-08-25 2023-11-13 인천대학교 산학협력단 빅데이터 기반 사물인터넷의 효율적 에너지 라우팅 제공 장치

Similar Documents

Publication Publication Date Title
Selvi et al. A rule based delay constrained energy efficient routing technique for wireless sensor networks
Al-Turjman Price-based data delivery framework for dynamic and pervasive IoT 1
Yadav et al. A review on energy efficient protocols in wireless sensor networks
CN108781188B (zh) 用于平衡即兴网络构造的设备和方法
JP6485671B2 (ja) マルチホップ異種無線ネットワークにおけるリソースアウェアマルチタスクルーティング
JP5804504B2 (ja) マルチホップ無線ネットワークの経路制御方法
Wu et al. Sensor communication area and node extend routing algorithm in opportunistic networks
Gorgich et al. Proposing an energy-aware routing protocol by using fish swarm optimization algorithm in WSN (wireless sensor networks)
Perillo et al. Providing application QoS through intelligent sensor management
Gavalas et al. Mobile agent itinerary planning for WSN data fusion: considering multiple sinks and heterogeneous networks
Kumar et al. EMEEDP: Enhanced multi-hop energy efficient distributed protocol for heterogeneous wireless sensor network
Kumar et al. Energy aware distributed protocol for heterogeneous wireless sensor network
KR101915566B1 (ko) 멀티홉 네트워크 및 그것의 토폴로지 형성 방법
Izaddoost et al. Energy efficient data transmission in iot platforms
Künzel et al. Weight adjustments in a routing algorithm for wireless sensor and actuator networks using Q-learning
Renuga Devi et al. Develop trust-based energy routing protocol for energy efficient with secure transmission
Santos et al. CGR: Centrality-based green routing for Low-power and Lossy Networks
Tabouche et al. TLR: Traffic-aware load-balanced routing for industrial IoT
Nguyen et al. An efficient distributed algorithm for target-coverage preservation in wireless sensor networks
Natarajan et al. An improvement of communication stability on underwater sensor network using balanced energy efficient joining distance matrix
Torres et al. Improving lifetime and availability for ad hoc networks to emergency and rescue scenarios
Szczytowski et al. TOM: Topology oriented maintenance in sparse Wireless Sensor Networks
Quynh et al. Multipath routing for cluster-based and event-based protocols in wireless sensor networks
Zhao et al. Load balanced and efficient data collection protocol for wireless sensor networks
Murturi et al. A decentralized approach for determining configurator placement in dynamic edge networks

Legal Events

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