KR20140032862A - 통합 클라우드 서비스 제공 장치 및 방법 - Google Patents

통합 클라우드 서비스 제공 장치 및 방법 Download PDF

Info

Publication number
KR20140032862A
KR20140032862A KR1020130016549A KR20130016549A KR20140032862A KR 20140032862 A KR20140032862 A KR 20140032862A KR 1020130016549 A KR1020130016549 A KR 1020130016549A KR 20130016549 A KR20130016549 A KR 20130016549A KR 20140032862 A KR20140032862 A KR 20140032862A
Authority
KR
South Korea
Prior art keywords
storage
file
cloud
local
cloud storage
Prior art date
Application number
KR1020130016549A
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 한국전자통신연구원
Publication of KR20140032862A publication Critical patent/KR20140032862A/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]
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

통합 클라우드 서비스 제공 장치 및 방법이 개시된다. 일 실시예에 따른 통합 클라우드 서비스 제공 장치는 각각 고유의 어플리케이션 프로그래밍 인터페이스(Application Programming Interface, API)를 제공하고 있으며 또한 사용자에게 소정 크기의 저장 공간을 할당하여 서비스를 제공하는 다수의 지역 클라우드 스토리지를 통합하여 서비스를 제공하기 위한 장치이다. 이러한 장치는 다수의 지역 클라우드 스토리지 각각의 API 정보를 저장하고 있으며, 사용자로부터 서비스 요청이 수신되면 저장되어 있는 API 정보를 이용하여 다수의 지역 클라우드 스토리지 중에서 하나 이상의 지역 클라우드 스토리지에 접속하여 서비스 요청을 처리하기 위한 전역 클라우드 스토리지를 포함한다. 그리고 이 전역 클라우드 스토리지는 서비스 요청으로서 파일의 저장 요청이 수신되면, 다수의 지역 클라우드 스토리지 중에서 선택된 하나 이상의 지역 클라우드 스토리지에 접속하여 파일을 저장시킨다.

Description

통합 클라우드 서비스 제공 장치 및 방법{Apparatus and method for providing integrated cloud service}
본 발명은 클라우드 서비스에 관한 것으로, 보다 구체적으로 다수 개의 클라우드 스토리지(cloud storage)를 마치 하나의 클라우드 스토리지처럼 운용할 수 있도록 하는 통합 클라우드 서비스를 제공하기 위한 장치와 방법에 관한 것이다.
클라우드 스토리지의 확산에 따라 사용자는 여러 개의 클라우드 스토리지를 사용하고 있으며, 각 클라우드 스토리지는 비슷한 기능으로 서로 다른 디스크 용량을 제공하고 있다. 사용자는 각 클라우드 스토리지를 이용하기 위하여 자신의 컴퓨터에 해당 클라우드 스토리지에 접속하기 위한 인터페이스를 구축해야 하며 고유의 인증 정보(아이디 및 패스워드 등)를 이용하여 접속해야 한다. 또한, 이러한 클라우드 스토리지는 기본적인 용량을 무료로 사용자에게 제공하지만, 추가 용량은 통상적으로 유료로 제공하고 있다.
이와 같이, 하나의 클라우드 스토리지가 제공하는 기본적인 용량이 제한적이고 또한 여러 개의 클라우드 서비스가 고유의 인증 정보와 접속 인터페이스를 요구하기 때문에, 사용자는 여러 개의 클라우드 스토리지를 효율적으로 활용하기가 어려울 뿐만 아니라 사용자는 어느 하나의 클라우드 스토리지에 저장되어 있는 데이터를 다른 클라우드 스토리지로 옮기기도 번거롭다. 물론, 사용자가 하나의 클라우드 스토리지에서 용량을 늘려서 사용하는 것도 가능하지만 이것은 비용이 추가로 소요될 뿐만 아니라 사용자로 하여금 특정한 클라우드 스토리지 서비스에 고착화(lock-in) 시키는 현상이 발생할 수 있다.
한편, 현재 제공되고 있는 클라우드 스토리지는 각각 개발자를 위한 고유의 어플리케이션 프로그래밍 인터페이스(Application Programming Interface, API)를 제공하고 있다. 예를 들어, 드롭박스(Dropbox)라는 클라우드 스토리지는 REST API를 제공하고 있으며, 슈가싱크(SugarSync)라는 클라우드 스토리지는 REST API, Java, JASON 등의 API를 제공한다. 각각의 클라우드 스토리지를 위한 API 정보는 다음의 URI를 참조하면 알 수 있다.
- Dropbox : https://www.dropbox.com/developers/reference/api
- SugarSync : https://www.sugarsync.com/developer
- 구글 드라이브 : https://developers.google.com/drive/
-SkyDrive : http://msdn.microsoft.com/en-us/library/live/hh826521.aspx
- 유클라우드 API : http://dev.ucloud.olleh.com/openapi/api_desc.kt
이러한 오픈 API는 클라우드 스토리지를 제3 애플리케이션(third party application)에서 이용할 수 있도록 제공되는 기본적인 API들이다. 이에 의하면, 개발자는 파일(문서, 이미지, 동영상, 메모 등)을 클라우드 스토리지로 저장하거나 저장된 파일을 조회하고 불러오기 등의 기능을 구현할 수 있으며, 사용자는 해당 애플리케이션을 이용하여 클라우드 스토리지 서비스를 사용할 수 있다. 그러나, 각 클라우드 스토리지가 제공하는 API는 그 형태나 사용 범위, 기능 등에서 차이가 존재한다.
본 발명은 해결하고자 하는 하나의 과제는 하나 이상의 클라우드 스토리지를 마치 하나의 클라우드 스토리지와 같이 사용할 수 있도록 하여 사용자로 하여금 다수 개의 클라우드 스토리지 사용을 극대화 할 수 있는 통합 클라우드 서비스 제공 장치 및 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 하나의 과제는 하나 이상의 클라우드 스토리지를 사용하는 사용자가 각각의 클라우드 스토리지 서비스에 고착화되는 것을 방지하고 또한 각 클라우드 스토리지로부터 할당 받은 저장 용량은 최대한 사용할 수 있는 통합 클라우드 서비스 제공 장치 및 방법을 제공하는 것이다.
상기한 과제를 해결하기 위한 본 발명의 일 실시예는 각각 고유의 어플리케이션 프로그래밍 인터페이스(Application Programming Interface, API)를 제공하고 있으며 또한 사용자에게 소정 크기의 저장 공간을 할당하여 서비스를 제공하는 다수의 지역 클라우드 스토리지를 통합하여 서비스를 제공하기 위한 통합 클라우드 서비스 제공 장치로서, 상기 다수의 지역 클라우드 스토리지 각각의 API 정보를 저장하고 있으며, 사용자로부터 서비스 요청이 수신되면 저장되어 있는 상기 API 정보를 이용하여 상기 다수의 지역 클라우드 스토리지 중에서 하나 이상의 지역 클라우드 스토리지에 접속하여 상기 서비스 요청을 처리하기 위한 전역 클라우드 스토리지를 포함하고, 상기 전역 클라우드 스토리지는, 상기 서비스 요청으로서 파일의 저장 요청이 수신되면, 상기 다수의 지역 클라우드 스토리지 중에서 선택된 하나 이상의 지역 클라우드 스토리지에 접속하여 상기 파일을 저장시킨다.
상기 실시예의 일 측면에 의하면, 상기 전역 클라우드 스토리지는 지정 저장 방식, 분산 저장 방식, 및 중복 저장 방식 중에서 선택된 하나 이상의 저장 방식을 이용하여 상기 파일을 저장시킬 수 있다.
이 경우에, 상기 전역 클라우드 스토리지는 상기 다수의 지역 클라우드 스토리지 각각의 상기 사용자를 위한 잔여 저장 용량, 상기 다수의 지역 클라우드 스토리지 각각과의 네트워크 상태, 사용자 선호도, 및 서비스 정책 중 하나 이상에 기초하여 상기 저장 방식을 결정할 수 있다. 그리고 상기 사용자 선호도는 상기 파일의 저장 요청에 포함되어 있거나 또는 미리 설정되어 있을 수 있다.
또는, 상기 전역 클라우드 스토리지는, 상기 파일이 중복 저장 방식으로 저장되면, 상기 사용자의 요청이 있거나 또는 주기적으로 상기 파일을 중복하여 저장하고 있는 두 개 이상의 상기 지역 클라우드 스토리지들을 동기화시킬 수 있다.
상기 실시예의 다른 측면에 의하면, 상기 전역 클라우드 스토리지는 상기 다수의 지역 클라우드 스토리지 각각의 상기 사용자를 위한 잔여 저장 용량, 상기 다수의 지역 클라우드 스토리지 각각과의 네트워크 상태, 사용자 선호도, 및 서비스 정책 중 하나 이상에 기초하여 상기 파일을 저장할 하나 이상의 지역 클라우드 스토리지를 선택할 수 있다.
상기 실시예의 또 다른 측면에 의하면, 상기 전역 클라우드 스토리지는 상기 다수의 지역 클라우드 스토리지 각각에 저장되는 파일의 지역 클라우드 디렉토리 및 지역 클라우드 파일 이름에 대응하는 전역 클라우드 디렉토리 및 전역 클라우드 파일 이름을 생성하여 저장하며, 상기 사용자는 상기 전역 클라우드 디렉토리 및 전역 클라우드 파일 이름을 이용하여 상기 서비스 요청을 할 수 있다. 이 경우에, 상기 전역 클라우드 스토리지는 상기 전역 클라우드 디렉토리 및 전역 클라우드 파일 이름에 대하여 상기 지역 클라우드 디렉토리 및 지역 클라우드 파일 이름으로의 매핑 정보를 지시하는 매핑 테이블을 이용하여 상기 서비스 요청을 처리할 수 있다. 그리고 상기 서비스 요청이 파일의 삭제 요청이면, 상기 전역 클라우드 스토리지는 상기 사용자의 요청 또는 서비스 정책에 따라서 상기 지역 클라우드 스토리지에 저장되어 있는 파일을 즉시 삭제하거나 또는 일정 시간이 경과된 이후에 지연 삭제할 수 있다. 또한, 상기 지연 삭제가 될 파일이 지역 클라우드 스토리지에서 삭제되기 이전에 복구 요청이 수신되면, 상기 전역 클라우드 스토리지는 상기 지연 삭제가 될 파일을 삭제하지 않을 수 있다.
상기 실시예의 또 다른 측면에 의하면, 상기 전역 클라우드 스토리지는 상기 사용자가 상기 다수의 지역 클라우드 스토리지 각각에 접속하기 위한 인증 정보를 저장하고 있으며, 상기 사용자로부터의 서비스 요청이 수신되면 상기 인증 정보를 이용하여 상기 다수의 지역 클라우드 스토리지 중에서 하나 이상의 지역 클라우드 스토리지에 접속할 수 있다.
상기한 과제를 해결하기 위한 본 발명의 다른 실시예는 각각 고유의 어플리케이션 프로그래밍 인터페이스(Application Programming Interface, API)를 제공하고 있으며 또한 사용자에게 소정 크기의 저장 공간을 할당하여 서비스를 제공하는 다수의 지역 클라우드 스토리지를 통합하여 서비스를 제공하기 위한 방법으로서, 상기 사용자로부터 파일의 저장 요청을 수신하는 단계, 상기 저장 요청된 파일의 저장 방식을 결정하고 또한 결정된 상기 저장 방식에 기초하여 상기 다수의 지역 클라우드 스토리지 중에서 상기 파일을 저장할 하나 이상의 지역 클라우드 스토리지를 선택하는 단계, 저장되어 있는 상기 API를 이용하여 상기 선택된 하나 이상의 지역 클라우드 스토리지에 접속하는 단계, 및 접속된 하나 이상의 지역 클라우드 스토리지에 상기 결정된 저장 방식에 따라서 상기 파일을 저장하는 단계를 포함한다.
상기 실시예의 일 측면에 의하면, 상기 저장 방식은 지정 저장 방식, 분산 저장 방식, 및 중복 저장 방식 중에서 선택된 하나 이상일 수 있다. 이 때, 상기 저장 방식은 상기 다수의 지역 클라우드 스토리지 각각의 상기 사용자를 위한 잔여 저장 용량, 상기 다수의 지역 클라우드 스토리지 각각의 네트워크 상태, 사용자 선호도, 및 서비스 정책 중 하나 이상에 기초하여 결정할 수 있다. 그리고 상기 저장 단계에서 중복 저장 방식으로 상기 파일을 저장하면, 상기 사용자의 요청이 있거나 또는 주기적으로 상기 파일을 중복하여 저장하고 있는 두 개 이상의 상기 지역 클라우드 스토리지들을 동기화시키는 단계를 더 포함할 수 있다.
상기한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 전역 클라우드 스토리지는 다수의 지역 클라우드 스토리지 각각에 대한 인증정보를 저장하고, 사용자로부터 서비스 요청이 수신되면 상기 다수의 지역 클라우드 스토리지 중에서 상기 서비스 요청과 관련된 하나 이상의 지역 클라우드 스토리지에 대한 사용자 인증을 수행하는 인증정보 관리기, 상기 다수의 지역 클라우드 스토리지 각각의 스토리지 사용 현황 정보, 어플리케이션 프로그래밍 인터페이스(Application Programming Interface, API) 정보, 및 네트워크 상황 정보를 저장하고 있으며, 사용자로부터 파일의 저장 요청이 수신되면 저장 요청된 상기 파일의 저장 방식을 결정하고 상기 파일을 저장할 하나 이상의 지역 클라우드 스토리지를 선택하기 위한 지역 클라우드 스토리지 관리기, 상기 다수의 지역 클라우드 스토리지 각각에 저장되는 파일의 지역 클라우드 디렉토리 및 지역 클라우드 파일 이름에 대응하는 전역 클라우드 디렉토리 및 전역 클라우드 파일 이름을 생성하고 저장하여 관리하기 위한 파일 및 디렉토리 관리기, 및 상기 전역 클라우드 디렉토리 및 전역 클라우드 파일 이름에 대하여 상기 지역 클라우드 디렉토리 및 지역 클라우드 파일 이름으로의 매핑 정보를 제공하기 위한 매핑 테이블을 생성하여 관리하기 위한 메타데이터 관리기를 포함한다.
상기 실시예의 일 측면에 의하면, 상기 지역 클라우드 스토리지 관리기는 지정 저장 방식, 분산 저장 방식, 및 중복 저장 방식 중에서 선택된 하나 이상의 저장 방식을 이용하여 상기 파일을 저장시킬 수 있다.
상기 실시예의 다른 측면에 의하면, 상기 사용자의 요청이 있거나 또는 주기적으로 상기 파일을 중복하여 저장하고 있는 두 개 이상의 상기 지역 클라우드 스토리지들을 동기화시키기 위한 동기화 관리기를 더 포함할 수 있다.
상기 실시예의 또 다른 측면에 의하면, 상기 지역 클라우드 스토리지 관리기는 상기 매핑 테이블을 이용하여 상기 사용자로부터의 서비스 요청을 처리할 수 있다. 이 경우에, 상기 지역 클라우드 스토리지 관리기는 상기 서비스 요청이 파일의 삭제 요청이면, 상기 사용자의 요청 또는 서비스 정책에 따라서 상기 지역 클라우드 스토리지에 저장되어 있는 파일을 즉시 삭제하거나 또는 일정 시간이 경과된 이후에 지연 삭제할 수 있다.
전술한 본 발명의 실시예에 의하면, 하나의 전역 클라우드 스토리지를 사용하는 서비스를 제공하는 것이 아니라, 오픈 API 등을 이용하여 다수 개의 지역 클라우드 스토리지를 통합하여 사용할 수 있으며 각 지역 클라우드 스토리지별로 할당되어 있는 용량을 최대한 활용할 수 있다. 특히, 본 발명의 실시예에 따르면, 전역 클라우드 스토리지가 지역 클라우드 스토리지의 관점에서는 제3 애플리케이션(third party application)과 같이 동작하게 된다.
그리고 전역 클라우드 스토리지는 각 지역 클라우드 스토리지의 디스크 사용량, 네트워크 상황 등을 고려하여 하나 이상의 클라우드에 파일을 지정하여 저장하거나 분산하여 저장할 수 있으며, 또한 중요한 파일은 중복하여 저장할 수 있다. 이에 의하면, 사용자는 중복 저장 기능을 활용하여 둘 이상의 지역 클라우드 스토리지를 동기화시킴으로써, 어느 하나의 클라우드 스토리지에 고착화되는 것을 방지할 수 있다.
아울러, 사용자는 전역 클라우드 스토리지에 저장되는 파일의 파일 이름과 디렉토리를 이용하여 파일을 관리할 수 있기 때문에, 지역 클라우드 스토리지에 저장되는 파일 이름이나 디렉토리를 변경하지 않고서도 효율적으로 파일을 관리할 수 있다.
도 1은 본 발명의 일 실시예에 따른 다수의 지역 클라우드 스토리지를 통합하여 서비스를 제공하기 위한 시스템의 개략적인 구성을 보여 주는 도면이다.
도 2는 도 1의 시스템을 구성하는 전역 클라우드 스토리지(100)의 구성의 일례를 보여 주는 블록도이다.
도 3은 도 2의 아이디 관리기(110)의 구성의 일례를 보여 주는 블록도이다.
도 4는 도 2의 지역 클라우드 스토리지 관리기(120)의 구성의 일례를 보여 주는 블록도이다.
도 5는 도 2의 동기화 관리기(130)의 구성의 일례를 보여 주는 블록도이다.
도 6은 도 2의 파일 관리기(140)의 구성의 일례를 보여 주는 블록도이다.
도 7은 도 2의 매핑 테이블 관리기(150)의 구성의 일례를 보여 주는 블록도이다.
도 8은 도 2의 디렉토리 관리기(160)의 구성의 일례를 보여 주는 블록도이다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세하게 설명한다. 사용되는 용어들은 실시예에서의 기능을 고려하여 선택된 용어들로서, 그 용어의 의미는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 후술하는 실시예들에서 사용된 용어의 의미는, 본 명세서에 구체적으로 정의된 경우에는 그 정의에 따르며, 구체적인 정의가 없는 경우는 당업자들이 일반적으로 인식하는 의미로 해석되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 다수의 지역 클라우드 스토리지를 통합하여 서비스를 제공하기 위한 시스템의 개략적인 구성을 보여 주는 도면이다. 도 1을 참조하면, 시스템은 다수의 지역 클라우드 스토리지(local cloud storage, 201, 202, 203) 및 전역 클라우드 스토리지(global cloud storage, 100)를 포함한다. 사용자(user, 300)는 다수의 지역 클라우드 스토리지(201, 202, 203) 각각으로 직접 접속하여 사용할 수 있는 것은 물론 전역 클라우드 스토리지(300)에 접속함으로써 다수의 지역 클라우드 스토리지(201, 202, 203)를 사용할 수도 있는데, 이하 후자의 경우를 중심으로 설명한다.
지역 클라우드 스토리지(201, 202, 203)는 각각 고유의 어플리케이션 프로그래밍 인터페이스(Application Programming Interface, API)를 제공하면서, 사용자(300)에게 소정 크기의 저장 공간을 할당하여 서비스를 제공한다. 즉, 지역 클라우드 스토리지(201, 202, 203)는 일반적인 클라우드 스토리지를 의미하나, 클라우드 스토리지에서 오픈 에이피아이(open API) 형태로 사용할 수 있는 API를 제공하지 않는 스토리지는 본 발명의 실시예에서 제외한다. 사용자(300)는 해당 서비스 제공자의 정책에 따라서 및/또는 소정의 수수료를 지불하고서 지역 클라우드 스토리지(201, 202, 203)로부터 일정 용량의 저장 공간을 할당 받아서 개인적으로 사용할 수 있다.
도 1의 시스템에서 전역 클라우드 스토리지(100)는 하나 이상의 지역 클라우드 스토리지(201, 202, 203)에 접속하여 파일을 저장할 수 있다. 이 때, 전역 클라우드 스토리지(100)가 접속하는 지역 클라우드 스토리지(201, 202, 203)는 사용을 위하여 사용자(300)가 미리 전역 클라우드 스토리지(100)에 등록을 한 것일 수 있다.
전역 클라우드 스토리지(100)는 다수의 지역 클라우드 스토리지(201, 202, 203)에 접속하는데 있어서 필요한 여러 가지 정보를 보유하고 있을 수 있다. 예를 들어, 전역 클라우드 스토리지(100)는 지역 클라우드 스토리지(201, 202, 203) 각각의 API 정보를 보유하면서 지역 클라우드 스토리지(201, 202, 203) 접속하는데 활용할 수 있다. 그리고 전역 클라우드 스토리지(100)는 다수의 지역 클라우드 스토리지(201, 202, 203) 각각에 접속하는데 필요한 인증 정보(예컨대, 사용자 아이디 및 비밀 번호 등)를 저장하고 있을 수 있다. 이 경우에, 사용자(300)로부터 서비스 요청이 수신되면, 전역 클라우드 스토리지(100)는 이 인증 정보를 이용하여 지역 클라우드 스토리지(201, 202, 203)에 접속할 수 있다.
사용자(300)로부터 파일의 저장 요청이 있으면, 전역 클라우드 스토리지(100)는 지정 저장 방식, 분산 저장 방식, 및 중복 저장 방식 중에서 하나 이상의 저장 방식을 이용하여 파일을 하나 이상의 지역 클라우드 스토리지(201, 202, 203)에 저장할 수 있다. 지정 저장 방식은 사용자에 의하여 지정되거나 또는 임의의 기준에 따라서 선택된 어느 하나의 지역 클라우드 스토리지(201, 202, 203)에 파일을 저장하는 방식을 가리키며, 분산 저장 방식은 파일을 분할하여 분할된 부분 파일들을 둘 이상의 지역 클라우드 스토리지(201, 202, 203)에 각각 저장하는 방식을 가리키며, 중복 저장 방식은 동일한 파일을 둘 이상의 지역 클라우드 스토리지(201, 202)에 중복하여 저장하는 방식을 가리킨다.
전역 클라우드 스토리지(100)는 전술한 세 가지 저장 방식 중에서 사용자(300)에 의하여 지정된 방식으로 파일을 저장하거나 또는 소정의 기준에 따라서 자체적으로 저장 방식을 결정하여 파일을 저장할 수 있다. 예를 들어, 전역 클라우드 스토리지(100)는 지역 클라우드 스토리지(201, 202, 203) 각각의 사용자(300)를 위한 잔여 저장 용량, 지역 클라우드 스토리지(201, 202, 203) 각각과의 네트워크 상태, 사용자 선호도, 또는 전역 클라우드 스토리지(100)의 서비스 정책 중에서 하나 이상의 기준에 기초하여 저장 방식을 결정할 수 있다. 이 때, 사용자 선호도는 사용자(300)로부터의 파일 저장 요청에 포함되어 있거나 또는 전역 클라우드 스토리지(100)의 데이터베이스에 미리 설정되어 있을 수 있다.
전술한 세 가지 저장 방식 중에서 중복 저장 방식은 지역 클라우드 스토리지(201, 202, 203) 중에서 어느 하나의 접속에 문제가 생기거나 또는 중요한 파일을 저장할 때 등에 활용될 수 있다. 예를 들어, 사용자(300)가 제1 및 제2 지역 클라우드 스토리지(201, 202)에 파일을 중복하여 저장하는 경우에, 제1 및 제2 지역 클라우드 스토리지(201, 202) 중에서 어느 하나의 접속에 문제가 있는 경우 등에는 다른 지역 클라우드 스토리지에 접속하여 원하는 파일에 접속할 수 있다. 이러한 중복 저장 방식의 경우에, 사용자(300)는 제1 및 제2 지역 클라우드 스토리지(201, 202)를 임의의 시간에 또는 주기적으로 동기화를 시키는 것도 가능하다.
전역 클라우드 스토리지(100)는 여러 가지 기준으로 저장 요청된 파일을 저장할 하나 또는 그 이상의 지역 클라우드 스토리지(201, 202, 203)를 선택할 수 있다. 예를 들어, 사용자(300)로부터의 파일 저장 요청에 지역 클라우드 스토리지(201, 202, 203)가 지정되어 있는 경우에는 사용자(300)에 의하여 지정된 지역 클라우드 스토리지에 파일을 저장할 수 있다. 또는, 전역 클라우드 스토리지(100)는 지역 클라우드 스토리지(201, 202, 203) 각각의 사용자(300)를 위한 잔여 저장 용량, 지역 클라우드 스토리지(201, 202, 203) 각각과의 네트워크 상태, 사용자 선호도, 또는 전역 클라우드 스토리지(100)의 서비스 정책 중에서 하나 이상의 기준에 기초하여 선택된 지역 클라우드 스토리지에 파일을 저장할 수도 있다.
사용자(300)로부터의 파일 저장 요청에 응답하여 하나 또는 그 이상의 지역 클라우드 스토리지(201, 202, 203)에 파일을 저장하고 또한 저장된 파일을 관리할 수 있도록, 전역 클라우드 스토리지(100)는 지역 클라우드 스토리지(201, 202, 203) 각각에 저장되는 파일의 지역 클라우드 디렉토리 및 지역 클라우드 파일 이름에 대응하는 전역 클라우드 디렉토리 및 전역 클라우드 파일 이름을 생성하여 저장할 수 있다. 이 경우에, 사용자(300)는 파일을 저장하고 저장된 파일을 관리하는데 있어서, 지역 클라우드 스토리지(201, 202, 203) 각각의 디렉토리 및 파일 이름을 이용할 필요가 없다. 사용자(300)는 지역 클라우드 디렉토리 및 지역 클라우드 파일 이름에 대응하는 전역 클라우드 디렉토리 및 전역 클라우드 파일을 이용하여 파일의 저장, 수정, 삭제 등의 요청을 할 수 있다. 이에 의하면, 사용자는 지역 클라우드 스토리지와 지역 클라우드 파일 이름에 대한 정보를 기억하고 있거나 관리할 필요가 없으며, 전역 클라우드 디렉토리 및 전역 클라우드 파일 이름만으로도 관리가 가능하다.
이를 위하여, 전역 클라우드 스토리지(100)는 전역 클라우드 디렉토리 및 전역 클라우드 파일 이름에 대하여 지역 클라우드 디렉토리 및 지역 클라우드 파일 이름으로의 매핑 정보를 지시하는 매핑 테이블을 보유하고 있을 수 있다. 그리고 전역 클라우드 스토리지(100)는 특정 파일(전역 클라우드 디렉토리 및 전역 클라우드 파일 이름)에 대한 관리 요청이 있으면 이 매핑 테이블을 이용하여 지역 클라우드 디렉토리 및 지역 클라우드 파일 이름을 파악하여 요청을 처리할 수 있다.
만일, 사용자(300)로부터 지역 클라우드 스토리지(201, 202, 203)에 저장되어 있는 파일(전역 클라우드 디렉토리 및 전역 클라우드 파일 이름)의 삭제 요청이 수신되면, 전역 클라우드 스토리지(100)는 매핑 테이블을 이용하여 삭제 요청된 파일이 저장되어 있는 지역 클라우드 스토리지(201, 202, 203)에 접속하여 해당 파일을 삭제할 수 있다. 이 경우에, 전역 클라우드 스토리지(100)는 사용자의 요청이나 서비스 정책에 따라서 요청이 수신된 즉시 파일을 삭제하거나 또는 일정 시간이 경과된 이후에 파일을 삭제(지연 삭제)를 할 수도 있다.
지연 삭제는 해당 파일이 영구히 삭제되는데 까지 소정의 시간이 추가로 경과되도록 하는 것이다. 따라서 비록 사용자(300)가 삭제 요청을 했지만, 지연 삭제 절차에 의하면 해당 파일은 즉시 삭제되지 않으며 일정한 시간이 경과해야만 삭제된다. 따라서 지연 삭제 절차를 이용하면, 사용자(300)의 단순 변심이나 또는 사정 변경 등이 있는 경우에도 해당 파일은 아직 완전히 삭제되지 않았을 수도 있기 때문에, 해당 파일이 영구히 삭제되는 지연 또는 방지할 수 있다. 이를 위하여, 지연 삭제 절차에서 해당 파일이 지역 클라우드 스토리지에서 삭제되기 이전에 사용자로부터 해당 파일의 복구 요청(또는 삭제 취소 요청)이 수신되면, 전역 클라우드 스토리지(100)는 일정 시간이 경과하더라도 해당 파일을 지역 클라우드 스토리지에서는 삭제하지 않을 수 있다. 이러한 지연 삭제 절차에서, 삭제가 유예되는 일정 시간은 미리 결정되어 있거나 또는 사용자가 설정을 할 수도 있다.
도 2는 도 1의 시스템을 구성하는 전역 클라우드 스토리지(100)의 구성의 일례를 보여 주는 블록도이다. 도 2를 참조하면, 전역 클라우드 스토리지(100)는 아이디 관리기(ID manager, 110), 지역 클라우드 스토리지 관리기(local cloud storage manager, 120), 동기화 관리기(synchronization manager, 130), 파일 관리기(file manager, 140), 매핑 테이블 관리기(mapping table manager, 150), 디렉토리 관리기(directory manager, 160), 및 검색기(searcher, 170)를 포함한다. 이러한 전역 클라우드 스토리지(100)의 구성은 그 기능에 따른 논리적인 구분으로서, 실질적으로는 둘 이상의 구성 요소가 하나의 기능 모듈로 구현되거나 또는 어느 하나의 구성 요소가 둘 이상의 기능 모듈로 구현될 수도 있다. 이하, 도 1 및 도 2를 참조하여, 전역 클라우드 스토리지(100)를 구성하는 구성요소들 각각의 기능을 설명한다.
아이디 관리기(110)는 전역 클라우드 스토리지(100)의 접속에 필요한 아이디(ID)와 패스워드는 물론 지역 클라우드 스토리지(201, 202, 203) 각각의 인증 정보, 예컨대 아이디(ID)와 패스워드를 등록하여 관리한다. 전역 클라우드 스토리지(100)는 아이디 관리기(110)에 등록되어 있는 지역 클라우드 스토리지(201, 202, 203) 각각의 아이디와 패스워드를 이용하여 지역 클라우드 스토리지(201, 202, 203)에 사용자 인증을 받고 접속할 수 있다.
지역 클라우드 스토리지 관리기(120)는 사용 가능한 지역 클라우드 스토리지(201, 202, 203)의 리스트 및 각 지역 클라우드 스토리지의 디렉토리 및 파일 정보를 저장하고 관리한다. 그리고 지역 클라우드 스토리지 관리기(120)는 지역 클라우드 스토리지(201, 202, 203) 각각의 사용 가능한 오픈 API 정보를 획득하여 저장하여 관리할 수 있다.
동기화 관리기(130)는 둘 이상의 지역 클라우드 스토리지(201, 202, 203)에 중복 저장 방식으로 저장되는 파일의 동기화를 위한 것이다. 예를 들어, 동기화 관리기(130)는 중복 저장 방식으로 파일을 저장하는 지역 클라우드 스토리지(201, 202, 203) 사이에 파일, 디렉토리를 동기화할 수 있다. 그리고 파일 관리기(140)는 전역 클라우드 스토리지(100)의 파일을 생성, 삭제, 변경하는 등과 같은 파일의 관리를 수행하며, 디렉토리 관리기(160)는 전역 클라우드 스토리지(100)의 디렉토리를 생성, 삭제, 변경하는 등과 같은 디렉토리의 관리를 수행한다.
매핑 테이블 관리기(150)는 전역 클라우드 디렉토리 및 전역 클라우드 파일 이름에 대하여 지역 클라우드 디렉토리 및 지역 클라우드 파일 이름으로의 매핑 정보를 지시하는 매핑 테이블을 생성하고 관리하기 위한 것이다. 전술한 바와 같이, 사용자가 전역 클라우드 스토리지 및 전역 클라우드 파일 이름을 이용하여 서비스를 요청하더라도, 전역 클라우드 스토리지(100)는 이 매핑 테이블을 이용하여 지역 클라우드 디렉토리 및 지역 클라우드 파일 이름을 파악하여 요청을 처리할 수 있다.
검색기(170)는 사용자(300)를 위하여 파일에 대한 검색 기능을 제공하기 위한 것이다. 예를 들어, 검색기(170)는 전역 클라우드 스토리지(100)를 통하여 저장되어 있는 파일을 키워드 검색하는 기능을 제공할 수 있다. 이에 의하면, 검색기(170)는 전역 클라우드 스토리지(100)에 저장되어 있는 전역 클라우드 파일에 대한 검색은 물론 전역 클라우드 스토리지(100)를 통해서 지역 클라우드 스토리지(201, 202, 203)에 저장되어 있는 지역 클라우드 파일에 대해서도 검색 서비스를 제공할 수 있다.
이외에도 전역 클라우드 스토리지(100)는 버전 관리기(version manager) 등을 더 포함할 수 있다. 버전 관리기는 사용자가 전역 클라우드 스토리지(100)를 통하여 저장한 파일에 대하여 파일의 버전을 일자별, 버전별로 관리하는 기능을 제공할 수 있다. 이 경우에, 사용자는 버전 관리기를 통하여 체크아웃, 체크인을 할 수 있다.
이하, 전역 클라우드 스토리지를 구성하는 각 구성요소들에 대하여 보다 상세히 설명한다.
도 3은 도 2의 아이디 관리기(110)의 구성의 일례를 보여 주는 블록도이다. 도 3을 참조하면, 아이디 관리기(110)는 전역 아이디 관리기(global ID manager, 111), 지역 아이디 관리기(local ID manager, 112), 및 지역 아이디 인증기(local ID authenticator, 113)를 포함한다. 전역 아이디 관리기(111)는 전역 클라우드 스토리지의 접속을 아이디와 패스워드 등을 생성하고 또한 관리하기 위한 것이다. 지역 아이디 관리기(112)는 지역 클라우드 스토리지에 접속하기 위한 아이디와 패스워드 등을 관리하기 위한 것으로서, 이를 위하여 사용자는 각 지역 클라우드 스토리지에 접속하는데 있어서 필요한 자신의 아이디와 패스워드를 지역 아이디 관리기(112)에 등록할 수 있다. 그리고 지역 아이디 인증기(113)는 지역 아이디를 이용하여 전역 클라우드 스토리지에서 지역 클라우드 스토리지에 접속하는데 필요한 인증 절차를 수행하기 위한 것이다.
도 4는 도 2의 지역 클라우드 스토리지 관리기(120)의 구성의 일례를 보여 주는 블록도이다. 도 4를 참조하면, 지역 클라우드 스토리지 관리기(120)는 지역 파일 관리기(local file manager, 121), 지역 API 관리기(local API manager, 122), 및 지역 API 매퍼(local API mapper, 123)를 포함하며, 지역 클라우드 스토리지의 오픈 API를 등록하여 저장하기 위한 지역 API 저장부(local API DB, 124)를 더 포함할 수 있다. 지역 파일 관리기(121)는 지역 클라우드 스토리지의 파일 및 디렉토리를 검색하여 파일, 디렉토리, 그리고 사이즈를 전역 클라우드 스토리지에 전달한다. 지역 API 관리기(122)는 지역 클라우드 스토리지의 오픈API를 지역 API 저장부(124)에 등록하고 저장하며, 각각의 지역 클라우드 스토리지가 어떤 API를 제공하는지를 알려준다. 그리고 지역 API 매퍼(123)는 각 지역 클라우드 스토리지와 API를 매핑하는 역할을 하는데, 이것은 각 지역 클라우드 스토리지의 API가 같은 형태의 API를 제공하지 않기 때문이다.
도 5는 도 2의 동기화 관리기(130)의 구성의 일례를 보여 주는 블록도이다. 도 5를 참조하면, 동기화 관리기(130)는 시간 관리기(time manager, 131), 동기화기(synchronizer, 132), 및 백업부(back-up, 133)를 포함한다.
전술한 바와 같이, 동기화 관리기(130)는 지역 클라우드 스토리지들 사이의 파일/폴더를 동기화하기 위한 것이다. 이것은 어느 하나의 지역 클라우드 스토리지에 저장되어 있는 데이터를 사용자의 컴퓨터에 저장하지 않은 채 다른 지역 클라우드 스토리지에 저장하는 것을 가리킨다. 시간 관리기(131)는 동기화가 되는 시간을 관리하기 위한 것으로서, 동기화 관리기(130)는 시간 관리기(131)를 통하여 정해진 시간에 동기화를 수행할 수 있다. 이 때, 동기화를 위한 정보는 매핑 테이블 관리기(150)의 매핑 테이블 저장부(153)의 동기화 테이블에서 구할 수 있다. 동기화 관리기(130)의 백업부(133)는 시간 관리기(131)를 통하여 정해진 시간에 지역 클라우드 스토리지에 저장된 파일/폴더를 다른 지역 클라우드 스토리지로 백업하는 기능을 제공할 수 있다. 그리고 백업과 동기화가 이루어질 경우에는 파일 병합기(146, 도 6 참조)를 통하여 하나의 파일로 합쳐서 다른 지역 클라우드에 저장할 수도 있다.
도 6은 도 2의 파일 관리기(140)의 구성의 일례를 보여 주는 블록도이다. 도 6을 참조하면, 파일 관리기(140)는 파일 생성기(local file creator, 141), 파일 삭제기(local file deleter, 142), 파일 변경기(local file changer, 143), 파일 이동기(local file mover, 144), 파일 리스트(local file list, 145), 및 파일 병합기(local file merger, 146)를 포함한다. 이러한 구성의 파일 관리기(140)는 다음의 기능들을 제공할 수 있다.
우선, 파일 관리기(140)는 특정 파일을 지역 클라우드 스토리지에 저장하거나 또는 파일 생성기(141)를 통해 특정 파일을 하나 이상의 지역 클라우드 스토리지에 분할하여 저장할 수 있다. 파일을 분할하여 저장할 경우에 하나 이상의 지역 클라우드 스토리지를 선택해야 하는데, 이에 관해서는 앞에서 자세히 설명하였으므로 여기에서 설명되지 않은 사항은 전술한 사항이 적용될 수 있다. 예를 들어, 파일 관리기(140)는 각 지역 클라우드 스토리지의 사용 가능 저장 공간와 네트워크 상태(예컨대, 전역 클라우드 스토리지에서 지역 클라우드 스토리지의 업로드 속도) 등에 기초하여, 파일을 분할하여 저장할 하나 이상의 지역 클라우드 스토리지를 선택할 수 있다.
그리고 파일 저장시에 전역 클라우드 스토리지는 사용자 설정에 따라서 사용자가 선호하는 클라우드 스토리지의 가용 여부를 먼저 판단한 후에 파일을 저장할 지역 클라우드 스토리지를 선택할 수 있다. 예를 들어, 판단 결과 사용자가 선호하는 지역 클라우드 스토리지가 사용 가능한 경우에는 바로 파일을 저장할 수 있다. 반면, 사용 가능한 저장 공간이 부족하여 저장할 수 없는 경우에는, 각 지역 클라우드 스토리지의 사용 가능 저장 공간 및 네트워크 상태 등의 정보를 사용자에게 알리고, 이를 통하여 사용자가 선택한 지역 클라우드 스토리지에 파일을 저장할 수도 있다.
또한, 사용자의 요청이나 미리 설정된 사용자 선호도, 또는 서비스 정책 등에 따라서 파일은 하나의 지역 클라우드 스토리지에 저장할 수도 있지만, 둘 이상의 지역 클라우드 스토리지에 저장할 수도 있다. 후자의 경우에, 하나의 파일을 분할하여 저장하는 분할 저장 방식은 물론 동일한 파일을 중복하여 저장하는 중복 저장 방식이 적용될 수 있다는 것은 전술한 바와 같다. 그리고 분할 저장의 경우에는 분할 비율은 사용자의 지정에 의하거나 또는 각 지역 클라우드 스토리지의 여유 공간을 고려하거나 또는 서비스 정책 등이 고려될 수 있다. 이러한 파일의 지정 저장, 분할 저장, 및/또는 중복 저장을 하는 하나 이상의 지역 클라우드 스토리지에 대한 정보는 파일 생성기(141)에 의하여 생성되어 전달될 수 있다.
그리고 파일 관리기(140)는 파일 리스트 보기 기능을 제공할 수 있다. 파일 리스트 보기 기능이란 사용자를 위하여 전역 클라우드 스토리지에 저장되어 있는 파일들의 리스트를 제공하는 것을 가리킨다. 이를 위하여, 파일 리스트(145)는 지역 파일 관리기(121, 도 4 참조)를 통하여 파일의 이름, 리스트, 사이즈 등의 정보를 전달할 수 있다. 파일 관리기(140)는 또한 전역 클라우드 스토리지에 저장되어 있는 파일의 구성에 따라 지역 클라우드 스토리지에서 파일을 전달받아 파일 병합기(146)에서 취합하여 사용자가 저장했던 형태의 파일을 제공하는 파일 보기 기능도 제공할 수 있다.
이외에도, 파일 관리기(140)는 파일 변경기(143)를 통해 전역 클라우드 스토리지 및/또는 지역 클라우드 스토리지에 저장되어 있는 파일의 이름을 변경할 수 있다. 그리고 파일 관리기(140)는 파일 삭제기(142)를 통해 전역 클라우드 스토리지 및/또는 지역 클라우드 스토리지에 저장되어 있는 파일을 삭제할 수 있는데, 이 경우에 전역 클라우드 스토리지로부터 파일을 삭제함과 동시에 지역 클라우드 스토리지의 파일을 삭제하거나 또는 전역 클라우드 스토리지로부터 파일을 삭제한 후에 일정 시간이 경과한 후에 지역 클라우드 스토리지로부터 파일을 삭제할 수도 있다는 것은 전술한 바와 같다. 그리고 후자의 경우에는 지역 클라우드 스토리지에서 파일이 삭제되기 전에 전역 클라우드 스토리지에서 삭제된 파일은 복구될 수 있다. 또한, 파일 관리기(140)는 파일 이동기(144)를 통해 어느 하나의 지역 클라우드 스토리지에 저장되어 있는 파일을 다른 지역 클라우드 스토리지에 저장할 수도 있다.
도 7은 도 2의 매핑 테이블 관리기(150)의 구성의 일례를 보여 주는 블록도이다. 도 7을 참조하면, 매핑 테이블 관리기(150)는 파일 매니저(file manager, 151), 디렉토리 매니저(directory manager, 152), 및 매핑 테이블 저장부(153, mapping table DB)를 포함한다. 파일 매니저(151)는 전역 클라우드 스토리지의 파일과 지역 클라우드 스토리지의 파일 사이의 매핑 정보를 제공하기 위한 것으며, 디렉토리 매니저(152)는 전역 클라우드 스토리지의 디렉토리와 지역 클라우드 스토리지 사이의 매핑 정보를 제공하기 위한 것이다. 파일 매니저(151)와 디렉토리 매니저(152)는 매핑 테이블 저장부(153)에 저장되어 있는 정보를 이용하여 전역 클라우드 스토리지의 파일/디렉토리와 지역 클라우드 스토리지의 파일/디렉토리 사이의 매핑 정보를 파악할 수 있다.
이를 위하여, 매핑 테이블 저장부(153)는 지역 클라우드 스토리지의 파일 및 디렉토리를 다양한 형태의 매핑 데이터베이스로 관리할 수 있다. 매핑 데이터베이스는 아래 표 1에 개시되어 있는 바와 같이, 파일 아이디 매핑 테이블, 위치 정보 테이블, 지역 파일 테이블, 파일 이름 테이블, 지역 파일 위치 테이블, 그리고 동기화 테이블 등과 같은 다양한 포맷을 가질 수 있다. 이러한 파일 테이블 및 디렉토리 테이블을 이용하게 되면, 하나의 전역 파일이 서로 다른 지역 파일로 각각의 지역 클라우드 스토리지로 저장되는 것을 관리할 수 있게 된다.
Figure pat00001
여기서, 파일 ID 매핑 테이블은 지역 파일 ID와 전역 파일 ID를 매핑하기 위한 테이블일 수 있다. 위치 정보 테이블은 전역 파일 ID와 그 파일의 지역 클라우드 스토리지의 위치를 저장한 테이블일 수 있다. 지역 파일 테이블은 지역 파일 ID, 지역 파일의 오프셋, 및/또는 지역 파일의 사이즈가 저장된 테이블일 수 있다. 전역 파일 이름 테이블은 전역 파일 ID와 전역 파일 이름을 관리하기 위한 테이블일 수 있다. 지역 파일 이름 테이블은 지역 파일 ID와 지역 파일 이름을 관리하기 위한 테이블일 수 있다. 디렉토리 매핑 테이블은 전역 클라우드 스토리지의 디렉토리 ID와 지역 클라우드 스토리지의 디렉토리 ID를 매핑하기 위한 테이블일 수 있다. 전역 디렉토리 이름 테이블은 전역 디렉토리 ID와 전역 디렉토리 이름을 관리하기 위한 테이블일 수 있다. 지역 디렉토리 이름 테이블은 지역 디렉토리 ID와 지역 디렉토리 이름을 관리하기 위한 테이블일 수 있다. 그리고 동기화 테이블은 파일 또는 디렉토리의 그룹, 동기화 위치, 동기화 시간을 관리하기 위한 테이블일 수 있다.
도 8은 도 2의 디렉토리 관리기(160)의 구성의 일례를 보여 주는 블록도이다. 도 8을 참조하면, 디렉토리 관리기(160)는 디렉토리 생성기(local directory creator, 161), 디렉토리 삭제기(local directory deleter, 162), 디렉토리 변경기(local directory changer, 163), 디렉토리 이동기(local directory mover, 164), 디렉토리 리스트(local directory list, 165), 및 디렉토리 병합기(local directory merger, 166)를 포함한다. 이러한 디렉토리 관리기(160)의 구성 및 기능은 도 6의 파일 관리기(140)의 구성 및 기능과 유사한데, 이하에서는 디렉토리 관리기(160)의 기능에 관하여 간략히 설명한다.
디렉토리 생성기(161)는 전역 클라우드 스토리지의 폴더를 생성한다. 그리고 디렉토리 변경기(163)는 전역 클라우드 스토리지의 폴더 이름을 변경한다. 디렉토리 삭제기(162)는 파일 삭제기(142, 도 6 참조)를 이용하여 파일을 삭제한 후에 해당 폴더의 모든 파일이 삭제되면 폴더를 삭제할 수 있다. 디렉토리의 삭제도 즉시 삭제 또는 지연 삭제가 될 수 있다. 즉, 전자의 경우에는 전역 클라우드 스토리지의 폴더를 삭제함과 동시에 지역 클라우드 스토리지의 폴더를 삭제한다. 반면 후자의 경우에는 전역 클라우드 스토리지의 폴더를 삭제한 후에 일정 시간이 경과한 이후에 지역 클라우드 스토리지의 폴더를 삭제하는데, 지역 클라우드 스토리지의 폴더가 삭제되기 전에 전역 클라우드 스토리지에서 삭제된 폴더는 복구될 수 있다. 디렉토리 이동기(164)는 어느 하나의 지역 클라우드 스토리지에 저장되어 있는 파일을 다른 지역 클라우드 스토리지로 디렉토리의 위치를 이동한다. 그리고 디렉토리 리스트(165)는 전역 클라우드 스토리지에 저장되어 있는 폴더의 리스트를 제공하며, 디렉토리 병합기(166)는 전역 클라우드 스토리지의 폴더를 병합하여 하나의 폴더로 만들 수 있다.
이상에서 설명한 본 발명의 실시예는 다음에 기재되어 있는 발명들로 구현될 수 있다.
(1) 각각 고유의 어플리케이션 프로그래밍 인터페이스(Application Programming Interface, API)를 제공하고 있으며 또한 사용자에게 소정 크기의 저장 공간을 할당하여 서비스를 제공하는 다수의 지역 클라우드 스토리지를 통합하여 서비스를 제공하기 위한 장치로서,
상기 다수의 지역 클라우드 스토리지 각각의 API 정보를 저장하고 있으며, 사용자로부터 서비스 요청이 수신되면 저장되어 있는 상기 API 정보를 이용하여 상기 다수의 지역 클라우드 스토리지 중에서 하나 이상의 지역 클라우드 스토리지에 접속하여 상기 서비스 요청을 처리하기 위한 전역 클라우드 스토리지를 포함하고,
상기 전역 클라우드 스토리지는, 상기 서비스 요청으로서 파일의 저장 요청이 수신되면, 상기 다수의 지역 클라우드 스토리지 중에서 선택된 하나 이상의 지역 클라우드 스토리지에 접속하여 상기 파일을 저장시키는 것을 특징으로 하는 통합 클라우드 서비스 제공 장치.
(2) 상기 (1)에 있어서,
상기 전역 클라우드 스토리지는 지정 저장 방식, 분산 저장 방식, 및 중복 저장 방식 중에서 선택된 하나 이상의 저장 방식을 이용하여 상기 파일을 저장시키는 것을 특징으로 하는 통합 클라우드 서비스 제공 장치.
(3) 상기 (2)에 있어서,
상기 전역 클라우드 스토리지는 상기 다수의 지역 클라우드 스토리지 각각의 상기 사용자를 위한 잔여 저장 용량, 상기 다수의 지역 클라우드 스토리지 각각과의 네트워크 상태, 사용자 선호도, 및 서비스 정책 중 하나 이상에 기초하여 상기 저장 방식을 결정하는 것을 특징으로 하는 통합 클라우드 서비스 제공 장치.
(4) 상기 (3)에 있어서,
상기 사용자 선호도는 상기 파일의 저장 요청에 포함되어 있거나 또는 미리 설정되어 있는 것을 특징으로 하는 통합 클라우드 서비스 제공 장치.
(5) 상기 (2)에 있어서,
상기 전역 클라우드 스토리지는, 상기 파일이 중복 저장 방식으로 저장되면, 상기 사용자의 요청이 있거나 또는 주기적으로 상기 파일을 중복하여 저장하고 있는 두 개 이상의 상기 지역 클라우드 스토리지들을 동기화시키는 것을 특징으로 하는 통합 클라우드 서비스 제공 장치.
(6) 상기 (1)에 있어서,
상기 전역 클라우드 스토리지는 상기 다수의 지역 클라우드 스토리지 각각의 상기 사용자를 위한 잔여 저장 용량, 상기 다수의 지역 클라우드 스토리지 각각과의 네트워크 상태, 사용자 선호도, 및 서비스 정책 중 하나 이상에 기초하여 상기 파일을 저장할 하나 이상의 지역 클라우드 스토리지를 선택하는 것을 특징으로 하는 통합 클라우드 서비스 제공 장치.
(7) 상기 (1)에 있어서,
상기 전역 클라우드 스토리지는 상기 다수의 지역 클라우드 스토리지 각각에 저장되는 파일의 지역 클라우드 디렉토리 및 지역 클라우드 파일 이름에 대응하는 전역 클라우드 디렉토리 및 전역 클라우드 파일 이름을 생성하여 저장하며,
상기 사용자는 상기 전역 클라우드 디렉토리 및 전역 클라우드 파일 이름을 이용하여 상기 서비스 요청을 하는 것을 특징으로 하는 통합 클라우드 서비스 제공 장치.
(8) 상기 (7)에 있어서,
상기 전역 클라우드 스토리지는 상기 전역 클라우드 디렉토리 및 전역 클라우드 파일 이름에 대하여 상기 지역 클라우드 디렉토리 및 지역 클라우드 파일 이름으로의 매핑 정보를 지시하는 매핑 테이블을 이용하여 상기 서비스 요청을 처리하는 것을 특징으로 하는 통합 클라우드 서비스 제공 장치.
(9) 상기 (8)에 있어서,
상기 서비스 요청이 파일의 삭제 요청이면, 상기 전역 클라우드 스토리지는 상기 사용자의 요청 또는 서비스 정책에 따라서 상기 지역 클라우드 스토리지에 저장되어 있는 파일을 즉시 삭제하거나 또는 일정 시간이 경과된 이후에 지연 삭제하는 것을 특징으로 하는 통합 클라우드 서비스 제공 장치.
(10) 상기 (9)에 있어서,
상기 파일이 지역 클라우드 스토리지에서 삭제되기 이전에 상기 지연 삭제가 될 파일의 복구 요청이 수신되면, 상기 전역 클라우드 스토리지는 상기 파일을 삭제하지 않는 것을 특징으로 하는 통합 클라우드 서비스 제공 장치.
(11) 상기 (1)에 있어서, 상기 전역 클라우드 스토리지는
상기 사용자가 상기 다수의 지역 클라우드 스토리지 각각에 접속하기 위한 인증 정보를 저장하고 있으며,
상기 사용자로부터의 서비스 요청이 수신되면 상기 인증 정보를 이용하여 상기 다수의 지역 클라우드 스토리지 중에서 하나 이상의 지역 클라우드 스토리지에 접속하는 것을 특징으로 하는 통합 클라우드 서비스 제공 장치.
(12) 각각 고유의 어플리케이션 프로그래밍 인터페이스(Application Programming Interface, API)를 제공하고 있으며 또한 사용자에게 소정 크기의 저장 공간을 할당하여 서비스를 제공하는 다수의 지역 클라우드 스토리지를 통합하여 서비스를 제공하기 위한 방법으로서,
상기 사용자로부터 파일의 저장 요청을 수신하는 단계;
상기 저장 요청된 파일의 저장 방식을 결정하고 또한 결정된 상기 저장 방식에 기초하여 상기 다수의 지역 클라우드 스토리지 중에서 상기 파일을 저장할 하나 이상의 지역 클라우드 스토리지를 선택하는 단계;
저장되어 있는 상기 API를 이용하여 상기 선택된 하나 이상의 지역 클라우드 스토리지에 접속하는 단계; 및
접속된 하나 이상의 지역 클라우드 스토리지에 상기 결정된 저장 방식에 따라서 상기 파일을 저장하는 단계를 포함하는 통합 클라우드 서비스 제공 방법.
(13) 상기 (12)에 있어서,
상기 저장 방식은 지정 저장 방식, 분산 저장 방식, 및 중복 저장 방식 중에서 선택된 하나 이상인 것을 특징으로 하는 통합 클라우드 서비스 제공 방법.
(14) 상기 (13)에 있어서,
상기 저장 방식은 상기 다수의 지역 클라우드 스토리지 각각의 상기 사용자를 위한 잔여 저장 용량, 상기 다수의 지역 클라우드 스토리지 각각의 네트워크 상태, 사용자 선호도, 및 서비스 정책 중 하나 이상에 기초하여 결정하는 것을 특징으로 하는 통합 클라우드 서비스 제공 방법.
(15) 상기 (13)에 있어서,
상기 저장 단계에서 중복 저장 방식으로 상기 파일을 저장하면, 상기 사용자의 요청이 있거나 또는 주기적으로 상기 파일을 중복하여 저장하고 있는 두 개 이상의 상기 지역 클라우드 스토리지들을 동기화시키는 단계를 더 포함하는 것을 특징으로 하는 통합 클라우드 서비스 제공 방법.
(16) 다수의 지역 클라우드 스토리지 각각에 대한 인증정보를 저장하고, 사용자로부터 서비스 요청이 수신되면 상기 다수의 지역 클라우드 스토리지 중에서 상기 서비스 요청과 관련된 하나 이상의 지역 클라우드 스토리지에 대한 사용자 인증을 수행하는 인증정보 관리기;
상기 다수의 지역 클라우드 스토리지 각각의 스토리지 사용 현황 정보, 어플리케이션 프로그래밍 인터페이스(Application Programming Interface, API) 정보, 및 네트워크 상황 정보를 저장하고 있으며, 사용자로부터 파일의 저장 요청이 수신되면 저장 요청된 상기 파일의 저장 방식을 결정하고 상기 파일을 저장할 하나 이상의 지역 클라우드 스토리지를 선택하기 위한 지역 클라우드 스토리지 관리기;
상기 다수의 지역 클라우드 스토리지 각각에 저장되는 파일의 지역 클라우드 디렉토리 및 지역 클라우드 파일 이름에 대응하는 전역 클라우드 디렉토리 및 전역 클라우드 파일 이름을 생성하고 저장하여 관리하기 위한 파일 및 디렉토리 관리기; 및
상기 전역 클라우드 디렉토리 및 전역 클라우드 파일 이름에 대하여 상기 지역 클라우드 디렉토리 및 지역 클라우드 파일 이름으로의 매핑 정보를 제공하기 위한 매핑 테이블을 생성하여 관리하기 위한 매핑 테이블 관리기를 포함하는 전역 클라우드 스토리지 장치.
(17) 상기 (16)에 있어서,
상기 지역 클라우드 스토리지 관리기는 지정 저장 방식, 분산 저장 방식, 및 중복 저장 방식 중에서 선택된 하나 이상의 저장 방식을 이용하여 상기 파일을 저장시키는 것을 특징으로 하는 전역 클라우드 스토리지 장치.
(18) 상기 (16)에 있어서,
상기 사용자의 요청이 있거나 또는 주기적으로 상기 파일을 중복하여 저장하고 있는 두 개 이상의 상기 지역 클라우드 스토리지들을 동기화시키기 위한 동기화 관리기를 더 포함하는 것을 특징으로 하는 전역 클라우드 스토리지 장치.
(19) 상기 (16)에 있어서,
상기 지역 클라우드 스토리지 관리기는 상기 매핑 테이블을 이용하여 상기 사용자로부터의 서비스 요청을 처리하는 것을 특징으로 하는 전역 클라우드 서비스 장치.
(20) 상기 (19)에 있어서,
상기 지역 클라우드 스토리지 관리기는 상기 서비스 요청이 파일의 삭제 요청이면, 상기 사용자의 요청 또는 서비스 정책에 따라서 상기 지역 클라우드 스토리지에 저장되어 있는 파일을 즉시 삭제하거나 또는 일정 시간이 경과된 이후에 지연 삭제하는 것을 특징으로 하는 전역 클라우드 서비스 장치.
이상의 설명은 본 발명의 실시예에 불과할 뿐, 이 실시예에 의하여 본 발명의 기술 사상이 한정되는 것으로 해석되어서는 안된다. 본 발명의 기술 사상은 특허청구범위에 기재된 발명에 의해서만 특정되어야 한다. 따라서 본 발명의 기술 사상을 벗어나지 않는 범위에서 전술한 실시예는 다양한 형태로 변형되어 구현될 수 있다는 것은 당업자에게 자명하다.
100 : 전역 클라우드 스토리지
201, 202, 203 : 지역 클라우드 스토리지

Claims (1)

  1. 각각 고유의 어플리케이션 프로그래밍 인터페이스(Application Programming Interface, API)를 제공하고 있으며 또한 사용자에게 소정 크기의 저장 공간을 할당하여 서비스를 제공하는 다수의 지역 클라우드 스토리지를 통합하여 서비스를 제공하기 위한 장치로서,
    상기 다수의 지역 클라우드 스토리지 각각의 API 정보를 저장하고 있으며, 사용자로부터 서비스 요청이 수신되면 저장되어 있는 상기 API 정보를 이용하여 상기 다수의 지역 클라우드 스토리지 중에서 하나 이상의 지역 클라우드 스토리지에 접속하여 상기 서비스 요청을 처리하기 위한 전역 클라우드 스토리지를 포함하고,
    상기 전역 클라우드 스토리지는, 상기 서비스 요청으로서 파일의 저장 요청이 수신되면, 상기 다수의 지역 클라우드 스토리지 중에서 선택된 하나 이상의 지역 클라우드 스토리지에 접속하여 상기 파일을 저장시키는 것을 특징으로 하는 통합 클라우드 서비스 제공 장치.
KR1020130016549A 2012-09-07 2013-02-15 통합 클라우드 서비스 제공 장치 및 방법 KR20140032862A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120099425 2012-09-07
KR20120099425 2012-09-07

Publications (1)

Publication Number Publication Date
KR20140032862A true KR20140032862A (ko) 2014-03-17

Family

ID=50644255

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130016549A KR20140032862A (ko) 2012-09-07 2013-02-15 통합 클라우드 서비스 제공 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20140032862A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160038496A (ko) * 2014-09-30 2016-04-07 아주대학교산학협력단 파일 시스템을 이용한 저장공간 통합 방법 및 시스템
KR20190014442A (ko) * 2017-08-02 2019-02-12 한국전자통신연구원 클라우드 스토리지 서비스들을 최적화하는 방법 및 클라우드 스토리지 서비스들을 최적화하는 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160038496A (ko) * 2014-09-30 2016-04-07 아주대학교산학협력단 파일 시스템을 이용한 저장공간 통합 방법 및 시스템
KR20190014442A (ko) * 2017-08-02 2019-02-12 한국전자통신연구원 클라우드 스토리지 서비스들을 최적화하는 방법 및 클라우드 스토리지 서비스들을 최적화하는 장치

Similar Documents

Publication Publication Date Title
US11934357B2 (en) Dropsite for shared content
US20230325360A1 (en) System And Method For Policy Based Synchronization Of Remote And Local File Systems
US9766791B2 (en) Predictive caching and fetch priority
US8352431B1 (en) Fine-grain policy-based snapshots
US9294485B2 (en) Controlling access to shared content in an online content management system
US9942121B2 (en) Systems and methods for ephemeral eventing
JP6250189B2 (ja) データストリームのためのクライアント構成可能なセキュリティオプション
US10303649B2 (en) Storage media abstraction for uniform data storage
US20110295798A1 (en) Mobile mirror drive and remote access system
US9565232B2 (en) Importing content items
US9055063B2 (en) Managing shared content with a content management system
US20170195402A1 (en) Sharing a content item
US9716753B2 (en) Migrating shared content items between accounts
US20160294916A1 (en) Aggregating and presenting recent activities for synchronized online content management systems
US9613047B2 (en) Automatic content item upload
US20160006829A1 (en) Data management system and data management method
US10579597B1 (en) Data-tiering service with multiple cold tier quality of service levels
US11221993B2 (en) Limited deduplication scope for distributed file systems
CN114610680A (zh) 分布式文件系统元数据管理方法、装置、设备及存储介质
JP7038864B2 (ja) 検索サーバの集中型ストレージ
KR20140032862A (ko) 통합 클라우드 서비스 제공 장치 및 방법
JP5552720B2 (ja) ストレージシステム、ストレージサーバ、ユーザデータ共有方法、及びプログラム
US20140181258A1 (en) Communicating large amounts of data over a network with improved efficiency
US20170060892A1 (en) Search-based shareable collections
CN114979114B (zh) 云应用处理方法和系统

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination