KR20030075854A - 공유 디스크 파일 시스템의 저널링 및 회복 방법 - Google Patents

공유 디스크 파일 시스템의 저널링 및 회복 방법 Download PDF

Info

Publication number
KR20030075854A
KR20030075854A KR1020020015322A KR20020015322A KR20030075854A KR 20030075854 A KR20030075854 A KR 20030075854A KR 1020020015322 A KR1020020015322 A KR 1020020015322A KR 20020015322 A KR20020015322 A KR 20020015322A KR 20030075854 A KR20030075854 A KR 20030075854A
Authority
KR
South Korea
Prior art keywords
transaction
metadata
information
log
disk
Prior art date
Application number
KR1020020015322A
Other languages
English (en)
Other versions
KR100453228B1 (ko
Inventor
박춘서
김경배
신범주
이용주
박선영
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR10-2002-0015322A priority Critical patent/KR100453228B1/ko
Priority to US10/244,521 priority patent/US7139927B2/en
Publication of KR20030075854A publication Critical patent/KR20030075854A/ko
Application granted granted Critical
Publication of KR100453228B1 publication Critical patent/KR100453228B1/ko

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 공유 디스크 파일 시스템의 저널링 및 회복 방법에 관한 것으로, 개시된 실시예에 따른 저널링 방법은, 저널링을 처리하는 시스템 콜 연산이 발생하였을 경우 회복을 보장하기 위해서 트랜잭션을 시작하여 새로운 트랜잭션 영역을 할당한 후 초기화를 하고 트랜잭션 타입을 설정하는 단계와, 변경된 데이터에 잠금 정보를 획득하고 상기 트랜잭션에 추가하여 트랜잭션이 잠금 정보를 관리하고, 메타 데이터가 변경하는 동안 디스크에 반영하는 것을 방지하는 단계와, 상기 트랜잭션에 추가된 변경된 메타 데이터 및 중요 일반 데이터에 대해서 변경된 정보를 저널 공간에 기록하고, 상기 트랜잭션에 연결된 잠금 정보를 해제하는 단계를 포함하며, 변경된 메타 데이터에 다른 호스트가 접근하려고 할 때 디스크에 반영하지 않고 화이버 채널을 통해 네트워크에 전송함으로써 저널링 속도를 증가시키고 메타 데이터뿐만 아니라 일반 데이터에 대해서도 저널링을 함으로써 일반 중요 데이터에 대해서 일관성을 유지시켜 주는 이점이 있다.

Description

공유 디스크 파일 시스템의 저널링 및 회복 방법{JOURNALING AND RECOVERY METHOD FOR SHARED DISK FILE SYSTEM}
본 발명은 공유 디스크 파일 시스템의 저널링 및 회복 방법에 관한 것으로, 더욱 상세하게는 SAN(Storage Area Network) 환경과 같은 공유 디스크 환경에서 파일 시스템이 비정상적으로 종료되었을 경우 파일 시스템의 일관성을 유지할 수 있도록 하는 저널링 및 회복 방법에 관한 것이다.
SAN 환경과 같은 공유 디스크 파일 시스템 환경에서 비정상적인 종료가 발생하였을 경우 회복을 지원하기 위해 저널링 방법이 제안되었으며, 이러한 공유 디스크 파일 시스템에서는 각 파일에 대한 연산을 수행하기 위한 일련의 연산을 트랜잭션으로 규정하고, 이를 회복과 연산의 기본적인 단위로 사용한다.
종래 기술에 따른 공유 디스크 파일 시스템 환경에서 저널링 회복 방법은 다른 호스트가 변경된 메타 데이터에 접근하는 경우에 메타 데이터를 디스크에 반영하고 접근하기 때문에 디스크 접근 수(입/출력 횟수)가 증가하여 저널링 속도가 감소된다.
또한, 메타 데이터에 대한 회복만을 지원하고 실제 중요 데이터에 대한 회복을 지원하지 않는 문제점이 있다.
본 발명은 이와 같은 종래의 문제점을 해결하기 위하여 제안한 것으로, SAN환경과 같은 공유 디스크 환경에서 한 호스트가 메타 데이터를 변경하고 동일한 메타 데이터에 다른 호스트가 접근하고자 하면 변경된 메타 데이터를 디스크에 반영하지 않고 네트워크를 통해 전송해 저널링 속도를 증가시켜 주고, 메타 데이터 뿐 만 아니라 일반 중요 데이터에 대해서도 저널링을 하는 방법 및 회복 방법을 제공하는 데 그 목적이 있다.
이와 같은 목적을 실현하기 위한 본 발명의 한 견지로서, 공유 디스크 환경에서 시스템이 비정상적으로 종료되었을 경우 회복을 지원하기 위한 저널링 방법은, 저널링을 처리하는 시스템 콜 연산이 발생하였을 경우 회복을 보장하기 위해서 트랜잭션을 시작하여 새로운 트랜잭션 영역을 할당한 후 초기화를 하고 트랜잭션 타입을 설정하는 제 1 단계; 변경된 데이터에 잠금 정보를 획득하고 상기 트랜잭션에 추가하여 트랜잭션이 잠금 정보를 관리하고, 메타 데이터가 변경하는 동안 디스크에 반영하는 것을 방지하는 제 2 단계; 상기 트랜잭션에 추가된 변경된 메타 데이터 및 중요 일반 데이터에 대해서 변경된 정보를 저널 공간에 기록하고, 상기 트랜잭션에 연결된 잠금 정보를 해제하는 제 3 단계를 포함한다.
본 발명의 다른 견지로서, 공유 디스크 환경에서 저널링 기법을 이용하여 시스템이 비정상적으로 종료되었을 경우 파일 시스템의 일관성을 유지할 수 있도록 하는 공유 디스크 파일 시스템의 회복 방법은, 로그 헤드 정보를 읽는 제 1 단계; 시스템이 정상적으로 종료가 되었는지 판단하여 시스템이 비정상적으로 종료되었을 경우 상기 로그의 정보를 찾아 완료된 엔트리를 찾는 제 2 단계; 시작하는 상기 엔트리가 저널의 끝인지를 판단하는 제 3 단계; 상기 판단 결과, 상기 엔트리가 저널의 끝이 아니면 디스크와 저널공간에서 정보를 읽는 제 4 단계; 상기 제 4 단계에서 읽어온 디스크 정보와 저널 공간 정보의 버전 번호를 비교하는 제 5 단계; 상기 비교 결과, 디스크의 로그 정보의 버전이 저널공간의 로그 정보의 버전보다 작으면 로그에 기록된 로그 정보를 디스크에 기록하는 제 6 단계를 포함한다.
도 1은 본 발명에 따른 공유 디스크 파일 시스템에서 회복 관리 모듈의 구성을 나타낸 도면,
도 2는 본 발명에 따른 공유 디스크 파일 시스템에서 트랜잭션 처리 과정을 설명하는 도면.
도 3은 종래 기술에 따른 공유 디스크 파일 시스템에서의 동일한 메타 데이터 접근시 저널링 방법을 설명하는 도면.
도 4는 본 발명에 따른 공유 디스크 파일 시스템에서 전역 버퍼를 이용한 저널링 방법을 설명하는 도면.
도 5는 본 발명에 따른 공유 디스크 파일 시스템에서 로그 관리 과정을 설명하는 도면.
도 6은 본 발명에 따른 공유 디스크 파일 시스템에서 회복 관리 과정을 설명하는 도면.
<도면의 주요부분에 대한 부호의 설명>
100 : 회복 관리자 101 : 트랜잭션 관리자
102 : 로그 관리자 103 : 메타 데이터
104 : 디스크 공간 105 : 저널 공간
본 발명의 실시예로는 다수개가 존재할 수 있으며, 이하에서는 첨부한 도면을 참조하여 바람직한 실시예에 대하여 상세히 설명하기로 한다. 이 실시예를 통해 본 발명의 목적, 특징 및 이점들을 보다 잘 이해할 수 있게 된다.
도 1은 SAN 환경의 공유 디스크 파일 시스템에서 파일 시스템에 대한 회복을 담당하는 회복 관리 모듈의 구성도이다.
도시된 바와 같이 회복 관리 모듈은, 각 연산을 수행하기 위한 트랜잭션 관리자(101), 디스크 공간(104)의 변경된 메타 데이터(103)에 대해서 저널 공간(105)에 기록을 담당하는 로그 관리자(102), 그리고 시스템이 비정상적인 종료로 인하여 이상이 발생한 경우 회복을 하기 위한 회복 관리자(100)로 구성된다.
트랜잭션 관리자(101)는 SAN 환경과 같은 공유 디스크 파일 시스템에 대한 회복 기법으로 저널링 방법을 사용한다. 저널링 방법을 지원하기 위하여 메타 데이터(103) 및 중요 데이터에 변경 연산에 대해서 트랜잭션 처리를 하게 된다. 트랜잭션 관리자(101)는 데이터 변경 연산에 대해서 원자성을 보장하여 메타 데이터(103)가 일관성을 유지할 수 있도록 한다.
도 2는 트랜잭션 관리자(101)가 트랜잭션을 처리하는 과정을 나타낸 것이다.
먼저, 저널링을 처리하는 시스템 콜 연산이 발생하였을 경우 회복을 보장하기 위해서 트랜잭션을 시작하여 새로운 트랜잭션 영역을 할당한 후 초기화를 하고 트랜잭션 타입을 설정한다(200).
변경할 메타 데이터에 대해서 잠금을 획득하고 잠금 정보를 트랜잭션에 추가하여 트랜잭션이 관리를 하게 된다. 즉, 트랜잭션 관리자가 트랜잭션 처리 중 획득하는 잠금 정보에 대해서 유지를 하고 트랜잭션이 모두 끝나는 시점에서 잠금 정보를 해제하여 주며, 메타 데이터 버퍼에 대해서 변경이 일어나는 동안 변경된 내용을 디스크에 반영하지 못하도록 금지(pin) 한다(201).
그리고, 메타 데이터를 수정한다(202).
수정이 모두 끝나면 수정된 메타 데이터 정보를 로그 관리자에게 전달하고, 메타 데이터에 접근하기 위해 트랜잭션 처리 시 획득한 잠금 정보를 해제하여 다른 호스트에서 변경된 메타 데이터에 접근하는 것을 허용한다. 이러한 과정을 마치면 트랜잭션이 종료된다(203).
한편, 종래 기술에 따른 GFS 파일 시스템에서 변경된 메타 데이터에 대해서 다른 호스트에서 접근하고자 하면 디스크에 기록되기 전까지는 메타 데이터를 사용할 수 없다. 즉, 메타 데이터가 디스크에 기록되고 나서야 다른 호스트가 해당 메타 데이터에 접근 할 수 있다.
따라서, 메타 데이터 변경 후에 디스크 입/출력이 두 번 발생하게 된다. 즉, 저널 공간에 기록하는 로그와 원래 메타 데이터를 모두 디스크에 기록해야 하는 단점이 발생한다.
이와 같은 과정을 도 3을 통해서 자세히 살펴보면 다음과 같다.
먼저, 호스트 A(300)의 회복 관리 모듈(302)이 메타 데이터(313)를 디스크 공간(311)으로부터 읽어 버퍼(304)에 적재를 한다(306).
메타 데이터를 변경하고 저널 공간(312)내 호스트 A(300)의 저널 공간인 저널 A(314)에 로그를 기록한다(309). 이때 호스트 B(301)가 호스트 A(300)에 의하여 변경된 메타 데이터에 접근하려 하면 호스트 A(300)는 실제 메타 데이터를 디스크 공간(311)에 기록한다(307).
디스크 공간(311)에 기록하고 난 후 호스트 B(301)는 디스크 공간(311)에 접근해서 메타 데이터(313)를 버퍼(305)로 읽어 오게 된다(308).
호스트 B(301)는 메타 데이터를 변경하고 트랜잭션이 끝나면 저널 공간(312)내 호스트 B(301)의 저널 공간인 저널 B(315)에 기록하게 된다(310).
이와 같은 종래의 저널링 과정은 디스크 입/출력이 다섯 번 발생하게 되어 시스템 성능을 저하시키는 단점이 있다.
이러한 단점을 보완하기 위해서 본 발명에서는 전역 버퍼를 이용한 메타 데이터 관리 기법을 제안한다. 여기서 전역 버퍼는 모든 호스트에 존재하는 지역 버퍼(local buffer)를 통합 관리한다.
도 4는 본 발명이 적용되는 SAN 환경에서 전역 버퍼를 이용한 저널링 과정을 나타낸 도면이다.
먼저, 호스트 A(400)가 메타 데이터(413)를 디스크 공간(411)으로부터 읽어 버퍼(405)에 적재를 한다(408).
메타 데이터를 변경하고 저널 공간(412)내 호스트 A(400)의 저널 공간인 저널 A(414)에 로그를 기록한다(409).
호스트 B(401)가 호스트 A (400)에 의하여 변경된 메타 데이터에 대해서 접근하려고 하면 전역 버퍼 관리자(404)에게 요청하고, 전역 버퍼 관리자(404)는 호스트 A(400)의 버퍼(405)에 존재하기 때문에 해당 메타 데이터에 대한 잠금을 획득하고 네트워크를 통해 메타 데이터의 변경된 정보를 요청한 호스트 B(401)에 전달한다(406).
이와 같은 본 발명의 저널링 과정에서 디스크 입/출력 횟수는 3으로 종래 기술에 의한 도 3의 GFS 파일 시스템 보다 디스크 접근수가 2회 적다. 이렇게 하는 이유는 디스크 입/출력시간보다 네트워크를 통한 전송 시간이 빠르기 때문이다. 특히 SAN 환경에서는 파이버 채널을 통하여 통신을 하기 때문에 시스템 성능을 더욱더 높일 수 있다.
도 1을 다시 참조하면, 로그 관리자(102)는 트랜잭션 관리자(101)로부터 수정된 메타 데이터(103) 및 일반 중요 데이터 정보를 전달받아 저널 공간(105)에 기록한다. 변경된 메타 데이터(103)가 실제 디스크 공간(104)에 기록되기 이전에 항상 먼저 로그 정보를 저널 공간(105)에 기록해야 한다. 이렇게 기록함으로써 시스템 실패 시 저널 공간(105)에 기록되어있는 로그 정보를 이용하여 이전의 상태로 되돌릴 수 있게 된다.
일반적인 공유 파일 시스템에서는 하나의 저널에 다수의 서버들이 공유하므로 저널을 관리하는 것이 복잡하고 비효율적이다. 이러한 단점을 극복하기 위하여,본 발명에서는 각각의 서버가 자신만의 저널 공간을 가지고 있고, 또한 시스템 실패 시에는 다른 서버에 의해서 복구되기 위해서 모든 서버에게 자신의 저널 공간을 접근할 수 있도록 한다. 실패된 시스템에 대해서 해당하는 저널 공간을 찾아 기록된 로그 정보에 접근해서 로그를 재실행함으로써 실패 이전의 상태로 회복을 빠르게 할 수 있다.
한편, 종래 기술에 따르면 GFS 파일 시스템에서의 메타 데이터에 대한 로깅 방법으로 비동기적 로깅을 사용하는데, 비동기적 로깅 방법은 완료된 트랜잭션에 대해서도 디스크에 로그가 반영되지 않은 상태에서 시스템에 장애가 발생하는 경우에는 회복을 보장해 주지 못하는 단점을 가지고 있다. 이런 단점을 보완하기 위해서 본 발명에서는 메타 데이터에 대해서는 동기적 로깅을 사용한다.
또한, 종래 기술에 따른 GFS 파일 시스템에서는 메타 데이터에 대한 회복을 지원하지만 중요 데이터에 대해서는 저널링을 하지 않기 때문에 중요 데이터에 대한 회복을 보장하지 못하는 단점을 가지고 있다. 이러한 단점을 보완하기 위해 본 발명에서는 중요 데이터에 대해서도 저널링 방법을 사용한다. 중요 데이터에 대한 회복을 지원하기 위해 데이터에 대해서도 메타 데이터처럼 버전 번호(version number)를 유지한다.
아울러, 중요 데이터에 대한 로깅 방법은 비동기적 로깅 방법을 사용함으로써 입/출력 빈도를 줄여 준다. 동기적 로깅 방법은 완료된 트랜잭션에 대해서 회복을 보장하지만 트랜잭션이 완료될 때마다 로그 정보를 디스크에 반영함으로써 디스크 입/출력이 자주 발생하는 문제점이 있다. 따라서 중요 데이터에 대해서도 동기적 로깅을 하면 시스템 성능이 현저히 감소하는 문제가 발생할 수 있다. 이런 문제를 줄이기 위해 중요 데이터에 대해서는 비동기적 로깅을 한다. 중요 데이터는 메타 데이터에 보다 회복의 중요도가 떨어지기 때문에 비동기적 로깅을 해도 큰 문제가 되지 않는다. 따라서 중요 데이터에 대해서는 비동기적 로깅을 함으로써 디스크 입/출력 빈도를 줄여 시스템 성능을 높일 수 있다. 이렇게 함으로써 제안하는 회복 기법은 메타 데이터뿐만 아니라 일반 데이터에 대해서도 회복을 보장해 주는 장점이 있다.
도 5는 본 발명에 따른 로그 관리자에 의한 로그 관리 수행 과정을 나타낸 것이다.
먼저, 트랜잭션 관리자로부터 변경된 메타 데이터 정보를 받는다(500).
메타 데이터를 받아서 로그의 양을 계산하여 해당 로그 영역을 할당하고, 트랜잭션에 연결되어 있는 로그 버퍼에 대해서 버전 번호를 하나 증가시킨다(501). 버전 번호는 시스템 실패 시 로그와 디스크의 버전을 비교하여 로그의 재실행 여부를 판단하는데 사용한다.
변경된 로그 정보가 메타 데이터인가를 판단하여 메타 데이터인 경우에는 동기적 로깅을 수행한다(502∼503). 메타 데이터가 아닌 경우에는 로그 버퍼의 개수가 일정 개수(K) 이상인지를 판별하여 일정 개수 이상이면 동기적 로깅을 수행하며(504∼503), 판단한 결과가 일정 개수 미만이면 로그 버퍼를 메모리에 유지하는 비동기적 로깅을 수행한다(504∼505).
동기적 로깅을 수행하는 과정은 저널을 저널 공간에 기록을 한다. 그리고 트랜잭션에 연결된 로그 버퍼 리스트를 AIL(Active Item List) 리스트에 추가한다. 그리고 트랜잭션에 연결되어 있는 버퍼들에 대한 디스크 반영 금지를 해제(unpin)하여 실제 메타 데이터가 디스크에 반영하는 것을 허락한다. 이렇게 함으로서 실제 변경된 메타 데이터가 디스크에 반영되기 이전에 로그 정보를 먼저 저널 공간에 기록하게 되어 트랜잭션이 완료된 연산에 대해서 회복을 보장하게 된다. 이후에 메타 데이터가 디스크에 반영되면 AIL에서 제거한다. 여기서 AIL은 트랜잭션이 완료되고 실제 디스크에 반영되지 않은 버퍼들을 관리한다.
도 6은 본 발명에 따른 공유 디스크 파일 시스템에서 회복 관리 과정을 나타낸 것으로서, 공유 파일 시스템에서 시스템에 장애가 발생하였을 경우 메타 데이터의 일관성을 유지시키기 위해 회복 연산이 수행된다.
도 1을 다시 참조하면, 호출된 회복 관리자(100)는 저널 공간(105)에 기록된 로그 정보를 이용하여 해당 트랜잭션이 변경한 메타 데이터에 대한 내용을 트랜잭션 이전의 상태로 회복한다.
비정상적인 종료에 의해서 파일 시스템의 일관성이 깨지는 것을 회복하기 위해서 실패된 호스트 ID를 가지고 회복 관리자(100)가 호출된다. 이러한 회복 관리자(100)가 호출되어 회복되는 과정을 나타낸 것이 도 6이다.
상술하면, 처음으로 실패된 호스트에 해당하는 저널 공간을 찾아 로그의 헤드 정보를 읽으며, 읽은 로그 정보를 체크하여 시스템이 정상적으로 종료되었는지를 판단한다(600∼601).
판단 결과 정상적으로 종료되었으면 회복 함수를 종료하며, 비정상적으로 종료되었으면 로그의 처음과 끝의 엔트리를 찾게 된다(602).
로그를 처음부터 끝까지 읽어가면서 완료된 엔트리들 중에 부분적으로 완료된 엔트리들은 무시하며, 저널의 엔트리가 끝인지를 판단한다(602∼603).
회복을 하게 될 각각의 저널 엔트리에 대해서 엔트리와 관련된 잠금을 획득함으로써 회복하는 동안 다른 호스트가 변경하는 것을 막으며, 디스크로부터 메타 데이터를 읽고 저널 공간에서 로그 정보를 읽는다(604).
이후, 저널 공간에서 읽어온 로그 정보의 버전과 디스크에 기록된 버전과 비교하여 디스크의 메타 데이터 버전이 로그의 버전보다 작은지를 판단한다(605).
판단 결과 디스크 공간에 반영된 생성 버전보다 로그에 기록된 생성 버전이 크면 로그 정보를 디스크에 반영한다. 즉, 로그의 정보를 재실행함으로써 빠르게 회복과정을 마치게 된다(606).
다음으로, 저널 공간을 클리어하고 회복을 종료하게 된다(607).
한편, 회복이 일어나는 동안에도 실패된 호스트에 획득한 잠금 정보를 필요로 하지 않는다면 다른 호스트는 정상적인 동작을 계속할 수 있다.
이하, 본 발명의 이해를 돕기 위하여 본 발명에서 제시한 공유 디스크 환경에서 메타 데이터 변경이 일어날 때 처리되는 과정과 그 처리 과정에서 시스템에 문제가 발생하는 경우 회복하는 과정을 예제를 통해 파일 시스템의 일관성이 어떻게 유지되는지를 살펴보기로 한다.
아래 예제의 환경은, 호스트 2개가 네트워크로 연결되어 있고 디스크는 메타 데이터를 위한 부분과 저널을 기록하기 위한 저널영역으로 나누어 생각할 수 있으며, 각각의 호스트는 로그를 기록하기 위한 자신만의 저널 공간을 가지고 있다. 시스템 실패시 이 저널공간이 여러 호스트에 보여지게 된다.
도 4를 다시 참조하면, 호스트 A(400)가 메타 데이터에 접근하기 위해, 먼저 메모리에 있는 메타 데이터 버퍼에 접근하게 된다. 찾고자 하는 메타 데이터 버퍼가 메모리에 존재하지 않는다면 호스트 A(400)는 디스크 공간(411)에 직접 접근해서 메타 데이터(413)에 대한 정보를 읽어 버퍼(405)에 적재하게 된다(408). 이때 디스크에 기록된 버전이 0이었다고 가정한다.
메타 데이터 버퍼(405)를 변경하기 위해서 트랜잭션을 처리하고, 트랜잭션을 종료하게 되면 버전을 0에서 1로 증가하고 메타 데이터에 대한 로그 정보를 디스크에 반영을 하게 된다(409).
호스트 B(401)가 호스트 A(400)에서 사용하고 있는 메타 데이터 버퍼(405)에 대해서 접근을 할 때에 호스트 A(400)는 트랜잭션을 종료하면 잠금을 해제하고 그 권한을 호스트 B(401)에게 넘겨준다.
호스트 B(401)에서는 메타 정보를 호스트 A(400)로부터 전송 받아서(406) 변경하기 위해서 트랜잭션을 처리하고 버전을 하나 증가하게 된다. 이 예제에서는 호스트 B(401)에서 변경된 로그 정보를 호스트 B(401)의 저널 공간인 저널 B(415)에 반영하고 호스트 A(400)와 B(401)의 메타 데이터 버퍼들(405,407)은 버퍼 정책에 의하여 실제 디스크 공간(411)에 반영되기 전에 호스트 A(400)가 실패했을 경우이다.
먼저 실패 된 호스트 ID를 가지고 호스트 A(400)에 대한 회복이 호출 되게된다. 호스트 A(400)의 저널 공간인 저널 A(414)에서 로그 정보와 실제 디스크 공간(411)에서 메타 데이터(413)를 읽어 디스크의 버전과 로그의 버전을 비교한다. 여기서 로그의 버전은 1 이고 디스크의 버전이 0이므로 로그를 재실행하면 된다. 따라서 디스크의 버전은 1로 바뀌고 회복을 마치게 된다.
상기에서는 본 발명의 일 실시예에 국한하여 설명하였으나 본 발명의 기술이 당업자에 의하여 용이하게 변형 실시될 가능성이 자명하다. 이러한 변형된 실시예들은 본 발명의 특허청구범위에 기재된 기술사상에 포함된다고 하여야 할 것이다.
전술한 바와 같은 본 발명은 변경된 메타 데이터에 다른 호스트가 접근하려고 할 때 디스크에 반영하지 않고 화이버 채널을 통해 네트워크에 전송함으로써 저널링 속도를 증가시키고 메타 데이터뿐만 아니라 일반 데이터에 대해서도 저널링을 함으로써 일반 중요 데이터에 대해서 일관성을 유지시켜 주는 효과가 있다.

Claims (7)

  1. 공유 디스크 환경에서 시스템이 비정상적으로 종료되었을 경우 회복을 지원하기 위한 저널링 방법에 있어서,
    저널링을 처리하는 시스템 콜 연산이 발생하였을 경우 회복을 보장하기 위해서 트랜잭션을 시작하여 새로운 트랜잭션 영역을 할당한 후 초기화를 하고 트랜잭션 타입을 설정하는 제 1 단계;
    변경된 데이터에 잠금 정보를 획득하고 상기 트랜잭션에 추가하여 트랜잭션이 잠금 정보를 관리하고, 메타 데이터가 변경하는 동안 디스크에 반영하는 것을 방지하는 제 2 단계;
    상기 트랜잭션에 추가된 변경된 메타 데이터 및 중요 일반 데이터에 대해서 변경된 정보를 저널 공간에 기록하고, 상기 트랜잭션에 연결된 잠금 정보를 해제하는 제 3 단계를 포함하는 공유 디스크 파일 시스템의 저널링 방법.
  2. 제 1 항에 있어서,
    변경된 메타 데이터 버퍼 및 중요 데이터 버퍼에서 로그 버퍼를 모으는 제 4 단계;
    상기 로그 영역을 할당하고 버전을 증가시키는 제 5 단계;
    상기 로그 정보가 메타 데이터인지 일반 데이터인지 판단하는 제 6 단계;
    상기 판단 결과에 따라 메타 데이터 및 일반 데이터를 저널 공간에 기록하는제 7 단계를 더 포함하는 공유 디스크 파일 시스템의 저널링 방법.
  3. 제 2 항에 있어서, 상기 제 7 단계는,
    상기 판단 결과, 로그 정보가 메타 데이터이거나 로그 정보가 중요 데이터이고 로그의 버퍼의 개수가 일정 개수 이상이면 동기적 로깅을 하는 제 71 단계;
    상기 판단 결과, 로그 정보가 일반 중요 데이터이면서 로그의 개수가 상기 일정 개수 미만이면 비동기적 로깅을 하는 제 72 단계를 포함하는 공유 디스크 파일 시스템의 저널링 방법.
  4. 제 3 항에 있어서, 상기 제 71 단계는,
    상기 로그를 저널 공간에 기록하는 제 711 단계;
    상기 트랜잭션에 연결된 버퍼 리스트를 AIL 리스트에 추가하는 제 712 단계;
    상기 AIL 리스트에 추가된 버퍼에 대해서 디스크 반영 금지를 해제하는 제 713 단계를 포함하는 공유 디스크 파일 시스템의 저널링 방법.
  5. 제 3 항에 있어서, 상기 제 72 단계는,
    상기 로그 정보를 저널 공간에 반영하지 않고 메모리 공간에 유지하는 것을 특징으로 한 공유 디스크 파일 시스템의 저널링 방법.
  6. 공유 디스크 환경에서 저널링 기법을 이용하여 시스템이 비정상적으로 종료되었을 경우 파일 시스템의 일관성을 유지할 수 있도록 하는 공유 디스크 파일 시스템의 회복 방법에 있어서,
    로그 헤드 정보를 읽는 제 1 단계;
    시스템이 정상적으로 종료가 되었는지 판단하여 시스템이 비정상적으로 종료되었을 경우 상기 로그의 정보를 찾아 완료된 엔트리를 찾는 제 2 단계;
    시작하는 상기 엔트리가 저널의 끝인지를 판단하는 제 3 단계;
    상기 판단 결과, 상기 엔트리가 저널의 끝이 아니면 디스크와 저널공간에서 정보를 읽는 제 4 단계;
    상기 제 4 단계에서 읽어온 디스크 정보와 저널 공간 정보의 버전 번호를 비교하는 제 5 단계;
    상기 비교 결과, 디스크의 로그 정보의 버전이 저널공간의 로그 정보의 버전보다 작으면 로그에 기록된 로그 정보를 디스크에 기록하는 제 6 단계를 포함하는 공유 디스크 파일 시스템의 회복 방법.
  7. 제 6 항에 있어서,
    상기 판단 결과, 상기 엔트리가 저널의 끝일 때까지 상기 제 4 단계부터 상기 제 6 단계까지를 반복 수행하는 것을 특징으로 한 공유 디스크 파일 시스템의 회복 방법.
KR10-2002-0015322A 2002-03-21 2002-03-21 공유 디스크 파일 시스템의 저널링 및 회복 방법 KR100453228B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2002-0015322A KR100453228B1 (ko) 2002-03-21 2002-03-21 공유 디스크 파일 시스템의 저널링 및 회복 방법
US10/244,521 US7139927B2 (en) 2002-03-21 2002-09-17 Journaling and recovery method of shared disk file system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0015322A KR100453228B1 (ko) 2002-03-21 2002-03-21 공유 디스크 파일 시스템의 저널링 및 회복 방법

Publications (2)

Publication Number Publication Date
KR20030075854A true KR20030075854A (ko) 2003-09-26
KR100453228B1 KR100453228B1 (ko) 2004-10-15

Family

ID=32089655

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0015322A KR100453228B1 (ko) 2002-03-21 2002-03-21 공유 디스크 파일 시스템의 저널링 및 회복 방법

Country Status (2)

Country Link
US (1) US7139927B2 (ko)
KR (1) KR100453228B1 (ko)

Families Citing this family (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003092166A1 (en) * 2002-04-25 2003-11-06 Kashya Israel Ltd. An apparatus for continuous compression of large volumes of data
US7478211B2 (en) 2004-01-09 2009-01-13 International Business Machines Corporation Maintaining consistency for remote copy using virtualization
US20050154786A1 (en) * 2004-01-09 2005-07-14 International Business Machines Corporation Ordering updates in remote copying of data
JP4551096B2 (ja) * 2004-02-03 2010-09-22 株式会社日立製作所 ストレージサブシステム
US8700585B2 (en) * 2004-02-06 2014-04-15 Vmware, Inc. Optimistic locking method and system for committing transactions on a file system
US8543781B2 (en) 2004-02-06 2013-09-24 Vmware, Inc. Hybrid locking using network and on-disk based schemes
US10776206B1 (en) * 2004-02-06 2020-09-15 Vmware, Inc. Distributed transaction system
US7552122B1 (en) 2004-06-01 2009-06-23 Sanbolic, Inc. Methods and apparatus facilitating access to storage among multiple computers
US7376866B1 (en) 2004-10-22 2008-05-20 Network Appliance, Inc. Method and an apparatus to perform fast log replay
US7502957B2 (en) * 2005-09-09 2009-03-10 International Business Machines Corporation Method and system to execute recovery in non-homogeneous multi processor environments
KR100825720B1 (ko) * 2005-12-08 2008-04-29 한국전자통신연구원 파일 시스템에서 파일 관리 방법 및 이를 위한 메타데이터서버
US8060713B1 (en) 2005-12-21 2011-11-15 Emc (Benelux) B.V., S.A.R.L. Consolidating snapshots in a continuous data protection system using journaling
US7774565B2 (en) * 2005-12-21 2010-08-10 Emc Israel Development Center, Ltd. Methods and apparatus for point in time data access and recovery
US7849361B2 (en) * 2005-12-22 2010-12-07 Emc Corporation Methods and apparatus for multiple point in time data access
US7577867B2 (en) * 2006-02-17 2009-08-18 Emc Corporation Cross tagging to data for consistent recovery
US7627687B2 (en) * 2006-09-28 2009-12-01 Emc Israel Development Center, Ltd. Methods and apparatus for managing data flow in a continuous data replication system having journaling
US7627612B2 (en) * 2006-09-28 2009-12-01 Emc Israel Development Center, Ltd. Methods and apparatus for optimal journaling for continuous data replication
CN101170416B (zh) * 2006-10-26 2012-01-04 阿里巴巴集团控股有限公司 网络数据存储系统及其数据访问方法
US9112873B2 (en) * 2007-04-10 2015-08-18 Apertio Limited Alias hiding in network data repositories
US20080256142A1 (en) * 2007-04-10 2008-10-16 Apertio Limited Journaling in network data architectures
US8402147B2 (en) * 2007-04-10 2013-03-19 Apertio Limited Nomadic subscriber data system
US8782085B2 (en) 2007-04-10 2014-07-15 Apertio Limited Variant entries in network data repositories
US7853571B2 (en) * 2007-09-28 2010-12-14 Symantec Corporation Techniques for file system recovery
US7860836B1 (en) 2007-12-26 2010-12-28 Emc (Benelux) B.V., S.A.R.L. Method and apparatus to recover data in a continuous data protection environment using a journal
US7840536B1 (en) 2007-12-26 2010-11-23 Emc (Benelux) B.V., S.A.R.L. Methods and apparatus for dynamic journal expansion
US8041940B1 (en) 2007-12-26 2011-10-18 Emc Corporation Offloading encryption processing in a storage area network
US7958372B1 (en) * 2007-12-26 2011-06-07 Emc (Benelux) B.V., S.A.R.L. Method and apparatus to convert a logical unit from a first encryption state to a second encryption state using a journal in a continuous data protection environment
KR101258589B1 (ko) * 2008-03-03 2013-05-02 삼성전자주식회사 저널링 파일 시스템에 따라 데이터를 기록한 정보저장매체,저널링 파일 시스템을 이용해서 데이터를 기록/복구하는방법 및 장치
US9501542B1 (en) 2008-03-11 2016-11-22 Emc Corporation Methods and apparatus for volume synchronization
US7719443B1 (en) 2008-06-27 2010-05-18 Emc Corporation Compressing data in a continuous data protection environment
US8108634B1 (en) 2008-06-27 2012-01-31 Emc B.V., S.A.R.L. Replicating a thin logical unit
US8060714B1 (en) 2008-09-26 2011-11-15 Emc (Benelux) B.V., S.A.R.L. Initializing volumes in a replication system
US7882286B1 (en) * 2008-09-26 2011-02-01 EMC (Benelux)B.V., S.A.R.L. Synchronizing volumes for replication
US9996572B2 (en) * 2008-10-24 2018-06-12 Microsoft Technology Licensing, Llc Partition management in a partitioned, scalable, and available structured storage
US8255373B2 (en) * 2008-10-24 2012-08-28 Microsoft Corporation Atomic multiple modification of data in a distributed storage system
EP2323047B1 (en) * 2009-10-09 2020-02-19 Software AG Primary database system, replication database system and method for replicating data of a primary database system
US8392680B1 (en) 2010-03-30 2013-03-05 Emc International Company Accessing a volume in a distributed environment
US8332687B1 (en) 2010-06-23 2012-12-11 Emc Corporation Splitter used in a continuous data protection environment
US9009101B2 (en) * 2010-07-01 2015-04-14 Sybase, Inc. Reducing contention of transaction logging in a database management system
US8478955B1 (en) 2010-09-27 2013-07-02 Emc International Company Virtualized consistency group using more than one data protection appliance
US8433869B1 (en) 2010-09-27 2013-04-30 Emc International Company Virtualized consistency group using an enhanced splitter
US8335771B1 (en) 2010-09-29 2012-12-18 Emc Corporation Storage array snapshots for logged access replication in a continuous data protection system
US8694700B1 (en) 2010-09-29 2014-04-08 Emc Corporation Using I/O track information for continuous push with splitter for storage device
US8335761B1 (en) 2010-12-02 2012-12-18 Emc International Company Replicating in a multi-copy environment
US9256605B1 (en) 2011-08-03 2016-02-09 Emc Corporation Reading and writing to an unexposed device
US8898112B1 (en) 2011-09-07 2014-11-25 Emc Corporation Write signature command
US9223659B1 (en) 2012-06-28 2015-12-29 Emc International Company Generating and accessing a virtual volume snapshot in a continuous data protection system
US9336094B1 (en) 2012-09-13 2016-05-10 Emc International Company Scaleout replication of an application
US10235145B1 (en) 2012-09-13 2019-03-19 Emc International Company Distributed scale-out replication
US8938645B2 (en) * 2012-09-19 2015-01-20 Sap Se Invalidation of metadata buffers
US8996460B1 (en) 2013-03-14 2015-03-31 Emc Corporation Accessing an image in a continuous data protection using deduplication-based storage
US9696939B1 (en) 2013-03-14 2017-07-04 EMC IP Holding Company LLC Replicating data using deduplication-based arrays using network-based replication
US9383937B1 (en) 2013-03-14 2016-07-05 Emc Corporation Journal tiering in a continuous data protection system using deduplication-based storage
US9110914B1 (en) 2013-03-14 2015-08-18 Emc Corporation Continuous data protection using deduplication-based storage
US9244997B1 (en) 2013-03-15 2016-01-26 Emc Corporation Asymmetric active-active access of asynchronously-protected data storage
US9081842B1 (en) 2013-03-15 2015-07-14 Emc Corporation Synchronous and asymmetric asynchronous active-active-active data access
US9152339B1 (en) 2013-03-15 2015-10-06 Emc Corporation Synchronization of asymmetric active-active, asynchronously-protected storage
US9087112B1 (en) 2013-06-24 2015-07-21 Emc International Company Consistency across snapshot shipping and continuous replication
US9069709B1 (en) 2013-06-24 2015-06-30 Emc International Company Dynamic granularity in data replication
US9146878B1 (en) 2013-06-25 2015-09-29 Emc Corporation Storage recovery from total cache loss using journal-based replication
US9367260B1 (en) 2013-12-13 2016-06-14 Emc Corporation Dynamic replication system
US9405765B1 (en) 2013-12-17 2016-08-02 Emc Corporation Replication of virtual machines
US9158630B1 (en) 2013-12-19 2015-10-13 Emc Corporation Testing integrity of replicated storage
US9189339B1 (en) 2014-03-28 2015-11-17 Emc Corporation Replication of a virtual distributed volume with virtual machine granualarity
KR101669722B1 (ko) * 2014-04-24 2016-10-26 한양대학교 산학협력단 데이터베이스 관리 장치 및 방법
US10082980B1 (en) 2014-06-20 2018-09-25 EMC IP Holding Company LLC Migration of snapshot in replication system using a log
US9274718B1 (en) 2014-06-20 2016-03-01 Emc Corporation Migration in replication system
US9619543B1 (en) 2014-06-23 2017-04-11 EMC IP Holding Company LLC Replicating in virtual desktop infrastructure
KR101584760B1 (ko) 2014-06-30 2016-01-22 성균관대학교산학협력단 순서 모드 저널링 파일 시스템을 위한 블록 그룹 단위 저널링 방법 및 장치
KR101674176B1 (ko) 2014-07-24 2016-11-08 성균관대학교산학협력단 파일 단위 순서 모드 저널링 기법을 이용한 fsync 시스템 호출 처리 장치 및 방법
US10324798B1 (en) 2014-09-25 2019-06-18 EMC IP Holding Company LLC Restoring active areas of a logical unit
US10101943B1 (en) 2014-09-25 2018-10-16 EMC IP Holding Company LLC Realigning data in replication system
US10437783B1 (en) 2014-09-25 2019-10-08 EMC IP Holding Company LLC Recover storage array using remote deduplication device
US9910621B1 (en) 2014-09-29 2018-03-06 EMC IP Holding Company LLC Backlogging I/O metadata utilizing counters to monitor write acknowledgements and no acknowledgements
US9529885B1 (en) 2014-09-29 2016-12-27 EMC IP Holding Company LLC Maintaining consistent point-in-time in asynchronous replication during virtual machine relocation
US9600377B1 (en) 2014-12-03 2017-03-21 EMC IP Holding Company LLC Providing data protection using point-in-time images from multiple types of storage devices
US10496487B1 (en) 2014-12-03 2019-12-03 EMC IP Holding Company LLC Storing snapshot changes with snapshots
US9405481B1 (en) 2014-12-17 2016-08-02 Emc Corporation Replicating using volume multiplexing with consistency group file
US9632881B1 (en) 2015-03-24 2017-04-25 EMC IP Holding Company LLC Replication of a virtual distributed volume
US9411535B1 (en) 2015-03-27 2016-08-09 Emc Corporation Accessing multiple virtual devices
US10296419B1 (en) 2015-03-27 2019-05-21 EMC IP Holding Company LLC Accessing a virtual device using a kernel
US9678680B1 (en) 2015-03-30 2017-06-13 EMC IP Holding Company LLC Forming a protection domain in a storage architecture
US10853181B1 (en) 2015-06-29 2020-12-01 EMC IP Holding Company LLC Backing up volumes using fragment files
US10346260B1 (en) * 2015-09-30 2019-07-09 EMC IP Holding Company LLC Replication based security
US9684576B1 (en) 2015-12-21 2017-06-20 EMC IP Holding Company LLC Replication using a virtual distributed volume
US10067837B1 (en) 2015-12-28 2018-09-04 EMC IP Holding Company LLC Continuous data protection with cloud resources
US10133874B1 (en) 2015-12-28 2018-11-20 EMC IP Holding Company LLC Performing snapshot replication on a storage system not configured to support snapshot replication
US10235196B1 (en) 2015-12-28 2019-03-19 EMC IP Holding Company LLC Virtual machine joining or separating
US10235087B1 (en) 2016-03-30 2019-03-19 EMC IP Holding Company LLC Distributing journal data over multiple journals
US10579282B1 (en) 2016-03-30 2020-03-03 EMC IP Holding Company LLC Distributed copy in multi-copy replication where offset and size of I/O requests to replication site is half offset and size of I/O request to production volume
US10152267B1 (en) 2016-03-30 2018-12-11 Emc Corporation Replication data pull
US10235060B1 (en) 2016-04-14 2019-03-19 EMC IP Holding Company, LLC Multilevel snapshot replication for hot and cold regions of a storage system
US10235091B1 (en) 2016-09-23 2019-03-19 EMC IP Holding Company LLC Full sweep disk synchronization in a storage system
US10019194B1 (en) 2016-09-23 2018-07-10 EMC IP Holding Company LLC Eventually consistent synchronous data replication in a storage system
US10210073B1 (en) 2016-09-23 2019-02-19 EMC IP Holding Company, LLC Real time debugging of production replicated data with data obfuscation in a storage system
US10235090B1 (en) 2016-09-23 2019-03-19 EMC IP Holding Company LLC Validating replication copy consistency using a hash function in a storage system
US10146961B1 (en) 2016-09-23 2018-12-04 EMC IP Holding Company LLC Encrypting replication journals in a storage system
KR102441997B1 (ko) * 2017-11-01 2022-09-08 한국전자통신연구원 네트워크에서 메타데이터의 동기화를 제어하는 장치 및 그 방법
CN113190332A (zh) * 2020-01-14 2021-07-30 伊姆西Ip控股有限责任公司 用于处理元数据的方法、设备和计算机程序产品

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2281644A (en) * 1993-09-02 1995-03-08 Ibm Fault tolerant transaction-oriented data processing.
KR100260028B1 (ko) * 1996-08-13 2000-06-15 윤종용 화일시스템의 정보 복구방법
US5909540A (en) * 1996-11-22 1999-06-01 Mangosoft Corporation System and method for providing highly available data storage using globally addressable memory
US5845292A (en) * 1996-12-16 1998-12-01 Lucent Technologies Inc. System and method for restoring a distributed checkpointed database
US6178519B1 (en) * 1998-12-10 2001-01-23 Mci Worldcom, Inc. Cluster-wide database system
US6874104B1 (en) * 1999-06-11 2005-03-29 International Business Machines Corporation Assigning recoverable unique sequence numbers in a transaction processing system
JP3478187B2 (ja) * 1999-07-23 2003-12-15 株式会社日立製作所 データベース管理方法及びシステム

Also Published As

Publication number Publication date
KR100453228B1 (ko) 2004-10-15
US20040078658A1 (en) 2004-04-22
US7139927B2 (en) 2006-11-21

Similar Documents

Publication Publication Date Title
KR100453228B1 (ko) 공유 디스크 파일 시스템의 저널링 및 회복 방법
US9817710B2 (en) Self-describing data blocks stored with atomic write
US8074035B1 (en) System and method for using multivolume snapshots for online data backup
CN101567805B (zh) 并行文件系统发生故障后的恢复方法
US7457921B2 (en) Write barrier for data storage integrity
US8429134B2 (en) Distributed database recovery
KR101203297B1 (ko) 직접 업데이트 소프트웨어 트랜잭션 메모리
US6249879B1 (en) Root filesystem failover in a single system image environment
US7631214B2 (en) Failover processing in multi-tier distributed data-handling systems
US8700585B2 (en) Optimistic locking method and system for committing transactions on a file system
US20040049636A1 (en) Technique for data transfer
KR100450400B1 (ko) 안전 기억 장치가 없는 환경을 위한 이중화 구조의 주 메모리 상주 데이터베이스 관리시스템 및 그 데이터 일치성 제어방법
KR20150130496A (ko) 분산 데이터베이스 시스템들을 위한 고속 장애 복구
JP2004326162A (ja) ネットワークシステム、サーバ、データ処理方法及びプログラム
US20100299512A1 (en) Network Boot System
JP6445049B2 (ja) ログの管理方法及び計算機システム
EP1636690B1 (en) Managing a relationship between one target volume and one source volume
US7260575B2 (en) Performance optimization for data sharing across batch sequential processes and on-line transaction processes
US8086580B2 (en) Handling access requests to a page while copying an updated page of data to storage
US20030074376A1 (en) File manager for storing several versions of a file
US20110099347A1 (en) Managing allocation and deallocation of storage for data objects
US10073874B1 (en) Updating inverted indices
US7693880B1 (en) Mirrored storage at the file system level
US11237925B2 (en) Systems and methods for implementing persistent data structures on an asymmetric non-volatile memory architecture
KR102123616B1 (ko) 충돌 페이지 리스트를 이용한 병렬 저널링 방법 및 그 장치

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
FPAY Annual fee payment

Payment date: 20120926

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20130925

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140926

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150925

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20170927

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20181001

Year of fee payment: 15