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 PDF

Info

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
Application number
KR1020040101477A
Other languages
Korean (ko)
Other versions
KR20060062587A (en
Inventor
송동호
인연진
김영필
Original Assignee
소프트온넷(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소프트온넷(주) filed Critical 소프트온넷(주)
Priority to KR1020040101477A priority Critical patent/KR100654675B1/en
Publication of KR20060062587A publication Critical patent/KR20060062587A/en
Application granted granted Critical
Publication of KR100654675B1 publication Critical patent/KR100654675B1/en

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

호스트 컴퓨터상에서 응용프로그램 수행을 위한 휴대용 디지털 저장장치 시스템 및 방법{A Portable Data Storage System and Method to Run Application Programs on a Host Computer System}A portable data storage system and method to run application programs on a host computer system

도 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 digital storage device 100 includes a host computer 200 and a server 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)를 포함하고 있다.The portable digital storage device 100 connects to the host computer 200 through the wired / wireless data communication network 500, and thereafter establishes a virtual environment means 160 for establishing a virtual environment in which an application program selected by a user is executed. As shown in FIG. 2, as shown in FIG. 2, input / output data of the communication interface 110 for communicating with the host computer 200 to perform data communication and the portable digital storage device 100 are provided. An I / O adapter 120 for controlling, a memory unit 130 for storing predetermined application programs and data files input from the outside under the control of the I / O adapter 120, and a host Auto-executing means 140 for loading the virtual environment driving means into the memory of the host computer 200 and the virtual environment means 160 when the computer 200 is mounted through the communication interface 110. The virtual environment driving means 150 which downloads to the computer 200 to activate the virtual environment in the memory and displays a list of executable applications, and an abstracted virtual environment in which the application program can be run on the host computer 200. The virtual environment means for building 160, the application package 170 for providing data that can abstract and drive the application program through the virtual environment means 160, and the memory unit under the control of the I / O adapter 120 A real file system 180 that reads and writes data stored in a predetermined format in a predetermined format, and a communication bus 190 for communicating between various devices in the portable digital storage device 100; have.

여기서, I/O 어댑터(120)는 통신인터페이스(110)를 통하여 호스트 컴퓨터(200)와의 데이터 통신을 수행하고, 유무선 데이터 통신망(500)을 통하여 호스트 컴퓨터(200)로부터 전송되는 소정의 응용프로그램 패키지(170) 및 데이터 파일을 메모리부(130)에 저장시킨다.Here, the I / O adapter 120 performs data communication with the host computer 200 through the communication interface 110, and a predetermined application package transmitted from the host computer 200 through the wired / wireless data communication network 500. 170 and the data file are stored in the memory unit 130.

이때, 응용프로그램 패키지(170)는 소정의 응용프로그램을 소프트웨어 스트리밍 가능한 MPEG 등과 같은 압축방식에 의해 압축된 패키지 형태로 구성되고, 사용가능기간 및 사용자 인증정보가 저장되어 있어 사용가능기간이 경과한 경우 가상환경 구동수단(150)에 의해 구동되지 못하도록 구현되어 있다. 또한 응용프로그램 패키지(170)는 응용프로그램의 실시간 실행을 가능하게 하기 위해 스트림 데이터 형태로 구성되어 있다.In this case, the application program package 170 is configured in the form of a package compressed by a compression method such as MPEG for software streaming of a predetermined application program, the available period and the user authentication information is stored and the available period has elapsed It is implemented not to be driven by the virtual environment driving means 150. In addition, the application package 170 is configured in the form of stream data to enable real-time execution of the application.

I/O 어댑터(120)는 메모리부(130)에 구성된 실제 파일 시스템(180)을 통신인터페이스(110)를 통하여 호스트 컴퓨터(200)의 메모리로 마운트 시킨다. 이때, 메모리부(130)는 소정의 반도체 소자인 RAM 또는 ROM 등으로 구성되거나 Hard Disk등으로 구성될 수 있다.The I / O adapter 120 mounts the actual file system 180 configured in the memory unit 130 to the memory of the host computer 200 through the communication interface 110. In this case, the memory unit 130 may be configured of a RAM or a ROM, which is a predetermined semiconductor element, or may be configured of a hard disk.

여기서, 실제 파일 시스템(180)은 호스트 컴퓨터(200)의 운영체제(Operating System)가 인식할 수 있는 FAT, FAT16, FAT32, NTFS, exe32 등과 같은 소정의 파일 형태를 갖는다. 이때, 실제 파일 시스템(180)은 휴대용 디지털 저장장치(100)의 메모리부(130)에 저장될 수도 있고 또는 저장되지 않을 수 도 있다는 점에 유의하여야 한다.Here, the actual file system 180 may have a predetermined file type such as FAT, FAT16, FAT32, NTFS, exe32, or the like that can be recognized by an operating system of the host computer 200. In this case, it should be noted that the actual file system 180 may or may not be stored in the memory unit 130 of the portable digital storage device 100.

따라서, 휴대용 디지털 저장장치(100)로부터 실재 파일 시스템(180)이 호스트 컴퓨터(200)의 메모리로 마운트 되는 경우, 호스트 컴퓨터(200)의 운영체제는 마운트 된 실재 파일 시스템(180)을 자신의 파일 시스템으로 인식하고, 휴대용 디지털 저장장치(100)의 메모리부(130)에 저장되어 있는 파일들에 대해 소정의 입력 수단(키보드 등)을 통하여 입력되는 사용자 명령에 따라 응용프로그램을 실제 환경 하에서 구동시켜 파일 생성, 열기, 쓰기, 검색 및 닫기 등의 데이터 작업을 수행한다.Therefore, when the real file system 180 is mounted from the portable digital storage device 100 into the memory of the host computer 200, the operating system of the host computer 200 may mount the mounted real file system 180 as its own file system. File is stored in the memory unit 130 of the portable digital storage device 100 in accordance with a user command input through a predetermined input means (keyboard, etc.) under a real environment. Perform data operations such as create, open, write, retrieve, and close.

자동 실행수단(140)은 호스트 컴퓨터(200)의 메모리에 상기 실제 파일 시스템(180)이 마운트 되면 호스트 컴퓨터(200)의 메모리에 자동 로드 되어 가상환경 구동수단(150)을 호스트 컴퓨터(200)의 메모리에 로드하고 실행한다. 이때 자동 실행수단(140)은 휴대용 디지털 저장장치(100)의 메모리부(130)에 저장될 수도 있고 또는 저장되지 않을 수 도 있다는 점에 유의하여야 한다.The automatic execution means 140 is automatically loaded in the memory of the host computer 200 when the real file system 180 is mounted in the memory of the host computer 200 to drive the virtual environment driving means 150 of the host computer 200. Load into memory and run In this case, it should be noted that the automatic execution means 140 may or may not be stored in the memory unit 130 of the portable digital storage device 100.

가상환경 구동수단(150)은 휴대용 디지털 저장장치(100)의 메모리부(130)에 저장된 가상 환경수단(160)을 호스트 컴퓨터(200)의 메모리에 로드하고, 로드 된 가상 환경수단(160)을 활성화하여 가상환경으로 구동되도록 한다. 이때 가상환경을 통해 응용프로그램이 구동될 수 있는 추상화된 가상작업공간이 호스트 컴퓨터(200)의 메모리에 구성된다.The virtual environment driving means 150 loads the virtual environment means 160 stored in the memory unit 130 of the portable digital storage device 100 into the memory of the host computer 200, and loads the loaded virtual environment means 160. Enable it to run as a virtual environment. In this case, an abstracted virtual workspace in which an application program can be run through the virtual environment is configured in the memory of the host computer 200.

가상 환경수단(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 application package 170 stored in the portable digital storage device 100 in order to execute an application program on an operating system of the host computer 200. Virtual Registry System, Virtual File System, Virtual Component, Virtual Configuration System (Font, Printer, Environment Variables) and Data Security System Abstract the memory inside the host computer 200.

이를 보다 구체적으로 설명하면, 가상 환경수단(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 host computer 200 with reference to the application package 170 stored in the portable digital storage device 100. As to abstract the virtual environment, as shown in FIG. 3, the registry implementing means 161, the file system implementing means 162, the component implementing means 163, the environment setting implementing means 164 and the data protection means ( 165).

여기서, 레지스트리 구현수단(161)은 호스트 컴퓨터(200)에 설치되어 있지 않은 레지스트리의 내용을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리에 레지스트리 파일 데이터가 존재하는 것과 같은 가상 레지스트리 시스템을 구축시키는 역할을 수행한다.Here, the registry implementing means 161 refers to the application package 170 stored in the portable digital storage device 100 for the contents of the registry which is not installed in the host computer 200, and the memory of the host computer 200. It is responsible for building a virtual registry system such as registry file data.

파일 시스템 구현수단(162)은 호스트 컴퓨터(200)에 설치되어 있지 않은 파일 데이터 및 폴더의 내용을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리에 소정의 파일 데이터 및 폴더들이 존재하는 것과 같은 가상 파일 시스템을 구축시키는 역할을 수행한다.The file system implementation means 162 refers to an application package 170 stored in the portable digital storage device 100 for file data and folder contents that are not installed in the host computer 200. It serves to build a virtual file system such that certain file data and folders exist in the memory.

컴포넌트 구현수단(163)은 호스트 컴퓨터(200)에 설치되어 있지 않은 컴포넌트파일 또는 DLL(Dynamic Link Library)파일들을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리에 소정의 컴포넌트 또는 DLL 파일들이 존재하는 것과 같은 가상 컴포넌트 시스템을 구축시키는 역할을 수행한다.The component implementation means 163 refers to an application package 170 stored in the portable digital storage device 100 for component files or DLL (Dynamic Link Library) files that are not installed in the host computer 200. It serves to build a virtual component system, such as the presence of certain component or DLL files in the memory of (200).

환경 설정 구현수단(164)은 호스트 컴퓨터(200)에 설치되어 있지 않은 폰트파일, 프린터, 환경변수 등의 내용을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리 영역에 폰트파일, 프린터, 환경변수 등이 존재하는 것과 같은 가상 환경 설정 시스템을 구축시키는 역할을 수행한다.The environment setting implementing means 164 refers to the application package 170 stored in the portable digital storage device 100 for the contents of font files, printers, environment variables, etc., which are not installed in the host computer 200, and the host. A virtual environment setting system such as a font file, a printer, an environment variable, and the like exists in a memory area of the computer 200.

데이터 보호수단(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 host computer 200. Play a role.

즉, 호스트 컴퓨터(200)의 메모리에 로드 되어 구동된 응용프로그램이 가상환경에서 동작하는 각종 파일, 예를 들면 레지스트리 파일, 컴포넌트 파일, 가상파일 및 환경설정 파일 등을 복사, 변형 및 삭제 하려는 경우, 데이터 보호수단(165)은 상기 구동된 응용프로그램의 파일 이름 및 경로를 추적하여 상기 구동된 응용프로그램이 가상환경위에 구축된 응용프로그램 인지 여부를 판단한다.That is, when an application program loaded and driven in the memory of the host computer 200 attempts to copy, modify, and delete various files operating in a virtual environment, for example, a registry file, a component file, a virtual file, and a configuration file, The data protection unit 165 tracks the file name and path of the driven application to determine whether the driven application is an application built on a virtual environment.

이때, 상기 구동된 응용프로그램이 실제 환경에서 로드된 응용프로그램으로 판단된 경우, 데이터 보호수단(165)은 상기 응용프로그램을 불법 복제용 응용프로그램으로 판단하여 가상환경에서 동작하는 각종 파일에 대한 복사, 편집, 삭제, 검색 등의 행위를 방지하는 역할을 수행한다. 즉, 이와 같은 불법 복제용 응용프로그램 파일에 의한 파일 복사, 편집, 삭제, 검색 등은 가상환경위에서 진행되기 때문에 가상 환경수단(160)을 구성하는 데이터 보호수단(165)에 의해 이러한 불법적인 파일 복사를 방지할 수 있는 것이다.In this case, when it is determined that the driven application program is loaded in a real environment, the data protection unit 165 judges the application program as an illegal copy application program, and copies various files operating in a virtual environment. It prevents actions such as editing, deleting, and searching. That is, since such file copying, editing, deleting, retrieval, etc. by the illegal application program file are performed on the virtual environment, such illegal file copying is performed by the data protection means 165 constituting the virtual environment means 160. It can prevent.

또한, 가상 환경수단(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 host computer 200 by the virtual environment means 160, is a data file, a DLL file, and an executable file. And the like, and the above-described file configuration is required for the virtual environment file having such a configuration to operate normally.

따라서, 이와 같은 가상환경파일을 구성하는 파일 중에서 편집 등이 필요 없는 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 host computer 200 is completely separated from the real environment provided by the operating system stored in the memory area of the host computer 200. The application program loaded into the memory of the host computer 200 is driven in the abstracted virtual environment built by the virtual environment means 160, not the actual environment provided by the operating system.

따라서, 휴대용 디지털 저장장치(100)의 응용프로그램 패키지(170)로부터 호스트 컴퓨터(200)의 메모리에 로드 되는 응용프로그램은 호스트 컴퓨터(200)의 운영체제에 의해 구축되는 실제 환경이 아닌 가상 환경수단(160)에 의해 추상화된 가상환경에서 구동되고, 이에 의해 다른 버전을 갖는 동일한 응용프로그램, 예를 들면 MS-Office 97, Office-2000, Office-XP 등의 응용프로그램들은 상호 충돌 없이 구동될 수 있는 것이다.Therefore, the application program loaded into the memory of the host computer 200 from the application package 170 of the portable digital storage device 100 is not a real environment built by the operating system of the host computer 200 but the virtual environment means 160. It runs in a virtual environment abstracted by), whereby the same application with different versions, for example, MS-Office 97, Office-2000, Office-XP, etc. can be run without conflict.

통신버스(190)는 휴대용 디지털 저장장치(100)내의 상이한 디바이스들 간에 데이터, 명령, 다른 정보의 전달을 지원하며, 도면에서는 단순하게 단일 버스로 도시되어 있으나 통상적으로 통신 버스는 다중 버스로 구성되며 또한 계층 형태로 구성될 수도 있다.The communication bus 190 supports the transfer of data, commands, and other information between different devices in the portable digital storage device 100. The communication bus 190 is illustrated as a single bus in the drawing. It may also be configured in a hierarchical form.

호스트 컴퓨터(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 host computer 200 may receive a virtual environment driving means 150 and a virtual environment means 160 from a portable digital storage device 100 connected through a wired / wireless data communication network 500 to drive a predetermined application program. As shown in FIG. 4, as shown in FIG. 4, a communication interface 210 which communicates with the portable digital storage device 100 and performs data communication is established. A predetermined application program transmitted from the portable digital storage device 100, various data files, an I / O adapter 220 for performing input / output to the virtual environment driving means 150 and the virtual environment means 160, and Operating system 230 for driving the application of the program, memory 240 for storing various data files, and virtual environment means (1) transmitted from the portable digital storage device (1) 60 is stored in the memory 240, the virtual environment means 160 is controlled to activate a predetermined virtual environment in the memory 240, and then from the application program package 170 of the portable digital storage device 100. A virtual environment driving means 150 for driving the loaded application program on a virtual environment, a central processing unit (CPU) 250 for processing all execution operations required for execution by loading the driven application program into the memory 240; The data storage unit 260 stores various data files created by a user using an application program under the control of the operating system 230, and a predetermined application and data file selected by the user under the control of the operating system 230. A display unit 270 for displaying and a communication bus 280 for communicating between various devices in the host computer 200 are included.

통신인터페이스(210)는 네트워크 통신망(400)을 통하여 통신 접속된 서버(300)와 기 설정된 통신규약(protocol)에 기초하여 소정의 응용프로그램패키지 및 데이터 파일에 대한 데이터 송수신을 수행한다. USB, USB2, Serial/Parallel Port, Ethernet, TCP/IP 등을 포함하는 프로토콜을 포함할 수 있다.The communication interface 210 performs data transmission and reception for a predetermined application program package and a data file based on a predetermined communication protocol with a server 300 connected through a network communication network 400. Protocols may include USB, USB2, Serial / Parallel Port, Ethernet, TCP / IP, and the like.

이때, 서버(300)는 다수의 응용프로그램, 데이터 파일 및 네트워크 통신망(400)을 통하여 통신 접속하는 복수의 호스트 컴퓨터(200)에 대한 로그인 정보를 저장하고 있으며, 상기 통신인터페이스(210)를 통하여 해당 호스트 컴퓨터(200)에 대한 네트워크 연결 상태를 감지한다.In this case, the server 300 stores a plurality of application programs, data files, and login information of a plurality of host computers 200 that are connected through a network communication network 400. The server 300 stores corresponding login information through the communication interface 210. Detects a network connection state to the host computer 200.

또한, 서버(300)는 호스트 컴퓨터(200)로부터 소정의 응용프로그램 및 데이터 파일에 대한 요청 신호가 입력되는 경우, 기 설정된 통신 규약(즉, 프로토콜(protocol)에 의해 소정의 응용프로그램 및 데이터 파일을 호스트 컴퓨터(200)로 다운로드 시키되, 해당 응용프로그램을 소정의 소프트웨어 스트리밍 가능한 압축방식에 의해 압축된 응용프로그램 패키지 형태로 다운로드 시키는 역할을 수행한다.이때, 서버(300)는 서비스 가능한 응용프로그램 패키지가 등록되어 있어야 한다.In addition, when a request signal for a predetermined application program and a data file is input from the host computer 200, the server 300 downloads the predetermined application program and the data file according to a preset communication protocol (that is, a protocol). It downloads to the host computer 200, but serves to download the application in the form of a compressed application package by a predetermined software streamable compression method. At this time, the server 300 registers a serviceable application package Should be.

또한, 서버(300)는 내부에 저장된 소정의 인증알고리즘을 통하여 응용프로그램패키지를 요청한 사용자에 대한 사용자 인증을 수행한 후, 사용자 인증이 성공적으로 수행되지 않은 경우 해당 사용자에게 응용프로그램패키지를 사용할 수 없다는 경고 메시지 표시한다.In addition, after the server 300 performs user authentication for the user who requested the application package through a predetermined authentication algorithm stored therein, the server 300 cannot use the application package for the user if the user authentication is not successfully performed. Display a warning message.

그러나, 사용자 인증이 성공적으로 수행된 경우, 서버(300)는 호스트 컴퓨터(200)의 통신인터페이스(210)를 통해 해당 응용프로그램 패키지(170)를 메모리(240)에 로드 시킨다.However, when the user authentication is successfully performed, the server 300 loads the application package 170 into the memory 240 through the communication interface 210 of the host computer 200.

이후, 호스트 컴퓨터(200)는 메모리(240)에 로드된 응용프로그램 패키지(170)를 유무선 데이터 통신(500)을 통해 통신 접속한 휴대용 디지털 저장장치(100)의 통신인터페이스(110)를 거쳐 메모리부(130)로 다운로드 시킨다.Thereafter, the host computer 200 passes through the communication interface 110 of the portable digital storage device 100 in which the application package 170 loaded in the memory 240 is connected through the wired / wireless data communication 500. Download to 130.

메모리(240)는 도 4에 도시된 바와 같이 소정의 반도체 소자인 RAM 또는 ROM 뿐만 아니라 이들의 변형 형태인 FRAM(Ferroelectric Random Access Memory) 등으로 구성될 수 있고, 소정의 응용프로그램을 실제 환경에서 구동시키기 위한 운영체제(230)와 다양한 데이터 파일을 저장한다.As shown in FIG. 4, the memory 240 may include RAM or ROM, which is a predetermined semiconductor element, as well as Ferroelectric Random Access Memory (FRAM), which is a variant thereof, and drives a predetermined application program in a real environment. The operating system 230 and various data files are stored.

이때, 메모리(240)에는 도 5에 도시된 바와 같이 운영체제(230)의 제어신호에 따라 I/O 어댑터(220)를 통해 휴대용 디지털 저장장치(100)로부터 마운트 되는 실재 파일 시스템(180)이 구동하는데 필요한 실제 환경(Real Environment)(230a)이 구축된다.In this case, the real file system 180 mounted on the memory 240 is mounted from the portable digital storage device 100 through the I / O adapter 220 according to the control signal of the operating system 230 as shown in FIG. 5. The Real Environment 230a necessary to establish is established.

또한, 메모리(220)는 도 4에 도시된 바와 같이 I/O 어댑터(240)를 통하여 휴대용 디지털 저장장치(100)로부터 전송되는 가상환경 구동수단(150)과 가상 환경수단(160)을 저장한다.In addition, the memory 220 stores the virtual environment driving means 150 and the virtual environment means 160 transmitted from the portable digital storage device 100 through the I / O adapter 240 as shown in FIG. .

이때, 가상 환경수단(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 application package 170 of the portable digital storage device 100 under the control of the virtual environment driving means 150. It serves to build a virtual environment (160a) to enable the memory 240 of the host computer 200.

여기서, 가상환경 구동수단(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 application program package 170 transmitted from the server 300 for communication connection through the network communication network 400 and used in the virtual environment configuration And displays a list of currently available applications on the display unit 270 of the host computer 200.

또한, 가상환경 구동수단(160)은 휴대용 디지털 저장장치(100)의 자동 실행수단(140)에 의해 호스트 컴퓨터(200)의 메모리(240)에 로드 되고, 유무선 데이터 통신(500)을 통하여 휴대용 디지털 저장장치(100)로부터 소정의 응용프로그램이 구동되는 가상환경(160a)을 메모리(240) 영역에 구축시키는 가상 환경수단(150)을 전송 받아 메모리(240)에 저장시킨다.In addition, the virtual environment driving means 160 is loaded into the memory 240 of the host computer 200 by the automatic execution means 140 of the portable digital storage device 100, the portable digital via wired and wireless data communication 500 The virtual environment means 150 for constructing the virtual environment 160a in which the predetermined application is driven from the storage device 100 in the memory 240 area is received and stored in the memory 240.

여기서, 유무선 데이터 통신(500)이란 USB, USB2, Serial/Parallel Port, Ethernet, TCP/IP 등을 포함하는 프로토콜을 포함할 수 있다. 또한, 근거리 무선 통신을 수행하는 블루투스, 적외선 통신 및 통신 케이블을 이용한 각종 데이터 통신을 포함하는 것으로 이해되는 것이 바람직하다.Here, the wired / wireless data communication 500 may include a protocol including USB, USB2, Serial / Parallel Port, Ethernet, TCP / IP, and the like. In addition, it is preferable to include a variety of data communication using Bluetooth, infrared communication and communication cable for performing short-range wireless communication.

상술한 바와 같이 호스트 컴퓨터(200)의 메모리(240)에 소정의 응용프로그램이 구동되는 실제 환경(230a)을 구축시키는 운영체제(240)와 가상환경(160a)을 구축시키는 가상 환경수단(160)을 로드 시킨 후, 가상환경 구동수단(150)은 입력되는 사용자 명령에 따라 소정의 응용프로그램을 메모리(240)에 구축된 실제 환경(230a) 또는 가상환경(160a)에서 실행시킨다.As described above, the operating system 240 for building a real environment 230a in which a predetermined application is driven and the virtual environment means 160 for building a virtual environment 160a are installed in the memory 240 of the host computer 200. After loading, the virtual environment driving means 150 executes a predetermined application program in the real environment 230a or the virtual environment 160a built in the memory 240 according to an input user command.

이를 보다 구체적으로 설명하면, 호스트 컴퓨터(200)가 처음 시작될 때 운영체제(230)는 메모리(240)영역에 소정의 응용프로그램이 실행될 수 있는 실제 환경(Real Environment)(230a), 보다 구체적으로는 실제 파일 시스템(Real File System), 실제 레지스트리 시스템(Real Registry System), 실제 콤포넌트(COM, OCX, DLL) 및 기타 처리 시스템(폰트, 프린터, 환경변수) 등을 메모리(240) 영역에 구축시킨다.In more detail, when the host computer 200 is first started, the operating system 230 may include a real environment 230a in which a predetermined application program may be executed in an area of the memory 240, more specifically, an actual program. A real file system, a real registry system, real components (COM, OCX, DLL), and other processing systems (fonts, printers, environment variables) are built in the memory 240 area.

즉, 휴대용 디지털 저장장치(100)가 호스트 컴퓨터(200)에 유무선 데이터 통신(500)으로 연결될 때, 운영체제(230)는 휴대용 디지털 저장장치(100)로부터 마운트되는 인식 가능한 FAT, FAT16, FAT32, NTFS, exe32 등과 같은 실제 파일 시스템(180)이 구동되는데 필요한 실제 환경(Real Environment)(230a)을 메모리(240)에 구축시킨다.That is, when the portable digital storage device 100 is connected to the host computer 200 by wired or wireless data communication 500, the operating system 230 may recognize FAT, FAT16, FAT32, NTFS mounted from the portable digital storage device 100. The real environment 230a, which is required to run the real file system 180 such as exe32 and the like, is built in the memory 240.

따라서, 휴대용 디지털 저장장치(100)로부터 실재 파일 시스템(180)이 호스트 컴퓨터(200)의 메모리(240)로 마운트 되는 경우, 운영체제(230)는 도 5에 도시된 바와 같이 마운트된 실재 파일 시스템(180)을 자신의 실제 환경 내부에 구성된 파일 시스템으로 인식하고, 실제 환경 하에서 휴대용 디지털 저장장치(100)의 데이터 파일에 대한 파일 생성, 열기, 쓰기, 검색 및 닫기 등의 데이터 작업을 수행할 수 있게 된다.Therefore, when the real file system 180 is mounted from the portable digital storage device 100 to the memory 240 of the host computer 200, the operating system 230 may mount the mounted real file system (as shown in FIG. 5). 180) is recognized as a file system configured in the real environment of the user, and can perform data operations such as file creation, opening, writing, searching, and closing of the data file of the portable digital storage device 100 in the real environment. do.

상술한 바와 같이 휴대용 디지털 저장장치(100)의 실재 파일 시스템(180)이 호스트 컴퓨터(200)의 운영체제(230)에 의해 실제 환경 내부의 파일 시스템으로 인식되면, 휴대용 디지털 저장장치(100)에 있는 자동 실행수단(140)의 실행 영역이 호스트 컴퓨터(200)의 메모리(240)에 자동로드 되어 데이터 저장부(130)에 저장된 가상환경 구동수단(150)을 호스트 컴퓨터(200)의 메모리에 로드하고, 가상환경 구동수단(150)을 구동시킨다.As described above, when the actual file system 180 of the portable digital storage device 100 is recognized as a file system in the real environment by the operating system 230 of the host computer 200, the portable file storage device 100 may be located in the portable digital storage device 100. The execution region of the automatic execution means 140 is automatically loaded in the memory 240 of the host computer 200 to load the virtual environment driving means 150 stored in the data storage 130 into the memory of the host computer 200. The virtual environment driving means 150 is driven.

이후, 가상환경 구동수단(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 data storage unit 130 into the memory 240 of the host computer 200 and refers to the data of the application program package 170. The list of executable applications 170a is displayed on the display unit 260 of the host computer 200. At this time, the virtual environment driving means 150 is a virtual environment means 160 according to a user command input through a predetermined input means in a state in which the portable digital storage device 100 is connected through the wired / wireless data communication 500. In this case, a virtual environment in which the application program 170a selected by the user can be executed is built in the memory 240 region.

이때, 가상 환경수단(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 digital storage device 100 according to a control signal of the virtual environment driving means 150. A virtual registry system, a virtual file system, a virtual component system, a virtual environment system, and the like are abstracted in the memory 240 of the host computer 200.

여기서, 가상 레지스트리 시스템(Virtual Registry System)은 도 4에 도시된 바와 같이 호스트 컴퓨터(200)에 설치되어 있지 않은 레지스트리의 내용을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스 트 컴퓨터(200)의 메모리(240)영역에 존재하는 것과 같이 인식되는 추상화된 가상환경이다.As shown in FIG. 4, the virtual registry system uses the application package 170 stored in the portable digital storage device 100 to store contents of a registry which is not installed in the host computer 200. The abstracted virtual environment is recognized as present in the memory 240 region of the host computer 200 with reference.

가상 파일 시스템(Virtual File System)은 호스트 컴퓨터(200)에 설치되어 있지 않은 파일 데이터 및 폴더의 내용을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리(240)에 소정의 파일 데이터 및 폴더들이 존재하는 것과 같이 인식되는 추상화된 가상환경이다.The virtual file system refers to the application package 170 stored in the portable digital storage device 100 for the contents of file data and folders that are not installed in the host computer 200, and the host computer 200. It is an abstracted virtual environment that is recognized as if certain file data and folders exist in the memory 240.

가상 컴포넌트 시스템(Virtual Component System)은 호스트 컴퓨터(200)에 설치되어 있지 않은 컴포넌트 또는 DLL(Dynamic Link Library)파일들을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리(240)에 소정의 컴포넌트 또는 DLL 파일들이 존재하는 것과 같이 인식되는 추상화된 가상환경이다.The virtual component system may refer to an application package 170 stored in the portable digital storage device 100 for components or DLL (Dynamic Link Library) files not installed in the host computer 200. It is an abstracted virtual environment that is recognized as if certain component or DLL files exist in the memory 240 of the computer 200.

가상환경 설정 시스템(Virtual Environment System)은 호스트 컴퓨터(200)에 설치되어 있지 않은 폰트파일, 프린터, 환경변수 등의 내용을 휴대용 디지털 저장장치(100)에 저장되어 있는 응용프로그램 패키지(170)를 참조하여 호스트 컴퓨터(200)의 메모리(240) 영역에 존재하는 것과 같이 인식되는 추상화된 가상환경이다.The virtual environment system refers to the application package 170 stored in the portable digital storage device 100 for contents of font files, printers, and environment variables that are not installed in the host computer 200. It is an abstracted virtual environment recognized as present in the memory 240 region of the host computer 200.

여기서, 가상 환경수단(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 operating system 230 of the host computer 200, as shown in FIG. Builds the 160a in the memory 240 region, whereby the application program is in the abstracted virtual environment 160a built by the virtual environment means 160, not the real environment 230a provided by the operating system 230. Is executed.

이때, 가상 환경수단(160)에 의해 호스트 컴퓨터(200)의 메모리(240) 영역에 구축된 가상환경(160a)에서 구동되는 응용프로그램(170a)은 메모리(240) 영역에 정상 설치되어 운영되는 것이 아니라 휴대용 디지털 저장장치(100)의 데이터 저장부(130)에 응용프로그램 패키지(170) 형태로 저장되어 있으며, 응용프로그램(170a)의 실행에 필요한 데이터를 스트리밍 형태로 유무선 데이터 통신(500)을 통해 호스트 컴퓨터(200)의 메모리(240)로 전송된다.At this time, the application program 170a driven in the virtual environment 160a built in the memory 240 area of the host computer 200 by the virtual environment means 160 is normally installed and operated in the memory 240 area. In addition, the data storage unit 130 of the portable digital storage device 100 is stored in the form of an application program 170, and the data necessary for the execution of the application program 170a through a wired or wireless data communication 500 in the form of streaming. Transferred to the memory 240 of the host computer 200.

따라서, 휴대용 디지털 저장장치(100)의 응용프로그램 패키지(170)에 스트리밍 데이터 형태로 저장된 응용프로그램(170a)은 가상 환경수단(160)에 의해 구축된 가상환경(160a)에서 구동되고 호스트 컴퓨터(200)의 데이터 저장부(260)에 저장된 응용프로그램은 운영체제(230)에서 제공되는 실제 환경(230a)에서 구동되기 때문에, 상기의 가상환경(160a)에 의해 다른 버전을 갖는 동일한 응용프로그램, 예를 들면 MS-Office 97, Office-2000, Office-XP 등의 응용프로그램들은 상호 충돌 없이 구동될 수 있는 것이다.Therefore, the application program 170a stored in the form of streaming data in the application package 170 of the portable digital storage device 100 is driven in the virtual environment 160a established by the virtual environment means 160 and the host computer 200 Since the application program stored in the data storage unit 260 of the C) is driven in the real environment 230a provided by the operating system 230, the same application program having a different version by the virtual environment 160a, for example, Applications such as MS-Office 97, Office-2000, and Office-XP can run without conflict.

상술한 바와 같이 호스트 컴퓨터(200)의 메모리(240) 영역에 소정의 응용프로그램(170a)이 구동될 수 있는 가상환경(160a)을 구축한 상태에서, 가상환경 구동수단(150)은 가상 환경수단(160)을 제어하여 사용자가 선택한 응용프로그램을 디지털 휴대용 디지털 저장장치(100)에 저장된 응용프로그램 패키지(170)를 참조하여 가상환경에서 구동시키게 되는 것이다.As described above, while the virtual environment 160a in which the predetermined application program 170a can be driven is constructed in the memory 240 area of the host computer 200, the virtual environment driving means 150 is a virtual environment means. By controlling the 160, the application selected by the user is driven in the virtual environment with reference to the application package 170 stored in the digital portable digital storage device 100.

이하, 도 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 virtual environment 160 loaded in the portable digital storage device 100 may be loaded into the memory 240 of the host computer 200 so that a predetermined application may be driven. Build 160a) (S100).

도 7을 참조하여 보다 구체적으로 설명하면, 가상 환경수단(160)을 구비한 휴대용 디지털 저장장치(100)를 유무선 데이터 통신방식(500)을 통해 호스트 컴퓨터(200)에 통신 접속시킨다(S101).Referring to FIG. 7, the portable digital storage device 100 including the virtual environment means 160 is communicatively connected to the host computer 200 through the wired / wireless data communication method 500 (S101).

이때, 휴대용 디지털 저장장치(100)에는 다양한 응용프로그램 패키지(170), 데이터 파일, 통신 접속되는 호스트 컴퓨터(200)에 로드 되어 실제 환경(230a)에서 동작하는 실재 파일 시스템(180), 소정의 응용프로그램을 가상환경(160a)에서 동작시키기 위한 가상 환경수단(160) 및 가상 환경수단(160)을 호스트 컴퓨터(200)의 메모리(240)에 다운로드하여 제어하고, 가상환경(160)에서 실행 가능한 응용프로그램 리스트를 표시해 주는 가상환경 구동수단(160) 등이 저장되어있다.In this case, the portable digital storage device 100 includes various application program packages 170, data files, and a real file system 180 loaded in a host computer 200 to which communication is connected and operating in a real environment 230a. An application capable of downloading and controlling the virtual environment means 160 and the virtual environment means 160 for operating the program in the virtual environment 160a, in the memory 240 of the host computer 200, and executing in the virtual environment 160. The virtual environment driving means 160 for displaying a program list is stored.

여기서, 휴대용 디지털 저장장치(100)에는 호스트 컴퓨터(200)에 통신 접속됨에 따라 가상환경 구동수단(150)을 자동으로 실행시켜주는 자동 실행수단(140)이 저장될 수 도 있다.In this case, the portable digital storage device 100 may store an automatic execution means 140 for automatically executing the virtual environment driving means 150 as it is connected to the host computer 200.

상술한 바와 같이, 유무선 데이터 통신 방식을 통하여 호스트 컴퓨터(200)에 통신 접속됨에 따라, 휴대용 디지털 저장장치(100)에 구축된 자동 실행수단(140)이 호스트 컴퓨터(200)의 메모리(240)에 로드 되어 자동으로 실행된다(S102).As described above, as communication is connected to the host computer 200 through wired or wireless data communication, the automatic execution means 140 built in the portable digital storage device 100 is stored in the memory 240 of the host computer 200. It is loaded and executed automatically (S102).

이후, 자동 실행수단(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 digital storage device 100 in the memory 240 of the host computer 200 (S103). In this case, the executed virtual environment driving means 150 analyzes the type and number of the application program package 170 stored in the portable digital storage device 100 (S104), and displays the application program execution link according to the analysis result. A list of executable applications is displayed on the display unit 270 of the host computer 200 (S105).

상술한 바와 같이 응용프로그램 패키지(170)와 가상 환경수단(160)을 저장한 휴대용 디지털 저장장치(100)가 호스트 컴퓨터(200)의 메모리(240)에 소정의 응용프로그램이 실행될 수 있는 가상환경(160a)을 구축한 후, 상기 호스트 컴퓨터(200)는 사용자가 선택한 소정의 응용프로그램을 가상환경(160a) 또는 실제 환경(230a)에서 구동시킨다(S200).As described above, the portable digital storage device 100 storing the application package 170 and the virtual environment means 160 may execute a predetermined application program in the memory 240 of the host computer 200. After building 160a, the host computer 200 drives a predetermined application selected by the user in the virtual environment 160a or the real environment 230a (S200).

도 8을 참조하여 보다 구체적으로 설명하면, 사용자가 입력 수단을 통하여 링크된 응용프로그램 중에서 구동시키고자 하는 소정의 응용프로그램(170a)을 선택하면(S201), 호스트 컴퓨터(200)는 선택된 응용프로그램(170a)이 호스트 컴퓨터(200)에 설치된 응용프로그램인지 또는 가상환경 구동수단(160)이 가상환경(160a)위에서 제공하는 응용프로그램인지를 판단한다(S202).In more detail with reference to FIG. 8, when the user selects a predetermined application 170a to be driven from among applications linked through the input means (S201), the host computer 200 selects the selected application program ( It is determined whether 170a) is an application program installed in the host computer 200 or whether the virtual environment driving means 160 is an application program provided on the virtual environment 160a (S202).

단계(S202)의 판단 결과 사용자가 선택한 응용프로그램(170a)이 데이터 저장부(260)에 설치된 응용프로그램인 경우, 호스트 컴퓨터(200)는 운영체제(230)위에 구축된 실제 환경(230a)에서 데이터 저장부(260)에 설치된 응용프로그램을 실행시킨다(S203).As a result of the determination in step S202, when the application 170a selected by the user is an application installed in the data storage unit 260, the host computer 200 stores the data in the real environment 230a built on the operating system 230. The application program installed in the unit 260 is executed (S203).

그러나, 단계(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 virtual environment 160a, the virtual environment driving means 150 is portable through wired / wireless data communication. The virtual environment means 160 is received from the digital storage device 100 and loaded into the memory 240 (S204).

이후, 가상환경 구동수단(150)은 가상 환경수단(160)을 제어하여 메모리(240)에 소정의 응용프로그램(170a)이 동작할 수 있는 가상환경(160a)을 구축시킨다(S205).Thereafter, the virtual environment driving means 150 controls the virtual environment means 160 to build a virtual environment 160a in which the predetermined application program 170a can operate in the memory 240 (S205).

상술한 바와 같이 호스트 컴퓨터(200)의 메모리(240)에 가상환경을 구축한 후, 가상환경 구동수단(151a)은 가상 환경수단(152a)을 제어하여 사용자가 선택한 응용프로그램(222a)에 저장된 사용가능기간 및 사용자 인증정보에 의해 해당 응용프로그램(222a)의 사용가능 여부를 판단한다(S206).After establishing the virtual environment in the memory 240 of the host computer 200 as described above, the virtual environment driving means 151a controls the virtual environment means 152a to be used in the application program 222a selected by the user. It is determined whether the application 222a can be used based on the available period and user authentication information (S206).

단계(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 application program 170a is stopped (S207).

그러나, 단계(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 application program package 170 stored in the storage device 100 is received in real time in the form of stream data through wired or wireless data communication and loaded into the memory 240 (208).

이후, 가상환경 구동수단(150)은 메모리(240)에 로드된 응용프로그램 패키지(170)를 구동시켜 사용자가 선택한 응용프로그램(170a)을 가상 환경수단(160)에 의해 구축된 가상환경(160a)위에서 실행시킨다(S209).Thereafter, the virtual environment driving means 150 drives the application package 170 loaded in the memory 240 to drive the application program 170a selected by the user by the virtual environment means 160. It executes from above (S209).

상술한 바와 같이 휴대용 디지털 저장장치(100)의 가상 환경수단(160)에 의해 구축된 가상환경(160a)에서 소정의 응용프로그램을 구동시킨 후, 가상환경 구동수단(150)은 도 6에 도시된 바와 같이 사용자가 입력한 종료 신호에 따라 가상환경(160a)에서 실행되고 있는 응용프로그램(170a)을 종료시킨다(S300).As described above, after driving a predetermined application program in the virtual environment 160a constructed by the virtual environment means 160 of the portable digital storage device 100, the virtual environment driving means 150 is shown in FIG. As described above, the application program 170a running in the virtual environment 160a is terminated according to the end signal input by the user (S300).

도 9를 참조하여 보다 구체적으로 설명하면, 가상환경 구동수단(150)은 호스트 컴퓨터(200)에 휴대용 디지털 저장장치(100)가 마운트 되어 있는지 여부를 항상 판단한다(S301).Referring to FIG. 9 in more detail, the virtual environment driving means 150 always determines whether the portable digital storage device 100 is mounted on the host computer 200 (S301).

단계(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 digital storage device 100 is not mounted on the host computer 200, the virtual environment driving means 150 is the virtual environment 150a. All applications (170a) running on the above ends (S302).

그러나, 단계(S301)의 판단 결과 휴대용 디지털 저장장치가(100) 마운트 되어 있는 상태에서 사용자가 응용프로그램(170a)의 사용을 종료하는 경우, 가상환경 구동수단(150)은 가상환경(160a)위에서 실행중인 응용프로그램(170a)을 종료한다(S303).However, if the user terminates the use of the application program 170a while the portable digital storage device 100 is mounted as a result of the determination in step S301, the virtual environment driving means 150 is executed on the virtual environment 160a. The running application program 170a is terminated (S303).

이후, 가상환경 구동수단(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 virtual environment 160a (S304).

단계(S304)의 판단 결과 또 다른 응용프로그램이 가상환경(160a)위에서 실행되고 있는 경우, 가상환경 구동수단(150)은 가상환경(160a)위에서 실행중인 또 다른 응용프로그램의 구동을 위해 가상환경을 계속 유지한다(S305).As a result of the determination of step S304, when another application is running on the virtual environment 160a, the virtual environment driving means 150 sets the virtual environment for driving another application program running on the virtual environment 160a. It keeps (S305).

그러나, 단계(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 other application program 170a running in the virtual environment 160a, the virtual environment driving means 150 controls the virtual environment means 160 to control the host computer 200. The virtual environment 160a built in the memory 240 is removed (S306). Thereafter, the virtual environment driving means 150 removes the virtual environment means 160 from the memory 240 of the host computer 200 and ends (S307).

이때, 단계(S307)는 휴대용 디지털 저장장치(100)가 호스트 컴퓨터(200)에 마운트 되어 있지 않다면 항상 수행되어야 하되, 마운트 되어 있다면 사용에 따라 수행되지 않을 수도 있다.In this case, step S307 should always be performed if the portable digital storage device 100 is not mounted on the host computer 200, but may not be performed according to use if it is mounted.

여기서, 상술한 바와 같이 사용자가 선택한 응용프로그램을 가상환경 위에서 실행시키는 경우, 호스트 컴퓨터(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 memory 240 of the host computer 200 is the virtual environment 160a. It may also play a role of preventing illegal copying for the built application program (S400).

도 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 operating system 230 of the host computer 200 (S401), the virtual environment 160a configured in the memory 240 of the host computer 200 may be used. The data protection unit 165 determines whether the driven predetermined application program performs copying, modification, deletion, etc. on the application program 170a configured on the virtual environment 160a (S402).

단계(S402)의 판단 결과 상기 가상환경 위에 구축된 응용프로그램(170a)에 대한 복사, 삭제 및 변형 등을 수행하지 않는다면, 데이터 보호수단(165)은 가상환경(160a)에게 상기 로드 되어 구동하는 응용프로그램이 불법 복제용 응용프로그램이 아니라는 정보를 가상환경(160a)에 전달한다(S403).If it is determined in step S402 that the copying, deleting, and modifying of the application program 170a built on the virtual environment is not performed, the data protection means 165 is loaded on the virtual environment 160a and the application is driven. Information that the program is not an illegal copy application is transmitted to the virtual environment 160a (S403).

그러나, 단계(S402)의 판단 결과 상기 가상환경 위에 구축된 응용프로그램(170a)에 대한 복사, 삭제 및 변형 등을 수행한다면, 데이터 보호수단(165)은 상기 운영체제(230)위에 로드 되어 구동되는 응용프로그램의 실행파일이름 및 경로를 추적하고(S404), 이에 의해 상기 응용프로그램이 가상환경 위에 구축된 응용프로그램(170a)인지 여부를 판단한다(S405).However, if it is determined in step S402 that a copy, deletion, modification, etc. of the application program 170a built on the virtual environment is performed, the data protection means 165 is an application loaded and driven on the operating system 230. The execution file name and path of the program are tracked (S404), thereby determining whether the application program is an application program 170a built on a virtual environment (S405).

단계(S405)의 판단 결과 상기 가상환경(170a)위에 구축된 응용프로그램이 아니면, 가상 환경수단(150)은 상기 가상환경위에 구축된 응용프로그램의 파일 복사, 변형 및 삭제가 불가능하다는 메시지를 호스트 컴퓨터(200)의 표시부(270)상에 출력시킨다(S406).If it is determined in step S405 that the application program is not built on the virtual environment 170a, the virtual environment means 150 notifies the host computer that a file copy, modification and deletion of the application program built on the virtual environment is impossible. The display unit 270 of 200 outputs it (S406).

그러나, 단계(S405)의 판단 결과 상기 가상환경(160a)에 구축된 응용프로그램 이면, 가상환경 구동수단(160)이 상기 가상환경위에 구축된 응용프로그램의 파일 복사, 변형 및 삭제 등의 동작을 수행한다(S407).However, if it is determined in step S405 that the application program is built in the virtual environment 160a, the virtual environment driving means 160 performs operations such as copying, modifying, and deleting files of the application program built on the virtual environment. (S407).

본 발명의 기술사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며, 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술분야의 통상의 전문가라면 본 발명의 기술사상의 범위에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.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)

운영체제가 설치된 호스트 컴퓨터와 응용프로그램 패키지가 저장된 휴대용 디지털 저장장치가 유/무선 데이터통신 수단에 의해 통신 접속되고, 상기 호스트 컴퓨터와 상기 휴대용 디지털 저장장치 간에 소정의 통신 프로토콜에 의해 데이터를 송수신하는 시스템에 있어서, In the system that is connected to the host computer with the operating system and the portable digital storage device storing the application package is connected by the wired / wireless data communication means, and transmitting and receiving data by the predetermined communication protocol between the host computer and the portable digital storage device. In 상기 휴대용 디지털 저장장치에 저장되어있고 상기 호스트 컴퓨터의 메모리에 로드 되어 상기 호스트 컴퓨터의 운영체제 및 응용프로그램이 실행될 수 있는 실제 환경을 추상화한 가상환경을 구성하는 가상 환경수단; 및 Virtual environment means stored in the portable digital storage device and loaded into a memory of the host computer to form a virtual environment that abstracts a real environment in which an operating system and an application program of the host computer can be executed; And 상기 휴대용 디지털 저장장치에 저장된 상기 가상 환경수단을 상기 호스트 컴퓨터에 복사 및 수행시키는 가상환경 구동수단Virtual environment driving means for copying and performing the virtual environment means stored in the portable digital storage device to the host computer. 을 포함하여 구성되며,It is configured to include, 상기 가상환경 구동수단은 상기 호스트 컴퓨터의 운영체제가 제공하는 실제 환경과 완전 분리된 가상환경위에서 소정의 가상 파일 및 폴더 시스템을 구축시키는 파일 시스템 구현수단The virtual environment driving means is a file system implementation means for building a predetermined virtual file and folder system on a virtual environment completely separated from the real environment provided by the operating system of the host computer. 을 포함하여 구성된 것을 특징으로 하는 휴대용 디지털 저장장치.Portable digital storage device, characterized in that configured to include. 제 1 항에 있어서,The method of claim 1, 상기 휴대용 디지털 저장장치가 상기 호스트 컴퓨터에 접속됨에 따라 상기 호스트 컴퓨터의 메모리에 자동으로 로드 되어 상기 호스트 컴퓨터를 운영하는 사용자의 실행 없이 상기 가상환경 구동수단을 상기 호스트 컴퓨터로 전송하고 실행시켜주는 자동 실행수단As the portable digital storage device is connected to the host computer, it is automatically loaded into the memory of the host computer to automatically execute and transmit the virtual environment driving means to the host computer without the user operating the host computer. Way 을 더 포함하여 구성된 것을 특징으로 하는 휴대용 디지털 저장장치.      Portable digital storage device, characterized in that further comprises. 제 1 항에 있어서, 상기 가상환경 구동수단은,The method of claim 1, wherein the virtual environment driving means, 상기 호스트 컴퓨터의 운영체제가 제공하는 실제 환경과 완전 분리된 가상환경위에서 소정의 가상 레지스트리 시스템을 구축시키는 레지스트리 구현수단;Registry implementation means for building a predetermined virtual registry system on a virtual environment completely separated from a real environment provided by an operating system of the host computer; 상기 호스트 컴퓨터의 운영체제가 제공하는 실제 환경과 완전 분리된 가상환경위에서 소정의 가상 컴포넌트 또는 DLL(Dynamic Link Library) 시스템을 구축시키는 컴포넌트 구현수단; 및Component implementation means for constructing a virtual component or a DLL (Dynamic Link Library) system on a virtual environment completely separated from a real environment provided by an operating system of the host computer; And 상기 호스트 컴퓨터의 운영체제가 제공하는 실제 환경과 완전 분리된 가상환경위에서 소정의 폰트파일, 프린터, 환경변수 등의 환경 시스템을 구축시키는 환경설정 구현수단Environment setting implementation means for constructing an environment system such as a predetermined font file, printer, environment variable, etc. on a virtual environment completely separated from the real environment provided by the operating system of the host computer. 중에서 선택되는 적어도 하나를 더 포함하여 구성된 것을 특징으로 하는 휴대용 디지털 저장장치. Portable digital storage device characterized in that it further comprises at least one selected from. 제 3 항에 있어서, 상기 가상 환경수단은,      The method of claim 3, wherein the virtual environment means, 상기 호스트 컴퓨터의 메모리에 소정의 응용프로그램이 로드 되는 경우, 상기 로드 된 응용프로그램의 파일명 및 경로를 추적하여 불법 복제용 응용프로그램 여부를 판단하여 불법 복제용 응용프로그램인 경우 가상환경에 구축된 파일 시스템에 대한 복사, 편집, 변형 및 삭제 등을 방지하는 데이터 보호수단When a predetermined application program is loaded into the host computer's memory, the file name and path of the loaded application program are tracked to determine whether the application is an illegal copy application. Data protection measures to prevent copying, editing, alteration and deletion of data 을 더 포함하여 구성된 것을 특징으로 하는 휴대용 디지털 저장장치.Portable digital storage device, characterized in that further comprises. 제 1 항에 있어서, 상기 가상환경 구동수단은,       The method of claim 1, wherein the virtual environment driving means, 상기 가상 환경수단을 상기 호스트 컴퓨터의 메모리로 로드 시킨 후 활성화하여 상기 가상환경을 구축하고, 상기 응용프로그램 패키지를 참조하여 가상환경위에서 실행될 수 있는 응용프로그램 리스트를 출력시키고, 사용자가 상기 리스트를 참조하여 소정의 응용프로그램을 선택하는 경우 상기 선택된 응용프로그램을 상기 가상환경에 로드 시켜 소정의 데이터 작업을 수행한 후, 상기 운영체제로부터 응용프로그램 종료 신호가 입력되면, 상기 응용프로그램을 종료한 후 메모리에 구축된 가상환경 및 가상 환경수단을 제거하여 응용프로그램을 종료시키는 것을 특징으로 하는 휴대용 디지털 저장장치The virtual environment means is loaded into the memory of the host computer and then activated to build the virtual environment, and output a list of application programs that can be executed on the virtual environment with reference to the application package. In the case of selecting a predetermined application program, after loading the selected application program into the virtual environment and performing a predetermined data operation, if an application termination signal is input from the operating system, the application program is terminated and built in a memory. Portable digital storage device, characterized in that to terminate the application by removing the virtual environment and the virtual environment means 제 1 항에 있어서, 상기 응용프로그램 패키지는,The method of claim 1, wherein the application program package, 상기 호스트 컴퓨터의 운영체제에 의해 인식될 수 있는 사용 가능 기간 및 사용자 인증정보를 포함하여 구성된 것을 특징으로 하는 휴대용 디지털 저장장치. And a usable period and user authentication information which can be recognized by the operating system of the host computer. 제 1 항에 있어서, 상기 응용프로그램 패키지는,The method of claim 1, wherein the application program package, 상기 가상환경 구동수단에 의해 스트리밍 형태로 상기 호스트 컴퓨터의 메모리에 실시간 로드 되는 것을 특징으로 하는 휴대용 디지털 저장장치. Portable virtual storage device characterized in that the virtual environment is loaded in real time into the memory of the host computer in a streaming form by the driving means. 운영체제가 설치된 호스트 컴퓨터와 유/무선 데이터통신 수단에 의해 연결된 휴대용 디지털 저장장치를 사용하여 상기 호스트 컴퓨터에 설치되지 않은 소정의 응용프로그램을 상기 휴대용 디지털 저장장치에 저장된 응용프로그램 패키지를 참조하여 가상환경 위에서 구동시키는 방법에 있어서, By 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 predetermined application program not installed on the host computer is referred to on an application package stored in the portable digital storage device. In the driving method, 상기 호스트 컴퓨터에 소정의 응용프로그램이 실행될 수 있는 가상환경을 메모리에 구축하는 단계;Establishing 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 and the virtual environment from the host computer after the application is terminated on the host computer. 를 포함하여 구성되며,It is configured to include, 상기 호스트 컴퓨터의 메모리에 가상환경을 구축하는 단계는,The step of establishing a virtual environment in the memory of the host computer, 가상 환경수단을 구비한 휴대용 디지털 저장장치를 유무선 데이터 통신 방식을 통해 상기 호스트 컴퓨터에 통신 접속시키는 단계;Communicating a portable digital storage device having a virtual environment means with the host computer through a wired or wireless data communication method; 상기 통신 접속된 호스트 컴퓨터의 메모리에 휴대용 디지털 저장장치의 자동실행수단이 로드 되어 실행되는 단계; 및Loading and executing the automatic execution means of the portable digital storage device in the memory of the communication-connected host computer; And 상기 실행된 자동실행수단이 호스트 컴퓨터의 메모리에 상기 휴대용 디지털 저장장치의 가상환경 구동수단을 로드 하여 실행하는 단계Executing the automatic execution means by loading the virtual environment driving means of the portable digital storage device into a memory of a host computer; 를 포함하여 구성된 것을 특징으로 하는 응용프로그램 구동방법. Application program driving method comprising a. 제 8 항에 있어서,      The method of claim 8, 상기 가상환경 위에서 응용프로그램을 구동하는 단계 이후에, 상기 가상환경위에 구축된 소정의 응용프로그램에 대한 불법 복제를 방지하는 단계     After the step of running an application program on the virtual environment, preventing illegal copying of a predetermined application program built on the virtual environment 를 더 포함하여 구성된 것을 특징으로 하는 응용프로그램 구동방법.     Application program driving method comprising a further configured. 제 8 항에 있어서,The method of claim 8, 상기 호스트 컴퓨터의 메모리에 가상환경을 구축하는 단계는,The step of establishing a virtual environment in the memory of the host computer, 상기 실행된 가상환경 구동수단이 상기 휴대용 디지털 저장장치에 저장되어 있는 응용프로그램 패키지의 종류 및 개수를 분석하는 단계; 및Analyzing, by the executed virtual environment driving means, the type and number of application program packages stored in the portable digital storage device; And 상기 분석 결과에 따라 응용프로그램 실행 링크를 표시하여 실행 가능한 응용프로그램 리스트를 상기 호스트 컴퓨터에 디스플레이 시키는 단계Displaying a list of executable applications on the host computer by displaying an application program execution link according to the analysis result 중에서 적어도 하나를 더 포함하여 구성된 것을 특징으로 하는 응용프로그램 구동방법. Application program driving method characterized in that it further comprises at least one of. 제 8 항에 있어서,The method of claim 8, 상기 호스트 컴퓨터의 메모리에 구축된 가상환경 위에서 소정의 응용프로그램을 구동하는 단계는,Running a predetermined application on a virtual environment built in the memory of the host computer, 상기 실행 가능한 응용프로그램 리스트를 참조하여 실행하고자 하는 응용프로그램을 선택하는 단계;Selecting an application to be executed by referring to the executable application list; 상기 호스트 컴퓨터에서 사용자가 선택한 응용프로그램이 상기 호스트 컴퓨터에 설치된 응용프로그램인지 또는 가상환경 구동수단이 가상환경위에서 제공하는 응용프로그램인지를 판단하는 단계;Determining whether the application program selected by the user in the host computer is an application program installed in the host computer or whether the virtual environment driving means is an application program provided on the virtual environment; 상기 사용자가 선택한 응용프로그램이 상기 호스트 컴퓨터의 데이터저장부에 설치된 응용프로그램인 경우, 상기 호스트 컴퓨터의 운영체제가 실제 환경에서 설치된 응용프로그램을 실행시키는 단계; 및If the application program selected by the user is an application program installed in the data storage unit of the host computer, executing the application program installed in an actual environment by the operating system of the host computer; And 상기 사용자가 선택한 응용프로그램이 가상환경위에서 제공하는 응용프로그램인 경우, 상기 가상환경 구동수단이 운영체제상에 구축된 가상환경위에서 응용프로그램파일을 실행시키는 단계If the application program selected by the user is an application program provided on a virtual environment, executing the application file on the virtual environment built on the operating system by the virtual environment driving means; 를 포함하여 구성되는 것을 특징으로 하는 응용프로그램 구동방법. Application program driving method comprising a. 제 11 항에 있어서,The method of claim 11, 상기 가상환경위에서 응용프로그램파일을 실행시키는 단계는,Running the application file on the virtual environment, 상기 호스트 컴퓨터의 메모리에 로드 된 가상환경 구동수단이 유무선 데이터 통신을 통하여 상기 휴대용 디지털 저장장치로부터 가상환경수단을 전송 받아 상기 호스트 컴퓨터의 메모리에 로드 시키는 단계;The virtual environment driving means loaded in the memory of the host computer receiving the virtual environment means from the portable digital storage device via wired / wireless data communication and loading the virtual environment means into the memory of the host computer; 상기 가상환경 구동수단이 상기 가상환경수단을 제어하여 상기 호스트 컴퓨터의 메모리 영역에 소정의 응용프로그램이 동작할 수 있는 가상환경을 구축시키는 단계; The virtual environment driving means controlling the virtual environment means to establish a virtual environment in which a predetermined application program can operate in a memory area of the host computer; 상기 가상환경 구동수단이 상기 가상환경수단을 제어하여 상기 사용자가 선택한 응용프로그램에 저장된 사용가능기간 및 사용자인증정보에 의해 해당 응용프로그램의 사용가능 여부를 판단하는 단계;Controlling, by the virtual environment driving means, the virtual environment means to determine whether the corresponding application program can be used based on the available period and user authentication information stored in the application program selected by the user; 상기 응용프로그램에 대한 사용자 인증이 실패한 경우, 사용자가 선택한 응용프로그램을 사용할 수 없다는 경고 메시지를 표시하는 동시에 응용프로그램의 구동을 중지시키는 단계; 및If user authentication for the application fails, displaying a warning message indicating that the application selected by the user is not available and stopping the running of the application; And 상기 응용프로그램에 대한 사용자 인증이 성공한 경우, 사용자가 선택한 응용프로그램을 구동시키는 단계When the user authentication for the application is successful, driving the application selected by the user 를 포함하여 구성되는 것을 특징으로 하는 응용프로그램 구동방법. Application program driving method comprising a. 제 12 항에 있어서,The method of claim 12, 사용자가 선택한 응용프로그램을 구동시키는 단계는,The step of running the application selected by the user is 상기 휴대용 디지털 저장장치에 저장된 응용프로그램 패키지를 유무선 데이터 통신을 통하여 스트림 데이터 형태로 실시간 전송 받은 후 이를 상기 호스트 컴퓨터의 메모리에 로드 시키는 단계; 및Receiving an application program package stored in the portable digital storage device in real time in the form of stream data through wired / wireless data communication, and then loading the package into the memory of the host computer; And 상기 호스트컴퓨터의 메모리에 로드 된 응용프로그램 패키지를 구동시켜 사용자가 선택한 응용프로그램을 상기 가상환경위에서 실행시키는 단계Executing an application program selected by a user on the virtual environment by driving an application package loaded in the memory of the host computer; 를 포함하여 구성되는 것을 특징으로 하는 응용프로그램 구동방법. Application program driving method comprising a. 제 8 항에 있어서,The method of claim 8, 상기 호스트 컴퓨터의 메모리로부터 응용프로그램과 가상환경을 제거하는 단계는,Removing the application and the virtual environment from the memory of the host computer, 상기 호스트컴퓨터에 휴대용 디지털 저장장치가 마운트 되어 있는지 주기적으로 확인하는 단계;Periodically checking whether a portable digital storage device is mounted in the host computer; 상기 휴대용 디지털 저장장치가 마운트 되어 있다면, 사용자 또는 상기 호스트 컴퓨터의 운영체제가 응용프로그램을 종료 할 때까지 기다리는 단계;If the portable digital storage device is mounted, waiting for a user or operating system of the host computer to terminate an application program; 상기 휴대용 디지털 저장장치가 마운트 되어 있지 않다면, 상기 호스트 컴퓨터의 가상환경위에서 실행중인 모든 응용프로그램을 종료하는 단계If the portable digital storage device is not mounted, terminating all applications running on the virtual environment of the host computer 를 포함하여 구성되는 것을 특징으로 하는 응용프로그램 구동방법.Application program driving method comprising a. 제 14항에 있어서,The method of claim 14, 상기 응용프로그램을 종료할 때까지 기다리는 단계는,Waiting for the application to terminate, 상기 호스트컴퓨터의 가상환경위에서 실행중인 응용프로그램의 사용을 사용자 또는 상기 호스트 컴퓨터의 운영체제가 종료하는 단계;Terminating by the user or the operating system of the host computer the use of an application program running on the virtual environment of the host computer; 상기 종료된 응용프로그램 이외에 상기 호스트 컴퓨터의 가상환경위에서 실행중인 응용프로그램이 있는지 확인하는 단계; 및Checking whether there is an application program running on the virtual environment of the host computer in addition to the terminated application program; And 상기 호스트 컴퓨터의 가상환경위에서 실행중인 응용프로그램이 없는 경우 가상환경을 제거하는 단계If there is no application running on the virtual environment of the host computer, removing the virtual environment 를 포함하여 구성되는 것을 특징으로 하는 응용프로그램 구동방법. Application program driving method comprising a. 제 15 항에 있어서,The method of claim 15, 상기 호스트 컴퓨터의 메모리로부터 가상환경을 제거하는 단계는,Removing the virtual environment from the memory of the host computer, 상기 호스트 컴퓨터의 메모리에서 가상 환경수단을 제어하여 가상환경을 제거하는 단계; 및Controlling the virtual environment means in the memory of the host computer to remove the virtual environment; And 상기 호스트 컴퓨터의 메모리에서 상기 가상환경수단을 제거하고 상기 가상환경 구동수단을 종료시키는 단계Removing the virtual environment means from the memory of the host computer and terminating the virtual environment driving means; 를 포함하여 구성되는 것을 특징으로 하는 응용프로그램 구동방법.Application program driving method comprising a. 제 9 항에 있어서,The method of claim 9, 상기 가상환경위에 구축된 응용프로그램에 대한 불법 복제를 방지하는 단계는,Preventing illegal duplication of the application program built on the virtual environment, 상기 호스트 컴퓨터의 운영체제위에 소정의 응용프로그램이 로드 되어 구동되면, 상기 호스트 컴퓨터의 메모리에 구성된 가상환경의 데이터 보호수단은 상기 구동된 소정의 응용프로그램이 가상환경위에 구성된 응용프로그램에 대한 복사, 삭제 및 변형 등을 수행하는 지 여부를 판단하는 단계;When a predetermined application program is loaded and driven on an operating system of the host computer, data protection means of a virtual environment configured in the memory of the host computer may copy, delete, and delete an application program configured on the virtual environment. Determining whether to perform deformation or the like; 상기 단계의 판단 결과 상기 가상환경위에 구축된 응용프로그램에 대한 복사, 삭제 및 변형 등을 수행하지 않는다면, 상기 데이터 보호수단은 가상환경에 로드 되어 구동하는 응용프로그램이 불법 복제용 응용프로그램이 아니라는 정보를 가상환경에 전달하는 단계;As a result of the determination of the step, if copying, deleting, or modifying of the application program built on the virtual environment is not performed, the data protection means may provide information that the application program loaded and run in the virtual environment is not an illegal copy application program. Delivering to a virtual environment; 상기 단계의 판단 결과 상기 가상환경위에 구축된 응용프로그램에 대한 복사, 삭제 및 변형 등을 수행한다면, 상기 데이터 보호수단은 상기 호스트 컴퓨터의 운영체제위에 로드 되어 구동되는 응용프로그램의 파일이름 및 경로를 추적하여 상기 구동된 응용프로그램이 가상환경 위에 구축된 응용프로그램인지 여부를 판단하는 단계;As a result of the determination of the step, if copying, deleting, or modifying the application program built on the virtual environment is performed, the data protection means tracks the file name and path of the application program loaded and driven on the operating system of the host computer. Determining whether the driven application program is an application program built on a virtual environment; 상기 단계의 판단 결과 상기 가상환경위에 구축된 응용프로그램이 아니면, 상기 가상환경수단이 상기 가상환경위에 구축된 응용프로그램의 파일 복사, 삭제 및 변형이 불가능하다는 메시지를 출력하는 단계; 및If the determination result of the step is not an application program built on the virtual environment, the virtual environment means outputting a message indicating that file copying, deletion and modification of the application program built on the virtual environment is impossible; And 상기 단계의 판단 결과 상기 가상환경위에 구축된 응용프로그램 이면, 상기 가상 환경수단이 상기 가상환경위에 구축된 응용프로그램의 파일 복사, 변형 및 삭제 등의 동작을 수행하는 단계If the determination result of the step is an application program built on the virtual environment, the virtual environment means performing operations such as copying, modifying, and deleting files of the application program built on the virtual environment; 를 포함하여 구성되는 것을 특징으로 하는 응용프로그램 구동방법.Application program driving method comprising a.
KR1020040101477A 2004-12-04 2004-12-04 A Portable Data Storage System and Method to Run Application Programs on a Host Computer System KR100654675B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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