KR101489301B1 - Virtual environment system and operating method of the system - Google Patents
Virtual environment system and operating method of the system Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading 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
본 발명은 가상환경 시스템 및 그의 구동방법에 관한 것으로, 더욱 상세하게는 이동식 저장매체에 개인 컴퓨팅 환경을 저장하여 모든 컴퓨터에서 개인 컴퓨팅 환경을 설치하지 않고 사용할 수 있도록 하는 가상환경 시스템 및 그의 구동방법에 관한 것이다.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부(310)는 사용자가 가상화 환경을 사용하도록 하는 로그인 화면, 호스트 OS에서 사용되는 데스크탑 화면과 유사한 가상 데스크탑 화면, 호스트 OS와 가상 OS 간의 화면 전환을 위한 GUI를 제공한다. 가상 데스크탑 화면은 사용자가 가상 OS에서 제공하는 가상환경을 통해 가상 프로세스를 사용하도록 하는 화면이다. 즉, 사용자는 가상 데스크탑 화면에서 원하는 프로그램을 활성화한 후 작업을 수행할 수 있다. 가상 프로세스는 가상환경에서 동작하는 프로그램이며, 호스트 프로세스는 호스트 컴퓨팅 환경에서 동작하는 프로그램을 의미한다.The
도 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
가상 데스크탑 화면(43)은 데스크탑 화면(41)으로 전환하도록 하는 제1아이콘(44)을 포함한다. 사용자가 마우스와 같은 디바이스를 통해 제1아이콘(44)을 클릭하면, UI부(310)는 가상 데스크탑 화면(43) 대신 가상 데스크탑 화면(43)으로 전환하도록 하는 제2아이콘(45)을 생성하여 데스크탑 화면(41)에 오버랩시킨다.The
다시 도 3을 참조하면, 가상화 관리부(320)는 가상 OS 및 사용자 인터페이스의 상태, 예를 들어, 시작과 종료를 관리한다. 사용자가 도 4와 같은 로그인 화면(42)을 통해 가상화 환경에 로그인하면, 가상화 관리부(320)는 가상 OS에 설치된 가상 리소스가 호스트 OS에 어태치되어 가상환경이 시작되도록 한다.Referring again to FIG. 3, the
사용자가 가상 데스크탑 화면(43)을 통해 가상환경의 종료를 요청하면, 가상화 관리부(320)는 가상환경에서 동작하는 가상 프로세스를 통해 생성된 파일, 또는 가상환경에서 웹서버로부터 다운로딩된 프로그램이 가상 OS가 설치되어 있는 이동성 저장매체에 저장되도록 한다. 예를 들어, 이동성 저장매체가 사이버 폴더이면, 가상화 관리부(320)는 가상환경에서 생성된 파일들이 사이버 폴더에 저장되도록 하며, 이동성 저장매체가 휴대용 메모리이면 휴대용 메모리의 드라이버를 통해 휴대용 메모리에 저장되도록 한다. When the user requests the end of the virtual environment through the
이와 더불어, 가상화 관리부(320)는 가상환경에서 생성된 파일 또는 다운로딩된 프로그램이 호스터 컴퓨터 또는 호스트 OS에 잔재(殘在)하지 않도록 하여, 개 인 프라이버시가 보장되도록 한다.In addition, the
가상 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
가상 OS부(330)는 프로세스 관리부(10), 가상 리소스 관리부(20) 및 보안 관리부(30)를 포함한다.The
프로세스 관리부(10)는 프로세스로부터 시스템 호출(예를 들어, registry, DLL, file I/O 등)이 발생하면, 가상 리소스 관리부(20)가 시스템 호출을 가상화 처리를 해야 하는지를 판단할 수 있도록 해준다. 이를 위하여, 프로세스 관리부(10)는 시스템호출을 요청한 프로세스가 호스트 프로세스인지 가상 프로세스인지 구분하기 위하여 프로세스 트리를 관리한다. The
보다 자세히 설명하면, 프로세스 관리부(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
모든 프로세스들로부터 발생되는 시스템 호출은 가상화 계층, 즉, 가상 OS를 거치게 되는데, 이 때 프로세스 관리부(10)는 시스템 호출이 가상화 환경에서 동작하는 프로세스로부터 발생한 것인지를 프로세스 트리를 통해 확인한다.The system call generated from all the processes goes through the virtualization layer, i.e., the virtual OS. At this time, the
프로세스 관리부(10)는 시스템 호출이 가상 프로세스에서 발생한 것인지 또는 호스트 OS에서 발생한 것인지 확인하여 확인결과를 가상 리소스 관리부(20)에게 알려준다.The
프로세스 관리부(10)로부터 시스템 호출이 호스트 프로세스에서 발생한 것으로 확인되면, 가상 리소스 관리부(20)는 시스템 호출을 호스트 OS에게 bypass한다. If it is determined that the system call is generated in the host process from the
또한, 프로세스 관리부(10)로부터 시스템 호출이 가상 프로세스에서 발생한 것으로 확인되면, 가상 리소스 관리부(20)는 가상화 작업을 수행한 후, 호스트 OS에게 시스템 호출을 요청한다. 가상화 작업은,시스템 호출이 가상 프로세스로부터 발생한 경우, 가상 OS에서 제공하는 가상 리소스에 시스템 호출이 접근하도록 접근경로 파라미터를 변경하는 것이다.Also, if it is determined that the system call is generated in the virtual process from the
가상 리소스는 데이터 컨피규레이션 정보, 가상 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
가상 컨피규레이션 관리부(21)는 가상 프로세스로부터 시스템 호출을 입력받으면 프로세스 관리부(10)에게 시스템 호출이 어느 프로세스로부터 발생하였는지 문의한다. 확인결과, 상기 시스템 호출이 가상 프로세스로부터 발생하였으며, 컨피규레이션 접근을 요청하는 호출인 경우, 가상 컨피규레이션 관리부(21)는 호스트 OS에 어태치된 가상 컨피규레이션에 시스템 호출이 접근하도록 한다. When the virtual
컨피규레이션은 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
가상 서비스 관리부(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
가상 파일 I/O 관리부(24)는 가상 프로세스로부터 시스템 호출을 입력받으면 프로세스 관리부(10)에게 시스템 호출이 어느 프로세스로부터 발생하였는지 문의한다. 확인결과, 시스템 호출이 가상 프로세스로부터 발생하였으며, 파일 I/O를 요청하는 호출인 경우, 가상 파일 I/O 관리부(24)는 이동성 저장매체에 저장된 파일에 접근하여 해당 파일을 독출하도록 한다.When the virtual file I /
가상 데스크탑 관리부(25)는 사용자가 선호하는 컴퓨팅 환경을 제공한다. 예를 들어, 초기 가상 데스크탑 화면이 표시된 후 사용자가 선호하는 아이콘과, 아이콘의 배열, 바탕화면, 키보드, 마우스, 언어 등을 설정하여 가상 컴퓨팅 환경을 만들면 가상 데스크탑 관리부(25)는 설정된 가상 컴퓨팅 환경을 유지하여 어느 컴퓨터에서나 동일하게 사용되도록 한다. 이는 사용자가 가상화 환경에서 작업시 사용자의 컴퓨팅 환경을 어느 컴퓨터에서나 동일한 방법으로 사용할 수 있는 UI를 제공하기 위함이다. 따라서, UI부(310)는 가상 데스크탑 관리부(25)에서 제공하는 가상 컴퓨팅 환경이 반영되는 가상 데스크탑 화면을 생성한다.The virtual
한편, 보안 관리부(30)는 사용자가 타인의 컴퓨터 또는 공용 컴퓨터를 사용하는 경우, 바이러스 감염, 개인정보 유출, 인터넷 뱅킹과 관련된 정보 유출 등을 방지하는 기능을 제공한다.On the other hand, when the user uses a computer or a public computer of a user, the
도 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
도 4에 도시된 가상화 관리부(320) 및 가상 프로세스부(340)는 도 5에서 생략되었으며, 필요한 경우 도 4의 가상화 관리부(320) 및 가상 프로세스부(340)를 이용하여 설명한다.The
사용자가 호스트 윈도우즈 상에서 동작중인 호스트 프로세스(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
사용자 인증이 완료되면, UI부(40)는 호스트 컴퓨터의 화면(41)에 가상 데스크탑 화면(44)을 오버랩하여 표시한다. 가상 데스크탑 관리부(61)는 사용자가 설정한 가상 컴퓨팅 환경이 가상 데스크탑 화면(44), 마우스, 언어 등 사용자의 컴퓨팅 환경과 관련된 모든 것에 반영되도록 한다.When the user authentication is completed, the
또한, 사용자 인증이 완료되면, 가상화 관리부(320)는 가상 윈도우즈에 포함된 가상 리소스가 호스트 윈도우즈에 어태치되도록 한다. 특히, 가상화 관리부(320)는 가상 윈도우즈에 포함된 가상 레지스트리가 호스트 윈도우즈의 레지스트리에 어태치되도록 한다. 가상 리소스는 가상 레지스트리, 가상 파일 I/O, 가상 DLL, 가상 데스크탑 환경, 가상 서비스 프로그램 등을 포함하며, 여기서 '가상'은 가상환경에서 동작하는 것을 의미한다. When the user authentication is completed, the
이로써 가상화 환경이 활성화되며, 사용자는 별도의 응용 프로그램을 호스트 컴퓨터에 설치하거나 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
가상 프로세스로부터 레지스트리와 관련된 시스템 호출이 발생하면, 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)는 시스템 호출을 가상 레지스트리 관리부(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
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 /
가상 컨피규레이션 관리부(21)에 대응하는 가상 레지스트리 관리부(62)는 System Service Dispatcher(51)를 통해 입력되는 시스템 호출이 가상 프로세스로부터 발생하였는지를 프로세스 관리부(63)에게 문의한다. 프로세스 관리부(63)는 프로세스 트리 DB(64)를 확인하여 시스템 호출을 요청한 프로세스가 호스트 프로세스인지 가상 프로세스인지 판단한다. The virtual
시스템 호출이 가상 프로세스로부터 발생한 가상 레지스트리 접근에 대한 요 청인 것으로 확인되면, 가상 레지스트리 관리부(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
프로세스 트리 DB(64)는 시스템 호출을 요청한 프로세스가 호스트 프로세스인지 가상 프로세스인지 판단하기 위한 프로세스 트리구조로서, 가상 프로세스 또는 호스트 프로세스가 실행될 때마다 프로세스 관리부(63)에 의해 트리가 증가한다.The
가상 파일 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 /
가상 DLL 관리부(66)는 System Service Dispatcher(51)를 통해 입력되는 시스템 호출이 가상 프로세스로부터 발생하였는지를 프로세스 관리부(63)에게 문의한다. 프로세스 관리부(63)에 의해, 가상 프로세스로부터 DLL 사용을 요청하는 시스템 호출이 발생한 것으로 확인되면, 가상 DLL 관리부(66)는 호스트 윈도우즈의 DLL 이 아닌 가상 윈도우즈의 DLL이 사용되도록 제어한다. 즉, 가상 DLL 관리부(66)는 I/O 매니저(52)를 통해 가상 파일 I/O 관리부(65)에게 DLL 파일의 독출을 요청한다.The virtual
가상 파일 I/O 관리부(65)는 파일 시스템 드라이버(56)를 제어하여, USB 메모리(80)로부터 해당 DLL 파일을 독출한 후 가상 DLL 관리부(66)에게 제공한다. 가상 DLL 관리부(66)는 독출된 DLL 파일을 가상 프로세스에게 전달하여 가상 프로세스가 사용하도록 한다.The virtual file I /
가상 서비스 관리부(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
컨피규레이션 매니저(53)는 호스트 윈도우즈 커널 내의 레지스트리(54)를 관리하며, 가상 레지스트리 관리부(62)의 제어에 따라 가상 레지스트리(54a) 또는 호스트 레지스트리(54)의 데이터에 접근한다.The
Process/Threads 매니저(55)는 활성화되는 호스트 프로세스 또는 가상 프로세스의 ID(identification)를 프로세스 관리부(63)에게 제공하며, 커널 내 프로세스 및 thread의 생성, 종료, 수행을 관리한다. 프로세스 관리부(63)는 Process/Threads 매니저(55)로부터 제공되는 ID를 이용하여 프로세스 트리를 생성한다.The Process /
파일 시스템 드라이버(56)는 커널 내에서 file system을 구현하는 디바이스 드라이버로서, 하드 디스크 드라이버(57) 또는 이동형 드라이버(58)를 제어하여 해당 파일을 독출한다. 파일 시스템 드라이버(56)는 I/O 매니저(52)에 의해 관리될 수 있다.The
하드디스크 드라이버(57)는 호스트 컴퓨터에 설치된 HDD(70)를 구동하는 드라이버이며, 이동형 드라이버(58)는 USB 메모리(80)를 구동하는 드라이버이다.The
상술한 가상환경 시스템을 이용하여 사용자가 가상 데스크탑 화면(43)의 가상 프로세스(VP)를 통해 문서를 작성하거나, 가상 데스크탑 화면(43)상에서 웹으로부터 특정 프로그램을 다운로딩하면, 가상화 관리부(320)는 사용자 요청시, 작성된 문서 또는 다운로딩된 프로그램이 USB 메모리(80)에 저장되도록 한다. 또한, 가상화 환경의 종료가 요청되면, 가상화 관리부(320)는 가상화 환경에서 생성된 모든 파일이 호스트 컴퓨터에 남아있지 않도록 처리한다.When the user creates a document through the virtual process VP of the
도 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
로그온되면, 가상화 관리부(320)는 가상 OS의 가상 리소스가 호스트 OS에 어태치되도록 하며(S715), 가상 데스크탑 관리부(61)는 개인 컴퓨팅 환경이 반영된 가상 데스크탑 화면(43)을 생성하여 표시하도록 UI부(40)를 제어한다(S720). 이에 의해 가상화 환경으로 진입되어 사용자는 가상 OS 상에서 문서를 작성하거나 응용 프로그램을 활성화할 수 있다.The
시스템 호출이 발생하면(S725), 프로세스 분류부(10)는 시스템 호출이 가상 프로세스에서 발생하였는지 프로세스 트리 DB(64)를 확인하여 판단한다(S730). 이는, 가상 리소스 관리부(20)가 가상 OS 에서 동작하는 프로세스들만 가상 리소스에 접근하도록 중재(arbitration)하기 위함이다.When a system call is made (S725), the
시스템 호출이 가상 프로세스에서 발생한 것으로 판단되면, 가상 리소스 관리부(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
사용자로부터 가상화 환경에서 작업한 파일 또는 가상화 환경에서 다운로딩한 프로그램의 저장이 요청되면(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
가상 데스크톱 화면(43)을 통해 가상화 환경의 종료가 요청되면(S750), 가상화 관리부(320)는 가상화 환경에서 생성된 모든 파일이 삭제되도록 한다(S755). 이에 의해 호스트 컴퓨터에는 호스트 OS의 데스크탑 화면이 표시된다(S760).When the end of the virtualization environment is requested through the virtual desktop screen 43 (S750), the
반면, 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
도 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)
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)
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)
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)
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)
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 |
-
2008
- 2008-03-20 KR KR20080025900A patent/KR101489301B1/en not_active IP Right Cessation
- 2008-09-10 US US12/207,677 patent/US10007541B2/en not_active Expired - Fee Related
Patent Citations (2)
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)
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 |