KR20190059021A - Method for generating of tree and scheduling - Google Patents

Method for generating of tree and scheduling Download PDF

Info

Publication number
KR20190059021A
KR20190059021A KR1020170156531A KR20170156531A KR20190059021A KR 20190059021 A KR20190059021 A KR 20190059021A KR 1020170156531 A KR1020170156531 A KR 1020170156531A KR 20170156531 A KR20170156531 A KR 20170156531A KR 20190059021 A KR20190059021 A KR 20190059021A
Authority
KR
South Korea
Prior art keywords
node
nodes
data
period
child
Prior art date
Application number
KR1020170156531A
Other languages
Korean (ko)
Other versions
KR101989148B1 (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 KR1020170156531A priority Critical patent/KR101989148B1/en
Publication of KR20190059021A publication Critical patent/KR20190059021A/en
Application granted granted Critical
Publication of KR101989148B1 publication Critical patent/KR101989148B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • H04W72/044Wireless resource allocation based on the type of the allocated resource
    • H04W72/0446Resources in time domain, e.g. slots or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information

Abstract

Disclosed are a method for generating a tree and a scheduling method. The method for generating a tree comprises the steps of: obtaining at least one piece among information on the number of time slots within one operation period, information on a distance between nodes in a network, and information on the number of the nodes in the network; determining a maximum number of child nodes that each node can hold based on at least one piece among the information on the number of time slots within one operation period, the information on the distance between nodes, and the information on the number of the nodes; and generating a tree representing a data collection path of a node in the network such that nodes with the number of child nodes exceeding the maximum number is minimized.

Description

트리 생성 방법 및 스케쥴링 방법{Method for generating of tree and scheduling}[0001] The present invention relates to a tree creation method and a scheduling method,

본 발명은 트리를 생성하는 방법 및 스케쥴링 방법에 관한 것으로, 특히, 듀티-사이클 방식의 네트워크에서 데이터의 수집 경로인 트리를 생성하는 방법 및 스케쥴링 방법에 관한 것이다. The present invention relates to a method of generating a tree and a scheduling method, and more particularly, to a method and a scheduling method for generating a tree which is a collection path of data in a duty-cycle network.

무선 센서 네트워크(Wireless Sensor Network, WSN)은 다수의 센서로 구성되며, 각각의 센서는 에너지 하베스팅을 통하여 전력을 공급받는다. WSN은 군사 감시, 산업 모니터링, 환경 모니터링, 헬쓰케어와 같이 정보를 수집하고 특정 상황을 검출하는 다양한 분야에서 활용되고 있다. 이러한, WSN에서는 네트워크내의 모든 노드로부터 싱크 노드까지 데이터를 수집하는 과정이 매우 중요하다. 이 때, 싱크 노드와 리프 노드 사이의 노드에서는 수신된 데이터를 결합하여 부모 노드로 전송하여야 하므로 리프 노드에서 싱크 노드까지의 데이터 전송 지연을 줄이는 것이 매우 중요하다. A wireless sensor network (WSN) consists of a number of sensors, each of which is powered by energy harvesting. WSNs are used in a variety of areas such as military surveillance, industrial monitoring, environmental monitoring, and healthcare to collect information and detect specific situations. In WSN, it is very important to collect data from all nodes in the network to sink nodes. In this case, it is very important to reduce the data transmission delay from the leaf node to the sink node since the node between the sink node and the leaf node must transmit the received data to the parent node.

또한, WSN을 구성하는 다수의 센서는 일반적으로 충전이 불가능한 베터리나 에너지 하베스팅을 통하여 전력을 공급받기 때문에 에너지 소모를 줄이는 것이 중요하다. 이를 위하여, 듀티-사이클 방식의 네트워크 기술이 각광을 받고 있다. 듀티-사이클 방식은 동작 기간(Working Period)을 복수의 타임 슬롯으로 구분하고 각각의 노드는 일부 타임 슬롯에서만 활성화되고 나머지 타임 슬롯에서는 슬립 상태로 동작한다. 이러한 방식은 센서 노드의 활동 시간을 감소시킴으로서 노드의 전력 소모를 최소화시킨다. 다만, 슬립 상태에서는 데이터의 전송 및 수신이 불가능하므로, 데이터의 전송 지연이 증가하게 되고 노드간의 충돌이 발생하지 않도록 하기 위한 트리 생성 및 스케쥴링이 중요한 이슈로 부각되었다. In addition, it is important to reduce energy consumption because many sensors constituting a WSN are supplied with electric power through a battery or an energy harvesting which is generally impossible to charge. For this purpose, a duty-cycle network technology is attracting attention. In the duty-cycle scheme, a working period is divided into a plurality of time slots, and each node is activated only in some time slots and operates in a sleep state in the remaining time slots. This scheme minimizes node power consumption by reducing sensor node activity time. However, in the sleep state, transmission and reception of data can not be performed. Therefore, the transmission delay of data increases, and tree generation and scheduling are important issues to prevent collision between nodes.

상기의 문제점을 해결하기 위한 타임 슬롯의 개수, 노드 간의 거리 및 노드의 개수에 기초하여 하나의 노드가 보유할 수 있는 최대 자식 수를 결정하고, 최대 자식 수를 초과하는 노드가 최소가 되도록 트리를 생성함으로서 데이터 전송 지연을 최소화하는 트리 생성 방법을 제공하는 것이다. To solve the above problem, the maximum number of children that one node can hold is determined based on the number of time slots, the distance between nodes, and the number of nodes. Thereby minimizing the data transmission delay.

또한, 자식 노드의 타임 슬롯과 부모 노드의 타임 슬롯의 배치를 고려하여 충돌이 발생하지 않도록 노드의 데이터 전송 기간을 스케쥴링 함으로서 데이터 전송 지연을 최소화하는 스케쥴링 방법을 제공하는 것이다. The present invention also provides a scheduling method for minimizing a data transmission delay by scheduling a data transmission period of a node so that a collision does not occur considering a time slot of a child node and a time slot of a parent node.

본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the above-mentioned problem (s), and another problem (s) not mentioned can be clearly understood by those skilled in the art from the following description.

상기의 목적을 달성하기 위한 본 발명의 일 실시예에 따른 스케쥴링 방법은, 하나의 동작 기간내의 복수의 타임 슬롯들 중 일부 타임 슬롯에서만 활성화되는 노드의 데이터 전송 기간을 스케쥴링하는 방법에 있어서, 대상 노드가 데이터를 전송할 준비가 완료되는 동작 기간인 제 1 동작 기간 정보를 획득하는 단계; 상기 대상 노드가 활성화되는 제 1 타임 슬롯에 관한 정보 및 상기 대상 노드로부터 데이터를 수신하는 부모 노드가 활성화되는 제 2 타임 슬롯에 관한 정보를 획득하는 단계; 및 상기 제 1 타임 슬롯에 관한 정보, 상기 제 2 타임 슬롯에 관한 정보 및 상기 제 1 동작 기간 정보에 기초하여, 상기 대상 노드가 상기 부모 노드로 데이터를 전송하는 동작 기간인 데이터 전송 기간을 결정하는 단계를 포함하는 것이다. According to an aspect of the present invention, there is provided a method for scheduling a data transfer period of a node activated in only some time slots of a plurality of time slots in an operation period, Acquiring first operation period information which is an operation period in which the first operation period information is ready for transmitting data; Obtaining information on a first time slot in which the target node is activated and information on a second time slot in which a parent node receiving data from the target node is activated; And a data transfer period that is an operation period in which the target node transmits data to the parent node based on the information about the first timeslot, the information about the second timeslot, and the first operation period information Step.

상기 데이터 전송 기간을 결정하는 단계는, 상기 제 2 타임 슬롯이 상기 제 1 타임 슬롯 보다 큰 경우 상기 제 1 동작 기간을 상기 데이터 전송 기간으로 결정하고, 상기 제 2 타임 슬롯이 상기 제 1 타임 슬롯보다 작거나 같은 경우, 상기 제 1 동작 기간 이후의 동작 기간인 제 2 동작 기간을 상기 데이터 전송 기간으로 결정할 수 있다. Wherein the determining of the data transfer period comprises determining the first operation period as the data transfer period when the second time slot is larger than the first time slot and determining that the second time slot is smaller than the first time slot The second operation period, which is an operation period after the first operation period, may be determined as the data transfer period.

상기 데이터 전송 기간을 결정하는 단계는, 상기 결정된 데이터 전송 기간이 상기 대상 노드에 대한 충돌 가능한 노드의 데이터 전송 기간에 해당하는 경우, 상기 데이터 전송 기간을 다음번 동작 기간으로 변경하는 단계를 포함할 수 있다. The step of determining the data transfer period may include changing the data transfer period to a next operation period when the determined data transfer period corresponds to a data transfer period of a collision-capable node with respect to the target node .

상기 제 1 동작 기간 정보를 획득하는 단계는, 상기 대상 노드의 자식 노드가 존재하지 않는 경우 상기 제 1 동작 기간은 가장 빠른 동작 기간으로 결정되고, 상기 대상 노드의 자식 노드가 존재하는 경우 상기 제1 동작 기간은 상기 자식 노드로부터 마지막으로 데이터가 수신된 동작 기간으로 결정될 수 있다. Wherein the obtaining of the first operation period information includes determining that the first operation period is the fastest operation period when the child node of the target node does not exist and if the child node of the target node exists, The operation period may be determined as an operation period in which data is finally received from the child node.

상기 스케쥴링 방법은, 상기 데이터 전송 기간이 결정되면, 상기 대상 노드와 임계 거리 이내에 있는 노드에 상기 대상 노드의 데이터 전송 기간에 관한 정보를 전송하는 단계를 더 포함할 수 있다. The scheduling method may further include transmitting information on a data transfer period of the target node to a node within a critical distance from the target node when the data transfer period is determined.

상기 스케쥴링 방법은, 상기 대상 노드에 대하여 충돌 가능한 노드의 데이터 전송 기간에 대한 정보를 수신하는 단계; 및 상기 충돌 가능한 노드의 데이터 전송 기간을 상기 대상 노드가 데이터를 전송할 수 없는 금지 동작 기간으로 결정하는 단계를 더 포함할 수 있다. The scheduling method includes: receiving information on a data transfer period of a collision-capable node with respect to the target node; And determining a data transfer period of the collision-capable node as a prohibit operation period during which the target node can not transmit data.

상기 스케쥴링 방법은, 상기 결정된 데이터 전송 기간에 기초하여, 상기 부모 노드가 데이터를 전송할 준비가 완료되는 동작 기간을 나타내는 제 2 동작 기간에 관한 정보를 업데이트 하는 단계를 더 포함할 수 있다. The scheduling method may further include updating information on a second operation period indicating an operation period in which the parent node is ready to transmit data, based on the determined data transfer period.

상기의 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 트리 생성 방법은, 하나의 동작 기간내의 복수의 타임 슬롯들 중 일부 타임 슬롯에서만 활성화되는 노드의 데이터 수집 경로를 나타내는 트리를 생성하는 방법에 있어서, 하나의 동작 기간내의 타임 스롯의 개수에 관한 정보, 네트워크내의 노드 간의 거리에 관한 정보 및 상기 네트워크내의 노드의 개수에 관한 정보 중 적어도 하나를 획득하는 단계;According to another aspect of the present invention, there is provided a method of generating a tree representing a data collection path of a node activated only in some time slots among a plurality of time slots in an operation period Obtaining at least one of information on the number of time slots in one operation period, information on a distance between nodes in the network, and information on the number of nodes in the network;

상기 타임 슬롯의 개수에 관한 정보, 상기 노드 간 거리 정보 및 상기 노드개수 정보 중 적어도 하나에 기초하여, 각각의 노드가 보유할 수 있는 최대 자식 노드의 수를 결정하는 단계; 및 상기 최대 자식 노드의 수를 초과하는 노드가 최소가 되도록 상기 네트워크내의 노드의 데이터 수집 경로를 나타내는 트리를 생성하는 단계를 포함하는 것이다. Determining a maximum number of child nodes that each node can hold based on at least one of information about the number of timeslots, the inter-node distance information, and the node number information; And generating a tree representing a data collection path of a node in the network such that a node exceeding the maximum number of child nodes is minimized.

상기 트리를 생성하는 단계는, 네트워크 내의 복수의 노드들 중 데이터를 전송할 수 있는 후보 부모 노드의개수가 임계치 이하인 특이 노드를 검색하는 단계; 및 상기 특이 노드에 대한 후보 부모 노드 중 하나를 상기 특이 노드에 대한 부모 노드로 결정하는 단계를 포함할 수 있다. Wherein the step of generating the tree comprises the steps of: searching for a singular node having a number of candidate parent nodes capable of transmitting data among a plurality of nodes in the network, And determining one of the candidate parent nodes for the singular node as a parent node for the singular node.

상기 트리를 생성하는 단계는, 상기 트리를 구성할 대상 노드를 선택하는 단계; 및 상기 대상 노드에 대한 이웃 노드로부터 상기 대상 노드를 경유하여 데이터가 전송되는 최종 노드인 싱크 노드까지 데이터를 전송하는데 소요되는 시간인 전송 지연 시간에 기초하여, 상기 이웃 노드를 상기 대상 노드에 대한 자식 노드로 선택적으로 등록하는 단계를 포함할 수 있다. Wherein the step of generating the tree comprises the steps of: selecting a target node constituting the tree; And a transmission delay time which is a time required for transmitting data from a neighbor node to the target node to a sink node which is a final node through which the data is transmitted via the target node, And optionally registering with the node.

상기 자식 노드로 선택적으로 등록하는 단계는, 상기 이웃 노드가 데이터를 전송할 수 있는 후보 부모 노드의 개수가 임계치 이하인 특이 노드인 경우, 상기 전송 지연 시간과 관계없이 상기 이웃 노드를 상기 대상 노드에 대한 자식 노드로 등록할 수 있다. Wherein the step of selectively registering the child node with the child node comprises the steps of: if the neighboring node is a singular node whose number of candidate parent nodes to which data can be transmitted is a threshold value or less, Can be registered as a node.

상기 자식 노드로 선택적으로 등록하는 단계는, 상기 대상 노드의 자식 노드가 한계 자식 수 이상이 되면, 상기 이웃 노드를 상기 대상 노드의 자식 노드로 등록하지 않을 수 있다. The step of selectively registering with the child node may not register the neighbor node as a child node of the target node when the number of child nodes of the target node is equal to or greater than a limit number of children.

상기 트리를 생성하는 단계는, 상기 이웃 노드가 상기 대상 노드의 자식 노드로 등록되었음을 통지하는 메시지를 상기 대상 노드로부터 임계거리 이내의 노드에 전송하도록 제어하는 단계를 더 포함할 수 있다. The step of generating the tree may further include a step of controlling a message to notify that the neighbor node is registered as a child node of the target node to a node within a critical distance from the target node.

상기 트리를 생성하는 단계는, 상기 대상 노드의 자식 노드의 수가 상기 최대 자식 노드 수보다 크거나 같으면, 상기 대상 노드에 대한 이웃 노드가 상기 대상 노드를 후보 부모 리스트에서 제외하도록 제어하는 단계를 더 포함할 수 있다. The generating of the tree may further include controlling the neighboring node for the target node to exclude the target node from the candidate parent list if the number of child nodes of the target node is equal to or greater than the maximum number of child nodes can do.

타임 슬롯의 개수, 노드 간의 거리 및 노드의 개수에 기초하여 하나의 노드가 보유할 수 있는 최대 자식 수를 결정하고, 최대 자식 수를 초과하는 노드가 최소가 되도록 트리를 생성함으로서, 최대 자식 수를 초과하는 노드가 많아짐에 따라 데이터 전송 지연이 발생하는 문제를 해결한다. A maximum number of children that a node can hold is determined based on the number of time slots, the distance between nodes, and the number of nodes, and a tree is generated such that a node exceeding the maximum number of children is minimized, The problem of data transmission delay as the number of exceeding nodes increases is solved.

또한, 자식 노드를 검색 및 등록하고자 하는 대상 노드의 모든 자식 노드들이 트리 구성을 완료한 경우에는 예외적으로 대상 노드가 최대 자식 수를 초과하더라도 자식 노드의 검색 및 등록을 계속함으로써, 트리에서 배제되는 노드가 없도록 하면서 데이터 전송 지연을 최소화할 수 있다. In addition, when all the child nodes of the target node for searching and registering the child node complete the tree configuration, the search and registration of the child node is continued even if the target node exceeds the maximum number of children, So that the data transmission delay can be minimized.

또한, 자식 노드가 활성화되는 타임 슬롯과 부모 노드가 활성화되는 타임 슬롯의 배치 및 충돌 가능 노드의 데이터 전송 기간을 고려하여 스케쥴링을 함으로서, 자식 노드와 부모 노드가 동일한 동작 기간내에 데이터를 전송할 수 있도록 하여 데이터 전송 지연을 최소화한다. In addition, scheduling is performed in consideration of the time slot in which the child node is activated, the time slot in which the parent node is activated, and the data transfer period of the collision-capable node, so that the child node and the parent node can transmit data in the same operation period Minimize data transmission delays.

또한, 충돌 가능 노드의 데이터 전송 기간을 회피하면서 가장 빠른 동작 기간에 데이터를 전송함으로서 데이터 전송 지연을 최소화한다. In addition, data transmission delay is minimized by transmitting data in the fastest operation period while avoiding the data transfer period of the collision-capable node.

도 1a는 본 발명의 일 실시예에 따른 듀티-사이클 방식으로 동작하는 센서의 데이터 수신(전송) 스케쥴을 간략히 나타낸 도면이다.
도 1b는 본 발명의 일 실시예에 따른 듀티-사이클 방식으로 동작하는 센서의 데이터 송/수신 과정에서 충돌이 발생하는 경우를 설명하기 위한 도면이다.
도 1c는 본 발명의 일 실시예에 따른 듀티-사이클 방식으로 동작하는 센서의 데이터 송/수신 과정에서 충돌이 발생하는 다른 경우를 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 트리 생성 장치(200)에 관한 블록도를 나타낸다.
도 3은 본 발명의 일 실시예에 따른 트리 생성부(230)에서 트리를 생성하는 과정을 설명하기 위한 알고리즘을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 트리 생성부(230)에서 트리를 생성하는 과정을 설명하기 위한 알고리즘의 다른 예를 나타낸 도면이다.
도 5는 도 4의 라인 18에 따라 노드 (U)에서 노드(V)를 자식 노드로 등록하는 과정을 나타내는 알고리즘에 관한 일 예이다.
도 6은 도 4의 라인 27에 따른 노드 V의 트리 참여 과정을 나타내는 알고리즘에 관한 일 예이다.
도 7은 도 4의 라인 35에 따른 활성자 검색 과정을 나타내는 알고리즘에 관한 일 예이다.
도 8은 본 발명의 일 실시예에 따른 스케쥴링 장치(800)에 관한 블록도를 나타낸다.
도 9는 본 발명의 일 실시예에 따른 스케쥴링 장치(800)에서 데이터 전송 기간을 스케쥴링 하는 과정을 설명하기 위한 알고리즘을 나타낸 도면이다.
도 10은 본 발명의 일 실시예에 따른 스케쥴링 장치(800)에서 노드의 데이터 전송 기간을 스케쥴링 하는 과정을 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 따른 트리 생성 방법에 관한 흐름도를 나타낸다.
도 12은 본 발명의 다른 실시예에 따른 트리 생성 방법에 관한 흐름도를 나타낸다.
도 13은 본 발명의 일 실시예에 따른 트리 생성 방법에 관한 흐름도를 나타낸다.
도 14는 본 발명의 일 실시예에 따른 스케쥴링 방법에 관한 흐름도를 나타낸다.
도 15은 본 발명의 일 실시예에 따른 듀티-사이클 네트워크에서 노드 수 및 최대 자식 노드 수와 네트워크 성능간의 관계를 나타내는 도면이다.
도 16은 본 발명의 일 실시예에 따른 듀티-사이클 네트워크에서 노드 간 거리(네트워크 사이드 길이,L)와 네트워크 성능간의 관계를 나타내는 도면이다.
FIG. 1A is a diagram schematically illustrating a data reception (transmission) schedule of a sensor operating in a duty-cycle manner according to an embodiment of the present invention.
1B is a view for explaining a case where a collision occurs in a data transmission / reception process of a sensor operating in a duty-cycle manner according to an embodiment of the present invention.
FIG. 1C is a view for explaining another case where a collision occurs in a data transmission / reception process of a sensor operating in a duty-cycle manner according to an embodiment of the present invention.
2 shows a block diagram of a tree generating apparatus 200 according to an embodiment of the present invention.
FIG. 3 is a diagram illustrating an algorithm for generating a tree in the tree generating unit 230 according to an embodiment of the present invention. Referring to FIG.
4 is a diagram illustrating another example of an algorithm for explaining a process of generating a tree in the tree generating unit 230 according to an embodiment of the present invention.
FIG. 5 is an example of an algorithm for registering a node V from a node U to a child node according to the line 18 in FIG.
FIG. 6 is an example of an algorithm representing the tree join process of node V according to line 27 of FIG.
FIG. 7 is an example of an algorithm showing an activator search process according to the line 35 of FIG.
8 is a block diagram of a scheduling apparatus 800 according to an embodiment of the present invention.
9 is a diagram illustrating an algorithm for describing a process of scheduling a data transmission period in the scheduling apparatus 800 according to an embodiment of the present invention.
FIG. 10 is a diagram for explaining a process of scheduling a data transfer period of a node in the scheduling apparatus 800 according to an embodiment of the present invention.
11 is a flowchart illustrating a tree generation method according to an embodiment of the present invention.
12 is a flowchart illustrating a tree generation method according to another embodiment of the present invention.
13 is a flowchart illustrating a tree generation method according to an embodiment of the present invention.
FIG. 14 is a flowchart illustrating a scheduling method according to an embodiment of the present invention.
15 is a diagram illustrating the relationship between the number of nodes and the maximum number of child nodes and network performance in a duty-cycle network according to an embodiment of the present invention.
16 is a diagram showing a relationship between a node-to-node distance (network side length, L) and network performance in a duty-cycle network according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. For example, without departing from the scope of the present invention, a first component may be termed a second component, and similarly, the term " second component " The second component may also be referred to as the first component. The term < RTI ID = 0.0 > and / or < / RTI > includes any combination of a plurality of related listed items or any of the plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1a는 본 발명의 일 실시예에 따른 듀티-사이클 방식으로 동작하는 센서의 데이터 수신(전송) 스케쥴을 간략히 나타낸 도면이다. FIG. 1A is a diagram schematically illustrating a data reception (transmission) schedule of a sensor operating in a duty-cycle manner according to an embodiment of the present invention.

듀티-사이클 방식의 네트워크에서, 각 노드의 전체 활성화 시간은 동일한 시간 길이를 갖는 복수의 동작 기간(Working Period)으로 나누어진다. 이 때, 동작 기간을 구성하는 타임 슬롯은 하나의 노드가 데이터를 수신하는데 충분한 시간의 길이로 분할된다. 각각의 노드는 특정 규칙에 따라(또는 랜덤하게) T개의 타임 슬롯 중 하나를 할당받게 되며, 각각의 동작 기간에서 나머지 T-1개의 타임 슬롯 동안은 동작하지 않는다. 이 경우, 해당 네트워크의 듀티-사이클은 1/T%로 결정된다. 도 1a의 경우, 하나의 동작 기간내에 5개의 타임 슬롯이 존재하므로, 해당 네트워크의 듀티-사이클은 20%가 되는 것이다. 본 명세서에서는 설명의 편의를 위하여, 각각의 노드는 활성화되는 타임-슬롯 동안 데이터를 수신할 수 있으며, 데이터의 전송은 언제든지 가능하다고 가정하자. 단, 동일한 노드에서 데이터의 전송과 수신이 하나의 타임-슬롯동안 동시에 수행될 수는 없다고 가정하자. In a duty-cycle network, the total activation time of each node is divided into a plurality of working periods having the same length of time. At this time, the time slot constituting the operation period is divided into a length of time sufficient for one node to receive data. Each node is assigned one of T time slots according to a specific rule (or randomly), and does not operate during the remaining T-1 time slots in each operation period. In this case, the duty-cycle of the network is determined as 1 / T%. In the case of FIG. 1A, since there are five time slots in one operation period, the duty-cycle of the corresponding network is 20%. For convenience of description, it is assumed herein that each node can receive data during an activated time-slot, and transmission of data is possible at any time. However, it is assumed that transmission and reception of data at the same node can not be performed simultaneously during one time-slot.

본 명세서에서 자식 노드는 데이터를 전송하는 노드이며, 부모 노드는 데이터를 수신하는 노드이다. 네트워크 내에서 하나의 노드는 A라는 노드에 대해서는 자식 노드이면서, B라는 노드에 대해서는 부모 노드일 수 있다. 부모 노드는 복수의 자식 노드를 포함할 수 있으며, 모든 자식 노드로부터 데이터를 수신한 후 이를 결합하여 자신의 부모 노드에게 전달한다. 만일, 하나의 타임 슬롯을 통하여 하나의 패킷이 전송되며 해당 노드가 A,B라는 두 개의 자식 노드를 갖는다면, 해당 노드는 A와 B로부터 각각 패킷을 수신하여 이를 하나의 패킷으로 가공한 후 가공된 하나의 패킷을 부모 노드 C에게 전달한다. 전송/수신/가공되는 패킷의 형태나 개수는 실시예에 따라서 다양할 수 있으며, 본 발명이 여기에 한정되는 것은 아니다. In this specification, a child node is a node for transmitting data, and a parent node is a node for receiving data. One node in the network may be a child node for node A and a parent node for node B, A parent node can contain multiple child nodes, receives data from all child nodes, combines them, and delivers the data to its parent node. If one packet is transmitted through one time slot and the corresponding node has two child nodes A and B, the node receives packets from A and B, processes them into one packet, And transmits the packet to the parent node C. The type and number of packets to be transmitted / received / processed may vary according to the embodiment, and the present invention is not limited thereto.

싱크 노드는 데이터가 전달되는 최종 목적지에 해당하는 노드로, 싱크 노드는 다른 노드에 대한 부모 노드일 뿐 자식 노드가 될 수 없다. 즉, 데이터 수집 과정이 싱크 노드에서 종료되며, 싱크 노드는 더 이상 다른 노드에 데이터를 전송하지 않는다. The sink node is the node corresponding to the final destination to which the data is transferred. The sink node is the parent node for another node, and can not be a child node. That is, the data collection process is terminated at the sink node, and the sink node no longer transmits data to the other node.

도 1a에서, 네모 박스는 타임 슬롯을 나타내는 것으로 박스내에 숫자는 해당 타임 슬롯의 번호를 나타낸다. 도 1a를 참고하면, 각각의 타임 슬롯은 소정의 주기마다 반복되는데 본 명세서에서는 해당 주기만큼의 시간 길이를 동작 기간이라고 명명한다. In FIG. 1A, a square box represents a time slot, and a number in a box represents a number of the time slot. Referring to FIG. 1A, each time slot is repeated every predetermined period. In the present specification, a time length corresponding to the period is referred to as an operation period.

일 예로, 제 1 동작 기간(110)은 '5'개의 타임 슬롯(111,122,123,124,125)로 구성된다. 제 1 타임 슬롯(111)에서는 '0'에 대응하는 노드가 활성화되어 데이터를 수신하며, 나머지 노드는 활성화되지 않는다. 유사하게, 제 2 타임 슬롯(112)에서는 '1'에 대응하는 노드가 활성화되어 데이터를 수신하며, 나머지 노드는 활성화되지 않는다. In one example, the first operating period 110 is comprised of '5' timeslots 111, 122, 123, 124 and 125. In the first time slot 111, the node corresponding to '0' is activated and receives data, and the remaining nodes are not activated. Similarly, in the second time slot 112, the node corresponding to '1' is activated and receives data, and the remaining nodes are not activated.

설명의 편의를 위하여, 노드 ID가 '2'인 노드는 '2'번 타임 슬롯에서만 활성화 된다고 가정하자. 노드 ID가 '2'인 노드는 각각의 동작 기간에서 제 3슬롯에서 활성화되며, 나머지 타임 슬롯에서는 비활성화 상태이다. 따라서, 노드 ID가 '2'인 노드에 데이터를 전송하기 위해서는 반드시 제 3 슬롯에 해당하는 시간에 데이터를 전송하여야 한다. For convenience of explanation, it is assumed that a node having a node ID of '2' is activated only in a time slot '2'. A node with a node ID of '2' is active in the third slot in each operation period and inactive in the remaining time slots. Therefore, in order to transmit data to a node having a node ID '2', data must be transmitted at a time corresponding to the third slot.

도 1b는 본 발명의 일 실시예에 따른 듀티-사이클 방식으로 동작하는 센서의 데이터 송/수신 과정에서 충돌이 발생하는 경우를 설명하기 위한 도면이다. 1B is a view for explaining a case where a collision occurs in a data transmission / reception process of a sensor operating in a duty-cycle manner according to an embodiment of the present invention.

도 1b에서는, 해당 네트워크에 제 1 노드(141), 제 2 노드(142) 및 제 3 노드(143)가 존재하며, 제 1 노드(141) 및 제 2 노드(142)는 제 3 노드(143)로 데이터를 전송하는 것으로 가정한다. 또한, 반지름이 'R'인 원은 노드의 데이터 전송 범위를 나타내며, 제 1 노드(141), 제 2 노드(142) 및 제 3 노드(143)은 모두 'R'의 전송 범위를 갖는 것으로 가정한다. 1B, a first node 141, a second node 142 and a third node 143 are present in the network, and the first node 141 and the second node 142 are connected to a third node 143 ). ≪ / RTI > In addition, a circle having a radius of 'R' represents a data transmission range of the node, and it is assumed that the first node 141, the second node 142, and the third node 143 all have a transmission range of 'R' do.

도 1b를 참고하면, 만일 동일한 동작 기간에 제 1 노드(141)와 제 2 노드(142)가 제 3 노드(143)에 동시에 데이터를 전송할 경우, 제 3 노드(143)에서는 간섭에 의하여 완벽한 데이터를 수신할 수 없게 된다. 본 명세에서는, 이와 같이 간섭이나 충돌에 의하여 노드에서 데이터를 성공적으로 수신하지 못하는 경우를 데이터의 충돌이 발생하였다고 명명한다. 특히, 데이터 수집 경로내의 노드들로부터의 데이터 전송에 의하여 간섭이 발생하는 경우를, 직접 충돌이라고 명명한다. Referring to FIG. 1B, if the first node 141 and the second node 142 simultaneously transmit data to the third node 143 in the same operation period, the third node 143 transmits complete data Can not be received. In this specification, a case where data is not successfully received from a node due to interference or collision is referred to as a data collision. In particular, the case where interference occurs due to data transmission from nodes in the data collection path is referred to as direct collision.

도 1c는 본 발명의 일 실시예에 따른 듀티-사이클 방식으로 동작하는 센서의 데이터 송/수신 과정에서 충돌이 발생하는 다른 경우를 설명하기 위한 도면이다. FIG. 1C is a view for explaining another case where a collision occurs in a data transmission / reception process of a sensor operating in a duty-cycle manner according to an embodiment of the present invention.

도 1c에서는, 제 1 노드(141) 및 제 3 노드(143)간에 데이터 수집을 위한 경로가 설정되며, 제 2 노드(142) 및 제 4 노드(144)간에 데이터 수집을 위한 경로가 설정된다. 또한, 제 2 노드(142)와 제 3 노드(143)간에는 데이터 수집을 위한 경로가 설정되어 있지 않지만, 데이터 전송 범위가 중첩되므로 제 2 노드(142)에서 전송된 데이터는 제 4 노드(144) 뿐만 아니라 제 3 노드(143)에도 도달한다. 1C, a path for data collection is set between the first node 141 and the third node 143, and a path for data collection is set between the second node 142 and the fourth node 144. In FIG. Since the data transmission range is overlapped, the data transmitted from the second node 142 is not transmitted to the fourth node 144, because the data transmission range is not set between the second node 142 and the third node 143. However, As well as the third node 143. [

따라서, 제 1 노드(141)와 제 2 노드(142)가 동시에 제 3 노드(143) 및 제 4 노드(144)에 각각 데이터를 전송할 경우, 제 3 노드(143)는 간섭으로 인하여 데이터를 성공적으로 수신할 수 없게 된다. 이와 같이, 데이터 수집을 위한 경로가 설정되지 않은 노드에서의 데이터 전송에 기인한 간섭을 간접 충돌로 명명하며, 본 명세에서는 직접 충돌과 간접 충돌을 모두 충돌로 고려한다. Accordingly, when the first node 141 and the second node 142 transmit data to the third node 143 and the fourth node 144, respectively, at the same time, the third node 143 can not successfully As shown in FIG. In this way, the interference caused by the data transmission at the node where the path for data collection is not set is named indirect collision, and in this specification, both direct collision and indirect collision are considered as collision.

본 명세서에서는, 데이터의 전송시 충돌이 발생할 가능성이 있는 노드들의 집합을 충돌 후보 노드로 명명한다. 도 1b 및 도 1c를 참고하면, 제 2 노드(142)는 제 1 노드(141)에 대한 충돌 후보 노드(CS(u))이다. 듀티-사이클 방식의 네트쿼크에서 데이터 트리 및 스케쥴링을 수행하는 경우 데이터의 충돌이 발생하지 않도록 하는 것이 중요하므로, 제 1 노드(141)에서 데이터를 전송할 때 제 2 노드(142)에서는 데이터를 전송하지 않도록 스케쥴링 하는 것이 중요하다. In this specification, a set of nodes that are likely to collide during transmission of data is referred to as a collision candidate node. 1B and 1C, the second node 142 is a collision candidate node CS (u) for the first node 141. When data tree and scheduling are performed in the duty-cycle type network quirk, it is important to prevent data collision. Therefore, when data is transmitted from the first node 141, the second node 142 does not transmit data It is important to schedule so that

도 2는 본 발명의 일 실시예에 따른 트리 생성 장치(200)에 관한 블록도를 나타낸다. 본 발명의 일 실시예에 따른 트리 생성 장치(200)는 파라미터 획득부(210), 결정부(220) 및 트리 생성부(230)를 포함한다. 2 shows a block diagram of a tree generating apparatus 200 according to an embodiment of the present invention. The tree generating apparatus 200 according to an embodiment of the present invention includes a parameter obtaining unit 210, a determining unit 220, and a tree generating unit 230.

파라미터 획득부(210)는 트리 생성에 필요한 파라미터를 획득한다. 파라미터 획득부(210)는 타임 슬롯 개수 정보, 노드 간 거리 정보 및 노드 개수 정보를 획득한다. The parameter obtaining unit 210 obtains parameters necessary for generating a tree. The parameter acquisition unit 210 acquires time slot number information, inter-node distance information, and node number information.

타임 슬롯 개수는 동작 기간을 구성하는 타임 슬롯의 개수를 의미한다. The number of time slots means the number of time slots constituting the operation period.

노드 간 거리 정보는 네트워크 내에서 노드들 간의 거리를 나타내는 것으로, 네트워크 내의 노드가 배치되는 공간을 하나의 평면으로 정의할 경우, 노드 간 거리는 평면의 한 변에 해당하는 거리(즉, 한변을 구성하는 노드간 최대 거리)일 수 있다. The distance between nodes indicates the distance between the nodes in the network. When the space in which the nodes are arranged in the network is defined as one plane, the distance between the nodes is a distance corresponding to one side of the plane Maximum distance between nodes).

듀티-사이클 네트워크에서 네트워크 지연 시간은 모든 데이터가 싱크 노드에 수집될 때까지의 시간에 비례하며, 싱크 노드가 모든 데이터를 수집할 때까지 몇 개의 동작 기간이 필요한지에 따라서 결정될 것이다. 이러한, 네트워크 성능은 최대 자식 노드 수에 따라서 결정될 수 있다. 이하에서는, 도 15 내지 도 17을 참고하여, 파라미터 획득부(210)에서 획득한 각각의 파라미터와, 최대 자식 노드 수가 네트워크 성능에 미치는 영향을 살펴본다. In a duty-cycle network, the network latency will be proportional to the time until all data is collected at the sink node, and will depend on how many operating periods are required until the sink node collects all the data. Such network performance can be determined according to the maximum number of child nodes. Hereinafter, with reference to FIG. 15 to FIG. 17, the effect of each parameter acquired by the parameter acquisition unit 210 and the maximum number of child nodes on network performance will be examined.

도 15은 본 발명의 일 실시예에 따른 듀티-사이클 네트워크에서 노드 수 및 최대 자식 노드 수와 네트워크 성능간의 관계를 나타내는 도면이다. 15 is a diagram illustrating the relationship between the number of nodes and the maximum number of child nodes and network performance in a duty-cycle network according to an embodiment of the present invention.

도 15에서, 가로축은 노드의 개수를 나타내며, 세로축은 싱크 노드가 모든 데이터를 수집하는데 필요한 동작 기간의 개수를 나타낸다. 싱크 노드가 모든 데이터를 수집하는데 필요한 동작 기간의 개수가 작을 수록 네트워크의 성능이 우수하다고 판단할 수 있으므로, 동일한 조건하에서는 y축의 값이 적을 수록 네트워크의 성능이 우수한 것이다. 15, the horizontal axis represents the number of nodes, and the vertical axis represents the number of operation periods required for the sink node to collect all the data. The smaller the number of operation periods required for the sink node to collect all the data, the better the performance of the network. Therefore, under the same conditions, the smaller the value of the y-axis, the better the performance of the network.

도 15a는, 노드 간 거리(도 13에서는 네트워크 사이드 길이, L) = 200m, 타임 슬롯 개수(T) = 10인 경우, 노드의 개수와 동작 기간의 개수간의 관계를 나타낸다. 15A shows the relationship between the number of nodes and the number of operation periods when the inter-node distance (network side length L in Fig. 13) = 200 m and the number of timeslots T = 10.

도 15b는, 노드 간 거리(도 13에서는 네트워크 사이드 길이, L) = 200m, 타임 슬롯 개수(T) = 100인 경우, 노드의 개수와 동작 기간의 개수간의 관계를 나타낸다. Fig. 15B shows the relationship between the number of nodes and the number of operation periods when the inter-node distance (network side length L in Fig. 13) = 200 m and the number of timeslots T = 100.

도 15c는, 노드 간 거리(도 13에서는 네트워크 사이드 길이, L) = 50m, 타임 슬롯 개수(T) = 100인 경우, 노드의 개수와 동작 기간의 개수간의 관계를 나타낸다. Fig. 15C shows the relationship between the number of nodes and the number of operation periods when the inter-node distance (network side length L in Fig. 13) = 50 m and the number of timeslots T = 100.

도 16은 본 발명의 일 실시예에 따른 듀티-사이클 네트워크에서 노드 간 거리(네트워크 사이드 길이,L)와 네트워크 성능간의 관계를 나타내는 도면이다. 16 is a diagram showing a relationship between a node-to-node distance (network side length, L) and network performance in a duty-cycle network according to an embodiment of the present invention.

도 16에서, 가로 축은 노드 간 거리를 나타내며, 세로축은 싱크 노드가 모든 데이터를 수집하는데 필요한 동작 기간의 개수를 나타낸다. In FIG. 16, the horizontal axis represents the distance between nodes, and the vertical axis represents the number of operation periods required for the sink node to collect all the data.

도 16a는, 노드 수(N) = 400, 타임 슬롯 개수(T) = 2인 경우, 노드간 거리 와 동작 기간의 개수간의 관계를 나타낸다. 16A shows the relationship between the inter-node distance and the number of operation periods when the number of nodes N = 400 and the number of timeslots T = 2.

도 16b는, 노드 수(N) = 400, 타임 슬롯 개수(T) = 10인 경우, 노드간 거리 와 동작 기간의 개수간의 관계를 나타낸다. 16B shows the relationship between the inter-node distance and the number of operation periods when the number of nodes N = 400 and the number of timeslots T = 10.

도 16c는, 노드 수(N) = 400, 타임 슬롯 개수(T) = 100인 경우, 노드간 거리 와 동작 기간의 개수간의 관계를 나타낸다. 16C shows the relationship between the distance between nodes and the number of operation periods when the number of nodes N = 400 and the number of timeslots T = 100.

도 17는 본 발명의 일 실시예에 따른 듀티-사이클 네트워크에서 타임 슬롯 개수와 네트워크 성능간의 관계를 나타내는 도면이다. 17 is a diagram illustrating a relationship between the number of timeslots and network performance in a duty-cycle network according to an embodiment of the present invention.

도 17에서, 가로 축은 타임 슬롯 개수를 나타내며, 세로축은 싱크 노드가 모든 데이터를 수집하는데 필요한 동작 기간의 개수를 나타낸다. 17, the horizontal axis represents the number of time slots, and the vertical axis represents the number of operation periods required for the sink node to collect all the data.

도 17a는, 노드 수(N) = 400, 노드 간 거리(L) = 50m인 경우, 타임 슬롯 개수와 동작기간가긱기l의 개수간의 관계를 나타낸다. Fig. 17A shows the relationship between the number of timeslots and the number of actuators in the operation period when the number of nodes N = 400 and the inter-node distance L = 50m.

도 17b는, 노드 수(N) = 400, 노드 간 거리(L) = 100m인 경우, 타임 슬롯 개수와 동작 기간의 개수간의 관계를 나타낸다. 17B shows the relationship between the number of timeslots and the number of operation periods when the number of nodes N = 400 and the inter-node distance L = 100 m.

도 17c는, 노드 수(N) = 400, 노드 간 거리(L) = 200m인 경우, 타임 슬롯 개수와 동작 기간의 개수간의 관계를 나타낸다. 17C shows the relationship between the number of timeslots and the number of operation periods when the number of nodes N = 400 and the inter-node distance L = 200 m.

다시 도 2를 참고하면, 결정부(220)는 타임 슬롯 개수 정보, 노드 간 거리 정보 및 노드 개수 정보중 적어도 하나에 기초하여, 하나의 노드가 가질 수 있는 최대 자식 노드 수를 결정한다. 상술한 바와 같이, 최적의 최대 자식 수는 타임 슬롯 개수, 노드 간 거리 및 노드 개수에 따라 달라지므로 결정부(220)는 타임 슬롯 개수, 노드 간 거리 및 노드 개수에 따라 네트워크에 적합한 최대 자식 노드 수를 결정한다. 최대 자식 수는 각각의 노드가 상이한 값을 갖도록 결정될 수도 있으며, 모든 노드가 동일한 값을 갖도록 결정될 수도 있다. Referring again to FIG. 2, the determination unit 220 determines the maximum number of child nodes that one node can have, based on at least one of the time slot number information, the inter-node distance information, and the node number information. As described above, since the optimal maximum number of children depends on the number of timeslots, the distance between nodes, and the number of nodes, the determining unit 220 determines the maximum number of child nodes suitable for the network according to the number of timeslots, the distance between nodes, . The maximum number of children may be determined so that each node has a different value, and all nodes may be determined to have the same value.

트리 생성부(230)는 최대 자식 노드의 수를 초과하는 노드가 최소가 되도록 네트워크내의 노드들 간의 데이터 전송 흐름을 나타내는 트리를 생성한다. 트리 생성부(230)는 가능하면 최대 자식 노드 수를 초과하는 노드가 없도록 트리를 생성하지만, 특정 조건을 만족하는 경우에 한하여 예외적으로 해당 노드가 최대 자식 노드 수를 초과하도록 한다. 예를 들어, 아직 부모 노드를 결정하지 못한 자식 노드에 대하여 더 이상 후보 부모 노드가 없는 경우, 최대 자식 노드의 수를 초과하는 노드가 예외적으로 부모 노드가 될 수 있다. The tree generating unit 230 generates a tree representing a data transmission flow between the nodes in the network such that the number of nodes exceeding the maximum number of child nodes is minimized. The tree generating unit 230 generates a tree so that there is no node exceeding the maximum number of child nodes if possible, but exceptionally, the node exceeds the maximum number of child nodes only when a specific condition is satisfied. For example, if there is no more candidate parent node for a child node that has not yet determined the parent node, the node exceeding the maximum number of child nodes may exceptionally become the parent node.

우선, 트리 생성부(230)는 부모 노드가 결정되지 않은 노드들 중 후보 부모 노드의 개수가 임계치 이하인 노드를 검색한다. 본 명세서에서는, 후보 부모 노드의 개수가 임계치 이하(일 예로, 1개)인 노드를 특이 노드로 명명하고, 후보 부모 노드가 임계치를 초과하는 노드를 일반 노드로 명명한다. First, the tree generating unit 230 searches for a node whose number of candidate parent nodes is less than a threshold value among nodes whose parent nodes have not been determined. In this specification, a node whose number of candidate parent nodes is less than or equal to a threshold value (for example, one node) is designated as an anomaly node, and a node whose candidate parent node exceeds a threshold value is referred to as a general node.

설명의 편의를 위하여 특이 노드를 노드 A로, 노드 A에 대한 후보 부모 노드를 노드 B로, 노드 B에 대한 이웃 노드를 노드 C로 가정해보자. For convenience of explanation, suppose that the singular node is node A, the candidate parent node to node A is node B, and the neighbor node to node B is node C.

먼저, 트리 생성부(230)는 특이 노드인 노드 A를 검색한 후, 노드 A에 대한 유일한 후보 부모 노드인 노드 B를 노드 A에 대한 부모 노드로 등록한다. 이 후, 노드 B의 자식 노두 수가 최대 자식 수 이상인 경우 노드 B가 더 이상 다른 노드(예를 들면, 노드 C)의 부모 노드가 되지 않도록 설정한다. 일 예로, 노드 C의 후보 부모 노드에서 노드 B를 제거한다. First, the tree generating unit 230 searches for a node A, which is a singular node, and registers the node B, which is the only candidate parent node for the node A, as a parent node for the node A. Thereafter, when the number of child nodes of the node B is equal to or greater than the maximum number of nodes, the node B is set so that it is no longer the parent node of another node (for example, the node C). As an example, node B is removed from the candidate parent node of node C.

모든 특이 노드에 대하여 부모 노드가 결정되면, 트리 생성부(230)는 싱크 노드로부터 자식 노드를 결정하는 과정을 수행한다. If a parent node is determined for all the singular nodes, the tree generating unit 230 determines a child node from the sink node.

자식 노드를 결정하고자 하는 대상 노드는 이웃 노드들에 자식 노드로의 참여를 요청하는 검색 메시지를 전송한다. A target node to which a child node is to be determined transmits a search message requesting participation to a child node to neighboring nodes.

이웃 노드들 중 부모 노드가 정해지지 않은 노드들 즉, 대상 노드가 후보 부모 노드의 리스트에 포함되어 있는 노드들은 검색 메시지에 대응하는 응답 메시지를 대상 노드에 전송한다. Among neighbor nodes, nodes whose parent nodes are not specified, that is, nodes whose target nodes are included in the candidate parent node list, transmit a response message corresponding to the search message to the target node.

트리 생성부(230)는 응답 메시지를 전송한 노드가 대상 노드를 경유하여 싱크 노드까지 데이터를 전송할 때 소요되는 시간인 전송 지연 시간에 기초하여, 응답 메시지를 전송한 노드를 대상 노드의 자식 노드로 등록할지를 결정한다. 전송 지연 시간은 다음의 수학식 1에 의하여 결정될 수 있다. The tree generating unit 230 generates a tree based on the transmission delay time, which is a time required for the node that transmitted the response message to transmit data to the sink node via the target node, as a child node of the destination node And decides whether to register. The transmission delay time can be determined by the following equation (1).

[수학식 1][Equation 1]

t(u,v) = d(u) + sl(u,v) +rand(0,1) + nch(v)*Tt (u, v) = d (u) + sl (u, v) + r and (0,1) + n ch (v) * T

d(u): 말단 노드로부터 u까지 데이터가 수집되는데 시간d (u): time from data collection from end node to u

sl(u,v):노드 u에서 노드 v까지 데이터를 전송하는데 걸리는 시간sl (u, v): the time taken to transfer data from node u to node v

rand(0,1): 0과 1사이의 난수r and (0,1): a random number between 0 and 1

nch(v):노드 V의 자식 수n ch (v): the number of children of node V

트리 생성부(230)는 응답 메시지를 전송한 노드가 복수의 노드로부터 자식 노드로의 참가를 요청받은 경우 더 유리한 경로로 트리를 형성한다. 그러나, 대상 노드가 검색 메시지를 전송한 유일한 노드라면 대상 노드를 부모 노드로 결정한다. The tree generating unit 230 forms a tree with a more advantageous path when the node that transmitted the response message is requested to join from the plurality of nodes to the child node. However, if the target node is the only node that transmitted the search message, the target node is determined as the parent node.

트리 생성부(230)는 응답 메시지를 전송한 노드를 대상 노드에 대한 자식 노드로 결정한 경우, 해당 정보를 임계치 이내의 거리에 있는 다른 노드들에게 통지한다. 이 때, 대상 노드의 자식 수가 한계 자식 수 이상이면, 이웃하는 다른 노드들이 대상 노드를 부모 노드로 선정하지 못하도록 해당 사실을 함께 전송한다. When the tree generating unit 230 determines that the node that transmitted the response message is a child node for the target node, the tree generating unit 230 notifies the other nodes in the distance within the threshold. In this case, if the number of children of the target node is equal to or greater than the number of children of the target node, the neighboring nodes transmit the facts together so that the target node can not be selected as the parent node.

도 3은 본 발명의 일 실시예에 따른 트리 생성부(230)에서 트리를 생성하는 과정을 설명하기 위한 알고리즘을 나타낸 도면이다. FIG. 3 is a diagram illustrating an algorithm for generating a tree in the tree generating unit 230 according to an embodiment of the present invention. Referring to FIG.

도 3에 도시된 알고리즘은 트리를 구성하기 위하여 가장 먼저 수행되는 과정으로 본 명세서에서는 [스타트-업]과정으로 명명한다. The algorithm shown in FIG. 3 is the first step performed to construct a tree, which is referred to as a [start-up] process in this specification.

먼저, 설명의 편의를 위하여 스타트-업 알고리즘(300)에서 사용된 변수를 정의한다. First, for convenience of description, variables used in the start-up algorithm 300 are defined.

nn(u):노드 u에 대한 이웃 노드의 수n n (u): the number of neighbor nodes for node u

ChS(u):노드 u 의 자식 노드 목록ChS (u): List of child nodes of node u

nch(u): 노드 u의 자식 노드의 수n ch (u): the number of child nodes of node u

napc(u): 노드 u의 후보 부모 노드의 수n apc (u): the number of candidate parent nodes of node u

NAS(u): u의 선택된 활성자 목록(즉, u의 자식 노드들 중 트리 생성이 완료되지 않은 노드)NAS (u): a list of selected activators of u (that is, nodes of u whose nodes have not been created)

state(u): 노드 u의 상태를 나타내며, WAIT, ACTIVATED, LISTEN, COMPLETE로 구분됨.state (u): Indicates the state of node u, separated by WAIT, ACTIVATED, LISTEN, COMPLETE.

특이 노드: napc(u) = 1Singular node: n apc (u) = 1

일반 노드: napc(u) >1General node: n apc (u)> 1

P(u): u의 부모 노드P (u): parent node of u

Initialization라인은 변수들의 초기화 과정을 나타낸다. The initialization line indicates the initialization process of the variables.

라인 1에서는, 부모 노드가 결정되지 않은 특이 노드가 존재하는 동안 스타터-업 과정이 수행됨을 나타낸다.Line 1 indicates that the starter-up process is performed while there is a singular node for which the parent node is not determined.

라인 2에서는, 특이 노드 V가 이웃 노드에 자식 노드로의 등록을 요청하는 메시지(JOIN_REQ)를 전송하는 과정을 나타낸다. Line 2 shows a process in which a singular node V transmits a message (JOIN_REQ) requesting registration to a child node to a neighboring node.

라인 3에서, 노드 U가 특이 노드 V로부터 요청 메시지를 수신하면, In line 3, when the node U receives the request message from the singular node V,

라인 4에서는, nch(u)와 napc(u)를 갱신한다. 즉, 노드 V를 노드 U의 자식 노드로 등록한 후, 노드 U의 자식 노드 수를 하나 증가시킨다. 또한, 노드 V는 더 이상 노드 U의 부모 노드가 될 수 없으므로 노드 U의 후보 부모 개수를 하나 감소시킨다. In line 4, n ch (u) and n apc (u) are updated. That is, after registering the node V as a child node of the node U, the number of child nodes of the node U is increased by one. Also, since node V can no longer be the parent node of node U, it reduces the number of candidate parent of node U by one.

라인 7에서, 노드 V가 수락 메시지(JOIN_ACCEPT)를 수신하면, At line 7, when node V receives an accept message (JOIN_ACCEPT)

라인 8에서는, 노드 U를 노드 V의 부모 노드로 등록하고, 노드 U의 상태를 "COMPLETE"로 변경한다. On line 8, register node U as the parent node of node V and change the state of node U to " COMPLETE ".

라인 10에서는, 노드 U의 자식 노드 수가 한계 자식 수 이상이면, 노드 U는 더 이상 이웃 노드들(예를 들면, 노드 X)의 부모 노드가 될 수 없다.(단, 실시예에 따라서 예외 설정이 가능) 따라서, 이웃 노드들의 후보 부모 노드 수, 즉, napc(x)를 하나 감소시킨다. In line 10, if the number of child nodes of node U is equal to or greater than the threshold child number, node U can no longer be the parent node of neighboring nodes (e.g., node X). Thus, the number of candidate parent nodes of neighboring nodes, i.e., n apc (x), is reduced by one.

도 4는 본 발명의 일 실시예에 따른 트리 생성부(230)에서 트리를 생성하는 과정을 설명하기 위한 알고리즘의 다른 예를 나타낸 도면이다. 4 is a diagram illustrating another example of an algorithm for explaining a process of generating a tree in the tree generating unit 230 according to an embodiment of the present invention.

도 4에 도시된 알고리즘은 트리를 구성하기 위하여 [스타트-업] 과정 이후에 수행되는 과정으로 [정규]과정으로 명명한다. The algorithm shown in FIG. 4 is performed after the [start-up] process to construct a tree, and is called a [regular] process.

라인 1에서는 싱크 노드(S)의 모든 이웃 노드가 자식 노드로 설정되었는지를 확인한다. 싱크 노드(S)의 모든 이웃 노드가 자식 노드로 설정되었다면, 트리 생성 작업이 완료된 상태이므로 [정규 과정]을 종료한다. In line 1, it is confirmed whether all neighbor nodes of the sink node S are set as child nodes. If all the neighbor nodes of the sink node S are set as child nodes, the [normal process] is terminated because the tree creation operation is completed.

라인 4~5에서는, 최초의 활성자로 싱크 노드(S)가 선택되며 정규 과정이 완료되기 전까지 싱크 노드(S)의 상태는 "ACTIVATED"로 변경된다. In lines 4 to 5, the sink node S is selected as the first activator and the state of the sink node S is changed to " ACTIVATED " until the normal process is completed.

라인 6에서는 활성자 노드(U)의 상태를 "ACTIVATED"로 변경한다. 활성자 노드(U)는 트리 생성 과정이 완료되지 않은 자식 노드로서, 자식 노드를 검색하는 대상 노드가 된다. 일 예로, 싱크 노드(S)가 최초의 활성자 노드로 선택되며, 싱크 노드(S)의 자식 노드가 검색되면 검색된 자식 노드들 중 트리 생성 과정이 완료되지 않은 자식 노드가 새로운 활성자 노드로 추가된다. In line 6, the state of the activator node (U) is changed to " ACTIVATED ". The activator node (U) is a child node whose tree generation process has not been completed, and becomes a target node for searching for child nodes. For example, when the sink node S is selected as the first activator node, and the child node of the sink node S is found, the child nodes of the searched child nodes that have not completed the tree creation process are added as new activator nodes do.

라인 7에서, 활성자 노드(U)는 이웃 노드들에 자식 노드를 검색하기 위한 검색 메시지(FIND_CHILD)를 전송한다. At line 7, the enabler node U sends a search message FIND_CHILD to the neighboring nodes to retrieve the child node.

라인 8에서, WATI 상태의 활성자 노드(U)에 대한 이웃 노드(V)는 검색 메시지에 대응하여 요청 메시지(JOIN_REQ)를 전송한다. In line 8, the neighboring node V for the activator node U in the WATI state transmits a request message JOIN_REQ in response to the search message.

라인 12~13에서, 요청 메시지를 전송한 노드(V)가 특이 노드이면, 백-오프 시간(t(u,v))을 0으로 설정한다. 특이 노드는 전송 지연과는 무관하게 활성자 노드(U)에 대한 자식 노드로 등록하기 위함이다. In lines 12-13, if the node (V) that transmitted the request message is a singular node, set the back-off time (t (u, v)) to zero. The singular node is to register as a child node for the activator node U regardless of the transmission delay.

라인 15에서, 요청 메시지를 전송한 노드(V)가 일반 노드이면, 백-오프 시간(t(u,v))를 업데이트하고, 백-오프 시간동안 이웃 노드(V)를 자식노드로 등록하기 위한 절차를 수행한다. At line 15, if the node V that sent the request message is a generic node, update the back-off time t (u, v) and register the neighbor node V as a child node during the back- .

라인 17에서, 요청 메시지를 전송한 노드(V)가 일반 노드이면서, 다른 활성자 노드(Z)로부터 확정 메시지(JOIN_CONFIRM)를 이미 받은 상태라면 노드(V)를 활성자 노드(U)의 자식 노드에서 제외한다. 이는, 노드 V==>노드 Z==>노드 S로의 데이터 전송이 노드 V==>노드 U==>노드 S로의 데이터 전송보다 더 적합하기 (즉, 전송 지연이 더 짧음) 때문이다. On line 17, if the node V that transmitted the request message is a generic node and has already received a commit message (JOIN_CONFIRM) from another enabler node Z, the node V may be a child node of the enabler node U, . This is because data transmission to node V ==> node Z ==> node S is more suitable than data transmission to node V ==> node U ==> node S (ie, transmission delay is shorter).

라인 18에서, 응답 메시지를 전송한 노드(V)가 일반 노드이면서, 백-오프 타임 이전에 다른 활성자 노드(Z)로부터 확정 메시지(JOIN_CONFIRM)를 받지 않은 상태라면 도 5에 따른 수락 과정을 수행한다. If the node V that transmitted the response message is a general node and does not receive a confirmation message (JOIN_CONFIRM) from another enabler node Z before the back-off time on line 18, the acceptance process according to FIG. 5 is performed do.

도 5는 도 4의 라인 18에 따라 노드 (U)에서 노드(V)를 자식 노드로 등록하는 과정을 나타내는 알고리즘에 관한 일 예이다. FIG. 5 is an example of an algorithm for registering a node V from a node U to a child node according to the line 18 in FIG.

라인 1에서, 노드(V)를 활성자 노드(U)의 자식 노드로 추가하고, 활성자 노드(U)의 자식 노드 수를 하나 증가시킨다. In line 1, the node V is added as a child node of the activator node U, and the number of child nodes of the activator node U is increased by one.

라인 2에서, 활성자 노드(U)는 노드(V)를 자식 노드로 수락함을 나타내는 메시지(JOIN_ACCETP)를 이웃 노드에 전송한다. In line 2, the enabler node U sends a message (JOIN_ACCETP) to the neighboring node indicating that node V is accepted as a child node.

라인 3~4에서, 노드(V)가 특이 노드인지를 판단한다. 노드(V)가 임의 노드인 경우, 노드 (V)를 활성자 노드로 추가하여 노드(V)에 대한 자식 노드를 검색한다. In lines 3 to 4, it is determined whether the node V is a singular node. If the node V is an arbitrary node, the node V is added as an activator node to retrieve a child node for the node V. [

라인 5에서, 활성자 노드(U)의 자식 수가 한계 자식수 이상인지를 판단한다. 이는, 활성자 노드(U)의 자식 수가 한계 자식수 이상인 경우 활성자 노드(U)를 다른 이웃 노드가 부모로 설정하지 못하도록 제한하기 위함이다. On line 5, it is determined whether the number of children of the activator node U is equal to or greater than the threshold number of children. This is to restrict the enabler node (U) from setting another neighbor node as a parent when the number of children of the enabler node (U) is more than the number of children of the enabler node (U).

라인 6에서, 활성자 노드(U)의 자식 수가 한계 자식수 미만인 경우 다른 이웃 노드에 대한 백-오프 타임을 유지하여 다른 이웃 노드를 자식 노드로 등록할 것인지를 결정한다. On line 6, if the number of children of the enabler node U is less than the number of children, the back-off time for another neighbor node is maintained to decide whether to register another neighbor node as a child node.

라인 8)에서, 활성자 노드(U)의 자식 수가 한계 자식수 이상이면 다른 이웃 노드에 대한 백-오프 타임을 취소한다. On line 8), if the number of children of the enabler node U is greater than the number of children, the back-off time for the other neighbor node is canceled.

라인 11에서, 활성자 노드(U)가 다른 활성자 노드를 선택하지 못하였다면(예를 들어, 활성자 노드(U)의 모든 자식 노드가 특이 노드이거나, 모든 자식 노드가 자식 노드의 검색을 완료한 상태라며면) 활성자 노드(U)의 자식 수가 한계 자식 수 이상이라 하더라도 다른 이웃 노드에 대한 백-오프 타임을 유지한다. 이는, 새로운 활성자 노드가 존재하지 않는다면 트리를 완성할 수 없기 때문에 활성자 노드(U)의 자식 수가 한계 자식 수 이상이라 하더라도 예외적으로 이웃 노드를 자식 노드로 등록할 수 있도록 하기 위함이다. In line 11, if the enabler node U does not select another enabler node (for example, if all the child nodes of the enabler node U are singular nodes, or if all child nodes have completed the search of the child nodes If the number of children of the enabler node (U) is more than the number of children, it maintains the back-off time for other neighbor nodes. This is to allow the neighbor node to be registered as a child node exceptionally, even if the number of children of the activator node U is equal to or greater than the number of children, because the tree can not be completed unless a new activator node is present.

다시 도 4로 돌아가서, 라인 23~24에서는 활성자 노드(U)에 대한 새로운 활성자 노드를 더 이상 발견하지 못한다면 활성자 노드(U)의 부모 노드(P(U))로 완료 메시지(STUCK)를 전송하고 활성자 노드(U)의 상태를 "COMPLETE"로 변경한다. Returning again to FIG. 4, in lines 23-24, if a new enabler node for the enabler node U is no longer found, a complete message STUCK is sent to the parent node P (U) of the enabler node U, And changes the state of the activator node U to " COMPLETE ".

한편, 라인 27에서, 활성자 노드(U)로부터 수락 메시지(JOIN_ACCEPT)를 수신한 노드(V)는 도 6에 따른 트리 참여 과정을 수행한다. On the other hand, in the line 27, the node V that has received the accept message JOIN_ACCEPT from the activator node U performs the tree join process according to FIG.

도 6은 도 4의 라인 27에 따른 노드 V의 트리 참여 과정을 나타내는 알고리즘에 관한 일 예이다. FIG. 6 is an example of an algorithm representing the tree join process of node V according to line 27 of FIG.

라인 1에서, 노드(V)는 노드(U)를 부모 노드(P(V))로 등록하고, 지연 시간(d(v))를 업데이트한다. In line 1, the node V registers the node U as the parent node P (V) and updates the delay time d (v).

라인 2에서, 노드(V)는 이웃 노드에 노드(V)가 노드(U)의 자식 노드로 등록되었음을 확인하는 메시지(JOIN_CONFIRM)를 전송한다. In line 2, the node V sends a message (JOIN_CONFIRM) to the neighbor node confirming that the node V is registered as a child node of the node U.

라인 3~4에서, 노드(V)가 특이 노드이면 노드(V)의 상태를 "COMPLETE"로 수정한다. 이는 노드(V)가 특이 노드인 경우 노드(V)의 모든 이웃 노드들은 트리에 참여한 상태이기 때문이다. In lines 3 to 4, if the node V is a singular node, the state of the node V is changed to " COMPLETE ". This is because all the neighbor nodes of the node V participate in the tree when the node V is a singular node.

라인 6에서, 노드(V)가 일반 노드이면 노드(V)의 상태를 "ACTIVATE"로 수정하고, 노드(V)에 대한 자식 노드를 검색한다. On line 6, if node V is a generic node, modify the state of node V to " ACTIVATE " and retrieve the child node for node V. [

다시 도 4로 돌아가서, 라인 30~33는 활성자 노드(U)에 대한 이웃 노드(Y)의 동작에 관한 설명이다. Referring back to FIG. 4, lines 30-33 are descriptions of the operation of the neighboring node (Y) with respect to the activator node (U).

라인 30에서, "WAIT"상태인 이웃 노드(Y)는 활성자 노드(U)가 노드(V)를 자식 노드로 수락하였음을 나타내는 메시지(JOIN_ACCEPT)를 수신한다. In line 30, the neighboring node Y in the "WAIT" state receives a message (JOIN_ACCEPT) indicating that the enabler node U has accepted the node V as a child node.

라인 31에서, 활성자 노드(U)의 자식 노드 수가 한계 자식 수 이상인 경우, 이웃 노드(Y)의 후보 부모 노드에서 활성자 노드(U)를 제외하여야 하므로, 후보 부모 노드 수(napc(y))를 하나 감소시킨다. Since in the line 31, it should be, except when less than number of child nodes can limit a child of the activator node (U), is active in the candidate parent node of the neighbor node (Y) the own node (U), candidate can parent node (n apc (y )).

라인 35는 모든 활성자 노드로부터 "STUCK"메시지가 수신되면 도 7에 따른 활성자 검색 과정을 수행한다. Line 35 performs an activator search process according to FIG. 7 when a " STUCK " message is received from all the enabler nodes.

도 7은 본 발명의 일 실시예에 따른 트리 생성 장치(200)에서 트리를 생성하는 과정에서 도 4의 라인 35에 따른 활성자 검색 과정을 나타내는 알고리즘에 관한 일 예이다. FIG. 7 is an example of an algorithm showing an activator search process according to the line 35 of FIG. 4 in the process of generating a tree in the tree generating apparatus 200 according to an embodiment of the present invention.

라인 1에서, 활성자 노드(U)는 이웃 노드에 검색 메시지(FIND_CHILD)를 재전송한다. At line 1, the enabler node U retransmits the search message (FIND_CHILD) to the neighboring node.

라인 2에서, 활성자 노드(U)가 일반 노드로부터 요청 메시지(JOIN_REQ)를 수신하지 못한다면, 라인 3에서 활성자 노드(U)는 부모 노드(P(U))에 "STUCK"메시지를 전송하고 상태를 "COMPLETE"로 변경한다. In line 2, if the enabler node U does not receive a request message (JOIN_REQ) from the general node, the enabler node U on line 3 sends a "STUCK" message to the parent node P (U) Change the status to "COMPLETE".

라인 5에서, 싱크 노드(S)가 일반 노드로부터 응답 메시지(JOIN_REQ)를 수신하지 못한다면, 라인 6에서 싱크 노드(S)의 상태를 "COMPLETE"로 변경하고 트리 생성 과정을 종료한다. On line 5, if the sink node S does not receive a response message (JOIN_REQ) from the general node, it changes the state of the sink node S to " COMPLETE " on line 6 and ends the tree creation process.

도 8은 본 발명의 일 실시예에 따른 스케쥴링 장치(800)에 관한 블록도를 나타낸다. 8 is a block diagram of a scheduling apparatus 800 according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 스케쥴링 장치(800)는 제 1 정보 획득부(810), 제 2 정보 획득부(820) 및 동작 기간 결정부(830)를 포함할 수 있다. The scheduling apparatus 800 may include a first information obtaining unit 810, a second information obtaining unit 820, and an operation duration determining unit 830. [

제 1 정보 획득부(810)는 데이터를 전송하고자 하는 자식 노드와 자식 노드로부터 데이터를 수신할 부모 노드가 활성화되는 타입 슬롯에 관한 정보를 획득한다. 설명의 편의를 위하여 도 8에서는 데이터의 전송 시점을 결정할 자식 노드를 대상 노드로 명명하고, 대상 노드가 활성화되는 타임 슬롯을 제 1 타임 슬롯, 부모 노드가 활성화되는 타임 슬롯을 제 2 타임슬롯으로 명명한다. The first information obtaining unit 810 obtains information on a child node to which data is to be transmitted and a type slot on which a parent node to receive data from the child node is activated. For convenience of explanation, FIG. 8 shows a case where a child node to determine a data transmission time is designated as a target node, a time slot in which a target node is activated is referred to as a first time slot, a time slot in which a parent node is activated is referred to as a second time slot do.

제 2 정보 획득부(820)는 대상 노드가 데이터를 전송할 수 있는 동작 기간인 제 1 동작 기간에 관한 정보를 획득한다. The second information obtaining unit 820 obtains information on the first operation period, which is an operation period in which the target node can transmit data.

WSN에서 대상 노드가 부모 노드에 데이터를 전송하기 위해서는, 대상 노드의 모든 자식노드로부터 데이터를 수신하여야 한다. 따라서, 대상 노드가 자식 노드를 가지고 있지 않다면 네트워크에서 데이터의 전송이 시작되는 첫번째 동작 기간이 제 1 동작 기간이 되지만, 대상 노드가 하나 이상의 자식 노드를 가지고 있는 경우, 대상 노드의 모든 자식 노드로부터 데이터를 수신한 이후의 가장 빠른 동작 기간이 제 1 동작 기간이 된다. In the WSN, in order for the target node to transmit data to the parent node, data must be received from all the child nodes of the target node. Therefore, if the target node does not have a child node, the first operation period in which data transmission is started in the network is the first operation period. However, if the target node has more than one child node, Is the first operation period.

동작 기간 결정부(830)는 제 1 타임 슬롯과 제 2 타임 슬롯을 비교하여 대상 노드가 데이터를 전송하는 기간을 결정한다. The operation period determination unit 830 compares the first time slot with the second time slot and determines a period during which the target node transmits data.

제 1 타임 슬롯이 제 2 타임 슬롯보다 빠르다면(즉, 제 2 타임 슬롯의 번호가 제 1 타임 슬롯의 번호보다 크다면), 동작 기간 결정부(830)는 제 1 동작 기간을 대상 노드가 데이터를 전송하는 기간으로 결정한다. 즉, 제 1 동작 기간에서 부모 노드가 활성화되는 시점인 제 2 타임 슬롯에서 데이터를 전송한다. If the first time slot is faster than the second time slot (i.e., the number of the second time slot is larger than the number of the first time slot), the operation period determination unit 830 determines the first operation period As shown in FIG. That is, data is transmitted in the second time slot, which is the time point at which the parent node is activated in the first operation period.

그러나, 제 1 타임 슬롯이 제 2 타임 슬롯보다 느리거나 같다면, 동작 기간 결정부(830)는 제 1 동작 기간 이후의 가장 빠른 동작 기간인 제 2 동작 기간을 대상 노드가 데이터를 전송하는 기간으로 결정한다. However, if the first time slot is slower than or equal to the second time slot, the operation period determination unit 830 determines the second operation period, which is the earliest operation period after the first operation period, as a period during which the target node transmits data .

다만, 제 1 타임 슬롯과 제 2 타임 슬롯을 비교하여 결정한 데이터 전송 기간이, 금지된 동작 기간 셋에 포함된 경우 동작 기간 결정부(830)는 그 다음 동작 기간에 대상 노드가 데이터를 전송하도록 스케쥴링한다. 금지된 동작 기간 셋은 대상 노드와 충돌할 가능성이 있는 노드가 데이터를 전송하는 동작 기간이다. However, when the data transmission period determined by comparing the first time slot and the second time slot is included in the forbidden operation period set, the operation period determination unit 830 determines that the target node transmits data in the next operation period do. The prohibited operation period set is an operation period in which a node that is likely to collide with a target node transmits data.

도 9는 본 발명의 일 실시예에 따른 스케쥴링 장치(800)에서 데이터 전송 기간을 스케쥴링 하는 과정을 설명하기 위한 알고리즘을 나타낸 도면이다. 9 is a diagram illustrating an algorithm for describing a process of scheduling a data transmission period in the scheduling apparatus 800 according to an embodiment of the present invention.

먼저, 설명의 편의를 위하여 도 9에서 사용하는 용어를 정의한다. First, for convenience of description, terms used in FIG. 9 are defined.

rank(u): 노드 u의 랭킹을 나타낸다. 노드의 랭킹은 트리 상에서 노드가 위치하는 레벨 및 노드의 식별 정보에 기초하여 결정될 수 있다. 예를 들어, 싱크 노드로부터의 거리가 가장 먼 노드(즉, 홉수가 가장 큰 노드)가 가장 높은 레벨을 갖는다. 노드의 랭킹을 결정하는 방식은 실시예에 따라서 다양할 수 있으며, 예를 들어, 레벨이 높은 노드에 높은 랭킹을 할당하고, 같은 레벨의 경우 노드의 식별자가 앞선 노드에 높은 랭킹을 할당할 수 있다. rank (u): Represents the rank of node u. The rank of a node can be determined based on the level at which the node is located on the tree and the identification information of the node. For example, the node with the longest distance from the sink node (i.e., the node with the largest number of hops) has the highest level. The manner of determining the ranking of the nodes may vary according to the embodiment, for example, assigning a high ranking to a node with a high level, and assigning a high ranking to a node preceding the node in the case of the same level .

tsch(u): 노드 u가 부모 노드로 데이터를 전송하는 동작 기간을 나타낸다. 즉, 노드 u의 데이터 전송 기간을 의미한다. tsch (u): Indicates the period of operation in which node u transmits data to its parent node. That is, it means the data transfer period of the node u.

tmin(u): 노드 u가 부모 노드로 데이터를 전송할 수 있는 최소의 동작 기간을 나타낸다. 즉, 노드 u가 부모 노드로 데이터를 전송할 수 있는 준비가 완료되는 동작 기간인 제 1 동작 기간를 의미하는 것으로, 노드 u는 대한 자식 노드로부터 데이터 수집이 완료되어야 부모 노드로 데이터를 전송할 수 있다. tmin (u): represents the minimum operation period in which node u can transmit data to the parent node. That is, the first operation period is an operation period in which the node u is ready to transmit data to the parent node. The node u can transmit data to the parent node after data collection from the child node is completed.

nuch(u): u의 자식노드들 중 스케쥴링이 완료되지 않은 노드의 개수를 나타낸다. nuch (u): Indicates the number of child nodes of u whose scheduling is not completed.

CS(u): 노드 u가 데이터를 전송할 때 충돌할 가능성이 있는 노드이다. CS (u) is a node that may collide when transmitting node u.

FS(u): 노드 u가 데이터를 전송하지 못하는 동작 기간을 나타내는 것으로, 금지 동작 기간이다. 금지 동작 기간에는 CS(u)에 속하는 노드, 즉, 충돌 가능성이 있는 노드 중 먼저 스케쥴링 된 노드의 데이터 전송 기간이 포함된다. FS (u) represents an operation period in which node u can not transmit data, and is a prohibited operation period. During the prohibited operation period, the data transmission period of the node belonging to CS (u), that is, the first scheduled node among the possible collision nodes, is included.

이하에서는, 도 9를 참고하여 스케쥴링 장치(800)에서 데이터 전송 기간을 스케쥴링 하는 과정을 설명한다. Hereinafter, a process of scheduling a data transfer period in the scheduling apparatus 800 will be described with reference to FIG.

라인 0에서는 모든 변수를 초기화한다. Line 0 initializes all variables.

라인 1~4에서는 랭크에 기초하여 스케쥴링을 수행할 대상 노드를 결정한다. 예를 들어, 노드 U의 자식 노드가 없고, 경쟁하는 노드(예를 들면, 충돌 가능성이 있는 노드)들 중 랭킹이 가장 높다면, 대상 노드 U의 데이터 전송 기간을 "동작 노드 1"로 설정한다. In lines 1 to 4, a target node to be scheduled is determined based on the rank. For example, if there is no child node of the node U and the ranking is the highest among the competing nodes (for example, possible collision nodes), the data transfer period of the target node U is set to " operating node 1 " .

라인 6~9에서는, 노드 U와 노드 U의 부모 노드인 P(U)가 활성화되는 타임 슬롯을 확인한다. 노드 U의 타임 슬롯이 부모 노드 P(U)의 타임 슬롯보다 작다면 데이터 전송 기간이 제 1 동작 기간으로 결정된다. 노드 U의 타임 슬롯이 부모 노드 P(U)의 타임 슬롯보다 작다는 것은, 동일한 동작 기간내에서 부모 노드 P(U)가 활성화되기 전에 노드 U가 먼저 활성화되어 데이터를 전송할 준비가 완료될 수 있음을 의미한다. 반면, 노드 U의 타임 슬롯이 부모 노드 P(U)의 타임 슬롯보다 크다면 데이터 전송 기간은 제 1 동작 기간 + 1(즉, 제 2 동작 기간)로 결정된다.In lines 6 to 9, the time slot in which the node U and the parent node P (U) of the node U are activated is identified. If the time slot of the node U is smaller than the time slot of the parent node P (U), the data transfer period is determined as the first operation period. The fact that the time slot of node U is smaller than the time slot of parent node P (U) means that node U is first activated and ready to transmit data before parent node P (U) is activated within the same operating period it means. On the other hand, if the time slot of the node U is larger than the time slot of the parent node P (U), the data transfer period is determined as the first operation period + 1 (i.e., the second operation period).

라인 12~13에서는, 노드 U의 데이터 전송 기간이 금지 동작 기간에 해당하는지를 판단한다. 노드 U의 데이터 전송 기간이 금지 동작 기간에 해당한다면, 데이터 전송 기간을 1 증가시킨다. In lines 12 to 13, it is determined whether or not the data transfer period of the node U corresponds to the prohibited operation period. If the data transfer period of the node U corresponds to the prohibited operation period, the data transfer period is increased by one.

라인 15에서는, 노드 U의 스케쥴링 정보(즉, 노드 U의 데이터 전송 기간에 관한 정보)를 이웃하는 노드(예를 들면, 2홉 이내의 노드)에 전송한다. In line 15, the scheduling information of the node U (that is, the information about the data transfer period of the node U) is transmitted to a neighboring node (for example, a node within two hops).

라인 16~19는 노드 U에 대한 스케쥴링 정보를 수신한 이웃 노드에서의 동작에 관한 것이다. 노드 U에 대한 스케쥴링 정보를 수신한 노드 V는 노드 U의 데이터 전송 기간을 금지 동작 기간(FS(V))에 추가한다. 또한, 노드 U는 이미 스케쥴링이 완료되었으므로 충돌 노드 집합(CS(V))에서 노드 U를 제거한다. Lines 16-19 refer to the operation at the neighboring node that received the scheduling information for node U. The node V which has received the scheduling information for the node U adds the data transfer period of the node U to the prohibited operation period FS (V). In addition, since the node U has already completed the scheduling, node U is removed from the collision node set CS (V).

라인 20~24는 노드 U에 대한 스케쥴링 정보를 수신한 부모 노드 P(U))에서의 동작에 관한 것이다. 자식 노드 U에 대한 스케쥴링 정보를 수신한 부모 노드 P(U))는 스케쥴링 되지 않은 자식 노드의 수(nuch(v))에서 하나를 감소시킨다. 또한, 노드 U의 데이터 전송 기간이 부모 노드 P(U))의 제 1 동작 기간 이후인 경우 부모 노드(P(U))의 제 1 동작 기간을 노드 U의 데이터 전송 기간으로 변경한다. Lines 20-24 relate to operations in the parent node P (U) that received the scheduling information for node U). The parent node P (U) receiving the scheduling information for the child node U) reduces one from the number of unscheduled child nodes (n uch (v)). Also, when the data transfer period of the node U is after the first operation period of the parent node P (U)), the first operation period of the parent node P (U) is changed to the data transfer period of the node U.

도 10은 본 발명의 일 실시예에 따른 스케쥴링 장치(800)에서 노드의 데이터 전송 기간을 스케쥴링 하는 과정을 설명하기 위한 도면이다. FIG. 10 is a diagram for explaining a process of scheduling a data transfer period of a node in the scheduling apparatus 800 according to an embodiment of the present invention.

도 10a는 각각의 노드가 활성화되는 타임 슬롯을 나타내는 도면이다. 10A is a diagram showing time slots in which each node is activated.

도 10a를 참고하면, 하나의 동작 기간에는 3개의 타임 슬롯이 존재한다. Referring to FIG. 10A, there are three time slots in one operation period.

도 10a를 참고하면, 싱크 노드는 타임 슬롯 '2'에서 활성화된다. Referring to FIG. 10A, the sink node is activated in time slot '2'.

또한, 노드 V1은 타임 슬롯 '1'에서 활성화되고, Further, the node V1 is activated in the time slot '1'

노드 V2는 타임 슬롯 '1'에서 활성화되고, Node V2 is activated in time slot '1'

노드 V3는 타임 슬롯 '0'에서 활성화되고, Node V3 is activated in time slot '0'

노드 V4는 타임 슬롯 '1'에서 활성화되고,Node V4 is activated in time slot '1'

노드 V5는 타임 슬롯 '0'에서 활성화되며, Node V5 is activated in time slot '0'

노드 V6는 타임 슬롯 '0'에서 활성화된다. Node V6 is activated in time slot '0'.

도 10b은 본 발명의 일 실시예에 따른 스케쥴링 장치(800)에서 노드의 데이터 전송 기간에 대한 스케쥴링을 완료한 모습이다. FIG. 10B illustrates a scheduling apparatus 800 according to an embodiment of the present invention in which scheduling for a data transmission period of a node is completed.

설명의 편의를 위하여, 노드 V3, V4, V5, V6은 동작 기간 '0'에서 모든 데이터를 수신하였거나, 자식 노드가 없는 리프 노드로서 이미 데이터의 전송 준비가 완료되었다고 가정한다. For convenience of explanation, it is assumed that nodes V3, V4, V5, and V6 have received all the data in the operation period '0', or that the leaf node having no child node has already prepared to transmit data.

먼저, 스케쥴링 장치(800)는 순위가 가장 높은 노드를 선택하여 데이터 전송 기간을 정한다. 도 10에서는 노드 V3의 순위가 가장 높다고 가정하자. First, the scheduling apparatus 800 selects a node having the highest rank and determines a data transfer period. In Fig. 10, it is assumed that the node V3 has the highest rank.

i)스케쥴링 장치(800)은 노드 V3의 데이터 전송 기간을 가장 빠른 동작 기간인 동작 기간 '1'로 결정한다. i) The scheduling apparatus 800 determines the data transfer period of the node V3 as the operation period '1' which is the fastest operation period.

ii)다음으로, 스케쥴링 장치(800)는 노드 V4의 데이터 전송 기간을 결정한다. 노드 V4는 노드 V3와 충돌이 발생할 수 있는 노드이므로, 노드 V3의 데이터 전송 기간과 상이한 동작 기간에 데이터를 전송하여야 한다. 따라서, 노드 V4의 데이터 전송 기간은 동작 기간 '2'로 결정된다. ii) Next, the scheduling apparatus 800 determines a data transfer period of the node V4. Since node V4 is a node that may collide with node V3, data must be transmitted in a different operation period than the data transmission period of node V3. Therefore, the data transfer period of the node V4 is determined to be the operation period '2'.

iii)다음으로, 스케쥴링 장치(800)는 노드 V5의 데이터 전송 기간을 결정한다. 노드 V5는 노드 V4와 충돌이 발생할 수 있는 노드이므로, 노드 V5의 데이터 전송 기간과 상이한 동작 기간 중 가장 빠른 동작 기간에 데이터를 전송하여야 한다. 노드 V4는 동작 기간 '2'에서 데이터를 전송하므로, 노드 V5의 데이터 전송 기간은 동작 기간 '1'로 결정된다. iii) Next, the scheduling apparatus 800 determines a data transfer period of the node V5. Since the node V5 is a node that may collide with the node V4, the node V5 must transmit data in the fastest operation period, which is different from the data transfer period of the node V5. Since the node V4 transmits data in the operation period '2', the data transfer period of the node V5 is determined as the operation period '1'.

iv)다음으로, 스케쥴링 장치(800)는 노드 V6의 데이터 전송 기간을 결정한다. 노드 V6는 노드 V4 및 노드 V5와 충돌이 발생할 수 있는 노드이므로, 동작 기간 '1' 및 동작 기간 '2'에는 데이터를 전송할 수 없다. 따라서, 노드 V6의 데이터 전송 기간은 동작 기간 '3'으로 결정된다. iv) Next, the scheduling apparatus 800 determines the data transfer period of the node V6. Since the node V6 is a node that may collide with the node V4 and the node V5, data can not be transmitted in the operation period '1' and the operation period '2'. Therefore, the data transfer period of the node V6 is determined to be the operation period '3'.

v)다음으로, 스케쥴링 장치(800)는 노드 V1의 데이터 전송 기간을 결정한다. 노드 V1은 타임 슬롯 '1'에서 활성화되므로, 노도 V1이 자식 노드로부터 모든 데이터를 수신하는 시점은 동작 기간 '2'의 타임 슬롯 '1'에서일 것이다. 결과적으로, 노드 V1은 동작 기간 '2'에 싱크 노드 S로 데이터를 전송할 수 있다. 이 때, 부모 노드 S가 활성화되는 타임 슬롯은 타임 슬롯 '2'이므로, 노드 V1은 동작 기간 '2'의 타임 슬롯 '2'에 데이터를 전송할 수 있다. 따라서, 노드 V1의 데이터 전송 기간은 '2'로 결정된다. v) Next, the scheduling apparatus 800 determines a data transfer period of the node V1. Since the node V1 is activated in the time slot '1', the time when the node V1 receives all the data from the child node will be in the time slot '1' of the operation period '2'. As a result, the node V1 can transmit data to the sink node S in the operation period '2'. At this time, since the time slot in which the parent node S is activated is the time slot '2', the node V 1 can transmit data to the time slot '2' in the operation period '2'. Therefore, the data transfer period of the node V1 is determined to be '2'.

vi)마지막으로, 스케쥴링 장치(800)는 노드 V3의 데이터 전송 기간을 결정한다. 노드 V3은 타임 슬롯 '0'에서 활성화되므로, 노드 V3이 자식 노드로부터 모든 데이터를 수신하는 시점은 동작 기간 '3'의 타임 슬롯 '0'에서일 것이다. 결과적으로, 노드 V3는 동작 기간 '3'의 타임 슬롯 '2'에 싱크 노드 S로 데이터를 전송할 수 있다. 이 때, 노드 V1은 노드 V3와 충돌이 발생할 수 있는 노드이지만, 노드 V3의 데이터 전송 기간은 동작 기간 '2'이므로 노드 V3은 동작 기간 '3'에 싱크 노드 S로 데이터를 전송할 수 있다. vi) Finally, the scheduling device 800 determines the data transfer period of the node V3. Since the node V3 is activated in the time slot '0', the time point at which the node V3 receives all the data from the child node will be in the time slot '0' of the operation period '3'. As a result, the node V3 can transmit data to the sink node S in the time slot '2' of the operation period '3'. At this time, although the node V1 is a node in which a collision may occur with the node V3, since the data transfer period of the node V3 is the operation period '2', the node V3 can transmit data to the sink node S in the operation period '3'.

종래에는, 충돌 가능한 노드가 존재하는 경우 충돌 가능한 노드의 데이터 전송 기간 이후에 데이터를 전송하여야 하므로 충돌 가능한 노드가 많은 경우 데이터 전송 기간이 길어지게 된다.(예를 들어, 노드 V5는 노드 V4와 충돌이 가능하므로, 노드 V5의 데이터 전송 기간 = 노드 V4의 데이터 전송 기간 + 1이 된다.) 그러나, 본 발명의 일 실시예에 따른 스케쥴링 장치(800)에서는 충돌 가능 노드의 데이터 전송 기간과 일치하지 않는 범위내에서 가장 빠른 동작 기간에 데이터를 전송하므로 데이터가 싱크 노드에 도달하는 시간을 줄일 수 있다. In the past, when there is a collision-capable node, data must be transmitted after a data transfer period of a collision-capable node. Therefore, when there are many collision-capable nodes, the data transfer period becomes long. (For example, The data transfer period of the node V5 = the data transfer period of the node V4 + 1). However, in the scheduling apparatus 800 according to an embodiment of the present invention, Since data is transmitted in the fastest operating period within the range, it is possible to reduce the time for data to reach the sink node.

또한, 종래에는 부모 노드는 자식 노드의 데이터 전송 기간 이후에 데이터를 전송한다. (예를 들어, 노드 V1의 데이터 전송 기간 = 노드 V4의 데이터 전송 기간 + 1) 그러나, 본 발명의 일 실시예에 따른 스케쥴링 장치(800)에서는 특정 조건을만족하는 경우(즉, 부모 노드의 타임 슬롯이 자식 노드의 타임 슬롯보다 큰 경우) 부모 노드와 자식 노드가 동일한 동작 기간에 데이터를 전송할 수 있기 때문에 데이터가 싱크 노드에 도달하는 시간을 줄일 수 있다. Also, conventionally, the parent node transmits data after the data transfer period of the child node. (For example, the data transfer period of node V1 = the data transfer period of node V4 + 1) However, in the case of satisfying the specific condition (i.e., the time of the parent node If the slot is larger than the time slot of the child node, the time for the data to reach the sink node can be reduced because the parent node and the child node can transmit data in the same operation period.

도 11은 본 발명의 일 실시예에 따른 트리 생성 방법에 관한 흐름도를 나타낸다. 도 11은 스타트-업 과정을 설명하기 위한 흐름도이다. 11 is a flowchart illustrating a tree generation method according to an embodiment of the present invention. 11 is a flowchart for explaining a start-up process.

단계 s1110에서, 특이 노드 V(1101)는 이웃 노드에 자신을 자식 노드로 등록해 줄 것을 요청하는 메시지(JOIN_REQ)를 전송한다. In step s1110, the singular node V 1101 transmits a message (JOIN_REQ) requesting the neighbor node to register itself as a child node.

단계 s1120에서, 요청 메시지를 수신한 노드 U(1102)는 노드 V(1101)를 자식 노드로 등록하고, 노드 U(1102)의 자식 노드 수와 후보 부모 노드 수를 갱신한다. In step s1120, the node U 1102 that has received the request message registers the node V 1101 as a child node and updates the number of child nodes and the number of candidate parent nodes of the node U 1102. [

단계 s1130에서, 노드 U(1102)는 노드 V(1101) 및 이웃 노드 X(1103)에 노드 U를 자식 노드로 등록함을 알리는 메시지(JOIN_ACCEPT)를 전송한다. In step s1130, the node U 1102 sends a message (JOIN_ACCEPT) informing the node V 1101 and the neighboring node X 1103 to register the node U as a child node.

단계 s1140에서, 노드 V(1101)는 노드 V를 자신의 부모 노드로 등록하고 자신의 상태를 완료로 변경한다. At step s1140, node V 1101 registers node V as its parent node and changes its state to complete.

단계 s1150에서, 노드 U(1102)의 자식 노드 수가 한계 자식 수 이상이 된 경우 이웃 노드 X(1103)는 후보 부모 노드의 수에서 1을 감소시킨다.(즉, 후보 부모 노드에서 노드 U를 제외한다.)In step s1150, when the number of the child nodes of the node U 1102 becomes equal to or greater than the number of child nodes, the neighboring node X 1103 decreases the number of candidate parent nodes by 1 (i.e., the node U is excluded from the candidate parent node) .)

도 12은 본 발명의 다른 실시예에 따른 트리 생성 방법에 관한 흐름도를 나타낸다. 도 12은 트리 생성의 정규 과정을 설명하기 위한 흐름도이다. 12 is a flowchart illustrating a tree generation method according to another embodiment of the present invention. 12 is a flowchart for explaining a regular process of tree generation.

단계 s1212에서, 활성자 노드 U(1201)는 자식 노드를 검색하기 위한 메시지(FIND_CHILD)를 이웃 노드 V(1202)에 전송한다. In step s1212, the activator node U1 1201 transmits a message (FIND_CHILD) to the neighboring node V 1202 to search for the child node.

단계 s1214에서, 다른 활성자 노드 Z(1203)도 자식 노드를 검색하기 위한 메시지(FIND_CHILD)를 이웃 노드 V(1202)에 전송한다. In step s1214, another activator node Z 1203 also transmits a message FIND_CHILD to the neighboring node V 1202 to search for the child node.

단계 s1222 및 단계 s1224에서, 이웃 노드 V(1202)는 활성자 노드 U(1201)와 활성자 노드 Z(1203)에 요청 메시지(JOIN_REQ)를 전송한다. In step s1222 and step s1224, the neighboring node V 1202 sends a request message (JOIN_REQ) to the initiator node U 1201 and the initiator node Z 1203.

단계 s1230에서, 활성자 노드 U(1201)는 이웃 노드 V(1202)에 대한 백-오프 타임을 갱신한다. 이웃 노드 V(1202)가 특이 노드인 경우에는 자식 노드로 등록하기 위하여 백-오프 타임을 '0'으로 설정한다. 그러나, 이웃 노드 V(1202)가 특이 노드가 아닌 경우 전송 지연 시간에 기초하여 이웃 노드 V(1202)에 대응하는 백-오프 타임을 설정한다. 만일, 백-오프 타임 이내에, 이웃 노드 V(1202)가 다른 활성자 노드(예를 들면, 노드 Z)로부터 자식 노드로의 요청을 받고 확정 메시지(JOIN_CONFIRM)메시지를 전송한 경우에는 활성자 노드 U(1201)는 이웃 노드 V(1202)를 자식 후보 노드에서 제외한다. 이는, 이웃 노드 V(1202) ==> 활성자 노드 Z(1203) ==> 싱크 노드로의 데이터 지연이, 이웃 노드 V(1202) ==> 활성자 노드 U(1201) ==> 싱크 노드로의 데이터 지연보다 짧다는 것을 의미하기 때문이다. At step s1230, initiator node U1 1201 updates the back-off time for neighbor node V (1202). If the neighboring node V 1202 is a singular node, the back-off time is set to '0' in order to register as a child node. However, if the neighboring node V 1202 is not a singular node, the back-off time corresponding to the neighboring node V 1202 is set based on the transmission delay time. If, during back-off time, neighbor node V 1202 receives a request from another enabler node (e.g., node Z) to a child node and sends a commit message (JOIN_CONFIRM) message, (1201) excludes the neighboring node V (1202) from the child candidate node. This is because the data delay to the neighbor node V 1202 ==> the activator node Z 1203 ==> the sink node is delayed by the neighbor node V 1202 ==> the activator node U 1201 ==> Lt; / RTI > is shorter than the data delay < RTI ID = 0.0 >

단계 s1240에서, 활성자 노드 U(1201)는 수락 메시지(JOIN_ACCETP)를 이웃 노드 V(1202)에 전송한다. At step s1240, the enabler node U1 1201 sends an accept message JOIN_ACCETP to the neighboring node V1202.

단계 s1250에서, 이웃 노드 V(1202)는 활성자 노드 U(1201)를 부모 노드로 등록한다. In step s1250, the neighboring node V 1202 registers the enabler node U1201 as a parent node.

단계 s1260에서, 이웃 노드 V(1202)는 자신에게 이웃하는 노드(즉, 활성자 노드 U, Z)에 확정 메시지(JOIN_CONFIRM)를 전송한다. In step s1260, the neighboring node V 1202 transmits a confirmation message (JOIN_CONFIRM) to its neighboring node (i.e., the activator node U, Z).

단계 s1270에서, 활성자 노드 U(1201)는 자식 노드 수가 한계 자식 수 이상인지를 판단하고, 한계 자식 수 이상인 경우 자식 노드의 검색을 종료한다. (단, 더 이상 활성자 노드가 존재하지 않는 경우에는 등록된 자식 노드 수가 한계 자식수를 초과한다 하더라도 자식 노드의 검색을 계속한다.) 그러나, 등록된 자식 노드 수가 한계 자식 수 미만인 경우 이웃 노드에 대한 백-오프 타임을 유지하면서 자식 노드의 검색을 계속 수행한다. In step s1270, the activator node U 1201 determines whether the number of child nodes is equal to or greater than the threshold child number, and ends the search for the child node if the number is equal to or greater than the threshold child number. However, if the number of registered child nodes is less than the limit number of children, the number of registered child nodes is reduced to the number of child nodes. The search for the child node is continued while maintaining the back-off time for the child node.

단계 s1280에서, 이웃 노드 V(1202)는 자신의 상태를 변경한다. 이웃 노드 V(1202)가 특이 노드인 경우 상태를 완료로 변경하고, 그렇지 않은 경우 자신의 자식 노드를 검색하기 위하여 새로운 활성자 노드가 된다. In step s1280, neighboring node V 1202 changes its state. If the neighboring node V 1202 is an anonymous node, the status is changed to completed, and if not, the new node becomes a new enabler node to search for its own child node.

도 13은 본 발명의 일 실시예에 따른 트리 생성 방법에 관한 흐름도를 나타낸다. 본 발명의 일 실시예에 따른 트리 생성 방법은 듀티-사이클 방식의 데이터 전송을 위한 것이다. 13 is a flowchart illustrating a tree generation method according to an embodiment of the present invention. A method of generating a tree according to an embodiment of the present invention is for duty-cycle data transmission.

단계 s1310에서는, 동작 기간에 포함된 타임 슬롯의 개수에 관한 정보, 네트워크내의 노드 간의 거리에 관한 정보 및 네트워크내의 노드의 개수에 관한 정보 중 적어도 하나를 획득한다. In step s1310, at least one of information on the number of time slots included in the operation period, information on the distance between nodes in the network, and information on the number of nodes in the network is obtained.

단계 s1320에서는, 타임 슬롯의 개수에 관한 정보, 노드 간 거리 정보 및 노드 개수 정보 중 적어도 하나에 기초하여, 각각의 노드가 보유할 수 있는 최대 자식 노드의 수를 결정한다. In step s1320, the number of maximum child nodes that each node can hold is determined based on at least one of the information on the number of time slots, the inter-node distance information, and the node number information.

단계 s1330에서는, 최대 자식 노드의 수를 초과하는 노드가 최소가 되도록 네트워크내의 노드들 간의 데이터 수집 경로(즉, 리프 노드에서 싱크 노드까지 데이터가 이동하는 경로)타내는 트리를 생성한다. In step s1330, a tree is created on the data collection path between the nodes in the network (i.e., the path from the leaf node to the sink node) so that the number of nodes exceeding the maximum number of child nodes is minimized.

먼저, 네트워크 내의 특이 노드를 검색한다. 특이 노드는 후보 부모 노드가 임계치 이하(예를 들면, 하나)인 노드로서, 특이 노드의 부모 노드를 먼저 결정한다. First, the singular node in the network is searched. The singular node is a node whose candidate parent node is below the threshold (for example, one), and determines the parent node of the singular node first.

다음으로, 싱크 노드로부터 자식 노드를 검색 및 등록한다. 이 때, 등록된 자식 노드 수가 최대 자식 수 이상이면, 자식 노드의 검색 및 등록 절차를 중지한다. (다만, 예외적인 경우에는 허용) Next, the child node is searched and registered from the sink node. At this time, if the number of registered child nodes is equal to or greater than the maximum number of child nodes, the search and registration procedure of child nodes is stopped. (Except in exceptional cases)

도 14는 본 발명의 일 실시예에 따른 스케쥴링 방법에 관한 흐름도를 나타낸다. FIG. 14 is a flowchart illustrating a scheduling method according to an embodiment of the present invention.

단계 s1410에서, 스케쥴링을 수행하고자 하는 대상 노드에 대한 제 1 동작 기간 정보를 획득한다. 제 1 동작 기간은 대상 노드가 데이터를 전송할 수 있는 동작 기간 중 가장 빠른 기간을 의미한다. In step s1410, the first operation period information for the target node to be scheduled is obtained. The first operation period means the earliest operating period during which the target node can transmit data.

단계 s1420에서, 대상 노드가 활성화되는 제 1 타임 슬롯에 관한 정보와 부모 노드가 활성화되는 제 2 타임 슬롯에 관한 정보를 획득한다. In step s1420, information about the first time slot in which the target node is activated and information about the second time slot in which the parent node is activated are obtained.

단계 s1430에서, 제 1 타임 슬롯에 관한 정보, 제 2 타임 슬롯에 관한 정보 및 제 1 동작 기간 정보에 기초하여, 대상 노드가 데이터를 전송하는 데이터 전송 기간을 결정한다. 구체적으로, 제 2 타임 슬롯이 제 1 타임 슬롯과 같거다 크면(즉, 더 느리면) 제 1 동작 기간을 대상 노드의 데이터 전송 기간으로 결정한다. 그러나, In step s1430, based on the information about the first timeslot, the information about the second timeslot, and the first operation period information, the data transfer period during which the target node transmits data is determined. Specifically, if the second time slot is as large as the first time slot (i.e., slower), the first operation period is determined as the data transfer period of the target node. But,

본 발명의 이점 및/또는 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and / or features of the present invention, and how to accomplish them, will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. It should be understood, however, that the invention is not limited to the disclosed embodiments, but is capable of many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, To fully disclose the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.

지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허 청구의 범위뿐 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the scope of the appended claims and equivalents thereof.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, Modification is possible. Accordingly, the spirit of the present invention should be understood only in accordance with the following claims, and all equivalents or equivalent variations thereof are included in the scope of the present invention.

200: 트리 생성 장치
210: 파라미터 획득부
220: 결정부
230: 트리 생성부
200: tree generating device
210: Parameter acquisition unit
220:
230: tree generating unit

Claims (14)

하나의 동작 기간내의 복수의 타임 슬롯들 중 일부 타임 슬롯에서만 활성화되는 노드를 스케쥴링하는 방법에 있어서,
대상 노드가 데이터를 전송할 준비가 완료되는 동작 기간인 제 1 동작 기간 정보를 획득하는 단계;
상기 대상 노드가 활성화되는 제 1 타임 슬롯에 관한 정보 및 상기 대상 노드로부터 데이터를 수신하는 부모 노드가 활성화되는 제 2 타임 슬롯에 관한 정보를 획득하는 단계; 및
상기 제 1 타임 슬롯에 관한 정보, 상기 제 2 타임 슬롯에 관한 정보 및 상기 제 1 동작 기간 정보에 기초하여, 상기 대상 노드가 상기 부모 노드로 데이터를 전송하는 동작 기간인 데이터 전송 기간을 결정하는 단계를 포함하는 것을 특징으로 하는 스케쥴링 방법.
A method for scheduling a node that is active only in some time slots among a plurality of time slots in an operation period,
Acquiring first operation period information which is an operation period in which a target node is ready to transmit data;
Obtaining information on a first time slot in which the target node is activated and information on a second time slot in which a parent node receiving data from the target node is activated; And
Determining a data transfer period that is an operation period in which the target node transmits data to the parent node based on the information about the first timeslot, the information about the second timeslot, and the first operation period information The scheduling method comprising the steps of:
제 1항에 있어서, 상기 데이터 전송 기간을 결정하는 단계는,
상기 제 2 타임 슬롯이 상기 제 1 타임 슬롯 보다 큰 경우 상기 제 1 동작 기간을 상기 데이터 전송 기간으로 결정하고, 상기 제 2 타임 슬롯이 상기 제 1 타임 슬롯보다 작거나 같은 경우, 상기 제 1 동작 기간 이후의 동작 기간인 제 2 동작 기간을 상기 데이터 전송 기간으로 결정하는 것을 특징으로 하는 스케쥴링 방법.
2. The method of claim 1, wherein determining the data transfer period comprises:
And determines the first operation period as the data transmission period when the second time slot is larger than the first time slot, and when the second time slot is smaller than or equal to the first time slot, And the second operation period that is a subsequent operation period is determined as the data transfer period.
제 1항에 있어서, 상기 데이터 전송 기간을 결정하는 단계는,
상기 결정된 데이터 전송 기간이 상기 대상 노드에 대한 충돌 가능한 노드의 데이터 전송 기간에 해당하는 경우, 상기 데이터 전송 기간을 다음번 동작 기간으로 변경하는 단계를 포함하는 것을 특징으로 하는 스케쥴링 방법.
2. The method of claim 1, wherein determining the data transfer period comprises:
And changing the data transfer period to a next operation period when the determined data transfer period corresponds to a data transfer period of a collision-capable node with respect to the target node.
제 1항에 있어서, 상기 제 1 동작 기간 정보를 획득하는 단계는,
상기 대상 노드의 자식 노드가 존재하지 않는 경우 상기 제 1 동작 기간은 가장 빠른 동작 기간으로 결정되고, 상기 대상 노드의 자식 노드가 존재하는 경우 상기 제1 동작 기간은 상기 자식 노드로부터 마지막으로 데이터가 수신된 동작 기간으로 결정되는 것을 특징으로 하는 스케쥴링 방법.
2. The method of claim 1, wherein obtaining the first operating period information comprises:
If the child node of the target node does not exist, the first operation period is determined to be the fastest operation period, and if the child node of the target node exists, Wherein the scheduling period is determined as a period of operation.
제 1항에 있어서, 상기 스케쥴링 방법은,
상기 데이터 전송 기간이 결정되면, 상기 대상 노드와 임계 거리 이내에 있는 노드에 상기 데이터 전송 기간에 관한 정보를 전송하는 단계를 더 포함하는 것을 특징으로 하는 스케쥴링 방법.
2. The method of claim 1,
Further comprising the step of transmitting information on the data transfer period to a node within a critical distance from the target node when the data transfer period is determined.
제 1항에 있어서, 상기 스케쥴링 방법은,
상기 대상 노드에 대하여 충돌 가능한 노드의 데이터 전송 기간에 대한 정보를 수신하는 단계; 및
상기 충돌 가능한 노드의 데이터 전송 기간을 상기 대상 노드가 데이터를 전송할 수 없는 금지 동작 기간으로 결정하는 단계를 더 포함하는 것을 특징으로 하는 스케쥴링 방법.
2. The method of claim 1,
Receiving information on a data transfer period of a collision-capable node with respect to the target node; And
Further comprising the step of determining a data transfer period of the collision-capable node as a prohibit operation period in which the target node can not transmit data.
제 1항에 있어서, 상기 스케쥴링 방법은,
상기 결정된 데이터 전송 기간에 기초하여, 상기 부모 노드가 데이터를 전송할 준비가 완료되는 동작 기간을 나타내는 제 2 동작 기간에 관한 정보를 업데이트 하는 단계를 더 포함하는 것을 특징으로 하는 스케쥴링 방법.
2. The method of claim 1,
Further comprising updating information on a second operation period indicating an operation period in which the parent node is ready to transmit data based on the determined data transmission period.
하나의 동작 기간내의 복수의 타임 슬롯들 중 일부 타임 슬롯에서만 활성화되는 노드의 데이터 수집 경로를 나타내는 트리를 생성하는 방법에 있어서,
하나의 동작 기간내의 타임 스롯의 개수에 관한 정보, 네트워크내의 노드 간의 거리에 관한 정보 및 상기 네트워크내의 노드의 개수에 관한 정보 중 적어도 하나를 획득하는 단계;
상기 타임 슬롯의 개수에 관한 정보, 상기 노드 간 거리 정보 및 상기 노드개수 정보 중 적어도 하나에 기초하여, 각각의 노드가 보유할 수 있는 최대 자식 노드의 수를 결정하는 단계; 및
상기 최대 자식 노드의 수를 초과하는 노드가 최소가 되도록 상기 네트워크내의 노드의 데이터 수집 경로를 나타내는 트리를 생성하는 단계를 포함하는 것을 특징으로 하는 트리 생성 방법.
A method of generating a tree representing a data collection path of a node activated only in some time slots among a plurality of time slots in one operation period,
Obtaining at least one of information on the number of time slots in one operation period, information on a distance between nodes in the network, and information on the number of nodes in the network;
Determining a maximum number of child nodes that each node can hold based on at least one of information about the number of timeslots, the inter-node distance information, and the node number information; And
Generating a tree representing a data collection path of a node in the network such that a node exceeding the maximum number of child nodes is minimized.
제 8항에 있어서, 상기 트리를 생성하는 단계는,
네트워크 내의 노드들 중 데이터를 전송할 수 있는 후보 부모 노드의개수가 임계치 이하인 특이 노드를 검색하는 단계; 및
상기 특이 노드에 대한 후보 부모 노드 중 하나를 상기 특이 노드에 대한 부모 노드로 결정하는 단계를 포함하는 것을 특징으로 하는 트리 생성 방법.
9. The method of claim 8, wherein generating the tree comprises:
Searching for an odd node whose number of candidate parent nodes capable of transmitting data among the nodes in the network is equal to or less than a threshold value; And
And determining one of the candidate parent nodes for the singular node as a parent node for the singular node.
제 9항에 있어서, 상기 트리를 생성하는 단계는,
상기 트리를 구성할 대상 노드를 선택하는 단계; 및
상기 대상 노드에 대한 이웃 노드로부터 상기 대상 노드를 경유하여 데이터가 전송되는 최종 노드인 싱크 노드까지 데이터를 전송하는데 소요되는 시간인 전송 지연 시간에 기초하여, 상기 이웃 노드를 상기 대상 노드에 대한 자식 노드로 선택적으로 등록하는 단계를 포함하는 것을 특징으로 하는 트리 생성 방법.
10. The method of claim 9,
Selecting a target node constituting the tree; And
And a transmission delay time which is a time required for transmitting data from a neighbor node to the target node to a sink node that is a final node through which the data is transmitted via the target node, The method comprising the steps of:
제 10항에 있어서, 상기 자식 노드로 선택적으로 등록하는 단계는,
상기 이웃 노드가 데이터를 전송할 수 있는 후보 부모 노드의 개수가 임계치 이하인 특이 노드인 경우, 상기 전송 지연 시간과 관계없이 상기 이웃 노드를 상기 대상 노드에 대한 자식 노드로 등록하는 것을 특징으로 하는 트리 생성 방법.
11. The method of claim 10, wherein selectively registering with the child node comprises:
Wherein the neighboring node is registered as a child node for the target node regardless of the transmission delay time if the number of candidate parent nodes to which the neighbor node is able to transmit data is less than or equal to a threshold value. .
제 10에 있어서, 상기 자식 노드로 선택적으로 등록하는 단계는,
상기 대상 노드의 자식 노드가 한계 자식 수 이상이 되면, 상기 이웃 노드를 상기 대상 노드의 자식 노드로 등록하지 않는 것을 특징으로 하는 트리 생성 방법.
The method of claim 10, wherein selectively registering with the child node comprises:
Wherein the neighbor node is not registered as a child node of the target node when the number of child nodes of the target node is equal to or greater than the number of children of the target node.
제 10항에 있어서, 상기 트리를 생성하는 단계는,
상기 이웃 노드가 상기 대상 노드의 자식 노드로 등록되었음을 통지하는 메시지를 상기 대상 노드로부터 임계거리 이내의 노드에 전송하도록 제어하는 단계를 더 포함하는 것을 특징으로 하는 트리 생성 방법.
11. The method of claim 10, wherein generating the tree comprises:
Further comprising the step of controlling to transmit a message informing that the neighbor node is registered as a child node of the target node to a node within a critical distance from the target node.
제 8에 있어서, 상기 트리를 생성하는 단계는,
상기 대상 노드의 자식 노드의 수가 상기 최대 자식 노드 수보다 크거나 같으면, 상기 대상 노드에 대한 이웃 노드가 상기 대상 노드를 후보 부모 리스트에서 제외하도록 제어하는 단계를 더 포함하는 것을 특징으로 하는 트리 생성 방법.
8. The method of claim 8,
Further comprising the step of controlling the neighboring node for the target node to exclude the target node from the candidate parent list if the number of child nodes of the target node is equal to or greater than the maximum number of child nodes .
KR1020170156531A 2017-11-22 2017-11-22 Method for generating of tree and scheduling KR101989148B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170156531A KR101989148B1 (en) 2017-11-22 2017-11-22 Method for generating of tree and scheduling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170156531A KR101989148B1 (en) 2017-11-22 2017-11-22 Method for generating of tree and scheduling

Publications (2)

Publication Number Publication Date
KR20190059021A true KR20190059021A (en) 2019-05-30
KR101989148B1 KR101989148B1 (en) 2019-06-13

Family

ID=66675431

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170156531A KR101989148B1 (en) 2017-11-22 2017-11-22 Method for generating of tree and scheduling

Country Status (1)

Country Link
KR (1) KR101989148B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102240504B1 (en) * 2019-10-15 2021-04-14 울산대학교 산학협력단 Method of organizing and controlling tree networks using lora communication technology
KR102252523B1 (en) 2019-11-28 2021-05-14 부산대학교 산학협력단 Devices and Techniques of Time Slot Type Change in TSCH Protocol
KR20210062368A (en) 2019-11-21 2021-05-31 부산대학교 산학협력단 A scheduling device and method using logical slotframe
KR20210155176A (en) * 2020-06-15 2021-12-22 울산대학교 산학협력단 Method and system of path collision aware real time link scheduling for time slotted channel hopping wireless networks

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090005555A (en) * 2007-07-09 2009-01-14 한국전자통신연구원 Method for avoiding and overcoming indirect collision in beacon-mode wireless sensor network
KR20100033683A (en) * 2008-09-22 2010-03-31 동명대학교산학협력단 The method for constructing sensor network tree structure
KR101533037B1 (en) * 2015-02-26 2015-07-01 성균관대학교산학협력단 Apparatus and method for scheduling of wireless sensor network
KR20160107597A (en) * 2015-03-04 2016-09-19 성균관대학교산학협력단 Broadcasting method in wireless sensor networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090005555A (en) * 2007-07-09 2009-01-14 한국전자통신연구원 Method for avoiding and overcoming indirect collision in beacon-mode wireless sensor network
KR20100033683A (en) * 2008-09-22 2010-03-31 동명대학교산학협력단 The method for constructing sensor network tree structure
KR101533037B1 (en) * 2015-02-26 2015-07-01 성균관대학교산학협력단 Apparatus and method for scheduling of wireless sensor network
KR20160107597A (en) * 2015-03-04 2016-09-19 성균관대학교산학협력단 Broadcasting method in wireless sensor networks

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102240504B1 (en) * 2019-10-15 2021-04-14 울산대학교 산학협력단 Method of organizing and controlling tree networks using lora communication technology
KR20210062368A (en) 2019-11-21 2021-05-31 부산대학교 산학협력단 A scheduling device and method using logical slotframe
KR102252523B1 (en) 2019-11-28 2021-05-14 부산대학교 산학협력단 Devices and Techniques of Time Slot Type Change in TSCH Protocol
KR20210155176A (en) * 2020-06-15 2021-12-22 울산대학교 산학협력단 Method and system of path collision aware real time link scheduling for time slotted channel hopping wireless networks

Also Published As

Publication number Publication date
KR101989148B1 (en) 2019-06-13

Similar Documents

Publication Publication Date Title
KR101989148B1 (en) Method for generating of tree and scheduling
Gandham et al. Distributed minimal time convergecast scheduling in wireless sensor networks
EP2109960B1 (en) Method for allocating a beacon slot using a beacon table in wireless personal area network (wpan) and wpan device
JP5598228B2 (en) Wireless terminal, accommodation terminal determination program, wireless network, and network configuration device
KR101933820B1 (en) How to manage a node's network, battery-powered nodes, and battery-powered nodes
JP4450035B2 (en) Intermittent operation communication device and communication system
JP2004336779A (en) Adaptive sleeping and wake-up protocol for high energy efficiency adhoc network
JP2009094896A (en) Radio device
US10763992B2 (en) Techniques for maintaining network connectivity in wireless mesh networks
CN106376054B (en) Dual-wifi system of mobile device and network connection control method
JP2010114766A (en) Information processing apparatus and method, program, and communication method
Gupta et al. Energy aware data collection in wireless sensor network using chain based PEGASIS
CN104798399A (en) Method for transmitting and receiving data
KR101533037B1 (en) Apparatus and method for scheduling of wireless sensor network
JP6039694B2 (en) Wireless scanning and advertisement in electronic devices
US8126005B2 (en) Beacon transmission method and beacon transmission apparatus
KR100918841B1 (en) A Head Node Election Method for Clustering in Wireless Seneor Network and thereof Wireless Seneor Network
JP2008228180A (en) Radio device
Mo et al. Infinite-horizon sensor scheduling for estimation over lossy networks
US9538365B2 (en) Method for transmitting and receiving data
WO2015009138A2 (en) A system and method for managing sleeping mode of wireless nodes in a wireless sensor network
CN112714454B (en) Monitoring method of wireless sensor network and related equipment
EP3573419B1 (en) Unreachable node recovery in wireless mesh networks
US11425024B2 (en) Thread network routing control
JP2004080228A (en) Wireless lan system and its access point selecting method

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