KR20150089690A - 서버 기반 소프트웨어 서비스에서의 스토리지 접근 제어 방법 - Google Patents
서버 기반 소프트웨어 서비스에서의 스토리지 접근 제어 방법 Download PDFInfo
- Publication number
- KR20150089690A KR20150089690A KR1020140010602A KR20140010602A KR20150089690A KR 20150089690 A KR20150089690 A KR 20150089690A KR 1020140010602 A KR1020140010602 A KR 1020140010602A KR 20140010602 A KR20140010602 A KR 20140010602A KR 20150089690 A KR20150089690 A KR 20150089690A
- Authority
- KR
- South Korea
- Prior art keywords
- file
- server
- user terminal
- execution
- software
- Prior art date
Links
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Storage Device Security (AREA)
Abstract
서버 기반 소프트웨어 서비스에서의 스토리지 접근 제어 방법이 제공된다. 상기 서버 기반 소프트웨어 서비스에서의 스토리지 접근 제어 방법은 사용자 단말로부터 상기 분할 실행 소프트웨어의 실행 요청에 응답하여 상기 사용자 단말의 파일 접근 권한에 따라 구성된 가상 파일 목록을 사용자 단말로 제공하는 단계 및 상기 제공된 가상 파일 목록 중, 상기 사용자 단말에서 선택한 가상 파일의 접근 요청을 수신하면, 상기 가상 파일과 실제 파일을 매핑한 매핑 테이블을 참조하여 상기 가상 파일에 매핑된 실제 파일을 상기 사용자 단말로 제공하는 단계를 포함한다.
Description
본 발명은 서버 기반 소프트웨어 서비스에서의 스토리지 접근 제어 장치 및 그 방법에 관한 것으로서, 구체적으로 서버 기반 소프트웨어 서비스에서 서버에 저장되는 사용자 데이터의 보호 및 공유를 제어하는 장치 및 그 방법에 관한 것이다.
데스크탑 가상화(Desktop Virtualization) 기술은 클라이언트가 서버 내의 가상 데스크탑에 접속해 데이터, 운영체제, 응용 소프트웨어 등의 서비스를 이용하는 기술로, 서버의 데이터 보안, 스마트워크 구현, 관리의 효율성 등의 이유로 각광받고 있는 기술이다.
종래의 데스크탑 가상화 서비스는 서버에서 소프트웨어가 실행되고 클라이언트에는 결과 화면만 전송하는 VDI(Virtual Desktop Infrastructure)환경으로 제공되며, 대표적인 서비스로는 Citrix사의 XenDesktop, VmWare사의 VDI, Microsoft사의 RDP(Remote Control Protocol)기반의 터미널 서비스 등이 있다.
그러나, 기존의 서비스들은 클라이언트가 증가함에 따라 서버의 부하가 증가하고, 특히, 3D 렌더링(Rendering)과 같은 고화질 그래픽 작업을 지원하기 위해서는 서버에 장착된 고가의 그래픽 카드를 보유해야 함으로 막대한 서버 관리 비용을 지불해야 하는 단점이 있다.
이와 같은 서버 부하를 경감하기 위하여 서버 기반의 새로운 유형의 소프트웨어 분할 실행 서비스가 개발된 바 있다. 구체적으로 서버 기반의 소프트웨어 분할 실행 서비스는 데이터 집중적인 작업들은 서버에서 처리 되지만, 그래픽 작업들은 클라이언트의 그래픽 처리 장치를 이용해 처리되어 클라이언트 화면에 출력되는 방식의 소프트웨어 서비스이다.
도 1은 종래기술에 따른 VDI 기반의 가상화 기술과 소프트웨어 분할 실행 기술을 비교한 도면이다.
도 1a에 도시된 바와 같이, 기존의 VDI 환경에서 가상 머신(VS, Virtual Machine)(10)기반의 가상화 서비스를 제공하는 방식은 사용자가 게스트 OS(Guest OS, Guest Operating System)(12)를 할당 받아 소프트웨어의 프로세스(14)를 독립적으로 실행하지만, 도 1b에 도시된 서버 기반의 소프트웨어 분할 실행 체계에서는 분할 실행 서버의 분할 실행 가상화 계층(20)에서 클라이언트가 요청한 소프트웨어 프로세스(22)를 실행시키는, 프로세스 수준의 가상화를 제공하므로 가상 머신(10) 기반의 가상화 기술보다 서버 부하가 적다.
하지만, 소프트웨어 분할 실행 기술은 프로세스 수준에서 서비스를 처리하는 구조로, 서버에서 하나의 시스템으로 여러 클라이언트가 요청한 프로세스를 처리해야 하기 때문에 서버에 저장된 사용자 개인의 고유한 환경을 보호해 주기가 어려운 보안상 문제점이 있다.
이처럼 소프트웨어 분할 실행 기술도 서버에 저장된 사용자 데이터의 보안 문제를 해결하지 못하는데, 이하 도 2를 참조하여 더욱 상세히 설명한다.
도 2는 종래기술에 따른 분할 실행 서버의 자원 접근에 관한 문제점을 나타낸 도면이다.
도 2에 도시된 바와 같이, 서로 다른 사용자 A, B(30, 40)가 각각의 서비스를 서버(50)로 요청할 때, 서버(50)는 각각 독립된 프로세스(52, 54)로 사용자의 요청에 응하게 된다. 그러나, 사용자가 고유의 리소스(Resource)(56, 58)즉 사용자의 저장 공간(60)이나 레지스트리(Registry)(62)등으로 접근하고자 할 때, 사용자(30, 40)의 고유 권한이 아닌 프로세스를 실행한 서버(50)의 권한으로 접근하는 보안상 문제점이 있다. 따라서, 요청한 사용자의 권한에 따라 허용된 자원에만 접근할 수 있도록 제어할 필요가 있다.
따라서, 본 발명의 목적은 전술한 문제점을 해결하기 위하여, 서버 기반의 소프트웨어 분할 실행 서비스에서 서버에 저장 및 처리되는 사용자의 데이터를 보호하고, 허가되지 않은 사용자나 서비스에 의한 접근을 제어하는 장치 및 그 방법을 제공하고자 한다.
또한, 본 발명의 다른 목적은 사용자가 하나의 사용자 단말에서 분할 실행 소프트웨어와 일반 소프트웨어를 동시에 사용할 수 있도록 하며, 일반 소프트웨어는 단말의 파일 시스템에 접근하고, 분할 실행 소프트웨어는 서버의 파일 시스템에 접근하도록 하는 장치 및 그 방법을 제공하고자 한다.
상술한 목적을 달성하기 위한 본 발명의 일면에 따른 서버 기반 소프트웨어 서비스에서의 스토리지 접근 제어 방법은 사용자 단말로부터 상기 분할 실행 소프트웨어의 실행 요청에 응답하여 상기 사용자 단말의 파일 접근 권한에 따라 구성된 가상 파일 목록을 사용자 단말로 제공하는 단계 및 상기 제공된 가상 파일 목록 중, 상기 사용자 단말에서 선택한 가상 파일의 접근 요청을 수신하면, 상기 가상 파일과 실제 파일을 매핑한 매핑 테이블을 참조하여 상기 가상 파일에 매핑된 실제 파일을 상기 사용자 단말로 제공하는 단계를 포함한다.
본 발명에 의하면, 서버 기반의 분할 실행 소프트웨어 서비스를 제공하는 시스템에서 사용자의 데이터 및 데이터 환경의 보호를 위하여, 서버의 필터 드라이버가 사용자 권한 맵과 가상/실제 파일 맵을 참조하여 사용자에게 가상의 파일 목록을 제공함으로써, 허가되지 않은 사용자나 서비스에 의한 스토리지 접근을 제어하여 사용자의 데이터를 보호하는 효과가 있다.
도 1은 종래기술에 따른 VDI 기반의 가상화 기술과 소프트웨어 분할 실행 기술을 비교한 도면이다.
도 2는 종래기술에 따른 분할 실행 서버의 자원 접근에 관한 문제점을 나타낸 도면이다.
도 3은 본 발명의 일 실시 예에 따른 분할 실행 서비스를 제공하는 시스템을 나타낸 도면이다.
도 4는 본 발명의 일 실시 예에 따른 분할 실행 소프트웨어가 사용자 단말과 서버 사이에서 분할 실행되는 과정을 나타낸 도면이다.
도 5는 본 발명의 일 실시 예에 따른 가상 파일 목록 구성 과정을 나타낸 도면이다.
도 6은 본 발명의 일 실시 예에 따른 실제 파일 구성 과정을 나타낸 도면이다.
도 7은 본 발명의 일 실시 예에 따른 필터 드라이버를 이용한 스토리지 접근 제한 과정을 나타낸 도면이다.
도 8은 본 발명의 일 실시 예에 따른 매핑 테이블(Mapping Table)을 이용한 스토리지 가상화를 나타낸 도면이다.
도 9는 본 발명의 일 실시 예에 따른 분할 실행 서비스를 제공하는 시스템을 나타낸 순서도이다.
도 2는 종래기술에 따른 분할 실행 서버의 자원 접근에 관한 문제점을 나타낸 도면이다.
도 3은 본 발명의 일 실시 예에 따른 분할 실행 서비스를 제공하는 시스템을 나타낸 도면이다.
도 4는 본 발명의 일 실시 예에 따른 분할 실행 소프트웨어가 사용자 단말과 서버 사이에서 분할 실행되는 과정을 나타낸 도면이다.
도 5는 본 발명의 일 실시 예에 따른 가상 파일 목록 구성 과정을 나타낸 도면이다.
도 6은 본 발명의 일 실시 예에 따른 실제 파일 구성 과정을 나타낸 도면이다.
도 7은 본 발명의 일 실시 예에 따른 필터 드라이버를 이용한 스토리지 접근 제한 과정을 나타낸 도면이다.
도 8은 본 발명의 일 실시 예에 따른 매핑 테이블(Mapping Table)을 이용한 스토리지 가상화를 나타낸 도면이다.
도 9는 본 발명의 일 실시 예에 따른 분할 실행 서비스를 제공하는 시스템을 나타낸 순서도이다.
본 발명은 서버 기반의 분할 실행되는 소프트웨어 서비스에서 사용자 단말이 분할 실행 소프트웨어의 실행을 위하여 파일 또는 데이터에 접근하고자 할 경우, 파일 요청 신호를 사용자 단말의 파일 시스템으로 전달하지 않고 서버로 전달하여 처리하여 서버에 저장 및 처리되는 사용자의 데이터를 보호하기 위하여 허가되지 않은 사용자나 서비스에 의한 접근을 제어하는 방법을 제공한다.
이를 위하여, 스토리지(Storage)에 대한 사용자 단말 별 파일 접근 권한을 가진 서버의 접근 권한 맵(Map)과 가상 파일 시스템과 스토리지의 실제 파일 시스템을 매핑(Mapping)하는 가상/실제 파일 맵을 참조하여, 서버의 필터 드라이버가 스토리지에 저장된 사용자 요청 파일을 사용자 단말로 제공한다.
먼저, 본 명세서 전반에 걸쳐 기술되는 일반적인 기술 용어에 대해 간략히 소개한다.
일반 소프트웨어(
Normal
Software
)
일반 소프트웨어는 단말 기반의 소프트웨어로서, 소프트웨어 실행에 관련된 전반적인 처리 과정을 단말 내에서 독립적으로 처리하여 서비스하는 소프트웨어를 의미한다. 예컨대, 사용자가 별도로 온라인 정보를 제공받지 않아도 실행되는 스마트 단말의 메모장, 달력과 같은 소프트웨어 서비스를 의미한다.
분할 실행 서버
분할 실행 서버는 응용 프로그램 처리를 클라이언트와 상호 협력적인 환경에서 분할하여 처리하는 서버를 의미한다.
분할 실행 소프트웨어
분할 실행 소프트웨어는 분할 실행 서버 기반의 소프트웨어로써, 일반적으로 데이터 관련 작업은 서버에서 처리되고 그래픽 관련 작업은 단말의 그래픽 처리 장치(GPU, Graphics Processing Unit)에서 처리하여 서비스하는 소프트웨어를 의미한다. 예컨대, 스마트 단말의 온라인 게임과 같이 3D 그래픽을 지원하는 고사양의 소프트웨어 서비스를 의미한다.
가상화
(
Virtualization
) 기술
가상화 기술은 클라이언트(구체적으로는 애플리케이션 및 서비스)에게 데이터 자체가 아닌 데이터의 논리적 구조형태만 표시하는 기술로서, 가상화 계층 이라는 중간 계층을 이용하여 애플리케이션과 서비스를 실제적인 데이터와 분리하는 기술을 의미한다. 서버 내의 파티셔닝(Partitioning)은 가상화의 대표적인 예로서, 하나의 서버 시스템을 다수의 작은 시스템으로 보이게 해줌으로써 서버의 데이터를 공유하게 해준다. 또한, 스토리지(Storage) 가상화 기술은 여러 개의 물리적 스토리지 시스템들에 남아있는 유휴 디스크를 모아서 만든 디스크 풀에서 가상화된 디스크를 만들 수 있게 해준다. 이렇게 가상화된 디스크에 접근함으로써 애플리케이션 서버는 실제로 사용 가능한 공간보다 넓은 스토리지 공간을 활용할 수 있다. 결론적으로 가상화 기술은 애플리케이션이 요구하는 서버의 스토리지 접근 요청을 중간에서 중재하는 역할을 하는 기술이다.
가상 파일(
Virtual
File
)
가상 파일은 일반 데이터가 아닌, 프로그램의 동작을 포함하는 데이터로 구성된 파일로서, 일반 파일과 마찬가지로 삭제, 생성, 열기, 닫기, 읽기 및 쓰기는 가능하나 데이터를 포함하지 않는 파일을 의미한다.
가상 경로(
Virtual
Route
)
가상 경로는 서버에 지정된 파일의 실제 경로인 홈 디렉토리(Home directory)와는 다른 파일의 서브(sub) 경로인 가상 디렉토리(Virtual Directory)를 의미한다.
파일 시스템(
File
system
)
파일 시스템은 클라이언트가 컴퓨터에서 파일이나 자료를 쉽게 발견하고 접근할 수 있도록 보관 또는 조직하는 체제를 의미한다. 파일 시스템은 일반적으로 하드 디스크나 CD-ROM같은 실제 자료 보관 장치를 이용하여 파일의 물리적 소재를 관리하는 것을 의미하나 네트워크 프로토콜을 수행하는 클라이언트를 통하여 파일 서버 상의 자료로의 접근을 제공하는 방식과 가상의 형태로서 접근 수단만이 존재하는 방식도 파일 시스템의 범위에 포함될 수 있다.
이하, 전술한 용어를 활용하여 본 발명의 구성에 대하여 설명할 것이며, 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이므로 본 발명의 권리범위는 청구항의 기재에 의해 정하여 진다.
한편, 본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자에 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가함을 배제하지 않는다.
이하, 본 발명의 따른 실시 예를 첨부된 도면을 참조하여 상세하게 설명하도록 한다.
도 3은 본 발명의 일 실시 예에 따른 분할 실행 서비스를 제공하는 시스템을 나타낸 도면이다.
도 3에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 분할 실행 서비스를 제공하는 시스템은 사용자 단말(100) 및 분할 실행 서버(200)를 포함한다.
사용자 단말(100)은 서버에 대해 독립적으로 실행되는 일반 소프트웨어(110)(Software)와 일반 소프트웨어(110)의 파일 접근 요청에 따라 관련 파일을 제공하는 파일 시스템(170), 서버와 프로그램 실행을 분할하여 처리하는 분할 실행 소프트웨어(130) 및 분할 실행 소프트웨어(130)의 파일 요청 신호를 사용자 단말(100)의 파일 시스템(170)이 아닌 분할 실행 서버(200)로 전달하는 분할 실행 가상화 계층(150)을 포함한다.
분할 실행 서버(200)는 사용자 단말(100)과 프로그램 처리를 분할하여 수행하는 분할 실행 소프트웨어(210), 사용자 단말(100)과 스토리지 사이에서 데이터 접근 권한을 중재하는 분할 실행 가상화 계층(230) 및 파일 시스템(250)을 포함한다.
분할 실행 서버(200)의 분할 실행 가상화 계층(230)은 사용자 단말(100)의 파일 요청 신호를 전달받는 통신부(231), 통신부(231)를 통한 파일 요청 신호에 응답하여 사용자 단말 별 파일 접근 권한에 따라 가상 파일 목록을 구성하기 위해 파일 접근 권한을 관리하는 접근 권한 맵(233), 사용자가 제공된 가상 파일 중 하나의 파일을 선택할 경우, 요청한 파일의 가상 경로와 실제 경로를 연결하는 가상/실제 파일 맵(235) 및 가상/실제 파일 맵(235)을 참조하여 사용자 단말(100)이 요청한 파일의 실제 경로를 스토리지(300)로 전달하고 스토리지(300)로부터 실제 파일을 전달받아 사용자에게 전달하는 서버의 필터 드라이버(237)를 포함한다.
도 4는 본 발명의 일 실시 예에 따른 분할 실행 소프트웨어가 사용자 단말과 서버 사이에서 분할 실행되는 과정을 나타낸 도면이다.
도 4에 도시된 바와 같이, 사용자가 사용자 단말(100)의 분할 실행 소프트웨어 실행(130)을 요청할 경우, 요청에 응답하여 분할 실행 서버(200)의 분할 실행 소프트웨어(210)가 실행되고, 분할 실행 서버(200)의 분할 실행 가상화 계층(230)은 프로그램을 처리하기 위한 프로세스를 생성한다.
이때, 프로세스를 처리하기 위한 데이터 관련 작업은 분할 실행 서버(200)의 분할 실행 소프트웨어(210)에서 수행되고, 그래픽 관련 작업은 사용자 단말(100)의 분할 실행 소프트웨어(130)에서 수행된다.
이에 따라 분할 실행 서버(200)의 분할 실행 가상화 계층(230)은 사용자 단말(100)의 분할 실행 가상화 계층(150)으로 그래픽 관련 작업에 대한 처리 명령 및 처리된 결과를 디스플레이 하는 명령을 원격 API(Application Programming Interface)호출과 같은 방식으로 송신한다.
사용자 단말(100)의 분할 실행 가상화 계층(150)은 수정된 그래픽 라이브러리(151)를 이용하여 분할 실행 소프트웨어(130)로 처리 결과를 디스플레이 하도록 요청한다.
도 5는 본 발명의 일 실시 예에 따른 가상 파일 목록 구성 과정을 나타낸 도면이다.
도 5에 도시된 바와 같이, 사용자 단말(100)의 분할 실행 소프트웨어가 분할 실행 가상화 계층을 통하여 분할 실행 서버(200)의 분할 실행 소프트웨어로 파일 다이얼로그(File Dialog) 열기를 요청한다(S300). 분할 실행 서버(200)의 분할 실행 소프트웨어는 접근 권한 맵(233)으로 파일 다이얼로그를 구성하기 위한 가상 파일 목록을 요청한다(S301). 접근 권한 맵(233)은 기 저장하고 있는 사용자 단말(100)별 파일 접근 권한 정보를 이용하여 사용자 단말(100)의 접근 권한에 따른 가상 파일 목록을 구성하고, 이를 서버의 분할 실행 소프트웨어로 전달한다(S303). 서버의 분할 실행 소프트웨어는 전달 받은 가상 파일 목록으로 가상 파일 다이얼로그를 구성하고, 구성된 가상 파일 다이얼로그를 디스플레이 하도록 사용자 단말(100)의 분할 실행 가상화 계층을 통하여 분할 실행 소프트웨어로 요청한다(S305).
이하, 도 6을 참조하여 가상 파일 다이얼로그 중, 사용자가 선택한 임의의 파일을 실제 파일로 매핑하여 사용자에게 디스플레이하는 과정을 설명한다.
도 6은 본 발명의 일 실시 예에 따른 실제 파일 구성 과정을 나타낸 도면이다.
도 6에 도시된 바와 같이, 사용자 단말(100)에 디스플레이 된 가상 파일 다이얼로그에서 사용자가 임의의 파일을 하나 선택할 경우, 사용자 단말(100)의 분할 실행 소프트웨어가 분할 실행 가상화 계층을 통하여 분할 실행 서버(200)의 분할 실행 소프트웨어로 해당 파일 열기를 요청한다(S400). 예컨대, 파일명이 file# 1인 파일 열기를 요청하는 경우, 분할 실행 서버(200)의 분할 실행 소프트웨어는 가상/실제 파일 맵(235)으로 file# 1에 대한 스토리지(300) 내 실제 경로 조회를 요청한다(S401). 가상/실제 파일 맵(235)은 기 저장하고 있는 매핑 테이블(Mapping Table)을 이용하여 file# 1에 대한 실제 경로를 조회하고, 조회된 실제 경로를 분할 실행 서버(200)의 분할 실행 소프트웨어로 전달한다(S403). 분할 실행 서버(200)의 분할 실행 소프트웨어는 전달 받은 file# 1의 실제 경로를 스토리지(300)로 전달함과 동시에, 스토리지(300)로 file# 1을 요청한다(S405). 스토리지(300)는 전달 받은 실제 경로로 file# 1을 탐색하고, 탐색된 file# 1의 실제 데이터를 분할 실행 서버(200)의 분할 실행 소프트웨어로 전달한다(S407). 분할 실행 서버(200)의 분할 실행 소프트웨어는 전달받은 file# 1을 열고(S409), 분할 실행 서버(200)에서 사용자 단말(100)의 분할 실행 가상화 계층을 통하여 file# 1의 내용을 디스플레이 하도록 요청한다(S411)
도 7은 본 발명의 일 실시 예에 따른 필터 드라이버를 이용한 스토리지 접근 제한 과정을 나타낸 도면이다.
도 7에 도시된 바와 같이, 분할 실행 서버(100)의 프로세스가 스토리지(300)에 접근하거나, 클라이언트(100, 120)에서 분할 실행 서버를 통해 스토리지(300)에 접근하고자 할 경우, 허용되지 않은 접근을 제한할 수 있도록 분할 실행 서버(100)에서는 스토리지 필터를 구성한다.
분할 실행 서버(100)의 스토리지 필터는 분할 실행 클라이언트(100, 120)의 사용자 정보를 관리하여, 분할 실행 소프트웨어를 통하더라도 사용자에게 허용된 저장 공간에만 접근할 수 있도록 한다.
또한, 분할 실행 서버(100)는 분할 실행 소프트웨어를 사용하는 사용자에게 가상의 파일 시스템을 제공하고, 사용자가 파일에 접근하기 위해서 분할 실행 소프트웨어의 클라이언트 UI(User Interface)를 통해 파일 다이얼로그를 열 경우, 클라이언트 단말의 파일 시스템이 아닌 가상의 파일 시스템으로 접근할 수 있도록 보안된 파일 다이얼로그를 제공한다.
도 8은 본 발명의 일 실시 예에 따른 매핑 테이블(Mapping Table)을 이용한 스토리지 가상화를 나타낸 도면이다.
도 8에 도시된 바와 같이, 사용자 단말의 분할 실행 소프트웨어는 사용자에게 파일의 읽기, 쓰기, 저장과 같은 파일 접근 권한을 제공하기 위해 파일 다이얼로그로 구성된 가상 파일 시스템(102)을 제공한다. 사용자가 제공된 가상 파일 시스템(102)을 통해 파일에 접근하고자 할 경우, 사용자 단말의 분할 실행 소프트웨어는 분할 실행 서버로 파일 접근 요청신호를 전달한다. 서버에서는 해당하는 실제 파일을 저장한 스토리지에 접근하여 데이터 작업을 처리한다. 따라서, 서버에서는 사용자 단말의 가상 파일 시스템(102)과 스토리지에 저장된 사용자의 실제 파일 시스템(302)을 매핑해야 한다.
이에 따라, 서버는 매핑 테이블(Mapping Table)(800)을 구성하여 관리하고, 사용자가 가상 파일 다이얼로그를 통해 파일에 접근하고자 할 경우, 매핑 테이블(800)을 이용하여 파일에 대한 실제 경로를 조회하고, 조회된 실제 경로를 통해 사용자가 스토리지에 저장된 실제 파일에 접근할 수 있도록 한다.
도 9는 본 발명의 일 실시 예에 따른 분할 실행 서비스를 제공하는 시스템을 나타낸 순서도이다.
특별히 언급하지 않는 경우, 도 9의 수행 주체는 서버를 의미한다.
도 9에 도시된 바와 같이, 데이터 관련 작업은 서버에서, 그래픽 관련 작업과 결과 디스플레이는 사용자 단말에서 수행하는 분할 실행 서비스에서, 사용자가 사용자 단말에 설치된 분할 실행 소프트웨어를 실행하고, 분할 실행 소프트웨어의 실행에 따른 서버로의 파일 접근 요청이 있는 경우(S900), 서버에서는 요청에 응답하여 사용자 단말 별 파일 접근 권한이 기 저장된 맵(Map)을 참조하여 상기 사용자 단말의 파일 접근 권한에 따른 가상 파일 목록을 구성하고 이를 상기 사용자 단말로 제공한다(S902).
제공된 가상 파일 목록 중, 사용자에 의해 선택된 임의의 가상 파일과 스토리지 내 저장된 실제 파일을 매핑한다(S904).
실제 데이터로 구성된 실제 파일을 이용하여 데이터 관련 작업을 처리한다(S906).
사용자 단말로 데이터 관련 작업 결과를 전달하고, 그래픽 관련 작업 처리 요청 및 처리 결과 출력을 요청한다(S908)
정리하자면, 본 발명은 서버 기반의 소프트웨어 분할 실행 서비스 시스템에서 서버의 데이터와 사용자의 환경을 보호하기 위한 스토리지 접근 제어 장치 및 그 방법을 제공한다. 구체적으로 허가되지 않은 사용자 및 어플리케이션로부터 스토리지에 저장된 데이터로의 접근을 제한하기 위하여 서버의 접근 권한 맵, 가상/실제 파일 맵, 필터 드라이버에 저장된 매핑 테이블을 이용한 스토리지 접근 제어 장치 및 그 방법을 제공한다.
이상의 설명은 본 발명의 기술적 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면, 본 발명의 본질적 특성을 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능하다.
따라서 본 발명에 표현된 실시 예들은 본 발명의 기술적 사상을 한정하는 것이 아니라, 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 권리범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 특허청구범위에 의하여 해석되어야 하고, 그와 동등하거나, 균등한 범위 내에 있는 모든 기술적 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 사용자 단말
110: 일반 소프트웨어
130: 분할 실행 소프트웨어
150: 분할 실행 가상화 계층(사용자 단말)
170: 파일 시스템(사용자 단말)
200: 분할 실행 서버
210: 분할 실행 소프트웨어(분할 실행 서버)
230: 분할 실행 가상화 계층(분할 실행 서버)
231: 통신부
233: 접근 권한 맵
235: 가상/실제 파일 맵
237: 필터 드라이버
250: 파일 시스템(분할 실행 서버)
300: 스토리지
110: 일반 소프트웨어
130: 분할 실행 소프트웨어
150: 분할 실행 가상화 계층(사용자 단말)
170: 파일 시스템(사용자 단말)
200: 분할 실행 서버
210: 분할 실행 소프트웨어(분할 실행 서버)
230: 분할 실행 가상화 계층(분할 실행 서버)
231: 통신부
233: 접근 권한 맵
235: 가상/실제 파일 맵
237: 필터 드라이버
250: 파일 시스템(분할 실행 서버)
300: 스토리지
Claims (1)
- 서버에서 클라이언트와 분할하여 실행하는 분할 실행 소프트웨어를 서비스하는 방법에 있어서,
사용자 단말로부터 상기 분할 실행 소프트웨어의 실행 요청에 응답하여 상기 사용자 단말의 파일 접근 권한에 따라 구성된 가상 파일 목록을 사용자 단말로 제공하는 단계; 및
상기 제공된 가상 파일 목록 중, 상기 사용자 단말에서 선택한 가상 파일의 접근 요청을 수신하면, 상기 가상 파일과 실제 파일을 매핑한 매핑 테이블을 참조하여 상기 가상 파일에 매핑된 실제 파일을 상기 사용자 단말로 제공하는 단계
를 포함하는 서버 기반 분할 실행 소프트웨어 서비스에서의 스토리지 접근 제어 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140010602A KR20150089690A (ko) | 2014-01-28 | 2014-01-28 | 서버 기반 소프트웨어 서비스에서의 스토리지 접근 제어 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140010602A KR20150089690A (ko) | 2014-01-28 | 2014-01-28 | 서버 기반 소프트웨어 서비스에서의 스토리지 접근 제어 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20150089690A true KR20150089690A (ko) | 2015-08-05 |
Family
ID=53886082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140010602A KR20150089690A (ko) | 2014-01-28 | 2014-01-28 | 서버 기반 소프트웨어 서비스에서의 스토리지 접근 제어 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20150089690A (ko) |
-
2014
- 2014-01-28 KR KR1020140010602A patent/KR20150089690A/ko not_active Application Discontinuation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180276229A1 (en) | Trusted File Indirection | |
US20200225969A1 (en) | Method, Apparatus And System For Transparent Unification Of Virtual Machines | |
US9367947B2 (en) | Remote rendering of three-dimensional images using virtual machines | |
US9213544B2 (en) | Desktop shadowing in a virtual desktop infrastructure environment | |
RU2436149C2 (ru) | Мигрирование виртуальной машины, которая владеет ресурсом, таким, как аппаратное устройство | |
US20200053161A1 (en) | Virtualizing Device Management Services on a Multi-Session Platform | |
US9454670B2 (en) | Hybrid file systems | |
US20140214922A1 (en) | Method of providing virtual machine and service gateway for real-time virtual desktop service | |
EP2656210B1 (en) | Providing a persona-based application experience | |
US20150026682A1 (en) | Redirection of information from secure virtual machines to unsecure virtual machines | |
US9766913B2 (en) | Method and system for managing peripheral devices for virtual desktops | |
US8924684B1 (en) | Virtual memory management to reduce address cache flushing during I/O operations | |
US10152342B2 (en) | Method and system for providing virtual desktop and virtual application interactivity | |
US20180165133A1 (en) | Shared Memory Using Memory Mapped Files Between Host And Guest On A Computing Device | |
US10536559B2 (en) | Blocking an interface of a redirected USB composite device | |
US20070057953A1 (en) | Providing 3D graphics across partitions of computing device | |
KR20130000253A (ko) | 가상화 시스템에서 메모리 접근을 제어하는 장치 및 방법 | |
US10691310B2 (en) | Copying/pasting items in a virtual desktop infrastructure (VDI) environment | |
US20140059114A1 (en) | Application service providing system and method and server apparatus and client apparatus for application service | |
US20230195491A1 (en) | Device emulation in remote computing environments | |
US11263183B2 (en) | Integrating virtual machine file system into a native file explorer | |
US10986215B2 (en) | Access control in the remote device of network redirector | |
US10802741B2 (en) | Pre-zeroing blocks in files using automatic file unmap framework | |
US10430216B1 (en) | Virtual machine automated selection | |
TW202307656A (zh) | 存取核心之拓樸映射 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |