KR100654675B1 - A Portable Data Storage System and Method to Run Application Programs on a Host Computer System - Google Patents
A Portable Data Storage System and Method to Run Application Programs on a Host Computer System Download PDFInfo
- Publication number
- KR100654675B1 KR100654675B1 KR1020040101477A KR20040101477A KR100654675B1 KR 100654675 B1 KR100654675 B1 KR 100654675B1 KR 1020040101477 A KR1020040101477 A KR 1020040101477A KR 20040101477 A KR20040101477 A KR 20040101477A KR 100654675 B1 KR100654675 B1 KR 100654675B1
- Authority
- KR
- South Korea
- Prior art keywords
- virtual environment
- host computer
- application program
- application
- storage device
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring 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
-
- 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
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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)을 통해 가상환경 구동수단을 실행하고, 상기 가상환경 구동수단은 상기 호스트 컴퓨터에 가상환경수단을 전송한 후 상기 호스트 컴퓨터의 운영체제(실제환경)위에 가상환경을 구성하고, 상기 가상환경에 기초하여 구동할 수 있는 응용프로그램 리스트를 호스트 컴퓨터의 디스플레이장치를 통해 사용자에게 보여주고, 상기 응용프로그램 리스트를 참조하여 사용자가 응용프로그램을 선택하고, 상기 응용프로그램의 선택에 기초하여 상기 휴대용 디지털 저장장치에 저장되어 있는 응용프로그램 패키지를 상기 가상환경위에 추상화하고, 상기 가상환경위에 데이터 보호수단을 구성하여 상기 응용프로그램을 허락받지 않은 사용자가 불법 복제할 수 없게 하고, 상기 가상환경의 요청에 따라 상기 응용프로그램 실행에 필요한 데이터를 상기 통신 연결을 통해 실시간 전송하여 상기 응용프로그램을 상기 호스트 컴퓨터에서 실행하고, 상기 사용자 또는 상기 호스트 컴퓨터의 요청에 의해 실행중인 상기 응용프로그램을 종료하는 것을 특징으로 한다.According to the present invention, a portable digital storage device storing an application package and a virtual environment means is communicatively connected to a host computer so that a user of the host computer drives an application program stored in an application package form in a portable digital storage device on a virtual environment. A storage device, comprising: a portable digital storage device communicatively coupled to a host computer, wherein the host computer recognizes the portable digital storage device as a device device mounted on the host computer based on the communication connection, and the mounted portable digital device; The virtual environment driving means is executed through auto-run of the storage device, and the virtual environment driving means transmits the virtual environment means to the host computer, and then the virtual environment is executed on the operating system (real environment) of the host computer. Construct and remind A list of application programs that can be driven based on the environment is displayed to the user through the display device of the host computer, and the user selects an application program with reference to the application list, and the portable device is selected based on the selection of the application program. The application package stored in the digital storage device is abstracted on the virtual environment, and data protection means are configured on the virtual environment to prevent unauthorized users from copying the application and to request the virtual environment. According to the present invention, the data required for the execution of the application is transmitted through the communication connection in real time to execute the application on the host computer, and the application running on the request of the user or the host computer is terminated. .
휴대용 디지털 저장장치, 가상환경수단, 가상환경 구동수단, 응용프로그램패키지, 가상환경, 실재환경.Portable digital storage, virtual environment means, virtual environment drive means, application package, virtual environment, real environment.
Description
도 1은 본 발명에 따른 호스트 컴퓨터상에서 응용프로그램 수행을 위한 휴대용 디지털 저장장치 시스템의 구성도.1 is a block diagram of a portable digital storage system for executing an application program on a host computer according to the present invention.
도 2는 본 발명에 따른 응용프로그램 수행을 위한 가상환경수단 및 응용프로그램 패키지를 갖고 있는 휴대용 디지털 저장장치의 내부 구성도.2 is an internal configuration diagram of a portable digital storage device having a virtual environment means and an application package for executing an application program according to the present invention.
도 3은 본 발명에 따른 휴대용 디지털 저장장치에 내장된 가상환경 모듈의 내부 구성도.3 is an internal configuration diagram of a virtual environment module embedded in a portable digital storage device according to the present invention.
도 4는 본 발명에 따른 휴대용 디지털 저장장치가 통신 접속되는 호스트 컴퓨터의 내부 구성도.4 is an internal configuration diagram of a host computer to which a portable digital storage device according to the present invention is connected for communication.
도 5는 본 발명에 따른 호스트 컴퓨터에 휴대용 디지털 저장장치가 마운트되어 호스트 컴퓨터의 메모리에 가상환경을 구성하여 가상환경위에서 응용프로그램이 실행되는 구조를 도시한 도면.5 is a diagram illustrating a structure in which a portable digital storage device is mounted on a host computer according to the present invention to configure a virtual environment in a memory of the host computer to execute an application program on the virtual environment.
도 6은 본 발명에 따른 응용프로그램 패키지와 가상환경수단이 저장된 휴대용 디지털 저장장치를 이용한 응용프로그램 구동 과정을 도시한 순서도.6 is a flowchart illustrating an application program driving process using a portable digital storage device in which an application program package and a virtual environment means according to the present invention are stored.
도 7은 본 발명에 따른 휴대용 디지털 저장장치가 통신 연결된 호스트 컴퓨 터에 응용프로그램이 실행될 수 있는 가상환경을 구축하는 과정을 도시한 순서도.7 is a flowchart illustrating a process of building a virtual environment in which an application program can be executed on a host computer to which a portable digital storage device according to the present invention is connected.
도 8은 본 발명에 따른 휴대용 디지털 저장장치가 통신 연결된 호스트 컴퓨터에 구축된 가상환경위에서 응용프로그램을 구동시키는 과정을 도시한 순서도.8 is a flowchart illustrating a process of driving an application program on a virtual environment constructed in a portable computer connected to a portable digital storage device according to the present invention.
도 9는 본 발명에 따른 호스트 컴퓨터에 구축된 가상환경위에서 실행되는 응용프로그램 종료 후에 호스트 컴퓨터에 구현된 가상환경 및 응용프로그램을 제거하는 과정을 도시한 순서도.9 is a flowchart illustrating a process of removing a virtual environment and an application program implemented in the host computer after termination of an application program executed on the virtual environment constructed in the host computer according to the present invention.
도 10은 본 발명에 따른 호스트 컴퓨터의 운영체제에 로드 되는 불법 복제용 응용프로그램에 의해 수행되는 소정의 응용프로그램에 대한 불법 복제를 방지하는 과정을 도시한 순서도.10 is a flowchart illustrating a process of preventing illegal copying of a predetermined application executed by an illegal copying application loaded into an operating system of a host computer according to the present invention.
<도면의 주요 부분에 대한 부호의 설명> <Explanation of symbols for the main parts of the drawings>
100 : 휴대용 디지털 저장장치 110 : 통신인터페이스100: portable digital storage device 110: communication interface
120 : I/O 어댑터 130 : 메모리부120: I / O adapter 130: memory
140 : 자동실행수단 150 : 가상환경 구동수단140: automatic execution means 150: virtual environment driving means
160 : 가상 환경수단 161 : 레지스트리 구현수단160: virtual environment means 161: registry implementation means
162 : 파일시스템 구현수단 163 : 컴포넌트 구현수단162: file system implementation means 163: component implementation means
164 : 환경 설정 구현수단 165 : 데이터 보호수단164: means for implementing the environment setting 165: data protection means
170 : 응용프로그램패키지 180 : 실제 파일 시스템170: application package 180: the actual file system
190 : 통신포트 200 : 호스트 컴퓨터190: communication port 200: host computer
210 : 통신인터페이스 220 : I/O어댑터210: communication interface 220: I / O adapter
230 : 운영체제(OS) 240 : 메모리230: operating system (OS) 240: memory
230 : 통신인터페이스 240 : I/O 어댑터230: communication interface 240: I / O adapter
250 : 중앙처리장치(CPU) 260 : 데이터 저장부250: central processing unit (CPU) 260: data storage unit
270 : 표시부 280 : 통신버스270: display unit 280: communication bus
300 : 서버 400 : 네트워크 통신망300: server 400: network communication network
500 : 유무선 데이터 통신망500: wired and wireless data communication network
본 발명은 호스트 컴퓨터에 가상 환경수단이 내장된 휴대용 디지털 저장장치를 통신 연결하여 휴대용 디지털 저장장치에 저장된 응용프로그램을 가상환경에서 구동시키는 휴대용 디지털 저장장치 및 방법에 관한 것이다.The present invention relates to a portable digital storage device and method for communication connection of a portable digital storage device having a built-in virtual environment means to a host computer to drive an application stored in the portable digital storage device in a virtual environment.
보다 구체적으로는, 호스트 컴퓨터와 휴대용 디지털 저장장치에 파일복제, 다운로드, 인스톨 등의 응용프로그램 설치과정 없이, 휴대용 디지털 저장장치를 호스트 컴퓨터에 통신 접속하여 휴대용 디지털 저장장치에 내장된 가상 환경수단을 통해 소정의 응용프로그램이 실행될 수 있는 가상환경을 호스트 컴퓨터에 구축함으로써, 가상환경위에 구축된 응용프로그램을 사용자가 선택하여 실시간으로 실행시킬 수 있는 휴대용 디지털 저장장치 및 방법에 관한 것이다.More specifically, the portable digital storage device can be connected to the host computer through a virtual environment means built in the portable digital storage device without installing application programs such as file copying, downloading, and installing the host computer and the portable digital storage device. The present invention relates to a portable digital storage device and a method for allowing a user to select and execute in real time an application program constructed on a virtual environment by building a virtual environment in which a predetermined application program can be executed.
이전까지는 사용자가 호스트 컴퓨터에서 어떤 응용프로그램을 사용하여 문서작업을 하다가 물리적인 장소의 이동을 통해 다른 호스트 컴퓨터에서 문서작업을 계속 할 경우, 문서 작업한 데이터가 있을지라도 이동한 장소의 호스트 컴퓨터에 사용자의 호스트 컴퓨터와 같은 응용프로그램이 있거나 또는 같은 버전의 응용프로그램이 있어야 하는 문제가 있었다.Previously, if a user used an application on a host computer to work on a document, and then continued to work on another host computer by moving to a physical location, the user could not use the document on the host computer where the document was moved. There was a problem that there must be an application, or the same version of the application as the host computer.
만일, 이동한 장소의 호스트 컴퓨터에 해당 응용프로그램이 설치되어 있지 않았다면, 사용자는 설치CD 또는 설치파일을 복사 또는 다운로드받아 응용프로그램 파일 중에서 필요한 것을 인스톨의 과정을 통해 호스트에 설치해야만 했다. 이 방법은 인스톨절차에 따라 시간이 소요되며, 또한 호스트컴퓨터에 응용프로그램이 설치됨으로써 호스트컴퓨터의 디스크공간을 소모하고, 이 응용프로그램을 라이센스 문제 등으로 인해 삭제 할 때의 번거로움과, 완전삭제가 되지 않고 잔재가 남는다는 점, 애드웨어 및 스파이웨어 등이 남는점 등 불편함이 많았다.If the application program was not installed on the host computer at the moved location, the user had to copy or download the installation CD or the installation file and install the necessary application program file on the host through the installation process. This method takes time depending on the installation procedure, and also installs an application program on the host computer, which consumes the disk space of the host computer. There were a lot of inconveniences such as the remnants left behind and the remaining adware and spyware.
근래에 들어 휴대용 디지털 저장장치의 발달과 멀티미디어 압축기술의 발달로 인해 멀티미디어 컨텐츠와 같은 음악 파일들은 애플 컴퓨터사의 iPod 또는 국내 아이리버 의 MP3장치 등을 통해 MP3형태의 음악파일로 수십곡에서부터 수만곡까지 저장하여 개인들이 휴대하고 다니면서 즐길 수 있게 되었다. 이때, 이와 같은 휴대용 디지털 저장장치들은 MP3, 비디오등 미디어 파일을 저장하고 재생하는 기능을 첨가한 장치들이다.Recently, due to the development of portable digital storage devices and the development of multimedia compression technology, music files such as multimedia contents are stored as MP3 music files through the Apple Computer's iPod or the MP3 device of iriver in Korea. As a result, individuals can carry and enjoy it. At this time, such portable digital storage devices are devices that add a function of storing and playing media files such as MP3 and video.
현재, 한글과 컴퓨터사는 USB 타입의 휴대용 디지털 저장장치에 자사의 응용프로그램인 한글편집기를 저장하여 판매 중에 있고, 사용자는 한글편집기가 장착되어 있는 USB를 구매하여 휴대하고 다니다가 필요할 때 임의의 컴퓨터에 형성된 USB 포트에 휴대용 디지털 저장장치를 장착하고 한글편집기를 사용할 수 있다.Currently, Hangul and computer companies are storing and selling their application program Hangul Editor in USB type portable digital storage device, and users can purchase and carry USB equipped with Hangul Editor in any computer when needed. You can install a portable digital storage device in the formed USB port and use the Hangul editor.
상술한 바와 같은 기존 방식에 있어서의 문제점은, 한글편집기 휴대용 디지 털 저장장치에서 레지스트리 접근이 필요한 모든 동작을 ini와 같은 환경설정 파일을 통해 처리하도록 하여 응용프로그램의 코드를 수정해 주어야만 한다는 것이다. 즉, 일반 판매되는 PC 설치 버젼의 제품이 갖는 레지스트리 처리를 함으로써 일반성을 축소하고 특정저장장치 만을 위한 별도의 버전을 개발 하여야 하는 불편함이 있었다.The problem with the existing method as described above is that the code of the application program must be modified by processing all operations requiring registry access in the Hangul editor portable digital storage device through a configuration file such as ini. In other words, the registry processing of the PC version of the product sold in general has the inconvenience of reducing the generality and developing a separate version only for a specific storage device.
다시 말하면, 응용프로그램 개발사에 따라 USB 타입의 휴대용 디지털 저장장치에 자사의 응용프로그램을 서비스하는 방법이 달라질 수 있으며 기존의 응용프로그램 소스코드 수정에 따른 추가비용이 발생할 뿐만 아니라 범용성이 떨어짐으로써 MP3 플레이어와 같은 효과를 모든 응용프로그램에 줄 수 없다는 문제점이 있었다.In other words, depending on the application developer, the method of serving its application to a USB type portable digital storage device may be different, and additional costs may be incurred by modification of existing application source code, and the general purpose may be reduced. The problem was that the same effect could not be applied to all applications.
근래 들어 휴대용 디지털 저장장치의 발달로 인하여 고객들은 자신이 작성한 데이터뿐만 아니라 자신이 데이터를 편집할 수 있는 응용프로그램을 휴대하고 다니면서 시간 및 장소에 구애받지 않고 소정의 데이터를 편집하기를 원하고 있다.In recent years, due to the development of portable digital storage devices, customers want to edit data regardless of time and place while carrying not only their own data but also applications that can edit the data.
그러나, 상기 언급한 기존 방법을 사용한다면 고객들은 개발사들이 휴대용 디지털 저장장치에서 실행 가능한 응용프로그램을 만들어 줄 때까지 기다려야 할 뿐만 아니라 응용프로그램들의 개수를 생각할 때 모든 응용프로그램들을 서비스 받는 것은 거의 불가능하다는 문제점이 있었다.However, using the existing methods mentioned above, customers not only have to wait for developers to make executable applications on portable digital storage devices, but it is almost impossible to get all the applications serviced when considering the number of applications. There was this.
본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로서, 호스트 컴퓨터상에 사용자가 선택한 응용프로그램을 구동시킬 수 있는 가상환경을 구축시키는 가상 환경수단이 내장된 휴대용 디지털 저장장치를 제공하는 데 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and to provide a portable digital storage device with a built-in virtual environment means for building a virtual environment capable of running a user-selected application on the host computer .
또한, 본 발명은 응용프로그램 패키지와 가상 환경수단이 내장된 휴대용 디지털 저장장치를 이용하여 호스트 컴퓨터상에 가상환경을 구축하고, 가상환경위에 구축된 응용프로그램을 사용자가 선택하여 가상환경 위에서 선택된 응용프로그램을 구동시키는 응용프로그램 구동 방법을 제공하는 데 있다.In addition, the present invention is to build a virtual environment on the host computer using a portable digital storage device with a built-in application package and a virtual environment means, the user selected the application program built on the virtual environment selected on the virtual environment The present invention provides a method for driving an application.
상기한 목적을 달성하기 위한 본 발명은, 운영체제가 설치된 호스트 컴퓨터와 응용프로그램 패키지가 저장된 휴대용 디지털 저장장치가 유/무선 데이터통신 수단에 의해 통신 접속되고, 상기 호스트 컴퓨터와 상기 휴대용 디지털 저장장치 간에 소정의 통신 프로토콜에 의해 데이터를 송수신하는 시스템에 있어서, 상기 휴대용 디지털 저장장치에 저장되어있고 상기 호스트 컴퓨터의 메모리에 로드 되어 상기 호스트 컴퓨터의 운영체제 및 응용프로그램이 실행될 수 있는 실재환경을 추상화한 가상환경을 구성하는 가상 환경수단; 상기 휴대용 디지털 저장장치에 저장된 상기 가상 환경수단을 상기 호스트 컴퓨터에 복사 및 수행시키는 가상환경 구동수단을 포함하여 구성된 것을 특징으로 한다.In order to achieve the above object, the present invention provides a host computer having an operating system installed thereon and a portable digital storage device storing an application package therein, the communication connection being made by wired / wireless data communication means, and a predetermined connection between the host computer and the portable digital storage device. In a system for transmitting and receiving data using a communication protocol of the present invention, a virtual environment stored in the portable digital storage device and loaded into a memory of the host computer and abstracting a real environment in which an operating system and an application program of the host computer can be executed. Configuring virtual environment means; And virtual environment driving means for copying and performing the virtual environment means stored in the portable digital storage device to the host computer.
또한, 본 발명은 휴대용 디지털 저장장치가 상기 호스트 컴퓨터에 통신 접속됨에 따라 상기 호스트 컴퓨터의 메모리에 자동으로 로드 되어 상기 호스트 컴퓨터를 운영하는 사용자의 실행 없이 상기 가상환경 구동수단을 상기 호스트 컴퓨터로 전송하고 실행시켜주는 자동 실행수단(Auto-Run)을 더 포함하여 구성된 것을 특징으로 한다.In addition, the present invention is automatically loaded into the memory of the host computer as a portable digital storage device is connected to the host computer to transfer the virtual environment driving means to the host computer without the user running the host computer and Characterized in that the configuration further comprises an auto-run means for executing (Auto-Run).
본 발명은, 운영체제가 설치된 호스트 컴퓨터와 유/무선 데이터통신 수단에 의해 연결된 휴대용 디지털 저장장치를 사용하여 상기 호스트 컴퓨터에 설치되지 않은 소정의 응용프로그램을 상기 휴대용 디지털 저장장치에 저장된 응용프로그램을 참조하여 가상환경 위에서 구동시키는 방법에 있어서, 상기 호스트 컴퓨터에 소정의 응용프로그램이 실행될 수 있는 가상환경을 메모리에 구축하는 단계; 상기 호스트 컴퓨터의 메모리에 구축된 가상환경 위에서 상기 응용프로그램을 구동하는 단계; 및 상기 호스트 컴퓨터에서 상기 응용프로그램이 종료된 후 상기 응용프로그램과 가상환경을 상기 호스트컴퓨터에서 제거하는 단계를 포함하여 구성된 것을 특징으로 한다.The present invention refers to an application stored in the portable digital storage device by referring to a predetermined application not installed in the host computer using a portable digital storage device connected to a host computer on which an operating system is installed by a wired / wireless data communication means. A method of running on a virtual environment, the method comprising: building a virtual environment in a memory in which a predetermined application program can be executed in the host computer; Running the application program on a virtual environment built in a memory of the host computer; And removing the application program and the virtual environment from the host computer after the application program is terminated in the host computer.
하기에는 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.In the following description, detailed descriptions of well-known functions or configurations will be omitted when it is determined that the detailed descriptions of the known functions or configurations may unnecessarily obscure the subject matter of the present invention.
먼저, 본 발명에 따른 기술적 사상을 당업자가 보다 용이하게 이해할 수 있도록 명세서상에 기술되는 실제 환경, 가상환경 및 응용프로그램 패키지 의미를 설명한다.First, the actual environment, virtual environment, and application package meaning described in the specification will be described in order that a person skilled in the art can more easily understand the technical idea according to the present invention.
여기서, 실제 환경이란 윈도즈 응용프로그램 등이 어떤 운영체제상에서 수행될 때에는 운영체제의 파일시스템, 레지스트리 시스템, 라이브러리, 문자폰트, DLL(Dynamic Link Library), COM(Component Object Model), RPC(Remote Procedure Call)등의 환경적인 요소들이 필요하다. 이때, 운영체제가 응용프로그램 수행을 위해 제공하는 환경적인 요소들을 이하 "실제 환경"이라 언급하기로 한다.Here, the real environment refers to a file system, a registry system, a library, a character font, a dynamic link library (DLL), a component object model (COM), a remote procedure call (RPC), and the like, when a Windows application program is executed on a certain operating system. Environmental factors are needed. At this time, environmental elements provided by the operating system for executing an application will be referred to as "real environment".
"가상환경”이란 본 발명에 따른 휴대용 디지털 저장장치에 내장된 가상 환경수단을 사용하여 운영체제상에 실제 환경을 추상화하여 응용프로그램이 수행 중에 필요한 환경적 요소들을 제공하기 위하여 실제 환경과 유사한 환경적인 요소들이 구성된 것을 의미하는 것으로서, SoftonNet사에 의해 기 특허 출원된 미국 특허출원번호 제 10/718,867호인 " System and method for executing an application on a secured run-time environment "에 기술된 내용과 연속선상에 있는 것으로 이해하는 것이 바람직하다."Virtual environment" is an environmental element similar to the real environment in order to provide the environmental elements necessary for the execution of the application by abstracting the real environment on the operating system using the virtual environment means built in the portable digital storage device according to the present invention In a continuous line with the contents described in "System and method for executing an application on a secured run-time environment" of US Patent Application No. 10 / 718,867, previously filed by SoftonNet. It is desirable to understand.
또한, 본 발명의 명세서에 기술된 가상환경 상에서 구동되는 소정의 응용프로그램을 스트리밍 형태로 제공하는 응용프로그램 패키지에 대한 구조 및 동작 과정에 대해서는 SoftonNet사에 의해 기 특허 출원된 특허출원번호 제 10-2003-52542호인 " 응용 소프트웨어의 스트리밍을 위한 응용 소프트웨어 재포장 시스템 및 방법 "에 기술된 내용과 연속선상에 있는 것으로 이해하는 것이 바람직하다.In addition, regarding the structure and operation of the application package for providing a predetermined application running in the virtual environment described in the specification of the present invention in the form of streaming, Patent Application No. 10-2003 previously patented by SoftonNet It is to be understood that it is in line with what is described in -52542, "Application Software Repackaging System and Method for Streaming Application Software."
이하, 첨부도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
먼저, 도 1을 참조하여 호스트 컴퓨터상에서 응용프로그램 수행을 위한 휴대용 디지털 저장장치 시스템의 구성 및 동작을 상세하게 설명한다.First, the configuration and operation of a portable digital storage system for executing an application program on a host computer will be described in detail with reference to FIG. 1.
본 발명에 따른 응용프로그램 구동 시스템은 휴대용 디지털 저장장치에 내장된 가상환경수단을 호스트 컴퓨터의 메모리에 로드 시켜 소정의 응용프로그램이 구동될 수 있는 가상환경을 구축한 후 사용자가 선택한 응용프로그램을 실제 환경 또는 가상환경에서 구동시키는 것으로서, 도 1 에 도시된 바와 같이, 휴대용 디지털 저장장치(100), 호스트 컴퓨터(200) 및 서버(300)를 포함하여 구성된다.The application program driving system according to the present invention loads the virtual environment means built into the portable digital storage device into the host computer's memory to build a virtual environment in which a predetermined application program can be run, and then executes the application program selected by the user. Alternatively, as driving in a virtual environment, as shown in FIG. 1, the portable
휴대용 디지털 저장장치(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)를 포함하고 있다.The portable
여기서, I/O 어댑터(120)는 통신인터페이스(110)를 통하여 호스트 컴퓨터(200)와의 데이터 통신을 수행하고, 유무선 데이터 통신망(500)을 통하여 호스트 컴퓨터(200)로부터 전송되는 소정의 응용프로그램 패키지(170) 및 데이터 파일을 메모리부(130)에 저장시킨다.Here, the I /
이때, 응용프로그램 패키지(170)는 소정의 응용프로그램을 소프트웨어 스트리밍 가능한 MPEG 등과 같은 압축방식에 의해 압축된 패키지 형태로 구성되고, 사용가능기간 및 사용자 인증정보가 저장되어 있어 사용가능기간이 경과한 경우 가상환경 구동수단(150)에 의해 구동되지 못하도록 구현되어 있다. 또한 응용프로그램 패키지(170)는 응용프로그램의 실시간 실행을 가능하게 하기 위해 스트림 데이터 형태로 구성되어 있다.In this case, the
I/O 어댑터(120)는 메모리부(130)에 구성된 실제 파일 시스템(180)을 통신인터페이스(110)를 통하여 호스트 컴퓨터(200)의 메모리로 마운트 시킨다. 이때, 메모리부(130)는 소정의 반도체 소자인 RAM 또는 ROM 등으로 구성되거나 Hard Disk등으로 구성될 수 있다.The I /
여기서, 실제 파일 시스템(180)은 호스트 컴퓨터(200)의 운영체제(Operating System)가 인식할 수 있는 FAT, FAT16, FAT32, NTFS, exe32 등과 같은 소정의 파일 형태를 갖는다. 이때, 실제 파일 시스템(180)은 휴대용 디지털 저장장치(100)의 메모리부(130)에 저장될 수도 있고 또는 저장되지 않을 수 도 있다는 점에 유의하여야 한다.Here, the
따라서, 휴대용 디지털 저장장치(100)로부터 실재 파일 시스템(180)이 호스트 컴퓨터(200)의 메모리로 마운트 되는 경우, 호스트 컴퓨터(200)의 운영체제는 마운트 된 실재 파일 시스템(180)을 자신의 파일 시스템으로 인식하고, 휴대용 디지털 저장장치(100)의 메모리부(130)에 저장되어 있는 파일들에 대해 소정의 입력 수단(키보드 등)을 통하여 입력되는 사용자 명령에 따라 응용프로그램을 실제 환경 하에서 구동시켜 파일 생성, 열기, 쓰기, 검색 및 닫기 등의 데이터 작업을 수행한다.Therefore, when the
자동 실행수단(140)은 호스트 컴퓨터(200)의 메모리에 상기 실제 파일 시스템(180)이 마운트 되면 호스트 컴퓨터(200)의 메모리에 자동 로드 되어 가상환경 구동수단(150)을 호스트 컴퓨터(200)의 메모리에 로드하고 실행한다. 이때 자동 실행수단(140)은 휴대용 디지털 저장장치(100)의 메모리부(130)에 저장될 수도 있고 또는 저장되지 않을 수 도 있다는 점에 유의하여야 한다.The automatic execution means 140 is automatically loaded in the memory of the
가상환경 구동수단(150)은 휴대용 디지털 저장장치(100)의 메모리부(130)에 저장된 가상 환경수단(160)을 호스트 컴퓨터(200)의 메모리에 로드하고, 로드 된 가상 환경수단(160)을 활성화하여 가상환경으로 구동되도록 한다. 이때 가상환경을 통해 응용프로그램이 구동될 수 있는 추상화된 가상작업공간이 호스트 컴퓨터(200)의 메모리에 구성된다.The virtual environment driving means 150 loads the virtual environment means 160 stored in the
가상 환경수단(160)은 휴대용 디지털 저장장치(100)에 저장된 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 운영체제 위에서 응용프로그램이 실행될 수 있도록 하는 소정의 가상환경(152b), 보다 구체적으로는 가상 레지스트리 시스템(Virtual Registry System), 가상 파일 시스템(Virtual File System), 가상 컴포넌트 (Virtual Component), 가상 환경설정 시스템(폰트, 프린터, 환경변수)및 데이터 보호수단(Data Security System)등을 호스트 컴퓨터(200)의 메모리 내부에 추상화시킨다.The virtual environment means 160 may refer to the
이를 보다 구체적으로 설명하면, 가상 환경수단(160)은 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리에 로드 되는 응용프로그램이 구동될 수 있는 가상환경을 추상화시키는 것으로서, 도 3에 도시된 바와 같이, 레지스트리 구현수단(161), 파일 시스템 구현수단(162), 컴포넌트 구현수단(163), 환경설정 구현수단(164) 및 데이터 보호수단(165)을 포함하여 구성된다.In more detail, the virtual environment means 160 may drive an application program loaded in the memory of the
여기서, 레지스트리 구현수단(161)은 호스트 컴퓨터(200)에 설치되어 있지 않은 레지스트리의 내용을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리에 레지스트리 파일 데이터가 존재하는 것과 같은 가상 레지스트리 시스템을 구축시키는 역할을 수행한다.Here, the registry implementing means 161 refers to the
파일 시스템 구현수단(162)은 호스트 컴퓨터(200)에 설치되어 있지 않은 파일 데이터 및 폴더의 내용을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리에 소정의 파일 데이터 및 폴더들이 존재하는 것과 같은 가상 파일 시스템을 구축시키는 역할을 수행한다.The file system implementation means 162 refers to an
컴포넌트 구현수단(163)은 호스트 컴퓨터(200)에 설치되어 있지 않은 컴포넌트파일 또는 DLL(Dynamic Link Library)파일들을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리에 소정의 컴포넌트 또는 DLL 파일들이 존재하는 것과 같은 가상 컴포넌트 시스템을 구축시키는 역할을 수행한다.The component implementation means 163 refers to an
환경 설정 구현수단(164)은 호스트 컴퓨터(200)에 설치되어 있지 않은 폰트파일, 프린터, 환경변수 등의 내용을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리 영역에 폰트파일, 프린터, 환경변수 등이 존재하는 것과 같은 가상 환경 설정 시스템을 구축시키는 역할을 수행한다.The environment
데이터 보호수단(165)은 호스트 컴퓨터(200)의 메모리에 추상화되어 동작하는 각종 파일, 예를 들면 레지스트리 파일, 컴포넌트 파일, 가상 파일, 환경설정 파일 등의 불법적인 복사, 변형 및 삭제 등을 방지하는 역할을 수행한다.The data protection means 165 prevents illegal copying, modification, and deletion of various files, for example, registry files, component files, virtual files, and configuration files, which are abstracted and operated in the memory of the
즉, 호스트 컴퓨터(200)의 메모리에 로드 되어 구동된 응용프로그램이 가상환경에서 동작하는 각종 파일, 예를 들면 레지스트리 파일, 컴포넌트 파일, 가상파일 및 환경설정 파일 등을 복사, 변형 및 삭제 하려는 경우, 데이터 보호수단(165)은 상기 구동된 응용프로그램의 파일 이름 및 경로를 추적하여 상기 구동된 응용프로그램이 가상환경위에 구축된 응용프로그램 인지 여부를 판단한다.That is, when an application program loaded and driven in the memory of the
이때, 상기 구동된 응용프로그램이 실제 환경에서 로드된 응용프로그램으로 판단된 경우, 데이터 보호수단(165)은 상기 응용프로그램을 불법 복제용 응용프로그램으로 판단하여 가상환경에서 동작하는 각종 파일에 대한 복사, 편집, 삭제, 검색 등의 행위를 방지하는 역할을 수행한다. 즉, 이와 같은 불법 복제용 응용프로그램 파일에 의한 파일 복사, 편집, 삭제, 검색 등은 가상환경위에서 진행되기 때문에 가상 환경수단(160)을 구성하는 데이터 보호수단(165)에 의해 이러한 불법적인 파일 복사를 방지할 수 있는 것이다.In this case, when it is determined that the driven application program is loaded in a real environment, the
또한, 가상 환경수단(160)에 의해 호스트 컴퓨터(200)의 메모리에 구축되는 레지스트리 파일, 컴포넌트 파일, 가상파일 및 환경설정 파일 등의 각종 가상환경파일의 구성을 보면 데이터 파일, DLL파일 및 실행파일 등으로 구성되어 있고, 이러한 구성을 갖는 가상환경파일이 정상적으로 동작하기 위해서는 상술한 바와 같은 파일 구성이 대부분 요구된다.In addition, the configuration of various virtual environment files, such as a registry file, a component file, a virtual file, and an environment setting file, which are constructed in the memory of the
따라서, 이와 같은 가상환경파일을 구성하는 파일 중에서 편집 등이 필요 없는 DLL파일, 컴포넌트파일, 폰트파일, 실행파일들에 대한 복사, 편집 등을 방지하여 불법적인 사용을 막을 수도 있다.Accordingly, illegal use may be prevented by preventing copying and editing of DLL files, component files, font files, and executable files that do not need editing, among files constituting such a virtual environment file.
이때, 호스트 컴퓨터(200)의 메모리에 로드 되는 가상 환경수단(160)은 호스트 컴퓨터(200)의 메모리 영역에 저장된 운영체제가 제공하는 실제 환경(Real Environment)과는 완전히 분리된 가상환경(Virtual Environment)을 메모리에 구축시키고, 이에 의해 호스트 컴퓨터(200)의 메모리에 로드 되는 응용프로그램은 운영체제가 제공하는 실제 환경이 아닌 가상 환경수단(160)에 의해 구축된 추상화된 가상환경에서 구동된다.In this case, the virtual environment means 160 loaded into the memory of the
따라서, 휴대용 디지털 저장장치(100)의 응용프로그램 패키지(170)로부터 호스트 컴퓨터(200)의 메모리에 로드 되는 응용프로그램은 호스트 컴퓨터(200)의 운영체제에 의해 구축되는 실제 환경이 아닌 가상 환경수단(160)에 의해 추상화된 가상환경에서 구동되고, 이에 의해 다른 버전을 갖는 동일한 응용프로그램, 예를 들면 MS-Office 97, Office-2000, Office-XP 등의 응용프로그램들은 상호 충돌 없이 구동될 수 있는 것이다.Therefore, the application program loaded into the memory of the
통신버스(190)는 휴대용 디지털 저장장치(100)내의 상이한 디바이스들 간에 데이터, 명령, 다른 정보의 전달을 지원하며, 도면에서는 단순하게 단일 버스로 도시되어 있으나 통상적으로 통신 버스는 다중 버스로 구성되며 또한 계층 형태로 구성될 수도 있다.The
호스트 컴퓨터(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)를 포함한다.The
통신인터페이스(210)는 네트워크 통신망(400)을 통하여 통신 접속된 서버(300)와 기 설정된 통신규약(protocol)에 기초하여 소정의 응용프로그램패키지 및 데이터 파일에 대한 데이터 송수신을 수행한다. USB, USB2, Serial/Parallel Port, Ethernet, TCP/IP 등을 포함하는 프로토콜을 포함할 수 있다.The
이때, 서버(300)는 다수의 응용프로그램, 데이터 파일 및 네트워크 통신망(400)을 통하여 통신 접속하는 복수의 호스트 컴퓨터(200)에 대한 로그인 정보를 저장하고 있으며, 상기 통신인터페이스(210)를 통하여 해당 호스트 컴퓨터(200)에 대한 네트워크 연결 상태를 감지한다.In this case, the
또한, 서버(300)는 호스트 컴퓨터(200)로부터 소정의 응용프로그램 및 데이터 파일에 대한 요청 신호가 입력되는 경우, 기 설정된 통신 규약(즉, 프로토콜(protocol)에 의해 소정의 응용프로그램 및 데이터 파일을 호스트 컴퓨터(200)로 다운로드 시키되, 해당 응용프로그램을 소정의 소프트웨어 스트리밍 가능한 압축방식에 의해 압축된 응용프로그램 패키지 형태로 다운로드 시키는 역할을 수행한다.이때, 서버(300)는 서비스 가능한 응용프로그램 패키지가 등록되어 있어야 한다.In addition, when a request signal for a predetermined application program and a data file is input from the
또한, 서버(300)는 내부에 저장된 소정의 인증알고리즘을 통하여 응용프로그램패키지를 요청한 사용자에 대한 사용자 인증을 수행한 후, 사용자 인증이 성공적으로 수행되지 않은 경우 해당 사용자에게 응용프로그램패키지를 사용할 수 없다는 경고 메시지 표시한다.In addition, after the
그러나, 사용자 인증이 성공적으로 수행된 경우, 서버(300)는 호스트 컴퓨터(200)의 통신인터페이스(210)를 통해 해당 응용프로그램 패키지(170)를 메모리(240)에 로드 시킨다.However, when the user authentication is successfully performed, the
이후, 호스트 컴퓨터(200)는 메모리(240)에 로드된 응용프로그램 패키지(170)를 유무선 데이터 통신(500)을 통해 통신 접속한 휴대용 디지털 저장장치(100)의 통신인터페이스(110)를 거쳐 메모리부(130)로 다운로드 시킨다.Thereafter, the
메모리(240)는 도 4에 도시된 바와 같이 소정의 반도체 소자인 RAM 또는 ROM 뿐만 아니라 이들의 변형 형태인 FRAM(Ferroelectric Random Access Memory) 등으로 구성될 수 있고, 소정의 응용프로그램을 실제 환경에서 구동시키기 위한 운영체제(230)와 다양한 데이터 파일을 저장한다.As shown in FIG. 4, the
이때, 메모리(240)에는 도 5에 도시된 바와 같이 운영체제(230)의 제어신호에 따라 I/O 어댑터(220)를 통해 휴대용 디지털 저장장치(100)로부터 마운트 되는 실재 파일 시스템(180)이 구동하는데 필요한 실제 환경(Real Environment)(230a)이 구축된다.In this case, the
또한, 메모리(220)는 도 4에 도시된 바와 같이 I/O 어댑터(240)를 통하여 휴대용 디지털 저장장치(100)로부터 전송되는 가상환경 구동수단(150)과 가상 환경수단(160)을 저장한다.In addition, the
이때, 가상 환경수단(160)은 도 5에 도시된 바와 같이 가상환경 구동수단(150)의 제어에 따라 휴대용 디지털 저장장치(100)의 응용프로그램 패키지(170)로부터 로딩 되는 소정의 응용프로그램이 실행될 수 있도록 하는 가상환경(Virtual Environment) (160a)을 호스트 컴퓨터(200)의 메모리(240)에 구축시키는 역할을 수행한다.In this case, as shown in FIG. 5, the virtual environment means 160 executes a predetermined application program loaded from the
여기서, 가상환경 구동수단(160)은 네트워크 통신망(400)을 통하여 통신 접속하는 서버(300)로부터 전송되는 소정의 응용프로그램 패키지(170)로부터 가상환경 구축에 필요한 정보를 다운로드받아 가상환경 구성에 사용하고, 현재 사용가능한 응용프로그램 리스트를 호스트 컴퓨터(200)의 표시부(270)에 디스플레이 시킨다.Here, the virtual environment driving means 160 downloads the information necessary for building the virtual environment from a predetermined
또한, 가상환경 구동수단(160)은 휴대용 디지털 저장장치(100)의 자동 실행수단(140)에 의해 호스트 컴퓨터(200)의 메모리(240)에 로드 되고, 유무선 데이터 통신(500)을 통하여 휴대용 디지털 저장장치(100)로부터 소정의 응용프로그램이 구동되는 가상환경(160a)을 메모리(240) 영역에 구축시키는 가상 환경수단(150)을 전송 받아 메모리(240)에 저장시킨다.In addition, the virtual environment driving means 160 is loaded into the
여기서, 유무선 데이터 통신(500)이란 USB, USB2, Serial/Parallel Port, Ethernet, TCP/IP 등을 포함하는 프로토콜을 포함할 수 있다. 또한, 근거리 무선 통신을 수행하는 블루투스, 적외선 통신 및 통신 케이블을 이용한 각종 데이터 통신을 포함하는 것으로 이해되는 것이 바람직하다.Here, the wired /
상술한 바와 같이 호스트 컴퓨터(200)의 메모리(240)에 소정의 응용프로그램이 구동되는 실제 환경(230a)을 구축시키는 운영체제(240)와 가상환경(160a)을 구축시키는 가상 환경수단(160)을 로드 시킨 후, 가상환경 구동수단(150)은 입력되는 사용자 명령에 따라 소정의 응용프로그램을 메모리(240)에 구축된 실제 환경(230a) 또는 가상환경(160a)에서 실행시킨다.As described above, the
이를 보다 구체적으로 설명하면, 호스트 컴퓨터(200)가 처음 시작될 때 운영체제(230)는 메모리(240)영역에 소정의 응용프로그램이 실행될 수 있는 실제 환경(Real Environment)(230a), 보다 구체적으로는 실제 파일 시스템(Real File System), 실제 레지스트리 시스템(Real Registry System), 실제 콤포넌트(COM, OCX, DLL) 및 기타 처리 시스템(폰트, 프린터, 환경변수) 등을 메모리(240) 영역에 구축시킨다.In more detail, when the
즉, 휴대용 디지털 저장장치(100)가 호스트 컴퓨터(200)에 유무선 데이터 통신(500)으로 연결될 때, 운영체제(230)는 휴대용 디지털 저장장치(100)로부터 마운트되는 인식 가능한 FAT, FAT16, FAT32, NTFS, exe32 등과 같은 실제 파일 시스템(180)이 구동되는데 필요한 실제 환경(Real Environment)(230a)을 메모리(240)에 구축시킨다.That is, when the portable
따라서, 휴대용 디지털 저장장치(100)로부터 실재 파일 시스템(180)이 호스트 컴퓨터(200)의 메모리(240)로 마운트 되는 경우, 운영체제(230)는 도 5에 도시된 바와 같이 마운트된 실재 파일 시스템(180)을 자신의 실제 환경 내부에 구성된 파일 시스템으로 인식하고, 실제 환경 하에서 휴대용 디지털 저장장치(100)의 데이터 파일에 대한 파일 생성, 열기, 쓰기, 검색 및 닫기 등의 데이터 작업을 수행할 수 있게 된다.Therefore, when the
상술한 바와 같이 휴대용 디지털 저장장치(100)의 실재 파일 시스템(180)이 호스트 컴퓨터(200)의 운영체제(230)에 의해 실제 환경 내부의 파일 시스템으로 인식되면, 휴대용 디지털 저장장치(100)에 있는 자동 실행수단(140)의 실행 영역이 호스트 컴퓨터(200)의 메모리(240)에 자동로드 되어 데이터 저장부(130)에 저장된 가상환경 구동수단(150)을 호스트 컴퓨터(200)의 메모리에 로드하고, 가상환경 구동수단(150)을 구동시킨다.As described above, when the
이후, 가상환경 구동수단(150)은 데이터 저장부(130)에 저장된 가상 환경수단(160)을 호스트 컴퓨터(200)의 메모리(240)에 로드하고, 응용프로그램 패키지(170)의 데이터를 참조하여 실행 가능한 응용프로그램(170a) 리스트를 호스트 컴퓨터(200)의 표시부(260)상에 표시해준다. 이때 가상환경 구동수단(150)은, 유무선 데이터 통신(500)을 통하여 휴대용 디지털 저장장치(100)가 통신 접속된 상태에서, 소정의 입력수단을 통하여 입력되는 사용자 명령에 따라 가상 환경수단(160)을 구동시켜 사용자가 선택한 응용프로그램(170a)이 실행될 수 있는 가상환경(Virtual Environment)을 메모리(240) 영역에 구축시킨다.Thereafter, the virtual environment driving means 150 loads the virtual environment means 160 stored in the
이때, 가상 환경수단(160)은 가상환경 구동수단(150)의 제어신호에 따라 휴대용 디지털 저장장치(100)로부터 마운트 되는 소정의 응용프로그램을 구동시키는데 필요한 가상환경, 보다 구체적으로는 가상 레지스트리 시스템(Virtual Registry System), 가상 파일 시스템(Virtual File System), 가상 컴포넌트 시스템(Virtual Component System) 및 가상 환경 설정 시스템(Virtual Environment System) 등을 호스트 컴퓨터(200)의 메모리(240)에 추상화시킨다.At this time, the virtual environment means 160 is a virtual environment, more specifically, a virtual registry system (e.g., a virtual registry system) required to drive a predetermined application program mounted from the portable
여기서, 가상 레지스트리 시스템(Virtual Registry System)은 도 4에 도시된 바와 같이 호스트 컴퓨터(200)에 설치되어 있지 않은 레지스트리의 내용을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스 트 컴퓨터(200)의 메모리(240)영역에 존재하는 것과 같이 인식되는 추상화된 가상환경이다.As shown in FIG. 4, the virtual registry system uses the
가상 파일 시스템(Virtual File System)은 호스트 컴퓨터(200)에 설치되어 있지 않은 파일 데이터 및 폴더의 내용을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리(240)에 소정의 파일 데이터 및 폴더들이 존재하는 것과 같이 인식되는 추상화된 가상환경이다.The virtual file system refers to the
가상 컴포넌트 시스템(Virtual Component System)은 호스트 컴퓨터(200)에 설치되어 있지 않은 컴포넌트 또는 DLL(Dynamic Link Library)파일들을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리(240)에 소정의 컴포넌트 또는 DLL 파일들이 존재하는 것과 같이 인식되는 추상화된 가상환경이다.The virtual component system may refer to an
가상환경 설정 시스템(Virtual Environment System)은 호스트 컴퓨터(200)에 설치되어 있지 않은 폰트파일, 프린터, 환경변수 등의 내용을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리(240) 영역에 존재하는 것과 같이 인식되는 추상화된 가상환경이다.The virtual environment system refers to the
여기서, 가상 환경수단(160)은 도 5에 도시된 바와 같이 호스트 컴퓨터(200)의 운영 체제(230)가 제공하는 실제 환경(Real Environment)(230a)과는 완전히 분리된 가상환경(Virtual Environment)(160a)을 메모리(240) 영역에 구축하고, 이에 의해 응용프로그램은 운영체제(230)가 제공하는 실제 환경(230a)이 아닌 가상 환경수단(160)에 의해 구축된 추상화된 가상환경(160a)에서 실행된다.Here, the virtual environment means 160 is a virtual environment completely separated from the real environment (230a) provided by the
이때, 가상 환경수단(160)에 의해 호스트 컴퓨터(200)의 메모리(240) 영역에 구축된 가상환경(160a)에서 구동되는 응용프로그램(170a)은 메모리(240) 영역에 정상 설치되어 운영되는 것이 아니라 휴대용 디지털 저장장치(100)의 데이터 저장부(130)에 응용프로그램 패키지(170) 형태로 저장되어 있으며, 응용프로그램(170a)의 실행에 필요한 데이터를 스트리밍 형태로 유무선 데이터 통신(500)을 통해 호스트 컴퓨터(200)의 메모리(240)로 전송된다.At this time, the
따라서, 휴대용 디지털 저장장치(100)의 응용프로그램 패키지(170)에 스트리밍 데이터 형태로 저장된 응용프로그램(170a)은 가상 환경수단(160)에 의해 구축된 가상환경(160a)에서 구동되고 호스트 컴퓨터(200)의 데이터 저장부(260)에 저장된 응용프로그램은 운영체제(230)에서 제공되는 실제 환경(230a)에서 구동되기 때문에, 상기의 가상환경(160a)에 의해 다른 버전을 갖는 동일한 응용프로그램, 예를 들면 MS-Office 97, Office-2000, Office-XP 등의 응용프로그램들은 상호 충돌 없이 구동될 수 있는 것이다.Therefore, the
상술한 바와 같이 호스트 컴퓨터(200)의 메모리(240) 영역에 소정의 응용프로그램(170a)이 구동될 수 있는 가상환경(160a)을 구축한 상태에서, 가상환경 구동수단(150)은 가상 환경수단(160)을 제어하여 사용자가 선택한 응용프로그램을 디지털 휴대용 디지털 저장장치(100)에 저장된 응용프로그램 패키지(170)를 참조하여 가상환경에서 구동시키게 되는 것이다.As described above, while the
이하, 도 6 내지 도 10을 참조하여 본 발명에 따른 휴대용 디지털 저장장치 를 이용한 응용프로그램의 구동 방법에 대하여 상세하게 설명한다.Hereinafter, a method of driving an application program using the portable digital storage device according to the present invention will be described in detail with reference to FIGS. 6 to 10.
여기서, 도 6은 본 발명에 따른 응용프로그램 패키지와 가상환경수단이 저장된 휴대용 디지털 저장장치를 이용한 응용프로그램 구동 과정을 도시한 순서도 이고, 도 7은 휴대용 디지털 저장장치가 통신 연결된 호스트 컴퓨터에 응용프로그램이 실행될 수 있는 가상환경을 구축하는 과정을 도시한 순서도이고, 도 8은 휴대용 디지털 저장장치가 통신 연결된 호스트 컴퓨터에 구축된 가상환경위에서 응용프로그램을 구동시키는 과정을 도시한 순서도 이고, 도 9는 호스트 컴퓨터에 구축된 가상환경위에서 실행되는 응용프로그램 종료 후에 호스트 컴퓨터에 구현된 가상환경 및 응용프로그램을 제거하는 과정을 도시한 순서도 이고, 도 10은 호스트 컴퓨터의 운영체제에 로드 되는 불법 복제용 응용프로그램에 의해 수행되는 소정의 응용프로그램에 대한 불법 복제를 방지하는 과정을 도시한 순서도 이다.6 is a flowchart illustrating a process of driving an application program using a portable digital storage device storing an application package and a virtual environment means according to the present invention, and FIG. 7 shows an application program in a host computer to which the portable digital storage device is connected. FIG. 8 is a flowchart illustrating a process of building a virtual environment that can be executed. FIG. 8 is a flowchart illustrating a process of running an application program on a virtual environment built in a host computer to which a portable digital storage device is connected. 10 is a flowchart illustrating a process of removing a virtual environment and an application implemented on a host computer after termination of an application executed on a virtual environment built in the network, and FIG. 10 is performed by an illegal copy application loaded in an operating system of the host computer. For any given application A flow chart illustrating a method for preventing replication.
도 6에 도시된 바와 같이, 휴대용 디지털 저장 장치(100)에 내장된 가상 환경수단(160)을 호스트 컴퓨터(200)의 메모리(240)에 로드시켜 소정의 응용프로그램이 구동될 수 있는 가상환경(160a)을 구축 시킨다(S100).As shown in FIG. 6, a
도 7을 참조하여 보다 구체적으로 설명하면, 가상 환경수단(160)을 구비한 휴대용 디지털 저장장치(100)를 유무선 데이터 통신방식(500)을 통해 호스트 컴퓨터(200)에 통신 접속시킨다(S101).Referring to FIG. 7, the portable
이때, 휴대용 디지털 저장장치(100)에는 다양한 응용프로그램 패키지(170), 데이터 파일, 통신 접속되는 호스트 컴퓨터(200)에 로드 되어 실제 환경(230a)에서 동작하는 실재 파일 시스템(180), 소정의 응용프로그램을 가상환경(160a)에서 동작시키기 위한 가상 환경수단(160) 및 가상 환경수단(160)을 호스트 컴퓨터(200)의 메모리(240)에 다운로드하여 제어하고, 가상환경(160)에서 실행 가능한 응용프로그램 리스트를 표시해 주는 가상환경 구동수단(160) 등이 저장되어있다.In this case, the portable
여기서, 휴대용 디지털 저장장치(100)에는 호스트 컴퓨터(200)에 통신 접속됨에 따라 가상환경 구동수단(150)을 자동으로 실행시켜주는 자동 실행수단(140)이 저장될 수 도 있다.In this case, the portable
상술한 바와 같이, 유무선 데이터 통신 방식을 통하여 호스트 컴퓨터(200)에 통신 접속됨에 따라, 휴대용 디지털 저장장치(100)에 구축된 자동 실행수단(140)이 호스트 컴퓨터(200)의 메모리(240)에 로드 되어 자동으로 실행된다(S102).As described above, as communication is connected to the
이후, 자동 실행수단(140)은 호스트 컴퓨터(200)의 메모리(240)에 휴대용 디지털 저장장치(100)의 가상환경 구동수단(150)을 로드 하여 실행시킨다(S103). 이때, 실행된 가상환경 구동수단(150)은 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)의 종류 및 개수를 분석하고(S104), 분석 결과에 따라 응용프로그램 실행 링크를 표시하여 실행 가능한 응용프로그램 리스트를 호스트 컴퓨터(200)의 표시부(270)상에 디스플레이 시킨다(S105).Thereafter, the automatic execution means 140 loads and executes the virtual environment driving means 150 of the portable
상술한 바와 같이 응용프로그램 패키지(170)와 가상 환경수단(160)을 저장한 휴대용 디지털 저장장치(100)가 호스트 컴퓨터(200)의 메모리(240)에 소정의 응용프로그램이 실행될 수 있는 가상환경(160a)을 구축한 후, 상기 호스트 컴퓨터(200)는 사용자가 선택한 소정의 응용프로그램을 가상환경(160a) 또는 실제 환경(230a)에서 구동시킨다(S200).As described above, the portable
도 8을 참조하여 보다 구체적으로 설명하면, 사용자가 입력 수단을 통하여 링크된 응용프로그램 중에서 구동시키고자 하는 소정의 응용프로그램(170a)을 선택하면(S201), 호스트 컴퓨터(200)는 선택된 응용프로그램(170a)이 호스트 컴퓨터(200)에 설치된 응용프로그램인지 또는 가상환경 구동수단(160)이 가상환경(160a)위에서 제공하는 응용프로그램인지를 판단한다(S202).In more detail with reference to FIG. 8, when the user selects a
단계(S202)의 판단 결과 사용자가 선택한 응용프로그램(170a)이 데이터 저장부(260)에 설치된 응용프로그램인 경우, 호스트 컴퓨터(200)는 운영체제(230)위에 구축된 실제 환경(230a)에서 데이터 저장부(260)에 설치된 응용프로그램을 실행시킨다(S203).As a result of the determination in step S202, when the
그러나, 단계(S202)의 판단 결과 사용자가 선택한 응용프로그램이 가상환경 구동수단(150)이 가상환경(160a)위에서 제공하는 응용프로그램인 경우, 가상환경 구동수단(150)은 유무선 데이터 통신을 통하여 휴대용 디지털 저장장치(100)로부터 가상 환경수단(160)을 전송 받아 메모리(240)에 로드 시킨다(S204).However, if it is determined in step S202 that the application program selected by the user is an application program provided by the virtual environment driving means 150 on the
이후, 가상환경 구동수단(150)은 가상 환경수단(160)을 제어하여 메모리(240)에 소정의 응용프로그램(170a)이 동작할 수 있는 가상환경(160a)을 구축시킨다(S205).Thereafter, the virtual environment driving means 150 controls the virtual environment means 160 to build a
상술한 바와 같이 호스트 컴퓨터(200)의 메모리(240)에 가상환경을 구축한 후, 가상환경 구동수단(151a)은 가상 환경수단(152a)을 제어하여 사용자가 선택한 응용프로그램(222a)에 저장된 사용가능기간 및 사용자 인증정보에 의해 해당 응용프로그램(222a)의 사용가능 여부를 판단한다(S206).After establishing the virtual environment in the
단계(S206)의 판단 결과 사용자가 선택한 응용프로그램에 대한 사용자 인증이 실패하거나 또는 사용가능기간이 경과한 경우, 가상환경 구동수단(150)은 사용자가 선택한 응용프로그램을 사용할 수 없다는 경고 메시지를 표시부(270)상에 표시(S207)하는 동시에 응용프로그램(170a)의 구동을 중지시킨다(S207).As a result of the determination in step S206, when the user authentication for the application selected by the user fails or the available period has elapsed, the virtual environment driving means 150 displays a warning message indicating that the application selected by the user cannot be used. 270 is displayed (S207) and the driving of the
그러나, 단계(S206)의 판단 결과 사용자가 선택한 응용프로그램에 대한 사용자 인증이 성공하거나 또는 사용가능기간이 경과하지 않은 경우, 가상환경 구동수단(150)은 가상 환경수단(160)을 제어하여 휴대용 디지털 저장장치(100)에 저장된 응용프로그램 패키지(170)를 유무선 데이터 통신을 통하여 스트림 데이터 형태로 실시간 전송 받아 메모리(240)에 로드 시킨다(208).However, if the user authentication for the application selected by the user is successful or the available period has not elapsed as a result of the determination in step S206, the virtual environment driving means 150 controls the virtual environment means 160 to carry the portable digital device. The
이후, 가상환경 구동수단(150)은 메모리(240)에 로드된 응용프로그램 패키지(170)를 구동시켜 사용자가 선택한 응용프로그램(170a)을 가상 환경수단(160)에 의해 구축된 가상환경(160a)위에서 실행시킨다(S209).Thereafter, the virtual environment driving means 150 drives the
상술한 바와 같이 휴대용 디지털 저장장치(100)의 가상 환경수단(160)에 의해 구축된 가상환경(160a)에서 소정의 응용프로그램을 구동시킨 후, 가상환경 구동수단(150)은 도 6에 도시된 바와 같이 사용자가 입력한 종료 신호에 따라 가상환경(160a)에서 실행되고 있는 응용프로그램(170a)을 종료시킨다(S300).As described above, after driving a predetermined application program in the
도 9를 참조하여 보다 구체적으로 설명하면, 가상환경 구동수단(150)은 호스트 컴퓨터(200)에 휴대용 디지털 저장장치(100)가 마운트 되어 있는지 여부를 항상 판단한다(S301).Referring to FIG. 9 in more detail, the virtual environment driving means 150 always determines whether the portable
단계(S301)의 판단 결과 휴대용 디지털 저장장치(100)가 호스트 컴퓨터(200)에 마운트 되어 있지 않은 상태에서 사용자가 응용프로그램의 사용을 종료하는 경우, 가상환경 구동수단(150)은 가상환경(150a)위에서 실행중인 모든 응용프로그램(170a)을 종료한다(S302).As a result of the determination in step S301, when the user terminates the use of the application program when the portable
그러나, 단계(S301)의 판단 결과 휴대용 디지털 저장장치가(100) 마운트 되어 있는 상태에서 사용자가 응용프로그램(170a)의 사용을 종료하는 경우, 가상환경 구동수단(150)은 가상환경(160a)위에서 실행중인 응용프로그램(170a)을 종료한다(S303).However, if the user terminates the use of the
이후, 가상환경 구동수단(150)은 종료된 응용프로그램 이외에 또 다른 응용프로그램이 가상환경(160a)위에서 실행되고 있는지 여부를 판단한다(S304).Thereafter, the virtual environment driving means 150 determines whether another application program in addition to the terminated application program is running on the
단계(S304)의 판단 결과 또 다른 응용프로그램이 가상환경(160a)위에서 실행되고 있는 경우, 가상환경 구동수단(150)은 가상환경(160a)위에서 실행중인 또 다른 응용프로그램의 구동을 위해 가상환경을 계속 유지한다(S305).As a result of the determination of step S304, when another application is running on the
그러나, 단계(S304)의 판단 결과 가상환경(160a)에서 실행중인 또 다른 응용프로그램이(170a)없다면, 가상환경 구동수단(150)은 가상 환경수단(160)을 제어하여 호스트 컴퓨터(200)의 메모리(240)에 구축된 가상환경(160a)을 제거한다(S306). 이후, 가상환경 구동수단(150)은 호스트 컴퓨터(200)의 메모리(240)에서 가상 환경수단(160)을 제거한 후 종료한다(S307).However, if it is determined in step S304 that there is no
이때, 단계(S307)는 휴대용 디지털 저장장치(100)가 호스트 컴퓨터(200)에 마운트 되어 있지 않다면 항상 수행되어야 하되, 마운트 되어 있다면 사용에 따라 수행되지 않을 수도 있다.In this case, step S307 should always be performed if the portable
여기서, 상술한 바와 같이 사용자가 선택한 응용프로그램을 가상환경 위에서 실행시키는 경우, 호스트 컴퓨터(200)의 메모리(240)에 로드된 가상 환경수단(160)의 데이터 보호수단(165)은 가상환경(160a)에 구축된 응용프로그램에 대한 불법 복제를 방지하는 역할을 수행할 수 도 한다(S400).In this case, when the user-selected application is executed in the virtual environment as described above, the data protection means 165 of the virtual environment means 160 loaded in the
도 10을 참조하여 설명하면, 호스트 컴퓨터(200)의 운영체제(230)위에 소정의 응용프로그램이 로드 되어 구동되면(S401), 호스트 컴퓨터(200)의 메모리(240)에 구성된 가상환경(160a)의 데이터 보호수단(165)은 상기 구동된 소정의 응용프로그램이 가상환경(160a)위에 구성된 응용프로그램(170a)에 대한 복사, 변형 및 삭제 등을 수행하는 지 여부를 판단한다(S402).Referring to FIG. 10, when a predetermined application program is loaded and driven on the
단계(S402)의 판단 결과 상기 가상환경 위에 구축된 응용프로그램(170a)에 대한 복사, 삭제 및 변형 등을 수행하지 않는다면, 데이터 보호수단(165)은 가상환경(160a)에게 상기 로드 되어 구동하는 응용프로그램이 불법 복제용 응용프로그램이 아니라는 정보를 가상환경(160a)에 전달한다(S403).If it is determined in step S402 that the copying, deleting, and modifying of the
그러나, 단계(S402)의 판단 결과 상기 가상환경 위에 구축된 응용프로그램(170a)에 대한 복사, 삭제 및 변형 등을 수행한다면, 데이터 보호수단(165)은 상기 운영체제(230)위에 로드 되어 구동되는 응용프로그램의 실행파일이름 및 경로를 추적하고(S404), 이에 의해 상기 응용프로그램이 가상환경 위에 구축된 응용프로그램(170a)인지 여부를 판단한다(S405).However, if it is determined in step S402 that a copy, deletion, modification, etc. of the
단계(S405)의 판단 결과 상기 가상환경(170a)위에 구축된 응용프로그램이 아니면, 가상 환경수단(150)은 상기 가상환경위에 구축된 응용프로그램의 파일 복사, 변형 및 삭제가 불가능하다는 메시지를 호스트 컴퓨터(200)의 표시부(270)상에 출력시킨다(S406).If it is determined in step S405 that the application program is not built on the
그러나, 단계(S405)의 판단 결과 상기 가상환경(160a)에 구축된 응용프로그램 이면, 가상환경 구동수단(160)이 상기 가상환경위에 구축된 응용프로그램의 파일 복사, 변형 및 삭제 등의 동작을 수행한다(S407).However, if it is determined in step S405 that the application program is built in the
본 발명의 기술사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며, 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술분야의 통상의 전문가라면 본 발명의 기술사상의 범위에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.Although the technical spirit of the present invention has been described in detail according to the above-described preferred embodiment, it should be noted that the above-described embodiment is for the purpose of description and not of limitation. In addition, those skilled in the art will understand that various embodiments are possible within the scope of the technical idea of the present invention.
이상에서 설명한 바와 같이 본 발명은, 휴대용 디지털 저장장치에 내장된 가상환경모듈을 이용하여 호스트 컴퓨터에 가상환경을 구축하여 응용프로그램을 구동시킴으로써, 호스트 컴퓨터의 운영체제 하에서 구동되는 응용프로그램과의 충돌을 방지할 수 있다는 효과를 제공한다.As described above, the present invention builds a virtual environment on a host computer using a virtual environment module built in a portable digital storage device to drive an application program, thereby preventing a collision with an application program running under an operating system of the host computer. It provides the effect that you can.
또한, 본 발명은 휴대용 디지털 저장장치에 저장된 자동 실행수단을 통해 호스트 컴퓨터의 메모리에 로드되어 응용프로그램이 구동되는 가상환경을 구축시키는 가상환경 모듈을 자동으로 구동시킴으로써, 호스트 컴퓨터에 대한 부팅 등의 복잡한 설치 과정을 거치지 않고 소정의 응용프로그램을 클릭앤런 방식으로 실시간 실행시킬 수 있다는 효과를 제공한다.In addition, the present invention, by automatically running a virtual environment module that is loaded into the memory of the host computer through the automatic execution means stored in the portable digital storage device to build a virtual environment in which the application program is driven, such as booting to the host computer It provides the effect that a predetermined application can be run in real time by clicking and running without going through an installation process.
또한, 본 발명은 응용프로그램 패키지 및 가상환경 모듈을 내장한 휴대용 디지털 저장장치를 이용하여 호스트 컴퓨터에 응용프로그램이 구동될 수 있는 가상환 경을 구축함으로써, 소정의 응용프로그램을 수행하거나 또는 문서편집 등의 업무를 수행시에 호스트 컴퓨터에 휴대용 디지털 저장장치를 통신 접속하여 간단히 업무를 수행할 수 있는 효과가 있다.In addition, the present invention builds a virtual environment in which an application program can be run on a host computer using a portable digital storage device having an application package and a virtual environment module, thereby executing a predetermined application program or editing a document. When carrying out the work of the portable computer, the digital storage device is connected to the host computer, the effect can be easily performed.
또한, 본 발명은 휴대용 디지털 저장장치에 저장된 응용프로그램 패키지를 참조하여 사용자가 요청한 응용프로그램을 스트리밍 형태로 호스트 컴퓨터의 메모리에 실시간 로드시킴으로써, 호스트 컴퓨터의 메모리 용량을 극대화 할 뿐 아니라 사용자가 보유하고 있는 응용프로그램을 사용자 자신만이 사용할 수 있도록 보호하여 타인에게 허락 받지 않은 상태로 양도할 수 없도록 활용할 수 있는 효과가 있다. In addition, the present invention by referring to the application package stored in the portable digital storage device in real time load the application requested by the user in the memory of the host computer in a streaming form, to maximize the memory capacity of the host computer as well as the user It is effective to protect the application so that only you can use it so that it cannot be transferred without permission from others.
또한, 본 발명은 가상환경모듈을 구성하는 데이터 보호수단을 이용하여 호스트 컴퓨터에 로드되는 불법 복사용 응용프로그램을 식별함으로써, 가상환경을 구축하여 각종 응용프로그램 파일에 복사, 편집, 검색 등의 불법적인 사용 행위를 방지할 수 있다는 효과를 제공한다.In addition, the present invention by using the data protection means constituting the virtual environment module to identify the illegal copy application program loaded on the host computer, to build a virtual environment illegal copying, editing, search, etc. to various application program files It provides the effect that the use behavior can be prevented.
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040101477A KR100654675B1 (en) | 2004-12-04 | 2004-12-04 | A Portable Data Storage System and Method to Run Application Programs on a Host Computer System |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040101477A KR100654675B1 (en) | 2004-12-04 | 2004-12-04 | A Portable Data Storage System and Method to Run Application Programs on a Host Computer System |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060062587A KR20060062587A (en) | 2006-06-12 |
KR100654675B1 true KR100654675B1 (en) | 2006-12-08 |
Family
ID=37158720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040101477A KR100654675B1 (en) | 2004-12-04 | 2004-12-04 | A Portable Data Storage System and Method to Run Application Programs on a Host Computer System |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100654675B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100936239B1 (en) * | 2007-12-18 | 2010-01-12 | 한국전자통신연구원 | System And Method For Providing Portable SW With Streaming |
KR101103795B1 (en) * | 2010-02-02 | 2012-01-06 | 주식회사 미라지웍스 | Method for providing software virtualization system using portable medium |
KR20200064576A (en) * | 2018-11-29 | 2020-06-08 | 주식회사 모바텍 | Power bank embedding memory with data and program areas |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080005472A1 (en) * | 2006-06-30 | 2008-01-03 | Microsoft Corporation | Running applications from removable media |
KR100855329B1 (en) | 2007-08-20 | 2008-09-04 | (주)테르텐 | Method and apparutus for providing software security |
KR100921680B1 (en) * | 2007-08-21 | 2009-10-15 | 한국전자통신연구원 | Mobile storage based on trusted platform module and the computing method by using there of |
KR101013509B1 (en) * | 2008-01-04 | 2011-02-11 | 주식회사 마크애니 | Virtual Application Program System, Storing Device, Method for Executing Virtual Application Program and Method for Protecting Virtual Environment |
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 (en) * | 2008-02-29 | 2010-06-17 | (주)엔탑소프트 | Method and apparatus for an auto-execution of client program and memory unit including the apparatus |
KR101489301B1 (en) | 2008-03-20 | 2015-02-06 | 삼성전자주식회사 | Virtual environment system and operating method of the system |
KR100901014B1 (en) * | 2008-07-15 | 2009-06-04 | (주)노애드 | Apparatus and method for running application in virtual environment |
KR101032386B1 (en) * | 2008-07-16 | 2011-05-03 | 주식회사 마크애니 | Method and System for Providing Application Program Using Virtual Machine, Method for Executing Virtual Application Program, Virtual Machine Module and Method for Providing On-line Service |
KR101437122B1 (en) | 2008-12-03 | 2014-09-02 | 삼성전자 주식회사 | Apparatus for providing service using OS virtualization and method thereof |
KR101428979B1 (en) * | 2009-08-21 | 2014-08-13 | 에스케이플래닛 주식회사 | Portable storage device, System and method for providing application program using the same |
KR101399016B1 (en) * | 2009-09-08 | 2014-06-30 | 에스케이플래닛 주식회사 | Portable Storage Device Having Software Therein and Method for Saving File Package Using the Same |
KR102177536B1 (en) * | 2020-05-21 | 2020-11-11 | 주식회사 이스트림 | The construction and maintenance method of it system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5815706A (en) | 1992-02-07 | 1998-09-29 | Dell Usa, L.P. | Computer system with plug-in override of system ROM |
KR20030003611A (en) * | 2001-07-03 | 2003-01-10 | (주)싸이버뱅크 | Portable terminal apparatus with large memory and its operating method |
KR20030044898A (en) * | 1999-10-18 | 2003-06-09 | 인텔 코오퍼레이션 | Method and apparatus for secure automatic playback of content from removable mass storage media |
KR20030060342A (en) * | 2002-01-08 | 2003-07-16 | 엘지전자 주식회사 | Booting method for personal digital assistant |
KR20040097436A (en) * | 2003-05-12 | 2004-11-18 | 에크로텍(주) | Software unlawfulness reproduction preventing device using universal serial bus portable storing device and method thereof |
-
2004
- 2004-12-04 KR KR1020040101477A patent/KR100654675B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5815706A (en) | 1992-02-07 | 1998-09-29 | Dell Usa, L.P. | Computer system with plug-in override of system ROM |
KR20030044898A (en) * | 1999-10-18 | 2003-06-09 | 인텔 코오퍼레이션 | Method and apparatus for secure automatic playback of content from removable mass storage media |
KR20030003611A (en) * | 2001-07-03 | 2003-01-10 | (주)싸이버뱅크 | Portable terminal apparatus with large memory and its operating method |
KR20030060342A (en) * | 2002-01-08 | 2003-07-16 | 엘지전자 주식회사 | Booting method for personal digital assistant |
KR20040097436A (en) * | 2003-05-12 | 2004-11-18 | 에크로텍(주) | Software unlawfulness reproduction preventing device using universal serial bus portable storing device and method thereof |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100936239B1 (en) * | 2007-12-18 | 2010-01-12 | 한국전자통신연구원 | System And Method For Providing Portable SW With Streaming |
KR101103795B1 (en) * | 2010-02-02 | 2012-01-06 | 주식회사 미라지웍스 | Method for providing software virtualization system using portable medium |
KR20200064576A (en) * | 2018-11-29 | 2020-06-08 | 주식회사 모바텍 | Power bank embedding memory with data and program areas |
KR102230334B1 (en) * | 2018-11-29 | 2021-03-22 | 주식회사 엘케이벤쳐스 | Power bank embedding memory with data and program areas |
Also Published As
Publication number | Publication date |
---|---|
KR20060062587A (en) | 2006-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100654675B1 (en) | A Portable Data Storage System and Method to Run Application Programs on a Host Computer System | |
US10445258B1 (en) | Method for creation of device drivers and device objects for peripheral devices | |
US7606946B2 (en) | Removable device and program startup method | |
JP4245374B2 (en) | Detachable device and control circuit | |
EP1989635B1 (en) | Migrating a virtual machine that owns a resource such as a hardware device | |
CN101297284B (en) | Rebootless display driver upgrades | |
US8799521B2 (en) | System and method for receiving control commands at a peripheral device | |
US20060224794A1 (en) | Using USB memory device to recover operating system | |
JP6293657B2 (en) | Dynamic redirection of boot behavior to other operating systems | |
US20080071935A1 (en) | Self-Installing Computer Peripherals | |
EP2192516A1 (en) | Method for upgrading antivirus software and terminal and system thereof | |
US20120124566A1 (en) | Shared resource dependencies | |
CN101438266A (en) | Booting an operating system in discrete stages | |
EP1717700A2 (en) | Multimedia devices with enhanced functionality | |
CN101551754A (en) | Dynamic insertion and removal of virtual software sub-layers | |
KR101548437B1 (en) | Method and apparatus for integrating driver(s) of a portable device into the portable device | |
JP4527348B2 (en) | Interface device, method of updating firmware in interface device, and program thereof | |
US7581036B2 (en) | Offline caching of control transactions for storage devices | |
JP5528034B2 (en) | Method, apparatus, and program for managing a blade server in a blade center | |
EP2372565A1 (en) | Method for managing USB devices | |
CN106528226A (en) | Operation system installation method and apparatus | |
KR20050004403A (en) | Portable storage device and Method for driving the portable storage device | |
KR100733742B1 (en) | Portable information processing terminal and communication system thereof | |
EP2048576B1 (en) | Secure method for updating a program that runs automatically and portable electronic device implementing same | |
CN116028100B (en) | Software version upgrading method and electronic equipment |
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 |