KR20200101501A - 대다수의 클라우드 스토리지 서비스를 합치는 가상적인 파일 시스템 - Google Patents

대다수의 클라우드 스토리지 서비스를 합치는 가상적인 파일 시스템 Download PDF

Info

Publication number
KR20200101501A
KR20200101501A KR1020190011443A KR20190011443A KR20200101501A KR 20200101501 A KR20200101501 A KR 20200101501A KR 1020190011443 A KR1020190011443 A KR 1020190011443A KR 20190011443 A KR20190011443 A KR 20190011443A KR 20200101501 A KR20200101501 A KR 20200101501A
Authority
KR
South Korea
Prior art keywords
cloud storage
information
file system
api
database
Prior art date
Application number
KR1020190011443A
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 KR1020190011443A priority Critical patent/KR20200101501A/ko
Publication of KR20200101501A publication Critical patent/KR20200101501A/ko

Links

Images

Classifications

    • 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/25Integrating or interfacing systems involving database management systems
    • 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/188Virtual file systems

Landscapes

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

Abstract

다수의 클라우드 스토리지 서비스를 통합하는 가상 파일 시스템이 개시된다. 가상 파일 시스템은 클라우드 스토리지들의 open API 정보를 저장하는 API 데이터베이스, 클라우드 스토리지들의 상태 정보를 저장하는 스토리지 상태 데이터베이스, 클라우드 스토리지들의 메타데이터(meta-data)를 저장하는 메타데이터 데이터베이스, 사용자 요구를 수신하고, 스토리지 상태 데이터베이스 및 메타데이터 데이터베이스를 참조하여, 사용자 요구에 적합한 클라우드 스토리지를 선택하는 클라우드 스토리지 할당부 및 클라우드 스토리지 할당부가 선택한 클라우드 스토리지의 open API 정보를 API 데이터베이스에서 독출하여 사용자 요구를 클라우드 스토리지의 open API로 변환하여 선택된 클라우드 스토리지로 전달하는 API 매핑부를 포함하여 구성될 수 있다.

Description

대다수의 클라우드 스토리지 서비스를 합치는 가상적인 파일 시스템{Virtual File System integrating multiple Cloud Storage Services}
본 발명은 파일 시스템(file system)에 관한 것으로, 더욱 상세하게는 개방형 API(open API)를 지원하는 다수의 클라우드 스토리지 서비스를 POSIX(Portable Operating System Interface) 인터페이스에 매핑하여 다수의 클라우드 스토리지를 통합된 하나의 파일 시스템 환경으로 제공할 수 있도록 하는 방법 및 파일 시스템에 관한 것이다.
상용 클라우드(cloud) 스토리지 서비스 벤더는 자사의 서비스 이용을 위해 사용자에게 브라우징 프로그램을 제공하는데 크게 3가지 유형으로 나눌 수 있다.
3가지 유형은 별도의 프로그램 설치 없이 웹 브라우저 상에서 동작하는 웹 인터페이스, 모바일 단말기에서 접근할 수 있는 앱, 사용자의 PC에 설치해서 일반적인 로컬 스토리지의 파일 탐색기와 동일한 인터페이스로 사용할 수 있도록 해주는 마운트(mount) 또는 동기화(synchronization) 프로그램을 포함한다.
또한, 대다수의 상용 클라우드 스토리지 서비스는 사용자 또는 제3의 서비스를 제공하고자 하는 기업이 자사의 서비스를 이용하는 어플리케이션을 개발할 때 사용할 수 있도록 개방형 API(Open Application Programming Interface)를 제공한다. Open API는 일반적으로 XML, JSON 데이터 포맷으로 REST나 SOAP 인터페이스를 통해 통신하도록 한다. 이러한 Open API는 기본적으로 클라우드 스토리지에 파일을 저장(upload)하고, 저장되어 있는 파일을 열어보거나(download), 새로운 폴더를 생성(create)하고, 파일 및 폴더를 삭제(delete)하는 기능을 제공한다. 또한 저장된 폴더나 파일의 생성일자, 크기 등의 정보(metadata)를 알아볼 수 있는 기능도 제공하며, 서비스에 따라 확장된 기능을 제공한다.
사용자 PC에 설치해서 사용하는 마운트 또는 동기화 프로그램의 경우 POSIX 인터페이스를 클라우드 스토리지 서비스의 Open API와 맵핑시켜 동작한다. 즉, 사용자가 로컬 스토리지의 특정 파일을 클라우드 스토리지로 복사할 경우 POSIX 인터페이스의 open, read, write, release 시스템 콜을 해당 클라우드 서비스의 API 중 upload로 변환해서 클라우드 스토리지 서버로 요청하는 형태로 동작한다.
그러나, 하나 이상의 클라우드 스토리지 서비스를 사용할 경우, 각 서비스 별 전용 브라우징 프로그램을 통해 개별적으로 사용 및 관리해야 한다. 예를 들어 두 개의 서로 다른 클라우드 스토리지 서비스 A, B를 이용하고 있는 경우, A에 있는 파일을 B로 복사하거나 이전하고자 할 때, 서비스 A의 브라우징 프로그램을 실행시켜 로컬 스토리지에 다운로드 받은 다음 서비스 B의 브라우징 프로그램을 통해 업로드해야 하는 불편함이 있다.
즉, 클라우드 스토리지 서비스 간의 직접적인 데이터의 이동 및 복제가 불가능하며 이를 수행하기 위해서는 반드시 사용자가 수동적으로 다운로드와 업로드 과정을 수행해야 하는 불편이 따른다. 그리고 사용자가 직접 다운로드와 업로드를 수행할 때, 각 서비스의 여유 공간, 업로드/다운로드 성능 등을 확인해야 한다.
또한, 전용 브라우징 프로그램 중 동기화 프로그램을 이용할 경우 클라우드 스토리지에 데이터가 저장된 공간만큼 로컬에도 동일한 크기의 저장 공간이 필요한 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 다수의 클라우드 스토리지를 통합하여 하나의 통합된 가상 파일 시스템 환경을 제공할 수 있도록 하는 통합 가상 파일 시스템을 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 다수의 클라우드 스토리지를 통합하여 하나의 통합된 가상 파일 시스템 환경을 제공할 수 있도록 하는 통합 가상 파일 시스템의 동작 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명은, 다수의 클라우드 스토리지(cloud storage)를 통합하여 관리하는 통합 가상 파일 시스템으로서, 상기 클라우드 스토리지들의 개방형 API(open API) 정보를 저장하는 API 데이터베이스, 상기 클라우드 스토리지들의 상태 정보를 저장하는 스토리지 상태 데이터베이스, 상기 클라우드 스토리지들의 메타데이터(meta-data)를 저장하는 메타데이터 데이터베이스, 사용자 요구를 수신하고, 상기 스토리지 상태 데이터베이스 및 메타데이터 데이터베이스를 참조하여, 상기 사용자 요구에 적합한 클라우드 스토리지를 선택하는 클라우드 스토리지 할당부 및 상기 클라우드 스토리지 할당부가 선택한 클라우드 스토리지의 개방형 API 정보를 상기 API 데이터베이스에서 독출하여 상기 사용자 요구를 상기 클라우드 스토리지의 개방형 API로 변환하여 상기 선택된 클라우드 스토리지로 전달하는 API 매핑부를 포함한 통합 가상 파일 시스템을 제공한다.
여기에서, 상기 통합 가상 파일 시스템은 상기 클라우드 스토리지들의 개방형 API 정보, 메타데이터 및 상태 정보를 수집하여 상기 API 데이터베이스, 스토리지 상태 데이터베이스 및 메타데이터 데이터베이스에 저장하는 정보 수집부를 추가로 포함할 수 있다. 이때, 상기 정보 수집부는 상기 클라우드 스토리지의 API 명세 파일(API description file)을 수신하여 상기 클라우드 스토리지의 개방형 API 정보를 수집하도록 구성될 수 있다. 이때, 상기 정부 수집부는 상기 메타데이터 및 상기 상태 정보를 요청하기 위한 각 클라우드 스토리지의 API를 상기 API 매핑부를 통해 각 클라우드 스토리지에 대해서 호출하여, 상기 메타데이터 및 상기 상태 정보를 수집하도록 구성될 수 있다.
여기에서, 상기 사용자 요구는 POSIX(Portable Operating System Interface) 규약에 기초할 수 있다.
여기에서, 상기 상태 정보는 대응되는 클라우드 스토리지의 전체용량, 사용량 및 업로드 또는 다운로드 성능 중 적어도 하나와 관련된 정보를 포함할 수 있다. 여기에서, 상기 메타데이터는 대응되는 클라우드 스토리지에 존재하는 파일 및 폴더의 명칭, 생성 및/또는 수정 일시, 크기 및 경로와 관련된 정보 중 적어도 하나를 포함할 수 있다. 여기에서, 상기 통합 가상 파일 시스템은 사용자의 파일 시스템 사용 패턴을 모니터링 하는 사용 패턴 모니터링부 및 각 클라우드 스토리지의 성능을 측정하는 성능 모니터링부를 추가로 포함하고, 상기 클라우드 스토리지 할당부는 상기 사용 패턴 모니터링부와 상기 성능 모니터링부가 제공하는 정보를 추가로 참조하여, 상기 사용자 요구에 적합한 클라우드 스토리지를 선택하도록 구성될 수 있다. 이때, 상기 클라우드 스토리지 할당부는 상기 사용 패턴 모니터링부에서 파악된 사용자 요구의 대상이 되는 파일의 접근 유형이 업로드가 많은 유형인 경우, 상기 성능 모니터링부에서 파악된 업로드 성능이 가장 우수한 클라우드 스토리지를 상기 사용자 요구에 적합한 클라우드 스토리지로 선택하도록 구성될 수 있다. 이때, 상기 클라우드 스토리지 할당부는 상기 사용 패턴 모니터링부에서 파악된 사용자 요구의 대상이 되는 파일의 접근 유형이 다운로드가 많은 유형인 경우, 상기 성능 모니터링부에서 파악된 다운로드 성능이 가장 우수한 클라우드 스토리지를 상기 사용자 요구에 적합한 클라우드 스토리지로 선택하도록 구성될 수 있다.
상기 다른 목적을 달성하기 위한 본 발명은, 다수의 클라우드 스토리지(cloud storage)를 통합하여 관리하는 통합 가상 파일 시스템의 동작 방법으로서, 상기 클라우드 스토리지들의 개방형 API(open API) 정보, 상태 정보 및 메타데이터(meta-data)를 저장하는 데이터베이스를 초기화하는 단계, 사용자의 사용 패턴과 상기 클라우드 스토리지들의 성능을 모니터링 하는 단계, 사용자 요구를 수신하고, 상기 데이터베이스에 저장된 상태 정보와 메타 데이터, 상기 모니터링된 사용 패턴 및 클라우드 스토리지들의 성능을 참조하여, 상기 사용자 요구에 적합한 클라우드 스토리지를 선택하는 클라우드 스토리지 할당 단계 및 상기 데이터베이스들에 저장된 개방형 API 정보를 참조하여, 상기 사용자 요구를 상기 사용자 요구에 적합한 클라우드 스토리지의 개방형 API로 변환하여 상기 사용자 요구에 적합한 클라우드 스토리지로 전송하고, 상기 사용자 요구에 대한 응답을 수신하는 단계를 포함한 통합 가상 파일 시스템의 동작 방법을 제공한다.
여기에서, 상기 초기화 단계는, 상기 클라우드 스토리지들의 개방형 API 정보, 메타데이터 및 상태 정보를 수집하여 상기 데이터베이스에 저장하는 정보 수집 단계를 추가로 포함할 수 있다. 이때, 상기 정보 수집 단계는 상기 클라우드 스토리지의 API 명세 파일(API description file)을 수신하여 상기 클라우드 스토리지의 개방형 API 정보를 수집하도록 구성될 수 있다. 이때, 상기 정보 수집 단계는 상기 메타데이터 및 상기 상태 정보를 요청하기 위한 각 클라우드 스토리지의 API를 각 클라우드 스토리지에 대해서 호출하여, 상기 메타데이터 및 상기 상태 정보를 수집하도록 구성될 수 있다.
여기에서, 상기 사용자 요구는 POSIX(Portable Operating System Interface) 규약에 기초할 수 있다. 여기에서, 상기 상태 정보는 대응되는 클라우드 스토리지의 전체용량, 사용량 및 업로드 또는 다운로드 성능 중 적어도 하나와 관련된 정보를 포함할 수 있다.
여기에서, 상기 메타데이터는 대응되는 클라우드 스토리지에 존재하는 파일 및 폴더의 명칭, 생성 및/또는 수정 일시, 크기 및 경로와 관련된 정보 중 적어도 하나를 포함할 수 있다.
여기에서, 상기 클라우드 스토리지 할당 단계는 상기 사용자 요구의 대상이 되는 파일의 접근 유형은 업로드가 많은 유형인 경우, 상기 모니터링 하는 단계에서 파악된 업로드 성능이 가장 우수한 클라우드 스토리지를 상기 사용자 요구에 적합한 클라우드 스토리지로 선택하도록 구성될 수 있다.
여기에서, 상기 클라우드 스토리지 할당 단계는 상기 사용자 요구의 대상이 되는 파일의 접근 유형은 다운로드가 많은 유형인 경우, 상기 모니터링 하는 단계에서 파악된 다운로드 성능이 가장 우수한 클라우드 스토리지를 상기 사용자 요구에 적합한 클라우드 스토리지로 선택하도록 구성될 수 있다.
본 발명에서 제안하는, 개방형 API를 지원하는 다수의 클라우드 스토리지 서비스와 POSIX 인터페이스를 맵핑하는 가상 파일시스템은 기존의 클라우드 스토리지 서비스를 이용할 때 사용되는 마운트 또는 동기화 프로그램이 하나의 클라우드 스토리지 서비스에만 대해서 동작하는 것과 달리 하나 이상의 클라우드 스토리지 서비스를 통합하여 단일한 가상 파일시스템 환경을 제공할 수 있다.
제안된 가상 파일 시스템은 사용자가 파일을 쓰거나 읽을 때 최적의 성능을 제공하기 위해 파일 유형별 사용자의 접근 패턴을 분석하고, 통합된 클라우드 스토리지들의 성능을 모니터링하며, 이를 기반으로 사용자가 파일쓰기를 요청했을 때 최적의 클라우드 스토리지를 자동으로 선택하여 처리한다.
도 1은 본 발명에 따른 통합 클라우드 스토리지 가상 파일 시스템의 동작 환경을 설명하기 위한 개념도이다.
도 2는 본 발명에 따른 통합 클라우드 스토리지 가상 파일 시스템의 일 실시예를 설명하기 위한 블록도이다.
도 3은 본 발명에 따른 통합 클라우드 스토리지 가상 파일 시스템의 다른 실시예를 설명하기 위한 블록도이다.
도 4는 본 발명에 따른 통합 클라우드 스토리지 가상 파일 시스템의 동작 방법을 설명하기 위한 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
통합 클라우드 스토리지 가상 파일 시스템 동작 환경
도 1은 본 발명에 따른 통합 클라우드 스토리지 가상 파일 시스템의 동작 환경을 설명하기 위한 개념도이다.
도 1을 참조하면, 다수의 클라우드 스토리지들(110, 120, 130, 140)이 존재한다. 다수의 클라우드 스토리지는 상용 클라우드 스토리지 서비스에 따른 클라우드 스토리지와 비상용 클라우드 스토리 서비스에 따른 클라우드 스토리지를 망라한다. 클라우드 스토리지들은 본 발명의 가상 파일 시스템(200)을 위하여 새롭게 구축되거나 기존의 구현이 변경될 필요는 없으며, 앞서 종래 기술에서 언급된 바와 같은 3가지 유형의 브라우징 방식들(웹 인터페이스, 전용 앱(app), 마운트(mount) 또는 동기화(synchronization) 프로그램) 중 적어도 하나의 방식에 의해서 사용자에게 서비스를 제공하도록 구성되어 있는 서비스들이다.
한편, 클라우드 스토리지들은 본 발명에 따른 가상 파일 시스템(200)이 액세스할 수 있도록 개방형 API를 제공하여야 한다. 각각의 클라우드 스토리지들이 제공하는 개방형 API는 통일된 규격을 가질 필요가 없으며 각각의 클라우드 스토리지가 고유한 개방형 API를 가질 수 있다. 클라우드 스토리지들(110, 120, 130, 140)은 인터넷(10)을 통하여 본 발명의 가상 파일 시스템(200)에 연결된다. 사용자는 로컬 컴퓨터(20)을 통하여 가상 파일 시스템(200)에 접속하고, 가상 파일 시스템은 로컬 컴퓨터(20)를 거쳐서 전달된 사용자 요구를 다수의 클라우드 스토리지들(110, 120, 130, 140) 각각의 API로 변환하여 클라우드 스토리지들에 전달하도록 구성된다. 즉, 가상 파일 시스템(200)은 로컬 컴퓨터(20)에게 하부에 존재하는 다종의 클라우드 스토리지들에 대한 추상화(abstraction)를 제공하는 것으로 이해될 수 있다.
가상 파일 시스템(200)이 존재하지 않는 종래의 환경에서는 사용자의 로컬 컴퓨터(20)가 인터넷(10)을 통하여 클라우드 스토리지들(110, 120, 130, 140)에 직접 접속하여야 한다(예컨대, 앞서 언급된 3가지 유형의 인터페이스 방식들-웹 인터페이스, 전용 앱(app), 마운트(mount) 또는 동기화(synchronization) 프로그램- 중 적어도 하나를 이용).
그러나, 본 발명의 가상 파일 시스템(200)이 이용될 경우는 로컬 컴퓨터(20)는 가상 파일 시스템이 제공하는 각각의 클라우드 스토리지들이 제공하는 스토리지들을 통합한 하나의 가상적인 통합 파일 시스템 환경(oneunified virtual file system)을 이용하는 것처럼 동작할 수 있다.
로컬 컴퓨터(20)는 PC, 노트북, 태블릿(tablet) 및 스마트 폰 등 다양한 디바이스를 망라하며, 인터넷을 통하여 클라우드 스토리지에 접속하여 클라우드 스토리지 서비스가 제공하는 파일 업로드/다운로드/동기화 등의 서비스를 이용할 수 있는 컴퓨팅 디바이스(computing device)를 의미한다.
통합 클라우드 스토리지 가상 파일 시스템 구성예
도 2는 본 발명에 따른 통합 클라우드 스토리지 가상 파일 시스템의 일 실시예를 설명하기 위한 블록도이다.
도 2를 참조하면, 본 발명에 따른 통합 클라우드 스토리지 가상 파일 시스템의 일 구성은, API 데이터베이스(211), 스토리지 상태 데이터베이스(212), 메타데이터 데이터베이스(213), 클라우드 스토리지 할당부(220) 및 API 매핑부(230)를 포함하여 구성될 수 있다.
한편, 통합 클라우드 스토리지 가상 파일 시스템은 추가적인 구성요소로서 상기 데이터베이스들(211, 212, 213)에 저장될 정보들을 수집하는 정보 수집부(240)를 구비할 수 있으며, 정보 수집부(240)의 자세한 역할은 후술된다.
먼저, 통합 클라우드 스토리지 가상 파일 시스템의 동작 중에 참조하는 정보들을 저장하고 있는 데이터베이스(210)로는 세부적으로 API 데이터베이스(211), 스토리지 상태 데이터베이스(212), 메타데이터 데이터베이스(213)를 포함할 수 있다.
API 데이터베이스(211)는 가상 파일 시스템(200)이 관리하는 다수의 클라우드 스토리지들(110, 120, 130, 140)에 대해서 클라우드 스토리지별로 서비스 이름, 업로드, 다운로드, 폴더생성, 삭제, 메타데이터 읽기 동작을 수행하기 위한 API들의 정보를 저장하고 있는 구성요소이다.
메타데이터 데이터베이스(213)는 가상 파일 시스템(200)이 관리하는 다수의 클라우드 스토리지들(110, 120,130, 140)에 대한 메타데이터(meta data)를 저장하고 있는 구성요소로서, 메타데이터란 각 클라우드 스토리지에 저장된 파일 및 폴더의 이름, 크기, 생성 및 수정 일시, 전체경로 등의 정보를 의미한다.
마지막으로, 스토리지 상태 데이터베이스(212)는 각 클라우드 스토리지의 전체용량, 사용량, 성능 정보(예컨대,업로드 속도 또는 다운로드 속도), 현재 사용가능여부 등의 상태 정보를 저장하고 있는 구성요소이다. 각 클라우드 스토리지의 사용량이나 전체 용량과 관련한 정보는 상술된 메타데이터 정보를 분석하는 것에 의해서 획득 가능한 정보이므로, 스토리지 상태 데이터베이스의 역할은 메타데이터 데이터베이스가 겸하도록 구성될 수도 있을 것이다.
여기에서, 상술된 데이터베이스들은 각각의 데이터베이스가 독립된 물리적 파일에 의하여 관리되어야 함을 의미하는 것은 아니며, 각각의 데이터베이스가 포함하고 있는 정보의 목적, 종류, 유형에 의해 편의적으로 구분한것에 불가하다. 따라서, 하나의 데이터베이스에 다른 데이터베이스에 포함된 정보를 포괄하여 저장하도록 구성된 경우도 본 발명의 범위를 벗어나지 않는 것임에 유의하여야 한다. 또한, 본 발명에서 사용되는 데이터베이스(database)라는 용어는 관계형(relational), 객체지향형(objected-oriented) 데이터베이스와 같이 엄밀한 형태의 데이터베이스를 의미하는 것이 아니라 정보를 저장하는 기능적 구성요소를 의미하는 것으로, 파일 베이스(file-base) 형태의 간단한 정보 저장 구성요소로서 구성될 수도 있다.
한편, 본 발명에 따른 통합 클라우드 스토리지 가상 파일 시스템이 초기화(initialization)될 경우에는 상기 데이터베이스들이 구축되어 있지 않은 상태일 수 있다. 따라서, 추가적인 구성요소인 정보 수집부(240)가 상기 데이터베이스들을 위한 정보를 수집하여 데이터베이스 관리 시스템(DBMS: Database Management System)을 통하여 상기 데이터베이스들을 구축하고 구축된 데이터베이스들에 수집된 정보를 적재하도록 구성될 수 있다.
정보 수집부(240)는 각 클라우드 스토리지 서비스기 제공하는 API들의 명세 파일(description file)을 읽어 API 데이터베이스(211)에 클라우드 스토리지 서비스별로 서비스 이름, 업로드, 다운로드, 폴더생성, 삭제, 메타데이터 읽기용 API 등을 등록한다. 정보 수집부(240)는 상술된 API 명세 파일 이외의 방식으로 각 클라우드 스토리지 서비스가 제공하는 API들에 대한 정보를 수집할 수도 있다.
정보 수집부(240)는 API 데이터베이스(211)에 등록된 모든 클라우드 스토리지를 대상으로 인증과정을 거친 후 메타데이터 정보(파일 및 폴더의 이름, 크기, 생성 및 수정 일시, 전체경로 등)를 모두 수집한다. 이때, 정보 수집부(240)는 메타데이터를 요청하기 위한 각 클라우드 스토리지의 API를 API 데이터베이스(211)에서 검색 후 검색된 API를 이용하여 각 클라우드 스토리지로 메타데이터를 요청하도록 구성될 수 있다.
이때, 각 클라우드 스토리지 서비스가 제공하는 메타데이터는 유사하지만 서로 다른 포맷으로 제공되는데, 이를 통합하여 하나의 메타데이터 포맷으로 만들어 메타데이터 데이터베이스(213)에 저장한다. 이때, 통합된 하나의 가상 파일시스템으로 보이기 위해서는 폴더와 폴더, 폴더와 파일 간의 포함관계를 알 수 있도록 상위 폴더의 경로도 포함한 전체 경로(unified directory)를 함께 메타데이터 데이터베이스(213)에 저장된다.
정보 수집부(240)가 메타데이터 정보를 수집하면 각 클라우드 스토리지의 상태 정보(클라우드 스토리지의 전체 용량, 사용량과 관련한 정보 등)을 알 수 있는데 이러한 정보를 스토리지 상태 데이터베이스(212)에 각 클라우드 스토리지 별로 등록하도록 구성될 수 있다.
다음으로, 클라우드 스토리지 할당부(220)는 로컬 컴퓨터(20)으로부터 사용자 요구(user request)를 수신하고, 상기 스토리지 상태 데이터베이스(212) 및 메타데이터 데이터베이스(213)를 참조하여, 상기 사용자 요구에 적합한 클라우드 스토리지를 선택하는 구성요소이다. 이때, 사용자 요구는 POSIX(Portable Operating SystemInterface) 규약에 따른 표준 인터페이스에 기초하여 작성되어 본 발명에 따른 가상 파일 시스템(구체적으로는,클라우드 스토리지 할당부(220))에 제공되도록 구성될 수 있다.
클라우드 스토리지 할당부(220)는 다양한 방식으로 사용자 요구에 적합한 클라우드 스토리지를 선택할 수 있다. 예컨대, 사용자 요구가 파일 읽기/쓰기인 경우, 메타데이터 베이스(213)를 참조하여 가상 파일 시스템이 제공하는 전체 경로 상에서 읽기/쓰기 대상 파일이 존재하는 경로를 파악하여, 해당 경로에 대응된 클라우드 스토리지를 선택할 수 있다. 그 외, 클라우드 스토리지 할당부(220)는 사용자의 이용 패턴이나 각 클라우드 스토리지의 성능 분석 결과에 기초하여 사용자 요구에 적합한 클라우드 스토리지를 선택할 수도 있으며, 이에 대해서는 추가적인 실시예로서 도 3을 통하여 후술한다.
마지막으로, API 매핑부(230)는 클라우드 스토리지 할당부로부터 사용자 요구와, 사용자 요구에 적합한 클라우드 스토리지를 지정하는 정보를 수신하여, 해당 사용자 요구를 지정된 클라우드 스토리지에 대응되는 API로 변환하여 클라우드 스토리지로 전달하고, 클라우드 스토리지로부터의 결과 응답을 수신하여 다시 클라우드 스토리지 할당부(220)로 전달하는 역할을 수행한다.
이때, API 매핑부(230)는 API 데이터베이스(211)를 참조하여, 사용자 요구(예컨대, POSIX 인터페이스 방식으로기술)를 지정된 클라우드 스토리지의 API로 매핑하고, 클라우드 스토리지의 응답을 다시 로컬 컴퓨터가 이해할 수 있는 방식(예컨대, POSIX 인터페이스 방식)으로 변환하여 클라우드 스토리지 할당부(220)를 통하여 로컬 컴퓨터(20)로 전달하도록 구성될 수 있다.
예로써, POSIX에 규정된 각각의 인터페이스는 클라우드 스토리지의 API와 일대일로 대응관계가 있을 수도 있고, 하나의 POSIX 인터페이스가 다수의 클라우드 스토리지 API를 이용하여 수행되거나, 다수의 POSIX 인터페이스가 하나의 클라우드 스토리지 API를 이용하여 수행되는 것과 같은 다양한 매핑(mapping) 관계가 존재할 수 있다. 이러한 매핑 관계 정보는 매핑 테이블(mapping table) 또는 매핑 스크립트(mapping script)로서 API 매핑부(230)가 직접 가지고 있을 수도 있고, API 데이터베이스(211)에 저장되어 있을 수도 있다.
도 3은 본 발명에 따른 통합 클라우드 스토리지 가상 파일 시스템의 다른 실시예를 설명하기 위한 블록도이다.
도 3을 참조하면, 통합 클라우드 스토리지 가상 파일 시스템의 다른 실시예는 도 2에서 예시한 통합 클라우드 스토리지 가상 파일 시스템 실시예에 추가적인 구성요소로서, 사용 패턴 모니터링부(221)와 성능 모니터링부(222)를 부가한 실시예이다.
사용 패턴 모니터링부(221)와 성능 모니터링부(222)를 제외한 나머지 구성요소들은 앞서 이미 설명된 구성요소들과 동일하므로 중복된 설명은 생략하도록 한다.
앞서 언급된 바와 같이, 클라우드 스토리지 할당부(220)는 다양한 방식으로 사용자 요구에 적합한 클라우드 스토리지를 선택할 수 있다. 따라서, 사용 패턴 모니터링부(221)와 성능 모니터링부(222)는 클라우드 스토리지 할당부(220)가 사용자 요구에 적합한 클라우드 스토리지를 선택하는 과정에서 참조할 수 있는 정보를 제공하기 위한 추가적인 구성요소들이다.
먼저, 사용 패턴 모니터링부(221)는 사용자의 파일 시스템 사용 패턴을 모니터링 하는 구성요소로서, 예컨대 사용자가 파일을 쓰거나 읽을 때 파일의 유형(문서, 멀티미디어, 일반 데이터 등)별로 읽는 횟수, 쓰는 횟수를 기록한다.
사용 패턴 모니터링부(221)는 로컬 컴퓨터(20)로부터 입력되는 사용자 요구와 로컬 컴퓨터(20)로 출력되는 사용자 요구에 대한 응답을 직접 모니터링하도록 구성될 수도 있고, 클라우드 스토리지 할당부(220)로부터 사용자 요구와 사용자 요구에 대한 응답을 간접적으로 전달받아 사용자의 이용 패턴을 분석하도록 구성될 수 있다.
다음으로, 성능 모니터링부(222)는 독립적으로 동작하며 주기적 또는 비주기적(예컨대, 사용자 요구에 의하여)으로 각 클라우드 스토리지에 특정 크기의 임시파일을 업로드, 다운로드 하면서 업로드 속도, 다운로드 속도를 측정하여 각 클라우드 스토리지의 성능(performance)를 모니터링 하는 구성요소이다. 클라우드 스토리지의 성능은 사용자가 위치한 지역과 시간대와 같은 통신 환경에 따라서 변화하는 특성을 가지므로, 성능 모니터링부는 주기적 또는 비주기적으로 각 클라우드 스토리지의 성능을 측정하여 상술된 스토리지 상태 데이터베이스에 저장하도록 구성될 수 있다.
이때, 성능 모니터링부(221)는 앞서 설명된 API 매핑부(230)를 통하여 클라우드 스토리지들(110, 120, 130,140)에 액세스한다.
클라우드 스토리지 할당부(220)가 상기 추가적인 구성요소들(사용 패턴 모니터링부와 성능 모니터링부)가 제공하는 정보를 이용하여 최적의 클라우드 스토리지를 선택하는 과정의 일예는 다음과 같이 구성될 수 있다.
사용자마다 파일에 접근하는 패턴이 다를 수 있으므로 해당 패턴에 맞게 쓰기가 많은 유형의 파일은 업로드 속도가 빠른 클라우드 스토리지로, 읽기가 많은 유형의 파일은 다운로드 속도가 빠른 클라우드 스토리지로 배치하도록 클라우드 스토리지 할당부(220)는 사용 패턴 모니터링부(221)에서 분석한 사용자 패턴 정보를 이용할 수 있다.
예컨대, 사용자가 파일을 로컬에서 가상 파일시스템으로 복사 또는 이동 할 경우, 클라우드 스토리지 할당부(220)는 해당 파일의 접근 유형을 사용 패턴 모니터링부(221)로부터 얻을 수 있다. 접근 유형은 크게 업로드가 많은 경우, 다운로드가 많은 경우, 앞의 두 경우에 해당되지 않는 즉, 업로드, 다운로드가 비슷한 경우 세 가지로 나눌 수 있다.
접근 유형이 업로드가 많은 경우, 클라우드 스토리지 할당부(220)는 성능 모니터링부(222)로부터 업로드가 가장 빠른 클라우드 스토리지에 대한 정보를 입수하고, 스토리지 상태 데이터베이스에서 해당 클라우드 스토리지의 여유 공간을 검색한다. 여유 공간이 해당 파일 크기보다 큰 경우 클라우드 스토리지 할당부(220)는 해당 클라우드 스토리지를 사용자 요구에 적합한 클라우드 스토리지로 선정하고, API 매핑부(230)를 통하여 해당 클라우드 스토리지에 대해서 사용자 요구를 처리한다. 접근 유형이 다운로드가 많은 경우, 클라우드 스토리지 할당부(220)는 성능 모니터링부(222)로부터 다운로드가 가장 빠른 클라우드 스토리지에 대한 정보를 입수하고, 스토리지 상태 데이터베이스에서 해당 클라우드 스토리 지의 여유 공간을 검색한다. 여유 공간이 해당 파일 크기보다 큰 경우 클라우드 스토리지 할당부(220)는 해당 클라우드 스토리지를 사용자 요구에 적합한 클라우드 스토리지로 선정하고, API 매핑부(230)를 통하여 해당 클라우드 스토리지에 대해서 사용자 요구를 처리한다. 접근 유형이 업로드, 다운로드가 비슷한 경우, 클라우드 스토리지 할당부(220)는 여유공간이 가장 많은 클라우드 스토리지를 사용자 요구에 적합한 클라우드 스토리지로 선정한다.
한편, 세 경우 모두에 대해, 여유 공간이 해당 파일 크기보다 작아 업로드가 불가능한 경우, 클라우드 스토리지 할당부(220)는 성능 모니터링부(222)로부터 차상위 성능의 클라우드 스토리지에 대한 정보를 입수하여 사용자 요구에 적합한 클라우드 스토리지로 선정하도록 구성될 수 있다. 통합 클라우드 스토리지 가상 파일 시스템의 동작 방법
도 4는 본 발명에 따른 통합 클라우드 스토리지 가상 파일 시스템의 동작 방법을 설명하기 위한 순서도이다.
도 4를 참조하면, 본 발명에 따른 통합 클라우드 스토리지 가상 파일 시스템의 동작 방법은 데이터베이스 초기화 단계(S410), 사용 패턴과 성능 모니터링 단계(S420), 사용자 요구에 적합한 클라우드 스토리지 선정 단계(S430), API 매핑 및 API 호출 단계(S440)를 포함하여 구성될 수 있다.
이하의 실시예 설명에서 본 발명의 가상 파일 시스템 동작 방법을 구성하는 각 단계들이 도 2및 도 3을 통하여 설명된 가상 파일 시스템의 대응되는 구성요소에서 수행되는 동작으로 이해될 수 있으나, 방법을 구성하는 각 단계들은 각 단계를 정의하는 기능 자체로서 한정되어야 한다. 즉, 각 단계를 수행하는 것으로 예시된 구성요소의 명칭에 의해서 각 단계의 수행주체가 한정되지 않음에 유의하여야 한다.
먼저, 데이터베이스 초기화 단계(S410)는 본 발명의 가상 파일 시스템에서 이용되는 정보들을 저장하는 데이터 베이스를 초기화하는 단계이다.
즉, 가상 파일시스템이 시작되면 초기화 과정을 수행하는데 각 데이터베이스의 존재여부를 확인하고 없는 경우 구축하는 과정을 수행한다. 우선 API 데이터베이스(211), 스토리지 상태 데이터베이스(212), 메타데이터 데이터 베이스(213)가 존재하는지 확인한다. 각각의 데이터베이스의 목적과 저장된 정보들의 의미는 앞서 설명되었으므로 생략한다. 데이터베이스를 초기화하는 단계에서 추가적으로 정보 수집 단계가 수행될 수 있다. 정보 수집 단계는 각 클라우드 스토리지 서비스의 API의 명세 파일(description file)을 읽어 API 데이터베이스에 클라우드 스토리지 서비스별로 서비스 이름, 업로드, 다운로드, 폴더생성, 삭제, 메타데이터 읽기 API를 API 데이터베이스(211)에 등록한다. 정보 수집 단계에서는 또한 API 데이터베이스에 등록된 모든 클라우드 스토리지를 대상으로 인증과정을 거친 후 메타데이터 정보(파일 및 폴더의 이름, 크기, 생성 및 수정 일시, 전체경로등)를 모두 수집한다. 이 과정은 메타데이터를 요청하는 API를 API 데이터베이스에서 검색 후 각 클라우드 스토리지로 요청하는 것에 의해서 수행될 수 있다.
이때, 각 클라우드 스토리지 서비스가 제공하는 메타데이터는 유사하지만 서로 다른 포맷으로 제공되는데, 이를 통합하여 하나의 메타데이터 포맷으로 만들어 메타데이터 데이터베이스에 저장한다. 이때, 통합된 하나의 가상 파일시스템으로 보이기 위해서는 폴더와 폴더, 폴더와 파일 간의 포함관계를 알 수 있도록 상위 폴더의 경로를 포함한 전체 경로(unified directory)도 함께 메타데이터 데이터베이스(213)에 저장된다. 또한, 메타데이터 정보를 수집하면 각 클라우드 스토리지의 전체용량과 사용량을 알 수 있는데 이러한 정보가 스토리지 상태 데이터 베이스(212)에 각 클라우드 스토리지 별로 등록된다.
다음으로, 사용 패턴과 성능 모니터링 단계(S420)에서는 사용자의 파일 시스템 접근 유형과 각 클라우드 스토리지의 성능을 분석하는 단계로서, 도 4의 예시와는 달리 다른 단계들과는 독립적으로 주기적 또는 비주기적으로 수행될 수 있다.
즉, 사용 패턴과 성능 모니터링 단계(S420)에서는 각 클라우드 스토리지에 특정 크기의 임시파일을 업로드, 다운로드 하면서 업로드 속도, 다운로드 속도를 측정하며, 사용자가 파일을 쓰거나 읽을 때 파일의 유형(문서, 멀티미디어, 일반 데이터 등)별로 읽는 횟수, 쓰는 횟수를 모니터링한다. 단계(S420)는 앞서 설명된 가상 파일 시스템(200)의 성능 모니터링부(211) 및 사용 패턴 모니터링부(212)에 의해서 수행될 수 있다.
다음으로, 사용자 요구에 적합한 클라우드 스토리지 선정 단계(S430)는 사용자로부터 가상 파일 시스템에 대한 사용자 요구를 수신하고, 이에 대응되는 가장 적합한 클라우드 스토리지를 선정하는 단계이다.
예컨대, 초기화 과정 이후 사용자가 통합된 가상 파일시스템의 폴더 및 파일의 탐색을 명령하면 가상 파일 시스템은 메타데이터 데이터베이스에서 해당 경로 내에 위치한 폴더 및 파일들을 검색해 보여주게 된다.
사용자는 파일을 로컬에서 가상 파일시스템으로 복사 또는 이동하는 것과 같은 사용자 요구를 가상 파일 시스템에 전달하게 되며, 단계(S430)에서는 이러한 사용자 요구를 수신하고, 사용자 요구의 대상이 되는 파일의 접근 유형을 감안하여 적합한 클라우드 스토리지를 선정한다.
이때, 모니터링 단계(S420)에서 파악한 사용자 파일 접근 유형에 기초하여 단계(S430)이 수행될 수 있다.
예컨대, 해당 파일에 대한 접근 유형이 크게 업로드가 많은 경우, 다운로드가 많은 경우, 앞의 두 경우에 해당되지 않는 즉, 업로드, 다운로드가 비슷한 경우 세 가지로 나눌 수 있다.
접근 유형이 업로드가 많은 경우, 단계(S430)에서는 업로드 성능이 가장 우수한 클라우드 스토리지를 알아내고 스토리지 상태 데이터베이스에서 해당 클라우드 스토리지의 여유 공간을 검색한다. 여유 공간이 파일 크기보다 큰 경우 해당 클라우드 스토리지를 사용자 요구에 적합한 클라우드 스토리지로 선정한다.
접근 유형이 다운로드가 많은 경우, 단계(S430)에서는 다운로드 성능이 가장 우수한 클라우드 스토리지를 알아내고 스토리지 상태 데이터베이스에서 해당 클라우드 스토리지의 여유 공간을 검색한다. 여유 공간이 파일 크기보다 큰 경우 해당 클라우드 스토리지를 사용자 요구에 적합한 클라우드 스토리지로 선정한다.
접근 유형이 업로드, 다운로드가 비슷한 경우, 단계(S430)에서는 여유공간이 가장 많은 클라우드 스토리지를 사용자 요구에 적합한 클라우드 스토리지로 선정한다.
세 경우 모두에 대해, 여유 공간이 파일 크기보다 작아 업로드 할 수 없는 경우, 단계(S430)에서는 차상위 성능의 클라우드 스토리지를 확인 후 사용자 요구에 적합한 클라우드 스토리지로 선정한다.
마지막으로, API 매핑 및 API 호출 단계(S440)에서는 단계(S430)에서 수신한 사용자 요구와, 선정된 사용자 요구에 적합한 클라우드 스토리지에 대한 정보에 기초하여, 해당 사용자 요구를 지정된 클라우드 스토리지에 대응되는 API로 변환하여 클라우드 스토리지로 전달하고, 클라우드 스토리지로부터의 결과 응답을 수신하는 과정이 수행된다.
API 매핑 및 API 호출 단계(S440)에서 수행되는 과정은 앞서 설명된 API 매핑부(230)의 설명과 동일하여 중복된 설명은 생략한다.
이후에, 사용자 요구에 대한 처리를 반영하여 변경된 메타데이터와 클라우드 스토리지의 상태를 반영하여 데이터베이스를 업데이트하고(S441), 이용 패턴과 성능을 모니터링 하는 단계(S420)부터 수행이 반복될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
20: 로컬 컴퓨터
110~140: 클라우드 스토리지
200: 가상 파일 시스템 211: API 데이터베이스,
212: 스토리지 상태 데이터베이스 213: 메타데이터 데이터베이스
220: 클라우드 스토리지 할당부
221: 사용 패턴 모니터링부
222: 성능 모니터링부
230: API 매핑부

Claims (19)

  1. 다수의 클라우드 스토리지(cloud storage)를 통합하여 관리하는 통합 가상 파일 시스템으로서,
    상기 클라우드 스토리지들의 개방형 API(open API) 정보를 저장하는 API 데이터베이스;
    상기 클라우드 스토리지들의 상태 정보를 저장하는 스토리지 상태 데이터베이스;
    상기 클라우드 스토리지들의 메타데이터(meta-data)를 저장하는 메타데이터 데이터베이스;
    사용자 요구를 수신하고, 상기 스토리지 상태 데이터베이스 및 메타데이터 데이터베이스를 참조하여, 상기 사용자 요구에 적합한 클라우드 스토리지를 선택하는 클라우드 스토리지 할당부; 및
    상기 클라우드 스토리지 할당부가 선택한 클라우드 스토리지의 개방형 API 정보를 상기 API 데이터베이스에서 독출하여 상기 사용자 요구를 상기 클라우드 스토리지의 개방형 API로 변환하여 상기 선택된 클라우드 스토리지로 전달하는 API 매핑부를 포함한 통합 가상 파일 시스템.
  2. 청구항 1에 있어서,
    상기 클라우드 스토리지들의 개방형 API 정보, 메타데이터 및 상태 정보를 수집하여 상기 API 데이터베이스, 스토리지 상태 데이터베이스 및 메타데이터 데이터베이스에 저장하는 정보 수집부를 추가로 포함하는 통합 가상 파일 시스템.
  3. 청구항 2에 있어서,
    상기 정보 수집부는 상기 클라우드 스토리지의 API 명세 파일(API description file)을 수신하여 상기 클라우드 스토리지의 개방형 API 정보를 수집하는 통합 가상 파일 시스템.
  4. 청구항 2에 있어서,
    상기 정보 수집부는 상기 메타데이터 및 상기 상태 정보를 요청하기 위한 각 클라우드 스토리지의 API를 상기 API 매핑부를 통해 각 클라우드 스토리지에 대해서 호출하여, 상기 메타데이터 및 상기 상태 정보를 수집하는 통합 가상 파일 시스템.
  5. 청구항 1에 있어서,
    상기 사용자 요구는 POSIX(Portable Operating System Interface) 규약에 기초한 통합 가상 파일 시스템.
  6. 청구항 1에 있어서,
    상기 상태 정보는 대응되는 클라우드 스토리지의 전체용량, 사용량 및 업로드 또는 다운로드 성능 중 적어도 하나와 관련된 정보를 포함하는 통합 가상 파일 시스템.
  7. 청구항 1에 있어서,
    상기 메타데이터는 대응되는 클라우드 스토리지에 존재하는 파일 및 폴더의 명칭, 생성 및/또는 수정 일시, 크기 및 경로와 관련된 정보 중 적어도 하나를 포함하는 통합 가상 파일 시스템.
  8. 청구항 1에 있어서,
    사용자의 파일 시스템 사용 패턴을 모니터링 하는 사용 패턴 모니터링부; 및
    각 클라우드 스토리지의 성능을 측정하는 성능 모니터링부를 추가로 포함하고,
    상기 클라우드 스토리지 할당부는 상기 사용 패턴 모니터링부와 상기 성능 모니터링부가 제공하는 정보를 추가로 참조하여, 상기 사용자 요구에 적합한 클라우드 스토리지를 선택하는 통합 가상 파일 시스템.
  9. 청구항 8에 있어서,
    상기 클라우드 스토리지 할당부는 상기 사용 패턴 모니터링부에서 파악된 사용자 요구의 대상이 되는 파일의 접근 유형이 업로드가 많은 유형인 경우, 상기 성능 모니터링부에서 파악된 업로드 성능이 가장 우수한 클라우드 스토리지를 상기 사용자 요구에 적합한 클라우드 스토리지로 선택하는 통합 가상 파일 시스템.
  10. 청구항 8에 있어서,
    상기 클라우드 스토리지 할당부는 상기 사용 패턴 모니터링부에서 파악된 사용자 요구의 대상이 되는 파일의 접근 유형이 다운로드가 많은 유형인 경우, 상기 성능 모니터링부에서 파악된 다운로드 성능이 가장 우수한 클라우드 스토리지를 상기 사용자 요구에 적합한 클라우드 스토리지로 선택하는 통합 가상 파일 시스템.
  11. 다수의 클라우드 스토리지(cloud storage)를 통합하여 관리하는 통합 가상 파일 시스템의 동작 방법으로서, 상기 클라우드 스토리지들의 개방형 API(open API) 정보, 상태 정보 및 메타데이터(meta-data)를 저장하는 데이터베이스를 초기화하는 단계;
    사용자의 사용 패턴과 상기 클라우드 스토리지들의 성능을 모니터링 하는 단계;
    사용자 요구를 수신하고, 상기 데이터베이스에 저장된 상태 정보와 메타 데이터, 상기 모니터링된 사용 패턴 및
    클라우드 스토리지들의 성능을 참조하여, 상기 사용자 요구에 적합한 클라우드 스토리지를 선택하는 클라우드 스토리지 할당 단계; 및
    상기 데이터베이스들에 저장된 개방형 API 정보를 참조하여, 상기 사용자 요구를 상기 사용자 요구에 적합한 클라우드 스토리지의 개방형 API로 변환하여 상기 사용자 요구에 적합한 클라우드 스토리지로 전송하고, 상기 사용자 요구에 대한 응답을 수신하는 단계를 포함한 통합 가상 파일 시스템의 동작 방법.
  12. 청구항 11에 있어서,
    상기 초기화 단계는, 상기 클라우드 스토리지들의 개방형 API 정보, 메타데이터 및 상태 정보를 수집하여 상기 데이터베이스에 저장하는 정보 수집 단계를 추가로 포함하는 통합 가상 파일 시스템의 동작 방법.
  13. 청구항 12에 있어서,
    상기 정보 수집 단계는 상기 클라우드 스토리지의 API 명세 파일(API description file)을 수신하여 상기 클라우드 스토리지의 개방형 API 정보를 수집하는 통합 가상 파일 시스템의 동작 방법.
  14. 청구항 12에 있어서,
    상기 정보 수집 단계는 상기 메타데이터 및 상기 상태 정보를 요청하기 위한 각 클라우드 스토리지의 API를 각 클라우드 스토리지에 대해서 호출하여, 상기 메타데이터 및 상기 상태 정보를 수집하는 통합 가상 파일 시스템의 동작 방법.
  15. 청구항 11에 있어서,
    상기 사용자 요구는 POSIX(Portable Operating System Interface) 규약에 기초한 통합 가상 파일 시스템의 동작 방법.
  16. 청구항 11에 있어서,
    상기 상태 정보는 대응되는 클라우드 스토리지의 전체용량, 사용량 및 업로드 또는 다운로드 성능 중 적어도 하나와 관련된 정보를 포함하는 통합 가상 파일 시스템의 동작 방법.
  17. 청구항 11에 있어서,
    상기 메타데이터는 대응되는 클라우드 스토리지에 존재하는 파일 및 폴더의 명칭, 생성 및/또는 수정 일시, 크기 및 경로와 관련된 정보 중 적어도 하나를 포함하는 통합 가상 파일 시스템의 동작 방법.
  18. 청구항 11에 있어서,
    상기 클라우드 스토리지 할당 단계는 상기 사용자 요구의 대상이 되는 파일의 접근 유형은 업로드가 많은 유형인 경우, 상기 모니터링 하는 단계에서 파악된 업로드 성능이 가장 우수한 클라우드 스토리지를 상기 사용자 요구에 적합한 클라우드 스토리지로 선택하는 통합 가상 파일 시스템의 동작 방법.
  19. 청구항 11에 있어서,
    상기 클라우드 스토리지 할당 단계는 상기 사용자 요구의 대상이 되는 파일의 접근 유형은 다운로드가 많은 유형인 경우, 상기 모니터링 하는 단계에서 파악된 다운로드 성능이 가장 우수한 클라우드 스토리지를 상기 사용자 요구에 적합한 클라우드 스토리지로 선택하는 통합 가상 파일 시스템의 동작 방법.
KR1020190011443A 2019-01-29 2019-01-29 대다수의 클라우드 스토리지 서비스를 합치는 가상적인 파일 시스템 KR20200101501A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190011443A KR20200101501A (ko) 2019-01-29 2019-01-29 대다수의 클라우드 스토리지 서비스를 합치는 가상적인 파일 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190011443A KR20200101501A (ko) 2019-01-29 2019-01-29 대다수의 클라우드 스토리지 서비스를 합치는 가상적인 파일 시스템

Publications (1)

Publication Number Publication Date
KR20200101501A true KR20200101501A (ko) 2020-08-28

Family

ID=72266004

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190011443A KR20200101501A (ko) 2019-01-29 2019-01-29 대다수의 클라우드 스토리지 서비스를 합치는 가상적인 파일 시스템

Country Status (1)

Country Link
KR (1) KR20200101501A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102550499B1 (ko) * 2022-12-15 2023-07-03 주식회사 클라우다이크 폴더 트리의 동적 프리페치 방법 및 이를 수행하기 위한 클라우드 서버

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102550499B1 (ko) * 2022-12-15 2023-07-03 주식회사 클라우다이크 폴더 트리의 동적 프리페치 방법 및 이를 수행하기 위한 클라우드 서버

Similar Documents

Publication Publication Date Title
KR101431912B1 (ko) 다수의 클라우드 스토리지 서비스를 통합하는 가상 파일 시스템
KR102541295B1 (ko) 온-디맨드 네트워크 코드 실행 시스템에서의 운영 체제 커스터마이제이션
US9952753B2 (en) Predictive caching and fetch priority
CA3027756C (en) Systems and methods for efficient distribution of stored data objects
Chandrasekar et al. A novel indexing scheme for efficient handling of small files in hadoop distributed file system
KR101373461B1 (ko) 클라우드 서비스를 이용하기 위한 단말기 및 방법
US20190087431A1 (en) Systems, methods, and apparatuses for simplifying filesystem operations utilizing a key-value storage system
US9348842B2 (en) Virtualized data storage system optimizations
US20140172783A1 (en) System and method for providing computing environment delivery service with offline operations
US20210297495A1 (en) Automatic discovery and registration of service applications for files introduced to a user interface
US20140195514A1 (en) Unified interface for querying data in legacy databases and current databases
KR101682738B1 (ko) 관리 시스템 확장성
US10289494B1 (en) Smart connector for network data management protocol (NDMP) backups
US20180267979A1 (en) Managing data storage using storage policy specifications
US10579597B1 (en) Data-tiering service with multiple cold tier quality of service levels
KR20200101501A (ko) 대다수의 클라우드 스토리지 서비스를 합치는 가상적인 파일 시스템
Parthasarathy Learning Cassandra for Administrators
CN112702421B (zh) 文件同步方法、装置、电子设备及存储介质
US12007946B2 (en) Systems and methods for managing path and file names using a universal connector
US20230273845A1 (en) File discovery on a data storage device based on a filesystem location of microservices
US10592415B2 (en) Modified consistency hashing rings for object store controlled WAN cache infrastructure
Dory Study and Comparison of Elastic Cloud Databases: Myth or Reality?
Sergey Tiered file system: Optimization of architecture and management algorithms
US9971835B2 (en) Personalized data search system and method thereof
CN117370285A (zh) 一种文件处理方法及相关装置