KR20200084294A - Operation server for searching code block using hot spot extraction and operation platform system including the same - Google Patents
Operation server for searching code block using hot spot extraction and operation platform system including the same Download PDFInfo
- Publication number
- KR20200084294A KR20200084294A KR1020190175337A KR20190175337A KR20200084294A KR 20200084294 A KR20200084294 A KR 20200084294A KR 1020190175337 A KR1020190175337 A KR 1020190175337A KR 20190175337 A KR20190175337 A KR 20190175337A KR 20200084294 A KR20200084294 A KR 20200084294A
- Authority
- KR
- South Korea
- Prior art keywords
- code block
- address information
- code
- information
- ram
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
Description
본 발명은 핫스팟 추출을 이용하여 코드 블록을 탐색하는 운용 서버 및 이를 포함하는 운용 플랫폼 시스템에 관한 것이다. The present invention relates to an operation server that searches for code blocks using hot spot extraction and an operation platform system including the same.
일반적으로 사물 인터넷에서 사용되는 IoT 기기는 애플리케이션 실행을 위한 프로그램이 설치될 수 있는 플래시 메모리를 사용한다. 여기서, 상기 플래시 메모리가 상기 프로그램 구동을 위한 코드 블록을 저장하고 있다. In general, IoT devices used in the Internet of Things use flash memory in which programs for application execution can be installed. Here, the flash memory stores a code block for driving the program.
상기 IoT 기기가 플래시 메모리를 포함하여야 하므로, 상기 IoT 기기의 사이즈가 커지고 비용이 증가할 수밖에 없었다. Since the IoT device must include a flash memory, the size of the IoT device has increased and the cost has to be increased.
또한, 코드 블록을 업데이트하고자 할 경우 관리자가 IoT 기기들의 코드 블록을 일일이 체크하여 업데이트하여야 하므로, 프로그램 업데이트가 불편하였다. In addition, the program update was inconvenient because the administrator had to check and update the code blocks of the IoT devices individually in order to update the code blocks.
본 발명은 핫스팟 추출을 이용하여 코드 블록을 탐색하는 운용 서버 및 이를 포함하는 운용 플랫폼 시스템을 제공하는 것이다.The present invention provides an operation server that searches for a code block using hot spot extraction and an operation platform system including the same.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 운용 서버는 외부 기기로부터 전송된 코드 블록 요청 패킷으로부터 코드 블록의 정보를 획득하는 데이터 매니저; 상기 획득된 코드 블록의 정보에 해당하는 코드 블록을 탐색하는 탐색부; 적어도 하나의 코드 블록을 저장하는 저장부; 및 사용빈도가 높은 코드 블록으로 지정된 코드 블록 또는 이전에 참조된 코드 블록과 상관된 코드 블록을 저장하는 램을 포함한다. 여기서, 상기 탐색부는 상기 획득된 코드 블록의 정보에 해당하는 코드 블록이 사용빈도가 높은 코드 블록으로 지정된 코드 블록이거나 상기 이전에 참조된 코드 블록과 상관된 코드 블록인 경우 상기 램으로부터 해당 코드블록을 탐색하고, 탐색 결과 상기 코드 블록이 상기 램에 존재하지 않으면 상기 코드 블록을 상기 저장부에서 다시 탐색한다. In order to achieve the above object, the operation server according to an embodiment of the present invention includes a data manager for obtaining information of a code block from a code block request packet transmitted from an external device; A search unit for searching a code block corresponding to the obtained code block information; A storage unit for storing at least one code block; And a RAM that stores a code block designated as a high-use code block or a code block correlated with a previously referenced code block. Here, if the code block corresponding to the information of the obtained code block is a code block designated as a code block having a high use frequency or a code block correlated with the previously referenced code block, the search unit obtains the corresponding code block from the RAM. Search, and if the code block does not exist in the RAM as a result of the search, the code block is searched again in the storage unit.
본 발명의 일 실시예에 따른 운용 서버 동작 방법은 외부 기기로부터 전송된 코드 블록 요청 패킷으로부터 코드 블록의 정보를 획득하는 단계; 및 상기 획득된 코드 블록의 정보에 해당하는 코드 블록을 탐색하는 단계를 포함한다. 여기서, 상기 획득된 코드 블록의 정보에 해당하는 코드 블록이 사용 빈도가 높은 코드 블록으로 지정된 코드 블록이거나 상기 이전에 참조된 코드 블록과 상관된 코드 블록인 경우 램으로부터 상기 코드 블록을 탐색하며, 상기 획득된 코드 블록의 정보에 해당하는 코드 블록이 사용빈도가 높은 코드 블록으로 지정된 코드 블록이 아니고 상기 이전에 참조된 코드 블록과 상관된 코드 블록도 아닌 경우 저장부에서 상기 코드 블록을 탐색한다. A method of operating an operation server according to an embodiment of the present invention includes obtaining information of a code block from a code block request packet transmitted from an external device; And searching for a code block corresponding to the obtained code block information. Here, when the code block corresponding to the information of the obtained code block is a code block designated as a code block having a high frequency of use or a code block correlated with the previously referenced code block, the code block is searched from RAM. If the code block corresponding to the obtained information of the code block is not a code block designated as a code block having a high frequency of use and is not a code block correlated with the previously referenced code block, the storage unit searches for the code block.
본 발명에 따른 운용 서버는 사용 빈도가 높은 코드 블록의 주소 정보를 저장하는 핫스팟 테이블 또는 실행된 코드 블록의 주소 정보 및 관련 코드 블록의 주소 정보를 저장하는 문맥 상황 테이블을 이용하여 램으로부터 코드 블록을 탐색하므로, 신속한 코드 블록 탐색이 가능할 수 있고 광범위하게 퍼져 있는 IoT 기기들을 효율적으로 관리할 수 있다. The operation server according to the present invention uses a hotspot table for storing address information of a frequently used code block or a contextual situation table for storing address information of an executed code block and address information of a related code block to retrieve a code block from RAM. By searching, it is possible to quickly search for code blocks and efficiently manage widely spread IoT devices.
또한, IoT 기기가 플래시 메모리를 내장하지 않고 상기 운용 서버가 상기 IoT 기기의 요청에 따라 원하는 코드 블록을 상기 IoT 기기로 제공하므로, 상기 IoT 기기의 사이즈 및 비용이 감소할 수 있다. In addition, since the IoT device does not include a flash memory and the operation server provides a desired block of code to the IoT device according to the request of the IoT device, the size and cost of the IoT device may be reduced.
도 1은 본 발명의 일 실시예에 따른 운용 플랫폼 시스템을 도시한 도면이다.
도 2는 실행코드 블록이 업데이트되는 과정을 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 핫스팟 테이블 생성 과정을 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 프로그램 관리 과정을 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 운용 서버를 도시한 블록도이다. 1 is a view showing an operating platform system according to an embodiment of the present invention.
2 is a diagram illustrating a process in which an executable code block is updated.
3 is a diagram illustrating a hot spot table creation process according to an embodiment of the present invention.
4 is a diagram illustrating a program management process according to an embodiment of the present invention.
5 is a block diagram showing an operation server according to an embodiment of the present invention.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.As used herein, a singular expression includes a plural expression unless the context clearly indicates otherwise. In this specification, the terms "consisting of" or "comprising" should not be construed as including all the various components, or various steps described in the specification, among which some components or some steps It may not be included, or it should be construed to further include additional components or steps. In addition, terms such as “... unit” and “module” described in the specification mean a unit that processes at least one function or operation, which may be implemented in hardware or software, or a combination of hardware and software. .
본 발명은 운용 서버 및 이를 포함하는 운용 플랫폼 시스템에 관한 것으로서, 광범위하게 분포하는 IoT 기기를 효율적으로 관리할 수 있다. The present invention relates to an operating server and an operating platform system including the same, and it is possible to efficiently manage a wide range of distributed IoT devices.
일 실시예에 따르면, 상기 운용 서버는 사용빈도가 높은 코드 블록을 핫스팟으로 하여 램(예를 들어, 캐시 메모리)에 미리 저장하고 IoT 기기 요청시 상기 캐시 메모리에 저장된 코드 블록을 신속하게 제공할 수 있다. 결과적으로, 상기 운용 플랫폼 시스템은 임베디드 소프트웨어 최적화를 실현하고 IoT 기기의 동작 속도를 향상시킬 수 있다. According to an embodiment, the operation server may store a code block having a high frequency of use as a hot spot in RAM (for example, a cache memory) in advance and rapidly provide a code block stored in the cache memory when requesting an IoT device. have. As a result, the operating platform system can realize embedded software optimization and improve the operation speed of the IoT device.
또한, 상기 IoT 기기는 코드 블록을 저장하기 위한 별도의 플래시 메모리를 포함할 필요가 없으므로, 상기 IoT 기기의 사이즈가 작아지고 제조 단가가 낮아질 수 있다. In addition, since the IoT device does not need to include a separate flash memory for storing code blocks, the size of the IoT device can be reduced and manufacturing cost can be lowered.
게다가, 소프트웨어 업데이트시, 상기 운용 서버에 새로운 코드 블록을 저장하고 IoT 기기들이 상기 운용 서버에서 코드 블록을 다운받아 사용하면 되므로, IoT 기기들의 소프트웨어 업데이트가 편리할 수 있다. In addition, when updating the software, since a new code block is stored in the operation server and IoT devices may download and use the code block from the operation server, software update of IoT devices may be convenient.
이하, 본 발명의 다양한 실시예들을 첨부된 도면을 참조하여 상술하겠다. Hereinafter, various embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 운용 플랫폼 시스템을 도시한 도면이며, 도 2는 실행코드 블록이 업데이트되는 과정을 도시한 도면이다. 도 3은 본 발명의 일 실시예에 따른 핫스팟 테이블 생성 과정을 도시한 도면이며, 도 4는 본 발명의 일 실시예에 따른 프로그램 관리 과정을 도시한 도면이다. 1 is a diagram illustrating an operating platform system according to an embodiment of the present invention, and FIG. 2 is a diagram showing a process in which an execution code block is updated. 3 is a diagram illustrating a process of creating a hot spot table according to an embodiment of the present invention, and FIG. 4 is a diagram illustrating a program management process according to an embodiment of the present invention.
도 1을 참조하면, 본 실시예의 운용 플랫폼 시스템은 운용 서버(100) 및 적어도 하나의 전자 기기(예를 들어 IoT 기기, 102)를 포함할 수 있다. 상기 전자 기기는 운용 서버(100)의 외부에 존재하다는 점에서 외부 기기로 칭해질 수 있다. 다만, 운용 서버(100)에 의해 프로그램이 실행되는 전자 기기는 IoT 기기로 제한되지는 않는다. 이하, 설명의 편의를 위하여 전자 기기(102)를 IoT 기기로 가정하겠다. Referring to FIG. 1, the operating platform system of the present embodiment may include an
IoT 기기(102)는 고정된 실행파일을 미리 설치하고 있지는 않으며, 실행파일로 이루어진 코드 블록을 운용 서버(100)로부터 다운받아 실행시킬 수 있다. 이 경우, 상기 실행된 코드 블록에 해당하는 애플리케이션이 실행될 수 있다. The IoT
예를 들어, IoT 기기(102)는 자신의 고유번호와 수행하고자 하는 다음 함수의 주소 정보를 가지는 코드 블록 요청 신호를 운용 서버(100)로 전송하고, 상기 요청 신호에 해당하는 함수의 코드 블록을 가지는 코드 블록 신호를 운용 서버(100)로부터 수신하며, 상기 코드 블록 신호의 코드 블록을 실행시킬 수 있다. For example, the
IoT 기기(102)는 초기 동작을 위한 부트로더가 탑재되어 있는 롬(ROM), 통신망상에서 운용 서버(100)와의 데이터 송수신이 가능하며 운용 서버(100)로부터 애플리케이션 기능을 수행할 수 있는 실행코드들이 함수를 이루고 있는 코드 블록을 수신하는 통신부, 상기 통신부를 통하여 수신한 코드 블록이 일시 저장된 상태로 실행되면서 애플리케이션 기능을 수행하고 그러한 기능 수행에 의해 획득한 데이터를 일시 저장하는 램(RAM), IoT 기기(102)의 구성요소들의 동작을 전반적으로 제어하는 프로세서를 포함할 수 있다. The
종래의 IoT 기기는 실행코드를 저장하기 위하여 플래시 메모리를 내장하여 사용하였으며, 그 결과 IoT 기기의 사이즈가 증가하고 제조 비용이 증가하였다. 특히, IoT 기기에서 실행된 애플리케이션 기능이 다양화되면 플래시 메모리의 사이즈가 증가할 수밖에 없어서 IoT 기기의 소형화가 불가능하였다. 또한, 상기 플래시 메모리에 저장된 실행코드들을 변경하기 위해서는 관리자가 IoT 기기들을 일일이 다시 프로그래밍해야 하였으며, 그 결과 애플리케이션의 기능 변경이나 실행코드의 업데이트가 편리하지 못하였다. Conventional IoT devices use a built-in flash memory to store executable code, and as a result, the size of IoT devices increases and manufacturing costs increase. In particular, when the application functions executed on the IoT device are diversified, the size of the flash memory is forced to increase, so miniaturization of the IoT device is impossible. In addition, in order to change the execution codes stored in the flash memory, the administrator had to reprogram the IoT devices individually, and as a result, it was not convenient to change the function of the application or update the execution codes.
반면에, 본 발명의 IoT 기기(102)는 자체적으로 코드 블록을 저장하여 사용하지 않으므로 플래시 메모리가 필요치 않으며, 따라서 IoT 기기(102)의 소형화가 가능하고 비용이 감소할 수 있다. 또한, IoT 기기(102)는 실행코드 변경시 운용 서버(100)로부터 해당 코드 블록을 다운받아 사용하므로, 애플리케이션의 기능 변경이나 실행코드의 업데이트가 편리하면서도 신속하게 이루어질 수 있다. On the other hand, the IoT
예를 들어, 도 2에 도시된 바와 같이 운용 서버(100)는 함수1(Function1) 내지 함수7(Function7) 및 메인 함수를 저장하고, IoT 기기(102)에는 메인 함수, 함수6, 함수3 및 함수1을 수행하기 위한 코드 블록을 탑재하여 해당 함수에 대응하는 실행코드를 실행시킬 수 있다. For example, as shown in FIG. 2, the
이를 위하여 IoT 기기(102)가 롬에 탑재된 부트로더에 의해 초기화된 후, 운용 서버(100)의 스케줄러는 메인 함수를 요청하는 요청 메시지를 생성하여 IoT 기기(102)의 램에 메인 함수를 탑재시켜 해당 실행코드에 따른 기능을 수행시킬 수 있다. To this end, after the
이어서, 운용 서버(100)는 프레임 체크와 동적 주소 변환을 하면서 다양한 기능을 수행할 수 있는 함수들을 IoT 기기(102)의 램에 탑재시켜 실행시킬 수 있다. Subsequently, the
이와 같이 스케줄러에 의해 메인함수를 포함하는 여러 함수의 코드 블록이 IoT 기기(102)의 램에 탑재되어 실행되면서 주어진 기능을 수행하는 도중, 이벤트 발생과 같은 점프 지시(jump instruction) 조건이 발생되면, 그 조건에 맞는 다음 함수의 실행을 위해 램의 메모리 영역에 탑재되어 있는 함수를 검색하여 그 함수가 이미 탑재되어 있을 경우 주어진 기능을 수행하지만, 그렇지 않을 경우 운용 서버(100)에 요청하여 제공받아 실행시킬 수 있다. As described above, when a block of code of various functions including the main function is mounted and executed in the RAM of the
이때, IoT 기기(102)의 메모리 영역에 이미 메인함수와, 함수6, 함수3 및 함수1이 탑재되어 있어 IoT 기기(102)에 함수가 추가적으로 탑재될 메모리 영역이 부족하여 새로운 함수의 추가가 어려울 경우, 상기 스케줄러는 최근에 가장 적게 사용되고 있는 코드 블록인 함수1(Function1)의 어드레스를 새로운 함수가 추가될 어드레스로 선택하여 교체시킬 수 있으며, 그 결과 IoT 기기(102)에 의해 구현할 수 있는 기능을 쉽게 변경할 수 있다. At this time, since the main function, function 6,
이와 같이 IoT 기기(102)는 상기 스케줄러에 의해 수행하고자 하는 기능에 적합한 실행코드로 이루어진 코드 블록들만을 선택적으로 제공받아 램에 탑재하여 실행시킴으로써, 특정 기능 실행에 불필요한 코드를 제거할 수 있고 그로 인해 IoT 기기(102)에 탑재되는 소프트웨어를 최적화할 수 있고, 상기 프로세서는 메모리 상에 있는 모든 실행코드들에 균일하게 접근하지 않고 주로 사용되는 기능과 관련된 특정 실행코드의 어드레스만을 집중적으로 참조하도록 구성될 수 있다. 결과적으로, IoT 기기(102)에서의 기능 수행이 보다 빠르게 이루어질 수 있다. As described above, the
이하, 운용 서버(100)의 동작을 구체적으로 살펴보겠다. Hereinafter, the operation of the
우선, 운용 플랫폼 시스템 구동 전에, 운용 서버(100)는 도 3에 도시된 바와 같이 사전 시뮬레이션을 통하여 핫스팟 테이블을 생성할 수 있다.First, before driving the operating platform system, the
구체적으로는, 운용 서버(100)는 코드 블록들을 저장하는 저장부(예를 들어, 하드 디스크) 및 사용빈도가 높은 코드 블록을 저장하는 램(예를 들어, 캐시 메모리)를 포함하며, 컴파일된 실행 파일을 런타임하는 동안 사용빈도가 높은 코드 블록을 상기 캐시 메모리에 저장할 수 있다. Specifically, the
이 때, 실행된 코드 블록에 대한 주소 정보 및 실행 카운터 기반 호출 빈도를 핫스팟 테이블(Hot spot table)에 기록하며, 특히 호출 빈도를 기초로 코드 블록들에 우선 순위를 부여할 수 있다. 예를 들어, 도 3에 도시된 바와 같이 주소(0x81)에 해당하는 코드 블록의 호출 빈도가 67회로 가장 많으므로 핫스팟 테이블에서 우선 순위 1을 부여받으며, 주소(0x95)에 해당하는 코드 블록의 호출 빈도가 43회로 두번째로 높으므로 상기 핫스팟 테이블에서 우선 순위 2를 부여받을 수 있다. At this time, the address information for the executed code block and the execution counter-based calling frequency are recorded in a hot spot table, and in particular, priority can be given to code blocks based on the calling frequency. For example, as shown in FIG. 3, since the frequency of calling the code block corresponding to the address (0x81) is 67 times, the priority is given in the hotspot table, and the code block corresponding to the address (0x95) is called. Since the frequency is 43 times the second highest,
이와 같이 핫스팟 테이블에 실행된 코드 블록들의 정보를 기재하되, 상기 캐시 메모리의 사이즈를 고려하여 설정된 임계값에 기초하여 핫스팟을 분류할 수 있다. 예를 들어, 임계값이 10이면, 우선 순위 10까지만 실행코드 블록에 대한 주소 정보 등을 핫스팟 테이블에 기재하고, 우선 순위 11 이하에 해당하는 실행코드 블록에 대한 정보는 핫스팟 테이블에 기재되지 않을 수 있다. 즉, 우선 순위 10 이상의 실행코드 블록만이 캐시 메모리에 저장되고, 우선 순위 11 이하에 해당하는 실행코드 블록은 캐시 메모리에 저장되지 않을 수 있다. In this way, the information of the code blocks executed in the hotspot table is described, but the hotspot can be classified based on a threshold set in consideration of the size of the cache memory. For example, if the threshold value is 10, only the priority 10 up to 10, the address information for the execution code block, etc., is written in the hotspot table, and the information about the execution code block, which is lower than the priority 11, may not be written in the hotspot table. have. That is, only execution blocks of priority 10 or higher are stored in the cache memory, and execution blocks of priority 11 or lower may not be stored in the cache memory.
또한, 운용 서버(100)는 문맥 상황 테이블(Context table)을 생성하고 상기 생성된 문맥 상황 테이블을 이용하여 코드 블록을 빠르게 탐색할 수 있다. In addition, the
구체적으로는, 상기 문맥 상황 테이블은 도 3에 도시된 바와 같이 실행된 코드 블록에 대한 주소 정보와 다음 코드 블록에 대한 주소 정보를 저장할 수 있고, 코드 블록이 캐시 메모리에 저장될 때 다음 코드 블록도 캐시 메모리에 함께 저장될 수 있다. 따라서, 운용 서버(100)는 특정 코드 블록 실행 후 다음 코드 블록 요청시 상기 문맥 상황 테이블을 참조하여 바로 캐시 메모리에서 상기 다음 코드 블록을 탐색할 수 있다. 결과적으로, 코드 블록을 IoT 기기(102)로 제공하는 속도가 빨라질 수 있다. Specifically, the context situation table may store address information for the executed code block and address information for the next code block as shown in FIG. 3, and when the code block is stored in the cache memory, the next code block also Can be stored together in cache memory. Therefore, the
상기 문맥 상황 테이블을 생성하는 과정을 살펴보면, 런타임 동안 다음 코드 블록을 요청할 때 실행코드 블록과 후보 영역 코드 블록을 상기 캐시 메모리에 함께 탑재하며, 코드 블록 실행 후 다음 코드 블록에 대한 주소 정보를 상기 문맥 상황 테이블에 저장할 수 있다. 이러한 과정을 통하여 문맥 상황 테이블이 생성될 수 있다. 즉, 특정 코드 블록 실행 후 다음 실행될 가능성이 높은 코드 블록에 대한 주소 정보를 상기 특정 코드 블록에 대한 주소 정보와 함께 상기 문맥 상황 테이블에 미리 기록할 수 있다. 다만, 특정 코드 블록에 대한 주소 정보와 상기 특정 코드 블록과 상관된 코드 블록(다음 실행될 가능성이 높은 코드 블록)에 대한 주소 정보가 상기 문맥 상황 테이블에 미리 저장되어 있는 한, 상기 문맥 상황 테이블 생성 방법은 제한되지 않는다. Looking at the process of generating the context situation table, when a next code block is requested during runtime, an execution code block and a candidate region code block are loaded together in the cache memory, and after executing the code block, address information for the next code block is placed in the context. Can be stored in the situation table. Through this process, a context situation table can be generated. That is, after execution of a specific code block, address information for a code block that is likely to be executed next may be previously recorded in the context situation table together with address information for the specific code block. However, as long as address information for a specific code block and address information for a code block correlated with the specific code block (code block most likely to be executed next) are previously stored in the context situation table, the context situation table generation method Is not limited.
이하, 이러한 핫스팟 테이블 및 문맥 상황 테이블을 이용하여 IoT 기기(102)로 코드 블록을 제공하는 과정을 살펴보겠다. Hereinafter, a process of providing a code block to the
도 4를 참조하면, 운용 서버(100)의 스케줄러의 데이터 매니저는 IoT 기기(102)로부터 코드 블록 요청 패킷을 포함하는 코드 블록 요청 신호를 수신한다. 여기서, 상기 코드 블록 요청 패킷은 시작 비트(STX), IoT 기기(102)의 ID, 코드 블록의 주소 정보(IoT 기기(102)에서의 주소 정보) 및 끝비트(ETX)를 포함할 수 있다. Referring to FIG. 4, the data manager of the scheduler of the
이어서, 상기 스케줄러는 상기 수신된 코드 블록 요청 패킷으로부터 상기 ID와 상기 코드 블록의 주소 정보를 파싱하여 분리시키고, 상기 분리된 ID와 상기 코드 블록의 주소 정보를 스케줄 테이블에 저장할 수 있다. Subsequently, the scheduler may parse and separate the ID and the address information of the code block from the received code block request packet, and store the separated ID and the address information of the code block in a schedule table.
계속하여, 상기 스케줄러는 상기 코드 블록의 주소 정보를 운용 서버(100)의 주소 정보로 변환할 수 있다. 이는 IoT 기기(102)에서의 코드 블록이 저장된 메모리의 주소와 운용 서버(100)에서 코드 블록이 저장된 메모리의 주소가 다르기 때문이다. Subsequently, the scheduler may convert the address information of the code block into address information of the
이어서, 운용 서버(100)의 관리부는 탐색 테이블을 이용하여 상기 변환된 주소 정보가 저장부 또는 램(캐시 메모리)에 저장되어 있는 지를 판단할 수 있다. 여기서, 상기 탐색 테이블은 상기 핫스팟 테이블 또는 상기 문맥 상황 테이블을 포함할 수 있다. Subsequently, the management unit of the
계속하여, 상기 관리부는 상기 판단에 따라 상기 저장부 또는 상기 램에서 코드 블록을 탐색할 수 있다. Subsequently, the management unit may search for a code block in the storage unit or the RAM according to the determination.
구체적으로는, 상기 관리부는 상기 변환된 주소 정보가 상기 핫스팟 테이블에 기록된 주소 정보이면 상기 램에서 상기 변환된 주소 정보에 해당하는 코드 블록을 탐색할 수 있다. Specifically, if the converted address information is address information recorded in the hot spot table, the management unit may search for a code block corresponding to the converted address information in the RAM.
또한, 상기 관리부는 상기 문맥 상황 테이블을 참조하여 상기 변환된 주소 정보가 이전에 참조된 코드 블록과 상관된 코드 블록이면, 상기 램에서 변환된 주소 정보에 해당하는 코드 블록을 탐색할 수 있다. Further, the management unit may search for a code block corresponding to the converted address information in the RAM if the converted address information is a code block correlated with the previously referenced code block by referring to the context situation table.
그러나, 상기 관리부는 상기 변환된 주소 정보가 상기 핫스팟 테이블에 기록된 주소 정보 또는 이전에 참조된 코드 블록이 아니면 상기 저장부(예를 들어, 하드 디스크)로 상기 변환된 주소 정보에 해당하는 코드 블록을 탐색할 수 있다. However, if the converted address information is not the address information recorded in the hotspot table or a previously referenced code block, the management unit is a code block corresponding to the converted address information to the storage unit (for example, a hard disk). You can browse.
또한, 상기 관리부는 상기 핫스팟 테이블 또는 상기 문맥 상황 테이블을 참조하여 상기 램으로 상기 변환된 주소 정보에 해당하는 코드 블록을 탐색하였으나 상기 램에 상기 코드 블록이 존재하지 않는 경우, 상기 저장부로 상기 변환된 주소 정보에 해당하는 코드 블록을 다시 탐색할 수 있다. In addition, the management unit searches the code block corresponding to the address information converted to the RAM with reference to the hotspot table or the context status table, but if the code block does not exist in the RAM, the converted unit is converted into the storage unit. The code block corresponding to the address information can be searched again.
이어서, 상기 스케줄러는 상기 탐색된 코드 블록을 IoT 기기(102)의 주소 정보로 변환할 수 있다. Subsequently, the scheduler may convert the searched block of code into address information of the
계속하여, 상기 스케줄러는 상기 변환된 주소 정보를 스케줄 테이블에 등록하고, 상기 데이터 매니저를 통하여 상기 변환된 주소 정보를 포함하는 코드 블록 패킷을 포함하는 코드 블록 신호를 생성한 후 IoT 기기(102)로 전송할 수 있다. Subsequently, the scheduler registers the converted address information in a schedule table, generates a code block signal including a code block packet including the converted address information through the data manager, and then transmits it to the
정리하면, 본 실시예의 운용 서버(100)는 IoT 기기(102)로부터 코드 블록 요청시 핫스팟 테이블 또는 문맥 상황 테이블을 참조하여 상기 램에 저장된 코드 블록에 대하여는 상기 램으로부터 상기 코드 블록을 탐색하여 탐색 시간을 단축시킬 수 있다. In summary, the
여기서, 상기 핫스팟 테이블 또는 상기 문맥 상황 테이블은 상기 운용 플랫폼 시스템 동작 전에 미리 생성되어 운용 서버(100)에 저장될 수도 있고, 상기 운용 플랫폼 시스템을 동작시키면서 생성되어 운용 서버(100)에 저장될 수도 있다. 다만, 효율적인 운용 플랫폼 시스템 구동을 위해서는 상기 핫스팟 테이블 및 상기 문맥 상황 테이블이 상기 운용 플랫폼 시스템 동작 전에 시뮬레이션을 통하여 미리 생성되어 운용 서버(100)에 저장되는 것이 바람직하다. Here, the hot spot table or the context situation table may be generated in advance before the operation platform system operation and stored in the
도 5는 본 발명의 일 실시예에 따른 운용 서버를 도시한 블록도이다. 5 is a block diagram showing an operation server according to an embodiment of the present invention.
도 5를 참조하면, 본 실시예의 운용 서버(100)는 제어부(500), 통신부(502), 코드 분석부(504), 데이터 매니저(506), 스케줄링부(508), 이진 변환부(510), 탐색부(512), 저장부(514) 및 램(516)을 포함할 수 있다. 여기서, 데이터 매니저(506), 스케줄링부(508) 및 이진 변환부(510)는 스케줄러를 구성할 수 있고, 상기 스케줄러와 탐색부(512)는 관리부를 구성할 수 있다. Referring to FIG. 5, the
통신부(502)는 IoT 기기들(102)과의 통신 연결 통로이다. The
코드 분석부(504)는 자주 실행되는 코드 블록에 대한 정보를 저장하는 핫스팟 테이블 또는 실행된 코드 블록과 관련된 코드 블록에 대한 정보를 저장하는 문맥 상황 테이블을 생성할 수 있다. The
데이터 매니저(506)는 IoT 기기(102)로부터 전송된 코드 블록 요청 패킷으로부터 IoT 기기(102)의 ID 및 코드 블록의 주소 정보를 파싱하여 분리시킬 수 있다. The
또한, 데이터 매니저(506)는 탐색부(512)로부터 전송된 코드 블록의 주소 정보를 포함하는 코드 블록 패킷을 생성하고, 상기 생성된 코드 블록 패킷을 IoT 기기(102)로 전송할 수 있다. In addition, the
스케줄링부(508)는 상기 분리된 코드 블록의 주소 정보를 스케줄 테이블에 등록한 후 이진 변환부(510)로 제공하며, 이진 변환부(510)에 의해 변환된 탐색부(512)에 의해 탐색된 코드 블록의 주소 정보를 스케줄 테이블에 등록한 후 데이터 매니저(506)로 제공할 수 있다. The
이진 변환부(510)는 상기 분리된 코드 블록의 주소 정보를 운용 서버(100)의 메모리의 주소 정보로 변환하고, 탐색부(512)에 의해 탐색된 코드 블록의 주소 정보를 IoT 기기(102)의 주소 정보로 변환할 수 있다. The
탐색부(512)는 핫스팟 테이블 또는 문맥 상황 테이블을 참조하여 상기 변환된 코드 블록의 주소 정보에 해당하는 코드 블록을 저장부(514) 또는 램(516)으로부터 탐색할 수 있다. The
저장부(514)는 코드 블록들을 저장하고 있으며, 예를 들어 하드 디스크일 수 있다. The
램(516)은 예를 들어 캐시 메모리로서, 상기 핫스팟 테이블에 저장된 코드 블록 또는 이전 참조된 코드 블록과 상관된 코드 블록을 저장할 수 있다. The
제어부(500)는 운용 서버(100)의 구성요소들의 동작을 전반적으로 제어한다. The
한편, 전술된 실시예의 구성 요소는 프로세스적인 관점에서 용이하게 파악될 수 있다. 즉, 각각의 구성 요소는 각각의 프로세스로 파악될 수 있다. 또한 전술된 실시예의 프로세스는 장치의 구성 요소 관점에서 용이하게 파악될 수 있다.Meanwhile, the components of the above-described embodiment can be easily grasped from a process point of view. That is, each component can be identified by each process. Also, the process of the above-described embodiment can be easily grasped from the perspective of the components of the device.
또한 앞서 설명한 기술적 내용들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, the above-described technical contents may be recorded in a computer-readable medium by being implemented in the form of program instructions that can be executed through various computer means. The computer-readable medium may include program instructions, data files, data structures, or the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiments, or may be known and available to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs, DVDs, and magnetic media such as floptical disks. -Hardware devices specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language code that can be executed by a computer using an interpreter, etc., as well as machine language codes produced by a compiler. The hardware device can be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다. The above-described embodiments of the present invention have been disclosed for purposes of illustration, and those skilled in the art having various knowledge of the present invention will be able to make various modifications, changes, and additions within the spirit and scope of the present invention. It should be regarded as belonging to the following claims.
100 : 운용 서버 102 : IoT 기기100: production server 102: IoT device
Claims (9)
상기 획득된 코드 블록의 정보에 해당하는 코드 블록을 탐색하는 탐색부;
적어도 하나의 코드 블록을 저장하는 저장부; 및
사용빈도가 높은 코드 블록으로 지정된 코드 블록 또는 이전에 참조된 코드 블록과 상관된 코드 블록을 저장하는 램을 포함하되,
상기 탐색부는 상기 획득된 코드 블록의 정보에 해당하는 코드 블록이 사용빈도가 높은 코드 블록으로 지정된 코드 블록이거나 상기 이전에 참조된 코드 블록과 상관된 코드 블록인 경우 상기 램으로부터 해당 코드블록을 탐색하고, 탐색 결과 상기 코드 블록이 상기 램에 존재하지 않으면 상기 코드 블록을 상기 저장부에서 다시 탐색하는 것을 특징으로 하는 운용 서버. A data manager that acquires information of a code block from a code block request packet transmitted from an external device;
A search unit for searching a code block corresponding to the obtained code block information;
A storage unit for storing at least one code block; And
Includes a RAM that stores code blocks designated as frequently used code blocks or code blocks correlated with previously referenced code blocks.
When the code block corresponding to the information of the obtained code block is a code block designated as a code block having a high use frequency or a code block correlated with the previously referenced code block, the search unit searches for the corresponding code block from the RAM. , If the code block does not exist in the RAM as a result of the search, the operation server searches for the code block again in the storage unit.
상기 탐색 전 상기 핫스팟 테이블에 저장된 주소 정보에 해당하는 코드 블록 또는 상기 문맥 상황 테이블에 저장된 주소 정보에 해당하는 코드 블록이 상기 램에 미리 저장되고,
상기 탐색부는 상기 획득된 코드 블록의 정보가 상기 핫스팟 테이블 또는 상기 문맥 상황 테이블에 저장된 정보에 해당하면 상기 획득된 코드 블록의 정보에 해당하는 코드 블록을 상기 램으로부터 탐색하며,
상기 탐색 결과 상기 코드 블록이 상기 램에 존재하지 않으면 상기 저장부에서 상기 코드 블록을 다시 탐색하는 것을 특징으로 하는 운용 서버. According to claim 1, The external device is an IoT device, and the address information, frequency of use, or priority of the designated code block is stored in advance in a hot spot table, and the address information of the previously referenced code block and a code correlated thereto The address information of the block is stored in the context situation table in advance,
Before the search, the code block corresponding to the address information stored in the hotspot table or the code block corresponding to the address information stored in the context situation table is previously stored in the RAM
When the information of the obtained code block corresponds to information stored in the hotspot table or the context situation table, the search unit searches for a code block corresponding to the obtained code block information from the RAM,
If the code block does not exist in the RAM as a result of the search, the storage server searches for the code block again in the storage unit.
상기 획득된 코드 블록의 주소 정보를 스케줄 테이블에 기록하는 스케줄링부; 및
상기 획득된 코드 블록의 주소 정보를 상기 운용 서버의 주소 정보로 변환하고, 상기 탐색부에 의해 탐색된 코드 블록의 주소 정보를 상기 외부 기기의 주소 정보로 변환하는 이진 변환부를 더 포함하되,
상기 스케줄링부는 상기 변환된 탐색부에 의해 탐색된 코드 블록의 주소 정보를 상기 스케줄 테이블에 기록하는 것을 특징으로 하는 운용 서버.According to claim 2,
A scheduling unit that records the obtained address information of the code block in a schedule table; And
Further comprising a binary conversion unit for converting the address information of the obtained code block to the address information of the operation server, and converts the address information of the code block searched by the search unit to the address information of the external device,
The scheduling server records the address information of the code block searched by the converted search unit in the schedule table.
상기 획득된 코드 블록의 정보에 해당하는 코드 블록을 탐색하는 단계를 포함하되,
상기 획득된 코드 블록의 정보에 해당하는 코드 블록이 사용 빈도가 높은 코드 블록으로 지정된 코드 블록이거나 상기 이전에 참조된 코드 블록과 상관된 코드 블록인 경우 램으로부터 상기 코드 블록을 탐색하며, 상기 획득된 코드 블록의 정보에 해당하는 코드 블록이 사용빈도가 높은 코드 블록으로 지정된 코드 블록이 아니고 상기 이전에 참조된 코드 블록과 상관된 코드 블록도 아닌 경우 저장부에서 상기 코드 블록을 탐색하는 것을 특징으로 하는 운용 서버 동작 방법. Obtaining information of a code block from a code block request packet transmitted from an external device; And
Searching for a code block corresponding to the information of the obtained code block,
When the code block corresponding to the information of the obtained code block is a code block designated as a code block having a high frequency of use or a code block correlated with the previously referenced code block, the code block is searched from RAM, and the obtained code block is obtained. When the code block corresponding to the information of the code block is not a code block designated as a code block having a high frequency of use and is not a code block correlated with the previously referenced code block, the storage unit searches for the code block. How the production server works.
상기 외부 기기로부터 전송된 코드 블록 요청 패킷으로부터 상기 코드 블록의 주소 정보를 분리시켜 획득하는 단계; 및
상기 획득된 코드 블록의 주소 정보를 상기 운용 서버의 주소 정보로 변환하는 단계를 포함하되,
상기 변환된 주소 정보에 기초하여 상기 코드 블록을 상기 램 또는 상기 저장부로부터 탐색하는 것을 특징으로 하는 운용 서버 동작 방법. The method of claim 6, wherein obtaining the information of the code block comprises:
Separating and acquiring address information of the code block from a code block request packet transmitted from the external device; And
And converting the address information of the obtained code block into address information of the operation server,
And searching the code block from the RAM or the storage unit based on the converted address information.
상기 탐색된 코드 블록의 주소 정보를 상기 외부 기기의 주소 정보로 변환하는 단계; 및
상기 변환된 주소 정보를 가지는 코드 블록 패킷을 생성하여 상기 외부 기기로 전송하는 단계를 더 포함하는 것을 특징으로 하는 운용 서버 동작 방법. The method of claim 6,
Converting address information of the searched code block into address information of the external device; And
And generating a code block packet having the converted address information and transmitting the code block packet to the external device.
런타임 동안 사용빈도가 높은 코드 블록의 주소 정보 및 호출 빈도를 핫스팟 테이블에 저장하고, 실행된 코드 블록의 주소 정보 및 상관된 코드 블록의 주소 정보를 문맥 상황 테이블에 저장하되,
상기 핫스팟 테이블에 저장된 주소 정보에 해당하는 코드 블록 또는 상기 이전 참조된 코드 블록 및 이와 상관된 코드 블록이 상기 문맥 상황 테이블을 참조하여 상기 탐색 전에 미리 상기 램에 저장되며, 상기 핫스팟 테이블 또는 상기 문맥 상황 테이블에 기초하여 상기 탐색이 이루어지는 것을 특징으로 하는 운용 서버 동작 방법.
The method of claim 6,
During runtime, the address information and the frequency of calls of frequently used code blocks are stored in a hotspot table, and the address information of executed code blocks and correlated code blocks are stored in a contextual situation table.
The code block corresponding to the address information stored in the hot spot table or the previously referenced code block and the code block correlated therewith is stored in the RAM in advance before the search with reference to the context condition table, and the hot spot table or the context condition The operation server operating method characterized in that the search is made based on a table.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20190000230 | 2019-01-02 | ||
KR1020190000230 | 2019-01-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20200084294A true KR20200084294A (en) | 2020-07-10 |
Family
ID=71604036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190175337A KR20200084294A (en) | 2019-01-02 | 2019-12-26 | Operation server for searching code block using hot spot extraction and operation platform system including the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20200084294A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102314815B1 (en) * | 2020-07-28 | 2021-10-20 | 경북대학교 산학협력단 | Dynamic re-adaptive code synthesis system and method for learning user interaction |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170102937A (en) | 2015-01-06 | 2017-09-12 | 어페로, 인크. | System and method for implementing Internet (IoT) remote control applications |
-
2019
- 2019-12-26 KR KR1020190175337A patent/KR20200084294A/en not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170102937A (en) | 2015-01-06 | 2017-09-12 | 어페로, 인크. | System and method for implementing Internet (IoT) remote control applications |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102314815B1 (en) * | 2020-07-28 | 2021-10-20 | 경북대학교 산학협력단 | Dynamic re-adaptive code synthesis system and method for learning user interaction |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102192503B1 (en) | Method and system for providing virtual desktop service using cache server | |
US8701104B2 (en) | System and method for user agent code patch management | |
CN111078318A (en) | Method, device and system for processing configuration file and storage medium | |
KR100725386B1 (en) | Method for executing virtual machine application, and the digital broadcast receiver thereof | |
WO2019205828A1 (en) | Android service framework, and method and device for implementing extended service | |
WO2008060050A1 (en) | Apparatus and method for parsing domain profile in software communication architecture | |
KR100962403B1 (en) | System and method for providing integrated software management | |
KR102337962B1 (en) | System and method for executing application based on microservice architecture and computer program for the same | |
CN107729042A (en) | Mobile solution upgrade method and device, storage medium, electronic equipment | |
US11379551B2 (en) | Latency minimization in mobile applications | |
KR20070000867A (en) | Apparatus and method for providing update file, and apparatus and method for downloading update file using the same | |
EP3872630B1 (en) | Request processing method and apparatus, electronic device, and computer storage medium | |
KR20200084294A (en) | Operation server for searching code block using hot spot extraction and operation platform system including the same | |
US11755534B2 (en) | Data caching method and node based on hyper-converged infrastructure | |
US20100179980A1 (en) | Cache system for mobile communications devices | |
US11372627B2 (en) | System and method for providing integrated development environment (IDE) for programmable software system | |
KR101412614B1 (en) | METHOD, TERMINAL AND COMPUTER-READABLE RECORDING MEDIA FOR COMPILING JAVASCRIPT INCLUDED IN WEB APPLICATION USING AOT (Ahead Of Time) | |
JPH11328138A (en) | Distributed computer system | |
EP2053504A1 (en) | System and method for managing processing resources | |
KR100716169B1 (en) | Apparatus and method for processing the message for network management system | |
CN116400945B (en) | Dynamic link library upgrading method, electronic equipment and storage medium | |
KR101834530B1 (en) | Dynamic collaboration service platform and Method for providing an application service at the same platform | |
CN116541015B (en) | Back-end storage method, device, server and storage medium | |
CN116974653B (en) | Class loading method and system | |
JP2004192038A (en) | Information processor, information processing system, information processing program, and storage medium recording program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |