KR100936919B1 - 메타데이터의 일관성을 보장하기 위한 분산 파일 시스템 및방법 - Google Patents

메타데이터의 일관성을 보장하기 위한 분산 파일 시스템 및방법 Download PDF

Info

Publication number
KR100936919B1
KR100936919B1 KR1020070132583A KR20070132583A KR100936919B1 KR 100936919 B1 KR100936919 B1 KR 100936919B1 KR 1020070132583 A KR1020070132583 A KR 1020070132583A KR 20070132583 A KR20070132583 A KR 20070132583A KR 100936919 B1 KR100936919 B1 KR 100936919B1
Authority
KR
South Korea
Prior art keywords
file
metadata
data
block
client
Prior art date
Application number
KR1020070132583A
Other languages
English (en)
Other versions
KR20090065131A (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 KR1020070132583A priority Critical patent/KR100936919B1/ko
Publication of KR20090065131A publication Critical patent/KR20090065131A/ko
Application granted granted Critical
Publication of KR100936919B1 publication Critical patent/KR100936919B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 동일한 파일들을 동시에 접근하는 다수의 클라이언트들을 동시에 제어하여 해당 파일에 대한 메타데이터의 일관성을 유지할 수 있는 분산 파일 시스템 및 그의 메타데이터의 일관성 보장 방법을 제공하는 것으로, 본 발명의 분산 파일 시스템은, 파일에 대한 메타데이터와 디렉토리로 구성된 트리의 형태로 분산 파일 시스템의 네임스페이스를 유지하는 메타데이터 서버; 파일을 저장하는 다수의 데이터 서버들; 및 상기 메타데이터 서버로부터 읽으려는 파일의 위치 정보를 얻어서 상기 데이터 서버들 중 해당 데이터 서버로부터 파일 데이터를 읽고, 파일의 생성을 상기 메타데이터 서버에게 요청하고, 상기 메타데이터 서버로부터 얻어온 파일 정보와 쓰려는 데이터의 양을 비교하여 비교결과에 따라 파일을 쓰는 다수의 클라이언트들;을 포함하는 것을 특징으로 한다.
메타데이터, 일관성, 보장, 분산파일

Description

메타데이터의 일관성을 보장하기 위한 분산 파일 시스템 및 방법{Distributed File System And Method For Guaranteeing Consistency Of Metadata}
본 발명은 분산 파일 시스템 및 메타데이터의 일관성 보장 방법에 관한 것으로, 특히 동일한 파일들을 동시에 접근하는 다수의 클라이언트들을 동시에 제어하여 해당 파일에 대한 메타데이터의 일관성을 유지할 수 있는 분산 파일 시스템 및 그의 메타데이터의 일관성 보장 방법에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2007-S-016-01, 과제명: 저비용 대규모 글로벌 인터넷 서비스 솔류션 개발].
네트워크를 이용하여 다수의 컴퓨터들을 연결함으로써 사용자에게 통합된 파일 시스템 환경을 제공해 주는 분산 파일 시스템은 다양한 인터넷 서비스 환경에서 사용되고 있다. 사용자의 참여로 새롭고 다양해지는 인터넷 서비스들로 인해 분산 파일 시스템에 요구되는 기능들은 더욱 많아지고 있다. 이러한 서비스 중 일부는 파일의 읽기뿐만 아니라 파일의 내용 변경, 내용 추가를 필요로 하고 있으며 분산 파일 시스템은 이러한 사용자의 요구를 만족시키기 위해 지속적으로 변화하고 있다. 파일의 읽기 성능에 저하 없이 변경, 추가의 기능을 제공하도록 하면서 동일한 파일을 동시에 접근하는 다수의 클라이언트들에 의해 메타데이터의 일관성이 깨지지 않도록 보장하는 것이 매우 중요하다.
이와 같은 시스템 내에는 동일한 파일을 동시에 접근하는 다수의 클라이언트들이 존재하기 때문에 여러 데이터 서버에 존재하는 파일 데이터에 대해 클라이언트가 올바르게 접근할 수 있도록 메타데이터 정보를 일관되게 유지시켜야 한다. A라는 파일이 데이터 서버 D1, D2, D3에 저장되어 있고 파일 A를 읽고자 하는 클라이언트 C1과 파일 A에 추가하고자 하는 클라이언트 C2, C3가 동시에 존재한다면, 클라이언트 C1은 메타데이터 서버 M에 있는 메타데이터의 정보를 얻으려 할 것이고, 클라이언트 C2와 C3은 메타데이터 서버 M에 있는 메타데이터의 정보를 변경하려 할 것이다. 클라이언트 C2가 마지막 블록 정보의 블록 식별자를 쓰는 중간에 클라이언트 C1이 마지막 블록 정보의 블록 식별자를 읽는다면, 클라이언트 C2는 잘못된 블록 식별자로 인해 혼란을 겪게 될 것이다. 또한 클라이언트 C3은 클라이언트 C2가 쓴 부분을 덮어쓰는 상황이 발생할 수도 있을 것이다. 따라서 동일한 파일을 동시에 접근하는 다수의 클라이언트들을 제어하기 위한 방법이 요구되며, 성능의 저하를 최소화할 수 있도록 해야 한다.
Ghemawat 등이 발명하고 Google이 2003년 6월 30일자로 출원하여 2007년 5월 22일에 등록된 미국특허 US7222119B1에서는 다수의 클라이언트에 의해 동시에 접근되는 네임스페이스(namespace)의 관리와 잠금을 설정하는 방법이 제시되어 있다. 이 특허에서는 메타데이터를 관리하는 마스터(master) 서버가 연산에 포함된 전체 경로에 대해 디렉토리(directory)에는 읽기 잠금을 획득하고 전체 경로에 대해서는 읽기 또는 쓰기 잠금을 획득하도록 하고 있다. 그러나, 하나 이상의 디렉토리에 읽기 잠금을 획득하므로 디렉토리에 대한 삭제, 이름 변경, 스냅샷 등을 지연시키며, 잠금의 범위가 넓어져서 동시성이 저하될 수 있다.
Ghemawat 등이 발명하고 Google이 2003년 6월 30일자로 출원하여 2006년 9월 12일에 등록된 미국특허 US7107419B1에서는 다수의 클라이언트들이 동시에 동일한 파일에 대해 레코드 추가 연산을 하는 방법이 제시되어 있다. 이 특허에서는 파일에 대한 레코드 추가 연산은 주 복제 서버에서 결정된 오프셋에 따라 부 복제 서버들도 그 오프셋에 추가되며, 최소한 한번은 원자적 단위로 기록한다는 것을 보장한다. 하지만 로컬 파일 끝에 레코드 추가 연산을 할 때와는 다르게 다수의 클라이언트들이 동시에 동일한 파일에 대해 레코드 추가 연산을 할 때 추가 순서와는 다른 오프셋에 기록될 수 있는 가능성이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로, 본 발명의 목적은 동일한 파일들을 동시에 접근하는 다수의 클라이언트들을 동시에 제어하여 해당 파일에 대한 메타데이터의 일관성을 유지할 수 있는 분산 파일 시스템 및 그의 메타데이터의 일관성 보장 방법을 제공하는 데 있다.
본 발명의 다른 목적은 다수의 클라이언트들이 동시에 동일한 파일들에 접근할 때 해당 파일에 대한 메타데이터의 일관성을 유지함으로써, 클라이언트들이 일관된 메타데이터 정보를 볼 수 있도록 하는 분산 파일 시스템 및 그의 메타데이터의 일관성 보장 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은 다수의 클라이언트들이 동일한 파일들을 동시에 접근하더라도 메타데이터의 일관성을 유지하면서 파일에 대한 자유로운 쓰기 연산을 지원하고 메타데이터의 일관성을 유지하기 위해 소요되는 잠금 비용을 최소화함으로써, 클라이언트의 연산 지연을 감소시켜 시스템의 전체 성능을 향상시킬 수 있는 분산 파일 시스템 및 그의 메타데이터의 일관성 보장 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은 동일한 파일들에 대한 다수의 클라이언트 접근 환경에서 파일에 대한 메타데이터의 일관성을 보장하고 동시성을 향상시킴으로써, 시스템의 성능을 향상시킬 수 있는 분산 파일 시스템 및 그의 메타데이터의 일관성 보장 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은 클라이언트에서 연산 단위의 잠금을 하지 않고 메 타데이터 서버에서 동일한 파일의 메타데이터를 접근할 때만 잠금을 설정함으로써, 불필요한 클라이언트의 지연을 제거할 수 있는 분산 파일 시스템 및 그의 메타데이터의 일관성 보장 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은 파일을 생성할 때 한 번만 쓰기가 가능하도록 하던 방식을 항상 여러 번 쓸 수 있도록 하고 파일에 대한 다중 추가 연산을 할 수 있도록 하여 분산 파일 시스템의 사용에 대한 제약을 제거함으로써, 클라이언트가 보다 풍부한 기능을 제공받을 수 있도록 하는 분산 파일 시스템 및 그의 메타데이터의 일관성 보장 방법을 제공하는 데 있다.
이와 같은 목적을 달성하기 위한 본 발명의 분산 파일 시스템은, 파일에 대한 메타데이터와 디렉토리로 구성된 트리의 형태로 분산 파일 시스템의 네임스페이스를 유지하는 메타데이터 서버; 파일을 저장하는 다수의 데이터 서버들; 및 상기 메타데이터 서버로부터 읽으려는 파일의 위치 정보를 얻어서 상기 데이터 서버들 중 해당 데이터 서버로부터 파일 데이터를 읽고, 파일의 생성을 상기 메타데이터 서버에게 요청하고, 상기 메타데이터 서버로부터 얻어온 파일 정보와 쓰려는 데이터의 양을 비교하여 비교결과에 따라 파일을 쓰는 다수의 클라이언트들;을 포함하는 것을 특징으로 한다.
본 발명의 분산 파일 시스템의 메타데이터의 일관성 보장방법은, 클라이언트로부터 파일 생성 요청이 있으면, 메타데이터 파일을 열고 나서, 상기 메타데이터 파일에 대한 잠금을 획득하고, 새로운 블록과 블록을 저장할 데이터 서버들의 리스트를 할당받는 단계; 상기 메타데이터 파일에 헤더와 블록 정보를 기록한 후, 상기 메타데이터 파일에 대한 잠금을 해제하고 상기 메타데이터 파일을 닫고, 상기 클라이언트에게 파일 생성 완료에 대한 결과 정보와 상기 메타데이터 파일의 정보를 전송하는 단계; 클라이언트로부터 파일 열기 요청이 있으면, 메타데이터 파일을 열고, 상기 메타데이터 파일의 크기에 따라 메타데이터 파일에 대한 잠금을 획득하는 단계; 요청받은 파일에 대한 메타데이터 정보를 읽은 후, 상기 메타데이터 파일에 대한 잠금을 해제하고, 메타데이터 파일을 닫은 후, 상기 클라이언트에게 파일 열기 완료에 대한 결과 정보와 메타데이터 정보를 전송하는 단계; 및 메타데이터 파일을 읽기 위해 공유 잠금을 설정하고, 메타데이터 서버로부터 읽으려는 파일의 위치 정보를 얻고, 다수의 데이터 서버들 중에 해당 데이터 서버로부터 파일 데이터를 읽는 단계;를 포함하는 것을 특징으로 한다.
본 발명의 분산 파일 시스템의 메타데이터의 일관성 보장방법은, 파일에 쓰려는 데이터의 양에 따라 메타데이터 서버에게 부족한 크기의 블록 할당을 요청하거나 새로운 파일 길이와 블록 사용량을 전송하는 단계; 블록 할당 요청이 있으면, 상기 메타데이터 서버로부터 새로 할당된 블록 정보를 제공받고 해당 데이터 서버로 데이터를 전송하는 단계; 클라이언트로부터의 쓰기 요청에 따라, 메타데이터 파일을 여는 단계; 상기 메타데이터 파일의 크기에 따라 상기 메타데이터 파일에 대한 잠금을 획득한 후, 메타데이터 정보를 읽는 단계; 상기 클라이언트로부터 새로운 블록 할당에 대한 요청이 있는지 여부에 따라, 메타데이터 정보를 수정한 후, 상기 메타데이터 파일의 잠금을 해제하는 단계; 및 상기 메타데이터 파일을 닫은 후, 상기 클라이언트에게 쓰기 결과에 대한 정보와 수정된 메타데이터 정보를 전송하는 단계;를 포함하는 것을 특징으로 한다.
상기 구성을 갖는 본 발명은, 동일한 파일들을 동시에 접근하는 다수의 클라이언트들을 동시에 제어하여 해당 파일에 대한 메타데이터의 일관성을 유지할 수 있다.
본 발명은 다수의 클라이언트들이 동시에 동일한 파일들에 접근할 때 해당 파일에 대한 메타데이터의 일관성을 유지함으로써, 클라이언트들이 일관된 메타데이터 정보를 볼 수 있도록 한다.
본 발명은 다수의 클라이언트들이 동일한 파일들을 동시에 접근하더라도 메타데이터의 일관성을 유지하면서 파일에 대한 자유로운 쓰기 연산을 지원하고 메타데이터의 일관성을 유지하기 위해 소요되는 잠금 비용을 최소화함으로써, 클라이언트의 연산 지연을 감소시켜 시스템의 전체 성능을 향상시킬 수 있다.
본 발명은 동일한 파일들에 대한 다수의 클라이언트 접근 환경에서 파일에 대한 메타데이터의 일관성을 보장하고 동시성을 향상시킴으로써, 시스템의 성능을 향상시킬 수 있다.
본 발명은 클라이언트에서 연산 단위의 잠금을 하지 않고 메타데이터 서버에서 동일한 파일의 메타데이터를 접근할 때만 잠금을 설정함으로써 불필요한 클라이 언트의 지연을 제거할 수 있다.
본 발명은 파일을 생성할 때 한 번만 쓰기가 가능하도록 하던 방식을 항상 여러 번 쓸 수 있도록 하고 파일에 대한 다중 추가 연산을 할 수 있도록 하여 분산 파일 시스템의 사용에 대한 제약을 제거함으로써, 클라이언트가 보다 풍부한 기능을 제공받을 수 있도록 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 메타데이터의 일관성을 보장하기 위한 분산 파일 시스템의 구성도이다.
도 1을 참조하면, 본 발명의 분산 파일 시스템은, 메타데이터(Metadata) 서버(100), 다수의 클라이언트들(200-1 내지 200-m)(m은 2이상의 자연수), 다수의 데이터 서버들(300-1 내지 300-n)(n은 2이상의 자연수), 그리고 네트워크(400)를 구비한다. 여기서, 메타데이터 서버(100), 클라이언트들(200-1 내지 200-m) 및 다수의 데이터 서버들(300-1 내지 300-n)은 네트워크(400)를 통해 접속한다. 그리고, 하나의 파일은 크기에 따라 여러 개의 청크(chunk)들로 다시 분할되거나 하나의 연속된 파일로서 저장될 수 있다. 메타데이터 서버(100)는 별도의 독립된 서버로 구현되나, 이에 한정되지 않고, 클라이언트들(200-1 내지 200-m)이나 데이터 서버들(300-1 내지 300-n)과 동일한 기계에 위치될 수도 있다.
메타데이터 서버(100)는 파일들(210, 210-m)에 대한 메타데이터(Metadata)를 저장하기 위해 디스크 저장장치(110)를 구비하며, 분산 파일 시스템의 네임스페이스를 트리의 형태로 유지한다. 여기서 네임스페이스 트리는 디렉토리(120)와 파일에 대한 메타데이터(130)로 구성된다. 이러한 디렉토리(120)와 메타데이터(130)는 분산 파일 시스템의 네임스페이스와 동일한 경로를 가진다.
클라이언트(200-1)는 분산 파일 시스템에 저장된 파일(210-1)을 로컬 시스템에 있는 파일처럼 사용할 수 있고, 클라이언트(200-m)도 분산 파일 시스템에 저장된 파일(210-m)을 로컬 시스템에 있는 파일처럼 사용할 수 있다. 이와 동일하게, 클라이언트들(200-1, 20-m) 이외의 다른 클라이언트들도 분산 파일 시스템에 저장된 파일들을 로컬 시스템에 있는 파일처럼 사용할 수 있다.
데이터 서버들(300-1, 300-2, 300-n)은 각각 디스크 저장장치(310-1, 310-2, 310-n)를 구비한다. 그리고, 데이터 서버들(300-1, 300-2, 300-n) 이외의 다른 데이터 서버들도 디스크 저장장치를 구비한다. 이러한 데이터 서버들(300-1 내지 300-n)은 하나 이상의 디스크 저장장치를 사용할 수 있다.
도 2는 본 발명에 따른 분산 파일 시스템의 동작을 설명하기 위한 예시도이다.
도 2를 참조하면, 클라이언트들(200-1 내지 200-m)이 파일들(210-1 내지 210-m)을 읽고자 할 때, 가장 먼저 메타데이터 서버(100)에게 파일들(210-1 내지 210-m)이 저장된 데이터 서버의 위치를 요청한다. 이에 따라, 메타데이터 서버(100)는 디스크 저장장치(110)에 저장된 분산 파일 시스템의 네임스페이스를 검 색하여 해당하는 메타데이터를 찾고 메타데이터 정보를 읽어서 클라이언트들(200-1 내지 200-m)에게 파일들(210-1 내지 210-m)이 저장된 데이터 서버의 위치를 알려준다. 이렇게 메타데이터 서버(100)로부터 데이터 서버의 위치를 받은 클라이언트들(200-1 내지 200-m)은 해당 데이터 서버들에 직접 연결하여 분산 저장된 파일들(210-1 내지 210-m)의 데이터를 읽어온다.
클라이언트들(200-1 내지 200-m)이 파일들(210-1 내지 210-m)을 쓰고자 할 때, 가장 먼저 메타데이터 서버(100)에게 파일들(210-1 내지 210-m)을 저장하기 위한 블록들과 그 블록들이 저장될 데이터 서버들의 위치를 요청한다. 이때, 파일들(210-1 내지 210-m)이 최초로 생성되는 것이라면, 메타데이터 서버(100)는 디스크 저장장치(110)에 파일들(210-1 내지 210-m)에 해당하는 메타데이터 파일을 생성한다. 그리고, 메타데이터 서버(100)는 파일들(210-1 내지 210-m)을 저장하기 위한 블록들을 할당하고 그 블록들이 저장될 데이터 서버들을 선택한 후, 메타데이터 파일에 기록한다. 이렇게 기록된 정보는 클라이언트들(200-1 내지 200-m)에게 전달되며, 이어 클라이언트들(200-1 내지 200-m)은 해당 데이터 서버들에 직접 연결하여 파일들(210-1 내지 210-m)을 저장한다. 만일, 파일들(210-1 내지 210-m)이 이미 생성되어 있는 것이라면, 메타데이터 서버(100)는 파일들(210-1 내지 210-m)에 대한 메타데이터 정보를 읽어서 클라이언트들(200-1 내지 200-m)에게 파일들(210-1 내지 210-m)이 저장된 데이터 서버들의 위치를 알려준다. 이렇게 메타데이터 서버(100)로부터 데이터 서버들의 위치를 받은 클라이언트들(200-1 내지 200-m)은 해당 데이터 서버들에 직접 연결하여 파일들(210-1 내지 210-m)을 저장한다. 그리고, 해당 데이터 서버들은 파일에 대한 안정성을 확보하기 위해 복제본을 서로 가지며, 이러한 복제는 해당 데이터 서버들 간에 파이프라인을 통해 이루어진다. 한편, 클라이언트들(200-1 내지 200-m)이 접근하는 파일들(210-1 내지 210-m)이 동일한 파일이라면, 메타데이터 서버(100)는 메타데이터 파일에 접근할 때 잠금(lock)을 설정하여 메타데이터의 일관성을 보장한다.
특히, 클라이언트들(200-1 내지 200-m)은 메타데이터 서버(200)로부터 읽으려는 파일에 대한 위치 정보를 얻어올 때 메타데이터 파일을 읽기 위해 공유 잠금(shared lock)을 설정한다. 그리고, 메타데이터 서버(200)는 특정 클라이언트의 요청에 따라 파일을 생성함과 동시에 생성한 파일에 대한 배타 잠금(exclusive lock)을 설정한다.
도 3은 본 발명에 따른 메타데이터 파일에 저장되는 정보를 나타낸 도면이다.
도 3을 참조하면, 메타데이터 파일(140)은, 파일의 크기, 복제 수, 블록의 크기, 블록 수를 포함하는 헤더 정보(141)와, 블록 ID, 블록의 사용량, 블록이 저장될 데이터 서버들과 디스크 ID들의 리스트를 포함하는 블록 정보들(142-1 내지 142-i)(i는 2이상의 자연수)을 포함한다.
블록 정보들(142-1 내지 142-i)은 파일의 크기에 따라 여러 개의 블록을 포함할 수 있다. 여기서, 파일의 크기와 블록 수는 클라이언트의 쓰기 요청에 의해 변경된다. 블록의 사용량은 클라이언트의 쓰기 요청에 의해 변경되거나 데이터 서버에 블록이 기록된 후에 변경될 수 있다. 그리고, 연산에 의한 메타데이터 정보의 설정은 도 5 및 도 10을 참조하여 설명될 것이다.
도 4는 본 발명에 따른 분산 파일 시스템의 클라이언트 측면에서 수행되는 파일 생성 과정을 나타낸 흐름도이다.
도 4를 참조하면, 다수의 클라이언트들(200-1 내지 200-m)들 중에 특정 클라이언트가 메타데이터 서버(100)에게 파일 생성을 요청한다(S101). 이 요청에 대한 회신으로, 특정 클라이언트는 메타데이터 서버(100)로부터 생성 파일에 대한 정보를 제공받는다(S102). 여기서, 생성 파일에 대한 정보는 파일 생성의 성공 유무에 대한 정보, 생성된 파일에 할당된 블록과 데이터 서버들의 리스트를 포함한다. 그리고, 특정 클라이언트는 메타데이터 서버(100)로부터 제공된 생성된 파일에 할당된 블록과 데이터 서버들의 리스트를 파일 쓰기 연상에 사용한다.
도 5는 본 발명에 따른 분산 파일 시스템의 메타데이터 서버 측면에서 수행되는 파일 생성 과정을 나타낸 흐름도이다.
도 5를 참조하면, 메타데이터 서버(100)는 특정 클라이언트로부터 생성을 요청받은 파일이 네임스페이스에 존재하는 지를 검사하여(S201), 검사결과 파일이 네임스페이스에 존재하지 않으면, 메타데이터 파일을 연다(S202). 그리고, 메타데이터 서버(100)는 메타데이터 파일에 대한 잠금을 획득하고, 잠금이 획득되었는지 판단한다(S203).
판단결과 잠금이 획득되었으면, 메타데이터 서버(100)는 헤더 정보가 존재하는 지를 확인한다(S204). 확인결과 헤더 정보가 존재하면, 메타데이터 서버(100)는 새로운 블록과 블록을 저장할 데이터 서버들의 리스트를 할당받는다(S205). 그리 고, 메타데이터 서버(100)는 메타데이터 파일에 헤더와 블록 정보를 기록한다(S206). 여기서, 메타데이터 파일의 크기는 '0'으로 설정되고, 블록의 수는 '1'로 설정된다.
이어서, 메타데이터 서버(100)는 메타데이터 파일에 대한 잠금을 해제한 후(S207), 메타데이터 파일을 닫는다(S208). 그리고, 메타데이터 서버(100)는 특정 클라이언트에게 파일 생성 완료에 대한 결과 정보와 메타데이터 파일 정보를 전송한다(S209).
한편, 검사 과정(S201)에서의 검사결과 요청된 파일이 네임스페이스에 존재하면, 메타데이터 서버(100)는 특정 클라이언트에게 이미 존재하는 파일이라는 결과를 회신하는 과정(S209)을 진행한다.
판단 과정(S203)에서의 판단결과 잠금이 획득되지 않았으면, 메타데이터 서버(100)는 메타데이터 파일을 닫는 과정(S208)을 진행하고, 클라이언트에게 다른 클라이언트가 동일한 파일을 생성 중이라는 결과를 회신한다.
확인 과정(S204)에서의 확인결과 헤더 정보가 존재하면, 메타데이터 서버(100)는 잠금을 해제하는 과정(S207)을 진행한 후, 메타데이터 파일을 닫고 특정 클라이언트에게 다른 클라이언트가 이미 동일한 파일을 생성하였다는 결과를 전송한다.
도 6은 본 발명에 따른 분산 파일 시스템의 클라이언트 측면에서 수행되는 파일 열기 과정을 나타낸 흐름도이다.
도 6을 참조하면, 특정 클라이언트는 메타데이터 서버(100)에게 파일 열기를 요청한다(S301). 이에 대한 회신으로, 특정 클라이언트는 메타데이터 서버(100)로부터 파일 열기에 대한 결과 정보를 제공받는다(S302). 여기서, 파일 열기 결과 정보는 파일 열기의 성공 유무에 대한 정보, 메타데이터 파일로부터 얻은 블록들과 데이터 서버들의 리스트를 포함한다.
도 7은 본 발명에 따른 분산 파일 시스템의 메타데이터 서버 측면에서 수행되는 파일 열기 과정을 나타낸 흐름도이다.
도 7을 참조하면, 메타데이터 서버(100)는 특정 클라이언트로부터 생성을 요청받은 파일이 네임스페이스에 존재하는 지를 검사하여(S401), 검사결과 존재하면, 메타데이터 파일을 연다(S402).
파일이 열리고 나면, 메타데이터 서버(100)는 메타데이터 파일의 크기가 '0'인지를 판단한다(S403). 판단결과 파일 크기가 '0'이 아니면, 메타데이터 서버(100)는 메타데이터 파일에 대한 잠금을 획득하고, 잠금이 획득되었는 지를 확인한다(S404). 확인결과 잠금이 획득되지 않았으면, 메타데이터 서버(100)는 잠금을 획득할 때까지 대기한다.
확인결과 잠금이 획득되었으면, 메타데이터 서버(100)는 메타데이터 정보를 읽은 후(S405), 메타데이터 파일에 대한 잠금을 해제한다(S406).
이렇게 잠금이 해제되면, 메타데이터 서버(100)는 메타데이터 파일을 닫고(S407), 특정 클라이언트에게 파일 열기 완료에 대한 결과 정보와 메타데이터 정보를 전송한다(S408).
한편, 검사 과정(S401)에서의 검사결과 요청받은 파일이 네임스페이스에 존 재하지 않으면, 메타데이터 서버(100)는 특정 클라이언트에게 존재하지 않는 파일이라는 결과 정보를 전송하고, 파일 열기 결과와 파일 정보를 전송하는 과정(S408)을 진행한다.
판단 과정(S403)에서의 판단결과 파일 크기가 '0'이면, 메타데이터 서버(100)는 특정 클라이언트 이외의 다른 클라이언트가 동일한 파일을 생성 중이라는 결과 정보를 특정 클라이언트에게 전송하고, 파일 닫는 과정(S407)을 진행한다.
도 8은 본 발명에 따른 분산 파일 시스템의 클라이언트 측면에서 수행되는 파일 읽기 과정을 나타낸 흐름도이다.
도 8을 참조하면, 특정 클라이언트는 해당 데이터 서버로부터 파일 데이터를 읽는다(S501). 그리고, 특정 클라이언트는 읽으려는 파일의 크기만큼 파일을 읽었는지를 검사하여(S502), 검사결과 읽으려는 파일 크기만큼 파일을 읽었으면, 메타데이터 서버(100)는 파일 읽는 과정을 종료한다.
검사결과 읽으려는 파일 크기만큼 파일을 읽지 못하였으면, 메타데이터 서버(100)는 해당 데이터 서버로부터 파일 데이터를 읽는 과정(S501)을 진행한다.
도 9는 본 발명에 따른 분산 파일 시스템의 클라이언트 측면에서 수행되는 파일 쓰기 과정을 나타낸 흐름도이다.
도 9를 참조하면, 특정 클라이언트는 파일에 쓰려는 데이터의 양이 파일의 크기를 초과하는지를 검사하여(S601), 검사결과 파일 크기를 초과하면, 특정 클라이언트는 쓰려는 데이터의 양이 마지막 블록의 크기를 초과하는지 판단한다(S602).
판단결과 마지막 블록의 크기를 초과하면, 특정 클라이언트는 메타데이터 서 버(100)에게 부족한 크기의 블록 할당을 요청하고(S603), 이에 대한 회신으로 메타데이터 서버(100)로부터 새로 할당된 블록 정보를 제공받는다(S604).
이어서, 특정 클라이언트는 해당 데이터 서버로 데이터를 전송한 후(S605), 쓰려는 파일의 크기만큼 파일을 썼는지를 확인한다(S606).
확인결과 쓰려는 파일의 크기만큼 파일을 썼으면, 특정 클라이언트는 파일 쓰는 과정을 종료한다.
확인결과 쓰려는 파일의 크기만큼 파일을 쓰지 못하였으면, 특정 클라이언트는 해당 데이터 서버로 데이터를 전송하는 과정(S605)을 진행한다.
한편, 검사 과정(S601)에서의 검사결과 파일 크기를 초과하지 않으면, 특정 클라이언트는 해당 데이터 서버로 데이터를 전송하는 과정(S605)을 진행한다.
판단 과정(S602)에서의 판단결과 마지막 블록의 크기를 초과하지 않으면, 특정 클라이언트는 메타데이터 서버(100)로 새로운 파일 길이와 블록 사용량을 전송하고(S607), 해당 데이터 서버로 데이터를 전송하는 과정(S605)을 진행한다.
도 10은 본 발명에 따른 분산 파일 시스템의 메타데이터 서버 측면에서 수행되는 파일 쓰기 과정을 나타낸 흐름도이다.
도 10을 참조하면, 메타데이터 서버(100)는 특정 클라이언트로부터 쓰기 요청을 받은 파일이 네임스페이스에 존재하는 지를 검사하여(S701), 검사결과 존재하지 않으면, 메타데이터 파일을 연다(S702).
그리고, 메타데이터 서버(100)는 메타데이터 파일의 크기가 '0'인지를 확인하여(S703), 확인결과 파일 크기가 '0'이 아니면, 메타데이터 서버(100)는 메타데 이터 파일에 대한 잠금을 획득하고, 잠금이 획득되었는 지를 판단한다(S704). 판단결과 잠금이 획득되지 않았으면, 메타데이터 서버(100)는 잠금을 획득할 때까지 대기한다.
판단결과 잠금이 획득되었으면, 메타데이터 서버(100)는 메타데이터 정보를 읽은 후(S705), 특정 클라이언트가 새로운 블록 할당을 요청했는지 검사한다(S706). 검사결과 새 블록 할당에 대한 요청이 없으면, 메타데이터 서버(100)는 메타데이터 정보를 수정한다(S707). 이 수정 과정에서, 메타데이터 서버(100)는 특정 클라이언트가 쓰기 요청한 파일의 크기와 현재 메타데이터 정보에 기록된 파일 크기를 비교하여 비교결과 더 큰 파일의 크기를 메타데이터 정보에 기록한다.
이렇게 메타데이터 정보가 수정되면, 메타데이터 서버(100)는 메타데이터 파일의 잠금을 해제한 후(S708), 메타데이터 파일을 닫는다(S709). 그리고, 메타데이터 서버(100)는 특정 클라이언트에게 쓰기 결과에 대한 정보와 수정된 메타데이터 정보를 전송한다(S710).
한편, 검사 과정(S701)에서의 검사결과 요청받은 파일이 네임스페이스에 존재하지 않으면, 메타데이터 서버(100)는 특정 클라이언트에게 존재하지 않는 파일이라는 결과 정보를 전송하고, 수정된 정보와 결과를 전송하는 과정(S710)을 진행한다.
확인 과정(S703)에서의 확인결과 파일 크기가 '0'이면, 메타데이터 서버(100)는 특정 클라이언트에게 파일이 삭제되었으며 다른 클라이언트가 동일한 파일을 생성 중이라는 결과 정보를 전송하고, 파일 닫는 과정(S709)을 진행한다.
검사 과정(S706)에서의 검사결과 새 블록 할당 요청이 있으면, 메타데이터 서버(100)는 요청받은 만큼 새로운 블록을 할당하고(S711), 메타데이터 정보 수정 과정(S707)을 진행한다.
본 발명의 기술사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며, 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술분야의 통상의 전문가라면 본 발명의 기술사상의 범위에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 메타데이터의 일관성을 보장하기 위한 분산 파일 시스템의 구성도.
도 2는 본 발명에 따른 분산 파일 시스템의 동작을 설명하기 위한 예시도.
도 3은 본 발명에 따른 메타데이터 파일에 저장되는 정보를 나타낸 도면.
도 4는 본 발명에 따른 분산 파일 시스템의 클라이언트 측면에서 수행되는 파일 생성 과정을 나타낸 흐름도.
도 5는 본 발명에 따른 분산 파일 시스템의 메타데이터 서버 측면에서 수행되는 파일 생성 과정을 나타낸 흐름도.
도 6은 본 발명에 따른 분산 파일 시스템의 클라이언트 측면에서 수행되는 파일 열기 과정을 나타낸 흐름도.
도 7은 본 발명에 따른 분산 파일 시스템의 메타데이터 서버 측면에서 수행되는 파일 열기 과정을 나타낸 흐름도.
도 8은 본 발명에 따른 분산 파일 시스템의 클라이언트 측면에서 수행되는 파일 읽기 과정을 나타낸 흐름도.
도 9는 본 발명에 따른 분산 파일 시스템의 클라이언트 측면에서 수행되는 파일 쓰기 과정을 나타낸 흐름도.
도 10은 본 발명에 따른 분산 파일 시스템의 메타데이터 서버 측면에서 수행되는 파일 쓰기 과정을 나타낸 흐름도.

Claims (13)

  1. 파일에 대한 메타데이터를 저장하는 메타데이터 서버;
    파일을 저장하는 다수의 데이터 서버들; 및
    상기 메타데이터 서버로부터 읽으려는 파일의 위치 정보를 얻어서 상기 데이터 서버들 중 해당 데이터 서버로부터 파일 데이터를 읽고, 파일의 생성을 상기 메타데이터 서버에게 요청하고, 상기 메타데이터 서버로부터 얻어온 파일 정보와 쓰려는 데이터의 양을 비교하여, 비교결과 상기 파일 정보가 상기 쓰려는 데이터의 양과 같거나 상기 쓰려는 데이터의 양보다 크면 상기 쓰려는 데이터를 상기 해당 데이터 서버로 전송하고, 비교결과 상기 파일 정보가 상기 쓰려는 데이터의 양보다 적으면 상기 메타데이터 서버에게 부족한 크기의 블록 할당을 요청하거나 새로운 파일길이와 블록 사용량을 전송하는 다수의 클라이언트들;을 포함하는 것을 특징으로 하는 분산 파일 시스템.
  2. 제 1 항에 있어서, 상기 메타데이터 서버는,
    파일에 대한 상기 메타데이터와 디렉토리로 구성된 트리의 형태로 상기 분산 파일 시스템의 네임스페이스를 유지하며,
    상기 디렉토리와 메타데이터는 상기 네임스페이스와 동일한 경로를 가지는 것을 특징으로 하는 분산 파일 시스템.
  3. 제 1 항에 있어서, 상기 클라이언트들은,
    해당 데이터 서버에 직접 접속하여 분산 저장된 파일의 데이터를 읽어오거나 파일을 저장하고,
    상기 메타데이터 서버로부터 읽으려는 파일에 대한 위치 정보를 얻어올 때 메타데이터 파일을 읽기 위해 공유 잠금을 설정하는 것을 특징으로 하는 분산 파일 시스템.
  4. 제 1 항에 있어서, 상기 메타데이터 서버는,
    상기 클라이언트들이 접근하는 파일들이 동일한 파일이라면, 메타데이터 파일에 접근할 때 잠금을 설정하여 메타데이터의 일관성을 보장하고,
    상기 클라이언트의 요청에 따라 파일을 생성함과 동시에 생성한 파일에 대한 배타 잠금을 설정하는 것을 특징으로 하는 분산 파일 시스템.
  5. 제 1 항에 있어서, 상기 메타데이터 파일은,
    파일의 크기, 복제 수, 블록의 크기, 블록 수를 포함하는 헤더 정보; 및
    블록 ID, 블록의 사용량, 블록이 저장될 데이터 서버들과 디스크 ID들의 리스트를 포함하는 블록 정보들;을 포함하며,
    상기 블록 정보들은 파일의 크기에 따라 여러 개의 블록을 포함하고,
    상기 파일의 크기와 블록 수는 클라이언트의 쓰기 요청에 의해 변경되고,
    상기 블록의 사용량은 클라이언트의 쓰기 요청에 의해 변경되거나 데이터 서버에 블록이 기록된 후에 변경되는 것을 특징으로 하는 분산 파일 시스템.
  6. 클라이언트로부터 파일 생성 요청이 있으면, 메타데이터 파일을 열고 나서, 상기 메타데이터 파일에 대한 잠금을 획득하고, 새로운 블록과 블록을 저장할 데이 터 서버들의 리스트를 할당받는 단계;
    상기 메타데이터 파일에 헤더와 블록 정보를 기록한 후, 상기 메타데이터 파일에 대한 잠금을 해제하고 상기 메타데이터 파일을 닫고, 상기 클라이언트에게 파일 생성 완료에 대한 결과 정보와 상기 메타데이터 파일의 정보를 전송하는 단계;
    클라이언트로부터 파일 열기 요청이 있으면, 메타데이터 파일을 열고, 상기 메타데이터 파일의 크기에 따라 메타데이터 파일에 대한 잠금을 획득하는 단계;
    요청받은 파일에 대한 메타데이터 정보를 읽은 후, 상기 메타데이터 파일에 대한 잠금을 해제하고, 메타데이터 파일을 닫은 후, 상기 클라이언트에게 파일 열기 완료에 대한 결과 정보와 메타데이터 정보를 전송하는 단계; 및
    메타데이터 파일을 읽기 위해 공유 잠금을 설정하고, 메타데이터 서버로부터 읽으려는 파일의 위치 정보를 얻고, 다수의 데이터 서버들 중에 해당 데이터 서버로부터 파일 데이터를 읽는 단계;를 포함하는 것을 특징으로 하는 분산 파일 시스템의 메타데이터의 일관성 보장방법.
  7. 제 6 항에 있어서, 상기 잠금을 획득하고 리스트를 할당받는 단계는,
    상기 클라이언트로부터 파일 생성 요청을 수신하는 단계;
    상기 클라이언트로부터 생성을 요청받은 파일이 네임스페이스에 존재하는 지를 검사하는 단계;
    검사결과 파일이 상기 네임스페이스에 존재하지 않으면, 상기 클라이언트로부터 상기 메타데이터 파일을 여는 단계;
    검사결과 파일이 상기 네임스페이스에 존재하면, 상기 클라이언트에게 이미 존재하는 파일이라는 결과를 회신하는 단계; 및
    메타데이터 파일에 대한 잠금을 획득하는 단계;를 포함하는 것을 특징으로 하는 분산 파일 시스템의 메타데이터의 일관성 보장방법.
  8. 제 6 항에 있어서, 상기 파일을 닫고 파일의 정보를 전송하는 단계는,
    헤더 정보가 존재하는 지를 확인하는 단계;
    확인결과 상기 헤더 정보가 존재하면, 새로운 블록과 블록을 저장할 데이터 서버들의 리스트를 할당받는 단계;
    상기 메타데이터 파일에 헤더와 블록 정보를 기록하는 단계;
    상기 메타데이터 파일에 대한 잠금을 해제하는 단계;
    상기 메타데이터 파일을 닫는 단계; 및
    확인결과 상기 헤더 정보가 존재하지 않으면, 상기 기록 단계와 상기 해제 단계를 수행하지 않고 상기 파일 닫는 단계를 진행하는 단계;를 포함하는 것을 특징으로 하는 분산 파일 시스템의 메타데이터의 일관성 보장방법.
  9. 제 6 항에 있어서, 상기 파일을 열고 잠금을 획득하는 단계는,
    상기 클라이언트로부터 파일 열기 요청을 수신하는 단계;
    상기 클라이언트로부터 생성을 요청받은 파일이 네임스페이스에 존재하는 지를 검사하는 단계;
    검사결과 파일이 상기 네임스페이스에 존재하면, 메타데이터 파일을 여는 단계;
    검사결과 파일이 상기 네임스페이스에 존재하지 않으면, 상기 클라이언트에게 존재하지 않는 파일이라는 결과 정보를 전송하는 단계; 및
    상기 메타데이터 파일을 여는 단계;를 포함하는 것을 특징으로 하는 분산 파일 시스템의 메타데이터의 일관성 보장방법.
  10. 파일에 쓰려는 데이터의 양에 따라 메타데이터 서버에게 부족한 크기의 블록 할당을 요청하거나 새로운 파일 길이와 블록 사용량을 전송하는 단계;
    블록 할당 요청이 있으면, 상기 메타데이터 서버로부터 새로 할당된 블록 정보를 제공받고 해당 데이터 서버로 데이터를 전송하는 단계;
    클라이언트로부터의 쓰기 요청에 따라, 메타데이터 파일을 여는 단계;
    상기 메타데이터 파일의 크기에 따라 상기 메타데이터 파일에 대한 잠금을 획득한 후, 메타데이터 정보를 읽는 단계;
    상기 클라이언트로부터 새로운 블록 할당에 대한 요청이 있는지 여부에 따라, 메타데이터 정보를 수정한 후, 상기 메타데이터 파일의 잠금을 해제하는 단계; 및
    상기 메타데이터 파일을 닫은 후, 상기 클라이언트에게 쓰기 결과에 대한 정보와 수정된 메타데이터 정보를 전송하는 단계;를 포함하는 것을 특징으로 하는 분산 파일 시스템의 메타데이터의 일관성 보장방법.
  11. 제 10 항에 있어서, 상기 블록 할당을 요청하거나 블록 사용량을 전송하는 단계는,
    상기 클라이언트가 파일에 쓰려는 데이터의 양이 파일의 크기를 초과하는지를 검사하는 단계;
    검사결과 쓰려는 데이터의 양이 파일 크기를 초과하지 않으면, 해당 데이터 서버로 데이터를 전송하는 단계;
    검사결과 쓰려는 데이터의 양이 파일 크기를 초과하면, 쓰려는 데이터의 양이 마지막 블록의 크기를 초과하는지 판단하는 단계;
    판단결과 쓰려는 데이터의 양이 마지막 블록의 크기를 초과하면, 상기 메타데이터 서버에게 부족한 크기의 블록 할당을 요청하는 단계; 및
    판단결과 쓰려는 데이터의 양이 마지막 블록의 크기를 초과하지 않으면, 상기 메타데이터 서버에게 새로운 파일 길이와 블록 사용량을 전송하고 해당 데이터 서버에게 데이터를 전송하는 단계;를 포함하는 것을 특징으로 하는 분산 파일 시스템의 메타데이터의 일관성 보장방법.
  12. 제 10 항에 있어서, 상기 메타데이터 파일을 여는 단계는,
    상기 클라이언트로부터 쓰기 요청을 받은 파일이 네임스페이스에 존재하는 지를 검사하는 단계;
    검사결과 파일이 상기 네임스페이스에 존재하면, 상기 메타데이터 파일을 여 는 단계;
    검사결과 파일이 상기 네임스페이스에 존재하지 않으면, 상기 클라이언트에게 존재하지 않는 파일이라는 결과 정보를 전송하는 단계;를 포함하는 것을 특징으로 하는 분산 파일 시스템의 메타데이터의 일관성 보장방법.
  13. 제 10 항에 있어서, 상기 잠금 획득하고 읽는 단계는,
    상기 메타데이터 파일의 크기가 '0'인지를 확인하는 단계;
    확인결과 파일 크기가 '0'이 아니면, 상기 메타데이터 파일에 대한 잠금을 획득하는 단계; 및
    확인결과 파일 크기가 '0'이면, 상기 메타데이터 파일을 닫는 단계;를 포함하는 것을 특징으로 하는 분산 파일 시스템의 메타데이터의 일관성 보장방법.
KR1020070132583A 2007-12-17 2007-12-17 메타데이터의 일관성을 보장하기 위한 분산 파일 시스템 및방법 KR100936919B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070132583A KR100936919B1 (ko) 2007-12-17 2007-12-17 메타데이터의 일관성을 보장하기 위한 분산 파일 시스템 및방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070132583A KR100936919B1 (ko) 2007-12-17 2007-12-17 메타데이터의 일관성을 보장하기 위한 분산 파일 시스템 및방법

Publications (2)

Publication Number Publication Date
KR20090065131A KR20090065131A (ko) 2009-06-22
KR100936919B1 true KR100936919B1 (ko) 2010-01-18

Family

ID=40993569

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070132583A KR100936919B1 (ko) 2007-12-17 2007-12-17 메타데이터의 일관성을 보장하기 위한 분산 파일 시스템 및방법

Country Status (1)

Country Link
KR (1) KR100936919B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100988107B1 (ko) * 2008-06-04 2010-10-18 엔에이치엔비즈니스플랫폼 주식회사 분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일일관성 관리 방법
US9378218B2 (en) 2011-10-24 2016-06-28 Electronics And Telecommunications Research Institute Apparatus and method for enabling clients to participate in data storage in distributed file system
KR101694288B1 (ko) * 2012-06-08 2017-01-09 한국전자통신연구원 비대칭형 클러스터 파일 시스템의 데이터 관리 방법
KR102169867B1 (ko) * 2014-01-22 2020-10-26 한국전자통신연구원 파일 수준의 스냅샷을 제공하는 분산 파일 시스템 및 그 동작 방법
KR102253841B1 (ko) * 2014-10-31 2021-05-18 에스케이텔레콤 주식회사 대용량 분산 파일 시스템에서 데이터의 수정을 포함하는 트랜잭션 처리 장치 및 컴퓨터로 읽을 수 있는 기록매체
KR102016417B1 (ko) * 2016-01-29 2019-09-02 한국전자통신연구원 분산 파일 시스템을 채용한 스토리지 시스템에서 클라이언트 장치와 함께 파일의 분산 잠금을 관리하도록 구성되는 데이터 서버 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050273451A1 (en) 2004-05-20 2005-12-08 Clark Thomas K Method, system, and program for maintaining a namespace of filesets accessible to clients over a network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050273451A1 (en) 2004-05-20 2005-12-08 Clark Thomas K Method, system, and program for maintaining a namespace of filesets accessible to clients over a network

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
시스템 및 이론 제30권 제1·2호
정보과학회지 제19권 제3호
정보통신연구진흥원 주간기술동향 1188호

Also Published As

Publication number Publication date
KR20090065131A (ko) 2009-06-22

Similar Documents

Publication Publication Date Title
US7464116B2 (en) Method and apparatus for cloning filesystems across computing systems
US7836018B2 (en) Simultaneously accessing file objects through web services and file services
US7457880B1 (en) System using a single host to receive and redirect all file access commands for shared data storage device from other hosts on a network
US9122397B2 (en) Exposing storage resources with differing capabilities
US9413825B2 (en) Managing file objects in a data storage system
US6944732B2 (en) Method and apparatus for supporting snapshots with direct I/O in a storage area network
US11287994B2 (en) Native key-value storage enabled distributed storage system
US20090112789A1 (en) Policy based file management
US20090112921A1 (en) Managing files using layout storage objects
JP4919851B2 (ja) ファイルレベルの仮想化を行う中間装置
KR100936919B1 (ko) 메타데이터의 일관성을 보장하기 위한 분산 파일 시스템 및방법
US20090063556A1 (en) Root node for carrying out file level virtualization and migration
WO2002061575A2 (en) Direct access from client to storage device
KR100936238B1 (ko) 파일 입출력과 복제의 균형적 수행을 위한 지연복제 시스템및 방법
US8612495B2 (en) Computer and data management method by the computer
US8627446B1 (en) Federating data between groups of servers
JP5241298B2 (ja) 履歴上のファイル名およびロケーションをインデックス付きにすることによりファイル・サーチおよびファイル操作を支援するためのシステムおよび方法
US20220350779A1 (en) File system cloning method and apparatus
EP3296895A1 (en) Policy based file management
US8082230B1 (en) System and method for mounting a file system on multiple host computers
US10387384B1 (en) Method and system for semantic metadata compression in a two-tier storage system using copy-on-write
CN111435286A (zh) 一种数据存储方法、装置和系统
KR20190093642A (ko) 연속적으로 이용가능한 네트워크 파일 시스템(nfs) 상태 데이터를 위한 시스템들 및 방법들
US7493458B1 (en) Two-phase snap copy
US9122688B1 (en) Naming scheme for different computer systems

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: 20121206

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131209

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141229

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160108

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee