KR101827052B1 - 함정 전투 체계의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 방법 및 이의 시스템 - Google Patents

함정 전투 체계의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 방법 및 이의 시스템 Download PDF

Info

Publication number
KR101827052B1
KR101827052B1 KR1020150129803A KR20150129803A KR101827052B1 KR 101827052 B1 KR101827052 B1 KR 101827052B1 KR 1020150129803 A KR1020150129803 A KR 1020150129803A KR 20150129803 A KR20150129803 A KR 20150129803A KR 101827052 B1 KR101827052 B1 KR 101827052B1
Authority
KR
South Korea
Prior art keywords
execution control
master
mode
control module
slave
Prior art date
Application number
KR1020150129803A
Other languages
English (en)
Other versions
KR20170032045A (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 KR1020150129803A priority Critical patent/KR101827052B1/ko
Publication of KR20170032045A publication Critical patent/KR20170032045A/ko
Application granted granted Critical
Publication of KR101827052B1 publication Critical patent/KR101827052B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63JAUXILIARIES ON VESSELS
    • B63J99/00Subject matter not provided for in other groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • B63J2099/006

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Ocean & Marine Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Combustion & Propulsion (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)

Abstract

본 발명은 전투관리체계 기술에 관한 것으로서, 더 상세하게는 전투체계 정보 처리부를 구성하는 컴퓨터장치를 전술모드 정보처리부와 훈련모드 정보처리부로 구분하지 않고 하나의 정보처리부로 통합하고 전투체계 장비 전원인가시 전술정보를 처리하기 위한 소프트웨어 유니트들을 우선순위를 고려하여 정보 처리부 내의 컴퓨터장치들에 분산하여 동적으로 할당하고 상태를 감시하며 고장 발생시 장애를 대처하는 분산 체계 관리 방법 및 이의 시스템에 대한 것이다.

Description

함정 전투 체계의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 방법 및 이의 시스템{Distributed system management method for operating information processing function in battle system of naval vessel with multiple modes and system thereof}
본 발명은 전투관리체계 기술에 관한 것으로서, 더 상세하게는 전투체계 정보 처리부를 구성하는 컴퓨터장치를 전술모드 정보처리부와 훈련모드 정보처리부로 구분하지 않고 하나의 정보처리부로 통합하고 전투체계 장비 전원인가시 전술정보를 처리하기 위한 소프트웨어 유니트들을 우선순위를 고려하여 정보 처리부 내의 컴퓨터장치들에 분산하여 동적으로 할당하고 상태를 감시하며 고장 발생시 장애를 대처하는 분산 체계 관리 방법 및 이의 시스템에 대한 것이다.
함정전투체계는 함정에 탑재되는 센서체계, 무장체계, 각종 통신체계 및 전투관리체계로 구성되며 네트워크를 통해 통합되어 운용된다. 센서체계는 레이더, 소나등과 같이 작전 환경에서 발생하는 각종 물표들을 포착 및 추적하여 표적에 대한 기동 정보를 산출하여 전투관리체계로 제공하며, 무장체계는 함포, 미사일 등과 같이 전투관리체계로부터의 교전 명령에 따라 표적에 대한 교전 계획을 수립하고 발사 제원을 산출하여 무장에 대한 운용통제를 수행한다.
전투관리체계는 센서체계로부터 수집되는 표적 데이터를 종합처리하여 전술상황을 분석하고 위협평가, 교전계획 수립, 무장통제, 전술항해, 항공통제 등의 임무를 수행한다. 전투관리체계의 구성요소는 외부체계 연동부, 정보 처리부 및 운용통제부로 분류된다. 외부체계 연동부는 센서체계, 무장체계 및 각종 통신체계를 연동하기 위한 장치로 개별 외부체계 장비별로 구성되어 연동 메시지에 대한 포맷 변환, 외부 장비 상태 관리 등의 단순 업무를 수행한다.
운용통제부는 개별 운용자에게 전술정보처리 결과를 제공하고 운용자로부터 명령을 수신하기 위한 단말장비이다. 정보 처리부는 전투관리체계의 주요 기능으로 표적관리, 표적기동분석, 교전통제, 위협평가, 일반 및/또는 전술항해, 모의 훈련 등과 같은 전투체계 주요 기능을 수행하는 장비로 다수의 내장형 컴퓨터 장치들로 구성되며 여러 전투체계 캐비닛 내에 분산되어 배치된다. 전투관리체계는 전술모드, 훈련모드 및 재생모드로 구분되는 다중의 운용모드가 존재하며 운용 목적에 따라 개별 또는 동시 운용이 가능해야 한다.
기존 함정에서는 정보 처리부를 구성하는 각 컴퓨터 장치들에서 실행될 소프트웨어 유니트를 사전에 정적으로 지정(할당된 컴퓨터 장치에서 사전에 지정된 특성 소프트웨어만을 운용함)하여 장치 구동시 항상 동일한 소프트웨어 유니트가 구동되어, 모든 정보 처리부 구성 소프트웨어 유니트의 실행을 위해 일정한 개수의 컴퓨터 장치가 사용된다. 이 경우, 외부 연동 체계 증가 및 표적 처리 용량 증대 등을 위해서는 컴퓨터 장치를 추가하고 기존에 정적으로 지정되어 실행되던 소프트웨어 유니트를 분리하여 새로 추가한 장치에 수동으로 다시 지정해야 하는 문제가 있다.
특정 컴퓨터 장치의 고장이나 소프트웨어 유니트의 오류에 따른 전투체계 운용 중단을 방지하기 위해 기존 전투체계에서는 중요 소프트웨어 유니트를 포함하는 컴퓨터 장치와 동일한 컴퓨터 장치를 추가적으로 구성한다. 따라서, 컴퓨터 장치 내 소프트웨어 유니트간의 하트비트 정보교환을 통해 상대 컴퓨터 장치의 고장 여부를 판단하고 고장 발생시 자신이 고장난 컴퓨터 장치의 기능을 계속해서 수행하도록 구성할 수 있다.
그러나, 장애 기능을 새로 수행하는 컴퓨터 장치에 연속적으로 다시 장애가 발생하는 경우 기존 체계는 전투체계 기능을 계속 수행할 수 없다는 문제점이 있다. 또한 디버깅 또는 정비 등을 위해 특정 컴퓨터 장치를 종료하는 경우 컴퓨터 장치에서 동작중인 소프트웨어 유니트의 기능을 대체할 수 있도록 다른 컴퓨터 장치에 해당 소프트웨어 유니트를 구동할 수 없기 때문에 전투체계 기능의 중단을 가져오게 된다.
다중의 운용모드를 동시 또는 개별적으로 운용하기 위해 기존 전투체계에서는 컴퓨터 장치들에서 동작하는 정보처리 소프트웨어 유니트들에 대한 동적인 운용 제어 기법을 보유하고 있지 않고 있다. 이 때문에 전술모드 운용을 위한 정보처리부와 훈련모드 운용을 위한 정보 처리부를 별도로 구성해야 한다.
또한, 각 정보 처리부 내에 포함되는 컴퓨터 장치들의 운용 목적이 특정 모드에 고정된다. 이 때문에 장애 발생 또는 비상 상황에서 해당 컴퓨터 장치를 다른 운용 모드로 변경하여 긴급상황에 대처하는 것이 불가능하다.
1. 한국등록특허번호 제10-1094189호(2011.12.08)
1. 민법기, "이기종 분산 환경의 함정전투체계를 위한 정보 모델 기반 통합 관리 및 모니터링 시스템 개발"한국군사과학기술학회지 제15권 제4호 통권 제59호 (2012년 8월) pp.381-389
본 발명은 위 배경기술에 따른 문제점을 해소하기 위해 제안된 것으로서, 전투체계 정보 처리부를 구성하는 컴퓨터장치를 전술모드 정보처리부와 훈련모드 정보처리부로 구분하지 않고 하나의 정보처리부로 통합하고 전투체계 장비 전원인가시 전술정보를 처리하기 위한 소프트웨어 유니트들을 우선순위를 고려하여 정보 처리부 내의 컴퓨터장치들에 분산하여 동적(할당된 컴퓨터 장치에서 자율적으로 모든 소프트웨어를 운용함)으로 할당하고 상태를 감시하며 고장 발생시 장애를 대처하는 분산 체계 관리 방법 및 이의 시스템을 제공하는데 그 목적이 있다.
또한, 본 발명은 전술모드와 훈련모드로 구분되는 전투체계 운용모드를 동시 운용할 수 있도록 다중 운용모드를 고려하여 소프트웨어 유니트의 운용을 통제할 수 있는 분산 체계 관리 방법 및 이의 시스템을 제공하는데 다른 목적이 있다
본 발명은 위에서 제시된 과제를 달성하기 위해, 소프트웨어 유니트들을 우선순위를 고려하여 정보 처리부 내의 컴퓨터장치들에 분산하여 동적(할당된 컴퓨터 장치에서 자율적으로 모든 소프트웨어를 운용함)으로 할당하고 상태를 감시하며 고장 발생시 장애를 대처하는 분산 체계 관리 방법을 제공한다.
상기 분산 체계 관리 방법은,
(a) 다수의 실행 통제 모듈이 서로 자신의 상태 정보들을 교환하는 단계;
(b) 상기 상태 정보를 이용하여 상기 다수의 실행 통제 모듈 중 마스터인 실행 통제 모듈이 존재하는 지를 확인하는 단계;
(c) 확인결과에 따라, 상기 마스터인 실행 통제 모듈이 존재하면 해당 실행 통제 모듈이 자신의 상태 정보를 마스터로 결정하고, 다른 실행 통제 모듈들은 자신의 상태 정보를 슬래이브로 결정하는 단계; 및
(d) 상기 마스터 또는 슬래이브로 결정되면, 상기 다수의 실행 통제 모듈은 각각 특정 단위 컴퓨터 보드에서 실행할 운용모드 및 동작모드를 실시간으로 결정하여 실행을 통제하는 단계;를 포함하는 것을 특징으로 할 수 있다.
이때, 상기 (c) 단계는, 확인결과, 상기 마스터인 실행통제 모듈이 존재하지 않으면, 잠재적 마스터가 존재하는 실행통제 모듈이 있는 지를 확인하는 단계; 확인결과, 상기 잠재적 마스터가 있으면 다른 실행 통제 모듈들의 상태 정보가 잠재적 슬래이브 또는 미결정인 지의 여부에 따라 잠재적 마스터에 해당하는 실행 통제 모듈의 상태 정보를 상기 마스터로 결정하는 단계; 및 확인결과, 상기 잠재적 마스터가 없으면 다른 모든 실행 통제 모듈들간 우선순위를 비교하여 잠재적 마스터를 결정하는 단계;를 포함하는 것을 특징으로 할 수 있다.
또한, 상기 우선순위의 비교를 통해 다른 실행 통제 모듈들 보다 제일 높은 우선순위를 갖는 실행 통제 모듈을 상기 잠재적 마스터로 결정하는 것을 특징으로 할 수 있다.
또한, 상기 마스터인 실행 통제 모듈은 마스터 ID(IDentification)를 이용하여 자신의 상태 정보를 마스터로 결정하는 것을 특징으로 할 수 있다.
또한, 상기 운용 모드는, 전술 모드, 훈련 모드, 재생 모드 및 실행대기상태 중 어느 하나인 것을 특징으로 할 수 있다.
또한, 상기 동작 모드는 마스터, 슬래이브, 및 단독 중 어느 하나인 것을 특징으로 할 수 있다.
또한, 상기 분산 체계 관리 방법은, 상기 전술 모드로 실행할 실행 통제 모듈이 있는 지를 확인하는 단계; 확인 결과, 상기 전술 모드로 실행할 실행 통제 모듈이 있으면, 실행대기상태 상태의 실행 통제 모듈이 있는 지에 따라 실행대기상태를 실행하거나 전술모드 및 슬래이브로 실행되는 실행 통제 모듈이 있는 지를 확인하는 단계; 확인 결과, 상기 전술모드 및 슬래이브로 실행되는 실행 통제 모듈이 없으면 훈련 모드 및 재생 모드로 실행할 실행 통제 모듈이 있는 지에 따라 해당 실행 통제 모듈이 없으면 경고 메시지를 전송하는 단계;를 포함하는 것을 특징으로 할 수 있다.
또한, 상기 슬래이브로 자신의 상태 정보가 결정되는 실행 통제 모듈들은 서로 자신의 상태 정보를 전송하고, 상기 마스터인 실행 통제 모듈로부터 명령을 수신하여 상기 운용모드를 실행 또는 종료하는 것을 특징으로 할 수 있다.
또한, 상기 운용모드는 운용 모드 별로 특정 정보처리 단위 컴퓨터 보드를 사전에 고정하지 않고, 운용모드와 상관없이 정보처리 단위 컴퓨터 보드를 공유하는 것을 특징으로 할 수 있다.
또한, 상기 실행 통제부는 전술모드에서 고장으로 인해 마스터로 실행해야 될 응용 소프트웨어가 있으면, 슬래이브로 동작중인 소프트웨어를 종료하고 마스터로 실행해야 될 응용 소프트웨어를 실행하며, 상기 마스터인 실행 통제부는 슬래이브인 실행 통제부들에게 소프트웨어 통제 명령 메시지 토픽을 제공하며, 상기 소프트웨어 통제 명령 메시지 토픽은 응용 소프트웨어 통제를 위한 명령 정보를 갖는 명령 필드, 실행할 응용 소프트웨어 그룹의 ID를 갖는 응용 ID 필드, 전투관리체계의 운용모드 정보를 갖는 운용 모드 필드, 및 응용 소프트웨어의 이중화 지원 정보를 갖는 이중화 여부 필드를 포함하는 것을 특징으로 할 수 있다.
또한, 상기 분산 체계 관리 방법은, 상기 응용 소프트웨어 모듈이 자체 고장 또는 장비 고장으로 통신이 불가하면, 상기 마스터인 실행 통제부가 고장상태의 장비 또는 프로세스를 파악하는 단계; 및 고장상태의 장비 또는 프로세스에 대해 종료 또는 재부팅 명령을 전송하는 단계;를 더 포함할 수 있다.
또한, 상기 장비가 고장나고 가용되는 정보처리장치의 개수보다 실행해야 할 응용 소프트웨어 모듈의 그룹 개수가 많으면, 우선순위에 따라 상기 응용 소프트웨어 모듈의 그룹을 실행 또는 종료하는 것을 특징으로 할 수 있다.
한편으로, 본 발명의 다른 일실시예는, 다수의 실행 통제 모듈로 이루어지는 함정 전투 체계의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 시스템에 있어서, 다수의 실행 통제 모듈이 서로 자신의 상태 정보들을 교환하고, 상기 상태 정보를 이용하여 상기 다수의 실행 통제 모듈 중 마스터인 실행 통제 모듈이 존재하는 지를 확인하며, 확인결과에 따라, 상기 마스터인 실행 통제 모듈이 존재하면 해당 실행 통제 모듈이 자신의 상태 정보를 마스터로 결정하고, 다른 실행 통제 모듈들은 자신의 상태 정보를 슬래이브로 결정하고, 상기 마스터 또는 슬래이브로 결정되면, 상기 다수의 실행 통제 모듈은 각각 특정 단위 컴퓨터 보드에서 실행할 운용모드를 실시간으로 결정하여 실행을 통제하는 것을 특징으로 하는 함정 전투 체계의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 시스템을 제공한다.
본 발명에 따르면, 전투체계 소프트웨어 유니트가 고장난 경우 중요도가 다소 낮은 다른 컴퓨터 장치의 소프트웨어 유니트를 종료하고 중요도가 높은 소프트웨어 유니트를 동적으로 할당 후 실행하여 긴급상황에서 전투체계의 중요기능을 수행할 수 있다.
또한, 본 발명의 다른 효과로서는 작전 임무에 따라 전투체계 정보처리의 전체 기능이 필요하지 않은 경우 정보 처리부 모든 컴퓨터 장치에 전원을 인가할 필요 없이 특정 기능 수행을 위해 필요한 내 일부 컴퓨터 장치만 구동하면 우선순위와 해당 임무를 위한 정보처리 소프트웨어 유니트가 동적으로 할당되어 운용되는 장비의 수를 감소시킬 수 있다는 점을 들 수 있다.
또한, 본 발명의 또 다른 효과로서는 잠수함 등과 같이 전원 절감이 요구되는 환경에서 상당한 효과를 얻을 수 있다는 점을 들 수 있다.
도 1은 본 발명의 일실시예에 따른 함정 전투 시스템의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 시스템의 구성 블록도이다.
도 2는 도 1에 도시된 정보 처리부(120)의 동작 구성도이다.
도 3은 도 2에 도시된 다수의 단위 정보처리 컴퓨터에 존재하는 실행 통제모듈들(222)의 마스터 슬래이브 상태를 결정하는 과정을 보여주는 흐름도이다.
도 4는 도 2에 도시된 실행 통제 모듈의 소프트웨어(SW)를 실행하는 과정을 보여주는 흐름도이다.
도 5는 본 발명의 일실시예에 따른 소프트웨어 통제 명령 메시지 토픽의 일예이다.
도 6은 본 발명의 일실시예에 따른 고장 발생시 고장 복구 과정을 보여주는 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다.
제 1, 제 2등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. "및/또는" 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않아야 한다.
이하 첨부된 도면을 참조하여 본 발명의 일실시예에 따른 함정 전투 체계의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 방법 및 이의 시스템을 상세하게 설명하기로 한다.
도 1은 본 발명의 일실시예에 따른 함정 전투 시스템의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 시스템(100)의 구성 블록도이다. 도 1을 참조하면, 분산 체계 관리 시스템(100)은 운용 통제부(110), 정보 처리부(120), 외부 처리 장치 연동부(130), 데이터 스토리지(140), 전원 통제부(150)로 구성되며, 각 장비들은 근거리통신망(LAN:Local Area Network)(160)으로 연결된다.
운용 통제부(110)는 운용자에게 전술정보처리 결과를 제공하고 운용자로부터 명령을 수신하는 단말장치로 전투 관리 체계 운용을 통제하는 기능을 수행한다. 운용 통제부(110) 내 체계 관리 모듈(111)은 전투 관리 체계의 체계 모드를 단일운용 또는 다중운용으로 선택할 수 있는 기능을 제공한다.
정보 처리부(120)는 단위 컴퓨터 보드이며, 전투 체계 운용에 필요한 다양한 소프트웨어를 구동하기 위해 다수의 정보 처리 장치(122)로 구성된다. 정보 처리부(120)내 구성되는 정보 처리 장치(122)는 다중센서에서 제공되는 표적정보를 수신하여 처리 및 관리하고 전술정보, 훈련정보 및 지원정보를 처리하는 기능을 제공한다. 외부 처리 장비 연동부(130)는 다양한 센서 체계, 무장 체계 및 각종 통신 체계를 전투 관리 체계와 연동을 위해 연동 메시지에 대한 포맷 변환, 외부 장비 상태관리 기능을 제공한다.
데이터 스토리지(140)는 정보 처리 장치(122)에서 운용되는 소프트웨어 및/또는 전투 관리 체계에 필요한 각종 데이터 정보를 저장하는 기능을 제공한다. 전원 통제부(150)는 정보 처리 장치(122)의 전원을 인가하는 기능을 제공한다.
도 2는 도 1에 도시된 정보 처리부(120)의 동작 구성도이다. 전투관리체계는 다양한 운용모드(전술모드, 훈련모드, 재생모드)와 각각의 운용모드에 따른 소프트웨어를 동작시키기 위해 다수의 정보처리 장치로 구성된다. 도 2를 참조하면, 제 1 내지 제 3 정보 처리 장치(122-1,122-2,122-3)로 각각 구성되는 제 1 내지 제 n 정보 처리 장치 그룹(210-1 내지 210-n)이 구성된다. 제 1 내지 제 n 정보 처리 장치 그룹(210-1 내지 210-n)은 정보 처리 장치의 단위 컴퓨터 보드(일반적으로 하나의 컴퓨터를 일컬음)의 그룹이다.
특히, 이러한 제 1 내지 제 3 정보 처리 장치(122-1,122-2,122-3)는 각각 응용 소프트웨어 모듈(221) 및 실행 통제 모듈(222)로 구성된다.
응용 소프트웨어 모듈(221)은 정보 처리 장치의 단위 컴퓨터 보드에서 실행되어야 하는 응용 소프트웨어이다.
ⅰ) 참고번호 21
응용 소프트웨어 모듈(221)이 정보 처리 장치의 단위 컴퓨터 보드에서, 운용 모드=전술 모드, 동작 모드=마스터로 실행된다.
여기서, 운용 모드 = 전술 모드의 경우, 응용 소프트웨어 모듈(221)은 실제 환경으로부터 센싱되는 데이터를 이용하여 정보를 처리하는 운용 모드로 동작하며, 다른 운용 모드의 소프트웨어 모듈과는 논리적 통신채널 분리로 통신이 이루어지지 않는다.
동작 모드 = 마스터의 경우, 응용 소프트웨어 모듈(221)은 동일한 기능을 수행하는 응용 소프트웨어가 2개 이상 존재하는 경우, 실제 기능을 처리한다.
ⅱ) 참고번호 22
실행 통제 모듈(222)은 정보 처리 장치의 단위 컴퓨터 보드에서 실행되어야 하는 실행통제 응용 소프트웨어 모듈로서, 운용모드와 동작모드를 결정하여 응용 소프트웨어의 실행을 통제하고 상태를 감시한다. 이때, 응용 소프트웨어에 대한 추가 실행, 고장 발생한 응용 소프트웨어에 대한 대체 소프트웨어 실행 등을 통제하는 모듈이다.
ⅲ) 참고번호 23
응용 소프트웨어 모듈(221)이 정보 처리 장치의 단위 컴퓨터 보드에서, 운용 모드 = 전술 모드, 동작 모드 = 슬래이브로 실행된다.
여기서, 동작 모드 = 슬래이브의 경우, 응용 소프트웨어 모듈(221)은 동일한 기능을 수행하는 응용소프트웨어가 기 실행되어 실제 기능을 수행하고 있으며, 해당 소프트웨어의 고장이 발생시 마스터로 전환되어 실제 기능을 수행한다.
ⅳ) 참고번호 24
응용 소프트웨어 모듈(221)이 정보 처리 장치의 단위 컴퓨터 보드에서, 운용 모드 = 전술 모드, 동작 모드 = 단독으로 실행된다.
여기서, 동작 모드 = 단독의 경우, 응용 소프트웨어 모듈(221)은 동일한 기능을 수행하는 응용 프트웨어가 2개 이상 존재할 필요가 없는 경우의 실제 기능을 수행한다.
ⅴ) 참고번호 25
응용 소프트웨어 모듈(221)이 정보 처리 장치의 단위 컴퓨터 보드에서, 운용 모드 = 훈련 모드, 동작 모드 = 단독으로 실행된다.
여기서, 운용 모드 = 훈련 모드의 경우, 운용 모드는 시뮬레이터 등의 가상의 환경에서 생성되는 데이터를 이용하여 정보를 처리하는 모드가 된다.
ⅵ) 참고번호 26
응용 소프트웨어 모듈(221)이 정보 처리 장치의 단위 컴퓨터 보드에서, 운용 모드 = 재생 모드. 동작 모드 = 단독으로 실행된다.
여기서, 운용 모드 = 재생 모드의 경우, 운용모드는, 전술모드와 훈련모드 운용시 기록 기능을 이용하여 발생한 정보를 저장하면, 저장된 데이터를 재생하여 정보를 처리하는 모드이다.
ⅶ) 참고번호 27
응용 소프트웨어 모듈(221)이 정보처리 장치의 단위 컴퓨터 보드에서 실행되어야하는 응용 소프트웨어가 더 이상 존재하지 않는 경우의 실행대기 상태가 된다. 즉, 새로운 기능의 실행 또는 다른 소프트웨어의 고장 발생에 의해 새로 실행할 응용 소프트웨어가 존재하는 경우에 응용 소프트웨어가 할당되어 실행된다.
도 3은 도 2에 도시된 다수의 단위 정보처리 컴퓨터에 존재하는 실행 통제모듈들(222)의 마스터 슬래이브 상태를 결정하는 과정을 보여주는 흐름도이다. 도 3을 참조하면, 실행 통제 모듈(222)은 정보 처리 장치(122-1 내지 122-3)마다 실행되며, 실행할 응용 소프트웨어의 종류, 운용모드 및 동작모드를 실시간으로 결정한다.
실행 통제 모듈(222)은 마스터 또는 슬래이브가 있으며, 마스터는 모든 단위 정보 처리 컴퓨터 노드에서 각자 실행할 응용 소프트웨어를 실시간으로 할당하고 실행 상태를 종합하며, 슬래이브는 마스터로 실행되는 실행 통제 모듈(222)로부터 수신된 명령에 따라 응용 소프트웨어를 실행하고, 실행 상태를 마스터로 보고한다(단계 S310,S311,S313,S315,S317,S319).
단계 S313에서 마스터 상태인 실행 통제 모듈이 존재하지 않으면, 즉 마스터가 고장인 경우는 다른 실행 통제 모듈의 상태를 통해 마스터를 선출하게 된다. 마스터 선출을 위해서는 실행 통제 모듈 상태를 잠재적 마스터와 잠재적 슬래이브 상태로 정의 후 마스터 선출과정을 거친 후에 최종 마스터를 선출하게 된다(단계 S320,S321,S323,S325). 잠재적 마스터는 마스터가 없거나(초기 부팅시) 고장인 경우 마스터를 선출하기 위해 실행 통제 모듈의 우선순위가 가장 높은 실행 통제 모듈를 잠재적 마스터로 결정하며, 시스템의 안정성을 위해 다른 실행 통제 모듈들의 상태를 다시 한 번 확인하는 과정을 거친 후 잠재적 마스터를 마스터로 상태 변경한다(단계 S330,S331). 슬래이브 마스터는 실행 통제 모듈에서 잠재적 마스터보다 우선순위가 낮은 실행 통제 모듈들에게 할당되는 상태이다(단계 S333). 잠재적 마스터와 슬래이브 마스터는 마스터가 없을 경우 마스터를 선출하기 위해 실행 통제 모듈들의 상태를 정의한 것으로 도 3의 알고리즘에 의해 잠재적 마스터가 마스터로 최종 선출되면 나머진 잠재적 슬래이브들은 자신의 상태가 슬래이브로 결정된다. 잠재적 마스터와 슬래이브 마스터를 결정하는 실행 통제 모듈들간의 우선순위는 실행 통제 모듈들의 자신의 ID(IDentification)를 통해 결정된다.
도 4는 도 2에 도시된 실행 통제 모듈의 소프트웨어(SW)를 실행하는 과정을 보여주는 흐름도이다. 도 4를 참조하면, 실행 통제부(222)의 상태(마스터 또는 슬래이브)에 따라 기능그룹단위(Function Group)의 응용 소프트웨어를 실행하고 상태들을 감시한다(단계 S401,S402). 실행 통제부(222)는 자신의 상태를 항상 알고 있으며, 다른 실행 통제부들에게 마스터/슬래이브와 실행중/실행대기의 상태정보를 제공한다(단계 S411).
실행 통제부(222)의 마스터는 자신의 상태와 다른 실행 통제부들의 상태를 파악하여 운용모드에 따른 실행할 소프트웨어가 있을 경우 실행시키고, 실행할 소프트웨어가 있지만 운용 가능한 실행 통제부가 없을 경우 시스템 자원 부족이라는 경고 메시지를 전송하게 된다(단계 S413,S415,S417,S419,S420,S421,S423,S425).
마스터에 해당하는 실행 통제부(222)는 상태정보를 다른 실행 통제부들에게 마스터 ID 정보를 제공하여 실행 통제부 마스터가 있다는 사실을 제공하게 된다. 또한 슬래이브들에 해당하는 실행 통제부들로부터 상태정보를 수신하여 현재 운용 가능한 정보처리장치(122-1 내지 122-3)를 파악한다(단계 S430,S431,S433). 마스터에 해당하는 실행 통제부는 운용모드관리 소프트웨어인 응용 소프트웨어 모듈(221)로부터 운용모드 정보(전술모드, 훈련모드, 재생모드, 실행대기상태, 이중화 상태)를 제공받는다. 운용모드 정보를 받은 마스터에 해당하는 실행 통제부(222)는 운용모드에 따라 할당된 소프트웨어를 실행하며, 이중화 정보를 확인 후 실행대기 상태의 실행 통제부를 파악하여 소프트웨어를 실행한다. 만약 실행대기 상태의 실행 통제부가 존재하지 않을 경우 운용모드관리 소프트웨어인 응용 소프트웨어 모듈(221)로 시스템 자원부족이라는 경고 메시지를 전송한다(단계 S415, S417,S419,S450).
전투체계에서는 운용을 위한 3가지 모드가 존재한다. 전술모드, 훈련모드와 재생모드이다.
전술모드는 전투체계를 구성하는 모든 장치의 운용상태가 전술상태로 실제장비들을 운용하는 모드이며, 훈련모드는 전투체계를 구성하는 일부 또는 모든 장치의 운용상태가 훈련상태로 실제 장비에서 들어오는 데이터를 사용하지 않고, 시뮬레이터에서 생성되는 정보를 기반으로 장비를 운용하는 모드이다. 재생모드는 전투체계의 전시 및/또는 운용정보들을 저장하여 다시 재생시켜 확인하는 모드이다.
실행대기상태와 이중화 상태는 전투체계의 응용 소프트웨어를 실행하기 위한 정보이다.
실행대기상태는 정보처리 장치에서 응용 소프트웨어가 실행을 하지 않고 실행통제 모듈에서 상태정보만을 제공하는 것으로 응용 소프트웨어를 실행시키기 위한 정보이다. 이중화 정보도 응용 소프트웨어를 실행하기위해 필요한 정보이다.
실행 통제부는 전술모드에서 고장으로 인해 마스터로 실행해야 될 응용소프트웨어가 있을 경우 슬래이브로 동작중인 소프트웨어를 종료하고 마스터로 실행해야 될 응용 소프트웨어를 실행하여 시스템의 연속성을 보장한다.
마스터 상태의 실행통제부는 슬래이브 상태의 실행 통제부들에게 소프트웨어 통제 명령 메시지 토픽을 제공한다. 소프트웨어 통제 명령 메시지 토픽은 도 5에 도시된다. 도 5는 본 발명의 일실시예에 따른 소프트웨어 통제 명령 메시지 토픽의 일예이다. 도 5를 참조하면, 명령필드는 소프트웨어를 실행 또는 종료하기 위한 정보이며, 응용 ID 필드는 실행할 소프트웨어 그룹의 ID이다. 소프트웨어 그룹의 ID는 실행되어야할 소프트웨어의 항목들을 그룹별로 구분한 ID이다. 운용모드 필드는 전투관리체계에서 운용되는 체계모드이며, 이중화 여부 필드는 응용 소프트웨어에 대한 이중화 지원정보로 마스터, 슬래이브, 단독으로 구분된다.
도 6은 본 발명의 일실시예에 따른 고장 발생시 고장 복구 과정을 보여주는 흐름도이다. 도 6을 참조하면, 정보 처리 장치(122-1 내지 122-3)의 응용 소프트웨어가 자체 고장 또는 장비 고장으로 통신이 불가할 경우 실행 통제부 마스터가 고장상태의 장비 및 프로세스(장비는 정보처리장치 하드웨어를 의미하며, 프로세스는 정보처리장치에서 실행되는 소프트웨어를 의미한다)를 파악한 후 고장 난 장비에 대해 종료 또는 재부팅 명령을 전송한다(단계 S601,S611,S613,S602-1,S630,S631,S633,S602-2,S640,S631,S643).
한편, 해당 장비 고장의 배제이후, 전술모드, 이중화 상태로 실행중이 장비였는가를 확인하고, 마스터 또는 슬래이브 상태를 확인하여 슬래이브 상태 또는 마스터 상태의 실행 통제부로 전환 명령을 송신한다(단계 S615,S617,S619,S620)여 장비가 고장이 난 경우 가용되는 정보처리장치의 개수보다 실행해야 할 기능그룹(FG: Feasible Group), 즉 응용 소프트웨어 모듈의 그룹 개수가 많을 경우 우아한 성능 저하(Graceful Degradation) 절차를 수행한다. 기능그룹은 실행되어야 할 응용소프트웨어 항목과 기능그룹단위의 우선순위 정보를 가지고 있어서 Graceful Degradation 절차가 수행되면 우선순위가 낮은 상태의 실행중인 기능그룹(즉 응용 소프트웨어 모듈)을 종료시키고, 우선순위가 높은 상태의 기능그룹(즉 응용 소프트웨어 모듈)을 실행한다.
100: 분산 체계 관리 시스템
110: 운용 통제부 111: 체계관리모듈
120: 정보 처리부 122: 정보처리장치
130: 외부처리장치 연동부
140: 데이터 스토리지
150: 전원 통제부

Claims (11)

  1. (a) 다수의 실행 통제 모듈이 서로 자신의 상태 정보들을 교환하는 단계;
    (b) 상기 상태 정보를 이용하여 상기 다수의 실행 통제 모듈 중 마스터인 실행 통제 모듈이 존재하는 지를 확인하는 단계;
    (c) 확인결과에 따라, 상기 마스터인 실행 통제 모듈이 존재하면 해당 실행 통제 모듈이 자신의 상태 정보를 마스터로 결정하고, 다른 실행 통제 모듈들은 자신의 상태 정보를 슬래이브로 결정하는 단계; 및
    (d) 상기 마스터 또는 슬래이브로 결정되면, 상기 다수의 실행 통제 모듈은 각각 특정 단위 컴퓨터 보드에서 실행할 운용모드 및 동작모드를 실시간으로 결정하여 실행을 통제하는 단계;를 포함하며,
    상기 운용 모드는, 전술 모드, 훈련 모드, 재생 모드 및 실행대기상태 중 어느 하나이고, 상기 동작 모드는 마스터, 슬래이브, 및 단독 중 어느 하나인 것을 특징으로 하는 함정 전투 체계의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 방법.
  2. 제 1 항에 있어서,
    상기 (c) 단계는, 확인결과, 상기 마스터인 실행통제 모듈이 존재하지 않으면, 잠재적 마스터가 존재하는 실행통제 모듈이 있는 지를 확인하는 단계;
    확인결과, 상기 잠재적 마스터가 있으면 다른 실행 통제 모듈들의 상태 정보가 잠재적 슬래이브 또는 미결정인 지의 여부에 따라 잠재적 마스터에 해당하는 실행 통제 모듈의 상태 정보를 상기 마스터로 결정하는 단계; 및
    확인결과, 상기 잠재적 마스터가 없으면 다른 모든 실행 통제 모듈들간 우선순위를 비교하여 잠재적 마스터를 결정하는 단계;를 포함하는 것을 특징으로 하는 함정 전투 체계의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 방법.
  3. 제 2 항에 있어서,
    상기 우선순위의 비교를 통해 다른 실행 통제 모듈들 보다 제일 높은 우선순위를 갖는 실행 통제 모듈을 상기 잠재적 마스터로 결정하는 것을 특징으로 하는 함정 전투 체계의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 방법.
  4. 제 1 항에 있어서,
    상기 마스터인 실행 통제 모듈은 마스터 ID(IDentification)를 이용하여 자신의 상태 정보를 마스터로 결정하는 것을 특징으로 하는 함정 전투 체계의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 방법.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 전술 모드로 실행할 실행 통제 모듈이 있는 지를 확인하는 단계;
    확인 결과, 상기 전술 모드로 실행할 실행 통제 모듈이 있으면, 실행대기상태 상태의 실행 통제 모듈이 있는 지에 따라 실행대기상태를 실행하거나 전술모드 및 슬래이브로 실행되는 실행 통제 모듈이 있는 지를 확인하는 단계;
    확인 결과, 상기 전술모드 및 슬래이브로 실행되는 실행 통제 모듈이 없으면 훈련 모드 및 재생 모드로 실행할 실행 통제 모듈이 있는 지에 따라 해당 실행 통제 모듈이 없으면 경고 메시지를 전송하는 단계;를 포함하는 것을 특징으로 하는 함정 전투 체계의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 방법.
  7. 제 1 항에 있어서,
    상기 슬래이브로 자신의 상태 정보가 결정되는 실행 통제 모듈들은 서로 자신의 상태 정보를 전송하고, 상기 마스터인 실행 통제 모듈로부터 명령을 수신하여 상기 운용모드를 실행 또는 종료하는 것을 특징으로 하는 함정 전투 체계의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 방법.
  8. 제 1 항에 있어서,
    상기 운용모드는 운용 모드 별로 특정 정보처리 단위 컴퓨터 보드를 사전에 고정하지 않고, 운용모드와 상관없이 정보처리 단위 컴퓨터 보드를 공유하는 것을 특징으로 하는 함정 전투 체계의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 방법.
  9. 제 1 항에 있어서,
    상기 실행 통제 모듈은 전술모드에서 고장으로 인해 마스터로 실행해야 될 응용 소프트웨어가 있으면, 슬래이브로 동작중인 소프트웨어를 종료하고 마스터로 실행해야 될 응용 소프트웨어를 실행하며,
    상기 마스터인 실행 통제 모듈은 슬래이브인 실행 통제 모듈들에게 소프트웨어 통제 명령 메시지 토픽을 제공하며, 상기 소프트웨어 통제 명령 메시지 토픽은 응용 소프트웨어 통제를 위한 명령 정보를 갖는 명령 필드, 실행할 응용 소프트웨어 그룹의 ID를 갖는 응용 ID 필드, 전투관리체계의 운용모드 정보를 갖는 운용 모드 필드, 및 응용 소프트웨어의 이중화 지원 정보를 갖는 이중화 여부 필드를 포함하는 것을 특징으로 하는 함정 전투 체계의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 방법.
  10. 제 1 항에 있어서,
    응용 소프트웨어 모듈이 자체 고장 또는 장비 고장으로 통신이 불가하면, 상기 마스터인 실행 통제 모듈이 고장상태의 장비 또는 프로세스를 파악하는 단계; 및
    고장상태의 장비 또는 프로세스에 대해 종료 또는 재부팅 명령을 전송하는 단계;를 더 포함하며,
    상기 장비가 고장나고 가용되는 정보처리장치의 개수보다 실행해야 할 응용 소프트웨어 모듈의 그룹 개수가 많으면, 우선순위에 따라 상기 응용 소프트웨어 모듈의 그룹을 실행 또는 종료하는 것을 특징으로 하는 함정 전투 체계의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 방법.
  11. 다수의 실행 통제 모듈로 이루어지는 함정 전투 체계의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 시스템에 있어서,
    다수의 실행 통제 모듈이 서로 자신의 상태 정보들을 교환하고, 상기 상태 정보를 이용하여 상기 다수의 실행 통제 모듈 중 마스터인 실행 통제 모듈이 존재하는 지를 확인하며, 확인결과에 따라, 상기 마스터인 실행 통제 모듈이 존재하면 해당 실행 통제 모듈이 자신의 상태 정보를 마스터로 결정하고, 다른 실행 통제 모듈들은 자신의 상태 정보를 슬래이브로 결정하고, 상기 마스터 또는 슬래이브로 결정되면, 상기 다수의 실행 통제 모듈은 각각 특정 단위 컴퓨터 보드에서 실행할 운용모드 및 동작 모드를 실시간으로 결정하여 실행을 통제하며,
    상기 운용 모드는, 전술 모드, 훈련 모드, 재생 모드 및 실행대기상태 중 어느 하나이고, 상기 동작 모드는 마스터, 슬래이브, 및 단독 중 어느 하나인 것을 특징으로 하는 함정 전투 체계의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 시스템.
KR1020150129803A 2015-09-14 2015-09-14 함정 전투 체계의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 방법 및 이의 시스템 KR101827052B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150129803A KR101827052B1 (ko) 2015-09-14 2015-09-14 함정 전투 체계의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 방법 및 이의 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150129803A KR101827052B1 (ko) 2015-09-14 2015-09-14 함정 전투 체계의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 방법 및 이의 시스템

Publications (2)

Publication Number Publication Date
KR20170032045A KR20170032045A (ko) 2017-03-22
KR101827052B1 true KR101827052B1 (ko) 2018-02-08

Family

ID=58497508

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150129803A KR101827052B1 (ko) 2015-09-14 2015-09-14 함정 전투 체계의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 방법 및 이의 시스템

Country Status (1)

Country Link
KR (1) KR101827052B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102056223B1 (ko) 2019-05-29 2020-01-22 한화시스템(주) 전체 전투체계 모델을 구성하기 위한 방법
KR102420979B1 (ko) 2021-12-21 2022-07-14 한화시스템 주식회사 전투 체계 정비 설비 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101094189B1 (ko) * 2009-09-07 2011-12-14 국방과학연구소 다중 운용 모드를 동시 운용할 수 있는 함정 전투 시스템 및 그 방법, 그리고 이를 행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101094189B1 (ko) * 2009-09-07 2011-12-14 국방과학연구소 다중 운용 모드를 동시 운용할 수 있는 함정 전투 시스템 및 그 방법, 그리고 이를 행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102056223B1 (ko) 2019-05-29 2020-01-22 한화시스템(주) 전체 전투체계 모델을 구성하기 위한 방법
KR102420979B1 (ko) 2021-12-21 2022-07-14 한화시스템 주식회사 전투 체계 정비 설비 및 방법

Also Published As

Publication number Publication date
KR20170032045A (ko) 2017-03-22

Similar Documents

Publication Publication Date Title
CN202798798U (zh) 基于云计算技术的高可用系统
JP4448878B2 (ja) 障害回復環境の設定方法
US9298566B2 (en) Automatic cluster-based failover handling
CN103458086B (zh) 一种智能手机及其故障检测方法
CN104133734A (zh) 分布式综合模块化航空电子系统混合式动态重构系统与方法
CN102939588A (zh) 不依赖于管理程序平台的数据中心管理的方法和装置
CN110874261A (zh) 可用性系统、方法和存储有程序的存储介质
KR20180067402A (ko) 비행기 고장 처리를 위한 시스템과 방법 및 이를 달성하기 위한 컴퓨터 설비
KR101827052B1 (ko) 함정 전투 체계의 정보처리 기능을 다중모드로 운용할 수 있는 분산 체계 관리 방법 및 이의 시스템
CN109188895A (zh) 一种基于冗余设计的伺服控制系统
JP5022062B2 (ja) プールi/oデバイス動作確認方法、及び計算機システム
US4815076A (en) Reconfiguration advisor
US9280403B2 (en) Node including a CPU which is connected to other nodes constituting a computer system
US20160090808A1 (en) Controlling distributed subsea units
CN104133744A (zh) 一种面向关键应用的仲裁系统及方法
CN101770211B (zh) 可实现实时故障切换的车辆综合数据处理方法
EP3713180B1 (en) Rssp-i security protocol separate deployment method
JP4495248B2 (ja) 情報処理装置、障害処理方法
CN115454333A (zh) 云计算平台与存储系统的对接方法及装置
JP2014215622A (ja) プラント監視システム及びプラント監視方法
US9430440B2 (en) Environment construction apparatus and method, environment registration apparatus and method, environment switching apparatus and method
US10991235B2 (en) Fire-prevention control unit
CN101158920A (zh) 一种检测操作系统故障的方法和装置
CN105162633B (zh) 一种在基于容器的多操作系统中管理网络的方法和装置
KR102372317B1 (ko) 함정 전투체계에서의 멀티유저 모의함정훈련 시스템 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant