KR102212406B1 - 무선 애드혹 네트워크에서의 스케줄링 방법 및 무선 애드혹 네트워크에서의 스케줄링 시스템 - Google Patents

무선 애드혹 네트워크에서의 스케줄링 방법 및 무선 애드혹 네트워크에서의 스케줄링 시스템 Download PDF

Info

Publication number
KR102212406B1
KR102212406B1 KR1020200014758A KR20200014758A KR102212406B1 KR 102212406 B1 KR102212406 B1 KR 102212406B1 KR 1020200014758 A KR1020200014758 A KR 1020200014758A KR 20200014758 A KR20200014758 A KR 20200014758A KR 102212406 B1 KR102212406 B1 KR 102212406B1
Authority
KR
South Korea
Prior art keywords
packet
node
timeslot
wireless
scheduling
Prior art date
Application number
KR1020200014758A
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 KR1020200014758A priority Critical patent/KR102212406B1/ko
Application granted granted Critical
Publication of KR102212406B1 publication Critical patent/KR102212406B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access
    • H04W74/02Hybrid access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • H04W72/044Wireless resource allocation based on the type of the allocated resource
    • H04W72/0446Resources in time domain, e.g. slots or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access
    • H04W74/002Transmission of channel access control information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

무선 애드혹 네트워크에서의 스케줄링 방법 및 무선 애드혹 네트워크에서의 스케줄링 시스템이 개시된다. 본 발명의 일실시예에 따른 무선 애드혹 네트워크에서의 스케줄링 방법은, 무선 애드혹 네트워크에 대한 스케줄링 명령의 발생에 연동하여, 상기 무선 애드혹 네트워크를 구성하는 하나의 노드에, 할당되지 않은 임의의 타임슬롯을 선정하는 단계와, 선정된 상기 타임슬롯의 할당을 요청하는 REQ(Request) 패킷을, 상기 노드에 대한 이웃노드에 각각 전송하는 단계와, 상기 할당 요청에 동의하는 CFM(Confirm) 패킷이, 상기 REQ 패킷을 수신한 모든 이웃노드로부터 수신되면, 상기 타임슬롯을, 상기 노드에 할당하는 단계, 및 상기 타임슬롯의 정보를 포함하여 생성되는 RLS(Release) 패킷을 상기 이웃노드에 각각 전송하여, 상기 타임슬롯의 할당 완료를 알리는 단계를 포함한다.

Description

무선 애드혹 네트워크에서의 스케줄링 방법 및 무선 애드혹 네트워크에서의 스케줄링 시스템{SCHEDULING METHOD AND SCHEDULING SYSTEM IN AD HOC NETWORKS}
본 발명은 무선 애드혹 네트워크(Wireless Ad-hoc network)에서의 스케줄링 방법에 연관되며, 보다 특정하게는 효과적인 병행 분산 TDMA 방식에 의한 스케줄링 성능 개선에 연관된다.
무선 애드혹 네트워크에서는 주로 TDMA(Time Division Multiple Access) 방식과 CSMA(Carrier Sensing Multiple Access) 방식이 이용되고 있다. CSMA 방식은 구현이 단순하지만, 주변 노드들이 동시에 전송할 가능성이 높아 상호 충돌이 발생함은 물론 신뢰성 있는 전송 기능을 제공하는데 한계가 있다.
한편 TDMA 방식의 경우, 미리 설정한 슬롯 스케줄링을 통하여 노드 간 충돌을 방지하고 종단 간 신뢰성 있는 패킷 전송을 지원할 수 있다. 그러나 TDMA 방식을 활용하기 위해서는 적어도 2홉 이내의 각 노드에 유일한 전송시간('타임슬롯')을 할당하는 스케줄링 알고리즘이 필수적으로 요구된다.
현재까지 무선 애드혹 네트워크 분야에서 많은 TDMA 방식의 스케줄링 알고리즘이 제안되었으며, 그 중에서 DRAND 알고리즘이 가장 널리 사용되고 있다.
DRAND 알고리즘에 따르면, 각 노드는 매번 임의 선정(lottery) 단계를 실행하여 REQUEST 패킷을 브로드캐스트 한다. 이때, REQUEST 패킷을 수신한 모든 1홉 이웃들은 이에 대한 응답으로 GRANT 패킷을 보내며, REQUEST를 요청한 노드, 즉 요청 노드에서는 수신된 GRANT 패킷 내의 현재 사용 중인 타임슬롯 정보를 바탕으로 자신이 사용할 타임슬롯을 선정한다.
이때, 요청 노드는 자신이 선정한 타임슬롯의 정보를 RELEASE 패킷에 담아 1홉 이웃 노드들에게 브로드캐스트 함으로써, 자신이 사용할 타임슬롯을 주변의 2홉 노드들이 중복해서 선정하는 것을 방지한다.
만일, 둘 이상의 요청 노드로부터 REQUEST 패킷을 수신할 경우, 각 노드는 GRANT 패킷 대신에 REJECT 패킷을 요청 노드로 전송하게 되며, 요청 노드는 하나 이상의 노드로부터 REJECT 패킷을 수신할 경우 자신의 타임슬롯 스케줄링이 실패했다는 FAIL 패킷을 다시 브로드캐스트 함으로써, 둘 이상의 노드가 동시에 같은 타임슬롯을 선정하는 것을 방지하게 된다.
이처럼 DRAND는 간단한 방식으로 타임슬롯 스케줄링을 수행하는 장점을 가지고 있지만, REQUEST 패킷을 수신한 각 노드는 단 하나의 이웃에게 GRANT 패킷을 보낼 수 있으므로, 다른 이웃들은 자신의 순번이 될 때까지 기다려야 한다.
또한 이미 다른 노드에게 GRANT 패킷을 보낸 이웃에게 REQUEST 패킷을 전송하는 노드는, 해당 이웃으로부터 FAIL 패킷을 수신하게 되며, 이 스케줄링은 실패한 것이 된다.
이에 따라 네트워크 전체적으로 수많은 제어 패킷의 전송이 초래되고, 또한 수많은 실패된 시도로 인해 스케줄링 완료시간이 길어지는 기존 TDMA 방식의 타임슬롯 스케줄링의 문제점을 해소하기 위한 기술이 요구되고 있다.
본 발명의 실시예는 무선 애드혹 네트워크를 구성하는 각 노드의 스케줄링을, 주변 이웃노드(2홉 이내의 이웃노드)들과 병행하여 수행함으로써, 스케줄링 성능을 개선하고, 기존 TDMA 방식의 스케줄링의 문제점을 해소하는 것을 목적으로 한다.
본 발명의 실시예는 스케줄링을 위한 각종 제어패킷을 항상 브로드캐스트 기반으로 전송하여, 현재까지 할당된 타임슬롯의 정보를 상기 제어패킷을 통해 주변의 이웃노드에 알림으로써, 이미 할당이 완료된 타임슬롯에 대한 경쟁을 회피하도록 유도하는 것을 목적으로 한다.
본 발명의 일실시예에 따른 무선 애드혹 네트워크에서의 스케줄링 방법은, 무선 애드혹 네트워크에 대한 스케줄링 명령의 발생에 연동하여, 상기 무선 애드혹 네트워크를 구성하는 하나의 노드에, 할당되지 않은 임의의 타임슬롯을 선정하는 단계와, 선정된 상기 타임슬롯의 할당을 요청하는 REQ(Request) 패킷을, 상기 노드에 대한 이웃노드에 각각 전송하는 단계와, 상기 할당 요청에 동의하는 CFM(Confirm) 패킷이, 상기 REQ 패킷을 수신한 모든 이웃노드로부터 수신되면, 상기 타임슬롯을, 상기 노드에 할당하는 단계, 및 상기 타임슬롯의 정보를 포함하여 생성되는 RLS(Release) 패킷을 상기 이웃노드에 각각 전송하여, 상기 타임슬롯의 할당 완료를 알리는 단계를 포함할 수 있다.
또한, 본 발명의 실시예에 따른 무선 애드혹 네트워크에서의 스케줄링 시스템은, 무선 애드혹 네트워크에 대한 스케줄링 명령의 발생에 연동하여, 상기 무선 애드혹 네트워크를 구성하는 하나의 노드에, 할당되지 않은 임의의 타임슬롯을 선정하는 슬롯 선정부와, 선정된 상기 타임슬롯의 할당을 요청하는 REQ 패킷을, 상기 노드에 대한 이웃노드에 각각 전송하는 전송 처리부, 및 상기 할당 요청에 동의하는 CFM 패킷이, 상기 REQ 패킷을 수신한 모든 이웃노드로부터 수신되면, 상기 타임슬롯을, 상기 노드에 할당하는 슬롯 할당부를 포함하고, 상기 전송 처리부는, 상기 타임슬롯의 정보를 포함하여 생성되는 RLS 패킷을 상기 이웃노드에 각각 전송하여, 상기 타임슬롯의 할당 완료를 알릴 수 있다.
본 발명의 일실시예에 따르면, 무선 애드혹 네트워크에서의 각 노드의 스케줄링을 주변 이웃노드(2홉 이내의 이웃노드)들과 병행해서 수행하도록 함으로써, 스케줄링을 위한 각종 제어패킷의 송신을 네트워크 전체적으로 최소화하여 스케줄링을 완료하는데 필요한 시간을 줄일 수 있다.
본 발명의 일실시예에 따르면, 무선 애드혹 네트워크에서 각 노드의 스케줄링을 위한 각종 제어패킷의 송신을 브로드캐스트 기반으로 수행하여, 현재까지 할당된 타임슬롯의 정보를 주변의 이웃노드에 모두 알림으로써, 할당이 완료된 타임슬롯에 대한 경쟁을 회피하도록 유도해 스케줄링 실패를 효과적으로 방지할 수 있다.
도 1은 본 발명의 일실시예에 따른 무선 애드혹 네트워크에서의 스케줄링 시스템의 구성을 도시한 블록도이다.
도 2는 본 발명의 일실시예에 따른 무선 애드혹 네트워크에서의 스케줄링 시스템에서, 프레임의 구조를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 무선 애드혹 네트워크에서의 스케줄링 시스템에서, 노드 사이에 송수신되는 각 패킷의 구조를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 무선 애드혹 네트워크에서의 스케줄링 시스템에서, 스케줄링 알고리즘에 따른 상태 전이 다이어그램을 도시한 도면이다.
도 5a 내지 도 5b는 본 발명의 일실시예에 따른 무선 애드혹 네트워크에서의 스케줄링 시스템에서, 스케줄링 알고리즘의 처리 과정을 도시한 흐름도이다.
도 6은 본 발명의 일실시예에 따른 무선 애드혹 네트워크에서의 스케줄링 방법의 순서를 도시한 흐름도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 발명의 무선 애드혹 네트워크에서의 스케줄링 시스템은, 제안하는 스케줄링 알고리즘에 따라, 무선 애드혹 네트워크를 구성하는 각각의 노드에, 일정한 시간 길이를 가지는 슬롯(이하, '타임슬롯')을 효과적으로 할당하기 위한 스케줄링을 수행할 수 있다.
구체적으로 무선 애드혹 네트워크에서의 스케줄링 시스템은, 스케줄링 명령의 발생에 연동하여, 상기 무선 애드혹 네트워크를 구성하는 하나의 노드에, 할당되지 않은 임의의 타임슬롯을 선정하고, 선정된 타임슬롯의 할당을 요청하는 REQ 패킷을, 상기 노드에 대한 이웃노드(2홉 이내의 이웃노드)에 각각 전송하고, 상기 REQ 패킷을 수신한 모든 이웃노드로부터, 할당 요청에 동의하는 CFM 패킷이 수신되면, 선정된 타임슬롯을, 상기 노드에 할당하고, 상기 타임슬롯의 정보를 포함하여 생성되는 RLS 패킷을 상기 이웃노드에 각각 전송하여, 상기 타임슬롯의 할당 완료를 알릴 수 있다.
여기서, 본 발명은 새롭게 할당이 완료된 상기 타임슬롯의 정보를 RLS 패킷을 통해 상기 이웃노드에 알리고, 상기 RLS 패킷을 수신한 이웃노드에서 상기 타임슬롯을 제외한 슬롯 스케줄링을 수행하도록 할 수 있다.
즉 본 발명은 하나의 노드에 대한 스케줄링 시, 각종 제어패킷을 통해 이미 할당이 완료된 타임슬롯에 대한 정보를 지속적으로 주변 이웃노드에 알림으로써, 주변 이웃노드에서는 이미 할당이 완료된 타임슬롯에 대한 경쟁을 회피하는 스케줄링이 병행되도록 유도할 수 있고, 이에 따라 스케줄링 실패를 줄여 스케줄링에 필요한 제어패킷의 수를 최소화할 수 있다.
또한 본 발명은 상기 할당을 요청하는 REQ 패킷과, 상기 할당 요청에 동의하는 CFM 패킷(또는 할당 요청에 거부하는 RJT 패킷), 상기 타임슬롯의 할당 완료를 알리는 RLS 패킷과 같은 각종 제어패킷을, 상기 노드로부터 2홉 이내의 이웃노드에 브로드캐스트 기반으로 일시에 전송함으로써, 제어패킷을 어느 하나의 이웃노드에 전송해야 하는 기존 방식에 비해, 스케줄링 소요시간을 줄일 수 있다.
이하에서는 무선 애드혹 네트워크에 속하는 하나의 노드에 대한 스케줄링을, 각종 제어패킷의 브로드캐스트 전송에 의해, 주변 이웃노드와 병행해서 수행하여, 네트워크 전체적으로 스케줄링 성능을 개선하기 위한 방안을 구체적으로 설명한다.
도 1은 본 발명의 일실시예에 따른 무선 애드혹 네트워크에서의 스케줄링 시스템의 구성을 도시한 블록도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 무선 애드혹 네트워크에서의 스케줄링 시스템(100)은 슬롯 선정부(110), 전송 처리부(120) 및 슬롯 할당부(130)를 포함하여 구성할 수 있다.
슬롯 선정부(110)는 무선 애드혹 네트워크에 대한 스케줄링 명령의 발생에 연동하여, 상기 무선 애드혹 네트워크를 구성하는 하나의 노드에, 할당되지 않은 임의의 타임슬롯을 선정한다.
전송 처리부(120)는 선정된 상기 타임슬롯의 할당을 요청하는 REQ 패킷을, 상기 노드에 대한 이웃노드에 각각 전송한다.
일례로, 전송 처리부(120)는 상기 REQ 패킷을, 기 할당된 제1 타임슬롯의 정보를 포함하도록 생성하여 상기 이웃노드에 각각 전송함으로써, 상기 타임슬롯의 할당을 요청하는 동시에, 상기 제1 타임슬롯의 할당 상태를 알릴 수 있다.
상기 REQ 패킷을 브로드캐스트 기반으로 상기 각 이웃노드에 전송될 수 있다.
먼저, 전송 처리부(120)는 상기 이웃노드 중 하나를, 상기 REQ 패킷의 1차 수신자로 지정하고, 상기 이웃노드 중 스케줄링이 완료된 1홉 이웃노드를, 상기 REQ 패킷의 2차 수신자로 지정하고, 상기 1차 수신자 및 상기 2차 수신자로 지정된 각 이웃노드에 상기 REQ 패킷을 브로드캐스트 전송할 수 있다.
1차 수신자는 상기 노드의 1홉 이웃 노드 중에서 랜덤한 순서로 지정될 수 있으나, 실시예에 따라 스케줄링이 완료되지 않은 1홉 이웃노드가 우선적으로 1차 수신자로 지정될 수 있다.
이때 상기 1차 수신자로 지정된 이웃노드로부터 상기 CFM 패킷이 수신되면, 전송 처리부(120)는 상기 이웃노드 중 다른 하나를 상기 1차 수신자로 새롭게 지정하여, 상기 REQ 패킷의 브로드캐스트 전송을 반복하여 실시할 수 있다.
실시예에 따라, 슬롯 선정부(110)는 상기 할당 요청을 거절하는 RJT 패킷이, 상기 REQ 패킷을 수신한 이웃노드 중 어느 하나로부터 수신될 경우, 상기 타임슬롯의 선정을 취소하고, 최대 이웃노드의 수를 고려하여 복수의 타임슬롯으로 분할되는 프레임 내에서, 할당되지 않은 다른 임의의 타임슬롯을, 상기 노드에 선정할 수 있다. 이후, 전송 처리부(120)는 상기 REQ 패킷을 이웃노드 각각에 다시 전송하여 스케줄링을 재개할 수 있다.
슬롯 할당부(130)는 상기 REQ 패킷을 수신한 모든 이웃노드로부터, 할당 요청에 동의하는 CFM 패킷이 수신될 경우, 상기 타임슬롯을, 상기 노드에 확정하여 할당한다.
이때 전송 처리부(120)는 상기 타임슬롯의 정보를 포함하여 생성되는 RLS 패킷을 상기 이웃노드에 각각 전송하여, 상기 타임슬롯의 할당 완료를 알림한다.
일례로 전송 처리부(120)는 상기 RLS 패킷을, 기 할당된 제1 타임슬롯의 정보를 더 포함하도록 생성하여 상기 이웃노드에 각각 전송함으로써, 상기 타임슬롯의 할당 완료를 알리는 동시에, 상기 제1 타임슬롯의 할당 상태를 더 알릴 수 있다.
또한 전송 처리부(120)는 상기 할당 요청에 동의하는 CFM 패킷 혹은 상기 할당 요청을 거절하는 RJT 패킷 중 적어도 하나의 제어패킷이 상기 이웃노드로부터 수신될 때마다, 상기 제어패킷을, 상기 제어패킷을 송신한 이웃노드에 대한 1홉 이웃노드에 각각 전송하여, 상기 타임슬롯의 할당 여부를 알릴 수 있다.
전송 처리부(120)는 상기 제어패킷이, 기 할당된 제1 타임슬롯의 정보를 포함하여 생성된 경우, 상기 제어패킷을, 상기 1홉 이웃노드에 브로드캐스트 전송하는 것에 의해, 상기 타임슬롯의 할당 여부와, 상기 제1 타임슬롯의 할당 상태를 동시에 알릴 수도 있다.
이에 따라 전송 처리부(120)는 스케줄링을 위해 송신되는 각종 제어패킷(REQ패킷, RLS패킷, CFM패킷, RJT패킷)이 브로드캐스트 기반으로 주변의 이웃노드에 전송되도록 함으로써, 주변의 이웃노드에서 상기 제어패킷을 통해 현재까지 할당된 슬롯의 정보를 미리 파악해, 해당 타임슬롯에 대한 경쟁을 회피하도록 유도하여, 네트워크 전체의 타임슬롯 스케줄링 실패를 방지할 수 있다.
도 2는 본 발명의 일실시예에 따른 무선 애드혹 네트워크에서의 스케줄링 시스템에서, 프레임의 구조를 도시한 도면이다.
도 2를 참조하면, 시간축(200)은 동일한 시간 길이의 프레임(210)이 반복되도록 구성되고, 각각의 프레임(210)은 다수의 슬롯(220)으로 나뉠 수 있다.
무선 애드혹 네트워크를 구성하는 각 노드는, 자신에게 할당된 슬롯(220)을 사용하여 네트워크 내의 다른 노드로 패킷을 전송할 수 있다.
여기서 패킷은, 각 노드의 슬롯 스케줄링에 필요한 REQ 패킷, RLS 패킷, CFM 패킷, RJT 패킷과 같은 제어패킷일 수도 있고, 데이터패킷일 수도 있다.
각 프레임(210)에서 슬롯(220)의 수는 무선 애드혹 네트워크의 밀도를 고려하여 미리 정의될 수 있다. 예를 들어, 최대 2홉 이웃노드의 수가 N인 무선애드혹 네트워크에서 각 프레임(210)은 최소 N개의 슬롯(220)으로 구성될 수 있다.
각 슬롯(220)은 Request/Release 전송 구간(221) 및 Confirmation/Reject 전송 구간(222)으로 이루어질 수 있다.
Request/Release 전송 구간(221)은, 타임슬롯의 할당을 요청하는 REQ(Request) 패킷 또는 할당된 타임슬롯의 정보를 포함하는 RLS(Release) 패킷의 전송 시 이용되고, Confirmation/Reject 전송 구간(222)은 상기 할당 요청에 동의하는 CFM(Confirm) 패킷 또는 상기 할당 요청을 거절하는 RJT(Reject) 패킷의 전송 시 이용될 수 있다.
각 슬롯(220)은 노드 A에서 노드 B로의 요청 패킷(REQ 패킷) 또는 공지 패킷(RLS 패킷)의 전송 및 노드 B에서 노드 A로 전송되는 확인 패킷(CFM 패킷) 또는 거절 패킷(RJT 패킷)의 전송이 충분히 가능한 시간 길이를 가지도록 구성될 수 있다. 상기의 REQ 패킷, RLS 패킷, CON 패킷 또는 RJT 패킷의 구조를 도 3에서 후술한다.
도 3은 본 발명의 일실시예에 따른 무선 애드혹 네트워크에서의 스케줄링 시스템에서, 노드 사이에 송수신되는 각 패킷의 구조를 도시한 도면이다.
도 3을 참조하면, REQ 패킷(310)은 헤더(Header), 타입(Type), 수신자(Dst), 1차 수신자(PR Dst)(311), Src, 2차 수신자(SRi~SRj)(312), 1홉 이웃노드에 할당된 슬롯 리스트(313) 및 검증비트(Check bits)를 포함한 다수의 필드(Field)로 구성될 수 있다.
여기서 수신자(Dst)는 REQ 패킷(310)을 모든 1홉 이웃노드에서 수신하여 확인할 수 있는 "브로드캐스트 전송”을 지칭하는 필드이다.
1차 수신자(PR Dst)(311)는 REQ 패킷(310)이 전송되는 해당 타임슬롯 내에 바로 CFM/RJT 패킷(330)으로 응답해줘야 하는 이웃노드를 지칭한다.
2차 수신자(SRi~SRj)(312)는 이미 스케줄링이 완료되어 제1 타임슬롯이 기 할당된 1홉 이웃노드를 지칭힌다. 2차 수신자(312)로 지정된 이웃노드들은 자신의 슬롯에서 CFM/RJT 패킷(330)으로 회신하게 된다.
이처럼 REQ 패킷(310)은 이미 스케줄링이 완료된 1홉 이웃노드를 2차 수신자(SRi~SRj)(312)를 포함하고 있기 때문에, 모든 1홉 이웃노드를 1차 수신자(PR Dst)(311)로 지정해서 해당 타임슬롯 내에 응답을 받아야하는 기존에 비해 REQ 패킷(310) 전송의 반복을 줄일 수 있다.
1차 수신자(311)와 2차 수신자(312)는, 타임슬롯의 할당을 요청하는 노드의 이웃노드로서, 1차 수신자(311)는 이웃노드 중 어느 하나로 바꿔가며 정해지고, 2차 수신자(312)는 상기 이웃노드 중 스케줄링이 완료된 1홉 이웃노드로 정해질 수 있다.
무선 애드혹 네트워크에서의 스케줄링 시스템은, 타임슬롯의 할당을 요청하는 노드 A의 이웃노드 중 하나인 노드 B를, REQ 패킷(310)의 1차 수신자(311)로 지정하고, 노드 A의 이웃노드 중 스케줄링이 완료되어 제1 타임슬롯이 기 할당된 1홉 이웃노드를 REQ 패킷(310)의 2차 수신자(312)로 지정하여, REQ 패킷(310)을 1차 수신자(311)와 2차 수신자(312)로 지정된 모든 이웃노드에 브로드캐스트 전송할 수 있다.
예를 들어 1차 수신자(311)는 노드 A의 1홉 이웃 노드 B, C, D, E, F 중에서 랜덤한 순서로 지정될 수 있으나, 실시예에 따라 스케줄링이 완료되지 않은 1홉 이웃노드 B, C, E가 우선적으로 1차 수신자(311)로 지정될 수 있다.
또한 2차 수신자(312)로 지정되는 노드들은, 금번에 타임슬롯의 할당을 요청하는 노드 A 이전에 스케줄링을 완료한 1홉 이웃노드들로 지정되며, 각각 자신에 할당된 제1 타임슬롯(assigned slot)을 통하여 CFM 패킷 또는 RJT 패킷을 노드 A에 회신할 수 있다.
상기 슬롯 리스트(313)는 2차 수신자(312)로 지정된 노드들에 할당된 제1 타임슬롯에 관한 정보를 나타낼 수 있다.
예를 들어 무선 애드혹 네트워크에서의 스케줄링 시스템은, 노드 A에 새로운 타임슬롯을 할당하기 위해 REQ 패킷(310)을 브로드캐스트 전송하려는 경우, 노드 A의 1홉 이웃노드 B, C, D, E, F 중 하나인 이웃노드 B를 REQ 패킷(310)의 1차 수신자(311)로 지정할 수 있다. 1차 수신자(311)는 아직 타임슬롯이 할당되지 않은 노드 B, C, E가 우선적으로 지정될 수 있다.
또한 무선 애드혹 네트워크에서의 스케줄링 시스템은, 노드 A의 이웃노드 B, C, D E, F 중 아직 타임슬롯이 할당되지 않은 이웃노드 B, C, E를 제외하고, 노드 A 이전에 스케줄링이 완료되어 제1 타임슬롯이 기 할당된 이웃노드 D, F를 REQ 패킷(310)의 2차 수신자(312)로 지정할 수 있다.
이에 따라 REQ 패킷(310)은 1차 수신자(311)로 지정된 이웃노드 B와, 2차 수신자(312)로 지정된 D, F 각각에 브로드캐스트 전송될 수 있다.
REQ 패킷(310)을 수신한 1차 수신자(311)인 이웃노드 B에서는 해당 타임슬롯 내에 CFM 패킷/RJT 패킷(330)을 노드 A로 전송해 타임슬롯의 할당 요청에 응답할 수 있다.
REQ 패킷(310)을 수신한 2차 수신자(312)인 이웃노드 B, F에서는 자신의 제1 타임슬롯을 사용해 CFM 패킷/RJT 패킷(330)을 노드 A로 전송해 타임슬롯의 할당 요청에 응답할 수 있다.
1차 수신자(311)('노드 B')로부터 할당 요청에 동의하는 CFM 패킷(330)이 수신될 경우, 무선 애드혹 네트워크에서의 스케줄링 시스템은 1차 수신자(311)를 스케줄링이 완료되지 않은 다른 이웃노드 C로 변경하여 REQ 패킷(310)을 다시 브로드캐스트 전송하게 되며, 이웃노드 C로부터도 CFM 패킷(330)이 수신되면, 1차 수신자(311)를 스케줄링이 완료되지 않은 다른 이웃노드 E로 변경하여 REQ 패킷(310)을 다시 브로드캐스트 전송할 수 있다.
이처럼 무선 애드혹 네트워크에서의 스케줄링 시스템은 노드 A로의 타임슬롯의 할당을 요청하는 REQ 패킷(310)을 자신의 1홉 이웃노드에 전송해 동의/거절 응답을 받으려 할 때, 노드 A 이전에 스케줄링이 완료되어 타임슬롯이 기 할당된 1홉 이웃노드를 2차 수신자(312)로 지정해서 함께 REQ 패킷(310)을 보낼 수 있기 때문에, 모든 이웃노드를 일일이 1차 수신자(311)로 지정해서 REQ 패킷(310)을 반복 전송할 필요 없이, 스케줄링이 완료되지 않은 1홉 이웃노드로만 1차 수신자(311)를 바꿔가며 REQ 패킷(310)을 전송하는 것으로 충분해진다.
또한 무선 애드혹 네트워크에서의 스케줄링 시스템은 2차 수신자(312)로 지정된 이웃노드들에 할당된 슬롯 리스트(313)를 더 포함하여, REQ 패킷(310)을 전송할 수 있다.
이에 따라, 노드 A의 새로운 타임슬롯 할당을 요청하는 REQ 패킷(310)을 통해, 노드 A의 1홉 이웃노드에 기 할당된 제1 타임슬롯의 할당 상태를 알릴 수 있으며, REQ 패킷(310)을 수신한 각 이웃노드에서는, 슬롯 리스트(313) 내의 기 할당된 제1 타임슬롯의 경쟁을 회피하는 스케줄링이 수행될 수 있다.
즉 무선 애드혹 네트워크에서의 스케줄링 시스템은 노드 A에 대한 스케줄링을, 그 주변의 이웃노드의 스케줄링과 동시적으로 수행함으로써, 노드 A의 스케줄링이 완료된 후에 다른 노드에 대한 스케줄링을 수행하는 경우에 비해, 스케줄링 실패를 크게 줄일 수 있다.
만일, 상기 REQ 패킷(310)을 수신한 노드 A의 이웃노드 중 어느 하나로부터 상기 할당 요청을 거부하는 RJT 패킷(330)이 수신될 경우, 무선 애드혹 네트워크에서의 스케줄링 시스템은 상기 타임슬롯의 할당 실패를 각 이웃노드에 알릴 수 있다.
한편 상기 REQ 패킷(310)을 수신한 노드 A의 모든 이웃노드로부터 상기 할당 요청에 동의하는 CFM 패킷이 수신되면, 무선 애드혹 네트워크에서의 스케줄링 시스템은, 상기 타임슬롯의 할당 완료를 알리는 RLS 패킷(320)을 상기 REQ 패킷(310)과 마찬가지로 각 이웃노드에 브로드캐스트 전송할 수 있다.
RLS 패킷(320)은 헤더(Header), 타입(Type), 수신자(Dst), 1차 수신자(PR Dst)(321), Src, 2차 수신자(SRi~SRj)(322), 1홉 이웃노드에 할당된 슬롯 리스트(323)와, 이전에 REQ 패킷 또는 RLS 패킷을 보낸 이웃노드의 리스트(324) 및 검증비트(Check bits)를 포함한 다수의 필드(Field)로 구성될 수 있다.
1차 수신자(321) 및 2차 수신자(322)는 상기 REQ 패킷(310)과 마찬가지로 지정되며, RLS 패킷(320) 내에도 노드 A의 1홉 이웃노드에 할당된 슬롯 리스트(323)가 포함되므로, 무선 애드혹 네트워크에서의 스케줄링 시스템은 새로운 타임슬롯의 할당 완료를 알리는 동시에, 현재까지 노드 A의 1홉 이웃노드에 기 할당된 제1 타임슬롯을 재차 알릴 수 있다.
또한 REQ 패킷(310) 또는 RLS 패킷(320)을 수신하는 이웃노드에서는, REQ 패킷(310)에 대한 동의/거절이나, RLS 패킷(320)에 대한 응답을 알리기 위해, CFM 패킷/RJT 패킷(330)을 전송할 수 있다.
CFM 패킷/RJT 패킷(330)은 1차 수신자(PR Dst)(331) 및 스케줄링이 완료된 1홉 이웃노드들의 슬롯 정보(Number of Slots, Slot i~Slot j)(332)를 포함하여, REQ 패킷(310) 또는 RLS 패킷(320)을 전송한 노드 A 뿐만 아니라, 노드 A의 모든 이웃노드에 브로드캐스트 전송될 수 있다.
이에 따라 노드 A의 각 이웃노드에서는 CFM 패킷을 수신했을 때, 상기 타임슬롯이 노드 A로 할당됨을 미리 인지해 해당 타임슬롯의 경쟁을 회피하는 스케줄링이 수행될 수 있고, RJT 패킷을 수신했을 경우에는, 상기 타임슬롯이 노드 A로 할당되지 않음을 미리 인지할 수 있다.
이처럼 본 발명에 의하면, 노드 간 스케줄링을 위해 송수신되는 각종 제어패킷을 기 할당된 슬롯 리스트를 포함하여 브로드캐스트 기반으로 주변 이웃노드에 전송하여, 주변 이웃노드에서 이미 할당이 완료되었거나 할당 요청이 다른 이웃노드에 의해 승인된 타임슬롯에 대한 경쟁을 회피하는 스케줄링을 유도할 수 있다.
본 발명에서는 총 4가지의 제어패킷이 사용되며, 4가지 제어패킷 모두 브로드캐스트로 전송되어 송신자(노드 A)의 1홉 이웃노드들은 모두 제어패킷을 수신할 수 있다. 각 제어패킷은 내부에 1차 수신자(primary receiver, PR) 및 2차 수신자(secondary receivers, SR)를 지정하고, PR 또는 SR로 지정된 수신자들이 필요한 응답 또는 대응하도록 설계될 수 있다.
먼저, REQ 패킷(REQUEST Packet)(310)은 REQUEST 단계에서 경쟁 슬롯(contending slot)의 시작 시점에 전송된다. 도 3에 도시된 것처럼, REQ 패킷(310)은 PR(Primary Receiver, 1차 수신자)(311), SRs(Secondary Receivers, 2차 수신자)(312) 및 요청 노드(노드 A)의 1홉 이웃노드에게 배정된 슬롯 리스트(List of assigned slots) 정보(313)를 담고 있다. 1차 수신자인 PR로 지정된 노드는 REQ 패킷(310)을 수신하면 해당 슬롯 내에 즉시 CFM (Confirm) 또는 RJT (Reject)으로 응답해야 한다. 2차 수신자인 SR로 지정된 노드들은 스케줄링 단계를 끝낸 1홉 이웃노드들로, 각각 자신에게 할당된 슬롯(assigned slot)을 통하여 CFM 또는 RJT 패킷을 회신하게 된다.
다음으로, RLS 패킷(RELEASE Packet)(320)은 REQ-CFM 단계를 통하여 사용할 슬롯이 결정된 노드(노드 A)는 RELEASE 단계로 진입하여 1홉 이웃노드들에게 RLS (Release) 패킷(320)을 전송함으로써 스케줄링을 완료했다는 사실을 알린다. 도 3에 도시된 것처럼 RLS 패킷(320)은 REQ 패킷(310)과 비슷한 구조를 가지고 있으나, RLS 패킷(320)은 'List of neighbors that previously sent REQ or RLS packets' 필드(324)를 추가로 더 가질 수 있다. 해당 필드(324)는 앞선 REQ 패킷(310) 또는 RLS 패킷(320)에서 SR(2차 수신자)로 지정한 노드들이 자신의 슬롯에 CFM 또는 RJT로 응답할 수 있음을 보여준다.
각 노드는 자신이 PR(1차 수신자)로서 지정된 REQ 패킷(310)을 수신하면, 해당 슬롯이 자기나 다른 1홉 이웃들의 경쟁 슬롯(contending slot) 또는 기 할당된 슬롯(assigned slot)인지 여부를 확인하고, 경쟁 슬롯 또는 할당된 슬롯이면, RJT(Reject) 패킷으로 회신하고, 경쟁 슬롯 또는 기 할당된 슬롯이 아니면, 경쟁 슬롯(contending slot)이 종료되기 전에 바로 CFM(Confirm) 패킷으로 회신한다.
또한 RLS 패킷(320)을 수신하는 노드는, CFM(Confirm) 패킷으로 회신하게 된다. 이는 이미 REQUEST 단계에서 CFM(Confirm) 패킷을 응답했기 때문으로, 단순히 RLS 패킷(320)에 대한 응답 확인(acknowledgement)로 간주할 수 있다.
도 3에 도시된 것처럼, RLS 패킷(320)에도 CFM/RJT 패킷(CONFIRMATION and REJECT Packet)(330)과 마찬가지로 기 할당된 슬롯 리스트(assigned list)가 포함되며, 스케줄링이 완료된 노드들의 슬롯 정보를 각 이웃노드에 알릴 수 있다.
도 4는 본 발명의 일실시예에 따른 무선 애드혹 네트워크에서의 스케줄링 시스템에서, 스케줄링 알고리즘에 따른 상태 전이 다이어그램을 도시한 도면이다.
도 4를 참조하면, 무선 애드혹 네트워크를 구성하는 각 노드는 타임슬롯을 할당하는 스케줄링 알고리즘에 따라, 대기(IDLE) 상태(410)→요청(REQUEST) 상태(420)→공지(RELEASE) 상태(430)→대기(IDLE) 상태(410)로 상태가 전이될 수 있다.
대기(IDLE) 상태(410)는 타임슬롯이 할당되지 않은 상태 또는 타임슬롯 할당이 완료된 상태를 나타내고, 요청(REQUEST) 상태(420)는 타임슬롯의 할당을 요청하는 상태를 나타내고, 공지(RELEASE) 상태(430)는 타임슬롯의 할당이 완료됨을 주변 이웃노드에 공지하는 상태를 나타낼 수 있다.
노드들은 자신에게 할당된 프레임 내의 하나의 슬롯을 사용하여, 해당 슬롯 동안에 패킷을 교환하게 된다.
프레임은 정해진 시간 길이를 가지고 시간축에 걸쳐 반복적으로 나타나며, 네트워크의 밀도를 고려해 다수의 슬롯으로 분할되고, 각각의 슬롯은 "free slot"(초기화 슬롯)으로 초기화될 수 있다.
모든 노드들이 대기(IDLE) 상태(410)에 있으면서, 현재 슬롯이 free 상태일 때 해당 슬롯을 배정받기 위하여 노드들은 다른 노드와 경쟁할 수 있다.
즉 노드가 슬롯을 할당 받지 않은 상태이고 현재 슬롯이 free 상태일 때, 슬롯의 시작시점에 임의선정단계(lottery)를 실행하게 된다.
임의선정단계에서 선정(win = 랜덤값을 돌려 특정 범위에 들어오는 경우를 의미함)될 경우, 해당 슬롯을 "contending slot"(경쟁 슬롯)으로 변경하고 요청(REQUEST) 상태(420)로 전환한다.
이후, "contending 슬롯"에 대해 다른 노드와 경쟁에서 이길 경우, 노드는 해당 슬롯을 "assigned slot"으로 설정한 후 공지(RELEASE) 상태(430)에 진입한다.
만약, RELEASE 단계에서 다른 이웃노드에 의하여 REJECT 패킷을 수신하여 해당 슬롯 사용 요청이 거절될 경우, 다시 대기(IDLE) 상태(410)로 돌아가게 된다.
도 5a 내지 도 5b는 본 발명의 일실시예에 따른 무선 애드혹 네트워크에서의 스케줄링 시스템에서, 스케줄링 알고리즘(Scheduling Algorithm)의 처리 과정을 도시한 흐름도이다.
무선 애드혹 네트워크에서의 스케줄링 시스템은 무선 애드혹 네트워크를 구성하는 각 노드에 유일한 전송시간(타임슬롯)을 할당하는 스케줄링을 도 5a 내지 도 5b에 개시된 스케줄링 알고리즘에 따라 수행할 수 있다.
도 5a 내지 도 5b를 참조하면, 무선 애드혹 네트워크에서의 스케줄링 시스템은 무선 애드혹 네트워크를 구성하는 복수의 노드 각각에 대해 이웃노드를 탐색 후 대기한다(단계 501, 502). 대기하는 동안 새로운 슬롯이 시작되면(B), 도 5a에 도시된 단계(503 내지 511)가 수행된다.
구체적으로, 무선 애드혹 네트워크에서의 스케줄링 시스템은 스케줄링이 성공했는지 확인하고(단계 503), 성공한 경우, 지금 contending을 하고 있는지 확인하고(단계 504), 지금 contending을 하고 있지 않으면, Lottery에 당첨되었는지 확인한다(단계 505).
상기 단계(505)에서의 확인 결과, Lottery에 당첨되지 않았으면, 무선 애드혹 네트워크에서의 스케줄링 시스템은 바로 단계(502)로 돌아가서 대기하고, Lottery에 당첨되었으면, 이 슬롯을 contending slot(경쟁 슬롯)으로 선택하고(단계 506), target_neighbor(타겟 이웃)에게 Request를 발신한 후에(단계 507), 단계(502)로 돌아가서 대기한다.
상기 단계(504)에서의 확인 결과, contending을 하고 있지 않은 경우, 무선 애드혹 네트워크에서의 스케줄링 시스템은 이 슬롯이 contending slot(경쟁 슬롯)인지 확인하고(단계 508), contending slot(경쟁 슬롯)이 아닌 것으로 확인되면 바로 단계(502)로 돌아가서 대기하고, contending slot(경쟁 슬롯)으로 확인되면, 단계(507)로 이동하여 target_neighbor(타겟 이웃)에게 Request를 발신한다.
상기 단계(503)에서의 확인 결과, 스케줄링이 성공하지 않은 경우, 이 슬롯이 assigned slot(할당된 슬롯)인지 확인하고(단계 509), assigned slot이면 이웃들에게 대답해야 하는지 확인하고(단계 510), 대답해야 하는 경우, Release를 발신한 후(단계 511), 단계(502)로 돌아가서 대기한다.
상기 단계(509)에서 assigned slot이 아닌 것으로 확인되거나, 또는 상기 단계(510)에서 이웃들에게 대답할 필요가 없는 경우에는, 무선 애드혹 네트워크에서의 스케줄링 시스템은 바로 단계(502)로 돌아가서 대기한다.
단계(502)에서 대기하는 동안 새로운 패킷(메시지)을 받으면(A), 도 5b에 도시된 단계(512 내지 527)가 수행된다.
무선 애드혹 네트워크에서의 스케줄링 시스템은 새로운 패킷(메시지)를 받으면, 이웃들의 assigned slot과 contending slot를 업데이트하고(단계 512), 자신이 1차 수신자(Primary receiver)로 지정되어 있는지 확인하고(단계 513), 자신이 1차 수신자로 지정되어 있으면 메시지 종류에 의한 행동을 개시한다(단계 514).
먼저 Request/Release 메시지를 받을 경우, 무선 애드혹 네트워크에서의 스케줄링 시스템은 Confirmation 이나 Reject 발신한 후(단계 515), 단계(502)로 돌아간다.
또한 Confirmation 메시지를 받을 경우, 무선 애드혹 네트워크에서의 스케줄링 시스템은 새로운 타겟 이웃을 찾고(단계 516), 타겟 이웃의 유무를 확인하고(단계 517), 타겟 이웃이 없으면 Request 중인지 확인하고(단계 518), Request 중이면 Release로 들어간 후(단계 519), 단계(502)로 돌아가서 대기한다.
이때 무선 애드혹 네트워크에서의 스케줄링 시스템은 상기 단계(517)에서 타겟 이웃의 유무를 확인한 결과, 타겟 이웃이 있으면, 바로 단계(502)로 돌아가고, 상기 단계(518)에서의 확인 결과, Request 중이 아니면, 스케줄링이 성공한 것으로 판단하여 단계(502)로 돌아간다.
또한 Reject 메시지를 받을 경우, 무선 애드혹 네트워크에서의 스케줄링 시스템은 선택한 슬롯을 삭제하고(단계 521), 다시 시작하기 위해 단계(502)로 돌아가서 대기한다.
상기 단계(513)에서 자신이 1차 수신자로 지정되어 있지 않으면, 무선 애드혹 네트워크에서의 스케줄링 시스템은 자신이 2차 수신자(Secondary receivers)로 지정되어 있는지 확인하고(단계 522), 2차 수신자로 지정되어 있으면 자기 슬롯에 Release로 대답한 후(단계 523), 단계(502)로 돌아가서 대기한다.
만일 자신이 2차 수신자로도 지정되어 있지 않으면, 무선 애드혹 네트워크에서의 스케줄링 시스템은 메시지 종류에 의한 행동을 실시하고, 이 슬롯이 송신자의 contending slot인지 또는 assigned slot인지 확인한 후, 자신이 보냈던 Request 또는 Release 답장이 있는지 확인한다(단계 524 내지 527).
무선 애드혹 네트워크에서의 스케줄링 시스템은 상기 단계(526)에서의 확인 결과, Request 또는 Release 답장이 있는 경우에는 단계(516)으로 이동하여 새로운 타겟 이웃을 찾고, Request 또는 Release 답장이 없는 경우에는 단계(502)로 이동하여 대기한다.
무선 애드혹 네트워크에서의 스케줄링 시스템은, 이웃노드탐색 단계(NEIGHBOR DISCOVERY PHASE) 후에, 스케줄링 단계(SCHEDULING PHASE)를 실시한다.
각 노드는 이웃노드탐색 단계 동안 1홉 이웃 노드 간 HELLO 패킷을 교환하며, HELLO 패킷에는 각 노드가 1홉 이웃노드 리스트가 담겨 있다. 즉, 1홉 노드 간 HELLO 패킷의 교환이 완료된 이후에, 각 노드들은 2홉 내 이웃 리스트를 수집하게 된다.
이웃노드탐색(ND) 단계가 끝나면 각 노드는 IDLE 단계로 진입한다.
타임슬롯(슬롯)의 상태는 크게 "free slot", "contending slot", "assigned slot"으로 구분할 수 있으며, free slot은 어떤 노드에게도 사용되고 있지 않은 상태, contending slot은 해당 슬롯의 점유를 위해 노드간 경합하는 상태, assigned slot은 특정 노드에게 할당된 상태를 의미한다.
노드 A는 현재 슬롯이 free 상태일 경우에만 슬롯의 시작지점에서 임의선정단계 (lottery)를 실행한다.
임의선정단계에서 당첨(win)될 경우, 해당 슬롯을 "contending slot"으로 설정하고, REQ의 PR 필드(1차 수신자)에 1홉 이웃노드 중 한 노드의 식별자 (ID) 정보를 입력하여 REQ 패킷을 발송한다.
또한, 노드 A가 1차 수신자로 지정된 노드로부터 CFM 패킷을 수신하면, 다음 1홉 이웃 노드를 PR로 지정하여 REQ 패킷 송신-CFM 수신과정을 반복한다.
이러한 반복 과정으로 통하여 노드 A가 모든 1홉 이웃노드로부터 현재 슬롯 사용에 대한 동의 (CFM 패킷 수신)을 받을 경우, RELEASE 단계로 진입하게 된다.
한편, 노드 A가 1홉 이웃노드로부터 한번이라도 RJT (Reject) 패킷을 수신할 경우, 해당 슬롯이 이웃의 contending slot이나 assigned slot이라는 것을 의미하므로 단계(502)로 복귀하여 대기한 후 스케줄링 과정을 다시 시작해야 한다.
RELEASE 단계에서는, 노드 A가 REQUEST 단계에서 사용했던 것과 같은 방법으로 RLS 패킷을 이웃들에게 보낸다.
이때 이웃들은 CFM(Confirm) 패킷으로만 응답하게 된다. 즉, 노드 A는 이미 REQUEST 단계 때에 CFM 패킷을 응답했기 때문에 해당 슬롯의 사용을 거절할 이유는 없으며, RLS 패킷에 대한 CFM 패킷은 응답 확인(acknowledgement) 수준으로 간주할 수 있다. RLS 패킷을 전송한 노드는 모든 이웃들에게 CFM 패킷을 받으면 슬롯 스케줄링 단계가 완료되었으므로, 다시 단계(502)로 되돌아가게 된다.
또한, 노드 A가 REQUEST 또는 RELEASE 단계 상태일 때, 스케줄링을 완료한 A의 1홉 이웃 노드 B가 존재할 경우, A는 해당 노드 B를 REQ 및 RLS 패킷의 SR(2차 수신자) 리스트에 넣어둔다. 이에 따라, 노드 A가 REQ 또는 RLS 패킷을 전송하면, 2차 수신자에 포함되어 있는 노드 B는 해당 슬롯에 바로 응답하는 것이 아니라, 노드 B에 할당된 슬롯(assigned slot)이 도래했을 때 CFM 또는 RJT로 응답하게 된다.
본 설계의 목적은 REQ 및 RLS 패킷의 2차 수신자인 노드 B에서 자신에게 할당된 슬롯을 사용하여 응답하도록 함으로써, 하나의 노드가 스케줄링을 완료하는 데에 필요한 프레임의 수를 최소화하여 실행시간 및 컨트롤 패킷을 줄이는데 있다.
따라서 종래 기술에 의하면 노드 A의 N개의 1홉 이웃노드 각각으로부터 REQ-CFM 패킷을 받는데 N회의 프레임이 필요하지만, 본 발명에 의하면, 노드 A의 N개의 1홉 이웃노드 중 M개의 이웃노드에서 슬롯을 할당받았다면, M개의 이웃노드에서 CFM 패킷을 보내기 위해 별도의 프레임이 필요하지 않으므로 N-M개의 프레임 만으로 스케줄링을 완료할 수 있게 된다.
이하, 도 6에서는 본 발명의 실시예들에 따른 무선 애드혹 네트워크에서의 스케줄링 시스템(100)의 작업 흐름을 상세히 설명한다.
도 6은 본 발명의 일실시예에 따른 무선 애드혹 네트워크에서의 스케줄링 방법의 순서를 도시한 흐름도이다.
본 실시예에 따른 무선 애드혹 네트워크에서의 스케줄링 방법은 상술한 무선 애드혹 네트워크에서의 스케줄링 시스템(100)에 의해 수행될 수 있다.
도 6을 참조하면, 단계(610)에서, 무선 애드혹 네트워크에서의 스케줄링 시스템(100)은 노드에 유일한 전송시간에 해당하는 타임슬롯(슬롯)을 임의로 선정한다(lottery).
단계(620)에서, 무선 애드혹 네트워크에서의 스케줄링 시스템(100)은 상기 노드에 상기 타임슬롯의 할당을 요청하는 REQ 패킷을 상기 노드의 각 이웃노드에 브로드캐스트 전송한다.
이때 REQ 패킷에는 상기 노드의 1홉 이웃노드에 기 할당된 슬롯 리스트가 포함되므로, 상기 REQ 패킷을 수신하는 각 이웃노드는 현재 시점까지 할당이 완료된 제1 타임슬롯을 미리 파악할 수 있다.
또한 상기 REQ 패킷을 수신한 각 이웃노드는, 상기 할당 요청에 동의하는 경우에는 CFM 패킷을, 또는 상기 할당 요청에 동의하지 않는 경우에는 RJT 패킷을 상기 노드를 포함하여, 자신의 이웃노드에 브로드캐스트 전송할 수 있다.
이때, CFM 패킷 또는 RJT 패킷에도 상기 노드의 1홉 이웃노드에 기 할당된 슬롯 리스트가 포함되기 때문에, 타임슬롯을 할당 요청하는 상기 노드로부터 최대 2홉 이내의 이웃노드에 현재 시점까지 할당이 완료된 슬롯을 알릴 수 있다.
이에 따라 이웃노드에서는 할당이 완료된 제1 타임슬롯에 대한 경쟁을 회피하는 스케줄링이 수행되어 스케줄링 실패를 줄일 수 있다.
단계(630)에서, 무선 애드혹 네트워크에서의 스케줄링 시스템(100)은 상기 REQ 패킷을 수신한 모든 이웃노드로부터, 상기 할당 요청에 동의하는 CFM 패킷이 수신되는지 확인한다.
단계(640)에서, 무선 애드혹 네트워크에서의 스케줄링 시스템(100)은 모든 이웃노드로부터 상기 CFM 패킷이 수신되면, 임의 선정(lottery)한 슬롯을, 상기 노드에 확정하여 할당한다.
단계(650, 660)에서, 무선 애드혹 네트워크에서의 스케줄링 시스템(100)은 새롭게 할당한 상기 슬롯에 대한 정보를 포함하는 RLS 패킷을 각 이웃노드에 브로드캐스트 전송하여, 스케줄링 완료를 알림한다.
이때 RLS 패킷에도 상기 노드의 1홉 이웃노드에 기 할당된 슬롯 리스트가 포함되므로, 상기 RLS 패킷을 수신하는 각 이웃노드에서는 상기 노드에 새롭게 할당된 슬롯 및 상기 노드의 1홉 이웃노드에 기 할당된 제1 타임슬롯을 상기 RLS 패킷을 통해 용이하게 파악할 수 있다.
상기 단계(630)에서 어느 하나의 이웃노드로부터 상기 CFM 패킷이 수신되지 않는 경우, 즉 어느 하나의 이웃노드로부터 RJT 패킷이 수신될 경우, 단계(670)에서, 무선 애드혹 네트워크에서의 스케줄링 시스템(100)은 상기 노드를 대기 상태로 되돌리고, 초기화 상태의 다른 슬롯을 임의로 선정하여, 스케줄링을 다시 시작한다.
이와 같이 본 발명에 의하면, 하나의 노드에 대한 스케줄링을, 각종 제어패킷의 브로드캐스트 전송에 의해, 주변 이웃노드와 병행해서 수행하여, 네트워크 전체적으로 스케줄링 성능을 효과적으로 개선할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
100: 스케줄링 시스템
110: 슬롯 선정부
120: 전송 처리부
130: 슬롯 할당부

Claims (15)

  1. 무선 애드혹 네트워크에서의 스케줄링 시스템에 의해 구현되는 무선 애드혹 네트워크에서의 스케줄링 방법에 있어서,
    무선 애드혹 네트워크에 대한 스케줄링 명령의 발생에 연동하여,
    상기 무선 애드혹 네트워크에서의 스케줄링 시스템 내 슬롯 선정부에서, 상기 무선 애드혹 네트워크를 구성하는 복수의 노드 중 어느 하나의 노드에 할당할 타임슬롯을, 기 할당되지 않은 타임슬롯 중에서 임의 선정하는 단계;
    상기 무선 애드혹 네트워크에서의 스케줄링 시스템 내 전송 처리부에서, 상기 임의 선정한 타임슬롯의 할당을 요청하는 REQ 패킷을, 상기 노드에 대한 이웃노드에 각각 전송하는 단계;
    상기 할당 요청에 동의하는 CFM 패킷이, 상기 REQ 패킷을 수신한 모든 이웃노드로부터 수신되면,
    상기 무선 애드혹 네트워크에서의 스케줄링 시스템 내 슬롯 할당부에서, 상기 임의 선정한 타임슬롯을, 상기 노드에 확정하여 할당하는 단계; 및
    상기 전송 처리부에서, 상기 확정하여 할당된 타임슬롯의 정보를 포함하여 생성되는 RLS 패킷을 상기 이웃노드에 각각 전송하여, 상기 타임슬롯의 할당 완료를 알리는 단계
    를 포함하고,
    상기 이웃노드에 각각 전송하는 단계는,
    상기 이웃노드 중 어느 하나를, 상기 REQ 패킷의 1차 수신자로 지정하는 단계;
    상기 이웃노드 중, 타임슬롯 할당에 따른 스케줄링이 완료된 1홉 이웃노드를, 상기 REQ 패킷의 2차 수신자로 지정하는 단계;
    상기 1차 수신자 및 상기 2차 수신자로 지정된 각 이웃노드에 상기 REQ 패킷을 브로드캐스트 전송하는 단계; 및
    상기 1차 수신자로부터 상기 CFM 패킷이 수신됨에 따라,
    상기 이웃노드 중 다른 하나를 상기 1차 수신자로 새롭게 지정하여, 상기 REQ 패킷의 브로드캐스트 전송을 반복하여 실시하는 단계
    를 포함하는 무선 애드혹 네트워크에서의 스케줄링 방법.
  2. 제1항에 있어서,
    상기 전송 처리부에서, 상기 REQ 패킷을, 기 할당된 제1 타임슬롯의 정보를 포함하도록 생성하여 상기 이웃노드에 각각 전송함으로써, 상기 타임슬롯의 할당을 요청하는 동시에, 상기 제1 타임슬롯의 할당 상태를 알리는 단계
    를 더 포함하는 무선 애드혹 네트워크에서의 스케줄링 방법.
  3. 제1항에 있어서,
    상기 전송 처리부에서, 상기 RLS 패킷을, 기 할당된 제1 타임슬롯의 정보를 더 포함하도록 생성하여 상기 이웃노드에 각각 전송함으로써, 상기 타임슬롯의 할당 완료를 알리는 동시에, 상기 제1 타임슬롯의 할당 상태를 더 알리는 단계
    를 더 포함하는 무선 애드혹 네트워크에서의 스케줄링 방법.
  4. 제1항에 있어서,
    상기 할당 요청을 거절하는 RJT 패킷이, 상기 REQ 패킷을 수신한 이웃노드 중 어느 하나로부터 수신될 경우,
    상기 슬롯 선정부에서, 상기 타임슬롯의 임의 선정을 취소하는 단계; 및
    상기 슬롯 선정부에서, 최대 이웃노드의 수를 고려하여 복수의 타임슬롯으로 분할된 프레임 내에서, 기 할당되지 않은 다른 타임슬롯을, 상기 노드에 할당할 타임슬롯으로서 임의 선정하는 단계
    를 더 포함하는 무선 애드혹 네트워크에서의 스케줄링 방법.
  5. 제1항에 있어서,
    상기 할당 요청에 동의하는 CFM 패킷 및 상기 할당 요청을 거절하는 RJT 패킷 중 적어도 하나의 제어패킷이 상기 이웃노드로부터 수신될 때마다,
    상기 전송 처리부에서, 상기 이웃노드로부터 수신된 제어패킷을, 상기 제어패킷을 송신한 이웃노드에 대한 1홉 이웃노드에 각각 전송하는 단계
    를 더 포함하는 무선 애드혹 네트워크에서의 스케줄링 방법.
  6. 삭제
  7. 삭제
  8. 무선 애드혹 네트워크에 대한 스케줄링 명령의 발생에 연동하여,
    상기 무선 애드혹 네트워크를 구성하는 복수의 노드 중 어느 하나의 노드에 할당할 타임슬롯을, 기 할당되지 않은 타임슬롯 중에서 임의 선정하는 슬롯 선정부;
    상기 임의 선정한 타임슬롯의 할당을 요청하는 REQ 패킷을, 상기 노드에 대한 이웃노드에 각각 전송하는 전송 처리부; 및
    상기 할당 요청에 동의하는 CFM 패킷이, 상기 REQ 패킷을 수신한 모든 이웃노드로부터 수신되면,
    상기 임의 선정한 타임슬롯을, 상기 노드에 확정하여 할당하고, 상기 전송 처리부에 의해, 상기 확정하여 할당된 타임슬롯의 정보를 포함하여 생성되는 RLS 패킷을 상기 이웃노드에 각각 전송하여 상기 타임슬롯의 할당 완료를 알리는 슬롯 할당부
    를 포함하고,
    상기 전송 처리부는,
    상기 이웃노드 중 어느 하나를, 상기 REQ 패킷의 1차 수신자로 지정하고,
    상기 이웃노드 중, 타임슬롯 할당에 따른 스케줄링이 완료된 1홉 이웃노드를, 상기 REQ 패킷의 2차 수신자로 지정하고,
    상기 1차 수신자 및 상기 2차 수신자로 지정된 각 이웃노드에 상기 REQ 패킷을 브로드캐스트 전송하고,
    상기 1차 수신자로부터 상기 CFM 패킷이 수신됨에 따라,
    상기 이웃노드 중 다른 하나를 상기 1차 수신자로 새롭게 지정하여, 상기 REQ 패킷의 브로드캐스트 전송을 반복하여 실시하는
    무선 애드혹 네트워크에서의 스케줄링 시스템.
  9. 제8항에 있어서,
    상기 전송 처리부는,
    상기 REQ 패킷을, 기 할당된 제1 타임슬롯의 정보를 포함하도록 생성하여 상기 이웃노드에 각각 전송함으로써, 상기 타임슬롯의 할당을 요청하는 동시에, 상기 제1 타임슬롯의 할당 상태를 알리는
    무선 애드혹 네트워크에서의 스케줄링 시스템.
  10. 제8항에 있어서,
    상기 전송 처리부는,
    상기 RLS 패킷을, 기 할당된 제1 타임슬롯의 정보를 더 포함하도록 생성하여 상기 이웃노드에 각각 전송함으로써, 상기 타임슬롯의 할당 완료를 알리는 동시에, 상기 제1 타임슬롯의 할당 상태를 더 알리는
    무선 애드혹 네트워크에서의 스케줄링 시스템.
  11. 제8항에 있어서,
    상기 할당 요청을 거절하는 RJT 패킷이, 상기 REQ 패킷을 수신한 이웃노드 중 어느 하나로부터 수신될 경우,
    상기 슬롯 선정부는,
    상기 타임슬롯의 임의 선정을 취소하고,
    최대 이웃노드의 수를 고려하여 복수의 타임슬롯으로 분할된 프레임 내에서, 기 할당되지 않은 다른 타임슬롯을, 상기 노드에 할당할 타임슬롯으로서 임의 선정하는
    무선 애드혹 네트워크에서의 스케줄링 시스템.
  12. 제8항에 있어서,
    상기 할당 요청에 동의하는 CFM 패킷 및 상기 할당 요청을 거절하는 RJT 패킷 중 적어도 하나의 제어패킷이 상기 이웃노드로부터 수신될 때마다,
    상기 전송 처리부는,
    상기 이웃노드로부터 수신된 제어패킷을, 상기 제어패킷을 송신한 이웃노드에 대한 1홉 이웃노드에 각각 전송하는
    무선 애드혹 네트워크에서의 스케줄링 시스템.
  13. 삭제
  14. 삭제
  15. 제1항 내지 제5항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
KR1020200014758A 2020-02-07 2020-02-07 무선 애드혹 네트워크에서의 스케줄링 방법 및 무선 애드혹 네트워크에서의 스케줄링 시스템 KR102212406B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200014758A KR102212406B1 (ko) 2020-02-07 2020-02-07 무선 애드혹 네트워크에서의 스케줄링 방법 및 무선 애드혹 네트워크에서의 스케줄링 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200014758A KR102212406B1 (ko) 2020-02-07 2020-02-07 무선 애드혹 네트워크에서의 스케줄링 방법 및 무선 애드혹 네트워크에서의 스케줄링 시스템

Publications (1)

Publication Number Publication Date
KR102212406B1 true KR102212406B1 (ko) 2021-02-04

Family

ID=74558648

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200014758A KR102212406B1 (ko) 2020-02-07 2020-02-07 무선 애드혹 네트워크에서의 스케줄링 방법 및 무선 애드혹 네트워크에서의 스케줄링 시스템

Country Status (1)

Country Link
KR (1) KR102212406B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140069652A (ko) * 2012-11-29 2014-06-10 아주대학교산학협력단 애드혹 네트워크의 시분할 다중접속 프레임 구조 및 이를 이용한 동적 시간 슬롯 할당 방법
KR20180058663A (ko) * 2018-02-06 2018-06-01 한국전자통신연구원 동기식 tdma 시스템에서 복수 채널을 이용한 서비스 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140069652A (ko) * 2012-11-29 2014-06-10 아주대학교산학협력단 애드혹 네트워크의 시분할 다중접속 프레임 구조 및 이를 이용한 동적 시간 슬롯 할당 방법
KR20180058663A (ko) * 2018-02-06 2018-06-01 한국전자통신연구원 동기식 tdma 시스템에서 복수 채널을 이용한 서비스 방법

Similar Documents

Publication Publication Date Title
US11638252B2 (en) Fast wireless local area network communication method and apparatus using multiple transfer rate partitioning and cooperative transmission
US20090207769A1 (en) Method and apparatus for scheduling timing for communication between sensor nodes in wireless sensor network
JP4959842B2 (ja) 複数のノードを含む無線ネットワークにおいて通信するための方法
US8711830B2 (en) Method for media access controlling and system and method for channel time reservation in distributed wireless personal area network
US7948930B2 (en) Network protocol
US8068454B2 (en) System for enabling mobile coverage extension and peer-to-peer communications in an ad hoc network and method of operation therefor
US8130731B2 (en) Method, network nodes and system for broadcast transmission of data
US8050196B2 (en) Method and apparatus for controlling packet transmissions within wireless networks to enhance network formation
US20100034159A1 (en) Sensor network medium access control (mac) system for multihop communication
KR20100053428A (ko) 무선 애드-혹 네트워크에서 분산채널호핑방법
US8885631B2 (en) Multiuser detection enabled medium access control in mobile ad hoc networks
WO2002039668A2 (en) Method and apparatus for adaptive bandwidth reservation in wireless ad-hoc networks
CN110519845B (zh) 基于时隙辅助分配和使用的无人机自组网多跳tdma接入方法
KR100970386B1 (ko) 무선 센서 네트워크에서의 센서 노드 간의 타이밍 스케줄링방법 및 장치
KR101303649B1 (ko) 분산 매체접근제어 기반의 멀티-홉 통신 방법
Jawhar et al. Resource scheduling in wireless networks using directional antennas
Kamruzzaman et al. Dynamic TDMA slot reservation protocol for cognitive radio ad hoc networks
ES2264473T3 (es) Sistema y metodo para planificar transmisiones, utilizando informaciones de pertenencia a una red y de proximidad.
KR102212406B1 (ko) 무선 애드혹 네트워크에서의 스케줄링 방법 및 무선 애드혹 네트워크에서의 스케줄링 시스템
KR101032604B1 (ko) 분산된 TDMA Ad-hoc 네트워크에서 데이터 슬롯 예약 방법
KR20110068405A (ko) 무선 센서 네트워크에서의 매체 접근 제어 방법 및 이를 위한 통신 장치
Minet et al. Node coloring in a wireless sensor network with unidirectional links and topology changes
US7397810B1 (en) Artery nodes
KR100568976B1 (ko) 임시 네트워크에서의 비콘 프레임 전송 방법
Garcia-Luna-Aceves et al. Nomad: Deterministic collision-free channel access with channel reuse in wireless networks

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant