KR101544483B1 - 분산 저장 시스템의 복제 서버 장치 및 복제본 생성 방법 - Google Patents

분산 저장 시스템의 복제 서버 장치 및 복제본 생성 방법 Download PDF

Info

Publication number
KR101544483B1
KR101544483B1 KR1020110034412A KR20110034412A KR101544483B1 KR 101544483 B1 KR101544483 B1 KR 101544483B1 KR 1020110034412 A KR1020110034412 A KR 1020110034412A KR 20110034412 A KR20110034412 A KR 20110034412A KR 101544483 B1 KR101544483 B1 KR 101544483B1
Authority
KR
South Korea
Prior art keywords
evaluation
data
data nodes
data node
node groups
Prior art date
Application number
KR1020110034412A
Other languages
English (en)
Other versions
KR20120116774A (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 KR1020110034412A priority Critical patent/KR101544483B1/ko
Priority to PCT/KR2011/009937 priority patent/WO2012141404A1/ko
Priority to US13/446,052 priority patent/US8849756B2/en
Publication of KR20120116774A publication Critical patent/KR20120116774A/ko
Application granted granted Critical
Publication of KR101544483B1 publication Critical patent/KR101544483B1/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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • 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]

Abstract

본 발명은, 복수의 클라이언트들로부터 네트워크를 통해 전송되는 오브젝트를 복수의 데이터 노드들에 분산 저장하는 분산 저장 시스템의 복제 서버 장치 및 복제본 생성 방법에 관한 것으로서, 데이터 신뢰성 및 가용성을 높이기 위해, 지역적으로 인접한 적어도 하나 이상의 데이터 노드들을 데이터 노드 그룹들로 그룹핑한 상태에서 데이터 노드 그룹들에 골고루 분산하되, 데이터 노드 그룹들 및 데이터 노드들의 기저장된 평가 내역 및 실시간 서비스 제공 상황을 반영하여 데이터 노드들을 선택하여 청크 복제본을 생성한다.

Description

분산 저장 시스템의 복제 서버 장치 및 복제본 생성 방법{Replication server apparatus and method for creating replica in distribution storage system}
본 발명은 복수의 클라이언트들로부터 네트워크를 통해 전송되는 오브젝트를 복수의 데이터 노드들에 분산 저장하는 분산 저장 시스템의 복제 서버 장치 및 복제본 생성 방법에 관한 것으로서, 보다 상세하게는, 데이터 신뢰성 및 가용성을 높이기 위해, 지역적으로 인접한 적어도 하나 이상의 데이터 노드들을 데이터 노드 그룹들로 그룹핑한 상태에서 최적의 데이터 노드를 선택하여 청크 복제본을 생성하는 복제 서버 장치 및 복제본 생성 방법에 관한 것이다.
컴퓨터 네트워크의 기술 발전에 따라, 각 단말의 독립적인 하드웨어 성능에 의존하던 기존의 컴퓨팅 환경은, 네트워크 상의 모든 컴퓨팅 자원을 활용하여 단말의 요청에 따라 해당 서비스를 제공하는 클라우드 컴퓨팅(Cloud Computing) 형태로 진화하고 있다.
클라우드 컴퓨팅 서비스란, 인터넷과 같은 정보통신망을 통한 '컴퓨팅 자원의 온 디맨드 아웃소싱 서비스'라고 정의할 수 있다. 클라이언트는 어플리케이션(Application), 스토리지(Storage), 운영체제(Operation System, OS), 보안(Security)등의 필요한 컴퓨팅 자원을 각 클라이언트의 단말에 설치하여 사용하는 것이 아니라, 가상화 기술을 통해 생성된 가상의 컴퓨팅 환경 상의 서비스를 원하는 시점에 원하는 만큼 골라서 사용하게 된다. 클라이언트는 각 컴퓨팅 자원의 구입비용을 지불하는 것이 아니라 사용량에 기반하여 대가를 지불하게 된다.
클라우드 컴퓨팅 서비스의 구체적인 형태는 클라이언트에게 제공하는 컴퓨팅 자원의 종류에 따라서 다양하게 분류되며, Infrastructure-As-A-Service(IaaS), Platform-As-A-Service(PaaS), Software-As-A-Service(SaaS) 등의 대표적인 서비스 형태이다.
Infrastructure-As-A-Service(IaaS)는 서버 또는 스토리지 등 하드웨어 인프라를 클라이언트에게 서비스 형태로 제공하는 것이며, Amazon Web Service(AWS)가 가장 대표적인 예이다.
Platform-As-A-Service(PaaS)는 클라이언트가 쉽게 서비스를 만들 수 있도록 필요한 기본 기능을 제공하는 Platform을 서비스 형태로 제공하는 것으로, 이를 클라이언트들은 웹 상에서 자신이 원하는 프로그램을 만들고, 이를 웹을 통해 서비스 할 수 있다. 이러한 PaaS 서비스의 대표적인 예로는 구글의 AppEngine을 들 수 있다.
Software-As-A-Service(SaaS)는 어플리케이션 또는 소프트웨어를 서비스 형태로 제공하는 형태의 것으로, 웹을 통해서 어플리케이션이나 소프트웨어를 사용할 수 있어, 클라이언트는 이를 위해 라이선스 구매 및 설치할 필요 없이 사용 가능하다는 장점이 있다. 이러한 SaaS 서비스의 대표적인 예로는 Salesforce.com를 들 수 있다.
IaaS 의 많은 서비스 카테고리 중 스토리지 자원을 가상 머신 형태로 제공하는 것을 클라우드 스토리지 서비스라고 한다.
이러한 클라우드 스토리지 서비스는 일반적으로 분산 저장 시스템의 형태로 구현되고, 저사양의 하드웨어를 활용하여 공용의 저장소 풀(storage pool)을 만들어 탄력적이고 유연한 사용량을 적시에 만족하는 특징을 가진다. 이를 위해 널리 이용되는 단순하고 강력한 오브젝트 기반 스토리지 기법에서는 물리적인 저장 공간 관리 기능을 저장 장치 자체에서 직접 수행하게 한다. 그러므로, 저장 장치의 성능이 향상되고 손쉽게 저장 장치의 용량을 확장할 수 있다. 또한, 플랫폼과 독립적으로 데이터를 안전하게 공유할 수 있는 특징을 가진다.
도 1은 종래 기술에 의한 분산 저장 시스템(100)의 구성의 일 예를 도시한 도면이다.
도 1에 따르면, 분산 저장 시스템(100)은 복수의 클라이언트들(110, 111)로부터 네트워크를 통해 전송되는 오브젝트를 복수의 데이터 노드들(140)에 분산 저장하는 시스템으로, 이러한 클라이언트들(110, 111)의 인증(Authentication) 및 권한 부여(Authrization) 등을 처리하는 인증 서버(120), 클라이언트들(110, 111)의 오브젝트 관련 요청(request)을 접수하여, 오브젝트들의 물리적인 저장 위치를 파악하는 프록시 서버(proxy server, 150), 오브젝트의 물리적인 저장 위치를 포함하는 오브젝트의 메타데이터를 저장 및 관리하는 메타데이터 데이터베이스(metadata database, 160), 실제 오브젝트를 물리적으로 저장하고 관리하는 복수의 데이터 노드들(140), 오브젝트의 저장 단위인 청크의 복제본 생성 등을 관리하는 복제 서버(replication server, 130) 등으로 구성될 수 있다.
예컨대, 도 1에 도시된 분산 저장 시스템(100)에서 클라이언트(110)가 오브젝트를 다운로드받는 과정을 살펴보면, 클라이언트(110)는 먼저 초기에 인증 서버(120)를 통해 인증 및 권한 부여(S101)를 받은 후에, 프록시 서버(150)에 원하는 오브젝트를 관리하는 정보를 요청한다. 클라이언트(110)의 요청에 대해 프록시 서버(150)는 메타데이터 데이터베이스(160)로부터 해당 오브젝트를 물리적으로 저장하는 데이터 노드를 조회한 후에, 해당 데이터 노드에 접근할 수 있는 정보 예컨대, 해당 데이터 노드의 아이디 및 주소 등의 정보를 클라이언트(110)에 전달한다(S102).
이후에 클라이언트(110)는 해당 데이터 노드에 접근할 수 있는 정보를 통해 프록시 서버를 거치지 않고, 직접 해당 데이터 노드와 통신할 수 있게 되므로, 직접 해당 데이터 노드와의 통신을 통해, 해당 데이터 노드로부터 오브젝트를 다운로드받을 수 있다(S103). 이렇게 분산 저장 시스템을 구현하는 경우에는, 클라이언트와 프록시 서버 사이의 제어 채널과 클라이언트와 데이터 노드 사이의 데이터 채널이 분리되어 지연이나 데이터 트래픽이 감소하는 효과를 기대할 수 있다.
복제 서버(130)는 데이터의 안전성과 높은 가용성을 위해 데이터 노드들(140)에 데이터를 복제(replication)하여 저장하는데, 이처럼 데이터 노드들(140)에 저장되는 복제본을 레플리카(replica)라고 한다. 널리 이용되는 분산 저장 시스템은 일반적으로 2개 내지 3개의 복제본을 가지지만, 오브젝트의 중요도에 따라 더 많은 개수의 복제본을 생성하도록 설정될 수 있다. 오브젝트의 복제본은 서로 동기를 유지해야 하며, 이러한 오브젝트의 복제본 사이의 동기화 과정은 복제 서버 (130)에서 처리하는 것이 일반적이다.
그런데, 종래 기술에 의한 분산 저장 시스템의 경우, 오브젝트의 복제본을 저장하는 데이터 노드를 결정함에 있어서, 클라이언트 및 데이터 노드 간의 물리적 위치나 데이터 노드에서 현재 제공할 수 있는 성능 등과 무관하게 임의로 결정되는 것이 대부분이다. 그 결과, 특정 지역에서 서로 인접하는 복수의 데이터 노드에 오브젝트의 복제본을 모두 위치시키는 경우도 발생할 수 있게 된다. 이러한 경우에, 해당 지역의 네트워크에 문제가 발생할 경우에는 클라이언트의 요청 대상인 오브젝트를 저장하는 모든 데이터 노드가 동작하지 않게 되어, 클라이언트가 오브젝트를 이용할 수 없게 되는 심각한 문제를 야기시킬 수 있다.
또한, 잔여 스토리지 용량이 부족하거나 현재 응답 속도가 떨어지는 데이터 노드에 오브젝트의 복제본을 위치시키는 경우에는, 분산 저장 시스템의 전체 성능을 저하시킬 수 있다.
따라서, 특정 지역에 편중되지 않도록 오브젝트의 복제본을 위치시키면서, 데이터 노드에서 현재 제공할 수 있는 성능 등 데이터 노드의 상태 정보를 반영하여 오브젝트의 복제본을 위치시킬 데이터 노드들을 선택할 수 있는 기술이 절실히 요청된다.
본 발명이 이루고자 하는 기술적 과제는, 지역적으로 인접한 적어도 하나 이상의 데이터 노드들로 구성된 복수의 데이터 노드 그룹들에 파일을 분산하여 저장하는 분산 저장 시스템에서, 데이터 노드 그룹들에 골고루 분산하여 파일의 청크 복제본을 생성함으로써, 분산 저장 시스템의 신뢰성을 높이고, 데이터 노드 그룹들 및 데이터 노드들의 기저장된 평가 내역 및 실시간 서비스 제공 상황을 반영하여 청크 복제본을 생성할 데이터 노드들을 선택함으로써, 분산 저장 시스템의 전체적인 성능 및 가용성 등을 높일 수 있는 복제 서버 장치 및 복제본 생성 방법을 제공하는 데에 있다.
상기의 기술적 과제를 이루기 위한, 분산 저장 시스템의 복제 서버 장치는 클라이언트의 신규 파일 저장 요청에 따라 생성할 청크 복제본의 개수를 포함한 복제본 생성 요청을 수신하는 복제본 생성 요청 수신부; 데이터 노드 그룹들 및 데이터 노드들의 실시간 서비스 제공 상황을 모니터링하는 모니터링부; 데이터베이스로부터 데이터 노드 그룹들 및 데이터 노드들을 복수의 평가지표들 별로 차등적인 점수를 부여한 평가 내역을 불러와 모니터링된 실시간 서비스 제공 상황을 기초로 불러온 평가 내역을 조정하는 평가내역조정부; 및 조정된 평가 내역을 기초로 청크 복제본의 개수와 동일한 개수의 데이터 노드들을 선택하여 선택된 데이터 노드들 각각에 청크 복제본을 생성하라는 명령을 전송하는 제어부를 포함한다.
보다 바람직하게는, 복제본 생성 요청 수신부는 클라이언트의 신규 파일 저장 요청을 수신한 프록시 서버나 메타데이터 서버로부터 복제본 생성 요청을 수신할 수 있다.
보다 바람직하게는, 데이터베이스는 데이터 노드 그룹들 및 데이터 노드들의 평가 내역 및 데이터 노드 그룹들과 데이터 노드들 간의 대응관계에 관한 정보를 저장할 수 있다.
보다 바람직하게는, 모니터링부는 데이터 노드들로부터 실시간 서비스 제공 상황을 수신하고, 데이터 노드 그룹들 각각에 속하는 데이터 노드들의 실시간 서비스 제공 상황을 평균하여 데이터 노드 그룹들의 실시간 서비스 제공 상황을 산출할 수 있다.
보다 바람직하게는, 제어부는 평가내역의 평가지표들 별 점수에 평가지표들 별로 상이하게 설정된 가중치를 적용하여 합산한 결과를 기초로 데이터 노드들을 선택할 수 있다.
보다 바람직하게는, 제어부는 조정된 평가 내역 중 데이터 노드 그룹별 평가 내역을 기초로 청크 복제본의 개수와 동일한 개수의 데이터 노드 그룹들을 선택하고, 조정된 평가 내역 중 데이터 노드별 평가 내역을 기초로 선택된 데이터 노드 그룹들 각각에 속한 데이터 노드를 하나씩 선택할 수 있다.
보다 바람직하게는, 제어부는 조정된 평가 내역 중 데이터 노드별 평가 내역을 기초로 청크 복제본의 개수와 동일한 개수의 데이터 노드들을 선택할 수 있다.
보다 바람직하게는, 복수의 평가지표는 성능, 신뢰성, 가용성, 확장성 중 적어도 하나 이상을 포함할 수 있다,
보다 바람직하게는, 실시간 서비스 제공 상황은 단위시간 동안의 평균 응답 시간, 단위시간 동안의 평균 실패율 및 잔여 가용 스토리지 자원량 중 적어도 하나 이상을 포함할 수 있다.
상기의 기술적 과제를 이루기 위한, 분산 저장 시스템의 복제본 생성 방법은, 클라이언트의 신규 파일 저장 요청에 따라 생성할 청크 복제본의 개수를 포함한 청크 복제본 생성 요청을 수신하는 단계; 데이터 노드 그룹들 및 데이터 노드들을 복수의 평가지표들 별로 차등적인 점수를 부여한 평가 내역을 불러오는 단계; 데이터 노드 그룹들 및 데이터 노드들의 실시간 서비스 제공 상황을 모니터링하는 단계; 모니터링된 실시간 서비스 제공 상황을 기초로 불러온 평가 내역을 조정하는 단계; 조정된 평가 내역을 기초로 청크 복제본의 개수와 동일한 개수의 데이터 노드들을 선택하는 선택단계; 및 선택된 데이터 노드들 각각에 청크 복제본을 생성하는 단계를 포함한다.
본 발명에 의하면, 지역적으로 인접한 적어도 하나 이상의 데이터 노드들로 구성된 복수의 데이터 노드 그룹들에 파일을 분산하여 저장하는 분산 저장 시스템에서, 데이터 노드 그룹들에 골고루 분산하여 파일의 청크 복제본을 생성함으로써, 분산 저장 시스템의 신뢰성을 높일 수 있다.
아울러, 데이터 노드 그룹들 및 데이터 노드들의 기저장된 평가 내역 및 실시간 서비스 제공 상황을 반영하여 청크 복제본을 생성할 데이터 노드들을 선택함으로써, 분산 저장 시스템의 전체적인 성능 및 가용성 등을 높일 수 있다.
도 1은 종래 기술에 의한 분산 저장 시스템의 구성을 예시한 도면이다.
도 2는 본 발명의 바람직한 일 실시예에 따른 분산 저장 시스템의 전체적인 구성을 도시한 도면이다.
도 3은 본 발명의 바람직한 일 실시예에 따른 분산 저장 시스템의 복제 서버의 개념적인 구성을 도시한 블록도이다.
도 4는 본 발명의 바람직한 일 실시예에 따른 분산 저장 시스템에서 클라이언트에 신규 파일 저장 요청에 의해 해당 파일의 청크 복제본을 생성하는 방법을 도시한 흐름도이다.
이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다. 또한, 본 발명의 원리, 관점 및 실시예들 뿐만 아니라 특정 실시예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한, 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다.
따라서, 프로세서 또는 이와 유사한 개념으로 표시된 기능 블록을 포함하는 도면에 도시된 다양한 소자의 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 능력을 가진 하드웨어의 사용으로 제공될 수 있다. 프로세서에 의해 제공될 때, 기능은 단일 전용 프로세서, 단일 공유 프로세서 또는 복수의 개별적 프로세서에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다. 또한, 프로세서, 제어 또는 이와 유사한 개념으로 제시되는 용어의 사용은 소프트웨어를 실행할 능력을 가진 하드웨어를 배타적으로 인용하여 해석되어서는 아니 되고, 제한 없이 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 롬(ROM), 램(RAM) 및 비휘발성 메모리를 암시적으로 포함하는 것으로 이해되어야 한다. 주지 관용의 다른 하드웨어도 포함될 수 있다.
상술한 목적, 특징 및 장점들은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 더욱 분명해 질 것이다. 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략하거나 간략하게 설명하는 것으로 한다.
한편 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 첨부된 도면을 참조하여 바람직한 실시예에 따른 본 발명을 상세히 설명하기로 한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 분산 저장 시스템(200)의 전체적인 구성을 도시한 도면이다.
도 2를 참조하면, 본 실시예에 따른 분산 저장 시스템(200)은 복수의 클라이언트들(210, 211, 212), 인증 서버(220), 복제 서버(230), 프록시 서버(250), 메타데이터 데이터베이스(260), 복수의 데이터 노드들(DN11-DN1n, DN21-DN2n, DNm1-DNmn)을 포함하여 구성되고, 이들 각 구성요소들은 서로 네트워크(270)를 통해 연결되된다.
본 실시예에서는, 복수의 데이터 노드들(DN11-DN1n, DN21-DN2n, DNm1-DNmn)을 그룹 1 내지 그룹 M(241-243)으로 그룹핑하여 구성한다. 즉, 청크 복제본을 효과적으로 분산하여 저장하기 위해서, 각각 지역적으로 인접한 데이터 노드들을 하나의 데이터 노드 그룹으로 그룹핑하도록 정의하는 것이 바람직하다. 이와 같이 데이너 노드들(DN11-DN1n, DN21-DN2n, DNm1-DNmn)을 데이터 노드 그룹들(241-243)로 각각 그룹핑한 후, 복제 서버(230)는 동일한 데이터 노드 그룹에 속하는 데이터 노드들에 동일한 청크 복제본을 저장하지 않는다는 전제 하에, 청크 복제본을 저장할 데이터 노드를 선택한다.
이와 같이 청크 복제본은 다른 지역적 범위를 갖는 데이터 노드 그룹에 속하는 데이터 노드들에 분산되어 저장되어, 동일한 파일(오브젝트)에 대해 두개의 복제본이 생성되는 경우에, 어느 하나의 데이터 노드 그룹에 속하는 두 개의 데이터 노드에 공통적으로 저장하는 것이 아니라, 서로 다른 데이터 노드 그룹에 속하는 데이터 노드들에 각각 하나씩 저장하는 것이 바람직하다.
이러한 경우에, 어느 특정한 지역의 데이터 노드 그룹의 네트워크 상에 문제가 발생하는 등의 물리적인 장애가 발생하는 경우라도 동일한 파일의 청크 복제본이 서로 다른 지역의 데이터 노드 그룹에 속한 데이터 노드들에 분산되어 저장되므로, 분산 저장 시스템의 신뢰성을 높일 수 있다.
본 실시예에서, 데이터 노드 그룹(241-243)은 하나의 인터넷 데이터 센터를 가리킬 수 있으며, 좀더 지역적 범위를 좁혀서 하나의 서버 랙을 가리킬 수도 있으며, 이는 데이터 노드 그룹의 개념을 설명하기 위한 하나의 예에 불과하며, 본 발명은 이에 한정되지 않는다.
이처럼 데이터 노드 그룹이 설정되면, 데이터 노드들(241-243)과 데이터 노드 그룹들(DN11-DN1n, DN21-DN2n, DNm1-DNmn)의 대응 관계에 관한 정보는 메타데이터 데이터베이스(250)에 저장된다.
복제 서버(230)는 청크 복제본을 저장할 데이터 노드들을 선택함에 있어서, 메타데이터 데이터베이스(250)에 저장된 데이터 노드들(DN11-DN1n, DN21-DN2n, DNm1-DNmn)과 데이터 노드 그룹들(241-243)의 대응 관계에 관한 정보를 참조하거나, 이러한 대응 관계에 관한 정보를 복제 서버의 로컬 데이터베이스에 미리 옮겨와서 참조하여, 서로 다른 데이터 노드 그룹들에 속하는 데이터 노드들을 선택할 수 있다.
아울러, 복제 서버(230)는 분산 저장 서버의 데이터 노드들(DN11-DN1n, DN21-DN2n, DNm1-DNmn) 및 이들 데이터 노드들을 그룹핑하여 구성된 데이터 노드 그룹들(241-243)을 기정의된 복수의 평가 지표별로 차등적인 점수를 부여하여 평가하고, 데이터 노드들(DN11-DN1n, DN21-DN2n, DNm1-DNmn) 및 데이터 노드 그룹들(241-243)의 실시간 서비스 제공 상황을 모니터링 하여, 평가 내역 및 모니터링 결과를 기초로 최적의 데이터 노드들을 선택할 수 있다.
본 실시예에 따른 분산 저장 시스템(200)에서는 클라이언트들(210-212)과 데이터 노드들(DN11-DN1n, DN21-DN2n, DNm1-DNmn) 간에 오브젝트의 실제 데이터 내지 관련 정보를 주고 받기 위한 가상의 통신 채널이 형성되나, 이러한 가상의 통신 채널의 통신 환경은 실시간으로 변하는 네트워크 트래픽의 양 및 가상의 통신 채널을 구성하는 네트워크 자원의 성능에 따라 달라질 수 있다. 가상의 통신 채널을 통해 전달되는 트래픽의 양이 많을수록 가상의 통신 채널 상에서 전송 충돌(transmission collision)이 발생될 가능성이 높아져 평균 실패율이 높아지며, 네트워크 자원의 성능이 높을수록 평균 응답시간이 줄어들게 된다.
또한, 가상의 통신 채널의 통신 환경뿐만 아니라, 데이터 노드들(DN11-DN1n, DN21-DN2n, DNm1-DNmn) 각각을 구성하는 하드웨어의 성능 및 실시간으로 변하는 잔여 가용 스토리지 자원량 등에 따라 데이터 노드들(DN11-DN1n, DN21-DN2n, DNm1-DNmn) 각각이 제공하는 서비스의 성능, 가용성 및 확장성 등이 달라질 수 있다.
따라서, 본 실시예에서는, 분산 저장 시스템(200)의 데이터 노드들(DN11-DN1n, DN21-DN2n, DNm1-DNmn) 및 이들 데이터 노드들을 그룹핑하여 구성된 데이터 노드 그룹들(241-243)을 기정의된 복수의 평가 지표별로 차등적인 점수를 부여하여 평가하고, 데이터 노드들(DN11-DN1n, DN21-DN2n, DNm1-DNmn) 및 데이터 노드 그룹들(241-243)의 실시간 서비스 제공 상황을 모니터링 하여, 평가 내역 및 모니터링 결과를 참조하여 클라이언트에게 최적의 서비스를 제공할 수 있는 데이터 노드들을 선택하도록 한다.
이러한 복제 서버(230)의 구체적인 데이터 노드 선택 방법에 대해서는 이하의 도 3에서 기술한다.
도 3은 본 발명의 바람직한 일 실시예에 따른 분산 저장 시스템의 복제 서버(300)의 개념적인 구성을 도시한 블록도이다.
도 3을 참조하면, 본 실시예에 따른 복제 서버(300)는 복제본 생성 요청 수신부(310), 데이터베이스(320), 모니터링부(330), 평가 내역 조정부(340) 및 제어부(350)를 포함한다.
복제본 생성 요청 수신부(310)는 생성할 청크 복제본의 개수를 포함한 복제본 생성 요청을 수신한다.
복제본 생성 요청 수신부(310)는 클라이언트의 신규 파일 저장 요청을 수신한 프록시 서버(또는 메타데이터 서버)로부터 청크 복제본 생성 요청을 수신하는 것이 바람직하나, 구현예에 따라, 클라이언트에서 프록시 서버(또는 메타데이터 서버)로부터 청크 복제본의 개수 정보를 획득하여 직접 복제본 생성 요청을 구현하도록 구현할 수도 있을 것이므로, 본 발명은 이에 한정되지 않는다.
데이터베이스(320)는 데이터 노드 그룹들 및 데이터 노드들을 복수의 평가지표들 별로 차등적인 점수를 부여한 평가 내역 및 데이터 노드 그룹들과 데이터 노드들 간의 대응 관계에 관한 정보을 저장하게 되며, 구현예에 따라 추가적으로, 데이터 노드 그룹들 및 데이터 노드들의 실시간 서비스 제공 상황을 모니터링한 결과를 실시간 저장 또는 업데이트할 수 있다.
본 실시예에서, 데이터 노드들의 평가 내역은, 데이터 노드들 또는 데이터 노드 그룹 단위에서 제공하는 클라우드 스토리지 서비스를 평가하여 성능(Performance), 신뢰성(Reliability), 가용성(Availability) 및 확장성(Scalability) 등과 같은 평가지표 별로 차등적인 점수들을 부여한 것을 의미한다.
본 실시예에서, 성능(Performance)란, 클라우드 스토리지 서비스를 얼마나 빨리 또는 많이 처리할 수 있는 능력에 대한 평가지표이며, 신뢰성(Reliablity)란, 클라우드 스토리지 서비스를 얼마나 실패 없이 수행할 수 있는 능력에 대한 평가지표이며, 가용성(Availability)란, 클라이언트가 신규 파일 저장을 요청했을 때에 요청한 만큼의 스토리지 자원을 할당할 수 있는 능력에 대한 평가지표이며, 확장성(Scalability)는 데이터 센터의 가용 스토리지 자원을 추가 증설할 수 있는 능력에 대한 평가지표이다.
이러한 평가 내역은 데이터 노드 및 네트워크를 구성하는 하드웨어 장비들의 사양(specification)과 성능, 파일 시스템(file system) 등을 소프트웨어 적으로 지원하는 API 등을 종합적으로 고려하여 분산 저장 시스템의 관리자 내지 서비스 제공자가 상기한 평가지표 별로 평가하여 생성할 수 있다.
또는, 복제 서버 내부에 별도의 시뮬레이션 모듈을 두어, 상기한 하드웨어 장비들의 사양과 성능, API 등을 입력하여 각 데이터 노드 및 데이터 그룹 단위에서 제공할 클라우드 스토리지 서비스를 시뮬레이션한 결과를 기초로 평가지표별로 자동적으로 생성하도록 구성할 수도 있다.
상기한 평가 내역의 생성 방법들은 하나의 실시예들에 불과하며, 이외에도 다양한 기준 데이터를 근거로 평가내역을 생성할 수 있을 것이며, 본 발명은 이에 한정되지 않는다.
모니터링부(330)는 네트워크를 통해 연결된 데이터 노드 그룹들 및 데이터 노드들의 실시간 서비스 제공 상황을 모니터링한다.
본 실시예에서, 실시간 서비스 제공 상황이란, 단위 시간 동안의 평균 응답 시간, 단위시간 동안의 평균 실패율, 잔여 가용 스토리지 자원량 등을 포함하는 것으로 각 데이터 노드를 구동하는 운영체제(operating system)나 하이퍼바이저(hypervisor), 가상머신 모니터(virtual machine monitor, VMM) 등으로부터 제공받을 수 있다.
또한, 데이터 노드 그룹들의 실시간 서비스 제공 상황은 데이터 노드 그룹들을 구성하는 데이터 노드들의 실시간 서비스 제공 상황을 평균하여 실시간 산출할 수 있다.
평가내역조정부(340)는 데이터베이스(320)로부터 데이터 노드 그룹들 및 데이터 노드들의 평가 내역을 불러오고, 모니터링부(330)로부터 모니터링된 데이터 노드 그룹들 및 데이터 노드들의 실시간 서비스 제공 상황을 가져온다.
그리고, 평가내역조정부(340)는 데이터 노드 그룹들 및 데이터 노드들의 평가 내역을 모니터링된 데이터 노드 그룹들 및 데이터 노드들의 실시간 서비스 제공 상황을 기초로 조정한다.
예컨대, 모니터링된 시간 서비스 제공 상황 중에서 평균 응답 시간 등을 기초로 하여 평가 내역 중 성능(performance)에 대한 점수를 상향 혹은 하향 조정할 수 있으며, 단위시간 동안의 평균 실패율 등을 기초로 하여 평가 내역 중 신뢰성(reliability)에 대한 점수를 상향 혹은 하향 조정할 수 있으며, 잔여 가용 스토리지 자원량 등을 기초로 하여 평가 내역 중 가용성(Availability)에 대한 점수를 상향 혹은 하향 조정할 수 있다.
제어부(350)는 평가내역조정부(340)에서 조정된 평가 내역을 기초로 청크 복제본의 개수와 동일한 개수의 데이터 노드들을 선택하여 선택된 데이터 노드들 각각에 청크 복제본을 생성하라는 명령(instruction)을 전송한다.
제어부(350)는 데이터 노드 그룹별로 복제본을 생성할지 여부에 따라 데이터 노드 선택 정책을 달리 적용하여 데이터 노드들을 선택할 수 있다.
예컨대, 데이터 신뢰성 및 가용성을 위해 데이터 노드 그룹별로 하나씩 복제본을 생성하도록 설정하는 정책을 적용하는 경우에는 먼저, 제어부(350)는 평가내역조정부(340)에서 조정된 평가 내역 중에서 데이터 노드 그룹별 평가 내역을 기초로 청크 복제본의 개수와 동일한 개수의 데이터 노드 그룹들을 선택한다. 그 이후에, 제어부(350)는 평가내역조정부(340)에서 조정된 평가 내역 중에서 데이터 노드별 평가 내역을 기초로 이전에 선택된 데이터 노드 그룹들 각각에 속한 데이터 노드를 하나씩 선택함으로써, 결과적으로 서로 다른 데이터 그룹에 속하는 데이터 노드들을 청크 복제본의 개수의 동일한 개수로 선택하게 된다.
반대로, 경우에 따라 데이터 노드 그룹별로 하나씩 복제본을 생성하도록 설정하는 정책을 적용하지 않는 것으로 설정된 경우에는, 제어부(350)는 평가내역조정부(340)에서 조정된 평가 내역 중에서 데이터 노드 그룹별 평가 내역이 아닌 데이터 노드별 평가 내역을 기초로 청크 복제본의 개수와 동일한 개수의 데이터 노드를 선택할 수 있다.
데이터 노드 그룹별로 하나씩 복제본을 생성하도록 설정하는 정책의 적용 여부는 분산 저장 시스템의 관리자 내지 서비스 제공자의 선택에 따라 미리 설정되는 것이 바람직하다.
평가 내역을 기초로 최적의 데이터 노드 그룹 내지 데이터 노드를 선택하는 방법으로는, 평가 내역의 평가지표들 별 점수에 평가지표들 별로 상이하게 설정된 가중치를 적용하여 합산한 결과가 높은 순으로 데이터 노드 그룹 내지 데이터 노드를 선택하고, 여기에서의 가중치는, 분산 저장 시스템의 관리자 내지 서비스 제공자에 의해 미리 설정되거나, 별도의 클라이언트 요청 수신 모듈을 통해 수신된 평가 지표별 우선순위에 대한 클라이언트의 요청을 실시간으로 반영하여 동적으로 변경될 수 있도록 구성할 수 있다. 그러나, 이는 평가 내역을 기초로 최적의 데이터 노드 그룹 내지 데이터 노드를 선택하는 방법을 설명하기 위한 하나의 예에 불과하며, 본 발명은 이에 한정되지 않는다.
도 4는 본 발명의 바람직한 일 실시예에 따른 분산 저장 시스템에서 클라이언트에 신규 파일 저장 요청에 의해 해당 파일의 청크 복제본을 생성하는 복제본 생성 방법을 도시한 흐름도로, 본 실시예에 따른 복제본 생성 방법은 도 2 내지 도 3에 도시된 복제 서버(230, 300)에서 수행될 수 있다. 따라서, 도 2 내지 도 3에 도시된 복제 서버(230, 300)에 관한 설명에서와 동일한 사항에 대해서는 이를 참조한다.
도 4를 참조하면, 먼저, 클라이언트의 신규 파일 저장 요청에 따라 생성할 청크 복제본의 개수를 포함한 청크 복제본 생성 요청을 수신한다(S401)
그리고, 이전에 저장된 데이터 노드 그룹들 및 데이터 노드들을 복수의 평가지표들 별로 차등적인 점수를 부여한 평가 내역을 불러오고(S402), 데이터 노드 그룹들 및 데이터 노드들의 실시간 서비스 제공 상황을 모니터링한다(S403).
본 실시예에서 S402 단계 및 S403 단계들은 기재의 편의를 위해 S402->S403의 순으로 예시한 것에 불과하며, 양자는 서로 순서를 바꾸어 실행해도 되며, 또는 동시에 병렬적으로 실행해도 무방하며, 본 발명은 이들 단계의 실행 순서에 의해 한정되지 않는다.
S403 단계에서 모니터링한 실시간 서비스 제공 상황을 기초로 S402 단계에서 불러온 평가 내역을 조정한다(S404).
그리고, 데이터 노드 그룹별로 하나씩 복제본을 생성할지 여부는 분산 저장 시스템의 관리자 내지 서비스 제공자가 설정한 정책에 따라 결정하는데, 데이터 노드 그룹별로 복제본을 생성하기로 설정된 경우(S405)에는 S404 단계에서 조정된 평가 내역 중 데이터 노드 그룹별 평가 내역을 기초로 청크 복제본의 개수와 동일한 개수의 데이터 노드 그룹들을 선택한다(S406). 그리고, S404 단계에서 조정된 평가 내역 중 데이터 노드별 평가 내역을 기초로 S406 단계에서 선택된 데이터 노드 그룹들 각각에 속한 데이터 노드를 하나씩 선택함(S407)으로써, 결과적으로, 서로 다른 데이터 그룹에 속하는 데이터 노드들을 청크 복제본의 개수의 동일한 개수로 선택하게 된다.
데이터 노드 그룹별로 복제본을 생성하지 않기로 설정된 경우(S405)에는 S404 단계에서 조정된 평가 내역 중에서 데이터 노드 그룹별 평가 내역이 아닌 데이터 노드별 평가 내역을 기초로 청크 복제본의 개수와 동일한 개수의 데이터 노드들을 선택한다(S408).
마지막으로, S407 단계 또는 S408 단계에서 선택된 데이터 노드들 각각에 청크 복제본을 생성한다(S409).
본 발명에 의하면, 복수의 클라이언트들로부터 네트워크를 통해 전송되는 오브젝트를 복수의 데이터 노드들에 분산 저장하는 분산 저장 시스템에서, 지역적으로 인접한 적어도 하나 이상의 데이터 노드들로 구성된 복수의 데이터 노드 그룹들에 골고루 분산하여 파일의 청크 복제본을 생성함으로써, 분산 저장 시스템의 신뢰성을 높일 수 있다.
아울러, 데이터 노드 그룹들 및 데이터 노드들의 기저장된 평가 내역 및 실시간 서비스 제공 상황을 반영하여 청크 복제본을 생성할 데이터 노드들을 선택함으로써, 분산 저장 시스템의 전체적인 성능 및 가용성 등을 높일 수 있다.
본 발명에 따른 복사본 생성 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 케리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 첨부된 도면에 도시된 일 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 수 있을 것이다. 따라서, 본 발명의 진정한 보호 범위는 첨부된 청구 범위에 의해서만 정해져야 할 것이다.

Claims (15)

  1. 지역적으로 인접한 적어도 하나 이상의 데이터 노드들로 구성된 복수의 데이터 노드 그룹들에 파일을 분산하여 저장하는 분산 저장 시스템의 복제 서버 장치에 있어서,
    클라이언트의 신규 파일 저장 요청에 따라 생성할 청크 복제본의 개수를 포함한 복제본 생성 요청을 수신하는 복제본 생성 요청 수신부;
    상기 데이터 노드 그룹들 및 데이터 노드들의 실시간 서비스 제공 상황을 모니터링하는 모니터링부;
    데이터베이스로부터 상기 데이터 노드 그룹들 및 데이터 노드들을 복수의 평가지표들 별로 차등적인 점수를 부여한 평가 내역을 불러와 상기 모니터링된 실시간 서비스 제공 상황을 기초로 상기 불러온 평가 내역을 조정하는 평가내역조정부; 및
    상기 조정된 평가 내역을 기초로 상기 청크 복제본의 개수와 동일한 개수의 데이터 노드들을 선택하여 상기 선택된 데이터 노드들 각각에 상기 청크 복제본을 생성하라는 명령을 전송하는 제어부를 포함하고, 상기 평가내역조정부는
    모니터링된 시간 서비스 제공 상황 중에서 평균 응답 시간 등을 기초로 하여 평가 내역 중 성능(performance)에 대한 점수를 상향 혹은 하향 조정하고, 단위시간 동안의 평균 실패율 등을 기초로 하여 평가지표들 중 신뢰성(reliability)에 대한 점수를 상향 혹은 하향 조정하며, 잔여 가용 스토리지 자원량 등을 기초로 하여 평가 내역 중 가용성(Availability)에 대한 점수를 상향 혹은 하향 조정하도록 구현되는 것을 특징으로 하는 복제 서버 장치.
  2. 제1항에 있어서,
    상기 복제본 생성 요청 수신부는 상기 클라이언트의 신규 파일 저장 요청을 수신한 프록시 서버나 메타데이터 서버로부터 상기 복제본 생성 요청을 수신하는 것을 특징으로 하는 복제 서버 장치.
  3. 제1항에 있어서,
    상기 데이터베이스는 상기 데이터 노드 그룹들 및 데이터 노드들의 평가 내역 및 상기 데이터 노드 그룹들과 상기 데이터 노드들 간의 대응관계에 관한 정보를 저장하는 것을 특징으로 하는 복제 서버 장치.
  4. 제1항에 있어서,
    상기 모니터링부는 상기 데이터 노드들로부터 상기 실시간 서비스 제공 상황을 수신하고, 상기 데이터 노드 그룹들 각각에 속하는 데이터 노드들의 실시간 서비스 제공 상황을 평균하여 상기 데이터 노드 그룹들의 실시간 서비스 제공 상황을 산출하는 것을 특징으로 하는 복제 서버 장치.
  5. 제1항에 있어서,
    상기 제어부는 상기 평가내역의 상기 평가지표들 별 점수에 상기 평가지표들 별로 상이하게 설정된 가중치를 적용하여 합산한 결과를 기초로 데이터 노드들을 선택하는 것을 특징으로 하는 복제 서버 장치.
  6. 제1항에 있어서,
    상기 제어부는
    상기 조정된 평가 내역 중 데이터 노드 그룹별 평가 내역을 기초로 상기 청크 복제본의 개수와 동일한 개수의 데이터 노드 그룹들을 선택하고, 상기 조정된 평가 내역 중 데이터 노드별 평가 내역을 기초로 상기 선택된 데이터 노드 그룹들 각각에 속한 데이터 노드를 하나씩 선택하는 것을 특징으로 하는 복제 서버 장치.
  7. 제1항에 있어서,
    상기 제어부는
    상기 조정된 평가 내역 중 데이터 노드별 평가 내역을 기초로 상기 청크 복제본의 개수와 동일한 개수의 데이터 노드들을 선택하는 것을 특징으로 하는 복제 서버 장치.
  8. 제1항에 있어서,
    상기 복수의 평가지표는 성능, 신뢰성, 가용성, 확장성 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 복제 서버 장치.
  9. 제1항에 있어서,
    상기 실시간 서비스 제공 상황은 단위시간 동안의 평균 응답 시간, 단위시간 동안의 평균 실패율 및 잔여 가용 스토리지 자원량 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 복제 서버 장치.
  10. 지역적으로 인접한 적어도 하나 이상의 데이터 노드들로 구성된 복수의 데이터 노드 그룹들로 구성된 분산 저장 시스템의 복제본 생성 방법에 있어서,
    클라이언트의 신규 파일 저장 요청에 따라 생성할 청크 복제본의 개수를 포함한 청크 복제본 생성 요청을 수신하는 단계;
    상기 데이터 노드 그룹들 및 데이터 노드들을 복수의 평가지표들 별로 차등적인 점수를 부여한 평가 내역을 불러오는 단계;
    상기 데이터 노드 그룹들 및 데이터 노드들의 실시간 서비스 제공 상황을 모니터링하는 단계;
    상기 모니터링된 실시간 서비스 제공 상황을 기초로 상기 불러온 평가 내역을 조정하는 단계;
    상기 조정된 평가 내역을 기초로 상기 청크 복제본의 개수와 동일한 개수의 데이터 노드들을 선택하는 선택단계; 및
    상기 선택된 데이터 노드들 각각에 상기 청크 복제본을 생성하는 단계를 포함하고, 상기 평가내역을 조정하는 단계는
    모니터링된 시간 서비스 제공 상황 중에서 평균 응답 시간 등을 기초로 하여 평가 내역 중 성능(performance)에 대한 점수를 상향 혹은 하향 조정하고, 단위시간 동안의 평균 실패율 등을 기초로 하여 평가지표들 중 신뢰성(reliability)에 대한 점수를 상향 혹은 하향 조정하며, 잔여 가용 스토리지 자원량 등을 기초로 하여 평가 내역 중 가용성(Availability)에 대한 점수를 상향 혹은 하향 조정하도록 구현되는 것을 특징으로 하는 복제본 생성 방법
  11. 제10항에 있어서,
    상기 선택단계는 상기 평가내역의 상기 평가지표들 별 점수에 상기 평가지표들 별로 상이하게 설정된 가중치를 적용하여 합산한 결과를 기초로 데이터 노드들을 선택하는 것을 특징으로 하는 복제본 생성 방법.
  12. 제10항에 있어서,
    상기 선택단계는,
    상기 조정된 평가 내역 중 데이터 노드 그룹별 평가 내역을 기초로 상기 청크 복제본의 개수와 동일한 개수의 데이터 노드 그룹들을 선택하는 단계; 및
    상기 조정된 평가 내역 중 데이터 노드별 평가 내역을 기초로 상기 선택된 데이터 노드 그룹들 각각에 속한 데이터 노드를 하나씩 선택하는 단계를 포함하는 것을 특징으로 하는 복제본 생성 방법.
  13. 제10항에 있어서,
    상기 선택단계는 상기 조정된 평가 내역 중 데이터 노드별 평가 내역을 기초로 상기 청크 복제본의 개수와 동일한 개수의 데이터 노드들을 선택하는 단계를 포함하는 것을 특징으로 하는 복제본 생성 방법.
  14. 제10항에 있어서,
    상기 복수의 평가지표는 성능, 신뢰성, 가용성, 확장성 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 복제본 생성 방법.
  15. 제10항에 있어서,
    상기 실시간 서비스 제공 상황은 단위시간 동안의 평균 응답 시간, 단위시간 동안의 평균 실패율 및 잔여 가용 스토리지 자원량 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 복제본 생성 방법.
KR1020110034412A 2011-04-13 2011-04-13 분산 저장 시스템의 복제 서버 장치 및 복제본 생성 방법 KR101544483B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020110034412A KR101544483B1 (ko) 2011-04-13 2011-04-13 분산 저장 시스템의 복제 서버 장치 및 복제본 생성 방법
PCT/KR2011/009937 WO2012141404A1 (ko) 2011-04-13 2011-12-21 분산 저장 시스템의 복제 서버 장치 및 복제본 생성 방법
US13/446,052 US8849756B2 (en) 2011-04-13 2012-04-13 Selecting data nodes in distributed storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110034412A KR101544483B1 (ko) 2011-04-13 2011-04-13 분산 저장 시스템의 복제 서버 장치 및 복제본 생성 방법

Publications (2)

Publication Number Publication Date
KR20120116774A KR20120116774A (ko) 2012-10-23
KR101544483B1 true KR101544483B1 (ko) 2015-08-17

Family

ID=47009539

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110034412A KR101544483B1 (ko) 2011-04-13 2011-04-13 분산 저장 시스템의 복제 서버 장치 및 복제본 생성 방법

Country Status (3)

Country Link
US (1) US8849756B2 (ko)
KR (1) KR101544483B1 (ko)
WO (1) WO2012141404A1 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6505024B2 (ja) * 2013-02-21 2019-04-24 シーエフエム グローバル エルエルシー 構造物のための隠蔽された電子部品を備えた建築物支持材
US9304815B1 (en) * 2013-06-13 2016-04-05 Amazon Technologies, Inc. Dynamic replica failure detection and healing
US20140379637A1 (en) 2013-06-25 2014-12-25 Microsoft Corporation Reverse replication to rollback corrupted files
EP2827547A1 (en) * 2013-07-15 2015-01-21 Alcatel Lucent Secure data storage in a network cloud
US9323615B2 (en) * 2014-01-31 2016-04-26 Google Inc. Efficient data reads from distributed storage systems
US9569459B1 (en) * 2014-03-31 2017-02-14 Amazon Technologies, Inc. Conditional writes at distributed storage services
US10802888B2 (en) * 2014-09-19 2020-10-13 Nec Corporation Information processing device and cooperative distributed storage system
US20160092287A1 (en) * 2014-09-26 2016-03-31 Intel Corporation Evidence-based replacement of storage nodes
US9672264B2 (en) * 2015-01-26 2017-06-06 Netapp, Inc. Method and system for backup verification
US20180004430A1 (en) * 2015-01-30 2018-01-04 Hewlett Packard Enterprise Development Lp Chunk Monitoring
US9891973B2 (en) * 2015-02-18 2018-02-13 Seagate Technology Llc Data storage system durability using hardware failure risk indicators
KR101648401B1 (ko) * 2015-04-17 2016-08-16 (주)모아데이타 데이터 관리 및 분석을 위한 데이터베이스 장치, 스토리지 유닛 및 그 방법
US20160349993A1 (en) * 2015-05-29 2016-12-01 Cisco Technology, Inc. Data-driven ceph performance optimizations
WO2016200412A1 (en) * 2015-06-09 2016-12-15 Hewlett Packard Enterprise Development Lp Data replication management
US10025628B1 (en) * 2015-06-26 2018-07-17 Amazon Technologies, Inc. Highly available distributed queue using replicated messages
US11089099B2 (en) * 2015-09-26 2021-08-10 Intel Corporation Technologies for managing data object requests in a storage node cluster
US9842154B2 (en) * 2016-04-29 2017-12-12 Netapp, Inc. Secure data replication
CN107766346A (zh) * 2016-08-15 2018-03-06 中国联合网络通信集团有限公司 分布式文件系统文件访问方法及装置
US10503654B2 (en) 2016-09-01 2019-12-10 Intel Corporation Selective caching of erasure coded fragments in a distributed storage system
US11074226B2 (en) * 2017-05-24 2021-07-27 3S International, LLC Hierarchical computing network and methods thereof
KR102007810B1 (ko) 2017-07-28 2019-08-07 네이버 주식회사 저장 장치의 개별 제어를 위한 데이터의 배치 및 복구
US11108857B2 (en) * 2018-02-27 2021-08-31 Elasticsearch B.V. Self-replicating management services for distributed computing architectures
US11232127B2 (en) * 2018-12-28 2022-01-25 Intel Corporation Technologies for providing dynamic persistence of data in edge computing
US11030220B2 (en) * 2019-09-13 2021-06-08 Amazon Technologies, Inc. Global table management operations for multi-region replicated tables
CN111159141A (zh) * 2020-01-02 2020-05-15 中国航空工业集团公司西安航空计算技术研究所 一种去中心化的分布式数据同步方法、分布式节点及系统
US11455121B2 (en) 2020-01-22 2022-09-27 International Business Machines Corporation Selecting data nodes for WAN caching in a hybrid cloud environment
US20210272035A1 (en) * 2020-02-28 2021-09-02 Uber Technologies, Inc. Storage location selection according to query evaluation
EP4315811A1 (en) 2021-03-30 2024-02-07 Cira Apps Limited Hub and spoke architecture for cloud-based synchronization
CN114760323A (zh) * 2022-03-02 2022-07-15 浙江吉利控股集团有限公司 一种车辆位置信息的处理方法、处理系统及存储介质

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930007928B1 (ko) 1991-01-31 1993-08-21 삼성전자 주식회사 오류정정방법 및 장치
US6185619B1 (en) * 1996-12-09 2001-02-06 Genuity Inc. Method and apparatus for balancing the process load on network servers according to network and serve based policies
US6003030A (en) * 1995-06-07 1999-12-14 Intervu, Inc. System and method for optimized storage and retrieval of data on a distributed computer network
US6047309A (en) * 1995-10-02 2000-04-04 International Business Machines Corporation Recording observed and reported response characteristics at server and/or client nodes in a replicated data environment, and selecting a server to provide data based on the observed and/or reported response characteristics
US6163855A (en) * 1998-04-17 2000-12-19 Microsoft Corporation Method and system for replicated and consistent modifications in a server cluster
US6415323B1 (en) * 1999-09-03 2002-07-02 Fastforward Networks Proximity-based redirection system for robust and scalable service-node location in an internetwork
KR100673692B1 (ko) 2000-03-16 2007-01-23 엘지엔시스(주) 패리티 블록코드를 이용한 오류 복구방법
US7653700B1 (en) * 2000-11-16 2010-01-26 Microsoft Corporation System and method for performing client-centric load balancing of multiple globally-dispersed servers
US7418620B1 (en) 2001-02-16 2008-08-26 Swsoft Holdings, Ltd. Fault tolerant distributed storage method and controller using (N,K) algorithms
US7340505B2 (en) * 2001-04-02 2008-03-04 Akamai Technologies, Inc. Content storage and replication in a managed internet content storage environment
US20020184368A1 (en) * 2001-04-06 2002-12-05 Yunsen Wang Network system, method and protocols for hierarchical service and content distribution via directory enabled network
KR100923394B1 (ko) 2002-06-25 2009-10-23 주식회사 케이티 가상사설망에서의 네트워크 저장공간 구현 방법
JP4387087B2 (ja) 2002-07-25 2009-12-16 三洋電機株式会社 データ記憶装置
US7461147B1 (en) * 2002-08-26 2008-12-02 Netapp. Inc. Node selection within a network based on policy
JP2004126716A (ja) * 2002-09-30 2004-04-22 Fujitsu Ltd 広域分散ストレージシステムを利用したデータ格納方法、その方法をコンピュータに実現させるプログラム、記録媒体、及び広域分散ストレージシステムにおける制御装置
US7865536B1 (en) 2003-02-14 2011-01-04 Google Inc. Garbage collecting systems and methods
US20050125456A1 (en) 2003-12-09 2005-06-09 Junichi Hara File migration method based on access history
US20050256923A1 (en) 2004-05-14 2005-11-17 Citrix Systems, Inc. Methods and apparatus for displaying application output on devices having constrained system resources
US7620687B2 (en) 2004-06-25 2009-11-17 Telcordia Technologies, Inc. Distributed request routing
US20060069828A1 (en) 2004-06-30 2006-03-30 Goldsmith Michael A Sharing a physical device among multiple clients
US20080021935A1 (en) 2004-09-10 2008-01-24 Koninklijke Philips Electronics, N.V. System and Method for Avoiding Redundant Copying of Shared Content When Using Virtual Titles
KR100719285B1 (ko) 2005-03-30 2007-05-17 (주)이스트소프트 웹 스토리지의 분산 파일관리시스템 및 파일관리방법
US7389300B1 (en) * 2005-05-27 2008-06-17 Symantec Operating Corporation System and method for multi-staged in-memory checkpoint replication with relaxed consistency
US7457257B2 (en) * 2005-11-17 2008-11-25 International Business Machines Corporation Apparatus, system, and method for reliable, fast, and scalable multicast message delivery in service overlay networks
US8589574B1 (en) * 2005-12-29 2013-11-19 Amazon Technologies, Inc. Dynamic application instance discovery and state management within a distributed system
US7778183B2 (en) * 2006-03-31 2010-08-17 International Business Machines Corporation Data replica selector
US9392078B2 (en) 2006-06-23 2016-07-12 Microsoft Technology Licensing, Llc Remote network access via virtual machine
JP4859595B2 (ja) 2006-09-01 2012-01-25 株式会社日立製作所 記憶システム、そのデータ再配置方法、データ再配置プログラム
US8239479B2 (en) 2007-06-22 2012-08-07 Microsoft Corporation Server-assisted and peer-to-peer synchronization
KR20090036276A (ko) 2007-10-09 2009-04-14 주식회사 대우일렉트로닉스 광정보 처리장치의 데이터 페이지, 데이터 페이지 맵핑방법및 데이터 페이지 오류검사방법
US7865762B2 (en) 2007-12-04 2011-01-04 Intel Corporation Methods and apparatus for handling errors involving virtual machines
KR100946986B1 (ko) 2007-12-13 2010-03-10 한국전자통신연구원 파일 저장 시스템 및 파일 저장 시스템에서의 중복 파일관리 방법
KR101007356B1 (ko) 2008-08-28 2011-01-13 한국전자통신연구원 가상화 시스템 상에서 입출력 디바이스 설정장치 및 방법
US9367257B2 (en) 2008-09-11 2016-06-14 Microsoft Technology Licensing, Llc Techniques for resource location and migration across data centers
US9098519B2 (en) * 2008-09-16 2015-08-04 File System Labs Llc Methods and apparatus for distributed data storage
US8443062B2 (en) * 2008-10-23 2013-05-14 Microsoft Corporation Quorum based transactionally consistent membership management in distributed storage systems
KR20100055297A (ko) 2008-11-17 2010-05-26 에스케이텔레콤 주식회사 분산 저장된 컨텐츠의 리다이렉티드 url을 이용한 동시 멀티미디어 스트리밍 시스템 및 방법
KR101485610B1 (ko) 2008-11-27 2015-01-22 주식회사 케이티 네트워크 구조를 고려한 분산형 컨텐트 전달 시스템 및 그 방법
KR101104729B1 (ko) 2008-11-28 2012-01-11 에스케이플래닛 주식회사 최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
KR101023585B1 (ko) * 2008-12-08 2011-03-21 주식회사 케이티 객체기반 스토리지 시스템에서 클라이언트 요청빈도에 따른데이터 관리 방법
KR101010219B1 (ko) 2008-12-16 2011-01-21 한국전자통신연구원 비대칭 분산 파일 시스템과 그의 점진적 일관성 오류 감지 및 복구 방법
KR20100073154A (ko) 2008-12-22 2010-07-01 한국전자통신연구원 메타데이터 서버, 데이터 서버의 데이터 처리 방법 및 이를이용한 비대칭 클러스터 분산 파일 시스템
US9614924B2 (en) 2008-12-22 2017-04-04 Ctera Networks Ltd. Storage device and method thereof for integrating network attached storage with cloud storage services
KR20100092850A (ko) 2009-02-13 2010-08-23 경희대학교 산학협력단 클라우드 컴퓨팅 환경에서의 리소스 분배 장치 및 그 방법
US8560639B2 (en) * 2009-04-24 2013-10-15 Microsoft Corporation Dynamic placement of replica data
KR20100122197A (ko) 2009-05-12 2010-11-22 주식회사 클루넷 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법
US20100318609A1 (en) 2009-06-15 2010-12-16 Microsoft Corporation Bridging enterprise networks into cloud
KR101626117B1 (ko) 2009-06-22 2016-05-31 삼성전자주식회사 클라우드 스토리지를 제공하는 클라이언트, 중개 서버 및 방법
US20100332401A1 (en) 2009-06-30 2010-12-30 Anand Prahlad Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites
KR100931260B1 (ko) 2009-07-08 2009-12-11 (주)나노레볼루션 Sbc 환경에서 사용자 단말의 이동성 지원을 위한 끊김없는 서버 접속 및 서비스 연결 방법 및 시스템
US8351600B2 (en) * 2009-10-30 2013-01-08 Cleversafe, Inc. Distributed storage network and method for encrypting and decrypting data using hash functions
US8479078B2 (en) * 2009-10-30 2013-07-02 Cleversafe, Inc. Distributed storage network for modification of a data object
KR100985169B1 (ko) 2009-11-23 2010-10-05 (주)피스페이스 분산 저장 시스템에서 파일의 중복을 제거하는 장치 및 방법
US8621270B2 (en) * 2010-09-24 2013-12-31 Hitachi Data Systems Corporation System and method for transparent recovery of damaged or unavailable objects in a replicated object storage system
US8935431B2 (en) * 2010-12-17 2015-01-13 International Business Machines Corporation Highly scalable and distributed data sharing and storage
US9110724B2 (en) * 2011-02-08 2015-08-18 Microsoft Technology Licensing, Llc Selecting computing nodes in cloud service using replication topologies

Also Published As

Publication number Publication date
WO2012141404A1 (ko) 2012-10-18
US8849756B2 (en) 2014-09-30
US20120284229A1 (en) 2012-11-08
KR20120116774A (ko) 2012-10-23

Similar Documents

Publication Publication Date Title
KR101544483B1 (ko) 분산 저장 시스템의 복제 서버 장치 및 복제본 생성 방법
US11354169B2 (en) Adjusting variable limit on concurrent code executions
US9977691B2 (en) Adjusting variable limit on concurrent code executions based on communication between frontends
Krishnamurthy et al. Pratyaastha: an efficient elastic distributed sdn control plane
US9830449B1 (en) Execution locations for request-driven code
US9223561B2 (en) Method for providing an on-demand software execution service
CN112532668B (zh) 一种网络边缘计算方法、装置及介质
JP6113849B2 (ja) クラウド内に地理的分散型のアプリケーションを自動的に配備する方法および装置
KR101242458B1 (ko) 지능형 분산 스토리지 서비스 시스템 및 방법
US10684878B1 (en) Virtual machine management
KR20120116773A (ko) 클라우드 컴퓨팅 서비스 센터 추천 방법
US20160156567A1 (en) Allocation method of a computer resource and computer system
KR20120072908A (ko) 복수 개의 프락시 서버를 포함하는 분산 저장 시스템 및 그 오브젝트 관리 방법 및 컴퓨터에 의하여 독출가능한 저장 매체
US20130227232A1 (en) Partition aware quality of service feature
US9591094B2 (en) Caching of machine images
US20130254323A1 (en) Determining priorities for cached objects to order the transfer of modifications of cached objects based on measured network bandwidth
WO2016066199A1 (en) Virtual content delivery network
KR20150009662A (ko) 가상 데스크톱 서비스 제공 방법 및 장치
KR102410586B1 (ko) 사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 방법 및 장치
Al Nuaimi et al. Partial storage optimization and load control strategy of cloud data centers
KR102025425B1 (ko) 가상 네트워크 기능 배치를 위한 네트워크 장치 및 그 방법
Vani et al. Availability in cloud computing
US20220335059A1 (en) Automatic consistency group scale-out for any point in time replication systems
US11038758B2 (en) Systems and methods for optimizing the number of servers in a cluster
US11194745B1 (en) Replication enhancement method for write-intensive IoT applications

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190731

Year of fee payment: 5