KR20140074608A - 다수의 클라우드 스토리지 서비스를 통합하는 가상 파일 시스템 - Google Patents

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

Info

Publication number
KR20140074608A
KR20140074608A KR1020120142754A KR20120142754A KR20140074608A KR 20140074608 A KR20140074608 A KR 20140074608A KR 1020120142754 A KR1020120142754 A KR 1020120142754A KR 20120142754 A KR20120142754 A KR 20120142754A KR 20140074608 A KR20140074608 A KR 20140074608A
Authority
KR
South Korea
Prior art keywords
cloud storage
information
user request
api
database
Prior art date
Application number
KR1020120142754A
Other languages
English (en)
Other versions
KR101431912B1 (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 KR1020120142754A priority Critical patent/KR101431912B1/ko
Priority to US14/102,306 priority patent/US9384209B2/en
Publication of KR20140074608A publication Critical patent/KR20140074608A/ko
Application granted granted Critical
Publication of KR101431912B1 publication Critical patent/KR101431912B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (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)는 가상 파일 시스템이 제공하는 각각의 클라우드 스토리지들이 제공하는 스토리지들을 통합한 하나의 가상적인 통합 파일 시스템 환경(one unified 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 System Interface) 규약에 따른 표준 인터페이스에 기초하여 작성되어 본 발명에 따른 가상 파일 시스템(구체적으로는, 클라우드 스토리지 할당부(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에 있어서,
    상기 클라우드 스토리지 할당 단계는 상기 사용자 요구의 대상이 되는 파일의 접근 유형은 다운로드가 많은 유형인 경우, 상기 모니터링 하는 단계에서 파악된 다운로드 성능이 가장 우수한 클라우드 스토리지를 상기 사용자 요구에 적합한 클라우드 스토리지로 선택하는 통합 가상 파일 시스템의 동작 방법.
KR1020120142754A 2012-12-10 2012-12-10 다수의 클라우드 스토리지 서비스를 통합하는 가상 파일 시스템 KR101431912B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120142754A KR101431912B1 (ko) 2012-12-10 2012-12-10 다수의 클라우드 스토리지 서비스를 통합하는 가상 파일 시스템
US14/102,306 US9384209B2 (en) 2012-12-10 2013-12-10 Virtual file system integrating multiple cloud storage services and operating method of the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120142754A KR101431912B1 (ko) 2012-12-10 2012-12-10 다수의 클라우드 스토리지 서비스를 통합하는 가상 파일 시스템

Publications (2)

Publication Number Publication Date
KR20140074608A true KR20140074608A (ko) 2014-06-18
KR101431912B1 KR101431912B1 (ko) 2014-09-23

Family

ID=50882174

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120142754A KR101431912B1 (ko) 2012-12-10 2012-12-10 다수의 클라우드 스토리지 서비스를 통합하는 가상 파일 시스템

Country Status (2)

Country Link
US (1) US9384209B2 (ko)
KR (1) KR101431912B1 (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101592782B1 (ko) * 2014-11-05 2016-02-12 플러스기술주식회사 전가상화 시스템에서 자원을 감시하는 장치 및 방법
KR101714412B1 (ko) * 2016-12-28 2017-03-09 주식회사 티맥스클라우드 클라우드 환경에서 데이터베이스 시스템을 구성하는 방법 및 장치
KR20190014442A (ko) * 2017-08-02 2019-02-12 한국전자통신연구원 클라우드 스토리지 서비스들을 최적화하는 방법 및 클라우드 스토리지 서비스들을 최적화하는 장치
KR20190026107A (ko) 2017-09-04 2019-03-13 김종호 외부 정보시스템의 콘텐츠 병합이 가능한 비선형 가상파일시스템 및 그 방법
US10402375B2 (en) * 2016-07-18 2019-09-03 Microsoft Technology Licensing, Llc Cloud content states framework
KR20190143521A (ko) * 2018-06-08 2019-12-31 삼성에스디에스 주식회사 스토리지 관리 장치 및 방법
KR102171436B1 (ko) * 2019-12-16 2020-10-29 주식회사 레몬헬스케어 Api 통합관리를 위한 클라우드 기반의 api 메타데이터 관리방법 및 시스템
KR102179459B1 (ko) * 2019-06-18 2020-11-16 주식회사 홍익과학기술 멀티 클라우드 통합 관리 시스템 및 그 방법
KR102223990B1 (ko) * 2019-11-20 2021-03-08 주식회사 이노그리드 가상 클라우드 서버를 이용한 위치기반 멀티클라우드 서비스 시스템 및 방법

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9535612B2 (en) 2013-10-23 2017-01-03 International Business Machines Corporation Selecting a primary storage device
US9632803B2 (en) * 2013-12-05 2017-04-25 Red Hat, Inc. Managing configuration states in an application server
US10129344B2 (en) 2014-06-19 2018-11-13 Microsoft Technology Licensing, Llc Integrated user interface for consuming services across different distributed networks
WO2016033052A1 (en) 2014-08-26 2016-03-03 Ctera Networks, Ltd. Method and system for routing data flows in a cloud storage system
US10031780B2 (en) * 2014-11-25 2018-07-24 International Business Machines Corporation Component services integration with dynamic constraint provisioning
KR101718397B1 (ko) 2015-04-20 2017-03-21 동국대학교 산학협력단 파일의 분산 저장 시스템 및 방법
US10114835B2 (en) 2015-04-29 2018-10-30 Box, Inc. Virtual file system for cloud-based shared content
EP3317998B1 (en) * 2015-07-02 2021-04-28 Leading Software Limited Resilient secret sharing cloud based architecture for data vault
US10120920B2 (en) 2015-07-10 2018-11-06 International Business Machines Corporation Increasing storage space for processes impacting data storage systems
US10809998B2 (en) 2016-02-12 2020-10-20 Nutanix, Inc. Virtualized file server splitting and merging
US20200059509A1 (en) * 2016-11-04 2020-02-20 Sony Mobile Communications, Inc. Uploading a file from a user device to a data storage service
CN106445562B (zh) * 2016-11-14 2019-11-15 用友网络科技股份有限公司 基于元数据的OpenAPI实现方法及OpenAPI实现装置
US11288239B2 (en) 2016-12-06 2022-03-29 Nutanix, Inc. Cloning virtualized file servers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
US11074220B2 (en) 2017-01-06 2021-07-27 Oracle International Corporation Consistent file system semantics with cloud object storage
US11151095B2 (en) * 2017-06-30 2021-10-19 Vmware, Inc. Cloud-scale file-based filesystem for hybrid cloud storage
US10929210B2 (en) 2017-07-07 2021-02-23 Box, Inc. Collaboration system protocol processing
US11470131B2 (en) 2017-07-07 2022-10-11 Box, Inc. User device processing of information from a network-accessible collaboration system
US10609177B2 (en) * 2018-01-31 2020-03-31 Nutanix, Inc. Consolidated cloud system for virtual machine
KR102093145B1 (ko) 2018-06-07 2020-03-25 한밭대학교 산학협력단 생체정보 인식 기반의 데이터 최적화를 위한 오브젝트 스토리지 클라우드 시스템
US11017108B2 (en) 2018-10-30 2021-05-25 International Business Machines Corporation Storage unification with security management
US11277467B1 (en) * 2019-09-30 2022-03-15 Cadence Design Systems, Inc. Method, system, and product for orchestrating uploads of very large design files to selected cloud providers in a multi-cloud arrangement
US20220407924A1 (en) * 2021-06-17 2022-12-22 Sap Se Metadata integration

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473429B2 (en) * 2008-07-10 2013-06-25 Samsung Electronics Co., Ltd. Managing personal digital assets over multiple devices
KR101626117B1 (ko) * 2009-06-22 2016-05-31 삼성전자주식회사 클라우드 스토리지를 제공하는 클라이언트, 중개 서버 및 방법
US8799322B2 (en) * 2009-07-24 2014-08-05 Cisco Technology, Inc. Policy driven cloud storage management and cloud storage policy router
KR20120061150A (ko) * 2010-10-27 2012-06-13 사단법인 한국클라우드서비스협회 클라우드 컴퓨팅 플랫폼 IaaS 개방 API
KR101328344B1 (ko) * 2011-01-24 2013-11-11 주식회사 엘지씨엔에스 이기종 가상 서버 통합 시스템 및 방법
JP5561297B2 (ja) * 2012-03-16 2014-07-30 コニカミノルタ株式会社 情報処理システム、通信端末装置、情報処理装置およびプログラム

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016072760A1 (ko) * 2014-11-05 2016-05-12 플러스기술주식회사 전가상화 시스템에서 자원을 감시하는 장치 및 방법
US10521259B2 (en) 2014-11-05 2019-12-31 Soosan Int Co., Ltd. Device and method for monitoring resources in full virtualization system
KR101592782B1 (ko) * 2014-11-05 2016-02-12 플러스기술주식회사 전가상화 시스템에서 자원을 감시하는 장치 및 방법
US10402375B2 (en) * 2016-07-18 2019-09-03 Microsoft Technology Licensing, Llc Cloud content states framework
KR101714412B1 (ko) * 2016-12-28 2017-03-09 주식회사 티맥스클라우드 클라우드 환경에서 데이터베이스 시스템을 구성하는 방법 및 장치
US10922290B2 (en) 2016-12-28 2021-02-16 Tmax Cloud Co., Ltd. Method and apparatus for organizing database system in a cloud environment
KR20190014442A (ko) * 2017-08-02 2019-02-12 한국전자통신연구원 클라우드 스토리지 서비스들을 최적화하는 방법 및 클라우드 스토리지 서비스들을 최적화하는 장치
KR20190026107A (ko) 2017-09-04 2019-03-13 김종호 외부 정보시스템의 콘텐츠 병합이 가능한 비선형 가상파일시스템 및 그 방법
KR20190143521A (ko) * 2018-06-08 2019-12-31 삼성에스디에스 주식회사 스토리지 관리 장치 및 방법
KR102179459B1 (ko) * 2019-06-18 2020-11-16 주식회사 홍익과학기술 멀티 클라우드 통합 관리 시스템 및 그 방법
KR102223990B1 (ko) * 2019-11-20 2021-03-08 주식회사 이노그리드 가상 클라우드 서버를 이용한 위치기반 멀티클라우드 서비스 시스템 및 방법
KR102171436B1 (ko) * 2019-12-16 2020-10-29 주식회사 레몬헬스케어 Api 통합관리를 위한 클라우드 기반의 api 메타데이터 관리방법 및 시스템
WO2021125779A1 (ko) * 2019-12-16 2021-06-24 주식회사 레몬헬스케어 Api 통합관리를 위한 클라우드 기반의 api 메타데이터 관리방법 및 시스템
CN114981775A (zh) * 2019-12-16 2022-08-30 柠檬医疗保健有限公司 用于api综合管理的基于云的api元数据管理方法及系统
US11842231B2 (en) 2019-12-16 2023-12-12 Lemonhealthcare Ltd Cloud-based API metadata management method and system for integrated API management
CN114981775B (zh) * 2019-12-16 2024-05-03 柠檬医疗保健有限公司 用于api综合管理的基于云的api元数据管理方法及系统

Also Published As

Publication number Publication date
US20140164449A1 (en) 2014-06-12
KR101431912B1 (ko) 2014-09-23
US9384209B2 (en) 2016-07-05

Similar Documents

Publication Publication Date Title
KR101431912B1 (ko) 다수의 클라우드 스토리지 서비스를 통합하는 가상 파일 시스템
US10296494B2 (en) Managing a global namespace for a distributed filesystem
US10013185B2 (en) Mapping systems and methods of an accelerated application-oriented middleware layer
US20230325360A1 (en) System And Method For Policy Based Synchronization Of Remote And Local File Systems
JP5439607B2 (ja) サーバ装置及びサーバ装置の制御方法
US9348842B2 (en) Virtualized data storage system optimizations
JP6357243B2 (ja) データストリーム取り込み及び永続性ポリシ
US9804928B2 (en) Restoring an archived file in a distributed filesystem
US9811532B2 (en) Executing a cloud command for a distributed filesystem
US8352431B1 (en) Fine-grain policy-based snapshots
US9852150B2 (en) Avoiding client timeouts in a distributed filesystem
TWI581102B (zh) 用於制式資料儲存的儲存媒體抽象化
US20130232215A1 (en) Virtualized data storage system architecture using prefetching agent
US8463802B2 (en) Card-based management of discardable files
KR101373461B1 (ko) 클라우드 서비스를 이용하기 위한 단말기 및 방법
US20140007239A1 (en) Performing anti-virus checks for a distributed filesystem
US20100306500A1 (en) Method and apparatus for managing thin provisioning volume by using file storage system
US9449007B1 (en) Controlling access to XAM metadata
US10579597B1 (en) Data-tiering service with multiple cold tier quality of service levels
CN111209259A (zh) Nas分布式文件系统及数据处理方法
CN100498766C (zh) 基于数据库的海量文件管理系统与方法
US9727588B1 (en) Applying XAM processes
KR20200101501A (ko) 대다수의 클라우드 스토리지 서비스를 합치는 가상적인 파일 시스템
Moon et al. High-performance internet file system based on multi-download for convergence computing in mobile communication systems
US11989159B2 (en) Hybrid snapshot of a global namespace

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
LAPS Lapse due to unpaid annual fee