KR102001572B1 - 분산 파일 시스템 및 이의 데이터 관리 방법 - Google Patents

분산 파일 시스템 및 이의 데이터 관리 방법 Download PDF

Info

Publication number
KR102001572B1
KR102001572B1 KR1020160009438A KR20160009438A KR102001572B1 KR 102001572 B1 KR102001572 B1 KR 102001572B1 KR 1020160009438 A KR1020160009438 A KR 1020160009438A KR 20160009438 A KR20160009438 A KR 20160009438A KR 102001572 B1 KR102001572 B1 KR 102001572B1
Authority
KR
South Korea
Prior art keywords
data
cost
servers
encoding
server
Prior art date
Application number
KR1020160009438A
Other languages
English (en)
Other versions
KR20170089257A (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 KR1020160009438A priority Critical patent/KR102001572B1/ko
Publication of KR20170089257A publication Critical patent/KR20170089257A/ko
Application granted granted Critical
Publication of KR102001572B1 publication Critical patent/KR102001572B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • H04L67/1002

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명에 따른 토러스 망 기반의 분산 파일 시스템은 파일의 메타데이터를 저장하는 하나 이상의 메타데이터 서버 및 데이터를 분할하여 분산 저장하는 복수의 데이터 서버를 포함하되, 상기 하나 이상의 메타데이터 서버 및 복수의 데이터 서버는 복수의 노드로 구성된 제 1 내지 제 n 평면 상에 배치되고, 상기 하나 이상의 메타데이터 서버 및 복수의 데이터 서버 중 일부는 복수의 클라이언트와 스위치를 통해 연결되며, 상기 클라이언트로부터 상기 데이터의 기록 및 소거 코딩의 요청을 수신함에 따라, 상기 소거 코딩의 비용 산출 결과에 기초하여 상기 클라이언트 또는 상기 데이터 서버에서 상기 데이터를 인코딩하여 배포한다.

Description

분산 파일 시스템 및 이의 데이터 관리 방법{DISTRIBUTED FILE SYSTEM AND METHOD FOR MANAGING DATA THE SAME}
본 발명은 분산 파일 시스템 및 이의 데이터 관리 방법에 관한 것이다.
최근 스마트폰, 태블릿, 웨어러블 기기 등이 널리 보급됨에 따라, 고품질·비정형 데이터가 지속적으로 증가하여 클라우드 스토리지 용량 증가 문제에 직면하게 되었다. 그리고 사물들이 서로 연결되어 가상화되는 사물 인터넷 통신에서 생산되는 많은 데이터량 또한 클라우드 스토리지에 저장되어야 함으로써 비용 효율적인 대용량 클라우드 스토리지 기술 개발의 필요성이 강하게 대두되고 있다.
한편, 클라우드 스토리지가 엑사바이트 급으로 규모가 커짐에 따라 다양한 형태의 비용 절감 기술이 요구되고 있다. 특히, 데이터 내결함성과 관련하여 비용 절감을 위해 스토리지의 공간 효율이 중요시됨에 따라, 소거 코딩(Erasure Coding) 관련 기술이 크게 대두되고 있다. 또한, 네트워크 구축 비용 등을 줄이기 위해, 노드간 직접 통신 기술 등을 활용하는 토러스 연결망 기술도 대두되고 있다.
여기에서 스토리지 소거 코딩 기술은 특정 크기의 데이터 단위로 패리티 블록들을 생성하고, 데이터 블록은 특정 크기 단위로 다수의 노드에 분산 저장하여 두고 패리티 블록들은 다수의 노드에 분산 저장하여, 데이터 중 일부가 유실되더라도 디코딩을 통해 복원할 수 있는 기술이다.
토러스 연결망을 활용할 경우, 기존에 주로 사용하던 팻-트리(Fat-tree) 기반의 연결망보다 구축 비용이 매우 저렴하다는 장점이 있으나, 토러스 연결망의 특성상 노드간 데이터 전송 비용이 일정하지 않다는 문제가 있다. 즉, 팻-트리 기반의 연결망의 경우 소거 코딩 기법을 위한 데이터 인코딩 비용과 데이터 전송 비용의 비율이 일정했으나, 토러스 연결망에서는 소거 코딩 기법을 위한 데이터 전송 비용의 편차가 매우 커질 수 있다. 따라서, 팻-트리 기반의 연결망에서는 데이터를 모든 노드에 분산이 가능하나, 토러스 연결망을 사용하는 경우 데이터 전송 비용을 줄이기 위해 가급적 인접 노드로 데이터를 전송해야 한다.
특히, 병렬 처리 기술이 발달함에 따라, 소거 코딩 기법에서의 인코딩 비용은 네트워크 전송 비용에 비해 점차 작아지는 실정이다. 이로 인해, 기존에 많이 사용하고 있던 팻-트리 형태의 연결망에서 사용하는 소거 코딩 기법을 동일하게 토러스 연결망에 적용시켜 운영할 경우, 매우 비효율적일 수 있다.
이에 따라, 토러스 연결망에서 소거 코딩 기법을 효율적으로 운영할 수 있는 기술이 필요한 실정이다.
이와 관련하여, 한국공개특허공보 제10-2011-0142500호(발명의 명칭: 온칩 네트워크에서 토러스 토폴로지를 이용한 라우팅 시스템 및 라우팅 방법)는 토큰을 이용한 교착상태 복구(Deadlock Recovery with Tokens, DRT)를 이용하여 2D 토러스 토폴로지가 제공하는 풍부한 와이어(wire)를 활용하면서도 추가적인 버퍼(가상 채널)의 크기를 최소화할 수 있는 내용을 개시하고 있다.
본 발명의 실시예는 엑사바이트급 클라우드 스토리지 구축을 위해 토러스 연결망 기반의 분산 파일 시스템에서 네트워크 비용 등을 고려하여 소거 코딩을 효과적으로 지원할 수 있는 분산 파일 시스템 및 데이터 관리 방법을 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 토러스 망 기반의 분산 파일 시스템은 파일의 메타데이터를 저장하는 하나 이상의 메타데이터 서버 및 데이터를 분할하여 분산 저장하는 복수의 데이터 서버를 포함한다. 이때, 상기 하나 이상의 메타데이터 서버 및 복수의 데이터 서버는 복수의 노드로 구성된 제 1 내지 제 n 평면 상에 배치되고, 상기 하나 이상의 메타데이터 서버 및 복수의 데이터 서버 중 일부는 복수의 클라이언트와 스위치를 통해 연결되며, 상기 클라이언트로부터 상기 데이터의 기록 및 소거 코딩의 요청을 수신함에 따라, 상기 소거 코딩의 비용 산출 결과에 기초하여 상기 클라이언트 또는 상기 데이터 서버에서 상기 데이터를 인코딩하여 배포한다.
또한, 본 발명의 제 2 측면에 따른 복수의 노드로 구성된 제 1 내지 제 n 평면 상에 배치된 하나 이상의 메타데이터 서버 및 복수의 데이터 서버를 포함하는 분산 파일 시스템에서의 데이터 관리 방법은 클라이언트에서 데이터의 기록 및 소거 코딩의 요청을 수신하는 단계; 상기 요청에 대응하여 상기 소거 코딩의 비용을 산출하는 단계 및 상기 비용 산출 결과에 기초하여 상기 클라이언트 또는 상기 데이터 서버에서 데이터를 인코딩하여 하는 단계를 포함한다. 이때, 상기 하나 이상의 메타데이터 서버 및 복수의 데이터 서버 중 일부는 복수의 클라이언트와 스위치를 통해 연결된다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 토러스 연결망 기반의 엑사바이트급 클라우드 스토리지에서, 네트워크 비용을 고려하여 소거 코딩 기법을 수행함으로써 보다 효율적인 데이터 관리가 가능하도록 할 수 있다.
이에 따라, 한정적인 지원을 보다 효율적으로 사용할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 분산 파일 시스템의 블록도이다.
도 2는 본 발명의 일 실시예에 따른 토러스 연결망 기반의 분산 파일 시스템의 배치 구조의 일 예시이다.
도 3은 데이터를 소거 코딩 기법에 따라 인코딩하는 내용을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 분산 파일 시스템에서의 데이터 관리 방법의 순서도이다.
도 5 내지 도 7c는 인코딩된 결과를 배포할 데이터 서버를 선택하는 방법을 설명하기 위한 도면이다.
도 8은 인코딩된 결과를 데이터 서버로 배포하는 방법을 설명하기 위한 도면이다.
도 9는 인코딩한 데이터 서버에서 데이터 블록 또는 패리티 블록을 임시 저장하는 과정을 설명하기 위한 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하에서는 도 1 내지 도 2를 참조하여 본 발명의 일 실시예에 따른 분산 파일 시스템(100)에 대하여 설명하도록 한다.
도 1은 본 발명의 일 실시예에 따른 분산 파일 시스템(100)의 블록도이다. 도 2는 본 발명의 일 실시예에 따른 토러스 연결망 기반의 분산 파일 시스템(100)의 배치 구조의 일 예시이다. 도 3은 데이터를 소거 코딩 기법에 따라 인코딩하는 내용을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 토러스 망 기반의 분산 파일 시스템(100)은 하나 이상의 메타데이터 서버(110) 및 복수의 데이터 서버(120)를 포함한다.
하나 이상의 메타데이터 서버(110)는 파일의 메타데이터와 데이터 서버(120)의 관리 정보 등을 저장한다.
복수의 데이터 서버(120)는 데이터를 분할하여 분산 저장한다. 즉, 데이터 서버(120)는 실제 파일 또는 데이터를 작은 단위로 쪼개어 분산 저장한다.
하나 이상의 클라이언트(130)는 분산 파일 시스템(100)에 접근하여 파일 오퍼레이션을 수행한다.
한편, 하나 이상의 메타데이터 서버(110), 복수의 데이터 서버(120) 및 클라이언트(130)는 각각 통신 모듈(미도시), 메모리(미도시) 및 프로세서(미도시)로 구성될 수 있다.
이때, 통신 모듈은 유선 통신 모듈 및 무선 통신 모듈을 모두 포함할 수 있다. 유선 통신 모듈은 전력선 통신 장치, 전화선 통신 장치, 케이블 홈(MoCA), 이더넷(Ethernet), IEEE1294, 통합 유선 홈 네트워크 및 RS-485 제어 장치로 구현될 수 있다. 또한, 무선 통신 모듈은 WLAN(wireless LAN), Bluetooth, HDR WPAN, UWB, ZigBee, Impulse Radio, 60GHz WPAN, Binary-CDMA, 무선 USB 기술 및 무선 HDMI 기술 등으로 구현될 수 있다.
메모리에는 각 서버들을 제어하기 위한 프로그램이 저장된다. 여기에서, 메모리는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 휘발성 저장장치를 통칭하는 것이다.
예를 들어, 메모리는 콤팩트 플래시(compact flash; CF) 카드, SD(secure digital) 카드, 메모리 스틱(memory stick), 솔리드 스테이트 드라이브(solid-state drive; SSD) 및 마이크로(micro) SD 카드 등과 같은 낸드 플래시 메모리(NAND flash memory), 하드 디스크 드라이브(hard disk drive; HDD) 등과 같은 마그네틱 컴퓨터 기억 장치 및 CD-ROM, DVD-ROM 등과 같은 광학 디스크 드라이브(optical disc drive) 등을 포함할 수 있다.
또한, 메모리에 저장된 프로그램은 소프트웨어 또는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)와 같은 하드웨어 형태로 구현될 수 있으며, 소정의 역할들을 수행할 수 있다.
본 발명의 일 실시예에 따른 분산 파일 시스템(100)은 도 2에 도시된 바와 같이 토러스 연결망에서 하나 이상의 메타데이터 서버(110) 및 복수의 데이터 서버(120)가 각각 복수의 노드로 구성된 제 1 내지 제 n 평면 상에 배치된다.
이때, 클라이언트(130)는 토러스 연결망의 물리적 특성이나 분산 파일 시스템(100)의 QoS(Quality of Service) 정책 등으로 인해 일부 데이터 서버만으로 접근이 제한될 수 있다. 예를 들어, 제 1 평면(P1)에 포함된 각 노드들은 복수의 클라이언트(130)와 스위치(140)를 통해 fat-tree 형태로 연결될 수 있다. 즉, 제 1 평면(P1)에 포함된 하나 이상의 메타데이터 서버(110) 및 복수의 데이터 서버(120)들은 외부와의 인터페이스를 위하여, 스위치(140)를 통해 클라이언트(130)와 연결될 수 있다.
그리고 제 1 평면(P1)에 포함된 하나 이상의 메타데이터 서버(110) 및 복수의 데이터 서버(120)는 제 2 내지 제 n 평면(P2)에 포함된 메타데이터 서버(110) 및 복수의 데이터 서버(120)와 각각 스위치(140)의 연결없이 토러스 망을 기반으로 상호 직접 연결될 수 있다.
즉, 제 1 평면(P1)에 포함된 노드들은 제 2 내지 제 n 평면(P2)에 포함된 노드들과 스위치(140) 없이 서로 직접적인 네트워크 케이블 연결을 통하여 토러스 네트워크 형태로 구성되어 상호 연결될 수 있다. 클라이언트(130)들은 제 1 평면(P1)에 포함된 노드를 거쳐 목적지 노드와 스위치(140) 없이 서로 직접적인 네트워크 케이블 연결을 통하여 토러스 네트워크 형태로 구성되어 상호 연결될 수 있다.
이와 같은 토러스 연결망에 기반한 분산 파일 시스템(100)에서는 데이터 전송 시의 데이터 서버(120)의 위치에 따라 네트워크를 통한 전송 비용에 대한 편차가 매우 클 수 있다.
이에 따라, 본 발명의 일 실시예는 엑사바이트급 클라우드 스토리지 구축을 위해, 토러스 연결망 등과 같은 노드간 네트워크를 활용하는 스토리지에서 네트워크 비용을 고려하여 소거 코딩 기법을 수행할 수 있다. 그리고 소거 코딩 기법의 수행으로 인해 인코딩된 데이터 블록 및 패리티 블록을 효율적으로 각 데이터 서버(120)에 배포할 수 있다.
다시 도 1을 참조하면, 본 발명의 일 실시예에 따른 분산 파일 시스템(100)은 클라이언트(130)로부터 데이터의 기록 및 소거 코딩(Erasure coding)의 요청을 수신함에 따라, 소거 코딩의 비용을 산출하고, 비용 산출 결과에 기초하여 클라이언트(130) 또는 데이터 서버(120)에서 데이터를 인코딩하게 할 수 있다.
구체적으로 데이터는 스트라이프 단위로 인코딩될 수 있다. 예를 들어, 도 3에 도시된 바와 같이, 데이터를 4Kbyte 단위로 인코딩을 할 경우, ‘4+2’ 소거 코딩이 적용되면, 각 1Kbyte의 크기를 가지는 2개의 패리티 블록(p)이 생성된다. 그리고 하나의 4Kbyte의 크기를 가지는 데이터 블록은 4개의 조각으로 분할(d1~d4)되어 제 1 내지 제 4 데이터 서버(120-1~120-4)에 저장되고, 패리티 블록(p)은 제 5 내지 제 6 데이터 서버(120-5~120-6)에 저장된다.
이와 같이 데이터가 인코딩됨에 따라, 복수의 데이터 블록 및 복수의 패리티 블록이 생성될 수 있다. 즉, k개의 원본 데이터 조각을 인코딩하여, m개의 데이터 장애에 대비할 수 있는 패리티 블록을 생성하여, 총 n(=k+m)개의 인코딩된 블록을 생성할 수 있다. 그리고 n개의 인코딩 블록 중 일부를 이용하여 m개의 데이터 조각이 손상되더라도, k개의 원본 데이터 조각을 복구할 수 있다.
한편, 본 발명의 일 실시예에 따른 분산 파일 시스템(100)에서, 인코딩에 의해 생성된 데이터 블록 및 패리티 블록의 개수는 복수의 데이터 서버(120)의 개수 이하일 수 있다. 또는, 하나의 데이터 서버(120)에 복수 개의 데이터 블록 및/또는 패리티 블록이 저장될 수 있다.
즉, 일반적으로 소거 코딩 기법을 적용할 경우, 인코딩에 의해 생성된 블록의 총 개수 n은 데이터 서버의 장애에 대비하기 위해 데이터 서버(120)의 수보다 작거나 같아야 한다.
그러나 본 발명의 일 실시예의 경우, 이에 더 나아가 네트워크 전송 비용을 최소화하기 위하여, 특정 노드에 여러 개의 데이터 조각을 저장할 수 있다. 이에 따라, 인코딩에 의해 생성된 블록의 총 개수 n은 데이터 서버(120)의 개수보다 많은 경우도 가능하며, 이러한 경우 종래 기술에 따른 분산 파일 시스템의 경우보다 더 적은 수의 데이터 서버만으로 소거 코딩 기법을 수행할 수 있다.
이 경우, 동일 노드에 여러 개의 데이터 조각을 저장할 때, 최소한 하나 이상의 노드 장애에 대응할 수 있도록, 동일 노드에 저장되는 최대 데이터 조각의 수는 패리티 비트의 개수인 m개 이하인 경우이어야 한다.
참고로, 본 발명의 실시예에 따른 도 1에 도시된 구성 요소들은 소프트웨어 또는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)와 같은 하드웨어 형태로 구현될 수 있으며, 소정의 역할들을 수행할 수 있다.
그렇지만 '구성 요소들'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 각 구성 요소는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.
따라서, 일 예로서 구성 요소는 소프트웨어 구성 요소들, 객체지향 소프트웨어 구성 요소들, 클래스 구성 요소들 및 태스크 구성 요소들과 같은 구성 요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다.
구성 요소들과 해당 구성 요소들 안에서 제공되는 기능은 더 작은 수의 구성 요소들로 결합되거나 추가적인 구성 요소들로 더 분리될 수 있다.
이하에서는 도 4 내지 도 9를 참조하여 본 발명의 일 실시예에 따른 분산 파일 시스템(100)에서의 데이터 관리 방법에 대하여 보다 구체적으로 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 분산 파일 시스템(100)에서의 데이터 관리 방법의 순서도이다.
본 발명의 일 실시예에 따른 분산 파일 시스템(100)에서의 데이터 관리 방법은 먼저, 클라이언트(130)로부터 데이터의 기록 및 소거 코딩의 요청을 수신하면(S405), 수신 요청에 대응하여 소거 코딩의 비용을 산출한다(S410).
소거 코딩 비용을 산출하는 과정을 보다 구체적으로 설명하면 다음과 같다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에서의 토러스 연결망은 복수 개의 노드를 포함하는 제 1 내지 제 n 평면으로 구성될 수 있으며, 이때 각 평면들은ILM의 단계와 같은 여러 가지 형태로 사용이 가능하다. 즉, 토러스 연결망에서 각 평면 별로 목적 등이 다른 경우, 각 평면 별로 동일하거나 또는 서로 다른 소거 코딩을 위한 파라미터 및 볼륨별 파라미터를 가질 수 있다.
예를 들어, 제 1 평면의 경우 ‘4+2’(여기에서, 4는 데이터 블록의 개수, 2는 패리티 블록의 개수, 이하 동일), 제 2 평면의 경우 ‘8+2’, 제 3 평면은 ‘12+2’의 형태로 서로 다른 소거 코딩을 위한 파라미터별로 운영이 가능하다. 또는 여러 개의 볼륨을 사용하는 경우, normal 볼륨은 ‘8+2’, archive 볼륨은 ‘16+2’의 형태로 운영이 가능하다.
이러한 경우, 다른 평면이나 다른 볼륨으로의 데이터 이관시, 목적지 평면 및 볼륨의 소거 코딩 관련 파라미터에 따라 소거 코딩을 수행하는 것이 바람직하다.
소거 코딩의 비용은 아래 수학식 1에 따라 산출될 수 있다.
[수학식 1]
Figure 112016008584860-pat00001
위 수학식 1에서, Ci는 인코딩에 필요한 i개의 데이터를 수집하는 비용이며, Ej는 K개의 데이터를 이용해서 M개의 데이터를 인코딩 하는 비용이고, Dk는 인코딩된 데이터를 포함한 전체 데이터를 배포하는 비용이다.
본 발명에서, 소거 코딩 비용은 데이터 인코딩 비용뿐만 아니라 전송 비용을 고려한다. 또한. 비용 계산시 Ci, Ej, Dk는 QoS 전략 등으로 인해 가중치가 적용된 값일 수 있으며, 불필요한 경우 0이 될 수 있다. 특히, 인코딩 비용이 불필요한 경우 인코딩 비용을 0으로 함으로써 인코딩이 불필요한 복제 기술에도 응용이 가능하다.
한편, 본 발명의 일 실시예의 경우 소거 코딩은 클라이언트(130)에서 데이터 서버(120)로의 데이터 기록뿐만 데이터 서버(120)간의 데이터 이동 시에서 적용할 수 있다. 예를 들어, 소거 코딩 파라미터가 다른 볼륨 또는 평면간의 데이터 이관과 같은 경우, 데이터 서버들 간에 소거 코딩 비용을 계산하여 처리한다. 이때, 토러스 연결망에서는 인접되지 않은 노드는 계산 시간을 줄이기 위해 계산 대상에서 제외할 수 있다.
다시 도 4를 참조하면 다음으로, 소거 코딩의 비용 산출 결과에 기초하여 클라이언트(130) 또는 데이터 서버(120) 중 어느 곳에서 소거 코딩을 수행하는 것이 최소 비용을 소모하는지 여부를 판단하고(S415), 판단 결과에 기초하여 클라이언트(130) 또는 데이터 서버(120)에서 데이터의 인코딩을 수행한다.
이때, 클라이언트(130) 측에서 인코딩하는 것이 최소 비용인 것으로 판단된 경우, 데이터를 데이터 서버(120)로 배포하기 전에, 데이터를 가지고 있는 클라이언트(130)에서 데이터를 취합하여 인코딩을 수행한다(S420). 한편, 인코딩이 종료되면 데이터를 배포할 데이터 서버(120)들에 대한 정보는 메타데이터 서버(110)에서 결정할 수 있다.
이와 달리, 데이터 서버(120)에서 인코딩을 수행하는 것이 최소 비용인 것으로 판단된 경우, 복수의 데이터 서버(120) 중 인코딩을 수행할 데이터 서버(120-1)를 선택하고(S325), 선택된 인코딩을 수행할 데이터 서버(120-1)로 데이터를 취합시킨다(S330). 그 다음, 인코딩을 수행할 데이터 서버(120-1)에서 인코딩을 수행한다(S335). 이때, 복수의 데이터 서버(120) 중 인코딩을 수행할 데이터 서버(120-1)는 복수의 데이터 서버(120) 중 소거 코딩의 비용이 최소인 것으로 산출된 데이터 서버(120-1)를 선택할 수 있다.
이와 같이 클라이언트(130) 또는 데이터 서버(120)에서 인코딩된 n개의 데이터 조각이 생성되면, 생성된 데이터 조각들을 배포할 데이터 서버(120)를 선택하고(S440), 선택된 데이터 서버(120)로 각 데이터 조각들을 배포한다(S445).
이때, 생성된 데이터 조각들을 배포할 데이터 서버(120)를 선택하는 과정을 도 5 내지 도 7c를 참조하여 보다 구체적으로 설명하도록 한다.
도 5 내지 도 7c는 인코딩된 결과를 배포할 데이터 서버(120)를 선택하는 방법을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 분산 파일 시스템(100)은 데이터 전송 비용 및/또는 데이터 배포 비용을 고려하여 인코딩된 데이터 블록 및 패리티 블록을 데이터 서버(120)로 배포할 수 있다. 이때, 데이터 전송 비용은 소거 코딩에 따른 인코딩에 필요한 데이터 중 해당 데이터 서버(120)에 없는 데이터가 전송되는 비용이며, 데이터 배포 비용은 다른 데이터 서버(120)에 배포가 필요한 데이터 조각을 토러스 연결망을 통해 전송하는 비용이다.
도 5의 (a)에 도시된 바와 같이, 클라이언트(130)는 인코딩을 수행할 데이터 서버 1(120-1)로 인코딩할 k개(예시에서는 3개)의 원본 데이터(d1~d3)를 전송한다. 데이터 서버 1(120-1)은 인코딩 결과 3개의 데이터 블록(d1~d3) 및 2개의 패리티 블록(p1, p2)을 생성한 뒤, 최소한의 데이터 조각(d1)을 남기고 나머지 데이터 조각들(d2, d3, p1, p2)을 다른 데이터 서버(120-2~120-5)로 배포한다. 이와 같은 과정에 따라, 도 4의 (b)에 도시된 바와 같이 인코딩 결과 생성된 데이터 블록(d1~d3) 및 패리티 블록(p1, p2)은 복수의 데이터 서버(120-1~120-5)로 선택되어 배포될 수 있다.
이때, 본 발명의 일 실시예에 따른 분산 파일 시스템(100)은 인코딩 수행 결과 생성된 복수의 데이터 블록 및 복수의 패리티 블록을 데이터 전송 비용에 기초하여, 배포할 데이터 서버(120)를 인코딩을 수행한 데이터 서버(120-1)와 인접하되 동일 평면 또는 다른 평면에 배치된 데이터 서버(120)로 선택할 수 있다.
즉, 일반적으로 인코딩 결과 생성된 데이터 조각의 배포는 인코딩을 수행한 데이터 서버(120-1)와 동일 평면에 있는 노드를 대상으로 배포하나, 본 발명의 일 실시예의 경우, 데이터 조각의 배포를 위한 데이터 서버(120) 선택시, 데이터 전송 비용을 고려하여 배포할 수 있다.
이에 따라, 도 6에 도시된 바와 같이 데이터 전송 비용을 최소화하기 위하여 인코딩을 수행한 데이터 서버(120-1)가 위치한 제 n 평면의 인접 노드(D1~D4) 뿐만 아니라, 제 n+1 평면의 인접 노드(D5)로 데이터 조각들을 배포할 수도 있다. 이때,
또한, 본 발명의 일 실시예의 경우, 배포할 데이터 서버(120)의 선택시, 인코딩 수행 결과 생성된 복수의 데이터 블록 및 복수의 패리티 블록 중 하나 이상을 데이터 전송 비용에 기초하여, 인코딩을 수행한 데이터 서버(120-1)에 저장하도록 선택할 수 있다. 즉, 인코딩을 수행한 데이터 서버(120-1)는 하나의 데이터 조각만을 저장할 수도 있으며, 이와 달리 데이터 전송 비용에 기초하여 복수 개의 데이터 조각들을 저장할 수도 있다.
이 경우, 동일 노드에 복수 개의 데이터 조각을 저장하게 되면 데이터 서버(120)의 장애에 취약해지기 때문에, 노드 장애를 위해 동일 노드에 저장되는 최대 데이터 조각의 수를 조절하는 것이 필요하다. 예를 들어, 하나의 노드에 다수의 저장 장치가 존재하는 경우, 동일 노드에 m개의 데이터 조각을 저장하면, 최대 m개의 저장 장치에 대한 개별적인 장애에 각각 대응할 수 있다. 반면, 노드 장애는 하나의 노드에 대해서만 대처가 가능하게 된다.
또한, 본 발명의 일 실시예의 경우, 배포할 데이터 서버(120)의 선택시, 인코딩 수행 결과 생성된 복수의 데이터 블록 및 복수의 패리티 블록을 데이터 읽기 비용에 기초하여 배포하도록 데이터 서버(120)를 선택할 수 있다. 이때, 인코딩 수행 결과 생성된 복수의 데이터 블록은 클라이언트(130)와 가까운 데이터 서버(120)로 선택할 수 있다. 또한, 연속된 데이터 블록은 서로 인접하여 위치한 데이터 서버(120)로 선택할 수 있다.
즉, 데이터를 배포할 후보 데이터 서버(120) 중에서 가급적 데이터 블록은 클라이언트(130)에 가까운 데이터 서버(120)로 선택하고, 연속된 데이터 블록은 가급적 서로 인접하여 위치하는 데이터 서버(120)로 전송함으로써, 여러 데이터 조각들을 동시에 읽을 때, 읽기 비용을 최소화시킬 수 있다. 반대로 패리티 블록을 클라이언트(130)에 가까운 데이터 서버(120)로 선택함으로써, 쓰기 비용을 최소화 시킬 수 있다.
이와 같은 과정들을 보다 도 7a 내지 도 7c를 통해 보다 자세히 설명하면 다음과 같다.
먼저, 도 7a에 도시된 바와 같이, 인코딩을 수행할 데이터 서버(120-1)가 클라이언트(130)로부터 3개의 원본 데이터(d1~d3)를 수신하여 인코딩을 수행한 뒤, 3개의 데이터 블록(d1~d3)과 2개의 패리티 블록(p1, p2)을 생성한 경우, 최소한의 데이터 블록 1개(d1)만을 남겨놓은 상태에서 나머지 데이터 블록(d2, d3) 및 패리티 블록(p1, p2)들은 동일 평면에 위치한 다른 노드들로 배포할 수 있다.
또한, 도 7b에 도시된 바와 같이, 인코딩을 수행한 데이터 서버(120-1)는 동일 평면에 위치한 인접 노드뿐만 아니라, 다른 평면에 위치한 인접 노드로 데이터 블록 또는 패리티 블록을 배포할 수도 있다. 즉, 도 6b의 예시에서 인코딩을 수행한 데이터 서버(120-1)는 동일 평면에 위치한 인접 노드로 일부 데이터 블록(d1, d2) 및 패리티 블록(p1, p2)를 배포하고, 다른 평면에 위치한 인접 노드로 데이터 블록(d3)을 전송할 수 있다.
이와 더불어, 도 7c에 도시된 바와 같이, 인코딩을 수행한 데이터 서버(120-1)는 1개의 데이터 블록만을 남겨놓는 것이 아니라, 복수 개의 데이터 조각들(d1, p1)을 저장할 수도 있다.
이와 같은 과정에 의해 데이터를 배포할 데이터 서버(120)가 선택되면, 인코딩 수행 결과 생성된 복수의 데이터 블록 및 복수의 패리티 블록은 복수의 데이터 서버(120)로 순차적 또는 병렬적으로 배포될 수 있으며, 이 두가지 방법을 융합하여 배포될 수도 있다. 이와 같은 과정을 도 8을 참조하여 설명하도록 한다.
도 8은 인코딩된 결과를 데이터 서버(120)로 배포하는 방법을 설명하기 위한 도면이다.
도 8의 (a) 및 (b)는 클라이언트(130)에서 인코딩을 수행한 결과, 3개의 데이터 블록(d1~d3) 및 2개의 패리티 블록(p1, p2)을 생성한 것을 예시하고 있다.
먼저, 순차적 배포 방법의 경우 도 8의 (a)에 도시된 바와 같다. 클라이언트(130)에서 ‘3+2’의 소거 코딩을 수행한 뒤, 데이터 서버 1(120-1)에 데이터(d1~d3, p1, p2)를 전송하면, 데이터 서버 1(120-1)은 저장할 데이터 조각(d1)을 제외한 나머지(d2, d3, p1, p2)를 다음 데이터에 서버 2(120-2)로 전달한다. 이러한 과정은 더 이상 전송할 데이터 조각이 없을 때까지 계속된다.
이와 달리, 본 발명의 일 실시예의 경우 도 8의 (b)에 도시된 바와 같이 생성된 데이터 조각(d1~d3, p1, p2)들을 병렬적으로 배포할 수 있다. 즉, 클라이언트(130)는 동시에 각 데이터 서버(120-1~120-n)로 생성된 데이터 조각 d1~d3, p1, p2)들을 배포할 수 있다.
한편, 도 8에는 도시되지 않았으나, 데이터 서버(120)에서 소거 코딩을 수행하는 경우에도, 인코딩을 수행할 데이터 서버(120-1)에서 데이터를 취합한 뒤, 인코딩을 수행한 결과 생성된 데이터 조각들을 도 8의 (a)와 (b)에 도시된 바와 같이 순차적 또는 병렬적으로 배포할 수 있다. 이때, 모든 평면은 토러스 연결망 내부에 존재하며, 예를 들어 제 1 평면의 데이터 서버(120-1)가 도 8에서의 클라이언트(130)의 역할을 하는 경우, 인코딩을 수행한 데이터 서버(120-1)는 제 1 평면 또는 제 2 평면의 데이터 서버(120)로 순차적 또는 병렬적으로 인코딩된 데이터 조각들을 배포하게 된다.
한편, 데이터 서버(120-1)에서 인코딩이 수행된 경우, 선택된 데이터 서버(120)로 각 데이터 조각들을 배포하고 난 다음, 인코딩을 수행한 데이터 서버(120-1)는 메타데이터 서버(110)로 인코딩 수행 결과를 갱신할 수 있으며(S350), 클라이언트(130)는 메타데이터 서버(110)로부터 인코딩을 수행한 데이터 서버(120-1)의 정보를 수신할 수 있다.
한편, 본 발명의 일 실시예에 따른 분산 파일 시스템(100)에서의 데이터 관리 방법은 데이터에 장애가 발생한 경우, 인코딩 결과 생성된 n개의 데이터 조각 중 일부의 데이터 조각을 이용하여 사용자가 읽고자 하는 원본 데이터 조각을 생성 및 복구할 수 있다. 이 경우, 본 발명의 일 실시예는 각 데이터 서버(120)에 배포된 데이터 조각들을 하나의 데이터 서버(120-1) 또는 클라이언트(130)로 취합한 뒤, 장애가 발생한 데이터 조각을 생성 및 복구할 수 있다.
또한, 본 발명의 일 실시예의 경우, 토러스 연결망에서 네트워크 비용을 최소화하기 위하여, 배포된 데이터 조각들을 바로 소거하지 않고, 인코딩 수행 결과 생성된 복수의 데이터 블록 및 복수의 패리티 블록 중 일부를 임시 저장하고, 일정 기간 또는 일정 저장 영역에 도달하면, 임시 저장된 데이터 블록 및 패리티 블록을 소거할 수 있다. 이를 도 8을 참조하여 설명하도록 한다.
도 9는 인코딩한 데이터 서버(120-1)에서 데이터 블록 또는 패리티 블록을 임시 저장하는 과정을 설명하기 위한 도면이다.
도 9를 참조하면, 데이터 서버 1(120-1)의 임시 저장소(S)는 ‘데이터 블록 3’과 하나의 ‘패리티 블록 p’을 저장하고 있다. 이때, 데이터 서버 2(120-2)의 ‘데이터 블록 2’를 포함하고 있는 디스크에 장애가 발생하여 해당 데이터 조각에 접근이 불가능한 경우, 데이터 서버 1(120-1)에서 저장하고 있던 ‘데이터 블록 1’과 임시 저장소(S)에 저장하고 있던 데이터 조각들을 이용하여 장애가 발생된 ‘데이터 블록 2’를 생성할 수 있고, 이를 데이터 서버 2(120-2)로 재배포할 수 있다.
이와 같이 본 발명의 일 실시예는 인코딩 결과 생성된 복수의 데이터 블록 및 복수의 패리티 블록 중 일부를 임시 저장하는 임시 저장소(S)를 포함함으로써, 랜덤 데이터 업데이트나 데이터 장애시에, 소거 코딩을 수행하기 위하여 필요한 데이터 조각 전송시의 네트워크 비용을 최소화할 수 있으며, 이에 따라 효율적인 인코딩 및 데이터 복구가 가능하도록 할 수 있다.
한편, 본 발명의 일 실시예에 따른 분산 파일 시스템(100)은 상술한 바와 같이 데이터 서버(120)로의 쓰기 절차를 위하여, 소거 코딩 비용의 산출 결과에 기초하여 클라이언트(130) 또는 데이터 서버(120)에서 데이터를 인코딩하여 배포할 수 있다. 이와 더불어, 본 발명의 일 실시예에 따른 분산 파일 시스템(100)은 데이터의 읽기 절차를 수행하기 위하여, 데이터 서버(120)에 저장된 데이터 블록을 읽거나, 필요에 따라 디코딩을 수행할 수도 있으며, 이는 상술한 쓰기 절차를 위한 소거 코딩 비용을 산출하는 등의 과정에 따라 수행될 수 있다.
상술한 설명에서, 단계 S405 내지 S450는 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. 아울러, 기타 생략된 내용이라 하더라도 도 1 내지 도 3에서의 분산 파일 시스템(100)에 관하여 이미 기술된 내용은 도 4 내지 도 9의 데이터 관리 방법에도 적용된다.
전술한 본 발명의 일 실시예 중 어느 하나에 의하면, 토러스 연결망 기반의 엑사바이트급 클라우드 스토리지에서, 네트워크 비용을 고려하여 소거 코딩 기법을 수행함으로써 보다 효율적인 데이터 관리가 가능하도록 할 수 있다.
이에 따라, 한정적인 지원을 보다 효율적으로 사용할 수 있는 효과가 있다.
본 발명의 일 실시예에 따른 분산 파일 시스템(100)에서의 데이터 관리 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 분산 파일 시스템 110: 메타데이터 서버
120: 데이터 서버 130: 클라이언트
140: 스위치 d1~d3: 데이터 블록
p1, p2: 패리티 블록 D1~D5: 데이터 서버
S: 임시 저장소

Claims (10)

  1. 파일의 메타데이터를 저장하는 하나 이상의 메타데이터 서버 및
    데이터를 분할하여 분산 저장하는 복수의 데이터 서버를 포함하되,
    상기 하나 이상의 메타데이터 서버 및 복수의 데이터 서버는 복수의 노드로 구성된 제 1 내지 제 n 평면 상에 배치되고, 상기 하나 이상의 메타데이터 서버 및 복수의 데이터 서버 중 일부는 복수의 클라이언트와 스위치를 통해 연결되며,
    상기 클라이언트로부터 상기 데이터의 기록 및 소거 코딩의 요청을 수신함에 따라, 상기 소거 코딩의 비용 산출 결과에 기초하여 상기 클라이언트 또는 상기 데이터 서버 중 어느 곳에서 소거 코딩을 수행하는 것이 최소 비용을 소모하는지 여부를 판단하고, 상기 판단 결과에 기초하여 상기 클라이언트 또는 상기 데이터 서버에서 상기 데이터를 인코딩하여 배포하는 것인 분산 파일 시스템.
  2. 제 1 항에 있어서,
    상기 하나 이상의 메타데이터 서버 및 복수의 데이터 서버 중 일부를 제외한 나머지는 각각 상기 스위치의 연결없이 상호간에 직접 연결되는 것인 분산 파일 시스템.
  3. 제 1 항에 있어서,
    상기 데이터가 인코딩됨에 따라, 복수의 데이터 블록 및 복수의 패리티 블록이 생성되는 것인 분산 파일 시스템.
  4. 제 1 항에 있어서,
    상기 소거 코딩의 비용은 데이터 수집 비용, 인코딩 비용, 데이터 배포 비용, 데이터 읽기 비용, 데이터 쓰기 비용 및 데이터 전송 비용 중 하나 이상을 포함하는 것인 분산 파일 시스템.
  5. 제 1 항에 있어서,
    상기 데이터 서버에서 상기 데이터를 인코딩하는 경우,
    상기 복수의 데이터 서버 중 인코딩을 수행할 데이터 서버가 선택되고, 상기 인코딩을 수행할 데이터 서버로 상기 데이터가 취합되어, 상기 인코딩을 수행할 데이터 서버에서 인코딩이 수행되되,
    상기 인코딩이 수행될 데이터 서버는 상기 복수의 데이터 서버 중 상기 소거 코딩의 비용 산출 결과가 최소인 데이터 서버가 선택되는 것인 분산 파일 시스템.
  6. 제 5 항에 있어서,
    상기 데이터 서버에서 상기 데이터를 배포하는 경우,
    상기 복수의 데이터 서버 중 데이터가 배포될 데이터 서버가 선택되고, 상기 인코딩을 수행한 데이터 서버에서 배포될 데이터 서버로 데이터 배포가 수행되되,
    상기 복수의 데이터 서버 중 상기 소거 코딩의 비용 산출 결과가 최소인 데이터 서버가 선택되는 것인 분산 파일 시스템.
  7. 제 6 항에 있어서,
    상기 인코딩 수행 결과 생성된 복수의 데이터 블록 및 복수의 패리티 블록은 데이터 읽기 비용 및 데이터 쓰기 비용 중 하나 이상에 기초하여 상기 복수의 데이터 서버로 선택되어 배포되되,
    상기 인코딩 수행 결과 생성된 복수의 데이터 블록은 상기 클라이언트와 가까운 데이터 서버로 선택되어 배포됨에 따라 상기 데이터 읽기 비용 및 데이터 쓰기 비용은 최소화되는 것인 분산 파일 시스템.
  8. 제 1 항에 있어서,
    상기 클라이언트에서 상기 데이터를 인코딩하는 경우,
    입출력 요청을 받은 클라이언트에서 데이터가 취합되어 인코딩이 수행되되,
    상기 복수의 데이터 서버 중 임의의 데이터 서버의 상기 소거 코딩의 비용 산출 결과보다 상기 인코딩이 수행될 클라이언트의 상기 소거 코딩의 비용 산출 결과가 작은 것인 분산 파일 시스템.
  9. 제 8 항에 있어서,
    상기 클라이언트에서 상기 데이터를 인코딩하는 경우,
    상기 복수의 데이터 서버 중 데이터가 배포될 데이터 서버가 선택되고, 상기 인코딩을 수행한 상기 클라이언트에서 배포될 데이터 서버로 데이터 배포가 수행되되,
    상기 복수의 데이터 서버 중 상기 소거 코딩의 비용 산출 결과가 최소인 데이터 서버가 선택되는 것인 분산 파일 시스템.
  10. 제 8 항에 있어서,
    상기 클라이언트에서 상기 데이터를 인코딩하는 경우,
    상기 인코딩 수행 결과 생성된 복수의 데이터 블록 및 복수의 패리티 블록은 데이터 읽기 비용 및 데이터 쓰기 비용 중 하나 이상에 기초하여 상기 복수의 데이터 서버로 선택되어 배포되되,
    상기 인코딩 수행 결과 생성된 복수의 데이터 블록은 상기 클라이언트와 가장 가까운 데이터 서버로 선택되어 배포됨에 따라 상기 데이터 읽기 비용 및 데이터 쓰기 비용은 최소화되는 것인 분산 파일 시스템.
KR1020160009438A 2016-01-26 2016-01-26 분산 파일 시스템 및 이의 데이터 관리 방법 KR102001572B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160009438A KR102001572B1 (ko) 2016-01-26 2016-01-26 분산 파일 시스템 및 이의 데이터 관리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160009438A KR102001572B1 (ko) 2016-01-26 2016-01-26 분산 파일 시스템 및 이의 데이터 관리 방법

Publications (2)

Publication Number Publication Date
KR20170089257A KR20170089257A (ko) 2017-08-03
KR102001572B1 true KR102001572B1 (ko) 2019-07-18

Family

ID=59655393

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160009438A KR102001572B1 (ko) 2016-01-26 2016-01-26 분산 파일 시스템 및 이의 데이터 관리 방법

Country Status (1)

Country Link
KR (1) KR102001572B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102178740B1 (ko) * 2017-11-22 2020-11-13 한국전자통신연구원 토러스 네트워크 기반의 분산 파일 시스템을 위한 서버 및 이를 이용한 방법
KR102252187B1 (ko) * 2017-11-22 2021-05-14 한국전자통신연구원 분산 파일 시스템에서 소거코딩 기반의 파일 입출력을 지원하는 장치 및 그 방법
KR102252199B1 (ko) * 2018-12-17 2021-05-14 한국전자통신연구원 토러스 네트워크 기반 분산 파일 시스템 볼륨 성능 최적화 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120266044A1 (en) * 2011-04-18 2012-10-18 The Chinese University Of Hong Kong Network-coding-based distributed file system
WO2015194937A1 (en) * 2014-06-19 2015-12-23 Mimos Berhad System and method for distributed secure data storage in torus network topology

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120266044A1 (en) * 2011-04-18 2012-10-18 The Chinese University Of Hong Kong Network-coding-based distributed file system
WO2015194937A1 (en) * 2014-06-19 2015-12-23 Mimos Berhad System and method for distributed secure data storage in torus network topology

Also Published As

Publication number Publication date
KR20170089257A (ko) 2017-08-03

Similar Documents

Publication Publication Date Title
US9933973B2 (en) Systems and methods for data organization in storage systems using large erasure codes
US10649867B2 (en) RAID array rebuild assist from external array copy
ES2720482T3 (es) Equilibrio de carga en sistemas de almacenamiento en grupos
US20160232055A1 (en) Methods for distributing erasure-coded fragments in a geo-distributed storage system and devices thereof
US10191808B2 (en) Systems and methods for storing, maintaining, and accessing objects in storage system clusters
CN110431542A (zh) 管理存储网络中的i/o操作
US9710199B2 (en) Non-volatile memory data storage with low read amplification
US10891066B2 (en) Data redundancy reconfiguration using logical subunits
US20170083416A1 (en) Systems and methods for pre-generation and pre-storage of repair fragments in storage systems
CN107111481A (zh) 分布式主动混合存储系统
US10860223B1 (en) Method and system for enhancing a distributed storage system by decoupling computation and network tasks
KR102001572B1 (ko) 분산 파일 시스템 및 이의 데이터 관리 방법
US10540103B1 (en) Storage device group split technique for extent pool with hybrid capacity storage devices system and method
US20140289489A1 (en) Information processing apparatus, information processing method, storage system and non-transitory computer readable storage media
US9753803B2 (en) Storage system and information processing apparatus
US10254973B2 (en) Data management system and method for processing distributed data
KR102025801B1 (ko) 분산 파일 시스템 및 이의 데이터 내결함성 지원 방법
US20220326852A1 (en) Offloaded device-driven erasure coding
US20210019276A1 (en) Link selection protocol in a replication setup
US10749709B2 (en) Distributed file system using torus network and method for operating the same
US10241878B2 (en) System and method of data allocation providing increased reliability of storage
US11726658B2 (en) Method, device, and computer program product for storage management
US11297010B2 (en) In-line data operations for storage systems
CN111149365A (zh) 利用边缘装置进行内容分发的混合技术
Samy et al. Efficient data access in hybrid cloud storage

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right