KR101940635B1 - 수중 무선 이동 네트워크를 위한 스케쥴링 방법 - Google Patents
수중 무선 이동 네트워크를 위한 스케쥴링 방법 Download PDFInfo
- Publication number
- KR101940635B1 KR101940635B1 KR1020170011915A KR20170011915A KR101940635B1 KR 101940635 B1 KR101940635 B1 KR 101940635B1 KR 1020170011915 A KR1020170011915 A KR 1020170011915A KR 20170011915 A KR20170011915 A KR 20170011915A KR 101940635 B1 KR101940635 B1 KR 101940635B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- time
- sink node
- packet
- rti
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/628—Queue scheduling characterised by scheduling criteria for service slots or service orders based on packet size, e.g. shortest packet first
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 발명은 수중 무선 이동 네트워크를 위한 스케쥴링 방법에 관한 것으로, 특히 시간 영역에서 충돌이 발생하지 않는 스케쥴링 방법을 고려하되 특정 순간에 전송 시간이 겹치지 않도록 직교화하기 보다는 음파의 전달 속도 및 패킷 길이를 고려하여 싱크 노드에서 패킷이 패킷 트레인 형태로 연속적으로 수신되도록 하여 네트워크 효율을 향상시킬 수 있는, 수중 무선 이동 네트워크를 위한 스케쥴링 방법에 관한 것이다.
Description
본 발명은 수중 무선 이동 네트워크를 위한 스케쥴링 방법에 관한 것으로, 특히 시간 영역에서 충돌이 발생하지 않는 스케쥴링 방법을 고려하되 특정 순간에 전송 시간이 겹치지 않도록 직교화하기 보다는 음파의 전달 속도 및 패킷 길이를 고려하여 싱크 노드에서 패킷이 패킷 트레인 형태로 연속적으로 수신되도록 하여 네트워크 효율을 향상시킬 수 있는, 수중 무선 이동 네트워크를 위한 스케쥴링 방법에 관한 것이다.
통상적으로, 수중 무선 네트워크는 음파를 이용하며, 이렇게 음파를 사용하는 수중 무선 네트워크에서는 전자파에 비해서 상대적으로 전달 속도가 매우 느린 음파의 전달 속도에서 기인하는 매우 긴 전파 지연, 그리고 수중음향 모뎀의 협소한 대역폭에 기인하는 물리 계층의 느린 데이터 전달 속도에 의해서 길어지는 패킷 길이로 인해 발생하는 네트워크 효율성 저하를 극복하는 것이 가장 중요하다.
수중 무선 네트워크 토폴로지는 하나 또는 다수의 싱크 노드로 다수의 노드들이 정보를 전달하는 것을 주 트래픽으로 하는 중앙 집중 방식과, 분산형의 다중홉 방식이 있는데, 네트워크 효율 측면에서 중앙 집중 방식이 유리하다. 현재 상용으로 운용되고 있는 모든 네트워크 방식 또한 중앙 집중식이다. 중앙 집중 방식은 공간/시간/주파수/부호 등의 자원을 직교화하여 사용하는 것이 일반적이다.
전파 지연 시간이 "0"에 가까운 공기중에서의 전자파를 이용하는 통신 네트워크 시스템에서는, 같은 충돌 영역에 있는 두 노드가 동시에 패킷 송신을 하면 서로 충돌을 일으키지만, 수중에서는 느린 음파의 전달 속도로 인하여 충돌을 일으키지 않을 수도 있다. 예를 들면, 음파의 전달 속도를 1,500 m/s 로 가정하고, 서로 1.5 km 떨어져 있는 두 노드가 1초 길이의 데이터 패킷을 동시에 전송하면, 송신-수신간 스위칭에 필요한 시간을 무시하면, 각 노드에서 송신이 끝나자마자 다른 노드의 패킷 수신이 시작된다. 구체적으로는, 0초에 두 노드가 1초 길이의 패킷을 동시에 전송하면 1초 시점에서 두 노드는 송신이 종료되고, 바로 상대 노드의 데이터를 수신하기 시작하므로 자신의 패킷 송신이 상대 노드의 패킷을 수신하는데 문제를 야기하지 않게 되고, 2초 시점에는 두 노드 모두 패킷 수신이 완료된다. 만약 순차적으로 데이터를 전송한다면 총 4초의 시간이 소요되므로, 이 경우에는 네트워크 효율이 2배 향상되는 효과를 가진다. 하지만, 이런 경우에도 두 노드가 서로 가까워지는 방향으로 움직이는 경우에는 충돌이 발생하는데, 기존 대부분의 수중 무선 매체접속제어 프로토콜은 이와 같은 노드의 이동성을 고려하고 있지 않다.
국내 특허 등록 제 1522279호 공보(발명의 명칭: 수중 음향 네트워크의 정밀 시간-경계 시분할 다중 접근 방법, 이하 특허 문헌이라 함)는 노드의 이동성을 고려하고 있으나, 각 노드의 초기 위치를 알아야 하고 초기화 과정에서 노드가 고정되어 있어야 하며, 각 노드의 이동 속도 정보가 매 사이클 지속적으로 갱신되어야 하며, 시간 동기화가 반드시 필요하다는 단점이 있다. 더욱이 상기 특허 문헌은 각 노드의 속도 정보를 이용하여 위치 추정을 하고 이를 기반으로 왕복 시간 지연을 추정하는 방법을 제시하고 있으나, 이는 시간이 지날수록 수중 노드의 속도 정보의 누적에 따른 오차가 커지는 환경에서 적용하는데 한계가 있었다. 또한, 상기 특허 문헌은 시간 동기화를 위한 구체적인 방안이 제시되지 않았고, 동기화 오차에 대한 대응 방안이 없기 때문에 각 노드의 초기 위치 정보 또는 속도를 알 수 없거나, 시간 동기화가 불가능한 경우에는 활용이 불가하다는 문제점이 있었다.
따라서 본 발명은 상기와 같은 점에 착안하여 이루어진 것으로서, 본 발명의 목적은 수중에서 이동 노드의 항법 정보와 무관하게 동작함과 아울러, 시간 동기화가 불필요하므로 시간 동기화를 위한 별도의 패킷 교환이 필요 없으므로 네트워크 수율을 향상시킬 수 있는, 수중 무선 이동 네트워크를 위한 스케쥴링 방법을 제공하는 데에 있다.
상기의 목적을 달성하기 위해 본 발명의 실시형태에 의한, 수중 무선 이동 네트워크를 위한 스케쥴링 방법은 싱크 노드로부터 다수의 노드들로 초기화 패킷을 방송하는 제 1 단계; 상기 싱크 노드가 다수의 노드들로부터 제 1 설정시간() 동안 초기화 응답 패킷을 수신하는 제 2 단계; 상기 싱크 노드가 상기 제 2 단계에서 수신한 초기화 응답 패킷으로부터 상기 싱크 노드와 다수의 노드들 간 왕복 시간 지연()을 계산하는 제 3 단계; 상기 싱크 노드에 의해 초기화 응답 패킷 수신에 충돌이 존재하는 지의 여부를 결정하는 제 4 단계; 상기 제 4 단계에서 초기화 응답 패킷 수신에 충돌이 존재하지 않으면, 상기 싱크 노드가 상기 제 3 단계에서 계산된 왕복 시간 지연()을 이용하여 왕복 시간 지연이 작은 순으로 노드들을 정렬하는 제 5 단계; 상기 싱크 노드에 의해 변수(k)가 1로 설정되고 1-번째 노드의 대기 시간()이 "0"으로 설정되는 제 6 단계; 상기 싱크 노드에 의해 1-번째 노드의 데이터 패킷이 상기 싱크 노드에 수신되기 시작하는 시각의 최대값()이 계산되는 제 7 단계; 상기 변수(k)가 마지막-번째(K-번째)보다 작은 지의 여부를 판단하는 제 8 단계; 상기 제 8 단계에서 상기 변수(k)가 마지막-번째(K-번째) 보다 작으면 상기 변수(k)를 k+1로 설정하는 제 9 단계; 상기 싱크 노드에 의해 k-번째 노드의 데이터 패킷이 상기 싱크 노드에 도착하는 시각의 최소값()이 계산되는 제 10 단계; 상기 싱크 노드에 의해 상기 k-번째 노드의 대기 시간()이 계산되는 제 11 단계; 상기 싱크 노드에 의해 상기 k-번째 노드의 데이터 패킷이 상기 싱크 노드에 도착하는 시각의 최대값()을 계산한 후 상기 제 8 단계로 진행되는 제 12 단계; 상기 제 8 단계에서 상기 변수(k)가 마지막-번째(K-번째) 보다 작지 않으면, 상기 싱크 노드에 의해 1-번째 비콘 패킷이 제 3 설정 시각()에 다수의 노드들에 방송되는 제 13 단계; 상기 싱크 노드가 마지막-번째(K-번째) 노드 데이터 패킷을 수신한 후 또는 상기 제 13 단계에 의한 1-번째 비콘 패킷 방송후 제 4 설정 시간()을 대기하는 제 14 단계; 상기 싱크 노드에 의해 상기 싱크 노드와 상기 k-번째 노드 간 왕복 시간 지연()이 계산되는 제 15 단계; 상기 싱크 노드가 상기 제 15 단계에서 계산된 왕복 시간 지연()을 이용하여 왕복 시간 지연이 작은 순으로 노드들을 정렬하는 제 16 단계; 상기 싱크 노드에 의해 1 사이클 동안 변화할 수 있는 노드의 왕복 시간 지연 변동폭()이 계산되는 제 17 단계; 상기 변수(k)를 1로 설정하고, 상기 싱크 노드가 n-번째 사이클에서 1-번째 노드에게 부여되는 시간 지연()을 "0"으로 설정하고, n-번째 사이클에서 1-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최대값()을 계산하는 제 18 단계; 상기 변수(k)가 마지막-번째(K-번째)보다 작은 지의 여부를 판단하는 제 19 단계; 상기 제 19 단계에서 상기 변수(k)가 마지막-번째(K-번째) 보다 작으면 상기 변수(k)를 k+1로 설정하는 제 20 단계; 상기 싱크 노드가 n-번째 사이클에서 k-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최소값()을 계산하는 제 21 단계; 상기 싱크 노드가 n-번째 사이클에서 k-번째 노드에게 부여되는 시간 지연()을 계산하는 제 22 단계; 상기 싱크 노드가 n-번째 사이클에서 k-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최대값()을 계산한 후 상기 제 19 단계로 진행되는 제 23 단계; 상기 제 19 단계에서 상기 변수(k)가 마지막-번째(K-번째) 보다 작지 않으면, 상기 싱크 노드에 의해 비콘 패킷 방송이 되는 지의 여부가 결정되는 제 24 단계; 및 상기 제 24 단계에서 비콘 패킷 방송이 되지 않으면 종료하는 제 25 단계를 포함하는 것을 특징으로 한다.
상기 실시형태에 의한, 수중 무선 이동 네트워크를 위한 스케쥴링 방법은 상기 제 24 단계에서 싱크 노드에 의해 비콘 패킷 방송이 결정 되면, 상기 싱크 노드에 의해 n-번째 사이클의 비콘 패킷이 방송되는 시각()에 비콘 패킷이 노드들에 방송되는 제 26 단계; 상기 싱크 노드가 마지막-번째(K-번째) 노드 데이터 패킷을 수신한 후 또는 상기 n-번째 사이클에서 마지막-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최대값()을 대기하는 제 27 단계; 및 상기 싱크 노드에 의해 사이클이 1만큼 증가된 후 상기 제 15 단계로 진행되는 제 28 단계가 수행될 수 있다.
상기 실시형태에 의한, 수중 무선 이동 네트워크를 위한 스케쥴링 방법은 상기 제 4 단계에서 초기화 응답 패킷 수신에 충돌이 존재하면, 상기 싱크 노드에 의해 재초기화 패킷이 노드들에 방송되는 제 29 단계; 상기 싱크 노드에 의해 제 2 설정 시간() 만큼 재초기화 응답 패킷이 수신되는 제 30 단계; 상기 싱크 노드가 상기 제 30 단계에서 수신한 재초기화 응답 패킷으로부터 상기 싱크 노드와 노드들 간 왕복 시간 지연()을 계산하는 제 31 단계; 및 상기 싱크 노드에 의해 재초기화 응답 패킷 수신에 충돌이 존재하는 지의 여부를 결정하는 제 32 단계가 수행되며: 상기 제 32 단계에서 재초기화 응답 패킷 수신에 충돌이 존재하면 상기 제 29 단계로 진행될 수 있다.
상기 실시형태에 의한, 수중 무선 이동 네트워크를 위한 스케쥴링 방법은 상기 제 32 단계에서 재초기화 응답 패킷 수신에 충돌이 존재하지 않으면 상기 제 5 단계로 진행될 수 있다.
(r은 모뎀의 최대 통신반경, c는 음파 속도)
에 의해 결정되고, 는 초기화 패킷 길이의 시간 환산값이며, 는 초기화 응답 패킷 길이의 시간 환산값이며, 는 노드가 초기화 패킷 수신 완료후에 초기화 응답 패킷을 송신하기까지 소요되는 시간임]
에 의해 결정될 수 있다.
에 의해 결정될 수 있다.
상기 실시형태에 의한, 수중 무선 이동 네트워크를 위한 스케쥴링 방법에 있어서, 상기 1-번째 노드의 데이터 패킷이 상기 싱크 노드에 수신되기 시작하는 시각의 최대값()은 다음의 수학식 8
[여기서, 은 싱크 노드에 의한 최초의 비콘 패킷 방송 시각이며, 는 비콘 패킷 길이의 시간 환산값이며, 은 1-번째 노드의 왕복시간 지연이며, 은 1-번째 노드의 싱크 노드와의 왕복시간 지연이 획득된 시점이며, 은 싱크 노드와 노드 간의 최대 상대 속력임]
에 의해 결정될 수 있다.
상기 실시형태에 의한, 수중 무선 이동 네트워크를 위한 스케쥴링 방법에 있어서, 상기 k-번째 노드의 데이터 패킷이 상기 싱크 노드에 도착하는 시각의 최소값()은 다음의 수학식 13
에 의해 결정될 수 있다.
에 의해 결정될 수 있다.
[여기서, 은 n-번째 사이클의 비콘 패킷이 방송되는 시각이고, 은 n-번째 사이클에서 k-번째 노드의 데이터 패킷의 수신이 시작되는 시각이며, 은 n-번째 사이클에서 k-번째 노드에게 부여되는 시간 지연이며, 은 n-번째 사이클에서의 비콘 길이 시간 환산값임]
에 의해 결정될 수 있다.
에 의해 결정될 수 있다.
상기 실시형태에 의한, 수중 무선 이동 네트워크를 위한 스케쥴링 방법에 있어서, 각 노드의 (n-1)-번째 사이클에서 데이터 패킷의 수신 시각()과 n-번째 사이클에서 데이터 패킷의 수신 시각()의 차이는 다음의 수학식 17
과 같이 근사할 수 있다.
에 의해 결정될 수 있다.
상기 실시형태에 의한, 수중 무선 이동 네트워크를 위한 스케쥴링 방법에 있어서, 상기 n-번째 사이클에서 1-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최대값()은 다음의 수학식 18
[수학식 18]
에 의해 결정될 수 있다.
상기 실시형태에 의한, 수중 무선 이동 네트워크를 위한 스케쥴링 방법에 있어서, 상기 싱크 노드가 n-번째 사이클에서 k-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최소값()은 다음의 수학식 19
[수학식 19]
에 의해 계산될 수 있다.
상기 실시형태에 의한, 수중 무선 이동 네트워크를 위한 스케쥴링 방법에 있어서, 상기 싱크 노드가 n-번째 사이클에서 k-번째 노드에게 부여되는 시간 지연()은 다음의 수학식 20
[수학식 20]
에 의해 계산될 수 있다.
상기 실시형태에 의한, 수중 무선 이동 네트워크를 위한 스케쥴링 방법에 있어서, 상기 싱크 노드가 n-번째 사이클에서 k-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최대값()은 다음의 수학식 21
[수학식 21]
에 의해 계산될 수 있다.
본 발명의 실시형태에 의한, 수중 무선 이동 네트워크를 위한 스케쥴링 방법에 의하면, 싱크 노드로부터 다수의 노드들로 초기화 패킷을 방송하고, 싱크 노드가 다수의 노드들로부터 제 1 설정시간() 동안 초기화 응답 패킷을 수신하며, 상기 싱크 노드가 수신한 초기화 응답 패킷으로부터 싱크 노드와 다수의 노드들 간 왕복 시간 지연()을 계산하며, 싱크 노드에 의해 초기화 응답 패킷 수신에 충돌이 존재하는 지의 여부를 결정하고, 초기화 응답 패킷 수신에 충돌이 존재하지 않으면 싱크 노드가 계산된 왕복 시간 지연()을 이용하여 왕복 시간 지연이 작은 순으로 노드들을 정렬하며, 싱크 노드에 의해 변수(k)가 1로 설정되고 1-번째 노드의 대기 시간()이 "0"으로 설정되며, 싱크 노드에 의해 1-번째 노드의 데이터 패킷이 싱크 노드에 수신되기 시작하는 시각의 최대값()이 계산되며, 변수(k)가 마지막-번째(K-번째)보다 작은 지의 여부를 판단하고, 변수(k)가 마지막-번째(K-번째) 보다 작으면 변수(k)를 k+1로 설정하고, 싱크 노드에 의해 k-번째 노드의 데이터 패킷이 상기 싱크 노드에 도착하는 시각의 최소값()이 계산되며, 싱크 노드에 의해 k-번째 노드의 대기 시간()이 계산되며, 싱크 노드에 의해 k-번째 노드의 데이터 패킷이 싱크 노드에 도착하는 시각의 최대값()을 계산한 후 변수(k)가 마지막-번째(K-번째) 보다 작지 않으면, 싱크 노드에 의해 1-번째 비콘 패킷이 제 3 설정 시각()에 다수의 노드들에 방송되고, 싱크 노드가 마지막-번째(K-번째) 노드 데이터 패킷을 수신한 후 또는 1-번째 비콘 패킷 방송후 제 4 설정 시간()을 대기하며, 싱크 노드에 의해 싱크 노드와 k-번째 노드 간 왕복 시간 지연()이 계산되며, 싱크 노드가 계산된 왕복 시간 지연()을 이용하여 왕복 시간 지연이 작은 순으로 노드들을 정렬하며, 싱크 노드에 의해 1 사이클 동안 변화할 수 있는 노드의 왕복 시간 지연 변동폭()이 계산되며, 변수(k)를 1로 설정하고, 싱크 노드가 n-번째 사이클에서 1-번째 노드에게 부여되는 시간 지연()을 "0"으로 설정하고, n-번째 사이클에서 1-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최대값()을 계산하며, 변수(k)가 마지막-번째(K-번째)보다 작은 지의 여부를 판단하여 변수(k)가 마지막-번째(K-번째) 보다 작으면 변수(k)를 k+1로 설정하고, 싱크 노드가 n-번째 사이클에서 k-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최소값()을 계산하며, 싱크 노드가 n-번째 사이클에서 k-번째 노드에게 부여되는 시간 지연()을 계산하며, 싱크 노드가 n-번째 사이클에서 k-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최대값()을 계산한 후 변수(k)가 마지막-번째(K-번째) 보다 작지 않으면, 싱크 노드에 의해 비콘 패킷 방송이 되는 지의 여부가 결정되며, 비콘 패킷 방송이 되지 않으면 종료하도록 구성됨으로써,
첫째, 수중에서 이동 노드의 항법 정보와 무관하게 동작하며,
둘째, 시간 동기화가 불필요하므로 시간 동기화를 위한 별도의 패킷 교환이 필요 없으므로 네트워크 수율을 향상시킬 수 있으며,
셋째, 스케쥴 정보가 절대 시간 기준이 아니라 시간 차이에 해당하는 정보에 의해서 결정되므로 각 노드들의 로컬 시각 정보가 서로 상이하더라도 정확하게 동작하며,
넷째, 매 사이클 종료 시점에 싱크 노드와 노드간 왕복 시간 지연 정보에 대한 정확한 값이 측정되므로 스케쥴 정보는 시간이 지남에 따라서 오차가 누적되지 않아서 주기적인 재초기화가 필요 없다는 뛰어난 효과가 있다.
도 1은 본 발명의 실시예에 의한 수중 무선 이동 네트워크를 위한 스케쥴링 방법이 적용되는 네트워크 토폴로지를 나타내는 도면이다.
도 2a 내지 도 2f는 본 발명의 실시예에 의한 수중 무선 이동 네트워크를 위한 스케쥴링 방법을 설명하기 위한 동작 플로우챠트이다.
도 3은 본 발명의 실시예에 의한 사이클 단위의 스케쥴링 개념도이다.
도 4는 본 발명의 실시예에 의한 n-번째 사이클에서 각 노드의 대기 시간 도출 원리에 대한 개념도이다.
도 2a 내지 도 2f는 본 발명의 실시예에 의한 수중 무선 이동 네트워크를 위한 스케쥴링 방법을 설명하기 위한 동작 플로우챠트이다.
도 3은 본 발명의 실시예에 의한 사이클 단위의 스케쥴링 개념도이다.
도 4는 본 발명의 실시예에 의한 n-번째 사이클에서 각 노드의 대기 시간 도출 원리에 대한 개념도이다.
이하, 본 발명의 실시예를 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 실시예에 의한 수중 무선 이동 네트워크를 위한 스케쥴링 방법이 적용되는 네트워크 토폴로지를 나타내는 도면으로서, 네트워크 토폴로지는 하나의 싱크 노드와 다수의 노드들로 이루어져 있다. 수중에서 음파를 이용하여 다수의 노드가 하나의 싱크 노드로 데이터 패킷을 보내는 중앙 집중식 네트워크 토폴로지에서의 스케쥴링 방법이다. 싱크 노드 이외의 노드는 간략하게 노드로 부르기로 한다. 싱크 노드는 노드들의 전송 스케쥴을 포함하고 있는 비콘 패킷을 방송하고, 비콘 패킷을 수신한 노드들은 비콘 패킷에 지시되어 있는 각 노드들의 전송 스케쥴에 따라서 데이터 패킷을 싱크 노드로 전송한다. 싱크 노드와 노드 간의 최대 상대 속도를 알고 있다고 가정하고, V로 표시한다.
이하, 위와 같이 구성된 네트워크 토폴로지에서 이루어지는, 본 발명의 실시예에 의한 수중 무선 이동 네트워크를 위한 스케쥴링 방법에 대해서 설명하기로 한다.
도 2a 내지 도 2f는 본 발명의 실시예에 의한 수중 무선 이동 네트워크를 위한 스케쥴링 방법을 설명하기 위한 동작 플로우챠트로서, 여기서 S는 스텝(Step)을 의미한다.
본 발명의 스케쥴링 방법은 싱크 노드와 다수의 노드들 간의 왕복 시간 지연(RTT: Round Trip Time)을 구하여 이를 기반으로 최초의 충돌 회피 스케쥴을 도출하는 초기화 과정과, 초기화 과정에서 싱크 노드가 비콘 패킷 방송하여 모든 노드들로부터 데이터 패키 수신이 완료되는 1-번째 사이클 후에 이루어지는 정규 과정을 포함한다.
초기화 과정
먼저, 싱크 노드로부터 다수의 노드들로 초기화(IRQ) 패킷을 방송하고(S10), 싱크 노드가 다수의 노드들로부터 제 1 설정시간() 동안 초기화 응답(IRP) 패킷을 수신한다(S20).
초기화 패킷은 노드가 초기화 패킷을 수신했을 때 초기화 패킷임을 알 수 있는 패킷 종류 식별 정보만을 포함하고 있으면 되므로 그 길이가 매우 짧다. 초기화 응답 패킷은 해당 초기화 응답 패킷을 송신하는 노드의 주소 정보와 초기화 응답 패킷임을 나타내는 패킷 종류 식별 정보를 포함한다. 모뎀의 최대 통신 반경을 r이라고 하고, 음파의 속도를 c라고 하면, 싱크 노드는 초기화 패킷 방송 후에 아래와 같이 제 1 설정시간( ) 이내에 모든 노드들로부터 초기화 응답 패킷 수신이 완료된다.
[여기서, 는 싱크 노드와 노드 간 왕복시간 지연의 최대값으로서 아래의 수학식 2에 의해 결정되고, 는 초기화 패킷 길이의 시간 환산값이며, 는 초기화 응답 패킷 길이의 시간 환산값이며, 는 노드가 초기화 패킷 수신 완료 후에 초기화 응답 패킷을 송신하기까지 소요되는 시간임]
에 의해 결정된다.
[여기서, r은 모뎀의 최대 통신 반경이고, c는 음파의 속도임]
이어서, 싱크 노드가 상기 스텝(S20)에서 수신한 초기화 응답 패킷으로부터 싱크 노드와 다수의 노드들 간 왕복 시간 지연()을 계산한다(S30). 구체적으로는, 싱크 노드는 초기화 패킷 송신 시간()을 싱크 노드 자신의 로컬 클럭으로부터 알 수 있고, 노드(H)로부터 수신된 초기화 응답 패킷의 수신 시각() 또한 싱크 노드 자신의 로컬 클럭으로부터 알 수 있다. 따라서 싱크 노드는 시간 동기화 없이 싱크 노드와 노드(H) 사이의 왕복 시간 지연 정보()를 초기화 응답 패킷 수신 시각과 초기화 패킷 송신 시각의 차이로서 획득할 수 있다.
에 의해 결정된다.
이후, 싱크 노드에 의해 초기화 응답 패킷 수신에 충돌이 존재하는 지의 여부를 결정한다(S40).
싱크 노드가 노드들로부터 초기화 응답(IRP) 패킷을 수신할 때 여러 노드들로부터 초기화 응답 패킷을 수신하게 되는데, 싱크 노드와 각 노드간 왕복 시간 지연 차이가 초기화 응답 패킷 길이보다 크기만 하면 충돌이 발생하지 않는다. 예컨대, 물리 계층의 전송 속도가 100 kbps 이고 음파의 전달 속도가 1,500 m/s 인 경우를 생각하면, 한 개의 비트가 차지하는 길이는 0.01 ms 이고, 초기화 응답 패킷은 노드의 주소와 패킷타입 정보만을 포함하면 되므로 30-bit 라고 가정하면 이 때 초기화 응답 패킷 길이는 0.3 ms 이고, 0.3 ms 동안 음파가 이동하는 거리는 0.45 m 이므로, 임의의 두 개의 노드에 대해서 싱크 노드와 노드간 거리에 대한 상대적인 차이가 0.5 m 이상이면 충돌이 발생하지 않으므로, 충돌 확률이 매우 작아지게 된다. 이것은 음파의 느린 전달 속도가 만들어내는 자연적인 랜덤 백오프(random backoff) 효과를 활용하는 것을 의미한다. 일반적으로 공기중에서 전자파를 이용하는 무선 네트워크에서는 패킷 수신 충돌을 방지하기 위하여 랜덤한 시간 지연을 부여하게 되는데, 수중에서 음파를 이용하는 무선 통신 네트워크에서는 음파의 느린 전달 속도가 자연스럽게 랜덤 시간 지연을 유발하게 되는 원리를 이용하는 것이다. 그럼에도 불구하고, 싱크 노드에서 초기화 응답 패킷에 대한 수신 충돌이 발생할 수 있는데, 이러한 초기화 응답 패킷 수신 충돌이 발생한 노드들에게만 선택적으로 초기화 응답 패킷의 수신 충돌 회피를 적용하는 것이 본 발명에 대한 초기화 과정의 가장 중요한 특징이다.
맨 처음 이루어지는 초기화 패킷 방송 및 이에 대한 노드들의 초기화 응답 패킷 수신 과정을 거치면서, 싱크 노드는 물리 계층에서 신호 수신은 이루어졌으나 정보가 제대로 복원되지 않은 경우의 발생 유무로서 초기화 응답 패킷 수신 충돌 발생 유무를 알 수 있다.
상기 스텝(S40)에서 초기화 응답 패킷 수신에 충돌이 존재하지 않으면(N), 초기 스케쥴링 절차로 진입하여 아래의 스텝(S50)으로 진행되는 한편, 초기화 응답 패킷 수신에 충돌이 발생한 경우에는(Y), 싱크 노드에 의해 재초기화(RIRP) 패킷이 다수의 노드들에 방송되어 충돌 회피를 통한 왕복 시간 지연 획득 절차에 진입한다(S260).
재초기화(RIRP) 패킷은 싱크 노드와 노드간 왕복 시간 지연 획득이 이루어진 노드들에 대한 목록을 포함하도록 하여, 재초기화 패킷을 수신한 노드들은 자신이 재초기화 패킷의 목록에 없는 경우에만 랜덤 백오프(backoff)를 통하여 재초기화 응답 패킷을 싱크 노드에게 송신하도록 한다. 여기에서 랜덤 백오프란 재초기화 패킷을 수신한 노드가 재초기화 패킷을 수신하자마자 바로 재초기화 응답 패킷을 송신하는 것이 아니라, 재초기화 응답 패킷의 송신을 길이를 갖는 시간 슬롯의 임의의 정수배만큼 재초기화 응답 패킷의 송신을 미루는 것을 의미한다. 즉, 재초기화 패킷을 수신한 노드는 재초기화 패킷 수신이 완료된 후에 아래의 수학식 4와 같이 주어지는 시간 동안 대기한 후에 재초기화 응답 패킷을 싱크 노드로 송신하도록 한다.
이어서, 스텝(S270)에서는 싱크 노드에 의해 제 2 설정 시간() 만큼 재초기화 응답 패킷이 수신된다. 재초기화 응답 패킷은 초기화 응답 패킷이 포함하고 있는 정보에다가 추가적으로 m 값이 포함되도록 한다.
즉, 싱크 노드는 처음 초기화 응답 패킷 수신의 경우와 유사하게 재초기화 패킷 방송 후에 아래의 수학식 5에 의해 결정된 바와 같은 제 2 설정 시간() 이내에 모든 노들들로부터 재초기화 응답 패킷 수신이 완료된다.
구체적으로, 싱크 노드는 재초기화 패킷 송신 시간()을 싱크 노드 자신의 로컬 클럭으로부터 알 수 있고, 노드(H)로부터 수신된 재초기화 응답 패킷의 수신 시각[] 또한 싱크 노드 자신의 로컬 클럭으로부터 알 수 있다. 따라서 싱크 노드는 시간 동기화 없이 싱크 노드와 노드(H) 사이의 왕복 시간 지연 정보 ()을 재초기화 응답 패킷 수신 시각과 재초기화 패킷 송신 시각의 차이로서 다음의 수학식 6과 같이 획득할 수 있다.
이후, 싱크 노드에 의해 재초기화 응답 패킷 수신에 충돌이 존재하는 지의 여부를 결정한다(S290).
상기 스텝(S290)에서 재초기화 응답 패킷 수신에 충돌이 존재하면(Y) 상기 스텝(S260)으로 진행되는 한편, 상기 스텝(S290)에서 재초기화 응답 패킷 수신에 충돌이 존재하지 않으면(N) 상기 스텝(S50)으로 진행된다.
즉, 재초기화 응답 패킷 수신 충돌이 발생하지 않을 때까지 재초기화 패킷 방송을 반복하여 모든 노드들에 대해서 싱크 노드와 노드간 왕복 시간 지연을 획득하도록 한다. 단, 모든 노드들에 대해서 싱크 노드와 노드간 왕복 시간 지연 획득이 반드시 필요하지 않은 경우에는 상기 반복 횟수에 제한을 둘 수 있다.
상기와 같이 초기화 과정에서 싱크 노드가 왕복 시간 지연 정보 획득을 완료하면 싱크 노드는 이와 같이 획득된 왕복 시간 지연 정보를 이용하여 싱크 노드에서 노드들의 데이터 패킷 수신 충돌이 발생하지 않도록 초기 스케쥴을 계산하고, 싱크 노드는 이 스케쥴 정보를 비콘 패킷에 포함하도록 비콘 패킷을 생성하여 이 비콘 패킷을 모든 노드들에게 방송한다.
총 K개의 노드가 있다면, 왕복 시간 지연이 k-번째로 작은 노드를 "k-번째 노드"로 명명한다. k-번째 노드의 왕복 시간 지연을 라고 표시한다. 는 수학식 3 및 수학식 6을 통해서 획득된 왕복 시간 지연을 작은 순서대로 정렬하여 얻어지는 값이다. 가 획득된 시각을 라고 표시한다. 는 에 상응하는 또는 값이다. 싱크 노드가 최초로 비콘 패킷을 방송하는 시각을 로 표시한다. 은 싱크 노드의 로컬 클럭으로부터 당연히 알 수 있는 값이다.
이후, 싱크 노드는 왕복 시간 지연이 작은 순서대로 다음과 같이 각 노드의 스케쥴링을 한다. 스케쥴링이라 함은, 노드가 비콘 패킷을 수신한 후에 데이터 패킷을 송신하기까지 대기하는 시간으로서, k-번째 노드의 대기 시간을 으로 표시한다.
과 같이"0"으로 설정된다(S60). 즉, 1-번째 노드는 비콘 패킷을 수신하자마자 대기 시간 없이 바로 데이터 패킷을 송신한다.
[여기서, 은 싱크 노드에 의한 최초의 비콘 패킷 방송 시각이며, 는 비콘 패킷 길이의 시간 환산값이며, 은 1-번째 노드의 왕복시간 지연이며, 은 1-번째 노드의 싱크 노드와의 왕복시간 지연이 획득된 시점이며, 은 싱크 노드와 노드 간의 최대 상대 속력임]
수학식 8은 1-번째 노드의 RTT 획득 시점부터, 1-번째 노드가 비콘 패킷 수신 후에 데이터 패킷을 송신할 때까지 1-번째 노드의 이동성으로 인해서 발생하는 1-번째 노드의 왕복 시간 지연의 최대 변동폭을 고려하는 방법이다. 1-번째 노드의 RTT가 획득된 시점은 이므로 1-번째 노드의 RTT가 결정된 시점은 이고, 1-번째 노드는 시각 이전에는 비콘 메시지를 반드시 수신한다. 따라서 1-번째 노드의 RTT 결정 시점부터 1-번째 노드가 데이터 패킷을 전송하기 시작하는 시점까지 1-번째 노드가 싱크 노드와 최대 상대 속력 V로 멀어질 때 왕복 시간 지연은 최대로 증가하게 되는데, 이것은 수학식 8에서, 으로 표현되고 있다.
따라서 1-번째 노드의 데이터 패킷이 싱크 노드에 수신 완료되는 시각의 최대값은 다음 수학식 9와 같다. 즉, 상기 시각의 최대값에 수신이 종료된다.
는 1-번째 노드의 데이터 패킷이 싱크 노드에 도착하는 시각의 최대값이다. 따라서 2-번째 노드는 싱크 노드에 가장 빠르게 데이터 패킷이 수신이 시작될 수 있는 경우에도 1-번째 노드의 데이터 패킷이 싱크 노드에서 수신 완료된 후에 수신이 시작되도록 대기 시간을 부여하는 것이 싱크 노드에서 노드들의 데이터 패킷 수신 충돌을 회피하는 핵심 아이디어이다. 2-번째 노드의 데이터 패킷이 싱크 노드에 가장 빠르게 수신이 시작되는 경우는 2-번째 노드가 싱크 노드가 움직이는 방향과 정확히 반대 방향으로 최대 속도로 움직이는 경우인데, 즉, 2-번째 노드와 싱크 노드가 최대 상대 속도로 멀어질 때 2-번째 노드가 비콘 패킷 수신 후에 시간 지연 없이 바로 데이터 패킷을 송신하게 되면, 싱크 노드에서는 아무리 빨라도 다음의 수학식 10과 같이 주어지는 이후에 2-번째 노드의 데이터 패킷 수신이 시작된다.
따라서, 다음의 수학식 11과 같이 2-번째 노드에게 시간 지연을 부여하면 싱크 노드에서 1-번째 노드의 데이터 패킷과의 수신 충돌을 피할 수가 있다.
같은 방법으로, K-번째 노드의 시간 지연이 계산될 때까지 회귀적으로 각 노드의 시간 지연을 계산할 수가 있는데, 구체적으로, (k-1)-번째 노드의 데이터 패킷이 싱크 노드에 도착하는 시각의 최대값()은 다음의 수학식 12와 같이 계산된다.
스텝(S80)에서는 변수(k)가 마지막-번째(K-번째)보다 작은 지의 여부를 판단한다.
상기 스텝(S80)에서 상기 변수(k)가 마지막-번째(K-번째) 보다 작으면(Y), 상기 변수(k)를 k+1로 설정한다(S90).
이와 같이, k-번째 노드에게 대기 시간()을 부여하면 (k-1)-번째 노드의 데이터 패킷과 k-번째 노드의 데이터 패킷이 싱크 노드에서 수신 충돌이 발생하는 것을 회피할 수 있다.
한편, 상기 스텝(S80)에서 상기 변수(k)가 마지막-번째(K-번째) 보다 작지 않으면(N), 즉, 모든 K개의 노드에 대해서 스케줄 계산이 완료되면, 스텝(S130)으로 진행된다.
스텝(S140)에서는 싱크 노드가 마지막-번째(K-번째) 노드 데이터 패킷을 수신한 후 또는 상기 스텝(S130)에 의한 1-번째 비콘 패킷 방송 후 제 4 설정 시간()을 대기하고, 다음의 정규 과정에 진입한다.
정규 과정
도 3은 본 발명의 실시예에 의한 사이클 단위의 스케쥴링 개념도이다. 초기화 과정에서 싱크 노드가 비콘 패킷을 방송하고, 모든 노드들로부터 데이터 패킷 수신이 완료되는 순간까지를 1-번째 사이클이라고 정의하면, 정규 과정은 2-번째 사이클부터이다. 여기에서 n-번째 사이클이란, 도 3에 도시된 바와 같이, 싱크 노드가 n-번째 비콘 패킷을 방송하고, 모든 노드들로부터 데이터 패킷 수신이 완료되는 순간까지를 의미한다. n-번째 사이클의 비콘 패킷이 방송되는 시각을 라고 표기한다. n-번째 사이클에서 k-번째 노드의 데이터 패킷이 수신 시작되는 시각을 라고 표기한다. n-번째 사이클에서 k-번째 노드에게 부여되는 시간 지연을 라고 표기한다.
[여기서, 은 n-번째 사이클의 비콘 패킷이 방송되는 시각이고, 은 n-번째 사이클에서 k-번째 노드의 데이터 패킷의 수신이 시작되는 시각이며, 은 n-번째 사이클에서 k-번째 노드에게 부여되는 시간 지연이며, 은 n-번째 사이클에서의 비콘 길이 시간 환산값임]
싱크 노드는 (n-1)-번째 사이클의 비콘 패킷 송신 시각 및 각 노드들로부터의 데이터 패킷 수신 시각을 이용하여 싱크 노드와 각 노드간 왕복 시간 지연 값을 얻을 수 있지만, n-번째 사이클에서 각 노드가 데이터 패킷을 송신하는 시점에서의 싱크 노드와 각 노드간 왕복 시간 지연은 노드의 이동성으로 인하여 정확하게 알기가 어렵다. 본 발명에서는, 각 노드의 (n-1)-번째 사이클에서 데이터 패킷의 수신 시작 시각과 n-번째 사이클에서 데이터 패킷의 수신 시각의 차이를 다음의 수학식 17과 같이 근사하고,
한 사이클동안 변화할 수 있는 싱크 노드와 각 노드간 왕복 시간 지연의 변동폭을 상기 수학식 16과 같이 계산한다. 수학식 17에서, n-번째 스케쥴 정보는 n-번째 사이클에서 비콘 패킷에 포함하여 방송하므로, n-번째 스케쥴을 계산하여 도출하는 순간에는 값은 알 수 없는 값임에 유의해야 한다.
도 4는 본 발명의 실시예에 의한 n-번째 사이클에서 각 노드의 대기 시간 도출 원리에 대한 개념도이다. n-번째 사이클에서 (k-1)-번째 노드의 데이터 패킷은 n-번째 비콘 패킷 방송 시각을 기준으로 에서 사이에 수신 완료된다. 따라서 본 발명에서는 이 보다 크도록 하여, n-번째 사이클에서 (k-1)-번째 노드의 데이터 패킷과 k-번째 노드의 데이터 패킷이 싱크 노드에서 수신 충돌이 발생하지 않도록 해야 한다.
스텝(S160)에서는 싱크 노드가 변수(k)를 1로 설정하고, n-번째 사이클에서 1-번째 노드에게 부여되는 시간 지연()을 "0"으로 설정하고, n-번째 사이클에서 1-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최대값()을 다음의 수학식 18과 같이 계산한다.
[수학식 18]
스텝(S170)에서는 싱크 노드가 변수()가 보다 작은 지의 여부를 결정하고, 변수()가 보다 작으면(Y), 를 "1"만큼 증가시키고(S180), 다음 스텝(S190)을 수행하는 한편, 가 이상이면(N) 하기의 스텝(S220)을 수행한다.
[수학식 19]
[수학식 20]
스텝(S210)에서는 싱크 노드가 n-번째 사이클에서 노드의 데이터 패킷이 수신되기 시작되는 시각의 최대값()을 다음의 수학식 21과 같이 계산한 후 상기 스텝(S170)으로 진행된다.
[수학식 21]
스텝(S220)에서는 싱크 노드에 의해 비콘 패킷 방송이 되는 지의 여부가 결정된다.
상기 스텝(S220)에서 비콘 패킷 방송이 되지 않으면(N) 스케쥴링 과정을 종료한다.
한편, 상기 스텝(S220)에서 싱크 노드에 의해 비콘 패킷 방송이 결정되면(Y), 싱크 노드에 의해 n-번째 사이클의 비콘 패킷이 방송되는 시각()에 비콘 패킷이 다수의 노드들에게 방송된다(S230).
이어서, 싱크 노드가 마지막-번째(K-번째) 노드 데이터 패킷을 수신한 후 또는 상기 n-번째 사이클에서 마지막-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최대값()을 대기하고(S240), 싱크 노드에 의해 사이클이 1만큼 증가된 후(S250), 상기 스텝(S150)으로 진행된다.
상기와 같이 구성된 본 발명의 실시예에 의한, 수중 무선 이동 네트워크를 위한 스케쥴링 방법에 의하면, 싱크 노드로부터 다수의 노드들로 초기화 패킷을 방송하고, 싱크 노드가 다수의 노드들로부터 제 1 설정시간() 동안 초기화 응답 패킷을 수신하며, 상기 싱크 노드가 수신한 초기화 응답 패킷으로부터 싱크 노드와 다수의 노드들 간 왕복 시간 지연()을 계산하며, 싱크 노드에 의해 초기화 응답 패킷 수신에 충돌이 존재하는 지의 여부를 결정하고, 초기화 응답 패킷 수신에 충돌이 존재하지 않으면 싱크 노드가 계산된 왕복 시간 지연()을 이용하여 왕복 시간 지연이 작은 순으로 노드들을 정렬하며, 싱크 노드에 의해 변수(k)가 1로 설정되고 1-번째 노드의 대기 시간()이 "0"으로 설정되며, 싱크 노드에 의해 1-번째 노드의 데이터 패킷이 싱크 노드에 수신되기 시작하는 시각의 최대값()이 계산되며, 변수(k)가 마지막-번째(K-번째)보다 작은 지의 여부를 판단하고, 변수(k)가 마지막-번째(K-번째) 보다 작으면 변수(k)를 k+1로 설정하고, 싱크 노드에 의해 k-번째 노드의 데이터 패킷이 상기 싱크 노드에 도착하는 시각의 최소값()이 계산되며, 싱크 노드에 의해 k-번째 노드의 대기 시간()이 계산되며, 싱크 노드에 의해 k-번째 노드의 데이터 패킷이 싱크 노드에 도착하는 시각의 최대값()을 계산한 후 변수(k)가 마지막-번째(K-번째) 보다 작지 않으면, 싱크 노드에 의해 1-번째 비콘 패킷이 제 3 설정 시각()에 다수의 노드들에 방송되고, 싱크 노드가 마지막-번째(K-번째) 노드 데이터 패킷을 수신한 후 또는 1-번째 비콘 패킷 방송후 제 4 설정 시간()을 대기하며, 싱크 노드에 의해 싱크 노드와 k-번째 노드 간 왕복 시간 지연()이 계산되며, 싱크 노드가 계산된 왕복 시간 지연()을 이용하여 왕복 시간 지연이 작은 순으로 노드들을 정렬하며, 싱크 노드에 의해 1 사이클 동안 변화할 수 있는 노드의 왕복 시간 지연 변동폭()이 계산되며, 변수(k)를 1로 설정하고, 싱크 노드가 n-번째 사이클에서 1-번째 노드에게 부여되는 시간 지연()을 "0"으로 설정하고, n-번째 사이클에서 1-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최대값()을 계산하며, 변수(k)가 마지막-번째(K-번째)보다 작은 지의 여부를 판단하여 변수(k)가 마지막-번째(K-번째) 보다 작으면 변수(k)를 k+1로 설정하고, 싱크 노드가 n-번째 사이클에서 k-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최소값()을 계산하며, 싱크 노드가 n-번째 사이클에서 k-번째 노드에게 부여되는 시간 지연()을 계산하며, 싱크 노드가 n-번째 사이클에서 k-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최대값()을 계산한 후 변수(k)가 마지막-번째(K-번째) 보다 작지 않으면, 싱크 노드에 의해 비콘 패킷 방송이 되는 지의 여부가 결정되며, 비콘 패킷 방송이 되지 않으면 종료하도록 구성됨으로써, 수중에서 이동 노드의 항법 정보와 무관하게 동작하며, 시간 동기화가 불필요하므로 시간 동기화를 위한 별도의 패킷 교환이 필요 없으므로 네트워크 수율을 향상시킬 수 있으며, 스케쥴 정보가 절대 시간 기준이 아니라 시간 차이에 해당하는 정보에 의해서 결정되므로 각 노드들의 로컬 시각 정보가 서로 상이하더라도 정확하게 동작하며, 매 사이클 종료 시점에 싱크 노드와 노드간 왕복 시간 지연 정보에 대한 정확한 값이 측정되므로 스케쥴 정보는 시간이 지남에 따라서 오차가 누적되지 않아서 주기적인 재초기화가 필요 없다
도면과 명세서에는 최적의 실시예가 개시되었으며, 특정한 용어들이 사용되었으나 이는 단지 본 발명의 실시형태를 설명하기 위한 목적으로 사용된 것이지 의미를 한정하거나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 수 있을 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
: 제 1 설정시간
: 싱크 노드와 노드(H)간 왕복 시간 지연
: 1-번째 노드의 대기 시간
: 1-번째 노드의 데이터 패킷이 싱크 노드에 수신되기 시작하는 시각의 최대값
: k-번째 노드의 데이터 패킷이 싱크 노드에 도착하는 시각의 최소값
: k-번째 노드의 대기 시간
: k-번째 노드의 데이터 패킷이 싱크 노드에 도착하는 시각의 최대값
: 제 3 설정 시각
: 제 4 설정 시각
: 싱크 노드와 k-번째 노드 간 왕복 시간 지연
: 1 사이클 동안 변화할 수 있는 노드의 왕복 시간 지연 변동폭
: n-번째 사이클에서 1-번째 노드에게 부여되는 시간 지연
: n-번째 사이클에서 1-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최대값
: n-번째 사이클에서 k-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최소값
: n-번째 사이클에서 k-번째 노드에게 부여되는 시간 지연
: n-번째 사이클에서 k-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최대값
: n-1-번째 사이클에서의 1-번째 노드의 왕복 시간 지연
: n-번째 사이클에서 1-번째 노드의 데이터 패킷 길이의 시간 환산값
: n-1-번째 사이클에서의 k-번째 노드의 왕복 시간 지연
: n-번째 사이클에서 k-1-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최대값
: n-번째 사이클에서 k-번째 노드의 데이터 패킷 길이의 시간 환산값
: 싱크 노드와 노드(H)간 왕복 시간 지연
: 1-번째 노드의 대기 시간
: 1-번째 노드의 데이터 패킷이 싱크 노드에 수신되기 시작하는 시각의 최대값
: k-번째 노드의 데이터 패킷이 싱크 노드에 도착하는 시각의 최소값
: k-번째 노드의 대기 시간
: k-번째 노드의 데이터 패킷이 싱크 노드에 도착하는 시각의 최대값
: 제 3 설정 시각
: 제 4 설정 시각
: 싱크 노드와 k-번째 노드 간 왕복 시간 지연
: 1 사이클 동안 변화할 수 있는 노드의 왕복 시간 지연 변동폭
: n-번째 사이클에서 1-번째 노드에게 부여되는 시간 지연
: n-번째 사이클에서 1-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최대값
: n-번째 사이클에서 k-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최소값
: n-번째 사이클에서 k-번째 노드에게 부여되는 시간 지연
: n-번째 사이클에서 k-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최대값
: n-1-번째 사이클에서의 1-번째 노드의 왕복 시간 지연
: n-번째 사이클에서 1-번째 노드의 데이터 패킷 길이의 시간 환산값
: n-1-번째 사이클에서의 k-번째 노드의 왕복 시간 지연
: n-번째 사이클에서 k-1-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최대값
: n-번째 사이클에서 k-번째 노드의 데이터 패킷 길이의 시간 환산값
Claims (17)
- 하나의 싱크 노드와 다수의 노드들로 구성된 네트워크 토폴로지에서 스케쥴링을 하는, 수중 무선 이동 네트워크를 위한 스케쥴링 방법으로서:
싱크 노드로부터 다수의 노드들로 초기화 패킷을 방송하는 제 1 단계;
상기 싱크 노드가 다수의 노드들로부터 제 1 설정시간() 동안 초기화 응답 패킷을 수신하는 제 2 단계;
상기 싱크 노드가 상기 제 2 단계에서 수신한 초기화 응답 패킷으로부터 상기 싱크 노드와 다수의 노드들 간 왕복 시간 지연()을 계산하는 제 3 단계;
상기 싱크 노드에 의해 초기화 응답 패킷 수신에 충돌이 존재하는 지의 여부를 결정하는 제 4 단계;
상기 제 4 단계에서 초기화 응답 패킷 수신에 충돌이 존재하지 않으면, 상기 싱크 노드가 상기 제 3 단계에서 계산된 왕복 시간 지연()을 이용하여 왕복 시간 지연이 작은 순으로 노드들을 정렬하는 제 5 단계;
상기 싱크 노드에 의해 변수(k)가 1로 설정되고 1-번째 노드의 대기 시간()이 "0"으로 설정되는 제 6 단계;
상기 싱크 노드에 의해 1-번째 노드의 데이터 패킷이 상기 싱크 노드에 수신되기 시작하는 시각의 최대값()이 계산되는 제 7 단계;
상기 변수(k)가 마지막-번째(K-번째)보다 작은 지의 여부를 판단하는 제 8 단계;
상기 제 8 단계에서 상기 변수(k)가 마지막-번째(K-번째) 보다 작으면 상기 변수(k)를 k+1로 설정하는 제 9 단계;
상기 싱크 노드에 의해 k-번째 노드의 데이터 패킷이 상기 싱크 노드에 도착하는 시각의 최소값()이 계산되는 제 10 단계;
상기 싱크 노드에 의해 상기 k-번째 노드의 대기 시간()이 계산되는 제 11 단계;
상기 싱크 노드에 의해 상기 k-번째 노드의 데이터 패킷이 상기 싱크 노드에 도착하는 시각의 최대값()을 계산한 후 상기 제 8 단계로 진행되는 제 12 단계;
상기 제 8 단계에서 상기 변수(k)가 마지막-번째(K-번째) 보다 작지 않으면, 상기 싱크 노드에 의해 1-번째 비콘 패킷이 제 3 설정 시각()에 다수의 노드들에 방송되는 제 13 단계;
상기 싱크 노드가 마지막-번째(K-번째) 노드 데이터 패킷을 수신한 후 또는 상기 제 13 단계에 의한 1-번째 비콘 패킷 방송후 제 4 설정 시간()을 대기하는 제 14 단계[여기서, 는 마지막-번째(K-번째) 노드의 데이터 패킷이 싱크 노드에 도착하는 시각의 최대값이고, 은 마지막-번째(K-번째) 노드의 데이터 패킷 길이의 시간 환산값임]
상기 싱크 노드에 의해 상기 싱크 노드와 상기 k-번째 노드 간 왕복 시간 지연()이 계산되는 제 15 단계;
상기 싱크 노드가 상기 제 15 단계에서 계산된 왕복 시간 지연()을 이용하여 왕복 시간 지연이 작은 순으로 노드들을 정렬하는 제 16 단계;
상기 싱크 노드에 의해 1 사이클 동안 변화할 수 있는 노드의 왕복 시간 지연 변동폭()이 계산되는 제 17 단계;
상기 변수(k)를 1로 설정하고, 상기 싱크 노드가 n-번째 사이클에서 1-번째 노드에게 부여되는 시간 지연()을 "0"으로 설정하고, n-번째 사이클에서 1-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최대값()을 계산하는 제 18 단계;
상기 변수(k)가 마지막-번째(K-번째)보다 작은 지의 여부를 판단하는 제 19 단계;
상기 제 19 단계에서 상기 변수(k)가 마지막-번째(K-번째) 보다 작으면 상기 변수(k)를 k+1로 설정하는 제 20 단계;
상기 싱크 노드가 n-번째 사이클에서 k-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최소값()을 계산하는 제 21 단계;
상기 싱크 노드가 n-번째 사이클에서 k-번째 노드에게 부여되는 시간 지연()을 계산하는 제 22 단계;
상기 싱크 노드가 n-번째 사이클에서 k-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최대값()을 계산한 후 상기 제 19 단계로 진행되는 제 23 단계;
상기 제 19 단계에서 상기 변수(k)가 마지막-번째(K-번째) 보다 작지 않으면, 상기 싱크 노드에 의해 비콘 패킷 방송이 되는 지의 여부가 결정되는 제 24 단계; 및
상기 제 24 단계에서 비콘 패킷 방송이 되지 않으면 종료하는 제 25 단계를 포함하는, 수중 무선 이동 네트워크를 위한 스케쥴링 방법. - 제 1 항에 있어서,
상기 제 24 단계에서 싱크 노드에 의해 비콘 패킷 방송이 결정 되면,
상기 싱크 노드에 의해 n-번째 사이클의 비콘 패킷이 방송되는 시각()에 비콘 패킷이 노드들에 방송되는 제 26 단계;
상기 싱크 노드가 마지막-번째(K-번째) 노드 데이터 패킷을 수신한 후 또는 상기 n-번째 사이클에서 마지막-번째 노드의 데이터 패킷이 수신되기 시작되는 시각의 최대값()을 대기하는 제 27 단계; 및
상기 싱크 노드에 의해 사이클이 1만큼 증가된 후 상기 제 15 단계로 진행되는 제 28 단계가 수행되는, 수중 무선 이동 네트워크를 위한 스케쥴링 방법. - 제 1 항에 있어서,
상기 제 4 단계에서 초기화 응답 패킷 수신에 충돌이 존재하면,
상기 싱크 노드에 의해 재초기화 패킷이 노드들에 방송되는 제 29 단계;
상기 싱크 노드에 의해 제 2 설정 시간() 만큼 재초기화 응답 패킷이 수신되는 제 30 단계;
상기 싱크 노드가 상기 제 30 단계에서 수신한 재초기화 응답 패킷으로부터 상기 싱크 노드와 노드들 간 왕복 시간 지연()을 계산하는 제 31 단계; 및
상기 싱크 노드에 의해 재초기화 응답 패킷 수신에 충돌이 존재하는 지의 여부를 결정하는 제 32 단계가 수행되며:
상기 제 32 단계에서 재초기화 응답 패킷 수신에 충돌이 존재하면 상기 제 29 단계로 진행되는, 수중 무선 이동 네트워크를 위한 스케쥴링 방법. - 제 3 항에 있어서,
상기 제 32 단계에서 재초기화 응답 패킷 수신에 충돌이 존재하지 않으면 상기 제 5 단계로 진행되는, 수중 무선 이동 네트워크를 위한 스케쥴링 방법.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170011915A KR101940635B1 (ko) | 2017-01-25 | 2017-01-25 | 수중 무선 이동 네트워크를 위한 스케쥴링 방법 |
PCT/KR2018/001142 WO2018139886A1 (ko) | 2017-01-25 | 2018-01-25 | 수중 무선 이동 네트워크를 위한 스케쥴링 방법 |
US16/072,643 US10784971B2 (en) | 2017-01-25 | 2018-01-25 | Method of scheduling for underwater wireless mobile network |
EP18745356.8A EP3576357B1 (en) | 2017-01-25 | 2018-01-25 | Scheduling method for underwater wireless mobile network |
ES18745356T ES2954448T3 (es) | 2017-01-25 | 2018-01-25 | Procedimiento de programación para la red móvil inalámbrica submarina |
PT187453568T PT3576357T (pt) | 2017-01-25 | 2018-01-25 | Método de agendamento para rede móvel sem fios subaquática |
JP2018564719A JP6578455B2 (ja) | 2017-01-25 | 2018-01-25 | 水中無線移動ネットワークのためのスケジューリング方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170011915A KR101940635B1 (ko) | 2017-01-25 | 2017-01-25 | 수중 무선 이동 네트워크를 위한 스케쥴링 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180087638A KR20180087638A (ko) | 2018-08-02 |
KR101940635B1 true KR101940635B1 (ko) | 2019-01-21 |
Family
ID=63251417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170011915A KR101940635B1 (ko) | 2017-01-25 | 2017-01-25 | 수중 무선 이동 네트워크를 위한 스케쥴링 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101940635B1 (ko) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101033528B1 (ko) | 2009-08-24 | 2011-05-11 | 한국해양연구원 | 클러스터 수중 음향 네트워크를 위한 이동 노드 기반의 시간 분할 다중 접속 매체 접속 제어 방법 |
KR101116801B1 (ko) | 2010-08-24 | 2012-02-28 | 한국해양연구원 | 수중음향 네트워크의 매체접속 방법 및 이를 위한 마스터 노드 |
KR101328455B1 (ko) | 2011-11-30 | 2013-11-14 | 강릉원주대학교산학협력단 | 수중 무선 센서 네트워크에서의 스케줄링 장치 및 방법 |
KR101371322B1 (ko) | 2013-09-11 | 2014-03-10 | 한국해양과학기술원 | 수중 장거리 네트워크를 위한 시간분할 다중접속 매체접속제어 프로토콜의 시간 파라미터 결정방법 |
-
2017
- 2017-01-25 KR KR1020170011915A patent/KR101940635B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101033528B1 (ko) | 2009-08-24 | 2011-05-11 | 한국해양연구원 | 클러스터 수중 음향 네트워크를 위한 이동 노드 기반의 시간 분할 다중 접속 매체 접속 제어 방법 |
KR101116801B1 (ko) | 2010-08-24 | 2012-02-28 | 한국해양연구원 | 수중음향 네트워크의 매체접속 방법 및 이를 위한 마스터 노드 |
KR101328455B1 (ko) | 2011-11-30 | 2013-11-14 | 강릉원주대학교산학협력단 | 수중 무선 센서 네트워크에서의 스케줄링 장치 및 방법 |
KR101371322B1 (ko) | 2013-09-11 | 2014-03-10 | 한국해양과학기술원 | 수중 장거리 네트워크를 위한 시간분할 다중접속 매체접속제어 프로토콜의 시간 파라미터 결정방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20180087638A (ko) | 2018-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102225144B1 (ko) | 울트라와이드 대역 통신 시스템에서 비대칭적 이중 양방향 레인징 | |
US8121050B2 (en) | Maintaining time of day synchronization | |
US10813001B1 (en) | Multicast messaging based on distance estimation of network devices | |
DK2849522T3 (en) | PROCEDURE FOR SENDING AD HOC NETWORK MESSAGES | |
US20160270058A1 (en) | Preamble sets matched to uplink transmission conditions | |
JP2018515003A (ja) | トラッキングチャネルのためのシステム及び方法 | |
US7269138B2 (en) | Distributed MAC protocol facilitating collaborative ranging in communications networks | |
KR101522279B1 (ko) | 수중 음향 네트워크의 정밀 시간-경계 시분할 다중 접근 방법 | |
CN111800200B (zh) | 一种水声网络并行通信的发送时间规划方法 | |
WO2016166404A1 (en) | Wireless device ranging | |
KR101116801B1 (ko) | 수중음향 네트워크의 매체접속 방법 및 이를 위한 마스터 노드 | |
WO2016166405A1 (en) | Wireless device ranging | |
CN114585081A (zh) | 一种基于从定位基站的5gnr室内定位方法 | |
WO2018014666A1 (zh) | 一种上行参考信号的传输方法和装置 | |
WO2018014665A1 (zh) | 一种上行参考信号的传输方法和装置 | |
KR101940635B1 (ko) | 수중 무선 이동 네트워크를 위한 스케쥴링 방법 | |
US10784971B2 (en) | Method of scheduling for underwater wireless mobile network | |
KR101996971B1 (ko) | 이동성 추적 기반의 시분할 다중접속 방법 | |
CN107801209B (zh) | 一种无线自组网通信方法和节点 | |
KR101359455B1 (ko) | 메시지 전송 주기 결정 방법 | |
Wu et al. | A modified backoff algorithm for safety message delivery in IEEE 802.11 p/WAVE networks | |
KR101966743B1 (ko) | 다항식 보간법을 이용한 수중 네트워크 스케쥴링 방법 및 시스템 | |
KR102067527B1 (ko) | 수중 이동 네트워크 방법 | |
KR101603098B1 (ko) | 수중 장거리 네트워크를 위한 시간 동기화 프로토콜 방법 | |
JP2015162884A (ja) | 時間同期確立方法 |
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 |