KR20020062483A - 내 고장성 시스템 및 이중화 방법 - Google Patents

내 고장성 시스템 및 이중화 방법 Download PDF

Info

Publication number
KR20020062483A
KR20020062483A KR1020010003513A KR20010003513A KR20020062483A KR 20020062483 A KR20020062483 A KR 20020062483A KR 1020010003513 A KR1020010003513 A KR 1020010003513A KR 20010003513 A KR20010003513 A KR 20010003513A KR 20020062483 A KR20020062483 A KR 20020062483A
Authority
KR
South Korea
Prior art keywords
server
state
heartbeat
network
redundancy
Prior art date
Application number
KR1020010003513A
Other languages
English (en)
Other versions
KR100411978B1 (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-0003513A priority Critical patent/KR100411978B1/ko
Publication of KR20020062483A publication Critical patent/KR20020062483A/ko
Application granted granted Critical
Publication of KR100411978B1 publication Critical patent/KR100411978B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/22Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/74Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for increasing reliability, e.g. using redundant or spare channels or apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/04Arrangements for maintaining operational condition

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 내 고장성(Fault Tolerant) 시스템 및 이를 위한 이중화 방법에 관한 것으로, 특히 액티브(active)로 작동 중인 호스트가 절체된 경우에도 중단 없이 원활하게 서비스를 복구하여 진행할 수 있는 이중화 시스템 및 방법을 제공한다.
본 발명은 이중화된 네트워크 이외에도 이중화된 서버에서 동작하는 이중화 감시 프로세스(DGP) 사이에 전용 하트 비트 라인을 구비하여 서로 상태의 상태를 감시함으로써, 호스트에 장애가 발생한 경우, 네트워크에 장애가 발생한 경우, 데이터 베이스에 장애가 발생한 경우, 프로세스 구동의 장애가 선정된 회수 이상 발생한 경우 자동 절체될 수 있으며, 또한 운영자에 의한 수동 절체를 가능하게 함으로써, 내 고장성 서버 시스템을 구현하게 된다.
그 결과, 본 발명은 신뢰성이 요구되는 통신 시스템에 적용되어 중단 없는 통신 서비스를 제공할 수 있게 된다.

Description

내 고장성 시스템 및 이중화 방법{FAULT TOLERANT SYSTEM AND DUPLICATION METHOD THEREOF}
본 발명은 내 고장성(Fault Tolerant) 시스템 및 이를 위한 이중화 방법에관한 것으로, 특히 액티브(active)로 작동 중인 호스트가 절체된 경우에도 중단 없이 원활하게 서비스를 복구하여 진행할 수 있는 이중화 시스템 및 방법에 관한 것이다.
네트워크를 이용한 데이터 통신은 현재 널리 대중화가 되어 금융 및 의학 분야, 이동통신 분야, 공공기관 등 사회 전반에 걸쳐서 사용되고 있으며, 네트워크를 통해 다양한 서비스 및 정보가 제공되고 있다. 네트워크 상에는 하나 또는 그 이상의 서버와 클라이언트가 존재하게 되며, 네트워크 서버는 공유된 자원 및 데이터를 관리하고 처리하게 된다.
그러나, 네트워크를 이용한 데이터 통신은 서비스를 제공하는 네트워크 서버에 네트워크 장애가 발생하거나, 네트워크 서버를 구성하고 있는 장치에 이상이 발생하면, 네트워크 서버에 공유되어 있는 자원 및 데이터를 이용할 수 없게 되는 단점이 있어 서비스 중단에 의한 문제점이 발생한다.
더욱이, 매 초마다 방대한 양의 데이터를 처리하여야 하는 네트워크 서버의 경우, 네트워크 서버에 장애가 발생하면 상기 네트워크 서버가 복구되어 정상 동작 할 때까지 데이터를 손실하게 되는 문제점이 발생할 수 있다.
예를 들어, 네트워크를 통한 금융 서비스를 제공하는 금융 기관의 네트워크 서버 또는 통신 서비스 업자의 고객들의 통화 내역 및 과금을 관리하는 서버의 경우 네트워크 장애 또는 서버 장애에 의한 서비스 중단은 막대한 재정적 피해와 연결되므로, 서버에 장애가 발생한 경우에도 데이터를 안전하게 보존하고 중단 없이 서비스를 제공할 수 있는 네트워크 서버 시스템 및 방법이 요구되고 있다.
이와 같은 문제점을 해결하기 위하여, 액티브 서버(active server)와 스탠바이 서버(stand-by server)를 통한 이중화 방식을 이용하여 네트워크 서버에 장애가 발생한 경우에도 서비스를 중단 없이 지속적으로 제공하는 기술이 제시되었다.
이러한 서버 이중화 시스템은 대한민국 특허출원 제10-2000-0014192호, 미합중국 특허 제4,853,875호 등에 상술되어 있다. 그런데, 전술한 미합중국 특허 제4,853,875호에 개시된 이중화 시스템 기술은 액티브 서버의 주기억장치에 저장된 데이터와 공유 저장 수단에 저장된 데이터를 공유시키기 위하여, 광대역 데이터 전송 수단이 요구되는 기술적 어려움이 있으며, 장애가 발생한 경우 액티브 서버로부터 스탠바이 서버로의 절체에 지연이 발생하여 데이터가 유실되는 불편함이 있다.
그 결과, 시스템 운영자는 이중화 서버 절체 시에 유실된 데이터를 일일이 점검하여 복원하여 주어야 하는 불편함이 있어 왔다. 한편, 대한민국 특허출원 제10-2000-0014192호에 개시된 서버 이중화 기술의 경우 액티브 서버와 스탠바이 서버는 이중화 감시 프로세스(DGP; duplication guardian process)가 하트 비트 (heart beat)를 서로 주고받음으로써 시스템 장애 여부를 판단하게 되는데, 이중화된 네트워크의 허브에 모두 장애가 발생한 경우에는 하트 비트를 교환할 수 없는 문제점이 있다.
더욱이, 전술한 대한민국 특허출원 제10-2000-0014192호에 개시된 서버 이중화 기술의 경우, 데이터베이스에 장애가 발생한 경우 신속히 시스템을 절체하여 서비스를 지속적으로 제공하는데 기술적 어려움이 있어 왔다.
따라서, 본 발명의 제1 목적은 네트워크 또는 서버의 장애 발생 시에도 데이터 손실 없이 서비스를 지속적으로 수행할 수 있는 내 고장 시스템(Fault Tolerant System) 및 이중화 방법을 제공하는데 있다.
본 발명의 제2 목적은 상기 제1 목적에 부가하여, 서버 이중화를 위하여 광대역 데이터 통신이 요구되지 않는 고 신뢰성의 내 고장 시스템(Fault Tolerant System) 및 이중화 방법을 제공하는데 있다.
본 발명의 제3 목적은 상기 제1 목적에 부가하여, 프로세스 시퀀스를 동기화시키지 아니하고도 서버 절체 시에 데이터 및 프로세스를 유실하지 않고 신속히 대기중인 서버로 전환될 수 있는 내 고장 시스템(Fault Tolerant System) 및 이중화 방법을 제공하는데 있다.
본 발명의 제4 목적은 상기 제1 목적에 부가하여, 이중화된 네트워크에 장애가 발생한 경우에도 데이터의 유실 없이 지속적으로 서비스를 수행할 수 있는 내 고장 시스템(Fault Tolerant System) 및 이중화 방법을 제공하는데 있다.
본 발명의 제5 목적은 상기 제1 목적에 부가하여, 이중화된 서버 시스템에 있어서 액티브 서버의 장애를 신속히 감지하여 스탠바이 서버가 서비스를 중단 없이 지속적으로 제공하기 위한 새로운 통신 채널 및 프로토콜을 구비한 내 고장 시스템 (Fault Tolerant System) 및 이중화 방법을 제공하는데 있다.
본 발명의 제6 목적은 상기 제1 목적에 부가하여, 이중화된 서버 시스템에 있어서 시스템을 자동 절체시키기 위한 조건을 판단하여 지속적인 서비스를 제공하는 내 고장 시스템(Fault Tolerant System) 및 이중화 방법을 제공하는데 있다.
도1은 본 발명에 따른 내 고장성 서버 시스템의 구성을 나타낸 도면.
도2a 내지 도2h는 본 발명에 따른 이중화 서버의 자동 절체 방법을 나타낸 도면.
<도면의 주요 부분에 대한 부호의 설명>
100, 101 : 이중화 네트워크
110 : 액티브 서버(제1 서버)
120 : 스탠바이 서버(제2 서버)
320 : 프로세스
311 : 프로세스 리소스 관리 프로세스
330, 331 : 이중화 감시 프로세스
350 : 하트 비트 네트워크
상기 목적을 달성하기 위하여, 본 발명은 제1 서버와 제2 서버를 이중화하여 각각 액티브 서버와 스탠바이 서버로 상기 이중화된 네트워크 라인을 통해 접속되어 이중화된 서버 시스템에 있어서, 상기 제1 서버와 상기 제2 서버는 각각 액티브 서버로 작동중인 상태에서는 형성 테이블(configuration table)에 설정되어 있는 프로세스들을 가동시키고, 네트워크 이중화를 위해 구비된 네트워크 인터페이스 카드의 상태를 감시하며 프로세스를 관리하는 프로세스 리소스 관리 프로세스(PNR; process and resource manager); 액티브 또는 스탠바이 상태와 관계없이 부팅이 완료되어 운용중인 경우에는 상기 프로세스 리소스 관리 프로세스에 의해 기동되어, 상기 이중화된 네트워크와 별도로 구비된 하트 비트(heart beat) 네트워크 라인을 통해 직접 연결된 상대방 서버와의 주기적 통신을 통해 상대 서버의 장애 유무를 판단하는 이중화 감시 프로세스(DGP; duplication guardian process); 및 액티브 서버에서 작동중인 프로세스가 생성하는 데이터를 상대 스탠바이 서버에서 실시간으로 동기화하여 액세스할 수 있도록 상대 서버와 광케이블로 접속되어 있는 리플렉티브 메모리(RFM)를 구비한 이중화 서버 장치를 제공한다.
이하에서는, 첨부 도면 도1 및 도2를 참조하여 본 발명에 따른 내 고장성 (Fault-Tolerant) 서버 시스템 및 이중화 방법을 상세히 설명한다.
본 발명에 따른 내 고장성 서버 시스템은 기본적으로 중단 없는 서비스를 지향한다. 이를 위해 서버는 제1 서버 및 제2 서버로써 구성하여 서로 감시하고, 이상이 발생한 경우 빠른 시간 내에 절체를 하여 서비스를 복구하도록 구성되어 있다.
도1은 본 발명에 따른 내 고장성 서버 시스템의 구성을 나타낸 도면이다. 도1을 참조하면, 두 개의 서버(110, 120)는 하나의 이중화(duplication)된 서버를 구성하도록 되어 있으며, 본 발명에 따른 내 고장성(Fault Tolerant) 구조는 액티브(active)와 스탠바이(stand-by) 상태로 되어 있다.
본 발명에 따른 내 고장성 서버 시스템을 구성하는 액티브 서버(제1 서버; 110)와 스탠바이 서버(제2 서버; 120)는 모두 부팅되어 오퍼레이팅 시스템(OS)이 가동되고 있는 점에서는 서로 차이가 없다. 그러나, 기능적 측면에서 액티브 상태의 서버(110)에서는 필요한 프로세스(320)가 기동되어 있고 서비스를 제공하기 때문에 스탠바이 상태의 서버(120)와는 차이가 있다.
스탠바이 상태의 서버(120)는 상대편 액티브 서버(110)를 계속적으로 감시한다. 이 때에, 스탠바이 서버(120)에서도 액티브 서버(110)의 감시를 위해 필요한 프로세스들은 기동되어 있다. 즉, 스탠바이 서버(120)에는 프로세스 리소스 관리 프로세스(PNR; Process and Resource Manager; 311) 이중화 감시 프로세스(DGP; Duplication Guardian Process; 331)가 기동되어 있다.
한편, 액티브 서버(120)에는 형성 테이블(configuration table)에 기술되어 있는 모든 프로세스(320)가 기동되게 된다. 반면에, 스탠바이 서버(120)에는 프로세스 리소스 관리 프로세스(PNR; 311), 이중화 감시 프로세스(DGP; 331) 및 가상 메시지 통신 프로세스(VMP; Virtual Message Process; 도시하지 않음) 외에 다른 프로세스들(321)은 모두 기동하지 않는다.
즉, 스탠바이 측의 프로세스(321)들은 액티브 서버(120)가 다운(down)되어 있는 것을 감지하여 절체된 직후 기동되어 액티브로서의 기능을 하도록 구성된다. 또한, 본 발명에 따라 이중화된 제1 서버(110)와 제2 서버(120)는 각각 절체 시에 보존되어야 할 데이터를 구비하고 있으므로 공유 메모리(shared memory) 또는 리플렉티브 메모리(RFM; Reflective Memory; 도시하지 않음)를 이용하여 두 시스템 사이의 메모리 내용을 공유하도록 하고 있다.
따라서, 본 발명에 따른 내 고장성(Fault Tolerant) 서버 시스템을 위한 구성 요소로서 프로세스 리소스 관리 프로세스(PNR; 310, 311), 이중화 감시 프로세스(DGP; 330, 331) 및 공유 메모리(RFM)를 구비함을 특징으로 한다.
본 발명에 따른 프로세스 리소스 관리 프로세스(PNR; 310, 311)는 프로세스 (320, 321)를 관리하여 주는 프로세스로서, 시스템이 처음 부팅되는 단계에서 반드시 가동시켜 주도록 되어 있다. 따라서, 서버가 부팅이 완료되어 운용중인 상태라면 PNR 프로세스(310, 311)는 반드시 기동되어 있는 상태라 할 수 있다.
본 발명에 따른 프로세스 리소스 관리 프로세스(PNR; 310, 311)는 자신이 기동되고 나면 제일 먼저 프로세스 관리 테이블, 즉 전술한 형성 테이블을 읽어 온다. 즉, 정해진 형성 파일로부터 프로세스 구동에 관한 정보를 독출하여서 프로세스를 구동시켜 주는데, 기동시킨 프로세스(PNR에 대해서는 자식 프로세스)가 정상적인 경우이건 비정상적인 경우이건 종료되었을 경우에는 이를 알아내어 해당 프로세스를 형성 파일(configuration file)에 있는 설정 값을 참조하여 다시 기동시켜 주게 된다.
즉, 본 발명에 따른 PNR(310, 311)은 다른 프로세스(320, 321)에 대한 부모 프로세스이며, PNR이 종료되면 자식 프로세스들은 모두 종료된다. 또한, 본 발명에 따른 프로세스 리소스 관리 프로세스(PNR; 310, 311)는 네트워크 이중화(100, 101)를 위해 자신의 시스템에 설치되어 있는 네트워크 인터페이스 카드(NIC)의 상태를 점검하고 관리한다.
여기에서, 완전한 내 고장(Fault Tolerant) 시스템을 구현하기 위해서는 프로세스 각각이 관리하는 정보도 이중화되어야 한다. 만일, 전술한 정보가 메인 메모리에 있는 공유 메모리(shared memory) 또는 로컬 메모리(local memory) 영역에 보관된다면, 갑작스런 절체가 발생한 경우 기존의 정보를 새로운 액티브 서버가 액세스하는 것이 불가능하게 된다. 이를 해결하기 위해, 본 발명은 리플렉티브 메모리 (reflective memory)를 사용한다.
본 발명에 따른 리플렉티브 메모리(RFM)는 메인 메모리 외에 별도로 구비하는 메모리 보드로서 PCI 방식을 사용할 수 있다. 본 발명에 따른 바람직한 실시예로서, PCI용 RFM 보드는 액티브와 스탠바이 양측 서버에 각각 설치되며, 두 메모리 보드끼리 광케이블로 연결될 수 있다. 액티브 서버(110)에서 기동 중인 프로세스(320)들은 어느 한쪽 RFM에 데이터를 기록하면 상대편 스탠바이 서버(120)의 RFM에도 같은 내용이 기록되게 되어 데이터의 동기화가 가능하게 된다.
본 발명에 따른 프로세스 리소스 관리 프로세스(PNR)가 가장 먼저 기동시켜 주는 프로세스가 이중화 감시 프로세스(DGP; Duplication Guardian Process; 330, 331)인데, 이중화 감시 프로세스는 하트 비트 네트워크(350)를 통해 상대편 이중화감시 프로세스와 주기적으로 통신을 하고 있다가 상대편이 절체되었는지를 감지하여 절체 작업이 이루어지도록 한다.
즉, 본 발명에 따른 내 고장(Fault Tolerant) 서버 시스템은 이중화 감시 프로세스(DGP; 330, 331)에 의해 이중화 감시 기능을 맡고 있으며, 이중화된 서비스 네트워크 (100, 101)와 별도로 분리되어 있는 하트 비트 네트워크(heart beat network; 350)를 통하여 주기적으로 상대편 이중화 감시 프로세스(DGP)와 통신을 수행함으로써 상대편 서버의 장애 유무를 판단한다.
본 발명에 따라 이중화되어 있는 두 호스트(110, 120) 사이의 액티브/스탠바이 상태 절체에는 자동 절체와 수동 절체의 두 가지 방식이 가능하다. 본 발명에 따른 자동 절체는 스탠바이 호스트 측에서 액티브 호스트의 이상을 감지하여 자동적으로 절체가 이루어지며, 수동 절체는 운영자의 조작에 의해 임의로 액티브와 스탠바이 호스트의 기능을 서로 교환하도록 절체한다. 이하에서는 본 발명에 따른 이중화 서버의 자동 절체 조건을 상세히 설명한다.
첫째로, 액티브 호스트(110)의 전원이나 중앙 처리 유닛트(CPU) 등에 장애가 발생하는 경우 스탠바이 호스트(120)가 이를 감지하여 액티브 호스트로 전이하게 된다. 또한, 액티브 호스트의 네트워크 라인에 장애가 발생한 경우에도 비록 호스트 자체는 정상적으로 동작하여 프로세스가 제대로 동작할 수 있어도 외부와의 통신 기능이 두절되므로 액티브 서버로서의 기능을 제대로 수행할 수 없게 된다.
이러한 경우, 호스트에 이상이 감지된 경우와 마찬가지로 절체 작업을 수행하게 된다. 본 발명에 따른 내 고장(Fault Tolerant) 서버 시스템은 데이터베이스에 장애가 발생한 경우에도 절체 작업을 수행할 수 있다. 또한, 액티브 서버에서 구동되는 프로세스가 선정된 회수만큼 이상으로 다운되는 경우에도 이를 시스템 장애로 인식하고 절체 작업을 진행할 수 있다.
도2a 내지 도2h는 본 발명에 따른 이중화 서버의 자동 절체 방법을 나타낸 도면이다. 도2a를 참조하면, 본 발명을 설명하기 위하여 일단 제1 서버(110)를 액티브 시스템으로 가정하였고, 제2 서버(120)를 스탠바이 시스템으로 하여 설명을 시작한다. 통상적으로, 초기 상태의 결정은 이중화 감시 프로세스(DGP) 환경 설정 파일에 의해 결정된다.
본 발명에 따른 이중화 감시 프로세스(330, 331)는 서로 하트 비트(heart beat)를 하트 비트 전용 네트워크를 통해 교환한다. 본 발명에 따른 양호한 실시예로서 0.5초 주기로 할 수 있으며, 환경설정 파일에서 수정이 가능하도록 할 수 있다. 본 발명에 따른 이중화 감시 프로세스(DGP)는 하트 비트 메시지를 0.5초 주기로 계속적으로 전송하는 쓰레드(thread)를 생성시켜 DGP가 기동되어 있는 동안은 항상 하트 비트 메시지를 주고받을 수 있도록 한다.
도2b를 참조하면, 만일 액티브 호스트로 동작하는 제1 서버(110)에 장애가 발생하여 액티브로 작동중인 제1 서버(110)에서 기동되어 있던 DGP(330)가 정상적으로 작동을 하지 않을 경우 이를 감지할 수 있다.
즉, 제1 서버(110)가 액티브로 동작중인데, 제1 서버에 장애가 발생하여 DGP(330)가 정상적으로 동작하지 않는 경우, 제1 서버(110)의 이중화 감시 프로세스(330)는 계속 하트 비트 메시지를 전송하지 못하므로 제2 서버의 이중화 감시 프로세스(331)는 타임아웃(time out)이 발생할 동안까지 하트 비트 메시지가 도착하지 않으므로 상대의 장애를 감지하게 된다.
본 발명의 양호한 실시예로서, 하트 비트(heart beat) 타임아웃(time out) 값은 하트 비트 발생 주기, 예를 들어 0.5초의 두 배인 1초로 할 수 있다. 이 경우를 첫 번째 타임아웃이 발생한 것으로 규정할 수 있다. 그 결과, 스탠바이 시스템의 DGP(331)는 첫 번째 타임아웃이 발생하면 실제로 호스트 자체는 이상이 없지만 하트 비트 네트워크(350)만 이상이 생긴 경우도 있을 수 있으므로, 서비스 네트워크(100, 101)를 통해서 액티브 호스트가 실제로 다운되어 있는지를 조사해 봐야 한다.
따라서, 모든 서비스 네트워크를 통해서 하트 비트를 전송하여 이에 대한 응답을 기다린다. 만약, 제1 서버 자체는 이상이 없는데 하트 비트 네트워크만 이상이 생겨서 하트 비트 전송에 실패한 경우라면, 제1 서버(110) 내의 DGP(330)는 서비스 네트워크를 통해 하트 비트 메시지를 받게 될 것이다. 이를 받으면 두 DGP (330, 331)는 이제부터는 이 네트워크를 통해서 하트 비트를 주고받게 된다.
물론, 이 경우에도 하트 비트 네트워크를 통한 하트 비트 전송은 계속 시도한다. 따라서, 하트 비트 망의 복구가 이루어지면 이때부터는 서비스 네트워크가 아닌 하트 비트 네트워크를 통해 하트 비트 메시지를 주고받게 된다.
만약, 서비스 네트워크를 통해서 하트 비트를 주고받다가 타임아웃이 발생하게 되면 이 경우도 하트 비트 네트워크에서 발생한 타임아웃의 경우와 같은 경우로 취급한다. 서비스 네트워크를 통해 하트 비트를 주고받다가 타임아웃이 발생한 경우 이 역시 첫 번째 타임아웃이 발생한 경우로 규정한다.
서비스 네트워크를 통해서 또는 하트 비트 네트워크를 통해서 첫 번째 타임이 발생한 이후에 다시 타임아웃이 발생하면 이를 두 번째 타임아웃으로 규정한다. 여기서, 두 번째 타임아웃 값도 역시 하트 비트 간격의 두배 즉, 현재 1초로 설정할 수 있다. 한편, 타임아웃이 두 번 발생을 하면 DGP(331)는 상대편 시스템의 DGP(330)가 정상적으로 동작하지 않고 있다고 판단하고, 절체 작업을 수행하게 된다.
도2c를 참조하면, 타임아웃이 2회 발생하게 되면 스탠바이 측 DGP(331)는 액티브 시스템(110)에 장애가 생긴 경우로 간주하고 절체 작업에 들어가게 된다. 도2c를 참조하면, 제2 서버의 DGP는 제1 서버의 이상을 감지하였으므로 절체를 시작한다. 제1 서버의 이상을 감지하는 데에 걸리는 시간은 하트 비트 간격의 4배인 2초가 걸린다. 물론, 이 값은 하트 비트의 전송 주기에 따라 좌우되는 값이므로 하트 비트 전송 주기를 변경함으로써 변경할 수 있다.
도2d를 참조하면, 제1 서버의 다운을 감지한 제2 서버의 이중화 감시 프로세스(DGP; 331)는 프로세스 리소스 관리 프로세스(PNR; 311)에게 SIGUSR1 시그널을 보내어 절체를 시작한다. 제2 서버의 PNR(311)은 시그널 SIGUSR1을 받으면 스탠바이 상태에서 액티브 상태로 전이를 시작한다. 본 발명에 따른 바람직한 실시예로서, 서버에서 기동 중인 PNR이 SIGUSR2 시그널을 수신하면 액티브 상태에서 스탠바이 상태로 전이를 한다.
본 발명에 따른 PNR은 리플렉티브 메모리 내에 시스템의 상태 정보를 관리하고 있는데 DGP는 절체에 들어갈 때에 상태 변경 내용을 공유 메모리에 반영시켜 PNR로 하여금 정확한 상태를 관리할 수 있도록 하여 준다. 위의 경우에는 DGP가 액티브 시스템이라고 현재의 상태를 공유 메모리에 기록하게 된다.
도2e를 참조하면, 제2 서버(120)의 PNR 프로세스(311)는 SIGUSR1 시그널을 받으면 우선 스탠바이 상태에서만 가동되도록 설정되어 있는 프로세스들을 종료시킨 다음 액티브 상태에서 가동되도록 설정되어 있는 프로세스들을 가동시킨다. 그리고, 액티브 시스템으로의 절체 작업을 수행하게 된다.
그 결과, 절체 작업이 완료되면 제2 서버 시스템은 액티브 시스템으로서의 기능을 수행한다. 제1 서버 시스템이 다운되어 있더라도 제2 서버(120)의 DGP(331)는 계속적으로 하트 비트 메시지 전송을 시도할 것이므로 2초(하트 비트 전송 간격의 4배) 후에는 상대편이 다운되어 있음을 감지하게 된다. 그러면, 제2 서버(120)의 DGP(331)는 스탠바이 서버(110)가 다운되어 있다고 인지하게 된다. 그리고 이에 필요한 작업을 수행한다. 예컨대, 파트너 스탠바이 시스템의 상태를 다운 상태로 기록해 놓는 등의 일을 한다.
도2f를 참조하면, 다운되었던 제1 서버가 복구되어 PNR(310)이 재 기동되면 DGP(330)가 기동되어 동작을 시작한다. 복구된 제1 서버(110)의 DGP(330)는 기동되면 초기 상태를 Init 상태로 설정하고 파트너 호스트(120)의 DGP(331)에게 자신의 상태가 어떤 상태로 전이되어야 하는지를 문의하는 내용을 담은 하트 비트 메시지를 전송하게 된다. 본 발명에 따른 양호한 실시예에 따라, 하트 비트 메시지의 ack_req를 REQUIRED로, 코드를 REQ_CHG_TO_STANDBY로 설정하여 보내면 된다.
이때에, 하트 비트 메시지의 전송은 하트 비트 네트워크와 모든 서비스 네트워크를 통하여 이루어진다. 또한, 하트 비트 메시지 타임아웃 값은 하트 비트 전송 주기의 두 배 이다. 제1 서버(110)의 DGP(330)는 타임아웃이 나기 전에 응답이 오면 이에 따라 상태 전이를 진행하면 될 것이고, 만약 타임아웃이 발생하였다면 파트너 호스트의 DGP가 정상적으로 동작하고 있지 않다는 가정을 할 수 있으므로, 자신의 상태를 액티브 상태로 전이시킨다. 즉, PNR 프로세스에게 SIGUSR1 시그널을 보낸다. 위의 경우에는 제2 서버가 살아 있으므로 제2 서버(120)의 DGP(331)로부터 하트 비트 메시지를 전송 받게 된다.
도2g를 참조하면, 제2 서버(120)의 DGP(331)는 제1 서버(110)의 DGP(330)로부터 하트 비트(heart beat) 메시지를 받는다. 이를 분석해 본 결과, 코드 값이 REQ_CHG_TO_STANDBY 임을 알게 된다. 이는 위에서 설명했던 바와 같이 상대편이 자신의 상태를 어떤 상태로 전이시켜야 하는지를 묻는 것이므로, 이 메시지를 받은 제2 서버의 DGP는 제2 서버 호스트의 상태를 보고 자신의 상태가 어떤 상태인지에 따라 이에 적절한 조치를 취하게 된다.
(1) 만약 제2 서버(120)의 상태가 액티브 상태이면 상대편에게 스탠바이 상태로 전이하라는 정보를 코드 값에 INST_CHG_TO_STANDBY를 채움으로써 알려준다.
(2) 만약 제2 서버(120)의 상태가 스탠바이 상태이면 상대편에게 액티브 상태로 전이하라고 보내게 된다. 이 역시 코드 값에 INST_CHG_TO_ACTIVE를 채워서 하트 비트 메시지로 전송하면 된다.
(3) 만약 제2 서버(120)의 상태가 Init 상태라면 환경 설정 파일(dgpconfiguration file)의 설정 내용에 따라 디폴트(default)로 제2 서버(120)가 액티브 상태로 되어 있다면 자신은 액티브 상태로 전이하고 상대방에게는 스탠바이로 전이하라고 알려준다. 즉, 제1 서버(110)의 DGP(330)에게 하트 비트의 코드에 INST_CHG_TO _STANDBY를 실어 전송한다. 초기 시스템 상태가 스탠바이로 되어 있다면 마찬가지 원리로 자신은 스탠바이 상태로 전이하고, 상대편에게 액티브 상태로 전이하라고 알려준다(INST_CHG_TO_ACTIVE).
한편, 제2 서버(120)의 DGP(331)는 다운되어 있던 제1 서버(110)가 복구되었음을 하트 비트 메시지를 전달받고서 인지할 수 있으므로 이 사실을 PNR(311)에게 알리어 PNR(311)로 하여금 상태 관리를 할 수 있도록 하여 준다. 이는 PNR(311)에게 SIGTTIN 시그널을 전송함으로써 이루어진다. 본 발명에 따른 양호한 실시예로서, PNR(311)은 SIGTTIN 시그널을 받으면 상대편 스탠바이 시스템이 복구되었다고 인지하고, SIGTTOU 시그널을 받으면 상대편 스탠바이 시스템이 다운되었다고 인지한다.
한편, 다운되어 있던 스탠바이 시스템이 복구되어 살아나게 되면 액티브 서버의 DGP는 RFM 내용의 일치를 위해 RFM Sync를 해주게 된다. 이는 RFM이 DRAM으로 이루어져 있기 때문에 전원이 꺼지면 그 내용이 모두 지워지기 때문이다. 따라서, 다운되어 있던 스탠바이 시스템이 살아나게 되면 그 시스템의 RFM 내용이 모두 지워져 있다고 가정하면 RFM Sync를 시켜주게 되는 것이다.
도2h를 참조하면, 제1 서버(110)가 스탠바이 제2 서버(120)가 액티브로 전이가 완료되어 있다. 한편, 본 발명에 따른 수동 절체 방법은 다음과 같다. 시스템운영자가 수동 절체를 요청하는 경우 수동 절체 명령은 액티브 호스트의 PNR 프로세스에 내려지면, PNR은 DGP 프로세스에게 SIGUSR1 시그널(스탠바이에로의 전이 명령)을 전송함으로써 절체를 수행한다.
이하에서는 본 발명에 따른 프로세스 리소스 관리 프로세스(PNR)와 이중화 감시 프로세스(DGP) 소프트웨어 모듈의 기능에 대하여 상세히 설명한다. 본 발명에 따른 PNR의 기능은 액티브 및 스탠바이 상태에 따른 프로세스들을 관리하고, 프로세스 혹은 리소스에 이상이 발생한 경우 경고(Alarm)를 동작시킨다. 또한, 프로세스 또는 리소스에 대한 생성/삭제 및 네트워크의 상태 체크를 수행하고, DGP 및 데이터베이스 관리 프로세스(DBMGR)와 연동하여 관리한다. 본 발명에 따른 PNR은 초기 설정 파일 inittab에 기술되어 있으면서 Init 프로세스에 의해 부팅시 기동된다.
본 발명에 따른 PNR 프로세스는 초기에 환경 설정 파일(pnr.tab) 파일을 읽어 들여 액티브 또는 스탠바이 상태에서의 동작 프로세스의 목록을 만든다. 본 발명에 따른 PNR은 처음 기동될 때에 pnr.tab을 읽어 들이지만 SIGHUP(상세한 의미는 후술할 것임)을 받아도 이 환경 설정 파일을 새로이 독출한다.
또한, 본 발명에 따른 PNR 프로세스는 pnr_conf.ini 파일을 독출하여, 현재 시스템의 호스트 네임을 읽어온다. 또한, 본 발명에 따른 DGP로부터 액티브 상태가 되는 경우 SIGUSR1 시그널을 수신하고, 스탠바이 상태이면 SIGUSR2 시그널을 수신하게 된다. 전술한 시그널을 수신하는 경우, 본 발명에 따른 PNR은 액티브상태에 동작하는 프로세스들, 스탠바이 상태에 동작하는 프로세스들을 각각 기동시킨다.한편, 프로세스들은 SIGTERM에 의해 종료 될 수 있어야 한다. 본 발명에 따른 PNR의 동작 시에 다른 프로세스와 인터페이스는 시그널을 통하여 이루어진다. 본 발명에 따른 PNR의 시그널 처리의 양호한 실시예는 다음과 같다.
SIGUSR1은 액티브상태로의 전이를 의미하며, DGP에서 PNR로 보내지는 시그널로서 액티브 상태로 상태 전이가 일어났을 때 받는 시그널이다. 상태(STATE)가 스탠바이일 때 사용되었던 프로세스들을 SIGTERM 시그널을 보내 종료시킨 후 상태가 액티브로 되어 있는 프로세스들을 생성시킨다.
SIGUSR2는 액티브 상태로의 전이를 의미하며, DGP에서 PNR로 보내지는 시그널로서, 액티브 상태로 상태 전이가 일어났을 때 받는 시그널이다. 상태가 스탠바이일 때 사용되었던 프로세스들을 SIGTERM 시그널을 보내 종료시킨 후 상태가 액티브로 되어 있는 프로세스들을 생성시킨다.
SIGTTIN은 상대 서버가 초기 (INIT) 상태에 있다가 스탠바이(STANDBY) 상태로 전이되었음을 알려주는 것으로서, 현재 시스템이 액티브 상태라면 DGP에 의해서 스탠바이 상태를 알 수 있다. 상대편 시스템의 상태가 스탠바이가 되면 발생한다.
SIGTTOU는 상대 서버가 스탠바이 상태에 있다가 초기 상태(INIT)로 전이되었음을, 혹은 다운되었음을 알려주는 것으로서, 상대편 시스템이 스탠바이 상태가 되지 않았을 경우에, 비정상적인 상태인 경우 DGP에 의해서 발생하는 시그널이다. 이때에, 스탠바이 시스템이 다운되었음을 알리는 경고(Alarm)메시지를 생성한다.
SIGHUP은 재형성(Reconfiguration) pnr.tab의 내용이 바뀐 경우 사용자에 의해 받는 시그널로서, pnr.tab에 새로운 내용을 추가하여 새로운 형성(configuration)으로 프로세스를 구동하고 싶을 경우 PNR에 보낸다. PNR은 이 시그널을 받으면 프로세스 테이블을 다시 읽어 들이고, 그에 상응하여 프로세스를 종료시키거나 새로이 생성시킨다.
SIGCHLD는 자식 프로세스의 종료를 의미하며, RESPAWN 상태로 동작하는 프로세스가 종료되면 발생하는 시그널이다. 이것은 프로세스 종료로서 경고음(ALARM)을 발생시킨다. 또한, 프로세스를 재생성하고 경고음 삭제(ALARM CLEAR)를 보낸다.
서비스 중인 서버는 3가지 상태를 가질 수 있다, 즉, 액티브(ACTIVE), 스탠바이 (STAND-BY) 및 초기 상태(INIT)로 분류된다. 여기서, INIT 상태는 스탠바이 상태 이전의 상태로서 서버의 초기 상태는 INIT 상태이다. 서버가 복구되어 살아나면 무조건 INIT 상태가 된다. 그리고 나서, 액티브 서버에게 스탠바이 상태로 변할지 아니면 액티브상태로 바뀌어야 하는지 물어본다.
서버는 INIT 상태에서 상대편 서버로부터 확인을 받고 난 다음에 스탠 바이상태로 되거나 액티브 상태로 바뀐다. 스탠바이 서버는 액티브 서버의 상태를 감시하고 이상이 발생되면 액티브 서버로 절체한다. 또한 수동 절체를 지원하여 DGP에 상태변경을 요청하면 스탠바이 서버에게 상태 변경을 요구하고 자신도 상태를 변경한다.
본 발명에 따른 내 고장성 시스템에 있어서, 하트 비트 인터페이스(350)에 장애가 발생하면 다른 네트워크를 통하여 반송 요구 패킷(Packet)을 보내고 반송 받은 네트워크로 계속 반송 요구 패킷을 전송한다. 스탠바이 시스템은 가능한 어느 네트워크를 통해 하트 비트가 도착하면 타이머(timer)를 리셋(reset)한다.
본 발명에 따른 하트 비트 네트워크로써 정상적으로 패킷이 전송되다가 타임 아웃이 발생하면 일단 하트 비트 네트워크에 장애 이상을 의심할 수 있으므로, 모든 네트워크 즉 현재 이 중화된 2개의 네트워크(100, 101)와 하트 비트 네트워크 (350)으로 승인(Ack)을 요구하는 패킷(Packet)을 전송한다.
만약, 이에 대한 반송 패킷이 하트 비트 네트워크가 아닌 경우, 다음의 하트 비트는 응답이 온 네트워크를 통하여 전송한다. 이 상태는 하트 비트 네트워크 (350)에 장애가 발생한 상태이다. 이와 같은 상태에서 재 전송하던 네트워크에 장애가 발생하면, 또 다시 모든 네트워크에로의 반송 요구 패킷을 보내고 응답을 기다린다. 응답이 정해진 시간 하트 비트 주기의 두 배 시간(2*t1) 내에 돌아오지 않으면 액티브로 절체한다. 어떤 경우든 하트 비트 네트워크(350)의 패킷이 검출되면 정상적으로 작동을 한다.
한편, 하트 비트 전송이 하트 비트 주기의 두 배 시간(2*t1)에 의해 타임아웃(timeout)이 되거나, 혹은 이중화된 랜(LAN) 네트워크(100, 101)를 통한 하트 비트 전송이 2*t1에 의해 타임아웃이 발생하면 전 네트워크로 반송을 요구하는 하트 비트를 전송한다.
그 후, 또 다시 2*t1이 지나 타임아웃이 발생하면 이것은 액티브 서버가 다운(Down)된 것으로 간주하고 절체를 시도한다. 반송이 특정 이중화된 랜(LAN) 네트워크(100, 101)로 도착하면 전송된 랜(LAN)에 의한 하트 비트 전송을 수행한다. 이때에, 액티브 서버의 다운 후 4*t1초 이내에 확인이 되는 것이다.
한편, 하트 비트 네트워크(350)를 통한 하트 비트가 2*t1 시간이 경과하면이중화된 LAN 네트워크(100, 101)를 통한 하트 비트 전송의 상태이다. 이때에는 하트 비트 네트워크를 통한 하트 비트 전송은 계속시도하고, 승인(Ack)을 요구하는 하트 비트를 받으면 반송한다. 이중화된 LAN(100, 101)을 통한 하트 비트 전송 시 2*t1시간 내에 하트 비트가 도착하지 않으면 스탠바이 서버가 동작하지 않는 것으로 간주하고 스탠바이다운(StandbyDown)을 수행한다. 다시 하트 비트가 도착하면 스탠바이 업(StandbyUp)을 수행한다.
또한, 초기 시스템이 동작을 시작하면 Init에 의해 초기화 과정을 수행한다. 이후 각 DGP는 REQ_TO_STANDBY 를 코드에 실어 반송 요구를 하는 패킷을 보낸다. 만약 2*t1시간 내에 어떤 패킷도 도착하지 않으면 상대 DGP가 없는 것으로 간주하고 액티브 서버로 동작한다. 따라서, 하나의 시스템만 동작하는 경우 2*t1시간 후에 액티브 서버로 동작한다. 이미 액티브 서버가 동작하고 있으면 이 액티브 서버가 INST_CHG_TO_STANDBY를 반송하므로 바로 스탠바이 서버로 동작한다.
한편, 두 개의 시스템이 동시에 동작을 시작하는 경우에 하나의 서버는 자신이 REQ_TO_STANDBY 메시지를 전송하고 메시지를 기다리는 동안 REQ_TO_STANDBY를 받는 경우이다. 이때에는 초기 시스템의 설정에 의해 시작 상태(Start State)가 액티브 시스템으로 설정되어 있으면 자신은 액티브 서버로 동작하고 INST_CHG_TO _STANDBY를 전송한다. 또한, 그 반대의 경우에는 자신은 스탠바이 서버로 동작하고 INST_CHG_TO_ACTIVE를 전송한다.
전술한 내용은 후술할 발명의 특허 청구 범위를 보다 잘 이해할 수 있도록 본 발명의 특징과 기술적 장점을 다소 폭넓게 개설하였다. 본 발명의 특허 청구범위를 구성하는 부가적인 특징과 장점들이 이하에서 상술될 것이다. 개시된 본 발명의 개념과 특정 실시예는 본 발명과 유사 목적을 수행하기 위한 다른 구조의 설계나 수정의 기본으로서 즉시 사용될 수 있음이 당해 기술 분야의 숙련된 사람들에 의해 인식되어야 한다.
또한, 본 발명에서 개시된 발명 개념과 실시예가 본 발명의 동일 목적을 수행하기 위하여 다른 구조로 수정하거나 설계하기 위한 기초로서 당해 기술 분야의 숙련된 사람들에 의해 사용되어질 수 있을 것이다. 또한, 당해 기술 분야의 숙련된 사람에 의한 그와 같은 수정 또는 변경된 등가 구조는 특허 청구 범위에서 기술한 발명의 사상이나 범위를 벗어나지 않는 한도 내에서 다양한 변화, 치환 및 변경이 가능하다.
이상과 같이, 본 발명은 이중화된 네트워크 이외에도 이중화된 서버에서 동작하는 이중화 감시 프로세스(DGP) 사이에 전용 하트 비트 라인을 구비하여 서로 상태의 상태를 감시함으로써, 호스트에 장애가 발생한 경우, 네트워크에 장애가 발생한 경우, 데이터 베이스에 장애가 발생한 경우, 프로세스 구동의 장애가 선정된 회수 이상 발생한 경우 자동 절체될 수 있으며, 또한 운영자에 의한 수동 절체를 가능하게 함으로써, 내 고장성 서버 시스템을 구현하게 된다.
그 결과, 본 발명은 신뢰성이 요구되는 통신 시스템에 적용되어 중단 없는 통신 서비스를 제공할 수 있게 된다.

Claims (11)

  1. 제1 서버와 제2 서버를 이중화하여 각각 액티브 서버와 스탠바이 서버로 상기 이중화된 네트워크 라인을 통해 접속되어 이중화된 서버 시스템에 있어서, 상기 제1 서버와 상기 제2 서버는 각각
    액티브 서버로 작동중인 상태에서는 형성 테이블(configuration table)에 설정되어 있는 프로세스들을 가동시키고, 네트워크 이중화를 위해 구비된 네트워크 인터페이스 카드의 상태를 감시하며 프로세스를 관리하는 프로세스 리소스 관리 프로세스(PNR; process and resource manager);
    액티브 또는 스탠바이 상태와 관계없이 부팅이 완료되어 운용중인 경우에는 상기 프로세스 리소스 관리 프로세스에 의해 기동되어, 상기 이중화된 네트워크와 별도로 구비된 하트 비트(heart beat) 네트워크 라인을 통해 직접 연결된 상대방 서버와의 주기적 통신을 통해 상대 서버의 장애 유무를 판단하는 이중화 감시 프로세스(DGP; duplication guardian process); 및
    액티브 서버에서 작동중인 프로세스가 생성하는 데이터를 상대 스탠바이 서버에서 실시간으로 동기화하여 액세스할 수 있도록 상대 서버와 광케이블로 접속되어 있는 리플렉티브 메모리(RFM)
    를 구비한 이중화 서버 장치.
  2. 제1항에 있어서, 상기 이중화 감시 프로세스는 상기 이중화 서버 장치의 운영자가 수동으로 절체 명령을 내린 경우 상기 절체 명령을 받은 액티브 서버의 프로세스 리소스 관리 프로세스로부터의 시그널을 수신하여 자신의 상태를 변경하고 상대 서버의 이중화 감시 프로세스에 상태 변경을 요청하는 것을 특징으로 하는 이중화 서버 장치.
  3. 제1항에 있어서, 상기 이중화 감시 프로세스는 상기 이중화된 네트워크 라인이 모두 장애가 발생한 경우 자신의 상태를 변경하고 상대 서버의 이중화 감시 프로세스에 상태 변경을 요청하는 것을 특징으로 하는 이중화 서버 장치.
  4. 제1항에 있어서, 상기 이중화 감시 프로세스는 데이터베이스 서버에 장애가 발생하는 경우 상기 프로세스 리소스 관리 프로세스로부터 신호를 받아 자신의 상태를 변경하고, 상대 서버의 이중화 감시 프로세스에 상태 변경을 요청하는 것을 특징으로 하는 이중화 서버 장치.
  5. 제1항에 있어서, 상기 이중화 감시 프로세스는 상기 프로세스 리소스 관리 프로세스가 기동시키는 다수의 프로세스 중 어느 하나 또는 이들의 조합이 선정된 횟수 이상으로 장애를 발생하는 경우에 상기 프로세스 리소스 프로세스로부터 신호를 받아 자신의 상태를 변경하고, 상대 서버의 이중화 감시 프로세스에 상태 변경을 요청하는 것을 특징으로 하는 이중화 서버 장치.
  6. 사용자 응용 프로세스들을 가동시켜 관리하고 네트워크 이중화를 위해 구비된 네트워크 인터페이스 카드의 상태를 감시하는 프로세스 리소스 관리 프로세스 (PNR; Process and Resource Manager)와 이중화된 서버에 있어 상대 서버의 상태를 감시하기 위해 상기 이중화된 네트워크와 별도로 구비된 하트 비트 라인을 통해 장애를 모니터하는 이중화 감시 프로세스(DGP; Duplication Guardian Process)를 탑재하고 상기 프로세스들이 생성하는 데이터를 공유 메모리에 저장하고 이중화된 제1 서버 및 제2 서버에 있어서, 액티브로 작동중인 제1 서버가 절체되어 스탠바이 상태로 전이되고 상기 제2 서버가 액티브 상태로 전이되는 방법은,
    (a) 상기 제1 서버에서 구동중인 상기 이중화 감시 프로세스(DGP)로부터 상기 하트 비트 라인을 통하여 하트 비트 메시지가 하트 비트 통신 주기의 선정된 승수 기간 동안 수신되지 않는 경우, 상기 제2 서버의 이중화 감시 프로세스는 상기 하트 비트 라인을 제외한 기타 네트워크 라인을 통해 하트 비트를 상기 제1 서버의 이중화 감시 프로세스에 전송하는 단계;
    (b) 상기 단계 (a)에서 상기 기타 네트워크 라인을 통해 전송된 하트 비트에도 장애가 발생하여 상기 제1 서버로의 이중화 감시 프로세스로부터 하트 비트 메시지를 상기 하트 비트 통신 주기의 선정된 승수 기간 내에 수신할 수 없는 경우, 상기 제2 서버의 이중화 감시 프로세스는 상기 제2 서버의 프로세스 리소스 관리 프로세스(PNR)에 스탠바이 상태에서 액티브 상태로의 전이를 요청하는 신호를 전송하고, 절체 단계에서의 상태 변경 내용을 공유 메모리에 기입하고, 이후부터 제2 서버가 액티브 서버임을 상기 공유 메모리에 기록하는 단계;
    (c) 상기 제2 서버의 프로세스 리소스 관리 프로세스는 상기 제2 서버의 이중화 감시 프로세스로부터의 상기 상태 전이 요청 신호를 수신하고, 스탠바이 상태에서만 가동되도록 설정되어 있는 사용자 응용 프로세스를 중단시키고, 액티브 상태에서 구동되어야 할 프로세스를 기동시키는 단계; 및
    (d) 상기 제2 서버의 이중화 감시 프로세스는 상대 제1 서버에 하트 비트 메시지 전송을 시도하고 하트 비트 통신 주기의 선정된 승수 기간 내에 응답이 없는 경우 스탠바이 상태의 제1 서버가 다운된 것으로 인지하는 단계
    를 포함하는 서버 이중화 절체 방법.
  7. 제6항에 있어서, 상기 서버 이중화 절체 방법은
    상기 다운되었던 제1 서버가 복구되어 상기 제1 서버의 프로세스 리소스 관리 프로세스(PNR)가 기동되고, 이어서 이중화 감시 프로세스(DGP)가 기동되면 초기 상태로 자신을 설정하는 단계;
    상기 복구된 제1 서버의 이중화 감시 프로세스는 현재 액티브 상태에 있는 상기 제2 서버의 이중화 감시 프로세스에게 자신의 상태가 어떤 상태로 전이되어야 하는지를 문의하는 내용을 담은 하트 비트 메시지를 상기 하트 비트 라인 및 상기 이중화된 네트워크 중 어느 하나 또는 이들의 조합을 통해 전송하는 단계; 및
    상기 제2 서버의 이중화 감시 프로세스로부터 응답 내용에 따라 상기 제1 서버의 이중화 감시 프로세스는 자신의 상태를 스탠바이 또는 액티브 상태로 전이하는 단계
    를 더 포함하는 이중화 서버 절체 방법.
  8. 사용자 응용 프로세스들을 가동시켜 관리하고 네트워크 이중화를 위해 구비된 네트워크 인터페이스 카드의 상태를 감시하는 프로세스 리소스 관리 프로세스 (PNR; Process and Resource Manager)와 이중화된 서버에 있어 상대 서버의 상태를 감시하기 위해 상기 이중화된 네트워크와 별도로 구비된 하트 비트 라인을 통해 장애를 모니터하는 이중화 감시 프로세스(DGP; Duplication Guardian Process)를 탑재하고 상기 프로세스들이 생성하는 데이터를 리플렉티브 메모리에 저장하고 이중화된 제1 서버 및 제2 서버에 있어서, 액티브로 작동중인 제1 서버로부터 스탠바이 상태의 제2 서버로의 절체 방법은,
    (a) 시스템 운영자의 절체 명령을 수신한 상기 제1 서버의 프로세스 리소스 관리 프로세스(PNR)는 상기 제1 서버의 이중화 감시 프로세스에 스탠바이 상태로의 변경을 요청하는 시그널을 전송하는 단계;
    (b) 상기 제1 서버의 이중화 감시 프로세스는 상기 하트 비트 라인을 통해 상기 제2 서버의 이중화 감시 프로세스에게 액티브 상태로의 상태 변경을 요청하는 하트 비트 메시지를 전송하는 단계; 및
    (c) 상기 제2 서버의 프로세스 리소스 관리 프로세스는 상기 제2 서버의 이중화 감시 프로세스로부터의 상기 상태 전이 요청 신호를 수신하고, 스탠바이 상태에서만 가동되도록 설정되어 있는 사용자 응용 프로세스를 중단시키고, 액티브 상태에서 구동되어야 할 프로세스를 기동시키는 단계
    를 포함하는 서버 이중화 절체 방법.
  9. 사용자 응용 프로세스들을 가동시켜 관리하고 네트워크 이중화를 위해 구비된 네트워크 인터페이스 카드의 상태를 감시하는 프로세스 리소스 관리 프로세스 (PNR; Process and Resource Manager)와 이중화된 서버에 있어 상대 서버의 상태를 감시하기 위해 상기 이중화된 네트워크와 별도로 구비된 하트 비트 라인을 통해 장애를 모니터하는 이중화 감시 프로세스(DGP; Duplication Guardian Process)를 탑재하고 상기 프로세스들이 생성하는 데이터를 리플렉티브 메모리에 저장하고 이중화된 제1 서버 및 제2 서버에 있어서, 액티브로 작동중인 제1 서버로부터 스탠바이 상태의 제2 서버로의 절체 방법은,
    (a) 상기 제1 서버의 프로세스 리소스 관리 프로세스(PNR)는 데이터베이스 서버에 장애가 발생한 경우 상기 제1 서버의 이중화 감시 프로세스에 스탠바이 상태로의 전이를 요청하는 시그널을 전송하는 단계;
    (b) 상기 제1 서버의 이중화 감시 프로세스는 상기 하트 비트 라인을 통해 상기 제2 서버의 이중화 감시 프로세스에게 액티브 상태로의 상태 변경을 요청하는 하트 비트 메시지를 전송하는 단계; 및
    (c) 상기 제2 서버의 프로세스 리소스 관리 프로세스는 상기 제2 서버의 이중화 감시 프로세스로부터의 상기 상태 전이 요청 신호를 수신하고, 스탠바이 상태에서만 가동되도록 설정되어 있는 사용자 응용 프로세스를 중단시키고, 액티브 상태에서 구동되어야 할 프로세스를 기동시키는 단계
    를 포함하는 서버 이중화 절체 방법.
  10. 사용자 응용 프로세스들을 가동시켜 관리하고 네트워크 이중화를 위해 구비된 네트워크 인터페이스 카드의 상태를 감시하는 프로세스 리소스 관리 프로세스 (PNR; Process and Resource Manager)와 이중화된 서버에 있어 상대 서버의 상태를 감시하기 위해 상기 이중화된 네트워크와 별도로 구비된 하트 비트 라인을 통해 장애를 모니터하는 이중화 감시 프로세스(DGP; Duplication Guardian Process)를 탑재하고 상기 프로세스들이 생성하는 데이터를 리플렉티브 메모리에 저장하고 이중화된 제1 서버 및 제2 서버에 있어서, 액티브로 작동중인 제1 서버로부터 스탠바이 상태의 제2 서버로의 절체 방법은,
    (a) 상기 제1 서버의 프로세스 리소스 관리 프로세스(PNR)는 상기 사용자 응용 프로세스 중 어느 하나 또는 이들의 조합이 선정된 횟수 이상으로 장애가 발생한 경우, 상기 제1 서버의 이중화 감시 프로세스에 스탠바이 상태로의 전이를 요청하는 시그널을 전송하는 단계;
    (b) 상기 제1 서버의 이중화 감시 프로세스는 상기 하트 비트 라인을 통해 상기 제2 서버의 이중화 감시 프로세스에게 액티브 상태로의 상태 변경을 요청하는 하트 비트 메시지를 전송하는 단계; 및
    (c) 상기 제2 서버의 프로세스 리소스 관리 프로세스는 상기 제2 서버의 이중화 감시 프로세스로부터의 상기 상태 전이 요청 신호를 수신하고, 스탠바이 상태에서만 가동되도록 설정되어 있는 사용자 응용 프로세스를 중단시키고, 액티브 상태에서 구동되어야 할 프로세스를 기동시키는 단계
    를 포함하는 서버 이중화 절체 방법.
  11. 사용자 응용 프로세스들을 가동시켜 관리하고 네트워크 이중화를 위해 구비된 네트워크 인터페이스 카드의 상태를 감시하는 프로세스 리소스 관리 프로세스 (PNR; Process and Resource Manager)와 이중화된 서버에 있어 상대 서버의 상태를 감시하기 위해 상기 이중화된 네트워크와 별도로 구비된 하트 비트 라인을 통해 장애를 모니터하는 이중화 감시 프로세스(DGP; Duplication Guardian Process)를 탑재하고, 상기 프로세스들이 생성하는 데이터를 리플렉티브 메모리에 저장하고 이중화된 제1 서버 및 제2 서버에 있어서,
    (a) 상기 제1 서버 또는 제2 서버의 이중화 감시 프로세스는 상대 서버의 이중화 감시 프로세스에 선정된 주기마다 제1 하트 비트를 전송하는 단계;
    (b) 상기 전송된 하트 비트가 수신 측 서버로부터 승인(ACK)을 요청하는 경우, 상기 하트 비트를 수신한 네트워크 채널을 통해 상기 선정된 주기에 제2 하트 비트를 응답 전송하는 단계;
    (c) 상기 전송된 제1 하트 비트가 수신 측 서버의 상태를 초기(INIT), 액티브(ACTIVE), 또는 스탠바이(STAND BY) 중 어느 하나로의 전이를 요청하는 경우, 수신 측 이중화 감시 프로세스는 수신측 프로세스 리소스 관리 프로세스에 시스템의 상태 전이를 요청하는 단계;
    (d) 상기 제1 하트 비트가 전송된 후 선정된 주기의 2배수 기간에 수신 측서버로부터 제2 하트 비트가 전송되지 않는 경우, 상기 하트 비트 라인 및 다른 이중화된 네트워크 중 어느 하나 또는 이들의 조합을 이용하여 제3 하트 비트를 수신측 서버에 전송하는 단계;
    (e) 상기 제3 하트 비트가 전송된 후 선정된 주기의 2배수 시간에 상기 하트 비트 라인, 이중화된 네트워크 중 어느 통신 채널을 통하여서도 수신 측으로부터 하트 비트가 전송되어 오지 않는 경우, 상대 서버가 다운된 것으로 인식하고 자신을 액티브로 절체하는 단계;
    (f) 상기 다운된 서버가 복구된 경우, 복구된 서버는 초기 상태(INIT)로 셋팅되고 복구된 서버의 이중화 감시 프로세스는 상대 서버의 이중화 감시 서버에 자신의 상태 전이를 질의하는 단계;
    (g) 상기 복구된 서버는 상기 단계 (g)에서의 상태 전이 질의에 대하여, 상대 서버의 이중화 감시 서버가 보내 온 하트 비트에 담긴 지시 내용에 따라 스탠바이 또는 액티브 상태로 상태 전이를 하고, 응답이 없는 경우 자신의 상태를 액티브로 전이하는 단계
    를 포함하는 이중화 절체 방법.
KR10-2001-0003513A 2001-01-22 2001-01-22 내 고장성 시스템 및 이중화 방법 KR100411978B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0003513A KR100411978B1 (ko) 2001-01-22 2001-01-22 내 고장성 시스템 및 이중화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0003513A KR100411978B1 (ko) 2001-01-22 2001-01-22 내 고장성 시스템 및 이중화 방법

Publications (2)

Publication Number Publication Date
KR20020062483A true KR20020062483A (ko) 2002-07-26
KR100411978B1 KR100411978B1 (ko) 2003-12-24

Family

ID=27692396

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0003513A KR100411978B1 (ko) 2001-01-22 2001-01-22 내 고장성 시스템 및 이중화 방법

Country Status (1)

Country Link
KR (1) KR100411978B1 (ko)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030048503A (ko) * 2001-12-12 2003-06-25 주식회사 엘지이아이 이중화 서버 구조의 데이터 동기화를 위한 통신 시스템 및방법
KR20030056290A (ko) * 2001-12-28 2003-07-04 한국전자통신연구원 이중화된 시스템에서의 프로세스의 이중화를 통한프로세스 장애 복구방법
KR100696983B1 (ko) * 2005-12-24 2007-03-20 한국철도기술연구원 결함허용 반이중방식 분산제어시스템
KR100732510B1 (ko) * 2005-12-02 2007-06-27 엘에스산전 주식회사 네트워크 시스템
KR100733971B1 (ko) * 2005-12-24 2007-06-29 한국철도기술연구원 결함허용 전이중방식 분산제어시스템
KR100743432B1 (ko) * 2005-12-21 2007-07-30 (주)엔텔스 과금 처리 장치 및 방법
KR100806487B1 (ko) * 2006-10-11 2008-02-21 삼성에스디에스 주식회사 대외채널통합 환경에서의 통신장애 처리시스템 및 그 방법
KR100806488B1 (ko) * 2006-10-11 2008-02-21 삼성에스디에스 주식회사 대외채널통합 환경에서의 성능 테스트 시스템 및 그 방법
KR100939296B1 (ko) * 2006-10-31 2010-01-28 후지쯔 가부시끼가이샤 Rf-id 태그와 네트워크 사이의 통신을 제어하는 시스템, 장치, 방법 및 rf-id 태그와 네트워크 사이의 통신을 제어하는 프로그램을 기록한 기록매체 그리고 그 제어 방법을 이용하여 제품을 제조하는 제조 방법
KR100987351B1 (ko) * 2008-03-03 2010-10-12 비씨카드(주) 인증 시스템 및 방법
CN102014029A (zh) * 2010-12-25 2011-04-13 中国人民解放军国防科学技术大学 一种双机互备中检测对外服务网络异常的方法
KR101034414B1 (ko) * 2009-05-22 2011-05-12 한국수력원자력 주식회사 발전소 제어계통 광통신망 검사장치 및 방법
KR20150032973A (ko) * 2013-09-23 2015-04-01 에스케이텔레콤 주식회사 효율적인 장애 극복 방법 및 장치
KR101538119B1 (ko) * 2013-09-26 2015-07-22 이리홍 이더넷 장애복구 장치
CN106209328A (zh) * 2016-07-12 2016-12-07 邦彦技术股份有限公司 一种信道智能冗余备份方法和系统
KR20170099284A (ko) * 2016-02-23 2017-08-31 국방과학연구소 지속적인 서비스 제공을 위한 정상상태 모델 기반의 침입감내 시스템 및 그 제어방법
WO2018048251A1 (ko) * 2016-09-12 2018-03-15 주식회사 루텍 모터제어반용 시스템
KR20200092755A (ko) * 2019-01-25 2020-08-04 주식회사 인에이블다온소프트 병무 행정 포털 시스템
CN113557695A (zh) * 2019-03-15 2021-10-26 艾可慕株式会社 服务器系统以及进程的冗余化方法
CN113867226A (zh) * 2021-10-18 2021-12-31 西安热工研究院有限公司 一种面向工控系统的冗余数据采集系统
CN115426250A (zh) * 2022-08-26 2022-12-02 中国人民解放军63660部队 一种用于靶场指控的双机热备切换方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10320323A (ja) * 1997-05-15 1998-12-04 Hewlett Packard Japan Ltd サーバコンピュータ、サーバコンピュータの制御方法、およびサーバコンピュータを制御するためのプログラムを記録した記録媒体
JP3190880B2 (ja) * 1998-05-26 2001-07-23 北海道日本電気ソフトウェア株式会社 スタンバイシステム、スタンバイ方法、および記録媒体
KR100265975B1 (ko) * 1998-07-07 2000-09-15 박구용 시스템의 이중화 장치
KR100296403B1 (ko) * 1998-12-30 2001-10-29 서평원 통신시스템에서이중화구현방법
KR20020004074A (ko) * 2000-06-28 2002-01-16 임철희 전자상거래 서비스 제공자와 신용보증기관, 금융기관이연결된 결제수단 및 이용방법.
KR20020036502A (ko) * 2000-11-10 2002-05-16 오길록 이중화 구조를 가지는 데이터베이스 관리시스템 및 그의이중화 처리방법

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030048503A (ko) * 2001-12-12 2003-06-25 주식회사 엘지이아이 이중화 서버 구조의 데이터 동기화를 위한 통신 시스템 및방법
KR20030056290A (ko) * 2001-12-28 2003-07-04 한국전자통신연구원 이중화된 시스템에서의 프로세스의 이중화를 통한프로세스 장애 복구방법
KR100732510B1 (ko) * 2005-12-02 2007-06-27 엘에스산전 주식회사 네트워크 시스템
KR100743432B1 (ko) * 2005-12-21 2007-07-30 (주)엔텔스 과금 처리 장치 및 방법
KR100696983B1 (ko) * 2005-12-24 2007-03-20 한국철도기술연구원 결함허용 반이중방식 분산제어시스템
KR100733971B1 (ko) * 2005-12-24 2007-06-29 한국철도기술연구원 결함허용 전이중방식 분산제어시스템
KR100806487B1 (ko) * 2006-10-11 2008-02-21 삼성에스디에스 주식회사 대외채널통합 환경에서의 통신장애 처리시스템 및 그 방법
KR100806488B1 (ko) * 2006-10-11 2008-02-21 삼성에스디에스 주식회사 대외채널통합 환경에서의 성능 테스트 시스템 및 그 방법
KR100939296B1 (ko) * 2006-10-31 2010-01-28 후지쯔 가부시끼가이샤 Rf-id 태그와 네트워크 사이의 통신을 제어하는 시스템, 장치, 방법 및 rf-id 태그와 네트워크 사이의 통신을 제어하는 프로그램을 기록한 기록매체 그리고 그 제어 방법을 이용하여 제품을 제조하는 제조 방법
KR100987351B1 (ko) * 2008-03-03 2010-10-12 비씨카드(주) 인증 시스템 및 방법
KR101034414B1 (ko) * 2009-05-22 2011-05-12 한국수력원자력 주식회사 발전소 제어계통 광통신망 검사장치 및 방법
CN102014029A (zh) * 2010-12-25 2011-04-13 中国人民解放军国防科学技术大学 一种双机互备中检测对外服务网络异常的方法
KR20150032973A (ko) * 2013-09-23 2015-04-01 에스케이텔레콤 주식회사 효율적인 장애 극복 방법 및 장치
KR101538119B1 (ko) * 2013-09-26 2015-07-22 이리홍 이더넷 장애복구 장치
KR20170099284A (ko) * 2016-02-23 2017-08-31 국방과학연구소 지속적인 서비스 제공을 위한 정상상태 모델 기반의 침입감내 시스템 및 그 제어방법
CN106209328A (zh) * 2016-07-12 2016-12-07 邦彦技术股份有限公司 一种信道智能冗余备份方法和系统
WO2018048251A1 (ko) * 2016-09-12 2018-03-15 주식회사 루텍 모터제어반용 시스템
KR20200092755A (ko) * 2019-01-25 2020-08-04 주식회사 인에이블다온소프트 병무 행정 포털 시스템
CN113557695A (zh) * 2019-03-15 2021-10-26 艾可慕株式会社 服务器系统以及进程的冗余化方法
CN113557695B (zh) * 2019-03-15 2023-10-27 艾可慕株式会社 服务器系统以及进程的冗余化方法
CN113867226A (zh) * 2021-10-18 2021-12-31 西安热工研究院有限公司 一种面向工控系统的冗余数据采集系统
CN113867226B (zh) * 2021-10-18 2024-01-23 西安热工研究院有限公司 一种面向工控系统的冗余数据采集系统
CN115426250A (zh) * 2022-08-26 2022-12-02 中国人民解放军63660部队 一种用于靶场指控的双机热备切换方法及装置
CN115426250B (zh) * 2022-08-26 2023-11-10 中国人民解放军63660部队 一种用于靶场指控的双机热备切换方法及装置

Also Published As

Publication number Publication date
KR100411978B1 (ko) 2003-12-24

Similar Documents

Publication Publication Date Title
KR100411978B1 (ko) 내 고장성 시스템 및 이중화 방법
US5027269A (en) Method and apparatus for providing continuous availability of applications in a computer network
US8332501B2 (en) High availability for intelligent applications in storage networks
US5781716A (en) Fault tolerant multiple network servers
US6119244A (en) Coordinating persistent status information with multiple file servers
US20140095925A1 (en) Client for controlling automatic failover from a primary to a standby server
JP2004165810A (ja) 無線lan基地局の二重化システム
CN106330475A (zh) 一种通信系统中管理主备节点的方法和装置及高可用集群
CN100438362C (zh) 一种实现软件上主备双机热备份的方法
JPH03164837A (ja) 通信制御処理装置の切替方法
JP2000250771A (ja) サーバ二重化方式
KR100324275B1 (ko) 이중화된 프로세서의 이중화 상태 제어 방법
JPH1185644A (ja) 冗長構成システムの系切替制御方法
KR20010092154A (ko) 서버 이중화 방법 및 시스템
CN105763442A (zh) 主备倒换lacp聚合链路不中断的pon系统及方法
KR20030048503A (ko) 이중화 서버 구조의 데이터 동기화를 위한 통신 시스템 및방법
JP2773424B2 (ja) ネットワークシステムおよび接続コンピュータ切替え方法
US20180203773A1 (en) Information processing apparatus, information processing system and information processing method
CN112732482A (zh) 一种cifs业务备份切换方法、装置、设备及可读存储介质
JP2776442B2 (ja) 複合コンピュータシステム
JPH06175788A (ja) バックアップ装置及びその方法
KR100237370B1 (ko) 이중화된 운용 워크스테이션 포트의 절체방법
CN109344015B (zh) 一种数据库服务使用ha预防双主节点的方法及系统
JPH09288637A (ja) 周辺装置の再接続方式およびインタフェース装置
KR20050097015A (ko) 대형시스템에서 고장 감내 기능 구현을 위한 이중화 방법

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20081209

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee