KR102376152B1 - Apparatus and method for providing storage for providing cloud services - Google Patents

Apparatus and method for providing storage for providing cloud services Download PDF

Info

Publication number
KR102376152B1
KR102376152B1 KR1020180054951A KR20180054951A KR102376152B1 KR 102376152 B1 KR102376152 B1 KR 102376152B1 KR 1020180054951 A KR1020180054951 A KR 1020180054951A KR 20180054951 A KR20180054951 A KR 20180054951A KR 102376152 B1 KR102376152 B1 KR 102376152B1
Authority
KR
South Korea
Prior art keywords
storage
data
providing
cloud
integrated
Prior art date
Application number
KR1020180054951A
Other languages
Korean (ko)
Other versions
KR20190024610A (en
Inventor
김대원
김선욱
김성운
오수철
차재근
최지혁
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US16/057,717 priority Critical patent/US10782880B2/en
Publication of KR20190024610A publication Critical patent/KR20190024610A/en
Application granted granted Critical
Publication of KR102376152B1 publication Critical patent/KR102376152B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/185Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS

Abstract

클라우드 서비스 제공을 위한 스토리지 제공 장치 및 방법이 개시된다. 본 발명의 일실시예에 따른 클라우드 서비스 제공을 위한 스토리지 제공 장치는 온프레미스 스토리지 및 클라우드 스토리지를 포함하는 통합 스토리지에 데이터를 저장하기 위해 상기 데이터를 분산시키는 데이터 분산 및 저장부; 상기 데이터를 저장하기 위해 상기 통합 스토리지를 연결하고, 상기 데이터의 스토리지 티어링(tiering) 정보를 제공하는 백엔드 스토리지 관리부; 상기 데이터의 실제 저장 위치와 상관없이 상기 통합 스토리지를 가상 데이터 스토리지로 제공하는 데이터 조작부 및 상기 가상 데이터 스토리지를 사용자에게 단일 가상 스토리지로서 인터페이스를 제공하는 스토리지 연결부를 포함한다.A storage providing apparatus and method for providing a cloud service are disclosed. A storage providing apparatus for providing a cloud service according to an embodiment of the present invention includes: a data distribution and storage unit for distributing data to store data in integrated storage including on-premises storage and cloud storage; a backend storage management unit that connects the integrated storage to store the data and provides storage tiering information of the data; and a data manipulation unit providing the integrated storage as a virtual data storage regardless of an actual storage location of the data, and a storage connection unit providing an interface to the virtual data storage as a single virtual storage to a user.

Description

클라우드 서비스 제공을 위한 스토리지 제공 장치 및 방법 {APPARATUS AND METHOD FOR PROVIDING STORAGE FOR PROVIDING CLOUD SERVICES}Storage providing device and method for providing cloud service {APPARATUS AND METHOD FOR PROVIDING STORAGE FOR PROVIDING CLOUD SERVICES}

본 발명은 클라우드 컴퓨팅 기술에 관한 것으로, 보다 상세하게는 클라우드 스토리지와 논-클라우드 스토리지의 스토리지 통합 기술에 관한 것이다.The present invention relates to cloud computing technology, and more particularly, to a storage integration technology of cloud storage and non-cloud storage.

현재 사용자가 원하는 서비스를 시간과 장소의 제약 없이 빌려서 사용하는 클라우드 컴퓨팅에 대한 기술 개발 및 시장 수요가 증가하고 있다. 클라우드 컴퓨팅은 각 사용자별로 전용의 HW 및 SW를 구축하지 않아도 인터넷을 통해 사용자가 원하는 네크워크 및 스토리지, 컴퓨팅 서비스를 제공할 수 있다.Currently, there is an increase in technology development and market demand for cloud computing, which allows users to borrow and use the services they want without time and place restrictions. Cloud computing can provide network, storage, and computing services that users want 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 may simply request data storage through a secure and convenient service interface provided by the system. At this time, a cloud-integrated storage system in which data is stored in a single shape storage integrated with on-premises-public cloud storage is being developed.

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

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

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

종래의 유사한 시스템의 동향을 살펴 보면 아래와 같다The trend of a similar system in the prior art is as follows.

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

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

HP는 OpenStack 구조를 기반으로 REST API 기반 인프라 관리 기능을 제공하며 일부 서비스는 Amazon AWS 호환되도록 설계된 자사의 오픈소스인 Helion Eucalyputs 플랫폼을 제공하고 있다. Based on the OpenStack structure, HP provides a REST API-based infrastructure management function, and some services provide its 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 integrated server, storage, and network virtualization technologies based on the existing VMware virtualization and infrastructure.

Rackspace는 클라우드 인프라 영역의 확장을 중점으로 클라우드 서버, 기업의 SAN 스토리지를 통합하고 Cisco ASA 방화벽을 통한 데이터 보호를 지원하고 있다.Rackspace focuses on the expansion of cloud infrastructure, integrating 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 tier structure that divides local and cloud storage according to data usage frequency to provide data backup and archive, Tier 2 level application, and disaster recovery service. have the skills

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

한편, 한국등록특허 제 10-1212778 호“클라우드 컴퓨팅 기반 스마트 오피스 시스템 및 이의 운용을 위한 서버 및 운용 방법”는 클라우드 기반의 모바일 웹 서버와 온 프레미스 기반의 모바일 웹 서버를 포함하는 스마트 오피스 시스템 및 운용을 위한 서버 및 운용 방법에 관하여 개시하고 있다.Meanwhile, Korea Patent Registration No. 10-1212778 “Cloud computing-based smart office system and server and operation method for its operation” describes a smart office system and operation including a cloud-based mobile web server and an on-premises-based mobile web server. Disclosed is a server and an operating method for the.

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

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

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

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

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

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

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

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

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

상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 클라우드 서비스 제공을 위한 스토리지 제공 장치는 온프레미스 스토리지 및 클라우드 스토리지를 포함하는 통합 스토리지에 데이터를 저장하기 위해 상기 데이터를 분산시키는 데이터 분산 및 저장부; 상기 데이터를 저장하기 위해 상기 통합 스토리지를 연결하고, 상기 데이터의 스토리지 티어링(tiering) 정보를 제공하는 백엔드 스토리지 관리부; 상기 데이터의 실제 저장 위치와 상관없이 상기 통합 스토리지를 가상 데이터 스토리지로 제공하는 데이터 조작부 및 상기 가상 데이터 스토리지를 사용자에게 단일 가상 스토리지로서 인터페이스를 제공하는 스토리지 연결부를 포함한다.A storage providing apparatus for providing a cloud service according to an embodiment of the present invention for achieving the above object is data distribution and storage for distributing the data to store the data in integrated storage including on-premises storage and cloud storage wealth; a backend storage management unit that connects the integrated storage to store the data and provides storage tiering information of the data; and a data manipulation unit providing the integrated storage as a virtual data storage regardless of an actual storage location of the data, and a storage connection unit providing an interface to the virtual data storage as a single virtual storage to a user.

이 때, 상기 데이터 분산 및 저장부는 상기 통합 스토리지에 쓰는 데이터를 최적화하여 상기 데이터에 대한 쓰기 및 접근 시간을 최소화하고 상기 데이터의 압축 또는 암호화를 수행할 수 있다.In this case, the data distribution and storage unit may optimize the data written to the integrated storage to minimize writing and access times for the data and perform compression or encryption of the data.

이 때, 상기 데이터 조작부는 상기 데이터에 대한 쓰기 버퍼 기능 또는 읽기 캐쉬 기능을 제공하고, 고속 스토리지를 이용하여 상기 데이터에 대한 쓰기 또는 읽기 응답 시간을 높일 수 있다.In this case, the data manipulation unit may provide a write buffer function or a read cache function for the data, and increase a write or read response time for the data by using high-speed storage.

상기 클라우드 서비스 제공을 위한 스토리지 제공 장치는 상기 데이터의 저장 및 상기 데이터의 분산을 위한 메타데이터를 제공하는 프로비저닝 및 정책 관리부를 더 포함하고, 상기 메타데이터는 데이터 연산에 필요한 제 1 메타데이터 및 스토리지 연산을 위한 제 2 메타데이터를 포함할 수 있다.The storage providing apparatus for providing the cloud service further includes a provisioning and policy management unit that provides metadata for storing and distributing the data, wherein the metadata includes first metadata required for data operation and storage operation. may include second metadata for

또한, 상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 클라우드 서비스 제공을 위한 스토리지 제공 방법은 클라우드 서비스 제공을 위한 스토리지 제공 장치의 클라우드 서비스 제공을 위한 스토리지 제공 방법에 있어서, 온프레미스 스토리지 및 클라우드 스토리지를 포함하는 통합 스토리지에 데이터를 저장하기 위해 상기 데이터를 분산시키는 데이터 분산단계 및 상기 데이터의 실제 저장 위치와 상관없이 상기 통합 스토리지를 가상 데이터 스토리지로 제공하고, 상기 가상 데이터 스토리지를 사용자에게 단일 가상 스토리지로서 인터페이스를 제공하는 데이터 관리단계를 포함한다.In addition, the storage providing method for providing a cloud service according to an embodiment of the present invention for achieving the above object is a storage providing method for providing a cloud service of a storage providing apparatus for providing a cloud service, on-premises storage and A data distribution step of distributing the data to store data in integrated storage including cloud storage, and providing the integrated storage as virtual data storage regardless of the actual storage location of the data, and providing the virtual data storage to a user and a data management step of providing an interface as a virtual storage.

이 때, 상기 데이터 관리단계는 상기 데이터를 저장하기 위해 상기 통합 스토리지를 연결하고, 상기 데이터의 스토리지 티어링(tiering) 정보를 제공하는 단계를 더 포함할 수 있다.In this case, the data management step may further include connecting the integrated storage to store the data, and providing storage tiering information of the data.

이 때, 상기 데이터 분산단계는 상기 통합 스토리지에 쓰는 데이터를 최적화하여 상기 데이터에 대한 쓰기 및 접근 시간을 최소화하고 상기 데이터의 압축 또는 암호화를 수행할 수 있다.In this case, the data distribution step may optimize data written to the integrated storage to minimize write and access times for the data and perform compression or encryption of the data.

이 때, 상기 데이터 관리단계는 상기 데이터에 대한 쓰기 버퍼 기능 또는 읽기 캐쉬 기능을 제공하고, 고속 스토리지를 이용하여 상기 데이터에 대한 쓰기 또는 읽기 응답 시간을 높일 수 있다.In this case, in the data management step, a write buffer function or a read cache function for the data may be provided, and a write or read response time for the data may be increased by using a high-speed storage.

이 때, 상기 클라우드 서비스 제공을 위한 스토리지 제공 방법은 상기 데이터의 저장 및 상기 데이터의 분산을 위한 메타데이터를 제공하는 프로비저닝 단계를 더 포함하고, 상기 메타데이터는 데이터 연산에 필요한 제 1 메타데이터 및 스토리지 연산을 위한 제 2 메타데이터를 포함할 수 있다.In this case, the storage providing method for providing the cloud service further includes a provisioning step of providing metadata for storing and distributing the data, wherein the metadata includes first metadata and storage required for data operation. Second metadata for the operation may be included.

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

또한, 본 발명은 통합 스토리지가 포함하는 클라우드 스토리지와 온프레미스 스토리지를 동일한 성능으로 데이터 저장 서비스를 제공할 수 있다.In addition, the present invention can provide a data storage service with the same performance of 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-effectiveness of the storage space.

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

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

또한, 본 발명은 사용자가 다양한 서비스 프로토콜을 사용하여 클라우드 통합 스토리지에 접근할 수 있도록 서비스 인터페이스를 제공할 수 있다.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 conventional file, block-level storage service, and an object-type storage service provided by recent cloud storage.

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

또한, 본 발명은 시스템의 오류로 인한 데이터 손실을 방지할 수 있다.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's convenience, so that a system can be easily built.

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

도 1은 본 발명의 일실시예에 따른 통합 스토리지 시스템을 나타낸 블록도이다.
도 2는 본 발명의 일실시예에 따른 클라우드 서비스 제공을 위한 스토리지 제공 장치를 나타낸 블록도이다.
도 3은 도 2에 도시된 스토리지 연결부의 일 예를 세부적으로 나타낸 블록도이다.
도 4는 도 2에 도시된 데이터 조작부의 일 예를 세부적으로 나타낸 블록도이다.
도 5는 본 발명의 일실시예에 따른 램디스크의 일 예를 나타낸 도면이다.
도 6은 본 발명의 일실시예에 따른 데이터 분산 및 저장부와 백엔드 스토리지 관리부의 동작을 세부적으로 나타낸 도면이다.
도 7은 본 발명의 일실시예에 따른 클라우드 서비스 제공을 위한 스토리지 제공 방법을 나타낸 동작흐름도이다.
도 8은 본 발명의 일실시예에 따른 클라우드 서비스 제공을 위한 스토리지 제공 장치와 서비스 제공자의 관계를 나타낸 도면이다.
도 9는 본 발명의 일실시예에 따른 스토리지 서비스 등록을 위한 스토리지 제공 방법을 나타낸 동작흐름도이다.
도 10은 본 발명의 일실시예에 따른 클라우드 서비스 제공을 위한 스토리지 제공 장치를 나타낸 블록도이다.
도 11은 본 발명의 일실시예에 따른 백엔드 연결 데몬을 이용한 클라우드 서비스 제공을 위한 스토리지 제공 장치를 나타낸 블록도이다.
도 12는 본 발명의 일실시예에 따른 스토리지 제공 방법을 나타낸 동작흐름도이다.
도 13은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
1 is a block diagram illustrating an integrated storage system according to an embodiment of the present invention.
2 is a block diagram illustrating a storage providing apparatus for providing a cloud service according to an embodiment of the present invention.
3 is a detailed block diagram illustrating an example of the storage connection unit illustrated in FIG. 2 .
4 is a detailed block diagram illustrating an example of the data manipulation unit shown in FIG. 2 .
5 is a diagram illustrating 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 flowchart illustrating a storage providing method for providing a cloud service according to an embodiment of the present invention.
8 is a diagram illustrating a relationship between a storage providing apparatus for providing a cloud service and a service provider according to an embodiment of the present invention.
9 is an operation flowchart illustrating a storage providing method for storage service registration according to an embodiment of the present invention.
10 is a block diagram illustrating a storage providing apparatus for providing a cloud service according to an embodiment of the present invention.
11 is a block diagram illustrating a storage providing apparatus for providing a cloud service using a backend connection daemon according to an embodiment of the present invention.
12 is an operation flowchart illustrating a storage providing method according to an embodiment of the present invention.
13 is a block diagram illustrating a computer system according to an embodiment of the present invention.

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

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

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.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 illustrating an integrated storage system according to an embodiment of the present invention.

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

사용자 클라이언트 장치(10)는 사용자가 스토리지 제공 장치(100)를 통해 통합 스토리지(20)의 서비스를 요청하고, 서비스를 제공받을 수 있다.In the user client device 10 , a user may request a service of the integrated storage 20 through the storage providing device 100 and receive the 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-premises storage owned by enterprises and institutions.

스토리지 제공 장치(100)는 통합 스토리지(20)가 포함하는 클라우드 스토리지(21)와 논-클라우드 스토리지(22)를 단일 형상으로 관리 및 운영할 수 있다.The storage providing 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 shape.

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

도 2는 본 발명의 일실시예에 따른 클라우드 서비스 제공을 위한 스토리지 제공 장치를 나타낸 블록도이다. 도 3은 도 2에 도시된 스토리지 연결부의 일 예를 세부적으로 나타낸 블록도이다. 도 4는 도 2에 도시된 데이터 조작부의 일 예를 세부적으로 나타낸 블록도이다.2 is a block diagram illustrating a storage providing apparatus for providing a cloud service according to an embodiment of the present invention. 3 is a detailed block diagram illustrating an example of the storage connection unit illustrated in FIG. 2 . 4 is a detailed block diagram illustrating an example of the data manipulation unit shown in FIG. 2 .

도 2를 참조하면, 본 발명의 일실시예에 따른 클라우드 서비스 제공을 위한 스토리지 제공 장치(100)는 스토리지 연결부(110), 데이터 조작부(120), 데이터 분산 및 저장부(130), 백엔드 스토리지 관리부(140) 및 프로비저닝 및 정책 관리부(150)를 포함한다.Referring to FIG. 2 , a storage providing apparatus 100 for providing a cloud service 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 , and a backend storage management unit. 140 and 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 인터페이스 및 이를 향상 시키기 위한 가속 기능을 제공할 수 있다.At this time, the storage connection unit 110 may provide block, file, and object storage protocol processing, IO interface, and an acceleration function for improving it.

이 때, 스토리지 연결부(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 the user, and may also provide a recently appeared object storage interface.

데이터 조작부(120)는 사용자에게 가상 디스크 풀을 제공하여 전체 스토리지 시스템의 단일 스토리지 뷰를 제공할 수 있다.The data manipulation unit 120 may provide a virtual disk pool to the 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 a fast storage resource, and may provide storages as virtual disks to the user.

이 때, 데이터 조작부(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.

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

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

데이터 조작부(120)는 데이터에 대한 쓰기 버퍼 기능 및 읽기 캐쉬 기능 중 적어도 하나를 제공하고, 고속 스토리지를 이용하여 상기 데이터에 대한 쓰기 및 읽기 응답 시간을 향상시킬 수 있다.The data manipulation unit 120 may provide at least one of a write buffer function and a read cache function for data, and may improve write and read response times for the data by using high-speed storage.

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

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

이 때, 데이터 조작부(120)는 메모리, SSD 및 PCIe 플래시 카드를 사용하여 사용자에게 빠른 응답 시간을 보장할 수 있다.In this case, the data manipulation unit 120 may guarantee a fast response time to the 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 the service of the integrated storage by using the ramdisk.

데이터 조작부(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's awareness, 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 as a storage device inside the cloud integrated storage operation platform, and may provide an access speed of the on-premises storage level to the public cloud storage.

도 4를 참조하면, 데이터 조작부(120)는 인 메모리 네임 스페이스 블록(121), 읽기 캐쉬부(122), 쓰기 캐쉬부(123), 인 메모리 디듀플리케이션 엔진(124) 및 인 메모리 데이터 컴프레션 엔진(125)을 포함할 수 있다.Referring to FIG. 4 , the data manipulation unit 120 includes an in-memory namespace 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 . ) may be included.

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

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

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

이 때, 데이터 조작부(120)는 통합 스토리지 구조의 빠른 성능을 제공하기 위하여 인메모리 기반의 네임스페이스 블록(121) 및 데이터 압축 구조인 인 메모리 디듀플리케이션 엔진(124)과 인 메모리 데이터 컴프레션 엔진(125)을 인메모리 블록에서 동시에 수행할 수도 있다.At this time, the data manipulation unit 120 provides 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. may be simultaneously performed in an in-memory block.

이 때, 데이터 조작부(120)는 실제 데이터 접근을 위한 글로버 네임스페이스의 고속 접근속도를 보장해야 되고 이를 빠른 속도로 저장 하고 읽기 위하여 고속 처리 방법을 제공할 수 있다.At this time, the data manipulation unit 120 must ensure a high-speed access speed of the Glover namespace for actual data access, and can provide a high-speed processing method to store and read it 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 the 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 기반 캐쉬 영역으로 자동 전환시킬 수 있다.At this time, the read cache unit 122 and the write cache unit 123 may automatically switch to the SSD-based cache area when all of the RAM-based cache area is exhausted.

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

인 메모리 디듀플리케이션 엔진(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 may cope with data and system errors by detecting the occurrence of data errors and applying error detection and recovery coding capable of correcting them.

인 메모리 데이터 컴프레션 엔진(125)은 백엔드 스토리지에 저장되는 실제 데이터에 대해서 압축 기능을 수행하여 데이터의 크기를 줄이는 작업을 수행할 수 있다. 특히, 인 메모리 데이터 컴프레션 엔진(125)은 퍼블릭 클라우드 스토리지의 경우, 압축에 의해서 데이터 크기를 줄여줌으로써 네트워크를 통해서 전송되는 데이터의 크기를 줄일 수 있다.The in-memory data compression engine 125 may 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 in-memory data compression engine 125 may reduce the size of data transmitted through the network by reducing the data size by compression.

데이터 분산 및 저장부(130)는 온프레미스 스토리지 및 클라우드 스토리지를 포함하는 통합 스토리지(20)에 데이터를 저장하기 위하여 상기 데이터를 분산시킬 수 있다.The data distribution and storage unit 130 may distribute the data in order to store the data in the integrated storage 20 including on-premises storage and cloud storage.

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

이 때, 데이터 분산 및 저장부(130)는 통합 스토리지(20)에 쓰는 데이터를 최적화하여 상기 데이터에 대한 쓰기 및 접근 시간을 최소화하고, 상기 데이터의 압축 및 암호화 중 적어도 하나를 수행할 수 있다.In this case, the data distribution and storage unit 130 may optimize data written to the integrated storage 20 to minimize writing and access times for the data, and may perform at least one of compression and encryption of the data.

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

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

이 때, 데이터 분산 및 저장부(130)는 데이터의 에러 발생을 감지하고 이를 수정할 수 있는 에러 탐지 및 복구 코딩을 적용하여, 데이터 및 시스템 에러에 대처할 수 있다.At this time, the data distribution and storage unit 130 may detect the occurrence of data errors and apply error detection and recovery coding capable of correcting them, thereby coping 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 the final resource.

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

이 때, 백엔드 스토리지 관리부(140)는 데이터 분산 저장 계층의 정책에 따라 데이터를 성능, 시간 및 사용 빈도 위주의 티어링(tiering)을 이용하여 자동 혹은 수동 저장 기능을 제공할 수 있다.In this case, the backend storage management unit 140 may provide an automatic or manual storage function 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 distributing and storing data in various storage layers.

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

이 때, 백엔드 스토리지 관리부(140)는 초기 생성 데이터는 고속의 스토리지에 저장하고, 데이터 접근 빈도가 낮아지면 하위 계층의 스토리지로 데이터를 이동시키며, 최종적으로 퍼블릭 클라우드 스토리지에 데이터를 저장시킬 수 있다.At this time, the backend storage management unit 140 may store the initially generated data in high-speed storage, move the data to a lower layer storage when the data access frequency is low, 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 layers according to the characteristics of the data.

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

이 때, 프로비저닝 및 정책 관리부(150)는 데이터의 저장 및 상기 데이터의 분산을 위한 메타데이터를 제공할 수 있다.In this case, the provisioning and policy management unit 150 may provide metadata for data storage and distribution of the data.

이 때, 상기 메타데이터는 데이터 연산을 위한 제1 메타데이터 및 스토리지 연산을 위한 제2 메타데이터를 포함할 수 있다.In this case, the metadata may include first metadata for data operation and second metadata for storage operation.

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

도 5는 본 발명의 일실시예에 따른 램디스크의 일 예를 나타낸 도면이다.5 is a diagram illustrating 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 that are the 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 hashes into block data using the data deduplication engine 122a.

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

로그는 세부 블록에 대한 데이터의 위치 및 해시 값을 저장할 수 있고, 데이터가 백앤드 스토리지로 저장될 때까지 유지될 수 있다.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 either when the log queue reaches a certain size or whenever synchronization is performed, or whenever data is generated according to a write request. 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 backend storage, the detailed block of the write cache and the detailed block of the transaction log node are excluded from management and may be 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 reduce the size of the data by performing a compression function on the actual data stored in the back-end storage by the data compression block 131 . In particular, in the case of public cloud storage, the data compression block 131 may reduce the size of data transmitted through the network by reducing the data size by compression.

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

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

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

이 때, 백엔드 스토리지 관리부(140)는 데이터 분산 정책, 병렬 입출력(Parallel IO Engine), Multi-Path 입출력(Multi-Path IO Engine)을 통해 빠른 응답속도를 보장하기 위한 메모리 스토리지부터 대용량의 데이터 운영을 위한 클라우드 스토리지까지 다양한 유형의 스토리지를 사용하여 데이터 운영 및 연결된 스토리지에 대해 고가용성 서비스를 제공하는 것을 알 수 있다.At this time, the backend storage management unit 140 manages large-capacity data operation 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 various types of storage are used, including cloud storage for data operations and high availability services for connected storage.

이 때, 백엔드 스토리지 관리부(140)는 데이터를 동일 노드 내의 스토리지나 클러스터로 구성된 다중 노드 내의 스토리지에 분산시켜 저장할 수 있으며, 데이터 크기 및 분산 저장 수를 조절하여, 시스템 오류에 따른 데이터 손실을 방지할 수 있다.At this time, the backend storage management unit 140 may distribute and store data in storage within the same node or storage within multiple nodes configured in a cluster, and adjust the data size and number of distributed storage to prevent data loss due to system errors. 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 layers. It can be seen that various types of storage are tiered 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 is low, it is moved to the lower layer storage, and finally stored in the public cloud storage. The backend storage management unit 140 automatically moves data between various storage layers according to the characteristics of the data.

도 7은 본 발명의 일실시예에 따른 클라우드 서비스 제공을 위한 스토리지 제공 방법을 나타낸 동작흐름도이다.7 is an operation flowchart illustrating a storage providing method for providing a cloud service according to an embodiment of the present invention.

도 7을 참조하면, 본 발명의 일실시예에 따른 클라우드 서비스 제공을 위한 스토리지 제공 방법은 먼저 데이터 접근을 수행할 수 있다(S210).Referring to FIG. 7 , in the method of providing a storage for providing a cloud service according to an embodiment of the present invention, data access may be performed first ( S210 ).

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

이 때, 단계(S210)는 데이터의 실제 저장 위치와 상관없이 통합 스토리지(20)를 가상 데이터 스토리지로 제공하고, 상기 가상 데이터 스토리지를 사용자에게 단일 가상 스토리지로서 인터페이스를 제공할 수 있다.In this case, in step S210, the integrated storage 20 may be provided as a virtual data storage irrespective of an actual storage location of the data, and the virtual data storage may be provided as a single virtual storage interface to the user.

본 발명의 일실시예에 따른 스토리지 제공 방법은 데이터 읽기 및 쓰기를 수행할 수 있다(S220).The storage providing method according to an embodiment of the present invention may read and write data (S220).

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

이 때, 단계(S220)는 데이터에 대한 쓰기 버퍼 기능 및 읽기 캐쉬 기능 중 적어도 하나를 제공하고, 고속 스토리지를 이용하여 상기 데이터에 대한 쓰기 및 읽기 응답 시간을 향상시킬 수 있다.In this case, in step S220, at least one of a write buffer function and a read cache function for data may be provided, and write and read response times for the data may be improved by using high-speed storage.

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

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

본 발명의 일실시예에 따른 스토리지 제공 방법은 데이터 분산 및 저장을 수행할 수 있다(S230).The storage providing method according to an embodiment of the present invention may distribute and store data (S230).

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

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

이 때, 단계(S230)는 온프레미스 스토리지 및 클라우드 스토리지를 포함하는 통합 스토리지(20)에 데이터를 저장하기 위하여 상기 데이터를 분산시킬 수 있다.In this case, in step S230, the data may be distributed in order to store the data in the integrated storage 20 including on-premises storage and cloud storage.

이 때, 단계(S230)는 수신된 데이터의 쓰기가 최소 오버 헤드로 항상 액세스 할 수 있도록 최적화된 기능을 제공할 수 있다.In this case, step S230 may provide an optimized function so that writing of received data can always be accessed with minimal overhead.

이 때, 단계(S230)는 통합 스토리지(20)에 쓰는 데이터를 최적화하여 상기 데이터에 대한 쓰기 및 접근 시간을 최소화하고, 상기 데이터의 압축 및 암호화 중 적어도 하나를 수행할 수 있다.In this case, in step S230, the data written to the integrated storage 20 may be optimized to minimize writing and access times for the data, and at least one of compression and encryption of the data may be performed.

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

이 때, 단계(S230)는 분산된 조각에 선택적 암호화 및 압축을 처리하고 이를 위한 정책 결정을 반영할 수 있다.At this time, in step S230, selective encryption and compression are processed on the distributed fragments, and policy decisions for this may be reflected.

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

본 발명의 일실시예에 따른 스토리지 제공 방법은 데이터의 최종 리소스 저장을 수행할 수 있다(S240).The storage providing 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, the integrated storage may be connected to store data, and storage tiering information of the data to be stored may be provided.

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

이 때, 단계(S240)는 초기 생성 데이터는 고속의 스토리지에 저장하고, 데이터 접근 빈도가 낮아지면 하위 계층의 스토리지로 데이터를 이동시키며, 최종적으로 퍼블릭 클라우드 스토리지에 데이터를 저장시킬 수 있다.In this case, in step S240, the initially generated data is stored in high-speed storage, and when the data access frequency is low, the data is moved to a lower layer storage, and finally the data is 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 a storage providing apparatus and a service provider according to an embodiment of the present invention.

도 8을 참조하면, 본 발명의 일실시예에 따른 스토리지 제공 장치(100)는 복수의 서비스 제공자(DFS Service Customer for Service A ~ N)로부터 스토리지 서비스(Data Storage Service A ~ N)를 등록받을 수 있다.Referring to FIG. 8 , the storage providing apparatus 100 according to an embodiment of the present invention may receive registration of storage services (Data Storage Service A to N) from a plurality of service providers (DFS Service Customer for Service A to N). there is.

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

이 때, 사용자(DFS Service Customer of Client user)는 스토리지 제공 장치(100)를 이용하여 복수개의 스토리지 서비스들을 제공받을 수 있다.In this case, a user (DFS Service Customer of Client user) may be provided with a plurality of storage services by using the storage providing apparatus 100 .

이 때, 스토리지 제공 장치(100)는 복수개의 스토리지 서비스들을 제공하기 위하여 멀티테넌트 기반으로 통합 스토리지(20)를 관리할 수 있다.In this case, the storage providing 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 flowchart illustrating a storage providing method for storage service registration according to an embodiment of the present invention.

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

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

이 때, 단계(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 storage providing method for registering the storage service according to an embodiment of the present invention may register the storage service in the storage (S320).

즉, 단계(S320)는 스토리지 서비스를 등록하기 위한 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)를 확인하여 스토리지 서비스를 등록할 수 있다.That is, in step S320, the 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, step S320 may provide a registration method to the provider through the GUI for storage service registration.

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

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

또한, 본 발명의 일실시예에 따른 스토리지 서비스 등록을 위한 스토리지 제공 방법은 스토리지를 설정할 수 있다(S330).In addition, the storage providing method for storage service registration 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 a virtual disk pool, and a single storage view for providing a storage service may be provided to the user through the virtual disk pool.

도 10은 본 발명의 일실시예에 따른 스토리지 제공 장치를 나타낸 블록도이다.10 is a block diagram illustrating an apparatus for providing a storage according to an embodiment of the present invention.

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

즉, 스토리지 제공 장치(100)는 복수개의 서비스를 동시에 수행하는 멀티 테넌트 기능을 지원하는 것을 알 수 있다.That is, it can be seen that the storage providing apparatus 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 may provide and manage a multi-tenant based storage service.

도 11은 본 발명의 일실시예에 따른 백엔드 연결 데몬을 이용한 스토리지 제공 장치를 나타낸 블록도이다.11 is a block diagram illustrating an apparatus for providing a storage 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 , an apparatus for providing storage using a backend connection daemon according to an embodiment of the present invention includes a plurality of storage connection units 110 individually configured for each storage service provided by service providers 31 , 32 , and 33 . , a data manipulation unit 120 , a data distribution and storage unit 130 , and a backend storage management unit 140 , and one provisioning and policy management unit 150 .

스토리지 연결부(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 or more cloud storage 21 and non-cloud storage 22 .

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

이 때, 데이터 조작부(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.

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

이 때, 스토리지 연결부(110)는 사용자의 요청에 따라 단일 가상 스토리지의 구성 정보 및 인터페이스의 매니지먼트 정보를 사용자에게 제공할 수 있다.In this case, the storage connection unit 110 may provide configuration information of a single virtual storage and management information of an interface to the user according to the user's request.

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

이 때, 스토리지 연결부(110)는 사용자 요구 사항에 대한 등록 정보를 제공하고, 상기 사용자 요구 사항은 스토리지 용량, 접근 메커니즘 및 상기 단일 가상 스토리지의 스토리지 타입 중 적어도 하나를 포함할 수 있다.In this case, the storage connection unit 110 provides registration information for user requirements, and the user requirements may include at least one of a storage capacity, an access mechanism, and a storage type of the single virtual storage.

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

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

백엔드 스토리지 관리부(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 required 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 detects the storage area interfaces of the first daemon connected to the cloud storage 21 and the second daemon connected to the non-cloud storage 22 by proxy interface, and registers the cloud service. can do.

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

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

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

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

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

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

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

프로비저닝 및 정책 관리부(150)는 복수의 서비스 제공자로부터 스토리지 서비스를 등록 받아 멀티테넌트 기반으로 상기 스토리지 서비스의 제공을 관리할 수 있다.The provisioning and policy management unit 150 may receive storage service registration from a plurality of service providers and manage the 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 allows the administrator to register the cloud storage 21 and the non-cloud storage 22 for providing the storage service in the storage providing device 100 through the management GUI and configure a new service. can

이 때, 프로비저닝 및 정책 관리부(150)는 서비스 제공자가 서비스를 가입하여 등록하고 파일을 업로드 및 생성하면 클라우드 계정을 작성할 수 있고, 업로드 된 파일은 관리자의 재량에 따라 클라우드 스토리지(21) 또는 논-클라우드 스토리지(22)에 저장할 수 있다.At this time, the provisioning and policy management unit 150 may create a cloud account when the service provider subscribes to the service, registers the service, and uploads and creates a file, and the uploaded file is stored in the cloud storage 21 or non- at the discretion of the administrator. It may 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 manages the contents of the cloud service registered in the cloud storage 21 and non-cloud storage 22 integrated in the integrated storage 20 through the management GUI. A delete function can also be provided.

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

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

이 때, 프로비저닝 및 정책 관리부(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 received 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 Paht)와 데이터를 제어하는 제2 경로(Control Path)를 이용하여 상기 스토리지 서비스를 관리할 수 있다.In this case, the provisioning and policy management unit 150 uses a first path through which data moves (Data Path) and a second path through which data is controlled (Control Path) in order to prevent a decrease in I/O performance of the storage service to prevent the storage service from being degraded. You can manage services.

도 12는 본 발명의 일실시예에 따른 스토리지 제공 방법을 나타낸 동작흐름도이다.12 is an operation flowchart illustrating a storage providing method according to an embodiment of the present invention.

도 12를 참조하면, 본 발명의 일실시예에 따른 스토리지 제공 방법은 먼저 데이터 접근을 수행할 수 있다(S410).Referring to FIG. 12 , the method of providing storage according to an embodiment of the present invention may first perform data access ( S410 ).

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

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

논-클라우드 스토리지(22)는 온프레미스 스토리지에 상응할 수 있다.Non-cloud storage 22 may correspond to on-premises storage.

본 발명의 일실시예에 따른 스토리지 제공 방법은 단일 스토리지 뷰를 제공할 수 있다(S420).The storage providing 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 virtual disk by creating a virtual disk pool of the integrated storage 20 .

이 때, 단계(S420)는 데이터의 실제 저장 위치와 상관없이 통합 스토리지(20)를 가상 데이터 스토리지로 제공할 수 있다.In this case, in step S420 , the integrated storage 20 may be provided as a virtual data storage regardless of the actual storage location of the data.

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

이 때, 단계(S420)는 사용자의 요청에 따라 단일 가상 스토리지의 구성 정보 및 인터페이스의 매니지먼트 정보를 사용자에게 제공할 수 있다.In this case, in step S420, configuration information of a single virtual storage and management information of an interface may be provided to the user according to the user's request.

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

이 때, 단계(S420)는 사용자 요구 사항에 대한 등록 정보를 제공하고, 상기 사용자 요구 사항은 스토리지 용량, 접근 메커니즘 및 상기 단일 가상 스토리지의 스토리지 타입 중 적어도 하나를 포함할 수 있다.In this case, step S420 provides registration information for a user requirement, and the user requirement may include at least one of a storage capacity, an access mechanism, and a storage type of the single virtual storage.

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

이 때, 단계(S420)는 온프레미스 스토리지 및 클라우드 스토리지를 포함하는 통합 스토리지(20)에 데이터를 저장하기 위해 상기 데이터를 분산시킬 수 있다.In this case, step S420 may distribute the data to store the data in the integrated storage 20 including on-premises storage and cloud storage.

또한, 본 발명의 일실시예에 따른 스토리지 제공 방법은 인터페이스를 수행할 수 있다(S430).Also, the storage providing 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)는 필요한 인터페이스 (객체 또는 블록 스토리지 인터페이스)와 다양한 유형의 스토리지와 인터페이스하도록 구성된 백엔드 연결 데몬을 포함하고 여러 개의 스토리지를 쉽게 등록하기 위한 프록시 인터페이스를 제공할 수 있다.At this time, 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 may provide a proxy interface for easily registering multiple storages.

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

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

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

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

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

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

이 때, 단계(S430)는 데이터를 저장하기 위해 통합 스토리지(20)를 연결하고, 상기 데이터의 스토리지 티어링(tiering) 정보를 제공할 수 있다.In this case, in step S430 , the integrated storage 20 may be connected to store data, and storage tiering information of the data may be provided.

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

또한, 본 발명의 일실시예에 따른 스토리지 제공 방법은 스토리지 서비스를 제공할 수 있다(S440).In addition, the storage providing method according to an embodiment of the present invention may provide a storage service ( S440 ).

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

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

이 때, 단계(S440)는 서비스 제공자가 서비스를 가입하여 등록하고 파일을 업로드 및 생성하면 클라우드 계정을 작성할 수 있고, 업로드 된 파일은 관리자의 재량에 따라 클라우드 스토리지(21) 또는 논-클라우드 스토리지(22)에 저장할 수 있다.At this time, in step S440, the service provider may create a cloud account if the service provider subscribes to the service and uploads and creates a file, and the uploaded file is stored in the cloud storage 21 or non-cloud storage ( 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 non-cloud storage 22 integrated in the integrated storage 20 through the management GUI. can also be provided.

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

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

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

도 13은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.13 is a block diagram illustrating 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 storage providing 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 , a memory 1130 , a user interface input device 1140 , and a user interface output device 1150 that communicate with each other via a bus 1120 . and storage 1160 . In addition, the computer system 1100 may further include a network interface 1170 coupled 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 non-volatile storage media. For example, the memory may include a ROM 1131 or a RAM 1132 .

이상에서와 같이 본 발명의 일실시예에 따른 클라우드 서비스 제공을 위한 스토리지 제공 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.As described above, in the storage providing apparatus and method for providing a cloud service according to an embodiment of the present invention, the configuration and method of the above-described embodiments are not limitedly applicable, and the embodiments are subject to various modifications. All or part of each of the embodiments may be selectively combined and configured to achieve this.

10: 사용자 클라이언트 장치 20: 통합 스토리지
21: 클라우드 스토리지 22: 논-클라우드 스토리지
100: 스토리지 제공 장치 110: 스토리지 연결부
111: 가상 블록 디바이스 서비스 엔진
112: 파일 시스템 서비스 엔진
113: 오브젝트 스토리지 서비스 엔진
120: 데이터 조작부 121: 인 메모리 네임 스페이스 블록
122: 읽기 캐쉬부 122a: 데이터 디듀플리케이션 엔진
123: 쓰기 캐쉬부 123a: 데이터 트랜잭션 로그부
124: 인 메모리 디듀플리케이션 엔진
125: 인 메모리 데이터 컴프레션 엔진
130: 데이터 분산 및 저장부 131: 데이터 컴플레션 블록
132: 데이터 분산 블록
140: 백엔드 스토리지 관리부 150: 프로비저닝 및 정책 관리부
1100: 컴퓨터 시스템 1110: 프로세서
1120: 버스 1130: 메모리
1131: 롬 1132: 램
1140: 사용자 인터페이스 입력 장치
1150: 사용자 인터페이스 출력 장치
1160: 스토리지 1170: 네트워크 인터페이스
1180: 네트워크
10: user client device 20: unified storage
21: cloud storage 22: non-cloud storage
100: storage providing device 110: storage connection unit
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
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

Claims (9)

온프레미스 스토리지 및 클라우드 스토리지를 포함하는 통합 스토리지에 데이터를 저장하기 위해 상기 데이터를 분산시키는 데이터 분산 및 저장부;
상기 데이터를 저장하기 위해 상기 통합 스토리지를 연결하고, 상기 데이터의 스토리지 티어링(tiering) 정보를 제공하는 백엔드 스토리지 관리부;
상기 데이터의 실제 저장 위치와 상관없이 상기 통합 스토리지를 가상 데이터 스토리지로 제공하는 데이터 조작부; 및
상기 가상 데이터 스토리지를 사용자에게 단일 가상 스토리지로서 인터페이스를 제공하는 스토리지 연결부;
를 포함하고,
상기 백엔드 스토리지 관리부는
상기 데이터의 특성에 기반하여 상기 통합 스토리지에 저장된 상기 데이터를 스토리지 계층 사이에 자동적으로 이동시키고,
초기에 상기 데이터를 상기 통합 스토리지의 상위 계층의 고속 스토리지에 저장하고, 데이터 접근 빈도의 변화에 따라 상기 고속 스토리지에 저장된 데이터를 상기 통합 스토리지의 하위 계층의 스토리지로 이동시키는 것을 특징으로 하는 클라우드 서비스 제공을 위한 스토리지 제공 장치.
a data distribution and storage unit for distributing the data to store data in integrated storage including on-premises storage and cloud storage;
a backend storage management unit that connects the integrated storage to store the data and provides storage tiering information of the data;
a data manipulation unit that provides the integrated storage as virtual data storage regardless of the actual storage location of the data; and
a storage connection unit providing an interface to the virtual data storage as a single virtual storage to a user;
including,
The backend storage management unit
automatically moving the data stored in the unified storage between storage tiers based on the characteristics of the data;
Cloud service provision, characterized in that the data is initially stored in the high-speed storage of the upper layer of the integrated storage, and the data stored in the high-speed storage is moved to the storage of the lower layer of the integrated storage according to a change in data access frequency storage device for
삭제delete 제 1항에 있어서,
상기 데이터 조작부는
상기 데이터에 대한 쓰기 버퍼 기능 또는 읽기 캐쉬 기능을 제공하고, 고속 스토리지를 이용하여 상기 데이터에 대한 쓰기 또는 읽기 응답 시간을 높이는 것을 특징으로 하는 클라우드 서비스 제공을 위한 스토리지 제공 장치.
The method of claim 1,
The data manipulation unit
A storage providing device for providing a cloud service, characterized in that it provides a write buffer function or a read cache function for the data, and increases a write or read response time for the data by using high-speed storage.
제 1항에 있어서,
상기 클라우드 서비스 제공을 위한 스토리지 제공 장치는
상기 데이터의 저장 및 상기 데이터의 분산을 위한 메타데이터를 제공하는 프로비저닝 및 정책 관리부를 더 포함하고,
상기 메타데이터는 데이터 연산에 필요한 제 1 메타데이터 및 스토리지 연산을 위한 제 2 메타데이터를 포함하는 것을 특징으로 하는 클라우드 서비스 제공을 위한 스토리지 제공 장치.
The method of claim 1,
The storage providing device for providing the cloud service is
Further comprising a provisioning and policy management unit that provides metadata for storage of the data and distribution of the data,
The storage providing apparatus for providing a cloud service, wherein the metadata includes first metadata necessary for data operation and second metadata for storage operation.
클라우드 서비스 제공을 위한 스토리지 제공 장치의 클라우드 서비스 제공을 위한 스토리지 제공 방법에 있어서,
온프레미스 스토리지 및 클라우드 스토리지를 포함하는 통합 스토리지에 데이터를 저장하기 위해 상기 데이터를 분산시키는 데이터 분산단계; 및
상기 데이터의 실제 저장 위치와 상관없이 상기 통합 스토리지를 가상 데이터 스토리지로 제공하고, 상기 가상 데이터 스토리지를 사용자에게 단일 가상 스토리지로서 인터페이스를 제공하는 데이터 관리단계;
를 포함하고,
상기 데이터 관리단계는
상기 데이터를 저장하기 위해 상기 통합 스토리지를 연결하고, 상기 데이터의 스토리지 티어링(tiering) 정보를 제공하고,
상기 데이터의 특성에 기반하여 상기 통합 스토리지에 저장된 상기 데이터를 스토리지 계층 사이에 자동적으로 이동시키고,
초기에 상기 데이터를 상기 통합 스토리지의 상위 계층의 고속 스토리지에 저장하고, 데이터 접근 빈도의 변화에 따라 상기 고속 스토리지에 저장된 데이터를 상기 통합 스토리지의 하위 계층의 스토리지로 이동시키는 것을 특징으로 하는 클라우드 서비스 제공을 위한 스토리지 제공 방법.
A storage providing method for providing a cloud service in a storage providing device for providing a cloud service, the method comprising:
a data distribution step of distributing the data to store the data in integrated storage including on-premises storage and cloud storage; and
a data management step of providing the integrated storage as a virtual data storage regardless of an actual storage location of the data, and providing an interface to the virtual data storage as a single virtual storage to a user;
including,
The data management step is
connecting the unified storage to store the data, and providing storage tiering information of the data;
automatically moving the data stored in the unified storage between storage tiers based on the characteristics of the data;
Cloud service provision, characterized in that the data is initially stored in the high-speed storage of the upper layer of the integrated storage, and the data stored in the high-speed storage is moved to the storage of the lower layer of the integrated storage according to a change in data access frequency How to provide storage for .
삭제delete 삭제delete 제 5항에 있어서,
상기 데이터 관리단계는
상기 데이터에 대한 쓰기 버퍼 기능 또는 읽기 캐쉬 기능을 제공하고, 고속 스토리지를 이용하여 상기 데이터에 대한 쓰기 또는 읽기 응답 시간을 높이는 것을 특징으로 하는 클라우드 서비스 제공을 위한 스토리지 제공 방법.
6. The method of claim 5,
The data management step is
A storage providing method for providing a cloud service, characterized in that it provides a write buffer function or a read cache function for the data, and increases a write or read response time for the data by using high-speed storage.
제 5항에 있어서,
상기 클라우드 서비스 제공을 위한 스토리지 제공 방법은
상기 데이터의 저장 및 상기 데이터의 분산을 위한 메타데이터를 제공하는 프로비저닝 단계를 더 포함하고,
상기 메타데이터는 데이터 연산에 필요한 제 1 메타데이터 및 스토리지 연산을 위한 제 2 메타데이터를 포함하는 것을 특징으로 하는 클라우드 서비스 제공을 위한 스토리지 제공 방법.
6. The method of claim 5,
The storage providing method for providing the cloud service is
A provisioning step of providing metadata for storage of the data and distribution of the data,
The storage providing method for providing a cloud service, characterized in that the metadata includes first metadata necessary for data operation and second metadata for storage operation.
KR1020180054951A 2017-08-30 2018-05-14 Apparatus and method for providing storage for providing cloud services KR102376152B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/057,717 US10782880B2 (en) 2017-08-30 2018-08-07 Apparatus and method for providing storage for providing cloud services

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20170109957 2017-08-30
KR1020170109957 2017-08-30
KR20170137712 2017-10-23
KR1020170137712 2017-10-23

Publications (2)

Publication Number Publication Date
KR20190024610A KR20190024610A (en) 2019-03-08
KR102376152B1 true KR102376152B1 (en) 2022-03-21

Family

ID=65800936

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020180054951A KR102376152B1 (en) 2017-08-30 2018-05-14 Apparatus and method for providing storage for providing cloud services
KR1020180054966A KR20190024613A (en) 2017-08-30 2018-05-14 Apparatus and method for providing storage for providing cloud services

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020180054966A KR20190024613A (en) 2017-08-30 2018-05-14 Apparatus and method for providing storage for providing cloud services

Country Status (1)

Country Link
KR (2) KR102376152B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102545272B1 (en) * 2021-10-20 2023-06-20 주식회사 한글과컴퓨터 Interfacing support server that supports the interfacing between a cloud storage and a client terminal to provide a cloud office service and operating method thereof
KR102651114B1 (en) * 2023-12-18 2024-03-25 주식회사 비던스 Methods, devices and systems for generating artificial intelligence information through real-time analysis and distributed processing of ad exchange-related big data and optimizing the targeting of ad space offerings

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050080880A1 (en) 2003-09-26 2005-04-14 Von Tetzchner Jon Stephenson Presenting remote and local information in a web browser
JP2008108050A (en) 2006-10-25 2008-05-08 Hitachi Ltd Computer system for managing performance on the basis of i/o allocation ratio, computer, and method
KR101212778B1 (en) 2012-04-25 2012-12-18 정대영 Cloud computing based smart office system and server for managing the same and method for managing the same
US20130159359A1 (en) * 2011-12-15 2013-06-20 Sanjay Kumar Dynamic Storage Tiering In A Virtual Environment
US20130254326A1 (en) * 2012-03-23 2013-09-26 Egis Technology Inc. Electronic device, cloud storage system for managing cloud storage spaces, method and tangible embodied computer readable medium thereof
JP2015520426A (en) 2012-07-18 2015-07-16 株式会社日立製作所 Storage apparatus and storage control method
JP2017126348A (en) 2012-07-05 2017-07-20 ブランコ オサケユイチア リミティド Apparatus, system, method and computer program for erasing data stored in storage device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225009B1 (en) * 2010-02-25 2012-07-17 Symantec Corporation Systems and methods for selectively discovering storage devices connected to host computing devices
KR20140139776A (en) * 2013-05-28 2014-12-08 (주) 글루시스 A method for tieringbased virtual network storage interface with cloud documents publishing system
CA2941702A1 (en) * 2014-03-08 2015-09-17 Diamanti, Inc. Methods and systems for converged networking and storage

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050080880A1 (en) 2003-09-26 2005-04-14 Von Tetzchner Jon Stephenson Presenting remote and local information in a web browser
JP2008108050A (en) 2006-10-25 2008-05-08 Hitachi Ltd Computer system for managing performance on the basis of i/o allocation ratio, computer, and method
US20130159359A1 (en) * 2011-12-15 2013-06-20 Sanjay Kumar Dynamic Storage Tiering In A Virtual Environment
US20130254326A1 (en) * 2012-03-23 2013-09-26 Egis Technology Inc. Electronic device, cloud storage system for managing cloud storage spaces, method and tangible embodied computer readable medium thereof
KR101212778B1 (en) 2012-04-25 2012-12-18 정대영 Cloud computing based smart office system and server for managing the same and method for managing the same
JP2017126348A (en) 2012-07-05 2017-07-20 ブランコ オサケユイチア リミティド Apparatus, system, method and computer program for erasing data stored in storage device
JP2015520426A (en) 2012-07-18 2015-07-16 株式会社日立製作所 Storage apparatus and storage control method

Also Published As

Publication number Publication date
KR20190024610A (en) 2019-03-08
KR20190024613A (en) 2019-03-08

Similar Documents

Publication Publication Date Title
US10782880B2 (en) Apparatus and method for providing storage for providing cloud services
KR102288503B1 (en) Apparatus and method for managing integrated storage
US11176005B2 (en) Dynamically adjusting the number of replicas of a file according to the probability that the file will be accessed within a distributed file system
US9613040B2 (en) File system snapshot data management in a multi-tier storage environment
US9830082B1 (en) Hybrid hyper-converged infrastructure and storage appliance
EP2799973B1 (en) A method for layered storage of enterprise data
US10831398B2 (en) Storage device efficiency during data replication
US20160162371A1 (en) Supporting multi-tenancy through service catalog
US10152281B2 (en) Systems, devices, apparatus, and methods for transparently inserting a virtual storage layer in a fibre channel based storage area network while maintaining continuous input/output operations
US9720606B2 (en) Methods and structure for online migration of data in storage systems comprising a plurality of storage devices
US10089009B2 (en) Method for layered storage of enterprise data
US10936454B2 (en) Disaster recovery for virtualized systems
US10437492B1 (en) Input/output adapter with offload pipeline for data copying
US11327686B2 (en) Apparatus and method for managing integrated storage supporting hierarchical structure
US10244069B1 (en) Accelerated data storage synchronization for node fault protection in distributed storage system
US20200142787A1 (en) Leveraging server side cache in failover scenario
KR102376152B1 (en) Apparatus and method for providing storage for providing cloud services
US11614901B2 (en) Apparatus and method for processing sensitive data
WO2018065847A1 (en) Consistent hashing configurations supporting multi-site replication
KR20200099065A (en) Apparatus and method for processing sensitive data
US20190121899A1 (en) Apparatus and method for managing integrated storage
KR20210038285A (en) Apparatus and method for managing integrated storage supporting hierachical structure
US8356016B1 (en) Forwarding filesystem-level information to a storage management system
US20240126847A1 (en) Authentication method and apparatus, and storage system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant