KR102484737B1 - Method for selecting distributed message buffer partition of data in mobile IoT environment - Google Patents
Method for selecting distributed message buffer partition of data in mobile IoT environment Download PDFInfo
- Publication number
- KR102484737B1 KR102484737B1 KR1020210146570A KR20210146570A KR102484737B1 KR 102484737 B1 KR102484737 B1 KR 102484737B1 KR 1020210146570 A KR1020210146570 A KR 1020210146570A KR 20210146570 A KR20210146570 A KR 20210146570A KR 102484737 B1 KR102484737 B1 KR 102484737B1
- Authority
- KR
- South Korea
- Prior art keywords
- partition
- data
- message buffer
- distributed message
- iot device
- Prior art date
Links
- 238000005192 partition Methods 0.000 title claims abstract description 190
- 239000000872 buffer Substances 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000004364 calculation method Methods 0.000 claims description 13
- 241001522296 Erithacus rubecula Species 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000007616 round robin method Methods 0.000 claims 4
- 238000000638 solvent extraction Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 10
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 발명은 데이터 분배 방법에 관한 것으로, 더욱 상세하게는 이동체 IoT 환경에서 데이터의 분산 메시지 버퍼 파티션을 선정하는 데이터 분배 방법에 관한 것이다.The present invention relates to a data distribution method, and more particularly, to a data distribution method for selecting a distributed message buffer partition of data in a mobile IoT environment.
최근에는 이동형 운송 장치에 관한 IoT 데이터를 실시간으로 수집하고, 수집된 데이터를 바탕으로 실시간으로 데이터 전송의 시간 차이를 계산하고 속도, 속력 등 2차 데이터를 생성해야 하는 어플리케이션의 수요가 스마트 항만 등 여러 분야에서 증대되고 있다. Recently, the demand for applications that need to collect IoT data on mobile transportation devices in real time, calculate the time difference of data transmission in real time based on the collected data, and generate secondary data such as speed and speed has increased. growing in the field.
IoT 데이터 전송의 시간차를 실시간으로 계산하기 위해서는 IoT 데이터를 수신하는 메시지 버퍼의 역할이 중요하며, 멀티 파티션으로 구성된 클러스터형 메시지 버퍼의 경우, 시간에 정합성에 위배되지 않게 IoT 데이터가 파티션에 배분되는 것이 중요하다. In order to calculate the time difference of IoT data transmission in real time, the role of the message buffer that receives the IoT data is important. In the case of a clustered message buffer composed of multi-partitions, it is important that the IoT data is distributed to the partitions so as not to violate time consistency. Do.
그와 동시에 클러스터의 디스크를 포함한 시스템 리소스를 균등하게 활용하기 위해, 파티션에 데이터가 균등하게 배분되는 것이 중요하다. At the same time, it is important that data is evenly distributed across partitions in order to equally utilize system resources, including disks in the cluster.
이러한 디스크 사용량 등은 시스템 성능뿐만 아니라 수명이 존재하는 플래시 디바이스일 경우, 특정 디스크에 집중적으로 쓰기 연산이 수행 시 비용적인 문제도 발생할 수 있다. In the case of a flash device having a lifetime, such as disk usage, as well as system performance, a cost problem may occur when a write operation is performed intensively on a specific disk.
따라서, IoT 데이터를 수신하는 분산형 메시지 버퍼가 정확하게 시간 일관성을 유지하며 분산 환경에서 디스크 사용량 등의 시스템 리소스를 균등하게 사용할 수 있도록 하는 방안의 모색이 요구된다. Therefore, it is required to find a way to ensure that distributed message buffers receiving IoT data accurately maintain time consistency and equally use system resources such as disk usage in a distributed environment.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 이동체 IoT 데이터를 수신하는 분산형 메시지 버퍼가 정확하게 시간 일관성을 유지하며 분산 환경에서 시스템 리소스를 균등하게 사용할 수 있도록 하는 분산 메시지 버퍼 파티션 선정 방법을 제공함에 있다.The present invention has been made to solve the above problems, and an object of the present invention is to ensure that a distributed message buffer receiving mobile IoT data accurately maintains time consistency and uses system resources equally in a distributed environment. It is to provide a method for selecting a distributed message buffer partition.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 데이터의 분산 메시지 버퍼 파티션 선정 방법은, 분산 메시지 버퍼 파티션 선정 시스템이, IoT 디바이스에서 데이터를 수신하는 제1 단계; 분산 메시지 버퍼 파티션 선정 시스템이, 데이터를 전송한 IoT 디바이스에 파티션이 부여된 기록이 있는지 판단하는 제2 단계; 분산 메시지 버퍼 파티션 선정 시스템이, 제2 단계의 판단 결과를 기반으로 기존 파티션을 유지하거나 또는 새로운 파티션의 할당 여부를 결정하는 제3 단계; 및 분산 메시지 버퍼 파티션 선정 시스템이, 제3 단계의 결과를 기반으로 IoT 디바이스에 대해 기존 파티션을 유지하거나 또는 새로운 파티션을 할당하는 제4 단계;를 포함한다. According to an embodiment of the present invention for achieving the above object, a method for selecting a distributed message buffer partition for data includes a first step of receiving data from an IoT device by a system for selecting a distributed message buffer partition; A second step of determining, by the distributed message buffer partition selection system, whether there is a record to which a partition is assigned to an IoT device that has transmitted data; a third step in which the distributed message buffer partition selection system determines whether to maintain the existing partition or allocate a new partition based on the determination result of the second step; and a fourth step in which the distributed message buffer partition selection system maintains an existing partition or allocates a new partition to the IoT device based on the result of the third step.
그리고 제3 단계는, 제2 단계의 판단 결과에 따라 IoT 디바이스에 파티션이 부여된 기록이 없다면, 새로운 파티션을 라운드 로빈(Round-Robin) 기법에 의해 부여할 수 있다. And in the third step, if there is no record in which the partition is assigned to the IoT device according to the determination result of the second step, a new partition may be assigned by a round-robin technique.
또한, IoT 디바이스는, 모든 IoT 디바이스에 대해 로운드 로빈의 인덱스가 공유될 수 있다. In addition, the IoT device may share a round robin index for all IoT devices.
그리고 IoT 디바이스는, 시간의 일관성을 위해서, 한번 라운드 로빈 기법으로 파티션이 부여되면, 기설정된 임계치에 해당하는 시간이 지날 때까지 부여된 파티션을 유지할 수 있다. And, for time consistency, once a partition is assigned using the round robin technique, the IoT device may maintain the assigned partition until a time corresponding to a preset threshold value passes.
또한, 제3 단계는, 제2 단계의 판단 결과에 따라 IoT 디바이스에 파티션이 부여된 기록이 있다면, 이전에 부여된 파티션의 유지 여부를 확인하기 위해, 현재 시간과 파티션이 부여되었던 시간의 차이를 계산하고, 계산 결과가 기설정된 임계치를 초과하는지 판단할 수 있다. In addition, in the third step, if there is a record in which a partition was assigned to the IoT device according to the determination result of the second step, the difference between the current time and the time when the partition was assigned is checked to check whether the previously assigned partition is maintained. It may be calculated, and it may be determined whether the calculation result exceeds a preset threshold.
그리고 IoT 디바이스는, 다음 IoT 디바이스의 데이터 전송보다 어플리케이션에서 버퍼 내 모든 데이터를 가져가는 속도가 빠른 경우, 기존 파티션이 아닌 새로운 파티션을 할당 받을 수 있다. In addition, the IoT device may be assigned a new partition instead of the existing partition when the application takes all the data in the buffer faster than the data transmission of the next IoT device.
또한, 임계치의 초기 설정 값은, 애플리케이션의 초당 처리율(msg/s)을 TA이고, 디바이스의 수 N인 경우, N/TA로 설정될 수 있다. Also, the initial setting value of the threshold may be set to N/T A when T A is the processing rate per second (msg/s) of the application and the number of devices is N.
그리고 제3 단계는, 시간 차이의 계산 결과가 기설정된 임계치를 초과하지 않으면, 이전에 부여된 파티션을 유지하고, 제4 단계는, 유지되는 파티션에 기록된 시간정보를 현재 시간으로 갱신할 수 있다. In the third step, if the calculation result of the time difference does not exceed a predetermined threshold, the previously assigned partition is maintained, and in the fourth step, time information recorded in the maintained partition may be updated to the current time. .
또한, 제3 단계는, 시간 차이의 계산 결과가 기설정된 임계치를 초과하면, 어플리케이션이 IoT 디바이스의 데이터를 소진한 것으로 판단하여, 새로운 파티션을 할당하고, 제4 단계는, 할당된 파티션에 대한 정보를 현재 시간과 함께 기록할 수 있다. In addition, in the third step, if the calculation result of the time difference exceeds a predetermined threshold, it is determined that the application has exhausted the data of the IoT device and a new partition is allocated, and in the fourth step, information about the allocated partition is determined. can be recorded along with the current time.
한편, 본 발명의 다른 실시예에 따른, 데이터의 분산 메시지 버퍼 파티션 선정 시스템은, IoT 디바이스에서 데이터를 수집하는 수집부; 및 데이터를 전송한 IoT 디바이스에 파티션이 부여된 기록이 있는지 판단하고, 판단 결과를 기반으로 기존 파티션을 유지하거나 또는 새로운 파티션의 할당 여부를 결정하여, IoT 디바이스에 대해 기존 파티션을 유지하거나 또는 새로운 파티션을 할당하는 프로세서;를 포함한다. On the other hand, according to another embodiment of the present invention, a system for selecting a distributed message buffer partition of data includes a collection unit for collecting data from an IoT device; And it is determined whether there is a record in which a partition has been assigned to the IoT device that has transmitted the data, and based on the determination result, an existing partition is maintained or a new partition is determined to be allocated to maintain an existing partition or a new partition for the IoT device. A processor that allocates; includes.
그리고 본 발명의 다른 실시예에 따른, 데이터의 분산 메시지 버퍼 파티션 선정 방법은, 분산 메시지 버퍼 파티션 선정 시스템이, IoT 디바이스에서 데이터를 수신하는 제1 단계; 분산 메시지 버퍼 파티션 선정 시스템이, 데이터를 전송한 IoT 디바이스에 파티션이 부여된 기록이 있는지 판단하는 제2 단계; 분산 메시지 버퍼 파티션 선정 시스템이, 제2 단계의 판단 결과를 기반으로 기존 파티션을 유지하거나 또는 새로운 파티션의 할당 여부를 결정하는 제3 단계; 및 분산 메시지 버퍼 파티션 선정 시스템이, 제3 단계의 결과를 기반으로 IoT 디바이스에 대해 기존 파티션을 유지하거나 또는 새로운 파티션을 할당하는 제4 단계;를 포함하고, 이때, 제4 단계는, 기존 파티션을 유지하는 경우, 유지되는 파티션에 기록된 시간정보를 현재 시간으로 갱신할 수 있다. And, according to another embodiment of the present invention, a method for selecting a distributed message buffer partition for data includes a first step of receiving data from an IoT device by a system for selecting a distributed message buffer partition; A second step of determining, by the distributed message buffer partition selection system, whether there is a record to which a partition is assigned to an IoT device that has transmitted data; a third step in which the distributed message buffer partition selection system determines whether to maintain the existing partition or allocate a new partition based on the determination result of the second step; and a fourth step in which the distributed message buffer partition selection system maintains an existing partition or allocates a new partition to the IoT device based on the result of the third step. In case of maintaining, the time information recorded in the maintained partition may be updated to the current time.
또한, 본 발명의 다른 실시예에 따른, 데이터의 분산 메시지 버퍼 파티션 선정 시스템은, IoT 디바이스에서 데이터를 수집하는 수집부; 및 데이터를 전송한 IoT 디바이스에 파티션이 부여된 기록이 있는지 판단하고, 판단 결과를 기반으로 기존 파티션을 유지하거나 또는 새로운 파티션의 할당 여부를 결정하여, IoT 디바이스에 대해 기존 파티션을 유지하거나 또는 새로운 파티션을 할당하는 프로세서;를 포함하고, 이때, 프로세서는, 기존 파티션을 유지하는 경우, 유지되는 파티션에 기록된 시간정보를 현재 시간으로 갱신할 수 있다. In addition, according to another embodiment of the present invention, a system for selecting a distributed message buffer partition of data includes a collection unit for collecting data from an IoT device; And it is determined whether there is a record in which a partition has been assigned to the IoT device that has transmitted the data, and based on the determination result, an existing partition is maintained or a new partition is determined to be allocated to maintain an existing partition or a new partition for the IoT device. In this case, if the existing partition is maintained, the processor may update the time information recorded in the maintained partition to the current time.
이상 설명한 바와 같이, 본 발명의 실시예들에 따르면, 이동체 IoT 데이터를 수신하는 분산형 메시지 버퍼가 정확하게 시간 일관성을 유지하며 분산 환경에서 시스템 리소스를 균등하게 사용하도록 할 수 있다. As described above, according to the embodiments of the present invention, a distributed message buffer receiving mobile IoT data can accurately maintain time consistency and equally use system resources in a distributed environment.
도 1은, 라운드 로빈(Round-Robin) 기법을 적용하여 데이터를 분배하는 방법의 설명에 제공된 도면,
도 2는, 해시(Hash) 함수를 적용하여 데이터를 분배하는 방법의 설명에 제공된 도면,
도 3은, 본 발명의 일 실시예에 따른 분산 메시지 버퍼 파티션 선정 시스템의 설명에 제공된 도면,
도 4는, 상기 도 3에 도시된 프로세서가, 기존 파티션을 유지하거나 또는 새로운 파티션을 할당하여 데이터를 분배하는 방법의 설명에 제공된 도면,
도 5는, 본 발명의 일 실시예에 따른 분산 메시지 버퍼 파티션 선정 방법의 설명에 제공된 도면이다. 1 is a diagram provided for explanation of a method of distributing data by applying a round-robin technique;
2 is a diagram provided for explanation of a method of distributing data by applying a hash function;
3 is a diagram provided for explanation of a distributed message buffer partition selection system according to an embodiment of the present invention;
4 is a diagram provided for explanation of a method for distributing data by maintaining an existing partition or allocating a new partition by the processor shown in FIG. 3;
5 is a diagram provided to explain a method for selecting a distributed message buffer partition according to an embodiment of the present invention.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.Hereinafter, the present invention will be described in more detail with reference to the drawings.
도 1은, 라운드 로빈(Round-Robin) 기법을 적용하여 데이터를 분배하는 방법의 설명에 제공된 도면이다. 1 is a diagram provided to explain a method of distributing data by applying a round-robin technique.
도 1을 참조하면, 데이터를 수신하는 분산형 메시지 버퍼(20)에 라운드 로빈 기법을 적용하여 데이터를 분배하는 경우, 파티션 1(21-1)에 분배된 Do 데이터의 타임스탬프(timestamp)가 파티션 2(21-2)에 분배된 D1 데이터의 타임스탬프보다 앞선 시간이지만, 파티션 1(21-1)에 저장된 다른 IoT 디바이스(10-2)의 데이터로 인하여, 또는 스레드(thread)의 처리 속도에 의해 애플리케이션(30)이 D1 데이터를 먼저 가져오게 될 수 있다. Referring to FIG. 1, when data is distributed by applying the round robin technique to the
도 1은 이로 인해, 타임스탬프 차이 계산을 포함하여, IoT 디바이스(10)의 데이터 전처리하는 과정에서 연산 오류가 발생할 수 있다. In FIG. 1 , an operation error may occur in a process of pre-processing data of the IoT device 10, including calculating a timestamp difference.
도 2는, 해시(Hash) 함수를 적용하여 데이터를 분배하는 방법의 설명에 제공된 도면이다. 2 is a diagram provided for explanation of a method of distributing data by applying a hash function.
도 2를 참조하면 데이터를 수신하는 분산형 메시지 버퍼(20)에 해시 함수를 적용하여 데이터를 분배하는 경우, 파티션(21) 결정 시, IoT 디바이스(10)의 아이디 등을 해시 함수에 적용하기 때문에, 시간의 일관성을 유지할 수 있으나(Do 데이터가 D1 데이터보다 먼저 애플리케이션(30)에 전달됨), 해시 함수의 특성으로 도 2에 예시된 바와 같이 특정 파티션(21)에 데이터가 집중될 수 있고, 전송 주기가 빠른 IoT 디바이스(10)와 같은 파티션(21)을 공유할 경우, 애플리케이션(30)에서 필요한 IoT 디바이스(10)의 정보를 가져오지 못해 성능 저하가 발생할 수 있다. Referring to FIG. 2, when data is distributed by applying a hash function to the
이로 인하여, 분산 메시지 버퍼(20)를 구성하는 서버들의 리소스를 효율적으로 활용하지 못하는 문제가 발생할 수 있다. Due to this, a problem of not efficiently utilizing the resources of servers constituting the
도 3은, 본 발명의 일 실시예에 따른 분산 메시지 버퍼 파티션 선정 시스템의 설명에 제공된 도면이고, 도 4는, 상기 도 3에 도시된 프로세서(120)가, 기존 파티션(ex. 21-1)을 유지하거나 또는 새로운 파티션(ex. 21-2 or 21-3)을 할당하여 데이터를 분배하는 방법의 설명에 제공된 도면이다. 3 is a diagram provided to explain a distributed message buffer partition selection system according to an embodiment of the present invention, and FIG. 4 shows that the
본 실시예에 따른 분산 메시지 버퍼 파티션 선정 시스템은, 도 1을 참조하여 전술한 라운드 로빈 기법을 적용하여 데이터를 분배하는 경우 발생하는 문제점 및 도 2를 참조하여 전술한 해시 함수를 적용하여 데이터를 분배하는 경우 발생하는 문제점을 해결하여, 데이터를 수신하는 분산형 메시지 버퍼(20)가 정확하게 시간 일관성을 유지하며 분산 환경에서 시스템 리소스를 균등하게 사용하도록 할 수 있다. Distributed message buffer partition selection system according to this embodiment is a problem that occurs when data is distributed by applying the round robin technique described above with reference to FIG. 1 and data is distributed by applying the hash function described above with reference to FIG. 2 It is possible to solve the problem that occurs when the
이를 위해, 본 분산 메시지 버퍼 파티션 선정 시스템은, 수집부(110), 프로세서(120) 및 저장부(130)를 포함할 수 있다. To this end, the distributed message buffer partition selection system may include a
수집부(110)는, IoT 디바이스(10)에서 데이터를 수집하기 위해 마련되며, 저장부(130)는, 프로세서(120)가 동작함에 있어 필요한 프로그램 및 데이터를 저장하는 저장매체이다. The
프로세서(120)는, 데이터를 수신하는 분산형 메시지 버퍼(20)가 정확하게 시간 일관성을 유지하며 분산 환경에서 시스템 리소스를 균등하게 사용하도록 하기 위해, IoT 디바이스(10)에 대해 기존 파티션(ex. 21-1)을 유지하거나 또는 새로운 파티션(ex. 21-2 or 21-3)을 할당하여, 데이터가 분배되도록 할 수 있다. The
구체적으로, 프로세서(120)는, 데이터를 전송한 IoT 디바이스(10)에 파티션(21)이 부여된 기록이 있는지 판단하고, 판단 결과를 기반으로 기존 파티션(ex. 21-1)을 유지하거나 또는 새로운 파티션(ex. 21-2 or 21-3)의 할당 여부를 결정하여, IoT 디바이스(10)에 대해 기존 파티션(ex. 21-1)을 유지하거나 또는 새로운 파티션(ex. 21-2 or 21-3)을 할당할 수 있다. Specifically, the
여기서, 프로세서(120)는, 파티션(21)이 부여된 기록이 있는지 판단한 판단 결과에 따라 IoT 디바이스(10)에 파티션(21)이 부여된 기록이 없다면, 새로운 파티션(ex. 21-2 or 21-3)을 라운드 로빈(Round-Robin) 기법에 의해 부여할 수 있다. Here, the
이때, IoT 디바이스(10)는, 글로벌 카운터를 공유하며, 모든 IoT 디바이스(10)에 대해 라운드 로빈의 인덱스가 공유될 수 있다. At this time, the IoT devices 10 share a global counter, and a round robin index may be shared for all IoT devices 10 .
그리고 IoT 디바이스(10)는, 시간의 일관성을 위해서, 한번 라운드 로빈 기법으로 파티션(21)이 부여되면, 기설정된 임계치에 해당하는 시간이 지날 때까지 부여된 파티션(21)을 유지할 수 있다. And, for time consistency, once the partition 21 is assigned using the round robin technique, the IoT device 10 may maintain the assigned partition 21 until a time corresponding to a predetermined threshold value passes.
또한, IoT 디바이스(10)는, 다음 IoT 디바이스(10)의 데이터 전송보다 애플리케이션(30)에서 버퍼 내 모든 데이터를 가져가는 속도가 빠른 경우, 기존 파티션(ex. 21-1)이 아닌 새로운 파티션(ex. 21-2 or 21-3)을 할당 받을 수 있다. In addition, when the IoT device 10 takes all the data in the buffer from the
그리고 임계치의 초기 설정 값은, 애플리케이션(30)의 초당 처리율(msg/s)을 TA이고, 디바이스(10)의 수 N인 경우, N/TA로 설정될 수 있다. Also, the initial setting value of the threshold may be set to N/T A when T A is the processing rate per second (msg/s) of the
한편, 프로세서(120)는, 파티션(21)이 부여된 기록이 있는지 판단한 판단 결과에 따라 IoT 디바이스(10)에 파티션(21)이 부여된 기록이 있다면, 이전에 부여된 파티션(ex. 21-1)의 유지 여부를 확인하기 위해, 현재 시간과 파티션(21)이 부여되었던 시간의 차이를 계산하고, 계산 결과가 기설정된 임계치를 초과하는지 판단하게 된다. On the other hand, the
구체적으로, 프로세서(120)는, 시간 차이의 계산 결과가 기설정된 임계치를 초과하지 않으면, 이전에 부여된 파티션(ex. 21-1)을 유지하고, 유지되는 파티션(21)에 기록된 시간정보를 현재 시간으로 갱신할 수 있다. Specifically, the
또한, 프로세서(120)는, 시간 차이의 계산 결과가 기설정된 임계치를 초과하면, 애플리케이션(30)이 IoT 디바이스(10)의 데이터를 소진한 것으로 판단하여, 새로운 파티션(ex. 21-2 or 21-3)을 할당하고, 할당된 파티션(ex. 21-2 or 21-3)에 대한 정보를 현재 시간과 함께 기록할 수 있다. In addition, the
즉, 프로세서(120)는, 도 4에 예시된 바와 같이 기존 S0 데이터에 파티션 1(21-1)이 부여된 이후, S1 데이터를 수신하게 되는 경우, 시간 차이의 계산 결과가 기설정된 임계치를 초과하지 않으면, 할당된 파티션 1(21-1)로 가야 하지만, 도 4에 예시된 바와 같이 시간 차이의 계산 결과가 기설정된 임계치를 초과하여, S0 데이터를 애플리케이션(30)에서 처리한 이후라면, S0 데이터가 무효(invalid)하다고 판단하여, 새로운 파티션(ex. 21-2 or 21-3)을 할당할 수 있다. That is, when the
그리고 프로세서(120)는, 최대한 리소스를 분배해서 활용하기 위해, 데이터 주기가 상대적으로 느린 IoT 디바이스(10) 센서의 경우, 다른 IoT 디바이스(10)보다 한번 지정된 파티션(ex. 21-1)에 배정되는 것이 아닌 새로운 파티션(ex. 21-2 or 21-3)에 할당될 빈도가 높게 설정될 수 있다. In addition, in order to distribute and utilize resources as much as possible, the
도 5는, 본 발명의 일 실시예에 따른 분산 메시지 버퍼 파티션 선정 방법의 설명에 제공된 도면이다. 5 is a diagram provided to explain a method for selecting a distributed message buffer partition according to an embodiment of the present invention.
본 실시예에 따른 분산 메시지 버퍼 파티션 선정 방법은, 도 3 내지 도 4를 참조하여 전술한 분산 메시지 버퍼 파티션 선정 시스템에 의해 실행될 수 있다. The distributed message buffer partition selection method according to the present embodiment may be executed by the distributed message buffer partition selection system described above with reference to FIGS. 3 and 4 .
도 5를 참조하면, 분산 메시지 버퍼 파티션 선정 방법은, 분산 메시지 버퍼 파티션 선정 시스템을 통해, IoT 디바이스(10)에서 데이터를 수신하는 제1 단계(S510), 데이터를 전송한 IoT 디바이스(10)에 파티션(21)이 부여된 기록이 있는지 판단하는 제2 단계(S520), 제2 단계의 판단 결과를 기반으로 기존 파티션(ex. 21-1)을 유지하거나 또는 새로운 파티션(ex. 21-2 or 21-3)의 할당 여부를 결정하는 제3 단계(S530) 및 제3 단계의 결과를 기반으로 IoT 디바이스(10)에 대해 기존 파티션(ex. 21-1)을 유지하거나 또는 새로운 파티션(ex. 21-2 or 21-3)을 할당하는 제4 단계(S540)를 포함할 수 있다. Referring to FIG. 5, the distributed message buffer partition selection method includes a first step of receiving data from the IoT device 10 through the distributed message buffer partition selection system (S510), and to the IoT device 10 that has transmitted the data. A second step of determining whether there is a record assigned to the partition 21 (S520). Based on the determination result of the second step, an existing partition (ex. 21-1) is maintained or a new partition (ex. 21-2 or 21-3) to maintain the existing partition (eg. 21-1) or a new partition (eg. 21-2 or 21-3) may include a fourth step (S540) of allocating.
그리고 제3 단계(S530)에서는, 제2 단계(S520)의 판단 결과에 따라 IoT 디바이스(10)에 파티션(21)이 부여된 기록이 없다면, 새로운 파티션(ex. 21-2 or 21-3)을 라운드 로빈(Round-Robin) 기법에 의해 부여할 수 있으며, 반대로, 제2 단계(S520)의 판단 결과에 따라 IoT 디바이스(10)에 파티션(21)이 부여된 기록이 있다면, 이전에 부여된 파티션(ex. 21-1)의 유지 여부를 확인하기 위해, 현재 시간과 파티션(21)이 부여되었던 시간의 차이를 계산하고, 계산 결과가 기설정된 임계치를 초과하는지 판단할 수 있다. And in the third step (S530), if there is no record in which the partition 21 is assigned to the IoT device 10 according to the determination result of the second step (S520), a new partition (ex. 21-2 or 21-3) may be assigned by a round-robin technique, and conversely, if there is a record in which the partition 21 is assigned to the IoT device 10 according to the determination result of the second step (S520), the previously assigned In order to check whether the partition (ex. 21-1) is maintained, a difference between the current time and the time when the partition 21 is assigned may be calculated, and it may be determined whether the calculation result exceeds a preset threshold.
즉, 제3 단계(S530)에서는, 시간 차이의 계산 결과가 기설정된 임계치를 초과하지 않으면, 이전에 부여된 파티션(ex. 21-1)을 유지하고, 이 경우, 제4 단계(S540)에서는, 유지되는 파티션(21)에 기록된 시간정보를 현재 시간으로 갱신하게 된다. That is, in the third step (S530), if the calculation result of the time difference does not exceed a preset threshold, the previously assigned partition (ex. 21-1) is maintained. In this case, in the fourth step (S540) , the time information recorded in the maintained partition 21 is updated to the current time.
반대로, 제3 단계(S530)에서, 시간 차이의 계산 결과가 기설정된 임계치를 초과하면, 애플리케이션(30)이 IoT 디바이스(10)의 데이터를 소진한 것으로 판단하여, 새로운 파티션(ex. 21-2 or 21-3)을 할당하고, 이때, 제4 단계(S540)에서는, 할당된 파티션(21)에 대한 정보를 현재 시간과 함께 기록하게 된다. Conversely, in the third step (S530), if the calculation result of the time difference exceeds a predetermined threshold, it is determined that the
이를 통해, 이동체 IoT 데이터를 수신하는 분산형 메시지 버퍼(20)가 정확하게 시간 일관성을 유지하며 분산 환경에서 시스템 리소스를 균등하게 사용하도록 할 수 있다. Through this, it is possible to ensure that the distributed
한편, 본 실시예에 따른 장치와 방법의 기능을 수행하게 하는 컴퓨터 프로그램을 수록한 컴퓨터로 읽을 수 있는 기록매체에도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다. 또한, 본 발명의 다양한 실시예에 따른 기술적 사상은 컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터로 읽을 수 있는 코드 형태로 구현될 수도 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터에 의해 읽을 수 있고 데이터를 저장할 수 있는 어떤 데이터 저장 장치이더라도 가능하다. 예를 들어, 컴퓨터로 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광디스크, 하드 디스크 드라이브, 등이 될 수 있음은 물론이다. 또한, 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터로 읽을 수 있는 코드 또는 프로그램은 컴퓨터간에 연결된 네트워크를 통해 전송될 수도 있다.Meanwhile, it goes without saying that the technical spirit of the present invention can also be applied to a computer-readable recording medium containing a computer program for performing the functions of the apparatus and method according to the present embodiment. In addition, technical ideas according to various embodiments of the present invention may be implemented in the form of computer readable codes recorded on a computer readable recording medium. The computer-readable recording medium may be any data storage device that can be read by a computer and store data. For example, the computer-readable recording medium may be ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical disk, hard disk drive, and the like. In addition, computer readable codes or programs stored on a computer readable recording medium may be transmitted through a network connected between computers.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.In addition, although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the specific embodiments described above, and the technical field to which the present invention belongs without departing from the gist of the present invention claimed in the claims. Of course, various modifications are possible by those skilled in the art, and these modifications should not be individually understood from the technical spirit or perspective of the present invention.
10 : Iot 디바이스
20 : 분산 메시지 버퍼
21 : 파티션
30 : 애플리케이션
110 : 수집부
120 : 프로세서
130 : 저장부10 : Iot device
20: Distributed Message Buffer
21 : Partition
30: Application
110: collection unit
120: processor
130: storage unit
Claims (12)
분산 메시지 버퍼 파티션 선정 시스템이, 데이터를 전송한 IoT 디바이스에 파티션이 부여된 기록이 있는지 판단하는 제2 단계;
분산 메시지 버퍼 파티션 선정 시스템이, 제2 단계의 판단 결과를 기반으로 기존 파티션을 유지하거나 또는 새로운 파티션의 할당 여부를 결정하는 제3 단계; 및
분산 메시지 버퍼 파티션 선정 시스템이, 제3 단계의 결과를 기반으로 IoT 디바이스에 대해 기존 파티션을 유지하거나 또는 새로운 파티션을 할당하는 제4 단계;를 포함하고,
제3 단계는,
제2 단계의 판단 결과에 따라 IoT 디바이스에 파티션이 부여된 기록이 없다면, 새로운 파티션을 라운드 로빈(Round-Robin) 기법에 의해 부여하는 것을 특징으로 하는 데이터의 분산 메시지 버퍼 파티션 선정 방법.
A first step of receiving data from an IoT device by a distributed message buffer partition selection system;
A second step of determining, by the distributed message buffer partition selection system, whether there is a record to which a partition is assigned to an IoT device that has transmitted data;
a third step in which the distributed message buffer partition selection system determines whether to maintain the existing partition or allocate a new partition based on the determination result of the second step; and
A fourth step in which the distributed message buffer partition selection system maintains an existing partition or allocates a new partition to the IoT device based on the result of the third step;
The third step is
If there is no record in which the partition is assigned to the IoT device according to the determination result of the second step, a new partition is assigned by a round-robin method. Method for selecting a partition for a distributed message buffer of data.
IoT 디바이스는,
글로벌 카운터를 공유하며, 모든 IoT 디바이스에 대해 로운드 로빈의 인덱스가 공유되는 것을 특징으로 하는 데이터의 분산 메시지 버퍼 파티션 선정 방법.
The method of claim 1,
IoT devices,
A method for selecting a distributed message buffer partition for data, characterized in that a global counter is shared and an index of round robin is shared for all IoT devices.
IoT 디바이스는,
시간의 일관성을 위해서, 한번 라운드 로빈 기법으로 파티션이 부여되면, 기설정된 임계치에 해당하는 시간이 지날 때까지 부여된 파티션을 유지하는 것을 특징으로 하는 데이터의 분산 메시지 버퍼 파티션 선정 방법.
The method of claim 1,
IoT devices,
A method for selecting a distributed message buffer partition for data, characterized in that, for time consistency, once a partition is assigned using a round-robin scheme, the assigned partition is maintained until a time corresponding to a preset threshold value passes.
제3 단계는,
제2 단계의 판단 결과에 따라 IoT 디바이스에 파티션이 부여된 기록이 있다면, 이전에 부여된 파티션의 유지 여부를 확인하기 위해, 현재 시간과 파티션이 부여되었던 시간의 차이를 계산하고, 계산 결과가 기설정된 임계치를 초과하는지 판단하는 것을 특징으로 하는 데이터의 분산 메시지 버퍼 파티션 선정 방법.
The method of claim 4,
The third step is
If there is a record in which a partition was assigned to the IoT device according to the determination result of the second step, the difference between the current time and the time when the partition was assigned is calculated to check whether the previously assigned partition is maintained, and the calculation result is A method for selecting a distributed message buffer partition for data, characterized in that it is determined whether it exceeds a set threshold.
IoT 디바이스는,
다음 IoT 디바이스의 데이터 전송보다 어플리케이션에서 버퍼 내 모든 데이터를 가져가는 속도가 빠른 경우, 기존 파티션이 아닌 새로운 파티션을 할당 받는 것을 특징으로 하는 데이터의 분산 메시지 버퍼 파티션 선정 방법.
The method of claim 5,
IoT devices,
A method for selecting a distributed message buffer partition for data, characterized in that a new partition is allocated instead of the existing partition when the application takes all the data in the buffer faster than the data transmission of the next IoT device.
임계치의 초기 설정 값은,
애플리케이션의 초당 처리율(msg/s)을 TA이고, 디바이스의 수 N인 경우, N/TA로 설정되는 것을 특징으로 하는 데이터의 분산 메시지 버퍼 파티션 선정 방법.
The method of claim 5,
The initial setting value of the threshold is,
A method for selecting a distributed message buffer partition for data, characterized in that T A is the processing rate per second (msg/s) of the application, and N/T A is set when the number of devices is N.
제3 단계는,
시간 차이의 계산 결과가 기설정된 임계치를 초과하지 않으면, 이전에 부여된 파티션을 유지하고,
제4 단계는,
유지되는 파티션에 기록된 시간정보를 현재 시간으로 갱신하는 것을 특징으로 하는 데이터의 분산 메시지 버퍼 파티션 선정 방법.
The method of claim 5,
The third step is
If the calculation result of the time difference does not exceed a preset threshold, retain the previously assigned partition;
The fourth step is
A method for selecting a distributed message buffer partition for data, characterized in that time information recorded in the maintained partition is updated with the current time.
제3 단계는,
시간 차이의 계산 결과가 기설정된 임계치를 초과하면, 어플리케이션이 IoT 디바이스의 데이터를 소진한 것으로 판단하여, 새로운 파티션을 할당하고,
제4 단계는,
할당된 파티션에 대한 정보를 현재 시간과 함께 기록하는 것을 특징으로 하는 데이터의 분산 메시지 버퍼 파티션 선정 방법.
The method of claim 5,
The third step is
If the calculation result of the time difference exceeds a predetermined threshold, it is determined that the application has exhausted the data of the IoT device, and a new partition is allocated;
The fourth step is
A method for selecting a partition for a distributed message buffer of data, characterized in that information on the allocated partition is recorded together with the current time.
데이터를 전송한 IoT 디바이스에 파티션이 부여된 기록이 있는지 판단하고, 판단 결과를 기반으로 기존 파티션을 유지하거나 또는 새로운 파티션의 할당 여부를 결정하여, IoT 디바이스에 대해 기존 파티션을 유지하거나 또는 새로운 파티션을 할당하는 프로세서;를 포함하고,
프로세서는,
데이터를 전송한 IoT 디바이스에 파티션이 부여된 기록이 있는지 판단 결과에 따라 IoT 디바이스에 파티션이 부여된 기록이 없다면, 새로운 파티션을 라운드 로빈(Round-Robin) 기법에 의해 부여하는 것을 특징으로 하는 데이터의 분산 메시지 버퍼 파티션 선정 시스템.
Collecting unit for collecting data from the IoT device; and
It is determined whether there is a record of partitions assigned to the IoT device that sent the data, and based on the determination result, whether to maintain the existing partition or allocate a new partition is determined, and the existing partition is maintained for the IoT device or a new partition is created. Allocating a processor; including,
the processor,
According to the result of determining whether there is a record in which a partition is assigned to an IoT device that has transmitted data, if there is no record in which a partition is assigned to an IoT device, a new partition is assigned by a round-robin method. Distributed message buffer partitioning system.
분산 메시지 버퍼 파티션 선정 시스템이, 데이터를 전송한 IoT 디바이스에 파티션이 부여된 기록이 있는지 판단하는 제2 단계;
분산 메시지 버퍼 파티션 선정 시스템이, 제2 단계의 판단 결과를 기반으로 기존 파티션을 유지하거나 또는 새로운 파티션의 할당 여부를 결정하는 제3 단계; 및
분산 메시지 버퍼 파티션 선정 시스템이, 제3 단계의 결과를 기반으로 IoT 디바이스에 대해 기존 파티션을 유지하거나 또는 새로운 파티션을 할당하는 제4 단계;를 포함하고,
제4 단계는,
기존 파티션을 유지하는 경우, 유지되는 파티션에 기록된 시간정보를 현재 시간으로 갱신하고,
제3 단계는,
제2 단계의 판단 결과에 따라 IoT 디바이스에 파티션이 부여된 기록이 없다면, 새로운 파티션을 라운드 로빈(Round-Robin) 기법에 의해 부여하는 것을 특징으로 하는 데이터의 분산 메시지 버퍼 파티션 선정 방법.
A first step of receiving data from an IoT device by a distributed message buffer partition selection system;
A second step of determining, by the distributed message buffer partition selection system, whether there is a record to which a partition is assigned to an IoT device that has transmitted data;
a third step in which the distributed message buffer partition selection system determines whether to maintain the existing partition or allocate a new partition based on the determination result of the second step; and
A fourth step in which the distributed message buffer partition selection system maintains an existing partition or allocates a new partition to the IoT device based on the result of the third step;
The fourth step is
If the existing partition is maintained, the time information recorded in the maintained partition is updated to the current time,
The third step is
If there is no record in which the partition is assigned to the IoT device according to the determination result of the second step, a new partition is assigned by a round-robin method. Method for selecting a partition for a distributed message buffer of data.
분산 메시지 버퍼 파티션 선정 시스템이, 데이터를 전송한 IoT 디바이스에 파티션이 부여된 기록이 있는지 판단하는 제2 단계;
분산 메시지 버퍼 파티션 선정 시스템이, 제2 단계의 판단 결과를 기반으로 기존 파티션을 유지하거나 또는 새로운 파티션의 할당 여부를 결정하는 제3 단계; 및
분산 메시지 버퍼 파티션 선정 시스템이, 제3 단계의 결과를 기반으로 IoT 디바이스에 대해 기존 파티션을 유지하거나 또는 새로운 파티션을 할당하는 제4 단계;를 포함하고,
제4 단계는,
기존 파티션을 유지하는 경우, 유지되는 파티션에 기록된 시간정보를 현재 시간으로 갱신하고,
제3 단계는,
제2 단계의 판단 결과에 따라 IoT 디바이스에 파티션이 부여된 기록이 없다면, 새로운 파티션을 라운드 로빈(Round-Robin) 기법에 의해 부여하는 것을 특징으로 하는 데이터의 분산 메시지 버퍼 파티션 선정 방법.A first step of receiving data from an IoT device by a distributed message buffer partition selection system;
A second step of determining, by the distributed message buffer partition selection system, whether there is a record in which a partition is assigned to an IoT device that has transmitted data;
a third step in which the distributed message buffer partition selection system determines whether to maintain the existing partition or allocate a new partition based on the determination result of the second step; and
A fourth step in which the distributed message buffer partition selection system maintains an existing partition or allocates a new partition to the IoT device based on the result of the third step;
The fourth step is
If the existing partition is maintained, the time information recorded in the maintained partition is updated to the current time,
The third step is
If there is no record in which the partition is assigned to the IoT device according to the determination result of the second step, a new partition is assigned by a round-robin method. Method for selecting a partition for a distributed message buffer of data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210146570A KR102484737B1 (en) | 2021-10-29 | 2021-10-29 | Method for selecting distributed message buffer partition of data in mobile IoT environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210146570A KR102484737B1 (en) | 2021-10-29 | 2021-10-29 | Method for selecting distributed message buffer partition of data in mobile IoT environment |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102484737B1 true KR102484737B1 (en) | 2023-01-05 |
Family
ID=84925876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210146570A KR102484737B1 (en) | 2021-10-29 | 2021-10-29 | Method for selecting distributed message buffer partition of data in mobile IoT environment |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102484737B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150134796A1 (en) * | 2013-11-11 | 2015-05-14 | Amazon Technologies, Inc. | Dynamic partitioning techniques for data streams |
KR102124897B1 (en) * | 2018-06-07 | 2020-06-22 | 한국과학기술정보연구원 | Distributed Messaging System and Method for Dynamic Partitioning in Distributed Messaging System |
-
2021
- 2021-10-29 KR KR1020210146570A patent/KR102484737B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150134796A1 (en) * | 2013-11-11 | 2015-05-14 | Amazon Technologies, Inc. | Dynamic partitioning techniques for data streams |
KR102124897B1 (en) * | 2018-06-07 | 2020-06-22 | 한국과학기술정보연구원 | Distributed Messaging System and Method for Dynamic Partitioning in Distributed Messaging System |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10637916B2 (en) | Method and device for storage resource allocation for video cloud storage | |
US10609130B2 (en) | Cluster resource management in distributed computing systems | |
US20140372611A1 (en) | Assigning method, apparatus, and system | |
US20190026042A1 (en) | Deduplication-Aware Load Balancing in Distributed Storage Systems | |
US9152325B2 (en) | Logical and physical block addressing for efficiently storing data | |
JP6492123B2 (en) | Distributed caching and cache analysis | |
US10235047B2 (en) | Memory management method, apparatus, and system | |
KR20170068564A (en) | Data processing method, apparatus and system | |
US9787761B2 (en) | Allocating physical nodes for processes in an execution plan | |
US20170310564A1 (en) | Allocating physical nodes for processes in an execution plan | |
CN107153512B (en) | Data migration method and device | |
US20190012083A1 (en) | System and method for managing a non-volatile storage resource as a shared resource in a distributed system | |
US10346057B1 (en) | Probability-based allocation of storage from storage pools | |
CN110569225A (en) | Data storage method and system | |
KR20170081977A (en) | Distributed file system and method for creating files effectively | |
KR102484737B1 (en) | Method for selecting distributed message buffer partition of data in mobile IoT environment | |
US11169933B2 (en) | Integration of application indicated maximum time to cache for a two-tiered cache management mechanism | |
CN114442910A (en) | Method, electronic device and computer program product for managing storage system | |
US10530870B2 (en) | Direct volume migration in a storage area network | |
CN110837428A (en) | Storage device management method and device | |
US20200242094A1 (en) | Information processing apparatus, computer-readable recording medium having stored therein information processing program, and information processing system | |
CN107168645B (en) | Storage control method and system of distributed system | |
KR101754713B1 (en) | Asymmetric distributed file system, apparatus and method for distribution of computation | |
CN107145305B (en) | Use method of distributed physical disk and virtual machine | |
CN107168646B (en) | Distributed data storage control method and server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |