KR100420266B1 - 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법및 그 장치 - Google Patents

클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법및 그 장치 Download PDF

Info

Publication number
KR100420266B1
KR100420266B1 KR10-2001-0065337A KR20010065337A KR100420266B1 KR 100420266 B1 KR100420266 B1 KR 100420266B1 KR 20010065337 A KR20010065337 A KR 20010065337A KR 100420266 B1 KR100420266 B1 KR 100420266B1
Authority
KR
South Korea
Prior art keywords
server
rehabilitation
redundant
unstable
servers
Prior art date
Application number
KR10-2001-0065337A
Other languages
English (en)
Other versions
KR20030034411A (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-0065337A priority Critical patent/KR100420266B1/ko
Priority to US10/015,768 priority patent/US20030079154A1/en
Publication of KR20030034411A publication Critical patent/KR20030034411A/ko
Application granted granted Critical
Publication of KR100420266B1 publication Critical patent/KR100420266B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Hardware Redundancy (AREA)

Abstract

본 발명은, 여러 대의 서버로 구성된 클러스터 컴퓨터 시스템 관리자가 예측할 수 있는 적절한 시점을 택하여 프로그램을 일시적으로 중지시킨 후, 다시 가동시키는 소프트웨어 재활 기법을 이용한 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법 및 그 장치에 관한 것으로, 소프트웨어 측면과 하드웨어 측면을 모두 고려하였으며, 소프트웨어 재활에 의한 예방적 차원의 결함 허용 기법을 활용한 것이고, 클러스터 시스템의 소프트웨어적인 불안정률과 하드웨어적인 고장률에 따른 최적 재활 시기의 결정을 통하여 가용도를 개선함으로써, 비용 측면에 있어서 효율적인 고 가용성 컴퓨터 시스템의 특성을 확보할 수 있도록 한 것이다.

Description

클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법 및 그 장치{Apparatus and method for improving the availability of cluster computer systems}
본 발명은 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법 및 그 장치에 관한 것으로, 특히 여러 대의 서버로 구성된 클러스터 컴퓨터 시스템의 결함이 발생하기 전에 이를 미연에 방지하는 능동적 차원의 결합 허용 방법이다. 즉, 본 발명은 클러스터 컴퓨터 시스템의 가용도를 개선하기 위하여 불시의 소프트웨어 장애로 인한 피해가 없이 컴퓨터 시스템 관리자가 예측할 수 있는 적절한 시점(예를 들면, 시스템의 이용이 한산하다든지, 프로그램이 문제를 야기시킬 우려가 있다든지)을 택하여 프로그램을 일시적으로 중지시킨 후, 다시 가동하는 소프트웨어 재활 기법을 사용한 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법 및 그 장치에 관한 것이다.
일반적으로, 컴퓨터 시스템 기술의 발전과 사용자의 다양한 요구로 인하여 소프트웨어의 복잡도는 날로 증가되는 추세에 있으며, 이에 따라 소프트웨어의 설계, 구현 또는 그 밖의 여러가지 원인과 소프트웨어와 관련된 결함으로 인하여 전체 시스템의 오동작 또는 수행 중단으로 이어지는 사례가 늘어나고 있다.
컴퓨터 장애의 원인으로는 하드웨어/소프트웨어 결함에 의한 장애가 있으며, 조사된 연구에 따르면 소프트웨어에 의한 장애는 그 비중이 점차로 늘어날 전망이다. 소프트웨어의 결함을 줄이기 위한 방법으로 소프트웨어의 결함을 설계, 구현, 시험 과정에서 발견하여 이를 해결하는 방법이 가장 이상적이지만 현실적으로 결함이 전무한 상태로 만드는 것은 불가능하다.
소프트웨어 재활 기법은 점차로 복잡해져 가는 인터넷, 실시간 처리 등의 클라이언트-서버(Client-Server) 컴퓨팅 환경에 적합한 대안이라 평가되고 있고, 버퍼 플러슁, 메모리 청소, 파일 시스템 정리, 커널 테이블의 초기화 등을 재시동 방법으로 처리할 수 있으며, 이 경우 소프트웨어는 일시적 결함(Transient Fault)이 발생할 확률이 작은 새로운 상태에서 재출발할 수 있게 된다.
기존의 소프트웨어 결합 허용 방식(예를 들면, Recovery Block, N-version Programming, N-self Checking Programming, Checkpointing)들은 새로운 컴퓨팅 환경 변화에 대한 적응력이 떨어지며, 네트워크 환경과 응용 프로그램의 복잡, 대형화 추세로 인해 대규모 실시간 트랜잭션 처리 응용 프로그램(인터넷 검색 서비스, 뱅킹, 증권 전산 등)들의 고 가용성 확보 방안으로는 적합하지 않다.
클라이언트-서버 형태의 컴퓨팅 환경의 서버에서 가동되는 소프트웨어는 상당히 긴 시간동안 수행 가능하여야 하며, 서버 소프트웨어의 가동 시간이 길어질 수록 다수의 클라이언트의 요청으로 인한 에러 데이터의 누적이 필연적이다. 장시간 가동으로 인한 소프트웨어 노화(Software Aging)로 인해서 시스템의 성능 저하 및 일시적 결함의 발생 가능성이 커지게 되며, 결국에는 메모리 부족, 화일 공유의 오류, 또는 데이터 손상 등과 같은 소프트한 결함으로 인해서 서버 소프트웨어의 성능이 점차로 저하되어 이것이 지속될 경우 시스템의 작동이 멈추게 된다.
소프트웨어 노화로 인한 결함(결함 허용 분야에서 이와 같은 유형의 결함을 Heisenbugs라고 함)의 감지, 수정은 상당히 어려우며, 단순히 하드웨어적으로 시스템의 가용도를 높이기 보다는 소프트웨어적인 결함으로 인한 시스템 장애를 사전에 예방함으로써, 서비스가 중단되는 평균 횟수를 최소화하는 것이 더 바람직하다.
하드웨어 기술의 발전으로 인하여 시스템 가용도 척도에 하드웨어 보다는 소프트웨어가 더욱 더 큰 영향을 끼치고 있으며, 특히 복잡한 대규모 소프트웨어의 등장으로 결함이 없는 소프트웨어의 개발은 거의 불가능하게 되므로 인해 소프트웨어 결함 허용에 대한 필요성이 점차 중요시 되고 있다. 대부분의 소프트웨어 결함이 영구적이기 보다는 일시적 결함의 성질을 가지고 있으며, 소프트웨어 노화로 인해 발생되는 일시적 결함은 시스템을 재 가동할 경우에 대부분 없어진다.
도 1은 일반적인 클러스터 컴퓨터 시스템의 블록 구성을 나타낸 도면으로서, 도 1에 따르면, 클라이언트와 서버는 ADSL(Asymmetric Digital Subscriber Line), 이더넷(Ethernet), 케이블, 랜(LAN)등과 같은 고속 가입자 망을 통해 연결되며, 서버의 데이터는 SCSI(Small Computer System Interface)나, 광 채널 인터페이스, TCP-IP등을 통해 하드 디스크 등의 저장장치(도면에서는 다수의 디스크 어레이로 표시됨)에 의해 관리된다.
이와 같은 일반적인 클러스터 컴퓨터 시스템에 대한 종래 기술에 따른 상태 전이 모델에 대하여 도 2를 참조하여 살펴보자.
도 2는 장시간 가동된 소프트웨어의 불안정성을 고려하지 않은 종래 기술에 따른 클러스터 컴퓨터 시스템의 상태 전이 모델을 나타낸 도면이다.
도 2에서 소프트웨어 재활을 고려한 가용도(Availability)는 모든 서버가 고장이거나(P0), 한대의 서버가 가동중일 경우 재활 작업을 수행하는(Pr1)상태 확률을 제외한 경우이기 때문에 아래의 수학식 1과 같이 표현될 수 있다.
불시에 발생한 결함 혹은 소프트웨어 재활 작업으로 인해 서비스를 제공할 수 없는 다운타임(Downtime)은 클러스터 컴퓨터 시스템의 가동 시간(T)에 대한 함수로 아래의 수학식 2와 같이 표현될 수 있다.
서버의 가동 정지로 인한 단위 시간당 손실 비용을 Cf, 소프트웨어 재활 작업으로 인한 단위 시간당 손실 비용을 Cr이라 할 경우 서버의 정지로 인해 발생하는 비용은 아래의 수학식 3과 같다.
일반적으로 예상 가능한 시스템 정지 비용은 불시 정지로 인한 손실 비용에 비해 훨씬 저렴하게 된다(Cf≫ Cr).
클러스터 컴퓨터 시스템에서 수행되는 소프트웨어의 재활 주기, 재활 소요 시간, 서버의 하드웨어적인 고장률과 수리율, 동시에 가동되는 서버의 수 및 서버의 가동 기간 등의 시스템 운영 파라미터에 기초하여 소프트웨어 재활학적으로 검증함으로써, 소프트웨어 재활을 통한 예방적 결함 허용 기법의 적용 가능성이 높다는 것을 확인하였다.
또한, 장시간 가동으로 인한 소프트웨어적인 불안정률 및 서버의 하드웨어적인 고장률이 클러스터 시스템의 가용도 개선에 중요한 특성 요소임을 파악하였다.
그러나, 이와 같은 종래 기술에 따른 컴퓨터 시스템의 가용도 개선을 위한 소프트웨어 재활 기법에서는 고가의 이중화된 대용량 서버 시스템을 대상으로 하고 있으며, 최근 각광받고 있는 비용 효율적인 고성능, 고 가용성 솔루션인 클러스터 컴퓨터 시스템을 대상으로 하고 있지 않다. 따라서, 비용 효율적인 고 가용성 시스템의 구축이 어려운 문제점이 야기된다.
따라서, 본 발명은 상기한 종래 기술에 따른 제반 문제점을 해결하기 위하여 안출한 것으로, 본 발명의 목적은, 여러 대의 서버로 구성된 클러스터 컴퓨터 시스템 관리자가 예측할 수 있는 적절한 시점을 택하여 프로그램을 일시적으로 중지시킨 후, 다시 가동시키는 소프트웨어 재활 기법을 이용한 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법 및 그 장치를 제공함에 있다. 즉, 소프트웨어 측면과 하드웨어 측면을 모두 고려하였으며, 소프트웨어 재활에 의한 예방적 차원의 결함 허용 기법을 활용한 클러스터 컴퓨터 시스템의 소프트웨어 고 가용도 개선 방법 및 그 장치를 제공하는 것이다.
또한, 본 발명의 다른 목적은, 클러스터 시스템의 소프트웨어적인 불안정률과 하드웨어적인 고장률에 따른 최적 재활 시기의 결정을 통하여 가용도를 개선함으로써, 비용 효율적인 고 가용성 컴퓨터 시스템의 특성을 확보할 수 있도록 한 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법 및 그 장치를 제공함에 있다.
도 1은 일반적인 클러스터 컴퓨터 시스템의 블록 구성을 나타낸 도면.
도 2는 종래 기술에 따른 클러스터 컴퓨터 시스템의 상태 전이 모델을 나타낸 도면.
도 3은 본 발명에 따른 소프트웨어 재활을 고려한 클러스터 컴퓨터 시스템의 상태 전이 모델을 나타낸 도면.
도 4는 본 발명에 따른 이중화된 클러스터 시스템의 소프트웨어 재활 기법 적용 예시도.
도 5는 본 발명에 따른 소프트웨어 가용도 개선 장치를 포함하는 클러스터 컴퓨터 시스템의 구성을 나타낸 도면.
도 6은 도 5에 도시된 클러스터링 모듈의 상세 구성을 나타낸 도면.
도 7은 도 5에 도시된 소프트웨어 재활 모듈의 상세 구성을 나타낸 도면.
도 8은 도 5에 도시된 결함 허용 모듈의 상세 구성을 나타낸 도면.
도 9는 도 6, 7, 8에 도시된 본 발명에 따른 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 장치의 상호 연결 구성을 나타낸 도면.
도 10은 본 발명에 따른 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법에 있어서, 서버의 불안정한 상태(소프트웨어의 불안정 상태) 발생시 이를 복구하는 방법에 대한 동작 플로우챠트를 나타낸 도면.
도 11은 본 발명에 따른 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법에 있어서, 서버의 결함(하드웨어 결함으로 서비스 중단시)시 이를 복구하는 방법에 대한 동작 플로우챠트를 나타낸 도면.
*도면의 주요 부분에 대한 부호의 설명*
500 : 고 가용성 클러스터 컴퓨터 시스템
501 : 클러스터링 모듈 502 : 소프트웨어 재활 모듈
503 : 결함 허용 모듈 504 : 주 서버
505 : 여분 서버 601 : 이중화 구조의 부하 분배기
602 : 클러스터 제어기 701 : 재활 명령 생성기
702 : 시스템 상태 수집기 703 : 시스템 감시기
801 : 결함 감지기 802 : 결함 복구기
803 : 결함 절체기
상기한 목적을 달성하기 위한 본 발명에 따르면, 클러스터를 구성하는 서버 하드웨어 고장률, 서버에 탑재된 소프트웨어의 장시간 가동으로 인한 불안정 상태를 반영하는 불안정률, 결함 발생 가능성이 작은 시스템 초기 가동 상태로 되기 위해 필요한 재활 소요 시간, 클러스터 시스템의 연속 가동 기간 및 단위 시간 당 손실 비용 등의 파라미터로부터 가용도를 최대화하고 손실 비용을 최소로 해주는 최적 재활 기법을 제시하는 방식으로 고가용도를 발생한 것이다.
본 발명에 따른 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법의 일측면에 따르면, 상기 다수의 주 서버에 대한 시스템 상태 정보를 수집하여 상기 서버들의 이상 상태 유무를 감시하는 단계; 상기 감시결과, 임의의 서버가 불안정한 상태로 판단되면, 여분 서버 또는 여분 용량이 존재하는 다른 주 서버가 존재하는지를 판단하는 단계; 여분 서버 또는 여분 용량을 가진 임의의 주 서버가 존재하는 경우, 현재 설정되어 있는 가동 모드에 따라 불안정한 상태의 주 서버를 여분 서버 또는 여분 용량이 있는 다른 주 서버로 모든 프로세스를 이중화하는 단계; 이중화가 완료되면, 불안정한 상태로 판단된 해당 서버에 재활 동작을 수행하기 위한 시스템 재활 제어 신호를 제공하는 단계를 포함한다. 여기서, 상기 시스템 상태 정보는, 주 서버의 작업 부하, 연속 가동 시간, 메모리 사용량, 버퍼 사용량 정보 중 적어도 하나의 정보를 포함한다.
또한, 상기 모든 프로세스를 이중화하는 단계는, 상기 현재 설정된 모드가 액티브/스탠바이(Active/Standby) 또는 액티브/액티브(Active/Active) 가동 모드인 경우, 임의의 여분 서버 또는 여분 용량을 가지는 주 서버를 선정하는 단계; 상기 불안정한 상태에 있는 주 서버의 모든 프로세스를 상기 선정된 여분 서버에 이중화시키고, 상기 불안정한 상태에 있는 주 서버의 모든 프로세스를 상기 선정된 여분 용량을 가진 주 서버에 이중화시키는 단계를 포함한다.
또한, 상기 서버의 재활 동작을 수행하는 단계는, 재활 대상이 되는 주 서버의 이중화가 완료되면, 재활 대상이 되는 주 서버의 작업 부하, 연속 가동 시간에 따라 재활 명령 수행 여부를 판단하는 단계; 상기 판단 결과 재활 명령 수행이 이루어어져야 하는 경우, 가용 서버 리스트에 상기 재활 대상이 되는 주 서버의 리스트를 삭제하는 단계; 상기 이중화된 여분 서버를 주 서버로 전환한 후, 상기 재활 대상이 되는 주 서버의 재활 동작을 수행하는 단계; 재활 동작이 완료되면, 재활 동작이 완료된 주 서버를 가용 서버 리스트에 여분 서버로 등록하는 단계를 포함할 수 있다. 여기서, 상기 재활 대상이 되는 주 서버의 재활 동작은, 파일 시스템 청소, 버퍼 청소, 메모리 청소, 재 부팅 동작을 포함한다.
또한, 본 발명에 따른 클러스터 컴퓨터 시스템의 결함 감시 방법의 일측면에 따르면, 상기 다수의 주 서버 각각에 대해 고장으로 인한 서비스의 중단을 감지하는 단계; 상기 감지결과, 임의의 주 서버에 결함이 발생되어 서비스가 중단되면,주 서버를 임의의 부 서버로 절체한 후, 결함이 발생된 주 서버의 결함 복구 명령을 발생하는 단계; a) 상기 발생된 복구 명령에 따라 주 서버에 대한 모든 기능을 상기 부 서버로 전이하고, b) 여분 서버로의 전이가 완료되면, 여분 서버를 주 서버로 등록하고, 결함이 발생된 상기 주 서버를 가용 서버 리스트로부터 삭제하는 단계; 상기 가용 서버 리스트로부터 삭제된 서버의 결함을 복구한 후, 결함이 복구된 서버를 부 서버로 가용 서버 리스트에 등록하는 단계를 포함한다.
한편, 본 발명에 따른 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 장치의 일 측면에 따르면, 상기 다수의 주 서버에 대한 시스템 상태 정보를 수집하여 각 서버의 불안정한 상태를 파악하는 시스템 감시 수단; a) 상기 시스템 감시 수단에서 시스템 감시 결과, 임의의 주 서버가 불안정한 상태인 경우, 현재 설정되어 있는 가동 모드에 따라 불안정한 상태의 주 서버를 여분 서버 또는 여분 용량이 있는 다른 주 서버로 모든 프로세스를 이중화시키기 위한 이중화 제어 신호를 제공하고, b) 상기 불안정한 상태에 있는 주 서버의 시스템 상태가 일정 시간 동안 지속되는 경우 해당 주 서버에 시스템 재활을 위한 재활 신호를 제공하는 클러스터 제어 수단; 상기 클러스터 제어 수단에서 제공되는 설정된 모드에 대한 이중화 제어 신호에 따라 불안정한 상태의 주 서버의 모든 프로세스를 여분 서버 또는 여분 용량이 존재하는 다른 주 서버로 이중화시키는 이중화 수단을 포함한다.
또한, 상기 시스템 감시 수단은, 상기 주 서버들의 시스템 상태를 감시하여 각 서버들의 상태 정보를 수집하는 시스템 상태 정보 수집부; 상기 시스템 상태 정보 수집부에서 수집된 시스템 상태 정보에 따라 불안정한 주 서버가 존재하는지를 판단하고, 불안정한 상태의 주 서버가 존재하는 경우 해당 주 서버의 불안정한 소프트웨어의 재활을 위한 재활 명령 신호를 생성하여 상기 이중화 수단으로 제공하는 재활 명령 생성부를 포함한다.
또한, 상기 클러스터 제어수단은, 상기 이중화 수단에서 상기 불안정한 상태의 주 서버가 여분 서버 또는 여분 용량을 가진 다른 주 서버로 이중화된 경우 상기 불안정 상태의 주 서버를 가용 서버 리스트로부터 삭제시키고, 상기 재활 신호에 따라 불안정한 상태의 주 서버의 재활이 완료되면 재활이 완료된 주 서버를 가용 서버 리스트로 재 등록하는 등록부를 포함한다.
또한, 상기 이중화 수단은, 상기 클러스터 제어 수단에 설정된 가동 모드에 따라 여분 서버 또는 여분 용량을 가진 임의의 주 서버를 선정하는 서버 선정부; a) 상기 설정된 가동 모드가 액티브/액티브 가동 모드인 경우, 상기 불안정한 상태에 있는 주 서버의 모든 프로세스를 상기 주 서버 선정부에서 선정된 여분 용량을 가진 주 서버에 이중화시키고, b) 상기 설정된 가동 모드가 액티브/스탠바이 가동 모드인 경우, 상기 불안정한 상태에 있는 주 서버의 모든 프로세스를 상기 주 서버 선정부에서 선정된 여분 서버에 이중화시키는 이중화부를 포함한다.
본 발명에 따른 클러스터 컴퓨터 시스템의 결함 감시 장치의 일측면에 따르면, 상기 다수의 주 서버 각각에 대해 고장으로 인한 서비스의 중단을 감지하는 감지 수단; 상기 감지결과, 임의의 주 서버에 결함이 발생되어 서비스가 중단되면,주 서버를 임의의 부 서버로 절체한 후, 결함이 발생된 주 서버의 결함 복구 명령 신호를 발생하는 결함 복구 명령 신호 발생 수단; a) 상기 발생된 복구 명령 신호에 따라 주 서버에 대한 모든 기능을 상기 부 서버로 전이하고, b) 부 서버로 전이가 완료되면, 부 서버를 주 서버로 등록하고, 결함이 발생된 상기 주 서버를 가용 서버 리스트로부터 삭제하며, c) 상기 가용 서버 리스트로부터 삭제된 서버의 결함을 복구한 후, 결함이 복구된 서버를 부 서버로 가용 서버 리스트에 등록하는 결함 복구 수단을 포함한다.
한편, 다수의 주 서버와 여분 서버로 이루어진 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법을 수행하기 위하여 디지털 처리장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리장치에 의해 판독될 수 있는 기록 매체에 따르면, 상기 다수의 주 서버에 대한 시스템 상태 정보를 수집하여 상기 서버들의 이상 상태 유무를 감시하는 단계; 상기 감시결과, 임의의 서버가 불안정한 상태로 판단되면, 여분 서버 또는 여분 용량이 존재하는 다른 주 서버가 존재하는지를 판단하는 단계; 여분 서버 또는 여분 용량을 가진 임의의 주 서버가 존재하는 경우, 현재 설정되어 있는 가동 모드에 따라 불안정한 상태의 주 서버를 여분 서버 또는 여분 용량이 있는 다른 주 서버로 모든 프로세스를 이중화하는 단계; 이중화가 완료되면, 불안정한 상태로 판단된 해당 서버에 재활 동작을 수행하기 위한 시스템 재활 제어 신호를 제공하는 단계를 포함한다.
또한, 다수의 주 서버와 부 서버로 이루어진 클러스터 컴퓨터 시스템의 결함감시 방법을 수행하기 위하여 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리 장치에 의해 판독될 수 있는 기록 매체에 따르면, 상기 다수의 주 서버 각각에 대해 고장으로 인한 서비스의 중단을 감지하는 단계; 상기 감지결과, 임의의 주 서버에 결함이 발생되어 서비스가 중단되면, 주 서버를 임의의 부 서버로 절체한 후, 결함이 발생된 주 서버의 결함 복구 명령을 발생하는 단계; a) 상기 발생된 복구 명령에 따라 주 서버에 대한 모든 기능을 상기 부 서버로 전이하고, b) 여분 서버로의 전이가 완료되면, 여분 서버를 주 서버로 등록하고, 결함이 발생된 상기 주 서버를 가용 서버 리스트로부터 삭제하는 단계; 상기 가용 서버 리스트로부터 삭제된 서버의 결함을 복구한 후, 결함이 복구된 서버를 부 서버로 가용 서버 리스트에 등록하는 단계를 수행한다.
이하, 본 발명에 따른 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법 및 그 장치의 바람직한 실시예를 설명하기에 앞서 소프트웨어 재활을 고려한 클러스터 컴퓨터 시스템의 상태 전이 모델에 대하여 간단하게 살펴보기로 하자.
도 3은 본 발명에 따른 소프트웨어 재활을 고려한 클러스터 컴퓨터 시스템의 상태 전이 모델을 나타낸 도면이다.
도 3에 도시된 바와 같이, 정상 상태에서 가동되고 있는 서버는 n, n-1, ....., 1, 0 등의 가동중인 서버의 수를 상태 변수(State Parameter)로 가지고 있으며, 장시간 가동으로 인해 성능이 저하된 불안정 상태의 서버는 un, un-1,.....u2, u1으로 나타냈다.
불안정 상태에서는 λr의 재활률로 재활 작업에 들어가거나, 혹은 i * λ의 고장률(i는 정상 가동중인 서버의 수)로 고장이 발생하게 된다.
또한, 정상 상태에서 불안정 상태로의 변화율은 λf로 표시되며, 이는 소프트웨어의 장기간 가동으로 인한 시스템의 불안정성을 반영한다. 도 2에서 재활 작업 영역(200)의 rn, rn-1, .....r1, r1은 재활 상태를 표시하며, 시스템의 가동을 고의로 중지시켜 재 부팅하는 상황을 나타낸다.
클러스터 컴퓨터 시스템의 운영 상태 모델의 수학적 해를 구하기 위해 사용된 가정은 다음과 같다. n대의 서버로 구성된 클러스터 컴퓨터 시스템에서 각 서버의 고장률(λ)은 동일하며, 고장난 서버를 수리하는 수리율(μ) 또한 모두 같다.
클러스터 컴퓨터 시스템에서 소프트웨어 재활에 들어갈 경우, 서버의 가동을 강제적으로 멈추는 재활률(λr)은 모든 가동 상태에서 동일하며, 재활 작업률(μr)은 서버 수에 무관하다. 클러스터 시스템에서 결함 발생시에 다른 서버로의 작업 전이 시간(Switchover Time)은 극히 짧으므로 무시할 수 있으며, 서버가 한 대만 가동되는 경우(Simplex System)를 제외하고는 현재 제공되는 서비스의 중단 없이 재활 작업을 수행한다. 마지막으로 도 3의 모든 상태에서 머무는 시간의 길이는 지수 분포를 따른다.
도 3의 클러스터 컴퓨터 시스템 상태 전이 모델은 상기와 같은 가정하에서 Irreducible Recurrent Nonnull Markov Chain을 형성하므로, 평형 상태에서 확률값을 비교적 쉽게 구할 수 있게 되며, 각 상태에 머물 확률은 아래의 수학식 4, 5, 6, 7과 같다.
도 4는 본 발명에 따른 이중화된 클러스터 시스템의 소프트웨어 재활 기법 적용 예시도이다.
도 4에 도시된 바와 같이 불안정 상태에서 가동되고 있는 2대의 서버(u2)는2λ의 고장률로 하드웨어적인 고장이 발생하며, 이 경우 λ는 서버의 MTTF(Mean Time To Failure)로부터 계산할 수 있다. 두 대의 서버가 모두 가동을 멈추는 고장 상태에서는 μ의 변화율로 고장이 수리되며, 이 값은 고장 수리 능력의 척도인 MTTR(Mean Time To Repair)에서 구할 수 있다. 서버의 장시간 가동으로 인한 소프트웨어 노화로 인해 서버의 성능이 저하되는 불안정 상태에 있을 경우 고의로 시스템의 가동을 멈추는 재활 상태(300) r2, r1로 가거나 혹은 고장 상태로 진행하게 된다.
결국, 도 2에 도시된 종래 기술에서는 장시간 가동된 소프트웨어의 불안정성을 고려하지 않은 상태의 전이 모델을 표시한 것으로, 이 경우 불안정 상태와 소프트웨어 재활 상태에 대한 표현이 없는 것이다. 즉, 도 3의 클러스터 컴퓨터 시스템 상태 전이 모델에서 도출한 확률로부터 가용도, 다운 타임 및 손실 비용을 정의한 경우가 상기한 수학식 1, 2, 3이 되는 것이다.
이하, 본 발명에 따른 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법 및 그 장치에 대한 바람직한 실시예에 대하여 첨부한 도면을 참조하여 상세하게 설명해 보기로 하자.
도 5는 본 발명에 따른 소프트웨어 가용도 개선 장치를 포함하는 클러스터 컴퓨터 시스템의 구성을 나타낸 도면으로서, 소프트웨어 재활 기법의 적용 대상이 되는 고 가용성 클러스터 컴퓨터 시스템의 구조를 표시하며 그 구성은 클러스터링 모듈(501), 소프트웨어 재활 모듈(502), 결함 허용 모듈(503)로 구성된다.
클러스터링 모듈(501)에서는 여러대의 컴퓨터를 연결해 고 가용성 클러스터시스템을 구축하는 기능을 제공하며, 이론상 연결될 수 있는 서버 수는 제한이 없다. 클러스터 컴퓨터 시스템의 가동 모드에 따라 액티브/스탠바이 (Active/Standby ), 액티브/액티브(Active/Active)방식으로 구분되며, 전자의 경우 실제로 서비스에는 참가하지 않는 여분 서버(505)가 있는 경우이며, 후자는 클러스터를 구성하는 모든 서버가 서비스에 참여하면서 동시에 상호 간에 여분 서버(505)역할을 수행하는 모드이다.
그리고, 클러스터링 모듈(501)은 클러스터 컴퓨터 시스템을 구성하고 있는 개개 서버의 작업 부하를 조절하는 부하 분배 기능을 수행하고, 소프트웨어 재활 모듈(502)과 재활 작업에 필요한 자료를 송,수신한다.
소프트웨어 재활 모듈(502)에서는 클러스터 컴퓨터 시스템의 서버를 대상으로 시스템 운영 파라미터에 따른 분석 결과에 근거하여 서버의 소프트웨어적인 불안정성을 파악한 후, 강제적으로 불안정 상태에 있는 서버의 동작을 중지시키는 명령을 생성한다. 이 재활 명령은 임의의 불안정한 상태에 있는 서버의 상태를 결함 허용 모듈(503)과 클러스터링 모듈(501)의 협조를 받아 결함 발생 가능성이 낮은 가동 초기 상태로 복귀시킨다. 이때 재활을 수행하는 기준, 방법 및 절차는 클러스터 컴퓨터 시스템의 응용 분야별로 적절하게 설정될 수 있다.
그리고, 결함 허용 모듈(503)에서는 클러스터 컴퓨터 시스템 서버들의 결함을 감지하고, 결함 발생 서버의 절체 및 결함 복구 기능을 담당한다. 결함 감지 기능을 수행하기 위해서 다양한 결함 감지 기법 예를 들어, Heart Beat, Watch Dog 등이 사용될 수 있으며, 결함이 발생한 서버를 절체할 때에는 체크 포인팅 등의 결함 허용 기법이 활용된 주 서버(504)의 작업 상태를 대기중인 여분 서버(505) 혹은 여유가 있는 다른 서버로 전달하는 것이다.
또한, 도 5에서는 모두 n+k개의 서버로 구성된 클러스터 컴퓨터 시스템의 예를 나타냈으며, n대의 주 서버(504), k대의 여분 서버(505)로 구성된 모습을 나타내고 있다. 일반적으로 재활 대상이 되는 서버에서 수행되는 모든 프로세스는 수행이 중지되며, 재활 작업을 마친 서버는 결함 발생 가능성이 낮은 상태를 가지고 재 출발하게 된다. 재활 명령이 수행되기 전에 클러스터링 모듈(501)은 재활 대상이 되는 서버로는 작업 부하를 배분하지 않으며, 재활 작업이 수행된 결함 발생 확률이 작은 건강한 상태의 서버 정보가 통보되어 작업 부하를 재 배정 받도록 구성된다. 따라서, 재활 대상 서버에서 수행되는 프로세스를 대상으로 하는 재활이 아니라 개개 서버 수준에서의 재활을 수행하게 되며, 이 경우 프로세스 수준의 재활을 수행할 경우 발생하는 데이터의 복잡성, 데이터 구조 설계 등의 오버헤드 소요 비용을 크게 줄일 수 있게 된다.
도 5와 같은 (n,k) 클러스터 컴퓨터 시스템의 경우 대기중인 특정 서버에 재활 명령의 대상이 되는 서버의 모든 프로세스를 작업전이(Switchover)한 후, 재활 작업을 수행할 경우 가용도 저하로 인한 손실 비용이 발생하지 않게 된다.
고 가용도 클러스터 시스템을 여분 서버 없이 구성할 경우 성능 대비 비용 효과가 상승하지만 여분 서버를 둘 경우에는 성능은 저하되지만 서비스에 대한 가용도가 증가하는 트래이드 오프(Trade-off)가 발생한다.
도 5에 도시된 고 가용성 클러스터 컴퓨터 시스템에서 클러스터링 모듈에 대한 상세 구성 및 동작에 대하여 도 6을 참조하여 살펴보자.
도 5에 도시된 클러스터링 모듈의 상세 구성을 나타낸 도면으로서, 클러스터링 모듈(501)은 이중화 구조의 부하 분배기(601)와 클러스터 제어기(602)로 구성될 수 있다.
클러스터링 모듈(501)내의 이중화 구조의 부하 분배기(601)는 각 클러스터 서버에 부하를 균등히 배분하는 역할을 수행함과 동시에 소프트웨어 재활 모듈(502)의 명령을 직접 수행한다.
특정 서버의 연속 가동 시간과 현재의 작업 부하 등을 고려한 후, 재활 작업의 대상이 되는 서버를 선정하며, 선정된 서버는 부하 분배기(601)의 가용 서버 리스트에서 제외한다, 이후 응용 분야별로 최적 재활 조건이 성립할 때 재활 작업 명령을 내리게 되는 것이다.
그리고, 도 5에 도시된 소프트웨어 재활 모듈(502)의 상세 구성은 도 7에 도시되어 있으며, 도 7을 참조하여 그 구성을 살펴보면, 재활 명령 생성기(701), 시스템 상태 수집기(702) 및 시스템 감시기(703)로 구성될 수 있다.
재활 명령 생성기(701)에서는 소프트웨어 재활 명령을 클러스터 컴퓨터 시스템의 가동 상태(작업 부하, 연속 가동 시간 등)를 고려한 후, 동작으로 내릴 수 있다. 한편, 클러스터 컴퓨터 시스템의 가동 상태와는 무관한 주기가 이미 확정된 정적 소프트웨어 재활도 가능하며, 이 때에는 주기적으로 소프트웨어 재활 작업이 수행되는 것이다. 재활 작업은 백 그라운드 데몬 프로세스로 수행되며 정적인 소프트웨어 재활 작업 수행시에는 UNIX 환경의 경우 cron과 같은 명령을 이용해 미래의주기적인 재활 작업 시간 및 조건을 예약할 수 있는 것이다.
시스템 상태 수집기(702)는 클러스터 서버의 현재 상태에 관한 정보 예를 들면, 서버의 불안정 상태 정보, 고장 상태 정보, 작업 전이 상태 정보 등을 관리한다. 이러한 상태 정보와 시스템 감시기(703)에서 파악된 클러스터 서버내의 프로세스에 관련된 정보 예를 들면, 작업 부하, 연속 가동 시간, 메모리 사용량 정보 등은 재활 명령 생성기(701)에 입력되어 재활 정책 수립에 사용된다.
한편, 도 5에 도시된 결함 허용 모듈(503)에 대하여 도 8을 참조하여 상세하세 살펴보자. 도 8은 도 5에 도시된 결함 허용 모듈의 상세 구성을 나타낸 도면으로서, 결함 허용 모듈(503)은 결함 감지기(801), 결함 복구기(802) 및 결함 절체기(803)로 구성될 수 있다.
상기 결함 감지기(801)에서는 서버의 고장으로 인한 서비스 중단을 감지한다.
서버의 결함이 감지되면, 감지된 신호는 결함 절체기(803)로 제공되는데, 결함 절체기(803)는 상기 결함 감지기(801)에서 결함이 감지된 서버를 클러스터 컴퓨터 시스템으로부터 분리/절체하게 되는 것이다.
상기 결함 절체기(803)에서 결함이 감지된 서버를 클러스터 컴퓨터 시스템으로부터 절체가 이루어지면, 결함 복구기(802)에서는 여분 서버로 주 서버의 기능을 전이하는 것이다. 고의적으로 서버의 가동을 중단하는 경우 재활 명령을 받은 서버는 결함 허용 모듈(503)의 이중화 명령을 수용하여 재활 대상 서버의 모든 프로세스 관련 정보를 여분 서버에게 전달하여 주 서버의 프로세스가 완전 이중화 되도록하는 것이다.
상기와 같은 구성을 갖는 본 발명에 따른 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 장치에 대한 구체적인 동작을 첨부한 도 9를 참조하여 설명해 보자.
도 9는 본 발명에 따른 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 장치의 연결 구성을 나타낸 도면으로서, 도 6,7,8과 그 내부 구성은 서로 동일하기 때문에 구성 설명은 생략하기로 하고, 서버가 불안정한 상태인 경우 복구하는 동작 과 서버의 결함 발생시 복구하는 동작을 각각 구분하여 설명하기로 한다.
먼저, 서버가 불안정한 상태 인 경우에 대하여 살펴보면, 소프트웨어 재활 모듈(502)의 시스템 감시기(703)에서는 주 서버(504)들의 작업 부하, 연속 가동 시간, 메모리 사용량, 버퍼 사용량 등을 감시하여 감시 결과 정보를 시스템 상태 수집기(702)로 제공한다.
시스템 상태 수집기(702)는 시스템 감시기(703)에서 제공되는 각 서버들의 감시 정보들을 이용하여 주 서버(504)의 소프트웨어 불안정 상태, 고장 상태, 작업 전이 상태 등을 파악하여 재활 명령 생성기(701)로 제공한다.
재활 명령 생성기(701)는 시스템 상태 수집기(702)에서 제공되는 주 서버(504)의 상태 정보에 따라 불안정한 주 서버(504)가 존재하는지를 판단한 후, 불안정한 상태의 주 서버(504)가 존재하는 경우 해당 주 서버(504)의 불안정한 소프트웨어의 복구를 위한 즉, 불안정한 상태에 있는 주 서버(504)의 재활을 위한 재활 명령을 생성하여 클러스터링 모듈(501)내 부하 분배기(601)로 통보한다. 즉, 부하 분배기(601)에 재활 대상이 되는 불안정한 상태의 임의의 주 서버를 통보하게 된다.
부하 분배기(601)는 해당 서버의 재활을 위해 클러스터 제어기(602)에 재활 제어 신호를 제공하게 된다.
따라서, 클러스터 제어기(602)는 여분 서버(505) 혹은 여분 용량의 주 서버(504)가 존재하는지를 판단한 후, 여분 서버 혹은 여분 용량이 있는 주 서버(504)가 존재하는 경우, 현재 설정된 모드를 판단하고, 현재 설정된 모드에 따라 불안정한 상태에 있는 주 서버의 재활을 위한 재활 제어 신호를 결함 허용 모듈(503)의 결함 복구기(802)로 제공하게 된다.
결함 허용 모듈(503)내 결함 복구기(802)는 클러스터 제어기(602)로부터 제공되는 제어 신호에 따라 상기 불안정한 상태에 있는 주 서버의 프로세스를 여분 서버 혹은 여분 용량이 존재하는 주 서버로 이중화시키게 되는 것이다. 여기서, 상기 설정 모드는 관리자가 설정하는 모드로서, 현재 설정된 모드가 액티브/스탠바이(Active/Standby)모드인 경우 결함 복구기(802)는 임의의 여분 서버를 선정하여 불안정한 상태에 있는 주 서버의 모든 프로세스를 상기 선정된 임의의 여분 서버로 이중화시킨다.
한편, 현재 설정된 모드가 액티브/액티브(Active/Active)모드로 설정되어 있는 경우, 결함 복구기(802)는 여분 용량을 가진 임의의 서버에 불안정한 상태에 놓여 있는 주 서버의 모든 프로세스를 이중화시키게 되는 것이다. 이와 같이 이중화 작업이 완료된 상태에서도 소프트웨어 재활 모듈(502)의 시스템 감시기(703)에서는불안정한 상태의 주 서버 즉, 재활 대상이 되는 주 서버의 작업 부하, 연속 가동 시간, 메모리 사용량, 버퍼 사용량 등을 감시하게 된다. 따라서, 클러스터링 모듈(501)의 부하 분배기(601)에서는 소프트웨어 재활 모듈(502)로부터 제공되는 재활 대상이 되는 주 서버의 작업 부하, 연속 가동 시간 등의 정보를 고려하여 재활 명령 수행 여부를 계속적으로 판단하게 된다.
계속적으로 재활 대상이 되는 주 서버의 시스템 안정 상태가 불안정한 상태를 유지하게 되면, 클러스터 제어기(602)는 부하 분배기(601)의 가용 서버 리스트에서 재활 대상이 되는 주 서버를 제외시키고, 재활 대상이 되는 주 서버와, 여분 서버 또는 여분 용량이 있는 서버를 주 서버로 전환시키게 되는 것이다.
그리고, 클러스터 제어기(602)는 재활 대상이 되는 주 서버에 재활 명령을 전송하게 되면, 해당 주 서버는 소프트웨어의 재활을 수행하게 되는 것이다. 여기서, 소프트웨어 재활은 파일 시스템 청소, 버퍼 청소, 메모리 청소, 재 부팅 등을 통해 소프트웨어를 재활하게 되는 것이다.
이와 같이 재활이 완료된 주 서버는 클러스터 제어기(602)로 재활 완료 정보를 제공하게 되고, 클러스터 제어기(602)는 이 정보를 수신하여 부하 분배기의 가용 서버 리스트에 등록하여 추후 여분 서버로 이용하게 되는 것이다.
이어, 주 서버(504)의 결함이 발생되어 서비스가 중단된 경우 결함이 발생된 주 서버의 결함을 복구하는 동작에 대하여 설명해 보자.
먼저, 주 서버의 결함 감지 및 복구 동작은 상기한 서버가 불안정한 상태인 경우 해당 서버의 소프트웨어 재활 동작과는 무관하게 동시에 진행된다.
도 9에 도시된 결함 허용 모듈(503)내의 결함 감지기(801)는 다수의 주 서버(504)들의 결함 여부를 감지하게 된다.
감지 결과, 다수의 주 서버(504) 중 임의의 주 서버에 결함이 발생되었음을 감지하게 되면, 감지 신호를 결함 절체기(803)로 제공한다.
결함 절체기(803)는 결함 감지기(801)에서 결함이 감지된 주 서버를 여분 서버로 절체하게 되고, 그 결과 신호 및 결함이 발생된 주 서버의 복구 명령 신호를 결함 복구기(802)로 제공한다. 여기서, 절체된 여분 서버가 주 서버의 역할을 수행하게 되는 것이다.
따라서, 결함 복구기(802)는 결함이 발생된 주 서버의 결함을 복구하게 되는 것이다.
결함 복구가 완료되면, 결함이 제거된 해당 서버를 클러스터 제어기(602)를 통해 부하 분배기(601)의 가용 서버 리스트에 등록을 하는 것이다.
이상에서 설명한 본 발명에 따른 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 장치의 동작과 상응하는 본 발명에 따른 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법에 대하여 서버가 불안정한 상태인 경우 복구하는 방법과, 서버의 결함 발생 시(하드웨어의 결함으로 서비스 중단시) 복구하는 방법을 각각 구분하여 도 10과 도 11를 참조하여 살펴보기로 한다.
도 10은 본 발명에 따른 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법에 있어서, 서버의 불안정한 상태(소프트웨어의 불안정 상태) 발생시 이를 복구하는 방법에 대한 동작 플로우챠트를 나타낸 도면이다.
먼저, 주 서버들의 작업 부하, 연속 가동 시간, 메모리 사용량, 버퍼 사용량 등을 감시하고, 감시된 각 서버들의 감시 정보들을 이용하여 주 서버의 소프트웨어 불안정 상태, 고장 상태, 작업 전이 상태 등을 파악하게 되는 것이다.
이렇게 파악된 주 서버의 상태 정보에 따라 불안정한 주 서버가 존재하는지를 판단한 후, 불안정한 상태의 주 서버가 존재하는 경우 해당 주 서버의 불안정한 소프트웨어의 복구를 위한 즉, 불안정한 상태에 있는 주 서버의 재활을 위한 재활 명령을 생성하여 클러스터링 모듈 내 부하 분배기로 통보한다(S101). 즉, 부하 분배기(601)에 재활 대상이 되는 불안정한 상태의 임의의 주 서버를 통보하게 된다.
이어, 상기 불안정한 상태에 있는 주 서버의 재활을 위한 여분 서버 혹은 여분 용량이 있는 주 서버가 존재하는지를 판단한다(S102).
판단 결과, 여분 서버 혹은 여분 용량이 있는 주 서버가 존재하는 경우, 현재 설정된 모드를 판단하고, 현재 설정된 모드에 따라 불안정한 상태에 있는 주 서버의 모든 프로세스를 상기 여분 서버 또는 여분 용량을 가진 주 서버에 이중화시키게 된다.
여기서, 상기 설정 모드는 관리자가 설정하는 모드로서, 현재 설정된 모드가 액티브/스탠바이(Active/Standby)모드인 경우, 임의의 여분 서버를 선정하여 불안정한 상태에 있는 주 서버의 모든 프로세스를 상기 선정된 임의의 여분 서버로 이중화시킨다.
한편, 현재 설정된 모드가 액티브/액티브(Active/Active)모드로 설정되어 있는 경우에는 여분 용량을 가진 임의의 서버에 불안정한 상태에 놓여 있는 주 서버의 모든 프로세스를 이중화시키게 되는 것이다(S103).
이와 같이 이중화 작업이 완료된 상태에서도 불안정한 상태의 주 서버 즉, 재활 대상이 되는 주 서버의 작업 부하, 연속 가동 시간, 메모리 사용량, 버퍼 사용량등을 감시하게 되고, 감시 정보 즉, 재활 대상이 되는 주 서버의 작업 부하, 연속 가동 시간 등의 정보를 고려하여 재활 명령 수행 여부를 계속적으로 판단하게 된다(S104).
계속적으로 재활 대상이 되는 주 서버의 시스템 안정 상태가 불안정한 상태를 유지하게 되면, 클러스터링 모듈내 부하 분배기의 가용 서버 리스트에서 재활 대상이 되는 주 서버를 제외시키고, 여분 서버 또는 여분 용량이 있는 서버를 주 서버로 전환시키게 되는 것이다(S105).
이어, 재활 대상이 되는 주 서버에 재활 명령을 전송하여, 주 서버로 하여금 소프트웨어의 재활을 수행하게 하는 것이다. 여기서, 소프트웨어 재활은 파일 시스템 청소, 버퍼 청소, 메모리 청소, 재 부팅 등을 통해 소프트웨어를 재활하게 되는 것이다.
이와 같이 재활이 완료된 주 서버는 클러스터 제어기를 통해 부하 분배기에 가용 서버 리스트 등록 정보를 제공하고 따라서, 부하 분배기는 해당 서버를 가용 서버 리스트에 등록을 하게 되는 것이다(S106).
도 11은 본 발명에 따른 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법에 있어서, 서버의 결함(하드웨어 결함으로 서비스 중단시)시 이를 복구하는 방법에 대한 동작 플로우챠트를 나타낸 도면이다.
먼저, 결함 감지기를 통해 다수의 주 서버들의 결함 여부를 감지하고, 임의의 주 서버에 결함이 발생되었는지를 판단한다(S201).
판단 결과, 다수의 주 서버 중 임의의 주 서버에 결함이 발생되었음을 감지하게 되면, 결함이 감지된 주 서버를 여분 서버로 절체하여 절체된 여분 서버가 주 서버의 역할을 수행하도록 한다(S202).
이어, 여분 서버가 주 서버의 동작을 수행하는 도중 결함이 발생된 주 서버는 결함을 복구하는 동작을 수행한다. 이어, 결함이 발생된 주 서버의 결함이 모두 복구되었는지를 판단한다(S203).
해당 서버의 결함 복구가 완료되면, 결함이 제거된 해당 서버를 클러스터링 모듈내 부하 분배기의 가용 서버 리스트에 등록을 함으로써, 결함 허용 동작이 완료되는 것이다(S204).
상기한 바와 같은 본 발명에 따른 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법 및 그 장치는, 시스템의 결함 발생 이후에 수동적으로 대처하는 기존의 결함 허용 방법에 비해 결함이 발생하기 전에 이를 미연에 방지하는 능동적/예방적 차원의 결함 허용이 가능한 것이다.
이와 같은 본 발명은, 앞으로 다가올 인터넷 기반 비지니스 시대에 반드시 필요한 기반 기술의 하나이며, 인터넷 환경하에서의 신뢰도 높은 데이터 서비스를 제공하기 위한 기본 요소이다. 소프트웨어 재활 방법은, 관련 시스템에 탑재된 소프트웨어 결함을 미연에 방지하여 최근 늘어나는 시스템 유지 보수 비용을 절감하여 제품 경쟁력을 높일 수 있다.
또한, 대용량 트랜잭션 서비스 관련 기반 기술 분야는 모든 고급 컴퓨터 설계 기술의 총아라 할 수 있으므로 본 발명에 따른 재활 기법은 여타 많은 컴퓨터 시스템 설계 관련 분야의 가용도 개선을 위한 기반 기술 축적에 초석이 될 것이다.
특히 멀티미디어 이동 컴퓨팅에서 사용되는 소프트웨어는 통신, 단절, 데이터 유실 등으로 인한 노화 진행이일반 소프트웨어 보다 상당히 빠르게 진행되기 때문에 소프트웨어 재활에 의한 결함 예방 방법은 대규모 멀티미디어 이동 컴퓨팅 시스템에 사용될 가능성이 높다고 볼 수 있다.

Claims (14)

  1. 다수의 주 서버와 여분 서버로 이루어진 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법에 있어서,
    상기 다수의 주 서버에 대한 시스템 상태 정보를 수집하여 상기 서버들의 이상 상태 유무를 감시하는 단계;
    상기 감시결과, 임의의 서버가 불안정한 상태로 판단되면, 여분 서버 또는 여분 용량이 존재하는 다른 주 서버가 존재하는지를 판단하는 단계;
    여분 서버 또는 여분 용량을 가진 임의의 주 서버가 존재하는 경우, 현재 설정되어 있는 가동 모드에 따라 불안정한 상태의 주 서버를 여분 서버 또는 여분 용량이 있는 다른 주 서버로 모든 프로세스를 이중화하는 단계;
    이중화가 완료되면, 불안정한 상태로 판단된 해당 서버에 재활 동작을 수행하기 위한 시스템 재활 제어 신호를 제공하는 단계를 포함하는 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법.
  2. 제1항에 있어서,
    상기 시스템 상태 정보는, 주 서버의 작업 부하, 연속 가동 시간, 메모리 사용량, 버퍼 사용량 정보 중 적어도 하나의 정보를 포함하는 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법.
  3. 제1항에 있어서,
    상기 모든 프로세스를 이중화하는 단계에서의 설정 모드는,
    실제로 서비스에 참가하지 않는 여분 서버가 존재하여 이중화시 이용하는 액티브/스탠바이 모드;
    클러스터를 구성하는 모든 서버가 서비스에 참여하면서 동시에 상호간에 여분 서버 역할을 수행하는 액티브/액티브 모드를 포함하는 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법.
  4. 제1항에 있어서,
    상기 모든 프로세스를 이중화하는 단계는,
    상기 현재 설정된 모드가 액티브/스탠바이 모드인 경우, 임의의 여분 서버를 선정하는 단계;
    상기 불안정한 상태에 있는 주 서버의 모든 프로세스를 상기 선정된 여분 서버에 이중화하는 단계를 포함하는 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법.
  5. 제1항 또는 제3항에 있어서,
    상기 모든 프로세스를 이중화하는 단계는,
    상기 현재 설정된 모드가 액티브/액티브 모드인 경우, 여분 용량을 가진 임의의 주 서버를 선정하는 단계;
    상기 불안정한 상태에 있는 주 서버의 모든 프로세스를 상기 선정된 여분 용량을 가진 주 서버에 이중화하는 단계를 포함하는 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법.
  6. 제1항에 있어서,
    상기 서버의 재활 동작을 수행하는 단계는,
    재활 대상이 되는 주 서버의 이중화가 완료되면, 재활 대상이 되는 주 서버의 작업 부하, 연속 가동 시간에 따라 재활 명령 수행 여부를 판단하는 단계;
    상기 판단 결과 재활 명령 수행이 이루어져야 하는 경우, 가용 서버 리스트에 상기 재활 대상이 되는 주 서버의 리스트를 삭제하는 단계;
    상기 이중화된 여분 서버를 주 서버로 전환한 후, 상기 재활 대상이 되는 주 서버의 재활 동작을 수행하는 단계;
    재활 동작이 완료되면, 재활 동작이 완료된 주 서버를 가용 서버 리스트에 여분 서버로 등록하는 단계를 포함하는 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법.
  7. 제6항에 있어서,
    상기 재활 대상이 되는 주 서버의 재활 동작은, 파일 시스템 청소, 버퍼 청소, 메모리 청소, 재 부팅 동작을 포함하는 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법.
  8. 다수의 주 서버와 여분 서버로 이루어진 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 장치에 있어서,
    상기 다수의 주 서버에 대한 시스템 상태 정보를 수집하여 각 서버의 불안정한 상태를 파악하는 시스템 감시 수단;
    a) 상기 시스템 감시 수단에서 시스템 감시 결과, 임의의 주 서버가 불안정한 상태인 경우, 현재 설정되어 있는 가동 모드에 따라 불안정한 상태의 주 서버를 여분 서버 또는 여분 용량이 있는 다른 주 서버로 모든 프로세스를 이중화시키기 위한 이중화 제어 신호를 제공하고,
    b) 상기 불안정한 상태의 주 서버의 시스템 상태가 일정 시간동안 지속되는 경우 해당 주 서버에 시스템 재활을 위한 재활 신호를 제공하는 클러스터 제어 수단;
    상기 클러스터 제어수단에서 제공되는 설정된 모드에 대한 이중화 제어 신호에 따라 불안정한 상태의 주 서버의 모든 프로세스를 여분 서버 또는 여분 용량이존재하는 다른 주 서버로 이중화시키는 이중화 수단을 포함하는 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 장치.
  9. 제8항에 있어서,
    상기 시스템 감시 수단은,
    상기 주 서버들의 시스템 상태를 감시하여 각 서버들의 상태 정보를 수집하는 는 시스템 상태 정보 수집부;
    상기 시스템 상태 정보 수집부에서 수집된 시스템 상태 정보에 따라 불안정한 주 서버가 존재하는지를 판단하고, 불안정한 상태의 주 서버가 존재하는 경우 해당 주 서버의 불안정한 소프트웨어의 재활을 위한 재활 명령 신호를 생성하여 상기 이중화 수단으로 제공하는 재활 명령 생성부를 포함하는 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 장치.
  10. 제8항에 있어서,
    상기 시스템의 상태 정보는, 서버의 작업 부하, 연속 가동 시간, 메모리 사용량, 버퍼 사용량 정보 중 적어도 하나의 정보를 포함하는 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 장치.
  11. 제8항에 있어서,
    상기 클러스터 제어수단은,
    상기 이중화 수단에서 상기 불안정한 상태의 주 서버가 여분 서버 또는 여분 용량을 가진 다른 주 서버로 이중화된 경우 상기 불안정 상태의 주 서버를 가용 서버 리스트로부터 삭제시키고, 상기 재활 신호에 따라 불안정한 상태의 주 서버의 재활이 완료되면 재활이 완료된 주 서버를 가용 서버 리스트로 재 등록하는 등록수단을 포함하는 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 장치.
  12. 제8항에 있어서,
    클러스터 제어 수단에 설정되어 있는 가동 모드는,
    실제로 서비스에 참가하지 않는 여분 서버가 존재하여 이중화 시 상기 여분 서버를 이용하는 액티브/스탠바이 모드;
    클러스터를 구성하는 모든 서버가 서비스에 참여하면서 동시에 상호간에 여분 서버 역할을 수행하는 액티브/액티브 모드를 포함하는 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 장치.
  13. 제8항 또는 12항에 있어서,
    상기 이중화 수단은,
    상기 클러스터 제어 수단에 설정된 가동 모드에 따라 여분 서버 또는 여분 용량을 가진 임의의 주 서버를 선정하는 서버 선정부;
    a) 상기 설정된 가동 모드가 액티브/액티브 가동 모드인 경우, 상기 불안정한 상태에 있는 주 서버의 모든 프로세스를 상기 주 서버 선정부에서 선정된 여분 용량을 가진 주 서버에 이중화시키고,
    b) 상기 설정된 가동 모드가 액티브/스탠바이 가동 모드인 경우, 상기 불안정한 상태에 있는 주 서버의 모든 프로세스를 상기 주 서버 선정부에서 선정된 여분 서버에 이중화시키는 이중화부를 포함하는 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 장치.
  14. 다수의 주 서버와 여분 서버로 이루어진 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법을 수행하기 위하여 디지털 처리장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리장치에 의해 판독될 수 있는 기록 매체에 있어서,
    상기 다수의 주 서버에 대한 시스템 상태 정보를 수집하여 상기 서버들의 이상 상태 유무를 감시하는 단계;
    상기 감시결과, 임의의 서버가 불안정한 상태로 판단되면, 여분 서버 또는 여분 용량이 존재하는 다른 서버가 존재하는지를 판단하는 단계;
    여분 서버 또는 여분 용량을 가진 임의의 주 서버가 존재하는 경우, 현재 설정되어 있는 가동 모드에 따라 불안정한 상태의 주 서버를 여분 서버 또는 여분 용량이 있는 다른 주 서버로 모든 프로세스를 이중화하는 단계;
    이중화가 완료되면, 불안정한 상태로 판단된 해당 서버에 재활 동작을 수행하기위한 시스템 재활 제어 신호를 제공하는 단계를 수행하는 기록 매체.
KR10-2001-0065337A 2001-10-23 2001-10-23 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법및 그 장치 KR100420266B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2001-0065337A KR100420266B1 (ko) 2001-10-23 2001-10-23 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법및 그 장치
US10/015,768 US20030079154A1 (en) 2001-10-23 2001-12-17 Mothed and apparatus for improving software availability of cluster computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0065337A KR100420266B1 (ko) 2001-10-23 2001-10-23 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법및 그 장치

Publications (2)

Publication Number Publication Date
KR20030034411A KR20030034411A (ko) 2003-05-09
KR100420266B1 true KR100420266B1 (ko) 2004-03-02

Family

ID=19715321

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0065337A KR100420266B1 (ko) 2001-10-23 2001-10-23 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법및 그 장치

Country Status (2)

Country Link
US (1) US20030079154A1 (ko)
KR (1) KR100420266B1 (ko)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6810495B2 (en) * 2001-03-30 2004-10-26 International Business Machines Corporation Method and system for software rejuvenation via flexible resource exhaustion prediction
US7430738B1 (en) 2001-06-11 2008-09-30 Microsoft Corporation Methods and arrangements for routing server requests to worker processes based on URL
US7594230B2 (en) 2001-06-11 2009-09-22 Microsoft Corporation Web server architecture
US7228551B2 (en) * 2001-06-11 2007-06-05 Microsoft Corporation Web garden application pools having a plurality of user-mode web applications
US7225362B2 (en) * 2001-06-11 2007-05-29 Microsoft Corporation Ensuring the health and availability of web applications
EP1442388A2 (en) * 2001-10-03 2004-08-04 Shield One, LLC Remotely controlled failsafe boot mechanism and remote manager for a network device
KR100404906B1 (ko) * 2001-12-20 2003-11-07 한국전자통신연구원 클러스터 시스템의 고 가용성 구현장치 및 방법
US6915384B2 (en) 2002-03-22 2005-07-05 Microsoft Corporation Multiple-level persisted template caching
US7490137B2 (en) 2002-03-22 2009-02-10 Microsoft Corporation Vector-based sending of web content
US7159025B2 (en) 2002-03-22 2007-01-02 Microsoft Corporation System for selectively caching content data in a server based on gathered information and type of memory in the server
US8140888B1 (en) * 2002-05-10 2012-03-20 Cisco Technology, Inc. High availability network processing system
US6986076B1 (en) * 2002-05-28 2006-01-10 Unisys Corporation Proactive method for ensuring availability in a clustered system
US7100079B2 (en) * 2002-10-22 2006-08-29 Sun Microsystems, Inc. Method and apparatus for using pattern-recognition to trigger software rejuvenation
US7024580B2 (en) * 2002-11-15 2006-04-04 Microsoft Corporation Markov model of availability for clustered systems
US7269757B2 (en) * 2003-07-11 2007-09-11 Reflectent Software, Inc. Distributed computer monitoring system and methods for autonomous computer management
US6996502B2 (en) * 2004-01-20 2006-02-07 International Business Machines Corporation Remote enterprise management of high availability systems
US7383463B2 (en) * 2004-02-04 2008-06-03 Emc Corporation Internet protocol based disaster recovery of a server
US7870426B2 (en) * 2004-04-14 2011-01-11 International Business Machines Corporation Apparatus, system, and method for transactional peer recovery in a data sharing clustering computer system
US7281153B2 (en) * 2004-04-14 2007-10-09 International Business Machines Corporation Apparatus, system, and method for transactional peer recovery in a data sharing clustering computer system
US7401256B2 (en) * 2004-04-27 2008-07-15 Hitachi, Ltd. System and method for highly available data processing in cluster system
US7346811B1 (en) 2004-08-13 2008-03-18 Novell, Inc. System and method for detecting and isolating faults in a computer collaboration environment
US8627149B2 (en) * 2004-08-30 2014-01-07 International Business Machines Corporation Techniques for health monitoring and control of application servers
US7418719B2 (en) * 2004-08-31 2008-08-26 Microsoft Corporation Method and system to support a unified process model for handling messages sent in different protocols
US7418709B2 (en) * 2004-08-31 2008-08-26 Microsoft Corporation URL namespace to support multiple-protocol processing within worker processes
US7418712B2 (en) * 2004-08-31 2008-08-26 Microsoft Corporation Method and system to support multiple-protocol processing within worker processes
US8055952B2 (en) * 2004-11-16 2011-11-08 Siemens Medical Solutions Usa, Inc. Dynamic tuning of a software rejuvenation method using a customer affecting performance metric
US7484128B2 (en) * 2005-01-11 2009-01-27 Siemens Corporate Research, Inc. Inducing diversity in replicated systems with software rejuvenation
US8195976B2 (en) * 2005-06-29 2012-06-05 International Business Machines Corporation Fault-tolerance and fault-containment models for zoning clustered application silos into continuous availability and high availability zones in clustered systems during recovery and maintenance
US20070011164A1 (en) * 2005-06-30 2007-01-11 Keisuke Matsubara Method of constructing database management system
US7689873B1 (en) * 2005-09-19 2010-03-30 Google Inc. Systems and methods for prioritizing error notification
US7475292B2 (en) * 2005-10-26 2009-01-06 Siemens Corporate Research, Inc. System and method for triggering software rejuvenation using a customer affecting performance metric
US7657793B2 (en) * 2006-04-21 2010-02-02 Siemens Corporation Accelerating software rejuvenation by communicating rejuvenation events
US7543192B2 (en) * 2006-06-20 2009-06-02 Sun Microsystems, Inc. Estimating the residual life of a software system under a software-based failure mechanism
US8589924B1 (en) * 2006-06-28 2013-11-19 Oracle America, Inc. Method and apparatus for performing a service operation on a computer system
US7913105B1 (en) * 2006-09-29 2011-03-22 Symantec Operating Corporation High availability cluster with notification of resource state changes
KR100770459B1 (ko) * 2007-01-23 2007-10-26 인하대학교 산학협력단 클러스터링된 비디오 서버의 버퍼를 동적으로 할당하는방법
US9037715B2 (en) * 2008-06-10 2015-05-19 International Business Machines Corporation Method for semantic resource selection
US8806500B2 (en) * 2008-06-10 2014-08-12 International Business Machines Corporation Dynamically setting the automation behavior of resources
US8135981B1 (en) * 2008-06-30 2012-03-13 Symantec Corporation Method, apparatus and system to automate detection of anomalies for storage and replication within a high availability disaster recovery environment
FR2936068B1 (fr) * 2008-09-15 2013-01-11 Airbus France Procede et dispositif d'encapsulation d'applications dans un systeme informatique pour aeronef.
US9454444B1 (en) 2009-03-19 2016-09-27 Veritas Technologies Llc Using location tracking of cluster nodes to avoid single points of failure
JPWO2010122709A1 (ja) * 2009-04-23 2012-10-25 日本電気株式会社 若化処理装置、若化処理システム、コンピュータプログラムおよびデータ処理方法
JP5403051B2 (ja) * 2009-04-23 2014-01-29 日本電気株式会社 若化処理装置、若化処理システム、コンピュータプログラムおよびデータ処理方法
US8458515B1 (en) 2009-11-16 2013-06-04 Symantec Corporation Raid5 recovery in a high availability object based file system
US20110270802A1 (en) 2010-04-30 2011-11-03 International Business Machines Corporation Method for controlling changes of replication directions in a multi-site disaster recovery environment for high available application
US8495323B1 (en) 2010-12-07 2013-07-23 Symantec Corporation Method and system of providing exclusive and secure access to virtual storage objects in a virtual machine cluster
US9329916B2 (en) * 2011-04-07 2016-05-03 Infosys Technologies, Ltd. Method for determining availability of a software application using composite hidden Markov model
CN102955719B (zh) * 2011-08-31 2016-06-22 国际商业机器公司 疑似内存泄漏的确定方法及装置
US8825752B1 (en) * 2012-05-18 2014-09-02 Netapp, Inc. Systems and methods for providing intelligent automated support capable of self rejuvenation with respect to storage systems
JP6365543B2 (ja) * 2013-08-12 2018-08-01 日本電気株式会社 ソフトウェアエージングテストシステム、ソフトウェアエージングテスト方法及びソフトウェアエージングテスト用プログラム
US10609159B2 (en) * 2014-08-04 2020-03-31 Microsoft Technology Licensing, Llc Providing higher workload resiliency in clustered systems based on health heuristics
US10530660B2 (en) * 2015-05-21 2020-01-07 International Business Machines Corporation Application bundle preloading
US9965262B2 (en) 2015-05-21 2018-05-08 International Business Machines Corporation Application bundle pulling
US10389850B2 (en) 2015-05-21 2019-08-20 International Business Machines Corporation Managing redundancy among application bundles
US10389794B2 (en) 2015-05-21 2019-08-20 International Business Machines Corporation Managing redundancy among application bundles
US9888057B2 (en) 2015-05-21 2018-02-06 International Business Machines Corporation Application bundle management across mixed file system types
US10152516B2 (en) 2015-05-21 2018-12-11 International Business Machines Corporation Managing staleness latency among application bundles
JP2017033079A (ja) * 2015-07-29 2017-02-09 富士通株式会社 ソフトウェア導入支援プログラム、ソフトウェア導入支援装置およびソフトウェア導入支援方法
CN107222514B (zh) * 2016-03-22 2020-01-14 阿里巴巴集团控股有限公司 一种负载方法和系统
CN111026577B (zh) * 2019-12-27 2023-10-31 中国水产科学研究院渔业机械仪器研究所 软件系统功能自恢复的软件架构方法及其系统
US11245670B1 (en) * 2020-12-17 2022-02-08 360 It, Uab Dynamic system and method for identifying optimal servers in a virtual private network
US11758001B2 (en) 2020-12-17 2023-09-12 360 It, Uab Dynamic system and method for identifying optimal servers in a virtual private network
CN113220509B (zh) * 2021-05-19 2024-03-05 扬州万方科技股份有限公司 一种双组合交替倒班系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990050460A (ko) * 1997-12-17 1999-07-05 구자홍 고 가용성 시스템의 장애 복구방법 및 장치
JP2000347959A (ja) * 1999-06-08 2000-12-15 Nec Aerospace Syst Ltd クラスタシステムおよびその障害時切り替え方法
KR100279660B1 (ko) * 1998-12-08 2001-02-01 이계철 인터넷 제어 메시지 프로토콜(icmp)을 이용한 분산처리 장치의 장애감시 이중화 방법
US6247139B1 (en) * 1997-11-11 2001-06-12 Compaq Computer Corp. Filesystem failover in a single system image environment
JP2001290670A (ja) * 2000-04-10 2001-10-19 Nec Corp クラスタシステム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5715386A (en) * 1992-09-30 1998-02-03 Lucent Technologies Inc. Apparatus and methods for software rejuvenation
US6249879B1 (en) * 1997-11-11 2001-06-19 Compaq Computer Corp. Root filesystem failover in a single system image environment
US6594784B1 (en) * 1999-11-17 2003-07-15 International Business Machines Corporation Method and system for transparent time-based selective software rejuvenation
US6629266B1 (en) * 1999-11-17 2003-09-30 International Business Machines Corporation Method and system for transparent symptom-based selective software rejuvenation
US6789213B2 (en) * 2000-01-10 2004-09-07 Sun Microsystems, Inc. Controlled take over of services by remaining nodes of clustered computing system
JP2001331333A (ja) * 2000-05-18 2001-11-30 Hitachi Ltd 計算機システム及び計算機システムの制御方法
US7370223B2 (en) * 2000-09-08 2008-05-06 Goahead Software, Inc. System and method for managing clusters containing multiple nodes
US6978398B2 (en) * 2001-08-15 2005-12-20 International Business Machines Corporation Method and system for proactively reducing the outage time of a computer system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247139B1 (en) * 1997-11-11 2001-06-12 Compaq Computer Corp. Filesystem failover in a single system image environment
KR19990050460A (ko) * 1997-12-17 1999-07-05 구자홍 고 가용성 시스템의 장애 복구방법 및 장치
KR100279660B1 (ko) * 1998-12-08 2001-02-01 이계철 인터넷 제어 메시지 프로토콜(icmp)을 이용한 분산처리 장치의 장애감시 이중화 방법
JP2000347959A (ja) * 1999-06-08 2000-12-15 Nec Aerospace Syst Ltd クラスタシステムおよびその障害時切り替え方法
JP2001290670A (ja) * 2000-04-10 2001-10-19 Nec Corp クラスタシステム

Also Published As

Publication number Publication date
US20030079154A1 (en) 2003-04-24
KR20030034411A (ko) 2003-05-09

Similar Documents

Publication Publication Date Title
KR100420266B1 (ko) 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법및 그 장치
US6134673A (en) Method for clustering software applications
US6701453B2 (en) System for clustering software applications
US7533292B2 (en) Management method for spare disk drives in a raid system
US7793060B2 (en) System method and circuit for differential mirroring of data
JP3776982B2 (ja) 分散記憶コントローラのためのソフトウエア指示されたマイクロコード状態保管システム
US6477663B1 (en) Method and apparatus for providing process pair protection for complex applications
KR101547719B1 (ko) 데이터 센터들에 걸쳐 데이터 서버들내 데이터 무결정의 유지
US9645900B2 (en) Warm standby appliance
EP1639470B1 (en) Method, system and program for handling a failover to a remote storage location
US6789114B1 (en) Methods and apparatus for managing middleware service in a distributed system
US20080256397A1 (en) System and Method for Network Performance Monitoring and Predictive Failure Analysis
JP2005018510A (ja) データセンタシステム及びその制御方法
JP2009187483A (ja) ストレージサブシステム及びこれの制御方法
US20080288812A1 (en) Cluster system and an error recovery method thereof
JP2003345531A (ja) ストレージシステム、管理サーバ、及びそのアプリケーションの管理方法
JP2006079603A (ja) 高可用性クラスタ化のためのスマートカード
WO2008020949A1 (en) Service resiliency within on-premise products
Lyu et al. Software fault tolerance in a clustered architecture: Techniques and reliability modeling
US20040153704A1 (en) Automatic startup of a cluster system after occurrence of a recoverable error
US20150317226A1 (en) Detecting data loss during site switchover
JP3447347B2 (ja) 障害検出方法
JP2016212506A (ja) 情報処理システム、制御装置および制御プログラム
Hunter et al. Availability modeling and analysis of a two node cluster
JP2008276281A (ja) データ同期システム、方法、及び、プログラム

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
FPAY Annual fee payment

Payment date: 20091228

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee