KR101013383B1 - 무선 네트워크에서의 이동 노드를 이용한 라우팅 방법 및 장치 - Google Patents

무선 네트워크에서의 이동 노드를 이용한 라우팅 방법 및 장치 Download PDF

Info

Publication number
KR101013383B1
KR101013383B1 KR1020080113104A KR20080113104A KR101013383B1 KR 101013383 B1 KR101013383 B1 KR 101013383B1 KR 1020080113104 A KR1020080113104 A KR 1020080113104A KR 20080113104 A KR20080113104 A KR 20080113104A KR 101013383 B1 KR101013383 B1 KR 101013383B1
Authority
KR
South Korea
Prior art keywords
node
destination address
destination
neighbor
data
Prior art date
Application number
KR1020080113104A
Other languages
English (en)
Other versions
KR20100054264A (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 KR1020080113104A priority Critical patent/KR101013383B1/ko
Publication of KR20100054264A publication Critical patent/KR20100054264A/ko
Application granted granted Critical
Publication of KR101013383B1 publication Critical patent/KR101013383B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/26Network addressing or numbering for mobility support
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/248Connectivity information update
    • 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)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

무선 네트워크에서의 이동 노드를 이용한 라우팅 방법 및 장치가 개시된다. 본 발명의 일측면에 따른 무선 네트워크의 고정 노드가 이동 노드를 이용하여 데이터를 라우팅하는 방법은 이웃 테이블(neighbor table)에서 목적지 주소를 검색하는 단계; 및 이웃 테이블에 목적지 주소가 존재하지 않으며 이웃에 이동 노드가 위치하는 경우, 이동 노드로 데이터를 전달하는 단계를 포함하되, 이동 노드는 자신의 이웃 테이블을 이용하여 목적지 주소에 따른 목적지 노드 또는 목적지 노드에 근접한 노드로 데이터를 전달한다. 본 발명에 따르면, 위치가 가변적으로 변하는 이동 노드를 무선 네트워크에 참여시킬 수 있을 뿐 아니라, 이동 노드를 이용하여 데이터를 전달하기 때문에 전달시간(time delay)의 감소와 사용하지 않는 노드들에 대한 에너지를 절약할 수 있는 효과가 있다.
라우팅, 무선 네트워크, 지그비, 트리, 이동 노드

Description

무선 네트워크에서의 이동 노드를 이용한 라우팅 방법 및 장치{Routing method using mobile node and device thereof}
본 발명은 무선 네트워크에서의 라우팅에 관한 것으로서, 좀 더 상세하게는 지그비(zigbee), PAN(Personal Area Network) 등의 무선 네트워크에서 가변적으로 위치가 변하는 이동 노드를 이용한 라우팅 방법 및 장치에 관한 것이다.
최근, 근거리 통신에 이용되는 지그비(Zigbee) 네트워크나 개인 영역 네크워크(PAN: Personal Area Network) 등의 무선 네트워크는 통상적으로 그 영역 내의 모든 디바이스가 클러스터 트리 구조(Cluster tree structure)를 이룬다. 이러한 클러스터 트리 구조에 편입(join)하는 모든 디바이스는 트리 구조에 따른 어드레스를 할당 받게 된다. 할당된 어드레스는 각 네트워크 환경에서의 라우팅 시에 사용된다.
도 1은 일반적인 무선 네트워크의 트리 구조를 나타낸 도면이다.
도 1을 참조하면, 각 디바이스(이하, 노드라 칭함)는 일반적으로 코디네이터(Coordinator)라 불리우는 트리 구조의 최 상위 루트 노드(1, root node)로부터 주소(address)를 할당 받는다. 하나의 노드를 기점으로 바로 위의 상위 계층 노드 를 부모 노드(parent node)라 칭하고, 바로 하나 아래 계층 노드를 자식 노드(child node)라 칭한다.
상기한 트리 구조의 무선 네트워크에서 소스 노드로부터 목적지 노드로 데이터를 전송하고자 할 때, 종래의 라우팅 방식은 우선적으로 자식 노드가 목적지 노드인지 여부를 판단하고, 자식 노드에 목적지 노드에 대한 정보가 없으면 곧바로 부모 노드로 데이터를 전달하도록 한다. 예를 들어, 8번 노드(3)가 데이터를 전송하고자 하는 소스 노드이고, 11번 노드(5)가 목적지 노드인 경우, 상기한 종래 라우팅 방식을 따르면, 8-4-2-1-3-7-11의 경로를 거쳐 데이터가 전송된다.
상기한 바와 같이 단순히 자식-부모간에만 데이터가 송수신 되는 경우, 상기한 예와 같은 경우에는 효율적이지 못한 라우팅이 될 수 있다. 보다 효율적인 라우팅을 위해 최근에는 각 노드들이 이웃 노드(neighbor node)들에 대한 정보(neighbor table)를 저장하고 있어 라우팅 시 이를 이용하는 방식이 개시되고 있다.
종래에 따른 이웃 테이블(neighbor table)을 이용한 방식을 살펴보면, 이웃 테이블에 목적지 노드가 존재하는지 여부를 판단하고 이웃 노드가 목적지가 아닌 경우 종래와 같이 부모-자식간의 데이터 송수신이 수행된다. 도 1을 참조하여 이에 따른 라우팅의 예를 설명하자면, 8번 노드(3)가 소스 노드이고 10번 노드(7)가 목적지 노드인 경우, 8번 노드(3)는 자신의 이웃 테이블에 10번 노드(7)에 대한 정보가 존재하는 경우 상기한 종래 방식에 따른 4-2-5-10의 경로를 거치지 않고, 곧바로 10번 노드(7)로 데이터를 전달할 수 있다. 그러나, 상기한 예와 같이 8번 노 드(3)가 소스 노드이고 11번 노드(5)가 목적지 노드인 경우를 가정해 보면, 소스 노드(3)의 이웃 테이블에 9번과 10번 노드에 대한 정보를 가지고 있더라도, 9번 및 10번 노드가 목적지가 아니기 때문에 부모 노드인 4번 노드로 데이터를 전달한다. 이에 따라 이웃 테이블을 이용하더라도 상기한 종래 방식과 같이 8-4-2-1-3-7-11의 경로를 거쳐 목적지 노드로 데이터가 전달되어 마찬가지로 효율성이 좋지 못한 문제점이 여전히 존재한다.
또한, 상기한 바와 같은 종래의 무선 네트워크는 움직임이 없이 하나의 위치에 고정된 고정 노드들로만 이루어지기 때문에, 청소 로봇 등과 같이 수시로 이동하는 노드가 네트워크에 참여할 수 없어, 이동 노드를 이용할 수 없는 문제점이 있다. 최근에는 상기한 청소 로봇과 같은 위치가 가변적으로 변하는 디바이스들이 출시되고 있어, 이동 노드들에 대한 네트워크 참여의 필요성이 대두되고 있다. 이동하는 이동 노드를 고정 노드처럼 인식하여 사용한다 하더라도 이동 노드가 위치를 변경하여 이동하는 경우 네트워크는 해당 노드를 인식할 수 없게 되어 네트워크가 끊어져 버리거나 해당 이동 노드를 라우팅에 이용할 수 없는 상황이 발생할 수 있다. 즉, 근처에 있는 노드임에도 불구하고 이웃 테이블에 등록되어 있지 않으면 이웃 노드를 이용할 경우의 효율적인 라우팅을 수행할 수 없어 코디네이터를 거쳐서 돌아가야 하는 상기한 바와 같은 트리 라우팅 방식의 전형적인 문제가 발생하게 된다.
따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 이웃 노드의 정보를 이용하여 보다 효율적인 라우팅을 수행할 수 있으며, 이동 노드를 네트워크에 참여시킬 수 있는 라우팅 방법 및 장치를 제공하기 위한 것이다.
또한, 본 발명은 이동 노드를 네트워크에 참여시킬 뿐 아니라, 이동 노드를 이용하여 라우팅 홉수를 줄일 수 있는 라우팅 방법 및 장치를 제공하기 위한 것이다.
본 발명의 다른 목적들은 이하에 서술되는 바람직한 실시예를 통하여 보다 명확해질 것이다.
본 발명의 일측면에 따르면, 무선 네트워크의 고정 노드가 이동 노드를 이용하여 데이터를 라우팅하는 방법에 있어서, (a)이웃 테이블(neighbor table)에서 목적지 주소를 검색하는 단계; 및 (b)상기 이웃 테이블에 상기 목적지 주소가 존재하지 않으며 이웃에 이동 노드가 위치하는 경우, 상기 이동 노드로 데이터를 전달하는 단계를 포함하되, 상기 이동 노드는 자신의 이웃 테이블을 이용하여 상기 목적지 주소에 따른 목적지 노드 또는 상기 목적지 노드에 근접한 노드로 상기 데이터를 전달하는 것을 특징으로 하는 라우팅 방법 및 그 방법을 실행하기 위한 프로그램이 기록된 기록매체가 제공된다.
여기서, 이웃에 진입한 상기 이동 노드의 주소를 상기 이웃 테이블에 저장하 는 단계가 상기 단계 (a)보다 선행될 수 있다.
또한, 상기 단계 (b)는, (b1)상기 이웃 테이블에 상기 목적지 주소가 존재하지 않는 경우, 하나 이상의 자식 노드 중 어느 하나가 목적지인지를 판단하는 단계; 및 (b2)목적지가 상기 자식 노드 중 어느 하나인 경우, 상기 목적지에 상응하는 자식 노드로 상기 데이터를 전송하는 단계를 포함하되, 상기 자식 노드들이 목적지와 상관이 없는 경우에 상기 이동 노드로 메시지를 전달할 수 있다. 그리고, 상기 단계 (b1)은 하기의 수학식을 이용할 수 있다.
Figure 112008078673340-pat00001
(
Figure 112008078673340-pat00002
: 해당 노드 주소,
Figure 112008078673340-pat00003
: 목적지 주소,
Figure 112008078673340-pat00004
:
Figure 112008078673340-pat00005
,
d: Depth(깊이))
그리고, 랜덤하게 움직이는 이동 노드가 무선 네트워크에 편입하여 데이터를 라우팅하는 방법에 있어서, (a)주위의 이웃 노드들의 주소를 이웃 테이블에 저장하는 단계; (b)목적지 주소를 포함한 데이터 라우팅 요청이 수신되면 상기 이웃 테이블에서 목적지 주소를 검색하는 단계; (c)상기 이웃 테이블에 상기 목적지 주소가 존재하지 않는 경우, 상기 목적지 주소가 속한 트리의 줄기 중 첫 번째 시작 노드의 주소를 계산하는 단계; 및 (d)상기 시작 노드의 자식이 상기 이웃 테이블에 존재하는지 여부를 이용하여 상기 목적지 주소에 가장 근접한 노드로 상기 데이터를 전달하는 단계를 포함하는 라우팅 방법 및 그 방법을 실행하기 위한 프로그램이 기록된 기록매체가 제공된다.
여기서, 상기 단계 (c)는 하기의 수학식을 이용할 수 있다.
Figure 112008078673340-pat00006
(여기서, m은 코디네이터로부터 목적지 주소가 해당하는 줄기의 순서이며, FirstAdd는 목적지가 속한 줄기의 첫 번째 노드의 주소임)
또한, 상기 단계 (d)는 상기 시작 노드의 자식이 상기 이웃 테이블에 위치하는지 여부를 하기의 수학식을 이용하여 판단할 수 있다.
FirstAdd ≤ NeighborTable ≤ FirstAdd + Cskip(0)
또한, 상기 단계 (d)는, 상기 시작 노드의 자식이 상기 이웃 테이블에 존재하지 않는 경우, 상기 이웃 테이블에서 가장 작은 깊이(depth)를 가진 이웃 노드로 상기 데이터를 전달한다.
또는 상기 단계 (d)는 상기 시작 노드의 자식이 상기 이웃 테이블에 존재하는 경우, 해당 노드의 개수, 해당 노드들 중 목적지를 자식으로 갖는 노드의 여부, 해당 노드가 목적지의 자식인지의 여부 중 하나 이상을 이용하여 상기 데이터를 전송하고자하는 노드를 결정한다.
또한, 상기 단계 (d)는 상기 시작 노드의 자식이 상기 이웃 테이블에 하나만이 존재하는 경우, 상기 이웃 테이블에 존재하는 상기 시작 노드의 자식 노드로 상기 데이터를 전달한다.
또는 만일 상기 단계 (d)는 상기 시작 노드의 자식이 상기 이웃 테이블에 복수개가 존재하는 경우, 상기 복수개의 노드 중 목적지를 자식으로 갖는 노드로 상기 데이터를 전송하는 단계를 포함하되, 상기 목적지를 자식으로 갖는 노드가 복수개인 경우 가장 큰 깊이를 갖는 노드를 선택하여 전송할 수 있다.
또한, 상기 단계 (d)는 상기 시작 노드의 자식이 상기 이웃 테이블에 복수개가 존재하며, 상기 복수개의 노드 중 상기 목적지의 자식인 노드로 상기 데이터를 전송하는 단계를 포함하되, 상기 복수개의 노드 중 상기 목적지의 자식인 노드가 존재하지 않거나 복수개인 경우, 가장 작은 깊이를 갖는 노드로 상기 데이터를 전송할 수 있다.
그리고, 미리 설정된 위치만을 이동하는 이동 노드가 무선 네트워크에 편입하여 데이터를 라우팅하는 방법에 있어서, 목적지 주소를 포함한 데이터 라우팅 요청이 수신되면, 상기 미리 설정된 각 위치별 이웃 노드들에 대한 정보가 기록된 위치정보 테이블에서 상기 목적지 주소를 검색하는 단계; 및 상기 목적지 주소가 현재 위치의 이웃 노드인 경우 상기 목적지 주소에 상응하는 이웃 노드로 데이터를 전달하거나, 상기 목적지 주소가 다른 위치인 경우 상기 목적지 주소에 상응하는 위치로 이동하여 상기 목적지 주소에 상응하는 이웃 노드로 상기 데이터를 전달하 는 단계를 포함하는 라우팅 방법 그 방법을 실행하기 위한 프로그램이 기록된 기록매체가 제공된다.
여기서, 상기 미리 설정된 각 위치를 이동하며 상기 각 위치에 상응하는 이웃 노드들에 대한 정보를 포함하는 상기 위치정보 테이블을 생성하는 단계가 선행될 수 있다.
또한, 상기 위치정보 테이블에는 상기 각 위치에 대한 위치 정보, 상기 각 위치에 상응하는 이웃 노드 정보 및 각 이웃 노드들의 첫번째 트리에 위치한 노드의 주소 정보가 포함되며, 또한 상기 각 위치에 대한 gps 위치 정보가 더 포함될 수 있다.
본 발명의 다른 측면에 따르면, 무선 네트워크의 노드 장치에 있어서, 주위의 이웃 노드들의 주소를 이웃 테이블로써 저장하기 위한 메모리; 목적지 주소를 포함한 데이터 라우팅 요청이 수신되면 상기 이웃 테이블에서 목적지 주소를 검색하고, 상기 이웃 테이블에 상기 목적지 주소가 존재하지 않는 경우 상기 목적지 주소가 속한 트리의 줄기 중 첫 번째 시작 노드의 주소를 계산하며, 상기 시작 노드의 자식이 상기 이웃 테이블에 위치하는지 여부를 이용하여 상기 목적지 주소에 가장 근접한 노드를 선택하는 제어 모듈; 및 상기 제어 모듈에 의해 선택된 노드로 상기 데이터를 전달하기 위한 통신 모듈을 포함하는 랜덤하게 움직이는 이동 노드 장치가 제공된다.
그리고, 무선 네트워크의 노드 장치에 있어서, 미리 설정된 각 위치를 이동 하며 상기 각 위치에 상응하는 이웃 노드들에 대한 정보를 포함하도록 생성된 위치정보 테이블을 저장하기 위한 메모리; 목적지 주소를 포함한 데이터 라우팅 요청이 수신되면, 상기 위치정보 테이블에서 상기 목적지 주소를 검색하고, 상기 목적지 주소가 현재 위치의 이웃 노드인 경우 상기 목적지 주소에 상응하는 이웃 노드를 선택하거나, 상기 목적지 주소가 다른 위치인 경우 상기 목적지 주소에 상응하는 위치에 따른 이웃 노드 중 상기 목적지 주소에 상응하는 이웃 노드를 선택하기 위한 제어 모듈; 및 상기 제어 모듈에 의해 선택된 노드로 상기 데이터를 전달하기 위한 통신 모듈을 포함하되, 상기 목적지 주소가 현재 위치가 아닌 다른 위치인 경우, 상기 목적지 주소에 상응하는 위치로 직접 이동하여 상기 목적지 주소에 상응하는 이웃 노드로 상기 데이터를 전달하는 것을 특징으로 하는 고정 지역을 움직이는 이동 노드 장치가 제공된다.
본 발명에 따르면, 위치가 가변적으로 변하는 이동 노드를 무선 네트워크에 참여시키며 동시에 보다 효율적인 라우팅에 이용할 수 있는 효과가 있다.
또한, 본 발명에 따르면 이동 노드를 이용하여 데이터를 전달하기 때문에 전달시간(time delay)의 감소와 사용하지 않는 노드들에 대한 에너지를 절약할 수 있는 효과가 있다.
또한, 본 발명에 따르면 추가되는 계산 및 정보 저장 등은 이동 노드에서만 발생되며, 기존 고정 노드의 소프트웨어 변경이 많지 않아 기존 시스템으로의 적용이 용이한 효과도 제공한다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
이하, 첨부한 도면들을 참조하여 본 발명에 따른 실시예들을 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어 도면 부호에 상관없이 동일하거나 대응하는 구성 요소는 동일한 참조번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 2는 본 발명의 일 실시예에 따른 이동 노드를 포함한 트리 구조의 무선 네트워크를 도시한 예시도이고, 도 3은 본 발명의 일 실시예에 따른 이웃 노드의 정보를 예시한 테이블이다.
도 2를 참조한 이동 노드를 포함한 무선 네트워크를 설명하기에 앞서, 이웃 노드에 대한 정보를 이용한 트리 구조의 라우팅 방식에 대해 간략하게 설명하기로 한다.
통상 각 노드들은 모두 최상위 루트 노드(root node)인 코디네이터(coordinator, 210)에 의해 고유한 주소를 할당 받는데, 코디네이터(210)는 하기의 표 1과 같은 Cm, Lm, Rm를 이용하여 최대로 가질 수 있는 자식의 수와 전체 네 트워크의 깊이(depth)를 결정한다. 물론, 코디네이터(210)는 반드시 루트 노드일 필요는 없으며, 루트 노드 외에 별도의 노드를 코드네이터로 구현할 수도 있으나 이하에서는 루트 노드가 코디네이터(210)의 기능을 수행하는 것을 예로 들어 설명하기로 한다.
변수 설명
Cm 부모가 가질 수 있는 최대 자식의 수
Lm 네트워크가 가질 수 있는 최대 depth
Rm 부모가 가질 수 있는 최대 라우터(Router) 수
각 노드들은 최초 네트워크에 편입하게 되면 고유한 주소(address)를 할당받고, 이웃한 노드들로부터 이웃 노드에 대한 정보를 수신하여 이웃 테이블을 생성하며, 자신에 대한 정보를 이웃 노드들로 전송하여 이웃 노드들의 이웃 테이블에 자신의 정보가 삽입되도록 한다.
도 3을 참조하면, 본 실시예에 따른 노드들은 이웃 노드에 대한 정보뿐만 아니라 이웃 노드의 자식 노드에 대한 정보까지 이웃 테이블에 기록할 수 있다.
따라서, 각 노드는 라우팅 시, 이웃 테이블을 참조하여 이웃 노드 및 이웃 노드의 자식 노드까지 목적지 노드인지를 판단함으로써, 보다 효율적인 라우팅이 가능하게 된다.
이하, 도 2를 참조하여 이동 노드가 무선 네트워크에 참여하는 방법 및 이동 노드를 이용한 라우팅 방법에 대해 설명하기로 한다. 본 실시예에 따른 무선 네트워크는 지그비(zigbee)를 예로 들어 설명하기로 하되, 지그비 외의 트리 구조를 이용한 모든 무선 네트워크에서도 동일 또는 유사하게 적용될 수 있음은 이하의 설명을 통해 당업자들에게는 더욱 자명하게 될 것이다.
도 2에 도시된 바와 같이 이동 노드(200)는 네트워크의 임의의 위치에 위치할 수 있다. 이동 노드(200)가 네트워크에 편입하게 되면, 이동 노드(200)는 상기한 주소 할당 방식인 Cm, Lm, Rm을 이용하여 생성된 네트워크의 주소를 할당 받게 된다.
일 실시예에 따르면, 고정 노드는 Cm, Lm, Rm에 따른 네트워크의 첫 번째 주소부터 가변적으로 할당받고, 이에 반해 이동 노드(200)는 네트워크의 마지막 주소가 고정적으로 할당될 수 있다. 도면에 도시된 바와 같이 4비트의 주소가 할당될 경우, 고정 노드들은 0000~1110까지의 주소 중 하나를 할당받고, 이동 노드(200)는 마지막 주소인 1111의 주소를 할당받는다. 여기서, 상기한 4비트의 주소는 하나의 예에 불과하며, 8비트, 2바이트 등 다양하게 주소 체계를 가질 수 있음은 당업자에게는 자명할 것이다. 또한, 도면에 표시된 각 노드의 주소는 고정 노드 및 이동 노드(200)의 주소 할당 방식을 설명하기 위한 예시에 불과하며, 코디네이터(210)에 의해 미리 지정된 방식에 따라 각 노드의 주소가 부여될 수 있음은 당업자에게는 자명할 것이다.
또한, 이동 노드(200)가 복수개인 경우 마지막 주소부터 역방향으로 주소를 가변적으로 할당받을 수 있다. 예를 들어, 이동 노드(200)가 세 개인 경우, 네트워크의 하위 주소 3개는 이동 노드(200)를 위해 고정되어 고정 노드에게 할당되지 않도록 할 수 있다. 이렇게 할 경우 주소만으로도 고정 노드인지 이동 노드(200)인지가 인지될 수 있다. 물론, 복수의 이동 노드(200)들에게 미리 고정된 복수의 주소는 각 이동 노드(200)들에게 고정적으로 할당될 수도 있으며, 네트워크에 편입되는 순서에 따라 가변적으로 할당될 수도 있다.
여기서, 상기한 바와 같이 가용한 네트워크 주소 중 마지막 주소를 이동 노드(200)에게 할당하는 방식은 하나의 예에 불과하며, 전체 가용 주소 중 어느 부분이든지 이동 노드(200)에게 고정될 수 있음은 자명하다 할 것이다.
이동 노드(200)가 네트워크에 편입하게 되면, 이동 노드(200)는 이웃 노드들(예를 들어, 210, 220, 230)이 자신의 정보(예를 들어, 할당된 주소 등)를 기록하도록 자신에 대한 정보를 자신의 이웃 노드들(210, 220, 230)로 전송한다(상기한 과정을 이하 “이웃 노드 등록 과정“이라 칭함). 마찬가지로 이동 노드(200)도 이웃 노드들(210, 220, 230)로부터 이웃 노드 등록 과정을 위한 정보들을 수신하여 이웃 테이블에 기록한다.
이동 노드(200)의 이웃 테이블을 도시한 도 3을 참조하면, 이동 노드(200)는 이웃 노드들의 주소를 이웃 테이블에 기록한다. 차후, 데이터를 라우팅할 시 도시된 바와 같은 이웃 테이블을 이용한다.
도면에는 도시되지 않았으나, 이동 노드(200)를 이웃 노드로 가진 고정 노드들(210, 220, 230)은 이웃 테이블에 이동 노드(200)를 인식할 수 있는 식별 정보를 함께 가질 수 있다. 또는 상술한 바와 같이 이동 노드(200)는 주소 체계의 마지막 주소가 할당되기 때문에, 별도의 식별 정보 없이도 고정 노드들은 이웃 노드 중 마지막 주소(예를 들어 1111)를 가진 노드가 존재할 경우 해당 노드가 이동 노드(200)임을 인식할 수도 있다.
이후, 각 노드들은 일정 시간 주기로 이웃 노드로 문의하여 이웃 테이블을 갱신할 수 있다. 특히, 이동 노드(200)는 위치가 수시로 변할 수 있으므로, 이동 노드(200)는 일정 시간(예를 들어 30초 또는 1분 등) 주기로 주위의 이웃한 노드들로 상기한 바와 같이 자신에 대한 정보를 전송하고 이웃 노드들에 대한 정보를 수신하여 이웃 테이블을 갱신한다. 여기서, 일예에 따르면 이동 노드(200)는 위치를 이동한 이후 이웃 테이블을 갱신할 경우, 기존의 이웃 노드들과의 연결을 끊어버리고 새로운 위치에 따른 주변의 이웃 노드들과의 연결을 시도할 수 있다.
이하, 본 발명에 다른 이동 노드를 포함한 네트워크에서의 라우팅 방법에 대해 설명하기로 한다.
도 4는 본 발명의 일 실시예에 따른 고정 노드에서의 라우팅을 위한 처리 과정을 도시한 흐름도이다.
도 4를 참조하면, 고정 노드는 목적지가 자신의 이웃 테이블에 그 주소가 존재하거나 자식 노드인 경우에는 해당 노드로 직접 전송하고자 하는 데이터인 메시지를 전달하고, 그렇지 않은 경우 이동 노드가 이웃한 경우의 여부에 따라 이동 노드가 메시지를 전달하도록 이동 노드에게 메시지를 전달하는 방식을 사용한다. 이웃 노드 및 자식 노드가 목적지가 아니면 곧바로 부모 노드로 메시지를 전달하는 종래 방식에 비해, 이웃한 이동 노드를 이용함으로써 보다 효율적으로 메시지를 전달할 수 있음은 이하의 설명을 통해 더욱 자명하게 될 것이다.
도면을 참조하여 그 진행 과정을 상세하게 설명하자면, 고정 노드는 다른 노드로부터 목적지 주소를 포함하는 라우팅하고자 하는 데이터(이하, 특정 메시지)를 전달받으면(s400), 우선 메시지가 전달되어야 하는 종착지인 목적지가 자신인지를 판단한다(s405). 물론 본 실시예에 따른 고정 노드가 소스 노드인 경우, s400 및 s405은 생략될 수 있음은 당연하다.
판단결과, 목적지가 자신인 경우 상위 계층으로 메시지의 전송이 완료되었음을 보고할 수 있다(s410).
만일 자신이 목적지가 아닌 경우, 해당 노드는 이웃 테이블에서 목적지 주소를 검색하고(s415), 목적지 주소가 이웃 테이블에 존재하는지를 판단한다(s420).
목적지 주소가 이웃 테이블에 존재하는 경우, 해당 노드로 메시지를 전달한다(s425). 여기서, 도 3을 참조하여 설명한 바와 같이 이웃 테이블에 이웃 노드들의 자식 노드들의 주소까지 기록하고 있는 경우, 그 전달 홉수는 더욱 줄어들 수 있다.
이웃 테이블에 목적지의 주소가 존재하지 않는 경우 목적지가 자식 노드인지를 판단한다(s435). 여기서, 목적지가 자식 노드인지의 판단 여부는 하기의 수학식 1을 이용하여 계산함으로써 알 수 있다(s430).
Figure 112008078673340-pat00007
(
Figure 112008078673340-pat00008
: 해당 노드 주소,
Figure 112008078673340-pat00009
: 목적지 주소,
Figure 112008078673340-pat00010
:
Figure 112008078673340-pat00011
,
d: Depth(깊이))
여기서, Cskip(d)는 깊이 d 노드가 가질 수 있는 주소의 부분블록 크기를 나타낸다. 이해의 편의를 위한 예를 들면, 16비트 주소값을 가지며 Cm=3, Lm=3, Rm=3 인 네트워크에서 각 깊이에 따른 Cskip(d) 값은, 다음과 같이 Cskip(0)=13, Cskip(1)=4, Cskip(2)=1, Cskip(3)=0 이다.
통상 코디네이터를 통해 부모가 가질수 있는 자식의 수와 전체 네트워크의 깊이가 결정되며, 부모가 자식에게 주소를 할당하기 위해서는 Cskip(d) 값을 먼저 계산해야 한다. 통상 새로운 노드의 주소 An은 자신의 부모 Aparent 및 Cskip(d)에 상응하도록, "An=Aparent+Cskip(d)*m+1"와 같이 결정된다. 여기서 m은 코디네이터로부터의 줄기 순서를 나타낸다.
다시 도면을 참조하면, 판단 결과 목적지가 자식 노드들 중 하나인 경우, 하기의 수학식 2를 이용하여 해당 자식 노드의 주소를 계산하여(s440), 메시지를 전달한다(s445).
Figure 112008078673340-pat00012
Figure 112008078673340-pat00013
, ( : 다음에 전달할 주소)
즉, 목적지의 주소가 자식 노드의 주소와 일치하는 경우, 해당 자식 노드로 메시지가 전달된다. 또한, 상기한 수학식 2를 이용하여 자식 노드가 목적지가 아니더라도 목적지와 연관된 자식노드(예를 들어, 목적지를 자식으로 가지고 있는 노드)가 존재하는 경우에도 해당 자식 노드로 메시지를 전달한다. 도 1을 참조하여 소스는 1번, 목적지가 11번 노드인 경우를 가정하여 하나의 예를 들면, 1번 노드에서 수학식 2를 계산하면 3번 노드의 주소가 산출된다. 이후, 3번 노드에서 다시 수학식 2를 계산하면 7번 노드의 주소가 산출되고, 7번 노드에서 다시 수학식 2를 계산하면 11번 노드의 주소가 산출된다. 상술한 예와 같이 수학식 2를 통해 단계적으로 목적지로 데이터가 전달된다.
여기서, 상기한 수학식들은 하나의 방식에 불과하며 목적지가 자신인지를 판단하거나 자식 노드의 주소를 산출하는 등의 다른 모든 방법도 동일하게 적용될 수 있음은 당연하다. 예를 들어 자신의 주소 및 자식 노드들의 주소 자체를 별도로 저장하고 있어 목적지 주소와 미리 저장된 주소들을 비교하는 방법이 이용될 수도 있다.
도면을 참조하면, 만일 s435에서의 판단 결과 자식 노드가 목적지가 아닌 경우, 이웃 테이블에 이동 노드의 주소가 존재하는지 여부를 확인하여(s450) 존재 여부를 판단한다(s455).
만일 이동 노드의 주소가 이웃 테이블에 존재하는 경우 해당 이동 노드로 메시지를 전달하고(s460), 존재하지 않으면 부모 노드로 메시지를 전달한다(s465).
여기서, 본 실시예에서는 목적지 노드가 타 고정 노드인 경우를 가정한 것이며, 만일 목적지가 상기한 이동 노드인 경우, s425에서 이동 노드로 메시지가 전달될 수 있음은 자명하다.
정리하면, 고정 노드는 자신의 이웃(또는 상기한 바와 같이 이웃의 자식 노드도 확인 가능) 및 자식 노드가 목적지인지 여부를 판단하고, 목적지가 아닌 경우 이웃한 이동 노드로 메시지를 전달한다.
이하에서는 이동 노드가 고정 노드로부터 메시지를 수신할 경우의 처리 과정을 설명하기로 한다.
이동 노드를 이용한 라우팅 방식은 이동 노드의 이동 방식에 따른 두 가지 방법으로 제안될 수 있다. 첫 번째는 별도의 고정된 이동 루트의 제한이 없이, 랜덤(random)하게 이동 노드가 움직일 경우이며, 두 번째는 미리 지정된 위치 내에서만 이동 노드가 움직일 경우이다.
우선 첫 번째 방식에 따라 이동 노드가 랜덤하게 움직이는 경우의 라우팅 방법에 대해 설명하기로 한다.
도 5는 본 발명의 일 실시예에 따른 랜덤하게 움직이는 이동 노드에서의 메시지 라우팅을 위한 처리 과정을 도시한 흐름도이고, 도 6은 본 발명의 일 실시예에 따른 이동 노드를 이용한 라우팅 경로를 예시한 도면이다.
랜덤하게 움직이는 이동 노드는 다음번에 움직일 위치가 정해져 있지 않게 되며, 그로 인해 임의의 위치에 위치하여 라우팅에 참여하게 된다. 이동 노드는 고정 노드로부터 메시지를 수신하면, 계산을 통해 자신의 주위 노드들이 목적지와 관계가 있는지를 판단하고, 목적지 또는 목적지와 가장 근접한 노드로 데이터를 전달한다.
도 5를 참조하면, 다른 노드로부터 메시지를 수신한 이동 노드는 목적지 주소가 자신의 이웃 테이블에 존재하는지 여부를 판단하고(s500), 목적지의 주소가 이웃 테이블에 존재하면 곧바로 해당 주소의 노드로 데이터를 전송한다(s505).
만일 이웃 테이블에 목적지 주소가 존재하지 않는 경우, 하기의 수학식 3을 이용하여 목적지 주소가 속한 줄기 중 첫 번째 시작 노드의 주소를 계산한다(s510).
Figure 112008078673340-pat00014
여기서, m은 코디네이터로부터 목적지 주소가 해당하는 줄기의 순서를 나타내며, FirstAdd는 목적지가 속한 줄기의 첫 번째 노드의 주소이다. 이해의 편의를 위해 도 6을 함께 참조하면, 예를 들어 이동 노드(600)는 목적지의 주소 216이 속한 줄기의 첫 번째 노드의 주소인 213을 산출한다. 즉, 코디네이터로부터의 첫 번째 노드인 213번을 산출하게 된다.
이후, 이동 노드는 상기한 수학식 3을 이용하여 산출한 줄기 첫 번째 노드의 자식이 이웃 테이블에 있는지를 하기의 수학식 4를 이용하여 계산 및 판단한 다(s515).
FirstAdd ≤ NeighborTable ≤ FirstAdd + Cskip(0)
계산 결과 줄기 첫 번째 노드의 자식이 이웃 테이블(Neighbor Table)에 존재하지 않는 경우, 이웃 테이블에서 가장 작은 d(깊이)를 가진 노드를 선택하여(s520), 해당 노드로 메시지를 전달한다(s525). 줄기 첫 번째 노드의 자식이 이웃 테이블에 존재하지 않는 경우는 목적지가 이동 노드와 많이 떨어져 있을 확률이 높으므로, 코디네이터와 가장 가까운 이웃 노드를 선택하여 데이터를 전달하는 것이다.
이와 달리 s515에서의 판단 결과 해당 줄기 첫 번째 노드의 자식이 이웃 테이블에 존재하는 경우, 해당 노드가 하나인지 여부를 판단하고(s530), 하나인 경우엔 해당하는 노드로 메시지를 전달한다(s535).
목적지 주소가 속한 줄기의 첫 번째 노드의 자식이 복수개가 이웃 테이블에 존재하는 경우, 해당 노드들 중 목적지를 자식으로 갖는 노드가 존재하는지 판단한다(s540).
목적지를 자식으로 하는 노드가 존재하는 경우 해당 노드가 하나인지를 판단하고(s545), 하나인 경우엔 해당 노드로 메시지를 전달한다(s550). 이와 달리 만일 목적지를 자식으로 하는 노드가 복수개인 경우, 해당하는 노드 중 가장 큰 d(깊이)를 갖는 노드로 메시지를 전달한다(s555). 이는 깊이가 큰 값을 갖는 노드가 목적지와 보다 가까울 수 있기 때문이다. 다시 도 6을 함께 참조하면, 주소 213 노드의 자식 줄기에 위치하면서 이웃 테이블에 존재하는 주소는 214, 215 두개이므로 이중 단계 s555에 따라 가장 큰 d를 갖는 215 노드로 데이터가 전달되는 것이다.
s540에서의 판단 결과 목적지를 자식으로 갖는 노드가 존재하지 않는 경우, 해당 노드들 중 목적지의 자식이 존재하는지를 하기의 수학식 5 및 수학식 6을 이용하여 판단한다(s560).
D ≤ NeighborTable < D+Cskip(d-1)
Figure 112008078673340-pat00015
Figure 112008078673340-pat00016
Figure 112008078673340-pat00017
Figure 112008078673340-pat00018
계산 결과 해당 노드들 중 목적지의 자식이 존재하지 않는 경우 해당 노드들 중 가장 작은 d(깊이)를 갖는 노드를 선택하여 메시지를 전달한다(s565).
이와 달리 만일 목적지의 자식이 존재하는 경우, 해당 노드가 하나인지의 판단(s570) 결과에 따라 해당 노드로 메시지를 전달하거나(s575), 복수개인 경우에는 가장 작은 d를 갖는 노드를 선택하여 메시지를 전달한다(s580)
정리하자면, 이동 노드는 목적지가 자신의 이웃 테이블에 존재하는 경우 곧바로 메시지를 해당 노드로 전달하고, 그렇지 않은 경우 이웃 테이블에 존재하는 이웃 노드들이 목적지와 관련이 있는지 없는지를 판단하여 목적지에 가장 근접한 노드로 전달하고자 하는 데이터를 전송하는 것이다.
상기한 바와 같은 이동 노드를 이용한 라우팅 경로와, 종래의 트리 라우팅 방식에 따른 라우팅 경로가 도 6에 도시되어 있다.
도면에 도시된 바와 같이, 소스 노드(610)에서 목적지 노드(620)까지의 데이터 라우팅 방식에 있어서, 종래의 트리 라우팅 방식(TR)의 경우 7번의 전달 홉수(점선)를 가진 반면, 본 실시예에 따른 이동 노드(600)를 이용할 경우(TRMN1) 4번의 전달 홉수를 가지는 것을 알 수 있다. 즉 본 실시예에 따라 이동 노드(600)를 이용할 경우 종래에 비해 전달 홉수를 크게 줄일 수 있으며, 그로 인해 에너지의 효율성을 높일 수 있는 효과가 있다.
상기한 실시예의 이동 노드(600)는 가용한 지역의 모든 범위에서 랜덤하게 움직이는 경우를 가정한 것이며, 다른 실시예에 따르면 지정된 특정 범위 내에서만 이동 노드가 움직이는 경우를 가정할 수 있다.
도 7은 본 발명의 일 실시예에 따른 지정된 범위 내에서만 이동되는 이동 노 드를 포함한 무선 네트워크를 도시한 개념도이고, 도 8은 본 발명의 일 실시예에 따른 고정된 지역을 이동하는 이동 노드가 갖는 위치정보를 도시한 테이블이다.
도 7을 참조하면, 이동 노드(700)는 A,B,C,D,E,F의 위치로만 이동이 가능하며, 각 지점에 대한 정보를 도 8에 도시된 바와 같은 테이블 형식 등으로 가지고 있다. 즉, 본 실시예에 따른 이동 노드(700)는 최초 네트워크에 참여하게 되면, 가용 이동 지역을 돌면서 각 위치에 따른 이웃 노드들의 정보를 취득하게 되고, 이를 도 8에 도시된 바와 같은 위치정보 테이블로써 저장하게 된다.
따라서, 본 실시예에 따른 이동 노드(700)는 위치정보 테이블을 이용하여 목적지가 속한 위치를 판단하고(즉, 이동이 가용한 범위 내에 목적지가 위치한 경우) 해당 목적지로 직접 이동하여 데이터를 전달한다. 즉 도면에 도시된 바와 같이 이동 노드(700)가 A지역에 위치할 경우 소스 노드(710)로부터 데이터를 전달받고, 목적지 노드(720)가 B의 위치에 위치함을 위치정보 테이블로 인해 인지함으로써, 이동 노드(700)가 A의 위치에서 B의 위치로 직접 이동하여 데이터를 목적지로 전달한다.
도 8을 참조하면, 위치정보 테이블에는 이동 노드(700)가 위치할 수 있는 각 지점에 대한 정보, 각 지점에서 이웃 노드들의 첫 번째 트리에 위치한 노드의 주소 정보, 각 위치한 지점에서의 이웃 노드들의 주소 정보 및 이동 가능한 주변위치 정보가 기록될 수 있다. 또한 보다 정확한 위치를 탐지하고 그에 따라 정확하고 신속한 데이터 전달을 위해, 이동 노드(700)가 GPS 수신기와 같은 위치탐색 기능을 구비할 수 있으며, 이 경우 각 위치한 지점에서 GPS를 통해 얻은 위치좌표가 위치정 보 테이블에 기록될 수 있다.
하기의 표 2는 도 7에 따른 네트워크에서 이동 노드(700)가 가지는 A지역에 따른 위치정보 테이블을 예시한 것이다.
Place First_tree_add N_add N_place Place_info
A {107, 213} (112, 134, 215, 236} F, B x, y
상기한 실시예들에 따르면, 종래와 비교하여 고정 노드에는 이웃 테이블에 목적지가 없는 경우 이웃한 이동 노드로 메시지를 전달하도록 하는 기능만이 추가되었으며, 나머지 이동 노드에서의 라우팅 방법에 대해서만 개발이 되면 되므로, 기존의 무선 네트워크의 큰 변화 없이도 본 발명에 따른 이동 노드를 이용한 라우팅의 적용이 용이한 장점이 있다.
도 9는 본 발명에 따른 이동 노드를 이용한 라우팅 방식과 종래의 트리 라우팅 방식에 의한 시뮬레이션 결과를 비교한 그래프이다.
도 9에는 본 발명에 따른 이동 노드를 이용한 라우팅 방식을 무선 네트워크에 적용한 시뮬레이션 결과가 그래프로 도시되어 있다. 본 그래프는 노드의 수가 50, 70, 90, 110, 130개 일 경우를 각각 시뮬레이션 한 것이며, 본 발명에 따른 랜덤하게 움직이는 이동 노드를 이용한 라우팅 방식(TRMN1)과 고정된 지역을 움직이는 이동 노드를 이용한 라우팅 방식(TRMN2) 및, 종래의 라우팅 방식(TR)을 각각 비교한 것이다. 도면에 도시된 바와 같이 종래의 트리 라우팅 방식(TR)에 비해 네트워크 트래픽이 다량 감소한 것을 알 수 있다.
이하, 상기한 이동 노드의 구성에 대해 설명하기로 한다.
도 10은 본 발명의 일 실시예에 따른 이동 노드의 구성을 도시한 블록도이다.
도 10을 참조하면, 이동 노드는 타 노드들과 통신하기 위한 통신 모듈(10), 이웃 테이블을 저장하기 위한 메모리(30) 및 제어 모듈(50)을 포함하되, 제어 모듈은 주소 산출부(52) 및 메인 제어부(54)를 포함할 수 있다.
제어 모듈(50)의 주소 산출부(52)는 상기한 수학식 3 내지 6을 이용하여 목적지 주소가 속한 줄기 중 첫 번째 시작 노드의 주소를 계산하거나, 줄기 첫 번째 노드의 자식이 이웃 테이블에 존재하는지, 자식에 해당하는 노드가 존재할 때 그 개수에 따라 목적지를 자식으로 갖는 노드의 유무 및 해당 노드들이 목적지의 자식인지 등을 계산한다. 이동 노드가 라우팅을 위해 계산해야 하는 것들은 도 5를 통해 상세히 설명하였으므로, 더욱 상세한 설명은 생략한다.
제어 모듈(50)의 메인 제어부(54)는 주소 산출부(52)가 계산한 내용을 이용하여, 전달을 요청받은 목적지와 관련된 노드를 찾아내어 데이터를 전달하거나, 직접 해당 목적지로 데이터를 전송하도록 통신 모듈(10) 및 메모리(30)를 제어한다. 또는 상기한 바와 같이 이동 노드가 지정된 지역을 움직이는 경우, 메인 제어부(54)는 각 지역에 따른 정보들을 포함하는 위치정보 테이블을 이용하여 목적지로 직접 데이터를 전달하도록 통신 모듈(10) 및 메모리(30)를 제어한다. 물론, 이 경우 메모리(30)에는 위치정보 테이블이 더 저장될 수 있다.
또한, 이동 노드는 보다 정확한 위치 정보를 취득하기 위해 GPS 수신기와 같은 위치탐색 모듈(미도시)을 더 포함할 수도 있다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드디스크, 광자기디스크 등)에 저장될 수 있다.
또한, 상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.
도 1은 일반적인 무선 네트워크의 트리 구조를 나타낸 도면.
도 2는 본 발명의 일 실시예에 따른 이동 노드를 포함한 트리 구조의 무선 네트워크를 도시한 예시도.
도 3은 본 발명의 일 실시예에 따른 이웃 노드의 정보를 예시한 테이블.
도 4는 본 발명의 일 실시예에 따른 고정 노드에서의 라우팅을 위한 처리 과정을 도시한 흐름도.
도 5는 본 발명의 일 실시예에 따른 랜덤하게 움직이는 이동 노드에서의 메시지 라우팅을 위한 처리 과정을 도시한 흐름도.
도 6은 본 발명의 일 실시예에 따른 이동 노드를 이용한 라우팅 경로를 예시한 도면.
도 7은 본 발명의 일 실시예에 따른 지정된 범위 내에서만 이동되는 이동 노드를 포함한 무선 네트워크를 도시한 개념도.
도 8은 본 발명의 일 실시예에 따른 고정된 지역을 이동하는 이동 노드가 갖는 위치정보를 도시한 테이블.
도 9는 본 발명에 따른 이동 노드를 이용한 라우팅 방식과 종래의 트리 라우팅 방식에 의한 시뮬레이션 결과를 비교한 그래프.
도 10은 본 발명의 일 실시예에 따른 이동 노드의 구성을 도시한 블록도.

Claims (19)

  1. 무선 네트워크의 고정 노드가 이동 노드를 이용하여 데이터를 라우팅하기 위해 상기 고정 노드에서 실행되는 방법으로서,
    (a)상기 고정 노드의 이웃 테이블(neighbor table)에서 목적지 주소를 검색하는 단계; 및
    (b)상기 고정 노드의 이웃 테이블에 상기 목적지 주소가 존재하지 않으며 이웃에 이동 노드가 위치하는 경우, 상기 이동 노드로 데이터를 전달하는 단계를 포함하되,
    상기 이동 노드는 자신의 이웃 테이블을 이용하여 상기 목적지 주소에 따른 목적지 노드 또는 상기 목적지 노드에 근접한 노드로 상기 데이터를 전달하는 것을 특징으로 하는 라우팅 방법.
  2. 제 1항에 있어서,
    이웃에 진입한 상기 이동 노드의 주소를 상기 고정 노드의 이웃 테이블에 저장하는 단계가 상기 단계 (a)보다 선행되는 것을 특징으로 하는 라우팅 방법.
  3. 제 1항에 있어서, 상기 단계 (b)는,
    (b1)상기 고정 노드의 이웃 테이블에 상기 목적지 주소가 존재하지 않는 경우, 하나 이상의 자식 노드 중 어느 하나가 목적지인지를 판단하는 단계; 및
    (b2)목적지가 상기 자식 노드 중 어느 하나인 경우, 상기 목적지에 상응하는 자식 노드로 상기 데이터를 전송하는 단계를 포함하되,
    상기 자식 노드들이 목적지와 상관이 없는 경우에 상기 이동 노드로 메시지를 전달하는 것을 특징으로 하는 라우팅 방법.
  4. 제 3항에 있어서,
    상기 단계 (b1)은 하기의 수학식을 이용하여 하나 이상의 자식 노드 중 어느 하나가 목적지인지를 판단하는 것을 특징으로 하는 라우팅 방법.
    Figure 112010062355017-pat00019
    (
    Figure 112010062355017-pat00020
    : 고정 노드 주소,
    Figure 112010062355017-pat00021
    : 목적지 주소,
    Figure 112010062355017-pat00022
    :
    Figure 112010062355017-pat00023
    ,
    d: 네트워크 Depth(깊이))
    Cm: 부모가 가질 수 있는 최대 자식의 수
    Lm: 네트워크가 가질 수 있는 최대 깊이(depth)
    Rm: 부모가 가질 수 있는 최대 라우터(Router) 수
  5. 랜덤하게 움직이는 이동 노드가 무선 네트워크에 편입하여 데이터를 라우팅하기 위해 상기 이동 노드에서 실행되는 방법으로서,
    (a)주위의 이웃 노드들의 주소를 상기 이동 노드의 이웃 테이블에 저장하는 단계;
    (b)목적지 주소를 포함한 데이터 라우팅 요청이 수신되면 상기 이동 노드의 이웃 테이블에서 목적지 주소를 검색하는 단계;
    (c)상기 이동 노드의 이웃 테이블에 상기 목적지 주소가 존재하지 않는 경우, 상기 목적지 주소가 속한 트리의 줄기에 속한 노드들 중 코디네이터를 제외하고 네트워크 깊이가 가장 작은 노드인 시작 노드의 주소를 계산하는 단계; 및
    (d)상기 시작 노드의 자식이 상기 이동 노드의 이웃 테이블에 존재하는지 여부를 이용하여 상기 목적지 주소에 가장 근접한 노드로 상기 데이터를 전달하는 단계를 포함하는 라우팅 방법.
  6. 제 5항에 있어서,
    상기 단계 (c)는 하기의 수학식을 이용하는 것을 특징으로 하는 라우팅 방법.
    Figure 112010062355017-pat00024
    (여기서, m은 코디네이터로부터 목적지 주소가 해당하는 줄기의 순서이며, FirstAdd는 목적지가 속한 줄기의 노드들 중 코디네이터를 제외하고 네트워크 깊이가 가장 작은 노드인 시작 노드의 주소임)
  7. 제 6항에 있어서,
    상기 단계 (d)는 상기 시작 노드의 자식이 상기 이웃 테이블에 위치하는지 여부를 하기의 수학식을 이용하여 판단하는 것을 특징으로 하는 라우팅 방법.
    FirstAdd ≤ NeighborTable ≤ FirstAdd +Cskip(0)
  8. 제 5항에 있어서, 상기 단계 (d)는,
    상기 시작 노드의 자식이 상기 이웃 테이블에 존재하지 않는 경우, 상기 이웃 테이블에서 가장 작은 네트워크 깊이(depth)를 가진 이웃 노드로 상기 데이터를 전달하는 것을 특징으로 하는 라우팅 방법.
  9. 제 5항에 있어서, 상기 단계 (d)는 상기 시작 노드의 자식이 상기 이동 노드의 이웃 테이블에 존재하는 경우,
    상기 이동 노드의 이웃 테이블에 존재하는 상기 시작 노드의 자식의 개수, 상기 시작 노드의 자식들 중 목적지를 자식으로 갖는 노드가 존재하는지 여부 및 상기 시작 노드의 자식이 목적이인지 여부 중 하나 이상을 이용하여 상기 데이터를 전송하고자하는 노드를 결정하는 것을 특징으로 하는 라우팅 방법.
  10. 제 5항에 있어서,
    상기 단계 (d)는 상기 시작 노드의 자식이 상기 이웃 테이블에 하나만이 존재하는 경우, 상기 이웃 테이블에 존재하는 상기 시작 노드의 자식 노드로 상기 데이터를 전달하는 것을 특징으로 하는 라우팅 방법.
  11. 제 5항에 있어서,
    상기 단계 (d)는 상기 시작 노드의 자식이 상기 이웃 테이블에 복수개가 존재하는 경우, 상기 복수개의 노드 중 목적지를 자식으로 갖는 노드로 상기 데이터를 전송하는 단계를 포함하되,
    상기 목적지를 자식으로 갖는 노드가 복수개인 경우 가장 큰 네트워크 깊이를 갖는 노드를 선택하여 전송하는 것을 특징으로 하는 라우팅 방법.
  12. 제 8항에 있어서,
    상기 단계 (d)는 상기 시작 노드의 자식이 상기 이웃 테이블에 복수개가 존재하며, 상기 복수개의 노드 중 상기 목적지의 자식인 노드로 상기 데이터를 전송하는 단계를 포함하되,
    상기 복수개의 노드 중 상기 목적지의 자식인 노드가 존재하지 않거나 복수개인 경우, 가장 작은 네트워크 깊이를 갖는 노드로 상기 데이터를 전송하는 것을 특징으로 하는 라우팅 방법.
  13. 미리 설정된 위치만을 이동하는 이동 노드가 무선 네트워크에 편입하여 데이터를 라우팅하는 방법에 있어서,
    목적지 주소를 포함한 데이터 라우팅 요청이 수신되면, 상기 미리 설정된 각 위치별 이웃 노드들에 대한 정보가 기록된 위치정보 테이블에서 상기 목적지 주소를 검색하는 단계; 및
    상기 목적지 주소가 현재 위치의 이웃 노드인 경우 상기 목적지 주소에 상응하는 이웃 노드로 데이터를 전달하거나, 상기 목적지 주소가 다른 위치인 경우 상기 목적지 주소에 상응하는 위치로 이동하여 상기 목적지 주소에 상응하는 이웃 노드로 상기 데이터를 전달하는 단계를 포함하는 라우팅 방법.
  14. 제 13항에 있어서,
    상기 미리 설정된 각 위치를 이동하며 상기 각 위치에 상응하는 이웃 노드들에 대한 정보를 포함하는 상기 위치정보 테이블을 생성하는 단계가 선행되는 것을 특징으로 하는 라우팅 방법.
  15. 제 13항에 있어서,
    상기 위치정보 테이블에는 상기 각 위치에 대한 위치 정보, 상기 각 위치에 상응하는 이웃 노드 정보 및 각 이웃 노드들의 첫번째 트리에 위치한 노드의 주소 정보가 포함되는 것을 특징으로 하는 라우팅 방법.
  16. 제 15항에 있어서,
    상기 위치정보 테이블에는 상기 각 위치에 대한 gps 위치 정보가 더 포함되는 것을 특징으로 하는 라우팅 방법.
  17. 제1항 내지 16항 중 어느 한 항의 방법을 수행하기 위한 명령어들의 조합이 유형적으로 구현되어 있으며 디지털 정보 처리 장치에 의해 판독 가능한 프로그램이 기록된 기록 매체.
  18. 무선 네트워크의 노드 장치에 있어서,
    주위의 이웃 노드들의 주소를 이웃 테이블로써 저장하기 위한 메모리;
    목적지 주소를 포함한 데이터 라우팅 요청이 수신되면 상기 이웃 테이블에서 목적지 주소를 검색하고, 상기 이웃 테이블에 상기 목적지 주소가 존재하지 않는 경우 상기 목적지 주소가 속한 트리의 줄기에 속한 노드들 중 코디네이터를 제외하고 네트워크 깊이가 가장 작은 노드인 시작 노드의 주소를 계산하며, 상기 시작 노드의 자식이 상기 이웃 테이블에 위치하는지 여부를 이용하여 상기 목적지 주소에 가장 근접한 노드를 선택하는 제어 모듈; 및
    상기 제어 모듈에 의해 선택된 노드로 상기 데이터를 전달하기 위한 통신 모듈을 포함하는 랜덤하게 움직이는 이동 노드 장치.
  19. 무선 네트워크의 노드 장치에 있어서,
    미리 설정된 각 위치를 이동하며 상기 각 위치에 상응하는 이웃 노드들에 대한 정보를 포함하도록 생성된 위치정보 테이블을 저장하기 위한 메모리;
    목적지 주소를 포함한 데이터 라우팅 요청이 수신되면, 상기 위치정보 테이블에서 상기 목적지 주소를 검색하고, 상기 목적지 주소가 현재 위치의 이웃 노드인 경우 상기 목적지 주소에 상응하는 이웃 노드를 선택하거나, 상기 목적지 주소가 다른 위치인 경우 상기 목적지 주소에 상응하는 위치에 따른 이웃 노드 중 상기 목적지 주소에 상응하는 이웃 노드를 선택하기 위한 제어 모듈; 및
    상기 제어 모듈에 의해 선택된 노드로 상기 데이터를 전달하기 위한 통신 모듈을 포함하되,
    상기 목적지 주소가 현재 위치가 아닌 다른 위치인 경우, 상기 목적지 주소에 상응하는 위치로 직접 이동하여 상기 목적지 주소에 상응하는 이웃 노드로 상기 데이터를 전달하는 것을 특징으로 하는 고정 지역을 움직이는 이동 노드 장치.
KR1020080113104A 2008-11-14 2008-11-14 무선 네트워크에서의 이동 노드를 이용한 라우팅 방법 및 장치 KR101013383B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080113104A KR101013383B1 (ko) 2008-11-14 2008-11-14 무선 네트워크에서의 이동 노드를 이용한 라우팅 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080113104A KR101013383B1 (ko) 2008-11-14 2008-11-14 무선 네트워크에서의 이동 노드를 이용한 라우팅 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20100054264A KR20100054264A (ko) 2010-05-25
KR101013383B1 true KR101013383B1 (ko) 2011-02-14

Family

ID=42279019

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080113104A KR101013383B1 (ko) 2008-11-14 2008-11-14 무선 네트워크에서의 이동 노드를 이용한 라우팅 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101013383B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050002338A (ko) * 2003-06-30 2005-01-07 주식회사 케이티 모바일 네트워크의 이동에 따른 라우팅 시스템 및 방법
KR20060098891A (ko) * 2005-03-08 2006-09-19 삼성전자주식회사 이동 네트워크 간 라우팅 방법 및 그 장치
KR20070067590A (ko) * 2005-12-24 2007-06-28 중앙대학교 산학협력단 이동 싱크를 가진 무선 센서 네트워크의 안전한 라우팅기법
KR100737360B1 (ko) 2006-10-20 2007-07-09 한국전자통신연구원 동적 이동형 네트워크에서의 루트 이동 라우터 및 그 운용방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050002338A (ko) * 2003-06-30 2005-01-07 주식회사 케이티 모바일 네트워크의 이동에 따른 라우팅 시스템 및 방법
KR20060098891A (ko) * 2005-03-08 2006-09-19 삼성전자주식회사 이동 네트워크 간 라우팅 방법 및 그 장치
KR20070067590A (ko) * 2005-12-24 2007-06-28 중앙대학교 산학협력단 이동 싱크를 가진 무선 센서 네트워크의 안전한 라우팅기법
KR100737360B1 (ko) 2006-10-20 2007-07-09 한국전자통신연구원 동적 이동형 네트워크에서의 루트 이동 라우터 및 그 운용방법

Also Published As

Publication number Publication date
KR20100054264A (ko) 2010-05-25

Similar Documents

Publication Publication Date Title
Jain et al. Geographical routing using partial information for wireless ad hoc networks
US7450521B2 (en) Cost-based routing using backoff scheme
CN109547351B (zh) Ad Hoc网络中基于Q学习和信任模型的路由方法
WO2004110082B1 (en) System and method for determining location of a device in a wireless communication network
CN101437045B (zh) P2p系统中中转节点的选择方法及p2p节点
US20070280174A1 (en) Small Geographical Area Cell-based Dynamic Source Routing for Mobil Ad-hoc Networks
CN105722176A (zh) 城市场景中有基础设施的车联网大规模异构网络的连通性方法
JP2007325261A (ja) 経路確立方法
CN101521926B (zh) 用于大规模无线分布式网络的协同路由方法
CN109257789A (zh) 一种基于多跳簇的车载网数据通信方法
CN101640628B (zh) 基于Mesh网络的路由管理与路由方法、节点、装置及系统
CN109511151A (zh) 星联网的组网方法及通信方法
KR101083391B1 (ko) 차량 에드혹 네트워크에서 송신 차량으로부터 목적지 차량으로 데이터를 전달하는 방법
Banka et al. Angle routing protocol: location aided routing for mobile ad-hoc networks using dynamic angle selection
CN104754649A (zh) 一种数据传输方法与无线Mesh节点
CN103874160B (zh) 车辆自组织网络中基于三维场景的路由方法
Smys et al. Self-organizing hierarchical structure for wireless networks
JPWO2013042208A1 (ja) ノード装置および通信方法
CN102647364B (zh) Mesh网络路由方法、设备及系统
KR101013383B1 (ko) 무선 네트워크에서의 이동 노드를 이용한 라우팅 방법 및 장치
Xie et al. Leader based group routing in disconnected mobile ad hoc networks with group mobility
CN101409905A (zh) 一种基于任播方式的移动多跳分组无线网络路由方法
Gruber et al. Ad hoc routing for cellular coverage extension
CN103874162B (zh) 一种井下无线传感网络按需路由方法
Narimatsu et al. Area-based collaborative distributed cache system using consumer electronics mobile device

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: 20131230

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141203

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee