KR101208776B1 - System for Providing Virtual Machine and Server and Method used in the System - Google Patents

System for Providing Virtual Machine and Server and Method used in the System Download PDF

Info

Publication number
KR101208776B1
KR101208776B1 KR1020100061399A KR20100061399A KR101208776B1 KR 101208776 B1 KR101208776 B1 KR 101208776B1 KR 1020100061399 A KR1020100061399 A KR 1020100061399A KR 20100061399 A KR20100061399 A KR 20100061399A KR 101208776 B1 KR101208776 B1 KR 101208776B1
Authority
KR
South Korea
Prior art keywords
virtual machine
location
user terminal
logical
logical location
Prior art date
Application number
KR1020100061399A
Other languages
Korean (ko)
Other versions
KR20120000889A (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 KR1020100061399A priority Critical patent/KR101208776B1/en
Publication of KR20120000889A publication Critical patent/KR20120000889A/en
Application granted granted Critical
Publication of KR101208776B1 publication Critical patent/KR101208776B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Abstract

특정 위치에 지정된 가상 머신을 로딩하는 시스템 및 이에 사용되는 서버 및 그 방법이 제공된다. 복수 개의 가상 머신들은 사용자 단말기가 접속하여 사용하며, 하이퍼바이저부는 복수 개의 가상 머신들을 선택적으로 활성화시키며, 가상 머신 제어부는 복수 개의 가상 머신들 중 사용자 단말기의 위치에 매핑되는 적어도 하나의 가상 머신을 활성화하도록 하이퍼바이저부에게 요청할 수 있다.A system for loading a virtual machine designated at a specific location, a server used therein, and a method thereof are provided. A plurality of virtual machines are connected and used by a user terminal, the hypervisor unit selectively activates the plurality of virtual machines, and the virtual machine controller activates at least one virtual machine mapped to the location of the user terminal among the plurality of virtual machines. You can ask the hypervisor to do so.

Figure R1020100061399
Figure R1020100061399

Description

특정 위치에 지정된 가상 머신을 로딩하는 시스템 및 이에 사용되는 서버 및 그 방법{System for Providing Virtual Machine and Server and Method used in the System}System for Providing Virtual Machine and Server and Method used in the System}

본 발명은 특정 위치에 지정된 가상 머신을 로딩하는 시스템 및 이에 사용되는 서버 및 그 방법에 관한 것으로서, 보다 상세하게는, 사용자 단말기의 위치와 사용자를 고려하여 가상 머신을 제공할 수 있는 특정 위치에 지정된 가상 머신을 로딩하는 시스템 및 이에 사용되는 서버 및 그 방법에 관한 것이다.The present invention relates to a system for loading a virtual machine designated at a specific location, a server used therein, and a method thereof. More particularly, the present invention relates to a specific location that can provide a virtual machine in consideration of the location and user of a user terminal. A system for loading a virtual machine, a server used therein, and a method thereof.

가상화 기술은 하나의 컴퓨터에서 여러 개의 OS(Operating System)를 동작시키기 위한 기술이다. 인터넷의 보급이 확산되고 가상화 기술이 발전함에 따라 사용자는 개인 컴퓨터를 가상 머신(Virtual Machine)의 형태로 서버에 위치시키고, 서버의 가상 머신에 연결하여 원하는 기능을 사용할 수 있다. Virtualization technology is a technology for operating multiple operating systems (OS) in one computer. With the spread of the Internet and the advancement of virtualization technology, users can place their personal computers on a server in the form of a virtual machine and connect to the server's virtual machines to use desired functions.

그러나, 기존의 서버는 사용자의 위치 또는 접근 권한 등 보안과 관련된 사항을 고려하지 않고, 사용자의 요청이 있으면 원하는 가상 머신을 제공한다. 즉, 기존의 가상화 기술을 수반하는 서버는 보안을 고려한 별도의 정책을 세우지 않고 다양한 정보를 사용자에게 제공하므로, 정보 유출 등의 대책을 미리 세워 보안을 유지할 필요가 있다.However, the existing server does not consider security-related matters such as the user's location or access rights, and provides a desired virtual machine when a user requests it. In other words, the server accompanying the existing virtualization technology provides a variety of information to the user without establishing a separate policy considering the security, it is necessary to maintain security in advance by taking measures such as information leakage.

따라서, 상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 인증이 성립된 사용자가 허가된 위치에서 가상 머신을 사용하도록 함으로써 보안을 유지할 수 있는 특정 위치에 지정된 가상 머신을 로딩하는 시스템 및 이에 사용되는 서버 및 그 방법을 제공하는 것이다. Accordingly, an object of the present invention for solving the above problems is to use a system for loading a designated virtual machine in a specific location that can be secured by having the authenticated user use the virtual machine in the authorized location and It is to provide a server and a method thereof.

본 발명의 일 실시예에 따른 가상 머신을 제공하는 서버에 의하면, 사용자 단말기가 접속하여 사용하는 복수 개의 가상 머신들; 상기 복수 개의 가상 머신들을 선택적으로 활성화시키는 하이퍼바이저부; 및 상기 복수 개의 가상 머신들 중 상기 사용자 단말기의 위치에 매핑되는 적어도 하나의 가상 머신을 결정하고, 상기 결정한 적어도 하나의 가상 머신을 활성화하도록 상기 하이퍼바이저부에게 요청하는 가상 머신 제어부를 포함한다.According to an embodiment of the present invention, a server providing a virtual machine includes: a plurality of virtual machines connected and used by a user terminal; A hypervisor unit for selectively activating the plurality of virtual machines; And a virtual machine controller configured to determine at least one virtual machine mapped to a location of the user terminal among the plurality of virtual machines, and to request the hypervisor to activate the at least one determined virtual machine.

상기 가상 머신 제어부가 가상 머신을 결정함에 있어서, 상기 사용자 단말기의 위치뿐만 아니라 사용자 식별정보도 고려하여 결정하는 것을 특징으로 한다. When the virtual machine controller determines the virtual machine, the virtual machine controller determines not only the location of the user terminal but also user identification information.

상기 가상 머신 제어부는, 상기 사용자 단말기의 현재 위치에 배타적 모드가 설정되어 있으면, 상기 현재 위치에서 사용하도록 설정된 가상 머신을 제외한 나머지 가상 머신을, 비활성화 상태로 전환하도록 상기 하이퍼바이저부에게 요청하는 것을 특징으로 한다.If the exclusive mode is set at the current location of the user terminal, the virtual machine controller requests the hypervisor unit to switch the remaining virtual machines except the virtual machines set to be used at the current location to an inactive state. It is done.

상기 비활성화 상태는, 전원이 오프되는 제1비활성화 상태, 자원의 사용권한이 회수되는 제2비활성화 상태 및 상기 자원의 사용권한은 유지되며 입출력 제어권한이 회수되는 제3비활성화 상태를 포함하는 것을 특징으로 한다.The deactivation state may include a first deactivation state in which power is turned off, a second deactivation state in which the usage rights of resources are recovered, and a third deactivation state in which the usage rights of the resources are maintained and the input / output control authority is recovered. do.

상기 가상 머신 제어부는, 상기 적어도 하나의 가상 머신이 상기 제1비활성화 상태 또는 상기 제2비활성화 상태에 있으면, 상기 적어도 하나의 가상 머신의 전원에게 시스템 자원 사용권한을 부여하며, 상기 제3비활성화 상태에 있으면, 상기 적어도 하나의 가상 머신에게 입출력 제어권한을 부여하도록 상기 하이퍼바이저부에게 요청하는 것을 특징으로 한다.If the at least one virtual machine is in the first deactivation state or the second deactivation state, the virtual machine controller grants a system resource use right to a power source of the at least one virtual machine, and in the third deactivation state. If so, requesting the hypervisor to grant the input / output control right to the at least one virtual machine.

상기 복수의 가상 머신들 각각에 대해, 사용자 식별정보, 변경된 위치의 정보, 변경된 위치에서 가상 머신의 배타적 성향의 유무및 상기 비활성화 상태를 서로 매핑하여 저장하는 데이터 베이스를 더 포함하는 것을 특징으로 한다. For each of the plurality of virtual machines, characterized in that it further comprises a database for mapping and storing the user identification information, the information of the changed location, the presence or absence of the exclusive propensity of the virtual machine at the changed location and the deactivation state.

상기 가상 머신 제어부는, 상기 사용자 단말기의 현재 위치에 비배타적 모드가 설정되어 있으면, 비활성화된 가상 머신들을 모두 활성화 상태로 복구하도록 상기 하이퍼바이저부에게 요청하는 것을 특징으로 한다.If the non-exclusive mode is set at the current location of the user terminal, the virtual machine controller requests the hypervisor unit to restore all the deactivated virtual machines to the activated state.

상기 복수 개의 가상 머신들 각각에 대해, 사용자 식별정보, 비활성화 상태인지를 나타내는 정보 및 비활성화된 방식에 대한 를 서로 매핑하여 저장하는 데이터 베이스를 더 포함하는 것을 특징으로 한다.For each of the plurality of virtual machines, characterized in that it further comprises a database for mapping and storing the user identification information, information indicating whether the deactivated state and the deactivated manner to each other.

상기 사용자 단말기의 위치는 장소의 용도 또는 목적에 따라 구분되는 논리적 위치인 것을 특징으로 한다.The location of the user terminal is characterized in that the logical location is divided according to the purpose or purpose of the place.

본 발명의 다른 실시예에 따른 가상 머신을 제공하는 서버에 의하면, 사용자 단말기가 접속하여 사용하는 복수 개의 가상 머신들; 상기 복수 개의 가상 머신들을 선택적으로 활성화시키는 하이퍼바이저부; 상기 사용자 단말기의 현재 위치를 위치 판별부; 및 상기 복수 개의 가상 머신들 중 상기 위치 판별부에 의해 판별된 위치에서 실행될 가상 머신을 결정하고, 상기 결정한 적어도 하나의 가상 머신을 활성화하도록 상기 하이퍼바이저부에게 요청하는 가상 머신 제어부; 를 포함하는 것을 특징으로 한다.According to another embodiment of the present invention, a server providing a virtual machine includes: a plurality of virtual machines connected to and used by a user terminal; A hypervisor unit for selectively activating the plurality of virtual machines; A location determiner configured to determine a current location of the user terminal; And a virtual machine controller which determines a virtual machine to be executed at a position determined by the position determining unit among the plurality of virtual machines, and requests the hypervisor unit to activate the determined at least one virtual machine. Characterized in that it comprises a.

상기 실행될 것으로 결정된 가상 머신은 배타적 모드 또는 비배타적 모드에서 실행되는 것을 특징으로 한다.The virtual machine determined to be executed is characterized in that it runs in an exclusive mode or a non-exclusive mode.

상기 배타적 모드 또는 비배타적 모드는 상기 사용자 단말기의 위치에 따라서 결정되는 것을 특징으로 한다.The exclusive mode or the non-exclusive mode is determined according to the position of the user terminal.

물리적 위치와 논리적 위치가 서로 매핑된 정보를 저장하는 제1 데이터베이스를 더 포함하며, 상기 위치 판별부는 상기 사용자 단말기의 물리적 위치에 대한 정보를 획득하고, 상기 제1데이터베이스에 저장된 상기 정보를 참조하여 상기 사용자 단말기의 논리적 위치를 판별하며, 상기 가상 머신 제어부는 상기 위치 판별부로부터 상기 단말기의 논리적 위치를 전송 받아 상기 논리적 위치에서 실행될 가상 머신을 결정하는 것을 특징으로 한다.The apparatus may further include a first database configured to store information in which a physical location and a logical location are mapped to each other, wherein the location determiner obtains information about a physical location of the user terminal and refers to the information stored in the first database. The logical location of the user terminal is determined, and the virtual machine controller is configured to determine the virtual machine to be executed at the logical location by receiving the logical location of the terminal from the location determination unit.

논리적 위치와 가상 머신이 서로 매핑된 정보를 저장하는 제2데이터베이스를 더 포함하며, 상기 가상 머신 제어부는 상기 제2데이터베이스에 저장된 정보를 참조하여 상기 논리적 위치에서 실행될 가상 머신을 결정하는 것을 특징으로 한다.The apparatus may further include a second database configured to store information mapped between the logical location and the virtual machine, wherein the virtual machine controller determines the virtual machine to be executed at the logical location by referring to the information stored in the second database. .

본 발명의 다른 실시예에 따른 사용자 단말기가 접속하여 사용하는 복수 개의 가상 머신들 및 상기 복수 개의 가상 머신들을 선택적으로 활성화시키는 하이퍼바이저를 포함하는 서버의 가상 머신 제공 방법은, 상기 사용자 단말기의 위치를 판별하는 단계; 상기 복수 개의 가상 머신들 중 상기 사용자 단말기의 현재 위치에 기초하여상기 사용자 단말기의 현재 위치에서 실행할 가상 머신을 결정하는 단계; 및 상기 결정된 가상 머신을 활성화시키는 단계; 를 포함한다. According to another aspect of the present invention, there is provided a virtual machine providing method of a server including a plurality of virtual machines connected to and used by a user terminal and a hypervisor for selectively activating the plurality of virtual machines. Determining; Determining a virtual machine to execute at a current location of the user terminal based on a current location of the user terminal among the plurality of virtual machines; And activating the determined virtual machine; It includes.

상기 사용자 단말기의 현재 위치에서 가상 머신을 실행함에 있어서 배타적 모드가 설정되어 있으면, 상기 복수 개의 가상 머신들 중에서 상기 현재 위치에서 사용하도록 설정된 가상 머신을 제외한 나머지 가상 머신은 비활성화 상태로 전환시키는 단계;를 더 포함한다.If an exclusive mode is set in executing the virtual machine at the current location of the user terminal, switching the virtual machines other than the virtual machine set to be used at the current location among the plurality of virtual machines to an inactive state; It includes more.

상기 비활성화 상태는, 전원이 오프되는 제1비활성화 상태, 자원의 사용권한이 회수되는 제2비활성화 상태 및 상기 자원의 사용권한은 유지되며 입출력 제어권한이 회수되는 제3비활성화 상태를 포함한다.The deactivation state includes a first deactivation state in which the power is turned off, a second deactivation state in which the usage rights of resources are recovered, and a third deactivation state in which the usage rights of the resources are maintained and the input / output control authority is recovered.

상기 활성화하는 단계는, 상기 적어도 하나의 가상 머신이 상기 제1비활성화 상태 또는 상기 제2비활성화 상태에 있으면, 상기 적어도 하나의 가상 머신의 전원에게 시스템 자원 사용권한을 부여하며, 상기 제3비활성화 상태에 있으면, 상기 적어도 하나의 가상 머신에게 입출력 제어권한을 부여한다. The activating may include granting system resource usage rights to a power source of the at least one virtual machine when the at least one virtual machine is in the first deactivation state or the second deactivation state. If present, I / O control authority is given to the at least one virtual machine.

상기 사용자 단말기의 현재 위치에 비배타적 모드가 설정되어 있으면, 비활성화된 가상 머신들을 모두 활성화 상태로 복구하는 단계;를 더 포함한다.If a non-exclusive mode is set at the current location of the user terminal, recovering all the deactivated virtual machines to the activated state.

상기 사용자 단말기의 위치는 장소의 용도 또는 목적에 따라 구분되는 논리적 위치이다.The location of the user terminal is a logical location divided according to the purpose or purpose of the place.

상기 사용자 단말기의 위치를 판별하는 단계를 더 포함한다.The method may further include determining a location of the user terminal.

본 발명의 다른 실시예에 따른 사용자 단말기 및 상기 사용자 단말기에 제공되는 적어도 하나의 가상 머신을 로딩하는 서버를 포함하는 가상 머신 로딩 시스템에 있어서, 상기 서버는, 상기 사용자 단말기의 위치에 기반하여, 상기 로딩되는 가상 머신을 결정하는 것을 특징으로 한다.In the virtual machine loading system comprising a user terminal and a server for loading at least one virtual machine provided to the user terminal according to another embodiment of the present invention, the server, based on the location of the user terminal, Determining the virtual machine to be loaded.

상기 서버는, 사용자 단말기가 접속하여 사용하는 복수 개의 가상 머신들; 상기 복수 개의 가상 머신들을 선택적으로 활성화시키는 하이퍼바이저부; 상기 사용자 단말기의 현재 위치를 위치 판별부; 및 상기 복수 개의 가상 머신들 중 상기 위치 판별부에 의해 판별된 위치에서 실행될 가상 머신을 결정하고, 상기 결정한 적어도 하나의 가상 머신을 활성화하도록 상기 하이퍼바이저부에게 요청하는 가상 머신 제어부; 를 포함하는 것을 특징으로 한다.The server may include a plurality of virtual machines connected to and used by a user terminal; A hypervisor unit for selectively activating the plurality of virtual machines; A location determiner configured to determine a current location of the user terminal; And a virtual machine controller which determines a virtual machine to be executed at a position determined by the position determining unit among the plurality of virtual machines, and requests the hypervisor unit to activate the determined at least one virtual machine. Characterized in that it comprises a.

상기 실행될 것으로 결정된 가상 머신은 배타적 모드 또는 비배타적 모드에서 실행되는 것을 특징으로 한다.The virtual machine determined to be executed is characterized in that it runs in an exclusive mode or a non-exclusive mode.

상기 배타적 모드 또는 비배타적 모드는 상기 사용자 단말기의 위치에 따라서 결정되는 것을 특징으로 한다.The exclusive mode or the non-exclusive mode is determined according to the position of the user terminal.

상기 서버는, 물리적 위치와 논리적 위치가 서로 매핑된 정보를 저장하는 제1 데이터베이스를 더 포함하며, 상기 위치 판별부는 상기 사용자 단말기의 물리적 위치에 대한 정보를 획득하고, 상기 제1데이터베이스에 저장된 상기 정보를 참조하여 상기 사용자 단말기의 논리적 위치를 판별하며, 상기 가상 머신 제어부는 상기 위치 판별부로부터 상기 단말기의 논리적 위치를 전송 받아 상기 논리적 위치에서 실행될 가상 머신을 결정하는 것을 특징으로 한다.The server further includes a first database that stores information in which physical locations and logical locations are mapped to each other, wherein the location determiner obtains information about a physical location of the user terminal and stores the information stored in the first database. The controller determines a logical location of the user terminal with reference to the virtual machine controller, and receives the logical location of the terminal from the location determiner to determine a virtual machine to be executed at the logical location.

본 발명의 실시예에 따르면, 위치에 따른 보안 정책을 제공함으로써, 사용자의 위치에 따라 선택적으로 가상 머신을 제공할 수 있다. 특히, 서버는 논리적 지역 별로 사용가능한 가상 머신 및 배타성을 고려한 보안 정책을 미리 설정해 둘 수 있다. 이에 의해, 보안과 관련된 정책이 강화될 수 있다.According to an embodiment of the present invention, by providing a security policy according to a location, it is possible to selectively provide a virtual machine according to the user's location. In particular, the server may set a security policy in consideration of available virtual machines and exclusivity in each logical region. Thereby, the policy related to security can be strengthened.

또한, 본 발명의 실시예에 따르면, 특정 구역이나 점포의 광고, 관련 어플리케이션 등이 탑재된 가상 머신을 서버에 설치한 경우, 사용자가 특정 구역이나 점포에 근접하면, 서버는 설치한 가상 머신을 사용자에게 제공할 수 있다. 즉, 본 발명의 실시예에 따른 서버는 간접 광고 또는 홍보 등의 분야에서도 활용될 수 있다.In addition, according to an embodiment of the present invention, when a user installs a virtual machine equipped with advertisements of a specific area or store, related applications, etc. in the server, when the user is close to the specific area or store, the server uses the installed virtual machine. Can be provided to That is, the server according to the embodiment of the present invention may be utilized in the fields of indirect advertising or publicity.

도 1은 본 발명의 실시예에 따른 특정 위치에 지정된 가상 머신을 로딩하는 시스템의 기능 블록도이다.
도 2는 본 발명의 일 실시예에 따른 위치 판별부의 위치 판별 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 VM 제어부의 가상 머신 제공 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 하이퍼바이저부의 가상 머신 제어 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 서버의 가상 머신 제공 방법을 설명하기 위한 흐름도이다.
1 is a functional block diagram of a system for loading a virtual machine designated at a specific location in accordance with an embodiment of the present invention.
2 is a flowchart illustrating a position determining method of a position determining unit according to an exemplary embodiment of the present invention.
3 is a flowchart illustrating a virtual machine providing method of a VM controller according to an embodiment of the present invention.
4 is a flowchart illustrating a virtual machine control method of a hypervisor unit according to an exemplary embodiment of the present invention.
5 is a flowchart illustrating a virtual machine providing method of a server according to an embodiment of the present invention.

이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다. 본 명세서에서, 어떤 구성요소가 다른 구성요소 상에 있다고 언급되는 경우에 그것은 다른 구성요소 상에 직접 형성될 수 있거나 또는 그들 사이에 제 3의 구성요소가 개재될 수도 있다는 것을 의미한다. 또한 도면들에 있어서, 구성요소들의 두께는 기술적 내용의 효과적인 설명을 위해 과장된 것이다. BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects, features, and advantages of the present invention will become more readily apparent from the following description of preferred embodiments with reference to the accompanying drawings. However, the present invention is not limited to the embodiments described herein but may be embodied in other forms. Rather, the embodiments disclosed herein are provided so that the disclosure can be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. In this specification, when an element is referred to as being on another element, it may be directly formed on another element, or a third element may be interposed therebetween. Also in the figures, the thickness of the components is exaggerated for an effective description of the technical content.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다(comprises)' 및/또는 '포함하는(comprising)'은 언급된 구성요소는 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. The terms "comprises" and / or "comprising" used in the specification do not exclude the presence or addition of one or more other elements.

이하, 도면을 참조하여 본 발명을 상세히 설명하도록 한다. 아래의 특정 실시예들을 기술하는데 있어서, 여러 가지의 특정적인 내용들은 발명을 더 구체적으로 설명하고 이해를 돕기 위해 작성되었다. 하지만 본 발명을 이해할 수 있을 정도로 이 분야의 지식을 갖고 있는 독자는 이러한 여러 가지의 특정적인 내용들이 없어도 사용될 수 있다는 것을 인지할 수 있다. 어떤 경우에는, 발명을 기술하는 데 있어서 흔히 알려졌으면서 발명과 크게 관련 없는 부분들은 본 발명을 설명하는 데 있어 별 이유 없이 혼돈이 오는 것을 막기 위해 기술하지 않음을 미리 언급해 둔다.Hereinafter, the present invention will be described in detail with reference to the drawings. In describing the specific embodiments below, various specific details have been set forth in order to explain the invention in greater detail and to assist in understanding it. However, those skilled in the art can understand that the present invention can be used without these various specific details. In some cases, it is mentioned in advance that parts of the invention which are commonly known in the description of the invention and which are not highly related to the invention are not described in order to prevent confusion in explaining the invention without cause.

도 1은 본 발명의 실시예에 따른 특정 위치에 지정된 가상 머신을 로딩하는 시스템의 기능 블록도이다. 본 시스템은 사용자 단말기(10, 20)와 서버(100)를 포함한다.1 is a functional block diagram of a system for loading a virtual machine designated at a specific location in accordance with an embodiment of the present invention. The system includes user terminals 10 and 20 and server 100.

도 1에 도시된 사용자 단말기(10, 20)는 통신망(30)을 통해 서버(100)에 접속하여 가상 머신을 사용할 수 있다. 사용자 단말기(10, 20)는 데스크탑, 노트북, 스마트폰, 가상 머신의 접속을 위한 전용 단말기 등 통신이 가능한 모든 전자기기일 수 있다. The user terminals 10 and 20 illustrated in FIG. 1 may access a server 100 through a communication network 30 to use a virtual machine. The user terminals 10 and 20 may be any electronic device capable of communication, such as a desktop, a notebook, a smartphone, a dedicated terminal for accessing a virtual machine.

본 실시예에서, 서버(100)는 적어도 하나의 가상 머신을 로딩하고 로딩된 가상 머신에서 동작하는 어플리케이션을 사용자 단말기(10, 20)가 이용할 수 있도록 한다. 구체적으로, 서버(100)는 사용자 단말기의 위치를 판별하고, 판별된 위치에 미리 특정된 가상 머신을 로딩할 수 있다.In the present embodiment, the server 100 loads at least one virtual machine and enables the user terminals 10 and 20 to use an application operating in the loaded virtual machine. In detail, the server 100 may determine the location of the user terminal and load a virtual machine previously specified at the determined location.

서버(100)는 사용자 단말기들(10, 20)과 유선 또는 무선 통신이 가능하며, , 사용자 단말기들(10, 20)의 현재 위치와 사용자를 고려하여, 가상 머신을 제공(또는 로딩)할 수 있다. The server 100 may perform wired or wireless communication with the user terminals 10 and 20, and may provide (or load) a virtual machine in consideration of the current location and the user of the user terminals 10 and 20. have.

본원 명세서 전반적으로, 서버(100)가 사용자 단말기들에게 '가상 머신을 제공한다' 함은 가상 머신을 로딩하고, 로딩한 가상 머신 상에서 동작하는 운영체제(OS)와 이 운영체제(OS) 상에서 동작하는 어플리케이션을 사용자 단말기들(10, 20)이 사용하도록 하는 것을 포함하는 의미로 사용될 수 있다.Throughout this specification, the server 100 'provides a virtual machine' to user terminals means loading an virtual machine, an operating system (OS) operating on the loaded virtual machine, and an application operating on the operating system (OS). May be used to mean that the user terminals 10 and 20 use it.

또한, '서비스 모듈'은 '가상 머신, '가상머신상에서 동작하는 운영체제' 및 '운영체제 상에서 동작하는 어플리케이션'을 포함하는 의미로 사용하기로 한다. In addition, the term 'service module' will be used to mean 'virtual machine', 'operating system running on the virtual machine' and 'application running on the operating system'.

이를 위하여, 서버(100)는 하드웨어부(110), 하이퍼바이저부(120), 제1 내지 제3 서비스 모듈(130, 140, 150), 제1데이터 베이스(DB: DataBase)(160), 위치 판별부(170), 제2DB(180) 및 가상 머신(VM: Virtual Machine) 제어부(190)를 포함할 수 있다. 도 1에는 설명의 편의를 위하여 두 개의 사용자 단말기(10, 20)와 3개의 서비스 모듈(130, 140, 150)이 도시되어 있으며, 이에 한정되지 않는다. 이하에서는, 사용자 단말기(10)를 예로 들어 설명한다.To this end, the server 100 may include a hardware unit 110, a hypervisor unit 120, first to third service modules 130, 140, and 150, a first database (DB) 160, and a location. The determination unit 170, the second DB 180, and a virtual machine (VM) controller 190 may be included. For convenience of description, two user terminals 10 and 20 and three service modules 130, 140, and 150 are illustrated in FIG. 1, but are not limited thereto. Hereinafter, the user terminal 10 will be described as an example.

하드웨어부(110)는 제1 내지 제3VM들(131, 141, 151)에게 시스템 자원을 제공한다. 하드웨어부(110)에는 CPU(Central Processing Unit), HDD(Hard Disk Drive), 그래픽 카드, ROM, RAM, 입출력 디바이스, 배터리 또는 그 외 다수의 디바이스가 구비될 수 있다. 입출력 디바이스는, 서버(100)에 정보를 입력시키거나 정보를 출력하는 기능을 수행하며, 예를 들어, 모니터, 키보드, 네트워크 인터페이스 카드, 외장형 스토리지 등 다양하다.The hardware unit 110 provides system resources to the first to third VMs 131, 141, and 151. The hardware unit 110 may include a central processing unit (CPU), a hard disk drive (HDD), a graphics card, a ROM, a RAM, an input / output device, a battery, or a plurality of other devices. The input / output device performs a function of inputting information or outputting information to the server 100, and for example, various types of monitors, keyboards, network interface cards, external storage, and the like.

하이퍼바이저부(120)는 제1 내지 제3서비스 모듈(130, 140, 150) 중 적어도 하나에게 하드웨어부(110)를 사용할 수 있는 권한을 부여하며, 그러한 권한을 부여 받은 서비스 모듈은 하드웨어부(110)의 적어도 일부를 사용할 수 있게 된다. 한편 본원 명세서에서는, 하이퍼바이저부(120)가 '제1 내지 제3서비스 모듈(130, 140, 150)에게 하드웨어부(110)의 사용 권한을 할당한다'는 표현, '제1 내지 제3서비스 모듈(130, 140, 150)을 동작(또는 실행 또는 구동 또는 활성화)시킨다'는 표현은 서로 같은 의미로 사용하기로 한다.The hypervisor unit 120 grants the right to use the hardware unit 110 to at least one of the first to third service modules 130, 140, and 150. At least a portion of 110 may be used. Meanwhile, in the present specification, the expression that the hypervisor 120 assigns a use right of the hardware unit 110 to the first to third service modules 130, 140, and 150 is referred to as the first to third service. The terms 'operating (or executing, driving, or activating) the modules 130, 140, and 150' are used interchangeably.

본 발명의 실시예에 따르면, 서버(100)는 사용자 단말기들(10, 20)과 통신하는 통신부(미도시)를 더 포함한다. 여기서 통신부(미도시)는 사용자 단말기들(10, 20)로부터 전송되는 정보를 수신하여 서버(100)의 적절한 구성요소들로 전달하며, 반대로 서버(200) 측에서 사용자 단말기들(10, 20)로 전송할 정보를 사용자 단말기들(10, 20)로 전송할 수 있다. According to an embodiment of the present invention, the server 100 further includes a communication unit (not shown) for communicating with the user terminals 10 and 20. Here, the communication unit (not shown) receives the information transmitted from the user terminals (10, 20) and transfers to the appropriate components of the server 100, on the contrary, the user terminals (10, 20) on the server 200 side Information to be transmitted may be transmitted to the user terminals 10 and 20.

예를 들면, 통신부(미도시)는 사용자 단말기(10)로부터 위치 정보를 수신하며, 이러한 위치 정보는 위치 판별부(170)로 전달될 수 있다.For example, the communication unit (not shown) receives location information from the user terminal 10, and the location information may be transmitted to the location determining unit 170.

하이퍼바이저부(120)는 제1 내지 제3VM들(131, 141, 151)을 선택적으로 활성화하여 구동시키며, VM 제어부(190)로부터의 요청 메시지에 따라 제1 내지 제3VM들(131, 141, 151)의 상태를 제어할 수 있다. 하이퍼바이저부(120)는 서버(100)의 전원이 온 되는 것과 동시에 동작을 시작하고, 동작을 시작한 이후 제1 내지 제3VM들(131, 141, 151)을 선택적으로 구동시킬 수 있다.The hypervisor 120 selectively activates and drives the first to third VMs 131, 141, and 151, and responds to the request message from the VM controller 190. The state of 151 can be controlled. The hypervisor 120 may start an operation as soon as the server 100 is turned on, and selectively drive the first to third VMs 131, 141, and 151 after starting the operation.

본 발명의 일 실시예에 따르면, 하이퍼바이저부(120)는 사용자 단말(10, 20)의 위치에 기초하여 VM을 선택적으로 구동시킬 수 있다. 다른 실시예에 따르면, 서버(100)의 전원이 온 될 때, 하이퍼바이저부(120)는 서버(100)의 동작을 위해서 필요한 가상 머신을 구동시킬 수 있다. 이후, 하이퍼바이저부(120)는 사용자 단말들의 위치에 기초하여 그에 할당된 가상 머신을 제공할 수 있다.According to an embodiment of the present invention, the hypervisor 120 may selectively drive the VM based on the positions of the user terminals 10 and 20. According to another embodiment, when the server 100 is powered on, the hypervisor 120 may drive a virtual machine required for the operation of the server 100. Thereafter, the hypervisor 120 may provide a virtual machine assigned thereto based on the location of the user terminals.

하이퍼바이저부(120)는 제1 내지 제3VM들(131, 141, 151)을 구동시킬 때, 하드웨어부(110)의 시스템 자원의 사용권한 및 입출력 제어권한 중 적어도 하나를 부여할 수 있다. 입출력 제어권한은 시스템 자원의 사용권한 중 하나이다.When driving the first to third VMs 131, 141, and 151, the hypervisor unit 120 may grant at least one of a usage right and an input / output control right of the system resource of the hardware unit 110. I / O control authority is one of system resource usage authority.

또한, 하이퍼바이저부(120)는 제1 내지 제3VM들(131, 141, 151)을 비활성화시킬 때, 즉, 동작을 중지시킬 때, 제1 내지 제3VM들(131, 141, 151)에 기부여한 시스템 자원의 사용권한 및 입출력 제어권한 중 적어도 하나를 회수할 수 있다.In addition, when the hypervisor unit 120 deactivates the first to third VMs 131, 141, and 151, that is, stops the operation, the hypervisor unit 120 writes to the first to third VMs 131, 141, and 151. At least one of the use authority and the input / output control authority of the system resource can be recovered.

제1 내지 제3서비스 모듈(130, 140, 150) 각각은 VM, VM 상에서 동작하는 운영체제, 및 운영체제 상에서 동작하는 적어도 하나의 어플리케이션을 포함하며, 하드웨어부(110)의 시스템 자원을 하이퍼바이저부(120)로부터 할당 받아서각각 개별적으로 사용할 수 있다.Each of the first to third service modules 130, 140, and 150 includes a VM, an operating system operating on the VM, and at least one application operating on the operating system. Each of these can be assigned separately from each other.

제1서비스 모듈(130)은 제1VM(131), 제1운영체제(OS: Operating System)부(133) 및 제1어플리케이션(AP: Application)부(135)를 포함할 수 있다.The first service module 130 may include a first VM 131, a first operating system (OS) unit 133, and a first application unit (AP) 135.

사용자 단말기(10)의 위치에 기초하여 사용자 단말기(10)에 제1VM(131)이 제공되는 경우를 예로 들기로 한다. 이 경우, 제1VM(131)상에서 동작하는 제1어플리케이션을 사용자 단말기(10)가 사용할 수 있다. 구체적으로는 제1VM(131)과 제1운영체제부(133) 상에서 동작하는 제1어플리케이션의 실행결과를 사용자 단말기(10)가 통신부(미 도시)를 통해서 수신할 수 있다. 이하에서는, '통신부'는 본원 발명의 주요한 특징이 아니므로 서버(100)와 사용자 단말기 간에 정보를 송수신함에 있어서 통신부를 명시적으로 언급하지 않더라도 통신부를 통해서 정보가 송수신되는 것으로 이해하기를 바란다. 여기서, 제1VM(131)은 하이퍼바이저부(120)로부터 시스템 자원의 사용권한 또는 입출력 제어권한을 부여받을 수 있다.A case where the first VM 131 is provided to the user terminal 10 based on the position of the user terminal 10 will be exemplified. In this case, the user terminal 10 may use a first application that operates on the first VM 131. Specifically, the user terminal 10 may receive the execution result of the first application operating on the first VM 131 and the first operating system 133 through a communication unit (not shown). Hereinafter, since the communication unit is not a main feature of the present invention, it is to be understood that the information is transmitted and received through the communication unit even if the communication unit is not explicitly mentioned in the transmission and reception of information between the server 100 and the user terminal. In this case, the first VM 131 may be granted a use right or an input / output control right of the system resource from the hypervisor 120.

제1OS부(133)는 제1VM(131) 상에서 동작하며, 제1VM(131)이 동작할 때 유효하게 실행될 수 있다. 제1OS부(133)는 윈도우, 맥, 또는 리눅스 등의 OS일 수 있으며 하이퍼바이저부(110)로부터 할당 받은 하드웨어부(110)를 제어하고, 제1OS부(133) 상에서 동작하는 응용 프로그램을 관리할 수 있다.The first OS unit 133 operates on the first VM 131 and may be effectively executed when the first VM 131 operates. The first OS unit 133 may be an OS such as Windows, Mac, or Linux, and controls the hardware unit 110 allocated from the hypervisor unit 110 and manages an application program operating on the first OS unit 133. can do.

제1AP부(135)는 제1OS부(133) 상에서 동작하며, 적어도 하나의 응용 프로그램을 포함할 수 있다. 제1AP부(135)가 포함하는 적어도 하나의 응용 프로그램은 제1OS부(133)와 호환이 가능한 프로그램일 수 있다.The first AP unit 135 operates on the first OS unit 133 and may include at least one application program. At least one application program included in the first AP unit 135 may be a program compatible with the first OS unit 133.

제2서비스 모듈(140)은 제2VM(141), 제2OS부(143) 및 제2AP부(145)를 포함하며, 제3서비스 모듈(150)은 제3VM(151), 제3OS부(153) 및 제3AP부(155)를 포함한다. 제2 및 제3서비스 모듈(140, 150)의 동작 또는 기능은 제1서비스 모듈(130)과 거의 동일하므로 상세한 설명은 생략한다.The second service module 140 includes a second VM 141, a second OS unit 143, and a second AP unit 145, and the third service module 150 includes a third VM 151 and a third OS unit 153. ) And the third AP unit 155. Operations or functions of the second and third service modules 140 and 150 are substantially the same as those of the first service module 130, and thus detailed description thereof will be omitted.

제1DB(160)는 물리적 위치에 할당된 논리적 지역을 저장할 수 있다. 예를 들어, 제1DB(160)는 물리적 위치와 논리적 위치가 서로 매핑된 정보(이하, '물리적-논리적 위치 매핑 정보'라 함)를 저장할 수 있다. 여기서, 물리적 위치는 사용자 단말기(10)의 위치를 측정한 좌표 정보이며, 논리적 위치는 장소의 용도 또는 목적에 따라 구분되는 논리적 공간일 수 있다. 위치 판별부(170)는 사용자 단말기(10, 20)의 위치 정보를 수신하고, 제1DB(160)에 저장된 '물리적 위치-논리적 위치 매핑 정보'를 참조하여 사용자 단말기(10, 20)의 논리적 위치를 판별할 수 있다. 여기서, 논리적 위치는 사무실, 회의실, 휴게실, 로비, 자택 등과 같이 사용자나 서버(100) 측의 관리자가 임의적으로 구획한 위치일 수 있다.The first DB 160 may store a logical area allocated to a physical location. For example, the first DB 160 may store information in which physical locations and logical locations are mapped to each other (hereinafter, referred to as "physical-logical location mapping information"). Here, the physical location is coordinate information measuring the location of the user terminal 10, and the logical location may be a logical space divided according to the purpose or purpose of the place. The location determiner 170 receives location information of the user terminals 10 and 20 and refers to the physical location-logical location mapping information stored in the first DB 160 to determine the logical location of the user terminals 10 and 20. Can be determined. The logical location may be a location arbitrarily partitioned by a user or an administrator of the server 100 such as an office, a meeting room, a lounge, a lobby, a home, and the like.

여기서, 사용자 단말기(10, 20)의 위치 정보는 다양한 경로를 통해서 획득할 수 있다. 예를 들면, 사용자 단말기(10, 20)에 IP가 할당된 경우에는 IP를 통해 위치를 파악할 수 있는 Network Management 툴(예를 들면, 이동통신사의 LBS 시스템)을 이용하여 위치 정보를 획득할 수 있다. 또한, Wi-Fi, Zigbee 등, GPS 등 위치 추적에 활용되는 방법을 사용하여 사용자 단말기(10)의 물리적 위치에 대한 위치 정보를 획득할 수 있다. GPS 를 이용하는 경우에는 사용자 단말기(10)가 GPS 수신기를 포함하도록 구성된다.모바일 사용자 단말기(10)의 위치 정보를 획득할 수 있는 기술들은 종래에 이미 공지된 기술들이므로 그러한 기술들을 활용하여 위치 판별부(170)는 사용자 단말기(10)의 위치 정보를 획득할 수 있을 것이다. 위치 판별부(170)가 사용자 단말기(10)의 위치 정보를 획득하기 위해서 필요한 구성요소들이 있는 경우 그러한 구성요소들은 서버(100)에 설치되거나 또는 서버(100)와 별도의 장치로 설치될 수 있다.. 다만 이러한 구성요소들은 공지의 기술들이고 본원 발명과 직접적인 관련성이 없으므로 이에 관한 상세한 설명은 하지 않기로 한다.Here, the location information of the user terminals 10 and 20 may be obtained through various paths. For example, when IP is assigned to the user terminals 10 and 20, the location information may be acquired using a network management tool (for example, an LBS system of a mobile communication company) capable of identifying the location through the IP. . In addition, location information on the physical location of the user terminal 10 may be obtained by using a method used for location tracking such as GPS, such as Wi-Fi or Zigbee. In the case of using the GPS, the user terminal 10 is configured to include a GPS receiver. Since the techniques for acquiring the position information of the mobile user terminal 10 are known in the art, the position determination may be performed using such techniques. The unit 170 may obtain location information of the user terminal 10. If there are components necessary for the location determining unit 170 to obtain the location information of the user terminal 10, such components may be installed in the server 100 or may be installed as a separate device from the server 100. However, these components are well-known techniques and do not have a direct relationship with the present invention, so detailed description thereof will not be provided.

위치 판별부(170)는 사용자 단말기(10)의 논리적 위치를 판별하고, 판별한 논리적 위치를 VM 제어부(190)에게 제공할 수 있다. 일 실시 예를 들면, 위치 판별부(170)는 사용자 단말기(10)의 논리적 위치를 판별하고, 사용자 단말기(10)의 논리적 위치가 변경되면, 변경된 논리적 위치를 VM 제어부(190)에게 제공할 수 있다.The location determiner 170 may determine a logical location of the user terminal 10 and provide the determined logical location to the VM controller 190. For example, the location determiner 170 may determine the logical location of the user terminal 10, and provide the changed logical location to the VM controller 190 when the logical location of the user terminal 10 is changed. have.

구체적으로 설명하면, 위치 판별부(170)는 사용자 단말기(10)에 대한 물리적 위치 정보를 주기적 또는 비주기적으로 수신한다. 그리고, 위치 판별부(170)는 제1DB(160)에 저장된 '물리적 위치-논리적 위치 매핑 정보'를 참조하여 상기 수신한 사용자 단말기(10)의 물리적 위치에 대응되는 논리적 위치를 판별할 수 있다. 판별 결과, 위치 판별부(170)는 사용자 단말기(10)의 논리적 위치가 변경된 것으로 판단되면, 변경된 논리적 위치의 정보를 VM 제어부(190)에게 통지할 수 있다. Specifically, the location determiner 170 receives physical location information about the user terminal 10 periodically or aperiodically. The location determiner 170 may determine a logical location corresponding to the physical location of the received user terminal 10 with reference to 'physical location-logical location mapping information' stored in the first DB 160. As a result of the determination, when it is determined that the logical position of the user terminal 10 is changed, the position determiner 170 may notify the VM controller 190 of the changed logical position information.

또한, 위치 판별부(170)는 사용자 단말기(10)의 논리적 위치가 변경될 때마다 변경된 논리적 지역(즉, 사용자 단말기(10)의 가장 최근의 논리적 지역)을 위치 판별부(170)가 관리하는 내부 메모리 또는 내부 디스크에 저장할 수 있다. 이로써, 위치 판별부(170)는 제1DB(160)를 참조하여 현재 물리적 위치에 대응되는 논리적 위치를 판별하고, 판별된 논리적 위치와 상기 내부 메모리 또는 내부 디스크에 저장된 논리적 위치를 비교하여 논리적 지역의 변경 유무를 바로 판단할 수 있다. 위치 판별부(170)는 판단결과 논리적 위치의 변경이 있는 경우에만 논리적 위치에 대한 정보를 VM 제어부(190)로 전송한다.Also, the location determining unit 170 manages the changed logical area (ie, the most recent logical area of the user terminal 10) whenever the logical location of the user terminal 10 is changed. Can be stored in internal memory or on internal disk. Thus, the location determiner 170 determines the logical location corresponding to the current physical location with reference to the first DB 160, and compares the determined logical location with the logical location stored in the internal memory or the internal disk to determine the logical location. The change can be determined immediately. The position determiner 170 transmits information on the logical position to the VM controller 190 only when there is a change in the logical position.

제2DB(180)는 서버(100)에서 제공하는 복수 개의 VM들과 관련된 정보를 저장할 수 있다. 제2DB(180)에 저장되는 정보는 크게 4가지로 구분되며, 이를 위하여 제2DB(180)는 물리적 또는 논리적으로 제1 내지 제4영역으로 구분될 수 있다.The second DB 180 may store information related to the plurality of VMs provided by the server 100. The information stored in the second DB 180 is largely divided into four types. For this purpose, the second DB 180 may be physically or logically divided into first to fourth areas.

제1영역에는 복수 개의 VM들 각각에 접속된 사용자 단말기의 식별정보(ID: identifier)와 사용자 식별정보(ID)가 서로 매핑되어 저장될 수 있다.In the first area, identification information (ID) and user identification information (ID) of a user terminal connected to each of the plurality of VMs may be mapped to each other and stored.

제2영역에는 서버(100)의 제1 내지 제3VM들(131, 141, 151)을 사용할 수 있는 사용자 단말기의 ID 및 각 사용자 단말기를 사용할 수 있는 사용자 ID가 서로 매핑되어 저장될 수 있다.In the second area, an ID of a user terminal that can use the first to third VMs 131, 141, and 151 of the server 100 and a user ID that can use each user terminal may be mapped and stored.

제3영역에는 사용자 및 위치 별로 지정된 제1 내지 제3VM들의 목록이 저장될 수 있다. 즉, 제3영역에는 제1 내지 제3VM들(131, 141, 151) 각각에 대해, {사용자 ID, VM이 실행될 위치의 ID, 변경된 위치(즉, VM이 실행될 위치)에서 VM의 배타적 성향의 유무, 비활성화 방식}이 서로 매핑 되어 저장될 수 있다.The third area may store a list of the first to third VMs specified for each user and location. That is, in the third area, for each of the first to third VMs 131, 141, and 151, {user ID, ID of the location where the VM is to be executed, Presence, deactivation method} can be mapped to each other and stored.

'사용자 ID'는 사용자를 식별하기 위해서 사용자에게 부여된 식별정보이다.'User ID' is identification information given to a user to identify the user.

'VM이 실행될 위치의 ID'는 논리적 위치를 식별하기 위해서 논리적 위치마다 부여된 식별 정보이다.The ID of the location where the VM is to be executed is identification information assigned to each logical location to identify the logical location.

'배타적 성향의 유무'는 해당 사용자가 해당 위치로 진입했을 때, 이전 위치에서 사용 중이던 VM을 비활성화해야 하는지 또는 VM의 사용을 유지해도 되는지를 나타낸다. 즉, 배타적 성향은 해당 지역에서는 지정된 VM만 동작하도록 설정되어 있는지를 보여준다. 배타적 성향인 경우(즉, '배타적 모드')에는, 사용자는 이전 위치에서 사용한 VM을 사용할 수 없다. 또한, 배타적 성향이 아닌 경우(즉, '비배타적 모드')는, 사용자는 이전 위치에서 사용한 VM을 현재 위치에서도 사용할 수 있다.The presence or absence of exclusive propensity indicates when the user enters the location, whether the VM that was in use in the previous location should be deactivated or the VM can be kept in use. In other words, the exclusive tendency shows whether only the designated VM is set to operate in the region. In the case of exclusive propensity (ie 'exclusive mode'), the user cannot use the VM used in the previous location. Also, if it is not exclusive (ie, 'non-exclusive mode'), the user can use the VM used in the previous location at the current location.

'비활성화 방식'은 배타적 성향이 설정된 경우, 즉, '배타적 모드'인 경우에 사용된다. 즉, 배타적 모드 인 경우, 현재 위치에서 실행될 수 있는 VM을 제외한 나머지 VM 들을 어떤 방식으로 비활성화 시키는 것을 나타낸다. The 'deactivation mode' is used when an exclusive propensity is set, that is, in an 'exclusive mode'. That is, in exclusive mode, this means deactivating the remaining VMs except the VM that can be executed at the current location.

비활성화 방식은, 현재 사용자 단말기의 위치가 특정 VM 만을 실행하도록 하는 배타적 모드가 설정되어 있는 경우, 그 특정 VM 을 제외한 나머지 VM 들을 어떤 방식으로 비활성화시킬지를 나타내는 것이다.The deactivation method indicates how to deactivate the remaining VMs except for the specific VM when the current mode of the user terminal is set to execute only a specific VM.

VM의 상태의 종류 Type of VM State 비활성화 상태Inactive 제1비활성화 방식First deactivation method 자원을 전혀 할당 받지 않은 상태로서, 기존에 할당 받은 자원도 모두 회수된 상태. 예를 들면, OS가 메모리에 전혀 상주하지 않고, 향후 활성화될 때 다시 OS가 메모리로 로딩되는 것부터 시작해야 함.No resources have been allocated at all, and all previously allocated resources have been recovered. For example, the OS does not reside in memory at all, and must start again when the OS is loaded into memory when it is activated in the future. 제2비활성화 방식Second deactivation method 현재 상태를 유지하고 새로운 연산이나 동작을 더 할 수 없는 상태. 더 이상 자원을 할당 받지 않고, 기존에 할당 받은 자원중에서도 OS가 메모리에 로딩되어 상주하는 정도의 최소한의 자원만 유지하고 나머지 자원들은 모두 회수되는 상태임.Maintains the current state and cannot add new operations or actions. No more resources are allocated, and only the minimum amount of resources that the OS is loaded and resides in the existing allocated resources are kept, and all remaining resources are recovered. 제3비활성화 방식Third deactivation method 입출력 사용권한만을 제외하고는 모든 자원을 할당 받아서 동작하는 상태. 예를 들면 백그라운드에서는 동작하는 상태All resources are allocated and operated except the I / O permission. For example, in the background 활성화 상태Activation status 필요한 모든 자원을 할당 받아서 제약 없이 동작하는 상태All the necessary resources are allocated to operate without restrictions

여기서, 비활성화 방식은 VM의 전원을 오프(기존에 할당된 모든 자원을 회수한 상태)하는 제1비활성화 방식, VM이 메모리에 상주할 정도의 자원만을 가지고 나머지 자원들은 모두 회수하는 제2비활성화 방식 및 자원의 사용권한은 유지하되(즉, 백그라운드에서는 동작하되) 입출력 제어권한을 회수하는 제3비활성화 방식을 포함할 수 있다. 이러한 비활성화 방식들은 예시적인 것이므로 이들에 본원 발명이 한정되는 것은 아니며 다른 비활성화 방식들을 사용하는 것도 가능하다.Here, the deactivation method is a first deactivation method of powering off the VM (retrieving all previously allocated resources), a second deactivation method of retrieving all remaining resources with only the resources that the VM resides in memory, and It may include a third deactivation method of maintaining the use rights of the resource (that is, operating in the background) but reclaiming input / output control rights. These deactivation schemes are exemplary and the present invention is not limited thereto, and other deactivation schemes may be used.

이제, 다음과 같이 제3영역에 사용자 및 위치 별로 지정된 제1 내지 제3 VM 들의 목록이 저장되어 있다고 가정한다. Now, it is assumed that a list of the first to third VMs specified for each user and location is stored in the third region as follows.

사용자 IDUser ID VM이 실행될 위치의 IDID of the location where the VM will run VM 의 배타적 성향 유무Exclusive propensity of VM 비활성화 방식Deactivation method 실행될 VMVM to be run 003003 P001P001 비배타적 모드Non-exclusive mode 003003 P002P002 배타적 모드Exclusive mode 제1비활성화방식First deactivation method VM1VM1 003003 P003P003 배타적 모드Exclusive mode 제2비활성화 방식Second deactivation method VM2VM2

* 설명의 편의를 위해서 사용자를 1인으로 설정하였음,
* For convenience of explanation, the user is set as one person.

<표1>을 참조하면, 사용자 단말기가 위치 P001에 있는 경우에는 모든 VM들이 활성화된 상태이다. 즉, VM1, VM2, 및 VM3가 모두 활성화된 상태이다.Referring to Table 1, when the user terminal is located at the location P001, all VMs are activated. That is, VM1, VM2, and VM3 are all in an activated state.

이후, 사용자 단말기가 위치 P002로 이동하면, VM1만이 활성화되고 나머지 VM2와 VM3는 제1비활성화 방식으로 비활성화된다. 그리고, 다시 위치 P003으로 사용자 단말기가 이동하면 VM2만이 활성화되고 나머지 VM1과 VM2는 제2비활성화 방식으로 비활성화된다.
Thereafter, when the user terminal moves to the position P002, only VM1 is activated and the remaining VM2 and VM3 are deactivated in a first deactivation manner. When the user terminal moves to the position P003 again, only VM2 is activated and the remaining VM1 and VM2 are deactivated in a second inactivation manner.

VM에 제1비활성화 방식을 적용하면, VM은 전원이 오프되는 제1비활성화 상태로 진입한다. VM에 제2비활성화 방식을 적용하면, VM을 유지하는 자원을 제외하고 나머지의 자원의 사용권한이 회수되고 더 이상 자원이 할당되지 않는 제2비활성화 상태로 진입한다. 또한, VM에 제3비활성화 방식을 적용하면, VM은 자원의 사용권한은 유지되며 입출력 제어권한이 회수되는 제3비활성화 상태로 진입한다. 예를 들어, 제2비활성화 상태의 경우, VM의 상태는 서스펜드(Suspend)되어 동작이 중지될 수 있다. 또한, 제3비활성화 상태의 경우, VM의 동작 상태는 백그라운드에서 유지되나, VM 동작의 결과가 출력 장치를 통해서 표시되지 않고 사용자로부터 명령을 입력 받을 수도 없는 상태이다. When the first deactivation scheme is applied to the VM, the VM enters a first deactivation state in which power is turned off. When the second deactivation scheme is applied to the VM, the usage rights of the remaining resources except for the resource maintaining the VM are reclaimed, and the second deactivation state is entered into which the resources are no longer allocated. In addition, when the third deactivation scheme is applied to the VM, the VM enters a third deactivation state where resource usage rights are maintained and I / O control authority is reclaimed. For example, in the second inactive state, the state of the VM may be suspended and the operation may be stopped. In addition, in the third deactivation state, the operation state of the VM is maintained in the background, but the result of the VM operation is not displayed through the output device and a command cannot be received from the user.

제4영역에는 각 VM의 이전 상태에 대한 정보가 저장될 수 있다. 즉, 제4영역에는 각 VM에 대해 {VM의 ID, 사용자 ID, 비활성화된 방식, 비활성화 여부 }이 서로 매핑 되어 저장될 수 있다. 사용자 ID는 VM을 이전에 사용한 사용자의 ID, 비활성화 여부는 VM이 이전에 비활성화 상태였는지를 나타내는 정보이다. 또한, 비활성화된 방식은 VM이 이전 위치에서 비활성화된 경우, 비활성화된 방식 또는 비활성화된 상태를 나타내는 정보로서, 예를 들어, 비활성화된 방식이 제2비활성화 방식이면, VM 의 유지를 위한 최소한의 시스템 자원만이 할당된 상태임을 의미한다.Information on a previous state of each VM may be stored in the fourth area. That is, in the fourth region, {VM ID, user ID, deactivated method, deactivated} for each VM may be mapped and stored. The user ID is an ID of a user who previously used the VM, and whether the VM is deactivated is information indicating whether the VM was previously deactivated. In addition, the deactivated manner is information indicating a deactivated manner or a deactivated state when the VM is deactivated at a previous location. For example, if the deactivated manner is a second inactive manner, the minimum system resources for maintaining the VM Only means that it is assigned.

한편, VM 제어부(190)는 제1 내지 제3VM들(131, 141, 151) 중 사용자 단말기(10)의 변경된 위치의 정보 및 사용자 ID에 매핑되는 적어도 하나의 VM을 활성화하도록 하이퍼바이저부(120)에게 요청할 수 있다. Meanwhile, the VM controller 190 may activate the hypervisor 120 to activate at least one VM mapped to information and a user ID of the changed location of the user terminal 10 among the first to third VMs 131, 141, and 151. ) Can be requested.

이를 위하여, VM 제어부(190)는 위치 판별부(170)로부터 논리적 위치가 변경된 사용자 단말기(10)의 ID와 변경된 논리적 위치의 ID를 제공받는다. VM 제어부(190)는 제2DB(180)의 제2영역을 조회하여 사용자 단말기(10)의 ID에 매핑된 사용자 ID를 확인한다. 그리고, VM 제어부(190)는 제3영역을 조회하여 사용자 ID 및 변경된 위치의 ID에 지정된 적어도 하나의 VM을 활성화하도록 하이퍼바이저부(120)에게 요청한다. 이하에서는, 적어도 하나의 VM으로서 제1VM(131)을 예로 들어 설명한다.To this end, the VM controller 190 receives an ID of the user terminal 10 whose logical position is changed and an ID of the changed logical position from the position determining unit 170. The VM controller 190 checks the second area of the second DB 180 and checks the user ID mapped to the ID of the user terminal 10. The VM controller 190 inquires of the third region and requests the hypervisor 120 to activate at least one VM specified in the user ID and the changed location ID. Hereinafter, the first VM 131 will be described as an example of at least one VM.

VM 제어부(190)는 제3영역을 조회하여 설정된 배타적 성향의 유무를 확인할 수 있다.  The VM controller 190 may check the third region to determine whether the exclusive propensity is set.

사용자 ID 및 변경된 위치의 ID에 배타적 모드가 설정되어 있으면, VM 제어부(190)는 사용자 단말기(10)가 이전 위치에서 사용한 VM을, 제3영역에 설정된 비활성화 방식을 이용하여 비활성화 상태로 전환하도록 하이퍼바이저부(120)에게 요청할 수 있다. 설정된 비활성화 방식은 상술한 제1 내지 제3비활성화 방식 중 하나일 수 있다.When the exclusive mode is set to the user ID and the changed location ID, the VM controller 190 hyper-transmits the VM used by the user terminal 10 to the deactivated state by using the deactivation method set in the third area. The visor 120 may make a request. The set deactivation scheme may be one of the first to third deactivation schemes described above.

반면, 사용자 ID 및 변경된 위치의 ID에 비배타적 모드가 설정되어 있으면, VM 제어부(190)는 사용자 단말기(10)가 이전에 사용한 VM들 중 비활성화된 VM을 비활성화 이전의 상태로 복구하도록 하이퍼바이저부(120)에게 요청할 수 있다. 이를 위하여, VM 제어부(190)는 제4영역에 저장된 비활성화된 방식에 대한 정보를 하이퍼바이저부(120)에게 제공할 수 있다.On the other hand, if the non-exclusive mode is set for the user ID and the changed location ID, the VM controller 190 may restore the inactivated VM among VMs previously used by the user terminal 10 to the state before the deactivation. Request 120. To this end, the VM controller 190 may provide the hypervisor 120 with information about the deactivated scheme stored in the fourth region.

하이퍼바이저부(120)로부터 제1 내지 제3VM(131, 141, 151)의 상태가 변경이 보고되면, VM 제어부(190)는 제4영역에 저장된 내용을 갱신할 수 있다. If a change in the state of the first to third VMs 131, 141, and 151 is reported from the hypervisor 120, the VM controller 190 may update the contents stored in the fourth area.

하이퍼바이저부(120)는 VM 제어부(190)의 요청에 따라 제1 내지 제3VM들(131, 141, 151)의 상태를 제어할 수 있다. 예를 들어, VM 제어부(190)가 제1VM(131)의 활성화를 요청하면, 하이퍼바이저부(120)는 VM 제어부(190)가 요청한 방식을 이용하여 제1VM(131)을 활성화할 수 있다. 또한, VM 제어부(190)가 제1VM(131)을 제외한 모든 제2 및 제3VM들(141, 151)의 비활성화를 요청하면, 하이퍼바이저부(120)는 VM 제어부(190)가 요청한 방식을 이용하여 제2 및 제3VM들(141, 151)을 비활성화할 수 있다.The hypervisor 120 may control the states of the first to third VMs 131, 141, and 151 according to a request of the VM controller 190. For example, when the VM controller 190 requests activation of the first VM 131, the hypervisor 120 may activate the first VM 131 using the method requested by the VM controller 190. In addition, when the VM controller 190 requests deactivation of all the second and third VMs 141 and 151 except for the first VM 131, the hypervisor 120 uses the method requested by the VM controller 190. The second and third VMs 141 and 151 may be deactivated.

도 2는 본 발명의 일 실시예에 따른 위치 판별부(170)의 위치 판별 방법을 설명하기 위한 흐름도이다.2 is a flowchart illustrating a position determining method of the position determining unit 170 according to an embodiment of the present invention.

210단계에서, 위치 판별부(170)는 사용자 단말기(10)의 물리적 위치를 주기적 또는 비주기적으로 판별할 수 있다.In operation 210, the location determiner 170 may determine the physical location of the user terminal 10 periodically or aperiodically.

220단계에서, 위치 판별부(170)는 판별된 물리적 위치에 매핑저장된 논리적 위치를 제1DB(160)로부터 확인할 수 있다. In operation 220, the location determiner 170 may check the logical location mapped to the determined physical location from the first DB 160.

230단계에서, 논리적 위치가 변경된 것으로 확인되면, 240단계에서, 위치 판별부(170)는 변경된 논리적 위치의 정보를 VM 제어부(190)에게 통지할 수 있다. 이는, 사용자 단말기(10)의 논리적 위치가 변경되었음은 사용자 단말기(10)의 이동이 발생한 것이기 때문이다.If it is determined in operation 230 that the logical position is changed, in operation 240, the position determiner 170 may notify the VM controller 190 of the changed logical position information. This is because the change in the logical position of the user terminal 10 is caused by the movement of the user terminal 10.

250단계에서, 위치 판별부(170)는 변경된 사용자 단말기(10)의 논리적 위치의 정보를 별도의 저장부(미도시)에 저장할 수 있다. 이는, 논리적 위치의 변경 유무를 보다 빠르게 판별하기 위함이다.
In operation 250, the location determiner 170 may store information on the changed logical location of the user terminal 10 in a separate storage (not shown). This is to determine whether the logical position is changed more quickly.

도 3은 본 발명의 일 실시예에 따른 VM 제어부(190)의 VM 제공 방법을 설명하기 위한 흐름도이다.3 is a flowchart illustrating a VM providing method of the VM controller 190 according to an embodiment of the present invention.

310단계에서, VM 제어부(190)는 도 2의 240단계에 의해, 위치 판별부(170)로부터 논리적 위치가 변경된 사용자 단말기(10)의 ID와 변경된 논리적 위치의 ID를 수신한다. In operation 310, the VM controller 190 receives an ID of the user terminal 10 whose logical location is changed and an ID of the changed logical location from the location determining unit 170 in step 240 of FIG. 2.

320단계에서, VM 제어부(190)는 제2DB(180)의 제2영역을 조회하여 사용자 단말기(10)의 ID에 매핑된 사용자 ID를 확인한다. In operation 320, the VM controller 190 inquires the second area of the second DB 180 and checks the user ID mapped to the ID of the user terminal 10.

330단계에서, VM 제어부(190)는 제3영역을 조회하여, 변경된 논리적 위치 및 사용자 ID에 매핑되어 저장된 적어도 하나의 VM을 확인한다. In step 330, the VM controller 190 inquires of the third area to identify at least one VM mapped to the changed logical location and the user ID.

340단계에서, VM 제어부(190)는 적어도 하나의 VM을 활성화하도록 하이퍼바이저부(120)에게 요청하고, 하이퍼바이저부(120)로부터 활성화 완료 보고를 수신할 수 있다. In operation 340, the VM controller 190 may request the hypervisor unit 120 to activate at least one VM and receive an activation completion report from the hypervisor unit 120.

350단계에서, VM 제어부(190)는 제3영역을 조회하여 사용자 ID 및 논리적 위치에 배타적 모드가 설정되어 있는지 확인한다.In operation 350, the VM controller 190 inquires of the third area and checks whether an exclusive mode is set in the user ID and the logical location.

350단계의 확인 결과 배타적 모드가 설정되어 있으면, 360단계에서, VM 제어부(190)는 사용자 단말기(10)가 이전 위치에서 사용한 VM을 비활성화하도록 하이퍼바이저부(120)에게 요청할 수 있다. 360단계에서, VM 제어부(190)는 제3영역에 설정된 비활성화 방식을 이용하여 비활성화 상태로 전환하도록 하이퍼바이저부(120)에게 요청할 수 있다. If the exclusive mode is set in operation 350, the VM controller 190 may request the hypervisor 120 to deactivate the VM used by the user terminal 10 at the previous location. In operation 360, the VM controller 190 may request the hypervisor 120 to switch to the deactivated state by using the deactivation method set in the third region.

반면, 350단계의 확인 결과, 비배타적 모드가 설정되어 있으면, 370단계에서, VM 제어부(190)는 사용자 단말기(10)가 이전에 사용한 VM들 중 비활성화된 VM을 비활성화 이전의 상태로 복구하도록 하이퍼바이저부(120)에게 요청할 수 있다. 비활성화 이전의 상태는 제1 내지 제3활성화 상태 중 하나이다.On the other hand, if the non-exclusive mode is set as a result of operation 350, in operation 370, the VM controller 190 may hyper-restore the deactivated VM among VMs previously used by the user terminal 10 to a state before deactivation. The visor 120 may make a request. The state before deactivation is one of the first to third activation states.

380단계에서, VM 제어부(190)는 하이퍼바이저부(120)로부터 VM의 상태가 변경되었음을 나타내는 보고를 수신한다.In operation 380, the VM controller 190 receives a report indicating that the state of the VM has been changed from the hypervisor 120.

390단계에서, VM 제어부(190)는 VM의 변경된 상태를 제2DB(180)의 제4영역에 저장한다.
In operation 390, the VM controller 190 stores the changed state of the VM in the fourth region of the second DB 180.

도 4는 본 발명의 일 실시예에 따른 하이퍼바이저부(120)의 VM 제어 방법을 설명하기 위한 흐름도이다.4 is a flowchart illustrating a VM control method of the hypervisor 120 according to an embodiment of the present invention.

405단계에서, 하이퍼바이저부(120)는 VM 제어부(190)로부터 적어도 하나의 VM의 활성화 요청을 수신한다.
In operation 405, the hypervisor 120 receives an activation request of at least one VM from the VM controller 190.

410단계에서, 하이퍼바이저부(120)는 적어도 하나의 VM의 활성화가 완료되었음을 VM 제어부(190)에게 보고한다.In operation 410, the hypervisor unit 120 reports to the VM controller 190 that activation of at least one VM is completed.

한편, 사용자 단말기(10)가 이동한 위치에 비배타적 모드가 설정되어 있으면, 415단계에서, 하이퍼바이저부(120)는 VM 제어부(190)로부터 다른 VM의 복구를 요청하는 메시지를 수신할 수 있다. 메시지는 다른 VM의 ID와 다른 VM이 이전 위치에서 비활성화된 방식에 대한 정보를 포함할 수 있다. '다른 VM'은 사용자 단말기(10)가 이전에 사용한 VM들 중 이전 위치에서 비활성화된 VM일 수 있다. '복구'는 상기 다른 VM을 비활성화 이전의 상태로 되돌리는 것을 의미한다.On the other hand, if the non-exclusive mode is set to the position where the user terminal 10 has moved, in step 415, the hypervisor unit 120 may receive a message requesting the recovery of another VM from the VM controller 190. . The message may include the ID of another VM and information about how the other VM was deactivated in the previous location. 'Other VM' may be a VM deactivated at a previous position among VMs previously used by the user terminal 10. 'Recovery' means to return the other VM to the state before deactivation.

420단계에서, 하이퍼바이저부(120)는 비활성화된 방식으로부터 적어도 하나의 VM의 비활성화 상태를 판단한다.In operation 420, the hypervisor 120 determines the deactivation state of at least one VM from the deactivated method.

425단계에서, 판단된 비활성화 상태가 제1비활성화 상태이면, 430단계에서, 하이퍼바이저부(120)는 다른 VM의 전원을 온 시키고, 시스템 자원 사용권한을 부여한다.In operation 425, if the determined deactivation state is the first inactivation state, in operation 430, the hypervisor unit 120 turns on the power of another VM and grants the use of system resource.

또는, 435단계에서, 판단된 비활성화 상태가 제2비활성화 상태이면, 하이퍼바이저부(120)는 430단계를 수행한다.Alternatively, in operation 435, if the determined deactivation state is the second inactivation state, the hypervisor 120 performs operation 430.

또는, 440단계에서, 판단된 비활성화 상태가 제3비활성화 상태이면, 445단계에서, 하이퍼바이저부(120)는 다른 VM에게 입출력 제어권한을 부여할 수 있다.Alternatively, in operation 440, if the determined deactivation state is a third inactivation state, in operation 445, the hypervisor unit 120 may grant an input / output control right to another VM.

430단계 및 445단계 후 하이퍼바이저부(120)는 후술할 485단계를 수행한다.After step 430 and step 445, the hypervisor 120 performs step 485 to be described later.

한편, 사용자 단말기(10)가 이동한 위치에 배타적 모드가 설정되어 있으면, 450단계에서, 하이퍼바이저부(120)는 VM 제어부(190)로부터 이전 위치에서 사용된 다른 VM의 비활성화를 요청하는 메시지를 수신할 수 있다. 455단계에서 수신되는 메시지는 다른 VM을 비활성화하는 방식에 대한 정보를 포함할 수 있다.On the other hand, if the exclusive mode is set to the position where the user terminal 10 is moved, in step 450, the hypervisor 120 receives a message requesting the deactivation of the other VM used in the previous position from the VM control unit 190 Can be received. The message received in step 455 may include information on a method of deactivating another VM.

455단계에서, 비활성화 방식이 제1비활성화 방식이면, 460단계에서, 하이퍼바이저부(120)는 다른 VM의 전원을 오프할 수 있다.In operation 455, if the deactivation method is the first deactivation method, in operation 460, the hypervisor 120 may power off another VM.

또는, 465단계에서, 비활성화 방식이 제2비활성화 방식이면, 470단계에서, 하이퍼바이저부(120)는 다른 VM에 기부여된 시스템 자원의 사용 권한을 회수할 수 있다.Alternatively, in operation 465, if the deactivation method is the second deactivation method, in operation 470, the hypervisor 120 may recover the use right of the system resource donated to another VM.

또는, 475단계에서, 비활성화 방식이 제3비활성화 방식이면, 480단계에서, 하이퍼바이저부(120)는 자원의 사용권한은 유지하되(즉, 백그라운드에서는 동작하되) 다른 VM에 기부여된 입출력 제어권한을 회수할 수 있다.Or, in step 475, if the deactivation method is a third deactivation method, in step 480, the hypervisor unit 120 maintains the permission to use the resource (that is, operates in the background), but the I / O control authority contributed to another VM Can be recovered.

485단계에서, 하이퍼바이저부(120)는 다른 VM의 비활성화가 완료되었음을 VM 제어부(190)에게 보고할 수 있다.In operation 485, the hypervisor 120 may report to the VM controller 190 that the deactivation of another VM is completed.

도 5는 본 발명의 일 실시예에 따른 서버(100)의 VM 제공 방법을 설명하기 위한 흐름도이다.5 is a flowchart illustrating a VM providing method of the server 100 according to an embodiment of the present invention.

510단계에서, 위치 판별부(170)는 사용자 단말기(10)의 논리적 위치가 변경되면, 변경된 논리적 위치를 판별 및 저장한다.In step 510, if the logical location of the user terminal 10 is changed, the location determiner 170 determines and stores the changed logical location.

515단계에서, 위치 판별부(170)는 변경된 논리적 위치의 정보 및 사용자 단말기(10)의 ID를 VM 제어부(190)에게 통지할 수 있다.In operation 515, the location determiner 170 may notify the VM controller 190 of the changed logical location information and the ID of the user terminal 10.

520단계에서, VM 제어부(190)는 제2DB(180)의 제2영역을 조회하여, 515단계에 의해 수신된 사용자 단말기(10)의 ID와 매핑되는 사용자 ID를 확인한다.In step 520, the VM controller 190 inquires the second area of the second DB 180 and checks the user ID mapped with the ID of the user terminal 10 received in step 515.

525단계에서, VM 제어부(190)는 제2DB(180)의 제3영역을 조회하여, 변경된 논리적 위치 및 사용자 ID에 매핑되는 적어도 하나의 VM을 확인한다.In step 525, the VM controller 190 inquires the third area of the second DB 180 to identify at least one VM mapped to the changed logical location and the user ID.

530단계에서, VM 제어부(190)는 확인된 적어도 하나의 VM을 활성화하도록 하이퍼바이저부(120)에게 요청한다. 예를 들어, VM 제어부(190)는 330단계에서 확인된 적어도 하나의 VM이 비활성화 상태에 있으면, 적어도 하나의 VM이 비활성화된 방식을 고려하여 활성화하도록 요청할 수 있다. VM이 비활성화된 방식은 제1 내지 제3비활성화 방식 중 하나일 수 있다.In operation 530, the VM controller 190 requests the hypervisor 120 to activate the at least one identified VM. For example, when the at least one VM identified in operation 330 is in an inactive state, the VM controller 190 may request to activate the at least one VM in consideration of a deactivated method. The manner in which the VM is deactivated may be one of the first to third deactivation schemes.

535단계에서, 하이퍼바이저부(120)는 적어도 하나의 VM을 배타적 모드 또는 비배타적 모드에서 활성화시킬 수 있다. In operation 535, the hypervisor 120 may activate at least one VM in an exclusive mode or a non-exclusive mode.

540단계에서, 하이퍼바이저부(120)는 VM 제어부(190)에게 활성화가 완료되었음을 보고할 수 있다.In operation 540, the hypervisor 120 may report to the VM controller 190 that activation is complete.

545단계에서, VM 제어부(190)는 제2DB(180)의 제3영역을 조회하여 사용자 ID 및 논리적 위치에 배타적 모드가 설정되어 있는지 확인한다.In step 545, the VM controller 190 inquires of the third area of the second DB 180 and checks whether an exclusive mode is set in the user ID and the logical location.

550단계에서, 확인 결과 비배타적 모드가 설정되어 있으면, VM 제어부(190)는 다른 VM을 비활성화 이전의 상태로 복구하도록 하이퍼바이저부(120)에게 요청할 수 있다. 이를 위하여, VM 제어부(190)는 제4영역에 저장된 비활성화된 방식에 대한 정보를 하이퍼바이저부(120)에게 제공할 수 있다. 비활성화된 방식은 가상 단말기가 이전 위치에서 비활성된 경우, 비활성화되기 이전의 상태를 알 수 있도록 한다.In operation 550, if the non-exclusive mode is set as a result of the check, the VM controller 190 may request the hypervisor 120 to restore another VM to a state before deactivation. To this end, the VM controller 190 may provide the hypervisor 120 with information about the deactivated scheme stored in the fourth region. The deactivated scheme enables the virtual terminal to know the state before deactivation when the deactivated at the previous position.

반면, 555단계에서, 확인 결과 배타적 모드가 설정되어 있으면, VM 제어부(190)는 다른 VM을 비활성화하도록 하이퍼바이저부(120)에게 요청할 수 있다. '다른 VM'은 사용자 단말기(10)가 이전 위치에서 사용한 VM이다. 이를 위하여, VM 제어부(190)는 제3영역에 설정된 비활성화 방식의 정보를 하이퍼바이저부(120)에게 제공할 수 있다. 설정된 비활성화 방식은 제1 내지 제3비활성화 방식 중 하나일 수 있다.On the other hand, in operation 555, if the exclusive mode is set as a result of the check, the VM controller 190 may request the hypervisor 120 to deactivate another VM. 'Other VM' is a VM used by the user terminal 10 at a previous location. To this end, the VM controller 190 may provide the hypervisor unit 120 with information of a deactivation method set in the third region. The set deactivation scheme may be one of the first to third deactivation schemes.

560단계에서, 하이퍼바이저부(120)는 550단계 또는 550단계의 요청에 따라 상기 다른 VM의 상태를 변경한다. 예를 들어, 하이퍼바이저부(120)는 550단계에서 제공받은 다른 VM이 비활성화된 방식을 참조하여, 다른 VM을 활성화시킨다. 또한, 하이퍼바이저부(120)는 555단계에서 제공받은 비활성화 방식을 참조하여, 다른 VM을 비활성화시킨다. In operation 560, the hypervisor unit 120 changes the state of the other VM according to the request in operation 550 or 550. For example, the hypervisor unit 120 activates another VM by referring to a method in which another VM provided in operation 550 is deactivated. In addition, the hypervisor 120 refers to the deactivation method provided in step 555 to deactivate another VM.

565단계에서, 하이퍼바이저부(120)는 요청된 VM의 상태가 변경되었음을 VM 제어부(190)에게 통지할 수 있다.In operation 565, the hypervisor 120 may notify the VM controller 190 that the state of the requested VM has changed.

570단계에서, VM 제어부(190)는 VM의 변경된 상태를 제2DB(180)의 제4영역에 갱신한다. 갱신된 정보는 사용자 단말기(10)의 위치가 변경될 때 사용될 수 있다.In operation 570, the VM controller 190 updates the changed state of the VM in the fourth region of the second DB 180. The updated information may be used when the location of the user terminal 10 is changed.

본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.The methods according to embodiments of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.

100: 서버 110: 하드웨어부
120: 하이퍼바이저부 130, 140, 150: 제1 내지 제3서비스 모듈
160: 제1데이터 베이스 170: 위치 판별부
180: 제2데이터 베이스 190: 가상 머신(VM) 제어부
100: server 110: hardware unit
120: hypervisor unit 130, 140, 150: first to third service module
160: first database 170: position determination unit
180: second database 190: virtual machine (VM) control unit

Claims (26)

사용자 단말기에게 제공되는 복수 개의 가상 머신들;
물리적 위치와 논리적 위치가 서로 매핑된 물리적-논리적 위치 매핑 정보를 저장하는 제1DB;
상기 복수 개의 가상 머신들의 각각에 대하여 {사용자 ID, 논리적 위치의 ID, 및 가상머신의 배타적 성향의 유무}가 매핑된 제1목록을 저장하는 제2DB;
상기 제1DB에 저장된 물리적-논리적 위치 매핑 정보를 참조하여, 상기 사용자 단말기의 물리적 위치로부터 논리적 위치를 판별하는 위치 판별부;
상기 복수 개의 가상 머신들을 선택적으로 활성화시키는 하이퍼바이저부;
상기 제2DB에 저장된 제1목록을 참조하여, 상기 복수 개의 가상 머신들 중 상기 사용자 단말기의 논리적 위치에 매핑되는 적어도 하나의 가상 머신을 결정하고, 결정한 적어도 하나의 가상 머신을 활성화하도록 상기 하이퍼바이저부에게 요청하는 가상 머신 제어부;를 포함하는 특정 위치에 지정된 가상 머신을 제공하는 서버.
A plurality of virtual machines provided to the user terminal;
A first DB for storing physical-logical location mapping information in which a physical location and a logical location are mapped to each other;
A second DB for storing a first list in which {user ID, ID of logical location, and exclusive propensity of the virtual machine] are mapped to each of the plurality of virtual machines;
A position determination unit for determining a logical position from the physical position of the user terminal by referring to the physical-logical position mapping information stored in the first DB;
A hypervisor unit for selectively activating the plurality of virtual machines;
The hypervisor unit may be configured to determine at least one virtual machine mapped to a logical location of the user terminal among the plurality of virtual machines with reference to the first list stored in the second DB, and to activate the determined at least one virtual machine. And a virtual machine controller requesting the server.
제1항에 있어서,
상기 제2DB는, 사용자 ID와 사용자 단말기 ID가 서로 매핑된 제2목록을 더 저장하며,
상기 가상 머신 제어부는, 상기 제2목록을 참조하여 상기 사용자 단말기 ID에 매핑된 사용자 ID를 결정하고, 상기 제1목록을 참조하여 상기 사용자 ID에 매핑된 가상 머신을, 활성화시킬 가상머신으로서 결정하는 것을 특징으로 하는 특정 위치에 지정된 가상 머신을 제공하는 서버.
The method of claim 1,
The second DB further stores a second list in which a user ID and a user terminal ID are mapped to each other.
The virtual machine controller determines a user ID mapped to the user terminal ID with reference to the second list, and determines the virtual machine mapped to the user ID as a virtual machine to be activated with reference to the first list. A server for providing a virtual machine designated at a specific location, characterized in that.
제1항에 있어서,
상기 가상 머신 제어부는,
상기 제1목록에서, 상기 사용자 단말기의 논리적 위치에 배타적 성향이 설정되어 있으면, 상기 논리적 위치에서 사용하도록 매핑된 가상 머신을 제외한 나머지 가상 머신은 비활성화 시키도록 상기 하이퍼바이저부에게 요청하는 것을 특징으로 하는 특정 위치에 지정된 가상 머신을 제공하는 서버.
The method of claim 1,
The virtual machine control unit,
In the first list, if an exclusive propensity is set in the logical location of the user terminal, the hypervisor unit is requested to deactivate the virtual machines except for the virtual machines mapped for use in the logical location. Server that provides a virtual machine assigned to a specific location.
제3항에 있어서,
상기 제1목록은, 상기 사용자 단말기의 논리적 위치에서 활성화되는 가상 머신을 제외한 나머지 가상 머신에 대한 비활성화 상태를 나타내는 비활성화 방식을 더 포함하는 것을 특징으로 하는 특정 위치에 지정된 가상 머신을 제공하는 서버.
The method of claim 3,
The first list may further include a deactivation scheme indicating a deactivation state of the remaining virtual machines other than the virtual machines activated at the logical location of the user terminal.
제1항에 있어서,
상기 위치 판별부는,
상기 사용자 단말기의 물리적 위치가 변경된 경우, 상기 제1DB에 저장된 물리적-논리적 위치 매핑 정보를 참조하여 논리적 위치를 판별하며, 판별 결과 논리적 위치가 변경된 것으로 판단되면 변경된 논리적 위치를 상기 가상 머신 제어부에게 통지하는 것을 특징으로 하는 특정 위치에 지정된 가상 머신을 제공하는 서버.
The method of claim 1,
The position determining unit may determine,
When the physical location of the user terminal is changed, the logical location is determined by referring to the physical-logical location mapping information stored in the first DB, and when it is determined that the logical location is changed, notifying the virtual machine controller of the changed logical location. A server for providing a virtual machine designated at a specific location, characterized in that.
제5항에 있어서,
상기 가상 머신 제어부는,
상기 제1목록을 참조하여, 상기 복수의 가상 머신들 중에서, 상기 변경된 논리적 위치에서 활성화시킬 가상 머신을 결정하고, 상기 변경된 논리적 위치에서 활성화시킬 것으로 결정한 가상머신을 활성화시키도록 상기 하이퍼바이저부에게 요청하는 것을 특징으로 하는 특정 위치에 지정된 가상 머신을 제공하는 서버.
The method of claim 5,
The virtual machine control unit,
With reference to the first list, among the plurality of virtual machines, the virtual machine is determined to be activated at the changed logical location, and the hypervisor unit is requested to activate the virtual machine which is determined to be activated at the changed logical location. The server for providing a virtual machine specified in a specific location, characterized in that.
제6항에 있어서,
상기 가상 머신 제어부는,
상기 변경된 논리적 위치에서 활성화시킬 것으로 결정한 가상머신에 대하여 배타적 성향이 설정된 경우, 논리적 위치가 변경되기 전에 활성화되어 사용되던 가상머신의 사용을 제한하는 것을 특징으로 하는 특정 위치에 지정된 가상 머신을 제공하는 서버.
The method according to claim 6,
The virtual machine control unit,
When an exclusive propensity is set for the virtual machine determined to be activated at the changed logical location, the server providing the virtual machine designated at the specific location is restricted, using the virtual machine that was activated and used before the logical location was changed. .
제7항에 있어서,
상기 가상 머신 제어부는,
상기 변경된 논리적 위치에서 활성화시킬 것으로 결정한 가상머신에 대하여 배타적 성향이 설정된 경우, 논리적 위치가 변경되기 전에 활성화되어 사용되던 가상머신에 대하여, 전원을 오프시키는 제1비활성화 상태, 전원은 유지되나 자원의 사용권한은 회수하는 제2비활성화 상태 및 자원의 사용권한은 유지되나 입출력 제어권한이 회수하는 제3비활성화 상태 중 어느 하나의 상태로 사용되도록 상기 하이퍼바이저부에게 요청하는 것을 특징으로 하는 특정 위치에 지정된 가상 머신을 제공하는 서버.
The method of claim 7, wherein
The virtual machine control unit,
When an exclusive propensity is set for the virtual machine determined to be activated at the changed logical location, the first inactive state for turning off the power to the virtual machine that was activated and used before the logical location is changed, the power is maintained, but the use of resources Rights are assigned to a specific location, characterized in that the hypervisor unit is requested to be used as either of the second inactive state to retrieve and the right to use the resource is retained, but the third inactive state to retrieve I / O control authority. Server providing the machine.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 사용자 단말기에게 제공되는 복수 개의 가상 머신들 및 상기 복수 개의 가상 머신들을 선택적으로 활성화시키는 하이퍼바이저부를 포함하는 서버의 가상 머신 제공 방법에 있어서,
물리적 위치와 논리적 위치가 서로 매핑된 물리적-논리적 위치 매핑 정보를 저장하는 단계;
상기 복수 개의 가상 머신들의 각각에 대하여 {사용자 ID, 논리적 위치의 ID, 및 가상머신의 배타적 성향의 유무}가 매핑된 제1목록을 저장하는 단계;
상기 물리적-논리적 위치 매핑 정보를 참조하여, 사용자 단말기의 물리적 위치에 따른 논리적 위치를 판별하는 단계;
상기 제1목록을 참조하여, 상기 복수 개의 가상 머신들 중 상기 사용자 단말기의 현재 논리적 위치에 기초하여 상기 사용자 단말기의 현재 논리적 위치에서 실행할 가상 머신을 결정하는 단계; 및
상기 결정된 가상 머신을 활성화시키도록 상기 하이퍼바이저부에게 요청하는 단계; 를 포함하는 서버에서의 위치 기반 가상 머신 제공 방법.
A virtual machine providing method of a server comprising a plurality of virtual machines provided to a user terminal and a hypervisor unit for selectively activating the plurality of virtual machines,
Storing physical-logical location mapping information in which a physical location and a logical location are mapped to each other;
Storing a first list of {user ID, ID of logical location, and presence or absence of exclusive propensity of virtual machine} mapped to each of the plurality of virtual machines;
Determining a logical location according to a physical location of a user terminal by referring to the physical-logical location mapping information;
Determining a virtual machine to be executed at a current logical position of the user terminal based on a current logical position of the user terminal among the plurality of virtual machines with reference to the first list; And
Requesting the hypervisor unit to activate the determined virtual machine; Location-based virtual machine providing method in the server comprising a.
제15항에 있어서,
상기 제1목록을 저장하는 단계 이전에, 사용자 ID와 사용자 단말기 ID가 서로 매핑된 제2목록을 저장하는 단계;를 더 포함하며,
상기 가상 머신을 결정하는 단계는, 상기 제2목록을 참조하여 상기 사용자 단말기 ID에 매핑된 사용자 ID를 결정하고, 상기 제1목록을 참조하여 상기 사용자 ID에 매핑된 가상 머신을, 활성화시킬 가상머신으로서 결정하는 것을 특징으로 하는, 서버에서의 위치 기반 가상 머신 제공 방법.
16. The method of claim 15,
Before storing the first list, storing a second list in which a user ID and a user terminal ID are mapped to each other;
The determining of the virtual machine may include determining a user ID mapped to the user terminal ID with reference to the second list, and activating a virtual machine mapped to the user ID with reference to the first list. Determining a location as a method of providing a location-based virtual machine at a server.
제15항에 있어서,
상기 하이퍼바이저부에게 요청하는 단계는,
상기 제1목록에서, 상기 사용자 단말기의 논리적 위치에 배타적 성향이 설정되어 있으면, 상기 논리적 위치에서 사용하도록 매핑된 가상 머신을 제외한 나머지 가상 머신은 비활성화 시키도록 상기 하이퍼바이저부에게 요청하는 단계인 것을 특징으로 하는, 서버에서의 위치 기반 가상 머신 제공 방법.
16. The method of claim 15,
The step of requesting the hypervisor unit,
In the first list, if an exclusive propensity is set in the logical location of the user terminal, requesting the hypervisor to disable the virtual machines other than the virtual machines mapped for use in the logical location. Method for providing a location-based virtual machine on the server.
제17항에 있어서,
상기 제1목록은, 상기 사용자 단말기의 논리적 위치에서 활성화되는 가상 머신을 제외한 나머지 가상 머신에 대한 비활성화 상태를 나타내는 비활성화 방식을 더 포함하는 것을 특징으로 하는, 서버에서의 위치 기반 가상 머신 제공 방법.
18. The method of claim 17,
The first list may further include a deactivation scheme indicating a deactivation state of the remaining virtual machines except the virtual machines activated at the logical location of the user terminal.
제15항에 있어서,
상기 논리적 위치를 판별하는 단계는, 상기 사용자 단말기의 물리적 위치가 변경된 경우, 상기 물리적-논리적 위치 매핑 정보를 참조하여 논리적 위치를 판별하며,
논리적 위치가 변경된 경우, 변경된 논리적 위치에 대하여 상기 가상 머신을 결정하는 단계가 수행되는 것을 특징으로 하는, 서버에서의 위치 기반 가상 머신 제공 방법.
16. The method of claim 15,
The determining of the logical location may include determining the logical location by referring to the physical-logical location mapping information when the physical location of the user terminal is changed.
If the logical location has changed, determining the virtual machine with respect to the changed logical location is performed.
제19항에 있어서,
상기 가상 머신을 결정하는 단계는, 상기 제1목록을 참조하여, 상기 복수의 가상 머신들 중에서, 상기 변경된 논리적 위치에서 활성화시킬 가상 머신을 결정하는 단계이고,
상기 하이퍼바이저부에게 요청하는 단계는, 상기 변경된 논리적 위치에서 활성화시킬 것으로 결정한 가상머신을 활성화시키도록 상기 하이퍼바이저부에게 요청하는 것을 특징으로 하는, 서버에서의 위치 기반 가상 머신 제공 방법.
20. The method of claim 19,
The determining of the virtual machine may include determining a virtual machine to be activated at the changed logical location among the plurality of virtual machines with reference to the first list.
The requesting of the hypervisor unit may include requesting the hypervisor unit to activate a virtual machine determined to be activated at the changed logical location.
제20항에 있어서,
상기 가상 머신을 결정하는 단계는, 또한, 상기 제1목록을 참조하여, 상기 변경된 논리적 위치에서 활성화시킬 것으로 결정한 가상머신에 대하여 배타적 성향이 설정되었는지를 판단하며,
상기 하이퍼바이저부에게 요청하는 단계는, 또한, 상기 배타적 성향이 설정된 경우, 논리적 위치가 변경되기 전에 활성화되어 사용되던 가상머신의 사용을 제한하도록 상기 하이퍼바이저부에게 요청하는 것을 특징으로 하는, 서버에서의 위치 기반 가상 머신 제공 방법.
21. The method of claim 20,
The determining of the virtual machine may further include referring to the first list to determine whether an exclusive propensity is set for the virtual machine determined to be activated at the changed logical location,
The requesting of the hypervisor unit may further include, when the exclusive propensity is set, request the hypervisor unit to limit the use of the virtual machine that was activated and used before the logical position is changed. Location-based virtual machine provisioning.
사용자 단말기 및 상기 사용자 단말기에 제공되는 복수 개의 가상 머신들을 로딩하는 서버를 포함하는 가상 머신 로딩 시스템에 있어서,
상기 서버는, 상기 사용자 단말기의 물리적 위치를 수신하고, 물리적 위치와 논리적 위치가 서로 매핑된 물리적-논리적 위치 매핑 정보를 참조하여, 상기 사용자 단말기의 논리적 위치를 판별하고, 상기 복수 개의 가상 머신들의 각각에 대하여 {사용자 ID, 논리적 위치의 ID, 및 가상머신의 배타적 성향의 유무}가 매핑된 제1목록을 참조하여, 상기 복수 개의 가상 머신들 중 상기 사용자 단말기의 논리적 위치에 매핑되는 적어도 하나의 가상 머신을 결정하고, 결정한 적어도 하나의 가상 머신을 활성화시켜서 상기 사용자 단말기에게 제공하는 것을 특징으로 하는 특정 위치에 지정된 가상 머신을 로딩하는 시스템.
A virtual machine loading system comprising a user terminal and a server loading a plurality of virtual machines provided to the user terminal,
The server receives a physical location of the user terminal, determines a logical location of the user terminal by referring to physical-logical location mapping information in which a physical location and a logical location are mapped to each other, and determines each of the plurality of virtual machines. At least one virtual mapped to a logical location of the user terminal among the plurality of virtual machines with reference to a first list of {user ID, ID of logical location, and existence of exclusive propensity of virtual machine} mapped to And determine a machine, and activate and provide the determined at least one virtual machine to the user terminal.
제22항에 있어서,
상기 서버는, 사용자 ID와 사용자 단말기 ID가 서로 매핑된 제2목록을 참조하여 상기 사용자 단말기 ID에 매핑된 사용자 ID를 결정한 후, 상기 제1목록을 참조하여 상기 사용자 ID에 매핑된 가상 머신을, 상기 사용자 단말기에게 제공할 가상머신으로서 결정하는 것을 특징으로 하는 특정 위치에 지정된 가상 머신을 로딩하는 시스템.
The method of claim 22,
The server may determine a user ID mapped to the user terminal ID by referring to a second list in which a user ID and a user terminal ID are mapped to each other, and then refer to the first list to determine a virtual machine mapped to the user ID. And determine a virtual machine to be provided to the user terminal.
제22항에 있어서,
상기 서버는, 상기 제1목록에서, 상기 사용자 단말기의 논리적 위치에 배타적 성향이 설정되어 있으면, 상기 논리적 위치에서 사용하도록 매핑된 가상 머신을 제외한 나머지 가상 머신은 비활성화 시키는 것을 특징으로 하는 특정 위치에 지정된 가상 머신을 로딩하는 시스템.
The method of claim 22,
If an exclusive propensity is set in the logical location of the user terminal in the first list, the server deactivates the remaining virtual machines except the virtual machines mapped for use in the logical location. A system for loading virtual machines.
제24항에 있어서
상기 서버는,
상기 사용자 단말기의 물리적 위치가 변경된 경우, 상기 물리적-논리적 위치 매핑 정보를 참조하여 논리적 위치를 다시 판별하며, 판별 결과 논리적 위치가 변경된 것으로 판단되면, 상기 제1목록을 참조하여, 변경된 논리적 위치에 매핑된 가상 머신을 결정하는 것을 특징으로 하는 특정 위치에 지정된 가상 머신을 로딩하는 시스템.
The method of claim 24
The server,
When the physical location of the user terminal is changed, the logical location is determined again by referring to the physical-logical location mapping information. When the determination is that the logical location is changed, the mapping is performed to the changed logical location by referring to the first list. A system for loading a designated virtual machine at a specific location, wherein the determined virtual machine is determined.
제23항에 있어서
상기 서버는,
상기 제1목록 참조 결과, 변경된 논리적 위치에서 활성화시킬 것으로 결정한 가상머신에 대하여 배타적 성향이 설정된 경우, 논리적 위치가 변경되기 전에 활성화되어 사용되던 가상머신에 대하여, 전원을 오프시키는 제1비활성화 상태, 전원은 유지되나 자원의 사용권한은 회수하는 제2비활성화 상태 및 자원의 사용권한은 유지되나 입출력 제어권한이 회수하는 제3비활성화 상태 중 어느 하나의 상태로 유지시키는 것을 특징으로 하는 특정 위치에 지정된 가상 머신을 로딩하는 시스템.
The method of claim 23, wherein
The server,
As a result of referring to the first list, when an exclusive propensity is set for the virtual machine determined to be activated at the changed logical position, the first inactive state and power to turn off the power to the virtual machine that was activated and used before the logical position is changed. Is maintained in one of the second inactive states in which the resource usage rights are retained but the third inactive state in which the usage rights of the resources are retained but the I / O control authority is restored. System for loading.
KR1020100061399A 2010-06-28 2010-06-28 System for Providing Virtual Machine and Server and Method used in the System KR101208776B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100061399A KR101208776B1 (en) 2010-06-28 2010-06-28 System for Providing Virtual Machine and Server and Method used in the System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100061399A KR101208776B1 (en) 2010-06-28 2010-06-28 System for Providing Virtual Machine and Server and Method used in the System

Publications (2)

Publication Number Publication Date
KR20120000889A KR20120000889A (en) 2012-01-04
KR101208776B1 true KR101208776B1 (en) 2012-12-05

Family

ID=45608647

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100061399A KR101208776B1 (en) 2010-06-28 2010-06-28 System for Providing Virtual Machine and Server and Method used in the System

Country Status (1)

Country Link
KR (1) KR101208776B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101658070B1 (en) * 2012-01-26 2016-09-22 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 Data center with continuous world switch security
KR101499668B1 (en) * 2013-01-31 2015-03-06 주식회사 시큐아이 Device and method for fowarding network frame in virtual execution environment
KR101644678B1 (en) * 2013-06-28 2016-08-01 주식회사 케이티 Methods for supporting mobility of virtual machine in network input output virtualization environment and apparatus for performing the same

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100945476B1 (en) 2009-09-10 2010-03-05 주식회사 파수닷컴 Apparatus and method for digital rights management using virtualization technique

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100945476B1 (en) 2009-09-10 2010-03-05 주식회사 파수닷컴 Apparatus and method for digital rights management using virtualization technique

Also Published As

Publication number Publication date
KR20120000889A (en) 2012-01-04

Similar Documents

Publication Publication Date Title
US11321452B2 (en) Execution environment virtualization method and apparatus and virtual execution environment access method and apparatus
US10117253B2 (en) Mobile terminal and resource management method of mobile terminal
CN109101318B (en) Virtual machine migration control method and device
US10379891B2 (en) Apparatus and method for in-memory-based virtual desktop service
US9971623B2 (en) Isolation method for management virtual machine and apparatus
US9756010B2 (en) Resolving network address conflicts
CN107077403B (en) Backup server, method and computer program product for user authorization
US20110131576A1 (en) Virtual machine migration managing method, computer using the method, virtualizer using the method and computer system using the method
WO2018063561A1 (en) Technologies for providing network interface support for remote memory and storage failover protection
KR101323858B1 (en) Apparatus and method for controlling memory access in virtualized system
US11470120B2 (en) Providing different levels of resource access to a computing device that is connected to a dock
WO2015074512A1 (en) Method and apparatus for accessing physical resources
EP3543850B1 (en) Cloud system data management method
EP3506093A1 (en) Application process management method and terminal device
US20180307498A1 (en) Driver Loading Method and Server
EP3528128B1 (en) Dual active storage system and address allocation method
EP3776221B1 (en) Secure interface disablement
JP2017511554A (en) Access isolation for multi-operating system devices
CN105069383A (en) Virtual desktop USB (Universal Serial Bus) storage peripheral management and control method and system
KR101208776B1 (en) System for Providing Virtual Machine and Server and Method used in the System
US9385919B2 (en) Information processing apparatus and setting information management method
KR101337208B1 (en) Method and apparatus for managing data of application in portable device
US20150127916A1 (en) Dynamic memory allocation
KR101151591B1 (en) System for Providing Virtual Machine based on Location Information and Server and Method used in the System
JP4576449B2 (en) Switch device and copy control method

Legal Events

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

Payment date: 20150930

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160920

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170928

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180927

Year of fee payment: 7