KR101008927B1 - 클라우드 방식의 디스크 공유 시스템 및 그 방법 - Google Patents

클라우드 방식의 디스크 공유 시스템 및 그 방법 Download PDF

Info

Publication number
KR101008927B1
KR101008927B1 KR1020100068632A KR20100068632A KR101008927B1 KR 101008927 B1 KR101008927 B1 KR 101008927B1 KR 1020100068632 A KR1020100068632 A KR 1020100068632A KR 20100068632 A KR20100068632 A KR 20100068632A KR 101008927 B1 KR101008927 B1 KR 101008927B1
Authority
KR
South Korea
Prior art keywords
cloud
disk
server
client
file
Prior art date
Application number
KR1020100068632A
Other languages
English (en)
Inventor
최승일
문종범
유왕진
이철규
Original Assignee
최승일
이철규
유왕진
문종범
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 최승일, 이철규, 유왕진, 문종범 filed Critical 최승일
Priority to KR1020100068632A priority Critical patent/KR101008927B1/ko
Application granted granted Critical
Publication of KR101008927B1 publication Critical patent/KR101008927B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 서버의 디스크를 적어도 하나 이상의 클라이언트에 공유하는 시스템에 있어서, 상기 서버는, 서버 관리자로부터 클라이언트와 공유할 클라우드 디스크로 지정될 이미지 소스 드라이브를 입력받는 클라우드 캐스트(Cloud Cast) 서버 모듈; 및 적어도 하나 이상의 클라이언트로부터 상기 클라우드 디스크의 마운트 요청을 입력받고, 상기 클라우드 디스크를 포함하는 서버의 파일 시스템을 복제하여 복제된 파일 시스템을 상기 클라우드 디스크의 마운트를 요청한 클라이언트에 전송하는 IVP(Internet Virtual Partition) 서버 모듈;을 포함하고, 상기 적어도 하나 이상의 클라이언트는, 사용자로부터 서버의 클라우드 디스크를 마운트 할 드라이브 명과 마운트 요청을 입력받고, 에이전트 프로그램(Agent Program)을 통하여 서버에 접속하여 IVP 서버 모듈에 상기 클라우드 디스크의 마운트를 요청하며, 상기 IVP 서버 모듈로부터 복제된 파일 시스템을 전송받아 메모리에 로드하여, 상기 전송받은 복제된 파일 시스템의 클라우드 디스크의 드라이브 명을 상기 마운트할 드라이브 명으로 변경하여 가상 디스크를 생성하고, 자신 클라이언트의 원본 파일시스템에 상기 생성된 가상 디스크를 포함하여 자신 클라이언트의 사본 파일 시스템을 생성하는 클라우드 캐스트 클라이언트 모듈을 포함하는 클라우드 방식의 디스크 공유 시스템에 관한 것이다. 본 발명에 따르면, 각종 데이터를 중앙 서버에서 관리하고, 다수의 사용자들에게 공유함으로써, 각종 프로그램의 패치 및 업데이트 등의 작업이 용이하고, 각각의 사용자 컴퓨터의 디스크 공간을 실제로 확장할 필요없이 확장되는 효과를 얻을 수 있으며, 응용 프로그램 등이 중앙 서버에서 실행되도록 함으로써, 소프트웨어 라이선스 관리 등이 매우 용이하게 되는 클라우드 방식의 디스크 공유 시스템 및 그 방법을 제공할 수 있다.

Description

클라우드 방식의 디스크 공유 시스템 및 그 방법{CLOUD TYPE DISK SHARING SYSTEM AND THE METHOD}
본 발명은 클라우드 방식의 디스크 공유 시스템 및 그 방법에 관한 것으로, 보다 상세하게는, 차세대 미래 기술들이 복잡하게 설계 되어질 기술로서 클라우드 컴퓨팅과 가상화 기술을 핵심으로 한다. 본 발명의 클라우드 컴퓨팅이란 인터넷 가반의 서비스 기술로 사용자는 지원되는 기술에 대한 전문적인 지식이 없어도 인터넷을 통해 자신이 원하는 서비스를 이용할 수 있는 것을 말한다. 본 발명의 클라우드 컴퓨팅이란 단순한 인터넷을 통하는 서비스를 한정하는 것이 아니라 LAN/인트라넷 기반의 공유 서비스의 개념도 포함하는 것으로 사용자가 자신의 로컬 시스템에 필요로 하는 자원이 없더라도 다른 서비스 제공자를 통하여 마치 자신의 로컬 시스템을 사용하듯이 컴퓨터를 이용하는 개념으로 확장할 수 있다.
이 기술은 분산된 리소스를 지정된 한 서버에서 처리하는것으로 다수의 사용자는 인터넷 접속이 가능한 곳이라면 어디라도 자신의 프로그램을 원격으로 실행할 수 있게 된다. 이것은 기존 클라우딩 컴퓨팅 개념이 확장 응용되어 실제로 적용된 것으로 단순한 원격 데이터 액세스나 터미널 개념의 프로세스가 아닌 로컬 실행의 개념이 적용되는 것이다.
즉, 다수의 컴퓨터가 한 대의 PC를 공유하여 사용하는 기술로서, 기존의 파일 공유 방식이나 터미널 서비스의 개념이 아닌 실질적인 시스템의 리소스를 공유하는 방식이며, 고유한 방식으로 서비스를 제공하는 시스템에 가상의 파일 구조를 생성한 후 압축 및 암호화하여 별도의 서비스 파일로 생성하고, 이 파일을 클라이언트 시스템에 가상의 드라이브 형태로 전달되어 로컬 시스템에 별도의 파티션으로 생성된다. 그러면, 클라이언트에서는 자신의 로컬 PC와 같이 자유롭게 해당 드라이브를 연결하여 해당 가상 파티션에 포함된 프로그램을 자유롭게 사용하고, 편집, 수정 작업 등을 할 수 있으며, 이때, 클라이언트에서 편집, 수정된 작업의 결과는 서버에는 영향을 주지 않는 클라우드 방식의 디스크 공유 시스템 및 그 방법에 관한 것이다.
본 발명은 클라우드 방식의 디스크 공유 시스템 및 그 방법에 관한 것이다.
클라우드 컴퓨팅(Cloud Computing)은 인터넷 기반의 컴퓨팅 기술을 의미하는 것으로 인터넷 상의 Utility data server에 프로그램을 두고 그때 그때 컴퓨터나 휴대폰 등에 불러와서 사용하는 웹에 기반한 소프트웨어 서비스라고 할 수 있다. 최근에는 클라우드 컴퓨팅 기술을 이용한 서비스의 시도가 이루어지고 있으나 아직까지는 클라우드 컴퓨팅 개념이 정립되지 않은 초기 단계라고 할 수 있어 사용자들의 수요를 충족시키지 못하는 것이 현실이다.
또한, 최근 시도되고 있는 초기 클라우드 방식은 아직까지 파일 공유 방식에 크게 의존하고 있으며, 기존의 스트리밍 방식의 서비스는 시스템 서버에 부하를 많이 주어 동시 접속자 수에 큰 제한을 받게 되는 문제가 있다.
상술한 문제점을 해결하기 위해 안출된 본 발명의 목적은 각종 데이터를 중앙 서버에서 관리하고, 다수의 사용자들에게 공유함으로써, 각종 프로그램의 패치 및 업데이트 등의 작업이 용이하고, 각각의 사용자 컴퓨터의 디스크 공간을 실제로 확장할 필요없이 확장되는 효과를 얻을 수 있으며, 응용 프로그램 등이 중앙 서버에서 실행되도록 함으로써, 소프트웨어 라이선스 관리 등이 매우 용이하게 되는 클라우드 방식의 디스크 공유 시스템 및 그 방법을 제공하기 위한 것이다.
본 발명의 다른 목적은 접속자별 개인 작업이 개별 사용자 단말기의 가상디스크에만 적용되어 실제 개별 로컬 드라이브와 같은 작업 환경을 제공하는 것으로, 즉, 클라이언트의 원본 파일 시스템에 서버의 파일 시스템을 포함하여 새로운 사본 파일 시스템을 생성하여 관리하고, 컴퓨터 사용자들이 파일 작업을 하는 경우 가상 드라이브의 파일에 접근하여 작업하고자 하는 경우 새롭게 생성된 사본 파일 시스템을 참조하여 서버의 이미지 소스 드라이브의 파일을 요청하고 해당 파일만을 사용자들의 컴퓨터에 다운로드 받아 파일 작업을 함으로써, 실제로 각 사용자들이 하는 파일 작업의 변경 사항들이 서버의 원본 파일에는 전혀 영향을 주지 않으므로, 다수의 사용자들이 자신의 컴퓨터에서 전혀 다른 작업을 하더라도 다른 사용자들은 항상 원본 파일의 사용이 가능하도록 하여, 종래의 파일 공유 방식으로 정보 전달 속도가 느리고 모든 작업 내용이 가상 드라이브내에서 실시간 반영되어 사용자에 의한 데이터 무결성이 보장되지 않던 문제를 해결하고, 또한, 클라이언트에서 변경된 작업이 그대로 서버에도 반영되어 다른 사용자들에게 그대로 노출됨으로써 보안에 취약한 문제를 해결할 수 있는 클라우드 방식의 디스크 공유 시스템 및 그 방법을 제공하기 위한 것이다.
본 발명의 또 다른 목적은, 서버에 저장되어 있는 음악 파일이나 동영상 파일, 자주 실행하는 애플리케이션 파일, 또는 용량이 매우 큰 파일 등 사용자가 자주 참조하는 파일들은 한번에 모두 다운로드 받아 클라이언트의 메모리에 상주시키거나 로컬 드라이브를 통하여 디스크 캐시를 만들어 보관하도록 함으로써, 그 데이터들을 참조할 때마다 매번 서버에 다시 접속하여 해당 데이터를 요청할 필요없이 바로 클라이언트 컴퓨터에서 해당 파일들을 신속하게 실행할 수 있는 클라우드 방식의 디스크 공유 시스템 및 그 방법을 제공하기 위한 것이다.
본 발명의 또 다른 목적은, 다수의 클라이언트들이 서버의 클라우드 디스크를 마운트하여 개별 클라이언트에서 각각 다른 작업을 수행하더라도 서버에서 마운트를 해제하거나 일시적으로 해제하고 재마운트를 함으로써, 신속하게 디스크 복구 및 데이터 보존이 가능하고, 시스템 관리가 매우 용이해져 시스템의 부하 발생등을 방지할 수 있는 클라우드 방식의 디스크 공유 시스템 및 그 방법을 제공하기 위한 것이다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 특징에 따르면, 본 발명의 클라우드 방식의 디스크 공유 시스템은, 서버의 디스크를 적어도 하나 이상의 클라이언트에 공유하는 시스템에 있어서, 상기 서버는, 서버 관리자로부터 클라이언트와 공유할 클라우드 디스크로 지정될 이미지 소스 드라이브를 입력받는 클라우드 캐스트(Cloud Cast) 서버 모듈; 및 적어도 하나 이상의 클라이언트로부터 상기 클라우드 디스크의 마운트 요청을 입력받고, 상기 클라우드 디스크를 포함하는 서버의 파일 시스템을 복제하여 복제된 파일 시스템을 상기 클라우드 디스크의 마운트를 요청한 클라이언트에 전송하는 IVP(Internet Virtual Partition) 서버 모듈;을 포함하고, 상기 적어도 하나 이상의 클라이언트는, 사용자로부터 서버의 클라우드 디스크를 마운트 할 드라이브 명과 마운트 요청을 입력받는 클라우드 캐스트 클라이언트 모듈을 포함하고, 상기 클라우드 캐스트 클라이언트 모듈은, 사용자로부터 서버의 클라우드 디스크를 마운트 할 드라이브 명과 마운트 요청을 입력받으면, 에이전트 프로그램(Agent Program)을 통하여 서버에 접속하여 IVP 서버 모듈에 상기 클라우드 디스크의 마운트를 요청하며, 상기 IVP 서버 모듈로부터 복제된 파일 시스템을 전송받아 메모리에 로드하여, 상기 전송받은 복제된 파일 시스템의 클라우드 디스크의 드라이브 명을 상기 마운트할 드라이브 명으로 변경하여 가상 디스크를 생성하고, 자신 클라이언트의 원본 파일시스템에 상기 생성된 가상 디스크를 포함하여 자신 클라이언트의 사본 파일 시스템을 생성하는 것을 특징으로 한다.
또한, 서버 관리자로부터 클라이언트와의 통신에 사용될 포트 및 클라이언트와의 데이터 전송 패킷 크기를 더 입력받고, 상기 IVP 서버 모듈에 디스크 관리제어권을 넘기도록 운영체제(OS)에 요청하는 인터럽트를 생성하거나, 서버 관리자로부터 클라이언트에 마운트된 클라우드 디스크의 마운트를 해제하도록 마운트의 해제를 요청받거나 마운트 해제 후 상기 클라이언트에 재마운트 해주도록 재마운트 요청을 더 입력받고, 마운트를 해제하거나 재마운트 하는 것을 특징으로 한다.
또한, 상기 IVP 서버 모듈은, 상기 인터럽트 요청을 받은 상기 운영체제(OS)에 의해 램(RAM)에 로딩되고, 상기 운영체제(OS)로부터 디스크 관리 제어권을 넘겨받아 상기 클라우드 디스크를 포함하는 서버의 파일 시스템을 복제하고, 상기 복제된 파일 시스템을 쉐도우 메모리(Shadow Memory)에 로드하며, 상기 운영체제(OS)에 의해 서버의 파일시스템이 변경되면 파일시스템의 변경된 사항을 상기 복제된 파일 시스템에 반영하고, 상기 적어도 하나 이상의 클라이언트로부터 상기 클라우드 디스크의 마운트 요청을 입력받고, 상기 마운트를 요청한 클라이언트에 상기 복제된 파일 시스템을 전송하는 것을 특징으로 한다.
또한, 상기 클라우드 캐스트 클라이언트 모듈은, 사용자에 의해 상기 원본 파일시스템의 변경이 발생하면, 상기 변경된 사항을 사본 파일 시스템에 반영하고, 사용자가 상기 가상 디스크에 포함된 파일에 접근하고자 하는 경우에 상기 IVP 서버 모듈에 그 파일의 제공을 요청하고, 상기 IVP 서버 모듈로부터 그 파일을 전송받아 실행되도록 하는 것을 특징으로 한다.
또한, 상기 클라우드 캐스트 클라이언트 모듈은, 사용자로부터 디스크 캐시 사용 여부 및 디스크 캐시 파일 경로를 더 입력받고, 사용자가 디스크 캐시 사용을 입력하면, 사용자가 상기 가상 디스크에 포함된 파일에 접근하고자 하는 경우에 상기 디스크 캐시 파일 경로에 그 파일이 존재하는 지를 검색하고, 그 파일이 존재하지 않는 경우 IVP 서버 모듈에 그 파일의 제공을 요청하며, 상기 IVP 서버 모듈로부터 그 파일을 전송받아 상기 디스크 캐시에 저장하고, 그 파일이 실행되도록 하는 것을 특징으로 한다.
또한, 상기 클라우드 캐스트 클라이언트 모듈은, 사용자로부터 상기 가상 디스크에 포함된 파일 중 자주 참조할 적어도 하나 이상의 파일 정보를 더 입력받고, IVP 서버 모듈에 상기 입력받은 적어도 하나 이상의 파일의 제공을 요청하며, 상기 IVP 서버 모듈로부터 그 적어도 하나 이상의 파일을 전송받아 상기 디스크 캐시에 저장하고, 향후 사용자가 상기 입력받은 적어도 하나 이상의 파일에 접근하고자 하는 경우 상기 디스크 캐시 경로를 검색하여 그 파일을 실행되도록 하는 것을 특징으로 한다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 다른 특징에 따르면, 본 발명의 클라우드 방식의 디스크 공유 방법은, 서버의 디스크를 적어도 하나 이상의 클라이언트에 공유하는 방법에 있어서, (a) 상기 서버의 클라우드 캐스트 서버 모듈이 서버 관리자로부터 클라이언트와 공유할 클라우드 디스크로 지정될 이미지 소스 드라이브를 입력받는 단계; (b) 상기 서버의 IVP(Internet Virtual Partition) 서버 모듈이 상기 클라우드 디스크를 포함하는 서버의 파일 시스템을 복제하는 단계; 및 (c) 상기 IVP 서버 모듈이 적어도 하나 이상의 클라이언트로부터 상기 클라우드 디스크의 마운트 요청을 입력받고, 상기 복제된 파일 시스템을 상기 클라우드 디스크의 마운트를 요청한 클라이언트에 전송하는 단계;를 포함하고, 상기 (c) 단계는, (c1) 상기 클라이언트의 클라우드 캐스트 클라이언트 모듈이, 사용자로부터 상기 클라우드 디스크와 마운트 할 드라이브 명과 마운트 요청을 입력받는 단계; (c2) 상기 클라우드 캐스트 클라이언트 모듈이, 상기 (c1) 단계에서 마운트 요청을 입력받으면 에이전트 프로그램(Agent Program)을 통하여 서버에 접속하는 단계; 및 (c3) 상기 클라우드 캐스트 클라이언트 모듈이, IVP 서버 모듈에 상기 클라우드 디스크의 마운트를 요청하는 단계;를 포함한다.
또한, 상기 (a) 단계는, (a1) 상기 클라우드 캐스트 서버 모듈이, 서버 관리자로부터 클라이언트와 공유할 클라우드 디스크로 지정될 이미지 소스 드라이브, 클라이언트와의 통신에 사용될 포트 및 클라이언트와의 데이터 전송 패킷 크기를 입력받는 단계; 및 (a2) 상기 클라우드 캐스트 서버 모듈이, IVP 서버 모듈에 디스크 관리제어권을 넘기도록 운영체제(OS)에 요청하는 인터럽트를 생성하는 단계;를 포함하고, (d) 상기 클라우드 캐스트 서버 모듈이, 서버 관리자로부터 마운트 해제 요청을 입력받고 상기 (c) 단계에서 클라이언트에 마운트된 클라우드 디스크의 마운트를 해제하거나, 또는 재마운트 요청을 입력받고 상기 클라우드 디스크의 마운트를 해제 후 상기 클라이언트에 재마운트하는 단계를 더 포함한다.
또한, 상기 (b) 단계는, (b1) 상기 IVP 서버 모듈이, 상기 (a2) 단계에서 상기 인터럽트 요청을 받은 상기 운영체제(OS)에 의해 램(RAM)에 로딩되는 단계; (b2) 상기 IVP 서버 모듈이, 상기 운영체제(OS)로부터 디스크 관리 제어권을 넘겨받아 상기 클라우드 디스크를 포함하는 서버의 파일 시스템을 복제하는 단계; 및 (b3) 상기 IVP 서버 모듈이, 상기 복제된 파일 시스템을 쉐도우 메모리(Shadow Memory)에 로드하는 단계;를 포함한다.
또한, 상기 (c) 단계는, (c4) 상기 클라우트 캐스트 클라이언트 모듈이, 상기 IVP 서버 모듈로부터 복제된 파일 시스템을 전송받아 메모리에 로드하는 단계; (c5) 상기 클라우드 캐스트 클라이언트 모듈이, 상기 전송받은 복제된 파일 시스템의 클라우드 디스크의 드라이브 명을 상기 마운트할 드라이브 명으로 변경하여 가상 디스크를 생성하는 단계; (c6) 상기 클라우드 캐스트 클라이언트 모듈이, 자신 클라이언트의 원본 파일시스템에 상기 (c5) 단계에서 생성된 가상 디스크를 포함하여 사본 파일 시스템을 생성하는 단계; (c7) 상기 클라우드 캐스트 클라이언트 모듈이, 사용자가 파일을 실행시키고자 하는 경우, 그 파일이 상기 (c5) 단계에서 생성된 가상 디스크에 포함된 파일인지를 판단하는 단계; (c8) 상기 클라우드 캐스트 클라이언트 모듈이, 상기 (c7) 단계에서 사용자가 실행하고자 하는 파일이 상기 가상 디스크에 포함된 파일이 아니라고 판단하는 경우에는, 원본 파일 시스템의 변경 사항을 파악하여 변경된 사항이 있으면 사본 파일 시스템에 반영하는 단계; 및 (c9) 상기 클라우드 캐스트 클라이언트 모듈이, 상기 (c7) 단계에서 사용자가 실행하고자 하는 파일이 상기 가상 디스크에 포함된 파일이라고 판단하는 경우에는, IVP 서버 모듈에 그 파일을 요청하고, 상기 IVP 서버 모듈로부터 그 파일을 전송받아 실행되도록 하는 단계;를 더 포함한다.
이상 살펴본 바와 같은 본 발명에 따르면, 각종 데이터를 중앙 서버에서 관리하고, 다수의 사용자들에게 공유함으로써, 각종 프로그램의 패치 및 업데이트 등의 작업이 용이하고, 각각의 사용자 컴퓨터의 디스크 공간을 실제로 확장할 필요없이 확장되는 효과를 얻을 수 있으며, 응용 프로그램등이 중앙 서버에서 실행되도록 함으로써, 소프트웨어 라이선스 관리 등이 매우 용이하게 되는 클라우드 방식의 디스크 공유 시스템 및 그 방법을 제공할 수 있다.
또한, 본 발명에 따르면, 접속자별 개인 작업이 개별 사용자 단말기의 가상디스크에만 적용되어 실제 개별 로컬 드라이브와 같은 작업 환경을 제공하는 것으로, 즉, 클라이언트의 원본 파일 시스템에 서버의 파일 시스템을 포함하여 새로운 사본 파일 시스템을 생성하여 관리하고, 컴퓨터 사용자들이 파일 작업을 하는 경우 가상 드라이브의 파일에 접근하여 작업하고자 하는 경우 새롭게 생성된 사본 파일 시스템을 참조하여 서버의 이미지 소스 드라이브의 파일을 요청하고 해당 파일만을 사용자들의 컴퓨터에 다운로드 받아 파일 작업을 함으로써, 실제로 각 사용자들이 하는 파일 작업의 변경 사항들이 서버의 원본 파일에는 전혀 영향을 주지 않으므로, 다수의 사용자들이 자신의 컴퓨터에서 전혀 다른 작업을 하더라도 다른 사용자들은 항상 원본 파일의 사용이 가능하도록 하여, 종래의 파일 공유 방식으로 정보 전달 속도가 느리고 모든 작업 내용이 가상 드라이브내에서 실시간 반영되어 사용자에 의한 데이터 무결성이 보장되지 않던 문제를 해결하고, 또한, 클라이언트에서 변경된 작업이 그대로 서버에도 반영되어 다른 사용자들에게 그대로 노출됨으로써 보안에 취약한 문제를 해결할 수 있는 클라우드 방식의 디스크 공유 시스템 및 그 방법을 제공할 수 있다.
또한, 본 발명에 따르면, 서버에 저장되어 있는 음악 파일이나 동영상 파일, 자주 실행하는 애플리케이션 파일, 또는 용량이 매우 큰 파일 등 사용자가 자주 참조하는 파일들은 한번에 모두 다운로드 받아 클라이언트의 메모리에 상주시키거나 로컬 드라이브를 통하여 디스크 캐시를 만들어 보관하도록 함으로써, 그 데이터들을 참조할 때마다 매번 서버에 다시 접속하여 해당 데이터를 요청할 필요없이 바로 클라이언트 컴퓨터에서 해당 파일들을 신속하게 실행할 수 있는 클라우드 방식의 디스크 공유 시스템 및 그 방법을 제공할 수 있다.
본 발명에 따르면, 다수의 클라이언트들이 서버의 클라우드 디스크를 마운트하여 개별 클라이언트에서 각각 다른 작업을 수행하더라도 서버에서 마운트를 해제하거나 일시적으로 해제하고 재마운트를 함으로써, 신속하게 디스크 복구 및 데이터 보존이 가능하고, 시스템 관리가 매우 용이해져 시스템의 부하 발생등을 방지할 수 있는 클라우드 방식의 디스크 공유 시스템 및 그 방법을 제공할 수 있다.
도 1은 본 발명의 바람직한 실시예에 따른 클라우드 방식의 디스크 공유 시스템을 나타낸 블럭도이다.
도 2는 본 발명의 바람직한 실시예에 따른 클라우드 방식의 디스크 공유 시스템의 서버측 프로세스를 간략히 나타낸 도면이다.
도 3은 본 발명의 바람직한 실시예에 따른 클라우드 방식의 디스크 공유 시스템의 서버와 클라이언트간의 파일시스템의 전달 프로세스를 간략히 나타낸 도면이다.
도 4는 본 발명의 바람직한 실시예에 따른 클라우드 방식의 디스크 공유 시스템의 클라이언트에 생성된 가상디스크가 보여지는 모습을 나타낸 도면이다.
도 5는 본 발명의 바람직한 실시예에 따른 클라우드 방식의 디스크 공유 방법을 나타낸 흐름도이다.
도 6은 본 발명의 바람직한 실시예에 따른 클라우드 방식의 디스크 공유 방법의 클라이언트측의 프로세스를 나타낸 흐름도이다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 본 발명의 실시예들에 의하여 클라우드 방식의 디스크 공유 시스템 및 그 방법을 설명하기 위한 도면들을 참고하여 본 발명에 대해 설명하도록 한다.
도 1은 본 발명의 바람직한 실시예에 따른 클라우드 방식의 디스크 공유 시스템을 나타낸 블럭도이다. 도 2는 본 발명의 바람직한 실시예에 따른 클라우드 방식의 디스크 공유 시스템의 서버측 프로세스를 간략히 나타낸 도면이다.
본 발명의 바람직한 실시예에 따른 클라우드 방식의 디스크 공유 시스템은 서버(100)와 적어도 하나 이상의 클라이언트(200)를 포함한다.
먼저, 도 1을 참조하여 서버(100)에 대해 살펴보면, 서버(100)는, 클라우드 캐스트(Cloud Cast) 서버 모듈(110)과 IVP(Internet Virtual Partition) 서버 모듈(120)을 포함한다.
그리고, 클라우드 캐스트 서버 모듈(110)은 서버 관리자로부터 클라이언트(200)와 공유할 클라우드 디스크로 지정될 이미지 소스 드라이브를 입력받는다.
여기서, 클라우드 디스크란 다수의 클라이언트(200)에 공유할 서버의 디스크를 말하는 데, 이미지 소스 드라이브로 입력된 디스크를 암호화된 이미지화 기법으로 디스크 이미지화하여 클라이언트(200)에 마운트 된다.
디스크 이미지(Disk image)는 기록 미디어 안에 있는 내용이 저장된 파일을 가리킨다. 이러한 디스크 이미지는 일부 압축 프로그램을 사용하여 압축 파일을 풀듯이 풀 수도 있으며, 별도의 가상 CD/DVD 소프트웨어를 이용하여 마치 실제 CD/DVD 미디어를 사용하는 것처럼 에뮬레이트 하는데 쓸 수도 있다. 이러한 이미지를 드라이브에서 사용하는 것을 마운트라고 한다.
좀 더 구체적으로, 클라우드 캐스트 서버 모듈(110)은, 서버 관리자로부터 클라이언트(200)와의 통신에 사용될 포트 및 클라이언트와의 데이터 전송 패킷 크기를 더 입력받는다.
그리고, IVP 서버 모듈(120)에 디스크 관리제어권을 넘기도록 운영체제(OS)에 요청하는 인터럽트를 생성한다.
또한, IVP(Internet Virtual Partition) 서버 모듈(120)은 적어도 하나 이상의 클라이언트(200)로부터 클라우드 디스크의 마운트 요청을 입력받는다.
그리고, 클라우드 디스크를 포함하는 서버(100)의 파일 시스템을 복제하여 복제된 파일 시스템을 요청한 클라이언트(200)에 전송한다.
좀 더 구체적으로, IVP 서버 모듈(120)은, 클라우드 캐스트 서버 모듈(110)로부터 인터럽트 요청을 받은 운영체제(OS)에 의해 램(RAM)에 로딩된다.
그리고, IVP 서버 모듈(120)이 램(RAM)에 로딩되면서 운영체제(OS)로부터 디스크 관리 제어권을 넘겨받아 클라우드 디스크를 포함하는 서버(100)의 파일 시스템을 복제한다.
또한, IVP 서버 모듈(120)이 복제된 파일 시스템을 쉐도우 메모리(Shadow Memory)에 로드한다.
그리고, IVP 서버 모듈(120)은 운영체제(OS)에 의해 서버(100)의 파일시스템이 변경되는지를 실시간 감시하고, 파일 시스템의 변경이 있으면, 파일시스템의 변경된 사항을 복제된 파일 시스템에 반영한다.
그리고, IVP 서버 모듈(120)은 적어도 하나 이상의 클라이언트(200)로부터 클라우드 디스크의 마운트 요청을 입력받고, 요청한 클라이언트(200)에 복제된 파일 시스템을 전송한다.
이때, 서버(100)에서 IVP서버 모듈(120은 복제된 파일 시스템을 이미지 암호화 기법을 적용하여 생성하는 것이 바람직하다.
즉, 이미지 암호화 기법이란 서버에서 클라이언트 시스템들에 파일을 공유하면서 발생할 수 있는 보안 문제를 해결하기 위하여 단순한 파일 공유 형태로 가상 드라이브를 생성하는 것이 아니라 서버 쪽에서는 압축된 파일 형식으로 디스크 드라이브를 생성하는 기법을 말한다.
이러한 방식은 윈도우에서 제공하는 파일 공유의 개념과 크게 달라 실제 암호화된 이미지 파일 하나가 클라이언트 쪽에서는 로컬 디스크로 작동하게 되어 허가되지 않은 사용자를 통한 접근을 차단할 수 있는 역할을 제공할 수 있게 된다.
도 2를 참조하여 본 발명의 서버측 프로세스에 대해 바람직한 실시예를 좀 더 구체적으로 살펴보면, 클라우드 디스크로 지정되어 클라이언트에 공유할 원본 이미지 소스 드라이브와, 클라이언트와 통신에 사용될 TCP 포트 번호 및 데이터 전송 패킷 크기를 입력받고 실행(Active) 버튼을 누르게 된다. 도 2에서는 D: 드라이브가 클라우드 디스크로 지정되었음을 알 수 있다.
그러면, 클라우드 캐스트 서버 모듈(110)은 윈도우즈 운영체제(OS)에 인터럽트를 발생하여 IVP 서버 모듈(120)을 램에 로딩하도록 하고, 디스크 관리 제어권을 IVP 서버 모듈(120)에 넘기도록 한다.
IVP 서버 모듈은 윈도우즈 운영체제(OS)에 의해 램(RAM)에 로딩되면서 클라우드 디스크로 지정된 드라이브를 포함하여 서버의 파일 시스템을 복사하고 이를 쉐도우 메모리(Shadow Memory)에 로드한다.
이는 클라이언트(200)의 클라우드 디스크의 마운트 요청에 신속하게 응답하기 위함이다.
도 2에는 IVP 서버 모듈(120)이 서버(100)의 원본 파일시스템인 FAT를 복사하여 FAT'를 생성하여 메모리에 로딩하는 것을 나타내었다.
또한, IVP 서버 모듈(120)은 운영체제(OS)의 디스크 관리를 실시간으로 감시하고, 원본 파일 시스템(FAT)이 변경되면 변경된 사항을 즉시 사본 파일 시스템(FAT')에 반영하여, 클라이언트(200)의 요청에 서버의 변경되는 정보를 신속하게 응답할 수 있게 된다.
즉, IVP서버 모듈(120)은 메모리에 상주하면서 클라이언트(200)의 요청이 있으면 복제된 사본 파일 시스템(FAT')을 클라이언트(200)에 전송한다.
도 2에 IVP 서버 모듈(120)이 마치 윈도우즈(Windows)를 포함하는 것처럼 나타낸 것은 디스크 관리에서 IVP 서버 모듈(120)이 우선함을 나타내기 위함이다.
또한, 클라우드 캐스트 서버 모듈(110)은 서버 관리자로부터 클라이언트(200)와의 마운트를 해제하거나 재마운트하도록 요청을 받을 수 있다.
서버 관리자로부터 마운트 해제 요청을 입력받으면, 클라이언트 서버 모듈(110)은 클라우드 디스크가 마운트된 클라이언트(200)와의 마운트를 해제하고, 재마운트 요청이 입력되면, 마운트를 일시적으로 해제하고, 클라우드 디스크의 마운트를 요청한 클라이언트(200)들을 재마운트 시키도록 하는 것이 매우 바람직하다.
이렇게 함으로써, 중앙 서버에서 일률적으로 데이터 관리 및 소프트웨어 라이센스 관리, 그리고 서버의 부하 발생에 대응 등 서버의 시스템 관리가 용이해져 사용자에게 만족할 수 있는 파일 공유 및 디스크 복제 서비스를 제공할 수 있게 된다.
도 3은 본 발명의 바람직한 실시예에 따른 클라우드 방식의 디스크 공유 시스템의 서버와 클라이언트간의 파일시스템의 전달 프로세스를 간략히 나타낸 도면이다.
다음은, 도 1과 도 3을 참조하여 적어도 하나 이상의 클라이언트(200)에 대해 살펴보면, 클라이언트(200)는 클라우드 캐스트(Cloud Cast) 클라이언트 모듈(210)을 포함한다.
클라우드 캐스트 클라이언트 모듈(210)은 사용자로부터 클라우드 디스크와 마운트 할 드라이브 명과 마운트 요청을 입력받는다.
그리고, 에이전트 프로그램(Agent Program)을 통하여 서버(100)에 접속하여 IVP 서버 모듈(120)에 클라우드 디스크의 마운트를 요청한다.
즉, 에이전트 프로그램(Agent Program)은 지정된 서버(100) IP로 접속하여 클라우드 캐스트 서버 모듈(110)이 입력받은 TCP 통신 포트를 이용하여 IVP 서버 모듈(120)에 클라우드 디스크의 마운트 요청을 하게 된다.
또한, 클라우드 캐스트 클라이언트 모듈(210)은 자신 클라이언트(200)의 원본 파일시스템(CFAT)을 복제하여 메모리에 로드하는 것이 바람직할 것이다.
그리고, IVP 서버 모듈(120)로부터 복제된 파일 시스템(SFAT')을 전송받아 메모리에 로드하여, 그 전송받은 복제된 파일 시스템(SFAT')의 클라우드 디스크의 드라이브 명을 마운트할 드라이브 명으로 변경하여 가상 디스크(Virtual Disk)를 생성한다.
여기서, 가상 디스크란 가상의 파티션 공간을 의미하며 본 발명에 의해 클라인트에 생성된 가상 디스크는 단순히 네트워크 드라이브 역할을 하는 것이 아니라 실제 로컬 시스템의 하드와 동일하게 동작을 하지만 실제로는 이 디스크는 서버에서 암호화되어 이미지화된 디스크로 실제 파티션이 아닌 하나의 이미지 파일로서 동작하는 디스크가 된다.
그리고, 자신 클라이언트의 원본 파일시스템에 가상 디스크를 포함하여 자신 클라이언트의 사본 파일 시스템(CFAT')을 생성한다.
즉, 도 3을 참조하여 보면, 서버(100)에서 클라우드 디스크로 지정된 D: 드라이브가 마운트할 드라이브로 지정된 클라이언트(200)의 Z: 드라이브로 변경되어 가상 디스크가 생성되고, 이 가상디스크인 Z: 드라이브가 원본 파일 시스템 CFAT에 포함되어 새로운 클라이언트(200)의 사본 파일 시스템 CFAT'이 생성되는 것을 알 수 있다.
따라서, 클라이언트(200)의 Z: 드라이브는 결국 서버(100)의 클라우드 디스크인 D: 드라이브의 명이 변경되어 생성되고, 서버(100)의 클라우드 디스크를 마운트하여 공유하게 될 가상의 디스크임을 알 수 있다.
도 4는 본 발명의 바람직한 실시예에 따른 클라우드 방식의 디스크 공유 시스템의 클라이언트에 생성된 가상디스크가 보여지는 모습을 나타낸 도면이다.
도 4를 참조하면, 실제 C: 드라이브 하나를 갖고 있는 클라이언트(200)가 클라우드 캐스트 클라이언트 모듈(210)을 실행하여 서버(100)의 클라우드 디스크인 D: 드라이브를 가상 디스크 Z: 드라이브에 매핑하여 자동으로 공유시키면, 마치 가상 디스크 Z: 드라이브가 실제 로컬 드라이브인 것처럼 나타난 것을 알 수 있다.
한편, 클라우드 캐스트 클라이언트 모듈(210)은, 사용자에 의해 상기 원본 파일시스템의 변경이 발생하면, 변경된 사항을 사본 파일 시스템에 반영하고, 사용자가 가상 디스크에 포함된 파일에 접근하고자 하는 경우에 IVP 서버 모듈(120)에 그 파일의 제공을 요청하고, IVP 서버 모듈(120)로부터 그 파일을 전송받아 실행되도록 하는 것이 바람직하다.
즉, 도 3과 도 4를 참조하여 클라이언트(200)측에서 클라우드 캐스트 클라이언트 모듈(210)에 대해 좀 더 구체적으로 살펴보면, 클라우드 캐스트 클라이언트 모듈(210)은 사용자로부터 클라우드 디스크를 마운트할 드라이브 명, 디스크 캐시(Disk Cache) 사용 여부, 디스크 캐시 경로, 컴퓨터 부팅시 자동 마운트 여부 등을 입력받고, 마운트 요청을 입력받는다.
그리고, 클라우드 캐스트 클라이언트 모듈(210)은, 사용자가 디스크 캐시 사용을 입력하면, 사용자가 클라우드 디스크가 마운트되어 생성된 가상 디스크에 포함된 파일에 접근하고자 하는 경우에 디스크 캐시 파일 경로에 그 파일이 존재하는 지를 검색한다.
만약, 그 디스크 캐시 파일 경로에 그 파일이 존재하지 않는 경우 IVP 서버 모듈(120)에 그 파일의 제공을 요청하고, IVP 서버 모듈(120)로부터 그 파일을 전송받아 디스크 캐시에 저장하고, 그 파일이 실행되도록 하는 것이 바람직하다.
또한, 클라우드 캐스트 클라이언트 모듈(210)은, 사용자가 디스크 캐시 사용을 입력하면, 사용자로부터 클라우드 디스크가 마운트되어 생성된 가상 디스크에 포함된 파일 중 자주 참조할 적어도 하나 이상의 파일 정보를 더 입력받는 것이 바람직하다.
그리고, 서버(100)의 IVP 서버 모듈(120)에 그 자주 참조할 파일들의 제공을 요청하고, IVP 서버 모듈(120)로부터 그 파일들을 전송받아 디스크 캐시에 저장해 놓는 것이 바람직하다.
그리고, 사용자가 자주 참조할 파일들에 대해 접근하여 작업을 하고자 하는 경우 서버(100)에 접속하여 IVP 서버 모듈(120)에 그 파일들을 요청할 필요없이 바로 디스크 캐시 경로를 검색하여 그 파일들을 실행하도록 함이 바람직하다.
이렇게 함으로써, 서버(100)의 클라우드 디스크에 저장되어 있는 음악 파일이나 동영상 파일, 자주 실행하는 애플리케이션 파일, 또는 용량이 매우 큰 파일 등 사용자가 자주 참조하는 파일들은 클라이언트의 메모리에 상주시키거나 로컬 드라이브를 통하여 디스크 캐시를 만들어 보관하도록 하여, 그 데이터들을 참조할 때 마다 매번 서버(100)를 다시 호출하여 해당 데이터를 요청하지 않고 클라이언트(200) 컴퓨터에서 신속하게 실행할 수 있게 된다.
또한, 매 부팅시마다 자동으로 마운트를 하도록 설정하게 되면, 사용자는 별도의 환경 설정 없이 클라우드 서버(100)의 공유 디스크를 최신 업데이트 된 상태로 이용이 가능하게 된다.
또한, 클라우드 캐스트 클라이언트 모듈(210)은 사용자로부터 마운트 요청을 입력받으면, 서버(100)의 IVP 서버 모듈(120)로부터 서버(100)의 복제된 파일 시스템을 전송받아 새로운 클라이언트(200)의 사본 파일 시스템(CFAT')을 생성한다.
그리고, 클라우드 캐스트 클라이언트 모듈(210)은 원본 파일 시스템(CFAT)의 변경된 사항을 체크하고 변경된 사항이 있으면 실시간으로 사본 파일 시스템(CFAT')에 반영한다.
즉, 사용자가 클라우드 디스크가 마운트된 가상디스크(Z: 드라이브)에 포함된 파일이 아닌 원본 파일시스템에 포함된 파일에 대한 작업을 하게 되면 모든 데이터 수정, 삭제, 추가 등의 작업 결과는 원본 파일 시스템(CFAT)에 반영이 되며, 이 경우 클라우드 캐스트 클라이언트 모듈(210)은 원본 파일 시스템(CFAT)의 변경 사항을 사본 파일 시스템(CFAT')에도 반영한다.
반면에, 사용자가 가상 디스크(Z: 드라이브)에 포함된 파일에 접근하여 작업하고자 하는 경우 클라우드 캐스트 클라이언트 모듈(210)은 사본 파일 시스템(CFAT')을 참조하여 서버(100)의 IVP 서버 모듈(120)에 해당 파일을 요청하고, IVP 서버 모듈(120)은 서버의 복제된 파일 시스템(SFAT')을 참조하여 해당 파일을 클라이언트(200)에 전송한다.
즉, 이는 실제 실행될 프로그램의 전체를 불러오지 않고 실행에 필요한 모듈만을 요청하게 되는 것으로 클라이언트는 연관된 모든 데이터를 호출하지 않는다. 다만, 자주 참조하는 데이터의 경우에는 메모리에 상주시키거나 로컬 드라이브를 통하여 디스크 캐시를 만들어 보관한다.
이렇게 함으로써, 클라이언트(200)의 로컬 드라이브가 변경되는 경우에도 사본 파일 시스템(CFAT')에는 변경이 되지만 서버(100)측의 파일시스템에는 전혀 영향을 주지 않게 된다.
따라서, 클라이언트(200)에는 두 개의 파일 시스템을 두어 클라이언트(200)의 원본 파일 시스템(CFAT)은 실제 클라이언트(200)측의 데이터의 변화를 담당하기 위함이며, 사본 파일 시스템(CFAT')은 서버(100)측의 클라우드 디스크에 접속을 유지하고 있을 때에만 디스크 관리를 담당하도록 함으로써, 클라이언트(200)에서 클라우드 디스크에 포함된 파일, 데이터 등의 변경된 사항은 클라이언트(200)의 재부팅과 함께 다시 초기 상태로 복원시킬 수 있게 된다.
이렇게 함으로써, 클라우드 디스크를 공유하여 다수의 클라이언트(200)에 데이터를 전송하는 경우, 접속 시간의 차이로 인하여 동일 데이터에 대해 먼저 전송받은 사용자가 그 데이터를 변경하더라도 해당 사용자의 클라이언트에서만 변경이 되고 서버(100)측의 파일 시스템은 전혀 영향을 주지 않으므로, 다른 사용자들에게도 서버(100)측의 동일한 데이터를 제공할 수 있게 된다.
따라서, 데이터 용량이 매우 큰 각종 미디어 파일이나 게임들의 DVD 1~2 장 크기의 데이터라도 다수의 클라이언트가 빠르게 참조할 수 있으며 동시에 실행이 가능하며 또한 마치 클라이언트의 로컬 디스크와 같이 요청한 클라이언트별로 수정 및 편집이 가능하므로, 중소기업의 사무실이나 인터넷 게임방 또는 각종 교육 기관의 실습실 등에서 매우 유용하게 사용할 수 있다.
도 5는 본 발명의 바람직한 실시예에 따른 클라우드 방식의 디스크 공유 방법을 나타낸 흐름도이다.
도 6은 본 발명의 바람직한 실시예에 따른 클라우드 방식의 디스크 공유 방법의 클라이언트측의 프로세스를 나타낸 흐름도이다.
도 5와 도 6을 참조하여 바람직한 실시예를 보면, 클라우드 방식의 디스크 공유 방법은,
먼저, 서버(100)의 클라우드 캐스트 서버 모듈(110)이 서버 관리자로부터 클라이언트(200)와 공유할 클라우드 디스크로 지정될 이미지 소스 드라이브를 입력받는다(단계 S100).
좀 더 구체적으로, 먼저, 클라우드 캐스트 서버 모듈(110)이, 서버 관리자로부터 클라이언트(200)와 공유할 클라우드 디스크로 지정된 이미지 소스 드라이브, 클라이언트와의 통신에 사용될 포트 및 클라이언트와의 데이터 전송 패킷 크기를 입력받는다(단계 S110).
그리고, 클라우드 캐스트 서버 모듈(110)이, IVP 서버 모듈(120)에 디스크 관리제어권을 넘기도록 운영체제(OS)에 요청하는 인터럽트를 생성한다(단계 S120).
그 다음, 서버(100)의 IVP(Internet Virtual Partition) 서버 모듈(120)이 클라우드 디스크를 포함하는 서버(100)의 파일 시스템을 복제한다(단계 S200).
좀 더 구체적으로, IVP 서버 모듈(120)이, 인터럽트 요청을 받은 운영체제(OS)에 의해 램(RAM)에 로딩된다(단계 S210).
그리고, IVP 서버 모듈(120)이, 운영체제(OS)로부터 디스크 관리 제어권을 넘겨받아 클라우드 디스크를 포함하는 서버(100)의 파일 시스템을 복제한다(단계 S220).
마지막으로, IVP 서버 모듈(120)이, 복제된 파일 시스템을 쉐도우 메모리(Shadow Memory)에 로드한다(단계 S230).
그 다음, IVP 서버 모듈(120)이 적어도 하나 이상의 클라이언트(200)로부터 클라우드 디스크의 마운트 요청을 입력받고, 복제된 파일 시스템을 클라우드 디스크의 마운트를 요청한 클라이언트(200)에 전송한다(단계 S300).
마지막으로, 클라우드 캐스트 서버 모듈(110)이 서버 관리자로부터 마운트 해제 요청을 입력받고 단계 S300에서 클라이언트(200)에 마운트된 클라우드 디스크의 마운트를 해제하거나, 또는 재마운트 요청을 입력받고 클라우드 디스크의 마운트를 해제 후 클라이언트(200)에 재마운트하는 것이 바람직하다(단계 S400).
도 6을 참조하여 클라이언트(200)의 클라우드 캐스트 클라이언트 모듈(210)의 바람직한 실시예를 보면,
먼저, 클라이언트(200)의 클라우드 캐스트 클라이언트 모듈(210)이, 사용자로부터 마운트 할 드라이브 명과 마운트 요청을 입력받는다(단계 S310).
그 다음, 클라우드 캐스트 클라이언트 모듈(210)이, 마운트 요청을 입력받으면 에이전트 프로그램(Agent Program)을 통하여 서버(100)에 접속한다(단계 S320).
그 다음, 클라우드 캐스트 클라이언트 모듈(210)이, IVP 서버 모듈(120)에 클라우드 디스크의 마운트를 요청한다(단계 S330).
그러면, IVP 서버 모듈(120)은 해당 클라이언트(200)에 서버(100)의 복제된 파일 시스템을 전송하게 된다.
그 다음, 클라우드 디스크의 마운트를 요청한 클라이언트(200)의 클라우드 캐스트 클라이언트 모듈(210)이, IVP 서버 모듈(120)로부터 복제된 파일 시스템을 전송받아 메모리에 로드한다(단계 S340).
그 다음, 클라우드 캐스트 클라이언트 모듈(210)이, 전송받은 복제된 파일 시스템의 클라우드 디스크의 드라이브 명을 마운트할 드라이브 명으로 변경하여 가상 디스크를 생성한다(단계 S350).
그 다음, 클라우드 캐스트 클라이언트 모듈(210)이, 자신 클라이언트(200)의 원본 파일시스템에 단계 S350에서 생성된 가상 디스크를 포함하여 사본 파일 시스템을 생성한다(단계 S360).
그 다음, 클라우드 캐스트 클라이언트 모듈(210)이, 사용자가 파일을 실행시키고자 하는 경우, 그 파일이 단계 S350에서 생성된 가상 디스크에 포함된 파일인지를 판단한다(단계 S370).
그 다음, 클라우드 캐스트 클라이언트 모듈(210)이, 단계 S370에서 그 파일이 가상 디스크에 포함된 파일이 아니라고 판단하는 경우에는, 원본 파일 시스템의 변경 사항을 파악하여 변경된 사항이 있으면 사본 파일 시스템에 반영한다(단계 S380).
반면에, 클라우드 캐스트 클라이언트 모듈(210)이, 단계 S370에서 그 파일이 가상 디스크에 포함된 파일이라고 판단하는 경우에는, IVP 서버 모듈(120)에 해당 파일을 요청하고, IVP 서버 모듈(120)로부터 그 파일을 전송받아 실행되도록 한다(단계 S390).
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100 : 서버 110 : 클라우드 캐스트 서버 모듈
120 : IVP 서버 모듈 200 : 클라이언트
210 : 클라우드 캐스트 클라이언트 모듈

Claims (10)

  1. 서버의 디스크를 적어도 하나 이상의 클라이언트에 공유하는 시스템에 있어서,
    상기 서버는,
    서버 관리자로부터 클라이언트와 공유할 클라우드 디스크로 지정될 이미지 소스 드라이브를 입력받는 클라우드 캐스트(Cloud Cast) 서버 모듈; 및
    적어도 하나 이상의 클라이언트로부터 상기 클라우드 디스크의 마운트 요청을 입력받고, 상기 클라우드 디스크를 포함하는 서버의 파일 시스템을 복제하여 복제된 파일 시스템을 상기 클라우드 디스크의 마운트를 요청한 클라이언트에 전송하는 IVP(Internet Virtual Partition) 서버 모듈;을 포함하고,
    상기 적어도 하나 이상의 클라이언트는,
    사용자로부터 서버의 클라우드 디스크를 마운트 할 드라이브 명과 마운트 요청을 입력받는 클라우드 캐스트 클라이언트 모듈을 포함하고,
    상기 클라우드 캐스트 클라이언트 모듈은,
    사용자로부터 서버의 클라우드 디스크를 마운트 할 드라이브 명과 마운트 요청을 입력받으면, 에이전트 프로그램(Agent Program)을 통하여 서버에 접속하여 IVP 서버 모듈에 상기 클라우드 디스크의 마운트를 요청하며, 상기 IVP 서버 모듈로부터 복제된 파일 시스템을 전송받아 메모리에 로드하여, 상기 전송받은 복제된 파일 시스템의 클라우드 디스크의 드라이브 명을 상기 마운트할 드라이브 명으로 변경하여 가상 디스크를 생성하고, 자신 클라이언트의 원본 파일시스템에 상기 생성된 가상 디스크를 포함하여 자신 클라이언트의 사본 파일 시스템을 생성하는 것을 특징으로 하는 클라우드 방식의 디스크 공유 시스템.
  2. 제1항에 있어서, 상기 클라우드 캐스트 서버 모듈은,
    서버 관리자로부터 클라이언트와의 통신에 사용될 포트 및 클라이언트와의 데이터 전송 패킷 크기를 더 입력받고, 상기 IVP 서버 모듈에 디스크 관리제어권을 넘기도록 운영체제(OS)에 요청하는 인터럽트를 생성하거나,
    서버 관리자로부터 클라이언트에 마운트된 클라우드 디스크의 마운트를 해제하도록 마운트의 해제를 요청받거나 마운트 해제 후 상기 클라이언트에 재마운트 해주도록 재마운트 요청을 더 입력받고, 마운트를 해제하거나 재마운트 하는 것을 특징으로 하는 클라우드 방식의 디스크 공유 시스템.
  3. 제2항에 있어서, 상기 IVP 서버 모듈은,
    상기 인터럽트 요청을 받은 상기 운영체제(OS)에 의해 램(RAM)에 로딩되고, 상기 운영체제(OS)로부터 디스크 관리 제어권을 넘겨받아 상기 클라우드 디스크를 포함하는 서버의 파일 시스템을 복제하고, 상기 복제된 파일 시스템을 쉐도우 메모리(Shadow Memory)에 로드하며, 상기 운영체제(OS)에 의해 서버의 파일시스템이 변경되면 파일시스템의 변경된 사항을 상기 복제된 파일 시스템에 반영하고, 상기 적어도 하나 이상의 클라이언트로부터 상기 클라우드 디스크의 마운트 요청을 입력받고, 상기 마운트를 요청한 클라이언트에 상기 복제된 파일 시스템을 전송하는 것을 특징으로 하는 클라우드 방식의 디스크 공유 시스템.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 클라우드 캐스트 클라이언트 모듈은,
    사용자에 의해 상기 원본 파일시스템의 변경이 발생하면, 상기 변경된 사항을 사본 파일 시스템에 반영하고, 사용자가 상기 가상 디스크에 포함된 파일에 접근하고자 하는 경우에 상기 IVP 서버 모듈에 그 파일의 제공을 요청하고, 상기 IVP 서버 모듈로부터 그 파일을 전송받아 실행되도록 하는 것을 특징으로 하는 클라우드 방식의 디스크 공유 시스템.
  5. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 클라우드 캐스트 클라이언트 모듈은,
    사용자로부터 디스크 캐시 사용 여부 및 디스크 캐시 파일 경로를 더 입력받고, 사용자가 디스크 캐시 사용을 입력하면, 사용자가 상기 가상 디스크에 포함된 파일에 접근하고자 하는 경우에 상기 디스크 캐시 파일 경로에 그 파일이 존재하는 지를 검색하고, 그 파일이 존재하지 않는 경우 IVP 서버 모듈에 그 파일의 제공을 요청하며, 상기 IVP 서버 모듈로부터 그 파일을 전송받아 상기 디스크 캐시에 저장하고, 그 파일이 실행되도록 하는 것을 특징으로 하는 클라우드 방식의 디스크 공유 시스템.
  6. 제5항에 있어서, 상기 클라우드 캐스트 클라이언트 모듈은,
    사용자로부터 상기 가상 디스크에 포함된 파일 중 자주 참조할 적어도 하나 이상의 파일 정보를 더 입력받고, IVP 서버 모듈에 상기 입력받은 적어도 하나 이상의 파일의 제공을 요청하며, 상기 IVP 서버 모듈로부터 그 적어도 하나 이상의 파일을 전송받아 상기 디스크 캐시에 저장하고, 향후 사용자가 상기 입력받은 적어도 하나 이상의 파일에 접근하고자 하는 경우 상기 디스크 캐시 경로를 검색하여 그 파일을 실행되도록 하는 것을 특징으로 하는 클라우드 방식의 디스크 공유 시스템.
  7. 서버의 디스크를 적어도 하나 이상의 클라이언트에 공유하는 방법에 있어서,
    (a) 상기 서버의 클라우드 캐스트 서버 모듈이 서버 관리자로부터 클라이언트와 공유할 클라우드 디스크로 지정될 이미지 소스 드라이브를 입력받는 단계;
    (b) 상기 서버의 IVP(Internet Virtual Partition) 서버 모듈이 상기 클라우드 디스크를 포함하는 서버의 파일 시스템을 복제하는 단계; 및
    (c) 상기 IVP 서버 모듈이 적어도 하나 이상의 클라이언트로부터 상기 클라우드 디스크의 마운트 요청을 입력받고, 상기 복제된 파일 시스템을 상기 클라우드 디스크의 마운트를 요청한 클라이언트에 전송하는 단계;를 포함하고,
    상기 (c) 단계는,
    (c1) 상기 클라이언트의 클라우드 캐스트 클라이언트 모듈이, 사용자로부터 상기 클라우드 디스크와 마운트 할 드라이브 명과 마운트 요청을 입력받는 단계;
    (c2) 상기 클라우드 캐스트 클라이언트 모듈이, 상기 (c1) 단계에서 마운트 요청을 입력받으면 에이전트 프로그램(Agent Program)을 통하여 서버에 접속하는 단계; 및
    (c3) 상기 클라우드 캐스트 클라이언트 모듈이, IVP 서버 모듈에 상기 클라우드 디스크의 마운트를 요청하는 단계;를 포함하는 클라우드 방식의 디스크 공유 방법.
  8. 제7항에 있어서, 상기 (a) 단계는,
    (a1) 상기 클라우드 캐스트 서버 모듈이, 서버 관리자로부터 클라이언트와 공유할 클라우드 디스크로 지정될 이미지 소스 드라이브, 클라이언트와의 통신에 사용될 포트 및 클라이언트와의 데이터 전송 패킷 크기를 입력받는 단계; 및
    (a2) 상기 클라우드 캐스트 서버 모듈이, IVP 서버 모듈에 디스크 관리제어권을 넘기도록 운영체제(OS)에 요청하는 인터럽트를 생성하는 단계;를 포함하고,
    (d) 상기 클라우드 캐스트 서버 모듈이, 서버 관리자로부터 마운트 해제 요청을 입력받고 상기 (c) 단계에서 클라이언트에 마운트된 클라우드 디스크의 마운트를 해제하거나, 또는 재마운트 요청을 입력받고 상기 클라우드 디스크의 마운트를 해제 후 상기 클라이언트에 재마운트하는 단계를 더 포함하는 클라우드 방식의 디스크 공유 방법.
  9. 제8항에 있어서, 상기 (b) 단계는,
    (b1) 상기 IVP 서버 모듈이, 상기 (a2) 단계에서 상기 인터럽트 요청을 받은 상기 운영체제(OS)에 의해 램(RAM)에 로딩되는 단계;
    (b2) 상기 IVP 서버 모듈이, 상기 운영체제(OS)로부터 디스크 관리 제어권을 넘겨받아 상기 클라우드 디스크를 포함하는 서버의 파일 시스템을 복제하는 단계; 및
    (b3) 상기 IVP 서버 모듈이, 상기 복제된 파일 시스템을 쉐도우 메모리(Shadow Memory)에 로드하는 단계;를 포함하는 클라우드 방식의 디스크 공유 방법.
  10. 제7항 내지 제9항 중 어느 한 항에 있어서, 상기 (c) 단계는,
    (c4) 상기 클라우트 캐스트 클라이언트 모듈이, 상기 IVP 서버 모듈로부터 복제된 파일 시스템을 전송받아 메모리에 로드하는 단계;
    (c5) 상기 클라우드 캐스트 클라이언트 모듈이, 상기 전송받은 복제된 파일 시스템의 클라우드 디스크의 드라이브 명을 상기 마운트할 드라이브 명으로 변경하여 가상 디스크를 생성하는 단계;
    (c6) 상기 클라우드 캐스트 클라이언트 모듈이, 자신 클라이언트의 원본 파일시스템에 상기 (c5) 단계에서 생성된 가상 디스크를 포함하여 사본 파일 시스템을 생성하는 단계;
    (c7) 상기 클라우드 캐스트 클라이언트 모듈이, 사용자가 파일을 실행시키고자 하는 경우, 그 파일이 상기 (c5) 단계에서 생성된 가상 디스크에 포함된 파일인지를 판단하는 단계;
    (c8) 상기 클라우드 캐스트 클라이언트 모듈이, 상기 (c7) 단계에서 사용자가 실행하고자 하는 파일이 상기 가상 디스크에 포함된 파일이 아니라고 판단하는 경우에는, 원본 파일 시스템의 변경 사항을 파악하여 변경된 사항이 있으면 사본 파일 시스템에 반영하는 단계; 및
    (c9) 상기 클라우드 캐스트 클라이언트 모듈이, 상기 (c7) 단계에서 사용자가 실행하고자 하는 파일이 상기 가상 디스크에 포함된 파일이라고 판단하는 경우에는, IVP 서버 모듈에 그 파일을 요청하고, 상기 IVP 서버 모듈로부터 그 파일을 전송받아 실행되도록 하는 단계;를 더 포함하는 클라우드 방식의 디스크 공유 방법.
KR1020100068632A 2010-07-15 2010-07-15 클라우드 방식의 디스크 공유 시스템 및 그 방법 KR101008927B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100068632A KR101008927B1 (ko) 2010-07-15 2010-07-15 클라우드 방식의 디스크 공유 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100068632A KR101008927B1 (ko) 2010-07-15 2010-07-15 클라우드 방식의 디스크 공유 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR101008927B1 true KR101008927B1 (ko) 2011-01-18

Family

ID=43616432

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100068632A KR101008927B1 (ko) 2010-07-15 2010-07-15 클라우드 방식의 디스크 공유 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101008927B1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101232790B1 (ko) 2011-08-03 2013-03-15 유엔젤주식회사 클라우드 컴퓨팅 기반의 데이터 공유 방법 및 앱 공유 방법
KR20130084708A (ko) 2012-01-17 2013-07-26 주식회사 로웸 비밀파일 보관 시스템 및 방법
US9038059B2 (en) 2012-04-18 2015-05-19 International Business Machines Corporation Automatically targeting application modules to individual machines and application framework runtimes instances
WO2016021795A1 (ko) * 2014-08-05 2016-02-11 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 방법 및 이를 위한 서버
KR102056690B1 (ko) 2019-03-25 2019-12-17 류충희 사용자 서버를 이용한 파일 제어 시스템 및 방법
KR20200046174A (ko) 2018-10-18 2020-05-07 김경서 공유 객체에 대한 접근 권한을 생성하고 제어하는 방법 및 장치
CN112587917A (zh) * 2021-01-23 2021-04-02 上海达龙信息科技有限公司 一种云游戏服务器模板及游戏磁盘变更方法、系统、存储介质及服务器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090276771A1 (en) * 2005-09-15 2009-11-05 3Tera, Inc. Globally Distributed Utility Computing Cloud

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090276771A1 (en) * 2005-09-15 2009-11-05 3Tera, Inc. Globally Distributed Utility Computing Cloud

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101232790B1 (ko) 2011-08-03 2013-03-15 유엔젤주식회사 클라우드 컴퓨팅 기반의 데이터 공유 방법 및 앱 공유 방법
KR20130084708A (ko) 2012-01-17 2013-07-26 주식회사 로웸 비밀파일 보관 시스템 및 방법
US9038059B2 (en) 2012-04-18 2015-05-19 International Business Machines Corporation Automatically targeting application modules to individual machines and application framework runtimes instances
WO2016021795A1 (ko) * 2014-08-05 2016-02-11 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 방법 및 이를 위한 서버
KR20200046174A (ko) 2018-10-18 2020-05-07 김경서 공유 객체에 대한 접근 권한을 생성하고 제어하는 방법 및 장치
KR102056690B1 (ko) 2019-03-25 2019-12-17 류충희 사용자 서버를 이용한 파일 제어 시스템 및 방법
CN112587917A (zh) * 2021-01-23 2021-04-02 上海达龙信息科技有限公司 一种云游戏服务器模板及游戏磁盘变更方法、系统、存储介质及服务器

Similar Documents

Publication Publication Date Title
KR101008554B1 (ko) 클라우드 방식의 파일 복사 및 광역 통신망을 통한 디스크 복제 시스템 및 그 방법
KR101008927B1 (ko) 클라우드 방식의 디스크 공유 시스템 및 그 방법
US20200084274A1 (en) Systems and methods for efficient distribution of stored data objects
US20230033729A1 (en) Encryption for a distributed filesystem
US9411535B1 (en) Accessing multiple virtual devices
US8943506B2 (en) Client-side virtualization architecture using differential bi-directional synchronization and closed computing
US7409521B2 (en) Method of managing storage capacity, server and recording medium therefor
CN100573459C (zh) 用于网络、块和文件输入及输出的卸载堆栈
US20170123939A1 (en) Data management agent for selective storage re-caching
CN105872016B (zh) 一种桌面云中虚拟机的运行方法
US11080041B1 (en) Operating system management for virtual workspaces
US9335985B2 (en) Desktop image management for virtual desktops
US10042714B2 (en) Point-in-time copy on write for golden image
JP2003323329A (ja) 分散ファイル管理方法及びプログラム
CN104040525B (zh) 通过网络连接访问覆盖介质
KR20090025204A (ko) 머신을 가상 머신으로 변환하는 방법 및 컴퓨터 프로그램 제품
US11169835B1 (en) VM data migration between storage devices
JP2006510976A5 (ko)
US20080120403A1 (en) Systems and Methods for Provisioning Homogeneous Servers
KR20220060525A (ko) 보안성 향상된, 자동적으로 배치되는 정보 기술(it) 시스템 및 방법
US20200272603A1 (en) File synchronization
CN113039767A (zh) 超融合存储中的分布式iscsi目标的主动-主动架构
US20200257452A1 (en) Apparatus and method for processing sensitive data
US8838768B2 (en) Computer system and disk sharing method used thereby
JP5670369B2 (ja) 情報処理装置、イメージファイル管理方法およびプログラム

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140107

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150608

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee