KR100281418B1 - 고장 감내형 입출력 서버를 구현하는 방법 - Google Patents

고장 감내형 입출력 서버를 구현하는 방법 Download PDF

Info

Publication number
KR100281418B1
KR100281418B1 KR1019980051085A KR19980051085A KR100281418B1 KR 100281418 B1 KR100281418 B1 KR 100281418B1 KR 1019980051085 A KR1019980051085 A KR 1019980051085A KR 19980051085 A KR19980051085 A KR 19980051085A KR 100281418 B1 KR100281418 B1 KR 100281418B1
Authority
KR
South Korea
Prior art keywords
standby
memory
input
server
operating
Prior art date
Application number
KR1019980051085A
Other languages
English (en)
Other versions
KR20000033990A (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 KR1019980051085A priority Critical patent/KR100281418B1/ko
Publication of KR20000033990A publication Critical patent/KR20000033990A/ko
Application granted granted Critical
Publication of KR100281418B1 publication Critical patent/KR100281418B1/ko

Links

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)

Abstract

고장 감내형 교환 시스템에서, 대기 시스템의 입출력 서버가 동작 시스템의 입출력 서버와 동기화를 이루면서도 독자적인 동작이 가능한 형태의 고장 감내형 입출력 서버를 구현하는 방법이 개시된다. 본 발명은, 입출력 서버가 메모리 상에서 사용하는 자료 구조들을 모두 동작 시스템용과 대기 시스템용의 이중으로 정의하고 시스템 시동 시에 동작 시스템에서도 입출력 서버의 동작용 메모리와 대기용 메모리를 초기화하고, 대기 시스템에서도 입출력 서버의 동작용 메모리와 대기용 메모리를 초기화하는 단계, 동작 시스템의 입출력 서버와 대기 시스템의 입출력 서버가 이중으로 정의된 메모리 상의 자료 구조를 이용하여 두 시스템 간의 동기화를 유지하면서도 분리 운용되는 단계, 및 시스템의 장애로 인한 절체로 동작 시스템과 대기 시스템이 서로 대기 시스템과 동작 시스템으로 변경되어 계속 동작하는 단계를 포함하는 고장 감내형 입출력 서버의 구현 방법을 제공함으로써, 시스템의 이중화 상태가 제대로 작동하고 있는지를 점검하는 것이 용이하다.

Description

고장 감내형 입출력 서버를 구현하는 방법 (Method for realizing a fault-tolerant input/output server)
본 발명은 서비스 불능 시간이 최소화되도록 동작와 대기의 이중화 시스템 형태로 구성되어 고장 감내형 구조로 설계되는 교환 시스템에서 입출력 서버를 고장 감내형으로 구현하는 방법에 관한 것으로, 특히 대기(stanby) 시스템의 입출력 서버가 동작(active) 시스템의 입출력 서버와 동기화를 이루면서도 독자적인 동작이 가능한 형태의 고장 감내형 입출력 서버를 구현하는 방법에 관한 것이다.
지금까지 동작과 대기의 이중화 시스템 형태로 구성되어 고장 감내형 구조로 설계되는 교환 시스템에서, 동작(Active) 시스템은 실제로 동작하여 서비스를 제공하고 대기(Standby) 시스템은 실제로 동작하는 것이 아니라 동작 시스템의 동작 상태와 동기화를 이루고 있다가 동작 시스템에 이상이 발생할 경우 절체를 통해 동작 시스템이 대기 시스템이 되고 대기 시스템은 동작 시스템이 되어 동작을 계속하여 서비스를 계속 제공하는 방식을 사용하고 있다.
즉, 대기 시스템은 동작 시스템의 동작 상태와 동기화를 이루기 위하여 독자적인 동작을 하지 않는 구조로 되어 있었다.
그러나, 이러한 방법은 일반적으로는 적용이 가능하지만 대기 시스템의 콘솔(console)을 통해 대기 시스템의 상태를 확인하기 위한 입출력 서버의 사용이나 다른 독자적인 입출력 동작을 수행할 수 없기때문에, 시스템의 이중화 상태가 제대로 작동하고 있는지를 점검하는 것이 용이하지 않다는 문제점을 안고 있다.
따라서, 본 발명은 이러한 기술적 배경하에서 안출된 것으로서, 그 목적은 대기 시스템의 입출력 서버가 동작 시스템의 입출력 서버와 동기화를 이루면서도 독자적인 동작이 가능한 형태의 고장 감내형 입출력 서버를 구현하는 방법을 제공하는데 있다.
도 1은 본 발명이 적용되는 하드웨어 시스템의 구성도,
도 2는 본 발명의 소프트웨어 구조도,
도 3은 본 발명에 따라 고장 감내형 입출력 서버를 구현하는 방법을 설명하기 위한 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명
20 ; SROS(Scalable Real-time Operating System)
21 ; 입출력 서버 22 ; 이중화 서버
23 ; 파일시스템 서버 25 ; 마이크로 커널
27 ; 시리얼 디바이스 드라이버
28 ; 이더넷 디바이스 드라이버
상기 목적을 달성하기 위한 본 발명은, 동작(Active)과 대기(Standby)의 이중화 시스템 형태로 구성되어 대기 시스템의 메모리의 내용이 동작 시스템의 메모리의 내용과 동기화를 이루는 구조의 고장 감내형 교환 시스템에서, 대기 시스템의 입출력 서버가 동작 시스템의 입출력 서버와 동기화를 이루면서도 독자적인 동작이 가능한 형태의 고장 감내형 입출력 서버를 구현하는 방법에 있어서,
입출력 서버가 메모리 상에서 사용하는 자료 구조들을 모두 동작 시스템용과 대기 시스템용의 이중으로 정의하고, 시스템 시동 시에 동작 시스템에서도 입출력 서버의 동작용 메모리와 대기용 메모리를 초기화하고, 대기 시스템에서도 입출력 서버의 동작용 메모리와 대기용 메모리를 초기화하는 제 1 단계; 동작 시스템의 입출력 서버와 대기 시스템의 입출력 서버가 이중으로 정의된 메모리 상의 자료 구조를 이용하여, 두 시스템 간의 동기화를 유지하면서도 분리 운용하는 제 2 단계; 및 시스템의 장애로 인한 절체로 동작 시스템과 대기 시스템이 서로 대기 시스템과 동작 시스템으로 변경되어 계속 동작하는 제 3 단계를 포함하여 이루어지는 것을 특징으로 한다.
바람직하게, 상기 두 시스템 간의 동기화를 유지하면서도 분리 운용되는 제 2 단계에서 동작 시스템일 경우에는, 메모리 상의 동작용 입출력 서버 자료 구조만을 사용하여 표준 입출력 서비스 요구에 대해 서비스를 제공하고, 콘솔을 통한 운용자 명령어 처리를 위한 시리얼 입출력 동작을 시스템이 절체될 때 까지 계속 수행하는 것을 특징으로 한다.
또한, 상기 제 2 단계에서 대기 시스템일 경우에는, 대기 시스템의 입출력 서버의 동작용 메모리의 내용이 동작 시스템의 입출력 서버의 동작용 메모리의 내용과 동기화되는 서브 단계; 및 대기 시스템의 입출력 서버가 자신의 대기용 메모리를 이용하여 표준 입출력 서비스 요구에 대해 서비스를 제공하고, 콘솔을 통한 운용자 명령어 처리를 위한 시리얼 입출력 동작을 수행하는 것과 같은 독자적인 동작을 수행하는 서브 단계를 포함하는 것이 바람직하다.
이하, 본 발명의 바람직한 실시예를 첨부 도면을 참조하여 보다 상세히 설명하기로 한다.
본 발명은 동작 및 대기의 이중화 시스템 형태로 구성되어 대기 시스템의 메모리의 내용이 동작 시스템의 메모리의 내용과 동기화를 이루는 구조의 고장 감내형 교환 시스템에서, 대기 시스템의 입출력 서버가 사용하는 메모리를 이중으로 구성하여, 동작 시스템의 입출력 서버가 사용하는 메모리의 내용을 대기 시스템의 입출력 서버가 사용하는 메모리로 동기화하여 고장 감내형 구조를 유지하면서도, 또 하나의 대기 시스템의 입출력 서버가 사용하는 메모리를 사용한 시스템 콘솔을 통한 시스템 상태 확인 명령의 수행을 위한 대기 시스템측 입출력 서버의 독자적인 동작을 보장하여, 시스템의 이중화 상태가 제대로 작동하고 있는지를 점검할 수 있도록 하는 방법을 구현하고자 한다.
도 1은 본 발명이 적용되는 하드웨어 시스템의 구성도이다. 도 1을 참조하면, 교환 시스템, 예를 들어 HANbit ACE 교환 시스템은, 현재 동작중인 시스템 하드웨어 즉, 동작 하드웨어(100a)와 고장에 대비하여 대기중인 시스템 하드웨어 즉, 대기 하드웨어(100b)가 메모리 동시 쓰기용 버스로 상호간의 메모리(110a, 110b)가 연결되어 있다.
상기 동작 하드웨어(100a)의 메모리(110a)의 내용은 시스템의 동작에 따라 계속 변화가 일어나는데, 이 메모리(110a)의 모든 변화는 메모리 동시쓰기용 버스를 통하여 상기 대기 하드웨어(100b)의 메모리(110b)에도 동일하게 변화된다. 즉, 메모리 동시쓰기용 버스를 이용하는 하드웨어 로직에 의해 두 시스템의 메모리의 내용을 일치시키는 작업이 이루어지는데, 이를 메모리 동시쓰기라고 한다.
또한, 모든 하드웨어 주변 장치는 동작 하드웨어와 대기 하드웨어가 동일하게 설정된다. 동작 및 대기 하드웨어 보드(100a, 100b)는 각각의 시리얼 콘트롤러(120a, 120b)와 시리얼 케이블을 통해 각각 시스템 콘솔(system console)(300)로 연결이 되어, 운용자가 각 시스템 콘솔에서의 명령어 입력을 수행하고, 그에 따른 출력을 확인할 수 있다.
도 2는 본 발명의 소프트웨어 구조도이다.
도 2를 참조하면, 교환 시스템, 예컨데, HANbit ACE 교환 시스템의 실시간 운영체제로 실행되는 SROS(Scalable Real-time Operating System)(20)는 그 내부적으로 다양한 주변 장치들에 대한 디바이스 드라이버들(27, 28, 29)이 있다. 이들 가운데, 시리얼 디바이스 드라이버(27)는 입출력 서버(21)와 함께 시리얼 입출력을 가능하게 한다.
상기 SROS(20) 내의 마이크로 커널(25)은 운영체제의 가장 기본적인 기능을 수행하는 부분이다. 마이크로 커널(25)의 상위에서 동작하는 서버들(21, 22, 23)은 운영체제가 제공하는 부가적인 기능인 파일 시스템 운영, 이중화 관리, 이더넷 상의 인터넷 프로토콜 제공과 같은 일을 수행한다.
이들 가운데, 입출력 서버(21)는 open(), read(), write(), close(), ioctl()과 같은 디바이스의 독립적인 표준 입출력 기능을 제공하며, 또한 시리얼 디바이스를 이용한 시리얼 입출력 기능도 제공한다.
도 3은 본 발명에 따른 고장 감내형 입출력 서버의 구현 방법을 설명하기 위한 흐름도이다.
도 3을 참조하면, 입출력 서버(21)는 메모리 상에서 사용되는 자료 구조들을 모두 동작 시스템용과 대기 시스템용의 이중으로 정의하고, 시스템 시동 시에 동작용 입출력 서버 자료 구조와 대기용 입출력 서버 자료 구조를 메모리 상에서 모두 초기화한다(S10). 이러한 초기화는 동작 시스템과 대기 시스템 모두에서 이루어진다. 즉, 동작 시스템에서도 입출력 서버의 동작용 메모리와 대기용 메모리를 초기화하고, 대기 시스템에서도 입출력 서버의 동작용 메모리와 대기용 메모리를 초기화한다.
초기화 이후의 동작은, 동작 시스템의 입출력 서버와 대기 시스템의 입출력 서버가 이중으로 정의된 메모리 상의 자료 구조를 이용하여 두 시스템 간의 동기화를 유지하면서도 분리 운용시키는 단계를 수행한다.
먼저, 시스템의 상태를 확인하여(S20), 동작 시스템일 경우에는 메모리 상의 동작용 입출력 서버 자료 구조만을 사용하여 open(), read(), write(), close(), ioctl()과 같은 표준 입출력 서비스 요구에 대해 서비스를 제공하고, 콘솔을 통한 운용자 명령어 처리를 위한 시리얼 입출력 동작을 수행한다(S21). 이러한 동작은 시스템의 장애로 인한 절체가 일어나기 전까지 계속된다.
한편, 대기 시스템인 경우, 입출력 서버의 초기화 이후의 동작은 세가지가 동시에 이루어진다. 첫번째는, 도 1에 명시된 하드웨어 구조에 의한 메모리 동시 쓰기로, 동작 시스템에서 일어나는 입출력 서버의 동작용 메모리 값의 변화는 모두 대기 시스템의 입출력 서버의 동작용 메모리의 값으로 반영되어 동기화 된다(S22).
즉, 대기 시스템에서 입출력 서버의 동작용 메모리 값은 대기 시스템의 동작을 위한 것이 아니라, 동작 시스템의 장애시의 절체에 대비하여 동작 시스템의 입출력 서버의 동작용 메모리의 값을 동기화만 시켜놓는 것이다.
두번째는, 대기 시스템의 입출력 서버가 자신의 대기용 메모리를 이용하여 독자적으로 동작하는 것인데, 운용자의 콘솔 명령의 입력을 대기(S23)하고 있다가 입력된 명령을 수행하고 출력하는 단계(S24)와, 대기에서의 표준 입출력 서비스 요구에 대해 서비스를 제공하는 것이다(S25).
이러한 동작은 시스템의 장애로 인한 절체가 일어나기 전까지 계속된다. 동작 시스템에서 장애가 발견될 경우에는 시스템 절체가 일어나는데(S31), 이때에 동작 시스템은 대기로 변경되고 (S41). 한편, 대기 시스템에서 장애가 발견될 경우에는(S32), 대기 시스템은 동작으로 변경되어 (S42), 계속적인 동작이 이루어지는 고장 감내형 구조이다.
전술한 바와 같이, 본 발명은 입출력 서버가 메모리 상에서 사용하는 자료 구조들을 모두 동작 시스템용과 대기 시스템용의 이중으로 정의하고, 동작 시스템의 입출력 서버와 대기 시스템의 입출력 서버가 이중으로 정의된 메모리 상의 자료 구조를 이용하여 두 시스템 간의 동기화를 유지하면서도 분리 운용시킴으로써, 시스템의 이중화 상태가 제대로 작동하고 있는지를 용이하게 점검할 수 있다.
이상에서 본 발명에 대한 기술사상을 첨부도면과 함께 서술하였지만 이는 본 발명의 가장 양호한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술분야의 통상의 지식을 가진 자이면 누구나 본 발명의 기술사상의 범주를 이탈하지 않는 범위내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.
이상 설명한 바와 같이 본 발명의 바람직한 실시예에 의하면, 동작과 대기의 이중화 시스템 형태로 구성되어 대기 시스템의 메모리의 내용이 동작 시스템의 메모리의 내용과 동기화를 이루는 구조의 고장 감내형 교환 시스템에서, 입출력 서버가 메모리 상에서 사용하는 자료 구조들을 모두 동작 시스템용과 대기 시스템용의 이중으로 정의하고 이를 분리 운용함으로써, 대기 시스템이 동작 시스템의 동작 상태와 동기화를 이루기 위하여 독자적인 동작을 하지 않는 구조의 일반적인 이중화 시스템과는 달리, 대기 시스템의 콘솔(console)을 통해 대기 시스템의 상태를 확인하기 위한 입출력 서버의 사용이나 다른 독자적인 입출력 동작을 수행할 수 있다.
그 결과, 시스템의 이중화 상태가 제대로 작동하고 있는지를 점검하는 것이 용이하다.

Claims (4)

  1. 동작(Active)과 대기(Standby)의 이중화 시스템 형태로 구성되어 대기 시스템의 메모리의 내용이 동작 시스템의 메모리의 내용과 동기화를 이루는 구조의 고장 감내형 교환 시스템에서, 대기 시스템의 입출력 서버가 동작 시스템의 입출력 서버와 동기화를 이루면서도 독자적인 동작이 가능한 형태의 고장 감내형 입출력 서버를 구현하는 방법에 있어서,
    입출력 서버가 메모리 상에서 사용하는 자료 구조들을 모두 동작 시스템용과 대기 시스템용의 이중으로 정의하고, 시스템 시동 시에 동작 시스템에서도 입출력 서버의 동작용 메모리와 대기용 메모리를 초기화하고, 대기 시스템에서도 입출력 서버의 동작용 메모리와 대기용 메모리를 초기화하는 제 1 단계;
    동작 시스템의 입출력 서버와 대기 시스템의 입출력 서버가 이중으로 정의된 메모리 상의 자료 구조를 이용하여, 두 시스템 간의 동기화를 유지하면서도 분리 운용하는 제 2 단계; 및
    시스템의 장애로 인한 절체로 동작 시스템과 대기 시스템이 서로 대기 시스템과 동작 시스템으로 변경되어 계속 동작하는 제 3 단계를 포함하여 이루어지는 것을 특징으로 하는 고장 감내형 입출력 서버의 구현 방법.
  2. 제 1 항에 있어서,
    상기 두 시스템 간의 동기화를 유지하면서도 분리 운용되는 제 2 단계에서 동작 시스템일 경우,
    메모리 상의 동작용 입출력 서버 자료 구조만을 사용하여 표준 입출력 서비스 요구에 대해 서비스를 제공하고, 콘솔을 통한 운용자 명령어 처리를 위한 시리얼 입출력 동작을 시스템이 절체될 때 까지 계속 수행하는 것을 특징으로 하는 고장 감내형 입출력 서버의 구현 방법.
  3. 제 1 항에 있어서,
    상기 제 2 단계에서 대기 시스템일 경우,
    대기 시스템의 입출력 서버의 동작용 메모리의 내용이 동작 시스템의 입출력 서버의 동작용 메모리의 내용과 동기화되는 서브 단계; 및
    대기 시스템의 입출력 서버가 자신의 대기용 메모리를 이용하여 표준 입출력 서비스 요구에 대해 서비스를 제공하고, 콘솔을 통한 운용자 명령어 처리를 위한 시리얼 입출력 동작을 수행하는 것과 같은 독자적인 동작을 수행하는 서브 단계를 포함하여 이루어지는 것을 특징으로 하는 고장 감내형 입출력 서버의 구현 방법.
  4. 컴퓨터에,
    입출력 서버가 메모리 상에서 사용하는 자료 구조들을 모두 동작 시스템용과 대기 시스템용의 이중으로 정의하고, 시스템 시동 시에 동작 시스템에서도 입출력 서버의 동작용 메모리와 대기용 메모리를 초기화하고, 대기 시스템에서도 입출력 서버의 동작용 메모리와 대기용 메모리를 초기화하는 제 1 단계;
    동작 시스템의 입출력 서버와 대기 시스템의 입출력 서버가 이중으로 정의된 메모리 상의 자료 구조를 이용하여, 두 시스템 간의 동기화를 유지하면서도 분리 운용되는 제 2 단계; 및
    시스템의 장애로 인한 절체로 동작 시스템과 대기 시스템이 서로 대기 시스템과 동작 시스템으로 변경되어 계속 동작하는 제 3 단계를 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1019980051085A 1998-11-26 1998-11-26 고장 감내형 입출력 서버를 구현하는 방법 KR100281418B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980051085A KR100281418B1 (ko) 1998-11-26 1998-11-26 고장 감내형 입출력 서버를 구현하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980051085A KR100281418B1 (ko) 1998-11-26 1998-11-26 고장 감내형 입출력 서버를 구현하는 방법

Publications (2)

Publication Number Publication Date
KR20000033990A KR20000033990A (ko) 2000-06-15
KR100281418B1 true KR100281418B1 (ko) 2001-02-01

Family

ID=19559938

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980051085A KR100281418B1 (ko) 1998-11-26 1998-11-26 고장 감내형 입출력 서버를 구현하는 방법

Country Status (1)

Country Link
KR (1) KR100281418B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100777551B1 (ko) * 2001-06-29 2007-11-16 주식회사 케이티 채널용량에 따른 가변 구성이 가능한 음성인식 시스템 및그 방법
KR100788122B1 (ko) * 2001-06-29 2007-12-21 주식회사 케이티 아이피기반 음성인식 서버의 백업 시스템 및 그 운용방법

Also Published As

Publication number Publication date
KR20000033990A (ko) 2000-06-15

Similar Documents

Publication Publication Date Title
US20190303255A1 (en) Cluster availability management
US7340637B2 (en) Server duplexing method and duplexed server system
US4941087A (en) System for bumpless changeover between active units and backup units by establishing rollback points and logging write and read operations
JP3156083B2 (ja) フォルトトレラント・コンピュータ装置
US8230256B1 (en) Method and apparatus for achieving high availability for an application in a computer cluster
JP4400913B2 (ja) ディスクアレイ装置
US20140244578A1 (en) Highly available main memory database system, operating method and uses thereof
US7493517B2 (en) Fault tolerant computer system and a synchronization method for the same
US7484032B2 (en) Fault tolerant computer system
US5615330A (en) Recovery method for a high availability data processing system
JP2004532442A5 (ko)
JP2008052407A (ja) クラスタシステム
KR100258079B1 (ko) 밀결합 결함 허용 시스템에서 메모리 버스 확장에 의한 동시 쓰기 이중화 장치
WO2020233001A1 (zh) 双控构架分布式存储系统、数据读取方法、装置和存储介质
JP4456121B2 (ja) コンピュータ・クラスタ、コンピュータ・ユニット、および、コンピュータ・ユニット間における記憶アクセス制御方法
KR100281418B1 (ko) 고장 감내형 입출력 서버를 구현하는 방법
JP2001216171A (ja) 仮想計算機システム
US11341073B2 (en) Redundant paths to single port storage devices
KR950035209A (ko) 수평 분산형 네트워크 시스템 및 멀티 프로세서 시스템
KR20000033935A (ko) 이중화된 교환시스템의 이더넷 통신 장애에대한 대처 방법
Barbacci et al. Building fault tolerant distributed applications with Durra
JPWO2004040451A1 (ja) システムコントローラ、コントロールシステムおよびシステムコントロール方法
JP2871372B2 (ja) 二重化プロセッサ装置
CN117827544B (zh) 热备份系统、方法、电子设备及存储介质
KR940017582A (ko) 전전자 교환기의 시스템에서의 제어시스템의 이중화 운용 방법

Legal Events

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

Payment date: 20041101

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee