KR101489301B1 - Virtual environment system and operating method of the system - Google Patents

Virtual environment system and operating method of the system Download PDF

Info

Publication number
KR101489301B1
KR101489301B1 KR20080025900A KR20080025900A KR101489301B1 KR 101489301 B1 KR101489301 B1 KR 101489301B1 KR 20080025900 A KR20080025900 A KR 20080025900A KR 20080025900 A KR20080025900 A KR 20080025900A KR 101489301 B1 KR101489301 B1 KR 101489301B1
Authority
KR
South Korea
Prior art keywords
virtual
operating system
environment
host
management unit
Prior art date
Application number
KR20080025900A
Other languages
Korean (ko)
Other versions
KR20090100614A (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 KR20080025900A priority Critical patent/KR101489301B1/en
Priority to US12/207,677 priority patent/US10007541B2/en
Publication of KR20090100614A publication Critical patent/KR20090100614A/en
Application granted granted Critical
Publication of KR101489301B1 publication Critical patent/KR101489301B1/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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram

Abstract

가상환경 시스템 및 그의 구동방법이 개시된다. 가상 운영체제부는 이동식 저장매체에 설치된 가상 운영체제가 호스트 컴퓨터에 설치된 호스트 운영체제에서 운영되도록 하며, 가상 운영체제에 포함된 가상 리소스는 호스트 운영체제에 어태치되어(attachment) 가상 운영체제에서 동작하는 가상 프로세스가 가상 리소스를 사용하도록 중재(arbitration)하며, 사용자 인터페이스부는 사용자가 가상 운영체제에서 제공하는 가상환경을 통해 가상 프로세스를 사용하도록 가상 데스크탑 화면을 제공한다.A virtual environment system and a driving method thereof are disclosed. The virtual operating system allows a virtual operating system installed on a removable storage medium to be operated in a host operating system installed in a host computer. A virtual resource included in a virtual operating system is attached to a host operating system, The user interface unit provides a virtual desktop screen so that the user can use the virtual process through the virtual environment provided by the virtual operating system.

가상환경, 가상 OS Virtual environment, virtual OS

Description

가상환경 시스템 및 그의 구동방법{Virtual environment system and operating method of the system}TECHNICAL FIELD The present invention relates to a virtual environment system and a method of operating the same,

본 발명은 가상환경 시스템 및 그의 구동방법에 관한 것으로, 더욱 상세하게는 이동식 저장매체에 개인 컴퓨팅 환경을 저장하여 모든 컴퓨터에서 개인 컴퓨팅 환경을 설치하지 않고 사용할 수 있도록 하는 가상환경 시스템 및 그의 구동방법에 관한 것이다.The present invention relates to a virtual environment system and a method of driving the same, and more particularly, to a virtual environment system and a method of driving the same, which enable a personal computing environment to be stored in a removable storage medium, .

최근, 사용자의 컴퓨터에 설치된 응용 프로그램 또는 운영체제를 다른 컴퓨터에서도 사용가능하도록 하는 기술이 활발히 연구되는 추세이다. 예를 들어, Process Migration 기술, 시스템 가상화 기반의 VM(Virtual Machine) Migration 기술, 서버관리자에 의한 패키징 기술 등이 있다.In recent years, technology for making an application program or an operating system installed on a user's computer available on other computers has been actively studied. For example, there are Process Migration technology, VM (Virtual Machine) migration technology based on system virtualization, and packaging technology by server administrator.

Process Migration 기술은 응용 프로그램 또는 운영체제의 이동성 기능을 제공한다. 즉, 컴퓨터에 설치된 응용 프로그램이 이동성 저장매체에 저장된 후 다른 컴퓨터에도 저장되도록 응용 프로그램의 소스 코드를 수정하는 것이다. 그러나, 이는 기존의 응용 프로그램이나 응용체제의 소스코드를 수정하여 별도의 버젼을 가지도록 Rebuild하여야 하므로 비효율적이다.Process Migration technology provides application or operating system mobility. That is, the application code of the application is modified so that the application program installed on the computer is stored in the portable storage medium and then stored in another computer. However, this is inefficient because the source code of the existing application program or application system must be modified to have a separate version.

또한, 시스템 가상화 기반의 VM Migration 기술은 사용자의 컴퓨터 작업환경을 모두 이동하는 것으로서, 이를 위해서는 GB 단위의 저장공간이 필요하며, 부팅시간 및 응용프로그램 실행 시 성능저하가 발생한다.In addition, VM migration technology based on system virtualization moves all of the user's computer work environment, which requires GB of storage space, and causes performance degradation during boot time and application execution.

또한, 서버 관리자에 의한 패키징 기술은 관리자가 서버에 하나 이상의 응용프로그램과 운영체제를 패키징하고, 다수의 사용자가 패키징된 응용프로그램을 개별 컴퓨터에 스트리밍 방식으로 이동함으로써, 사용자가 설치과정없이 응용프로그램과 운영체제를 사용가능하도록 한다. 그러나, 이는 일반 사용자가 패키징할 수 없으며, 전문 지식을 가진 관리자만이 패키징할 수 있다는 한계가 있다.In addition, the packaging technique by the server manager allows an administrator to package one or more application programs and an operating system on a server and move a packaged application program to an individual computer in a streaming manner, . However, this is a limitation that ordinary users can not package, and only an administrator having expertise can package it.

따라서, 본 발명의 목적은 가상화 환경에서 사용자의 개인 컴퓨팅 환경을 다른 컴퓨터에 새로 설치하거나 설정하는 과정없이 사용할 수 있도록 하는 가상환경 시스템 및 그의 구동방법을 제공하고자 하는 데 있다.Accordingly, it is an object of the present invention to provide a virtual environment system and a method of operating the virtual environment system that allow a user to use a personal computing environment of a user in a virtualized environment without newly installing or setting the personal computer environment in another computer.

상기 목적을 달성하기 위한 본 발명에 따른 가상환경 시스템은, 이동식 저장매체에 설치된 가상 운영체제가 호스트 컴퓨터에 설치된 호스트 운영체제에서 운영되도록 하며, 상기 가상 운영체제에 포함된 가상 리소스는 상기 호스트 운영체제에 어태치되어(attachment) 상기 가상 운영체제에서 동작하는 가상 프로세스가 상기 가상 리소스를 사용하도록 중재(arbitration)하는 가상 운영체제부; 및 사용자가 상기 가상 운영체제에서 제공하는 가상환경을 통해 상기 가상 프로세스를 사용하도 록 가상 데스크탑 화면을 제공하는 사용자 인터페이스부;를 포함한다.According to an aspect of the present invention, there is provided a virtual environment system, wherein a virtual operating system installed in a removable storage medium is operated in a host operating system installed in a host computer, and a virtual resource included in the virtual operating system is attached to the host operating system a virtual operating system unit arbitrating a virtual process operating in the virtual operating system to use the virtual resource; And a user interface unit for providing a virtual desktop screen so that the user can use the virtual process through a virtual environment provided by the virtual operating system.

상기 호스트 컴퓨터에서 상기 가상 운영체제를 통해 상기 가상 프로세스가 동작하도록 상기 가상 운영체제의 시작 및 종료를 관리하는 가상화 관리부;를 더 포함한다.And a virtualization management unit managing the start and the end of the virtual operating system so that the virtual processor operates in the host computer through the virtual operating system.

상기 사용자 인터페이스부에서 제공하는 로그인 화면을 통해 상기 가상환경에 로그인되면, 상기 가상 리소스가 상기 호스트 운영체제에 어태치되어 상기 가상환경이 시작되도록 하는 가상화 관리부;를 더 포함한다.And a virtualization manager for allowing the virtual resource to be attached to the host operating system when the virtual environment is accessed through the login screen provided by the user interface unit to start the virtual environment.

상기 가상화 관리부는 상기 가상환경 종료시, 상기 가상환경에서 동작하는 상기 가상 프로세스를 통해 생성되는 파일 및 상기 가상환경에서 다운로딩되는 프로그램이 상기 이동성 저장매체에 저장되도록 한다.The virtualization management unit allows a file created through the virtual process operating in the virtual environment and a program downloaded in the virtual environment to be stored in the portable storage medium at the end of the virtual environment.

상기 가상화 관리부는 상기 생성되는 파일 및 상기 다운로딩되는 응용 프로그램이 상기 호스트 컴퓨터 및 상기 호스트 운영체제에 잔재(殘在)하지 않도록 처리한다.The virtualization management unit processes the generated file and the downloaded application program so that they do not remain in the host computer and the host operating system.

상기 이동성 저장매체는 휴대용 저장매체 또는 사이버폴더(Cyber Folder)이다.The portable storage medium is a portable storage medium or a cyber folder.

상기 사용자 인터페이스부는 상기 가상 데스크탑 화면에 상기 호스트 운영체제의 사용환경과 상기 가상 운영체제의 사용환경 간의 전환을 위한 아이콘을 표시한다.The user interface unit displays an icon for switching between the use environment of the host operating system and the use environment of the virtual operating system on the virtual desktop screen.

상기 가상 운영체제부는, 입력되는 시스템 호출이 상기 가상 프로세스로부터 발생하였는지를 판단하는 프로세스 관리부; 및 상기 시스템 호출이 상기 가상 프로 세스로부터 발생한 것으로 판단되면, 상기 시스템 호출이 상기 가상 운영체제에서 제공하는 상기 가상 리소스에 접근하도록 하는 가상 리소스 관리부;를 포함한다.Wherein the virtual operating system unit comprises: a process management unit for determining whether an input system call is generated from the virtual process; And a virtual resource manager for allowing the system call to access the virtual resource provided by the virtual operating system when it is determined that the system call originated from the virtual process.

상기 가상 리소스 관리부는, 상기 시스템 호출이 컨피규레이션 접근 요청인 경우, 상기 호스트 운영체제에 어태치된 상기 가상 운영체제의 가상 컨피규레이션 데이터에 상기 시스템 호출이 접근하도록 하는 가상 컨피규레이션 관리부; 상기 시스템 호출이 파일 I/O 요청인 경우, 상기 이동성 저장매체에 저장된 파일에 접근하도록 하는 가상 파일 I/O 관리부; 및 상기 시스템 호출이 DLL 요청인 경우, 상기 호스트 운영체제에 어태치된 상기 가상 운영체제의 가상 DLL(Dynamic Link Libray)이 사용되도록 하는 가상 DLL 관리부;를 포함한다.Wherein the virtual resource management unit allows the system call to access virtual configuration data of the virtual operating system attached to the host operating system when the system call is a configuration access request; A virtual file I / O manager for accessing a file stored in the portable storage medium when the system call is a file I / O request; And a virtual DLL management unit for allowing a virtual DLL of the virtual operating system attached to the host operating system to be used when the system call is a DLL request.

상기 가상 리소스 관리부는, 상기 시스템 호출이 서비스 프로그램의 사용 요청인 경우, 상기 가상 프로세스를 위해 동작하는 가상 서비스 프로그램에 의해 실제 서비스가 실행되도록 상기 가상 서비스 프로그램을 제공하는 가상 서비스 관리부;를 더 포함한다.The virtual resource management unit further includes a virtual service management unit for providing the virtual service program such that the actual service is executed by the virtual service program operating for the virtual process when the system call is a use request of the service program .

상기 가상 리소스 관리부는, 사용자가 설정한 사용자 컴퓨팅 환경을 상기 가상화 환경에서 제공하는 가상 데스크탑 관리부;를 더 포함하며, 상기 사용자 인터페이스부는 상기 사용자 컴퓨팅 환경이 반영되는 가상 데스크탑 화면을 생성한다.The virtual resource management unit may further include a virtual desktop management unit that provides the user computing environment set by the user in the virtualization environment, and the user interface unit generates a virtual desktop screen on which the user computing environment is reflected.

상기 가상 리소스는, 상기 호스트 운영체제 및 상기 가상 운영체제가 윈도우즈 계열인 경우, 레지스트리 데이터, 파일 입출력 정보 및 DLL(Dynamic Link Libray) 정보를 포함하며, 상기 레지스트리 데이터는 상기 호스트 운영체제의 레지스터에 어태치된다.The virtual resource includes registry data, file input / output information, and dynamic link library (DLL) information when the host operating system and the virtual operating system are Windows series, and the registry data is attached to a register of the host operating system.

한편, 상기 목적을 달성하기 위한 본 발명에 따른 가상환경 시스템의 구동방법은, 이동식 저장매체와 호스트 컴퓨터가 통신가능한 상태가 되면, 상기 이동식 저장매체에 설치된 가상 운영체제의 가상 리소스가 상기 호스트 운영체제에 어태치(attachment)되는 단계; 사용자가 상기 가상 운영체제에서 제공하는 가상환경을 통해 가상 프로세스를 사용하도록 가상 데스크탑 화면을 제공하는 단계; 상기 이동식 저장매체에 설치된 가상 프로세스로부터 시스템 호출이 발생하면, 상기 가상 운영체제의 가상 리소스를 사용하도록 중재(arbitration)하는 단계; 및 상기 가상 리소스를 사용하여 상기 시스템 호출에 대응하는 가상화 처리를 수행하는 단계;를 포함한다.According to another aspect of the present invention, there is provided a method for operating a virtual environment system, the method comprising: when a removable storage medium and a host computer are in a communicable state, a virtual resource of a virtual operating system installed in the removable storage medium, A step of attaching the article; Providing a virtual desktop screen for a user to use a virtual process through a virtual environment provided by the virtual operating system; Arbitrating to use a virtual resource of the virtual operating system when a system call is made from a virtual process installed on the removable storage medium; And performing virtualization processing corresponding to the system call using the virtual resource.

상기 어태치되는 단계는, 상기 사용자가 상기 가상 운영체제에 접속하도록 로그인 화면을 제공하는 단계; 상기 로그인 화면을 통해 상기 가상환경에 로그인하는 단계; 및 상기 가상 리소스가 상기 호스트 운영체제에 어태치되어 상기 가상환경이 시작되는 단계;를 포함한다.Wherein the step of attaching comprises: providing a login screen to allow the user to access the virtual operating system; Logging in to the virtual environment via the login screen; And the virtual resource is attached to the host operating system to start the virtual environment.

상기 가상환경의 종료가 요청되면, 상기 가상환경에서 동작하는 상기 가상 프로세스를 통해 생성되는 파일 및 상기 가상환경에서 다운로딩되는 응용 프로그램이 상기 이동성 저장매체에 저장되는 단계;를 더 포함한다.And a file created through the virtual process operating in the virtual environment and an application program downloaded in the virtual environment are stored in the portable storage medium when the termination of the virtual environment is requested.

상기 중재하는 단계는, 입력되는 시스템 호출이 상기 가상 프로세스로부터 발생하였는지를 판단하는 단계; 및 상기 시스템 호출이 상기 가상 프로세스로부터 발생한 것으로 판단되면, 상기 시스템 호출이 상기 가상 운영체제에서 제공하는 상기 가상 리소스에 접근하도록 처리하는 단계;를 포함한다.Wherein the arbitrating step comprises: determining whether an incoming system call has originated from the virtual process; And processing the system call to access the virtual resource provided by the virtual operating system if it is determined that the system call originated from the virtual process.

상기 처리하는 단계는, 상기 시스템 호출이 컨피규레이션 접근 요청인 경우, 상기 어태치된 가상 운영체제의 가상 컨피규레이션 데이터에 접근하는 단계; 상기 시스템 호출이 파일 I/O 요청인 경우, 상기 이동성 저장매체에 저장된 파일에 접근하도록 경로를 제어하는 단계; 상기 시스템 호출이 DLL 요청인 경우, 상기 어태치된 가상 운영체제의 가상 DLL(Dynamic Link Libray)이 사용되도록 처리하는 단계;를 포함한다.Wherein the processing comprises: if the system call is a configuration access request, accessing virtual configuration data of the attached virtual operating system; Controlling a path to access a file stored on the portable storage medium when the system call is a file I / O request; And processing a virtual DLL (Dynamic Link Libray) of the attached virtual operating system to be used when the system call is a DLL request.

상기 처리하는 단계는, 상기 시스템 호출이 서비스 프로그램의 사용 요청인 경우, 상기 가상 프로세스를 위해 동작하는 가상 서비스 프로그램에 의해 실제 서비스가 실행되도록 상기 가상 서비스 프로그램을 제공하는 단계;를 더 포함한다.And the processing step further includes the step of providing the virtual service program such that the actual service is executed by the virtual service program operating for the virtual process when the system call is a use request of the service program.

본 발명에 따른 가상환경 시스템 및 그의 구동방법에 의하면, 사용자는 이동식 저장매체에 가상 운영체제와 다양한 프로그램, 파일 등을 포함하는 개인 컴퓨팅 환경을 설정 또는 설치한 후, 어느 컴퓨터에서나 가상화 환경으로 진입하여 상기 프로그램, 파일 등을 다시 설치하지 않고 사용하는 것이 가능하다. 또한, 가상화 환경에서 작업한 내용들은 이동식 저장매체에 저장하고, 컴퓨터에는 저장되지 않도록 함으로써 개인정보, 사생활 등을 보호하는 것이 가능하다.According to the virtual environment system and its driving method of the present invention, a user sets or installs a personal computing environment including a virtual operating system and various programs and files on a removable storage medium, It is possible to use programs and files without reinstalling them. In addition, it is possible to protect personal information, privacy, and the like by storing work contents in a virtualized environment on a removable storage medium and preventing them from being stored in a computer.

또한, 본 발명은 이동식 저장매체에 설정 또는 설치된 개인 컴퓨팅 환경을 다른 컴퓨터 또는 다른 저장매체에 백업하는 것이 가능하며, 이로써 이동식 저장매체의 분실이나 고장시에도 대처할 수 있도록 한다.In addition, the present invention is capable of backing up a personal computing environment set up or installed in a removable storage medium to another computer or other storage medium, thereby enabling to cope with the loss or failure of the removable storage medium.

이하 첨부된 도면들을 참조하여 본 발명의 일 실시예를 보다 상세하게 설명한다. 다만, 본 발명을 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

도 1은 본 발명의 바람직한 실시예에 따른 가상환경 시스템에 대응하는 가상환경 레이어를 도시한 도면이다.1 is a diagram illustrating a virtual environment layer corresponding to a virtual environment system according to a preferred embodiment of the present invention.

도 1을 참조하면 본 발명의 가상환경 시스템에 대응하는 가상환경 레이어는 이동성 저장매체의 레이어로서, 가상화 환경에서 동작하는 응용 프로그램이 사용할 가상 리소스를 제공한다. 가상환경 레이어는, 가상 운영체제(Operating System : OS)가 설치되는 가상 OS 레이어, 가상 OS 상에서 사용될 데스크탑 화면을 제공하는 사용자 인터페이스(User Interface : UI) 레이어 및 가상 OS와 UI의 상태를 관리하는 관리 레이어를 포함한다. Referring to FIG. 1, a virtual environment layer corresponding to the virtual environment system of the present invention is a layer of a mobility storage medium, and provides a virtual resource to be used by an application program operating in a virtual environment. The virtual environment layer includes a virtual OS layer in which a virtual operating system (OS) is installed, a user interface (UI) layer for providing a desktop screen to be used on the virtual OS, a management layer .

가상환경 레이어는 OS의 가상화를 기반으로 한 SoftWare Mobility를 제공한다. SoftWare Mobility는 이동성 저장매체에 설치된 가상 OS에 의해, 사용자가 개인 컴퓨팅 환경을 어느 컴퓨터에서나 사용할 수 있도록 한다. 즉, SoftWare Mobility는 사용자가 이동성 저장매체에 설치된 가상 OS 상에서 프로그램, 파일, 데스크탑 환경 등을 이동성 저장매체에 저장하면, 다른 컴퓨터에서 이동성 저장매체의 가상 OS를 통해 이동성 저장매체에 저장된 프로그램, 파일, 데스크탑 환경등을 사용할 수 있도록 한다. The virtual environment layer provides SoftWare Mobility based on OS virtualization. SoftWare Mobility allows users to use their personal computing environment on any computer by virtue of a virtual OS installed on a mobility storage medium. In other words, SoftWare Mobility stores programs, files, desktop environments, and the like on a virtual OS installed on a mobility storage medium, and stores programs, files, and desktop environments stored on a mobility storage medium through a virtual OS of the mobility storage medium, Desktop environment and so on.

도 2는 가상화 환경에서 사용자가 원하는 어플리케이션이 이동성 저장매체에 설치된 후, 호스트 컴퓨터의 계층을 도시한 도면이다. 2 is a diagram illustrating a hierarchy of a host computer after an application desired by a user is installed in a mobility storage medium in a virtualized environment.

도 2를 참조하면, 사용자는 호스트 컴퓨터에서 이동성 저장매체에 설치된 가상 OS를 수행한 후, 웹서버로부터 원하는 파일 또는 프로그램을 다운로딩하여 이동성 저장매체에 설치하거나 또는 CD 드라이브와 같은 드라이브를 통해 원하는 파일, 프로그램등을 입력하여 이동성 저장매체에 설치한다. 따라서, 이동성 저장매체의 가상화 환경은 가상 OS 레이어, UI 레이어, 가상화 환경의 상태를 관리하는 관리레이어 뿐만 아니라 가상화 환경에서 동작하는 프로그램, 즉, 가상 프로세스 레이어를 포함한다. 2, a user executes a virtual OS installed on a portable storage medium in a host computer, downloads a desired file or program from a web server and installs the desired file or program on a portable storage medium, , Programs, and the like are input to the portable storage medium. Accordingly, the virtualization environment of the mobility storage medium includes a virtual OS layer, a UI layer, a management layer managing the state of the virtualization environment, and a program operating in a virtualization environment, i.e., a virtual process layer.

도 2에 도시된 호스트 컴퓨터의 계층은 하드웨어 레이어, 호스트 운영체제(Operating System: OS) 레이어, 호스트 어플리케이션 레이어 및 가상환경 레이어를 포함한다. 하드웨어 레이어에는 하드 디스크 드라이브, 그래픽 카드, ROM, RAM 등의 하드웨어가 위치한다. 호스트 OS 레이어는 윈도우, 맥, 리눅스, 유닉스 등과 같은 OS를 이용하여 호스트 컴퓨터에 설치된 하드웨어를 제어하고 응용 프로그램을 관리한다. 호스트 어플리케이션 레이어는 응용 프로그램을 통해 사용자로부터 데이터를 입력받거나 사용자에게 정보를 제공한다. The layer of the host computer shown in FIG. 2 includes a hardware layer, a host operating system (OS) layer, a host application layer, and a virtual environment layer. The hardware layer includes hardware such as a hard disk drive, a graphics card, a ROM, and a RAM. The host OS layer controls the hardware installed on the host computer and manages the application programs using an OS such as Windows, Mac, Linux, or Unix. The host application layer receives data from the user through the application program or provides information to the user.

호스트 어플리케이션 레이어에서 발생하는 시스템 호출은 호스트 OS 레이어의 호스트 OS에게 시스템 호출에 대응하는 접근을 요청한다(①~②). 반면, 가상 프로세스 레이어에서 발생하는 시스템 호출은 가상 OS 레이어에서 가상화 작업이 수행된 후 호스트 OS에게 시스템 호출에 대응하는 접근을 요청한다(③→④→⑤→⑥).The system call originating from the host application layer requests access to the host OS of the host OS layer in response to the system call (1) to (2). On the other hand, the system call that occurs in the virtual process layer requests the host OS to access the system call after the virtualization operation is performed in the virtual OS layer (③ → ④ → ⑤ → ⑥).

도 3은 본 발명의 바람직한 실시예에 따른 가상환경 시스템을 도시한 도면이다. 먼저, 상술한 바와 같이, 가상환경 시스템은 사용자에게 가상환경을 제공하기 위한 가상 OS와 가상환경에 필요한 그래픽 유저 인터페이스(Graphic User Interface : GUI)화면을 제공하며, 이동성 저장매체에 설치된다. 이동성 저장매체는 USB(Universal Serial Bus) 메모리, 플래쉬 롬과 같은 휴대용 저장매체 또는 웹상에 마련되는 사이버 폴더가 될 수 있다.3 is a diagram illustrating a virtual environment system according to a preferred embodiment of the present invention. First, as described above, the virtual environment system provides a graphical user interface (GUI) screen required for a virtual OS and a virtual environment for providing a virtual environment to a user, and is installed in a mobility storage medium. The portable storage medium may be a portable storage medium such as a USB (Universal Serial Bus) memory, a flash ROM, or a cyber folder provided on the web.

도 3을 참조하면, 가상환경 시스템은 UI부(310), 가상화 관리부(320) 및 가상 OS부(330)를 포함한다. 가상 프로세스부(340)는 이동성 저장매체에서 제공하는 저장영역으로서, 가상 OS를 통해 이동성 저장매체에 설치되는 프로그램, 파일 등을 저장한다.Referring to FIG. 3, the virtual environment system includes a UI unit 310, a virtualization management unit 320, and a virtual OS unit 330. The virtual processor 340 is a storage area provided by a mobile storage medium, and stores programs, files and the like installed in the mobile storage medium through the virtual OS.

UI부(310)는 사용자가 가상화 환경을 사용하도록 하는 로그인 화면, 호스트 OS에서 사용되는 데스크탑 화면과 유사한 가상 데스크탑 화면, 호스트 OS와 가상 OS 간의 화면 전환을 위한 GUI를 제공한다. 가상 데스크탑 화면은 사용자가 가상 OS에서 제공하는 가상환경을 통해 가상 프로세스를 사용하도록 하는 화면이다. 즉, 사용자는 가상 데스크탑 화면에서 원하는 프로그램을 활성화한 후 작업을 수행할 수 있다. 가상 프로세스는 가상환경에서 동작하는 프로그램이며, 호스트 프로세스는 호스트 컴퓨팅 환경에서 동작하는 프로그램을 의미한다.The UI unit 310 provides a login screen for allowing the user to use the virtualization environment, a virtual desktop screen similar to the desktop screen used in the host OS, and a GUI for switching the screen between the host OS and the virtual OS. The virtual desktop screen is a screen for allowing the user to use the virtual process through the virtual environment provided by the virtual OS. That is, the user can perform a task after activating the desired program on the virtual desktop screen. The virtual process is a program operating in a virtual environment, and the host process is a program operating in a host computing environment.

도 4는 UI부(310)가 제공하는 GUI 화면의 일 예를 도시한 도면이다. 도 4를 참조하면, 호스트 컴퓨터에 가상 OS가 설치된 휴대용 저장매체가 연결되면, UI부(310)는 호스트 컴퓨터의 데스크탑 화면(41)에 로그인 화면(42)을 생성하여 오버 랩한다. 로그인 화면(42)을 통해 사용자 인증이 완료되면, UI부(310)는 호스트 OS에서 제공하는 바탕화면에 가상 OS에서 제공하는 바탕화면, 즉, 사용자 컴퓨팅 환경이 반영된 가상 데스크탑 화면(43)을 오버랩시킨다. 4 is a diagram showing an example of a GUI screen provided by the UI unit 310. As shown in FIG. 4, when a portable storage medium having a virtual OS installed therein is connected to the host computer, the UI unit 310 creates a login screen 42 on the desktop screen 41 of the host computer and overlaps it. When the user authentication is completed through the login screen 42, the UI unit 310 displays the desktop provided by the virtual OS on the desktop provided by the host OS, that is, the virtual desktop screen 43 reflecting the user's computing environment, .

가상 데스크탑 화면(43)은 데스크탑 화면(41)으로 전환하도록 하는 제1아이콘(44)을 포함한다. 사용자가 마우스와 같은 디바이스를 통해 제1아이콘(44)을 클릭하면, UI부(310)는 가상 데스크탑 화면(43) 대신 가상 데스크탑 화면(43)으로 전환하도록 하는 제2아이콘(45)을 생성하여 데스크탑 화면(41)에 오버랩시킨다.The virtual desktop screen 43 includes a first icon 44 for switching to the desktop screen 41. [ When the user clicks the first icon 44 via a device such as a mouse, the UI unit 310 generates a second icon 45 for switching to the virtual desktop screen 43 instead of the virtual desktop screen 43 And overlaps with the desktop screen 41.

다시 도 3을 참조하면, 가상화 관리부(320)는 가상 OS 및 사용자 인터페이스의 상태, 예를 들어, 시작과 종료를 관리한다. 사용자가 도 4와 같은 로그인 화면(42)을 통해 가상화 환경에 로그인하면, 가상화 관리부(320)는 가상 OS에 설치된 가상 리소스가 호스트 OS에 어태치되어 가상환경이 시작되도록 한다.Referring again to FIG. 3, the virtualization management unit 320 manages the states of the virtual OS and the user interface, for example, the start and the end. When the user logs into the virtualization environment through the login screen 42 as shown in FIG. 4, the virtualization management unit 320 attaches the virtual resource installed in the virtual OS to the host OS to start the virtual environment.

사용자가 가상 데스크탑 화면(43)을 통해 가상환경의 종료를 요청하면, 가상화 관리부(320)는 가상환경에서 동작하는 가상 프로세스를 통해 생성된 파일, 또는 가상환경에서 웹서버로부터 다운로딩된 프로그램이 가상 OS가 설치되어 있는 이동성 저장매체에 저장되도록 한다. 예를 들어, 이동성 저장매체가 사이버 폴더이면, 가상화 관리부(320)는 가상환경에서 생성된 파일들이 사이버 폴더에 저장되도록 하며, 이동성 저장매체가 휴대용 메모리이면 휴대용 메모리의 드라이버를 통해 휴대용 메모리에 저장되도록 한다. When the user requests the end of the virtual environment through the virtual desktop screen 43, the virtualization management unit 320 may determine whether the file created through the virtual process operating in the virtual environment or the program downloaded from the web server in the virtual environment is virtual So that it is stored in the portable storage medium on which the OS is installed. For example, if the mobility storage medium is a cyber folder, the virtualization management unit 320 allows files created in the virtual environment to be stored in the cyber folder, and if the mobility storage medium is a portable memory, do.

이와 더불어, 가상화 관리부(320)는 가상환경에서 생성된 파일 또는 다운로딩된 프로그램이 호스터 컴퓨터 또는 호스트 OS에 잔재(殘在)하지 않도록 하여, 개 인 프라이버시가 보장되도록 한다.In addition, the virtualization management unit 320 prevents individual files or downloaded programs from being left in the host computer or the host OS, thereby ensuring individual privacy.

가상 OS부(330)에는 가상화 환경을 위한 가상 OS가 설치되며, 가상 OS부(330)는 가상 OS가 호스트 컴퓨터에 설치된 호스트 OS에서 운영되도록 한다. 가상 OS에 포함된 가상 리소스는 가상화 관리부(320)에 의해 호스트 OS에 어태치된다. 그리고, 가상 OS부(330)는, 가상 OS 상에서 동작하는 프로세스인 가상 프로세스가 어태치된 가상 리소스를 사용하도록 중재(arbitration)한다. 이로써, 사용자는 원하는 프로그램이나 파일을 호스트 컴퓨터에 별도로 설치하지 않고 이동식 저장매체에 설치된 가상 OS를 이용하여 가상화 환경에서 작업하게 된다.A virtual OS for a virtualization environment is installed in the virtual OS unit 330, and the virtual OS unit 330 allows the virtual OS to be operated on a host OS installed in the host computer. The virtual resource included in the virtual OS is attached to the host OS by the virtualization management unit 320. [ Then, the virtual OS unit 330 arbitrates the virtual process, which is a process operating on the virtual OS, to use the attached virtual resource. Thus, the user does not need to install the desired program or file on the host computer, but operates in the virtualized environment using the virtual OS installed on the removable storage medium.

가상 OS부(330)는 프로세스 관리부(10), 가상 리소스 관리부(20) 및 보안 관리부(30)를 포함한다.The virtual OS unit 330 includes a process management unit 10, a virtual resource management unit 20, and a security management unit 30.

프로세스 관리부(10)는 프로세스로부터 시스템 호출(예를 들어, registry, DLL, file I/O 등)이 발생하면, 가상 리소스 관리부(20)가 시스템 호출을 가상화 처리를 해야 하는지를 판단할 수 있도록 해준다. 이를 위하여, 프로세스 관리부(10)는 시스템호출을 요청한 프로세스가 호스트 프로세스인지 가상 프로세스인지 구분하기 위하여 프로세스 트리를 관리한다. The process management unit 10 allows the virtual resource management unit 20 to determine whether the system call should be virtualized when a system call (e.g., registry, DLL, file I / O, etc.) occurs from the process. To this end, the process management unit 10 manages the process tree to distinguish whether the process requesting the system call is a host process or a virtual process.

보다 자세히 설명하면, 프로세스 관리부(10)는 사용자가 가상화 환경에 로그인하면, 가상 OS 상에서 동작하는 프로세스들을 관리하기 위한 프로세스 트리구조(Tree Structure)를 프로세스 트리 DB(Data Base)에 생성한다. 가상 프로세스 트리구조는 크게 호스트 프로세스 트리와 가상 프로세스 트리로 구분되며, 호스트 프로세스 트리는 호스트 OS 상에서 발생하는 프로세스의 계층적 관계를 보여주며, 가상 프로세스 트리는 가상 OS 상에서 발생하는 프로세스의 계층적 관계를 보여준다. 따라서, 프로세스 관리부(10)는 가상 OS 상에서 프로세스가 활성화될 때마다, 가상 프로세스에 대응하는 트리를 생성하며, 호스트 OS 상에서 프로세스가 활성화되면 호스트 프로세스에 대응하는 트리를 DB에 생성한다.More specifically, when the user logs in to the virtualization environment, the process management unit 10 creates a process tree structure (Tree Structure) in the process tree DB (Data Base) for managing processes running on the virtual OS. The virtual process tree structure is divided into a host process tree and a virtual process tree. The host process tree shows the hierarchical relationship of processes occurring on the host OS, and the virtual process tree shows the hierarchical relationship of processes occurring on the virtual OS. Accordingly, each time the process is activated on the virtual OS, the process management unit 10 generates a tree corresponding to the virtual process, and when the process is activated on the host OS, creates a tree corresponding to the host process in the DB.

모든 프로세스들로부터 발생되는 시스템 호출은 가상화 계층, 즉, 가상 OS를 거치게 되는데, 이 때 프로세스 관리부(10)는 시스템 호출이 가상화 환경에서 동작하는 프로세스로부터 발생한 것인지를 프로세스 트리를 통해 확인한다.The system call generated from all the processes goes through the virtualization layer, i.e., the virtual OS. At this time, the process management unit 10 confirms through the process tree whether the system call originated from a process operating in the virtualized environment.

프로세스 관리부(10)는 시스템 호출이 가상 프로세스에서 발생한 것인지 또는 호스트 OS에서 발생한 것인지 확인하여 확인결과를 가상 리소스 관리부(20)에게 알려준다.The process management unit 10 confirms whether the system call originated in the virtual process or the host OS, and informs the virtual resource management unit 20 of the confirmation result.

프로세스 관리부(10)로부터 시스템 호출이 호스트 프로세스에서 발생한 것으로 확인되면, 가상 리소스 관리부(20)는 시스템 호출을 호스트 OS에게 bypass한다. If it is determined that the system call is generated in the host process from the process management unit 10, the virtual resource management unit 20 bypasses the system call to the host OS.

또한, 프로세스 관리부(10)로부터 시스템 호출이 가상 프로세스에서 발생한 것으로 확인되면, 가상 리소스 관리부(20)는 가상화 작업을 수행한 후, 호스트 OS에게 시스템 호출을 요청한다. 가상화 작업은,시스템 호출이 가상 프로세스로부터 발생한 경우, 가상 OS에서 제공하는 가상 리소스에 시스템 호출이 접근하도록 접근경로 파라미터를 변경하는 것이다.Also, if it is determined that the system call is generated in the virtual process from the process management unit 10, the virtual resource management unit 20 requests the host OS to make a system call after performing the virtualization work. The virtualization task is to change the access path parameter so that the system call accesses the virtual resource provided by the virtual OS when the system call originates from the virtual process.

가상 리소스는 데이터 컨피규레이션 정보, 가상 DLL(Dynamic Link Libray), 가상 서비스 프로그램, 가상 데스크탑 환경정보, 가상 파일 I/O 정보 등을 포함한다. 이를 위하여, 가상 리소스 관리부(20)는 가상 컨피규레이션 관리부(21), 가상 DLL 관리부(22), 가상 서비스 관리부(23), 가상 파일 I/O 관리부(24) 및 가상 데스크탑 관리부(25)를 포함한다.The virtual resource includes data configuration information, a virtual dynamic link library (DLL), a virtual service program, virtual desktop environment information, and virtual file I / O information. To this end, the virtual resource management unit 20 includes a virtual configuration management unit 21, a virtual DLL management unit 22, a virtual service management unit 23, a virtual file I / O management unit 24, and a virtual desktop management unit 25 .

가상 컨피규레이션 관리부(21)는 가상 프로세스로부터 시스템 호출을 입력받으면 프로세스 관리부(10)에게 시스템 호출이 어느 프로세스로부터 발생하였는지 문의한다. 확인결과, 상기 시스템 호출이 가상 프로세스로부터 발생하였으며, 컨피규레이션 접근을 요청하는 호출인 경우, 가상 컨피규레이션 관리부(21)는 호스트 OS에 어태치된 가상 컨피규레이션에 시스템 호출이 접근하도록 한다. When the virtual configuration management unit 21 receives the system call from the virtual process, the virtual configuration management unit 21 inquires the process management unit 10 about the process from which the system call originated. As a result, if the system call originated from the virtual process and is a call requesting the configuration access, the virtual configuration management unit 21 allows the system call to access the virtual configuration attached to the host OS.

컨피규레이션은 OS가 실행되는데 필요한 모든 정보를 저장하는 데이터 베이스로서, 예를 들어, 컴퓨터에 설치된 하드웨어, 소프트웨어, 네트워크에 대한 드라이버의 설치 위치 등의 모든 정보가 기록되어 있다. OS가 마이크로소프트사에서 제공하는 윈도우 버젼인 경우, 컨피규레이션은 윈도우의 레지스트리에 해당한다.The configuration is a database for storing all information necessary for the OS to be executed. For example, all information such as hardware installed in the computer, software, and installation location of the driver to the network is recorded. If the OS is a Windows version provided by Microsoft Corporation, the configuration corresponds to the Windows registry.

가상 DLL 관리부(22)는 가상 프로세스로부터 시스템 호출을 입력받으면 프로세스 관리부(10)에게 시스템 호출이 어느 프로세스로부터 발생하였는지 문의한다. 확인결과, 상기 시스템 호출이 가상 프로세스로부터 발생하였으며, DLL 파일을 요청하는 호출인 경우, 가상 DLL 관리부(22)는 호스트 OS에 어태치된 가상 리소스 중 가상 DLL이 사용되도록 한다.When receiving the system call from the virtual process, the virtual DLL management unit 22 inquires of the process management unit 10 which process the system call originated from. As a result, when the system call is generated from the virtual process and the call is for requesting the DLL file, the virtual DLL management unit 22 allows the virtual DLL among the virtual resources attached to the host OS to be used.

가상 서비스 관리부(23)는 가상 프로세스로부터 발생한 시스템 호출이 서비스 프로그램의 사용 요청인 경우, 가상 OS에서 실행되도록 구비된 가상 서비스 프로그램을 제공하여 요청된 서비스가 실행되도록 한다. 서비스와 관련된 시스템 호출의 예로는 time job을 들 수 있다. time job은 예약된 시간에 설정된 작업을 수 행하는 것으로서, 가상 서비스 관리부(23)는 예약된 시간에 time job에 대응하는 서비스 프로그램이 실행되어 설정된 작업을 수행하도록 한다. When the system call generated from the virtual process is a use request of the service program, the virtual service management unit 23 provides a virtual service program provided to be executed in the virtual OS, so that the requested service is executed. An example of a system call related to a service is a time job. The virtual service management unit 23 executes a service program corresponding to a time job at a scheduled time to perform a set task.

가상 파일 I/O 관리부(24)는 가상 프로세스로부터 시스템 호출을 입력받으면 프로세스 관리부(10)에게 시스템 호출이 어느 프로세스로부터 발생하였는지 문의한다. 확인결과, 시스템 호출이 가상 프로세스로부터 발생하였으며, 파일 I/O를 요청하는 호출인 경우, 가상 파일 I/O 관리부(24)는 이동성 저장매체에 저장된 파일에 접근하여 해당 파일을 독출하도록 한다.When the virtual file I / O management unit 24 receives the system call from the virtual process, the virtual file I / O management unit 24 inquires of the process management unit 10 which process the system call originated from. As a result, when the system call is generated from the virtual process and the call is a request for file I / O, the virtual file I / O manager 24 accesses the file stored in the portable storage medium and reads the file.

가상 데스크탑 관리부(25)는 사용자가 선호하는 컴퓨팅 환경을 제공한다. 예를 들어, 초기 가상 데스크탑 화면이 표시된 후 사용자가 선호하는 아이콘과, 아이콘의 배열, 바탕화면, 키보드, 마우스, 언어 등을 설정하여 가상 컴퓨팅 환경을 만들면 가상 데스크탑 관리부(25)는 설정된 가상 컴퓨팅 환경을 유지하여 어느 컴퓨터에서나 동일하게 사용되도록 한다. 이는 사용자가 가상화 환경에서 작업시 사용자의 컴퓨팅 환경을 어느 컴퓨터에서나 동일한 방법으로 사용할 수 있는 UI를 제공하기 위함이다. 따라서, UI부(310)는 가상 데스크탑 관리부(25)에서 제공하는 가상 컴퓨팅 환경이 반영되는 가상 데스크탑 화면을 생성한다.The virtual desktop management unit 25 provides a user's preferred computing environment. For example, after the initial virtual desktop screen is displayed, the virtual desktop management unit 25 creates a virtual computing environment by setting a user's preferred icon, an array of icons, a desktop, a keyboard, a mouse, To be used equally on any computer. This is to provide a UI that allows the user to use the user's computing environment in the same way on any computer when working in a virtualized environment. Accordingly, the UI unit 310 generates a virtual desktop screen on which the virtual computing environment provided by the virtual desktop management unit 25 is reflected.

한편, 보안 관리부(30)는 사용자가 타인의 컴퓨터 또는 공용 컴퓨터를 사용하는 경우, 바이러스 감염, 개인정보 유출, 인터넷 뱅킹과 관련된 정보 유출 등을 방지하는 기능을 제공한다.On the other hand, when the user uses a computer or a public computer of a user, the security management unit 30 provides a function of preventing virus infections, leakage of personal information, information leakage related to Internet banking, and the like.

도 5 및 도 6은 운영체제가 윈도우 계열인 경우 가상화 환경에서의 작업을 설명하기 위한 도면이다.FIGS. 5 and 6 are diagrams for explaining work in a virtualization environment when an operating system is a window system.

도 5에서, 호스트 컴퓨터에 설치된 호스트 OS 및 이동성 저장매체에 설치된 가상 OS는 윈도우즈 계열이며, 이동성 저장매체는 USB 메모리(80)를 예로 들어 설명한다. 이하에서는 호스트 OS를 호스트 윈도우즈라 하며, 가상 OS를 가상 윈도우즈라 한다. USB 메모리(80)에는 가상 윈도우즈 및 프로그램이 설치되어, 호스트 컴퓨터에 다시 설치되는 과정없이 호스트 컴퓨터에서 가상화 작업이 가능하도록 한다.In FIG. 5, the host OS installed in the host computer and the virtual OS installed in the mobility storage medium are Windows series, and the mobility storage medium is explained using the USB memory 80 as an example. Hereinafter, the host OS is referred to as host window and the virtual OS is referred to as virtual window. The virtual memory and programs are installed in the USB memory 80 so that virtualization work can be performed on the host computer without being reinstalled on the host computer.

도 5 및 도 6을 참조하면, 윈도우즈의 커널 내에는 호스트 윈도우즈와 가상 윈도우부(60)가 위치하며, 호스트 윈도우즈는 System Service Dispatcher(51), I/O 매니저(52), 컨피규레이션 매니저(53), 레지스트리(54), Process/Threads 매니저(55), 파일 시스템 드라이버(56), 하드디스크 드라이버(57) 및 이동형 드라이버(58)를 포함한다. 가상 윈도우부(60)는 가상 데스크탑 관리부(61), 가상 레지스트리 관리부(62), 프로세스 관리부(63), 프로세스 트리 DB(64), 가상 파일 I/O 관리부(65), 가상 DLL 관리부(66) 및 가상 서비스 관리부(67)를 포함한다. 5 and 6, a host window and a virtual window unit 60 are located in a kernel of Windows and a system service dispatcher 51, an I / O manager 52, a configuration manager 53, A registry 54, a Process / Threads manager 55, a file system driver 56, a hard disk driver 57 and a mobile driver 58. The virtual window unit 60 includes a virtual desktop management unit 61, a virtual registry management unit 62, a process management unit 63, a process tree DB 64, a virtual file I / O management unit 65, a virtual DLL management unit 66, And a virtual service management unit 67.

도 4에 도시된 가상화 관리부(320) 및 가상 프로세스부(340)는 도 5에서 생략되었으며, 필요한 경우 도 4의 가상화 관리부(320) 및 가상 프로세스부(340)를 이용하여 설명한다.The virtualization manager 320 and the virtual processor 340 shown in FIG. 4 are omitted from FIG. 5 and will be described with reference to the virtualization manager 320 and the virtual processor 340 of FIG. 4, if necessary.

사용자가 호스트 윈도우즈 상에서 동작중인 호스트 프로세스(HP)를 화면에 표시하여 작업하는 중, USB 메모리(80)가 호스트 컴퓨터에 연결되면, UI부(40)는 호스트 컴퓨터의 화면에 가상화 환경으로 진입하기 위한 로그온 화면(42)을 표시한다. 사용자가 ID와 비밀번호를 입력하면 가상화 관리부(320)는 사용자 인증을 수 행한다.When the USB memory 80 is connected to the host computer while the user displays the host process HP running on the host window on the screen and the USB memory 80 is connected to the host computer, The log-on screen 42 is displayed. When the user inputs the ID and the password, the virtualization management unit 320 performs user authentication.

사용자 인증이 완료되면, UI부(40)는 호스트 컴퓨터의 화면(41)에 가상 데스크탑 화면(44)을 오버랩하여 표시한다. 가상 데스크탑 관리부(61)는 사용자가 설정한 가상 컴퓨팅 환경이 가상 데스크탑 화면(44), 마우스, 언어 등 사용자의 컴퓨팅 환경과 관련된 모든 것에 반영되도록 한다.When the user authentication is completed, the UI unit 40 overlaps and displays the virtual desktop screen 44 on the screen 41 of the host computer. The virtual desktop management unit 61 allows the virtual computing environment set by the user to be reflected in everything related to the user's computing environment such as the virtual desktop screen 44, the mouse, and the language.

또한, 사용자 인증이 완료되면, 가상화 관리부(320)는 가상 윈도우즈에 포함된 가상 리소스가 호스트 윈도우즈에 어태치되도록 한다. 특히, 가상화 관리부(320)는 가상 윈도우즈에 포함된 가상 레지스트리가 호스트 윈도우즈의 레지스트리에 어태치되도록 한다. 가상 리소스는 가상 레지스트리, 가상 파일 I/O, 가상 DLL, 가상 데스크탑 환경, 가상 서비스 프로그램 등을 포함하며, 여기서 '가상'은 가상환경에서 동작하는 것을 의미한다. When the user authentication is completed, the virtualization management unit 320 attaches the virtual resource included in the virtual window to the host window. In particular, the virtualization management unit 320 allows the virtual registry included in the virtual Windows to be attached to the registry of the host Windows. A virtual resource includes a virtual registry, a virtual file I / O, a virtual DLL, a virtual desktop environment, a virtual service program, etc. Here, 'virtual' means to operate in a virtual environment.

이로써 가상화 환경이 활성화되며, 사용자는 별도의 응용 프로그램을 호스트 컴퓨터에 설치하거나 USB 메모리에 설치된 응용 프로그램을 호스트 컴퓨터로 이동하지 않고도, USB 메모리에 설치된 응용 프로그램이 호스트 컴퓨터에 위치하는 것처럼 작업할 수 있다.This enables the virtualization environment and enables users to work as though they were installed on a host computer, without having to install separate applications on the host computer or move applications installed on the USB memory to the host computer .

가상 윈도우즈에서 동작하는 가상 프로세스(VP)가 발생하면, 예를 들어, 가상 데스크탑 화면(44) 상에서 응용 프로그램이 활성화되면, 프로세스 관리부(63)는 프로세스 트리 DB(64)의 가상 윈도우즈 영역에 가상 프로세스에 대응하는 트리를 생성한다.When an application program is activated on the virtual desktop screen 44, for example, when the virtual process VP operating in the virtual window occurs, the process manager 63 registers the virtual process in the virtual window area of the process tree DB 64, Lt; / RTI >

가상 프로세스로부터 레지스트리와 관련된 시스템 호출이 발생하면, System Service Dispatcher(51)는 Windows의 커널 내부로 시스템 호출을 인터페이싱한다. 즉, 동작중인 프로세스로부터 발생하는 모든 시스템 호출은 커널 내의 System Service Dispatcher(51)를 통해 커널의 내부 서비스로 전달(dispatching)된다.When a system call related to the registry occurs from the virtual process, the System Service Dispatcher (51) interfalls the system call into the Windows kernel. That is, all system calls originating from a running process are dispatched to the kernel's internal service through the System Service Dispatcher 51 in the kernel.

예를 들어, 시스템 호출이 레지스트리 접근을 요청하는 호출이면, System Service Dispatcher(51)는 시스템 호출을 가상 레지스트리 관리부(62)에게 전달하며, 시스템 호출이 파일 I/O 요청이면, System Service Dispatcher(51)는 시스템 호출을 I/O 매니저(52)를 통해 가상 파일 I/O 관리부(65)에게 전달한다. 시스템 호출이 DLL 요청이면, System Service Dispatcher(51)는 시스템 호출을 가상 DLL 관리부(66)에게 전달한다.For example, if the system call is a call requesting a registry access, the System Service Dispatcher 51 transfers the system call to the virtual registry management unit 62. If the system call is a file I / O request, the System Service Dispatcher 51 O manager 62. The virtual file I / O manager 65 transmits the system call to the virtual file I / O manager 65 via the I / If the system call is a DLL request, the System Service Dispatcher 51 transfers the system call to the virtual DLL management unit 66.

I/O 매니저(52)는 Windows 커널 내의 In/Out 처리를 담당한다. 특히, I/O 매니저(52)는 System Service Dispatcher(51)로부터 입력되는 파일 I/O와 관련된 시스템 호출을 가상 파일 I/O 관리부(65)에게 전달한다. 또한, I/O 매니저(52)는 가상 DLL 관리부(66)로부터 DLL 파일의 In/Out이 요청되면, 요청된 DLL 파일의 I/O을 가상 파일 I/O 관리부(65)에게 전달한다.The I / O manager 52 is responsible for In / Out processing in the Windows kernel. In particular, the I / O manager 52 transfers the system call related to the file I / O input from the system service dispatcher 51 to the virtual file I / O manager 65. When the In / Out of the DLL file is requested from the virtual DLL management unit 66, the I / O manager 52 transfers the I / O of the requested DLL file to the virtual file I / O management unit 65.

가상 컨피규레이션 관리부(21)에 대응하는 가상 레지스트리 관리부(62)는 System Service Dispatcher(51)를 통해 입력되는 시스템 호출이 가상 프로세스로부터 발생하였는지를 프로세스 관리부(63)에게 문의한다. 프로세스 관리부(63)는 프로세스 트리 DB(64)를 확인하여 시스템 호출을 요청한 프로세스가 호스트 프로세스인지 가상 프로세스인지 판단한다. The virtual registry management unit 62 corresponding to the virtual configuration management unit 21 inquires the process management unit 63 whether the system call input through the System Service Dispatcher 51 has occurred from the virtual process. The process management unit 63 checks the process tree DB 64 to determine whether the process requesting the system call is a host process or a virtual process.

시스템 호출이 가상 프로세스로부터 발생한 가상 레지스트리 접근에 대한 요 청인 것으로 확인되면, 가상 레지스트리 관리부(62)는 시스템 호출에 대해 가상화 처리를 수행한다. 즉, 가상 레지스트리 관리부(62)는 시스템 호출이 호스트 윈도우의 레지스트리(54)가 아닌, 가상 레지스트리(54a)에 접근하도록 접근경로 파라미터를 변경한다. 가상 레지스트리(54a)는 가상 윈도우즈에 포함된 레지스트리로서 호스트 윈도우즈의 레지스트리(54)에 어태치되어 있다.If it is determined that the system call is a request for a virtual registry access resulting from the virtual process, the virtual registry management unit 62 performs virtualization processing on the system call. That is, the virtual registry management unit 62 changes the access path parameter so that the system call does not access the registry 54 of the host window but the virtual registry 54a. The virtual registry 54a is attached to the registry 54 of the host Windows as a registry contained in the virtual Windows.

프로세스 트리 DB(64)는 시스템 호출을 요청한 프로세스가 호스트 프로세스인지 가상 프로세스인지 판단하기 위한 프로세스 트리구조로서, 가상 프로세스 또는 호스트 프로세스가 실행될 때마다 프로세스 관리부(63)에 의해 트리가 증가한다.The process tree DB 64 is a process tree structure for determining whether a process requesting a system call is a host process or a virtual process. The tree is incremented by the process management unit 63 each time a virtual process or a host process is executed.

가상 파일 I/O 관리부(65)는 I/O 매니저(52)로부터 전달되는 시스템 호출이 가상 프로세스로부터 발생하였는지를 프로세스 관리부(63)에게 문의한다. 프로세스 관리부(63)에 의해, 시스템 호출이 가상 프로세스로부터 발생한 것으로 확인되면, 가상 파일 I/O 관리부(65)는 USB 메모리(80)에 저장된 파일에 접근하여 해당 파일을 독출하도록 파일 시스템 드라이버(56)를 제어한다. 또한, 시스템 호출이 호스트 프로세스로부터 발생한 것으로 확인되면, 가상 파일 I/O 관리부(65)는 HDD(Hard Disk Drive)(70)에 접근하도록 파일 시스템 드라이버(56)를 제어한다.The virtual file I / O management unit 65 inquires of the process management unit 63 whether a system call transmitted from the I / O manager 52 has occurred from the virtual process. The virtual file I / O management unit 65 accesses the file stored in the USB memory 80 and reads the file from the file system driver 56 ). If it is confirmed that the system call is generated from the host process, the virtual file I / O manager 65 controls the file system driver 56 to access the HDD (Hard Disk Drive) 70.

가상 DLL 관리부(66)는 System Service Dispatcher(51)를 통해 입력되는 시스템 호출이 가상 프로세스로부터 발생하였는지를 프로세스 관리부(63)에게 문의한다. 프로세스 관리부(63)에 의해, 가상 프로세스로부터 DLL 사용을 요청하는 시스템 호출이 발생한 것으로 확인되면, 가상 DLL 관리부(66)는 호스트 윈도우즈의 DLL 이 아닌 가상 윈도우즈의 DLL이 사용되도록 제어한다. 즉, 가상 DLL 관리부(66)는 I/O 매니저(52)를 통해 가상 파일 I/O 관리부(65)에게 DLL 파일의 독출을 요청한다.The virtual DLL management unit 66 inquires the process management unit 63 whether the system call input through the system service dispatcher 51 has occurred from the virtual process. When it is determined by the process management unit 63 that a system call for requesting DLL use is generated from the virtual process, the virtual DLL management unit 66 controls to use a virtual Windows DLL instead of the host Windows DLL. That is, the virtual DLL management unit 66 requests the virtual file I / O management unit 65 to read the DLL file through the I / O manager 52.

가상 파일 I/O 관리부(65)는 파일 시스템 드라이버(56)를 제어하여, USB 메모리(80)로부터 해당 DLL 파일을 독출한 후 가상 DLL 관리부(66)에게 제공한다. 가상 DLL 관리부(66)는 독출된 DLL 파일을 가상 프로세스에게 전달하여 가상 프로세스가 사용하도록 한다.The virtual file I / O management unit 65 controls the file system driver 56 to read the corresponding DLL file from the USB memory 80 and provide it to the virtual DLL management unit 66. The virtual DLL management unit 66 transfers the read DLL file to the virtual process to be used by the virtual process.

가상 서비스 관리부(67)는 가상 프로세스로부터 서비스 프로그램의 사용이 요청되는 경우, 호스트 윈도우즈의 서비스 프로그램(59)이 아닌 가상 프로세스만을 위해 동작하는 가상 서비스 프로그램(66a)에 의해 실제 서비스가 수행되도록 한다. 이를 위하여, 가상 서비스 관리부(67)는 도 6에 도시된 바와 같이 Spoolsv.exe, Services.exe와 같은 다수의 가상 서비스 프로그램(66a)를 저장 및 관리한다.When the use of the service program is requested from the virtual process, the virtual service management unit 67 allows the actual service to be performed by the virtual service program 66a operating only for the virtual process, not the service program 59 of the host Windows. To this end, the virtual service management unit 67 stores and manages a plurality of virtual service programs 66a such as Spoolsv.exe and Services.exe as shown in FIG.

컨피규레이션 매니저(53)는 호스트 윈도우즈 커널 내의 레지스트리(54)를 관리하며, 가상 레지스트리 관리부(62)의 제어에 따라 가상 레지스트리(54a) 또는 호스트 레지스트리(54)의 데이터에 접근한다.The configuration manager 53 manages the registry 54 in the host Windows kernel and accesses the data in the virtual registry 54a or the host registry 54 under the control of the virtual registry manager 62. [

Process/Threads 매니저(55)는 활성화되는 호스트 프로세스 또는 가상 프로세스의 ID(identification)를 프로세스 관리부(63)에게 제공하며, 커널 내 프로세스 및 thread의 생성, 종료, 수행을 관리한다. 프로세스 관리부(63)는 Process/Threads 매니저(55)로부터 제공되는 ID를 이용하여 프로세스 트리를 생성한다.The Process / Threads manager 55 provides the process management unit 63 with identification (ID) of a host process or a virtual process to be activated, and manages generation, termination, and execution of processes and threads in the kernel. The process management unit 63 generates a process tree using the ID provided from the Process / Threads manager 55. [

파일 시스템 드라이버(56)는 커널 내에서 file system을 구현하는 디바이스 드라이버로서, 하드 디스크 드라이버(57) 또는 이동형 드라이버(58)를 제어하여 해당 파일을 독출한다. 파일 시스템 드라이버(56)는 I/O 매니저(52)에 의해 관리될 수 있다.The file system driver 56 is a device driver that implements the file system in the kernel and controls the hard disk driver 57 or the removable driver 58 to read the file. The file system driver 56 can be managed by the I / O manager 52. [

하드디스크 드라이버(57)는 호스트 컴퓨터에 설치된 HDD(70)를 구동하는 드라이버이며, 이동형 드라이버(58)는 USB 메모리(80)를 구동하는 드라이버이다.The hard disk driver 57 is a driver for driving the HDD 70 installed in the host computer and the movable driver 58 is a driver for driving the USB memory 80. [

상술한 가상환경 시스템을 이용하여 사용자가 가상 데스크탑 화면(43)의 가상 프로세스(VP)를 통해 문서를 작성하거나, 가상 데스크탑 화면(43)상에서 웹으로부터 특정 프로그램을 다운로딩하면, 가상화 관리부(320)는 사용자 요청시, 작성된 문서 또는 다운로딩된 프로그램이 USB 메모리(80)에 저장되도록 한다. 또한, 가상화 환경의 종료가 요청되면, 가상화 관리부(320)는 가상화 환경에서 생성된 모든 파일이 호스트 컴퓨터에 남아있지 않도록 처리한다.When the user creates a document through the virtual process VP of the virtual desktop screen 43 or downloads a specific program from the web on the virtual desktop screen 43 using the virtual environment system described above, The created document or the downloaded program is stored in the USB memory 80 at the time of a user's request. In addition, when the virtualization environment is requested to be terminated, the virtualization management unit 320 processes all files created in the virtualization environment so that they remain on the host computer.

도 7은 본 발명의 바람직한 실시예에 따른 가상환경 시스템의 구동방법을 설명하기 위한 흐름도이다.7 is a flowchart illustrating a method of driving a virtual environment system according to an exemplary embodiment of the present invention.

도 3 내지 도 7을 참조하면, 가상 OS가 설치된 이동성 저장매체와 호스트 컴퓨터가 통신가능하도록 연결되면(S705), 가상 OS의 UI부(40)는 가상화 환경으로 진입하기 위한 로그온 화면을 표시하며, 사용자는 ID와 비밀번호를 입력하여 로그온한다(S710).3 to 7, when the portable storage medium in which the virtual OS is installed is connected to the host computer so as to communicate with each other (S705), the UI unit 40 of the virtual OS displays a logon screen for entering the virtual environment, The user inputs an ID and a password to log on (S710).

로그온되면, 가상화 관리부(320)는 가상 OS의 가상 리소스가 호스트 OS에 어태치되도록 하며(S715), 가상 데스크탑 관리부(61)는 개인 컴퓨팅 환경이 반영된 가상 데스크탑 화면(43)을 생성하여 표시하도록 UI부(40)를 제어한다(S720). 이에 의해 가상화 환경으로 진입되어 사용자는 가상 OS 상에서 문서를 작성하거나 응용 프로그램을 활성화할 수 있다.The virtualization management unit 320 causes the virtual OS resource of the virtual OS to be attached to the host OS in step S715 and the virtual desktop management unit 61 creates a virtual desktop screen 43 reflecting the personal computing environment, The control unit 40 is controlled (S720). This allows the user to enter a virtualized environment and create documents or activate application programs on the virtual OS.

시스템 호출이 발생하면(S725), 프로세스 분류부(10)는 시스템 호출이 가상 프로세스에서 발생하였는지 프로세스 트리 DB(64)를 확인하여 판단한다(S730). 이는, 가상 리소스 관리부(20)가 가상 OS 에서 동작하는 프로세스들만 가상 리소스에 접근하도록 중재(arbitration)하기 위함이다.When a system call is made (S725), the process classifying unit 10 determines whether the system call has occurred in the virtual process by checking the process tree DB 64 (S730). This is for arbitrating the virtual resource manager 20 so that only the processes operating in the virtual OS can access the virtual resources.

시스템 호출이 가상 프로세스에서 발생한 것으로 판단되면, 가상 리소스 관리부(20)는 가상 OS의 가상 리소스를 이용하여 시스템 호출에 대응하는 작업이 수행되도록 한다(S735). 예를 들어, S725단계에서 발생한 시스템 호출이 레지스트리 접근 요청이면, 가상 리소스 관리부(20)는 호스트 OS의 레지스트리 중 가상 레지스트리에 접근하도록 컨피규레이션 매니저(53)를 제어한다.If it is determined that the system call is generated in the virtual process, the virtual resource management unit 20 uses the virtual resource of the virtual OS to perform a task corresponding to the system call (S735). For example, if the system call generated in step S725 is a registry access request, the virtual resource management unit 20 controls the configuration manager 53 to access the virtual registry in the registry of the host OS.

사용자로부터 가상화 환경에서 작업한 파일 또는 가상화 환경에서 다운로딩한 프로그램의 저장이 요청되면(S740), 가상화 관리부(320)는 파일 또는 프로그램이 이동성 저장매체에 저장되도록 한다(S745). If a file requested by the user is stored in the virtualization environment or a program downloaded in the virtualization environment is requested (S740), the virtualization management unit 320 causes the file or program to be stored on the portable storage medium (S745).

가상 데스크톱 화면(43)을 통해 가상화 환경의 종료가 요청되면(S750), 가상화 관리부(320)는 가상화 환경에서 생성된 모든 파일이 삭제되도록 한다(S755). 이에 의해 호스트 컴퓨터에는 호스트 OS의 데스크탑 화면이 표시된다(S760).When the end of the virtualization environment is requested through the virtual desktop screen 43 (S750), the virtualization management unit 320 deletes all files created in the virtualization environment (S755). As a result, a desktop screen of the host OS is displayed on the host computer (S760).

반면, S730단계에서 시스템 호출이 호스트 프로세스에서 발생한 것으로 판단되면, 가상 리소스 관리부(20)는 호스트 OS의 리소스에 접근하여 시스템 호출에 대 응하는 작업이 수행되도록 한다(S765).On the other hand, if it is determined in step S730 that the system call is generated in the host process, the virtual resource management unit 20 accesses the resource of the host OS to perform an operation corresponding to the system call (S765).

이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형 실시예들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be construed as limiting the scope of the invention as defined by the appended claims. It will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the present invention.

도 1은 본 발명의 바람직한 실시예에 따른 가상환경 시스템에 대응하는 가상환경 레이어를 도시한 도면,1 is a diagram illustrating a virtual environment layer corresponding to a virtual environment system according to a preferred embodiment of the present invention;

도 2는 가상화 환경에서 사용자가 원하는 어플리케이션이 이동성 저장매체에 설치된 후, 호스트 컴퓨터의 계층을 도시한 도면,2 illustrates a hierarchy of a host computer after an application desired by a user is installed in a mobility storage medium in a virtualized environment,

도 3은 본 발명의 바람직한 실시예에 따른 가상환경 시스템을 도시한 도면,FIG. 3 illustrates a virtual environment system according to a preferred embodiment of the present invention; FIG.

도 4는 UI부(310)가 제공하는 GUI 화면의 일 예를 도시한 도면,4 is a view showing an example of a GUI screen provided by the UI unit 310,

도 5 및 도 6은 운영체제가 윈도우 계열인 경우 가상화 환경에서의 작업을 설명하기 위한 도면, 그리고,5 and 6 are diagrams for explaining work in a virtualization environment when an operating system is a window system,

도 7은 본 발명의 바람직한 실시예에 따른 가상환경 시스템의 구동방법을 설명하기 위한 흐름도이다.7 is a flowchart illustrating a method of driving a virtual environment system according to an exemplary embodiment of the present invention.

* 도면의 주요부분에 대한 부호의 설명 *Description of the Related Art [0002]

310 : UI부 320 : 가상화 관리부310: UI section 320: Virtualization management section

330 : 가상 OS부 10 : 프로세스 관리부330: Virtual OS section 10: Process management section

20 : 가상 리소스 관리부 30 : 보안 관리부20: virtual resource management unit 30: security management unit

21 : 가상 컨피규레이션 관리부 22 : 가상 DLL 관리부21: virtual configuration management unit 22: virtual DLL management unit

23 : 가상 서비스 관리부 24 : 가상 파일 I/O 관리부23: virtual service management unit 24: virtual file I / O management unit

25 : 가상 데스크탑 관리부25: Virtual Desktop Management

Claims (20)

이동성 저장매체에 설치된 가상 운영체제가 호스트 컴퓨터에 설치된 호스트 운영체제에서 운영되도록 하며, 상기 가상 운영체제에 포함된 가상 리소스는 상기 호스트 운영체제에 어태치되어(attachment) 상기 가상 운영체제에서 동작하는 가상 프로세스가 상기 가상 리소스를 사용하도록 중재(arbitration)하는 가상 운영체제부; 및Wherein a virtual operating system installed in a mobility storage medium is operated in a host operating system installed in a host computer, and a virtual resource included in the virtual operating system is attached to the host operating system, A virtual operating system unit for arbitrating to use the virtual operating system; And 사용자가 상기 가상 운영체제에서 제공하는 가상환경을 통해 상기 가상 프로세스를 사용하도록 가상 데스크탑 화면을 제공하는 사용자 인터페이스부;를 포함하고,And a user interface unit for providing a virtual desktop screen for the user to use the virtual process through a virtual environment provided by the virtual operating system, 상기 가상 운영체제부는, The virtual operating system unit, 시스템 호출을 수신하여 상기 호스트 운영체제에 의한 것인지 상기 가상 운영체제에 의한 것인지 판단하고, 상기 호스트 운영체제에 의한 것이면 상기 시스템 호출을 상기 호스트 운영 체제에 넘겨주고, 상기 가상 운영체제에 의한 것이면 상기 시스템 호출에 대해 가상화를 수행한 후 상기 호스트 운영체제에 상기 가상 리소스에 대한 상기 시스템 호출의 접근을 요청하는 것을 특징으로 하는 가상환경 시스템.Receiving a system call from the host operating system, determining whether the virtual operating system is the host operating system or not, receiving the system call and passing the system call to the host operating system if the host operating system is the virtual operating system, And requests the host operating system to access the system call for the virtual resource. 제 1항에 있어서,The method according to claim 1, 상기 호스트 컴퓨터에서 상기 가상 운영체제를 통해 상기 가상 프로세스가 동작하도록 상기 가상 운영체제의 시작 및 종료를 관리하는 가상화 관리부;를 더 포함하는 것을 특징으로 하는 가상환경 시스템.And a virtualization manager for managing start and end of the virtual operating system so that the virtual processor operates in the host computer through the virtual operating system. 제 1항에 있어서,The method according to claim 1, 상기 사용자 인터페이스부에서 제공하는 로그인 화면을 통해 상기 가상환경에 로그인되면, 상기 가상 리소스가 상기 호스트 운영체제에 어태치되어 상기 가상환경이 시작되도록 하는 가상화 관리부;를 더 포함하는 것을 특징으로 하는 가상환 경 시스템.And a virtualization manager for allowing the virtual resource to be attached to the host operating system when the virtual environment is accessed through the login screen provided by the user interface unit to start the virtual environment. system. 제 3항에 있어서,The method of claim 3, 상기 가상화 관리부는 상기 가상환경 종료시, 상기 가상환경에서 동작하는 상기 가상 프로세스를 통해 생성되는 파일 및 상기 가상환경에서 다운로딩되는 프로그램이 상기 이동성 저장매체에 저장되도록 하는 것을 특징으로 하는 가상환경 시스템.Wherein the virtualization management unit causes a file created through the virtual process operating in the virtual environment and a program downloaded in the virtual environment to be stored in the portable storage medium at the end of the virtual environment. 제 4항에 있어서,5. The method of claim 4, 상기 가상화 관리부는 상기 생성되는 파일 및 상기 다운로딩되는 응용 프로그램이 상기 호스트 컴퓨터 및 상기 호스트 운영체제에 잔재(殘在)하지 않도록 처리하는 것을 특징으로 하는 가상환경 시스템.Wherein the virtualization management unit processes the generated file and the downloaded application program so as not to remain in the host computer and the host operating system. 제 1항에 있어서,The method according to claim 1, 상기 이동성 저장매체는 휴대용 저장매체 또는 사이버폴더(Cyber Folder)인 것을 특징으로 하는 가상환경 시스템.Wherein the portable storage medium is a portable storage medium or a cyber folder. 제 1항에 있어서,The method according to claim 1, 상기 사용자 인터페이스부는 상기 가상 데스크탑 화면에 상기 호스트 운영체제의 사용환경과 상기 가상 운영체제의 사용환경 간의 전환을 위한 아이콘을 표시 하는 것을 특징으로 하는 가상환경 시스템.Wherein the user interface unit displays an icon for switching between the use environment of the host operating system and the use environment of the virtual operating system on the virtual desktop screen. 제 1항에 있어서,The method according to claim 1, 상기 가상 운영체제부는,The virtual operating system unit, 입력되는 상기 시스템 호출이 상기 가상 프로세스로부터 발생하였는지를 판단하는 프로세스 관리부; 및A process management unit for determining whether the system call input is generated from the virtual process; And 상기 시스템 호출이 상기 가상 프로세스로부터 발생한 것으로 판단되면, 상기 시스템 호출이 상기 가상 운영체제에서 제공하는 상기 가상 리소스에 접근하도록 하는 가상 리소스 관리부;를 포함하는 것을 특징으로 하는 가상환경 시스템.And a virtual resource manager for allowing the system call to access the virtual resource provided by the virtual operating system when it is determined that the system call originated from the virtual process. 제 8항에 있어서,9. The method of claim 8, 상기 가상 리소스 관리부는,The virtual resource management unit, 상기 시스템 호출이 컨피규레이션 접근 요청인 경우, 상기 호스트 운영체제에 어태치된 상기 가상 운영체제의 가상 컨피규레이션 데이터에 상기 시스템 호출이 접근하도록 하는 가상 컨피규레이션 관리부;A virtual configuration manager for allowing the system call to access virtual configuration data of the virtual operating system attached to the host operating system when the system call is a configuration access request; 상기 시스템 호출이 파일 I/O 요청인 경우, 상기 이동성 저장매체에 저장된 파일에 접근하도록 하는 가상 파일 I/O 관리부; 및A virtual file I / O manager for accessing a file stored in the portable storage medium when the system call is a file I / O request; And 상기 시스템 호출이 DLL 요청인 경우, 상기 호스트 운영체제에 어태치된 상기 가상 운영체제의 가상 DLL(Dynamic Link Libray)이 사용되도록 하는 가상 DLL 관리부;를 포함하는 것을 특징으로 하는 가상환경 시스템.And a virtual DLL management unit to use a dynamic link library (DLL) of the virtual operating system attached to the host operating system when the system call is a DLL request. 제 9항에 있어서,10. The method of claim 9, 상기 가상 리소스 관리부는,The virtual resource management unit, 상기 시스템 호출이 서비스 프로그램의 사용 요청인 경우, 상기 가상 프로세스를 위해 동작하는 가상 서비스 프로그램에 의해 실제 서비스가 실행되도록 상기 가상 서비스 프로그램을 제공하는 가상 서비스 관리부;를 더 포함하는 것을 특징으로 하는 가상환경 시스템.And a virtual service manager for providing the virtual service program such that the actual service is executed by the virtual service program operating for the virtual process when the system call is a use request of the service program, system. 제 9항에 있어서,10. The method of claim 9, 상기 가상 리소스 관리부는,The virtual resource management unit, 사용자가 설정한 사용자 컴퓨팅 환경을 상기 가상화 환경에서 제공하는 가상 데스크탑 관리부;를 더 포함하며,And a virtual desktop management unit for providing the user computing environment set by the user in the virtualization environment, 상기 사용자 인터페이스부는 상기 사용자 컴퓨팅 환경이 반영되는 가상 데스크탑 화면을 생성하는 것을 특징으로 하는 가상환경 시스템.Wherein the user interface unit generates a virtual desktop screen in which the user computing environment is reflected. 제 1항에 있어서,The method according to claim 1, 상기 가상 리소스는, 상기 호스트 운영체제 및 상기 가상 운영체제가 윈도우즈 계열인 경우, 레지스트리 데이터, 파일 입출력 정보 및 DLL(Dynamic Link Libray) 정보를 포함하며, 상기 레지스트리 데이터는 상기 호스트 운영체제의 레지스터에 어태치되는 것을 특징으로 하는 가상환경 시스템.The virtual resource includes registry data, file input / output information and dynamic link library (DLL) information when the host operating system and the virtual operating system are Windows series, and the registry data is attached to a register of the host operating system Features a virtual environment system. 이동성 저장매체와 호스트 컴퓨터가 통신가능한 상태가 되면, 상기 이동식 저장매체에 설치된 가상 운영체제의 가상 리소스가 상기 호스트 운영체제에 어태치(attachment)되는 단계;Attaching a virtual resource of a virtual operating system installed in the removable storage medium to the host operating system when the portable storage medium and the host computer are in a communicable state; 사용자가 상기 가상 운영체제에서 제공하는 가상환경을 통해 가상 프로세스를 사용하도록 가상 데스크탑 화면을 제공하는 단계; 및Providing a virtual desktop screen for a user to use a virtual process through a virtual environment provided by the virtual operating system; And 호스트 프로세스로부터 시스템 호출이 발생하면, 상기 시스템 호출을 상기 호스트 운영체제에 넘겨주고, 상기 이동식 저장매체에 설치된 가상 프로세스로부터 시스템 호출이 발생하면, 상기 가상 리소스를 사용하여 상기 시스템 호출에 대응하는 가상화 처리를 수행하고, 상기 호스트 운영체제에 상기 가상 리소스에 대한 상기 시스템 호출의 접근을 요청하는 단계;를 포함하는 것을 특징으로 하는 가상환경 시스템의 구동방법.When a system call is made from a host process, the system call is handed over to the host operating system, and when a system call is generated from a virtual process installed on the removable storage medium, virtualization processing corresponding to the system call is performed using the virtual resource And requesting the host operating system to access the system call for the virtual resource. 제 13항에 있어서,14. The method of claim 13, 상기 어태치되는 단계는,The step of attaching comprises: 상기 사용자가 상기 가상 운영체제에 접속하도록 로그인 화면을 제공하는 단계;Providing a login screen to allow the user to access the virtual operating system; 상기 로그인 화면을 통해 상기 가상환경에 로그인하는 단계; 및Logging in to the virtual environment via the login screen; And 상기 가상 리소스가 상기 호스트 운영체제에 어태치되어 상기 가상환경이 시작되는 단계;를 포함하는 것을 특징으로 하는 가상환경 시스템의 구동방법.And starting the virtual environment by attaching the virtual resource to the host operating system. 제 14항에 있어서,15. The method of claim 14, 상기 가상환경의 종료가 요청되면, 상기 가상환경에서 동작하는 상기 가상 프로세스를 통해 생성되는 파일 및 상기 가상환경에서 다운로딩되는 응용 프로그램이 상기 이동성 저장매체에 저장되는 단계;를 더 포함하는 것을 특징으로 하는 가상환경 시스템의 구동방법.And a file created through the virtual process operating in the virtual environment and an application program downloaded in the virtual environment are stored in the portable storage medium when the termination of the virtual environment is requested, The virtual environment system comprising: 제 13항에 있어서,14. The method of claim 13, 상기 이동성 저장매체는 휴대용 저장매체 또는 사이버폴더(Cyber Folder)인 것을 특징으로 하는 가상환경 시스템의 구동방법.Wherein the portable storage medium is a portable storage medium or a cyber folder. 제 13항에 있어서,14. The method of claim 13, 상기 가상 데스크탑 화면은 상기 호스트 운영체제의 사용환경과 상기 가상 운영체제의 사용환경 간의 전환을 위한 아이콘을 포함하는 것을 특징으로 하는 가상환경 시스템의 구동방법.Wherein the virtual desktop screen includes an icon for switching between a use environment of the host operating system and a use environment of the virtual operating system. 삭제delete 제 13항에 있어서,14. The method of claim 13, 상기 가상 리소스에 대한 상기 시스템 호출의 접근 요청은, Wherein the access request of the system call to the virtual resource comprises: 상기 시스템 호출이 컨피규레이션 접근 요청인 경우, 상기 어태치된 가상 운영체제의 가상 컨피규레이션 데이터에 접근을 요청하고, Requesting access to the virtual configuration data of the attached virtual operating system when the system call is a configuration access request, 상기 시스템 호출이 파일 I/O 요청인 경우, 상기 이동성 저장매체에 저장된 파일에 접근하도록 경로를 제어하고, Controlling a path to access a file stored on the portable storage medium when the system call is a file I / O request, 상기 시스템 호출이 DLL 요청인 경우, 상기 어태치된 가상 운영체제의 가상 DLL(Dynamic Link Libray)이 사용되도록 처리하는 것을 특징으로 하는 가상환경 시스템의 구동방법.And when the system call is a DLL request, processing is performed so that a dynamic DLL (Dynamic Link Libray) of the attached virtual operating system is used. 제 19항에 있어서,20. The method of claim 19, 상기 시스템 호출이 서비스 프로그램의 사용 요청인 경우, 상기 가상 프로세스를 위해 동작하는 가상 서비스 프로그램에 의해 실제 서비스가 실행되도록 상기 가상 서비스 프로그램을 제공하는 단계;를 더 포함하는 것을 특징으로 하는 가상환경 시스템의 구동방법.And providing the virtual service program such that the actual service is executed by the virtual service program operating for the virtual process when the system call is a use request of the service program. Driving method.
KR20080025900A 2008-03-20 2008-03-20 Virtual environment system and operating method of the system KR101489301B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20080025900A KR101489301B1 (en) 2008-03-20 2008-03-20 Virtual environment system and operating method of the system
US12/207,677 US10007541B2 (en) 2008-03-20 2008-09-10 Method for operating a mobile virtual environment upon connection to a host computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20080025900A KR101489301B1 (en) 2008-03-20 2008-03-20 Virtual environment system and operating method of the system

Publications (2)

Publication Number Publication Date
KR20090100614A KR20090100614A (en) 2009-09-24
KR101489301B1 true KR101489301B1 (en) 2015-02-06

Family

ID=41090149

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20080025900A KR101489301B1 (en) 2008-03-20 2008-03-20 Virtual environment system and operating method of the system

Country Status (2)

Country Link
US (1) US10007541B2 (en)
KR (1) KR101489301B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102488645B1 (en) 2022-02-15 2023-01-12 윤종호 Electronic apparatus and method for providing service of virture operating system

Families Citing this family (36)

* 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
US8261254B2 (en) * 2008-03-31 2012-09-04 Symantec Corporation Dynamic insertion and removal of virtual software sub-layers
US8234332B2 (en) * 2009-04-22 2012-07-31 Aventura Hq, Inc. Systems and methods for updating computer memory and file locations within virtual computing environments
US9959131B2 (en) * 2009-08-03 2018-05-01 Quantum Corporation Systems and methods for providing a file system viewing of a storeage environment
US8473531B2 (en) 2009-09-03 2013-06-25 Quantum Corporation Presenting a file system for a file containing items
KR101049916B1 (en) * 2009-11-12 2011-07-15 제주대학교 산학협력단 Virtualization Security System and Methods
KR101089157B1 (en) * 2010-03-05 2011-12-02 주식회사 안철수연구소 System and method for logically separating servers from clients on network using virtualization of client
KR101471366B1 (en) * 2010-09-30 2014-12-10 에스케이플래닛 주식회사 Device adaptive presentation virtualization method and its system
EP2732397B1 (en) * 2011-07-12 2020-02-26 Hewlett-Packard Development Company, L.P. Computing device including a port and a guest domain
US9171139B2 (en) * 2011-08-05 2015-10-27 Vmware, Inc. Lock screens to access work environments on a personal mobile device
KR101492217B1 (en) * 2012-12-11 2015-02-12 한국전자통신연구원 Client sysytem for virtual desktop service
US10313345B2 (en) 2013-03-11 2019-06-04 Amazon Technologies, Inc. Application marketplace for virtual desktops
US9002982B2 (en) 2013-03-11 2015-04-07 Amazon Technologies, Inc. Automated desktop placement
US10142406B2 (en) 2013-03-11 2018-11-27 Amazon Technologies, Inc. Automated data center selection
US9148350B1 (en) 2013-03-11 2015-09-29 Amazon Technologies, Inc. Automated data synchronization
US9292323B2 (en) * 2013-05-17 2016-03-22 Citrix Systems, Inc. Context aware virtual desktop
WO2014204453A1 (en) 2013-06-19 2014-12-24 Empire Technology Development, Llc Processor-optimized library loading for virtual machines
US10686646B1 (en) 2013-06-26 2020-06-16 Amazon Technologies, Inc. Management of computing sessions
US10623243B2 (en) * 2013-06-26 2020-04-14 Amazon Technologies, Inc. Management of computing sessions
CN103701791B (en) * 2013-12-20 2017-09-01 中电长城网际系统应用有限公司 A kind of operating method of the virtual desktop based on virtual desktop system
CN104331357B (en) * 2014-10-10 2018-07-10 北京金山安全软件有限公司 Application program abnormity detection method and device and mobile terminal
US20180081847A1 (en) * 2015-03-27 2018-03-22 Intel Corporation Dynamic configuration of input/output controller access lanes
US9558529B2 (en) 2015-05-22 2017-01-31 Dell Products, L.P. Rendering video data in an information handling system using a management controller
KR101841847B1 (en) 2016-11-09 2018-05-04 건국대학교 산학협력단 Method and apparatus for managing provisioning virtual disk
KR101866086B1 (en) 2016-11-09 2018-07-04 건국대학교 산학협력단 Method and apparatus for producing virtual cluster based reuseable asset
WO2017126819A1 (en) * 2016-01-22 2017-07-27 건국대학교 산학협력단 Method and apparatus for managing virtual disk provisioning
US10880272B2 (en) * 2017-04-20 2020-12-29 Wyse Technology L.L.C. Secure software client
US10971161B1 (en) 2018-12-12 2021-04-06 Amazon Technologies, Inc. Techniques for loss mitigation of audio streams
US11336954B1 (en) 2018-12-12 2022-05-17 Amazon Technologies, Inc. Method to determine the FPS on a client without instrumenting rendering layer
US11368400B2 (en) 2018-12-13 2022-06-21 Amazon Technologies, Inc. Continuously calibrated network system
US11356326B2 (en) 2018-12-13 2022-06-07 Amazon Technologies, Inc. Continuously calibrated network system
US11252097B2 (en) 2018-12-13 2022-02-15 Amazon Technologies, Inc. Continuous calibration of network metrics
US11016792B1 (en) * 2019-03-07 2021-05-25 Amazon Technologies, Inc. Remote seamless windows
US11245772B1 (en) 2019-03-29 2022-02-08 Amazon Technologies, Inc. Dynamic representation of remote computing environment
US11461168B1 (en) 2019-03-29 2022-10-04 Amazon Technologies, Inc. Data loss protection with continuity
CN114489421A (en) * 2021-12-08 2022-05-13 统信软件技术有限公司 Virtual screen generation method, computing device and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060047766A (en) * 2004-06-30 2006-05-18 마이크로소프트 코포레이션 Systems and methods for development of emulated devices in a virtual machine environment
KR20060062587A (en) * 2004-12-04 2006-06-12 소프트온넷(주) A portable data storage system and method to run application programs on a host computer system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6618736B1 (en) * 2001-03-09 2003-09-09 Ensim Corporation Template-based creation and archival of file systems
US7028305B2 (en) * 2001-05-16 2006-04-11 Softricity, Inc. Operating system abstraction and protection layer
US20030179240A1 (en) * 2002-03-20 2003-09-25 Stephen Gest Systems and methods for managing virtual desktops in a windowing environment
US7496931B2 (en) * 2003-12-30 2009-02-24 Symantec Corporation Portable memory storage devices containing public context application layers
US7441108B2 (en) * 2002-11-19 2008-10-21 Ken Scott Fisher Portable memory drive with portable applications and cross-computer system management application
US20060047604A1 (en) * 2004-08-31 2006-03-02 Kraft-Oz Oded S Methods and apparatus providing portable application and data
US7606973B2 (en) * 2004-09-08 2009-10-20 International Business Machines Corporation System and method for pervasive computing with a portable non-volatile memory device
US7647589B1 (en) * 2005-02-07 2010-01-12 Parallels Software International, Inc. Methods and systems for safe execution of guest code in virtual machine context
US7577686B1 (en) * 2006-02-10 2009-08-18 Ringcube Technologies, Inc. Dynamic table configuration in a virtual machine
US7926054B2 (en) * 2006-03-03 2011-04-12 Novell, Inc. System, method, and computer-readable medium for virtual machine instantiation from an external peripheral device
US7913252B2 (en) * 2006-04-11 2011-03-22 Installfree, Inc. Portable platform for executing software applications in a virtual environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060047766A (en) * 2004-06-30 2006-05-18 마이크로소프트 코포레이션 Systems and methods for development of emulated devices in a virtual machine environment
KR20060062587A (en) * 2004-12-04 2006-06-12 소프트온넷(주) A portable data storage system and method to run application programs on a host computer system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102488645B1 (en) 2022-02-15 2023-01-12 윤종호 Electronic apparatus and method for providing service of virture operating system

Also Published As

Publication number Publication date
US10007541B2 (en) 2018-06-26
KR20090100614A (en) 2009-09-24
US20090241110A1 (en) 2009-09-24

Similar Documents

Publication Publication Date Title
KR101489301B1 (en) Virtual environment system and operating method of the system
US7765544B2 (en) Method, apparatus and system for improving security in a virtual machine host
US9678780B2 (en) Redirection of information from secure virtual machines to unsecure virtual machines
KR101179849B1 (en) Method for operating virtual machine template image
KR101540798B1 (en) Apparatus for providing security information in virtual environment and method thereof
CN102662741B (en) Method, device and system for realizing virtual desktop
Ta-Min et al. Splitting interfaces: Making trust between applications and operating systems configurable
US9830430B2 (en) Inherited product activation for virtual machines
EP2513810B1 (en) Methods and systems for communicating between trusted and non-trusted virtual machines
EP2622459B1 (en) Virtual desktop configuration and operation techniques
KR101253560B1 (en) System for managing a virtualization solution and Apparatus and Method for managing the same
KR20180099682A (en) Systems and Methods for Virtual Machine Auditing
JP2004070944A (en) System and method for expanding operating system function for application
WO2008027564A2 (en) Network computer system and method using thin user client and virtual machine to provide immunity to hacking, viruses and spy-ware
JP2022522678A (en) Secure execution guest owner environment control
US10986137B2 (en) Clipboard hardening
KR20210068444A (en) Techniques for controlling the installation of unauthorized drivers on computer systems
US8612994B1 (en) Methods and systems for activating and deactivating virtualization layers
Banga et al. Trustworthy computing for the cloud-mobile era: A leap forward in systems architecture
Wen et al. A secure virtual execution environment for untrusted code
KR102263945B1 (en) Security program and computing device for providing security function per each user session and method thereof
LaRock et al. Preemptive Wait Types
KR20110006487A (en) Apparatus and method for multi-terminal service using resource virtualization
表祐志 Computer Systems Management with a Para Pass-through Virtual Machine Monitor
Maikibayeva et al. STUDY OF OPERATING SYSTEMS IN THE COURSE OF INFORMATION AND COMMUNICATION TECHNOLOGIES

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
FPAY Annual fee payment

Payment date: 20150206

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee