KR102211845B1 - Apparatus and method for performing scheduling in ad hoc networks - Google Patents

Apparatus and method for performing scheduling in ad hoc networks Download PDF

Info

Publication number
KR102211845B1
KR102211845B1 KR1020190109416A KR20190109416A KR102211845B1 KR 102211845 B1 KR102211845 B1 KR 102211845B1 KR 1020190109416 A KR1020190109416 A KR 1020190109416A KR 20190109416 A KR20190109416 A KR 20190109416A KR 102211845 B1 KR102211845 B1 KR 102211845B1
Authority
KR
South Korea
Prior art keywords
node
priority
nodes
slot
message
Prior art date
Application number
KR1020190109416A
Other languages
Korean (ko)
Inventor
탄 텅 느규엔
김태준
김태홍
이재생
함재현
한명훈
박주만
Original Assignee
국방과학연구소
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 국방과학연구소 filed Critical 국방과학연구소
Priority to KR1020190109416A priority Critical patent/KR102211845B1/en
Application granted granted Critical
Publication of KR102211845B1 publication Critical patent/KR102211845B1/en

Links

Images

Classifications

    • H04W72/1247
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/56Allocation or scheduling criteria for wireless resources based on priority criteria
    • H04W72/566Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access
    • H04W74/04Scheduled access
    • 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

According to the present invention, provided are an apparatus for performing scheduling in a wireless ad hoc network and a method thereof. According to the present invention, each node can exchange messages with 1-hop adjacent nodes, and determine the priority of each node based on the number of 2-hop adjacent nodes and random values included in the messages. Moreover, each node can allocate a slot for each node in accordance with the priority, and schedule each node based on the slot corresponding to each node. Therefore, the present invention is capable of reducing wasted time caused by a collision during a slot scheduling procedure.

Description

무선 애드혹 네트워크에서 스케줄링을 수행하는 장치 및 방법{APPARATUS AND METHOD FOR PERFORMING SCHEDULING IN AD HOC NETWORKS}An apparatus and method for performing scheduling in a wireless ad-hoc network {APPARATUS AND METHOD FOR PERFORMING SCHEDULING IN AD HOC NETWORKS}

본 개시는 무선 애드혹 네트워크에서 스케줄링을 수행하는 장치 및 방법을 제공한다.The present disclosure provides an apparatus and method for performing scheduling in a wireless ad hoc network.

무선 애드혹 네트워크에서는 time division multiple access (TDMA) 방식과 carrier sensing multiple access (CSMA) 방식들이 주로 송수신에 이용된다. 그 중에서 CSMA 방식은 구현이 단순한 반면 주변 노드들이 동시에 전송할 가능성이 높아 상호충돌이 발생함은 물론 신뢰성 있는 전송 기능을 제공하기 어렵다. 이와 반대로 TDMA 방식은 미리 설정한 슬롯 스케쥴링을 통하여 노드 간 충돌을 방지하고 종단간 신뢰성 있는 패킷 전송을 지원한다. 그러나 TDMA 방식을 활용하기 위해서는 최소 2-홉 내 각 노드에 유일한 전송시간(슬롯)을 결정하는 슬롯 스케쥴링 알고리즘이 필수적으로 요구된다.In wireless ad-hoc networks, time division multiple access (TDMA) and carrier sensing multiple access (CSMA) are mainly used for transmission and reception. Among them, the CSMA method is simple to implement, but it is difficult to provide a reliable transmission function as well as mutual conflict due to the high possibility of simultaneous transmission of neighboring nodes. Conversely, the TDMA scheme prevents collisions between nodes through preset slot scheduling and supports end-to-end reliable packet transmission. However, in order to utilize the TDMA scheme, a slot scheduling algorithm that determines a unique transmission time (slot) for each node within at least 2-hops is required.

현재까지 무선 애드혹 네트워크 분야에서 많은 TDMA 스케쥴링 알고리즘이 제안되었으며, 그 중 가장 널리 활용되고 참고되는 프로토콜이 바로 DRAND 알고리즘이다. DRAND에서 각 노드는 ROUND마다 임의 선정 단계 (lottery)를 실행하고 이에 선정되면 REQUEST 메시지를 브로드캐스트한다. 이 때, REQUEST 메시지를 수신한 모든 1-홉 이웃들은 이에 대한 응답으로 GRANT 메시지로 답장하며, 요청 노드는 다시 수신한 GRANT 메시지의 현재 사용 중인 타임 슬롯 정보를 바탕으로 자신이 사용할 타임 슬롯을 선정한다. 또한, 자신이 설정한 슬롯 정보를 RELEASE 메시지에 담아 1-홉 이웃 노드들에게 브로드캐스트함으로써, 자신이 사용할 슬롯을 주변의 2-홉 노드들이 중복선정하는 것을 방지한다. 만약, 둘 이상의 노드로부터 REQUEST 메시지를 수신할 경우, 각 노드는 GRANT 메시지 대신 REJECT 메시지를 전송함으로써 둘 이상의 노드가 동시에 슬롯을 선정하는 과정을 방지하게 되는데, 이 때, REQUEST를 요청한 노드는 하나 이상의 노드로부터 REJECT 메시지를 수신할 경우 자신의 슬롯 스케쥴링이 실패했다는 FAIL 메시지를 다시 브로드캐스트하게 된다. To date, many TDMA scheduling algorithms have been proposed in the field of wireless ad-hoc networks, and the most widely used and referenced protocol among them is the DRAND algorithm. In DRAND, each node executes a random selection step (lottery) for each ROUND, and broadcasts a REQUEST message when it is selected. At this time, all 1-hop neighbors that have received the REQUEST message reply with a GRANT message in response, and the requesting node selects a time slot to be used by itself based on the currently in use time slot information of the received GRANT message. . In addition, by broadcasting the slot information set by itself in the RELEASE message to 1-hop neighbor nodes, it prevents the adjacent 2-hop nodes from repeatedly selecting the slot to be used by themselves. If a request message is received from two or more nodes, each node sends a REJECT message instead of a GRANT message to prevent the process of selecting a slot by two or more nodes at the same time.At this time, the node requesting the request is one or more When a REJECT message is received from, a FAIL message indicating that its slot scheduling has failed is broadcast again.

즉, DRAND는 단순한 알고리즘을 통하여 슬롯 스케쥴링을 제공할 수 있다는 장점을 가진 반면, 슬롯 스케쥴링 과정에서 임의로 스케쥴링 순서를 결정함으로써 스케쥴링 노드간 충돌이 발생하게 되며, 이에 따라 전체 네트워크의 슬롯 스케쥴링 완료시간이 길어짐은 물론 수많은 제어 메시지 전송을 초래하게 된다. 뿐만 아니라, 각 노드 관점에서는 슬롯 스케쥴링 완료까지 많은 재시도 과정 및 에너지 소비가 발생하게 된다. In other words, while DRAND has the advantage of providing slot scheduling through a simple algorithm, collisions between scheduling nodes occur by arbitrarily determining the scheduling order in the slot scheduling process, thereby increasing the slot scheduling completion time of the entire network. Of course, it results in the transmission of numerous control messages. In addition, from the point of view of each node, a lot of retry processes and energy consumption occur until slot scheduling is completed.

이에 따라 상기와 같은 TDMA 슬롯 스케쥴링의 문제점을 해결하기 위한 기술이 요구되는 실정이다.Accordingly, there is a need for a technique for solving the problem of TDMA slot scheduling as described above.

한국 등록 특허: KR 10-1174125 B1 (등록일: 2012.08.14)Korean Patent Registration: KR 10-1174125 B1 (Registration Date: 2012.08.14)

무선 애드혹 네트워크에서 스케줄링을 수행하는 장치 및 방법을 제공하는데 있다. 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.It is to provide an apparatus and method for performing scheduling in a wireless ad hoc network. The technical problem to be achieved by this embodiment is not limited to the technical problems as described above, and other technical problems may be inferred from the following embodiments.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 무선 애드혹 네트워크에서 스케줄링을 수행하는 방법에 있어서, 각 노드들이 1-홉 이웃노드들과 메시지를 교환하는 단계; 상기 메시지에 포함된 2-홉 이웃노드 수 및 랜덤 값에 기초하여 상기 각 노드들의 우선순위를 결정하는 단계; 상기 우선순위에 따라 상기 각 노드들에 대한 슬롯을 할당하는 단계; 및 상기 각 노드들에 대응되는 상기 슬롯에 기초하여 상기 각 노드들을 스케줄링하는 단계;를 포함하는, 방법을 제공할 수 있다. As a technical means for achieving the above-described technical problem, a first aspect of the present disclosure provides a method for performing scheduling in a wireless ad-hoc network, the method comprising: exchanging messages with 1-hop neighbor nodes; Determining a priority of each of the nodes based on the number of 2-hop neighbor nodes and a random value included in the message; Allocating slots for each of the nodes according to the priority; And scheduling each of the nodes based on the slots corresponding to the respective nodes.

또한, 상기 2-홉 이웃노드 수가 많은 노드일수록 높은 우선순위를 갖도록 결정하는 단계;를 포함하는 방법을 제공할 수 있다. In addition, it is possible to provide a method including the step of determining to have a higher priority as the number of the two-hop neighbor nodes increases.

또한, 상기 2-홉 이웃노드 수가 동일할 경우 상기 랜덤 값이 높은 노드일수록 높은 우선순위를 갖도록 결정하는 단계를 포함하는 방법을 제공할 수 있다. In addition, when the number of 2-hop neighbor nodes is the same, a method including determining that a node having a higher random value has a higher priority may be provided.

또한, 상기 우선순위에 기초하여 토폴로지 순서 정보 테이블을 생성하는 단계;를 포함하는 방법을 제공할 수 있다. In addition, a method comprising: generating a topology order information table based on the priority may be provided.

또한, 상기 우선순위가 높은 노드에 대해 작은 슬롯을 할당하는 단계;를 포함하는 방법을 제공할 수 있다. In addition, it is possible to provide a method including a step of allocating a small slot to the node having a high priority.

또한, 상기 각 노드들에 대응되는 상기 슬롯에 기초하여 슬롯 인지 테이블을 업데이트하는 단계;를 더 포함하는, 방법을 제공할 수 있다.In addition, it is possible to provide a method further comprising: updating a slot recognition table based on the slots corresponding to the respective nodes.

또한, 상기 메시지는 1-홉 이웃노드 리스트를 더 포함하는 것인, 방법을 제공할 수 있다.In addition, the message may further include a 1-hop neighbor node list.

본 개시의 제2 측면은, 무선 애드혹 네트워크에서 스케줄링을 수행하는 노드 장치에 있어서, 1-홉 이웃노드들과 메시지를 교환하는 통신부; 및 제어부;를 포함하고, 상기 제어부는, 상기 메시지에 포함된 2-홉 이웃노드 수 및 랜덤 값에 기초하여 각 노드들의 우선순위를 결정하고, 상기 우선순위에 따라 상기 각 노드들에 대한 슬롯을 할당하며, 상기 각 노드들에 대응되는 상기 슬롯에 기초하여 상기 각 노드들을 스케줄링하 것인, 장치를 제공할 수 있다.A second aspect of the present disclosure is a node device that performs scheduling in a wireless ad-hoc network, comprising: a communication unit for exchanging messages with 1-hop neighbor nodes; And a control unit; wherein the control unit determines a priority of each node based on the number of 2-hop neighbor nodes and a random value included in the message, and selects a slot for each node according to the priority. It is possible to provide an apparatus that allocates and schedules each of the nodes based on the slots corresponding to the respective nodes.

본 개시의 제3 측면은, 상기 제1 측면에 따른 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.A third aspect of the present disclosure may provide a computer-readable recording medium storing a program for executing the method according to the first aspect on a computer.

본 발명에 따르면, 토폴로지 순서에 따라 슬롯 스케줄링 순서를 결정함으로써, 슬롯 스케줄링 과정에서 노드 간 충돌을 방지할 수 있다. 이에 따라, 네트워크 전체의 슬롯 스케줄링 완료시간을 줄일 수 있을 뿐만 아니라 슬롯 스케줄링 과정에서의 충돌로 인한 시간 낭비 및 제어 메시지 소모를 줄일 수 있다.According to the present invention, by determining the slot scheduling order according to the topology order, it is possible to prevent collision between nodes in the slot scheduling process. Accordingly, it is possible not only to reduce the slot scheduling completion time of the entire network, but also to reduce time waste and control message consumption due to collision in the slot scheduling process.

도 1은 일 실시예에 따른 토폴로지 순서 정보 테이블의 예를 보여주는 도면이다.
도 2는 일 실시예에 따른 슬롯 인지 테이블의 예를 보여주는 도면이다.
도 3은 일 실시예에 따른 무선 애드혹 네트워크에서 스케줄링을 수행하는 과정을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 무선 애드혹 네트워크에서 스케줄링을 수행하는 예시를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 무선 애드혹 네트워크에서 스케줄링을 수행하는 방법에 대한 흐름도이다.
도 6은 일 실시예에 따른 노드 장치의 하드웨어 구성을 도시한 블록도이다.
1 is a diagram illustrating an example of a topology order information table according to an embodiment.
2 is a diagram illustrating an example of a slot recognition table according to an embodiment.
3 is a diagram illustrating a process of performing scheduling in a wireless ad-hoc network according to an embodiment.
4 is a diagram for describing an example of performing scheduling in a wireless ad-hoc network according to an embodiment.
5 is a flowchart illustrating a method of performing scheduling in a wireless ad hoc network according to an embodiment.
6 is a block diagram showing a hardware configuration of a node device according to an embodiment.

본 명세서에서 다양한 곳에 등장하는 "일부 실시예에서" 또는 "일 실시예에서" 등의 어구는 반드시 모두 동일한 실시예를 가리키는 것은 아니다.Phrases such as "in some embodiments" or "in one embodiment" appearing in various places in this specification are not necessarily all referring to the same embodiment.

본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단” 및 “구성”등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 또한, 명세서에 기재된 "...부", "...모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.Some embodiments of the present disclosure may be represented by functional block configurations and various processing steps. Some or all of these functional blocks may be implemented with various numbers of hardware and/or software components that perform specific functions. For example, the functional blocks of the present disclosure may be implemented by one or more microprocessors, or may be implemented by circuit configurations for a predetermined function. In addition, for example, the functional blocks of the present disclosure may be implemented in various programming or scripting languages. The functional blocks may be implemented as an algorithm executed on one or more processors. In addition, the present disclosure may employ conventional techniques for electronic environment setting, signal processing, and/or data processing. Terms such as “mechanism”, “element”, “means” and “composition” can be used widely, and are not limited to mechanical and physical configurations. In addition, terms such as "... unit" and "... module" described in the specification mean a unit that processes at least one function or operation, which is implemented as hardware or software, or as a combination of hardware and software. Can be.

또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.In addition, the connecting lines or connecting members between the components illustrated in the drawings are merely illustrative of functional connections and/or physical or circuit connections. In an actual device, connections between components may be represented by various functional connections, physical connections, or circuit connections that can be replaced or added.

이하에서는 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

도 1은 일 실시예에 따른 토폴로지 순서 정보 테이블의 예를 보여주는 도면이다.1 is a diagram illustrating an example of a topology order information table according to an embodiment.

도 1을 참조하면, 토폴로지 순서 정보 테이블(100)에는 복수의 노드들(A 내지 E) 각각에 대응되는 2-홉 이웃노드 수 및 랜덤 값이 저장된다.Referring to FIG. 1, the topology order information table 100 stores the number of 2-hop neighbor nodes and random values corresponding to each of the plurality of nodes A to E.

각 노드는 이웃노드 탐색 단계(Neighboring Discovery Phase, NDP) 동안 1-홉 이웃노드 간 메시지(예를 들어, HELLO 메시지)를 교환할 수 있다. HELLO 메시지에는 각 노드가 임의로 선정한 랜덤 값, 1-홉 이웃노드 리스트, 2-홉 이웃노드 수에 관한 정보가 포함될 수 있다. Each node may exchange messages (eg, HELLO messages) between 1-hop neighbor nodes during the Neighboring Discovery Phase (NDP). The HELLO message may include a random value randomly selected by each node, a 1-hop neighbor node list, and information on the number of 2-hop neighbor nodes.

즉, 1-홉 노드간 HELLO 메시지의 교환이 완료된 이후에, 각 노드들은 자신을 포함한 1-홉 이웃노드들의 토폴로지 순서 정보(2-홉 이웃노드 수, 랜덤값 정보)를 수집할 수 있다. 이에 따라 1-홉 이웃노드들 중에 2-홉 이웃노드 수를 많이 가질수록 높은 우선순위를 갖게 된다. 또한, 높은 우선순위를 갖는 노드는 작은 슬롯을 할당 받고, 우선적으로 스케줄링을 수행하게 된다. That is, after exchange of HELLO messages between 1-hop nodes is completed, each node may collect topology order information (number of 2-hop neighbor nodes, random value information) of 1-hop neighbor nodes including itself. Accordingly, the more the number of 2-hop neighbor nodes among 1-hop neighbor nodes, the higher priority is obtained. In addition, a node with a high priority is allocated a small slot and performs scheduling with priority.

한편, 복수의 노드들 간 2-홉 이웃노드의 수가 동일할 경우, 더 높은 랜덤 값을 갖는 노드가 먼저 스케줄링을 수행하게 된다. 즉, 1-홉 이웃노드들의 토폴로지 순서 정보(2-홉 이웃 노드 수, 랜덤값)에 기초하여 노드 간 중복 없이 스케줄링 순서를 결정할 수 있으며, 토폴로지 순서 정보는 토폴로지 순서 정보 테이블(100)에 저장된다.On the other hand, when the number of 2-hop neighbor nodes between a plurality of nodes is the same, a node having a higher random value performs scheduling first. That is, the scheduling order can be determined without duplication between nodes based on topology order information (the number of 2-hop neighbor nodes, random values) of 1-hop neighbor nodes, and the topology order information is stored in the topology order information table 100. .

도 2는 일 실시예에 따른 슬롯 인지 테이블의 예를 보여주는 도면이다.2 is a diagram illustrating an example of a slot recognition table according to an embodiment.

도 2를 참조하면, 노드 A에 대한 슬롯 인지 테이블(200)이 도시된다. 슬롯 인지 테이블(200)은 SA(u, v)로 나타낼 수 있다.Referring to FIG. 2, a slot recognition table 200 for node A is shown. The slot recognition table 200 may be represented by S A (u, v).

SA(u, v)는 노드 A의 입장에서 1-홉 이웃노드들 u가 주변 이웃노드 v의 슬롯 정보를 인지하고 있는지 관리하는 테이블이다. S A (u, v) is a table that manages whether 1-hop neighbor nodes u are aware of slot information of neighboring neighbor nodes v from the viewpoint of node A.

SA(u, v) = a (a > 0)란, 노드 u에서 노드 v가 선택한 슬롯이 a라는 것을 알고 있다는 사실이 노드 A에 대한 슬롯 인지 테이블(200)에 기록되었다는 것을 의미한다. S A (u, v) = a (a> 0) means that the fact that node u knows that the slot selected by node v is a is recorded in the slot recognition table 200 for node A.

예를 들어서, 노드 A가 RELEASE 메시지를 보내고 1-홉 이웃노드 C가 이에 대하여 답장으로 확인할 경우, SA(C, A)를 1로 변경한다. 이는 노드 C에서 노드 A가 슬롯 1을 사용할 것이라는 점을 인지했다는 것을 다시 노드 A가 확인했다는 것을 의미한다. For example, if node A sends a RELEASE message and 1-hop neighbor C confirms it as a reply, S A (C, A) is changed to 1. This means that node A has again confirmed that node C has recognized that node A will use slot 1.

또 다른 예로, 노드 A가 노드 D에게, 노드 C가 슬롯 2를 사용할 것이라는 정보를 담고 있는 메시지를 보내고, 노드 A에서 노드 D로부터 답장을 받을 경우, SA(D, C)를 2로 변경한다.As another example, when node A sends a message containing information that node C will use slot 2 to node D, and node A receives a reply from node D, it changes S A (D, C) to 2 .

도 3은 일 실시예에 따른 무선 애드혹 네트워크에서 스케줄링을 수행하는 과정을 설명하기 위한 도면이다.3 is a diagram illustrating a process of performing scheduling in a wireless ad-hoc network according to an embodiment.

도 3을 참조하면, 단계 310에서 노드 장치는 이웃노드 탐색 및 각 노드들의 우선순위를 결정할 수 있다. 노드 장치는 이웃노드 탐색 단계 동안 1-홉 이웃노드 간 메시지를 교환할 수 있다. 또한, 노드 장치는 자신을 포함한 1-홉 이웃노드들의 토폴로지 순서 정보(2-홉 이웃노드 수, 랜덤 값 정보)에 기초하여 각 노드들의 우선순위를 결정할 수 있다.Referring to FIG. 3, in step 310, the node device may search for a neighbor node and determine the priority of each node. The node device may exchange messages between 1-hop neighbor nodes during the neighbor discovery phase. Also, the node device may determine the priority of each node based on topology order information (number of 2-hop neighbor nodes, random value information) of 1-hop neighbor nodes including itself.

일 실시예에서 노드 장치는 메시지에 포함된 2-홉 이웃노드 수 및 랜덤 값에 기초하여 각 노드들의 우선순위를 결정할 수 있다. 구체적으로, 노드 장치는 2-홉 이웃노드 수가 많은 노드일수록 높은 우선순위를 갖도록 결정하고, 2-홉 이웃노드 수가 동일할 경우 랜덤 값이 높은 노드일수록 높은 우선순위를 갖도록 결정할 수 있다.In an embodiment, the node device may determine the priority of each node based on the number of 2-hop neighbor nodes and a random value included in the message. Specifically, the node device may determine that nodes having a large number of 2-hop neighbor nodes have a higher priority, and when the number of 2-hop neighbor nodes is the same, nodes having a higher random value may have higher priority.

노드 장치는 결정된 우선순위에 기초하여 토폴로지 순서 정보 테이블을 생성할 수 있다. 예를 들어, 노드 장치는 도 1에 도시된 토폴로지 순서 정보 테이블(100)을 생성할 수 있다.The node device may generate a topology order information table based on the determined priority. For example, the node device may generate the topology order information table 100 shown in FIG. 1.

단계 320에서 노드 장치는 각 노드들을 스케줄링하기 위해, 토폴로지 순서 정보 테이블을 탐색함으로써 자신의 우선순위를 확인할 수 있다. 노드 장치는 자신이 2-홉 이웃노드들 중에 가장 높은 우선순위를 가질 경우 단계 330으로 진행한다.In step 320, the node device may check its own priority by searching the topology order information table in order to schedule each node. The node device proceeds to step 330 when it has the highest priority among 2-hop neighbor nodes.

단계 330에서 노드 장치는 슬롯을 할당할 수 있다. 구체적으로, 노드 장치는 2-홉 이웃노드들이 아직 사용하지 않는 슬롯들 중에 가장 작은 슬롯을 선택할 수 있다. In step 330, the node device may allocate a slot. Specifically, the node device may select the smallest slot among slots not yet used by 2-hop neighbor nodes.

단계 340에서 노드 장치는 1-홉 이웃노드들에게 Release 메시지 전송할 수 있다. 노드 장치는 1-홉 이웃노드들에게 Release 메시지를 전송함으로써, 1-홉 이웃들에게 자신이 사용할 슬롯 정보를 알릴 수 있다. In step 340, the node device may transmit a Release message to 1-hop neighbor nodes. The node device may notify 1-hop neighbors of slot information to be used by sending a Release message to 1-hop neighbor nodes.

예를 들어, RELEASE 메시지에는 아래의 표 1에 기재된 정보가 포함될 수 있다.For example, the RELEASE message may include the information shown in Table 1 below.

헤드head 종류Kinds 수신자receiver 송신자Sender 선택한 슬롯Selected slot RELEASE 메시지
수신확인
이웃노드 수
RELEASE message
Acknowledgment
Number of neighbor nodes
이웃1Neighbor 1 ...... 이웃nNeighbor n 슬롯 스케줄링 완료 이웃노드 수Neighbors that have completed slot scheduling 이웃1Neighbor 1 슬롯slot ...... 이웃nNeighbor n 슬롯slot 검사 비트Check bit
2
바이트
2
byte
1
바이트
One
byte
1
바이트
One
byte
1
바이트
One
byte
1
바이트
One
byte
1
바이트
One
byte
1
바이트
One
byte
...... 1
바이트
One
byte
1
바이트
One
byte
1
바이트
One
byte
1
바이트
One
byte
...... 1
바이트
One
byte
1
바이트
One
byte
2
바이트
2
byte

표 1을 참조하면, RELEASE 메시지에는 'RELEASE 메시지 수신확인 이웃노드 리스트'와 '슬롯 스케줄링 완료 이웃노드 리스트' 정보가 포함될 수 있다.Referring to Table 1, the RELEASE message may include information on a'RELEASE message acknowledgment neighbor node list' and a'slot scheduling completed neighbor node list' information.

노드 장치는 1-홉 이웃노드들에게 Release 메시지 전송한 후 단계 350으로 진행한다.The node device proceeds to step 350 after transmitting a Release message to the 1-hop neighbor nodes.

단계 360에서 1-홉 이웃노드들은 RELEASE 메시지 수신 여부를 결정할 수 있다. 메시지를 수신한 경우 단계 370으로 진행한다. 메시지를 수신하지 않은 경우 단계 350으로 진행한다.In step 360, 1-hop neighbor nodes may determine whether to receive the RELEASE message. If the message is received, the process proceeds to step 370. If the message is not received, the process proceeds to step 350.

단계 370에서 RELEASE 메시지를 수신한 1-홉 이웃노드들은, RELEASE 패킷 내의 슬롯 정보를 자신의 슬롯 인지 테이블에 저장할 수 있다. 또한, RELEASE 메시지를 수신한 1-홉 이웃노드들은 자신의 토폴로지 순서 정보 테이블을 업데이트한 후, 자신이 가장 높은 순위를 갖는 노드인지 확인할 수 있다. 즉, 스케줄링이 완료된 노드는 토폴로지 순서 정보 테이블에서 제거되며, 다음 순위의 노드가 가장 높은 순위로 변경된다. The 1-hop neighbor nodes that have received the RELEASE message in step 370 may store slot information in the RELEASE packet in their own slot recognition table. Also, 1-hop neighbor nodes that have received the RELEASE message can check whether they are the nodes with the highest priority after updating their topology order information table. That is, the node on which the scheduling is completed is removed from the topology order information table, and the node with the next priority is changed to the highest priority.

RELEASE 메시지를 수신한 1-홉 이웃노드들 중 가장 높은 순위를 가지는 노드는 상술한 과정을 반복한다. RELEASE 메시지를 수신한 1-홉 이웃노드들 중 가장 높은 순위를 갖지 않는 노드일 경우 RELEASE-CONFIRMATION 메시지를 보낼지, 또는 FORWARD 메시지를 보낼지 결정할 수 있다.The node having the highest priority among 1-hop neighbor nodes that received the RELEASE message repeats the above-described process. If the node does not have the highest priority among 1-hop neighbor nodes that have received the RELEASE message, it is possible to determine whether to send the RELEASE-CONFIRMATION message or the FORWARD message.

RELEASE-CONFIRMATION 메시지에는 아래의 표 2에 기재된 정보가 포함될 수 있다.The RELEASE-CONFIRMATION message may include the information shown in Table 2 below.

헤드head 종류Kinds 수신자receiver 송신자Sender 수신 확인Confirm receipt 검사 비트Check bit 2바이트2 bytes 1
바이트
One
byte
1
바이트
One
byte
1
바이트
One
byte
1
바이트
One
byte
2
바이트
2
byte

FORWARD 메시지에는 아래의 표 3에 기재된 정보가 포함될 수 있다. The FORWARD message may include the information shown in Table 3 below.

헤드head 종류Kinds FORWARD 메시지
수신자
FORWARD message
receiver
RELEASE-
CONFIRMATION 메시지 수신자
RELEASE-
CONFIRMATION message recipient
송신자Sender 선택한 슬롯Selected slot 스케줄링 완료된 1-홉 이웃노드 수Number of 1-hop neighbor nodes that have been scheduled 이웃1Neighbor 1 슬롯slot ...... 이웃nNeighbor n 슬롯slot 검사 비트Check bit
2
바이트
2
byte
1
바이트
One
byte
1
바이트
One
byte
1
바이트
One
byte
1
바이트
One
byte
1
바이트
One
byte
1
바이트
One
byte
1
바이트
One
byte
1
바이트
One
byte
...... 1
바이트
One
byte
1
바이트
One
byte
2
바이트
2
byte

표 3에 기재된 바와 같이 FORWARD 메시지는 RELEASE-CONFIRMATION 메시지의 역할을 함께 하기 때문에, FORWARD 메시지는 FORWARD 메시지의 수신자 및 RELEASE-CONFIRMATION 메시지의 수신자 정보를 모두 포함할 수 있다. As shown in Table 3, since the FORWARD message plays the role of the RELEASE-CONFIRMATION message, the FORWARD message may include both the recipient information of the FORWARD message and the recipient information of the RELEASE-CONFIRMATION message.

한편, 상술한 바와 같이 단계 320에서 노드 장치는 각 노드들을 스케줄링하기 위해, 토폴로지 순서 정보 테이블을 탐색함으로써 자신의 우선순위를 확인할 수 있다. 노드 장치는 자신이 2-홉 이웃노드들 중에 가장 높은 우선순위를 갖지 않고, 또한 우선순위를 확인하기 전에 메시지를 수신한 경우 단계 350으로 진행한다.Meanwhile, as described above, in step 320, the node device may check its own priority by searching the topology order information table in order to schedule each node. If the node device does not have the highest priority among the two-hop neighbor nodes and receives a message before checking the priority, the node device proceeds to step 350.

일 실시예에서 RELEASE 메시지를 받은 노드 A가 자신이 메시지를 보냈던 노드 B의 R 리스트에 있는지 확인할 수 있다. 노드 B의 리스트에 노드 A 자신이 없을 경우, 노드 A RELEASE-CONFIRMATION 메시지를 전송할 수 있다. In an embodiment, it is possible to check whether the node A receiving the RELEASE message is in the R list of the node B to which it sent the message. If node A does not exist in the node B's list, the node A RELEASE-CONFIRMATION message can be transmitted.

또한 더 높은 순위를 가지고 있는 1-홉 이웃노드의 FORWARD 대상인 노드 C가 존재하는 경우, 노드 A는 자신이 노드 C의 1-홉 이웃노드 중에 가장 작은 수의 이웃노드 수를 갖는지 확인한다. 노드 C와 노드 B의 공통된 이웃노드들이 많이 있는 경우, 공통된 이웃노드들 전부가 노드 C에게 FORWARD 메시지를 전송하면 자원이 낭비된다. 자원 낭비를 방지하기 위해 공통된 이웃노드들 중에 하나만 FORWARD 메시지를 보낸다.In addition, when Node C, which is a FORWARD target of a 1-hop neighbor node having a higher priority, exists, Node A checks whether it has the smallest number of neighbor nodes among 1-hop neighbor nodes of Node C. When there are many common neighbor nodes of node C and node B, resources are wasted if all of the common neighbor nodes transmit FORWARD message to node C. To prevent resource waste, only one of the common neighbor nodes sends a FORWARD message.

노드 A가 노드 C의 1-홉 이웃노드들 중에 가장 작은 수의 이웃노드 수를 갖는 경우, 추가적으로 아래의 수학식 1을 만족하는지 여부를 확인한다.When node A has the smallest number of neighbor nodes among the 1-hop neighbor nodes of node C, it is additionally checked whether or not Equation 1 below is satisfied.

Figure 112019091072306-pat00001
Figure 112019091072306-pat00001

Figure 112019091072306-pat00002
Figure 112019091072306-pat00002

상기 수학식 1의 조건이 만족되는 경우, 노드 A는 노드 C가 모르는 이웃노드들의 슬롯 정보를 가지고 있다는 것을 의미한다.When the condition of Equation 1 is satisfied, it means that node A has slot information of neighboring nodes that node C does not know.

노드 A가 노드 C의 1-홉 이웃노드들 중에 가장 작은 수의 이웃노드 수를 갖고, 또한 상기 수학식 1의 조건이 만족되는 경우, 노드 A는 노드 C에게 FORWARD 메시지를 필수적으로 전송해야 한다. 다만, 컨트롤 메시지 전송을 줄이기 위해 RELEASE-CONFIRMATION 메시지와 FORWARD 메시지를 모두 보내지는 않을 수 있다. When node A has the smallest number of neighbor nodes among the 1-hop neighbor nodes of node C, and the condition of Equation 1 is satisfied, node A must transmit a FORWARD message to node C. However, in order to reduce the transmission of control messages, neither the RELEASE-CONFIRMATION message nor the FORWARD message may be sent.

다시 말해, RELEASE-CONFIRMATION 메시지만 보내야 할 경우 RELEASE-CONFIRMATION 메시지로 답장한다. RELEASE-CONFIRMATION 메시지와 FORWARD 메시지를 보내야 하거나 FORWARD 메시지만 보내야 할 경우 FORWARD 메시지를 보낼 수 있다. 이 경우에는 FORWARD 메시지가 RELEASE-CONFIRMATION의 역할을 할 수 있다. FORWARD 메시지를 받는 노드의 경우 FORWARD-CONFIRMATION 메시지로 답장한다. In other words, if only the RELEASE-CONFIRMATION message needs to be sent, the reply is made with the RELEASE-CONFIRMATION message. If you need to send RELEASE-CONFIRMATION and FORWARD messages, or only FORWARD messages, you can send FORWARD messages. In this case, the FORWARD message can play the role of RELEASE-CONFIRMATION. A node that receives a FORWARD message responds with a FORWARD-CONFIRMATION message.

FORWARD-CONFIRMATION 메시지에는 아래 표 4에 기재된 정보가 포함될 수 있다. The FORWARD-CONFIRMATION message may include the information shown in Table 4 below.

헤드head 종류Kinds 수신자
1
receiver
One
송신자Sender 수신 확인Confirm receipt 스케쥴링 완료된 1-홉 이웃노드 수Number of 1-hop neighbor nodes that have been scheduled 이웃1Neighbor 1 슬롯slot ...... 이웃nNeighbor n 슬롯slot 검사 비트Check bit
2
바이트
2
byte
1
바이트
One
byte
1
바이트
One
byte
1
바이트
One
byte
1
바이트
One
byte
1
바이트
One
byte
1
바이트
One
byte
1
바이트
One
byte
...... 1
바이트
One
byte
1
바이트
One
byte
2
바이트
2
byte

한편, 메시지들이 충돌하거나 전송이 성공적으로 이루어지지 못한 경우 RELEASE 메시지 및 FORWARD 메시지를 재전송할 필요가 있다. 반면, RELEASE-CONFIRMATION 메시지나 FORWARD-CONFIRMATION 메시지는 별도의 재전송 과정이 필요하지 않다. RELEASE-CONFIRMATION 메시지나 FORWARD-CONFIRMATION 메시지를 재전송하지 않더라도, FORWARD 메시지나 RELEASE 메시지를 전송한 노드들이 패킷의 수신상태를 파악하고 해당 메시지를 재전송하기 때문에, 메시지 수신 후 위의 조건에 따라 RELEASE-CONFIRMATION 또는 FORWARD-CONFIRMATION 메시지로 응답하게 된다. On the other hand, when messages collide or transmission is not successful, it is necessary to retransmit the RELEASE message and the FORWARD message. On the other hand, the RELEASE-CONFIRMATION message or the FORWARD-CONFIRMATION message does not require a separate retransmission process. Even if the RELEASE-CONFIRMATION message or FORWARD-CONFIRMATION message is not retransmitted, the nodes that transmitted the FORWARD message or the RELEASE message recognize the packet reception status and retransmit the message.After receiving the message, RELEASE-CONFIRMATION or It responds with a FORWARD-CONFIRMATION message.

도 4는 일 실시예에 따른 무선 애드혹 네트워크에서 스케줄링을 수행하는 예시를 설명하기 위한 도면이다.4 is a diagram for describing an example of performing scheduling in a wireless ad-hoc network according to an embodiment.

도 4를 참조하면, 1단계에서, 노드 A가 슬롯을 선택하고 RELEASE 메시지를 브로드캐스트함으로써, 노드 A의 슬롯 정보를 노드 C, D, E에게 알릴 수 있다. Referring to FIG. 4, in step 1, node A selects a slot and broadcasts a RELEASE message, so that node A's slot information may be notified to nodes C, D, and E.

도 3에서 상술한 전송조건에 따라, 노드 E, D는 RELEASE-CONFIRMATION 메시지를 브로드캐스트로 답장하는 반면, 노드 C는 노드 B를 수신자로 지정하여 FORWARD 메시지를 브로드캐스트한다. According to the transmission conditions described above in FIG. 3, nodes E and D reply to the RELEASE-CONFIRMATION message by broadcast, while node C designates node B as a receiver to broadcast a FORWARD message.

이 때, 노드 A는 노드 C의 FORWARD 메시지를 수신할 수 있으며, 이는 RELEASE 메시지에 대한 RELEASE-CONFIRMATION와 동일하게 간주된다. 즉, FORWARD 메시지는 RELEASE 메시지의 수신확인 역할을 할 수 있다. At this time, node A can receive the FORWARD message of node C, which is considered the same as RELEASE-CONFIRMATION for the RELEASE message. That is, the FORWARD message can serve as an acknowledgment of the RELEASE message.

노드 A가 RELEASE-CONFIRMATION 또는 FORWARD의 응답 메시지를 수신하면 SA(C, A), SA(D, A)와 SA(E, A)를 1로 변경한다.When node A receives the RELEASE-CONFIRMATION or FORWARD response message, it changes S A (C, A), S A (D, A) and S A (E, A) to 1.

2단계에서, 노드 B는 노드 C로부터 FORWARD 메시지를 수신한 후, 자신의 토폴로지 순서 정보 테이블을 업데이트한다. 이 때, 자신이 토폴로지 순서 테이블에서 가장 높은 우선 순위의 노드로 변경됨에 따라, FORWARD 메시지에 대한 응답으로 FORWARD-CONFIRMATION 메시지를 보내는 대신, 슬롯 스케줄링을 수행할 수 있다. In step 2, after receiving a FORWARD message from node C, node B updates its own topology order information table. At this time, as it is changed to the node with the highest priority in the topology order table, slot scheduling may be performed instead of sending a FORWARD-CONFIRMATION message in response to the FORWARD message.

노드 B는 2-홉 이웃 노드들이 사용하지 않는 가장 작은 슬롯 값인 2를 선정한 후, RELEASE 메시지를 브로드캐스트한다. 노드 C는 노드 B에서 브로드캐스팅한 RELEASE 메시지를 통하여 노드 B가 선택한 슬롯 정보를 알 수 있다.Node B selects 2, which is the smallest slot value not used by 2-hop neighbor nodes, and broadcasts a RELEASE message. Node C can know the slot information selected by Node B through the RELEASE message broadcast by Node B.

다만, FORWARD 메시지 전송 조건에 해당하지 않으므로, 노드 C는 FORWARD 패킷을 전송하지 않으며 이에 따라 노드 A는 노드 C의 슬롯 인지 상태를 업데이트하지 않는다.However, since it does not correspond to the FORWARD message transmission condition, node C does not transmit the FORWARD packet, and accordingly, node A does not update the slot recognition state of node C.

단계 3에서, 노드 C가 노드 B의 RELEASE 메시지를 받고 토폴로지 순서 정보 테이블을 업데이트하면, 노드 C 자신이 가장 높은 순위를 가지고 있는 것이 되기 때문에 슬롯 스케줄링을 수행한다. 노드 C는 2-홉 이웃 노드들에 의해 사용되지 않는 슬롯 중 가장 작은 값인 슬롯 3을 선정한 후 RELEASE 메시지를 전송한다. In step 3, when node C receives the RELEASE message from node B and updates the topology order information table, node C itself has the highest priority and performs slot scheduling. Node C selects slot 3, which is the smallest value among slots not used by 2-hop neighbor nodes, and then transmits a RELEASE message.

노드 A가 노드 C로부터 RELEASE 메시지를 수신하면, 노드 A의 슬롯 인지 테이블의 SA(A, C)를 3으로 업데이트한다. 또한, 전송조건에 따라 노드 B는 RELEASE-CONFIRMATION를 전송하며, 노드 A는 노드 D를 수신자로 지정한 FORWARD를 브로드캐스트한다. 노드 A에서 브로드캐스팅한 FORWARD 메시지는 노드 C의 RELEASE 메시지에 대한 RELEASE-CONFIRMATION 역할도 할 수 있다. When node A receives the RELEASE message from node C, it updates S A (A, C) in node A's slot recognition table to 3. In addition, node B transmits RELEASE-CONFIRMATION according to transmission conditions, and node A broadcasts a FORWARD designating node D as a receiver. The FORWARD message broadcast by node A can also serve as a RELEASE-CONFIRMATION for node C's RELEASE message.

노드 C의 RELEASE 메시지에는 자신의 1-홉 이웃의 슬롯 정보가 담겨 있으므로, 노드 A는 노드 B의 슬롯을 알 수 있다. 따라서 노드 A는 SA(A, B)와 SA(C, B)를 2로 변경한다.Since node C's RELEASE message contains slot information of its 1-hop neighbor, node A can know the slot of node B. So node A changes S A (A, B) and S A (C, B) to 2.

단계 4에서, 노드 D는 자신의 토폴로지 순서 테이블을 업데이트하고, 자신이 가장 높은 우선순위로 변경됨에 따라 슬롯 스케줄링을 수행한다. 즉, 노드 D 자신이 사용할 슬롯 4를 선택한 후 RELEASE 메시지를 브로드캐스트한다. In step 4, the node D updates its own topology order table, and performs slot scheduling as it changes to the highest priority. That is, after selecting slot 4 to be used by node D itself, it broadcasts a RELEASE message.

노드 A가 노드 D로부터 RELEASE 메시지를 수신하면, 노드 A의 SA(A, D)가 4로 업데이트되며, 노드 A는 RELEASE에 대한 응답으로 노드 E를 수신자로 지정하여 FORWARD 메시지를 브로드캐스트한다. When node A receives a RELEASE message from node D, node A's S A (A, D) is updated to 4, and node A broadcasts a FORWARD message by designating node E as a receiver in response to the RELEASE.

단계 5에서, 노드 E는 노드 D의 슬롯에 대한 정보를 노드 A의 FORWARD 메시지를 통하여 알 수 있으며, 이를 바탕으로 자신의 토폴로지 순서 정보 테이블을 업데이트하고, 절차에 따라 슬롯 스케줄링을 수행하고 RELEASE 메시지를 송신한다. In step 5, node E can know information about node D's slot through node A's FORWARD message.Based on this, node E updates its topology order information table, performs slot scheduling according to the procedure, and sends RELEASE message. Send.

노드 A는, FORWARD를 수신할 노드가 없으므로, RELEASE 메시지를 수신한 후 RELEASE-CONFIRMATION 메시지를 보낸다. 노드 A는 SA(A, E)를 5로 변경하고, SA(E, D)를 4로 변경한다.Since node A does not have a node to receive FORWARD, it sends a RELEASE-CONFIRMATION message after receiving the RELEASE message. Node A changes S A (A, E) to 5 and S A (E, D) to 4.

상술한 과정에 따라 무선 애드혹 네트워크에서 스케줄링이 수행될 수 있다.Scheduling may be performed in a wireless ad-hoc network according to the above-described process.

상술한 과정에 따른 토폴로지 순서에 따라 슬롯 스케줄링 순서를 결정함으로써, 슬롯 스케줄링 과정에서 노드 간 충돌을 방지할 수 있다. 즉, 본 발명에서는 각 노드가 자신의 차례를 기다리다가 슬롯 스케줄링을 한 번만 시도하기 때문에, 네트워크 전체의 슬롯 스케줄링 완료시간을 줄일 수 있을 뿐만 아니라 슬롯 스케줄링 과정에서의 충돌로 인한 시간 낭비 및 제어 메시지 소모를 줄일 수 있다.By determining the slot scheduling order according to the topology order according to the above-described process, collision between nodes in the slot scheduling process can be prevented. That is, in the present invention, since each node waits for its own turn and attempts slot scheduling only once, it is possible to reduce the time to complete slot scheduling for the entire network, as well as waste time and control message consumption due to collision in the slot scheduling process. Can be reduced.

도 5는 일 실시예에 따른 무선 애드혹 네트워크에서 스케줄링을 수행하는 방법에 대한 흐름도이다.5 is a flowchart illustrating a method of performing scheduling in a wireless ad hoc network according to an embodiment.

도 5를 참조하면, 단계 510에서 노드 장치는 각 노드들은 1-홉 이웃노드들과 메시지를 교환할 수 있다.Referring to FIG. 5, in step 510, each node may exchange messages with 1-hop neighbor nodes.

단계 520에서 노드 장치는 메시지에 포함된 2-홉 이웃노드 수 및 랜덤 값에 기초하여 각 노드들의 우선순위를 결정할 수 있다.In step 520, the node device may determine the priority of each node based on the number of 2-hop neighbor nodes and a random value included in the message.

일 실시예에서, 노드 장치는 2-홉 이웃노드 수가 많은 노드일수록 높은 우선순위를 갖도록 각 노드들의 우선순위를 결정할 수 있다.In an embodiment, the node device may determine the priority of each node so that the node having a larger number of 2-hop neighbor nodes has a higher priority.

또한, 노드 장치는 2-홉 이웃노드 수가 동일할 경우 랜덤 값이 높은 노드일수록 높은 우선순위를 갖도록 각 노드들의 우선순위를 결정할 수 있다.In addition, when the number of 2-hop neighbor nodes is the same, the node device may determine the priority of each node so that a node having a higher random value has a higher priority.

노드 장치는 우선순위에 기초하여 토폴로지 순서 정보 테이블을 생성할 수 있다. 도 1을 참조하면, 토폴로지 순서 정보 테이블(100)에는 복수의 노드들(A 내지 E) 각각에 대응되는 2-홉 이웃노드 수 및 랜덤 값이 저장된다.The node device may generate a topology order information table based on the priority. Referring to FIG. 1, the topology order information table 100 stores the number of 2-hop neighbor nodes and random values corresponding to each of the plurality of nodes A to E.

단계 530에서 노드 장치는 우선순위에 따라 각 노드들에 대한 슬롯을 할당할 수 있다. In step 530, the node device may allocate slots for each node according to the priority.

노드 장치는 우선순위가 높은 노드에 대해 작은 슬롯을 할당할 수 있다. The node device can allocate small slots to nodes with high priority.

단계 540에서 노드 장치는 각 노드들에 대응되는 슬롯에 기초하여 각 노드들을 스케줄링할 수 있다.In operation 540, the node device may schedule each node based on a slot corresponding to each node.

노드 장치는 각 노드들에 대응되는 상기 슬롯에 기초하여 슬롯 인지 테이블을 업데이트할 수 있다. 도 2를 참조하면, 노드 A에 대한 슬롯 인지 테이블(200)이 도시된다. 슬롯 인지 테이블(200)은 SA(u, v)로 나타낼 수 있다.The node device may update the slot recognition table based on the slots corresponding to each node. Referring to FIG. 2, a slot recognition table 200 for node A is shown. The slot recognition table 200 may be represented by S A (u, v).

도 6은 일 실시예에 따른 노드 장치의 하드웨어 구성을 도시한 블록도이다.6 is a block diagram showing a hardware configuration of a node device according to an embodiment.

도 6을 참조하면, 노드 장치(600)는 제어부(610), 통신부(620), 메모리(630)를 포함할 수 있다. 도 6의 노드 장치(600)에는 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 6에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 당해 기술분야의 통상의 기술자라면 이해할 수 있다.Referring to FIG. 6, the node device 600 may include a control unit 610, a communication unit 620, and a memory 630. In the node device 600 of FIG. 6, only components related to the embodiment are shown. Therefore, it can be understood by those of ordinary skill in the art that other general-purpose components may be further included in addition to the components shown in FIG. 6.

제어부(610)는 도 1 내지 도 5에서 상술한 무선 애드혹 네트워크에서 스케줄링을 수행하기 위한 일련의 프로세스를 제어할 수 있다. 제어부(610)는 노드 장치(600)를 제어하기 위한 전반적인 기능들을 제어하는 역할을 한다. 예를 들어, 제어부(610)는 노드 장치(600) 내의 메모리(630)에 저장된 프로그램들을 실행함으로써, 노드 장치(600)를 전반적으로 제어한다. 제어부(610)는 노드 장치(600) 내에 구비된 CPU(central processing unit), GPU(graphics processing unit), AP(application processor) 등으로 구현될 수 있으나, 이에 제한되지 않는다.The controller 610 may control a series of processes for performing scheduling in the wireless ad-hoc network described above in FIGS. 1 to 5. The controller 610 serves to control overall functions for controlling the node device 600. For example, the control unit 610 generally controls the node device 600 by executing programs stored in the memory 630 in the node device 600. The control unit 610 may be implemented with a central processing unit (CPU), a graphics processing unit (GPU), an application processor (AP), etc. provided in the node device 600, but is not limited thereto.

통신부(620)는 근거리 통신부, 이동 통신부, 방송 수신부를 포함할 수 있다. 통신부(620)는 1-홉 이웃노드들과 메시지를 교환할 수 있다. The communication unit 620 may include a short range communication unit, a mobile communication unit, and a broadcast reception unit. The communication unit 620 may exchange messages with 1-hop neighbor nodes.

메모리(630)는 노드 장치(600) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 예를 들어, 메모리(630)는 노드 장치(600)에서 처리된 데이터들 및 처리될 데이터들을 저장할 수 있다. 또한, 메모리(630)는 노드 장치(600)에 의해 구동될 애플리케이션들, 드라이버들 등을 저장할 수 있다. 메모리(630)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다.The memory 630 is hardware that stores various types of data processed in the node device 600. For example, the memory 630 may store data processed by the node device 600 and data to be processed. Further, the memory 630 may store applications, drivers, etc. to be driven by the node device 600. The memory 630 includes random access memory (RAM) such as dynamic random access memory (DRAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and CD- ROM, Blu-ray or other optical disk storage, hard disk drive (HDD), solid state drive (SSD), or flash memory.

본 실시예들은 전자 디바이스에 의해 실행 가능한 명령어 및 데이터를 저장하는 전자 디바이스로 읽을 수 있는 기록매체에 저장된 어플리케이션의 형태로 구현될 수 있다. 상기 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 또한, 상기 명령어는 프로세서에 의해 실행되었을 때, 개시된 실시예들의 소정의 동작들을 수행할 수 있다.The present embodiments may be implemented in the form of an application stored in a recording medium that can be read by an electronic device that stores commands and data executable by the electronic device. The instruction may be stored in the form of a program code, and when executed by a processor, a predetermined program module may be generated to perform a predetermined operation. In addition, when the command is executed by a processor, certain operations of the disclosed embodiments may be performed.

본 실시예들은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈과 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.The present embodiments may also be implemented in the form of a recording medium including instructions executable by a computer, such as a program module executed by a computer. Computer-readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. Further, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes computer readable instructions, data structures, other data in a modulated data signal such as program modules, or other transmission mechanisms, and includes any information delivery media.

또한, 본 명세서에서, "부"는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.Further, in the present specification, the "unit" may be a hardware component such as a processor or a circuit, and/or a software component executed by a hardware configuration such as a processor.

전술한 본 명세서의 설명은 예시를 위한 것이며, 본 명세서의 내용이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present specification is for illustrative purposes only, and those of ordinary skill in the art to which the content of the present specification belongs will understand that it is possible to easily transform it into other specific forms without changing the technical spirit or essential features of the present invention I will be able to. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.

본 실시예의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 포함되는 것으로 해석되어야 한다.The scope of the present embodiment is indicated by the claims to be described later rather than the detailed description, and it should be construed that all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts are included.

Claims (15)

무선 애드혹 네트워크에서 스케줄링을 수행하는 방법에 있어서,
각 노드들이 1-홉 이웃노드들과 메시지를 교환하는 단계;
상기 메시지에 포함된 2-홉 이웃노드 수 및 랜덤 값에 기초하여 상기 각 노드들의 우선순위를 결정하는 단계;
상기 우선순위에 따라 상기 각 노드들에 대한 슬롯을 할당하는 단계; 및
상기 각 노드들에 대응되는 상기 슬롯에 기초하여 상기 각 노드들을 스케줄링하는 단계;
를 포함하는, 방법.
In a method for performing scheduling in a wireless ad hoc network,
Each node exchanging messages with 1-hop neighbor nodes;
Determining a priority of each of the nodes based on the number of 2-hop neighbor nodes and a random value included in the message;
Allocating slots for each of the nodes according to the priority; And
Scheduling each of the nodes based on the slots corresponding to the respective nodes;
Containing, method.
제 1 항에 있어서,
상기 우선순위를 결정하는 단계는,
상기 2-홉 이웃노드 수가 많은 노드일수록 높은 우선순위를 갖도록 결정하는 단계;
를 포함하는, 방법.
The method of claim 1,
The step of determining the priority,
Determining a node having a higher priority as the number of two-hop neighbor nodes increases;
Containing, method.
제 2 항에 있어서,
상기 우선순위를 결정하는 단계는,
상기 2-홉 이웃노드 수가 동일할 경우 상기 랜덤 값이 높은 노드일수록 높은 우선순위를 갖도록 결정하는 단계;
를 포함하는, 방법.
The method of claim 2,
The step of determining the priority,
Determining a node having a higher random value to have a higher priority when the number of 2-hop neighbor nodes is the same;
Containing, method.
제 3 항에 있어서,
상기 우선순위를 결정하는 단계는,
상기 우선순위에 기초하여 토폴로지 순서 정보 테이블을 생성하는 단계;
를 더 포함하는, 방법.
The method of claim 3,
The step of determining the priority,
Generating a topology order information table based on the priority;
The method further comprising.
제 3 항에 있어서,
상기 슬롯을 할당하는 단계는,
상기 우선순위가 높은 노드에 대해 작은 슬롯을 할당하는 단계;
를 포함하는, 방법.
The method of claim 3,
Allocating the slot,
Allocating a small slot to the node having a higher priority;
Containing, method.
제 1 항에 있어서,
상기 스케줄링하는 단계는,
상기 각 노드들에 대응되는 상기 슬롯에 기초하여 슬롯 인지 테이블을 업데이트하는 단계;
를 더 포함하는, 방법.
The method of claim 1,
The scheduling step,
Updating a slot recognition table based on the slots corresponding to the respective nodes;
The method further comprising.
제 1 항에 있어서,
상기 메시지는 1-홉 이웃노드 리스트를 더 포함하는 것인, 방법.
The method of claim 1,
The message further includes a one-hop neighbor node list.
무선 애드혹 네트워크에서 스케줄링을 수행하는 노드 장치에 있어서,
1-홉 이웃노드들과 메시지를 교환하는 통신부; 및
제어부;
를 포함하고,
상기 제어부는,
상기 메시지에 포함된 2-홉 이웃노드 수 및 랜덤 값에 기초하여 각 노드들의 우선순위를 결정하고, 상기 우선순위에 따라 상기 각 노드들에 대한 슬롯을 할당하며, 상기 각 노드들에 대응되는 상기 슬롯에 기초하여 상기 각 노드들을 스케줄링하는 것인, 장치.
In the node device that performs scheduling in a wireless ad hoc network,
A communication unit for exchanging messages with 1-hop neighbor nodes; And
Control unit;
Including,
The control unit,
The priority of each node is determined based on the number of 2-hop neighbor nodes and a random value included in the message, slots for each node are allocated according to the priority, and the corresponding to each node Scheduling each of the nodes based on a slot.
제 8 항에 있어서,
상기 제어부는,
상기 2-홉 이웃노드 수가 많은 노드일수록 높은 우선순위를 갖도록 결정하는 것인, 장치.
The method of claim 8,
The control unit,
The apparatus, wherein the node having a larger number of 2-hop neighbor nodes is determined to have a higher priority.
제 9 항에 있어서,
상기 제어부는,
상기 2-홉 이웃노드 수가 동일할 경우 상기 랜덤 값이 높은 노드일수록 높은 우선순위를 갖도록 결정하는 것인, 장치.
The method of claim 9,
The control unit,
If the number of two-hop neighbor nodes is the same, the higher the random value, the higher priority is determined.
제 10 항에 있어서,
상기 제어부는,
상기 우선순위에 기초하여 토폴로지 순서 정보 테이블을 생성하는 것인, 장치.
The method of claim 10,
The control unit,
To generate a topology order information table based on the priority.
제 10 항에 있어서,
상기 제어부는,
상기 우선순위가 높은 노드에 대해 작은 슬롯을 할당하는 것인, 장치.
The method of claim 10,
The control unit,
Allocating a small slot for the higher priority node.
제 8 항에 있어서,
상기 제어부는,
상기 각 노드들에 대응되는 상기 슬롯에 기초하여 슬롯 인지 테이블을 업데이트하는 것인, 장치.
The method of claim 8,
The control unit,
To update the slot recognition table based on the slots corresponding to the respective nodes.
제 8 항에 있어서,
상기 메시지는 1-홉 이웃노드 리스트를 더 포함하는 것인, 장치.
The method of claim 8,
Wherein the message further includes a one-hop neighbor node list.
제 1 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium storing a program for executing the method of claim 1 on a computer.
KR1020190109416A 2019-09-04 2019-09-04 Apparatus and method for performing scheduling in ad hoc networks KR102211845B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190109416A KR102211845B1 (en) 2019-09-04 2019-09-04 Apparatus and method for performing scheduling in ad hoc networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190109416A KR102211845B1 (en) 2019-09-04 2019-09-04 Apparatus and method for performing scheduling in ad hoc networks

Publications (1)

Publication Number Publication Date
KR102211845B1 true KR102211845B1 (en) 2021-02-03

Family

ID=74571753

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190109416A KR102211845B1 (en) 2019-09-04 2019-09-04 Apparatus and method for performing scheduling in ad hoc networks

Country Status (1)

Country Link
KR (1) KR102211845B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113873473A (en) * 2021-09-24 2021-12-31 中车青岛四方机车车辆股份有限公司 Method, system, equipment and train for realizing low-delay resource scheduling
KR20230153025A (en) 2022-04-28 2023-11-06 엘아이지넥스원 주식회사 Method of transmitting data in multi-hop mobile ad-hoc network and node apparatus performing the same

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120088283A (en) * 2011-01-31 2012-08-08 한국과학기술원 Method for performing topology control in a wireless network
KR101174125B1 (en) 2009-09-29 2012-08-14 강릉원주대학교산학협력단 MAC Protocol based on Priority and method for data transmission in Sensor Network
KR20130071322A (en) * 2011-12-20 2013-06-28 한국기초과학지원연구원 Method for potential routing, method for potential scheduling and mesh node
WO2014084481A1 (en) * 2012-11-29 2014-06-05 아주대학교 산학협력단 Method for allocating slot in ad-hoc network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101174125B1 (en) 2009-09-29 2012-08-14 강릉원주대학교산학협력단 MAC Protocol based on Priority and method for data transmission in Sensor Network
KR20120088283A (en) * 2011-01-31 2012-08-08 한국과학기술원 Method for performing topology control in a wireless network
KR20130071322A (en) * 2011-12-20 2013-06-28 한국기초과학지원연구원 Method for potential routing, method for potential scheduling and mesh node
WO2014084481A1 (en) * 2012-11-29 2014-06-05 아주대학교 산학협력단 Method for allocating slot in ad-hoc network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
강민석 외 4명, "모바일 애드 혹 네트워크를 위한 TDMA 스케쥴링 프로토콜 조사", 컴퓨터정보통신연구 제27권 제1호 (2019.06.) *
남재현, "WSN에서 하이브리드 MAC을 위한 우선순위기반 타임 슬롯 할당 프로토콜", 한국정보통신학회논문지 Vol.18, No.6 (2014.06.) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113873473A (en) * 2021-09-24 2021-12-31 中车青岛四方机车车辆股份有限公司 Method, system, equipment and train for realizing low-delay resource scheduling
CN113873473B (en) * 2021-09-24 2024-01-09 中车青岛四方机车车辆股份有限公司 Method, system, equipment and train for realizing low-delay resource scheduling
KR20230153025A (en) 2022-04-28 2023-11-06 엘아이지넥스원 주식회사 Method of transmitting data in multi-hop mobile ad-hoc network and node apparatus performing the same

Similar Documents

Publication Publication Date Title
US11272557B2 (en) System and method for coordinating device-to-device communications
CN110235508B (en) Random access channel contention resolution
CN107889185B (en) Networking method of wireless data acquisition system of electric meter
WO2020063742A1 (en) Resource allocation method and apparatus in device-to-device communication
US10660133B2 (en) Method and system for random access and uplink data transmission for low latency communication
JP2017521898A (en) Signaling soft time division multiplexing in enhanced distributed channel access
KR102211845B1 (en) Apparatus and method for performing scheduling in ad hoc networks
US20130124937A1 (en) Method and apparatus for transmitting data in device-to-device service system
CN113273227A (en) Buffer status report transmission in separate resource pool for vehicle communication
WO2013152649A1 (en) Method and device for determining resource collision
US8208401B2 (en) Method of managing address spaces of incommunicable nodes in ZigBee network
CN102014467B (en) Multi-relay selection cooperative transmission method and system
CN105144629B (en) Multicast optimized medium access method for wireless networks
US20110206033A1 (en) Communication method between wireless nodes
KR101032604B1 (en) Method for slots reservation in the distributed time division multiple access ad-hoc network
JP2011087295A (en) Method for allocating slot for emergency data, and method for transmitting emergency data by using the same
US9635701B2 (en) Method for determining link quality in wireless network system
JP6784706B2 (en) Wireless communication equipment, wireless communication methods and computer programs
US10506510B2 (en) Method for increasing lifetime of network devices in a multi-hop structured wireless communication system
EP4106459A1 (en) On demand data delivery in a wireless network
KR102190109B1 (en) Method for transmitting sidelink feedback information and apparatus for the same
US9282522B2 (en) Communication apparatus and communication method
US7397810B1 (en) Artery nodes
JP6901446B2 (en) Wireless communication devices, wireless communication systems, wireless communication methods and programs
KR101903586B1 (en) Apparatus to build a distributed schedule for p2p in TSCH and AODV based Industrial IoT Networks

Legal Events

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