KR20060062587A - 호스트 컴퓨터상에서 응용프로그램 수행을 위한 휴대용디지털 저장장치 시스템 및 방법 - Google Patents

호스트 컴퓨터상에서 응용프로그램 수행을 위한 휴대용디지털 저장장치 시스템 및 방법 Download PDF

Info

Publication number
KR20060062587A
KR20060062587A KR1020040101477A KR20040101477A KR20060062587A KR 20060062587 A KR20060062587 A KR 20060062587A KR 1020040101477 A KR1020040101477 A KR 1020040101477A KR 20040101477 A KR20040101477 A KR 20040101477A KR 20060062587 A KR20060062587 A KR 20060062587A
Authority
KR
South Korea
Prior art keywords
virtual environment
host computer
application program
application
storage device
Prior art date
Application number
KR1020040101477A
Other languages
English (en)
Other versions
KR100654675B1 (ko
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 KR1020040101477A priority Critical patent/KR100654675B1/ko
Publication of KR20060062587A publication Critical patent/KR20060062587A/ko
Application granted granted Critical
Publication of KR100654675B1 publication Critical patent/KR100654675B1/ko

Links

Images

Classifications

    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Abstract

본 발명은 응용프로그램 패키지와 가상 환경부를 저장한 휴대용 디지털 저장장치가 호스트 컴퓨터에 통신 접속되어 호스트 컴퓨터의 사용자가 휴대용 디지털 저장장치에 응용프로그램 패키지 형태로 저장된 응용프로그램을 가상환경위에서 구동시키는 휴대용 디지털 저장장치에 관한 것으로서, 호스트 컴퓨터에 휴대용 디지털 저장장치가 통신 연결되고, 상기 통신 연결에 기초하여 상기 호스트 컴퓨터가 상기 휴대용 디지털 저장장치를 호스트 컴퓨터에 마운트된 디바이스장치로 인식하고, 상기 마운트된 휴대용 디지털 저장장치의 자동 실행부(Auto-Run)를 통해 가상환경 구동부를 실행하고, 상기 가상환경 구동부는 상기 호스트 컴퓨터에 가상환경부를 전송한 후 상기 호스트 컴퓨터의 운영체제(실제환경)위에 가상환경을 구성하고, 상기 가상환경에 기초하여 구동할 수 있는 응용프로그램 리스트를 호스트 컴퓨터의 디스플레이장치를 통해 사용자에게 보여주고, 상기 응용프로그램 리스트를 참조하여 사용자가 응용프로그램을 선택하고, 상기 응용프로그램의 선택에 기초하여 상기 휴대용 디지털 저장장치에 저장되어 있는 응용프로그램 패키지를 상기 가상환경위에 추상화하고, 상기 가상환경위에 데이터 보호부를 구성하여 상기 응용프로그램을 허락받지 않은 사용자가 불법 복제할 수 없게 하고, 상기 가상환경의 요청에 따라 상기 응용프로그램 실행에 필요한 데이터를 상기 통신 연결을 통해 실시간 전송하여 상기 응용프로그램을 상기 호스트 컴퓨터에서 실행하고, 상기 사용자 또는 상기 호스트 컴퓨터의 요청에 의해 실행중인 상기 응용프로그램을 종료하는 것을 특징으로 한다.
휴대용 디지털 저장장치, 가상환경부, 가상환경 구동부, 응용프로그램패키지, 가상환경, 실재환경.

Description

호스트 컴퓨터상에서 응용프로그램 수행을 위한 휴대용 디지털 저장장치 시스템 및 방법{A Portable Data Storage System and Method to Run Application Programs on a Host Computer System}
도 1은 본 발명에 따른 호스트 컴퓨터상에서 응용프로그램 수행을 위한 휴대용 디지털 저장장치 시스템의 구성도.
도 2는 본 발명에 따른 응용프로그램 수행을 위한 가상환경부 및 응용프로그램 패키지를 갖고 있는 휴대용 디지털 저장장치의 내부 구성도.
도 3은 본 발명에 따른 휴대용 디지털 저장장치에 내장된 가상환경 모듈의 내부 구성도.
도 4는 본 발명에 따른 휴대용 디지털 저장장치가 통신 접속되는 호스트 컴퓨터의 내부 구성도.
도 5는 본 발명에 따른 호스트 컴퓨터에 휴대용 디지털 저장장치가 마운트되어 호스트 컴퓨터의 메모리에 가상환경을 구성하여 가상환경위에서 응용프로그램이 실행되는 구조를 도시한 도면.
도 6은 본 발명에 따른 응용프로그램 패키지와 가상환경부가 저장된 휴대용 디지털 저장장치를 이용한 응용프로그램 구동 과정을 도시한 순서도.
도 7은 본 발명에 따른 휴대용 디지털 저장장치가 통신 연결된 호스트 컴퓨 터에 응용프로그램이 실행될 수 있는 가상환경을 구축하는 과정을 도시한 순서도.
도 8은 본 발명에 따른 휴대용 디지털 저장장치가 통신 연결된 호스트 컴퓨터에 구축된 가상환경위에서 응용프로그램을 구동시키는 과정을 도시한 순서도.
도 9는 본 발명에 따른 호스트 컴퓨터에 구축된 가상환경위에서 실행되는 응용프로그램 종료 후에 호스트 컴퓨터에 구현된 가상환경 및 응용프로그램을 제거하는 과정을 도시한 순서도.
도 10은 본 발명에 따른 호스트 컴퓨터의 운영체제에 로드 되는 불법 복제용 응용프로그램에 의해 수행되는 소정의 응용프로그램에 대한 불법 복제를 방지하는 과정을 도시한 순서도.
<도면의 주요 부분에 대한 부호의 설명>
100 : 휴대용 디지털 저장장치 110 : 통신인터페이스
120 : I/O 어댑터 130 : 메모리부
140 : 자동실행부 150 : 가상환경 구동부
160 : 가상 환경부 161 : 레지스트리 구현부
162 : 파일시스템 구현부 163 : 컴포넌트 구현부
164 : 환경 설정 구현부 165 : 데이터 보호부
170 : 응용프로그램패키지 180 : 실제 파일 시스템
190 : 통신포트 200 : 호스트 컴퓨터
210 : 통신인터페이스 220 : I/O어댑터
230 : 운영체제(OS) 240 : 메모리
230 : 통신인터페이스 240 : I/O 어댑터
250 : 중앙처리장치(CPU) 260 : 데이터 저장부
270 : 표시부 280 : 통신버스
300 : 서버 400 : 네트워크 통신망
500 : 유무선 데이터 통신망
본 발명은 호스트 컴퓨터에 가상 환경부가 내장된 휴대용 디지털 저장장치를 통신 연결하여 휴대용 디지털 저장장치에 저장된 응용프로그램을 가상환경에서 구동시키는 휴대용 디지털 저장장치 및 방법에 관한 것이다.
보다 구체적으로는, 호스트 컴퓨터와 휴대용 디지털 저장장치에 파일복제, 다운로드, 인스톨 등의 응용프로그램 설치과정 없이, 휴대용 디지털 저장장치를 호스트 컴퓨터에 통신 접속하여 휴대용 디지털 저장장치에 내장된 가상 환경부를 통해 소정의 응용프로그램이 실행될 수 있는 가상환경을 호스트 컴퓨터에 구축함으로써, 가상환경위에 구축된 응용프로그램을 사용자가 선택하여 실시간으로 실행시킬 수 있는 휴대용 디지털 저장장치 및 방법에 관한 것이다.
이전까지는 사용자가 호스트 컴퓨터에서 어떤 응용프로그램을 사용하여 문서작업을 하다가 물리적인 장소의 이동을 통해 다른 호스트 컴퓨터에서 문서작업을 계속 할 경우, 문서 작업한 데이터가 있을지라도 이동한 장소의 호스트 컴퓨터에 사용자의 호스트 컴퓨터와 같은 응용프로그램이 있거나 또는 같은 버전의 응용프로그램이 있어야 하는 문제가 있었다.
만일, 이동한 장소의 호스트 컴퓨터에 해당 응용프로그램이 설치되어 있지 않았다면, 사용자는 설치CD 또는 설치파일을 복사 또는 다운로드받아 응용프로그램 파일 중에서 필요한 것을 인스톨의 과정을 통해 호스트에 설치해야만 했다. 이 방법은 인스톨절차에 따라 시간이 소요되며, 또한 호스트컴퓨터에 응용프로그램이 설치됨으로써 호스트컴퓨터의 디스크공간을 소모하고, 이 응용프로그램을 라이센스 문제 등으로 인해 삭제 할 때의 번거로움과, 완전삭제가 되지 않고 잔재가 남는다는 점, 애드웨어 및 스파이웨어 등이 남는점 등 불편함이 많았다.
근래에 들어 휴대용 디지털 저장장치의 발달과 멀티미디어 압축기술의 발달로 인해 멀티미디어 컨텐츠와 같은 음악 파일들은 애플 컴퓨터사의 iPod 또는 국내 아이리버 의 MP3장치 등을 통해 MP3형태의 음악파일로 수십곡에서부터 수만곡까지 저장하여 개인들이 휴대하고 다니면서 즐길 수 있게 되었다. 이때, 이와 같은 휴대용 디지털 저장장치들은 MP3, 비디오등 미디어 파일을 저장하고 재생하는 기능을 첨가한 장치들이다.
현재, 한글과 컴퓨터사는 USB 타입의 휴대용 디지털 저장장치에 자사의 응용프로그램인 한글편집기를 저장하여 판매 중에 있고, 사용자는 한글편집기가 장착되어 있는 USB를 구매하여 휴대하고 다니다가 필요할 때 임의의 컴퓨터에 형성된 USB 포트에 휴대용 디지털 저장장치를 장착하고 한글편집기를 사용할 수 있다.
상술한 바와 같은 기존 방식에 있어서의 문제점은, 한글편집기 휴대용 디지 털 저장장치에서 레지스트리 접근이 필요한 모든 동작을 ini와 같은 환경설정 파일을 통해 처리하도록 하여 응용프로그램의 코드를 수정해 주어야만 한다는 것이다. 즉, 일반 판매되는 PC 설치 버젼의 제품이 갖는 레지스트리 처리를 함으로써 일반성을 축소하고 특정저장장치 만을 위한 별도의 버전을 개발 하여야 하는 불편함이 있었다.
다시 말하면, 응용프로그램 개발사에 따라 USB 타입의 휴대용 디지털 저장장치에 자사의 응용프로그램을 서비스하는 방법이 달라질 수 있으며 기존의 응용프로그램 소스코드 수정에 따른 추가비용이 발생할 뿐만 아니라 범용성이 떨어짐으로써 MP3 플레이어와 같은 효과를 모든 응용프로그램에 줄 수 없다는 문제점이 있었다.
근래 들어 휴대용 디지털 저장장치의 발달로 인하여 고객들은 자신이 작성한 데이터뿐만 아니라 자신이 데이터를 편집할 수 있는 응용프로그램을 휴대하고 다니면서 시간 및 장소에 구애받지 않고 소정의 데이터를 편집하기를 원하고 있다.
그러나, 상기 언급한 기존 방법을 사용한다면 고객들은 개발사들이 휴대용 디지털 저장장치에서 실행 가능한 응용프로그램을 만들어 줄 때까지 기다려야 할 뿐만 아니라 응용프로그램들의 개수를 생각할 때 모든 응용프로그램들을 서비스 받는 것은 거의 불가능하다는 문제점이 있었다.
본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로서, 호스트 컴퓨터상에 사용자가 선택한 응용프로그램을 구동시킬 수 있는 가상환경을 구축시키는 가상 환경부가 내장된 휴대용 디지털 저장장치를 제공하는 데 있다.
또한, 본 발명은 응용프로그램 패키지와 가상 환경부가 내장된 휴대용 디지털 저장장치를 이용하여 호스트 컴퓨터상에 가상환경을 구축하고, 가상환경위에 구축된 응용프로그램을 사용자가 선택하여 가상환경 위에서 선택된 응용프로그램을 구동시키는 응용프로그램 구동 방법을 제공하는 데 있다.
상기한 목적을 달성하기 위한 본 발명은, 운영체제가 설치된 호스트 컴퓨터와 응용프로그램 패키지가 저장된 휴대용 디지털 저장장치가 유/무선 데이터통신 수단에 의해 통신 접속되고, 상기 호스트 컴퓨터와 상기 휴대용 디지털 저장장치 간에 소정의 통신 프로토콜에 의해 데이터를 송수신하는 시스템에 있어서, 상기 휴대용 디지털 저장장치에 저장되어있고 상기 호스트 컴퓨터의 메모리에 로드 되어 상기 호스트 컴퓨터의 운영체제 및 응용프로그램이 실행될 수 있는 실재환경을 추상화한 가상환경을 구성하는 가상 환경부; 상기 휴대용 디지털 저장장치에 저장된 상기 가상 환경부를 상기 호스트 컴퓨터에 복사 및 수행시키는 가상환경 구동부를 포함하여 구성된 것을 특징으로 한다.
또한, 본 발명은 휴대용 디지털 저장장치가 상기 호스트 컴퓨터에 통신 접속됨에 따라 상기 호스트 컴퓨터의 메모리에 자동으로 로드 되어 상기 호스트 컴퓨터를 운영하는 사용자의 실행 없이 상기 가상환경 구동부를 상기 호스트 컴퓨터로 전송하고 실행시켜주는 자동 실행부(Auto-Run)를 더 포함하여 구성된 것을 특징으로 한다.
본 발명은, 운영체제가 설치된 호스트 컴퓨터와 유/무선 데이터통신 수단에 의해 연결된 휴대용 디지털 저장장치를 사용하여 상기 호스트 컴퓨터에 설치되지 않은 소정의 응용프로그램을 상기 휴대용 디지털 저장장치에 저장된 응용프로그램을 참조하여 가상환경 위에서 구동시키는 방법에 있어서, 상기 호스트 컴퓨터에 소정의 응용프로그램이 실행될 수 있는 가상환경을 메모리에 구축하는 단계; 상기 호스트 컴퓨터의 메모리에 구축된 가상환경 위에서 상기 응용프로그램을 구동하는 단계; 및 상기 호스트 컴퓨터에서 상기 응용프로그램이 종료된 후 상기 응용프로그램과 가상환경을 상기 호스트컴퓨터에서 제거하는 단계를 포함하여 구성된 것을 특징으로 한다.
하기에는 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
먼저, 본 발명에 따른 기술적 사상을 당업자가 보다 용이하게 이해할 수 있도록 명세서상에 기술되는 실제 환경, 가상환경 및 응용프로그램 패키지 의미를 설명한다.
여기서, 실제 환경이란 윈도즈 응용프로그램 등이 어떤 운영체제상에서 수행될 때에는 운영체제의 파일시스템, 레지스트리 시스템, 라이브러리, 문자폰트, DLL(Dynamic Link Library), COM(Component Object Model), RPC(Remote Procedure Call)등의 환경적인 요소들이 필요하다. 이때, 운영체제가 응용프로그램 수행을 위해 제공하는 환경적인 요소들을 이하 "실제 환경"이라 언급하기로 한다.
"가상환경”이란 본 발명에 따른 휴대용 디지털 저장장치에 내장된 가상 환 경부를 사용하여 운영체제상에 실제 환경을 추상화하여 응용프로그램이 수행 중에 필요한 환경적 요소들을 제공하기 위하여 실제 환경과 유사한 환경적인 요소들이 구성된 것을 의미하는 것으로서, SoftonNet사에 의해 기 특허 출원된 미국 특허출원번호 제 10/718,867호인 " System and method for executing an application on a secured run-time environment "에 기술된 내용과 연속선상에 있는 것으로 이해하는 것이 바람직하다.
또한, 본 발명의 명세서에 기술된 가상환경 상에서 구동되는 소정의 응용프로그램을 스트리밍 형태로 제공하는 응용프로그램 패키지에 대한 구조 및 동작 과정에 대해서는 SoftonNet사에 의해 기 특허 출원된 특허출원번호 제 10-2003-52542호인 " 응용 소프트웨어의 스트리밍을 위한 응용 소프트웨어 재포장 시스템 및 방법 "에 기술된 내용과 연속선상에 있는 것으로 이해하는 것이 바람직하다.
이하, 첨부도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다.
먼저, 도 1을 참조하여 호스트 컴퓨터상에서 응용프로그램 수행을 위한 휴대용 디지털 저장장치 시스템의 구성 및 동작을 상세하게 설명한다.
본 발명에 따른 응용프로그램 구동 시스템은 휴대용 디지털 저장장치에 내장된 가상환경부를 호스트 컴퓨터의 메모리에 로드 시켜 소정의 응용프로그램이 구동될 수 있는 가상환경을 구축한 후 사용자가 선택한 응용프로그램을 실제 환경 또는 가상환경에서 구동시키는 것으로서, 도 1 에 도시된 바와 같이, 휴대용 디지털 저장장치(100), 호스트 컴퓨터(200) 및 서버(300)를 포함하여 구성된다.
휴대용 디지털 저장장치(100)는 유무선 데이터 통신망(500)을 통하여 호스트 컴퓨터(200)에 통신 접속한 후 사용자가 선택한 응용프로그램이 실행되는 가상환경을 구축시키는 가상 환경부(160)를 호스트 컴퓨터(200)에 로드 시키는 역할을 수행하는 것으로서, 도 2에 도시된 바와 같이, 호스트 컴퓨터(200)와 통신 접속하여 데이터 통신을 수행하는 통신인터페이스(110)와, 휴대용 디지털 저장장치(100)의 입출력 데이터를 제어하는 I/O 어댑터(Input/Output Adaptor)(120)와, I/O 어댑터(120)의 제어에 따라 외부로부터 입력되는 소정의 응용프로그램 및 데이터 파일을 저장하는 메모리부(130)와, 호스트 컴퓨터(200)에 통신인터페이스(110)를 통해 마운트 될 때 가상환경 구동부를 호스트 컴퓨터(200)의 메모리에 로드 시키는 자동실행부(140)와, 가상 환경부(160)를 호스트 컴퓨터(200)에 다운로드하여 가상환경을 메모리에 활성화시키고, 실행 가능한 응용프로그램 리스트를 표시해주는 가상환경 구동부(150)와, 호스트 컴퓨터(200)에 응용프로그램이 구동될 수 있는 추상화된 가상환경을 구축하는 가상 환경부(160)과, 가상 환경부(160)를 통해 응용프로그램을 추상화하고 구동 가능한 데이터를 제공하는 응용프로그램 패키지(170)와, I/O 어댑터(120)의 제어에 따라 메모리부(130)에 저장된 데이터를 소정의 형식으로 읽고, 쓰는 실제 파일 시스템(Real File System)(180) 및 휴대용 디지털 저장장치(100)내에서 다양한 장치들 간의 통신을 하는 통신버스(190)를 포함하고 있다.
여기서, I/O 어댑터(120)는 통신인터페이스(110)를 통하여 호스트 컴퓨터(200)와의 데이터 통신을 수행하고, 유무선 데이터 통신망(500)을 통하여 호스트 컴퓨터(200)로부터 전송되는 소정의 응용프로그램 패키지(170) 및 데이터 파일을 메모리부(130)에 저장시킨다.
이때, 응용프로그램 패키지(170)는 소정의 응용프로그램을 소프트웨어 스트리밍 가능한 MPEG 등과 같은 압축방식에 의해 압축된 패키지 형태로 구성되고, 사용가능기간 및 사용자 인증정보가 저장되어 있어 사용가능기간이 경과한 경우 가상환경 구동부(150)에 의해 구동되지 못하도록 구현되어 있다. 또한 응용프로그램 패키지(170)는 응용프로그램의 실시간 실행을 가능하게 하기 위해 스트림 데이터 형태로 구성되어 있다.
I/O 어댑터(120)는 메모리부(130)에 구성된 실제 파일 시스템(180)을 통신인터페이스(110)를 통하여 호스트 컴퓨터(200)의 메모리로 마운트 시킨다. 이때, 메모리부(130)는 소정의 반도체 소자인 RAM 또는 ROM 등으로 구성되거나 Hard Disk등으로 구성될 수 있다.
여기서, 실제 파일 시스템(180)은 호스트 컴퓨터(200)의 운영체제(Operating System)가 인식할 수 있는 FAT, FAT16, FAT32, NTFS, exe32 등과 같은 소정의 파일 형태를 갖는다. 이때, 실제 파일 시스템(180)은 휴대용 디지털 저장장치(100)의 메모리부(130)에 저장될 수도 있고 또는 저장되지 않을 수 도 있다는 점에 유의하여야 한다.
따라서, 휴대용 디지털 저장장치(100)로부터 실재 파일 시스템(180)이 호스트 컴퓨터(200)의 메모리로 마운트 되는 경우, 호스트 컴퓨터(200)의 운영체제는 마운트 된 실재 파일 시스템(180)을 자신의 파일 시스템으로 인식하고, 휴대용 디지털 저장장치(100)의 메모리부(130)에 저장되어 있는 파일들에 대해 소정의 입력 수단(키보드 등)을 통하여 입력되는 사용자 명령에 따라 응용프로그램을 실제 환경 하에서 구동시켜 파일 생성, 열기, 쓰기, 검색 및 닫기 등의 데이터 작업을 수행한다.
자동 실행부(140)는 호스트 컴퓨터(200)의 메모리에 상기 실제 파일 시스템(180)이 마운트 되면 호스트 컴퓨터(200)의 메모리에 자동 로드 되어 가상환경 구동부(150)를 호스트 컴퓨터(200)의 메모리에 로드하고 실행한다. 이때 자동 실행부(140)는 휴대용 디지털 저장장치(100)의 메모리부(130)에 저장될 수도 있고 또는 저장되지 않을 수 도 있다는 점에 유의하여야 한다.
가상환경 구동부(150)는 휴대용 디지털 저장장치(100)의 메모리부(130)에 저장된 가상 환경부(160)를 호스트 컴퓨터(200)의 메모리에 로드하고, 로드 된 가상 환경부(160)를 활성화하여 가상환경으로 구동되도록 한다. 이때 가상환경을 통해 응용프로그램이 구동될 수 있는 추상화된 가상작업공간이 호스트 컴퓨터(200)의 메모리에 구성된다.
가상 환경부(160)는 휴대용 디지털 저장장치(100)에 저장된 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 운영체제 위에서 응용프로그램이 실행될 수 있도록 하는 소정의 가상환경(152b), 보다 구체적으로는 가상 레지스트리 시스템(Virtual Registry System), 가상 파일 시스템(Virtual File System), 가상 컴포넌트 (Virtual Component), 가상 환경설정 시스템(폰트, 프린터, 환경변수)및 데이터 보호부(Data Security System)등을 호스트 컴퓨터(200)의 메모리 내부에 추상화시킨다.
이를 보다 구체적으로 설명하면, 가상 환경부(160)는 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리에 로드 되는 응용프로그램이 구동될 수 있는 가상환경을 추상화시키는 것으로서, 도 3에 도시된 바와 같이, 레지스트리 구현부(161), 파일 시스템 구현부(162), 컴포넌트 구현부(163), 환경설정 구현부(164) 및 데이터 보호부(165)를 포함하여 구성된다.
여기서, 레지스트리 구현부(161)는 호스트 컴퓨터(200)에 설치되어 있지 않은 레지스트리의 내용을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리에 레지스트리 파일 데이터가 존재하는 것과 같은 가상 레지스트리 시스템을 구축시키는 역할을 수행한다.
파일 시스템 구현부(162)는 호스트 컴퓨터(200)에 설치되어 있지 않은 파일 데이터 및 폴더의 내용을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리에 소정의 파일 데이터 및 폴더들이 존재하는 것과 같은 가상 파일 시스템을 구축시키는 역할을 수행한다.
컴포넌트 구현부(163)는 호스트 컴퓨터(200)에 설치되어 있지 않은 컴포넌트파일 또는 DLL(Dynamic Link Library)파일들을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리에 소정의 컴포넌트 또는 DLL 파일들이 존재하는 것과 같은 가상 컴포넌트 시스템을 구축시키는 역할을 수행한다.
환경 설정 구현부(164)는 호스트 컴퓨터(200)에 설치되어 있지 않은 폰트파 일, 프린터, 환경변수 등의 내용을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리 영역에 폰트파일, 프린터, 환경변수 등이 존재하는 것과 같은 가상 환경 설정 시스템을 구축시키는 역할을 수행한다.
데이터 보호부(165)는 호스트 컴퓨터(200)의 메모리에 추상화되어 동작하는 각종 파일, 예를 들면 레지스트리 파일, 컴포넌트 파일, 가상 파일, 환경설정 파일 등의 불법적인 복사, 변형 및 삭제 등을 방지하는 역할을 수행한다.
즉, 호스트 컴퓨터(200)의 메모리에 로드 되어 구동된 응용프로그램이 가상환경에서 동작하는 각종 파일, 예를 들면 레지스트리 파일, 컴포넌트 파일, 가상파일 및 환경설정 파일 등을 복사, 변형 및 삭제 하려는 경우, 데이터 보호부(165)는 상기 구동된 응용프로그램의 파일 이름 및 경로를 추적하여 상기 구동된 응용프로그램이 가상환경위에 구축된 응용프로그램 인지 여부를 판단한다.
이때, 상기 구동된 응용프로그램이 실제 환경에서 로드된 응용프로그램으로 판단된 경우, 데이터 보호부(165)는 상기 응용프로그램을 불법 복제용 응용프로그램으로 판단하여 가상환경에서 동작하는 각종 파일에 대한 복사, 편집, 삭제, 검색 등의 행위를 방지하는 역할을 수행한다. 즉, 이와 같은 불법 복제용 응용프로그램 파일에 의한 파일 복사, 편집, 삭제, 검색 등은 가상환경위에서 진행되기 때문에 가상 환경부(160)를 구성하는 데이터 보호부(165)에 의해 이러한 불법적인 파일 복사를 방지할 수 있는 것이다.
또한, 가상 환경부(160)에 의해 호스트 컴퓨터(200)의 메모리에 구축되는 레 지스트리 파일, 컴포넌트 파일, 가상파일 및 환경설정 파일 등의 각종 가상환경파일의 구성을 보면 데이터 파일, DLL파일 및 실행파일 등으로 구성되어 있고, 이러한 구성을 갖는 가상환경파일이 정상적으로 동작하기 위해서는 상술한 바와 같은 파일 구성이 대부분 요구된다.
따라서, 이와 같은 가상환경파일을 구성하는 파일 중에서 편집 등이 필요 없는 DLL파일, 컴포넌트파일, 폰트파일, 실행파일들에 대한 복사, 편집 등을 방지하여 불법적인 사용을 막을 수도 있다.
이때, 호스트 컴퓨터(200)의 메모리에 로드 되는 가상 환경부(160)는 호스트 컴퓨터(200)의 메모리 영역에 저장된 운영체제가 제공하는 실제 환경(Real Environment)과는 완전히 분리된 가상환경(Virtual Environment)을 메모리에 구축시키고, 이에 의해 호스트 컴퓨터(200)의 메모리에 로드 되는 응용프로그램은 운영체제가 제공하는 실제 환경이 아닌 가상 환경부(160)에 의해 구축된 추상화된 가상환경에서 구동된다.
따라서, 휴대용 디지털 저장장치(100)의 응용프로그램 패키지(170)로부터 호스트 컴퓨터(200)의 메모리에 로드 되는 응용프로그램은 호스트 컴퓨터(200)의 운영체제에 의해 구축되는 실제 환경이 아닌 가상 환경부(160)에 의해 추상화된 가상환경에서 구동되고, 이에 의해 다른 버전을 갖는 동일한 응용프로그램, 예를 들면 MS-Office 97, Office-2000, Office-XP 등의 응용프로그램들은 상호 충돌 없이 구동될 수 있는 것이다.
통신버스(190)는 휴대용 디지털 저장장치(100)내의 상이한 디바이스들 간에 데이터, 명령, 다른 정보의 전달을 지원하며, 도면에서는 단순하게 단일 버스로 도시되어 있으나 통상적으로 통신 버스는 다중 버스로 구성되며 또한 계층 형태로 구성될 수도 있다.
호스트 컴퓨터(200)는 유무선 데이터 통신망(500)을 통하여 통신 접속되는 휴대용 디지털 저장장치(100)로부터 가상환경 구동부(150)와 가상 환경부(160)를 전송 받아 소정의 응용프로그램이 구동될 수 있는 가상환경을 구축하고, 사용자가 선택한 응용프로그램을 가상환경위에서 실행시키는 것으로서, 도 4에 도시된 바와 같이, 휴대용 디지털 저장장치(100)와 통신 접속하여 데이터 통신을 수행하는 통신인터페이스(210)와, 휴대용 디지털 저장장치(100)로부터 전송되는 소정의 응용프로그램, 각종 데이터 파일, 가상환경 구동부(150) 및 가상 환경부(160)에 대한 입출력을 수행하는 I/O어댑터(220)와, 소정의 응용프로그램을 구동시키는 운영체제(230)와 각종 데이터 파일을 저장하는 메모리(240)와, 휴대용 디지털 저장장치(100)로부터 전송되는 가상 환경부(160)를 메모리(240)에 저장시키고, 상기 가상 환경부(160)를 제어하여 메모리(240)에 소정의 가상환경을 활성화 시킨 후, 휴대용 디지털 저장장치(100)의 응용프로그램 패키지(170)로부터 로딩되는 응용프로그램을 가상환경위에서 구동시키는 가상환경 구동부(150)와, 구동된 응용프로그램을 메모리(240)에 로드 하여 실행에 필요한 모든 실행연산을 처리하는 중앙처리장치(CPU)(250)와, 운영체제(230)의 제어에 따라 사용자가 응용프로그램을 이용하여 작성한 다양한 데이터 파일을 저장하는 데이터 저장부(260)와, 운영체제(230)의 제어에 따라 사용자가 선택한 소정의 응용프로그램 및 데이터 파일을 표시하는 표시부 (270) 및 호스트 컴퓨터(200)내에서 다양한 장치들간의 통신을 하는 통신버스(280)를 포함한다.
통신인터페이스(210)는 네트워크 통신망(400)을 통하여 통신 접속된 서버(300)와 기 설정된 통신규약(protocol)에 기초하여 소정의 응용프로그램패키지 및 데이터 파일에 대한 데이터 송수신을 수행한다. USB, USB2, Serial/Parallel Port, Ethernet, TCP/IP 등을 포함하는 프로토콜을 포함할 수 있다.
이때, 서버(300)는 다수의 응용프로그램, 데이터 파일 및 네트워크 통신망(400)을 통하여 통신 접속하는 복수의 호스트 컴퓨터(200)에 대한 로그인 정보를 저장하고 있으며, 상기 통신인터페이스(210)를 통하여 해당 호스트 컴퓨터(200)에 대한 네트워크 연결 상태를 감지한다.
또한, 서버(300)는 호스트 컴퓨터(200)로부터 소정의 응용프로그램 및 데이터 파일에 대한 요청 신호가 입력되는 경우, 기 설정된 통신 규약(즉, 프로토콜(protocol)에 의해 소정의 응용프로그램 및 데이터 파일을 호스트 컴퓨터(200)로 다운로드 시키되, 해당 응용프로그램을 소정의 소프트웨어 스트리밍 가능한 압축방식에 의해 압축된 응용프로그램 패키지 형태로 다운로드 시키는 역할을 수행한다.이때, 서버(300)는 서비스 가능한 응용프로그램 패키지가 등록되어 있어야 한다.
또한, 서버(300)는 내부에 저장된 소정의 인증알고리즘을 통하여 응용프로그램패키지를 요청한 사용자에 대한 사용자 인증을 수행한 후, 사용자 인증이 성공적으로 수행되지 않은 경우 해당 사용자에게 응용프로그램패키지를 사용할 수 없다는 경고 메시지 표시한다.
그러나, 사용자 인증이 성공적으로 수행된 경우, 서버(300)는 호스트 컴퓨터(200)의 통신인터페이스(210)를 통해 해당 응용프로그램 패키지(170)를 메모리(240)에 로드 시킨다.
이후, 호스트 컴퓨터(200)는 메모리(240)에 로드된 응용프로그램 패키지(170)를 유무선 데이터 통신(500)을 통해 통신 접속한 휴대용 디지털 저장장치(100)의 통신인터페이스(110)를 거쳐 메모리부(130)로 다운로드 시킨다.
메모리(240)는 도 4에 도시된 바와 같이 소정의 반도체 소자인 RAM 또는 ROM 뿐만 아니라 이들의 변형 형태인 FRAM(Ferroelectric Random Access Memory) 등으로 구성될 수 있고, 소정의 응용프로그램을 실제 환경에서 구동시키기 위한 운영체제(230)와 다양한 데이터 파일을 저장한다.
이때, 메모리(240)에는 도 5에 도시된 바와 같이 운영체제(230)의 제어신호에 따라 I/O 어댑터(220)를 통해 휴대용 디지털 저장장치(100)로부터 마운트 되는 실재 파일 시스템(180)이 구동하는데 필요한 실제 환경(Real Environment)(230a)이 구축된다.
또한, 메모리(220)는 도 4에 도시된 바와 같이 I/O 어댑터(240)를 통하여 휴대용 디지털 저장장치(100)로부터 전송되는 가상환경 구동부(150)와 가상 환경부(160)를 저장한다.
이때, 가상 환경부(160)는 도 5에 도시된 바와 같이 가상환경 구동부(150)의 제어에 따라 휴대용 디지털 저장장치(100)의 응용프로그램 패키지(170)로부터 로딩 되는 소정의 응용프로그램이 실행될 수 있도록 하는 가상환경(Virtual Environment) (160a)을 호스트 컴퓨터(200)의 메모리(240)에 구축시키는 역할을 수행한다.
여기서, 가상환경 구동부(160)는 네트워크 통신망(400)을 통하여 통신 접속하는 서버(300)로부터 전송되는 소정의 응용프로그램 패키지(170)로부터 가상환경 구축에 필요한 정보를 다운로드받아 가상환경 구성에 사용하고, 현재 사용가능한 응용프로그램 리스트를 호스트 컴퓨터(200)의 표시부(270)에 디스플레이 시킨다.
또한, 가상환경 구동부(160)는 휴대용 디지털 저장장치(100)의 자동 실행부(140)에 의해 호스트 컴퓨터(200)의 메모리(240)에 로드 되고, 유무선 데이터 통신(500)을 통하여 휴대용 디지털 저장장치(100)로부터 소정의 응용프로그램이 구동되는 가상환경(160a)을 메모리(240) 영역에 구축시키는 가상 환경부(150)를 전송 받아 메모리(240)에 저장시킨다.
여기서, 유무선 데이터 통신(500)이란 USB, USB2, Serial/Parallel Port, Ethernet, TCP/IP 등을 포함하는 프로토콜을 포함할 수 있다. 또한, 근거리 무선 통신을 수행하는 블루투스, 적외선 통신 및 통신 케이블을 이용한 각종 데이터 통신을 포함하는 것으로 이해되는 것이 바람직하다.
상술한 바와 같이 호스트 컴퓨터(200)의 메모리(240)에 소정의 응용프로그램이 구동되는 실제 환경(230a)을 구축시키는 운영체제(240)와 가상환경(160a)을 구축시키는 가상 환경부(160)를 로드 시킨 후, 가상환경 구동부(150)는 입력되는 사용자 명령에 따라 소정의 응용프로그램을 메모리(240)에 구축된 실제 환경(230a) 또는 가상환경(160a)에서 실행시킨다.
이를 보다 구체적으로 설명하면, 호스트 컴퓨터(200)가 처음 시작될 때 운영체제(230)는 메모리(240)영역에 소정의 응용프로그램이 실행될 수 있는 실제 환경(Real Environment)(230a), 보다 구체적으로는 실제 파일 시스템(Real File System), 실제 레지스트리 시스템(Real Registry System), 실제 콤포넌트(COM, OCX, DLL) 및 기타 처리 시스템(폰트, 프린터, 환경변수) 등을 메모리(240) 영역에 구축시킨다.
즉, 휴대용 디지털 저장장치(100)가 호스트 컴퓨터(200)에 유무선 데이터 통신(500)으로 연결될 때, 운영체제(230)는 휴대용 디지털 저장장치(100)로부터 마운트되는 인식 가능한 FAT, FAT16, FAT32, NTFS, exe32 등과 같은 실제 파일 시스템(180)이 구동되는데 필요한 실제 환경(Real Environment)(230a)을 메모리(240)에 구축시킨다.
따라서, 휴대용 디지털 저장장치(100)로부터 실재 파일 시스템(180)이 호스트 컴퓨터(200)의 메모리(240)로 마운트 되는 경우, 운영체제(230)는 도 5에 도시된 바와 같이 마운트된 실재 파일 시스템(180)을 자신의 실제 환경 내부에 구성된 파일 시스템으로 인식하고, 실제 환경 하에서 휴대용 디지털 저장장치(100)의 데이터 파일에 대한 파일 생성, 열기, 쓰기, 검색 및 닫기 등의 데이터 작업을 수행할 수 있게 된다.
상술한 바와 같이 휴대용 디지털 저장장치(100)의 실재 파일 시스템(180)이 호스트 컴퓨터(200)의 운영체제(230)에 의해 실제 환경 내부의 파일 시스템으로 인식되면, 휴대용 디지털 저장장치(100)에 있는 자동 실행부(140)의 실행 영역이 호 스트 컴퓨터(200)의 메모리(240)에 자동로드 되어 데이터 저장부(130)에 저장된 가상환경 구동부(150)를 호스트 컴퓨터(200)의 메모리에 로드하고, 가상환경 구동부(150)를 구동시킨다.
이후, 가상환경 구동부(150)는 데이터 저장부(130)에 저장된 가상 환경부(160)를 호스트 컴퓨터(200)의 메모리(240)에 로드하고, 응용프로그램 패키지(170)의 데이터를 참조하여 실행 가능한 응용프로그램(170a) 리스트를 호스트 컴퓨터(200)의 표시부(260)상에 표시해준다. 이때 가상환경 구동부(150)는, 유무선 데이터 통신(500)을 통하여 휴대용 디지털 저장장치(100)가 통신 접속된 상태에서, 소정의 입력수단을 통하여 입력되는 사용자 명령에 따라 가상 환경부(160)를 구동시켜 사용자가 선택한 응용프로그램(170a)이 실행될 수 있는 가상환경(Virtual Environment)을 메모리(240) 영역에 구축시킨다.
이때, 가상 환경부(160)는 가상환경 구동부(150)의 제어신호에 따라 휴대용 디지털 저장장치(100)로부터 마운트 되는 소정의 응용프로그램을 구동시키는데 필요한 가상환경, 보다 구체적으로는 가상 레지스트리 시스템(Virtual Registry System), 가상 파일 시스템(Virtual File System), 가상 컴포넌트 시스템(Virtual Component System) 및 가상 환경 설정 시스템(Virtual Environment System) 등을 호스트 컴퓨터(200)의 메모리(240)에 추상화시킨다.
여기서, 가상 레지스트리 시스템(Virtual Registry System)은 도 4에 도시된 바와 같이 호스트 컴퓨터(200)에 설치되어 있지 않은 레지스트리의 내용을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스 트 컴퓨터(200)의 메모리(240)영역에 존재하는 것과 같이 인식되는 추상화된 가상환경이다.
가상 파일 시스템(Virtual File System)은 호스트 컴퓨터(200)에 설치되어 있지 않은 파일 데이터 및 폴더의 내용을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리(240)에 소정의 파일 데이터 및 폴더들이 존재하는 것과 같이 인식되는 추상화된 가상환경이다.
가상 컴포넌트 시스템(Virtual Component System)은 호스트 컴퓨터(200)에 설치되어 있지 않은 컴포넌트 또는 DLL(Dynamic Link Library)파일들을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리(240)에 소정의 컴포넌트 또는 DLL 파일들이 존재하는 것과 같이 인식되는 추상화된 가상환경이다.
가상환경 설정 시스템(Virtual Environment System)은 호스트 컴퓨터(200)에 설치되어 있지 않은 폰트파일, 프린터, 환경변수 등의 내용을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리(240) 영역에 존재하는 것과 같이 인식되는 추상화된 가상환경이다.
여기서, 가상 환경부(160)는 도 5에 도시된 바와 같이 호스트 컴퓨터(200)의 운영 체제(230)가 제공하는 실제 환경(Real Environment)(230a)과는 완전히 분리된 가상환경(Virtual Environment)(160a)을 메모리(240) 영역에 구축하고, 이에 의해 응용프로그램은 운영체제(230)가 제공하는 실제 환경(230a)이 아닌 가상 환경부 (160)에 의해 구축된 추상화된 가상환경(160a)에서 실행된다.
이때, 가상 환경부(160)에 의해 호스트 컴퓨터(200)의 메모리(240) 영역에 구축된 가상환경(160a)에서 구동되는 응용프로그램(170a)은 메모리(240) 영역에 정상 설치되어 운영되는 것이 아니라 휴대용 디지털 저장장치(100)의 데이터 저장부(130)에 응용프로그램 패키지(170) 형태로 저장되어 있으며, 응용프로그램(170a)의 실행에 필요한 데이터를 스트리밍 형태로 유무선 데이터 통신(500)을 통해 호스트 컴퓨터(200)의 메모리(240)로 전송된다.
따라서, 휴대용 디지털 저장장치(100)의 응용프로그램 패키지(170)에 스트리밍 데이터 형태로 저장된 응용프로그램(170a)은 가상 환경부(160)에 의해 구축된 가상환경(160a)에서 구동되고 호스트 컴퓨터(200)의 데이터 저장부(260)에 저장된 응용프로그램은 운영체제(230)에서 제공되는 실제 환경(230a)에서 구동되기 때문에, 상기의 가상환경(160a)에 의해 다른 버전을 갖는 동일한 응용프로그램, 예를 들면 MS-Office 97, Office-2000, Office-XP 등의 응용프로그램들은 상호 충돌 없이 구동될 수 있는 것이다.
상술한 바와 같이 호스트 컴퓨터(200)의 메모리(240) 영역에 소정의 응용프로그램(170a)이 구동될 수 있는 가상환경(160a)을 구축한 상태에서, 가상환경 구동부(150)는 가상 환경부(160)를 제어하여 사용자가 선택한 응용프로그램을 디지털 휴대용 디지털 저장장치(100)에 저장된 응용프로그램 패키지(170)를 참조하여 가상환경에서 구동시키게 되는 것이다.
이하, 도 6 내지 도 10을 참조하여 본 발명에 따른 휴대용 디지털 저장장치 를 이용한 응용프로그램의 구동 방법에 대하여 상세하게 설명한다.
여기서, 도 6은 본 발명에 따른 응용프로그램 패키지와 가상환경부가 저장된 휴대용 디지털 저장장치를 이용한 응용프로그램 구동 과정을 도시한 순서도 이고, 도 7은 휴대용 디지털 저장장치가 통신 연결된 호스트 컴퓨터에 응용프로그램이 실행될 수 있는 가상환경을 구축하는 과정을 도시한 순서도이고, 도 8은 휴대용 디지털 저장장치가 통신 연결된 호스트 컴퓨터에 구축된 가상환경위에서 응용프로그램을 구동시키는 과정을 도시한 순서도 이고, 도 9는 호스트 컴퓨터에 구축된 가상환경위에서 실행되는 응용프로그램 종료 후에 호스트 컴퓨터에 구현된 가상환경 및 응용프로그램을 제거하는 과정을 도시한 순서도 이고, 도 10은 호스트 컴퓨터의 운영체제에 로드 되는 불법 복제용 응용프로그램에 의해 수행되는 소정의 응용프로그램에 대한 불법 복제를 방지하는 과정을 도시한 순서도 이다.
도 6에 도시된 바와 같이, 휴대용 디지털 저장 장치(100)에 내장된 가상 환경부(160)를 호스트 컴퓨터(200)의 메모리(240)에 로드시켜 소정의 응용프로그램이 구동될 수 있는 가상환경(160a)을 구축 시킨다(S100).
도 7을 참조하여 보다 구체적으로 설명하면, 가상 환경부(160)를 구비한 휴대용 디지털 저장장치(100)를 유무선 데이터 통신방식(500)을 통해 호스트 컴퓨터(200)에 통신 접속시킨다(S101).
이때, 휴대용 디지털 저장장치(100)에는 다양한 응용프로그램 패키지(170), 데이터 파일, 통신 접속되는 호스트 컴퓨터(200)에 로드 되어 실제 환경(230a)에서 동작하는 실재 파일 시스템(180), 소정의 응용프로그램을 가상환경(160a)에서 동작 시키기 위한 가상 환경부(160) 및 가상 환경부(160)를 호스트 컴퓨터(200)의 메모리(240)에 다운로드하여 제어하고, 가상환경(160)에서 실행 가능한 응용프로그램 리스트를 표시해 주는 가상환경 구동부(160) 등이 저장되어있다.
여기서, 휴대용 디지털 저장장치(100)에는 호스트 컴퓨터(200)에 통신 접속됨에 따라 가상환경 구동부(150)를 자동으로 실행시켜주는 자동 실행부(140)가 저장될 수 도 있다.
상술한 바와 같이, 유무선 데이터 통신 방식을 통하여 호스트 컴퓨터(200)에 통신 접속됨에 따라, 휴대용 디지털 저장장치(100)에 구축된 자동 실행부(140)가 호스트 컴퓨터(200)의 메모리(240)에 로드 되어 자동으로 실행된다(S102).
이후, 자동 실행부(140)는 호스트 컴퓨터(200)의 메모리(240)에 휴대용 디지털 저장장치(100)의 가상환경 구동부(150)를 로드 하여 실행시킨다(S103). 이때, 실행된 가상환경 구동부(150)는 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)의 종류 및 개수를 분석하고(S104), 분석 결과에 따라 응용프로그램 실행 링크를 표시하여 실행 가능한 응용프로그램 리스트를 호스트 컴퓨터(200)의 표시부(270)상에 디스플레이 시킨다(S105).
상술한 바와 같이 응용프로그램 패키지(170)와 가상 환경부(160)를 저장한 휴대용 디지털 저장장치(100)가 호스트 컴퓨터(200)의 메모리(240)에 소정의 응용프로그램이 실행될 수 있는 가상환경(160a)을 구축한 후, 상기 호스트 컴퓨터(200)는 사용자가 선택한 소정의 응용프로그램을 가상환경(160a) 또는 실제 환경(230a)에서 구동시킨다(S200).
도 8을 참조하여 보다 구체적으로 설명하면, 사용자가 입력 수단을 통하여 링크된 응용프로그램 중에서 구동시키고자 하는 소정의 응용프로그램(170a)을 선택하면(S201), 호스트 컴퓨터(200)는 선택된 응용프로그램(170a)이 호스트 컴퓨터(200)에 설치된 응용프로그램인지 또는 가상환경 구동부(160)가 가상환경(160a)위에서 제공하는 응용프로그램인지를 판단한다(S202).
단계(S202)의 판단 결과 사용자가 선택한 응용프로그램(170a)이 데이터 저장부(260)에 설치된 응용프로그램인 경우, 호스트 컴퓨터(200)는 운영체제(230)위에 구축된 실제 환경(230a)에서 데이터 저장부(260)에 설치된 응용프로그램을 실행시킨다(S203).
그러나, 단계(S202)의 판단 결과 사용자가 선택한 응용프로그램이 가상환경 구동부(150)가 가상환경(160a)위에서 제공하는 응용프로그램인 경우, 가상환경 구동부(150)는 유무선 데이터 통신을 통하여 휴대용 디지털 저장장치(100)로부터 가상 환경부(160)를 전송 받아 메모리(240)에 로드 시킨다(S204).
이후, 가상환경 구동부(150)는 가상 환경부(160)를 제어하여 메모리(240)에 소정의 응용프로그램(170a)이 동작할 수 있는 가상환경(160a)을 구축시킨다(S205).
상술한 바와 같이 호스트 컴퓨터(200)의 메모리(240)에 가상환경을 구축한 후, 가상환경 구동부(151a)는 가상 환경부(152a)을 제어하여 사용자가 선택한 응용프로그램(222a)에 저장된 사용가능기간 및 사용자 인증정보에 의해 해당 응용프로그램(222a)의 사용가능 여부를 판단한다(S206).
단계(S206)의 판단 결과 사용자가 선택한 응용프로그램에 대한 사용자 인증 이 실패하거나 또는 사용가능기간이 경과한 경우, 가상환경 구동부(150)는 사용자가 선택한 응용프로그램을 사용할 수 없다는 경고 메시지를 표시부(270)상에 표시(S207)하는 동시에 응용프로그램(170a)의 구동을 중지시킨다(S207).
그러나, 단계(S206)의 판단 결과 사용자가 선택한 응용프로그램에 대한 사용자 인증이 성공하거나 또는 사용가능기간이 경과하지 않은 경우, 가상환경 구동부(150)는 가상 환경부(160)를 제어하여 휴대용 디지털 저장장치(100)에 저장된 응용프로그램 패키지(170)를 유무선 데이터 통신을 통하여 스트림 데이터 형태로 실시간 전송 받아 메모리(240)에 로드 시킨다(208).
이후, 가상환경 구동부(150)는 메모리(240)에 로드된 응용프로그램 패키지(170)를 구동시켜 사용자가 선택한 응용프로그램(170a)을 가상 환경부(160)에 의해 구축된 가상환경(160a)위에서 실행시킨다(S209).
상술한 바와 같이 휴대용 디지털 저장장치(100)의 가상 환경부(160)에 의해 구축된 가상환경(160a)에서 소정의 응용프로그램을 구동시킨 후, 가상환경 구동부(150)는 도 6에 도시된 바와 같이 사용자가 입력한 종료 신호에 따라 가상환경(160a)에서 실행되고 있는 응용프로그램(170a)을 종료시킨다(S300).
도 9를 참조하여 보다 구체적으로 설명하면, 가상환경 구동부(150)는 호스트 컴퓨터(200)에 휴대용 디지털 저장장치(100)가 마운트 되어 있는지 여부를 항상 판단한다(S301).
단계(S301)의 판단 결과 휴대용 디지털 저장장치(100)가 호스트 컴퓨터(200)에 마운트 되어 있지 않은 상태에서 사용자가 응용프로그램의 사용을 종료하는 경 우, 가상환경 구동부(150)는 가상환경(150a)위에서 실행중인 모든 응용프로그램(170a)을 종료한다(S302).
그러나, 단계(S301)의 판단 결과 휴대용 디지털 저장장치가(100) 마운트 되어 있는 상태에서 사용자가 응용프로그램(170a)의 사용을 종료하는 경우, 가상환경 구동부(150)는 가상환경(160a)위에서 실행중인 응용프로그램(170a)을 종료한다(S303).
이후, 가상환경 구동부(150)는 종료된 응용프로그램 이외에 또 다른 응용프로그램이 가상환경(160a)위에서 실행되고 있는지 여부를 판단한다(S304).
단계(S304)의 판단 결과 또 다른 응용프로그램이 가상환경(160a)위에서 실행되고 있는 경우, 가상환경 구동부(150)는 가상환경(160a)위에서 실행중인 또 다른 응용프로그램의 구동을 위해 가상환경을 계속 유지한다(S305).
그러나, 단계(S304)의 판단 결과 가상환경(160a)에서 실행중인 또 다른 응용프로그램이(170a)없다면, 가상환경 구동부(150)는 가상 환경부(160)를 제어하여 호스트 컴퓨터(200)의 메모리(240)에 구축된 가상환경(160a)을 제거한다(S306). 이후, 가상환경 구동부(150)는 호스트 컴퓨터(200)의 메모리(240)에서 가상 환경부(160)를 제거한 후 종료한다(S307).
이때, 단계(S307)는 휴대용 디지털 저장장치(100)가 호스트 컴퓨터(200)에 마운트 되어 있지 않다면 항상 수행되어야 하되, 마운트 되어 있다면 사용에 따라 수행되지 않을 수도 있다.
여기서, 상술한 바와 같이 사용자가 선택한 응용프로그램을 가상환경 위에서 실행시키는 경우, 호스트 컴퓨터(200)의 메모리(240)에 로드된 가상 환경부(160)의 데이터 보호부(165)는 가상환경(160a)에 구축된 응용프로그램에 대한 불법 복제를 방지하는 역할을 수행할 수 도 한다(S400).
도 10을 참조하여 설명하면, 호스트 컴퓨터(200)의 운영체제(230)위에 소정의 응용프로그램이 로드 되어 구동되면(S401), 호스트 컴퓨터(200)의 메모리(240)에 구성된 가상환경(160a)의 데이터 보호부(165)는 상기 구동된 소정의 응용프로그램이 가상환경(160a)위에 구성된 응용프로그램(170a)에 대한 복사, 변형 및 삭제 등을 수행하는 지 여부를 판단한다(S402).
단계(S402)의 판단 결과 상기 가상환경 위에 구축된 응용프로그램(170a)에 대한 복사, 삭제 및 변형 등을 수행하지 않는다면, 데이터 보호부(165)는 가상환경(160a)에게 상기 로드 되어 구동하는 응용프로그램이 불법 복제용 응용프로그램이 아니라는 정보를 가상환경(160a)에 전달한다(S403).
그러나, 단계(S402)의 판단 결과 상기 가상환경 위에 구축된 응용프로그램(170a)에 대한 복사, 삭제 및 변형 등을 수행한다면, 데이터 보호부(165)는 상기 운영체제(230)위에 로드 되어 구동되는 응용프로그램의 실행파일이름 및 경로를 추적하고(S404), 이에 의해 상기 응용프로그램이 가상환경 위에 구축된 응용프로그램(170a)인지 여부를 판단한다(S405).
단계(S405)의 판단 결과 상기 가상환경(170a)위에 구축된 응용프로그램이 아니면, 가상 환경부(150)는 상기 가상환경위에 구축된 응용프로그램의 파일 복사, 변형 및 삭제가 불가능하다는 메시지를 호스트 컴퓨터(200)의 표시부(270)상에 출 력시킨다(S406).
그러나, 단계(S405)의 판단 결과 상기 가상환경(160a)에 구축된 응용프로그램 이면, 가상환경 구동부(160)가 상기 가상환경위에 구축된 응용프로그램의 파일 복사, 변형 및 삭제 등의 동작을 수행한다(S407).
본 발명의 기술사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며, 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술분야의 통상의 전문가라면 본 발명의 기술사상의 범위에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
이상에서 설명한 바와 같이 본 발명은, 휴대용 디지털 저장장치에 내장된 가상환경모듈을 이용하여 호스트 컴퓨터에 가상환경을 구축하여 응용프로그램을 구동시킴으로써, 호스트 컴퓨터의 운영체제 하에서 구동되는 응용프로그램과의 충돌을 방지할 수 있다는 효과를 제공한다.
또한, 본 발명은 휴대용 디지털 저장장치에 저장된 자동 실행부를 통해 호스트 컴퓨터의 메모리에 로드되어 응용프로그램이 구동되는 가상환경을 구축시키는 가상환경 모듈을 자동으로 구동시킴으로써, 호스트 컴퓨터에 대한 부팅 등의 복잡한 설치 과정을 거치지 않고 소정의 응용프로그램을 클릭앤런 방식으로 실시간 실행시킬 수 있다는 효과를 제공한다.
또한, 본 발명은 응용프로그램 패키지 및 가상환경 모듈을 내장한 휴대용 디지털 저장장치를 이용하여 호스트 컴퓨터에 응용프로그램이 구동될 수 있는 가상환 경을 구축함으로써, 소정의 응용프로그램을 수행하거나 또는 문서편집 등의 업무를 수행시에 호스트 컴퓨터에 휴대용 디지털 저장장치를 통신 접속하여 간단히 업무를 수행할 수 있는 효과가 있다.
또한, 본 발명은 휴대용 디지털 저장장치에 저장된 응용프로그램 패키지를 참조하여 사용자가 요청한 응용프로그램을 스트리밍 형태로 호스트 컴퓨터의 메모리에 실시간 로드시킴으로써, 호스트 컴퓨터의 메모리 용량을 극대화 할 뿐 아니라 사용자가 보유하고 있는 응용프로그램을 사용자 자신만이 사용할 수 있도록 보호하여 타인에게 허락 받지 않은 상태로 양도할 수 없도록 활용할 수 있는 효과가 있다.
또한, 본 발명은 가상환경모듈을 구성하는 데이터 보호부를 이용하여 호스트 컴퓨터에 로드되는 불법 복사용 응용프로그램을 식별함으로써, 가상환경을 구축하여 각종 응용프로그램 파일에 복사, 편집, 검색 등의 불법적인 사용 행위를 방지할 수 있다는 효과를 제공한다.

Claims (17)

  1. 운영체제가 설치된 호스트 컴퓨터와 응용프로그램 패키지가 저장된 휴대용 디지털 저장장치가 유/무선 데이터통신 수단에 의해 통신 접속되고, 상기 호스트 컴퓨터와 상기 휴대용 디지털 저장장치 간에 소정의 통신 프로토콜에 의해 데이터를 송수신하는 시스템에 있어서,
    상기 휴대용 디지털 저장장치에 저장되어있고 상기 호스트 컴퓨터의 메모리에 로드 되어 상기 호스트 컴퓨터의 운영체제 및 응용프로그램이 실행될 수 있는 실제 환경을 추상화한 가상환경을 구성하는 가상 환경부; 및
    상기 휴대용 디지털 저장장치에 저장된 상기 가상 환경부를 상기 호스트 컴퓨터에 복사 및 수행시키는 가상환경 구동부
    를 포함하여 구성된 것을 특징으로 하는 휴대용 디지털 저장장치.
  2. 제 1 항에 있어서,
    상기 휴대용 디지털 저장장치가 상기 호스트 컴퓨터에 접속됨에 따라 상기 호스트 컴퓨터의 메모리에 자동으로 로드 되어 상기 호스트 컴퓨터를 운영하는 사용자의 실행 없이 상기 가상환경 구동부를 상기 호스트 컴퓨터로 전송하고 실행시켜주는 자동 실행부
    를 더 포함하여 구성된 것을 특징으로 하는 휴대용 디지털 저장장치.
  3. 제 1 항에 있어서, 상기 가상환경 구동부는,
    상기 호스트 컴퓨터의 운영체제가 제공하는 실제 환경과 완전 분리된 가상환경위에서 소정의 가상 레지스트리 시스템을 구축시키는 레지스트리 구현부;
    상기 호스트 컴퓨터의 운영체제가 제공하는 실제 환경과 완전 분리된 가상환경위에서 소정의 가상 파일 및 폴더 시스템을 구축시키는 파일 시스템 구현부;
    상기 호스트 컴퓨터의 운영체제가 제공하는 실제 환경과 완전 분리된 가상환경위에서 소정의 가상 컴포넌트 또는 DLL(Dynamic Link Library) 시스템을 구축시키는 컴포넌트 구현부; 및
    상기 호스트 컴퓨터의 운영체제가 제공하는 실제 환경과 완전 분리된 가상환경위에서 소정의 폰트파일, 프린터, 환경변수 등의 환경 시스템을 구축시키는 환경설정 구현부
    를 포함하여 구성된 것을 특징으로 하는 휴대용 디지털 저장장치.
  4. 제 3 항에 있어서, 상기 가상 환경부는,
    상기 호스트 컴퓨터의 메모리에 소정의 응용프로그램이 로드 되는 경우, 상기 로드 된 응용프로그램의 파일명 및 경로를 추적하여 불법 복제용 응용프로그램 여부를 판단하여 불법 복제용 응용프로그램인 경우 가상환경에 구축된 파일 시스템에 대한 복사, 편집, 변형 및 삭제 등을 방지하는 데이터 보호부
    를 더 포함하여 구성된 것을 특징으로 하는 휴대용 디지털 저장장치.
  5. 제 1 항에 있어서, 상기 가상환경 구동부는,
    상기 가상 환경부를 상기 호스트 컴퓨터의 메모리로 로드 시킨 후 활성화하여 상기 가상환경을 구축하고, 상기 응용프로그램 패키지를 참조하여 가상환경위에서 실행될 수 있는 응용프로그램 리스트를 출력시키고, 사용자가 상기 리스트를 참조하여 소정의 응용프로그램을 선택하는 경우 상기 선택된 응용프로그램을 상기 가상환경에 로드 시켜 소정의 데이터 작업을 수행한 후, 상기 운영체제로부터 응용프로그램 종료 신호가 입력되면, 상기 응용프로그램을 종료한 후 메모리에 구축된 가상환경 및 가상 환경부를 제거하여 응용프로그램을 종료시키는 것을 특징으로 하는 휴대용 디지털 저장장치
  6. 제 1 항에 있어서, 상기 응용프로그램 패키지는,
    상기 호스트 컴퓨터의 운영체제에 의해 인식될 수 있는 사용 가능 기간 및 사용자 인증정보를 포함하여 구성된 것을 특징으로 하는 휴대용 디지털 저장장치.
  7. 제 1 항에 있어서, 상기 응용프로그램 패키지는,
    상기 가상환경 구동부에 의해 스트리밍 형태로 상기 호스트 컴퓨터의 메모리에 실시간 로드 되는 것을 특징으로 하는 휴대용 디지털 저장장치.
  8. 운영체제가 설치된 호스트 컴퓨터와 유/무선 데이터통신 수단에 의해 연결된 휴대용 디지털 저장장치를 사용하여 상기 호스트 컴퓨터에 설치되지 않은 소정의 응용프로그램을 상기 휴대용 디지털 저장장치에 저장된 응용프로그램 패키지를 참조하여 가상환경 위에서 구동시키는 방법에 있어서,
    상기 호스트 컴퓨터에 소정의 응용프로그램이 실행될 수 있는 가상환경을 메모리에 구축하는 단계;
    상기 호스트 컴퓨터의 메모리에 구축된 가상환경 위에서 상기 응용프로그램을 구동하는 단계; 및
    상기 호스트 컴퓨터에서 상기 응용프로그램이 종료된 후 상기 응용프로그램과 가상환경을 상기 호스트 컴퓨터에서 제거하는 단계
    를 포함하여 구성된 것을 특징으로 하는 응용프로그램 구동방법.
  9. 제 8 항에 있어서,
    상기 가상환경 위에서 응용프로그램을 구동하는 단계 이후에, 상기 가상환경위에 구축된 소정의 응용프로그램에 대한 불법 복제를 방지하는 단계
    를 더 포함하여 구성된 것을 특징으로 하는 응용프로그램 구동방법.
  10. 제 8 항에 있어서,
    상기 호스트 컴퓨터의 메모리에 가상환경을 구축하는 단계는,
    가상 환경부를 구비한 휴대용 디지털 저장장치를 유무선 데이터 통신 방식을 통해 상기 호스트 컴퓨터에 통신 접속시키는 단계;
    상기 통신 접속된 호스트 컴퓨터의 메모리에 휴대용 디지털 저장장치의 자동실행부가 로드 되어 실행되는 단계;
    상기 실행된 자동실행부가 호스트 컴퓨터의 메모리에 상기 휴대용 디지털 저장장치의 가상환경 구동부를 로드 하여 실행하는 단계;
    상기 실행된 가상환경 구동부가 상기 휴대용 디지털 저장장치에 저장되어 있는 응용프로그램 패키지의 종류 및 개수를 분석하는 단계; 및
    상기 분석 결과에 따라 응용프로그램 실행 링크를 표시하여 실행 가능한 응용프로그램 리스트를 상기 호스트 컴퓨터에 디스플레이 시키는 단계
    를 포함하여 구성되는 것을 특징으로 하는 응용프로그램 구동방법.
  11. 제 8 항에 있어서,
    상기 호스트 컴퓨터의 메모리에 구축된 가상환경 위에서 소정의 응용프로그램을 구동하는 단계는,
    상기 실행 가능한 응용프로그램 리스트를 참조하여 실행하고자 하는 응용프로그램을 선택하는 단계;
    상기 호스트 컴퓨터에서 사용자가 선택한 응용프로그램이 상기 호스트 컴퓨터에 설치된 응용프로그램인지 또는 가상환경 구동부가 가상환경위에서 제공하는 응용프로그램인지를 판단하는 단계;
    상기 사용자가 선택한 응용프로그램이 상기 호스트 컴퓨터의 데이터저장부에 설치된 응용프로그램인 경우, 상기 호스트 컴퓨터의 운영체제가 실제 환경에서 설 치된 응용프로그램을 실행시키는 단계; 및
    상기 사용자가 선택한 응용프로그램이 가상환경위에서 제공하는 응용프로그램인 경우, 상기 가상환경 구동부가 운영체제상에 구축된 가상환경위에서 응용프로그램파일을 실행시키는 단계
    를 포함하여 구성되는 것을 특징으로 하는 응용프로그램 구동방법.
  12. 제 11 항에 있어서,
    상기 가상환경위에서 응용프로그램파일을 실행시키는 단계는,
    상기 호스트 컴퓨터의 메모리에 로드 된 가상환경 구동부가 유무선 데이터 통신을 통하여 상기 휴대용 디지털 저장장치로부터 가상환경부를 전송 받아 상기 호스트 컴퓨터의 메모리에 로드 시키는 단계;
    상기 가상환경 구동부가 상기 가상환경부를 제어하여 상기 호스트 컴퓨터의 메모리 영역에 소정의 응용프로그램이 동작할 수 있는 가상환경을 구축시키는 단계;
    상기 가상환경 구동부가 상기 가상환경부를 제어하여 상기 사용자가 선택한 응용프로그램에 저장된 사용가능기간 및 사용자인증정보에 의해 해당 응용프로그램의 사용가능 여부를 판단하는 단계;
    상기 응용프로그램에 대한 사용자 인증이 실패한 경우, 사용자가 선택한 응용프로그램을 사용할 수 없다는 경고 메시지를 표시하는 동시에 응용프로그램의 구동을 중지시키는 단계; 및
    상기 응용프로그램에 대한 사용자 인증이 성공한 경우, 사용자가 선택한 응용프로그램을 구동시키는 단계
    를 포함하여 구성되는 것을 특징으로 하는 응용프로그램 구동방법.
  13. 제 12 항에 있어서,
    사용자가 선택한 응용프로그램을 구동시키는 단계는,
    상기 휴대용 디지털 저장장치에 저장된 응용프로그램 패키지를 유무선 데이터 통신을 통하여 스트림 데이터 형태로 실시간 전송 받은 후 이를 상기 호스트 컴퓨터의 메모리에 로드 시키는 단계; 및
    상기 호스트컴퓨터의 메모리에 로드 된 응용프로그램 패키지를 구동시켜 사용자가 선택한 응용프로그램을 상기 가상환경위에서 실행시키는 단계
    를 포함하여 구성되는 것을 특징으로 하는 응용프로그램 구동방법.
  14. 제 7 항에 있어서,
    상기 호스트 컴퓨터의 메모리로부터 응용프로그램과 가상환경을 제거하는 단계는,
    상기 호스트컴퓨터에 휴대용 디지털 저장장치가 마운트 되어 있는지 주기적으로 확인하는 단계;
    상기 휴대용 디지털 저장장치가 마운트 되어 있다면, 사용자 또는 상기 호스트 컴퓨터의 운영체제가 응용프로그램을 종료 할 때까지 기다리는 단계;
    상기 휴대용 디지털 저장장치가 마운트 되어 있지 않다면, 상기 호스트 컴퓨터의 가상환경위에서 실행중인 모든 응용프로그램을 종료하는 단계
    를 포함하여 구성되는 것을 특징으로 하는 응용프로그램 구동방법.
  15. 제 14항에 있어서,
    상기 응용프로그램을 종료할 때까지 기다리는 단계는,
    상기 호스트컴퓨터의 가상환경위에서 실행중인 응용프로그램의 사용을 사용자 또는 상기 호스트 컴퓨터의 운영체제가 종료하는 단계;
    상기 종료된 응용프로그램 이외에 상기 호스트 컴퓨터의 가상환경위에서 실행중인 응용프로그램이 있는지 확인하는 단계; 및
    상기 호스트 컴퓨터의 가상환경위에서 실행중인 응용프로그램이 없는 경우 가상환경을 제거하는 단계
    를 포함하여 구성되는 것을 특징으로 하는 응용프로그램 구동방법.
  16. 제 15 항에 있어서,
    상기 호스트 컴퓨터의 메모리로부터 가상환경을 제거하는 단계는,
    상기 호스트 컴퓨터의 메모리에서 가상 환경부를 제어하여 가상환경을 제거하는 단계; 및
    상기 호스트 컴퓨터의 메모리에서 상기 가상환경부를 제거하고 상기 가상환경 구동부를 종료시키는 단계
    를 포함하여 구성되는 것을 특징으로 하는 응용프로그램 구동방법.
  17. 제 9 항에 있어서,
    상기 가상환경위에 구축된 응용프로그램에 대한 불법 복제를 방지하는 단계는,
    상기 호스트 컴퓨터의 운영체제위에 소정의 응용프로그램이 로드 되어 구동되면, 상기 호스트 컴퓨터의 메모리에 구성된 가상환경의 데이터 보호부는 상기 구동된 소정의 응용프로그램이 가상환경위에 구성된 응용프로그램에 대한 복사, 삭제 및 변형 등을 수행하는 지 여부를 판단하는 단계;
    상기 단계의 판단 결과 상기 가상환경위에 구축된 응용프로그램에 대한 복사, 삭제 및 변형 등을 수행하지 않는다면, 상기 데이터 보호부는 가상환경에 로드 되어 구동하는 응용프로그램이 불법 복제용 응용프로그램이 아니라는 정보를 가상환경에 전달하는 단계;
    상기 단계의 판단 결과 상기 가상환경위에 구축된 응용프로그램에 대한 복사, 삭제 및 변형 등을 수행한다면, 상기 데이터 보호부는 상기 호스트 컴퓨터의 운영체제위에 로드 되어 구동되는 응용프로그램의 파일이름 및 경로를 추적하여 상기 구동된 응용프로그램이 가상환경 위에 구축된 응용프로그램인지 여부를 판단하는 단계;
    상기 단계의 판단 결과 상기 가상환경위에 구축된 응용프로그램이 아니면, 상기 가상환경부가 상기 가상환경위에 구축된 응용프로그램의 파일 복사, 삭제 및 변형이 불가능하다는 메시지를 출력하는 단계; 및
    상기 단계의 판단 결과 상기 가상환경위에 구축된 응용프로그램 이면, 상기 가상 환경부가 상기 가상환경위에 구축된 응용프로그램의 파일 복사, 변형 및 삭제 등의 동작을 수행하는 단계
    를 포함하여 구성되는 것을 특징으로 하는 응용프로그램 구동방법.
KR1020040101477A 2004-12-04 2004-12-04 호스트 컴퓨터상에서 응용프로그램 수행을 위한 휴대용디지털 저장장치 시스템 및 방법 KR100654675B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040101477A KR100654675B1 (ko) 2004-12-04 2004-12-04 호스트 컴퓨터상에서 응용프로그램 수행을 위한 휴대용디지털 저장장치 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040101477A KR100654675B1 (ko) 2004-12-04 2004-12-04 호스트 컴퓨터상에서 응용프로그램 수행을 위한 휴대용디지털 저장장치 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20060062587A true KR20060062587A (ko) 2006-06-12
KR100654675B1 KR100654675B1 (ko) 2006-12-08

Family

ID=37158720

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040101477A KR100654675B1 (ko) 2004-12-04 2004-12-04 호스트 컴퓨터상에서 응용프로그램 수행을 위한 휴대용디지털 저장장치 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR100654675B1 (ko)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008005219A3 (en) * 2006-06-30 2008-02-21 Microsoft Corp Running applications from removable media
WO2009025444A1 (en) * 2007-08-20 2009-02-26 Teruten, Inc. Method and apparutus for providing software security
KR100901014B1 (ko) * 2008-07-15 2009-06-04 (주)노애드 가상 환경상에서의 응용 프로그램 실행 장치 및 방법
WO2009078610A2 (en) * 2007-12-18 2009-06-25 Electronics And Telecommunications Research Institute System and method for providing streaming-based portable application
WO2009088175A2 (en) * 2008-01-04 2009-07-16 Markany Inc. Virtual application program system, storing device, method for executing virtual application program and method for protecting virtual environment
KR100921680B1 (ko) * 2007-08-21 2009-10-15 한국전자통신연구원 보안 기능을 구비한 휴대용 저장장치 및 이를 이용한컴퓨팅 방법
KR100964326B1 (ko) * 2008-02-29 2010-06-17 (주)엔탑소프트 클라이언트 프로그램의 자동실행방법, 그 장치, 및 상기 장치를 포함하는 메모리 장치
KR101013509B1 (ko) * 2008-01-04 2011-02-11 주식회사 마크애니 가상 응용 프로그램 시스템, 저장장치, 가상 응용 프로그램수행 방법 및 가상 환경 보호 방법
KR101032386B1 (ko) * 2008-07-16 2011-05-03 주식회사 마크애니 가상 머신을 이용한 응용 프로그램 제공 방법 및 시스템,가상 응용 프로그램 수행 방법, 가상 머신 모듈 및 온라인서비스 제공 방법
US8464253B2 (en) 2008-12-03 2013-06-11 Samsung Electronics Co., Ltd. Apparatus and method for providing services using a virtual operating system
KR101399016B1 (ko) * 2009-09-08 2014-06-30 에스케이플래닛 주식회사 소프트웨어가 탑재된 휴대형 저장장치 및 이를 이용한 파일 패키지 저장 방법
KR101428979B1 (ko) * 2009-08-21 2014-08-13 에스케이플래닛 주식회사 휴대형 저장장치, 그를 이용한 응용프로그램 제공 시스템 및 방법
KR101489301B1 (ko) * 2008-03-20 2015-02-06 삼성전자주식회사 가상환경 시스템 및 그의 구동방법
KR102177536B1 (ko) * 2020-05-21 2020-11-11 주식회사 이스트림 It 시스템 구축 및 유지보수 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101103795B1 (ko) * 2010-02-02 2012-01-06 주식회사 미라지웍스 포터블 매체를 이용한 소프트웨어 가상화 시스템 제공방법
KR102230334B1 (ko) * 2018-11-29 2021-03-22 주식회사 엘케이벤쳐스 데이터 및 프로그램 영역의 메모리를 내장한 파워뱅크

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471674A (en) 1992-02-07 1995-11-28 Dell Usa, L.P. Computer system with plug-in override of system ROM
WO2001029660A1 (en) * 1999-10-18 2001-04-26 Intel Corporation Method and apparatus for secure automatic playback of content from removable mass storage media
KR20030003611A (ko) * 2001-07-03 2003-01-10 (주)싸이버뱅크 대용량 메모리를 가지는 휴대형 단말 장치 및 그 동작 방법
KR20030060342A (ko) * 2002-01-08 2003-07-16 엘지전자 주식회사 개인 휴대 정보 단말기의 부팅 방법
KR20040097436A (ko) * 2003-05-12 2004-11-18 에크로텍(주) Usb 휴대용 저장장치를 이용한 소프트웨어 불법복제방지장치 및 방지방법

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008005219A3 (en) * 2006-06-30 2008-02-21 Microsoft Corp Running applications from removable media
WO2009025444A1 (en) * 2007-08-20 2009-02-26 Teruten, Inc. Method and apparutus for providing software security
US8549580B2 (en) 2007-08-20 2013-10-01 Teruten, Inc. Method and apparatus for providing software security
KR100921680B1 (ko) * 2007-08-21 2009-10-15 한국전자통신연구원 보안 기능을 구비한 휴대용 저장장치 및 이를 이용한컴퓨팅 방법
US8583816B2 (en) 2007-12-18 2013-11-12 Electronics And Telecommunications Research Institute System for providing streaming-based portable application under selective conditions
WO2009078610A2 (en) * 2007-12-18 2009-06-25 Electronics And Telecommunications Research Institute System and method for providing streaming-based portable application
WO2009078610A3 (en) * 2007-12-18 2009-10-01 Electronics And Telecommunications Research Institute System and method for providing streaming-based portable application
WO2009088175A3 (en) * 2008-01-04 2009-10-08 Markany Inc. Virtual application program system, storing device, method for executing virtual application program and method for protecting virtual environment
KR101013509B1 (ko) * 2008-01-04 2011-02-11 주식회사 마크애니 가상 응용 프로그램 시스템, 저장장치, 가상 응용 프로그램수행 방법 및 가상 환경 보호 방법
WO2009088175A2 (en) * 2008-01-04 2009-07-16 Markany Inc. Virtual application program system, storing device, method for executing virtual application program and method for protecting virtual environment
KR100964326B1 (ko) * 2008-02-29 2010-06-17 (주)엔탑소프트 클라이언트 프로그램의 자동실행방법, 그 장치, 및 상기 장치를 포함하는 메모리 장치
KR101489301B1 (ko) * 2008-03-20 2015-02-06 삼성전자주식회사 가상환경 시스템 및 그의 구동방법
US10007541B2 (en) 2008-03-20 2018-06-26 Samsung Electronics Co., Ltd. Method for operating a mobile virtual environment upon connection to a host computer
KR100901014B1 (ko) * 2008-07-15 2009-06-04 (주)노애드 가상 환경상에서의 응용 프로그램 실행 장치 및 방법
KR101032386B1 (ko) * 2008-07-16 2011-05-03 주식회사 마크애니 가상 머신을 이용한 응용 프로그램 제공 방법 및 시스템,가상 응용 프로그램 수행 방법, 가상 머신 모듈 및 온라인서비스 제공 방법
US9459899B2 (en) 2008-12-03 2016-10-04 Samsung Electronics Co., Ltd. Apparatus and method for providing services using a virtual operating system
US8464253B2 (en) 2008-12-03 2013-06-11 Samsung Electronics Co., Ltd. Apparatus and method for providing services using a virtual operating system
KR101428979B1 (ko) * 2009-08-21 2014-08-13 에스케이플래닛 주식회사 휴대형 저장장치, 그를 이용한 응용프로그램 제공 시스템 및 방법
KR101399016B1 (ko) * 2009-09-08 2014-06-30 에스케이플래닛 주식회사 소프트웨어가 탑재된 휴대형 저장장치 및 이를 이용한 파일 패키지 저장 방법
KR102177536B1 (ko) * 2020-05-21 2020-11-11 주식회사 이스트림 It 시스템 구축 및 유지보수 방법

Also Published As

Publication number Publication date
KR100654675B1 (ko) 2006-12-08

Similar Documents

Publication Publication Date Title
KR100654675B1 (ko) 호스트 컴퓨터상에서 응용프로그램 수행을 위한 휴대용디지털 저장장치 시스템 및 방법
JP4245374B2 (ja) 着脱式デバイスおよび制御回路
US10445258B1 (en) Method for creation of device drivers and device objects for peripheral devices
EP2811404B1 (en) Virtual desktop implementation method, device and system
EP1989635B1 (en) Migrating a virtual machine that owns a resource such as a hardware device
EP1672509B1 (en) Portable applications
US7606946B2 (en) Removable device and program startup method
US8799521B2 (en) System and method for receiving control commands at a peripheral device
CN101297284B (zh) 无需重新引导的显示驱动程序升级
US20120124566A1 (en) Shared resource dependencies
US20080071935A1 (en) Self-Installing Computer Peripherals
US20100132042A1 (en) Method for upgrading antivirus software and terminal and system thereof
US20060224794A1 (en) Using USB memory device to recover operating system
JP6293657B2 (ja) 他のオペレーティング・システムへのブート動作の動的なリダイレクト
CN101551754A (zh) 虚拟软件子层的动态插入和去除
KR101548437B1 (ko) 휴대용 디바이스의 드라이버(들)를 휴대용 디바이스에 통합하는 방법 및 장치
CN106528226A (zh) 操作系统的安装方法及装置
EP2372565A1 (en) Method for managing USB devices
CN106155713B (zh) 启动信息管理方法及装置
KR20050004403A (ko) 이동식 저장장치 및 이동식 저장장치의 구동방법
KR100733742B1 (ko) 휴대용 정보처리 단말기 및 상기 단말기의 통신 시스템
EP2048576B2 (fr) Procédé de mise à jour sécurisée d&#39;un programme à lancement automatique et entité électronique portable le mettant en oeuvre
CN113302598A (zh) 电子数据管理装置、电子数据管理系统、其所用的程序及记录介质
CN116028100B (zh) 软件版本升级方法和电子设备
JP2022021473A (ja) 情報処理装置、情報処理装置の制御方法、情報処理システム及びプログラム

Legal Events

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

Payment date: 20121130

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 9