KR102717611B1 - Apparatus and method for processing sensitive data - Google Patents
Apparatus and method for processing sensitive data Download PDFInfo
- Publication number
- KR102717611B1 KR102717611B1 KR1020190126865A KR20190126865A KR102717611B1 KR 102717611 B1 KR102717611 B1 KR 102717611B1 KR 1020190126865 A KR1020190126865 A KR 1020190126865A KR 20190126865 A KR20190126865 A KR 20190126865A KR 102717611 B1 KR102717611 B1 KR 102717611B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- storage
- sensitive data
- sensitive
- area
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
민감 데이터 처리 장치 및 방법이 개시된다. 본 발명의 일실시예에 따른 민감 데이터 처리 장치는 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리를 포함하고, 상기 적어도 하나 이상의 프로그램은 데이터 비보호 영역에서, 스토리지 장치에 저장된 민감 데이터를 읽어오고, 데이터 보호 영역의 민감 데이터 저장 엔드포인트를 이용하여 데이터 보호 영역으로 상기 민감 데이터를 전달하고, 상기 데이터 보호 영역에서, 상기 데이터 비보호 영역으로부터 클라이언트 장치가 요청한 민감 데이터 서비스 명령을 수신하면 적어도 하나 이상의 엔드포인트들을 이용하여 상기 민감 데이터를 처리하고, 상기 데이터 비보호 영역에서, 상기 클라이언트 장치로 상기 민감 데이터의 처리 결과를 전달한다.A sensitive data processing device and method are disclosed. A sensitive data processing device according to an embodiment of the present invention includes one or more processors and an execution memory storing at least one program executed by the one or more processors, wherein the at least one program reads sensitive data stored in a storage device from a data non-protected area, transfers the sensitive data to a data protected area using a sensitive data storage endpoint of the data protected area, processes the sensitive data using at least one endpoint when a sensitive data service command requested by a client device is received from the data non-protected area in the data protected area, and transfers a result of processing the sensitive data to the client device in the data non-protected area.
Description
본 발명은 민감 데이터 처리 기술에 관한 것으로, 보다 상세하게는 데이터 보호 영역을 사용하여 민감 데이터의 유출을 원천적으로 차단하면서 데이터에 대한 처리 서비스를 동시에 지원하는 기술에 관한 것이다.The present invention relates to a sensitive data processing technology, and more specifically, to a technology for simultaneously supporting processing services for data while fundamentally blocking leakage of sensitive data by using a data protection area.
현재 사용자가 원하는 서비스를 시간과 장소의 제약 없이 빌려서 사용하는 클라우드 컴퓨팅에 대한 기술 개발 및 시장 수요가 증가하고 있다. 클라우드 컴퓨팅은 각 사용자별로 전용의 HW 및 SW를 구축하지 않아도 인터넷을 통해 사용자가 원하는 네크워크 및 스토리지, 컴퓨팅 서비스를 제공할 수 있다.Currently, the technology development and market demand for cloud computing, which allows users to rent and use desired services without time and place restrictions, is increasing. Cloud computing can provide users with desired network, storage, and computing services via the Internet without having to build dedicated HW and SW for each user.
클라우드 컴퓨팅 기술 중 데이터 저장 서비스와 관련된 스토리지 시스템의 경우, 사용자는 단순히 시스템이 제공하는 안전하고 편리한 서비스 인터페이스를 통해 데이터 저장을 요청할 수 있다. 이 때, 데이터는 온프레미스-퍼블릭 클라우드 스토리지가 통합된 단일 형상의 저장소에 저장되는 클라우드 통합 스토리지 시스템이 개발되고 있다. In the case of storage systems related to data storage services among cloud computing technologies, users can simply request data storage through a safe and convenient service interface provided by the system. At this time, a cloud integrated storage system is being developed in which data is stored in a single-form storage that integrates on-premise and public cloud storage.
특히, 클라우드 통합 스토리지 시스템은 기업 및 기관이 보유한 온프레미스(On-Premise) 스토리지와 클라우드 사업자가 제공하는 퍼블릭 클라우드 스토리지의 장점을 모두 활용할 수 있는 단일 형상의 온프레미스-퍼블릭 스토리지를 통합 관리및 운영할 수 있다.In particular, the cloud integrated storage system can manage and operate a single on-premise-public storage that can take advantage of both the on-premise storage owned by companies and organizations and the public cloud storage provided by cloud service providers.
클라우드 통합 스토리지 시스템은 단일 형상의 온프레미스-퍼블릭 스토리지를 통해 저장공간의 탄력성 및 비용 효율성을 확보하고 민감데이터의 통제권과 신뢰성을 보장하는 융합 스토리지 인프라 서비스 제공할 수 있다.Cloud integrated storage systems can provide a converged storage infrastructure service that secures the elasticity and cost efficiency of storage space through a single-form on-premise-public storage and guarantees control and reliability of sensitive data.
이를 통해, 클라우드 통합 스토리지 시스템은 새로운 비즈니스 창출 및 다양한 분야에 활용하기 위한 클라우드 서비스의 활용 편의성을 확대할 수 있다. Through this, the cloud integrated storage system can expand the convenience of utilizing cloud services for new business creation and various fields.
종래의 유사한 시스템의 동향을 살펴 보면 아래와 같다The trends of similar systems in the past are as follows:
'IDC 3rd Platform(실시간 분석, IoT, AI 컴퓨팅)'는 운영을 지원하기 위하여, 하이브리드 클라우드 컴퓨팅 서비스를 구축 및 도입하고자 하는 요구사항이 증가하고 있다.'IDC 3rd Platform (real-time analysis, IoT, AI computing)' is seeing an increasing demand to build and introduce hybrid cloud computing services to support operations.
'IDC 3rd Platform(실시간 분석, IoT, AI 컴퓨팅)'는 다양한 클라우드의 모델을 하나로 통합하여, 컴퓨팅 자원의 확장을 지원하고 자동화 및 컴퓨팅 환경의 관리 효율성 향상에 목적을 두고 있다.'IDC 3rd Platform (Real-time Analysis, IoT, AI Computing)' aims to support the expansion of computing resources by integrating various cloud models into one and improve automation and management efficiency of computing environments.
HP는 OpenStack 구조를 기반으로 REST API 기반 인프라 관리 기능을 제공하며 일부 서비스는 Amazon AWS 호환되도록 설계된 자사의 오픈소스인 Helion Eucalyputs 플랫폼을 제공하고 있다. HP provides REST API-based infrastructure management capabilities based on the OpenStack architecture, and some services offer its open source Helion Eucalyputs platform, which is 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 existing VMware virtualization and infrastructure.
Rackspace는 클라우드 인프라 영역의 확장을 중점으로 클라우드 서버, 기업의 SAN 스토리지를 통합하고 Cisco ASA 방화벽을 통한 데이터 보호를 지원하고있다.Rackspace is focusing on expanding its cloud infrastructure business, integrating cloud servers, corporate SAN storage, and supporting data protection through Cisco ASA firewalls.
Avere System의 Avere FlashCloud, MS의 Storsimple은 데이터 백업 및 아카이브, Tier2 수준의 어플리케이션, 재해복구 서비스를 제공하기 위해 로컬 및 클라우드 스토리지를 데이터 사용빈도에 따라 구분한 스토리지 계층(Storage Tiering) 구조의 클라우드 스토리지 게이트웨이 기술을 보유하고 있다.Avere FlashCloud from Avere Systems and Storsimple from MS have cloud storage gateway technology with a storage tiering structure that divides local and cloud storage according to data usage frequency to provide data backup and archive, Tier 2-level applications, and disaster recovery services.
로컬 및 퍼블릭 스토리지 양쪽에 같은 데이터를 복제(Replication) 형태로 운용하는 기술은 클라우드 스토리지 게이트웨이 복사(Copy) 구조이며, Ctera Networks Cloud Storage Gateway 솔루션이 있음. 해당 기술은 파일 분산 및 파일 동기화 및 공유 서비스를 추가적으로 제공하고 있다.The technology that operates the same data in the form of replication on both local and public storage is the cloud storage gateway copy structure, and there is a Ctera Networks Cloud Storage Gateway solution. The technology additionally provides file distribution and file synchronization and sharing services.
클라우드 통합 스토리지는 온프레미스 스토리지와 클라우드 스토리지를 하나로 통합하여 운영하는 스토리지 시스템이다. 클라우드 통합 스토리지는 데이터의 특성에 기반해서 자동으로 온프레미스 스토리지와 클라우드 스토리지에 데이터를 자동으로 분산 저장하거나 이동 저장할 수 있다. 또한 사용자의 명령에 의해서 수동으로 특정 온프레미스 스토리지나 클라우드 스토리지에 데이터를 저장할 수 있다.Cloud integrated storage is a storage system that operates by integrating on-premise storage and cloud storage. Cloud integrated storage can automatically distribute and store data or move data to on-premise storage and cloud storage based on the characteristics of the data. In addition, data can be manually stored in a specific on-premise storage or cloud storage by user command.
스토리지에 저장된 데이터는 다양한 데이터 처리 서비스를 위해서 사용되고 있으나, 금융, 의료, 개인 정보과 같은 보안에 민감한 데이터를 서비스하는 것에 대해서 여전히 데이터 유출의 위험이 존재한다. 특히, 이러한 데이터를 클라우드상에서 서비스하는 경우에는 데이터 유출의 위험이 더 증가한다. 그 이유는 온프레미스나 클라우드 시스템들이 다양한 보안 기능을 제공하더라도, 다양한 해킹 기법 및 사람에 의한 데이터 유출을 원천적으로 차단할 수 없기 때문이다.Data stored in storage is used for various data processing services, but there is still a risk of data leakage when servicing security-sensitive data such as financial, medical, and personal information. In particular, the risk of data leakage increases when servicing such data on the cloud. This is because, even if on-premise or cloud systems provide various security functions, they cannot fundamentally block various hacking techniques and data leakage by humans.
데이터는 보안을 위해서 암호화된 후에 스토리지에 저장된다. 암호화된 데이터는 유출이 되더라도 키가 없으면 복호화가 불가능하기 때문에 안전하다. 그러나, 해당 데이터에 대한 데이터 처리 서비스를 진행하려면 암호화된 데이터를 복호화해야 한다. 복호화된 데이터는 유출이 되었을 경우, 민감한 데이터가 그대로 노출이 되기 때문에 문제가 된다. 따라서 민감 데이터에 대한 처리 서비스를 제공하는 기존의 시스템에서는 데이터의 유출을 원천적으로 차단할 수 있는 방법이 없다. Data is stored in storage after being encrypted for security. Encrypted data is safe because it cannot be decrypted without a key even if it is leaked. However, in order to perform data processing services for the data, the encrypted data must be decrypted. If the decrypted data is leaked, sensitive data is exposed as it is, which is problematic. Therefore, in existing systems that provide processing services for sensitive data, there is no way to fundamentally block data leakage.
한편, 한국공개특허 제 10-2015-0040017 호“모바일 민감 데이터 관리 방법 및 이를 수행하는 위탁 서버”는 위탁 서버를 이용하여 모바일 단말 내 사용자의 민감 데이터를 위탁 저장하고, 모바일 단말에 설치되는 앱 소프트웨어의 유효성을 검증함으로써, 데이터 보호를 강화하고 기기 분실로 인한 데이터 노출의 피해를 최소화하며 불법 소프트웨어 설치를 방지하는 모바일 민감 데이터 관리관리방법 및 이를 수행하는 위탁 서버에 관하여 개시하고 있다.Meanwhile, Korean Patent Publication No. 10-2015-0040017, “Mobile Sensitive Data Management Method and Entrusted Server Performing Same,” discloses a mobile sensitive data management method and an entrusted server performing the same, which strengthens data protection, minimizes damage from data exposure due to device loss, and prevents installation of illegal software by entrusting storage of a user’s sensitive data in a mobile terminal using an entrusted server and verifying the validity of app software installed in the mobile terminal.
본 발명은 스토리지에 저장된 민감 데이터의 유출을 원천적으로 차단하면서, 민감 데이터에 대한 처리 서비스를 동시에 지원하는 것을 목적으로 한다.The purpose of the present invention is to fundamentally block the leakage of sensitive data stored in storage while simultaneously supporting processing services for sensitive data.
또한, 본 발명은 스토리지에 저장된 암호화 데이터를 복호화하여 민감 데이터 처리 서비스를 제공하고, 민감 데이터의 유출을 원천적으로 차단하는 것을 목적으로 한다.In addition, the present invention aims to provide a sensitive data processing service by decrypting encrypted data stored in storage and to fundamentally block the leakage of sensitive data.
또한, 본 발명은 클라우드 스토리지와 온프레미스 스토리지를 통합한 통합 스토리지의 읽기/쓰기 성능을 향상시키는 것을 목적으로 한다,In addition, the present invention aims to improve the read/write performance of integrated storage that integrates cloud storage and on-premise storage.
또한, 본 발명은 통합 스토리지가 포함하는 클라우드 스토리지와 온프레미스 스토리지를 동일한 성능으로 데이터 저장 서비스를 제공하는 것을 목적으로 한다.In addition, the present invention aims to provide a data storage service with the same performance as cloud storage and on-premise storage included in the integrated storage.
또한, 본 발명은 저장공간의 탄력성 및 비용 효율성을 기반으로 사용자의 데이터를 이동시키는 것을 목적으로 한다.Additionally, the present invention aims to move user data based on the elasticity and cost efficiency of storage space.
또한, 본 발명은 Amazon S3, MS Azure 등의 다양한 클라우드 스토리지를 지원하여 사용자들의 요구에 맞는 통합 스토리지의 서비스를 제공하는 것을 목적으로 한다.In addition, the present invention aims to provide an integrated storage service that meets the needs of users by supporting various cloud storages such as Amazon S3 and MS Azure.
또한, 본 발명은 클라우드 스토리지에 온프레미스 스토리지 수준의 접근 속도를 제공하는 것을 목적으로 한다.In addition, the present invention aims to provide access speeds to cloud storage at the level of on-premise storage.
또한, 본 발명은 사용자가 다양한 서비스 프로토콜을 사용하여 클라우드 통합 스토리지에 접근할 수 있도록 서비스 인터페이스를 제공하는 것을 목적으로 한다.In addition, the present invention aims to provide a service interface that allows users to access cloud integrated storage using various service protocols.
또한, 본 발명은 종래의 전통적인 파일, 블록 수준의 스토리지 서비스 및 최근의 클라우드 스토리지에서 제공하는 오브젝트 방식의 스토리지 서비스 등 다양한 방식의 스토리지 서비스를 제공하는 것을 목적으로 한다.In addition, the present invention aims to provide various types of storage services, such as conventional traditional file and block-level storage services and object-based storage services provided by recent cloud storage.
또한, 본 발명은 온프레미스 스토리지와 클라우드 스토리지 간의 안전한 데이터 전송을 보장하여 사용자의 데이터 기밀성을 보장하는 것을 목적으로 한다 In addition, the present invention aims to ensure the confidentiality of user data by ensuring secure data transmission between on-premise storage and cloud storage.
또한, 본 발명은 시스템의 오류로 인한 데이터 손실을 방지하는 것을 목적으로 한다.In addition, the present invention aims to prevent data loss due to system errors.
또한, 본 발명은 복수개의 클라우드 서비스를 동시에 수행하는 멀티 테넌트 기능을 지원하는 것을 목적으로 한다.In addition, the present invention aims to support a multi-tenant function that performs multiple cloud services simultaneously.
상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 민감 데이터 처리 장치는 하나 이상의 프로세서; 및 상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리를 포함하고, 상기 적어도 하나 이상의 프로그램은 데이터 비보호 영역에서, 스토리지 장치에 저장된 민감 데이터를 읽어오고, 데이터 보호 영역의 민감 데이터 저장 엔드포인트를 이용하여 데이터 보호 영역으로 상기 민감 데이터를 전달하고, 상기 데이터 보호 영역에서, 상기 데이터 비보호 영역으로부터 클라이언트 장치가 요청한 민감 데이터 서비스 명령을 수신하면 적어도 하나 이상의 엔드포인트들을 이용하여 상기 민감 데이터를 처리하고, 상기 데이터 비보호 영역에서, 상기 클라이언트 장치로 상기 민감 데이터의 처리 결과를 전달한다.According to an embodiment of the present invention for achieving the above object, a sensitive data processing device comprises: one or more processors; and an execution memory storing at least one program executed by the one or more processors, wherein the at least one program reads sensitive data stored in a storage device in a data non-protected area, transfers the sensitive data to a data protected area using a sensitive data storage endpoint of the data protected area, processes the sensitive data using at least one endpoint when a sensitive data service command requested by a client device is received from the data non-protected area in the data protected area, and transfers a result of processing the sensitive data to the client device in the data non-protected area.
이 때, 상기 데이터 보호 영역은 운영체제가 제공하는 입출력 기능이 차단되고, 하드웨어 기능 및 가상화 기능에 기반하여 상기 데이터 보호 영역의 외부로부터의 메모리 접근이 차단된 것일 수 있다.At this time, the data protection area may have input/output functions provided by the operating system blocked, and memory access from outside the data protection area may be blocked based on hardware functions and virtualization functions.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 비보호 영역에서, 암호화된 상기 민감 데이터를 복호화하기 위한 복호화 키를 상기 스토리지 장치로부터 전달 받고, 상기 데이터 보호 영역의 키 저장 엔드포인트를 이용하여 상기 복호화 키를 상기 데이터 보호 영역으로 전달할 수 있다.At this time, the at least one program can receive a decryption key for decrypting the encrypted sensitive data from the storage device in the data non-protected area, and transmit the decryption key to the data protected area using the key storage endpoint of the data protected area.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에서, 상기 복호화 키를 이용하여 상기 민감 데이터를 복호화하고, 상기 민감 데이터 서비스 엔드포인트를 이용하여 상기 데이터 비보호 영역으로부터 전달 받은 상기 클라이언트 장치로부터 민감 데이터 서비스 명령에 의해 상기 복호화된 민감 데이터를 처리할 수 있다.At this time, the at least one program can decrypt the sensitive data using the decryption key in the data protection area, and process the decrypted sensitive data by a sensitive data service command from the client device received from the data non-protection area using the sensitive data service endpoint.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에서, 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 저장하고, 상기 민감데이터의 처리 결과를 상기 데이터 비보호 영역에 전달할 수 있다.At this time, the at least one program can store the processing result of the sensitive data in the data protection area through the sensitive data service gateway, and transmit the processing result of the sensitive data to the data non-protection area.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역에 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 데이터 보호 메모리 영역에 복사하여 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 이용하여 상기 민감 데이터를 처리할 수 있다.At this time, the at least one program can store, in the data protection area, a service acquisition of the sensitive data in a non-protected data memory area through the sensitive data service gateway, copy and store the service acquisition of the sensitive data stored in the non-protected data memory area in a data protection memory area, and process the sensitive data using the service acquisition of the sensitive data stored in the data protection memory area.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 상기 데이터 보호 메모리 영역에 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 메모리 영역에 복사하여 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 영역에 전달할 수 있다.At this time, the at least one program can store the processing result of the sensitive data in the data protection area through the sensitive data service gateway, copy the processing result of the sensitive data stored in the data protection memory area to the data non-protection memory area and store it, and transfer the processing result of the sensitive data stored in the data non-protection memory area to the data non-protection area.
이 때, 상기 데이터 보호 영역은 상기 민감 데이터를 처리하기 위한 적어도 하나의 엔드포인트들을 포함하고, 상기 데이터 비보호 영역으로부터 호출받은 엔드포인트를 이용하여 상기 민감 데이터를 처리할 수 있다.At this time, the data protection area includes at least one endpoint for processing the sensitive data, and can process the sensitive data using an endpoint called from the data non-protection area.
이 때, 상기 데이터 보호 영역은 상기 데이터 비보호 영역으로부터, 상기 민감 데이터의 전달 시작을 호출 받는 엔드포인트, 상기 복호화 키를 전달 받는 엔드포인트, 상기 데이터 보호 영역으로 상기 민감 데이터를 전달 받는 엔드포인트 및 상기 민감 데이터의 전달 종료를 호출 받는 엔드포인트를 포함할 수 있다.At this time, the data protection area may include an endpoint that receives a call for starting the transmission of the sensitive data from the data non-protection area, an endpoint that receives the decryption key, an endpoint that receives the sensitive data to the data protection area, and an endpoint that receives a call for ending the transmission of the sensitive data.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에 포함된 엔드포인트가, 상기 민감 데이터의 서비스 인수에 기설정된 태그를 확인하고, 상기 태그에 해당하는 정보를 이용하여 상기 민감 데이터를 처리할 수 있다.At this time, the at least one program can check a tag preset for service acquisition of the sensitive data by an endpoint included in the data protection area, and process the sensitive data using information corresponding to the tag.
또한, 상기의 목적을 달성하기 위한 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 민감 데이터 처리 장치의 민감 데이터 처리 방법에 있어서, 데이터 비보호 영역에서, 스토리지 장치에 저장된 민감 데이터를 읽어오고, 민감 데이터 저장 엔드포인트를 이용하여 데이터 보호 영역으로 상기 민감 데이터를 전달하는 단계; 상기 데이터 보호 영역에서, 상기 데이터 비보호 영역으로부터 클라이언트 장치가 요청한 민감 데이터 서비스 명령을 수신하면 적어도 하나 이상의 엔드포인트들을 이용하여 상기 민감 데이터를 처리하는 단계 및 상기 데이터 비보호 영역에서, 상기 클라이언트 장치로 상기 민감 데이터의 처리 결과를 전달하는 단계를 포함한다.In addition, according to an embodiment of the present invention for achieving the above purpose, a sensitive data processing method is provided in a sensitive data processing device, comprising: a step of reading sensitive data stored in a storage device in a data non-protection area, and transferring the sensitive data to a data protection area using a sensitive data storage endpoint; a step of processing the sensitive data using at least one endpoint when a sensitive data service command requested by a client device is received from the data non-protection area in the data protection area; and a step of transferring a processing result of the sensitive data to the client device in the data non-protection area.
이 때, 상기 데이터 보호 영역은 운영체제가 제공하는 입출력 기능이 차단되고, 하드웨어 기능 및 가상화 기능에 기반하여 상기 데이터 보호 영역의 외부로부터의 메모리 접근이 차단된 것일 수 있다.At this time, the data protection area may have input/output functions provided by the operating system blocked, and memory access from outside the data protection area may be blocked based on hardware functions and virtualization functions.
이 때, 상기 민감 데이터를 전달하는 단계는 상기 데이터 비보호 영역에서, 암호화된 상기 민감 데이터를 복호화하기 위한 복호화 키를 상기 스토리지 장치로부터 전달 받고, 상기 데이터 보호 영역의 키 저장 엔드포인트를 이용하여 상기 복호화 키를 상기 데이터 보호 영역으로 전달할 수 있다.At this time, the step of transmitting the sensitive data may include receiving a decryption key for decrypting the encrypted sensitive data from the storage device in the data non-protection area, and transmitting the decryption key to the data protection area using the key storage endpoint of the data protection area.
이 때, 상기 민감 데이터를 처리하는 단계는 상기 데이터 보호 영역에서, 상기 복호화 키를 이용하여 상기 민감 데이터를 복호화하고, 상기 민감 데이터 서비스 엔드포인트를 이용하여 상기 데이터 비보호 영역으로부터 전달 받은 상기 클라이언트 장치로부터 민감 데이터 서비스 명령에 의해 상기 복호화된 민감 데이터를 처리할 수 있다.At this time, the step of processing the sensitive data may include decrypting the sensitive data using the decryption key in the data protection area, and processing the decrypted sensitive data by a sensitive data service command from the client device received from the data non-protection area using the sensitive data service endpoint.
이 때, 상기 민감 데이터의 처리 결과를 전달하는 단계는 상기 데이터 보호 영역에서, 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 저장하고, 상기 민감데이터의 처리 결과를 상기 데이터 비보호 영역에 전달할 수 있다.At this time, the step of transmitting the processing result of the sensitive data may store the processing result of the sensitive data in the data protection area through a sensitive data service gateway, and transmit the processing result of the sensitive data to the data non-protection area.
이 때, 상기 민감 데이터를 처리하는 단계는 상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역에 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 데이터 보호 메모리 영역에 복사하여 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 이용하여 상기 민감 데이터를 처리할 수 있다.At this time, the step of processing the sensitive data may include: storing the service acquisition of the sensitive data in a non-protected data memory area through the sensitive data service gateway in the data protection area, copying and storing the service acquisition of the sensitive data stored in the non-protected data memory area in a data protection memory area, and processing the sensitive data using the service acquisition of the sensitive data stored in the data protection memory area.
이 때, 상기 민감 데이터의 처리 결과를 전달하는 단계는 상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 상기 데이터 보호 메모리 영역에 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 메모리 영역에 복사하여 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 영역에 전달할 수 있다.At this time, the step of transmitting the processing result of the sensitive data may include storing the processing result of the sensitive data in the data protection memory area through the sensitive data service gateway in the data protection area, copying and storing the processing result of the sensitive data stored in the data protection memory area in the data non-protection memory area, and transmitting the processing result of the sensitive data stored in the data non-protection memory area to the data non-protection area.
이 때, 상기 데이터 보호 영역은 상기 민감 데이터를 처리하기 위한 적어도 하나의 엔드포인트들을 포함하고, 상기 데이터 비보호 영역으로부터 호출받은 엔드포인트를 이용하여 상기 민감 데이터를 처리할 수 있다.At this time, the data protection area includes at least one endpoint for processing the sensitive data, and can process the sensitive data using an endpoint called from the data non-protection area.
이 때, 상기 데이터 보호 영역은 상기 민감 데이터 저장 엔드포인트, 상기 키 저장 엔드포인트, 상기 데이터 비보호 영역으로부터 상기 민감 데이터의 전달 시작을 호출 받는 엔드포인트 및 상기 데이터 비보호 영역으로부터 상기 민감 데이터의 전달 종료를 호출 받는 엔드포인트를 포함할 수 있다.At this time, the data protection area may include the sensitive data storage endpoint, the key storage endpoint, an endpoint that receives a call to start transmission of the sensitive data from the data non-protection area, and an endpoint that receives a call to end transmission of the sensitive data from the data non-protection area.
이 때, 상기 데이터 보호 영역에 포함된 엔드포인트는 상기 민감 데이터의 서비스 인수에 기설정된 태그를 확인하고, 상기 태그에 해당하는 정보를 이용하여 상기 민감 데이터를 처리할 수 있다.At this time, the endpoint included in the data protection area can check the tag preset for the service acquisition of the sensitive data and process the sensitive data using information corresponding to the tag.
또한, 상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 통합 스토리지 관리 장치는 온프레미스 스토리지 및 클라우드 스토리지를 포함하는 통합 스토리지에 저장하기 위해 데이터를 분산하는, 데이터 분산 및 저장부; 상기 분산된 데이터를 저장하기 위해 상기 통합 스토리지를 연결하고, 상기 저장될 데이터의 스토리지 티어링(tiering) 정보를 제공하는 스토리지 관리부; 상기 데이터의 실제 저장 위치와 상관없이 상기 통합 스토리지를 가상 데이터 스토리지로 제공하는, 데이터 조작부; 및 상기 생성된 가상 데이터 스토리지를 사용자에게 단일 가상 스토리지로서 인터페이스를 제공하는, 스토리지 연결부;를 포함하고, 여기서 상기 스토리지 티어링 정보는, 스토리지의 퍼포먼스, 상기 데이터의 사용 시간 및 데이터의 접근 주기에 따라 달라질 수 있다.In addition, an integrated storage management device according to an embodiment of the present invention for achieving the above-described purpose includes: a data distribution and storage unit for distributing data to be stored in an integrated storage including on-premise storage and cloud storage; a storage management unit for connecting the integrated storage to store the distributed data and providing storage tiering information of the data to be stored; a data manipulation unit for providing the integrated storage as a virtual data storage regardless of the actual storage location of the data; and a storage connection unit for providing an interface to a user with the generated virtual data storage as a single virtual storage; wherein the storage tiering information may vary depending on the performance of the storage, the usage time of the data, and the access cycle of the data.
이 때, 상기 스토리지 연결부는 상기 단일 가상 스토리지를 사용하기 위한 사용자 접근 메커니즘을 제공하고, 상기 사용자 접근 메커니즘은 상기 단일 가상 스토리지의 타입에 따라 달라질 수 있다.At this time, the storage connector provides a user access mechanism for using the single virtual storage, and the user access mechanism may vary depending on the type of the single virtual storage.
이 때, 상기 데이터 조작부는 상기 단일 가상 스토리지에 저장하는 데이터를 분할, 암호화, 압축 중 적어도 어느 하나의 변환과정에 따라 변환하여 저장할 수 있다.At this time, the data manipulation unit can convert and store data stored in the single virtual storage according to at least one conversion process among segmentation, encryption, and compression.
또한, 상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 통합 스토리지 관리 방법은 통합 스토리지 관리 장치의 통합 스토리지 관리 방법에 있어서, 온프레미스 스토리지 및 클라우드 스토리지를 포함하는 통합 스토리지에 저장하기 위해 데이터를 분산하는 데이터 분산단계; 상기 분산된 데이터를 저장하기 위해 상기 통합 스토리지를 연결하고, 상기 저장될 데이터의 스토리지 티어링(tiering) 정보를 제공하는 스토리지 관리단계; 및 상기 데이터의 실제 저장 위치와 상관없이 상기 통합 스토리지를 가상 데이터 스토리지로 제공하고, 상기 가상 데이터 스토리지를 사용자에게 단일 가상 스토리지로서 인터페이스를 제공하는 데이터 관리단계;를 포함하고, 상기 스토리지 티어링 정보는, 스토리지의 퍼포먼스, 상기 데이터의 사용 시간 및 데이터의 접근 주기에 따라 달라질 수 있다.In addition, according to an embodiment of the present invention for achieving the above-mentioned object, an integrated storage management method of an integrated storage management device includes: a data distribution step of distributing data for storage in an integrated storage including on-premise storage and cloud storage; a storage management step of connecting the integrated storage to store the distributed data and providing storage tiering information of the data to be stored; and a data management step of providing the integrated storage as a virtual data storage regardless of the actual storage location of the data and providing an interface to the virtual data storage as a single virtual storage to a user; wherein the storage tiering information may vary depending on the performance of the storage, the usage time of the data, and the access cycle of the data.
이 때, 상기 데이터 관리단계는 상기 단일 가상 스토리지를 사용하기 위한 사용자 접근 메커니즘을 제공하고, 상기 사용자 접근 메커니즘은 상기 단일 가상 스토리지의 타입에 따라 달라질 수 있다.At this time, the data management step provides a user access mechanism for using the single virtual storage, and the user access mechanism may vary depending on the type of the single virtual storage.
이 때, 상기 데이터 관리단계는 상기 단일 가상 스토리지에 저장하는 데이터를 분할, 암호화, 압축 중 적어도 어느 하나의 변환과정에 따라 변환하여 저장할 수 있다.At this time, the data management step can store data stored in the single virtual storage by converting it through at least one of the conversion processes of segmentation, encryption, and compression.
본 발명은 스토리지에 저장된 민감 데이터의 유출을 원천적으로 차단하면서, 민감 데이터에 대한 처리 서비스를 동시에 지원할 수 있다.The present invention can fundamentally block the leakage of sensitive data stored in storage while simultaneously supporting processing services for sensitive data.
또한, 본 발명은 스토리지에 저장된 암호화 데이터를 복호화하여 민감 데이터 처리 서비스를 제공하고, 민감 데이터의 유출을 원천적으로 차단할 수 있다.In addition, the present invention provides a sensitive data processing service by decrypting encrypted data stored in storage, and can fundamentally block leakage of sensitive data.
또한, 본 발명은 클라우드 스토리지와 온프레미스 스토리지를 통합한 통합 스토리지의 읽기/쓰기 성능을 향상시킬 수 있다.In addition, the present invention can improve the read/write performance of integrated storage that integrates cloud storage and on-premise storage.
또한, 본 발명은 통합 스토리지가 포함하는 클라우드 스토리지와 온프레미스 스토리지를 동일한 성능으로 데이터 저장 서비스를 제공할 수 있다.In addition, the present invention can provide a data storage service with the same performance as cloud storage and on-premise storage included in the integrated storage.
또한, 본 발명은 저장공간의 탄력성 및 비용 효율성을 기반으로 사용자의 데이터를 이동시킬 수 있다.Additionally, the present invention can move user data based on the elasticity and cost efficiency of storage space.
또한, 본 발명은 Amazon S3, MS Azure 등의 다양한 클라우드 스토리지를 지원하여 사용자들의 요구에 맞는 통합 스토리지의 서비스를 제공할 수 있다.In addition, the present invention can provide an integrated storage service that meets the needs of users by supporting various cloud storages such as Amazon S3 and MS Azure.
또한, 본 발명은 클라우드 스토리지에 온프레미스 스토리지 수준의 접근 속도를 제공할 수 있다.Additionally, the present invention can provide access speeds to cloud storage at the level of on-premise storage.
또한, 본 발명은 사용자가 다양한 서비스 프로토콜을 사용하여 클라우드 통합 스토리지에 접근할 수 있도록 서비스 인터페이스를 제공할 수 있다.Additionally, the present invention can provide a service interface to enable users to access cloud integrated storage using various service protocols.
또한, 본 발명은 종래의 전통적인 파일, 블록 수준의 스토리지 서비스 및 최근의 클라우드 스토리지에서 제공하는 오브젝트 방식의 스토리지 서비스 등 다양한 방식의 스토리지 서비스를 제공할 수 있다.In addition, the present invention can provide various types of storage services, such as conventional traditional file and block-level storage services and object-based storage services provided by recent cloud storage.
또한, 본 발명은 온프레미스 스토리지와 클라우드 스토리지 간의 안전한 데이터 전송을 보장하여 사용자의 데이터 기밀성을 보장할 수 있다.In addition, the present invention can ensure the confidentiality of user data by ensuring secure data transmission between on-premise storage and cloud storage.
또한, 본 발명은 시스템의 오류로 인한 데이터 손실을 방지할 수 있다.Additionally, the present invention can prevent data loss due to system errors.
또한, 본 발명은 사용자의 편의를 위해서 스토리지 하드웨어와 소프트웨어가 하나로 통합된 어플라이언스 형태의 클라우드 통합 스토리지를 제공하여 손쉽게 시스템을 구축할 수 있다.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 the convenience of users, thereby allowing for easy system construction.
또한, 본 발명은 복수개의 클라우드 서비스를 동시에 수행하는 멀티 테넌트 기능을 지원할 수 있다.In addition, the present invention can support a multi-tenant function that performs multiple cloud services simultaneously.
도 1은 본 발명의 일실시예에 따른 통합 스토리지 시스템을 나타낸 블록도이다.
도 2는 본 발명의 일실시예에 따른 통합 스토리지 관리 장치를 나타낸 블록도이다.
도 3은 도 2에 도시된 스토리지 연결부의 일 예를 세부적으로 나타낸 블록도이다.
도 4는 도 2에 도시된 데이터 조작부의 일 예를 세부적으로 나타낸 블록도이다.
도 5는 본 발명의 일실시예에 따른 램디스크의 일 예를 나타낸 도면이다.
도 6은 본 발명의 일실시예에 따른 데이터 분산 및 저장부와 백엔드 스토리지 관리부의 동작을 세부적으로 나타낸 도면이다.
도 7은 본 발명의 일실시예에 통합 스토리지 관리 방법을 나타낸 동작흐름도이다.
도 8은 본 발명의 일실시예에 따른 통합 스토리지 관리 장치와 서비스 제공자의 관계를 나타낸 도면이다.
도 9는 본 발명의 일실시예에 따른 스토리지 서비스 등록을 위한 통합 스토리지 관리 방법을 나타낸 동작흐름도이다.
도 10은 본 발명의 일실시예에 따른 통합 스토리지 관리 장치를 나타낸 블록도이다.
도 11은 본 발명의 일실시예에 따른 백엔드 연결 데몬을 이용한 멀티테넌트 기반 통합 스토리지 관리 장치를 나타낸 블록도이다.
도 12는 본 발명의 일실시예에 따른 스토리지 서비스 제공을 위한 멀티테넌트 기반 통합 스토리지 관리 방법을 나타낸 동작흐름도이다.
도 13은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
도 14는 본 발명의 일실시예에 따른 통합 스토리지 시스템을 나타낸 도면이다.
도 15는 본 발명의 일실시예에 따른 통합 스토리지 시스템에서 데이터 액세스를 위한 멀티 스토리지 유형 및 액세스 메커니즘을 나타낸 도면이다.
도 16은 본 발명의 일실시예에 따른
도 17은 본 발명의 일실시예에 따른 통합 스토리지 관리 시스템의 유스 케이스를 나타낸 도면이다.
도 18는 본 발명의 일실시예에 따른 통합 스토리지 서비스를 위한 데이터 스토리지의 등록 과정을 나타낸 동작흐름도이다.
도 19는 본 발명의 일실시예에 따른 민감 데이터 처리 장치를 나타낸 블록도이다.
도 20은 도 19에 도시된 클라우드 통합 스토리지 장치와 데이터 비보호 영역 처리부의 일 예를 세부적으로 나타낸 블록도이다.
도 21은 도 20에 도시된 데이터 비보호 영역 처리부와 데이터 보호 영역 처리부의 일 예를 세부적으로 나타낸 블록도이다.
도 22는 도 21에 도시된 민감 데이터 서비스 게이트웨이부의 일 예를 세부적으로 나타낸 블록도이다.
도 23은 본 발명의 일실시예에 따른 민감 데이터 처리 방법을 나타낸 동작흐름도이다.
도 24는 본 발명의 일실시예에 따른 데이터 비보호 영역 처리부와 데이터 보호 영역 처리부에서의 민감 데이터 처리 방법을 나타낸 동작흐름도이다.
도 25는 본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법을 나타낸 동작흐름도이다.
도 26 및 도 27은 본 발명의 일실시예에 따른 통합 스토리지 관리 기능을 세부적으로 나타낸 블록도이다.FIG. 1 is a block diagram illustrating an integrated storage system according to one embodiment of the present invention.
FIG. 2 is a block diagram illustrating an integrated storage management device according to one embodiment of the present invention.
FIG. 3 is a block diagram illustrating in detail an example of a storage connection unit illustrated in FIG. 2.
Figure 4 is a block diagram showing in detail an example of the data manipulation unit illustrated in Figure 2.
FIG. 5 is a drawing showing an example of a RAM disk according to one embodiment of the present invention.
FIG. 6 is a drawing showing in detail the operation of a data distribution and storage unit and a backend storage management unit according to one embodiment of the present invention.
Figure 7 is a flow chart illustrating an integrated storage management method according to one embodiment of the present invention.
FIG. 8 is a diagram showing the relationship between an integrated storage management device and a service provider according to one embodiment of the present invention.
FIG. 9 is a flowchart illustrating an integrated storage management method for registering a storage service according to one embodiment of the present invention.
FIG. 10 is a block diagram illustrating an integrated storage management device according to an embodiment of the present invention.
FIG. 11 is a block diagram illustrating a multi-tenant-based integrated storage management device using a backend connection daemon according to one embodiment of the present invention.
FIG. 12 is a flowchart illustrating a multi-tenant-based integrated storage management method for providing storage services according to one embodiment of the present invention.
FIG. 13 is a diagram illustrating a computer system according to one embodiment of the present invention.
FIG. 14 is a drawing showing an integrated storage system according to one embodiment of the present invention.
FIG. 15 is a diagram illustrating a multi-storage type and access mechanism for data access in an integrated storage system according to one embodiment of the present invention.
Figure 16 is according to one embodiment of the present invention.
FIG. 17 is a diagram illustrating a use case of an integrated storage management system according to one embodiment of the present invention.
FIG. 18 is a flowchart illustrating a registration process of data storage for an integrated storage service according to an embodiment of the present invention.
FIG. 19 is a block diagram showing a sensitive data processing device according to one embodiment of the present invention.
FIG. 20 is a block diagram illustrating in detail an example of a cloud integrated storage device and a data non-protection area processing unit illustrated in FIG. 19.
Figure 21 is a block diagram showing in detail an example of a data non-protection area processing unit and a data protection area processing unit illustrated in Figure 20.
Figure 22 is a block diagram showing in detail an example of the sensitive data service gateway unit illustrated in Figure 21.
Figure 23 is a flow chart showing a sensitive data processing method according to one embodiment of the present invention.
Figure 24 is a flow chart showing a sensitive data processing method in a data non-protection area processing unit and a data protection area processing unit according to one embodiment of the present invention.
Figure 25 is a flow chart showing a sensitive data processing method in a sensitive data service gateway unit according to one embodiment of the present invention.
FIGS. 26 and 27 are block diagrams illustrating in detail an integrated storage management function according to one embodiment of the present invention.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.The present invention will be described in detail with reference to the attached drawings as follows. Herein, repeated descriptions, well-known functions that may unnecessarily obscure the gist of the present invention, and detailed descriptions of configurations are omitted. The embodiments of the present invention are provided to more completely explain the present invention to those with average knowledge in the art. Accordingly, the shapes and sizes of elements in the drawings may be exaggerated for a clearer description.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, whenever a part is said to "include" a component, this does not mean that it excludes other components, but rather that it may include other components, unless otherwise stated.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the attached drawings.
도 1은 본 발명의 일실시예에 따른 통합 스토리지 시스템을 나타낸 블록도이다.FIG. 1 is a block diagram illustrating an integrated storage system according to one embodiment of the present invention.
도 1을 참조하면, 본 발명의 일실시예에 따른 통합 스토리지 시스템은 사용자 클라이언트 장치(10), 통합 스토리지 관리 장치(100) 및 통합 스토리지(20)를 포함할 수 있다.Referring to FIG. 1, an integrated storage system according to one embodiment of the present invention may include a user client device (10), an integrated storage management device (100), and an integrated storage (20).
사용자 클라이언트 장치(10)는 사용자가 통합 스토리지 관리 장치(100)를 통해 통합 스토리지(20)의 서비스를 요청하고, 서비스를 제공받을 수 있다.A user client device (10) can request a service of the integrated storage (20) and receive the service through the integrated storage management device (100).
통합 스토리지(20)는 클라우드 스토리지(21)와 논-클라우드 스토리지(22)를 포함할 수 있다.Unified storage (20) may include cloud storage (21) and non-cloud storage (22).
클라우드 스토리지(21)는 사업자가 제공하는 퍼블릭 클라우드 스토리지에 상응할 수 있다.Cloud storage (21) may correspond to public cloud storage provided by a business operator.
논-클라우드 스토리지(22)는 기업 및 기관이 보유하는 온프레미스(On-Premise) 스토리지에 상응할 수 있다.Non-cloud storage (22) may correspond to on-premise storage owned by companies and institutions.
통합 스토리지 관리 장치(100)는 통합 스토리지(20)가 포함하는 클라우드 스토리지(21)와 논-클라우드 스토리지(22)를 단일 형상으로 관리 및 운영할 수 있다.The integrated storage management device (100) can manage and operate the cloud storage (21) and non-cloud storage (22) included in the integrated storage (20) in a single form.
이 때, 통합 스토리지 관리 장치(100)는 사용자가 클라우드 스토리지(21)에 접근하는지, 논-클라우드 스토리지(22)에 접근하는지 식별할 수 없는 수준의 동일한 성능으로 클라우드 서비스를 제공할 수 있다.At this time, the integrated storage management device (100) can provide cloud services with the same level of performance that cannot identify whether the user is accessing cloud storage (21) or non-cloud storage (22).
도 2는 본 발명의 일실시예에 따른 통합 스토리지 관리 장치를 나타낸 블록도이다. 도 3은 도 2에 도시된 스토리지 연결부의 일 예를 세부적으로 나타낸 블록도이다. 도 4는 도 2에 도시된 데이터 조작부의 일 예를 세부적으로 나타낸 블록도이다.FIG. 2 is a block diagram showing an integrated storage management device according to an embodiment of the present invention. FIG. 3 is a block diagram showing in detail an example of a storage connection unit shown in FIG. 2. FIG. 4 is a block diagram showing in detail an example of a data manipulation unit shown in FIG. 2.
도 2를 참조하면, 본 발명의 일실시예에 따른 통합 스토리지 관리 장치(100)는 스토리지 연결부(110), 데이터 조작부(120), 데이터 분산 및 저장부(130), 백엔드 스토리지 관리부(140) 및 프로비저닝 및 정책 관리부(150)를 포함한다.Referring to FIG. 2, an integrated storage management device (100) according to one embodiment of the present invention includes a storage connection unit (110), a data manipulation unit (120), a data distribution and storage unit (130), a backend storage management unit (140), and a provisioning and policy management unit (150).
스토리지 연결부(110)는 통합 스토리지(20)와 연동하여 사용자에게 통합 스토리지(20)의 서비스를 제공할 수 있다.The storage connection unit (110) can be linked with the integrated storage (20) to provide the service of the integrated storage (20) to the user.
도 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 (110) can provide protocol processing of block, file and object storage, IO interface and acceleration functions to improve the same.
이 때, 스토리지 연결부(110)는 사용자에게 전통적인 스토리지 서비스 인터페이스인 블록 디바이스 및 파일 시스템 서비스를 기본적으로 제공할 수 있으며, 최근에 등장한 오브젝트 스토리지 인터페이스까지 제공할 수 있다.At this time, the storage connection unit (110) can basically provide the user with a block device and file system service, which are traditional storage service interfaces, and can also provide a recently introduced object storage interface.
데이터 조작부(120)는 사용자에게 가상 디스크 풀을 제공하여 전체 스토리지 시스템의 단일 스토리지 뷰를 제공할 수 있다.The data manipulation unit (120) can provide users with a virtual disk pool to provide a single storage view of the entire storage system.
즉, 데이터 조작부(120)는 빠른 스토리지 리소스를 사용하여 가상 디스크 풀을 구성할 수 있고, 사용자에게 스토리지들을 가상 디스크로 제공 할 수 있다.That is, the data manipulation unit (120) can configure a virtual disk pool using fast storage resources and provide storages as virtual disks to users.
이에 따라, 사용자는 데이터가 다양한 유형의 스토리지에 물리적으로 분산되어 있지만 데이터의 실제 저장 위치를 고려하지 않고 단일 스토리지 구성을 제공받을 수 있다.Accordingly, users may be presented with a single storage configuration without considering where the data is actually stored, even though the data is physically distributed across different types of storage.
이 때, 데이터 조작부(120)는 스냅 샷, 빠른 복제 및 분산 트랜잭션 로그와 같은 데이터 관리 기능을 제공할 수 있다.At this time, the data manipulation unit (120) can provide data management functions such as snapshots, fast replication, and distributed transaction logs.
이 때, 데이터 조작부(120)는 데이터 쓰기 또는 데이터 읽기 동작의 경우 해당 사용자에게 쓰기 버퍼 또는 읽기 캐시 기능을 제공할 수 있다.At this time, the data manipulation unit (120) can provide a write buffer or read cache function to the user in case of a data write or data read operation.
이 때, 데이터 조작부(120)는 메모리, SSD 및 PCIe 플래시 카드를 사용하여 사용자에게 빠른 응답 시간을 보장할 수 있다.At this time, the data manipulation unit (120) can guarantee a fast response time to the user by using memory, SSD, and PCIe flash card.
이 때, 데이터 조작부(120)는 램디스크를 이용하여 상기 통합 스토리지의 서비스를 제공하기 위한 데이터의 읽기/쓰기 캐쉬를 제공할 수 있다.At this time, the data manipulation unit (120) can provide a read/write cache of data for providing the service of the integrated storage using a RAM disk.
데이터 조작부(120)는 퍼블릭 클라우드 스토리지(클라우드 스토리지(21))에 저장된 데이터에 대한 캐쉬 기능을 제공할 수 있다. 퍼블릭 클라우드 스토리지에 저장된 데이터는 인터넷망을 통해 데이터가 전송되기 때문에 온프레미스 스토리지(논-클라우드 스토리지(22))에 비해서 속도가 느리다.The data manipulation unit (120) can provide a cache function for data stored in public cloud storage (cloud storage (21)). Data stored in public cloud storage is slower than on-premise storage (non-cloud storage (22)) because the data is transmitted through the Internet.
또한, 데이터는 사용자가 인지하지 못한 상태에서 자동으로 퍼블릭 클라우드 스토리지에 분산 저장이 되기 때문에, 퍼블릭 클라우드 스토리지에 저장된 데이터에 대한 고속 접근 기능이 필요하다.Additionally, since data is automatically distributed and stored in public cloud storage without the user's knowledge, high-speed access to data stored in public cloud storage is required.
데이터 조작부(120)는 퍼블릭 클라우드 스토리지에 저장된 데이타를 클라우드 통합 스토리지 운용 플랫폼 내부의 저장 장치로 캐쉬하여, 퍼블릭 클라우드 저장소에 대해서 온프레미스 스토리지 수준의 접근 속도를 제공할 수 있다.The data manipulation unit (120) can cache data stored in public cloud storage as a storage device within the cloud integrated storage operation platform, thereby providing access speeds for public cloud storage at the level of on-premise storage.
도 4를 참조하면, 데이터 조작부(120)는 인 메모리 네임 스페이스 블록(121), 읽기 캐쉬부(122), 쓰기 캐쉬부(123), 인 메모리 디듀플리케이션 엔진(124) 및 인 메모리 데이터 컴프레션 엔진(125)을 포함할 수 있다.Referring to FIG. 4, the data manipulation unit (120) may include an in-memory name space block (121), a read cache unit (122), a write cache unit (123), an in-memory deduplication engine (124), and an in-memory data compression engine (125).
인 메모리 네임 스페이스 블록(121)은 실제 데이터를 접근하기 위해서 주기적으로 읽고 쓰기를 반복하는 정보가 저장되어 있고, 고속의 접근 속도를 보장할 수 있다.The in-memory name space block (121) stores information that is read and written periodically to access actual data, and can guarantee high-speed access speed.
이 때, 인 메모리 네임 스페이스 블록(121)은 데이터 접근에 필요한 정보들을 고속의 메인 메모리에 저장하여 데이터 저장 및 관리 기능을 제공할 수 있다.At this time, the in-memory name space block (121) can provide data storage and management functions by storing information required for data access in high-speed main memory.
이 때, 인 메모리 네임 스페이스 블록(121)은 그 용량이나 휘발성 저장 매체에 한계가 있다. 그러므로 실시간 백업을 통하여 백업을 진행하고 백업 된 네임스페이스 블록은 다수 노드들(가상 머신 또는 물리적인 서버들)의 클러스터링을 통하여 고 가용성 기능을 수행할 수 있다.At this time, the in-memory name space block (121) has limitations in its capacity or volatile storage medium. Therefore, backup is performed through real-time backup, and the backed-up name space block can perform a high availability function through clustering of multiple nodes (virtual machines or physical servers).
이 때, 데이터 조작부(120)는 통합 스토리지 구조의 빠른 성능을 제공하기 위하여 인메모리 기반의 네임스페이스 블록(121) 및 데이터 압축 구조인 인 메모리 디듀플리케이션 엔진(124)과 인 메모리 데이터 컴프레션 엔진(125)을 인메모리 블록에서 동시에 수행할 수도 있다.At this time, the data manipulation unit (120) may simultaneously perform an in-memory-based namespace block (121) and an in-memory deduplication engine (124), which is a data compression structure, and an in-memory data compression engine (125) in the in-memory block to provide fast performance of the integrated storage structure.
이 때, 데이터 조작부(120)는 실제 데이터 접근을 위한 글로버 네임스페이스의 고속 접근속도를 보장해야 되고 이를 빠른 속도로 저장 하고 읽기 위하여 고속 처리 방법을 제공할 수 있다.At this time, the data manipulation unit (120) must ensure a high-speed access speed of the global namespace for actual data access and can provide a high-speed processing method to store and read the data at a high speed.
읽기 캐쉬부(122) 및 쓰기 캐쉬부(123)는 램디스크 형태로 메인 메모리에 상응하는 램(RAM)과 SSD(Solid State Drive)를 포함하는 하나의 디스크 형태로 구성될 수 있다.The read cache unit (122) and the write cache unit (123) may be configured in the form of a single disk including RAM corresponding to the main memory and an SSD (Solid State Drive) in the form of a RAM disk.
읽기 캐쉬부(122) 및 쓰기 캐쉬부(123)는 휘발성 메모리의 특성에 의하여 SSD로 실시간 백업을 수행할 수 있다.The read cache unit (122) and the write cache unit (123) can perform real-time backup with SSD due to the characteristics of volatile memory.
이 때, 읽기 캐쉬부(122) 및 쓰기 캐쉬부(123)는 램 기반 캐쉬 영역이 모두 소진되면 SSD 기반 캐쉬 영역으로 자동 전환시킬 수 있다.At this time, the read cache unit (122) and the write cache unit (123) can be automatically switched to the SSD-based cache area when the RAM-based cache area is exhausted.
이 때, 읽기 캐쉬부(122) 및 쓰기 캐쉬부(123)는 사용자가 쓰기를 수행하면 빠른 쓰기 응답을 위하여 메모리 영역에 쓰기를 수행하면 바로 리턴하는 형태를 제공할 수 있다.At this time, the read cache unit (122) and the write cache unit (123) can provide a form that returns immediately when a user performs a write operation in a memory area for a fast write response.
인 메모리 디듀플리케이션 엔진(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) 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) can provide a function to distribute and store data across multiple physical devices to prevent data loss.
이 때, 인 메모리 디듀플리케이션 엔진(124)은 데이터의 에러 발생을 감지하고 이를 수정할 수 있는 에러 탐지 및 복구 코딩을 적용하여, 데이터 및 시스템 에러에 대처할 수 있다.At this time, the in-memory deduplication engine (124) can detect the occurrence of data errors and apply error detection and recovery coding that can correct them, thereby dealing with data and system errors.
인 메모리 데이터 컴프레션 엔진(125)은 백엔드 스토리지에 저장되는 실제 데이터에 대해서 압축 기능을 수행하여 데이터의 크기를 줄이는 작업을 수행할 수 있다. 특히, 인 메모리 데이터 컴프레션 엔진(125)은 퍼블릭 클라우드 스토리지의 경우, 압축에 의해서 데이터 크기를 줄여줌으로써 네트워크를 통해서 전송되는 데이터의 크기를 줄일 수 있다.The in-memory data compression engine (125) can perform a compression function on actual data stored in backend storage to reduce the size of the data. In particular, in the case of public cloud storage, the in-memory data compression engine (125) can reduce the size of data transmitted through a network by reducing the size of the data through compression.
데이터 분산 및 저장부(130)는 수신된 데이터의 쓰기가 최소 오버 헤드로 항상 액세스 할 수 있도록 최적화된 기능을 제공할 수 있다.The data distribution and storage unit (130) can provide optimized functions to ensure that writing of received data can always be accessed with minimal overhead.
이 때, 데이터 분산 및 저장부(130)는 데이터의 효율 적인 관리를 위하여 각 객체를 여러 조각으로 분산시키고, 신뢰성 향상을 위하여 분산된 조각을 다른 노드 또는 데이터 센터에 분산시켜 저장시킬 수 있다.At this time, the data distribution and storage unit (130) can distribute each object into several pieces for efficient management of data, 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) can process optional encryption and compression on the distributed pieces and reflect policy decisions for this.
이 때, 데이터 분산 및 저장부(130)는 데이터의 에러 발생을 감지하고 이를 수정할 수 있는 에러 탐지 및 복구 코딩을 적용하여, 데이터 및 시스템 에러에 대처할 수 있다.At this time, the data distribution and storage unit (130) can detect the occurrence of data errors and apply error detection and recovery coding that can correct them, thereby dealing with data and system errors.
백엔드 스토리지 관리부(140)는 데이터 분산 및 저장부(130)에서 생성된 최종의 데이터를 최종 리소스에 저장하기 위한 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)의 저장 인터페이스를 제공할 수 있다.The backend storage management unit (140) can provide a storage interface of cloud storage (21) and non-cloud storage (22) for storing the final data generated in the data distribution and storage unit (130) in the final resource.
이 때, 백엔드 스토리지 관리부(140)는 데이터 분산 저장 계층의 정책에 따라 데이터를 성능, 시간 및 사용 빈도 위주의 티어링(tiering)을 이용하여 자동 혹은 수동 저장 기능을 제공할 수 있다.At this time, the backend storage management unit (140) can provide an automatic or manual storage function by using tiering based on performance, time, and frequency of use according to the policy of the data distribution storage layer.
이 때, 백엔드 스토리지 관리부(140)는 데이터를 다양한 스토리지 계층에 자동으로 분산 저장하는 기능을 제공할 수 있다.At this time, the backend storage management unit (140) can provide a function to automatically distribute and store data in various storage layers.
이 때, 백엔드 스토리지 관리부(140)는 제공되는 스토리지의 특성에 기반하여 다양한 종류의 스토리지를 계층화 할 수 있다.At this time, the backend storage management unit (140) can hierarchize various types of storage based on the characteristics of the provided storage.
이 때, 백엔드 스토리지 관리부(140)는 초기 생성 데이터는 고속의 스토리지에 저장하고, 데이터 접근 빈도가 낮아지면 하위 계층의 스토리지로 데이터를 이동시키며, 최종적으로 퍼블릭 클라우드 스토리지에 데이터를 저장시킬 수 있다.At this time, the backend storage management unit (140) can store initially generated data in high-speed storage, move data to lower-level storage when data access frequency decreases, and finally store data in public cloud storage.
이 때, 백엔드 스토리지 관리부(140)는 데이터의 특성에 따라서 다양한 스토리지 계층 사이에 자동적으로 데이터를 이동시킬 수 있다.At this time, the backend storage management unit (140) can automatically move data between various storage layers depending on the characteristics of the data.
프로비저닝 및 정책 관리부(150)는 각 계층의 관리 및 사용자 기반의 정책 관리를 담당할 수 있다. 이 때, 프로비저닝 및 정책 관리부(150)는 사용자가 요청한 디스크의 프로비저닝을 위한 계층적 인터페이스를 제공할 수 있다.The provisioning and policy management unit (150) can be responsible for management of each layer and user-based policy management. At this time, the provisioning and policy management unit (150) can provide a hierarchical interface for provisioning of a disk requested by a user.
이 때, 백엔드 스토리지에 저장되는 데이터와 더불어 이를 관리하고 접근하기 위한 메타 데이터가 필요하다. 본 발명의 메타 데이터는 사용자가 클라이언트 장치(10)를 사용하면서 생성하거나 혹은 사용자 클라이언트 장치(10)와 통합 클라우드 관리 장치(20)가 인터페이스를 위한 클라이언트 메타 데이터, 데이터 조작에 필요한 데이터 관리 메타 데이터, 그리고 마지막 백엔드 스토리지에 사용되는 스토리지 관리 메타 데이터가 사용될 수 있다.At this time, metadata for managing and accessing the data stored in the backend storage is required. The metadata of the present invention may be generated by the user while using the client device (10), or may be used as client metadata for the interface between the user client device (10) and the integrated cloud management device (20), data management metadata required for data manipulation, and storage management metadata used in the last backend storage.
도 5는 본 발명의 일실시예에 따른 램디스크의 일 예를 나타낸 도면이다.FIG. 5 is a drawing showing an example of a RAM disk according to one embodiment of the present invention.
도 5를 참조하면, 데이터 조작부(120)의 램디스크인 읽기 캐쉬부(122)와 쓰기 캐쉬부(123)를 세부적으로 나타낸 것을 알 수 있다.Referring to Figure 5, it can be seen that the read cache unit (122) and the write cache unit (123), which are RAM disks of the data manipulation unit (120), are illustrated in detail.
읽기 캐쉬부(122)는 데이터 디듀플리케이션 엔진(122a)을 이용하여 해쉬들을 블록 데이터로 분산시키는 것을 알 수 있다.It can be seen that the read cache unit (122) distributes hashes into block data using a data deduplication engine (122a).
쓰기 캐쉬부(123)는 데이터 트랜잭션 로그부(123a)를 이용하여 쓰기 캐시에 저장된 데이터가 시스템 장애에 의해 손실될 경우를 대비하여, 데이터 복구를 위한 로그를 동일 노드 혹은 네트워크로 연결된 노드에 관리하는 것을 알 수 있다.It can be seen that 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.
로그는 세부 블록에 대한 데이터의 위치 및 해시 값을 저장할 수 있고, 데이터가 백앤드 스토리지로 저장될 때까지 유지될 수 있다.Logs can store the location and hash values of data for a detail block, and can be maintained until the data is stored in backend storage.
쓰기 캐시와 트랜잭션 로그와의 동기화는 로그 큐가 일정 크기를 도달하거나 일정 시간마다 동기화를 수행하는 비동기식 동기화, 쓰기 요청에 따른 데이터 발생 시마다 동기화를 수행할 수 있다. 쓰기 캐시에 위치한 세부 블록은 트랜잭션 로그 노드에 일정 조건에 의해 동기화될 수 있다. 시간의 흐름에 따라, 세부 블록 관련 데이터가 백앤드 스토리지에 저장되면, 쓰기 캐시의 세부 블록 및 트랜잭션 로그 노드의 세부 블록은 관리 대상에서 제외되어 삭제될 수 있다.Synchronization between the write cache and the transaction log can be asynchronous synchronization, where synchronization is performed when the log queue reaches a certain size or at regular intervals, or synchronization can be performed whenever data is generated according to a write request. The detailed blocks located in the write cache can be synchronized to the transaction log node under certain conditions. Over time, when the data related to the detailed blocks is stored in the back-end storage, the detailed blocks of the write cache and the detailed blocks of the transaction log node can be excluded from the management target and deleted.
도 6은 본 발명의 일실시예에 따른 데이터 분산 및 저장부와 백엔드 스토리지 관리부의 동작을 세부적으로 나타낸 도면이다.FIG. 6 is a drawing showing in detail the operation of a data distribution and storage unit and a backend storage management unit according to one embodiment of the present invention.
도 6을 참조하면, 데이터 분산 및 저장부(130)는 데이터 컴프레션 블록(131)은 백엔드 스토리지에 저장되는 실제 데이터에 대해서 압축 기능을 수행하여 데이터의 크기를 줄이는 작업을 수행할 수 있다. 특히, 데이터 컴프레션 블록(131)은 퍼블릭 클라우드 스토리지의 경우, 압축에 의해서 데이터 크기를 줄여줌으로써 네트워크를 통해서 전송되는 데이터의 크기를 줄일 수 있다.Referring to FIG. 6, the data distribution and storage unit (130) can perform a task of reducing the size of data by performing a compression function on actual data stored in backend storage through a data compression block (131). In particular, in the case of public cloud storage, the data compression block (131) can reduce the size of data transmitted through a network by reducing the size of data through compression.
데이터 분산 블록(132)은 데이터의 손실 방지를 위해서 복수의 물리적 디바이스에 데이터를 분산 저장하는 기능을 제공할 수 있다.The data distribution block (132) can provide a function to distribute and store data across multiple physical devices to prevent data loss.
이 때, 데이터 분산 블록(132)은 데이터의 에러 발생을 감지하고 이를 수정할 수 있는 에러 탐지 및 복구 코딩을 적용하여, 데이터 및 시스템 에러에 대처할 수 있다.At this time, the data distribution block (132) can detect the occurrence of data errors and apply error detection and recovery coding that can correct them, thereby dealing with data and system errors.
백엔드 스토리지 관리부(140)는 HDD, SAS, iSCSI 스토리지 및 퍼블릭 클라우드 스토리지 등을 포함할 수 있고, 데이터를 백엔드 스토리지에 최종적으로 저장하기 위한 인터페이스 기능을 제공하는 것을 알 수 있다.It can be seen that the backend storage management unit (140) may include HDD, SAS, iSCSI storage, and public cloud storage, and provides an interface function for finally storing data in the backend storage.
이 때, 백엔드 스토리지 관리부(140)는 데이터 분산 정책, 병렬 입출력(Parallel IO Engine), Multi-Path 입출력(Multi-Path IO Engine)을 통해 빠른 응답속도를 보장하기 위한 메모리 스토리지부터 대용량의 데이터 운영을 위한 클라우드 스토리지까지 다양한 유형의 스토리지를 사용하여 데이터 운영 및 연결된 스토리지에 대해 고가용성 서비스를 제공하는 것을 알 수 있다.At this time, it can be seen that the backend storage management unit (140) provides high availability services for data operation and connected storage by using various types of storage ranging from memory storage for ensuring fast response speed through data distribution policy, parallel input/output (Parallel IO Engine), and multi-path input/output (Multi-Path IO Engine) to cloud storage for large-capacity data operation.
이 때, 백엔드 스토리지 관리부(140)는 데이터를 동일 노드 내의 스토리지나 클러스터로 구성된 다중 노드 내의 스토리지에 분산시켜 저장할 수 있으며, 데이터 크기 및 분산 저장 수를 조절하여, 시스템 오류에 따른 데이터 손실을 방지할 수 있다.At this time, the backend storage management unit (140) can store data by distributing it to storage within the same node or storage within multiple nodes configured as a cluster, and can prevent data loss due to system errors by controlling the data size and the number of distributed storages.
백엔드 스토리지 관리부(140)는 데이터를 다양한 스토리지 계층에 자동으로 분산 저장하는 기능을 제공하는 것을 알 수 있다. 제공되는 스토리지의 특성에 기반하여 다양한 종류의 스토리지를 계층화하는 것을 알 수 있다. 데이터 초기 생성시는 고속의 스토리지에 저장하고, 데이터 접근 빈도가 낮아지면 하위 계층의 스토리지로 이동하며, 최종적으로 퍼블릭 클라우드 스토리지에 저장되는 것을 알 수 있다. 백엔드 스토리지 관리부(140)는 데이터의 특성에 따라서 다양한 스토리지 계층 사이의 데이터 이동을 자동으로 수행한다.It can be seen that the backend storage management unit (140) provides a function to automatically distribute and store data in various storage layers. It can be seen that various types of storage are hierarchized 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 data access frequency decreases, it is moved to a lower-layer storage, and finally, it is stored in a public cloud storage. The backend storage management unit (140) automatically performs data movement between various storage layers according to the characteristics of the data.
도 7은 본 발명의 일실시예에 통합 스토리지 관리 방법을 나타낸 동작흐름도이다.Figure 7 is a flow chart illustrating an integrated storage management method according to one embodiment of the present invention.
도 7을 참조하면, 본 발명의 일실시예에 통합 스토리지 관리 방법은 먼저 데이터 접근을 수행할 수 있다(S210).Referring to FIG. 7, in one embodiment of the present invention, an integrated storage management method can first perform data access (S210).
즉, 단계(S210)는 통합 스토리지(20)와 연동하여 사용자에게 상기 통합 스토리지의 서비스를 제공하기 위해 데이터 접근을 수행할 수 있다.That is, step (S210) can perform data access in conjunction with the integrated storage (20) to provide the service of the integrated storage to the user.
이 때, 단계(S210)는 사용자에게 가상 디스크 풀을 제공하여 전체 스토리지 시스템의 단일 스토리지 뷰를 제공할 수 있다.At this time, step (S210) can provide a virtual disk pool to the user to provide a single storage view of the entire storage system.
본 발명의 일실시예에 통합 스토리지 관리 방법은 데이터 읽기 및 쓰기를 수행할 수 있다(S220).In one embodiment of the present invention, an integrated storage management method can perform data reading and writing (S220).
즉, 단계(S220)는 램디스크를 이용하여 상기 통합 스토리지의 서비스를 제공하기 위한 데이터의 읽기/쓰기 캐쉬를 제공할 수 있다.That is, step (S220) can provide a read/write cache of data for providing the service of the integrated storage using a RAM disk.
이 때, 단계(S220)는 퍼블릭 클라우드 스토리지에 저장된 데이타를 클라우드 통합 스토리지 운용 플랫폼 내부의 저장 장치로 캐쉬하여, 퍼블릭 클라우드 저장소에 대해서 온프레미스 스토리지 수준의 접근 속도를 제공할 수 있다.At this time, step (S220) can cache data stored in public cloud storage as a storage device within a cloud integrated storage operation platform, thereby providing access speeds for public cloud storage at the level of on-premise storage.
이 때, 단계(S220)는 메인 메모리에 상응하는 램(RAM)과 SSD(Solid State Drive)를 포함하는 하나의 디스크 형태로 구성된 램디스크를 이용하여 데이터 읽기 및 쓰기를 수행하고, 램 기반 캐쉬 영역이 모두 소진되면 SSD 기반 캐쉬 영역으로 자동 전환시킬 수 있다.At this time, step (S220) performs data reading and writing using a RAM disk configured in the form of a single disk including RAM corresponding to the main memory and an SSD (Solid State Drive), and when the RAM-based cache area is completely exhausted, it can be automatically switched to an SSD-based cache area.
본 발명의 일실시예에 통합 스토리지 관리 방법은 데이터 분산 및 저장을 수행할 수 있다(S230).In one embodiment of the present invention, an integrated storage management method can perform data distribution and storage (S230).
즉, 단계(S230)는 상기 데이터의 객체를 분산하여 저장하고, 분산된 객체를 암호화 및 압축 처리할 수 있다.That is, step (S230) can store the objects of the above data in a distributed manner and encrypt and compress the distributed objects.
이 때, 단계(S230)는 데이터의 에러 발생을 감지하고 이를 수정할 수 있는 에러 탐지 및 복구 코딩을 적용하여, 데이터 및 시스템 에러에 대처할 수 있다.At this time, step (S230) can detect the occurrence of data errors and apply error detection and recovery coding that can correct them, thereby dealing with data and system errors.
본 발명의 일실시예에 통합 스토리지 관리 방법은 데이터의 최종 리소스 저장을 수행할 수 있다(S240).In one embodiment of the present invention, an integrated storage management method can perform final resource storage of data (S240).
즉, 단계(S240)는 단계(S230)에서 생성된 최종의 데이터를 최종 리소스에 저장할 수 있다.That is, step (S240) can store the final data generated in step (S230) in the final resource.
이 때, 단계(S240)는 데이터 분산 저장 계층의 정책에 따라 데이터를 성능, 시간 및 사용 빈도 위주의 티어링(tiering)을 이용하여 자동 혹은 수동 저장 기능을 제공할 수 있다.At this time, step (S240) can provide an automatic or manual storage function by using tiering of data based on performance, time, and frequency of use according to the policy of the data distribution storage layer.
이 때, 단계(S240)는 데이터를 다양한 스토리지 계층에 자동으로 분산 저장하는 기능을 제공할 수 있다.At this time, step (S240) can provide a function to automatically distribute and store data in various storage layers.
이 때, 단계(S240)는 제공되는 스토리지의 특성에 기반하여 다양한 종류의 스토리지를 계층화 할 수 있다.At this time, step (S240) can hierarchize various types of storage based on the characteristics of the provided storage.
이 때, 단계(S240)는 초기 생성 데이터는 고속의 스토리지에 저장하고, 데이터 접근 빈도가 낮아지면 하위 계층의 스토리지로 데이터를 이동시키며, 최종적으로 퍼블릭 클라우드 스토리지에 데이터를 저장시킬 수 있다.At this time, step (S240) can store initially generated data in high-speed storage, move data to lower-tier storage when data access frequency decreases, and finally store data in public cloud storage.
이 때, 단계(S240)는 데이터의 특성에 따라서 다양한 스토리지 계층 사이에 자동적으로 데이터를 이동시킬 수 있다.At this time, step (S240) can automatically move data between various storage layers according to the characteristics of the data.
도 8은 본 발명의 일실시예에 따른 통합 스토리지 관리 장치와 서비스 제공자의 관계를 나타낸 도면이다.FIG. 8 is a diagram showing the relationship between an integrated storage management device and a service provider according to one embodiment of the present invention.
도 8을 참조하면, 본 발명의 일실시예에 따른 통합 스토리지 관리 장치(100)는 복수의 DSF(Data Storage Federation) 서비스 제공자(DSF Service Provider for Service A ~ N)로부터 스토리지 서비스(Data Storage Service A ~ N)를 등록받을 수 있다.Referring to FIG. 8, an integrated storage management device (100) according to one embodiment of the present invention can register storage services (Data Storage Service A to N) from multiple DSF (Data Storage Federation) service providers (DSF Service Provider for Service A to N).
이 때, 관리자(DSF Service Adminstrator)는 통합 스토리지 관리 장치(100)를 통해 등록된 복수개의 스토리지 서비스를 사용자에게 제공할 수 있다.At this time, the administrator (DSF Service Administrator) can provide multiple registered storage services to the user through the integrated storage management device (100).
이 때, 사용자(DSF Service Customer of Client user)는 통합 스토리지 관리 장치(100)를 이용하여 복수개의 스토리지 서비스들을 제공받을 수 있다.At this time, the user (DSF Service Customer of Client user) can receive multiple storage services using the integrated storage management device (100).
이 때, 통합 스토리지 관리 장치(100)는 복수개의 스토리지 서비스들을 제공하기 위하여 멀티테넌트 기반으로 통합 스토리지(20)를 관리할 수 있다.At this time, the integrated storage management device (100) can manage the integrated storage (20) on a multi-tenant basis to provide multiple storage services.
도 9는 본 발명의 일실시예에 따른 스토리지 서비스 등록을 위한 통합 스토리지 관리 방법을 나타낸 동작흐름도이다.FIG. 9 is a flowchart illustrating an integrated storage management method for registering a storage service according to one embodiment of the present invention.
도 9를 참조하면, 본 발명의 일실시예에 따른 스토리지 서비스 등록을 위한 통합 스토리지 관리 방법은 먼저 통합 스토리지 관리 장치(100)가 제공자의 로그인을 수행할 수 있다(S310).Referring to FIG. 9, the integrated storage management method for registering a storage service according to one embodiment of the present invention first enables the integrated storage management device (100) to perform a provider login (S310).
이 때, 단계(S310)는 스토리지 서비스를 등록하기 위하여 제공자가 기 등록된 아이디와 패스워드를 이용하여 통합 스토리지 관리 장치(100)에 로그인할 수 있다.At this time, step (S310) allows the provider to log in to the integrated storage management device (100) using a pre-registered ID and password to register a storage service.
이 때, 단계(S310)는 제공자의 아이디 및 패스워드가 로그인이 등록되어 있지 않은 경우, 새로운 아이디 및 패스워드를 생성할 수도 있다.At this time, step (S310) may generate a new ID and password if the provider's ID and password are not registered for login.
또한, 본 발명의 일실시예에 따른 스토리지 서비스 등록을 위한 통합 스토리지 관리 방법은 스토리지에 스토리지 서비스를 등록할 수 있다(S320).In addition, an integrated storage management method for registering a storage service according to one embodiment of the present invention can register a storage service in storage (S320).
즉, 단계(S320)는 스토리지 서비스를 등록하기 위한 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)를 확인하여 스토리지 서비스를 등록할 수 있다.That is, step (S320) can register a storage service by checking cloud storage (21) and non-cloud storage (22) for registering a storage service.
이 때, 단계(S320)는 스토리지 서비스 등록을 위해 GUI를 통해 제공자에게 등록 방법을 제공할 수 있다.At this time, step (S320) may provide a registration method to the provider through a GUI for registering a storage service.
이 때, 단계(S320)는 제공자로부터 GUI를 통해 스토리지 서비스 이름, 저장소 사양(사이즈, 캐싱 여부, Tier 개수, 암호화, 온프레미스 저장소 지원 등), 데이터 저장 서비스 프로토콜 및 클라우드 저장소 이름 및 종류 등을 입력 받아, 이에 상응하는 스토리지에 등록시킬 수 있다.At this time, step (S320) can receive the storage service name, storage specifications (size, caching, number of tiers, encryption, on-premise storage support, etc.), data storage service protocol, and cloud storage name and type, etc. from the provider through the GUI, and register them in the corresponding storage.
이 때, GUI를 통해 입력 받는 정보는 신규 제공자가 아이디 및 패스워드 등록 시 사전 등록을 통하여 등록될 수도 있다.At this time, information entered through the GUI can also be registered through pre-registration when a new provider registers an ID and password.
또한, 본 발명의 일실시예에 따른 스토리지 서비스 등록을 위한 통합 스토리지 관리 방법은 스토리지를 설정할 수 있다(S330).In addition, the integrated storage management method for registering a storage service according to one embodiment of the present invention can set up storage (S330).
즉, 단계(S330)는 스토리지 서비스가 등록된 스토리지에 상응하는 가상 스토리지를 생성할 수 있다.That is, step (S330) can create a virtual storage corresponding to the storage in which the storage service is registered.
이 때, 단계(S330)는 가상 스토리지를 가상 디스크 풀(Pool)에 등록할 수 있고, 사용자에게 가상 디스크 풀을 통해 스토리지 서비스 제공을 위한 단일 스토리지 뷰를 제공할 수 있다.At this time, step (S330) can register virtual storage in a virtual disk pool and provide a single storage view for providing storage services to users through the virtual disk pool.
도 10은 본 발명의 일실시예에 따른 통합 스토리지 관리 장치를 나타낸 블록도이다.FIG. 10 is a block diagram illustrating an integrated storage management device according to an embodiment of the present invention.
도 10을 참조하면, 본 발명의 일실시예에 따른 통합 스토리지 관리 장치는 각 레이어의 컴포넌트 또는 주요 구성이 되는 서비스 연결부(110), 데이터 조작부(120), 데이터 분산 및 저장부(130) 및 백엔드 스토리지 관리부(140)가 제공자(DSF Service Provider A ~ C)로부터 등록된 스토리지 서비스에 상응하는 개수로 멀티테넌트 되어 구성된 것을 알 수 있다.Referring to FIG. 10, it can be seen that an integrated storage management device according to an embodiment of the present invention is configured as a multi-tenant in which a service connection unit (110), a data manipulation unit (120), a data distribution and storage unit (130), and a backend storage management unit (140), which are components or main components of each layer, are configured in a number corresponding to the number of storage services registered from providers (DSF Service Providers A to C).
즉, 통합 스토리지 관리 장치(100)는 복수개의 서비스를 동시에 수행하는 멀티 테넌트 기능을 지원하는 것을 알 수 있다.That is, it can be seen that the integrated storage management device (100) supports a multi-tenant function that performs multiple services simultaneously.
이 때, 프로비저닝 및 정책 관리부(150)는 관리자(Admin)에게 관리자 GUI(Administration GUI)를 제공하고, 멀티테넌트 기반 통합 스토리지 서비스를 제공 및 관리할 수 있다.At this time, the provisioning and policy management unit (150) provides an administration GUI to the administrator (Admin) and can provide and manage a multi-tenant-based integrated storage service.
스토리지 연결부(110) 및 데이터 조작부(120)는 데이터 관리단계를 수행할 수 있다.The storage connection unit (110) and data manipulation unit (120) can perform data management steps.
이 때, 스토리지 연결부(110)는 상기 가상 데이터 스토리지를 사용자에게 단일 가상 스토리지로서 인터페이스를 제공할 수 있다.At this time, the storage connector (110) can provide an interface to the user as a single virtual storage for the virtual data storage.
이 때, 스토리지 연결부(110)는 상기 단일 가상 스토리지를 사용하기 위한 사용자 접근 메커니즘을 제공할 수 있다.At this time, the storage connector (110) can provide a user access mechanism for using the single virtual storage.
이 때, 상기 사용자 접근 메커니즘은 상기 단일 가상 스토리지의 타입에 따라 달라질 수 있다.At this time, the user access mechanism may vary depending on the type of the single virtual storage.
이 때, 스토리지 연결부(110)는 가상 블록 디바이스, 파일 시스템 및 오브젝트 스토리지와 함께 단일 가상 볼륨의 해당 프로토콜 또는 I/O 인터페이스를 제공할 수 있다.At this time, the storage connection (110) can provide the corresponding protocol or I/O interface of a single virtual volume together with a virtual block device, a file system, and object storage.
이 때, 스토리지 연결부(110)는 프로토콜 성능 가속화를 제공할 수 있다.At this time, the storage connector (110) can provide protocol performance acceleration.
또한, 스토리지 연결부(110)가 제공하는 인터페이스는 직접 인터페이스 (즉, 객체 또는 블록 스토리지 인터페이스) 또는 소프트웨어 프로그램과의 여러 유형의 스토리지 인터페이스를 구성하는 프록시 인터페이스에 상응할 수 있다.Additionally, the interface provided by the storage connector (110) may correspond to a direct interface (i.e., an object or block storage interface) or a proxy interface that constitutes various types of storage interfaces with software programs.
이 때, 소프트웨어 프로그램은 소프트웨어 에이전트, 데몬, 웹 작업자 및 통합 스토리지(20)에 대한 인터페이스를 위한 RESTful API를 포함할 수 있다.At this time, the software program may include a RESTful API for interfacing to software agents, daemons, web workers, and integrated storage (20).
이 때, 프록시 인터페이스는 소프트웨어 프로그램과의 인터페이스를 자동으로 감지하여 통합 스토리지(20)를 연결할 수 있다.At this time, the proxy interface can automatically detect the interface with the software program and connect the integrated storage (20).
이 때, 스토리지 연결부(110)는 단일 가상 볼륨을 사용하기 위해 사용자 클라이언트 장치(10)에 대한 사용자 인터페이스를 제공할 수 있다.At this time, the storage connector (110) can provide a user interface for the user client device (10) to use a single virtual volume.
사용자 인터페이스는 그래픽 사용자 인터페이스, 웹 응용 프로그램 또는 사용자 클라이언트 장치(10)가 특정 가상 볼륨에 액세스하기 위한 특정 클라이언트가 포함될 수 있다.The user interface may include a graphical user interface, a web application, or a specific client for a user client device (10) to access a particular virtual volume.
이 때, 스토리지 연결부(110)는 데이터 조작부(120)와 통합 스토리지 장치(20)의 해당 인터페이스 사이의 변환을 제공할 수 있다.At this time, the storage connection unit (110) can provide conversion between the data manipulation unit (120) and the corresponding interface of the integrated storage device (20).
해당 인터페이스는 API, I / O 인터페이스 등을 포함한다.The interface includes API, I/O interface, etc.
이 때, 스토리지 연결부(110)는 사용자 클라이언트 장치(10)에 단일 가상 볼륨을 사용하기 위한 안전한 액세스 메커니즘을 제공할 수 있다.At this time, the storage connector (110) can provide a secure access mechanism for using a single virtual volume to the user client device (10).
이 때, 스토리지 연결부(110)는 사용자 클라이언트 장치(10)의 요구 사항을 등록할 수 있다.At this time, the storage connection (110) can register the requirements of the user client device (10).
사용자 클라이언트 장치(10)의 요구 사항은 데이터 저장 용량, 액세스 메커니즘, 단일 가상 볼륨의 저장 유형, 정책 등을 포함할 수 있다.Requirements of the user client device (10) may include data storage capacity, access mechanism, storage type of a single virtual volume, policies, etc.
이 때, 스토리지 연결부(110)는 통합 스토리지(20)와의 원활한 통신을 위해 통합 스토리지(20)와의 인터페이스의 원활한 연결을 제공할 수 있다.At this time, the storage connection unit (110) can provide a smooth connection of the interface with the integrated storage (20) for smooth communication with the integrated storage (20).
이 때, 데이터 조작부(120)는 상기 데이터의 실제 저장 위치와 상관없이 상기 통합 스토리지(20)를 가상 데이터 스토리지로 제공할 수 있다.At this time, the data manipulation unit (120) can provide the integrated storage (20) as a virtual data storage regardless of the actual storage location of the data.
이 때, 데이터 조작부(120)는 상기 단일 가상 스토리지에 저장하는 데이터를 분할, 암호화, 압축 중 적어도 어느 하나의 변환과정에 따라 변환하여 저장할 수 있다.At this time, the data manipulation unit (120) can convert and store data stored in the single virtual storage through at least one of the conversion processes of division, encryption, and compression.
이 때, 데이터 조작부(120)는 통합 스토리지(20)의 단일 가상 스토리지 뷰를 가상 스토리지 풀로 제공할 수 있다.At this time, the data manipulation unit (120) can provide a single virtual storage view of the integrated storage (20) as a virtual storage pool.
이 때, 데이터 조작부(120)는 사용자 클라이언트 장치(10)에게 쓰기 버퍼 또는 읽기 캐시 기능을 제공할 수 있다.At this time, the data manipulation unit (120) can provide a write buffer or read cache function to the user client device (10).
이 때, 데이터 조작부(120)는 메모리, SSD 또는 PCIe(peripheral component interconnect express) 플래시 카드 등을 사용하여 읽기 및 쓰기 응답 시간을 향상시킬 수 있다.At this time, the data manipulation unit (120) can improve the read and write response time by using memory, SSD, or PCIe (peripheral component interconnect express) flash card, etc.
이 때, 데이터 조작부(120)는 온-프레미스에 비해 느린 액세스 속도를 읽기 및 쓰기 캐시를 이용하여 보상할 수 있다.At this time, the data manipulation unit (120) can compensate for the slow access speed compared to on-premise by using read and write cache.
읽기 및 쓰기 캐시는 스토리지 및 데이터를 저장하는 디바이스의 성능을 향상시킬 수 있고, 고속 캐시 동작을 위한 다양한 장치에 사용될 수 있다.Read and write caches can improve the performance of storage and devices that store data, and can be used in a variety of devices for high-speed cache operations.
고속 캐시 동작을 위한 다양한 장치는 메인 메모리, RAM 기반 디스크 및 SSD 등에 상응할 수 있다.Various devices for high-speed cache operations can correspond to main memory, RAM-based disks, and SSDs.
고속 액세스의 경우, 캐시 계층 구조가 메인 메모리로 확장될 수 있다. 또한, 메인 메모리는 용량 제한 때문에 SSD에서 사용하는 접근법이 사용될 수 있다. 즉, RAM 기반 캐시 영역이 고갈되면 자동으로 SSD 영역 캐시로 변환될 수 있다. 사용자 클라이언트 장치(10)가 쓰기 작업을 수행 할 때 빠른 쓰기 응답을 위해 메모리 영역에서 쓰기 작업이 수행될 수 있다.For high-speed access, the cache hierarchy can be extended to the main memory. In addition, the main memory can be used in an approach used in SSDs because of capacity limitations. That is, when the RAM-based cache area is exhausted, it can be automatically converted to the SSD area cache. When the user client device (10) performs a write operation, the write operation can be performed in the memory area for a fast write response.
이 때, 데이터 조작부(120)는 스냅 샷, 빠른 복제 및 분산 트랜잭션 로그에 대한 데이터 관리를 제공할 수 있다.At this time, the data manipulation unit (120) can provide data management for snapshots, fast replication, and distributed transaction logs.
이 때, 데이터 조작부(120)는 사용자 클라이언트 장치(10)의 작성(create), 읽기(read), 갱신(update), 삭제(delete) (CRUD) 데이터 작업의 실행을 제공할 수 있다.At this time, the data manipulation unit (120) can provide execution of create, read, update, and delete (CRUD) data operations of the user client device (10).
CRUD 데이터 연산은 데이터의 생성, 읽기, 갱신 및 삭제를 포함할 수 있다.CRUD data operations can include creating, reading, updating, and deleting data.
이 때, 데이터 조작부(120)는 글로벌 레지스트리에 쿼리를 사용하여 사용자 클라이언트 장치(10)의 데이터에서 검색 데이터 작업을 제공할 수 있다.At this time, the data manipulation unit (120) can provide a search data operation from the data of the user client device (10) using a query to the global registry.
이 때, 데이터 조작부(120)는 DSF 데이터의 공유 상태를 확인한 후 글로벌 레지스트리에서 데이터의 공유 상태를 업데이트하여 공유 데이터 운영을 제공할 수 있다.At this time, the data manipulation unit (120) can provide shared data operation by checking the sharing status of the DSF data and then updating the sharing status of the data in the global registry.
데이터 공유는 데이터 조작 중에 동일한 데이터가 공유됨을 의미할 수 있다.Data sharing may mean that the same data is shared during data manipulation.
데이터 공유 상태는 데이터 공유 여부에 대한 정보에 상응할 수 있다.The data sharing status may correspond to information about whether data is shared.
이 때, 데이터 조작부(120)는 데이터의 중복 제거를 사용하여 데이터 저장 용량을 절약할 수 있다.At this time, the data manipulation unit (120) can save data storage capacity by using data deduplication.
이 때, 데이터 조작부(120)는 통합 스토리지(20)에 데이터를 전송하기 위해 데이터 암호화 / 암호 해독을 제공할 수 있다.At this time, the data manipulation unit (120) can provide data encryption/decryption to transmit data to the integrated storage (20).
이 때, 데이터 조작부(120)는 시스템 장애로부터 사용자 클라이언트 장치(10)의 데이터 복구를 제공할 수 있다.At this time, the data manipulation unit (120) can provide data recovery of the user client device (10) from a system failure.
데이터 복구는 가장 최근에 사용 된 사용자 클라이언트 장치(10)의 데이터를 복원하여 스토리지 및 네트워크 연결 오류로 인한 오류로 인한 데이터 손실을 방지할 수 있다.Data recovery can prevent data loss due to errors caused by storage and network connection errors by restoring data from the most recently used user client device (10).
이 때, 데이터 조작부(120)는 저장 공간의 복원력 및 비용 효율성을 위해 사용 가능한 통합 스토리지(20)로 데이터 마이그레이션을 제공할 수 있다.At this time, the data manipulation unit (120) can provide data migration to the available integrated storage (20) for storage space resilience and cost efficiency.
데이터 저장 공간의 복원력 및 비용 효율성을 위한 데이터 마이그레이션은 사용자 개입이나 인식 없이 자동으로 수행될 수 있다.Data migration for resilience and cost efficiency of data storage can be performed automatically without user intervention or awareness.
이 때, 데이터 조작부(120)는 데이터 무결성을 검사하기 위해 데이터 조작에 대한 데이터의 유효성 확인을 제공할 수 있다.At this time, the data manipulation unit (120) can provide data validation for data manipulation to check data integrity.
이 때, 데이터 조작부(120)는 복제 된 데이터에 대한 사용자 클라이언트 장치(10)의 데이터 일관성을 지원할 수 있다.At this time, the data manipulation unit (120) can support data consistency of the user client device (10) for the replicated data.
데이터 일관성은 데이터 조작부(120)가 사용자 클라이언트 장치(10)의 저장소 오류 데이터를 복구하기 위해 현재 데이터를 올바르게 백업하는 것을 의미할 수 있다.Data consistency may mean that the data manipulation unit (120) correctly backs up current data to recover storage error data of the user client device (10).
이 때, 데이터 조작부(120)는 사용자 클라이언트 장치(10)의 데이터 투명성을 지원할 수 있다.At this time, the data manipulation unit (120) can support data transparency of the user client device (10).
데이터의 투명성은 사용자 클라이언트 장치(10)의 위치를 모른 채 데이터에 액세스하는 것을 의미할 수 있다.Data transparency may mean accessing data without knowing the location of the user client device (10).
이 때, 데이터 조작부(120)는 높은 가용성을 위해 글로벌 네임 스페이스의 백업을 제공할 수 있다.At this time, the data manipulation unit (120) can provide a backup of the global name space for high availability.
글로벌 네임 스페이스의 백업은 실제 데이터와 동기화되고 글로벌 네임 스페이스의 백업은 여러 노드(가상 컴퓨터 또는 물리적 서버)의 클러스터링을 통해 고 가용성 기능을 수행할 수 있다.Backups of the global namespace are synchronized with the actual data, and backups of the global namespace can perform high availability functions through clustering of multiple nodes (virtual machines or physical servers).
이 때, 데이터 조작부(120)는 블록 기반 스토리지, 파일 기반 스토리지 또는 기타 클라우드 스토리지와 같은 고객의 요구에 따라 단일 가상 볼륨을 추가할 수 있다.At this time, the data manipulation unit (120) can add a single virtual volume according to the customer's needs, such as block-based storage, file-based storage, or other cloud storage.
데이터 분산 및 저장부(130)는 데이터 분산단계를 수행할 수 있다.The data distribution and storage unit (130) can perform a data distribution step.
이 때, 데이터 분산 및 저장부(130)는 온프레미스 스토리지 및 클라우드 스토리지를 포함하는 통합 스토리지(20)에 저장하기 위해 데이터를 분산할 수 있다.At this time, the data distribution and storage unit (130) can distribute data for storage in integrated storage (20) including on-premise storage and cloud storage.
이 때, 데이터 분산 및 저장부(130)는 통합 스토리지(20)에 데이터를 쓰는 동안 최소한의 오버 헤드를 보장하기 위한 최적화를 제공할 수 있다.At this time, the data distribution and storage unit (130) can provide optimization to ensure minimal overhead while writing data to the integrated storage (20).
이 때, 데이터 분산 및 저장부(130)는 통합 스토리지(20)에 데이터를 분산하고 저장하기 위한 데이터 단편화(data fragmentation)을 제공할 수 있다.At this time, the data distribution and storage unit (130) can provide data fragmentation for distributing and storing data in the integrated storage (20).
데이터 단편화는 데이터를 효율적으로 관리하고 안정성을 향상시키기 위해 사용자 데이터를 다른 저장소, 노드 또는 데이터 센터에 분산 및 저장하는 방법이다.Data fragmentation is the practice of distributing and storing user data across different repositories, nodes, or data centers to manage data efficiently and improve reliability.
이 때, 데이터 분산 및 저장부(130)는 데이터의 암호화, 해독 및 압축/압축 해제를 제공할 수 있다.At this time, the data distribution and storage unit (130) can provide encryption, decryption, and compression/decompression of data.
이 때, 암호화와 압축은 사용자의 요구에 의해 고려될 수 있다.At this time, encryption and compression can be considered according to the user's needs.
또한, 데이터 분산 및 저장부(130)는 자체 파일 및 파일 내용을 데이터로 지원할 수 있다.Additionally, the data distribution and storage unit (130) can support its own files and file contents as data.
파일의 내용 유형은 structured, semi-structured 및 unstructured 중 어느 하나에 상응할 수 있다.The content type of a file can correspond to any of structured, semi-structured, and unstructured.
이 때, 데이터 분산 및 저장부(130)의 지원은 복수의 통합 스토리지(20) 제공자의 로컬 스토리지에 분산 된 데이터를 대응하는 API로 집계하는 것을 지원할 수 있다.At this time, the support of the data distribution and storage unit (130) can support aggregating data distributed in the local storage of multiple integrated storage (20) providers into a corresponding API.
이 때, 데이터 분산 및 저장부(130)는 저장 공간의 복원력 및 비용 효율성에 중점을 두고 사용 클라이언트 장치(10)의 데이터를 관리할 수 있다.At this time, the data distribution and storage unit (130) can manage the data of the client device (10) with a focus on the resilience and cost efficiency of the storage space.
예를 들어, 데이터 저장 공간의 복원력 및 비용 효율성을 위한 데이터 이동은 사용자 개입이나 인식 없이 자동으로 수행될 수 있다.For example, data migration for resiliency and cost efficiency of data storage can be done automatically without user intervention or awareness.
이 때, 사용자 클라이언트 장치(10)는 데이터가 온-프레미스 스토리지(22) 또는 클라우드 스토리지(21)에 저장되는지 여부를 모른 채 동일한 성능으로 통합 클라우드 스토리지 서비스를 제공 받을 수 있다.At this time, the user client device (10) can receive the integrated cloud storage service with the same performance without knowing whether the data is stored in on-premise storage (22) or cloud storage (21).
이 때, 데이터 분산 및 저장부(130)는 사용자 클라이언트 장치(10)의 데이터를 통합하기 위해 이 때, 서비스 제공자를 검증할 수 있다.At this time, the data distribution and storage unit (130) can verify the service provider at this time to integrate the data of the user client device (10).
백엔드 스토리지 관리부(140)는 스토리지 관리 단계를 수행할 수 있다.The backend storage management unit (140) can perform storage management steps.
이 때, 백엔드 스토리지 관리부(140)는 상기 분산된 데이터를 저장하기 위해 상기 통합 스토리지(20)를 연결하고, 상기 저장될 데이터의 스토리지 티어링(tiering) 정보를 제공할 수 있다.At this time, the backend storage management unit (140) can connect the integrated storage (20) to store the distributed data and provide storage tiering information of the data to be stored.
이 때, 상기 스토리지 티어링 정보는, 스토리지의 퍼포먼스, 상기 데이터의 사용 시간 및 데이터의 접근 주기에 따라 달라질 수 있다.At this time, the storage tiering information may vary depending on the performance of the storage, the usage time of the data, and the access cycle of the data.
이 때, 백엔드 스토리지 관리부(140)는 스토리지의 퍼포먼스, 상기 데이터의 사용 시간 및 데이터의 접근 주기에 따라 데이터를 계층화하는 스토리지 계층화를 제공할 수 있다.At this time, the backend storage management unit (140) can provide storage tiering that tiers data according to the performance of the storage, the usage time of the data, and the access cycle of the data.
스토리지 계층화는 계층 적 방식으로 여러 스토리지 계층에 데이터를 분산 배치하는 작업에 상응할 수 있다.Storage tiering can correspond to the task of distributing data across multiple storage tiers in a hierarchical manner.
이 때, 백엔드 스토리지 관리부(140)는 데이터의 특성에 따라 다양한 스토리지 계층간에 데이터를 자동으로 이동시킬 수 있다.At this time, the backend storage management unit (140) can automatically move data between various storage layers depending on the characteristics of the data.
데이터는 처음 생성 될 때 고속 저장 장치에 저장될 수 있다. 데이터 액세스 빈도가 낮으면 데이터는 저속 스토리지로 이동될 수 있다.Data can be stored on high-speed storage when it is first created. If the data is accessed less frequently, the data can be moved to lower-speed storage.
이 때, 백엔드 스토리지 관리부(140)는 분산 된 데이터를 집계하기 위해 여러 데이터 스토리지의 공급자에게 동시에 액세스 할 수 있다.At this time, the backend storage management unit (140) can simultaneously access providers of multiple data storages to aggregate distributed data.
이 때, 백엔드 스토리지 관리부(140)는 사용자 클라이언트 장치(10)에게 통합 스토리지(20)에 대한 액세스 권한을 위임하는 기능을 지원할 수 있다.At this time, the backend storage management unit (140) can support a function of delegating access rights to the integrated storage (20) to the user client device (10).
프로비저닝 및 정책 관리부(150)는 논리적 구성 요소의 구성 및 제어를 제공할 수 있다.The provisioning and policy management unit (150) can provide configuration and control of logical components.
이 때, 프로비저닝 및 정책 관리부(150)는 데이터 저장 및 데이터 조작의 정책 관리를 제공할 수 있다.At this time, the provisioning and policy management unit (150) can provide policy management for data storage and data manipulation.
데이터 저장 정책은 백업, 스냅 샷, 확장, 복구, 데이터 캐싱, 씬 프로비저닝, 계층화, 저장 유형 (파일, 블록, 오브젝트 등) 등이 포함될 수 있다.Data storage policies may include backups, snapshots, expansion, recovery, data caching, thin provisioning, tiering, storage type (file, block, object, etc.).
이 때, 데이터 저장 정책은 기본적으로 설정될 수 있고, 사용자의 요청에 따라 재구성될 수 있다. 또한, 데이터 저장 정책은 통합 스토리지(20)의 정책에 의존할 수도 있다.At this time, the data storage policy can be set by default and can be reconfigured according to the user's request. In addition, the data storage policy can also depend on the policy of the integrated storage (20).
재구성 된 정책은 통합 스토리지(20)가 자체 정책을 지원하지 않는 경우, 프로비저닝 및 정책 관리부(150)에 의해 재구성된 정책이다.A reconfigured policy is a policy reconfigured by the provisioning and policy management unit (150) when the integrated storage (20) does not support its own policy.
데이터 조작 정책은 공유 지원, 읽기 / 쓰기, 복제, 데이터 마이그레이션, 조각화, 암호화, 압축, 중복 제거 등이 포함될 수 있다.Data manipulation policies may include sharing support, read/write, replication, data migration, fragmentation, encryption, compression, deduplication, etc.
이 때, 데이터 조작 정책은 읽기 전용, 쓰기, 복제 옵션 및 쓰기 옵션 등을 포함한 비공유 모두 및 공유 모드를 선택할 수 있다.At this time, the data manipulation policy can select non-shared and shared modes including read-only, write, replication option, and write option.
이 때, 프로비저닝 및 정책 관리부(150)는 가상 스토리지 풀에 단일 가상 볼륨을 제공할 수 있다.At this time, the provisioning and policy management unit (150) can provide a single virtual volume to the virtual storage pool.
이 때, 프로비저닝 및 정책 관리부(150)는 데이터 전송을 위한 보안 정책 (예: 데이터 암호화)을 지원하여 사용자 클라이언트 장치(10)의 데이터 기밀성을 보장할 수 있다.At this time, the provisioning and policy management unit (150) can support a security policy for data transmission (e.g., data encryption) to ensure data confidentiality of the user client device (10).
이 때, 프로비저닝 및 정책 관리부(150)는 분산 저장에 기반한 저장 구조의 오류로 인한 데이터 손실을 방지하고 시스템 오류 발생시 데이터 복구를 제공할 수 있다.At this time, the provisioning and policy management unit (150) can prevent data loss due to errors in the storage structure based on distributed storage and provide data recovery when a system error occurs.
또한, 프로비저닝 정책 관리부(150)는 스토리지 연결부(110), 데이터 조작부(120), 데이터 분산 및 저장부(130) 및 백엔드 스토리지 관리부(140)와 데이터 운영 메타 데이터를 공유할 수 있다.Additionally, the provisioning policy management unit (150) can share data operation metadata with the storage connection unit (110), data manipulation unit (120), data distribution and storage unit (130), and backend storage management unit (140).
데이터 운영 메타데이터는 데이터 운영을 수행하는 데 필요한 디스크립션이다. 데이터 운영 메타데이터는 가상 저장 영역 풀 및 단일 가상 볼륨의 속성이 포함될 수 있다. 데이터 운영 메타데이터는 읽기 / 쓰기 캐싱, 스냅 샷, 복제, 조각화 등의 트랜잭션 로그 및 DSF 데이터 속성이 포함될 수 있다.Data Operations Metadata is the description required to perform data operations. Data Operations Metadata may include properties of virtual storage pools and single virtual volumes. Data Operations Metadata may include transaction logs and DSF data properties such as read/write caching, snapshots, replication, and fragmentation.
백엔드 스토리지 관리부(140)는 통합 스토리지(20)의 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)와 스토리지 관리 메타 데이터를 공유할 수 있다.The backend storage management unit (140) can share storage management metadata with the cloud storage (21) and non-cloud storage (22) of the integrated storage (20).
스토리지 관리 메타 데이터는 저장 영역 조작을 수행하는 데 필요한 디스크립션이다 스토리지 관리 메타 데이터는 통합 스토리지(20)의 위치, 인터페이스, 고객 데이터 조작을 위한 API, 읽기 / 쓰기 속도, 저장 용량 등이 포함될 수 있다.Storage management metadata is a description required to perform storage area operations. Storage management metadata may include the location of the integrated storage (20), interface, API for customer data operations, read/write speed, storage capacity, etc.
고객 메타데이터는 고객의 환경을 구성하기 위해 고객에 의해 생성될 수 있다.Customer metadata can be created by customers to configure their environment.
도 11은 본 발명의 일실시예에 따른 백엔드 연결 데몬을 이용한 멀티테넌트 기반 통합 스토리지 관리 장치를 나타낸 블록도이다.FIG. 11 is a block diagram illustrating a multi-tenant-based integrated storage management device using a backend connection daemon according to one embodiment of the present invention.
도 11을 참조하면, 본 발명의 일실시예에 따른 백엔드 연결 데몬을 이용한 멀티테넌트 기반 통합 스토리지 관리 장치는 서비스 제공자들(31, 32, 33)이 제공한 스토리지 서비스들 별로 개별적으로 복수개로 구성된 스토리지 연결부(110), 데이터 조작부(120), 데이터 분산 및 저장부(130) 및 백엔드 스토리지 관리부(140) 및 하나의 프로비저닝 및 정책 관리부(150)를 포함한다.Referring to FIG. 11, a multi-tenant-based integrated storage management device using a backend connection daemon according to one embodiment of the present invention includes a plurality of storage connection units (110), 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), each individually configured for storage services provided by service providers (31, 32, 33).
스토리지 연결부(110)는 통합 스토리지(20)와 연동하여 사용자에게 상기 통합 스토리지(20)의 스토리지 서비스를 제공할 수 있다.The storage connection unit (110) can be linked with the integrated storage (20) to provide the user with the storage service of the integrated storage (20).
이 때, 통합 스토리지(20)는 적어도 하나 이상의 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)를 포함할 수 있다.At this time, the integrated storage (20) may include at least one cloud storage (21) and a non-cloud storage (22).
데이터 조작부(120)는 상기 통합 스토리지(20)의 가상 디스크 풀을 생성하여 적어도 하나 이상의 가상 디스크를 통해 단일 스토리지 뷰를 제공할 수 있다.The data manipulation unit (120) can create a virtual disk pool of the integrated storage (20) to provide a single storage view through at least one virtual disk.
데이터 분산 및 저장부(130)는 수신된 데이터의 쓰기가 최소 오버 헤드로 항상 액세스 할 수 있도록 데이터의 분산 및 암호화 기능을 제공할 수 있다.The data distribution and storage unit (130) can provide data distribution and encryption functions so that writing of received data can always be accessed with minimal overhead.
백엔드 스토리지 관리부(140)는 소프트웨어 형태의 연결 데몬을 이용하여 상기 통합 스토리지(20)와 인터페이스를 수행할 수 있다.The backend storage management unit (140) can interface with the integrated storage (20) using a software-type connection daemon.
이 때, 백엔드 스토리지 관리부(140)는 필요한 인터페이스 (객체 또는 블록 스토리지 인터페이스)와 다양한 유형의 스토리지와 인터페이스 하도록 구성된 백엔드 연결 데몬을 포함하고 여러 개의 스토리지를 쉽게 등록하기 위한 프록시 인터페이스를 제공할 수 있다.At this time, the backend storage management unit (140) may include a backend connection daemon configured to interface with various types of storage and the necessary interface (object or block storage interface) and provide a proxy interface for easily registering multiple storages.
이 때, 벡엔드 스토리지 관리부(140)는 프록시 인터페이스가 상기 클라우드 스토리지(21)에 연결된 제1 데몬과 상기 논-클라우드 스토리지(22)에 연결된 제2 데몬의 저장 영역 인터페이스를 감지하여 클라우드 서비스를 등록할 수 있다.At this time, the backend storage management unit (140) can detect the storage area interface of the first daemon connected to the cloud storage (21) and the second daemon connected to the non-cloud storage (22) through the proxy interface to register the cloud service.
백엔드 스토리지 프록시는 오브젝트 스토리지 데몬 인터페이스 혹은 블록 스토리지 인터페이스 드라이버가 저장된 백엔드 연결 데몬이 저장 영역 인터페이스를 자동으로 감지하여 서비스를 등록 할 수 있다.The backend storage proxy can automatically detect the storage area interface and register the service by storing the backend connection daemon that stores the object storage daemon interface or block storage interface driver.
백엔드 연결 데몬은 통합 스토리지(20)를 연결하기 위하여 블록 디바이스를 제외한 가상 머신 혹은 컨테이너를 통하여 구동될 수 있고, 이를 통해 오브젝트 스토리지를 연결할 수 있다.The backend connection daemon can be run through a virtual machine or container excluding a block device to connect the integrated storage (20), and through this, object storage can be connected.
이 때, 벡엔드 스토리지 관리부(140)는 인터페이스가 수행된 스토리지는 스토리지 서비스의 등록 가능한 스토리지로 출력할 수 있다.At this time, the backend storage management unit (140) can output the storage on which the interface is performed as a registerable storage of the storage service.
이 때, 벡엔드 스토리지 관리부(140)는 스토리지 서비스의 등록을 위하여 사용자는 시스템의 접속을 위한 정보를 관리 할 수 있거나 접근을 위한 보안된 경로를 제공할 수 있다.At this time, the backend storage management unit (140) can manage information for users to access the system or provide a secure path for access in order to register the storage service.
이 때, 벡엔드 스토리지 관리부(140)는 하나의 스토리지를 연결 할 때 마다 하나씩 백엔드 연결 데몬을 생성 할 수 있고, 이를 프록시 서버와 연결시킬 수 있다. 프록시 서버(미도시)는 데이터 조작부(120)를 통해 상위 가상 디스크 풀(Vpool)과 연결되는 드라이버 인터페이스를 통하여 사용자의 데이터를 저장하고 관리할 수 있다.At this time, the backend storage management unit (140) can create a backend connection daemon one by one whenever connecting one storage, and connect it to a proxy server. The proxy server (not shown) can store and manage the user's data through a driver interface connected to the upper virtual disk pool (Vpool) through the data manipulation unit (120).
이를 통해, 통합 스토리지 관리 장치(100)는 등록된 서비스 제공자가 접속시 하나의 가상 디스크(vdisk)를 생성할 수 있고, 생성된 가상 디스크는 가상 디스크 풀 내에서 관리될 수 있다. 이 때, 사용자는 각각의 가상 디스크 풀을 통해 스토리지 서비스가 등록된 스토리지로부터 복수개의 스토리지 서비스를 제공 받을 수 있다.Through this, the integrated storage management device (100) can create one virtual disk (vdisk) when a registered service provider connects, and the created virtual disk can be managed within a virtual disk pool. At this time, the user can receive multiple storage services from the storage where the storage service is registered through each virtual disk pool.
백엔드 스토리지 관리부(140)에서 스토리지 구성은 온 프레미스 및 퍼블릭 클라우드 스토리지 서비스와 다르게 구성될 수 있다. 백엔드 스토리지를 위한 인터페이스는 별도의 소프트웨어 데몬 형태로 제공될 수 있다. 복수개의 클라우드 스토리지 장치가 있는 경우 DSF 로컬 스토리지 관리를 구성 할 수 있고, 프록시 인터페이스를 인터페이스 하도록 구성 할 수 있으며 온 프레미스 스토리지를 등록하고 사용할 수 있는 인터페이스가 제공될 수도 있다.In the backend storage management unit (140), the storage configuration may be configured differently from the on-premise and public cloud storage services. The interface for the backend storage may be provided in the form of a separate software daemon. In the case of multiple cloud storage devices, DSF local storage management may be configured, and a proxy interface may be configured to interface, and an interface may be provided for registering and using on-premise storage.
프로비저닝 및 정책 관리부(150)는 복수의 서비스 제공자로부터 스토리지 서비스를 등록 받아 멀티테넌트 기반으로 상기 스토리지 서비스의 제공을 관리할 수 있다.The provisioning and policy management unit (150) can register storage services from multiple service providers and manage the provision of the storage services 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 cloud storage (21) and non-cloud storage (22) for providing storage services in the integrated storage management device (100) through the management GUI and configure new services.
이 때, 프로비저닝 및 정책 관리부(150)는 서비스 제공자가 서비스를 가입하여 등록하고 파일을 업로드 및 생성하면 클라우드 계정을 작성할 수 있고, 업로드 된 파일은 관리자의 재량에 따라 클라우드 스토리지(21) 또는 논-클라우드 스토리지(22)에 저장할 수 있다.At this time, the provisioning and policy management unit (150) can create a cloud account when a service provider subscribes to the service, registers, uploads and creates a file, and the uploaded file can be stored in cloud storage (21) or non-cloud storage (22) at the discretion of the administrator.
이 때, 프로비저닝 및 정책 관리부(150)는 관리 GUI를 통해 통합 스토리지(20)에 통합 된 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)에 등록된 클라우드 서비스의 컨텐츠를 표시, 작성, 수정 및 삭제하는 기능도 제공할 수 있다.At this time, the provisioning and policy management unit (150) can also provide the function of displaying, creating, modifying and deleting contents of cloud services registered in the cloud storage (21) and non-cloud storage (22) integrated in the integrated storage (20) through the management GUI.
스토리지의 구성은 논-클라우드 스토리지(22)와 별개로 클라우드 스토리지(21)의 서비스는 기본 구성과 함께 별도로 제공될 수 있다.The configuration of the storage may be provided separately from the non-cloud storage (22) and the service of cloud storage (21) may be provided separately along with the basic configuration.
이 때, 프로비저닝 및 정책 관리부(150)는 논리 구성 요소의 기능을 각 개별 기능을 가진 모듈 혹은 함수 형태로 연결 네트워크가 있는 서버, 가상 시스템 또는 컨테이너로 독립적으로 구성할 수 있다.At this time, the provisioning and policy management unit (150) can independently configure the functions of the logical components as servers, virtual systems or containers with a connection network in the form of modules or functions with each individual function.
이 때, 프로비저닝 및 정책 관리부(150)는 서비스 제공자로부터 입력 받은 서비스 등록 정보에 상응하는 상기 통합 스토리지(20)가 포함하는 어느 하나의 스토리지에 상기 스토리지 서비스를 등록할 수 있다.At this time, the provisioning and policy management unit (150) can register the storage service in any one of the storages included in the integrated storage (20) corresponding to the service registration information received from the service provider.
이 때, 프로비저닝 및 정책 관리부(150)는 상기 스토리지 서비스가 등록된 스토리지에 가상 스토리지를 설정하여 상기 스토리지 서비스를 제공할 수 있다.At this time, the provisioning and policy management unit (150) can provide the storage service by setting up virtual storage in the storage where the storage service is registered.
이 때, 프로비저닝 및 정책 관리부(150)는 상기 스토리지 서비스의 입출력 성능 저하를 방지하기 위하여 데이터가 이동하는 제1 경로(Data Path)와 데이터를 제어하는 제2 경로(Control Path)를 이용하여 상기 스토리지 서비스를 관리할 수 있다.At this time, the provisioning and policy management unit (150) can manage the storage service by using the first path (Data Path) through which data moves and the second path (Control Path) that controls the data in order to prevent a decrease in the input/output performance of the storage service.
이 때, 제1 경로와 제2 경로를 관리하는 관리 기능은 단일 스토리지에 통합 된 온 프레미스 및 퍼블릭 클라우드 서비스의 컨텐츠를 표시, 생성, 수정 및 삭제하는 기능을 제공할 수 있다.At this time, the management functions that manage the first and second paths can provide the ability to display, create, modify, and delete content from on-premises and public cloud services integrated into a single storage.
도 11 에서, 각 논리적 구성 요소는 하나의 서버 또는 여러 서버로 구성될 수 있고, 각 논리적 구성 요소는 서버, 가상 시스템 또는 컨테이너를 통해 네트워크로 구성될 수 있다.In Figure 11, each logical component can be composed of one server or multiple servers, and each logical component can be networked through servers, virtual machines, or containers.
본 발명의 일실시예에 따른 통합 스토리지 관리 장치(100)에 상응하는 DSF 서비스 제공자는 스토리지 서비스의 성능 저하를 방지하기 위해 데이터 경로 및 관리 경로에 대해 서로 다른 인터페이스를 제공할 수도 있다.A DSF service provider corresponding to an integrated storage management device (100) according to one embodiment of the present invention may provide different interfaces for a data path and a management path to prevent performance degradation of a storage service.
DSF 서비스 제공자는 자체 구성을 위해 모든 논리적 동시성 및 해당 인터페이스를 독립적으로 구성하고 제어할 수 있다.DSF service providers can independently configure and control all logical concurrency and its interfaces for their own configuration.
자체 구성은 논리적 구성 요소의 자동 구성을 의미하며 DSF 서비스 제공자는 서버, 가상 시스템 또는 컨테이너에 내장 된 각 구성 요소의 구성을 연결 네트워크로 관리할 수 있다.Self-configuration refers to automatic configuration of logical components, and DSF service providers can manage the configuration of each component embedded in a server, virtual machine, or container as a connected network.
DSF 서비스 제공자는 백엔드 스토리지 인터페이스를 관리하여 통합 스토리지를 DSF 서비스에 참여시킬 수 있다. 통합 스토리지에 참여하기 위해 백엔드 스토리지 관리는 인터페이스(예 : 개체 또는 블록 스토리지 인터페이스) 및 프록시를 제공할 수 있다. 여러 유형의 스토리지 인터페이스를 구성하는 인터페이스. 백엔드 스토리지 프록시는 백엔드 연결 데몬으로 스토리지 인터페이스를 자동으로 감지하여 서비스를 등록할 수 있다.DSF service provider can manage backend storage interfaces to allow integrated storage to participate in DSF service. To participate in integrated storage, backend storage management can provide interfaces (e.g., object or block storage interfaces) and proxies. Interfaces that configure different types of storage interfaces. Backend storage proxies can automatically detect storage interfaces as backend connection daemons and register services.
DSF 서비스 제공자는 DSF 서비스 고객을 위한 보안 클라우드 스토리지 인터페이스를 지원할 수 있다.A DSF service provider may support a secure cloud storage interface for DSF service customers.
도 12는 본 발명의 일실시예에 따른 스토리지 서비스 제공을 위한 멀티테넌트 기반 통합 스토리지 관리 방법을 나타낸 동작흐름도이다.FIG. 12 is a flowchart illustrating a multi-tenant-based integrated storage management method for providing storage services according to one embodiment of the present invention.
도 12를 참조하면, 본 발명의 일실시예에 따른 멀티테넌트 기반 통합 스토리지 관리 방법은 먼저 데이터 접근을 수행할 수 있다(S410).Referring to FIG. 12, a multi-tenant-based integrated storage management method according to one embodiment of the present invention can first perform data access (S410).
즉, 단계(S410)는 통합 스토리지(20)와 연동하여 사용자에게 상기 통합 스토리지(20)의 스토리지 서비스를 제공하기 위하여 데이터에 접근을 수행할 수 있다.That is, step (S410) can access data in order to provide a storage service of the integrated storage (20) to the user by linking with the integrated storage (20).
이 때, 통합 스토리지(20)는 적어도 하나 이상의 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)를 포함할 수 있다.At this time, the integrated storage (20) may include at least one cloud storage (21) and a non-cloud storage (22).
본 발명의 일실시예에 따른 멀티테넌트 기반 통합 스토리지 관리 방법은 단일 스토리지 뷰를 제공할 수 있다(S420).A multi-tenant-based integrated storage management method according to one embodiment of the present invention can provide a single storage view (S420).
즉, 단계(S420)는 상기 통합 스토리지(20)의 가상 디스크 풀을 생성하여 적어도 하나 이상의 가상 디스크를 통해 단일 스토리지 뷰를 제공할 수 있다.That is, step (S420) can create a virtual disk pool of the integrated storage (20) to provide a single storage view through at least one virtual disk.
이 때, 단계(S420)는 수신된 데이터의 쓰기가 최소 오버 헤드로 항상 액세스 할 수 있도록 데이터의 분산 및 암호화 기능을 제공할 수 있다.At this time, step (S420) can provide data distribution and encryption functions so that writing of received data can always be accessed with minimal overhead.
또한, 본 발명의 일실시예에 따른 멀티테넌트 기반 통합 스토리지 관리 방법은 인터페이스를 수행할 수 있다(S430).In addition, a multi-tenant-based integrated storage management method according to one embodiment of the present invention can perform an interface (S430).
즉, 단계(S430)는 소프트웨어 형태의 연결 데몬을 이용하여 상기 통합 스토리지(20)와 인터페이스를 수행할 수 있다.That is, step (S430) can perform an interface with the integrated storage (20) using a connection daemon in the form of software.
이 때, 단계(S430)는 필요한 인터페이스 (객체 또는 블록 스토리지 인터페이스)와 다양한 유형의 스토리지와 인터페이스 하도록 구성된 백엔드 연결 데몬을 포함하고 여러 개의 스토리지를 쉽게 등록하기 위한 프록시 인터페이스를 제공할 수 있다.At this time, step (S430) may include a backend connection daemon configured to interface with various types of storage and a required interface (object or block storage interface) and provide a proxy interface for easy registration of multiple storages.
이 때, 단계(S430)는 프록시 인터페이스가 상기 클라우드 스토리지(21)에 연결된 제1 데몬과 상기 논-클라우드 스토리지(22)에 연결된 제2 데몬의 저장 영역 인터페이스를 감지하여 클라우드 서비스를 등록할 수 있다.At this time, step (S430) can register a cloud service by detecting the storage area interface of the first daemon connected to the cloud storage (21) and the second daemon connected to the non-cloud storage (22) through the proxy interface.
백엔드 스토리지 프록시는 오브젝트 스토리지 데몬 인터페이스 혹은 블록 스토리지 인터페이스 드라이버가 저장된 백엔드 연결 데몬이 저장 영역 인터페이스를 자동으로 감지하여 서비스를 등록 할 수 있다.The backend storage proxy can automatically detect the storage area interface and register the service by storing the backend connection daemon that stores the object storage daemon interface or block storage interface driver.
백엔드 연결 데몬은 통합 스토리지(20)를 연결하기 위하여 블록 디바이스를 제외한 가상 머신 혹은 컨테이너를 통하여 구동될 수 있고, 이를 통해 오브젝트 스토리지를 연결할 수 있다.The backend connection daemon can be run through a virtual machine or container excluding a block device to connect the integrated storage (20), and through this, object storage can be connected.
이 때, 단계(S430)는 인터페이스가 수행된 스토리지는 스토리지 서비스의 등록 가능한 스토리지로 출력할 수 있다.At this time, step (S430) can output the storage on which the interface is performed as a registerable storage of the storage service.
이 때, 단계(S430)는 스토리지 서비스의 등록을 위하여 사용자는 시스템의 접속을 위한 정보를 관리 할 수 있거나 접근을 위한 보안된 경로를 제공할 수 있다.At this time, step (S430) allows the user to manage information for access to the system or provide a secure path for access in order to register the storage service.
이 때, 단계(S430)는 하나의 스토리지를 연결 할 때 마다 하나씩 백엔드 연결 데몬을 생성 할 수 있고, 이를 프록시 서버와 연결시킬 수 있다. 프록시 서버(미도시)는 데이터 조작부(120)를 통해 상위 가상 디스크 풀(Vpool)과 연결되는 드라이버 인터페이스를 통하여 사용자의 데이터를 저장하고 관리할 수 있다.At this time, step (S430) can create a backend connection daemon one by one whenever connecting one storage, and connect it to a proxy server. The proxy server (not shown) can store and manage the user's data through a driver interface connected to the upper virtual disk pool (Vpool) through the data manipulation unit (120).
이를 통해, 통합 스토리지 관리 장치(100)는 등록된 서비스 제공자가 접속시 하나의 가상 디스크(vdisk)를 생성할 수 있고, 생성된 가상 디스크는 가상 디스크 풀 내에서 관리될 수 있다. 이 때, 사용자는 각각의 가상 디스크 풀을 통해 스토리지 서비스가 등록된 스토리지로부터 복수개의 스토리지 서비스를 제공 받을 수 있다.Through this, the integrated storage management device (100) can create one virtual disk (vdisk) when a registered service provider connects, and the created virtual disk can be managed within a virtual disk pool. At this time, the user can receive multiple storage services from the storage where the storage service is registered through each virtual disk pool.
또한, 본 발명의 일실시예에 따른 멀티테넌트 기반 통합 스토리지 관리 방법은 스토리지 서비스를 제공할 수 있다(S440).In addition, a multi-tenant-based integrated storage management method according to one embodiment of the present invention can provide a storage service (S440).
즉, 단계(S440)는 복수의 서비스 제공자로부터 스토리지 서비스를 등록 받아 멀티테넌트 기반으로 상기 스토리지 서비스의 제공을 관리할 수 있다.That is, step (S440) can register storage services from multiple service providers and manage the provision of the storage services on a multi-tenant basis.
이 때, 단계(S440)는 관리자가 관리 GUI를 통하여 통합 스토리지 관리 장치(100)에서 스토리지 서비스 제공을 위한 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)를 등록하고 새로운 서비스를 구성 할 수 있다.At this time, step (S440) allows the administrator to register cloud storage (21) and non-cloud storage (22) for providing storage services in the integrated storage management device (100) through the management GUI and configure a new service.
이 때, 단계(S440)는 서비스 제공자가 서비스를 가입하여 등록하고 파일을 업로드 및 생성하면 클라우드 계정을 작성할 수 있고, 업로드 된 파일은 관리자의 재량에 따라 클라우드 스토리지(21) 또는 논-클라우드 스토리지(22)에 저장할 수 있다.At this time, step (S440) allows the service provider to create a cloud account by signing up for the service, registering, uploading and creating files, and the uploaded files can be stored in cloud storage (21) or non-cloud storage (22) at the discretion of the administrator.
이 때, 단계(S440)는 관리 GUI를 통해 통합 스토리지(20)에 통합 된 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)에 등록된 클라우드 서비스의 컨텐츠를 표시, 작성, 수정 및 삭제하는 기능도 제공할 수 있다.At this time, step (S440) can also provide a function to display, create, modify and delete contents of cloud services registered in cloud storage (21) and non-cloud storage (22) integrated in the integrated storage (20) through the management GUI.
스토리지의 구성은 논-클라우드 스토리지(22)와 별개로 클라우드 스토리지(21)의 서비스는 기본 구성과 함께 별도로 제공될 수 있다.The configuration of the storage may be provided separately from the non-cloud storage (22) and the service of cloud storage (21) may be provided separately along with the basic configuration.
이 때, 단계(S440)는 논리 구성 요소의 기능을 각 개별 기능을 가진 모듈 혹은 함수 형태로 연결 네트워크가 있는 서버, 가상 시스템 또는 컨테이너로 독립적으로 구성할 수 있다.At this time, step (S440) can independently configure the functions of the logical components as modules or functions with individual functions, as servers, virtual systems or containers with a connection network.
이 때, 단계(S440)는 서비스 제공자로부터 입력 받은 서비스 등록 정보에 상응하는 상기 통합 스토리지(20)가 포함하는 어느 하나의 스토리지에 상기 스토리지 서비스를 등록할 수 있다.At this time, step (S440) can 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.
이 때, 단계(S440)는 상기 스토리지 서비스가 등록된 스토리지에 가상 스토리지를 설정하여 상기 스토리지 서비스를 제공할 수 있다.At this time, step (S440) can provide the storage service by setting up virtual storage in the storage where the storage service is registered.
이 때, 단계(S440)는 상기 스토리지 서비스의 입출력 성능 저하를 방지하기 위하여 데이터가 이동하는 제1 경로(Data Path)와 데이터를 제어하는 제2 경로(Control Path)를 이용하여 상기 스토리지 서비스를 관리할 수 있다.At this time, step (S440) can manage the storage service by using a first path (Data Path) through which data moves and a second path (Control Path) that controls data in order to prevent a decrease in input/output performance of the storage service.
도 13은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.FIG. 13 is a block diagram showing a computer system according to one embodiment of the present invention.
도 13을 참조하면, 본 발명의 일실시예에 따른 사용자 클라이언트 장치(10) 및 통합 스토리지 관리 장치(100)는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1100)에서 구현될 수 있다. 도 17에 도시된 바와 같이, 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 인터페이스 입력 장치(1140), 사용자 인터페이스 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.Referring to FIG. 13, a user client device (10) and an integrated storage management device (100) according to an embodiment of the present invention may be implemented in a computer system (1100) such as a computer-readable recording medium. As illustrated in FIG. 17, the computer system (1100) may include one or more processors (1110), a memory (1130), a user interface input device (1140), a user interface output device (1150), and storage (1160) that communicate with each other via a bus (1120). In addition, the computer system (1100) may further include a network interface (1170) connected to a 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 forms of volatile or nonvolatile storage media. For example, the memory may include ROM (1131) or RAM (1132).
도 14는 본 발명의 일실시예에 따른 통합 스토리지 시스템을 나타낸 도면이다.FIG. 14 is a drawing showing an integrated storage system according to one embodiment of the present invention.
도 14를 참조하면, 본 발명의 일실시예에 따른 통합 스토리지 시스템은 사용자 클라이언트 장치(10), 통합 스토리지 관리 장치(100) 및 통합 스토리지(20)를 포함할 수 있다.Referring to FIG. 14, an integrated storage system according to one embodiment of the present invention may include a user client device (10), an integrated storage management device (100), and an integrated storage (20).
먼저, 본 발명의 일실시예에 따른 데이터 스토리지 통합(Data Storage Federation, DSF) 기술은 스토리지 가상화를 이용하여 이기종 스토리지의 여러 데이터 소스에서 단일 가상 볼륨을 제공하는 기술에 상응할 수 있다.First, the data storage federation (DSF) technology according to one embodiment of the present invention may correspond to a technology that provides a single virtual volume from multiple data sources of heterogeneous storage using storage virtualization.
데이터 가상화(Data Virtualization)는 리소스 위치 또는 데이터 구조에 관계없이 여러 데이터 리소스를 논리적 데이터 리소스로 추상화하고 관리하는 기술에 상응할 수 있다.Data Virtualization can correspond to a technology that abstracts and manages multiple data resources as logical data resources regardless of resource location or data structure.
이 때, 여러 데이터 리소스에는 파일, 데이터베이스, 시스템, 스토리지 등을 포함될 수 있다.At this time, various data resources may include files, databases, systems, storage, etc.
이 때, 데이터 스토리지 통합은 데이터베이스를 제외한 여러 데이터 자원을 포함할 수 있다.At this time, data storage integration may include multiple data resources other than the database.
DSF 로컬 스토리지는 데이터 스토리지 통합의 백엔드에 존재할 수 있고, 데이터가 최종 저장되는 물리적 스토리지 장치에 상응할 수 있다.DSF local storage can exist at the backend of a data storage integration and can correspond to the physical storage device where the data is ultimately stored.
물리적 스토리지 장치에는 온-프레미스 스토리지(예를 들어, 메모리, SSD, HDD, SAS, iSCSI 스토리지 및 NAS 등) 및 블록, 개체 및 파일과 같은 복잡한 관리 장치가 있는 퍼블릭 클라우드 스토리지가 포함될 수 있다.Physical storage devices can include on-premises storage (e.g., memory, SSD, HDD, SAS, iSCSI storage, and NAS) and public cloud storage with complex management devices such as block, object, and file.
단일 가상 볼륨(Single Virtual Volume)은 스토리지 가상화를 이용하여 생성 된 가상 블록 장치, 가상 디스크 또는 가상 파일을 고객에게 제공하는 개체에 상응할 수 있다.A Single Virtual Volume may correspond to an entity that presents a virtual block device, virtual disk, or virtual file to a customer using storage virtualization.
고객(Customer)은 단일 사용자 볼륨을 사용하는 최종 사용자, 서버, 운영 체제, 애플리케이션 및 기타 클라우드 서비스 제공 업체의 저장 장치를 포함할 수 있다.A Customer may include end users, servers, operating systems, applications, and storage devices from other cloud service providers that use single-user volumes.
스토리지 가상화(Storage Virtualization)는 다양한 유형의 스토리지를 가상 스토리지 풀로 통합하고 물리적 운영의 제한없이 가상 스토리지 풀을 단일 가상 볼륨으로 나누는 기술에 상응할 수 있다.Storage Virtualization can correspond to a technology that integrates various types of storage into a virtual storage pool and divides the virtual storage pool into a single virtual volume without physical operational limitations.
이 때, 스토리지 가상화는 데이터 액세스에 방해가 되지 않을 수 있고, 저장 장치의 성능이 저하되지 않을 수 있다.At this time, storage virtualization may not interfere with data access and may not degrade the performance of storage devices.
가상 스토리지 풀(Virtual Storage Pool, VPOOL)은 DSF 로컬 스토리지를 단일 가상 볼륨으로 집계한 논리적 객체에 상응할 수 있다.A Virtual Storage Pool (VPOOL) can correspond to a logical object that aggregates DSF local storage into a single virtual volume.
아래에서 설명할 약어들은 다음과 같이 설명할 수 있다.The abbreviations described below can be explained as follows:
DSF: 데이터 스토리지 통합(Data Storage Federation)DSF: Data Storage Federation
API: 응용 프로그래밍 인터페이스(Application Programming Interface)API: Application Programming Interface
NAS: 네트워크 연결 스토리지(Network-Attached Storage)NAS: Network-Attached Storage
CSC: 클라우드 서비스 고객(Cloud Service Customer)CSC: Cloud Service Customer
CSP: 클라우드 서비스 제공 업체(Cloud Service Provider)CSP: Cloud Service Provider
본 발명의 일실시예에 따른 데이터 스토리지 정책은 백업, 복제, 스냅 샷, 자동 확장, 데이터 마이그레이션, 판매 복구, 데이터 캐싱, 씬 프로비저닝, 자동 계층화, 스토리지 라이프 (블록, 개체 및 파일) 등을 포함할 수 있다.Data storage policies according to one embodiment of the present invention may include backup, replication, snapshot, auto-extension, data migration, sales recovery, data caching, thin provisioning, auto-tiering, storage life (block, object and file), etc.
이 때, 데이터 스토리지 정책은 상기 구성 요소 들 중에서 기본적으로 설정되며 고객(사용자)의 요청에 따라 재구성될 수 있다. 또한 DSF 로컬 스토리지 정책에 따라 달라질 수도 있다.At this time, the data storage policy is set by default among the above components and can be reconfigured according to the customer (user) request. It can also vary according to the DSF local storage policy.
재구성 된 정책은 DSF 로컬 스토리지가 자체 정책을 지원하지 않는 경우에, 상기 구성 요소에 의해 재구성 된 정책일 수 있다.The reconstructed policy may be a policy reconstructed by the above component in case the DSF local storage does not support its own policy.
데이터 조작 정책은 비공유 모드와 읽기 전용, 쓰기 및 복제 옵션, 조각화 옵션 등을 포함한 공유 모드를 선택할 수 있다.Data manipulation policies can select between non-shared mode and shared mode, including read-only, write and replication options, and fragmentation options.
또한, 본 발명의 일실시예에 따른 통합 스토리지 장치는 고객 환경을 구성하기 위해 고객이 생성 한 고객 메타 데이터, 데이터 조작에 필요한 데이터 조작 메타 데이터, DSF 로컬 스토리지에 사용되는 스토리지 관리 메타 데이터를 처리할 수 있다.In addition, the integrated storage device according to one embodiment of the present invention can process customer metadata created by a customer to configure a customer environment, data manipulation metadata required for data manipulation, and storage management metadata used in DSF local storage.
이 때, 본 발명의 일실시예에 따른 통합 스토리지 장치는 CSP:DSM이 CSC:CSU에 단일 가상 볼륨을 사용하기 위한 통합 사용자 인터페이스를 제공할 수 있다.At this time, the integrated storage device according to one embodiment of the present invention can provide a unified user interface for CSP:DSM to use a single virtual volume in CSC:CSU.
통합 사용자 인터페이스는 자체 데이터 스토리지와의 상호 작용 통합, 데이터 공유 및 단일 가상 볼륨 건조 등에 액세스하기 위한 CSC:CSU의 다양한 스토리지 유형 액세스 메커니즘을 포함할 수 있다.The unified user interface may include access mechanisms for various storage types in CSC:CSU for integrating interactions with its own data storage, sharing data, and building a single virtual volume.
스토리지 유형은 객체 기반 스토리지, 파일 기반 스토리지 및 블록 기반 스토리지 등을 포함할 수 있다.Storage types can include object-based storage, file-based storage, and block-based storage.
액세스 메커니즘은 단일 가상 볼륨을 연결하기 위한 스토리지 유형에 따라 다른 유형의 프로토콜을 나타낼 수 있다. 프로토콜에는 블록 장치 스토리지 용 iSCI, SMB, NFS, SFTP, 파일 기반 스토리지 용 FTP, 객체 기반 스토리지 용 Restful API 등이 포함될 수 있다.The access mechanism can represent different types of protocols depending on the type of storage to which a single virtual volume is connected. Protocols can include iSCI, SMB, NFS, SFTP for block device storage, FTP for file-based storage, Restful API for object-based storage, etc.
CSP:FDSP는 CSC:CSU가 정책을 설정하기 위한 인터페이스를 제공할 수 있다.CSP:FDSP can provide an interface for CSC:CSU to set policies.
단일 가상 볼륨, 가상 스토리지 풀 및 DSF 로컬 스토리지를 관리하기 위해 CSP:DSM이 CSC:CSU에 통합 관리 인터페이스를 제공할 수 있다.CSP:DSM can provide a unified management interface to CSC:CSU to manage single virtual volumes, virtual storage pools, and DSF local storage.
또한, 본 발명의 일실시예에 따른 통합 스토리지 장치는 데이터 스토리지 통합에 상응할 수 있다.Additionally, the integrated storage device according to one embodiment of the present invention may correspond to data storage integration.
데이터 스토리지 통합은 단일 가상 볼륨을 사용하기 위해 CSC:CSU에 통합 사용자 인터페이스를 제공할 수 있다.Data storage integration can provide a unified user interface to CSC:CSU to use a single virtual volume.
통합 사용자 인터페이스는 데이터 공유, CSC:CSU가 단일 가상 볼륨에 액세스하기 위한 다양한 스토리지 유형의 액세스 메커니즘 등 자체 데이터 스토리지와의 상호 작용을 통합할 수 있다.A unified user interface can integrate interactions with its own data storage, including data sharing, access mechanisms for different storage types for CSC:CSU to access a single virtual volume, etc.
데이터 스토리지 통합은 CSC:CSU가 정책을 설정하기위한 인터페이스를 제공할 수 있다.Data storage integration could provide an interface for CSC:CSU to set policies.
데이터 스토리지 통합은 DSF 서비스 제공자(DSF Service Provider)가 DSF 서비스의 성능 향상을 위해 병렬 액세스를 지원할 수 있다.Data storage integration allows DSF Service Providers to support parallel access to improve the performance of DSF services.
이 때, DSF 서비스 제공자는 데이터 스토리지 제공자가 제공 한 스토리지 등록을 위한 인터페이스를 제공할 수 있다.At this time, the DSF service provider can provide an interface for registering storage provided by the data storage provider.
성능 향상은 데이터 캐싱 및 데이터 저장 등에 관련된 것일 수 있다.Performance improvements may relate to data caching and data storage.
데이터 스토리지 통합은 CSP:DSM가 단일 가상 볼륨(가상 스토리지 풀 및 DSF 로컬 스토리지)을 관리하기 위해 CSC:CSU에 통합 관리 인터페이스를 제공할 수 있다.Data storage integration allows CSP:DSM to provide a unified management interface to CSC:CSU to manage a single virtual volume (virtual storage pool and DSF local storage).
데이터 스토리지의 통합에 대한 기능으로는 스토리지 연결 인터페이스, 데이터 통합 관리 및 데이터 스토리지 관리를 포함할 수 있다.Features for data storage integration may include storage connectivity interfaces, data integration management, and data storage management.
스토리지 연결 인터페이스에 관한 기능은 본 발명의 일실시예에 따른 스토리지 연결부(110)에서 수행될 수 있다.The function related to the storage connection interface can be performed in the storage connection unit (110) according to one embodiment of the present invention.
스토리지 연결 인터페이스는 DSF 서비스 제공자가 스토리지 유형에 따라 액세스 메커니즘을 지원할 수 있다.The storage connection interface allows DSF service providers to support access mechanisms depending on the storage type.
스토리지 연결 인터페이스는 CSP:FDSP가 스토리지 유형 및 CSC : CSU에 단일 가상 볼륨이 필요한 경우 액세스 메커니즘을 포함한 서비스 정보를 수집하고 검색할 수 있다.The storage connection interface allows CSP:FDSP to collect and retrieve service information, including storage type and access mechanism when a single virtual volume is required for CSC:CSU.
예를 들어, 서비스 정보는 CSP:FDSP의 서비스 카탈로그에 상응할 수 있다.For example, the service information may correspond to the service catalog of CSP:FDSP.
스토리지 연결 인터페이스는 CSP:FDSP가 DSF 로컬 스토리지에서 실제 데이터 액세스를 위해 글로벌 네임 스페이스에 대한 고속 액세스를 보장할 수 있다.The storage connection interface can ensure high-speed access to the global name space for CSP:FDSP to access actual data from DSF local storage.
글로벌 네임 스페이스는 여러 스토리지 장치 및 클라우드 스토리지에서 이기종 파일 시스템을 추상화하고 통합하는 기술에 상응할 수 있다. 글로벌 네임 스페이스는 로컬화 된 파일 관리의 복잡성을 줄이고 스토리지 확장을 용이하게 하며 데이터를 투명하게 마이그레이션하여 마운트 포인트 및 공유 포인트 수를 줄일 수 있다. 글로벌 네임 스페이스는 여러 가지 방법으로 구현되지만 CSC:CSU의 구성은 동일한 액세스를 유지할 수 있다.Global namespace can correspond to a technology that abstracts and integrates heterogeneous file systems across multiple storage devices and cloud storage. Global namespace can reduce the complexity of localized file management, facilitate storage expansion, and transparently migrate data, reducing the number of mount points and share points. Global namespace can be implemented in various ways, but the configuration of CSC:CSU can maintain the same access.
스토리지 연결 인터페이스는 CSC:CSU가 여러 파일 시스템을 DSF 로컬 스토리지에 통합하고 관리하기 위한 글로벌 네임 스페이스를 제공할 수 있다.The storage connectivity interface allows CSC:CSU to provide a global namespace for integrating and managing multiple file systems into DSF local storage.
스토리지 연결 인터페이스는 CSP:DSM가 DSF 서비스의 성능 저하를 막기 위해 별도의 관리 및 데이터 인터페이스를 제공할 수 있다.Storage connection interface CSP:DSM can provide separate management and data interfaces to prevent performance degradation of DSF service.
스토리지 연결 인터페이스는 CSP:DSM가 자체 구성(Self Configuration)을 위해 모든 논리적 구성 요소 및 해당 인터페이스를 독립적으로 구성하고 제어할 수 있다.The storage connection interface allows CSP:DSM to independently configure and control all logical components and their interfaces for self-configuration.
이 때, 자체 구성(Self Configuration)은 논리적 구성 요소의 자동 구성을 의미하며, DSF 서비스 공급자는 서버, 가상 시스템 또는 컨테이너에 구축된 각 구성 요소의 구성을 연결 네트워크로 관리할 수 있다.At this time, self-configuration means automatic configuration of logical components, and the DSF service provider can manage the configuration of each component built on a server, virtual machine, or container as a connection network.
스토리지 연결 인터페이스는 CSP:DSM가 통합 스토리지를 DSF 서비스에 참여시키기 위해 DSF 로컬 스토리지 연결을 관리할 수 있다.The storage connection interface allows CSP:DSM to manage DSF local storage connections to participate in the integrated storage in the DSF service.
통합 스토리지에 참여하기 위해, DSF 로컬 스토리지 관리는 여러 유형의 스토리지 인터페이스를 구성 할 수 있는 인터페이스(예: 객체 또는 블록 스토리지 인터페이스) 및 프록시 인터페이스를 제공할 수 있다. DSF 로컬 스토리지 프록시는 백엔드 연결 데몬으로 스토리지 인터페이스를 자동으로 감지하여 서비스를 등록할 수 있다.To participate in unified storage, DSF local storage management can provide interfaces that can configure different types of storage interfaces (e.g., object or block storage interfaces) and proxy interfaces. The DSF local storage proxy can automatically detect storage interfaces and register services as a backend connection daemon.
스토리지 연결 인터페이스는 CSP:FDSP가 CSC:CSU 및 DSF 로컬 스토리지에 보안 스토리지 인터페이스를 사용할 수 있다.The storage connection interface allows CSP:FDSP to use the secure storage interface to CSC:CSU and DSF local storage.
스토리지 연결 인터페이스는 단일 가상 볼륨을 사용하기 위해 CSC : CSU에 대한 CSP:DSM 등록 정보를 사용할 수 있다.The storage connection interface can use the CSP:DSM registration information for CSC:CSU to use a single virtual volume.
등록 정보는 데이터 스토리지 서비스 이름, 데이터 스토리지 사양(크기, 캐싱, 티어 카운트 암호화, 온 프레미스 스토리지 지원 등) 및 서비스 프로토콜 및 클라우드 스토리지 유형을 포함할 수 있다.Registration information may include the data storage service name, data storage specifications (size, caching, tier count encryption, on-premises storage support, etc.), service protocol, and cloud storage type.
스토리지 연결 인터페이스는 CSP:DSM가 등록 정보에서 단일 가상 볼륨을 호출하기 위해 데이터 스토리지 서비스를 구성하고 프로비저닝을 수행할 수 있다.The storage connection interface allows CSP:DSM to configure and provision data storage services to call a single virtual volume from the registration information.
또한, 데이터 통합 관리에 대한 기능은 본 발명의 일실시예에 따른 데이터 조작부(120)에서 수행될 수 있다.Additionally, the function for data integration management can be performed in the data manipulation unit (120) according to one embodiment of the present invention.
데이터 통합 관리는 DSF 서비스 제공자가 파일 자체와 파일 내용을 데이터로 지원할 수 있다.Data integration management allows DSF service providers to support both the files themselves and their contents as data.
파일의 내용 유형은 구조화(structured), 반 구조화(semi-structred) 및 비 구조화(unstructured)로 구성될 수 있다.The content type of a file can be structured, semi-structured, or unstructured.
데이터 통합 관리는 CSP:FDSP가 해당 API에 의해 여러 DSF 로컬 스토리지 제공자의 DSF 로컬 스토리지에 분산 데이터를 집계하도록 지원할 수 있다.Data integration management can support CSP:FDSP to aggregate distributed data into DSF local storage of multiple DSF local storage providers by its API.
데이터 통합 관리는 CSP:DSM가 스토리지 공간의 탄력성과 비용 효율성에 중점을 둔 CSC:CSU의 데이터를 관리할 수 있다.Data integration management allows CSP:DSM to manage CSC:CSU's data with a focus on elasticity and cost efficiency of storage space.
예를 들어, 데이터 저장 공간의 복원력과 비용 효율성을위한 데이터 이동은 사용자 개입이나 인식없이 자동으로 수행될 수 있다.For example, data migration for resiliency and cost efficiency of data storage can be done automatically without user intervention or awareness.
데이터 통합 관리는 CSP:FDSP가 CSC : CSU의 데이터를 통합하기 위해 유효성을 검증할 수 있다.Data Integration Management enables CSP:FDSP to validate the integration of data from CSC:CSU.
또한, 데이터 스토리지 관리에 관한 기능은 데이터 분산 및 저장부(130)와 백엔드 스토리지 관리부(140)에서 수행될 수 있다.Additionally, functions related to data storage management can be performed in the data distribution and storage unit (130) and the backend storage management unit (140).
데이터 스토리지 관리는 CSP:FDSP가 분산 데이터를 집계하기 위해 여러 데이터 스토리지 제공자에 대한 동시 액세스를 제공할 수 있다.Data storage management allows CSP:FDSP to provide concurrent access to multiple data storage providers to aggregate distributed data.
데이터 스토리지 관리는 CSP:FDSP가 CSC:CSU의 DSF 로컬 스토리지 액세스 권한 위임을 지원할 수 있다.Data storage management can support CSP:FDSP delegation of DSF local storage access rights to CSC:CSU.
데이터 스토리지 관리는 DSF 로컬 스토리지와의 통합으로 단일 시스템의 뷰를 통해 볼 수 있는 가상 스토리지 풀을 제공할 수 있다.Data storage management can be integrated with DSF local storage to provide a virtual storage pool that can be viewed through a single system view.
데이터 스토리지 관리는 CSP:FDSP가 온-프레미스보다 느린 액세스 속도를 보상하기 위해 읽기 / 쓰기 캐시를 제공할 수 있다.Data storage management CSP:FDSP can provide read/write cache to compensate for slower access speeds than on-premises.
읽기 / 쓰기 캐시는 스토리지의 성능을 향상시킬 수 있으며 데이터를 저장하는 장치는 빠른 캐시 작업을 위한 다양한 장치가 사용될 수 있다.Read/write caches can improve the performance of storage, and devices that store data can use a variety of devices for fast cache operations.
예를 들어, 빠른 캐시를 위한 다양한 장치는 메인 메모리, RAM 기반 디스크 및 SSD 등을 포함할 수 있다.For example, various devices for fast cache may include main memory, RAM-based disks, and solid-state drives (SSDs).
예를 들어, 고속 액세스를 위해 캐시 계층 구조가 기본 메모리로 확장될 수 있다. 또한, 메인 메모리는 용량 제한으로 인해 SSD에 사용되는 접근 방식을 이용할 수 있다. RAM 기반 캐시 영역이 소진 된 경우, SSD 영역 캐시로 자동 변환될 수 있다. DSF 서비스 고객이 쓰기 작업을 수행 할 때 빠른 쓰기 응답을 위해 메모리 영역에서 쓰기 작업이 수행될 수 있다.For example, the cache hierarchy can be extended to the main memory for high-speed access. In addition, the main memory can utilize the access method used for SSD due to capacity limitations. When the RAM-based cache area is exhausted, it can be automatically converted to the SSD area cache. When the DSF service customer performs a write operation, the write operation can be performed in the memory area for fast write response.
데이터 스토리지 관리는 CSP:FDSP가 고 가용성을 위해 글로벌 네임 스페이스의 백업을 제공할 수 있다.Data storage management allows CSP:FDSP to provide backup of the global namespace for high availability.
글로벌 네임 스페이스의 백업은 실제 데이터와 동기화되며, 여러 노드(가상 머신 또는 물리적 서버)의 클러스터링을 통해 고 가용성 기능을 수행할 수 있다.Backups of the global namespace are synchronized with the actual data and can perform high availability functions through clustering of multiple nodes (virtual machines or physical servers).
데이터 스토리지 관리는 CSP:FDSP는 블록 기반 스토리지, 파일 기반 스토리지 또는 기타 클라우드 스토리지와 같은 DSF 서비스 고객의 요구에 따라 단일 가상 볼륨을 추가하도록 지원할 수 있다.Data storage management CSP:FDSP can support adding a single virtual volume according to the needs of DSF service customers, such as block-based storage, file-based storage, or other cloud storage.
또한, 프로비전 및 정책 관리에 관한 기능은 프로비저닝 및 정책 관리부(150)에서 수행될 수 있다.Additionally, functions related to provisioning and policy management can be performed in the provisioning and policy management unit (150).
프로비전 및 정책 관리는 CSC:CSU에 대한 데이터 스토리지 정책을 설정하기위한 구성을 제공할 수 있다.Provisioning and Policy Management can provide configuration for setting data storage policies for CSC:CSU.
프로비전 및 정책 관리는 DSF 서비스 제공자가 DSF 서비스 고객에 대한 데이터 정책을 조작하도록 지원할 수 있다.Provisioning and policy management can assist DSF service providers in manipulating data policies for DSF service customers.
예를 들어, 데이터 정책은 비공유 모드와 읽기 전용, 쓰기, 복제, 등을 포함한 공유 모드를 포함할 수 있다.For example, a data policy may include non-shared modes and shared modes including read-only, write, replicated, etc.
프로비전 및 정책 관리는 CSC:CSU의 데이터 기밀성을 보장하기 위해 데이터 전송을 위한 CSP : FDSP를 지원하는 보안 정책(예 : 데이터 암호화)에 관한 기능을 포함할 수 있다.Provisioning and policy management may include functionality regarding security policies (e.g. data encryption) that support CSP:FDSP for data transmission to ensure data confidentiality of CSC:CSU.
프로비전 및 정책 관리는 CSP:FDSP는 분산 스토리지를 기반으로 스토리지 구조에서 오류로 인한 데이터 손실을 방지하고 시스템 장애시 데이터 복구를 제공할 수 있다.Provisioning and Policy Management CSP:FDSP can prevent data loss due to errors in the storage structure based on distributed storage and provide data recovery in the event of a system failure.
통합 스토리지 관리 장치(100)는 서비스 퀄리티를 높이는 것뿐만 아니라 새로운 서비스의 생성을 위해 구조화(structured), 반 구조화(semi-structred) 및 비 구조화(unstructured) 데이터와 같은 다양한 데이터 타입을 다룰 수 있다.The integrated storage management device (100) can handle various data types such as structured, semi-structured, and unstructured data to not only improve service quality but also create new services.
이 때, 통합 스토리지 관리 장치(100)는 통합 스토리지(20) 내의 다양한 데이터를 사용하기 위해 이종의 스토리지를 효율적으로 다루고 종합할 수 있으며, 쉽게 데이터를 이용할 수 있다.At this time, the integrated storage management device (100) can efficiently handle and synthesize heterogeneous storage to use various data within the integrated storage (20), and can easily use the data.
이 때, 통합 스토리지 관리 장치(100)는 단일 가상 볼륨(SINGLE VIRTUAL VOLUME)의 가상 스토리지 풀(VIRTUAL STORAGE POOL)을 사용자 클라이언트 장치(10)에게 제공할 수 있다.At this time, the integrated storage management device (100) can provide a virtual storage pool of a single virtual volume (SINGLE VIRTUAL VOLUME) to the user client device (10).
이 때, 통합 스토리지 관리 장치(100)는 통합 스토리지(20) 상의 데이터를 생성, 저장, 읽기, 업데이트 및 삭제 등의 다양한 요청을 실행할 수 있다.At this time, the integrated storage management device (100) can execute various requests such as creating, storing, reading, updating, and deleting data on the integrated storage (20).
데이터 가상화는 리소스 위치 또는 데이터 구조에 관계없이 여러 데이터 리소스를 중단 없이 관리하는 기술이다.Data virtualization is a technology that manages multiple data resources without interruption, regardless of resource location or data structure.
여러 데이터 리소스에는 파일, 데이터베이스, 시스템, 스토리지 등이 포함될 수 있다.Data resources can include files, databases, systems, storage, etc.
통합 스토리지(20)는 통합 스토리지 관리 장치(100)의 백엔드에 위치할 수 있고, 최종적으로 데이터가 저장되는 물리적 저장 장치들에 상응할 수 있다.The integrated storage (20) may be located at the backend of the integrated storage management device (100) and may correspond to physical storage devices where data is ultimately stored.
물리적 저장 장치는 온프레미스 스토리지(22)(예: 메모리, SSD, HDD, SAS, iSCSI 스토리지 및 NAS 등) 및 블록, 오브젝트 및 파일과 같은 퍼블릭 클라우드 스토리지(21)를 포함할 수 있다.Physical storage devices may include on-premise storage (22) (e.g., memory, SSD, HDD, SAS, iSCSI storage, and NAS) and public cloud storage (21) such as blocks, objects, and files.
단일 가상 볼륨은 가상 블록 장치, 가상 디스크 또는 가상 파일을 사용하여 생성 된 가상 파일로 사용자 클라이언트 장치(10)에게 제공되는 오브젝트에 상응할 수 있다.A single virtual volume may correspond to an object presented to a user client device (10) as a virtual file created using a virtual block device, a virtual disk, or a virtual file.
사용자 클라이언트 장치(10)은 단일 가상 볼륨을 사용하는 클라우드 서비스 공급자의 최종 사용자, 서버, 운영 체제, 응용 프로그램 및 기타 저장 장치를 포함할 수 있다.The user client device (10) may include end users, servers, operating systems, applications, and other storage devices of a cloud service provider using a single virtual volume.
통합 스토리지 관리 장치(100)는 스토리지 가상화 기술을 이용하여 다른 유형의 저장소를 가상 저장소 풀로 통합하고 물리적 저장소의 제한 없이 가상 저장소 풀을 단일 가상 볼륨으로 나눌 수 있다.The integrated storage management device (100) can integrate different types of storage into a virtual storage pool using storage virtualization technology and divide the virtual storage pool into a single virtual volume without limitations of physical storage.
이러한 단일 가상 볼륨은 데이터 액세스에 장애물이 없고 저장 장치의 성능에 대한 손상이 적습니다.These single virtual volumes have no impediments to data access and cause less performance degradation on the storage device.
가상 스토리지 풀은 단일 가상 볼륨에 통합 스토리지(20)의 스토리지들을 단일 가상 스토리지 뷰로써 제공하는 논리적 오브젝트에 상응할 수 있다.A virtual storage pool may correspond to a logical object that provides storage of the integrated storage (20) as a single virtual storage view in a single virtual volume.
도 14에 도시된 바와 같이, API와 I/O 인터페이스에 연결되고 조정된 통합 스토리지(20)(클라우드 스토리지(21)와 온-프레미스 스토리지(22))에 의해 가상 스토리지 풀이 형성될 수 있다. 통합 스토리지(20)는 블록, 파일 및 오브젝트 타입을 지원할 수 있다.As illustrated in FIG. 14, a virtual storage pool can be formed by integrated storage (20) (cloud storage (21) and on-premise storage (22)) connected and coordinated with API and I/O interfaces. The integrated storage (20) can support block, file, and object types.
통합 스토리지 관리 장치(100)는 사용자 클라이언트 장치(10)에게 단일 가상 볼륨 스토리지를 생성하여 제공할 수 있다.The integrated storage management device (100) can create and provide a single virtual volume storage to a user client device (10).
이 때, 통합 스토리지 관리 장치(100)는 통합 스토리지(20)의 federation 으로 단일 가상 볼륨 스토리지를 생성할 수 있고, 사용자 클라이언트 장치(10)에게 단일 액세스 포인트(single access point)를 제공할 수 있다.At this time, the integrated storage management device (100) can create a single virtual volume storage through federation of the integrated storage (20) and provide a single access point to the user client device (10).
이 때, 통합 스토리지 관리 장치(100)는 policy-based provision 및 management 를 이용하여 단일 가상 볼륨 스토리지를 지원할 수 있다. 해당 계약/운영 사항은 운영자 측에서 운영 management를 높이는데 도움이 될 수 있고, 사용자 측에서는 단일 가상 볼륨 스토리지를 단순화하여 사용하는데 도움이 될 수 있다.At this time, the integrated storage management device (100) can support a single virtual volume storage using policy-based provision and management. The contract/operational terms can help the operator improve operational management, and the user can help simplify the use of a single virtual volume storage.
사용자들은 사용자 클라이언트 장치(10)를 이용하여 자신의 단일 가상 볼륨 스토리지 상에서 사용자 데이터(예: images for gallery, audios for music player, documents for collaboration, application data for service, and etc.)를 생성, 저장 읽기, 업데이트 및 삭제하는데 단일 가상 볼륨 스토리지를 사용할 수 있다.Users can use the single virtual volume storage to create, store, read, update, and delete user data (e.g., images for gallery, audios for music player, documents for collaboration, application data for service, and etc.) on their single virtual volume storage using their user client devices (10).
사용자 클라이언트 장치(10)는 통합 스토리지 관리 장치(100)의 단일 가상 볼륨 스토리지에 연결할 때, 단일화된 요청 명령들(unified request commands)은 통합 스토리지(20)가 다른 연결 커넥션을 가지는 것처럼 실행될 수 있다.When a user client device (10) connects to a single virtual volume storage of a unified storage management device (100), unified request commands can be executed as if the unified storage (20) had a different connection.
통합 스토리지 관리 장치(100)에 의해 지원되는 사용자 데이터는 계약/운영 상 분산되거나 분산되지 않을 수 있다.User data supported by the integrated storage management device (100) may or may not be distributed for contractual/operational reasons.
통합 스토리지 관리 장치(100)는 사용자 데이터를 다루기 위해, 사용자 데이터를 스토리지 위치, 데이터 히스토리, 파일의 컨텐트 타입 등과 같은 데이터의 정보로 압축할 수 있다.The integrated storage management device (100) can compress user data into information such as storage location, data history, content type of the file, etc. to handle user data.
이 때, 통합 스토리지 관리 장치(100)는 데이터 압축(data abstraction)을 사용하여 가상 스토리지 풀 상의 데이터 가상화를 생성할 수 있다.At this time, the integrated storage management device (100) can create data virtualization on the virtual storage pool using data abstraction.
이 때, 통합 스토리지 관리 장치(100)는 가상 스토리지 풀에서 데이터 복사를 줄이고, 데이터 공유 환경을 원본데이터의 복사나 이동 없이 데이터를 공유하는 환경을 제공하여 데이터를 찾고 데이터 I/O를 다루는 작업을 줄일 수 있다. 데이터를 조절하는 인터랙션은 사용자의 데이터 운영/계약에 기반할 수 있다. 예를 들어, 공유모드에서 읽기만 하거나, 덮어쓰기(overwriting) 및 복사(replication)과 같은 데이터 운영/계약 폴리시(policy)에 기초할 수 있다.At this time, the integrated storage management device (100) can reduce data copying in the virtual storage pool and provide a data sharing environment in which data is shared without copying or moving the original data, thereby reducing the work of finding data and handling data I/O. The interaction for controlling data can be based on the user's data operation/contract. For example, it can be based on a data operation/contract policy such as reading only in a shared mode or overwriting and replication.
이 때, 단일 가상 볼륨은 통합 스토리지의 서로 다른 스토리지들과 연결 세트에 의해 구축될 수 있다.At this time, a single virtual volume can be built by connecting a set of different storages in the unified storage.
도 15는 본 발명의 일실시예에 따른 통합 스토리지 시스템에서 데이터 액세스를 위한 멀티 스토리지 유형 및 액세스 메커니즘을 나타낸 도면이다.FIG. 15 is a diagram illustrating a multi-storage type and access mechanism for data access in an integrated storage system according to one embodiment of the present invention.
도 15를 참조하면, 사용자 클라이언트 장치(10)는 통합 스토리지 관리 장치(100)에게 다양한 서비스 인터페이스 및 저장소 유형을 요청할 수 있다.Referring to FIG. 15, a user client device (10) can request various service interfaces and storage types from an integrated storage management device (100).
이 때, 통합 스토리지 관리 장치(100)는 해당 액세스 메커니즘을 사용하여 서비스 인터페이스를 사용자 클라이언트 장치(10)에게 제공할 수 있다.At this time, the integrated storage management device (100) can provide a service interface to the user client device (10) using the corresponding access mechanism.
이 때, 사용자 클라이언트 장치(10)는 자체적으로 소유한 스토리지 유형을 사용할 수 있다.At this time, the user client device (10) can use its own storage type.
이 때, 사용자 클라이언트 장치(10)는 일반 사용자 (개별적으로 스토리지를 소유), 일부 응용 프로그램(APPLICATION PROGRAM), 응용 프로그램 서버(APPLICATION SERVER) 및 다른 클라우드 시스템이 될 수 있습니다.At this time, the user client device (10) can be a general user (individually owning storage), some application (APPLICATION PROGRAM), application server (APPLICATION SERVER), and other cloud system.
이 때, 통합 스토리지 관리 장치(100)는 다양한 스토리지 유형을 제공할 수 있다.At this time, the integrated storage management device (100) can provide various storage types.
스토리지 유형은 오브젝트 기반 스토리지, 파일 기반 스토리지 및 블록 기반 스토리지 등에 상응할 수 있다.Storage types can correspond to object-based storage, file-based storage, and block-based storage.
이 때, 통합 스토리지 관리 장치(100)는 스토리지 유형에 기반한 액세스 메커니즘을 지원할 수 있다.At this time, the integrated storage management device (100) can support an access mechanism based on the storage type.
액세스 메커니즘은 스토리지 유형에 따른 프로토콜들의 다른 유형들을 포함할 수 있다.Access mechanisms may include different types of protocols depending on the storage type.
프로토콜의 일 예는 블록 디바이스 스토리지를 위한 iSCSI, 파일 기반 스토리지를 위한 SMB, NFS, SFTP, FTP 및 오브젝트 기반 스토리지를 위한 Restful API를 사용한 프로토콜에 상응할 수 있다.Examples of protocols might correspond to protocols using iSCSI for block device storage, SMB, NFS, SFTP, FTP for file-based storage, and Restful API for object-based storage.
서비스 정보의 일 예는 통합 스토리지 장치(10)에 대한 서비스 카탈로그 등에 상응할 수 있다.An example of service information may correspond to a service catalog for an integrated storage device (10).
도 16은 본 발명의 일실시예에 다른 성능 향상을위한 데이터 읽기 / 쓰기 캐시 및 병렬 분산 파일을 나타낸 도면이다.FIG. 16 is a diagram illustrating a data read/write cache and a parallel distributed file for another performance improvement according to one embodiment of the present invention.
도 16을 참조하면, CSP:FDSP는 퍼블릭 클라우드 스토리지에 저장된 데이터에 대한 캐시 기능을 제공할 수 있다. 인터넷을 통해 데이터가 전송되기 때문에 퍼블릭 클라우드 스토리지에 저장된 데이터는 온-프레미스 스토리지보다 느릴 수 있다. 또한, CSC:CSU가 인식하지 못하는 상태에서 데이터가 퍼블릭 클라우드 스토리지에 자동으로 배포되므로 퍼블릭 클라우드 스토리지에 저장된 데이터에는 고속 액세스 기능이 수행될 수 있다. CSP:FDSP는 퍼블릭 클라우드 스토리지에 저장된 데이터를 클라우드 통합 스토리지 운영 플랫폼 내부의 스토리지 장치에 캐시하여 퍼블릭 클라우드 스토리지에 온 프레미스 스토리지 수준 액세스 속도를 제공할 수 있다.Referring to FIG. 16, CSP:FDSP can provide a cache function for data stored in public cloud storage. Since data is transmitted over the Internet, data stored in public cloud storage can be slower than on-premise storage. In addition, since data is automatically distributed to public cloud storage without CSC:CSU being aware of it, data stored in public cloud storage can have a high-speed access function. CSP:FDSP can cache data stored in public cloud storage in a storage device within a cloud integrated storage operating platform to provide on-premise storage-level access speed to public cloud storage.
CSC:CSU는 CSP:FDSP에 단일 가상 볼륨을 요청하며 자체 데이터 스토리지를 포함할 수 있다.CSC:CSU requests a single virtual volume from CSP:FDSP, which may contain its own data storage.
CSP:FDSP는 다른 스토리지를 통합하기위한 스토리지 시스템, 어플라이언스 또는 디바이스를 제공할 수 있다.CSP:FDSP can provide a storage system, appliance, or device to integrate other storage.
DSF 서비스 공급자는 온-프레미스보다 느린 액세스 속도를 보상하기 위해 읽기/쓰기 캐시를 제공할 수 있다.DSF service providers may offer read/write caches to compensate for slower access speeds than on-premises.
읽기/쓰기 캐시는 스토리지의 성능을 향상시키기위한 소프트웨어에 상응할 수있고, 캐시 기능을 위한 데이터를 저장하는 장치는 빠른 캐시 동작을 위한 다양한 장치를 사용하여 구현될 수 있다.A read/write cache may correspond to software for improving the performance of storage, and the device storing data for the cache function may be implemented using various devices for fast cache operation.
예를 들어 빠른 캐시 동작을 위한 다양한 장치는 메인 메모리, RAM 기반 디스크 및 SSD에 상응할 수 있다.For example, various devices for fast cache operations can correspond to main memory, RAM-based disks, and SSDs.
고속 액세스를 위해 캐시 계층 구조가 메인 메모리로 확장될 수 있다. 또한, 메인 메모리는 용량 제한으로 인해 SSD에 사용되는 방식을 사용할 수 있다. RAM 기반 캐시 영역이 소진되면 자동으로 SSD 영역 캐시로 변환될 수 있다. DSF 서비스 고객이 쓰기 작업을 수행하면 빠른 쓰기 응답을 위해 메모리 영역에서 쓰기 작업이 수행될 수 있다.For high-speed access, the cache hierarchy can be extended to the main memory. In addition, the main memory can use the method used for SSD due to capacity limitations. When the RAM-based cache area is exhausted, it can be automatically converted to the SSD area cache. When the DSF service customer performs a write operation, the write operation can be performed in the memory area for fast write response.
DSF 서비스 제공자는 다양한 장치를 사용하여 실제 데이터 액세스를 위해 글로벌 네임 스페이스에 대한 고속 액세스를 제공할 수 있다.DSF service providers can provide high-speed access to the global namespace for real-world data access using a variety of devices.
글로벌 네임 스페이스는 여러 스토리지 장치 및 클라우드 스토리지에서 이종 파일 시스템을 추상화하고 통합할 수 있다.A global namespace can abstract and unify heterogeneous file systems across multiple storage devices and cloud storage.
글로벌 네임 스페이스는 로컬화 된 파일 관리의 복잡성을 크게 줄이고 스토리지 확장을 용이하게하며 데이터를 투명하게 마이그레이션하여 마운트 포인트 및 공유 포인트 수를 줄일 수 있다. 글로벌 네임 스페이스는 여러 가지 방법으로 구현 될 수 있지만 클라이언트는 동일한 액세스를 유지할 수 있다.A global namespace can significantly reduce the complexity of localized file management, facilitate storage expansion, and transparently migrate data, reducing the number of mount points and share points. A global namespace can be implemented in several ways, but clients can maintain the same access.
DSF 서비스 제공자는 고 가용성을 위해 글로벌 네임 스페이스의 백업을 제공할 수 있다. 글로벌 네임 스페이스의 백업은 실시간 백업을 통해 수행되며, 글로벌 네임 스페이스의 백업은 여러 노드 (가상 머신 또는 물리적 센서)의 클러스터링을 통해 고 가용성 기능을 수행할 수 있다.DSF service providers can provide backup of the global namespace for high availability. Backup of the global namespace is performed through real-time backup, and backup of the global namespace can perform high availability function through clustering of multiple nodes (virtual machines or physical sensors).
DSF 서비스 제공자는 사용자의 데이터 기밀성을 보장하기 위해 데이터 전송을 위한 보안 정책 (예 : 데이터 암호화)을 지원할 수 있다.DSF service providers may support security policies for data transmission (e.g. data encryption) to ensure the confidentiality of users' data.
DSF 서비스 제공자는 여러 데이터 스토리지 제공자의 이종 데이터 스토리지에 분산 데이터를 집계하도록 지원할 수 있다.DSF service providers can support aggregating distributed data across heterogeneous data storage from multiple data storage providers.
DSF 서비스 제공자는 분산 데이터를 집계하기 위해 여러 데이터 스토리지 제공자에 대한 동시 액세스를 제공할 수 있다.A DSF service provider can provide concurrent access to multiple data storage providers to aggregate distributed data.
DSF 서비스 제공자는 이종 스토리지에 대한 DSF 서비스 고객의 액세스 권한 위임을 지원할 수 있다.DSF service providers can support delegation of access rights for DSF service customers to heterogeneous storage.
도 17은 본 발명의 일실시예에 따른 통합 스토리지 관리 시스템의 유스 케이스를 나타낸 도면이다.FIG. 17 is a diagram illustrating a use case of an integrated storage management system according to one embodiment of the present invention.
도 17을 참조하면, 다양한 스토리지 유형을 포함하는 통합 스토리지(20)에 연결된 하나의 스토리지 시스템인 통합 스토리지 관리 장치(100)에 대한 유스 케이스를 나타낸 것을 알 수 있다. 도 17에 도시된 바와 같이, 스토리지 시스템의 유형에 관계없이 사용자 클라이언트 장치(10)는 통합 사용자 뷰로써, 통합된 저장소로 간주될 수 있고, 사용자 클라이언트 장치(10)는 자신이 사용하는 스토리지를 신경 쓰지 않을 수도 있다. 따라서, 통합 스토리지 관리 장치(10)에 의한 통합 스토리지 관리 기능은 통합된 스토리지 시스템 또는 어플라이언스는 스토리지의 여러 스토리지 시스템을 단일 시스템으로 사용자 클라이언트 장치(10)에게 표시할 수 있다. 나아가, 통합 스토리지 관리 장치(100)는 통합 관리 인터페이스를 제공할 수 있다.Referring to FIG. 17, it can be seen that a use case for a unified storage management device (100), which is a single storage system connected to a unified storage (20) including various storage types, is illustrated. As illustrated in FIG. 17, regardless of the type of storage system, the user client device (10) can be regarded as a unified user view, a unified storage, and the user client device (10) may not care about the storage it uses. Accordingly, the unified storage management function by the unified storage management device (10) can display multiple storage systems of the storage as a single system to the user client device (10). Furthermore, the unified storage management device (100) can provide a unified management interface.
이 때, 사용자 클라이언트 장치(10)는 통합 스토리지 관리 장치(100)에게 데이터 스토리지를 요청할 수 있고, 요청한 데이터 스토리지를 소유할 수 있다.At this time, the user client device (10) can request data storage from the integrated storage management device (100) and possess the requested data storage.
이 때, 통합 스토리지 관리 장치(100)는 다른 스토리지들을 통합하기 위한 스토리지 시스템, 어플라이언스 또는 디바이스를 제공할 수 있다.At this time, the integrated storage management device (100) may provide a storage system, appliance, or device for integrating other storages.
이 때, 통합 스토리지 관리 장치(100)는 사용자 클라이언트 장치(10)의 요구에 따라 블록 기반 스토리지, 파일 기반 스토리지 또는 다른 클라우드 스토리지와 같은 데이터 스토리지를 다양하게 지원할 수 있다.At this time, the integrated storage management device (100) can support various data storage such as block-based storage, file-based storage, or other cloud storage according to the needs of the user client device (10).
이 때, 통합 스토리지 관리 장치(100)는 서비스 메커니즘의 다양한 유형에 대한 데이터 스토리지 액세스를 위해 사용자 클라이언트 장치(10)에게 통합된 사용자 인터페이스를 제공할 수 있다.At this time, the integrated storage management device (100) can provide a unified user interface to the user client device (10) for data storage access for various types of service mechanisms.
이 때, 통합 스토리지 관리 장치(100)는 분산된 저장에 기반한 스토리지 구조로부터 에러로 인한 데이터 손실을 예방할 수 있고, 시스템 오류로 인해 발생한 데이터 복원 기능을 제공할 수 있다.At this time, the integrated storage management device (100) can prevent data loss due to errors from a storage structure based on distributed storage and provide a data restoration function caused by a system error.
이 때, 통합 스토리지 관리 장치(100)는 글로벌 네임 스페이스를 제공할 수 있다.At this time, the integrated storage management device (100) can provide a global name space.
이 때, 통합 스토리지 관리 장치(100)는 데이터 스토리지를 관리하기 위해서 사용자 클라이언트 장치(10)에게 통일된 관리 인터페이스를 제공할 수 있다.At this time, the integrated storage management device (100) can provide a unified management interface to the user client device (10) to manage data storage.
이 때, 통합 스토리지 관리 장치(100)는 정책 및 기타 옵션에 대한 사용자 인터페이스를 제공하여 데이터 스토리지를 통합시킬 수 있다.At this time, the integrated storage management device (100) can integrate data storage by providing a user interface for policies and other options.
이 때, 통합 스토리지 관리 장치(100)는 사용자 클라이언트 장치(10)의 데이터를 통합하여 검증할 수 있다.At this time, the integrated storage management device (100) can integrate and verify the data of the user client device (10).
예를 들어, CSC:CSU는 통합 스토리지에 상응할 수 있고, CSC:CSU는 다양한 스토리지가 포함될 수 있다. 따라서, 통합 스토리지 시스템 또는 어플라이언스는 스토리지의 여러 스토리지 시스템을 단일 시스템으로 볼 수 있다. 이와 관련한 관리에 관한 기능으로 통합 관리 인터페이스를 제공할 수 있다.For example, CSC:CSU may correspond to unified storage, and CSC:CSU may include various storage. Therefore, the unified storage system or appliance may view multiple storage systems of the storage as a single system. A unified management interface may be provided as a function related to management.
CSC:CSU는 DSF 서비스 제공자에게 데이터 스토리지를 요청할 수 있고, 자체 데이터 스토리지를 가지고 있을 수 있다.CSC:CSU may request data storage from DSF service providers or may have its own data storage.
CSP:FDSP는 스토리지 시스템, 어플라이언스 또는 장치가 다른 스토리지를 통합할 수 있다.CSP:FDSP can integrate storage systems, appliances, or other devices with other storage.
DSF 서비스 제공자는 온-프레미스 스토리지, 클라우드 스토리지 및 기타 스토리지와의 통합을 통해 단일 시스템보기에 표시되는 데이터 스토리지를 제공할 수 있다.DSF service providers can provide data storage presented in a single system view through integration with on-premises storage, cloud storage, and other storage.
DSF 서비스 제공자는 본 발명의 일실시예에 따른 통합 스토리지 관리 장치(100)에 상응할 수 있다.The DSF service provider may correspond to an integrated storage management device (100) according to one embodiment of the present invention.
DSF 서비스 제공자는 스토리지 공간의 복원력과 비용 효율성에 중점을 둔 DSF 서비스 고객 데이터를 관리할 수 있다.DSF service providers can manage DSF service customer data with a focus on resiliency and cost efficiency of storage space.
예를 들어, 데이터 저장 공간의 복원력과 비용 효율성을 위한 데이터 이동은 사용자 개입이나 인식없이 자동으로 수행될 수 있다. 사용자는 데이터가 온-프레미스 스토리지에 저장되어 있는지 클라우드 스토리지에 저장되어 있는지 모른 채 동일한 성능으로 데이터 스토리지 서비스를 사용할 수 있다.For example, data migration for resilience and cost efficiency of data storage space can be performed automatically without user intervention or awareness. Users can use data storage services with the same performance without knowing whether the data is stored in on-premise storage or cloud storage.
DSF 서비스 제공자는 DSF 서비스 고객의 요구에 따라 블록 기반 스토리지, 파일 기반 스토리지 또는 기타 클라우드 스토리지와 같은 다양한 데이터 스토리지를 지원할 수 있다.DSF service providers can support various data storage such as block-based storage, file-based storage, or other cloud storage depending on the needs of DSF service customers.
DSF 서비스 제공자는 DSF 서비스 고객이 다양한 유형의 서비스 메커니즘에 대한 데이터 스토리지에 액세스 할 수 있도록 통합 된 사용자 인터페이스를 제공할 수 있다.A DSF service provider may provide a unified user interface to allow DSF service customers to access data storage for different types of service mechanisms.
DSF 서비스 제공자는 분산 스토리지를 기반으로 스토리지 구조의 오류로 인한 데이터 손실을 방지하고 시스템 장애시 데이터 복구를 제공할 수 있다.DSF service providers can prevent data loss due to errors in storage structures and provide data recovery in the event of system failures based on distributed storage.
DSF 서비스 공급자는 여러 파일 시스템을 통합하고 관리하기위한 전역 네임 스페이스를 제공할 수 있다.A DSF service provider can provide a global namespace for integrating and managing multiple file systems.
DSF 서비스 제공자는 데이터 스토리지를 관리하기 위해 DSF 서비스 고객에게 통합 관리 인터페이스를 제공할 수 있다.A DSF service provider may provide a unified management interface to DSF service customers to manage data storage.
DSF 서비스 제공자는 데이터 스토리지 연합을 위한 정책 및 기타 옵션에 대한 사용자 인터페이스를 제공할 수 있다.A DSF service provider can provide a user interface for policies and other options for data storage federation.
DSF 서비스 제공자는 DSF 서비스 고객의 데이터를 연합하기 위해 유효성을 검증할 수 있다.DSF service providers can validate the data of DSF service customers to federate them.
도 18는 본 발명의 일실시예에 따른 통합 스토리지 서비스를 위한 데이터 스토리지의 등록 과정을 나타낸 동작흐름도이다.FIG. 18 is a flowchart illustrating a registration process of data storage for an integrated storage service according to an embodiment of the present invention.
도 18을 참조하면, CSC:CSU는 로그인 이후에(LOGIN), CSP:FDSP에 데이터 스토리지 클라우드 스토리지의 등록을 요청할 수 있다(REGISTERING FOR CLOUD STRAGE).Referring to Figure 18, after logging in (LOGIN), CSC:CSU can request registration of data storage cloud storage to CSP:FDSP (REGISTERING FOR CLOUD STRAGE).
데이터 스토리지 등록의 경우, CSC:CSU는 이미 등록 된 인증 정보를 통해 로그인하고, 사용할 클라우드 스토리지 및 온-프레미스 스토리지를 등록할 수 있다(REGISTERING FOR ON-PREMISE STORAGE).For data storage registration, CSC:CSU can log in using already registered credentials and register cloud storage and on-premise storage to be used (REGISTERING FOR ON-PREMISE STORAGE).
등록 프로세스는 GUI를 통해 CSP:DSM에 의해 제공될 수 있다.The registration process can be provided by CSP:DSM via GUI.
CSC:CSU는 GUI를 통해 서비스 이름, 스토리지 사양, 데이터 스토리지 서비스 프로토콜 및 클라우드 스토리지 이름 및 클라우드 스토리지 유형을 등록하고 가상 데이터 스토리지를 설정하고(SETTING SIGLE VIRTUAL VOLUME), 가상 데이터 스토리지를 생성할 수 있다(INVCOKING SINGLE VIRTUAL VOLUME).CSC:CSU can register service name, storage specification, data storage service protocol, cloud storage name and cloud storage type through GUI, set virtual data storage (SETTING SIGLE VIRTUAL VOLUME), and create virtual data storage (INVCOKING SINGLE VIRTUAL VOLUME).
가상 데이터 스토리지 용 CSC:CSU는 CSP : DSM에 등록된 사용자에 상응할 수 있다.CSC:CSU for virtual data storage can correspond to a user registered in CSP:DSM.
CSP:DSM는 각 클라우드 스토리지 서비스 인터페이스를 가지고 있을 수 있다.CSP:DSM may have each cloud storage service interface.
DSF 서비스 제공자는 DSF 서비스 고객이 가상 데이터 스토리지를 사용하기 위해 등록 정보를 제공할 수 있다.DSF service providers may provide registration information for DSF service customers to use virtual data storage.
등록 정보는 데이터 스토리지 서비스 이름, 데이터 스토리지 사양(크기, 캐싱, 티어 카운트, 암호화, 온 프레미스 스토리지 지원 등) 및 서비스 프로토콜 및 클라우드 스토리지 유형을 포함할 수 있다.Registration information may include the data storage service name, data storage specifications (size, caching, tier count, encryption, on-premises storage support, etc.), service protocol, and cloud storage type.
DSF 서비스 제공자는 등록 정보에서 데이터 스토리지 서비스를 구성하고 프로비저닝하여 가상 데이터 스토리지를 호출할 수 있다. DSF service providers can invoke virtual data storage by configuring and provisioning data storage services from the registration information.
도 19는 본 발명의 일실시예에 따른 민감 데이터 처리 장치를 나타낸 블록도이다.FIG. 19 is a block diagram showing a sensitive data processing device according to one embodiment of the present invention.
도 19를 참조하면, 본 발명의 일실시예에 따른 민감 데이터 처리 장치(2100)는 데이터 비보호 영역 처리부(2110) 및 데이터 보호 영역 처리부(2120)를 포함하고, 클라우드 통합 스토리 장치(2200)의 민감 데이터를 읽어와서 클라이언트 장치(2010)의 요청에 따라 민감 데이터를 처리할 수 있다.Referring to FIG. 19, a sensitive data processing device (2100) according to one embodiment of the present invention includes a data non-protection area processing unit (2110) and a data protection area processing unit (2120), and can read sensitive data from a cloud integrated storage device (2200) and process the sensitive data according to a request from a client device (2010).
클라우드 통합 스토리지 장치(2200)는 암호화된 민감 데이터를 저장하고 있을 수 있다.The cloud integrated storage device (2200) may store encrypted sensitive data.
데이터 비보호 영역 처리부(2110)는 클라우드 통합 스토리지 장치(2200)의 암호화된 민감 데이터를 읽어오고, 민감 데이터 저장 엔드포인트를 이용하여 암호화된 민감 데이터를 데이터 보호 영역 처리부(2120)로 전달할 수 있다.The data non-protection area processing unit (2110) can read encrypted sensitive data from a cloud integrated storage device (2200) and transmit the encrypted sensitive data to the data protection area processing unit (2120) using a sensitive data storage endpoint.
데이터 보호 영역 처리부(2120)는 전달 받은 암호화된 민감 데이터에 대한 복호화를 수행하고, 데이터 비보호 영역 처리부(2110)으로부터의 데이터 서비스 명령 요청을 대기할 수 있다.The data protection area processing unit (2120) can perform decryption on the encrypted sensitive data received and wait for a data service command request from the data non-protection area processing unit (2110).
이 때, 데이터 비보호 영역 처리부(2110)는 네트워크로 연결된 클라이언트 장치(10)로부터 데이터 서비스 명령을 수신한 후, 민감 데이터 서비스 엔드포인트를 이용하여 데이터 보호 영역 처리부(2120)로 데이터 서비스 명령을 요청할 수 있다.At this time, the data non-protection area processing unit (2110) may receive a data service command from a client device (10) connected to the network, and then request a data service command to the data protection area processing unit (2120) using the sensitive data service endpoint.
이 때, 데이터 보호 영역 처리부(2120)는 전달받은 데이터 서비스 명령에 따라 상기에서 복호화한 민감 데이터를 기반으로 데이터 처리를 수행한 후, 민감 데이터의 처리 결과를 데이터 비보호 영역 처리부(2110)로 전달할 수 있다.At this time, the data protection area processing unit (2120) can perform data processing based on the sensitive data decrypted above according to the received data service command, and then transmit the processing result of the sensitive data to the data non-protection area processing unit (2110).
이 때, 데이터 비보호 영역 처리부(2110)은 민감 데이터의 처리 결과를 클라이언트 장치(10)로 전달할 수 있다.At this time, the data non-protection area processing unit (2110) can transmit the processing result of sensitive data to the client device (10).
도 20은 도 19에 도시된 클라우드 통합 스토리지 장치와 데이터 비보호 영역 처리부의 일 예를 세부적으로 나타낸 블록도이다. 도 21은 도 19에 도시된 데이터 비보호 영역 처리부와 데이터 보호 영역 처리부의 일 예를 세부적으로 나타낸 블록도이다.FIG. 20 is a block diagram showing in detail an example of a cloud integrated storage device and a data non-protection area processing unit shown in FIG. 19. FIG. 21 is a block diagram showing in detail an example of a data non-protection area processing unit and a data protection area processing unit shown in FIG. 19.
도 20을 참조하면, 본 발명의 일실시예에 따른 클라우드 통합 스토리지 장치(2200)는 암호화부(2210), 키 저장부(2220), 온프레미스 스토리지(2230) 및 클라우드 스토리지(2240)를 포함할 수 있다.Referring to FIG. 20, a cloud integrated storage device (2200) according to one embodiment of the present invention may include an encryption unit (2210), a key storage unit (2220), an on-premise storage (2230), and a cloud storage (2240).
암호화부(2210)는 민감 데이터에 대한 암호화를 수행하고, 암호화에 사용된 키는 키저장부(2220)에 저장할 수 있다.The encryption unit (2210) performs encryption on sensitive data, and the key used for encryption can be stored in the key storage unit (2220).
암호화에 사용된 키는 유출을 방지하기 위해서 마스터 키로 암호화된 후 키저장부에 저장될 수 있다.The key used for encryption can be encrypted with a master key and stored in a key storage unit to prevent leakage.
이 때, 암호화부(2210)는 암호화된 민감 데이터를 온프레미스 스토리지(2230)와 클라우드 스토리지(2240)에 저장할 수 있다.At this time, the encryption unit (2210) can store encrypted sensitive data in on-premise storage (2230) and cloud storage (2240).
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 장치(2100)의 데이터 비보호 영역 처리부(2110)는 민감 데이터 전달부(2111), 키전달부(2112), 민감 데이터 서비스 호출부(2113) 및 클라이언트 서비스API부(2114)를 포함할 수 있다.In addition, the data non-protection area processing unit (2110) of the sensitive data processing device (2100) according to one embodiment of the present invention may include a sensitive data transmission unit (2111), a key transmission unit (2112), a sensitive data service call unit (2113), and a client service API unit (2114).
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 장치(2100)의 데이터 보호 영역 처리부(2120)는 민감 데이터 서비스 게이트웨이부(2121), 민감 데이터 저장부(2122), 키저장부(2123), 민감 데이터 복호화부(2124) 및 민감 데이터 처리부(2125)를 포함할 수 있다.In addition, the data protection area processing unit (2120) of the sensitive data processing device (2100) according to one embodiment of the present invention may include a sensitive data service gateway unit (2121), a sensitive data storage unit (2122), a key storage unit (2123), a sensitive data decryption unit (2124), and a sensitive data processing unit (2125).
이 때, 민감 데이터 서비스 게이트웨이부(2121)는 민감 데이터 저장 엔드포인트(3211), 키저장 엔드포인트(3212) 및 민감 데이터 서비스 엔드포인트(3213)를 포함할 수 있다.At this time, the sensitive data service gateway unit (2121) may include a sensitive data storage endpoint (3211), a key storage endpoint (3212), and a sensitive data service endpoint (3213).
민감 데이터 서비스 게이트웨이부(2121)는 민감 데이터에 대한 데이터 처리 서비스를 제공할 수 있다.The sensitive data service gateway unit (2121) can provide data processing services for sensitive data.
이 때, 민감 데이터 서비스 게이트웨이부(2121)는 데이터 보호 영역의 민감 데이터의 처리 결과를 데이터 비보호 영역으로 제공할 수 있다.At this time, the sensitive data service gateway unit (2121) can provide the processing result of sensitive data in the data protection area to the data non-protection area.
민감 데이터 저장 엔드포인트(3211)는 데이터 비보호 영역에서 전달하는 암호화된 민감 데이터를 전달받을 수 있다.The sensitive data storage endpoint (3211) can receive encrypted sensitive data transmitted from the non-protected data area.
키저장 엔드포인트(3212)는 암호화된 민감 데이터를 복호화하기 위한 복호화키를 데이터 비보호 영역으로부터 전달받을 수 있다.The key storage endpoint (3212) can receive a decryption key for decrypting encrypted sensitive data from the non-protected data area.
이 때, 민감 데이터 서비스 게이트웨이부(2121)는 민감 데이터의 전달 시작을 호출 받는 엔드포인트 및 상기 데이터 비보호 영역으로부터 상기 민감 데이터의 전달 종료를 호출 받는 엔드포인트를 더 포함할 수 있다.At this time, the sensitive data service gateway unit (2121) may further include an endpoint that receives a call to initiate transmission of sensitive data and an endpoint that receives a call to terminate transmission of the sensitive data from the data non-protected area.
민감 데이터 전달부(2111)는 클라우드 통합 스토리지 장치(2200)에 저장된 암호화된 민감 데이터를 읽어오고, 데이터 보호 영역 처리부(2120)의 민감 데이터 저장 엔드포인트(3211)를 이용하여 암호화된 민감 데이터를 전달할 수 있다.The sensitive data transmission unit (2111) can read encrypted sensitive data stored in a cloud integrated storage device (2200) and transmit the encrypted sensitive data using the sensitive data storage endpoint (3211) of the data protection area processing unit (2120).
민감 데이터 저장부(2122)는 민감 데이터 저장 엔드포인트(3211)가 전달받은 암호화 데이터를 데이터 보호 영역 내부의 메모리에 저장할 수 있다.The sensitive data storage unit (2122) can store encrypted data received by the sensitive data storage endpoint (3211) in memory within the data protection area.
키전달부(2113)는 클라우드 통합 스토리지 장치의 키저장부(2220)로부터 복호화키를 수신하고, 데이터 보호 영역 처리부(2120)의 키저장 엔드포인트(3212)를 통하여 복호화키를 키 저장부(2123)의 태그-키 저장부(2123a)에 저장할 수 있다. 태그-키 저장부(2123a)는 암호화된 민감 데이터에 대한 태그와 이에 해당하는 복호화키를 저장할 수 있다.The key transfer unit (2113) can receive a decryption key from the key storage unit (2220) of the cloud integrated storage device and store the decryption key in the tag-key storage unit (2123a) of the key storage unit (2123) through the key storage endpoint (3212) of the data protection area processing unit (2120). The tag-key storage unit (2123a) can store a tag for encrypted sensitive data and a corresponding decryption key.
민감 데이터 복호화부(2124)는 태그-키 저장부(2123a)에서 복호화키를 추출하고, 복호화키를 이용하여 암호화된 민감 데이터를 복호화할 수 있다.The sensitive data decryption unit (2124) can extract a decryption key from the tag-key storage unit (2123a) and decrypt encrypted sensitive data using the decryption key.
이 때, 클라이언트 장치(2010)는 데이터 서비스를 받기 위해 네트워크를 통하여 민감 데이터 처리 장치(2100)의 클라이언트 서비스 API부(2111)를 호출하여 민감 데이터 서비스를 요청할 수 있다.At this time, the client device (2010) can request a sensitive data service by calling the client service API part (2111) of the sensitive data processing device (2100) through the network to receive the data service.
민감 데이터 서비스 호출부(2112)는 민감 데이터 서비스 엔드포인트(3213)를 이용하여 데이터 보호 영역으로 데이터 서비스 명령을 요청할 수 있다.The sensitive data service call unit (2112) can request a data service command to the data protection area using the sensitive data service endpoint (3213).
민감 데이터 서비스 게이트웨이부(2121)는 민감 데이터 서비스 호출부(2112)가 호출한 민감 데이터 처리부(2125)를 호출하여 데이터 처리 서비스를 수행할 수 있다.The sensitive data service gateway unit (2121) can perform a data processing service by calling the sensitive data processing unit (2125) called by the sensitive data service call unit (2112).
민감 데이터 처리부(2125)는 데이터 서비스 요청에 따라 복호화된 민감 데이터를 처리하고 생성된 민감 데이터의 처리 결과를 처리결과 데이터로 저장할 수 있다. 복호화된 민감 데이터는 데이터 보호 영역 내부에서 안전하게 보호됨으로 외부로의 유출이 원천 차단될 수 있다. 처리결과 데이터는 민감 데이터 서비스 게이트웨이부(2121)를 통하여 데이터 비보호 영역으로 전달되고, 이후 클라이언트 장치(2010)로 민감 데이터의 처리 결과를 전달될 수 있다.The sensitive data processing unit (2125) can process decrypted sensitive data according to a data service request and store the processing result of the generated sensitive data as processing result data. Since the decrypted sensitive data is safely protected within the data protection area, leakage to the outside can be prevented at the source. The processing result data is transferred to the non-data protection area through the sensitive data service gateway unit (2121), and then the processing result of the sensitive data can be transferred to the client device (2010).
데이터 비보호 영역 처리부(2110)의 데이터 비보호 영역은 데이터의 유출 가능성이 존재하는 영역으로 데이터 비보호 영역 내부에서의 민감 데이터는 유출 방지를 위해서 암호화된 상태로 존재할 수 있다.The data non-protection area of the data non-protection area processing unit (2110) is an area where there is a possibility of data leakage, and sensitive data within the data non-protection area may be encrypted to prevent leakage.
이 때, 데이터 비보호 영역은 민감 데이터를 직접 처리하지 않으며, 민감 데이터와 이를 복호화하기 위한 키를 데이터 보호 영역으로 전달할 수 있다.At this time, the non-protected data area does not directly process sensitive data, and can transfer the sensitive data and the key to decrypt it to the protected data area.
또한, 데이터 비보호 영역 처리부(2110)는 클라이언트 장치(2010)의 민감 데이터 서비스 명령을 수신하고, 데이터 보호 영역으로 민감 데이터 서비스 명령을 요청할 수 있다.Additionally, the data non-protection area processing unit (2110) can receive a sensitive data service command from a client device (2010) and request the sensitive data service command to the data protection area.
데이터 보호 영역 처리부(2120)의 데이터 보호 영역은 데이터의 유출이 원천적으로 차단될 수 있다. 데이터 보호 영역은 일반적인 운영체제가 제공하는 스토리지 입출력, 네트워크 입출력, 사용자 입출력을 포함한 모든 입출력 기능을 제공하지 않을 수 있다.The data protection area of the data protection area processing unit (2120) can prevent data leakage at the source. The data protection area may not provide all input/output functions, including storage input/output, network input/output, and user input/output, provided by a general operating system.
또한, 데이터 보호 영역은 CPU의 하드웨어 기능 혹은 가상화 기능에 기반하여 데이터 보호 영역의 외부로부터 데이터 보호 영역 내부의 메모리에 대한 접근을 차단할 수 있다.Additionally, the data protection area can block access to memory within the data protection area from outside the data protection area based on the hardware function or virtualization function of the CPU.
이 때, 데이터 보호 영역은 민감 데이터 서비스 엔드포인트를 통해서만 접근 가능하고, 민감 데이터 서비스 엔드포인트는 사전에 정의된 서비스만을 제공하기 때문에, 이외의 모든 접근은 차단될 수 있다.At this time, the data protection area is only accessible through the sensitive data service endpoint, and since the sensitive data service endpoint only provides predefined services, all other accesses can be blocked.
따라서, 데이터 보호 영역 내부의 데이터는 외부로부터 절대로 접근이 불가능하여 데이터 유출이 원천적으로 차단될 수 있다.Therefore, data inside the data protection area can never be accessed from the outside, so data leakage can be prevented at the source.
이 때, 데이터 보호 영역은 민감 데이터를 처리하기 위한 적어도 하나의 엔드포인트들을 포함하고, 상기 데이터 비보호 영역으로부터 호출받은 엔드포인트를 이용하여 상기 민감 데이터를 처리할 수 있다.At this time, the data protection area includes at least one endpoint for processing sensitive data, and can process the sensitive data using an endpoint called from the data non-protection area.
이 때, 상기 데이터 보호 영역은 상기 데이터 비보호 영역으로부터, 상기 민감 데이터의 전달 시작을 호출 받는 엔드포인트, 상기 복호화 키를 전달 받는 엔드포인트, 상기 데이터 보호 영역으로 상기 민감 데이터를 전달 받는 엔드포인트 및 상기 민감 데이터의 전달 종료를 호출 받는 엔드포인트를 포함할 수 있다.At this time, the data protection area may include an endpoint that receives a call for starting the transmission of the sensitive data from the data non-protection area, an endpoint that receives the decryption key, an endpoint that receives the sensitive data to the data protection area, and an endpoint that receives a call for ending the transmission of the sensitive data.
이 때, 상기 데이터 보호 영역에 포함된 엔드포인트는 상기 민감 데이터의 서비스 인수에 기설정된 태그를 확인하고, 상기 태그에 해당하는 정보를 이용하여 상기 민감 데이터를 처리할 수 있다.At this time, the endpoint included in the data protection area can check the tag preset for the service acquisition of the sensitive data and process the sensitive data using information corresponding to the tag.
도 22는 도 21에 도시된 민감 데이터 서비스 게이트웨이부의 일 예를 세부적으로 나타낸 블록도이다.Figure 22 is a block diagram showing in detail an example of the sensitive data service gateway unit illustrated in Figure 21.
도 22를 참조하면, 민감 데이터 서비스 게이트웨이부(2121)는 민감 데이터 처리 실행부(3214), 서비스 인수(service parameter) 복사부(2126), 처리결과 복사부(2127) 및 데이터 비보호 메모리 영역 처리부(128) 및 데이터 보호 메모리 영역 처리부(2129)를 더 포함할 수 있다.Referring to FIG. 22, the sensitive data service gateway unit (2121) may further include a sensitive data processing execution unit (3214), a service parameter copy unit (2126), a processing result copy unit (2127), a data non-protection memory area processing unit (128), and a data protection memory area processing unit (2129).
데이터 비보호 영역 처리부(2110)의 민감 데이터 서비스 호출부(2112), 키전달부(2113) 및 민감 데이터 전달부(2114)은 서비스 요청에 필요한 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역 처리부(2128)에 서비스 인수로 저장할 수 있다.The sensitive data service call unit (2112), key transfer unit (2113), and sensitive data transfer unit (2114) of the data non-protection area processing unit (2110) can store the service acquisition of sensitive data required for the service request as a service acquisition in the data non-protection memory area processing unit (2128).
서비스 인수 복사기(2126)는 해당 민감 데이터를 데이터 보호 메모리 영역 처리부(2129)에 서비스 인수로 복사할 수 있다.The service acquisition copier (2126) can copy the sensitive data to the data protection memory area processing unit (2129) as a service acquisition.
데이터 보호 영역 처리부(2120)는 내부에서 처리가 끝난 결과를 데이터 보호 메모리 영역 처리부(2129)에 처리결과 데이터로 저장할 수 있고, 처리결과 복사부(2127)를 통하여 데이터 비보호 메모리 영역 처리부(2128)의 처리결과 데이터로 복사할 수 있다.The data protection area processing unit (2120) can store the result of internal processing as processing result data in the data protection memory area processing unit (2129), and can copy it as processing result data of the data non-protection memory area processing unit (2128) through the processing result copy unit (2127).
이 때, 데이터 보호 영역 처리부(2120)는 상기 민감 데이터 서비스 게이트웨이부(2121)를 통해 상기 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역 처리부(2128)에 저장하고, 상기 데이터 비보호 메모리 영역 처리부(2128)에 저장된 민감 데이터의 서비스 인수를 데이터 보호 메모리 영역 처리부(2129)에 복사하여 저장하고, 상기 데이터 보호 메모리 영역 처리부(2129)에 저장된 민감 데이터의 서비스 인수를 이용하여 상기 민감 데이터를 처리할 수 있다.At this time, the data protection area processing unit (2120) stores the service acquisition of the sensitive data in the data non-protection memory area processing unit (2128) through the sensitive data service gateway unit (2121), copies the service acquisition of the sensitive data stored in the data non-protection memory area processing unit (2128) and stores it in the data protection memory area processing unit (2129), and processes the sensitive data using the service acquisition of the sensitive data stored in the data protection memory area processing unit (2129).
이 때, 데이터 보호 영역 처리부(2120)는 상기 민감 데이터 서비스 게이트웨이부(2121)를 통해 상기 민감 데이터의 처리 결과를 상기 데이터 보호 메모리 영역 처리부(2129)에 저장하고, 상기 데이터 보호 메모리 영역 처리부(2129)에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 메모리 영역 처리부(2128)에 복사하여 저장하고, 상기 데이터 비보호 메모리 영역 처리부(2128)에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 영역 처리부(2110)에 전달할 수 있다.At this time, the data protection area processing unit (2120) stores the processing result of the sensitive data in the data protection memory area processing unit (2129) through the sensitive data service gateway unit (2121), copies the processing result of the sensitive data stored in the data protection memory area processing unit (2129) to the data non-protection memory area processing unit (2128) and stores it, and transmits the processing result of the sensitive data stored in the data non-protection memory area processing unit (2128) to the data non-protection area processing unit (2110).
민감 데이터 처리 실행부(3214)는 데이터 비보호 영역 처리부(2110)에서 호출한 복수개의 엔트포인트들과 대응되는 데이터 보호 영역 처리부(2120) 내부의 복수개의 유닛들(민감 데이터 처리부 1 - N(2125), 민감 데이터 복호화부(2124), 키저장부(2123), 민감 데이터 저장부(2122))를 호출할 수 있다.The sensitive data processing execution unit (3214) can call a plurality of units (sensitive
도 13을 참조하면, 본 발명의 일실시예에 따른 민감 데이터 처리 장치(2100) 는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1100)에서 구현될 수 있다. 도 13에 도시된 바와 같이, 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 인터페이스 입력 장치(1140), 사용자 인터페이스 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.Referring to FIG. 13, a sensitive data processing device (2100) according to an embodiment of the present invention may be implemented in a computer system (1100) such as a computer-readable recording medium. As illustrated in FIG. 13, the computer system (1100) may include one or more processors (1110), a memory (1130), a user interface input device (1140), a user interface output device (1150), and storage (1160) that communicate with each other via a bus (1120). In addition, the computer system (1100) may further include a network interface (1170) connected to a 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 forms of volatile or nonvolatile storage media. For example, the memory may include ROM (1131) or RAM (1132).
이 때, 본 발명의 일실시예에 따른 민감 데이터 처리 장치(100)는 하나 이상의 프로세서(1110) 및 상기 하나 이상의 프로세서(1110)에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리(1130)를 포함하고, 상기 적어도 하나 이상의 프로그램은 데이터 비보호 영역에서, 스토리지 장치(2200)에 저장된 민감 데이터를 읽어오고, 데이터 보호 영역의 민감 데이터 저장 엔드포인트를 이용하여 데이터 보호 영역으로 상기 민감 데이터를 전달하고, 상기 데이터 보호 영역에서, 상기 데이터 비보호 영역으로부터 클라이언트 장치(2010)가 요청한 민감 데이터 서비스 명령을 수신하면 적어도 하나 이상의 엔드포인트들을 이용하여 상기 민감 데이터를 처리하고, 상기 데이터 비보호 영역에서, 상기 클라이언트 장치(2010)로 상기 민감 데이터의 처리 결과를 전달할 수 있다.At this time, a sensitive data processing device (100) according to an embodiment of the present invention includes one or more processors (1110) and an execution memory (1130) storing at least one program executed by the one or more processors (1110), and the at least one program reads sensitive data stored in a storage device (2200) in a data non-protected area, transfers the sensitive data to a data protected area using a sensitive data storage endpoint of a data protected area, and, when a sensitive data service command requested by a client device (2010) is received from the data non-protected area in the data protected area, processes the sensitive data using at least one endpoint, and transfers a processing result of the sensitive data to the client device (2010) in the data non-protected area.
이 때, 상기 데이터 보호 영역은 운영체제가 제공하는 입출력 기능이 차단되고, 하드웨어 기능 및 가상화 기능에 기반하여 상기 데이터 보호 영역의 외부로부터의 메모리 접근이 차단된 것일 수 있다.At this time, the data protection area may have input/output functions provided by the operating system blocked, and memory access from outside the data protection area may be blocked based on hardware functions and virtualization functions.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 비보호 영역에서, 암호화된 상기 민감 데이터를 복호화하기 위한 복호화 키를 상기 스토리지 장치(200)로부터 전달 받고, 상기 데이터 보호 영역의 키 저장 엔드포인트를 이용하여 상기 복호화 키를 상기 데이터 보호 영역으로 전달할 수 있다.At this time, the at least one program may receive a decryption key for decrypting the encrypted sensitive data from the storage device (200) in the data non-protection area, and transmit the decryption key to the data protection area using the key storage endpoint of the data protection area.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에서, 상기 복호화 키를 이용하여 상기 민감 데이터를 복호화하고, 상기 민감 데이터 서비스 엔드포인트를 이용하여 상기 데이터 비보호 영역으로부터 전달 받은 상기 클라이언트 장치로부터 민감 데이터 서비스 명령에 의해 상기 복호화된 민감 데이터를 처리할 수 있다.At this time, the at least one program can decrypt the sensitive data using the decryption key in the data protection area, and process the decrypted sensitive data by a sensitive data service command from the client device received from the data non-protection area using the sensitive data service endpoint.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에서, 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 저장하고, 상기 민감데이터의 처리 결과를 상기 데이터 비보호 영역에 전달할 수 있다.At this time, the at least one program can store the processing result of the sensitive data in the data protection area through the sensitive data service gateway, and transmit the processing result of the sensitive data to the data non-protection area.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역에 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 데이터 보호 메모리 영역에 복사하여 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 이용하여 상기 민감 데이터를 처리할 수 있다.At this time, the at least one program can store, in the data protection area, a service acquisition of the sensitive data in a non-protected data memory area through the sensitive data service gateway, copy and store the service acquisition of the sensitive data stored in the non-protected data memory area in a data protection memory area, and process the sensitive data using the service acquisition of the sensitive data stored in the data protection memory area.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 상기 데이터 보호 메모리 영역에 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 메모리 영역에 복사하여 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 영역에 전달할 수 있다.At this time, the at least one program can store the processing result of the sensitive data in the data protection area through the sensitive data service gateway, copy the processing result of the sensitive data stored in the data protection memory area to the data non-protection memory area and store it, and transfer the processing result of the sensitive data stored in the data non-protection memory area to the data non-protection area.
이 때, 상기 데이터 보호 영역은 상기 민감 데이터를 처리하기 위한 적어도 하나의 엔드포인트들을 포함하고, 상기 데이터 비보호 영역으로부터 호출받은 엔드포인트를 이용하여 상기 민감 데이터를 처리할 수 있다.At this time, the data protection area includes at least one endpoint for processing the sensitive data, and can process the sensitive data using an endpoint called from the data non-protection area.
이 때, 상기 데이터 보호 영역은 상기 데이터 비보호 영역으로부터, 상기 민감 데이터의 전달 시작을 호출 받는 엔드포인트, 상기 복호화 키를 전달 받는 엔드포인트, 상기 데이터 보호 영역으로 상기 민감 데이터를 전달 받는 엔드포인트 및 상기 민감 데이터의 전달 종료를 호출 받는 엔드포인트를 포함할 수 있다.At this time, the data protection area may include an endpoint that receives a call for starting the transmission of the sensitive data from the data non-protection area, an endpoint that receives the decryption key, an endpoint that receives the sensitive data to the data protection area, and an endpoint that receives a call for ending the transmission of the sensitive data.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에 포함된 엔드포인트가, 상기 민감 데이터의 서비스 인수에 기설정된 태그를 확인하고, 상기 태그에 해당하는 정보를 이용하여 상기 민감 데이터를 처리할 수 있다.At this time, the at least one program can check a tag preset for service acquisition of the sensitive data by an endpoint included in the data protection area, and process the sensitive data using information corresponding to the tag.
도 23은 본 발명의 일실시예에 따른 민감 데이터 처리 방법을 나타낸 동작흐름도이다.Figure 23 is a flow chart showing a sensitive data processing method according to one embodiment of the present invention.
도 23을 참조하면, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 먼저 클라이언트 장치(2010)가 민감 데이터 처리 장치(2100)의 클라이언트 서비스 API를 이용하여 민감 데이터 서비스를 요청할 수 있다(S2310).Referring to FIG. 23, a sensitive data processing method according to an embodiment of the present invention first allows a client device (2010) to request a sensitive data service using a client service API of a sensitive data processing device (2100) (S2310).
또한, 단계(S2310)는 데이터 비보호 영역에서, 스토리지 장치에 저장된 민감 데이터를 읽어오고, 민감 데이터 저장 엔드포인트를 이용하여 데이터 보호 영역으로 상기 민감 데이터를 전달할 수 있다.Additionally, step (S2310) can read sensitive data stored in a storage device from a non-data protection area and transfer the sensitive data to a data protection area using a sensitive data storage endpoint.
이 때, 단계(S2310)는 상기 데이터 비보호 영역에서, 암호화된 상기 민감 데이터를 복호화하기 위한 복호화 키를 상기 스토리지 장치로부터 전달 받고, 상기 데이터 보호 영역의 키 저장 엔드포인트를 이용하여 상기 복호화 키를 상기 데이터 보호 영역으로 전달할 수 있다.At this time, step (S2310) may receive a decryption key for decrypting the encrypted sensitive data from the storage device in the data non-protection area, and transmit the decryption key to the data protection area using the key storage endpoint of the data protection area.
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 민감 데이터 처리 장치(2100)의 데이터 비보호 영역 처리부(2110)가 민감 데이터 서비스 엔드포인트를 이용하여 데이터 보호 영역 처리부(2120)에게 민감 데이터 서비스 명령을 호출할 수 있다(S2320).In addition, in a sensitive data processing method according to an embodiment of the present invention, a data non-protection area processing unit (2110) of a sensitive data processing device (2100) can call a sensitive data service command to a data protection area processing unit (2120) using a sensitive data service endpoint (S2320).
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 민감 데이터 처리 장치(2100)의 데이터 보호 영역 처리부(2120)가 민감 데이터 처리 및 도출된 결과를 처리 결과 데이터에 저장하고, 데이터 비보호 영역 처리부(2110)에 민감 데이터의 처리 결과를 전달할 수 있다(S2330).In addition, in a sensitive data processing method according to one embodiment of the present invention, a data protection area processing unit (2120) of a sensitive data processing device (2100) can store the sensitive data processing and derived results in processing result data, and transmit the processing result of the sensitive data to a data non-protection area processing unit (2110) (S2330).
즉, 단계(S2330)는 데이터 비보호 영역 처리부(2110)으로부터 클라이언트 장치(2010)가 요청한 민감 데이터 서비스 명령을 수신하면 적어도 하나 이상의 엔드포인트들을 이용하여 상기 민감 데이터를 처리할 수 있다.That is, when step (S2330) receives a sensitive data service command requested by a client device (2010) from a data non-protection area processing unit (2110), the sensitive data can be processed using at least one endpoint.
이 때, 단계(S2330)는 상기 데이터 보호 영역에서, 상기 복호화 키를 이용하여 상기 민감 데이터를 복호화하고, 상기 민감 데이터 서비스 엔드포인트를 이용하여 상기 데이터 비보호 영역으로부터 전달 받은 상기 클라이언트 장치(2010)로부터 민감 데이터 서비스 명령에 의해 상기 복호화된 민감 데이터를 처리할 수 있다.At this time, step (S2330) can decrypt the sensitive data using the decryption key in the data protection area, and process the decrypted sensitive data by a sensitive data service command from the client device (2010) received from the data non-protection area using the sensitive data service endpoint.
이 때, 단계(S2330)는 상기 데이터 보호 영역에서, 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 저장하고, 상기 민감데이터의 처리 결과를 데이터 비보호 영역 처리부(2110)에 전달할 수 있다.At this time, step (S2330) can store the processing result of the sensitive data through the sensitive data service gateway in the data protection area and transmit the processing result of the sensitive data to the data non-protection area processing unit (2110).
이 때, 단계(S2330)는 상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역에 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 데이터 보호 메모리 영역에 복사하여 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 이용하여 상기 민감 데이터를 처리할 수 있다.At this time, step (S2330) stores the service acquisition of the sensitive data in the data protection area through the sensitive data service gateway in a data non-protection memory area, copies the service acquisition of the sensitive data stored in the data non-protection memory area and stores it in a data protection memory area, and processes the sensitive data using the service acquisition of the sensitive data stored in the data protection memory area.
이 때, 단계(S2330)는 상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 상기 데이터 보호 메모리 영역에 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 메모리 영역에 복사하여 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 영역에 전달할 수 있다.At this time, step (S2330) can store the processing result of the sensitive data in the data protection area through the sensitive data service gateway, copy and store the processing result of the sensitive data stored in the data protection memory area in the data non-protection memory area, and transfer the processing result of the sensitive data stored in the data non-protection memory area to the data non-protection area.
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 데이터 비보호 영역 처리부(2110)가 클라이언트 장치(2010)에게 민감 데이터의 처리 결과를 전달할 수 있다(S2340).In addition, a sensitive data processing method according to one embodiment of the present invention can have a data non-protection area processing unit (2110) transmit the processing result of sensitive data to a client device (2010) (S2340).
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 클라이언트 장치(2010)가 민감 데이터 서비스 요청에 대한 민감 데이터의 처리 결과를 민감 데이터 처리 장치(2100)로부터 수신할 수 있다(S2350).In addition, a sensitive data processing method according to one embodiment of the present invention allows a client device (2010) to receive a processing result of sensitive data for a sensitive data service request from a sensitive data processing device (2100) (S2350).
도 24는 본 발명의 일실시예에 따른 데이터 비보호 영역 처리부와 데이터 보호 영역 처리부에서의 민감 데이터 처리 방법을 나타낸 동작흐름도이다.Figure 24 is a flow chart showing a sensitive data processing method in a data non-protection area processing unit and a data protection area processing unit according to one embodiment of the present invention.
도 24를 참조하면, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 먼저 데이터 비보호 영역 처리부(2110)에서 클라우드 스토리지 장치(2200)로부터 암호화된 민감 데이터를 읽어올 수 있다(S2410).Referring to FIG. 24, a sensitive data processing method according to an embodiment of the present invention can first read encrypted sensitive data from a cloud storage device (2200) in a data non-protection area processing unit (2110) (S2410).
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 암호화된 민감 데이터를 N개의 세그먼트로 구분할 수 있다(S2420).In addition, a sensitive data processing method according to one embodiment of the present invention can divide encrypted sensitive data into N segments (S2420).
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 put_data_start 엔드포인트를 호출하여 암호화된 데이터의 전송 시작을 데이터 보호 영역 처리부(2120)에 알려줄 수 있다(S2430).In addition, a sensitive data processing method according to an embodiment of the present invention can notify the data protection area processing unit (2120) of the start of transmission of encrypted data by calling the put_data_start endpoint (S2430).
이 때, 서비스 인수 1인 태그는 암호화된 민감 데이터를 구분하는 태그이며, 서비스 인수 2는 암호화 데이터의 총 크기를 나타낼 수 있다.At this time, the tag of
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 데이터 보호 영역 처리부(2120)가 엔트포인트에 지정된 크기만큼의 메모리를 데이터 보호 영역 내부에 할당하여 암호화된 민감 데이터를 저장할 준비를 할 수 있다(S4300)In addition, a sensitive data processing method according to one embodiment of the present invention can prepare to store encrypted sensitive data by having the data protection area processing unit (2120) allocate memory of the size specified in the endpoint to the data protection area (S4300).
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 데이터 비보호 영역 처리부(2110)가 put_key 엔드포인트를 이용하여 암호화된 민감 데이터를 복호화 하기 위한 복호화키를 데이터 보호 영역 처리부(2120)에 알려줄 수 있다(S2440).In addition, in a sensitive data processing method according to one embodiment of the present invention, a data non-protection area processing unit (2110) can use a put_key endpoint to inform a data protection area processing unit (2120) of a decryption key for decrypting encrypted sensitive data (S2440).
이 때, 서비스 인수 1인 태그는 암호화된 민감 데이터를 구분하는 태그이며, 서비스 인수 2는 암호화된 민감 데이터를 복호화 하기 위한 키이다.At this time, the tag for
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 데이터 보호 영역 처리부(2120)가 키저장부(2123)의 태그-키 저장부(2123a)에 복호화키와 태그를 함께 저장할 수 있다(S4400).In addition, a sensitive data processing method according to one embodiment of the present invention can store a decryption key and a tag together in a tag-key storage unit (2123a) of a key storage unit (2123) by a data protection area processing unit (2120) (S4400).
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 데이터 비보호 영역 처리부(2110)가 put_data 엔드포인트를 이용하여 암호화된 민감 데이터를 세그먼트로 나누고 각 세그먼트를 데이터 보호 영역 처리부(2120)로 전달할 수 있다(S450).In addition, in a sensitive data processing method according to one embodiment of the present invention, a data non-protection area processing unit (2110) can divide encrypted sensitive data into segments using a put_data endpoint and transmit each segment to a data protection area processing unit (2120) (S450).
이 때, 서비스 인수 1인 태그는 암호화된 민감 데이터를 구분하는 태그이며, 서비스 인수 2인 데이터는 전달할 암호화 데이터 세그먼트이고, 서비스 인수 3인 크기는 전달할 데이터의 크기이며, 서비스 인수 4인 세그먼트 번호는 현재 전달할 세그먼트의 번호이다.At this time, the tag of
이 때, put_data 엔드포인트는 세그먼트 단위로 데이터를 전달함으로 전체 암호화 데이터를 전달 완료할 때까지 반복 수행될 수 있다(S2460).At this time, the put_data endpoint transmits data in segment units, so it can be repeatedly performed until the entire encrypted data is transmitted (S2460).
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 비보호 영역 처리부(110)가 put_data_end 엔드포인트를 이용하여 태그에 해당하는 데이터의 전송이 완료되었음을 데이터 보호 영역 처리부(2120)에 알려줄 수 있다(S2470).In addition, in a sensitive data processing method according to one embodiment of the present invention, the non-protected area processing unit (110) can use the put_data_end endpoint to inform the data protection area processing unit (2120) that transmission of data corresponding to a tag has been completed (S2470).
이 때, 서비스 인수 1인 태그는 암호화 데이터를 구분하는 태그이다.At this time, the
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 데이터 보호 영역 처리부(2120)가 put_data_end 엔드포인트의 호출에 따라 전달받은 암호화된 민감 데이터를 태그-키 저장부(2123a)에 저장된 키를 이용하여 복호화할 수 있다(S4700).In addition, a sensitive data processing method according to one embodiment of the present invention can decrypt encrypted sensitive data received by a data protection area processing unit (2120) in response to a call to a put_data_end endpoint using a key stored in a tag-key storage unit (2123a) (S4700).
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 단계(S4700) 이후, 클라이언트 장치(2010)로부터의 민감 데이터 서비스 요청을 대기할 수 있다(S4800)In addition, the sensitive data processing method according to one embodiment of the present invention can wait for a sensitive data service request from a client device (2010) after step (S4700) (S4800).
도 25는 본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법을 나타낸 동작흐름도이다.Figure 25 is a flow chart showing a sensitive data processing method in a sensitive data service gateway unit according to one embodiment of the present invention.
도 25를 참조하면, 본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법은 먼저 서비스 인수 데이터를 전달 받을 수 있다(S2510).Referring to FIG. 25, a method for processing sensitive data in a sensitive data service gateway according to one embodiment of the present invention can first receive service acquisition data (S2510).
이 때, 단계(S2510)는 서비스 요청에 필요한 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역 처리부(2128)에 서비스 인수로 저장할 수 있다.At this time, step (S2510) can store the service acquisition of sensitive data required for the service request as a service acquisition in the data non-protected memory area processing unit (2128).
본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법은 민감 데이터 서비스 게이트웨이부(2121) 내부의 엔드포인트들을 호출할 수 있다(S2520).A method for processing sensitive data in a sensitive data service gateway unit according to one embodiment of the present invention can call endpoints within the sensitive data service gateway unit (2121) (S2520).
또한, 본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법은 서비스 인수 복사기(2126)가 해당 민감 데이터를 데이터 보호 메모리 영역 처리부(2129)에 서비스 인수로 복사할 수 있다(S2530).In addition, in a method for processing sensitive data in a sensitive data service gateway unit according to one embodiment of the present invention, a service acquisition copier (2126) can copy the corresponding sensitive data to a data protection memory area processing unit (2129) as a service acquisition (S2530).
또한, 본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법은 데이터 보호 영역 처리부 내부의 처리 유닛들을 호출할 수 있다(S2540).In addition, the sensitive data processing method in the sensitive data service gateway unit according to one embodiment of the present invention can call processing units within the data protection area processing unit (S2540).
즉, 단계(S2540)는 호출한 복수개의 엔트포인트들과 대응되는 데이터 보호 영역 처리부(2120) 내부의 복수개의 유닛들(민감 데이터 처리부 1 - N(2125), 민감 데이터 복호화부(2124), 키저장부(2123), 민감 데이터 저장부(2122))를 호출할 수 있다.That is, step (S2540) can call a plurality of units (sensitive
또한, 본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법은 데이터 처리를 완료하고 처리 결과를 처리 결과 데이터에 저장할 수 있다(S2550),In addition, the sensitive data processing method in the sensitive data service gateway unit according to one embodiment of the present invention can complete data processing and store the processing result in processing result data (S2550).
즉, 단계(S2550)는 처리가 끝난 민감 데이터의 처리 결과를 데이터 보호 메모리 영역 처리부(2129)에 처리결과 데이터로 저장할 수 있다.That is, step (S2550) can store the processing result of processed sensitive data as processing result data in the data protection memory area processing unit (2129).
또한, 본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법은 처리결과 데이터를 복사할 수 있다(S2560).In addition, the sensitive data processing method in the sensitive data service gateway unit according to one embodiment of the present invention can copy the processing result data (S2560).
즉, 단계(S2560)는 처리결과 복사부(2127)를 통하여 데이터 비보호 메모리 영역 처리부(2128)의 처리결과 데이터로 복사할 수 있다.That is, step (S2560) can copy the processing result data of the non-protected memory area processing unit (2128) through the processing result copy unit (2127).
이 때, 단계(S2510) 내지 단계(S2550)에서는 상기 민감 데이터 서비스 게이트웨이부(2121)를 통해 상기 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역 처리부(2128)에 저장하고, 상기 데이터 비보호 메모리 영역 처리부(2128)에 저장된 민감 데이터의 서비스 인수를 데이터 보호 메모리 영역 처리부(2129)에 복사하여 저장하고, 상기 데이터 보호 메모리 영역 처리부(2129)에 저장된 민감 데이터의 서비스 인수를 이용하여 상기 민감 데이터를 처리할 수 있다.At this time, in steps (S2510) to (S2550), the service acquisition of the sensitive data is stored in the data non-protection memory area processing unit (2128) through the sensitive data service gateway unit (2121), the service acquisition of the sensitive data stored in the data non-protection memory area processing unit (2128) is copied and stored in the data protection memory area processing unit (2129), and the sensitive data can be processed using the service acquisition of the sensitive data stored in the data protection memory area processing unit (2129).
이 때, 단계(S2550) 내지 단계(S2570)에서는 상기 민감 데이터 서비스 게이트웨이부(2121)를 통해 상기 민감 데이터의 처리 결과를 상기 데이터 보호 메모리 영역 처리부(2129)에 저장하고, 상기 데이터 보호 메모리 영역 처리부(2129)에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 메모리 영역 처리부(2128)에 복사하여 저장하고, 상기 데이터 비보호 메모리 영역 처리부(2128)에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 영역 처리부(2110)에 전달할 수 있다.At this time, in steps (S2550) to (S2570), the processing result of the sensitive data is stored in the data protection memory area processing unit (2129) through the sensitive data service gateway unit (2121), the processing result of the sensitive data stored in the data protection memory area processing unit (2129) is copied and stored in the data non-protection memory area processing unit (2128), and the processing result of the sensitive data stored in the data non-protection memory area processing unit (2128) can be transferred to the data non-protection area processing unit (2110).
도 26 및 도 27은 본 발명의 일실시예에 따른 통합 스토리지 관리 기능을 세부적으로 나타낸 블록도이다.FIGS. 26 and 27 are block diagrams illustrating in detail an integrated storage management function according to one embodiment of the present invention.
도 26 및 도 27을 참조하면, 글로벌 등록 저장소(GLOBAL REGISTRY)는 데이터 동작 쓰기 버퍼 또는 읽기 캐시(DATA OPERATION WRITE BUFFER OR READ CACHE)와 데이터 동작 메타데이터(DATA OPERATION METADATA)를 송수신할 수 있다.Referring to FIGS. 26 and 27, the global registration storage (GLOBAL REGISTRY) can send and receive a DATA OPERATION WRITE BUFFER OR READ CACHE and DATA OPERATION METADATA.
단일 가상 볼륨의 프로비전 및 가상 스토리지 풀(PROVISION OF SINGLE VIRTUAL AND VIRTUAL STORAGE POOL)은 가상 스토리지 풀 관리부(VIRTUAL STORAGE POOL MANAGEMENT)와 스토리지 동작 및 메타데이터(STORAGE OPERATION & METADATA)를 송수신할 수 있다.PROVISION OF SINGLE VIRTUAL AND VIRTUAL STORAGE POOL can send and receive storage operations and metadata (STORAGE OPERATION & METADATA) with VIRTUAL STORAGE POOL MANAGEMENT.
데이터 스토리지의 정책 관리 및 데이터 조작부(POLICY MANAGEMENT OF DATA STORAGE AND DATA MANIPULATION)는 데이터 동작 쓰기 버퍼 또는 읽기 캐시(DATA OPERATION WRITE BUFFER OR READ CACHE)와 데이터 조작을 위한 정책(POLICY FOR DATA MANIPULATION)을 송수신할 수 있다.The POLICY MANAGEMENT OF DATA STORAGE AND DATA MANIPULATION section can send and receive a DATA OPERATION WRITE BUFFER OR READ CACHE and a POLICY FOR DATA MANIPULATION.
데이터 스토리지의 정책 관리 및 데이터 조작부(POLICY MANAGEMENT OF DATA STORAGE AND DATA MANIPULATION)는 데이터 조작 강화부(ENHANCEMENT OF DATA MANIPULATION)와 강화 정책(POLICY FOR ENHANCEMENT)을 송수신할 수 있다The POLICY MANAGEMENT OF DATA STORAGE AND DATA MANIPULATION section can send and receive the ENHANCEMENT OF DATA MANIPULATION section and the POLICY FOR ENHANCEMENT section.
데이터 스토리지의 정책 관리 및 데이터 조작부(POLICY MANAGEMENT OF DATA STORAGE AND DATA MANIPULATION)는 스토리지 스트럭처링부(STORAGE STRUCTURING)와 계층 스토리지 정책(POLICY FOR STORAGE OF TIER)을 송수신할 수 있다. The POLICY MANAGEMENT OF DATA STORAGE AND DATA MANIPULATION section can send and receive the STORAGE STRUCTURE section and the POLICY FOR STORAGE OF TIER.
또한, 본 발명의 일실시예에 따른 DSF 기능 요구사항은 다음과 같이 설명할 수 있다.In addition, DSF functional requirements according to one embodiment of the present invention can be explained as follows.
CSP:DMP는 시스템 장애로부터 CSC:CSU의 데이터 복구를 제공할 수 있다.CSP:DMP can provide data recovery of CSC:CSU from system failures.
CSP:DMP는 사용 가능한 DSF 로컬 스토리지로 DSF 데이터 마이그레이션을 제공하여 스토리지 공간의 탄력성과 비용 효율성을 제공할 수 있다.CSP:DMP can provide elasticity and cost efficiency of storage space by providing DSF data migration to available DSF local storage.
CSP:DMP는 데이터 무결성을 확인하기 위해 데이터 조작에 대한 DSF 데이터의 유효성 검증을 제공할 수 있다.CSP:DMP can provide validation of DSF data for data manipulation to ensure data integrity.
CSP:DMP는 복제 된 DSF 데이터에 대한 CSC:CSU의 데이터 일관성을 제공할 수 있다.CSP:DMP can provide data consistency of CSC:CSU for replicated DSF data.
CSP:DMP는 CSC:CSU의 데이터 투명성을 지원할 수 있다.CSP:DMP can support data transparency of CSC:CSU.
CSP:SFP는 CSC:CSU의 목적에 따라 단일 가상 볼륨 최적화를 제공할 수 있다.CSP:SFP can provide single virtual volume optimization for the purpose of CSC:CSU.
CSP:SFP는 고 가용성을 위해 글로벌 레지스트리 백업을 제공할 수 있다.CSP:SFP can provide global registry backup for high availability.
또한, 본 발명의 일실시예에 따른 데이터 조작부(120)는 데이터 조작을 위한 강화된 관리 기능을 제공할 수 있다.In addition, the data manipulation unit (120) according to one embodiment of the present invention can provide an enhanced management function for data manipulation.
강화된 관리 기능(ENHANCED MANAGEMENT)은 DSF 로컬 스토리지로 배포하기 위해 조각화를 복제할 수 있다.ENHANCED MANAGEMENT can replicate fragments for distribution to DSF local storage.
동일한 데이터를 사용하는 이러한 복제는 DSF 로컬 스토리지에 배포되며 고 가용성을 위해 다른 장소의 다른 서버와 공유될 수 있다.These replicas, using the same data, are distributed to DSF local storage and can be shared with other servers in other locations for high availability.
강화된 관리 기능은 복제와 원본 데이터간에 최신 데이터를 유지할 수 있다.Enhanced management features can keep data up-to-date between replicas and original data.
강화된 관리 기능은 DSF 로컬 스토리지 정보에 따라 복제 분배를 결정할 수 있다.Enhanced management capabilities can determine replication distribution based on DSF local storage information.
예를 들어, DSF 로컬 스토리지의 정보에서 느린 스토리지는 복제 분배를 위해 DSF 로컬 스토리지에서 쉽게 제외될 수 있다.For example, slow storage in the information in DSF local storage can be easily excluded from DSF local storage for replication distribution.
강화된 관리 기능은 스냅 샷을 작성하여 DSF 로컬 스토리지를 백업할 수 있다.Enhanced management capabilities include the ability to back up DSF local storage by creating snapshots.
예를 들어, 스냅 샷은 데이터 사본을 신속하게 제공하기 위해 특정 시점의 데이터 정보를 나타낼 수 있다. 기록 중 복사 스냅 샷, 클론, 분할 미러 스냅 샷, 기록 중 재 지정 스냅 샷 등과 같은 여러 유형의 스냅 샷 기술이 사용될 ㅅ n있다.For example, a snapshot can represent data information at a specific point in time to provide a quick copy of the data. Several types of snapshot technologies can be used, such as copy-on-write snapshots, clones, split mirror snapshots, and write-on-write snapshots.
강화된 관리 기능은 최신 스냅 샷으로 DSF 로컬 스토리지를 복구할 수 있다.Enhanced management capabilities include the ability to restore DSF local storage to the latest snapshot.
예를 들어, 강화된 관리 기능은 스냅 샷을 사용하면 백업 및 복구를 위해 데이터에 빠르고 쉽게 액세스 할 수 있다.For example, enhanced management features use snapshots to provide quick and easy access to data for backup and recovery.
강화된 관리 기능은 DSF 로컬 스토리지가 가득 찼거나 고장난 경우 DSF 로컬 스토리지를 마이그레이션할 수 있다.Enhanced management capabilities can migrate DSF local storage when it is full or has failed.
예를 들어, 마이그레이션은 기존 스토리지의 성능이 낮거나 용량이 부족하여 CSC의 요청에 따라 DSF 로컬 스토리지에서 제외할 수 있는 경우 기존 스토리지의 데이터를 새 스토리지로 이동하고 기존 스토리지 대신 새 스토리지에 액세스 할 수있다.For example, migration can move data from existing storage to new storage and access the new storage instead of the existing storage when the existing storage is underperforming or has insufficient capacity and can be excluded from the DSF local storage at the request of the CSC.
강화된 관리 기능은 고 가용성을 위해 DSF 글로벌 레지스트리를 백업할 수 있다.Enhanced management capabilities include the ability to back up the DSF global registry for high availability.
예를 들어, 글로벌 레지스트리 백업은 보조 DSF 글로벌 레지스트리가 단일 가상 볼륨 및 가상 스토리지 풀을 제공하여 장애 조치를 수행할 수 있다.For example, a global registry backup can fail over to a secondary DSF global registry by providing a single virtual volume and virtual storage pool.
강화된 관리 기능은 데이터 손실 방지를 위해 오류 정정 기능을 제공할 수 있다.Enhanced management features can provide error correction capabilities to prevent data loss.
예를 들어, 오류 정정 기능은 CRC (Cyclic Redundancy Code), 체크섬, 암호화 해시 기능 또는 순방향 오류 정정 등과 같은 데이터 전송 중 데이터 손실을 방지하는 기술에 상응할 수 있다.For example, error correction capabilities may correspond to techniques for preventing data loss during data transmission, such as Cyclic Redundancy Codes (CRCs), checksums, cryptographic hash functions, or forward error correction.
강화된 관리 기능은 데이터 투명성을 위해 글로벌 레지스트리에서 최신 데이터 위치를 유지할 수 있다.Enhanced governance capabilities can maintain up-to-date data locations in a global registry for data transparency.
데이터 투명성이란 데이터의 위치와 보고된 데이터가 정확하고 공식 출처에서 온 것임에 관계없이 데이터에 액세스하고 작업 할 수 있는 능력에 상응할 수 있다.Data transparency can correspond to the ability to access and act on data regardless of its location and whether reported data is accurate and comes from official sources.
강화된 관리 기능은 데이터 보호를 위해 민감한 데이터를 처리하는 동안 데이터 유출을 방지할 수 있다.Enhanced management features can help prevent data leaks while handling sensitive data to protect your data.
민감한 데이터는 재무 정보, 건강 정보, 개인 식별 데이터 등에 상응할 수 있다.Sensitive data can include financial information, health information, personally identifiable data, etc.
이 때, 민감한 데이터는 상기에서 설명한 민감 데이터 처리 장치(2100)에 의해 처리될 수 있다.At this time, sensitive data can be processed by the sensitive data processing device (2100) described above.
민감 데이터 처리 장치(2100)는 데이터 보호 영역을 추가하고, 데이터 보호 영역에서 데이터를 처리하여 모든 I/O 인터페이스를 차단하여 외부 침입을 방지할 수 있다.The sensitive data processing device (2100) can add a data protection area and process data in the data protection area to block all I/O interfaces to prevent external intrusion.
데이터 보호 영역은 보안 게이트웨이 또는 API를 사용하여 민감한 데이터를 보호 된 영역에 복사하고 암호화 된 민감한 데이터를 해독하며 CSC의 서비스 작업을 처리하고 결과를 반환하는 HW 또는 SW 구조에 상응할 수 있다.The data protection area may correspond to a HW or SW structure that uses a security gateway or API to copy sensitive data to a protected area, decrypt encrypted sensitive data, process service operations of the CSC, and return results.
강화된 관리 기능은 강화 정책을 적용할 수 있다.Enhanced management capabilities can enforce enhanced policies.
강화 정책에는 복제, 백업, 스냅 샷, 마이그레이션, 오류 수정, 데이터 보호 등이 포함될 수 있다.Hardening policies may include replication, backup, snapshots, migration, error correction, data protection, etc.
또한, 본 발명의 일실시예에 따른 DSF 배포를 위한 데이터 조각화 기능은 아래와 같은 기능을 제공할 수 있다.In addition, the data fragmentation function for DSF distribution according to one embodiment of the present invention can provide the following functions.
CSP:SFP는 스토리지 관리 메타 데이터에서 DSF 로컬 스토리지의 성능 정보를 제공할 수 있다.CSP:SFP can provide performance information of DSF local storage in storage management metadata.
CSP:SFP는 DSF 로컬 스토리지의 성능을 고려하여 가상 스토리지 풀 최적화를 제공할 수 있다.CSP:SFP can provide virtual storage pool optimization considering the performance of DSF local storage.
배포를 위한 데이터 조각화 기능은 가상 스토리지 풀 관리에서 DSF 로컬 스토리지 및 조각화 크기의 정보를 수신할 수 있다.The data fragmentation feature for distribution can receive information about DSF local storage and fragmentation size from virtual storage pool management.
DSF 로컬 스토리지 정보의 예는 자격 증명, 액세스 메커니즘, 엔드 포인트, 스토리지 성능 및 스토리지 용량을 포함할 수 있다.Examples of DSF local storage information may include credentials, access mechanisms, endpoints, storage performance, and storage capacity.
배포를 위한 데이터 조각화 기능은 최대 조각 크기를 설정할 수 있다.The data fragmentation feature for distribution can set a maximum fragment size.
배포를 위한 데이터 조각화 기능은 데이터가 버퍼에 가득 차면 쓰기 버퍼에서 CSC의 데이터를 수집할 수 있다.The data fragmentation feature for distribution can collect data from the CSC from the write buffer when the data fills the buffer.
최대 프래그먼트 크기는 스토리지의 I/O 대역폭, 스토리지 용량, 캐시 사용 등에 따라 결정될 수 있다. 조각 크기가 크면 DSF 로컬 스토리지로 대량 복사되고 조각 크기가 작으면 캐시 크기에 맞추기 어려울 수 있다.The maximum fragment size can be determined by the I/O bandwidth of the storage, the storage capacity, the cache usage, etc. If the fragment size is large, it may be copied in bulk to the DSF local storage, and if the fragment size is small, it may be difficult to fit it into the cache size.
배포를 위한 데이터 조각화 기능은 가상 스토리지 풀 관리에서 조각 크기를 검증할 수 있다.The data fragmentation feature for distribution can verify fragment size in virtual storage pool management.
배포를 위한 데이터 조각화 기능은 DSF 로컬 스토리지에 저장하기 위해 쓰기 버퍼에서 CSC의 데이터를 수신할 수 있다.The data fragmentation feature for distribution can receive data from the CSC in the write buffer for storage in the DSF local storage.
배포를 위한 데이터 조각화 기능은 캐시 미스가 발생한 경우, 요청된 CSC의 데이터를 DSF 로컬 스토리지에서 캐시로 전송할 수 있다.The data fragmentation feature for distribution can transfer the data of the requested CSC from the DSF local storage to the cache when a cache miss occurs.
배포를 위한 데이터 조각화 기능은 조각화 정책을 검증하고 적용할 수 있다.The data fragmentation feature for distribution can verify and enforce fragmentation policies.
조각화 정책의 예는 조각화 크기, 조각화 수, 패리티 비트 수, 스토리지 당 조각화 수 등이 포함될 수 있다.Examples of fragmentation policies may include fragment size, number of fragments, number of parity bits, number of fragments per storage, etc.
이상에서와 같이 본 발명의 일실시예에 따른 민감 데이터 처리 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.As described above, the sensitive data processing device and method according to one embodiment of the present invention are not limited to the configuration and method of the embodiments described above, but the embodiments may be configured by selectively combining all or part of the embodiments so that various modifications can be made.
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: 네트워크
2010: 클라이언트 장치 2100: 민감 데이터 처리 장치
2110: 데이터 비보호 영역 처리부
2111: 민감 데이터 전달부 2112: 키전달부
2113: 민감 데이터 서비스 호출부 2114: 클라이언트 서비스 API부
2120: 데이터 보호 영역 처리부
2121: 민감 데이터 서비스 게이트웨이부
3211: 민감 데이터 저장 엔드포인트
3212: 키저장 엔드포인트 3213: 민감 데이터 서비스 엔드포인트
3214: 민감 데이터 처리 실행부
2122: 민감 데이터 저장부 2123: 키저장부
2123a: 태그-키 저장부 2124: 민감 데이터 복호화부
2125: 민감 데이터 처리부 2126: 서비스 인수 복사부
2127: 처리 결과 복사부
2128: 데이터 비보호 메모리 영역 처리부
2129: 데이터 보호 메모리 영역 처리부
2200: 클라우드 통합 스토리지 장치
2210: 암호화부 2220: 키저장부
2230: 온프레미스 스토리즈 2240: 클라우드 스토리지10: User client devices 20: Unified storage
21: Cloud storage 22: Non-cloud storage
100: Unified storage management device 110: Storage connection
111: Virtual Block Device Service Engine
112: File System Service Engine
113: Object Storage Service Engine
120: Data Manipulation Section 121: In-Memory Namespace Block
122:
123: Write
124: In-memory deduplication engine
125: In-memory data compression engine
130: Data Distribution and Storage 131: Data Completion Block
132: Data distribution block
140: Backend storage management 150: Provisioning and policy management
1100: Computer System 1110: Processor
1120: Bus 1130: Memory
1131: Rom 1132: Ram
1140: User Interface Input Device
1150: User interface output device
1160: Storage 1170: Network Interface
1180: Network
2010: Client Device 2100: Sensitive Data Processing Device
2110: Data Non-Protected Area Processing Unit
2111: Sensitive Data Transfer Unit 2112: Key Transfer Unit
2113: Sensitive Data Service Call Part 2114: Client Service API Part
2120: Data Protection Area Processing Unit
2121: Sensitive Data Services Gateway
3211: Sensitive Data Storage Endpoint
3212: Key Vault Endpoint 3213: Sensitive Data Service Endpoint
3214: Sensitive Data Processing Execution Unit
2122: Sensitive data storage 2123: Key storage
2123a: Tag-key storage unit 2124: Sensitive data decryption unit
2125: Sensitive Data Processing Unit 2126: Service Acquisition Copy Unit
2127: Copy processing results
2128: Data unprotected memory area processing unit
2129: Data Protection Memory Area Processing Unit
2200: Cloud Integrated Storage Device
2210: Encryption Unit 2220: Key Storage Unit
2230: On-Premises Stories 2240: Cloud Storage
Claims (20)
상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리;
를 포함하고,
상기 적어도 하나 이상의 프로그램은
데이터 비보호 영역에서, 스토리지 장치에 저장된 민감 데이터를 읽어오고, 데이터 보호 영역의 민감 데이터 저장 엔드포인트를 이용하여 데이터 보호 영역으로 상기 민감 데이터를 전달하고,
상기 데이터 보호 영역에서, 상기 데이터 비보호 영역으로부터 클라이언트 장치가 요청한 민감 데이터 서비스 명령을 수신하면 적어도 하나 이상의 엔드포인트들을 이용하여 상기 민감 데이터를 처리하고,
상기 데이터 비보호 영역에서, 상기 클라이언트 장치로 상기 민감 데이터의 처리 결과를 전달하고,
상기 적어도 하나 이상의 프로그램은
상기 데이터 비보호 영역에서, 암호화된 상기 민감 데이터를 복호화하기 위한 복호화 키를 상기 스토리지 장치로부터 전달 받고, 상기 데이터 보호 영역의 키 저장 엔드포인트를 이용하여 상기 복호화 키를 상기 데이터 보호 영역으로 전달하는 것을 특징으로 하는 민감 데이터 처리 장치.one or more processors; and
An execution memory storing at least one program executed by said one or more processors;
Including,
At least one of the above programs
In the non-protected data area, the sensitive data stored in the storage device is read, and the sensitive data is transferred to the protected data area using the sensitive data storage endpoint of the protected data area.
In the above data protection area, when a sensitive data service command requested by a client device is received from the above data non-protection area, the sensitive data is processed using at least one endpoint,
In the above data non-protected area, the result of processing the sensitive data is transmitted to the client device,
At least one of the above programs
A sensitive data processing device characterized in that, in the data non-protected area, a decryption key for decrypting the encrypted sensitive data is received from the storage device, and the decryption key is transmitted to the data protected area using the key storage endpoint of the data protected area.
상기 데이터 보호 영역은
운영체제가 제공하는 입출력 기능이 차단되고, 하드웨어 기능 및 가상화 기능에 기반하여 상기 데이터 보호 영역의 외부로부터의 메모리 접근이 차단된 것을 특징으로 하는 민감 데이터 처리 장치.In claim 1,
The above data protection area is
A sensitive data processing device characterized in that input/output functions provided by an operating system are blocked, and memory access from outside the data protection area is blocked based on hardware functions and virtualization functions.
상기 적어도 하나 이상의 프로그램은
상기 데이터 보호 영역에서, 상기 복호화 키를 이용하여 상기 민감 데이터를 복호화하고, 상기 민감 데이터 서비스 엔드포인트를 이용하여 상기 데이터 비보호 영역으로부터 전달 받은 상기 클라이언트 장치로부터 민감 데이터 서비스 명령에 의해 상기 복호화된 민감 데이터를 처리하는 것을 특징으로 하는 민감 데이터 처리 장치.In claim 1,
At least one of the above programs
A sensitive data processing device characterized in that, in the data protection area, the sensitive data is decrypted using the decryption key, and the decrypted sensitive data is processed by a sensitive data service command from the client device received from the data non-protection area using the sensitive data service endpoint.
상기 적어도 하나 이상의 프로그램은
상기 데이터 보호 영역에서, 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 저장하고, 상기 민감데이터의 처리 결과를 상기 데이터 비보호 영역에 전달하는 것을 특징으로 하는 민감 데이터 처리 장치.In claim 4,
At least one of the above programs
A sensitive data processing device characterized in that, in the above data protection area, the processing result of the sensitive data is stored through a sensitive data service gateway, and the processing result of the sensitive data is transmitted to the data non-protection area.
상기 적어도 하나 이상의 프로그램은
상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역에 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 데이터 보호 메모리 영역에 복사하여 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 이용하여 상기 민감 데이터를 처리하는 것을 특징으로 하는 민감 데이터 처리 장치.In claim 5,
At least one of the above programs
A sensitive data processing device characterized in that, in the data protection area, the service acquisition of the sensitive data is stored in a non-protected data memory area through the sensitive data service gateway, the service acquisition of the sensitive data stored in the non-protected data memory area is copied and stored in a data protection memory area, and the sensitive data is processed using the service acquisition of the sensitive data stored in the data protection memory area.
상기 적어도 하나 이상의 프로그램은
상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 상기 데이터 보호 메모리 영역에 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 메모리 영역에 복사하여 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 영역에 전달하는 것을 특징으로 하는 민감 데이터 처리 장치.In claim 6,
At least one of the above programs
A sensitive data processing device characterized in that, in the data protection area, the processing result of the sensitive data is stored in the data protection memory area through the sensitive data service gateway, the processing result of the sensitive data stored in the data protection memory area is copied and stored in the data non-protection memory area, and the processing result of the sensitive data stored in the data non-protection memory area is transferred to the data non-protection area.
상기 데이터 보호 영역은
상기 민감 데이터를 처리하기 위한 적어도 하나의 엔드포인트들을 포함하고, 상기 데이터 비보호 영역으로부터 호출받은 엔드포인트를 이용하여 상기 민감 데이터를 처리하는 것을 특징으로 민감 데이터 처리 장치.In claim 5,
The above data protection area is
A sensitive data processing device comprising at least one endpoint for processing the sensitive data, characterized in that the sensitive data is processed using an endpoint called from the data non-protected area.
상기 데이터 보호 영역은
상기 데이터 비보호 영역으로부터, 상기 민감 데이터의 전달 시작을 호출 받는 엔드포인트, 상기 복호화 키를 전달 받는 엔드포인트, 상기 데이터 보호 영역으로 상기 민감 데이터를 전달 받는 엔드포인트 및 상기 민감 데이터의 전달 종료를 호출 받는 엔드포인트를 포함하는 것을 특징으로 하는 민감 데이터 처리 장치.In claim 8,
The above data protection area is
A sensitive data processing device, characterized in that it includes an endpoint that receives a call to start transmission of the sensitive data from the data non-protected area, an endpoint that receives the decryption key, an endpoint that receives the sensitive data transmitted to the data protected area, and an endpoint that receives a call to end transmission of the sensitive data.
상기 적어도 하나 이상의 프로그램은
상기 데이터 보호 영역에 포함된 엔드포인트가, 상기 민감 데이터의 서비스 인수에 기설정된 태그를 확인하고, 상기 태그에 해당하는 정보를 이용하여 상기 민감 데이터를 처리하는 것을 특징으로 하는 민감 데이터 처리 장치.In claim 9,
At least one of the above programs
A sensitive data processing device characterized in that an endpoint included in the data protection area checks a tag preset for service acquisition of the sensitive data and processes the sensitive data using information corresponding to the tag.
데이터 비보호 영역에서, 스토리지 장치에 저장된 민감 데이터를 읽어오고, 민감 데이터 저장 엔드포인트를 이용하여 데이터 보호 영역으로 상기 민감 데이터를 전달하는 단계;
상기 데이터 보호 영역에서, 상기 데이터 비보호 영역으로부터 클라이언트 장치가 요청한 민감 데이터 서비스 명령을 수신하면 적어도 하나 이상의 엔드포인트들을 이용하여 상기 민감 데이터를 처리하는 단계; 및
상기 데이터 비보호 영역에서, 상기 클라이언트 장치로 상기 민감 데이터의 처리 결과를 전달하는 단계;
를 포함하고,
상기 민감 데이터를 전달하는 단계는
상기 데이터 비보호 영역에서, 암호화된 상기 민감 데이터를 복호화하기 위한 복호화 키를 상기 스토리지 장치로부터 전달 받고, 상기 데이터 보호 영역의 키 저장 엔드포인트를 이용하여 상기 복호화 키를 상기 데이터 보호 영역으로 전달하는 것을 특징으로 하는 민감 데이터 처리 방법.In a sensitive data processing method of a sensitive data processing device,
In a data non-protected area, a step of reading sensitive data stored in a storage device and transferring the sensitive data to a data protected area using a sensitive data storage endpoint;
In the data protection area, a step of processing the sensitive data using at least one endpoint when receiving a sensitive data service command requested by a client device from the data non-protection area; and
In the above data non-protected area, a step of transmitting the processing result of the sensitive data to the client device;
Including,
The step of transmitting the above sensitive data is
A method for processing sensitive data, characterized in that, in the data non-protected area, a decryption key for decrypting the encrypted sensitive data is received from the storage device, and the decryption key is transmitted to the data protected area using the key storage endpoint of the data protected area.
상기 데이터 보호 영역은
운영체제가 제공하는 입출력 기능이 차단되고, 하드웨어 기능 및 가상화 기능에 기반하여 상기 데이터 보호 영역의 외부로부터의 메모리 접근이 차단된 것을 특징으로 하는 민감 데이터 처리 방법.In claim 11,
The above data protection area is
A method for processing sensitive data, characterized in that input/output functions provided by an operating system are blocked, and memory access from outside the data protection area is blocked based on hardware functions and virtualization functions.
상기 민감 데이터를 처리하는 단계는
상기 데이터 보호 영역에서, 상기 복호화 키를 이용하여 상기 민감 데이터를 복호화하고, 상기 민감 데이터 서비스 엔드포인트를 이용하여 상기 데이터 비보호 영역으로부터 전달 받은 상기 클라이언트 장치로부터 민감 데이터 서비스 명령에 의해 상기 복호화된 민감 데이터를 처리하는 것을 특징으로 하는 민감 데이터 처리 방법.In claim 11,
The steps for processing the above sensitive data are:
A sensitive data processing method characterized in that, in the data protection area, the sensitive data is decrypted using the decryption key, and the decrypted sensitive data is processed by a sensitive data service command from the client device received from the data non-protection area using the sensitive data service endpoint.
상기 민감 데이터의 처리 결과를 전달하는 단계는
상기 데이터 보호 영역에서, 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 저장하고, 상기 민감데이터의 처리 결과를 상기 데이터 비보호 영역에 전달하는 것을 특징으로 하는 민감 데이터 처리 방법.In claim 14,
The step of transmitting the results of processing the above sensitive data is
A sensitive data processing method characterized in that, in the above data protection area, the processing result of the sensitive data is stored through a sensitive data service gateway, and the processing result of the sensitive data is transmitted to the data non-protection area.
상기 민감 데이터를 처리하는 단계는
상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역에 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 데이터 보호 메모리 영역에 복사하여 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 이용하여 상기 민감 데이터를 처리하는 것을 특징으로 하는 민감 데이터 처리 방법.In claim 15,
The steps for processing the above sensitive data are:
A method for processing sensitive data, characterized in that in the data protection area, the service acquisition of the sensitive data is stored in a non-protected data memory area through the sensitive data service gateway, the service acquisition of the sensitive data stored in the non-protected data memory area is copied and stored in a data protection memory area, and the sensitive data is processed using the service acquisition of the sensitive data stored in the data protection memory area.
상기 민감 데이터의 처리 결과를 전달하는 단계는
상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 상기 데이터 보호 메모리 영역에 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 메모리 영역에 복사하여 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 영역에 전달하는 것을 특징으로 하는 민감 데이터 처리 방법.In claim 16,
The step of transmitting the results of processing the above sensitive data is
A sensitive data processing method characterized in that, in the data protection area, the processing result of the sensitive data is stored in the data protection memory area through the sensitive data service gateway, the processing result of the sensitive data stored in the data protection memory area is copied and stored in the data non-protection memory area, and the processing result of the sensitive data stored in the data non-protection memory area is transferred to the data non-protection area.
상기 데이터 보호 영역은
상기 민감 데이터를 처리하기 위한 적어도 하나의 엔드포인트들을 포함하고, 상기 데이터 비보호 영역으로부터 호출받은 엔드포인트를 이용하여 상기 민감 데이터를 처리하는 것을 특징으로 민감 데이터 처리 방법.In claim 15,
The above data protection area is
A method for processing sensitive data, comprising at least one endpoint for processing the sensitive data, characterized in that the sensitive data is processed using an endpoint called from the data non-protected area.
상기 데이터 보호 영역은
상기 민감 데이터 저장 엔드포인트, 상기 키 저장 엔드포인트, 상기 데이터 비보호 영역으로부터 상기 민감 데이터의 전달 시작을 호출 받는 엔드포인트 및 상기 데이터 비보호 영역으로부터 상기 민감 데이터의 전달 종료를 호출 받는 엔드포인트를 포함하는 것을 특징으로 하는 민감 데이터 처리 방법.In claim 18,
The above data protection area is
A sensitive data processing method, characterized in that it includes an endpoint for storing the sensitive data, an endpoint for storing the key, an endpoint for receiving a call to start transmitting the sensitive data from the non-protected data area, and an endpoint for receiving a call to end transmitting the sensitive data from the non-protected data area.
상기 데이터 보호 영역에 포함된 엔드포인트는
상기 민감 데이터의 서비스 인수에 기설정된 태그를 확인하고, 상기 태그에 해당하는 정보를 이용하여 상기 민감 데이터를 처리하는 것을 특징으로 하는 민감 데이터 처리 방법.In claim 19,
The endpoints included in the above data protection area are:
A sensitive data processing method characterized by checking a tag preset for service acquisition of the above sensitive data and processing the sensitive data using information corresponding to the tag.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/707,037 US11614901B2 (en) | 2019-02-13 | 2019-12-09 | Apparatus and method for processing sensitive data |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020190016591 | 2019-02-13 | ||
| KR20190016591 | 2019-02-13 | ||
| KR1020190018805 | 2019-02-18 | ||
| KR20190018805 | 2019-02-18 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20200099065A KR20200099065A (en) | 2020-08-21 |
| KR102717611B1 true KR102717611B1 (en) | 2024-10-16 |
Family
ID=72235886
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020190126865A Active KR102717611B1 (en) | 2019-02-13 | 2019-10-14 | Apparatus and method for processing sensitive data |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR102717611B1 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114253473B (en) * | 2021-11-30 | 2024-10-29 | 海南大学 | Data processing method, device and medical equipment |
| CN114499954B (en) * | 2021-12-21 | 2024-05-10 | 海光信息技术股份有限公司 | A device and method for managing sensitive data |
| KR20250130062A (en) | 2024-02-23 | 2025-09-01 | 주식회사 에스케어 | Apparatus for Processing Sensitive Data and Driving Method Thereof |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101348245B1 (en) * | 2007-02-26 | 2014-01-08 | 삼성전자주식회사 | Apparatus and method for providing security domain |
| KR101990959B1 (en) * | 2012-10-24 | 2019-06-21 | 에스케이플래닛 주식회사 | Black box system for guaranteeing data integrity and method dof cotnrolling the same |
| KR20140108607A (en) * | 2013-02-28 | 2014-09-12 | 삼성전자주식회사 | Operating Method of Secure Data and Electronic Device supporting the same |
| KR101754308B1 (en) * | 2013-10-04 | 2017-07-07 | 한국전자통신연구원 | Method for management sensitive data of mobile and escrow server for performing the method |
-
2019
- 2019-10-14 KR KR1020190126865A patent/KR102717611B1/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| KR20200099065A (en) | 2020-08-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11327686B2 (en) | Apparatus and method for managing integrated storage supporting hierarchical structure | |
| KR102808206B1 (en) | Apparatus and method for managing integrated storage supporting hierachical structure | |
| US11271893B1 (en) | Systems, methods and devices for integrating end-host and network resources in distributed memory | |
| US10782880B2 (en) | Apparatus and method for providing storage for providing cloud services | |
| US10296494B2 (en) | Managing a global namespace for a distributed filesystem | |
| US12038878B2 (en) | Methods and apparatus for controlling snapshot exports | |
| KR102288503B1 (en) | Apparatus and method for managing integrated storage | |
| US9811662B2 (en) | Performing anti-virus checks for a distributed filesystem | |
| US11614901B2 (en) | Apparatus and method for processing sensitive data | |
| US9811532B2 (en) | Executing a cloud command for a distributed filesystem | |
| US9986033B2 (en) | Facilitating access to remote cloud services | |
| US8788628B1 (en) | Pre-fetching data for a distributed filesystem | |
| US9852150B2 (en) | Avoiding client timeouts in a distributed filesystem | |
| US20140006357A1 (en) | Restoring an archived file in a distributed filesystem | |
| US20150355862A1 (en) | Transparent array migration | |
| EP4139782A1 (en) | Providing data management as-a-service | |
| US20220391361A1 (en) | Distributed File System with Reduced Write and Read Latencies | |
| KR102376152B1 (en) | Apparatus and method for providing storage for providing cloud services | |
| KR102717611B1 (en) | Apparatus and method for processing sensitive data | |
| US20150006691A1 (en) | Managing rogue cloud provider operations | |
| US12189648B2 (en) | Apparatus and method for managing integrated storage |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| A201 | Request for examination | ||
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| R15-X000 | Change to inventor requested |
St.27 status event code: A-3-3-R10-R15-oth-X000 |
|
| R16-X000 | Change to inventor recorded |
St.27 status event code: A-3-3-R10-R16-oth-X000 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |