KR20150135966A - 가상 데스크탑 서비스 시스템 및 그것의 가상 데스크탑 서비스 제공 방법 - Google Patents

가상 데스크탑 서비스 시스템 및 그것의 가상 데스크탑 서비스 제공 방법 Download PDF

Info

Publication number
KR20150135966A
KR20150135966A KR1020140063239A KR20140063239A KR20150135966A KR 20150135966 A KR20150135966 A KR 20150135966A KR 1020140063239 A KR1020140063239 A KR 1020140063239A KR 20140063239 A KR20140063239 A KR 20140063239A KR 20150135966 A KR20150135966 A KR 20150135966A
Authority
KR
South Korea
Prior art keywords
network
virtual
virtual machine
network card
card
Prior art date
Application number
KR1020140063239A
Other languages
English (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 KR1020140063239A priority Critical patent/KR20150135966A/ko
Priority to US14/313,150 priority patent/US20150339145A1/en
Publication of KR20150135966A publication Critical patent/KR20150135966A/ko

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/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • 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/45591Monitoring or debugging support
    • 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/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명의 일 실시예에 따른 가상 데스크탑 서비스 시스템은 제 1 네트워크 카드에서 제공되는 가상 네트워크 인터페이스 또는 제 2 네트워크 카드와의 연결을 통해 네트워크에 연결되는 적어도 하나의 가상 머신, 상기 적어도 하나의 가상 머신의 네트워크 사용량을 모니터링하고, 모니터링 결과에 따라 상기 가상 네트워크 인터페이스들을 상기 적어도 하나의 가상 머신에 재할당하는 관리모듈, 및 상기 적어도 하나의 가상 머신의 네트워크 연결 정보를 상기 관리모듈에 제공하는 에이전트 모듈을 포함할 수 있다.

Description

가상 데스크탑 서비스 시스템 및 그것의 가상 데스크탑 서비스 제공 방법{VIRTUAL DESKTOP SERVICE SYSTEM AND VIRTUAL DESKTOP SERVICE PROVIDING METHOD THEREOF}
본 발명은 가상 데스크탑 서비스 시스템 및 그것의 가상 데스크탑 서비스 제공 방법에 관한 것이다.
가상화는 하나의 하드웨어에서 독립적인 소프트웨어 실행 환경을 가진 다수의 가상 머신을 구성하는 기술이다. 가상화 기술을 서버에 적용하면 다수의 서버를 하나의 하드웨어에서 구동할 수 있다. 이에, 최근에는 가상화 기술을 서버에 적용하여 하나의 서버에서 다수의 가상 머신을 가동하여 하드웨어 비용을 절감하는 서버 가상화 기술이 널리 사용되고 있다. 이러한 서버 가상화 환경에서는 하나의 네트워크 카드를 다수의 가상 머신이 공유하기 위해 네트워크 I/O 가상화 기술이 사용된다. 하지만, 소프트웨어를 사용하여 네트워크 I/O 가상화를 지원하는 경우 충분한 네트워크 I/O 성능을 제공하지 못한다.
이에, 하드웨어를 이용한 가상화 지원 방법들이 제안되고 있으며, 그 예로 SR-IOV(Single Root I/O Virtualization) 구조가 있다. SR-IOV 구조가 적용된 네트워크 카드는 소프트웨어의 도움없이 네트워크 I/O 가상화를 지원한다. 따라서, SR-IOV 구조가 적용된 네트워크 카드를 통해 서버 가상화 환경에서 충분한 네트워크 I/O 성능을 제공할 수 있다.
본 발명의 목적은 하드웨어를 이용한 가상화 지원 구조가 적용된 네트워크 카드를 사용하는 서버 가상화 환경에서 네트워크 I/O 성능을 더욱 향상시킬 수 있는 가상 데스크탑 서비스 시스템 및 그것의 가상 데스크탑 서비스 제공 방법을 제공하는 데 있다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재들로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 가상 데스크탑 서비스 시스템은 제 1 네트워크 카드에서 제공되는 가상 네트워크 인터페이스 또는 제 2 네트워크 카드와의 연결을 통해 네트워크에 연결되는 적어도 하나의 가상 머신, 상기 적어도 하나의 가상 머신의 네트워크 사용량을 모니터링하고, 모니터링 결과에 따라 상기 가상 네트워크 인터페이스들을 상기 적어도 하나의 가상 머신에 재할당하는 관리모듈, 및 상기 적어도 하나의 가상 머신의 네트워크 연결 정보를 상기 관리모듈에 제공하는 에이전트 모듈을 포함할 수 있다.
일 실시예에서, 상기 제 1 네트워크 카드는 하드웨어를 이용한 가상화 지원 구조가 적용된 네트워크 카드일 수 있다.
일 실시예에서, 상기 관리모듈은 상기 모니터링 결과에 기초하여 상기 적어도 하나의 가상 머신 중 네트워크 사용량이 기준값보다 많은 가상 머신에 상기 제 1 네트워크 카드에서 제공되는 상기 가상 네트워크 인터페이스를 재할당할 수 있다.
일 실시예에서, 상기 적어도 하나의 가상 머신 중 네트워크 사용량이 기준값보다 많은 가상 머신은 상기 제 2 네트워크 카드와의 연결을 통해 네트워크에 연결되는 가상 머신일 수 있다.
일 실시예에서, 상기 제 1 네트워크 카드는 SR-IOV 구조가 적용된 네트워크 카드일 수 있다.
일 실시예에서, 상기 관리모듈은 상기 제 1 네트워크 카드에서 제공되는 상기 가상 네트워크 인터페이스들 중 어느 하나를 할당받아 전용 인터페이스로 이용할 수 있다.
일 실시예에서, 상기 에이전트 모듈 및 관리모듈은 하이퍼바이저(Hypervisor) 또는 가상 머신 모니터(Virtual Machine Monitor) 상에서 동작할 수 있다.
본 발명의 일 실시예에 따른 가상 데스크탑 서비스 제공 방법은 제 1 네트워크 카드에 제공되는 적어도 하나의 가상 네트워크 인터페이스 또는 제 2 네트워크 카드를 이용하여 적어도 하나의 가상 머신 각각에 네트워크 연결을 제공하는 단계, 상기 적어도 하나의 가상 머신의 네트워크 사용량을 모니터링하는 단계, 및 상기 모니터링한 결과에 기초하여 상기 적어도 하나의 가상 머신에 상기 적어도 하나의 가상 네트워크 인터페이스를 재할당하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제 1 네트워크 카드는 하드웨어를 이용한 가상화 지원 구조가 적용된 네트워크 카드일 수 있다.
일 실시예에서, 상기 모니터링한 결과에 기초하여 상기 적어도 하나의 가상 머신에 상기 적어도 하나의 가상 네트워크 인터페이스를 재할당하는 단계는 상기 적어도 하나의 가상 머신 중 네트워크 사용량이 기준값보다 많은 가상 머신에 상기 제 1 네트워크 카드에서 제공되는 상기 적어도 하나의 가상 네트워크 인터페이스를 재할당할 수 있다.
일 실시예에서, 상기 적어도 하나의 가상 머신 중 네트워크 사용량이 기준값보다 많은 가상 머신은 재할당받은 가상 네트워크 인터페이스를 이용하여 네트워크와 연결될 수 있다.
본 발명의 일 실시예에 따른 가상 데스크탑 서비스 시스템 및 그것의 가상 데스크탑 서비스 제공 방법은 하드웨어를 이용한 가상화 지원 구조가 적용된 네트워크 카드를 사용하는 서버 가상화 환경에서 네트워크 자원을 동적으로 할당하여 네트워크 I/O 성능을 더욱 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 가상 데스크탑 서비스 시스템을 보여주는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 가상 데스크탑 서비스 제공 방법을 보여주는 흐름도이다.
도 3은 본 발명의 다른 실시예에 따른 가상 데스크탑 서비스 제공 방법을 보여주는 흐름도이다.
도 4는 본 발명의 또 다른 실시예에 따른 가상 데스크탑 서비스 제공 방법을 보여주는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 가상 데스크탑 서비스 제공 방법을 실행하는 컴퓨팅 시스템을 보여주는 블록도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.
본 발명의 실시예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명은 가상 데스크탑 서비스 시스템 및 그것의 가상 데스크탑 서비스 제공 방법에 관한 것이다. 이하에서는, 도 1 내지 도 5를 참조하여 본 발명의 실시예들에 따른 가상 데스크탑 서비스 시스템 및 그것의 가상 데스크탑 서비스 제공 방법이 설명된다.
도 1은 본 발명의 일 실시예에 따른 가상 데스크탑 서비스 시스템을 보여주는 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 가상 데스크탑 서비스 시스템은 적어도 하나의 가상 머신(110, 120, 130), 관리모듈(200), 에이전트 모듈(300), 적어도 하나의 가상 네트워크 인터페이스 카드(410, 420, 430), 제 1 네트워크 카드(500), 및 제 2 네트워크 카드(600)를 포함할 수 있다.
본 발명의 일 실시예에 따른 가상 데스크탑 서비스 시스템은 소프트웨어 계층과 하드웨어 계층을 포함할 수 있다.
예를 들어, 소프트웨어 계층은 가상 데스크탑 서비스 시스템의 OS(Operating System) 상에서 구동될 수 있다. 소프트웨어 계층에는 적어도 하나의 가상 머신(110, 120, 130), 관리모듈(200), 에이전트 모듈(300), 및 적어도 하나의 가상 네트워크 인터페이스 카드(410, 420, 430)가 포함될 수 있다.
하드웨어 계층은 소프트웨어 계층의 네트워크 연결을 지원할 수 있다. 하드웨어 계층에는 제 1 네트워크 카드(500) 및 제 2 네트워크 카드(600)가 포함될 수 있다. 제 1 네트워크 카드(500)는 예를 들어, 하드웨어를 이용한 가상화 지원 구조가 적용된 네트워크 카드일 수 있다. 하드웨어를 이용한 가상화 지원 구조는 예를 들어, SR-IOV(Single Root I/O Virtualization) 구조를 포함할 수 있다. 제 2 네트워크 카드(600)는 일반적인 네트워크 카드일 수 있다.
적어도 하나의 가상 머신(110, 120, 130)은 하이퍼바이저(hypervisor)에 의해 생성될 수 있다. 하지만, 이에 한정되는 것은 아니며, 도 1에 도시된 하이퍼바이저는 가상 머신 모니터(Virtual Machine Monitor; VMM)로 대체될 수 있다. 적어도 하나의 가상 머신(110, 120, 130)은 각각 적어도 하나의 가상 네트워크 인터페이스 카드(410, 420, 430)를 통해 제 1 네트워크 카드(500) 또는 제 2 네트워크 카드(600)에 연결될 수 있다. 또한, 적어도 하나의 가상 머신(110, 120, 130) 각각은 관리모듈(200)로부터 할당되는 제 1 네트워크 카드(500)의 가상 네트워크 인터페이스(510) 또는 제 2 네트워크 카드(600)를 통해 네트워크(700)에 연결될 수 있다. 예를 들어, 가상 네트워크 인터페이스(510)는 하드웨어에 기반하여 구동될 수 있다. 적어도 하나의 가상 머신(110, 120, 130) 각각은 가상 데스크탑(Virtual Desktops)으로도 불릴 수 있다.
관리모듈(200)은 적어도 하나의 가상 머신(110, 120, 130)에 네트워크 연결을 제공할 수 있다. 관리모듈(200)은 적어도 하나의 가상 머신(110, 120, 130)을 각각 적어도 하나의 가상 네트워크 인터페이스 카드(410, 420, 430)를 통해 제 1 네트워크 카드(500)의 가상 네트워크 인터페이스(510, 520, 530)에 할당하거나 제 2 네트워크 카드(600)에 할당할 수 있다.
예를 들어, 관리모듈(200)은 에이전트 모듈(300)로부터 전달되는 네트워크 연결 정보를 기초로 적어도 하나의 가상 머신(110, 120, 130)에 네트워크 연결을 제공할 수 있다. 예를 들어, 네트워크 연결 정보는 적어도 하나의 가상 머신(110, 120, 130)이 어떠한 경로를 통해 네트워크에 연결되어 있는지를 나타내는 정보를 의미할 수 있다. 이하에서는, 설명의 편의를 위해 제 1 가상 머신(VM1, 110) 내지 제 n 가상 머신(VMn, 130)이 각각 가상 네트워크 인터페이스 카드(410, 420, 430)를 통해 제 2 네트워크 카드(600)에 연결되고, 제 2 네트워크 카드(600)를 통해 네트워크(700)에 연결되는 것으로 가정하여 설명한다.
관리모듈(200)은 적어도 하나의 가상 머신(110, 120, 130)의 네트워크 사용량을 모니터링할 수 있다. 예를 들어, 관리모듈(200)은 미리 정해진 주기에 따라 적어도 하나의 가상 머신(110, 120, 130)의 네트워크 사용량을 모니터링할 수 있다. 관리모듈(200)은 모니터링 결과에 기초하여 적어도 하나의 가상 머신(110, 120, 130)으로의 네트워크 연결을 재설정할 수 있다. 예를 들어, 관리모듈(200)은 모니터링 결과에 기초하여 적어도 하나의 가상 머신(110, 120, 130) 중 네트워크 사용량이 기준값보다 많은 가상 머신(ex. 제 1 가상 머신(110))의 네트워크 연결을 제 1 네트워크 카드(500)의 가상 네트워크 인터페이스(VNIF1, 510)로 변경할 수 있다.
관리모듈(200)은 예를 들어, 적어도 하나의 가상 머신(110, 120, 130) 중 하나로 구현될 수도 있다. 또한, 관리모듈(200)은 다른 컴퓨터 상에 구현되어 적절한 인터페이스를 통해 네트워크에 연결될 수도 있고, 하이퍼바이저 내부에 구현될 수도 있다.
에이전트 모듈(300)은 적어도 하나의 가상 머신(110, 120, 130)에 대한 네트워크 연결 정보를 관리모듈(200)에 제공할 수 있다. 에이전트 모듈(300)은 하이퍼바이저 또는 가상 머신 모니터(VMM) 상에서 구동될 수 있다.
제 1 네트워크 카드(500)는 하드웨어를 이용한 가상화 지원 구조가 적용된 네트워크 카드일 수 있다. 하드웨어를 이용한 가상화 지원 구조는 예를 들어, SR-IOV(Single Root I/O Virtualization) 구조일 수 있다. 제 1 네트워크 카드(500)는 적어도 하나의 가상 네트워크 인터페이스들(510), PF(Physical Function, 520), 및 MAC/PHY(530)를 포함할 수 있다. 적어도 하나의 가상 네트워크 인터페이스들(510)은 네트워크(700)와의 연결을 제공할 수 있으며, PF(520)에 기반하여 동작할 수 있다. MAC/PHY(530)는 MAC 계층 및 물리 계층으로 정의될 수 있다.
상술한 바와 같이, 본 발명의 일 실시예에 따른 가상 데스크탑 서비스 시스템은 적어도 하나의 가상 머신(110, 120, 130)의 네트워크 사용량을 모니터링하고, 모니터링 결과에 따라 적어도 하나의 가상 네트워크 인터페이스(510)를 적어도 하나의 가상 머신(110, 120, 130)에 재할당할 수 있다. 따라서, 본 발명의 일 실시예에 따른 가상 데스크탑 서비스 시스템은 제 2 네트워크 카드(600)를 통해 네트워크에 연결되는 가상 머신(ex. 제 1 가상 머신)의 네트워크 사용량이 기준값을 초과하는 경우 가상 머신(ex. 제 1 가상 머신)에 제 1 네트워크 카드(500)의 가상 네트워크 인터페이스(VNIF1, 510)를 할당하여 네트워크 I/O 성능을 향상시킬 수 있다. 결과적으로, 본 발명의 일 실시예에 따른 가상 데스크탑 서비스 시스템은 하드웨어를 이용한 가상화 지원 구조가 적용된 네트워크 카드(400)를 사용하는 서버 가상화 환경에서 네트워크 자원을 동적으로 할당하여 네트워크 I/O 성능을 더욱 향상시킬 수 있다.
도 2는 본 발명의 일 실시예에 따른 가상 데스크탑 서비스 제공 방법을 보여주는 흐름도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 가상 데스크탑 서비스 제공 방법은 적어도 하나의 가상 머신 각각에 네트워크 연결을 제공하는 단계(S110), 적어도 하나의 가상 머신의 네트워크 사용량을 모니터링하는 단계(S120), 및 모니터링 결과에 기초하여 적어도 하나의 가상 머신의 네트워크 연결을 재설정하는 단계(S130)를 포함할 수 있다.
이하에서는 도 1 및 도 2를 참조하여 상술한 S110 단계 내지 S130 단계가 구체적으로 설명된다.
S110 단계에서, 관리모듈(200)은 제 1 네트워크 카드(500) 및/또는 제 2 네트워크 카드(600)를 통해 적어도 하나의 가상 머신(110, 120, 130)에 네트워크 연결을 제공할 수 있다. 예를 들어, 관리모듈(200)은 제 2 네트워크 카드(600)를 통해 적어도 하나의 가상 머신(110, 120, 130)에 네트워크 연결을 제공하는 것으로 가정한다. 제 1 네트워크 카드(500)는 하드웨어를 이용한 가상화 지원 구조가 적용된 네트워크 카드일 수 있다. 예를 들어, 관리모듈(200)은 에이전트 모듈(300)로부터 전달되는 네트워크 연결 정보를 기초로 적어도 하나의 가상 머신(110, 120, 130)에 네트워크 연결을 제공할 수 있다.
S120 단계에서, 관리모듈(200)은 적어도 하나의 가상 머신(110, 120, 130)의 네트워크 사용량을 모니터링 할 수 있다. 예를 들어, 관리모듈(200)은 미리 정해진 주기에 따라 네트워크 사용량을 모니터링 할 수 있다.
S130 단계에서, 관리모듈(200)은 모니터링 결과에 기초하여 적어도 하나의 가상 머신(110, 120, 130)의 네트워크 연결을 재설정할 수 있다. 관리모듈(200)은 다양한 기준에 따라 적어도 하나의 가상 머신(110, 120, 130)의 네트워크 연결을 재설정할 수 있다. 예를 들어, 관리모듈(200)은 적어도 하나의 가상 머신(110, 120, 130)의 네트워크 사용량을 기준값과 비교하여 네트워크 연결을 재설정할 수 있다. 예를 들어, 관리모듈(200)은 제 2 네트워크 카드(600)를 통해 네트워크에 연결되는 가상 머신(ex. 제 1 가상 머신)의 네트워크 사용량이 기준값을 초과하는 경우 가상 머신(ex. 제 1 가상 머신)에 제 1 네트워크 카드(500)의 가상 네트워크 인터페이스(VNIF1, 510)를 할당하여 네트워크 I/O 성능을 향상시킬 수 있다.
도 3은 본 발명의 다른 실시예에 따른 가상 데스크탑 서비스 제공 방법을 보여주는 흐름도이다.
도 3에서는 설명의 불필요한 중복을 피하기 위하여 도 2에 도시된 가상 데스크탑 서비스 제공 방법과의 차이점을 중심으로 설명한다.
도 3을 참조하면, 본 발명의 다른 실시예에 따른 가상 데스크탑 서비스 제공 방법은 적어도 하나의 가상 머신 각각에 네트워크 연결을 제공하는 단계(S210), 적어도 하나의 가상 머신의 네트워크 사용량을 모니터링하는 단계(S220), 적어도 하나의 가상 머신의 네트워크 사용량이 기준값보다 많은지 판단하는 단계(S230), 및 적어도 하나의 가상 머신의 네트워크 연결을 재설정하는 단계(S240)를 포함할 수 있다.
상술한 S210 단계 및 S220 단계는 도 2를 참조하여 설명한 S110 단계 및 S120 단계와 각각 실질적으로 동일할 수 있으므로 이하에서는 S230 단계 및 S240 단계를 중심으로 설명한다.
S230 단계에서, 관리모듈(200)은 모니터링 결과에 기초하여 적어도 하나의 가상 머신의 네트워크 사용량이 기준값보다 많은지를 판단할 수 있다. 판단 결과, 적어도 하나의 가상 머신의 네트워크 사용량이 기준값보다 많은 경우 S240 단계가 수행될 수 있다. 판단 결과, 모든 가상 머신의 네트워크 사용량이 기준값보다 많지 않은 경우 S220 단계가 수행될 수 있다.
S240 단계에서, 관리모듈(200)은 적어도 하나의 가상 머신의 네트워크 연결을 재설정할 수 있다. 구체적으로, 관리모듈(200)은 적어도 하나의 가상 머신(110, 120, 130) 중 가상 머신(ex.제 1 가상 머신(110))의 네트워크 사용량이 기준값보다 많은 경우 제 1 가상 머신(110)을 제 1 네트워크 카드(500)의 가상 네트워크 인터페이스(VNIF1, 510)를 통해 네트워크(700)에 연결되도록 재설정할 수 있다.
또한, 관리모듈(200)는 이에 한정하지 않고, 적어도 하나의 가상 머신(120, 130)의 네트워크 사용량이 기준값보다 많은 경우 가상 네트워크 인터페이스(VNIF2, VNIF3, 510)들을 적어도 하나의 가상 머신(120, 130)에 재할당할 수 있다.
도 4는 본 발명의 또 다른 실시예에 따른 가상 데스크탑 서비스 제공 방법을 보여주는 흐름도이다.
도 4에서는 설명의 불필요한 중복을 피하기 위하여 도 2에 도시된 가상 데스크탑 서비스 제공 방법과의 차이점을 중심으로 설명한다.
도 4를 참조하면, 본 발명의 다른 실시예에 따른 가상 데스크탑 서비스 제공 방법은 에이전트 모듈이 구동되는 단계(S310), 하드웨어를 이용한 가상화 지원 구조가 적용된 네트워크 카드의 존재 여부를 판단하는 단계(S320), 적어도 하나의 가상 머신 각각에 네트워크 연결을 제공하는 단계(S330), 적어도 하나의 가상 머신의 네트워크 사용량을 모니터링하는 단계(S340), 모니터링 결과에 기초하여 적어도 하나의 가상 머신의 네트워크 연결을 재설정하는 단계(S350), 및 하이퍼바이저가 적어도 하나의 가상 머신에 네트워크 인터페이스를 할당하는 단계(S360)를 포함할 수 있다.
상술한 S330 단계 내지 S350 단계는 도 2를 참조하여 설명한 S110 단계 내지 S130 단계와 각각 실질적으로 동일할 수 있으므로 이하에서는 S310 단계, S320 단계 및 S360 단계를 중심으로 설명한다.
S310 단계에서, 에이전트 모듈(300)이 구동될 수 있다. 예를 들어, 에이전트 모듈(300)은 하이퍼바이저 또는 가상 머신 모니터(VMM) 상에서 구동될 수 있다.
S320 단계에서, 에이전트 모듈(300)은 하드웨어를 이용한 가상화 지원 구조가 적용된 네트워크 카드의 존재 여부를 감지할 수 있다. 예를 들어, 에이전트 모듈(300)은 가상 데스크탑 서비스 시스템에 제 1 네트워크 카드(500)가 설치되어 있는지 여부를 감지할 수 있다.
S360 단계에서, 하이퍼바이저 또는 가상 머신 모니터(VMM)는 적어도 하나의 가상 머신(110, 120, 130, 도 1 참조)에 네트워크 인터페이스를 할당할 수 있다. 즉, S360 단계는 일반적인 소프트웨어를 통한 네트워크 인터페이스 할당 과정으로 이해될 수 있다. S360 단계는 가상 데스크탑 서비스 시스템에 제 1 네트워크 카드(500) 및 제 2 네트워크 카드(600)가 설치되어 있지 않은 경우에 수행될 수 있다.
도 5는 본 발명의 일 실시예에 따른 가상 데스크탑 서비스 제공 방법을 실행하는 컴퓨팅 시스템을 보여주는 블록도이다.
도 5를 참조하면, 컴퓨팅 시스템(1000)은 버스(1200)를 통해 연결되는 적어도 하나의 프로세서(1100), 메모리(1300), 사용자 인터페이스 입력 장치(1400), 사용자 인터페이스 출력 장치(1500), 스토리지(1600), 및 네트워크 인터페이스(1700)를 포함할 수 있다.
프로세서(1100)는 중앙 처리 장치(CPU) 또는 메모리(1300) 및/또는 스토리지(1600)에 저장된 명령어들에 대한 처리를 실행하는 반도체 장치일 수 있다. 메모리(1300) 및 스토리지(1600)는 다양한 종류의 휘발성 또는 불휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(1300)는 ROM(Read Only Memory) 및 RAM(Random Access Memory)을 포함할 수 있다.
따라서, 본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서(1100)에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM과 같은 저장 매체(즉, 메모리(1300) 및/또는 스토리지(1600))에 상주할 수도 있다. 예시적인 저장 매체는 프로세서(1100)에 커플링되며, 그 프로세서(1100)는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서(1100)와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
110, 120, 130: 가상 머신
200: 관리모듈
300: 에이전트 모듈
410, 420, 430: 가상 네트워크 인터페이스 카드
500: 제 1 네트워크 카드
510: 가상 네트워크 인터페이스
520: PF
530: MAC/PHY
600: 제 2 네트워크 카드
700: 네트워크

Claims (11)

  1. 제 1 네트워크 카드에서 제공되는 가상 네트워크 인터페이스 또는 제 2 네트워크 카드와의 연결을 통해 네트워크에 연결되는 적어도 하나의 가상 머신;
    상기 적어도 하나의 가상 머신의 네트워크 사용량을 모니터링하고, 모니터링 결과에 따라 상기 가상 네트워크 인터페이스들을 상기 적어도 하나의 가상 머신에 재할당하는 관리모듈; 및
    상기 적어도 하나의 가상 머신의 네트워크 연결 정보를 상기 관리모듈에 제공하는 에이전트 모듈을 포함하는 가상 데스크탑 서비스 시스템.
  2. 제 1 항에 있어서,
    상기 제 1 네트워크 카드는 하드웨어를 이용한 가상화 지원 구조가 적용된 네트워크 카드인 것을 특징으로 하는 가상 데스크탑 서비스 시스템.
  3. 제 2 항에 있어서,
    상기 관리모듈은 상기 모니터링 결과에 기초하여 상기 적어도 하나의 가상 머신 중 네트워크 사용량이 기준값보다 많은 가상 머신에 상기 제 1 네트워크 카드에서 제공되는 상기 가상 네트워크 인터페이스를 재할당하는 것을 특징으로 하는 가상 데스크탑 서비스 시스템.
  4. 제 3 항에 있어서,
    상기 적어도 하나의 가상 머신 중 네트워크 사용량이 기준값보다 많은 가상 머신은 상기 제 2 네트워크 카드와의 연결을 통해 네트워크에 연결되는 가상 머신인 것을 특징으로 하는 가상 데스크탑 서비스 시스템.
  5. 제 2 항에 있어서,
    상기 제 1 네트워크 카드는 SR-IOV 구조가 적용된 네트워크 카드인 것을 특징으로 하는 가상 데스크탑 서비스 시스템.
  6. 제 1 항에 있어서,
    상기 관리모듈은 상기 제 1 네트워크 카드에서 제공되는 상기 가상 네트워크 인터페이스들 중 어느 하나를 할당받아 전용 인터페이스로 이용하는 것을 특징으로 하는 가상 데스크탑 서비스 시스템.
  7. 제 1 항에 있어서,
    상기 에이전트 모듈 및 관리모듈은 하이퍼바이저(Hypervisor) 또는 가상 머신 모니터(Virtual Machine Monitor) 상에서 동작하는 것을 특징으로 하는 가상 데스크탑 서비스 시스템.
  8. 제 1 네트워크 카드에 제공되는 적어도 하나의 가상 네트워크 인터페이스 또는 제 2 네트워크 카드를 이용하여 적어도 하나의 가상 머신 각각에 네트워크 연결을 제공하는 단계;
    상기 적어도 하나의 가상 머신의 네트워크 사용량을 모니터링하는 단계; 및
    상기 모니터링한 결과에 기초하여 상기 적어도 하나의 가상 머신에 상기 적어도 하나의 가상 네트워크 인터페이스를 재할당하는 단계를 포함하는 가상 데스크탑 서비스 제공 방법.
  9. 제 8 항에 있어서,
    상기 제 1 네트워크 카드는 하드웨어를 이용한 가상화 지원 구조가 적용된 네트워크 카드인 것을 특징으로 하는 가상 데스크탑 서비스 제공 방법.
  10. 제 9 항에 있어서,
    상기 모니터링한 결과에 기초하여 상기 적어도 하나의 가상 머신에 상기 적어도 하나의 가상 네트워크 인터페이스를 재할당하는 단계는 상기 적어도 하나의 가상 머신 중 네트워크 사용량이 기준값보다 많은 가상 머신에 상기 제 1 네트워크 카드에서 제공되는 상기 적어도 하나의 가상 네트워크 인터페이스를 재할당하는 것을 특징으로 하는 가상 데스크탑 서비스 제공 방법.
  11. 제 10 항에 있어서,
    상기 적어도 하나의 가상 머신 중 네트워크 사용량이 기준값보다 많은 가상 머신은 재할당받은 가상 네트워크 인터페이스를 이용하여 네트워크와 연결되는 것을 특징으로 하는 가상 데스크탑 서비스 제공 방법.
KR1020140063239A 2014-05-26 2014-05-26 가상 데스크탑 서비스 시스템 및 그것의 가상 데스크탑 서비스 제공 방법 KR20150135966A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140063239A KR20150135966A (ko) 2014-05-26 2014-05-26 가상 데스크탑 서비스 시스템 및 그것의 가상 데스크탑 서비스 제공 방법
US14/313,150 US20150339145A1 (en) 2014-05-26 2014-06-24 Virtual machine service system and virtual machine service providing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140063239A KR20150135966A (ko) 2014-05-26 2014-05-26 가상 데스크탑 서비스 시스템 및 그것의 가상 데스크탑 서비스 제공 방법

Publications (1)

Publication Number Publication Date
KR20150135966A true KR20150135966A (ko) 2015-12-04

Family

ID=54556133

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140063239A KR20150135966A (ko) 2014-05-26 2014-05-26 가상 데스크탑 서비스 시스템 및 그것의 가상 데스크탑 서비스 제공 방법

Country Status (2)

Country Link
US (1) US20150339145A1 (ko)
KR (1) KR20150135966A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190014024A (ko) * 2019-01-25 2019-02-11 에스케이텔레콤 주식회사 네트워크 가상화 관리 서버 및 이를 이용한 네트워크 가상화 관리 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6424632B2 (ja) * 2015-01-08 2018-11-21 富士通株式会社 負荷算出方法、負荷算出プログラム及び負荷算出装置
CN108228309B (zh) * 2016-12-21 2021-11-23 腾讯科技(深圳)有限公司 基于虚拟机的数据包发送和接收方法及装置
CN108632378B (zh) * 2018-05-11 2021-04-27 国云科技股份有限公司 一种面向云平台业务的监控方法
JP7235296B2 (ja) * 2019-03-08 2023-03-08 Necソリューションイノベータ株式会社 セッション管理方法、セッション管理装置、プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8060875B1 (en) * 2006-05-26 2011-11-15 Vmware, Inc. System and method for multiple virtual teams
US7613198B2 (en) * 2006-06-30 2009-11-03 Sun Microsystems, Inc. Method and apparatus for dynamic assignment of network interface card resources
JP4980792B2 (ja) * 2007-05-22 2012-07-18 株式会社日立製作所 仮想計算機の性能監視方法及びその方法を用いた装置
US9021475B2 (en) * 2011-05-04 2015-04-28 Citrix Systems, Inc. Systems and methods for SR-IOV pass-thru via an intermediary device
US9934057B2 (en) * 2014-04-21 2018-04-03 Oracle International Corporation Shadow VNICs for the control and observability of IO virtual functions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190014024A (ko) * 2019-01-25 2019-02-11 에스케이텔레콤 주식회사 네트워크 가상화 관리 서버 및 이를 이용한 네트워크 가상화 관리 방법

Also Published As

Publication number Publication date
US20150339145A1 (en) 2015-11-26

Similar Documents

Publication Publication Date Title
Li et al. Pond: Cxl-based memory pooling systems for cloud platforms
US8271644B2 (en) System and method to manage information handling system resources in virtual machine infrastructure
US8661448B2 (en) Logical partition load manager and balancer
US20130219390A1 (en) Cloud server and method for creating virtual machines
US20130173804A1 (en) System and Method for Providing Effective Resource Reusability Management in a Virtualized Environment
US20070028239A1 (en) Dynamic performance management for virtual servers
US20180067674A1 (en) Memory management in virtualized computing
US20140373010A1 (en) Intelligent resource management for virtual machines
KR20150135966A (ko) 가상 데스크탑 서비스 시스템 및 그것의 가상 데스크탑 서비스 제공 방법
US9176787B2 (en) Preserving, from resource management adjustment, portions of an overcommitted resource managed by a hypervisor
JP2009110518A (ja) 仮想マシンデバイスの動的割り当て
US10530708B2 (en) Apparatus and method for managing computing resources in network function virtualization system
US9454778B2 (en) Automating capacity upgrade on demand
US10817332B2 (en) Electronic device having multi-operating system and method for managing dynamic memory for same
EP2772854B1 (en) Regulation method and regulation device for i/o channels in virtualization platform
US20160352821A1 (en) Method and system for allocating resources for virtual hosts
US20200272526A1 (en) Methods and systems for automated scaling of computing clusters
KR20210127427A (ko) 멀티코어 임베디드 시스템에서의 cpu 가상화 방법 및 장치
US10983832B2 (en) Managing heterogeneous memory resource within a computing system
US9015418B2 (en) Self-sizing dynamic cache for virtualized environments
US9830078B2 (en) System and method for pre-operating system memory map management to minimize operating system failures
US20160147657A1 (en) System and method for optimized disk io ram caching for a vdi environment
US9817683B2 (en) Optimized remediation policy in a virtualized environment
CN105528199B (zh) 一种节点的处理方法及装置
KR101755154B1 (ko) 이종 연산 처리 장치에 대한 동적 작업 할당 방법 및 장치

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid