KR20020070071A - 정보처리장치 및 실시간 분산처리시스템 - Google Patents

정보처리장치 및 실시간 분산처리시스템 Download PDF

Info

Publication number
KR20020070071A
KR20020070071A KR1020010056548A KR20010056548A KR20020070071A KR 20020070071 A KR20020070071 A KR 20020070071A KR 1020010056548 A KR1020010056548 A KR 1020010056548A KR 20010056548 A KR20010056548 A KR 20010056548A KR 20020070071 A KR20020070071 A KR 20020070071A
Authority
KR
South Korea
Prior art keywords
task
tasks
execution
operator
calculator
Prior art date
Application number
KR1020010056548A
Other languages
English (en)
Other versions
KR100416201B1 (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 가부시끼가이샤 히다치 세이사꾸쇼
Publication of KR20020070071A publication Critical patent/KR20020070071A/ko
Application granted granted Critical
Publication of KR100416201B1 publication Critical patent/KR100416201B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • 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
    • G06F15/163Interprocessor communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)
  • Remote Monitoring And Control Of Power-Distribution Networks (AREA)
  • Multi Processors (AREA)

Abstract

보호릴레이 기능을 정지시키는 가능성을 억제하여, 보호릴레이 기능을 실현하는 복수의 태스크를 연산기에 할당하기 위하여, 본 발명은 네트워크에 의해 접속된 복수의 연산기로 보호릴레이 기능을 실현하는 복수의 태스크를 처리하는 정보처리장치로서, 복수의 태스크 중에서 특정한 연산기에 의해 처리될 태스크의 조합을 저장하는 수단과, 상기 특정한 연산기에 의해 처리될 태스크의 조합 중 어느 하나를 선택하여, 상기 선택된 조합의 태스크를 상기 특정한 연산기로 실행하는 수단을 구비한다.

Description

정보처리장치 및 실시간 분산처리시스템{INFORMATION PROCESSOR AND REAL-TIME DISTRIBUTED PROCESSING SYSTEM}
본 발명은 복수의 프로그램을 실행하는 네트워크에 접속된 복수의 연산기를 구비한 분산처리시스템의 구성에 관한 것으로서, 특히 전력설비의 보호제어장치로대표되는 실시간 제어를 요구하는 처리시스템에 관한 것이다.
종래의 일반적인 분산처리시스템에 있어서는, 처리능력 및 신뢰성을 향상시키기 위하여 여러 가지의 태스크 할당방법이 고안되어 실제 사용되고 있다. 예를 들면, 일본국 특개평 05-257908호나 일본국 특개평 07-282013호에는, 각 연산기의 특성 및 상태에 따라 태스크를 할당하는 방법이 제안되어 있다. 연산기 각각의 처리 능력 및 신뢰도 등의 성능 또는 계산 부하 등의 상태를 참조하여, 태스크 할당과 우선순위가 결정된다. 중요성 및 긴급성이 다른 태스크는 적당한 신뢰도를 갖는 연산기에 의해 처리됨으로써, 전체적으로 신뢰성이 높은 분산처리가 수행된다.
상술한 구성에 부가하여, 태스크의 상관관계로서 협조처리의 기구가 사용될 수 있다. 예를 들면, 일본국 특개평 09-231183호에는 태스크의 동시 시동 등의 태스크 협조처리에 대한 시간제약을 실현하는 제어기구가 제공되어 있다. 그러나, 신뢰성의 관점에서, 태스크의 상관관계가 해결되지는 않는다.
한편, 신뢰성이 필요한 실시간 처리장치로는, 다중화에 의한 대책이 종래부터 이루어져 왔다. 예를 들면, 발전, 송전, 배전 등의 전력제어 및 항공, 철도 등의 교통제어 등의 많은 제어장치에 있어서, 오동작 방지는 엄격하게 제한되지만, 실시간성은 요구된다. 따라서, 이러한 실시간 처리에서는, 제어 대상의 다중화, 연산의 다중화 및 알고리즘의 다중화 등에 의하여 고신뢰성이 실현된다.
그 결과, 상술한 목적이 고신뢰형 실시간 분산처리로서 설치되는 경우, 분산될 각각의 태스크 사이에는 신뢰성의 관점에서 상관관계가 발생된다. 예를 들어, 동일한 목적에 대하여 복수의 다중화된 태스크를 설치함으로써 신뢰도가 실현되는경우, 그 태스크는 동일한 연산장치에 의해 처리되지 않는 것이 신뢰성의 관점에서 바람직하다. 따라서, 고신뢰형 실시간 분산처리에서는 연산량의 관점에서 태스크의 상관관계 뿐만 아니라, 신뢰성의 관점에서 태스크의 상관관계도 고려할 필요가 있다.
종래에는 신뢰성이 필요한 실시간 처리장치를 분산처리에 설치하고자 하는 경우, 이러한 상대적인 제약은 사전 설계로 만족할 수 밖에 없었다. 예를 들어, 일본국 특개소 57-3516호에는 전력설비의 보호제어장치를 분산처리시스템에 설치하는 방법이 제안되어 있다. 그러나, 연산량의 조정 및 신뢰성의 조정은 설계 시점에서 사람의 손으로 수행된다. 따라서, 각 처리장치 구성에 대하여 최적의 배치를 설계하는 것이 필요하다. 또한, 미리 정해진 태스크 배치만이 사용되기 때문에, 처리장치 구성이 변화되었을 때에는 효과를 상실한다.
"종래의 기술"에 기술한 바와 같이, 종래의 일반적인 분산처리시스템은 신뢰성이 필요한 제어장치에 적용될 수 없다.
이전의 분산처리기술은 각 연산기 또는 각 태스크의 신뢰성 및 긴급성을 규정하여, 고성능과 고신뢰성을 실현할 수 없다.
신뢰도상의 태스크의 상관관계를 규정하는 수단이 없다.
따라서, 고신뢰형 분산처리시스템을 실현하기 위해서는, 종래와 같은 연산량상의 태스크의 상관관계에 부가하여, 다중화의 관점에서 신뢰도상의 상관관계를 반영하는 기구가 필요하다.
본 발명의 목적은 각각의 연산기 또는 각각의 태스크의 신뢰성 및 긴급성을 규정하여 고성능과 고신뢰성을 실현하는 것이다.
본 발명의 다른 목적은 보호릴레이 기능을 정지시키는 가능성을 억제하여, 적은 연산기로 보호릴레이 기능을 실현할 수 있도록 태스크를 할당하는 것이다.
도 1은 본 발명이 적용되는 고신뢰성 실시간 분산처리시스템의 구성.
도 2는 고신뢰성 실시간 분산처리시스템의 다른 구성(No.1).
도 3은 고신뢰성 실시간 분산처리시스템의 다른 구성(No.2).
도 4는 장치 고장시의 동작(No.1).
도 5는 장치 고장시의 동작(No.2).
도 6은 고신뢰성 실시간 분산처리시스템에 의한 태스크 스케쥴링의 예시.
도 7은 실행연산기제어기구의 데이터베이스의 개략도의 예시.
도 8은 태스크 스케쥴링의 시간단면(No.1).
도 9는 태스크 스케쥴링의 시간단면(No.2).
도 10은 태스크 스케쥴링의 시간단면(No.3).
도 11은 외부 통신망으로부터의 디자인 툴.
도 12는 통신로 감시 태스크를 구비한 분산처리시스템의 구성.
도 13은 본 발명이 적용되는 디지털보호릴레이장치의 구성.
도 14는 디지털보호릴레이의 실행연산기제어기구의 데이터베이스의 개략도의 예시.
도 15는 디지털보호릴레이의 입출력제어기구의 데이터베이스의 개략도의 예시.
도 16은 실행연산기제어기구의 데이터베이스의 텍스트 형태의 예시.
도 17은 입출력제어기구의 데이터베이스의 텍스트 형태의 예시.
도 18은 본 발명이 적용되는 디지털보호릴레이장치의 예시(시스템 구성).
도 19는 디지털보호릴레이장치의 예시에 있어서의 태스크의 개념도.
도 20은 디지털보호릴레이장치의 예시에 있어서의 실행연산기제어기구의 시동시 동작 흐름도.
도 21은 디지털보호릴레이장치의 예시에 있어서의 시동시 초기 태스크 배치.
도 22는 디지털보호릴레이장치의 예시에 있어서의 실행연산기제어기구의 평상시 동작 흐름도.
도 23은 디지털보호릴레이장치의 예시에 있어서의 연산기 이상의 가정.
도 24는 디지털보호릴레이장치의 예시에 있어서의 내고장성(fault tolerant) 동작(1).
도 25는 디지털보호릴레이장치의 예시에 있어서의 내고장성 동작(2).
전력제어 및 항공, 철도 등의 교통제어 등의 신뢰성이 필요한 실시간 처리장치에서는, 연산기의 이상에 대하여 정상 동작을 유지하기 위하여, 다중화에 의한 2중 안전 백업(fail safe backup)을 실현하는 것이 필요하다. 이 처리 목적을 분산처리시스템에 의해 실현하고자 하는 경우에는, 시스템 자체의 내고장성을 강하게 하는 것만으로는 오동작을 방지할 수 없다. 연산의 다중화 및 알고리즘의 다중화의 개념에 기초하여, 복수의 태스크를 설치함으로써 2중 안전 백업을 실현하는 것이 필요하다.
이 경우, 복수의 태스크의 관계를 고려하는 것이 필요하다. 태스크의 상관관계로서, 동일한 연산기로 연산하는 것은 제약되거나 적절하지 않을 수 있다. 따라서, 본 발명의 고신뢰형 실시간 분산처리시스템에서는 이러한 상관관계를 제어하는 실행연산기제어기구가 설치된다.
실행연산기제어기구는, 각 태스크가 실행될 연산기를 판단하기 위하여, 각 태스크의 실행시간의 긴급성 및 중요성과, 태스크 상관관계인 신뢰도상의 배타성의 정도에 대해 데이터베이스내에 관리하고 있다.
실행연산기제어기구는 데이터베이스내의 규정을 참조하여, 분산처리시스템의상황에 가장 적합한 태스크 배치를 판단할 수 있다.
각 태스크의 실행시간의 긴급성과 중요성을 고려하여, CPU 사용효율을 최대로 하고, 가장 중요한 태스크에 우선순위를 부여하며, 태스크의 상관관계인 신뢰도상의 배타성의 정도를 손상시키지 않고도 실행대상 태스크를 선택하는 처리 및 그 관련된 태스크가 할당되는 연산기를 선택하는 처리를 실시할 수 있다.
또한, 상술한 분산처리시스템상에서 태스크 스케쥴링을 실행하면, 항상 계획적으로 높은 신뢰도를 실현할 수 있다. 연산기의 고장이나 보수시에도, CPU 사용효율과 신뢰도의 양립을 실현하는 기능 유지가 얻어진다.
또한, 본 발명은 보호릴레이 기능을 실현하는 복수의 태스크를, 네트워크에 의해 접속된 복수의 연산기로 처리하는 정보처리장치로서, 복수의 태스크 중에서 특정한 연산기에 의해 처리될 태스크의 조합을 저장하는 수단과, 상기 특정한 연산기에 의해 처리될 태스크의 조합 중 어느 하나를 선택하여, 상기 선택된 조합의 태스크를 상기 특정한 연산기로 수행하는 수단을 구비한다.
또한, 본 발명은 보호릴레이 기능을 실현하는 복수의 태스크를, 네트워크에 의해 접속된 복수의 연산기로 처리하는 정보처리장치로서, 복수의 태스크 중에서 특정한 연산기에 의해 처리되지 않는 태스크의 조합을 저장하는 수단과, 상기 특정한 연산기에 의해 처리되지 않는 태스크의 조합을 제외한 조합의 태스크를 상기 특정한 연산기로 실행하는 수단을 구비한다.
이하, 본 발명의 실시예를 첨부 도면을 참조하여 상세히 설명한다. 제1실시예는 도 1에 도시되어 있다.
복수의 연산기, 이것의 예로는 3개의 연산기(102 내지 104)가 통신망(101)을 통해 네트워크에 접속된다. 여기서의 각 연산기는 디지털 연산을 실행하는 연산기이다. 하나의 연산기는 전원, CPU 및 메모리 등의 기본 구성을 독립적으로 구비하며, 타 연산기의 정지 또는 고장에 의하여 동작 성능에 영향을 받지 않는 장치이다. 또한, 각 연산기는 동일한 프로그램 실행 환경을 가지므로, 독립적인 프로그램 모듈이 전체 연산기에 의해 실행될 수 있다. 도면에서, 연산기(102 내지 104) 내부에 기재된 박스형 참조부호(105 내지 109)는 각 연산기 내부에서 실행될 프로그램 모듈을 추상적으로 나타낸다. 각각의 연산기는 복수의 독립적인 프로그램 모듈을 동시에 실행할 수 있다.
상술된 복수의 연산기를 이용하여 복수의 태스크를 실행하는 것이 요구된다. 각각의 태스크에 대하여, 실행시간은 제한된다. 도 1에 도시된 예시에서는, 태스크 1 내지 태스크 5 의 5개의 태스크(105 내지 109) 전부를 실행하는 것이 요구된다.
상술된 복수의 태스크에는 태스크간의 상관관계로서, 동일한 연산기에 의한 계산이 제한될 수 있거나 또는 적절하지 않을 수 있다. 예를 들면, 오동작을 방지하기 위하여 다중화된 태스크의 연산 결과의 AND를 계산하도록 하나의 기능이 갖춰지는 경우, 이들 태스크를 동일한 연산기로 계산하는 것은 신뢰성을 이유로 바람직하지 않다. 이하, 이것을 신뢰성에 있어서의 태스크간 제약 조건이라 한다.
하나 또는 복수의 처리장치에 설치된 실행연산기제어기구(110 내지 112)는 신뢰성에 있어서의 태스크간 제약 조건의 룰을 고려하여 태스크의 할당을 실시하는 처리를 행한다. 이를 위한 실현 수단으로는 몇가지 방법이 있다.
우선, 도 1에 도시된 바와 같이, 실행연산기제어기구(110 내지 112)가 데이터베이스를 보유하는 구성으로 실현될 수 있다. 상기 실행연산기제어기구는 미리 각각의 태스크의 신뢰도상의 태스크간 제약조건을 획득하여 그것을 데이터베이스 내용(113)으로서 저장한다.
데이터베이스 내용은 각각의 태스크의 실행시간 제약 및 신뢰도상의 태스크간 제약조건을 기술한다. 도 1에서, 태스크 1에 관련되는 기술(114)은 실시간성을 결정하는 실행시간 제약에 관련되는 실행시간 평가지표(115) 및 태스크 1과 태스크 4와의 관계에 관련되는 실행연산기 평가지표(116)를 표현한다.
이것에 따르면, 태스크 1에서는 실행시간의 긴급성과 중요성이 실행시간 평가지표(115)에 의해 규정되고, 태스크 4로부터의 신뢰도상의 배타성의 정도(degree)가 실행연산기 평가지표(116)에 의해 규정된다. 동일한 방식으로, 다른 각각의 태스크 및 상호(mutual) 태스크가 기술된다. 즉, 프로세서는 데이터베이스 내용(113)으로부터 복수의 태스크로 구성된 처리 내용의 긴급도, 중요도, 신뢰도를 판단하는 정보를 획득하도록 구성된다.
실행연산기제어기구(110 내지 112)는 데이터베이스 내용(113)의 정보를 획득하고, 각각의 태스크를 실행하는 연산기를 판단한다. 각각의 태스크의 실행시간 제약을 고려하면, 실행연산기제어기구(110 내지 112)는 CPU의 사용효율을 최대로 하고, 가장 중요한 태스크에 우선순위를 주며, 신뢰도상의 태스크간 제어조건을 해치지 않으면서 실행될 태스크를 선택하는 처리(태스크 선택처리) 및 고려된 태스크가 할당될 연산기를 선택하는 처리(연산기 선택처리)를 행한다.
도 1에 도시된 예시에서는, 엄격한 신뢰도상의 태스크간 제약조건이 태스크 1과 태스크 4, 태스크 1과 태스크 2, 태스크 2와 태스크 3, 태스크 3과 태스크 5에 부과된다. 따라서, 태스크 설치패턴은 이들 조합들이 동일한 연산기에 설치되지 않도록 작성된다. 솔루션 하나는 도 1에 도시된 태스크 할당 패턴이다. 태스크 1과 태스크 3은 연산기 X에, 태스크 2와 태스크 4는 연산기 Y에, 태스크 5는 연산기 Z에 할당된다. 상술된 신뢰도상의 태스크간 제약조건은 모두 만족된다.
다음, 실행연산기제어기구가 신뢰도상의 태스크간 제약조건의 룰을 고려하는 다른 수단을 설명한다. 실행연산기제어기구는 데이터베이스를 구비하지 않고도 상술한 효과를 얻을 수 있다.
도 2에 도시된 예시에서, 각 태스크는 상기 태스크에 대한 실행시간 평가지표 및 프로그램 모듈에서의 다른 태스크간의 상관관계 각각에 대한 실행연산기 평가지표를 가진다. 통신망(101)과 복수의 연산기(102 내지 104)는 도 1에 설명된 구성과 동일하다. 도 1에 도시된 실시예와의 차이점은 태스크(201 내지 205)들이 상술된 지표를 내장하고 있는 점이다. 도 2에 도시된 실행연산기제어기구(206 내지 208)는 태스크(201 내지 205)에 내장된 지표를 통신을 통해 획득하는 기구가 부가된다. 따라서, 실행연산기제어기구는 필요시에 태스크로부터 통신하여 송신된 지표를 참조함으로써, 상술된 태스크 선택처리 및 연산기 선택처리를 행할 수 있다.
실행연산기제어기구가 신뢰도상의 태스크간 제약조건의 룰을 고려하는 수단으로 다른 방법을 설명한다. 다른 태스크 모두에 대한 지표가 프로그램 모듈에 미리 내장되어 있지 않더라도 상술한 효과를 얻을 수 있다. 도 3에 도시된 예시에서는 각각의 태스크가 소정의 문법에 기초한 태스크명을 보유하는 방법이 도시되어 있다. 통신망(101)과 복수의 연산기(102 내지 104)는 도 1에 설명된 구성과 동일하다. 도 1에 도시된 실시예와의 차이점은 태스크(301 내지 305)가 사전설정된 태스크명을 가진다는 점이다. 도 3에 도시된 실행연산기제어기구(306 내지 308)는 태스크(301 내지 305)의 태스크명을 참조하여 실행연산기 평가지표를 계산한다. 이것을 행하기 위하여, 실행연산기제어기구(306 내지 308)는 소정의 문법 룰(309)을 보유한다. 문법(310 내지 312)은 2개의 태스크명 패턴의 관계로서 동일 연산기에 의한 배타제약조건을 기술한다.
실행연산기제어기구(306 내지 308)는 프로그램 모듈의 설치 단계에서 태스크명을 인식한다. 실행연산기제어기구(306 내지 308)는 문법 룰(309)을 참조하여 상기 문법(310 내지 312)으로부터 태스크명이 매칭되는 문법을 추출함으로써, 신뢰도상의 태스크간 제약조건을 얻을 수 있다. 도 1 및 도 2에 도시된 실시예와 동일한 방식으로, 실행연산기제어기구(306 내지 308)는 태스크 선택처리 및 연산기 선택처리를 행할 수 있다.
도 1 내지 도 3에 도시된 바와 같이, 실행연산기제어기구는 하나의 연산기에 의해 실행될 필요는 없다. OS의 기능으로서, 상기 기구는 전체 연산기에 설치될 수 있다. 마스터-슬레이브 구성이 사용될 수 있다. 더 나아가, 통신망(101) 대신에 외부 통신로를 통해 단속적으로 접속된 계산기, 예를 들면 원격제어콘솔에 설치될 수 있다.
상술된 실행연산기제어기구를 도입함으로써, 연산기의 구성 및 성능에 따라서 실시간성과 신뢰성의 제약조건의 양립이 실현될 수 있다.
다음, 본 발명을 이용하여 고신뢰성을 유지하는 태스크의 활용기능을 실현하는 구성을 설명한다. 본 발명의 태스크 선택처리 및 연산기 선택처리의 기능에 부가하여, 태스크 재생 및 연산기 이동의 기능을 구비하는 분산처리시스템이 상정된다.
상기 구성을 도 4를 참조하여 설명한다. 도 4에 도시된 예시에서는, 도 1에 도시된 예시를 기초로 하여, 연산기 X에 고장이 발생하는 경우를 가정한다. 연산기 X에서 고장이 발생한 것 이외에, 통신로(401), 복수의 연산기(402 내지 404), 태스크(405 내지 409) 및 실행연산기제어기구(410 내지 412)는 도 1에 도시된 것과 동일하다.
이 도면에 도시된 예시에서, 태스크 1 내지 태스크 5는 동일한 연산량을 필요로하는 태스크들이다. 그러나, 태스크의 긴급도 및 중요도에 있어서, 태스크 5는 최고 우선순위 상태에 있다고 가정한다. 또한, 연산기 Y 및 연산기 Z에서는 태스크 1 내지 태스크 5 가운데 4개만이 실행될 수 있다.
이러한 상태에서 연산기 X에 설치된 실행연산기제어기구(410) 또는 연산기 Y와 연산기 Z에 설치된 실행연산기제어기구(411, 412)의 정규 감시에 의하여 연산기 X의 고장이 검출되면, 실행연산기제어기구(411 내지 412)는 연산기 X의 고장에 대응하는 태스크 선택처리 및 연산기 선택처리를 재실행한다.
재실행 후의 분산처리시스템의 상태가 도 5에 도시되어 있다. 통신로(501)상에 고장 연산기(502) 및 정상 연산기(503, 504)가 접속된다. 태스크 선택처리 및연산기 선택처리는 실행연산기제어기구(505, 506)에 의해 수행된다. 3개의 태스크(507 내지 509)(태스크 2, 태스크 4, 태스크 5)의 할당은 고장발생 전으로부터 변화되지 않는다. 고장발생 전과의 차이점은 연산기(502)에 의해 계산된 태스크 1 대신에 태스크(510)가 연산기(504)에 새롭게 할당된다는 점이다.
이러한 할당은 태스크 개별의 성질과 태스크의 상관관계의 성질의 양립을 실현하는 조합으로부터 유도된다. 태스크 선택처리는 전체 태스크의 중요도와 긴급도를 최대화하고, 연산기 선택처리는 동일한 연산기에 설치될 태스크의 조합의 신뢰도를 최대화한다. 도 5에 도시된 예시에서, 각 태스크의 연산량은 동일하므로 2개의 연산기에서는 4개의 태스크를 실행시키는 복수의 설치 패턴이 고려될 수 있다. 그러나, 설치 패턴중 도 1에 도시된 실행시간 평가 및 실행연산기 평가를 가장 만족하는 설치 패턴은,
연산기 Y(태스크 2, 태스크 4), 연산기 Z(태스크 1, 태스크 5)라는 것을 유일하게 얻을 수 있다.
실행연산기제어기구가 상기 태스크 선택 및 연산기 선택을 처리하는 경우에는 도 5에 도시된 바와 같이 고장 검출을 트리거로, 연산기(502)에 의해 계산된 태스크 1의 대체 태스크(510)를 연산기(504)에 자동으로 할당하는 기능이 실현될 수 있다.
다음, 본 발명을 이용하여, 고신뢰도를 유지하는 태스크 스케쥴링을 실행하기 위한 기능을 실현하는 구성을 설명한다. 태스크 스케쥴링을 실행하는 실행연산기제어기구는, 앞서 설명된 기능에 부가하여, 현재 계산 단면으로부터 장래에 발생될 태스크의 유무를 파악한다. 실행연산기제어기구는 처리대상 태스크가 발생되는 시간단면마다 상술된 태스크 선택처리 및 연산기 선택처리를 행하고, 복수의 시간단면을 통해 최적해를 구하며, 태스크 스케쥴링을 실현한다.
본 실시예는 도 6 내지 도 10을 참조하여 설명한다. 도 6은 실행연산기제어기구에 의해 파악된 태스크의 발생의 스케쥴 및 이들 태스크를 연산기에 할당하는 태스크 스케쥴링의 결과를 개념적으로 도시한다. 도면에서, 횡축(601)은 태스크 1에 관련된 태스크의 발생과 그 처리를 표시하는 시간축을 나타낸다. 횡축(601) 하부의 화살표(602)는 태스크 1의 실행요구의 발생을 나타낸다. 횡축(601) 상부의 장방형(603)은 태스크 1의 실행을 나타낸다. 장방형(603) 내부의 연산기명은 실행을 담당하는 연산기를 나타낸다. 이 경우는 태스크 1 실행요구(602)가 연산기 X에 의해 실행(603)에 할당되는 것을 의미한다. 또한, 실행(603)시, 새로운 실행요구(604)에 대응하는 실행이 할당되는 경우, 장방향(605)과 같이 나타나는 것도 있다.
최초 시간단면(606)에 있어서는, 앞서 설명된 실행연산기제어기구에 의한 태스크 할당에 의하여 상기 처리가 실현될 수 있다. 시간단면(604)에서 발생되는 태스크 요구는 제1실시예와 동일한 내용을 가진다. 즉, 도 1에 도시된 태스크 할당 구성이 사용된다. 즉, 도 6에 도시된 태스크 1 내지 태스크 5의 연산기의 할당은 도 1의 내용과 일치한다.
제2시간단면(607)에서는 태스크 1 요구(604)가 새롭게 발생한다. 이러한 요구에 대응하여, 실행연산기제어기구에 의한 태스크 스케쥴링은, 도 7에 도시된 신뢰도상의 태스크간 제약조건을 유지하여, 제2시간단면에서의 태스크 할당을 새롭게 계획한다. 도 1에 도시된 태스크 할당 상태에 부가하여, 상기 태스크 1은 실행(605)과 같이 연산기 Z에 새롭게 할당된다. 그 결과는 도 8에 도시된 상태이다. 도 8에서, 연산기 Z(801)에는, 새롭게 할당된 태스크(802)(도면에서 두꺼운 선으로 나타낸 태스크)와 실행중인 태스크(803)간의 신뢰도상의 태스크간 제약조건은 존재하지 않는다. 전체로서, 도 7에 도시된 신뢰도상의 태스크간 제약조건이 만족된다.
제3시간단면(608)의 시점에서, 연산기 X에 의해 실행된 태스크 1 실행처리(603)와 연산기 Y에 의해 실행된 태스크 2 실행처리(603)가 종료되고, 역으로 태스크 5 실행요구(611)가 수신된다. 실행연산기제어기구에 의한 태스크 스케쥴링은 도 9에 도시된 태스크 할당을 실행한다. 연산기의 처리 성능의 관점으로부터, 태스크 5를 실행할 수 있는 연산기는 연산기 X(901) 또는 연산기 Y(902)이다. 그러나, 태스크 5가 연산기 X에 할당되는 경우, 실행중인 태스크(903)(태스크 3)를 고려하면, 신뢰도상의 태스크간 제약조건이 뒤따르지 않는다. 최고의 평가를 얻기 위한 할당 결과로서, 연산기 Y에 의한 신규 태스크(904)(태스크 5)의 실행이 선택된다. 그 이유는 실행중인 태스크(905)(태스크 4)와의 신뢰도상에 부과된 문제가 없기 때문이다.
제4시간단면(609)의 시점에서, 연산기 Y에 의해 실행된 태스크 5 실행처리(612) 이외의 태스크의 실행처리는 모두 종료된다. 여기서, 태스크 1 내지 태스크 5의 실행요구(613)가 수신된다. 상술된 바와 동일한 처리에 의하여, 실행연산기제어기구에 의한 태스크 스케쥴링은 도 10에 도시된 태스크 할당을 실행한다. 연산기 Y(1001)에 의하여 실행중인 태스크(1002)(태스크 5) 이외에, 5개의 태스크(1003 내지 1007)가 새롭게 할당된다. 신뢰도상의 태스크간 제약조건에 있어 위반이 없다.
상술한 바와 같이, 실행요구가 발생하는 각 시간단면에 있어서, 태스크 선택 및 연산기 선택이 현재 실행중인 태스크와 함께 처리될 때, 태스크 스케쥴링이 실현될 수 있다.
복수의 시간단면에서의 태스크의 할당에 의하여 태스크 스케쥴링을 행하는 방법에 있어서는, 최적화 수단의 설치방법의 차이에 따라 복수의 방법이 고려될 수 있다. 상술된 예시에서, 태스크 스케쥴링은 시간단면의 흐름을 따라 축차적으로 실행된다. 이것과 별개로, 전체 시간단면에서의 태스크 할당을 동시에 최적화하여 인접하는 시간단면들간의 태스크 할당 상태의 차이를 최소화하는 조합의 문제를 해결함으로써, 태스크 스케쥴링이 실행될 수 있다.
이러한 태스크 스케쥴링 기능에 의하여, 분산처리시스템은 항상 계획적인 고신뢰도를 실현할 수 있다. 예를 들면, 실행연산기제어기구에 의해 파악된 태스크 이외의 신규 태스크의 시동요구가 시스템내에서 발생하거나, 신규 태스크의 시동명령을 외부적으로 받았을 때에도, 태스크 스케쥴링은 반영된 변경으로 재실행됨으로써, 변경 후의 고신뢰도가 유지될 수 있다. 또한, 연산기의 고장 및 유지보수에 있어서, 외부 연산기를 경유하여 연산기의 활용상태에 대한 명령을 받았을 때에도, 상기 명령 내용에 따라 연산기의 활용상태가 상정된 후, 태스크 스케쥴링이 재실행되고, 이에 따라 CPU의 사용효율과 신뢰도의 양립을 실현하는 기능이 유지될 수 있다.
다음, 제2실시예로서, 본 발명이 적용되는 개발 툴이 도 11에 도시되어 있다.
개발대상 처리시스템은 도 1에 도시된 실시예와 동일하다. 제어에 사용되는 통신로(1101)를 통해, 복수의 연산기, 즉 본 예시에서는 3개의 연산기(1102 내지 1104)가 네트워크에 접속된다. 이들 연산기에서는 실행시간이 제약되는 복수의 태스크(1105 내지 1109)를 실행하는 것이 요구된다.
이러한 처리시스템을 설계하기 위하여, 외부 개발용 연산기가 사용된다. 개발용 연산기(1111)는 제어에 사용되지 않는 외부 통신망(1110)을 통해 접속된다. 이러한 개발용 연산기를 사용함으로써, 상술된 태스크의 기본 설계 및 각종 설정값의 설정을 행한다.
개발용 연산기(1111)는 도 1에 도시된 실시예에 설명된 것과 동일한 기능을 갖는 실행연산기제어기구(1112)를 구비한다. 따라서, 개발대상 처리시스템(1101 내지 1104)의 장치 구성을 지시함으로써, CPU 사용효율과 신뢰도의 양립을 실현하는 초기 태스크 할당이 실시될 수 있다.
이러한 개발 툴을 사용함으로써, 실행대상 태스크의 선택처리 및 상기 선택된 태스크를 계산하는 연산기의 선택처리를 실시하는 초기 설계가 수행될 수 있고, 고신뢰형 실시간 분산처리시스템이 설계될 수 있다. 또한, 외부 통신망을 통해 태스크가 부가, 삭제 또는 수정되고, 이에 따라 처리시스템을 구성하는 연산기에 실행연산기제어기구를 부가하지 않고도, 고신뢰형 실시간 분산처리시스템에 의해 유지되는 기능들 대부분을 실현할 수 있다.
제3실시예로서, 통신로를 감시하는 기능을 구비한 분산처리시스템을 본 발명을 활용하여 아래에 설명한다.
처리시스템을 구성하기 위하여, 복수의 연산기, 즉 본 예시에서는 3개의 연산기(1202 내지 1204)가 통신로(1201)를 통해 네트워크에 접속된다.
여기서는, 통신로를 검증하는 통신로 감시 태스크가 추가되어, 처리시스템이 신뢰도가 더욱 높게 만들어진다. 통신로 감시 방법으로서, 감시대상 통신로를 통해 통신을 하는 복수의 태스크는 한 세트로 형성되어, 상호 통신 내용의 유효성이 검증되고, 이에 따라 통신로의 정상성(normalcy)이 감시된다.
이 경우, 이들 감시 태스크의 할당 및 태스크 스케쥴링은 복잡한 문제를 일으킨다. 우선, 감시 기능을 실현하기 위해서는, 최저로 필요한 감시 태스크 뿐만 아니라, 실행되어야 할 감시 태스크도 가능한 한 많이 실행되는 것이 바람직하다. 그러나, 본래의 처리 목적인 태스크 실행이 방해되어서는 안된다. 두번째로, 세트를 구성하는 개별적인 태스크는 동일한 세트의 태스크와 상이한 연산기에 의해 실행되어야 한다. 복수의 제약을 갖는 이러한 감시 태스크의 할당 및 스케쥴링은 본 발명을 이용하여 실현될 수 있다.
도 1에 도시된 실시예에 설명된 예시와 동일한 방식으로, 처리시스템내의 복수의 연산기는 실행연산기제어기구(1205 내지 1207)를 구비한다. 이들 실행연산기제어기구는 실행대상 태스크의 의미를 데이터베이스 내용(1208)으로서 제어한다.데이터베이스 내용은 각 태스크의 실행시간 제약 및 신뢰도상의 태스크간 제약조건을 기술한다. 도 12에서, 태스크 1에 관련되는 기술(1209)은 실시간성을 결정하는 실행시간 제약에 관련되는 실행시간 평가지표(1210) 및 태스크 1과 태스크 4의 관계에 관련되는 실행연산기 평가지표(1211)를 표현한다.
이 예시에서는, 도 1에 도시된 실시예와 비교하여 2가지 차이점이 있다고 가정한다. 우선, 통신로 감시 태스크 A(1212)에 관련되는 실행시간 평가지표(1213), 통신로 감시 태스크 B(1214)에 관련되는 실행시간 평가지표(1215) 및 태스크간의 실행연산기 평가지표(1216)가 추가된다고 가정한다.
두번째로, 태스크 5에 관련되는 실행시간 평가지표(1217)는 태스크 1 내지 태스크 4의 실행시간 평가지표 및 감시 태스크의 실행시간 평가지표보다 실행에 관련되는 우선순위가 낮게 설정된다. 즉, 태스크 5는 필요한 태스크가 아니라고 설정된다.
여기서, 2개의 태스크는 한 세트로서 형성되어, 통신로를 감시하는 기능이 추가된다. 감시 기능은 최저로 필요하므로, 태스크 5보다 높은 실행 우선순위가 설정된다.
이러한 설정이 실행연산기제어기구(1205 내지 1207)에 주어지면, 3개의 연산기(1202 내지 1204)에 대해 태스크 할당(1220 내지 1225)이 실행된다. 태스크 5의 실행은 생략된다. 또한, 다른 6개의 태스크에 대하여, 각각의 태스크의 배치는 상호 배타관계를 만족하게 결정된다.
통신로를 감시하는 태스크들이 실행연산기제어기구의 제어 대상의 일부로서설정되면, 통신로의 정상성을 파악하는 고신뢰형 실시간 분산처리시스템이 실현될 수 있다.
더 나아가, 실행연산기제어기구를 사용하여 태스크 스케쥴링을 이용함으로써, 상기 통신로는 주기적으로 감시될 수 있다. 실행 우선순위가 더 낮은 감시 태스크의 세트의 처리를 주기적으로 요구함으로써, 처리시스템의 과도한 연산 능력 범위내에서, 가능한 한 높은 신뢰도가 실현될 수 있다.
상술한 실시예에 있어서, 통신로의 감시를 기술한다. 동일한 방법에 의하여, 연산기의 감시 기능이 설치될 수 있다. 우선, 연산기 감시 태스크로서, 소정의 연산식을 검산하는 시험이 실행되고, 네트워크에 의해 접속된 복수의 다른 연산기 및 통신을 통해 결과를 검증하는 복수의 태스크가 준비된다. 그 후, 실행연산기제어기구에 대하여, 각각의 연산기 감시 태스크가 상이한 연산기에 의해 실행되는 제약 또는 조건이 주어진다. 이렇게 함으로써, 연산기 감시 태스크는 자동적으로 적당한 태스크 할당 및 스케쥴링이 이루어지고, 이상(abnormal) 연산기의 특정 또는 네트워크의 고장의 검출이 실현될 수 있다.
제4실시예로서, 본 발명이 적용되는 처리시스템을 이용하여, 하나 또는 복수의 전력기기를 보호하는 디지털보호릴레이장치가 실현되는 예시를 고려한다. 이것은 도 13에 도시되어 있다.
우선, 입력대상 기기로서, 버스, 변압기 및 송전선 등의 보호 및 제어대상 전력기기(1301) 각각에 대하여, 장치 보호에 필요한 사고 검출 기능 및 각종 제어에 필요한 관측 기능에 사용되는 전압전류정보(1302)는 그것에 접속된입력장치(1303)로 전달된다. 동일한 방식으로, 출력대상 기기로서, 차단기 등의 제어대상 전력기기(1304)에 대하여, 차단 명령 등의 제어신호(1305)는 각각의 장치에 접속된 출력장치(1306)로 전송된다.
이들 입력장치(1303) 및 출력장치(1306)는 통신로(1307)를 통해 복수의 연산기(1308 내지 1311)에 접속된다. 이 경우, 상기 연산기는 디지털 연산을 실행하는 계산기이다. 하나의 연산기는 전원, CPU 및 메모리 등의 기본 구성을 독립적으로 구비하여, 기타 연산기의 정지 또는 고장에 의해 연산 성능에 영향을 주지 않는 장치이다. 또한, 각 연산기는 동일한 프로그램 실행환경을 구비하므로, 독립적인 프로그램 모듈이 전체 연산기에 의하여 실행될 수 있다. 도면에서, 연산기(1308 내지 1310) 내부에 기재된 박스형 참조부호(1311)는 각 연산기 내부에서 실행될 프로그램 모듈을 추상적으로 나타낸다. 각각의 연산기는 하나 또는 복수의 독립적인 프로그램 모듈을 동시에 실행할 수 있다.
각각의 프로그램 모듈의 실행을 상기 연산기에 할당하는 것은 실행연산기제어기구(1312)에 의해 제어된다. 이것은 상술한 도 1에 도시된 제1실시예의 실행연산기제어기구와 동일한 기능이다. 따라서, 실행연산기제어기구 내부의 데이터베이스에는 각 태스크의 실행시간 제약 및 신뢰도상의 태스크간 제약조건이 기술된다.
도 13에서, 실행연산기제어기구는 도 14에 도시된 데이터베이스 내용을 제어한다. 각 태스크의 실행시간 제약 및 신뢰도상의 태스크간 제약조건이 기술된다. 도 14에 도시된 기술에 있어서, 각 태스크에 관련되는 기술은 실시간성을 결정하는 실행시간 제약에 관련되는 실행시간 평가지표(1402) 및 다른 태스크에 관련되는 실행연산기 평가지표(1403)를 포함한다.
예를 들면, 기기 A를 보호하는 연산기 중에서, 메인보호연산을 항상 실행하는 프로그램 모듈 "기기 A, 메인, 상시계(normal system)" 및 프로그램 모듈이 실행불능될 때 즉시 전환되어 백업되도록 대기하는 "기기 A, 메인, 대기계(standby system)"는 상이한 연산기에 의해 실행되어야 한다. 따라서, 신뢰도상의 태스크간 제약은 태스크 "기기 A, 메인, 상시계" 및 태스크 "기기 A, 메인, 대기계"와의 관계에 부과된다.
동일한 방식으로, 오동작을 방지하기 위하여, "기기 A, 메인, 상시계" 및 "기기 A, 2중 안전(fail safe), 상시계"는 상이한 연산기에 의해 실행되어야 한다. 따라서, 신뢰도상의 태스크간 제약은 2개의 태스크의 관계에 부과된다. 이러한 연산기 제약이 부과되는 경우, 상기 2개의 태스크를 의미하는 프로그램 모듈이 실행되는 2개의 연산기가 동시간대에 연산불능상태에 빠지지 아니하면, 기기 A에 대한 보호기능의 오동작의 가능성이 발생되지 않는다.
또한, 장치의 단일 고장이 발생되더라도, 고신뢰성을 유지하는 태스크 할당이 더 부과될 수 있다. 예를 들면, 상시계의 임의의 태스크가 장치고장으로 인하여 대기계로 전환되는 상황에서도, 메인 태스크 및 2중 안전 태스크가 상이한 연산기에 의해 실행되도록 설계된다면, "기기 A, 메인, 상시계" 및 "기기 A, 2중 안전, 대기계"의 태스크 관계에서, 신뢰도상의 태스크간 조건으로서, 태스크 실행연산기 평가지표가 설정될 수 있다. 이 경우, 배타조건(1404)은 신뢰도상의 태스크간 제약(1403)보다 낮은 우선순위로 설정될 수 있다.
상술한 바와 같이, 도 14에 도시된 설계는 기기 A에 관련되는 태스크 모두에 대해 실행된다. 또한, 동일한 개념에 따르면, 기기 B에 관련되는 태스크가 설계된다. 이러한 데이터베이스를 구비한 실행연산기제어기구에 의하여, 각 프로그램 모듈을 실행하는 연산기가 적절하게 결정된다. 그 결과, 도 13에 도시된 태스크 할당이 얻어진다. 전체 신뢰도상의 태스크간 제약 및 부과되는 조건을 연산기의 개수로 만족시킬 수 없다. 우선순위가 높은 제약(1403)을 만족시키는 동시에 배타조건(1404)을 가능한 한 만족시키는 배치가 설정된다. 임의의 시점에서 시스템 전체의 처리능력을 활용하여, 신뢰도가 높은 시스템을 실현할 수 있다.
더 나아가, 상술한 실시예에 있어서, 제어기구는 또한 상술된 입출력관계를 제어하도록 설치된다. 도 13에 도시된 바와 같이, 입출력장치(J 내지 M)는 기기 A 내지 기기 D에 고정적으로 접속된다. 상기 제어기구는 멀티-드롭(multi-drop) 통신망을 통해 기기의 입출력정보를 송수신하도록 구성된다. 입출력관계제어기구(1313)는 연산기내의 태스크가 임의의 입력장치의 V, I 정보를 사용하여 임의의 출력장치로 제어신호를 전송하는 상황을 데이터베이스로 관리한다.
예로서, 입력장치 J(1314) 및 입력장치 J'(1315)가 기기 A에 접속된 입력장치로서 준비되는 도 13에 도시된 시스템상의 동작을 고려한다. 입출력관계제어기구는 입력장치 J(1501) 및 입력장치 J'(1502)가 도 15에 개략적으로 도시된 데이터베이스 내용에 의해 상호 대체가능한 관계에 있는 지정(1503)을 수신한다. 따라서, 입력장치 J의 고장을 검출하면, 상기 입출력관계제어기구는 각각의 연산기에 입력장치 J에 의해 전송될 입력데이터를 입력장치 J'에 의해 전송될 입력데이터로 대체하도록 지시한다. 이렇게 함으로써, 입력장치 J의 고장의 영향을 피할 수 있다.
상술한 설명에 있어서, 도 14 및 도 15에 도시된 데이터베이스의 내용은 처리시스템의 설계단계에서 또는 그것의 유지보수시에 룰 베이스(rule base)상에 지정하여 설치된다. 이 방법을 예시를 참조하여 설명한다.
도 16은 실행연산기제어기구에 주어질 데이터 형식을 나타낸다. 도 14에 개략적으로 표현된 내용은 소정의 문법에 따라 텍스트데이터로 주어질 수 있다.
도 16에서, 1행(1601)은 코멘트문을 가리킨다. 2행(1602) 이하에는 기기 A 및 기기 B에 관련되는 보호 기능들이 설정된다.
우선, 기기 A의 보호에 관련되는 태스크가 선언된다. 3행(1603)의 기술에 의하여, 기기 A, 메인, 상시계의 기능을 보호하는 프로그램 모듈은 상시처리를 수행하는 태스크로서 "module_A1"의 명칭으로 선언된다. 마크 # 이하의 "기기 A, 메인, 상시계" 문자열은 코멘트문이다. 나아가, 4행(1604)의 기술에 의하여, 기기 A, 메인, 대기계의 기능을 처리하는 프로그램 모듈은 대기처리를 수행하는 태스크로서 "module_A2"의 명칭으로 선언된다. 동일한 방식으로, 기기 A에 대하여, 합계 4개의 태스크가 선언된다. 각 태스크의 실시간성에 관련되는 기술, 예를 들면 태스크 처리 개시시간, 종료시간 및 우선순위는 별도로 설정된다.
다음, 기기 A의 보호에 관련되는 상시계와 대기계간의 관계가 선언된다. 7행(1605)에는 module_A1이 module_A2에 의해 백업되는 것이 정의된다. 이하, 동일한 방식으로, 2중 안전 기능의 백업을 기술한다.
기기 A의 정의 데이터의 최후에는 태스크간 배타관계가 선언된다. 9행(1606)에는 "기기 A, 메인, 상시계" 기능 및 "기기 A, 2중 안전, 상시계" 기능이 상이한 연산기에 할당되는 제약이 최고 우선순위로 정의된다. 11행(1607)에는, "기기 A, 메인, 상시계" 기능 및 "기기 A, 2중 안전, 상시계" 기능을 상이한 연산기로 할당하는 것이 바람직한 것을 우선순위가 더 낮은 조건으로서 정의한다. 이하, 동일한 방식으로, 4개의 태스크간에 존재하는 5개의 관계들이 정의된다.
도 16에 도시된 실행연산기제어기구에 주어진 텍스트데이터에는, 상기 기기 A에 관련되는 보호와 동일한 방식으로, 상기 기기 B에 관련되는 설정도 기술된다. 이러한 방식으로, 도 14에 개략적으로 도시된 신뢰도상의 태스크간 제약조건의 룰을 얻을 수 있다.
다음, 입출력관계제어기구에 주어질 데이터 형식을 설명한다. 도 15에 개략적으로 표현되는 내용은 소정의 문법에 따라 도 17에 도시된 텍스트데이터로 주어질 수 있다.
도 17에서, 1행(1701)은 코멘트문을 가리킨다. 2행(1702) 이하에는 입력장치에 관련되는 설정, 출력장치에 관련되는 설정 및 입출력에 관련되는 설정이 실행된다.
우선, 입력장치 J에 의해 전송될 입력량이 선언된다. 3행(1703)의 기술에 의하여, "a_bus_v1"의 명칭은 입력장치 J의 첫번째 입력량으로 설정된다. 이하, 입력장치 J에 의해 송신되는 전체 입력량이 선언되고 그 명칭들이 설정된다.
동일한 방식으로, 출력장치에 의해 수신되는 출력량도 선언된다. 17행(1704) 이하에는 출력장치 L이 정의된다. 입력량에 관련되는 기술과 동일한 방식으로, 18행(1705)에는 출력량이 선언되고 그 명칭이 설정된다.
최종적으로, 각 태스크마다, 태스크에 의해 사용되는 입출력량이 설정된다. 22행(1706) 이하에는, 태스크 module_A1의 입출력량이 설정된다. 전술한 태스크를 실현하는 프로그램 모듈에 의해 보유되는 인수들은 순차적으로 설정된다. 23행(1707)에는, 첫번째 인수로서 입력 a_bus_v1을 사용하는 것이 정의된다. 동일한 방식으로, 전술한 프로그램 모듈에 의하여 필요한 입출력량이 모두 정의된다. 그 후, 상기 태스크에 의해 사용되는 입출력량에 대해 대체될 수 있는 것이 설정된다. 28행(1708)에는, 첫번째 인수로서 사용된 입력 a_bus_v1에 에러가 발생할 때, a2_bus_v1을 대신 사용하는 것이 정의된다.
도 17에 도시된 입출력관계제어기구에 주어진 텍스트데이터에 의하여, 도 15에 개략적으로 도시된 입출력량의 관계와 그것의 대체에 관련되는 룰이 주어질 수 있다.
도 16 및 도 17에 도시된 문법에 기초한 표현방법을 도입하면, 설계자와 운용자는 직접 룰을 텍스트에 쓸 수 있다. 또한, GUI를 구비한 설계 및 운용 툴로부터 상기 표현의 텍스트 파일을 출력하는 기구에 의하여, 설계자 및 운용자는 더 용이한 설계 및 운용의 환경을 얻는다.
상술한 바와 같이, 실시예 1에 도시된 실행연산기제어기구를 구비한 고신뢰형 실시간 분산처리시스템이 전력기기의 디지털보호릴레이를 실현하는 태스크를 제어하면, 고신뢰형 보호릴레이시스템이 실현될 수 있다.
제어대상 태스크의 상관관계는 여러 가지가 있다. 예를 들면, 상술한 실시예3에 설명된 바와 같이, 첫번째 연산 목적의 상시계 태스크와 대기계 태스크의 상관관계로서, 상이한 연산기에 의한 실행의 제약 또는 조건이 인용될 수 있다. 이것에 따르면, 연산기 고장시의 보호릴레이 기능 정지를 방지하는 디지털보호릴레이가 실현된다.
또한, 보호릴레이의 메인 검출 기능을 실현하는 메인 검출 태스크 및 2중 안전 요소로서 사고 검출 기능을 실현하는 사고 검출 태스크를 구비하는 보호릴레이에는, 동일한 보호릴레이의 메인 검출 태스크와 사고 검출 태스크간의 상관관계로서, 상이한 연산기에 의한 실행의 제약 또는 조건이 인용될 수 있다. 이것에 따르면, 오동작을 방지하는 디지털보호릴레이가 실현된다.
이에 부가하여, 버스보호릴레이의 패키지 버스 보호 기능을 실현하는 패키지 버스 보호 태스크 및 분할 버스 보호 기능을 실현하는 분할 버스 보호 태스크를 구비하는 보호릴레이에는, 동일한 버스에 대한 패키지 버스 보호 태스크 및 분할 버스 보호 태스크간의 상관관계로서, 상이한 연산기에 의하여 실행의 제약 또는 조건이 인용될 수 있다. 이것에 따르면, 버스보호릴레이 오동작을 방지하는 디지털보호릴레이가 실현된다.
더 나아가, 병렬회선으로 구성된 송전선의 각각에 대하여, 송전선보호릴레이 기능을 실현하는 송전선 태스크를 구비한 보호릴레이에는, 동일한 병렬회선에 속하는 송전선 보호에 대한 복수의 송전선 태스크의 상이한 연산기에 의하여 실행의 제약 또는 조건이 인용될 수 있다. 이것에 따르면, 병렬 송전선의 보호에 대한 연산기 고장의 영향을 최소화하는 디지털보호릴레이가 실현된다.
상술한 바와 같이, 고신뢰형 실시간 분산처리시스템에 의해 제어되는 고신뢰형 보호릴레이시스템을 도면을 참조하여 제5실시예로서 설명한다.
우선, 전체 시스템 이미지가 도 18에 도시되어 있다. 광매체의 통신을 실현하는 광통신로(1801)를 통하여, 복수의 연산기, 예를 들어 본 예시에서는 3개의 연산기(1802 내지 1804)가 네트워크에 접속된다. 여기서 나타낸 각 연산기는 디지털 연산을 실행하는 계산기이다. 하나의 연산기는 전원, CPU 및 메모리 등의 기본 구성을 독립적으로 구비하며, 타 연산기의 정지 또는 고장에 의하여 동작 성능에 영향을 받지 않는 장치이다. 또한, 각 연산기는 동일한 프로그램 실행 환경을 가지므로, 독립적인 프로그램 모듈이 전체 연산기에 의해 실행될 수 있다. 또한, 각 연산기는 광통신망(1801)을 통해 상용 주파수에 동기된 신호를 획득한다. 따라서, 상용 주파수의 전기각과 동기된 보호릴레이연산이 수행될 수 있다.
광통신망(1801)에는 연산기 뿐만 아니라, 입출력 장치가 접속된다. 이러한 형태는 전력선의 하나의 상(phase)을 고려하여 도면에 도시되어 있다. 상용 전력을 공급하는 전력선(1805)에는 차단기(1806) 및 변압기(1807)가 설치되고, 상기 각각의 장치는 입출력 장치(1808 내지 1811)을 구비한다. 상기 시스템은 이들 입출력 장치가 광통신망(1801)에 접속되는 형태를 가진다.
상기 입출력 장치(1808 내지 1811)는 아날로그-디지털 변환 기능, 통신 기능 및 전기-광 변환 기능을 구비하고, 상기 차단기(1806)와 변압기(1807)에 장착된다. 상기 입출력 장치(1808, 1809)는 차단기(1806)의 2중통신단으로서 차단기로부터 연산기로의 전압-전류 정보 및 연산기로부터 차단기로의 차단제어 정보를 위한 통신기능을 실현한다. 동일한 방식으로, 입출력 장치(1810, 1811)는 변압기(1807)의 2중통신단으로서 통신 기능을 실현한다. 각각의 입출력 장치 및 연산기는 전원의 관점에서 뿐만 아니라 절연의 관점에서도 서로 독립적이다.
앞서 설명한 실시예와 동일한 방식으로, 이러한 시스템에서는 실행연산기제어기구(1812) 및 입출력관계제어기구(1813)가 하나 또는 복수의 임의의 연산기에 설치된다.
전술한 구성을 구비한 고신뢰형 실시간 분산처리시스템에 의하여 제어되는 고신뢰형 보호릴레이시스템에 있어서는, 실시간성을 구비한 복수의 태스크의 처리가 요구된다. 그러한 태스크들은 도 19에 추상적으로 표현된다. 도 19에 도시된 박스형 참조부호(1901 내지 1906)는 연산기(1802 내지 1804)에 의해 처리되는 태스크를 가리킨다.
참조부호(1901)로 나타낸 태스크는 이하 "Task1" 또는 "TrPrMN"이라 칭한다. Task1은 메인 변압기 차동 릴레이 요소 87T 연산 및 상기 요소의 발화조건을 규정하는 시퀀스 연산을 실현하기 위한 태스크이다.
참조부호(1902)로 나타낸 태스크는 이하 "Task2" 또는 "TrPrFD"라 칭한다. Task2는 상술한 Task1의 2중 안전 기능을 수행하는 상이한 알고리즘 사고 검출 기능 및 상기 요소의 발화조건을 규정하는 시퀀스 연산을 실현하기 위한 태스크이다.
참조부호(1903)로 나타낸 태스크는 이하 "Task3" 또는 "TrPrMN-FT"라 칭한다. Task3은 상술한 Task1의 내고장성 기능을 수행하는 대기 기능을 실현하기 위한 태스크이다. Task1이 실행불능이면, 즉시 그 기능을 백업하기 위하여, Task3은Task1과 동일한 알고리즘의 최소부분의 연산을 수행하여 계속해서 대기한다. Task3은 입력량의 리딩 또는 디지털 필터링 처리 등의 앞선 값(preceding value)을 유지하는데 필요한 처리를 계속하는 연산을 실시한다.
참조부호(1904)로 나타낸 태스크는 이하 "Task4" 또는 "TrPrFD-FT"라 칭한다. Task4는, Task3과 동일한 방식으로, 상술한 Task2의 내고장성 기능을 수행하는 대기 기능을 실현하기 위한 태스크이다.
참조부호(1905)로 나타낸 태스크는 이하 "Task5" 또는 "SS-P/P'"라 칭한다. Task5는 도 18에 설명된 입출력 장치 P(도 18에 도시된 1808) 및 입출력 장치 P'(도 18에 도시된 1809)의 정상성을 감시하는 기능을 수행한다. 예를 들면, 입출력 장치에는, 전력선으로부터 입력되는 전기량(아날로그값)에 상용 주파수에 대한 제12차 고조파 성분을 검사용 신호로서 중첩하는 하드웨어 기능이 추가된다. 이렇게 함으로써, 임의의 연산기가 입출력 장치로부터 송신 또는 수신된 정보에 포함된 검사용 고조파 성분을 감시하는 경우, 입력신호의 정상성이 감시될 수 있다.
참조부호(1906)로 나타낸 태스크는 이하 "Task6" 또는 "SS-Q/Q'"라 칭한다. Task6은, Task5와 동일한 방식으로, 도 18에 설명된 입출력 장치 Q(도 18에 도시된 1810) 및 입출력 장치 Q'(도 18에 도시된 1811)의 정상성을 감시하는 기능을 수행한다.
이들 복수의 태스크에 대해서는 실시간성이 요구된다. 도 19에 도시된 예시에 있어서는, 도 18에 도시된 3개의 연산기(1802 내지 1804)를 이용하여 Task1 내지 Task6의 6개의 태스크를 소정의 실행시간 이내에 실시하는 것이 요구된다.
도 19에 있어서, Task1 내지 Task6의 6개의 태스크 각각에 대하여 사전에 결정된 실행시간 제약은 1907 내지 1912로 도시되어 있다. 상술한 실시예와 동일한 방식으로, 이들 실행시간 제약에 관련되는 데이터는 실행연산기제어기구에 의해 제어되는 데이터베이스에 사전에 주어진다. 이하, 각각의 실행시간 제약의 내용을 설명한다.
실행시간 제약(1907)에 도시된 내용은, Task1은 Level 1의 실행 우선순위를 가지고, 상기 태스크에 대한 요구는 30 deg의 시간빈도로 발생하며, 발생으로부터 처리까지의 기한이 30 deg라는 것이다. Level 1에 대해서는, 더 작은 값이 더 높은 우선순위를 가리키므로, Level 1은 최고 우선순위 태스크를 의미한다. 처리기한단위 deg는 상용 주파수의 1 사이클에 대한 전기각의 단위로 표현되고, 도 18에 설명된 바와 같이, 상용 주파수의 전기각과 동기인 보호릴레이연산을 수행할 때의 시각을 지정한다.
동일한 방식으로, 실행시간 제약(1908)은, Task2가 Level 1의 실행 우선순위를 가지고, 발생빈도는 30 deg이며, 처리기한은 30 deg라는 것을 가리킨다. 즉, 메인 보호 기능을 실현하는 Task1 및 Task2는 최고 우선순위 태스크라는 것이 규정된다.
또한, 실행시간 제약(1909, 1910)은, 보호 기능의 내고장성을 실현하는 Task3 및 Task4가 최우선에 버금가는 우선순위 태스크이고, 동일한 방식으로, 발생빈도는 30 deg이며, 처리기한은 30 deg라는 것을 규정한다.
한편, 실행시간 제약(1911, 1912)은 설계상 최저 실행 우선순위를 가진다.발생빈도는 10 sec이고, 처리는 2 sec의 기한내에 완료될 수 있다. 또한, Task6에 대해서는, 시스템 시동 후 1 분 동안 상기 태스크가 발생되지 않도록 비주기적인 태스크 발생 룰도 기재된다.
본 실시예에 있어서, 상술한 각각의 태스크에 대해 규정되는 실행시간 제약에 부가하여, 고신뢰형 실시간 분산처리시스템의 앞선 실시예와 동일한 방식으로, 태스크의 상관관계를 규정하는 신뢰도상의 태스크간 제약조건이 고신뢰도 보호릴레이시스템으로서 필요하다.
배타제약(1913 내지 1916)은 Task1 내지 Task4의 관계에 의존하는 신뢰도상의 태스크간 제약조건을 나타낸다. 상술한 실시예와 동일한 방식으로, 이들 신뢰도상의 태스크간 제약조건에 관련되는 데이터는 실행연산기제어기구에 의해 제어되는 데이터베이스에 사전에 주어진다. 이하, 신뢰도상의 각각의 태스크간 제약의 내용을 설명한다.
배타제약(1913)에 도시된 내용은 Task1과 Task3이 Level 1의 배타 우선순위를 가진다는 것을 나타낸다. Level 1에 대해서는, 더 작은 값이 더 높은 우선순위를 나타내므로, Level 1은 연산기의 배타적인 배치가 최우선으로 고려된다는 것을 의미한다. 그 이유는 Task1의 내고장성 기능을 실현하는 Task3이 상이한 연산기에 의해 처리되지 않는다면, 전적으로 무의미하기 때문이다.
동일한 방식으로, 배타제약(1914)은, Task2와 Task4에 대해서, 연산기의 배타적인 배치가 최우선으로 고려된다는 것을 규정한다.
한편, 배타제약(1915)은 Task1 및 Task2가 배타우선순위 Level 2에 있는 것을 나타낸다. Task1의 2중 안전 기능을 실현하는 태스크는 원칙적으로 상이한 연산기에 의해 처리되어야 한다. 그러나, Task2는 사고 검출 시스템으로서 상이한 알고리즘으로 구성되어 있으므로, 메인 검출 Task1과 동일한 연산기에 의해 처리되더라도 무의미하지는 않다. 따라서, 가능한 한 연산기의 배타적인 배치를 고려하도록 신뢰도상의 태스크간 제약이 규정된다.
동일한 방식으로, 배타제약(1916)은 Task3과 Task4에 대하여 가능한 한 연산기의 배타적인 배치를 고려하도록 신뢰도상의 태스크간 제약을 규정한다.
상술한 실행시간 제약 및 신뢰도상의 태스크간 제약의 규정된 내용에 기초하여, 실행연산기제어기구는 태스크의 배치를 결정하고 실행 명령을 제어한다. 그 처리단계를 순차적으로 설명한다. 우선, 시스템 시동시의 동작, 즉 본 실시예의 초기 동작을 구체적으로 설명한다.
도 20은 시스템 시동시 실행연산기제어기구의 동작을 도시한 흐름도이다. 우선, 처리(2001)에서, 실행연산기제어기구는 전체 연산기를 초기화한다. 그런 다음, 각 연산기의 처리능력 상태를 파악하고, 각 연산기의 연산능력을 파악하는 처리(2002)를 실시한다. 다음, 처리(2003)에서, 실행연산기제어기구는 데이터베이스로부터 전체 태스크와 관련되는 특정된 내용을 호출한다. 구체적으로는, 상술된 실행시간 제약 및 신뢰도상의 태스크간 제약들이다. 이 중에서, 시스템 시동의 개시부터 시동요구를 갖는 태스크를 선택하는 처리(2004)를 실시한다. 도 19에 도시된 예시에서, Task1 내지 Task5는 초기 시동요구 태스크이지만 Task6은 아니다.
처리(2004)에 의하여, 초기 시동요구 태스크에 관련되는 실행시간 제약 및신뢰도상의 태스크간 제약의 파악이 완료된다. 제약조건에 관련되는 데이터에 기초하여, 처리(2005)에서, 실행연산기제어기구는 위반량을 최소화하고, 즉 각 태스크의 실행시간 제약을 따르고, CPU 사용효율을 최대화하며, 중요한 태스크에 우선순위를 주고, 신뢰도상의 태스크간 제약조건이 훼손되는 것을 방지함으로써, 실시될 태스크 및 상기 태스크가 할당되는 연산기를 선택한다. 그것을 위하여, 조합 최적화 문제를 해결하는 연산처리를 수행하고, 이 결과로부터 태스크 배치를 결정한다. 각 태스크의 배치위치가 결정되면, 실행연산기제어기구는 상기 태스크의 프로그램 모듈(이하, 태스크 모듈이라 함)을 실행형식으로 할당하는 처리(2006) 및 상기 할당된 태스크 모듈을 실행하는 명령을 출력하는 처리(2007)를 행한다.
나아가, 실행연산기제어기구는 초기 태스크의 시동 뿐만 아니라 차기시간단면에서의 태스크 배치를 사전에 연산하여 태스크 모듈을 할당한다. 차기시간단면은 태스크 발생 요구가 다음에 존재하는 시간단면이다. 본 실시예의 차기시간단면은, 도 19에 도시된 바와 같이, 최소 태스크 발생빈도가 30 deg이므로, 시동시로부터 전기각에 동기하여 30 deg 후의 것이다.
처리(2008)에서, 실행연산기제어기구는 차기시간단면에서의 태스크 요구를 앞서 설명된 실행시간 제약에 규정된 태스크의 실시간성으로부터 파악하여, 전술한 바와 동일한 방식으로 차기 태스크 배치 최적화 처리(2009)를 행한다. 할당된 초기 태스크 모듈의 배치와 지금 결정된 차기 태스크 모듈의 배치를 비교하여, 필요에 따라 차기 태스크 모듈을 목적 연산기에 할당하는 처리(2010)를 행한다. 이렇게 함으로써, 차기시간단면에는 외부 요인으로 인하여 발생되는 태스크가 없고, 태스크요구가 예정대로 발생되면, 상기 태스크는 최적의 배치에서 실행될 수 있다.
도 21은 상술한 실행연산기제어기구의 시동시 동작에 의해 할당된 초기 태스크 배치의 상태를 나타낸다. 연산기 X(도면에서 2101)에는 Task1(도면에서 2102)과 Task5(도면에서 2103)가 배치되고, 연산기 Y(도면에서 2104)에는 Task2(도면에서 2105)과 Task3(도면에서 2106)이 배치되며, 연산기 Z(도면에서 2107)에는 Task4(도면에서 2108)가 배치된다. 이러한 배치에 있어서, 도 19의 1913 내지 1916으로 도시된 신뢰도상의 태스크간 제약(여기서는 2개의 태스크의 배타제약)은 모두 만족된다. 현단계에서 요구된 전체 태스크의 처리가 실행되어, 전체 시스템은 건전한 상황에 있다. 예를 들면, 시간이 경과하여 Task6 요구가 발생되더라도, 실행연산기제어기구는 Task5의 배치부분에 자동적으로 Task6을 할당하고, 종료후 Task5로 그것을 복귀시키는 처리를 계획할 수 있으므로, 전체 시스템의 건전한 상태가 유지될 수 있게 한다.
시스템 전체로서 상기 계획 이외의 상황이 발생되면, 예를 들어 임의의 연산기가 사용불능이 되면, 실행연산기제어기구는 태스크의 재할당을 실시하여야 한다. 그 처리 흐름은 도 22에 도시되어 있다.
우선, 실행연산기제어기구는, 실행연산기제어기구 자신의 전회(前回) 시동으로부터 상정된 시간(본 실시예에서는 30 deg)이 경과하면, 상기 처리를 시작한다. 그것은 전기각에 동기된 신호를 인터럽션 트리거로 설정하는 처리(2201)에 의해 설치된다.
실행연산기제어기구는, 시동후 우선, 연산능력 테이블, 즉 연산기의 상태가각종 감시 결과를 수집함으로써 변화되는지의 여부를 판단하는 처리(2202)를 실시한다. 장치 이상이 발견되면, 내고장성 기능을 수행하는 처리를 시작한다. 이것을 후술한다. 이하, 장치 이상이 없을 때의 처리를 설명한다.
우선, 처리(2203)에서, 실행연산기제어기구는 현시점 태스크 요구를 읽는다. 본 시스템의 임의의 태스크는, 자신의 동작의 결과로서 또 다른 태스크를 시동하는 것이 필요할 때, 실행연산기제어기구에 태스크 요구를 제시하여야 한다. 예를 들어, Task1의 메인 검출 태스크는 이상 입력량을 내보내는 기능을 구비하고, 그 때에 정밀한 이상 감시를 행하는 요구를 제시하도록 하는 구성이다. 즉, Task1은 이상 입출력의 검출의 조건하에서 실행연산기제어기구에 Task6 요구를 발신한다. 이러한 요구는 처리(2203)에 의해 읽힌다.
이러한 현시점 태스크 요구와 실행연산기제어기구의 전회 실행에서의 차기단면의 예정된 태스크간의 차이가 있는지의 여부는 예정외 태스크 요구의 존재의 판정처리(2204)에 의해 판단되어 상기 처리가 분기된다.
예정외 태스크가 없으면, 이 시간단면에서 실행하는 태스크 모듈은 실행연산기제어기구의 전회 실행에 미리 할당된다. 따라서, 현시점 태스크 실행 명령은 처리(2205)에 의해 즉시 송신된다.
예정외 태스크가 있으면, 처리(2206)에서는 실행가능한 태스크, 즉 연산기에 할당된 태스크군의 태스크 모듈의 배치를 재최적화한다. 예정외 태스크의 실행시간 제약이 높은 우선순위라면, 실행연산기제어기구는 태스크들을 재배치할 수 있다. 그것들이 실제로 재배치되는지의 여부는 다른 할당된 태스크와의 신뢰도상의 태스크간 제약에 의존한다.
어느 한 경우에, 실행연산기제어기구는 실행가능한 태스크내에서 최적의 배치를 자동적으로 선택한다. 그 후, 처리(2207)에서는 상술한 실행가능한 태스크내에서 최적의 배치 태스크로 실행 명령을 송신한다. 태스크 모듈 할당에 비해 시간 허용(time allowance)이 있으면, 처리(2208)에서는 보충 태스크로서 일부의 태스크를 할당하고, 처리(2209)에서는 상기 보충 태스크에 즉시 실행 명령을 송신한다.
예정외 태스크가 있거나 또는 예정외 태스크가 없더라도, 처리(2210 내지 2212)는 차기시간단면에서의 태스크 요구에 대한 배치 최적화 처리를 수행하고, 필요에 따라 차기 태스크 모듈을 목적 연산기에 할당하는 처리를 실시한다. 이 공정은 도 20에 설명된 2008 내지 2010과 완전히 동일하다.
다음, 장치 이상이 판정처리(2202)에 의해 인식되어, 내고장성 기능이 수행되는 경우를 설명한다.
우선, 처리(2213)에서는 이상이 발생하는 장치내에서 실행된 태스크에 대하여 내고장성 기능을 수행하는 대기계 태스크(이하, 내고장성 태스크라 함)의 존재를 검색한다. 도 19에 도시된 예시에서, [Task1] TrPrMN에 대해서는, [Task3] TrPrMN-FT가 내고장성 태스크라는 것이 규정된다. 상술한 바와 같이, 이상 발생시 장치에서 실행중인 태스크에 대한 내고장성 태스크는 데이터베이스로부터 검색된다.
이 경우, 내고장성 태스크가 존재하면, 이에 대응하는 태스크를 대기 처리 모드로부터 메인 처리 모드로 즉시 전환하는 것이 필요하다. 이것은 처리(2213) 및처리(2214)에 의하여 검색된 내고장성 태스크로 주종모드전환명령을 송신하여 실현된다. 상기 주종모드를 전환함으로써, 상기 기능이 즉시 유지된다.
주종모드의 전환 후, 상기 태스크는 재배치된다. 이 개념은 기본적으로 이미 설명된 예정외 태스크의 발생에 대한 처리와 동일하다. 이미 배치된 태스크 모듈의 조합에서, 상기 기구는 최적의 실행 모듈을 선택한다. 그러나, 연산기 이상이 이미 발생되었으면, 우선, 처리(2215)에서는 연산능력 테이블을 재작성하여, 실행연산기제어기구에 의해 파악된 연산기의 상태를 갱신한다. 그런 다음, 앞서 설명된 처리(2206 내지 2209)에서는 현 상황에서 실행가능한 최적의 태스크를 선택하고, 그것에 실행 명령을 송신한다. 또한, 차기시간단면에서의 태스크 배치 최적화도 앞서 설명된 처리(2210 내지 2212)에 의해 실시된다.
상술한 도 22의 처리 흐름도에 따르면, 연산기 이상이 발생되면, 내고장성 기능이 즉시 수행된 후, 차기시간단면, 즉 30 deg의 스텝 후에는 최적의 태스크 배치가 자율적으로 얻어지고, 실행이 계속된다.
이하, 도 21에 도시된 태스크 배치의 예시를 이용하여, 연산기 이상 발생시의 동작을 도 23을 참조하여 설명한다. 태스크 규정 내용(실행시간 제약 및 신뢰도상의 태스크간 제약)은 도 19에 도시된 것과 동일하고, 태스크 배치가 도 21에 도시된 것과 동일한 시간단면에서 연산기 이상이 발생하는 경우를 고려한다.
도 23에서, 연산기(2301 내지 2303)는 도 21에 도시된 연산기(2101, 2104, 2107)과 동일하고, 태스크 배치도 같다. 연산기(2301)가 사용불능이 되면, [Task1] TrPrMN(도면에서 2304로 도시됨) 및 [Task5] 입출력 P/P' 감시(도면에서 2305로 도시됨)가 실행불능이 된다. 이 때의 실행연산기제어기구의 동작을 도 22에 도시된 흐름도에 따라 아래에 설명한다.
우선, 처리(2201)에서 인터럽트 및 시동하는 실행연산기제어기구는 처리(2202)에서의 연산기 X(도 23에서 2301로 도시됨)의 이상을 판단한다. 이 경우, 프로그램은 즉시 내고장성 시동 처리로 이행한다. 처리(2213)에서, 상기 기구는 내고장성 태스크 [Task3] TrPrMN-FT가 [Task1] TrPrMN에 대하여 연산기 Y(도 23에서 2302로 도시됨)에 의해 실행되는 것을 파악한다. [Task5] 입출력 P/P' 감시에 대해서는, 내고장성 태스크가 존재하지 않는다. 그 후, 즉시 처리(2214)에서, 상기 기구는 [Task3] TrPrMN-FT에 주종모드를 전환하도록 지시한다. 도 24에 도시된 바와 같이, 도면에 도시된 [Task3] TrPrMN-FT(2401)는 [Task1] TrPrMN 또는 등가 대신에 Task1의 기능을 계속해서 제공한다.
다음, 처리(2215)에서, 연산기 X가 사용될 수 없는 상황을 반영한 후, 상기 기구는, 만일 있으면, 할당된 태스크 모듈에 의하여, 더 나은 태스크 실행 형태를 계획하는 처리(2216)를 실시한다. 여기서, 구체적으로, 상기 기구는 도면에 도시된 [Task1] TrPrMN(2401)와 도면에 도시된 [Task2] TrPrFD(2402)의 신뢰도상의 태스크간 제약 위반(배타 Level 2) 및 임의의 연산기에 의해 실행되지 않은 [Task3] TrPrMN-FT의 실행시간 제약 위반(실행 우선순위 Level 2)을 해소하는 조합에 대하여 검색하지만, 본 예시에서는 그 해(解)가 존재하지 않는다. 따라서, 도 24에 도시된 태스크 배치 형태는 연산기 X의 이상에 대한 긴급 배치이다. 처리(2207)에서, 실행 명령은 태스크(2401 내지 2403)에 송신된다. 보충되어 실행될 수 있는 태스크가 존재하지 않으므로, 처리(2208, 2209)에서는 태스크 할당 및 실행 명령 이슈를 실행하지 않는다.
다음, 상기 기구는 차기시간단면, 즉 전기각 30 deg 경과 후의 장래단면에서의 최적 배치를 계획하고, 태스크 모듈을 할당한다. 우선, 처리(2210)에서, 상기 기구는 태스크 요구를 조사한다. 이 경우, 도 19에 도시된 태스크 규정 내용에 기초하여, 상기 기구는 Task1 내지 Task4의 태스크 요구를 파악한다. 그 후, 처리(2211)에서, 상기 기구는 차기 태스크 배치 최적화를 실시한다. 그 결과, 상기 기구는 도 24에 도시된 해(태스크 배치)를 얻을 수 있다.
도 25에 도시된 태스크 배치를 도 24에 도시된 것과 비교하면, 도면의 [Task1] TrPrMN(2501)의 배치는 변하지 않지만, 도면에 도시된 [Task4] TrPrFD-FT(2502) 및 도면에 도시된 [Task2] TrPrFD(2503)의 배치는 교체된다. 따라서, [Task1] TrPrMN 및 [Task2] TrPrFD의 신뢰도상의 태스크간 제약 위반(배타 Level 2)은 해소될 수 있다. 그러나, [Task3] TrPrFD-FT의 실행시간 제약 위반(실행 우선순위 Level 2)에 대해서는, 이것을 해소하는 배치가 발견되지 않는다. 따라서, 도 25에 도시된 태스크 배치가 얻어진다.
최종적으로, 상기 기구는 처리(2212)에서 차기 태스크 모듈을 할당한다. 구체적으로, 상기 기구는 [Task4] TrPrFD-FT의 태스크 모듈은 연산기 Y에, [Task2] TrPrFD의 태스크 모듈은 연산기 Z에 할당한다. 이렇게 함으로써, 도 25에 도시된 태스크 배치를 실현하는데 필요한 태스크 모듈은 차기시간단면에 준비된다.
차기시간단면, 즉 전기각 30 deg 경과후의 장래단면에서의 연산기 상태 및태스크 요구 상태에 변화가 없다면, 실행연산기제어기구는 실행 명령을 태스크(2501 내지 2503)에 송신함으로써만 최적의 태스크 처리를 계속할 수 있다.
본 발명의 분산처리시스템에 의하면, 실시간성과 신뢰성의 양립을 실현하는 태스크 할당이 연산기의 구성 및 능력에 따라 실행된다. 또한, 태스크 스케쥴링을 실행함으로써, 상기 분산처리시스템은 항상 계획적으로 고신뢰도를 실현할 수 있다. 또한, 태스크 시동 요구가 수시로 발생하는 처리에 대해서, 또는 연산기의 고장이나 보수의 경우에도, CPU 사용효율과 신뢰도의 양립을 실현하는 기능 유지를 얻을 수 있다.

Claims (24)

  1. 보호릴레이 기능을 실현하는 복수의 태스크를, 네트워크에 의해 접속된 복수의 연산기로 처리하는 정보처리장치로서,
    상기 복수의 태스크 중에서 특정한 연산기에 의하여 처리될 태스크의 조합을 저장하는 수단과,
    상기 특정한 연산기에 의해 처리될 태스크의 상기 조합 중 어느 하나를 선택하여, 상기 특정한 연산기에 의해 상기 선택된 조합의 상기 태스크를 실행하는 수단을 포함하여 이루어지는 것을 특징으로 하는 정보처리장치.
  2. 제 1항에 있어서,
    상기 복수의 태스크는 보호릴레이에 포함되는 처리를 항상 수행하는 상시계 태스크 및 상기 보호릴레이에 포함되는 상기 처리를 비상시에 수행하는 대기계 태스크를 포함하고,
    상기 특정한 연산기에 의하여 처리될 수 있는 상기 태스크의 상기 조합은 상기 상시계 태스크와 상기 대기계 태스크의 조합을 포함하지 않는 것을 특징으로 하는 정보처리장치.
  3. 제 1항에 있어서,
    상기 복수의 태스크는 보호릴레이의 메인 검출 기능을 실현하는 메인 검출태스크 및 보호릴레이의 사고 검출 기능을 실현하는 사고 검출 태스크를 포함하고,
    상기 특정한 연산기에 의해 처리될 수 있는 상기 태스크의 상기 조합은 동일한 보호릴레이의 메인 검출 태스크와 사고 검출 태스크를 포함하지 않는 것을 특징으로 하는 정보처리장치.
  4. 제 1항에 있어서,
    상기 복수의 태스크는 버스보호릴레이의 패키지 버스 보호 기능을 실현하는 패키지 버스 보호 태스크 및 보호릴레이의 분할 버스 보호 기능을 실현하는 분할 버스 보호 태스크를 포함하고,
    상기 특정한 연산기에 의해 처리될 수 있는 상기 태스크의 상기 조합은 동일한 버스에 대한 패키지 버스 보호 태스크 및 동일한 버스에 대한 분할 버스 보호 태스크를 포함하지 않는 것을 특징으로 하는 정보처리장치.
  5. 제 1항에 있어서,
    상기 복수의 태스크는 병렬회선으로 구성되는 각각의 송전선의 송전선보호릴레이 기능을 실현하는 송전선 태스크를 구비하고,
    상기 특정한 연산기에 의해 처리될 수 있는 상기 태스크의 상기 조합은 동일한 병렬회선에 속하는 송전선 보호에 대한 복수의 송전선 태스크를 포함하지 않는 것을 특징으로 하는 정보처리장치.
  6. 보호릴레이 기능을 실현하는 복수의 태스크를, 네트워크에 의해 접속된 복수의 연산기로 처리하는 정보처리장치로서,
    상기 복수의 태스크 중에서 특정한 연산기에 의해 처리되지 않는 태스크의 조합을 저장하는 수단과,
    상기 특정한 연산기에 의해 처리되지 않는 상기 태스크의 상기 조합을 제외한 조합의 태스크를 상기 특정한 연산기로 실행하는 수단을 포함하여 이루어지는 것을 특징으로 하는 정보처리장치.
  7. 제 6항에 있어서,
    상기 복수의 태스크는 보호릴레이에 포함되는 처리를 항상 수행하는 상시계 태스크 및 상기 보호릴레이에 포함되는 상기 처리를 비상시에 수행하는 대기계 태스크를 포함하고,
    상기 특정한 연산기에 의해 처리되지 않는 상기 태스크의 상기 조합은 상기 상시계 태스크와 상기 대기계 태스크의 조합을 포함하는 것을 특징으로 하는 정보처리장치.
  8. 제 6항에 있어서,
    상기 복수의 태스크는 보호릴레이의 메인 검출 기능을 실현하는 메인 검출 태스크 및 상기 보호릴레이의 사고 검출 기능을 실현하는 사고 검출 태스크를 포함하고,
    상기 특정한 연산기에 의해 처리되지 않는 상기 태스크의 상기 조합은 동일한 보호릴레이의 메인 검출 태스크와 사고 검출 태스크를 포함하는 것을 특징으로 하는 정보처리장치.
  9. 제 6항에 있어서,
    상기 복수의 태스크는 버스보호릴레이의 패키지 버스 보호 기능을 실현하는 패키지 버스 보호 태스크 및 보호릴레이의 분할 버스 보호 기능을 실현하는 분할 버스 보호 태스크를 포함하고,
    상기 특정한 연산기에 의해 처리되지 않는 상기 태스크의 상기 조합은 동일한 버스에 대한 패키지 버스 보호 태스크 및 동일한 버스에 대한 분할 버스 보호 태스크를 포함하는 것을 특징으로 하는 정보처리장치.
  10. 제 6항에 있어서,
    상기 복수의 태스크는 병렬회선으로 구성되는 각각의 송전선의 송전선보호릴레이 기능을 실현하는 송전선 태스크를 구비하고,
    상기 특정한 연산기에 의해 처리되지 않는 상기 태스크의 상기 조합은 동일한 병렬회선에 속하는 송전선 보호에 대한 복수의 송전선 태스크를 포함하는 것을 특징으로 하는 정보처리장치.
  11. 하나 또는 복수의 네트워크에 의해 접속된 복수의 연산기로 복수의 태스크를실행하는 고신뢰형 실시간 분산처리시스템으로서,
    상기 복수의 태스크 각각에 대하여, 상기 태스크의 실행을 소정의 시간내에 완료하는 제약 또는 조건이 부가되는 계산 처리가 실행될 때, 복수의 임의의 태스크간의 제약이나 상관관계 또는 각각의 제약이나 상관관계를 상이한 연산기로 실행하는 제약 또는 조건의 충족도를 판단하는 처리가 실행됨으로써, 전체 상기 연산기에 의해 실행가능한 범위내에서, 최대 또는 충분한 신뢰성이 얻어지는 것을 특징으로 하는 고신뢰형 실시간 분산처리시스템.
  12. 제 11항에 있어서,
    상기 복수의 태스크 각각에 대하여, 상기 실행을 상기 소정의 시간내에 완료하는 것에 대한 실행시간 평가지표가 제공되고, 상기 복수의 태스크간의 상기 상관관계 각각을 상이한 연산기로 실행하는 실행연산기 평가지표가 제공되며,
    상기 시스템은, 상기 전체 연산기에 의하여 실행가능한 범위내에서 상기 평가지표군이 최대가 되도록, 실행대상 태스크의 선택처리 및 상기 선택된 태스크를 계산하는 연산기의 선택처리를 실행하는 실행연산기제어기구를 구비하는 것을 특징으로 하는 고신뢰형 실시간 분산처리시스템.
  13. 제 12항에 있어서,
    상기 시스템은, 각각의 상기 태스크에 대한 상기 실행시간 평가지표와 상기 태스크 이외의 태스크간의 상기 상관관계 각각에 대한 상기 실행연산기 평가지표를사전에 데이터베이스에 저장하고, 상기 지표들을 참조하여 상기 태스크 선택처리 및 상기 연산기 선택처리를 실행하는 상기 실행연산기제어기구를 구비하는 것을 특징으로 하는 고신뢰형 실시간 분산처리시스템.
  14. 제 12항에 있어서,
    상기 각각의 태스크에 대한 상기 실행시간 평가지표와 상기 태스크 이외의 태스크간의 상기 상관관계 각각에 대한 상기 실행연산기 평가지표는 사전에 상기 태스크를 실현하기 위한 프로그램 모듈에 설정되고, 상기 시스템은 상기 태스크로부터 송신되는 상기 지표를 참조하여, 상기 태스크 선택처리 및 상기 연산기 선택처리를 실행하는 상기 실행연산기제어기구를 구비하는 것을 특징으로 하는 고신뢰형 실시간 분산처리시스템.
  15. 제 12항에 있어서,
    상기 각각의 태스크를 제어하는 이름이 제공될 때, 상기 태스크명을 표시하는 기호에, 상기 태스크에 대한 상기 실행시간 평가지표를 기술하는 기호 및 상기 태스크 이외의 태스크간의 상기 상관관계 각각에 대한 상기 실행연산기 평가지표를 기술하는 기호가 포함됨으로써, 상기 시스템은 사전에 부여되는 상기 태스크명으로부터 상기 실행시간 평가지표 및 상기 실행연산기 평가지표를 추출하는 상기 실행연산기제어기구를 구비하는 것을 특징으로 하는 고신뢰형 실시간 분산처리시스템.
  16. 제 12항 내지 제 15항 중 어느 한 항에 있어서,
    상기 실행연산기제어기구의 처리는 상기 네트워크상의 복수의 연산기에 의해 실행되는 것을 특징으로 하는 고신뢰형 실시간 분산처리시스템.
  17. 제 12항 내지 제 15항 중 어느 한 항에 있어서,
    상기 실행연산기제어기구의 처리는 상기 네트워크에 항상 접속되어 있지는 않은 하나 또는 복수의 연산기에 의해 실행되는 것을 특징으로 하는 고신뢰형 실시간 분산처리시스템.
  18. 제 12항 내지 제 16항 중 어느 한 항에 있어서,
    상기 실행연산기제어기구는 항상 상기 연산기의 동작 상태를 감시하여, 상기 네트워크상의 임의의 상기 연산기의 상태에 변화가 검출되면, 상기 태스크 선택처리 및 상기 연산기 선택처리를 재실행하는 것을 특징으로 하는 고신뢰형 실시간 분산처리시스템.
  19. 제 18항에 있어서,
    상기 실행연산기제어기구는 현재의 계산단면으로부터 장래에 발생될 태스크의 존재 및 상기 태스크에 관련되는 상기 평가지표군을 관리함으로써, 복수의 시간단면을 통하여 상기 태스크 선택처리 및 상기 연산기 선택처리에 대한 최적해를 구하여, 태스크 스케쥴링을 실행하는 것을 특징으로 하는 고신뢰형 실시간 분산처리시스템.
  20. 제 18항에 있어서,
    상기 실행연산기제어기구에 의해 제어되는 내용에 포함되지 않은 신규 태스크의 시동 요구가 발생하거나 신규 태스크의 시동 명령이 외부로부터 이루어졌을 때, 상기 실행연산기제어기구는 상기 태스크 선택처리 및 상기 연산기 선택처리를 재실행하는 것을 특징으로 하는 고신뢰형 실시간 분산처리시스템.
  21. 제 18항에 있어서,
    외부 연산기를 통하여 상기 연산기의 활용 상태에 대해 명령이 이루어졌을 때, 상기 실행연산기제어기구는 상기 명령의 내용에 따라 상기 연산기의 활용 상태를 상정함으로써, 상기 태스크 선택처리 및 상기 연산기 선택처리를 재실행하는 것을 특징으로 하는 고신뢰형 실시간 분산처리시스템.
  22. 제 11항에 있어서,
    상기 복수의 태스크 각각의 상기 실행을 상기 소정의 시간내에 완료하는 실행시간 평가지표가 제공되고, 상기 복수의 태스크간의 상기 상관관계 각각을 상이한 연산기로 실행하는 실행연산기 평가지표가 제공되며,
    상기 시스템은, 상기 전체 연산기에 의한 상기 실행가능한 범위내에서 상기 평가지표군이 최대가 되도록, 실행대상 태스크의 선택처리 및 상기 선택된 태스크를 계산하는 연산기의 선택처리를 실행하는 초기 설계를 행할 수 있는 개발 툴을 구비하는 것을 특징으로 하는 고신뢰형 실시간 분산처리시스템.
  23. 제 11항 내지 제 22항 중 어느 한 항에 있어서,
    상기 시스템은, 복수의 연산기 사이를 접속하는 복수의 통신로 각각에 대하여, 상기 태스크로서 통신 내용의 정상성을 검증하는 통신로 감시 태스크의 세트를 구비하고,
    상기 시스템은 동일한 통신로를 검증하는 통신로 감시 태스크의 세트로 구성되는 각각의 태스크를 상이한 연산기로 실행하는 제약 또는 조건의 충족도를 판단하는 처리를 실시함으로써, 상기 각 통신로의 정상성을 파악하는 것을 특징으로 하는 고신뢰형 실시간 분산처리시스템.
  24. 제 11항 내지 제 22항 중 어느 한 항에 있어서,
    상기 시스템은, 상기 태스크로서 소정의 연산식을 검산하는 시험을 실행하여, 네트워크에 의해 접속되는 복수의 다른 연산기와의 통신을 통해 결과를 검증하는 복수의 연산기 감시 태스크를 구비하고,
    상기 시스템은 상기 연산기 감시 태스크 각각을 상이한 연산기로 실행하기 위한 제약 또는 조건의 충족도를 판단하는 처리를 실시함으로써, 이상있는 연산기를 특정하거나 상기 네트워크의 고장을 검출할 수 있는 것을 특징으로 하는 고신뢰형 실시간 분산처리시스템.
KR10-2001-0056548A 2001-02-27 2001-09-13 정보처리장치 및 실시간 분산처리시스템 KR100416201B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001051377A JP2002259147A (ja) 2001-02-27 2001-02-27 情報処理装置及びリアルタイム分散処理システム
JPJP-P-2001-00051377 2001-02-27

Publications (2)

Publication Number Publication Date
KR20020070071A true KR20020070071A (ko) 2002-09-05
KR100416201B1 KR100416201B1 (ko) 2004-01-31

Family

ID=18912171

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0056548A KR100416201B1 (ko) 2001-02-27 2001-09-13 정보처리장치 및 실시간 분산처리시스템

Country Status (6)

Country Link
JP (1) JP2002259147A (ko)
KR (1) KR100416201B1 (ko)
CN (1) CN1200366C (ko)
HK (1) HK1049051B (ko)
SG (1) SG109465A1 (ko)
TW (1) TW525060B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100856468B1 (ko) * 2007-01-08 2008-09-04 재단법인서울대학교산학협력재단 임베디드 소프트웨어의 객체지향 태스크 모델을멀티프로세서 시스템 온 칩 하드웨어 아키텍처로 자동할당하기 위한 방법
KR102575524B1 (ko) * 2022-12-22 2023-09-07 한화시스템(주) 가상화 기반 전투체계를 위한 분산정보처리장치 및 이의 자원 할당 방법

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4345334B2 (ja) * 2003-03-28 2009-10-14 日本電気株式会社 耐障害計算機システム、プログラム並列実行方法およびプログラム
US7287179B2 (en) * 2003-05-15 2007-10-23 International Business Machines Corporation Autonomic failover of grid-based services
JP4457581B2 (ja) 2003-05-28 2010-04-28 日本電気株式会社 耐障害システム、プログラム並列実行方法、耐障害システムの障害検出装置およびプログラム
JP4304535B2 (ja) * 2004-11-17 2009-07-29 日本電気株式会社 情報処理装置及びこのプログラムと、モジュラー型システムの運用管理システムと、コンポーネント選択方法
FR2882165B1 (fr) * 2005-02-11 2007-06-29 Airbus France Sas Systeme et procede de traitements embarques d'essais en vol
US8112527B2 (en) 2006-05-24 2012-02-07 Nec Corporation Virtual machine management apparatus, and virtual machine management method and program
JP4458119B2 (ja) * 2007-06-11 2010-04-28 トヨタ自動車株式会社 マルチプロセッサシステム及びその制御方法
CN102387208B (zh) * 2011-10-21 2014-11-05 百度在线网络技术(北京)有限公司 分布式任务调度方法及任务调度系统
JP5959452B2 (ja) * 2013-02-27 2016-08-02 株式会社東芝 制御システム
WO2015135182A1 (en) * 2014-03-13 2015-09-17 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for evaluating performance of real-time system
CN106444685A (zh) * 2016-12-06 2017-02-22 中国船舶重工集团公司第七〇九研究所 分布式控制系统及其动态调度资源的方法
JP6861895B1 (ja) 2019-05-17 2021-04-21 三菱電機株式会社 データ処理装置、データ処理システム、データ処理方法およびプログラム
JP2021033567A (ja) * 2019-08-22 2021-03-01 株式会社デンソー 電子制御装置
JP7416296B1 (ja) * 2023-02-10 2024-01-17 横河電機株式会社 情報処理装置、情報処理方法、情報処理プログラム及び分散制御システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991749A (en) * 1996-09-11 1999-11-23 Morrill, Jr.; Paul H. Wireless telephony for collecting tolls, conducting financial transactions, and authorizing other activities
US6148324A (en) * 1998-01-05 2000-11-14 Lucent Technologies, Inc. Prioritized load balancing among non-communicating processes in a time-sharing system
DE19844677C2 (de) * 1998-08-07 2001-05-31 Khaja Ali Hassan Al Verfahren und Vorrichtung zur drahtlosen elektronischen Abwicklung von Transaktionen
JP3829020B2 (ja) * 1998-10-22 2006-10-04 株式会社東芝 電力系統保護制御システム、電力系統保護制御システムの制御方法およびプログラムモジュールを記憶した記憶媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100856468B1 (ko) * 2007-01-08 2008-09-04 재단법인서울대학교산학협력재단 임베디드 소프트웨어의 객체지향 태스크 모델을멀티프로세서 시스템 온 칩 하드웨어 아키텍처로 자동할당하기 위한 방법
KR102575524B1 (ko) * 2022-12-22 2023-09-07 한화시스템(주) 가상화 기반 전투체계를 위한 분산정보처리장치 및 이의 자원 할당 방법

Also Published As

Publication number Publication date
JP2002259147A (ja) 2002-09-13
SG109465A1 (en) 2005-03-30
KR100416201B1 (ko) 2004-01-31
CN1372204A (zh) 2002-10-02
HK1049051B (zh) 2005-11-18
TW525060B (en) 2003-03-21
CN1200366C (zh) 2005-05-04
HK1049051A1 (en) 2003-04-25

Similar Documents

Publication Publication Date Title
KR100416201B1 (ko) 정보처리장치 및 실시간 분산처리시스템
CN110361979B (zh) 一种铁路信号领域的安全计算机平台
US11106454B2 (en) Software update control device, software update control method, and recording medium having software update control program stored thereon
CN105683919B (zh) 用于安全关键软件应用的多核处理器故障检测
CN107390511A (zh) 用于运行冗余的自动化系统的方法
US9405644B2 (en) Redundant automation system
CN110376876A (zh) 一种双系同步的安全计算机平台
JP2012524354A (ja) 自動化システムを制御する安全コントローラおよびユーザプログラムを生成する方法
WO2012005637A1 (en) Method for configuring a distributed avionics control system
Kirrmann Fault tolerance in process control: An overview and examples of european products
Kurose et al. Load sharing in soft real-time distributed computer systems
CN109407573A (zh) 一种基于can总线的小卫星综合电子系统及任务分配方法
Samolej ARINC specification 653 based real-time software engineering
US20130185726A1 (en) Method for Synchronous Execution of Programs in a Redundant Automation System
Sanfridson Timing problems in distributed real-time computer control systems
Li et al. Redundant and fault-tolerant algorithms for real-time measurement and control systems for weapon equipment
Craveiro et al. Adaptability support in time-and space-partitioned aerospace systems
JP2006323863A (ja) 情報処理装置及びリアルタイム分散処理システム
CN114509981A (zh) 控制器硬件冗余控制方法及系统
Ali et al. Safe reconfigurations of agents-based embedded control systems
JP2023513449A (ja) 拡張可能な規則に基づくオブジェクト指向型電力システム制御方式
JP2023513441A (ja) オブジェクトに基づくロバストで冗長化された分散型電力システム制御
CN113495790A (zh) 用于使飞行器的计算单元同步的方法和系统
JPS6139656A (ja) 分散形ネツトワ−クデ−タ処理システム
US7823014B2 (en) Gorbadey's method for ensuring the reliable operation of the program computing means

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
LAPS Lapse due to unpaid annual fee