KR20200099065A - 민감 데이터 처리 장치 및 방법 - Google Patents
민감 데이터 처리 장치 및 방법 Download PDFInfo
- Publication number
- KR20200099065A KR20200099065A KR1020190126865A KR20190126865A KR20200099065A KR 20200099065 A KR20200099065 A KR 20200099065A KR 1020190126865 A KR1020190126865 A KR 1020190126865A KR 20190126865 A KR20190126865 A KR 20190126865A KR 20200099065 A KR20200099065 A KR 20200099065A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- storage
- sensitive data
- area
- sensitive
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 238
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000003860 storage Methods 0.000 claims abstract description 883
- 238000013500 data storage Methods 0.000 claims abstract description 97
- 230000008569 process Effects 0.000 claims abstract description 19
- 230000006870 function Effects 0.000 claims description 90
- 238000003672 processing method Methods 0.000 claims description 25
- 230000005540 biological transmission Effects 0.000 claims description 22
- 238000012384 transportation and delivery Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 abstract description 7
- 238000007726 management method Methods 0.000 description 218
- 238000010586 diagram Methods 0.000 description 48
- 238000009826 distribution Methods 0.000 description 48
- 230000007246 mechanism Effects 0.000 description 21
- 238000013467 fragmentation Methods 0.000 description 20
- 238000006062 fragmentation reaction Methods 0.000 description 20
- 238000005516 engineering process Methods 0.000 description 16
- 238000011084 recovery Methods 0.000 description 15
- 238000013523 data management Methods 0.000 description 12
- 230000010354 integration Effects 0.000 description 12
- 238000007906 compression Methods 0.000 description 11
- 230000006835 compression Effects 0.000 description 11
- 238000013144 data compression Methods 0.000 description 9
- 230000014759 maintenance of location Effects 0.000 description 9
- 230000010076 replication Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 230000005012 migration Effects 0.000 description 7
- 238000013508 migration Methods 0.000 description 7
- 239000012634 fragment Substances 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000007596 consolidation process Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000013403 standard screening design Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000010223 real-time analysis Methods 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- LBDSXVIYZYSRII-BJUDXGSMSA-N helion Chemical compound [3He+2] LBDSXVIYZYSRII-BJUDXGSMSA-N 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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
민감 데이터 처리 장치 및 방법이 개시된다. 본 발명의 일실시예에 따른 민감 데이터 처리 장치는 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리를 포함하고, 상기 적어도 하나 이상의 프로그램은 데이터 비보호 영역에서, 스토리지 장치에 저장된 민감 데이터를 읽어오고, 데이터 보호 영역의 민감 데이터 저장 엔드포인트를 이용하여 데이터 보호 영역으로 상기 민감 데이터를 전달하고, 상기 데이터 보호 영역에서, 상기 데이터 비보호 영역으로부터 클라이언트 장치가 요청한 민감 데이터 서비스 명령을 수신하면 적어도 하나 이상의 엔드포인트들을 이용하여 상기 민감 데이터를 처리하고, 상기 데이터 비보호 영역에서, 상기 클라이언트 장치로 상기 민감 데이터의 처리 결과를 전달한다.
Description
본 발명은 민감 데이터 처리 기술에 관한 것으로, 보다 상세하게는 데이터 보호 영역을 사용하여 민감 데이터의 유출을 원천적으로 차단하면서 데이터에 대한 처리 서비스를 동시에 지원하는 기술에 관한 것이다.
현재 사용자가 원하는 서비스를 시간과 장소의 제약 없이 빌려서 사용하는 클라우드 컴퓨팅에 대한 기술 개발 및 시장 수요가 증가하고 있다. 클라우드 컴퓨팅은 각 사용자별로 전용의 HW 및 SW를 구축하지 않아도 인터넷을 통해 사용자가 원하는 네크워크 및 스토리지, 컴퓨팅 서비스를 제공할 수 있다.
클라우드 컴퓨팅 기술 중 데이터 저장 서비스와 관련된 스토리지 시스템의 경우, 사용자는 단순히 시스템이 제공하는 안전하고 편리한 서비스 인터페이스를 통해 데이터 저장을 요청할 수 있다. 이 때, 데이터는 온프레미스-퍼블릭 클라우드 스토리지가 통합된 단일 형상의 저장소에 저장되는 클라우드 통합 스토리지 시스템이 개발되고 있다.
특히, 클라우드 통합 스토리지 시스템은 기업 및 기관이 보유한 온프레미스(On-Premise) 스토리지와 클라우드 사업자가 제공하는 퍼블릭 클라우드 스토리지의 장점을 모두 활용할 수 있는 단일 형상의 온프레미스-퍼블릭 스토리지를 통합 관리및 운영할 수 있다.
클라우드 통합 스토리지 시스템은 단일 형상의 온프레미스-퍼블릭 스토리지를 통해 저장공간의 탄력성 및 비용 효율성을 확보하고 민감데이터의 통제권과 신뢰성을 보장하는 융합 스토리지 인프라 서비스 제공할 수 있다.
이를 통해, 클라우드 통합 스토리지 시스템은 새로운 비즈니스 창출 및 다양한 분야에 활용하기 위한 클라우드 서비스의 활용 편의성을 확대할 수 있다.
종래의 유사한 시스템의 동향을 살펴 보면 아래와 같다
'IDC 3rd Platform(실시간 분석, IoT, AI 컴퓨팅)'는 운영을 지원하기 위하여, 하이브리드 클라우드 컴퓨팅 서비스를 구축 및 도입하고자 하는 요구사항이 증가하고 있다.
'IDC 3rd Platform(실시간 분석, IoT, AI 컴퓨팅)'는 다양한 클라우드의 모델을 하나로 통합하여, 컴퓨팅 자원의 확장을 지원하고 자동화 및 컴퓨팅 환경의 관리 효율성 향상에 목적을 두고 있다.
HP는 OpenStack 구조를 기반으로 REST API 기반 인프라 관리 기능을 제공하며 일부 서비스는 Amazon AWS 호환되도록 설계된 자사의 오픈소스인 Helion Eucalyputs 플랫폼을 제공하고 있다.
VMware는 기존 VMware 가상화 및 인프라를 기반으로 서버, 스토리지, 네트워크 가상화 기술을 통합적으로 제공하는 vCHS(vCloud Hybrid Service)를 발표하였다.
Rackspace는 클라우드 인프라 영역의 확장을 중점으로 클라우드 서버, 기업의 SAN 스토리지를 통합하고 Cisco ASA 방화벽을 통한 데이터 보호를 지원하고있다.
Avere System의 Avere FlashCloud, MS의 Storsimple은 데이터 백업 및 아카이브, Tier2 수준의 어플리케이션, 재해복구 서비스를 제공하기 위해 로컬 및 클라우드 스토리지를 데이터 사용빈도에 따라 구분한 스토리지 계층(Storage Tiering) 구조의 클라우드 스토리지 게이트웨이 기술을 보유하고 있다.
로컬 및 퍼블릭 스토리지 양쪽에 같은 데이터를 복제(Replication) 형태로 운용하는 기술은 클라우드 스토리지 게이트웨이 복사(Copy) 구조이며, Ctera Networks Cloud Storage Gateway 솔루션이 있음. 해당 기술은 파일 분산 및 파일 동기화 및 공유 서비스를 추가적으로 제공하고 있다.
클라우드 통합 스토리지는 온프레미스 스토리지와 클라우드 스토리지를 하나로 통합하여 운영하는 스토리지 시스템이다. 클라우드 통합 스토리지는 데이터의 특성에 기반해서 자동으로 온프레미스 스토리지와 클라우드 스토리지에 데이터를 자동으로 분산 저장하거나 이동 저장할 수 있다. 또한 사용자의 명령에 의해서 수동으로 특정 온프레미스 스토리지나 클라우드 스토리지에 데이터를 저장할 수 있다.
스토리지에 저장된 데이터는 다양한 데이터 처리 서비스를 위해서 사용되고 있으나, 금융, 의료, 개인 정보과 같은 보안에 민감한 데이터를 서비스하는 것에 대해서 여전히 데이터 유출의 위험이 존재한다. 특히, 이러한 데이터를 클라우드상에서 서비스하는 경우에는 데이터 유출의 위험이 더 증가한다. 그 이유는 온프레미스나 클라우드 시스템들이 다양한 보안 기능을 제공하더라도, 다양한 해킹 기법 및 사람에 의한 데이터 유출을 원천적으로 차단할 수 없기 때문이다.
데이터는 보안을 위해서 암호화된 후에 스토리지에 저장된다. 암호화된 데이터는 유출이 되더라도 키가 없으면 복호화가 불가능하기 때문에 안전하다. 그러나, 해당 데이터에 대한 데이터 처리 서비스를 진행하려면 암호화된 데이터를 복호화해야 한다. 복호화된 데이터는 유출이 되었을 경우, 민감한 데이터가 그대로 노출이 되기 때문에 문제가 된다. 따라서 민감 데이터에 대한 처리 서비스를 제공하는 기존의 시스템에서는 데이터의 유출을 원천적으로 차단할 수 있는 방법이 없다.
한편, 한국공개특허 제 10-2015-0040017 호“모바일 민감 데이터 관리 방법 및 이를 수행하는 위탁 서버”는 위탁 서버를 이용하여 모바일 단말 내 사용자의 민감 데이터를 위탁 저장하고, 모바일 단말에 설치되는 앱 소프트웨어의 유효성을 검증함으로써, 데이터 보호를 강화하고 기기 분실로 인한 데이터 노출의 피해를 최소화하며 불법 소프트웨어 설치를 방지하는 모바일 민감 데이터 관리관리방법 및 이를 수행하는 위탁 서버에 관하여 개시하고 있다.
본 발명은 스토리지에 저장된 민감 데이터의 유출을 원천적으로 차단하면서, 민감 데이터에 대한 처리 서비스를 동시에 지원하는 것을 목적으로 한다.
또한, 본 발명은 스토리지에 저장된 암호화 데이터를 복호화하여 민감 데이터 처리 서비스를 제공하고, 민감 데이터의 유출을 원천적으로 차단하는 것을 목적으로 한다.
또한, 본 발명은 클라우드 스토리지와 온프레미스 스토리지를 통합한 통합 스토리지의 읽기/쓰기 성능을 향상시키는 것을 목적으로 한다,
또한, 본 발명은 통합 스토리지가 포함하는 클라우드 스토리지와 온프레미스 스토리지를 동일한 성능으로 데이터 저장 서비스를 제공하는 것을 목적으로 한다.
또한, 본 발명은 저장공간의 탄력성 및 비용 효율성을 기반으로 사용자의 데이터를 이동시키는 것을 목적으로 한다.
또한, 본 발명은 Amazon S3, MS Azure 등의 다양한 클라우드 스토리지를 지원하여 사용자들의 요구에 맞는 통합 스토리지의 서비스를 제공하는 것을 목적으로 한다.
또한, 본 발명은 클라우드 스토리지에 온프레미스 스토리지 수준의 접근 속도를 제공하는 것을 목적으로 한다.
또한, 본 발명은 사용자가 다양한 서비스 프로토콜을 사용하여 클라우드 통합 스토리지에 접근할 수 있도록 서비스 인터페이스를 제공하는 것을 목적으로 한다.
또한, 본 발명은 종래의 전통적인 파일, 블록 수준의 스토리지 서비스 및 최근의 클라우드 스토리지에서 제공하는 오브젝트 방식의 스토리지 서비스 등 다양한 방식의 스토리지 서비스를 제공하는 것을 목적으로 한다.
또한, 본 발명은 온프레미스 스토리지와 클라우드 스토리지 간의 안전한 데이터 전송을 보장하여 사용자의 데이터 기밀성을 보장하는 것을 목적으로 한다
또한, 본 발명은 시스템의 오류로 인한 데이터 손실을 방지하는 것을 목적으로 한다.
또한, 본 발명은 복수개의 클라우드 서비스를 동시에 수행하는 멀티 테넌트 기능을 지원하는 것을 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 민감 데이터 처리 장치는 하나 이상의 프로세서; 및 상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리를 포함하고, 상기 적어도 하나 이상의 프로그램은 데이터 비보호 영역에서, 스토리지 장치에 저장된 민감 데이터를 읽어오고, 데이터 보호 영역의 민감 데이터 저장 엔드포인트를 이용하여 데이터 보호 영역으로 상기 민감 데이터를 전달하고, 상기 데이터 보호 영역에서, 상기 데이터 비보호 영역으로부터 클라이언트 장치가 요청한 민감 데이터 서비스 명령을 수신하면 적어도 하나 이상의 엔드포인트들을 이용하여 상기 민감 데이터를 처리하고, 상기 데이터 비보호 영역에서, 상기 클라이언트 장치로 상기 민감 데이터의 처리 결과를 전달한다.
이 때, 상기 데이터 보호 영역은 운영체제가 제공하는 입출력 기능이 차단되고, 하드웨어 기능 및 가상화 기능에 기반하여 상기 데이터 보호 영역의 외부로부터의 메모리 접근이 차단된 것일 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 비보호 영역에서, 암호화된 상기 민감 데이터를 복호화하기 위한 복호화 키를 상기 스토리지 장치로부터 전달 받고, 상기 데이터 보호 영역의 키 저장 엔드포인트를 이용하여 상기 복호화 키를 상기 데이터 보호 영역으로 전달할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에서, 상기 복호화 키를 이용하여 상기 민감 데이터를 복호화하고, 상기 민감 데이터 서비스 엔드포인트를 이용하여 상기 데이터 비보호 영역으로부터 전달 받은 상기 클라이언트 장치로부터 민감 데이터 서비스 명령에 의해 상기 복호화된 민감 데이터를 처리할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에서, 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 저장하고, 상기 민감데이터의 처리 결과를 상기 데이터 비보호 영역에 전달할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역에 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 데이터 보호 메모리 영역에 복사하여 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 이용하여 상기 민감 데이터를 처리할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 상기 데이터 보호 메모리 영역에 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 메모리 영역에 복사하여 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 영역에 전달할 수 있다.
이 때, 상기 데이터 보호 영역은 상기 민감 데이터를 처리하기 위한 적어도 하나의 엔드포인트들을 포함하고, 상기 데이터 비보호 영역으로부터 호출받은 엔드포인트를 이용하여 상기 민감 데이터를 처리할 수 있다.
이 때, 상기 데이터 보호 영역은 상기 데이터 비보호 영역으로부터, 상기 민감 데이터의 전달 시작을 호출 받는 엔드포인트, 상기 복호화 키를 전달 받는 엔드포인트, 상기 데이터 보호 영역으로 상기 민감 데이터를 전달 받는 엔드포인트 및 상기 민감 데이터의 전달 종료를 호출 받는 엔드포인트를 포함할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에 포함된 엔드포인트가, 상기 민감 데이터의 서비스 인수에 기설정된 태그를 확인하고, 상기 태그에 해당하는 정보를 이용하여 상기 민감 데이터를 처리할 수 있다.
또한, 상기의 목적을 달성하기 위한 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 민감 데이터 처리 장치의 민감 데이터 처리 방법에 있어서, 데이터 비보호 영역에서, 스토리지 장치에 저장된 민감 데이터를 읽어오고, 민감 데이터 저장 엔드포인트를 이용하여 데이터 보호 영역으로 상기 민감 데이터를 전달하는 단계; 상기 데이터 보호 영역에서, 상기 데이터 비보호 영역으로부터 클라이언트 장치가 요청한 민감 데이터 서비스 명령을 수신하면 적어도 하나 이상의 엔드포인트들을 이용하여 상기 민감 데이터를 처리하는 단계 및 상기 데이터 비보호 영역에서, 상기 클라이언트 장치로 상기 민감 데이터의 처리 결과를 전달하는 단계를 포함한다.
이 때, 상기 데이터 보호 영역은 운영체제가 제공하는 입출력 기능이 차단되고, 하드웨어 기능 및 가상화 기능에 기반하여 상기 데이터 보호 영역의 외부로부터의 메모리 접근이 차단된 것일 수 있다.
이 때, 상기 민감 데이터를 전달하는 단계는 상기 데이터 비보호 영역에서, 암호화된 상기 민감 데이터를 복호화하기 위한 복호화 키를 상기 스토리지 장치로부터 전달 받고, 상기 데이터 보호 영역의 키 저장 엔드포인트를 이용하여 상기 복호화 키를 상기 데이터 보호 영역으로 전달할 수 있다.
이 때, 상기 민감 데이터를 처리하는 단계는 상기 데이터 보호 영역에서, 상기 복호화 키를 이용하여 상기 민감 데이터를 복호화하고, 상기 민감 데이터 서비스 엔드포인트를 이용하여 상기 데이터 비보호 영역으로부터 전달 받은 상기 클라이언트 장치로부터 민감 데이터 서비스 명령에 의해 상기 복호화된 민감 데이터를 처리할 수 있다.
이 때, 상기 민감 데이터의 처리 결과를 전달하는 단계는 상기 데이터 보호 영역에서, 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 저장하고, 상기 민감데이터의 처리 결과를 상기 데이터 비보호 영역에 전달할 수 있다.
이 때, 상기 민감 데이터를 처리하는 단계는 상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역에 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 데이터 보호 메모리 영역에 복사하여 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 이용하여 상기 민감 데이터를 처리할 수 있다.
이 때, 상기 민감 데이터의 처리 결과를 전달하는 단계는 상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 상기 데이터 보호 메모리 영역에 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 메모리 영역에 복사하여 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 영역에 전달할 수 있다.
이 때, 상기 데이터 보호 영역은 상기 민감 데이터를 처리하기 위한 적어도 하나의 엔드포인트들을 포함하고, 상기 데이터 비보호 영역으로부터 호출받은 엔드포인트를 이용하여 상기 민감 데이터를 처리할 수 있다.
이 때, 상기 데이터 보호 영역은 상기 민감 데이터 저장 엔드포인트, 상기 키 저장 엔드포인트, 상기 데이터 비보호 영역으로부터 상기 민감 데이터의 전달 시작을 호출 받는 엔드포인트 및 상기 데이터 비보호 영역으로부터 상기 민감 데이터의 전달 종료를 호출 받는 엔드포인트를 포함할 수 있다.
이 때, 상기 데이터 보호 영역에 포함된 엔드포인트는 상기 민감 데이터의 서비스 인수에 기설정된 태그를 확인하고, 상기 태그에 해당하는 정보를 이용하여 상기 민감 데이터를 처리할 수 있다.
또한, 상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 통합 스토리지 관리 장치는 온프레미스 스토리지 및 클라우드 스토리지를 포함하는 통합 스토리지에 저장하기 위해 데이터를 분산하는, 데이터 분산 및 저장부; 상기 분산된 데이터를 저장하기 위해 상기 통합 스토리지를 연결하고, 상기 저장될 데이터의 스토리지 티어링(tiering) 정보를 제공하는 스토리지 관리부; 상기 데이터의 실제 저장 위치와 상관없이 상기 통합 스토리지를 가상 데이터 스토리지로 제공하는, 데이터 조작부; 및 상기 생성된 가상 데이터 스토리지를 사용자에게 단일 가상 스토리지로서 인터페이스를 제공하는, 스토리지 연결부;를 포함하고, 여기서 상기 스토리지 티어링 정보는, 스토리지의 퍼포먼스, 상기 데이터의 사용 시간 및 데이터의 접근 주기에 따라 달라질 수 있다.
이 때, 상기 스토리지 연결부는 상기 단일 가상 스토리지를 사용하기 위한 사용자 접근 메커니즘을 제공하고, 상기 사용자 접근 메커니즘은 상기 단일 가상 스토리지의 타입에 따라 달라질 수 있다.
이 때, 상기 데이터 조작부는 상기 단일 가상 스토리지에 저장하는 데이터를 분할, 암호화, 압축 중 적어도 어느 하나의 변환과정에 따라 변환하여 저장할 수 있다.
또한, 상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 통합 스토리지 관리 방법은 통합 스토리지 관리 장치의 통합 스토리지 관리 방법에 있어서, 온프레미스 스토리지 및 클라우드 스토리지를 포함하는 통합 스토리지에 저장하기 위해 데이터를 분산하는 데이터 분산단계; 상기 분산된 데이터를 저장하기 위해 상기 통합 스토리지를 연결하고, 상기 저장될 데이터의 스토리지 티어링(tiering) 정보를 제공하는 스토리지 관리단계; 및 상기 데이터의 실제 저장 위치와 상관없이 상기 통합 스토리지를 가상 데이터 스토리지로 제공하고, 상기 가상 데이터 스토리지를 사용자에게 단일 가상 스토리지로서 인터페이스를 제공하는 데이터 관리단계;를 포함하고, 상기 스토리지 티어링 정보는, 스토리지의 퍼포먼스, 상기 데이터의 사용 시간 및 데이터의 접근 주기에 따라 달라질 수 있다.
이 때, 상기 데이터 관리단계는 상기 단일 가상 스토리지를 사용하기 위한 사용자 접근 메커니즘을 제공하고, 상기 사용자 접근 메커니즘은 상기 단일 가상 스토리지의 타입에 따라 달라질 수 있다.
이 때, 상기 데이터 관리단계는 상기 단일 가상 스토리지에 저장하는 데이터를 분할, 암호화, 압축 중 적어도 어느 하나의 변환과정에 따라 변환하여 저장할 수 있다.
본 발명은 스토리지에 저장된 민감 데이터의 유출을 원천적으로 차단하면서, 민감 데이터에 대한 처리 서비스를 동시에 지원할 수 있다.
또한, 본 발명은 스토리지에 저장된 암호화 데이터를 복호화하여 민감 데이터 처리 서비스를 제공하고, 민감 데이터의 유출을 원천적으로 차단할 수 있다.
또한, 본 발명은 클라우드 스토리지와 온프레미스 스토리지를 통합한 통합 스토리지의 읽기/쓰기 성능을 향상시킬 수 있다.
또한, 본 발명은 통합 스토리지가 포함하는 클라우드 스토리지와 온프레미스 스토리지를 동일한 성능으로 데이터 저장 서비스를 제공할 수 있다.
또한, 본 발명은 저장공간의 탄력성 및 비용 효율성을 기반으로 사용자의 데이터를 이동시킬 수 있다.
또한, 본 발명은 Amazon S3, MS Azure 등의 다양한 클라우드 스토리지를 지원하여 사용자들의 요구에 맞는 통합 스토리지의 서비스를 제공할 수 있다.
또한, 본 발명은 클라우드 스토리지에 온프레미스 스토리지 수준의 접근 속도를 제공할 수 있다.
또한, 본 발명은 사용자가 다양한 서비스 프로토콜을 사용하여 클라우드 통합 스토리지에 접근할 수 있도록 서비스 인터페이스를 제공할 수 있다.
또한, 본 발명은 종래의 전통적인 파일, 블록 수준의 스토리지 서비스 및 최근의 클라우드 스토리지에서 제공하는 오브젝트 방식의 스토리지 서비스 등 다양한 방식의 스토리지 서비스를 제공할 수 있다.
또한, 본 발명은 온프레미스 스토리지와 클라우드 스토리지 간의 안전한 데이터 전송을 보장하여 사용자의 데이터 기밀성을 보장할 수 있다.
또한, 본 발명은 시스템의 오류로 인한 데이터 손실을 방지할 수 있다.
또한, 본 발명은 사용자의 편의를 위해서 스토리지 하드웨어와 소프트웨어가 하나로 통합된 어플라이언스 형태의 클라우드 통합 스토리지를 제공하여 손쉽게 시스템을 구축할 수 있다.
또한, 본 발명은 복수개의 클라우드 서비스를 동시에 수행하는 멀티 테넌트 기능을 지원할 수 있다.
도 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은 본 발명의 일실시예에 따른 통합 스토리지 관리 기능을 세부적으로 나타낸 블록도이다.
도 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은 본 발명의 일실시예에 따른 통합 스토리지 관리 기능을 세부적으로 나타낸 블록도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 통합 스토리지 시스템을 나타낸 블록도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 통합 스토리지 시스템은 사용자 클라이언트 장치(10), 통합 스토리지 관리 장치(100) 및 통합 스토리지(20)를 포함할 수 있다.
사용자 클라이언트 장치(10)는 사용자가 통합 스토리지 관리 장치(100)를 통해 통합 스토리지(20)의 서비스를 요청하고, 서비스를 제공받을 수 있다.
통합 스토리지(20)는 클라우드 스토리지(21)와 논-클라우드 스토리지(22)를 포함할 수 있다.
클라우드 스토리지(21)는 사업자가 제공하는 퍼블릭 클라우드 스토리지에 상응할 수 있다.
논-클라우드 스토리지(22)는 기업 및 기관이 보유하는 온프레미스(On-Premise) 스토리지에 상응할 수 있다.
통합 스토리지 관리 장치(100)는 통합 스토리지(20)가 포함하는 클라우드 스토리지(21)와 논-클라우드 스토리지(22)를 단일 형상으로 관리 및 운영할 수 있다.
이 때, 통합 스토리지 관리 장치(100)는 사용자가 클라우드 스토리지(21)에 접근하는지, 논-클라우드 스토리지(22)에 접근하는지 식별할 수 없는 수준의 동일한 성능으로 클라우드 서비스를 제공할 수 있다.
도 2는 본 발명의 일실시예에 따른 통합 스토리지 관리 장치를 나타낸 블록도이다. 도 3은 도 2에 도시된 스토리지 연결부의 일 예를 세부적으로 나타낸 블록도이다. 도 4는 도 2에 도시된 데이터 조작부의 일 예를 세부적으로 나타낸 블록도이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 통합 스토리지 관리 장치(100)는 스토리지 연결부(110), 데이터 조작부(120), 데이터 분산 및 저장부(130), 백엔드 스토리지 관리부(140) 및 프로비저닝 및 정책 관리부(150)를 포함한다.
스토리지 연결부(110)는 통합 스토리지(20)와 연동하여 사용자에게 통합 스토리지(20)의 서비스를 제공할 수 있다.
도 3을 참조하면, 스토리지 연결부(110)는 가상 블록 디바이스 서비스 엔진(111), 파일 시스템 서비스 엔진(112) 및 오브젝트 스토리지 서비스 엔진(113)을 포함할 수 있다.
이 때, 스토리지 연결부(110)는 블록, 파일 및 객체 스토리지의 프로토콜 처리, IO 인터페이스 및 이를 향상 시키기 위한 가속 기능을 제공할 수 있다.
이 때, 스토리지 연결부(110)는 사용자에게 전통적인 스토리지 서비스 인터페이스인 블록 디바이스 및 파일 시스템 서비스를 기본적으로 제공할 수 있으며, 최근에 등장한 오브젝트 스토리지 인터페이스까지 제공할 수 있다.
데이터 조작부(120)는 사용자에게 가상 디스크 풀을 제공하여 전체 스토리지 시스템의 단일 스토리지 뷰를 제공할 수 있다.
즉, 데이터 조작부(120)는 빠른 스토리지 리소스를 사용하여 가상 디스크 풀을 구성할 수 있고, 사용자에게 스토리지들을 가상 디스크로 제공 할 수 있다.
이에 따라, 사용자는 데이터가 다양한 유형의 스토리지에 물리적으로 분산되어 있지만 데이터의 실제 저장 위치를 고려하지 않고 단일 스토리지 구성을 제공받을 수 있다.
이 때, 데이터 조작부(120)는 스냅 샷, 빠른 복제 및 분산 트랜잭션 로그와 같은 데이터 관리 기능을 제공할 수 있다.
이 때, 데이터 조작부(120)는 데이터 쓰기 또는 데이터 읽기 동작의 경우 해당 사용자에게 쓰기 버퍼 또는 읽기 캐시 기능을 제공할 수 있다.
이 때, 데이터 조작부(120)는 메모리, SSD 및 PCIe 플래시 카드를 사용하여 사용자에게 빠른 응답 시간을 보장할 수 있다.
이 때, 데이터 조작부(120)는 램디스크를 이용하여 상기 통합 스토리지의 서비스를 제공하기 위한 데이터의 읽기/쓰기 캐쉬를 제공할 수 있다.
데이터 조작부(120)는 퍼블릭 클라우드 스토리지(클라우드 스토리지(21))에 저장된 데이터에 대한 캐쉬 기능을 제공할 수 있다. 퍼블릭 클라우드 스토리지에 저장된 데이터는 인터넷망을 통해 데이터가 전송되기 때문에 온프레미스 스토리지(논-클라우드 스토리지(22))에 비해서 속도가 느리다.
또한, 데이터는 사용자가 인지하지 못한 상태에서 자동으로 퍼블릭 클라우드 스토리지에 분산 저장이 되기 때문에, 퍼블릭 클라우드 스토리지에 저장된 데이터에 대한 고속 접근 기능이 필요하다.
데이터 조작부(120)는 퍼블릭 클라우드 스토리지에 저장된 데이타를 클라우드 통합 스토리지 운용 플랫폼 내부의 저장 장치로 캐쉬하여, 퍼블릭 클라우드 저장소에 대해서 온프레미스 스토리지 수준의 접근 속도를 제공할 수 있다.
도 4를 참조하면, 데이터 조작부(120)는 인 메모리 네임 스페이스 블록(121), 읽기 캐쉬부(122), 쓰기 캐쉬부(123), 인 메모리 디듀플리케이션 엔진(124) 및 인 메모리 데이터 컴프레션 엔진(125)을 포함할 수 있다.
인 메모리 네임 스페이스 블록(121)은 실제 데이터를 접근하기 위해서 주기적으로 읽고 쓰기를 반복하는 정보가 저장되어 있고, 고속의 접근 속도를 보장할 수 있다.
이 때, 인 메모리 네임 스페이스 블록(121)은 데이터 접근에 필요한 정보들을 고속의 메인 메모리에 저장하여 데이터 저장 및 관리 기능을 제공할 수 있다.
이 때, 인 메모리 네임 스페이스 블록(121)은 그 용량이나 휘발성 저장 매체에 한계가 있다. 그러므로 실시간 백업을 통하여 백업을 진행하고 백업 된 네임스페이스 블록은 다수 노드들(가상 머신 또는 물리적인 서버들)의 클러스터링을 통하여 고 가용성 기능을 수행할 수 있다.
이 때, 데이터 조작부(120)는 통합 스토리지 구조의 빠른 성능을 제공하기 위하여 인메모리 기반의 네임스페이스 블록(121) 및 데이터 압축 구조인 인 메모리 디듀플리케이션 엔진(124)과 인 메모리 데이터 컴프레션 엔진(125)을 인메모리 블록에서 동시에 수행할 수도 있다.
이 때, 데이터 조작부(120)는 실제 데이터 접근을 위한 글로버 네임스페이스의 고속 접근속도를 보장해야 되고 이를 빠른 속도로 저장 하고 읽기 위하여 고속 처리 방법을 제공할 수 있다.
읽기 캐쉬부(122) 및 쓰기 캐쉬부(123)는 램디스크 형태로 메인 메모리에 상응하는 램(RAM)과 SSD(Solid State Drive)를 포함하는 하나의 디스크 형태로 구성될 수 있다.
읽기 캐쉬부(122) 및 쓰기 캐쉬부(123)는 휘발성 메모리의 특성에 의하여 SSD로 실시간 백업을 수행할 수 있다.
이 때, 읽기 캐쉬부(122) 및 쓰기 캐쉬부(123)는 램 기반 캐쉬 영역이 모두 소진되면 SSD 기반 캐쉬 영역으로 자동 전환시킬 수 있다.
이 때, 읽기 캐쉬부(122) 및 쓰기 캐쉬부(123)는 사용자가 쓰기를 수행하면 빠른 쓰기 응답을 위하여 메모리 영역에 쓰기를 수행하면 바로 리턴하는 형태를 제공할 수 있다.
인 메모리 디듀플리케이션 엔진(124) 및 인 메모리 데이터 컴프레션 엔진(125)은 하기에서 설명할 데이터 분산 및 저장부(130)에 상응할 수 있다.
즉, 데이터 분산 및 저장부(130)는 데이터 조작부(120)에 포함될 수도 있다.
인 메모리 디듀플리케이션 엔진(124)은 데이터의 손실 방지를 위해서 복수의 물리적 디바이스에 데이터를 분산 저장하는 기능을 제공할 수 있다.
이 때, 인 메모리 디듀플리케이션 엔진(124)은 데이터의 에러 발생을 감지하고 이를 수정할 수 있는 에러 탐지 및 복구 코딩을 적용하여, 데이터 및 시스템 에러에 대처할 수 있다.
인 메모리 데이터 컴프레션 엔진(125)은 백엔드 스토리지에 저장되는 실제 데이터에 대해서 압축 기능을 수행하여 데이터의 크기를 줄이는 작업을 수행할 수 있다. 특히, 인 메모리 데이터 컴프레션 엔진(125)은 퍼블릭 클라우드 스토리지의 경우, 압축에 의해서 데이터 크기를 줄여줌으로써 네트워크를 통해서 전송되는 데이터의 크기를 줄일 수 있다.
데이터 분산 및 저장부(130)는 수신된 데이터의 쓰기가 최소 오버 헤드로 항상 액세스 할 수 있도록 최적화된 기능을 제공할 수 있다.
이 때, 데이터 분산 및 저장부(130)는 데이터의 효율 적인 관리를 위하여 각 객체를 여러 조각으로 분산시키고, 신뢰성 향상을 위하여 분산된 조각을 다른 노드 또는 데이터 센터에 분산시켜 저장시킬 수 있다.
이 때, 데이터 분산 및 저장부(130)는 분산된 조각에 선택적 암호화 및 압축을 처리하고 이를 위한 정책 결정을 반영할 수 있다.
이 때, 데이터 분산 및 저장부(130)는 데이터의 에러 발생을 감지하고 이를 수정할 수 있는 에러 탐지 및 복구 코딩을 적용하여, 데이터 및 시스템 에러에 대처할 수 있다.
백엔드 스토리지 관리부(140)는 데이터 분산 및 저장부(130)에서 생성된 최종의 데이터를 최종 리소스에 저장하기 위한 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)의 저장 인터페이스를 제공할 수 있다.
이 때, 백엔드 스토리지 관리부(140)는 데이터 분산 저장 계층의 정책에 따라 데이터를 성능, 시간 및 사용 빈도 위주의 티어링(tiering)을 이용하여 자동 혹은 수동 저장 기능을 제공할 수 있다.
이 때, 백엔드 스토리지 관리부(140)는 데이터를 다양한 스토리지 계층에 자동으로 분산 저장하는 기능을 제공할 수 있다.
이 때, 백엔드 스토리지 관리부(140)는 제공되는 스토리지의 특성에 기반하여 다양한 종류의 스토리지를 계층화 할 수 있다.
이 때, 백엔드 스토리지 관리부(140)는 초기 생성 데이터는 고속의 스토리지에 저장하고, 데이터 접근 빈도가 낮아지면 하위 계층의 스토리지로 데이터를 이동시키며, 최종적으로 퍼블릭 클라우드 스토리지에 데이터를 저장시킬 수 있다.
이 때, 백엔드 스토리지 관리부(140)는 데이터의 특성에 따라서 다양한 스토리지 계층 사이에 자동적으로 데이터를 이동시킬 수 있다.
프로비저닝 및 정책 관리부(150)는 각 계층의 관리 및 사용자 기반의 정책 관리를 담당할 수 있다. 이 때, 프로비저닝 및 정책 관리부(150)는 사용자가 요청한 디스크의 프로비저닝을 위한 계층적 인터페이스를 제공할 수 있다.
이 때, 백엔드 스토리지에 저장되는 데이터와 더불어 이를 관리하고 접근하기 위한 메타 데이터가 필요하다. 본 발명의 메타 데이터는 사용자가 클라이언트 장치(10)를 사용하면서 생성하거나 혹은 사용자 클라이언트 장치(10)와 통합 클라우드 관리 장치(20)가 인터페이스를 위한 클라이언트 메타 데이터, 데이터 조작에 필요한 데이터 관리 메타 데이터, 그리고 마지막 백엔드 스토리지에 사용되는 스토리지 관리 메타 데이터가 사용될 수 있다.
도 5는 본 발명의 일실시예에 따른 램디스크의 일 예를 나타낸 도면이다.
도 5를 참조하면, 데이터 조작부(120)의 램디스크인 읽기 캐쉬부(122)와 쓰기 캐쉬부(123)를 세부적으로 나타낸 것을 알 수 있다.
읽기 캐쉬부(122)는 데이터 디듀플리케이션 엔진(122a)을 이용하여 해쉬들을 블록 데이터로 분산시키는 것을 알 수 있다.
쓰기 캐쉬부(123)는 데이터 트랜잭션 로그부(123a)를 이용하여 쓰기 캐시에 저장된 데이터가 시스템 장애에 의해 손실될 경우를 대비하여, 데이터 복구를 위한 로그를 동일 노드 혹은 네트워크로 연결된 노드에 관리하는 것을 알 수 있다.
로그는 세부 블록에 대한 데이터의 위치 및 해시 값을 저장할 수 있고, 데이터가 백앤드 스토리지로 저장될 때까지 유지될 수 있다.
쓰기 캐시와 트랜잭션 로그와의 동기화는 로그 큐가 일정 크기를 도달하거나 일정 시간마다 동기화를 수행하는 비동기식 동기화, 쓰기 요청에 따른 데이터 발생 시마다 동기화를 수행할 수 있다. 쓰기 캐시에 위치한 세부 블록은 트랜잭션 로그 노드에 일정 조건에 의해 동기화될 수 있다. 시간의 흐름에 따라, 세부 블록 관련 데이터가 백앤드 스토리지에 저장되면, 쓰기 캐시의 세부 블록 및 트랜잭션 로그 노드의 세부 블록은 관리 대상에서 제외되어 삭제될 수 있다.
도 6은 본 발명의 일실시예에 따른 데이터 분산 및 저장부와 백엔드 스토리지 관리부의 동작을 세부적으로 나타낸 도면이다.
도 6을 참조하면, 데이터 분산 및 저장부(130)는 데이터 컴프레션 블록(131)은 백엔드 스토리지에 저장되는 실제 데이터에 대해서 압축 기능을 수행하여 데이터의 크기를 줄이는 작업을 수행할 수 있다. 특히, 데이터 컴프레션 블록(131)은 퍼블릭 클라우드 스토리지의 경우, 압축에 의해서 데이터 크기를 줄여줌으로써 네트워크를 통해서 전송되는 데이터의 크기를 줄일 수 있다.
데이터 분산 블록(132)은 데이터의 손실 방지를 위해서 복수의 물리적 디바이스에 데이터를 분산 저장하는 기능을 제공할 수 있다.
이 때, 데이터 분산 블록(132)은 데이터의 에러 발생을 감지하고 이를 수정할 수 있는 에러 탐지 및 복구 코딩을 적용하여, 데이터 및 시스템 에러에 대처할 수 있다.
백엔드 스토리지 관리부(140)는 HDD, SAS, iSCSI 스토리지 및 퍼블릭 클라우드 스토리지 등을 포함할 수 있고, 데이터를 백엔드 스토리지에 최종적으로 저장하기 위한 인터페이스 기능을 제공하는 것을 알 수 있다.
이 때, 백엔드 스토리지 관리부(140)는 데이터 분산 정책, 병렬 입출력(Parallel IO Engine), Multi-Path 입출력(Multi-Path IO Engine)을 통해 빠른 응답속도를 보장하기 위한 메모리 스토리지부터 대용량의 데이터 운영을 위한 클라우드 스토리지까지 다양한 유형의 스토리지를 사용하여 데이터 운영 및 연결된 스토리지에 대해 고가용성 서비스를 제공하는 것을 알 수 있다.
이 때, 백엔드 스토리지 관리부(140)는 데이터를 동일 노드 내의 스토리지나 클러스터로 구성된 다중 노드 내의 스토리지에 분산시켜 저장할 수 있으며, 데이터 크기 및 분산 저장 수를 조절하여, 시스템 오류에 따른 데이터 손실을 방지할 수 있다.
백엔드 스토리지 관리부(140)는 데이터를 다양한 스토리지 계층에 자동으로 분산 저장하는 기능을 제공하는 것을 알 수 있다. 제공되는 스토리지의 특성에 기반하여 다양한 종류의 스토리지를 계층화하는 것을 알 수 있다. 데이터 초기 생성시는 고속의 스토리지에 저장하고, 데이터 접근 빈도가 낮아지면 하위 계층의 스토리지로 이동하며, 최종적으로 퍼블릭 클라우드 스토리지에 저장되는 것을 알 수 있다. 백엔드 스토리지 관리부(140)는 데이터의 특성에 따라서 다양한 스토리지 계층 사이의 데이터 이동을 자동으로 수행한다.
도 7은 본 발명의 일실시예에 통합 스토리지 관리 방법을 나타낸 동작흐름도이다.
도 7을 참조하면, 본 발명의 일실시예에 통합 스토리지 관리 방법은 먼저 데이터 접근을 수행할 수 있다(S210).
즉, 단계(S210)는 통합 스토리지(20)와 연동하여 사용자에게 상기 통합 스토리지의 서비스를 제공하기 위해 데이터 접근을 수행할 수 있다.
이 때, 단계(S210)는 사용자에게 가상 디스크 풀을 제공하여 전체 스토리지 시스템의 단일 스토리지 뷰를 제공할 수 있다.
본 발명의 일실시예에 통합 스토리지 관리 방법은 데이터 읽기 및 쓰기를 수행할 수 있다(S220).
즉, 단계(S220)는 램디스크를 이용하여 상기 통합 스토리지의 서비스를 제공하기 위한 데이터의 읽기/쓰기 캐쉬를 제공할 수 있다.
이 때, 단계(S220)는 퍼블릭 클라우드 스토리지에 저장된 데이타를 클라우드 통합 스토리지 운용 플랫폼 내부의 저장 장치로 캐쉬하여, 퍼블릭 클라우드 저장소에 대해서 온프레미스 스토리지 수준의 접근 속도를 제공할 수 있다.
이 때, 단계(S220)는 메인 메모리에 상응하는 램(RAM)과 SSD(Solid State Drive)를 포함하는 하나의 디스크 형태로 구성된 램디스크를 이용하여 데이터 읽기 및 쓰기를 수행하고, 램 기반 캐쉬 영역이 모두 소진되면 SSD 기반 캐쉬 영역으로 자동 전환시킬 수 있다.
본 발명의 일실시예에 통합 스토리지 관리 방법은 데이터 분산 및 저장을 수행할 수 있다(S230).
즉, 단계(S230)는 상기 데이터의 객체를 분산하여 저장하고, 분산된 객체를 암호화 및 압축 처리할 수 있다.
이 때, 단계(S230)는 데이터의 에러 발생을 감지하고 이를 수정할 수 있는 에러 탐지 및 복구 코딩을 적용하여, 데이터 및 시스템 에러에 대처할 수 있다.
본 발명의 일실시예에 통합 스토리지 관리 방법은 데이터의 최종 리소스 저장을 수행할 수 있다(S240).
즉, 단계(S240)는 단계(S230)에서 생성된 최종의 데이터를 최종 리소스에 저장할 수 있다.
이 때, 단계(S240)는 데이터 분산 저장 계층의 정책에 따라 데이터를 성능, 시간 및 사용 빈도 위주의 티어링(tiering)을 이용하여 자동 혹은 수동 저장 기능을 제공할 수 있다.
이 때, 단계(S240)는 데이터를 다양한 스토리지 계층에 자동으로 분산 저장하는 기능을 제공할 수 있다.
이 때, 단계(S240)는 제공되는 스토리지의 특성에 기반하여 다양한 종류의 스토리지를 계층화 할 수 있다.
이 때, 단계(S240)는 초기 생성 데이터는 고속의 스토리지에 저장하고, 데이터 접근 빈도가 낮아지면 하위 계층의 스토리지로 데이터를 이동시키며, 최종적으로 퍼블릭 클라우드 스토리지에 데이터를 저장시킬 수 있다.
이 때, 단계(S240)는 데이터의 특성에 따라서 다양한 스토리지 계층 사이에 자동적으로 데이터를 이동시킬 수 있다.
도 8은 본 발명의 일실시예에 따른 통합 스토리지 관리 장치와 서비스 제공자의 관계를 나타낸 도면이다.
도 8을 참조하면, 본 발명의 일실시예에 따른 통합 스토리지 관리 장치(100)는 복수의 DSF(Data Storage Federation) 서비스 제공자(DSF Service Provider for Service A ~ N)로부터 스토리지 서비스(Data Storage Service A ~ N)를 등록받을 수 있다.
이 때, 관리자(DSF Service Adminstrator)는 통합 스토리지 관리 장치(100)를 통해 등록된 복수개의 스토리지 서비스를 사용자에게 제공할 수 있다.
이 때, 사용자(DSF Service Customer of Client user)는 통합 스토리지 관리 장치(100)를 이용하여 복수개의 스토리지 서비스들을 제공받을 수 있다.
이 때, 통합 스토리지 관리 장치(100)는 복수개의 스토리지 서비스들을 제공하기 위하여 멀티테넌트 기반으로 통합 스토리지(20)를 관리할 수 있다.
도 9는 본 발명의 일실시예에 따른 스토리지 서비스 등록을 위한 통합 스토리지 관리 방법을 나타낸 동작흐름도이다.
도 9를 참조하면, 본 발명의 일실시예에 따른 스토리지 서비스 등록을 위한 통합 스토리지 관리 방법은 먼저 통합 스토리지 관리 장치(100)가 제공자의 로그인을 수행할 수 있다(S310).
이 때, 단계(S310)는 스토리지 서비스를 등록하기 위하여 제공자가 기 등록된 아이디와 패스워드를 이용하여 통합 스토리지 관리 장치(100)에 로그인할 수 있다.
이 때, 단계(S310)는 제공자의 아이디 및 패스워드가 로그인이 등록되어 있지 않은 경우, 새로운 아이디 및 패스워드를 생성할 수도 있다.
또한, 본 발명의 일실시예에 따른 스토리지 서비스 등록을 위한 통합 스토리지 관리 방법은 스토리지에 스토리지 서비스를 등록할 수 있다(S320).
즉, 단계(S320)는 스토리지 서비스를 등록하기 위한 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)를 확인하여 스토리지 서비스를 등록할 수 있다.
이 때, 단계(S320)는 스토리지 서비스 등록을 위해 GUI를 통해 제공자에게 등록 방법을 제공할 수 있다.
이 때, 단계(S320)는 제공자로부터 GUI를 통해 스토리지 서비스 이름, 저장소 사양(사이즈, 캐싱 여부, Tier 개수, 암호화, 온프레미스 저장소 지원 등), 데이터 저장 서비스 프로토콜 및 클라우드 저장소 이름 및 종류 등을 입력 받아, 이에 상응하는 스토리지에 등록시킬 수 있다.
이 때, GUI를 통해 입력 받는 정보는 신규 제공자가 아이디 및 패스워드 등록 시 사전 등록을 통하여 등록될 수도 있다.
또한, 본 발명의 일실시예에 따른 스토리지 서비스 등록을 위한 통합 스토리지 관리 방법은 스토리지를 설정할 수 있다(S330).
즉, 단계(S330)는 스토리지 서비스가 등록된 스토리지에 상응하는 가상 스토리지를 생성할 수 있다.
이 때, 단계(S330)는 가상 스토리지를 가상 디스크 풀(Pool)에 등록할 수 있고, 사용자에게 가상 디스크 풀을 통해 스토리지 서비스 제공을 위한 단일 스토리지 뷰를 제공할 수 있다.
도 10은 본 발명의 일실시예에 따른 통합 스토리지 관리 장치를 나타낸 블록도이다.
도 10을 참조하면, 본 발명의 일실시예에 따른 통합 스토리지 관리 장치는 각 레이어의 컴포넌트 또는 주요 구성이 되는 서비스 연결부(110), 데이터 조작부(120), 데이터 분산 및 저장부(130) 및 백엔드 스토리지 관리부(140)가 제공자(DSF Service Provider A ~ C)로부터 등록된 스토리지 서비스에 상응하는 개수로 멀티테넌트 되어 구성된 것을 알 수 있다.
즉, 통합 스토리지 관리 장치(100)는 복수개의 서비스를 동시에 수행하는 멀티 테넌트 기능을 지원하는 것을 알 수 있다.
이 때, 프로비저닝 및 정책 관리부(150)는 관리자(Admin)에게 관리자 GUI(Administration GUI)를 제공하고, 멀티테넌트 기반 통합 스토리지 서비스를 제공 및 관리할 수 있다.
스토리지 연결부(110) 및 데이터 조작부(120)는 데이터 관리단계를 수행할 수 있다.
이 때, 스토리지 연결부(110)는 상기 가상 데이터 스토리지를 사용자에게 단일 가상 스토리지로서 인터페이스를 제공할 수 있다.
이 때, 스토리지 연결부(110)는 상기 단일 가상 스토리지를 사용하기 위한 사용자 접근 메커니즘을 제공할 수 있다.
이 때, 상기 사용자 접근 메커니즘은 상기 단일 가상 스토리지의 타입에 따라 달라질 수 있다.
이 때, 스토리지 연결부(110)는 가상 블록 디바이스, 파일 시스템 및 오브젝트 스토리지와 함께 단일 가상 볼륨의 해당 프로토콜 또는 I/O 인터페이스를 제공할 수 있다.
이 때, 스토리지 연결부(110)는 프로토콜 성능 가속화를 제공할 수 있다.
또한, 스토리지 연결부(110)가 제공하는 인터페이스는 직접 인터페이스 (즉, 객체 또는 블록 스토리지 인터페이스) 또는 소프트웨어 프로그램과의 여러 유형의 스토리지 인터페이스를 구성하는 프록시 인터페이스에 상응할 수 있다.
이 때, 소프트웨어 프로그램은 소프트웨어 에이전트, 데몬, 웹 작업자 및 통합 스토리지(20)에 대한 인터페이스를 위한 RESTful API를 포함할 수 있다.
이 때, 프록시 인터페이스는 소프트웨어 프로그램과의 인터페이스를 자동으로 감지하여 통합 스토리지(20)를 연결할 수 있다.
이 때, 스토리지 연결부(110)는 단일 가상 볼륨을 사용하기 위해 사용자 클라이언트 장치(10)에 대한 사용자 인터페이스를 제공할 수 있다.
사용자 인터페이스는 그래픽 사용자 인터페이스, 웹 응용 프로그램 또는 사용자 클라이언트 장치(10)가 특정 가상 볼륨에 액세스하기 위한 특정 클라이언트가 포함될 수 있다.
이 때, 스토리지 연결부(110)는 데이터 조작부(120)와 통합 스토리지 장치(20)의 해당 인터페이스 사이의 변환을 제공할 수 있다.
해당 인터페이스는 API, I / O 인터페이스 등을 포함한다.
이 때, 스토리지 연결부(110)는 사용자 클라이언트 장치(10)에 단일 가상 볼륨을 사용하기 위한 안전한 액세스 메커니즘을 제공할 수 있다.
이 때, 스토리지 연결부(110)는 사용자 클라이언트 장치(10)의 요구 사항을 등록할 수 있다.
사용자 클라이언트 장치(10)의 요구 사항은 데이터 저장 용량, 액세스 메커니즘, 단일 가상 볼륨의 저장 유형, 정책 등을 포함할 수 있다.
이 때, 스토리지 연결부(110)는 통합 스토리지(20)와의 원활한 통신을 위해 통합 스토리지(20)와의 인터페이스의 원활한 연결을 제공할 수 있다.
이 때, 데이터 조작부(120)는 상기 데이터의 실제 저장 위치와 상관없이 상기 통합 스토리지(20)를 가상 데이터 스토리지로 제공할 수 있다.
이 때, 데이터 조작부(120)는 상기 단일 가상 스토리지에 저장하는 데이터를 분할, 암호화, 압축 중 적어도 어느 하나의 변환과정에 따라 변환하여 저장할 수 있다.
이 때, 데이터 조작부(120)는 통합 스토리지(20)의 단일 가상 스토리지 뷰를 가상 스토리지 풀로 제공할 수 있다.
이 때, 데이터 조작부(120)는 사용자 클라이언트 장치(10)에게 쓰기 버퍼 또는 읽기 캐시 기능을 제공할 수 있다.
이 때, 데이터 조작부(120)는 메모리, SSD 또는 PCIe(peripheral component interconnect express) 플래시 카드 등을 사용하여 읽기 및 쓰기 응답 시간을 향상시킬 수 있다.
이 때, 데이터 조작부(120)는 온-프레미스에 비해 느린 액세스 속도를 읽기 및 쓰기 캐시를 이용하여 보상할 수 있다.
읽기 및 쓰기 캐시는 스토리지 및 데이터를 저장하는 디바이스의 성능을 향상시킬 수 있고, 고속 캐시 동작을 위한 다양한 장치에 사용될 수 있다.
고속 캐시 동작을 위한 다양한 장치는 메인 메모리, RAM 기반 디스크 및 SSD 등에 상응할 수 있다.
고속 액세스의 경우, 캐시 계층 구조가 메인 메모리로 확장될 수 있다. 또한, 메인 메모리는 용량 제한 때문에 SSD에서 사용하는 접근법이 사용될 수 있다. 즉, RAM 기반 캐시 영역이 고갈되면 자동으로 SSD 영역 캐시로 변환될 수 있다. 사용자 클라이언트 장치(10)가 쓰기 작업을 수행 할 때 빠른 쓰기 응답을 위해 메모리 영역에서 쓰기 작업이 수행될 수 있다.
이 때, 데이터 조작부(120)는 스냅 샷, 빠른 복제 및 분산 트랜잭션 로그에 대한 데이터 관리를 제공할 수 있다.
이 때, 데이터 조작부(120)는 사용자 클라이언트 장치(10)의 작성(create), 읽기(read), 갱신(update), 삭제(delete) (CRUD) 데이터 작업의 실행을 제공할 수 있다.
CRUD 데이터 연산은 데이터의 생성, 읽기, 갱신 및 삭제를 포함할 수 있다.
이 때, 데이터 조작부(120)는 글로벌 레지스트리에 쿼리를 사용하여 사용자 클라이언트 장치(10)의 데이터에서 검색 데이터 작업을 제공할 수 있다.
이 때, 데이터 조작부(120)는 DSF 데이터의 공유 상태를 확인한 후 글로벌 레지스트리에서 데이터의 공유 상태를 업데이트하여 공유 데이터 운영을 제공할 수 있다.
데이터 공유는 데이터 조작 중에 동일한 데이터가 공유됨을 의미할 수 있다.
데이터 공유 상태는 데이터 공유 여부에 대한 정보에 상응할 수 있다.
이 때, 데이터 조작부(120)는 데이터의 중복 제거를 사용하여 데이터 저장 용량을 절약할 수 있다.
이 때, 데이터 조작부(120)는 통합 스토리지(20)에 데이터를 전송하기 위해 데이터 암호화 / 암호 해독을 제공할 수 있다.
이 때, 데이터 조작부(120)는 시스템 장애로부터 사용자 클라이언트 장치(10)의 데이터 복구를 제공할 수 있다.
데이터 복구는 가장 최근에 사용 된 사용자 클라이언트 장치(10)의 데이터를 복원하여 스토리지 및 네트워크 연결 오류로 인한 오류로 인한 데이터 손실을 방지할 수 있다.
이 때, 데이터 조작부(120)는 저장 공간의 복원력 및 비용 효율성을 위해 사용 가능한 통합 스토리지(20)로 데이터 마이그레이션을 제공할 수 있다.
데이터 저장 공간의 복원력 및 비용 효율성을 위한 데이터 마이그레이션은 사용자 개입이나 인식 없이 자동으로 수행될 수 있다.
이 때, 데이터 조작부(120)는 데이터 무결성을 검사하기 위해 데이터 조작에 대한 데이터의 유효성 확인을 제공할 수 있다.
이 때, 데이터 조작부(120)는 복제 된 데이터에 대한 사용자 클라이언트 장치(10)의 데이터 일관성을 지원할 수 있다.
데이터 일관성은 데이터 조작부(120)가 사용자 클라이언트 장치(10)의 저장소 오류 데이터를 복구하기 위해 현재 데이터를 올바르게 백업하는 것을 의미할 수 있다.
이 때, 데이터 조작부(120)는 사용자 클라이언트 장치(10)의 데이터 투명성을 지원할 수 있다.
데이터의 투명성은 사용자 클라이언트 장치(10)의 위치를 모른 채 데이터에 액세스하는 것을 의미할 수 있다.
이 때, 데이터 조작부(120)는 높은 가용성을 위해 글로벌 네임 스페이스의 백업을 제공할 수 있다.
글로벌 네임 스페이스의 백업은 실제 데이터와 동기화되고 글로벌 네임 스페이스의 백업은 여러 노드(가상 컴퓨터 또는 물리적 서버)의 클러스터링을 통해 고 가용성 기능을 수행할 수 있다.
이 때, 데이터 조작부(120)는 블록 기반 스토리지, 파일 기반 스토리지 또는 기타 클라우드 스토리지와 같은 고객의 요구에 따라 단일 가상 볼륨을 추가할 수 있다.
데이터 분산 및 저장부(130)는 데이터 분산단계를 수행할 수 있다.
이 때, 데이터 분산 및 저장부(130)는 온프레미스 스토리지 및 클라우드 스토리지를 포함하는 통합 스토리지(20)에 저장하기 위해 데이터를 분산할 수 있다.
이 때, 데이터 분산 및 저장부(130)는 통합 스토리지(20)에 데이터를 쓰는 동안 최소한의 오버 헤드를 보장하기 위한 최적화를 제공할 수 있다.
이 때, 데이터 분산 및 저장부(130)는 통합 스토리지(20)에 데이터를 분산하고 저장하기 위한 데이터 단편화(data fragmentation)을 제공할 수 있다.
데이터 단편화는 데이터를 효율적으로 관리하고 안정성을 향상시키기 위해 사용자 데이터를 다른 저장소, 노드 또는 데이터 센터에 분산 및 저장하는 방법이다.
이 때, 데이터 분산 및 저장부(130)는 데이터의 암호화, 해독 및 압축/압축 해제를 제공할 수 있다.
이 때, 암호화와 압축은 사용자의 요구에 의해 고려될 수 있다.
또한, 데이터 분산 및 저장부(130)는 자체 파일 및 파일 내용을 데이터로 지원할 수 있다.
파일의 내용 유형은 structured, semi-structured 및 unstructured 중 어느 하나에 상응할 수 있다.
이 때, 데이터 분산 및 저장부(130)의 지원은 복수의 통합 스토리지(20) 제공자의 로컬 스토리지에 분산 된 데이터를 대응하는 API로 집계하는 것을 지원할 수 있다.
이 때, 데이터 분산 및 저장부(130)는 저장 공간의 복원력 및 비용 효율성에 중점을 두고 사용 클라이언트 장치(10)의 데이터를 관리할 수 있다.
예를 들어, 데이터 저장 공간의 복원력 및 비용 효율성을 위한 데이터 이동은 사용자 개입이나 인식 없이 자동으로 수행될 수 있다.
이 때, 사용자 클라이언트 장치(10)는 데이터가 온-프레미스 스토리지(22) 또는 클라우드 스토리지(21)에 저장되는지 여부를 모른 채 동일한 성능으로 통합 클라우드 스토리지 서비스를 제공 받을 수 있다.
이 때, 데이터 분산 및 저장부(130)는 사용자 클라이언트 장치(10)의 데이터를 통합하기 위해 이 때, 서비스 제공자를 검증할 수 있다.
백엔드 스토리지 관리부(140)는 스토리지 관리 단계를 수행할 수 있다.
이 때, 백엔드 스토리지 관리부(140)는 상기 분산된 데이터를 저장하기 위해 상기 통합 스토리지(20)를 연결하고, 상기 저장될 데이터의 스토리지 티어링(tiering) 정보를 제공할 수 있다.
이 때, 상기 스토리지 티어링 정보는, 스토리지의 퍼포먼스, 상기 데이터의 사용 시간 및 데이터의 접근 주기에 따라 달라질 수 있다.
이 때, 백엔드 스토리지 관리부(140)는 스토리지의 퍼포먼스, 상기 데이터의 사용 시간 및 데이터의 접근 주기에 따라 데이터를 계층화하는 스토리지 계층화를 제공할 수 있다.
스토리지 계층화는 계층 적 방식으로 여러 스토리지 계층에 데이터를 분산 배치하는 작업에 상응할 수 있다.
이 때, 백엔드 스토리지 관리부(140)는 데이터의 특성에 따라 다양한 스토리지 계층간에 데이터를 자동으로 이동시킬 수 있다.
데이터는 처음 생성 될 때 고속 저장 장치에 저장될 수 있다. 데이터 액세스 빈도가 낮으면 데이터는 저속 스토리지로 이동될 수 있다.
이 때, 백엔드 스토리지 관리부(140)는 분산 된 데이터를 집계하기 위해 여러 데이터 스토리지의 공급자에게 동시에 액세스 할 수 있다.
이 때, 백엔드 스토리지 관리부(140)는 사용자 클라이언트 장치(10)에게 통합 스토리지(20)에 대한 액세스 권한을 위임하는 기능을 지원할 수 있다.
프로비저닝 및 정책 관리부(150)는 논리적 구성 요소의 구성 및 제어를 제공할 수 있다.
이 때, 프로비저닝 및 정책 관리부(150)는 데이터 저장 및 데이터 조작의 정책 관리를 제공할 수 있다.
데이터 저장 정책은 백업, 스냅 샷, 확장, 복구, 데이터 캐싱, 씬 프로비저닝, 계층화, 저장 유형 (파일, 블록, 오브젝트 등) 등이 포함될 수 있다.
이 때, 데이터 저장 정책은 기본적으로 설정될 수 있고, 사용자의 요청에 따라 재구성될 수 있다. 또한, 데이터 저장 정책은 통합 스토리지(20)의 정책에 의존할 수도 있다.
재구성 된 정책은 통합 스토리지(20)가 자체 정책을 지원하지 않는 경우, 프로비저닝 및 정책 관리부(150)에 의해 재구성된 정책이다.
데이터 조작 정책은 공유 지원, 읽기 / 쓰기, 복제, 데이터 마이그레이션, 조각화, 암호화, 압축, 중복 제거 등이 포함될 수 있다.
이 때, 데이터 조작 정책은 읽기 전용, 쓰기, 복제 옵션 및 쓰기 옵션 등을 포함한 비공유 모두 및 공유 모드를 선택할 수 있다.
이 때, 프로비저닝 및 정책 관리부(150)는 가상 스토리지 풀에 단일 가상 볼륨을 제공할 수 있다.
이 때, 프로비저닝 및 정책 관리부(150)는 데이터 전송을 위한 보안 정책 (예: 데이터 암호화)을 지원하여 사용자 클라이언트 장치(10)의 데이터 기밀성을 보장할 수 있다.
이 때, 프로비저닝 및 정책 관리부(150)는 분산 저장에 기반한 저장 구조의 오류로 인한 데이터 손실을 방지하고 시스템 오류 발생시 데이터 복구를 제공할 수 있다.
또한, 프로비저닝 정책 관리부(150)는 스토리지 연결부(110), 데이터 조작부(120), 데이터 분산 및 저장부(130) 및 백엔드 스토리지 관리부(140)와 데이터 운영 메타 데이터를 공유할 수 있다.
데이터 운영 메타데이터는 데이터 운영을 수행하는 데 필요한 디스크립션이다. 데이터 운영 메타데이터는 가상 저장 영역 풀 및 단일 가상 볼륨의 속성이 포함될 수 있다. 데이터 운영 메타데이터는 읽기 / 쓰기 캐싱, 스냅 샷, 복제, 조각화 등의 트랜잭션 로그 및 DSF 데이터 속성이 포함될 수 있다.
백엔드 스토리지 관리부(140)는 통합 스토리지(20)의 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)와 스토리지 관리 메타 데이터를 공유할 수 있다.
스토리지 관리 메타 데이터는 저장 영역 조작을 수행하는 데 필요한 디스크립션이다 스토리지 관리 메타 데이터는 통합 스토리지(20)의 위치, 인터페이스, 고객 데이터 조작을 위한 API, 읽기 / 쓰기 속도, 저장 용량 등이 포함될 수 있다.
고객 메타데이터는 고객의 환경을 구성하기 위해 고객에 의해 생성될 수 있다.
도 11은 본 발명의 일실시예에 따른 백엔드 연결 데몬을 이용한 멀티테넌트 기반 통합 스토리지 관리 장치를 나타낸 블록도이다.
도 11을 참조하면, 본 발명의 일실시예에 따른 백엔드 연결 데몬을 이용한 멀티테넌트 기반 통합 스토리지 관리 장치는 서비스 제공자들(31, 32, 33)이 제공한 스토리지 서비스들 별로 개별적으로 복수개로 구성된 스토리지 연결부(110), 데이터 조작부(120), 데이터 분산 및 저장부(130) 및 백엔드 스토리지 관리부(140) 및 하나의 프로비저닝 및 정책 관리부(150)를 포함한다.
스토리지 연결부(110)는 통합 스토리지(20)와 연동하여 사용자에게 상기 통합 스토리지(20)의 스토리지 서비스를 제공할 수 있다.
이 때, 통합 스토리지(20)는 적어도 하나 이상의 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)를 포함할 수 있다.
데이터 조작부(120)는 상기 통합 스토리지(20)의 가상 디스크 풀을 생성하여 적어도 하나 이상의 가상 디스크를 통해 단일 스토리지 뷰를 제공할 수 있다.
데이터 분산 및 저장부(130)는 수신된 데이터의 쓰기가 최소 오버 헤드로 항상 액세스 할 수 있도록 데이터의 분산 및 암호화 기능을 제공할 수 있다.
백엔드 스토리지 관리부(140)는 소프트웨어 형태의 연결 데몬을 이용하여 상기 통합 스토리지(20)와 인터페이스를 수행할 수 있다.
이 때, 백엔드 스토리지 관리부(140)는 필요한 인터페이스 (객체 또는 블록 스토리지 인터페이스)와 다양한 유형의 스토리지와 인터페이스 하도록 구성된 백엔드 연결 데몬을 포함하고 여러 개의 스토리지를 쉽게 등록하기 위한 프록시 인터페이스를 제공할 수 있다.
이 때, 벡엔드 스토리지 관리부(140)는 프록시 인터페이스가 상기 클라우드 스토리지(21)에 연결된 제1 데몬과 상기 논-클라우드 스토리지(22)에 연결된 제2 데몬의 저장 영역 인터페이스를 감지하여 클라우드 서비스를 등록할 수 있다.
백엔드 스토리지 프록시는 오브젝트 스토리지 데몬 인터페이스 혹은 블록 스토리지 인터페이스 드라이버가 저장된 백엔드 연결 데몬이 저장 영역 인터페이스를 자동으로 감지하여 서비스를 등록 할 수 있다.
백엔드 연결 데몬은 통합 스토리지(20)를 연결하기 위하여 블록 디바이스를 제외한 가상 머신 혹은 컨테이너를 통하여 구동될 수 있고, 이를 통해 오브젝트 스토리지를 연결할 수 있다.
이 때, 벡엔드 스토리지 관리부(140)는 인터페이스가 수행된 스토리지는 스토리지 서비스의 등록 가능한 스토리지로 출력할 수 있다.
이 때, 벡엔드 스토리지 관리부(140)는 스토리지 서비스의 등록을 위하여 사용자는 시스템의 접속을 위한 정보를 관리 할 수 있거나 접근을 위한 보안된 경로를 제공할 수 있다.
이 때, 벡엔드 스토리지 관리부(140)는 하나의 스토리지를 연결 할 때 마다 하나씩 백엔드 연결 데몬을 생성 할 수 있고, 이를 프록시 서버와 연결시킬 수 있다. 프록시 서버(미도시)는 데이터 조작부(120)를 통해 상위 가상 디스크 풀(Vpool)과 연결되는 드라이버 인터페이스를 통하여 사용자의 데이터를 저장하고 관리할 수 있다.
이를 통해, 통합 스토리지 관리 장치(100)는 등록된 서비스 제공자가 접속시 하나의 가상 디스크(vdisk)를 생성할 수 있고, 생성된 가상 디스크는 가상 디스크 풀 내에서 관리될 수 있다. 이 때, 사용자는 각각의 가상 디스크 풀을 통해 스토리지 서비스가 등록된 스토리지로부터 복수개의 스토리지 서비스를 제공 받을 수 있다.
백엔드 스토리지 관리부(140)에서 스토리지 구성은 온 프레미스 및 퍼블릭 클라우드 스토리지 서비스와 다르게 구성될 수 있다. 백엔드 스토리지를 위한 인터페이스는 별도의 소프트웨어 데몬 형태로 제공될 수 있다. 복수개의 클라우드 스토리지 장치가 있는 경우 DSF 로컬 스토리지 관리를 구성 할 수 있고, 프록시 인터페이스를 인터페이스 하도록 구성 할 수 있으며 온 프레미스 스토리지를 등록하고 사용할 수 있는 인터페이스가 제공될 수도 있다.
프로비저닝 및 정책 관리부(150)는 복수의 서비스 제공자로부터 스토리지 서비스를 등록 받아 멀티테넌트 기반으로 상기 스토리지 서비스의 제공을 관리할 수 있다.
이 때, 프로비저닝 및 정책 관리부(150)는 관리자가 관리 GUI를 통하여 통합 스토리지 관리 장치(100)에서 스토리지 서비스 제공을 위한 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)를 등록하고 새로운 서비스를 구성 할 수 있다.
이 때, 프로비저닝 및 정책 관리부(150)는 서비스 제공자가 서비스를 가입하여 등록하고 파일을 업로드 및 생성하면 클라우드 계정을 작성할 수 있고, 업로드 된 파일은 관리자의 재량에 따라 클라우드 스토리지(21) 또는 논-클라우드 스토리지(22)에 저장할 수 있다.
이 때, 프로비저닝 및 정책 관리부(150)는 관리 GUI를 통해 통합 스토리지(20)에 통합 된 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)에 등록된 클라우드 서비스의 컨텐츠를 표시, 작성, 수정 및 삭제하는 기능도 제공할 수 있다.
스토리지의 구성은 논-클라우드 스토리지(22)와 별개로 클라우드 스토리지(21)의 서비스는 기본 구성과 함께 별도로 제공될 수 있다.
이 때, 프로비저닝 및 정책 관리부(150)는 논리 구성 요소의 기능을 각 개별 기능을 가진 모듈 혹은 함수 형태로 연결 네트워크가 있는 서버, 가상 시스템 또는 컨테이너로 독립적으로 구성할 수 있다.
이 때, 프로비저닝 및 정책 관리부(150)는 서비스 제공자로부터 입력 받은 서비스 등록 정보에 상응하는 상기 통합 스토리지(20)가 포함하는 어느 하나의 스토리지에 상기 스토리지 서비스를 등록할 수 있다.
이 때, 프로비저닝 및 정책 관리부(150)는 상기 스토리지 서비스가 등록된 스토리지에 가상 스토리지를 설정하여 상기 스토리지 서비스를 제공할 수 있다.
이 때, 프로비저닝 및 정책 관리부(150)는 상기 스토리지 서비스의 입출력 성능 저하를 방지하기 위하여 데이터가 이동하는 제1 경로(Data Path)와 데이터를 제어하는 제2 경로(Control Path)를 이용하여 상기 스토리지 서비스를 관리할 수 있다.
이 때, 제1 경로와 제2 경로를 관리하는 관리 기능은 단일 스토리지에 통합 된 온 프레미스 및 퍼블릭 클라우드 서비스의 컨텐츠를 표시, 생성, 수정 및 삭제하는 기능을 제공할 수 있다.
도 11 에서, 각 논리적 구성 요소는 하나의 서버 또는 여러 서버로 구성될 수 있고, 각 논리적 구성 요소는 서버, 가상 시스템 또는 컨테이너를 통해 네트워크로 구성될 수 있다.
본 발명의 일실시예에 따른 통합 스토리지 관리 장치(100)에 상응하는 DSF 서비스 제공자는 스토리지 서비스의 성능 저하를 방지하기 위해 데이터 경로 및 관리 경로에 대해 서로 다른 인터페이스를 제공할 수도 있다.
DSF 서비스 제공자는 자체 구성을 위해 모든 논리적 동시성 및 해당 인터페이스를 독립적으로 구성하고 제어할 수 있다.
자체 구성은 논리적 구성 요소의 자동 구성을 의미하며 DSF 서비스 제공자는 서버, 가상 시스템 또는 컨테이너에 내장 된 각 구성 요소의 구성을 연결 네트워크로 관리할 수 있다.
DSF 서비스 제공자는 백엔드 스토리지 인터페이스를 관리하여 통합 스토리지를 DSF 서비스에 참여시킬 수 있다. 통합 스토리지에 참여하기 위해 백엔드 스토리지 관리는 인터페이스(예 : 개체 또는 블록 스토리지 인터페이스) 및 프록시를 제공할 수 있다. 여러 유형의 스토리지 인터페이스를 구성하는 인터페이스. 백엔드 스토리지 프록시는 백엔드 연결 데몬으로 스토리지 인터페이스를 자동으로 감지하여 서비스를 등록할 수 있다.
DSF 서비스 제공자는 DSF 서비스 고객을 위한 보안 클라우드 스토리지 인터페이스를 지원할 수 있다.
도 12는 본 발명의 일실시예에 따른 스토리지 서비스 제공을 위한 멀티테넌트 기반 통합 스토리지 관리 방법을 나타낸 동작흐름도이다.
도 12를 참조하면, 본 발명의 일실시예에 따른 멀티테넌트 기반 통합 스토리지 관리 방법은 먼저 데이터 접근을 수행할 수 있다(S410).
즉, 단계(S410)는 통합 스토리지(20)와 연동하여 사용자에게 상기 통합 스토리지(20)의 스토리지 서비스를 제공하기 위하여 데이터에 접근을 수행할 수 있다.
이 때, 통합 스토리지(20)는 적어도 하나 이상의 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)를 포함할 수 있다.
본 발명의 일실시예에 따른 멀티테넌트 기반 통합 스토리지 관리 방법은 단일 스토리지 뷰를 제공할 수 있다(S420).
즉, 단계(S420)는 상기 통합 스토리지(20)의 가상 디스크 풀을 생성하여 적어도 하나 이상의 가상 디스크를 통해 단일 스토리지 뷰를 제공할 수 있다.
이 때, 단계(S420)는 수신된 데이터의 쓰기가 최소 오버 헤드로 항상 액세스 할 수 있도록 데이터의 분산 및 암호화 기능을 제공할 수 있다.
또한, 본 발명의 일실시예에 따른 멀티테넌트 기반 통합 스토리지 관리 방법은 인터페이스를 수행할 수 있다(S430).
즉, 단계(S430)는 소프트웨어 형태의 연결 데몬을 이용하여 상기 통합 스토리지(20)와 인터페이스를 수행할 수 있다.
이 때, 단계(S430)는 필요한 인터페이스 (객체 또는 블록 스토리지 인터페이스)와 다양한 유형의 스토리지와 인터페이스 하도록 구성된 백엔드 연결 데몬을 포함하고 여러 개의 스토리지를 쉽게 등록하기 위한 프록시 인터페이스를 제공할 수 있다.
이 때, 단계(S430)는 프록시 인터페이스가 상기 클라우드 스토리지(21)에 연결된 제1 데몬과 상기 논-클라우드 스토리지(22)에 연결된 제2 데몬의 저장 영역 인터페이스를 감지하여 클라우드 서비스를 등록할 수 있다.
백엔드 스토리지 프록시는 오브젝트 스토리지 데몬 인터페이스 혹은 블록 스토리지 인터페이스 드라이버가 저장된 백엔드 연결 데몬이 저장 영역 인터페이스를 자동으로 감지하여 서비스를 등록 할 수 있다.
백엔드 연결 데몬은 통합 스토리지(20)를 연결하기 위하여 블록 디바이스를 제외한 가상 머신 혹은 컨테이너를 통하여 구동될 수 있고, 이를 통해 오브젝트 스토리지를 연결할 수 있다.
이 때, 단계(S430)는 인터페이스가 수행된 스토리지는 스토리지 서비스의 등록 가능한 스토리지로 출력할 수 있다.
이 때, 단계(S430)는 스토리지 서비스의 등록을 위하여 사용자는 시스템의 접속을 위한 정보를 관리 할 수 있거나 접근을 위한 보안된 경로를 제공할 수 있다.
이 때, 단계(S430)는 하나의 스토리지를 연결 할 때 마다 하나씩 백엔드 연결 데몬을 생성 할 수 있고, 이를 프록시 서버와 연결시킬 수 있다. 프록시 서버(미도시)는 데이터 조작부(120)를 통해 상위 가상 디스크 풀(Vpool)과 연결되는 드라이버 인터페이스를 통하여 사용자의 데이터를 저장하고 관리할 수 있다.
이를 통해, 통합 스토리지 관리 장치(100)는 등록된 서비스 제공자가 접속시 하나의 가상 디스크(vdisk)를 생성할 수 있고, 생성된 가상 디스크는 가상 디스크 풀 내에서 관리될 수 있다. 이 때, 사용자는 각각의 가상 디스크 풀을 통해 스토리지 서비스가 등록된 스토리지로부터 복수개의 스토리지 서비스를 제공 받을 수 있다.
또한, 본 발명의 일실시예에 따른 멀티테넌트 기반 통합 스토리지 관리 방법은 스토리지 서비스를 제공할 수 있다(S440).
즉, 단계(S440)는 복수의 서비스 제공자로부터 스토리지 서비스를 등록 받아 멀티테넌트 기반으로 상기 스토리지 서비스의 제공을 관리할 수 있다.
이 때, 단계(S440)는 관리자가 관리 GUI를 통하여 통합 스토리지 관리 장치(100)에서 스토리지 서비스 제공을 위한 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)를 등록하고 새로운 서비스를 구성 할 수 있다.
이 때, 단계(S440)는 서비스 제공자가 서비스를 가입하여 등록하고 파일을 업로드 및 생성하면 클라우드 계정을 작성할 수 있고, 업로드 된 파일은 관리자의 재량에 따라 클라우드 스토리지(21) 또는 논-클라우드 스토리지(22)에 저장할 수 있다.
이 때, 단계(S440)는 관리 GUI를 통해 통합 스토리지(20)에 통합 된 클라우드 스토리지(21) 및 논-클라우드 스토리지(22)에 등록된 클라우드 서비스의 컨텐츠를 표시, 작성, 수정 및 삭제하는 기능도 제공할 수 있다.
스토리지의 구성은 논-클라우드 스토리지(22)와 별개로 클라우드 스토리지(21)의 서비스는 기본 구성과 함께 별도로 제공될 수 있다.
이 때, 단계(S440)는 논리 구성 요소의 기능을 각 개별 기능을 가진 모듈 혹은 함수 형태로 연결 네트워크가 있는 서버, 가상 시스템 또는 컨테이너로 독립적으로 구성할 수 있다.
이 때, 단계(S440)는 서비스 제공자로부터 입력 받은 서비스 등록 정보에 상응하는 상기 통합 스토리지(20)가 포함하는 어느 하나의 스토리지에 상기 스토리지 서비스를 등록할 수 있다.
이 때, 단계(S440)는 상기 스토리지 서비스가 등록된 스토리지에 가상 스토리지를 설정하여 상기 스토리지 서비스를 제공할 수 있다.
이 때, 단계(S440)는 상기 스토리지 서비스의 입출력 성능 저하를 방지하기 위하여 데이터가 이동하는 제1 경로(Data Path)와 데이터를 제어하는 제2 경로(Control Path)를 이용하여 상기 스토리지 서비스를 관리할 수 있다.
도 13은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
도 13을 참조하면, 본 발명의 일실시예에 따른 사용자 클라이언트 장치(10) 및 통합 스토리지 관리 장치(100)는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1100)에서 구현될 수 있다. 도 17에 도시된 바와 같이, 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 인터페이스 입력 장치(1140), 사용자 인터페이스 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.
도 14는 본 발명의 일실시예에 따른 통합 스토리지 시스템을 나타낸 도면이다.
도 14를 참조하면, 본 발명의 일실시예에 따른 통합 스토리지 시스템은 사용자 클라이언트 장치(10), 통합 스토리지 관리 장치(100) 및 통합 스토리지(20)를 포함할 수 있다.
먼저, 본 발명의 일실시예에 따른 데이터 스토리지 통합(Data Storage Federation, DSF) 기술은 스토리지 가상화를 이용하여 이기종 스토리지의 여러 데이터 소스에서 단일 가상 볼륨을 제공하는 기술에 상응할 수 있다.
데이터 가상화(Data Virtualization)는 리소스 위치 또는 데이터 구조에 관계없이 여러 데이터 리소스를 논리적 데이터 리소스로 추상화하고 관리하는 기술에 상응할 수 있다.
이 때, 여러 데이터 리소스에는 파일, 데이터베이스, 시스템, 스토리지 등을 포함될 수 있다.
이 때, 데이터 스토리지 통합은 데이터베이스를 제외한 여러 데이터 자원을 포함할 수 있다.
DSF 로컬 스토리지는 데이터 스토리지 통합의 백엔드에 존재할 수 있고, 데이터가 최종 저장되는 물리적 스토리지 장치에 상응할 수 있다.
물리적 스토리지 장치에는 온-프레미스 스토리지(예를 들어, 메모리, SSD, HDD, SAS, iSCSI 스토리지 및 NAS 등) 및 블록, 개체 및 파일과 같은 복잡한 관리 장치가 있는 퍼블릭 클라우드 스토리지가 포함될 수 있다.
단일 가상 볼륨(Single Virtual Volume)은 스토리지 가상화를 이용하여 생성 된 가상 블록 장치, 가상 디스크 또는 가상 파일을 고객에게 제공하는 개체에 상응할 수 있다.
고객(Customer)은 단일 사용자 볼륨을 사용하는 최종 사용자, 서버, 운영 체제, 애플리케이션 및 기타 클라우드 서비스 제공 업체의 저장 장치를 포함할 수 있다.
스토리지 가상화(Storage Virtualization)는 다양한 유형의 스토리지를 가상 스토리지 풀로 통합하고 물리적 운영의 제한없이 가상 스토리지 풀을 단일 가상 볼륨으로 나누는 기술에 상응할 수 있다.
이 때, 스토리지 가상화는 데이터 액세스에 방해가 되지 않을 수 있고, 저장 장치의 성능이 저하되지 않을 수 있다.
가상 스토리지 풀(Virtual Storage Pool, VPOOL)은 DSF 로컬 스토리지를 단일 가상 볼륨으로 집계한 논리적 객체에 상응할 수 있다.
아래에서 설명할 약어들은 다음과 같이 설명할 수 있다.
DSF: 데이터 스토리지 통합(Data Storage Federation)
API: 응용 프로그래밍 인터페이스(Application Programming Interface)
NAS: 네트워크 연결 스토리지(Network-Attached Storage)
CSC: 클라우드 서비스 고객(Cloud Service Customer)
CSP: 클라우드 서비스 제공 업체(Cloud Service Provider)
본 발명의 일실시예에 따른 데이터 스토리지 정책은 백업, 복제, 스냅 샷, 자동 확장, 데이터 마이그레이션, 판매 복구, 데이터 캐싱, 씬 프로비저닝, 자동 계층화, 스토리지 라이프 (블록, 개체 및 파일) 등을 포함할 수 있다.
이 때, 데이터 스토리지 정책은 상기 구성 요소 들 중에서 기본적으로 설정되며 고객(사용자)의 요청에 따라 재구성될 수 있다. 또한 DSF 로컬 스토리지 정책에 따라 달라질 수도 있다.
재구성 된 정책은 DSF 로컬 스토리지가 자체 정책을 지원하지 않는 경우에, 상기 구성 요소에 의해 재구성 된 정책일 수 있다.
데이터 조작 정책은 비공유 모드와 읽기 전용, 쓰기 및 복제 옵션, 조각화 옵션 등을 포함한 공유 모드를 선택할 수 있다.
또한, 본 발명의 일실시예에 따른 통합 스토리지 장치는 고객 환경을 구성하기 위해 고객이 생성 한 고객 메타 데이터, 데이터 조작에 필요한 데이터 조작 메타 데이터, DSF 로컬 스토리지에 사용되는 스토리지 관리 메타 데이터를 처리할 수 있다.
이 때, 본 발명의 일실시예에 따른 통합 스토리지 장치는 CSP:DSM이 CSC:CSU에 단일 가상 볼륨을 사용하기 위한 통합 사용자 인터페이스를 제공할 수 있다.
통합 사용자 인터페이스는 자체 데이터 스토리지와의 상호 작용 통합, 데이터 공유 및 단일 가상 볼륨 건조 등에 액세스하기 위한 CSC:CSU의 다양한 스토리지 유형 액세스 메커니즘을 포함할 수 있다.
스토리지 유형은 객체 기반 스토리지, 파일 기반 스토리지 및 블록 기반 스토리지 등을 포함할 수 있다.
액세스 메커니즘은 단일 가상 볼륨을 연결하기 위한 스토리지 유형에 따라 다른 유형의 프로토콜을 나타낼 수 있다. 프로토콜에는 블록 장치 스토리지 용 iSCI, SMB, NFS, SFTP, 파일 기반 스토리지 용 FTP, 객체 기반 스토리지 용 Restful API 등이 포함될 수 있다.
CSP:FDSP는 CSC:CSU가 정책을 설정하기 위한 인터페이스를 제공할 수 있다.
단일 가상 볼륨, 가상 스토리지 풀 및 DSF 로컬 스토리지를 관리하기 위해 CSP:DSM이 CSC:CSU에 통합 관리 인터페이스를 제공할 수 있다.
또한, 본 발명의 일실시예에 따른 통합 스토리지 장치는 데이터 스토리지 통합에 상응할 수 있다.
데이터 스토리지 통합은 단일 가상 볼륨을 사용하기 위해 CSC:CSU에 통합 사용자 인터페이스를 제공할 수 있다.
통합 사용자 인터페이스는 데이터 공유, CSC:CSU가 단일 가상 볼륨에 액세스하기 위한 다양한 스토리지 유형의 액세스 메커니즘 등 자체 데이터 스토리지와의 상호 작용을 통합할 수 있다.
데이터 스토리지 통합은 CSC:CSU가 정책을 설정하기위한 인터페이스를 제공할 수 있다.
데이터 스토리지 통합은 DSF 서비스 제공자(DSF Service Provider)가 DSF 서비스의 성능 향상을 위해 병렬 액세스를 지원할 수 있다.
이 때, DSF 서비스 제공자는 데이터 스토리지 제공자가 제공 한 스토리지 등록을 위한 인터페이스를 제공할 수 있다.
성능 향상은 데이터 캐싱 및 데이터 저장 등에 관련된 것일 수 있다.
데이터 스토리지 통합은 CSP:DSM가 단일 가상 볼륨(가상 스토리지 풀 및 DSF 로컬 스토리지)을 관리하기 위해 CSC:CSU에 통합 관리 인터페이스를 제공할 수 있다.
데이터 스토리지의 통합에 대한 기능으로는 스토리지 연결 인터페이스, 데이터 통합 관리 및 데이터 스토리지 관리를 포함할 수 있다.
스토리지 연결 인터페이스에 관한 기능은 본 발명의 일실시예에 따른 스토리지 연결부(110)에서 수행될 수 있다.
스토리지 연결 인터페이스는 DSF 서비스 제공자가 스토리지 유형에 따라 액세스 메커니즘을 지원할 수 있다.
스토리지 연결 인터페이스는 CSP:FDSP가 스토리지 유형 및 CSC : CSU에 단일 가상 볼륨이 필요한 경우 액세스 메커니즘을 포함한 서비스 정보를 수집하고 검색할 수 있다.
예를 들어, 서비스 정보는 CSP:FDSP의 서비스 카탈로그에 상응할 수 있다.
스토리지 연결 인터페이스는 CSP:FDSP가 DSF 로컬 스토리지에서 실제 데이터 액세스를 위해 글로벌 네임 스페이스에 대한 고속 액세스를 보장할 수 있다.
글로벌 네임 스페이스는 여러 스토리지 장치 및 클라우드 스토리지에서 이기종 파일 시스템을 추상화하고 통합하는 기술에 상응할 수 있다. 글로벌 네임 스페이스는 로컬화 된 파일 관리의 복잡성을 줄이고 스토리지 확장을 용이하게 하며 데이터를 투명하게 마이그레이션하여 마운트 포인트 및 공유 포인트 수를 줄일 수 있다. 글로벌 네임 스페이스는 여러 가지 방법으로 구현되지만 CSC:CSU의 구성은 동일한 액세스를 유지할 수 있다.
스토리지 연결 인터페이스는 CSC:CSU가 여러 파일 시스템을 DSF 로컬 스토리지에 통합하고 관리하기 위한 글로벌 네임 스페이스를 제공할 수 있다.
스토리지 연결 인터페이스는 CSP:DSM가 DSF 서비스의 성능 저하를 막기 위해 별도의 관리 및 데이터 인터페이스를 제공할 수 있다.
스토리지 연결 인터페이스는 CSP:DSM가 자체 구성(Self Configuration)을 위해 모든 논리적 구성 요소 및 해당 인터페이스를 독립적으로 구성하고 제어할 수 있다.
이 때, 자체 구성(Self Configuration)은 논리적 구성 요소의 자동 구성을 의미하며, DSF 서비스 공급자는 서버, 가상 시스템 또는 컨테이너에 구축된 각 구성 요소의 구성을 연결 네트워크로 관리할 수 있다.
스토리지 연결 인터페이스는 CSP:DSM가 통합 스토리지를 DSF 서비스에 참여시키기 위해 DSF 로컬 스토리지 연결을 관리할 수 있다.
통합 스토리지에 참여하기 위해, DSF 로컬 스토리지 관리는 여러 유형의 스토리지 인터페이스를 구성 할 수 있는 인터페이스(예: 객체 또는 블록 스토리지 인터페이스) 및 프록시 인터페이스를 제공할 수 있다. DSF 로컬 스토리지 프록시는 백엔드 연결 데몬으로 스토리지 인터페이스를 자동으로 감지하여 서비스를 등록할 수 있다.
스토리지 연결 인터페이스는 CSP:FDSP가 CSC:CSU 및 DSF 로컬 스토리지에 보안 스토리지 인터페이스를 사용할 수 있다.
스토리지 연결 인터페이스는 단일 가상 볼륨을 사용하기 위해 CSC : CSU에 대한 CSP:DSM 등록 정보를 사용할 수 있다.
등록 정보는 데이터 스토리지 서비스 이름, 데이터 스토리지 사양(크기, 캐싱, 티어 카운트 암호화, 온 프레미스 스토리지 지원 등) 및 서비스 프로토콜 및 클라우드 스토리지 유형을 포함할 수 있다.
스토리지 연결 인터페이스는 CSP:DSM가 등록 정보에서 단일 가상 볼륨을 호출하기 위해 데이터 스토리지 서비스를 구성하고 프로비저닝을 수행할 수 있다.
또한, 데이터 통합 관리에 대한 기능은 본 발명의 일실시예에 따른 데이터 조작부(120)에서 수행될 수 있다.
데이터 통합 관리는 DSF 서비스 제공자가 파일 자체와 파일 내용을 데이터로 지원할 수 있다.
파일의 내용 유형은 구조화(structured), 반 구조화(semi-structred) 및 비 구조화(unstructured)로 구성될 수 있다.
데이터 통합 관리는 CSP:FDSP가 해당 API에 의해 여러 DSF 로컬 스토리지 제공자의 DSF 로컬 스토리지에 분산 데이터를 집계하도록 지원할 수 있다.
데이터 통합 관리는 CSP:DSM가 스토리지 공간의 탄력성과 비용 효율성에 중점을 둔 CSC:CSU의 데이터를 관리할 수 있다.
예를 들어, 데이터 저장 공간의 복원력과 비용 효율성을위한 데이터 이동은 사용자 개입이나 인식없이 자동으로 수행될 수 있다.
데이터 통합 관리는 CSP:FDSP가 CSC : CSU의 데이터를 통합하기 위해 유효성을 검증할 수 있다.
또한, 데이터 스토리지 관리에 관한 기능은 데이터 분산 및 저장부(130)와 백엔드 스토리지 관리부(140)에서 수행될 수 있다.
데이터 스토리지 관리는 CSP:FDSP가 분산 데이터를 집계하기 위해 여러 데이터 스토리지 제공자에 대한 동시 액세스를 제공할 수 있다.
데이터 스토리지 관리는 CSP:FDSP가 CSC:CSU의 DSF 로컬 스토리지 액세스 권한 위임을 지원할 수 있다.
데이터 스토리지 관리는 DSF 로컬 스토리지와의 통합으로 단일 시스템의 뷰를 통해 볼 수 있는 가상 스토리지 풀을 제공할 수 있다.
데이터 스토리지 관리는 CSP:FDSP가 온-프레미스보다 느린 액세스 속도를 보상하기 위해 읽기 / 쓰기 캐시를 제공할 수 있다.
읽기 / 쓰기 캐시는 스토리지의 성능을 향상시킬 수 있으며 데이터를 저장하는 장치는 빠른 캐시 작업을 위한 다양한 장치가 사용될 수 있다.
예를 들어, 빠른 캐시를 위한 다양한 장치는 메인 메모리, RAM 기반 디스크 및 SSD 등을 포함할 수 있다.
예를 들어, 고속 액세스를 위해 캐시 계층 구조가 기본 메모리로 확장될 수 있다. 또한, 메인 메모리는 용량 제한으로 인해 SSD에 사용되는 접근 방식을 이용할 수 있다. RAM 기반 캐시 영역이 소진 된 경우, SSD 영역 캐시로 자동 변환될 수 있다. DSF 서비스 고객이 쓰기 작업을 수행 할 때 빠른 쓰기 응답을 위해 메모리 영역에서 쓰기 작업이 수행될 수 있다.
데이터 스토리지 관리는 CSP:FDSP가 고 가용성을 위해 글로벌 네임 스페이스의 백업을 제공할 수 있다.
글로벌 네임 스페이스의 백업은 실제 데이터와 동기화되며, 여러 노드(가상 머신 또는 물리적 서버)의 클러스터링을 통해 고 가용성 기능을 수행할 수 있다.
데이터 스토리지 관리는 CSP:FDSP는 블록 기반 스토리지, 파일 기반 스토리지 또는 기타 클라우드 스토리지와 같은 DSF 서비스 고객의 요구에 따라 단일 가상 볼륨을 추가하도록 지원할 수 있다.
또한, 프로비전 및 정책 관리에 관한 기능은 프로비저닝 및 정책 관리부(150)에서 수행될 수 있다.
프로비전 및 정책 관리는 CSC:CSU에 대한 데이터 스토리지 정책을 설정하기위한 구성을 제공할 수 있다.
프로비전 및 정책 관리는 DSF 서비스 제공자가 DSF 서비스 고객에 대한 데이터 정책을 조작하도록 지원할 수 있다.
예를 들어, 데이터 정책은 비공유 모드와 읽기 전용, 쓰기, 복제, 등을 포함한 공유 모드를 포함할 수 있다.
프로비전 및 정책 관리는 CSC:CSU의 데이터 기밀성을 보장하기 위해 데이터 전송을 위한 CSP : FDSP를 지원하는 보안 정책(예 : 데이터 암호화)에 관한 기능을 포함할 수 있다.
프로비전 및 정책 관리는 CSP:FDSP는 분산 스토리지를 기반으로 스토리지 구조에서 오류로 인한 데이터 손실을 방지하고 시스템 장애시 데이터 복구를 제공할 수 있다.
통합 스토리지 관리 장치(100)는 서비스 퀄리티를 높이는 것뿐만 아니라 새로운 서비스의 생성을 위해 구조화(structured), 반 구조화(semi-structred) 및 비 구조화(unstructured) 데이터와 같은 다양한 데이터 타입을 다룰 수 있다.
이 때, 통합 스토리지 관리 장치(100)는 통합 스토리지(20) 내의 다양한 데이터를 사용하기 위해 이종의 스토리지를 효율적으로 다루고 종합할 수 있으며, 쉽게 데이터를 이용할 수 있다.
이 때, 통합 스토리지 관리 장치(100)는 단일 가상 볼륨(SINGLE VIRTUAL VOLUME)의 가상 스토리지 풀(VIRTUAL STORAGE POOL)을 사용자 클라이언트 장치(10)에게 제공할 수 있다.
이 때, 통합 스토리지 관리 장치(100)는 통합 스토리지(20) 상의 데이터를 생성, 저장, 읽기, 업데이트 및 삭제 등의 다양한 요청을 실행할 수 있다.
데이터 가상화는 리소스 위치 또는 데이터 구조에 관계없이 여러 데이터 리소스를 중단 없이 관리하는 기술이다.
여러 데이터 리소스에는 파일, 데이터베이스, 시스템, 스토리지 등이 포함될 수 있다.
통합 스토리지(20)는 통합 스토리지 관리 장치(100)의 백엔드에 위치할 수 있고, 최종적으로 데이터가 저장되는 물리적 저장 장치들에 상응할 수 있다.
물리적 저장 장치는 온프레미스 스토리지(22)(예: 메모리, SSD, HDD, SAS, iSCSI 스토리지 및 NAS 등) 및 블록, 오브젝트 및 파일과 같은 퍼블릭 클라우드 스토리지(21)를 포함할 수 있다.
단일 가상 볼륨은 가상 블록 장치, 가상 디스크 또는 가상 파일을 사용하여 생성 된 가상 파일로 사용자 클라이언트 장치(10)에게 제공되는 오브젝트에 상응할 수 있다.
사용자 클라이언트 장치(10)은 단일 가상 볼륨을 사용하는 클라우드 서비스 공급자의 최종 사용자, 서버, 운영 체제, 응용 프로그램 및 기타 저장 장치를 포함할 수 있다.
통합 스토리지 관리 장치(100)는 스토리지 가상화 기술을 이용하여 다른 유형의 저장소를 가상 저장소 풀로 통합하고 물리적 저장소의 제한 없이 가상 저장소 풀을 단일 가상 볼륨으로 나눌 수 있다.
이러한 단일 가상 볼륨은 데이터 액세스에 장애물이 없고 저장 장치의 성능에 대한 손상이 적습니다.
가상 스토리지 풀은 단일 가상 볼륨에 통합 스토리지(20)의 스토리지들을 단일 가상 스토리지 뷰로써 제공하는 논리적 오브젝트에 상응할 수 있다.
도 14에 도시된 바와 같이, API와 I/O 인터페이스에 연결되고 조정된 통합 스토리지(20)(클라우드 스토리지(21)와 온-프레미스 스토리지(22))에 의해 가상 스토리지 풀이 형성될 수 있다. 통합 스토리지(20)는 블록, 파일 및 오브젝트 타입을 지원할 수 있다.
통합 스토리지 관리 장치(100)는 사용자 클라이언트 장치(10)에게 단일 가상 볼륨 스토리지를 생성하여 제공할 수 있다.
이 때, 통합 스토리지 관리 장치(100)는 통합 스토리지(20)의 federation 으로 단일 가상 볼륨 스토리지를 생성할 수 있고, 사용자 클라이언트 장치(10)에게 단일 액세스 포인트(single access point)를 제공할 수 있다.
이 때, 통합 스토리지 관리 장치(100)는 policy-based provision 및 management 를 이용하여 단일 가상 볼륨 스토리지를 지원할 수 있다. 해당 계약/운영 사항은 운영자 측에서 운영 management를 높이는데 도움이 될 수 있고, 사용자 측에서는 단일 가상 볼륨 스토리지를 단순화하여 사용하는데 도움이 될 수 있다.
사용자들은 사용자 클라이언트 장치(10)를 이용하여 자신의 단일 가상 볼륨 스토리지 상에서 사용자 데이터(예: images for gallery, audios for music player, documents for collaboration, application data for service, and etc.)를 생성, 저장 읽기, 업데이트 및 삭제하는데 단일 가상 볼륨 스토리지를 사용할 수 있다.
사용자 클라이언트 장치(10)는 통합 스토리지 관리 장치(100)의 단일 가상 볼륨 스토리지에 연결할 때, 단일화된 요청 명령들(unified request commands)은 통합 스토리지(20)가 다른 연결 커넥션을 가지는 것처럼 실행될 수 있다.
통합 스토리지 관리 장치(100)에 의해 지원되는 사용자 데이터는 계약/운영 상 분산되거나 분산되지 않을 수 있다.
통합 스토리지 관리 장치(100)는 사용자 데이터를 다루기 위해, 사용자 데이터를 스토리지 위치, 데이터 히스토리, 파일의 컨텐트 타입 등과 같은 데이터의 정보로 압축할 수 있다.
이 때, 통합 스토리지 관리 장치(100)는 데이터 압축(data abstraction)을 사용하여 가상 스토리지 풀 상의 데이터 가상화를 생성할 수 있다.
이 때, 통합 스토리지 관리 장치(100)는 가상 스토리지 풀에서 데이터 복사를 줄이고, 데이터 공유 환경을 원본데이터의 복사나 이동 없이 데이터를 공유하는 환경을 제공하여 데이터를 찾고 데이터 I/O를 다루는 작업을 줄일 수 있다. 데이터를 조절하는 인터랙션은 사용자의 데이터 운영/계약에 기반할 수 있다. 예를 들어, 공유모드에서 읽기만 하거나, 덮어쓰기(overwriting) 및 복사(replication)과 같은 데이터 운영/계약 폴리시(policy)에 기초할 수 있다.
이 때, 단일 가상 볼륨은 통합 스토리지의 서로 다른 스토리지들과 연결 세트에 의해 구축될 수 있다.
도 15는 본 발명의 일실시예에 따른 통합 스토리지 시스템에서 데이터 액세스를 위한 멀티 스토리지 유형 및 액세스 메커니즘을 나타낸 도면이다.
도 15를 참조하면, 사용자 클라이언트 장치(10)는 통합 스토리지 관리 장치(100)에게 다양한 서비스 인터페이스 및 저장소 유형을 요청할 수 있다.
이 때, 통합 스토리지 관리 장치(100)는 해당 액세스 메커니즘을 사용하여 서비스 인터페이스를 사용자 클라이언트 장치(10)에게 제공할 수 있다.
이 때, 사용자 클라이언트 장치(10)는 자체적으로 소유한 스토리지 유형을 사용할 수 있다.
이 때, 사용자 클라이언트 장치(10)는 일반 사용자 (개별적으로 스토리지를 소유), 일부 응용 프로그램(APPLICATION PROGRAM), 응용 프로그램 서버(APPLICATION SERVER) 및 다른 클라우드 시스템이 될 수 있습니다.
이 때, 통합 스토리지 관리 장치(100)는 다양한 스토리지 유형을 제공할 수 있다.
스토리지 유형은 오브젝트 기반 스토리지, 파일 기반 스토리지 및 블록 기반 스토리지 등에 상응할 수 있다.
이 때, 통합 스토리지 관리 장치(100)는 스토리지 유형에 기반한 액세스 메커니즘을 지원할 수 있다.
액세스 메커니즘은 스토리지 유형에 따른 프로토콜들의 다른 유형들을 포함할 수 있다.
프로토콜의 일 예는 블록 디바이스 스토리지를 위한 iSCSI, 파일 기반 스토리지를 위한 SMB, NFS, SFTP, FTP 및 오브젝트 기반 스토리지를 위한 Restful API를 사용한 프로토콜에 상응할 수 있다.
서비스 정보의 일 예는 통합 스토리지 장치(10)에 대한 서비스 카탈로그 등에 상응할 수 있다.
도 16은 본 발명의 일실시예에 다른 성능 향상을위한 데이터 읽기 / 쓰기 캐시 및 병렬 분산 파일을 나타낸 도면이다.
도 16을 참조하면, CSP:FDSP는 퍼블릭 클라우드 스토리지에 저장된 데이터에 대한 캐시 기능을 제공할 수 있다. 인터넷을 통해 데이터가 전송되기 때문에 퍼블릭 클라우드 스토리지에 저장된 데이터는 온-프레미스 스토리지보다 느릴 수 있다. 또한, CSC:CSU가 인식하지 못하는 상태에서 데이터가 퍼블릭 클라우드 스토리지에 자동으로 배포되므로 퍼블릭 클라우드 스토리지에 저장된 데이터에는 고속 액세스 기능이 수행될 수 있다. CSP:FDSP는 퍼블릭 클라우드 스토리지에 저장된 데이터를 클라우드 통합 스토리지 운영 플랫폼 내부의 스토리지 장치에 캐시하여 퍼블릭 클라우드 스토리지에 온 프레미스 스토리지 수준 액세스 속도를 제공할 수 있다.
CSC:CSU는 CSP:FDSP에 단일 가상 볼륨을 요청하며 자체 데이터 스토리지를 포함할 수 있다.
CSP:FDSP는 다른 스토리지를 통합하기위한 스토리지 시스템, 어플라이언스 또는 디바이스를 제공할 수 있다.
DSF 서비스 공급자는 온-프레미스보다 느린 액세스 속도를 보상하기 위해 읽기/쓰기 캐시를 제공할 수 있다.
읽기/쓰기 캐시는 스토리지의 성능을 향상시키기위한 소프트웨어에 상응할 수있고, 캐시 기능을 위한 데이터를 저장하는 장치는 빠른 캐시 동작을 위한 다양한 장치를 사용하여 구현될 수 있다.
예를 들어 빠른 캐시 동작을 위한 다양한 장치는 메인 메모리, RAM 기반 디스크 및 SSD에 상응할 수 있다.
고속 액세스를 위해 캐시 계층 구조가 메인 메모리로 확장될 수 있다. 또한, 메인 메모리는 용량 제한으로 인해 SSD에 사용되는 방식을 사용할 수 있다. RAM 기반 캐시 영역이 소진되면 자동으로 SSD 영역 캐시로 변환될 수 있다. DSF 서비스 고객이 쓰기 작업을 수행하면 빠른 쓰기 응답을 위해 메모리 영역에서 쓰기 작업이 수행될 수 있다.
DSF 서비스 제공자는 다양한 장치를 사용하여 실제 데이터 액세스를 위해 글로벌 네임 스페이스에 대한 고속 액세스를 제공할 수 있다.
글로벌 네임 스페이스는 여러 스토리지 장치 및 클라우드 스토리지에서 이종 파일 시스템을 추상화하고 통합할 수 있다.
글로벌 네임 스페이스는 로컬화 된 파일 관리의 복잡성을 크게 줄이고 스토리지 확장을 용이하게하며 데이터를 투명하게 마이그레이션하여 마운트 포인트 및 공유 포인트 수를 줄일 수 있다. 글로벌 네임 스페이스는 여러 가지 방법으로 구현 될 수 있지만 클라이언트는 동일한 액세스를 유지할 수 있다.
DSF 서비스 제공자는 고 가용성을 위해 글로벌 네임 스페이스의 백업을 제공할 수 있다. 글로벌 네임 스페이스의 백업은 실시간 백업을 통해 수행되며, 글로벌 네임 스페이스의 백업은 여러 노드 (가상 머신 또는 물리적 센서)의 클러스터링을 통해 고 가용성 기능을 수행할 수 있다.
DSF 서비스 제공자는 사용자의 데이터 기밀성을 보장하기 위해 데이터 전송을 위한 보안 정책 (예 : 데이터 암호화)을 지원할 수 있다.
DSF 서비스 제공자는 여러 데이터 스토리지 제공자의 이종 데이터 스토리지에 분산 데이터를 집계하도록 지원할 수 있다.
DSF 서비스 제공자는 분산 데이터를 집계하기 위해 여러 데이터 스토리지 제공자에 대한 동시 액세스를 제공할 수 있다.
DSF 서비스 제공자는 이종 스토리지에 대한 DSF 서비스 고객의 액세스 권한 위임을 지원할 수 있다.
도 17은 본 발명의 일실시예에 따른 통합 스토리지 관리 시스템의 유스 케이스를 나타낸 도면이다.
도 17을 참조하면, 다양한 스토리지 유형을 포함하는 통합 스토리지(20)에 연결된 하나의 스토리지 시스템인 통합 스토리지 관리 장치(100)에 대한 유스 케이스를 나타낸 것을 알 수 있다. 도 17에 도시된 바와 같이, 스토리지 시스템의 유형에 관계없이 사용자 클라이언트 장치(10)는 통합 사용자 뷰로써, 통합된 저장소로 간주될 수 있고, 사용자 클라이언트 장치(10)는 자신이 사용하는 스토리지를 신경 쓰지 않을 수도 있다. 따라서, 통합 스토리지 관리 장치(10)에 의한 통합 스토리지 관리 기능은 통합된 스토리지 시스템 또는 어플라이언스는 스토리지의 여러 스토리지 시스템을 단일 시스템으로 사용자 클라이언트 장치(10)에게 표시할 수 있다. 나아가, 통합 스토리지 관리 장치(100)는 통합 관리 인터페이스를 제공할 수 있다.
이 때, 사용자 클라이언트 장치(10)는 통합 스토리지 관리 장치(100)에게 데이터 스토리지를 요청할 수 있고, 요청한 데이터 스토리지를 소유할 수 있다.
이 때, 통합 스토리지 관리 장치(100)는 다른 스토리지들을 통합하기 위한 스토리지 시스템, 어플라이언스 또는 디바이스를 제공할 수 있다.
이 때, 통합 스토리지 관리 장치(100)는 사용자 클라이언트 장치(10)의 요구에 따라 블록 기반 스토리지, 파일 기반 스토리지 또는 다른 클라우드 스토리지와 같은 데이터 스토리지를 다양하게 지원할 수 있다.
이 때, 통합 스토리지 관리 장치(100)는 서비스 메커니즘의 다양한 유형에 대한 데이터 스토리지 액세스를 위해 사용자 클라이언트 장치(10)에게 통합된 사용자 인터페이스를 제공할 수 있다.
이 때, 통합 스토리지 관리 장치(100)는 분산된 저장에 기반한 스토리지 구조로부터 에러로 인한 데이터 손실을 예방할 수 있고, 시스템 오류로 인해 발생한 데이터 복원 기능을 제공할 수 있다.
이 때, 통합 스토리지 관리 장치(100)는 글로벌 네임 스페이스를 제공할 수 있다.
이 때, 통합 스토리지 관리 장치(100)는 데이터 스토리지를 관리하기 위해서 사용자 클라이언트 장치(10)에게 통일된 관리 인터페이스를 제공할 수 있다.
이 때, 통합 스토리지 관리 장치(100)는 정책 및 기타 옵션에 대한 사용자 인터페이스를 제공하여 데이터 스토리지를 통합시킬 수 있다.
이 때, 통합 스토리지 관리 장치(100)는 사용자 클라이언트 장치(10)의 데이터를 통합하여 검증할 수 있다.
예를 들어, CSC:CSU는 통합 스토리지에 상응할 수 있고, CSC:CSU는 다양한 스토리지가 포함될 수 있다. 따라서, 통합 스토리지 시스템 또는 어플라이언스는 스토리지의 여러 스토리지 시스템을 단일 시스템으로 볼 수 있다. 이와 관련한 관리에 관한 기능으로 통합 관리 인터페이스를 제공할 수 있다.
CSC:CSU는 DSF 서비스 제공자에게 데이터 스토리지를 요청할 수 있고, 자체 데이터 스토리지를 가지고 있을 수 있다.
CSP:FDSP는 스토리지 시스템, 어플라이언스 또는 장치가 다른 스토리지를 통합할 수 있다.
DSF 서비스 제공자는 온-프레미스 스토리지, 클라우드 스토리지 및 기타 스토리지와의 통합을 통해 단일 시스템보기에 표시되는 데이터 스토리지를 제공할 수 있다.
DSF 서비스 제공자는 본 발명의 일실시예에 따른 통합 스토리지 관리 장치(100)에 상응할 수 있다.
DSF 서비스 제공자는 스토리지 공간의 복원력과 비용 효율성에 중점을 둔 DSF 서비스 고객 데이터를 관리할 수 있다.
예를 들어, 데이터 저장 공간의 복원력과 비용 효율성을 위한 데이터 이동은 사용자 개입이나 인식없이 자동으로 수행될 수 있다. 사용자는 데이터가 온-프레미스 스토리지에 저장되어 있는지 클라우드 스토리지에 저장되어 있는지 모른 채 동일한 성능으로 데이터 스토리지 서비스를 사용할 수 있다.
DSF 서비스 제공자는 DSF 서비스 고객의 요구에 따라 블록 기반 스토리지, 파일 기반 스토리지 또는 기타 클라우드 스토리지와 같은 다양한 데이터 스토리지를 지원할 수 있다.
DSF 서비스 제공자는 DSF 서비스 고객이 다양한 유형의 서비스 메커니즘에 대한 데이터 스토리지에 액세스 할 수 있도록 통합 된 사용자 인터페이스를 제공할 수 있다.
DSF 서비스 제공자는 분산 스토리지를 기반으로 스토리지 구조의 오류로 인한 데이터 손실을 방지하고 시스템 장애시 데이터 복구를 제공할 수 있다.
DSF 서비스 공급자는 여러 파일 시스템을 통합하고 관리하기위한 전역 네임 스페이스를 제공할 수 있다.
DSF 서비스 제공자는 데이터 스토리지를 관리하기 위해 DSF 서비스 고객에게 통합 관리 인터페이스를 제공할 수 있다.
DSF 서비스 제공자는 데이터 스토리지 연합을 위한 정책 및 기타 옵션에 대한 사용자 인터페이스를 제공할 수 있다.
DSF 서비스 제공자는 DSF 서비스 고객의 데이터를 연합하기 위해 유효성을 검증할 수 있다.
도 18는 본 발명의 일실시예에 따른 통합 스토리지 서비스를 위한 데이터 스토리지의 등록 과정을 나타낸 동작흐름도이다.
도 18을 참조하면, CSC:CSU는 로그인 이후에(LOGIN), CSP:FDSP에 데이터 스토리지 클라우드 스토리지의 등록을 요청할 수 있다(REGISTERING FOR CLOUD STRAGE).
데이터 스토리지 등록의 경우, CSC:CSU는 이미 등록 된 인증 정보를 통해 로그인하고, 사용할 클라우드 스토리지 및 온-프레미스 스토리지를 등록할 수 있다(REGISTERING FOR ON-PREMISE STORAGE).
등록 프로세스는 GUI를 통해 CSP:DSM에 의해 제공될 수 있다.
CSC:CSU는 GUI를 통해 서비스 이름, 스토리지 사양, 데이터 스토리지 서비스 프로토콜 및 클라우드 스토리지 이름 및 클라우드 스토리지 유형을 등록하고 가상 데이터 스토리지를 설정하고(SETTING SIGLE VIRTUAL VOLUME), 가상 데이터 스토리지를 생성할 수 있다(INVCOKING SINGLE VIRTUAL VOLUME).
가상 데이터 스토리지 용 CSC:CSU는 CSP : DSM에 등록된 사용자에 상응할 수 있다.
CSP:DSM는 각 클라우드 스토리지 서비스 인터페이스를 가지고 있을 수 있다.
DSF 서비스 제공자는 DSF 서비스 고객이 가상 데이터 스토리지를 사용하기 위해 등록 정보를 제공할 수 있다.
등록 정보는 데이터 스토리지 서비스 이름, 데이터 스토리지 사양(크기, 캐싱, 티어 카운트, 암호화, 온 프레미스 스토리지 지원 등) 및 서비스 프로토콜 및 클라우드 스토리지 유형을 포함할 수 있다.
DSF 서비스 제공자는 등록 정보에서 데이터 스토리지 서비스를 구성하고 프로비저닝하여 가상 데이터 스토리지를 호출할 수 있다.
도 19는 본 발명의 일실시예에 따른 민감 데이터 처리 장치를 나타낸 블록도이다.
도 19를 참조하면, 본 발명의 일실시예에 따른 민감 데이터 처리 장치(2100)는 데이터 비보호 영역 처리부(2110) 및 데이터 보호 영역 처리부(2120)를 포함하고, 클라우드 통합 스토리 장치(2200)의 민감 데이터를 읽어와서 클라이언트 장치(2010)의 요청에 따라 민감 데이터를 처리할 수 있다.
클라우드 통합 스토리지 장치(2200)는 암호화된 민감 데이터를 저장하고 있을 수 있다.
데이터 비보호 영역 처리부(2110)는 클라우드 통합 스토리지 장치(2200)의 암호화된 민감 데이터를 읽어오고, 민감 데이터 저장 엔드포인트를 이용하여 암호화된 민감 데이터를 데이터 보호 영역 처리부(2120)로 전달할 수 있다.
데이터 보호 영역 처리부(2120)는 전달 받은 암호화된 민감 데이터에 대한 복호화를 수행하고, 데이터 비보호 영역 처리부(2110)으로부터의 데이터 서비스 명령 요청을 대기할 수 있다.
이 때, 데이터 비보호 영역 처리부(2110)는 네트워크로 연결된 클라이언트 장치(10)로부터 데이터 서비스 명령을 수신한 후, 민감 데이터 서비스 엔드포인트를 이용하여 데이터 보호 영역 처리부(2120)로 데이터 서비스 명령을 요청할 수 있다.
이 때, 데이터 보호 영역 처리부(2120)는 전달받은 데이터 서비스 명령에 따라 상기에서 복호화한 민감 데이터를 기반으로 데이터 처리를 수행한 후, 민감 데이터의 처리 결과를 데이터 비보호 영역 처리부(2110)로 전달할 수 있다.
이 때, 데이터 비보호 영역 처리부(2110)은 민감 데이터의 처리 결과를 클라이언트 장치(10)로 전달할 수 있다.
도 20은 도 19에 도시된 클라우드 통합 스토리지 장치와 데이터 비보호 영역 처리부의 일 예를 세부적으로 나타낸 블록도이다. 도 21은 도 19에 도시된 데이터 비보호 영역 처리부와 데이터 보호 영역 처리부의 일 예를 세부적으로 나타낸 블록도이다.
도 20을 참조하면, 본 발명의 일실시예에 따른 클라우드 통합 스토리지 장치(2200)는 암호화부(2210), 키 저장부(2220), 온프레미스 스토리지(2230) 및 클라우드 스토리지(2240)를 포함할 수 있다.
암호화부(2210)는 민감 데이터에 대한 암호화를 수행하고, 암호화에 사용된 키는 키저장부(2220)에 저장할 수 있다.
암호화에 사용된 키는 유출을 방지하기 위해서 마스터 키로 암호화된 후 키저장부에 저장될 수 있다.
이 때, 암호화부(2210)는 암호화된 민감 데이터를 온프레미스 스토리지(2230)와 클라우드 스토리지(2240)에 저장할 수 있다.
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 장치(2100)의 데이터 비보호 영역 처리부(2110)는 민감 데이터 전달부(2111), 키전달부(2112), 민감 데이터 서비스 호출부(2113) 및 클라이언트 서비스API부(2114)를 포함할 수 있다.
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 장치(2100)의 데이터 보호 영역 처리부(2120)는 민감 데이터 서비스 게이트웨이부(2121), 민감 데이터 저장부(2122), 키저장부(2123), 민감 데이터 복호화부(2124) 및 민감 데이터 처리부(2125)를 포함할 수 있다.
이 때, 민감 데이터 서비스 게이트웨이부(2121)는 민감 데이터 저장 엔드포인트(3211), 키저장 엔드포인트(3212) 및 민감 데이터 서비스 엔드포인트(3213)를 포함할 수 있다.
민감 데이터 서비스 게이트웨이부(2121)는 민감 데이터에 대한 데이터 처리 서비스를 제공할 수 있다.
이 때, 민감 데이터 서비스 게이트웨이부(2121)는 데이터 보호 영역의 민감 데이터의 처리 결과를 데이터 비보호 영역으로 제공할 수 있다.
민감 데이터 저장 엔드포인트(3211)는 데이터 비보호 영역에서 전달하는 암호화된 민감 데이터를 전달받을 수 있다.
키저장 엔드포인트(3212)는 암호화된 민감 데이터를 복호화하기 위한 복호화키를 데이터 비보호 영역으로부터 전달받을 수 있다.
이 때, 민감 데이터 서비스 게이트웨이부(2121)는 민감 데이터의 전달 시작을 호출 받는 엔드포인트 및 상기 데이터 비보호 영역으로부터 상기 민감 데이터의 전달 종료를 호출 받는 엔드포인트를 더 포함할 수 있다.
민감 데이터 전달부(2111)는 클라우드 통합 스토리지 장치(2200)에 저장된 암호화된 민감 데이터를 읽어오고, 데이터 보호 영역 처리부(2120)의 민감 데이터 저장 엔드포인트(3211)를 이용하여 암호화된 민감 데이터를 전달할 수 있다.
민감 데이터 저장부(2122)는 민감 데이터 저장 엔드포인트(3211)가 전달받은 암호화 데이터를 데이터 보호 영역 내부의 메모리에 저장할 수 있다.
키전달부(2113)는 클라우드 통합 스토리지 장치의 키저장부(2220)로부터 복호화키를 수신하고, 데이터 보호 영역 처리부(2120)의 키저장 엔드포인트(3212)를 통하여 복호화키를 키 저장부(2123)의 태그-키 저장부(2123a)에 저장할 수 있다. 태그-키 저장부(2123a)는 암호화된 민감 데이터에 대한 태그와 이에 해당하는 복호화키를 저장할 수 있다.
민감 데이터 복호화부(2124)는 태그-키 저장부(2123a)에서 복호화키를 추출하고, 복호화키를 이용하여 암호화된 민감 데이터를 복호화할 수 있다.
이 때, 클라이언트 장치(2010)는 데이터 서비스를 받기 위해 네트워크를 통하여 민감 데이터 처리 장치(2100)의 클라이언트 서비스 API부(2111)를 호출하여 민감 데이터 서비스를 요청할 수 있다.
민감 데이터 서비스 호출부(2112)는 민감 데이터 서비스 엔드포인트(3213)를 이용하여 데이터 보호 영역으로 데이터 서비스 명령을 요청할 수 있다.
민감 데이터 서비스 게이트웨이부(2121)는 민감 데이터 서비스 호출부(2112)가 호출한 민감 데이터 처리부(2125)를 호출하여 데이터 처리 서비스를 수행할 수 있다.
민감 데이터 처리부(2125)는 데이터 서비스 요청에 따라 복호화된 민감 데이터를 처리하고 생성된 민감 데이터의 처리 결과를 처리결과 데이터로 저장할 수 있다. 복호화된 민감 데이터는 데이터 보호 영역 내부에서 안전하게 보호됨으로 외부로의 유출이 원천 차단될 수 있다. 처리결과 데이터는 민감 데이터 서비스 게이트웨이부(2121)를 통하여 데이터 비보호 영역으로 전달되고, 이후 클라이언트 장치(2010)로 민감 데이터의 처리 결과를 전달될 수 있다.
데이터 비보호 영역 처리부(2110)의 데이터 비보호 영역은 데이터의 유출 가능성이 존재하는 영역으로 데이터 비보호 영역 내부에서의 민감 데이터는 유출 방지를 위해서 암호화된 상태로 존재할 수 있다.
이 때, 데이터 비보호 영역은 민감 데이터를 직접 처리하지 않으며, 민감 데이터와 이를 복호화하기 위한 키를 데이터 보호 영역으로 전달할 수 있다.
또한, 데이터 비보호 영역 처리부(2110)는 클라이언트 장치(2010)의 민감 데이터 서비스 명령을 수신하고, 데이터 보호 영역으로 민감 데이터 서비스 명령을 요청할 수 있다.
데이터 보호 영역 처리부(2120)의 데이터 보호 영역은 데이터의 유출이 원천적으로 차단될 수 있다. 데이터 보호 영역은 일반적인 운영체제가 제공하는 스토리지 입출력, 네트워크 입출력, 사용자 입출력을 포함한 모든 입출력 기능을 제공하지 않을 수 있다.
또한, 데이터 보호 영역은 CPU의 하드웨어 기능 혹은 가상화 기능에 기반하여 데이터 보호 영역의 외부로부터 데이터 보호 영역 내부의 메모리에 대한 접근을 차단할 수 있다.
이 때, 데이터 보호 영역은 민감 데이터 서비스 엔드포인트를 통해서만 접근 가능하고, 민감 데이터 서비스 엔드포인트는 사전에 정의된 서비스만을 제공하기 때문에, 이외의 모든 접근은 차단될 수 있다.
따라서, 데이터 보호 영역 내부의 데이터는 외부로부터 절대로 접근이 불가능하여 데이터 유출이 원천적으로 차단될 수 있다.
이 때, 데이터 보호 영역은 민감 데이터를 처리하기 위한 적어도 하나의 엔드포인트들을 포함하고, 상기 데이터 비보호 영역으로부터 호출받은 엔드포인트를 이용하여 상기 민감 데이터를 처리할 수 있다.
이 때, 상기 데이터 보호 영역은 상기 데이터 비보호 영역으로부터, 상기 민감 데이터의 전달 시작을 호출 받는 엔드포인트, 상기 복호화 키를 전달 받는 엔드포인트, 상기 데이터 보호 영역으로 상기 민감 데이터를 전달 받는 엔드포인트 및 상기 민감 데이터의 전달 종료를 호출 받는 엔드포인트를 포함할 수 있다.
이 때, 상기 데이터 보호 영역에 포함된 엔드포인트는 상기 민감 데이터의 서비스 인수에 기설정된 태그를 확인하고, 상기 태그에 해당하는 정보를 이용하여 상기 민감 데이터를 처리할 수 있다.
도 22는 도 21에 도시된 민감 데이터 서비스 게이트웨이부의 일 예를 세부적으로 나타낸 블록도이다.
도 22를 참조하면, 민감 데이터 서비스 게이트웨이부(2121)는 민감 데이터 처리 실행부(3214), 서비스 인수(service parameter) 복사부(2126), 처리결과 복사부(2127) 및 데이터 비보호 메모리 영역 처리부(128) 및 데이터 보호 메모리 영역 처리부(2129)를 더 포함할 수 있다.
데이터 비보호 영역 처리부(2110)의 민감 데이터 서비스 호출부(2112), 키전달부(2113) 및 민감 데이터 전달부(2114)은 서비스 요청에 필요한 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역 처리부(2128)에 서비스 인수로 저장할 수 있다.
서비스 인수 복사기(2126)는 해당 민감 데이터를 데이터 보호 메모리 영역 처리부(2129)에 서비스 인수로 복사할 수 있다.
데이터 보호 영역 처리부(2120)는 내부에서 처리가 끝난 결과를 데이터 보호 메모리 영역 처리부(2129)에 처리결과 데이터로 저장할 수 있고, 처리결과 복사부(2127)를 통하여 데이터 비보호 메모리 영역 처리부(2128)의 처리결과 데이터로 복사할 수 있다.
이 때, 데이터 보호 영역 처리부(2120)는 상기 민감 데이터 서비스 게이트웨이부(2121)를 통해 상기 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역 처리부(2128)에 저장하고, 상기 데이터 비보호 메모리 영역 처리부(2128)에 저장된 민감 데이터의 서비스 인수를 데이터 보호 메모리 영역 처리부(2129)에 복사하여 저장하고, 상기 데이터 보호 메모리 영역 처리부(2129)에 저장된 민감 데이터의 서비스 인수를 이용하여 상기 민감 데이터를 처리할 수 있다.
이 때, 데이터 보호 영역 처리부(2120)는 상기 민감 데이터 서비스 게이트웨이부(2121)를 통해 상기 민감 데이터의 처리 결과를 상기 데이터 보호 메모리 영역 처리부(2129)에 저장하고, 상기 데이터 보호 메모리 영역 처리부(2129)에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 메모리 영역 처리부(2128)에 복사하여 저장하고, 상기 데이터 비보호 메모리 영역 처리부(2128)에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 영역 처리부(2110)에 전달할 수 있다.
민감 데이터 처리 실행부(3214)는 데이터 비보호 영역 처리부(2110)에서 호출한 복수개의 엔트포인트들과 대응되는 데이터 보호 영역 처리부(2120) 내부의 복수개의 유닛들(민감 데이터 처리부 1 - N(2125), 민감 데이터 복호화부(2124), 키저장부(2123), 민감 데이터 저장부(2122))를 호출할 수 있다.
도 13을 참조하면, 본 발명의 일실시예에 따른 민감 데이터 처리 장치(2100) 는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1100)에서 구현될 수 있다. 도 13에 도시된 바와 같이, 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 인터페이스 입력 장치(1140), 사용자 인터페이스 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.
이 때, 본 발명의 일실시예에 따른 민감 데이터 처리 장치(100)는 하나 이상의 프로세서(1110) 및 상기 하나 이상의 프로세서(1110)에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리(1130)를 포함하고, 상기 적어도 하나 이상의 프로그램은 데이터 비보호 영역에서, 스토리지 장치(2200)에 저장된 민감 데이터를 읽어오고, 데이터 보호 영역의 민감 데이터 저장 엔드포인트를 이용하여 데이터 보호 영역으로 상기 민감 데이터를 전달하고, 상기 데이터 보호 영역에서, 상기 데이터 비보호 영역으로부터 클라이언트 장치(2010)가 요청한 민감 데이터 서비스 명령을 수신하면 적어도 하나 이상의 엔드포인트들을 이용하여 상기 민감 데이터를 처리하고, 상기 데이터 비보호 영역에서, 상기 클라이언트 장치(2010)로 상기 민감 데이터의 처리 결과를 전달할 수 있다.
이 때, 상기 데이터 보호 영역은 운영체제가 제공하는 입출력 기능이 차단되고, 하드웨어 기능 및 가상화 기능에 기반하여 상기 데이터 보호 영역의 외부로부터의 메모리 접근이 차단된 것일 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 비보호 영역에서, 암호화된 상기 민감 데이터를 복호화하기 위한 복호화 키를 상기 스토리지 장치(200)로부터 전달 받고, 상기 데이터 보호 영역의 키 저장 엔드포인트를 이용하여 상기 복호화 키를 상기 데이터 보호 영역으로 전달할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에서, 상기 복호화 키를 이용하여 상기 민감 데이터를 복호화하고, 상기 민감 데이터 서비스 엔드포인트를 이용하여 상기 데이터 비보호 영역으로부터 전달 받은 상기 클라이언트 장치로부터 민감 데이터 서비스 명령에 의해 상기 복호화된 민감 데이터를 처리할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에서, 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 저장하고, 상기 민감데이터의 처리 결과를 상기 데이터 비보호 영역에 전달할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역에 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 데이터 보호 메모리 영역에 복사하여 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 이용하여 상기 민감 데이터를 처리할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 상기 데이터 보호 메모리 영역에 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 메모리 영역에 복사하여 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 영역에 전달할 수 있다.
이 때, 상기 데이터 보호 영역은 상기 민감 데이터를 처리하기 위한 적어도 하나의 엔드포인트들을 포함하고, 상기 데이터 비보호 영역으로부터 호출받은 엔드포인트를 이용하여 상기 민감 데이터를 처리할 수 있다.
이 때, 상기 데이터 보호 영역은 상기 데이터 비보호 영역으로부터, 상기 민감 데이터의 전달 시작을 호출 받는 엔드포인트, 상기 복호화 키를 전달 받는 엔드포인트, 상기 데이터 보호 영역으로 상기 민감 데이터를 전달 받는 엔드포인트 및 상기 민감 데이터의 전달 종료를 호출 받는 엔드포인트를 포함할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 데이터 보호 영역에 포함된 엔드포인트가, 상기 민감 데이터의 서비스 인수에 기설정된 태그를 확인하고, 상기 태그에 해당하는 정보를 이용하여 상기 민감 데이터를 처리할 수 있다.
도 23은 본 발명의 일실시예에 따른 민감 데이터 처리 방법을 나타낸 동작흐름도이다.
도 23을 참조하면, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 먼저 클라이언트 장치(2010)가 민감 데이터 처리 장치(2100)의 클라이언트 서비스 API를 이용하여 민감 데이터 서비스를 요청할 수 있다(S2310).
또한, 단계(S2310)는 데이터 비보호 영역에서, 스토리지 장치에 저장된 민감 데이터를 읽어오고, 민감 데이터 저장 엔드포인트를 이용하여 데이터 보호 영역으로 상기 민감 데이터를 전달할 수 있다.
이 때, 단계(S2310)는 상기 데이터 비보호 영역에서, 암호화된 상기 민감 데이터를 복호화하기 위한 복호화 키를 상기 스토리지 장치로부터 전달 받고, 상기 데이터 보호 영역의 키 저장 엔드포인트를 이용하여 상기 복호화 키를 상기 데이터 보호 영역으로 전달할 수 있다.
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 민감 데이터 처리 장치(2100)의 데이터 비보호 영역 처리부(2110)가 민감 데이터 서비스 엔드포인트를 이용하여 데이터 보호 영역 처리부(2120)에게 민감 데이터 서비스 명령을 호출할 수 있다(S2320).
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 민감 데이터 처리 장치(2100)의 데이터 보호 영역 처리부(2120)가 민감 데이터 처리 및 도출된 결과를 처리 결과 데이터에 저장하고, 데이터 비보호 영역 처리부(2110)에 민감 데이터의 처리 결과를 전달할 수 있다(S2330).
즉, 단계(S2330)는 데이터 비보호 영역 처리부(2110)으로부터 클라이언트 장치(2010)가 요청한 민감 데이터 서비스 명령을 수신하면 적어도 하나 이상의 엔드포인트들을 이용하여 상기 민감 데이터를 처리할 수 있다.
이 때, 단계(S2330)는 상기 데이터 보호 영역에서, 상기 복호화 키를 이용하여 상기 민감 데이터를 복호화하고, 상기 민감 데이터 서비스 엔드포인트를 이용하여 상기 데이터 비보호 영역으로부터 전달 받은 상기 클라이언트 장치(2010)로부터 민감 데이터 서비스 명령에 의해 상기 복호화된 민감 데이터를 처리할 수 있다.
이 때, 단계(S2330)는 상기 데이터 보호 영역에서, 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 저장하고, 상기 민감데이터의 처리 결과를 데이터 비보호 영역 처리부(2110)에 전달할 수 있다.
이 때, 단계(S2330)는 상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역에 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 데이터 보호 메모리 영역에 복사하여 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 이용하여 상기 민감 데이터를 처리할 수 있다.
이 때, 단계(S2330)는 상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 상기 데이터 보호 메모리 영역에 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 메모리 영역에 복사하여 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 영역에 전달할 수 있다.
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 데이터 비보호 영역 처리부(2110)가 클라이언트 장치(2010)에게 민감 데이터의 처리 결과를 전달할 수 있다(S2340).
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 클라이언트 장치(2010)가 민감 데이터 서비스 요청에 대한 민감 데이터의 처리 결과를 민감 데이터 처리 장치(2100)로부터 수신할 수 있다(S2350).
도 24는 본 발명의 일실시예에 따른 데이터 비보호 영역 처리부와 데이터 보호 영역 처리부에서의 민감 데이터 처리 방법을 나타낸 동작흐름도이다.
도 24를 참조하면, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 먼저 데이터 비보호 영역 처리부(2110)에서 클라우드 스토리지 장치(2200)로부터 암호화된 민감 데이터를 읽어올 수 있다(S2410).
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 암호화된 민감 데이터를 N개의 세그먼트로 구분할 수 있다(S2420).
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 put_data_start 엔드포인트를 호출하여 암호화된 데이터의 전송 시작을 데이터 보호 영역 처리부(2120)에 알려줄 수 있다(S2430).
이 때, 서비스 인수 1인 태그는 암호화된 민감 데이터를 구분하는 태그이며, 서비스 인수 2는 암호화 데이터의 총 크기를 나타낼 수 있다.
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 데이터 보호 영역 처리부(2120)가 엔트포인트에 지정된 크기만큼의 메모리를 데이터 보호 영역 내부에 할당하여 암호화된 민감 데이터를 저장할 준비를 할 수 있다(S4300)
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 데이터 비보호 영역 처리부(2110)가 put_key 엔드포인트를 이용하여 암호화된 민감 데이터를 복호화 하기 위한 복호화키를 데이터 보호 영역 처리부(2120)에 알려줄 수 있다(S2440).
이 때, 서비스 인수 1인 태그는 암호화된 민감 데이터를 구분하는 태그이며, 서비스 인수 2는 암호화된 민감 데이터를 복호화 하기 위한 키이다.
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 데이터 보호 영역 처리부(2120)가 키저장부(2123)의 태그-키 저장부(2123a)에 복호화키와 태그를 함께 저장할 수 있다(S4400).
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 데이터 비보호 영역 처리부(2110)가 put_data 엔드포인트를 이용하여 암호화된 민감 데이터를 세그먼트로 나누고 각 세그먼트를 데이터 보호 영역 처리부(2120)로 전달할 수 있다(S450).
이 때, 서비스 인수 1인 태그는 암호화된 민감 데이터를 구분하는 태그이며, 서비스 인수 2인 데이터는 전달할 암호화 데이터 세그먼트이고, 서비스 인수 3인 크기는 전달할 데이터의 크기이며, 서비스 인수 4인 세그먼트 번호는 현재 전달할 세그먼트의 번호이다.
이 때, put_data 엔드포인트는 세그먼트 단위로 데이터를 전달함으로 전체 암호화 데이터를 전달 완료할 때까지 반복 수행될 수 있다(S2460).
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 비보호 영역 처리부(110)가 put_data_end 엔드포인트를 이용하여 태그에 해당하는 데이터의 전송이 완료되었음을 데이터 보호 영역 처리부(2120)에 알려줄 수 있다(S2470).
이 때, 서비스 인수 1인 태그는 암호화 데이터를 구분하는 태그이다.
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 데이터 보호 영역 처리부(2120)가 put_data_end 엔드포인트의 호출에 따라 전달받은 암호화된 민감 데이터를 태그-키 저장부(2123a)에 저장된 키를 이용하여 복호화할 수 있다(S4700).
또한, 본 발명의 일실시예에 따른 민감 데이터 처리 방법은 단계(S4700) 이후, 클라이언트 장치(2010)로부터의 민감 데이터 서비스 요청을 대기할 수 있다(S4800)
도 25는 본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법을 나타낸 동작흐름도이다.
도 25를 참조하면, 본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법은 먼저 서비스 인수 데이터를 전달 받을 수 있다(S2510).
이 때, 단계(S2510)는 서비스 요청에 필요한 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역 처리부(2128)에 서비스 인수로 저장할 수 있다.
본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법은 민감 데이터 서비스 게이트웨이부(2121) 내부의 엔드포인트들을 호출할 수 있다(S2520).
또한, 본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법은 서비스 인수 복사기(2126)가 해당 민감 데이터를 데이터 보호 메모리 영역 처리부(2129)에 서비스 인수로 복사할 수 있다(S2530).
또한, 본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법은 데이터 보호 영역 처리부 내부의 처리 유닛들을 호출할 수 있다(S2540).
즉, 단계(S2540)는 호출한 복수개의 엔트포인트들과 대응되는 데이터 보호 영역 처리부(2120) 내부의 복수개의 유닛들(민감 데이터 처리부 1 - N(2125), 민감 데이터 복호화부(2124), 키저장부(2123), 민감 데이터 저장부(2122))를 호출할 수 있다.
또한, 본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법은 데이터 처리를 완료하고 처리 결과를 처리 결과 데이터에 저장할 수 있다(S2550),
즉, 단계(S2550)는 처리가 끝난 민감 데이터의 처리 결과를 데이터 보호 메모리 영역 처리부(2129)에 처리결과 데이터로 저장할 수 있다.
또한, 본 발명의 일실시예에 따른 민감 데이터 서비스 게이트웨이부에서의 민감 데이터 처리 방법은 처리결과 데이터를 복사할 수 있다(S2560).
즉, 단계(S2560)는 처리결과 복사부(2127)를 통하여 데이터 비보호 메모리 영역 처리부(2128)의 처리결과 데이터로 복사할 수 있다.
이 때, 단계(S2510) 내지 단계(S2550)에서는 상기 민감 데이터 서비스 게이트웨이부(2121)를 통해 상기 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역 처리부(2128)에 저장하고, 상기 데이터 비보호 메모리 영역 처리부(2128)에 저장된 민감 데이터의 서비스 인수를 데이터 보호 메모리 영역 처리부(2129)에 복사하여 저장하고, 상기 데이터 보호 메모리 영역 처리부(2129)에 저장된 민감 데이터의 서비스 인수를 이용하여 상기 민감 데이터를 처리할 수 있다.
이 때, 단계(S2550) 내지 단계(S2570)에서는 상기 민감 데이터 서비스 게이트웨이부(2121)를 통해 상기 민감 데이터의 처리 결과를 상기 데이터 보호 메모리 영역 처리부(2129)에 저장하고, 상기 데이터 보호 메모리 영역 처리부(2129)에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 메모리 영역 처리부(2128)에 복사하여 저장하고, 상기 데이터 비보호 메모리 영역 처리부(2128)에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 영역 처리부(2110)에 전달할 수 있다.
도 26 및 도 27은 본 발명의 일실시예에 따른 통합 스토리지 관리 기능을 세부적으로 나타낸 블록도이다.
도 26 및 도 27을 참조하면, 글로벌 등록 저장소(GLOBAL REGISTRY)는 데이터 동작 쓰기 버퍼 또는 읽기 캐시(DATA OPERATION WRITE BUFFER OR READ CACHE)와 데이터 동작 메타데이터(DATA OPERATION METADATA)를 송수신할 수 있다.
단일 가상 볼륨의 프로비전 및 가상 스토리지 풀(PROVISION OF SINGLE VIRTUAL AND VIRTUAL STORAGE POOL)은 가상 스토리지 풀 관리부(VIRTUAL STORAGE POOL MANAGEMENT)와 스토리지 동작 및 메타데이터(STORAGE OPERATION & METADATA)를 송수신할 수 있다.
데이터 스토리지의 정책 관리 및 데이터 조작부(POLICY MANAGEMENT OF DATA STORAGE AND DATA MANIPULATION)는 데이터 동작 쓰기 버퍼 또는 읽기 캐시(DATA OPERATION WRITE BUFFER OR READ CACHE)와 데이터 조작을 위한 정책(POLICY FOR DATA MANIPULATION)을 송수신할 수 있다.
데이터 스토리지의 정책 관리 및 데이터 조작부(POLICY MANAGEMENT OF DATA STORAGE AND DATA MANIPULATION)는 데이터 조작 강화부(ENHANCEMENT OF DATA MANIPULATION)와 강화 정책(POLICY FOR ENHANCEMENT)을 송수신할 수 있다
데이터 스토리지의 정책 관리 및 데이터 조작부(POLICY MANAGEMENT OF DATA STORAGE AND DATA MANIPULATION)는 스토리지 스트럭처링부(STORAGE STRUCTURING)와 계층 스토리지 정책(POLICY FOR STORAGE OF TIER)을 송수신할 수 있다.
또한, 본 발명의 일실시예에 따른 DSF 기능 요구사항은 다음과 같이 설명할 수 있다.
CSP:DMP는 시스템 장애로부터 CSC:CSU의 데이터 복구를 제공할 수 있다.
CSP:DMP는 사용 가능한 DSF 로컬 스토리지로 DSF 데이터 마이그레이션을 제공하여 스토리지 공간의 탄력성과 비용 효율성을 제공할 수 있다.
CSP:DMP는 데이터 무결성을 확인하기 위해 데이터 조작에 대한 DSF 데이터의 유효성 검증을 제공할 수 있다.
CSP:DMP는 복제 된 DSF 데이터에 대한 CSC:CSU의 데이터 일관성을 제공할 수 있다.
CSP:DMP는 CSC:CSU의 데이터 투명성을 지원할 수 있다.
CSP:SFP는 CSC:CSU의 목적에 따라 단일 가상 볼륨 최적화를 제공할 수 있다.
CSP:SFP는 고 가용성을 위해 글로벌 레지스트리 백업을 제공할 수 있다.
또한, 본 발명의 일실시예에 따른 데이터 조작부(120)는 데이터 조작을 위한 강화된 관리 기능을 제공할 수 있다.
강화된 관리 기능(ENHANCED MANAGEMENT)은 DSF 로컬 스토리지로 배포하기 위해 조각화를 복제할 수 있다.
동일한 데이터를 사용하는 이러한 복제는 DSF 로컬 스토리지에 배포되며 고 가용성을 위해 다른 장소의 다른 서버와 공유될 수 있다.
강화된 관리 기능은 복제와 원본 데이터간에 최신 데이터를 유지할 수 있다.
강화된 관리 기능은 DSF 로컬 스토리지 정보에 따라 복제 분배를 결정할 수 있다.
예를 들어, DSF 로컬 스토리지의 정보에서 느린 스토리지는 복제 분배를 위해 DSF 로컬 스토리지에서 쉽게 제외될 수 있다.
강화된 관리 기능은 스냅 샷을 작성하여 DSF 로컬 스토리지를 백업할 수 있다.
예를 들어, 스냅 샷은 데이터 사본을 신속하게 제공하기 위해 특정 시점의 데이터 정보를 나타낼 수 있다. 기록 중 복사 스냅 샷, 클론, 분할 미러 스냅 샷, 기록 중 재 지정 스냅 샷 등과 같은 여러 유형의 스냅 샷 기술이 사용될 ㅅ n있다.
강화된 관리 기능은 최신 스냅 샷으로 DSF 로컬 스토리지를 복구할 수 있다.
예를 들어, 강화된 관리 기능은 스냅 샷을 사용하면 백업 및 복구를 위해 데이터에 빠르고 쉽게 액세스 할 수 있다.
강화된 관리 기능은 DSF 로컬 스토리지가 가득 찼거나 고장난 경우 DSF 로컬 스토리지를 마이그레이션할 수 있다.
예를 들어, 마이그레이션은 기존 스토리지의 성능이 낮거나 용량이 부족하여 CSC의 요청에 따라 DSF 로컬 스토리지에서 제외할 수 있는 경우 기존 스토리지의 데이터를 새 스토리지로 이동하고 기존 스토리지 대신 새 스토리지에 액세스 할 수있다.
강화된 관리 기능은 고 가용성을 위해 DSF 글로벌 레지스트리를 백업할 수 있다.
예를 들어, 글로벌 레지스트리 백업은 보조 DSF 글로벌 레지스트리가 단일 가상 볼륨 및 가상 스토리지 풀을 제공하여 장애 조치를 수행할 수 있다.
강화된 관리 기능은 데이터 손실 방지를 위해 오류 정정 기능을 제공할 수 있다.
예를 들어, 오류 정정 기능은 CRC (Cyclic Redundancy Code), 체크섬, 암호화 해시 기능 또는 순방향 오류 정정 등과 같은 데이터 전송 중 데이터 손실을 방지하는 기술에 상응할 수 있다.
강화된 관리 기능은 데이터 투명성을 위해 글로벌 레지스트리에서 최신 데이터 위치를 유지할 수 있다.
데이터 투명성이란 데이터의 위치와 보고된 데이터가 정확하고 공식 출처에서 온 것임에 관계없이 데이터에 액세스하고 작업 할 수 있는 능력에 상응할 수 있다.
강화된 관리 기능은 데이터 보호를 위해 민감한 데이터를 처리하는 동안 데이터 유출을 방지할 수 있다.
민감한 데이터는 재무 정보, 건강 정보, 개인 식별 데이터 등에 상응할 수 있다.
이 때, 민감한 데이터는 상기에서 설명한 민감 데이터 처리 장치(2100)에 의해 처리될 수 있다.
민감 데이터 처리 장치(2100)는 데이터 보호 영역을 추가하고, 데이터 보호 영역에서 데이터를 처리하여 모든 I/O 인터페이스를 차단하여 외부 침입을 방지할 수 있다.
데이터 보호 영역은 보안 게이트웨이 또는 API를 사용하여 민감한 데이터를 보호 된 영역에 복사하고 암호화 된 민감한 데이터를 해독하며 *?*CSC의 서비스 작업을 처리하고 결과를 반환하는 HW 또는 SW 구조에 상응할 수 있다.
강화된 관리 기능은 강화 정책을 적용할 수 있다.
강화 정책에는 복제, 백업, 스냅 샷, 마이그레이션, 오류 수정, 데이터 보호 등이 포함될 수 있다.
또한, 본 발명의 일실시예에 따른 DSF 배포를 위한 데이터 조각화 기능은 아래와 같은 기능을 제공할 수 있다.
CSP:SFP는 스토리지 관리 메타 데이터에서 DSF 로컬 스토리지의 성능 정보를 제공할 수 있다.
CSP:SFP는 DSF 로컬 스토리지의 성능을 고려하여 가상 스토리지 풀 최적화를 제공할 수 있다.
배포를 위한 데이터 조각화 기능은 가상 스토리지 풀 관리에서 DSF 로컬 스토리지 및 조각화 크기의 정보를 수신할 수 있다.
DSF 로컬 스토리지 정보의 예는 자격 증명, 액세스 메커니즘, 엔드 포인트, 스토리지 성능 및 스토리지 용량을 포함할 수 있다.
배포를 위한 데이터 조각화 기능은 최대 조각 크기를 설정할 수 있다.
배포를 위한 데이터 조각화 기능은 데이터가 버퍼에 가득 차면 쓰기 버퍼에서 CSC의 데이터를 수집할 수 있다.
최대 프래그먼트 크기는 스토리지의 I/O 대역폭, 스토리지 용량, 캐시 사용 등에 따라 결정될 수 있다. 조각 크기가 크면 DSF 로컬 스토리지로 대량 복사되고 조각 크기가 작으면 캐시 크기에 맞추기 어려울 수 있다.
배포를 위한 데이터 조각화 기능은 가상 스토리지 풀 관리에서 조각 크기를 검증할 수 있다.
배포를 위한 데이터 조각화 기능은 DSF 로컬 스토리지에 저장하기 위해 쓰기 버퍼에서 CSC의 데이터를 수신할 수 있다.
배포를 위한 데이터 조각화 기능은 캐시 미스가 발생한 경우, 요청된 CSC의 데이터를 DSF 로컬 스토리지에서 캐시로 전송할 수 있다.
배포를 위한 데이터 조각화 기능은 조각화 정책을 검증하고 적용할 수 있다.
조각화 정책의 예는 조각화 크기, 조각화 수, 패리티 비트 수, 스토리지 당 조각화 수 등이 포함될 수 있다.
이상에서와 같이 본 발명의 일실시예에 따른 민감 데이터 처리 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
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: 클라우드 스토리지
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: 클라우드 스토리지
Claims (20)
- 하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리;
를 포함하고,
상기 적어도 하나 이상의 프로그램은
데이터 비보호 영역에서, 스토리지 장치에 저장된 민감 데이터를 읽어오고, 데이터 보호 영역의 민감 데이터 저장 엔드포인트를 이용하여 데이터 보호 영역으로 상기 민감 데이터를 전달하고,
상기 데이터 보호 영역에서, 상기 데이터 비보호 영역으로부터 클라이언트 장치가 요청한 민감 데이터 서비스 명령을 수신하면 적어도 하나 이상의 엔드포인트들을 이용하여 상기 민감 데이터를 처리하고,
상기 데이터 비보호 영역에서, 상기 클라이언트 장치로 상기 민감 데이터의 처리 결과를 전달하는 것을 특징으로 하는 민감 데이터 처리 장치. - 청구항 1에 있어서,
상기 데이터 보호 영역은
운영체제가 제공하는 입출력 기능이 차단되고, 하드웨어 기능 및 가상화 기능에 기반하여 상기 데이터 보호 영역의 외부로부터의 메모리 접근이 차단된 것을 특징으로 하는 민감 데이터 처리 장치. - 청구항 1에 있어서,
상기 적어도 하나 이상의 프로그램은
상기 데이터 비보호 영역에서, 암호화된 상기 민감 데이터를 복호화하기 위한 복호화 키를 상기 스토리지 장치로부터 전달 받고, 상기 데이터 보호 영역의 키 저장 엔드포인트를 이용하여 상기 복호화 키를 상기 데이터 보호 영역으로 전달하는 것을 특징으로 하는 민감 데이터 처리 장치. - 청구항 3에 있어서,
상기 적어도 하나 이상의 프로그램은
상기 데이터 보호 영역에서, 상기 복호화 키를 이용하여 상기 민감 데이터를 복호화하고, 상기 민감 데이터 서비스 엔드포인트를 이용하여 상기 데이터 비보호 영역으로부터 전달 받은 상기 클라이언트 장치로부터 민감 데이터 서비스 명령에 의해 상기 복호화된 민감 데이터를 처리하는 것을 특징으로 하는 민감 데이터 처리 장치. - 청구항 4에 있어서,
상기 적어도 하나 이상의 프로그램은
상기 데이터 보호 영역에서, 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 저장하고, 상기 민감데이터의 처리 결과를 상기 데이터 비보호 영역에 전달하는 것을 특징으로 하는 민감 데이터 처리 장치. - 청구항 5에 있어서,
상기 적어도 하나 이상의 프로그램은
상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역에 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 데이터 보호 메모리 영역에 복사하여 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 이용하여 상기 민감 데이터를 처리하는 것을 특징으로 하는 민감 데이터 처리 장치. - 청구항 6에 있어서,
상기 적어도 하나 이상의 프로그램은
상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 상기 데이터 보호 메모리 영역에 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 메모리 영역에 복사하여 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 영역에 전달하는 것을 특징으로 하는 민감 데이터 처리 장치. - 청구항 5에 있어서,
상기 데이터 보호 영역은
상기 민감 데이터를 처리하기 위한 적어도 하나의 엔드포인트들을 포함하고, 상기 데이터 비보호 영역으로부터 호출받은 엔드포인트를 이용하여 상기 민감 데이터를 처리하는 것을 특징으로 민감 데이터 처리 장치. - 청구항 8에 있어서,
상기 데이터 보호 영역은
상기 데이터 비보호 영역으로부터, 상기 민감 데이터의 전달 시작을 호출 받는 엔드포인트, 상기 복호화 키를 전달 받는 엔드포인트, 상기 데이터 보호 영역으로 상기 민감 데이터를 전달 받는 엔드포인트 및 상기 민감 데이터의 전달 종료를 호출 받는 엔드포인트를 포함하는 것을 특징으로 하는 민감 데이터 처리 장치. - 청구항 9에 있어서,
상기 적어도 하나 이상의 프로그램은
상기 데이터 보호 영역에 포함된 엔드포인트가, 상기 민감 데이터의 서비스 인수에 기설정된 태그를 확인하고, 상기 태그에 해당하는 정보를 이용하여 상기 민감 데이터를 처리하는 것을 특징으로 하는 민감 데이터 처리 장치. - 민감 데이터 처리 장치의 민감 데이터 처리 방법에 있어서,
데이터 비보호 영역에서, 스토리지 장치에 저장된 민감 데이터를 읽어오고, 민감 데이터 저장 엔드포인트를 이용하여 데이터 보호 영역으로 상기 민감 데이터를 전달하는 단계;
상기 데이터 보호 영역에서, 상기 데이터 비보호 영역으로부터 클라이언트 장치가 요청한 민감 데이터 서비스 명령을 수신하면 적어도 하나 이상의 엔드포인트들을 이용하여 상기 민감 데이터를 처리하는 단계; 및
상기 데이터 비보호 영역에서, 상기 클라이언트 장치로 상기 민감 데이터의 처리 결과를 전달하는 단계;
를 포함하는 것을 특징으로 하는 민감 데이터 처리 방법. - 청구항 11에 있어서,
상기 데이터 보호 영역은
운영체제가 제공하는 입출력 기능이 차단되고, 하드웨어 기능 및 가상화 기능에 기반하여 상기 데이터 보호 영역의 외부로부터의 메모리 접근이 차단된 것을 특징으로 하는 민감 데이터 처리 방법. - 청구항 11에 있어서,
상기 민감 데이터를 전달하는 단계는
상기 데이터 비보호 영역에서, 암호화된 상기 민감 데이터를 복호화하기 위한 복호화 키를 상기 스토리지 장치로부터 전달 받고, 상기 데이터 보호 영역의 키 저장 엔드포인트를 이용하여 상기 복호화 키를 상기 데이터 보호 영역으로 전달하는 것을 특징으로 하는 민감 데이터 처리 방법. - 청구항 13에 있어서,
상기 민감 데이터를 처리하는 단계는
상기 데이터 보호 영역에서, 상기 복호화 키를 이용하여 상기 민감 데이터를 복호화하고, 상기 민감 데이터 서비스 엔드포인트를 이용하여 상기 데이터 비보호 영역으로부터 전달 받은 상기 클라이언트 장치로부터 민감 데이터 서비스 명령에 의해 상기 복호화된 민감 데이터를 처리하는 것을 특징으로 하는 민감 데이터 처리 방법. - 청구항 14에 있어서,
상기 민감 데이터의 처리 결과를 전달하는 단계는
상기 데이터 보호 영역에서, 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 저장하고, 상기 민감데이터의 처리 결과를 상기 데이터 비보호 영역에 전달하는 것을 특징으로 하는 민감 데이터 처리 방법. - 청구항 15에 있어서,
상기 민감 데이터를 처리하는 단계는
상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 서비스 인수를 데이터 비보호 메모리 영역에 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 데이터 보호 메모리 영역에 복사하여 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 서비스 인수를 이용하여 상기 민감 데이터를 처리하는 것을 특징으로 하는 민감 데이터 처리 방법. - 청구항 16에 있어서,
상기 민감 데이터의 처리 결과를 전달하는 단계는
상기 데이터 보호 영역에서, 상기 민감 데이터 서비스 게이트웨이를 통해 상기 민감 데이터의 처리 결과를 상기 데이터 보호 메모리 영역에 저장하고, 상기 데이터 보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 메모리 영역에 복사하여 저장하고, 상기 데이터 비보호 메모리 영역에 저장된 민감 데이터의 처리 결과를 상기 데이터 비보호 영역에 전달하는 것을 특징으로 하는 민감 데이터 처리 방법. - 청구항 15에 있어서,
상기 데이터 보호 영역은
상기 민감 데이터를 처리하기 위한 적어도 하나의 엔드포인트들을 포함하고, 상기 데이터 비보호 영역으로부터 호출받은 엔드포인트를 이용하여 상기 민감 데이터를 처리하는 것을 특징으로 민감 데이터 처리 방법. - 청구항 18에 있어서,
상기 데이터 보호 영역은
상기 민감 데이터 저장 엔드포인트, 상기 키 저장 엔드포인트, 상기 데이터 비보호 영역으로부터 상기 민감 데이터의 전달 시작을 호출 받는 엔드포인트 및 상기 데이터 비보호 영역으로부터 상기 민감 데이터의 전달 종료를 호출 받는 엔드포인트를 포함하는 것을 특징으로 하는 민감 데이터 처리 방법. - 청구항 19에 있어서,
상기 데이터 보호 영역에 포함된 엔드포인트는
상기 민감 데이터의 서비스 인수에 기설정된 태그를 확인하고, 상기 태그에 해당하는 정보를 이용하여 상기 민감 데이터를 처리하는 것을 특징으로 하는 민감 데이터 처리 방법.
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 |
---|---|---|---|
KR20190016591 | 2019-02-13 | ||
KR1020190016591 | 2019-02-13 | ||
KR20190018805 | 2019-02-18 | ||
KR1020190018805 | 2019-02-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200099065A true KR20200099065A (ko) | 2020-08-21 |
KR102717611B1 KR102717611B1 (ko) | 2024-10-16 |
Family
ID=72235886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190126865A KR102717611B1 (ko) | 2019-02-13 | 2019-10-14 | 민감 데이터 처리 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102717611B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114253473A (zh) * | 2021-11-30 | 2022-03-29 | 海南大学 | 数据处理方法、装置和医学设备 |
CN114499954A (zh) * | 2021-12-21 | 2022-05-13 | 海光信息技术股份有限公司 | 一种用于敏感数据的管理装置和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090000566A (ko) * | 2007-02-26 | 2009-01-08 | 삼성전자주식회사 | 보안 영역을 제공하는 장치 및 그 방법 |
KR20140052334A (ko) * | 2012-10-24 | 2014-05-07 | 에스케이플래닛 주식회사 | 데이터 무결성을 보장하는 블랙박스 시스템 및 그 제어방법 |
KR20140108607A (ko) * | 2013-02-28 | 2014-09-12 | 삼성전자주식회사 | 보안 데이터 운용 방법 및 이를 지원하는 단말기 |
KR20150040017A (ko) * | 2013-10-04 | 2015-04-14 | 한국전자통신연구원 | 모바일 민감 데이터 관리 방법 및 이를 수행하는 위탁 서버 |
-
2019
- 2019-10-14 KR KR1020190126865A patent/KR102717611B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090000566A (ko) * | 2007-02-26 | 2009-01-08 | 삼성전자주식회사 | 보안 영역을 제공하는 장치 및 그 방법 |
KR20140052334A (ko) * | 2012-10-24 | 2014-05-07 | 에스케이플래닛 주식회사 | 데이터 무결성을 보장하는 블랙박스 시스템 및 그 제어방법 |
KR20140108607A (ko) * | 2013-02-28 | 2014-09-12 | 삼성전자주식회사 | 보안 데이터 운용 방법 및 이를 지원하는 단말기 |
KR20150040017A (ko) * | 2013-10-04 | 2015-04-14 | 한국전자통신연구원 | 모바일 민감 데이터 관리 방법 및 이를 수행하는 위탁 서버 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114253473A (zh) * | 2021-11-30 | 2022-03-29 | 海南大学 | 数据处理方法、装置和医学设备 |
CN114499954A (zh) * | 2021-12-21 | 2022-05-13 | 海光信息技术股份有限公司 | 一种用于敏感数据的管理装置和方法 |
CN114499954B (zh) * | 2021-12-21 | 2024-05-10 | 海光信息技术股份有限公司 | 一种用于敏感数据的管理装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
KR102717611B1 (ko) | 2024-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11271893B1 (en) | Systems, methods and devices for integrating end-host and network resources in distributed memory | |
US10296494B2 (en) | Managing a global namespace for a distributed filesystem | |
KR102288503B1 (ko) | 통합 스토리지 관리 장치 및 방법 | |
US10782880B2 (en) | Apparatus and method for providing storage for providing cloud services | |
US11327686B2 (en) | Apparatus and method for managing integrated storage supporting hierarchical structure | |
US12038878B2 (en) | Methods and apparatus for controlling snapshot exports | |
US9811662B2 (en) | Performing anti-virus checks for a distributed filesystem | |
US9811532B2 (en) | Executing a cloud command for a distributed filesystem | |
US10929428B1 (en) | Adaptive database replication for database copies | |
US9804928B2 (en) | Restoring an archived file in a distributed filesystem | |
US9852150B2 (en) | Avoiding client timeouts in a distributed filesystem | |
US8706834B2 (en) | Methods and apparatus for remotely updating executing processes | |
US11614901B2 (en) | Apparatus and method for processing sensitive data | |
WO2021226344A1 (en) | Providing data management as-a-service | |
KR20210038285A (ko) | 계층형 구조 지원 통합 스토리지 관리 장치 및 방법 | |
KR102376152B1 (ko) | 클라우드 서비스 제공을 위한 스토리지 제공 장치 및 방법 | |
KR102717611B1 (ko) | 민감 데이터 처리 장치 및 방법 | |
US20190121899A1 (en) | Apparatus and method for managing integrated storage | |
US11461192B1 (en) | Automatic recovery from detected data errors in database systems | |
US12038946B1 (en) | Minimizing connection loss when changing database query engine versions | |
US12141104B2 (en) | Distributed file system with reduced write and read latencies | |
US20220391361A1 (en) | Distributed File System with Reduced Write and Read Latencies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |