KR102634986B1 - Apparatus and method for sendng program in virtual enviroment and system using the same - Google Patents

Apparatus and method for sendng program in virtual enviroment and system using the same Download PDF

Info

Publication number
KR102634986B1
KR102634986B1 KR1020190002102A KR20190002102A KR102634986B1 KR 102634986 B1 KR102634986 B1 KR 102634986B1 KR 1020190002102 A KR1020190002102 A KR 1020190002102A KR 20190002102 A KR20190002102 A KR 20190002102A KR 102634986 B1 KR102634986 B1 KR 102634986B1
Authority
KR
South Korea
Prior art keywords
program
host
transmission device
manager
program transmission
Prior art date
Application number
KR1020190002102A
Other languages
Korean (ko)
Other versions
KR20200086017A (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 KR1020190002102A priority Critical patent/KR102634986B1/en
Publication of KR20200086017A publication Critical patent/KR20200086017A/en
Application granted granted Critical
Publication of KR102634986B1 publication Critical patent/KR102634986B1/en

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • 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/4557Distribution of virtual machine instances; Migration and load balancing

Abstract

가상화 환경에서의 프로그램 전송 장치 및 방법 그리고 이를 포함하는 시스템이 개시된다. 상기 프로그램 전송 장치 및 방법 그리고 이를 포함하는 시스템은 가상 머신의 프로그램 전송시 하드웨어 주소와 독립적인 논리적 주소를 사용하는 프로그램 전송 장치를 이용함으로써, 서로 다른 호스트 간에도 응용 프로그램 이동이 가능한 고효율, 고성능 및 고신뢰성의 가상화 환경에서의 프로그램 전송 장치 및 방법 그리고 이를 포함하는 시스템을 제공할 수 있다.Disclosed are a program transmission device and method in a virtualization environment and a system including the same. The program transmission device and method and the system including the same use a program transmission device that uses a logical address independent of the hardware address when transmitting a program of a virtual machine, so that applications can be moved between different hosts with high efficiency, high performance, and high reliability. A program transmission device and method in a virtualization environment and a system including the same can be provided.

Figure R1020190002102
Figure R1020190002102

Description

가상화 환경에서의 프로그램 전송 장치 및 방법 그리고 이를 포함하는 시스템{APPARATUS AND METHOD FOR SENDNG PROGRAM IN VIRTUAL ENVIROMENT AND SYSTEM USING THE SAME}Apparatus and method for transmitting programs in a virtualization environment and a system including the same {APPARATUS AND METHOD FOR SENDNG PROGRAM IN VIRTUAL ENVIROMENT AND SYSTEM USING THE SAME}

본 발명은 가상화 환경에서의 프로그램 전송 장치 및 방법 그리고 이를 포함하는 시스템에 관한 것으로, 보다 상세하게는, 가상화 환경에서의 서로 다른 호스트들 간의 프로그램을 전송하는 장치 및 방법 그리고 이를 포함하는 시스템에 관한 것이다.The present invention relates to an apparatus and method for transmitting programs in a virtualization environment and a system including the same. More specifically, it relates to an apparatus and method for transmitting programs between different hosts in a virtualization environment and a system including the same. .

가상화 시스템(Virtualized System)은 응용 프로그램이 물리적인 하드웨어를 직접 사용하지 않고, 미들웨어(Middle Ware)에 의하여 추상화 된 가상의 소프트웨어 자원들을 사용하도록 운영된다. 예를 들어, 가상화 시스템은 하이퍼바이저(hypervisor)에 의해 복수의 가상 자원들이 하드웨어를 공유하여 사용하는 구조를 가진다.A virtualized system is operated so that applications do not directly use physical hardware, but use virtual software resources abstracted by middleware. For example, a virtualization system has a structure in which a plurality of virtual resources share and use hardware by a hypervisor.

이러한, 가상화 시스템에서는 소프트웨어가 하드웨어와 독립적으로 운영되므로, 소프트웨어의 배포 및 설치에 있어서 이식성(portability)이 증대되고, 소프트웨어의 재구성에 있어서 유연성(flexibility)이 보장된다.In this virtualization system, software operates independently of hardware, thereby increasing portability in distribution and installation of software and ensuring flexibility in reconfiguring software.

한편, 가상화 시스템은 하드웨어를 공유하기 때문에 물리적인 시스템에 비하여 성능이 저하되는 문제점이 있다. On the other hand, because virtualization systems share hardware, there is a problem in that performance is lowered compared to physical systems.

이에 종래에는 가상화 시스템의 성능 저하를 해결하기 위한 방법으로, 입출력 디바이스를 전용으로 할당하는 패스쓰루(Passthrough) 방법을 사용하고 있다. Accordingly, as a method to solve the performance degradation of virtualization systems, the passthrough method of allocating input/output devices exclusively is used.

패스쓰루(Passthrough) 방법은 가상 머신이 원하는 입출력 디바이스를 지정하면, 하이퍼바이저(hypervisor)가 이를 다른 가상 머신에게 공유하여 제공하지 않고, 지정된 가상 머신에게만 전용으로 제공하는 방법이다. The passthrough method is a method in which a virtual machine specifies a desired input/output device, and the hypervisor does not share it with other virtual machines but provides it exclusively to the designated virtual machine.

보다 구체적으로 설명하면, 종래의 패스쓰루 디바이스는 대부분 하드웨어 주소를 직접 지정하는 방식을 사용한다. 예를 들어 어떠한 이더넷 카드가 PCI 슬롯 1번에 탑재되어 있고 이를 패스쓰루 디바이스로 사용하고자 한다면, 가상 머신은 자신의 구성 파라미터에서 PCI 슬롯 1번의 주소를 직접 지정한다. 이는 하이퍼바이저 에게 전달되어 PCI 슬롯 1번의 이더넷 카드가 패스쓰루 디바이스로 사용된다. 이에 따라, 패스쓰루(Passthrough) 방법은 입출력 디바이스의 공유적 사용으로 인한 지연시간을 해소할 수 있으며, 기지국 모뎀과 같은 응용 프로그램의 실시간성을 보장할 수 있다.To be more specific, most conventional pass-through devices use a method of directly specifying a hardware address. For example, if an Ethernet card is installed in PCI slot 1 and you want to use it as a pass-through device, the virtual machine directly specifies the address of PCI slot 1 in its configuration parameters. This is delivered to the hypervisor, and the Ethernet card in PCI slot 1 is used as a pass-through device. Accordingly, the passthrough method can eliminate latency due to shared use of input/output devices and ensure real-time performance of applications such as base station modems.

그러나, 하드웨어 주소를 사용하는 종래의 패스쓰루(Passthrough) 방법은 가상 머신을 다른 호스트로 이동하여 실행할 경우 두 호스트 내의 지정된 하드웨어 주소가 다르면, 서로 충돌되어 오류가 발생하는 단점이 있다. However, the conventional passthrough method using hardware addresses has the disadvantage that when a virtual machine is moved to another host and executed, if the designated hardware addresses in the two hosts are different, they conflict with each other and an error occurs.

또한, 하드웨어 주소를 사용하는 종래의 패스쓰루(Passthrough) 방법은 서로 다른 호스트 간의 메인보드 구조 또는 스케일 등이 서로 이종일 경우에도 호환이 어려워 오류가 발생하는 단점이 있다.In addition, the conventional passthrough method using hardware addresses has the disadvantage of causing errors due to difficulty in compatibility even when the motherboard structures or scales of different hosts are different.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 고성능 및 고 신뢰성의 프로그램 전송 장치를 제공하는 데 있다.The purpose of the present invention to solve the above problems is to provide a high-performance and high-reliability program transmission device.

상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은 고성능 및 고신뢰성의 프로그램 전송 방법을 제공하는 데 있다.Another purpose of the present invention to solve the above problems is to provide a high-performance and high-reliability program transmission method.

상기와 같은 문제점을 해결하기 위한 본 발명의 또다른 목적은 고성능 및 고신뢰성의 프로그램 전송 시스템을 제공하는 데 있다.Another purpose of the present invention to solve the above problems is to provide a high-performance and high-reliability program transmission system.

상기 목적을 달성하기 위한 본 발명의 실시예에 따른 가상화 환경에서의 프로그램 전송 방법은 제1 호스트가 응용 프로그램 전송을 위해 가상 머신으로부터 요청된 제2 호스트 내 프로그램 전송 장치의 논리적 주소를 메인 관리자에게 송신하는 단계, 상기 메인 관리자가 상기 논리적 주소와 매칭되는 상기 프로그램 전송 장치를 할당하는 단계, 상기 프로그램 전송 장치가 할당될 경우, 상기 메인 관리자가 상기 제2 호스트에 할당 정보를 송신하는 단계 및 상기 메인 관리자가 할당 결과를 상기 제1 호스트에 전송하는 단계를 포함한다.In order to achieve the above object, the program transmission method in a virtualization environment according to an embodiment of the present invention involves the first host sending the logical address of the program transmission device in the second host requested from the virtual machine to the main manager for application program transmission. a step of the main manager allocating the program transmission device matching the logical address; when the program transmission device is assigned, the main manager transmitting allocation information to the second host; and the main manager and transmitting an allocation result to the first host.

본 발명의 실시예에 따른 가상화 환경에서의 프로그램 전송 장치 및 방법 그리고 이를 포함하는 시스템은 가상 머신의 프로그램 전송시 하드웨어 주소와 독립적인 논리적 주소를 사용하는 프로그램 전송 장치를 이용함으로써, 서로 다른 호스트 간에도 응용 프로그램 이동이 가능한 고효율, 고성능 및 고신뢰성의 가상화 환경에서의 프로그램 전송 장치 및 방법 그리고 이를 포함하는 시스템을 제공할 수 있다.The program transmission device and method in a virtualization environment according to an embodiment of the present invention, and the system including the same, use a program transmission device that uses a logical address independent of the hardware address when transmitting a program of a virtual machine, so that it can be applied between different hosts. A program transfer device and method in a highly efficient, high-performance, and high-reliability virtualization environment capable of program transfer, and a system including the same can be provided.

도 1은 본 발명의 실시예에 따른 가상화 환경에서의 프로그램 전송 시스템을 설명하기 위한 블록 구성도이다.
도 2는 본 발명의 실시예에 따른 변경된 호스트로 프로그램을 전송하는 방법을 설명하기 위한 순서도이다.
1 is a block diagram illustrating a program transmission system in a virtualization environment according to an embodiment of the present invention.
Figure 2 is a flow chart to explain a method of transmitting a program to a changed host according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. Since the present invention can make various changes and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all changes, equivalents, and substitutes included in the spirit and technical scope of the present invention. While describing each drawing, similar reference numerals are used for similar components.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는 데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는"이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first, second, A, B, etc. may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, a first component may be named a second component, and similarly, the second component may also be named a first component without departing from the scope of the present invention. The term “and/or” includes any of a plurality of related stated items or a combination of a plurality of related stated items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is said to be "connected" or "connected" to another component, it is understood that it may be directly connected to or connected to the other component, but that other components may exist in between. It should be. On the other hand, when it is mentioned that a component is “directly connected” or “directly connected” to another component, it should be understood that there are no other components in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in this application are only used to describe specific embodiments and are not intended to limit the invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, terms such as “comprise” or “have” are intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, but are not intended to indicate the presence of one or more other features. It should be understood that this does not exclude in advance the possibility of the existence or addition of elements, numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the technical field to which the present invention pertains. Terms defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted in an ideal or excessively formal sense unless explicitly defined in the present application. No.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the attached drawings. In order to facilitate overall understanding when describing the present invention, the same reference numerals are used for the same components in the drawings, and duplicate descriptions for the same components are omitted.

도 1은 본 발명의 실시예에 따른 가상화 환경에서의 프로그램 전송 시스템을 설명하기 위한 블록 구성도이다.1 is a block diagram illustrating a program transmission system in a virtualization environment according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시예에 따른 프로그램 전송 시스템은 복수의 호스트(1000)들 및 가상 머신(3000)을 포함함으로써, 논리적 주소를 사용하여 서로 다른 호스트(1000) 간에 응용 프로그램을 전송할 수 있다.Referring to FIG. 1, the program transmission system according to an embodiment of the present invention includes a plurality of hosts 1000 and a virtual machine 3000, thereby transmitting applications between different hosts 1000 using logical addresses. You can.

보다 구체적으로 설명하면, 호스트(1000)는 프로세서(1100), 스토리지(1300), 입출력 장치(1500) 및 프로그램 전송 장치(1700)를 포함할 수 있다. 실시예에 따르면, 프로세서(1100)는 중앙 처리 장치(CPU)일 수 있으며, 입출력 장치는 통신 장치일 수 있다. 예를 들어, 입출력 장치(1500)는 이더넷 또는 USB 장치일 수 있다.To be more specific, the host 1000 may include a processor 1100, storage 1300, input/output device 1500, and program transmission device 1700. According to an embodiment, the processor 1100 may be a central processing unit (CPU), and the input/output device may be a communication device. For example, the input/output device 1500 may be an Ethernet or USB device.

또한, 호스트(1000)는 미들웨어(1900)를 포함할 수 있다. 미들웨어(1900)는 호스트(1000) 내 적어도 하나의 상기 하드웨어 구성들(1100, 1300, 1500, 1700)들을 추상화할 수 있다. 다시 말하면, 호스트(1000)는 미들웨어(1900)에 의해 가상화된 가상 프로세서(1110), 가상 스토리지(1310), 가상 입출력 장치(1510) 및 로지컬 프로그램 전송 장치(1710)를 포함할 수 있다. 실시예에 따르면, 미들웨어(1900)는 하이퍼바이저(hypervisor)일 수 있다. Additionally, the host 1000 may include middleware 1900. Middleware 1900 may abstract at least one of the hardware components 1100, 1300, 1500, and 1700 within the host 1000. In other words, the host 1000 may include a virtual processor 1110, a virtual storage 1310, a virtual input/output device 1510, and a logical program transfer device 1710 virtualized by the middleware 1900. According to an embodiment, the middleware 1900 may be a hypervisor.

미들웨어(1900)는 매핑부(1950)를 포함할 수 있다. 매핑부(1950)는 로지컬 프로그램 전송 장치(1710)의 논리적 주소 및 이에 대응하는 하드웨어 구성인 프로그램 전송 장치(1700)의 하드웨어 주소를 매핑할 수 있다. 이때, 논리적 주소는 로지컬 프로그램 전송 장치(1710)를 정의하는 주소일 수 있다. 논리적 주소에 대해서는 하기 로지컬 프로그램 전송 장치(1710)의 설명시 보다 구체적으로 설명하겠다.Middleware 1900 may include a mapping unit 1950. The mapping unit 1950 may map the logical address of the logical program transmission device 1710 and the hardware address of the program transmission device 1700, which is a corresponding hardware configuration. At this time, the logical address may be an address that defines the logical program transmission device 1710. The logical address will be explained in more detail when describing the logical program transmission device 1710 below.

실시예에 따르면, 매핑부(1950)는 메인 관리자(O)에 의해 송신된 매칭 결과를 바탕으로 로지컬 프로그램 전송 장치(1710)의 논리적 주소 및 이에 대응하는 하드웨어 구성인 프로그램 전송 장치(1700)의 하드웨어 주소를 매핑할 수 있다. 메인 관리자(O)에 의해 송신된 매칭 결과에 대해서도 하기 로지컬 프로그램 전송 장치(1710)의 설명시 보다 자세히 설명하겠다.According to the embodiment, the mapping unit 1950 determines the logical address of the logical program transmission device 1710 and the hardware of the program transmission device 1700, which is the corresponding hardware configuration, based on the matching result transmitted by the main manager (O). Addresses can be mapped. The matching results transmitted by the main manager (O) will be explained in more detail when explaining the logical program transmission device 1710 below.

로지컬 프로그램 전송 장치(1710)는 미들웨어(1900) 상부에 위치되어, 후술될 복수의 가상 머신(3000)들로부터 수신된 적어도 하나의 응용 프로그램들을 하드웨어 구성인 프로그램 전송 장치(1700)로 전송할 수 있다.The logical program transmission device 1710 is located on top of the middleware 1900 and can transmit at least one application program received from a plurality of virtual machines 3000, which will be described later, to the program transmission device 1700, which is a hardware component.

이때, 로지컬 프로그램 전송 장치(1710)는 앞서 설명한 바와 같이, 논리적 주소를 사용할 수 있다. 다시 말하면, 로지컬 프로그램 전송 장치(1710)는 논리적 주소로 정의된 가상화된 프로그램 전송 장치(1700)일 수 있다. At this time, the logical program transmission device 1710 may use the logical address, as described above. In other words, the logical program transmission device 1710 may be a virtualized program transmission device 1700 defined by a logical address.

여기서, 논리적 주소는 호스트(1000)의 하드웨어 주소와 독립적으로 사용 가능한 주소일 수 있다. 실시예에 따르면, 논리적 주소는 입출력 디바이스 타입, 입출력 디바이스 모델명, 대역폭, 지연시간 및 연결되어 있는 장치 이름 중 적어도 하나로 사용될 수 있다. 그러나, 논리적 주소는 상기 개시된 실시예에 국한되지 않고, 다수의 호스트(1000)들에 적용 가능한 비 종속적인 정보들 모두 사용될 수 있다.Here, the logical address may be an address that can be used independently from the hardware address of the host 1000. According to an embodiment, the logical address may be used as at least one of the input/output device type, input/output device model name, bandwidth, delay time, and connected device name. However, the logical address is not limited to the embodiment disclosed above, and any non-dependent information applicable to multiple hosts 1000 may be used.

논리적 주소로 정의된 로지컬 프로그램 전송 장치(1710)가 특정 하드웨어 구성인 프로그램 전송 장치(1700)로 응용 프로그램을 전송할 경우, 미들웨어(1900) 내 매핑부(1950)에 의해, 로지컬 프로그램 전송 장치(1710)는 상기 논리적 주소에 대응하는 하드웨어 주소를 갖는 프로그램 전송 장치(1700)로 응용 프로그램을 전송할 수 있다. 다시 말하면, 후술될 가상 머신(3000)은 논리적 주소로 프로그램 전송 장치(1700)를 지정하나, 매핑부(1950)에 의해, 하드웨어 주소를 지정한 것과 동일한 효과를 얻을 수 있다.When the logical program transmission device 1710 defined by a logical address transmits an application to the program transmission device 1700 with a specific hardware configuration, the logical program transmission device 1710 is transmitted by the mapping unit 1950 in the middleware 1900. Can transmit an application program to the program transmission device 1700 having a hardware address corresponding to the logical address. In other words, the virtual machine 3000, which will be described later, designates the program transmission device 1700 with a logical address, but can obtain the same effect as specifying a hardware address by the mapping unit 1950.

종래의 가상화된 프로그램 전송 장치는 하드웨어 구성인 프로그램 전송 장치로의 응용 프로그램의 이동시 하드웨어 주소를 사용하였다. 이에 따라, 다른 제2 호스트 내 프로그램 전송 장치로 응용 프로그램을 전송할 경우, 제2 호스트 내 프로그램 전송 장치에 정의된 하드웨어 주소가 일치해야만 하는 문제가 발생하였다.A conventional virtualized program transfer device uses a hardware address when moving an application program to a program transfer device that is configured as hardware. Accordingly, when transferring an application to a program transfer device in another second host, a problem occurred in which the hardware address defined in the program transfer device in the second host must match.

하지만, 본 발명의 실시예에 따른 프로그램 전송 시스템 내 로지컬 프로그램 전송 장치는 하드웨어 구성인 프로그램 전송 장치의 정의시 논리적 주소를 사용함으로써, 제2 호스트 내 프로그램 전송 장치로의 응용 프로그램 전송시에도 별도의 제약 없이 자유로운 전송이 가능하므로, 고효율, 고성능 및 고신뢰성의 프로그램 전송 시스템이 제공될 수 있다.However, the logical program transmission device in the program transmission system according to an embodiment of the present invention uses a logical address when defining the program transmission device, which is a hardware configuration, so there are separate restrictions even when transmitting an application to the program transmission device in the second host. Since free transmission is possible, a program transmission system with high efficiency, high performance, and high reliability can be provided.

논리적 주소를 갖는 로지컬 프로그램 전송 장치(1710) 및 하드웨어 주소를 갖는 프로그램 전송 장치(1700) 매핑은 앞서 개시한 바와 같이, 메인 관리자(O)에 의해 송신된 매칭 결과를 토대로 수행될 수 있다. 다시 말하면, 로지컬 프로그램 전송 장치(1710)는 제1 관리자(S1), 제2 관리자(S2) 및 메인 관리자(O)의 할당에 의해 하드웨어 구성인 프로그램 전송 장치(1700)와 연결될 수 있다. Mapping of the logical program transmission device 1710 with a logical address and the program transmission device 1700 with a hardware address may be performed based on the matching result transmitted by the main manager O, as described above. In other words, the logical program transmission device 1710 may be connected to the program transmission device 1700, which is a hardware configuration, by assigning a first manager (S 1 ), a second manager (S 2 ), and a main manager (O).

메인 관리자(O)에 의해 프로그램 전송 장치(1700)가 할당되는 방법을 보다 구체적으로 설명하면, 메인 관리자(O)는 제1 관리자(S1) 및 제2 관리자(S2)로부터 적어도 하나의 정보를 수신할 수 있다. To describe in more detail how the program transmission device 1700 is allocated by the main manager (O), the main manager (O) receives at least one piece of information from the first manager (S 1 ) and the second manager (S 2 ). can receive.

보다 구체적으로 설명하면, 제1 관리자(S1)는 복수의 가상 머신(3000) 내 가상 기능(VF)들과 개별적으로 상호 작용하여, 논리적 주소로 지정된 적어도 하나의 로지컬 프로그램 전송 장치(1710)를 관리할 수 있다. 또한, 제2 관리자(S2)는 미들웨어(1900)와 상호 작용하여 하드웨어 주소로 지정된 적어도 하나의 프로그램 전송 장치(1700)를 관리할 수 있다. 따라서, 메인 관리자(O)는 제1 관리자(S1) 및 제2 관리자(S2)로부터 가상 머신(3000)에서 요구하는 프로그램 전송 장치(1700)의 정보 및 호스트(1000) 내 지원 가능한 프로그램 전송 장치(1700)의 수행 능력을 수신할 수 있다. To be more specific, the first manager (S 1 ) individually interacts with the virtual functions (VFs) in the plurality of virtual machines 3000 to install at least one logical program transmission device 1710 specified by a logical address. It can be managed. Additionally, the second manager (S 2 ) may interact with the middleware 1900 to manage at least one program transmission device 1700 designated by a hardware address. Therefore, the main manager (O) transmits information about the program transmission device 1700 requested by the virtual machine 3000 and programs supportable in the host 1000 from the first manager (S 1 ) and the second manager (S 2 ). The performance capabilities of the device 1700 may be received.

이후, 메인 관리자(O)는 제1 관리자(S1) 및 제2 관리자(S2)로부터 수신된 적어도 하나의 정보를 분석하여 응용 프로그램 전송을 위한 매칭을 수행할 수 있다. 예를 들어, 상기 매칭은 정적 매칭, 동적 매칭, 비 경험적 매칭, 지식 기반 경험적 매칭, 관리자 개입 매칭 방식 및 완전 자동 매칭 방식 중 하나의 방법으로 수행될 수 있다. 그러나, 상기 매칭 방법은 상술된 바에 국한되지 않고 다양한 방법이 적용될 수 있다.Thereafter, the main manager (O) may perform matching for application transmission by analyzing at least one piece of information received from the first manager (S 1 ) and the second manager (S 2 ). For example, the matching may be performed in one of static matching, dynamic matching, non-empirical matching, knowledge-based empirical matching, administrator intervention matching, and fully automatic matching. However, the matching method is not limited to the one described above and various methods may be applied.

메인 관리자(O)는 매칭 결과를 매핑부(1950)에 송신할 수 있다. 따라서, 로지컬 프로그램 전송 장치(1710)은 응용 프로그램 전송시, 메인 관리자(O)에 의해 할당된 프로그램 전송 장치(1700)에 전송할 수 있다.The main manager (O) may transmit the matching result to the mapping unit 1950. Therefore, when transmitting an application program, the logical program transmission device 1710 can transmit it to the program transmission device 1700 assigned by the main manager (O).

본 발명의 실시예에 따른 가상화 환경에서의 프로그램 전송 시스템은 응용 프로그램 전송시, 제1 관리자(S1), 제2 관리자(S2) 및 메인 관리자(O)에 의해 가상 머신의 요구 정보 및 프로그램 전송 장치의 수행 능력이 고려된 최적의 디바이스 할당 정보를 활용함으로써, 신속하고 정밀한 실시간 응용 프로그램 전송이 가능할 수 있다. The program transmission system in a virtualization environment according to an embodiment of the present invention transmits the request information and program of the virtual machine by the first manager (S 1 ), the second manager (S 2 ), and the main manager (O) when transmitting an application program. By utilizing optimal device allocation information that takes into account the performance capabilities of the transmission device, rapid and precise real-time application transmission can be possible.

가상 머신(3000)은 복수개로 제공되며, 각각 가상 기능(VF, Virtual Function)을 제공할 있다. A plurality of virtual machines 3000 are provided, each providing a virtual function (VF).

보다 구체적으로 설명하면, 복수의 가상 머신(3000)들은 가상 기능(VF)에 의해 호스트(1000) 내 가상화된 구성들(1110, 1310, 1510, 1710)과 연동될 수 있다. To be more specific, a plurality of virtual machines 3000 may be linked with virtualized components 1110, 1310, 1510, and 1710 in the host 1000 by a virtual function (VF).

다시 말하면, 복수의 가상 머신(3000)들은 호스트(1000) 내 하드웨어 구성들(1100. 1300, 1500, 1700)과 직접적으로 연결되지 않으므로써, 가상화된 구성들(1110, 1310, 1510, 1710)과 연동된 미들웨어(1900)에 의해 하드웨어 구성들(1100. 1300, 1500, 1700)을 공유하여 사용할 수 있다. 또한, 소프트웨어의 재구성 시 이식성(portability) 및 유연성(flexibility)이 보장될 수 있다.In other words, the plurality of virtual machines 3000 are not directly connected to the hardware configurations 1100, 1300, 1500, and 1700 in the host 1000, and thus are connected to the virtualized configurations 1110, 1310, 1510, and 1710. The hardware configurations (1100, 1300, 1500, and 1700) can be shared and used by the linked middleware (1900). Additionally, portability and flexibility can be guaranteed when reconfiguring software.

이상, 본 발명의 실시예에 따른 가상화 환경에서의 프로그램 전송 시스템을 설명하였다. 이하에서는 상기 프로그램 전송 시스템을 이용하여 서로 다른 호스트로 응용 프로그램을 전송하는 가상화 환경에서의 프로그램 전송 방법을 설명하겠다.Above, a program transmission system in a virtualization environment according to an embodiment of the present invention has been described. Below, we will explain a program transfer method in a virtualization environment that transfers applications to different hosts using the above program transfer system.

도 2는 본 발명의 실시예에 따른 변경된 호스트로 프로그램을 전송하는 방법을 설명하기 위한 순서도이다. Figure 2 is a flow chart to explain a method of transmitting a program to a changed host according to an embodiment of the present invention.

도 2를 참조하면, 제1 호스트(1000A)는 메인 관리자(O)에게 적어도 하나의 정보를 전송하여, 제2 호스트(1000B) 내 제2 프로그램 전송 장치로의 할당을 요청할 수 있다(S1000). 이때, 적어도 하나의 정보는 이동하고자 하는 제2 호스트 내 가상화된 제2 프로그램 전송 장치(로지컬 프로그램 전송 장치)의 논리적 주소, 제2 호스트(1000B)의 정보 및 제1 및 제2 관리자로부터 수행된 관리 정보 중 적어도 하나를 포함할 수 있다. Referring to FIG. 2, the first host 1000A may transmit at least one piece of information to the main manager O to request allocation to a second program transmission device in the second host 1000B (S1000). At this time, at least one piece of information includes the logical address of the virtualized second program transmission device (logical program transmission device) in the second host to be moved, information on the second host (1000B), and management performed by the first and second managers. It may contain at least one piece of information.

이후, 메인 관리자(O)는 제1 호스트(1000A)로부터 송신된 논리적 주소를 바탕으로 매칭되는 제2 프로그램 전송 장치 정보를 할당하여, 제2 호스트(1000B)로 송신할 수 있다(S2000). 이에, 제2 호스트(1000B)는 메인 관리자(O)로부터 송신된 할당 정보를 제2 호스트(1000B) 내 제2 매핑부로 전달할 수 있다. Thereafter, the main manager (O) may allocate matching second program transmission device information based on the logical address transmitted from the first host (1000A) and transmit it to the second host (1000B) (S2000). Accordingly, the second host 1000B may transfer the allocation information sent from the main manager O to the second mapping unit within the second host 1000B.

이후, 메인 관리자(O)는 제1 호스트(1000A)에게 할당 결과를 전송할 수 있다(S3000).Afterwards, the main manager (O) may transmit the allocation result to the first host (1000A) (S3000).

일 실시예에 따르면, 앞서 설명한 바와 같이, 제2 호스트(1000B) 내 매칭되는 제2 프로그램 전송 장치가 존재하여 할당되었을 경우, 메인 관리자(O)는 제1 호스트(1000A)에게 할당 성공 메시지를 전송할 수 있다. 이에 따라, 제1 호스트(1000A) 내 가상 머신의 응용 프로그램의 전송 요청시 할당된 제2 호스트(1000B) 내 제2 프로그램 전송 장치로 전송될 수 있다.According to one embodiment, as described above, when a matching second program transmission device exists in the second host (1000B) and is assigned, the main manager (O) transmits an allocation success message to the first host (1000A). You can. Accordingly, when a request is made to transmit an application program of a virtual machine in the first host 1000A, it can be transmitted to the second program transmission device in the allocated second host 1000B.

다른 실시예에 따르면, 제2 호스트(1000B) 내 매칭되는 제2 프로그램 전송 장치가 존재하지 않을 경우, 메인 관리자(O)는 제1 호스트(1000A)에게 할당 실패 메시지를 전송할 수 있다.According to another embodiment, when there is no matching second program transmission device in the second host 1000B, the main manager O may transmit an allocation failure message to the first host 1000A.

이상, 본 발명의 실시예에 따른 가상화 환경에서의 프로그램 전송 장치 및 방법 그리고 이를 포함하는 시스템을 설명하였다.Above, a program transmission device and method in a virtualization environment according to an embodiment of the present invention, and a system including the same have been described.

본 발명의 실시예에 따른 가상화 환경에서의 프로그램 전송 장치 및 방법 그리고 이를 포함하는 시스템은 가상 머신의 프로그램 전송시 하드웨어 주소와 독립적인 논리적 주소를 사용하는 프로그램 전송 장치를 이용함으로써, 서로 다른 호스트 간에도 응용 프로그램 이동이 가능한 고효율, 고성능 및 고신뢰성의 가상화 환경에서의 프로그램 전송 장치 및 방법 그리고 이를 포함하는 시스템을 제공할 수 있다. The program transmission device and method in a virtualization environment according to an embodiment of the present invention, and the system including the same, use a program transmission device that uses a logical address independent of the hardware address when transmitting a program of a virtual machine, so that it can be applied between different hosts. A program transfer device and method in a highly efficient, high-performance, and high-reliability virtualization environment capable of program transfer, and a system including the same can be provided.

본 발명의 실시예에 따른 방법의 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다.The operation of the method according to an embodiment of the present invention can be implemented as a computer-readable program or code on a computer-readable recording medium. Computer-readable recording media include all types of recording devices that store data that can be read by a computer system. Additionally, computer-readable recording media can be distributed across networked computer systems so that computer-readable programs or codes can be stored and executed in a distributed manner.

또한, 컴퓨터가 읽을 수 있는 기록매체는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다. 프로그램 명령은 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.Additionally, computer-readable recording media may include hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Program instructions may include not only machine language code such as that created by a compiler, but also high-level language code that can be executed by a computer using an interpreter, etc.

본 발명의 일부 측면들은 장치의 문맥에서 설명되었으나, 그것은 상응하는 방법에 따른 설명 또한 나타낼 수 있고, 여기서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 상응한다. 유사하게, 방법의 문맥에서 설명된 측면들은 또한 상응하는 블록 또는 아이템 또는 상응하는 장치의 특징으로 나타낼 수 있다. 방법 단계들의 몇몇 또는 전부는 예를 들어, 마이크로프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이용하여) 수행될 수 있다. 몇몇의 실시예에서, 가장 중요한 방법 단계들의 하나 이상은 이와 같은 장치에 의해 수행될 수 있다. Although some aspects of the invention have been described in the context of an apparatus, it may also refer to a corresponding method description, where a block or device corresponds to a method step or feature of a method step. Similarly, aspects described in the context of a method may also be represented by corresponding blocks or items or features of a corresponding device. Some or all of the method steps may be performed by (or using) a hardware device, such as a microprocessor, programmable computer, or electronic circuit, for example. In some embodiments, one or more of the most important method steps may be performed by such an apparatus.

실시예들에서, 프로그램 가능한 로직 장치(예를 들어, 필드 프로그머블 게이트 어레이)가 여기서 설명된 방법들의 기능의 일부 또는 전부를 수행하기 위해 사용될 수 있다. 실시예들에서, 필드 프로그머블 게이트 어레이는 여기서 설명된 방법들 중 하나를 수행하기 위한 마이크로프로세서와 함께 작동할 수 있다. 일반적으로, 방법들은 어떤 하드웨어 장치에 의해 수행되는 것이 바람직하다.In embodiments, a programmable logic device (e.g., a field programmable gate array) may be used to perform some or all of the functionality of the methods described herein. In embodiments, a field programmable gate array may operate in conjunction with a microprocessor to perform one of the methods described herein. In general, the methods are preferably performed by some hardware device.

이상 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the present invention has been described with reference to preferred embodiments of the present invention, those skilled in the art may make various modifications and changes to the present invention without departing from the spirit and scope of the present invention as set forth in the claims below. You will understand that it is possible.

1000: 호스트 1100: 프로세서
1110: 가상 프로세서 1300: 스토리지
1310: 가상 스토리지 1500: 입출력 장치
1510: 가상 입출력 장치 1700: 프로그램 전송 장치
1710: 로지컬 프로그램 전송 장치 1900: 미들웨어
1950: 매핑부 1000A: 제1 호스트
1000B: 제2 호스트 3000: 가상 머신
O: 메인 관리자 S1: 제1 관리자
S2: 제2 관리자
1000: Host 1100: Processor
1110: Virtual Processor 1300: Storage
1310: virtual storage 1500: input/output device
1510: Virtual input/output device 1700: Program transmission device
1710: Logical program transmission device 1900: Middleware
1950: Mapping Unit 1000A: First Host
1000B: Second host 3000: Virtual machine
O: Main manager S 1 : First manager
S 2 : Second manager

Claims (10)

메인 관리자가 제1 호스트로부터 입출력 디바이스의 전용 할당을 위한 할당 요청을 받는 단계-여기서 상기 할당 요청은 상기 제1 호스트가 응용 프로그램 전송을 위해 제2 호스트 내 하드웨어 구성인 프로그램 전송 장치에 대한 논리적 주소를 포함하고, 상기 논리적 주소는 상기 제1 호스트 내 가상 머신에 의해 지정됨-;
상기 메인 관리자가 상기 논리적 주소와 매칭되는 상기 프로그램 전송 장치를 할당하는 단계;
상기 메인 관리자가 상기 제2 호스트로 상기 프로그램 전송 장치에 대한 할당 정보를 전송하는 단계; 및
상기 메인 관리자가 상기 제1 호스트로 상기 논리적 주소와 매칭되는 상기 프로그램 전송 장치에 대한 할당 결과를 전송하는 단계;
를 포함하는 가상화 환경에서의 프로그램 전송 방법.
A main manager receiving an allocation request for dedicated allocation of an input/output device from a first host, wherein the allocation request requests the first host to provide a logical address for a program transfer device, which is a hardware configuration in the second host, for application transfer. wherein the logical address is specified by a virtual machine in the first host;
the main manager allocating the program transmission device matching the logical address;
transmitting, by the main manager, allocation information about the program transmission device to the second host; and
transmitting, by the main manager, an allocation result for the program transmission device matching the logical address to the first host;
A program transfer method in a virtualization environment including.
청구항 1에 있어서,
상기 할당하는 단계 전에, 미들웨어 내 매핑부에 의해, 상기 제2 호스트 내 하드웨어 구성의 하드웨어 주소와 독립적인 상기 논리적 주소를 상기 프로그램 전송 장치의 하드웨어 주소와 매핑하는 단계를 더 포함하는, 가상화 환경에서의 프로그램 전송 방법.
In claim 1,
Before the step of allocating, the step of mapping the logical address independent of the hardware address of the hardware configuration in the second host with the hardware address of the program transmission device by a mapping unit in the middleware, in a virtualization environment. How to transfer programs.
청구항 2에 있어서,
제1 관리자가 복수의 가상 머신 내 가상 기능들과 개별적으로 상호 작용하여 논리적 주소로 지정된 적어도 하나의 로지컬 프로그램 전송 장치를 관리하고, 제2 관리자가 상기 미들웨어와 상호 작용하여 하드웨어 주소로 지정된 적어도 하나의 프로그램 전송 장치를 관리하며, 상기 메인 관리자가 상기 제1 관리자 및 상기 제2 관리자로부터 상기 가상 머신에서 요구하는 프로그램 전송 장치의 정보 및 상기 제1 호스트 및 상기 제2 호스트 내 지원 가능한 프로그램 전송 장치의 수행 능력을 수신하는 단계를 더 포함하는, 가상화 환경에서의 프로그램 전송 방법.
In claim 2,
A first manager interacts individually with virtual functions within a plurality of virtual machines to manage at least one logical program transmission device specified by a logical address, and a second manager interacts with the middleware to manage at least one logical program transmission device specified by a hardware address. Manages a program transmission device, and the main manager receives information on the program transmission device requested from the virtual machine from the first manager and the second manager and performs program transmission device support within the first host and the second host. A method of transmitting a program in a virtualization environment, further comprising receiving capabilities.
청구항 3에 있어서,
상기 메인 관리자가 상기 제1 관리자 및 상기 제2 관리자로부터 수신된 적어도 하나의 정보를 분석하여 상기 응용 프로그램 전송을 위한 매칭을 수행하고, 매칭 결과를 상기 매핑부에 전송하는 단계를 더 포함하는, 가상화 환경에서의 프로그램 전송 방법.
In claim 3,
Virtualization further comprising the step of the main manager analyzing at least one piece of information received from the first manager and the second manager to perform matching for transmitting the application program and transmitting the matching result to the mapping unit. How to transfer programs in the environment.
청구항 1에 있어서,
상기 응용 프로그램 전송을 위한 매칭은, 정적 매칭, 동적 매칭, 비 경험적 매칭, 지식 기반 경험적 매칭, 관리자 개입 매칭 방식 및 완전 자동 매칭 방식 중 적어도 어느 하나 이상의 방법으로 수행되는, 가상화 환경에서의 프로그램 전송 방법.
In claim 1,
The matching for application transmission is performed by at least one of static matching, dynamic matching, non-empirical matching, knowledge-based empirical matching, administrator intervention matching, and fully automatic matching. Method for transmitting programs in a virtualized environment. .
청구항 1에 있어서,
상기 논리적 주소는 상기 제2 호스트 내 하드웨어 구성의 입출력 디바이스 타입, 입출력 디바이스 모델명, 대역폭, 지연시간 및 연결되어 있는 장치명 중 적어도 하나를 포함하는, 가상화 환경에서의 프로그램 전송 방법.
In claim 1,
The logical address includes at least one of the input/output device type, input/output device model name, bandwidth, delay time, and connected device name of the hardware configuration in the second host.
복수의 호스트들 및 가상 머신을 포함하고,
상기 복수의 호스트들 중 적어도 하나는 프로세서, 스토리지, 입출력 장치 및 프로그램 전송 장치를 포함하고,
상기 복수의 호스트들 중 적어도 하나는 상기 프로세서, 상기 스토리지, 상기 입출력 장치 및 상기 프로그램 전송 장치를 추상화하는 미들웨어를 더 포함하고,
상기 미들웨어는 매핑부를 포함하고, 상기 매핑부는 제1 호스트의 로지컬 프로그램 전송 장치의 논리적 주소 및 제2 호스트의 하드웨어 구성인 프로그램 전송 장치의 하드웨어 주소를 매핑하며,
상기 로지컬 프로그램 전송 장치는, 상기 미들웨어 상에 위치하고 상기 논리적 주소로 정의된 가상화된 프로그램 전송 장치로서, 상기 하드웨어 주소와 독립적으로 사용가능한 상기 논리적 주소를 이용하여 상기 가상 머신으로부터 수신된 응용 프로그램을 상기 프로그램 전송 장치로 전송하는, 가상화 환경에서의 프로그램 전송 장치.
Contains a plurality of hosts and virtual machines,
At least one of the plurality of hosts includes a processor, storage, input/output device, and program transmission device,
At least one of the plurality of hosts further includes middleware that abstracts the processor, the storage, the input/output device, and the program transmission device,
The middleware includes a mapping unit, and the mapping unit maps the logical address of the logical program transfer device of the first host and the hardware address of the program transfer device that is the hardware configuration of the second host,
The logical program transmission device is a virtualized program transmission device located on the middleware and defined by the logical address, and transfers the application program received from the virtual machine to the program using the logical address that can be used independently of the hardware address. A program transfer device in a virtualization environment that transfers to a transfer device.
청구항 7에 있어서,
상기 로지컬 프로그램 전송 장치를 관리하는 메인 관리자가, 제1 호스트로부터 입출력 디바이스의 전용 할당을 위한 할당 요청을 받는 단계-여기서 상기 할당 요청은 상기 제1 호스트가 응용 프로그램 전송을 위해 제2 호스트 내 하드웨어 구성인 프로그램 전송 장치에 대한 논리적 주소를 포함하고, 상기 논리적 주소는 상기 제1 호스트 내 가상 머신에 의해 지정됨-; 상기 메인 관리자가 상기 논리적 주소와 매칭되는 상기 프로그램 전송 장치를 할당하는 단계; 상기 메인 관리자가 상기 제2 호스트로 상기 프로그램 전송 장치에 대한 할당 정보를 전송하는 단계; 및 상기 메인 관리자가 상기 제1 호스트로 상기 논리적 주소와 매칭되는 상기 프로그램 전송 장치에 대한 할당 결과를 전송하는 단계를 수행하는 가상화 환경에서의 프로그램 전송 장치.
In claim 7,
A main manager managing the logical program transmission device receives an allocation request for dedicated allocation of an input/output device from a first host - wherein the allocation request is requested by the first host to configure hardware in the second host for application transmission. a logical address for a program transfer device, the logical address being specified by a virtual machine in the first host; the main manager allocating the program transmission device matching the logical address; transmitting, by the main manager, allocation information about the program transmission device to the second host; and the main manager transmitting an allocation result for the program transmission device matching the logical address to the first host.
청구항 8에 있어서,
제1 관리자가 복수의 가상 머신 내 가상 기능들과 개별적으로 상호 작용하여 논리적 주소로 지정된 적어도 하나의 로지컬 프로그램 전송 장치를 관리하고, 제2 관리자가 상기 미들웨어와 상호 작용하여 하드웨어 주소로 지정된 적어도 하나의 프로그램 전송 장치를 관리하며,
상기 메인 관리자가 상기 제1 관리자 및 상기 제2 관리자로부터 상기 가상 머신에서 요구하는 프로그램 전송 장치의 정보 및 상기 제1 호스트 및 상기 제2 호스트 내 지원 가능한 프로그램 전송 장치의 수행 능력을 수신하는 단계를 더 수행하는, 가상화 환경에서의 프로그램 전송 장치.
In claim 8,
A first manager interacts individually with virtual functions within a plurality of virtual machines to manage at least one logical program transmission device specified by a logical address, and a second manager interacts with the middleware to manage at least one logical program transmission device specified by a hardware address. Manages program transmission devices,
The step of the main manager receiving information on a program transmission device required by the virtual machine and performance capabilities of program transmission devices supportable in the first host and the second host from the first manager and the second manager. A program transfer device in a virtualization environment.
청구항 9에 있어서,
상기 메인 관리자가 상기 제1 관리자 및 상기 제2 관리자로부터 수신된 적어도 하나의 정보를 분석하여 상기 응용 프로그램 전송을 위한 매칭을 수행하고, 매칭 결과를 상기 매핑부에 전송하는 단계를 더 수행하는, 가상화 환경에서의 프로그램 전송 장치.
In claim 9,
Virtualization, wherein the main manager analyzes at least one piece of information received from the first manager and the second manager to perform matching for transmitting the application program and transmits the matching result to the mapping unit. A device for transmitting programs in the environment.
KR1020190002102A 2019-01-08 2019-01-08 Apparatus and method for sendng program in virtual enviroment and system using the same KR102634986B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190002102A KR102634986B1 (en) 2019-01-08 2019-01-08 Apparatus and method for sendng program in virtual enviroment and system using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190002102A KR102634986B1 (en) 2019-01-08 2019-01-08 Apparatus and method for sendng program in virtual enviroment and system using the same

Publications (2)

Publication Number Publication Date
KR20200086017A KR20200086017A (en) 2020-07-16
KR102634986B1 true KR102634986B1 (en) 2024-02-07

Family

ID=71839502

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190002102A KR102634986B1 (en) 2019-01-08 2019-01-08 Apparatus and method for sendng program in virtual enviroment and system using the same

Country Status (1)

Country Link
KR (1) KR102634986B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012203654A (en) 2011-03-25 2012-10-22 Nec Corp Host computer, distribution processing system, and i/o control method
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
JP2016170558A (en) 2015-03-12 2016-09-23 日本電気株式会社 I/o device virtualization device, system, and band guarantee control method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9424199B2 (en) * 2012-08-29 2016-08-23 Advanced Micro Devices, Inc. Virtual input/output memory management unit within a guest virtual machine

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012203654A (en) 2011-03-25 2012-10-22 Nec Corp Host computer, distribution processing system, and i/o control method
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
JP2016170558A (en) 2015-03-12 2016-09-23 日本電気株式会社 I/o device virtualization device, system, and band guarantee control method

Also Published As

Publication number Publication date
KR20200086017A (en) 2020-07-16

Similar Documents

Publication Publication Date Title
US20200278880A1 (en) Method, apparatus, and system for accessing storage device
US8336047B2 (en) Provisioning virtual resources using name resolution
US9558041B2 (en) Transparent non-uniform memory access (NUMA) awareness
US20180189109A1 (en) Management system and management method for computer system
US20180335971A1 (en) Configurable virtualized non-volatile memory express storage
US11336521B2 (en) Acceleration resource scheduling method and apparatus, and acceleration system
US9495172B2 (en) Method of controlling computer system and computer system
US8930568B1 (en) Method and apparatus for enabling access to storage
US9131031B2 (en) Virtual computer system, virtual computer management program, and MAC address management method
CN111382095A (en) Method and apparatus for host to adapt to role changes of configurable integrated circuit die
US9755986B1 (en) Techniques for tightly-integrating an enterprise storage array into a distributed virtualized computing environment
US20230051825A1 (en) System supporting virtualization of sr-iov capable devices
TW201805833A (en) Apparatus assigning controller and apparatus assigning method
KR101495069B1 (en) Method for virtual desktop service based on iov nic and apparatus thereof
US8001544B2 (en) Method and storage medium for virtualization of device self-description information using in-transit modification
KR102634986B1 (en) Apparatus and method for sendng program in virtual enviroment and system using the same
US8601128B2 (en) Managing hardware resources for soft partitioning
CN111367472A (en) Virtualization method and device
CN114281516A (en) Resource allocation method and device based on NUMA attribute
CN110704163A (en) Server and virtual storage method and device thereof
WO2022222977A1 (en) Method and apparatus for managing memory of physical server for running cloud service instances
US11860783B2 (en) Direct swap caching with noisy neighbor mitigation and dynamic address range assignment
CN116436787B (en) Network interface management method, use method, device, equipment and storage medium
US20220318044A1 (en) Load balancing virtual computing instances associated with virtual graphics processing units
US10678554B2 (en) Assembling operating system volumes

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant