KR19980063401A - 후방회복형 입출력 제어 장치 및 입출력 제어 방법 - Google Patents
후방회복형 입출력 제어 장치 및 입출력 제어 방법 Download PDFInfo
- Publication number
- KR19980063401A KR19980063401A KR1019970037855A KR19970037855A KR19980063401A KR 19980063401 A KR19980063401 A KR 19980063401A KR 1019970037855 A KR1019970037855 A KR 1019970037855A KR 19970037855 A KR19970037855 A KR 19970037855A KR 19980063401 A KR19980063401 A KR 19980063401A
- Authority
- KR
- South Korea
- Prior art keywords
- module
- request
- input
- output
- hardware
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/1407—Checkpointing the instruction stream
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Retry When Errors Occur (AREA)
Abstract
디바이스 드라이버의 개조나 계산 소자와 I/O 소자와의 분리 등을 행하는 일 없이, 후방 회복 기능을 실현하는 입출력 제어 장치 및 입출력 제어 방법을 제공한다.
파일 시스템(12)으로부터 I/O 요구를 수취하였을 때, 시스템 고장 세대 설정부(21)에 의해 현재의 고장 세대를 그 I/O 요구안에 격납하여 두고, 체크포인트 취득후에, 이 I/O 요구를 소프트웨어 드라이버(13)에 인도한다. 한편, 소프트웨어 드라이버(13)로부터 이 I/O 요구를 수취하였을 때, 고장 세대 판정부(24)는 그 I/O 요구에 격납된 고장 세대와 현재의 고장 세대가 일치하는지를 판정하여 일치하지 않는 경우에, I/O 요구 에러 반환부(26)가 이 I/O 요구를 디바이스 드라이버(14)에 인도하는 일 없이 소프트웨어 드라이버(13)에 반환함으로써 I/O 요구 완료 처리부(223)에 다시 그 I/O 요구를 재발행시킨다.
Description
본 발명은 체크포인트 롤백(checkpoint rollback) 방식의 내장해성 컴퓨터 시스템에 적용하는데 적합한 입출력 제어 장치 및 입출력 제어 방법과 그 입출력 제어 프로그램을 구비한 기록 매체에 관한 것이다.
「시스템의 일관성이 유지되고 있는 상태」를 정기적으로 채취하여 두고, 고장이 발생하였을 때에 시스템의 상태를 그 일관성이 취해진 상태로 되돌린 후, 중단된 처리를 재개하는 방법을 체크포인트·롤백 또는 후방 회복(backward recovery)이라고 칭한다. 일반적으로,「시스템의 일관성이 유지되고 있는 상태」라고 칭하는 정의내에는 메모리나 CPU 레지스터 등의 상태는 포함되지만, I/0(예컨대, 인터페이스 카드)의 상태는 포함되어 있지 않다.
즉, CPU나 메모리 등의 상태가 가역인데 반하여, I/0의 상태는 불가역이다. 이것을 해결하기 위해서, 종래에는, I/0를 실행하는 프로세서 소자(element)를 계산을 실행하는 소자와 분리하여 계산을 실행하는 소자의 장해 발생이 I/0 소자에 대하여 영향을 주지 않도록 구성하는 것이 일반적이었다. 또한, I/0 소자 그 자체는 내장해성을 구비하지 않고, I/0 소자를 다중화함으로써 내장해성을 실현하고 있었다. 이 I/0 소자를 동작하는 OS는 각 메이커의 독자적인 OS이다.
그렇지만, 예컨대 UNIX 등이 사실상의 표준 OS로서 확립되어 있는 현상태에 있어서는, 디바이스 드라이버를 개조하는 일이나, 계산 소자와 I/0 소자를 분리하는 것은 호환성이나 가격 대 성능(cost performance)의 면에서 큰 불이익(demerit)이 된다.
본 발명은 이러한 실정을 감안하여 이루어진 것으로, I/0 플로우중에 후방 회복 기능을 실현하는 소프트웨어 모듈을 삽입함으로써 디바이스 드라이버를 개조하지 않고, 또한 계산 소자와 I/0 소자를 분리하지 않고 후방 회복을 실현하는 입출력 제어 장치 및 입출력 제어 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 후방 회복시에, I/O 요구의 재발행을 보장하는 입출력 제어 장치/방법을 제공하는 것을 목적으로 한다.
도 1은 본 발명의 제1 및 제2 실시 형태에 관한 컴퓨터 시스템의 기기 구성을 도시하는 도면.
도 2는 본 발명의 제1 실시 형태의 컴퓨터 시스템의 I/0에 관한 기능 블록을 도시하는 도면.
도 3은 제1 실시 형태의 I/0 요구 수리부의 동작 순서를 나타내는 플로우차트.
도 4는 제1 실시 형태의 체크포인트 완료시 처리부의 동작 순서를 나타내는 플로우차트.
도 5는 제1 실시 형태의 I/0 요구 완료 처리부의 동작 순서를 나타내는 플로우차트.
도 6은 제1 실시 형태의 소프트웨어 드라이버로부터 I/0 요구를 수취하였을 때의 I/0 제어부의 동작 순서를 나타내는 플로우차트.
도 7은 제1 실시 형태의 후방 회복이 행하여졌을 때의 동작 순서를 나타내는 플로우차트.
도 8은 본 발명의 제2 실시 형태의 컴퓨터 시스템의 I/O에 관한 기능 블록을 도시하는 도면.
도 9는 제2 실시 형태의 I/O 요구 수리부의 동작 순서를 나타내는 플로우차트.
도 10은 제2 실시 형태의 체크포인트 완료시 처리부의 동작 순서를 나타내는 플로우차트.
도 11은 제2 실시 형태의 I/O 요구 완료 처리부의 동작 순서를 나타내는 플로우차트.
도 12는 제2 실시 형태의 후방 회복이 행하여졌을 때의 동작 순서를 나타내는 플로우차트.
〈도면의 주요 부분에 대한 부호의 설명〉
1 : CPU
2 : 주기억 장치
3 : 외부 기억 장치
11 : 응용 프로그램
12 : 파일 시스템
13 : 소프트웨어 드라이버
14 : 디바이스 드라이버
20 : I/O 제어부
21 : 시스템 고장 세대 설정부
22 : I/O 요구 관리부
221 : I/O 요구 수리부
222 : 체크포인트 완료 처리부
223 : I/O 요구 완료 처리부
23 : I/O 요구 수리부
24 : 고장 세대 판정부
25 : I/O 요구 송출부
26 : I/O 요구 에러 반환부
27 : DMA 정지부
28 : 디바이스 드라이버 리셋 핸들러 호출부
29 : 고장 세대 관리부
30a : 펜딩 큐우
30b : 송출 확정 큐우
30c : 실행중 큐우
30d : I/O 실행 큐우
본 발명의 입출력 제어 장치는 체크포인트를 정기적으로 채취하면서 응용 프로그램을 실행하여 고장이 발생할 때에는 그 직전에 채취한 체크포인트로부터 응용 프로그램의 실행을 재개시하는 후방 회복 기능을 가지며, 데이타의 입출력이 다단계로 배치된 복수의 모듈을 통해 행해지는 컴퓨터 시스템에 적용되는 입출력 제어 장치에 있어서, 상기 복수의 모듈내에서 재실행해야 할 단위를 취급하는 어느 한 모듈과 그 모듈의 하위의 모듈과의 사이에 제1 입출력 제어 수단을 개재시킴과 동시에, 상기 복수의 모듈 안에서 하드웨어를 직접 제어하는 모듈과 그 모듈의 상위의 모듈과의 사이에 제2 입출력 제어 수단을 개재시켜, 후방 회복이 행하여질 때마다 고장 세대를 계수하여 관리하는 고장 세대 관리 수단과, 후방 회복이 행하여지기 전에 직접 메모리 액세스(DMA)를 정지시키는 수단과, 후방 회복이 행하여질 때에 상기 하드웨어를 직접 제어하는 모듈이 구비하는 리셋 핸들러를 호출하는 수단과, 상기 제1 입출력 제어 수단에 상위 모듈에서 데이타의 입출력을 요구하는 입출력 요구를 수취하였을 때, 상기 고장 세대 관리 수단에 의해 관리된 고장 세대를 그 입출력 요구내에 격납하는 수단과, 다음 체크포인트가 취득될 때까지 상기 수취한 입출력 요구의 하위 모듈에 대한 입출력 요구의 발행을 지연시키는 수단과, 하위 모듈에서 고장 세대 불일치 에러 또는 리셋 에러가 반환되었을 때, 상기 고장 세대 격납 수단에 의해 관리된 새로운 고장 세대를 그 입출력 요구에 격납하여 재발행하는 수단과, 상기 제2 입출력 제어 수단에 상위 모듈에서 입출력 요구를 수취하였을 때, 그 입출력 요구에 격납된 고장 세대와 상기 고장 세대 관리 수단에 의해 관리된 고장 세대를 비교하는 수단과, 이 비교 수단의 비교 결과가 일치하였을 때, 그 입출력 요구를 하위 모듈에 대해 발행하고, 불일치하였을 때, 그 입출력 요구를 하위 모듈에 대하여 발행하지 않고 고장 세대 불일치 에러를 상위 모듈에 반환하는 입출력 요구 제어 수단과, 상기 하드웨어를 직접 제어하는 모듈에 상기 입출력 요구를 유지한 상태로 리셋 핸들러를 호출하였을 때, 상위 모듈에 대하여 리셋 에러를 반환하는 수단을 구비하며, 후방 회복이 행하여졌을 때, 재개 시점인 체크포인트의 취득을 대기한 미확정의 입출력 요구의 재발행을 보증하는 것을 특징으로 한다.
본 발명의 입출력 제어 장치에 있어서는, 후방 회복이 행하여질 때마다 증가되는 고장 세대를 관리하여 두고, 재실행해야 할 단위를 취급하는 어느 한 모듈이 하위 모듈에 대하여 발행하는 입출력 요구내에 이 고장 세대를 격납함과 동시에, 이 입출력 요구의 하위 모듈로의 발행을 다음 체크포인트 취득까지 대기시킨다.
한편, 하드웨어를 직접 제어하는 예컨대, 디바이스 드라이버에 대하여 입출력 요구가 발행되었을 때, 그 입출력 요구에 격납된 고장 세대와 관리한 고장 세대를 비교한다. 여기에서, 이 비교가 불일치하였을 경우에는 그 입출력 요구는 후방 회복이 행하여지기 전에 체크포인트를 지나 발행된 입출력 요구가 된다. 그리고, 이 경우에는, 이 입출력 요구를 디바이스 드라이버에 인도하는 것을 그만두고, 상위 모듈에 대하여 고장 세대 불일치 에러를 응답한다. 이것은 예컨대, 전술한 재실행해야 할 단위를 취급하는 모듈이 발행하는 입출력 요구가 하위 모듈에서 복수의 처리 단위에 분할되는 등의 경우로서, 개개의 처리가 완료하더라도 전부가 완료하지 않으면 의미가 없는 등의 경우를 고려한 것으로, 이 고장 세대 불일치 에러의 응답이 전술한 재실행해야 할 단위를 취급하는 모듈에 대하여 행하여졌을 때는 새로운 고장 세대를 그 입출력 요구에 다시 격납한 후에 그 입출력 요구를 재발행한다.
이것에 의해, 디바이스 드라이버의 개조나, 계산 소자와 I/0 소자와의 분리 등을 하는 일없이, 미확정의 입출력 요구의 재발행을 보증할 수 있어 후방 회복을 실현하는 것이 가능해진다.
또한, 디바이스 드라이버로부터의 리셋 에러의 응답이 전술한 재실행해야 할 단위를 취급하는 모듈에 대하여 행하여졌을 때에도, 새로운 고장 세대를 그 입출력 요구에 다시 격납한 후에 그 입출력 요구를 재발행한다. 이에 따라, 후방 회복에 따른 리셋 핸들러의 호출시에 디바이스 드라이버가 유지하고 있던 입출력 요구에 대해서도 재발행이 보증된다.
또한, 본 발명의 입출력 제어 장치는 체크포인트를 정기적으로 취득하면서 응용 프로그램의 실행을 진행시켜 고장이 발생하였을 때 상기 체크포인트로부터 상기 응용 프로그램의 실행을 재개시하는 후방 회복 기능을 갖는 컴퓨터 시스템으로서, 하드웨어를 직접 제어하는 모듈과 이 모듈에 대하여 데이타의 입출력을 요구하는 입출력 요구를 발행하는 모듈과의 2단계의 모듈을 통해 데이타의 입출력이 실행되는 컴퓨터 시스템에 적용되는 입출력 제어 장치에 있어서, 상기 2개의 모듈 사이에 입출력 제어 수단을 개재시켜 후방 회복이 행하여지기 전에 DMA를 정지시키는 DMA 정지 수단과, 후방 회복이 행하여졌을 때 상기 하드웨어를 직접 제어하는 모듈이 구비하는 리셋 핸들러를 호출하는 리셋 핸들러 호출 수단과, 상기 입출력 제어 수단에 다음 체크포인트가 취득될 때까지 상위 모듈에서 받아들인 입출력 요구의 하위의 모듈에 대한 입출력 요구의 발행을 지연시키는 지연 수단과, 하위의 모듈에서 리셋 에러가 반환되었을 때 입출력 요구를 재발행하는 재발행 수단과, 상기 하드웨어를 직접 제어하는 모듈에 입출력 요구를 유지한 상태로 리셋 핸들러를 호출되었을 때 상위의 모듈에 대하여 리셋 에러를 반환하는 수단을 구비하고, 후방 회복이 행하여졌을 때, 재개시점에서 어느 체크포인트의 취득을 대기한 미확정의 입출력 요구의 재발행을 보증하는 것을 특징으로 한다.
본 발명의 입출력 제어 장치는 예컨대, 디바이스 드라이버와 파일 시스템 등의 상위 모듈과의 사이에 다른 모듈을 개재시키지 않은 구성을 전제로 하는 것이며, 이 경우에는 고장 세대의 관리는 하지 않고, 상위 모듈에 대하여 리셋 에러가 응답되었을 때에만 그 입출력 요구의 재발행을 실행한다. 이 경우, 상위 모듈은 필연적으로 재실행해야 할 단위를 취급하는 모듈이 되기 때문에, 전술한 바와 같이 디바이스 드라이버의 개조나 계산 소자와 I/0 소자와의 분리 등을 행하는 일없이 미확정의 입출력 요구의 재발행을 보증할 수가 있어 후방 회복 기능을 실현하는 것이 가능해진다.
또, 직접 메모리 액세스(DMA)가 사용하는 영역이 고정으로서, 상기 하드웨어를 직접 제어하는 모듈의 리셋 핸들러에 의해 상기 영역의 초기화가 보증될 때에, 상기 정지 수단에 의한 직접 메모리 액세스(DMA)의 정지를 생략하면, 후방 회복에 소비하는 오버 헤드를 삭감하는 것이 가능해진다.
이하, 도면을 참조하여 본 발명의 실시 형태를 설명한다.
(제1 실시 형태)
우선, 본 발명의 제1 실시 형태를 설명한다. 도 1은 컴퓨터 시스템의 기기 구성을 도시한 도면이다. 도 1에 도시한 바와 같이, 컴퓨터 시스템은 주기억 장치(2)에 격납된 오퍼레이팅 시스템이나 유틸리티를 포함하는 응용 프로그램 등을 실행 제어하는 CPU(1)와, 이 CPU(1)에 의해서 실행 제어되는 오퍼레이팅 시스템이나 유틸리티를 포함하는 응용 프로그램 및 이들의 실행에 따른 데이타를 격납하는 주기억 장치(2) 및 주기억 장치(2)와의 사이에서 데이타를 송수신하여 외부 기억으로서 동작하는 대기억 용량의 외부 기억 장치(3)를 구비한다.
도 2에는 제 1 실시 형태의 컴퓨터 시스템의 I/O에 관한 기능 블록이 도시되어 있다. 도 2에 도시한 바와 같이, 응용 프로그램(11)에 의해서 요구된 I/O는 파일 시스템(12), 소프트웨어 드라이버(13) 및 디바이스 드라이버(14) 등의 다단계로 배치된 복수의 모듈 사이에서 I/0 요구 박스를 수수(授受)함으로써 실행된다. 그리고, 재실행해야 할 단위를 취급하는 파일 시스템(12)과 소프트웨어 드라이버(13)와의 사이 및 소프트웨어 드라이버(13)와 하드웨어를 직접 제어하는 디바이스 드라이버(14)와의 사이에 I/O 제어부(20)를 개재시킨다.
I/O 제어부(20)의 고장 세대 관리부(29)는 고장 발생에 의해 후방 회복이 행하여질 때마다 고장 세대를 증가하여 관리한다. 그리고, 파일 시스템(12)이 소프트웨어 드라이버(13)에 대하여 I/O 요구를 발행하면, I/O 요구 관리부(22)의 I/O요구 수리부(221)가 이 I/O 요구를 수리하여 고장 세대 관리부(29)가 관리하는 고장 세대를 시스템 고장 세대 설정부(21)에 의해 그 I/O 요구내에 격납한 후, 펜딩 큐우(30a)에 연결한다.
체크포인트 완료시 처리부(222)는 체크포인트의 취득이 행하여졌을 때, 펜딩 큐우(30a)에 연결된 I/O 요구를 송출 확정 큐우(30b)에 연결하여 바꾼다. 그리고, 체크포인트 완료시 처리부(222)는 이 송출 확정 큐우(30b)에 연결된 I/O 요구를 하위 모듈로 송출함과 동시에, 그 송출한 I/O 요구를 실행중 큐우(30c)에 연결하여 간다. 또한, 체크포인트 완료시 처리부(222)는 I/O 완료 큐우(30d)에 연결된 I/0 요구의 삭제도 실행한다.
이 체크포인트 완료시 처리부(222)에 의해 송출된 I/O 요구는 소프트웨어 드라이버(13)에 인도되고, 이 소프트웨어 드라이버(13)에 포함되는 복수의 소프트웨어 모듈(131)을 지나 디바이스 드라이버(14)에 대하여 I/0 요구를 발행한다.
이 디바이스 드라이버(14)에 대한 I/O 요구는 I/O 제어부(20)의 I/O 요구 수리부(23)에 의해 수리되어 고장 세대 판정부(24)에 의해 그 I/O 요구가 격납하는 고장 세대와 고장 세대 관리부(21)가 관리하는 고장 세대가 일치하는지 여부가 판정된다. 그리고, 이 판정 결과가 일치하는 경우에는, I/O 요구 송출부(25)에 의해 그 I/O 요구가 디바이스 드라이버(14)로 인도된다. 한편, 불일치하는 경우에는, 디바이스 드라이버(14)로의 인도는 행하여지지 않고, I/O 요구 에러 반환부(26)에 의해 고장 세대 불일치 에러가 소프트웨어 드라이버(13)에 대하여 반환된다. 이 고장 세대 불일치 에러가 반환되는 경우에는, 그 I/0 요구가 송출 확정 큐우(30a)에 연결된 이후에 후방 회복이 행하여진 경우이다. 즉, 이 I/0 요구에 관해서는 재발행을 보증해야만 한다. 그래서, 이 고장 세대 불일치 에러를 수취한 I/O 요구 완료 처리부(223)는 시스템 고장 세대 설정부(21)에 의해서 고장 세대 관리부(29)가 관리하는 새로운 고장 세대를 다시 이 I/0 요구로 격납한 후, 이 I/0 요구를 송출 확정 큐우(39b)에 연결하여 바꾼다. 또, 이 때 I/O 요구 완료 처리부(223)는 실행 중 큐우(30c)에 연결된 그 I/O 요구를 삭제해 두기도 한다.
이것에 의해, 장해가 발생하였을 때, I/O 제어부(20)의 체크포인트 완료시 처리부(222)에 의해 발행되고 나서 디바이스 드라이버(14)에 도달하기까지의 사이에 존재하는 I/0 요구의 재발행은 보증된다.
여기에서, 후방 회복을 행할 때의 순서를 설명한다. 후방 회복이 행하여질 경우에는, 우선, 직접 메모리 액세스(DMA) 정지부(27)에 의해 I/O 에 관한 직접 메모리 액세스가 정지된다. 이것은 메모리가 DMA에 의해서 갱신되는 일이 없도록 하기 위함이다. 이어서, 고장 세대 관리부(29)에 의한 고장 세대의 증가가 실행된다. 그리고, 디바이스 드라이버 리셋 핸들러 호출부(28)에 의해 디바이스 드라이버(14)가 갖는 리셋 핸들러가 호출된다.
즉, 고장이 발생하였을 때, 디바이스 드라이버(14)에 유지되고 있던 I/O 요구에 대해서는 디바이스 드라이버(14)에 의해서 리셋 에러가 응답되게 된다. 그리고, 이 리셋 에러를 수취한 I/0 요구 완료 처리부(223)는 고장 세대 불일치 에러의 경우와 같이, 시스템 고장 세대 설정부(21)에 의해 고장 세대 관리부(29)가 관리하는 새로운 고장 세대를 다시 이 I/O 요구로 격납한 후, 이 I/O 요구를 송출 확정 큐우(39b)에 연결하여 바꾼다. 또, 이 때 I/O 요구 완료 처리부(223)는 실행중 큐우(30c)로 연결된 그 I/O 요구를 삭제해 두기도 한다.
이것에 의해, 장해가 발생하였을 때, 디바이스 드라이버(14)에 유지되어 있던 I/0 요구의 재발행도 보증된다.
즉, 제1 실시 형태의 시스템에 의하면, 디바이스 드라이버(14)의 개량이나 계산 소자와 I/0 소자와의 분리 등을 행하는 일없이 후방 회복이 실현되게 된다.
또, 전술한 4종류의 큐우(30a, 30b, 30c, 30d)는 고장이 발생하더라도 롤백되는 일이 없는 영역에 확보할 필요가 있다.
이어서, 도 3 내지 도 7을 참조하여 제1 실시 형태의 동작 순서를 설명한다.
도 3은 I/O 요구 수리부(221)의 동작 순서를 나타내는 플로우차트이다.
I/O 요구 수리부(221)는 파일 시스템(12)으로부터의 I/O 요구를 수리하면, 시스템 고장 세대 설정부(21)에 의해 고장 세대 관리부(29)가 관리하는 고장 세대를 그 I/O 요구내에 격납한 후(단계 A1), 펜딩 큐우(30a)에 연결한다(단계 A2)
도 4는 체크포인트 완료시 처리부(222)의 동작 순서를 나타내는 플로우차트이다.
체크포인트 완료시 처리부(222)는 체크포인트의 취득이 행하여졌을 때, 펜딩 큐우(30a)에 연결된 I/O 요구를 송출 확정 큐우(30b)에 연결하여 바꾼다(단계 B1). 그리고, 체크포인트 완료시 처리부(222)는 이 송출 확정 큐우(30b)에 연결된 I/O 요구를 하위 모듈로 송출함과 동시에, 그 송출한 I/0 요구를 실행중 큐우(30c)에 연결해 간다(단계 B2). 또한, 체크포인트 완료시 처리부(222)는 I/O 완료 큐우(30d)에 연결된 I/O 요구의 삭제도 실행한다(단계 B3).
도 5는 I/O 요구 완료 처리부(223)의 동작 순서를 나타내는 플로우차트이다.
I/O 요구 완료 처리부(223)는 하위 모듈에서 반환된 I/O 요구의 완료 상태(status)를 조사하여(단계 C1), 이 완료 상태가 리셋 에러나 세대 불일치 에러인 경우에는(단계 C2의 YES 브랜치), 시스템 고장 세대 설정부(21)에 의해 고장 세대 관리부(29)가 관리하는 새로운 고장 세대를 I/O 요구 속에 설정하여(단계 C3), 이 I/O 요구를 송출 확정 큐우(30b)에 연결한다(단계 C4). 한편, 완료 상태가 리셋 에러나 세대 불일치 에러가 아닌 경우에는(단계 C2의 NO 브랜치), 그 I/O 요구를 I/O 완료 큐우(30d)에 연결함과 동시에(단계 C5), I/O 요구 완료 통지를 상위 모듈에 통지한다(단계 C6).
도 6은 소프트웨어 드라이버(13)로부터 I/O 요구를 수취하였을 때의 I/O 제어부(20)의 동작 순서를 나타내는 플로우차트이다.
소프트웨어 드라이버(13)로부터의 I/O 요구는 I/O 요구 수리부(23)에 의해 수리되어 고장 세대 판정부(24)에 의해 그 I/O 요구가 격납하는 고장 세대와 고장 세대 관리부(29)가 관리하는 고장 세대가 일치하는지 여부가 판정된다(단계 D1). 이 판정 결과가 일치하는 경우에는(단계 D2의 YES 브랜치), I/O 요구 송출부(25)에 의해 그 I/O 요구가 디바이스 드라이버(14)에 인도된다(단계 D3). 한편, 불일치하는 경우에는(단계 D2의 NO 브랜치), I/O 요구 에러 반환부(26)에 의해 고장 세대 불일치 에러가 소프트웨어 드라이버(13)에 대하여 반환된다(단계 D4).
도 7은 후방 회복이 행하여질 때의 동작 순서를 나타내는 플로우차트이다.
우선, DMA 정지부(27)에 의해 I/O에 관한 DMA가 정지되고(단계 E1), 계속해서 시스템 고장 세대 설정부(21)에 의해서 시스템 고장 세대 관리부(29)에 의해 고장 세대의 증가가 실행된다(단계 E2). 그리고, 디바이스 드라이버 리셋 핸들러 호출부(28)에 의해 디바이스 드라이버(14)가 갖는 리셋 핸들러가 호출됨으로써, 디바이스 드라이버(14)에 유지되어 있던 I/O 요구의 리셋 에러가 디바이스 드라이버(14)로부터 응답된다(단계 E3).
이것에 의해, 디바이스 드라이버(14)의 개량이나 계산 소자와 I/0 소자와의 분리 등을 하는 일 없이 후방 회복 대응이 실현되게 된다.
(제2 실시 형태)
이어서, 본 발명의 제2 실시 형태를 설명한다. 이 제2 실시 형태에 관한 컴퓨터 시스템의 기본 기기 구성은 제 1 실시 형태와 같다(도 1 참조). 도 8에는 제2 실시 형태의 컴퓨터 시스템의 I/O에 관한 기능 블록이 도시되어 있다. 이 제2 실시 형태와 제1 실시 형태와의 차이는 상위 모듈인 파일 시스템(12)과 디바이스 드라이버(14)와의 사이에 다른 모듈이 개재하지 않는 점이고, 이 결과, 제1 실시 형태와 비교하여 이 제2 실시 형태는 고장 세대를 관리하지 않고 후방 회복 대응을 실현하는 것을 특징으로 한다.
즉, 체크포인트 완료시 처리부(222)로부터 발행된 I/O 요구는 전부 디바이스 드라이버(14)에 유지되기 때문에, I/0 요구 완료 처리부(223)는 리셋 에러가 응답되었을 때에 I/O 요구의 재발행을 하면 되는 것이다.
이하, 도면을 참조하여 제2 실시 형태의 동작 순서를 설명한다.
도 9는 I/O 요구 수리부(221)의 동작 순서를 나타내는 플로우차트이다.
I/O 요구 수리부(221)는 파일 시스템(12)으로부터의 I/O 요구를 수리하면, 이 I/O 요구를 펜딩 큐우(30a)에 연결한다(단계 F1).
도 10은 체크포인트 완료시 처리부(222)의 동작 순서를 나타내는 플로우차트이다.
체크포인트 완료시 처리부(222)는 체크포인트의 취득이 행하여졌을 때, 펜딩 큐우(30a)에 연결된 I/O 요구를 송출 확정 큐우(30b)에 연결하여 바꾼다(단계 G1). 그리고, 체크포인트 완료시 처리부(222)는 이 송출 확정 큐우(30b)에 연결된 I/O 요구를 하위 모듈로 송출함과 동시에, 그 송출한 I/0 요구를 실행중 큐우(30c)로 연결해 간다(단계 G2). 또한, 체크포인트 완료시 처리부(222)는 I/O 완료 큐우(30d)에 연결된 I/O 요구의 삭제도 실행한다(단계 G3).
도 11은 I/O 요구 완료 처리부(223)의 동작 순서를 나타내는 플로우차트이다.
I/O 요구 완료 처리부(223)는 하위 모듈에서 반환된 I/O 요구의 완료 상태를 조사하고(단계 H1), 이 완료 상태가 리셋 에러인 경우에는(단계 H2의 YES), 이 I/O 요구를 송출 확정 큐우(30b)에 연결한다(단계 H3). 한편, 완료 상태가 리셋 에러가 아닌 경우에는(단계 H2의 NO), 그 I/O 요구를 I/O 완료 큐우(30d)에 연결함과 동시에(단계 H4), I/O 요구 완료 통지를 상위 모듈에 통지한다(단계 H5).
도 12는 후방 회복이 행하여질 때의 동작 순서를 나타내는 플로우차트이다.
우선, DMA 정지부(27)에 의해 I/O에 관한 DMA가 정지되고(단계 I1), 계속해서 디바이스 드라이버 리셋 핸들러 호출부(28)에 의해 디바이스 드라이버(14)가 갖는 리셋 핸들러가 호출됨으로써, 디바이스 드라이버(14)에 유지되어 있던 I/O 요구의 리셋 에러가 디바이스 드라이버(14)로부터 응답된다(단계 I2).
이것에 의해, 제1 실시 형태와 같이 디바이스 드라이버(14)의 개량이나 계산소자와 I/0 소자와의 분리 등을 하는 일없이 후방 회복 대응이 실현되게 된다.
또, 제1 및 제2 실시 형태의 양쪽 다에 예컨대, DMA가 사용하는 영역이 고정되고, 디바이스 드라이버(14)의 리셋 핸들러에 의해 DMA가 사용하는 영역의 초기화가 보증될 때에는, 후방 회복시의 DMA 정지부(27)에 의한 DMA 정지를 생략하는 것이 가능해지기 때문에, 후방 회복에 소비하는 오버 헤드를 삭감할 수가 있다.
또한, 전술한 실시 형태에 기재한 입출력 제어의 방법은 컴퓨터에 실행시킬 수 있는 프로그램으로서 플로피 디스크, 광 디스크 및 반도체 메모리 등의 기억 매체에 격납하고 반포하는 것이 가능하다.
이상 상술한 바와 같이, 본 발명에 의하면, I/0 플로우중에 고장 세대를 관리함과 동시에 고장 세대의 일치나 리셋 유무를 감시하는 소프트웨어 모듈을 삽입하여 입출력 요구의 재발행을 보증함으로써, 디바이스 드라이버의 개조나 계산 소자와 I/0 소자의 분리 등을 행하는 일없이 후방 회복에 대응시키는 것이 가능해진다.
Claims (7)
- 체크포인트·롤백 기능을 가지고, 데이타의 입출력이 다단계로 배치된 복수의 모듈을 통하여 행해지는 컴퓨터 시스템에 적용되는 입출력 제어 장치에 있어서,상기 복수의 모듈내에서 재실행해야 할 단위를 취급하는 모듈과 그 모듈의 하위의 모듈과의 사이에 개재하는 제1 입출력 제어 수단과,상기 복수의 모듈내에서 하드웨어를 직접 제어하는 모듈과 그 모듈의 상위의 모듈과의 사이에 개재하는 제2 입출력 제어 수단과,후방 회복이 행하여질 때마다 고장 세대를 계수하여 관리하는 수단과,후방 회복이 행하여지기 전에 직접 메모리 액세스를 정지시키는 수단과,후방 회복이 행하여질 때 상기 하드웨어를 직접 제어하는 모듈이 구비하는 리셋 핸들러를 호출하는 수단을 구비하며,상기 제 1의 입출력 제어 수단은상위 모듈로부터 데이타의 입출력을 요구하는 입출력 요구를 수취하였을 때, 상기 고장 세대 관리 수단에 의해 관리된 고장 세대를 그 입출력 요구내에 격납하는 수단과,다음 체크포인트가 취득될 때까지 상기 수취한 입출력 요구의 하위 모듈에 대한 발행을 지연시키는 수단과,하위 모듈에서 고장 세대 불일치 에러 또는 리셋 에러가 반환되었을 때, 상기 고장 세대 격납 수단에 의해 관리된 새로운 고장 세대를 그 입출력 요구에 격납하여 재발행하는 수단을 가지며,상기 제2 입출력 제어 수단은상위 모듈에서 입출력 요구를 수취하였을 때, 그 입출력 요구에 격납된 고장 세대와 상기 고장 세대 관리 수단에 의해 관리된 고장 세대를 비교하는 수단과,이 비교 수단의 비교 결과가 일치하였을 때 그 입출력 요구를 하위 모듈에 대하여 발행하고, 불일치하였을 때 그 입출력 요구를 하위 모듈에 대하여 발행하지 않고 고장 세대 불일치 에러를 상위 모듈에 반환하는 입출력 요구 제어 수단과,상기 하드웨어를 직접 제어하는 모듈에,입출력 요구를 유지한 상태에서 리셋 핸들러가 호출되었을 때, 상위 모듈에 대하여 리셋 에러를 반환하는 수단을 가지는 것을 특징으로 하는 입출력 제어 장치.
- 체크포인트·롤백 기능을 가지는 컴퓨터 시스템으로서, 하드웨어를 직접 제어하는 모듈과 이 모듈에 대하여 데이타의 입출력을 요구하는 입출력 요구를 발행하는 모듈과의 2단계의 모듈을 통해 데이타의 입출력이 실행되는 컴퓨터 시스템에 적용되는 입출력 제어 장치에 있어서,상기 2개의 모듈의 사이에 입출력 제어 수단을 개재시켜,후방 회복이 행하여지기 전에 직접 메모리 액세스(DMA)를 정지시키는 수단과,후방 회복이 행하여질 때 상기 하드웨어를 직접 제어하는 모듈이 구비하는 리셋 핸들러를 호출하는 수단과,상기 입출력 제어 수단에,다음 체크포인트가 취득될 때까지 상위 모듈로부터 수취한 입출력 요구의 하위 모듈에 대한 발행을 지연시키는 수단과,하위 모듈에서 리셋 에러가 반환되었을 때 그 입출력 요구를 재발행하는 수단과,상기 하드웨어를 직접 제어하는 모듈에,입출력 요구를 유지한 상태에서 리셋 핸들러를 호출되었을 때 상위 모듈에 대하여 리셋 에러를 반환하는 수단을 구비하며, 후방 회복이 행하여졌을 때 재개 시점인 체크포인트의 취득을 대기한 미확정의 입출력 요구의 재발행을 보증하는 것을 특징으로 하는 입출력 제어 장치.
- 제1항에 있어서, 직접 메모리 액세스가 사용하는 영역이 고정되고, 상기 하드웨어를 직접 제어하는 모듈의 리셋 핸들러에 의해서 상기 영역의 초기화가 보증되었을 때 상기 직접 메모리 액세스 정지 수단에 의한 직접 메모리 액세스의 정지를 생략하는 것을 특징으로 하는 입출력 제어 장치.
- 체크포인트·롤백 기능을 갖는 컴퓨터 시스템으로서, 다단계로 배치된 복수의 모듈을 통해 데이타의 입출력이 실행되는 컴퓨터 시스템에 적용되는 입출력 제어 방법에 있어서,후방 회복이 행하여질 때마다 고장 세대를 계수하여 관리해 두고,상기 복수의 모듈내에서 재실행해야 할 단위를 취급하는 어느 한 모듈이 데이타의 입출력을 요구하는 입출력 요구를 발행하였을 때 상기 관리한 고장 세대를 그 입출력 요구의 속에 격납함과 동시에, 그 입출력 요구의 하위 모듈로의 인도를 다음 체크포인트가 취득될 때까지 지연시켜,상기 복수의 모듈내에서 하드웨어를 직접 제어하는 모듈에 대하여 입출력 요구가 발행되었을 때 그 입출력 요구에 격납된 고장 세대와 상기 관리된 고장 세대를 비교하고,그 비교 결과가 일치하였을 때, 그 입출력 요구를 상기 하드웨어를 직접 제어하는 모듈로 인도하여, 불일치하였을 때 그 입출력 요구를 상기 하드웨어를 직접 제어하는 모듈로 인도하지 않고 고장 세대 불일치 에러를 상위 모듈로 반환하며,후방 회복이 행하여질 때 상기 하드웨어를 직접 제어하는 모듈이 구비하는 리셋 핸들러를 호출하고,상기 하드웨어를 직접 제어하는 모듈이 입출력 요구를 유지한 상태에서 리셋 핸들러를 호출되었을 때 상위의 모듈에 대하여 리셋 에러를 반환하며,상기 재실행해야 할 단위를 취급하는 모듈에 대하여 고장 세대 불일치 에러 또는 리셋 에러가 반환되었을 때 상기 관리한 새로운 고장 세대를 그 입출력 요구에 격납하여 재발행함으로써, 후방 회복이 행하여졌을 때, 재개시점인 체크포인트의 취득을 대기한 미확정의 입출력 요구의 재발행을 보증하는 것을 특징으로 하는 입출력 제어 방법.
- 체크포인트·롤백 기능을 갖는 컴퓨터 시스템으로서, 하드웨어를 직접 제어하는 하위 모듈과 데이타의 입출력을 요구하는 입출력 요구를 상기 하위 모듈에 대하여 발행하는 상위 모듈과의 2단계의 모듈을 통해 데이타의 입출력이 실행되는 컴퓨터 시스템에 적용되는 입출력 제어 방법에 있어서,상기 상위 모듈이 입출력 요구를 발행하였을 때 그 입출력 요구의 하위 모듈로의 인도를 다음 체크포인트가 취득될 때까지 지연시켜,후방 회복이 행하여졌을 때 상기 하위 모듈이 갖추는 리셋 핸들러를 호출하고,상기 하드웨어를 직접 제어하는 모듈이 입출력 요구를 유지한 상태에서 리셋 핸들러를 호출되었을 때 상위의 모듈에 대하여 리셋 에러를 반환하며,상기 상위 모듈에 대하여 리셋 에러가 반환되었을 때 그 입출력 요구를 재발행함으로써 후방 회복이 행하여졌을 때 재개시점인 체크포인트의 취득을 대기한 미확정의 입출력 요구의 재발행을 보증하는 것을 특징으로 하는 입출력 제어 방법.
- 체크포인트·롤백 기능을 갖는 컴퓨터 시스템으로서, 다단계로 배치된 복수의 모듈을 통해 데이타의 입출력이 실행되는 컴퓨터 시스템상에서 입출력을 제어하는 프로그램으로서,후방 회복이 행하여질 때마다 고장 세대를 계수하여 관리하여 두고,상기 복수의 모듈 안에서 재실행해야 할 단위를 취급하는 어느 한 모듈이 데이타의 입출력을 요구하는 입출력 요구를 발행하였을 때 상기 관리한 고장 세대를 그 입출력 요구속에 격납함과 동시에, 그 입출력 요구의 하위 모듈로의 인도를 다음 체크포인트가 취득될 때까지 지연시켜,상기 복수의 모듈 안에서 하드웨어를 직접 제어하는 모듈에 대하여 입출력 요구가 발행되었을 때 그 입출력 요구에 격납된 고장 세대와 상기 관리된 고장세대를 비교하고,그 비교 결과가 일치하였을 때 그 입출력 요구를 상기 하드웨어를 직접 제어하는 모듈로 인도하고, 불일치하였을 때 그 입출력 요구를 상기 하드웨어를 직접 제어하는 모듈로 인도하지 않고서 고장 세대 불일치 에러를 상위 모듈로 반환하며,후방 회복이 행하여질 때 상기 하드웨어를 직접 제어하는 모듈이 갖추는 리셋 핸들러를 호출하고,상기 하드웨어를 직접 제어하는 모듈이 입출력 요구를 유지한 상태로 리셋 핸들러를 호출하였을 때 상위의 모듈에 대하여 리셋 에러를 반환하며,상기 재실행해야 할 단위를 취급하는 모듈에 대하여 고장 세대 불일치 에러 또는 리셋 에러가 반환되었을 때 상기 관리한 새로운 고장 세대를 그 입출력 요구에 격납하여 재발행하도록 컴퓨터를 제어하기 위한 프로그램을 격납한 것을 특징으로 하는 컴퓨터 독해가능 기억 매체.
- 체크포인트·롤백 기능을 갖는 컴퓨터 시스템으로서, 하드웨어를 직접 제어하는 하위 모듈과 데이타의 입출력을 요구하는 입출력 요구를 상기 하위 모듈에 대하여 발행하는 상위 모듈과의 2단계의 모듈을 통해 데이타의 입출력이 실행되는 컴퓨터 시스템상에서 입출력을 제어하는 프로그램으로서,상기 상위 모듈이 입출력 요구를 발행하였을 때 그 입출력 요구의 하위모듈로의 인도를 다음 체크포인트가 취득될 때까지 지연시켜,후방 회복이 행하여졌을 때 상기 하위 모듈이 갖추는 리셋 핸들러를 호출하고,상기 하드웨어를 직접 제어하는 모듈이 입출력 요구를 유지한 상태에서 리셋 핸들러가 호출되었을 때 상위의 모듈에 대하여 리셋 에러를 반환하며,상기 상위 모듈에 대하여 리셋 에러가 반환되었을 때 그 입출력 요구를 재발행하도록 컴퓨터를 제어하기 위한 프로그램을 격납한 것을 특징으로 하는 컴퓨터 독해가능 기억 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP96-348063 | 1996-12-26 | ||
JP34806396 | 1996-12-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980063401A true KR19980063401A (ko) | 1998-10-07 |
KR100299193B1 KR100299193B1 (ko) | 2001-09-03 |
Family
ID=18394503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970037855A KR100299193B1 (ko) | 1996-12-26 | 1997-08-08 | 후방회복형입출력제어장치및입출력제어방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6029255A (ko) |
EP (1) | EP0851352B1 (ko) |
KR (1) | KR100299193B1 (ko) |
CN (1) | CN1093661C (ko) |
DE (1) | DE69718432T2 (ko) |
TW (1) | TW355762B (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4111472B2 (ja) | 1998-05-15 | 2008-07-02 | キヤノン株式会社 | 通信制御方法及び装置及び通信システム |
US6668287B1 (en) * | 1999-12-15 | 2003-12-23 | Transmeta Corporation | Software direct memory access |
US6883114B2 (en) * | 2001-11-08 | 2005-04-19 | M-Systems Flash Disk Pioneers Ltd. | Block device driver enabling a ruggedized file system |
JP4120436B2 (ja) * | 2003-03-24 | 2008-07-16 | 富士ゼロックス株式会社 | 連携処理装置及びプログラム |
US7124323B2 (en) * | 2003-06-18 | 2006-10-17 | International Business Machines Corporation | Method, system, and program for recovery of a reverse restore operation |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3688274A (en) * | 1970-12-23 | 1972-08-29 | Ibm | Command retry control by peripheral devices |
US4740969A (en) * | 1986-06-27 | 1988-04-26 | Hewlett-Packard Company | Method and apparatus for recovering from hardware faults |
JPH02287858A (ja) * | 1989-04-28 | 1990-11-27 | Toshiba Corp | 分散処理システムのリスタート方式 |
EP0986008B1 (en) * | 1993-12-01 | 2008-04-16 | Marathon Technologies Corporation | Computer system comprising controllers and computing elements |
JP3148099B2 (ja) * | 1995-05-31 | 2001-03-19 | 株式会社東芝 | 入出力制御方式及び入出力制御方法 |
US5790397A (en) * | 1996-09-17 | 1998-08-04 | Marathon Technologies Corporation | Fault resilient/fault tolerant computing |
US5896523A (en) * | 1997-06-04 | 1999-04-20 | Marathon Technologies Corporation | Loosely-coupled, synchronized execution |
-
1997
- 1997-07-25 TW TW086110610A patent/TW355762B/zh active
- 1997-08-08 KR KR1019970037855A patent/KR100299193B1/ko not_active IP Right Cessation
- 1997-09-08 CN CN97118449A patent/CN1093661C/zh not_active Expired - Fee Related
- 1997-10-15 DE DE69718432T patent/DE69718432T2/de not_active Expired - Fee Related
- 1997-10-15 EP EP97117892A patent/EP0851352B1/en not_active Expired - Lifetime
- 1997-10-29 US US08/960,212 patent/US6029255A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
TW355762B (en) | 1999-04-11 |
EP0851352A2 (en) | 1998-07-01 |
CN1093661C (zh) | 2002-10-30 |
KR100299193B1 (ko) | 2001-09-03 |
DE69718432T2 (de) | 2003-11-20 |
CN1186276A (zh) | 1998-07-01 |
US6029255A (en) | 2000-02-22 |
EP0851352B1 (en) | 2003-01-15 |
EP0851352A3 (en) | 1999-12-08 |
DE69718432D1 (de) | 2003-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5796937A (en) | Method of and apparatus for dealing with processor abnormality in multiprocessor system | |
US7062676B2 (en) | Method and system for installing program in multiple system | |
EP1650653B1 (en) | Remote enterprise management of high availability systems | |
US7111026B2 (en) | Method and device for acquiring snapshots and computer system with snapshot acquiring function | |
JP4378335B2 (ja) | ディスクへのトランザクション・データ書き込みの方式を動的に切り替える装置、切り替える方法、及び切り替えるプログラム | |
US20060089975A1 (en) | Online system recovery system, method and program | |
US20070118840A1 (en) | Remote copy storage device system and a remote copy method | |
JP2004342109A (ja) | 入出力ファブリックにおけるハードウェア・エラーからの自動回復 | |
US5983359A (en) | Processor fault recovering method for information processing system | |
KR100299193B1 (ko) | 후방회복형입출력제어장치및입출력제어방법 | |
JP5154843B2 (ja) | クラスタシステム、計算機、および障害回復方法 | |
US20050229035A1 (en) | Method for event synchronisation, especially for processors of fault-tolerant systems | |
KR100605031B1 (ko) | Usb 메모리 장치를 이용한 임베디드 시스템의 장애복구 및 업그레이드 방법 | |
CN115629920A (zh) | 数据请求的异常处理方法及其装置、计算机可读存储介质 | |
JPH07121395A (ja) | 予備装置優先選択方法 | |
CA2498656A1 (en) | Method for synchronizing events, particularly for processors of fault-tolerant systems | |
KR950010490B1 (ko) | 전전자 교환 시스템에서의 제어시스템의 이중화 운용 방법 | |
JPH0652130A (ja) | マルチプロセッサシステム | |
JP3312652B2 (ja) | マルチプロセッサアーキテクチャでのデータベース管理方式 | |
US20060259757A1 (en) | Method, apparatus and computer program product for implementing initial program load in a computer system | |
US7934128B2 (en) | Methods, systems and computer program products for fault tolerant applications | |
JPH10240554A (ja) | 後方回復対応の入出力制御装置および入出力制御方法 | |
JP3407816B2 (ja) | 交換機用データ設定システム | |
JPS6086658A (ja) | プロセツサ間連絡処理方法 | |
Gawlick | High Performance TP Monitors - Do We Still Need to Develop Them? |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
J201 | Request for trial against refusal decision | ||
AMND | Amendment | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20070531 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |