KR20160044787A - 타이머를 이용한 모니터링 시스템 및 방법 - Google Patents

타이머를 이용한 모니터링 시스템 및 방법 Download PDF

Info

Publication number
KR20160044787A
KR20160044787A KR1020140139681A KR20140139681A KR20160044787A KR 20160044787 A KR20160044787 A KR 20160044787A KR 1020140139681 A KR1020140139681 A KR 1020140139681A KR 20140139681 A KR20140139681 A KR 20140139681A KR 20160044787 A KR20160044787 A KR 20160044787A
Authority
KR
South Korea
Prior art keywords
task
time
state
monitoring
identification information
Prior art date
Application number
KR1020140139681A
Other languages
English (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 KR1020140139681A priority Critical patent/KR20160044787A/ko
Publication of KR20160044787A publication Critical patent/KR20160044787A/ko

Links

Images

Classifications

    • 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/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

타이머를 이용한 모니터링 시스템 및 방법에 대한 발명으로, 본 발명은 현재 시간을 실시간으로 체크하는 타이머모듈; 과제들 (task)의 과거 수행 내용을 기록하고, 현재 모니터링 하려는 과제의 식별 정보를 수신하는 모니터링 지원모듈; 상기 모니터링 지원 모듈이 과제의 식별 정보를 수신하면, 상기 타이머 모듈을 이용하여, 상기 식별 정보가 가리키는 과제가 기 설정된 수행 시간을 초과하여 수행되는지 여부를 판단하는 과제 모니터링 모듈; 및 과제들 수행 도중 특정 과제에 예외 상태가 발생하여 수행이 중단된 경우, 상기 타이머 모듈을 이용하여, 상기 예외 상태 발생 시각부터 정상 상태로 전환되는 시간을 체크하는 복구 모니터링 모듈을 포함한다.

Description

타이머를 이용한 모니터링 시스템 및 방법{SYSTEM FOR MONITORING ABNORMAL STATE USING A TIMER AND METHOD FOR OPERATING THE SAME}
본 발명은 Real time system에서 동작하는 소프트웨어의 실시간 이상 상태 및 예외 상태를 모니터링 하는 타이머를 이용한 모니터링 시스템 및 방법에 관한 것이다.
컴퓨터 내에 있는 중앙 처리 장치 (CPU)의 고장 상태를 검출하기 위해 watchdog 타이머를 이용한다.
Watchdog 타이머는 일반적으로 하드웨어 (H/W) watchdog 타이머와 소프트웨어 (S/W) watchdog 타이머로 구성된다.
H/W watchdog 타이머는 time-out 시간을 설정하고 이 시간에 도달하면 system을 재부팅하도록 하는 기능을 가지며, S/W watchdog 타이머는 H/W watchdog 타이머를 주기적으로 재시작함으로써, H/W watchdog 타이머에 의해 Real time system이 재부팅되는 것을 방지한다. 나아가 각각의 task 들이 정상 상태로 동작하고 있는지를 주기적으로 감시하고, 에러 발생 시 에러를 보고하는 기능을 수행한다.
그러나 이러한 종래기술의 경우 Real time system의 각각의 task 들이 정상적으로 수행되는 runtime을 초과할 가능성이 있는지 미리 판단할 수 있는 기능이 없었으며, 특히 이상 상태 발생 시 이를 처리하는 수행이 지연되더라도 이를 미리 감지하고, 대처할 수 있는 방법이 없었다.
또한, Real time system의 전체적인 오류만을 체크할 수 있기 때문에 개별 task 들의 상태 파악이 어렵고, 특히 system이 reset 되는 경우 debugging 정보 부족으로 인한 system reset 원인 파악에 어려움이 있었다.
상기의 배경기술로서 설명된 사항들은 본 발명의 배경에 대한 이해 증진을 위한 것일 뿐, 이 기술 분야에서 통상의 지식을 가진 자에게 이미 알려진 종래기술에 해당함을 인정하는 것으로 받아들여져서는 안 될 것이다.
본 발명은 상기한 바와 같은 일반적인 기술의 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 Real time system에서 소프트웨어에 의한 이상 상태를 미리 감지하고, 이를 미연에 방지함으로써, system을 안정하게 작동시키는데 있다.
본 발명의 또 다른 목적은 소프트웨어적으로 발생되는 interrupt 처리 지연 현상에 대해서 즉각적인 원인 파악과 조치가 가능함에 있다.
본 발명의 또 다른 목적은 system의 이상 상태 발생 전에 충분한 정보를 획득함으로써, 이상 상태 발생 시 이를 위한 대처를 신속하게 함에 있다.
본 발명에서 이루고자 하는 기술적 목적들은 이상에서 언급한 사항들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 이하 설명할 본 발명의 실시 예들로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 고려될 수 있다.
상기 목적을 달성하기 위한 본 발명에 따른 타이머를 이용한 모니터링 시스템은, 현재 시간을 실시간으로 체크하는 타이머모듈; 과제들 (task)의 과거 수행 내용을 기록하고, 현재 모니터링 하려는 과제의 식별 정보를 수신하는 모니터링 지원모듈; 상기 모니터링 지원 모듈이 과제의 식별 정보를 수신하면, 상기 타이머 모듈을 이용하여, 상기 식별 정보가 가리키는 과제가 기 설정된 수행 시간을 초과하여 수행되는지 여부를 판단하는 과제 모니터링 모듈; 및 과제들 수행 도중 특정 과제에 예외 상태가 발생하여 수행이 중단된 경우, 상기 타이머 모듈을 이용하여, 상기 예외 상태 발생 시각부터 정상 상태로 전환되는 시간을 체크하는 복구 모니터링 모듈을 포함한다.
바람직하게, 상기 과제 모니터링 모듈은, 상기 식별 정보가 가리키는 과제가 기 설정된 수행 시간을 초과하여 수행되는지 여부를 판단한 후, 상기 판단 결과를 상기 모니터링 지원모듈로 보고 하는 것을 더 포함한다.
바람직하게, 상기 기 설정된 수행 시간은, 각 과제의 상태가 유예 (suspend) 상태에서 운행 (run) 상태로 변경된 후, 다시 유예 상태로 변경될 동안, 상기 운행 상태가 유지되는 최대 시간을 지시한다.
바람직하게, 상기 과제 모니터링 모듈은, 상기 식별 정보가 지시하는 과제의 상태가 유예 상태에서 운행 상태로 변경된 후, 상기 운행 상태를 유지하는 축적 시간을 계산하여, 상기 축적 시간이 상기 기 설정된 수행 시간을 초과하는지 여부를 판단하는 것을 더 포함한다.
바람직하게, 상기 복구 모니터링 모듈은, 상기 특정 과제의 수행이 중단되면, 모니터링 타이머를 구동하고, 상기 모니터링 타이머가 최대 복구 시각에 도달하면, NMI (Non Maskable Interrupt) 시그널을 발생시키는 것을 더 포함한다.
바람직하게, 상기 최대 복구 시각은 상기 예외 상태 발생 후 다시 정상 상태로 전환되는 데 소요되는 최대 지연 시간을 지시한다.
한편, 상기 목적을 달성하기 위한 본 발명에 따른 타이머를 이용한 과제 모니터링 수행 방법에 있어서, 과제의 식별 정보를 수신하는 단계; 상기 수신한 식별 정보가 가리키는 과제가 기 설정된 수행 시간을 초과하여 수행되는지 여부를 판단하는 단계; 및 상기 판단 결과를 보고하는 단계를 포함한다.
바람직하게, 현재 시간을 수신하여 운행(run) 상태 유지 시간을 계산하는 단계; 운행 상태 유지 시간을 이용하여, 상기 식별 정보가 지시하는 과제의 상태가 유예 (suspend) 상태에서 운행 상태로 변경된 후, 상기 운행 상태를 유지하는 축적 시간을 계산하는 단계; 및 상기 축적 시간이 상기 기 설정된 수행 시간을 초과하는지 여부를 판단하는 단계를 더 포함한다.
바람직하게, 상기 축적 시간이 상기 기 설정된 수행 시간을 초과하는 경우, 상기 식별 정보가 지시하는 과제의 상태가 이상 상태로 판단하여, 상기 과제의 수행을 중단 하고, 이를 보고하는 단계를 더 포함한다.
바람직하게, 상기 축적 시간이 상기 기 설정된 수행 시간을 초과하지 않고, 상기 식별 정보가 지시하는 과제의 수행 조건을 모두 만족했으나, 상기 식별 정보가 지시하는 과제 외의 다른 과제의 이상 상태로 인해 과제가 수행되지 않는 경우, 상기 과제를 준비 (ready) 상태로 전환하는 단계를 더 포함한다.
바람직하게, 상기 축적 시간이 상기 기 설정된 수행 시간을 초과하지 않고, 상기 식별 정보가 지시하는 과제의 수행 조건 중 적어도 하나 이상 만족하지 않은 경우, 상기 과제를 유예 상태로 전환하는 단계; 및 상기 유예 상태 전환 후, 상기 축적 시간 값이 ‘0’이 되는 단계를 더 포함한다.
또한, 상기 목적을 달성하기 위한 본 발명에 따른 타이머를 이용한 복구 모니터링 수행 방법에 있어서, 각 과제들 마다 예외 상태 발생 후 다시 정상 상태로 전환되는데 소요되는 최대 지연 시간을 지시하는 최대 복구 시각을 설정하는 단계; 과제들 수행 도중 특정 과제에 예외 상태를 검출하는 단계; 상기 특정 과제의 예외 상태가 검출되면, 모니터링 타이머를 구동하는 단계; 및 상기 모니터링 타이머가 최대 복구 시각에 도달하면, NMI (Non Maskable Interrupt) 시그널을 발생시키는 단계를 포함한다.
바람직하게, 상기 모니터링 타이머가 최대 복구 시각에 도달하면, 상기 특정 과제의 예외 상태를 보고하는 단계를 더 포함한다.
바람직하게, 상기 모니터링 타이머가 최대 복구 시각에 도달하지 않으면, 상기 모니터링 타이머의 진행을 정지하는 단계를 더 포함한다.
본 발명의 실시 예들에 따르면 다음과 같은 효과를 기대할 수 있다.
첫째로, Real time system에서 소프트웨어에 의한 이상 상태를 미리 감지하고, 이를 미연에 방지함으로써, system을 안정하게 작동 시킬 수 있다.
둘째로, 소프트웨어적으로 발생되는 interrupt 처리 지연 현상에 대해서 즉각적인 원인 파악과 조치를 가능하게 할 수 있다.
셋째로, system의 이상 상태 발생 전에 충분한 정보를 획득함으로써, 이상 상태 발생 시 이를 위한 대처를 신속하게 할 수 있다.
본 발명의 실시 예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 이하의 본 발명의 실시 예들에 대한 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 발명을 실시함에 따른 의도하지 않은 효과들 역시 본 발명의 실시 예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.
이하에 첨부되는 도면들은 본 발명에 관한 이해를 돕기 위한 것으로 상세한 설명과 함께 본 발명에 대한 실시 예들을 제공한다. 다만, 본 발명의 기술적 특징이 특정 도면에 한정되는 것은 아니며, 각 도면에서 개시하는 특징들은 서로 조합되어 새로운 실시 예로 구성될 수 있다. 각 도면에서의 참조 번호(reference numerals)들은 구조적 구성요소(structural elements)를 의미한다.
도 1은 본 발명의 일 실시예에 따른 타이머를 이용한 모니터링 시스템의 구성도이다.
도 2 는 본 발명의 일 실시예에 따른 타이머를 이용한 과제 모니터링 모듈의 수행방법의 순서도이다.
도 3 은 본 발명의 일 실시예에 따른 타이머를 이용한 복구 모니터링 모듈의 수행방법의 순서도이다.
도 4는 도 1에 도시된 타이머를 이용한 모니터링 시스템의 일 실시예에 따른 상세 구성도이다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
이하의 실시 예들은 본 발명의 구성요소들과 특징들을 소정 형태로 결합한 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려될 수 있다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시 예를 구성할 수도 있다. 본 발명의 실시 예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시 예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다.
도면에 대한 설명에서 본 발명의 요지를 흐릴 수 있는 절차 또는 단계 등은 기술하지 않았으며, 당업자의 수준에서 이해할 수 있을 정도의 절차 또는 단계는 또한 기술하지 아니하였다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 “포함(comprising 또는 including)”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, “일(a 또는 an)”, “하나(one)”, “그(the)” 및 유사 관련어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 특허청구범위의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.
명세서 전체에서, 어떤 부분이 다른 부분과 “연결”되어 있다고 할 때, 이는 “직접적으로 연결”되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 “전기적으로 연결”되어 있는 경우도 포함한다.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다.
또한, 본 발명의 실시 예들에서 사용되는 특정 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
도 1은 본 발명의 일 실시예에 따른 타이머를 이용한 모니터링 시스템의 구성도이다.
본 발명의 타이머를 이용한 모니터링 시스템은 현재 시간을 실시간으로 체크하는 타이머모듈 (100), 과제들 (task)의 과거 수행 내용을 기록하고, 현재 모니터링 하려는 과제의 식별 정보를 수신하는 모니터링 지원모듈 (200), 모니터링 지원 모듈이 과제의 식별 정보를 수신하면, 타이머 모듈을 이용하여, 식별 정보가 가리키는 과제가 기 설정된 수행 시간을 초과하여 수행되는지 여부를 판단하는 과제 모니터링 모듈 (300) 및 과제들 수행 도중 특정 과제에 예외 상태가 발생하여 수행이 중단된 경우, 타이머 모듈을 이용하여, 예외 상태 발생 시각부터 정상 상태로 전환되는 시간을 체크하는 복구 모니터링 모듈 (400)을 포함할 수 있다.
타이머 모듈(100)은 Watchdog Timer 하드웨어와 Watchdog Timer 하드웨어를 제어하기 위한 소프트웨어 구동 드라이브를 포함할 수 있다.
Watchdog timer는 컴퓨터 내에 있는 중앙 처리 장치(CPU)의 고장을 검출하는 타이머로, 이 타이머는 통상 마이크로컴퓨터가 정기적으로 리셋을 걸도록 되어 있지만, 루틴이 정상적으로 돌아가지 않으면 타이머가 오버플로시켜 이상을 검출한다.
Watchdog Timer 하드웨어와 Watchdog Timer 하드웨어를 제어하기 위한 소프트웨어 구동 드라이브가 같이 위치할 수 있으며, 분리하여 위치할 수도 있다.
모니터링 지원 모듈 (200)은 과제 모니터링 모듈과 복구 모니터링 모듈의 정상적인 수행을 지원할 수 있다.
모니터링 지원 모듈 (200)은 과제들 (task)의 과거 수행 내용을 과제 상태 기록부 (메모리)에 기록한다. 이 때 과제의 상태는 총 3가지로 구분할 수 있다.
i) 운행 (run) 상태: 과제가 정상적으로 수행 중인 상태
ii) 준비 (ready) 상태: 과제가 수행되기 위한 모든 조건은 만족하나, 다른 과제의 이상 상태 또는 중단에 의해서 해당 과제가 수행되지 정상적으로 수행되지 않는 상태
iii) 유예 (suspend) 상태: 과제가 수행되기 위한 조건이 만족되지 않는 상태
모니터링 지원 모듈 (200)은 현재 모니터링 하려는 과제의 식별 정보를 수신 할 수 있다. 식별 정보는 해당 과제의 이름이나, ID (IDenrifier) 정보 등 해당 과제를 다른 과제와 구별할 수 있는 정보면 충분하다.
모니터링 지원 모듈 (200)에 과제의 식별 정보가 수신되면, 과제 모니터링 모듈이 수행되고, 이전에 입력된 과제 ID는 과거 과제 ID로 기록한다. 과제 상태 기록부 (메모리)에 기록할 수 있다.
모니터링 지원 모듈 (200)은 과제 모니터링 모듈로부터 판단된 판단 결과를 수신하거나, 복구 모니터링 모듈로부터 체크된 체크 결과를 수신하여 과제 상태 기록부 (메모리)에 기록할 수 있다.
모니터링 지원 모듈 (200)은 각 과제의 상태가 유예 (suspend) 상태에서 운행 (run) 상태로 변경된 후, 다시 유예 상태로 변경될 동안, 상기 운행 상태가 유지되는 최대 시간을 미리 설정하여 저장할 수 있다. 이렇게 정한 시간을 “기 설정된 수행 시간”이라고 하고, 이는 과제 모니터링 모듈이 각 과제의 수행을 모니터링 하는데 사용할 수 있다.
모니터링 지원 모듈 (200)은 각 과제들 마다 예외 상태 발생 후 다시 정상 상태로 전환되는 데 소요되는 최대 지연 시간을 지시하는 “최대 복구 시각”을 미리 설정할 수 있다. 즉, Interrupt controller에서 Interrupt detecting 후 IRQ Handler routine사이의 최대 시간을 의미한다. 이는 복구 모니터링 모듈이 각 과제의 복구여부를 체크하는데 사용할 수 있다. 이때 최대 복구 시각은 시스템의 특성을 고려하여 설정하도록 하나 1ms를 초과하지 않도록 설정하는 것이 바람직하다.
과제 모니터링 모듈 (300)은 모니터링 지원 모듈에 과제의 식별 정보가 수신되면 수행할 수 있다.
먼저 타이머 모듈로부터 현재 시간을 수신하여, 수신한 시간을 현재 시간 기록부에 입력할 수 있다.
과제 모니터링 모듈 (300)은 모니터링 지원 모듈에 수신된 식별 정보가 가리키는 과제에 대해여 현재 시간 기록부에 입력된 현재 시간을 이용하여 운행 상태 유지 시간을 계산한다. 운행 상태 유지 시간은 타이머 모듈로부터 읽은 현재 시간에서 현재 시간 기록부에 입력된 시간 값을 뺀 값으로 정할 수 있다. 시간 차이에 따라 0이나 0보다 큰 값을 가질 수 도 있다.
운행 상태 유지 시간을 이용하여, 식별 정보가 지시하는 과제의 상태가 유예 상태에서 운행 상태로 변경된 후, 상기 운행 상태를 유지하는 축적 시간을 구할 수 있다.
식별 정보가 지시하는 과제의 상태가 유예 상태에서 운행 상태로 변경된 후, 상기 운행 상태를 유지하는 총 시간과 앞서 계산한 운행 상태 유지 시간을 더하여 축적 시간을 결정할 수 있다.
과제 모니터링 모듈 (300)은 식별 정보가 가리키는 과제에 대하여 축적 시간이 기 설정된 수행시간을 초과하는지 여부를 판단할 수 있다.
과제 모니터링 모듈 (300)은 축적 시간이 기 설정된 수행 시간을 초과하는 경우에는 식별 정보가 지시하는 과제의 상태가 정상 상태가 아닌 이상 상태로 전환되었다고 판단하여, 상기 과제의 수행을 중단하고, 이를 모니터링 지원 모듈에 보고할 수 있다.
과제 모니터링 모듈 (300)은 축적 시간이 기 설정된 수행 시간을 초과하지 않는 경우에는 식별 정보가 지시하는 과제의 수행 조건을 모두 만족하는지를 판단하고, 식별 정보가 지시하는 과제의 수행 조건을 모두 만족했으나, 식별 정보가 지시하는 과제 외의 다른 과제의 이상 상태로 인해 과제가 수행되지 않는 경우, 식별 정보가 지시하는 과제를 준비 (ready) 상태로 전환하고, 이를 모니터링 지원 모듈에 보고할 수 있다.
과제 모니터링 모듈 (300)은 축적 시간이 기 설정된 수행 시간을 초과하지 않는 경우에는 식별 정보가 지시하는 과제의 수행 조건을 모두 만족하는지를 판단하고, 식별 정보가 지시하는 과제의 수행 조건을 적어도 하나 이상 만족하지 못한 경우에는 식별 정보가 지시하는 과제를 유예 상태로 전환하고, 유예 상태 전환 후, 상기 축적 시간 값을 ‘0’으로 하고, 이를 모니터링 지원 모듈에 보고할 수 있다.
복구 모니터링 모듈 (400)은 과제들 수행 도중 특정 과제에 예외 상태가 검출된 경우 수행될 수 있다.
과제들 수행 도중 특정 과제의 예외 상태가 검출되면, 특정 과제의 모니터링 타이머를 구동하고, 모니터링 타이머가 최대 복구 시각에 도달하면, NMI (Non Maskable Interrupt) 시그널을 발생시킬 수 있다.
NMI 시그널은 시스템 내에서 표준 인터럽트 마스킹 기법에 의해 무시될 수 없는 하드웨어 인터럽트를 의미한다. 이는 일반적으로 복구 불가능한 하드웨어 에러를 알리는 시그널로 사용된다.
복구 모니터링 모듈 (400)은 모니터링 타이머가 최대 복구 시각에 도달하면, 특정 과제의 예외 상태를 모니터링 지원 모듈에 보고할 수 있다.
복구 모니터링 모듈 (400)은 모니터링 타이머가 최대 복구 시각에 도달하지 않으면, 특정 과제는 정상적으로 정상 상태로 전환된 것으로 보고, 모니터링 타이머의 진행을 정지할 수 있다.
도 2 는 본 발명의 일 실시예에 따른 타이머를 이용한 과제 모니터링 모듈의 수행방법의 순서도이다.
과제의 식별 정보를 수신하면 (S201), 수신한 식별 정보가 가리키는 과제가 기 설정된 수행 시간을 초과하여 수행되는지 여부를 판단한다.
수신한 식별 정보가 가리키는 과제가 기 설정된 수행 시간을 초과하여 수행되는지 여부를 판단하기 위해서, 먼저 현재 시간을 수신하여 운행(run) 상태 유지 시간을 계산한다 (S203).
운행 상태 유지 시간은 타이머 모듈로부터 읽은 현재 시간에서 현재 시간 기록부에 입력된 시간 값을 뺀 값으로 정할 수 있다. 시간 차이에 따라 0이나 0보다 큰 값을 가질 수 도 있다.운행 상태 유지 시간을 이용하여, 식별 정보가 지시하는 과제의 상태가 유예 (suspend) 상태에서 운행 상태로 변경된 후, 운행 상태를 유지하는 축적 시간을 계산한다 (S205).
운행 상태 유지 시간을 이용하여, 식별 정보가 지시하는 과제의 상태가 유예 상태에서 운행 상태로 변경된 후, 운행 상태를 유지하는 축적 시간을 구할 수 있다. 식별 정보가 지시하는 과제의 상태가 유예 상태에서 운행 상태로 변경된 후, 운행 상태를 유지하는 총 시간과 앞서 계산한 운행 상태 유지 시간을 더하여 축적 시간을 결정할 수 있다.
S205 단계가 수행되면, 축적 시간이 기 설정된 수행 시간을 초과하는지 여부를 판단한다 (S207).
기 설정된 수행 시간은 각 과제의 상태가 유예 (suspend) 상태에서 운행 (run) 상태로 변경된 후, 다시 유예 상태로 변경될 동안, 상기 운행 상태가 유지되는 최대 시간으로 미리 설정하여 저장할 수 있다.
축적 시간이 기 설정된 수행 시간을 초과하는 경우에는 식별 정보가 지시하는 과제의 상태가 정상 상태가 아닌 이상 상태로 전환되었다고 판단하여, 상기 과제의 수행을 중단하고 (S209), 이를 모니터링 지원 모듈에 보고할 수 있다 (S211).
축적 시간이 기 설정된 수행 시간을 초과하지 않는 경우에는 식별 정보가 지시하는 과제의 수행 조건을 모두 만족하는지를 판단하고, 식별 정보가 지시하는 과제의 수행 조건을 모두 만족했으나 (S213), 식별 정보가 지시하는 과제 외의 다른 과제의 이상 상태로 인해 과제가 수행되지 않는 경우, 식별 정보가 지시하는 과제를 준비 (ready) 상태로 전환하고, 이를 모니터링 지원 모듈에 보고할 수 있다 (S215).
축적 시간이 기 설정된 수행 시간을 초과하지 않는 경우에는 식별 정보가 지시하는 과제의 수행 조건을 모두 만족하는지를 판단하고, 식별 정보가 지시하는 과제의 수행 조건을 적어도 하나 이상 만족하지 못한 경우에는 (S213) 식별 정보가 지시하는 과제를 유예 상태로 전환하고 (S217), 유예 상태 전환 후, 상기 축적 시간 값 을 ’0’으로 변경하고, 이를 모니터링 지원 모듈에 보고할 수 있다 (S219).
도 3 은 본 발명의 일 실시예에 따른 타이머를 이용한 복구 모니터링 모듈의 수행방법의 순서도이다.
각 과제들 마다 예외 상태 발생 후 다시 정상 상태로 전환되는데 소요되는 최대 지연 시간을 지시하는 최대 복구 시각을 미리 설정할 수 있다 (S301).
과제들 수행 도중 특정 과제에 예외 상태를 검출하면 (S303), 특정 과제의 모니터링 타이머를 구동한다 (S305).
모니터링 타이머가 최대 복구 시각에 도달하면, NMI (Non Maskable Interrupt) 시그널을 발생시키고 (S307), 모니터링 타이머가 최대 복구 시각에 도달하면, 특정 과제의 예외 상태를 보고할 수 있다 (S309).
모니터링 타이머가 최대 복구 시각에 도달하지 않으면, 특정 과제는 정상적으로 정상 상태로 전환된 것으로 보고, 모니터링 타이머의 진행을 정지할 수 있다 (S311).
도 4는 도 1에 도시된 타이머를 이용한 모니터링 시스템의 일 실시예에 따른 상세 구성도이다.
도 4는 상술한 타이머를 이용한 모니터링 시스템의 일 실시예에 불과할 뿐 이에 한정하여 해석되지 않음을 분명히한다. 도 4는 하드웨어 부분과 소프트웨어 부분을 분리한 시스템을 제안한다. 도 1과의 관계성을 위해 도 1의 도면 부호와 도면 부호는 동일하게 설명한다.
앞서 설명한 바와 같이 타이머 모듈(100)은 Watchdog Timer 하드웨어 (110) 와 Watchdog Timer 하드웨어를 제어하기 위한 소프트웨어 구동 드라이브 (120)를 포함할 수 있다.
모니터링 지원 모듈 (200)은 과제 모니터링 모듈과 복구 모니터링 모듈의 정상적인 수행을 지원할 수 있다. 소프트웨어에 해당한다.
모니터링 지원 모듈 (200)은 과제 모니터링 모듈에 과제 정보 및 스케줄링 정보를 전송하고, 오류 보고를 수신한다.
과제 모니터링 모듈 (300)은 모니터링 지원 모듈에 과제의 식별 정보가 수신되면 수행하는데, 식별 정보가 가리키는 과제가 기 설정된 수행 시간을 초과하여 수행되는지 여부를 판단한다. 각 과제마다 식별 정보, 기 설정된 수행 시간, 과제 상태, 축적 시간 등이 저장되어 판단 자료에 사용된다.
복구 모니터링 모듈 (400)은 과제들 수행 도중 특정 과제에 예외 상태가 검출된 경우 수행된다.
Interrupt Controller (410) 에서 과제의 Interrupt가 검출되면, 이를 Interrupt monitor module (420)에 알리고, 특정 과제의 모니터링 타이머를 구동하고, 모니터링 타이머가 최대 복구 시각에 도달하면, NMI (Non Maskable Interrupt) 시그널을 발생시킨다.
한편, 상술한 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터 판독 가능 매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 방법에서 사용된 데이터의 구조는 컴퓨터 판독 가능 매체에 여러 수단을 통하여 기록될 수 있다. 본 발명의 다양한 방법들을 수행하기 위한 실행 가능한 컴퓨터 코드를 포함하는 저장 디바이스를 설명하기 위해 사용될 수 있는 프로그램 저장 디바이스들은 반송파(carrier waves)나 신호들과 같이 일시적인 대상들은 포함하는 것으로 이해되지는 않아야 한다. 상기 컴퓨터 판독 가능 매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬(CD-ROM), DVD 등)와 같은 저장 매체를 포함한다.
본원 발명의 실시 예 들과 관련된 기술 분야에서 통상의 지식을 가진 자는 상기 기재의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로, 개시된 방법들은 한정적인 관점이 아닌 설명적 관점에서 고려되어야 한다. 본 발명의 범위는 발명의 상세한 설명이 아닌 특허청구 범위에 나타나며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 타이머 모듈
200: 모니터링 지원 모듈
300: 과제 모니터링 모듈
400: 복구 모니터링 모듈

Claims (14)

  1. 타이머를 이용한 모니터링 시스템에 있어서,
    현재 시간을 실시간으로 체크하는 타이머모듈;
    과제들 (task)의 과거 수행 내용을 기록하고, 현재 모니터링 하려는 과제의 식별 정보를 수신하는 모니터링 지원모듈;
    상기 모니터링 지원 모듈이 과제의 식별 정보를 수신하면, 상기 타이머 모듈을 이용하여, 상기 식별 정보가 가리키는 과제가 기 설정된 수행 시간을 초과하여 수행되는지 여부를 판단하는 과제 모니터링 모듈; 및
    과제들 수행 도중 특정 과제에 예외 상태가 발생하여 수행이 중단된 경우, 상기 타이머 모듈을 이용하여, 상기 예외 상태 발생 시각부터 정상 상태로 전환되는 시간을 체크하는 복구 모니터링 모듈을 포함하는, 시스템.
  2. 제1항에 있어서,
    상기 과제 모니터링 모듈은,
    상기 식별 정보가 가리키는 과제가 기 설정된 수행 시간을 초과하여 수행되는지 여부를 판단한 후, 상기 판단 결과를 상기 모니터링 지원모듈로 보고 하는 것을 더 포함하는, 시스템.
  3. 제1항에 있어서,
    상기 기 설정된 수행 시간은,
    각 과제의 상태가 유예 (suspend) 상태에서 운행 (run) 상태로 변경된 후, 다시 유예 상태로 변경될 동안, 상기 운행 상태가 유지되는 최대 시간을 지시하는, 시스템.
  4. 제3항에 있어서,
    상기 과제 모니터링 모듈은,
    상기 식별 정보가 지시하는 과제의 상태가 유예 상태에서 운행 상태로 변경된 후, 상기 운행 상태를 유지하는 축적 시간을 계산하여,
    상기 축적 시간이 상기 기 설정된 수행 시간을 초과하는지 여부를 판단하는 것을 더 포함하는, 시스템.
  5. 제1항에 있어서,
    상기 복구 모니터링 모듈은,
    상기 특정 과제의 수행이 중단되면, 모니터링 타이머를 구동하고, 상기 모니터링 타이머가 최대 복구 시각에 도달하면, NMI (Non Maskable Interrupt) 시그널을 발생시키는 것을 더 포함하는, 시스템.
  6. 제5항에 있어서,
    상기 최대 복구 시각은 상기 예외 상태 발생 후 다시 정상 상태로 전환되는 데 소요되는 최대 지연 시간을 지시하는, 시스템.
  7. 타이머를 이용한 과제 모니터링 수행 방법에 있어서,
    과제의 식별 정보를 수신하는 단계;
    상기 수신한 식별 정보가 가리키는 과제가 기 설정된 수행 시간을 초과하여 수행되는지 여부를 판단하는 단계; 및
    상기 판단 결과를 보고하는 단계를 포함하는, 방법.
  8. 제7항에 있어서,
    현재 시간을 수신하여 운행(run) 상태 유지 시간을 계산하는 단계;
    운행 상태 유지 시간을 이용하여, 상기 식별 정보가 지시하는 과제의 상태가 유예 (suspend) 상태에서 운행 상태로 변경된 후, 상기 운행 상태를 유지하는 축적 시간을 계산하는 단계; 및
    상기 축적 시간이 상기 기 설정된 수행 시간을 초과하는지 여부를 판단하는 단계를 더 포함하는, 방법.
  9. 제8항에 있어서,
    상기 축적 시간이 상기 기 설정된 수행 시간을 초과하는 경우, 상기 식별 정보가 지시하는 과제의 상태가 이상 상태로 판단하여, 상기 과제의 수행을 중단 하고, 이를 보고하는 단계를 더 포함하는 방법.
  10. 제8항에 있어서,
    상기 축적 시간이 상기 기 설정된 수행 시간을 초과하지 않고, 상기 식별 정보가 지시하는 과제의 수행 조건을 모두 만족했으나, 상기 식별 정보가 지시하는 과제 외의 다른 과제의 이상 상태로 인해 과제가 수행되지 않는 경우, 상기 과제를 준비 (ready) 상태로 전환하는 단계를 더 포함하는 방법.
  11. 제8항에 있어서,
    상기 축적 시간이 상기 기 설정된 수행 시간을 초과하지 않고, 상기 식별 정보가 지시하는 과제의 수행 조건 중 적어도 하나 이상 만족하지 않은 경우, 상기 과제를 유예 상태로 전환하는 단계; 및
    상기 유예 상태 전환 후, 상기 축적 시간 값이 ‘0’이 되는 단계를 더 포함하는 방법.
  12. 타이머를 이용한 복구 모니터링 수행방법에 있어서,
    각 과제들 마다 예외 상태 발생 후 다시 정상 상태로 전환되는데 소요되는 최대 지연 시간을 지시하는 최대 복구 시각을 설정하는 단계;
    과제들 수행 도중 특정 과제에 예외 상태를 검출하는 단계;
    상기 특정 과제의 예외 상태가 검출되면, 모니터링 타이머를 구동하는 단계; 및
    상기 모니터링 타이머가 최대 복구 시각에 도달하면, NMI (Non Maskable Interrupt) 시그널을 발생시키는 단계를 포함하는 방법.
  13. 제12항에 있어서,
    상기 모니터링 타이머가 최대 복구 시각에 도달하면, 상기 특정 과제의 예외 상태를 보고하는 단계를 더 포함하는 방법.
  14. 제12항에 있어서,
    상기 모니터링 타이머가 최대 복구 시각에 도달하지 않으면, 상기 모니터링 타이머의 진행을 정지하는 단계를 더 포함하는 방법.
KR1020140139681A 2014-10-16 2014-10-16 타이머를 이용한 모니터링 시스템 및 방법 KR20160044787A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140139681A KR20160044787A (ko) 2014-10-16 2014-10-16 타이머를 이용한 모니터링 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140139681A KR20160044787A (ko) 2014-10-16 2014-10-16 타이머를 이용한 모니터링 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20160044787A true KR20160044787A (ko) 2016-04-26

Family

ID=55919145

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140139681A KR20160044787A (ko) 2014-10-16 2014-10-16 타이머를 이용한 모니터링 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20160044787A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113781939A (zh) * 2021-08-02 2021-12-10 瑞芯微电子股份有限公司 一种恢复显示屏异常显示的方法、系统和存储设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113781939A (zh) * 2021-08-02 2021-12-10 瑞芯微电子股份有限公司 一种恢复显示屏异常显示的方法、系统和存储设备

Similar Documents

Publication Publication Date Title
US9720761B2 (en) System fault detection and processing method, device, and computer readable storage medium
EP2733611B1 (en) Internal fault handling method, device and system for virtual machine
US8448013B2 (en) Failure-specific data collection and recovery for enterprise storage controllers
CN104636221B (zh) 一种计算机系统故障处理方法和装置
EP1855205A1 (en) Debug supporting device, and program for causing computer to execute debug processing method
US8191062B2 (en) System for processor frequency governors to govern a processor frequency by deriving CPU utilization information based on the state of virtual machine monitor
US9229820B2 (en) Information processing device with memory dump function, memory dump method, and recording medium
US8839017B2 (en) Electronic device and method for detecting power statuses of electronic device
CN104461675A (zh) 用于执行检查点的方法和系统
US20110145634A1 (en) Apparatus, a recovery method and a program thereof
US8074123B2 (en) Multi-CPU failure detection/recovery system and method for the same
CN102521098A (zh) Cpu死机监控的处理方法和装置
CN106844177B (zh) Linux日志管理方法、装置和系统
US20190278505A1 (en) Management apparatus, management method, and non-transitory computer-readable storage medium for storing program
CN110704228A (zh) 一种固态硬盘异常处理方法及系统
KR101203099B1 (ko) 운영체제 태스크의 실행시간 모니터링 방법 및 시스템
JP2016224883A (ja) 異常検出方法、情報処理装置および異常検出プログラム
US8788238B2 (en) System and method for testing power supplies of server
JP5623557B2 (ja) 診断データを収集するためのマルチスレッド化コンピューティング環境における方法、装置、およびコンピュータ・プログラム
JPWO2010113212A1 (ja) メモリリーク監視装置、及び方法
US8793538B2 (en) System error response
KR20160044787A (ko) 타이머를 이용한 모니터링 시스템 및 방법
JP4761229B2 (ja) 運用管理装置、運用管理方法ならびにプログラム
JP5768503B2 (ja) 情報処理装置、ログ記憶制御プログラムおよびログ記憶制御方法
CN103092710A (zh) 云计算操作系统中一种高可用虚拟机运行方法

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination