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 PDF

Info

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
Application number
KR1020190175337A
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 (주)카네비컴
Publication of KR20200084294A publication Critical patent/KR20200084294A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches 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

Disclosed are an operation server for searching a code block by using hot spot extraction and an operation platform system including the same. The operation server comprises: a data manager obtaining code block information from a code block request packet transmitted from an external device; a search part searching for a code block corresponding to the obtained code block information; a storage part storing at least one code block; and a RAM storing a code block designated as a frequently used code block or a code block associated with a previously referenced code block, wherein the search part searches for a corresponding code block from the RAM when the code block corresponding to the obtained code block information is the code block designated as the frequently used code block or the code block correlated with the previously referenced code block, and searches for the code block again in the storage part when the code block does not exist in the RAM as the search result.

Description

핫스팟 추출을 이용하여 코드 블록을 탐색하는 운용 서버 및 이를 포함하는 운용 플랫폼 시스템{OPERATION SERVER FOR SEARCHING CODE BLOCK USING HOT SPOT EXTRACTION AND OPERATION PLATFORM SYSTEM INCLUDING THE SAME}Operation server for searching code blocks using hot spot extraction and an operating platform system including the same{OPERATION SERVER FOR SEARCHING CODE BLOCK USING HOT SPOT EXTRACTION AND OPERATION PLATFORM SYSTEM INCLUDING THE SAME}

본 발명은 핫스팟 추출을 이용하여 코드 블록을 탐색하는 운용 서버 및 이를 포함하는 운용 플랫폼 시스템에 관한 것이다. 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.

KRKR 10-2017-010293710-2017-0102937 AA

본 발명은 핫스팟 추출을 이용하여 코드 블록을 탐색하는 운용 서버 및 이를 포함하는 운용 플랫폼 시스템을 제공하는 것이다.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 operating server 100 and at least one electronic device (eg, IoT device, 102). The electronic device may be referred to as an external device in that it exists outside of the operation server 100. However, the electronic device in which the program is executed by the operation server 100 is not limited to the IoT device. Hereinafter, for convenience of description, it is assumed that the electronic device 102 is an IoT device.

IoT 기기(102)는 고정된 실행파일을 미리 설치하고 있지는 않으며, 실행파일로 이루어진 코드 블록을 운용 서버(100)로부터 다운받아 실행시킬 수 있다. 이 경우, 상기 실행된 코드 블록에 해당하는 애플리케이션이 실행될 수 있다. The IoT device 102 does not pre-install a fixed executable file, and can download and execute a code block made of the executable file from the operation server 100. In this case, an application corresponding to the executed code block may be executed.

예를 들어, IoT 기기(102)는 자신의 고유번호와 수행하고자 하는 다음 함수의 주소 정보를 가지는 코드 블록 요청 신호를 운용 서버(100)로 전송하고, 상기 요청 신호에 해당하는 함수의 코드 블록을 가지는 코드 블록 신호를 운용 서버(100)로부터 수신하며, 상기 코드 블록 신호의 코드 블록을 실행시킬 수 있다. For example, the IoT device 102 transmits a code block request signal having its own number and address information of the next function to be performed to the operation server 100, and transmits a code block of the function corresponding to the request signal. The branch receives the code block signal from the operation server 100 and can execute the code block of the code block signal.

IoT 기기(102)는 초기 동작을 위한 부트로더가 탑재되어 있는 롬(ROM), 통신망상에서 운용 서버(100)와의 데이터 송수신이 가능하며 운용 서버(100)로부터 애플리케이션 기능을 수행할 수 있는 실행코드들이 함수를 이루고 있는 코드 블록을 수신하는 통신부, 상기 통신부를 통하여 수신한 코드 블록이 일시 저장된 상태로 실행되면서 애플리케이션 기능을 수행하고 그러한 기능 수행에 의해 획득한 데이터를 일시 저장하는 램(RAM), IoT 기기(102)의 구성요소들의 동작을 전반적으로 제어하는 프로세서를 포함할 수 있다. The IoT device 102 can transmit and receive data to and from the operation server 100 over a communication network (ROM) with a boot loader for initial operation, and execution codes capable of performing application functions from the operation server 100 A communication unit that receives a code block constituting a function, a RAM that performs an application function while temporarily executing a code block received through the communication unit and temporarily stores data obtained by performing the function, IoT device It may include a processor for controlling the overall operation of the components of (102).

종래의 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 device 102 of the present invention does not need a flash memory because it does not store and use code blocks by itself, so that the IoT device 102 can be miniaturized and the cost can be reduced. In addition, since the IoT device 102 downloads and uses the corresponding code block from the operation server 100 when the execution code is changed, it is possible to conveniently and quickly change the function of the application or update the execution code.

예를 들어, 도 2에 도시된 바와 같이 운용 서버(100)는 함수1(Function1) 내지 함수7(Function7) 및 메인 함수를 저장하고, IoT 기기(102)에는 메인 함수, 함수6, 함수3 및 함수1을 수행하기 위한 코드 블록을 탑재하여 해당 함수에 대응하는 실행코드를 실행시킬 수 있다. For example, as shown in FIG. 2, the operation server 100 stores functions 1 (Function 1) to function 7 (Function 7) and a main function, and the IoT device 102 has a main function, a function 6, a function 3 and A code block for performing function 1 may be mounted to execute execution code corresponding to the function.

이를 위하여 IoT 기기(102)가 롬에 탑재된 부트로더에 의해 초기화된 후, 운용 서버(100)의 스케줄러는 메인 함수를 요청하는 요청 메시지를 생성하여 IoT 기기(102)의 램에 메인 함수를 탑재시켜 해당 실행코드에 따른 기능을 수행시킬 수 있다. To this end, after the IoT device 102 is initialized by the boot loader mounted on the ROM, the scheduler of the operation server 100 generates a request message requesting the main function and mounts the main function in the RAM of the IoT device 102 To execute the function according to the execution code.

이어서, 운용 서버(100)는 프레임 체크와 동적 주소 변환을 하면서 다양한 기능을 수행할 수 있는 함수들을 IoT 기기(102)의 램에 탑재시켜 실행시킬 수 있다. Subsequently, the operation server 100 may load and execute functions capable of performing various functions while performing frame check and dynamic address translation in the RAM of the IoT device 102.

이와 같이 스케줄러에 의해 메인함수를 포함하는 여러 함수의 코드 블록이 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 device 102 by the scheduler while performing a given function, if a jump instruction condition such as an event occurs, In order to execute the next function that satisfies the conditions, the function loaded in the memory area of RAM is searched and the given function is performed when the function is already loaded. Otherwise, it is requested and provided to the operation server 100 for execution. I can do it.

이때, IoT 기기(102)의 메모리 영역에 이미 메인함수와, 함수6, 함수3 및 함수1이 탑재되어 있어 IoT 기기(102)에 함수가 추가적으로 탑재될 메모리 영역이 부족하여 새로운 함수의 추가가 어려울 경우, 상기 스케줄러는 최근에 가장 적게 사용되고 있는 코드 블록인 함수1(Function1)의 어드레스를 새로운 함수가 추가될 어드레스로 선택하여 교체시킬 수 있으며, 그 결과 IoT 기기(102)에 의해 구현할 수 있는 기능을 쉽게 변경할 수 있다. At this time, since the main function, function 6, function 3, and function 1 are already installed in the memory area of the IoT device 102, it is difficult to add a new function due to insufficient memory area to which the function is additionally mounted in the IoT device 102. In the case, the scheduler can select and replace the address of Function 1, which is the least recently used code block, as an address to which a new function is added, and as a result, a function that can be implemented by the IoT device 102. Easy to change.

이와 같이 IoT 기기(102)는 상기 스케줄러에 의해 수행하고자 하는 기능에 적합한 실행코드로 이루어진 코드 블록들만을 선택적으로 제공받아 램에 탑재하여 실행시킴으로써, 특정 기능 실행에 불필요한 코드를 제거할 수 있고 그로 인해 IoT 기기(102)에 탑재되는 소프트웨어를 최적화할 수 있고, 상기 프로세서는 메모리 상에 있는 모든 실행코드들에 균일하게 접근하지 않고 주로 사용되는 기능과 관련된 특정 실행코드의 어드레스만을 집중적으로 참조하도록 구성될 수 있다. 결과적으로, IoT 기기(102)에서의 기능 수행이 보다 빠르게 이루어질 수 있다. As described above, the IoT device 102 may selectively receive only code blocks made of executable code suitable for a function to be performed by the scheduler and mount it in RAM to execute, thereby removing unnecessary code for executing a specific function and thereby It is possible to optimize the software mounted on the IoT device 102, and the processor is configured to intensively reference only the address of a specific executable code related to a function mainly used without uniformly accessing all executable codes in memory. Can be. As a result, function execution in the IoT device 102 may be performed more quickly.

이하, 운용 서버(100)의 동작을 구체적으로 살펴보겠다. Hereinafter, the operation of the operation server 100 will be described in detail.

우선, 운용 플랫폼 시스템 구동 전에, 운용 서버(100)는 도 3에 도시된 바와 같이 사전 시뮬레이션을 통하여 핫스팟 테이블을 생성할 수 있다.First, before driving the operating platform system, the operating server 100 may generate a hot spot table through pre-simulation as illustrated in FIG. 3.

구체적으로는, 운용 서버(100)는 코드 블록들을 저장하는 저장부(예를 들어, 하드 디스크) 및 사용빈도가 높은 코드 블록을 저장하는 램(예를 들어, 캐시 메모리)를 포함하며, 컴파일된 실행 파일을 런타임하는 동안 사용빈도가 높은 코드 블록을 상기 캐시 메모리에 저장할 수 있다. Specifically, the operation server 100 includes a storage unit (for example, a hard disk) for storing code blocks and RAM (for example, cache memory) for storing high-use code blocks, and is compiled. During runtime of an executable file, a block of frequently used code may be stored in the cache memory.

이 때, 실행된 코드 블록에 대한 주소 정보 및 실행 카운터 기반 호출 빈도를 핫스팟 테이블(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, priority 2 may be assigned to the hotspot table.

이와 같이 핫스팟 테이블에 실행된 코드 블록들의 정보를 기재하되, 상기 캐시 메모리의 사이즈를 고려하여 설정된 임계값에 기초하여 핫스팟을 분류할 수 있다. 예를 들어, 임계값이 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 operation server 100 may generate a context table and quickly search for a code block using the generated context table.

구체적으로는, 상기 문맥 상황 테이블은 도 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 operation server 100 may immediately search for the next code block in the cache memory by referring to the context status table when requesting the next code block after executing a specific code block. As a result, the speed of providing the code block to the IoT device 102 may be increased.

상기 문맥 상황 테이블을 생성하는 과정을 살펴보면, 런타임 동안 다음 코드 블록을 요청할 때 실행코드 블록과 후보 영역 코드 블록을 상기 캐시 메모리에 함께 탑재하며, 코드 블록 실행 후 다음 코드 블록에 대한 주소 정보를 상기 문맥 상황 테이블에 저장할 수 있다. 이러한 과정을 통하여 문맥 상황 테이블이 생성될 수 있다. 즉, 특정 코드 블록 실행 후 다음 실행될 가능성이 높은 코드 블록에 대한 주소 정보를 상기 특정 코드 블록에 대한 주소 정보와 함께 상기 문맥 상황 테이블에 미리 기록할 수 있다. 다만, 특정 코드 블록에 대한 주소 정보와 상기 특정 코드 블록과 상관된 코드 블록(다음 실행될 가능성이 높은 코드 블록)에 대한 주소 정보가 상기 문맥 상황 테이블에 미리 저장되어 있는 한, 상기 문맥 상황 테이블 생성 방법은 제한되지 않는다. 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 IoT device 102 using the hotspot table and the context situation table will be described.

도 4를 참조하면, 운용 서버(100)의 스케줄러의 데이터 매니저는 IoT 기기(102)로부터 코드 블록 요청 패킷을 포함하는 코드 블록 요청 신호를 수신한다. 여기서, 상기 코드 블록 요청 패킷은 시작 비트(STX), IoT 기기(102)의 ID, 코드 블록의 주소 정보(IoT 기기(102)에서의 주소 정보) 및 끝비트(ETX)를 포함할 수 있다. Referring to FIG. 4, the data manager of the scheduler of the operation server 100 receives a code block request signal including a code block request packet from the IoT device 102. Here, the code block request packet may include a start bit (STX), an ID of the IoT device 102, address information of the code block (address information in the IoT device 102), and an end bit (ETX).

이어서, 상기 스케줄러는 상기 수신된 코드 블록 요청 패킷으로부터 상기 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 operation server 100. This is because the address of the memory in which the code block is stored in the IoT device 102 is different from the address of the memory in which the code block is stored in the operation server 100.

이어서, 운용 서버(100)의 관리부는 탐색 테이블을 이용하여 상기 변환된 주소 정보가 저장부 또는 램(캐시 메모리)에 저장되어 있는 지를 판단할 수 있다. 여기서, 상기 탐색 테이블은 상기 핫스팟 테이블 또는 상기 문맥 상황 테이블을 포함할 수 있다. Subsequently, the management unit of the operation server 100 may determine whether the converted address information is stored in the storage unit or RAM (cache memory) using a search table. Here, the search table may include the hotspot table or the context situation table.

계속하여, 상기 관리부는 상기 판단에 따라 상기 저장부 또는 상기 램에서 코드 블록을 탐색할 수 있다. 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 device 102.

계속하여, 상기 스케줄러는 상기 변환된 주소 정보를 스케줄 테이블에 등록하고, 상기 데이터 매니저를 통하여 상기 변환된 주소 정보를 포함하는 코드 블록 패킷을 포함하는 코드 블록 신호를 생성한 후 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 IoT device 102. Can transmit.

정리하면, 본 실시예의 운용 서버(100)는 IoT 기기(102)로부터 코드 블록 요청시 핫스팟 테이블 또는 문맥 상황 테이블을 참조하여 상기 램에 저장된 코드 블록에 대하여는 상기 램으로부터 상기 코드 블록을 탐색하여 탐색 시간을 단축시킬 수 있다. In summary, the operation server 100 of the present embodiment searches for the code block from the RAM for the code block stored in the RAM by referring to the hotspot table or the context status table when requesting the code block from the IoT device 102, and searches for the code block. Can be shortened.

여기서, 상기 핫스팟 테이블 또는 상기 문맥 상황 테이블은 상기 운용 플랫폼 시스템 동작 전에 미리 생성되어 운용 서버(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 operation server 100, or may be generated while operating the operation platform system and stored in the operation server 100. . However, in order to efficiently operate the operating platform system, it is preferable that the hot spot table and the context situation table are generated in advance through simulation before the operating platform system operation and stored in the operating server 100.

도 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 operation server 100 of the present embodiment includes a control unit 500, a communication unit 502, a code analysis unit 504, a data manager 506, a scheduling unit 508, and a binary conversion unit 510. , A search unit 512, a storage unit 514, and a RAM 516. Here, the data manager 506, the scheduling unit 508, and the binary conversion unit 510 may configure a scheduler, and the scheduler and the search unit 512 may constitute a management unit.

통신부(502)는 IoT 기기들(102)과의 통신 연결 통로이다. The communication unit 502 is a communication connection path with the IoT devices 102.

코드 분석부(504)는 자주 실행되는 코드 블록에 대한 정보를 저장하는 핫스팟 테이블 또는 실행된 코드 블록과 관련된 코드 블록에 대한 정보를 저장하는 문맥 상황 테이블을 생성할 수 있다. The code analysis unit 504 may generate a hotspot table that stores information about frequently executed code blocks or a contextual situation table that stores information about code blocks related to the executed code blocks.

데이터 매니저(506)는 IoT 기기(102)로부터 전송된 코드 블록 요청 패킷으로부터 IoT 기기(102)의 ID 및 코드 블록의 주소 정보를 파싱하여 분리시킬 수 있다. The data manager 506 may parse and separate the ID information of the IoT device 102 and the address information of the code block from the code block request packet transmitted from the IoT device 102.

또한, 데이터 매니저(506)는 탐색부(512)로부터 전송된 코드 블록의 주소 정보를 포함하는 코드 블록 패킷을 생성하고, 상기 생성된 코드 블록 패킷을 IoT 기기(102)로 전송할 수 있다. In addition, the data manager 506 may generate a code block packet including address information of the code block transmitted from the search unit 512 and transmit the generated code block packet to the IoT device 102.

스케줄링부(508)는 상기 분리된 코드 블록의 주소 정보를 스케줄 테이블에 등록한 후 이진 변환부(510)로 제공하며, 이진 변환부(510)에 의해 변환된 탐색부(512)에 의해 탐색된 코드 블록의 주소 정보를 스케줄 테이블에 등록한 후 데이터 매니저(506)로 제공할 수 있다. The scheduling unit 508 registers the address information of the separated code block in the schedule table and provides it to the binary conversion unit 510, and the code searched by the search unit 512 converted by the binary conversion unit 510 After registering the address information of the block in the schedule table, it can be provided to the data manager 506.

이진 변환부(510)는 상기 분리된 코드 블록의 주소 정보를 운용 서버(100)의 메모리의 주소 정보로 변환하고, 탐색부(512)에 의해 탐색된 코드 블록의 주소 정보를 IoT 기기(102)의 주소 정보로 변환할 수 있다. The binary conversion unit 510 converts the address information of the separated code block into address information of the memory of the operation server 100, and the IoT device 102 converts the address information of the code block searched by the search unit 512. Can be converted into address information.

탐색부(512)는 핫스팟 테이블 또는 문맥 상황 테이블을 참조하여 상기 변환된 코드 블록의 주소 정보에 해당하는 코드 블록을 저장부(514) 또는 램(516)으로부터 탐색할 수 있다. The search unit 512 may search the code block corresponding to the address information of the converted code block from the storage unit 514 or the RAM 516 by referring to the hot spot table or the context status table.

저장부(514)는 코드 블록들을 저장하고 있으며, 예를 들어 하드 디스크일 수 있다. The storage unit 514 stores code blocks, and may be, for example, a hard disk.

램(516)은 예를 들어 캐시 메모리로서, 상기 핫스팟 테이블에 저장된 코드 블록 또는 이전 참조된 코드 블록과 상관된 코드 블록을 저장할 수 있다. The RAM 516 is, for example, a cache memory, and may store code blocks stored in the hotspot table or code blocks correlated with previously referenced code blocks.

제어부(500)는 운용 서버(100)의 구성요소들의 동작을 전반적으로 제어한다. The control unit 500 controls overall operations of the components of the operation server 100.

한편, 전술된 실시예의 구성 요소는 프로세스적인 관점에서 용이하게 파악될 수 있다. 즉, 각각의 구성 요소는 각각의 프로세스로 파악될 수 있다. 또한 전술된 실시예의 프로세스는 장치의 구성 요소 관점에서 용이하게 파악될 수 있다.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.
제1항에 있어서, 상기 외부 기기는 IoT 기기이고, 상기 지정된 코드 블록의 주소 정보, 사용 빈도 또는 우선 순위가 핫스팟 테이블에 미리 저장되어 있으며, 상기 이전 참조된 코드 블록의 주소 정보 및 이와 상관된 코드 블록의 주소 정보가 문맥 상황 테이블에 미리 저장되어 있되,
상기 탐색 전 상기 핫스팟 테이블에 저장된 주소 정보에 해당하는 코드 블록 또는 상기 문맥 상황 테이블에 저장된 주소 정보에 해당하는 코드 블록이 상기 램에 미리 저장되고,
상기 탐색부는 상기 획득된 코드 블록의 정보가 상기 핫스팟 테이블 또는 상기 문맥 상황 테이블에 저장된 정보에 해당하면 상기 획득된 코드 블록의 정보에 해당하는 코드 블록을 상기 램으로부터 탐색하며,
상기 탐색 결과 상기 코드 블록이 상기 램에 존재하지 않으면 상기 저장부에서 상기 코드 블록을 다시 탐색하는 것을 특징으로 하는 운용 서버.
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.
제2항에 있어서, 상기 탐색부는 상기 획득된 코드 블록의 정보가 상기 핫스팟 테이블 또는 상기 문맥 상황 테이블에 존재하지 않는 경우 상기 저장부로부터 상기 정보에 해당하는 코드 블록을 탐색하는 것을 특징으로 하는 운용 서버. The operation server according to claim 2, wherein the search unit searches for a code block corresponding to the information from the storage unit when the obtained information of the code block does not exist in the hot spot table or the context situation table. . 제2항에 있어서,
상기 획득된 코드 블록의 주소 정보를 스케줄 테이블에 기록하는 스케줄링부; 및
상기 획득된 코드 블록의 주소 정보를 상기 운용 서버의 주소 정보로 변환하고, 상기 탐색부에 의해 탐색된 코드 블록의 주소 정보를 상기 외부 기기의 주소 정보로 변환하는 이진 변환부를 더 포함하되,
상기 스케줄링부는 상기 변환된 탐색부에 의해 탐색된 코드 블록의 주소 정보를 상기 스케줄 테이블에 기록하는 것을 특징으로 하는 운용 서버.
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.
제1항에 있어서, 상기 외부 기기는 IoT 기기이고, 상기 램은 캐시 메모리이며, 상기 저장부는 하드 디스크인 것을 특징으로 하는 운용 서버. The operation server of claim 1, wherein the external device is an IoT device, the RAM is a cache memory, and the storage unit is a hard disk. 외부 기기로부터 전송된 코드 블록 요청 패킷으로부터 코드 블록의 정보를 획득하는 단계; 및
상기 획득된 코드 블록의 정보에 해당하는 코드 블록을 탐색하는 단계를 포함하되,
상기 획득된 코드 블록의 정보에 해당하는 코드 블록이 사용 빈도가 높은 코드 블록으로 지정된 코드 블록이거나 상기 이전에 참조된 코드 블록과 상관된 코드 블록인 경우 램으로부터 상기 코드 블록을 탐색하며, 상기 획득된 코드 블록의 정보에 해당하는 코드 블록이 사용빈도가 높은 코드 블록으로 지정된 코드 블록이 아니고 상기 이전에 참조된 코드 블록과 상관된 코드 블록도 아닌 경우 저장부에서 상기 코드 블록을 탐색하는 것을 특징으로 하는 운용 서버 동작 방법.
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.
제6항에 있어서, 상기 코드 블록의 정보를 획득하는 단계는,
상기 외부 기기로부터 전송된 코드 블록 요청 패킷으로부터 상기 코드 블록의 주소 정보를 분리시켜 획득하는 단계; 및
상기 획득된 코드 블록의 주소 정보를 상기 운용 서버의 주소 정보로 변환하는 단계를 포함하되,
상기 변환된 주소 정보에 기초하여 상기 코드 블록을 상기 램 또는 상기 저장부로부터 탐색하는 것을 특징으로 하는 운용 서버 동작 방법.
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.
제6항에 있어서,
상기 탐색된 코드 블록의 주소 정보를 상기 외부 기기의 주소 정보로 변환하는 단계; 및
상기 변환된 주소 정보를 가지는 코드 블록 패킷을 생성하여 상기 외부 기기로 전송하는 단계를 더 포함하는 것을 특징으로 하는 운용 서버 동작 방법.
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.
제6항에 있어서,
런타임 동안 사용빈도가 높은 코드 블록의 주소 정보 및 호출 빈도를 핫스팟 테이블에 저장하고, 실행된 코드 블록의 주소 정보 및 상관된 코드 블록의 주소 정보를 문맥 상황 테이블에 저장하되,
상기 핫스팟 테이블에 저장된 주소 정보에 해당하는 코드 블록 또는 상기 이전 참조된 코드 블록 및 이와 상관된 코드 블록이 상기 문맥 상황 테이블을 참조하여 상기 탐색 전에 미리 상기 램에 저장되며, 상기 핫스팟 테이블 또는 상기 문맥 상황 테이블에 기초하여 상기 탐색이 이루어지는 것을 특징으로 하는 운용 서버 동작 방법.

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.

KR1020190175337A 2019-01-02 2019-12-26 Operation server for searching code block using hot spot extraction and operation platform system including the same KR20200084294A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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