KR100846189B1 - Best Packet Time-To-Live for Route Discovery in ZigBee Mesh Networks - Google Patents

Best Packet Time-To-Live for Route Discovery in ZigBee Mesh Networks Download PDF

Info

Publication number
KR100846189B1
KR100846189B1 KR1020060134874A KR20060134874A KR100846189B1 KR 100846189 B1 KR100846189 B1 KR 100846189B1 KR 1020060134874 A KR1020060134874 A KR 1020060134874A KR 20060134874 A KR20060134874 A KR 20060134874A KR 100846189 B1 KR100846189 B1 KR 100846189B1
Authority
KR
South Korea
Prior art keywords
depth
destination node
value
address
node
Prior art date
Application number
KR1020060134874A
Other languages
Korean (ko)
Other versions
KR20080060588A (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 KR1020060134874A priority Critical patent/KR100846189B1/en
Publication of KR20080060588A publication Critical patent/KR20080060588A/en
Application granted granted Critical
Publication of KR100846189B1 publication Critical patent/KR100846189B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/286Time to live
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/681Types of network addresses using addresses for wireless personal area networks or wireless sensor networks, e.g. Zigbee addresses
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

지그비 메쉬 네트워크의 경로 탐색 초기화 시 최적 패킷유지시간 설정 방법이 제공된다. 본 발명의 일 실시예에 따른 지그비 네트워크의 경로 탐색 초기화 시 최적 패킷유지시간 설정 방법은, 소스 노드의 깊이(SrcDepth), 소스 노드의 주소(SrcAddr) 및 목적지 노드의 주소(DstAddr) 정보를 입력받는 단계; 현재 깊이(CurDepth), 목적지 노드 깊이의 상한(UpperBound)과 하한(LowerBound) 값, 최대 라우터 개수(Rm)를 상한으로 하는 반복 루프 값 (RouterIndex) 및 소스와 목적지 노드 사이의 중첩 가지 수(inhValue) 값을 임시 변수로 초기화시켜 설정하는 단계; 상기 입력 정보 및 상기 설정된 변수들을 이용하여 상기 목적지 노드의 깊이를 탐색하는 단계; 및 상기 탐색의 결과 상기 목적지 노드의 깊이 값이 확정되면, 하기의 <수학식>에 의해 패킷유지시간을 설정하는 단계를 포함한다.An optimal packet holding time setting method is provided for initializing path discovery of a Zigbee mesh network. In the Zigbee network path initialization initialization method according to an embodiment of the present invention, the method for setting an optimal packet holding time may include receiving depth ( SrcDepth ) of the source node, address ( SrcAddr ) of the source node, and address ( DstAddr ) of the destination node. step; The current depth ( CurDepth ), the upper and lower bounds of the destination node depth ( UpperBound ) and the lower bound ( LowerBound ), the iterative loop value ( RouterIndex ) with the maximum number of routers ( Rm ) as the upper limit, and the number of overlapping branches between the source and destination nodes ( inhValue ). Initializing and setting a value to a temporary variable; Searching for a depth of the destination node using the input information and the set variables; And if the depth value of the destination node is determined as a result of the search, setting the packet holding time by the following Equation.

[수학식][Equation]

Figure 112006096939714-pat00001
Figure 112006096939714-pat00001

(D s 는 코디네이터에서 소스 노드까지의 깊이, D d 는 코디네이터에서 목적지 노드까지의 깊이, V i 는 지그비 네트워크의 트리 구조상으로 소스와 목적지 사이의 중첩되는 가지(Branch)의 개수) ( D s is the depth from the coordinator to the source node, D d is the depth from the coordinator to the destination node, and V i is the number of branches overlapping between the source and destination in the Zigbee network tree structure)

지그비, 패킷유지시간(TTL), 경로 탐색, 노드 깊이 ZigBee, Packet Duration (TTL), Path Discovery, Node Depth

Description

지그비 메쉬 네트워크의 경로 탐색 초기화 시 최적 패킷유지시간 설정 방법{Best Packet Time-To-Live for Route Discovery in ZigBee Mesh Networks}Best Packet Time-To-Live for Route Discovery in ZigBee Mesh Networks}

도 1은 본 발명의 일 실시예에 따른 지그비 네트워크의 경로 탐색 초기화 시 최적 패킷유지시간 설정 방법에 적용되는 노드 깊이 계산 과정을 나타낸 흐름도이다.1 is a flowchart illustrating a node depth calculation process applied to a method for setting an optimal packet holding time when a path discovery is initialized in a Zigbee network according to an exemplary embodiment of the present invention.

도 2 및 도 3은 각각 상기 도 1의 알고리즘에 의해 임의의 목적지 노드에 대한 깊이 탐색을 수행하는 과정을 나타낸 예시도이다.2 and 3 are exemplary views illustrating a process of performing a depth search for an arbitrary destination node by the algorithm of FIG. 1, respectively.

본 발명은 지그비 메쉬 네트워크의 경로 탐색 초기화 시 최적 패킷유지시간 설정 방법에 관한 것으로, 더욱 상세하게는, 지그비 네트워크를 구성하고 있는 노드들이 경로 초기화시 설정하는 TTL(Packet Time-To-Live: 패킷 유지시간) 값의 최적화 결정 방법에 관한 것이다. The present invention relates to a method for setting an optimal packet retention time when initializing a path search of a Zigbee mesh network. More specifically, a packet time-to-live (TTL) packet configured by a node constituting a Zigbee network at path initialization is maintained. Time) value determination method.

지그비(ZigBee)란, 저전력, 저비용 및 데이터 발생률이 적은 민간 및 산업 전반에 걸친 무선 응용 서비스를 겨냥하여 개발된 무선 통신 기술이다. ZigBee is a wireless communications technology developed for low power, low cost, and low data generation private and industrial wireless application services.

지그비는, 지그비의 네트워크 이하 계층인 물리 계층과 매체 접근 제어 계층 을 정하는 IEEE 802.15.4 표준을 기반으로 상위 계층인 네트워크, 보안 및 응용 계층에 대해서 정의한다. ZigBee defines ZigBee's network, security, and application layers, which are based on the IEEE 802.15.4 standard, which defines the physical and media access control layers.

이러한 지그비에 적용된는 디바이스 노드는 역할에 따라 PAN 코디네이터(Coordinator), 라우터(Router) 및 종단 디바이스(End Device)와 같은 3가지의 형태로 분류된다.Device nodes applied to Zigbee are classified into three types according to their roles: PAN coordinator, router, and end device.

코디네이터 및 라우터는 지그비 네트워크의 새로운 PAN(Personal Area Network)을 형성하거나 멀티홉 데이터 전송을 위한 라우터 기능을 가진 노드로써, 지그비 네트워크에 참여하는 새로운 지그비 노드들에 대하여 네트워크 파라미터 설정에 근거한 주소 할당 능력에 따라 새로운 주소를 할당해 주거나, 최적 경로를 설정하기 위한 경로 탐색 수행에 참여하는 자격을 가진다. The coordinator and router are nodes that form a Zigbee Network's new Personal Area Network (PAN) or have a router function for multi-hop data transmission. Therefore, it is entitled to assign a new address or to perform a route search to set an optimal route.

이와 달리, 종단 디바이스는 코디네이터 혹은 라우터의 기능을 최소화한 노드로써, 주소를 할당하는 능력이 없을 뿐만 아니라 멀티홉 전송을 지원하지 않으므로 경로 탐색 수행에 참여하지 못한다. In contrast, the end device is a node that minimizes the function of the coordinator or the router. The end device is not capable of assigning an address and does not support multi-hop transmission and thus does not participate in path discovery.

지그비 네트워크의 각 노드의 주소는 16비트 short address를 갖는다. Each node in the Zigbee Network has a 16-bit short address.

지그비 PAN 코디네이터는 지그비 네트워크의 형성자이므로 항상 16진수 값인 0x0000의 주소를 가지며, 이후 참여하는 노드들에 대하여 코디네이터와 종단 디바이스 별로 수식화된 주소 공식에 따라 계층적으로 주소를 할당하게 된다. Since Zigbee PAN coordinator is the creator of Zigbee network, it always has hexadecimal value of 0x0000 and then assigns hierarchically to participating nodes according to the formula formulated by coordinator and end device.

코디네이터 및 라우터 이하 라우터로써 참여하는 자식 노드들은 부모 노드로부터 다수의 16비트 short address를 담고 있는 주소 블럭(Address Block)을 할당받는다. Child nodes participating as coordinators and routers under the router are allocated an address block containing a plurality of 16-bit short addresses from a parent node.

상기 주소 블록을 할당받은 자식 노드는 상기 주소 블록 상에서 최우선한 주소값을 자신의 16비트 Short Address로써 설정한다. The child node allocated with the address block sets the highest priority address on the address block as its 16-bit short address.

상기 주소 블럭을 구하기 위해서는 우선 부모 노드들이 가지고 있는 자신의 깊이(d) 값에 대해서 할당할 수 있는 자식의 최대 개수를 나타내는 Cskip(d) 값이 필요하다. In order to obtain the address block, first, a Cskip (d) value indicating the maximum number of children that can be allocated to its own depth d value of the parent nodes is required.

Cskip(d) 값은 자식의 최대 라우터 개수(nwkMaxRouters: Rm), 최대의 자식 노드 수(nwkMaxChildren: Cm) 및 최대 자식의 깊이(nwkMaxDepth: Lm) 등의 네트워크 파라미터 설정값에 따라 아래의 [수학식 1]의 공식에 의해 계산될 수 있다. The value of Cskip (d) is expressed according to the following equation according to the network parameter settings such as the maximum number of routers (nwkMaxRouters: Rm), the maximum number of child nodes (nwkMaxChildren: Cm), and the depth of the maximum children (nwkMaxDepth: Lm). It can be calculated by the formula of 1].

이하 부모 노드는 참여하는 자식 노드의 순서대로 CSkip(자신의 깊이)값의 범위 만큼 상응하는 주소 블록을 할당하게 된다. Hereinafter, the parent node allocates corresponding blocks of CSkip (its depth) values in the order of participating child nodes.

Figure 112006096939714-pat00002
Figure 112006096939714-pat00002

코디네이터 및 라우터 이하 종단 디바이스로써 참여하는 자식 노드들은 부모 노드로부터 다음의 [수학식 2]의 공식에 의한 하나의 16비트 Short Address를 할당 받는다. Child nodes participating as coordinator and subordinate end devices are allocated one 16-bit short address according to the following formula (2) from the parent node.

[수학식 2]에서 n은 자식으로 참여하는 노드들의 순서를 의미하며, 1이상 (Cm-Rm)이하의 범위에서 주소를 할당 받게 된다. In Equation 2, n denotes the order of nodes participating as children, and an address is assigned in the range of 1 or more (Cm-Rm) or less.

Figure 112006096939714-pat00003
Figure 112006096939714-pat00003

지그비 메쉬 네트워크의 라우팅은 AODV 기반의 프로토콜로 구성된다. The routing of Zigbee mesh network consists of AODV based protocol.

AODV는 소스와 목적지 노드 간 최적의 경로를 형성하기 위해 소스 노드로부터 브로드캐스팅 된 경로 요청 메시지에 대하여, 목적지 노드에서 유니캐스팅 된 경로 응답 메시지를 통해 경로를 확립하는 라우팅 프로토콜이다. AODV is a routing protocol that establishes a route through a unicast route response message at the destination node for a route request message broadcast from the source node to form an optimal route between the source and destination nodes.

따라서, AODV 기반의 지그비 라우팅 프로토콜은 이와 동일하게 경로 탐색을 수행 시, 네트워크 계층에서 경로탐색 제어 메시지를 생성하여 네트워크로 브로드캐스팅 한다. Accordingly, the AODV-based Zigbee routing protocol similarly generates a path discovery control message at the network layer and broadcasts it to the network when performing path discovery.

이때, 경로탐색 제어 메시지 헤더(header) 내에 포함되는 TTL 값은, 지그비의 디폴트(default) 최대 깊이(nwkMaxDepth)의 2배인 2 × nwkMaxDepth 값으로 설정된다. At this time, the TTL value included in the path search control message header is set to a 2 × nwkMaxDepth value that is twice the default maximum depth nwkMaxDepth of ZigBee.

상술한 바와 같이, 종래의 지그비 네트워크에서는 모든 디바이스에 대해 경로 탐색 메시지를 브로드캐스트 방식으로 전송하기 때문에, 많은 경로탐색 제어 메시지 등의 메시지 전송으로 인해 네트워크의 오버헤드가 발생될 가능성이 있었다.As described above, since the conventional Zigbee network transmits the path discovery message to all devices in a broadcast manner, there is a possibility that network overhead occurs due to the transmission of a large number of path discovery control messages and the like.

또한, 최대 TTL 값 설정으로 인한 불필요한 노드의 경로 탐색 수행에 참여를 통해 노드의 에너지 소모를 촉진함은 물론 기타 데이터 전송의 흐름을 방해하는 요인으로 작용할 수 있기 때문에 네트워크 성능 저하 등의 문제가 상존했다. In addition, by participating in unnecessary node path search due to setting the maximum TTL value, there is a problem such as degrading network performance because it can act as a factor to hinder the energy consumption of the node and hinder the flow of other data transmission. .

따라서, 경로 탐색 초기화 시 적정한 패킷유지시간 설정을 통해 브로드캐스팅에 의한 네트워크 부하를 줄일 수 있도록 하기 위한 방안이 요구되고 있다.Therefore, there is a demand for a method for reducing network load due to broadcasting by setting an appropriate packet holding time at the time of path discovery initialization.

본 발명이 이루고자 하는 기술적 과제는, 지그비 메쉬 네트워크를 구성하고 있는 노드들이 경로 초기화시 설정하는 TTL(Packet Time-To-Live: 패킷 유지시간) 값의 최적화 결정 방법을 제공하는 것이다.An object of the present invention is to provide a method for determining an optimization of a packet time-to-live (TTL) value which is set at the time of path initialization by nodes constituting a Zigbee mesh network.

본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어질 수 있을 것이다. The objects of the present invention are not limited to the above-mentioned objects, and other objects which are not mentioned will be clearly understood by those skilled in the art from the following description.

상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 지그비 메쉬 네트워크의 경로 탐색 초기화 시 최적 패킷유지시간 설정 방법은, 소스 노드의 깊이(SrcDepth), 소스 노드의 주소(SrcAddr) 및 목적지 노드의 주소(DstAddr) 정보를 입력받는 단계; 현재 깊이(CurDepth), 목적지 노드 깊이의 상한(UpperBound)과 하한(LowerBound) 값, 최대 라우터 개수(Rm)를 상한으로 하는 반복 루프 값 (RouterIndex) 및 소스와 목적지 노드 사이의 중첩 가지 수(inhValue) 값을 임시 변수로 초기화시켜 설정하는 단계; 상기 입력 정보 및 상기 설정된 변수들을 이용하여 상기 목적지 노드의 깊이를 탐색하는 단계; 및 상기 탐색의 결과 상기 목적지 노드의 깊이 값이 확정되면, 하기의 <수학식>에 의해 패킷유지시간을 설정하는 단계를 포함한다.In order to achieve the above object, the optimal packet holding time setting method in the path discovery initialization of the Zigbee mesh network according to an embodiment of the present invention, the depth of the source node ( SrcDepth ), the address of the source node ( SrcAddr ) and the destination node Receiving address ( DstAddr ) information; The current depth ( CurDepth ), the upper and lower bounds of the destination node depth ( UpperBound ) and the lower bound ( LowerBound ), the iterative loop value ( RouterIndex ) with the maximum number of routers ( Rm ) as the upper limit, and the number of overlapping branches between the source and destination nodes ( inhValue ). Initializing and setting a value to a temporary variable; Searching for a depth of the destination node using the input information and the set variables; And if the depth value of the destination node is determined as a result of the search, setting the packet holding time by the following Equation.

[수학식][Equation]

Figure 112006096939714-pat00004
Figure 112006096939714-pat00004

(D s 는 코디네이터에서 소스 노드까지의 깊이, D d 는 코디네이터에서 목적지 노드까지의 깊이, V i 는 지그비 네트워크의 트리 구조상으로 소스와 목적지 사이의 중첩되는 가지(Branch)의 개수)( D s is the depth from the coordinator to the source node, D d is the depth from the coordinator to the destination node, and V i is the number of branches overlapping between the source and destination in the Zigbee network tree structure)

여기서, 상기 목적지 노드의 깊이를 탐색하는 단계는, 상기 반복 루프 값(RouterIndex)이 상기 최대 라우터 개수(Rm) 미만인 범위 내에서, 상기 반복 루프 값(RouterIndex) 및 상기 목적지 노드 깊이의 하한(LowerBound) 값을 증가시켜가면서 상기 소스 노드의 주소(SrcAddr) 존재 범위를 결정하는 단계; 상기 소스 노드의 주소(SrcAddr) 존재 범위에 대응되도록 상기 소스와 목적지 노드 사이의 중첩 가지 수(inhValue) 변수를 조절하면서, 상기 목적지 노드의 주소(DstAddr) 존재 범위를 확인하는 단계; 상기 목적지 노드의 주소(DstAddr)가 상기 목적지 노드 깊이의 상한(UpperBound)과 하한(LowerBound) 값 사이에 위치하고, 상기 목적지 노드의 주소(DstAddr)가 상기 목적지 노드 깊이의 하한(LowerBound) 값과 동일할 경우 상기 목적지 노드의 깊이 값을 확정하는 단계를 포함할 수 있다.Here, the steps of the iteration loop value (RouterIndex) is in the range of less than the maximum router number (Rm), the repeat loop value (RouterIndex) and lower limit (LowerBound) of the destination node depth of searching the depth of the destination node the step of going to increase the value determines the address (SrcAddr) existence range of the source node; Confirming an address ( DstAddr ) presence range of the destination node while adjusting an inhValue variable between the source and destination nodes so as to correspond to the address ( SrcAddr ) existence range of the source node; Address of the destination node (DstAddr) is located between the destination node upper bound (UpperBound) and lower (LowerBound) value of the depth, of the destination node address (DstAddr) is the equal to the lower limit (LowerBound) Value of the destination node depth In this case, the method may include determining a depth value of the destination node.

이때, 상기 목적지 노드의 주소(DstAddr)가 상기 목적지 노드 깊이의 하한(LowerBound) 값과 동일하지 않을 경우, 현재 깊이(CurDepth) 및 상기 목적지 노드 깊이의 하한(LowerBound) 값 변수를 증가시켜 재설정한 후, 상기 재설정된 변수를 이용하여 상기 목적지 노드의 깊이 탐색 단계를 재수행하는 것이 좋다.In this case, when the address DstAddr of the destination node is not equal to the LowerBound value of the destination node depth, the current node Curdepth and the LowerBound value variable of the destination node depth are increased and reset. Preferably, the depth search step of the destination node is performed again using the reset variable.

또한, 본 발명의 일 실시예에 따른 지그비 메쉬 네트워크의 경로 탐색 초기화 시 최적 패킷유지시간 설정 방법은, 상기 반복 루프 값(RouterIndex)이 상기 최대 라우터 개수(Rm) 미만인 범위 내에서 상기 목적지 노드의 깊이 값이 확정되지 않을 경우, 상기 목적지 노드의 주소(DstAddr)가 종단 디바이스에 존재하는지 판단하는 단계; 및 상기 판단의 결과 상기 목적지 노드의 주소(DstAddr)가 종단 디바이스에 존재하면 이를 이용하여 상기 목적지 노드의 깊이 값을 확정하고, 존재하지 않으면 유효하지 않은 주소 정보임을 알람하는 단계를 더 포함할 수 있다.In addition, in one embodiment the route search of the ZigBee mesh network according to an initialized at optimum packet holding time setting method of the present invention, the repeat loop value (RouterIndex) the depth of the destination node to the extent of less than the maximum router number (Rm) If the value is not determined, determining whether an address DstAddr of the destination node exists in an end device; And if the address DstAddr of the destination node exists in an end device as a result of the determination, determining the depth value of the destination node by using the same, and if not, alarming that the address information is invalid. .

상기의 모든 과정에 있어, 상기 목적지 노드 깊이의 상한(UpperBound) 값 변수는 상기 목적지 노드 깊이의 하한(LowerBound) 값 변수에 의존적으로 설정되는 것이 바람직하다.In all the above process, the upper limit (UpperBound) variable value of the destination node depth is preferably set to the dependent lower limit (LowerBound) variable value of the destination node depth.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Specific details of other embodiments are included in the detailed description and the drawings.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있을 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것으로, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be embodied in various forms, and the present embodiments are merely provided to make the disclosure of the present invention complete and the general knowledge in the art to which the present invention belongs. It is provided to fully inform the person having the scope of the invention, the invention is defined only by the scope of the claims. Like reference numerals refer to like elements throughout.

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

상기와 같은 본 발명의 패킷유지시간 설정을 위해서는 먼저, 소스 노드로부터 목적지 노드까지의 최대 TTL을 설정해야 한다. In order to set the packet holding time of the present invention as described above, first, the maximum TTL from the source node to the destination node should be set.

지그비 네트워크는 계층적 주소를 할당받기 때문에, 소스 노드로부터 목적지 주소까지의 TTL 값의 상한은, 주소 0x0000으로 설정된 코디네이터를 기점으로 소스 노드까지의 거리와 목적지 노드까지의 거리를 합한 값으로 간주할 수 있다. Since the Zigbee Network is assigned a hierarchical address, the upper limit of the TTL value from the source node to the destination address can be regarded as the sum of the distance from the source node to the destination node starting from the coordinator set to address 0x0000. have.

Figure 112006096939714-pat00005
Figure 112006096939714-pat00005

상기 [수학식 3]은 TTL 최대값을 설정하는 수식이다. Equation 3 is a formula for setting the TTL maximum value.

D s 는 코디네이터에서 소스 노드까지의 깊이를 나타내고, D d 는 코디네이터에서 목적지 노드까지의 깊이를 나타낸다. 마지막으로 V i 는 지그비 네트워크의 트리 구조상으로 소스와 목적지 사이의 중첩되는 가지(Branch)의 개수를 나타낸다. D s represents the depth from the coordinator to the source node, and D d represents the depth from the coordinator to the destination node. Finally, V i represents the number of branches overlapping between the source and the destination in the tree structure of the Zigbee network.

지그비 네트워크에서 경로 탐색 메시지를 보낼 때 TTL값을 설정하기 위해서는 코디네이터에서 소스 노드와 목적지 노드의 깊이를 측정할 수 있어야만 하는데, D s 는 이미 알고 있기 때문에 D d 값만 계산하면 된다. In order to set a TTL value to send the route search message from the ZigBee network to be able to measure the depth of the source and the destination nodes in the coordinator, D s is the calculation known because D d values.

이때, 소스와 목적지 노드는 서로 같은 중첩되는 가지에 위치할 수 있으므로, 이 중첩되는 가지에 대해서 고려할 필요성이 있다. 따라서, V i 값 역시 계산되어야 한다. In this case, since the source and destination nodes may be located on the same overlapping branch, it is necessary to consider the overlapping branch. Therefore, the V i value must also be calculated.

도 1은 본 발명의 일 실시예에 따른 지그비 네트워크의 경로 탐색 초기화 시 최적 패킷유지시간 설정 방법에 적용되는 노드 깊이 계산 과정을 나타낸 흐름도이다. 즉, 도 1은 목적지 주소를 입력받아 코디네이터에서 목적지 노드까지의 깊이를 계산함으로써 최대 TTL 값을 찾는 알고리즘의 일 예를 나타낸다. 1 is a flowchart illustrating a node depth calculation process applied to a method for setting an optimal packet holding time when a path discovery is initialized in a Zigbee network according to an exemplary embodiment of the present invention. That is, FIG. 1 illustrates an example of an algorithm for finding a maximum TTL value by receiving a destination address and calculating a depth from a coordinator to a destination node.

도 1에 도시된 바와 같이, SrcDepth(소스 노드의 깊이), SrcAddr(소스 노드의 16비트 Short Address) 및 DstAddr(목적지 노드의 16비트 Short Address) 값이 입력되면(S110), 목적지 노드의 깊이 계산을 위해 CurDepth(현재 깊이)라는 임시 변수를 정의하고, 코디네이터 이하 노드들에서 깊이 탐색이 수행되므로 그 값을 1로 초기화 한다(S120). As shown in FIG. 1, when the values of SrcDepth (depth of the source node), SrcAddr (16-bit Short Address of the source node) and DstAddr (16-bit Short Address of the destination node) are input (S110), the depth of the destination node is calculated. For this, define a temporary variable called CurDepth (current depth), and initialize the value to 1 since the depth search is performed at nodes below the coordinator (S120).

또한, 지그비 노드의 네트워크 주소에 있어 라우터의 주소의 경우는 각 깊이에 따라 주소 블록에 의해 범위로 한정되므로, 깊이 값에 따라 목적지 주소를 결정하기 위해 LowerBoundUpperBound라는 임시 변수를 정의하고, 계산 수행을 위해 각각 0x0001과 0x0000으로 초기화한다. In addition, since Zigbee node's network address is limited by range of address block according to each depth, define temporary variables called LowerBound and UpperBound to determine destination address according to depth value. Initialize with 0x0001 and 0x0000 respectively.

또한, 각각의 깊이에 대해 최대 라우터의 개수인 Rm만큼의 루프 수행을 위해서 RouterIndex의 변수를 갖고 값을 0으로 초기화한다. In addition, in order to perform as many loops as the maximum number of routers Rm for each depth, the value of RouterIndex is initialized to 0.

마지막으로, 소스 및 목적지 노드와의 중첩되는 가지를 계산하기 위하여 inhValue srcInSameBrch라는 임시 변수를 정의하고 그 값을 각각 0과 false로 초기화한다(S120). Finally, inhValue and in order to calculate the overlapping branches with the source and destination nodes A temporary variable called srcInSameBrch is defined and its value is initialized to 0 and false, respectively (S120).

이후, 상기와 같이 초기화된 각 임시변수를 가지고 깊이에 따른 목적지 노드의 깊이 탐색을 시작한다. Then, the depth search of the destination node according to the depth is started with each temporary variable initialized as described above.

우선, 주소의 LowerBound에 상응하는 UpperBound 값을 설정하기 위해 상기 LowerBound 값에 CSkip 값을 더한다(S130). First, UpperBound corresponding to the address LowerBound CSkip to the LowerBound value to set the value The value is added (S130).

여기서, CSkip 값은 부모 입장에서 자식이 되는 목적지 노드의 주소의 범위를 나타내므로, 현재 탐색중인 깊이 값을 나타내는 CurDpeth에 1을 감소시킨 값을 계산해야 한다. 예를 들어, 깊이 1에서 UpperBound에 주소를 설정하기 위해서는 깊이 0의 CSkip 값이 필요하다. Where CSkip Since the value represents the range of addresses of the destination node that is the child from the parent's point of view, we need to calculate a value of 1 for CurDpeth which represents the depth value currently being searched for. For example, to set the address at UpperBound at depth 1, CSkip at depth 0. You need a value.

다음으로, 소스가 목적지 노드가 위치하는 같은 주소 구간 내에 있을 경우 중첩되는 가지의 개수를 계산하기 위하여, 소스 노드의 주소가 상기 과정에서 설정된 LowerBoundUpperBound 범위에 존재하는지 판단한다(S140). 그리고, 상기 판단(S140)의 결과 만일 소스가 해당 구간내에 있을 경우 srcInSameBrch 값을 True로 설정한다(S141). Next, in order to calculate the number of overlapping branches when the source is in the same address range where the destination node is located, the LowerBound and UpperBound address of the source node is set in the above process. It is determined whether there is a range (S140). As a result of the determination (S140), if the source is in the corresponding section, srcInSameBrch Value to True It is set (S141).

이어서, 목적지 노드가 위치하는 구간을 추정하기 위해, 상기 설정된 LowerBoundUpperBound를 비교한다(S150). 이때, 만일 목적지 노드가 상기 범위 내에 위치하면 srcInSameBrch값이 true인지 확인한다(S151). 그리고 상기 판단(S151)의 결과 소스가 목적지와 같은 구간에 있을 경우, 같은 중첩된 가지에 있 으므로 inhvalue를 증가시키고 srcInSameBrch값을 false로 초기화시킨다 (S154).Subsequently, in order to estimate the section in which the destination node is located, the set LowerBound and UpperBound are compared (S150). At this time, if the destination node is located within the range, it is checked whether the srcInSameBrch value is true (S151). When the result source of the determination (S151) is in the same section as the destination, since the source is in the same overlapped branch, the inhvalue is increased and the srcInSameBrch value is initialized to false (S154).

이어서, 목적지 노드의 주소가 LowerBound와 일치하는지 여부를 판단한다(S152). Subsequently, it is determined whether the address of the destination node matches LowerBound (S152).

여기서, 목적지 노드의 주소가 현재 설정된 LowerBound 값과 일치하면 현재 탐색중인 깊이를 나타내는 CurDepth는 목적지 노드의 깊이가 되므로, SrcDepthCurDepth를 더한 값에 현재까지 중첩된 가지의 개수를 감소시키기 위해, 현재까지 저장된 inhValue 값에 2를 곱한 값을 빼 최적의 maxTTL 값을 계산한다(S180). Where LowerBound is currently set to the address of the destination node If the match values CurDepth the depth that is currently browsing is because the depth of the destination node, in order to reduce the current of a number of nested up to the sum of the SrcDepth and CurDepth, stored so far inhValue Optimal maxTTL by subtracting the value multiplied by 2 The value is calculated (S180).

만일, 상기 S151 과정에서 LowerBound와 목적지 주소가 일치하지 않으면 현재 깊이 내에 목적지 주소가 위치하지 않는 것이기 때문에, 다음 깊이의 위치하는 첫 번째 주소를 나타내는 LowerBound와 다음 깊이를 위한 CurDepth에 대한 값들을 각각 1씩 증가시켜 상기 S130의 과정을 반복한다(S153). If the LowerBound and the destination address do not match in the process S151, since the destination address is not located in the current depth, the values for the LowerBound and the CurDepth for the next depth are 1 for each of the next address. The process of S130 is repeated to increase (S153).

상기 S150 과정에서 목적지 주소가 LowerBoundUpperBound 이내에 존재하지 않으면 RouterIndex 값이 최대 라우터 개수를 넘어섰는가를 판단한다(S160). In step S150, the destination address is LowerBound and UpperBound. RouterIndex if not present within It is determined whether the value exceeds the maximum number of routers (S160).

그 결과, 현재 RouterIndex 값이 Rm 이내인 경우 현재 깊이에서 다음번 라우터의 시작주소를 탐색하기 위해 RouterIndex 값을 1 증가시키며, LowerBound에 현재 설정된 UpperBound 값을 저장한 후 상기 S130의 과정을 반복한다(S161). As a result, the current RouterIndex The value is Rm If within, RouterIndex is used to find the starting address of the next router in the current depth. The value is increased by 1 and the process of step S130 is repeated after storing the currently set UpperBound value in LowerBound (S161).

상기 S160 과정에서 RouterIndexRm을 초과하는 경우에는, 라우터에 대한 주소 탐색이 끝난 것이기 때문에 종단 디바이스를 위한 탐색을 수행한다.When RouterIndex exceeds Rm in step S160, since the address search for the router is finished, the search for the end device is performed.

종단 디바이스는 현재 저장된 UpperBound 이상의 UpperBoundCm을 더한값에 Rm을 뺀 범위 이내에 존재하므로, 목적지 주소가 이 범위에 존재하는지 판단한 다(S170). End device is currently stored UpperBound ideal Since the value of the UpperBound and the Cm is added to the range obtained by subtracting the Rm , it is determined whether the destination address exists in this range (S170).

상기 판단(S170)의 결과 만일 종단 디바이스가 이 범위내에 존재하면, CurDepth 값이 목적지 노드가 갖는 깊이 값이므로 상기 S180 과정을 거쳐서 최적의 maxTTL 값을 계산한다. 만일 이 범위 이내에 목적지 주소가 존재하지 않으면 이는 유효하지 않은 주소를 의미하므로 에러 메시지를 출력하고 계산을 종료한다. If the end device is within this range as a result of the determination (S170), CurDepth Since the value is a depth value of the destination node, the optimal maxTTL is passed through the step S180. Calculate the value. If the destination address does not exist within this range, it means an invalid address and an error message is output and the calculation is terminated.

도 2 및 도 3은 각각 상기 도 1의 알고리즘에 의해 임의의 목적지 노드에 대한 깊이 탐색을 수행하는 과정을 나타낸 예시도로써, 도 2는 소스 노드와 목적지 노드가 서로 다른 가지에 위치한 경우를, 도 3은 소스 노드와 목적지 노드가 중첩된 가지에 위치한 경우를 나타낸다.  2 and 3 are exemplary diagrams illustrating a process of performing a depth search for an arbitrary destination node by the algorithm of FIG. 1, and FIG. 2 illustrates a case where a source node and a destination node are located on different branches. 3 shows a case where the source node and the destination node are located in overlapping branches.

도 2 및 도 3에 있어 각각의 수행 예의 네트워크 초기 상수는 아래와 같다고 가정한다. In FIG. 2 and FIG. 3, it is assumed that the network initial constants of each implementation example are as follows.

1) nwkMaxDepth(최대노드깊이) = 3 1) nwkMaxDepth = 3

2) nwkMaxChildren(최대자식개수) = 8 2) nwkMaxChildren (maximum number of children) = 8

3) nwkMaxRouters(최대라우터개수) = 4 3) nwkMaxRouters = 4

이러한 수행예의 이해를 돕기 위해 도 2와 도 3의 상단에 각 깊이에 따른 Cskip 값들을 미리 테이블로 나타내었다. To help understand this embodiment, Cskip values for each depth are shown in a table in advance at the top of FIGS. 2 and 3.

먼저, 중첩된 가지가 없는 경우인 도 2를 참조하면, 노드 120이 노드 71에게 데이터를 전송하는 경우, 상기 노드 120은 노드 71의 깊이를 탐색하기 위해 PAN 코디네이터의 주소인 0x0000을 시작으로 노드의 깊이를 계산하는 알고리즘을 수행한다. First, referring to FIG. 2, where there are no overlapping branches, when node 120 transmits data to node 71, the node 120 starts with 0x0000, the address of the PAN coordinator, to search for the depth of node 71. Perform an algorithm to calculate depth.

즉, 도 1에서 설명한 바와 같이, 먼저 SrcDepth , SrcAddr , DstAddr에 각각 2, 120, 71을 입력하고, CurDepth , LowerBound , UpperBound , RouterIndex , inhValue값을 각각 1, 0x0001, 0x0000, 0, 0으로 초기화 한다. That is, as described in FIG. 1, first , 2, 120, and 71 are input to SrcDepth , SrcAddr , and DstAddr , respectively, and the CurDepth , LowerBound , UpperBound , RouterIndex , and inhValue values are initialized to 1, 0x0001, 0x0000, 0, 0, respectively. .

다음, LowerBound에 상응하는 UpperBound를 구하기 위하여 LowerBound 값 0x0001과 Cskip( CurDepth -1) 값을 더해서 구한다. 이때, Cskip (0)은 41이므로 UpperBound는 42로 할당된다. Next, LowerBound to save the UpperBound corresponding to LowerBound This is obtained by adding the value 0x0001 and the value of Cskip ( CurDepth- 1) . At this time, since Cskip (0) is 41, UpperBound is assigned to 42.

그리고, SrcAddr 값 120이 LowerBoundUpperBound 사이에 있는지 확인하는데, 이 경우 120은 이 값들의 사이에 위치하지 않기 때문에 inhValue 값을 증가시키지 않는다. And SrcAddr Check that the value 120 is between LowerBound and UpperBound , in which case 120 does not increase the value of inhValue because it is not between these values.

이어서, DstAddr 값 71이 LowerBoundUpperBound의 사이에 있는지 확인하는데, 71 또한 이들 사이에 있지 않기 때문에 라우터 인덱스 값이 최대 라우터 개수를 넘지 않는지 확인한다. Then, DstAddr It checks whether the value 71 is between LowerBound and UpperBound , and since 71 is also not between them, check that the router index value does not exceed the maximum number of routers.

여기서, 상기 라우터 인덱스의 값은 0이므로 이를 1 증가시키고 UpperBoundLowerBound에 대입한 후 처음으로 돌아간다. In this case, since the value of the router index is 0, the value of the router index is increased by 1 and the upper bound is replaced by the LowerBound , and then returned to the beginning.

따라서, LowrBoundUpperBound는 각각 42, 83이 된다. Therefore, LowrBound and UpperBound are 42 and 83, respectively.

다시, SrcAddr 값 120이 LowerBoundUpperBound 사이에 있는지 확인한다. 그런데 120은 이들 사이에 있지 않으므로 inhValue 값을 변경하지 않고, 바로 다시 DstAddr 값 71이 LowerBoundUpperBound의 사이에 있는지 여부를 확인한다. again, Srcaddr Check that the value 120 is between LowerBound and UpperBound . But 120 is not between them inhValue DstAddr again without changing the value Check if the value 71 is between LowerBound and UpperBound .

이때, 71은 LowerBoundUpperBound 사이에 위치됨을 확인할 수 있다. 이에 따라, 다음으로는 LowerBound와 71이 동일한지 확인하게 되는데, 71은 LowerBound 값과 다르기 때문에 CurDepth를 1 증가시키고 LowerBound도 1 증가 시킨다. 71 represents LowerBound and UpperBound You can see that it is located in between. So, next, we check to see if LowerBound and 71 are equal, where 71 is LowerBound. Because it is different from the value, we increase the CurDepth by 1 LowerBound also increases by 1.

여기서 CurDepth는 2가 되고 LowerBound는 43이 된다. CurDepth is 2 and LowerBound is 43.

이어서, LowerBound에 상응하는 UpperBound를 구하면, LowerBoundCskip(CurDepth-1)을 더한 값인 52가 된다. CurDepth는 2이므로 Cskip (1) 값인 9를 더한 것이다. Then ask the UpperBound corresponding to LowerBound, is a value of 52 plus the LowerBound and Cskip (CurDepth-1). Since CurDepth is 2 Cskip (1) plus 9.

DstAddr인 71이 LowerBoundUpperBound 사이에 위치될 때까지 위 과정을 반복하다보면, 라우터 인덱스 값이 3이 되었을 때 LowerBoundUpperBound의 값은 각각 70과 79가 된다. If the above process is repeated until 71, DstAddr , is located between LowerBound and UpperBound , when the router index value is 3, the values of LowerBound and UpperBound are 70 and 79, respectively.

다시, SrcAddr인 120이 LowerBound UpperBound 사이에 있는지 확인한다. SrcAddr인 120은 이 사이에 있기 때문에 inhValue 값의 변화 없이 DstAddr을 확인한다. Again, this is 120 SrcAddr LowerBound Upperbound Make sure it's in between. Since SrcAddr is between 120, DstAddr is checked without changing the inhValue value.

DstAddr인 71도 이 LowerBoundUpperBound 사이에 있다는 것을 알 수 있다. 따라서, LowerBoundDstAddr이 서로 동일한지 확인한다. You can see that the 71st DstAddr is between this LowerBound and UpperBound . Therefore, make sure that LowerBound and DstAddr are the same.

그 결과, LowerBoundDstAddr은 각각 70, 71로써 서로 동일하지 않으므로, CurDepth를 1 증가시키고 LowerBound도 1 증가시킨 후 UpperBound를 구한다.As a result, LowerBound and DstAddr are not the same as 70 and 71, respectively, so we increase CurDepth by 1 LowerBound is also increased by 1, and UpperBound is obtained.

여기서, CurDepth는 3이되고 LowerBound는 71이 된다. 따라서, UpperBound 값은 72가 되고 LowerBound 값인 71은 DstAddr 71과 동일하므로 유효한 값이 된다.  here, CurDepth becomes 3 and LowerBound becomes 71. Thus, UpperBound The value is 72 LowerBound, 71, It is the same as DstAddr 71, so it is a valid value.

이때, CurDepth = 3, SrcDeppth = 2, inhValue = 0이 되었으므로 상기 [수학식 3]에 의해 maxTTL 값은 5(3+2-2×0 = 5)가 된다. At this time, CurDepth = 3, SrcDeppth = 2, Since inhValue = 0, the value of maxTTL is 5 (3 + 2-2 x 0 = 5) by Equation 3 above.

다음, 도 3을 통해 중첩된 가지가 있는 경우인 노드 120이 노드 84에게 데이터를 전송하는 과정을 설명하도록 한다. Next, a process in which the node 120 transmits data to the node 84 when there are overlapped branches will be described with reference to FIG. 3.

도 1을 참조하면, SrcDepth , SrcAddr , DstAddr에 각각 2, 120, 84을 입력하고 CurDepth, LowerBound , UpperBound , RouterIndex , inhValue 값을 초기화 한다. Referring to Figure 1, SrcDepth, SrcAddr, each type 2, 120, 84 and the DstAddr CurDepth, LowerBound, UpperBound, RouterIndex, inhValue Initialize the value.

다음으로 LowerBound에 상응하는 UpperBound를 구하기 위하여 LowerBound 값 0x0001과 Cskip( CurDepth -1) 값을 더해서 구한다. 여기서는 42로 할당된다. In order to obtain the following UpperBound corresponding to a LowerBound LowerBound This is obtained by adding the value 0x0001 and the value of Cskip ( CurDepth- 1) . It is assigned to 42 here.

그리고, SrcAddr의 값이 LowerBoundUpperBound의 사이에 있는지 확인하는데, 이때, 120은 이 사이에 위치하지 않기 때문에 inhValue 값을 증가시키지 않고 DstAddr 값이 LowerBoundUpperBound의 사이에 있는지 여부를 확인한다. In addition, it is checked whether the value of SrcAddr is between LowerBound and UpperBound . At this time, 120 is not positioned between them, so it is checked whether the DstAddr value is between LowerBound and UpperBound without increasing the inhValue value.

그런데, 84 또한 이 범위 사이에 위치하지 않으므로 라우터 인덱스 값이 최대 라우터 개수를 넘지 않는지 확인한 후, 넘지 않았다면 라우터 인덱스를 하나 증가시키고 다시 루프를 수행한다. However, 84 is also not located between these ranges, so after checking that the router index value does not exceed the maximum number of routers, if not, the router index is increased by one and the loop is performed again.

이 과정을 반복하다보면 라우터 인덱스 값이 2가 되었을 때 LowerBoundUpperBound의 값은 각각 83, 124가 된다. Repeating this process, when the router index value is 2, the values of LowerBound and UpperBound are 83 and 124, respectively.

다시, SrcAddr인 120이 LowerBoundUpperBound 사이에 위치하는지 확인한다. Again, SrcAddr 120 is the LowerBound and UpperBound Make sure it's in between.

그 결과, SrcAddr인 120은 이 사이에 위치하므로, inhValue 값을 1 증가시킨 후 DstAddrLowerBoundUpperBound의 사이에 있는지 여부를 확인한다. As a result, SrcAddr , 120, is located between them, After increasing the value of inhValue by 1, we check whether DstAddr is between LowerBound and UpperBound .

그러면, DstAddr인 84도 이 LowerBoundUpperBound 사이에 있다는 것을 알 수 있다. Then, DstAddr of 84 degrees with the LowerBound UpperBound You can see that it is in between.

따라서, LowerBoundDstAddr이 같은지 확인하는데, LowerBoundDstAddr은 각각 83, 84이므로 같지 않다. Therefore, make sure that LowerBound and DstAddr are equal. LowerBound and DstAddr are not the same because they are 83 and 84, respectively.

그러므로, CurDepth를 1 증가시키고 LowerBound를 1 증가시킨 후 UpperBound를 구한다. Therefore, increase CurDepth by 1 Was increased, the LowerBound obtain the UpperBound.

이 경우 LowerBound는 84가 되고 UpperBound는 93이 된다. in this case LowerBound becomes 84 and UpperBound becomes 93.

SrcAddr인 120은 LowerBoundUpperBound의 사이에 있지 않기 때문에, inhValue의 변화 없이 DstAddrLowerBoundUpperBound 사이에 위치하는지 여부를 확인하다. Since SrcAddr 120 is not between LowerBound and UpperBound , DstAddr sets LowerBound and UpperBound without changing inhValue . Check whether it is located in between.

DstAddrLowerBoundUpperBound 사이에 있고, 또한 LowerBound 값과 같으므로 이 값은 유효한 값이 된다. DstAddr is LowerBound and UpperBound In between, and also LowerBound This is the same value, so this value is valid.

이때 CurDepth = 2, SrcDepth = 2, inhValue = 1이 되었으므로, 상기 [수학식 3]에 의해 maxTTL 값은 2(2+2-2×1 = 2)가 된다. At this time, CurDepth = 2, SrcDepth = 2, and inhValue = 1, and according to Equation 3, the maxTTL value is 2 (2 + 2-2 × 1 = 2).

이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해되어야만 한다.Although embodiments of the present invention have been described above with reference to the accompanying drawings, those skilled in the art to which the present invention pertains may implement the present invention in other specific forms without changing the technical spirit or essential features thereof. I can understand that. Therefore, the embodiments described above are to be understood in all respects as illustrative and not restrictive.

상기한 바와 같은 본 발명의 지그비 메쉬 네트워크의 경로 탐색 초기화 시 최적 패킷유지시간 설정 방법에 따르면, 최대 TTL 값 설정에 대해 최적의 상한값을 적용할 수 있게 되었다.According to the method of setting the optimal packet holding time in the path discovery initialization of the Zigbee mesh network of the present invention as described above, the optimum upper limit value can be applied to the maximum TTL value setting.

이에 따라, 브로드캐스팅으로 인한 네트워크의 부하를 줄일 수 있게 되었을 뿐만 아니라, 노드의 불필요한 경로 탐색 수행의 참여를 줄일 수 있게 되었다는 장점이 있다.Accordingly, not only the network load due to broadcasting can be reduced, but also the participation of unnecessary path discovery of the node can be reduced.

그리고 이로 인해, 노드의 에너지 소모를 줄일 수 있게 되었으며 네트워크 전체의 대역폭을 줄일 수 있게 됨으로써, 단위 시간당 데이터 처리량과 같은 네트워크 성능을 증대시킬 수 있게 되었다는 장점이 있다. As a result, the energy consumption of the node can be reduced and the bandwidth of the entire network can be reduced, thereby increasing network performance such as data throughput per unit time.

또한, 소스 노드에서 목적지 노드까지의 깊이를 탐색할 수 있으므로 트리 또는 메쉬 구조에서 적용할 수 있고, 라우팅 능력이 없는 종단 디바이스에서도 사용이 가능하여, 향후 지그비 기술의 진보와 대응되어 홈 네트워크를 넘어서는 무선 센서 네트워크 등에 있어 범용으로 적용 가능할 수 있게 되었다는 등의 장점이 있다.In addition, the depth from the source node to the destination node can be searched, so that it can be applied in a tree or mesh structure, and can be used in end devices without routing capability. The sensor network has the advantage of being able to be applied to a general purpose.

Claims (5)

소스 노드의 깊이(SrcDepth), 소스 노드의 주소(SrcAddr) 및 목적지 노드의 주소(DstAddr) 정보를 입력받는 단계; Receiving depth SrcDepth of the source node, address SrcAddr of the source node, and address DstAddr of the destination node; 현재 깊이(CurDepth), 목적지 노드 깊이의 상한(UpperBound)과 하한(LowerBound) 값, 최대 라우터 개수(Rm)를 상한으로 하는 반복 루프 값 (RouterIndex) 및 소스와 목적지 노드 사이의 중첩 가지 수(inhValue) 값을 임시 변수로 초기화시켜 설정하는 단계;The current depth ( CurDepth ), the upper and lower bounds of the destination node depth ( UpperBound ) and the lower bound ( LowerBound ), the iterative loop value ( RouterIndex ) with the maximum number of routers ( Rm ) as the upper limit, and the number of overlapping branches between the source and destination nodes ( inhValue ). Initializing and setting a value to a temporary variable; 상기 입력 정보 및 상기 설정된 변수들을 이용하여 상기 목적지 노드의 깊이를 탐색하는 단계; 및Searching for a depth of the destination node using the input information and the set variables; And 상기 탐색의 결과 상기 목적지 노드의 깊이 값이 확정되면, 하기의 수학식에 의해 패킷유지시간을 설정하는 단계를 포함하는 지그비 메쉬 네트워크의 경로 탐색 초기화 시 최적 패킷유지시간 설정 방법.If the depth value of the destination node is determined as a result of the search, setting the packet holding time according to the following equation comprising: setting the optimal packet holding time when initializing the path search of the Zigbee mesh network. [수학식][Equation]
Figure 112006096939714-pat00006
Figure 112006096939714-pat00006
(D s 는 코디네이터에서 소스 노드까지의 깊이, D d 는 코디네이터에서 목적지 노드까지의 깊이, V i 는 지그비 네트워크의 트리 구조상으로 소스와 목적지 사이의 중첩되는 가지(Branch)의 개수)( D s is the depth from the coordinator to the source node, D d is the depth from the coordinator to the destination node, and V i is the number of branches overlapping between the source and destination in the Zigbee network tree structure)
제 1 항에 있어서,The method of claim 1, 상기 목적지 노드의 깊이를 탐색하는 단계는, Searching for the depth of the destination node, 상기 반복 루프 값(RouterIndex)이 상기 최대 라우터 개수(Rm) 미만인 범위 내에서, 상기 반복 루프 값(RouterIndex) 및 상기 목적지 노드 깊이의 하한(LowerBound) 값을 증가시켜가면서 상기 소스 노드의 주소(SrcAddr) 존재 범위를 결정하는 단계; Within the repeat loop value (RouterIndex) the range of less than the maximum router number (Rm), going to the repeated increase of the lower limit (LowerBound) value of the loop value (RouterIndex) and the destination node depth address of the source node (SrcAddr) Determining a range of existence; 상기 소스 노드의 주소(SrcAddr) 존재 범위에 대응되도록 상기 소스와 목적지 노드 사이의 중첩 가지 수(inhValue) 변수를 조절하면서, 상기 목적지 노드의 주소(DstAddr) 존재 범위를 확인하는 단계; Confirming an address ( DstAddr ) presence range of the destination node while adjusting an inhValue variable between the source and destination nodes so as to correspond to the address ( SrcAddr ) existence range of the source node; 상기 목적지 노드의 주소(DstAddr)가 상기 목적지 노드 깊이의 상한(UpperBound)과 하한(LowerBound) 값 사이에 위치하고, 상기 목적지 노드의 주소(DstAddr)가 상기 목적지 노드 깊이의 하한(LowerBound) 값과 동일할 경우 상기 목적지 노드의 깊이 값을 확정하는 단계를 포함하는 것을 특징으로 하는 지그비 메쉬 네트워크의 경로 탐색 초기화 시 최적 패킷유지시간 설정 방법.Address of the destination node (DstAddr) is located between the destination node upper bound (UpperBound) and lower (LowerBound) value of the depth, of the destination node address (DstAddr) is the equal to the lower limit (LowerBound) Value of the destination node depth And determining a depth value of the destination node when the path discovery initialization of the Zigbee mesh network is initiated. 제 2 항에 있어서,The method of claim 2, 상기 목적지 노드의 주소(DstAddr)가 상기 목적지 노드 깊이의 하한(LowerBound) 값과 동일하지 않을 경우, 현재 깊이(CurDepth) 및 상기 목적지 노드 깊이의 하한(LowerBound) 값 변수를 증가시켜 재설정한 후, 상기 재설정된 변수를 이용하여 상기 목적지 노드의 깊이 탐색 단계를 재수행하는 것을 특징으로 하는 지그비 메쉬 네트워크의 경로 탐색 초기화 시 최적 패킷유지시간 설정 방법. If the address DstAddr of the destination node is not the same as the LowerBound value of the destination node depth, the current depth CurDepth and the LowerBound value variable of the destination node depth are increased and reset. A method for setting an optimal packet holding time when initializing a path search of a Zigbee mesh network, wherein the depth search step of the destination node is performed again using the reset variable. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 3, 상기 목적지 노드 깊이의 상한(UpperBound) 값 변수는, 하기의 수학식에 의해 상기 목적지 노드 깊이의 하한(LowerBound) 값 변수에 의존적으로 설정되는 것을 특징으로 하는 지그비 메쉬 네트워크의 경로 탐색 초기화 시 최적 패킷유지시간 설정 방법. The upper limit (UpperBound) value of the variable of the destination node depth is, the lower limit of the destination node depth by the expression of maintaining optimum packet upon initialization a path search of the ZigBee mesh network, characterized in that the independent set to the (LowerBound) value of variable How to set the time. [수학식][Equation] 상한(UpperBound)값 변수 = 하한(LowerBound)값 변수 + Cskip(CurDepth - 1)UpperBound variable = LowerBound variable + Cskip (CurDepth-1) (단, Cskip는 노드 자신의 깊이)(Where Cskip is the depth of the node itself) 제 4 항에 있어서,The method of claim 4, wherein 상기 반복 루프 값(RouterIndex)이 상기 최대 라우터 개수(Rm) 미만인 범위 내에서 상기 목적지 노드의 깊이 값이 확정되지 않을 경우, 상기 목적지 노드의 주소(DstAddr)가 종단 디바이스에 존재하는지 판단하는 단계; 및Determining that if the value of the iteration loop (RouterIndex), this depth value of the destination node may not be determined in a range less than the maximum number of routers (Rm), address (DstAddr) of the destination node is present in the end device; And 상기 판단의 결과 상기 목적지 노드의 주소(DstAddr)가 종단 디바이스에 존재하면 상기 목적지 노드의 주소(DstAddr)를 이용하여 상기 목적지 노드의 깊이 값을 확정하고, 존재하지 않으면 유효하지 않은 주소 정보임을 알람하는 단계를 더 포함하는 지그비 메쉬 네트워크의 경로 탐색 초기화 시 최적 패킷유지시간 설정 방법.As a result of the determination, if the address DstAddr of the destination node exists in the end device, the depth value of the destination node is determined using the address DstAddr of the destination node, and if not, alarming that the address information is invalid. A method for setting an optimal packet retention time in initializing path discovery of a Zigbee mesh network further comprising a step.
KR1020060134874A 2006-12-27 2006-12-27 Best Packet Time-To-Live for Route Discovery in ZigBee Mesh Networks KR100846189B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060134874A KR100846189B1 (en) 2006-12-27 2006-12-27 Best Packet Time-To-Live for Route Discovery in ZigBee Mesh Networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060134874A KR100846189B1 (en) 2006-12-27 2006-12-27 Best Packet Time-To-Live for Route Discovery in ZigBee Mesh Networks

Publications (2)

Publication Number Publication Date
KR20080060588A KR20080060588A (en) 2008-07-02
KR100846189B1 true KR100846189B1 (en) 2008-07-14

Family

ID=39813095

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060134874A KR100846189B1 (en) 2006-12-27 2006-12-27 Best Packet Time-To-Live for Route Discovery in ZigBee Mesh Networks

Country Status (1)

Country Link
KR (1) KR100846189B1 (en)

Cited By (1)

* 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

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010111837A1 (en) 2009-04-02 2010-10-07 华为技术有限公司 Broadcasting method and communication device
US10853370B2 (en) * 2015-06-26 2020-12-01 Intel Corporation Devices and/or methods to provide a query response based on ephemeral data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050249155A1 (en) 2004-05-06 2005-11-10 Samsung Electronics Co., Ltd. Routing method for wireless networks
KR20060045776A (en) * 2004-08-06 2006-05-17 삼성전자주식회사 Zigbee network device for assigning address to his childrens after constructing cluster-tree structure, address assigning method thereof, and, routing method thereof
KR20060116692A (en) * 2005-05-10 2006-11-15 삼성전자주식회사 Routing method in wireless network and communication apparatus of using the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050249155A1 (en) 2004-05-06 2005-11-10 Samsung Electronics Co., Ltd. Routing method for wireless networks
KR20060045776A (en) * 2004-08-06 2006-05-17 삼성전자주식회사 Zigbee network device for assigning address to his childrens after constructing cluster-tree structure, address assigning method thereof, and, routing method thereof
KR20060116692A (en) * 2005-05-10 2006-11-15 삼성전자주식회사 Routing method in wireless network and communication apparatus of using the same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
2006년도 한국정보과학회 가을 학술발표논문집 Vol.33, No.2(D), 2006년10월20일, 이유진 외, "지그비 센서 네트워크에서의 에너지 효율적 라우팅을 고려한 비콘 전송 스케줄링 기법", pp625-630

Cited By (1)

* 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

Also Published As

Publication number Publication date
KR20080060588A (en) 2008-07-02

Similar Documents

Publication Publication Date Title
Eriksson et al. DART: Dynamic address routing for scalable ad hoc and mesh networks
Awad et al. Virtual cord protocol (VCP): A flexible DHT-like routing service for sensor networks
Sridhar et al. Energy supported AODV (EN-AODV) for QoS routing in MANET
Li et al. Localized topology control for heterogeneous wireless sensor networks
Ma et al. Energy-efficient localized topology control algorithms in IEEE 802.15. 4-based sensor networks
Hwang et al. A novel efficient power‐saving MAC protocol for multi‐hop MANETs
Kafhali et al. Effect of Mobility and Traffic Models on the energy consumption in MANET Routing Protocols
KR100846189B1 (en) Best Packet Time-To-Live for Route Discovery in ZigBee Mesh Networks
Fuhrmann et al. Pushing chord into the underlay: Scalable routing for hybrid manets
Fang et al. A preemptive distributed address assignment mechanism for wireless sensor networks
Papadimitriou et al. Minimum-energy broadcasting in multi-hop wireless networks using a single broadcast tree
Xu et al. An enhanced routing protocol for ZigBee/IEEE 802.15. 4 wireless networks
Zhang et al. Performance analysis of reliable flooding in duty‐cycle wireless sensor networks
Sheu et al. A distributed IP address assignment scheme in ad hoc networks
Al-Harbawi et al. Utilizing neighbours-table to improve tree routing protocol in ZigBee network
Jayaraman et al. A trusted water fall model for efficient data transmission in VANET
Ye et al. A survey of addressing algorithms for wireless sensor networks
Park et al. Distributed borrowing addressing scheme for ZigBee/IEEE 802.15. 4 wireless sensor networks
Hannachi et al. Distributed cell scheduling for multichannel IoT MAC protocols
Anzaar et al. Simulation study for performance comparison of routing protocols in mobile adhoc network
KR101903586B1 (en) Apparatus to build a distributed schedule for p2p in TSCH and AODV based Industrial IoT Networks
Tan et al. A novel tree-based broadcast algorithm for wireless ad hoc networks
Hadj Sadok et al. On the performance of heterogeneous MANETs
Sarkohaki et al. A survey of routing protocols for mobile ad-hoc networks with comprehensive study of olsr
Caballero-Gil et al. Merging sub-networks in VANETs by using the IEEE 802.11 xx protocols

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130621

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140701

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150626

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160704

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190708

Year of fee payment: 12