KR101662835B1 - 하나의 싱크 노드를 갖는 네트워크 토폴로지에서의 하향 링크 라우팅 방법 - Google Patents

하나의 싱크 노드를 갖는 네트워크 토폴로지에서의 하향 링크 라우팅 방법 Download PDF

Info

Publication number
KR101662835B1
KR101662835B1 KR1020150131032A KR20150131032A KR101662835B1 KR 101662835 B1 KR101662835 B1 KR 101662835B1 KR 1020150131032 A KR1020150131032 A KR 1020150131032A KR 20150131032 A KR20150131032 A KR 20150131032A KR 101662835 B1 KR101662835 B1 KR 101662835B1
Authority
KR
South Korea
Prior art keywords
node
dlte
ulte
addr
hop
Prior art date
Application number
KR1020150131032A
Other languages
English (en)
Inventor
최영철
임용곤
Original Assignee
한국해양과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국해양과학기술원 filed Critical 한국해양과학기술원
Priority to KR1020150131032A priority Critical patent/KR101662835B1/ko
Application granted granted Critical
Publication of KR101662835B1 publication Critical patent/KR101662835B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/028Dynamic adaptation of the update intervals, e.g. event-triggered updates
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 에드혹 네트워크에 있어서 주기적 또는 비주기적 보고 메시지를 싱크 노드로 전송하여 이를 통해 라우팅을 할 수 있도록 한 하나의 싱크 노드를 갖는 네트워크 토폴로지에서의 하향 링크 라우팅 방법에 관한 것으로서, 네트워크 토폴로지에서의 하향 링크 라우팅 방법에 있어서, 임의의 노드 O가 주기적 또는 비주기적 보고 메시지(Periodic or Non-periodic Report Message, 이하 RM)를 생성하는 단계; 상기 RM을 상향 방향의 인접한 특정 노드들로 중계하는 단계; 및 상기 중계된 RM이 싱크 노드(CS)로 전송되는 단계를 포함하여 구성되어, 에드혹 네트워크에 있어서 주기적 또는 비주기적 보고 메시지를 싱크 노드로 전송하여 주기적 또는 비주기적 보고 메시지를 이용해 라우팅할 수 있도록 하여 라우팅 오버헤드를 최소화함으로써 에드혹 네트워크의 수율을 향상시킬 수 있는 효과가 있다.

Description

하나의 싱크 노드를 갖는 네트워크 토폴로지에서의 하향 링크 라우팅 방법{METHOD FOR DOWN-LINK ROUTING IN A NETWORK TOPOLOGY THAT HAS A SINGLE SINK NODE}
본 발명은 하나의 싱크 노드를 갖는 네트워크 토폴로지에서의 하향 링크 라우팅 방법에 관한 것으로서, 보다 상세하게는 에드혹 네트워크에 있어서 주기적 또는 비주기적 보고 메시지를 싱크 노드로 전송하여 이를 통해 라우팅을 함으로써 라우팅 오버헤드를 최소화할 수 있도록 한 하나의 싱크 노드를 갖는 네트워크 토폴로지에서의 하향 링크 라우팅 방법에 관한 것이다.
기존 유무선 네트워크와는 달리, 에드혹(Ad-hoc) 네트워크는 노드 일부나 전체가 무선인 네트워크 환경 속에서 작동할 수 있다. 이 같은 무선 환경에서는 노드가 갑자기 사라지거나 나타날 수 있기 때문에 네트워크 기능이 분산 방식으로 작동되어야 한다. 하지만, 일반적으로는 기존 네트워크에 적용되는 것과 같은 접속 및 트래픽 요구사항들이 에드혹 네트워크에도 요구된다. 에드혹 네트워크상의 노드는 보안 및 라우팅 기능 지원을 백그라운드 네트워크에 의존할 수 없다. 그 대신, 이들 기능이 설계되어 분산된 조건 하에서도 효율적으로 운영될 수 있어야 한다. 노드가 무선이기 때문에 네트워크 형태가 다양하지만, 그럼에도 불구하고 네트워크 연결이 유지돼 애플리케이션과 서비스를 차질 없이 제공해야 한다.
또한 에드혹 네트워크 사용자는 노드가 이리 저리 움직이는 상황에서도 인터넷과 같은 유선 네트워크에의 접속을 요구한다. 이동속도 관리 기능을 통해 어느 한 네트워크 액세스 포인트에서 몇 개의 무선 홉 떨어진 거리에 있는 통신기기에 접속할 수 있게 된다. 모든 링크 오류의 합이 멀티 홉 경로에 영향을 미치기 때문에, 높은 비트 오류율이 미치는 영향은 멀티 홉 애드혹(Multi-Hop Ad-hoc) 네트워크에서 더욱 명확히 나타난다. 여기에 하나 이상의 종간(end-to-end) 경로가 주어진 링크를 사용할 수 있기 때문에 만약 링크가 끊기면, 비트 오류율이 높을 경우 여러 세션에 장애를 일으킬 수도 있다.
따라서, 에드혹 네트워크를 위한 라우팅 프로토콜은 일반적으로 홉 수가 가장 작은 경로를 최적 경로로 판단하여 라우팅 테이블을 구성한다. 그러나, 홉 수가 같은 여러 경로가 존재하는 경우에는, 홉 수가 가장 작은 경로를 라우팅 메트릭으로 하면 마지막 홉을 제외한 홉에 대해서는 홉 간 거리가 최대가 되도록 경로가 설정되어 전송 수율 측면에서 성능 저하가 발생한다.
이와 같은 에드혹 라우팅 프로토콜 알고리즘들은 다음의 몇 가지 알고리즘으로 구분된다. 먼저, Destination-Sequenced Distance-Vector Routing(이하, DSDV), Ad-hoc On-Demand Distance Vector Routing(이하, AODV), Dynamic Source Routing (이하, DSR) 등으로 구분되며, 이와 같은 프로토콜들은 제어신호(라우팅 오버헤드)를 생성하며, 프로토콜의 성격에 따라 차이는 있지만, 움직임이 커질수록 라우팅 오버헤드가 증가하는 성향을 보인다.
이와 같은 에드혹 라우팅 통신 네트워크에서 라우팅 오버헤드는 노드들의 움직임에 따라 증가되는 성향을 가지므로 에드혹 네트워크에 있어서 통신 품질의 저하를 가져오는 주요 원인으로 작용한다. 따라서, 이와 같은 라우팅 오버헤드에 의해 에드혹 라우팅 통신의 열화가 발생하는 문제점이 있다.
따라서 본 발명은 전술한 종래기술의 문제점을 해결하기 위한 것으로서, 에드혹 네트워크에 있어서 싱크 노드로 전송되는 주기적 또는 비주기적 보고 메시지를 이용해 라우팅할 수 있도록 하여 라우팅 오버헤드를 감소시킴으로써 에드혹 네트워크의 수율을 향상시킬 수 있는 하나의 싱크 노드를 갖는 네트워크 토폴로지에서의 하향 링크 라우팅 방법을 제공하기 위한 것이다.
상술한 목적을 달성하기 위한 네트워크 토폴로지에서의 하향 링크 라우팅 방법은, 임의의 노드 O가 주기적 또는 비주기적 보고 메시지(Report Message, 이하 RM)를 생성하는 단계; 상기 RM을 상향 방향의 인접한 특정 노드들로 중계하는 단계; 및 상기 중계된 RM이 싱크 노드(CS)로 전송되는 단계를 포함하여 구성된다.
상기 주기적 또는 비주기적 보고 메시지는 송신 노드 S의 주소[S_Addr(Sender Address)], 상향 방향의 다음 홉 노드 NH의 주소[NH_Addr(Naberhood Address)], 홉 수(hop), 주기적 또는 비주기적 보고 메시지를 최초로 생성한 노드 O의 주소[O_Addr(Originator Address)] 및 노드 O의 위치: O_Pos(Originator Position)를 포함하는 것이다.
상기 중계하는 단계는, 임의의 노드 N이 상기 노드 O가 생성한 상기 RM을 노드 S로부터 수신하는 단계; OHRM(OverHeard RM)을 "0"으로 설정하는 단계; 상기 RM으로부터 상기 노드 S와 이웃한 노드의 주소값(NH_Addr)이 노드 N의 주소와 같은지의 여부를 판단하는 제1 판단단계; 상기 제1 판단단계에서의 판단 결과 상기 노드 S와 이웃한 노드의 주소값(NH_Addr)이 상기 노드 N의 주소와 다르면 OHRM을 "1"로 설정하는 단계; 상향 링크 라우팅 테이블(Down Link routing Table) 및 하향 링크 라우팅 테이블(Down Link routing Table)을 갱신하는 단계; 상기 OHRM의 값이 0이고, 상기 노드 S와 이웃한 노드의 주소값(NH_Addr)이 싱크 노드의 주소값(CS_Addr)과 같은 지의 여부를 판단하는 제2 판단단계; 및 상기 제2 판단단계에서의 판단결과 상기 OHRM의 값이 "0"이고 RM(S, O)의 상기 NH_Addr이 싱크 노드의 주소값(CS_Addr)과 다른 경우, 노드 N을 송신자로 하고 ULT로부터 목적지를 지정하여 RM(N, O)을 해당 목적지로 전송하는 단계;를 포함하는 것인 하향 링크 라우팅 방법. (여기서, RM(S, O)는 노드 S가 노드 O로부터 전송된 싱크 노드(CS)로의 주기적 또는 비주기적 보고 메시지를 중계하는 것을 의미하고, RM(S, O)는 RM(S, O) = (S_Addr, NH_Addr, hop, O_Addr, O_Pos)으로 정의되며, 노드 S의 주소(S_Addr), 상기 노드 S와 이웃한 노드의 주소값(NH_Addr), 상기 RM(S, O)의 홉 수(hop), 노드 O의 주소(O_Addr), 노드 O의 위치(O_Pos)는 각각 RM(S, O, S_Addr), RM(S, O, NH_Addr), RM(S, O, hop), RM(S, O, O_Addr), RM(S, O, O_Pos)로 표시하고, "hop"은 소정의 노드까지 도달하는데 소요된 홉 수를 의미하며, NH_Addr은 RM(S, O)가 전달되어야 하는 다음 목적지를 의미하고, OHRM은 상기 RM(S, O)의 목적지가 노드 N인지 여부를 표시하는 변수를 의미함)
상기 설정하는 단계 이후, 상기 노드 N은 상기 노드 S에서 수신한 상기 RM에 대하여 무결성을 검사하는 단계; 상기 RM이 무결성 검사 결과 수신된 메시지가 무결성인지의 여부를 판단하는 단계; 및 상기 무결성 여부의 판단 결과 결함이 있는 것으로 판단되면 메시지를 버리는 단계를 더 포함하는 것이다.
상기 무결성 검사하는 단계는, a. 송신 노드(노드 S)와 수신 노드(노드 N) 간의 거리인 d(S, N)가 전송 거리인 R보다 작을 것. b. RM(S, O, hop)이 "0"이라면, RM(S, O, S_Addr)이 RM(S, O, O_Addr)과 같아야 함. c. RM(S, O, hop)이 "0"보다 크다면, RM(S, O, S_Addr)이 RM(S, O, O_Addr)과 달라야 함. d. RM(S, O, O_Pos)와 DLT로부터 얻어지는 노드 O의 위치(DLTe(O, Pos)) 변화량(d(RM(S, O, O_Pos), DLTe(O, Pos)))이 노드 O에 대한 DLTe(O)가 갱신된 마지막 시간(DLTe(O, LastTime))과 현재 시간(Current_Time) 사이의 차에 노드들의 최대 이동 속도(V)를 곱한 값보다는 작아야 함. e. ULT로부터 얻어지는 노드 O의 위치(ULTe(O, Pos))로부터 상대적인 위치 변화량 (d(RM(S, O, O_Pos), ULTe(O, Pos))값이 ULTe가 갱신된 마지막 시간(ULTe(O, LastTime))과 현재 시간(Current_Time) 사이의 차에 노드들의 최대 이동 속도(V)를 곱한 값보다는 작아야 함. 및 f. 상기 a, b, c, d 및 e의 조건 중 적어도 어느 하나의 조건을 만족시키는 것이다.
상기 하향 링크 테이블을 갱신하는 단계는, RM(S, O, hop)이 "0"인지의 여부를 판단하는 단계; RM(S, O, hop)이 "0"이 아닌 것으로 판단되면, 노드 S로부터 수신한 메시지 중에서 DLTe(S)가 존재하는 지의 여부를 판단하는 단계; DLTe(S)가 존재하지 않으면, DLTe(S)를 생성하는 단계; DLTe(S)가 존재하는 경우, DLTe(S)의 홉 수를 의미하는 DLTe(S hop)이 1보다 큰지의 여부를 판단하는 단계; DLTe(S hop)이 1을 초과하는 경우, DLTe(S)를 삭제하는 단계; DLTe(S hop)이 1 이하인 경우, DLTe(S)의 유효 시간(Valid Time, VTime)을 갱신하는 단계; RM(S, O, hop)이 "0"인 경우, DLTe(O) 존재 여부를 판단하는 단계; DLTe(O)가 존재하지 않으면, DLTe(O)를 생성하는 단계; DLTe(O)가 존재하는 경우, OHRM이 "0"인 것 또는 DLTe(O)의 홉 수(DLTe(O, hop))가 RM(S, O, hop)에 1을 더한 값보다 큰 것 중 적어로 어느 하나의 것을 충족시키는 지의 여부를 판단하는 단계; 및 OHRM이 "0"인 것 또는 기존의 DLTe(O)의 홉 수(DLTe(O, hop))가 RM(S, O, hop)에 1을 더한 값보다 큰 것 중 적어로 어느 하나의 것을 충족시키는 경우, DLTe(O)를 삭제하는 단계를 포함하는 것이다. (여기서, DLTe(S)는 S 노드를 목적지으로 하는 하향 링크 라우팅 테이블 엔트리이며, DLTe(S hop)은 DLTe(S)의 홉 수이고, DLTe(O)는 노드 O를 목적지로 하는 하향 링크 라우팅 테이블 엔트리임)
상기 상향 링크 테이블 및 하향 링크 테이블을 갱신하는 단계는, ULTe(S)가 존재하는 지의 여부를 판단하는 단계; 상기 ULTe(S)가 존재하는 경우, 상기 ULTe(S)의 유효 시간을 갱신하는 단계; 상기 ULTe(S)가 존재하는 않는 경우, 상기 OHRM이 "1"인 지의 여부를 판단하는 단계; 상기 OHRM이 "1"인 경우, ULTe(S)를 생성하는 단계; 상기 RM(S, O ,NH_Addr)과 상기 싱크 노드의 주소값(CS_Addr)과 같은지의 여부를 판단하는 단계; RM(S, O, NH_Addr)이 상기 싱크 노드의 주소값(CS_Addr)과 같지 않은 경우, DLTe(NH)가 존재하는 지의 여부를 판단하는 단계; DLTe(NH) 존재 여부를 판단하여 DLTe(NH)가 존재하지 않으면, DLTe(NH)를 생성하는 단계; DLTe(NH)가 존재하는 경우, DLTe(NH)의 홉 수(DLTe(NH, hop))가 1보다 큰 지의 여부를 판단하는 단계; 및 DLTe(NH)의 홉 수(DLTe(NH, hop))가 1보다 큰 경우, 기존의 DLTe(NH)를 삭제하는 단계를 포함하는 것이다. (여기서, DLTe(NH)는 이웃한 노드인 NH 노드를 목적지로 하는 하향 링크 라우팅 테이블 엔트리이며, ULTe(S)는 S 노드를 다음 홉으로 하는 상향 링크 라우팅 테이블 엔트리임)
상기 DLTe(NH)의 홉 수(DLTe(NH, hop))가 1보다 큰 지의 여부를 판단하는 단계에서 상기 1을 2로 대체하는 것이다.
상기 DLTe(S)를 생성하는 단계는, DLTe(S, Dest_Addr)과 DLTe(S, NH_Addr)을 RM(S, O, S_Addr)로 설정하는 단계; ULTe(S)가 존재하고, ULTe(S)로부터 노드 S의 위치를 알 수 있는 지의 여부를 판단하는 단계; ULTe(S)로부터 노드 S의 위치를 알 수 있는 경우, DLTe(S, Dest_Pos)와 DLTe(S, NH_Pos)를 ULTe(S, Pos)로 설정하는 단계; ULTe(S)로부터 노드 S의 위치를 알 수 없는 경우, DLTe(S, Dest_Pos)과 DLTe(S, NH_Pos)를 값을 알 수 없음으로 설정하는 단계; DLTe(S, hop)를 "1"로 설정하는 단계; 및 DLTe(S, VTime)을 AvgTryNum(1) × RepPeriod로 갱신하는 단계를 포함하는 것이다.(여기서, DLTe(S, Dest_Addr)는 노드 S를 목적지로 하는 하향 링크 라우팅 테이블 엔트리의 목적지 주소이며, DLTe(S, Dest_Pos)는 노드 S를 목적지로 하는 하향 링크 라우팅 테이블 엔트리의 목적지 위치이고, DLTe(S, NH_Pos)는 노드 S를 목적지로 하는 하향 링크 라우팅 테이블 엔트리의 이웃한 노드의 위치이며, DLTe(S, NH_Addr)는 노드 S를 목적지로 하는 하향 링크 라우팅 테이블 엔트리의 다음 홉 주소이고, ULTe(S, Pos)는 노드 S를 목적지로 하는 상향 링크 라우팅 테이블 엔트리의 위치이며, DLTe(S, VTime)은 노드 S를 목적지로 하는 하향 링크 라우팅 테이블 엔트리의 엔트리 유효 시간이고, RepPeriod는 주기적 또는 비주기적 보고 메시지의 발생 간격으로서 사용자가 지정하는 값이며, AvgTryNum(p)는 p-홉 거리에 있는 노드와 통신에 성공하기 위해서 평균적으로 소요되는 통신 재시도 회수로서 사용자가 지정하는 값임)
상기 DLTe(O)를 생성하는 단계는, DLTe(O, Dest_Addr)을 RM(S, O, O_Addr)로 설정하는 단계; ULTe(S)가 존재하며, ULTe(S)로부터 노드 S의 위치를 알 수 있는 지의 여부를 판단하는 단계; ULTe(S)로부터 S의 위치를 알 수 있는 경우, DLTe(O, NH_Pos)를 ULTe(S, Pos)로 설정하는 단계; ULTe(S)로부터 S의 위치를 알 수 없는 경우, DLTe(O, NH_Pos)의 값을 알 수 없음으로 설정하는 단계; RM(S, O, hop)이 "0"인지의 여부를 판단하는 단계; RM(S, O, hop)이 "0"인 것으로 판단되면, DLTe(O, NH_Pos)을 RM(S, O, O_Pos)로 설정하는 단계; DLTe(O, Dest_Pos)를 RM(S, O, O_Pos)로 설정하는 단계; DLTe(O, NH_Addr)을 RM(S, O, S_Addr)로 설정하는 단계; DLTe(O, hop)을 RM(S, O, hop) + 1로 설정하는 단계; 및 DLTe(O, VTime)은 AvgTryNum(DLTe(O, hop)) × RepPeriod로 설정하는 단계를 포함하는 것이다.
상기 DLTe(NH)를 생성하는 단계는, DLTe(NH, Dest_Addr)를 RM(S, O, NH_Addr)로 설정하는 단계; DLTe(NH, Dest_Pos)의 값을 알 수 없음으로 설정하는 단계; DLTe(NH, NH_Addr)를 RM(S, O, S_Addr)로 설정하는 단계; ULTe(S)가 존재하며 ULTe(S)로부터 노드 S의 위치를 알 수 있는 지의 여부를 판단하는 단계; ULTe(S)로부터 노드 S의 위치를 알 수 있 것으로 판단되면, DLTe(NH, NH_Pos)를 ULTe(S, Pos)로 설정하는 단계; ULTe(S)로부터 노드 S의 위치를 알 수 없는 것으로 판단되면, DLTe(NH, NH_Pos)의 위치를 알 수 없음으로 설정하는 단계; DLTe(NH, hop)을 "2"로 설정하는 단계; 및 DLTe(NH, VTime)을 AvgTryNum(2) × RepPeriod로 설정하는 단계를 포함하는 것이다.
상기 ULTe(S)를 갱신하는 단계는, OHRM 값이 "0"인지의 여부를 판단하는 단계; OHRM 값이 "0"인 것으로 판단되면, ULTe(S)의 Detour(우회경로를 판단하는 지시자)를 "0"으로 설정하는 단계; OHRM 값이 "0"이 아닌 경우, 즉 OHRM 값이 "1"인 것으로 판단되면, ULTe(S, VTime)을 AvgTryNum(ULTe(S, hop)) × RepPeriod로 갱신시키는 단계; ULTe(S, Detour)를 "1"로 설정하는 단계; RM(S, O, hop)이 "0"인지의 여부를 판단하는 단계; RM(S, O, hop)이 "0"인 것으로 판단되면, ULTe(S, Pos)를 RM(S, O, O_Pos)로 갱신시키는 단계; 및 상기 ULTe(S, EI)와 ULTe(S, Priority)를 갱신하는 단계를 포함하는 것이다. (여기서, ULTe(S, hop)은 노드 S를 다음 홉으로 하는 상향 링크 라우팅 테이블 엔트리의 홉수로서 S를 경유하여 싱크 노드에 도달할 때까지 소요되는 홉수이고,
ULTe(S, Detour)은 노드 S가 싱크 노드에 도달하는 경유지로서의 가능 여부를 나타내는 것으로서 "0" 또는 "1"의 값을 가지며, ULTe(S, Detour)가"0"의 값을 가지는 경우 경유(우회)가 불가능함을 의미하고, ULTe(S, Detour)가 "1"의 값을 가지는 경우 경유(우회) 가능함을 의미하며,
ULTe(S, Priority)은 노드 S를 다음 홉으로 하는 상향 링크 라우팅 테이블 엔트리의 우선순위로서, 싱크 노드까지 도달하기 위해서 존재하는 경우지 중에서 S를 경유하여 싱크 노드에 도달하는 경로의 우선순위를 의미하며,
상기 ULTe(S, EI)는 노드 S를 다음 홉으로 하는 상향 링크 라우팅 테이블 엔트리의 등간격 표지자로서, ULTe(S, EI)는 노드 S를 경유하여 싱크 노드(CS)까지 도달하는 전체 경로의 우수성을 나타낸 표시자임)
상기 ULTe(S)를 생성하는 단계는, ULTe(S, Addr)을 RM(S, S_Addr)로 설정하는 단계; DLTe(S)가 존재하며, DLTe(S)로부터 노드 S의 위치를 알 수 있는 지의 여부를 판단하는 단계; DLTe(S)로부터 노드 S의 위치를 알 수 있는 경우, ULTe(S, Pos)를 ULTe(S, Dest_Pos)로 설정하는 단계; DLTe(S)로부터 노드 S의 위치를 알 수 없는 경우, ULTe(S, Pos)의 값을 알 수 없음으로 설정하는 단계; RM(S, O, hop)이 "0"인지의 여부를 판단하는 단계; RM(S, O, hop)이 "0"인 것으로 판단되면, ULTe(S, Pos)를 RM(S, O, O_Pos)로 설정하는 단계; ULTe(S, hop)을 min_ULTe_hop+1로 설정하는 단계; ULTe(S, EI)의 값을 알 수 없음으로 설정하는 단계; ULTe(S, VTime)을 AvgTryNum(min_ULTe_hop+1) × RepPeriod로 설정하는 단계; ULTe(S, Priority)의 우선 순위를 가장 낮음(MinPriority)으로 설정하는 단계; ULTe(S, Detour)를 "1"로 설정하는 단계를 포함하는 것이다.(여기서, min_ULTe_hop+1은 노드 N의 상향링크 라우팅 테이블에서의 최소 홉 수+1을 의미하며, AvgTryNum는 평균 시도 회수를 의미하며, AvgTryNum(min_ULTe_hop+1)는 노드 N의 상향링크 라우팅 테이블에서의 최소 홉 수+1 거리에 있는 노드와 통신에 성공하기 위해서 평균적으로 소요되는 통신 재시도 회수로서 사용자가 지정하는 값을 나타내고, ULTe(S, Detour)가 "1" 의 값을 갖는다는 의미는 우회 가능하다는 뜻임)
상기 노드 N이 수신한 RM(S, O)로부터 RM(N, O) 메시지를 생성하는 단계를 더 포함하는 것이다.
상기 RM(N, O) 메시지를 생성하는 단계는, RM(N, O, S_Addr)을 이웃한 노드 N의 주소값(N_Addr)으로 설정하는 단계; RM(N, O, NH_Addr)을 우선 순위가 "0"인 ULTe의 주소값(ULTe0_Addr)으로 설정하는 단계; RM(N, O, hop)을 RM(S, O, hop) + 1 로 설정하는 단계; RM(N, O, O_Addr)을 RM(S, O, O_Addr)로 설정하는 단계; 및 RM(N, O, O_Pos)을 RM(S, O, O_Pos)로 설정하는 단계를 포함하는 것이다.
전술한 구성을 가지는 본 발명은, 에드혹 네트워크에 있어서 주기적 또는 비주기적 보고 메시지를 싱크 노드로 전송하여 주기적 또는 비주기적 보고 메시지를 이용해 라우팅할 수 있도록 하고 라우팅 오버헤드를 감소시켜 에드혹 네트워크의 수율을 향상시킬 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 에드혹 통신하는 시스템 구성을 나타낸 블록 구성도.
도 2는 본 발명의 일 실시예에 따른 하나의 싱크 노드를 갖는 네트워크 토폴로지에서의 하향 링크 라우팅 방법을 개략적으로 나타낸 순서도.
도 3은 본 발명의 일 실시예에 따른 네트워크 토폴로지에서의 하향 링크 라우팅하는 단계를 보다 상세하게 나타낸 순서도.
도 4는 본 발명의 일 실시예에 따른 하향링크 라우팅 테이블 엔트리의 포맷을 나타낸 도면.
도 5는 본 발명의 일 실시예에 따른 도 3의 무결성 검사하는 조건을 나타낸 도면.
도 6은 본 발명의 일 실시예에 따른 도 3의 하향 링크 테이블을 갱신하는 단계를 나타낸 순서도.
도 7은 본 발명의 일 실시예에 따른 도 3의 상향 링크 테이블 및 하향 링크 테이블을 갱신하는 단계를 나타낸 순서도.
도 8은 본 발명의 일 실시예에 따른 도 6의 DLTe(S)를 생성하는 단계를 나타낸 순서도.
도 9는 본 발명의 일 실시예에 따른 도 6의 DLTe(O)를 생성하는 단계를 나타낸 순서도.
도 10은 본 발명의 일 실시예에 따른 도 7의 DLTe(NH)를 생성하는 단계를 나타낸 순서도.
도 11은 본 발명의 일 실시예에 따른 도 7의 ULTe(S)를 갱신하는 단계를 나타낸 순서도.
도 12는 본 발명의 일 실시예에 따른 도 7의 ULTe(S)를 생성하는 단계를 나타낸 순서도.
도 13은 본 발명의 일 실시예에 따라 노드 N이 수신한 RM(S, O)로부터 RM(N, O) 메시지를 생성하는 단계를 나타낸 순서도.
이하, 본 발명의 실시예를 나타내는 첨부 도면을 참조하여 본 발명을 더욱 상세히 설명한다. 도 1은 본 발명의 일실시예에 따른 에드혹 통신하는 시스템 구성을 나타낸 블록 구성도이다. 도 1을 참조하면, 본 발명에서는, 도면에서와 같이, 하나의 싱크 노드(sink node, 싱크 노드, CS, 이하 싱크 노드로 통칭함)와 다수의 노드들(P1, P2, ..., Pa, Q1, Q2, ..., Qb, K) 사이에 발생하는 다중 홉 에드혹 통신 네트워크 토폴로지(Multi-Hop Ad-hoc Communication Network Topology)를 고려한다.
싱크 노드(CS) 이외의 노드들(P1, P2, ..., Pa, Q1, Q2, ..., Qb, K)은 싱크 노드(CS)로 다중홉 통신을 통하여 서로 간 또는 싱크 노드(CS)로 데이터를 전송하고, 싱크 노드(CS)는 네트워크 상의 노드들에게 데이터를 전송한다. 대부분의 수중 네트워크가 이와 같은 토폴로지로 구성된다.
한편, 상향링크 라우팅이라 함은, 네트워크상의 임의의 노드(P1, P2, ..., Pa, Q1, Q2, ..., Qb, K)가 싱크 노드(CS)로 데이터를 전송하고자 할 때, 어떤 노드를 경유하여 전달할 것인지를 결정하는 것으로서, 예를 들면, 도 1에서 노드 K가 싱크 노드(CS)에게 데이터를 전송하고자 할 때, 노드 K의 많은 이웃 노드들 중에서 노드 P2를 경유하여 전달하도록 하는 것이다.
반대로, 하향링크 라우팅이라 함은, 싱크 노드(CS)가 네트워크상의 임의의 노드(P1, P2, ..., Pa, Q1, Q2, ..., Qb, K)에게 정보를 전송하고자 할 때, 어떤 노드를 경유하여 전달할 것인지를 결정하는 것으로서, 예를 들면, 위 그림에서 싱크 노드(CS)가 노드 Q2에게 정보를 전송하고자 할 때, 싱크 노드(CS)의 많은 이웃 노드들 중에서 노드 P1을 경유하여 노드 Q2로 데이터를 전달하도록 하는 것이다.
본 발명에서는 각 노드들(P1, P2, ..., Pa, Q1, Q2, ..., Qb, K)은 자기 자신의 위치를 알고 있다고 가정한다. 수중 네트워크에서는 USBL(Ultra-Short Baseline), LBL(Long Baseline) 등과 같은 위치 추적 장치 및 관성 항법 장치 등을 탑재한 상태에서 운용되므로, 수상 또는 수중에 설치된 노드들은 자신의 위치를 알 수 있다. 특히, 수중에서는 이루어지는 과학적 탐사 및 모든 활동은 정확한 위치 정보가 가장 핵심이 되는 필수 정보이다. 따라서 싱크 노드로 전송되는 데이터에는 반드시 위치 정보가 포함되어야 한다. 또한 육상에서는 GPS 및 실내 측위 시스템에 의해서 자기 자신의 위치를 알 수 있다.
또한, 본 발명에서는 모든 노드가 목적지를 싱크 노드(CS)로 갖는 상향링크 라우팅 테이블(Up-Link routing Table ; ULT, 이하 ULT)을 보유하고 있다고 가정하고, 하향 링크 라우팅 방법을 고려한다. 또한, 싱크 노드(CS)를 제외한 네트워크의 모든 노드(P1, P2, ..., Pa, Q1, Q2, ..., Qb, K)는 주기적 또는 비주기적으로 싱크 노드(CS)에게 보고 메시지를 전송한다고 가정한다.
도 2는 본 발명의 일 실시예에 따른 하나의 싱크 노드를 갖는 네트워크 토폴로지에서의 하향 링크 라우팅 방법을 개략적으로 나타낸 순서도이다. 도 2를 참조하면, S102단계에서 임의의 노드 O가 주기적 또는 비주기적 보고 메시지(Periodic or Non-periodic Report Message, 이하 RM)를 생성한다.
이와 같이 주기적 또는 비주기적으로 싱크 노드에게 보고되는 메시지는 다음과 같은 1) 내지 5)의 정보를 포함하도록 한다.
1) 송신 노드 S의 주소: S_Addr(Sender Address)
2) 다음 홉 노드 NH의 주소: NH_Addr(Naberhood Address)
3) 홉 수: hop
4) 주기적 또는 비주기적 보고 메시지를 최초로 생성한 생성 노드인 O의 주소: O_Addr(Originator Address)
5) O의 위치: O_Pos(Originator Position)
전술한 노드 S, 노드 O, 노드 NH 및 후술하는 노드 N 등은 모든 노드(P1, P2, ..., Pa, Q1, Q2, ..., Qb, K)에 포함되는 노드들을 기능적으로 분류한 것이다.
주기적 또는 비주기적으로 싱크 노드(CS)에게 보고되는 메시지는 다양한 데이터를 포함할 수 있지만, 본 발명에서는 상기 언급한 5가지 종류의 정보만을 이용하며, 편의상, 이것을 "주기적 또는 비주기적 보고 메시지(Periodic or Non-periodic Report Message, 이하 RM)"라고 정의한다. RM(S, O)은 노드 O가 생성한 RM 메시지를 노드 S가 중계하는 메시지로 정의할 수 있다. 즉, 노드 O가 RM 메시지를 생성하면, 이 메시지는 노드 O의 ULT에 의하여 특정 노드에게 전달되고, 이 메시지를 수신한 해당 특정 노드는 다시 자신이 보유하고 있는 ULT에 의하여 전달되는 단계를 거치게 되는데, RM(S, O)은 노드 O의 싱크 노드로의 주기적 또는 비주기적 보고 메시지를 송신하며 중계하는 노드가 S임을 의미한다. 홉 수(hop)는 노드 O로부터 노드S까지 도달하는데 소요된 홉 수를 의미한다. NH_Addr은 RM(S, O)의 상향 방향의 목적지를 의미하는데, 노드 O가 생성한 RM 메시지의 최종 목적지는 싱크 노드이지만, 싱크 노드까지 도달하기 위해서 거쳐야 하는 다음 목적지가 NH_Addr이다. 상기 설명된 바를 효과적으로 표현하기 위하여 RM(S, O)을 다음과 같이 정의한다.
RM(S, O) = (S_Addr, NH_Addr, hop, O_Addr, O_Pos)
RM(S, O)의 S_Addr, NH_Addr, hop, O_Addr, O_Pos는 각각 RM(S, O, S_Addr), RM(S, O, NH_Addr), RM(S, O, hop), RM(S, O, O_Addr), RM(S, O, O_Pos)와 같이 표시한다.
S104단계에서 RM(S, O)을 상향 방향의 인접한 특정 노드에게 전송한다. 본 실시예에서는 상향 방향으로 설정된 노드 N으로 전송하는 것으로 설정하였다.
S106단계에서 중계된 RM이 싱크 노드(CS)로 전송된다.
도 3은 본 발명의 일 실시예에 따른 네트워크 토폴로지에서의 하향 링크 라우팅하는 단계를 보다 상세하게 나타낸 순서도이다. 도 3을 참조하면, S202단계에서 임의의 노드 N이 노드 O에서 생성한 주기적 또는 비주기적 보고 메시지(RM)를 노드 S로부터 수신한다. 즉, 노드 N이 RM(S, O)을 수신한다.
S204단계에서 노드 N은 OHRM(OverHeard RM)을 "0"으로 설정한다. OHRM은 RM(S, O)의 목적지가 노드 N인지 여부를 표시하는 변수이다. 즉, OHRM의 값이 0인 경우면, RM(S, O)의 목적지가 노드 N이며, OHRM의 값이 1인 경우면, RM(S, O)의 목적지가 노드 N이 아닌 것이다.
S206단계에서 노드 N은 노드 S에서 수신한 RM(S, O)에 대하여 메시지 무결성을 검사한다.
S208단계에서 노드 N은 노드 S에서 수신한 메시지의 무결성 검사 결과 수신된 메시지가 무결성인지의 여부를 판단한다. 결함이 있는 것으로 판단되면(S208, N), 메시지를 해석하지 않고 버린다(S210단계). 이때 메시지 결함에 대한 판단하는 단계인 S208단계는 데이터 링크 계층에서 오류 검출 기능인 CRC(Cyclic Redundancy Check)를 이전에 수행한 경우에는 생략될 수도 있다.
노드 N은 노드 S로부터 수신한 메시지가 무결성인 것으로 판단되면(S208단계, Y) 수신한 메시지의 NH_Addr이 노드 N의 주소와 같은지의 여부를 판단한다(S212단계).
노드 N이 판단하여 수신한 메시지의 NH_Addr이 노드 N의 주소와 같지 않다면(S212단계, N) 엿들은 정보로 판단하고 OHRM(OverHeard RM)를 "1"로 설정한다(S214단계).
S216단계에서 노드 N은 ULT 및 하향 링크 라우팅 테이블(Down Link routing Table; 이하, DLT)을 갱신한다. 갱신하는 단계인 S216단계는 OHRM 값에 따라서 단계가 달라지며, 이에 대해서는 후술하는 도면을 참조하여 보다 상세하게 설명하기로 한다.
S218단계에서 OHRM의 값이 0 이고, 수신한 RM(S, O)의 NH_Addr이 CS의 주소값(CS_Addr)과 같은 지의 여부를 판단한다.
OHRM의 값이 0이고 RM(S, O)의 NH_Addr이 CS의 주소값(CS_Addr)과 다른 경우[S218단계, OHRM = 1 and RM(S, O, NH_Addr) ≠ CS_Addr], 노드 N을 송신자로 하고 ULT로부터 목적지를 지정하여 RM(N, O)를 해당 목적지로 전송(unicast) 한다(S220단계).
OHRM의 값이 0이거나, RM(S, O)의 NH_Addr이 CS의 주소값(CS_Addr)과 같은 경우[S218단계, N], 이는 메시지를 수신한 노드 N이 싱크 노드(CS)임을 의미하며, 따라서 전술한 단계 106단계로 진행한 것으로 판단되므로 종료한다. 노드 N, 즉 싱크 노드(CS)가 RM을 처리하고 종료한다.
도 4는 본 발명의 일 실시예에 따른 하향링크 라우팅 테이블 엔트리의 포맷을 나타낸 도면이다. 도 4를 참조하면, 하향링크 라우팅 테이블 엔트리(Down Link routing Table entry; 이하, DLTe)는 다음의 6가지 항으로 구성되며, 그 항목들은 순차적으로 목적지 주소값(32)(Dest_Addr), 목적지 위치(34)(Dest_Pos), 다음 홉 주소값(36)(NH_Addr), 다음 홉 위치(38)(NH_Pos), 홉 수(40)(hop), 엔트리 유효 시간(42)(VTime)이다.
도 5는 본 발명의 일 실시예에 따른 도 2의 무결성 검사하는 조건을 나타낸 도면이다. 도 4를 참조하면, 도면에 도시된 바와 같이 1. 내지 4.의 조건을 만족시키는 경우(S208단계, Y), 전술한 S208단계로부터 S212단계로 진행하고, 1. 내지 4.의 조건 중 어느 하나의 조건이라도 만족시키지 못하는 경우(S208단계, N), 전술한 S208단계로부터 S210단계로 진행한다.
무결성을 검사하기 위한 4개의 조건을 살펴보면 다음과 같다.
먼저, 송신 노드와 수신 노드 간의 거리인 d(S, N)가 전송 거리인 R보다 작아야 한다. 여기에서, d(x, y)는 노드 x와 노드 y 사이의 거리이다. 이때, S의 위치 정보를 ULT 또는 DLT로부터 알 수 있는 경우에 이를 판단할 수 있다.
두 번째로, 만약 RM(S, O, hop)이 "0"이라면, RM(S, O, S_Addr)이 RM(S, O, O_Addr)과 같아야 한다.
세 번째로, 만약 RM(S, O, hop)이 "0"보다 크다면, RM(S, O, S_Addr)이 RM(S, O, O_Addr)과 달라야 한다.
네 번째로, DLT 또는 ULT로부터 노드 O(주기적 또는 비주기적 보고 메시지를 최초로 생성한 노드)의 위치를 알아낼 수 있고, 노드들의 움직이는 최대 속도가 정해져 있다면, 이로부터 RM(S, O, O_Pos)에 대한 유효성을 검사할 수 있다, RM(S, O, O_Pos)와 DLT로부터 얻어지는 노드 O의 위치(DLTe(O, Pos)) 또는 ULT로부터 얻어지는 노드 O의 위치(ULTe(O, Pos))로부터 상대적인 위치 변화량 [d(RM(S, O, O_Pos), DLTe(O, Pos)) 또는 d(RM(S, O, O_Pos), ULTe(O, Pos)]을 구하고, 이와 같이 구해진 상대적인 위치 변화량 값은 노드 O에 대한 DLTe(O)가 갱신된 마지막 시간(DLTe(O, LastTime)) 또는 ULTe가 갱신된 마지막 시간(ULTe(O, LastTime))과 현재 시간(Current_Time) 사이의 차에 대해서 노드들의 최대 이동 속도(V)를 곱한 값보다는 작아야 한다.
상기 4개의 조건 중 적어도 하나의 조건을 사용하여 무결성 검사를 수행할 수 있으며, 또는 전술한 무결성 검사를 수행하지 않고 전술한 CRC 검사로 대체할 수도 있다.
도 6은 본 발명의 일 실시예에 따른 도 3의 하향 링크 테이블을 갱신하는 단계를 나타낸 순서도이다. 도 6을 참조하면, S302단계에서 노드 N은 RM(S, O, hop)이 "0"인지의 여부를 판단한다. 즉, 이는 RM(S, O, hop)이 "0"의 값을 갖는 다는 것은 노드 S와 노드 O가 같음을 의미하며, 이는 RM(S, O, hop)이 "0"이 아닌 값을 갖는 다는 것은 노드 S와 노드 O가 다름을 의미한다.
RM(S, O, hop)이 "0"이 아닌 것으로 판단되면(S302단계, N), 노드 N은 노드 S로부터 수신한 메시지 중에서 DLTe(S)가 존재하는 지의 여부를 판단한다(S304단계). 노드 N은 DLTe(S)가 존재하지 않으면(S304단계, Y), DLTe(S)를 생성한다(S308단계).
DLTe(S)가 존재하는 경우(S304단계, Y), 노드 N은 DLTe(S)의 홉 수를 의미하는 DLTe(S hop)이 1보다 큰지의 여부를 판단한다(S306단계). DLTe(S hop)이 1을 초과하는 경우(S306단계, Y), 기존의 DLTe(S)를 삭제하고(S310단계), DLTe(S)를 생성하는 단계인 S308단계로 진행하고, DLTe(S)가 존재하되 홉 수가 1 이하인 경우(S306단계, N) 기존의 DLTe(S)의 유효 시간(Valid Time, VTime)을 갱신한다(S312단계).
한편, RM(S, O, hop)이 "0"인 경우(S302단계, Y), 즉 노드 S와 노드 O가 같다고 판단되면, 노드 N은 DLTe(O) 존재 여부를 판단한다(S314단계). DLTe(O) 존재 여부를 판단하여 DLTe(O)가 존재하지 않으면(S314단계, N), DLTe(O)를 생성한다(S320단계). DLTe(O)가 존재하는 경우(S314단계, Y), OHRM이 "0"인 것 또는 기존의 DLTe(O)의 홉 수(DLTe(O, hop))가 RM(S, O, hop)에 1을 더한 값보다 큰 것 중 적어로 어느 하나의 것을 충족시키는 지의 여부를 판단한다(S316단계).
OHRM이 "0"인 것 또는 기존의 DLTe(O)의 홉 수(DLTe(O, hop))가 RM(S, O, hop)에 1을 더한 값보다 큰 것 중 적어로 어느 하나의 것을 충족시키는 경우(S316단계, Y), 기존의 DLTe(O)를 삭제하고(S318단계), 전술한 S320단계로 진행한다.
도 7은 본 발명의 일 실시예에 따른 도 3의 상향 링크 테이블 및 하향 링크 테이블을 갱신하는 단계를 나타낸 순서도이다. 도 7을 참조하면, S402단계에서 노드 N은 노드 S로부터 수신한 메시지 중에서 ULTe(S)가 존재하는 지의 여부를 판단한다. 노드 N은 ULTe(S)가 존재하는 경우(S402단계, Y), 기존의 ULTe(S)의 유효 시간만을 갱신한다(S408단계).
S404단계에서 OHRM이 "1"인 지의 여부를 판단한다. OHRM이 "1"인 경우(S404단계, Y), ULTe(S)를 생성한다(S406단계). OHRM이 "1"이 아닌 경우(S404단계, Y), 즉 OHRM이 "0"인 경우(OHRM=0이면, 노드 N을 경유지로 하는 메시지이므로, 이 경우에는 무한 루프에 빠지는 상향 링크 경로가 생성되는 것에 해당됨) 루프를 종료한다.
S410단계에서 노드 N은 RM(S,O,NH_Addr)과 CS_Addr과 같은지의 여부를 판단한다. RM(S, O, NH_Addr)이 CS_Addr과 같지 않은 경우(S410, N), DLTe(NH)가 존재하는 지의 여부를 판단한다(S412단계). RM(S, O, NH_Addr)이 CS_Addr과 같은 경우(S410, Y), 종료한다. DLTe(NH) 존재 여부를 판단하여 DLTe(NH)가 존재하지 않으면(S412단계, N), DLTe(NH)를 생성한다(S418단계). DLTe(NH)가 존재하는 경우(S412단계, Y), 기존의 DLTe(NH)의 홉 수(DLTe(NH, hop))가 1보다 큰 지의 여부를 판단한다(S414단계).
기존의 DLTe(NH)의 홉 수(DLTe(NH, hop))가 1보다 큰 경우(S414단계, Y), 기존의 DLTe(NH)를 삭제하고(S416단계), 전술한 S418단계로 진행한다. 기존의 DLTe(NH)의 홉 수(DLTe(NH, hop))가 1이거나 작은 경우(S414단계, N), 종료한다.
한편, 전술한 S414단계에서 설정한 1을 2로 대체할 수도 있다. 즉, "DLTe(NH, hop) > 1" 조건을 "DLTe(NH, hop) > 2"로 바꿀 수도 있다. "DLTe(NH, hop) > 1" 조건은 같은 홉 수인 경우에도 가장 최근(최적의 의미와는 다름) 것으로 교체함으로써 경로 유효 시간 측면에서 유리하다. 하지만 잦은 DLT 변경이 발생한다. "DLTe(NH, hop) > 2" 조건은 잦은 DLT 변경은 피할 수 있지만, 노드 NH에 대한 DLTe 유효 시간 측면에서 단점이 발생할 수 있다.
한편, 전술한 실시예에서 있어서, 도 6을 참조하여 설명한 하향 링크 테이블을 갱신하는 단계와 도 7을 참조하여 설명한 상향 링크 테이블을 갱신하는 단계는 바람직하게는 그 순서에 있어서 도 6 및 도 7의 순으로 순차적으로 진행되지만, 도 7의 단계를 진행한 후에 도 6의 단계가 진행될 수도 있다.
도 8은 본 발명의 일 실시예에 따른 도 6의 DLTe(S)를 생성하는 단계를 나타낸 순서도이다. 도 8을 참조하면, S502단계에서 DLTe(S, Dest_Addr)과 DLTe(S, NH_Addr)이 모두 RM(S, O, S_Addr)로 설정된다.
S504단계에서 ULTe(S)가 존재하고, ULTe(S)로부터 노드 S의 위치를 알 수 있는 지의 여부를 판단한다. ULTe(S)가 존재하고, ULTe(S)로부터 노드 S의 위치를 알 수 있는 경우(S504단계, Y), DLTe(S, Dest_Pos)과 DLTe(S, NH_Pos)는 모두 ULTe(S, Pos)로 설정된다(S506단계). ULTe(S)로부터 노드 S의 위치를 알 수 없는 경우(S504단계, N), DLTe(S, Dest_Pos)과 DLTe(S, NH_Pos)는 모두 값을 알 수 없음(이하 N/A (Not Available)으로 설정된다(S508단계).
S510단계에서 DLTe(S, hop)이 "1"로 설정된다. S512단계에서 DLTe(S, VTime)을 AvgTryNum(1) × RepPeriod로 갱신한다. 여기에서 RepPeriod는 주기적 또는 비주기적 보고 메시지의 메시지 발생 간격이다. 주기적 또는 비주기적으로 이벤트가 발생했을 때 싱크 노드에게 보고 메시지가 전달되는 주기적 또는 비주기적 보고 메시지의 경우에는 정해진 시간이 초과되면 기본 정보를 전송하는 프로토콜을 가지고 있는 경우가 많은데, 이러한 경우에는 RepPeriod를 그 다음 보고 메시지가 발생되는데 소요되는 최대 시간으로 정할 수 있다. RepPerod는 유효 시간을 조정하기 위해서 사용자가 직접 지정하도록 하는 설정 변수로 한다. AvgTryNum(p)는 p-홉 거리에 있는 노드와 통신에 성공하기 위해서 평균적으로 소요되는 통신 재시도 회수로서 사용자가 지정하는 값이다. S는 N노드의 이웃 노드이므로, S는 N노드와 1 홉 거리에 있다.
도 9는 본 발명의 일 실시예에 따른 도 6의 DLTe(O)를 생성하는 단계를 나타낸 순서도이다. 도 9를 참조하면, S602단계에서 노드 N은 DLTe(O, Dest_Addr)이 RM(S, O, O_Addr)로 설정되도록 한다.
S604단계에서 노드 N은 ULTe(S)가 존재하며, ULTe(S)로부터 노드 S의 위치를 알 수 있는 지의 여부를 판단한다. ULTe(S)로부터 노드 S의 위치를 알 수 있는 경우(S604단계, Y), DLTe(O, NH_Pos)는 ULTe(S, Pos)로 설정된다(S606단계). ULTe(S)로부터 노드 S의 위치를 알 수 없는 경우(S604단계, N), 노드 N은 DLTe(O, NH_Pos)의 값을 알 수 없음(이하 N/A (Not Available)으로 설정한다(S608단계).
S610단계에서 RM(S, O, hop)값이 "0"인지의 여부를 판단한다. 즉 노드 S와 노드 O가 같은 노드인지의 여부를 판단한다. RM(S, O, hop)값이 "0"인 것으로 판단되면(S610단계, Y), DLTe(O, NH_Pos)가 RM(S, O, O_Pos)로 설정된다(S612단계). 한편, 전술한 S606단계에서 설정된 DLTe(O, NH_Pos)는 ULTe(S, Pos)로 설정되었지만, S612단계에 의해서 ULTe(S, Pos)는 RM(S, O, O_Pos)로 덮어 씌워져 재기록될 수 있다. 또한, 전술한 S610단계에서 판단하여 RM(S, O, hop)이 "0"인 것으로 판단되면(S610단계, Y), 이는 노드 S와 노드 O가 같은 노드이므로 ULTe(O)가 존재하는 경우 ULTe(O, Pos)도 RM(S, O, O_Pos)로 설정된다.
RM(S, O, hop)이 "0"이 아닌 것으로 판단되면(S610단계, N), DLTe(O, Dest_Pos)가 RM(S, O, O_Pos)로 설정된다(S614단계). S616단계에서 DLTe(O, NH_Addr)이 RM(S, O, S_Addr)로 설정된다. S618단계에서 DLTe(O, hop)이 RM(S, O, hop) + 1로 설정된다. S620단계에서 DLTe(O, VTime)은 AvgTryNum(DLTe(O, hop)) × RepPeriod로 설정된다.
도 10은 본 발명의 일 실시예에 따른 도 7의 DLTe(NH)를 생성하는 단계를 나타낸 순서도이다. 도 10을 참조하면, S702단계에서 노드 N은 DLTe(NH, Dest_Addr)가 RM(S, O, NH_Addr)로 설정되도록 한다. S704단계에서 DLTe(NH, Dest_Pos)의 값을 알 수 없음(이하 N/A(Not Available)로 설정한다. S706단계에서 DLTe(NH, NH_Addr)가 RM(S, O, S_Addr)로 설정된다.
S708단계에서 ULTe(S)가 존재하며 ULTe(S)로부터 노드 S의 위치를 알 수 있는 지의 여부를 판단한다. ULTe(S)로부터 노드 S의 위치를 알 수 있 것으로 판단되면(S708단계, Y), DLTe(NH, NH_Pos)가 ULTe(S, Pos)로 설정된다(S710단계). ULTe(S)로부터 S의 위치를 알 수 없는 것으로 판단되면(S708단계, N), DLTe(NH, NH_Pos)의 위치를 알 수 없음으로 설정한다(S712단계).
S714단계에서 노드 N은 DLTe(NH, hop)을 "2"로 설정한다. S716단계에서 DLTe(NH, VTime)은 AvgTryNum(2) × RepPeriod로 설정된다. 노드 NH는 송신 노드인 노드 S에 대하여 2-hop 거리의 이웃 노드이다.
도 11은 본 발명의 일 실시예에 따른 도 7의 ULTe(S)를 갱신하는 단계를 나타낸 순서도이다. 도 11을 참조하면, S802단계에서 노드 N은 OHRM 값이 "0"인지의 여부를 판단한다. OHRM 값이 "0"인 것으로 판단되면(S802단계, Y), 이는 RM(S, O) 메시지의 경유지가 노드 N인 경우이므로, 이때는 무한 루프 형성을 방지하기 위해서 기존에 있는 ULTe(S)의 Detour(우회경로를 판단하는 지시자)를 "0"으로 설정한다(S804단계). 여기서 Detour는 "0" 또는 "1"의 값을 가지며, Detour가 "0"의 값을 가지는 경우 노드 N을 통해 우회가 불가능함을 의미하고, Detour가 "1"의 값을 가지는 경우 노드 N을 통해 우회 가능함을 의미한다.
OHRM 값이 "0"이 아닌 경우, 즉64 OHRM 값이 "1"인 것으로 판단되면(S802단계, N), ULTe(S, VTime)이 AvgTryNum(ULTe(S, hop)) × RepPeriod로 갱신된다(S806단계). S808단계에서 ULTe(S, Detour)를 "1"로 설정한다.
S810단계에서 RM(S, O, hop)이 "0"인지의 여부를 판단한다. RM(S, O, hop)이 "0"인 것으로 판단되면(S810단계, Y), 노드 N은 ULTe(S, Pos)를 RM(S, O, O_Pos)로 갱신시킨다(S812단계). S814단계에서 갱신된 ULTe(S, Pos) 값을 이용하여 ULTe(S, EI)와 ULTe(S, Priority)를 새로 계산하여 갱신한다. 한편, 전술한 S814단계의 ULTe(S, EI)와 ULTe(S, Priority)를 갱신하는 절차는 생략해도 무방하다. 여기서 전술한 ULTe(S, EI)는 S노드에서의 등간격 표시자를 의미하며, 등간격 표시자는 노드 S가 싱크 노드(CS)까지 도달하는 전체 경로를 등간격으로 구분하여 타나낸 표시자를 나타낸다.
도 12는 본 발명의 일 실시예에 따른 도7의 ULTe(S)를 생성하는 단계를 나타낸 순서도이다. 도 12를 참조하면, S902단계에서 노드 N은 ULTe(S, Addr)이 RM(S, S_Addr)로 설정되도록 한다.
S904단계에서 노드 N은 DLTe(S)가 존재하며, DLTe(S)로부터 노드 S의 위치를 알 수 있는 지의 여부를 판단한다. DLTe(S)로부터 노드 S의 위치를 알 수 있는 경우(S904단계, Y), ULTe(S, Pos)가 DLTe(S, Dest_Pos)로 설정된다(S906단계). DLTe(S)로부터 노드 S의 위치를 알 수 없는 경우(S904단계, N), 노드 N은 ULTe(S, Pos)의 값을 알 수 없음으로 설정한다(S908단계).
S910단계에서 RM(S, O, hop)이 "0"인지의 여부를 판단한다. 즉 S910단계에서 노드 S와 노드 O가 같은 노드인지의 여부를 판단한다. RM(S, O, hop)이 "0"인 것으로 판단되면(S910단계, Y), ULTe(S, Pos)가 RM(S, O, O_Pos)로 설정된다(S912단계).
S914단계에서 ULTe(S, hop)을 min_ULTe_hop+1로 설정한다. 여기서, min_ULTe_hop+1은 노드 N의 상향링크 라우팅 테이블에서의 최소 홉 수+1을 의미한다. S916단계에서 ULTe(S, EI)의 값을 알 수 없음(이하 N/A (Not Available)으로 설정한다. S918단계에서 ULTe(S, VTime)이 AvgTryNum(min_ULTe_hop+1) × RepPeriod로 설정된다. 여기서, AvgTryNum는 평균 시도 회수를 의미하며, AvgTryNum(min_ULTe_hop+1)는 노드 N의 상향링크 라우팅 테이블에서의 최소 홉 수+1 거리에 있는 노드와 통신에 성공하기 위해서 평균적으로 소요되는 통신 재시도 회수로서 사용자가 지정하는 값을 나타낸다.
S920단계에서 ULTe(S, Priority)의 우선 순위를 가장 낮게(MinPriority) 설정하도록 한다. 예컨대, 본 발명에서는 우선 순위(Priority) 값이 작을수록 우선 순위가 높기 때문에, S920단계에서 ULTe(S, Priority)에 설정되는 우선순위의 숫자는 가장 높은 값을 갖게 될 것이다. S922단계에서 ULTe(S, Detour)가 "1"로 설정된다. ULTe(S, Detour)가 "1" 의 값을 갖는다는 의미는 우회 가능하다는 뜻이다.
도 13은 본 발명의 일 실시예에 따라 노드 N이 수신한 RM(S, O)로부터 RM(N, O) 메시지를 생성하는 단계를 나타낸 순서도이다. 도 13을 참조하면, S1002단계에서 노드 N은 RM(N, O) 생성 요청을 수신한다. S1004단계에서 RM(N, O, S_Addr)이 이웃한 노드 N의 주소값(N_Addr)으로 설정된다. S1006단계에서 RM(N, O, NH_Addr)이 우선 순위가 "0"인 ULTe의 주소값(ULTe0_Addr)으로 설정된다. S1008단계에서 RM(N, O, hop)이 RM(S, O, hop) + 1 로 설정된다. S1010단계에서 RM(N, O, O_Addr)이 RM(S, O, O_Addr)로 설정된다. S1012단계에서 RM(N, O, O_Pos)가 RM(S, O, O_Pos)로 설정된다. 전술한 단계에서 생성한 S1004단계 내지 S1012단계에서 생성한 메시지들을 통합하여 RM(N, O)를 생성한다(S1014단계).
본 발명에 따라서 설명된 하향 링크 라우팅 방법은 임의의 상향 링크 라우팅에 대해서도 적절하게 변형하여 사용할 수 있음을 당업자라면 쉽게 이해할 수 있을 것이다.
상기 본 발명의 내용은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
CS : 싱크 노드
P1, P2, ..., Pa, Q1, Q2, ..., Qb, K : 노드
32 : 목적지 주소값(Dest_Addr) 34 : 목적지 위치(Dest_Pos)
36 : 다음 홉 주소값(NH_Addr) 38 : 다음 홉 위치(NH_Pos)
40 : 홉 수(hop) 42 : 엔트리 유효 시간(VTime)

Claims (15)

  1. 네트워크 토폴로지에서의 하향 링크 라우팅 방법에 있어서,
    임의의 노드 O가 주기적 또는 비주기적 보고 메시지(Report Message, 이하 RM)를 생성하는 단계;
    상기 RM을 상향 방향의 인접한 특정 노드들로 중계하는 단계; 및
    상기 중계된 RM이 싱크 노드(CS)로 전송되는 단계를 포함하고,
    상기 중계하는 단계는,
    임의의 노드 N이 상기 노드 O가 생성한 상기 RM을 노드 S로부터 수신하는 단계;
    OHRM(OverHeard RM)을 "0"으로 설정하는 단계;
    상기 RM으로부터 상기 노드 S와 이웃한 노드의 주소값(NH_Addr)이 노드 N의 주소와 같은지의 여부를 판단하는 제1 판단단계;
    상기 제1 판단단계에서의 판단 결과 상기 노드 S와 이웃한 노드의 주소값(NH_Addr)이 상기 노드 N의 주소와 다르면 OHRM을 "1"로 설정하는 단계;
    상향 링크 라우팅 테이블(Down Link routing Table) 및 하향 링크 라우팅 테이블(Down Link routing Table)을 갱신하는 단계;
    상기 OHRM의 값이 0이고, 상기 노드 S와 이웃한 노드의 주소값(NH_Addr)이 싱크 노드의 주소값(CS_Addr)과 같은 지의 여부를 판단하는 제2 판단단계; 및
    상기 제2 판단단계에서의 판단결과 상기 OHRM의 값이 "0"이고 RM(S, O)의 상기 NH_Addr이 싱크 노드의 주소값(CS_Addr)과 다른 경우, 노드 N을 송신자로 하고 ULT로부터 목적지를 지정하여 RM(N, O)을 해당 목적지로 전송하는 단계;를 포함하는 것인 네트워크 토폴로지에서의 하향 링크 라우팅 방법.
    (여기서, RM(S, O)는 노드 S가 노드 O로부터 전송된 싱크 노드(CS)로의 주기적 또는 비주기적 보고 메시지를 중계하는 것을 의미하고, RM(S, O)는 RM(S, O) = (S_Addr, NH_Addr, hop, O_Addr, O_Pos)으로 정의되며, 노드 S의 주소(S_Addr), 상기 노드 S와 이웃한 노드의 주소값(NH_Addr), 상기 RM(S, O)의 홉 수(hop), 노드 O의 주소(O_Addr), 노드 O의 위치(O_Pos)는 각각 RM(S, O, S_Addr), RM(S, O, NH_Addr), RM(S, O, hop), RM(S, O, O_Addr), RM(S, O, O_Pos)로 표시하고, "hop"은 소정의 노드까지 도달하는데 소요된 홉 수를 의미하며, NH_Addr은 RM(S, O)가 전달되어야 하는 다음 목적지를 의미하고, OHRM은 상기 RM(S, O)의 목적지가 노드 N인지 여부를 표시하는 변수를 의미함)
  2. 제1항에 있어서, 상기 주기적 또는 비주기적 보고 메시지는,
    송신 노드 S의 주소[S_Addr(Sender Address)], 상향 방향의 다음 홉 노드 NH의 주소[NH_Addr(Naberhood Address)], 홉 수(hop), 주기적 또는 비주기적 보고 메시지를 최초로 생성한 노드 O의 주소[O_Addr(Originator Address)] 및 노드 O의 위치: O_Pos(Originator Position)를 포함하는 것인 네트워크 토폴로지에서의 하향 링크 라우팅 방법.
  3. 삭제
  4. 제1항에 있어서, 상기 설정하는 단계 이후,
    상기 노드 N은 상기 노드 S에서 수신한 상기 RM에 대하여 무결성을 검사하는 단계;
    상기 RM이 무결성 검사 결과 수신된 메시지가 무결성인지의 여부를 판단하는 단계; 및
    상기 무결성 여부의 판단 결과 결함이 있는 것으로 판단되면 메시지를 버리는 단계를 더 포함하는 것인 네트워크 토폴로지에서의 하향 링크 라우팅 방법.
  5. 제1항에 있어서, 상기 무결성 검사하는 단계는,
    a. 송신 노드(노드 S)와 수신 노드(노드 N) 간의 거리인 d(S, N)가 전송 거리인 R보다 작을 것.
    b. RM(S, O, hop)이 "0"이라면, RM(S, O, S_Addr)이 RM(S, O, O_Addr)과 같아야 함.
    c. RM(S, O, hop)이 "0"보다 크다면, RM(S, O, S_Addr)이 RM(S, O, O_Addr)과 달라야 함.
    d. RM(S, O, O_Pos)와 DLT로부터 얻어지는 노드 O의 위치(DLTe(O, Pos)) 변화량(d(RM(S, O, O_Pos), DLTe(O, Pos)))이 노드 O에 대한 DLTe(O)가 갱신된 마지막 시간(DLTe(O, LastTime))과 현재 시간(Current_Time) 사이의 차에 노드들의 최대 이동 속도(V)를 곱한 값보다 작아야 함.
    e. ULT로부터 얻어지는 노드 O의 위치(ULTe(O, Pos))로부터 상대적인 위치 변화량 (d(RM(S, O, O_Pos), ULTe(O, Pos))값이 ULTe가 갱신된 마지막 시간(ULTe(O, LastTime))과 현재 시간(Current_Time) 사이의 차에 노드들의 최대 이동 속도(V)를 곱한 값보다 작아야 함. 및
    f. 상기 a, b, c, d 및 e의 조건 중 적어도 어느 하나의 조건을 만족시키는 것인 네트워크 토폴로지에서의 하향 링크 라우팅 방법.
  6. 제1항에 있어서, 상기 하향 링크 라우팅 테이블을 갱신하는 단계는,
    RM(S, O, hop)이 "0"인지의 여부를 판단하는 단계;
    RM(S, O, hop)이 "0"이 아닌 것으로 판단되면, 노드 S로부터 수신한 메시지 중에서 DLTe(S)가 존재하는 지의 여부를 판단하는 단계;
    DLTe(S)가 존재하지 않으면, DLTe(S)를 생성하는 단계;
    DLTe(S)가 존재하는 경우, DLTe(S)의 홉 수를 의미하는 DLTe(S hop)이 1보다 큰지의 여부를 판단하는 단계;
    DLTe(S hop)이 1을 초과하는 경우, DLTe(S)를 삭제하는 단계; DLTe(S hop)이 1 이하인 경우, DLTe(S)의 유효 시간(Valid Time, VTime)을 갱신하는 단계;
    RM(S, O, hop)이 "0"인 경우, DLTe(O) 존재 여부를 판단하는 단계; DLTe(O)가 존재하지 않으면, DLTe(O)를 생성하는 단계;
    DLTe(O)가 존재하는 경우, OHRM이 "0"인 것 또는 DLTe(O)의 홉 수(DLTe(O, hop))가 RM(S, O, hop)에 1을 더한 값보다 큰 것 중 적어로 어느 하나의 것을 충족시키는 지의 여부를 판단하는 단계; 및
    OHRM이 "0"인 것 또는 기존의 DLTe(O)의 홉 수(DLTe(O, hop))가 RM(S, O, hop)에 1을 더한 값보다 큰 것 중 적어로 어느 하나의 것을 충족시키는 경우, DLTe(O)를 삭제하는 단계를 포함하는 것인 네트워크 토폴로지에서의 하향 링크 라우팅 방법.
    (여기서, DLTe(S)는 S 노드를 목적지로 하는 하향 링크 라우팅 테이블 엔트리이며, DLTe(S hop)은 DLTe(S)의 홉 수이고, DLTe(O)는 O 노드를 목적지로 하는 하향 링크 라우팅 테이블 엔트리임)
  7. 제1항에 있어서, 상기 상향 링크 라우팅 테이블 및 하향 링크 라우팅 테이블을 갱신하는 단계는,
    ULTe(S)가 존재하는 지의 여부를 판단하는 단계;
    상기 ULTe(S)가 존재하는 경우, 상기 ULTe(S)의 유효 시간을 갱신하는 단계;
    상기 ULTe(S)가 존재하는 않는 경우, 상기 OHRM이 "1"인 지의 여부를 판단하는 단계; 상기 OHRM이 "1"인 경우, ULTe(S)를 생성하는 단계;
    상기 RM(S, O ,NH_Addr)과 상기 싱크 노드의 주소값(CS_Addr)과 같은지의 여부를 판단하는 단계;
    RM(S, O, NH_Addr)이 상기 싱크 노드의 주소값(CS_Addr)과 같지 않은 경우, DLTe(NH)가 존재하는 지의 여부를 판단하는 단계;
    DLTe(NH) 존재 여부를 판단하여 DLTe(NH)가 존재하지 않으면, DLTe(NH)를 생성하는 단계;
    DLTe(NH)가 존재하는 경우, DLTe(NH)의 홉 수(DLTe(NH, hop))가 1보다 큰 지의 여부를 판단하는 단계; 및
    DLTe(NH)의 홉 수(DLTe(NH, hop))가 1보다 큰 경우, 기존의 DLTe(NH)를 삭제하는 단계를 포함하는 것인 네트워크 토폴로지에서의 하향 링크 라우팅 방법.
    (여기서, DLTe(NH)는 이웃한 노드인 NH 노드를 목적지로 하는 하향 링크 라우팅 테이블 엔트리이며, ULTe(S)는 S 노드를 다음 홉으로 하는 상향 링크 라우팅 테이블 엔트리임)
  8. 제7항에 있어서, 상기 DLTe(NH)의 홉 수(DLTe(NH, hop))가 1보다 큰 지의 여부를 판단하는 단계에서,
    상기 1을 2로 대체하는 것인 네트워크 토폴로지에서의 하향 링크 라우팅 방법.
  9. 제6항에 있어서, 상기 DLTe(S)를 생성하는 단계는,
    DLTe(S, Dest_Addr)과 DLTe(S, NH_Addr)을 RM(S, O, S_Addr)로 설정하는 단계;
    ULTe(S)가 존재하고, ULTe(S)로부터 노드 S의 위치를 알 수 있는 지의 여부를 판단하는 단계;
    ULTe(S)로부터 노드 S의 위치를 알 수 있는 경우, DLTe(S, Dest_Pos)와 DLTe(S, NH_Pos)를 ULTe(S, Pos)로 설정하는 단계;
    ULTe(S)로부터 노드 S의 위치를 알 수 없는 경우, DLTe(S, Dest_Pos)과 DLTe(S, NH_Pos)를 값을 알 수 없음으로 설정하는 단계;
    DLTe(S, hop)를 "1"로 설정하는 단계; 및
    DLTe(S, VTime)을 AvgTryNum(1) × RepPeriod로 갱신하는 단계를 포함하는 것인 네트워크 토폴로지에서의 하향 링크 라우팅 방법.
    (여기서, DLTe(S, Dest_Addr)는 노드 S를 목적지로 하는 하향 링크 라우팅 테이블 엔트리의 목적지 주소이며, DLTe(S, Dest_Pos)는 노드 S를 목적지로 하는 하향 링크 라우팅 테이블 엔트리의 목적지 위치이고, DLTe(S, NH_Pos)는 노드 S를 목적지로 하는 하향 링크 라우팅 테이블 엔트리의 이웃한 노드의 위치이며, DLTe(S, NH_Addr)는 노드 S를 목적지로 하는 하향 링크 라우팅 테이블 엔트리의 다음 홉 주소이고, ULTe(S, Pos)는 노드 S를 목적지로 하는 상향 링크 라우팅 테이블 엔트리의 위치이며, DLTe(S, VTime)은 노드 S를 목적지로 하는 하향 링크 라우팅 테이블 엔트리의 엔트리 유효 시간이고, RepPeriod는 주기적 또는 비주기적 보고 메시지의 발생 간격으로서 사용자가 지정하는 값이며, AvgTryNum(p)는 p-홉 거리에 있는 노드와 통신에 성공하기 위해서 평균적으로 소요되는 통신 재시도 회수로서 사용자가 지정하는 값임)
  10. 제6항에 있어서, 상기 DLTe(O)를 생성하는 단계는,
    DLTe(O, Dest_Addr)을 RM(S, O, O_Addr)로 설정하는 단계;
    ULTe(S)가 존재하며, ULTe(S)로부터 노드 S의 위치를 알 수 있는 지의 여부를 판단하는 단계;
    ULTe(S)로부터 S의 위치를 알 수 있는 경우, DLTe(O, NH_Pos)를 ULTe(S, Pos)로 설정하는 단계;
    ULTe(S)로부터 S의 위치를 알 수 없는 경우, DLTe(O, NH_Pos)의 값을 알 수 없음으로 설정하는 단계;
    RM(S, O, hop)이 "0"인지의 여부를 판단하는 단계; RM(S, O, hop)이 "0"인 것으로 판단되면, DLTe(O, NH_Pos)을 RM(S, O, O_Pos)로 설정하는 단계;
    DLTe(O, Dest_Pos)를 RM(S, O, O_Pos)로 설정하는 단계;
    DLTe(O, NH_Addr)을 RM(S, O, S_Addr)로 설정하는 단계; DLTe(O, hop)을 RM(S, O, hop) + 1로 설정하는 단계; 및
    DLTe(O, VTime)은 AvgTryNum(DLTe(O, hop)) × RepPeriod로 설정하는 단계를 포함하는 것인 네트워크 토폴로지에서의 하향 링크 라우팅 방법.
  11. 제7항에 있어서, 상기 DLTe(NH)를 생성하는 단계는,
    DLTe(NH, Dest_Addr)를 RM(S, O, NH_Addr)로 설정하는 단계;
    DLTe(NH, Dest_Pos)의 값을 알 수 없음으로 설정하는 단계;
    DLTe(NH, NH_Addr)를 RM(S, O, S_Addr)로 설정하는 단계;
    ULTe(S)가 존재하며 ULTe(S)로부터 노드 S의 위치를 알 수 있는 지의 여부를 판단하는 단계;
    ULTe(S)로부터 노드 S의 위치를 알 수 있 것으로 판단되면, DLTe(NH, NH_Pos)를 ULTe(S, Pos)로 설정하는 단계;
    ULTe(S)로부터 노드 S의 위치를 알 수 없는 것으로 판단되면, DLTe(NH, NH_Pos)의 위치를 알 수 없음으로 설정하는 단계;
    DLTe(NH, hop)을 "2"로 설정하는 단계; 및
    DLTe(NH, VTime)을 AvgTryNum(2) × RepPeriod로 설정하는 단계를 포함하는 것인 네트워크 토폴로지에서의 하향 링크 라우팅 방법.
  12. 제7항에 있어서, 상기 ULTe(S)를 갱신하는 단계는,
    OHRM 값이 "0"인지의 여부를 판단하는 단계;
    OHRM 값이 "0"인 것으로 판단되면, ULTe(S)의 Detour(우회경로를 판단하는 지시자)를 "0"으로 설정하는 단계;
    OHRM 값이 "0"이 아닌 경우, 즉 OHRM 값이 "1"인 것으로 판단되면, ULTe(S, VTime)을 AvgTryNum(ULTe(S, hop)) × RepPeriod로 갱신시키는 단계;
    ULTe(S, Detour)를 "1"로 설정하는 단계; RM(S, O, hop)이 "0"인지의 여부를 판단하는 단계;
    RM(S, O, hop)이 "0"인 것으로 판단되면, ULTe(S, Pos)를 RM(S, O, O_Pos)로 갱신시키는 단계; 및
    ULTe(S, EI)와 ULTe(S, Priority)를 갱신하는 단계를 포함하는 것인 네트워크 토폴로지에서의 하향 링크 라우팅 방법.
    (여기서, ULTe(S, hop)은 노드 S를 다음 홉으로 하는 상향 링크 라우팅 테이블 엔트리의 홉수로서 S를 경유하여 싱크 노드에 도달할 때까지 소요되는 홉수이고,
    ULTe(S, Detour)은 노드 S가 싱크 노드에 도달하는 경유지로서의 가능 여부를 나타내는 것으로서 "0" 또는 "1"의 값을 가지며, ULTe(S, Detour)가"0"의 값을 가지는 경우 경유(우회)가 불가능함을 의미하고, ULTe(S, Detour)가 "1"의 값을 가지는 경우 경유(우회) 가능함을 의미하며,
    ULTe(S, Priority)은 노드 S를 다음 홉으로 하는 상향 링크 라우팅 테이블 엔트리의 우선순위로서, 싱크 노드까지 도달하기 위해서 존재하는 경우지 중에서 S를 경유하여 싱크 노드에 도달하는 경로의 우선순위를 의미하며,
    상기 ULTe(S, EI)는 노드 S를 다음 홉으로 하는 상향 링크 라우팅 테이블 엔트리의 등간격 표지자로서, ULTe(S, EI)는 노드 S를 경유하여 싱크 노드(CS)까지 도달하는 전체 경로의 우수성을 나타낸 표시자임)
  13. 제7항에 있어서, 상기 ULTe(S)를 생성하는 단계는,
    ULTe(S, Addr)을 RM(S, S_Addr)로 설정하는 단계;
    DLTe(S)가 존재하며, DLTe(S)로부터 노드 S의 위치를 알 수 있는 지의 여부를 판단하는 단계;
    DLTe(S)로부터 노드 S의 위치를 알 수 있는 경우, ULTe(S, Pos)를 DLTe(S, Dest_Pos)로 설정하는 단계;
    DLTe(S)로부터 노드 S의 위치를 알 수 없는 경우, ULTe(S, Pos)의 값을 알 수 없음으로 설정하는 단계;
    RM(S, O, hop)이 "0"인지의 여부를 판단하는 단계;
    RM(S, O, hop)이 "0"인 것으로 판단되면, ULTe(S, Pos)를 RM(S, O, O_Pos)로 설정하는 단계;
    ULTe(S, hop)을 min_ULTe_hop+1로 설정하는 단계; ULTe(S, EI)의 값을 알 수 없음으로 설정하는 단계;
    ULTe(S, VTime)을 AvgTryNum(min_ULTe_hop+1) × RepPeriod로 설정하는 단계;
    ULTe(S, Priority)의 우선 순위를 가장 낮음(MinPriority)으로 설정하는 단계;
    ULTe(S, Detour)를 "1"로 설정하는 단계를 포함하는 것인 네트워크 토폴로지에서의 하향 링크 라우팅 방법.
    (여기서, min_ULTe_hop+1은 노드 N의 상향링크 라우팅 테이블에서의 최소 홉 수+1을 의미하며, AvgTryNum는 평균 시도 회수를 의미하며, AvgTryNum(min_ULTe_hop+1)는 노드 N의 상향링크 라우팅 테이블에서의 최소 홉 수+1 거리에 있는 노드와 통신에 성공하기 위해서 평균적으로 소요되는 통신 재시도 회수로서 사용자가 지정하는 값을 나타내고, ULTe(S, Detour)가 "1" 의 값을 갖는다는 의미는 우회 가능하다는 뜻임)
  14. 제6항 또는 제7항에 있어서,
    상기 노드 N이 수신한 RM(S, O)로부터 RM(N, O) 메시지를 생성하는 단계를 더 포함하는 것인 네트워크 토폴로지에서의 하향 링크 라우팅 방법.
  15. 제14항에 있어서, 상기 RM(N, O) 메시지를 생성하는 단계는,
    RM(N, O, S_Addr)을 이웃한 노드 N의 주소값(N_Addr)으로 설정하는 단계;
    RM(N, O, NH_Addr)을 우선 순위가 "0"인 ULTe의 주소값(ULTe0_Addr)으로 설정하는 단계;
    RM(N, O, hop)을 RM(S, O, hop) + 1 로 설정하는 단계;
    RM(N, O, O_Addr)을 RM(S, O, O_Addr)로 설정하는 단계; 및
    RM(N, O, O_Pos)을 RM(S, O, O_Pos)로 설정하는 단계를 포함하는 것인 네트워크 토폴로지에서의 하향 링크 라우팅 방법.
KR1020150131032A 2015-09-16 2015-09-16 하나의 싱크 노드를 갖는 네트워크 토폴로지에서의 하향 링크 라우팅 방법 KR101662835B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150131032A KR101662835B1 (ko) 2015-09-16 2015-09-16 하나의 싱크 노드를 갖는 네트워크 토폴로지에서의 하향 링크 라우팅 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150131032A KR101662835B1 (ko) 2015-09-16 2015-09-16 하나의 싱크 노드를 갖는 네트워크 토폴로지에서의 하향 링크 라우팅 방법

Publications (1)

Publication Number Publication Date
KR101662835B1 true KR101662835B1 (ko) 2016-10-06

Family

ID=57164247

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150131032A KR101662835B1 (ko) 2015-09-16 2015-09-16 하나의 싱크 노드를 갖는 네트워크 토폴로지에서의 하향 링크 라우팅 방법

Country Status (1)

Country Link
KR (1) KR101662835B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060020886A (ko) * 2004-09-01 2006-03-07 한국전자통신연구원 이동 애드혹 네트워크에서 최적 방향-기반 플러딩 방법
KR20110070049A (ko) * 2009-12-18 2011-06-24 한국전자통신연구원 무선 센서 네트워크에서의 데이터 수집 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060020886A (ko) * 2004-09-01 2006-03-07 한국전자통신연구원 이동 애드혹 네트워크에서 최적 방향-기반 플러딩 방법
KR20110070049A (ko) * 2009-12-18 2011-06-24 한국전자통신연구원 무선 센서 네트워크에서의 데이터 수집 장치 및 방법

Similar Documents

Publication Publication Date Title
US9450668B2 (en) Packet relay system and wireless node
US7035207B2 (en) System and method for forming, maintaining and dynamic reconfigurable routing in an ad-hoc network
US6816460B1 (en) Location based routing for mobile ad-hoc networks
US7006453B1 (en) Location based routing for mobile ad-hoc networks
US8755336B2 (en) Wireless device which can improve stability in wireless communications and wireless network using the same
KR100636805B1 (ko) 이동성을 고려하여 라우팅 경로 설정이 가능한 애드 혹네트워크 및 그 라우팅 경로 설정방법
EP1134939A1 (en) Location based routing for mobile ad-hoc networks
US9203745B2 (en) Routing table updating
JP5741651B2 (ja) パケット中継システム及び無線ノード
KR20060121118A (ko) 통신 시스템에서 경로를 이용하여 정보를 전송하는 방법
KR101662835B1 (ko) 하나의 싱크 노드를 갖는 네트워크 토폴로지에서의 하향 링크 라우팅 방법
JP2004336786A (ja) 個人通信無線ネットワークにおけるルーチン経路設定装置および方法
EP1883184A1 (en) Method and apparatus for routing a message
KR101056910B1 (ko) 다중 송신율로 데이터를 송신하는 애드-훅 라우팅 기반의 무선 센서 네트워크에서 패킷 송신 경로를 결정하는 방법
JP5664768B2 (ja) ノード、リンク形成方法およびリンク形成プログラム
JP4772019B2 (ja) 無線通信装置および無線通信システム
JP4765997B2 (ja) 通信ルート構築方法、及び通信端末装置
KR20170081904A (ko) 네트워크의 운용 방법 및 네트워크 장치
US20080089315A1 (en) Adaptive route time-out for dynamic multi-hop networks
KR101035417B1 (ko) 애드혹 네트워크에서 링크 신뢰 지역에 기반한 라우팅 방법및 장치
WO2015071792A1 (en) Operating a user equipment in a wireless mesh radio network
Abdulleh et al. Research Article Performance Analysis of AODV, OLSR and GPSR MANET Routing Protocols with Respect to Network Size and Density
JP4862674B2 (ja) 無線通信装置および無線通信システム
KR102089964B1 (ko) 무선 애드 혹 네트워크의 라우팅 장치 및 방법
JP5533964B2 (ja) パケット中継システム及び無線ノード

Legal Events

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

Payment date: 20190625

Year of fee payment: 4