KR102615017B1 - 프로그램 동적 실행 장치 및 방법 - Google Patents

프로그램 동적 실행 장치 및 방법 Download PDF

Info

Publication number
KR102615017B1
KR102615017B1 KR1020180052655A KR20180052655A KR102615017B1 KR 102615017 B1 KR102615017 B1 KR 102615017B1 KR 1020180052655 A KR1020180052655 A KR 1020180052655A KR 20180052655 A KR20180052655 A KR 20180052655A KR 102615017 B1 KR102615017 B1 KR 102615017B1
Authority
KR
South Korea
Prior art keywords
program
execution mode
preset
dynamic execution
dynamic
Prior art date
Application number
KR1020180052655A
Other languages
English (en)
Other versions
KR20190054878A (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 KR20190054878A publication Critical patent/KR20190054878A/ko
Application granted granted Critical
Publication of KR102615017B1 publication Critical patent/KR102615017B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/1407Checkpointing the instruction stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Retry When Errors Occur (AREA)

Abstract

프로그램 동적 실행 장치 및 방법이 개시된다. 본 발명의 일실시예에 따른 프로그램 동적 실행 장치는 컴퓨팅 시스템의 프로그램 상황을 기설정된 에러 조건에 따라 분석하여 프로그램의 동적 실행 모드를 선택하는 실행모드 선택 제어부; 상기 동적 실행 모드에 따라 프로그램을 최소실행모드로 동작시키는 최소실행모드 동작부 및 상기 동적 실행 모드에 따라 프로그램을 일반 모드로 동작시키는 일반모드 동작부를 포함한다.

Description

프로그램 동적 실행 장치 및 방법 {APPARATUS AND METHOD FOR DYNAMIC EXCUTION OF PROGRAMS}
본 발명은 임베디드 컴퓨팅 기술에 관한 것으로, 보다 상세하게는 외부 또는 기기를 위한 단말기 및 임베디드 기기의 프로그램 실행 및 관리 기술에 관한 것이다.
임베디드 시스템은 서버와 데스크탑과 달리 활용 시나리오(IoT, 웨어러블, 모바일, 자동차, 국방, 항공우주, 산업 등)에 따라 다양한 리소스(전력, 성능, 프로세서, 메모리, 주변 장치, 무게, 부피 등) 제약과 환경적 요인(온도, 열, 습도, 진동, 충격, 회전, 속도, 풍속, 압력, 방사능 등) 이 고려되어야 한다. 이 때문에 시나리오에 따라 설치되거나 사용되는 환경이 다양하여 시스템에서 발생되는 에러 요인도 다양하다.
임베디드 시스템의 일 예로써, IoT, 웨어러블, 모바일 장치 등에서는 전력에 의한 에러가 발생하기 쉽다. 이러한 시스템들은 무게, 부피를 줄이기 위해 배터리 무게를 최소화 하는 것이 일반적이다. 상기 시스템들은 작아진 배터리로 인해 전력 소모를 최소화 하는 노력을 하거나, 에너지 하베스팅 장치(태양열, 풍속, 열, 압전, RF(Radio Frequency) 등 )를 사용하여 배터리 없는 시스템을 고려할 수 있다. 그러나, 상기 시스템들은 배터리의 용량은 한계가 있어 일정 수준 이하로 전력이 공급될 경우 시스템이 오작동 할 수 있다. 또한, 상기 시스템들은 에너지 하베스팅 장치를 이용한 시스템은 환경적 요인에 따라 수확되는 에너지가 안정적이지 못하기 때문에 불안정한 전력 공급에 의해 에러가 발생할 수도 있다.
자동차, 국방 항공우주, 기타 산업에서 쓰이는 임베디드 장치들은 전력뿐 만이 아니라 열, 습도, 진동, 압력, 방사능 등 환경적 요인에 의하여 시스템에 에러가 발생할 수 있다. 보통 임베디드 시스템에서 에러가 발생할 경우 회로, 디바이스 등과 같은 보조 장치나 소프트웨어를 활용하여 동작이상을 감지하고 다시 정상 상태로 복구 할 수 있다. 임베디드 시스템을 복구할 때 활용되는 전략은 처음부터 다시 시작(Reset) 방식과 중간에 저장한 곳부터 다시 실행하는 체크포인트(Checking point)/ 롤백(Rolling back) 방식을 이용할 수 있다. 다시 시작(Reset, Reboot) 방식은 이미 실행했던 프로그램 진행은 무시하며 새롭게 시작하는 방식이다. 다시 시작 방법은 모든 데이터는 손실되기 때문에 보통 간단한 동작을 제어하는 프로그램에서 주로 사용되는 방법이다.
예를 들어, 에너지 하베스팅 시스템에서 불안정한 전력으로 인해 시스템이 중단될 경우 동작 중인 프로그램과 데이터를 초기화할 수 있어, 프로그램이 무한 초기화를 반복하게 된다. 반면에 체크포인트/롤백 방식은 주기적으로 체크포인트를 설정하고 이상이 감지될 경우 이상이 감지되기 직전의 체크포인트로 롤백 할 수 있다. 체크포인트/롤백 방식은 실행한 프로그램의 일부가 손실 될 수 있으나 체크포인트까지의 데이터를 복원할 수 있다. 따라서, 체크포인트 빈도를 어떻게 가져가느냐에 따라 프로그램의 진행율이 결정될 수 있다. 구체적으로 체크포인트 자주 수행할 경우에는 실제 프로그램을 진행 대비 별도의 저장과정을 갖게 되며, 체크 포인트를 자주 수행하지 않을 경우에는 에러가 발생했을 때 그만큼 데이터 손실이 커지게 된다. 결국 프로그램 특징에 따라 체크포인트를 생성하는 방법을 달리 해야 에러상황에서 프로그램 진행율을 개선할 수 있다.
한편, 한국공개특허 제 10-2008-0083496 호“체크포인트 제어장치 및 방법”는 체크포인트 정보로의 접근 방법을 다양화하고, 장애 발생 시 체크포인트 정보의 추적을 용이하게 수행하는 체크포인트 제어장치 및 방법에 관하여 개시하고 있다.
본 발명은 동적 실행 모드를 선택하여 효율적으로 프로그램을 구동하기 위한 것으로, 에러 상황에 대비하여 프로그램 진행 효율과 처리율을 향상시키는 것을 목적으로 한다.
또한, 본 발명은 시스템의 안전성, 목적, 사용자의 요구에 따라 시스템 안정성과 생산성 향상에 기여하는 것을 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 프로그램 동적 실행 장치는 컴퓨팅 시스템의 프로그램 상황을 기설정된 에러 조건에 따라 분석하여 프로그램의 동적 실행 모드를 선택하는 실행모드 선택 제어부; 상기 동적 실행 모드에 따라 프로그램을 최소실행모드로 동작시키는 최소실행모드 동작부 및 상기 동적 실행 모드에 따라 프로그램을 일반 모드로 동작시키는 일반모드 동작부를 포함한다.
이 때, 상기 실행모드 선택 제어부는 상기 프로그램이 기설정된 에러 조건을 만족하는 경우, 최소실행모드로 동적 실행 모드를 선택하고, 상기 프로그램이 기설정된 에러 조건을 만족하지 않는 경우, 일반모드로 동적 실행 모드를 선택할 수 있다.
이 때, 상기 실행모드 선택 제어부는 상기 최소실행모드로 동작중인 프로그램이 상기 기설정된 에러 조건을 만족하지 않게 되는 경우, 상기 일반모드로 동적 실행 모드로 변경할 수 있다.
이 때, 상기 실행모드 선택 제어부는 상기 프로그램의 에러 발생 횟수, 외부 에러 원인 및 기저장된 학습 데이터 중 적어도 하나를 상기 기설정된 에러 조건으로 이용하여 상기 프로그램의 동적 실행 모드를 선택할 수 있다.
이 때, 상기 실행모드 선택 제어부는 단위 시간 동안 발생한 상기 프로그램의 에러 발생 횟수가 기설정된 횟수를 초과하면 최소실행모드를 선택하고, 상기 프로그램의 에러 발생 횟수가 기설정된 횟수 이하이면 일반모드를 선택할 수 있다.
이 때, 상기 실행모드 선택 제어부는 상기 외부 에러 원인을 수집하여 수집한 값이 기설정된 조건 값을 만족하면 최소실행모드를 선택하고, 기설정된 조건 값을 만족하지 않는 경우 일반모드를 선택할 수 있다.
이 때, 상기 실행모드 선택 제어부는 상기 학습 데이터를 이용하여 입력 받은 값이 기설정된 조건 값을 만족하면 최소실행모드를 선택하고, 기설정된 조건 값을 만족하지 않는 경우 일반모드를 선택할 수 있다.
또한, 상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 프로그램 동적 실행 방법은 동적 실행 장치를 이용하는 프로그램 동적 실행 방법에 있어서, 컴퓨팅 시스템의 프로그램 상황을 기설정된 에러 조건에 따라 분석하는 단계; 상기 기설정된 에러 조건을 분석한 결과에 따라 프로그램의 동적 실행 모드를 선택하는 단계 및 상기 동적 실행 모드에 따라 프로그램을 최소실행모드 및 일반모드 중 어느 하나를 동작시키는 단계를 포함한다.
이 때, 상기 선택하는 단계는 상기 프로그램이 기설정된 에러 조건을 만족하는 경우, 최소실행모드로 동적 실행 모드를 선택하고, 상기 프로그램이 기설정된 에러 조건을 만족하지 않는 경우, 일반모드로 동적 실행 모드를 선택할 수 있다.
이 때, 상기 선택하는 단계는 상기 최소실행모드로 동작중인 프로그램이 상기 기설정된 에러 조건을 만족하지 않게 되는 경우, 상기 일반모드로 동적 실행 모드로 변경할 수 있다.
이 때, 상기 선택하는 단계는 상기 프로그램의 에러 발생 횟수, 외부 에러 원인 및 기저장된 학습 데이터 중 적어도 하나를 상기 기설정된 에러 조건으로 이용하여 상기 프로그램의 동적 실행 모드를 선택할 수 있다.
이 때, 상기 선택하는 단계는 단위 시간 동안 발생한 상기 프로그램의 에러 발생 횟수가 기설정된 횟수를 초과하면 최소실행모드를 선택하고, 상기 프로그램의 에러 발생 횟수가 기설정된 횟수 이하이면 일반모드를 선택할 수 있다.
이 때, 상기 선택하는 단계는 상기 외부 에러 원인을 수집하여 수집한 값이 기설정된 조건 값을 만족하면 최소실행모드를 선택하고, 기설정된 조건 값을 만족하지 않는 경우 일반모드를 선택할 수 있다.
이 때, 상기 선택하는 단계는 상기 학습 데이터를 이용하여 입력 받은 값이 기설정된 조건 값을 만족하면 최소실행모드를 선택하고, 기설정된 조건 값을 만족하지 않는 경우 일반모드를 선택할 수 있다.
본 발명은 동적 실행 모드를 선택하여 효율적으로 프로그램을 구동하고, 데이터 전체를 손실을 방지하여 프로그램 진행 효율과 처리율을 향상시키는 것을 목적으로 한다.
또한, 본 발명은 시스템의 안전성, 목적, 사용자의 요구에 따라 시스템 안정성과 생산성 향상에 기여하는 것을 목적으로 한다.
도 1은 본 발명의 일실시예에 따른 프로그램 동적 실행 장치를 나타낸 블록도이다.
도 2는 도 1에 도시된 실행모드 선택 제어부의 일 예를 세부적으로 나타낸 블록도이다.
도 3은 본 발명의 일실시예에 따른 프로그램 동적 실행 방법을 나타낸 동작흐름도이다.
도 4는 본 발명의 일실시예에 따른 동적 실행 모드 변환을 나타낸 도면이다.
도 5는 본 발명의 일실시예에 동적 실행 모드가 적용된 시스템 운영체제를 나타낸 도면이다.
도 6은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명의 일실시예에 따른 IoT, 웨어러블, 모바일 장치 등과 같은 단말기, 임베디드 시스템 등은 일반 오피스에서 사용되는 범용 서버나 PC 와 달리 외부 환경과 및 다양한 리소스에 제약을 받게 되므로 경우에 따라 에러가 많이 생길 수 도 있고 전혀 발생하지 않을 수도 있다.
본 발명의 일실시예에 따른 프로그램 동적 실행 장치 및 방법은 컴퓨팅 시스템 등에서 에러가 많이 발생하지 않은 경우에는 체크포인트를 만들지 않거나 최소한의 체크포인트로 대비하는 프로그램 모델 등을 실행하여 프로그램의 진행율을 높일 수 있다. 그리고 에러가 많이 발생하게 될 경우에는 체크포인트 및 멱등성 법칙을 갖는 프로그램을 모델 등을 실행하여 데이터 손실을 최소화 하며 프로그램 진행율을 높일 수 있다.
도 1은 본 발명의 일실시예에 따른 프로그램 동적 실행 장치를 나타낸 블록도이다. 도 2는 도 1에 도시된 실행모드 선택 제어부의 일 예를 세부적으로 나타낸 블록도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 프로그램 동적 실행 장치는 실행모드 선택 제어부(110), 일반모드 동작부(120) 및 최소실행모드 동작부(130)를 포함한다.
실행모드 선택 제어부(110)는 컴퓨팅 시스템의 프로그램 상황을 기설정된 에러 조건에 따라 분석하여 프로그램의 동적 실행 모드를 선택할 수 있다.
이 때, 실행모드 선택 제어부(110)는 상기 프로그램이 기설정된 에러 조건을 만족하는 경우, 최소실행모드로 동적 실행 모드를 선택하고, 상기 프로그램이 기설정된 에러 조건을 만족하지 않는 경우, 일반모드로 동적 실행 모드를 선택할 수 있다.
이 때, 실행모드 선택 제어부(110)는 상기 최소실행모드로 동작중인 프로그램이 상기 기설정된 에러 조건을 만족하지 않게 되는 경우, 상기 일반모드로 동적 실행 모드로 변경할 수 있다.
프로그램 모델은 동적 실행 모드 환경을 최소실행모드 환경과 일반모드 환경으로 나눌 수 있다. 일반모드는 스케줄링 및 예외 처리 등 모든 기능이 일반상태와 동일할 수 있다. 이 때, 일반모드는 체크포인트를 활용하지 않고 그대로 실행하여 체크포인트를 생성할 때 발생하는 오버헤드를 최소화 할 수 있다. 반면에 최소 실행모드는 스케줄링, 및 예외처리 등의 기능이 실행되지 않고 프로그램이 진행된다. 이 때, 최소실행모드는 주기적으로 체크포인트를 생성할 수 있으며, 에러가 발생할 때 데이터 손실을 최소화 할 수 있는 방식으로 체크포인트를 생성할 수 있다.
이 때, 실행모드 선택 제어부(110)는 프로그램의 에러 발생 횟수, 외부 에러 원인 및 기저장된 학습 데이터 중 적어도 하나를 기설정된 에러 조건으로 이용하여 상기 프로그램의 동적 실행 모드를 선택할 수 있다.
이 때, 실행모드 선택 제어부(110)는 단위 시간 동안 발생한 상기 프로그램의 에러 발생 횟수가 기설정된 횟수를 초과하면 최소실행모드를 선택하고, 상기 프로그램의 에러 발생 횟수가 기설정된 횟수 이하이면 일반모드를 선택할 수 있다
예를 들어, 실행모드 선택 제어부(110)는 에러가 발생하여 시스템이 중단된 단위시간당 횟수를 사용하여 동적 실행 모드를 선택할 수 있다.
이 때, 실행모드 선택 제어부(110)는 단위시간 별로 에러가 발생하는 경우를 기록할 수 있고, 기록된 에러 발생 횟수가 지정한 횟수보다 많은 경우 최소실행모드를 선택할 수 있다(다중 체크포인트).
이 때, 실행모드 선택 제어부(110)는 에러에서 복원되는 횟수가 일정 횟수보다 적어질 경우 다시 일반모드를 선택할 수 있다.
이 때, 실행모드 선택 제어부(110)는 상기 외부 에러 원인을 수집하여 수집한 값이 기설정된 조건 값을 만족하면 최소실행모드를 선택하고, 기설정된 조건 값을 만족하지 않는 경우 일반모드를 선택할 수 있다.
예를 들어, 실행모드 선택 제어부(110)는 외부 환경적 요소를 실시간으로 분석하여 하드웨어를 이용하여 외부 에러 요인을 실시간으로 분석할 수 있다.
이 때, 실행모드 선택 제어부(110)는 전력이 불안정한 문제가 있다면, 저전압 상태를 지속적으로 모니터링 할 수 있고, 기존 수치보다 전압이 떨어질 경우 최소실행모드를 선택할 수 있다(다중 체크포인트).
또한, 실행모드 선택 제어부(110)는 전압이 지정한 수치보다 높아질 경우 일반모드를 선택할 수 있다.
이 때, 실행모드 선택 제어부(110)는 상기 학습 데이터를 이용하여 입력 받은 값이 기설정된 조건 값을 만족하면 최소실행모드를 선택하고, 기설정된 조건 값을 만족하지 않는 경우 일반모드를 선택할 수 있다.
예를 들어, 실행모드 선택 제어부(110)는 기존 외부 환경 데이터를 학습하거나, 기저장된 학습데이터를 분석하여 에러가 발생하는 상황을 예측할 수 있다.
실행모드 선택 제어부(110)는 기존 에러가 발생하는 데이터 메핑 테이블을 기저장하고 있는 경우, 태양광 자가발전를 사용하는 시스템에서 오늘의 온도, 습도, 기온 등의 수치를 입력 받고 오늘 실행할 모드를 선택할 수 있다.
이 때, 실행모드 선택 제어부(110)는 입력 받은 수치상 전력을 충분히 발생하지 못할 경우라면 최소실행모드를 선택할 수 있고, 전력이 충분히 발생하는 경우, 일반모드를 선택할 수 있다.
또한, 실행모드 선택 제어부(110)는 사용자의 요구에 따라 일반모드와 최소실행모드(체크포인트 방식)를 선택 받는 기능을 포함할 수도 있다.
이 때, 실행모드 선택 제어부(110)는 목적, 환경, 리소스에 따라 안전성(hard run time, soft run time), 실행조건, 에러 허용성 등이 달라지기 때문에 사용자(또는 제어부) 설치 전 또는 동작 중에 동적 실행 모드를 선택할 수도 있다.
도 2를 참조하면, 실행모드 선택 제어부(110)는 실행 환경 분석부(111), 조건 판단부(112) 및 모드 제어부(113)를 포함할 수 있다.
실행 환경 분석부(111)는 컴퓨팅 시스템의 프로그램 상황을 기설정된 에러 조건에 따라 분석할 수 있다
이 때, 실행 환경 분석부(110)는 상기 프로그램의 에러 발생 횟수, 외부 에러 원인 및 기저장된 학습 데이터 중 적어도 하나를 기설정된 에러 조건으로 이용하여 프로그램 상황을 분석할 수 있다.
조건 판단부(112)는 프로그램 상황을 분석한 결과에 따라 기설정된 에러 조건을 만족하는지 판단하여 동적 실행 모드를 선택할 수 있다.
이 때, 조건 판단부(112)는 최소실행모드 및 일반모드 중 어느 하나를 선택할 수 있다.
모드 제어부(113)는 선택된 최소실행모드 및 일반모드 중 어느 하나를 동작시키기 위하여 일반모드 동작부(120) 및 최소실행모드 동작부(130) 중 어느 하나를 제어할 수 있다.
일반모드 동작부(120)는 상기 동적 실행 모드에 따라 프로그램을 최소실행모드로 동작시킬 수 있다.
최소실행모드 동작부(130)는 상기 동적 실행 모드에 따라 프로그램을 일반 모드로 동작시킬 수 있다.
도 3은 본 발명의 일실시예에 따른 프로그램 동적 실행 방법을 나타낸 동작흐름도이다.
도 3을 참조하면, 본 발명의 일실시예에 따른 프로그램 동적 실행 방법은 먼저 프로그램 상황을 분석할 수 있다(S310).
즉, 단계(S310)는 컴퓨팅 시스템의 프로그램 상황을 기설정된 에러 조건에 따라 분석할 수 있다.
이 때, 단계(S310)는 상기 프로그램의 에러 발생 횟수, 외부 에러 원인 및 기저장된 학습 데이터 중 적어도 하나를 이용하여 프로그램 상황을 분석할 수 있다.
또한, 본 발명의 일실시예에 따른 프로그램 동적 실행 방법은 프로그램 상황 분석 결과가 기설정된 에러 조건을 만족하는지 판단할 수 있다(S320).
즉, 단계(S320)는 기설정된 에러 조건을 만족하는 경우, 최소실행모드를 동작시킬 수 있고(S330), 기설정된 에러 조건을 만족하지 않는 경우, 일반모드를 동작시킬 수 있다(S350).
또한, 본 발명의 일실시예에 따른 프로그램 동적 실행 방법은 최소실행모드로 동작중인 프로그램의 기설정된 에러 조건을 만족하는지 판단할 수 있다(S340).
즉, 단계(S340)는 기설정된 에러 조건을 만족하는 경우, 최소실행모드를 동작시킬 수 있고(S330), 기설정된 에러 조건을 만족하지 않는 경우, 일반모드를 동작시킬 수 있다(S350).
또한, 단계(S350)는 일반모드를 동작 중에 기설정된 에러 조건을 만족하는 경우, 최소실행모드를 동작시킬 수 있고(S330), 기설정된 에러 조건을 만족하지 않는 경우, 일반모드를 동작시킬 수도 있다.
도 4는 본 발명의 일실시예에 따른 동적 실행 모드 변환을 나타낸 도면이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 동적 실행 모드 변환을 나타낸 것을 알 수 있다.
본 발명의 일실시예에 따른 프로그램 동적 실행 장치 및 방법은 프로그램이 수행되는 동안 발생하는 에러 상황을 실시간 또는 지정된 조건으로 분석할 수 있다. 도 5에 도시된 바와 같이 동적 실행 모드가 변경되는 것을 알 수 있다. 이를 위하여, 상기에서 예로 들은 3가지 전략인 프로그램의 에러 발생 횟수, 외부 에러 원인 및 기저장된 학습 데이터 중 적어도 하나를 사용할 수 있다.
도 5는 본 발명의 일실시예에 동적 실행 모드가 적용된 시스템 운영체제를 나타낸 도면이다.
도 5를 참조하면, 본 발명의 일실시예에 동적 실행 모드가 적용된 시스템 운영체제를 나타낸 것을 알 수 있다.
특히, 본 발명의 일실시예에 따른 동적 실행 모드가 적용된 프로그램 실행 환경은 실시간 조건 또는 지정된 조건을 분석할 수 있는 커널이 필요할 수 있다. 도 5에 도시된 바와 같이, 인터미턴트 컴퓨팅 운영체제(Intermittent Computing OS)는 프로그램 상황에 따라 최소실행모드를 동작시키는 영역(Minimal Run Time Idempotent Check Point Region)과 일반모드를 동작시키는 영역(Normal RunTime)을 이용하여 동적 실행 모드를 선택하고, 프로그램을 동작시킬 수 있다.
이 때, 본 발명의 일실시예에 따른 동적 실행모드가 적용된 인터미턴트 컴퓨팅 운영체제는 상기에서 설명한 기설정된 에러 조건을 이용하여 동적 실행 모드를 선택할 수 있다(Exception Handling, Power Prediction, etc).
또한, 본 발명은 운영체제뿐 만 아니라, 프로그램이 적용되는 시스템 SW 등에도 적용할 수 있다.
도 6은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
도 6을 참조하면, 본 발명의 일실시예에 따른 프로그램 동적 실행 장치는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1100)에서 구현될 수 있다. 도 6에 도시된 바와 같이, 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 인터페이스 입력 장치(1140), 사용자 인터페이스 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.
이상에서와 같이 본 발명에 따른 프로그램 동적 실행 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
110: 실행모드 선택 제어부 111: 실행 환경 분석부
112: 조건 판단부 113: 모드 제어부
120: 최소실행모드 동작부 130: 일반모드 동작부
1100: 컴퓨터 시스템 1110: 프로세서
1120: 버스 1130: 메모리
1131: 롬 1132: 램
1140: 사용자 인터페이스 입력 장치
1150: 사용자 인터페이스 출력 장치
1160: 스토리지 1170: 네트워크 인터페이스
1180: 네트워크

Claims (14)

  1. 컴퓨팅 시스템의 프로그램 상황을 기설정된 에러 조건에 따라 분석하여 프로그램의 동적 실행 모드를 선택하는 실행모드 선택 제어부;
    상기 동적 실행 모드에 따라 프로그램을 최소실행모드로 동작시키는 최소실행모드 동작부; 및
    상기 동적 실행 모드에 따라 프로그램을 일반 모드로 동작시키는 일반모드 동작부;
    를 포함하고,
    상기 최소실행모드는
    상기 기설정된 에러 조건에 따라 에러가 발생할 때 데이터 손실을 최소화하기 위한 체크포인트를 생성하여 제1 영역에서 상기 프로그램을 실행하고,
    상기 일반 모드는
    스케줄링 기능을 이용하여 제2 영역에서 상기 프로그램을 실행하는 것을 특징으로 하는 프로그램 동적 실행 장치.
  2. 청구항 1에 있어서,
    상기 실행모드 선택 제어부는
    상기 프로그램이 기설정된 에러 조건을 만족하는 경우, 최소실행모드로 동적 실행 모드를 선택하고, 상기 프로그램이 기설정된 에러 조건을 만족하지 않는 경우, 일반모드로 동적 실행 모드를 선택하는 것을 특징으로 하는 프로그램 동적 실행 장치.
  3. 청구항 2에 있어서,
    상기 실행모드 선택 제어부는
    상기 최소실행모드로 동작중인 프로그램이 상기 기설정된 에러 조건을 만족하지 않게 되는 경우, 상기 일반모드로 동적 실행 모드로 변경하는 것을 특징으로 하는 프로그램 동적 실행 장치.
  4. 청구항 3에 있어서,
    상기 실행모드 선택 제어부는
    상기 프로그램의 에러 발생 횟수, 외부 에러 원인 및 기저장된 학습 데이터 중 적어도 하나를 상기 기설정된 에러 조건으로 이용하여 상기 프로그램의 동적 실행 모드를 선택하는 것을 특징으로 하는 프로그램 동적 실행 장치.
  5. 청구항 4에 있어서,
    상기 실행모드 선택 제어부는
    단위 시간 동안 발생한 상기 프로그램의 에러 발생 횟수가 기설정된 횟수를 초과하면 최소실행모드를 선택하고, 상기 프로그램의 에러 발생 횟수가 기설정된 횟수 이하이면 일반모드를 선택하는 것을 특징으로 하는 프로그램 동적 실행 장치.
  6. 청구항 4에 있어서,
    상기 실행모드 선택 제어부는
    상기 외부 에러 원인을 수집하여 수집한 값이 기설정된 조건 값을 만족하면 최소실행모드를 선택하고, 기설정된 조건 값을 만족하지 않는 경우 일반모드를 선택하는 것을 특징으로 하는 프로그램 동적 실행 장치.
  7. 청구항 4에 있어서,
    상기 실행모드 선택 제어부는
    상기 학습 데이터를 이용하여 입력 받은 값이 기설정된 조건 값을 만족하면 최소실행모드를 선택하고, 기설정된 조건 값을 만족하지 않는 경우 일반모드를 선택하는 것을 특징으로 하는 프로그램 동적 실행 장치.
  8. 프로그램 동적 실행 장치를 이용하는 프로그램 동적 실행 방법에 있어서,
    컴퓨팅 시스템의 프로그램 상황을 기설정된 에러 조건에 따라 분석하는 단계;
    상기 기설정된 에러 조건을 분석한 결과에 따라 프로그램의 동적 실행 모드를 선택하는 단계; 및
    상기 동적 실행 모드에 따라 프로그램을 최소실행모드 및 일반모드 중 어느 하나를 동작시키는 단계;
    를 포함하고,
    상기 최소실행모드는
    상기 기설정된 에러 조건에 따라 에러가 발생할 때 데이터 손실을 최소화하기 위한 체크포인트를 생성하여 제1 영역에서 상기 프로그램을 실행하고,
    상기 일반 모드는
    스케줄링 기능을 이용하여 제2 영역에서 상기 프로그램을 실행하는 것을 특징으로 하는 프로그램 동적 실행 방법.
  9. 청구항 8에 있어서,
    상기 선택하는 단계는
    상기 프로그램이 기설정된 에러 조건을 만족하는 경우, 최소실행모드로 동적 실행 모드를 선택하고, 상기 프로그램이 기설정된 에러 조건을 만족하지 않는 경우, 일반모드로 동적 실행 모드를 선택하는 것을 특징으로 하는 프로그램 동적 실행 방법.
  10. 청구항 9에 있어서,
    상기 선택하는 단계는
    상기 최소실행모드로 동작중인 프로그램이 상기 기설정된 에러 조건을 만족하지 않게 되는 경우, 상기 일반모드로 동적 실행 모드로 변경하는 것을 특징으로 하는 프로그램 동적 실행 방법.
  11. 청구항 10에 있어서,
    상기 선택하는 단계는
    상기 프로그램의 에러 발생 횟수, 외부 에러 원인 및 기저장된 학습 데이터 중 적어도 하나를 상기 기설정된 에러 조건으로 이용하여 상기 프로그램의 동적 실행 모드를 선택하는 것을 특징으로 하는 프로그램 동적 실행 방법.
  12. 청구항 11에 있어서,
    상기 선택하는 단계는
    단위 시간 동안 발생한 상기 프로그램의 에러 발생 횟수가 기설정된 횟수를 초과하면 최소실행모드를 선택하고, 상기 프로그램의 에러 발생 횟수가 기설정된 횟수 이하이면 일반모드를 선택하는 것을 특징으로 하는 프로그램 동적 실행 방법.
  13. 청구항 11에 있어서,
    상기 선택하는 단계는
    상기 외부 에러 원인을 수집하여 수집한 값이 기설정된 조건 값을 만족하면 최소실행모드를 선택하고, 기설정된 조건 값을 만족하지 않는 경우 일반모드를 선택하는 것을 특징으로 하는 프로그램 동적 실행 방법.
  14. 청구항 11에 있어서,
    상기 선택하는 단계는
    상기 학습 데이터를 이용하여 입력 받은 값이 기설정된 조건 값을 만족하면 최소실행모드를 선택하고, 기설정된 조건 값을 만족하지 않는 경우 일반모드를 선택하는 것을 특징으로 하는 프로그램 동적 실행 방법.
KR1020180052655A 2017-11-13 2018-05-08 프로그램 동적 실행 장치 및 방법 KR102615017B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170150628 2017-11-13
KR20170150628 2017-11-13

Publications (2)

Publication Number Publication Date
KR20190054878A KR20190054878A (ko) 2019-05-22
KR102615017B1 true KR102615017B1 (ko) 2023-12-19

Family

ID=66679665

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180052655A KR102615017B1 (ko) 2017-11-13 2018-05-08 프로그램 동적 실행 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102615017B1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060011155A (ko) * 2004-07-29 2006-02-03 이두만 수문 안전장치 및 그것의 제어방법
KR102039375B1 (ko) * 2013-03-08 2019-11-04 삼성전자주식회사 무선 전력 송신기 및 그 제어 방법
WO2015023191A1 (en) * 2013-08-13 2015-02-19 Putyrski Sławomir Power balancing to increase workload density and improve energy efficiency

Also Published As

Publication number Publication date
KR20190054878A (ko) 2019-05-22

Similar Documents

Publication Publication Date Title
US8886866B2 (en) Optimizing memory management of an application running on a virtual machine
JP6530774B2 (ja) ハードウェア障害回復システム
US10585753B2 (en) Checkpoint triggering in a computer system
US8627143B2 (en) Dynamically modeling and selecting a checkpoint scheme based upon an application workload
KR100961806B1 (ko) 가상 머신 컴퓨터 프로그램의 동적 이동
US10387261B2 (en) System and method to capture stored data following system crash
US11526411B2 (en) System and method for improving detection and capture of a host system catastrophic failure
US9766965B2 (en) System and method for monitoring and detecting faulty storage devices
KR101944873B1 (ko) 지능형 단말기의 하드웨어가 비정상적으로 작동하는지 여부를 검사하는 방법 및 지능형 단말기
TW201235840A (en) Error management across hardware and software layers
CN104965754A (zh) 任务调度方法及任务调度装置
US20150149393A1 (en) Predictive Computer System Resource Monitoring
US20210382539A1 (en) System and method for predictive battery power management
EP2972826B1 (en) Multi-core binary translation task processing
US20160357623A1 (en) Abnormality detection method and information processing apparatus
US9436517B2 (en) Reliability-aware application scheduling
US11093332B2 (en) Application checkpoint and recovery system
US20150286548A1 (en) Information processing device and method
JP4761229B2 (ja) 運用管理装置、運用管理方法ならびにプログラム
KR102615017B1 (ko) 프로그램 동적 실행 장치 및 방법
US10599530B2 (en) Method and apparatus for recovering in-memory data processing system
KR102052816B1 (ko) 비휘발성 주기억장치 환경에서 에러 복구 방법 및 그 시스템
US10592329B2 (en) Method and electronic device for continuing executing procedure being aborted from physical address where error occurs
Pinto et al. Hadoop cluster monitoring and fault analysis in real time
Li et al. Selective checkpointing for minimizing recovery energy and efforts of smartphone apps

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
GRNT Written decision to grant