KR20140045738A - 클라우드 스토리지 시스템 - Google Patents

클라우드 스토리지 시스템 Download PDF

Info

Publication number
KR20140045738A
KR20140045738A KR1020120111854A KR20120111854A KR20140045738A KR 20140045738 A KR20140045738 A KR 20140045738A KR 1020120111854 A KR1020120111854 A KR 1020120111854A KR 20120111854 A KR20120111854 A KR 20120111854A KR 20140045738 A KR20140045738 A KR 20140045738A
Authority
KR
South Korea
Prior art keywords
data
server
client
distributed caching
caching server
Prior art date
Application number
KR1020120111854A
Other languages
English (en)
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 KR1020120111854A priority Critical patent/KR20140045738A/ko
Publication of KR20140045738A publication Critical patent/KR20140045738A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], 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/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 클라우드 스토리지 시스템에 있어서, 데이터를 저장하는 하나 이상의 스토리지 서버; 상기 스토리지 서버와 동일한 근거리 통신망에 있으며, 상기 스토리지 서버에 저장되어 있는 데이터를 기초로 클라이언트의 요청을 수행하는 마스터 서버; 클라이언트와 동일한 근거리 통신망에 있으며, 상기 마스터 서버가 전송한 데이터 중 상기 클라이언트에서 자주 접근되는 데이터를 저장하는 하나 이상의 분산 캐싱 서버;를 포함하되, 상기 클라이언트는 상기 분산 캐싱 서버에 자신이 접근하려는 데이터가 있는지 여부를 블룸 필터(Bloom filter)를 통해 확인하는 클라우드 스토리지 시스템을 제공한다.

Description

클라우드 스토리지 시스템{CLOUD STORAGE SYSTEM}
본 발명은 클라우드 스토리지 시스템에 관한 것이다.
최근 클라우드 컴퓨팅 환경에서 사용자들의 다양한 서비스 및 데이터 요청으로 클라우드 스토리지의 부하와 스토리지 저장 비용이 급증하고 있으며, QoS(Quality of Service)를 보장할 수 없게 되었다. 이러한 문제를 해결하기 위해 분산 파일 시스템을 통한 저비용 고성능 스토리지 환경을 제공하고자 하였으나, 이에는 데이터 병렬 처리, 임의 위치 접근 처리, 빈번한 작은 워크로드 접근 처리 등의 취약점이 있다.
종래 기술에는 분산 파일 시스템이 있으며, 대표적인 분산 파일 시스템으로는 GFS(Google File System), HDFS, XtreemFS, Ceph, GlusterFS, MooseFS등이 있다. 분산 파일 시스템은 네트워크상의 사용자 요청과 데이터를 분산 처리 하여 저비용/고성능을 확보한다.
그러나 클라우드 컴퓨팅 환경과 같이 대규모의 분산 데이터 환경에서는 분산 파일 시스템만으로는 데이터 접근에 대한 병렬 처리 성능, 임의 위치에 대한 데이터 읽기 및 쓰기 성능, 작은 워크로드에 대한 빈번한 접근 시의 성능 등에서 취약점을 보인다.
클라우드 스토리지와 관련하여 한국공개특허 제10-2012-0073799호("클라우드 스토리지 기반의 데이터 동기화 및 서비스 제공 장치와 방법")에는 클라우드 스토리지 기반의 데이터 동기화 및 서비스 제공 장치와 방법이 개시되어 있다.
또한, 한국공개특허 제10-2012-0065072호("클라우드 스토리지 및 그의 관리 방법")는 메타 데이터 서버, 데이터 서버, 클러스터 관리 서버를 포함하는 구성이 개시되어 있다.
본 발명의 목적은 클라이언트의 데이터 요청을 마스터 서버와 분산 캐싱 서버로 분산시킴으로써 데이터 요청이 한곳으로 집중되는 병목 현상이 완화된 클라우드 스토리지 시스템을 제공하는 것이다.
상기와 같은 목적을 달성하기 위한 본 발명의 일측면에 따른 클라우드 스토리지 시스템은 데이터를 저장하는 하나 이상의 스토리지 서버; 상기 스토리지 서버와 동일한 근거리 통신망에 있으며, 상기 스토리지 서버에 저장되어 있는 데이터를 기초로 클라이언트의 요청을 수행하는 마스터 서버; 클라이언트와 동일한 근거리 통신망에 있으며, 상기 마스터 서버가 전송한 데이터 중 상기 클라이언트에서 자주 접근되는 데이터를 저장하는 하나 이상의 분산 캐싱 서버;를 포함하되, 상기 클라이언트는 상기 분산 캐싱 서버에 자신이 접근하려는 데이터가 있는지 여부를 블룸 필터(Bloom filter)를 통해 확인하는 것을 특징으로 한다.
본 발명은 기존의 클라우드 컴퓨팅 환경에서 분산 파일 시스템을 통한 서비스를 제공함에 있어서 취약점을 개선하고, 사용자에게 QoS(Quality of Service)를 보장을 위한 고속의 캐싱 기술 및 공유 자원을 고려한 병렬 전송을 통하여 고용량 및 실시간 데이터 전송을 제공하는 클라우드 스토리지 인프라 구축에 활용 가능하다는 효과를 얻는다.
첫째, 클라이언트는 분산 캐싱 기술을 통해 근거리 통신망의 분산 캐시 서버에서 데이터를 수신하여, 원거리 통신망에 존재하는 스토리지 서버까지 송신하는 비용을 줄인다. 이는 외부로 나가는 트래픽의 감소와 서버의 데이터 요청을 분산 처리함으로써 병목 현상 또한 방지할 수 있다.
둘째, 분산 캐싱 서버에 접근이 자주 일어나는 핫 데이터를 저장함으로써 스토리지 서버의 디스크 입출력을 감소시킨다.
셋째, 클라이언트는 스토리지 서버로부터 데이터를 캐싱할 때 각 중복된 페이지 캐시를 가질 수 있다. 이를 분산 캐싱 서버에 저장함으로써 페이지 캐시의 중복을 제거한다.
넷째, 각 클라우드 환경에서 공유되는 자원을 고려하여 병렬적으로 소켓 연결을 이루고, 각 소켓 마다 데이터를 전송함으로써 데이터 전송률을 향상시킨다.
도 1은 본 발명에 따른 클라우드 스토리지 시스템의 구조를 도시함.
도 2는 본 발명에 따른 분산 캐싱 서버 및 블룸 필터의 실시예를 도시함.
도 3은 본 발명에 따른 캐시 데이터 접근 횟수에 대한 실시예를 도시함.
도 4는 본 발명에 따른 블룸 필터의 실시예를 도시함.
도 5는 본 발명에 따른 분산 캐싱 서버의 캐시 데이터의 실시예를 도시함.
도 6은 분산 캐싱 서버에의 데이터 요청에 대한 도시함.
도 7은 스토리지 서버에의 데이터 요청에 대한 실시예를 도시함.
도 8은 본 발명에 따른 클라우드 스토리지 시스템의 성능을 종래 기술과 비교하여 도시함.
도 9는 본 발명에 따른 클라우드 스토리지 시스템의 성능을 표로 도시함.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명에 따른 클라우드 스토리지 시스템의 구조를 도시하고 있다.
본 발명에 따른 클라우드 스토리지 시스템(10)은 하나 이상의 스토리지 서버(100), 하나 이상의 마스터 서버(200), 하나 이상의 분산 캐싱 서버(300), 및 하나 이상의 클라이언트(400)를 포함한다.
스토리지 서버(100)는 마스터 서버(200)와 동일한 근거리 통신망(LAN, 12)에 있으며, 분산 캐싱 서버(300)는 클라이언트(400)와 동일한 근거리 통신망(LAN, 14)에 있다. 마스터 서버(200)가 있는 근거리 통신망(12)와 분산 캐싱 서버(300)가 있는 근거리 통신망(14)는 인터넷 또는 원거리 통신망(WAN, 16)으로 연결되어 있다.
스토리지 서버(100)는 클라우드 스토리지 서비스를 제공하기 위한 데이터를 저장하며, 마스터 서버(200)는 스토리지 서버(100) 에 저장되어 있는 데이터를 기초로 클라이언트(400)의 요청을 수행한다. 분산 캐싱 서버(300)는 마스터 서버(200)가 전송한 데이터 중 클라이언트(400)에서 자주 접근되는 데이터를 저장하며, 클라이언트(400)는 분산 캐싱 서버(300)에 자신이 접근하려는 데이터가 있는지 여부를 블룸 필터(Bloom filter)를 통해 확인한다.
최근 클라우드 컴퓨팅 환경의 보급과 함께 스토리지에 저장되는 데이터의 양과 그에 따른 비용이 급증하고 있다. 이러한 문제를 해결하기 위해 클라이언트의 요청과 데이터를 분산 처리하려는 분산 파일 시스템이 개발되었으며, 병렬 처리, 워크로드 분산, 데이터 캐싱 기술 등이 연구되고 있다.
특히 데이터 접근의 지역성을 확보하여 성능을 향상시키기 위한 캐싱 기술이 주목받고 있다. 각 서버 노드의 가용 캐시 메모리를 공유하는 형태의 분산 캐싱과 동적 네트워크 환경에서 그리드 메모리를 이용한 병렬 캐싱과 같은 고속 캐싱 기술, 클라우드 백업 파일 시스템에서 프락시 서버를 이용하여 데이터 처리의 적중률을 높이는 캐싱 기술, 병렬로 데이터를 전송하는 기술 등이 개발되고 있다.
본 발명에 따른 클라우드 스토리지 시스템(10)은 분산 파일 시스템 환경에서 원거리 통신망(16)으로 연결된 클라이언트(400)와 스토리지 서버(100) 사이의 비용을 줄이는 고속 캐싱 기술과 스토리지 서버(100)에의 빈번한 접근에 대한 병목 현상을 줄이기 위한 분산 캐싱 기술을 제공한다.
분산 파일 시스템은 클라이언트 측의 네트워크를 통해 분산된 스토리지 서버의 데이터에 접근하는 파일 시스템이다. 데이터는 네트워크에 분산된 스토리지 서버에 저장되며, 클라이언트의 로컬 파일 시스템의 데이터인 것처럼 접근할 수 있는 투명성을 제공한다. 클라우드 컴퓨팅 환경에서는 여러 사용자가 동시에 같은 데이터에 접근하기 때문에, 접근 제어 및 데이터 일관성 유지를 위한 기술이 필요하다. 또한 가용성을 위해 장애가 발생하여도 서비스를 제공할 수 있어야 한다.
병렬 캐싱은 동적 네트워크 환경에서 그리드 메모리의 여유 메모리를 사용하여 클라이언트의 데이터 동시 접근을 가능하게 함으로써 처리량을 높인다. 병렬 캐싱의 구조는 동적 네트워크 환경에서 다수의 캐시 노드를 연결하여 노드 에이전트로 구성한다.
분산 캐싱은 서버의 여분의 캐시 메모리를 논리적으로 공유하여 캐시 메모리의 활용률을 높임으로써 시스템상의 오버헤드를 낮춘다. 이를 통해 사용자 서비스 요청에 따라 균형 있는 캐시 메모리의 배분이 가능하며 네트워크상에 걸쳐 있는 여분의 캐시 메모리를 사용한다.
이러한 종래의 연구들 중에서 특히 Memcached는 네트워크를 통해 Mencached 기능을 탑재한 서버들 간에 캐시 메모리를 공유함으로써 실제 데이터를 처리하는 애플리케이션 서버가 Memcached 기능을 탑재한 서버들 간의 여유 캐시 메모리를 사용할 수 있다. Memcached는 중요한 메모릴 자원을 사용할 때 최소의 응답 반응 속도를 위해서 데이터를 최소로 조직하기 위해 데이터를 저장할 대 (키, 값)의 구조로 저장한다. 애플리케이션 서버는 키를 가지고 저장된 데이터를 획득하여 추가, 업데이트, 및 삭제를 수행한다.
도 2는 본 발명에 따른 분산 캐싱 서버 및 블룸 필터의 실시예를 도시하고 있다.
본 발명에 따른 클라우드 스토리지 시스템(10)은 본 발명에 따른 클라우드 스토리지 시스템(10)은 분산 캐싱 서버(300)에 Memcached 기능을 사용할 수 있다. Memcached 분산 캐싱 서버(300)는 참조 지역성의 원리에 따라 자주 접근되는 데이터인 핫 데이터(hot data)를 저장한다. 분산 캐싱 서버(300)는 핫 데이터를 저장함으로써 디스크 입출력을 최소화한다.
또한 전술한 바와 같이, 본 발명에 따른 클라우드 스토리지 시스템(10)은 각각의 근거리 통신망(12, 14)이 묶여 있는 광역망 환경(16)으로 이루어진다. 클라이언트(400)는 분산 캐싱 서버(300)와 같은 근거리 통신망(12)으로 구성되며, 마스터 서버(200)는 스토리지 서버(100)와 같은 근거리 통신망(14)으로 구성된다.
클라이언트(400)는 같은 네트워크 환경으로 묶여 있는 분산 캐싱 서버(300)에 블룸 필터를 통해 데이터의 존재 유무를 빠르게 확인한다. 분산 캐싱 서버(300)에 데이터가 존재할 경우 전송받지만, 없을 경우에는 마스터 서버(200)에 데이터를 요청하며, 이때 분산 캐싱 서버(300)의 데이터가 갱신된 후 클라이언트(400)로 데이터를 전송한다.
따라서 본 발명에 따른 클라우드 스토리지 시스템(10)은 클라이언트(400)의 데이터 요청을 마스터 서버(200)와 분산 캐싱 서버(300)로 분산시킴으로써 데이터 요청이 한곳으로 집중되는 것을 방지하고 이에 따른 병목 현상을 완화하는 효과를 가진다.
도 3은 본 발명에 따른 캐시 데이터 접근 횟수에 대한 실시예를 도시하고 있다.
본 발명의 일실시예는 캐시 교체 정책 및 핫 데이터의 유지를 위해 캐시 데이터 접근 횟수를 블룸 필터 계수로 정의하여 관리한다. 블룸 필터 계수는 페이지 캐시가 참조되는 횟수를 가지고 있으며, 페이지 캐시가 참조되면 1씩 증가한다.
클라이언트(400)가 분산 캐싱 서버(300)에 있는 페이지 캐시를 참조하면 블룸 필터 계수를 1 증가 시키고, 콜드 데이터(cold data) 리스트에 페이지 캐시를 할당한다.
계수가 기지정한 임계치보다 커지면 핫 데이터(hot data) 리스트로 이동하게 되며, 핫 데이터 리스트의 비어 있는 공간 중 끝의 가장 가까운 곳에 할당하고, 블룸 필터 계수는 0으로 초기화한다.
핫 데이터 리스트가 다 차면 핫 데이터 리스트 중 앞부터 참조하여 블룸 필터 계수가 0인 것부터 교체한다.
페이지 캐시의 참조가 끝나면 블룸 필터 계수는 감소한다.
도 4는 본 발명에 따른 블룸 필터의 실시예를 도시하고 있다.
분산 캐싱 서버(300)는 클라이언트(400)로부터 데이터 전송 요청이 들어오면, 분산 캐싱 서버(300)에 해당 데이터가 존재하는지 여부를 블룸 필터를 통해 빠르게 확인할 수 있다. 분산 캐싱 서버(300)는 데이터가 분산 캐싱 서버(300)에 존재하면 BFCB(Bloom Filter Check Bit)를 1로 설정하며, 없으면 0으로 설정하여 분산 캐싱 서버(300)에 데이터가 존재하는지를 알린다.
블룸 필터는 블룸 필터 새성, 검색, 삭제의 세가지 기능을 수행한다. 블룸 필터 생성은 데이터를 3개의 해시 함수로 키 값을 생성하여 블룸 필터 배열에 인덱스를 추가한다. 블룸 필터 검색은 데이터를 3개의 해시 함수로 키 값을 생성하고 키 값이 블룸 필터 배열의 인덱스에 존재 여부를 판단한다. 블룸 필터 삭제는 생성과 동일하게 해시 함수를 통해 배열의 인덱스에 해당하는 1을 0으로 교체하면서 블룸 필터 배열의 데이터 키 값을 삭제한다.
도 5는 본 발명에 따른 분산 캐싱 서버의 캐시 데이터의 실시예를 도시하고 있다.
종래 기술은 클라이언트가 스토리지 서버로부터 원거리 통신망을 거쳐 데이터를 캐싱한다. 각 클라이언트는 서로 같은 데이터를 캐싱할 수 있으며, 이로 인해 중복된 페이지 캐시가 발생할 수 있다.
이러한 문제를 해결하기 위해, 본 발명의 일실시예에서는 분산 캐싱 서버(300)를 통해 기존에 클라이언트(400)가 가지고 있던 페이지 캐시를 분산 캐싱 서버(300)에 하나의 페이지 캐시만 저장하고 관리하여, 페이지 캐시의 중복을 감소시킨다. 따라서 각 클라이언트(400) 간의 중복되는 페이지 캐시를 막고, 결과적으로 더 많은 가용 페이지 캐시를 확보할 수 있다.
도 6은 분산 캐싱 서버에의 데이터 요청에 대한 도시하고 있다.
본 발명의 일실시예에 따르면, 클라이언트(400)가 같은 근거리 통신망(12) 내의 분산 캐싱 서버(300)에 데이터를 요청하면, 분산 캐싱 서버(300)는 블룸 필터를 통해 데이터의 존재 유무를 확인하고 클라이언트(400)에0게 BFCB를 통하여 데이터의 존재 유무를 알린다. 분산 캐싱 서버(300)에 데이터가 존재할 경우 BFCB가 1로 설정된다. 이후 클라이언트(400)는 분산 캐싱 서버(300)로 핸들러(Handler), 인덱스(Index)를 전달하여, 데이터를 요청한다.
따라서 근접한 분산 캐싱 서버(300)로 데이터를 요청하고 전송받기 때문에, 근거리 통신망에 비해 느린 원거리 통신망 환경을 거쳐서 스토리지 서버(100)까지 가는 비용을 줄이고 외부로 나가는 트래픽을 최소로 할 수 있다.
도 7은 스토리지 서버에의 데이터 요청에 대한 실시예를 도시하고 있다.
BFCB가 0일 경우 분산 캐싱 서버(300)에 데이터가 존재하지 않으며, 클라이언트(400)는 마스터 서버(200)로 데이터를 요청한다. 마스터 서버는 클라이언트(400)로부터 받은 Handler와 Index를 통하여 스토리지 서버(100)에서 데이터를 검색하여 분산 캐싱 서버(300)에 페이지 캐시를 갱신한다. 분산 캐싱 서버(300)는 갱신된 페이지 캐시를 클라이언트(400)로 전송한다.
이와 같이 분산 캐싱 서버(300)와 마스터 서버(200)로 데이터의 요청을 분산함으로써 입력의 요청이 한곳으로 집중되는 것을 막고 병목 현상을 방지한다.
도 8은 본 발명에 따른 클라우드 스토리지 시스템의 성능을 종래 기술과 비교하여 도시하고 있다.
전술한 바와 같이, 본 발명의 일실시예에 따르면, 캐시 메모리의 공유를 통해 더 많은 가용 캐시 공간을 확보하여, 핫 데이터를 유지함으로써 캐시 적중률이 상승한다. 그 결과 디스크의 I/O 연산을 줄일 수 있다. 또한 클라이언트(400)가 요청한 데이터가 분산 캐싱 서버(300)에 존재하면 데이터를 같은 근거리 통신망 환경(12)에서 수신한다. 이는 스토리지 서버(100)까지 가는 네트워크 비용과 데이터 요청을 분산한다는 장점이 있다.
또한 본 발명의 일실시예에 따르면, 클라이언트(400)마다 캐싱하고 있는 페이지 캐시를 분산 캐싱 서버(300)에 저장함으로써 각 클라이언트(400)가 가지고 있는 캐싱된 데이터의 중복을 막을 수 있다.
본 발명의 일실시예는 분산 캐싱 서버(300)를 효율적으로 사용하기 위하여 시간 지역성의 원리에 의해 같은 시간 동안 접근이 자주 일어나는 핫 데이터를 저장함으로써, 캐싱된 데이터를 효율적으로 활용한다. 또한 캇 데이터, 콜드 데이터를 구분함으로써, 핫 데이터를 분산 캐싱 서버(300)에 오래 상주할 수 있게 하였다.
분산 캐싱 서버(300)에 데이터를 쓸 경우 일관성 문제가 발생할 수 있다. 그러나 클라우드 스토리지는 데이터의 쓰기 연산보다 읽기 연산이나 데이터의 추가 연산이 많다. 그러므로 약간의 데이터 손실이나 일관성 문제를 허용하면서 성능상의 이점을 얻기 위하여 본 발명의 일실시예는 사후 쓰기 정책(Write-Back Cache)를 사용한다.
본 발명의 일실시예는 데이터 전송시 클라우드 스토리지에서 공유되는 캐시 메모리를 고려하여 데이터를 병렬로 전송한다. 이때 공유 자원을 고려하여 설계된 프로토콜을 사용할 수 있다. 전송할 데이터를 32개의 블록으로 나누고, 클라이언트(400)와 분산 캐싱 서버(300)간에 32개의 TCP 병렬 커넥션을 맺으며, 각 커넥션간 하나의 슬라이딩 윈도우를 통해 데이터를 전송한다.
도면은 종래 기술과 본 발명을 비교 분석한 표이다.
각 기술의 오버 헤드의 원인을 살펴보면, NFS의 경우 통신 프로토콜이 무겁다는 오버헤드가 존재하며, SAN은 프로토콜의 오버헤드는 적지만 스토리지 확장시 확장 비용이 급증한다는 단점이 있다. DFS는 응답 지연 시간, 전송 시간 등의 오버헤드가 존재한다. 본 발명의 경우, 분산 캐싱 서버(300)의 페이지 캐시를 관리하기 위해 블룸 필터를 생성하고 관리하는 비용이 든다.
네트워크 측면을 살펴보면, NFS의 경우 대량의 클러스터 운영시 병목 현상이 발생할 수 있다. DFS는 데이터의 요청이 한곳으로 집중될 경우 병목 현상이 발생할 수 있다. 반면 본 발명은 입력 요청을 스토리지 서버(100)와 분산 캐싱 서버(300)로 분산시켜 병목 현상을 방지한다.
전송 통신 프로토콜의 경우, 각각 GridFTP, SCSI, FCP 등의 프로토콜을 사용하며, 본 발명의 일실시예의 경우 기존의 GridFTP와 SMB를 이용하여 클라우드 스토리지 시스템(10) 내의 공유되는 캐시 메모리를 고려한 병렬 데이터 전송을 제공한다.
도 9는 본 발명에 따른 클라우드 스토리지 시스템의 성능을 표로 도시하고 있다.
표는 메모리 접근 시간, 디스크 접근 시간, 네트워크 속도, 캐시 적중 비율 등을 나타내고 있다. 각 변수를 비율로 환산하면, [원거리 통신망 속도]와 [근거리 통신망 속도]는 6.7:1의 값을 가지며, [디스크 접근 시간]과 [메모리 접근 시간]은 1333.4:1의 비율을 가진다.
[수식1]
[일반적 클라우드 성능]= 2 x [원거리 통신망 속도] + [근거리 통신망 속도] + [디스크 접근 시간]
위 수식은 일반적인 분산 컴퓨팅 환경에서 클라이언트가 마스터 서버로 데이터를 요청한 시점부터 완료까지의 총 비용을 의미한다. 클라이언트는 원거리 통신망을 거쳐 마스터 서버로 데이터를 요청하며, 마스터 서버는 같은 근거리 통신망에 존재하는 스토리지 서버로 데이터를 요청한다. 이는 스토리지 서버에 존재하는 디스크에서 데이터를 찾으며, 원거리 통신망을 거쳐 클라이언트로 데이터를 전송하는 비용을 나타낸다.
[수식2]
[본 발명의 클라우드 성능] = ([일반적 클라우드 성능] + 2 x [근거리 통신망 속도]) x [캐시 미스율] + ( 2 x [근거리 네트워크 속도] + [메모리 접근 시간]) x [캐시 히트율]
위 수식은 본 발명의 일실시예에서 데이터를 요청할 때 산출되는 비용이다. 분산 캐싱 서버(300)에 데이터를 요청하였지만 존재하지 않을 경우, 분산 캐싱 서버(300)의 데이터 요청 비용과 [일반적 클라우드 성능]의 비용을 합산한 비용을 나타낸다. 만약 데이터가 존재할 경우 캐시 메모리에 존재하는 데이터 접근 시간이 추가된다. 이 비용은 분산 캐싱 서버(300)의 캐시 메모리 적중률([캐시 히트율])과 비례하여 각 수식에 [캐시 히트율]을 통해 [본 발명의 클라우드 성능]의 총 데이터 요청 비용을 나타낸다.
[수식3]
[일반적 클라우드 성능] >= [본 발명의 클라우드 성능]
예를 들어, 수식 1의 [일반적 클라우드 성능]을 표의 값으로 계산할 경우, 1347.8의 비용이 들며, 수식 2의 [본 발명의 클라우드 성능]의 경우 97.226의 비용이 산출된다. 따라서, 본 발명을 이용하여 데이터를 더 적은 비용으로 송수신 가능하며, 성능을 향상시킬 수 있음을 알 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10: 클라우드 스토리지 시스템
100: 스토리지 서버
200: 마스터 서버
300: 분산 캐싱 서버
400: 클라이언트

Claims (5)

  1. 클라우드 스토리지 시스템에 있어서,
    데이터를 저장하는 하나 이상의 스토리지 서버;
    상기 스토리지 서버와 동일한 근거리 통신망에 있으며, 상기 스토리지 서버에 저장되어 있는 데이터를 기초로 클라이언트의 요청을 수행하는 마스터 서버;
    클라이언트와 동일한 근거리 통신망에 있으며, 상기 마스터 서버가 전송한 데이터 중 상기 클라이언트에서 자주 접근되는 데이터를 저장하는 하나 이상의 분산 캐싱 서버;를 포함하되,
    상기 클라이언트는 상기 분산 캐싱 서버에 자신이 접근하려는 데이터가 있는지 여부를 블룸 필터(Bloom filter)를 통해 확인하는 클라우드 스토리지 시스템.
  2. 제 1 항에 있어서,
    상기 분산 캐싱 서버는 자신과 같은 근거리 통신망에 있는 클라이언트의 데이터 요청에 대해 동일한 데이터가 중복 캐싱되지 않도록 관리하는 클라우드 스토리지 시스템.
  3. 제 1 항에 있어서,
    상기 분산 캐싱 서버는 캐시 데이터에 대한 접근 횟수를 관리하여, 상기 접근 횟수가 높은 캐시 데이터에 우선 순위를 두어 저장하는 클라우드 스토리지 시스템.
  4. 제 1 항에 있어서,
    상기 분산 캐싱 서버에 클라이언트가 접근하려는 데이터가 있을 경우, 상기 클라이언트는 상기 분산 캐싱 서버로부터 상기 데이터를 수신하는 클라우드 스토리지 시스템.
  5. 제 1 항에 있어서,
    상기 분산 캐싱 서버에 클라이언트가 접근하려는 데이터가 없을 경우, 상기 분산 캐싱 서버는 상기 마스터 서버로부터 상기 데이터를 수신하여 캐싱하고, 상기 클라이언트는 상기 분산 캐싱 서버로부터 상기 데이터를 수신하는 클라우드 스토리지 시스템.
KR1020120111854A 2012-10-09 2012-10-09 클라우드 스토리지 시스템 KR20140045738A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120111854A KR20140045738A (ko) 2012-10-09 2012-10-09 클라우드 스토리지 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120111854A KR20140045738A (ko) 2012-10-09 2012-10-09 클라우드 스토리지 시스템

Publications (1)

Publication Number Publication Date
KR20140045738A true KR20140045738A (ko) 2014-04-17

Family

ID=50653039

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120111854A KR20140045738A (ko) 2012-10-09 2012-10-09 클라우드 스토리지 시스템

Country Status (1)

Country Link
KR (1) KR20140045738A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160067289A (ko) * 2014-12-03 2016-06-14 충북대학교 산학협력단 분산 파일 시스템에서 소형 파일에 대한 접근성 향상을 위한 캐시 관리 시스템
KR20200116679A (ko) * 2019-04-02 2020-10-13 (주)레몬클라우드 이기종 장치 간 데이터를 동기화하는 방법 및 시스템
CN112818019A (zh) * 2021-01-29 2021-05-18 北京思特奇信息技术股份有限公司 一种应用于Redis客户端的查询请求过滤方法及Redis客户端

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160067289A (ko) * 2014-12-03 2016-06-14 충북대학교 산학협력단 분산 파일 시스템에서 소형 파일에 대한 접근성 향상을 위한 캐시 관리 시스템
KR20200116679A (ko) * 2019-04-02 2020-10-13 (주)레몬클라우드 이기종 장치 간 데이터를 동기화하는 방법 및 시스템
CN112818019A (zh) * 2021-01-29 2021-05-18 北京思特奇信息技术股份有限公司 一种应用于Redis客户端的查询请求过滤方法及Redis客户端
CN112818019B (zh) * 2021-01-29 2024-02-02 北京思特奇信息技术股份有限公司 一种应用于Redis客户端的查询请求过滤方法及Redis客户端

Similar Documents

Publication Publication Date Title
US11200332B2 (en) Passive distribution of encryption keys for distributed data stores
US6556998B1 (en) Real-time distributed file system
US20040139167A1 (en) Apparatus and method for a scalable network attach storage system
EP2062123B1 (en) Automatic load spreading in a clustered network storage system
US11561930B2 (en) Independent evictions from datastore accelerator fleet nodes
US7194656B2 (en) Systems and methods for implementing content sensitive routing over a wide area network (WAN)
US7840618B2 (en) Wide area networked file system
US20040030731A1 (en) System and method for accessing files in a network
US10783121B2 (en) Techniques for optimizing data flows in hybrid cloud storage systems
CN106648464B (zh) 基于云存储的多节点混合块缓存数据读写方法及系统
JP2013541788A (ja) データ記憶システムに用いるエンドポイントキャッシュ
CN104811493A (zh) 一种网络感知的虚拟机镜像存储系统及读写请求处理方法
US10909143B1 (en) Shared pages for database copies
US20150106468A1 (en) Storage system and data access method
KR20140045738A (ko) 클라우드 스토리지 시스템
US10445296B1 (en) Reading from a site cache in a distributed file system
CN109002260A (zh) 一种缓存数据的处理方法和处理系统
US20140280689A1 (en) Content Centric Networking
GB2356473A (en) A distributed file system using autonomous disks
CN110633256A (zh) 一种分布式集群系统中Session会话的共享方法
Chen et al. A greedy approach for caching in distributed data stores
US10936494B1 (en) Site cache manager for a distributed file system
Nakagawa et al. Jobcast—Parallel and distributed processing framework Data processing on a cloud style KVS database
US20220182384A1 (en) Multi-protocol lock manager for distributed lock management
Youn et al. Cloud computing burst system (CCBS): for exa-scale computing system

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid