KR20000011834A - 고장-허용오차를계산하는컴퓨터시스템및이를동작시키는방법,고장-관리컴퓨터장치,및고장-허용오차계산장치 - Google Patents

고장-허용오차를계산하는컴퓨터시스템및이를동작시키는방법,고장-관리컴퓨터장치,및고장-허용오차계산장치 Download PDF

Info

Publication number
KR20000011834A
KR20000011834A KR1019990029263A KR19990029263A KR20000011834A KR 20000011834 A KR20000011834 A KR 20000011834A KR 1019990029263 A KR1019990029263 A KR 1019990029263A KR 19990029263 A KR19990029263 A KR 19990029263A KR 20000011834 A KR20000011834 A KR 20000011834A
Authority
KR
South Korea
Prior art keywords
application module
copy
failure
copies
host computer
Prior art date
Application number
KR1019990029263A
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 보토스 알. 제이
Publication of KR20000011834A publication Critical patent/KR20000011834A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • 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

Landscapes

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

Abstract

컴퓨터 네트워크내의 호스트 컴퓨터상에서 실행하는 응용 모듈(A)은 네트워크내의 다른 호스트 컴퓨터들에 대해 동작하는 한개이상의 백업 카피들로 고장-보호된다. 고장 보호에 영향을 주기위해, 응용 모듈은 등록 메시지를 전송함으로써 복사관리기 데몬 처리부(112)로 그 자신을 등록하며, 상기 메시지는 실행중인 호스트 컴퓨터 및 등록 응용 모듈을 식별하는 것외에도, 특정 복사 방법(콜드 백업, 웜 백업, 또는 핫 백업) 및 그 응용 모듈에 관련된 복사도를 포함한다. 백업 카피들은 그 등록된 복사 방법에 따라 페일-오버 상태로 유지된다. 응용 모듈의 파손 또는 정지등의 고장이 검출될 때, 고장은 복사관리기에 보고되고, 이는 그 요구된 페일-오버 작용에 영향을 준다. 추가의 백업 카피는 그 등록된 복사 스타일 및 복사도에 따라 동작이 이루어진다. 복사관리기와 동일한 호스트 컴퓨터상에서 실행하는 수퍼와치독 데몬 처리부(115-1)는 컴퓨터 네트워크내의 각각의 호스트 컴퓨터를 모니터링한다. 호스트 고장이 검출될 때, 상기 호스트 컴퓨터상의 실행하는 각각의 응용 모듈은 등록된 복사 스타일 및 복사도에 따라 개별적으로 고장-보호된다.

Description

고장-허용오차를 계산하는 컴퓨터 시스템 및 이를 동작시키는 방법, 고장-관리 컴퓨터 장치, 및 고장-허용오차 계산 장치{Method and appratus for providing failure detection and recovery with predetermined degree of replication for distributed applications in a network}
관련 출원에 대한 참조
본 출원은 "네트워크에서 분산된 응용에 대한 소정의 복사 스타일로 고장 검출 및 복구를 제공하는 방법 및 장치"라는 명칭하에, 동시 출원된 공동 계류중인 미국 특허 출원에, 일련 번호 호로 개시되어 있다.
기술 분야
본 발명은 네트워크상의 호스트 컴퓨터의 실행하는 응용 모듈의 고장(failure)을 검출하고 그 고장으로부터 복구하는 것에 관련된다.
발명의 배경
네트워크내의 호스트 컴퓨터상의 실행하는 응용 모듈에 대해 그 접근하는 고객들에 허용가능한 성능을 제공하기 위해, 응용 모듈은 신뢰성 및 가용성이 있어야 한다. 허용가능한 성능을 제공하기 위해, 응용 모듈 또는 그 응용 모듈을 실행하는 전체 호스트 컴퓨터의 고장을 검출하고, 이러한 검출된 고장으로부터 신속하게 복구하는 체계가 요구된다. 네트워크내의 다른 호스트 컴퓨터들상의 응용 모듈의 복사도는 응용 모듈의 신뢰성 및 가용성을 개선하는데 사용될 수 있는 공지된 기술이다.
응용 모듈의 복사 또는 백업 카피들에 적용할때 이들 백업들에 대한 준비 상태를 정의하는 페일-오버(fail-over) 처리를 동작 및 구현하는 공지된 3가지 방법이 있다. "콜드(cold) 백업" 스타일로 공지된 제 1 방법에서, 응용 모듈의 기본 카피만이 호스트 컴퓨터상에서 실행중이고 다른 백업 카피들은 네트워크내의 다른 호스트 컴퓨터들상에서 유휴 상태로 머무른다. 응용 모듈의 기본 카피의 고장이 검출될 때, 응용 모듈의 기본 카피는 동일한 호스트 컴퓨터상에서 재시작하거나, 응용 모듈의 백업 카피들중의 한 카피는 다른 호스트 컴퓨터들중의 한 컴퓨터상에서 시작되며, 이 백업은 새로운 기본(primary)이 된다. 기본 응용 모듈의 실행 상태의 "스냅샷(snapshots)"을 주기적으로 얻는 체크포인팅 기술을 이용하고 적절한 저장 매체내에 이 상태를 저장함으로써, 고장난 기본 응용 모듈의 최종의 이러한 저장된 상태의 체크포인트 데이터는 백업 응용 모듈에 공급되어 기본 응용 모듈로서 그 작업을 취하고 고장난 기본 응용 모듈의 이러한 최종 저장된 상태로부터 처리를 계속한다.
제 2 방법은 "웜(warm) 백업" 스타일로서 공지되어 있다. 기본 응용 모듈이 실행할 때 동시에 응용 모듈의 어떤 백업도 실행하지 않는 콜드 백업 스타일과는 달리, 웜 백업 스타일에서 한개이상의 백업 응용 모듈은 기본 응용 모듈과 동시에 실행한다. 그러나, 백업 응용 모듈은 임의의 고객 요구에 수신 및 응답하지 않지만, 기본 응용 모듈로부터 상태 갱신을 주기적으로 수신한다. 기본 응용 모듈의 고장이 검출된후, 백업 응용 모듈들중의 하나는 초기화 또는 재시작에 대한 요구없이도 기본 응용 모듈의 의무 이행을 인수받기 위해 신속하게 활성화되며, 이는 고장난 기본 모듈의 처리 기능들을 취하도록 백업에 대해 요구된 시간을 증가시킨다.
제 3방법은 "핫(hot) 백업" 스타일로서 공지되어 있다. 이 스타일에 따라, 두개이상의 응용 모듈의 카피들이 실행 시간에서 활성 상태이다. 각각의 실행 카피는 고객 요구를 처리할 수 있고 상태들은 복수의 카피들간에서 동기화된다. 실행하는 응용 모듈들중의 한 모듈에서의 고장이 검출된후, 다른 실행하는 카피들의 임의의 한 카피는 고장난 카피의 부하를 즉시 인수받아 동작을 계속할 수 있다.
단지 한개의 기본 모듈이 임의의 소정의 시간에서 실행중인 콜드 백업 방법과는 달리, 웜 백업 및 핫 백업 방법은, 그 응용 모듈 유형의 복수의 카피들이 네트워크상에서 동시 실행하므로, 네트워크내의 특정의 응용 모듈의 한 개이상의 카피의 동시적인 고장을 허용할수 있다.
3가지 복사 방법의 각각은 다른 실행 시간 오버헤드를 가지며, 다른 복구 시간을 갖는다. 네트워크상의 실행하는 한개의 응용 모듈은 네트워크내의 동일한 호스트 컴퓨터 또는 다른 호스트 컴퓨터상에서 실행하는 또다른 응용 모듈보다는 그 실행 시간 환경 및 그 가용성 요구에 근거한 다른 복사 방법을 필요로 한다. 분산된 응용 모듈들이 흔히 다른 종류의 하드웨어 및 동작 시스템 플랫폼상에서 실행하므로, 응용 모듈의 신뢰성 및 가용성을 증대시키는 기술은 모든 가능한 복사 방법을 수용할 수 있어야 한다.
본 발명의 공동 발명자인 후앙 옌눈에 1998년 5월 5일자로 허여된 미국 특허 제 5,748,882호에서, 고장 허용오차를 계산하는 방법 및 장치가 개시되어 있다. 상기 특허에서 개시된 대로, 응용 또는 처리는 "와치독(watchdog)" 데몬(daemon)으로 등록되며, 이는 그후 고장 또는 정지에 대한 응용 또는 처리를 "감독"한다. 감독된 응용의 고장 또는 파손이 검출된다면, 와치독은 응용 또는 처리를 재시작한다. 네트워크상의 멀티-호스트 분산된 시스템에서, 호스트 컴퓨터에서 와치독 데몬은 그 자신의 호스트 컴퓨터상의 등록된 응용 또는 처리를 모니터링할 뿐만아니라 또다른 호스트 컴퓨터상의 응용 또는 처리를 모니터링한다. 만일, 감독된 호스트 컴퓨터가 고장나면, 고장난 호스트 컴퓨터를 감독하는 와치독 데몬은 그 자신의 노드상에서 고장난 감독된 노드상의 실행중인던 등록된 처리 또는 응용을 재시작한다. 단일의 노드 및 복수의 노드 실시예에서, 고장난 처리 또는 응용을 재시작하는 복사 방법은 콜드 백업 스타일이며, 즉, 새로운 복사 처리 또는 응용이 기본 처리 또는 응용의 고장후에만 시작된다.
불리하게도, 종래의 고장-허용오차 방법론은 상기 언급된 콜드, 웜, 및 핫 백업 스타일등의 복수의 다른 복사 방법에 적용될 수 없고 고려되지 않는다. 이는 네트워크내의 한개이상의 기계를 구동할 다수의 다른 응용들간의 각각의 개별적인 응용에 관련되어야 한다. 더욱이, 웜 및 핫 백업 복사 스타일에 대한 네트워크내의 일정수의 실행하는 응용들을 유지하기 위한 어떤 방법론도 종래 기술에는 존재하지 않는다.
도 1은 본 발명에 따라 고장 보호되는 응용 모듈들을 실행하는 다수의 호스트 컴퓨터들을 도시하는 컴퓨터 네트워크의 블록도.
도 2는 도 1의 네트워크내의 호스트 컴퓨터상에서 실행하는 복사관리기 데몬내에 저장되고, 본 발명에 따라 고장 보호하는데 사용된 응용 모듈의 유형, 정보에 관련된 테이블을 도시한 도면.
*도면의 주요 부분에 대한 상세한 설명*
100 : 네트워크 110 : 체크포인트 서버
발명의 개요
본 발명에 따라, 호스트 컴퓨터상의 실행중인 응용 모듈은 그 자신의 고장 및 복구 처리를 위해 먼저 자신을 등록함으로써 신뢰성있게 이루어진다. 응용 모듈이 실행중인 동일 호스트 컴퓨터 또는 그 응용 모듈의 기계가 접속된 네트워크에 접속된 또다른 호스트 컴퓨터상의 실행중인 복사관리기 데몬 처리부는, 그 응용 모듈로부터 등록 메시지를 수신한다. 이 등록 메시지는 그 등록하는 응용 모듈 및 실행중인 호스트 기계를 식별하는 것외에도, 그 등록된 응용 모듈에 관련될 특정 복사 방법(콜드, 웜, 또는 핫 백업 스타일) 및 복사도를 포함하며, 이 등록된 복사 방법은 복사도에 관련하여 백업 카피들의 수를 유지할 뿐만아니라 응용 모듈의 각각의 백업 카피의 동작 상태를 설정하도록 복사관리기에 의해 사용된다. 등록된 응용 모듈과 동일한 호스트 컴퓨터상의 실행하는 와치독 데몬 처리부는 그후 고장을 검출하기 위해 그 등록된 응용 모듈을 주기적으로 모니터링한다. 와치독 데몬 처리부가 모니터링된 응용 모듈의 파손 또는 정지를 검출할 때, 이 처리부는 그 고장을 복사관리기에 보고하고, 이 복사관리기는 페일-오버(fail-over) 처리를 한다. 따라서, 만일, 복사 스타일이 웜 또는 핫이고, 고장난 응용 모듈이 그 자신의 호스트 컴퓨터상에서 재시작될 수 없다면, 그 기본 응용 모듈의 실행하는 백업 카피들중의 한 카피는 새로운 기본 응용 모듈로서 지정되고 응용 모듈의 유휴 카피가 상주하는 호스트 컴퓨터는 그 유휴 응용을 실행하도록 네트워크상에서 신호화된다. 이와같이, 복사도는 그 응용 모듈의 복수의 고장에 대해 방지하도록 보장된다. 만일, 복사 스타일이 콜드이고 그 고장난 응용이 그 자신의 호스트 컴퓨터상에서 재시작될수 없다면, 응용 모듈의 유휴 카피가 상주해 있는 호스트 컴퓨터가 유휴 카피를 실행하도록 네트워크상에서 신호화된다. 호스트 컴퓨터 또는 호스트 컴퓨터상의 와치독 데몬의 고장을 검출하기 위해, 동일한 호스트 컴퓨터상에서 복사관리기로서 실행하는 수퍼와치톡 데몬 처리부는 각각의 호스트 컴퓨터로부터의 입력들을 검출한다. 그 호스트 컴퓨터로부터의 입력의 결핍에 의해 수퍼와치독 데몬으로 검출된 호스트 컴퓨터의 고장후에, 복사관리기는 그 호스트 컴퓨터상에서 실행중인 응용 모듈들을 결정하도록 접근된다. 이 응용 모듈들은 그후 복사관리기내에서 설정 및 저장되는 방식으로 개별적으로 고장-보호된다.
상세한 설명
도 1을 보면, 다수의 호스트 컴퓨터가 접속된 네트워크(100)가 도시되어 있다. 네트워크(100)는 이써네트(Ethernet), ATM 네트워크, 또는 임의의 다른 형태의 데이터 네트워크일 수 있다. 단지 설명을 목적으로, 6개의 호스트 컴퓨터(H1, H2, H3, H4, H5, H6)는 각각 도면 부호 (101, 102, 103, 104, 105, 106)로 기재되어 네트워크(100)에 접속되어 있다. 각각의 호스트 컴퓨터는 그 메모리내에 상주하는 다수의 다른 응용 모듈을 갖는다. 도 1에서 유형 A, B, C로 기재된 이들 응용 모듈은 각각 상기 6개의 호스트 컴퓨터들중의 최소한 하나로 실행되고 처리되는 기본 카피를 갖는다. 구체적으로, 본 실시예에서, A형 응용 모듈의 기본 카피, 즉, 응용 모듈 A1은 호스트 컴퓨터(H1)로 처리되고, B형 응용 모듈의 기본 카피, 즉, 응용 모듈 B1은 호스트 컴퓨터(H4)로 처리되고, C형 응용 모듈의 기본 카피, 즉, 응용 모듈 C1은 호스트 컴퓨터(H3)로 처리된다. 후술될 각 유형의 응용 모듈의 다른 카피들은 나중의 실행을 위해 대기하는 유휴 상태에서 다른 호스트 컴퓨터들중의 최소한 한 컴퓨터로 메모리로부터 저장 및 사용되거나, 응용 모듈의 제 2 기본 카피 또는 백업 카피로서 처리된다.
상술된 대로, 호스트 컴퓨터로 처리되는 응용 모듈은 3개의 공지된 사본(replication) 스타일로 정의된 준비 상태에서 운영되는 응용 모듈의 한 개이상의 백업 카피에 의해 고장-보호(fault-protected)된다. 각각의 사본 스타일은 파손(crashing) 또는 정지(hanging up)에 의해 장해가 있는 응용 모듈, 또는 그 자체가 장해가 있는 호스트 컴퓨터상에 상주하는 모든 응용 모듈들에 백업을 제공하는 자체의 방법을 갖는다. 본 발명에 따라, 각각의 응용 모듈 유형은 그 자체의 처리 요구에 가장 적합한 특정 사본 스타일(콜드 백업(cold backup), 웜 백업(warm backup), 핫 백업(hot backup))로 고장-보호된다. 더욱이, 본 발명 따라, 각각의 응용 모듈 유형은 그 응용 모듈에 대해 명시된 복사도로 고장-보호되며, 이로써, 그 응용 모듈의 일정 수의 카피들을 그 유형의 응용 모듈의 복수의 고장에 대해 보호하기 위한 처리 상태로 유지한다.
유휴 또는 백업 응용 모듈에 대해, 고장 검출시에 고장난 기본 응용 모듈의 기능을 최소의 처리 중단으로 처리하기 위해, 고장난 응용 모듈의 최후 동작 상태는 백업 또는 유휴 응용 모듈에 유휴 상태로부터 그 실행시에 또는 새로운 기본 응용 모듈로서 지정될 시에 공급되어야만 한다. 네트워크(100)에 접속된 체크포인트 서버(110)는 네트워크 처리시에 각각의 고장-보호 응용 모듈로부터 그 응용의 가장 최근 상태를 주기적으로 수신하며, 이 상태는 그때 그 메모리내에 기억된다. 응용 모듈의 고장 검출시에, 고장난 응용 모듈의 최후 저장된 상태는 체크포인트 서버(110)의 메모리로부터 검색되고 계속된 처리를 위해 새로운 기본 응용 모듈에 공급된다.
본 발명에 따라, 응용 모듈은 그 자체의 고장 검출 및 복구를 위해 그 자체를 등록함으로써 신뢰성있게 된다. 구체적으로, 네트워크내의 호스트 컴퓨터들중의 하나(도 1의 호스트 컴퓨터(H2))를 처리하는 중앙 방식 복사관리기 데몬(daemon) 처리부(112)는 각각의 고장-보호된 응용 모듈로부터 등록 요구를 수신한다. 등록 요구는 특정 응용 모듈에 대해 복사 스타일(즉, 핫, 웜, 콜드), 복사도, 응용 모듈이 상주하는 호스트 컴퓨터들 및 이 호스트 컴퓨터에 대해 실행가능한 프로그램이 발견될 수 있는 호스트 컴퓨터들의 목록, 및 스위칭 스타일을 포함한다. 복사도는 응용 모듈의 전체 카피 수를 명시한다. 이와같이, 핫 또는 웜 복사 스타일에 대해, 복사도는 네트워크내에 유지되는 응용 모듈의 카피들을 처리하는 전체 수를 정의한다. 콜드 복사 스타일에 대해, 복사 스타일은 응용 모듈이 처리될수 있는 네트워크내의 호스트 컴퓨터들의 수를 명시한다. 스위칭 스타일은 응용 모듈이 한 호스트 컴퓨터로부터 다른 호스트 컴퓨터로 이전되어야 할 때를 결정하는 페일-오버(fail-over) 방법을 명시한다. 스위칭 스타일과 관련하여, 응용 모듈의 고장이 검출될 때, 고장이 발생한 동일한 호스트 컴퓨터에 대해 재시동될수 있거나, 유휴 또는 처리 백업 카피가 상주하는 다른 호스트 컴퓨터로 이주될 수 있다. 두가지 페일-오버 계획은 응용 모듈의 등록시에 복사관리기로 명시될 수 있다. 온오버쓰레솔드(OnOverThreshold)로 공지된 제 1 페일-오버 방법을 이용하여, 응용 모듈은 그 응용 모듈이 소정의 호스트 컴퓨터에 대해 고장난 횟수가 소정의 임계를 초과한후에 또다른 호스트 컴퓨터로 이주된다. 이와같이, 이러한 방법을 이용하여, 고장난 응용 모듈은 그 응용 모듈의 고장 횟수가 임계 횟수에 도달할때까지 그 자신의 호스트 컴퓨터로 재시동된다. 그후, 고장난 응용 모듈은 다른 호스트 컴퓨터로 이주된다. 온이치페일루어(OnEachFailure)로 공지된 제 2 페일-오버 방법을 이용하여, 고장난 응용 모듈은 고장이 발생할 때마다 다른 호스트 컴퓨터로 이주된다.
복사관리기 데몬 처리부(112)는 네트워크내의 모든 등록된 응용 모듈에 대해 복사 정보를 그 메모리내에 통합된다. 네트워크내의 처리되는 각 유형의 응용 모듈에 대해, 복사관리기는 몇몇 다른 응용 모듈들을 처리하는 전체의 호스트 컴퓨터 또는 처리하는 응용 모듈의 복구에 영향을 주는데 필요한 정보를 저장한다. 도 2는 도 1의 6개의 호스트 컴퓨터에 대해 처리하는 3가지 유형의 응용 모듈에 대한 저장된 정보의 유형을 테이블 포맷(200)으로 도시하고 있다. 예로서, 유형 A의 응용 모듈은 복사도 3을 갖는 웜 백업 스타일로 엔트리(201)내에 등록된다. 이와같이, 한개의 기본 응용 모듈은 두개의 백업 카피들과 함께 항상 처리하며, 백업 카피들중의 임의의 한 카피는 기본 카피의 고장시에 기본으로서 기능을 인수할수 있다. 도 1 및 도 2에 도시된 대로, 기본 카피(블록 202에서 "P"로 지정됨) A1은 H1을 실행하고, 백업 카피들(블록 203,204에서 "B"로 지정됨) A2, A3는 각각 H2,H3를 실행하는 것으로 도시되어 있다. 응용 모듈 유형 A의 추가적인 카피 A4는 유휴 상태(블록 205에서 "I"로 지정됨)에서 H4내의 메모리에 상주하는 것으로 도시된다. 호스트 컴퓨터에 대한 응용 모듈의 각각의 카피의 경로이름 위치가 도시되어 있다. 응용 모듈 유형 B는 복사도 2를 갖는 핫 백업 스타일로 엔트리(206)내의 복사관리기에 의해 등록 및 저정된다. 이와같이, 이 응용 모듈의 두가지 기본 카피들은 각각의 처리 고객 요구 및 상호간의 동기 상태를 액티브로 유지하고 실행한다. 제 1 기본 카피 B1은 H4상에 상주하는 것으로 도시되어 있고 제 2 기본 카피 B2는 H1상에 상주하는 것으로 도시된다. 유휴 카피 B3는 H5상에 상주한다. 제 3 응용 모듈 유형 C는 복사도 2를 갖는 콜드 백업 스타일로 엔트리(207)에 등록된다. 이와같이, 기본 카피 C1는 H3를 실행하는 것으로 도시되어 있고 단일의 유휴 카피는 H6상에 상주하는 것으로 도시된다.
후술된 대로, 임계가 도달된 온이치페일루어 스위칭 스타일 또는 온오버쓰레솔드 스위칭 스타일을 갖는 기본 응용 모듈의 고장을 검출한 후에, 백업 응용 모듈은 새로운 기본 응용 모듈로서 테이블(200)에 지정된다. 만일, 고장난 응용 모듈이 웜 또는 핫 백업 스타일을 갖는다면, 그 응용 모듈 유형의 유휴 카피는 그 호스팅 컴퓨터로 실행되어 네트워크에서 동일한 복사 레벨을 유지한다. 유사하게, 만일, 응용 모듈의 처리 백업 카피가 고장난 것으로 검출된다면, 그 응용 모듈의 유휴 카피는 등록된 복사도로 명시된 대로 네트워크내의 동일한 수의 실행 카피를 유지하도록 다른 호스트 컴퓨터로 재시동된다. 또한 후술된 대로, 호스트 컴퓨터의 고장을 검출한후, 테이블(200)은 그 컴퓨터상의 실행중인 응용 모듈의 아덴티티를 기본 카피 또는 백업 카피로서 결정하기 위해 억세스된다. 고장난 호스트 컴퓨터상의 각각의 이러한 기본 또는 백업 카피는 각각 개별적으로 고장난 것처럼 동일한 방식으로 고장-보호된다.
도 1을 참조하여, 고장 보호는 각각의 호스트 컴퓨터상의 처리중인 와치독 데몬 처리를 통해 영향을 받는다. 각각의 이러한 와치독 데몬(WatchDog Daemon)은 응용 모듈이 복사관리기(112)로 등록된후, 그 실행중인 응용 모듈 및 그 호스트 컴퓨터상의 모든 다른 등록된 응용 모듈을 모니터링하는 기능을 수행한다. 따라서, 와치독 데몬(113-1)은 호스트 컴퓨터(H1)상의 실행중인 등록된 응용 모듈 A1, B2을 모니터링하고, 와치독 데몬(113-2)은 호스트 컴퓨터(H2)상의 실행중인 등록된 응용 모듈 A2를 모니터링하고, 와치독 데몬(113-3)은 호스트 컴퓨터(H3)상의 실행중인 등록된 응용 모듈 A3및 C1을 모니터링한다. 와치독 데몬(113-4)은 호스트 컴퓨터(H4)상의 실행중인 응용 모듈(B1)을 모니터링한다. 호스트 컴퓨터(H4)내의 메모리의 응용 모듈 A4가 유휴이므로, 와치독 데몬(113-4)은 나중에 액티브가 될때까지 그것을 모니터링하지 않는다. 유사하게, 호스트 컴퓨터(H6)상의 유휴 모듈 C2및 호스트 컴퓨터(H5)상의 응용 모듈 B3은 각각 그들이 실행될 때까지 와치독 데몬(113-5,113-6)에 의해 모니터링되지 않는다.
각각의 호스트 컴퓨터상에 실행중인 와치독 데몬(113)은 두가지 고장 검출 메카니즘들, 즉, 폴링(polling) 및 하트비트(heartbeat)를 지원한다. 폴링시에, 와치독 데몬은 그것이 모니터링하는 응용 모듈에 폴링 메시지를 주기적으로 전송한다. 만일 폴링이 실패하면, 응용 모듈이 파손된 것으로 가정한다. 폴링은 응용 모듈내측에서 새니티-체킹(sanity-checking) 방법을 호출하는 응용 모듈에 대한 새니티 체킹을 제공하는데 사용될 수 있다. 하트비트 메카니즘에서, 응용 모듈은 주기적 방식 또는 호출마다의 방식으로 와치독 데몬에 하트비트들을 실제적으로 전송한다. 와치독 데몬은 소정의 지속기간내에 하트비트를 수신하지 않는다면, 응용 모듈은 정지된 것으로 간주된다. 하트비트 메카니즘은 응용 모듈 또는 호스트 컴퓨터의 파손 및 정지 고장을 검출할수 있는 반면에, 폴링 메카니즘은 단지 파손 고장만을 검출할 수 있다. 응용 모듈은 그 신뢰성 요구에 근거된 이들 두가지 접근법중의 하나를 선택할 수도 있다.
와치독 데몬이 "와칭(watching)"이라는 응용 모듈의 파손 또는 정지를 검출할 때, 와치독 데몬은 페일-오버 작용에 대해 고장을 복사관리기(112)에 보고한다. 이전에 언급된 대로, 만일, 고장난 응용 모듈이 온이치페일루어 페일-오버 방법으로 등록된다면, 고장난 응용 모듈은 또다른 호스트에 이주된다. 이와같이, 고장난 응용 모듈이 기본 카피라면, 백업 응용 모듈들중의 한 모듈이 새로운 기본 카피로서 지정되고 유휴 응용 모듈은 응용 모듈 유형이 등록된 동일 복사도를 유지하도록 실행된다. 백업 상태로부터 기본 상태로 응용 모듈을 유발한후, 실행된 유휴 응용이 실행된대로, 테이블(200)내의 그 지정은 수정된다. 만일, 고장난 응용 모듈이 백업 카피이면, 유휴 카피는 실행되고 테이블(200)내의 그 지정은 그 변화를 반영하도록 수정된다.
도 1에 나타낸 대로, 복사관리기(112)는 중앙방식화되고, 즉, 네트워크내의 실행중인 복사관리기의 단지 한 카피만이 있다. 네트워크내의 실행중인 각각의 응용 모듈에 대한 복사 정보는 복사관리기(112)의 메모리내에 유지된 테이블(200)에서 통합된다. 고장의 경우 이러한 정보의 손실을 방지하기 위해, 복사관리기 테이블은 체크포인트 서버(110)로 체크포인팅된다.
각각의 호스트 컴퓨터로 실행중인 와치독 데몬의 기능외에도, 중앙방식화된 수퍼와치독 데몬 처리부(115-1)가 호스트 파손을 검출 및 회복하는데 사용된다. 모든 와치독 데몬은 호스트 파손의 이러한 검출을 위해 수퍼와치독 데몬으로 등록된다. 고장 검출은 하트비트 검출 특성을 통해 영향받는다. 이와같이, 각각의 와치독 데몬(113)은 하트비트를 수퍼와치독 데몬(115-1)을 주기적으로 전송한다. 만일, 수퍼와치독 데몬(115-1)이 임의의 와치독(113)으로부터 하트비트를 수신하지 않는다면, 와치독 및 호스트컴퓨터는 고장난 것으로 가정한다. 그후, 호스트 컴퓨터의 고장을 복사관리기(112)에 알림으로써 고장 복구가 초기화된다. 중앙방식의 수퍼와치독 데몬은 그 자체가 고장의 단일 지점이될수 있으므로, 그자체가 복사되고 복사는 웜 복사 스타일로 유지된다. 도 1에서, 수퍼와치독(115-1)의 수퍼와치독 백업 카피(115-2,115-3)은 각각 호스트 컴퓨터(H5,H6)상에 상주하는 것으로 도시된다. 3개의 수퍼와치독 데몬은 논리적 링 구조를 형성한다. 각각의 수퍼와치독 데몬은 이웃하는 수퍼와치독에 하트비트를 전송한다. 이와같이, 도 1에서, 기본 수퍼와치독(115-1)은 하트비트를 수퍼와치독(115-2)에 주기적으로 전송하고, 수퍼와치독(115-3)에 주기적으로 전송하며, 수퍼와치독(115-1)에 주기적으로 전송한다. 수퍼와치독이 링상의 이웃하는 수퍼와치독으로부터 하트비트를 수신하지 않는다면, 고장이 발생하는 것으로 가정한다. 고장난 수퍼와치독에 대한 페일-오버 과정은 후술도니다.
파손 또는 정지된 응용 모듈로부터의 복구의 예로서, 응용 모듈 A에 참조가 이루어지며, 이 모듈은 복사도 3 및 온이치페일루어 스위칭 스타일을 갖는 웜 복사 스타일로 복사관리기(112)에 등록된다. 초기 응용 모듈(A1)은 호스트 컴퓨터(H2, H3)상에서 각각 처리중인 백업(A2,A3)으로 호스트 컴퓨터(H1)상에서 실행한다. 응용 모듈(A1)은 폴링 검출 스타일을 갖는 그 국부적인 와치독(113-1)으로 등록되어, 와치독(113-1)은 응용 모듈(A1)을 주기적으로 폴링한다. 이때, 호스트 컴퓨터(H1)상의 응용 모듈(A1)은 파손하며, 이러한 고장은 와치독(113-1)에 의해 검출된다. 와치독(113-1)은 복사관리기(112)에 고장을 보고하고, 이는 그 내부 테이블(200)을 순람하고 유형 A의 기본 응용 모듈이 고장나고 백업 응용이 호스트 컴퓨터(H2,H3)상에서 실행중임을 결정한다. 이것은 이들 백업들중의 하나(예를들어, A2)를 기본 상태로 유발하고 테이블(200)에서 그 A2의 상태를 백업으로부터 기본 상태로 변경한다. 그후, 유휴 카피 A4가 경로 이름 위치/홈(home)/충(chung)/A.exe으로 호스트 컴퓨터(H4)상에 상주하고, 호스트 컴퓨터(H4)상의 와치독(113-4)을 그 카피를 실행하도록 알림으로써 새로운 백업을 시작한다. 이와같이, 응용 모듈 A의 전체 3개의 카피는 호스트 컴퓨터(H1)상의 응용 모듈 A1의 고장으로부터 검출 및 복구한구 네트워크내에서 실행하게 남아있으며, 이로써, 등록된 복사도와 동일한 3에서 네트워크내의 응용 모듈의 실행 수를 유지한다. 정지된 응용 모듈의 고장 검출 및 복구는 폴링대신에 하트비트가 고장 검출 수단으로서 사용되는 경우를 제외하고 정확하게 동일할 것이다.
각각의 호스트 컴퓨터상에서 실행중인 와치독은 네트워크에서 기본 수퍼와치독에 하트비트를 전송한다. 이와같이, 와치독(113-1 내지 113-6)은 수퍼독(115-1)에 하트비트를 전송한다. 호스트 파손이 발생할 때, 그상에서 처리중인 와치독은 파손하고 수퍼와치독(115-1)은 그 와치독으로부터 하트비트를 수신하는 것을 중단한다. 예를들어, 만일, 호스트(H1)가 파손된다면, 수퍼와치독(115-1)은 와치독(113-1)으로부터 하트비트의 수신을 중단한다. 이때, 호스트 컴퓨터(H1)는 죽은 것을 선언하고 그 고장을 복사관리기(112)에 보고한다. 복사관리기(112)는 응용 모듈(A1,B2)이 호스트 컴퓨터(H1)를 실행중임을 결정하도록 테이블(200)을 억세스한다. A1에 대한 복구는 전술된 대로 초기화된다. 응용 모듈(B2)은 기본 카피인 것으로 된다. 호스트 컴퓨터(H5)상에 상주하는 유휴 카피(B3)는 그후 실행되며, 이로써, 네트워크에서의 응용 모듈 유형 B의 2가지 실행 기본 카피를 유지한다. B3의 상태는 유휴로부터 기본 산태로 테이블(200)에서 갱신된다. 호스트 컴퓨터상에 실행하는 와치독 데몬의 고장은 호스트 파손과 동일한 방식으로 처리된다.
수퍼와치독 데몬이 실행중인 호스트 컴퓨터가 파손될 때, 논리적 링상의 다름 호스트 컴퓨터에 대한 수퍼와치독은 하트비트의 수신을 중단한다. 이와같이, 호스트 컴퓨터(H6)가 고장나거나 호스트 컴퓨터상의 수퍼와치독(115-3)이 파손되면, 호스트 컴퓨터(H2)상의 수퍼와치독(115-1)은 수퍼와치독(115-3)으로부터 하트비트의 수신을 중단한다. 이는 수퍼와치독(115-3)이 죽은것으로 선언하고 죽은 수퍼와치독(115-3)이 기본 수퍼와치독인지를 확인하도록 체크한다. 수퍼와치독(115-3)이 백업이므로, 수퍼와치독을 대신해서 임의의 동작을 취할 필요가 없다. 수퍼와치독(115-2)이 그 하트비트를 호스트 컴퓨터(H6)상의 수퍼와치독에 전송하도자 할 때 예외를 가질 것이다. 예외를 다루는 분야로서, 수퍼와치독(115-2)은 호스트 컴퓨터(H1)상의 수퍼와치독(115-1)에 대한 취급을 결정하며 그 자체를 등록하고 하트비트를 그것에 전송하기 시작한다.
만일, 호스트 컴퓨터(H2)가 고장나거나 수퍼와치독(115-1)이 파손된다면, 호스트 컴퓨터(H5)상의 수퍼와치독(115-2)은 고장을 검출하고 기본 수퍼와치독이 고장났음을 결정한다. 백업 수퍼와치독(115-2)은 기본 역할을 인수하고 호스트 컴퓨터(H5)상의 복사관리기 데몬을 시작한다. 호스트 컴퓨터(H1 내지 H6)상의 와치독(113-1 내지 113-6)은 호스트 컴퓨터(H2)(기본)상의 수퍼와치독(115-1)에 하트비트를 전송하도록 시도할 때 각각 예외를 갖는다. 예외 취급 루틴의 분야로서, 각각의 와치독 데몬은 새로운 기본 와치독(115-2)을 발견하고 복사관리기(112)는 새로운 기본 수퍼와치독(115-2)으로 등록하며 주기적 하트비트를 그것에 전송하기 시작한다. 복사관리기 데몬의 단지 한 카피만이 네트워크내에서 실행중이므로, 복사관리기의 상태는 체크포인트 서버(110)내에 테이블(200)을 저장함으로써 지속된다. 이로써, 복사관리기가 새로운 기본 수퍼와치독(115-2)을 갖는 호스트 컴퓨터(H5)에 이주될 때, 그 호스트상의 개시된 복사관리기는 그 상태를 체크포인크 서버(110)로부터 로딩하고 그 저장된 상태로부터 그 내부 테이블을 재초기화한다. 유사하게, 만일, 복사관리기(112)가 고장이라면, 그 고장은 수퍼와치독(115-1)에 의해 하트비트의 부재로부터 검출된다. 수퍼와치독(115-1)은 그후 동일 호스트 컴퓨터상의 복사관리기(112)를 재개하고, 그 상태를 체크포인트 서버(110)로부터 로딩하고 그 내부 테이블(200)을 그 저장된 상태로부터 재초기화한다.
상기 언급된 실시예는 본 발명의 원리를 설명하기 위한 것이며, 다른 실시예는 본 발명의 정신 및 범위를 벗어나지 않은채 당업자에 의해 실행가능한 것이다.
등록된 응용 모듈과 동일한 호스트 컴퓨터상의 실행하는 와치독 데몬 처리부는 그후 고장을 검출하기 위해 그 등록된 응용 모듈을 주기적으로 모니터링한다. 와치독 데몬 처리부가 모니터링된 응용 모듈의 파손 또는 정지를 검출할 때, 이 처리부는 그 고장을 복사관리기에 보고하고, 이 복사관리기는 페일-오버(fail-over) 처리를 한다. 따라서, 만일, 복사 스타일이 웜 또는 핫이고, 고장난 응용 모듈이 그 자신의 호스트 컴퓨터상에서 재시작될 수 없다면, 그 기본 응용 모듈의 실행하는 백업 카피들중의 한 카피는 새로운 기본 응용 모듈로서 지정되고 응용 모듈의 유휴 카피가 상주하는 호스트 컴퓨터는 그 유휴 응용을 실행하도록 네트워크상에서 신호화된다. 이와같이, 복사도는 그 응용 모듈의 복수의 고장에 대해 방지하도록 보장된다. 만일, 복사 스타일이 콜드이고 그 고장난 응용이 그 자신의 호스트 컴퓨터상에서 재시작될수 없다면, 응용 모듈의 유휴 카피가 상주해 있는 호스트 컴퓨터가 유휴 카피를 실행하도록 네트워크상에서 신호화된다. 호스트 컴퓨터 또는 호스트 컴퓨터상의 와치독 데몬의 고장을 검출하기 위해, 동일한 호스트 컴퓨터상에서 복사관리기로서 실행하는 수퍼와치톡 데몬 처리부는 각각의 호스트 컴퓨터로부터의 입력들을 검출한다. 그 호스트 컴퓨터로부터의 입력의 결핍에 의해 수퍼와치독 데몬으로 검출된 호스트 컴퓨터의 고장후에, 복사관리기는 그 호스트 컴퓨터상에서 실행중인 응용 모듈들을 결정하도록 접근된다. 이 응용 모듈들은 그후 복사관리기내에서 설정 및 저장되는 방식으로 개별적으로 고장-보호된다.

Claims (22)

  1. 고장 허용오차(fault tolerant) 계산을 위한 컴퓨터 시스템에 있어서,
    네트워크상에 상호접속된 다수의 호스트 컴퓨터들과;
    상기 다수의 호스트 컴퓨터들중의 다른 한 컴퓨터상에서 각각 처리하는 응용 모듈의 한개이상의 카피들과;
    상기 호스트 컴퓨터들중의 다른 한 컴퓨터들상에 각각 저장된 응용 모듈의 한개이상의 유휴(idle) 백업 카피들과;
    상기 다수의 호스트 컴퓨터들중의 한 컴퓨터를 처리하는 관리기 데몬(manager daemon) 처리부로서, 상기 응용 모듈의 처리하는 카피들중의 고장난 한 카피에 대해 표시를 수신하고 고장 복구를 초기화하는 관리기 데몬 처리부; 및
    상기 관리기 데몬 처리부에 등록 메시지를 공급하는 수단으로서, 상기 등록 메시지가 상기 응용 모듈 및 상기 응용 모듈의 복사도를 명시하고, 상기 복사도가 상기 시스템내에 유지될 제 1 응용 모듈의 처리하는 카피들의 수를 나타내는 등록 메시지 공급 수단을 구비하며,
    상기 응용 모듈의 처리하는 카피들의 수는 상기 응용 모듈의 처리하는 임의의 카피들의 한개이상의 고장을 각각 검출한후 상기 유휴 백업 카피들중의 최소한 하나를 실행함으로써 그 등록된 복사도로 유지되는 컴퓨터 시스템.
  2. 제 1항에 있어서, 다수의 고장-검출 데몬 처리부를 더 구비하며, 상기 다수의 고장-검출 데몬 처리부는 응용 모듈의 각각의 카피가 처리하고 있는 호스트 컴퓨터에 관련되어 처리하며, 각각의 상기 고장-검출 데몬 처리부는 응용 모듈의 그 관련된 카피가 계속 처리할수 있는 능력을 모니터링하고, 각각의 고장-검출 데몬 처리부는 그 고장을 검출한후 응용 모듈의 그 관련된 카피의 고장을 나타내는 메시지를 상기 관리기 데몬 처리부에 전송하는 컴퓨터 시스템.
  3. 제 2항에 있어서, 네트워크에 접속된 체크포인트 서버를 더 구비하며, 상기 체크포인트 서버는 상기 응용 모듈의 각각의 상기 처리중인 카피들 및 상기 관리기 데몬 처리부의 상태를 주기적으로 저장하는 컴퓨터 시스템.
  4. 제 3항에 있어서, 상기 응용 모듈의 상기 처리중인 카피들중의 한 카피의 고장을 검출한후, 상기 관리기 데몬 처리부는 고장난 카피의 처리 기능들을 실행 및 취하기 위해 상기 유휴 백업 카피들중의 최소한 하나를 신호화하고, 상기 하나의 백업 카피는 상기 체크포인트 서버로부터 그 응용 모듈의 고장난 카피의 최종 저장된 상태를 검색하는 컴퓨터 시스템.
  5. 제 3항에 있어서, 제 2 고장-검출 데몬 처리부를 더 구비하고, 상기 제 2 고장-검출 데몬 처리부는 동일한 호스트 컴퓨터에 대해 관리기 데몬 처리부로서 처리하고, 상기 제 2 고장-검출 처리부는 응용 모듈의 카피들중의 한 카피가 고장에 대해 처리중인 호스트 컴퓨터를 모니터링하는 컴퓨터 시스템.
  6. 제 5항에 있어서, 모니터링된 호스트 컴퓨터의 고장 검출후에, 상기 관리기 데몬 처리부는 고장난 호스트 컴퓨터상의 처리중인 응용 모듈의 카피의 처리 기능들을 실행 및 취하도록 상기 유휴 백업 카피들중의 하나를 신호화하고, 상기 실행된 백업 카피는 그 고장난 호스트 컴퓨터상의 처리중인 응용 모듈의 카피의 최종 저장된 상태를 상기 체크포인트 서버로부터 검색하는 컴퓨터 시스템.
  7. 제 5항에 있어서, 상기 제 2 고장-검출 데몬 처리부의 백업 카피를 더 구비하며, 상기 제 2 고장-검출 데몬 처리부의 백업 카피는 제 2 고장-검출 데몬 처리부가 처리중인 호스트 컴퓨터이외의 다른 상기 다수의 호스트 컴퓨터들중의 한 컴퓨터에 대해 처리하고, 상기 제 2 고장-검출 처리부의 상기 카피는 상기 제 2 고장-검출 데몬 처리부가 고장에 대해 처리중인 호스트 컴퓨터를 모니터링하는 컴퓨터 시스템.
  8. 제 7항에 있어서, 상기 제 2 고장-검출 데몬 처리부가 처리중인 호스트 컴퓨터의 고장을 검출한후, 상기 제 2 고장-검출 데몬 처리부의 상기 백업 카피는 상기 제 2 고장-검출 데몬 처리부의 처리 기능들을 취하고 그 자신의 호스트 컴퓨터에 대한 상기 관리기 데몬 처리의 카피의 실행을 초기화하며, 상기 관리기 데몬 처리부의 상기 카피는 상기 제 2 호스트 컴퓨터에 대해 실행하고 있는 동안 상기 관리기 데몬 처리부의 최종 저장된 상태를 상기 체크포인트 서버로부터 검색하는 컴퓨터 시스템.
  9. 제 1항에 있어서, 응용 모듈에 대한 등록 메시지는 제 1 응용 모듈에 대한 복사 스타일이 콜드(cold), 웜(warm), 핫(hot)인지를 나타내는 복사의 스타일을 또한 명시하는 컴퓨터 시스템.
  10. 제 4항에 있어서, 응용 모듈에 대한 상기 등록 메시지는 또한 페일-오버(fail-over) 방법을 명시하고, 페일-오버 방법은 한개의 처리중인 카피의 고장이 상기 제 1 고장-검출 처리에 의해 검출될때마다 상기 유휴 백업 카피들중의 한 카피가 상기 실행 카피들중의 고장난 카피의 처리 기능들을 취해야 하는지를 나타내거나 상기 응용 모듈의 상기 한 카피의 고장 수가 소정의 임계에 도달한후에만 상기 유휴 백업 카피들중의 상기 한 카피가 상기 하나의 고장난 실행하는 카피의 처리 기능들을 취해야 하는지를 나타내는 컴퓨터 시스템.
  11. 컴퓨터 시스템내의 호스트 컴퓨터에 대한 고장-관리 컴퓨터 장치에 있어서,
    컴퓨터 시스템내의 호스트 컴퓨터에 대해 실행중인 응용 모듈의 카피의 고장 표시를 수신하고 그 응용 모듈의 최소한 한개의 유휴 백업 카피로 고장 복구를 초기화하는 관리기 데몬 처리부; 및
    상기 응용 모듈 및 상기 응용 모듈의 복사도를 명시하는 등록 메시지를 수신하는 수단으로서, 상기 복사도는 상기 시스템내에 유지될 상기 응용 모듈의 실행하는 카피들의 수를 나타내는 수신 수단을 구비하며,
    상기 시스템내의 응용 모듈의 실행하는 카피들의 수는 그 응용 모듈의 실행하는 카피들중의 한 카피의 고장을 검출한후 유휴 백업 카피들중의 하나를 실행함으로써 그 등록된 복사도로 유지되는 컴퓨터 장치.
  12. 제 11항에 있어서, 상기 응용 모듈의 실행하는 카피들중의 한 카피의 고장의 표시를 수신한후, 상기 관리기 데몬 처리부는 고장난 카피의 처리 기능들을 취하도록 유휴 백업 카피들중의 한 카피를 신호화하는 컴퓨터 장치.
  13. 제 11항에 있어서, 고장에 대한 시스템내의 각각의 호스트 컴퓨터를 모니터링하기 위한 상기 고장-검출 데몬 처리부를 더 구비하는 컴퓨터 장치.
  14. 제 13항에 있어서, 상기 고장-검출 데몬 처리부는 응용 모듈의 카피가 처리중인 호스트 컴퓨터들중의 한 컴퓨터의 고장을 검출한후, 상기 관리기 데몬 처리부는 고장난 호스트 컴퓨터에 대한 응용 모듈의 카피의 처리 기능들을 취하기 위해 상기 최소한 하나의 유휴 백업 카피들중의 하나를 신호화하는 컴퓨터 장치.
  15. 컴퓨터 시스템에서 사용하기 위한 고장-허용오차 계산 장치에 있어서,
    상기 장치에 대해 실행하고, 상기 장치에 대해 계속 실행하기 위해 응용 모듈의 실행 카피의 능력을 모니터링하는 고장-검출 데몬 처리부; 및
    등록 메시지를 관리기 데몬 처리부에 전송하는 수단으로서, 상기 등록 메시지는 상기 시스템내에 유지될 응용 모듈의 실행 카피들의 수에 관련하여 응용 모듈에 대해 상기 관리기 데몬 처리부에 의해 유지될 응용 모듈 및 복사도를 명시하는 전송 수단을 구비하며,
    상기 시스템내의 응용 모듈의 실행하는 카피드리의 수가 응용 모듈의 실행하는 카피의 고장을 검출한후 다른 계산 장치상의 응용 모듈의 유휴 백업 카피를 실행함으로써 그 등록된 복사도로 유지되는 계산 장치.
  16. 제 15항에 있어서, 상기 장치에 대해 응용 모듈의 실행하는 카피의 고장을 검출한후, 응용 모듈의 유휴 백업 카피가 실행되고 고장난 카피의 처리 기능들을 취하는 계산 장치.
  17. 제 15항에 있어서, 상기 등록 메시지는 응용 모듈이 콜드, 웜, 또는 핫 백업 스타일로 복사될지를 나타내는 복사 스타일을 또한 명시하는 계산 장치.
  18. 네트워크상의 상호 접속된 다수의 호스트 컴퓨터들, 상기 다수의 호스트 컴퓨터들상의 다른 한 컴퓨터에 대해 각각 실행하는 응용 모듈의 한개이상의 카피, 및 상기 호스트 컴퓨터들의 다른 한 컴퓨터상에 각각 저장된 응용 모듈의 한개이상의 유휴 백업 카피들을 구비하는 고장-허용오차 컴퓨터 시스템을 동작시키기 위한 방법에 있어서,
    제 1 응용 모듈 및 그 응용 모듈에 대해 유지될 복사도를 명시하는 등록 메시지를 수신하는 단계로서, 상기 복사도가 시스템내에 유지될 응용 모듈의 실행하는 카피들의 수를 표시하는 등록 메시지 수신 단계; 및
    시스템내의 응용 모듈의 실행하는 카피들의 전체 수를 등록된 복사도로 유지하기 위해 응용 모듈의 실행하는 카피들중의 한 카피의 고장을 검출한후 유휴 백업 카피들중의 최소한 한 카피를 실행하는 단계를 구비하는 컴퓨터 시스템 동작 방법.
  19. 제 18항에 있어서,
    그 응용 모듈의 실행하는 카피들중의 한 카피의 고장에 대한 표시를 수신하는 단계; 및
    상기 유휴 백업 카피들중의 최소한 한 카피로 고장난 카피에 대한 고장 복구를 초기화하는 더 단계를 구비하는 컴퓨터 시스템 동작 방법.
  20. 제 18항에 있어서,
    상기 응용 모듈의 카피가 실행하는 호스트 컴퓨터들중의 하나를 모니터링하는 단계; 및
    상기 호스트 컴퓨터의 고장을 검출한후, 유휴 백업 카피들중의 한 카피로 상기 호스트 컴퓨터상의 응용 모듈의 카피에 대한 고장 복구를 초기화하는 단계를 더 구비하는 컴퓨터 시스템 동작 방법.
  21. 제 18항에 있어서, 상기 응용 모듈에 대한 등록 메시지는 응용 모듈에 대한 복사 스타일이 콜드, 웜, 또느 핫인지를 나타내는 복사 스타일을 명시하는 컴퓨터 시스템 동작 방법.
  22. 제 19항에 있어서, 상기 응용 모듈에 대한 등록 메시지는 페일-오버 방법을 또한 명시하고, 상기 페일-오버 방법은 유휴 백업 카피들중의 한 카피가 그 실행하는 카피의 고장이 검출될 때마다 상기 유휴 백업 카피들중의 한 카피가 그 실행하는 카피들중의 고장난 카피의 처리 기능들을 취해야 하는지를 나타내거나, 상기 한 카피의 고장 수가 소정의 임계에 도달한후에만 상기 유휴 백업 카피들중의 한 카피가 그 고장난 실행하는 카피의 처리하는 기능들을 취해야 하는지를 나타내는 컴퓨터 시스템 동작 방법.
KR1019990029263A 1998-07-20 1999-07-20 고장-허용오차를계산하는컴퓨터시스템및이를동작시키는방법,고장-관리컴퓨터장치,및고장-허용오차계산장치 KR20000011834A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/119,140 US6195760B1 (en) 1998-07-20 1998-07-20 Method and apparatus for providing failure detection and recovery with predetermined degree of replication for distributed applications in a network
US9/119,140 1998-07-20

Publications (1)

Publication Number Publication Date
KR20000011834A true KR20000011834A (ko) 2000-02-25

Family

ID=22382756

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990029263A KR20000011834A (ko) 1998-07-20 1999-07-20 고장-허용오차를계산하는컴퓨터시스템및이를동작시키는방법,고장-관리컴퓨터장치,및고장-허용오차계산장치

Country Status (7)

Country Link
US (1) US6195760B1 (ko)
EP (1) EP0981089B1 (ko)
JP (1) JP2000105756A (ko)
KR (1) KR20000011834A (ko)
AU (1) AU752846B2 (ko)
CA (1) CA2273708A1 (ko)
DE (1) DE69907824T2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100844101B1 (ko) * 2005-11-16 2008-07-07 성균관대학교산학협력단 동적 윈도우 기반 고장 모니터링 시스템 및 모니터링 방법

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6477663B1 (en) 1998-04-09 2002-11-05 Compaq Computer Corporation Method and apparatus for providing process pair protection for complex applications
US6449734B1 (en) 1998-04-17 2002-09-10 Microsoft Corporation Method and system for discarding locally committed transactions to ensure consistency in a server cluster
US6360331B2 (en) * 1998-04-17 2002-03-19 Microsoft Corporation Method and system for transparently failing over application configuration information in a server cluster
US6615244B1 (en) * 1998-11-28 2003-09-02 Tara C Singhal Internet based archive system for personal computers
US6393590B1 (en) * 1998-12-22 2002-05-21 Nortel Networks Limited Method and apparatus for ensuring proper functionality of a shared memory, multiprocessor system
US7376864B1 (en) * 1998-12-30 2008-05-20 Oracle International Corporation Method and system for diagnostic preservation of the state of a computer system
US6654801B2 (en) * 1999-01-04 2003-11-25 Cisco Technology, Inc. Remote system administration and seamless service integration of a data communication network management system
US6622257B1 (en) * 2000-02-11 2003-09-16 Micron Technology, Inc. Computer network with swappable components
GB2359384B (en) * 2000-02-16 2004-06-16 Data Connection Ltd Automatic reconnection of partner software processes in a fault-tolerant computer system
GB2359385B (en) * 2000-02-16 2004-04-07 Data Connection Ltd Method for upgrading running software processes without compromising fault-tolerance
AU2001250053A1 (en) * 2000-03-22 2001-10-03 Interwoven, Inc. Method and apparatus for automatically deploying data in a computer network
WO2001071508A1 (en) * 2000-03-22 2001-09-27 Interwoven Inc. Method of and apparatus for recovery of in-progress changes made in a software application
US6735717B1 (en) * 2000-04-13 2004-05-11 Gnp Computers, Inc. Distributed computing system clustering model providing soft real-time responsiveness and continuous availability
US7657887B2 (en) 2000-05-17 2010-02-02 Interwoven, Inc. System for transactionally deploying content across multiple machines
US7225244B2 (en) * 2000-05-20 2007-05-29 Ciena Corporation Common command interface
US7130870B1 (en) 2000-05-20 2006-10-31 Ciena Corporation Method for upgrading embedded configuration databases
US7051098B2 (en) * 2000-05-25 2006-05-23 United States Of America As Represented By The Secretary Of The Navy System for monitoring and reporting performance of hosts and applications and selectively configuring applications in a resource managed system
WO2002001347A2 (en) * 2000-06-30 2002-01-03 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for automatic re-assignment of software components of a failed host
US7103002B2 (en) * 2000-07-12 2006-09-05 Telefonktiebolaget Lm Ericsson (Publ) Communication management in networks having split control planes and user planes
US6879820B2 (en) 2000-07-12 2005-04-12 Telefonaktiebolaget Lm Ericsson (Publ) Charging in communication networks having split control planes and user planes
US6990606B2 (en) 2000-07-28 2006-01-24 International Business Machines Corporation Cascading failover of a data management application for shared disk file systems in loosely coupled node clusters
GB2368411B (en) * 2000-10-25 2004-01-28 Proksim Software Inc Sharing data over a network
US6973054B2 (en) * 2001-01-05 2005-12-06 Telefonaktiebolaget Lm Ericsson (Publ) Communication management in mobile networks having split control planes and user planes
DE10101754C2 (de) 2001-01-16 2003-02-20 Siemens Ag Verfahren zur automatischen Wiederherstellung von Daten in einer Datenbasis
US7146260B2 (en) 2001-04-24 2006-12-05 Medius, Inc. Method and apparatus for dynamic configuration of multiprocessor system
US10298735B2 (en) 2001-04-24 2019-05-21 Northwater Intellectual Property Fund L.P. 2 Method and apparatus for dynamic configuration of a multiprocessor health data system
US7120693B2 (en) * 2001-05-08 2006-10-10 International Business Machines Corporation Method using two different programs to determine state of a network node to eliminate message response delays in system processing
US20050160088A1 (en) * 2001-05-17 2005-07-21 Todd Scallan System and method for metadata-based distribution of content
DE10138658B4 (de) * 2001-08-07 2005-08-11 Fujitsu Siemens Computers Gmbh Datenverarbeitungsvorrichtung und Kopplungsmittel für eine Datenverarbeitungsvorrichtung
US7389332B1 (en) 2001-09-07 2008-06-17 Cisco Technology, Inc. Method and apparatus for supporting communications between nodes operating in a master-slave configuration
US6766482B1 (en) 2001-10-31 2004-07-20 Extreme Networks Ethernet automatic protection switching
US6983397B2 (en) * 2001-11-29 2006-01-03 International Business Machines Corporation Method, system, and program for error handling in a dual adaptor system where one adaptor is a master
US7035595B1 (en) * 2002-01-10 2006-04-25 Berkana Wireless, Inc. Configurable wireless interface
US7020800B2 (en) * 2002-01-24 2006-03-28 Hewlett-Packard Development Company L.P. System and method for memory failure recovery using lockstep processes
US7043550B2 (en) * 2002-02-15 2006-05-09 International Business Machines Corporation Method for controlling group membership in a distributed multinode data processing system to assure mutually symmetric liveness status indications
US7421478B1 (en) 2002-03-07 2008-09-02 Cisco Technology, Inc. Method and apparatus for exchanging heartbeat messages and configuration information between nodes operating in a master-slave configuration
US7165258B1 (en) * 2002-04-22 2007-01-16 Cisco Technology, Inc. SCSI-based storage area network having a SCSI router that routes traffic between SCSI and IP networks
US7200610B1 (en) 2002-04-22 2007-04-03 Cisco Technology, Inc. System and method for configuring fibre-channel devices
US7188194B1 (en) * 2002-04-22 2007-03-06 Cisco Technology, Inc. Session-based target/LUN mapping for a storage area network and associated method
US7415535B1 (en) * 2002-04-22 2008-08-19 Cisco Technology, Inc. Virtual MAC address system and method
US7433952B1 (en) 2002-04-22 2008-10-07 Cisco Technology, Inc. System and method for interconnecting a storage area network
US7587465B1 (en) 2002-04-22 2009-09-08 Cisco Technology, Inc. Method and apparatus for configuring nodes as masters or slaves
US7178049B2 (en) 2002-04-24 2007-02-13 Medius, Inc. Method for multi-tasking multiple Java virtual machines in a secure environment
US7385971B1 (en) 2002-05-09 2008-06-10 Cisco Technology, Inc. Latency reduction in network data transfer operations
US7509436B1 (en) 2002-05-09 2009-03-24 Cisco Technology, Inc. System and method for increased virtual driver throughput
US7240098B1 (en) 2002-05-09 2007-07-03 Cisco Technology, Inc. System, method, and software for a virtual host bus adapter in a storage-area network
US8549114B2 (en) 2002-06-12 2013-10-01 Bladelogic, Inc. Method and system for model-based heterogeneous server configuration management
US20040103185A1 (en) * 2002-11-21 2004-05-27 Combs Nathan Hideaki Adaptive self-repair and configuration in distributed systems
US7624158B2 (en) * 2003-01-14 2009-11-24 Eycast Inc. Method and apparatus for transmission and storage of digital medical data
US6973486B2 (en) * 2003-01-31 2005-12-06 Blakeney Kenneth M Alternate server system
US7831736B1 (en) 2003-02-27 2010-11-09 Cisco Technology, Inc. System and method for supporting VLANs in an iSCSI
US7295572B1 (en) 2003-03-26 2007-11-13 Cisco Technology, Inc. Storage router and method for routing IP datagrams between data path processors using a fibre channel switch
US7433300B1 (en) 2003-03-28 2008-10-07 Cisco Technology, Inc. Synchronization of configuration data in storage-area networks
US7904599B1 (en) 2003-03-28 2011-03-08 Cisco Technology, Inc. Synchronization and auditing of zone configuration data in storage-area networks
US7526527B1 (en) 2003-03-31 2009-04-28 Cisco Technology, Inc. Storage area network interconnect server
US7287179B2 (en) * 2003-05-15 2007-10-23 International Business Machines Corporation Autonomic failover of grid-based services
US7451208B1 (en) 2003-06-28 2008-11-11 Cisco Technology, Inc. Systems and methods for network address failover
US7359335B2 (en) * 2003-07-18 2008-04-15 International Business Machines Corporation Automatic configuration of network for monitoring
CN1292346C (zh) * 2003-09-12 2006-12-27 国际商业机器公司 用于在分布式计算体系结构中执行作业的系统和方法
US20090019140A1 (en) * 2003-12-12 2009-01-15 Norbert Lobig Method for backup switching spatially separated switching systems
US9213609B2 (en) * 2003-12-16 2015-12-15 Hewlett-Packard Development Company, L.P. Persistent memory device for backup process checkpoint states
JP2005196683A (ja) * 2004-01-09 2005-07-21 Hitachi Ltd 情報処理システム、情報処理装置、及び情報処理システムの制御方法
US20050216552A1 (en) * 2004-03-24 2005-09-29 Samuel Fineberg Communication-link-attached persistent memory system
US7711977B2 (en) 2004-04-15 2010-05-04 Raytheon Company System and method for detecting and managing HPC node failure
US8335909B2 (en) 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
US8336040B2 (en) 2004-04-15 2012-12-18 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US8190714B2 (en) 2004-04-15 2012-05-29 Raytheon Company System and method for computer cluster virtualization using dynamic boot images and virtual disk
US9178784B2 (en) 2004-04-15 2015-11-03 Raytheon Company System and method for cluster management based on HPC architecture
US7680904B2 (en) * 2004-08-06 2010-03-16 Logic Controls, Inc. Diagnostic method and apparatus for detecting and locating computer network discontinuities
JP2006079418A (ja) * 2004-09-10 2006-03-23 Fujitsu Ltd 記憶制御装置、制御方法及びプログラム
US20060056285A1 (en) * 2004-09-16 2006-03-16 Krajewski John J Iii Configuring redundancy in a supervisory process control system
US7818615B2 (en) 2004-09-16 2010-10-19 Invensys Systems, Inc. Runtime failure management of redundantly deployed hosts of a supervisory process control data acquisition facility
US8027280B2 (en) * 2004-10-27 2011-09-27 Honeywell International Inc. Layered architecture for data management in a wireless sensor network
US7561544B2 (en) * 2004-10-27 2009-07-14 Honeywell International Inc. Machine architecture for event management in a wireless sensor network
US7630336B2 (en) * 2004-10-27 2009-12-08 Honeywell International Inc. Event-based formalism for data management in a wireless sensor network
US7664080B2 (en) * 2004-10-27 2010-02-16 Honeywell International Inc. Discreet event operators for event management in a wireless sensor network
US7590098B2 (en) * 2004-10-27 2009-09-15 Honeywell International Inc. Publish/subscribe model in a wireless sensor network
US7475274B2 (en) 2004-11-17 2009-01-06 Raytheon Company Fault tolerance and recovery in a high-performance computing (HPC) system
US8244882B2 (en) 2004-11-17 2012-08-14 Raytheon Company On-demand instantiation in a high-performance computing (HPC) system
US7433931B2 (en) 2004-11-17 2008-10-07 Raytheon Company Scheduling in a high-performance computing (HPC) system
US7715308B2 (en) * 2004-12-09 2010-05-11 Honeywell International Inc. Fault tolerance in a wireless network
US7320088B1 (en) 2004-12-28 2008-01-15 Veritas Operating Corporation System and method to automate replication in a clustered environment
US7941507B1 (en) * 2005-01-21 2011-05-10 Network Engines, Inc. High-availability network appliances and methods
US7478278B2 (en) * 2005-04-14 2009-01-13 International Business Machines Corporation Template based parallel checkpointing in a massively parallel computer system
JP5235292B2 (ja) * 2006-09-29 2013-07-10 富士通株式会社 コンピュータシステム、バックアップシステムへの移行方法、バックアップシステムへの移行プログラム、監視装置、端末装置及びバックアップシステム
US8166156B2 (en) * 2006-11-30 2012-04-24 Nokia Corporation Failure differentiation and recovery in distributed systems
JP5251002B2 (ja) * 2007-05-25 2013-07-31 富士通株式会社 分散処理プログラム、分散処理方法、分散処理装置、および分散処理システム
US7827444B2 (en) * 2007-09-28 2010-11-02 Intel Corporation Application crash resist method and apparatus
US8626954B2 (en) * 2008-08-28 2014-01-07 Alcatel Lucent Application-aware M:N hot redundancy for DPI-based application engines
JP4648447B2 (ja) * 2008-11-26 2011-03-09 株式会社日立製作所 障害復旧方法、プログラムおよび管理サーバ
US8880473B1 (en) 2008-12-15 2014-11-04 Open Invention Network, Llc Method and system for providing storage checkpointing to a group of independent computer applications
US9358924B1 (en) 2009-05-08 2016-06-07 Eagle Harbor Holdings, Llc System and method for modeling advanced automotive safety systems
US20110179303A1 (en) * 2010-01-15 2011-07-21 Microsoft Corporation Persistent application activation and timer notifications
US9002946B2 (en) * 2010-08-25 2015-04-07 Autodesk, Inc. Dual modeling environment in which commands are executed concurrently and independently on both a light weight version of a proxy module on a client and a precise version of the proxy module on a server
US8621274B1 (en) * 2011-05-18 2013-12-31 Netapp Inc. Virtual machine fault tolerance
US8856585B2 (en) 2011-08-01 2014-10-07 Alcatel Lucent Hardware failure mitigation
US9037897B2 (en) 2012-02-17 2015-05-19 International Business Machines Corporation Elastic cloud-driven task execution
US10365964B1 (en) 2018-05-31 2019-07-30 Capital One Services, Llc Data processing platform monitoring
JP7038016B2 (ja) * 2018-07-05 2022-03-17 本田技研工業株式会社 水素ステーション
CN109871299A (zh) * 2019-01-23 2019-06-11 西安微电子技术研究所 一种基于物理隔离的双机冷备份共享存储系统及方法
CN110471672A (zh) * 2019-08-13 2019-11-19 天津津航计算技术研究所 一种基于逻辑芯片的dsp烧写防密码锁死电路
CN110688427B (zh) * 2019-09-11 2022-03-04 北京控制工程研究所 一种四机热备份实时系统的异步数据同步方法
US11683348B2 (en) 2020-07-10 2023-06-20 International Business Machines Corporation Bypassing security vulnerable and anomalous devices in multi-device workflow
US12009975B2 (en) 2022-07-22 2024-06-11 Dell Products L.P. Method and system for generating an upgrade recommendation for a communication network
US12032473B2 (en) * 2022-11-28 2024-07-09 Dell Products Moving an application context to the cloud during maintenance
US12093744B2 (en) 2023-01-25 2024-09-17 Dell Products L.P. System and method for instantiating twin applications
CN117724325B (zh) * 2024-02-08 2024-05-24 北京和利时系统工程有限公司 一种铁路信号控制系统的安全计算机平台

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2560510B2 (ja) * 1990-03-06 1996-12-04 日本電気株式会社 ネットワーク管理マネージャ切り替え方式
CA2106280C (en) * 1992-09-30 2000-01-18 Yennun Huang Apparatus and methods for fault-tolerant computing employing a daemon monitoring process and fault-tolerant library to provide varying degrees of fault tolerance
US5408649A (en) * 1993-04-30 1995-04-18 Quotron Systems, Inc. Distributed data access system including a plurality of database access processors with one-for-N redundancy
US5664090A (en) * 1993-12-15 1997-09-02 Kabushiki Kaisha Toshiba Processor system and method for maintaining internal state consistency between active and stand-by modules
US5440726A (en) * 1994-06-22 1995-08-08 At&T Corp. Progressive retry method and apparatus having reusable software modules for software failure recovery in multi-process message-passing applications
WO1996032685A1 (en) * 1995-04-11 1996-10-17 Kinetech, Inc. Identifying data in a data processing system
US5666486A (en) * 1995-06-23 1997-09-09 Data General Corporation Multiprocessor cluster membership manager framework

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100844101B1 (ko) * 2005-11-16 2008-07-07 성균관대학교산학협력단 동적 윈도우 기반 고장 모니터링 시스템 및 모니터링 방법

Also Published As

Publication number Publication date
EP0981089A3 (en) 2001-06-06
EP0981089B1 (en) 2003-05-14
AU4020499A (en) 2000-02-10
DE69907824T2 (de) 2004-04-15
US6195760B1 (en) 2001-02-27
AU752846B2 (en) 2002-10-03
DE69907824D1 (de) 2003-06-18
EP0981089A2 (en) 2000-02-23
JP2000105756A (ja) 2000-04-11
CA2273708A1 (en) 2000-01-20

Similar Documents

Publication Publication Date Title
KR20000011834A (ko) 고장-허용오차를계산하는컴퓨터시스템및이를동작시키는방법,고장-관리컴퓨터장치,및고장-허용오차계산장치
US6266781B1 (en) Method and apparatus for providing failure detection and recovery with predetermined replication style for distributed applications in a network
EP0167540B1 (en) Processing system tolerant of loss of access to secondary storage
JP4345334B2 (ja) 耐障害計算機システム、プログラム並列実行方法およびプログラム
US6477663B1 (en) Method and apparatus for providing process pair protection for complex applications
EP0590866B1 (en) Apparatus for fault-tolerant computing
US4823256A (en) Reconfigurable dual processor system
JP3844621B2 (ja) アプリケーション実現方法及びアプリケーション実現装置
JP2003508847A (ja) ミラーリング・デバイス群に格納されているデータの一貫性を維持する方法および装置
KR20040047209A (ko) 네트워크 상의 컴퓨터 시스템의 자동 복구 방법 및 이를구현하기 위한 컴퓨터 시스템의 자동 복구 시스템
JPH09251443A (ja) 情報処理システムのプロセッサ障害回復処理方法
JP3942216B2 (ja) 二重化された監視/制御プロセッサによるシステム監視・制御方法およびシステム監視・制御装置
JP3325785B2 (ja) 計算機の故障検出・回復方式
JPH10116261A (ja) 並列計算機システムのチェックポイントリスタート方法
JPH08329025A (ja) プロセスマイグレーション方式
JP2005235214A (ja) 不具合が存在するときにスイッチ障害を防止する方法、装置及びソフトウエア
KR19990050461A (ko) 고 가용성 시스템의 오류 처리방법
JPH05158905A (ja) 分散処理機能を持つマイクロプロセッサ応用装置
JPH03111962A (ja) マルチプロセッサ・システム
JPH0594326A (ja) バス障害検出時のアダプタ処理方式
KR19980030107A (ko) 행정 전산망 주전산기 시스템의 장애 검출 및 처리 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application