KR100395071B1 - 멀티프로세스 운영체계에서의 프로세스 복구 시스템 및 방법 - Google Patents

멀티프로세스 운영체계에서의 프로세스 복구 시스템 및 방법 Download PDF

Info

Publication number
KR100395071B1
KR100395071B1 KR10-2001-0081815A KR20010081815A KR100395071B1 KR 100395071 B1 KR100395071 B1 KR 100395071B1 KR 20010081815 A KR20010081815 A KR 20010081815A KR 100395071 B1 KR100395071 B1 KR 100395071B1
Authority
KR
South Korea
Prior art keywords
failure
processes
tree structure
recovery
operating system
Prior art date
Application number
KR10-2001-0081815A
Other languages
English (en)
Other versions
KR20030052015A (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 엘지전자 주식회사
Priority to KR10-2001-0081815A priority Critical patent/KR100395071B1/ko
Publication of KR20030052015A publication Critical patent/KR20030052015A/ko
Application granted granted Critical
Publication of KR100395071B1 publication Critical patent/KR100395071B1/ko

Links

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/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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error 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 the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error 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 the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 멀티프로세스 운영체계에서 프로세스 복구에 관한 것으로, 특히 시스템 운영 시 특정 프로세스에 장애가 발생하는 경우 해당되는 프로세스들을 삭제 및 재생성하여 장애를 복구하는 멀티프로세스 운영체계에서의 프로세스 복구 시스템 및 방법에 관한 것이다.
종래 멀티프로세스 운영체계에서는 시스템 동작중 특정 프로세스에 장애가 발생한 경우에 시스템 자체적으로 장애를 복구할 수 있는 방법은 매우 제한적이고, 시스템 운용자나 소프트웨어 개발자는 시스템 디버깅에 어려움을 겪는 문제점이 있었다.
본 발명에서는 멀티프로세스 운영체계에서 모든 프로세스에 대한 관련 정보를 트리 구조로 구축하여 관리함으로써, 이를 통해 특정 프로세스에 장애 발생시 신속하게 장애를 복구하게 하고, 장애 발생 내역을 통해 용이하게 장애를 디버깅하게 하는 효과가 있다.

Description

멀티프로세스 운영체계에서의 프로세스 복구 시스템 및 방법{System and Method for Process Recovery in Multiprocess Operating System}
본 발명은 멀티프로세스 운영체계에서 프로세스 복구에 관한 것으로, 특히 시스템 운영 시 특정 프로세스에 장애가 발생하는 경우 해당되는 프로세스들을 삭제 및 재생성하여 장애를 복구하는 멀티프로세스 운영체계에서의 프로세스 복구 시스템 및 방법에 관한 것이다.
멀티프로세스 운영체계에서는 메인 프로세스에서 서브 프로세스를 생성하고 그 프로세스들이 서로 통신하면서 시스템이 동작하는데, 시스템 동작중 특정 프로세스에 장애가 발생한 경우에 시스템 자체적으로 장애를 복구할 수 있는 방법은 매우 제한적이다.
또한, 시스템 동작중 특정 프로세스에 장애 발생시 시스템 운용자나 소프트웨어 개발자는 시스템 디버깅에 어려움을 겪을 뿐만 아니라 신속한 장애 복구를 위해 시스템을 재구동시켰을 경우 모든 프로세스 정보가 삭제되어 장애 발생 내역에 대한 운용 기록조차 찾을 수 없는 경우가 많다.
다시 말하면, 종래의 멀티프로세스 운영체계에서는 프로세스를 생성하고 삭제하는 방법들은 제시하고 있으나 프로세스에 장애가 발생한 경우 장애 발생 프로세스를 복구하는 방법을 제시하지는 못하고 있다.
왜냐하면, 시스템 동작중 발생하는 장애는 소프트웨어 개발자의 소프트웨어적인 문제로 인해 발생하는 경우가 많은 반면, 소프트웨어 개발자가 생성한 프로세스에 대한 정보를 운영체계에서 모두 가지고 있을 수 없기 때문이다.
따라서, 시스템 동작중 특정 프로세스가 무한 루프에 빠지거나 운영체계에서 해당 프로세스를 삭제하는 등 특정 프로세스에 장애가 발생한 경우, 시스템 운용자나 소프트웨어 개발자가 프로세스의 상황을 모니터링 하는 장치를 통해 직접 명령어를 입력하여 복구시키거나 또는 시스템 전체를 재구동 시켜야만 한다.
그러나, 프로세스 모니터링 장치를 통해 직접 명령어를 입력하여 장애를 복구하는 경우에는 실제로 시스템이 현장에 설치되어 있을 때에는 모니터링을 하는 장치들을 사용할 수 없을 뿐만 아니라 장애를 복구하는데 많은 시간이 소요되어 시스템의 안정성에 치명적인 영향을 미치게 되는 문제가 발생하고, 장애의 신속한 복구를 위해 시스템 운용자가 시스템을 재구동시키는 경우에는 발생한 장애에 대한 운용 기록조차 찾을 수 없는 상황이 되어 시스템 운용자나 소프트웨어 개발자가 장애를 디버깅하는데 상당한 어려움을 겪게되는 문제가 발생한다.
본 발명은 전술한 바와 같은 문제점을 해결하기 위한 것으로 그 목적은, 멀티프로세스 운영체계에서 모든 프로세스에 대한 관련 정보를 구축하여 관리하도록 하여 특정 프로세스에 장애가 발생한 경우 신속하게 장애를 복구하게 하고, 장애 발생 내역을 통해 용이하게 장애를 디버깅하게 하는데 있다.
도 1은 본 발명에 따른 멀티프로세스 운영체계에서의 프로세스 복구 시스템의 구성 블록도.
도 2는 도 1에 있어, 데이터베이스의 내부 구조를 도시한 도면.
도 3은 도 2에 있어, 트리 구조 노드를 나타낸 도면.
도 4는 멀티프로세스 운영체계에서의 프로세스 복구 동작을 나타내는 플로우챠트.
* 도면의 주요 부분에 대한 부호의 설명 *
11-1~11-n : 프로세스 12 : 데이터베이스
12-1~12-n : 트리 구조 노드 13 : 프로세스 관리 프로세스
상술한 바와 같은 목적을 달성하기 위한 본 발명의 특징은, 멀티프로세스 운영체계에서 동적으로 생성되고 삭제되는 각 프로세스에 대한 생성 정보 및 상태 정보를 저장하는 데이터베이스와; 상기 데이터베이스에 저장된 정보를 이용하여 각 프로세스들을 관리하고, 특정 프로세스에 장애가 발생하는 경우 해당되는 프로세스들을 삭제 및 재생성하여 장애를 복구하는 관리 프로세스를 포함하여 이루어지는 것을 특징으로 하는 멀티프로세스 운영체계에서의 프로세스 복구 시스템을 제공하는데 있다.
여기서, 상기 데이터베이스는, 트리 구조 데이터베이스로서 각 프로세스에대응하는 트리 구조 노드들로 구성되는 것을 특징으로 하고, 상기 트리 구조 노드는, 프로세스 ID, 프로세스 우선순위, 프로세스 네임 등의 프로세스 생성 정보와, 특정 프로세스에 장애 발생시 삭제 및 재생성 할 프로세스를 결정하는 복구 플래그, 해당 프로세스가 관리 프로세스의 상태 확인 요청 신호를 수신할 수 있는지 여부를 결정하는 수신 거부 플래그, 장애 발생 프로세스가 관리 프로세스의 상태 확인 요청 신호를 수신한 횟수를 나타내는 송신 신호 넘버등의 프로세스 관리 정보를 포함하여 이루어지는 것을 특징으로 한다.
그리고, 상기 관리 프로세스는, 특정 프로세스에 장애가 발생하는 경우 장애 발생 프로세스에 대응하는 트리 구조 노드의 복구 플래그의 셋팅 값을 확인하여, 상기 플래그 셋팅 값이 '0'인 경우 장애 발생 프로세스와 그 자식 프로세스 및 장애 발생 프로세스의 부모 프로세스와 그 부모 프로세스의 다른 자식 프로세스를 모두 삭제한 후 삭제된 부모 프로세스를 재생성하고, 상기 플래그 셋팅 값이 '1'인 경우 장애 발생 프로세스와 그 자식 프로세스를 삭제한 후 장애가 발생했던 프로세스를 재생성하여, 장애 발생시 삭제한 프로세스들을 재생성하게 하는 것을 특징으로 한다.
또한, 상기 관리 프로세스는, 특정 프로세스에 장애가 발생하는 경우 장애 발생 내역을 보조 기억 장치에 저장하여 디버깅하게 하는 것을 특징으로 한다.
나아가, 본 발명의 또다른 특징은, 멀티프로세스 운영체계에서 관리 프로세스가 각 프로세스에 상태 확인 요청 신호를 송신한 후 일정 시간내에 정상 상태 신호가 수신되는지 여부를 확인하는 과정과; 상기 정상 상태 신호가 수신되지 않은프로세스에 장애가 발생하였음을 감지하고, 데이터베이스에서 장애가 발생한 프로세스에 대응하는 트리 구조 노드의 복구 플래그를 확인하는 과정과; 상기 트리 구조 노드의 복구 플래그의 셋팅 값에 따라 장애 복구 범위를 결정하여, 해당되는 프로세스들을 삭제 및 재생성하여 장애를 복구하는 과정을 포함하여 이루어지는 것을 특징으로 하는 멀티프로세스 운영체계에서의 프로세스 복구 방법을 제공하는데 있다.
여기서, 상기 상태 확인 요청 신호는, 관리 프로세스가 데이터베이스에서 각 프로세스에 대응하는 트리 구조 노드의 수신 거부 플래그를 확인하여, 상기 상태 확인 요청 신호를 수신할 수 있는 프로세스에만 송신하는 것을 특징으로 한다.
또한, 상기 프로세스들을 삭제 및 재생성하여 장애를 복구하는 과정은, 장애 발생 프로세스에 대응하는 트리 구조 노드의 복구 플래그의 셋팅 값이 '0'인 경우 장애 발생 프로세스와 그 자식 프로세스 및 장애 발생 프로세스의 부모 프로세스와 그 부모 프로세스의 다른 자식 프로세스를 모두 삭제하는 단계와; 장애 복구를 위하여 상기 삭제된 부모 프로세스를 재생성하여 장애 발생시 삭제한 프로세스들을 재생성하게 하는 단계를 포함하여 이루어지는 것을 특징으로 하고, 장애 발생 프로세스에 대응하는 트리 구조 노드의 복구 플래그의 셋팅 값이 '1'인 경우 장애 발생 프로세스와 그 자식 프로세스를 삭제하는 단계와; 장애 복구를 위하여 상기 삭제된 장애가 발생했던 프로세스를 재생성하여 장애 발생시 삭제한 프로세스들을 재생성하게 하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
이하, 본 발명에 따른 실시예를 첨부한 도면을 참조하여 상세하게 설명하면 다음과 같다.
본 발명에 따른 멀티프로세스 운영체계에서 프로세스 복구 시스템은 첨부된 도면 도 1에 도시된 바와 같이 다수의 프로세스(11-1~11-n)와 데이터베이스(12) 및 프로세스 관리 프로세스(이하 '관리 프로세스'라고 함)(13)로 구성된다.
다수의 프로세스(11-1~11-n)는 메인 프로세스가 생성한 부모 프로세스에 의해 프로세스 ID, 프로세스 네임, 프로세스 우선순위등의 정보에 따라 각각 생성되어 상호 통신을 통해 동작하여 해당 서비스를 제공한다.
데이터베이스(12)는 모든 프로세스(11-1~11-n)의 생성 정보 및 관리에 필요한 정보를 저장하는데, 첨부된 도면 도 2에 도시된 바와 같이 각 프로세스(11-1~11-n)에 대응하여 트리 구조로 이루어진다. 이와 같이, 데이터베이스(12)의 구조가 트리 구조인 것은 사용자 프로세스가 부모(Parent) 프로세스로부터 나무 가지처럼 자식 프로세스(Child)들을 생성하므로 트리 구조로 프로세스를 관리하는 것이 부모 프로세스 및 부모 프로세스에서 같이 생성된 형제 프로세스들을 쉽게 파악하여 장애 복구는 물론 프로세스 관리에도 용이하기 때문이다.
그리고, 리얼 타임 OS(Real time Operating System)에서는 각 프로세스들이 동적으로 생성되고 삭제되기 때문에 특정 프로세스 삭제시에는 데이터베이스(12)에서 해당 프로세스에 대한 정보를 삭제하여 데이터베이스(12)는 항상 최신의 정보를 유지할 수 있도록 한다.
데이터베이스(12)를 구성하는 각각의 트리 구조 노드(12-1~12-n)는 첨부된도면 도 3과 같다.
트리 구조 노드(12-1~12-n)는 프로세스(11-1~11-n) 생성시 만들어지는 프로세스 생성 정보와 프로세스 관리를 위한 정보를 가지고 만들어 지는데, 프로세스 생성 정보는 프로세스 ID, 프로세스 우선순위, 프로세스 네임 등이고, 프로세스 관리 정보는 장애 발생시 삭제 및 재생성 할 프로세스를 결정하는 장애 복구 범위 결정 플래그(Alone flag : 이하 '복구 플래그'라고 함), 해당 프로세스(11-1~11-n)가 관리 프로세스(13)의 상태 확인 요청 신호를 수신할 수 있는지 여부를 결정하는 수신 거부 플래그(No Signal Flag), 장애가 발생한 프로세스(11-1~11-n)가 관리 프로세스(13)의 상태 확인 요청 신호를 수신한 횟수를 나타내는 송신 신호 넘버(Send Signal Number)등이다.
관리 프로세스(13)는 데이터베이스(12)에 저장된 정보를 이용하여 시스템의 모든 프로세스(11-1~11-n)들을 관리하고, 장애가 발생한 특정 프로세스(11-1~11-n)를 복구하며 또한 특정 프로세스(11-1~11-n)에 발생한 장애 내역을 별도의 보조 기억 장치(도면에 도시되어있지 않음)에 저장하여 시스템 운용자나 소프트웨어 개발자가 장애에 대한 디버깅(Debugging)할 때 참고할 수 있도록 한다.
다시 말하면, 관리 프로세스(13)는 주기적으로 데이터베이스(12)를 읽어서 프로세스(11-1~11-n)의 상태를 판단하기 위해 상태 확인 요청 신호를 프로세스(11-1~11-n)로 송신하고 일정 시간내에 상태 확인 요청 신호를 수신한 프로세스(11-1~11-n)로부터 정상 상태 신호가 수신되는지 여부를 확인한다.
이때, 상태 확인 요청 신호는 프로세스의 동작 특성상 상태 확인 신호를 수신할 수 없는 프로세스(11-1~11-n)도 있기 때문에 해당 트리 구조 노드(12-1~12-n)의 수신 거부 플래그를 확인하여, 수신 거부 플래그가 '1'로 셋팅된 해당 프로세스(11-1~11-n)에는 상태 확인 요청 신호를 송신하지 않고 프로세스(11-1~11-n)가 삭제되었는지 여부만을 점검한다.
관리 프로세스(13)는 특정 프로세스(11-1~11-n)로부터 일정 시간내에 정상 상태 신호를 수신하지 못하는 경우 해당 프로세스(11-1~11-n)에 장애가 발생하였음을 감지하고 장애 복구 루틴을 동작시킨다.
예컨대, 관리 프로세스(13)는 트리 구조 노드(12-1~12-n)의 수신 거부 플래그가 '0'으로 셋팅된 모든 프로세스(11-1~11-n)에 30초 마다 상태 확인 요청 신호를 송신하고 상태 확인 요청 신호를 수신한 프로세스(11-1~11-n)로부터 정상 상태 신호가 수신되는지 여부를 확인하는데, 상태 확인 요청 신호를 수신한 프로세스(11-1~11-n)가 20초 동안에 정상 상태 신호를 송신하지 않으면 해당 프로세스(11-1~11-n)에 대응하는 트리 구조 노드(12-1~12-n)의 송신 신호 넘버를 1씩 증가시킨다. 그리고, 송신 신호 넘버가 '3' 이상이면 해당 프로세스(11-1~11-n)에 장애가 발생하였음을 감지하고 장애 복구 루틴을 동작시킨다.
장애 복구 루틴은 관리 프로세스(13)가 장애가 발생한 프로세스(11-1~11-n)에 대한 트리 구조 노드(12-1~12-n)의 복구 플래그를 분석함으로써 이루어진다.
다시 말하면, 관리 프로세스가(13) 해당 트리 구조 노드(12-1~12-n)의 복구 플래그를 분석하여 장애 복구 범위를 결정한 후 그 장애 복구 범위에 따라 장애를 복구하는데, 복구 플래그가 '1'로 셋팅된 경우에는 장애가 발생한 프로세스와 장애발생 프로세스의 자식 프로세스를 삭제한 후 장애가 발생했던 프로세스를 재생성 함으로써 프로세스의 장애를 복구하고, 복구 플래그가 '0'으로 셋팅된 경우에는 장애가 발생한 프로세스와 그 부모 프로세스 및 부모 프로세스의 다른 자식 프로세스(즉, 형제 프로세스)를 모두 삭제한 후 삭제한 부모 프로세스를 재생성하여 장애 발생시 삭제한 프로세스들을 재생성하게 함으로써 장애를 복구한다. 이때, 부모 프로세스의 복구 플래그 또한 '0'으로 셋팅된 경우에는 부모 프로세스의 부모 프로세스와 부모 프로세스의 부모 프로세스로부터 파생된 프로세스를 삭제한 후 부모 프로세스의 부모 프로세스를 재생성 한다.
프로세스의 복구 플래그에 셋팅되는 '0' 또는 '1'의 값은 소프트웨어 개발자가 결정하여 복구 플래그를 셋팅한다.
또한, 관리 프로세스(13)는 프로세스에 장애가 발생한 경우 장애 발생 프로세스 네임, 장애 발생 시간, 장애 발생 횟수 등의 장애 발생 내역을 별도의 메모리에 저장하여 시스템 운용자나 소프트웨어 개발자의 요구시 장애 내역을 출력해 준다.
장애 발생 내역은 장애 복구 루틴 동작 시에는 장애가 바로 복구되기 때문에 시스템 운용자나 소프트웨어 개발자의 요구시 출력 가능하지만, 시스템이 재 시동 될 경우에는 소멸되기 때문에 이를 방지하기 위하여 별도의 보조 기억 장치에 저장한다.
상기와 같은 구성을 가지는 멀티프로세스 운영체계에서 프로세스 복구 동작을 첨부된 도면 도 4를 참조하여 상세하게 설명하면 다음과 같다.
먼저, 관리 프로세스(13)는 데이터베이스(12)에 저장된 각 트리 구조 노드(12-1~12-n)를 읽어 수신 거부 플래그가 '0'으로 셋팅된 해당 프로세스(11-1~11-n)로 상태 확인 요청 신호를 송신하고(스텝 S41), 일정 시간내에 상태 확인 요청 신호를 수신한 프로세스(11-1~11-n)로부터 정상 상태 신호가 수신되는지 여부를 확인한다(스텝 S42).
상기 확인 결과 일정 시간내에 관리 프로세스(13)가 상태 확인 요청 신호를 수신한 프로세스(11-1~11-n)로부터 정상 상태 신호를 수신하지 못하면, 관리 프로세스(13)는 해당 프로세스(11-1~11-n)의 장애를 감지하고 해당 프로세스(11-1~11-n)에 대응하는 트리 구조 노드(12-1~12-n)의 복구 플래그를 분석하여(스텝 S43), 복구 플래그에 셋팅된 값이 '0'인지 여부를 확인한다(스텝 S44).
상기 복구 플래그의 셋팅 값을 확인한 결과, 장애 발생 프로세스(11-1~11-n)에 대한 트리 구조 노드(12-1~12-n)의 복구 플래그가 '0'으로 셋팅된 경우에는 장애가 발생한 프로세스와 그 자식 프로세스, 장애 발생 프로세스의 부모 프로세스 및 그 부모 프로세스의 다른 자식 프로세스를 모두 삭제한 후 부모 프로세스를 재생성 하고(스텝 S45, S46, S47), 해당 복구 플래그가 '1'로 셋팅된 경우에는 장애가 발생한 프로세스와 장애 발생 프로세스의 자식 프로세스를 삭제한 후 장애가 발생했던 프로세스를 재생성 한다(스텝 S48, S49).
예컨대, 프로세스 네임이 'C'인 프로세스(11-3)(이하, '프로세스 'c')에 장애가 발생하였음을 가정하여 설명하면 다음과 같다.
관리 프로세스(13)는 프로세스 'c'(11-3)에 장애가 발생하였음을 감지하면데이터베이스(12)에서 프로세스 'c'(11-3)에 대한 트리 구조 노드(12-3)(이하 트리 구조 노드 'c')의 복구 플래그를 확인하여, 장애가 발생한 프로세스 'c'(11-3)와 관련 프로세스를 삭제한 후 해당되는 프로세스들을 재생성 하여 장애를 복구한다.
이때, 트리 구조 노드 'c'(12-3)의 복구 플래그가 '0'으로 셋팅된 경우에는 프로세스 'c'(11-3)의 자식 프로세스(11-4)에 대한 트리 구조 노드인 트리 구조 노드 'd'(12-4)와, 프로세스 'c'(11-3)의 부모 프로세스(11-2)에 대한 트리 구조 노드인 트리 구조 노드 'b'(12-2) 및 그 부모 프로세스(11-2)에서 생성된 다른 자식 프로세스(11-5)에 대한 트리 구조 노드인 트리 구조 노드 'e'(12-5)에 저장된 프로세스 정보를 이용하여 장애가 발생한 프로세스 'c'(11-3)와 프로세스 'b'(11-2), 프로세스 'd'(11-4) 및 프로세스 'e'(11-5)를 모두 삭제한다.
이후, 관리 프로세스(13)는 장애가 발생한 프로세스 'c'의 부모 프로세스인 프로세스 'b'(11-2)를 재생성 한다. 그러면, 부모 프로세스가 다시 차례로 자식 프로세스들을 생성함으로써 프로세스 'c'(11-3)에 발생된 장애는 복구된다.
한편, 트리 구조 노드 'c'(12-3)의 복구 플래그가 '1'로 셋팅된 경우에는 장애가 발생한 프로세스 'c'(11-3)의 자식 프로세스(11-4)에 대한 트리 구조 노드인 트리 구조 노드 'd'(12-4)에 저장된 프로세스 정보를 이용하여 프로세스 'c'(11-3)와 프로세스 'd'(11-4)를 삭제한 후에 프로세스 'c'(11-3)를 재생성 하여 장애를 복구한다.
또한, 본 발명에 따른 실시예는 상술한 것으로 한정되지 않고, 본 발명과 관련하여 통상의 지식을 가진자에게 자명한 범위내에서 여러 가지의 대안, 수정 및변경하여 실시할 수 있다.
이상과 같이, 본 발명은 멀티프로세스 운영체계에서 모든 프로세스에 대한 관련 정보를 트리 구조로 구축하여 관리함으로써, 이를 통해 특정 프로세스에 장애 발생시 신속하게 장애를 복구하게 하고, 장애 발생 내역을 통해 용이하게 장애를 디버깅하게 하는 효과가 있다.

Claims (9)

  1. 멀티프로세스 운영체계에서 동적으로 생성되고 삭제되는 각 프로세스에 대한 생성 정보 및 상태 정보를 저장하는 데이터베이스와;
    상기 데이터베이스에 저장된 정보를 이용하여 각 프로세스들을 관리하고, 특정 프로세스에 장애가 발생하는 경우 해당되는 프로세스들을 삭제 및 재생성하여 장애를 복구하는 관리 프로세스를 포함하여 이루어지는 것을 특징으로 하는 멀티프로세스 운영체계에서의 프로세스 복구 시스템.
  2. 제 1항에 있어서,
    상기 데이터베이스는, 트리 구조 데이터베이스로서 각 프로세스에 대응하는 트리 구조 노드들로 구성되는 것을 특징으로 하는 멀티프로세스 운영체계에서의 프로세스 복구 시스템.
  3. 제 1항 또는 제 2항에 있어서,
    상기 트리 구조 노드는, 프로세스 ID, 프로세스 우선순위, 프로세스 네임 등의 프로세스 생성 정보와, 특정 프로세스에 장애 발생시 삭제 및 재생성 할 프로세스를 결정하는 복구 플래그, 해당 프로세스가 관리 프로세스의 상태 확인 요청 신호를 수신할 수 있는지 여부를 결정하는 수신 거부 플래그, 장애 발생 프로세스가 관리 프로세스의 상태 확인 요청 신호를 수신한 횟수를 나타내는 송신 신호 넘버등의 프로세스 관리 정보를 포함하여 이루어지는 것을 특징으로 하는 멀티프로세스 운영체계에서의 프로세스 복구 시스템.
  4. 제 1항에 있어서,
    상기 관리 프로세스는, 특정 프로세스에 장애가 발생하는 경우 장애 발생 프로세스에 대응하는 트리 구조 노드의 복구 플래그의 셋팅 값을 확인하여, 상기 플래그 셋팅 값이 '0'인 경우 장애 발생 프로세스와 그 자식 프로세스 및 장애 발생 프로세스의 부모 프로세스와 그 부모 프로세스의 다른 자식 프로세스를 모두 삭제한 후 삭제된 부모 프로세스를 재생성하고, 상기 플래그 셋팅 값이 '1'인 경우 장애 발생 프로세스와 그 자식 프로세스를 삭제한 후 장애가 발생했던 프로세스를 재생성하여, 장애 발생시 삭제한 프로세스들을 재생성하게 하는 것을 특징으로 하는 멀티프로세스 운영체계에서의 프로세스 복구 시스템.
  5. 제 1항 또는 제 4항에 있어서,
    상기 관리 프로세스는, 특정 프로세스에 장애가 발생하는 경우 장애 발생 내역을 보조 기억 장치에 저장하여 디버깅하게 하는 것을 특징으로 하는 멀티프로세스 운영체계에서의 프로세스 복구 시스템
  6. 멀티프로세스 운영체계에서 관리 프로세스가 각 프로세스에 상태 확인 요청 신호를 송신한 후 일정 시간내에 정상 상태 신호가 수신되는지 여부를 확인하는 과정과;
    상기 정상 상태 신호가 수신되지 않은 프로세스에 장애가 발생하였음을 감지하고, 데이터베이스에서 장애가 발생한 프로세스에 대응하는 트리 구조 노드의 복구 플래그를 확인하는 과정과;
    상기 트리 구조 노드의 복구 플래그의 셋팅 값에 따라 장애 복구 범위를 결정하여, 해당되는 프로세스들을 삭제 및 재생성하여 장애를 복구하는 과정을 포함하여 이루어지는 것을 특징으로 하는 멀티프로세스 운영체계에서의 프로세스 복구 방법.
  7. 제 6항에 있어서,
    상기 상태 확인 요청 신호는, 관리 프로세스가 데이터베이스에서 각 프로세스에 대응하는 트리 구조 노드의 수신 거부 플래그를 확인하여, 상기 상태 확인 요청 신호를 수신할 수 있는 프로세스에만 송신하는 것을 특징으로 하는 멀티프로세스 운영체계에서의 프로세스 복구 방법.
  8. 제 6항에 있어서,
    상기 프로세스들을 삭제 및 재생성하여 장애를 복구하는 과정은, 장애 발생 프로세스에 대응하는 트리 구조 노드의 복구 플래그의 셋팅 값이 '0'인 경우 장애 발생 프로세스와 그 자식 프로세스 및 장애 발생 프로세스의 부모 프로세스와 그 부모 프로세스의 다른 자식 프로세스를 모두 삭제하는 단계와;
    장애 복구를 위하여 상기 삭제된 부모 프로세스를 재생성하여 장애 발생시 삭제한 프로세스들을 재생성하게 하는 단계를 포함하여 이루어지는 것을 특징으로 하는 멀티프로세스 운영체계에서의 프로세스 복구 방법.
  9. 제 6항에 있어서,
    상기 프로세스들을 삭제 및 재생성하여 장애를 복구하는 과정은, 장애 발생 프로세스에 대응하는 트리 구조 노드의 복구 플래그의 셋팅 값이 '1'인 경우 장애 발생 프로세스와 그 자식 프로세스를 삭제하는 단계와;
    장애 복구를 위하여 상기 삭제된 장애가 발생했던 프로세스를 재생성하여 장애 발생시 삭제한 프로세스들을 재생성하게 하는 단계를 포함하여 이루어지는 것을 특징으로 하는 멀티프로세스 운영체계에서의 프로세스 복구 방법.
KR10-2001-0081815A 2001-12-20 2001-12-20 멀티프로세스 운영체계에서의 프로세스 복구 시스템 및 방법 KR100395071B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0081815A KR100395071B1 (ko) 2001-12-20 2001-12-20 멀티프로세스 운영체계에서의 프로세스 복구 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0081815A KR100395071B1 (ko) 2001-12-20 2001-12-20 멀티프로세스 운영체계에서의 프로세스 복구 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20030052015A KR20030052015A (ko) 2003-06-26
KR100395071B1 true KR100395071B1 (ko) 2003-08-19

Family

ID=29576818

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0081815A KR100395071B1 (ko) 2001-12-20 2001-12-20 멀티프로세스 운영체계에서의 프로세스 복구 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR100395071B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101731422B1 (ko) 2010-10-04 2017-04-28 삼성전자주식회사 가상화 환경에서의 장애 복구 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940023092A (ko) * 1993-03-18 1994-10-22 양승택 이중화된 멀티프로세서 시스팀에서의 프로세서간 통신 방법
KR950029968A (ko) * 1994-04-12 1995-11-24 양승택 다중 프로세서 시스템에서의 장애처리 시스템
JPH0844647A (ja) * 1994-05-26 1996-02-16 Hitachi Ltd 水平分散型ネットワークシステム
JPH09259098A (ja) * 1996-03-19 1997-10-03 Toshiba Corp 分散メモリ型マルチプロセッサシステム及び故障回復方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940023092A (ko) * 1993-03-18 1994-10-22 양승택 이중화된 멀티프로세서 시스팀에서의 프로세서간 통신 방법
KR950029968A (ko) * 1994-04-12 1995-11-24 양승택 다중 프로세서 시스템에서의 장애처리 시스템
JPH0844647A (ja) * 1994-05-26 1996-02-16 Hitachi Ltd 水平分散型ネットワークシステム
JPH09259098A (ja) * 1996-03-19 1997-10-03 Toshiba Corp 分散メモリ型マルチプロセッサシステム及び故障回復方法

Also Published As

Publication number Publication date
KR20030052015A (ko) 2003-06-26

Similar Documents

Publication Publication Date Title
JP5060485B2 (ja) 複製データの可用性及び最新性を検証するための方法及びシステム。
US7961594B2 (en) Methods and systems for history analysis for access paths in networks
KR101331935B1 (ko) 추적점 기반의 고장 진단/복구 시스템 및 그 방법
GB2393814A (en) Method and system for reporting status over a communications link
CN101854263B (zh) 网络拓扑的分析处理方法、系统和管理服务器
JP2003032253A (ja) 管理可能なネットワークにおける事前対策オンライン診断
CN111309515A (zh) 一种容灾控制方法、装置及系统
KR100395071B1 (ko) 멀티프로세스 운영체계에서의 프로세스 복구 시스템 및 방법
CN111078454A (zh) 一种云平台配置恢复方法及装置
CN110677316A (zh) 一种分布式存储服务器网卡检测方法和系统
Morgan et al. A survey of methods for improving computer network reliability and availability
Cisco Informational Traps
Cisco Operational Traps
JPH07183891A (ja) 計算機システム
JPH1127266A (ja) 網管理装置の構成情報管理方式および管理対象装置
JP3019789B2 (ja) 監視装置
US7873941B2 (en) Manager component that causes first software component to obtain information from second software component
US8181162B2 (en) Manager component for checkpoint procedures
CN111682964B (zh) 一种组合Web服务失效快速恢复方法
CN100401260C (zh) 克服单元管理层服务器中故障的方法和计算机产品
JP4864755B2 (ja) データ処理システム及び診断方法
JP3428260B2 (ja) 回線切替制御装置
Álvarez et al. Using NETCONF for Automatic Fault Diagnosis in Time-Sensitive Networking
Ermagan et al. Model-based failure management for distributed reactive systems
CN117811923A (zh) 故障处理方法、装置及设备

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130716

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20140715

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee