KR20140059592A - 클라우드 서버 및 그 데이터 관리방법 - Google Patents

클라우드 서버 및 그 데이터 관리방법 Download PDF

Info

Publication number
KR20140059592A
KR20140059592A KR1020120126196A KR20120126196A KR20140059592A KR 20140059592 A KR20140059592 A KR 20140059592A KR 1020120126196 A KR1020120126196 A KR 1020120126196A KR 20120126196 A KR20120126196 A KR 20120126196A KR 20140059592 A KR20140059592 A KR 20140059592A
Authority
KR
South Korea
Prior art keywords
data
terminal
allocation space
logical allocation
mapping table
Prior art date
Application number
KR1020120126196A
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 KR1020120126196A priority Critical patent/KR20140059592A/ko
Publication of KR20140059592A publication Critical patent/KR20140059592A/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
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

클라우드 서버 및 그 데이터 관리방법이 개시된다. 본 발명의 일 실시 예에 따른 클라우드 서버는 단말 사용자 별로 할당되어 데이터가 저장되는 물리적 할당공간과, 다수의 단말 사용자에 할당되어 동일한 데이터가 중복되지 않도록 데이터가 저장되는 논리적 할당공간을 포함하는 스토리지와, 인터넷과 연결된 단말의 요청에 따라 데이터를 스토리지의 물리적 할당공간 또는 논리적 할당공간에 저장하는 클라이언트 관리자를 포함한다.

Description

클라우드 서버 및 그 데이터 관리방법 {Cloud server and method for managing data in cloud server}
본 발명은 클라우드 서비스 기술에 관한 것으로, 보다 상세하게는 클라우드 상의 데이터 저장 및 관리기술에 관한 것이다.
클라우드 서비스를 제공하는 서비스 업체들은 대부분 클라이언트인 단말 별로 저장공간을 마련하여 저장공간을 각각의 단말에 제공한다. 따라서 서비스 업체들은 단말의 수가 증가할수록 더 많은 데이터를 저장하기 위해 서버를 증설하고 하드디스크를 추가로 설치해야 한다. 이는 SNS(Social Network Service)를 통해 전파되는 동영상 등과 같은 미디어 데이터들이 여러 클라우드 서비스 업체들을 통해 제공하는 저장공간에 중복되어 저장되는 상황에서 중복 투자에 의한 비용 발생을 야기하고 있다.
클라우드 서비스를 이용하는 각 단말 사용자는 서비스 업체로부터 자신만의 저장공간을 할당받아 사용한다. 저장공간 사용 중에 단말 사용자는 저장공간이 부족하게 되면 서비스 업체에 추가요금을 지불하여 저장공간을 늘릴 수 있다. 그러나, 저장공간을 늘리기 위해 서비스 업체가 지출해야 하는 비용만큼 단말 사용자가 부담해야 하는 비용 또는 증가하게 된다.
일 실시 예에 따라, 클라우드 상에서 제한된 저장공간을 효율적으로 활용하여 단말들에게는 서비스 업체와 계약된 저장공간을 제공하면서도 서비스 업체 입장에서는 저장공간 확장을 위한 추가적인 설비 투자를 최소화할 수 있는 클라우드 서버 및 그 데이터 관리방법을 제안한다.
일 실시 예에 따른 클라우드 서버는 단말 사용자 별로 할당되어 데이터가 저장되는 물리적 할당공간과, 다수의 단말 사용자에 할당되어 동일한 데이터가 중복되지 않도록 데이터가 저장되는 논리적 할당공간을 포함하는 스토리지와, 인터넷과 연결된 단말의 요청에 따라 데이터를 스토리지의 물리적 할당공간 또는 논리적 할당공간에 저장하는 클라이언트 관리자를 포함한다.
다른 실시 예에 따른 클라우드 서버의 데이터 관리방법은, 단말로부터 논리적 할당공간에 업로드를 요청받은 데이터가 논리적 할당공간에 이미 존재하는지 여부를 판단하는 단계와, 데이터가 존재하는 경우 해당 데이터의 매핑 테이블에 단말 사용자를 추가 등록하고 단말로부터 업로드를 요청받은 데이터를 폐기하는 단계와, 데이터가 존재하지 않으면 단말을 통해 전송받은 데이터를 논리적 할당공간에 저장하고, 저장된 데이터와 단말 사용자를 매핑한 매핑 테이블을 생성하여 관리하는 단계를 포함한다.
또 다른 실시 예에 따른 클라우드 서버의 데이터 관리방법은, 단말로부터 논리적 할당공간에 데이터 업로드를 요청받으면 요청받은 데이터의 정보와 데이터 정보가 동일한 데이터가 논리적 할당공간에 이미 존재하는지 여부를 판단하는 단계와, 동일한 데이터가 존재하면 해당 데이터의 매핑 테이블에 단말 사용자를 추가 등록하는 단계와, 동일한 데이터가 존재하지 않으면 단말을 통해 해당 데이터 정보를 갖는 데이터를 전송받아 전송받은 데이터를 논리적 할당공간에 새로 저장한 후 새로 저장된 데이터와 단말 사용자를 매핑한 매핑 테이블을 새로 생성하여 관리하는 단계를 포함한다.
일 실시 예에 따르면, 클라우드 상에 다수의 단말 사용자에게 할당되어 동일한 데이터가 중복되지 않도록 데이터가 저장되는 논리적 할당공간을 갖음에 따라, 데이터 중복에 따른 저장공간 부족 현상을 해소할 수 있다. 또한, 저장공간 부족으로 인한 저장공간 확충에 따른 설치 비용을 절감할 수 있다.
나아가, 단말이 논리적 할당공간에 업로드를 요청하면, 클라우드 서버는 요청한 데이터가 실제로 논리적 할당공간에 존재하는지를 확인하여 존재하는 경우 실제로 해당 데이터를 업로드 하지 않고 해당 데이터의 매핑 테이블에 단말 사용자만을 추가할 수 있다. 이에 따라, 단말의 요구를 수용함과 동시에 해당 데이터를 저장공간에 추가로 저장할 필요가 없게 되므로, 네트워크 업로드로 인한 트래픽 비용을 절감하고 저장공간을 효율적으로 사용할 수 있다.
나아가, 단말이 논리적 할당공간에 데이터 업로드를 요청한 경우, 업로드를 요청한 데이터의 정보가 논리적 개인 할당 공간의 기존 데이터 정보와 일치하면 단말 사용자가 굳이 데이터 자체를 업로드 할 필요 없이 클라우드 서버에서 기존 데이터의 매핑 테이블에 사용자만을 추가 등록하면 된다. 이에 따라, 단말의 요구를 수용함과 동시에 해당 데이터를 저장공간에 추가로 저장할 필요가 없게 되므로, 네트워크 업로드로 인한 트래픽 비용을 절감하고 저장공간을 효율적으로 사용할 수 있다.
단말 간 공통된 컨텐츠 구매, SNS를 통한 배포 등으로 동일 컨텐츠 등의 데이터가 반복적으로 배포되는 상황에서 본 발명은 유용하게 사용될 수 있다.
도 1은 본 발명의 일 실시 예에 따른 클라우드 서비스 시스템의 구성도,
도 2는 본 발명의 일 실시 예에 따라 도 1의 클라우드 서버의 세부 구성도,
도 3은 본 발명의 일 실시 예에 따른 물리적 할당공간과 논리적 할당공간의 구조도,
도 4는 본 발명의 일 실시 예에 따라 논리적 할당공간의 사용 실시 예를 도시한 참조도,
도 5는 본 발명의 일 실시 예에 따라 도 4의 논리적 할당공간 사용에 따른 단말 입장에서의 데이터 저장 구조를 도시한 참조도,
도 6은 본 발명의 일 실시 예에 따라 새로운 단말이 논리적 할당공간에 데이터를 업로드 하는 경우의 저장공간 활용을 설명하기 위한 참조도,
도 7은 본 발명의 일 실시 예에 따라 단말이 논리적 할당공간에 데이터를 업로드 하는 경우 클라우드 서버의 저장공간 활용 방법을 도시한 흐름도,
도 8은 본 발명의 일 실시 예에 따라 단말이 논리적 할당공간에 데이터 업로드를 요청 시에 데이터 정보만을 먼저 전송하는 경우 클라우드 서버의 저장공간 활용방법을 도시한 흐름도,
도 9는 본 발명의 일 실시 예에 따라 단말이 논리적 할당공간의 데이터 폐기 요청한 경우 클라우드 서버의 저장공간 활용방법을 도시한 흐름도,
도 10은 도 6의 클라우드 서비스 사용 예에서 인증서버를 추가한 경우 인증서버의 데이터 인증 예를 설명하는 참조도이다.
이하에서는 첨부한 도면을 참조하여 본 발명의 실시 예들을 상세히 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 단말, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시 예에 따른 클라우드 서비스 시스템의 구성도이다.
도 1을 참조하면, 클라우드 서비스 시스템은 클라우드 서버(1)와 단말(2)을 포함한다. 단말(2)은 도 1에 도시된 바와 같이 다수 개일 수 있다.
단말(2)은 사용자가 단말(2)을 통해 인터넷에 접속 시 연결된 클라우드 서버(1)에 데이터를 저장하거나 클라우드 서버(1)에 저장된 데이터를 제공받을 수 있는 모든 클라이언트들을 포함한다. 예를 들어, 단말(2)은 PC, 스마트폰, 태블릿 PC, 랩톱 PC, 노트북, e-book, IPTV, PMP, 내비게이션, MP3 플레이어, 이동방송 수신기, 디지털 카메라 등 각종 디바이스일 수 있으나, 전술한 예에 한정되지는 않는다. 도 1에서는 단말(2)의 예로 PC(2-1), 스마트폰(2-2), 태블릿 PC(2-3), 랩톱 PC(2-4)를 도시하였다.
클라우드 서버(1)는 인터넷에 접속한 단말(2)의 요청에 따라 저장공간에 데이터를 저장하거나 저장공간에 저장된 데이터를 단말(2)에 제공한다. 컴퓨터 네트워크 구성도에서 인터넷은 도 1에 도시된 바와 같이 구름으로 표현되며, 이는 숨겨진 복잡한 인프라 구조를 의미한다. 단말(2)의 사용자는 퍼스널 클라우드 컴퓨팅 인프라를 이용하여 인터넷을 통해 언제 어디서나 자신이 원하는 데이터를 클라우드 서버(1)에 저장하거나 제공받을 수 있다.
한편, 클라우드 서비스를 이용하는 단말들이 클라우드 서버의 저장공간에 저장하는 자료 중에 용량의 대부분을 자치하는 것은 영화와 같은 동영상 등의 미디어 데이터들이며, 이러한 미디어 데이터 중에 상당 부분은 단말 간에 서로 중복된다. 이는 단말 간에 공통된 컨텐츠 구매, SNS를 통한 배포 등을 통해 동일 데이터가 양산되는 것이 원인일 것이다.
일반적으로, 클라우드 서버는 이러한 동일 데이터를 각 단말의 사용자 별로 할당된 저장공간에 각각 저장하므로, 동일 데이터가 저장공간에 중복되어 저장된다. 저장공간의 중복은 하나의 서비스 업체뿐만 아니라 다른 서비스 업체에서도 이루어지므로 전체적으로 매우 큰 자원 낭비를 초래할 수 있다.
따라서 본 발명은 단말에 할당되는 저장공간을 물리적 할당공간과 논리적 할당공간으로 분리하고, 동일 데이터에 대해 단말 사용자가 동의하는 경우 동일 데이터를 논리적 할당공간에 중복되지 않게 저장함으로써 자원 낭비를 줄이는 방법을 제안한다. 물리적 할당공간은 단말 사용자 별로 할당되어 데이터가 저장되는 공간이고, 논리적 할당공간은 다수의 단말 사용자에 할당되어 동일한 데이터가 중복되지 않도록 데이터가 저장되는 공간이다. 물리적 할당공간과 논리적 할당공간에 대해서는 도 3 내지 도 5를 참조로 상세히 후술한다.
도 2는 본 발명의 일 실시 예에 따라 도 1의 클라우드 서버(1)의 세부 구성도이다.
도 2를 참조하면, 클라우드 서버(1)는 스토리지(10)와 클라이언트 관리자(12)를 포함한다. 도 2에서는 클라우드 서버(1)에 스토리지(10)를 포함하여 도시하였으나, 스토리지(10)는 클라우드 서버(1)와는 분리된 서버 형태로도 구현 가능하다.
스토리지(10)는 물리적 할당공간(100), 논리적 할당공간(102) 및 매핑 테이블(104)을 포함한다. 물리적 할당공간(100)은 단말 사용자 별로 할당되어 데이터가 저장되는 공간이다. 논리적 할당공간(102)은 다수의 단말 사용자에 할당되어 동일한 데이터가 중복되지 않도록 데이터가 저장되는 공간이다. 물리적 할당공간(100)은 단말 사용자 간에 동일한 데이터가 존재하더라도 중복하여 저장되고, 논리적 할당공간(102)은 단말 사용자 간에 동일한 데이터가 존재하는 경우 중복되지 않도록 저장되되 저장된 데이터에 대해서는 데이터를 저장하지 않은 다른 단말의 접근은 차단된다. 매핑 테이블(104)은 논리적 할당공간(102)에 저장되는 데이터 별로 해당 데이터와 단말 사용자들을 매핑한 테이블이다.
클라이언트 관리자(12)는 인터넷과 연결된 단말들의 요청에 따라 데이터를 스토리지(10)의 물리적 할당공간(100) 또는 논리적 할당공간(102)에 저장한다. 논리적 할당공간(102)에 데이터를 저장하기 위해, 클라이언트 관리자(12)는 사전에 계약을 통해 단말 사용자와 논리적 할당공간(102)에 대한 사용에 동의한 것으로 가정한다.
일 실시 예에 따라 클라이언트 관리자(12)는 통신부(120), 데이터 관리부(122) 및 데이터 저장부(124)를 포함하며, 인증 처리부(126)를 더 포함할 수 있다.
통신부(120)는 인터넷을 통해 단말과 통신하는데, 업로드할 데이터와 데이터 관련정보를 송수신한다. 나아가 클라우드 서비스 시에 발생하는 요청 또는 응답 메시지를 송수신할 수 있다.
데이터 관리부(122)는 단말로부터 스토리지(10)의 논리적 할당공간(102)에 업로드를 요청받은 데이터를 분석하여 처리하고, 논리적 할당공간(102)에 저장되는 데이터 별로 데이터와 단말 사용자를 매핑한 매핑 테이블(104)을 생성하여 스토리지(10)에 저장하고 관리한다. 이때, 데이터 관리부(122)는 매핑 테이블(104)을 생성할 때, 논리적 할당공간(102)에 저장되는 데이터 별로 데이터와 매핑되는 사용자의 수를 미리 설정된 개수로 제한할 수 있다. 예를 들면, 데이터와 매핑되는 사용자의 수를 5로 제한할 수 있다.
데이터 저장부(124)는 단말로부터 논리적 할당공간(102)에 업로드를 요청받은 데이터를 데이터 관리부(122)의 데이터 분석결과에 따라 논리적 할당공간(102)에 저장한다.
일 실시 예에 따르면, 데이터 관리부(122)는 단말로부터 논리적 할당공간(102)에 업로드를 요청받은 데이터가 논리적 할당공간(102)에 이미 존재하는지 여부를 판단하여, 데이터가 이미 존재하는 경우 해당 데이터의 매핑 테이블(104)에 단말 사용자를 추가 등록하고 단말로부터 업로드를 요청받은 데이터는 폐기한다.
변형된 실시 예로, 데이터 관리부(122)는 단말로부터 업로드를 요청받은 데이터가 논리적 할당공간(102)에 이미 존재하는 경우 해당 데이터의 매핑 테이블(104)에서 사용자 수를 임계값과 비교한다. 비교 결과, 임계값보다 작으면 해당 데이터의 매핑 테이블(104)에 단말 사용자를 추가 등록한다. 이에 비하여, 임계값보다 크면 논리적 할당공간(102)에 이미 저장된 데이터를 복사하여 복사한 데이터와 단말 사용자를 매핑한 매핑 테이블(104)을 새로 생성한다.
다른 실시 예에 따르면, 데이터 관리부(122)는 단말로부터 논리적 할당공간(102)에 데이터 업로드를 요청받으면 요청받은 데이터의 정보와 데이터 정보가 동일한 데이터가 논리적 할당공간(102)에 이미 존재하는지 여부를 판단한다. 판단 결과, 동일한 데이터가 이미 존재하면 해당 데이터의 매핑 테이블에 단말 사용자를 추가 등록한다. 이에 비하여, 동일한 데이터가 존재하지 않으면 단말을 통해 해당 데이터 정보를 갖는 데이터를 전송받아 전송받은 데이터를 데이터 저장부(124)를 통해 논리적 할당공간(102)에 새로 저장한 후 새로 저장된 데이터와 단말 사용자를 매핑한 매핑 테이블(104)을 새로 생성한다.
변형된 실시 예로, 데이터 관리부(122)는 단말로부터 업로드를 요청받은 데이터의 정보와 데이터 정보가 동일한 데이터가 논리적 할당공간에 이미 존재하는 경우 해당 데이터의 매핑 테이블(104)에서 사용자 수를 임계값과 비교한다. 비교 결과, 임계값보다 작으면 매핑 테이블(104)에 단말 사용자를 추가 등록한다. 이에 비하여, 임계값보다 크면 논리적 할당공간에서 해당 데이터 정보를 갖는 데이터를 복사하고 복사한 데이터와 단말 사용자를 매핑한 매핑 테이블(104)을 새로 생성한다.
일 실시 예에 따라 데이터 관리부(122)는 단말로부터 논리적 할당공간(102)에 저장된 소정 데이터의 폐기를 요청받으면, 해당 데이터를 폐기하는 대신에, 해당 데이터의 매핑 테이블(104)에서 해당 데이터와 매핑된 단말 사용자를 삭제한다.
인증 처리부(126)는 단말로부터 업로드를 요청받은 데이터의 정보가 논리적 할당공간에 이미 저장된 데이터의 정보와 동일한지를 검사한다. 이때, 인증 처리부(126)는 데이터 동일 여부 판단을 위해, 인증서버에 해당 데이터 정보를 전송하여 동일 여부 판단을 요청하고, 인증 서버로부터 동일 여부 판단결과를 수신할 수 있다. 인증서버를 이용한 인증 실시 예에 대해서는 도 10을 참조로 후술한다. 또한, 인증 처리부(126)는 단말 사용자를 인증할 수 있는데, 이 역시 인증서버를 통해 단말을 인증할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 물리적 할당공간과 논리적 할당공간의 구조도이다.
도 3을 참조하면, 물리적 할당공간은 단말 사용자 별로 할당되는 공간으로서, 단말이 클라우드 서비스 업체와 계약 시 해당 단말에게만 할당되는 저장공간이다. 이에 비하여, 논리적 할당공간은 여러 단말 사용자가 자신의 자료를 저장할 수 있는 공간이다. 이때, 단말1 사용자가 자신의 자료를 논리적 할당공간에 저장한다고 하더라도 단말2 사용자는 단말1 사용자가 논리적 할당공간에 저장한 자료에 접근할 수는 없다. 이런 측면에서 공유의 개념과는 다르다고 할 수 있다.
도 4는 본 발명의 일 실시 예에 따라 논리적 할당공간의 사용 실시 예를 도시한 참조도이다.
도 4를 참조하면, 클라우드 서버는 논리적 할당공간에 저장된 데이터에 대해서 매핑 테이블을 작성하여 관리한다. 매핑 테이블은 데이터 별로 데이터와 단말 사용자를 매핑한 테이블이다. 단말 사용자는 클라우드 서비스 업체와 사전에 계약을 통해 논리적 할당공간 사용에 동의한 것으로 가정한다.
도 4에 도시된 바와 같이, 단말1과 단말3 사용자가 각 단말을 통해 <movie1.avi>와 <movie2.avi>를 논리적 할당공간에 저장하고, 단말2 사용자가 단말2를 통해 <movie2.avi>만을 논리적 할당공간에 저장한다고 가정한다. 이때, 클라우드 서버는 논리적 할당공간에 저장되는 데이터마다 매핑 테이블을 작성하여 관리한다.
예를 들어, 클라우드 서버는 첫 번째 <movie1.avi> 데이터에 대해서는 단말1, 단말5 사용자를 매핑하고, 두 번째 <movie2.avi> 데이터에 대해서는 단말1, 단말2, 단말3, 단말4 사용자를 매핑한다. 그리고 세 번째 <movie1.avi> 데이터에 단말3, 단말6, 단말7 사용자를 매핑한다. 도 4에서 동일한 데이터인 <movie1.avi> 데이터가 첫 번째와 세 번째로 나누어져 있는 것은, 하나의 데이터에 너무 많은 단말 사용자가 공유되는 것을 방지하기 위해 클라우드 서버가 데이터를 분산하여 저장하고 공유 수를 제한하기 때문이다.
한편, 단말 사용자가 자신의 단말을 통해 클라우드 서버의 논리적 할당공간에 데이터 업로드를 요청하면, 클라우드 서버는 요청한 데이터가 논리적 할당공간에 이미 저장된 데이터와 동일한 것인지를 확인한다. 확인 결과 동일한 경우 업로드를 요청받은 데이터를 논리적 할당공간에 추가로 저장하는 대신에, 논리적 할당공간에 이미 저장된 데이터의 매핑 테이블에 단말 사용자만을 추가 등록한다. 한편, 도 4의 실시 예에서는 단말 사용자를 매핑 테이블에 추가 등록하는 방식을 적용하고 있지만, 이외에 다양한 연결 방식으로 구현 가능하다.
도 5는 본 발명의 일 실시 예에 따라 도 4의 논리적 할당공간 사용에 따른 단말 입장에서의 데이터 저장 구조를 도시한 참조도이다.
세부적으로, 도 5는 도 4의 실시 예에서 단말 사용자가 단말을 통해 인터넷을 통해 클라우드 서버에 접속하여 자신의 계정에 로그인했을 때 단말의 화면에 보여지는 데이터 저장 구조이다.
도 5를 참조하면, 단말 사용자는 물리적 할당공간과 논리적 할당공간에 자신이 업로드한 자료에만 접근할 수 있다. 예를 들어, 도 5에 도시된 바와 같이, 단말1 사용자는 단말1을 통해 클라우드 서버의 자신의 물리적 할당공간에 업로드한 데이터들과, 논리적 할당공간에 업로드한 <movie1.avi>, <movie2.avi> 데이터에 접근할 수 있다. 이에 비하여, 단말2 사용자는 단말2를 통해 클라우드 서버의 자신의 물리적 할당공간에 업로드한 데이터들과 논리적 할당공간에 업로드한 <movie2.avi> 데이터에 접근할 수 있으나, <movie1.avi>에는 접근할 수 없다.
물리적 할당공간에 저장되는 데이터의 경우 단말들 간에 동일한 데이터가 존재하더라도 중복하여 저장되는 반면, 논리적 할당공간에 저장되는 데이터는 동일한 데이터인 경우 여러 데이터를 중복하여 저장하는 대신 데이터 별로 사용자를 매핑한 매핑 테이블을 생성하여 관리한다.
도 6은 본 발명의 일 실시 예에 따라 새로운 단말이 논리적 할당공간에 데이터를 업로드 하는 경우의 저장공간 활용을 설명하기 위한 참조도이다.
세부적으로, 도 6은 새로운 단말인 단말8(2-8)이 <movie2.avi> 데이터를 논리적 할당공간(102)에 저장하는 경우의 실시 예를 보여준다. 먼저, 클라우드 서버(1)는 단말8(2-8)로부터 논리적 할당공간(102)에 업로드를 요청받은 <movie2.avi> 데이터가 논리적 할당공간(102)에 이미 존재하는지 여부를 확인한다.
단말8(2-8)로부터 업로드를 요청받은 데이터가 논리적 할당공간(102)의 데이터와 동일한지를 확인하는 방법은, 직접적인 데이터 내용 비교 방법 또는 인증서버를 이용한 데이터 인증방법 등이 있을 수 있다. 인증서버를 이용한 데이터 인증방법에 대해서는 도 10에서 후술한다.
클라우드 서버(1)는 단말8(2-8)로부터 업로드를 요청받은 데이터가 논리적 할당공간(102)에 이미 존재함을 확인하면, 해당 데이터를 논리적 할당공간(102)에 추가로 저장하는 대신에, 해당 데이터의 매핑 테이블(104)에 단말8(2-8) 사용자를 추가 등록하고, 단말8(2-8)로부터 업로드를 요청받은 데이터는 폐기한다.
도 7은 본 발명의 일 실시 예에 따라 단말이 논리적 할당공간에 데이터를 업로드 하는 경우 클라우드 서버의 저장공간 활용 방법을 도시한 흐름도이다.
도 7을 참조하면, 단말이 논리적 할당공간에 데이터 업로드를 요청(700)하면, 클라우드 서버는 업로드를 요청받은 데이터와 동일한 데이터가 논리적 할당공간에 이미 존재하는지 여부를 판단한다(710).
존재 여부 판단(710) 결과, 논리적 할당공간에 존재하지 않으면 논리적 할당공간에 해당 데이터를 저장한 후 매핑 테이블을 새로 생성하여 생성된 매핑 테이블에 단말 사용자를 등록한다(720). 이에 비하여, 해당 데이터가 논리적 할당공간에 이미 존재하면 해당 데이터의 매핑 테이블의 사용자 수가 임계값보다 작은지 확인한다(730). 예를 들어, 임계값이 5인 경우 매핑 테이블에서 해당 데이터와 매핑된 사용자 수가 5보다 작은지를 확인한다.
확인(730) 결과, 사용자 수가 임계값보다 작으면 매핑 테이블에 단말 사용자를 추가 등록하고 단말이 업로드를 요청한 데이터는 폐기한다(740). 이에 비하여 임계값보다 크면 논리적 할당공간의 데이터를 새로 복사한 후 새로 복사한 데이터와 단말 사용자를 매핑한 매핑 테이블을 새로 생성한다(750). 이때 동일 클라우드 서버에 데이터를 복사할 수도 있지만 트래픽 집중화를 방지하기 위해 미러링(mirroring) 등을 통해 분산된 클라우드 서버에 데이터를 저장할 수도 있다.
도 8은 본 발명의 일 실시 예에 따라 단말이 논리적 할당공간에 데이터 업로드를 요청 시에 데이터 정보만을 먼저 전송하는 경우 클라우드 서버의 저장공간 활용방법을 도시한 흐름도이다.
도 8을 참조하면, 단말이 클라우드 서버의 논리적 할당공간에 데이터 업로드를 요청(800)하면, 클라우드 서버는 단말로부터 데이터 대신 데이터의 정보를 전달받아, 논리적 할당공간에 저장된 데이터들 중에서, 데이터 정보가 단말로부터 전달받은 데이터 정보와 일치하는 데이터가 존재하는지를 판단한다(810). 단말이 논리적 할당공간에 업로드 하고자 하는 데이터에 대한 정보가 논리적 할당공간에 저장된 데이터와 동일한지 여부를, 데이터를 업로드 하지 않은 상태에서 정확히 알기 위해서는 데이터 정보 자체가 표준화되어 있거나 인증정보가 함께 기록되어 있어야 할 수도 있다.
일치 여부 판단(810) 결과, 일치하는 데이터가 존재하지 않으면 단말에 해당 데이터 정보를 갖는 데이터를 요청하여 전송받고, 전송받은 데이터를 논리적 할당공간에 새로 저장한 후 새로 저장된 데이터와 단말 사용자를 매핑한 매핑 테이블을 새로 생성한다(820).
일치 여부 판단(810) 결과, 일치하는 데이터가 존재하면 해당 데이터의 매핑 테이블에서 사용자 수를 임계값과 비교한다(830). 임계값 비교(830) 결과, 사용자 수가 임계값보다 작으면 매핑 테이블에 단말 사용자를 추가 등록한다(840). 이때, 단말이 굳이 데이터 자체를 업로드 할 필요 없이, 클라우드 서버 내부에서 기존 데이터의 매핑 테이블에 단말 사용자만을 등록하면 된다. 이에 비하여, 임계값보다 크면 논리적 할당공간에서 해당 데이터 정보를 갖는 데이터를 새로 복사하고 새로 복사한 데이터와 단말 사용자를 매핑한 매핑 테이블을 새로 생성한다(850). 이때 동일 클라우드 서버에 데이터를 복사할 수도 있지만, 트래픽 집중화를 방지하기 위해 미러링 등을 통해 분산된 클라우드 서버에 데이터를 저장할 수 있다.
도 9는 본 발명의 일 실시 예에 따라 단말이 논리적 할당공간의 데이터 폐기 요청한 경우 클라우드 서버의 저장공간 활용방법을 도시한 흐름도이다.
도 9를 참조하면, 클라우드 서버는 단말로부터 논리적 할당공간에 저장된 소정 데이터의 폐기를 요청받는다(900). 그러면, 클라우드 서버는 해당 데이터를 폐기하는 대신에, 해당 데이터의 매핑 테이블에서 해당 데이터와 매핑된 단말 사용자를 삭제한다(910). 이때, 해당 단말에는 논리적 할당공간에 폐기를 요청한 데이터가 폐기된 것으로 표시된다.
도 10은 도 6의 클라우드 서비스 사용 예에서 인증서버(3)를 추가한 경우 인증서버(3)의 데이터 인증 예를 설명하는 참조도이다.
도 10을 참조하면, 클라우드 서버(1)는 단말들, 예를 들어 도 10에 도시된 단말1(2-1), 단말2(2-2), 단말3(2-3)의 사용자가 해당 단말들을 통해 클라우드 서버(1)의 논리적 할당공간에 업로드 하고자 하는 데이터의 정보를 인증서버(3)에 전달한다. 그러면, 인증서버(3)는 전달받은 데이터 정보가 논리적 할당공간에 저장된 데이터 정보와 일치하는지를 인증하고, 인증 결과를 클라우드 서버(1)에 제공한다. 인증서버(3)는 여러 개의 클라우드 서버 또는 사업자들의 클라우드 서버로부터 인증 서비스를 요청받아 인증을 수행할 수 있다. 인증서버(3)는 여러 클라우드 서비스 업체가 공용으로 사용할 수도 있다.
이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
1 : 클라우드 서버 2 : 단말
10 : 스토리지 100 : 물리적 할당공간
102 : 논리적 할당공간 104 : 매핑 테이블
12 : 클라이언트 관리자 120 : 통신부
122 : 데이터 관리부 124 : 데이터 저장부
126 : 인증 처리부

Claims (18)

  1. 단말 사용자 별로 할당되어 데이터가 저장되는 물리적 할당공간과, 다수의 단말 사용자에 할당되어 동일한 데이터가 중복되지 않도록 데이터가 저장되는 논리적 할당공간을 포함하는 스토리지; 및
    인터넷과 연결된 단말의 요청에 따라 데이터를 상기 스토리지의 물리적 할당공간 또는 논리적 할당공간에 저장하는 클라이언트 관리자;
    를 포함하는 것을 특징으로 하는 클라우드 서버.
  2. 제 1 항에 있어서,
    상기 스토리지의 물리적 할당공간은 단말 사용자 간에 동일한 데이터가 존재하더라도 중복하여 저장되고, 논리적 할당공간은 단말 사용자 간에 동일한 데이터가 존재하는 경우 중복되지 않도록 저장되되 저장된 데이터에 대해서는 데이터를 저장하지 않은 다른 단말의 접근은 차단되는 것을 특징으로 하는 클라우드 서버.
  3. 제 1 항에 있어서, 상기 클라이언트 관리자는,
    단말로부터 논리적 할당공간에 업로드를 요청받은 데이터를 분석하여 처리하고, 논리적 할당공간에 저장되는 데이터 별로 데이터와 단말 사용자를 매핑한 매핑 테이블을 생성하여 관리하는 데이터 관리부; 및
    상기 단말로부터 논리적 할당공간에 업로드를 요청받은 데이터를 상기 데이터 관리부의 데이터 분석결과에 따라 논리적 할당공간에 저장하는 데이터 저장부;
    를 포함하는 것을 특징으로 하는 클라우드 서버.
  4. 제 3 항에 있어서, 상기 데이터 관리부는,
    매핑 테이블에 있어서, 논리적 할당공간에 저장되는 데이터 별로 데이터와 매핑되는 사용자의 수를 미리 설정된 개수로 제한하는 것을 특징으로 하는 클라우드 서버.
  5. 제 3 항에 있어서, 상기 데이터 관리부는,
    단말로부터 논리적 할당공간에 업로드를 요청받은 데이터가 논리적 할당공간에 이미 존재하는지 여부를 판단하여, 데이터가 존재하는 경우 해당 데이터의 매핑 테이블에 단말 사용자를 추가 등록하고 상기 단말로부터 업로드를 요청받은 데이터는 폐기하는 것을 특징으로 하는 클라우드 서버.
  6. 제 3 항에 있어서, 상기 데이터 관리부는,
    단말로부터 논리적 할당공간에 업로드를 요청받은 데이터가 논리적 할당공간에 이미 존재하는지 여부를 판단하여, 데이터가 존재하는 경우 해당 데이터의 매핑 테이블에서 사용자 수를 임계값과 비교하고, 임계값보다 작으면 해당 데이터의 매핑 테이블에 단말 사용자를 추가 등록하며, 임계값보다 크면 논리적 할당공간에 이미 저장된 데이터를 복사하여 복사한 데이터와 단말 사용자를 매핑한 매핑 테이블을 새로 생성하는 것을 특징으로 하는 클라우드 서버.
  7. 제 3 항에 있어서, 상기 데이터 관리부는,
    단말로부터 논리적 할당공간에 데이터 업로드를 요청받으면 요청받은 데이터의 정보와 데이터 정보가 동일한 데이터가 논리적 할당공간에 이미 존재하는지 여부를 판단하고, 동일한 데이터가 존재하면 해당 데이터의 매핑 테이블에 단말 사용자를 추가 등록하며, 동일한 데이터가 존재하지 않으면 상기 단말을 통해 해당 데이터 정보를 갖는 데이터를 전송받아 전송받은 데이터를 상기 데이터 저장부를 통해 논리적 할당공간에 새로 저장한 후 새로 저장된 데이터와 단말 사용자를 매핑한 매핑 테이블을 새로 생성하는 것을 특징으로 하는 클라우드 서버.
  8. 제 3 항에 있어서, 상기 데이터 관리부는,
    단말로부터 논리적 할당공간에 데이터 업로드를 요청받으면 요청받은 데이터의 정보와 데이터 정보가 동일한 데이터가 논리적 할당공간에 이미 존재하는지 여부를 판단하고, 동일한 데이터가 존재하면 해당 데이터의 매핑 테이블에서 사용자 수를 임계값과 비교하고, 임계값보다 작으면 매핑 테이블에 단말 사용자를 추가 등록하고, 임계값보다 크면 논리적 할당공간에서 해당 데이터 정보를 갖는 데이터를 복사하고 복사한 데이터와 단말 사용자를 매핑한 매핑 테이블을 새로 생성하는 것을 특징으로 하는 클라우드 서버.
  9. 제 3 항에 있어서, 상기 클라우드 서버는,
    상기 단말로부터 업로드를 요청받은 데이터의 정보가 논리적 할당공간에 이미 저장된 데이터의 정보와 동일한지를 확인하기 위해 인증서버에 해당 데이터 정보를 전송하여 동일 여부 판단을 요청하고, 상기 인증 서버로부터 동일 여부 판단결과를 수신하는 인증 처리부;
    를 더 포함하는 것을 특징으로 하는 클라우드 서버.
  10. 제 3 항에 있어서, 상기 데이터 관리부는,
    단말로부터 논리적 할당공간에 저장된 소정의 데이터 폐기를 요청받으면, 해당 데이터의 매핑 테이블에서 해당 데이터와 매핑된 단말 사용자를 삭제하는 것을 특징으로 하는 클라우드 서버.
  11. 단말로부터 논리적 할당공간에 업로드를 요청받은 데이터가 논리적 할당공간에 이미 존재하는지 여부를 판단하는 단계;
    데이터가 존재하는 경우 해당 데이터의 매핑 테이블에 단말 사용자를 추가 등록하고 상기 단말로부터 업로드를 요청받은 데이터를 폐기하는 단계; 및
    데이터가 존재하지 않으면 상기 단말을 통해 전송받은 데이터를 논리적 할당공간에 저장하고, 저장된 데이터와 단말 사용자를 매핑한 매핑 테이블을 생성하여 관리하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 서버의 데이터 관리방법.
  12. 제 11 항에 있어서, 상기 데이터를 폐기하는 단계는,
    단말로부터 업로드를 요청받은 데이터가 논리적 할당공간에 이미 존재하는 경우 해당 데이터의 매핑 테이블에서 사용자 수를 임계값과 비교하는 단계;
    임계값보다 작으면 해당 데이터의 매핑 테이블에 단말 사용자를 추가 등록하고 상기 단말로부터 업로드를 요청받은 데이터를 폐기하는 단계; 및
    임계값보다 크면 논리적 할당공간에 이미 저장된 데이터를 복사하여 복사한 데이터와 단말 사용자를 매핑한 매핑 테이블을 새로 생성하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 서버의 데이터 관리방법.
  13. 제 11 항에 있어서, 상기 데이터를 폐기하는 단계는,
    단말로부터 업로드를 요청받은 데이터가 논리적 할당공간에 이미 존재하는 경우 해당 데이터의 매핑 테이블에서 사용자 수를 임계값과 비교하는 단계;
    임계값보다 작으면 해당 데이터의 매핑 테이블에 단말 사용자를 추가 등록하고 상기 단말로부터 업로드를 요청받은 데이터를 폐기하는 단계; 및
    임계값보다 크면 미러링을 통해 다른 클라우드 서버에 해당 데이터를 분산시키는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 서버의 데이터 관리방법.
  14. 제 11 항에 있어서,
    단말로부터 논리적 할당공간에 저장된 소정 데이터의 폐기를 요청받으면, 해당 데이터의 매핑 테이블에서 해당 데이터와 매핑된 단말 사용자를 삭제하는 단계;
    를 더 포함하는 것을 특징으로 하는 클라우드 서버의 데이터 관리방법.
  15. 단말로부터 논리적 할당공간에 데이터 업로드를 요청받으면 요청받은 데이터의 정보와 데이터 정보가 동일한 데이터가 논리적 할당공간에 이미 존재하는지 여부를 판단하는 단계;
    동일한 데이터가 존재하면 해당 데이터의 매핑 테이블에 단말 사용자를 추가 등록하는 단계; 및
    동일한 데이터가 존재하지 않으면 상기 단말을 통해 해당 데이터 정보를 갖는 데이터를 전송받아 전송받은 데이터를 논리적 할당공간에 새로 저장한 후 새로 저장된 데이터와 단말 사용자를 매핑한 매핑 테이블을 새로 생성하여 관리하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 서버의 데이터 관리방법.
  16. 제 15 항에 있어서, 상기 추가 등록하는 단계는,
    상기 단말로부터 업로드를 요청받은 데이터의 정보와 데이터 정보가 동일한 데이터가 논리적 할당공간에 이미 존재하는 경우 해당 데이터의 매핑 테이블에서 사용자 수를 임계값과 비교하는 단계;
    임계값보다 작으면 매핑 테이블에 단말 사용자를 추가 등록하는 단계; 및
    임계값보다 크면 논리적 할당공간에서 해당 데이터 정보를 갖는 데이터를 복사하고 복사한 데이터와 단말 사용자를 매핑한 매핑 테이블을 새로 생성하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 서버의 데이터 관리방법.
  17. 제 15 항에 있어서, 상기 추가 등록하는 단계는,
    상기 단말로부터 업로드를 요청받은 데이터의 정보와 데이터 정보가 동일한 데이터가 논리적 할당공간에 이미 존재하는 경우 해당 데이터의 매핑 테이블에서 사용자 수를 임계값과 비교하는 단계;
    임계값보다 작으면 매핑 테이블에 단말 사용자를 추가 등록하는 단계; 및
    임계값보다 크면 미러링을 통해 다른 클라우드 서버에 해당 데이터를 분산시키는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 서버의 데이터 관리방법.
  18. 제 15 항에 있어서, 상기 데이터 정보가 동일한 데이터가 논리적 할당공간에 이미 존재하는지 여부를 판단하는 단계는,
    상기 단말로부터 업로드를 요청받은 데이터의 정보가 논리적 할당공간에 이미 저장된 데이터의 정보와 동일한지를 확인하기 위해 인증서버에 해당 데이터 정보를 전송하여 동일 여부 판단을 요청하고, 상기 인증 서버로부터 동일 여부 판단결과를 수신하여 동일 여부를 판단하는 것을 특징으로 하는 클라우드 서버의 데이터 관리방법.
KR1020120126196A 2012-11-08 2012-11-08 클라우드 서버 및 그 데이터 관리방법 KR20140059592A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120126196A KR20140059592A (ko) 2012-11-08 2012-11-08 클라우드 서버 및 그 데이터 관리방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120126196A KR20140059592A (ko) 2012-11-08 2012-11-08 클라우드 서버 및 그 데이터 관리방법

Publications (1)

Publication Number Publication Date
KR20140059592A true KR20140059592A (ko) 2014-05-16

Family

ID=50889372

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120126196A KR20140059592A (ko) 2012-11-08 2012-11-08 클라우드 서버 및 그 데이터 관리방법

Country Status (1)

Country Link
KR (1) KR20140059592A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101513223B1 (ko) * 2014-06-09 2015-04-20 차보영 양방향 스토리텔 미러링(storytell-mirroring) 사이버 교육 방송장치 제어방법
KR102216841B1 (ko) * 2020-05-19 2021-02-18 (주)이스트소프트 유동적인 메모리 사용을 기반으로 하는 고속 압축 해제를 위한 장치, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101513223B1 (ko) * 2014-06-09 2015-04-20 차보영 양방향 스토리텔 미러링(storytell-mirroring) 사이버 교육 방송장치 제어방법
KR102216841B1 (ko) * 2020-05-19 2021-02-18 (주)이스트소프트 유동적인 메모리 사용을 기반으로 하는 고속 압축 해제를 위한 장치, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체

Similar Documents

Publication Publication Date Title
CN113711536B (zh) 从区块链网络中提取数据
US10601960B2 (en) Zero-knowledge environment based networking engine
RU2598324C2 (ru) Средства управления доступом к онлайновой службе с использованием внемасштабных признаков каталога
US8972366B2 (en) Cloud-based directory system based on hashed values of parent and child storage locations
US8590050B2 (en) Security compliant data storage management
TWI473029B (zh) 可延伸及可程式化之多租戶服務結構
US10067940B2 (en) Enhanced storage quota management for cloud computing systems
US11093482B2 (en) Managing access by third parties to data in a network
US20150347742A1 (en) Configuring identity federation configuration
US9930063B2 (en) Random identifier generation for offline database
CN109597640B (zh) 一种应用程序的账号管理方法、装置、设备和介质
US9591079B2 (en) Method and apparatus for managing sessions of different websites
US20160380954A1 (en) Identification of employees on external social media
US20240106902A1 (en) Communication protocols for an online content management system
CN104866976A (zh) 面向多租户的管理信息系统
CN106506568B (zh) 信息交互系统
US8448258B2 (en) Security classification based on user interaction
US20150134861A1 (en) Personal cloud storage chain service system and method
JP2005208999A (ja) 仮想マシン管理プログラム
KR20140059592A (ko) 클라우드 서버 및 그 데이터 관리방법
US10275579B2 (en) Video file attribution
US11687627B2 (en) Media transit management in cyberspace
US20140279990A1 (en) Managing identifiers
US10171388B2 (en) Message retrieval in a distributed computing network
US9961132B2 (en) Placing a user account in escrow

Legal Events

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