KR20210038285A - Apparatus and method for managing integrated storage supporting hierachical structure - Google Patents

Apparatus and method for managing integrated storage supporting hierachical structure Download PDF

Info

Publication number
KR20210038285A
KR20210038285A KR1020200038966A KR20200038966A KR20210038285A KR 20210038285 A KR20210038285 A KR 20210038285A KR 1020200038966 A KR1020200038966 A KR 1020200038966A KR 20200038966 A KR20200038966 A KR 20200038966A KR 20210038285 A KR20210038285 A KR 20210038285A
Authority
KR
South Korea
Prior art keywords
storage
data
integrated
service
unit
Prior art date
Application number
KR1020200038966A
Other languages
Korean (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 US17/019,925 priority Critical patent/US11327686B2/en
Publication of KR20210038285A publication Critical patent/KR20210038285A/en

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
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • 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/21Design, administration or maintenance of databases

Abstract

Disclosed are a device and method for managing a hierarchical structure support combined storage. The device for managing the hierarchical structure support combined storage according to one embodiment of the present invention comprises: one or more processors; and an executable memory for storing at least one program to be executed by the one or more processors. The at least one program tiers public cloud storage and storages included in on-premises storage according to storage characteristics, stores data in tiered storages according to the storage characteristics, and stores data in tiered storages according to the characteristics of the data. Therefore, the present invention is capable of fundamentally blocking the leakage of sensitive data.

Description

계층형 구조 지원 통합 스토리지 관리 장치 및 방법 {APPARATUS AND METHOD FOR MANAGING INTEGRATED STORAGE SUPPORTING HIERACHICAL STRUCTURE}Hierarchical structure support integrated storage management device and method {APPARATUS AND METHOD FOR MANAGING INTEGRATED STORAGE SUPPORTING HIERACHICAL STRUCTURE}

본 발명은 계층형 구조를 지원하는 통합 스토리지 관리 기술에 관한 것으로, 보다 상세하게는 클라우드 컴퓨팅 환경에서 클라우드 스토리지와 논-클라우드 스토리지의 스토리지의 계층적 구조를 지원하는 통합 스토리지 관리 기술에 관한 것이다.The present invention relates to an integrated storage management technology supporting a hierarchical structure, and more particularly, to an integrated storage management technology supporting a hierarchical structure of storage of cloud storage and non-cloud storage in a cloud computing environment.

현재 사용자가 원하는 서비스를 시간과 장소의 제약 없이 빌려서 사용하는 클라우드 컴퓨팅에 대한 기술 개발 및 시장 수요가 증가하고 있다. 클라우드 컴퓨팅은 각 사용자별로 전용의 HW 및 SW를 구축하지 않아도 인터넷을 통해 사용자가 원하는 네크워크 및 스토리지, 컴퓨팅 서비스를 제공할 수 있다.Currently, technology development and market demand for cloud computing that users want to use by borrowing services without time and place constraints is increasing. Cloud computing can provide network, storage, and computing services desired by users through the Internet without having to build dedicated HW and SW for each user.

클라우드 컴퓨팅 기술 중 데이터 저장 서비스와 관련된 스토리지 시스템의 경우, 사용자는 단순히 시스템이 제공하는 안전하고 편리한 서비스 인터페이스를 통해 데이터 저장을 요청할 수 있다. 이 때, 데이터는 온프레미스-퍼블릭 클라우드 스토리지가 통합된 단일 형상의 저장소에 저장되는 클라우드 통합 스토리지 시스템이 개발되고 있다. In the case of a storage system related to a data storage service among cloud computing technologies, a user can simply request data storage through a secure and convenient service interface provided by the system. At this time, a cloud integrated storage system is being developed in which data is stored in a single type of storage in which on-premises-public cloud storage is integrated.

특히, 클라우드 통합 스토리지 시스템은 기업 및 기관이 보유한 온프레미스(On-Premise) 스토리지와 클라우드 사업자가 제공하는 퍼블릭 클라우드 스토리지의 장점을 모두 활용할 수 있는 단일 형상의 온프레미스-퍼블릭 스토리지를 통합 관리및 운영할 수 있다.In particular, the cloud unified storage system integrates and manages and operates a single form of on-premises-public storage that can take advantage of both on-premise storage owned by companies and organizations and public cloud storage provided by cloud providers. I can.

클라우드 통합 스토리지 시스템은 단일 형상의 온프레미스-퍼블릭 스토리지를 통해 저장공간의 탄력성 및 비용 효율성을 확보하고 민감데이터의 통제권과 신뢰성을 보장하는 융합 스토리지 인프라 서비스 제공할 수 있다.The cloud integrated storage system can provide a converged storage infrastructure service that secures elasticity and cost efficiency of storage space and guarantees control and reliability of sensitive data through a single form of on-premises-public storage.

이를 통해, 클라우드 통합 스토리지 시스템은 새로운 비즈니스 창출 및 다양한 분야에 활용하기 위한 클라우드 서비스의 활용 편의성을 확대할 수 있다. Through this, the cloud integrated storage system can create new business and expand the convenience of using cloud services for use in various fields.

종래의 유사한 시스템의 동향을 살펴 보면 아래와 같다Looking at the trend of the conventional similar system is as follows.

'IDC 3rd Platform(실시간 분석, IoT, AI 컴퓨팅)'는 운영을 지원하기 위하여, 하이브리드 클라우드 컴퓨팅 서비스를 구축 및 도입하고자 하는 요구사항이 증가하고 있다.In order to support the operation of'IDC 3rd Platform (real-time analysis, IoT, AI computing)', requirements to build and introduce hybrid cloud computing services are increasing.

'IDC 3rd Platform(실시간 분석, IoT, AI 컴퓨팅)'는 다양한 클라우드의 모델을 하나로 통합하여, 컴퓨팅 자원의 확장을 지원하고 자동화 및 컴퓨팅 환경의 관리 효율성 향상에 목적을 두고 있다.'IDC 3rd Platform (real-time analysis, IoT, AI computing)' aims to support the expansion of computing resources by integrating various cloud models into one, and to improve the management efficiency of automation and computing environment.

HP는 OpenStack 구조를 기반으로 REST API 기반 인프라 관리 기능을 제공하며 일부 서비스는 Amazon AWS 호환되도록 설계된 자사의 오픈소스인 Helion Eucalyputs 플랫폼을 제공하고 있다. HP provides REST API-based infrastructure management functions based on the OpenStack structure, and some services are providing its own open source Helion Eucalyputs platform designed to be compatible with Amazon AWS.

VMware는 기존 VMware 가상화 및 인프라를 기반으로 서버, 스토리지, 네트워크 가상화 기술을 통합적으로 제공하는 vCHS(vCloud Hybrid Service)를 발표하였다.VMware announced vCHS (vCloud Hybrid Service), which provides server, storage, and network virtualization technologies based on the existing VMware virtualization and infrastructure.

Rackspace는 클라우드 인프라 영역의 확장을 중점으로 클라우드 서버, 기업의 SAN 스토리지를 통합하고 Cisco ASA 방화벽을 통한 데이터 보호를 지원하고있다.Rackspace focuses on expanding the cloud infrastructure area, consolidating cloud servers and enterprise SAN storage, and supporting data protection through Cisco ASA firewall.

Avere System의 Avere FlashCloud, MS의 Storsimple은 데이터 백업 및 아카이브, Tier2 수준의 어플리케이션, 재해복구 서비스를 제공하기 위해 로컬 및 클라우드 스토리지를 데이터 사용빈도에 따라 구분한 스토리지 계층(Storage Tiering) 구조의 클라우드 스토리지 게이트웨이 기술을 보유하고 있다.Avere System's Avere FlashCloud and MS's Storsimple are cloud storage gateways with a storage tiering structure that divides local and cloud storage according to data usage frequency to provide data backup and archive, Tier2 level applications, and disaster recovery services. I have the technology.

로컬 및 퍼블릭 스토리지 양쪽에 같은 데이터를 복제(Replication) 형태로 운용하는 기술은 클라우드 스토리지 게이트웨이 복사(Copy) 구조이며, Ctera Networks Cloud Storage Gateway 솔루션이 있음. 해당 기술은 파일 분산 및 파일 동기화 및 공유 서비스를 추가적으로 제공하고 있다.The technology that operates the same data in both local and public storage in the form of replication is a cloud storage gateway copy structure, and there is a Ctera Networks Cloud Storage Gateway solution. The technology additionally provides file distribution and file synchronization and sharing services.

클라우드 통합 스토리지는 온프레미스 스토리지와 클라우드 스토리지를 하나로 통합하여 운영하는 스토리지 시스템이다. 클라우드 통합 스토리지는 데이터의 특성에 기반해서 자동으로 온프레미스 스토리지와 클라우드 스토리지에 데이터를 자동으로 분산 저장하거나 이동 저장할 수 있다. 또한 사용자의 명령에 의해서 수동으로 특정 온프레미스 스토리지나 클라우드 스토리지에 데이터를 저장할 수 있다.Cloud integrated storage is a storage system that integrates on-premises storage and cloud storage into one. Cloud unified storage can automatically distribute or move data to on-premises storage and cloud storage based on the characteristics of the data. In addition, data can be manually saved to a specific on-premises storage or cloud storage at the user's command.

스토리지에 저장된 데이터는 다양한 데이터 처리 서비스를 위해서 사용되고 있으나, 금융, 의료, 개인 정보과 같은 보안에 민감한 데이터를 서비스하는 것에 대해서 여전히 데이터 유출의 위험이 존재한다. 특히, 이러한 데이터를 클라우드상에서 서비스하는 경우에는 데이터 유출의 위험이 더 증가한다. 그 이유는 온프레미스나 클라우드 시스템들이 다양한 보안 기능을 제공하더라도, 다양한 해킹 기법 및 사람에 의한 데이터 유출을 원천적으로 차단할 수 없기 때문이다.The data stored in the storage is used for various data processing services, but there is still a risk of data leakage when servicing security-sensitive data such as financial, medical, and personal information. In particular, when such data is serviced on the cloud, the risk of data leakage further increases. The reason is that even if on-premises or cloud systems provide various security functions, various hacking techniques and data leakage by humans cannot be fundamentally blocked.

데이터는 보안을 위해서 암호화된 후에 스토리지에 저장된다. 암호화된 데이터는 유출이 되더라도 키가 없으면 복호화가 불가능하기 때문에 안전하다. 그러나, 해당 데이터에 대한 데이터 처리 서비스를 진행하려면 암호화된 데이터를 복호화해야 한다. 복호화된 데이터는 유출이 되었을 경우, 민감한 데이터가 그대로 노출이 되기 때문에 문제가 된다. 따라서 민감 데이터에 대한 처리 서비스를 제공하는 기존의 시스템에서는 데이터의 유출을 원천적으로 차단할 수 있는 방법이 없다. Data is encrypted for security and then stored in storage. Even if encrypted data is leaked, it is safe because it cannot be decrypted without a key. However, in order to perform a data processing service for the data, the encrypted data must be decrypted. If the decrypted data is leaked, it is a problem because sensitive data is exposed as it is. Therefore, in the existing system that provides processing services for sensitive data, there is no way to fundamentally block data leakage.

한편, 한국공개특허 제 10-2019-0045049 호“통합 스토리지 관리 장치 및 방법”는 온프레미스 스토리지 및 클라우드 스토리지를 포함하는 통합 스토리지에 저장하기 위해 데이터를 분산하여 저장하고 데이터를 관리하는 통합 스토리지 관리 장치 및 방법 에 관하여 개시하고 있다.Meanwhile, Korean Patent Laid-Open No. 10-2019-0045049 "Integrated Storage Management Device and Method" is an integrated storage management device that distributes and stores data and manages data for storage in integrated storage including on-premises storage and cloud storage. And a method.

본 발명은 스토리지에 저장된 민감 데이터의 유출을 원천적으로 차단하면서, 민감 데이터에 대한 처리 서비스를 동시에 지원하는 것을 목적으로 한다.An object of the present invention is to simultaneously support a processing service for sensitive data while preventing leakage of sensitive data stored in a storage.

또한, 본 발명은 스토리지에 저장된 암호화 데이터를 복호화하여 민감 데이터 처리 서비스를 제공하고, 민감 데이터의 유출을 원천적으로 차단하는 것을 목적으로 한다.In addition, an object of the present invention is to provide a sensitive data processing service by decrypting encrypted data stored in a storage, and to fundamentally block the leakage of sensitive data.

또한, 본 발명은 클라우드 스토리지와 온프레미스 스토리지를 통합한 통합 스토리지의 읽기/쓰기 성능을 향상시키는 것을 목적으로 한다,In addition, the present invention aims to improve the read/write performance of the unified storage in which cloud storage and on-premises storage are integrated.

또한, 본 발명은 통합 스토리지가 포함하는 클라우드 스토리지와 온프레미스 스토리지를 동일한 성능으로 데이터 저장 서비스를 제공하는 것을 목적으로 한다.In addition, an object of the present invention is to provide a data storage service with the same performance as the cloud storage and the on-premises storage included in the integrated storage.

또한, 본 발명은 저장공간의 탄력성 및 비용 효율성을 기반으로 사용자의 데이터를 이동시키는 것을 목적으로 한다.In addition, an object of the present invention is to move the user's data based on the elasticity and cost efficiency of the storage space.

또한, 본 발명은 Amazon S3, MS Azure 등의 다양한 클라우드 스토리지를 지원하여 사용자들의 요구에 맞는 통합 스토리지의 서비스를 제공하는 것을 목적으로 한다.In addition, an object of the present invention is to provide a service of integrated storage that meets the needs of users by supporting various cloud storages such as Amazon S3 and MS Azure.

또한, 본 발명은 클라우드 스토리지에 온프레미스 스토리지 수준의 접근 속도를 제공하는 것을 목적으로 한다.In addition, an object of the present invention is to provide cloud storage with access speed of an on-premises storage level.

또한, 본 발명은 사용자가 다양한 서비스 프로토콜을 사용하여 클라우드 통합 스토리지에 접근할 수 있도록 서비스 인터페이스를 제공하는 것을 목적으로 한다.In addition, an object of the present invention is to provide a service interface so that a user can access the cloud integrated storage using various service protocols.

또한, 본 발명은 종래의 전통적인 파일, 블록 수준의 스토리지 서비스 및 최근의 클라우드 스토리지에서 제공하는 오브젝트 방식의 스토리지 서비스 등 다양한 방식의 스토리지 서비스를 제공하는 것을 목적으로 한다.In addition, an object of the present invention is to provide various types of storage services, such as a conventional traditional file, block-level storage service, and an object type storage service provided by the recent cloud storage.

또한, 본 발명은 온프레미스 스토리지와 클라우드 스토리지 간의 안전한 데이터 전송을 보장하여 사용자의 데이터 기밀성을 보장하는 것을 목적으로 한다 In addition, an object of the present invention is to ensure secure data transmission between on-premises storage and cloud storage to ensure user data confidentiality.

또한, 본 발명은 시스템의 오류로 인한 데이터 손실을 방지하는 것을 목적으로 한다.In addition, an object of the present invention is to prevent data loss due to a system error.

또한, 본 발명은 복수개의 클라우드 서비스를 동시에 수행하는 멀티 테넌트 기능을 지원하는 것을 목적으로 한다.In addition, an object of the present invention is to support a multi-tenant function that simultaneously performs a plurality of cloud services.

또한, 본 발명은 온프레미스 스토리지와 퍼블릭 클라우드 스토리지의 스토리지들을 계층형 구조로 관리하여 스토리지 관리 성능을 향상시키는 것을 목적으로 한다.In addition, an object of the present invention is to improve storage management performance by managing storages of on-premises storage and public cloud storage in a hierarchical structure.

또한, 본 발명은 사용자의 데이터 노출에 대한 위험을 줄이고, 퍼블릭 클라우드의 컴퓨팅 자원 활용을 활성화하는 것을 목적으로 한다.In addition, an object of the present invention is to reduce the risk of a user's data exposure and to activate the use of computing resources in the public cloud.

상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 계층형 구조 지원 통합 스토리지 관리 장치는 하나 이상의 프로세서; 및 상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리를 포함하고, 상기 적어도 하나 이상의 프로그램은 퍼블릭 클라우드 스토리지 및 온프레미스 스토리지에 포함된 스토리지들을 스토리지 특성에 따라 계층화하고, 상기 스토리지 특성에 따라 계층화된 스토리지들에 데이터를 저장하고, 상기 데이터의 특성에 따라 계층화된 스토리지들에 데이터를 저장할 수 있다.An integrated storage management apparatus supporting a hierarchical structure according to an embodiment of the present invention for achieving the above object comprises: one or more processors; And an execution memory storing at least one program executed by the one or more processors, wherein the at least one program tier storages included in public cloud storage and on-premises storage according to storage characteristics, and the storage characteristics Data may be stored in the tiered storages according to the data, and data may be stored in the tiered storages according to the characteristics of the data.

이 때, 상기 적어도 하나 이상의 프로그램은 스토리지들을 성능 등급 계층, 용량 등급 계층 및 보관 등급 계층으로 분류하여 관리할 수 있다.In this case, the at least one program may classify and manage the storages into a performance class tier, a capacity class tier, and a storage class tier.

이 때, 상기 적어도 하나 이상의 프로그램은 메모리 및 플래시 스토리지를 성능 등급 계층에서 관리할 수 있다.In this case, the at least one program may manage memory and flash storage in a performance level layer.

이 때, 상기 적어도 하나 이상의 프로그램은 온프레미스 스토리지를 용량 등급 계층에서 관리할 수 있다.In this case, the at least one program may manage on-premises storage in a capacity class layer.

이 때, 상기 적어도 하나 이상의 프로그램은 퍼블릭 클라우드 스토리지를 보관 등급 계층에서 관리할 수 있다.In this case, the at least one program may manage public cloud storage in a storage level layer.

이 때, 상기 적어도 하나 이상의 프로그램은 읽기 캐쉬 및 쓰기 캐쉬를 이용하여 성능 등급 계층의 스토리지에서 관리되는 데이터를 저장할 수 있다.In this case, the at least one program may use a read cache and a write cache to store data managed in a storage of a performance level layer.

이 때, 상기 적어도 하나 이상의 프로그램은 쓰기 캐쉬를 이용하여 저장된 데이터의 위치를 메타데이터로 저장할 수 있다.In this case, the at least one program may store the location of the stored data as metadata using a write cache.

이 때, 상기 적어도 하나 이상의 프로그램은 읽기 캐쉬를 이용하여 저장된 데이터의 해시 값을 계산하고, 상기 데이터와 상기 해시 값을 쌍으로 저장할 수 있다.In this case, the at least one program may calculate a hash value of stored data using a read cache, and store the data and the hash value in pairs.

이 때, 상기 적어도 하나 이상의 프로그램은 용량 등급 계층 및 보관 등급 계층의 스토리지에서 관리되는 데이터를 기록한 시간을 식별하고, 상기 시간에 따라 로그를 기록할 수 있다.In this case, the at least one program may identify a time at which data managed in the storage of the capacity class layer and the storage class layer is recorded, and record a log according to the time.

이 때, 상기 적어도 하나 이상의 프로그램은 상기 로그 끝 부분에 상기 시간에 관한 정보를 추가할 수 있다.In this case, the at least one program may add information about the time to the end of the log.

이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터의 특성에 따라 계층화된 스토리지들에 데이터를 저장할 수 있다.In this case, the at least one program may store data in hierarchical storages according to the characteristics of the data.

이 때, 상기 적어도 하나 이상의 프로그램은 메타데이터 분리 저장, 데이터 통신 보호 및 데이터 암호화를 수행할 수 있다.In this case, the at least one program may separately store metadata, protect data communication, and encrypt data.

이 때, 상기 적어도 하나 이상의 프로그램은 데이터 특성에 따라 암호화된 데이터를 퍼블릭 클라우드 스토리지에 저장하고 상기 암호화된 데이터와 관련된 메타데이터를 온프레미스 스토리지에 분리하여 저장할 수 있다.In this case, the at least one program may store encrypted data according to data characteristics in public cloud storage, and separate and store metadata related to the encrypted data in on-premises storage.

이 때, 상기 적어도 하나 이상의 프로그램은 온프레미스 스토리지와 퍼블릭 클라우드 스토리지 간의 통신 시, SSL/TLS 기반의 암호화를 통해 고신뢰 데이터 전송을 보장할 수 있다. 데이터 암호화는 백엔드 스토리지에 저장되는 데이터에 대한 암호화를 위해 AES 3종(128, 192, 256)형태를 제공할 수 있다.In this case, the at least one program may guarantee high-reliability data transmission through SSL/TLS-based encryption when communicating between the on-premises storage and the public cloud storage. Data encryption can provide three types of AES (128, 192, 256) for encryption of data stored in back-end storage.

이 때, 상기 적어도 하나 이상의 프로그램은 퍼블릭 클라우드 스토리지가, 가상 어플라이언스를 이용하여 온프레미스 스토리지의 데이터에 접근하여 응용 서비스를 제공할 수 잇다.In this case, the public cloud storage may provide an application service by accessing the data of the on-premises storage using a virtual appliance in the at least one or more programs.

상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 계층형 구조 지원 통합 스토리지 관리 방법은 계층형 구조 지원 통합 스토리지 관리 장치의 계층형 구조 지원 통합 스토리지 관리 방법에 있어서, 퍼블릭 클라우드 스토리지 및 온프레미스 스토리지에 포함된 스토리지들을 스토리지 특성에 따라 계층화하는 단계; 상기 스토리지 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 단계 및 상기 데이터의 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 단계를 포함한다.A hierarchical structure supporting integrated storage management method according to an embodiment of the present invention for achieving the above object is a hierarchical structure supporting integrated storage management method of a hierarchical structure supporting integrated storage management device, public cloud storage and on-premises Stratifying storages included in the storage according to storage characteristics; And storing data in tiered storages according to the storage characteristics and storing data in tiered storages according to the data characteristics.

이 때, 상기 계층화하는 단계는 퍼블릭 클라우드 스토리지 및 온프레미스 스토리지에 포함된 스토리지들을 스토리지 특성에 따라 계층화할 수 있다.In this case, in the tiering step, storages included in the public cloud storage and the on-premises storage may be tiered according to storage characteristics.

이 때, 상기 계층화하는 단계는 스토리지들을 성능 등급 계층, 용량 등급 계층 및 보관 등급 계층으로 분류하여 관리할 수 있다.In this case, in the step of tiering, storages may be classified and managed into a performance class tier, a capacity class tier, and a storage class tier.

이 때, 상기 계층화하는 단계는 메모리 및 플래시 스토리지를 성능 등급 계층에서 관리할 수 있다.In this case, in the step of layering, memory and flash storage may be managed in a performance level layer.

이 때, 상기 계층화하는 단계는 온프레미스 스토리지를 용량 등급 계층에서 관리할 수 있다.In this case, in the tiering step, on-premises storage may be managed in a capacity class hierarchy.

이 때, 상기 계층화하는 단계는 퍼블릭 클라우드 스토리지를 보관 등급 계층에서 관리할 수 있다.In this case, in the step of tiering, the public cloud storage may be managed at the storage level layer.

이 때, 상기 스토리지 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 단계는 상기 스토리지 특성에 따라 계층화된 스토리지들에 데이터를 저장할 수 있다.In this case, the step of storing data in storages that are layered according to the storage characteristics may store data in storages that are layered according to the storage characteristics.

이 때, 상기 스토리지 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 단계는 읽기 캐쉬 및 쓰기 캐쉬를 이용하여 성능 등급 계층의 스토리지에서 관리되는 데이터를 저장할 수 있다.In this case, in the step of storing the data in the hierarchical storages according to the storage characteristics, data managed in the storage of the performance level layer may be stored using a read cache and a write cache.

이 때, 상기 스토리지 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 단계는 쓰기 캐쉬를 이용하여 저장된 데이터의 위치를 메타데이터로 저장할 수 있다.In this case, in the step of storing data in the hierarchical storages according to the storage characteristics, the location of the stored data may be stored as metadata using a write cache.

이 때, 상기 스토리지 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 단계는 읽기 캐쉬를 이용하여 저장된 데이터의 해시 값을 계산하고, 상기 데이터와 상기 해시 값을 쌍으로 저장할 수 있다.In this case, in the step of storing data in hierarchical storages according to the storage characteristics, a hash value of the stored data may be calculated using a read cache, and the data and the hash value may be stored in pairs.

이 때, 상기 스토리지 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 단계는 용량 등급 계층 및 보관 등급 계층의 스토리지에서 관리되는 데이터를 기록한 시간을 식별하고, 상기 시간에 따라 로그를 기록할 수 있다.In this case, the step of storing data in the storages that are layered according to the storage characteristics may identify a time at which data managed in the storage of the capacity class layer and the storage class layer is recorded, and record a log according to the time.

이 때, 상기 스토리지 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 단계는 상기 로그 끝 부분에 상기 시간에 관한 정보를 추가할 수 있다.In this case, storing data in hierarchical storages according to the storage characteristics may add information about the time to the end of the log.

이 때, 상기 데이터의 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 단계는 상기 데이터의 특성에 따라 계층화된 스토리지들에 데이터를 저장할 수 있다.In this case, storing the data in the hierarchical storages according to the characteristics of the data may store the data in the hierarchical storages according to the characteristics of the data.

이 때, 상기 데이터의 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 단계는 메타데이터 분리 저장, 데이터 통신 보호 및 데이터 암호화를 수행할 수 있다.In this case, storing the data in the hierarchical storages according to the characteristics of the data may perform separate storage of metadata, data communication protection, and data encryption.

이 때, 상기 데이터의 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 단계는 데이터 특성에 따라 암호화된 데이터를 퍼블릭 클라우드 스토리지에 저장하고 상기 암호화된 데이터와 관련된 메타데이터를 온프레미스 스토리지에 분리하여 저장할 수 있다.In this case, storing the data in the tiered storages according to the characteristics of the data includes storing the encrypted data in the public cloud storage according to the characteristics of the data, and separately storing the metadata related to the encrypted data in the on-premises storage. I can.

이 때, 상기 데이터의 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 단계는 온프레미스 스토리지와 퍼블릭 클라우드 스토리지 간의 통신 시, SSL/TLS 기반의 암호화를 통해 고신뢰 데이터 전송을 보장할 수 있다. 데이터 암호화는 백엔드 스토리지에 저장되는 데이터에 대한 암호화를 위해 AES 3종(128, 192, 256)형태를 제공할 수 있다.In this case, storing data in tiered storages according to the characteristics of the data may ensure high-reliability data transmission through SSL/TLS-based encryption when communicating between on-premises storage and public cloud storage. Data encryption can provide three types of AES (128, 192, 256) for encryption of data stored in back-end storage.

이 때, 상기 데이터의 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 단계는 퍼블릭 클라우드 스토리지가, 가상 어플라이언스를 이용하여 온프레미스 스토리지의 데이터에 접근하여 응용 서비스를 제공할 수 잇다.In this case, in the step of storing data in tiered storages according to the characteristics of the data, the public cloud storage may provide an application service by accessing data in the on-premises storage using a virtual appliance.

본 발명은 스토리지에 저장된 민감 데이터의 유출을 원천적으로 차단하면서, 민감 데이터에 대한 처리 서비스를 동시에 지원할 수 있다.The present invention can fundamentally block the leakage of sensitive data stored in the storage and simultaneously support a processing service for sensitive data.

또한, 본 발명은 스토리지에 저장된 암호화 데이터를 복호화하여 민감 데이터 처리 서비스를 제공하고, 민감 데이터의 유출을 원천적으로 차단할 수 있다.In addition, the present invention decrypts the encrypted data stored in the storage to provide a sensitive data processing service, and can fundamentally block the leakage of sensitive data.

또한, 본 발명은 클라우드 스토리지와 온프레미스 스토리지를 통합한 통합 스토리지의 읽기/쓰기 성능을 향상시킬 수 있다.In addition, the present invention can improve the read/write performance of the unified storage in which cloud storage and on-premises storage are integrated.

또한, 본 발명은 통합 스토리지가 포함하는 클라우드 스토리지와 온프레미스 스토리지를 동일한 성능으로 데이터 저장 서비스를 제공할 수 있다.In addition, the present invention can provide a data storage service with the same performance as the cloud storage and the on-premises storage included in the integrated storage.

또한, 본 발명은 저장공간의 탄력성 및 비용 효율성을 기반으로 사용자의 데이터를 이동시킬 수 있다.In addition, the present invention can move the user's data based on the elasticity and cost efficiency of the storage space.

또한, 본 발명은 Amazon S3, MS Azure 등의 다양한 클라우드 스토리지를 지원하여 사용자들의 요구에 맞는 통합 스토리지의 서비스를 제공할 수 있다.In addition, the present invention supports various cloud storages such as Amazon S3 and MS Azure to provide a service of integrated storage that meets the needs of users.

또한, 본 발명은 클라우드 스토리지에 온프레미스 스토리지 수준의 접근 속도를 제공할 수 있다.In addition, the present invention can provide cloud storage with access speed of an on-premises storage level.

또한, 본 발명은 사용자가 다양한 서비스 프로토콜을 사용하여 클라우드 통합 스토리지에 접근할 수 있도록 서비스 인터페이스를 제공할 수 있다.In addition, the present invention may provide a service interface so that a user can access the cloud integrated storage using various service protocols.

또한, 본 발명은 종래의 전통적인 파일, 블록 수준의 스토리지 서비스 및 최근의 클라우드 스토리지에서 제공하는 오브젝트 방식의 스토리지 서비스 등 다양한 방식의 스토리지 서비스를 제공할 수 있다.In addition, the present invention can provide various types of storage services, such as a conventional traditional file, block-level storage service, and an object-type storage service provided by the recent cloud storage.

또한, 본 발명은 온프레미스 스토리지와 클라우드 스토리지 간의 안전한 데이터 전송을 보장하여 사용자의 데이터 기밀성을 보장할 수 있다.In addition, the present invention can ensure secure data transmission between on-premises storage and cloud storage, thereby ensuring user data confidentiality.

또한, 본 발명은 시스템의 오류로 인한 데이터 손실을 방지할 수 있다.In addition, the present invention can prevent data loss due to a system error.

또한, 본 발명은 사용자의 편의를 위해서 스토리지 하드웨어와 소프트웨어가 하나로 통합된 어플라이언스 형태의 클라우드 통합 스토리지를 제공하여 손쉽게 시스템을 구축할 수 있다.In addition, the present invention provides a cloud integrated storage in the form of an appliance in which storage hardware and software are integrated into one for user convenience, so that a system can be easily constructed.

또한, 본 발명은 복수개의 클라우드 서비스를 동시에 수행하는 멀티 테넌트 기능을 지원할 수 있다.In addition, the present invention may support a multi-tenant function that simultaneously performs a plurality of cloud services.

또한, 본 발명은 온프레미스 스토리지와 퍼블릭 클라우드 스토리지의 스토리지들을 계층형 구조로 관리하여 스토리지 관리 성능을 향상시킬 수 있다.In addition, the present invention can improve storage management performance by managing storages of on-premises storage and public cloud storage in a hierarchical structure.

또한, 본 발명은 사용자의 데이터 노출에 대한 위험을 줄이고, 퍼블릭 클라우드의 컴퓨팅 자원 활용을 활성화할 수 있다.In addition, the present invention can reduce the risk of a user's data exposure and activate the use of computing resources in the public cloud.

도 1은 본 발명의 일실시예에 따른 통합 스토리지 시스템을 나타낸 블록도이다.
도 2는 본 발명의 일실시예에 따른 통합 스토리지 관리 장치를 나타낸 블록도이다.
도 3은 도 2에 도시된 스토리지 연결부의 일 예를 세부적으로 나타낸 블록도이다.
도 4는 도 2에 도시된 데이터 조작부의 일 예를 세부적으로 나타낸 블록도이다.
도 5는 본 발명의 일실시예에 따른 램디스크의 일 예를 나타낸 도면이다.
도 6은 본 발명의 일실시예에 따른 데이터 분산 및 저장부와 백엔드 스토리지 관리부의 동작을 세부적으로 나타낸 도면이다.
도 7은 본 발명의 일실시예에 통합 스토리지 관리 방법을 나타낸 동작흐름도이다.
도 8은 본 발명의 일실시예에 따른 통합 스토리지 관리 장치와 서비스 제공자의 관계를 나타낸 도면이다.
도 9는 본 발명의 일실시예에 따른 스토리지 서비스 등록을 위한 통합 스토리지 관리 방법을 나타낸 동작흐름도이다.
도 10은 본 발명의 일실시예에 따른 통합 스토리지 관리 장치를 나타낸 블록도이다.
도 11은 본 발명의 일실시예에 따른 백엔드 연결 데몬을 이용한 멀티테넌트 기반 통합 스토리지 관리 장치를 나타낸 블록도이다.
도 12는 본 발명의 일실시예에 따른 스토리지 서비스 제공을 위한 멀티테넌트 기반 통합 스토리지 관리 방법을 나타낸 동작흐름도이다.
도 13은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
도 14는 본 발명의 일실시예에 따른 통합 스토리지 시스템을 나타낸 도면이다.
도 15는 본 발명의 일실시예에 따른 통합 스토리지 시스템에서 데이터 액세스를 위한 멀티 스토리지 유형 및 액세스 메커니즘을 나타낸 도면이다.
도 16은 본 발명의 일실시예에 다른 성능 향상을위한 데이터 읽기 / 쓰기 캐시 및 병렬 분산 파일을 나타낸 도면이다.
도 17은 본 발명의 일실시예에 따른 통합 스토리지 관리 시스템의 유스 케이스를 나타낸 도면이다.
도 18는 본 발명의 일실시예에 따른 통합 스토리지 서비스를 위한 데이터 스토리지의 등록 과정을 나타낸 동작흐름도이다.
도 19는 본 발명의 일실시예에 따른 민감 데이터 처리 장치를 나타낸 블록도이다.
도 20은 도 19에 도시된 클라우드 통합 스토리지 장치와 데이터 비보호 영역 처리부의 일 예를 세부적으로 나타낸 블록도이다.
도 21은 도 20에 도시된 데이터 비보호 영역 처리부와 데이터 보호 영역 처리부의 일 예를 세부적으로 나타낸 블록도이다.
도 22는 도 21에 도시된 민감 데이터 서비스 게이트웨이부의 일 예를 세부적으로 나타낸 블록도이다.
도 23은 본 발명의 일실시예에 따른 민감 데이터 처리 방법을 나타낸 동작흐름도이다.
도 24는 본 발명의 일실시예에 따른 데이터 비보호 영역 처리부와 데이터 보호 영역 처리부에서의 민감 데이터 처리 방법을 나타낸 동작흐름도이다.
도 25는 본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법을 나타낸 동작흐름도이다.
도 26 및 도 27은 본 발명의 일실시예에 따른 통합 스토리지 관리 기능을 세부적으로 나타낸 블록도이다.
도 28은 본 발명의 일실시예에 따른 클라우드 인프라 시스템의 자동 계층화 구조를 나타낸 도면이다.
도 29는 본 발명의 일실시예에 따른 계층형 구조의 스토리지 별 종류를 나타낸 도면이다.
도 30은 본 발명의 일실시예에 따른 계층형 구조 지원 통합 스토리지 관리 장치를 나타낸 블록도이다.
도 31은 도 30에 도시된 백엔드 인터페이스 프록시부의 일 예를 세부적으로 나타낸 블록도이다.
도 32는 본 발명의 일실시예에 따른 계층형 구조 지원 통합 스토리지 관리 장치의 동작 환경을 나타낸 도면이다.
도 33은 본 발명의 일실시예에 따른 계층형 구조 지원 통합 스토리지 관리 방법을 나타낸 동작흐름도이다.
1 is a block diagram showing an integrated storage system according to an embodiment of the present invention.
2 is a block diagram showing an integrated storage management apparatus according to an embodiment of the present invention.
3 is a detailed block diagram illustrating an example of a storage connection unit shown in FIG. 2.
4 is a block diagram showing in detail an example of the data manipulation unit shown in FIG. 2.
5 is a diagram showing an example of a ramdisk according to an embodiment of the present invention.
6 is a diagram illustrating in detail operations of a data distribution and storage unit and a backend storage management unit according to an embodiment of the present invention.
7 is an operation flow diagram showing an integrated storage management method according to an embodiment of the present invention.
8 is a diagram illustrating a relationship between an integrated storage management device and a service provider according to an embodiment of the present invention.
9 is an operation flow diagram illustrating an integrated storage management method for registering a storage service according to an embodiment of the present invention.
10 is a block diagram showing an integrated storage management apparatus according to an embodiment of the present invention.
11 is a block diagram showing a multi-tenant-based integrated storage management apparatus using a backend connection daemon according to an embodiment of the present invention.
12 is an operation flow diagram illustrating a multi-tenant-based integrated storage management method for providing a storage service according to an embodiment of the present invention.
13 is a diagram showing a computer system according to an embodiment of the present invention.
14 is a diagram showing an integrated storage system according to an embodiment of the present invention.
15 is a diagram illustrating multiple storage types and an access mechanism for data access in an integrated storage system according to an embodiment of the present invention.
16 is a diagram illustrating a data read/write cache and a parallel distributed file for improving performance according to an embodiment of the present invention.
17 is a diagram illustrating a use case of an integrated storage management system according to an embodiment of the present invention.
18 is an operation flow diagram illustrating a data storage registration process for an integrated storage service according to an embodiment of the present invention.
19 is a block diagram showing an apparatus for processing sensitive data according to an embodiment of the present invention.
FIG. 20 is a detailed block diagram illustrating an example of a cloud integrated storage device and a data unprotected area processor illustrated in FIG. 19.
FIG. 21 is a detailed block diagram illustrating an example of a data unprotected area processing unit and a data protected area processing unit shown in FIG. 20.
FIG. 22 is a detailed block diagram illustrating an example of a sensitive data service gateway unit shown in FIG. 21.
23 is an operation flow diagram showing a method of processing sensitive data according to an embodiment of the present invention.
24 is a flowchart illustrating a method of processing sensitive data in a data unprotected area processing unit and a data protected area processing unit according to an embodiment of the present invention.
25 is a flowchart illustrating a method of processing sensitive data in a sensitive data service gateway unit according to an embodiment of the present invention.
26 and 27 are block diagrams showing in detail an integrated storage management function according to an embodiment of the present invention.
28 is a diagram showing an automatic layering structure of a cloud infrastructure system according to an embodiment of the present invention.
29 is a diagram illustrating types of storage in a hierarchical structure according to an embodiment of the present invention.
30 is a block diagram showing an integrated storage management apparatus supporting a hierarchical structure according to an embodiment of the present invention.
FIG. 31 is a detailed block diagram illustrating an example of a backend interface proxy unit shown in FIG. 30.
32 is a diagram illustrating an operating environment of an integrated storage management apparatus supporting a hierarchical structure according to an embodiment of the present invention.
33 is an operation flow diagram illustrating a method for managing integrated storage supporting a hierarchical structure according to an embodiment of the present invention.

본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.The present invention will be described in detail with reference to the accompanying drawings. Here, repeated descriptions, well-known functions that may unnecessarily obscure the subject matter of the present invention, and detailed descriptions of configurations are omitted. Embodiments of the present invention are provided to more completely explain the present invention to those with average knowledge in the art. Accordingly, the shapes and sizes of elements in the drawings may be exaggerated for clearer explanation.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a certain part "includes" a certain component, it means that other components may be further included rather than excluding other components unless specifically stated to the contrary.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 통합 스토리지 시스템을 나타낸 블록도이다.1 is a block diagram showing an integrated storage system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 통합 스토리지 시스템은 사용자 클라이언트 장치(10), 통합 스토리지 관리 장치(100) 및 통합 스토리지(20)를 포함할 수 있다.Referring to FIG. 1, an integrated storage system according to an embodiment of the present invention may include a user client device 10, an integrated storage management device 100, and an integrated storage 20.

사용자 클라이언트 장치(10)는 사용자가 통합 스토리지 관리 장치(100)를 통해 통합 스토리지(20)의 서비스를 요청하고, 서비스를 제공받을 수 있다.The user client device 10 may allow a user to request a service of the integrated storage 20 through the integrated storage management device 100 and receive a service.

통합 스토리지(20)는 클라우드 스토리지(21)와 논-클라우드 스토리지(22)를 포함할 수 있다.The integrated storage 20 may include a cloud storage 21 and a non-cloud storage 22.

클라우드 스토리지(21)는 사업자가 제공하는 퍼블릭 클라우드 스토리지에 상응할 수 있다.The cloud storage 21 may correspond to public cloud storage provided by a business operator.

논-클라우드 스토리지(22)는 기업 및 기관이 보유하는 온프레미스(On-Premise) 스토리지에 상응할 수 있다.The non-cloud storage 22 may correspond to on-premise storage owned by enterprises and institutions.

통합 스토리지 관리 장치(100)는 통합 스토리지(20)가 포함하는 클라우드 스토리지(21)와 논-클라우드 스토리지(22)를 단일 형상으로 관리 및 운영할 수 있다.The integrated storage management device 100 may manage and operate the cloud storage 21 and the non-cloud storage 22 included in the integrated storage 20 in a single configuration.

이 때, 통합 스토리지 관리 장치(100)는 사용자가 클라우드 스토리지(21)에 접근하는지, 논-클라우드 스토리지(22)에 접근하는지 식별할 수 없는 수준의 동일한 성능으로 클라우드 서비스를 제공할 수 있다.In this case, the integrated storage management device 100 may provide a cloud service with the same performance at a level in which it is impossible to identify whether a user accesses the cloud storage 21 or the non-cloud storage 22.

도 2는 본 발명의 일실시예에 따른 통합 스토리지 관리 장치를 나타낸 블록도이다. 도 3은 도 2에 도시된 스토리지 연결부의 일 예를 세부적으로 나타낸 블록도이다. 도 4는 도 2에 도시된 데이터 조작부의 일 예를 세부적으로 나타낸 블록도이다.2 is a block diagram showing an integrated storage management apparatus according to an embodiment of the present invention. 3 is a detailed block diagram illustrating an example of a storage connection unit shown in FIG. 2. 4 is a block diagram showing in detail an example of the data manipulation unit shown in FIG. 2.

도 2를 참조하면, 본 발명의 일실시예에 따른 통합 스토리지 관리 장치(100)는 스토리지 연결부(110), 데이터 조작부(120), 데이터 분산 및 저장부(130), 백엔드 스토리지 관리부(140) 및 프로비저닝 및 정책 관리부(150)를 포함한다.2, the integrated storage management apparatus 100 according to an embodiment of the present invention includes a storage connection unit 110, a data manipulation unit 120, a data distribution and storage unit 130, a back-end storage management unit 140, and It includes a provisioning and policy management unit 150.

스토리지 연결부(110)는 통합 스토리지(20)와 연동하여 사용자에게 통합 스토리지(20)의 서비스를 제공할 수 있다.The storage connection unit 110 may provide a service of the integrated storage 20 to a user by interworking with the integrated storage 20.

도 3을 참조하면, 스토리지 연결부(110)는 가상 블록 디바이스 서비스 엔진(111), 파일 시스템 서비스 엔진(112) 및 오브젝트 스토리지 서비스 엔진(113)을 포함할 수 있다.Referring to FIG. 3, the storage connection unit 110 may include a virtual block device service engine 111, a file system service engine 112, and an object storage service engine 113.

이 때, 스토리지 연결부(110)는 블록, 파일 및 객체 스토리지의 프로토콜 처리, IO 인터페이스 및 이를 향상 시키기 위한 가속 기능을 제공할 수 있다.In this case, the storage connection unit 110 may provide a protocol processing of block, file, and object storage, an IO interface, and an acceleration function for improving the protocol.

이 때, 스토리지 연결부(110)는 사용자에게 전통적인 스토리지 서비스 인터페이스인 블록 디바이스 및 파일 시스템 서비스를 기본적으로 제공할 수 있으며, 최근에 등장한 오브젝트 스토리지 인터페이스까지 제공할 수 있다.In this case, the storage connection unit 110 may basically provide a block device and a file system service, which are traditional storage service interfaces, to a user, and may also provide an object storage interface that has appeared recently.

데이터 조작부(120)는 사용자에게 가상 디스크 풀을 제공하여 전체 스토리지 시스템의 단일 스토리지 뷰를 제공할 수 있다.The data manipulation unit 120 may provide a virtual disk pool to a user to provide a single storage view of the entire storage system.

즉, 데이터 조작부(120)는 빠른 스토리지 리소스를 사용하여 가상 디스크 풀을 구성할 수 있고, 사용자에게 스토리지들을 가상 디스크로 제공 할 수 있다.That is, the data manipulation unit 120 may configure a virtual disk pool using fast storage resources, and provide storage as virtual disks to a user.

이에 따라, 사용자는 데이터가 다양한 유형의 스토리지에 물리적으로 분산되어 있지만 데이터의 실제 저장 위치를 고려하지 않고 단일 스토리지 구성을 제공받을 수 있다.Accordingly, although data is physically distributed over various types of storage, the user can be provided with a single storage configuration without considering the actual storage location of the data.

이 때, 데이터 조작부(120)는 스냅 샷, 빠른 복제 및 분산 트랜잭션 로그와 같은 데이터 관리 기능을 제공할 수 있다.In this case, the data manipulation unit 120 may provide data management functions such as snapshot, fast replication, and distributed transaction log.

이 때, 데이터 조작부(120)는 데이터 쓰기 또는 데이터 읽기 동작의 경우 해당 사용자에게 쓰기 버퍼 또는 읽기 캐시 기능을 제공할 수 있다.In this case, the data manipulation unit 120 may provide a write buffer or read cache function to a corresponding user in the case of a data writing or data reading operation.

이 때, 데이터 조작부(120)는 메모리, SSD 및 PCIe 플래시 카드를 사용하여 사용자에게 빠른 응답 시간을 보장할 수 있다.In this case, the data manipulation unit 120 may guarantee a fast response time to a user by using a memory, an SSD, and a PCIe flash card.

이 때, 데이터 조작부(120)는 램디스크를 이용하여 상기 통합 스토리지의 서비스를 제공하기 위한 데이터의 읽기/쓰기 캐쉬를 제공할 수 있다.In this case, the data manipulation unit 120 may provide a read/write cache of data for providing a service of the integrated storage using a RAM disk.

데이터 조작부(120)는 퍼블릭 클라우드 스토리지(클라우드 스토리지(21))에 저장된 데이터에 대한 캐쉬 기능을 제공할 수 있다. 퍼블릭 클라우드 스토리지에 저장된 데이터는 인터넷망을 통해 데이터가 전송되기 때문에 온프레미스 스토리지(논-클라우드 스토리지(22))에 비해서 속도가 느리다.The data manipulation unit 120 may provide a cache function for data stored in public cloud storage (cloud storage 21). Data stored in public cloud storage is slower than on-premises storage (non-cloud storage 22) because data is transmitted through the Internet network.

또한, 데이터는 사용자가 인지하지 못한 상태에서 자동으로 퍼블릭 클라우드 스토리지에 분산 저장이 되기 때문에, 퍼블릭 클라우드 스토리지에 저장된 데이터에 대한 고속 접근 기능이 필요하다.In addition, since data is automatically distributed and stored in public cloud storage without the user being aware of it, high-speed access to data stored in public cloud storage is required.

데이터 조작부(120)는 퍼블릭 클라우드 스토리지에 저장된 데이타를 클라우드 통합 스토리지 운용 플랫폼 내부의 저장 장치로 캐쉬하여, 퍼블릭 클라우드 저장소에 대해서 온프레미스 스토리지 수준의 접근 속도를 제공할 수 있다.The data manipulation unit 120 caches data stored in the public cloud storage to a storage device inside the cloud integrated storage operation platform, thereby providing access speed of an on-premises storage level to the public cloud storage.

도 4를 참조하면, 데이터 조작부(120)는 인 메모리 네임 스페이스 블록(121), 읽기 캐쉬부(122), 쓰기 캐쉬부(123), 인 메모리 디듀플리케이션 엔진(124) 및 인 메모리 데이터 컴프레션 엔진(125)을 포함할 수 있다.4, the data manipulation unit 120 includes an in-memory name space block 121, a read cache unit 122, a write cache unit 123, an in-memory deduplication engine 124, and an in-memory data compression engine 125. ) Can be included.

인 메모리 네임 스페이스 블록(121)은 실제 데이터를 접근하기 위해서 주기적으로 읽고 쓰기를 반복하는 정보가 저장되어 있고, 고속의 접근 속도를 보장할 수 있다.The in-memory namespace block 121 stores information that periodically reads and writes to access actual data, and can guarantee a high-speed access speed.

이 때, 인 메모리 네임 스페이스 블록(121)은 데이터 접근에 필요한 정보들을 고속의 메인 메모리에 저장하여 데이터 저장 및 관리 기능을 제공할 수 있다.In this case, the in-memory name space block 121 may store information necessary for data access in a high-speed main memory to provide a data storage and management function.

이 때, 인 메모리 네임 스페이스 블록(121)은 그 용량이나 휘발성 저장 매체에 한계가 있다. 그러므로 실시간 백업을 통하여 백업을 진행하고 백업 된 네임스페이스 블록은 다수 노드들(가상 머신 또는 물리적인 서버들)의 클러스터링을 통하여 고 가용성 기능을 수행할 수 있다.In this case, the in-memory name space block 121 has a limit in its capacity or volatile storage medium. Therefore, backup is performed through real-time backup, and the backed up namespace block can perform a high availability function through clustering of multiple nodes (virtual machines or physical servers).

이 때, 데이터 조작부(120)는 통합 스토리지 구조의 빠른 성능을 제공하기 위하여 인메모리 기반의 네임스페이스 블록(121) 및 데이터 압축 구조인 인 메모리 디듀플리케이션 엔진(124)과 인 메모리 데이터 컴프레션 엔진(125)을 인메모리 블록에서 동시에 수행할 수도 있다.In this case, the data manipulation unit 120 includes an in-memory-based namespace block 121 and an in-memory deduplication engine 124 and an in-memory data compression engine 125 that are data compression structures in order to provide fast performance of the integrated storage structure. Can also be executed simultaneously in an in-memory block

이 때, 데이터 조작부(120)는 실제 데이터 접근을 위한 글로버 네임스페이스의 고속 접근속도를 보장해야 되고 이를 빠른 속도로 저장 하고 읽기 위하여 고속 처리 방법을 제공할 수 있다.In this case, the data manipulation unit 120 must ensure a high-speed access speed of the Glover namespace for actual data access, and may provide a high-speed processing method to store and read the data at a high speed.

읽기 캐쉬부(122) 및 쓰기 캐쉬부(123)는 램디스크 형태로 메인 메모리에 상응하는 램(RAM)과 SSD(Solid State Drive)를 포함하는 하나의 디스크 형태로 구성될 수 있다.The read cache unit 122 and the write cache unit 123 may be configured in a form of a single disk including a RAM corresponding to a main memory and a solid state drive (SSD) in the form of a RAM disk.

읽기 캐쉬부(122) 및 쓰기 캐쉬부(123)는 휘발성 메모리의 특성에 의하여 SSD로 실시간 백업을 수행할 수 있다.The read cache unit 122 and the write cache unit 123 may perform real-time backup to the SSD according to the characteristics of the volatile memory.

이 때, 읽기 캐쉬부(122) 및 쓰기 캐쉬부(123)는 램 기반 캐쉬 영역이 모두 소진되면 SSD 기반 캐쉬 영역으로 자동 전환시킬 수 있다.In this case, the read cache unit 122 and the write cache unit 123 may automatically switch to the SSD-based cache area when all the RAM-based cache areas are exhausted.

이 때, 읽기 캐쉬부(122) 및 쓰기 캐쉬부(123)는 사용자가 쓰기를 수행하면 빠른 쓰기 응답을 위하여 메모리 영역에 쓰기를 수행하면 바로 리턴하는 형태를 제공할 수 있다.In this case, the read cache unit 122 and the write cache unit 123 may provide a form of immediately returning when a user writes to a memory area for a quick write response when writing is performed.

인 메모리 디듀플리케이션 엔진(124) 및 인 메모리 데이터 컴프레션 엔진(125)은 하기에서 설명할 데이터 분산 및 저장부(130)에 상응할 수 있다.The in-memory deduplication engine 124 and the in-memory data compression engine 125 may correspond to the data distribution and storage unit 130 to be described below.

즉, 데이터 분산 및 저장부(130)는 데이터 조작부(120)에 포함될 수도 있다.That is, the data distribution and storage unit 130 may be included in the data manipulation unit 120.

인 메모리 디듀플리케이션 엔진(124)은 데이터의 손실 방지를 위해서 복수의 물리적 디바이스에 데이터를 분산 저장하는 기능을 제공할 수 있다.The in-memory deduplication engine 124 may provide a function of distributing and storing data in a plurality of physical devices to prevent data loss.

이 때, 인 메모리 디듀플리케이션 엔진(124)은 데이터의 에러 발생을 감지하고 이를 수정할 수 있는 에러 탐지 및 복구 코딩을 적용하여, 데이터 및 시스템 에러에 대처할 수 있다.In this case, the in-memory deduplication engine 124 detects the occurrence of data errors and applies error detection and recovery coding to correct them to cope with data and system errors.

인 메모리 데이터 컴프레션 엔진(125)은 백엔드 스토리지에 저장되는 실제 데이터에 대해서 압축 기능을 수행하여 데이터의 크기를 줄이는 작업을 수행할 수 있다. 특히, 인 메모리 데이터 컴프레션 엔진(125)은 퍼블릭 클라우드 스토리지의 경우, 압축에 의해서 데이터 크기를 줄여줌으로써 네트워크를 통해서 전송되는 데이터의 크기를 줄일 수 있다.The in-memory data compression engine 125 may perform a task of reducing the size of data by performing a compression function on actual data stored in the backend storage. In particular, in the case of public cloud storage, the in-memory data compression engine 125 can reduce the size of data transmitted through a network by reducing the size of data by compression.

데이터 분산 및 저장부(130)는 수신된 데이터의 쓰기가 최소 오버 헤드로 항상 액세스 할 수 있도록 최적화된 기능을 제공할 수 있다.The data distribution and storage unit 130 may provide an optimized function so that writing of received data can always be accessed with minimum overhead.

이 때, 데이터 분산 및 저장부(130)는 데이터의 효율 적인 관리를 위하여 각 객체를 여러 조각으로 분산시키고, 신뢰성 향상을 위하여 분산된 조각을 다른 노드 또는 데이터 센터에 분산시켜 저장시킬 수 있다.In this case, the data distribution and storage unit 130 may distribute each object into several pieces for efficient data management, and may distribute and store the distributed pieces in other nodes or data centers to improve reliability.

이 때, 데이터 분산 및 저장부(130)는 분산된 조각에 선택적 암호화 및 압축을 처리하고 이를 위한 정책 결정을 반영할 수 있다.In this case, the data distribution and storage unit 130 may process selective encryption and compression on the distributed fragments and reflect a policy decision therefor.

이 때, 데이터 분산 및 저장부(130)는 데이터의 에러 발생을 감지하고 이를 수정할 수 있는 에러 탐지 및 복구 코딩을 적용하여, 데이터 및 시스템 에러에 대처할 수 있다.In this case, the data distribution and storage unit 130 may detect the occurrence of an error in data and apply an error detection and recovery coding capable of correcting it to cope with data and system errors.

백엔드 스토리지 관리부(140)는 데이터 분산 및 저장부(130)에서 생성된 최종의 데이터를 최종 리소스에 저장하기 위한 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)의 저장 인터페이스를 제공할 수 있다.The backend storage management unit 140 may provide a storage interface of the cloud storage 21 and the non-cloud storage 22 for storing the final data generated by the data distribution and storage unit 130 in a final resource.

이 때, 백엔드 스토리지 관리부(140)는 데이터 분산 저장 계층의 정책에 따라 데이터를 성능, 시간 및 사용 빈도 위주의 티어링(tiering)을 이용하여 자동 혹은 수동 저장 기능을 제공할 수 있다.In this case, the backend storage management unit 140 may provide an automatic or manual storage function for data using tiering based on performance, time, and frequency of use according to the policy of the data distribution storage layer.

이 때, 백엔드 스토리지 관리부(140)는 데이터를 다양한 스토리지 계층에 자동으로 분산 저장하는 기능을 제공할 수 있다.In this case, the backend storage management unit 140 may provide a function of automatically distributed storage of data in various storage tiers.

이 때, 백엔드 스토리지 관리부(140)는 제공되는 스토리지의 특성에 기반하여 다양한 종류의 스토리지를 계층화 할 수 있다.In this case, the backend storage management unit 140 may layer various types of storage based on characteristics of the provided storage.

이 때, 백엔드 스토리지 관리부(140)는 초기 생성 데이터는 고속의 스토리지에 저장하고, 데이터 접근 빈도가 낮아지면 하위 계층의 스토리지로 데이터를 이동시키며, 최종적으로 퍼블릭 클라우드 스토리지에 데이터를 저장시킬 수 있다.In this case, the back-end storage management unit 140 may store the initial generated data in a high-speed storage, move the data to a lower-tier storage when the data access frequency decreases, and finally store the data in the public cloud storage.

이 때, 백엔드 스토리지 관리부(140)는 데이터의 특성에 따라서 다양한 스토리지 계층 사이에 자동적으로 데이터를 이동시킬 수 있다.In this case, the backend storage management unit 140 may automatically move data between various storage tiers according to the characteristics of the data.

프로비저닝 및 정책 관리부(150)는 각 계층의 관리 및 사용자 기반의 정책 관리를 담당할 수 있다. 이 때, 프로비저닝 및 정책 관리부(150)는 사용자가 요청한 디스크의 프로비저닝을 위한 계층적 인터페이스를 제공할 수 있다.The provisioning and policy management unit 150 may be in charge of management of each layer and user-based policy management. In this case, the provisioning and policy management unit 150 may provide a hierarchical interface for provisioning a disk requested by the user.

이 때, 백엔드 스토리지에 저장되는 데이터와 더불어 이를 관리하고 접근하기 위한 메타 데이터가 필요하다. 본 발명의 메타 데이터는 사용자가 클라이언트 장치(10)를 사용하면서 생성하거나 혹은 사용자 클라이언트 장치(10)와 통합 스토리지(20)가 인터페이스를 위한 클라이언트 메타 데이터, 데이터 조작에 필요한 데이터 관리 메타 데이터, 그리고 마지막 백엔드 스토리지에 사용되는 스토리지 관리 메타 데이터가 사용될 수 있다.In this case, metadata for managing and accessing the data in addition to the data stored in the backend storage is required. Meta data of the present invention is generated while the user uses the client device 10, or the user client device 10 and the integrated storage 20 provide client meta data for an interface, data management meta data required for data manipulation, and the last. Storage management metadata used for backend storage can be used.

도 5는 본 발명의 일실시예에 따른 램디스크의 일 예를 나타낸 도면이다.5 is a diagram showing an example of a ramdisk according to an embodiment of the present invention.

도 5를 참조하면, 데이터 조작부(120)의 램디스크인 읽기 캐쉬부(122)와 쓰기 캐쉬부(123)를 세부적으로 나타낸 것을 알 수 있다.Referring to FIG. 5, it can be seen that the read cache unit 122 and the write cache unit 123, which are RAM disks of the data manipulation unit 120, are shown in detail.

읽기 캐쉬부(122)는 데이터 디듀플리케이션 엔진(122a)을 이용하여 해쉬들을 블록 데이터로 분산시키는 것을 알 수 있다.It can be seen that the read cache unit 122 distributes the hashes to block data using the data deduplication engine 122a.

쓰기 캐쉬부(123)는 데이터 트랜잭션 로그부(123a)를 이용하여 쓰기 캐시에 저장된 데이터가 시스템 장애에 의해 손실될 경우를 대비하여, 데이터 복구를 위한 로그를 동일 노드 혹은 네트워크로 연결된 노드에 관리하는 것을 알 수 있다.The write cache unit 123 uses the data transaction log unit 123a to manage the log for data recovery in the same node or a node connected to the network in case the data stored in the write cache is lost due to system failure. Can be seen.

로그는 세부 블록에 대한 데이터의 위치 및 해시 값을 저장할 수 있고, 데이터가 백앤드 스토리지로 저장될 때까지 유지될 수 있다.The log can store the location and hash value of the data for the detailed block, and can be maintained until the data is saved to the backend storage.

쓰기 캐시와 트랜잭션 로그와의 동기화는 로그 큐가 일정 크기를 도달하거나 일정 시간마다 동기화를 수행하는 비동기식 동기화, 쓰기 요청에 따른 데이터 발생 시마다 동기화를 수행할 수 있다. 쓰기 캐시에 위치한 세부 블록은 트랜잭션 로그 노드에 일정 조건에 의해 동기화될 수 있다. 시간의 흐름에 따라, 세부 블록 관련 데이터가 백앤드 스토리지에 저장되면, 쓰기 캐시의 세부 블록 및 트랜잭션 로그 노드의 세부 블록은 관리 대상에서 제외되어 삭제될 수 있다.Synchronization between the write cache and the transaction log can be performed as an asynchronous synchronization in which the log queue reaches a certain size or synchronizes at a certain time, or whenever data occurs according to a write request. The detailed blocks located in the write cache can be synchronized to the transaction log node under certain conditions. As time passes, when detailed block-related data is stored in the back-end storage, the detailed block of the write cache and the detailed block of the transaction log node may be excluded from management and deleted.

도 6은 본 발명의 일실시예에 따른 데이터 분산 및 저장부와 백엔드 스토리지 관리부의 동작을 세부적으로 나타낸 도면이다.6 is a diagram illustrating in detail operations of a data distribution and storage unit and a backend storage management unit according to an embodiment of the present invention.

도 6을 참조하면, 데이터 분산 및 저장부(130)는 데이터 컴프레션 블록(131)은 백엔드 스토리지에 저장되는 실제 데이터에 대해서 압축 기능을 수행하여 데이터의 크기를 줄이는 작업을 수행할 수 있다. 특히, 데이터 컴프레션 블록(131)은 퍼블릭 클라우드 스토리지의 경우, 압축에 의해서 데이터 크기를 줄여줌으로써 네트워크를 통해서 전송되는 데이터의 크기를 줄일 수 있다.Referring to FIG. 6, the data distribution and storage unit 130 may perform a data compression block 131 to reduce the size of data by performing a compression function on actual data stored in the backend storage. In particular, in the case of public cloud storage, the data compression block 131 may reduce the size of data transmitted through a network by reducing the size of data by compression.

데이터 분산 블록(132)은 데이터의 손실 방지를 위해서 복수의 물리적 디바이스에 데이터를 분산 저장하는 기능을 제공할 수 있다.The data distribution block 132 may provide a function of distributing and storing data in a plurality of physical devices in order to prevent data loss.

이 때, 데이터 분산 블록(132)은 데이터의 에러 발생을 감지하고 이를 수정할 수 있는 에러 탐지 및 복구 코딩을 적용하여, 데이터 및 시스템 에러에 대처할 수 있다.At this time, the data distribution block 132 detects the occurrence of an error in data and applies error detection and recovery coding to correct it, thereby coping with data and system errors.

백엔드 스토리지 관리부(140)는 HDD, SAS, iSCSI 스토리지 및 퍼블릭 클라우드 스토리지 등을 포함할 수 있고, 데이터를 백엔드 스토리지에 최종적으로 저장하기 위한 인터페이스 기능을 제공하는 것을 알 수 있다.It can be seen that the back-end storage management unit 140 may include HDD, SAS, iSCSI storage, and public cloud storage, and provides an interface function for finally storing data in the back-end storage.

이 때, 백엔드 스토리지 관리부(140)는 데이터 분산 정책, 병렬 입출력(Parallel IO Engine), Multi-Path 입출력(Multi-Path IO Engine)을 통해 빠른 응답속도를 보장하기 위한 메모리 스토리지부터 대용량의 데이터 운영을 위한 클라우드 스토리지까지 다양한 유형의 스토리지를 사용하여 데이터 운영 및 연결된 스토리지에 대해 고가용성 서비스를 제공하는 것을 알 수 있다.At this time, the backend storage management unit 140 operates large-capacity data from memory storage to ensure fast response speed through data distribution policy, parallel input/output (Parallel IO Engine), and multi-path input/output (Multi-Path IO Engine). It can be seen that it provides high-availability services for data operation and connected storage using various types of storage, including cloud storage for storage.

이 때, 백엔드 스토리지 관리부(140)는 데이터를 동일 노드 내의 스토리지나 클러스터로 구성된 다중 노드 내의 스토리지에 분산시켜 저장할 수 있으며, 데이터 크기 및 분산 저장 수를 조절하여, 시스템 오류에 따른 데이터 손실을 방지할 수 있다.At this time, the back-end storage management unit 140 may store data by distributing it to storage in the same node or storage in multiple nodes composed of clusters, and by adjusting the data size and the number of distributed storage, it is possible to prevent data loss due to system errors. I can.

백엔드 스토리지 관리부(140)는 데이터를 다양한 스토리지 계층에 자동으로 분산 저장하는 기능을 제공하는 것을 알 수 있다. 제공되는 스토리지의 특성에 기반하여 다양한 종류의 스토리지를 계층화하는 것을 알 수 있다. 데이터 초기 생성시는 고속의 스토리지에 저장하고, 데이터 접근 빈도가 낮아지면 하위 계층의 스토리지로 이동하며, 최종적으로 퍼블릭 클라우드 스토리지에 저장되는 것을 알 수 있다. 백엔드 스토리지 관리부(140)는 데이터의 특성에 따라서 다양한 스토리지 계층 사이의 데이터 이동을 자동으로 수행한다.It can be seen that the backend storage management unit 140 provides a function of automatically distributing and storing data in various storage tiers. It can be seen that various types of storage are layered based on the characteristics of the provided storage. It can be seen that when data is initially created, it is stored in high-speed storage, and when the frequency of data access decreases, it is moved to a lower tier storage, and finally stored in public cloud storage. The backend storage management unit 140 automatically moves data between various storage tiers according to the characteristics of the data.

도 7은 본 발명의 일실시예에 통합 스토리지 관리 방법을 나타낸 동작흐름도이다.7 is an operation flow diagram showing an integrated storage management method according to an embodiment of the present invention.

도 7을 참조하면, 본 발명의 일실시예에 통합 스토리지 관리 방법은 먼저 데이터 접근을 수행할 수 있다(S210).Referring to FIG. 7, the integrated storage management method according to an embodiment of the present invention may first access data (S210).

즉, 단계(S210)는 통합 스토리지(20)와 연동하여 사용자에게 상기 통합 스토리지의 서비스를 제공하기 위해 데이터 접근을 수행할 수 있다.That is, in step S210, data access may be performed in order to provide a service of the integrated storage to a user by interworking with the integrated storage 20.

이 때, 단계(S210)는 사용자에게 가상 디스크 풀을 제공하여 전체 스토리지 시스템의 단일 스토리지 뷰를 제공할 수 있다.In this case, step S210 may provide a virtual disk pool to the user to provide a single storage view of the entire storage system.

본 발명의 일실시예에 통합 스토리지 관리 방법은 데이터 읽기 및 쓰기를 수행할 수 있다(S220).In an embodiment of the present invention, the integrated storage management method may read and write data (S220).

즉, 단계(S220)는 램디스크를 이용하여 상기 통합 스토리지의 서비스를 제공하기 위한 데이터의 읽기/쓰기 캐쉬를 제공할 수 있다.That is, in step S220, a read/write cache of data for providing a service of the integrated storage may be provided using a RAM disk.

이 때, 단계(S220)는 퍼블릭 클라우드 스토리지에 저장된 데이타를 클라우드 통합 스토리지 운용 플랫폼 내부의 저장 장치로 캐쉬하여, 퍼블릭 클라우드 저장소에 대해서 온프레미스 스토리지 수준의 접근 속도를 제공할 수 있다.In this case, in step S220, data stored in the public cloud storage may be cached to a storage device inside the cloud integrated storage operation platform, thereby providing access speed of an on-premises storage level to the public cloud storage.

이 때, 단계(S220)는 메인 메모리에 상응하는 램(RAM)과 SSD(Solid State Drive)를 포함하는 하나의 디스크 형태로 구성된 램디스크를 이용하여 데이터 읽기 및 쓰기를 수행하고, 램 기반 캐쉬 영역이 모두 소진되면 SSD 기반 캐쉬 영역으로 자동 전환시킬 수 있다.At this time, in step S220, data is read and written using a ram disk configured in a single disk form including RAM and a solid state drive (SSD) corresponding to the main memory, and a RAM-based cache area When all of this is exhausted, it can be automatically converted to an SSD-based cache area.

본 발명의 일실시예에 통합 스토리지 관리 방법은 데이터 분산 및 저장을 수행할 수 있다(S230).The integrated storage management method according to an embodiment of the present invention may perform data distribution and storage (S230).

즉, 단계(S230)는 상기 데이터의 객체를 분산하여 저장하고, 분산된 객체를 암호화 및 압축 처리할 수 있다.That is, in step S230, the object of the data may be distributed and stored, and the distributed object may be encrypted and compressed.

이 때, 단계(S230)는 데이터의 에러 발생을 감지하고 이를 수정할 수 있는 에러 탐지 및 복구 코딩을 적용하여, 데이터 및 시스템 에러에 대처할 수 있다.In this case, in step S230, data and system errors may be coped with by applying error detection and recovery coding capable of detecting the occurrence of data errors and correcting them.

본 발명의 일실시예에 통합 스토리지 관리 방법은 데이터의 최종 리소스 저장을 수행할 수 있다(S240).The integrated storage management method according to an embodiment of the present invention may perform final resource storage of data (S240).

즉, 단계(S240)는 단계(S230)에서 생성된 최종의 데이터를 최종 리소스에 저장할 수 있다.That is, in step S240, the final data generated in step S230 may be stored in the final resource.

이 때, 단계(S240)는 데이터 분산 저장 계층의 정책에 따라 데이터를 성능, 시간 및 사용 빈도 위주의 티어링(tiering)을 이용하여 자동 혹은 수동 저장 기능을 제공할 수 있다.In this case, in step S240, an automatic or manual storage function may be provided by using tiering based on performance, time, and frequency of use of the data according to the policy of the data distribution storage layer.

이 때, 단계(S240)는 데이터를 다양한 스토리지 계층에 자동으로 분산 저장하는 기능을 제공할 수 있다.In this case, step S240 may provide a function of automatically distributing and storing data in various storage layers.

이 때, 단계(S240)는 제공되는 스토리지의 특성에 기반하여 다양한 종류의 스토리지를 계층화 할 수 있다.In this case, in step S240, various types of storage may be layered based on the characteristics of the provided storage.

이 때, 단계(S240)는 초기 생성 데이터는 고속의 스토리지에 저장하고, 데이터 접근 빈도가 낮아지면 하위 계층의 스토리지로 데이터를 이동시키며, 최종적으로 퍼블릭 클라우드 스토리지에 데이터를 저장시킬 수 있다.In this case, in step S240, the initially generated data is stored in a high-speed storage, and when the frequency of data access decreases, the data is moved to a lower-tier storage, and the data may be finally stored in the public cloud storage.

이 때, 단계(S240)는 데이터의 특성에 따라서 다양한 스토리지 계층 사이에 자동적으로 데이터를 이동시킬 수 있다.In this case, in step S240, data may be automatically moved between various storage layers according to the characteristics of the data.

도 8은 본 발명의 일실시예에 따른 통합 스토리지 관리 장치와 서비스 제공자의 관계를 나타낸 도면이다.8 is a diagram illustrating a relationship between an integrated storage management device and a service provider according to an embodiment of the present invention.

도 8을 참조하면, 본 발명의 일실시예에 따른 통합 스토리지 관리 장치(100)는 복수의 DSF(Data Storage Federation) 서비스 제공자(DSF Service Provider for Service A ~ N)로부터 스토리지 서비스(Data Storage Service A ~ N)를 등록받을 수 있다.Referring to FIG. 8, the integrated storage management apparatus 100 according to an embodiment of the present invention provides a storage service (Data Storage Service A) from a plurality of Data Storage Federation (DSF) service providers (DSF Service Providers for Service A to N). ~ N) can be registered.

이 때, 관리자(DSF Service Adminstrator)는 통합 스토리지 관리 장치(100)를 통해 등록된 복수개의 스토리지 서비스를 사용자에게 제공할 수 있다.In this case, the administrator (DSF Service Adminstrator) may provide a plurality of storage services registered through the integrated storage management device 100 to the user.

이 때, 사용자(DSF Service Customer of Client user)는 통합 스토리지 관리 장치(100)를 이용하여 복수개의 스토리지 서비스들을 제공받을 수 있다.In this case, a user (DSF Service Customer of Client user) may receive a plurality of storage services using the integrated storage management device 100.

이 때, 통합 스토리지 관리 장치(100)는 복수개의 스토리지 서비스들을 제공하기 위하여 멀티테넌트 기반으로 통합 스토리지(20)를 관리할 수 있다.In this case, the integrated storage management apparatus 100 may manage the integrated storage 20 on a multi-tenant basis in order to provide a plurality of storage services.

도 9는 본 발명의 일실시예에 따른 스토리지 서비스 등록을 위한 통합 스토리지 관리 방법을 나타낸 동작흐름도이다.9 is an operation flow diagram illustrating an integrated storage management method for registering a storage service according to an embodiment of the present invention.

도 9를 참조하면, 본 발명의 일실시예에 따른 스토리지 서비스 등록을 위한 통합 스토리지 관리 방법은 먼저 통합 스토리지 관리 장치(100)가 제공자의 로그인을 수행할 수 있다(S310).Referring to FIG. 9, in the integrated storage management method for registering a storage service according to an embodiment of the present invention, first, the integrated storage management device 100 may perform a login of a provider (S310).

이 때, 단계(S310)는 스토리지 서비스를 등록하기 위하여 제공자가 기 등록된 아이디와 패스워드를 이용하여 통합 스토리지 관리 장치(100)에 로그인할 수 있다.In this case, in step S310, in order to register the storage service, the provider may log in to the integrated storage management apparatus 100 using a previously registered ID and password.

이 때, 단계(S310)는 제공자의 아이디 및 패스워드가 로그인이 등록되어 있지 않은 경우, 새로운 아이디 및 패스워드를 생성할 수도 있다.In this case, in step S310, when the provider's ID and password are not registered for login, a new ID and password may be generated.

또한, 본 발명의 일실시예에 따른 스토리지 서비스 등록을 위한 통합 스토리지 관리 방법은 스토리지에 스토리지 서비스를 등록할 수 있다(S320).In addition, the integrated storage management method for registering a storage service according to an embodiment of the present invention may register a storage service in the storage (S320).

즉, 단계(S320)는 스토리지 서비스를 등록하기 위한 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)를 확인하여 스토리지 서비스를 등록할 수 있다.That is, in step S320, a storage service may be registered by checking the cloud storage 21 and the non-cloud storage 22 for registering the storage service.

이 때, 단계(S320)는 스토리지 서비스 등록을 위해 GUI를 통해 제공자에게 등록 방법을 제공할 수 있다.In this case, in step S320, a registration method may be provided to a provider through a GUI in order to register a storage service.

이 때, 단계(S320)는 제공자로부터 GUI를 통해 스토리지 서비스 이름, 저장소 사양(사이즈, 캐싱 여부, Tier 개수, 암호화, 온프레미스 저장소 지원 등), 데이터 저장 서비스 프로토콜 및 클라우드 저장소 이름 및 종류 등을 입력 받아, 이에 상응하는 스토리지에 등록시킬 수 있다.At this time, step S320 inputs the storage service name, storage specification (size, caching, number of tiers, encryption, on-premises storage support, etc.), data storage service protocol and cloud storage name and type, etc. from the provider through the GUI. It can be received and registered in the corresponding storage.

이 때, GUI를 통해 입력 받는 정보는 신규 제공자가 아이디 및 패스워드 등록 시 사전 등록을 통하여 등록될 수도 있다.At this time, the information received through the GUI may be registered through pre-registration when a new provider registers an ID and password.

또한, 본 발명의 일실시예에 따른 스토리지 서비스 등록을 위한 통합 스토리지 관리 방법은 스토리지를 설정할 수 있다(S330).In addition, the integrated storage management method for registering a storage service according to an embodiment of the present invention may set storage (S330).

즉, 단계(S330)는 스토리지 서비스가 등록된 스토리지에 상응하는 가상 스토리지를 생성할 수 있다.That is, in step S330, a virtual storage corresponding to the storage in which the storage service is registered may be created.

이 때, 단계(S330)는 가상 스토리지를 가상 디스크 풀(Pool)에 등록할 수 있고, 사용자에게 가상 디스크 풀을 통해 스토리지 서비스 제공을 위한 단일 스토리지 뷰를 제공할 수 있다.In this case, in step S330, the virtual storage may be registered in the virtual disk pool, and a single storage view for providing storage services may be provided to the user through the virtual disk pool.

도 10은 본 발명의 일실시예에 따른 통합 스토리지 관리 장치를 나타낸 블록도이다.10 is a block diagram showing an integrated storage management apparatus according to an embodiment of the present invention.

도 10을 참조하면, 본 발명의 일실시예에 따른 통합 스토리지 관리 장치는 각 레이어의 컴포넌트 또는 주요 구성이 되는 서비스 연결부(110), 데이터 조작부(120), 데이터 분산 및 저장부(130) 및 백엔드 스토리지 관리부(140)가 제공자(DSF Service Provider A ~ C)로부터 등록된 스토리지 서비스에 상응하는 개수로 멀티테넌트 되어 구성된 것을 알 수 있다.Referring to FIG. 10, the integrated storage management apparatus according to an embodiment of the present invention includes a service connection unit 110, a data manipulation unit 120, a data distribution and storage unit 130, and a backend that are components or main components of each layer. It can be seen that the storage management unit 140 is multi-tenanted and configured in a number corresponding to the storage services registered from the providers (DSF Service Providers A to C).

즉, 통합 스토리지 관리 장치(100)는 복수개의 서비스를 동시에 수행하는 멀티 테넌트 기능을 지원하는 것을 알 수 있다.That is, it can be seen that the integrated storage management device 100 supports a multi-tenant function that simultaneously performs a plurality of services.

이 때, 프로비저닝 및 정책 관리부(150)는 관리자(Admin)에게 관리자 GUI(Administration GUI)를 제공하고, 멀티테넌트 기반 통합 스토리지 서비스를 제공 및 관리할 수 있다.In this case, the provisioning and policy management unit 150 may provide an administrator GUI (Administration GUI) to an administrator, and provide and manage a multi-tenant-based integrated storage service.

스토리지 연결부(110) 및 데이터 조작부(120)는 데이터 관리단계를 수행할 수 있다.The storage connection unit 110 and the data manipulation unit 120 may perform a data management step.

이 때, 스토리지 연결부(110)는 상기 가상 데이터 스토리지를 사용자에게 단일 가상 스토리지로서 인터페이스를 제공할 수 있다.In this case, the storage connection unit 110 may provide an interface to the user with the virtual data storage as a single virtual storage.

이 때, 스토리지 연결부(110)는 상기 단일 가상 스토리지를 사용하기 위한 사용자 접근 메커니즘을 제공할 수 있다.In this case, the storage connection unit 110 may provide a user access mechanism for using the single virtual storage.

이 때, 상기 사용자 접근 메커니즘은 상기 단일 가상 스토리지의 타입에 따라 달라질 수 있다.In this case, the user access mechanism may vary according to the type of the single virtual storage.

이 때, 스토리지 연결부(110)는 가상 블록 디바이스, 파일 시스템 및 오브젝트 스토리지와 함께 단일 가상 볼륨의 해당 프로토콜 또는 I/O 인터페이스를 제공할 수 있다.In this case, the storage connection unit 110 may provide a corresponding protocol or I/O interface of a single virtual volume along with a virtual block device, a file system, and an object storage.

이 때, 스토리지 연결부(110)는 프로토콜 성능 가속화를 제공할 수 있다.In this case, the storage connection unit 110 may provide protocol performance acceleration.

또한, 스토리지 연결부(110)가 제공하는 인터페이스는 직접 인터페이스 (즉, 객체 또는 블록 스토리지 인터페이스) 또는 소프트웨어 프로그램과의 여러 유형의 스토리지 인터페이스를 구성하는 프록시 인터페이스에 상응할 수 있다.In addition, the interface provided by the storage connection unit 110 may correspond to a direct interface (ie, an object or block storage interface) or a proxy interface constituting various types of storage interfaces with a software program.

이 때, 소프트웨어 프로그램은 소프트웨어 에이전트, 데몬, 웹 작업자 및 통합 스토리지(20)에 대한 인터페이스를 위한 RESTful API를 포함할 수 있다.In this case, the software program may include a software agent, a daemon, a web worker, and a RESTful API for an interface to the integrated storage 20.

이 때, 프록시 인터페이스는 소프트웨어 프로그램과의 인터페이스를 자동으로 감지하여 통합 스토리지(20)를 연결할 수 있다.In this case, the proxy interface may connect the integrated storage 20 by automatically detecting an interface with a software program.

이 때, 스토리지 연결부(110)는 단일 가상 볼륨을 사용하기 위해 사용자 클라이언트 장치(10)에 대한 사용자 인터페이스를 제공할 수 있다.In this case, the storage connection unit 110 may provide a user interface for the user client device 10 to use a single virtual volume.

사용자 인터페이스는 그래픽 사용자 인터페이스, 웹 응용 프로그램 또는 사용자 클라이언트 장치(10)가 특정 가상 볼륨에 액세스하기 위한 특정 클라이언트가 포함될 수 있다.The user interface may include a graphical user interface, a web application, or a specific client for the user client device 10 to access a specific virtual volume.

이 때, 스토리지 연결부(110)는 데이터 조작부(120)와 통합 스토리지 장치(20)의 해당 인터페이스 사이의 변환을 제공할 수 있다.In this case, the storage connection unit 110 may provide conversion between the data manipulation unit 120 and a corresponding interface of the integrated storage device 20.

해당 인터페이스는 API, I / O 인터페이스 등을 포함한다.This interface includes API, I/O interface, etc.

이 때, 스토리지 연결부(110)는 사용자 클라이언트 장치(10)에 단일 가상 볼륨을 사용하기 위한 안전한 액세스 메커니즘을 제공할 수 있다.In this case, the storage connection unit 110 may provide a secure access mechanism for using a single virtual volume to the user client device 10.

이 때, 스토리지 연결부(110)는 사용자 클라이언트 장치(10)의 요구 사항을 등록할 수 있다.In this case, the storage connection unit 110 may register the requirements of the user client device 10.

사용자 클라이언트 장치(10)의 요구 사항은 데이터 저장 용량, 액세스 메커니즘, 단일 가상 볼륨의 저장 유형, 정책 등을 포함할 수 있다.The requirements of the user client device 10 may include a data storage capacity, an access mechanism, a storage type of a single virtual volume, a policy, and the like.

이 때, 스토리지 연결부(110)는 통합 스토리지(20)와의 원활한 통신을 위해 통합 스토리지(20)와의 인터페이스의 원활한 연결을 제공할 수 있다.In this case, the storage connection unit 110 may provide a seamless connection of an interface with the integrated storage 20 for smooth communication with the integrated storage 20.

이 때, 데이터 조작부(120)는 상기 데이터의 실제 저장 위치와 상관없이 상기 통합 스토리지(20)를 가상 데이터 스토리지로 제공할 수 있다.In this case, the data manipulation unit 120 may provide the integrated storage 20 as a virtual data storage regardless of the actual storage location of the data.

이 때, 데이터 조작부(120)는 상기 단일 가상 스토리지에 저장하는 데이터를 분할, 암호화, 압축 중 적어도 어느 하나의 변환과정에 따라 변환하여 저장할 수 있다.In this case, the data manipulation unit 120 may convert and store the data stored in the single virtual storage according to at least one conversion process of division, encryption, and compression.

이 때, 데이터 조작부(120)는 통합 스토리지(20)의 단일 가상 스토리지 뷰를 가상 스토리지 풀로 제공할 수 있다.In this case, the data manipulation unit 120 may provide a single virtual storage view of the integrated storage 20 as a virtual storage pool.

이 때, 데이터 조작부(120)는 사용자 클라이언트 장치(10)에게 쓰기 버퍼 또는 읽기 캐시 기능을 제공할 수 있다.In this case, the data manipulation unit 120 may provide a write buffer or read cache function to the user client device 10.

이 때, 데이터 조작부(120)는 메모리, SSD 또는 PCIe(peripheral component interconnect express) 플래시 카드 등을 사용하여 읽기 및 쓰기 응답 시간을 향상시킬 수 있다.In this case, the data manipulation unit 120 may improve read and write response times by using a memory, an SSD, or a peripheral component interconnect express (PCIe) flash card.

이 때, 데이터 조작부(120)는 온-프레미스에 비해 느린 액세스 속도를 읽기 및 쓰기 캐시를 이용하여 보상할 수 있다.In this case, the data manipulation unit 120 may compensate for a slower access speed compared to on-premises by using a read and write cache.

읽기 및 쓰기 캐시는 스토리지 및 데이터를 저장하는 디바이스의 성능을 향상시킬 수 있고, 고속 캐시 동작을 위한 다양한 장치에 사용될 수 있다.The read and write cache can improve the performance of a device that stores storage and data, and can be used in various devices for high-speed cache operation.

고속 캐시 동작을 위한 다양한 장치는 메인 메모리, RAM 기반 디스크 및 SSD 등에 상응할 수 있다.Various devices for high-speed cache operation may correspond to main memory, RAM-based disks, and SSDs.

고속 액세스의 경우, 캐시 계층 구조가 메인 메모리로 확장될 수 있다. 또한, 메인 메모리는 용량 제한 때문에 SSD에서 사용하는 접근법이 사용될 수 있다. 즉, RAM 기반 캐시 영역이 고갈되면 자동으로 SSD 영역 캐시로 변환될 수 있다. 사용자 클라이언트 장치(10)가 쓰기 작업을 수행 할 때 빠른 쓰기 응답을 위해 메모리 영역에서 쓰기 작업이 수행될 수 있다.In the case of high-speed access, the cache hierarchy can be extended to the main memory. Also, the main memory may use the approach used by SSDs because of its capacity limitation. That is, when the RAM-based cache area is depleted, it can be automatically converted to an SSD area cache. When the user client device 10 performs a write operation, a write operation may be performed in a memory area for a quick write response.

이 때, 데이터 조작부(120)는 스냅 샷, 빠른 복제 및 분산 트랜잭션 로그에 대한 데이터 관리를 제공할 수 있다.In this case, the data manipulation unit 120 may provide data management for snapshots, fast replication, and distributed transaction logs.

이 때, 데이터 조작부(120)는 사용자 클라이언트 장치(10)의 작성(create), 읽기(read), 갱신(update), 삭제(delete) (CRUD) 데이터 작업의 실행을 제공할 수 있다.In this case, the data manipulation unit 120 may provide the execution of a create, read, update, delete (CRUD) data operation of the user client device 10.

CRUD 데이터 연산은 데이터의 생성, 읽기, 갱신 및 삭제를 포함할 수 있다.CRUD data operations may include creation, reading, updating, and deletion of data.

이 때, 데이터 조작부(120)는 글로벌 레지스트리에 쿼리를 사용하여 사용자 클라이언트 장치(10)의 데이터에서 검색 데이터 작업을 제공할 수 있다.In this case, the data manipulation unit 120 may provide a search data operation from data of the user client device 10 by using a query to the global registry.

이 때, 데이터 조작부(120)는 DSF 데이터의 공유 상태를 확인한 후 글로벌 레지스트리에서 데이터의 공유 상태를 업데이트하여 공유 데이터 운영을 제공할 수 있다.In this case, the data manipulation unit 120 may check the sharing status of the DSF data and then update the sharing status of the data in the global registry to provide shared data operation.

데이터 공유는 데이터 조작 중에 동일한 데이터가 공유됨을 의미할 수 있다.Data sharing may mean that the same data is shared during data manipulation.

데이터 공유 상태는 데이터 공유 여부에 대한 정보에 상응할 수 있다.The data sharing state may correspond to information on whether or not data is shared.

이 때, 데이터 조작부(120)는 데이터의 중복 제거를 사용하여 데이터 저장 용량을 절약할 수 있다.In this case, the data manipulation unit 120 may reduce data storage capacity by using data deduplication.

이 때, 데이터 조작부(120)는 통합 스토리지(20)에 데이터를 전송하기 위해 데이터 암호화 / 암호 해독을 제공할 수 있다.In this case, the data manipulation unit 120 may provide data encryption/decryption to transmit data to the integrated storage 20.

이 때, 데이터 조작부(120)는 시스템 장애로부터 사용자 클라이언트 장치(10)의 데이터 복구를 제공할 수 있다.In this case, the data manipulation unit 120 may provide data recovery of the user client device 10 from a system failure.

데이터 복구는 가장 최근에 사용 된 사용자 클라이언트 장치(10)의 데이터를 복원하여 스토리지 및 네트워크 연결 오류로 인한 오류로 인한 데이터 손실을 방지할 수 있다.Data recovery can prevent data loss due to errors due to storage and network connection errors by restoring data of the user client device 10 that has been used most recently.

이 때, 데이터 조작부(120)는 저장 공간의 복원력 및 비용 효율성을 위해 사용 가능한 통합 스토리지(20)로 데이터 마이그레이션을 제공할 수 있다.In this case, the data manipulation unit 120 may provide data migration to the usable integrated storage 20 for resilience and cost efficiency of the storage space.

데이터 저장 공간의 복원력 및 비용 효율성을 위한 데이터 마이그레이션은 사용자 개입이나 인식 없이 자동으로 수행될 수 있다.Data migration for resilience and cost efficiency of data storage space can be performed automatically without user intervention or recognition.

이 때, 데이터 조작부(120)는 데이터 무결성을 검사하기 위해 데이터 조작에 대한 데이터의 유효성 확인을 제공할 수 있다.In this case, the data manipulation unit 120 may provide validation of data for data manipulation in order to check data integrity.

이 때, 데이터 조작부(120)는 복제 된 데이터에 대한 사용자 클라이언트 장치(10)의 데이터 일관성을 지원할 수 있다.In this case, the data manipulation unit 120 may support data consistency of the user client device 10 with respect to the duplicated data.

데이터 일관성은 데이터 조작부(120)가 사용자 클라이언트 장치(10)의 저장소 오류 데이터를 복구하기 위해 현재 데이터를 올바르게 백업하는 것을 의미할 수 있다.Data consistency may mean that the data manipulation unit 120 properly backs up the current data in order to recover the storage error data of the user client device 10.

이 때, 데이터 조작부(120)는 사용자 클라이언트 장치(10)의 데이터 투명성을 지원할 수 있다.In this case, the data manipulation unit 120 may support data transparency of the user client device 10.

데이터의 투명성은 사용자 클라이언트 장치(10)의 위치를 모른 채 데이터에 액세스하는 것을 의미할 수 있다.Transparency of data may mean accessing data without knowing the location of the user client device 10.

이 때, 데이터 조작부(120)는 높은 가용성을 위해 글로벌 네임 스페이스의 백업을 제공할 수 있다.In this case, the data manipulation unit 120 may provide a backup of the global name space for high availability.

글로벌 네임 스페이스의 백업은 실제 데이터와 동기화되고 글로벌 네임 스페이스의 백업은 여러 노드(가상 컴퓨터 또는 물리적 서버)의 클러스터링을 통해 고 가용성 기능을 수행할 수 있다.The backup of the global namespace is synchronized with the actual data, and the backup of the global namespace can perform a high availability function through clustering of multiple nodes (virtual computers or physical servers).

이 때, 데이터 조작부(120)는 블록 기반 스토리지, 파일 기반 스토리지 또는 기타 클라우드 스토리지와 같은 고객의 요구에 따라 단일 가상 볼륨을 추가할 수 있다.In this case, the data manipulation unit 120 may add a single virtual volume according to a customer's request, such as block-based storage, file-based storage, or other cloud storage.

데이터 분산 및 저장부(130)는 데이터 분산단계를 수행할 수 있다.The data distribution and storage unit 130 may perform a data distribution step.

이 때, 데이터 분산 및 저장부(130)는 온프레미스 스토리지 및 클라우드 스토리지를 포함하는 통합 스토리지(20)에 저장하기 위해 데이터를 분산할 수 있다.In this case, the data distribution and storage unit 130 may distribute data to be stored in the integrated storage 20 including on-premises storage and cloud storage.

이 때, 데이터 분산 및 저장부(130)는 통합 스토리지(20)에 데이터를 쓰는 동안 최소한의 오버 헤드를 보장하기 위한 최적화를 제공할 수 있다.In this case, the data distribution and storage unit 130 may provide optimization for ensuring minimal overhead while writing data to the integrated storage 20.

이 때, 데이터 분산 및 저장부(130)는 통합 스토리지(20)에 데이터를 분산하고 저장하기 위한 데이터 단편화(data fragmentation)을 제공할 수 있다.In this case, the data distribution and storage unit 130 may provide data fragmentation for distributing and storing data in the integrated storage 20.

데이터 단편화는 데이터를 효율적으로 관리하고 안정성을 향상시키기 위해 사용자 데이터를 다른 저장소, 노드 또는 데이터 센터에 분산 및 저장하는 방법이다.Data fragmentation is a method of distributing and storing user data in different repositories, nodes, or data centers to efficiently manage data and improve stability.

이 때, 데이터 분산 및 저장부(130)는 데이터의 암호화, 해독 및 압축/압축 해제를 제공할 수 있다.In this case, the data distribution and storage unit 130 may provide encryption, decryption, and compression/decompression of data.

이 때, 암호화와 압축은 사용자의 요구에 의해 고려될 수 있다.In this case, encryption and compression can be considered at the request of the user.

또한, 데이터 분산 및 저장부(130)는 자체 파일 및 파일 내용을 데이터로 지원할 수 있다.In addition, the data distribution and storage unit 130 may support its own files and file contents as data.

파일의 내용 유형은 structured, semi-structured 및 unstructured 중 어느 하나에 상응할 수 있다.The content type of the file may correspond to one of structured, semi-structured, and unstructured.

이 때, 데이터 분산 및 저장부(130)의 지원은 복수의 통합 스토리지(20) 제공자의 로컬 스토리지에 분산 된 데이터를 대응하는 API로 집계하는 것을 지원할 수 있다.In this case, the support of the data distribution and storage unit 130 may support aggregation of data distributed in the local storage of the plurality of integrated storage 20 providers with a corresponding API.

이 때, 데이터 분산 및 저장부(130)는 저장 공간의 복원력 및 비용 효율성에 중점을 두고 사용 클라이언트 장치(10)의 데이터를 관리할 수 있다.In this case, the data distribution and storage unit 130 may manage the data of the client device 10 in use by focusing on resilience and cost efficiency of the storage space.

예를 들어, 데이터 저장 공간의 복원력 및 비용 효율성을 위한 데이터 이동은 사용자 개입이나 인식 없이 자동으로 수행될 수 있다.For example, data movement for resilience and cost efficiency of a data storage space may be performed automatically without user intervention or recognition.

이 때, 사용자 클라이언트 장치(10)는 데이터가 온-프레미스 스토리지(22) 또는 클라우드 스토리지(21)에 저장되는지 여부를 모른 채 동일한 성능으로 통합 클라우드 스토리지 서비스를 제공 받을 수 있다.In this case, the user client device 10 may receive an integrated cloud storage service with the same performance without knowing whether data is stored in the on-premises storage 22 or the cloud storage 21.

이 때, 데이터 분산 및 저장부(130)는 사용자 클라이언트 장치(10)의 데이터를 통합하기 위해 이 때, 서비스 제공자를 검증할 수 있다.In this case, the data distribution and storage unit 130 may verify the service provider in order to integrate the data of the user client device 10.

백엔드 스토리지 관리부(140)는 스토리지 관리 단계를 수행할 수 있다.The backend storage management unit 140 may perform a storage management step.

이 때, 백엔드 스토리지 관리부(140)는 상기 분산된 데이터를 저장하기 위해 상기 통합 스토리지(20)를 연결하고, 상기 저장될 데이터의 스토리지 티어링(tiering) 정보를 제공할 수 있다.In this case, the backend storage management unit 140 may connect the integrated storage 20 to store the distributed data and provide storage tiering information of the data to be stored.

이 때, 상기 스토리지 티어링 정보는, 스토리지의 퍼포먼스, 상기 데이터의 사용 시간 및 데이터의 접근 주기에 따라 달라질 수 있다.In this case, the storage tiering information may vary according to the performance of the storage, the use time of the data, and the access period of the data.

이 때, 백엔드 스토리지 관리부(140)는 스토리지의 퍼포먼스, 상기 데이터의 사용 시간 및 데이터의 접근 주기에 따라 데이터를 계층화하는 스토리지 계층화를 제공할 수 있다.In this case, the backend storage management unit 140 may provide storage tiering in which data is tiered according to a storage performance, a use time of the data, and a data access period.

스토리지 계층화는 계층 적 방식으로 여러 스토리지 계층에 데이터를 분산 배치하는 작업에 상응할 수 있다.Storage tiering can correspond to distributing data across multiple storage tiers in a hierarchical manner.

이 때, 백엔드 스토리지 관리부(140)는 데이터의 특성에 따라 다양한 스토리지 계층간에 데이터를 자동으로 이동시킬 수 있다.In this case, the backend storage management unit 140 may automatically move data between various storage tiers according to the characteristics of the data.

데이터는 처음 생성 될 때 고속 저장 장치에 저장될 수 있다. 데이터 액세스 빈도가 낮으면 데이터는 저속 스토리지로 이동될 수 있다.Data can be stored on a high-speed storage device when it is first created. When the frequency of data access is low, data can be moved to low-speed storage.

이 때, 백엔드 스토리지 관리부(140)는 분산 된 데이터를 집계하기 위해 여러 데이터 스토리지의 공급자에게 동시에 액세스 할 수 있다.At this time, the backend storage management unit 140 may simultaneously access multiple data storage providers in order to aggregate distributed data.

이 때, 백엔드 스토리지 관리부(140)는 사용자 클라이언트 장치(10)에게 통합 스토리지(20)에 대한 액세스 권한을 위임하는 기능을 지원할 수 있다.In this case, the backend storage management unit 140 may support a function of delegating access rights to the integrated storage 20 to the user client device 10.

프로비저닝 및 정책 관리부(150)는 논리적 구성 요소의 구성 및 제어를 제공할 수 있다.The provisioning and policy management unit 150 may provide configuration and control of logical components.

이 때, 프로비저닝 및 정책 관리부(150)는 데이터 저장 및 데이터 조작의 정책 관리를 제공할 수 있다.In this case, the provisioning and policy management unit 150 may provide policy management of data storage and data manipulation.

데이터 저장 정책은 백업, 스냅 샷, 확장, 복구, 데이터 캐싱, 씬 프로비저닝, 계층화, 저장 유형 (파일, 블록, 오브젝트 등) 등이 포함될 수 있다.Data storage policies can include backup, snapshot, expansion, recovery, data caching, thin provisioning, tiering, storage types (files, blocks, objects, etc.).

이 때, 데이터 저장 정책은 기본적으로 설정될 수 있고, 사용자의 요청에 따라 재구성될 수 있다. 또한, 데이터 저장 정책은 통합 스토리지(20)의 정책에 의존할 수도 있다.In this case, the data storage policy may be set by default and may be reconfigured according to the user's request. In addition, the data storage policy may depend on the policy of the unified storage 20.

재구성 된 정책은 통합 스토리지(20)가 자체 정책을 지원하지 않는 경우, 프로비저닝 및 정책 관리부(150)에 의해 재구성된 정책이다.The reconfigured policy is a policy reconfigured by the provisioning and policy management unit 150 when the integrated storage 20 does not support its own policy.

데이터 조작 정책은 공유 지원, 읽기 / 쓰기, 복제, 데이터 마이그레이션, 조각화, 암호화, 압축, 중복 제거 등이 포함될 수 있다.Data manipulation policies can include support for sharing, read/write, replication, data migration, fragmentation, encryption, compression, and deduplication.

이 때, 데이터 조작 정책은 읽기 전용, 쓰기, 복제 옵션 및 쓰기 옵션 등을 포함한 비공유 모두 및 공유 모드를 선택할 수 있다.In this case, the data manipulation policy may select both non-sharing and sharing modes including read-only, write, copy options, and write options.

이 때, 프로비저닝 및 정책 관리부(150)는 가상 스토리지 풀에 단일 가상 볼륨을 제공할 수 있다.In this case, the provisioning and policy management unit 150 may provide a single virtual volume to the virtual storage pool.

이 때, 프로비저닝 및 정책 관리부(150)는 데이터 전송을 위한 보안 정책 (예: 데이터 암호화)을 지원하여 사용자 클라이언트 장치(10)의 데이터 기밀성을 보장할 수 있다.In this case, the provisioning and policy management unit 150 may support a security policy for data transmission (eg, data encryption) to ensure data confidentiality of the user client device 10.

이 때, 프로비저닝 및 정책 관리부(150)는 분산 저장에 기반한 저장 구조의 오류로 인한 데이터 손실을 방지하고 시스템 오류 발생시 데이터 복구를 제공할 수 있다.In this case, the provisioning and policy management unit 150 may prevent data loss due to an error in a storage structure based on distributed storage and provide data recovery when a system error occurs.

또한, 프로비저닝 정책 관리부(150)는 스토리지 연결부(110), 데이터 조작부(120), 데이터 분산 및 저장부(130) 및 백엔드 스토리지 관리부(140)와 데이터 운영 메타 데이터를 공유할 수 있다.In addition, the provisioning policy management unit 150 may share data operation metadata with the storage connection unit 110, the data manipulation unit 120, the data distribution and storage unit 130, and the backend storage management unit 140.

데이터 운영 메타데이터는 데이터 운영을 수행하는 데 필요한 디스크립션이다. 데이터 운영 메타데이터는 가상 저장 영역 풀 및 단일 가상 볼륨의 속성이 포함될 수 있다. 데이터 운영 메타데이터는 읽기 / 쓰기 캐싱, 스냅 샷, 복제, 조각화 등의 트랜잭션 로그 및 DSF 데이터 속성이 포함될 수 있다.Data operation metadata is a description required to perform data operation. Data operation metadata may include attributes of a virtual storage area pool and a single virtual volume. Data operation metadata can include transaction log and DSF data attributes such as read/write caching, snapshot, replication, and fragmentation.

백엔드 스토리지 관리부(140)는 통합 스토리지(20)의 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)와 스토리지 관리 메타 데이터를 공유할 수 있다.The backend storage management unit 140 may share storage management metadata with the cloud storage 21 and the non-cloud storage 22 of the integrated storage 20.

스토리지 관리 메타 데이터는 저장 영역 조작을 수행하는 데 필요한 디스크립션이다 스토리지 관리 메타 데이터는 통합 스토리지(20)의 위치, 인터페이스, 고객 데이터 조작을 위한 API, 읽기 / 쓰기 속도, 저장 용량 등이 포함될 수 있다.Storage management metadata is a description required to perform storage area manipulation. Storage management metadata may include the location of the integrated storage 20, an interface, an API for manipulating customer data, read/write speed, and storage capacity.

고객 메타데이터는 고객의 환경을 구성하기 위해 고객에 의해 생성될 수 있다.Customer metadata can be created by the customer to configure the customer's environment.

도 11은 본 발명의 일실시예에 따른 백엔드 연결 데몬을 이용한 멀티테넌트 기반 통합 스토리지 관리 장치를 나타낸 블록도이다.11 is a block diagram showing a multi-tenant-based integrated storage management apparatus using a backend connection daemon according to an embodiment of the present invention.

도 11을 참조하면, 본 발명의 일실시예에 따른 백엔드 연결 데몬을 이용한 멀티테넌트 기반 통합 스토리지 관리 장치는 서비스 제공자들(31, 32, 33)이 제공한 스토리지 서비스들 별로 개별적으로 복수개로 구성된 스토리지 연결부(110), 데이터 조작부(120), 데이터 분산 및 저장부(130) 및 백엔드 스토리지 관리부(140) 및 하나의 프로비저닝 및 정책 관리부(150)를 포함한다.Referring to FIG. 11, a multi-tenant-based integrated storage management apparatus using a back-end connection daemon according to an embodiment of the present invention includes a plurality of individual storage services provided by service providers 31, 32, and 33. A connection unit 110, a data manipulation unit 120, a data distribution and storage unit 130, a back-end storage management unit 140, and a provisioning and policy management unit 150 are included.

스토리지 연결부(110)는 통합 스토리지(20)와 연동하여 사용자에게 상기 통합 스토리지(20)의 스토리지 서비스를 제공할 수 있다.The storage connection unit 110 may provide a storage service of the integrated storage 20 to a user by interworking with the integrated storage 20.

이 때, 통합 스토리지(20)는 적어도 하나 이상의 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)를 포함할 수 있다.In this case, the integrated storage 20 may include at least one cloud storage 21 and a non-cloud storage 22.

데이터 조작부(120)는 상기 통합 스토리지(20)의 가상 디스크 풀을 생성하여 적어도 하나 이상의 가상 디스크를 통해 단일 스토리지 뷰를 제공할 수 있다.The data manipulation unit 120 may create a virtual disk pool of the integrated storage 20 and provide a single storage view through at least one virtual disk.

데이터 분산 및 저장부(130)는 수신된 데이터의 쓰기가 최소 오버 헤드로 항상 액세스 할 수 있도록 데이터의 분산 및 암호화 기능을 제공할 수 있다.The data distribution and storage unit 130 may provide a data distribution and encryption function so that the writing of the received data can always be accessed with minimum overhead.

백엔드 스토리지 관리부(140)는 소프트웨어 형태의 연결 데몬을 이용하여 상기 통합 스토리지(20)와 인터페이스를 수행할 수 있다.The backend storage management unit 140 may interface with the integrated storage 20 using a software-type connection daemon.

이 때, 백엔드 스토리지 관리부(140)는 필요한 인터페이스 (객체 또는 블록 스토리지 인터페이스)와 다양한 유형의 스토리지와 인터페이스 하도록 구성된 백엔드 연결 데몬을 포함하고 여러 개의 스토리지를 쉽게 등록하기 위한 프록시 인터페이스를 제공할 수 있다.In this case, the backend storage management unit 140 may include a necessary interface (object or block storage interface) and a backend connection daemon configured to interface with various types of storage, and may provide a proxy interface for easily registering multiple storages.

이 때, 벡엔드 스토리지 관리부(140)는 프록시 인터페이스가 상기 클라우드 스토리지(21)에 연결된 제1 데몬과 상기 논-클라우드 스토리지(22)에 연결된 제2 데몬의 저장 영역 인터페이스를 감지하여 클라우드 서비스를 등록할 수 있다.At this time, the backend storage management unit 140 registers the cloud service by detecting the storage area interface of the first daemon connected to the cloud storage 21 and the second daemon connected to the non-cloud storage 22 with a proxy interface. can do.

백엔드 스토리지 프록시는 오브젝트 스토리지 데몬 인터페이스 혹은 블록 스토리지 인터페이스 드라이버가 저장된 백엔드 연결 데몬이 저장 영역 인터페이스를 자동으로 감지하여 서비스를 등록 할 수 있다.In the backend storage proxy, the object storage daemon interface or the backend connection daemon in which the block storage interface driver is stored automatically detects the storage interface and registers the service.

백엔드 연결 데몬은 통합 스토리지(20)를 연결하기 위하여 블록 디바이스를 제외한 가상 머신 혹은 컨테이너를 통하여 구동될 수 있고, 이를 통해 오브젝트 스토리지를 연결할 수 있다.In order to connect the integrated storage 20, the backend connection daemon may be driven through a virtual machine or container other than a block device, and object storage may be connected through this.

이 때, 벡엔드 스토리지 관리부(140)는 인터페이스가 수행된 스토리지는 스토리지 서비스의 등록 가능한 스토리지로 출력할 수 있다.In this case, the backend storage management unit 140 may output the storage on which the interface has been performed as a registerable storage of a storage service.

이 때, 벡엔드 스토리지 관리부(140)는 스토리지 서비스의 등록을 위하여 사용자는 시스템의 접속을 위한 정보를 관리 할 수 있거나 접근을 위한 보안된 경로를 제공할 수 있다.In this case, the backend storage management unit 140 may manage information for accessing the system or provide a secure path for access to the user to register the storage service.

이 때, 벡엔드 스토리지 관리부(140)는 하나의 스토리지를 연결 할 때 마다 하나씩 백엔드 연결 데몬을 생성 할 수 있고, 이를 프록시 서버와 연결시킬 수 있다. 프록시 서버(미도시)는 데이터 조작부(120)를 통해 상위 가상 디스크 풀(Vpool)과 연결되는 드라이버 인터페이스를 통하여 사용자의 데이터를 저장하고 관리할 수 있다.In this case, the backend storage management unit 140 may create a backend connection daemon one by one each time one storage is connected, and may connect this to a proxy server. The proxy server (not shown) may store and manage user data through a driver interface connected to an upper virtual disk pool (Vpool) through the data manipulation unit 120.

이를 통해, 통합 스토리지 관리 장치(100)는 등록된 서비스 제공자가 접속시 하나의 가상 디스크(vdisk)를 생성할 수 있고, 생성된 가상 디스크는 가상 디스크 풀 내에서 관리될 수 있다. 이 때, 사용자는 각각의 가상 디스크 풀을 통해 스토리지 서비스가 등록된 스토리지로부터 복수개의 스토리지 서비스를 제공 받을 수 있다.Through this, the integrated storage management apparatus 100 may create one virtual disk (vdisk) when a registered service provider accesses it, and the created virtual disk may be managed within the virtual disk pool. In this case, the user may receive a plurality of storage services from a storage to which a storage service is registered through each virtual disk pool.

백엔드 스토리지 관리부(140)에서 스토리지 구성은 온 프레미스 및 퍼블릭 클라우드 스토리지 서비스와 다르게 구성될 수 있다. 백엔드 스토리지를 위한 인터페이스는 별도의 소프트웨어 데몬 형태로 제공될 수 있다. 복수개의 클라우드 스토리지 장치가 있는 경우 DSF 로컬 스토리지 관리를 구성 할 수 있고, 프록시 인터페이스를 인터페이스 하도록 구성 할 수 있으며 온 프레미스 스토리지를 등록하고 사용할 수 있는 인터페이스가 제공될 수도 있다.The storage configuration in the backend storage management unit 140 may be configured differently from on-premises and public cloud storage services. The interface for backend storage can be provided in the form of a separate software daemon. If there are multiple cloud storage devices, DSF local storage management can be configured, a proxy interface can be configured, and an interface for registering and using on-premises storage can be provided.

프로비저닝 및 정책 관리부(150)는 복수의 서비스 제공자로부터 스토리지 서비스를 등록 받아 멀티테넌트 기반으로 상기 스토리지 서비스의 제공을 관리할 수 있다.The provisioning and policy management unit 150 may register a storage service from a plurality of service providers and manage provision of the storage service on a multi-tenant basis.

이 때, 프로비저닝 및 정책 관리부(150)는 관리자가 관리 GUI를 통하여 통합 스토리지 관리 장치(100)에서 스토리지 서비스 제공을 위한 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)를 등록하고 새로운 서비스를 구성 할 수 있다.At this time, the provisioning and policy management unit 150 registers the cloud storage 21 and the non-cloud storage 22 for providing storage services from the integrated storage management device 100 by the administrator through the management GUI and configures a new service. can do.

이 때, 프로비저닝 및 정책 관리부(150)는 서비스 제공자가 서비스를 가입하여 등록하고 파일을 업로드 및 생성하면 클라우드 계정을 작성할 수 있고, 업로드 된 파일은 관리자의 재량에 따라 클라우드 스토리지(21) 또는 논-클라우드 스토리지(22)에 저장할 수 있다.At this time, the provisioning and policy management unit 150 can create a cloud account when a service provider subscribes and registers a service and uploads and creates a file, and the uploaded file is cloud storage 21 or non- It can be stored in the cloud storage 22.

이 때, 프로비저닝 및 정책 관리부(150)는 관리 GUI를 통해 통합 스토리지(20)에 통합 된 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)에 등록된 클라우드 서비스의 컨텐츠를 표시, 작성, 수정 및 삭제하는 기능도 제공할 수 있다.At this time, the provisioning and policy management unit 150 displays, creates, modifies, and displays the contents of the cloud service registered in the cloud storage 21 and the non-cloud storage 22 integrated into the integrated storage 20 through the management GUI. It can also provide a function to delete.

스토리지의 구성은 논-클라우드 스토리지(22)와 별개로 클라우드 스토리지(21)의 서비스는 기본 구성과 함께 별도로 제공될 수 있다.The storage configuration is separate from the non-cloud storage 22, and the service of the cloud storage 21 may be separately provided together with the basic configuration.

이 때, 프로비저닝 및 정책 관리부(150)는 논리 구성 요소의 기능을 각 개별 기능을 가진 모듈 혹은 함수 형태로 연결 네트워크가 있는 서버, 가상 시스템 또는 컨테이너로 독립적으로 구성할 수 있다.In this case, the provisioning and policy management unit 150 may independently configure the function of the logical component as a server, a virtual system, or a container having a connection network in the form of a module or function having each individual function.

이 때, 프로비저닝 및 정책 관리부(150)는 서비스 제공자로부터 입력 받은 서비스 등록 정보에 상응하는 상기 통합 스토리지(20)가 포함하는 어느 하나의 스토리지에 상기 스토리지 서비스를 등록할 수 있다.In this case, the provisioning and policy management unit 150 may register the storage service in any one storage included in the integrated storage 20 corresponding to the service registration information input from the service provider.

이 때, 프로비저닝 및 정책 관리부(150)는 상기 스토리지 서비스가 등록된 스토리지에 가상 스토리지를 설정하여 상기 스토리지 서비스를 제공할 수 있다.In this case, the provisioning and policy management unit 150 may provide the storage service by setting a virtual storage in the storage in which the storage service is registered.

이 때, 프로비저닝 및 정책 관리부(150)는 상기 스토리지 서비스의 입출력 성능 저하를 방지하기 위하여 데이터가 이동하는 제1 경로(Data Path)와 데이터를 제어하는 제2 경로(Control Path)를 이용하여 상기 스토리지 서비스를 관리할 수 있다.In this case, the provisioning and policy management unit 150 uses a first path through which data moves and a second path through which data is controlled to prevent a decrease in input/output performance of the storage service. You can manage the service.

이 때, 제1 경로와 제2 경로를 관리하는 관리 기능은 단일 스토리지에 통합 된 온 프레미스 및 퍼블릭 클라우드 서비스의 컨텐츠를 표시, 생성, 수정 및 삭제하는 기능을 제공할 수 있다.In this case, the management function for managing the first path and the second path may provide a function of displaying, creating, modifying, and deleting contents of on-premises and public cloud services integrated into a single storage.

도 11 에서, 각 논리적 구성 요소는 하나의 서버 또는 여러 서버로 구성될 수 있고, 각 논리적 구성 요소는 서버, 가상 시스템 또는 컨테이너를 통해 네트워크로 구성될 수 있다.In FIG. 11, each logical element may be composed of one server or several servers, and each logical element may be composed of a network through a server, a virtual system, or a container.

본 발명의 일실시예에 따른 통합 스토리지 관리 장치(100)에 상응하는 DSF 서비스 제공자는 스토리지 서비스의 성능 저하를 방지하기 위해 데이터 경로 및 관리 경로에 대해 서로 다른 인터페이스를 제공할 수도 있다.A DSF service provider corresponding to the integrated storage management apparatus 100 according to an embodiment of the present invention may provide different interfaces for data paths and management paths to prevent performance degradation of storage services.

DSF 서비스 제공자는 자체 구성을 위해 모든 논리적 동시성 및 해당 인터페이스를 독립적으로 구성하고 제어할 수 있다.DSF service providers can independently configure and control all logical concurrency and corresponding interfaces for self-configuration.

자체 구성은 논리적 구성 요소의 자동 구성을 의미하며 DSF 서비스 제공자는 서버, 가상 시스템 또는 컨테이너에 내장 된 각 구성 요소의 구성을 연결 네트워크로 관리할 수 있다.Self-configuration means automatic configuration of logical components, and DSF service providers can manage the configuration of each component built into a server, virtual machine, or container as a connected network.

DSF 서비스 제공자는 백엔드 스토리지 인터페이스를 관리하여 통합 스토리지를 DSF 서비스에 참여시킬 수 있다. 통합 스토리지에 참여하기 위해 백엔드 스토리지 관리는 인터페이스(예 : 개체 또는 블록 스토리지 인터페이스) 및 프록시를 제공할 수 있다. 여러 유형의 스토리지 인터페이스를 구성하는 인터페이스. 백엔드 스토리지 프록시는 백엔드 연결 데몬으로 스토리지 인터페이스를 자동으로 감지하여 서비스를 등록할 수 있다.DSF service providers can manage the back-end storage interfaces to join the unified storage to the DSF service. To participate in unified storage, back-end storage management can provide interfaces (e.g., object or block storage interfaces) and proxies. Interfaces that make up the different types of storage interfaces. The backend storage proxy is a backend connection daemon that can automatically detect storage interfaces and register services.

DSF 서비스 제공자는 DSF 서비스 고객을 위한 보안 클라우드 스토리지 인터페이스를 지원할 수 있다.DSF service providers can support secure cloud storage interfaces for DSF service customers.

도 12는 본 발명의 일실시예에 따른 스토리지 서비스 제공을 위한 멀티테넌트 기반 통합 스토리지 관리 방법을 나타낸 동작흐름도이다.12 is an operation flow diagram illustrating a multi-tenant-based integrated storage management method for providing a storage service according to an embodiment of the present invention.

도 12를 참조하면, 본 발명의 일실시예에 따른 멀티테넌트 기반 통합 스토리지 관리 방법은 먼저 데이터 접근을 수행할 수 있다(S410).Referring to FIG. 12, in the multi-tenant-based integrated storage management method according to an embodiment of the present invention, data access may be performed first (S410).

즉, 단계(S410)는 통합 스토리지(20)와 연동하여 사용자에게 상기 통합 스토리지(20)의 스토리지 서비스를 제공하기 위하여 데이터에 접근을 수행할 수 있다.That is, in step S410, data may be accessed in order to provide a storage service of the integrated storage 20 to a user by interworking with the integrated storage 20.

이 때, 통합 스토리지(20)는 적어도 하나 이상의 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)를 포함할 수 있다.In this case, the integrated storage 20 may include at least one cloud storage 21 and a non-cloud storage 22.

본 발명의 일실시예에 따른 멀티테넌트 기반 통합 스토리지 관리 방법은 단일 스토리지 뷰를 제공할 수 있다(S420).The multi-tenant-based integrated storage management method according to an embodiment of the present invention may provide a single storage view (S420).

즉, 단계(S420)는 상기 통합 스토리지(20)의 가상 디스크 풀을 생성하여 적어도 하나 이상의 가상 디스크를 통해 단일 스토리지 뷰를 제공할 수 있다.That is, in step S420, a single storage view may be provided through at least one or more virtual disks by creating a virtual disk pool of the integrated storage 20.

이 때, 단계(S420)는 수신된 데이터의 쓰기가 최소 오버 헤드로 항상 액세스 할 수 있도록 데이터의 분산 및 암호화 기능을 제공할 수 있다.In this case, in step S420, data distribution and encryption functions may be provided so that the writing of the received data can always be accessed with minimum overhead.

또한, 본 발명의 일실시예에 따른 멀티테넌트 기반 통합 스토리지 관리 방법은 인터페이스를 수행할 수 있다(S430).In addition, the multi-tenant-based integrated storage management method according to an embodiment of the present invention may perform an interface (S430).

즉, 단계(S430)는 소프트웨어 형태의 연결 데몬을 이용하여 상기 통합 스토리지(20)와 인터페이스를 수행할 수 있다.That is, in step S430, an interface with the integrated storage 20 may be performed using a software-type connection daemon.

이 때, 단계(S430)는 필요한 인터페이스 (객체 또는 블록 스토리지 인터페이스)와 다양한 유형의 스토리지와 인터페이스 하도록 구성된 백엔드 연결 데몬을 포함하고 여러 개의 스토리지를 쉽게 등록하기 위한 프록시 인터페이스를 제공할 수 있다.In this case, step S430 may include a required interface (object or block storage interface) and a backend connection daemon configured to interface with various types of storage, and provide a proxy interface for easily registering multiple storages.

이 때, 단계(S430)는 프록시 인터페이스가 상기 클라우드 스토리지(21)에 연결된 제1 데몬과 상기 논-클라우드 스토리지(22)에 연결된 제2 데몬의 저장 영역 인터페이스를 감지하여 클라우드 서비스를 등록할 수 있다.In this case, in step S430, a proxy interface may register a cloud service by detecting a storage interface of a first daemon connected to the cloud storage 21 and a storage area interface of a second daemon connected to the non-cloud storage 22. .

백엔드 스토리지 프록시는 오브젝트 스토리지 데몬 인터페이스 혹은 블록 스토리지 인터페이스 드라이버가 저장된 백엔드 연결 데몬이 저장 영역 인터페이스를 자동으로 감지하여 서비스를 등록 할 수 있다.In the backend storage proxy, the object storage daemon interface or the backend connection daemon in which the block storage interface driver is stored automatically detects the storage interface and registers the service.

백엔드 연결 데몬은 통합 스토리지(20)를 연결하기 위하여 블록 디바이스를 제외한 가상 머신 혹은 컨테이너를 통하여 구동될 수 있고, 이를 통해 오브젝트 스토리지를 연결할 수 있다.In order to connect the integrated storage 20, the backend connection daemon may be driven through a virtual machine or container other than a block device, and object storage may be connected through this.

이 때, 단계(S430)는 인터페이스가 수행된 스토리지는 스토리지 서비스의 등록 가능한 스토리지로 출력할 수 있다.In this case, in step S430, the storage on which the interface has been performed may be output as a registerable storage of the storage service.

이 때, 단계(S430)는 스토리지 서비스의 등록을 위하여 사용자는 시스템의 접속을 위한 정보를 관리 할 수 있거나 접근을 위한 보안된 경로를 제공할 수 있다.In this case, in step S430, in order to register the storage service, the user may manage information for system access or may provide a secure path for access.

이 때, 단계(S430)는 하나의 스토리지를 연결 할 때 마다 하나씩 백엔드 연결 데몬을 생성 할 수 있고, 이를 프록시 서버와 연결시킬 수 있다. 프록시 서버(미도시)는 데이터 조작부(120)를 통해 상위 가상 디스크 풀(Vpool)과 연결되는 드라이버 인터페이스를 통하여 사용자의 데이터를 저장하고 관리할 수 있다.In this case, in step S430, each time one storage is connected, one backend connection daemon may be created, and this may be connected to a proxy server. The proxy server (not shown) may store and manage user data through a driver interface connected to an upper virtual disk pool (Vpool) through the data manipulation unit 120.

이를 통해, 통합 스토리지 관리 장치(100)는 등록된 서비스 제공자가 접속시 하나의 가상 디스크(vdisk)를 생성할 수 있고, 생성된 가상 디스크는 가상 디스크 풀 내에서 관리될 수 있다. 이 때, 사용자는 각각의 가상 디스크 풀을 통해 스토리지 서비스가 등록된 스토리지로부터 복수개의 스토리지 서비스를 제공 받을 수 있다.Through this, the integrated storage management apparatus 100 may create one virtual disk (vdisk) when a registered service provider accesses it, and the created virtual disk may be managed within the virtual disk pool. In this case, the user may receive a plurality of storage services from a storage to which a storage service is registered through each virtual disk pool.

또한, 본 발명의 일실시예에 따른 멀티테넌트 기반 통합 스토리지 관리 방법은 스토리지 서비스를 제공할 수 있다(S440).In addition, the multi-tenant-based integrated storage management method according to an embodiment of the present invention may provide a storage service (S440).

즉, 단계(S440)는 복수의 서비스 제공자로부터 스토리지 서비스를 등록 받아 멀티테넌트 기반으로 상기 스토리지 서비스의 제공을 관리할 수 있다.That is, in step S440, a storage service may be registered from a plurality of service providers, and provision of the storage service may be managed on a multi-tenant basis.

이 때, 단계(S440)는 관리자가 관리 GUI를 통하여 통합 스토리지 관리 장치(100)에서 스토리지 서비스 제공을 위한 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)를 등록하고 새로운 서비스를 구성 할 수 있다.At this time, in step S440, the administrator may register the cloud storage 21 and the non-cloud storage 22 for providing storage services in the integrated storage management device 100 through the management GUI and configure a new service. .

이 때, 단계(S440)는 서비스 제공자가 서비스를 가입하여 등록하고 파일을 업로드 및 생성하면 클라우드 계정을 작성할 수 있고, 업로드 된 파일은 관리자의 재량에 따라 클라우드 스토리지(21) 또는 논-클라우드 스토리지(22)에 저장할 수 있다.At this time, in step S440, when the service provider subscribes and registers the service and uploads and creates a file, a cloud account can be created, and the uploaded file is cloud storage 21 or non-cloud storage at the discretion of the administrator. 22) can be saved.

이 때, 단계(S440)는 관리 GUI를 통해 통합 스토리지(20)에 통합 된 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)에 등록된 클라우드 서비스의 컨텐츠를 표시, 작성, 수정 및 삭제하는 기능도 제공할 수 있다.At this time, step (S440) is a function of displaying, creating, modifying, and deleting the contents of the cloud service registered in the cloud storage 21 and the non-cloud storage 22 integrated in the integrated storage 20 through the management GUI. Can also provide.

스토리지의 구성은 논-클라우드 스토리지(22)와 별개로 클라우드 스토리지(21)의 서비스는 기본 구성과 함께 별도로 제공될 수 있다.The storage configuration is separate from the non-cloud storage 22, and the service of the cloud storage 21 may be separately provided together with the basic configuration.

이 때, 단계(S440)는 논리 구성 요소의 기능을 각 개별 기능을 가진 모듈 혹은 함수 형태로 연결 네트워크가 있는 서버, 가상 시스템 또는 컨테이너로 독립적으로 구성할 수 있다.In this case, in step S440, the function of the logical component may be independently configured as a server, a virtual system, or a container having a connection network in the form of a module or function having each individual function.

이 때, 단계(S440)는 서비스 제공자로부터 입력 받은 서비스 등록 정보에 상응하는 상기 통합 스토리지(20)가 포함하는 어느 하나의 스토리지에 상기 스토리지 서비스를 등록할 수 있다.In this case, in step S440, the storage service may be registered in any one storage included in the integrated storage 20 corresponding to the service registration information input from the service provider.

이 때, 단계(S440)는 상기 스토리지 서비스가 등록된 스토리지에 가상 스토리지를 설정하여 상기 스토리지 서비스를 제공할 수 있다.In this case, in step S440, the storage service may be provided by setting a virtual storage in the storage in which the storage service is registered.

이 때, 단계(S440)는 상기 스토리지 서비스의 입출력 성능 저하를 방지하기 위하여 데이터가 이동하는 제1 경로(Data Path)와 데이터를 제어하는 제2 경로(Control Path)를 이용하여 상기 스토리지 서비스를 관리할 수 있다.In this case, in step S440, the storage service is managed using a first path through which data moves and a second path through which data is controlled (Control Path) in order to prevent the I/O performance degradation of the storage service can do.

도 13은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.13 is a block diagram showing a computer system according to an embodiment of the present invention.

도 13을 참조하면, 본 발명의 일실시예에 따른 사용자 클라이언트 장치(10) 및 통합 스토리지 관리 장치(100)는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1100)에서 구현될 수 있다. 도 13에 도시된 바와 같이, 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 인터페이스 입력 장치(1140), 사용자 인터페이스 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.Referring to FIG. 13, the user client device 10 and the integrated storage management device 100 according to an embodiment of the present invention may be implemented in a computer system 1100 such as a computer-readable recording medium. As shown in FIG. 13, the computer system 1100 includes one or more processors 1110, memory 1130, a user interface input device 1140, and a user interface output device 1150 communicating with each other through a bus 1120. And a storage 1160. Further, the computer system 1100 may further include a network interface 1170 connected to the network 1180. The processor 1110 may be a central processing unit or a semiconductor device that executes processing instructions stored in the memory 1130 or the storage 1160. The memory 1130 and the storage 1160 may be various types of volatile or nonvolatile storage media. For example, the memory may include a ROM 1131 or a RAM 1132.

도 14는 본 발명의 일실시예에 따른 통합 스토리지 시스템을 나타낸 도면이다.14 is a diagram showing an integrated storage system according to an embodiment of the present invention.

도 14를 참조하면, 본 발명의 일실시예에 따른 통합 스토리지 시스템은 사용자 클라이언트 장치(10), 통합 스토리지 관리 장치(100) 및 통합 스토리지(20)를 포함할 수 있다.Referring to FIG. 14, an integrated storage system according to an embodiment of the present invention may include a user client device 10, an integrated storage management device 100, and an integrated storage 20.

먼저, 본 발명의 일실시예에 따른 데이터 스토리지 통합(Data Storage Federation, DSF) 기술은 스토리지 가상화를 이용하여 이기종 스토리지의 여러 데이터 소스에서 단일 가상 볼륨을 제공하는 기술에 상응할 수 있다.First, a data storage federation (DSF) technology according to an embodiment of the present invention may correspond to a technology for providing a single virtual volume from multiple data sources of heterogeneous storage using storage virtualization.

데이터 가상화(Data Virtualization)는 리소스 위치 또는 데이터 구조에 관계없이 여러 데이터 리소스를 논리적 데이터 리소스로 추상화하고 관리하는 기술에 상응할 수 있다.Data virtualization may correspond to a technology that abstracts and manages multiple data resources into logical data resources regardless of the resource location or data structure.

이 때, 여러 데이터 리소스에는 파일, 데이터베이스, 시스템, 스토리지 등을 포함될 수 있다.In this case, various data resources may include files, databases, systems, storage, and the like.

이 때, 데이터 스토리지 통합은 데이터베이스를 제외한 여러 데이터 자원을 포함할 수 있다.In this case, the data storage integration may include various data resources other than the database.

DSF 로컬 스토리지는 데이터 스토리지 통합의 백엔드에 존재할 수 있고, 데이터가 최종 저장되는 물리적 스토리지 장치에 상응할 수 있다.DSF local storage may exist on the backend of the data storage consolidation, and may correspond to the physical storage device where the data is finally stored.

물리적 스토리지 장치에는 온-프레미스 스토리지(예를 들어, 메모리, SSD, HDD, SAS, iSCSI 스토리지 및 NAS 등) 및 블록, 개체 및 파일과 같은 복잡한 관리 장치가 있는 퍼블릭 클라우드 스토리지가 포함될 수 있다.Physical storage devices can include on-premises storage (e.g., memory, SSD, HDD, SAS, iSCSI storage and NAS, etc.) and public cloud storage with complex management devices such as blocks, objects and files.

단일 가상 볼륨(Single Virtual Volume)은 스토리지 가상화를 이용하여 생성 된 가상 블록 장치, 가상 디스크 또는 가상 파일을 고객에게 제공하는 개체에 상응할 수 있다.A single virtual volume may correspond to an entity that provides a virtual block device, virtual disk, or virtual file created using storage virtualization to a customer.

고객(Customer)은 단일 사용자 볼륨을 사용하는 최종 사용자, 서버, 운영 체제, 애플리케이션 및 기타 클라우드 서비스 제공 업체의 저장 장치를 포함할 수 있다.Customers may include end users, servers, operating systems, applications, and other storage devices from cloud service providers using a single user volume.

스토리지 가상화(Storage Virtualization)는 다양한 유형의 스토리지를 가상 스토리지 풀로 통합하고 물리적 운영의 제한없이 가상 스토리지 풀을 단일 가상 볼륨으로 나누는 기술에 상응할 수 있다.Storage Virtualization may correspond to a technology that consolidates various types of storage into a virtual storage pool and divides the virtual storage pool into a single virtual volume without physical operational limitations.

이 때, 스토리지 가상화는 데이터 액세스에 방해가 되지 않을 수 있고, 저장 장치의 성능이 저하되지 않을 수 있다.In this case, storage virtualization may not interfere with data access, and performance of the storage device may not be degraded.

가상 스토리지 풀(Virtual Storage Pool, VPOOL)은 DSF 로컬 스토리지를 단일 가상 볼륨으로 집계한 논리적 객체에 상응할 수 있다.A virtual storage pool (VPOOL) can correspond to a logical object that aggregates DSF local storage into a single virtual volume.

아래에서 설명할 약어들은 다음과 같이 설명할 수 있다.The abbreviations to be described below can be described as follows.

DSF: 데이터 스토리지 통합(Data Storage Federation)DSF: Data Storage Federation

API: 응용 프로그래밍 인터페이스(Application Programming Interface)API: Application Programming Interface

NAS: 네트워크 연결 스토리지(Network-Attached Storage)NAS: Network-Attached Storage

CSC: 클라우드 서비스 고객(Cloud Service Customer)CSC: Cloud Service Customer

CSP: 클라우드 서비스 제공 업체(Cloud Service Provider)CSP: Cloud Service Provider

본 발명의 일실시예에 따른 데이터 스토리지 정책은 백업, 복제, 스냅 샷, 자동 확장, 데이터 마이그레이션, 판매 복구, 데이터 캐싱, 씬 프로비저닝, 자동 계층화, 스토리지 라이프 (블록, 개체 및 파일) 등을 포함할 수 있다.The data storage policy according to an embodiment of the present invention includes backup, replication, snapshot, automatic expansion, data migration, sales recovery, data caching, thin provisioning, auto-tiering, storage life (blocks, objects and files), etc. I can.

이 때, 데이터 스토리지 정책은 상기 구성 요소 들 중에서 기본적으로 설정되며 고객(사용자)의 요청에 따라 재구성될 수 있다. 또한 DSF 로컬 스토리지 정책에 따라 달라질 수도 있다.At this time, the data storage policy is basically set among the above components and can be reconfigured according to the request of the customer (user). It may also depend on the DSF local storage policy.

재구성 된 정책은 DSF 로컬 스토리지가 자체 정책을 지원하지 않는 경우에, 상기 구성 요소에 의해 재구성 된 정책일 수 있다.The reconfigured policy may be a policy reconfigured by the component when the DSF local storage does not support its own policy.

데이터 조작 정책은 비공유 모드와 읽기 전용, 쓰기 및 복제 옵션, 조각화 옵션 등을 포함한 공유 모드를 선택할 수 있다.The data manipulation policy can select shared mode, including non-shared mode, read-only, write and copy options, and fragmentation options.

또한, 본 발명의 일실시예에 따른 통합 스토리지 장치는 고객 환경을 구성하기 위해 고객이 생성 한 고객 메타 데이터, 데이터 조작에 필요한 데이터 조작 메타 데이터, DSF 로컬 스토리지에 사용되는 스토리지 관리 메타 데이터를 처리할 수 있다.In addition, the integrated storage device according to an embodiment of the present invention can process customer metadata created by a customer to configure a customer environment, data manipulation metadata required for data manipulation, and storage management metadata used for DSF local storage. I can.

이 때, 본 발명의 일실시예에 따른 통합 스토리지 장치는 CSP:DSM이 CSC:CSU에 단일 가상 볼륨을 사용하기 위한 통합 사용자 인터페이스를 제공할 수 있다.In this case, the integrated storage device according to an embodiment of the present invention may provide an integrated user interface for the CSP:DSM to use a single virtual volume for the CSC:CSU.

통합 사용자 인터페이스는 자체 데이터 스토리지와의 상호 작용 통합, 데이터 공유 및 단일 가상 볼륨 건조 등에 액세스하기 위한 CSC:CSU의 다양한 스토리지 유형 액세스 메커니즘을 포함할 수 있다. The unified user interface may include CSC:CSU's various storage type access mechanisms to access integration of interactions with its own data storage, data sharing, and single virtual volume building.

스토리지 유형은 객체 기반 스토리지, 파일 기반 스토리지 및 블록 기반 스토리지 등을 포함할 수 있다.Storage types may include object-based storage, file-based storage, and block-based storage.

액세스 메커니즘은 단일 가상 볼륨을 연결하기 위한 스토리지 유형에 따라 다른 유형의 프로토콜을 나타낼 수 있다. 프로토콜에는 블록 장치 스토리지 용 iSCI, SMB, NFS, SFTP, 파일 기반 스토리지 용 FTP, 객체 기반 스토리지 용 Restful API 등이 포함될 수 있다.The access mechanism can represent different types of protocols depending on the type of storage for connecting a single virtual volume. Protocols may include iSCI for block device storage, SMB, NFS, SFTP, FTP for file-based storage, and Restful API for object-based storage.

CSP:FDSP는 CSC:CSU가 정책을 설정하기 위한 인터페이스를 제공할 수 있다.CSP:FDSP may provide an interface for CSC:CSU to set policies.

단일 가상 볼륨, 가상 스토리지 풀 및 DSF 로컬 스토리지를 관리하기 위해 CSP:DSM이 CSC:CSU에 통합 관리 인터페이스를 제공할 수 있다.To manage single virtual volumes, virtual storage pools and DSF local storage, CSP:DSM can provide a unified management interface to CSC:CSU.

또한, 본 발명의 일실시예에 따른 통합 스토리지 장치는 데이터 스토리지 통합에 상응할 수 있다.In addition, the integrated storage device according to an embodiment of the present invention may correspond to data storage integration.

데이터 스토리지 통합은 단일 가상 볼륨을 사용하기 위해 CSC:CSU에 통합 사용자 인터페이스를 제공할 수 있다.Data storage consolidation can provide a unified user interface to CSC:CSU to use a single virtual volume.

통합 사용자 인터페이스는 데이터 공유, CSC:CSU가 단일 가상 볼륨에 액세스하기 위한 다양한 스토리지 유형의 액세스 메커니즘 등 자체 데이터 스토리지와의 상호 작용을 통합할 수 있다.The unified user interface can integrate interactions with its own data storage, such as data sharing and access mechanisms for various storage types for CSC:CSU to access a single virtual volume.

데이터 스토리지 통합은 CSC:CSU가 정책을 설정하기위한 인터페이스를 제공할 수 있다.Data storage integration can provide an interface for CSC:CSU to set policies.

데이터 스토리지 통합은 DSF 서비스 제공자(DSF Service Provider)가 DSF 서비스의 성능 향상을 위해 병렬 액세스를 지원할 수 있다.Data storage consolidation allows DSF service providers to support parallel access to improve the performance of DSF services.

이 때, DSF 서비스 제공자는 데이터 스토리지 제공자가 제공 한 스토리지 등록을 위한 인터페이스를 제공할 수 있다.In this case, the DSF service provider may provide an interface for storage registration provided by the data storage provider.

성능 향상은 데이터 캐싱 및 데이터 저장 등에 관련된 것일 수 있다.The performance improvement may be related to data caching and data storage.

데이터 스토리지 통합은 CSP:DSM가 단일 가상 볼륨(가상 스토리지 풀 및 DSF 로컬 스토리지)을 관리하기 위해 CSC:CSU에 통합 관리 인터페이스를 제공할 수 있다.Data storage consolidation allows CSP:DSM to provide a unified management interface to CSC:CSU to manage a single virtual volume (virtual storage pool and DSF local storage).

데이터 스토리지의 통합에 대한 기능으로는 스토리지 연결 인터페이스, 데이터 통합 관리 및 데이터 스토리지 관리를 포함할 수 있다.Functions for data storage integration may include storage connection interfaces, data integration management, and data storage management.

스토리지 연결 인터페이스에 관한 기능은 본 발명의 일실시예에 따른 스토리지 연결부(110)에서 수행될 수 있다.A function related to the storage connection interface may be performed in the storage connection unit 110 according to an embodiment of the present invention.

스토리지 연결 인터페이스는 DSF 서비스 제공자가 스토리지 유형에 따라 액세스 메커니즘을 지원할 수 있다.The storage connection interface allows DSF service providers to support access mechanisms depending on the storage type.

스토리지 연결 인터페이스는 CSP:FDSP가 스토리지 유형 및 CSC : CSU에 단일 가상 볼륨이 필요한 경우 액세스 메커니즘을 포함한 서비스 정보를 수집하고 검색할 수 있다.The storage connection interface allows CSP:FDSP to collect and retrieve service information, including access mechanisms, when a single virtual volume is required for the storage type and CSC: CSU.

예를 들어, 서비스 정보는 CSP:FDSP의 서비스 카탈로그에 상응할 수 있다.For example, the service information may correspond to the service catalog of CSP:FDSP.

스토리지 연결 인터페이스는 CSP:FDSP가 DSF 로컬 스토리지에서 실제 데이터 액세스를 위해 글로벌 네임 스페이스에 대한 고속 액세스를 보장할 수 있다.The storage connectivity interface allows CSP:FDSP to ensure high-speed access to the global namespace for real data access from DSF local storage.

글로벌 네임 스페이스는 여러 스토리지 장치 및 클라우드 스토리지에서 이기종 파일 시스템을 추상화하고 통합하는 기술에 상응할 수 있다. 글로벌 네임 스페이스는 로컬화 된 파일 관리의 복잡성을 줄이고 스토리지 확장을 용이하게 하며 데이터를 투명하게 마이그레이션하여 마운트 포인트 및 공유 포인트 수를 줄일 수 있다. 글로벌 네임 스페이스는 여러 가지 방법으로 구현되지만 CSC:CSU의 구성은 동일한 액세스를 유지할 수 있다.The global namespace can correspond to a technology that abstracts and integrates heterogeneous file systems across multiple storage devices and cloud storage. Global namespaces reduce the complexity of managing localized files, facilitate storage expansion, and transparently migrate data to reduce the number of mount points and share points. The global namespace is implemented in several ways, but the configuration of CSC:CSU can maintain the same access.

스토리지 연결 인터페이스는 CSC:CSU가 여러 파일 시스템을 DSF 로컬 스토리지에 통합하고 관리하기 위한 글로벌 네임 스페이스를 제공할 수 있다.The storage connectivity interface allows CSC:CSU to provide a global namespace for consolidating and managing multiple file systems into DSF local storage.

스토리지 연결 인터페이스는 CSP:DSM가 DSF 서비스의 성능 저하를 막기 위해 별도의 관리 및 데이터 인터페이스를 제공할 수 있다.The storage connection interface can provide separate management and data interfaces for CSP:DSM to prevent performance degradation of DSF services.

스토리지 연결 인터페이스는 CSP:DSM가 자체 구성(Self Configuration)을 위해 모든 논리적 구성 요소 및 해당 인터페이스를 독립적으로 구성하고 제어할 수 있다.The storage connection interface allows CSP:DSM to independently configure and control all logical components and corresponding interfaces for self configuration.

이 때, 자체 구성(Self Configuration)은 논리적 구성 요소의 자동 구성을 의미하며, DSF 서비스 공급자는 서버, 가상 시스템 또는 컨테이너에 구축된 각 구성 요소의 구성을 연결 네트워크로 관리할 수 있다.In this case, self configuration means automatic configuration of logical components, and the DSF service provider can manage the configuration of each component built in a server, virtual system, or container as a connection network.

스토리지 연결 인터페이스는 CSP:DSM가 통합 스토리지를 DSF 서비스에 참여시키기 위해 DSF 로컬 스토리지 연결을 관리할 수 있다.The storage connection interface allows CSP:DSM to manage the DSF local storage connection to join the unified storage to the DSF service.

통합 스토리지에 참여하기 위해, DSF 로컬 스토리지 관리는 여러 유형의 스토리지 인터페이스를 구성 할 수 있는 인터페이스(예: 객체 또는 블록 스토리지 인터페이스) 및 프록시 인터페이스를 제공할 수 있다. DSF 로컬 스토리지 프록시는 백엔드 연결 데몬으로 스토리지 인터페이스를 자동으로 감지하여 서비스를 등록할 수 있다.To participate in unified storage, DSF local storage management can provide interfaces (such as object or block storage interfaces) and proxy interfaces to configure different types of storage interfaces. The DSF local storage proxy is a backend connection daemon that can automatically detect storage interfaces and register services.

스토리지 연결 인터페이스는 CSP:FDSP가 CSC:CSU 및 DSF 로컬 스토리지에 보안 스토리지 인터페이스를 사용할 수 있다.The storage connection interface allows CSP:FDSP to use a secure storage interface for CSC:CSU and DSF local storage.

스토리지 연결 인터페이스는 단일 가상 볼륨을 사용하기 위해 CSC : CSU에 대한 CSP:DSM 등록 정보를 사용할 수 있다.The storage connection interface can use CSP:DSM properties for CSC:CSU to use a single virtual volume.

등록 정보는 데이터 스토리지 서비스 이름, 데이터 스토리지 사양(크기, 캐싱, 티어 카운트 암호화, 온 프레미스 스토리지 지원 등) 및 서비스 프로토콜 및 클라우드 스토리지 유형을 포함할 수 있다.The registration information may include the data storage service name, data storage specifications (size, caching, tier count encryption, on-premises storage support, etc.), and service protocol and cloud storage type.

스토리지 연결 인터페이스는 CSP:DSM가 등록 정보에서 단일 가상 볼륨을 호출하기 위해 데이터 스토리지 서비스를 구성하고 프로비저닝을 수행할 수 있다.The storage connection interface allows CSP:DSM to configure and provision data storage services to call a single virtual volume from registration information.

또한, 데이터 통합 관리에 대한 기능은 본 발명의 일실시예에 따른 데이터 조작부(120)에서 수행될 수 있다.In addition, the function for integrated data management may be performed by the data manipulation unit 120 according to an embodiment of the present invention.

데이터 통합 관리는 DSF 서비스 제공자가 파일 자체와 파일 내용을 데이터로 지원할 수 있다.Data integration management allows DSF service providers to support the file itself and its contents as data.

파일의 내용 유형은 구조화(structured), 반 구조화(semi-structred) 및 비 구조화(unstructured)로 구성될 수 있다.The content type of a file can be structured, semi-structred, and unstructured.

데이터 통합 관리는 CSP:FDSP가 해당 API에 의해 여러 DSF 로컬 스토리지 제공자의 DSF 로컬 스토리지에 분산 데이터를 집계하도록 지원할 수 있다.Data integration management can support CSP:FDSP to aggregate distributed data in DSF local storage of multiple DSF local storage providers by corresponding API.

데이터 통합 관리는 CSP:DSM가 스토리지 공간의 탄력성과 비용 효율성에 중점을 둔 CSC:CSU의 데이터를 관리할 수 있다.Data integration management allows CSP:DSM to manage data in CSC:CSU, which focuses on storage space elasticity and cost efficiency.

예를 들어, 데이터 저장 공간의 복원력과 비용 효율성을위한 데이터 이동은 사용자 개입이나 인식없이 자동으로 수행될 수 있다.For example, data movement for resilience and cost efficiency of data storage space can be performed automatically without user intervention or recognition.

데이터 통합 관리는 CSP:FDSP가 CSC : CSU의 데이터를 통합하기 위해 유효성을 검증할 수 있다.Data integration management can validate the CSP:FDSP to integrate the data of CSC:CSU.

또한, 데이터 스토리지 관리에 관한 기능은 데이터 분산 및 저장부(130)와 백엔드 스토리지 관리부(140)에서 수행될 수 있다.In addition, functions related to data storage management may be performed by the data distribution and storage unit 130 and the backend storage management unit 140.

데이터 스토리지 관리는 CSP:FDSP가 분산 데이터를 집계하기 위해 여러 데이터 스토리지 제공자에 대한 동시 액세스를 제공할 수 있다.Data storage management allows CSP:FDSP to provide simultaneous access to multiple data storage providers to aggregate distributed data.

데이터 스토리지 관리는 CSP:FDSP가 CSC:CSU의 DSF 로컬 스토리지 액세스 권한 위임을 지원할 수 있다.For data storage management, CSP:FDSP can support CSC:CSU delegating DSF local storage access rights.

데이터 스토리지 관리는 DSF 로컬 스토리지와의 통합으로 단일 시스템의 뷰를 통해 볼 수 있는 가상 스토리지 풀을 제공할 수 있다.Data storage management can be integrated with DSF local storage to provide a virtual pool of storage that can be viewed through a single system view.

데이터 스토리지 관리는 CSP:FDSP가 온-프레미스보다 느린 액세스 속도를 보상하기 위해 읽기 / 쓰기 캐시를 제공할 수 있다.Data storage management can provide read/write caches for CSP:FDSP to compensate for slower access speeds than on-premises.

읽기 / 쓰기 캐시는 스토리지의 성능을 향상시킬 수 있으며 데이터를 저장하는 장치는 빠른 캐시 작업을 위한 다양한 장치가 사용될 수 있다.The read/write cache can improve the performance of the storage, and a device that stores data can use a variety of devices for fast cache work.

예를 들어, 빠른 캐시를 위한 다양한 장치는 메인 메모리, RAM 기반 디스크 및 SSD 등을 포함할 수 있다.For example, various devices for fast cache may include main memory, RAM-based disks, and SSDs.

예를 들어, 고속 액세스를 위해 캐시 계층 구조가 기본 메모리로 확장될 수 있다. 또한, 메인 메모리는 용량 제한으로 인해 SSD에 사용되는 접근 방식을 이용할 수 있다. RAM 기반 캐시 영역이 소진 된 경우, SSD 영역 캐시로 자동 변환될 수 있다. DSF 서비스 고객이 쓰기 작업을 수행 할 때 빠른 쓰기 응답을 위해 메모리 영역에서 쓰기 작업이 수행될 수 있다.For example, the cache hierarchy can be extended to basic memory for fast access. In addition, the main memory can use the approach used for SSDs due to capacity limitations. When the RAM-based cache area is exhausted, it can be automatically converted to an SSD area cache. When a DSF service customer performs a write operation, a write operation can be performed in the memory area for quick write response.

데이터 스토리지 관리는 CSP:FDSP가 고 가용성을 위해 글로벌 네임 스페이스의 백업을 제공할 수 있다.Data storage management allows CSP:FDSP to provide backup of the global namespace for high availability.

글로벌 네임 스페이스의 백업은 실제 데이터와 동기화되며, 여러 노드(가상 머신 또는 물리적 서버)의 클러스터링을 통해 고 가용성 기능을 수행할 수 있다.The backup of the global namespace is synchronized with the actual data, and high availability functions can be performed through clustering of multiple nodes (virtual machines or physical servers).

데이터 스토리지 관리는 CSP:FDSP는 블록 기반 스토리지, 파일 기반 스토리지 또는 기타 클라우드 스토리지와 같은 DSF 서비스 고객의 요구에 따라 단일 가상 볼륨을 추가하도록 지원할 수 있다.Data storage management, CSP:FDSP can support adding a single virtual volume according to the needs of DSF service customers such as block-based storage, file-based storage or other cloud storage.

또한, 프로비전 및 정책 관리에 관한 기능은 프로비저닝 및 정책 관리부(150)에서 수행될 수 있다.In addition, functions related to provisioning and policy management may be performed by the provisioning and policy management unit 150.

프로비전 및 정책 관리는 CSC:CSU에 대한 데이터 스토리지 정책을 설정하기위한 구성을 제공할 수 있다.Provisioning and policy management can provide configuration for setting data storage policies for CSC:CSU.

프로비전 및 정책 관리는 DSF 서비스 제공자가 DSF 서비스 고객에 대한 데이터 정책을 조작하도록 지원할 수 있다.Provisioning and policy management can assist DSF service providers to manipulate data policies for DSF service customers.

예를 들어, 데이터 정책은 비공유 모드와 읽기 전용, 쓰기, 복제, 등을 포함한 공유 모드를 포함할 수 있다.For example, the data policy may include a non-shared mode and a shared mode including read-only, write, and duplicate.

프로비전 및 정책 관리는 CSC:CSU의 데이터 기밀성을 보장하기 위해 데이터 전송을 위한 CSP : FDSP를 지원하는 보안 정책(예 : 데이터 암호화)에 관한 기능을 포함할 수 있다.Provisioning and policy management may include functions related to security policies (eg, data encryption) that support CSP: FDSP for data transmission to ensure data confidentiality of CSC:CSU.

프로비전 및 정책 관리는 CSP:FDSP는 분산 스토리지를 기반으로 스토리지 구조에서 오류로 인한 데이터 손실을 방지하고 시스템 장애시 데이터 복구를 제공할 수 있다.For provisioning and policy management, CSP:FDSP can prevent data loss due to errors in the storage structure based on distributed storage and provide data recovery in case of system failure.

통합 스토리지 관리 장치(100)는 서비스 퀄리티를 높이는 것뿐만 아니라 새로운 서비스의 생성을 위해 구조화(structured), 반 구조화(semi-structred) 및 비 구조화(unstructured) 데이터와 같은 다양한 데이터 타입을 다룰 수 있다.The integrated storage management apparatus 100 may handle various data types such as structured, semi-structred, and unstructured data to increase service quality as well as create a new service.

이 때, 통합 스토리지 관리 장치(100)는 통합 스토리지(20) 내의 다양한 데이터를 사용하기 위해 이종의 스토리지를 효율적으로 다루고 종합할 수 있으며, 쉽게 데이터를 이용할 수 있다.In this case, the integrated storage management apparatus 100 can efficiently handle and synthesize heterogeneous storages in order to use various data in the integrated storage 20, and can easily use the data.

이 때, 통합 스토리지 관리 장치(100)는 단일 가상 볼륨(SINGLE VIRTUAL VOLUME)의 가상 스토리지 풀(VIRTUAL STORAGE POOL)을 사용자 클라이언트 장치(10)에게 제공할 수 있다.In this case, the integrated storage management device 100 may provide a virtual storage pool of a single virtual volume (SINGLE VIRTUAL VOLUME) to the user client device 10.

이 때, 통합 스토리지 관리 장치(100)는 통합 스토리지(20) 상의 데이터를 생성, 저장, 읽기, 업데이트 및 삭제 등의 다양한 요청을 실행할 수 있다.In this case, the integrated storage management device 100 may execute various requests such as creating, storing, reading, updating, and deleting data on the integrated storage 20.

데이터 가상화는 리소스 위치 또는 데이터 구조에 관계없이 여러 데이터 리소스를 중단 없이 관리하는 기술이다.Data virtualization is a technology that manages multiple data resources without interruption regardless of the resource location or data structure.

여러 데이터 리소스에는 파일, 데이터베이스, 시스템, 스토리지 등이 포함될 수 있다.Several data resources can include files, databases, systems, storage, and more.

통합 스토리지(20)는 통합 스토리지 관리 장치(100)의 백엔드에 위치할 수 있고, 최종적으로 데이터가 저장되는 물리적 저장 장치들에 상응할 수 있다.The integrated storage 20 may be located at the back end of the integrated storage management device 100 and may correspond to physical storage devices in which data is finally stored.

물리적 저장 장치는 온프레미스 스토리지(22)(예: 메모리, SSD, HDD, SAS, iSCSI 스토리지 및 NAS 등) 및 블록, 오브젝트 및 파일과 같은 퍼블릭 클라우드 스토리지(21)를 포함할 수 있다.Physical storage devices may include on-premises storage 22 (eg, memory, SSD, HDD, SAS, iSCSI storage and NAS, etc.) and public cloud storage 21 such as blocks, objects, and files.

단일 가상 볼륨은 가상 블록 장치, 가상 디스크 또는 가상 파일을 사용하여 생성 된 가상 파일로 사용자 클라이언트 장치(10)에게 제공되는 오브젝트에 상응할 수 있다.A single virtual volume may correspond to an object provided to the user client device 10 as a virtual block device, a virtual disk, or a virtual file created using a virtual file.

사용자 클라이언트 장치(10)은 단일 가상 볼륨을 사용하는 클라우드 서비스 공급자의 최종 사용자, 서버, 운영 체제, 응용 프로그램 및 기타 저장 장치를 포함할 수 있다.The user client device 10 may include end users, servers, operating systems, applications, and other storage devices of a cloud service provider using a single virtual volume.

통합 스토리지 관리 장치(100)는 스토리지 가상화 기술을 이용하여 다른 유형의 저장소를 가상 저장소 풀로 통합하고 물리적 저장소의 제한 없이 가상 저장소 풀을 단일 가상 볼륨으로 나눌 수 있다.The integrated storage management device 100 may integrate different types of storage into a virtual storage pool using storage virtualization technology and divide the virtual storage pool into a single virtual volume without limitation of physical storage.

이러한 단일 가상 볼륨은 데이터 액세스에 장애물이 없고 저장 장치의 성능에 대한 손상이 적습니다.These single virtual volumes have no barriers to data access and less damage to the performance of the storage device.

가상 스토리지 풀은 단일 가상 볼륨에 통합 스토리지(20)의 스토리지들을 단일 가상 스토리지 뷰로써 제공하는 논리적 오브젝트에 상응할 수 있다.The virtual storage pool may correspond to a logical object that provides the storages of the integrated storage 20 in a single virtual volume as a single virtual storage view.

도 14에 도시된 바와 같이, API와 I/O 인터페이스에 연결되고 조정된 통합 스토리지(20)(클라우드 스토리지(21)와 온-프레미스 스토리지(22))에 의해 가상 스토리지 풀이 형성될 수 있다. 통합 스토리지(20)는 블록, 파일 및 오브젝트 타입을 지원할 수 있다.As shown in FIG. 14, a virtual storage pool may be formed by an integrated storage 20 (cloud storage 21 and on-premises storage 22) connected to and adjusted to an API and an I/O interface. The integrated storage 20 may support block, file, and object types.

통합 스토리지 관리 장치(100)는 사용자 클라이언트 장치(10)에게 단일 가상 볼륨 스토리지를 생성하여 제공할 수 있다.The integrated storage management device 100 may create and provide a single virtual volume storage to the user client device 10.

이 때, 통합 스토리지 관리 장치(100)는 통합 스토리지(20)의 federation 으로 단일 가상 볼륨 스토리지를 생성할 수 있고, 사용자 클라이언트 장치(10)에게 단일 액세스 포인트(single access point)를 제공할 수 있다.In this case, the integrated storage management device 100 may generate a single virtual volume storage through federation of the integrated storage 20 and may provide a single access point to the user client device 10.

이 때, 통합 스토리지 관리 장치(100)는 policy-based provision 및 management 를 이용하여 단일 가상 볼륨 스토리지를 지원할 수 있다. 해당 계약/운영 사항은 운영자 측에서 운영 management를 높이는데 도움이 될 수 있고, 사용자 측에서는 단일 가상 볼륨 스토리지를 단순화하여 사용하는데 도움이 될 수 있다.In this case, the integrated storage management device 100 may support a single virtual volume storage using policy-based provision and management. The contract/operation matters can help to increase operational management on the operator side, and on the user side can help simplify and use a single virtual volume storage.

사용자들은 사용자 클라이언트 장치(10)를 이용하여 자신의 단일 가상 볼륨 스토리지 상에서 사용자 데이터(예: images for gallery, audios for music player, documents for collaboration, application data for service, and etc.)를 생성, 저장 읽기, 업데이트 및 삭제하는데 단일 가상 볼륨 스토리지를 사용할 수 있다.Users use the user client device 10 to create, store, and read user data (eg images for gallery, audios for music player, documents for collaboration, application data for service, and etc.) on their single virtual volume storage. You can use a single virtual volume storage for updates, updates and deletions.

사용자 클라이언트 장치(10)는 통합 스토리지 관리 장치(100)의 단일 가상 볼륨 스토리지에 연결할 때, 단일화된 요청 명령들(unified request commands)은 통합 스토리지(20)가 다른 연결 커넥션을 가지는 것처럼 실행될 수 있다.When the user client device 10 connects to the single virtual volume storage of the unified storage management device 100, unified request commands may be executed as if the unified storage 20 has a different connection connection.

통합 스토리지 관리 장치(100)에 의해 지원되는 사용자 데이터는 계약/운영 상 분산되거나 분산되지 않을 수 있다.User data supported by the integrated storage management device 100 may or may not be distributed in terms of contract/operation.

통합 스토리지 관리 장치(100)는 사용자 데이터를 다루기 위해, 사용자 데이터를 스토리지 위치, 데이터 히스토리, 파일의 컨텐트 타입 등과 같은 데이터의 정보로 압축할 수 있다.The integrated storage management apparatus 100 may compress user data into data information such as a storage location, a data history, and a content type of a file in order to handle user data.

이 때, 통합 스토리지 관리 장치(100)는 데이터 압축(data abstraction)을 사용하여 가상 스토리지 풀 상의 데이터 가상화를 생성할 수 있다.In this case, the integrated storage management apparatus 100 may generate data virtualization on the virtual storage pool using data abstraction.

이 때, 통합 스토리지 관리 장치(100)는 가상 스토리지 풀에서 데이터 복사를 줄이고, 데이터 공유 환경을 원본데이터의 복사나 이동 없이 데이터를 공유하는 환경을 제공하여 데이터를 찾고 데이터 I/O를 다루는 작업을 줄일 수 있다. 데이터를 조절하는 인터랙션은 사용자의 데이터 운영/계약에 기반할 수 있다. 예를 들어, 공유모드에서 읽기만 하거나, 덮어쓰기(overwriting) 및 복사(replication)과 같은 데이터 운영/계약 폴리시(policy)에 기초할 수 있다.At this time, the integrated storage management device 100 reduces data copying in the virtual storage pool and provides an environment for sharing data without copying or moving the original data, thereby finding data and handling data I/O. Can be reduced. The interaction that modulates the data can be based on the user's data operation/contract. For example, it may be based on data operation/contract policies such as read-only or overwriting and copying in the shared mode.

이 때, 단일 가상 볼륨은 통합 스토리지의 서로 다른 스토리지들과 연결 세트에 의해 구축될 수 있다.In this case, a single virtual volume may be built by different storages and connection sets of the unified storage.

도 15는 본 발명의 일실시예에 따른 통합 스토리지 시스템에서 데이터 액세스를 위한 멀티 스토리지 유형 및 액세스 메커니즘을 나타낸 도면이다.15 is a diagram illustrating multiple storage types and an access mechanism for data access in an integrated storage system according to an embodiment of the present invention.

도 15를 참조하면, 사용자 클라이언트 장치(10)는 통합 스토리지 관리 장치(100)에게 다양한 서비스 인터페이스 및 저장소 유형을 요청할 수 있다.Referring to FIG. 15, the user client device 10 may request various service interfaces and storage types from the integrated storage management device 100.

이 때, 통합 스토리지 관리 장치(100)는 해당 액세스 메커니즘을 사용하여 서비스 인터페이스를 사용자 클라이언트 장치(10)에게 제공할 수 있다.In this case, the integrated storage management device 100 may provide a service interface to the user client device 10 by using a corresponding access mechanism.

이 때, 사용자 클라이언트 장치(10)는 자체적으로 소유한 스토리지 유형을 사용할 수 있다.In this case, the user client device 10 may use a storage type owned by itself.

이 때, 사용자 클라이언트 장치(10)는 일반 사용자 (개별적으로 스토리지를 소유), 일부 응용 프로그램(APPLICATION PROGRAM), 응용 프로그램 서버(APPLICATION SERVER) 및 다른 클라우드 시스템이 될 수 있습니다.At this time, the user client device 10 may be a general user (individually owns storage), some applications (APPLICATION PROGRAM), application servers (APPLICATION SERVER), and other cloud systems.

이 때, 통합 스토리지 관리 장치(100)는 다양한 스토리지 유형을 제공할 수 있다.In this case, the integrated storage management device 100 may provide various types of storage.

스토리지 유형은 오브젝트 기반 스토리지, 파일 기반 스토리지 및 블록 기반 스토리지 등에 상응할 수 있다.The storage type may correspond to object-based storage, file-based storage, and block-based storage.

이 때, 통합 스토리지 관리 장치(100)는 스토리지 유형에 기반한 액세스 메커니즘을 지원할 수 있다.In this case, the integrated storage management device 100 may support an access mechanism based on a storage type.

액세스 메커니즘은 스토리지 유형에 따른 프로토콜들의 다른 유형들을 포함할 수 있다.The access mechanism may include different types of protocols depending on the storage type.

프로토콜의 일 예는 블록 디바이스 스토리지를 위한 iSCSI, 파일 기반 스토리지를 위한 SMB, NFS, SFTP, FTP 및 오브젝트 기반 스토리지를 위한 Restful API를 사용한 프로토콜에 상응할 수 있다.An example of a protocol may correspond to a protocol using iSCSI for block device storage, SMB for file-based storage, NFS, SFTP, FTP, and Restful API for object-based storage.

서비스 정보의 일 예는 통합 스토리지 장치(10)에 대한 서비스 카탈로그 등에 상응할 수 있다.An example of service information may correspond to a service catalog for the integrated storage device 10 or the like.

도 16은 본 발명의 일실시예에 다른 성능 향상을위한 데이터 읽기 / 쓰기 캐시 및 병렬 분산 파일을 나타낸 도면이다.16 is a diagram illustrating a data read/write cache and a parallel distributed file for improving performance according to an embodiment of the present invention.

도 16을 참조하면, CSP:FDSP는 퍼블릭 클라우드 스토리지에 저장된 데이터에 대한 캐시 기능을 제공할 수 있다. 인터넷을 통해 데이터가 전송되기 때문에 퍼블릭 클라우드 스토리지에 저장된 데이터는 온-프레미스 스토리지보다 느릴 수 있다. 또한, CSC:CSU가 인식하지 못하는 상태에서 데이터가 퍼블릭 클라우드 스토리지에 자동으로 배포되므로 퍼블릭 클라우드 스토리지에 저장된 데이터에는 고속 액세스 기능이 수행될 수 있다. CSP:FDSP는 퍼블릭 클라우드 스토리지에 저장된 데이터를 클라우드 통합 스토리지 운영 플랫폼 내부의 스토리지 장치에 캐시하여 퍼블릭 클라우드 스토리지에 온 프레미스 스토리지 수준 액세스 속도를 제공할 수 있다.Referring to FIG. 16, CSP:FDSP may provide a cache function for data stored in public cloud storage. Because data is transferred over the Internet, data stored in public cloud storage can be slower than on-premises storage. In addition, since data is automatically distributed to the public cloud storage without being recognized by CSC:CSU, a high-speed access function can be performed on data stored in the public cloud storage. CSP:FDSP can provide on-premises storage-level access speed to public cloud storage by caching data stored in public cloud storage to storage devices inside the cloud integrated storage operating platform.

CSC:CSU는 CSP:FDSP에 단일 가상 볼륨을 요청하며 자체 데이터 스토리지를 포함할 수 있다.CSC:CSU requests a single virtual volume from CSP:FDSP and can contain its own data storage.

CSP:FDSP는 다른 스토리지를 통합하기위한 스토리지 시스템, 어플라이언스 또는 디바이스를 제공할 수 있다.CSP:FDSP can provide a storage system, appliance or device for integrating other storage.

DSF 서비스 공급자는 온-프레미스보다 느린 액세스 속도를 보상하기 위해 읽기/쓰기 캐시를 제공할 수 있다.DSF service providers can provide read/write caches to compensate for slower access speeds than on-premises.

읽기/쓰기 캐시는 스토리지의 성능을 향상시키기위한 소프트웨어에 상응할 수있고, 캐시 기능을 위한 데이터를 저장하는 장치는 빠른 캐시 동작을 위한 다양한 장치를 사용하여 구현될 수 있다.The read/write cache may correspond to software for improving storage performance, and a device storing data for a cache function may be implemented using various devices for fast cache operation.

예를 들어 빠른 캐시 동작을 위한 다양한 장치는 메인 메모리, RAM 기반 디스크 및 SSD에 상응할 수 있다.For example, various devices for fast cache operation may correspond to main memory, RAM-based disks, and SSDs.

고속 액세스를 위해 캐시 계층 구조가 메인 메모리로 확장될 수 있다. 또한, 메인 메모리는 용량 제한으로 인해 SSD에 사용되는 방식을 사용할 수 있다. RAM 기반 캐시 영역이 소진되면 자동으로 SSD 영역 캐시로 변환될 수 있다. DSF 서비스 고객이 쓰기 작업을 수행하면 빠른 쓰기 응답을 위해 메모리 영역에서 쓰기 작업이 수행될 수 있다.The cache hierarchy can be extended to main memory for fast access. In addition, the main memory may use a method used for SSD due to capacity limitations. When the RAM-based cache area is exhausted, it can be automatically converted to an SSD area cache. When a DSF service customer performs a write operation, a write operation can be performed in the memory area for quick write response.

DSF 서비스 제공자는 다양한 장치를 사용하여 실제 데이터 액세스를 위해 글로벌 네임 스페이스에 대한 고속 액세스를 제공할 수 있다.DSF service providers can use a variety of devices to provide high-speed access to the global namespace for real data access.

글로벌 네임 스페이스는 여러 스토리지 장치 및 클라우드 스토리지에서 이종 파일 시스템을 추상화하고 통합할 수 있다.Global namespaces can abstract and unify heterogeneous file systems across multiple storage devices and cloud storage.

글로벌 네임 스페이스는 로컬화 된 파일 관리의 복잡성을 크게 줄이고 스토리지 확장을 용이하게하며 데이터를 투명하게 마이그레이션하여 마운트 포인트 및 공유 포인트 수를 줄일 수 있다. 글로벌 네임 스페이스는 여러 가지 방법으로 구현 될 수 있지만 클라이언트는 동일한 액세스를 유지할 수 있다.Global namespaces can significantly reduce the complexity of managing localized files, facilitate storage expansion, and transparently migrate data to reduce the number of mount points and share points. Global namespaces can be implemented in several ways, but clients can maintain the same access.

DSF 서비스 제공자는 고 가용성을 위해 글로벌 네임 스페이스의 백업을 제공할 수 있다. 글로벌 네임 스페이스의 백업은 실시간 백업을 통해 수행되며, 글로벌 네임 스페이스의 백업은 여러 노드 (가상 머신 또는 물리적 센서)의 클러스터링을 통해 고 가용성 기능을 수행할 수 있다.DSF service providers can provide backup of the global namespace for high availability. The backup of the global namespace is performed through real-time backup, and the backup of the global namespace can perform a high availability function through clustering of multiple nodes (virtual machines or physical sensors).

DSF 서비스 제공자는 사용자의 데이터 기밀성을 보장하기 위해 데이터 전송을 위한 보안 정책 (예 : 데이터 암호화)을 지원할 수 있다.DSF service providers can support security policies (eg, data encryption) for data transmission to ensure the confidentiality of users' data.

DSF 서비스 제공자는 여러 데이터 스토리지 제공자의 이종 데이터 스토리지에 분산 데이터를 집계하도록 지원할 수 있다.DSF service providers can support aggregation of distributed data across heterogeneous data storage from multiple data storage providers.

DSF 서비스 제공자는 분산 데이터를 집계하기 위해 여러 데이터 스토리지 제공자에 대한 동시 액세스를 제공할 수 있다.DSF service providers can provide simultaneous access to multiple data storage providers to aggregate distributed data.

DSF 서비스 제공자는 이종 스토리지에 대한 DSF 서비스 고객의 액세스 권한 위임을 지원할 수 있다.DSF service providers can support delegation of DSF service customers' access rights to heterogeneous storage.

도 17은 본 발명의 일실시예에 따른 통합 스토리지 관리 시스템의 유스 케이스를 나타낸 도면이다.17 is a diagram illustrating a use case of an integrated storage management system according to an embodiment of the present invention.

도 17을 참조하면, 다양한 스토리지 유형을 포함하는 통합 스토리지(20)에 연결된 하나의 스토리지 시스템인 통합 스토리지 관리 장치(100)에 대한 유스 케이스를 나타낸 것을 알 수 있다. 도 17에 도시된 바와 같이, 스토리지 시스템의 유형에 관계없이 사용자 클라이언트 장치(10)는 통합 사용자 뷰로써, 통합된 저장소로 간주될 수 있고, 사용자 클라이언트 장치(10)는 자신이 사용하는 스토리지를 신경 쓰지 않을 수도 있다. 따라서, 통합 스토리지 관리 장치(10)에 의한 통합 스토리지 관리 기능은 통합된 스토리지 시스템 또는 어플라이언스는 스토리지의 여러 스토리지 시스템을 단일 시스템으로 사용자 클라이언트 장치(10)에게 표시할 수 있다. 나아가, 통합 스토리지 관리 장치(100)는 통합 관리 인터페이스를 제공할 수 있다.Referring to FIG. 17, it can be seen that a use case for the integrated storage management device 100, which is one storage system connected to the integrated storage 20 including various storage types, is shown. As shown in FIG. 17, regardless of the type of storage system, the user client device 10 is an integrated user view and can be regarded as an integrated storage. You may not use it. Accordingly, the integrated storage management function of the integrated storage management device 10 may display multiple storage systems of the storage to the user client device 10 as a single system by the integrated storage system or appliance. Furthermore, the integrated storage management device 100 may provide an integrated management interface.

이 때, 사용자 클라이언트 장치(10)는 통합 스토리지 관리 장치(100)에게 데이터 스토리지를 요청할 수 있고, 요청한 데이터 스토리지를 소유할 수 있다.In this case, the user client device 10 may request data storage from the integrated storage management device 100 and may own the requested data storage.

이 때, 통합 스토리지 관리 장치(100)는 다른 스토리지들을 통합하기 위한 스토리지 시스템, 어플라이언스 또는 디바이스를 제공할 수 있다.In this case, the integrated storage management apparatus 100 may provide a storage system, an appliance, or a device for integrating other storages.

이 때, 통합 스토리지 관리 장치(100)는 사용자 클라이언트 장치(10)의 요구에 따라 블록 기반 스토리지, 파일 기반 스토리지 또는 다른 클라우드 스토리지와 같은 데이터 스토리지를 다양하게 지원할 수 있다.In this case, the integrated storage management device 100 may variously support data storage such as block-based storage, file-based storage, or other cloud storage according to the request of the user client device 10.

이 때, 통합 스토리지 관리 장치(100)는 서비스 메커니즘의 다양한 유형에 대한 데이터 스토리지 액세스를 위해 사용자 클라이언트 장치(10)에게 통합된 사용자 인터페이스를 제공할 수 있다.In this case, the integrated storage management device 100 may provide an integrated user interface to the user client device 10 to access data storage for various types of service mechanisms.

이 때, 통합 스토리지 관리 장치(100)는 분산된 저장에 기반한 스토리지 구조로부터 에러로 인한 데이터 손실을 예방할 수 있고, 시스템 오류로 인해 발생한 데이터 복원 기능을 제공할 수 있다.In this case, the integrated storage management apparatus 100 may prevent data loss due to an error from a storage structure based on distributed storage, and may provide a data restoration function caused by a system error.

이 때, 통합 스토리지 관리 장치(100)는 글로벌 네임 스페이스를 제공할 수 있다.In this case, the integrated storage management apparatus 100 may provide a global name space.

이 때, 통합 스토리지 관리 장치(100)는 데이터 스토리지를 관리하기 위해서 사용자 클라이언트 장치(10)에게 통일된 관리 인터페이스를 제공할 수 있다.In this case, the integrated storage management device 100 may provide a unified management interface to the user client device 10 in order to manage data storage.

이 때, 통합 스토리지 관리 장치(100)는 정책 및 기타 옵션에 대한 사용자 인터페이스를 제공하여 데이터 스토리지를 통합시킬 수 있다.In this case, the integrated storage management device 100 may integrate data storage by providing a user interface for policies and other options.

이 때, 통합 스토리지 관리 장치(100)는 사용자 클라이언트 장치(10)의 데이터를 통합하여 검증할 수 있다.In this case, the integrated storage management device 100 may integrate and verify data of the user client device 10.

예를 들어, CSC:CSU는 통합 스토리지에 상응할 수 있고, CSC:CSU는 다양한 스토리지가 포함될 수 있다. 따라서, 통합 스토리지 시스템 또는 어플라이언스는 스토리지의 여러 스토리지 시스템을 단일 시스템으로 볼 수 있다. 이와 관련한 관리에 관한 기능으로 통합 관리 인터페이스를 제공할 수 있다.For example, CSC:CSU may correspond to unified storage, and CSC:CSU may include various storages. Thus, an integrated storage system or appliance can view multiple storage systems in storage as a single system. An integrated management interface can be provided as a function related to this management.

CSC:CSU는 DSF 서비스 제공자에게 데이터 스토리지를 요청할 수 있고, 자체 데이터 스토리지를 가지고 있을 수 있다.CSC:CSU may request data storage from a DSF service provider, and may have its own data storage.

CSP:FDSP는 스토리지 시스템, 어플라이언스 또는 장치가 다른 스토리지를 통합할 수 있다.CSP:FDSP allows storage systems, appliances or devices to integrate different storage.

DSF 서비스 제공자는 온-프레미스 스토리지, 클라우드 스토리지 및 기타 스토리지와의 통합을 통해 단일 시스템보기에 표시되는 데이터 스토리지를 제공할 수 있다.DSF service providers can provide data storage displayed in a single system view through integration with on-premises storage, cloud storage and other storage.

DSF 서비스 제공자는 본 발명의 일실시예에 따른 통합 스토리지 관리 장치(100)에 상응할 수 있다.The DSF service provider may correspond to the integrated storage management apparatus 100 according to an embodiment of the present invention.

DSF 서비스 제공자는 스토리지 공간의 복원력과 비용 효율성에 중점을 둔 DSF 서비스 고객 데이터를 관리할 수 있다.DSF service providers can manage DSF service customer data with a focus on storage space resiliency and cost effectiveness.

예를 들어, 데이터 저장 공간의 복원력과 비용 효율성을 위한 데이터 이동은 사용자 개입이나 인식없이 자동으로 수행될 수 있다. 사용자는 데이터가 온-프레미스 스토리지에 저장되어 있는지 클라우드 스토리지에 저장되어 있는지 모른 채 동일한 성능으로 데이터 스토리지 서비스를 사용할 수 있다.For example, data movement for resilience and cost efficiency of a data storage space may be performed automatically without user intervention or recognition. Users can use data storage services with the same performance without knowing whether the data is stored in on-premises storage or in cloud storage.

DSF 서비스 제공자는 DSF 서비스 고객의 요구에 따라 블록 기반 스토리지, 파일 기반 스토리지 또는 기타 클라우드 스토리지와 같은 다양한 데이터 스토리지를 지원할 수 있다.DSF service providers can support a variety of data storage, such as block-based storage, file-based storage, or other cloud storage, depending on the needs of DSF service customers.

DSF 서비스 제공자는 DSF 서비스 고객이 다양한 유형의 서비스 메커니즘에 대한 데이터 스토리지에 액세스 할 수 있도록 통합 된 사용자 인터페이스를 제공할 수 있다.DSF service providers can provide a unified user interface for DSF service customers to access data storage for various types of service mechanisms.

DSF 서비스 제공자는 분산 스토리지를 기반으로 스토리지 구조의 오류로 인한 데이터 손실을 방지하고 시스템 장애시 데이터 복구를 제공할 수 있다.DSF service providers can prevent data loss due to errors in storage structures based on distributed storage and provide data recovery in case of system failure.

DSF 서비스 공급자는 여러 파일 시스템을 통합하고 관리하기위한 전역 네임 스페이스를 제공할 수 있다.DSF service providers can provide a global namespace for integrating and managing multiple file systems.

DSF 서비스 제공자는 데이터 스토리지를 관리하기 위해 DSF 서비스 고객에게 통합 관리 인터페이스를 제공할 수 있다.DSF service providers can provide a unified management interface to DSF service customers to manage data storage.

DSF 서비스 제공자는 데이터 스토리지 연합을 위한 정책 및 기타 옵션에 대한 사용자 인터페이스를 제공할 수 있다.DSF service providers can provide user interfaces for policies and other options for data storage federation.

DSF 서비스 제공자는 DSF 서비스 고객의 데이터를 연합하기 위해 유효성을 검증할 수 있다.The DSF service provider can validate the DSF service customer's data to federate.

도 18는 본 발명의 일실시예에 따른 통합 스토리지 서비스를 위한 데이터 스토리지의 등록 과정을 나타낸 동작흐름도이다.18 is an operation flow diagram illustrating a data storage registration process for an integrated storage service according to an embodiment of the present invention.

도 18을 참조하면, CSC:CSU는 로그인 이후에(LOGIN), CSP:FDSP에 데이터 스토리지 클라우드 스토리지의 등록을 요청할 수 있다(REGISTERING FOR CLOUD STRAGE).Referring to FIG. 18, after logging in (LOGIN), CSC:CSU may request registration of data storage cloud storage from CSP:FDSP (REGISTERING FOR CLOUD STRAGE).

데이터 스토리지 등록의 경우, CSC:CSU는 이미 등록 된 인증 정보를 통해 로그인하고, 사용할 클라우드 스토리지 및 온-프레미스 스토리지를 등록할 수 있다(REGISTERING FOR ON-PREMISE STORAGE).In the case of data storage registration, CSC:CSU can log in through already registered authentication information and register the cloud storage and on-premises storage to be used (REGISTERING FOR ON-PREMISE STORAGE).

등록 프로세스는 GUI를 통해 CSP:DSM에 의해 제공될 수 있다.The registration process can be provided by CSP:DSM through a GUI.

CSC:CSU는 GUI를 통해 서비스 이름, 스토리지 사양, 데이터 스토리지 서비스 프로토콜 및 클라우드 스토리지 이름 및 클라우드 스토리지 유형을 등록하고 가상 데이터 스토리지를 설정하고(SETTING SIGLE VIRTUAL VOLUME), 가상 데이터 스토리지를 생성할 수 있다(INVCOKING SINGLE VIRTUAL VOLUME).CSC:CSU can register the service name, storage specification, data storage service protocol and cloud storage name and cloud storage type through GUI, set up virtual data storage (SETTING SIGLE VIRTUAL VOLUME), and create virtual data storage ( INVCOKING SINGLE VIRTUAL VOLUME).

가상 데이터 스토리지 용 CSC:CSU는 CSP : DSM에 등록된 사용자에 상응할 수 있다.CSC:CSU for virtual data storage may correspond to a user registered in CSP: DSM.

CSP:DSM는 각 클라우드 스토리지 서비스 인터페이스를 가지고 있을 수 있다.CSP:DSM can have each cloud storage service interface.

DSF 서비스 제공자는 DSF 서비스 고객이 가상 데이터 스토리지를 사용하기 위해 등록 정보를 제공할 수 있다.DSF service providers can provide registration information for DSF service customers to use virtual data storage.

등록 정보는 데이터 스토리지 서비스 이름, 데이터 스토리지 사양(크기, 캐싱, 티어 카운트, 암호화, 온 프레미스 스토리지 지원 등) 및 서비스 프로토콜 및 클라우드 스토리지 유형을 포함할 수 있다.The registration information may include the data storage service name, data storage specifications (size, caching, tier count, encryption, on-premises storage support, etc.), and service protocol and cloud storage type.

DSF 서비스 제공자는 등록 정보에서 데이터 스토리지 서비스를 구성하고 프로비저닝하여 가상 데이터 스토리지를 호출할 수 있다. DSF service providers can invoke virtual data storage by configuring and provisioning data storage services in registration information.

도 19는 본 발명의 일실시예에 따른 민감 데이터 처리 장치를 나타낸 블록도이다.19 is a block diagram showing an apparatus for processing sensitive data according to an embodiment of the present invention.

도 19를 참조하면, 본 발명의 일실시예에 따른 민감 데이터 처리 장치(2100)는 데이터 비보호 영역 처리부(2110) 및 데이터 보호 영역 처리부(2120)를 포함하고, 클라우드 통합 스토리 장치(2200)의 민감 데이터를 읽어와서 클라이언트 장치(2010)의 요청에 따라 민감 데이터를 처리할 수 있다.Referring to FIG. 19, a sensitive data processing apparatus 2100 according to an embodiment of the present invention includes a data non-protected area processing unit 2110 and a data protected area processing unit 2120, and the sensitivity of the cloud integrated story device 2200 By reading data, sensitive data may be processed according to the request of the client device 2010.

클라우드 통합 스토리지 장치(2200)는 암호화된 민감 데이터를 저장하고 있을 수 있다.The cloud integrated storage device 2200 may store encrypted sensitive data.

데이터 비보호 영역 처리부(2110)는 클라우드 통합 스토리지 장치(2200)의 암호화된 민감 데이터를 읽어오고, 민감 데이터 저장 엔드포인트를 이용하여 암호화된 민감 데이터를 데이터 보호 영역 처리부(2120)로 전달할 수 있다.The data unprotected area processing unit 2110 may read encrypted sensitive data of the cloud integrated storage device 2200 and transmit the encrypted sensitive data to the data protection area processing unit 2120 using the sensitive data storage endpoint.

데이터 보호 영역 처리부(2120)는 전달 받은 암호화된 민감 데이터에 대한 복호화를 수행하고, 데이터 비보호 영역 처리부(2110)으로부터의 데이터 서비스 명령 요청을 대기할 수 있다.The data protection area processing unit 2120 may decrypt the transmitted encrypted sensitive data and may wait for a data service command request from the data unprotected area processing unit 2110.

이 때, 데이터 비보호 영역 처리부(2110)는 네트워크로 연결된 클라이언트 장치(10)로부터 데이터 서비스 명령을 수신한 후, 민감 데이터 서비스 엔드포인트를 이용하여 데이터 보호 영역 처리부(2120)로 데이터 서비스 명령을 요청할 수 있다.At this time, the data unprotected area processing unit 2110 may request a data service command to the data protection area processing unit 2120 using the sensitive data service endpoint after receiving the data service command from the client device 10 connected to the network. have.

이 때, 데이터 보호 영역 처리부(2120)는 전달받은 데이터 서비스 명령에 따라 상기에서 복호화한 민감 데이터를 기반으로 데이터 처리를 수행한 후, 민감 데이터의 처리 결과를 데이터 비보호 영역 처리부(2110)로 전달할 수 있다.At this time, the data protection area processing unit 2120 may perform data processing based on the sensitive data decoded above according to the received data service command, and then transfer the processing result of the sensitive data to the data unprotected area processing unit 2110. have.

이 때, 데이터 비보호 영역 처리부(2110)은 민감 데이터의 처리 결과를 클라이언트 장치(10)로 전달할 수 있다.In this case, the data non-protected area processing unit 2110 may transmit the processing result of the sensitive data to the client device 10.

도 20은 도 19에 도시된 클라우드 통합 스토리지 장치와 데이터 비보호 영역 처리부의 일 예를 세부적으로 나타낸 블록도이다. 도 21은 도 19에 도시된 데이터 비보호 영역 처리부와 데이터 보호 영역 처리부의 일 예를 세부적으로 나타낸 블록도이다.FIG. 20 is a detailed block diagram illustrating an example of a cloud integrated storage device and a data unprotected area processing unit shown in FIG. 19. FIG. 21 is a detailed block diagram illustrating an example of a data unprotected area processing unit and a data protected area processing unit shown in FIG. 19.

도 20을 참조하면, 본 발명의 일실시예에 따른 클라우드 통합 스토리지 장치(2200)는 암호화부(2210), 키 저장부(2220), 온프레미스 스토리지(2230) 및 클라우드 스토리지(2240)를 포함할 수 있다.Referring to FIG. 20, a cloud integrated storage device 2200 according to an embodiment of the present invention includes an encryption unit 2210, a key storage unit 2220, an on-premises storage 2230, and a cloud storage 2240. I can.

암호화부(2210)는 민감 데이터에 대한 암호화를 수행하고, 암호화에 사용된 키는 키저장부(2220)에 저장할 수 있다.The encryption unit 2210 may encrypt sensitive data and store a key used for encryption in the key storage unit 2220.

암호화에 사용된 키는 유출을 방지하기 위해서 마스터 키로 암호화된 후 키저장부에 저장될 수 있다.The key used for encryption can be encrypted with the master key and then stored in the key storage to prevent leakage.

이 때, 암호화부(2210)는 암호화된 민감 데이터를 온프레미스 스토리지(2230)와 클라우드 스토리지(2240)에 저장할 수 있다.In this case, the encryption unit 2210 may store the encrypted sensitive data in the on-premises storage 2230 and the cloud storage 2240.

또한, 본 발명의 일실시예에 따른 민감 데이터 처리 장치(2100)의 데이터 비보호 영역 처리부(2110)는 민감 데이터 전달부(2111), 키전달부(2112), 민감 데이터 서비스 호출부(2113) 및 클라이언트 서비스API부(2114)를 포함할 수 있다.In addition, the data unprotected area processing unit 2110 of the sensitive data processing apparatus 2100 according to an embodiment of the present invention includes a sensitive data transmission unit 2111, a key transmission unit 2112, a sensitive data service calling unit 2113, and It may include a client service API unit 2114.

또한, 본 발명의 일실시예에 따른 민감 데이터 처리 장치(2100)의 데이터 보호 영역 처리부(2120)는 민감 데이터 서비스 게이트웨이부(2121), 민감 데이터 저장부(2122), 키저장부(2123), 민감 데이터 복호화부(2124) 및 민감 데이터 처리부(2125)를 포함할 수 있다.In addition, the data protection area processing unit 2120 of the sensitive data processing apparatus 2100 according to an embodiment of the present invention includes a sensitive data service gateway unit 2121, a sensitive data storage unit 2122, a key storage unit 2123, and A sensitive data decoding unit 2124 and a sensitive data processing unit 2125 may be included.

이 때, 민감 데이터 서비스 게이트웨이부(2121)는 민감 데이터 저장 엔드포인트(3211), 키저장 엔드포인트(3212) 및 민감 데이터 서비스 엔드포인트(3213)를 포함할 수 있다.In this case, the sensitive data service gateway unit 2121 may include a sensitive data storage endpoint 3211, a key storage endpoint 3212, and a sensitive data service endpoint 3213.

민감 데이터 서비스 게이트웨이부(2121)는 민감 데이터에 대한 데이터 처리 서비스를 제공할 수 있다.The sensitive data service gateway unit 2121 may provide a data processing service for sensitive data.

이 때, 민감 데이터 서비스 게이트웨이부(2121)는 데이터 보호 영역의 민감 데이터의 처리 결과를 데이터 비보호 영역으로 제공할 수 있다.In this case, the sensitive data service gateway unit 2121 may provide a result of processing sensitive data in the data protection area as a data non-protection area.

민감 데이터 저장 엔드포인트(3211)는 데이터 비보호 영역에서 전달하는 암호화된 민감 데이터를 전달받을 수 있다.The sensitive data storage endpoint 3211 may receive encrypted sensitive data transmitted from the data unprotected area.

키저장 엔드포인트(3212)는 암호화된 민감 데이터를 복호화하기 위한 복호화키를 데이터 비보호 영역으로부터 전달받을 수 있다.The key storage endpoint 3212 may receive a decryption key for decrypting the encrypted sensitive data from the non-data protected area.

이 때, 민감 데이터 서비스 게이트웨이부(2121)는 민감 데이터의 전달 시작을 호출 받는 엔드포인트 및 상기 데이터 비보호 영역으로부터 상기 민감 데이터의 전달 종료를 호출 받는 엔드포인트를 더 포함할 수 있다.In this case, the sensitive data service gateway unit 2121 may further include an endpoint that receives a call to start transmission of sensitive data and an endpoint that receives a call to end transmission of the sensitive data from the data unprotected area.

민감 데이터 전달부(2111)는 클라우드 통합 스토리지 장치(2200)에 저장된 암호화된 민감 데이터를 읽어오고, 데이터 보호 영역 처리부(2120)의 민감 데이터 저장 엔드포인트(3211)를 이용하여 암호화된 민감 데이터를 전달할 수 있다.The sensitive data transfer unit 2111 reads encrypted sensitive data stored in the cloud integrated storage device 2200, and transfers the encrypted sensitive data using the sensitive data storage endpoint 3211 of the data protection area processing unit 2120. I can.

민감 데이터 저장부(2122)는 민감 데이터 저장 엔드포인트(3211)가 전달받은 암호화 데이터를 데이터 보호 영역 내부의 메모리에 저장할 수 있다.The sensitive data storage unit 2122 may store encrypted data received from the sensitive data storage endpoint 3211 in a memory inside the data protection area.

키전달부(2113)는 클라우드 통합 스토리지 장치의 키저장부(2220)로부터 복호화키를 수신하고, 데이터 보호 영역 처리부(2120)의 키저장 엔드포인트(3212)를 통하여 복호화키를 키 저장부(2123)의 태그-키 저장부(2123a)에 저장할 수 있다. 태그-키 저장부(2123a)는 암호화된 민감 데이터에 대한 태그와 이에 해당하는 복호화키를 저장할 수 있다.The key transfer unit 2113 receives the decryption key from the key storage unit 2220 of the cloud integrated storage device, and stores the decryption key through the key storage endpoint 3212 of the data protection area processing unit 2120. ) Can be stored in the tag-key storage unit 2123a. The tag-key storage unit 2123a may store a tag for encrypted sensitive data and a corresponding decryption key.

민감 데이터 복호화부(2124)는 태그-키 저장부(2123a)에서 복호화키를 추출하고, 복호화키를 이용하여 암호화된 민감 데이터를 복호화할 수 있다.The sensitive data decryption unit 2124 may extract the decryption key from the tag-key storage unit 2123a and decrypt the encrypted sensitive data using the decryption key.

이 때, 클라이언트 장치(2010)는 데이터 서비스를 받기 위해 네트워크를 통하여 민감 데이터 처리 장치(2100)의 클라이언트 서비스 API부(2111)를 호출하여 민감 데이터 서비스를 요청할 수 있다.In this case, the client device 2010 may request a sensitive data service by calling the client service API unit 2111 of the sensitive data processing device 2100 through a network to receive a data service.

민감 데이터 서비스 호출부(2112)는 민감 데이터 서비스 엔드포인트(3213)를 이용하여 데이터 보호 영역으로 데이터 서비스 명령을 요청할 수 있다.The sensitive data service calling unit 2112 may request a data service command to the data protection area using the sensitive data service endpoint 3213.

민감 데이터 서비스 게이트웨이부(2121)는 민감 데이터 서비스 호출부(2112)가 호출한 민감 데이터 처리부(2125)를 호출하여 데이터 처리 서비스를 수행할 수 있다.The sensitive data service gateway unit 2121 may perform a data processing service by calling the sensitive data processing unit 2125 called by the sensitive data service calling unit 2112.

민감 데이터 처리부(2125)는 데이터 서비스 요청에 따라 복호화된 민감 데이터를 처리하고 생성된 민감 데이터의 처리 결과를 처리결과 데이터로 저장할 수 있다. 복호화된 민감 데이터는 데이터 보호 영역 내부에서 안전하게 보호됨으로 외부로의 유출이 원천 차단될 수 있다. 처리결과 데이터는 민감 데이터 서비스 게이트웨이부(2121)를 통하여 데이터 비보호 영역으로 전달되고, 이후 클라이언트 장치(2010)로 민감 데이터의 처리 결과를 전달될 수 있다.The sensitive data processing unit 2125 may process the decrypted sensitive data according to a data service request and store a processing result of the generated sensitive data as processing result data. As the decrypted sensitive data is securely protected inside the data protection area, leakage to the outside may be prevented at the source. The processing result data may be transmitted to the data unprotected area through the sensitive data service gateway unit 2121, and then the processing result of the sensitive data may be transmitted to the client device 2010.

데이터 비보호 영역 처리부(2110)의 데이터 비보호 영역은 데이터의 유출 가능성이 존재하는 영역으로 데이터 비보호 영역 내부에서의 민감 데이터는 유출 방지를 위해서 암호화된 상태로 존재할 수 있다.The data non-protected area of the data non-protected area processing unit 2110 is an area in which there is a possibility of data leakage, and sensitive data in the data non-protected area may exist in an encrypted state to prevent leakage.

이 때, 데이터 비보호 영역은 민감 데이터를 직접 처리하지 않으며, 민감 데이터와 이를 복호화하기 위한 키를 데이터 보호 영역으로 전달할 수 있다.In this case, the non-data protected area does not directly process sensitive data, and the sensitive data and a key for decrypting the sensitive data may be transferred to the data protection area.

또한, 데이터 비보호 영역 처리부(2110)는 클라이언트 장치(2010)의 민감 데이터 서비스 명령을 수신하고, 데이터 보호 영역으로 민감 데이터 서비스 명령을 요청할 수 있다.In addition, the data unprotected area processing unit 2110 may receive a sensitive data service command from the client device 2010 and may request a sensitive data service command to the data protection area.

데이터 보호 영역 처리부(2120)의 데이터 보호 영역은 데이터의 유출이 원천적으로 차단될 수 있다. 데이터 보호 영역은 일반적인 운영체제가 제공하는 스토리지 입출력, 네트워크 입출력, 사용자 입출력을 포함한 모든 입출력 기능을 제공하지 않을 수 있다.The data protection area of the data protection area processing unit 2120 may be fundamentally blocked from data leakage. The data protection area may not provide all input/output functions, including storage input/output, network input/output, and user input/output, which are provided by general operating systems.

또한, 데이터 보호 영역은 CPU의 하드웨어 기능 혹은 가상화 기능에 기반하여 데이터 보호 영역의 외부로부터 데이터 보호 영역 내부의 메모리에 대한 접근을 차단할 수 있다.In addition, the data protection area may block access to the memory inside the data protection area from outside the data protection area based on a hardware function or a virtualization function of the CPU.

이 때, 데이터 보호 영역은 민감 데이터 서비스 엔드포인트를 통해서만 접근 가능하고, 민감 데이터 서비스 엔드포인트는 사전에 정의된 서비스만을 제공하기 때문에, 이외의 모든 접근은 차단될 수 있다.At this time, since the data protection area can be accessed only through the sensitive data service endpoint, and the sensitive data service endpoint provides only predefined services, all other access can be blocked.

따라서, 데이터 보호 영역 내부의 데이터는 외부로부터 절대로 접근이 불가능하여 데이터 유출이 원천적으로 차단될 수 있다.Accordingly, data inside the data protection area is absolutely inaccessible from the outside, and data leakage may be fundamentally blocked.

이 때, 데이터 보호 영역은 민감 데이터를 처리하기 위한 적어도 하나의 엔드포인트들을 포함하고, 상기 데이터 비보호 영역으로부터 호출받은 엔드포인트를 이용하여 상기 민감 데이터를 처리할 수 있다.In this case, the data protection area includes at least one endpoint for processing sensitive data, and the sensitive data may be processed using an endpoint called from the data non-protection area.

이 때, 상기 데이터 보호 영역은 상기 데이터 비보호 영역으로부터, 상기 민감 데이터의 전달 시작을 호출 받는 엔드포인트, 상기 복호화 키를 전달 받는 엔드포인트, 상기 데이터 보호 영역으로 상기 민감 데이터를 전달 받는 엔드포인트 및 상기 민감 데이터의 전달 종료를 호출 받는 엔드포인트를 포함할 수 있다.At this time, the data protection region is an endpoint that receives a call to start transmission of the sensitive data from the data unprotected region, an endpoint that receives the decryption key, an endpoint that receives the sensitive data to the data protection region, and the It may include an endpoint that is called to terminate the delivery of sensitive data.

이 때, 상기 데이터 보호 영역에 포함된 엔드포인트는 상기 민감 데이터의 서비스 인수에 기설정된 태그를 확인하고, 상기 태그에 해당하는 정보를 이용하여 상기 민감 데이터를 처리할 수 있다.In this case, the endpoint included in the data protection area may check a tag preset in the service argument of the sensitive data, and process the sensitive data using information corresponding to the tag.

도 22는 도 21에 도시된 민감 데이터 서비스 게이트웨이부의 일 예를 세부적으로 나타낸 블록도이다.FIG. 22 is a detailed block diagram illustrating an example of a sensitive data service gateway unit shown in FIG. 21.

도 22를 참조하면, 민감 데이터 서비스 게이트웨이부(2121)는 민감 데이터 처리 실행부(3214), 서비스 인수(service parameter) 복사부(2126), 처리결과 복사부(2127) 및 데이터 비보호 메모리 영역 처리부(128) 및 데이터 보호 메모리 영역 처리부(2129)를 더 포함할 수 있다.Referring to FIG. 22, the sensitive data service gateway unit 2121 includes a sensitive data processing execution unit 3214, a service parameter copy unit 2126, a processing result copy unit 2127, and a data unprotected memory area processing unit ( 128) and a data protection memory area processor 2129 may be further included.

데이터 비보호 영역 처리부(2110)의 민감 데이터 서비스 호출부(2112), 키전달부(2113) 및 민감 데이터 전달부(2114)은 서비스 요청에 필요한 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역 처리부(2128)에 서비스 인수로 저장할 수 있다.The sensitive data service calling unit 2112, the key transmission unit 2113, and the sensitive data transmission unit 2114 of the data non-protected area processing unit 2110 receive a service argument of sensitive data required for a service request, and the data non-protected memory area processing unit 2128. It can be stored as a service argument.

서비스 인수 복사기(2126)는 해당 민감 데이터를 데이터 보호 메모리 영역 처리부(2129)에 서비스 인수로 복사할 수 있다.The service argument copying machine 2126 may copy the sensitive data to the data protection memory area processing unit 2129 as a service argument.

데이터 보호 영역 처리부(2120)는 내부에서 처리가 끝난 결과를 데이터 보호 메모리 영역 처리부(2129)에 처리결과 데이터로 저장할 수 있고, 처리결과 복사부(2127)를 통하여 데이터 비보호 메모리 영역 처리부(2128)의 처리결과 데이터로 복사할 수 있다.The data protection area processing unit 2120 may store the processing result data in the data protection memory area processing unit 2129 as processing result data. It can be copied as processing result data.

이 때, 데이터 보호 영역 처리부(2120)는 상기 민감 데이터 서비스 게이트웨이부(2121)를 통해 상기 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역 처리부(2128)에 저장하고, 상기 데이터 비보호 메모리 영역 처리부(2128)에 저장된 민감 데이터의 서비스 인수를 데이터 보호 메모리 영역 처리부(2129)에 복사하여 저장하고, 상기 데이터 보호 메모리 영역 처리부(2129)에 저장된 민감 데이터의 서비스 인수를 이용하여 상기 민감 데이터를 처리할 수 있다.At this time, the data protection area processing unit 2120 stores the service argument of the sensitive data in the data non-protected memory area processing unit 2128 through the sensitive data service gateway unit 2121, and the data non-protected memory area processing unit 2128 The service factor of the sensitive data stored in the data protection memory area processing unit 2129 may be copied and stored, and the sensitive data may be processed using the service factor of the sensitive data stored in the data protection memory area processing unit 2129.

이 때, 데이터 보호 영역 처리부(2120)는 상기 민감 데이터 서비스 게이트웨이부(2121)를 통해 상기 민감 데이터의 처리 결과를 상기 데이터 보호 메모리 영역 처리부(2129)에 저장하고, 상기 데이터 보호 메모리 영역 처리부(2129)에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 메모리 영역 처리부(2128)에 복사하여 저장하고, 상기 데이터 비보호 메모리 영역 처리부(2128)에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 영역 처리부(2110)에 전달할 수 있다.At this time, the data protection area processing unit 2120 stores the processing result of the sensitive data in the data protection memory area processing unit 2129 through the sensitive data service gateway unit 2121, and the data protection memory area processing unit 2129 ), the processing result of the sensitive data stored in the data non-protected memory area processing unit 2128 is copied and stored, and the processing result of the sensitive data stored in the data non-protected memory area processing unit 2128 is transferred to the data non-protected area processing unit 2110. I can deliver.

민감 데이터 처리 실행부(3214)는 데이터 비보호 영역 처리부(2110)에서 호출한 복수개의 엔트포인트들과 대응되는 데이터 보호 영역 처리부(2120) 내부의 복수개의 유닛들(민감 데이터 처리부 1 - N(2125), 민감 데이터 복호화부(2124), 키저장부(2123), 민감 데이터 저장부(2122))를 호출할 수 있다.The sensitive data processing execution unit 3214 includes a plurality of units inside the data protection area processing unit 2120 corresponding to the plurality of endpoints called by the data non-protection area processing unit 2110 (sensitive data processing unit 1-N 2125). , The sensitive data decryption unit 2124, the key storage unit 2123, and the sensitive data storage unit 2122) may be called.

도 13을 참조하면, 본 발명의 일실시예에 따른 민감 데이터 처리 장치(2100) 는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1100)에서 구현될 수 있다. 도 13에 도시된 바와 같이, 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 인터페이스 입력 장치(1140), 사용자 인터페이스 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.Referring to FIG. 13, the sensitive data processing apparatus 2100 according to an embodiment of the present invention may be implemented in a computer system 1100 such as a computer-readable recording medium. As shown in FIG. 13, the computer system 1100 includes one or more processors 1110, memory 1130, a user interface input device 1140, and a user interface output device 1150 communicating with each other through a bus 1120. And a storage 1160. Further, the computer system 1100 may further include a network interface 1170 connected to the network 1180. The processor 1110 may be a central processing unit or a semiconductor device that executes processing instructions stored in the memory 1130 or the storage 1160. The memory 1130 and the storage 1160 may be various types of volatile or nonvolatile storage media. For example, the memory may include a ROM 1131 or a RAM 1132.

이 때, 본 발명의 일실시예에 따른 민감 데이터 처리 장치(100)는 하나 이상의 프로세서(1110) 및 상기 하나 이상의 프로세서(1110)에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리(1130)를 포함하고, 상기 적어도 하나 이상의 프로그램은 데이터 비보호 영역에서, 스토리지 장치(2200)에 저장된 민감 데이터를 읽어오고, 데이터 보호 영역의 민감 데이터 저장 엔드포인트를 이용하여 데이터 보호 영역으로 상기 민감 데이터를 전달하고, 상기 데이터 보호 영역에서, 상기 데이터 비보호 영역으로부터 클라이언트 장치(2010)가 요청한 민감 데이터 서비스 명령을 수신하면 적어도 하나 이상의 엔드포인트들을 이용하여 상기 민감 데이터를 처리하고, 상기 데이터 비보호 영역에서, 상기 클라이언트 장치(2010)로 상기 민감 데이터의 처리 결과를 전달할 수 있다.In this case, the sensitive data processing apparatus 100 according to an embodiment of the present invention includes one or more processors 1110 and an execution memory 1130 storing at least one program executed by the one or more processors 1110. Including, the at least one program reads the sensitive data stored in the storage device 2200 from the data non-protected area, transfers the sensitive data to the data protection area by using the sensitive data storage endpoint of the data protection area, In the data protection area, when receiving a sensitive data service command requested by the client device 2010 from the data non-protection area, the sensitive data is processed using at least one endpoint, and in the data non-protection area, the client device ( 2010) can deliver the processing result of the sensitive data.

이 때, 상기 데이터 보호 영역은 운영체제가 제공하는 입출력 기능이 차단되고, 하드웨어 기능 및 가상화 기능에 기반하여 상기 데이터 보호 영역의 외부로부터의 메모리 접근이 차단된 것일 수 있다.In this case, in the data protection area, an input/output function provided by an operating system is blocked, and access to a memory from outside the data protection area is blocked based on a hardware function and a virtualization function.

이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 비보호 영역에서, 암호화된 상기 민감 데이터를 복호화하기 위한 복호화 키를 상기 스토리지 장치(200)로부터 전달 받고, 상기 데이터 보호 영역의 키 저장 엔드포인트를 이용하여 상기 복호화 키를 상기 데이터 보호 영역으로 전달할 수 있다.At this time, the at least one program receives a decryption key for decrypting the encrypted sensitive data in the data non-protection area from the storage device 200, and uses the key storage endpoint of the data protection area. The decryption key can be transferred to the data protection area.

이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에서, 상기 복호화 키를 이용하여 상기 민감 데이터를 복호화하고, 상기 민감 데이터 서비스 엔드포인트를 이용하여 상기 데이터 비보호 영역으로부터 전달 받은 상기 클라이언트 장치로부터 민감 데이터 서비스 명령에 의해 상기 복호화된 민감 데이터를 처리할 수 있다.At this time, the at least one program decrypts the sensitive data using the decryption key in the data protection area, and the sensitive data from the client device received from the data unprotected area using the sensitive data service endpoint The decrypted sensitive data can be processed by a service command.

이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에서, 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 저장하고, 상기 민감데이터의 처리 결과를 상기 데이터 비보호 영역에 전달할 수 있다.In this case, the at least one program may store the processing result of the sensitive data through the sensitive data service gateway in the data protection area, and transmit the processing result of the sensitive data to the non-data protected area.

이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역에 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 데이터 보호 메모리 영역에 복사하여 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 이용하여 상기 민감 데이터를 처리할 수 있다.In this case, the at least one program stores the service factor of the sensitive data in the data non-protected memory area through the sensitive data service gateway in the data protection area, and the service factor of the sensitive data stored in the data non-protected memory area. The sensitive data may be copied and stored in a data protection memory area, and the sensitive data may be processed using a service factor of the sensitive data stored in the data protection memory area.

이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 상기 데이터 보호 메모리 영역에 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 메모리 영역에 복사하여 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 영역에 전달할 수 있다.In this case, the at least one program stores the processing result of the sensitive data in the data protection memory area through the sensitive data service gateway in the data protection area, and the processing result of the sensitive data stored in the data protection memory area May be copied to the data non-protected memory area and stored, and a result of processing sensitive data stored in the data non-protected memory area may be transmitted to the data non-protected area.

이 때, 상기 데이터 보호 영역은 상기 민감 데이터를 처리하기 위한 적어도 하나의 엔드포인트들을 포함하고, 상기 데이터 비보호 영역으로부터 호출받은 엔드포인트를 이용하여 상기 민감 데이터를 처리할 수 있다.In this case, the data protection area includes at least one endpoint for processing the sensitive data, and the sensitive data may be processed using an endpoint called from the data non-protection area.

이 때, 상기 데이터 보호 영역은 상기 데이터 비보호 영역으로부터, 상기 민감 데이터의 전달 시작을 호출 받는 엔드포인트, 상기 복호화 키를 전달 받는 엔드포인트, 상기 데이터 보호 영역으로 상기 민감 데이터를 전달 받는 엔드포인트 및 상기 민감 데이터의 전달 종료를 호출 받는 엔드포인트를 포함할 수 있다.At this time, the data protection region is an endpoint that receives a call to start transmission of the sensitive data from the data unprotected region, an endpoint that receives the decryption key, an endpoint that receives the sensitive data to the data protection region, and the It may include an endpoint that is called to terminate the delivery of sensitive data.

이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에 포함된 엔드포인트가, 상기 민감 데이터의 서비스 인수에 기설정된 태그를 확인하고, 상기 태그에 해당하는 정보를 이용하여 상기 민감 데이터를 처리할 수 있다.At this time, the at least one program can process the sensitive data using the information corresponding to the tag, and the endpoint included in the data protection area checks a tag preset in the service argument of the sensitive data. have.

도 23은 본 발명의 일실시예에 따른 민감 데이터 처리 방법을 나타낸 동작흐름도이다.23 is an operation flow diagram showing a method of processing sensitive data according to an embodiment of the present invention.

도 23을 참조하면, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 먼저 클라이언트 장치(2010)가 민감 데이터 처리 장치(2100)의 클라이언트 서비스 API를 이용하여 민감 데이터 서비스를 요청할 수 있다(S2310).Referring to FIG. 23, in a method for processing sensitive data according to an embodiment of the present invention, first, a client device 2010 may request a sensitive data service using a client service API of the sensitive data processing device 2100 (S2310). .

또한, 단계(S2310)는 데이터 비보호 영역에서, 스토리지 장치에 저장된 민감 데이터를 읽어오고, 민감 데이터 저장 엔드포인트를 이용하여 데이터 보호 영역으로 상기 민감 데이터를 전달할 수 있다.In addition, in step S2310, sensitive data stored in the storage device may be read from the non-data protected area, and the sensitive data may be transmitted to the data protected area using a sensitive data storage endpoint.

이 때, 단계(S2310)는 상기 데이터 비보호 영역에서, 암호화된 상기 민감 데이터를 복호화하기 위한 복호화 키를 상기 스토리지 장치로부터 전달 받고, 상기 데이터 보호 영역의 키 저장 엔드포인트를 이용하여 상기 복호화 키를 상기 데이터 보호 영역으로 전달할 수 있다.In this case, in step S2310, in the data unprotected area, a decryption key for decrypting the encrypted sensitive data is received from the storage device, and the decryption key is transferred to the decryption key using a key storage endpoint in the data protection area. It can be delivered to the data protection area.

또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 민감 데이터 처리 장치(2100)의 데이터 비보호 영역 처리부(2110)가 민감 데이터 서비스 엔드포인트를 이용하여 데이터 보호 영역 처리부(2120)에게 민감 데이터 서비스 명령을 호출할 수 있다(S2320).In addition, the sensitive data processing method according to an embodiment of the present invention provides a sensitive data service to the data protection area processing unit 2120 by the data unprotected area processing unit 2110 of the sensitive data processing device 2100 using a sensitive data service endpoint. A command can be called (S2320).

또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 민감 데이터 처리 장치(2100)의 데이터 보호 영역 처리부(2120)가 민감 데이터 처리 및 도출된 결과를 처리 결과 데이터에 저장하고, 데이터 비보호 영역 처리부(2110)에 민감 데이터의 처리 결과를 전달할 수 있다(S2330).In addition, in the sensitive data processing method according to an embodiment of the present invention, the data protection area processing unit 2120 of the sensitive data processing apparatus 2100 stores the sensitive data processing and the derived result in the processing result data, and the data unprotected area processing unit The processing result of the sensitive data may be transmitted to 2110 (S2330).

즉, 단계(S2330)는 데이터 비보호 영역 처리부(2110)으로부터 클라이언트 장치(2010)가 요청한 민감 데이터 서비스 명령을 수신하면 적어도 하나 이상의 엔드포인트들을 이용하여 상기 민감 데이터를 처리할 수 있다.That is, in step S2330, when a sensitive data service command requested by the client device 2010 is received from the data unprotected area processing unit 2110, the sensitive data may be processed using at least one endpoint.

이 때, 단계(S2330)는 상기 데이터 보호 영역에서, 상기 복호화 키를 이용하여 상기 민감 데이터를 복호화하고, 상기 민감 데이터 서비스 엔드포인트를 이용하여 상기 데이터 비보호 영역으로부터 전달 받은 상기 클라이언트 장치(2010)로부터 민감 데이터 서비스 명령에 의해 상기 복호화된 민감 데이터를 처리할 수 있다.At this time, step (S2330) decrypts the sensitive data using the decryption key in the data protection area, and from the client device 2010 received from the data unprotected area using the sensitive data service endpoint. The decrypted sensitive data may be processed by a sensitive data service command.

이 때, 단계(S2330)는 상기 데이터 보호 영역에서, 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 저장하고, 상기 민감데이터의 처리 결과를 데이터 비보호 영역 처리부(2110)에 전달할 수 있다.In this case, in step S2330, the processing result of the sensitive data may be stored in the data protection area through the sensitive data service gateway, and the processing result of the sensitive data may be transmitted to the data unprotected area processing unit 2110.

이 때, 단계(S2330)는 상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역에 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 데이터 보호 메모리 영역에 복사하여 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 이용하여 상기 민감 데이터를 처리할 수 있다.In this case, in step S2330, in the data protection area, the service factor of the sensitive data is stored in a data unprotected memory area through the sensitive data service gateway, and the service factor of the sensitive data stored in the data unprotected memory area is data The sensitive data may be copied and stored in a protected memory area, and the sensitive data may be processed using a service factor of sensitive data stored in the data protection memory area.

이 때, 단계(S2330)는 상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 상기 데이터 보호 메모리 영역에 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 메모리 영역에 복사하여 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 영역에 전달할 수 있다.In this case, in step S2330, in the data protection area, the processing result of the sensitive data is stored in the data protection memory area through the sensitive data service gateway, and the processing result of the sensitive data stored in the data protection memory area is stored. The data may be copied and stored in the non-data protected memory area, and a result of processing sensitive data stored in the data non-protected memory area may be transmitted to the data non-protected area.

또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 데이터 비보호 영역 처리부(2110)가 클라이언트 장치(2010)에게 민감 데이터의 처리 결과를 전달할 수 있다(S2340).In addition, in the sensitive data processing method according to an embodiment of the present invention, the data non-protected area processing unit 2110 may transmit the processing result of the sensitive data to the client device 2010 (S2340).

또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 클라이언트 장치(2010)가 민감 데이터 서비스 요청에 대한 민감 데이터의 처리 결과를 민감 데이터 처리 장치(2100)로부터 수신할 수 있다(S2350).In addition, in the sensitive data processing method according to an embodiment of the present invention, the client device 2010 may receive a processing result of the sensitive data in response to the sensitive data service request from the sensitive data processing device 2100 (S2350).

도 24는 본 발명의 일실시예에 따른 데이터 비보호 영역 처리부와 데이터 보호 영역 처리부에서의 민감 데이터 처리 방법을 나타낸 동작흐름도이다.24 is a flowchart illustrating a method of processing sensitive data in a data unprotected area processing unit and a data protected area processing unit according to an embodiment of the present invention.

도 24를 참조하면, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 먼저 데이터 비보호 영역 처리부(2110)에서 클라우드 스토리지 장치(2200)로부터 암호화된 민감 데이터를 읽어올 수 있다(S2410).Referring to FIG. 24, in the method for processing sensitive data according to an embodiment of the present invention, the data unprotected area processing unit 2110 may first read encrypted sensitive data from the cloud storage device 2200 (S2410).

또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 암호화된 민감 데이터를 N개의 세그먼트로 구분할 수 있다(S2420).In addition, the sensitive data processing method according to an embodiment of the present invention may divide the encrypted sensitive data into N segments (S2420).

또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 put_data_start 엔드포인트를 호출하여 암호화된 데이터의 전송 시작을 데이터 보호 영역 처리부(2120)에 알려줄 수 있다(S2430).In addition, the sensitive data processing method according to an embodiment of the present invention may notify the data protection area processor 2120 of the start of transmission of encrypted data by calling the put_data_start endpoint (S2430).

이 때, 서비스 인수 1인 태그는 암호화된 민감 데이터를 구분하는 태그이며, 서비스 인수 2는 암호화 데이터의 총 크기를 나타낼 수 있다.In this case, the service factor 1 tag is a tag that identifies encrypted sensitive data, and the service factor 2 may represent the total size of the encrypted data.

또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 데이터 보호 영역 처리부(2120)가 엔트포인트에 지정된 크기만큼의 메모리를 데이터 보호 영역 내부에 할당하여 암호화된 민감 데이터를 저장할 준비를 할 수 있다(S4300)In addition, in the method for processing sensitive data according to an embodiment of the present invention, the data protection area processing unit 2120 may prepare to store encrypted sensitive data by allocating a memory of a size designated to the endpoint inside the data protection area. (S4300)

또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 데이터 비보호 영역 처리부(2110)가 put_key 엔드포인트를 이용하여 암호화된 민감 데이터를 복호화 하기 위한 복호화키를 데이터 보호 영역 처리부(2120)에 알려줄 수 있다(S2440).In addition, in the method for processing sensitive data according to an embodiment of the present invention, the data unprotected area processing unit 2110 may inform the data protection area processing unit 2120 of a decryption key for decrypting the encrypted sensitive data using the put_key endpoint. There is (S2440).

이 때, 서비스 인수 1인 태그는 암호화된 민감 데이터를 구분하는 태그이며, 서비스 인수 2는 암호화된 민감 데이터를 복호화 하기 위한 키이다.In this case, the service factor 1 tag is a tag that identifies encrypted sensitive data, and the service factor 2 is a key for decrypting the encrypted sensitive data.

또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 데이터 보호 영역 처리부(2120)가 키저장부(2123)의 태그-키 저장부(2123a)에 복호화키와 태그를 함께 저장할 수 있다(S4400).In addition, in the method for processing sensitive data according to an embodiment of the present invention, the data protection area processing unit 2120 may store the decryption key and the tag together in the tag-key storage unit 2123a of the key storage unit 2123 (S4400). ).

또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 데이터 비보호 영역 처리부(2110)가 put_data 엔드포인트를 이용하여 암호화된 민감 데이터를 세그먼트로 나누고 각 세그먼트를 데이터 보호 영역 처리부(2120)로 전달할 수 있다(S450).In addition, in the method for processing sensitive data according to an embodiment of the present invention, the data unprotected area processing unit 2110 divides the encrypted sensitive data into segments using the put_data endpoint and transfers each segment to the data protection area processing unit 2120. Yes (S450).

이 때, 서비스 인수 1인 태그는 암호화된 민감 데이터를 구분하는 태그이며, 서비스 인수 2인 데이터는 전달할 암호화 데이터 세그먼트이고, 서비스 인수 3인 크기는 전달할 데이터의 크기이며, 서비스 인수 4인 세그먼트 번호는 현재 전달할 세그먼트의 번호이다.At this time, the service factor 1 tag is a tag that identifies encrypted sensitive data, the service factor 2 data is the encrypted data segment to be transferred, the service factor 3 size is the size of the data to be transferred, and the service factor 4 segment number is This is the number of the segment to be delivered.

이 때, put_data 엔드포인트는 세그먼트 단위로 데이터를 전달함으로 전체 암호화 데이터를 전달 완료할 때까지 반복 수행될 수 있다(S2460).At this time, the put_data endpoint transmits data in units of segments, and thus may be repeatedly performed until the entire encrypted data is delivered (S2460).

또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 비보호 영역 처리부(110)가 put_data_end 엔드포인트를 이용하여 태그에 해당하는 데이터의 전송이 완료되었음을 데이터 보호 영역 처리부(2120)에 알려줄 수 있다(S2470).In addition, in the method for processing sensitive data according to an embodiment of the present invention, the non-protected area processing unit 110 may notify the data protection area processing unit 2120 that transmission of data corresponding to the tag has been completed using the put_data_end endpoint ( S2470).

이 때, 서비스 인수 1인 태그는 암호화 데이터를 구분하는 태그이다.In this case, the tag, which is the service factor of 1, is a tag that identifies encrypted data.

또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 데이터 보호 영역 처리부(2120)가 put_data_end 엔드포인트의 호출에 따라 전달받은 암호화된 민감 데이터를 태그-키 저장부(2123a)에 저장된 키를 이용하여 복호화할 수 있다(S4700).In addition, the sensitive data processing method according to an embodiment of the present invention uses a key stored in the tag-key storage unit 2123a for encrypted sensitive data transmitted by the data protection area processing unit 2120 according to the call of the put_data_end endpoint. Then, it can be decrypted (S4700).

또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 단계(S4700) 이후, 클라이언트 장치(2010)로부터의 민감 데이터 서비스 요청을 대기할 수 있다(S4800)In addition, in the sensitive data processing method according to an embodiment of the present invention, after step S4700, a request for a sensitive data service from the client device 2010 may be waited (S4800).

도 25는 본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법을 나타낸 동작흐름도이다.25 is a flowchart illustrating a method of processing sensitive data in a sensitive data service gateway unit according to an embodiment of the present invention.

도 25를 참조하면, 본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법은 먼저 서비스 인수 데이터를 전달 받을 수 있다(S2510).Referring to FIG. 25, in a method for processing sensitive data in a sensitive data service gateway unit according to an embodiment of the present invention, service argument data may be received first (S2510).

이 때, 단계(S2510)는 서비스 요청에 필요한 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역 처리부(2128)에 서비스 인수로 저장할 수 있다.In this case, in step S2510, a service factor of sensitive data required for a service request may be stored in the data unprotected memory area processing unit 2128 as a service factor.

본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법은 민감 데이터 서비스 게이트웨이부(2121) 내부의 엔드포인트들을 호출할 수 있다(S2520).The sensitive data processing method in the sensitive data service gateway unit according to an embodiment of the present invention may call endpoints inside the sensitive data service gateway unit 2121 (S2520).

또한, 본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법은 서비스 인수 복사기(2126)가 해당 민감 데이터를 데이터 보호 메모리 영역 처리부(2129)에 서비스 인수로 복사할 수 있다(S2530).In addition, in the sensitive data processing method in the sensitive data service gateway unit according to an embodiment of the present invention, the service argument copying machine 2126 may copy the sensitive data to the data protection memory area processor 2129 as a service argument ( S2530).

또한, 본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법은 데이터 보호 영역 처리부 내부의 처리 유닛들을 호출할 수 있다(S2540).In addition, the sensitive data processing method in the sensitive data service gateway unit according to an embodiment of the present invention may call processing units inside the data protection area processing unit (S2540).

즉, 단계(S2540)는 호출한 복수개의 엔트포인트들과 대응되는 데이터 보호 영역 처리부(2120) 내부의 복수개의 유닛들(민감 데이터 처리부 1 - N(2125), 민감 데이터 복호화부(2124), 키저장부(2123), 민감 데이터 저장부(2122))를 호출할 수 있다.That is, in step S2540, a plurality of units within the data protection area processing unit 2120 corresponding to a plurality of called endpoints (sensitive data processing unit 1-N 2125, sensitive data decoding unit 2124), key The storage unit 2123 and the sensitive data storage unit 2122 may be called.

또한, 본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법은 데이터 처리를 완료하고 처리 결과를 처리 결과 데이터에 저장할 수 있다(S2550),In addition, the sensitive data processing method in the sensitive data service gateway unit according to an embodiment of the present invention may complete data processing and store the processing result in the processing result data (S2550).

즉, 단계(S2550)는 처리가 끝난 민감 데이터의 처리 결과를 데이터 보호 메모리 영역 처리부(2129)에 처리결과 데이터로 저장할 수 있다.That is, in step S2550, the processing result of the processed sensitive data may be stored in the data protection memory area processing unit 2129 as processing result data.

또한, 본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법은 처리결과 데이터를 복사할 수 있다(S2560).In addition, the sensitive data processing method in the sensitive data service gateway unit according to an embodiment of the present invention may copy processing result data (S2560).

즉, 단계(S2560)는 처리결과 복사부(2127)를 통하여 데이터 비보호 메모리 영역 처리부(2128)의 처리결과 데이터로 복사할 수 있다.That is, in step S2560, the processing result data of the data unprotected memory area processing unit 2128 may be copied through the processing result copying unit 2127.

이 때, 단계(S2510) 내지 단계(S2550)에서는 상기 민감 데이터 서비스 게이트웨이부(2121)를 통해 상기 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역 처리부(2128)에 저장하고, 상기 데이터 비보호 메모리 영역 처리부(2128)에 저장된 민감 데이터의 서비스 인수를 데이터 보호 메모리 영역 처리부(2129)에 복사하여 저장하고, 상기 데이터 보호 메모리 영역 처리부(2129)에 저장된 민감 데이터의 서비스 인수를 이용하여 상기 민감 데이터를 처리할 수 있다.At this time, in steps S2510 to S2550, the service argument of the sensitive data is stored in the data unprotected memory area processing unit 2128 through the sensitive data service gateway unit 2121, and the data unprotected memory area processing unit ( The service factor of the sensitive data stored in 2128) is copied to the data protection memory area processing unit 2129 and stored, and the sensitive data can be processed using the service factor of the sensitive data stored in the data protection memory area processing unit 2129. have.

이 때, 단계(S2550) 내지 단계(S2570)에서는 상기 민감 데이터 서비스 게이트웨이부(2121)를 통해 상기 민감 데이터의 처리 결과를 상기 데이터 보호 메모리 영역 처리부(2129)에 저장하고, 상기 데이터 보호 메모리 영역 처리부(2129)에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 메모리 영역 처리부(2128)에 복사하여 저장하고, 상기 데이터 비보호 메모리 영역 처리부(2128)에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 영역 처리부(2110)에 전달할 수 있다.At this time, in steps (S2550) to (S2570), the processing result of the sensitive data is stored in the data protection memory area processing unit 2129 through the sensitive data service gateway unit 2121, and the data protection memory area processing unit The processing result of the sensitive data stored in (2129) is copied to the data non-protected memory area processing unit 2128 and stored, and the processing result of the sensitive data stored in the data non-protected memory area processing unit 2128 is transferred to the data non-protected area processing unit 2110. ).

도 26 및 도 27은 본 발명의 일실시예에 따른 통합 스토리지 관리 기능을 세부적으로 나타낸 블록도이다.26 and 27 are block diagrams showing in detail an integrated storage management function according to an embodiment of the present invention.

도 26 및 도 27을 참조하면, 글로벌 등록 저장소(GLOBAL REGISTRY)는 데이터 동작 쓰기 버퍼 또는 읽기 캐시(DATA OPERATION WRITE BUFFER OR READ CACHE)와 데이터 동작 메타데이터(DATA OPERATION METADATA)를 송수신할 수 있다.Referring to FIGS. 26 and 27, a GLOBAL REGISTRY may transmit and receive data operation write buffer or read cache (DATA OPERATION WRITE BUFFER OR READ CACHE) and data operation metadata (DATA OPERATION METADATA).

단일 가상 볼륨의 프로비전 및 가상 스토리지 풀(PROVISION OF SINGLE VIRTUAL AND VIRTUAL STORAGE POOL)은 가상 스토리지 풀 관리부(VIRTUAL STORAGE POOL MANAGEMENT)와 스토리지 동작 및 메타데이터(STORAGE OPERATION & METADATA)를 송수신할 수 있다.Provision of a single virtual volume and a virtual storage pool (PROVISION OF SINGLE VIRTUAL AND VIRTUAL STORAGE POOL) can transmit and receive a virtual storage pool management unit (VIRTUAL STORAGE POOL MANAGEMENT) and storage operation and metadata (STORAGE OPERATION & METADATA).

데이터 스토리지의 정책 관리 및 데이터 조작부(POLICY MANAGEMENT OF DATA STORAGE AND DATA MANIPULATION)는 데이터 동작 쓰기 버퍼 또는 읽기 캐시(DATA OPERATION WRITE BUFFER OR READ CACHE)와 데이터 조작을 위한 정책(POLICY FOR DATA MANIPULATION)을 송수신할 수 있다.The data storage policy management and data manipulation unit (POLICY MANAGEMENT OF DATA STORAGE AND DATA MANIPULATION) transmits and receives data operation write buffer or read cache (DATA OPERATION WRITE BUFFER OR READ CACHE) and data manipulation policy (POLICY FOR DATA MANIPULATION). I can.

데이터 스토리지의 정책 관리 및 데이터 조작부(POLICY MANAGEMENT OF DATA STORAGE AND DATA MANIPULATION)는 데이터 조작 강화부(ENHANCEMENT OF DATA MANIPULATION)와 강화 정책(POLICY FOR ENHANCEMENT)을 송수신할 수 있다The data storage policy management and data manipulation unit (POLICY MANAGEMENT OF DATA STORAGE AND DATA MANIPULATION) can transmit and receive the ENHANCEMENT OF DATA MANIPULATION and POLICY FOR ENHANCEMENT.

데이터 스토리지의 정책 관리 및 데이터 조작부(POLICY MANAGEMENT OF DATA STORAGE AND DATA MANIPULATION)는 스토리지 스트럭처링부(STORAGE STRUCTURING)와 계층 스토리지 정책(POLICY FOR STORAGE OF TIER)을 송수신할 수 있다. The data storage policy management and data manipulation unit (POLICY MANAGEMENT OF DATA STORAGE AND DATA MANIPULATION) can transmit and receive the storage structuring unit (STORAGE STRUCTURING) and the POLICY FOR STORAGE OF TIER.

또한, 본 발명의 일실시예에 따른 DSF 기능 요구사항은 다음과 같이 설명할 수 있다.In addition, DSF function requirements according to an embodiment of the present invention can be described as follows.

CSP:DMP(Cloud Service Provider:Data Manipulation Provider)는 시스템 장애로부터 CSC:CSU의 데이터 복구를 제공할 수 있다.CSP:DMP (Cloud Service Provider: Data Manipulation Provider) can provide CSC:CSU data recovery from system failure.

CSP:DMP는 사용 가능한 DSF 로컬 스토리지로 DSF 데이터 마이그레이션을 제공하여 스토리지 공간의 탄력성과 비용 효율성을 제공할 수 있다.CSP:DMP can provide DSF data migration to usable DSF local storage, providing storage space elasticity and cost efficiency.

CSP:DMP는 데이터 무결성을 확인하기 위해 데이터 조작에 대한 DSF 데이터의 유효성 검증을 제공할 수 있다.CSP:DMP can provide validation of DSF data for data manipulation to ensure data integrity.

CSP:DMP는 복제 된 DSF 데이터에 대한 CSC:CSU의 데이터 일관성을 제공할 수 있다.CSP:DMP can provide data consistency of CSC:CSU for replicated DSF data.

CSP:DMP는 CSC:CSU의 데이터 투명성을 지원할 수 있다.CSP:DMP can support the data transparency of CSC:CSU.

CSP:SFP(Cloud Service Provider:Storage Federation Provider)는 CSC:CSU의 목적에 따라 단일 가상 볼륨 최적화를 제공할 수 있다.CSP:SFP (Cloud Service Provider:Storage Federation Provider) can provide a single virtual volume optimization according to the purpose of CSC:CSU.

CSP:SFP는 고 가용성을 위해 글로벌 레지스트리 백업을 제공할 수 있다.CSP:SFP can provide global registry backup for high availability.

또한, 본 발명의 일실시예에 따른 데이터 조작부(120)는 데이터 조작을 위한 강화된 관리 기능을 제공할 수 있다.In addition, the data manipulation unit 120 according to an embodiment of the present invention may provide an enhanced management function for manipulating data.

강화된 관리 기능(ENHANCED MANAGEMENT)은 DSF 로컬 스토리지로 배포하기 위해 조각화를 복제할 수 있다.ENHANCED MANAGEMENT can replicate fragmentation for distribution to DSF local storage.

동일한 데이터를 사용하는 이러한 복제는 DSF 로컬 스토리지에 배포되며 고 가용성을 위해 다른 장소의 다른 서버와 공유될 수 있다.These replicas using the same data are deployed on DSF local storage and can be shared with other servers in different locations for high availability.

강화된 관리 기능은 복제와 원본 데이터간에 최신 데이터를 유지할 수 있다.Enhanced management functions can keep up-to-date data between duplicate and original data.

강화된 관리 기능은 DSF 로컬 스토리지 정보에 따라 복제 분배를 결정할 수 있다.The enhanced management function can determine the copy distribution according to the DSF local storage information.

예를 들어, DSF 로컬 스토리지의 정보에서 느린 스토리지는 복제 분배를 위해 DSF 로컬 스토리지에서 쉽게 제외될 수 있다.For example, in the information of DSF local storage, slow storage can be easily excluded from DSF local storage for distribution of replication.

강화된 관리 기능은 스냅 샷을 작성하여 DSF 로컬 스토리지를 백업할 수 있다.Enhanced management capabilities can backup DSF local storage by taking snapshots.

예를 들어, 스냅 샷은 데이터 사본을 신속하게 제공하기 위해 특정 시점의 데이터 정보를 나타낼 수 있다. 기록 중 복사 스냅 샷, 클론, 분할 미러 스냅 샷, 기록 중 재 지정 스냅 샷 등과 같은 여러 유형의 스냅 샷 기술이 사용될 ㅅ n있다.For example, a snapshot can represent data information at a specific point in time to quickly provide a copy of the data. Several types of snapshot techniques can be used, such as copy-on-write snapshots, clones, split mirror snapshots, and redirection-on-write snapshots.

강화된 관리 기능은 최신 스냅 샷으로 DSF 로컬 스토리지를 복구할 수 있다.Enhanced management capabilities can restore DSF local storage with the latest snapshots.

예를 들어, 강화된 관리 기능은 스냅 샷을 사용하면 백업 및 복구를 위해 데이터에 빠르고 쉽게 액세스 할 수 있다.For example, enhanced management capabilities enable quick and easy access to data for backup and recovery using snapshots.

강화된 관리 기능은 DSF 로컬 스토리지가 가득 찼거나 고장난 경우 DSF 로컬 스토리지를 마이그레이션할 수 있다.Enhanced management capabilities allow DSF local storage to be migrated if the DSF local storage is full or fails.

예를 들어, 마이그레이션은 기존 스토리지의 성능이 낮거나 용량이 부족하여 CSC의 요청에 따라 DSF 로컬 스토리지에서 제외할 수 있는 경우 기존 스토리지의 데이터를 새 스토리지로 이동하고 기존 스토리지 대신 새 스토리지에 액세스 할 수있다.For example, if migration can be excluded from DSF local storage at the request of CSC due to poor performance or insufficient capacity of the existing storage, the data from the existing storage can be moved to the new storage and the new storage can be accessed instead of the existing storage have.

강화된 관리 기능은 고 가용성을 위해 DSF 글로벌 레지스트리를 백업할 수 있다.Enhanced management capabilities can back up the DSF global registry for high availability.

예를 들어, 글로벌 레지스트리 백업은 보조 DSF 글로벌 레지스트리가 단일 가상 볼륨 및 가상 스토리지 풀을 제공하여 장애 조치를 수행할 수 있다.Global registry backups, for example, allow a secondary DSF global registry to provide a single virtual volume and virtual storage pool to perform failover.

강화된 관리 기능은 데이터 손실 방지를 위해 오류 정정 기능을 제공할 수 있다.Enhanced management functions can provide error correction to prevent data loss.

예를 들어, 오류 정정 기능은 CRC (Cyclic Redundancy Code), 체크섬, 암호화 해시 기능 또는 순방향 오류 정정 등과 같은 데이터 전송 중 데이터 손실을 방지하는 기술에 상응할 수 있다.For example, the error correction function may correspond to a technology that prevents data loss during data transmission, such as a Cyclic Redundancy Code (CRC), a checksum, a cryptographic hash function, or forward error correction.

강화된 관리 기능은 데이터 투명성을 위해 글로벌 레지스트리에서 최신 데이터 위치를 유지할 수 있다.Enhanced management capabilities can keep up-to-date data locations in the global registry for data transparency.

데이터 투명성이란 데이터의 위치와 보고된 데이터가 정확하고 공식 출처에서 온 것임에 관계없이 데이터에 액세스하고 작업 할 수 있는 능력에 상응할 수 있다.Data transparency can correspond to the location of the data and the ability to access and work with the data, regardless of the location of the data and the reported data being accurate and from an official source.

강화된 관리 기능은 데이터 보호를 위해 민감한 데이터를 처리하는 동안 데이터 유출을 방지할 수 있다.Enhanced management functions can prevent data leakage while handling sensitive data for data protection.

민감한 데이터는 재무 정보, 건강 정보, 개인 식별 데이터 등에 상응할 수 있다.Sensitive data can correspond to financial information, health information, personally identifiable data, etc.

이 때, 민감한 데이터는 상기에서 설명한 민감 데이터 처리 장치(2100)에 의해 처리될 수 있다.In this case, the sensitive data may be processed by the sensitive data processing apparatus 2100 described above.

민감 데이터 처리 장치(2100)는 데이터 보호 영역을 추가하고, 데이터 보호 영역에서 데이터를 처리하여 모든 I/O 인터페이스를 차단하여 외부 침입을 방지할 수 있다.The sensitive data processing apparatus 2100 may prevent external intrusion by adding a data protection area and processing data in the data protection area to block all I/O interfaces.

데이터 보호 영역은 보안 게이트웨이 또는 API를 사용하여 민감한 데이터를 보호 된 영역에 복사하고 암호화 된 민감한 데이터를 해독하며 CSC의 서비스 작업을 처리하고 결과를 반환하는 HW 또는 SW 구조에 상응할 수 있다.The data protection domain can correspond to a HW or SW structure that uses a security gateway or API to copy sensitive data to the protected area, decrypt the encrypted sensitive data, handle CSC's service operations, and return results.

강화된 관리 기능은 강화 정책을 적용할 수 있다.Reinforced management functions can apply reinforcement policies.

강화 정책에는 복제, 백업, 스냅 샷, 마이그레이션, 오류 수정, 데이터 보호 등이 포함될 수 있다.Reinforcement policies can include replication, backup, snapshot, migration, error correction, and data protection.

또한, 본 발명의 일실시예에 따른 DSF 배포를 위한 데이터 조각화 기능은 아래와 같은 기능을 제공할 수 있다.In addition, the data fragmentation function for DSF distribution according to an embodiment of the present invention may provide the following functions.

CSP:SFP는 스토리지 관리 메타 데이터에서 DSF 로컬 스토리지의 성능 정보를 제공할 수 있다.CSP:SFP can provide performance information of DSF local storage in storage management metadata.

CSP:SFP는 DSF 로컬 스토리지의 성능을 고려하여 가상 스토리지 풀 최적화를 제공할 수 있다.CSP:SFP can provide virtual storage pool optimization by considering the performance of DSF local storage.

배포를 위한 데이터 조각화 기능은 가상 스토리지 풀 관리에서 DSF 로컬 스토리지 및 조각화 크기의 정보를 수신할 수 있다.The data fragmentation function for deployment can receive DSF local storage and fragmentation size information from the virtual storage pool management.

DSF 로컬 스토리지 정보의 예는 자격 증명, 액세스 메커니즘, 엔드 포인트, 스토리지 성능 및 스토리지 용량을 포함할 수 있다.Examples of DSF local storage information may include credentials, access mechanisms, endpoints, storage capabilities, and storage capacity.

배포를 위한 데이터 조각화 기능은 최대 조각 크기를 설정할 수 있다.The data fragmentation function for distribution can set the maximum fragment size.

배포를 위한 데이터 조각화 기능은 데이터가 버퍼에 가득 차면 쓰기 버퍼에서 CSC의 데이터를 수집할 수 있다.The data fragmentation function for distribution can collect data from the CSC from the write buffer when the data fills the buffer.

최대 프래그먼트 크기는 스토리지의 I/O 대역폭, 스토리지 용량, 캐시 사용 등에 따라 결정될 수 있다. 조각 크기가 크면 DSF 로컬 스토리지로 대량 복사되고 조각 크기가 작으면 캐시 크기에 맞추기 어려울 수 있다.The maximum fragment size can be determined depending on the storage's I/O bandwidth, storage capacity, and cache usage. Large fragment sizes can be bulk copied to DSF local storage, and smaller fragment sizes can make it difficult to fit into the cache size.

배포를 위한 데이터 조각화 기능은 가상 스토리지 풀 관리에서 조각 크기를 검증할 수 있다.The data fragmentation function for deployment can verify the fragment size in virtual storage pool management.

배포를 위한 데이터 조각화 기능은 DSF 로컬 스토리지에 저장하기 위해 쓰기 버퍼에서 CSC의 데이터를 수신할 수 있다.The data fragmentation function for distribution can receive the data from the CSC in the write buffer for storage in the DSF local storage.

배포를 위한 데이터 조각화 기능은 캐시 미스가 발생한 경우, 요청된 CSC의 데이터를 DSF 로컬 스토리지에서 캐시로 전송할 수 있다.The data fragmentation function for distribution can transfer the requested CSC data from the DSF local storage to the cache when a cache miss occurs.

배포를 위한 데이터 조각화 기능은 조각화 정책을 검증하고 적용할 수 있다.The data fragmentation function for distribution can verify and apply fragmentation policies.

조각화 정책의 예는 조각화 크기, 조각화 수, 패리티 비트 수, 스토리지 당 조각화 수 등이 포함될 수 있다.Examples of fragmentation policies may include fragmentation size, number of fragmentation, number of parity bits, number of fragmentation per storage, and the like.

도 28은 본 발명의 일실시예에 따른 클라우드 인프라 시스템의 자동 계층화 구조를 나타낸 도면이다.28 is a diagram showing an automatic layering structure of a cloud infrastructure system according to an embodiment of the present invention.

도 28을 참조하면, 본 발명의 일실시예에 따른 클라우드 인프라 시스템의 자동 계층화 구조를 나타낸 것을 알 수 있다.Referring to FIG. 28, it can be seen that an automatic layering structure of a cloud infrastructure system according to an embodiment of the present invention is shown.

본 발명의 일실시예에 따른 클라우드 스토리지는 정책 기반 통합 스토리지 자동 계층화 기능을 수행할 수 있다.The cloud storage according to an embodiment of the present invention may perform a policy-based integrated storage automatic tiering function.

이 때, 본 발명의 일실시예에 따른 통합 스토리지 관리 장치(100)는 정책 기반 통합 스토리지 자동 계층화 기능을 수행할 수 있다.In this case, the integrated storage management apparatus 100 according to an embodiment of the present invention may perform a policy-based integrated storage automatic tiering function.

즉, 정책 기반 통합 스토리지 자동 계층화 기능을 수행하는 통합 스토리지 관리 장치(100)는 계층화 구조 지원 통합 스토리지 관리 장치에 상응할 수 있다.That is, the integrated storage management device 100 that performs the policy-based integrated storage automatic tiering function may correspond to an integrated storage management device supporting a layered structure.

도 2를 참조하면, 백엔드 스토리지 관리부(140)는 정책 기반 통합 스토리지 자동 계층화 기능을 수행할 수 있다.Referring to FIG. 2, the backend storage management unit 140 may perform a policy-based integrated storage automatic tiering function.

본 발명의 일실시예에 따른 계층화 구조 지원 통합 스토리지 관리 장치는 데이터를 다양한 스토리지 계층에 자동으로 분산 저장할 수 있다.The integrated storage management apparatus supporting a layered structure according to an embodiment of the present invention may automatically distribute and store data in various storage layers.

본 발명의 일실시예에 따른 CiS 운용 플랫폼인 계층화 구조 지원 통합 스토리지 관리 장치는 메인 메모리, SSD, NVME, HDD, SAS, iSCSI 스토리지, 오브젝트 스토리지, 퍼블릭 클라우드 스토리지 등 다양한 스토리지들을 관리할 수 있다.The integrated storage management device supporting a hierarchical structure, which is a CiS operating platform according to an embodiment of the present invention, can manage various storages such as main memory, SSD, NVME, HDD, SAS, iSCSI storage, object storage, and public cloud storage.

본 발명의 일실시예에 따른 통합 관리 스토리 장치(100)가 관리하는 스토리지들은 접근 속도 및 용량 등에서 상이한 특징을 가질 수 있다.Storage managed by the integrated management story device 100 according to an embodiment of the present invention may have different characteristics in terms of access speed and capacity.

예를 들어, 메인 메모리는 가장 높은 접근 속도를 제공하지만, 가장 적은 저장 용량을 제공할 수 있다.For example, main memory can provide the highest access speed, but the least storage capacity.

SSD, HDD, iSCSI 스토리지 및 퍼블릭 클라우드 스토리지는 기술한 순으로 접근 속도가 느려지지만 보다 많은 저장 용량을 제공할 수 있다.SSD, HDD, iSCSI storage and public cloud storage can provide more storage capacity, although the access speed is slower in the order described.

계층화 구조 지원 통합 스토리지 관리 장치는 상기 스토리지들의 특성을 기반으로 스토리지들을 계층화할 수 있다.Supporting a layered structure The integrated storage management device may layer storages based on characteristics of the storages.

이 때, 계층화 구조 지원 통합 스토리지 관리 장치는 초기 생성된 데이터를 고속의 스토리지에 저장하고, 데이터에 대한 접근 빈도가 낮아지면 하위 계층의 스토리지로 데이터를 이동시킬 수 있다.In this case, the integrated storage management device supporting a hierarchical structure may store the initially generated data in a high-speed storage, and when the frequency of access to the data decreases, the data may be moved to the storage of a lower layer.

이 때, 계층화 구조 지원 통합 스토리지 관리 장치는 데이터에 대한 접근이 종료되면 최종적으로 퍼블릭 클라우드 스토리지에 데이터를 저장할 수 있다.In this case, the integrated storage management device supporting the layered structure may finally store the data in the public cloud storage when access to the data is terminated.

이 때, 계층화 구조 지원 통합 스토리지 관리 장치는 데이터의 특성에 따라서 다양한 스토리지 계층 사이에서 데이터를 이동시킬 수 있다.In this case, the integrated storage management device supporting a layered structure may move data between various storage tiers according to the characteristics of the data.

이 때, 계층화 구조 지원 통합 스토리지 관리 장치가 관리하는 스토리지 계층은 성능 등급 계층(Performance Tier), 용량 등급 계층(Capacity Tier) 및 보관 등급 계층(Archiving Tier)을 포함할 수 있다.In this case, the storage layer managed by the integrated storage management device supporting the layered structure may include a performance tier, a capacity tier, and an archive tier.

이 때, 스토리지 계층은 정책에 기반하여 구성될 수 있다.In this case, the storage layer may be configured based on a policy.

도 28에 도시된 바와 같이, 성능 등급 계층은 백엔드(Backend) 단의 모든 메모리 혹은 플래시 스토리지(PCIe FLASH, SSD)를 포함할 수 있다.As shown in FIG. 28, the performance class layer may include all memories or flash storage (PCIe FLASH, SSD) of a backend stage.

용량 등급 계층은 복수개의 데이터 센터 혹은 로컬 스토리지에 데이터를 안전하게 저장하는 온프레미스 스토리지(HDD, SAN, ON-PREMISE DISK STORAGE, ON-PREMISE OBJECT STORAGE)을 포함할 수 있다. The capacity class tier may include on-premises storage (HDD, SAN, ON-PREMISE DISK STORAGE, ON-PREMISE OBJECT STORAGE) that securely stores data in multiple data centers or local storage.

보관 등급 계층은 데이터를 안전하게 보관하는 퍼블릭 클라우드 스토리지(PUBLIC CLOUDE STORAGE)을 포함할 수 있다.The storage class tier may include public cloud storage (PUBLIC CLOUDE STORAGE) that keeps data secure.

도 29는 본 발명의 일실시예에 따른 계층형 구조의 스토리지 별 종류를 나타낸 도면이다.29 is a diagram illustrating types of storage in a hierarchical structure according to an embodiment of the present invention.

도 29를 참조하면, 계층형 구조의 스토리지 별 종류를 나타낸 것을 알 수 있다.Referring to FIG. 29, it can be seen that the types of storage in a hierarchical structure are shown.

이 때, 계층화 구조 지원 통합 스토리지 관리 장치는 데이터 이동 또는 복제 기능을 이용하여 특정 데이터 볼륨에 대해 가능한 최상의 스토리지 계층을 자동으로 할당할 수 있다.In this case, the integrated storage management device supporting a layered structure may automatically allocate the best possible storage layer for a specific data volume by using a data movement or copy function.

이 때, 계층화 구조 지원 통합 스토리지 관리 장치는 스토리지 관리 성능을 높이기 위하여 다양한 기능을 수행하는 스토리지 타입을 할당하여 읽기/쓰기에 대한 계층적 구조로 접근할 수 있다. 할당된 스토리지 타입의 종류는 아래와 같다.In this case, the integrated storage management device supporting a hierarchical structure may access a hierarchical structure for read/write by allocating storage types that perform various functions in order to increase storage management performance. The types of allocated storage types are as follows.

위치 기반 스토리지(Location based Storage) 관리 전략은 데이터가 배치되는 정확한 위치를 저장할 수 있다.Location based storage management strategies can store the exact location where data is placed.

즉, 계층화 구조 지원 통합 스토리지 관리 장치는 데이터(실제 값)이 저장되는 스토리지의 정확한 위치를 각 주소의 메타 데이터에 저장할 수 있다.That is, the integrated storage management device supporting a hierarchical structure may store an exact location of a storage in which data (actual value) is stored in metadata of each address.

위치 기반 스토리지 관리 전략은 데이터가 자주 변경 되더라도 데이터의 정확한 위치를 알기 때문에 읽기 작업이 매우 빠르게 수행될 수 있다.The location-based storage management strategy knows the exact location of the data, even if the data changes frequently, so reads can be performed very quickly.

그러나, 위치 기반 스토리지는 히스토리가 없어 주소가 덮어 쓰기 되면 주소에 새 데이터의 위치가 포함되므로 이전 값의 위치가 손실될 수 있다.However, since the location-based storage has no history, if the address is overwritten, the location of the old value may be lost because the location of the new data is included in the address.

위치 기반 스토리지 관리 전략은 쓰기 캐쉬(WRITE CACHE)에서 관리될 수 있고, 성능 등급 계층(PERFORMANCE TIER)에 할당될 수 있다.The location-based storage management strategy can be managed in a write cache (WRITE CACHE), and can be allocated to a PERFORMANCE TIER.

시간 기반 스토리지(Time based Storage) 관리 전략은 데이터를 시간 정보를 이용하여 데이터를 기록한 시간을 식별할 수 있다.Time based storage management strategy can use time information to identify the time the data was recorded.

즉, 계층화 구조 지원 통합 스토리지 관리 장치는 모든 데이터 쓰기를 로그로 추가하여 기록을 저장하는 로그 유형 접근법을 시퀀스로 수행할 수 있다.In other words, the integrated storage management device supporting a hierarchical structure may perform a log-type approach in which all data writes are added as a log to store the records in sequence.

이 때, 계층화 구조 지원 통합 스토리지 관리 장치는 기록할 새 데이터가 있을 때마다 적절한 위치를 찾는 대신 로그 끝 부분에 시간 정보를 추가할 수 있다.In this case, the integrated storage management device supporting a hierarchical structure may add time information to the end of the log instead of finding an appropriate location whenever there is new data to be recorded.

시간 기반 스토리지 관리 전략은 볼륨의 모든 기록(모든 쓰기가 추가됨)을 항상 가지고 있으므로, 로그를 끝내고 새 로그 파일을 시작하여 스냅 샷을 구현할 수 있다.The time-based storage management strategy always has all the records of the volume (all writes are added), so you can implement a snapshot by ending the log and starting a new log file.

그러나, 시간 기반 스토리지 관리 전략은 일정시간 이후 데이터가 다른 로그 파일(스냅 샷)에 분산되므로 데이터 읽기 시간이 느려질 수 있다.However, in the time-based storage management strategy, data reading time may be slowed down because data is distributed to other log files (snapshots) after a certain period of time.

또한, 시간 기반 스토리지 관리 전략은 주소에 대해 작성된 최신 값을 찾으려면 주소가 작성된 마지막 시간을 식별하기 위해 마지막 로그 파일에서 첫 번째 로그 파일로 이동해야 한다.Also, a time-based storage management strategy requires moving from the last log file to the first log file to identify the last time the address was written to find the latest value written for an address.

또한, 시간 기반 스토리지 관리 전략은 추가 전략을 무기한 수행 할 수 없고, 보존 기간과 같이, 시간을 매우 오래 필요한 데이터 공간을 재생하려면 가비지 수집 프로세스를 사용할 수도 있다.In addition, time-based storage management strategies cannot perform additional strategies indefinitely, and garbage collection processes can also be used to reclaim data spaces that require very long time, such as retention periods.

시간 기반 스토리지 관리 전략은 스토리지 백엔드(STORAGE BACKEND)에서 관리될 수 있고, 용량 등급 계층(CAPACITY TIER) 및 보관 등급 계층(ARCHIVE TIER)에 할당될 수 있다.The time-based storage management strategy can be managed in the storage backend (STORAGE BACKEND) and can be assigned to the CAPACITY TIER and the ARCHIVE TIER.

컨텐츠 어드레서블 스토리지(Content Addressable Storage(CAS)) 전략은 각 쓰기에 식별자(예를 들면, 해시 값)를 표시할 수 있다.The Content Addressable Storage (CAS) strategy may indicate an identifier (eg, hash value) to each write.

계층화 구조 지원 통합 스토리지 관리 장치는 저장된 정보의 내용으로부터 해시 값을 계산할 수 있다.The integrated storage management device supporting a hierarchical structure may calculate a hash value from the contents of the stored information.

계층화 구조 지원 통합 스토리지 관리 장치는 해시 및 데이터를 '키 / 값'의 쌍으로 저장할 수 있다.An integrated storage management device supporting a hierarchical structure can store hashes and data as'key/value' pairs.

즉, 해시가 일치하면 해당 해시 키 뒤에 데이터가 존재하는 것을 의미할 수 있다.That is, if the hashes match, it may mean that data exists behind the corresponding hash key.

계층화 구조 지원 통합 스토리지 관리 장치는 해시를 이용하여 객체가 한 번만 저장되는지 확인할 수 있다.The integrated storage management device supporting a hierarchical structure can check whether an object is stored only once by using a hash.

따라서, 컨텐츠 어드레서블 스토리지 전략은 중복 제거 기능을 제공하는 스토리지 솔루션에서 주로 사용될 수 있다. 그러나, 컨텐츠 어드레서블 스토리지 전략은 쓰기 또는 많은 데이터를 효율적으로 저장하는 데 사용할 수 없으며 정렬 된 해시를 유지하는 데 약간의 오버헤드가 필요하므로 데이터가 자주 변경되지 않는 경우에만 사용할 수 있다. Therefore, the content addressable storage strategy can be mainly used in a storage solution that provides a deduplication function. However, a content-addressable storage strategy cannot be used to write or store a lot of data efficiently, and it requires some overhead to maintain an ordered hash, so it can only be used if the data does not change frequently.

컨텐츠 어드레서블 스토리지 전략은 읽기 캐쉬(READ CACHE)에서 관리될 수 있고, 성능 등급 계층(PERFORMANCE TIER)에 할당될 수 있다.The content addressable storage strategy may be managed in a read cache (READ CACHE), and may be allocated to a PERFORMANCE TIER.

계층화 구조 지원 통합 스토리지 관리 장치는 상기 스토리지 전략들의 장단점을 조합 하여 각 스토리지 별로 계층화 구조를 지원할 수 있다.Layered structure support The integrated storage management device may support a layered structure for each storage by combining the advantages and disadvantages of the storage strategies.

계층화 구조 지원 통합 스토리지 관리 장치는 시스템 내부의 SSD 또는 PCIe 플래시 카드를 사용하여 캐싱을 수행할 수 있다.The integrated storage management device supporting a layered structure can perform caching using an SSD or PCIe flash card inside the system.

계층화 구조 지원 통합 스토리지 관리 장치는 읽기 캐쉬, 쓰기 캐쉬, 스토리지 백엔드를 포함할 수 있다.The integrated storage management device supporting a layered structure may include a read cache, a write cache, and a storage backend.

읽기 캐시는 CAS(Content-addressable storage)로 구현되어 자주 사용하는 데이터에 대해 중복 제거 및 빠른 성능을 제공할 수 있다.The read cache is implemented as CAS (Content-addressable storage), so it can provide fast performance and deduplication for frequently used data.

쓰기 캐시는 위치 기반 스토리지(Location Based Storage)를 이용하여 구현될수 있다.The write cache may be implemented using Location Based Storage.

스토리지 백엔드는 특정 시간에 함께 발생한 쓰기를 집계하여 시간 기반 스토리지(Time Based Storage)를 이용하여 구현될 수 있다.The storage backend can be implemented using time-based storage by counting writes that occur together at a specific time.

시간 기반 스토리지 관리 전략은 제로 카피 스냅 샷, 복제 및 쉬운 복제와 같은 기능을 제공할 수 있다.Time-based storage management strategies can provide features such as zero-copy snapshots, cloning and easy cloning.

도 30은 본 발명의 일실시예에 따른 계층형 구조 지원 통합 스토리지 관리 장치를 나타낸 블록도이다. 도 31은 도 30에 도시된 백엔드 인터페이스 프록시부의 일 예를 세부적으로 나타낸 블록도이다.30 is a block diagram showing an integrated storage management apparatus supporting a hierarchical structure according to an embodiment of the present invention. FIG. 31 is a detailed block diagram illustrating an example of a backend interface proxy unit shown in FIG. 30.

도 30을 참조하면, 본 발명의 일실시예에 따른 계층형 구조 지원 통합 스토리지 관리 장치는 데이터 관리부(141), 백엔드 인터페이스 프록시부(142), 백엔드 관리부(143), 네임 스페이스 관리부(144), 로컬 백엔드 인터페이스 관리부(145), 글로벌 백엔드 인터페이스 관리부(146)을 포함한다.Referring to FIG. 30, the integrated storage management device supporting a hierarchical structure according to an embodiment of the present invention includes a data management unit 141, a backend interface proxy unit 142, a backend management unit 143, a name space management unit 144, A local backend interface management unit 145 and a global backend interface management unit 146 are included.

이 때, 계층형 구조 지원 통합 스토리지 관리 장치의 상기 구성 요소들은 도 2에도시된 통합 스토리지 관리 장치(100)의 백엔드 스토리지 관리부(140)에 포함될 수 있다.In this case, the components of the integrated storage management device supporting a hierarchical structure may be included in the backend storage management unit 140 of the integrated storage management device 100 illustrated in FIG. 2.

본 발명의 일실시예에 따른 통합 스토리지 관리 장치(100)와 같은 CiS 운용 플랫폼은 백엔드 스토리지 관리부(140)를 통해 이기종의 스토리지 장치 통합 및 성능 혹은 확장성에 따른 데이터 운용 탄력성을 제공하기 위한 백엔드 스토리지 인터페이스 기능을 제공할 수 있다.CiS operation platform such as the integrated storage management device 100 according to an embodiment of the present invention is a back-end storage interface for integrating heterogeneous storage devices through the back-end storage management unit 140 and providing data operation elasticity according to performance or scalability. Function can be provided.

백엔드 인터페이스 프록시부(142)는 데이터 관리부(141)에 다양한 스토리지들을 가상의 단일 형상의 스토리지로 제공하기 위해 이종 스토리지들의 인터페이스를 지원할 수 있다.The backend interface proxy unit 142 may support interfaces of heterogeneous storages to provide various storages to the data management unit 141 as a single virtual storage.

백엔드 인터페이스 프록시부(142)는 구성된 백엔드 스토리지들을 데이터 관리부(141)의 데이터 관리 계층과 연결하고, 데이터 관리 계층에 의해 전달된 데이터를 백엔드 스토리지의 저장 형태에 따라 저장하기 위한 프록시를 구현할 수 있다.The backend interface proxy unit 142 may implement a proxy for connecting the configured backend storage units with the data management layer of the data management unit 141 and storing data delivered by the data management layer according to the storage type of the backend storage.

백엔드 인터페이스 프록시부(142)는 사용자의 스토리지로부터 백엔드로 연결되는 스토리지 라우터 기능을 함께 수행하고, 볼륨 드라이버에서 오는 데이터 객체를 백엔드로 저장하는 기능을 수행할 수 있다.The backend interface proxy unit 142 may perform a function of a storage router connected from the user's storage to the backend, and may perform a function of storing a data object coming from a volume driver as a backend.

백엔드 인터페이스 프록시부(142)는 풀로 등록된 스토리지 하나당 하나의 프록시가 존재하도록 스토리지들을 관리할 수 있다.The backend interface proxy unit 142 may manage storages such that one proxy exists for each storage registered as a pool.

백엔드 인터페이스 프록시부(142)는 로컬 스토리지 백엔드와 글로벌 스토리지 백엔드를 연결할 수 있다.The backend interface proxy unit 142 may connect a local storage backend and a global storage backend.

로컬 스토리지 백엔드(Local Storage Backend)는 싱글 노드 및 클러스터 노드에 존재하는 온프레미스 스토리지 장치를 포함할 수 있다.The local storage backend may include on-premises storage devices that exist in single nodes and cluster nodes.

글로벌 스토리지 백엔드(Global Storage Backend)는 퍼블릭 또는 프라이빗 클라우드 기반 스토리지 서비스를 포함할 수 있다.The Global Storage Backend may include public or private cloud-based storage services.

로컬 백엔드 인터페이스 관리부(145)는 로컬 스토리지 백엔드에 대하여 연결 방법 및 읽기/쓰기 기능을 수행할 수 있다.The local backend interface manager 145 may perform a connection method and a read/write function for a local storage backend.

이 때, 로컬 백엔드 인터페이스 관리부(145)는 읽기/쓰기 기능을 수행한 결과를 최종 스토리지 단에 저장할 수 있다.In this case, the local backend interface management unit 145 may store the result of performing the read/write function in the final storage stage.

글로벌 백엔드 인터페이스 관리부(146)는 글로벌 스토리지 백엔드에 대하여 연결 방법 및 읽기/쓰기 기능을 수행할 수 있다.The global backend interface manager 146 may perform a connection method and a read/write function for a global storage backend.

이 때, 글로벌 백엔드 인터페이스 관리부(146)는 읽기/쓰기 기능을 수행한 결과를 최종 스토리지 단에 저장할 수 있다.In this case, the global backend interface management unit 146 may store the result of performing the read/write function in the final storage stage.

글로벌 스토리지 백엔드는 로컬 스토리지 백엔드와 달리 시스템 노드에 저장소가 존재하는 것이 아니라 클라우드 저장소 서비스 접속을 통해 프라이빗 또는 퍼블릭 기반의 클라우드 스토리지 내에 사용자 전용 저장소가 존재할 수 있다.Unlike the local storage backend, the global storage backend does not have a storage in the system node, but a user-only storage in a private or public-based cloud storage through access to a cloud storage service.

따라서, 글로벌 백엔드 인터페이스 관리부(146)는 클라우드 저장소 서비스의 접속 정보를 관리할 수 있다.Accordingly, the global backend interface management unit 146 may manage access information of the cloud storage service.

도 31을 참조하면, 백엔드 인터페이스 프록시부(142)는 백엔드 연결 관리부(142a)를 포함할 수 있다.Referring to FIG. 31, the backend interface proxy unit 142 may include a backend connection management unit 142a.

백엔드 연결 관리부(142a)는 가비지 콜랙터(Garbage Collector), 커낵션 풀(Connection Pool), 락 매니저(Lock Manager), 파샬 리드 커넥터(Partial Read Counter) 및 커넥션 딜리터(Connection Deleter)를 포함할 수 있다.The backend connection management unit 142a may include a garbage collector, a connection pool, a lock manager, a partial read counter, and a connection deleter. have.

가비지 콜렉터는 시스템 상의 에러가 발생된 내용을 처리하고 수정할 수 있다.The Garbage Collector can handle and correct system errors.

스토리지 풀은 접속을 위한 인터페이스를 제공할 수 있다.Storage pools can provide an interface for access.

락 매니저는 시스템 상의 락킹(Locking) 메커니즘을 제공할 수 있다.The lock manager can provide a locking mechanism on the system.

파샬 리드 커넥터는 시스템상의 파샬 리드(Partial Read) 명령어를 수행할 수 있다.The partial read connector can execute a partial read command on the system.

커넥션 딜리터(Connection Deleter)는 시스템 상의 백엔드 연결 제거 기능을 수행할 수 있다.The Connection Deleter can perform a function of removing backend connections on the system.

도 32는 본 발명의 일실시예에 따른 계층형 구조 지원 통합 스토리지 관리 장치의 동작 환경을 나타낸 도면이다.32 is a diagram illustrating an operating environment of an integrated storage management apparatus supporting a hierarchical structure according to an embodiment of the present invention.

도 32를 참조하면, CiS와 연결된 퍼블릭 클라우드, 원격시스템과 CiS가 구동되는 온프레미스 환경에서, 애플리케이션이 데이터를 활용하기 위한 클라우드 데이터 접근 기능을 나타낸다.Referring to FIG. 32, it shows a cloud data access function for an application to utilize data in a public cloud connected to CiS, a remote system, and an on-premises environment in which CiS is driven.

CiS 운용 플랫폼은 외부 클라우드 컴퓨팅 자원에 CiS를 통해 저장된 데이터를 보안성이 보장된 상태로 애플리케이션을 통해 수행할 수 있는 기능을 제공할 수 있다. 이 때, 수행되는 애플리케이션은 CiS 시스템과 연동될 수 있다. 이를 통해, 사용자의 데이터 노출에 대한 위험을 줄이고, 퍼블릭 클라우드의 컴퓨팅 자원 활용을 활성화할 수 있다.The CiS operation platform can provide a function to perform data stored through CiS in external cloud computing resources through an application with guaranteed security. At this time, the executed application may be interlocked with the CiS system. Through this, it is possible to reduce the risk of users' data exposure and activate the use of computing resources in the public cloud.

CiS 운용 플랫폼은 원격 퍼블릭 클라우드 스토리지에 저장된 데이터를 온프레미스 스토리지로 공유할 수 있고, 스토리지 페일시 스토리지의 교체 혹은 새로운 스토리지를 추가하여 스토리지를 리스토어 할 수 있다.The CiS operating platform can share data stored in remote public cloud storage to on-premises storage, and when storage fails, storage can be restored by replacing storage or adding new storage.

사용자는 CiS가 실행되는 온프레미스 환경의 애플리케이션을 통해, 본 발명의 일실시예에 따른 계층형 구조 지원 통합 스토리지 관리 장치는 데이터 특성에 따라 데이터를 온프레미스 스토리지 및 퍼블릭 클라우드 스토리지에 저장할 수 있다.The user can store data in on-premises storage and public cloud storage according to data characteristics through an application in an on-premises environment in which CiS is executed, according to an embodiment of the present invention.

이 때, 계층형 구조 지원 통합 스토리지 관리 장치는 데이터에 대한 보안성을 보장하기 위해 메타데이터 분리 저장, 데이터 통신 보호 및 데이터 암호화를 수행할 수 있다.In this case, the integrated storage management device supporting a hierarchical structure may separately store metadata, protect data communication, and encrypt data to ensure security for data.

계층형 구조 지원 통합 스토리지 관리 장치는 암호화된 데이터와 메타 데이터를 퍼블릭 클라우드 스토리지와 온프레미스 스토리지에 분리하여 저장하는 메타 데이터 분리 저장은 메타데이터 분리 저장을 수행할 수 있다.The integrated storage management device supporting a hierarchical structure may perform separate storage of metadata separately for storing encrypted data and metadata separately in public cloud storage and on-premises storage.

메타데이터는 암호화 키 및 데이터에 관한 정보를 포함할 수 있다.The metadata may include information about the encryption key and data.

계층형 구조 지원 통합 스토리지 관리 장치는 암호화된 데이터가 퍼블릭 클라우드 스토리지에 저장하고, 암호화된 데이터와 관련된 메타 데이터를 온프레미스 스토리지에 저장할 수 있다.The integrated storage management device supporting a hierarchical structure can store encrypted data in public cloud storage and store metadata related to the encrypted data in on-premises storage.

즉, 본 발명의 일실시예에 따른 계층형 구조 지원 통합 스토리지 관리 장치는 데이터의 특성에 따라 암호화된 데이터는 퍼블릭 클라우드 스토리지에 저장하고, 상기 암호화된 데이터와 관련된 메타데이터를 온프레미스 스토리지에 저장할 수 있다.That is, the integrated storage management device supporting a hierarchical structure according to an embodiment of the present invention can store encrypted data according to the characteristics of the data in public cloud storage, and store metadata related to the encrypted data in the on-premises storage. have.

계층형 구조 지원 통합 스토리지 관리 장치는 데이터를 이분화하여 저장함으로써 데이터 유출의 위험을 줄일 수 있다.An integrated storage management device supporting a hierarchical structure can reduce the risk of data leakage by dividing and storing data.

데이터 통신 보호는 온프레미스 스토리지와 퍼블릭 클라우드 스토리지 간의 통신 시, SSL/TLS 기반의 암호화를 통해 고신뢰 데이터 전송을 보장할 수 있다. 데이터 암호화는 백엔드 스토리지에 저장되는 데이터에 대한 암호화를 위해 AES 3종(128, 192, 256)형태를 제공할 수 있다.Data communication protection can ensure high-reliability data transmission through SSL/TLS-based encryption when communicating between on-premises storage and public cloud storage. Data encryption can provide three types of AES (128, 192, 256) for encryption of data stored in back-end storage.

계층형 구조 지원 통합 스토리지 관리 장치는 기정의한 형태로 퍼블릭 클라우드 스토리지에 암호화 및 저장하기 때문에, 퍼블릭 클라우드 스토리지 상의 애플리케이션이 해당 데이터를 사용하여 서비스를 제공할 수 없다.Since the integrated storage management device supporting a hierarchical structure encrypts and stores in public cloud storage in a predefined format, applications on the public cloud storage cannot provide services using the data.

이를 해결하기 위해, 퍼블릭 클라우드는 계층형 구조 지원 통합 스토리지 관리 장치와 연결된 가상 CiS 어플라이언스를 구동할 수 있다.To solve this problem, the public cloud can run a virtual CiS appliance connected to an integrated storage management device supporting a hierarchical structure.

가상 CiS 어플라이언스는 온프레미스 상의 CiS 시스템과 클러스터링을 통한 Master-Slave 구조로 동작할 수 있고, 백엔드 스토리지의 데이터 접근을 위한 절차를 동일하게 수행할 수 있다.The virtual CiS appliance can operate as a master-slave structure through clustering with an on-premises CiS system, and can perform the same procedure for accessing data from backend storage.

퍼블릭 클라우드는 CiS와 연동 가능한 애플리케이션이라면, CiS에 의해 저장된 데이터를 활용하여 응용 서비스를 제공할 수 있다.If the public cloud is an application capable of interworking with CiS, it can provide application services by using data stored by CiS.

이 때, 퍼블릭 클라우드는 계층형 구조 지원 통합 스토리지 관리 장치와 연동 가능한 애플리케이션을 이라면, 계층형 구조 지원 통합 스토리지 관리 장치에 의해 저장된 데이터를 활용하여 응용 서비스를 제공할 수 있다.In this case, if the public cloud is an application capable of interworking with an integrated storage management device supporting a hierarchical structure, an application service may be provided by using data stored by an integrated storage management device supporting a hierarchical structure.

이와 반대로, CiS에 연동되지 않는 애플리케이션을 제공하는 퍼블릭 클라우드 및 원격시스템은 CiS를 통해 저장된 데이터 형식 및 구조에 접근할 수 없으므로 애플리케이션 수준에서 백엔드에 저장된 데이터에 대한 응용 서비스 제공이 제한될 수 있다.On the contrary, public cloud and remote systems that provide applications that are not linked to CiS cannot access the data format and structure stored through CiS, so application services for data stored in the backend may be limited at the application level.

도 33은 본 발명의 일실시예에 따른 계층형 구조 지원 통합 스토리지 관리 방법을 나타낸 동작흐름도이다.33 is an operation flow diagram illustrating a method for managing integrated storage supporting a hierarchical structure according to an embodiment of the present invention.

도 33을 참조하면, 본 발명의 일실시예에 따른 계층형 구조 지원 통합 스토리지 관리 방법은 먼저 스토리지들을 계층화할 수 있다(S510).Referring to FIG. 33, in the integrated storage management method supporting a hierarchical structure according to an embodiment of the present invention, storages may be firstly layered (S510).

즉, 단계(S510)는 퍼블릭 클라우드 스토리지 및 온프레미스 스토리지에 포함된 스토리지들을 스토리지 특성에 따라 계층화할 수 있다.That is, in step S510, storages included in the public cloud storage and the on-premises storage may be layered according to storage characteristics.

이 때, 단계(S510)는 스토리지들을 성능 등급 계층, 용량 등급 계층 및 보관 등급 계층으로 분류하여 관리할 수 있다.In this case, in step S510, the storages may be classified and managed into a performance class layer, a capacity class layer, and a storage class layer.

이 때, 단계(S510)는 메모리 및 플래시 스토리지를 성능 등급 계층에서 관리할 수 있다.In this case, in step S510, memory and flash storage may be managed in a performance level layer.

이 때, 단계(S510)는 온프레미스 스토리지를 용량 등급 계층에서 관리할 수 있다.In this case, in step S510, the on-premises storage may be managed in a capacity class layer.

이 때, 단계(S510)는 퍼블릭 클라우드 스토리지를 보관 등급 계층에서 관리할 수 있다.In this case, in step S510, the public cloud storage may be managed in the storage level layer.

본 발명의 일실시예에 따른 계층형 구조 지원 통합 스토리지 관리 방법은 스토리지 특성에 따라 데이터를 저장할 수 있다(S520).In the integrated storage management method supporting a hierarchical structure according to an embodiment of the present invention, data may be stored according to storage characteristics (S520).

즉, 단계(S520)는 상기 스토리지 특성에 따라 계층화된 스토리지들에 데이터를 저장할 수 있다.That is, in step S520, data may be stored in hierarchical storages according to the storage characteristics.

이 때, 단계(S520)는 읽기 캐쉬 및 쓰기 캐쉬를 이용하여 성능 등급 계층의 스토리지에서 관리되는 데이터를 저장할 수 있다.In this case, in step S520, data managed in the storage of the performance level layer may be stored using the read cache and the write cache.

이 때, 단계(S520)는 쓰기 캐쉬를 이용하여 저장된 데이터의 위치를 메타데이터로 저장할 수 있다.In this case, in step S520, the location of the stored data using the write cache may be stored as metadata.

이 때, 단계(S520)는 읽기 캐쉬를 이용하여 저장된 데이터의 해시 값을 계산하고, 상기 데이터와 상기 해시 값을 쌍으로 저장할 수 있다.In this case, in step S520, a hash value of the stored data may be calculated using a read cache, and the data and the hash value may be stored in pairs.

이 때, 단계(S520)는 용량 등급 계층 및 보관 등급 계층의 스토리지에서 관리되는 데이터를 기록한 시간을 식별하고, 상기 시간에 따라 로그를 기록할 수 있다.In this case, in step S520, a time at which data managed in the storage of the capacity class layer and the storage class layer is recorded may be identified, and a log may be recorded according to the time.

이 때, 단계(S520)는 상기 로그 끝 부분에 상기 시간에 관한 정보를 추가할 수 있다.In this case, in step S520, information about the time may be added to the end of the log.

본 발명의 일실시예에 따른 계층형 구조 지원 통합 스토리지 관리 방법은 데이터 특성에 따라 데이터를 저장할 수 있다(S530).The integrated storage management method supporting a hierarchical structure according to an embodiment of the present invention may store data according to data characteristics (S530).

즉, 단계(S530)는 상기 데이터의 특성에 따라 계층화된 스토리지들에 데이터를 저장할 수 있다.That is, in step S530, data may be stored in hierarchical storages according to the characteristics of the data.

이 때, 단계(S530)는 메타데이터 분리 저장, 데이터 통신 보호 및 데이터 암호화를 수행할 수 있다.At this time, step S530 may perform separate storage of metadata, data communication protection, and data encryption.

이 때, 단계(S530)는 데이터 특성에 따라 암호화된 데이터를 퍼블릭 클라우드 스토리지에 저장하고 상기 암호화된 데이터와 관련된 메타데이터를 온프레미스 스토리지에 분리하여 저장할 수 있다.In this case, in step S530, encrypted data according to data characteristics may be stored in public cloud storage, and metadata related to the encrypted data may be separated and stored in on-premises storage.

이 때, 단계(S530)는 온프레미스 스토리지와 퍼블릭 클라우드 스토리지 간의 통신 시, SSL/TLS 기반의 암호화를 통해 고신뢰 데이터 전송을 보장할 수 있다. 데이터 암호화는 백엔드 스토리지에 저장되는 데이터에 대한 암호화를 위해 AES 3종(128, 192, 256)형태를 제공할 수 있다.In this case, in step S530, when communication between the on-premises storage and the public cloud storage, high-reliability data transmission may be ensured through SSL/TLS-based encryption. Data encryption can provide three types of AES (128, 192, 256) for encryption of data stored in back-end storage.

이 때, 단계(S530)는 퍼블릭 클라우드 스토리지가, 가상 어플라이언스를 이용하여 온프레미스 스토리지의 데이터에 접근하여 응용 서비스를 제공할 수 잇다.In this case, in step S530, the public cloud storage may provide an application service by accessing data in the on-premises storage using a virtual appliance.

도 13을 참조하면, 본 발명의 일실시예에 따른 계층형 구조 지원 통합 스토리지 관리 장치는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1100)에서 구현될 수 있다. 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 인터페이스 입력 장치(1140), 사용자 인터페이스 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.Referring to FIG. 13, an integrated storage management apparatus supporting a hierarchical structure according to an embodiment of the present invention may be implemented in a computer system 1100 such as a computer-readable recording medium. The computer system 1100 includes one or more processors 1110, a memory 1130, a user interface input device 1140, a user interface output device 1150, and a storage 1160 in communication with each other through a bus 1120. I can. Further, the computer system 1100 may further include a network interface 1170 connected to the network 1180. The processor 1110 may be a central processing unit or a semiconductor device that executes processing instructions stored in the memory 1130 or the storage 1160. The memory 1130 and the storage 1160 may be various types of volatile or nonvolatile storage media. For example, the memory may include a ROM 1131 or a RAM 1132.

본 발명의 일실시예에 따른 계층형 구조 지원 통합 스토리지 관리 장치는 하나 이상의 프로세서(1110) 및 상기 하나 이상의 프로세서(1110)에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리(1130)를 포함하고, 상기 적어도 하나 이상의 프로그램은 퍼블릭 클라우드 스토리지 및 온프레미스 스토리지에 포함된 스토리지들을 스토리지 특성에 따라 계층화하고, 상기 스토리지 특성에 따라 계층화된 스토리지들에 데이터를 저장하고, 상기 데이터의 특성에 따라 계층화된 스토리지들에 데이터를 저장할 수 있다.An integrated storage management apparatus supporting a hierarchical structure according to an embodiment of the present invention includes one or more processors 1110 and an execution memory 1130 for storing at least one program executed by the one or more processors 1110, and , The at least one program layered storages included in public cloud storage and on-premises storage according to storage characteristics, stores data in tiered storages according to the storage characteristics, and layered storage according to the characteristics of the data Data can be stored in the field.

이 때, 상기 적어도 하나 이상의 프로그램은 스토리지들을 성능 등급 계층, 용량 등급 계층 및 보관 등급 계층으로 분류하여 관리할 수 있다.In this case, the at least one program may classify and manage the storages into a performance class tier, a capacity class tier, and a storage class tier.

이 때, 상기 적어도 하나 이상의 프로그램은 메모리 및 플래시 스토리지를 성능 등급 계층에서 관리할 수 있다.In this case, the at least one program may manage memory and flash storage in a performance level layer.

이 때, 상기 적어도 하나 이상의 프로그램은 온프레미스 스토리지를 용량 등급 계층에서 관리할 수 있다.In this case, the at least one program may manage on-premises storage in a capacity class layer.

이 때, 상기 적어도 하나 이상의 프로그램은 퍼블릭 클라우드 스토리지를 보관 등급 계층에서 관리할 수 있다.In this case, the at least one program may manage public cloud storage in a storage level layer.

이 때, 상기 적어도 하나 이상의 프로그램은 읽기 캐쉬 및 쓰기 캐쉬를 이용하여 성능 등급 계층의 스토리지에서 관리되는 데이터를 저장할 수 있다.In this case, the at least one program may use a read cache and a write cache to store data managed in a storage of a performance level layer.

이 때, 상기 적어도 하나 이상의 프로그램은 쓰기 캐쉬를 이용하여 저장된 데이터의 위치를 메타데이터로 저장할 수 있다.In this case, the at least one program may store the location of the stored data as metadata using a write cache.

이 때, 상기 적어도 하나 이상의 프로그램은 읽기 캐쉬를 이용하여 저장된 데이터의 해시 값을 계산하고, 상기 데이터와 상기 해시 값을 쌍으로 저장할 수 있다.In this case, the at least one program may calculate a hash value of stored data using a read cache, and store the data and the hash value in pairs.

이 때, 상기 적어도 하나 이상의 프로그램은 용량 등급 계층 및 보관 등급 계층의 스토리지에서 관리되는 데이터를 기록한 시간을 식별하고, 상기 시간에 따라 로그를 기록할 수 있다.In this case, the at least one program may identify a time at which data managed in the storage of the capacity class layer and the storage class layer is recorded, and record a log according to the time.

이 때, 상기 적어도 하나 이상의 프로그램은 상기 로그 끝 부분에 상기 시간에 관한 정보를 추가할 수 있다.In this case, the at least one program may add information about the time to the end of the log.

이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터의 특성에 따라 계층화된 스토리지들에 데이터를 저장할 수 있다.In this case, the at least one program may store data in hierarchical storages according to the characteristics of the data.

이 때, 상기 적어도 하나 이상의 프로그램은 메타데이터 분리 저장, 데이터 통신 보호 및 데이터 암호화를 수행할 수 있다.In this case, the at least one program may separately store metadata, protect data communication, and encrypt data.

이 때, 상기 적어도 하나 이상의 프로그램은 데이터 특성에 따라 암호화된 데이터를 퍼블릭 클라우드 스토리지에 저장하고 상기 암호화된 데이터와 관련된 메타데이터를 온프레미스 스토리지에 분리하여 저장할 수 있다.In this case, the at least one program may store encrypted data according to data characteristics in public cloud storage, and separate and store metadata related to the encrypted data in on-premises storage.

이 때, 상기 적어도 하나 이상의 프로그램은 온프레미스 스토리지와 퍼블릭 클라우드 스토리지 간의 통신 시, SSL/TLS 기반의 암호화를 통해 고신뢰 데이터 전송을 보장할 수 있다. 데이터 암호화는 백엔드 스토리지에 저장되는 데이터에 대한 암호화를 위해 AES 3종(128, 192, 256)형태를 제공할 수 있다.In this case, the at least one program may guarantee high-reliability data transmission through SSL/TLS-based encryption when communicating between the on-premises storage and the public cloud storage. Data encryption can provide three types of AES (128, 192, 256) for encryption of data stored in back-end storage.

이 때, 상기 적어도 하나 이상의 프로그램은 퍼블릭 클라우드 스토리지가, 가상 어플라이언스를 이용하여 온프레미스 스토리지의 데이터에 접근하여 응용 서비스를 제공할 수 잇다.In this case, the public cloud storage may provide an application service by accessing the data of the on-premises storage using a virtual appliance in the at least one or more programs.

이상에서와 같이 본 발명의 일실시예에 따른 계층형 구조 지원 통합 스토리지 관리 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.As described above, the apparatus and method for managing a hierarchical structure supporting an integrated storage according to an embodiment of the present invention are not limited to the configuration and method of the embodiments described as described above, but the embodiments are variously modified. All or part of each of the embodiments may be selectively combined and configured so that this can be achieved.

10: 사용자 클라이언트 장치 20: 통합 스토리지
21: 클라우드 스토리지 22: 논-클라우드 스토리지
100: 통합 스토리지 관리 장치 110: 스토리지 연결부
111: 가상 블록 디바이스 서비스 엔진
112: 파일 시스템 서비스 엔진
113: 오브젝트 스토리지 서비스 엔진
120: 데이터 조작부 121: 인 메모리 네임 스페이스 블록
122: 읽기 캐쉬부 122a: 데이터 디듀플리케이션 엔진
123: 쓰기 캐쉬부 123a: 데이터 트랜잭션 로그부
124: 인 메모리 디듀플리케이션 엔진
125: 인 메모리 데이터 컴프레션 엔진
130: 데이터 분산 및 저장부 131: 데이터 컴플레션 블록
132: 데이터 분산 블록
140: 백엔드 스토리지 관리부 150: 프로비저닝 및 정책 관리부
141: 데이터 관리부 142: 백엔드 인터페이스 프록시부
143: 백엔드 관리부 144: 네임 스페이스 관리부
145: 로컬 백엔드 인터페이스 관리부
146: 글로벌 백엔드 인터페이스 관리부
1100: 컴퓨터 시스템 1110: 프로세서
1120: 버스 1130: 메모리
1131: 롬 1132: 램
1140: 사용자 인터페이스 입력 장치
1150: 사용자 인터페이스 출력 장치
1160: 스토리지 1170: 네트워크 인터페이스
1180: 네트워크
2010: 클라이언트 장치 2100: 민감 데이터 처리 장치
2110: 데이터 비보호 영역 처리부
2111: 민감 데이터 전달부 2112: 키전달부
2113: 민감 데이터 서비스 호출부 2114: 클라이언트 서비스 API부
2120: 데이터 보호 영역 처리부
2121: 민감 데이터 서비스 게이트웨이부
3211: 민감 데이터 저장 엔드포인트
3212: 키저장 엔드포인트 3213: 민감 데이터 서비스 엔드포인트
3214: 민감 데이터 처리 실행부
2122: 민감 데이터 저장부 2123: 키저장부
2123a: 태그-키 저장부 2124: 민감 데이터 복호화부
2125: 민감 데이터 처리부 2126: 서비스 인수 복사부
2127: 처리 결과 복사부
2128: 데이터 비보호 메모리 영역 처리부
2129: 데이터 보호 메모리 영역 처리부
2200: 클라우드 통합 스토리지 장치
2210: 암호화부 2220: 키저장부
2230: 온프레미스 스토리지 2240: 클라우드 스토리지
10: user client device 20: unified storage
21: cloud storage 22: non-cloud storage
100: integrated storage management device 110: storage connection
111: virtual block device service engine
112: File system service engine
113: Object storage service engine
120: data manipulation unit 121: in-memory namespace block
122: read cache unit 122a: data deduplication engine
123: write cache unit 123a: data transaction log unit
124: In-memory deduplication engine
125: in-memory data compression engine
130: data distribution and storage unit 131: data compression block
132: data distribution block
140: backend storage management unit 150: provisioning and policy management unit
141: data management unit 142: backend interface proxy unit
143: backend management unit 144: namespace management unit
145: local backend interface management unit
146: Global backend interface management unit
1100: computer system 1110: processor
1120: bus 1130: memory
1131: ROM 1132: RAM
1140: user interface input device
1150: user interface output device
1160: storage 1170: network interface
1180: network
2010: client device 2100: sensitive data processing device
2110: data unprotected area processing unit
2111: sensitive data transmission unit 2112: key transmission unit
2113: sensitive data service calling unit 2114: client service API unit
2120: data protection area processing unit
2121: sensitive data service gateway unit
3211: Sensitive data storage endpoint
3212: Keystore endpoint 3213: Sensitive data service endpoint
3214: Sensitive data processing execution unit
2122: sensitive data storage unit 2123: key storage unit
2123a: tag-key storage unit 2124: sensitive data decryption unit
2125: sensitive data processing unit 2126: service argument copy unit
2127: processing result copy unit
2128: data unprotected memory area processing unit
2129: data protection memory area processing unit
2200: cloud unified storage device
2210: encryption unit 2220: key storage unit
2230: on-premises storage 2240: cloud storage

Claims (20)

하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리;
를 포함하고,
상기 적어도 하나 이상의 프로그램은
퍼블릭 클라우드 스토리지 및 온프레미스 스토리지에 포함된 스토리지들을 스토리지 특성에 따라 계층화하고,
상기 스토리지 특성에 따라 계층화된 스토리지들에 데이터를 저장하고,
상기 데이터의 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 것을 특징으로 하는 계층형 구조 지원 통합 스토리지 관리 장치.
One or more processors; And
An execution memory storing at least one program executed by the one or more processors;
Including,
The at least one program is
Tiering storage included in public cloud storage and on-premises storage according to storage characteristics,
Stores data in tiered storages according to the storage characteristics,
An integrated storage management device supporting a hierarchical structure, characterized in that storing data in hierarchical storages according to the characteristics of the data.
청구항 1에 있어서,
상기 적어도 하나 이상의 프로그램은
상기 스토리지들을 상기 스토리지 특성에 따라 성능 등급 계층, 용량 등급 계층 및 보관 등급 계층으로 분류하여 관리하는 것을 특징으로 하는 계층형 구조 지원 통합 스토리지 관리 장치.
The method according to claim 1,
The at least one program is
An integrated storage management apparatus supporting a hierarchical structure, characterized in that the storages are classified and managed into a performance class tier, a capacity class tier, and a storage class tier according to the storage characteristics.
청구항 2에 있어서,
상기 적어도 하나 이상의 프로그램은
메모리 및 플래시 스토리지를 상기 성능 등급 계층에서 관리하고,
상기 온프레미스 스토리지를 상기 용량 등급 계층에서 관리하고,
상기 퍼블릭 클라우드 스토리지를 상기 보관 등급 계층에서 관리하는 것을 특징으로 하는 계층형 구조 지원 통합 스토리지 관리 장치.
The method according to claim 2,
The at least one program is
Manage memory and flash storage in the performance class layer,
Manage the on-premises storage in the capacity class tier,
An integrated storage management device supporting a hierarchical structure, characterized in that the public cloud storage is managed at the storage level layer.
청구항 3에 있어서,
상기 적어도 하나 이상의 프로그램은
읽기 캐쉬 및 쓰기 캐쉬를 이용하여 상기 성능 등급 계층의 스토리지에서 관리되는 데이터를 저장하는 것을 특징으로 하는 계층형 구조 지원 통합 스토리지 관리 장치.
The method of claim 3,
The at least one program is
An integrated storage management device supporting a hierarchical structure, characterized in that to store data managed in the storage of the performance class layer by using a read cache and a write cache.
청구항 4에 있어서,
상기 적어도 하나 이상의 프로그램은
상기 쓰기 캐쉬를 이용하여 저장된 데이터의 위치를 메타데이터로 저장하는 것을 특징으로 하는 계층형 구조 지원 통합 스토리지 관리 장치.
The method of claim 4,
The at least one program is
An integrated storage management device supporting a hierarchical structure, characterized in that the location of the data stored using the write cache is stored as metadata.
청구항 4에 있어서,
상기 적어도 하나 이상의 프로그램은
상기 읽기 캐쉬를 이용하여 저장된 데이터의 해시 값을 계산하고, 상기 데이터와 상기 해시 값을 쌍으로 저장하는 것을 특징으로 하는 계층형 구조 지원 통합 스토리지 관리 장치.
The method of claim 4,
The at least one program is
An integrated storage management device supporting a hierarchical structure, characterized in that the hash value of the stored data is calculated using the read cache, and the data and the hash value are stored in pairs.
청구항 3에 있어서,
상기 적어도 하나 이상의 프로그램은
상기 용량 등급 계층 및 상기 보관 등급 계층의 스토리지에서 관리되는 데이터를 기록한 시간을 식별하고, 상기 시간에 따라 로그를 기록하는 것을 특징으로 하는 계층형 구조 지원 통합 스토리지 관리 장치.
The method of claim 3,
The at least one program is
An integrated storage management apparatus supporting a hierarchical structure, characterized in that it identifies a time at which data managed in the storage of the capacity class layer and the storage class layer is recorded, and records a log according to the time.
청구항 7에 있어서,
상기 적어도 하나 이상의 프로그램은
상기 로그의 말단 부분에 상기 시간에 관한 정보를 추가하는 것을 특징으로 하는 계층형 구조 지원 통합 스토리지 관리 장치.
The method of claim 7,
The at least one program is
An integrated storage management apparatus supporting a hierarchical structure, characterized in that information about the time is added to an end portion of the log.
청구항 1에 있어서,
상기 적어도 하나 이상의 프로그램은
상기 데이터의 특성에 따라 상기 데이터를 상기 퍼블릭 클라우드 스토리지에 저장하고 상기 데이터와 관련된 타데이터를 온프레미스 스토리지에 분리하여 저장하는 것을 특징으로 하는 계층형 구조 지원 통합 스토리지 관리 장치.
The method according to claim 1,
The at least one program is
And storing the data in the public cloud storage according to the characteristics of the data, and separately storing the other data related to the data in on-premises storage.
청구항 9에 있어서,
상기 퍼블릭 클라우드 스토리지는 가상 어플라이언스를 이용하여 상기 메타데이터와 관련된 상기 온프레미스 스토리지에 저장된 데이터에 접근하는 것을 특징으로 하는 계층형 구조 지원 통합 스토리지 관리 장치.
퍼블릭 클라우드 스토리지 및 온프레미스 스토리지에 포함된 스토리지들을 스토리지 특성에 따라 계층화하고,
The method of claim 9,
The public cloud storage device for hierarchical structure support, characterized in that the access to the data stored in the on-premises storage associated with the metadata using a virtual appliance.
Tiering storage included in public cloud storage and on-premises storage according to storage characteristics,
계층형 구조 지원 통합 스토리지 관리 장치의 계층형 구조 지원 통합 스토리지 관리 방법에 있어서,
퍼블릭 클라우드 스토리지 및 온프레미스 스토리지에 포함된 스토리지들을 스토리지 특성에 따라 계층화하는 단계;
상기 스토리지 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 단계; 및
상기 데이터의 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 단계;
를 포함하는 것을 특징으로 하는 계층형 구조 지원 통합 스토리지 관리 방법.
In the hierarchical structure support integrated storage management method of the hierarchical structure support integrated storage management device,
Tiering storages included in public cloud storage and on-premises storage according to storage characteristics;
Storing data in hierarchical storages according to the storage characteristics; And
Storing data in hierarchical storages according to the characteristics of the data;
Hierarchical structure support integrated storage management method comprising a.
청구항 11에 있어서,
상기 계층화하는 단계는
상기 스토리지들을 상기 스토리지 특성에 따라 성능 등급 계층, 용량 등급 계층 및 보관 등급 계층으로 분류하여 관리하는 것을 특징으로 하는 계층형 구조 지원 통합 스토리지 관리 방법.
The method of claim 11,
The layering step is
A method for managing integrated storage supporting a hierarchical structure, comprising classifying and managing the storages into a performance class tier, a capacity class tier, and a storage class tier according to the storage characteristics.
청구항 12에 있어서,
상기 계층화하는 단계는
메모리 및 플래시 스토리지를 상기 성능 등급 계층에서 관리하고,
상기 온프레미스 스토리지를 상기 용량 등급 계층에서 관리하고,
상기 퍼블릭 클라우드 스토리지를 상기 보관 등급 계층에서 관리하는 것을 특징으로 하는 계층형 구조 지원 통합 스토리지 관리 방법.
The method of claim 12,
The layering step is
Manage memory and flash storage in the performance class layer,
Manage the on-premises storage in the capacity class tier,
An integrated storage management method supporting a hierarchical structure, characterized in that the public cloud storage is managed in the storage class layer.
청구항 13에 있어서,
상기 스토리지 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 단계 는
읽기 캐쉬 및 쓰기 캐쉬를 이용하여 상기 성능 등급 계층의 스토리지에서 관리되는 데이터를 저장하는 것을 특징으로 하는 계층형 구조 지원 통합 스토리지 관리 방법.
The method of claim 13,
Storing data in tiered storages according to the storage characteristics is
A method for managing a hierarchical structure supporting a hierarchical structure, comprising storing data managed in the storage of the performance class layer by using a read cache and a write cache.
청구항 14에 있어서,
상기 스토리지 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 단계 는
상기 쓰기 캐쉬를 이용하여 저장된 데이터의 위치를 메타데이터로 저장하는 것을 특징으로 하는 계층형 구조 지원 통합 스토리지 관리 방법.
The method of claim 14,
Storing data in tiered storages according to the storage characteristics is
An integrated storage management method supporting a hierarchical structure, characterized in that the location of the data stored using the write cache is stored as metadata.
청구항 14에 있어서,
상기 스토리지 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 단계 는
상기 읽기 캐쉬를 이용하여 저장된 데이터의 해시 값을 계산하고, 상기 데이터와 상기 해시 값을 쌍으로 저장하는 것을 특징으로 하는 계층형 구조 지원 통합 스토리지 관리 방법.
The method of claim 14,
Storing data in tiered storages according to the storage characteristics is
A method for managing a hierarchical structure supporting a hierarchical structure, comprising calculating a hash value of data stored using the read cache, and storing the data and the hash value in pairs.
청구항 13에 있어서,
상기 스토리지 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 단계 는
상기 용량 등급 계층 및 상기 보관 등급 계층의 스토리지에서 관리되는 데이터를 기록한 시간을 식별하고, 상기 시간에 따라 로그를 기록하는 것을 특징으로 하는 계층형 구조 지원 통합 스토리지 관리 방법.
The method of claim 13,
Storing data in tiered storages according to the storage characteristics is
A method for managing a hierarchical structure supporting a hierarchical structure, comprising: identifying a time at which data managed in the storage of the capacity level layer and the storage level layer is recorded, and recording a log according to the time.
청구항 17에 있어서,
상기 스토리지 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 단계 는
상기 로그의 말단 부분에 상기 시간에 관한 정보를 추가하는 것을 특징으로 하는 계층형 구조 지원 통합 스토리지 관리 방법.
The method of claim 17,
Storing data in tiered storages according to the storage characteristics is
An integrated storage management method supporting a hierarchical structure, characterized in that information about the time is added to an end portion of the log.
청구항 11에 있어서,
상기 데이터의 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 단계 는
상기 데이터의 특성에 따라 상기 데이터를 상기 퍼블릭 클라우드 스토리지에 저장하고 상기 데이터와 관련된 타데이터를 온프레미스 스토리지에 분리하여 저장하는 것을 특징으로 하는 계층형 구조 지원 통합 스토리지 관리 방법.
The method of claim 11,
Storing data in tiered storages according to the characteristics of the data
And storing the data in the public cloud storage according to the characteristics of the data, and separately storing the other data related to the data in on-premises storage.
청구항 19에 있어서,
상기 데이터의 특성에 따라 계층화된 스토리지들에 데이터를 저장하는 단계 는
상기 퍼블릭 클라우드 스토리지가, 가상 어플라이언스를 이용하여 상기 메타데이터와 관련된 상기 온프레미스 스토리지에 저장된 데이터에 접근하는 것을 특징으로 하는 계층형 구조 지원 통합 스토리지 관리 방법.
The method of claim 19,
Storing data in tiered storages according to the characteristics of the data
The public cloud storage, a hierarchical structure support integrated storage management method, characterized in that the access to the data stored in the on-premises storage associated with the metadata using a virtual appliance.
KR1020200038966A 2019-09-30 2020-03-31 Apparatus and method for managing integrated storage supporting hierachical structure KR20210038285A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/019,925 US11327686B2 (en) 2019-09-30 2020-09-14 Apparatus and method for managing integrated storage supporting hierarchical structure

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190120626 2019-09-30
KR1020190120626 2019-09-30

Publications (1)

Publication Number Publication Date
KR20210038285A true KR20210038285A (en) 2021-04-07

Family

ID=75469484

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200038966A KR20210038285A (en) 2019-09-30 2020-03-31 Apparatus and method for managing integrated storage supporting hierachical structure

Country Status (1)

Country Link
KR (1) KR20210038285A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113127909A (en) * 2021-04-30 2021-07-16 北京奇艺世纪科技有限公司 Feature data processing method and device, electronic equipment and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113127909A (en) * 2021-04-30 2021-07-16 北京奇艺世纪科技有限公司 Feature data processing method and device, electronic equipment and storage medium
CN113127909B (en) * 2021-04-30 2023-07-25 北京奇艺世纪科技有限公司 Feature data processing method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
US10296494B2 (en) Managing a global namespace for a distributed filesystem
US11200332B2 (en) Passive distribution of encryption keys for distributed data stores
US10782880B2 (en) Apparatus and method for providing storage for providing cloud services
US20210019067A1 (en) Data deduplication across storage systems
US9916321B2 (en) Methods and apparatus for controlling snapshot exports
US9811662B2 (en) Performing anti-virus checks for a distributed filesystem
US9811532B2 (en) Executing a cloud command for a distributed filesystem
US9804929B2 (en) Centralized management center for managing storage services
US9804928B2 (en) Restoring an archived file in a distributed filesystem
KR102288503B1 (en) Apparatus and method for managing integrated storage
US8788628B1 (en) Pre-fetching data for a distributed filesystem
US9852150B2 (en) Avoiding client timeouts in a distributed filesystem
US11327686B2 (en) Apparatus and method for managing integrated storage supporting hierarchical structure
US11467927B2 (en) Methods and systems for protecting multitenant databases in networked storage systems
US11614901B2 (en) Apparatus and method for processing sensitive data
US11397650B1 (en) Methods and systems for protecting virtual machine data in networked storage systems
US20230367746A1 (en) Distributed File System that Provides Scalability and Resiliency
US20230145634A1 (en) Techniques for data retrieval using cryptographic signatures
KR20200099065A (en) Apparatus and method for processing sensitive data
US20230393787A1 (en) Distributed File System with Disaggregated Data Management and Storage Management Layers
KR102376152B1 (en) Apparatus and method for providing storage for providing cloud services
KR20210038285A (en) Apparatus and method for managing integrated storage supporting hierachical structure
US20220391361A1 (en) Distributed File System with Reduced Write and Read Latencies
US11461192B1 (en) Automatic recovery from detected data errors in database systems
US20190121899A1 (en) Apparatus and method for managing integrated storage

Legal Events

Date Code Title Description
A201 Request for examination