KR102375064B1 - Server and method for managing connection with virtual machine - Google Patents
Server and method for managing connection with virtual machine Download PDFInfo
- Publication number
- KR102375064B1 KR102375064B1 KR1020190059095A KR20190059095A KR102375064B1 KR 102375064 B1 KR102375064 B1 KR 102375064B1 KR 1020190059095 A KR1020190059095 A KR 1020190059095A KR 20190059095 A KR20190059095 A KR 20190059095A KR 102375064 B1 KR102375064 B1 KR 102375064B1
- Authority
- KR
- South Korea
- Prior art keywords
- virtual machine
- information
- connection
- physical interface
- server
- Prior art date
Links
Images
Classifications
-
- 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/45558—Hypervisor-specific management and integration aspects
-
- 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/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- 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/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Abstract
가상 머신과의 연결을 관리하는 호스트 서버는 비활성화 상태의 제 1 가상 머신에 대응하는 제 1 가상 머신 아이디 및 연결 설정 정보가 포함된 연결 요청 메시지를 매니저 서버로 전송하는 전송부, 제 1 가상 머신 아이디에 대응되고, 연결 설정 정보에 기초하여 조회된 적어도 하나의 물리 인터페이스에 대한 정보를 이용하여 갱신된 가상 머신 상세 정보를 매니저 서버로부터 수신하는 수신부; 가상 머신 상세 정보에 기초하여 제 1 가상 머신과 물리 인터페이스에 대한 정보에 대응되는 물리 인터페이스를 매핑하여 패스 쓰루 연결(Pass-through)을 수행하는 연결부 및 제 1 가상 머신을 부팅하는 부팅부를 포함할 수 있다. The host server managing the connection with the virtual machine includes a transmission unit that transmits a connection request message including a first virtual machine ID corresponding to the inactive first virtual machine and connection setting information to the manager server, the first virtual machine ID a receiving unit corresponding to and receiving detailed virtual machine information updated using information on at least one physical interface inquired based on the connection setting information from the manager server; A connection unit configured to perform pass-through connection by mapping a physical interface corresponding to the information on the first virtual machine and the physical interface based on the detailed virtual machine information; and a booting unit configured to boot the first virtual machine. there is.
Description
본 발명은 가상 머신과의 연결을 관리하는 서버 및 방법에 관한 것이다. The present invention relates to a server and method for managing a connection with a virtual machine.
종래에는 네트워크에 접속된 사용자 단말(예컨대, PC, 노트북, 포스(POS) 장치, 키오스크(KIOSK), 디지털 사이니지 장치 등)을 원격으로 제어 및 관리하기 위해 원격 화면 접속, 파일 시스템 기반 복구, 디스크리스 부팅(Diskless Booting) 등의 기술을 이용했다. Conventionally, remote screen access, file system-based recovery, disk Technologies such as diskless booting were used.
이 중, 디스크리스 부팅 기술(일명, 노 하드 기술)은 예를 들면, PC 방, 학교 PC 실습실 등에서 적용되고 있다. 이러한, 디스크리스 부팅 기술은 서버가 사용자 단말과 동일 랜(LAN) 상에 위치해야 하며, 네트워크나 서버의 일시적인 장애에도 모든 사용자 단말이 사용 불능 상태가 되는 등 장애 대응에 취약한 구조를 가지고 있다. Among them, diskless booting technology (aka, no-hard technology) is applied, for example, in a PC room, a school PC lab, and the like. This diskless booting technology has a structure that is vulnerable to failure, such that the server must be located on the same LAN as the user terminal, and all user terminals become unusable despite a temporary failure of the network or server.
한편, 사용자 단말의 제어 및 관리 솔루션인 원격 화면 접속 및 파일 시스템 기반 복구 솔루션은 사용자 단말의 운영체제(OS)의 상위 계층인 어플리케이션/드라이버(Application/Driver) 레벨에서 실행되기 때문에, 사용자 단말의 운영체제(특히, 윈도우)가 제대로 관리되지 않을 경우 해당 원격 화면 접속 및 파일 시스템 기반 복구 솔루션의 동작이 원활하지 못하다는 단점이 있다. On the other hand, since the remote screen access and file system-based recovery solution, which is a control and management solution of the user terminal, is executed at the Application/Driver level, which is an upper layer of the operating system (OS) of the user terminal, the operating system ( In particular, if Windows) is not properly managed, the remote screen access and file system-based recovery solution do not operate smoothly.
한편, 종래의 패스 쓰루 연결(Pass-through) 기술은 가상 머신의 가상 포트가 호스트 서버의 물리 인터페이스에 직접 연결되면, 가상화 레이어를 통해 가상 머신이 호스트 서버의 물리 인터페이스의 리소스를 직접 활용하는 기술이다. 이러한, 종래의 패스 쓰루 연결 기술을 이용하게 되면, 하나의 가상 머신이 하나의 물리 인터페이스와 연결되어 해당 물리 인터페이스의 자원을 독점하여 사용하게 된다. 이 경우, 가상 머신이 1개일 때는 문제가 발생하지 않으나, 가상 머신이 2개 이상일 때는 다른 가상 머신들이 호스트 서버의 물리 인터페이스의 자원을 공유하기 어렵고, 패스 쓰루 연결의 지원을 받지 못하는 가상 머신들에 성능 이슈의 문제가 발생한다. Meanwhile, in the conventional pass-through technology, when a virtual port of a virtual machine is directly connected to a physical interface of a host server, the virtual machine directly utilizes resources of a physical interface of a host server through a virtualization layer. . When such a conventional pass-through connection technology is used, one virtual machine is connected to one physical interface and the resource of the corresponding physical interface is monopolized and used. In this case, there is no problem when there is only one virtual machine, but when there are two or more virtual machines, it is difficult for other virtual machines to share the resources of the host server's physical interface, and for virtual machines that do not support pass-through connection, Performance issues arise.
본 발명은 복수의 가상 머신 간에 물리 인터페이스의 자원 공유를 위하여 가상 머신과의 연결을 관리하고자 한다. An object of the present invention is to manage a connection with a virtual machine in order to share resources of a physical interface between a plurality of virtual machines.
구체적으로, 본 발명은 비활성화 상태의 가상 머신과 물리 인터페이스 간의 패스 쓰루 연결(Pass-through)을 위한 연결 요청 메시지를 매니저 서버로 전송하고, 매니저 서버로부터 연결 요청 메시지에 대한 응답으로서 가상 머신 상세 정보를 매니저 서버로부터 수신한 경우, 수신된 가상 머신 상세 정보에 따라 가상 머신과 물리 인터페이스를 매핑하여 패스 쓰루 연결을 수행하고자 한다. Specifically, the present invention transmits a connection request message for a pass-through connection between an inactive virtual machine and a physical interface to the manager server, and provides detailed virtual machine information as a response to the connection request message from the manager server. When received from the manager server, a pass-through connection is attempted by mapping a virtual machine and a physical interface according to the received virtual machine detailed information.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다. However, the technical problems to be achieved by the present embodiment are not limited to the technical problems described above, and other technical problems may exist.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 가상 머신과의 연결을 관리하는 호스트 서버는 비활성화 상태의 제 1 가상 머신에 대응하는 제 1 가상 머신 아이디 및 연결 설정 정보가 포함된 연결 요청 메시지를 매니저 서버로 전송하는 전송부; 상기 제 1 가상 머신 아이디에 대응되고, 상기 연결 설정 정보에 기초하여 조회된 적어도 하나의 물리 인터페이스에 대한 정보를 이용하여 갱신된 가상 머신 상세 정보를 상기 매니저 서버로부터 수신하는 수신부; 상기 가상 머신 상세 정보에 기초하여 상기 제 1 가상 머신과 상기 물리 인터페이스에 대한 정보에 대응되는 물리 인터페이스를 매핑하여 패스 쓰루 연결(Pass-through)을 수행하는 연결부; 및 상기 제 1 가상 머신을 부팅하는 부팅부를 포함할 수 있다. As a technical means for achieving the above technical problem, the host server managing the connection with the virtual machine according to the first aspect of the present invention includes a first virtual machine ID and connection setting information corresponding to the first virtual machine in an inactive state. a transmission unit that transmits a connection request message including a connection request message to the manager server; a receiving unit corresponding to the first virtual machine ID and receiving, from the manager server, detailed virtual machine information updated using information on at least one physical interface queried based on the connection setting information; a connection unit for performing pass-through by mapping a physical interface corresponding to the information on the first virtual machine and the physical interface based on the detailed virtual machine information; and a booting unit for booting the first virtual machine.
본 발명의 제 2 측면에 따른 가상 머신과의 연결을 관리하는 매니저 서버는 호스트 서버로부터 가상 머신 아이디 및 연결 설정 정보가 포함된 연결 요청 메시지를 수신하는 수신부; 상기 가상 머신 아이디에 대응되는 가상 머신 상세 정보를 조회하고, 상기 연결 설정 정보에 기초하여 적어도 하나의 물리 인터페이스에 대한 정보를 조회하는 조회부; 상기 조회된 물리 인터페이스에 대한 정보를 이용하여 상기 조회된 가상 머신 상세 정보를 갱신하는 갱신부; 및 상기 갱신된 가상 머신 상세 정보를 상기 호스트 서버로 전송하는 전송부를 포함하고, 상기 전송된 가상 머신 상세 정보에 기초하여 상기 가상 머신과 상기 가상 머신 상세 정보에 포함된 물리 인터페이스에 대한 정보에 대응되는 물리 인터페이스가 매핑되어 패스 쓰루 연결(Pass-through)이 수행될 수 있다. A manager server for managing a connection with a virtual machine according to a second aspect of the present invention includes: a receiving unit for receiving a connection request message including a virtual machine ID and connection setting information from a host server; an inquiry unit that inquires detailed information about a virtual machine corresponding to the virtual machine ID, and inquires information on at least one physical interface based on the connection setting information; an update unit for updating the inquired detailed virtual machine information by using the inquired information on the physical interface; and a transmission unit for transmitting the updated detailed virtual machine information to the host server, wherein the information on the virtual machine and the physical interface included in the detailed virtual machine information is based on the transmitted detailed virtual machine information. A physical interface may be mapped to perform a pass-through connection.
본 발명의 제 3 측면에 따른 호스트 서버에서 가상 머신 과의 연결을 관리하는 방법은 활성화 상태의 제 1 가상 머신과 물리 인터페이스 간의 패스 쓰루 연결(Pass-through)을 해제하는 단계; 비활성화 상태의 제 2 가상 머신에 상기 물리 인터페이스를 매핑하여 패스 쓰루 연결을 수행하는 단계를 포함할 수 있다. According to a third aspect of the present invention, a method for managing a connection with a virtual machine in a host server includes releasing a pass-through connection between an activated first virtual machine and a physical interface; The method may include performing a pass-through connection by mapping the physical interface to a second virtual machine in an inactive state.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.The above-described problem solving means are merely exemplary, and should not be construed as limiting the present invention. In addition to the exemplary embodiments described above, there may be additional embodiments described in the drawings and detailed description.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명은 복수의 가상 머신 간에 물리 인터페이스의 자원 공유를 위하여 가상 머신과 물리 인터페이스 간 패스 쓰루 연결(Pass-through)을 동적으로 관리할 수 있다. 이를 통해 본 발명은 다이나믹 패쓰 쓰루 연결(Dynamic Pass-through)을 구현화할 수 있다. According to any one of the above-described problem solving means of the present invention, the present invention can dynamically manage a pass-through connection between a virtual machine and a physical interface in order to share resources of a physical interface between a plurality of virtual machines. . Through this, the present invention can implement a dynamic pass-through connection.
구체적으로, 본 발명은 비활성화 상태의 가상 머신과 물리 인터페이스 간의 패스 쓰루 연결을 위한 연결 요청 메시지를 매니저 서버로 전송하고, 매니저 서버로부터 연결 요청 메시지에 대한 응답으로서 가상 머신 상세 정보를 매니저 서버로부터 수신한 경우, 수신된 가상 머신 상세 정보에 따라 가상 머신과 물리 인터페이스를 매핑하여 패스 쓰루 연결을 수행할 수 있다. Specifically, the present invention transmits a connection request message for a pass-through connection between an inactive virtual machine and a physical interface to the manager server, and receives detailed virtual machine information from the manager server as a response to the connection request message from the manager server. In this case, the pass-through connection may be performed by mapping the virtual machine and the physical interface according to the received detailed virtual machine information.
이를 통해, 본 발명은 복수의 가상 머신 간에 동적인 물리 인터페이스의 리소스 공유 및 연결성을 제공할 수 있다.Through this, the present invention can provide resource sharing and connectivity of a dynamic physical interface between a plurality of virtual machines.
또한, 본 발명은 네트워크에 연결된 다수의 사용자 단말을 관리자가 원격으로 유지보수 및 관리 업무를 효율적으로 할 수 있도록 네트워크에 연결된 다수의 사용자 단말을 중앙 집중형 구조로 구현할 수 있다. In addition, the present invention can implement a plurality of user terminals connected to the network in a centralized structure so that an administrator can efficiently perform maintenance and management of a plurality of user terminals connected to the network remotely.
또한, 본 발명은 클라우드 서비스를 제공하기 위해서 서버에 적용되었던 가상화 기술(예컨대, Hypervisor, Pass-Through 기술 등)과 스토리지 관리 기술(예컨대, Snapshot, Differential Patch 등) 및 운용체제 기술(예컨대, Device Mapper 기술 등)을 활용하여 다수의 사용자 단말을 중앙 집중형 구조로 구현하고, 이를 통해 다수의 사용자 단말의 운영체제를 원격에서 관리할 수 있다. 이를 통해, 본 발명은 네트워크에 연결된 다수의 사용자 단말을 관리자가 원격에서 유지 보수 및 관리하기 때문에 현장 출동을 최소화하면서 효율적으로 사용자 단말을 관리할 수 있다. In addition, the present invention provides a virtualization technology (eg, Hypervisor, Pass-Through technology, etc.) applied to a server to provide a cloud service, a storage management technology (eg, Snapshot, Differential Patch, etc.) and an operating system technology (eg, Device Mapper). technology, etc.) to implement a plurality of user terminals in a centralized structure, and through this, the operating systems of the plurality of user terminals can be managed remotely. Through this, according to the present invention, since the administrator remotely maintains and manages a plurality of user terminals connected to the network, it is possible to efficiently manage the user terminals while minimizing field trips.
또한, 본 발명은 기존의 원격 제어 기술(예컨대, 칩셋 기반의 VPro 및 IPMI) 대신에 사용자 단말의 전원을 원격에서 제어하는 기술(예컨대, WOL(Wake-On-LAN) 기술, VPN 기술 등)을 이용하여 사용자 단말의 전원을 원격에서 제어 및 관리할 수 있다. 즉, 본 발명은 사용자 단말의 전원을 제어하는 WOL 기술과 별도의 VPN 기술을 활용하여 가상 머신의 전원을 원격에서 제어 및 관리할 수 있다. In addition, the present invention provides a technology for remotely controlling the power of a user terminal (eg, Wake-On-LAN (WOL) technology, VPN technology, etc.) instead of the existing remote control technology (eg, chipset-based VPro and IPMI). It can be used to remotely control and manage the power of the user terminal. That is, according to the present invention, the power of the virtual machine can be remotely controlled and managed by utilizing the WOL technology for controlling the power of the user terminal and a separate VPN technology.
이를 통하여 관리자가 다수의 사용자 단말을 중앙에서 효율적으로 유지보수 및 관리업무를 수행하고, 사용자도 사용자 단말의 장애에 대해서 실시간으로 원격으로 A/S 서비스를 받을 수 있도록 함으로써 전체적으로 서비스 가용성 및 만족도를 높일 수 있다.Through this, administrators efficiently perform maintenance and management of multiple user terminals centrally, and users can also receive A/S services remotely in real time for user terminal failures, thereby increasing overall service availability and satisfaction. can
또한, 본 발명은 기존 운영체제 위의 어플리케이션인 에이전트(Agent) 기반의 보안 및 관리 솔루션을 운영 체제의 하위 레벨인 호스트 운영체제(Host OS 또는 Hyper OS)에 적용하여 이전보다 안정성 및 보안성을 강화시킬 수 있고, 중앙관리의 추가적인 기능을 적용할 수 있다. In addition, the present invention can strengthen the stability and security than before by applying the agent-based security and management solution, which is an application above the existing operating system, to the host operating system (Host OS or Hyper OS), which is a lower level of the operating system. and additional functions of central management can be applied.
또한, 본 발명은 기존에 원격으로 사용자 단말을 유지보수 및 관리를 하기 위하여 제공되었던 별도의 전용 칩셋(vPRO,IPMI)과 운영체제의 솔루션을 사용자 단말에 설치할 필요 없이, 기본 하드웨어(H/W) 위에 호스트 운영체제만으로 기존보다 안전하고 신속하게 운영자의 업무 효율성을 높이고, 사용자 단말의 사용자의 만족도를 높일 수 있다. In addition, the present invention does not need to install a separate dedicated chipset (vPRO, IPMI) and an operating system solution in the user terminal, which were previously provided for remotely maintaining and managing the user terminal, on the basic hardware (H/W) With only the host operating system, it is possible to increase the work efficiency of the operator more safely and quickly than before, and to increase the satisfaction of the user of the user terminal.
또한, 본 발명은 기존의 전용 칩셋을 소프트웨어 방식으로 대체하여 사용자 단말의 관리 체계를 구축하는데 드는 투자비와 운영비를 줄일 수 있다. In addition, the present invention can reduce the investment cost and operating cost for establishing the management system of the user terminal by replacing the existing dedicated chipset with a software method.
도 1a 내지 1b는 본 발명의 일 실시예에 따른, 가상 머신 구동 시스템의 구성도이다.
도 2a 내지 2f는 본 발명의 일 실시예에 따른, 가상 머신의 구동 방법을 설명하기 위한 도면이다.
도 3a 내지 3c는 기존의 패스 쓰루 방식과 본 발명의 다이나믹 패스 쓰루 방식을 비교 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른, 도 1에 도시된 호스트 서버의 블록도이다.
도 5는 본 발명의 일 실시예에 따른, 도 1에 도시된 매니저 서버의 블록도이다.
도 6은 본 발명의 일 실시예에 따른, 호스트 서버에 의해 패스 쓰루 연결을 관리하는 방법을 나타낸 흐름도이다.
도 7은 본 발명의 일 실시예에 따른, 매니저 서버에 의해 패스 쓰루 연결을 관리하는 방법을 나타낸 흐름도이다.
도 8은 본 발명의 일 실시예에 따른, 가상 머신 구동 방법을 나타낸 흐름도이다.
도 9는 본 발명의 일 실시예에 따른, 가상 머신을 셧다운하는 방법을 나타낸 흐름도이다.
도 10a 내지 10b는 본 발명의 일 실시예에 따른, 패스 쓰루 연결을 관리하는 방법을 나타낸 동작 흐름도이다. 1A to 1B are diagrams of a virtual machine driving system according to an embodiment of the present invention.
2A to 2F are diagrams for explaining a method of driving a virtual machine according to an embodiment of the present invention.
3A to 3C are diagrams for explaining a comparison between the existing pass-through method and the dynamic pass-through method of the present invention.
4 is a block diagram of the host server shown in FIG. 1 according to an embodiment of the present invention.
5 is a block diagram of the manager server shown in FIG. 1 according to an embodiment of the present invention.
6 is a flowchart illustrating a method for managing a pass-through connection by a host server according to an embodiment of the present invention.
7 is a flowchart illustrating a method for managing a pass-through connection by a manager server according to an embodiment of the present invention.
8 is a flowchart illustrating a method of driving a virtual machine according to an embodiment of the present invention.
9 is a flowchart illustrating a method of shutting down a virtual machine according to an embodiment of the present invention.
10A to 10B are operational flowcharts illustrating a method for managing a pass-through connection according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art can easily implement them. However, the present invention may be embodied in several different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a part is "connected" with another part, this includes not only the case of being "directly connected" but also the case of being "electrically connected" with another element interposed therebetween. . Also, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. In this specification, a "part" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. In addition, one unit may be implemented using two or more hardware, and two or more units may be implemented by one hardware.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다. Some of the operations or functions described as being performed by the terminal or device in this specification may be instead performed by a server connected to the terminal or device. Similarly, some of the operations or functions described as being performed by the server may also be performed in a terminal or device connected to the server.
이하, 첨부된 구성도 또는 처리 흐름도를 참고하여, 본 발명의 실시를 위한 구체적인 내용을 설명하도록 한다. Hereinafter, detailed contents for carrying out the present invention will be described with reference to the accompanying configuration diagram or process flow diagram.
도 1a 내지 1b는 본 발명의 일 실시예에 따른, 가상 머신 구동 시스템의 구성도이다. 1A to 1B are diagrams of a virtual machine driving system according to an embodiment of the present invention.
도 1a를 참조하면, 가상 머신 구동 시스템은 호스트 서버(100) 및 매니저 서버(110)를 포함할 수 있다. 다만, 이러한 도 1의 가상 머신 구동 시스템은 본 발명의 일 실시예에 불과하므로 도 1을 통해 본 발명이 한정 해석되는 것은 아니며, 본 발명의 다양한 실시예들에 따라 도 1과 다르게 구성될 수도 있다. Referring to FIG. 1A , the virtual machine driving system may include a
종래의 가상 머신 구동 시스템은 기존의 운영체제 위의 어플리케이션인 에이전트(Agent) 중심으로 단일의 사용자 단말의 관리체계방식으로 이루어져있는 반면, 본 발명은 기존의 운영체제를 가상 머신(VM)의 운영체제로 구현시켜 운영체제의 하위 레벨에 위치한 호스트 서버에서 사용자 단말을 관리 및 제어할 수 있다. 예를 들면, 본 발명은 호스트 서버(100)에 하이퍼바이저(Hypervisor) 기술을 적용함으로써 복수의 사용자 단말의 어플리케이션 및 웹의 IP-트래픽 전송을 최적화할 수 있고, 가상 머신과 물리 인터페이스 간의 동적인 패스 쓰루 연결(Pass-Through)에 대한 관리를 제공함으로써 물리 인터페이스(즉, HDMI 및 USB)의 트래픽 전송을 최적화할 수 있다. While the conventional virtual machine driving system consists of a single user terminal management system centered on an agent, which is an application on the existing operating system, the present invention implements the existing operating system as an operating system of a virtual machine (VM). A host server located at a lower level of the operating system may manage and control the user terminal. For example, in the present invention, by applying a hypervisor technology to the
본 발명은 원격에서 사용자 단말의 전원을 제어하는 WOL(Wake-On-LAN) 기술과 별도의 VPN 기술을 활용하여 사용자 가상머신(VM)의 전원을 원격에서 관리할 수 있다. 여기서, WOL 기술은 일반적인 근거리 통신망(LAN)을 통해 메시지 패킷을 사용자 단말에 전달하여 사용자 단말의 전원을 켜거나 전원모드를 해제하기 위한 이더넷 컴퓨터 네트워킹 기술이다. The present invention can remotely manage the power of a user virtual machine (VM) by utilizing a Wake-On-LAN (WOL) technology that remotely controls the power of a user terminal and a separate VPN technology. Here, the WOL technology is an Ethernet computer networking technology for turning on the power of the user terminal or releasing the power mode by delivering a message packet to the user terminal through a general local area network (LAN).
본 발명은 별도의 물리 네트워크를 구성하지 않더라도 WOL 기술에 VPN 기술을 적용함으로써 호스트 서버(100)에서 VPN 터널링을 통해 가상머신과 통신하여 사용자 단말의 전원제어를 위한 메시지를 전달할 수 있다. 이러한, 호스트 서버(100)를 통한 전원 제어는 로컬에서 가능하며 호스트 서버(100) 내의 가상 머신에 대한 전원 관리가 원격으로 지원될 수 있다. In the present invention, even without configuring a separate physical network, by applying the VPN technology to the WOL technology, the
잠시, 도 1b를 참조하면, 호스트 서버(100)에서 제어되는 복수의 가상 머신은 최초 생성 시 VPN 클라이언트 모듈이 설치되어 구성될 수 있다. 복수의 가상 머신은 하이퍼 운영 체제에 설치된 VPN 서버로부터 RSA(Rivest Shamir Adleman)기반의 암호화된 인증키와 인증서를 발급받을 수 있다. 이 때, 가상머신의 VPN 클라이언트의 인증을 위한 암호화 알고리즘은 RSA기반의 암호화 알고리즘에 한정되진 않는다. VPN 서버로부터 인증을 받은 복수의 VPN 클라이언트 모듈에는 가상 터널링 인터페이스가 생성되며, VPN 서버를 통해 가상 VPN 망이 생성될 수 있다. For a moment, referring to FIG. 1B , a plurality of virtual machines controlled by the
여기서 생성된 가상 VPN 망은 독립된 LAN환경을 제공하는데, WOL 기술에 VPN 터널링에 적용하면 해당 터널링 인터페이스를 통해 전원제어 메시지를 호스트 서버(100) 내의 가상 머신으로 전달하여 가상 머신들의 전원 관리가 가능하게 된다. 해당 VPN 기반의 가상망을 통하여 각 가상머신의 상태정보(예컨대, 네트워크 트래픽, vCPU/vMEM 점유율 등)를 모니터링할 수 있고, 제어명령(CLI 또는 Web UI Command)를 통해 가상 리소스에 대하여 관제할 수 있다. The virtual VPN network created here provides an independent LAN environment, and when applied to VPN tunneling in WOL technology, a power control message is transmitted to the virtual machine in the
호스트 서버(100) 내 가상 머신은 패스 쓰루 연결(Pass-through)로 네이티브 디바이스 드라이버(Native Device Driver)를 통해 물리 인터페이스(102)와 직접 입출력(I/O)을 할 수 있다. 가상 머신과 패스 쓰루 연결된 물리 인터페이스(102)는 가상화 레이어의 개입 없이 직접 가상 머신과 입출력을 수행할 수 있다. The virtual machine in the
또한, 호스트 서버(100)는 호스트 서버(100)의 캐쉬 매니저(Cache Manager)를 통해 스토리지(120)에 저장된 가상 머신의 이미지를 호스트 서버(100)에 마운팅함으로써 가상 머신을 구동시킬 수 있다. Also, the
또한, 호스트 서버(100)는 매니저 서버(110)와 상시적으로 VPN 연결을 맺어 물리 인터페이스와 가상 머신의 상태 정보를 매니저 서버(110)에게 전달할 수 있다. 이를 통해 매니저 서버(110)는 호스트 서버(100)로부터 수신된 상태 정보에 기초하여 물리 인터페이스와 또는 가상 머신의 이상 상황 또는 유지 보수할 수 있고, 이를 위해, VPN 연결 통로로 물리 인터페이스에 접근할 수 있다. In addition, the
한편, 호스트 서버(100)는 매니저 서버(110)와 연동하여 패스 쓰루 연결(Pass-through)을 관리할 수 있다. 이와 관련하여 도 2a 내지 2f를 참조하여 설명하기로 한다. Meanwhile, the
도 2a를 참조하면, 호스트 서버(100)는 사용자 단말(미도시)로부터 활성화 상태의 제 1 가상 머신과 적어도 하나의 물리 인터페이스(102-1) 간의 패스 쓰루 연결을 해제하는 요청을 수신한 경우, 호스트 서버(100)의 호스트 에이전트(108)를 통해 제 1 가상 머신에 대응하는 제 1 가상 머신 아이디(예컨대, vm_01) 및 연결 해제 설정 정보가 포함된 연결 해제 요청 메시지를 매니저 서버(1110)에게 전송할 수 있다. 여기서, 연결 해제 설정 정보는 제 1 가상 머신과 패스 쓰루 연결 해제를 요청하는 적어도 하나의 물리 인터페이스(102-1)에 대한 물리 인터페이스 아이디(예컨대, dev_01)를 포함할 수 있다. Referring to FIG. 2A , when the
매니저 서버(110)는 호스트 서버(100)로부터 제 1 가상 머신 아이디(예컨대, vm_01) 및 연결 해제 설정 정보가 포함된 연결 해제 요청 메시지를 수신할 수 있다. The
매니저 서버(110)는 연결 해제 요청 메시지에 포함된 제 1 가상 머신 아이디(예컨대, vm_01)를 이용하여 제 1 가상 머신 아이디(예컨대, vm_01)에 대응되는 가상 머신 상세 정보(201)를 조회하고, 연결 해제 설정 정보에 기초하여 제 1 가상 머신과 패스 쓰루 연결된 적어도 하나의 물리 인터페이스에 대한 정보(물리 인터페이스 아이디, 예컨대, dev_01)를 조회할 수 있다. The
매니저 서버(110)는 연결 해제 요청 메시지에 기초하여 가상 머신 상세 정보(201) 및 적어도 하나의 물리 인터페이스에 대한 정보(예컨대, dev_01)가 조회되면, 조회된 적어도 하나의 물리 인터페이스가 제 1 가상 머신에 패스 쓰루 연결된 것으로 확인할 수 있다. When the
도 2b를 참조하면, 매니저 서버(110)는 연결 해제 요청 메시지에 기초하여, 조회된 가상 머신 상세 정보(201)에서 제 1 가상 머신과 패스 쓰루 연결된 적어도 하나의 물리 인터페이스에 대한 정보(예컨대, dev_01)를 삭제하여 가상 머신 상세 정보(201)를 갱신할 수 있다.Referring to FIG. 2B , the
이후, 매니저 서버(110)는 가상 머신 상세 정보(201)가 갱신됨에 따라 상태 정보 테이블(203)을 저장하는 스토리지(120)를 연동하여 상태 정보 테이블(203)로부터 제 1 가상 머신과 패스 쓰루 연결된 적어도 하나의 물리 인터페이스에 대한 정보(205)를 추출할 수 있다. Thereafter, as the detailed
매니저 서버(110)는 추출된 적어도 하나의 물리 인터페이스에 대한 정보(205)에서 해당 물리 인터페이스와 패스 쓰루 연결을 해제하고자 하는 제 1 가상 머신의 제 1 가상 머신 아이디를 삭제하고, 추출된 적어도 하나의 물리 인터페이스에 대한 정보(205)와 관련된 상태 정보를 '사용중'에서 '미사용' 으로 변경하여 상태 정보 테이블(203)을 업데이트할 수 있다. The
도 2c를 참조하면, 매니저 서버(110)는 호스트 서버(100)의 호스트 에이전트(108)를 통해 갱신된 가상 머신 상세 정보(201)가 포함된 연결 해제 응답 메시지를 호스트 서버(100)에게 전송할 수 있다. Referring to FIG. 2C , the
호스트 서버(100)는 매니저 서버(110)로부터 수신된 연결 해제 응답 메시지에 기초하여 제 1 가상 머신을 비활성화시킬 수 있다. 제 1 가상 머신이 비활성화되면, 적어도 하나의 물리 인터페이스와의 패스 쓰루 연결은 해제될 수 있다. The
만일, 호스트 서버(100)는 제 1 가상 머신에 대한 비활성화가 실패하게 되면, 제 1 가상 머신의 비활성화 장애에 대한 정보를 매니저 서버(110)에게 전송할 수 있다. If the deactivation of the first virtual machine fails, the
매니저 서버(110)는 호스트 서버(100)로부터 제 1 가상 머신의 비활성화 장애에 대한 정보를 수신한 경우, 스토리지(120)를 연동하여 스토리지(120)에 저장된 장애 관리 테이블(207)로부터 제 1 가상 머신과 패스 쓰루 연결된 적어도 하나의 물리 인터페이스에 대한 정보(209)를 추출하고, 추출된 적어도 하나의 물리 인터페이스에 대한 정보(209)에 제 1 가상 머신의 비활성화와 관련된 장애 정보를 기록함으로써 장애 관리 테이블(207)을 업데이트할 수 있다. When the
도 2d를 참조하면, 사용자 단말(미도시)이 이전에 제 1 가상 머신과 패스 쓰루 연결이 되었던 적어도 하나의 물리 인터페이스(102-1)를 비활성화 상태에 있는 제 2 가상 머신과 패스 쓰루 연결의 요청을 희망하는 경우, 호스트 서버(100)는 호스트 서버(100)의 호스트 에이전트(108)를 통해 비활성화된 제 2 가상 머신에 대응하는 제 2 가상 머신 아이디(예컨대, vm_02) 및 연결 설정 정보가 포함된 연결 요청 메시지를 매니저 서버(110)에게 전송할 수 있다. 여기서, 연결 설정 정보는 비활성화 상태인 제 2 가상 머신과 패스 쓰루 연결을 요청하는 적어도 하나의 물리 인터페이스(102-1)에 대한 물리 인터페이스 아이디(예컨대, dev_01)를 포함할 수 있다. Referring to FIG. 2D , a user terminal (not shown) requests a pass-through connection with a second virtual machine in which at least one physical interface 102-1 that has previously been pass-through connected to the first virtual machine is in a deactivated state. , the
매니저 서버(110)는 호스트 서버(100)로부터 제 2 가상 머신 아이디(예컨대, vm_02) 및 연결 설정 정보가 포함된 연결 요청 메시지를 수신할 수 있다. The
매니저 서버(110)는 연결 요청 메시지에 포함된 제 2 가상 머신 아이디(예컨대, vm_02)를 이용하여 제 2 가상 머신 아이디(예컨대, vm_02)에 대응되는 가상 머신 상세 정보(211)를 조회하고, 연결 설정 정보에 기초하여 적어도 하나의 물리 인터페이스에 대한 정보를 조회할 수 있다. The
도 2e를 참조하면, 매니저 서버(110)는 조회된 제 2 가상 머신 아이디(예컨대, vm_02)에 대응되는 가상 머신 상세 정보(211)에 제 2 가상 머신과 패스 쓰루 연결이 가능한 적어도 하나의 물리 인터페이스에 대한 정보(예컨대, dev_02)를 기록하여 가상 머신 상세 정보(211)를 갱신할 수 있다.Referring to FIG. 2E , the
매니저 서버(110)는 가상 머신 상세 정보(211)가 갱신됨에 따라 스토리지(120)와 연동하여 스토리지(120)에 저장된 상태 정보 테이블(213)로부터 연결 설정 정보에 따라 연결 가능한 적어도 하나의 물리 인터페이스에 대한 정보(215)를 추출하여 조회할 수 있다.As the virtual machine
매니저 서버(110)는 조회된 연결 가능한 적어도 하나의 물리 인터페이스에 대한 정보(215)와 관련된 상태 정보를 '미사용'에서 '사용중'으로 변경하고, 조회된 해당 물리 인터페이스와 패스 쓰루 연결시키고자 하는 제 2 가상 머신의 제 2 가상 머신 아이디를 기록함으로써 상태 정보 테이블(213)을 업데이트할 수 있다. The
도 2f를 참조하면, 매니저 서버(110)는 호스트 서버(100)의 호스트 에이전트(108)를 통해 갱신된 가상 머신 상세 정보(211)가 포함된 연결 응답 메시지를 호스트 서버(100)에게 전송할 수 있다. Referring to FIG. 2F , the
호스트 서버(100)는 매니저 서버(110)로부터 수신된 연결 응답 메시지에 기초하여 제 2 가상 머신을 활성화시킬 수 있다. The
호스트 서버(100)는 가상 머신 상세 정보(211)에 기초하여 제 2 가상 머신과 가상 머신 상세 정보(211)에 포함된 물리 인터페이스에 대한 정보에 대응되는 물리 인터페이스를 매핑하여 패스 쓰루 연결을 수행하고, 물리 인터페이스가 매핑된 제 2 가상 머신을 부팅할 수 있다. The
호스트 서버(100)는 VPN 터널링을 통해 제 2 가상 머신과 통신을 수행할 수 있다. The
만일, 호스트 서버(100)는 제 2 가상 머신과 물리 인터페이스 간에 연결 장애가 발생하는 경우, 연결 장애에 대한 정보를 매니저 서버(110)에게 전송할 수 있다. If a connection failure occurs between the second virtual machine and the physical interface, the
매니저 서버(110)는 호스트 서버(100)로부터 제 2 가상 머신의 연결 장애에 대한 정보를 수신한 경우, 스토리지(120)를 연동하여 스토리지(120)에 저장된 장애 관리 테이블(217)로부터 제 2 가상 머신과 연결 장애를 갖고 있는 물리 인터페이스에 대한 정보(219)를 추출하고, 추출된 물리 인터페이스에 대한 정보(219)에 연결 장애와 관련된 장애 정보를 기록함으로써 장애 관리 테이블(217)을 업데이트할 수 있다. When the
잠시, 도 3a 내지 3c는 기존의 패스 쓰루 방식과 본 발명의 다이나믹 패스 쓰루 방식을 비교 설명하기 위한 도면이다. For a moment, FIGS. 3A to 3C are diagrams for explaining a comparison between the existing pass-through method and the dynamic pass-through method of the present invention.
도 3a를 참조하여, 종래의 패스 쓰루 기술을 살펴보면, 제 1 가상 머신과 제 1 물리 인터페이스 간에 패스 쓰루 연결이 설정하게 되면, 제 1 가상 머신은 제 1 물리 인터페이스의 자원을 독점하여 사용하게 된다. 이 때, 제 1 가상 머신과 제 1 물리 인터페이스와의 연결이 설정된 이상, 연결 해제하는 방법이 없기 때문에 다른 복수의 가상 머신은 제 1 물리 인터페이스의 자원을 공유할 수 없게 되어 패스 쓰루의 지원을 받지 못한 가상 머신들은 성능 문제가 발생하게 된다. Referring to the conventional pass-through technology with reference to FIG. 3A , when a pass-through connection is established between the first virtual machine and the first physical interface, the first virtual machine monopolizes the resource of the first physical interface. At this time, since there is no way to disconnect the first virtual machine and the first physical interface as long as the connection is established, the other virtual machines cannot share the resources of the first physical interface, so that pass-through support is not supported. Unsuccessful virtual machines will cause performance problems.
도 3b를 참조하면, 본 발명은 이러한 문제점을 해결하기 위해, 사용자 단말로부터 연결 해제 요청이 들어온 제 1 가상 머신에 대하여 제 1 가상 머신과 제 1 물리 인터페이스 간의 패스 쓰루 연결을 해제하고, 이후, 사용자 단말로부터 연결 요청이 들어온 제 2 가상 머신에 대하여 제 2 가상 머신과 제 1 물리 인터페이스 간의 패스 쓰루 연결을 수행하는 기술을 제공함으로써 복수의 가상 머신 간에 동적인 물리 인터페이스의 리소스 공유 및 연결성을 제공할 수 있다. 이를 통해 본 발명은 다이나믹 패쓰 쓰루 연결(Dynamic Pass-through)을 구현화할 수 있다. Referring to FIG. 3B , in order to solve this problem, the present invention releases the pass-through connection between the first virtual machine and the first physical interface with respect to the first virtual machine to which a connection release request is received from the user terminal, and then, the user Resource sharing and connectivity of a dynamic physical interface between a plurality of virtual machines can be provided by providing a technology for performing a pass-through connection between the second virtual machine and the first physical interface with respect to the second virtual machine receiving a connection request from the terminal. there is. Through this, the present invention can implement a dynamic pass-through connection.
한편, 본 발명은 패스 쓰루 연결된 제 2 가상 머신을 통하여 다른 가상 머신에게 물리 인터페이스(현재 제 2 가상 머신과 패스 쓰루 연결된 물리 인터페이스)와의 간접적인 패스 쓰루 연결을 제공할 수 있다. 구체적으로, 본 발명은 물리 인터페이스와 제 2 가상 머신 간의 패스 쓰루 연결이 수행된 경우, 제 2 가상 머신으로 전달된 패킷(물리 인터페이스로부터 수신된 물리 인터페이스의 자원)을 제 2 가상 머신으로부터 제 3 가상 머신으로 포워딩함으로써 패스 쓰루 기능을 공유할 수 있다. 예를 들면, 도 3c를 참조하면, 제 2 가상 머신이 호스트 서버(100)의 물리 인터페이스와 패스 쓰루로 연결되었을 때, 제 2 가상 머신의 별도의 가상 인터페이스를 통해 제 2 가상 머신에서 수신된 패킷을 제 3 가상 머신에게 전달함으로써 제 3 가상 머신이 인터넷에 연결되도록 구성할 수도 있다.Meanwhile, according to the present invention, an indirect pass-through connection with a physical interface (a physical interface currently connected to the second virtual machine through a pass-through connection) may be provided to another virtual machine through the pass-through connected second virtual machine. Specifically, in the present invention, when a pass-through connection between the physical interface and the second virtual machine is performed, a packet (resources of the physical interface received from the physical interface) transferred to the second virtual machine is transferred from the second virtual machine to the third virtual machine. You can share pass-through functionality by forwarding to the machine. For example, referring to FIG. 3C , when the second virtual machine is connected to the physical interface of the
이하에서는 도 1a의 가상 머신 구동 시스템의 각 구성요소의 동작에 대해 보다 구체적으로 설명한다. Hereinafter, the operation of each component of the virtual machine driving system of FIG. 1A will be described in more detail.
도 4는 본 발명의 일 실시예에 따른, 도 1에 도시된 호스트 서버(100)의 블록도이다. 4 is a block diagram of the
도 4를 참조하면, 호스트 서버(100)는 전송부(400), 수신부(410), 연결부(420), 부팅부(430) 및 포워딩부(440)를 포함할 수 있다. 다만, 도 4에 도시된 호스트 서버(100)는 본 발명의 하나의 구현 예에 불과하며, 도 4에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다. Referring to FIG. 4 , the
전송부(400)는 활성화 상태의 제 1 가상 머신 및 제 1 가상 머신과 패스 쓰루 연결된 물리 인터페이스 간의 연결 해제 요청을 사용자 단말로부터 수신한 경우, 제 1 가상 머신에 대응하는 제 1 가상 머신 아이디 및 연결 해제 설정 정보가 포함된 연결 해제 요청 메시지를 매니저 서버(110)에게 전송할 수 있다. 여기서, 연결 해제 설정 정보는 제 1 가상 머신과의 패스 쓰루 연결의 해제를 요청하는 물리 인터페이스에 대한 물리 인터페이스 아이디를 포함할 수 있다. When the
수신부(410)는 매니저 서버(110)로부터 제 1 가상 머신 아이디에 대응되고, 연결 해제 설정 정보에 기초하여 조회된 물리 인터페이스에 대한 정보가 삭제되어 갱신된 가상 머신 상세 정보가 포함된 연결 해제 응답 메시지를 수신할 수 있다. The
연결부(420)는 수신된 가상 머신 상세 정보에 따라 제 1 가상 머신을 비활성화시켜 제 1 가상 머신과 물리 인터페이스 간의 패스 쓰루 연결을 해제할 수 있다. The
전송부(400)는 사용자 단말로부터 비활성화 상태인 제 2 가상 머신과 물리 인터페이스 간의 패스 쓰루 연결의 요청을 수신한 경우, 비활성화 상태의 제 2 가상 머신에 대응하는 제 2 가상 머신 아이디 및 연결 설정 정보가 포함된 연결 요청 메시지를 매니저 서버(110)에게 전송할 수 있다. When the
수신부(410)는 제 2 가상 머신 아이디에 대응되고, 연결 설정 정보에 기초하여 조회된 물리 인터페이스에 대한 정보를 이용하여 갱신된 가상 머신 상세 정보가 포함된 연결 응답 메시지를 매니저 서버(110)로부터 수신할 수 있다. The receiving
연결부(420)는 가상 머신 상세 정보에 따라 제 2 가상 머신과 가상 머신 상세 정보에 포함된 물리 인터페이스에 대한 정보에 대응되는 물리 인터페이스를 매핑하고, 제 2 가상 머신을 활성화시킴으로써 제 2 가상 머신과 매핑된 물리 인터페이스 및 제 2 가상 머신 간의 패스 쓰루 연결을 수행할 수 있다. The
부팅부(430)는 물리 인터페이스와 패스 쓰루 연결된 제 2 가상 머신을 부팅할 수 있다. 제 2 가상 머신이 부팅되면, 호스트 서버(100)는 VPN 터널링을 통해 제 2 가상 머신과 통신을 수행할 수 있다. The
포워딩부(440)는 물리 인터페이스와 제 2 가상 머신 간의 패스 쓰루 연결이 수행된 경우, 제 2 가상 머신으로 전달된 패킷(물리 인터페이스로부터 수신된 물리 인터페이스의 자원)을 제 2 가상 머신으로부터 제 3 가상 머신으로 포워딩할 수 있다. 이를 통해, 제 2 가상 머신과 제 3 가상 머신 간에 물리 인터페이스의 자원을 공유할 수 있다. When a pass-through connection between the physical interface and the second virtual machine is performed, the
전송부(400)는 물리 인터페이스 및 제 2 가상 머신 간에 연결 장애가 발생하는 경우, 연결 장애에 대한 정보를 매니저 서버(110)에게 전송할 수 있다. When a connection failure occurs between the physical interface and the second virtual machine, the
제 2 가상 머신의 연결 장애에 대한 정보에 따라 매니저 서버(110)에 의해 장애 관리 테이블가 업데이트됨으로써 매니저 서버(110)의 관리자는 실시간으로 연결 장애에 대한 정보를 확인하고, 원격으로 A/S 서비스를 실시간으로 제공할 수 있다. As the failure management table is updated by the
한편, 당업자라면, 전송부(400), 수신부(410), 연결부(420), 부팅부(430) 및 포워딩부(440) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다. Meanwhile, for those skilled in the art, each of the
도 5는 본 발명의 일 실시예에 따른, 도 1에 도시된 매니저 서버(110)의 블록도이다. 5 is a block diagram of the
도 5를 참조하면, 매니저 서버(110)는 수신부(500), 조회부(510), 갱신부(520), 전송부(530) 및 업데이트부(540)를 포함할 수 있다. 다만, 도 5에 도시된 매니저 서버(110)는 본 발명의 하나의 구현 예에 불과하며, 도 5에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다. Referring to FIG. 5 , the
수신부(500)는 호스트 서버(100)로부터 수신된 활성화 상태의 제 1 가상 머신에 대응하는 제 1 가상 머신 아이디 및 연결 해제 설정 정보가 포함된 연결 해제 요청 메시지를 수신할 수 있다. 여기서, 연결 해제 설정 정보는 활성화 상태의 제 1 가상 머신과의 패스 쓰루 연결의 해제를 요청하는 적어도 하나의 물리 인터페이스에 대한 물리 인터페이스 아이디를 포함할 수 있다.The
조회부(510)는 제 1 가상 머신 아이디에 대응되는 가상 머신 상세 정보를 조회하고, 연결 해제 설정 정보에 기초하여 제 1 가상 머신과 패스 쓰루 연결된 적어도 하나의 물리 인터페이스에 대한 정보를 조회할 수 있다. The
갱신부(520)는 조회된 제 1 가상 머신 아이디에 대응되는 가상 머신 상세 정보로부터 연결 해제 설정 정보에 해당하는 적어도 하나의 물리 인터페이스에 대한 정보를 삭제하여 갱신할 수 있다. The
업데이트부(540)는 제 1 가상 머신 아이디에 대응되는 가상 머신 상세 정보의 갱신에 따라, 조회된 적어도 하나의 물리 인터페이스에 대한 정보와 관련된 상태 정보(예컨대, '사용중' -> '미사용')를 변경하여 상태 정보 테이블(복수의 물리 인터페이스를 관리하는 테이블)을 업데이트할 수 있다. The
전송부(530)는 갱신된 가상 머신 상세 정보가 포함된 연결 해제 응답 메시지를 호스트 서버(100)에게 전송할 수 있다. The
수신부(500)는 호스트 서버(100)로부터 비활성화 상태인 제 2 가상 머신에 대응하는 제 2 가상 머신 아이디 및 연결 설정 정보가 포함된 연결 요청 메시지를 수신할 수 있다. 여기서, 연결 설정 정보는 비활성화 상태인 제 2 가상 머신과 패스 쓰루 연결을 요청하는 적어도 하나의 물리 인터페이스에 대한 물리 인터페이스 아이디를 포함할 수 있다. The
조회부(510)는 제 2 가상 머신 아이디에 대응되는 가상 머신 상세 정보를 조회하고, 연결 설정 정보에 기초하여 적어도 하나의 물리 인터페이스에 대한 정보를 조회할 수 있다. The
조회부(510)는 상태 정보 테이블로부터 연결 설정 정보에 따라 제 2 가상 머신과 연결 가능한 적어도 하나의 물리 인터페이스에 대한 정보를 추출하여 조회할 수 있다. 예를 들면, 조회부(510)는 제 2 가상 머신과의 패스 쓰루 연결을 요청한 물리 인터페이스가 다른 가상 머신에 의해 사용 중이거나 사용 불가 상태인 것으로 조회되면, 해당 물리 인터페이스에 대한 정보와 관련된 상태 정보를 관리자 단말에게 보고할 수 있다. 이 후, 해당 물리 인터페이스와 기 연결된 상태를 갖는 다른 가상 머신은 종료될 수 있다. The
갱신부(520)는 조회된 제 2 가상 머신과 패스 쓰루 연결이 가능한 물리 인터페이스에 대한 정보에 기초하여 조회된 가상 머신 상세 정보를 갱신할 수 있다. 즉, 갱신부(520)는 조회된 가상 머신 상세 정보에, 조회된 물리 인터페이스에 대한 정보를 추가하여 갱신할 수 있다. The
업데이트부(540)는 가상 머신 상세 정보가 갱신됨에 따라 조회된 적어도 하나의 물리 인터페이스에 대한 정보와 관련된 상태 정보(예컨대, '미사용'-> '사용중')를 변경하여 상태 정보 테이블을 업데이트할 수 있다. As the detailed virtual machine information is updated, the
전송부(530)는 갱신된 가상 머신 상세 정보가 포함된 연결 응답 메시지를 호스트 서버(100)에게 전송할 수 있다. The
업데이트부(540)는 호스트 서버(100)로부터 제 2 가상 머신의 연결 장애에 대한 정보를 수신한 경우, 장애 관리 테이블로부터 제 2 가상 머신과 연결 장애를 갖고 있는 물리 인터페이스에 대한 정보를 추출하고, 추출된 물리 인터페이스에 대한 정보에 연결 장애와 관련된 장애 정보를 기록함으로써 장애 관리 테이블을 업데이트할 수 있다. 연결 장애에 대한 정보는 관리자의 단말로 전송될 수 있고, 관리자는 장애 관리 테이블을 모니터링하면서 장애에 대하여 대처할 수 있다. When the
한편, 당업자라면, 수신부(500), 조회부(510), 갱신부(520), 전송부(530) 및 업데이트부(540) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다. Meanwhile, for those skilled in the art, each of the
도 6은 본 발명의 일 실시예에 따른, 호스트 서버(100)에 의해 패스 쓰루 연결을 관리하는 방법을 나타낸 흐름도이다. 6 is a flowchart illustrating a method of managing a pass-through connection by the
도 6을 참조하면, 단계 S601에서 호스트 서버(100)는 활성화 상태의 제 1 가상 머신과 물리 인터페이스 간의 패스 쓰루 연결을 해제할 수 있다. Referring to FIG. 6 , in operation S601 , the
단계 S603에서 호스트 서버(100)는 비활성화 상태의 제 2 가상 머신에 물리 인터페이스를 매핑하여 패스 쓰루 연결을 수행할 수 있다. In operation S603 , the
상술한 설명에서, 단계 S601 내지 S603은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. In the above description, steps S601 to S603 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted if necessary, and the order between steps may be changed.
도 7은 본 발명의 일 실시예에 따른, 매니저 서버(110)에 의해 패스 쓰루 연결을 관리하는 방법을 나타낸 흐름도이다. 7 is a flowchart illustrating a method of managing a pass-through connection by the
도 7을 참조하면, 단계 S701에서 매니저 서버(110)는 호스트 서버(100)로부터 가상 머신 아이디 및 연결 설정 정보가 포함된 연결 요청 메시지를 수신할 수 있다. Referring to FIG. 7 , in step S701 , the
단계 S703에서 매니저 서버(110)는 가상 머신 아이디에 대응되는 가상 머신 상세 정보를 조회하고, 연결 설정 정보에 기초하여 적어도 하나의 물리 인터페이스에 대한 정보를 조회할 수 있다. In step S703, the
단계 S705에서 매니저 서버(110)는 조회된 물리 인터페이스에 대한 정보를 이용하여 조회된 가상 머신 상세 정보를 갱신할 수 있다. In step S705, the
단계 S707에서 매니저 서버(110)는 갱신된 가상 머신 상세 정보를 호스트 서버(100)에게 전송할 수 있다. In step S707 , the
도 7에는 도시되지 않았으나, 단계 S707 이후, 매니저 서버(110)는 호스트 서버(100)로부터 가상 머신 아이디 및 연결 해제 설정 정보가 포함된 연결 해제 요청 메시지를 더 수신할 수 있다. 이후, 매니저 서버(110)는 가상 머신 아이디에 대응되는 가상 머신 상세 정보를 조회하고, 조회된 가상 머신 상세 정보로부터 연결 해제 설정 정보에 해당하는 물리 인터페이스에 대한 정보를 삭제하여 갱신할 수 있다. Although not shown in FIG. 7 , after step S707 , the
상술한 설명에서, 단계 S701 내지 S707은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. In the above description, steps S701 to S707 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted if necessary, and the order between steps may be changed.
도 8은 본 발명의 일 실시예에 따른, 가상 머신 구동 방법을 나타낸 흐름도이다. 8 is a flowchart illustrating a method of driving a virtual machine according to an embodiment of the present invention.
도 8을 참조하면, 단계 S801에서 호스트 서버(100)는 하이퍼 운영 체제를 부팅할 수 있다. Referring to FIG. 8 , in step S801 , the
단계 S803에서 호스트 서버(100)는 VPN 연결을 셋업할 수 있다. In step S803, the
단계 S805에서 호스트 서버(100)는 스토리지(120)와 연동하여 매니저 서버(110)로부터 수신된 가상 머신 상세 정보에 기초하여 가상 머신의 가상 머신 이미지를 하이퍼 운영 체제에 마운팅할 수 있다. In operation S805 , the
단계 S807에서 호스트 서버(100)는 가상 머신 상세 정보에 따라 가상 머신과 물리 인터페이스를 매핑하여 패스 쓰루 연결을 수행할 수 있다. In step S807, the
단계 S809에서 호스트 서버(100)는 물리 인터페이스와 매핑된 가상 머신을 부팅할 수 있다. In step S809, the
상술한 설명에서, 단계 S801 내지 S809는 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. In the above description, steps S801 to S809 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted if necessary, and the order between steps may be changed.
도 9는 본 발명의 일 실시예에 따른, 가상 머신을 셧다운하는 방법을 나타낸 흐름도이다. 9 is a flowchart illustrating a method of shutting down a virtual machine according to an embodiment of the present invention.
도 9를 참조하면, 단계 S901에서 호스트 서버(100)는 사용자 단말로부터 가상 머신의 종료 요청을 수신할 수 있다. Referring to FIG. 9 , in step S901 , the
단계 S903에서 호스트 서버(100)는 매니저 서버(110)로부터 수신된 가상 머신 상세 정보에 기초하여 가상 머신의 가상 머신 이미지를 하이퍼 운영 체제에 마운팅할 수 있다. In step S903 , the
단계 S905에서 호스트 서버(100)는 물리 인터페이스와 매핑된 가상머신의 네이티브 디바이스 드라이버의 연결을 해제할 수 있다. In step S905, the
단계 S907에서 호스트 서버(100)는 가상 머신의 구동을 종료할 수 있다. In step S907, the
상술한 설명에서, 단계 S901 내지 S907은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. In the above description, steps S901 to S907 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted if necessary, and the order between steps may be changed.
도 10a 내지 10b는 본 발명의 일 실시예에 따른, 패스 쓰루 연결을 관리하는 방법을 나타낸 동작 흐름도이다. 10A to 10B are operational flowcharts illustrating a method for managing a pass-through connection according to an embodiment of the present invention.
도 10a 내지 10b를 참조하면, 단계 S1001에서 호스트 서버(100)는 비활성화 상태의 제 2 가상 머신에 대응하는 제 2 가상 머신 아이디 및 연결 설정 정보가 포함된 연결 요청 메시지를 매니저 서버(110)에게 전송할 수 있다. 참고로, 해당 단계는 활성화 상태의 제 1 가상 머신과 물리 인터페이스 간의 패쓰 쓰루 연결이 해제되는 프로세스(도 2a 내지 2c 참조)가 진행된 후 수행될 수 있다.10A to 10B , in step S1001 , the
단계 S1003에서 매니저 서버(110)는 수신된 연결 요청 메시지에 포함된 제 2 가상 머신 아이디에 대응되는 가상 머신 상세 정보를 조회할 수 있다. In step S1003, the
단계 S1005에서 매니저 서버(110)는 수신된 연결 요청 메시지에 포함된 연결 설정 정보에 기초하여 적어도 하나의 물리 디바이스에 대한 정보를 조회할 수 있다.In step S1005, the
단계 S1007에서 매니저 서버(110)는 조회된 물리 인터페이스에 대한 정보를 이용하여 조회된 가상 머신 상세 정보를 갱신할 수 있다. In step S1007, the
단계 S1009에서 매니저 서버(110)는 조회된 적어도 하나의 물리 인터페이스에 대한 정보와 관련된 상태 정보를 변경하여 상태 정보 테이블을 업데이트할 수 있다. In step S1009, the
단계 S1011에서 매니저 서버(110)는 갱신된 가상 머신 상태 정보를 호스트 서버(100)에게 전송할 수 있다. In step S1011 , the
단계 S1013에서 호스트 서버(100)는 수신된 가상 머신 상태 정보에 따라 제 2 가상 머신과 물리 인터페이스를 매핑하여 패스 쓰루 연결을 수행할 수 있다. In operation S1013 , the
단계 S1015에서 호스트 서버(100)는 제 2 가상 머신을 부팅할 수 있다. In step S1015, the
단계 S1017에서 호스트 서버(100)는 물리 인터페이스와 제 2 가상 머신 간의 연결 장애가 발생하는지 여부를 판단할 수 있다. In step S1017, the
단계 S1019에서 호스트 서버(100)는 연결 장애가 발생한 경우, 매니저 서버(110)에게 연결 장애에 대한 정보를 전송할 수 있다. When a connection failure occurs in step S1019 , the
단계 S1021에서 매니저 서버(110)는 수신된 연결 장애에 대한 정보에 기초하여 장애 관리 테이블을 업데이트할 수 있다. In step S1021, the
단계 S1023에서 호스트 서버(100)는 가상 머신을 구동하여 가상 머신을 통해 물리 인터페이스를 제어할 수 있다. In step S1023 , the
도 10에는 도시되지 않았으나, 단계 S1001 이전에 호스트 서버(100)는 사용자 단말로부터 제 1 가상 머신과 물리 인터페이스 간의 연결 해제 요청을 수신한 경우, 물리 인터페이스와 제 1 가상 머신 간의 패스 쓰루 연결을 해제할 수 있다. Although not shown in FIG. 10 , when receiving a connection release request between the first virtual machine and the physical interface from the user terminal before step S1001, the
도 10에는 도시되지 않았으나, 단계 S1001 이전에 호스트 서버(100)는 매니저 서버(110)에게 제 1 가상 머신 아이디 및 연결 해제 설정 정보가 포함된 연결 해제 요청 메시지를 전송할 수 있다. 매니저 서버(110)는 수신된 연결 해제 요청 메시지에 기초하여 제 1 가상 머신 아이디에 대응되는 가상 머신 상세 정보를 조회하고, 조회된 가상 머신 상세 정보로부터 연결 해제 설정 정보에 해당하는 물리 인터페이스에 대한 정보를 삭제하여 갱신할 수 있다. Although not shown in FIG. 10 , before step S1001 , the
상술한 설명에서, 단계 S1001 내지 S1023은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. In the above description, steps S1001 to S1023 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted if necessary, and the order between the steps may be changed.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. An embodiment of the present invention may be implemented in the form of a recording medium including instructions executable by a computer, such as a program module executed by a computer. Computer-readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. Also, computer-readable media may include all computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. The description of the present invention described above is for illustration, and those of ordinary skill in the art to which the present invention pertains can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a dispersed form, and likewise components described as distributed may also be implemented in a combined form.
본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. .
100: 호스트 서버
110: 매니저 서버
120: 스토리지
400: 전송부
410: 수신부
420: 연결부
430: 부팅부
440: 포워딩부
500: 수신부
510: 조회부
520: 갱신부
530: 전송부
540: 업데이트부100: host server
110: manager server
120: storage
400: transmission unit
410: receiver
420: connection
430: boot unit
440: forwarding unit
500: receiver
510: inquiry unit
520: update part
530: transmission unit
540: update unit
Claims (17)
비활성화 상태의 제 1 가상 머신에 대응하는 제 1 가상 머신 아이디 및 연결 설정 정보가 포함된 연결 요청 메시지를 매니저 서버로 전송하는 전송부;
상기 제 1 가상 머신 아이디에 대응되고, 상기 연결 설정 정보에 기초하여 조회된 적어도 하나의 물리 인터페이스에 대한 정보를 이용하여 갱신된 가상 머신 상세 정보를 매니저 서버로부터 수신하는 수신부;
상기 가상 머신 상세 정보에 기초하여 상기 제 1 가상 머신과 상기 물리 인터페이스에 대한 정보에 대응되는 물리 인터페이스를 매핑하여 패스 쓰루 연결(Pass-through)을 수행하는 연결부; 및
상기 제 1 가상 머신을 부팅하는 부팅부
를 포함하는 것인, 호스트 서버.
A host server that manages a connection with a virtual machine, the host server comprising:
a transmission unit for transmitting a connection request message including a first virtual machine ID and connection setting information corresponding to the inactive first virtual machine to the manager server;
a receiver corresponding to the first virtual machine ID and configured to receive, from a manager server, detailed virtual machine information updated using information on at least one physical interface queried based on the connection setting information;
a connection unit for performing pass-through by mapping a physical interface corresponding to the information on the first virtual machine and the physical interface based on the detailed virtual machine information; and
A booting unit for booting the first virtual machine
A host server comprising a.
상기 호스트 서버는 VPN 터널링을 통해 상기 제 1 가상 머신과 통신을 수행하는, 호스트 서버.
The method of claim 1,
and the host server communicates with the first virtual machine through VPN tunneling.
상기 조회된 적어도 하나의 물리 인터페이스에 대한 정보는, 복수의 물리 인터페이스를 관리하는 상태 정보 테이블로부터 상기 연결 설정 정보에 따라 연결 가능한 적어도 하나의 물리 인터페이스에 대한 정보가 추출되어 조회된 것인, 호스트 서버.
The method of claim 1,
The inquired information on the at least one physical interface is a host server in which information on at least one connectable physical interface is extracted from a state information table for managing a plurality of physical interfaces and retrieved according to the connection setting information. .
상기 가상 머신 상세 정보가 갱신됨에 따라 상기 조회된 적어도 하나의 물리 인터페이스에 대한 정보와 관련된 상태 정보가 변경되어 상기 상태 정보 테이블이 업데이트되는 것인, 호스트 서버.
4. The method of claim 3,
and the state information table is updated by changing state information related to the inquired information on the at least one physical interface as the detailed virtual machine information is updated.
상기 전송부는 상기 물리 인터페이스 및 상기 제 1 가상 머신 간에 연결 장애가 발생하는 경우, 상기 연결 장애에 대한 정보를 상기 매니저 서버로 전송하는 것인, 호스트 서버.
The method of claim 1,
When a connection failure occurs between the physical interface and the first virtual machine, the transmission unit transmits information on the connection failure to the manager server.
상기 연결부는 상기 물리 인터페이스와 제 2 가상 머신 간의 패스 쓰루 연결을 해제하고, 상기 물리 인터페이스와 상기 제 1 가상 머신 간의 패스 쓰루 연결을 수행하는 것인, 호스트 서버.
The method of claim 1,
and the connection unit releases a pass-through connection between the physical interface and a second virtual machine, and performs a pass-through connection between the physical interface and the first virtual machine.
상기 물리 인터페이스와 상기 제 1 가상 머신 간의 패스 쓰루 연결이 수행된 경우, 상기 제 1 가상 머신으로 전달된 패킷을 상기 제 1 가상 머신으로부터 제 3 가상 머신으로 포워딩하는 포워딩부
를 더 포함하는 것인, 호스트 서버.
The method of claim 1,
When a pass-through connection between the physical interface and the first virtual machine is performed, a forwarding unit forwarding the packet transferred to the first virtual machine from the first virtual machine to a third virtual machine
Which will further include, the host server.
호스트 서버로부터 가상 머신 아이디 및 연결 설정 정보가 포함된 연결 요청 메시지를 수신하는 수신부;
상기 가상 머신 아이디에 대응되는 가상 머신 상세 정보를 조회하고, 상기 연결 설정 정보에 기초하여 적어도 하나의 물리 인터페이스에 대한 정보를 조회하는 조회부;
상기 조회된 물리 인터페이스에 대한 정보를 이용하여 상기 조회된 가상 머신 상세 정보를 갱신하는 갱신부; 및
상기 갱신된 가상 머신 상세 정보를 상기 호스트 서버로 전송하는 전송부
를 포함하고,
상기 전송된 가상 머신 상세 정보에 기초하여 상기 가상 머신과 상기 가상 머신 상세 정보에 포함된 물리 인터페이스에 대한 정보에 대응되는 물리 인터페이스가 매핑되어 패스 쓰루 연결(Pass-through)이 수행되는 것인, 매니저 서버.
In the manager server that manages the connection with the virtual machine in conjunction with the host server,
a receiver for receiving a connection request message including a virtual machine ID and connection setting information from a host server;
an inquiry unit that inquires detailed information about a virtual machine corresponding to the virtual machine ID, and inquires information on at least one physical interface based on the connection setting information;
an update unit for updating the inquired detailed virtual machine information by using the inquired information on the physical interface; and
Transmitting unit for transmitting the updated detailed virtual machine information to the host server
including,
A manager in which a pass-through connection is performed by mapping the virtual machine and a physical interface corresponding to information on a physical interface included in the detailed virtual machine information based on the transmitted detailed virtual machine information server.
상기 조회부는 복수의 물리 인터페이스를 관리하는 상태 정보 테이블로부터 상기 연결 설정 정보에 따라 연결 가능한 적어도 하나의 물리 인터페이스에 대한 정보를 추출하여 조회하는 것인, 매니저 서버.
9. The method of claim 8,
wherein the inquiry unit extracts and inquires information on at least one connectable physical interface according to the connection setting information from a state information table for managing a plurality of physical interfaces.
상기 갱신부는 상기 조회된 가상 머신 상세 정보에 상기 조회된 물리 인터페이스에 대한 정보를 추가하여 갱신하는 것인, 매니저 서버.
10. The method of claim 9,
The update unit is to update by adding information on the inquired physical interface to the inquired detailed virtual machine information.
상기 가상 머신 상세 정보가 갱신됨에 따라 상기 조회된 적어도 하나의 물리 인터페이스에 대한 정보와 관련된 상태 정보를 변경하여 상기 상태 정보 테이블을 업데이트하는 업데이트부
를 더 포함하는 것인, 매니저 서버.
11. The method of claim 10,
An update unit configured to update the state information table by changing state information related to the inquired information on the at least one physical interface as the detailed virtual machine information is updated
Which will further include, the manager server.
상기 수신부는 상기 물리 인터페이스 및 상기 가상 머신 간에 연결 장애가 발생하는 경우, 상기 연결 장애에 대한 정보를 상기 호스트 서버로부터 수신하고,
상기 업데이트부는 상기 연결 장애에 대한 정보를 이용하여 장애 관리 테이블을 업데이트하는 것인, 매니저 서버.
12. The method of claim 11,
When a connection failure occurs between the physical interface and the virtual machine, the receiving unit receives information about the connection failure from the host server,
The update unit will update the failure management table by using the information on the connection failure, manager server.
상기 수신부는 상기 호스트 서버로부터 가상 머신 아이디 및 연결 해제 설정 정보가 포함된 연결 해제 요청 메시지를 더 수신하고,
상기 조회부는 상기 가상 머신 아이디에 대응되는 가상 머신 상세 정보를 조회하고,
상기 갱신부는 상기 조회된 가상 머신 상세 정보로부터 상기 연결 해제 설정 정보에 해당하는 물리 인터페이스에 대한 정보를 삭제하여 갱신하는 것인, 매니저 서버.
9. The method of claim 8,
The receiving unit further receives a connection disconnection request message including a virtual machine ID and connection disconnection setting information from the host server,
The inquiry unit inquires the virtual machine detailed information corresponding to the virtual machine ID,
The update unit deletes and updates information on a physical interface corresponding to the connection release setting information from the inquired detailed virtual machine information.
활성화 상태의 제 1 가상 머신과 물리 인터페이스 간의 패스 쓰루 연결(Pass-through)을 해제하는 단계;
비활성화 상태의 제 2 가상 머신에 대응하는 제 2 가상 머신 아이디 및 연결 설정 정보가 포함된 연결 요청 메시지를 매니저 서버로 전송하는 단계;
상기 제 2 가상 머신 아이디에 대응되고, 상기 연결 설정 정보에 기초하여 조회된 적어도 하나의 물리 인터페이스에 대한 정보를 이용하여 갱신된 가상 머신 상세 정보를 매니저 서버로부터 수신하는 단계;
상기 가상 머신 상세 정보에 기초하여 상기 제 2 가상 머신에 상기 물리 인터페이스에 대한 정보에 대응되는 물리 인터페이스를 매핑하여 패스 쓰루 연결을 수행하는 단계; 및
상기 제 2 가상 머신을 부팅하는 단계
를 포함하는 것인, 연결 관리 방법.
A method for managing a connection with a virtual machine in a host server, the method comprising:
releasing a pass-through connection between the first virtual machine in an activated state and a physical interface;
transmitting a connection request message including a second virtual machine ID corresponding to the inactive second virtual machine and connection setting information to the manager server;
receiving, from a manager server, detailed virtual machine information corresponding to the second virtual machine ID and updated using information on at least one physical interface queried based on the connection setting information;
performing a pass-through connection by mapping a physical interface corresponding to the information on the physical interface to the second virtual machine based on the detailed virtual machine information; and
booting the second virtual machine
A connection management method comprising a.
VPN 터널링을 통해 상기 제 2 가상 머신과 통신을 수행하는 단계를 더 포함하는 것인, 연결 관리 방법.
15. The method of claim 14,
The method of claim 1, further comprising communicating with the second virtual machine through VPN tunneling.
상기 물리 인터페이스 및 상기 제 2 가상 머신 간에 연결 장애가 발생하는 경우, 상기 연결 장애에 대한 정보를 매니저 서버로 전송하는 단계를 더 포함하는 것인, 연결 관리 방법.
15. The method of claim 14,
When a connection failure occurs between the physical interface and the second virtual machine, the method further comprising transmitting information on the connection failure to a manager server.
상기 물리 인터페이스와 상기 제 2 가상 머신 간의 패스 쓰루 연결이 수행된 경우, 상기 제 2 가상 머신으로 전달된 패킷을 상기 제 2 가상 머신으로부터 제 3 가상 머신으로 포워딩하는 단계를 더 포함하는 것인, 연결 관리 방법.
15. The method of claim 14,
When the pass-through connection between the physical interface and the second virtual machine is performed, the method further comprising forwarding the packet transferred to the second virtual machine from the second virtual machine to a third virtual machine. management method.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180057400 | 2018-05-18 | ||
KR20180057400 | 2018-05-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190132297A KR20190132297A (en) | 2019-11-27 |
KR102375064B1 true KR102375064B1 (en) | 2022-03-17 |
Family
ID=68730263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190059095A KR102375064B1 (en) | 2018-05-18 | 2019-05-20 | Server and method for managing connection with virtual machine |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102375064B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102491986B1 (en) * | 2020-12-04 | 2023-01-26 | (주)글루버 | Virtual machine connection management server, operating method thereof, and program using the same |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140040503A1 (en) | 2009-02-13 | 2014-02-06 | Aerohive Networks, Inc. | Intelligent sorting for n-way secure split tunnel |
WO2016013199A1 (en) | 2014-07-22 | 2016-01-28 | 日本電気株式会社 | Virtualization substrate management device, virtualization substrate management system, virtualization substrate management method, and recording medium for recording virtualization substrate management program |
US20170147378A1 (en) | 2015-11-25 | 2017-05-25 | Red Hat Israel, Ltd. | Virtual machine to host device bridging |
US20180052702A1 (en) * | 2016-08-18 | 2018-02-22 | Red Hat Israel, Ltd. | Coupling a host system to a virtual machine |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101401378B1 (en) | 2010-10-26 | 2014-05-30 | 한국전자통신연구원 | Host system and remote apparatus server for maintaining connectivity of virtual in spite of live migration of a virtual machine |
KR101597246B1 (en) * | 2014-07-24 | 2016-02-24 | 에스케이 텔레콤주식회사 | Method for Connecting Virtual Disk for Changing Between Virtual Machines |
KR102239177B1 (en) * | 2014-09-03 | 2021-04-09 | 주식회사 케이티 | Method for managing of cloud server, device and system for managing of cloud server performing the same |
-
2019
- 2019-05-20 KR KR1020190059095A patent/KR102375064B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140040503A1 (en) | 2009-02-13 | 2014-02-06 | Aerohive Networks, Inc. | Intelligent sorting for n-way secure split tunnel |
WO2016013199A1 (en) | 2014-07-22 | 2016-01-28 | 日本電気株式会社 | Virtualization substrate management device, virtualization substrate management system, virtualization substrate management method, and recording medium for recording virtualization substrate management program |
US20170147378A1 (en) | 2015-11-25 | 2017-05-25 | Red Hat Israel, Ltd. | Virtual machine to host device bridging |
US20180052702A1 (en) * | 2016-08-18 | 2018-02-22 | Red Hat Israel, Ltd. | Coupling a host system to a virtual machine |
Also Published As
Publication number | Publication date |
---|---|
KR20190132297A (en) | 2019-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11687422B2 (en) | Server clustering in a computing-on-demand system | |
US11469964B2 (en) | Extension resource groups of provider network services | |
EP3008657B1 (en) | Method and system of providing storage services in multiple public clouds | |
US10262130B2 (en) | System and method for providing cryptographic operation service in virtualization environment | |
US8463882B2 (en) | Server cloning in a computing-on-demand system | |
US10140140B2 (en) | Cloud virtual machine customization using extension framework | |
JP2014520327A (en) | Method and apparatus for remotely delivering a managed USB service via a mobile computing device | |
US8566847B2 (en) | Out-of-band host management via a management controller | |
US20200159555A1 (en) | Provider network service extensions | |
US20230055620A1 (en) | Network Function Virtualization Compute Element Image Upgrade | |
WO2013103553A1 (en) | Secure data communications with network back end devices | |
WO2013101754A1 (en) | Unified network architecture having storage devices with secure boot devices | |
CN103020543A (en) | System and method for image encryption management of virtual disk | |
US9716768B2 (en) | Cache system and method for providing caching service | |
KR102375064B1 (en) | Server and method for managing connection with virtual machine | |
US10979289B2 (en) | Apparatuses and methods for remote computing node registration and authentication | |
WO2013103557A1 (en) | Cloning storage devices through secure communications links | |
CN110115012B (en) | Secret information distribution method and device | |
Hari et al. | The swiss army smartphone: Cloud-based delivery of usb services | |
US20240036988A1 (en) | Disaster recovery pipeline for block storage and dependent applications | |
JP7212158B2 (en) | Provider network service extension | |
Chatterjee et al. | Red Hat Hyperconverged Infrastructure | |
KR20220011186A (en) | Virtual block storage server of cloud provider Substrate Extension | |
JP2007183708A (en) | Server device, server accommodation method and server accommodation program | |
KR20160084728A (en) | System and method for managing remote clouds as a service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |