KR101955715B1 - Embedded system including a plurality of self-adaptive applications - Google Patents

Embedded system including a plurality of self-adaptive applications Download PDF

Info

Publication number
KR101955715B1
KR101955715B1 KR1020160040346A KR20160040346A KR101955715B1 KR 101955715 B1 KR101955715 B1 KR 101955715B1 KR 1020160040346 A KR1020160040346 A KR 1020160040346A KR 20160040346 A KR20160040346 A KR 20160040346A KR 101955715 B1 KR101955715 B1 KR 101955715B1
Authority
KR
South Korea
Prior art keywords
self
adaptive
resource manager
system resource
parameter
Prior art date
Application number
KR1020160040346A
Other languages
Korean (ko)
Other versions
KR20170112774A (en
Inventor
이문수
석종수
정영준
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020160040346A priority Critical patent/KR101955715B1/en
Publication of KR20170112774A publication Critical patent/KR20170112774A/en
Application granted granted Critical
Publication of KR101955715B1 publication Critical patent/KR101955715B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명에 따른 복수의 자가적응형 어플리케이션들을 포함하는 임베디드 시스템은 상기 자가적응형 어플리케이션들을 실행하는 중앙처리장치, 그리고 상기 자가적응형 어플리케이션들 및 상기 자가적응형 어플리케이션들의 리소스 관리하는 시스템 리소스 관리기가 로드되는 워킹 메모리를 포함하되, 상기 자가적응형 어플리케이션들 각각은 품질 요구사항, 제어 파라미터 및 성능 측정 정보를 상기 시스템 리소스 관리기에 전달하는 모니터링 어뎁터, 그리고 상기 제어 파라미터를 이용하여 제어 파라미터 테이블을 생성하는 가상 액츄에이터를 포함하고, 상기 시스템 리소스 관리기는 상기 자가적응형 어플리케이션들 각각의 상기 품질 요구사항, 상기 제어 파라미터 및 상기 성능 측정 정보를 수신하여 가상 액츄에이터 테이블을 생성하고, 그리고 상기 품질 요구사항과 상기 성능 측정 정보를 비교하여 그 결과에 따라 상기 가상 액츄에이터 테이블에서 선택된 파라미터 아이디를 상기 가상 액츄에이터로 전송하고, 상기 자가적응형 어플리케이션들 각각의 가상 액츄에이터는 상기 파라미터 아이디에 따라 상기 자가적응형 어플리케이션들 각각의 성능을 제어한다.An embedded system including a plurality of self-adaptive applications according to the present invention includes a central processing unit that executes the self-adaptive applications, and a system resource manager that manages resources of the self-adaptive applications and the self- Wherein each of the self-adaptive applications comprises a monitoring adapter for delivering quality requirements, control parameters and performance measurement information to the system resource manager, and a virtual adapter for generating a control parameter table using the control parameters. Wherein the system resource manager receives the quality requirement, the control parameter and the performance measurement information of each of the self-adaptive applications to generate a virtual actuator table, and And comparing the quality requirement with the performance measurement information, and transmitting a parameter ID selected in the virtual actuator table to the virtual actuator according to a result of the comparison, wherein each of the virtual actuators of the self- And controls the performance of each of the adaptive applications.

Description

복수의 자가적응형 어플리케이션들을 포함하는 임베디드 시스템{EMBEDDED SYSTEM INCLUDING A PLURALITY OF SELF-ADAPTIVE APPLICATIONS}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to an embedded system including a plurality of self-adaptive applications.

본 발명은 임베디드 시스템에 관한 것으로, 좀 더 구체적으로는 복수의 자가적응형 어플리케이션들을 포함하는 임베디드 시스템에 관한 것이다.The present invention relates to an embedded system, and more particularly to an embedded system including a plurality of self-adaptive applications.

임베디드 시스템(embedded system)은 기계나 기타 제어가 필요한 시스템에 대해, 제어를 위한 특정 기능을 수행하는 컴퓨터 시스템으로 장치 내에 존재하는 전자 시스템이다. 즉, 임베디드 시스템은 전체 장치의 일부분으로 구성되며, 제어가 필요한 시스템을 위한 두뇌 역할을 하는 특정 목적의 컴퓨터 시스템이다. 이에 비해 개인용 컴퓨터와 같은 특정되지 않는 일반적인 목적을 수행하는 컴퓨터 시스템과 대조된다. 특정 목적을 수행하는 컴퓨터 시스템이므로 목적을 설정하고 이를 수행하는 프로그램 코드를 작성하여 메모리에 기록하고 이를 읽어 동작시키는 방법이 일반적이다.An embedded system is an electronic system that exists in a device as a computer system that performs certain functions for control of a machine or other system requiring control. That is, an embedded system is a specific purpose computer system that is configured as part of an overall device and serves as a brain for systems that need control. As opposed to a computer system that performs a non-specific, general purpose, such as a personal computer. Since it is a computer system that performs a specific purpose, it is a common practice to write a program code for setting a purpose and performing it, write it in a memory, and read and operate it.

최근 응용 프로그램의 성능을 높여줄 수 있도록, 임베디드 시스템의 핵심인 CPU, GPU, 메모리, 네트워크 장치 등의 하드웨어는 계속 고성능화되고 있다. 하지만, 높은 사양을 요구하는 고품질의 어플리케이션과 콘텐츠가 지속적으로 개발됨에 따라 사용자는 지속적으로 시스템 성능 저하를 경험하게 된다. 또한, 시스템 개발자는 다양한 형태의 디바이스 출현으로 해당 시스템에 대한 어플리케이션이나 콘텐츠를 최적화하는데 많은 시간과 노력이 요구된다.In recent years, hardware such as CPU, GPU, memory, and network devices, which are the core of embedded systems, has been continuously upgraded to enhance the performance of application programs. However, as high-quality applications and content that require high specifications are constantly being developed, users are constantly experiencing system performance degradation. In addition, system developers are required to spend a lot of time and effort in optimizing applications and contents for the system by the appearance of various types of devices.

본 발명의 목적은 시스템 리소스 관리기를 통해 자원을 효율적으로 관리하는 복수의 자가적응형 어플리케이션들을 포함하는 임베디드 시스템을 제공하는 데 있다.It is an object of the present invention to provide an embedded system including a plurality of self-adaptive applications for efficiently managing resources through a system resource manager.

본 발명에 따른 복수의 자가적응형 어플리케이션들을 포함하는 임베디드 시스템은 상기 자가적응형 어플리케이션들을 실행하는 중앙처리장치, 그리고 상기 자가적응형 어플리케이션들 및 상기 자가적응형 어플리케이션들의 리소스 관리하는 시스템 리소스 관리기가 로드되는 워킹 메모리를 포함하되, 상기 자가적응형 어플리케이션들 각각은 품질 요구사항, 제어 파라미터 및 성능 측정 정보를 상기 시스템 리소스 관리기에 전달하는 모니터링 어뎁터, 그리고 상기 제어 파라미터를 이용하여 제어 파라미터 테이블을 생성하는 가상 액츄에이터를 포함하고, 상기 시스템 리소스 관리기는 상기 자가적응형 어플리케이션들 각각의 상기 품질 요구사항, 상기 제어 파라미터 및 상기 성능 측정 정보를 수신하여 가상 액츄에이터 테이블을 생성하고, 그리고 상기 품질 요구사항과 상기 성능 측정 정보를 비교하여 그 결과에 따라 상기 가상 액츄에이터 테이블에서 선택된 파라미터 아이디를 상기 가상 액츄에이터로 전송하고, 상기 자가적응형 어플리케이션들 각각의 가상 액츄에이터는 상기 파라미터 아이디에 따라 상기 자가적응형 어플리케이션들 각각의 성능을 제어한다.An embedded system including a plurality of self-adaptive applications according to the present invention includes a central processing unit that executes the self-adaptive applications, and a system resource manager that manages resources of the self-adaptive applications and the self- Wherein each of the self-adaptive applications comprises a monitoring adapter for delivering quality requirements, control parameters and performance measurement information to the system resource manager, and a virtual adapter for generating a control parameter table using the control parameters. Wherein the system resource manager receives the quality requirement, the control parameter and the performance measurement information of each of the self-adaptive applications to generate a virtual actuator table, and And comparing the quality requirement with the performance measurement information, and transmitting a parameter ID selected in the virtual actuator table to the virtual actuator according to a result of the comparison, wherein each of the virtual actuators of the self- And controls the performance of each of the adaptive applications.

본 발명의 실시 예에 따르면, 시스템 리소스 관리기를 통해 자원을 효율적으로 관리하는 복수의 자가적응형 어플리케이션들을 포함하는 임베디드 시스템을 제공할 수 있다.According to an embodiment of the present invention, an embedded system including a plurality of self-adaptive applications for efficiently managing resources through a system resource manager can be provided.

도 1은 본 발명의 실시 예에 따른 임베디드 시스템을 보여주는 블록도이다.
도 2는 본 발명의 실시 예에 따른 복수의 자가적응형 어플리케이션들을 지원하는 임베디드 시스템의 동작을 보여주는 블록도이다.
도 3은 도 2의 가상 액츄에이터의 동작을 자세히 보여주는 블록도이다.
도 4는 본 발명의 실시 예에 따른 제어 파라미터 선택 과정을 보여주는 순서도이다.
1 is a block diagram illustrating an embedded system in accordance with an embodiment of the present invention.
2 is a block diagram illustrating the operation of an embedded system supporting a plurality of self-adaptive applications in accordance with an embodiment of the present invention.
3 is a block diagram showing in detail the operation of the virtual actuator of FIG.
4 is a flowchart illustrating a control parameter selection process according to an embodiment of the present invention.

앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다. 참조부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.It is to be understood that both the foregoing general description and the following detailed description are exemplary and should provide a further description of the claimed invention. Reference numerals are shown in detail in the preferred embodiments of the present invention, examples of which are shown in the drawings. Wherever possible, the same reference numbers are used in the description and drawings to refer to the same or like parts.

이하에서는, 임베디드 시스템이 본 발명의 특징 및 기능을 설명하기 위한 장치의 한 예로서 사용될 것이다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 또한, 본 발명은 다른 실시 예들을 통해 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고, 관점 및 응용에 따라 수정되거나 변경될 수 있다.Hereinafter, an embedded system will be used as an example of an apparatus for explaining features and functions of the present invention. However, those skilled in the art will readily appreciate other advantages and capabilities of the present invention in accordance with the teachings herein. Further, the present invention may be implemented or applied through other embodiments. In addition, the detailed description may be modified or changed in accordance with the aspects and applications without departing substantially from the scope, technical ideas and other objects of the present invention.

도 1은 본 발명의 실시 예에 따른 임베디드 시스템을 보여주는 블록도이다. 도 1을 참조하면, 임베디드 시스템(1000)은 중앙처리장치(100), 워킹 메모리(200), 입출력 장치(300), 저장 장치(400), 그리고 시스템 버스(500)를 포함할 수 있다.1 is a block diagram illustrating an embedded system in accordance with an embodiment of the present invention. Referring to FIG. 1, an embedded system 1000 may include a central processing unit 100, a working memory 200, an input / output unit 300, a storage unit 400, and a system bus 500.

중앙처리장치(100)는 임베디드 시스템(1000)에서 수행될 소프트웨어(운영 체제, 응용 프로그램들, 장치 드라이버들)를 실행한다. 중앙처리장치(100)는 워킹 메모리(200)에 로드되는 운영체제(210)를 실행할 것이다. 중앙처리장치(100)는 운영 체제(210) 기반에서 구동될 다양한 자가적응형 어플리케이션들(220)을 실행할 것이다.The central processing unit 100 executes software (operating system, application programs, device drivers) to be executed in the embedded system 1000. The central processing unit 100 will execute the operating system 210 loaded into the working memory 200. [ The central processing unit 100 will execute various self-adaptive applications 220 that will be run on the operating system 210 basis.

워킹 메모리(200)에는 운영 체제(210), 자가적응형 어플리케이션들(220) 또는 시스템 리소스 관리기(230)가 로드될 것이다. 임베디드 시스템(1000)의 부팅 시에 저장 장치(400)에 저장된 OS 이미지(미도시됨)가 부팅 시퀀스에 의거하여 워킹 메모리(200)로 로드될 것이다. 운영 체제(210)에 의해서 임베디드 시스템(1000)의 제반 입출력 동작들이 지원될 수 있다. 마찬가지로, 사용자의 의하여 선택되거나 기본적인 서비스 제공을 위해서 자가적응형 어플리케이션들(220)이 워킹 메모리(200)에 로드될 수 있다. 워킹 메모리(200)는 SRAM(Static Random Access Memory)이나 DRAM(Dynamic Random Access Memory)과 같은 휘발성 메모리이거나, PRAM, MRAM, ReRAM, FRAM, NOR 플래시 메모리 등의 비휘발성 메모리일 수 있다.The working memory 200 may be loaded with the operating system 210, the self-adaptive applications 220, or the system resource manager 230. An OS image (not shown) stored in the storage device 400 at the time of booting of the embedded system 1000 will be loaded into the working memory 200 based on the boot sequence. All operations of the embedded system 1000 by the operating system 210 can be supported. Likewise, the self-adaptive applications 220 may be loaded into the working memory 200 for selection by the user or provision of basic services. The working memory 200 may be a volatile memory such as a static random access memory (SRAM) or a dynamic random access memory (DRAM), or a nonvolatile memory such as a PRAM, an MRAM, a ReRAM, a FRAM, and a NOR flash memory.

자가적응형 어플리케이션들(220)은 각 어플리케이션 내에 품질 요구사항을 가질 수 있다. 자가적응형 어플리케이션들(220)은 자신의 성능을 조절할 수 있는 제어 파라미터를 가질 수 있다. 자가적응형 어플리케이션들(220)은 소정의 시간 주기로 자신들의 성능을 측정하여 성능 측정 정보를 생성할 수 있다. 예를 들면, 자가적응형 어플리케이션들(220)은 소정의 동작 품질을 만족하지 못할 경우 내부 실행 경로 또는 내부 실행 알고리즘을 변경하여 동작 품질을 유지할 수 있다. 자가적응형 어플리케이션들(220)은 품질 요구사항과 성능 측정 정보를 비교하여 제어 파라미터를 통해 동작 품질을 유지할 수 있다. 다만, 자가적응형 어플리케이션들(220)이 서로의 품질 요구사항을 모르는 경우, 자가적응형 어플리케이션들(220) 각각은 자신들의 성능을 낮춰 소극적으로 실행될 수 있다. 따라서, 자가적응형 어플리케이션들(220)의 외부에서 각 어플리케이션의 성능을 모니터링하고, 전체 어플리케이션들을 제어하는 것이 필요하다.The self-adaptive applications 220 may have quality requirements in each application. The self-adaptive applications 220 may have control parameters that can control their performance. The self-adaptive applications 220 may measure their performance at predetermined time intervals to generate performance measurement information. For example, the self-adaptive applications 220 may change the internal execution path or the internal execution algorithm to maintain the operation quality if the predetermined operation quality is not satisfied. The self-adaptive applications 220 can compare quality requirements and performance measurement information to maintain operational quality through control parameters. However, if the self-adaptive applications 220 do not know each other's quality requirements, each of the self-adaptive applications 220 can be run passively by lowering their performance. Therefore, it is necessary to monitor the performance of each application outside the self-adaptive applications 220 and to control the entire applications.

시스템 리소스 관리기(230)는 자가적응형 어플리케이션들(220)로부터 품질 요구사항, 제어 파라미터 및 성능 측정 정보를 수신할 수 있다. 시스템 리소스 관리기(230)는 수신된 품질 요구사항, 제어 파라미터 및 성능 측정 정보를 자가적응형 어플리케이션 별로 각각 관리할 수 있다. 시스템 리소스 관리기(230)는 품질 요구사항과 성능 측정 정보를 비교하여 자가적응형 어플리케이션들(220) 각각의 성능 적정성을 판별할 수 있다. 시스템 리소스 관리기(230)는 판별 결과에 따라 자가적응형 어플리케이션들(220) 각각으로 제어가 필요한 파라미터 아이디를 전송할 수 있다. 자가적응형 어플리케이션들(220) 각각은 수신된 파라미터 아이디를 이용하여 자신의 성능을 제어할 수 있다. 따라서, 시스템 리소스 관리기(230)는 자가적응형 어플리케이션들(220)의 성능을 제어하여 전체적인 자원을 효율적으로 관리할 수 있다.System resource manager 230 may receive quality requirements, control parameters, and performance measurement information from self-adaptive applications 220. The system resource manager 230 may manage the received quality requirements, control parameters, and performance measurement information for each self-adaptive application. The system resource manager 230 may compare the quality requirement and performance measurement information to determine the performance adequacy of each of the self-adaptive applications 220. The system resource manager 230 may transmit the parameter IDs required to be controlled to each of the self-adaptive applications 220 according to the determination result. Each of the self-adaptive applications 220 may control its performance using a received parameter ID. Accordingly, the system resource manager 230 can efficiently manage the entire resources by controlling the performance of the self-adaptive applications 220.

입출력 장치(300)는 사용자 인터페이스 장치들로부터의 사용자 입력 및 출력을 제어한다. 예를 들면, 입출력 장치(300)는 키패드, 터치패드와 같은 입력 장치를 구비하여 사용자로부터 명령을 입력받을 수 있다. 그리고 입출력 장치(300)는 디스플레이 등의 출력 장치를 구비하여 임베디드 시스템(1000)의 수행 과정이나 수행 결과 등을 표시할 수 있다.The input / output device 300 controls user input and output from the user interface devices. For example, the input / output device 300 may include an input device such as a keypad and a touchpad to receive commands from a user. The input / output device 300 may include an output device such as a display device to display an execution process and an execution result of the embedded system 1000.

저장 장치(400)는 임베디드 시스템(1000)의 저장 매체(Storage Medium)로서 제공된다. 저장 장치(400)는 운영 체제 이미지(OS Image), 자가적응형 어플리케이션들(220), 시스템 리소스 관리기(230) 및 각종 데이터를 저장할 수 있다. 저장 장치(400)는 메모리 카드(MMC, eMMC, SD, MicroSD 등)나 하드디스크 드라이브(HDD)로 제공될 수도 있다. 저장 장치(400)는 대용량의 저장 능력을 가지는 낸드 플래시 메모리(NAND-type Flash memory)를 포함할 수 있다. 또는, 저장 장치(400)는 PRAM, MRAM, ReRAM, FRAM 등의 차세대 불휘발성 메모리나 NOR 플래시 메모리를 포함할 수도 있다.The storage device 400 is provided as a storage medium of the embedded system 1000. The storage device 400 may store an operating system image (OS Image), self-adaptive applications 220, a system resource manager 230, and various data. The storage device 400 may be provided as a memory card (MMC, eMMC, SD, MicroSD, etc.) or a hard disk drive (HDD). The storage device 400 may include a NAND-type flash memory having a large storage capacity. Alternatively, the storage device 400 may include a next generation nonvolatile memory such as PRAM, MRAM, ReRAM, and FRAM, or a NOR flash memory.

시스템 버스(500)는 임베디드 시스템(1000)의 내부에서 네트워크를 제공하기 위한 인터커넥터로 제공될 것이다. 시스템 버스(500)를 통해서 중앙처리장치(100), 워킹 메모리(200), 입출력 장치(300), 그리고 저장 장치(400)가 전기적으로 연결되고 상호 데이터를 교환할 수 있다. 하지만, 시스템 버스(500)의 구성은 상술한 설명에만 국한되지 않으며, 효율적인 관리를 위한 중재 수단들을 더 포함할 수 있다.The system bus 500 will be provided as an interconnector for providing a network inside the embedded system 1000. [ The central processing unit 100, the working memory 200, the input / output unit 300, and the storage unit 400 are electrically connected through the system bus 500 and exchange data with each other. However, the configuration of the system bus 500 is not limited to the above description, and may further include arbitration means for efficient management.

이상에서 살펴 본 바와 같이, 임베디드 시스템(1000)은 시스템 리소스 관리기(230)를 통해 임베디드 시스템(1000)의 자원을 효율적으로 관리할 수 있다. 예를 들면, 시스템 리소스 관리기(230)는 자가적응형 어플리케이션들(220) 각각의 품질 요구사항 및 제어 파라미터를 저장할 수 있다. 시스템 리소스 관리기(230)는 자가적응형 어플리케이션들(220)로부터 소정의 주기로 성능 측정 정보를 수신할 수 있다. 시스템 리소스 관리기(230)는 자가적응형 어플리케이션들(220) 각각의 품질 요구사항과 성능 측정 정보를 비교할 수 있다. 비교 결과에 따라 시스템 리소스 관리기(230)는 성능 조절이 필요한 어플리케이션을 선택할 수 있다. 시스템 리소스 관리기(230)는 선택된 어플리케이션의 변경될 제어 파라미터를 선택할 수 있다. 시스템 리소스 관리기(230)는 선택된 어플리케이션에게 제어 파라미터 아이디를 전송할 수 있다. 선택된 어플리케이션은 수신된 제어 파라미터 아이디에 대응하는 제어 파라미터를 조절할 수 있다. 따라서, 임베디드 시스템(1000)은 자원을 통합적으로 관리할 수 있다.As described above, the embedded system 1000 can efficiently manage the resources of the embedded system 1000 through the system resource manager 230. For example, the system resource manager 230 may store the quality requirements and control parameters of each of the self-adaptive applications 220. The system resource manager 230 may receive performance measurement information from the self-adaptive applications 220 at predetermined intervals. System resource manager 230 may compare performance metrics and quality requirements of each self-adaptive application 220. According to the comparison result, the system resource manager 230 can select an application requiring performance adjustment. The system resource manager 230 may select a control parameter to be changed in the selected application. The system resource manager 230 may transmit the control parameter ID to the selected application. The selected application can adjust the control parameter corresponding to the received control parameter ID. Therefore, the embedded system 1000 can manage resources integrally.

도 2는 본 발명의 실시 예에 따른 복수의 자가적응형 어플리케이션들을 지원하는 임베디드 시스템의 동작을 보여주는 블록도이다. 도 2를 참조하면, 임베디드 시스템(1000)은 운영체제(210), 복수의 자가적응형 어플리케이션들(220) 및 시스템 리소스 관리기(230)를 통하여 구동될 수 있다. 자가적응형 어플리케이션들(220)은 자가적응형 어플리케이션(220a), 자가적응형 어플리케이션(220b) 및 자가적응형 어플리케이션(220c)을 포함할 수 있다. 이하에서는 자가적응형 어플리케이션(220a)이 예시적으로 설명될 것이다. 다른 자가적응형 어플리케이션들(220b, 220c)도 자가적응형 어플리케이션(220a)과 동일 또는 유사하게 동작할 수 있다. 또한, 워킹 메모리(200)에 더 많은 자가적응형 어플리케이션들이 로딩될 수 있다.2 is a block diagram illustrating the operation of an embedded system supporting a plurality of self-adaptive applications in accordance with an embodiment of the present invention. Referring to FIG. 2, the embedded system 1000 may be operated through an operating system 210, a plurality of self-adaptive applications 220, and a system resource manager 230. The self-adaptive applications 220 may include a self-adaptive application 220a, a self-adaptive application 220b, and a self-adaptive application 220c. Hereinafter, the self-adaptive application 220a will be exemplarily described. Other self-adaptive applications 220b, 220c may operate the same or similar to the self-adaptive application 220a. Further, more self-adaptive applications may be loaded into the working memory 200.

자가적응형 어플리케이션(220a)은 비즈니스 로직(221a), 모니터링 어뎁터(222a) 및 가상 액츄에이터(223a)를 포함할 수 있다. 예를 들면, 비즈니스 로직(221a)은 자가적응형 어플리케이션(220a)의 업무에 필요한 데이터 처리를 수행할 수 있다. 비즈니스 로직(221a)은 데이터 입력, 수정, 조회 및 보고서 처리 등을 수행하는 루틴을 의미한다. 비즈니스 로직(221a)은 호출 함수 또는 파라미터 정보를 모니터링 어뎁터(222a)에 제공할 수 있다.The self-adaptive application 220a may include business logic 221a, a monitoring adapter 222a, and a virtual actuator 223a. For example, the business logic 221a may perform data processing necessary for the task of the self-adaptive application 220a. The business logic 221a is a routine for performing data input, modification, inquiry, and report processing. Business logic 221a may provide the calling function or parameter information to monitoring adapter 222a.

모니터링 어뎁터(222a)는 품질 요구사항 및 성능 측정 정보를 시스템 리소스 관리기(230)에 전달할 수 있다. 예를 들면, 품질 요구사항은 자가적응형 어플리케이션(220a)의 정적 정보이다. 품질 요구사항은 자가적응형 어플리케이션(220a)이 처음 실행될 때 요구되는 성능 정보이다. 품질 요구사항은 어플리케이션 명칭, 응용 프로세스 아이디, 성능 최대치, 성능 최소치, 성능 적정값 등을 포함할 수 있다. 성능 측정 정보는 자가적응형 어플리케이션(220a)의 동적 정보이다. 성능 측정 정보는 비즈니스 로직(221a) 내의 체크 포인터가 실행될 때마다 측정되는 실행 소요 시간 등을 포함할 수 있다. 성능 측정 정보는 주기적으로 시스템 리소스 관리기(230)에 전송될 수 있다.The monitoring adapter 222a may communicate quality requirements and performance measurement information to the system resource manager 230. [ For example, the quality requirement is static information of the self-adaptive application 220a. The quality requirement is the performance information required when the self-adaptive application 220a is first run. The quality requirements may include the application name, application process ID, maximum performance, minimum performance, and performance proper value. The performance measurement information is dynamic information of the self-adaptive application 220a. The performance measurement information may include an execution execution time measured each time a check pointer in the business logic 221a is executed, and the like. The performance measurement information may be transmitted to the system resource manager 230 periodically.

모니터링 어뎁터(222a)는 제어 파라미터를 시스템 리소스 관리기(230) 또는 가상 액츄에이터(223a)에 전달할 수 있다. 예를 들면, 제어 파라미터는 비즈니스 로직(221a)에서 성능을 조절할 수 있는 실행 흐름, 함수 및 환경 설정 파라미터 등을 포함할 수 있다.The monitoring adapter 222a may communicate control parameters to the system resource manager 230 or the virtual actuator 223a. For example, the control parameters may include execution flows, functions, and configuration parameters, etc., that may control performance in the business logic 221a.

시스템 리소스 관리기(230)는 품질 요구사항 데이터베이스(231), 제어 파라미터 데이터베이스(232), 성능 측정 정보 데이터베이스(233) 및 피드백 제어기(234)를 포함할 수 있다. 예를 들면, 품질 요구사항 데이터베이스(231)는 자가적응형 어플리케이션들(220a~220c)로부터 수신되는 품질 요구사항들을 저장할 수 있다. 제어 파라미터 데이터베이스(232)는 자가적응형 어플리케이션들(220a~220c)로부터 수신되는 제어 파라미터들을 저장할 수 있다. 성능 측정 정보 데이터베이스(233)는 자가적응형 어플리케이션들(220a~220c)로부터 수신되는 성능 측정 정보들을 저장할 수 있다. 시스템 리소스 관리기(230)는 품질 요구사항, 제어 파라미터 및 성능 측정 정보를 자가적응형 어플리케이션 별로 각각 관리할 수 있다.The system resource manager 230 may include a quality requirements database 231, a control parameter database 232, a performance measurement information database 233, and a feedback controller 234. [ For example, the quality requirements database 231 may store quality requirements received from the self-adaptive applications 220a-220c. The control parameter database 232 may store control parameters received from the self-adaptive applications 220a-220c. The performance measurement information database 233 may store performance measurement information received from the self-adaptive applications 220a to 220c. The system resource manager 230 may manage quality requirements, control parameters, and performance measurement information for each self-adaptive application.

피드백 제어기(234)는 품질 요구사항 데이터베이스(231)로부터 자가적응형 어플리케이션(220a)의 품질 요구사항을 제공받을 수 있다. 피드백 제어기(234)는 성능 측정 정보 데이터베이스(233)에서 소정의 주기로 자가적응형 어플리케이션(220a)의 성능 측정 정보를 확인할 수 있다. 피드백 제어기(234)는 성능 측정 정보가 품질 요구사항의 성능 적정값을 만족하는지 또는 허용 범위 내에 있는지 여부를 판별할 수 있다. 성능 측정 정보가 성능 적정값을 만족하지 않는 경우 또는 허용 범위를 벗어날 경우, 피드백 제어기(234)는 성능 적정값을 만족하는 제어 파라미터를 선택하여 자가적응형 어플리케이션(220a)으로 전달할 수 있다. 예를 들면, 피드백 제어기(234)는 메시지 큐(211)를 통하여 선택된 제어 파라미터의 아이디를 가상 액츄에이터(223a)로 전달할 수 있다. 도 2에 도시되지 않았지만, 메시지 큐(211)를 대신하여, 운영체제(210)에 의해 프로세스 사이의 정보 공유를 위해 사용되는 TCP/IP 소켓, 공유 메모리 및 IPC는 제어 파라미터의 아이디를 전달하기 위해 사용될 수 있다.The feedback controller 234 may be provided with the quality requirements of the self-adaptive application 220a from the quality requirements database 231. [ The feedback controller 234 can check performance measurement information of the self-adaptive application 220a at predetermined intervals in the performance measurement information database 233. [ The feedback controller 234 can determine whether the performance measurement information satisfies the performance proper value of the quality requirement or is within the allowable range. If the performance measurement information does not satisfy the performance proper value or falls outside the allowable range, the feedback controller 234 may select the control parameter satisfying the performance proper value and deliver it to the self-adaptive application 220a. For example, the feedback controller 234 may pass the ID of the selected control parameter to the virtual actuator 223a via the message queue 211. [ Although not shown in FIG. 2, instead of the message queue 211, the TCP / IP sockets, shared memory, and IPC used for information sharing between processes by the operating system 210 are used for communicating the ID of the control parameter .

본 발명에 따른 시스템 리소스 관리기(230)는 자가적응형 어플리케이션별로 품질 요구사항과 성능 측정 정보를 비교하여 제어가 필요한 제어 파라미터를 결정할 수 있다. 자가적응형 어플리케이션들(220a~220c) 각각은 제어가 필요하다고 결정된 제어 파라미터를 변경하여 성능을 제어할 수 있다. 따라서, 임베디드 시스템(1000)의 자원은 시스템 리소스 관리기(230)에 의해 효율적으로 관리될 수 있다.The system resource manager 230 according to the present invention can determine the control parameters that need to be controlled by comparing quality requirement and performance measurement information for each self-adaptive application. Each of the self-adaptive applications 220a-220c can control performance by modifying control parameters determined to be necessary for control. Therefore, the resources of the embedded system 1000 can be efficiently managed by the system resource manager 230. [

이상에서 살펴 본 바와 같이, 시스템 리소스 관리기(230)는 자가적응형 어플리케이션별로 품질 요구사항과 성능 측정 정보를 비교하여 제어가 필요한 제어 파라미터를 결정할 수 있다. 예를 들면, 시스템 리소스 관리기(230)는 자가적응형 어플리케이션들(220) 각각의 품질 요구사항 및 제어 파라미터를 저장할 수 있다. 시스템 리소스 관리기(230)는 자가적응형 어플리케이션들(220)로부터 소정의 주기로 성능 측정 정보를 수신할 수 있다. 시스템 리소스 관리기(230)는 자가적응형 어플리케이션들(220) 각각의 품질 요구사항과 성능 측정 정보를 비교할 수 있다. 비교 결과에 따라 시스템 리소스 관리기(230)는 성능 조절이 필요한 어플리케이션(220a~220c)을 선택할 수 있다. 시스템 리소스 관리기(230)는 선택된 어플리케이션(220a~220c)의 변경될 제어 파라미터를 선택할 수 있다. 시스템 리소스 관리기(230)는 선택된 어플리케이션(220a~220c)에게 제어 파라미터 아이디를 전송할 수 있다. 선택된 어플리케이션(220a~220c)은 수신된 제어 파라미터 아이디에 대응하는 제어 파라미터를 조절할 수 있다. 따라서, 임베디드 시스템(1000)은 자원을 통합적으로 관리하고 효율적으로 사용할 수 있다.As described above, the system resource manager 230 can compare the quality requirement and the performance measurement information for each self-adaptive application to determine control parameters that need to be controlled. For example, the system resource manager 230 may store the quality requirements and control parameters of each of the self-adaptive applications 220. The system resource manager 230 may receive performance measurement information from the self-adaptive applications 220 at predetermined intervals. System resource manager 230 may compare performance metrics and quality requirements of each self-adaptive application 220. According to the comparison result, the system resource manager 230 can select the applications 220a to 220c that require performance adjustment. The system resource manager 230 may select control parameters to be changed of the selected applications 220a to 220c. The system resource manager 230 may transmit the control parameter ID to the selected applications 220a to 220c. The selected applications 220a to 220c can adjust the control parameters corresponding to the received control parameter IDs. Accordingly, the embedded system 1000 can integrally manage and efficiently use resources.

도 3은 도 2의 가상 액츄에이터의 동작을 자세히 보여주는 블록도이다. 도 3을 참조하면, 가상 액츄에이터(223a)는 비즈니스 로직(221a)의 특정 함수를 호출하거나 파라미터를 변경하여 임베디드 시스템(100, 도 1 참조)의 리소스를 효율적으로 사용하도록 제어할 수 있다.3 is a block diagram showing in detail the operation of the virtual actuator of FIG. Referring to FIG. 3, the virtual actuator 223a may control the resource of the embedded system 100 (see FIG. 1) to be efficiently used by calling a specific function of the business logic 221a or changing a parameter.

비즈니스 로직(221a)은 초기화 부분을 실행할 때 비즈니스 로직(221a)의 수행 성능을 변경할 수 있는 호출 함수 또는 파라미터 정보를 정적-동적 정보 모니터링 유닛(222a_1)에 전달할 수 있다.The business logic 221a may communicate call function or parameter information to the static-dynamic information monitoring unit 222a_1, which may change the performance of the business logic 221a when executing the initialization portion.

정적-동적 정보 모니터링 유닛(222a_1)은 수신된 호출 함수 또는 파라미터 정보를 이용하여 품질 요구사항을 시스템 리소스 관리기(230)에 전달할 수 있다. 예를 들면, 품질 요구사항은 자가적응형 어플리케이션(220a)의 정적 정보이다. 품질 요구사항은 어플리케이션 명칭, 응용 프로세스 아이디, 성능 최대치, 성능 최소치, 성능 적정값 등을 포함할 수 있다. The static-dynamic information monitoring unit 222a_1 can communicate the quality requirements to the system resource manager 230 using the received call function or parameter information. For example, the quality requirement is static information of the self-adaptive application 220a. The quality requirements may include the application name, application process ID, maximum performance, minimum performance, and performance proper value.

정적-동적 정보 모니터링 유닛(222a_1)은 제어 파라미터를 시스템 리소스 관리기(230) 또는 가상 액츄에이터(223a)에 전달할 수 있다. 예를 들면, 제어 파라미터는 비즈니스 로직(221a)에서 성능을 조절할 수 있는 실행 흐름, 함수 및 환경 설정 파라미터 등을 포함할 수 있다. 정적-동적 정보 모니터링 유닛(222a_1)은 자가적응형 어플리케이션(220a)을 제어하기 위해 필요한 최소한의 정보를 시스템 리소스 관리기(230)에 제공할 수 있다. 예를 들면, 정적-동적 정보 모니터링 유닛(222a_1)은 파라미터 아이디 및 파라미터 가중치를 시스템 리소스 관리기(230)에 전달할 수 있다.The static-dynamic information monitoring unit 222a_1 can deliver control parameters to the system resource manager 230 or the virtual actuator 223a. For example, the control parameters may include execution flows, functions, and configuration parameters, etc., that may control performance in the business logic 221a. The static-dynamic information monitoring unit 222a_1 can provide the system resource manager 230 with the minimum information necessary to control the self-adaptive application 220a. For example, the static-dynamic information monitoring unit 222a_1 may communicate the parameter ID and the parameter weight to the system resource manager 230. [

제어 파라미터 테이블 재구성기(223a_1)는 수신된 제어 파라미터들을 종합하여 제어 파라미터 테이블(CPTB)을 생성할 수 있다. 예를 들면, 제어 파라미터 테이블(CPTB)은 파라미터 명칭, 파라미터 아이디, 콜백 함수 또는 파라미터 설정을 위한 함수, 파라미터 포인터 정보, 및 파라미터 가중치를 포함할 수 있다. 파라미터 가중치는 자가적응형 어플리케이션(220a)의 파라미터들 사이의 중요도를 설정한 값이다.The control parameter table reconstructor 223a_1 can generate a control parameter table (CPTB) by combining the received control parameters. For example, the control parameter table CPTB may include a parameter name, a parameter ID, a function for setting a callback function or parameter, parameter pointer information, and a parameter weight. The parameter weight is a value that sets importance between the parameters of the self-adaptive application 220a.

정적-동적 정보 모니터링 유닛(222a_1)은 성능 측정 정보를 시스템 리소스 관리기(230)에 전달할 수 있다. 예를 들면, 성능 측정 정보는 자가적응형 어플리케이션(220a)의 동적 정보이다. 성능 측정 정보는 비즈니스 로직(221a) 내의 체크 포인터가 실행될 때마다 측정되는 실행 소요 시간 등을 포함할 수 있다.The static-dynamic information monitoring unit 222a_1 may transmit the performance measurement information to the system resource manager 230. [ For example, the performance measurement information is dynamic information of the self-adaptive application 220a. The performance measurement information may include an execution execution time measured each time a check pointer in the business logic 221a is executed, and the like.

시스템 리소스 관리기(230)는 정적-동적 정보 모니터링 유닛(222a_1)로부터 수신된 파라미터 아이디 및 파라미터 가중치에 기초하여 가상 액츄에이터 테이블(VATB)을 생성할 수 있다. 예를 들면, 파라미터 가중치는 대응하는 파라미터가 자가적응형 어플리케이션(220a)의 성능에 미치는 영향을 나타낸 것이다. 파라미터 가중치가 큰 경우, 대응하는 제어 파라미터는 자가적응형 어플리케이션(220a)의 성능 향상에 큰 영향을 미치는 것이다. 파라미터 가중치가 작은 경우, 대응하는 제어 파라미터는 자가적응형 어플리케이션(220a)의 성능 향상에 영향이 없는 것이다. 따라서, 시스템 리소스 관리기(230)가 큰 파라미터 가중치를 가지는 제어 파라미터를 선택하는 경우, 자가적응형 어플리케이션(220a)의 성능은 향상될 수 있다. 시스템 리소스 관리기(230)가 작은 파라미터 가중치를 가지는 제어 파라미터를 선택하는 경우, 자가적응형 어플리케이션(220a)의 성능은 감소하지만 다른 자가적응형 어플리케이션들(220b, 220c)이 시스템 리소스를 사용할 수 있다. 시스템 리소스 관리기(230)는 자가적응형 어플리케이션들(220a, 220b, 220c) 각각의 품질 요구사항 및 성능 측정 정보를 고려하여 전체 시스템 관점에서 향후 자가적응형 어플리케이션들(220a, 220b, 220c) 각각에 대한 시스템 리소스의 할당 크기를 정할 수 있다. 시스템 리소스 관리기(230)는 결정된 파라미터 아이디를 가상 액츄에이터(223a)의 간접 콜백 함수 호출기(223a_2)로 전달할 수 있다.The system resource manager 230 may generate the virtual actuator table VATB based on the parameter IDs and parameter weights received from the static-dynamic information monitoring unit 222a_1. For example, the parameter weights indicate the effect of corresponding parameters on the performance of the self-adaptive application 220a. If the parameter weights are large, the corresponding control parameters have a significant impact on the performance improvement of the self-adaptive application 220a. If the parameter weights are small, the corresponding control parameters are not affected by the performance enhancement of the self-adaptive application 220a. Therefore, when the system resource manager 230 selects a control parameter having a large parameter weight, the performance of the self-adaptive application 220a can be improved. When the system resource manager 230 selects control parameters with small parameter weights, the performance of the self-adaptive application 220a may be reduced, but other self-adaptive applications 220b and 220c may use the system resources. The system resource manager 230 may be configured to provide the self adaptive applications 220a, 220b, and 220c to the respective self adaptive applications 220a, 220b, and 220c in view of the quality requirements and performance measurement information of each of the self- You can set the allocation size of system resources for. The system resource manager 230 may transmit the determined parameter ID to the indirect callback function caller 223a_2 of the virtual actuator 223a.

간접 콜백 함수 호출기(223a_2)는 제어 파라미터 테이블(CPTB)을 이용하여 수신된 파라미터 아이디에 대응하는 제어 함수 또는 파라미터 포인터를 검색할 수 있다. 간접 콜백 함수 호출기(223a_2)는 제어 함수 또는 파라미터 포인터를 사용하여 비즈니스 로직(221a)의 특정 함수를 호출하거나 파라미터 값을 변경할 수 있다.The indirect callback function caller 223a_2 can retrieve the control function or parameter pointer corresponding to the received parameter ID using the control parameter table CPTB. The indirect callback function caller 223a_2 may call a specific function of the business logic 221a or change the parameter value using a control function or a parameter pointer.

이상에서 살펴 본 바와 같이, 시스템 리소스 관리기(230)는 자가적응형 어플리케이션 별로 품질 요구사항과 성능 측정 정보를 비교하여 제어가 필요한 제어 파라미터를 결정할 수 있다. 예를 들면, 시스템 리소스 관리기(230)는 자가적응형 어플리케이션들(220) 각각의 품질 요구사항 및 제어 파라미터를 저장할 수 있다. 시스템 리소스 관리기(230)는 자가적응형 어플리케이션들(220) 각각의 가상 액츄에이터 테이블(VATB)을 관리할 수 있다. 시스템 리소스 관리기(230)는 자가적응형 어플리케이션들(220) 각각으로부터 소정의 주기로 성능 측정 정보를 수신할 수 있다. 시스템 리소스 관리기(230)는 자가적응형 어플리케이션들(220) 각각의 품질 요구사항과 성능 측정 정보를 비교할 수 있다. 비교 결과에 따라 시스템 리소스 관리기(230)는 성능 조절이 필요한 어플리케이션을 선택할 수 있다. 시스템 리소스 관리기(230)는 선택된 어플리케이션의 변경될 제어 파라미터를 가상 액츄에이터 테이블(VATB)에서 선택할 수 있다. 시스템 리소스 관리기(230)는 선택된 어플리케이션에게 제어 파라미터 아이디를 전송할 수 있다. 선택된 어플리케이션은 수신된 제어 파라미터 아이디에 대응하는 제어 파라미터를 조절할 수 있다. 따라서, 임베디드 시스템(1000)은 자원을 통합적으로 관리하고 효율적으로 사용할 수 있다.As described above, the system resource manager 230 can compare the quality requirement and the performance measurement information for each self-adaptive application to determine control parameters that need to be controlled. For example, the system resource manager 230 may store the quality requirements and control parameters of each of the self-adaptive applications 220. The system resource manager 230 may manage the virtual actuator table (VATB) of each of the self-adaptive applications 220. The system resource manager 230 may receive performance measurement information from each of the self-adaptive applications 220 at predetermined intervals. System resource manager 230 may compare performance metrics and quality requirements of each self-adaptive application 220. According to the comparison result, the system resource manager 230 can select an application requiring performance adjustment. The system resource manager 230 can select a control parameter to be changed in the selected application from the virtual actuator table (VATB). The system resource manager 230 may transmit the control parameter ID to the selected application. The selected application can adjust the control parameter corresponding to the received control parameter ID. Accordingly, the embedded system 1000 can integrally manage and efficiently use resources.

도 4는 본 발명의 실시 예에 따른 제어 파라미터 선택 과정을 보여주는 순서도이다. 도 4를 참조하면, 시스템 리소스 관리기는 제어가 필요한 자가적응형 어플리케이션의 성능을 조절할 수 있다.4 is a flowchart illustrating a control parameter selection process according to an embodiment of the present invention. Referring to FIG. 4, the system resource manager may adjust the performance of a self-adaptive application that requires control.

S110 단계에서, 시스템 리소스 관리기는 자가적응형 어플리케이션을 등록할 수 있다. 예를 들면, 자가적응형 어플리케이션은 실행 초기에 품질 요구사항 및 제어 파라미터를 시스템 리소스 관리기에 전달할 수 있다. 시스템 리소스 관리기는 수신된 품질 요구사항 및 제어 파라미터에 기초하여 자가적응형 어플리케이션을 등록할 수 있다.In step S110, the system resource manager may register the self-adaptive application. For example, a self-adaptive application can deliver quality requirements and control parameters to the system resource manager at the beginning of execution. The system resource manager may register the self-adaptive application based on the received quality requirements and control parameters.

S120 단계에서, 시스템 리소스 관리기는 가상 액츄에이터 테이블을 생성할 수 있다. 예를 들면, 시스템 리소스 관리기는 제어 파라미터에 기초하여 파라미터 아이디 및 파라미터 가중치를 포함하는 가상 액츄에이터 테이블을 생성할 수 있다.In step S120, the system resource manager may generate a virtual actuator table. For example, the system resource manager may generate a virtual actuator table that includes parameter IDs and parameter weights based on control parameters.

S130 단계에서, 시스템 리소스 관리기는 성능 측정 정보를 수신할 수 있다. 예를 들면, 성능 측정 정보는 자가적응형 어플리케이션으로부터 주기적으로 수신되는 실행 소요 시간을 포함할 수 있다.In step S130, the system resource manager may receive performance measurement information. For example, the performance measurement information may include an execution time taken periodically from the self-adaptive application.

S140 단계에서, 시스템 리소스 관리기는 자가적응형 어플리케이션의 성능이 적정 성능 구간에 포함되는지 여부를 판별할 수 있다. 예를 들면, 시스템 리소스 관리기는 품질 요구사항과 성능 측정 정보를 비교할 수 있다. 자가적응형 어플리케이션의 성능이 적정 성능 구간에 포함되는 경우, S160 단계로 이동한다. 자가적응형 어플리케이션의 성능이 적정 성능 구간에 포함되지 않는 경우, S150 단계로 이동한다.In step S140, the system resource manager may determine whether the performance of the self-adaptive application is included in an appropriate performance period. For example, the system resource manager can compare performance requirements with quality requirements. If the performance of the self-adaptive application is included in the appropriate performance period, the process moves to step S160. If the performance of the self-adaptive application is not included in the appropriate performance period, the process moves to step S150.

S150 단계에서, 시스템 리소스 관리기는 적정 성능 구간에 포함될 수 있도록 제어 파라미터를 선택할 수 있다. 예를 들면, 시스템 리소스 관리기는 가상 액츄에이터 테이블에서 적정 성능 구간에 포함될 수 있는 파라미터 가중치를 가지는 파라미터 아이디를 선택할 수 있다. 시스템 리소스 관리기는 선택된 파라미터 아이디를 가상 액츄에이터에 전달할 수 있다.In step S150, the system resource manager may select a control parameter to be included in the appropriate performance period. For example, the system resource manager may select a parameter ID having a parameter weight that can be included in a proper performance interval in the virtual actuator table. The system resource manager may deliver the selected parameter ID to the virtual actuator.

S160 단계에서, 시스템 리소스 관리기는 자가적응형 어플리케이션의 모니터링 종료 여부 또는 자가적응형 어플리케이션 자체의 종료 여부를 확인할 수 있다. 자가적응형 어플리케이션의 모니터링이 종료 또는 자가적응형 어플리케이션 자체가 종료되지 않은 경우, 시스템 리소스 관리기는 S130 단계로 돌아가 다음 성능 측정 정보를 기다릴 수 있다. 자가적응형 어플리케이션의 모니터링이 종료 또는 자가적응형 어플리케이션 자체가 종료된 경우, 시스템 리소스 관리기는 S170 단계로 이동한다.In step S160, the system resource manager can confirm whether the monitoring of the self-adaptive application is terminated or whether the self-adaptive application itself is terminated. If monitoring of the self-adaptive application is terminated or the self-adaptive application itself is not terminated, the system resource manager may return to step 130 and wait for the next performance measurement information. If monitoring of the self-adaptive application is terminated or the self-adaptive application itself is terminated, the system resource manager moves to step S170.

S170 단계에서, 시스템 리소스 관리기는 자가적응형 어플리케이션의 등록을 해제할 수 있다. 예를 들면, 자가적응형 어플리케이션의 모니터링이 종료 또는 자가적응형 어플리케이션 자체가 종료된 경우, 시스템 리소스 관리기는 자가적응형 어플리케이션의 등록을 해제할 수 있다.In step S170, the system resource manager may unregister the self-adaptive application. For example, if the monitoring of the self-adaptive application is terminated or the self-adaptive application itself is terminated, the system resource manager may unregister the self-adaptive application.

본 발명에 따른 임베디드 시스템은 복수의 자가적응형 어플리케이션들의 품질 요구사항, 제어 파라미터 및 성능 측정 정보를 관리할 수 있다. 임베디드 시스템은 자가적응형 어플리케이션들 각각의 품질 요구사항과 성능 측정 정보를 비교하여 자가적응형 어플리케이션들이 적정 성능 구간에서 동작하는지 모니터링할 수 있다. 모니터링 결과에 따라, 임베디드 시스템은 시스템 리소스를 자가적응형 어플리케이션들에게 효율적으로 할당하도록 관리할 수 있다.The embedded system according to the present invention can manage quality requirements, control parameters, and performance measurement information of a plurality of self-adaptive applications. The embedded system can compare the quality requirements of each of the self-adaptive applications with the performance measurement information to monitor whether the self-adaptive applications are operating in the proper performance interval. Depending on the monitoring results, the embedded system can manage to efficiently allocate system resources to self-adaptive applications.

이상에서와 같이 도면과 명세서에서 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허 청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허 청구범위의 기술적 사상에 의해 정해져야 할 것이다.The embodiments have been disclosed in the drawings and specification as described above. Although specific terms have been employed herein, they are used for purposes of illustration only and are not intended to limit the scope of the invention as defined in the claims or the claims. Therefore, those skilled in the art will appreciate that various modifications and equivalent embodiments are possible without departing from the scope of the present invention. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

100: 중앙처리장치
200: 워킹 메모리
210: 운영체제
211: 메시지 큐
220: 자가적응형 어플리케이션
221: 비즈니스 로직
222: 모니터링 어뎁터
223: 가상 액츄에이터
230: 시스템 리소스
231: 품질 요구사항 데이터베이스
232: 제어 파라미터 데이터베이스
233: 성능 측정 정보 데이터베이스
234: 피드백 제어기
300: 저장 장치
400: 입출력 장치
500: 시스템 버스
1000: 임베디드 시스템
100: central processing unit
200: Working memory
210: Operating system
211: Message Queue
220: Self-Adaptive Application
221: Business logic
222: Monitoring adapter
223: Virtual actuator
230: System Resources
231: Quality Requirements Database
232: control parameter database
233: Performance measurement information database
234: Feedback controller
300: storage device
400: input / output device
500: System bus
1000: Embedded System

Claims (10)

복수의 자가적응형 어플리케이션들을 구동하는 임베디드 시스템에 있어서:
상기 자가적응형 어플리케이션들을 실행하는 중앙처리장치; 그리고
상기 자가적응형 어플리케이션들 및 상기 자가적응형 어플리케이션들의 리소스를 관리하는 시스템 리소스 관리기가 로드되는 워킹 메모리를 포함하되,
상기 시스템 리소스 관리기는 상기 자가적응형 어플리케이션들 각각의 품질 요구사항, 제어 파라미터들의 정보 및 성능 측정 정보를 수신하고, 상기 품질 요구사항과 상기 성능 측정 정보를 비교하고, 그리고 상기 비교 결과에 기초하여 상기 자가적응형 어플리케이션들 중 성능 변경이 요구되는 자가적응형 어플리케이션을 선택하고,
상기 제어 파라미터들의 정보는 상기 자가적응형 어플리케이션들 각각의 성능에 관련된 제어 파라미터들 각각에 대응하는 제어 파라미터 아이디들을 포함하고,
상기 선택된 자가적응형 어플리케이션은 상기 시스템 리소스 관리기로부터 수신된 파라미터 아이디에 대응하는 제어 파라미터를 조절하는 임베디드 시스템.
1. An embedded system for driving a plurality of self-adaptive applications comprising:
A central processing unit executing the self-adaptive applications; And
And a working memory in which a system resource manager for managing resources of the self-adaptive applications and the self-adaptive applications is loaded,
Wherein the system resource manager receives quality requirements of each of the self-adaptive applications, information of control parameters and performance measurement information, compares the quality requirement with the performance measurement information, and based on the comparison result, Selecting a self-adaptive application that requires performance changes among self-adaptive applications,
Wherein the information of the control parameters includes control parameter identifiers corresponding to respective control parameters related to the performance of each of the self-
Wherein the selected self-adaptive application adjusts a control parameter corresponding to a parameter ID received from the system resource manager.
제 1 항에 있어서,
상기 품질 요구사항은 어플리케이션 명칭, 응용 프로세스 아이디, 성능 최대치, 성능 최소치 및 성능 적정값을 포함하고, 그리고 상기 자가적응형 어플리케이션들 각각의 초기화 동작 시 상기 시스템 리소스 관리기로 전달되는 임베디드 시스템.
The method according to claim 1,
Wherein the quality requirements include an application name, an application process ID, a maximum performance value, a minimum performance value, and a performance performance value, and are delivered to the system resource manager in an initialization operation of each of the self-adaptive applications.
제 1 항에 있어서,
상기 성능 측정 정보는 상기 자가적응형 어플리케이션들 각각의 성능을 실시간으로 측정하여 결정되는 임베디드 시스템.
The method according to claim 1,
Wherein the performance measurement information is determined by measuring the performance of each of the self-adaptive applications in real time.
제 1 항에 있어서,
상기 성능 측정 정보는 상기 자가적응형 어플리케이션들 각각에 포함된 비즈니스 로직 내의 체크 포인터가 실행될 때 측정되는 실행 소요 시간을 포함하는 임베디드 시스템.
The method according to claim 1,
Wherein the performance measurement information includes an execution time measured when a check pointer in the business logic included in each of the self-adaptive applications is executed.
제 1 항에 있어서,
상기 자가적응형 어플리케이션들 각각은 상기 품질 요구사항, 상기 제어 파라미터들의 정보 및 상기 성능 측정 정보를 상기 시스템 리소스 관리기에 전달하는 모니터링 어뎁터, 그리고 상기 제어 파라미터들과 상기 제어 파라미터들의 정보를 매칭하는 제어 파라미터 테이블을 생성하는 가상 액츄에이터를 포함하고,
상기 제어 파라미터들의 정보는 상기 제어 파라미터들 각각에 대응하는 파라미터 가중치들을 포함하는 임베디드 시스템.
The method according to claim 1,
Wherein each of the self-adaptive applications comprises a monitoring adapter for delivering the quality requirement, the information of the control parameters and the performance measurement information to the system resource manager, and a control parameter for matching the control parameters with the information of the control parameters A virtual actuator for generating a table,
Wherein the information of the control parameters includes parameter weights corresponding to each of the control parameters.
제 5 항에 있어서,
상기 시스템 리소스 관리기는 상기 파라미터 아이디들 및 상기 파라미터 가중치들로 구성되는 가상 액츄에이터 테이블을 생성하는 임베디드 시스템.
6. The method of claim 5,
Wherein the system resource manager generates a virtual actuator table composed of the parameter IDs and the parameter weights.
제 6 항에 있어서,
상기 시스템 리소스 관리기는 상기 품질 요구사항과 상기 성능 측정 정보의 비교 결과에 따라 상기 가상 액츄에이터 테이블에서 조절이 필요한 제어 파라미터에 대응하는 파라미터 아이디를 상기 가상 액츄에이터로 전송하는 임베디드 시스템.
The method according to claim 6,
Wherein the system resource manager transmits a parameter ID corresponding to a control parameter required to be adjusted in the virtual actuator table to the virtual actuator according to a result of comparison between the quality requirement and the performance measurement information.
복수의 자가적응형 어플리케이션들 및 상기 자가적응형 어플리케이션들의 리소스를 관리하는 시스템 리소스 관리기를 실행하는 중앙처리장치를 포함하는 임베디드 시스템의 동작 방법에 있어서:
시스템 리소스 관리기에서 상기 자가적응형 어플리케이션들 중 하나의 품질 요구사항, 파라미터 아이디들 및 파라미터 가중치들을 수신하여 등록하는 단계;
상기 시스템 리소스 관리기에서 상기 품질 요구사항, 상기 파라미터 아이디들 및 상기 파라미터 가중치들에 기초하여 등록된 자가적응형 어플리케이션의 가상 액츄에이터 테이블을 생성하는 단계;
상기 시스템 리소스 관리기에서 상기 등록된 자가적응형 어플리케이션의 성능 측정 정보를 수신하는 단계;
상기 시스템 리소스 관리기에서 상기 품질 요구사항과 상기 성능 측정 정보를 비교하여, 상기 성능 측정 정보가 상기 등록된 자가적응형 어플리케이션의 실행을 위하여 요구되는 허용 범위 내에 존재하는지 여부를 판별하는 단계; 그리고
상기 성능 측정 정보가 상기 허용 범위 내에 존재하지 않는 경우, 상기 시스템 리소스 관리기에서 상기 파라미터 가중치들에 기초하여 상기 파라미터 아이디들 중 하나를 선택하고, 선택된 파라미터 아이디를 상기 등록된 자가적응형 어플리케이션으로 전송하는 단계를 포함하는 임베디드 시스템의 동작 방법.
A method for operating an embedded system comprising a central processing unit executing a plurality of self-adaptive applications and a system resource manager for managing resources of the self-adaptive applications, the method comprising:
Receiving and registering quality requirements, parameter identifiers and parameter weights of one of the self-adaptive applications in a system resource manager;
Generating a virtual actuator table of a self-adaptive application registered in the system resource manager based on the quality requirement, the parameter identifiers and the parameter weights;
Receiving performance measurement information of the registered self-adaptive application from the system resource manager;
Comparing the quality requirement with the performance measurement information in the system resource manager to determine whether the performance measurement information is within a tolerance range required for execution of the adaptive application by the registered user; And
When the performance measurement information does not exist within the allowable range, the system resource manager selects one of the parameter IDs based on the parameter weights, and transmits the selected parameter ID to the registered self-adaptive application RTI ID = 0.0 > 1, < / RTI >
제 8 항에 있어서,
상기 등록된 자가적응형 어플리케이션은 상기 선택된 파라미터 아이디에 대응하는 제어 파라미터의 값을 변경하는 임베디드 시스템의 동작 방법.
9. The method of claim 8,
Wherein the registered self-adaptive application changes a value of a control parameter corresponding to the selected parameter ID.
제 8 항에 있어서,
상기 성능 측정 정보가 상기 허용 범위 내에 존재하는 경우, 상기 시스템 리소스 관리기에서 상기 등록된 자가적응형 어플리케이션의 등록을 해제하는 임베디드 시스템의 동작 방법.
9. The method of claim 8,
And if the performance measurement information is within the allowable range, registering the registered self-adaptive application in the system resource manager is canceled.
KR1020160040346A 2016-04-01 2016-04-01 Embedded system including a plurality of self-adaptive applications KR101955715B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160040346A KR101955715B1 (en) 2016-04-01 2016-04-01 Embedded system including a plurality of self-adaptive applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160040346A KR101955715B1 (en) 2016-04-01 2016-04-01 Embedded system including a plurality of self-adaptive applications

Publications (2)

Publication Number Publication Date
KR20170112774A KR20170112774A (en) 2017-10-12
KR101955715B1 true KR101955715B1 (en) 2019-03-07

Family

ID=60141086

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160040346A KR101955715B1 (en) 2016-04-01 2016-04-01 Embedded system including a plurality of self-adaptive applications

Country Status (1)

Country Link
KR (1) KR101955715B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102222133B1 (en) * 2018-01-12 2021-03-03 엔에이치엔 주식회사 Mobile terminal and method for management application of the mobile terminal and target advertisement providing system using the same
US20200186592A1 (en) * 2020-02-13 2020-06-11 Francesc Guim Bernat Hardware-assisted tracing schemes for distributed and scale-out applications

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000172543A (en) 1998-12-10 2000-06-23 Nippon Telegr & Teleph Corp <Ntt> Database connection management method, device and storage medium storing database connection management program
KR100727901B1 (en) 1999-07-10 2007-06-14 삼성전자주식회사 Micro scheduling method and operating system kernel device therefrom
KR100772999B1 (en) 2002-06-25 2007-11-05 인터내셔널 비지네스 머신즈 코포레이션 Method and system for monitoring performance of applications in a distributed environment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102270239B1 (en) * 2014-08-07 2021-06-28 삼성전자 주식회사 Method and apparatus for executing software in a electronic device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000172543A (en) 1998-12-10 2000-06-23 Nippon Telegr & Teleph Corp <Ntt> Database connection management method, device and storage medium storing database connection management program
KR100727901B1 (en) 1999-07-10 2007-06-14 삼성전자주식회사 Micro scheduling method and operating system kernel device therefrom
KR100772999B1 (en) 2002-06-25 2007-11-05 인터내셔널 비지네스 머신즈 코포레이션 Method and system for monitoring performance of applications in a distributed environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
정영준. '이기종 IoT 디바이스 지원 자가적응형 SW 프레임워크 핵심 기술 개발'. 한국전자통신연구원, 2015.01.31, pp.1-109.

Also Published As

Publication number Publication date
KR20170112774A (en) 2017-10-12

Similar Documents

Publication Publication Date Title
US11310286B2 (en) Mechanism for providing external access to a secured networked virtualization environment
TWI479422B (en) Computer system and graphics processing method therefore
US10942760B2 (en) Predictive rightsizing for virtual machines in cloud computing systems
US9755990B2 (en) Automated reconfiguration of shared network resources
US11252220B2 (en) Distributed code execution involving a serverless computing infrastructure
CN106716365B (en) Heterogeneous thread scheduling
US10789085B2 (en) Selectively providing virtual machine through actual measurement of efficiency of power usage
TWI525433B (en) Adaptive address mapping with dynamic runtime memory mapping selection
US9081618B2 (en) Method and apparatus for the scheduling of computing tasks
US20170220667A1 (en) Independent data processing environments within a big data cluster system
US10108460B2 (en) Method and system for integrated deployment planning for virtual appliances
US8767535B2 (en) Dynamic feedback control of resources in computing environments
US11093297B2 (en) Workload optimization system
US10261811B2 (en) Systems and methods for contextually allocating emulation resources
US11948014B2 (en) Multi-tenant control plane management on computing platform
JP2018503896A (en) Automatic management of resource sizing
US11698813B2 (en) Electronic device and method for managing computing resources of at least one cloud server for providing cloud service
US20180107766A1 (en) Mapping application functional blocks to multi-core processors
US20130125116A1 (en) Method and Device for Adjusting Virtual Resource and Computer Readable Storage Medium
KR101955715B1 (en) Embedded system including a plurality of self-adaptive applications
KR20150007698A (en) Load distribution system for virtual desktop service
US11561843B2 (en) Automated performance tuning using workload profiling in a distributed computing environment
US20180167288A1 (en) Service system and control method of the same
US20210011779A1 (en) Performance-based workload/storage allocation system
KR20230063015A (en) Apparatus and method for managing virtual machine cpu resource in virtualization server

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right