KR20110065798A - 분산 주소 할당에 기반한 트리 구조의 네트워크의 네트워크 노드의 동작 방법 및 네트워크의 형성 방법 - Google Patents

분산 주소 할당에 기반한 트리 구조의 네트워크의 네트워크 노드의 동작 방법 및 네트워크의 형성 방법 Download PDF

Info

Publication number
KR20110065798A
KR20110065798A KR1020090122459A KR20090122459A KR20110065798A KR 20110065798 A KR20110065798 A KR 20110065798A KR 1020090122459 A KR1020090122459 A KR 1020090122459A KR 20090122459 A KR20090122459 A KR 20090122459A KR 20110065798 A KR20110065798 A KR 20110065798A
Authority
KR
South Korea
Prior art keywords
node
cluster
network
address
addresses
Prior art date
Application number
KR1020090122459A
Other languages
English (en)
Other versions
KR101310304B1 (ko
Inventor
박종준
정훈
황소영
김봉수
주성순
채종석
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020090122459A priority Critical patent/KR101310304B1/ko
Priority to US12/822,295 priority patent/US20110145378A1/en
Publication of KR20110065798A publication Critical patent/KR20110065798A/ko
Application granted granted Critical
Publication of KR101310304B1 publication Critical patent/KR101310304B1/ko

Links

Images

Classifications

    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 분산 주소 할당(distributed address assignment)에 기반한 트리(tree) 구조 네트워크의 클러스터의 네트워크 노드의 동작 방법에 관한 것이다. 본 발명의 동작 방법은 미등록 노드를 검출하는 단계, 네트워크 노드의 라우팅 깊이를 판별하는 단계, 그리고 판별된 라우팅 깊이가 기준값에 대응할 때, 클러스터 주소에 기반하여 서브 클러스터를 생성하고 그리고 내부 주소에 기반하여 상기 검출된 미등록 노드를 상기 생성된 서브 클러스터 내의 자식 노드로 등록하는 단계로 구성된다.

Description

분산 주소 할당에 기반한 트리 구조의 네트워크의 네트워크 노드의 동작 방법 및 네트워크의 형성 방법{OPERATING METHOD OF NETWORK NODE OF NETWORK WITH TREE STRUCTURE BASED ON DISTRIBUTED ADDRESS ASSIGNMENT AND NETWORK FORMING METHOD}
본 발명은 네트워크에 관한 것으로, 더 상세하게는 분산 주소 할당에 기반한 트리 구조의 네트워크의 노드의 동작 방법 및 네트워크의 형성 방법에 관한 것이다.
네트워크 기술이 발전되면서, 유비쿼터스 센서 네트워크(USN, Ubiquitous Sensor Network)에 대한 연구가 활발하게 수행되고 있다. 유비쿼터스 센서 네트워크(USN)는 사물 및 환경에 대한 정보를 실시간으로 수집 및 구축하는 것을 가능하게 한다.
유비쿼터스 센서 네트워크(USN)에서, 네트워크 노드들의 주소는 분산 주소 할당(DAA, Distributed Address Assignment) 또는 중앙 주소 할당(CAA, Centralized Address Assignment)에 기반하여 할당된다. 분산 주소 할당(DAA)은 네트워크 노드의 주소 할당 기능이 네트워크에 분산되어 존재하는 주소 할당 방식을 나타낸다. 예를 들면, 복수의 네트워크 노드들이 주소 할당 권한을 갖는다. 중앙 주소 할당(CAA)은 네트워크의 코디네이터(coordinator) 노드 또는 싱크(sink) 노드가 주소 할당 권한을 갖는 주소 할당 방식을 나타낸다.
유비쿼터스 센서 네트워크(USN)는 메쉬 토폴로지(mesh topology) 또는 트리 토폴로지(tree topology)를 갖는다. 메쉬 토폴로지(mesh topology)는 하나의 네트워크 노드가 복수의 네트워크 노드들과 통신 가능한 구성을 갖는다. 트리 토폴로지(tree topology)는 하나의 네트워크 노드가 부모(parent) 노드 및 자식(child) 노드와 통신 가능한 구성을 갖는다. 즉, 제 1 및 제 2 네트워크 노드들이 통신할 때, 메쉬 토폴로지에서는 제 1 및 제 2 네트워크 노드들이 직접 통신하는 것이 가능하다. 반면, 트리 토폴로지에서, 제 1 및 제 2 네트워크 노드들의 브렌치(branch)가 상이한 경우, 통신은 최상위 노드(예를 들면, 코디네이터 노드 또는 싱크 노드)를 거쳐 수행된다.
본 발명의 목적은 분산 주소 할당에 기반한 트리 구조의 네트워크에 향상된 확장성을 제공하는 데에 있다.
본 발명의 다른 목적은, 분산 주소 할당에 기반한 트리 구조의 네트워크의 주소 낭비를 감소시키는 데에 있다.
본 발명의 실시 예에 따른 분산 주소 할당(distributed address assignment)에 기반한 트리(tree) 구조 네트워크의 특정 클러스터의 네트워크 노드의 동작 방법은, 미등록 노드를 검출하는 단계; 상기 네트워크 노드의 라우팅 깊이를 판별하는 단계; 그리고 상기 판별된 라우팅 깊이가 기준값에 대응할 때, 클러스터 주소에 기반하여 서브 클러스터를 생성하고, 그리고 내부 주소에 기반하여 상기 검출된 미등록 노드를 상기 생성된 서브 클러스터 내의 자식 노드로 등록하는 단계를 포함한다.
실시 예로서, 상기 판별된 라우팅 깊이가 상기 기준값 보다 작을 때, 상기 내부 주소에 기반하여 상기 검출된 미등록 노드를 상기 특정 클러스터 내의 자식 노드로 등록하는 단계를 더 포함한다.
실시 예로서, 상기 기준값은 상기 특정 클러스터의 최대 깊이에 대응한다.
실시 예로서, 상기 생성된 서브 클러스터에 대응하는 서브 코디네이터(sub coordinator)로 동작하는 단계를 더 포함한다.
실시 예로서, 상기 판별된 라우팅 깊이가 기준값에 대응할 때, 상기 검출된 미등록 노드에 대응하는 클러스터 요청을 상기 클러스터 내의 부모 노드에 전송하는 단계를 더 포함한다.
실시 예로서, 상기 판별된 라우팅 깊이가 기준값에 대응할 때, 상기 전송된 클러스터 요청에 따른 클러스터 주소를 상기 클러스터 내의 부모 노드로부터 수신하는 단계를 더 포함하고, 상기 서브 클러스터는 상기 수신된 클러스터 주소에 기반하여 생성되는 동작 방법.
본 발명의 실시 예에 따른 분산 주소 할당(distributed address assignment)에 기반한 트리(tree) 구조 네트워크의 코디네이터 노드의 동작 방법은, 상기 네트워크에 할당된 주소들을 클러스터 주소들 및 내부 주소들로 분할하는 단계; 상기 내부 주소들에 기반하여 자식 노드를 등록하는 단계; 클러스터 요청이 수신될 때, 상기 클러스터 주소들 중 자유(free) 주소를 선택하고, 상기 선택된 자유 클러스터 주소를 자식 노드로 전송하는 단계를 포함한다.
실시 예로서, 상기 선택된 자유 클러스터 주소가 전송되는 자식 노드를 상기 선택된 자유 클러스터 주소에 대응하는 라우팅 경로로 설정하는 단계를 더 포함한다.
본 발명의 실시 예에 따른 분산 주소 할당(distributed address assignment)에 기반한 트리(tree) 구조 네트워크를 형성하는 형성 방법은, 상기 네트워크에 할당된 주소들을 클러스터 주소들 및 내부 주소들로 분할하는 단계; 상기 내부 주소들에 기반하여, 메인 클러스터를 생성하는 단계; 그리고 상기 메인 클러스터의 생 성이 완료된 후에 미등록 노드가 검출될 때, 상기 클러스터 주소들에 기반하여 서브 클러스터를 생성하는 단계를 포함한다.
실시 예로서, 상기 내부 주소들에 기반하여 상기 검출된 미등록 노드를 상기 생성된 서브 클러스터에 등록하는 단계를 더 포함한다.
실시 예로서, 상기 생성된 서브 클러스터의 생성이 완료된 후에 제 2 미등록 노드가 검출될 때, 상기 클러스터 주소들에 기반하여 제 2 서브 클러스터를 생성하는 단계를 더 포함한다.
실시 예로서, 상기 미등록 노드를 검출한 네트워크 노드를 상기 생성된 서브 클러스터의 서브 코디네이터 노드로 설정하는 단계를 더 포함한다.
실시 예로서, 상기 클러스터 주소들에 기반하여 서브 클러스터를 생성하는 단계는, 상기 클러스터 주소들 중 자유 주소를 선택하는 단계; 그리고 상기 선택된 자유 클러스터 주소를 상기 서브 클러스터에 할당하는 단계를 포함한다.
본 발명에 의하면, 메인 클러스터에 추가적으로 서브 클러스터가 생성된다. 따라서, 네트워크 확장성이 향상된다.
본 발명에 의하면, 미등록 노드가 존재하는 곳에 서브 클러스터가 생성된다. 따라서, 네트워크의 주소 낭비가 감소된다.
이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발 명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다. 동일한 구성 요소들은 동일한 참조 번호를 이용하여 인용될 것이다. 유사한 구성 요소들은 유사한 참조 번호들을 이용하여 인용될 것이다.
이하에서, 센서 네트워크(sensor network)를 참조하여 본 발명의 기술적 사상에 따른 실시 예들이 설명된다. 그러나, 본 발명의 기술적 사상은 센서 네트워크에 적용되는 것으로 한정되지 않는다. 본 발명의 실시 예에 따른 센서 네트워크는 분산 주소 할당(DAA, Distributed Address Assignment)에 기반한 트리(tree) 구조의 네트워크인 것으로 가정한다. 예시적으로, 본 발명의 실시 예에 따른 센서 네트워크는 IEEE 802.15.4 지그비(ZigBee) 네트워크인 것으로 가정한다. 그러나, 본 발명의 기술적 사상은 분산 주소 할당(DAA)에 기반한 트리 구조의 네트워크로 한정되지 않으며, IEEE 802.15.4 지그비(ZigBee) 네트워크로 한정되지 않는다.
이하에서, 본 발명의 실시 예에 따른 네트워크는 '네트워크' 또는 '센서 네트워크'라는 용어를 사용하여 인용된다. 또한, 본 발명의 실시 예에 따른 네트워크 노드들은 '센서 노드' 또는 '네트워크 노드'라는 용어를 사용하여 인용된다. '부모 노드(parent node)' 또는 '상위 노드'는 네트워크 노드들 중 하나를 나타내며, '자식 노드(child node)' 또는 '하위 노드'와 대칭되는 개념으로 사용된다.
도 1은 본 발명의 실시 예에 따른 센서 네트워크의 토폴로지(topology)를 보여주는 다이어그램이다. 도 1을 참조하면, 센서 네트워크는 트리(tree) 구조의 토폴로지를 갖는다.
분산 주소 할당에 기반한 트리 구조의 네트워크(예를 들면, 지그비 네트워크)는 세 가지 파라미터(parameter)를 이용하여 정의된다. 네트워크를 정의하는 세 가지 파라미터는 표 1에 기재되어 있다.
파라미터 의 미
Lm 최대 깊이 (max depth)
Cm 최대 자식수 (max child)
Rm 라우터 수 (max router)
트리(tree) 구조의 네트워크의 최상위 노드(예를 들면, 코디네이터(coordinator) 노드 또는 싱크(sink) 노드)의 라우팅 깊이는 0이다. 한 번의 홉(hop)을 통해 최상위 노드에 연결되는 네트워크 노드들의 라우팅 깊이는 1이다. 즉, 최상위 노드의 하위 노드들의 라우팅 깊이는 1이다. 두 번의 홉(hop)을 통해 최상위 노드에 연결되는 네트워크 노드들의 라우팅 깊이는 2이다. 즉, 최상위 노드의 하위 노드들의 하위 노드들의 라우팅 깊이는 2이다. 이와 같이, 라우팅 깊이는 네트워크 노드가 몇 번의 홉(hop)을 통해 최상위 노드에 연결될 수 있는지, 또는 최상위 노드로부터 몇 번째 하위 노드인지를 나타내는 것으로 이해될 수 있다.
최대 깊이(Lm)는 네트워크가 가질 수 있는 최대 라우팅 깊이를 나타낸다. 예를 들면, 최대 깊이(Lm)가 2 이면, 네트워크는 라우팅 깊이가 0 내지 2인 네트워크 노드들을 가질 수 있다. 즉, 라우팅 깊이가 0인 최상위 노드, 라우팅 깊이가 1인 최상위 노드의 하위 노드, 그리고 라우팅 깊이가 2인 최상위 노드의 하위 노드의 하위 노드가 네트워크에 등록될 수 있다.
최대 자식수(Cm)는 네트워크 노드가 가질 수 있는 최대 하위 노드의 수를 나타낸다. 즉, 최대 자식수(Cm)가 3이면, 네트워크 노드는 3개의 하위 노드들을 가질 수 있다.
라우터 수(Rm)는 네트워크 노드의 하위 노드들 중 라우팅 노드(routing node)의 수를 나타낸다. 네트워크 노드의 하위 노드들 중 라우팅 노드가 아닌 노드들은 말단 노드(end device)이다. 예시적으로, 최대 자식수(Cm)가 3이고, 라우터 수(Rm)가 2이면, 네트워크 노드는 3개의 자식 노드들을 갖는다. 3개의 자식 노드들 중 2개는 라우팅 노드이며, 나머지 1개는 말단 노드(end device)이다.
예시적으로, 라우팅 노드는 전기능 장치(FFD, full function device)이고, 말단 노드는 감소 기능 장치(RFD, reduced functin device)이다. 라우팅 노드는 센싱 등과 같은 통상적인 센서 노드로서의 동작을 수행하며, 네트워크 노드들 사이의 라우팅 기능을 추가적으로 수행하도록 구성된다. 즉, 라우팅 노드는 부모 노드(parent node)로부터 수신되는 메시지를 자식 노드(child node)에 전달할 수 있고, 자식 노드(child node)로부터 수신되는 메시지를 부모 노드(parent node)에 전달할 수 있다.
말단 노드(end device)는 라우팅 기능을 구비하지 않으며, 다른 말단 노드와 통신하는 기능을 구비하지 않는다. 즉, 말단 노드(end device)는 다른 네트워크 노드의 부모 노드로 이용될 수 없으며, 다른 말단 노드의 자식 노드로 이용될 수 없다. 즉, 말단 노드는 라우팅 노드의 자식 노드로 등록되며, 자식 노드를 갖지 않는다.
네트워크의 최대 깊이(Lm), 최대 자식수(Cm), 그리고 라우터 수(Rm)에 기반하여, 네트워크가 생성된다. 예시적으로, 최대 깊이(Lm)는 3이고, 최대 자식수(Cm)는 3이고, 그리고 라우터 수(Rm)는 2인 네트워크가 도 1에 도시되어 있다.
네트워크의 최상위 노드(CO)는 코디네이터 노드(Coordinator node) 또는 싱크 노드(sink node)라 불린다. 코디네이터 노드는 게이트 웨이(gate way)를 통해 외부 네트워크(예를 들면, 광대역 통합망(BcN, broadband convergence network))에 연결된다. 코디네이터 노드(CO)의 라우팅 깊이는 0이다. 코디네이터 노드(CO)는 최대 자식수(Cm)에 대응하는 수의 자식 노드들(child nodes, A)을 갖는다.
코디네이터 노드(CO)의 자식 노드들(A) 중 라우터 수(Rm)에 대응하는 수의 노드들이 라우팅 노드들(routing nodes)이다. 나머지 노드들은 말단 노드(end node)이다.
코디네이터 노드(CO)의 자식 노드들(A)의 라우팅 깊이는 1이다. 즉, 자식 노드들(A)은 한 번의 홉(hop)을 통해 코디네이터 노드(CO)에 연결된다. 라우팅 깊이 1의 네트워크 노드들(A) 각각은 최대 자식수(Cm) 및 라우터 수(Rm)에 따른 자식 노드들(Child nodes, B)을 갖는다. 자식 노드들(B)의 라우팅 깊이는 2이다. 즉, 자식 노드들(B)은 두 번의 홉(hop)을 통해 코디네이터 노드(CO)에 연결된다.
라우팅 깊이 2의 네트워크 노드들(B) 각각은 최대 자식수(Cm) 및 라우터 수(Rm)에 기반한 자식 노드들(child nodes, C)을 갖는다. 자식 노드들(C)의 라우팅 깊이는 3이다. 즉, 자식 노드들(C)은 세 번의 홉(hop)을 통해 코디네이터 노드(CO)에 연결된다. 최대 깊이(Lm)는 3으로 설정되어 있다. 따라서, 라우팅 깊이 3인 네트워크 노드들(C)은 자식 노드들을 갖지 않는다.
도 1에서, 부모 노드는 실선, 파선, 그리고 점선으로 연결되는 자식 노드들을 갖는 것으로 도시되어 있다. 실선으로 연결되는 자식 노드는 제 1 자식 노드, 파선으로 연결되는 자식 노드는 제 2 자식 노드, 그리고 점선으로 연결되는 자식 노드는 제 3 자식 노드인 것으로 정의한다. 부모 노드 및 자식 노드들 사이를 연결하는 선의 형태는 설명의 편의상 구분되어 있으며, 상이한 통신 수단 또는 방법을 나타내는 것으로 한정되지 않는다.
도 1에서, 각 네트워크 노드들에 대응하는 참조 번호는 주소를 나타낸다. 코디네이터 노드(CO)의 주소는 0으로 정의되어 있다. 코디네이터 노드(CO)의 자식 노드들의 주소는 제 1 자식 노드 및 그것의 하위 노드들로부터 제 3 자식 노드 및 그것의 하위 노드들의 순서로 할당된다. 도 1에 도시된 바와 같이, 코디네이터 노드(CO)의 제 1 자식 노드(A)의 주소는 1 이고, 그것의 제 1 자식 노드(B)의 주소는 2 이고, 그리고 그것의 제 1 자식 노드(C)의 주소는 3 이다. 즉, 코디네이터 노드(CO)로부터 제 1 자식 노드들이 순차적으로 선택되어 주소가 부여된다.
코디네이터 노드(CO)로부터 제 1 자식 노드들의 주소 부여가 완료되면, 주소가 부여된 노드들 중 라우팅 깊이가 가장 깊은 네트워크 노드의 하위 노드에 주소가 부여된다. 라우팅 깊이 3이며 주소 3인 네트워크 노드(C)는 자식 노드를 갖지 않는다. 따라서, 라우팅 깊이 2이며 주소 2인 네트워크 노드(B)의 제 2 및 제 3 자식 노드들(C)에 각각 주소 4 및 주소 5가 할당된다.
라우팅 깊이 1이며 주소 1인 네트워크 노드(A)의 제 2 자식 노드(B) 및 그것의 하위 노드들에, 그리고 제 3 자식 노드(B)에 순차적으로 주소가 할당된다.
라우팅 깊이 0이며 주소 0인 코디네이터 노드(CO)의 제 2 자식 노드(A) 및 그것의 하위 노드들에, 그리고 제 3 자식 노드(A)에 순차적으로 주소가 할당된다.
상술된 바와 같이, 네트워크의 최대 깊이(Lm), 최대 자식수(Cm), 그리고 라우터 수(Rm)가 정의되면, 도 1에 도시된 바와 같은 토폴로지(topology) 및 주소를 갖는 네트워크가 생성된다. 즉, 네트워크 노드들에 할당되는 주소는 네트워크에 등록된 순서 또는 코디네이터에 의해 결정되는 것이 아니며, 등록된 네트워크 노드의 토폴로지 상의 위치에 따라 결정된다.
예시적으로, 라우팅 깊이 1이며 주소 1인 네트워크 노드(A)에 미등록 네트워크 노드가 연결되는 것으로 가정한다. 도 1에 도시된 바와 같이, 주소 1인 네트워크 노드에 연결되는 노드들은 각각 주소 2, 6, 그리고 10을 할당받도록 결정되어 있다. 따라서, 미등록 노드가 주소 1의 네트워크 노드(A)에 연결될 때, 주소 1의 네트워크 노드(A)는 연결되는 미등록 노드에 주소 2, 6, 그리고 10 중 하나를 할당한다.
제 1 자식 노드(B)가 연결되면, 주소 1의 네트워크 노드(A)는 제 1 자식 노드(B)에 주소 2를 할당한다. 제 2 자식 노드(B)가 연결되면, 주소 1의 네트워크 노드(A)는 제 2 자식 노드(B)에 주소 6을 할당한다. 그리고, 제 3 자식 노드(B)가 연결되면, 주소 1의 네트워크 노드(A)는 제 3 자식 노드(B)에 주소 10을 할당한다. 주소 2인 제 1 자식 노드(B)의 하위 노드들이 모두 등록되기 전이라 하더라고, 주소 1의 네트워크 노드는 제 2 자식 노드(B)에 주소 6을 부여하는 것이 가능하다.
상술한 바와 같이, 자식 노드의 주소는 부모 노드에 의해 할당된다. 즉, 분산 주소 할당(distributed address assign)에 기반하여 네트워크 노드들에 주소가 부여된다.
수학식 1에서, 함수 Cskip(d)를 정의한다.
Figure 112009076341598-PAT00001
, if Rm=1
Figure 112009076341598-PAT00002
, if Rm≠1
함수 Cskip(d)는 라우팅 깊이 'd+1'에 대응하는 네트워크 노드(더 상세하게는 라우팅 노드) 및 그것의 총 자식 노드들의 수의 합을 나타내는 것으로 이해될 수 있다. 즉, 함수 Cskip(0)는 라우팅 깊이 1인 네트워크 노드 및 그것의 하위 노드들의 수의 합을 나타낸다. 도 1에서, 최대 깊이(Lm)는 3이고, 최대 자식수(Cm)는 3이고, 그리고 라우터 수(Rm)는 2 이므로, Cskip(0)는 10 이다. 도 1에 도시된 바와 같이, 라우팅 깊이 이며 주소 1인 네트워크 노드(A) 및 그것의 하위 노드들의 주소는 1 내지 10에 대응한다. 즉, 라우팅 깊이 1이며 주소 1인 네트워크 노드(A) 및 그것의 하위 노드들의 수의 합은 10 이다.
마찬가지로, 라우팅 깊이 1이며 주소 11인 네트워크 노드(A) 및 그것의 하위 노드들의 주소는 11 내지 20 이다. 즉, 라우팅 깊이 1이며 주소 11인 네트워크 노드(A) 및 그것의 하위 노드들의 수의 합은 10 이다.
최대 깊이(Lm), 최대 자식수(Cm), 그리고 라우터 수(Rm)에 기반하여 토폴로 지 및 주소가 결정되므로, 최대 깊이(Lm), 최대 자식수(Cm), 그리고 라우터 수(Rm)에 기반하여 네트워크의 최대 주소 수가 계산될 수 있다. 네트워크의 최대 주소 수는 수학식 2로 정의된다.
Figure 112009076341598-PAT00003
Cskip(0)는 라우팅 깊이 1의 네트워크 노드(A) 및 그것의 자식 노드들의 수의 합을 나타낸다. 따라서, Cskip(0) 및 라우터 수(Rm)의 곱은 코디네이터 노드(CO)의 자식 노드들 중 라우터 노드들 및 그것들의 자식 노드들의 수의 합을 나타낸다. 이 값에, 코디네이터 노드(CO)의 자식 노드들 중 말단 노드의 수(Cm - Rm)가 가산되고, 그리고 코디네이터 노드(CO)의 수(1)가 가산되면, 네트워크의 최대 주소 수(또는 네트워크 노드의 최대 수)가 계산된다. Cskip(0)는 10 이고, 라우터 수(Rm)는 2 이고, 최대 자식수(Cm)는 3 이다. 따라서, 최대 주소 수는 22 가 된다. 도 1을 참조하면, 네트워크 노드들은 0 내지 21 의 주소를 갖는 것으로 도시되어 있다. 즉, 도 1에서, 22개의 네트워크 노드들이 네트워크를 구성하는 것으로 도시되어 있다.
도 2는 센서 노드들이 도 1에 도시된 토폴로지에 따라 센서 네트워크(10)를 구성하는 실시 예를 보여주는 다이어그램이다. 도 2를 참조하면, 센서 노드들은 매트릭스 형태로 배열되어 있다. 예시적으로, 센서 노드들은 무선 통신 수단을 이용하여 무선 통신을 수행하는 것으로 가정한다.
통신 수단의 성능에 따라, 센서 노드들은 통신 가능한 범위를 갖는다. 예를 들면, 통신 수단에 분배되는 전력량이 클수록 그리고 통신 수단의 비용(cost)이 증가할수록, 센서 노드들의 통신 가능 범위는 증가할 것이다.
센서 네트워크(10)는 저비용 및 저 에너지를 소모하는 센서 노드들로 구성된다. 하나의 센서 노드의 통신 가능 범위는 센서 네트워크(10) 전체를 커버(cover)할 수 없다. 따라서, 코디네이터 노드(CO)의 통신 가능 범위 밖의 센서 노드들은 다른 센서 노드들을 통해, 즉 멀티 홉(multi hop)을 통해, 코디네이터 노드(CO)와 통신한다.
예시적으로, 도 2에서, 코디네이터 노드(CO)의 제 2 자식 노드(A, 주소 11)의 통신 가능 범위(R)가 도시되어 있다. 센서 네트워크(10)의 네트워크 노드들 각각은 동일한 통신 가능 범위(R)를 갖는 것으로 가정한다.
도 1을 참조하여 설명된 바와 같이, 최대 깊이(Lm), 최대 자식수(Cm), 그리고 라우터 수(Rm)가 설정되면, 네트워크 토폴로지 및 주소들이 결정된다. 그런데, 각각의 센서 노드는 통신 가능 범위(R)를 갖는다. 따라서, 도 1에 도시된 주소 1 내지 21의 모든 네트워크 노드들이 네트워크에 등록되지는 않는다.
도 1을 참조하여 설명된 바와 같이, 최대 깊이(Lm)가 3이고, 최대 자식수(Cm)가 3이고, 그리고 라우터 수(Rm)가 2인 센서 네트워크(10)가 도 2에 도시되어 있다.
도 2에 도시된 센서 네트워크(10)를 참조하면, 주소 5, 8~10, 18~19 에 대응하는 네트워크 노드가 등록되어 있지 않다. 주소 1의 네트워크 노드(A)에 제 1 및 제 2 자식 노드들(주소 2 및 6)이 연결된다. 그런데, 주소 1의 네트워크 노드(A)에 제 3 자식 노드(주소 10)로 연결될 미등록 노드가 존재하지 않는다. 따라서, 주소 1의 네트워크 노드(A)의 제 3 자식 노드(주소 10)에 할당될 주소가 낭비된다.
마찬가지로, 주소 2의 네트워크 노드(B)의 제 3 자식 노드(주소 5)에 할당될 주소, 주소 6의 네트워크 노드(B)의 제 2 및 제 3 자식 노드들(주소 8 및 9)에 할당될 주소들, 그리고 주소 16의 네트워크 노드(B)의 제 2 및 제 3 자식 노드들(주소 18 및 19)에 할당될 주소들이 낭비된다.
즉, 최대 깊이(Lm) 3, 최대 자식수(Cm) 3, 그리고 라우터 수(Rm) 2인 센서 네트워크(10)의 최대 주소 수는 22 이지만, 등록된 네트워크 노드의 수는 16 개 이다. 즉, 센서 네트워크(10)에서, 6 개의 주소가 낭비되고 있다.
도 2에 도시된 센서 노드들 모두가 센서 네트워크에 등록되려면, 라우팅 깊이 3의 네트워크 노드들(C) 또한 자식 노드들을 가지도록 설정되어야 한다. 즉, 센서 네트워크(10)의 최대 깊이(Lm)가 증가되어야 한다. 센서 네트워크(10)의 최대 깊이(Lm)가 증가되어, 모든 센서 노드들이 등록된 센서 네트워크(20)가 도 3에 도시되어 있다. 도 2 및 도 3을 참조하면, 센서 네트워크(20)는 라우팅 깊이 4의 자식 노드들(D) 및 라우팅 깊이 5의 자식 노드들(E)을 갖는다.
라우팅 깊이 5의 자식 노드들이 등록되려면, 센서 네트워크(20)의 최대 깊이(Lm)는 5와 같거나 그보다 커야 한다. 최대 깊이(Lm)가 5인 센서 네트워크의 최대 주소 수는 수학식 2를 참조하여 계산될 수 있다. 최대 깊이(Lm)가 5인 센서 네트워크의 최대 주소 수는 94 이다. 즉, 센서 네트워크(20)에서, 등록될 수 있는 네트워크 노드들의 수는 94 개이다. 반면, 네트워크(20)에 등록된 네트워크 노드들의 수는 36 개 이다. 즉, 센서 네트워크(20)에서, 58 개의 주소들이 낭비된다.
예시적으로, 지그비(ZigBee) 네트워크는 16비트 주소를 사용한다. 16비트 주소에 의해 할당될 수 있는 주소들은 2^16=65535 개 이다. 센서 네트워크(10)의 최대 주소 수는 수학식 2에 정의되어 있다. 최대 자식수(Cm) 및 라우터 수(Rm) 가 각각 3 및 2로 고정되어 있고, 최대 깊이(Lm)가 증가되는 것으로 가정한다. 이때, 최대 깊이(Lm) 및 최대 주소 수의 관계는 표 2에 기재되어 있다.
최대 깊이(Lm) 최대 주소 수(MaxAddress)
4 46
5 94
6 190
13 24574
14 49150
15 98302
최대 주소 수는 Cskip(0)의 함수이다. Cskip(0)는 라우터 수(Rm)에 대한 최대 깊이(Lm)의 승(square)에 의존하는 함수이다. 즉, 최대 깊이(Lm)가 증가할수록, 최대 주소 수는 기하급수적으로 증가한다. 표 2에 기재된 바와 같이, 최대 깊이(Lm)가 15에 도달하면, 센서 네트워크의 최대 주소 수는 98302 개 이다. 이는 16 비트 주소로 할당할 수 있는 주소 수 65535 개 보다 많다. 따라서, 16비트 주소를 사용하며, 최대 자식수(Cm) 및 라우터 수(Rm)가 각각 3 및 2로 설정된 센서 네트워크에서, 최대 깊이(Lm)는 15 보다 작은 값으로 한정된다.
요약하면, 도 1 및 도 2를 참조하여 설명된 토폴로지는 주소의 낭비를 초래하며, 최대 깊이(Lm)가 한정된다. 그리고, 최대 깊이(Lm)가 증가할수록, 낭비되는 주소의 수가 증가한다.
상술한 바와 같은 문제를 해결하기 위하여, 본 발명의 실시 예에 따른 센서 네트워크는 주소를 제 1 영역 및 제 2 영역으로 분할한다. 그리고, 제 1 영역의 주소에 기반하여 클러스터를 구성하고, 제 2 영역의 주소에 기반하여 확장성을 제공한다.
도 4는 본 발명의 실시 예에 따른 네트워크 주소를 보여주는 블록도이다. 도 4를 참조하면, 네트워크 주소는 제 1 영역(n 비트 내부 주소) 및 제 2 영역(m 비트 클러스터 주소)으로 분할된다.
도 5는 도 4의 네트워크 주소에 기반한 네트워크를 보여주는 블록도이다. 도 4 및 도 5를 참조하면, 메인 클러스터 및 제 1 내지 제 3 클러스터들을 포함하는 서브 클러스터들이 도시되어 있다.
센서 네트워크가 생성될 때, 네트워크의 최대 깊이(Lm), 최대 자식수(Cm), 그리고 라우터 수(Rm)가 설정된다. 네트워크의 최대 깊이(Lm), 최대 자식수(Cm), 그리고 라우터 수(Rm)에 의해 생성되는 네트워크의 최대 주소 수가 n 비트 내부 주소에 의해 할당될 수 있는 주소 수 보다 작도록, 네트워크의 최대 깊이(Lm), 최대 자식수(Cm), 그리고 라우터 수(Rm)가 설정된다. 즉, 센서 네트워크의 네트워크 노드들의 수가 n 비트 내부 주소에 의해 식별될 수 있도록, 네트워크의 최대 깊이(Lm), 최대 자식수(Cm), 그리고 라우터 수(Rm)가 설정된다. 설정된 최대 깊이(Lm), 최대 자식수(Cm), 그리고 라우터 수(Rm)에 기반하여, 메인 클러스터가 생성된다.
메인 클러스터가 생성된 후에도, 미등록 노드가 존재할 수 있다. 예를 들면, 도 2를 참조하여 설명된 바와 같이, 네트워크의 최대 깊이(Lm)의 한계로 인해 미등록 노드가 존재할 수 있다. 본 발명의 실시 예에 따르면, m 비트 클러스터 주소에 기반하여 서브 클러스터가 생성된다. 그리고, 미등록 노드는 서브 클러스터에 등록된다.
미등록 노드가 검출되면, 미등록 노드를 검출한 네트워크 노드(이하에서, 검출 노드라 부르기로 함)는 코디네이터 노드(CO)에 클러스터 요청을 전송한다. 클러스터 요청이 수신되면, 코디네이터 노드(CO)는 m 비트 클러스터 주소 중 자유(free) 주소를 선택한다. 그리고, 선택된 주소 및 클러스터 응답을 검출 노드로 전송한다.
클러스터 응답에 기반하여, 검출 노드는 서브 클러스터를 생성한다. 서브 클러스터에서, 검출 노드는 서브 코디네이터로 동작한다. 서브 클러스터 내의 네트워크 노드들은 n 비트 내부 주소에 의해 식별된다. 예시적으로, 도 1 및 도 2를 참조하여 설명된 바와 같이, 서브 클러스터는 분산 주소 할당(Distributed Address Assignment) 기반의 트리 구조로 생성된다. 서브 코디네이터는 서브 클러스터에 대응하는 최대 깊이(Lm), 자식 수(Cm), 그리고 라우터 수(Rm)에 기반하여 서브 클러스터를 생성한다. 예시적으로, 서브 클러스터의 최대 깊이(Lm), 자식 수(Cm), 그리고 라우터 수(Rm)는 메인 클러스터의 최대 깊이(Lm), 자식 수(Cm), 그리고 라우터 수(Rm)와 동일하다. 다른 예로서, 서브 클러스터의 최대 깊이(Lm), 자식 수(Cm), 그리고 라우터 수(Rm)는 메인 클러스터의 최대 깊이(Lm), 자식 수(Cm), 그리고 라우터 수(Rm)와 상이하게 설정될 수 있다.
메인 클러스터 및 서브 클러스터는 m 비트 클러스터 주소에 의해 식별된다. 즉, 클러스터 주소에 기반하여, 목표 노드가 메인 클러스터의 노드인지 또는 서브 클러스터의 노드인지 식별된다. 이후에, 내부 주소에 기반하여, 해당 클러스터의 목표 노드의 위치가 식별된다.
서브 클러스터 내의 네트워크 노드들은 내부 주소에 의해 식별되므로, 서브 클러스터의 최대 주소 수는 n 비트 내부 주소에 의해 할당될 수 있는 주소 수 보다 클 수 없다.
도 5에서, 코디네이터 및 서브 코디네이터들(또는 검출 노드들)이 점으로 표시되어 있다. 즉, 제 1 서브 클러스터는 메인 클러스터의 검출 노드로부터 생성된다. 예시적으로, 제 1 서브 클러스터의 클러스터 주소는 1인 것으로 도시되어 있다.
제 2 서브 클러스터는 제 1 서브 클러스터의 검출 노드로부터 생성된다. 예시적으로, 제 2 서브 클러스터의 클러스터 주소는 2인 것으로 도시되어 있다. 제 3 서브 클러스터는 메인 클러스터의 검출 노드로부터 생성된다. 예시적으로, 제 3 서브 클러스터의 클러스터 주소는 3인 것으로 도시되어 있다.
도 5에 도시된 바와 같이, 서브 클러스터(예를 들면, 제 2 서브 클러스터)는 다른 서브 클러스터(예를 들면, 제 1 서브 클러스터)의 검출 노드로부터 생성될 수 있다. 따라서, m 비트 클러스터 주소의 범위 내에서, 센서 네트워크의 라우팅 깊이는 서브 클러스터에 의해 확장될 수 있다. 즉, 서브 클러스터를 동적으로 생성함으로써, 센서 네트워크에 확장성이 제공된다.
요약하면, n 비트 내부 주소에 기반하여 최대 깊이(Lm), 최대 자식수(Cm), 그리고 라우터 수(Rm)가 설정된다. 설정된 최대 깊이(Lm), 최대 자식수(Cm), 그리고 라우터 수(Rm)에 기반하여, 메인 클러스터가 생성된다. 이후에, 미등록 노드가 검출되면, 서브 클러스터가 생성되어 미등록 노드에 주소가 할당된다. 미등록 노드가 검출될 때 동적으로 서브 클러스터가 생성되므로, 도 1 내지 도 3을 참조하여 설명된 네트워크(10)보다 주소 낭비가 감소된다.
도 6은 도 5의 동적 클러스터 생성에 기반한 센서 네트워크(30)를 보여주는 블록도이다. 예시적으로, 내부 주소에 기반하여, 최대 깊이(Lm)는 3으로, 최대 자식수(Cm)는 3으로, 그리고 라우터 수(Rm)는 2로 설정된 것으로 가정하자. 최대 깊이(Lm), 최대 자식수(Cm), 그리고 라우터 수(Rm)에 기반하여, 메인 클러스터(100)가 생성된다.
메인 클러스터(100) 및 서브 클러스터들(200, 300, 400)은 동일한 토폴로지를 가지며, 동일한 최대 주소수를 갖는 것으로 가정한다. 즉, 메인 클러스터(100) 및 서브 클러스터들(200, 300, 400)의 최대 깊이(Lm)는 3, 최대 자식수(Cm)는 3, 그리고 라우터 수(Rm)는 2인 것으로 가정한다.
미등록 노드들이 검출되면, 검출 노드에 의해 서브 클러스터들(200, 300, 400)이 생성된다. 검출 노드들(또는 서브 코디네이터들)은 사선으로 표시되어 있다.
제 1 서브 클러스터(200)의 검출 노드(C)는 제 1 경로(P1)를 통해 코디네이터 노드(CO)에 클러스터 요청을 전송한다. 클러스터 응답은 코디네이터 노드(CO)로부터 제 1 경로(P1)의 역경로를 통해 제 1 서브 클러스터(200)의 검출 노드(C)에 전달된다. 이때, 클러스터 응답이 전달되는 경로 상의 노드들, 즉 코디네이터 노드(CO)의 제 1 자식 노드(A) 및 그것의 제 1 자식 노드(B)는 제 1 서브 클러스터(200)에 할당되는 클러스터 주소를 저장하도록 구성된다. 이후에, 제 1 서브 클러스터(200)의 주소를 목표로 하는 메시지가 수신되면, 경로상의 노드들은, 내부 주소에 관계없이, 메시지를 제 1 서브 클러스터(200)의 검출 노드(C)로 전달한다. 제 1 서브 클러스터(C)의 검출 노드(C)는 제 1 서브 클러스터(200)의 서브 코디네이터 노드로 동작한다.
마찬가지로, 미등록 노드가 검출된 때에, 제 3 서브 클러스터(300)의 검출 노드(C)는 제 2 경로(P2)를 통해 클러스터 요청을 전송한다. 클러스터 요청은 제 2 경로(P2)의 역 경로를 통해 코디네이터 노드(CO)로부터 수신된다. 경로 상의 노드들, 즉 코디네이터 노드(CO)의 제 2 자식 노드(A) 및 그것의 제 1 자식 노드(B)는 제 2 서브 클러스터(300)에 할당된 클러스터 주소를 저장하도록 구성된다. 제 2 서브 클러스터(300)의 검출 노드(C)는 제 2 서브 클러스터(300)의 서브 코디네이터 노드로 동작한다.
제 3 서브 클러스터(400)의 검출 노드(F)는 제 3 경로(P3) 및 제 2 경로(P2)를 통해 클러스터 요청을 전송한다. 클러스터 응답은 제 2 경로(P2)의 역경로 및 제 3 경로(P3)의 역경로를 통해 코디네이터 노드(CO)로부터 수신된다. 경로상의 노드들, 즉 코디네이터 노드(CO)의 제 2 자식 노드, 그것의 제 1 자식 노드(B), 그것의 제 1 자식 노드(C), 그것의 제 2 자식 노드(D), 그리고 그것의 제 2 자식 노드(E)는 제 4 서브 클러스터(400)에 할당된 클러스터 주소를 저장하도록 구성된다. 제 3 서브 클러스터(400)의 검출 노드(F)는 제 3 서브 클러스터(400)의 서브 코디네이터 노드로 동작한다.
메인 클러스터(100)의 최대 주소수는 22개 이다. 클러스터들(100, 200, 300, 400)에서, 서브 코디네이터 노드는 상위 클러스터의 최대 깊이 노드이다. 즉, 상위 및 하위 클러스터에서, 하나의 네트워크 노드가 서브 코디네이터 노드 및 최대 깊이 노드로 중복된다. 따라서, 서브 클러스터들(200, 300, 400) 각각의 최대 주소 수는 21 개 이다. 즉, 센서 네트워크(30)의 최대 주소 수는 85개 이다. 그리고, 36개의 네트워크 노드들이 센서 네트워크(30)에 등록되어 있다. 도 3을 참조하여 설명된 센서 네트워크(20)와 비교하면, 센서 네트워크(30)에서 낭비되는 주소의 수가 감소된다.
또한, 도 3을 참조하여 설명된 센서 네트워크(20)의 라우팅 깊이는 1 내지 5의 값을 갖는다. 그리고, 라우팅 깊이를 6까지 확장하려면, 센서 네트워크(20)의 최대 주소 수는 94로부터 190으로 증가되어야 한다.
반면, 센서 네트워크(30)는 85개의 최대 주소수를 이용하여 1 내지 9의 라우팅 깊이를 구현한다. 그리고, 라우팅 깊이가 확장되려면, 서브 클러스터가 제 3 서브 클러스터(400)의 하위 클러스터로 추가되는 것으로 충분하다. 즉, 센서 네트워크(30)의 최대 주소 수가 21 만큼 증가되면, 센서 네트워크(30)의 라우팅 깊이는 1 내지 12로 확장된다. 따라서, 도 3을 참조하여 설명된 센서 네트워크(20)와 비교하면, 센서 네트워크(30)에 확장성이 제공된다.
도 7은 도 6의 센서 네트워크(30)가 생성되는 과정을 설명하기 위한 순서도이다. 도 6 및 도 7을 참조하면, S110 단계에서, 코디네이터 노드(CO)는 클러스터 주소 및 내부 주소를 설정한다. 예를 들면, 네트워크(30)에 할당된 주소들 중 일부는 클러스터 주소들로 설정되고, 나머지는 내부 주소들로 설정된다. 이후에, 설정된 내부 주소에 기반하여, 최대 깊이(Lm), 최대 자식수(Cm), 그리고 라우터 수(Rm)가 설정된다.
설정된 최대 깊이(Lm), 최대 자식수(Cm), 그리고 라우터 수(Rm)에 기반하여, 메인 클러스터가 생성된다. S115 단계에서 중간 노드가 생성되고, S120 단계에서 최대 깊이 노드가 생성된다. S115 단계는 적어도 하나의 라우팅 깊이에 대응하는 적어도 하나의 네트워크 노드들을 등록하는 동작을 포함한다.
S125 단계에서, 최대 깊이 노드에 의해 미등록 노드가 검출된다. 최대 깊이 노드는 라우팅 깊이가 센서 네트워크의 최대 깊이(Lm)에 대응하는 네트워크 노드이다. 즉, 메인 클러스터에서, 최대 깊이 노드는 자식 노드들을 갖지 않는 노드들이다.
미등록 노드가 검출되면, 검출 노드(미등록 노드를 검출한 최대 깊이 노드)는 클러스터 요청을 생성한다. 예시적으로, 클러스터 요청은 검출된 미등록 노드의 수를 포함한다. 예시적으로, 클러스터 요청은 검출된 미등록 노드와의 통신 품질을 더 포함한다. 검출 노드는 클러스터 요청을 전송한다. 클러스터 요청은 중간 노드를 통해(S125 단계) 코디네이터 노드(CO)에 전달된다(S130 단계).
S135 단계에서, 코디네이터 노드(CO)는 클러스터 주소를 할당한다. 예를 들면, 코디네이터 노드(CO)는 m 비트 클러스터 주소에 따른 클러스터 주소들 중 자유(free) 주소를 선택한다. 그리고, 선택된 자유 클러스터 주소를 검출 노드에 할당한다. 할당된 클러스터 주소를 포함하는 클러스터 응답은 중간 노드를 통해(S140 단계) 검출 노드로 전달된다(S150 단계). 클러스터 응답이 전송되는 경로 상의 중간 노드는 클러스터 응답의 클러스터 주소를 저장한다(S145 단계). S155 단계에서, 클러스터 응답에 기반하여, 검출 노드는 서브 클러스터를 생성한다. 이후에, 중간 노드는 저장한 클러스터 주소를 이용하여, 서브 클러스터를 목표로 하는 메시지를 라우팅한다.
예시적으로, 하나의 미등록 노드가 복수의 최대 깊이 노드들에 의해 검출된 경우, 코디네이터 노드(CO)는 복수의 클러스터 요청을 수신할 것이다. 코디네이터 노드는 미등록 노드 및 검출 노드 사이의 통신 품질, 코디네이터 노드(CO) 및 검출 노드 사이의 통신 거리 등에 기반하여, 검출 노드들 중 하나를 선택할 것이다. 그리고, 서브 클러스터 생성을 허여하는 클러스터 응답이 선택된 검출 노드에 전달될 것이다. 예시적으로, 서브 클러스터 생성을 불허하는 클러스터 응답이 비선택된 검출 노드들에 전달될 것이다.
도 8은 도 4 내지 도 7을 참조하여 설명된 센서 네트워크(30)의 네트워크 노드의 동작을 설명하기 위한 순서도이다. 예시적으로, 센서 네트워크(30)를 형성하는 동작, 또는 센서 네트워크(30)를 확장(또는 갱신)하는 동작 시의 네트워크 노드의 동작이 설명된다.
도 8을 참조하면, S210 단계에서, 미등록 노드가 검출되는지 판별된다. 미등록 노드가 검출되지 않으면, 네트워크 형성(또는 확장 또는 갱신) 동작은 종료된다. 즉, 네트워크 노드는 통상적인 통신 또는 센싱을 수행한다.
미등록 노드가 검출되면, S220 단계가 수행된다. S220 단계에서, 네트워크 노드가 최대 깊이 노드인지 판별된다. 예를 들면, 네트워크 노드는 센서 네트워크의 최대 깊이(Lm) 및 자신의 라우팅 깊이를 비교할 것이다. 네트워크 노드가 최대 깊이 노드가 아니면, 네트워크 노드는 자식 노드를 가질 수 있다. S230 단계에서, 네트워크 노드는 미등록 노드는 클러스터 내의 자식 노드로 등록한다. 예를 들면, 네트워크 노드가 메인 클러스터 내의 노드인 경우, 미등록 노드는 메인 클러스터 내의 자식 노드로 등록된다. 네트워크 노드가 서브 클러스터 내의 노드인 경우, 미등록 노드는 서브 클러스터 내의 자식 노드로 등록된다.
네트워크 노드가 최대 깊이 노드이면, S240 단계가 수행된다. 최대 깊이 노드는 자식 노드를 가질 수 없다. 따라서, 미등록 노드를 등록하기 위하여, 네트워크 노드는 클러스터 요청을 생성한다. S240 단계에서, 네트워크 노드는 클러스터 요청을 전송한다. 도 6 및 도 7을 참조하여 설명된 바와 같이, 클러스터 요청은 중간 노드를 통해 코디네이터 노드(CO)에 전달된다. 클러스터 요청에 기반하여, 코디네이터 노드(CO)는 클러스터 응답을 생성한다. 클러스터 응답은 중간 노드를 통해 전달된다. S250 단계에서, 네트워크 노드는 클러스터 응답을 수신한다.
S260 단계에서, 수신된 클러스터 응답에 기반하여, 네트워크 노드는 서브 클러스터를 생성한다. 예시적으로, 서브 클러스터의 토폴로지(예를 들면, 최대 깊이(Lm), 최대 자식수(Cm), 그리고 라우터 수(Rm))는 메인 클러스터와 동일하다. 예시적으로, 서브 클러스터의 토폴로지는 메인 클러스터와 상이하다. 예시적으로, 서브 클러스터들의 토폴로지들은 각각 상이하다. 예시적으로, 클러스터 응답은 서브 클러스터의 토폴로지 정보를 포함한다. 토폴로지 정보에 기반하여, 네트워크 노드는 서브 클러스터를 생성한다.
S270 단계에서, 네트워크 노드는 미등록 노드를 생성된 서브 클러스터 내의 자식 노드로 등록한다.
도 9는 도 4 내지 도 7을 참조하여 설명된 센서 네트워크(30)의 코디네이터 노드(CO)의 동작을 설명하기 위한 순서도이다. 예시적으로, 센서 네트워크(30)를 형성하는 동작, 또는 센서 네트워크(30)를 확장(또는 갱신)하는 동작 시의 네트워크 노드의 동작이 설명된다.
도 9를 참조하면, S310 단계에서, 코디네이터 노드(CO)는 클러스터 주소 및 내부 주소를 설정한다. 예를 들면, 코디네이터 노드는 센서 네트워크(30)에 제공된 주소들의 일부를 클러스터 주소들로 설정하고, 나머지를 내부 주소들로 설정한다.
S320 단계에서, 코디네이터 노드(CO)는 설정된 내부 주소들에 기반하여, 메인 클러스터를 생성한다. 예를 들면, 메인 클러스터는 최대 깊이(Lm), 최대 자식수(Cm), 그리고 라우터 수(Rm)에 기반하여 생성된다. 예를 들면, 최대 깊이(Lm), 최대 자식수(Cm), 그리고 라우터 수(Rm)는 사용자에 의해 프로그램될 것이다.
S330 단계에서, 클러스터 요청이 수신되는지 판별된다. 클러스터 요청이 수신되지 않으면, 네트워크 형성(또는 확장 또는 갱신) 동작이 종료된다. 즉, 코디네이터 노드(CO)는 통상적인 통신을 수행한다. 클러스터 요청이 수신되면, S340 단계가 수행된다.
S340 단계에서, 코디네이터 노드(CO)는 클러스터 주소들 중 자유(free) 주소를 선택한다. 그리고 선택된 자유 주소를 포함하는 클러스터 응답을 생성한다. S350 단계에서, 코디네이터 노드는 클러스터 응답을 전송한다.
도 10은 도 4 내지 도 7을 참조하여 설명된 센서 네트워크(30)를 형성(또는 확장 또는 갱신)하는 방법을 설명하기 위한 순서도이다. 도 10을 참조하면, S410 단계에서, 클러스터 주소 및 내부 주소가 설정된다. S420 단계에서, 설정된 내부 주소에 기반하여, 메인 클러스터가 생성된다. 메인 클러스터는 최대 깊이(Lm), 최대 자식수(Cm), 그리고 라우터 수(Rm)에 기반하여 생성된다. 예시적으로, 최대 깊이(Lm), 최대 자식수(Cm), 그리고 라우터 수(Rm)는 사용자에 의해 프로그램된다.
S430 단계에서, 미등록 노드가 검출되는지 판별된다. 예시적으로, 메인 클러스터 내의 자식 노드로 등록될 수 없는 미등록 노드가 검출되는지 판별된다. 예를 들면, 미등록 노드가 메인 클러스터의 최대 깊이 노드에 의해 검출되는지 판별된다. 미등록 노드가 검출되지 않으면, 동작이 종료된다. 즉, 센서 네트워크(30)의 형성(또는 확장 또는 갱신)이 완료된다. 미등록 노드가 검출되면, S440 단계가 수행된다.
S440 단계에서, 클러스터 주소가 할당된다. 그리고, S450 단계에서, 미등록 노드를 검출한 검출 노드가 서브 코디네이터로 설정된다. 이후에, S460 단계에서, 서브 코디네이터로부터 서브 클러스터가 생성된다.
상술한 바와 같이, 본 발명의 실시 예에 따른 센서 네트워크(30)는 미등록 의 검출에 응답하여 서브 클러스터를 동적으로 생성한다. 따라서, 낭비되는 주소가 최소화되며, 확장성이 향상된다.
도 11은 도 6의 센서 네트워크(30)를 포함하는 센서 시스템의 제 1 실시 예를 보여준다. 도 11을 참조하면, 센서 시스템은 센서 네트워크(30) 및 제어 센터(70)를 포함한다. 센서 네트워크(30)는, 도 4 내지 도 10을 참조하여 설명된 바와 마찬가지로, 미등록 노드가 검출될 때 서브 클러스터를 동적으로 생성한다.
제어 센터(70)는 센서 네트워크(30)로부터 센싱 결과를 수집한다. 예를 들면, 센서 네트워크(30)로부터 수집되는 센싱 결과에 기반하여, 제어 센터(70)는 센서 네트워크(30)에 대응하는 영역을 실시간 감시할 것이다. 예를 들면, 센서 네트워크(30)로부터 수집되는 센싱 결과에 기반하여, 제어 센터(70)는 센서 네트워크(30)에 대응하는 영역에서 범죄, 재난, 사고, 국경분쟁 등과 같은 이벤트가 발생하는지 감시할 것이다. 예를 들면, 센서 네트워크(30)로부터 수집되는 센싱 결과에 기반하여, 제어 센터(70)는 센서 네트워크(30)에 대응하는 영역의 기상 상황, 주차 상황, 조명 제어 상황 등과 같은 정보를 획득할 것이다.
예시적으로, 둘 또는 그 이상의 센서 네트워크들이 제어 센터(70)에 연결될 수 있다. 제어 센터(70)는 둘 또는 그 이상의 센서 네트워크들에 대응하는 영역을 실시간 감시할 것이다.
도 12는 도 6의 센서 네트워크(30)를 포함하는 센서 시스템의 제 2 실시 예를 보여준다. 도 12를 참조하면, 센서 시스템은 센서 네트워크들(30a~30c), 게이트 웨이들(40a~40c, 60), IP (internet protocol) 네트워크(50), 그리고 제어 센터(70)를 포함한다.
센서 네트워크들(30a~30c) 각각은, 도 4 내지 도 10을 참조하여 설명된 바와 마찬가지로, 미등록 노드가 검출될 때 서브 클러스터를 동적으로 생성한다. 센서 네트워크들(30a~30c)은 대응하는 게이트 웨이들(40a~40c)에 각각 연결된다. 게이트 웨이들(40a~40c)을 통해, 센서 네트워크들(30a~30c)은 IP 네트워크(50)에 연결된다. 제어 센터(70) 또한 게이트 웨이(60)를 통해 IP 네트워크(50)에 연결된다.
제어 센터(70)는 센서 네트워크들(30a~30c)로부터 센싱 결과를 수집한다. 예를 들면, 센서 네트워크들(30a~30c)의 센싱 결과는 대응하는 게이트 웨이들(40a~40c)을 통해 IP 네트워크(50)로 전달될 것이다. IP 네트워크(50)에서, 센싱 결과들은 제어 센터(70)에 연결된 게이트 웨이(60)로 전달될 것이다. 그리고, 제어 센트(70)는 센서 네트워크들(30a~30c)의 센싱 결과들을 게이트 웨이(60)로부터 수신할 것이다.
센서 네트워크들(30a~30c)로부터 수집되는 센싱 결과에 기반하여, 제어 센터(70)는 센서 네트워크들(30a~30c)에 대응하는 영역을 실시간 감시할 것이다. 예를 들면, 센서 네트워크들(30a~30c)로부터 수집되는 센싱 결과에 기반하여, 제어 센터(70)는 센서 네트워크들(30a~30c)에 대응하는 영역들에서 범죄, 재난, 사고, 국경분쟁 등과 같은 이벤트가 발생하는지 감시할 것이다. 예를 들면, 센서 네트워크들(30a~30c)로부터 수집되는 센싱 결과에 기반하여, 제어 센터(70)는 센서 네트워크들(30a~30c)에 대응하는 영역의 기상 상황, 주차 상황, 조명 제어 상황 등과 같은 정보를 획득할 것이다.
센서 네트워크들(30a~30c)이 IP 네트워크에 연결됨으로써, 제어 센터(70)는 복수의 센서 네트워크들(30a~30c)에 기반한 광역 감시를 수행할 것이다. 예를 들면, 제어 센터(70)는 읍, 면, 동, 구, 군, 시, 도, 또는 국가 단위에 대응하는 영역에서, 실시간 감시를 수행할 것이다.
예시적으로, 센서 네트워크들(30a~30c)은 위성을 통해 IP 네트워크(50)에 연결될 것이다. 센서 네트워크들(30a~30c)이 위성을 통해 IP 네트워크(50)에 연결되면, 도서 지역, 산간 지역, 해외 지사, 해외 공관 등과 같은 격리 지역의 감시도 수행될 수 있음이 이해될 것이다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 실시 예에 따른 센서 네트워크의 토폴로지를 보여주는 다이어그램이다.
도 2는 센서 노드들이 도 1에 도시된 토폴로지에 따라 네트워크를 구성하는 실시 예를 보여주는 다이어그램이다.
도 3은 도 2의 모든 센서 노드들을 센서 네트워크에 등록한 실시 예를 보여주는 다이어그램이다.
도 4는 본 발명의 실시 예에 따른 네트워크 주소를 보여주는 블록도이다.
도 5는 도 4의 네트워크 주소에 기반한 네트워크를 보여주는 블록도이다.
도 6은 도 5의 동적 클러스터 생성에 기반한 센서 네트워크를 보여주는 블록도이다.
도 7은 도 6의 센서 네트워크가 생성되는 과정을 설명하기 위한 순서도이다.
도 8은 도 4 내지 도 7을 참조하여 설명된 센서 네트워크의 네트워크 노드의 동작을 설명하기 위한 순서도이다.
도 9는 도 4 내지 도 7을 참조하여 설명된 센서 네트워크의 코디네이터 노드의 동작을 설명하기 위한 순서도이다.
도 10은 도 4 내지 도 7을 참조하여 설명된 센서 네트워크를 형성(또는 확장 또는 갱신)하는 방법을 설명하기 위한 순서도이다.
도 11은 도 6의 센서 네트워크를 포함하는 센서 시스템의 제 1 실시 예를 보여준다.
도 12는 도 6의 센서 네트워크를 포함하는 센서 시스템의 제 2 실시 예를 보여준다.

Claims (13)

  1. 분산 주소 할당(distributed address assignment)에 기반한 트리(tree) 구조 네트워크의 특정 클러스터의 네트워크 노드의 동작 방법에 있어서:
    미등록 노드를 검출하는 단계;
    상기 네트워크 노드의 라우팅 깊이를 판별하는 단계; 그리고
    상기 판별된 라우팅 깊이가 기준값에 대응할 때, 클러스터 주소에 기반하여 서브 클러스터를 생성하고, 그리고 내부 주소에 기반하여 상기 검출된 미등록 노드를 상기 생성된 서브 클러스터 내의 자식 노드로 등록하는 단계를 포함하는 동작 방법.
  2. 제 1 항에 있어서,
    상기 판별된 라우팅 깊이가 상기 기준값 보다 작을 때, 상기 내부 주소에 기반하여 상기 검출된 미등록 노드를 상기 특정 클러스터 내의 자식 노드로 등록하는 단계를 더 포함하는 동작 방법.
  3. 제 1 항에 있어서,
    상기 기준값은 상기 특정 클러스터의 최대 깊이에 대응하는 동작 방법.
  4. 제 1 항에 있어서,
    상기 생성된 서브 클러스터에 대응하는 서브 코디네이터(sub coordinator)로 동작하는 단계를 더 포함하는 동작 방법.
  5. 제 1 항에 있어서,
    상기 판별된 라우팅 깊이가 기준값에 대응할 때, 상기 검출된 미등록 노드에 대응하는 클러스터 요청을 부모 노드에 전송하는 단계를 더 포함하는 동작 방법.
  6. 제 5 항에 있어서,
    상기 판별된 라우팅 깊이가 기준값에 대응할 때, 상기 전송된 클러스터 요청에 따른 클러스터 주소를 부모 노드로부터 수신하는 단계를 더 포함하고,
    상기 서브 클러스터는 상기 수신된 클러스터 주소에 기반하여 생성되는 동작 방법.
  7. 분산 주소 할당(distributed address assignment)에 기반한 트리(tree) 구조 네트워크의 코디네이터 노드의 동작 방법에 있어서:
    상기 네트워크에 할당된 주소들을 클러스터 주소들 및 내부 주소들로 분할하는 단계;
    상기 내부 주소들에 기반하여 자식 노드를 등록하는 단계;
    클러스터 요청이 수신될 때, 상기 클러스터 주소들 중 자유(free) 주소를 선택하고, 상기 선택된 자유 클러스터 주소를 자식 노드로 전송하는 단계를 포함하는 동작 방법.
  8. 제 7 항이 있어서,
    상기 선택된 자유 클러스터 주소가 전송되는 자식 노드를 상기 선택된 자유 클러스터 주소에 대응하는 라우팅 경로로 설정하는 단계를 더 포함하는 동작 방법.
  9. 분산 주소 할당(distributed address assignment)에 기반한 트리(tree) 구조 네트워크를 형성하는 형성 방법에 있어서:
    상기 네트워크에 할당된 주소들을 클러스터 주소들 및 내부 주소들로 분할하는 단계;
    상기 내부 주소들에 기반하여, 메인 클러스터를 생성하는 단계; 그리고
    상기 메인 클러스터의 생성이 완료된 후에 미등록 노드가 검출될 때, 상기 클러스터 주소들에 기반하여 서브 클러스터를 생성하는 단계를 포함하는 동작 방법.
  10. 제 9 항에 있어서,
    상기 내부 주소들에 기반하여 상기 검출된 미등록 노드를 상기 생성된 서브 클러스터에 등록하는 단계를 더 포함하는 형성 방법.
  11. 제 9 항에 있어서,
    상기 생성된 서브 클러스터의 생성이 완료된 후에 제 2 미등록 노드가 검출될 때, 상기 클러스터 주소들에 기반하여 제 2 서브 클러스터를 생성하는 단계를 더 포함하는 형성 방법.
  12. 제 9 항에 있어서,
    상기 미등록 노드를 검출한 네트워크 노드를 상기 생성된 서브 클러스터의 서브 코디네이터 노드로 설정하는 단계를 더 포함하는 형성 방법.
  13. 제 9 항에 있어서,
    상기 클러스터 주소들에 기반하여 서브 클러스터를 생성하는 단계는
    상기 클러스터 주소들 중 자유 주소를 선택하는 단계; 그리고
    상기 선택된 자유 클러스터 주소를 상기 서브 클러스터에 할당하는 단계를 포함하는 형성 방법.
KR1020090122459A 2009-12-10 2009-12-10 분산 주소 할당에 기반한 트리 구조의 네트워크의 네트워크 노드의 동작 방법 및 네트워크의 형성 방법 KR101310304B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090122459A KR101310304B1 (ko) 2009-12-10 2009-12-10 분산 주소 할당에 기반한 트리 구조의 네트워크의 네트워크 노드의 동작 방법 및 네트워크의 형성 방법
US12/822,295 US20110145378A1 (en) 2009-12-10 2010-06-24 Operating method of network node of network with tree structure based on distributed address assignment and network forming method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090122459A KR101310304B1 (ko) 2009-12-10 2009-12-10 분산 주소 할당에 기반한 트리 구조의 네트워크의 네트워크 노드의 동작 방법 및 네트워크의 형성 방법

Publications (2)

Publication Number Publication Date
KR20110065798A true KR20110065798A (ko) 2011-06-16
KR101310304B1 KR101310304B1 (ko) 2013-09-23

Family

ID=44144120

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090122459A KR101310304B1 (ko) 2009-12-10 2009-12-10 분산 주소 할당에 기반한 트리 구조의 네트워크의 네트워크 노드의 동작 방법 및 네트워크의 형성 방법

Country Status (2)

Country Link
US (1) US20110145378A1 (ko)
KR (1) KR101310304B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102008208B1 (ko) * 2018-02-02 2019-08-07 서울대학교 산학협력단 무선 네트워크 구축 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008025925A1 (fr) * 2006-08-30 2008-03-06 France Telecom Procede de routage de donnees dans un reseau comprenant des noeuds organises en groupements
CN103237363B (zh) * 2013-04-02 2015-09-02 西安电子科技大学 基于模糊移动尺度的认知无线电Ad Hoc网络分簇方法
CN103634375B (zh) * 2013-11-07 2017-01-11 华为技术有限公司 扩容集群节点的方法、装置及设备
US10771550B2 (en) * 2016-12-28 2020-09-08 Amazon Technologies, Inc. Data storage system with redundant internal networks
CN109542595B (zh) * 2017-09-21 2023-02-24 阿里巴巴集团控股有限公司 一种数据采集方法、装置和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7889674B2 (en) * 2004-05-04 2011-02-15 Samsung Electronics Co., Ltd. Zigbee network device for assigning addresses to child nodes after constructing cluster-tree structure, address assigning method and routing method
US7359836B2 (en) * 2006-01-27 2008-04-15 Mitsubishi Electric Research Laboratories, Inc. Hierarchical processing in scalable and portable sensor networks for activity recognition
KR100921631B1 (ko) * 2007-12-14 2009-10-15 한국전자통신연구원 지그비 네트워크에서 확장성 증대를 위한 하위노드 연결방법 및 하위노드 연결 시스템
TWI392279B (zh) * 2008-04-23 2013-04-01 Inst Information Industry 長鏈狀無線網路之網路位址分配與給定方法以及路由方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102008208B1 (ko) * 2018-02-02 2019-08-07 서울대학교 산학협력단 무선 네트워크 구축 방법

Also Published As

Publication number Publication date
US20110145378A1 (en) 2011-06-16
KR101310304B1 (ko) 2013-09-23

Similar Documents

Publication Publication Date Title
KR101310304B1 (ko) 분산 주소 할당에 기반한 트리 구조의 네트워크의 네트워크 노드의 동작 방법 및 네트워크의 형성 방법
EP1941704B1 (en) A method for assigning addresses to nodes in wireless networks
KR101255857B1 (ko) 트리-안내 분산 링크 스테이트 라우팅 방법
US7535855B2 (en) Structured addressing scheme for wireless networks
US7672289B2 (en) Method for defining, allocating and assigning addresses in ad hoc wireless networks
JP2005065267A (ja) 発信元ノードから宛先ノードまでの経路を探索する方法
CN105450788A (zh) 网络的地址产生
Chaudhuri et al. TreeCast: A stateless addressing and routing architecture for sensor networks
Arya et al. Optimization approach for energy minimization and bandwidth estimation of WSN for data centric protocols
Al-Harbawi et al. Improved tree routing (ImpTR) protocol for ZigBee network
Theoleyre et al. A self-organization structure for hybrid networks
Fang et al. A preemptive distributed address assignment mechanism for wireless sensor networks
WO2012060686A1 (en) Method of communication in wireless sensor networks
Upadhyay et al. Comparison and performance analysis of reactive type DSR, AODV and proactive type DSDV routing protocol for wireless mobile ad-hoc network, using NS-2 simulator
Singh et al. Address allocation for MANET merge and partition using cluster based routing
CN115529266B (zh) 一种路由选择方法、装置及设备
Sheu et al. A distributed IP address assignment scheme in ad hoc networks
US20090310519A1 (en) Address assignment method and transmission method of mobile of mobile nodes for hierarchical routing in lowpans
KR20110064136A (ko) 분산 주소 할당에 기반한 트리 구조의 네트워크의 네트워크 노드의 동작 방법, 네트워크의 형성 방법, 그리고 네트워크 노드를 포함하는 시스템
WO2016072838A1 (en) A system and method for next hop selection in a wireless sensor network
Chang et al. Design and Implementation of an Internet-of-Things Roadside Parking System Based on Raspberry Pi 3 and Bluetooth Low Energy Mesh Sensor Network.
Hickman et al. A variable length address assignment scheme for 6LoWPAN
KR100870088B1 (ko) 클러스터 라벨 기반의 지그비 메쉬 라우팅 방법
KR100928024B1 (ko) 네트워크 주소 자동 구성 방법 및 그 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
Rakotondravelona et al. Hierarchical area-based address autoconfiguration protocol for self-organized networks

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170109

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180118

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181029

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200312

Year of fee payment: 7