KR20190049071A - 클라우드 스토리지 서비스 제공 방법 - Google Patents

클라우드 스토리지 서비스 제공 방법 Download PDF

Info

Publication number
KR20190049071A
KR20190049071A KR1020170144516A KR20170144516A KR20190049071A KR 20190049071 A KR20190049071 A KR 20190049071A KR 1020170144516 A KR1020170144516 A KR 1020170144516A KR 20170144516 A KR20170144516 A KR 20170144516A KR 20190049071 A KR20190049071 A KR 20190049071A
Authority
KR
South Korea
Prior art keywords
host
file
file block
hosts
zone
Prior art date
Application number
KR1020170144516A
Other languages
English (en)
Other versions
KR101999772B1 (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 KR1020170144516A priority Critical patent/KR101999772B1/ko
Publication of KR20190049071A publication Critical patent/KR20190049071A/ko
Application granted granted Critical
Publication of KR101999772B1 publication Critical patent/KR101999772B1/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/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • 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/13File access structures, e.g. distributed indices

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 하나의 파일을 복수의 파일 블록으로 분할하고 분산 배치된 복수의 호스트 간 파일 블록을 교환하는 로직을 수행할 수 있는 클라우드 스토리지 서비스 제공 방법에 관한 것이다. 본 발명의 일 실시예에 따른 클라우드 스토리지 서비스 제공 방법은, 사용자 단말이 제1 존에 포함된 복수의 호스트 중 요청 파일이 분할된 복수의 파일 블록 중 제1 파일 블록을 저장한 제1 호스트에 접속하는 단계; 상기 제1 호스트가 상기 복수의 파일 블록 중 상기 제1 파일 블록을 제외한 나머지 적어도 하나의 제2 파일 블록 각각을 상기 복수의 호스트 중 대응되는 제2 호스트 각각에 요청하고 수신하는 단계; 상기 각각의 제2 호스트 중 제2-1 호스트에서 대응되는 상기 제2 파일 블록이 퍼지된 경우, 상기 제2-1 호스트가 제2 존 내에서 상기 제2-1 호스트에 대응하는 호스트로 상기 대응되는 제2 파일 블록을 요청하는 단계; 상기 제2-1 호스트에 대응하는 호스트가 상기 대응되는 제2 파일 블록을 보유한 경우, 상기 제2-1 호스트가 상기 제2-1 호스트에 대응하는 호스트로부터 상기 대응되는 제2 파일 블록을 수신하는 단계; 상기 제1 호스트가 상기 제2-1 호스트부터 상기 대응되는 제2 파일 블록을 수신하는 단계; 및 상기 제1 호스트가 상기 제1 파일 블록 및 상기 적어도 하나의 제2 파일 블록 각각을 조합하여 상기 요청 파일을 생성하고, 상기 사용자 단말로 전송하는 단계를 포함할 수 있다.

Description

클라우드 스토리지 서비스 제공 방법{PROVIDING METHOD OF CLOUD STORAGE SERVICE}
본 발명은 하나의 파일을 복수의 파일 블록으로 분할하고 분산 배치된 복수의 호스트 간 파일 블록을 교환하는 로직을 수행할 수 있는 클라우드 스토리지 서비스 제공 방법에 관한 것이다.
네트워크의 기술 발전에 따라, 각 단말의 독립적인 하드웨어 성능에 의존하던 기존의 환경은 네트워크상의 모든 자원을 활용하여 단말의 요청에 따라 해당 서비스를 제공하는 클라우드 스토리지 시스템 형태로 진화하고 있다. 최근 인터넷 환경에서 원격으로 유비쿼터스 데이터에 접속하는 것을 가능하게 하는 Amazon Glacier, Google Drive, Microsoft SkyDrive 등과 같은 많은 클라우드 스토리지 시스템들이 서비스되고 있다.
클라우드 스토리지 시스템은 서버 클러스터를 기반으로, 저장된 데이터를 복사하는 미러링(mirroring) 기법을 이용하여 높은 데이터 복구율을 보장한다. 여기서 데이터 복구율이란 데이터를 저장하는 사용자가 원하는 시점에 자신의 데이터를 성공적으로 에러 없이 되찾는 것을 의미한다. 그러나 클라우드 스토리지 시스템에서는 모든 데이터가 서버에 저장되기 때문에 저장된 사용자의 데이터가 제3의 사용자 또는 관리자에게 노출될 우려가 있다. 따라서 데이터 프라이버시는 클라우드 스토리지에서 가장 중요하게 해결해야 하는 문제 중 하나이다.
또한, 스토리지 사용자가 증가함에 따라 클라우드 스토리지 시스템의 스토리지 자원은 끊임없이 증가하고, 모든 데이터는 원본 그대로 서버에 저장되기 때문에 스토리지 시스템의 과부하로 인하여 낮은 다운로드 속도를 가지게 된다. 스토리지 시스템의 과부하를 방지하기 위하여 일정한 주기로 일부 데이터를 일괄 퍼지(purge)하지만, 사용자가 보유하는 데이터에 대한 히트수를 고려하지 아니하여 사용자의 불만이 초래되고 있는 실정이다.
이에 본 발명은 하나의 파일을 복수의 파일 블록으로 분할하고 분산 배치된 복수의 호스트 간 파일 블록을 교환하는 로직을 수행할 수 있는 클라우드 스토리지 서비스 제공 방법을 제공하는데 그 목적이 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 과제를 해결하기 위해 본 발명의 일 실시예에 따른 클라우드 스토리지 서비스 제공 방법은, 사용자 단말이 제1 존에 포함된 복수의 호스트 중 요청 파일이 분할된 복수의 파일 블록 중 제1 파일 블록을 저장한 제1 호스트에 접속하는 단계; 상기 제1 호스트가 상기 복수의 파일 블록 중 상기 제1 파일 블록을 제외한 나머지 적어도 하나의 제2 파일 블록 각각을 상기 복수의 호스트 중 대응되는 제2 호스트 각각에 요청하고 수신하는 단계; 상기 각각의 제2 호스트 중 제2-1 호스트에서 대응되는 상기 제2 파일 블록이 퍼지된 경우, 상기 제2-1 호스트가 제2 존 내에서 상기 제2-1 호스트에 대응하는 호스트로 상기 대응되는 제2 파일 블록을 요청하는 단계; 상기 제2-1 호스트에 대응하는 호스트가 상기 대응되는 제2 파일 블록을 보유한 경우, 상기 제2-1 호스트가 상기 제2-1 호스트에 대응하는 호스트로부터 상기 대응되는 제2 파일 블록을 수신하는 단계; 상기 제1 호스트가 상기 제2-1 호스트부터 상기 대응되는 제2 파일 블록을 수신하는 단계; 및 상기 제1 호스트가 상기 제1 파일 블록 및 상기 적어도 하나의 제2 파일 블록 각각을 조합하여 상기 요청 파일을 생성하고, 상기 사용자 단말로 전송하는 단계를 포함할 수 있다.
본 발명의 적어도 일 실시예에 의하면, 다음과 같은 효과가 있다.
데이터를 분할하여 저장하기 때문에 데이터 프라이버시가 향상될 수 있고, 분할된 파일 블록은 호스트간 교환에 의하여 이루어지므로 일반적인 스토리지 시스템에 비하여 더 높은 다운로드 속도를 가질 수 있다.
게다가 분할된 파일 블록을 복수의 호스트로 분산 배치 함에 따라 디스크 사용률이 최소화되고 일부 데이터가 일괄 퍼지 될 가능성이 감소할 수 있다. 그리고 스코어 알고리즘에 따라 낮은 스코어를 갖는 파일 블록 순으로 퍼지 하므로 사용자의 선호도가 고려될 수 있다.
아울러, 호스트가 새로 추가되거나 제거되는 경우에도 최소한의 변화로 파일 블록을 재배치하므로 스토리지 시스템의 효율적인 관리가 가능할 수 있다.
도 1은 사용자가 파일을 업로드 하는 경우 클라우드 스토리지 서비스 시스템에 저장되는 방법을 나타내는 일례이다.
도 2는 할당된 호스트에 복수 개의 파일 블록을 분산하여 배치하는 일례를 나타낸다.
도 3은 사용자가 파일을 다운로드 하는 경우 클라우드 스토리지 서비스 시스템으로부터 분할된 복수 개의 파일 블록파일을 조합하기 위하여 필요한 구성을 나타내는 일례이다.
도 4는 사용자가 파일을 다운로드 받기 위하여 마이 존에 위치한 블록 오너 호스트에 요청하고, 복수 개의 파일 블록들을 조합하여 하나의 파일을 생성하는 방법을 나타내는 일례이다.
도 5a는 동일 레벨 또는 상위 레벨의 존 내에서 복수 개의 호스트 및 복수 개의 파일 블록들이 배치되는 구조에 관한 일례를 나타낸다.
도 5b는 새로운 호스트가 추가되는 경우 복수 개의 호스트 및 복수 개의 파일들이 재배치되는 구조에 관한 일례를 나타낸다.
도 5c는 기존의 호스트가 삭제되는 경우 복수 개의 호스트 및 복수 개의 파일들이 재배치되는 구조에 관한 일례를 나타낸다.
도 6은 복수 개의 호스트 각각이 가상의 호스트를 더 포함하고 일부 호스트가 삭제되는 경우, 각각의 호스트에 파일 블록들이 재배치되는 일례를 나타낸다.
도 7은 복수 개의 호스트 각각이 가상의 호스트를 더 포함하고 일부 호스트가 추가되는 경우, 각각의 호스트에 파일 블록들이 재배치되는 일례를 나타낸다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
도 1은 본 발명의 일 실시예에 따른, 클라우드 센터 서버(130)가 단말(110a, 110b)로부터 수신한 파일을 복수 개의 파일 블록으로 분할하고, 분할된 파일 블록에 호스트를 할당하여 복수의 존(130, 140, 150)에 분산 저장하는 방법을 설명하는 일례를 나타낸다.
도 1은 사용자가 파일을 업로드하는 경우 클라우드 스토리지 서비스 시스템에 저장되는 방법을 나타내는 일례이다.
본 명세서의 클라우드 스토리지 서비스 시스템은 사용자 단말(110a, 110b), 네트워크망(120) 및 복수의 호스트를 논리적으로 그룹핑하는 복수의 존(130, 140, 150)으로 구성될 수 있다.
하나의 존은 하나 이상의 동등한 레벨의 존을 가질 수 있으며, 하나 이상의 상위 레벨의 존을 가질 수 있다.
예컨대, 제1 존과 제2 존이 동일 레벨이라 가정하면, 제1 존은 사용자의 단말이 속하는 '마이 존(my zone; 140)'이라 칭할 수 있고, 제1 존의 관점에서 제2 존은 제1 존의 '피어 존(peer zone; 150)'이라 칭할 수 있다. 또한, 제3 존이 제1 존과 제2 존의 상위 레벨이라 가정하면, 제1 존과 제2 존의 관점에서 제3 존은 제1 존과 제2 존의 '업스트림 존(upstream zone; 130)'이라 칭할 수 있다.
본 명세서에서 기술되는 단말(110a, 110b)은 스마트 폰(smart phone), 태블릿 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기(110a)는 물론, 스마트 TV(Smart TV), 데스크탑 컴퓨터 등과 같은 고정 단말기(110b)가 사용될 수도 있다.
이러한 본 발명의 단말(110a, 110b)은 디지털 기기의 컨버전스(convergence) 추세에 따라 휴대 기기의 변형이 매우 다양하여 모두 열거할 수는 없으나, 상기 언급된 유닛들과 동등한 수준의 유닛이 본 발명에 따른 단말(110a, 110b)로 사용될 수도 있으며, 네트워크망(120)을 통해 클라우드 센터 서버(130)가 제공하는 데이터를 수신할 수 있는 장치라면 그 어떠한 장치도 본 발명의 단말(110a, 110b)로 적용 가능하다.
본 발명의 실시 예에 따른 네트워크망(120)은 단말(110a, 110b)과 업스트림 존(130) 간, 업스트림 존(130)과 마이 존(140) 간(미도시), 마이 존(140)과 피어 존(150) 사이(미도시)를 연결하여 데이터를 전달하기 위한 구성으로서, 다양한 형태의 통신망으로 구현될 수 있다.
예컨대, WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 통신 방식 또는 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coaxial Cable), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신 방식을 이용할 수 있다. 또한, 상술한 통신 방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
업스트림 존(130)은 네트워크망(120)을 통해 단말(110a, 110b)로부터 적어도 하나의 파일 전체를 수신하고, 수신한 파일 전체를 복수 개의 파일 블록으로 분할하여 저장할 수 있다.
본 발명의 실시예에 따른 업스트림 존(130)은 수신부(132), 파일 블럭 생성부(134), 호스트 할당부(136) 및 송신부(138)를 포함하여 구성될 수 있다.
수신부(132)는 네트워크망(120)을 통해 단말(110a, 110b)로부터 파일을 수신한다. 여기서 수신한 파일은 사용자가 최초에 업로드한 원본 파일일 수 있으며, 업스트림 존(130)은 사용자가 업로드한 모든 파일을 보유하기 때문에 오리지널 백업 서버로서의 역할을 수행할 수 있다.
파일 블록 생성부(134)는 수신한 파일을 분할하여 복수 개의 파일 블록을 생성하고, 복수 개의 파일 블록 중 적어도 하나의 블록을 암호화할 수도 있다.
한편, 복수 개의 파일 블록은 가변적인 블록 사이즈를 기준으로 분할될 수 있다. 예를 들어, 복수 개의 파일 블록 각각은 8K, 512K 및 4M 중 적어도 하나의 블록 사이즈를 포함할 수 있으며, 파일 전체의 사이즈에 따라 적합한 블록 사이즈가 선택된다. 고정적인 블록 사이즈가 아닌 가변적인 블록 사이즈를 기준으로 파일을 분할할 경우, 후술하는 복수 개의 호스트 각각이 보유하는 파일 블록의 사이즈가 균등하게 배분될 수 있고, 블록 사이즈가 너무 적을 경우 파일 블록의 개수 증가로 인한 시스템 과부하 문제를 미연에 방지할 수 있다.
호스트 할당부(136)는 복수 개의 호스트를 할당하고, 파일 블록 생성부(134)로부터 분할된 복수 개의 파일 블록을 각각의 호스트에 분산하여 배치할 수 있다. 이때, 각각의 호스트에 복수 개의 파일 블록을 분산하여 배치하기 위하여 mod 함수를 이용한 부하 분산 방법을 적용할 수 있다. 여기서, 복수 개의 호스트 각각은 서버를 포함하여 구성될 수 있다.
이러한 부하 분산 방법을 적용한 호스트 분산 배치는 도 2에서 보다 명확히 드러난다.
도 2는 할당된 호스트에 복수 개의 파일 블록을 분산하여 배치하는 일례를 나타낸다.
파일 블록 생성부(134)를 통해 하나의 파일이 4개의 파일 블록으로 분할되고, 호스트 할당부(136)를 통해 3개의 호스트가 할당된 경우를 가정하여 설명하기로 한다. 이는 예시적인 것으로 구체적인 호스트 및 파일 블록의 개수는 이에 한정되지 아니함은 통상의 기술자에게 자명하다.
하나의 파일(210)은 파일 블록 생성부를 통해 제1 내지 제4 파일 블록(220)으로 분할된다. 이때, 할당된 호스트는 3개이며 mod 3을 적용할 경우 파일 블록 1(221)과 파일 블록 4(224)는 제1 호스트(231)로, 파일블록 2(222)는 제2 호스트(232)로, 파일블록 3(223)은 제3 호스트(233)로 분산되어 배치될 수 있다. 여기서, 제1 파일 블록(221)은 특정 파일에 대한 헤더 정보 또는 식별 정보가 담겨있을 수 있다.
전술한 바와 같이, 하나의 파일 전체를 부하 분산 방법에 의해 할당된 호스트를 통해 처리할 수 경우, 임의의 호스트에 트래픽이 집중되는 것을 방지할 수 있고, 호스트 자원의 효율성을 증대할 수 있다. 또한, 사용자가 증가함에 따라 기존의 시스템에 영향 없이 자원을 확장할 수도 있다.
다시 도 1로 돌아와서, 송신부(138)는 호스트 할당부(136)로부터 할당된 복수 개의 호스트 및 각각의 호스트에 대응되는 복수 개의 파일 블록을 마이 존(140)으로 전송할 수 있다.
마이 존(140)은 업스트림 존(130)으로부터 할당된 복수 개의 호스트 및 각각의 호스트에 대응되는 복수 개의 파일 블록을 수신 및 저장할 수 있다.
이때, 마이 존(140)은 사용자 또는 디스크 사용률의 증가로 인하여 호스트에 과부하가 발생할 경우, 복수 개의 파일 블록 각각에 대한 스코어를 산출하여 스코어가 낮은 파일 블록 순서로 퍼지(purge)할 수 있다. 여기서, 퍼지(purge)는 호스트에 저장된 파일 블록을 삭제하는 것을 말한다.
동일 레벨 또는 상위 레벨의 존에 포함되는 복수 개의 호스트 간에는 매칭 관계가 존재하여 매칭되는 호스트끼리는 동일한 파일 블록을 퍼지(purge)할 때까지 보유하게 된다.
피어 존(150)은 업스트림 존(140)으로부터 복수 개의 호스트 및 각각의 호스트에 대응되는 복수 개의 파일 블록을 수신 및 저장하고, 마이 존(140)에 저장된 복수 개의 파일 블록 중 일부 또는 전부가 퍼지될 경우에 파일을 에러 없이 되찾을 수 있는 백업 역할을 할 수 있다.
상술한 바와 같이, 마이 존(140)과 피어 존(150)은 업스트림 존(130)의 하위 레벨에 해당한다. 그리고 피어 존(150)은 마이 존(140)의 동일 레벨에 해당하므로, 마이 존(140)과 피어 존(150) 간의 네트워크 속도는 업스트림 존(130)과 마이 존(140) 간의 네트워크 속도에 비하여 현저히 증가할 수 있다.
이하, 도 3 및 도 4를 참조하여 사용자가 클라우드 스토리지 서비스 시스템으로부터 파일을 다운로드 하는 경우, 분할된 복수 개의 파일 블록을 조합하여 파일을 생성하는 일례에 대하여 설명하기로 한다.
도 3은 사용자가 파일을 다운로드 하는 경우 클라우드 스토리지 서비스 시스템으로부터 분할된 복수 개의 파일 블록파일을 조합하기 위하여 필요한 구성을 나타내는 일례이다.
설명의 편의를 위해 마이 존(330)과 피어 존(340)은 3개의 호스트 및 4개의 파일 블록으로 구성된다고 가정한다. 다만, 이는 예시적인 것으로 구체적인 호스트 및 파일 블록의 개수는 이에 한정되지 아니함은 통상의 기술자에게 자명하다.
동일 레벨 또는 상위 레벨의 존에 포함되는 복수의 호스트 간에는 매칭 관계가 존재하여 매칭되는 호스트끼리는 동일한 파일 블록을 퍼지할 때까지 보유하게 된다.
한편, 사용자는 단말(310a, 310b)로부터 네트워크망(320)을 통해 마이 존(330)의 복수 개의 호스트 중 블록 오너(block owner)에 해당하는 호스트에 특정 파일을 요청할 수 있다.
블록 오너(block owner)는 복수 개의 파일 블록 중 특정 파일에 대한 헤더 정보 또는 식별 정보가 담겨있는 제1 파일 블록을 가지고 있는 호스트로 정의할 수 있다. 이때, 제1 파일 블록은 블록 오너(block owner)에 해당하는 호스트가 사용자의 특정 파일에 대한 요청을 수신하기 위하여 퍼지(purge)되지 아니하고 호스트 내에 존재할 수 있다.
상술한 복수 개의 호스트 및 파일 블록의 분산 배치 방식에 의할 경우 제1 파일 블록은 제1 호스트에 배치될 수 있으므로, 이하에서는 마이 존(330)의 복수 개의 호스트 중 블록 오너(block owner)에 해당하는 호스트를 제1-1 호스트라고 가정한다.
제1-1 호스트(332)는 사용자로부터 특정 파일에 대한 요청을 수신할 경우, 복수 개의 파일 블록을 탐색하는 동작이 수행된다.
파일 블록을 탐색하는 동작은 다음과 같다.
마이 존(330)의 제1-1 호스트(332)는 마이 존(330) 내의 다른 호스트에 대하여 파일 블록의 보유 여부를 문의할 수 있다.
또한, 마이 존(330)의 복수 개의 호스트(332, 334, 336) 중 적어도 하나가 자신의 파일 블록을 보유하고 있지 않는 경우, 피어 존(330)의 복수 개의 호스트(342, 344, 346) 중 대응되는 호스트에 대하여 파일 블록의 보유 여부를 문의할 수 있고, 이러한 문의 동작에 대하여 마이 존(330)의 복수 개의 호스트(332, 334, 336)는 각각 독립적으로 구동될 수 있다.
이때, 피어 존(340)의 해당 호스트에 파일 블록이 존재한다면 제1-1 호스트(332)에 응답하고 해당 파일 블록을 저장할 수 있다.
반면에 피어 존(340)의 해당 호스트에 파일 블록이 존재하지 않는다면 상위 레벨에 해당하는 업스트림 존(미도시)의 복수 개의 호스트 중 대응되는 호스트에 대하여 파일 블록의 보유 여부를 문의하고, 그 이후의 응답 및 저장은 상술한 과정과 동일하게 수행될 수 있다.
이하에서는 파일 블록을 탐색하는 동작에 대하여 도 3 및 도 4를 함께 참조하여 자세히 설명하기로 한다.
도 4는 사용자가 파일을 다운로드 받기 위하여 마이 존에 위치한 블록 오너 호스트에 요청하고, 복수 개의 파일 블록들을 조합하여 하나의 파일을 생성하는 방법을 나타내는 일례이다.
도 3에 도시된 마이 존(330)의 제1-1 호스트(332)만 제1 파일 블록(332-1)을 보유하고 제1-1 내지 제3-1 호스트(332, 334, 336)의 제2 내지 제4 파일 블록(334-1, 336-1, 332-2)은 퍼지(purge)된 상태로 가정한다. 한편, 피어 존(340)의 제1-2 호스트(342)는 제1 및 제4 파일 블록(342-1, 342-2)을, 제2-2 호스트(344)는 제2 파일 블록(344-1)을, 제3-2 호스트(346)는 제3 파일 블록(346-1)을 보유할 수 있다.
동일한 레벨의 존에 포함되는 복수의 호스트 간에는 매칭 관계가 존재하여 매칭되는 호스트끼리는 동일한 파일 블록을 퍼지할 때까지 보유하게 된다.
도 3에는 마이 존(330)과 피어 존(340)에 속하는 복수의 호스트가 보유하는 복수의 파일 블록에 대하여 참조부호를 달리하여 도시하고 있지만, 매칭되는 호스트-예를 들면, 제1-1 호스트(332)와 제1-2 호스트(342), 제2-1 호스트(334)와 제2-2 호스트(344), 제3-1 호스트(336)와 제3-2 호스트(346) 간에는 매칭 관계가 존재함- 끼리는 동일한 파일 블록을 보유한다고 가정한다.
우선, 사용자는 특정 파일을 다운로드 받기 위하여 제1-1 호스트(332)에 특정 파일에 대한 다운로드 요청을 할 수 있다(S410).
다운로드 요청을 수신한 제1-1 호스트(332)는 마이 존(330) 내의 제2-1 및 제3-1 호스트(334, 336)에 대하여 제2 및 제3 파일 블록(334-1, 336-1)을 보유하고 있는지 여부를 문의할 수 있다(S421, S422).
제2-1 및 제3-1 호스트(334, 336)의 제2 및 제3 파일 블록(334-1, 336-1)은 퍼지(purge)되어 존재하지 아니하므로, 제2-1 호스트(334)는 제2-2 호스트(344)에 대하여 제2 파일 블록(344-1)이 존재하는지 여부를, 제3-1 호스트(336)는 제3-2 호스트(346)에 대하여 제3 파일 블록(346-1)이 존재하는지 여부를 각각 문의할 수 있다(S431, S432). 또한, 제1-1 호스트(332)는 제1-2 호스트(342)에 대하여 제4 파일 블록(344-2)이 존재하는지 여부를 문의할 수 있다(S433).
피어 존(340)의 제2-2 및 제3-2 호스트(344, 346)는 제2 및 제3 파일 블록(344-1, 346-1)을, 제1-2 호스트(342)는 제4 파일 블록(342-2)을 각각 보유하고 있으므로, 제2-1 및 제3-1 호스트(334, 336)는 제2-2 및 제3-2 호스트(344, 346)로부터 제2 및 제3 파일 블록(344-1, 346-1)을 전송 받고(S441, S442), 제1-1 호스트(332)는 제1-2 호스트(342)로부터 제4 파일 블록(342-2)을 전송 받아(S443), 제1-1 호스트(332)에 응답(S451, S452)한 이후 제2 내지 제4 파일 블록(344-1, 346-1, 342-2)을 제1-1 호스트(332)에 저장할 수 있다(S461, S462, S463).
이후, 제1-1 호스트(332)는 저장된 제1 내지 제4 파일 블록을 조합하여 파일을 생성하고(S470), 단말(310a, 310b)로 파일을 전송할 수 있다(S480).
한편, 마이 존(330)은 특정 디스크의 사용률이 임계치에 도달하게 되면 복수 개의 파일 블록 각각에 대한 스코어를 산출하여 스코어가 낮은 파일 블록 순서로 퍼지(purge)할 수 있다.
스코어를 산출하는 알고리즘은 다음과 같다.
예를 들면, 사용자가 마이 존(330)에 특정 파일을 요청하기 위하여 최초 접속하는 경우 24시간을 분 단위로 환산한 값의 절반인 720을 최초 스코어로 제공할 수 있다.
이때, 기존의 스코어를 제1 값, 이후 사용자가 마이 존(330)에 특정 파일을 요청한 접속시간에서 직전 접속시간을 감하여 산출된 접속 간격을 분 단위로 환산한 스코어를 제2 값, 최종 스코어를 제3 값이라고 가정할 때, 제3 값은 다음과 같이 산출될 수 있다.
제2 값이 24시간을 분 단위로 환산한 값인 1440 미만인 경우에는 1440에서 제2 값을 감한 값을 제1 값과 합산하여 제3 값을 산출할 수 있다.
반면에, 제2 값이 1440을 초과하는 경우에는 제1 값에서 제2 값을 감하여 제3 값을 산출할 수 있다.
여기서, 24시간은 퍼지(purge) 대상이 되는 파일이더라도 추후에 사용자로부터 요청될 수 있는 사정을 고려하여 마이 존(330) 내에 복수 개의 파일 블록들을 저장하는 기 설정된 시간일 수 있다. 다만, 이는 예시적인 것으로 구체적인 시간은 이에 한정되지 아니함은 통상의 기술자에게 자명하다.
상술한 바와 같이, 최종 스코어는 사용자가 특정 파일에 접속하는 간격을 고려하여 산출되고, 사용자의 접속 간격에 의하여 히트수가 고려될 수 있으므로, 하나의 파일을 일괄 퍼지하는 경우보다 히트율을 높일 수 있는 서비스를 제공할 수 있다.
한편, 피어 존(350)은 복수 개의 존을 포함할 수 있다. 마이 존(340) 내의 제1-1 호스트는 복수 개의 호스트(342, 344, 346)에 저장된 복수 개의 파일 블록들이 퍼지로 인하여 존재하지 않을 경우, 해당 파일 블록들을 탐색하기 위하여 기 설정된 탐색 조건을 수행하여 동일 레벨에 해당하는 복수 개의 피어 존(미도시) 또는 상위 레벨에 해당하는 업스트림 존(미도시) 중 어느 하나를 선택할 수 있다.
기 설정된 탐색 조건은 다음과 같다.
(1) Speed; 복수의 피어 존 또는 업스트림 존 중 파일 블록이 전송되는 속도가 가장 빠른 존으로 탐색하는 조건
(2) Random; 복수의 피어 존 또는 업스트림 존을 임의적으로 선택하여 탐색하는 조건
(3) Standby; 복수의 피어 존 또는 업스트림 존을 순차적으로 탐색하되 연결에 실패한 경우에만 다음의 존으로 탐색하는 조건
(4) Round robin; 복수의 피어 존 또는 업스트림 존을 교번순으로 탐색하는 조건
다음으로, 마이 존 또는 피어 존 내에서 구성되는 복수 개의 호스트 및 복수 개의 파일 블록들은 순환식 구조로 배치될 수 있다.
이에 관한 자세한 설명은 도 5a 내지 5c를 참조하여 설명하기로 한다.
도 5a 내지 5c는 동일 레벨 또는 상위 레벨의 존 내에서 복수 개의 호스트 및 복수 개의 파일 블록들이 배치되는 구조에 관한 일례를 나타낸다.
설명의 편의를 위해 마이 존 또는 피어 존은 3개의 호스트 및 8개의 파일 블록으로 구성된다고 가정한다. 다만, 이는 예시적인 것으로 구체적인 호스트 및 파일 블록의 개수는 이에 한정되지 아니함은 통상의 기술자에게 자명하다.
본 발명의 일 실시예에 따른 복수 개의 호스트 및 복수 개의 파일 블록들은 일방향으로 순환되는 고리형 구조로 배치되고, 여기서 일방향은 시계방향인 것으로 가정한다. 순차적이며 순환적인 배치 순번을 가지는 복수 개의 호스트에 복수 개의 파일 블록이 배치될 수 있다.
상술한 바와 같이, 각각의 호스트에 복수 개의 파일 블록을 분산하여 배치하기 위하여 mod 함수를 이용한 부하 분산 방법을 적용할 경우, 제1 호스트(510)에는 제1 파일 블록(521), 제4 파일 블록(522) 및 제7 파일 블록(523)이 배치되고, 제2 호스트(530)에는 제2 파일 블록(541), 제5 파일 블록(542) 및 제8 파일 블록(543)이 배치되며, 제3 호스트(550)에는 제3 파일 블록(561) 및 제6 파일 블록(562)이 배치될 수 있다.
한편, mod 함수를 이용하여 각각의 호스트에 복수 개의 파일 블록들을 분산 배치하는 경우에는 호스트가 새로 추가되거나 시스템 장애로 인해 기존의 호스트가 삭제되는 등으로 호스트의 개수가 변함에 따라 복수 개의 파일 블록들이 새로운 위치에 재배치될 수 있다. 이와 같이 호스트의 개수가 변할 때 마다 모든 파일 블록들을 재배치할 경우, 시스템 전체의 성능은 크게 저하될 수 있다.
상술한 문제점을 해소하기 위하여, 본 발명의 일 실시예에 따른 복수 개의 호스트 및 복수 개의 파일 블록들은 일방향으로 순환되는 고리형 구조로 배치될 수 있다. 이에 대하여 도 5b 내지 도 5c를 참조하여 자세히 설명하기로 한다.
도 5b는 새로운 호스트가 추가되는 경우 복수 개의 호스트 및 복수 개의 파일들이 재배치되는 구조에 관한 일례를 나타낸다.
복수의 호스트에 특정 순번을 가진 새로운 호스트가 추가되면, 특정 순번의 다음 순번의 호스트에 배치된 복수의 파일 블록의 일부가 재배치될 수 있다. 예를 들어, 도 5a와 비교할 때 새로운 제4 호스트(570)가 추가되면 인접한 제1 호스트(510)에는 제1 파일 블록이 재배치되고, 제4 호스트(570)에는 제4 파일 블록(522) 및 제7 파일 블록(523)이 재배치될 뿐, 제2 및 제3 호스트(530, 550)는 기존과 동일한 파일 블록들이 배치될 수 있다.
도 5c는 기존의 호스트가 삭제되는 경우 복수 개의 호스트 및 복수 개의 파일들이 재배치되는 구조에 관한 일례를 나타낸다.
복수의 호스트 중 특정 순번을 가진 호스트가 제거되면, 특정 순번의 다음 순번의 호스트에 복수의 파일 블록이 재배치될 수 있다. 예를 들어, 도 5a와 비교할 때 기존의 제3 호스트(550)가 삭제되면 제1 호스트(510)에는 제1 파일 블록(521), 제4 파일 블록(522), 제7 파일 블록(523), 제3 파일 블록(561) 및 제6 파일 블록(562)이 재배치되지만, 제3 호스트(530)는 기존과 동일한 파일 블록들이 배치될 수 있다.
이러한 고리형 구조에 호스트 및 파일 블록이 배치될 경우, 모든 파일 블록들이 아닌 일부 파일 블록들에 대해서만 위치를 재배치할 수 있으므로 시스템 변동이 성능에 영향을 크게 미치지 않을 수 있다.
하지만, 도 5b 내지 5c에 도시된 바와 같이, 일방향으로 순환되는 고리형 구조에 호스트 및 파일 블록들이 배치될 경우 각각의 호스트에 파일 블록들이 균등하게 배분되지 않을 수 있다. 각각의 호스트에 배치된 파일 블록들이 불균등하게 배분될 경우 캐쉬(cache)의 효율이 저하될 수 있다.
본 발명의 일 실시예에 따르면, 각 호스트간 파일 블록의 불균등 문제를 해소하기 위하여 가상의 호스트를 둘 수 있다.
이에 관한 자세한 설명은 도 6 내지 도 7을 참조하여 설명하기로 한다.
도 6은 복수 개의 호스트 각각이 가상의 호스트를 더 포함하고 일부 호스트가 삭제되는 경우, 각각의 호스트에 파일 블록들이 재배치되는 일례를 나타낸다.
설명의 편의를 위해 마이 존 또는 피어 존은 3개의 호스트 및 8개의 파일 블록으로 구성되고, 각각의 호스트는 2개의 가상 호스트를 포함한다고 가정한다. 다만, 이는 예시적인 것으로 구체적인 호스트, 가상 호스트 및 파일 블록의 개수는 이에 한정되지 아니함은 통상의 기술자에게 자명하다.
본 발명의 일 실시예에 따르면, 제1 호스트(610)는 제1-1 및 제1-2 가상 호스트(611, 612)를 더 포함하고, 제2 호스트(630)는 제2-1 및 제2-2 가상 호스트(631, 632)를 더 포함하며, 제3 호스트(650)는 제3-1 및 제3-2 가상 호스트(651, 652)를 더 포함할 수 있다.
제1-1 및 제1-2 가상 호스트(611, 612)를 더 포함하는 제1 호스트(610)에는 제1 파일 블록 및 제6 파일 블록이 배치되고, 제2-1 및 제2-2 가상 호스트(631, 632)를 더 포함하는 제2 호스트(630)에는 제2 파일 블록, 제4 파일 블록 및 제8 파일 블록이 배치되며, 제3-1 및 제3-2 가상 호스트(651, 652)를 더 포함하는 제3 호스트(650)에는 제3 파일 블록, 제4 파일 블록 및 제5 파일 블록이 배치될 수 있다.
한편, 제3-1 및 제3-2 가상 호스트(651, 652)를 더 포함하는 제3 호스트(650)가 삭제되는 경우, 제1-1 및 제1-2 가상 호스트(611, 612)를 더 포함하는 제1 호스트(610)에는 제1 파일 블록, 제4 파일 블록, 제5 파일 블록 및 제6 파일 블록이 재배치되고, 제2-1 및 제2-2 가상 호스트(631, 632)를 더 포함하는 제2 호스트(630)에는 제2 파일 블록, 제3 파일 블록, 제7 파일 블록 및 제8 파일 블록이 재배치될 수 있다.
이를 도 5c와 비교하여 살펴보면, 복수 개의 호스트 각각이 가상의 호스트를 더 포함할 경우 일부 호스트가 시스템 장애 또는 클라우드 서비스 제외 등으로 인하여 삭제되더라도 각각의 호스트마다 파일 블록들이 균등하게 배분되는 효과를 가질 수 있다.
한편, 도 7은 복수 개의 호스트 각각이 가상의 호스트를 더 포함하고 일부 호스트가 추가되는 경우, 각각의 호스트에 파일 블록들이 재배치되는 일례를 나타낸다.
설명의 편의를 위해 마이 존 또는 피어 존은 2개의 호스트 및 8개의 파일 블록으로 구성되고, 각각의 호스트는 2개의 가상 호스트를 포함한다고 가정한다. 다만, 이는 예시적인 것으로 구체적인 호스트, 가상 호스트 및 파일 블록의 개수는 이에 한정되지 아니함은 통상의 기술자에게 자명하다.
본 발명의 일 실시예에 따르면, 제1 호스트(710)는 제1-1 및 제1-2 가상 호스트(711, 712)를 더 포함하고, 제2 호스트(730)는 제2-1 및 제2-2 가상 호스트(731, 732)를 더 포함할 수 있다.
제1-1 및 제1-2 가상 호스트(711, 712)를 더 포함하는 제1 호스트(710)에는 제1 파일 블록, 제3 파일 블록, 제4 파일 블록 및 제6 파일 블록이 배치되고, 제2-1 및 제2-2 가상 호스트(731, 732)를 더 포함하는 제2 호스트(730)에는 제2 파일 블록, 제5 파일 블록, 제7 파일 블록 및 제8 파일 블록이 배치될 수 있다.
한편, 제3-1 및 제3-2 가상 호스트(751, 752)를 더 포함하는 제3 호스트(750)가 추가되는 경우, 제1-1 및 제1-2 가상 호스트(711, 712)를 더 포함하는 제1 호스트(710)에는 제1 파일 블록 및 제4 파일 블록이 재배치되고, 제2-1 및 제2-2 가상 호스트(731, 732)를 더 포함하는 제2 호스트(730)에는 제2 파일 블록, 제5 파일 블록 및 제8 파일 블록이 재배치되며, 제3-1 및 제3-2 가상 호스트(751, 752)를 더 포함하는 제3 호스트(750)에는 제1 파일 블록, 제6 파일 블록 및 제7 파일 블록이 재배치될 수 있다.
이를 도 5b와 비교하여 살펴보면, 복수 개의 호스트 각각이 가상의 호스트를 더 포함할 경우 일부 호스트가 추가되더라도 각각의 호스트마다 파일 블록들이 균등하게 배분되는 효과를 가질 수 있다.
상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (10)

  1. 사용자 단말이 제1 존에 포함된 복수의 호스트 중 요청 파일이 분할된 복수의 파일 블록 중 제1 파일 블록을 저장한 제1 호스트에 접속하는 단계;
    상기 제1 호스트가 상기 복수의 파일 블록 중 상기 제1 파일 블록을 제외한 나머지 적어도 하나의 제2 파일 블록 각각을 상기 복수의 호스트 중 대응되는 제2 호스트 각각에 요청하고 수신하는 단계;
    상기 각각의 제2 호스트 중 제2-1 호스트에서 대응되는 상기 제2 파일 블록이 퍼지된 경우, 상기 제2-1 호스트가 제2 존 내에서 상기 제2-1 호스트에 대응하는 호스트로 상기 대응되는 제2 파일 블록을 요청하는 단계;
    상기 제2-1 호스트에 대응하는 호스트가 상기 대응되는 제2 파일 블록을 보유한 경우, 상기 제2-1 호스트가 상기 제2-1 호스트에 대응하는 호스트로부터 상기 대응되는 제2 파일 블록을 수신하는 단계;
    상기 제1 호스트가 상기 제2-1 호스트부터 상기 대응되는 제2 파일 블록을 수신하는 단계; 및
    상기 제1 호스트가 상기 제1 파일 블록 및 상기 적어도 하나의 제2 파일 블록 각각을 조합하여 상기 요청 파일을 생성하고, 상기 사용자 단말로 전송하는 단계를 포함하는, 클라우드 스토리지 서비스 제공 방법.
  2. 제1 항에 있어서,
    상기 제2 존은 상기 제1 존의 동일 레벨인 존 또는 상위 레벨인 존 중 적어도 어느 하나를 포함하는, 클라우드 스토리지 서비스 제공 방법.
  3. 제1 항에 있어서,
    상기 제1 호스트에 상기 제1 파일 블록 외에 상기 적어도 하나의 제2 파일 블록 중 어느 하나가 더 할당되되, 상기 할당된 제2 파일 블록이 상기 제1 호스트에서 퍼지된 경우,
    상기 제1 호스트는 상기 제2 존 내에 상기 제1 호스트에 대응하는 호스트에 상기 할당된 제2 파일 블록을 요청하는 단계; 및
    상기 제1 호스트에 대응하는 호스트가 상기 할당된 제2 파일 블록을 보유하는 경우, 상기 제1 호스트는 상기 제1 호스트에 대응하는 호스트로부터 상기 할당된 제2 파일 블록을 수신하고 저장하는 단계를 더 포함하는, 클라우드 스토리지 서비스 제공 방법.
  4. 제1 항에 있어서,
    상기 제2 존은 복수의 존을 포함하고,
    상기 제1 호스트는 기 설정된 탐색 조건을 수행하여 상기 복수의 존 중 어느 하나를 선택하는 단계를 더 포함하고,
    상기 대응되는 제2 파일 블록을 요청하는 단계는, 상기 선택된 제2 존 내에서 상기 제2-1 호스트에 대응하는 호스트로 상기 대응되는 제2 파일 블록을 요청하는 단계를 포함하는, 클라우드 스토리지 서비스 제공 방법.
  5. 제4 항에 있어서,
    상기 기 설정된 탐색 조건은,
    상기 복수의 존 중 파일 블록이 전송되는 속도가 가장 빠른 존으로 탐색하는 조건;
    상기 복수의 존을 임의적으로 선택하여 탐색하는 조건;
    상기 복수의 존을 순차적으로 요청하되 연결에 실패한 경우에만 다음의 존으로 탐색하는 조건; 및
    상기 복수의 존을 교번순으로 탐색하는 조건 중 적어도 어느 하나를 포함하는, 클라우드 스토리지 서비스 제공 방법.
  6. 제1 항 또는 제3 항에 있어서,
    상기 복수의 파일 블록 중 상기 제1 파일 블록을 제외한 나머지 적어도 하나의 제2 파일 블록은 상기 사용자 단말로부터 상기 요청 파일에 대한 접속 간격을 고려하여 산출된 스코어가 낮은 순으로 퍼지되는 단계를 더 포함하는, 클라우드 스토리지 서비스 제공 방법.
  7. 제1 항 또는 제3 항에 있어서,
    순차적이며, 순환적인 배치 순번을 가지는 상기 복수의 호스트에 상기 복수의 파일 블록이 분산되어 배치되는, 클라우드 스토리지 서비스 제공 방법.
  8. 제7 항에 있어서,
    상기 복수의 호스트 중 특정 순번을 가진 호스트가 제거되면, 상기 특정 순번의 다음 순번의 호스트에 복수의 파일 블록이 재배치되는, 클라우드 스토리지 서비스 제공 방법.
  9. 제7 항에 있어서,
    상기 복수의 호스트에 특정 순번을 가진 새로운 호스트가 추가되면, 상기 특정 순번의 다음 순번의 호스트에 배치된 복수의 파일 블록 중 일부가 재배치되는, 클라우드 스토리지 서비스 제공 방법.
  10. 제7 항 내지 제 9항 중 적어도 어느 한 항에 있어서,
    상기 복수의 호스트는 복수의 가상 호스트를 더 포함하는, 클라우드 스토리지 서비스 제공 방법.
KR1020170144516A 2017-11-01 2017-11-01 클라우드 스토리지 서비스 제공 방법 KR101999772B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170144516A KR101999772B1 (ko) 2017-11-01 2017-11-01 클라우드 스토리지 서비스 제공 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170144516A KR101999772B1 (ko) 2017-11-01 2017-11-01 클라우드 스토리지 서비스 제공 방법

Publications (2)

Publication Number Publication Date
KR20190049071A true KR20190049071A (ko) 2019-05-09
KR101999772B1 KR101999772B1 (ko) 2019-07-12

Family

ID=66545757

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170144516A KR101999772B1 (ko) 2017-11-01 2017-11-01 클라우드 스토리지 서비스 제공 방법

Country Status (1)

Country Link
KR (1) KR101999772B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101195123B1 (ko) * 2009-10-15 2012-10-29 주식회사 클루넷 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법
JP2014010465A (ja) * 2012-06-27 2014-01-20 International Business Maschines Corporation 複数のストレージ・クラウドから実体ファイルを格納するためのストレージ・クラウドを選択する方法、並びにそのコンピュータ及びコンピュータ・プログラム
KR20140045013A (ko) * 2012-10-05 2014-04-16 삼성전자주식회사 Api 정보를 이용한 클라우드 디스플레이 화면의 부호화 방법 및 그 장치
KR20150107062A (ko) * 2014-03-13 2015-09-23 한국과학기술연구원 클라우드 서비스를 이용하는 데이터 통신 장치 및 그것의 데이터 처리 방법
KR20170028194A (ko) 2015-09-03 2017-03-13 에스케이텔레콤 주식회사 컨텐츠 이용 방법 및 이를 위한 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101195123B1 (ko) * 2009-10-15 2012-10-29 주식회사 클루넷 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법
JP2014010465A (ja) * 2012-06-27 2014-01-20 International Business Maschines Corporation 複数のストレージ・クラウドから実体ファイルを格納するためのストレージ・クラウドを選択する方法、並びにそのコンピュータ及びコンピュータ・プログラム
KR20140045013A (ko) * 2012-10-05 2014-04-16 삼성전자주식회사 Api 정보를 이용한 클라우드 디스플레이 화면의 부호화 방법 및 그 장치
KR20150107062A (ko) * 2014-03-13 2015-09-23 한국과학기술연구원 클라우드 서비스를 이용하는 데이터 통신 장치 및 그것의 데이터 처리 방법
KR20170028194A (ko) 2015-09-03 2017-03-13 에스케이텔레콤 주식회사 컨텐츠 이용 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
KR101999772B1 (ko) 2019-07-12

Similar Documents

Publication Publication Date Title
Peng et al. VDN: Virtual machine image distribution network for cloud data centers
US9100904B2 (en) Data stream division to increase data transmission rates
US9888062B2 (en) Distributed storage system including a plurality of proxy servers and method for managing objects
CN107278365B (zh) 用于可扩展的对等匹配的设备
KR101628985B1 (ko) 송신된 데이터와 수신된 데이터의 우선 순위 레벨들에 따라 피어들 사이의 데이터 송신을 관리하는 방법 및 연관된 관리 디바이스
EP2824872B1 (en) Host providing system and communication control method
JP2013525931A (ja) コンテンツ配信に利用される動的バインド
US9229762B2 (en) Host providing system and host providing method
CN108055338B (zh) 一种iscsi访问负载均衡方法
Yu et al. Proof of ownership in deduplicated cloud storage with mobile device efficiency
JP2016116184A (ja) 網監視装置および仮想ネットワーク管理方法
US7739364B2 (en) Method and apparatus for dynamically reconfiguring a server system
KR20130130295A (ko) 단말을 서버에 할당하고 단말로의 효율적인 메시징을 위한 시스템 및 방법
US11979335B2 (en) Network controller
US20070294379A1 (en) Integrated access management of element management systems
US9544371B1 (en) Method to discover multiple paths to disk devices cluster wide
KR101999772B1 (ko) 클라우드 스토리지 서비스 제공 방법
CN112422611B (zh) 基于分布式对象存储的虚拟桶存储处理方法和系统
KR101342258B1 (ko) 분산 데이터 관리 시스템 및 그 방법
CN109347991B (zh) 文件分发方法、装置、设备及介质
US11283716B2 (en) Asymmetric Logical Unit Access path distribution system
KR101382177B1 (ko) 동적 메시지 라우팅 시스템 및 방법
KR20130060563A (ko) 가상 네트워크 할당 시스템 및 방법
CN103179218A (zh) 一种为云电脑分配ip地址的方法和系统
KR101340440B1 (ko) 무선 네트워크 시스템 및 무선 네트워크 시스템을 이용한 콘텐츠 제공 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant