KR101672119B1 - 가상화 환경에서 고화질 영상 출력을 위한 서버장치 및 방법 - Google Patents

가상화 환경에서 고화질 영상 출력을 위한 서버장치 및 방법 Download PDF

Info

Publication number
KR101672119B1
KR101672119B1 KR1020150023243A KR20150023243A KR101672119B1 KR 101672119 B1 KR101672119 B1 KR 101672119B1 KR 1020150023243 A KR1020150023243 A KR 1020150023243A KR 20150023243 A KR20150023243 A KR 20150023243A KR 101672119 B1 KR101672119 B1 KR 101672119B1
Authority
KR
South Korea
Prior art keywords
virtual machine
graphics device
hypervisor
application program
program
Prior art date
Application number
KR1020150023243A
Other languages
English (en)
Other versions
KR20160101283A (ko
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 KR1020150023243A priority Critical patent/KR101672119B1/ko
Publication of KR20160101283A publication Critical patent/KR20160101283A/ko
Application granted granted Critical
Publication of KR101672119B1 publication Critical patent/KR101672119B1/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/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 가상화 환경에서 고화질 영상 출력을 위한 서버장치 및 방법에 관한 것이다. 개시된 가상화 환경에서 고화질 영상 출력을 위한 서버장치 및 방법은, 가상화 컴퓨터 환경에서의 고화질 프로그램 출력을 위한 서버장치에 있어서, 컴퓨팅 환경을 소프트웨어로 구현한 하나 이상의 가상머신; 상기 가상머신 상에서 실행되는 응용프로그램을 모니터링하고, 응용프로그램이 고화질 출력이 필요한가 여부에 따라 처리 프로세스를 구분하는 가상머신 에이전트; 상기 가상머신 상에서 실행되는 응용프로그램과 연동하여 영상신호를 생성하는 하나 이상의 그래픽 디바이스; 상기 그래픽 디바이스의 자원을 상기 가상머신에 할당하는 하이퍼바이저; 및 상기 가상머신이 상기 그래픽 디바이스에 직접 접근할 수 있도록 상기 그래픽 디바이스의 메모리 주소값을 변환 및 관리하는 메모리 리매핑 장치를 포함하는 것을 특징으로 하는 가상화 환경에서 고화질 프로그램 출력을 위한 서버장치 및 그에 따른 방법을 제공한다. 본 발명에 의하면, 가상화 환경에서 고화질 영상처리가 필요한 프로그램의 구동을 가능하게 할 수 있으며, 종래 기술에 의한 가상화 환경에서의 제약을 해소하여 가상화 기술의 산업분야 확산을 촉진할 수 있다는 이점이 있다.

Description

가상화 환경에서 고화질 영상 출력을 위한 서버장치 및 방법{Server Device and Method for outputting High Definition Video in a Virtual Environment}
본 발명은 가상화 환경에서 고화질 영상 출력을 위한 서버장치 및 방법에 관한 것으로, 더욱 상세하게는 가상화 환경에서 고화질을 출력하는 응용프로그램의 실행문제를 해소하기 위한 고화질 영상 출력을 위한 서버장치 및 방법에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 발명의 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
가상화(Virtualization)란 물리적으로 다른 시스템을 논리적으로 통합하거나 반대로 하나의 시스템을 논리적으로 분할해 자원을 효율적으로 사용케 하는 기술을 말하며, 최근에는 서버나 PC에서도 이러한 기능이 절대적으로 요구되고 있다.
가상화의 종류에는 어플리케이션 가상화, 데스크탑 가상화, 서버 가상화, 스토리지 가상화, 네트워크 가상화 등으로 구분될 수 있다.
어플리케이션 가상화는 사용자의 로컬PC에 필요한 어플리케이션을 매번 설치하지 않고도 가상화를 통해 제공하는 기술이다.
데스크탑 가상화(Virtual Desktop Infrastructure, VDI)는 기존 데스크탑 수준의 성능을 가진 가상머신들을 중앙의 서버에 생성하고 관리자에 의해 사용자들에게 할당하여, 사용자는 데스크탑이나 다양한 모바일 기기를 이용해 할당 받은 계정으로 인증하고 로그인하면 언제 어디서든 인터넷용 가상화 PC 또는 업무용 가상화 PC를 자신만의 가상 데스크탑처럼 사용할 수 있는 기술을 말한다.
특히 보안이 중요한 금융권, 공공기관 등의 사업분야에서 업무나 인터넷 브라우징을 기존 PC 환경에서 어플리케이션 가상화나 데스크탑 가상화 환경으로 활발히 전환되고 있다.
그러나, 고화질을 요구하는 프로그램들은 데스크탑 가상화 환경에서 적용이 어려웠다. 고화질을 출력하기 위해서는 고성능의 CPU와 메모리, 그리고 고성능의 물리적 그래픽 Device의 사용을 필요로 하는데, 모든 자원의 활용을 서버에서 수행하고 화면 값만을 처리하는 데스크탑 가상화 시스템의 경우, 가상 데스크탑에서 PC로 화면이 전송되는 단계에서 네트워크 트래픽의 문제로 고화질 이미지를 다운시켜 다소 손상된 이미지를 전송하는 상황이 발생한다. 한편, 고화질 전송을 위해 가상 데스크탑의 네트워크 설정을 무리하게 설정할 경우, 다수의 사용자가 접속됨에 따른 과도한 트래픽이 발생하여 데스크탑 가상화 시스템을 사용하는 모든 이용자의 네트워크 망이 차단되어 시스템 사용을 불가하게 만들 수도 있다.
기관 및 기업의 데이터 보호를 위해 데스크탑 가상화 운용은 필수적이나, 고화질 프로그램(Adobe 사의 Photoshop, Illustrator, Autodesk 사의 3D프로그램 CAD, MAYA 등)은 디자인, 설계, 편집 등 여러 부문에서 중요하며 다수의 업체가 활용 중인데, 데스크탑 가상화 환경에서는 실행자체가 불가한 상황이 발생한다.
이에, 본 발명에서는, 전술한 기술적 제약을 해소시킬 수 있는 가상화 환경에서 고화질 영상 출력을 위한 서버장치 및 방법을 제안하고자 한다.
본 발명은 상기한 사정을 감안하여 창출된 것으로서, 전술한 목적을 달성하기 위한 본 발명의 일 양상은 가상화 환경에서도 고화질의 그래픽 처리가 필요한 응용프로그램의 실행을 가능하도록 하여, 고화질의 응용프로그램을 사용하는 다양한 분야에서 가상화 솔루션을 이용할 수 있도록 하는 서버장치 및 방법을 제안한다.
본 발명의 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
전술한 목적을 달성하기 위한 본 발명의 일 양상은, 가상화 컴퓨터 환경에서의 고화질 프로그램 출력을 위한 서버장치에 있어서, 컴퓨팅 환경을 소프트웨어로 구현한 하나 이상의 가상머신; 상기 가상머신 상에서 실행되는 응용프로그램을 모니터링하고, 응용프로그램이 고화질 출력이 필요한가 여부에 따라 처리 프로세스를 구분하는 가상머신 에이전트; 상기 가상머신 상에서 실행되는 응용프로그램과 연동하여 영상신호를 생성하는 하나 이상의 그래픽 디바이스; 상기 그래픽 디바이스의 자원을 상기 가상머신에 할당하는 하이퍼바이저; 및 상기 가상머신이 상기 그래픽 디바이스에 직접 접근할 수 있도록 상기 그래픽 디바이스의 메모리 주소값을 변환 및 관리하는 메모리 리매핑 장치를 포함하는 것을 특징으로 하는 가상화 환경에서 고화질 프로그램 출력을 위한 서버장치를 제공한다.
본 발명의 다른 일 양상은, 가상화 컴퓨터 환경에서의 고화질 프로그램 출력을 위한 방법에 있어서, 가상머신에서 구동하는 응용프로그램이 고화질 출력을 필요로 하는지 모니터링하는 단계; 및 상기 구동하는 응용프로그램이 고화질 출력을 필요로 하는 경우, 상기 가상머신에서 하이퍼바이저를 바이패스하여 그래픽 디바이스에 직접 접근하도록 하는 것을 특징으로 하는 가상화 환경에서 고화질 프로그램 출력을 위한 방법을 제공한다.
본 발명의 다른 일 양상은, 가상화 환경에서 고화질 프로그램 출력을 위한 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공한다.
본 발명의 가상화 환경에서 고화질 영상 출력을 위한 서버장치 및 방법에 의하면, 가상화 환경에서 고화질 영상처리가 필요한 프로그램의 구동을 가능하게 할 수 있다는 효과가 있다.
또한, 종래 기술에 의한 가상화 환경에서의 제약을 해소하여 가상화 기술의 산업분야 확산을 촉진할 수 있다는 효과가 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 특징을 설명한다.
도 1은 본 발명의 일 실시예에 따른 가상화 시스템의 전체적인 구성을 예시한 도면이다.
도2는 종래기술에 따른 데스크탑 가상화 환경에서 고화질 프로그램이 구동되는 과정을 예시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 가상화 환경에서 고화질 영상 출력을 위한 서버장치의 구성을 예시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 가상화 환경에서 고화질 영상 출력을 위한 방법을 예시한 도면이다.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다.
몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함(comprising 또는 including)"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예에 대해 살펴보기로 한다.
도 1은 본 발명의 일 실시예에 따른 가상화 시스템의 전체적인 구성을 예시한 도면이다.
로컬PC(100)의 예로는 퍼스널 컴퓨터, 랩탑 컴퓨터, PDA(personal digital assistant), 셀룰러 전화, 메인프레임(mainframe) 컴퓨터, 미니(mini)컴퓨터 및 Web TV와 같은 인터넷 액세스 디바이스이다.
나아가, 로컬PC(100)는 바람직하게는 MICROSOFT INTERNET EXPLORER, MOZILLAFIREFOX 등과 같은 웹 브라우저 소프트웨어를 장착하여 임의의 알려진 데이터 통신 네트워킹 기술을 사용하여 통신망(300)에 연결된다.
데스크탑 가상화 환경에서는 리모트 데스크탑 클라이언트가 로컬PC(100)에 해당될 수 있다. 호스트 컴퓨터(200)는 가상화 환경을 구축하여 로컬PC(100)에 제공하는 서버이다. 물리적으로 1대의 시스템상에서 윈도즈나 리눅스 등 각기 다른 운영 체계(OS)의 다양한 어플리케이션을 효율적으로 운영할 수 있다. 본 명세서 전반에서 호스트 컴퓨터(200)는 서버장치로 표현하기도 하며, 호스트 컴퓨터(200)의 구성요소에 대하여는 도3의 설명에서 상세히 설명하도록 한다.
통신망(300)은 로컬PC(100)와 호스트 컴퓨터(200)간에 접속을 제공할 수 있는 연결수단을 말한다. 바람직하게는 인터넷과 같은 글로벌 공공 통신 네트워크(Global Public Communication Network)이지만, WAN(wide area network), LAN(local area network), 인트라넷, CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), GSM(Global System for Mobile Communications), LTE(Long Term Evolution) 등의 이동통신망 또는 그 명칭 여부에 불구하고 향후 구현될 어떠한 형태의 네트워크일 수 있다.
도 2는 종래기술에 따른 데스크탑 가상화 환경에서 고화질 프로그램이 구동되는 과정을 예시한 도면이다..
가상머신(210)은 개별 게스트 사용자를 위하여 실재하는 호스트 컴퓨터(200)상에 소프트웨어로 논리적으로 만들어낸 컴퓨터를 말한다. 중앙처리장치(CPU), 입출력장치(I/O) 등 컴퓨터의 모든 자원을 가상화하는 것이며, 1대의 컴퓨터상에서 여러 사용자의 로컬PC(100)가 접속하여 여러 개의 시스템을 동작시키는 것이 가능하다.
가상머신(220) 상에는 응용프로그램이 구동되게 되는데, 본 발명에서는 응용프로그램이 고화질 출력이 필요한 고화질 프로그램(213)인 경우를 위주로 설명한다. 고화질 프로그램(213)은 Adobe사의 Photoshop, Illustrator, After Effect, Premiere, Autodesk사의 AutoCAD, 3dsMAX, Alias, MAYA 등 고화질의 동영상의 편집 혹은 재생이 필요한 프로그램을 예로 들 수 있다.
하이퍼바이저(Hypervisor, 220) 는 호스트 컴퓨터(200)에서 다수의 운영 체제(operating system)를 동시에 실행하기 위한 논리적 플랫폼(platform)이며, 중앙처리장치와 OS사이의 일종의 미들웨어(Middleware)이다. 가상화 머신 모니터(virtual machine monitor, 줄여서 VMM)라고도 불린다.
그래픽 디바이스(240)는 컴퓨터에서 만들어진 영상데이터를 출력장치에 전달하는 장치이다.
도 2와 같이 종래 기술에 의한 데스크탑 가상화 환경에서는 각각의 그래픽 디바이스(240)들은 하이퍼바이저(220)를 통하여 각각의 가상머신(210)들과 연결이 되며, 하이퍼바이저(220)를 통하여 그래픽 디바이스(240)를 가상으로 에뮬레이션하여 그래픽 디바이스(240)의 물리자원을 논리적으로 분리하여 가상머신(210)에서 자원을 할당 받다 보니, 효율성 문제와 병목현상이 발생하였다.
이하 도 3를 중심으로 본 발명의 핵심 구성요소인 서버장치(호스트 컴퓨터(200))의 구성요소들을 상세히 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 가상화 환경에서 고화질 영상 출력을 위한 서버장치의 구성을 예시한 도면이다.
하나의 서버장치 내에 다수개의 가상머신(210), 그래픽 디바이스(240)가 존재할 수 있으나, 편의상 각각 한 개씩 만 도시하였다. 예컨대, 동시에 n개의 사용자가 고화질 영상 출력 프로그램을 실행할 경우 n개의 그래픽 카드(240)에 대한 접근이 필요할 수 있다.
가상머신 에이전트(211)는 일종의 데몬(daemon) 프로그램의 형태로 상주하여 사용자가 직접적으로 제어하지 않고, 백그라운드에서 돌면서 서비스 요청을 처리할 수 있다.
본 발명의 실시예에 의한 가상머신 에이전트(211)는 가상머신(210) 상에서 구동되는 프로그램을 모니터링 하고, 구동되는 프로그램이 고화질 출력이 필요한 고화질 프로그램(213)일 경우에 도 2의 종래의 방식과는 다르게 전환하여 영상데이터를 처리한다.
즉, 가상머신 에이전트(211)는 가상머신(210)내에 고화질 출력이 필요한 프로그램의 구동이 되는 것이 파악되면, 하이퍼바이저(220)에서 그래픽 디바이스(240)를 가상으로 에뮬레이션 하는 대신에 하이퍼바이저(220)를 바이패스(bypass)하여 가상머신(210)에서 실행되는 고화질 프로그램(213)이 그래픽 디바이스(240)의 물리적 자원에 직접 접근(Access)할 수 있도록 처리한다.
이를 위하여 새로이 메모리 리매핑(Remapping) 장치(230)가 필요한데, 메모리 리매핑 장치(230)는 그래픽 디바이스(240)의 고유 메모리 주소를 가상머신(210)에서 직접 엑세스 할 수 있도록 메모리 주소값을 변환 및 관리하여 제공할 수 있도록 한다. 고화질 프로그램(213)에서 물리적인 그래픽 카드의 디바이스 정보를 직접 연동하여 그래픽 카드의 기능을 그대로 지원받을 수 있도록 하여, 고화질 이미지 손상이 없게 되는 것이다.
본 명세서에서는 메모리 리매핑 장치(230)에 의하여 직접 엑세스 되는 장치로 그래픽 디바이스(240)만을 도시하고 설명하였으나, 구동 프로그램의 성격에 따라 다양한 주변 디바이스에 적용될 수 있음은 물론이다.
이하, 본 발명의 실시예에 따른 가상화 환경에서 고화질 영상 출력을 위한 방법에 대해 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 가상화 환경에서 고화질 영상 출력을 위한 방법을 예시한 도면이다.
가상머신 에이전트(211)는 가상머신(210)상에서 구동하는 응용프로그램을 모니터링 한다(S410).
가상머신 에이전트(211)는 모니터링한 응용프로그램이 고화질 출력이 필요한 응용프로그램인지를 판단한다(S420). 고화질 출력이 필요한 응용프로그램인지는 미리 저장되어 있는 프로그램 리스트와 비교하거나, 응용프로그램의 구동시 소요되는 시스템 자원현황을 모니터링하여 판단할 수 있다.
구동하는 응용프로그램이 고화질 출력이 필요 없다고 판단된 경우, 하이퍼바이저(220)에서 그래픽 디바이스(240)의 물리자원을 논리적으로 분리하여 가상적으로 에뮬레이션(Emulation)하여(S430) 가상머신(210)에 할당한다(S440).
구동하는 응용프로그램이 고화질 출력이 필요한 것으로 판단된 경우, 가상머신(210)에서 구동하는 응용프로그램이 하이퍼바이저(220)를 바이패스하고 그래픽 디바이스(240)에 직접 접근하여 물리적 자원을 활용할 수 있도록 한다(S460). 이를 위하여 메모리 리매핑 장치(230)에서 그래픽 디바이스(240)의 고유 메모리 주소값을 변환 및 관리하여 가상머신(210)에 제공하는 과정을 거치도록 한다(S450).
도 4에서는 단계 S410 내지 단계 S460을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 4에 기재된 순서를 변경하여 실행하거나 단계 S410 내지 단계 S460 중 하나 이상의 단계를 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 4는 시계열적인 순서로 한정되는 것은 아니다.
본 명세서에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 로컬PC
200: 호스트 컴퓨터
300: 통신망
210: 가상머신
211: 가상머신 에이전트
220: 하이퍼바이저
230: 메모리 리매핑 장치
240: 그래픽 디바이스

Claims (8)

  1. 가상화 컴퓨터 환경에서의 프로그램 출력을 위한 서버장치에 있어서,
    컴퓨팅 환경을 소프트웨어로 구현한 하나 이상의 가상머신;
    상기 가상머신 상에서 실행되는 응용프로그램을 모니터링하고, 상기 응용프로그램이 고화질 출력이 필요한가 여부에 따라 프로세스를 구분하는 가상머신에이전트;
    상기 가상머신 상에서 실행되는 n개의 응용프로그램과 일대일로 연동하여 각각의 영상신호를 생성하는 n개의 그래픽 디바이스;
    상기 그래픽 디바이스의 자원을 상기 가상머신에 할당하는 하이퍼바이저; 및
    상기 가상머신이 상기 그래픽 디바이스에 직접 접근할 수 있도록 상기 그래픽 디바이스의 메모리 주소값을 변환 및 관리하는 메모리 리매핑 장치;
    를 포함하며,
    상기 가상머신 에이전트는,
    상기 응용프로그램이 고화질 출력이 필요 없는 경우, 상기 하이퍼바이저를 통하여 상기 그래픽 디바이스를 가상으로 에뮬레이션하여, 상기 그래픽 디바이스의 물리자원을 논리적으로 분리하여 가상머신에 할당하고,
    상기 응용프로그램이 고화질 출력이 필요한 경우, 상기 가상머신이 하이퍼바이저를 바이패스하고 상기 메모리 리매핑 장치에서 상기 그래픽 디바이스의 고유 메모리 주소값을 변환 및 관리하여 상기 가상머신에 제공함으로써, 상기 가상머신이 상기 그래픽 디바이스에 직접 접근할 수 있도록 하는 것을 특징으로 하는 가상화 환경에서 고화질 프로그램 출력을 위한 서버장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 컴퓨팅 환경을 소프트웨어로 구현한 하나 이상의 가상머신;
    상기 가상머신 상에서 실행되는 응용프로그램을 모니터링하고, 상기 응용프로그램이 고화질 출력이 필요한가 여부에 따라 프로세스를 구분하는 가상머신에이전트;
    상기 가상머신 상에서 실행되는 n개의 응용프로그램과 일대일로 연동하여 각각의 영상신호를 생성하는 n개의 그래픽 디바이스;
    상기 그래픽 디바이스의 자원을 상기 가상머신에 할당하는 하이퍼바이저; 및
    상기 가상머신이 상기 그래픽 디바이스에 직접 접근할 수 있도록 상기 그래픽 디바이스의 메모리 주소값을 변환 및 관리하는 메모리 리매핑 장치;를 포함하는는 가상화 컴퓨터 환경에서의 고화질 프로그램 출력을 위한 방법에 있어서,
    상기 가상머신 에이전트가,
    가상머신에서 구동하는 응용프로그램이 고화질 출력을 필요로 하는지 모니터링하는 단계; 및
    상기 구동하는 응용프로그램이 고화질 출력을 필요로 하지 않는 경우,
    상기 하이퍼바이저가 상기 그래픽 디바이스를 가상으로 에뮬레이션하여, 상기 그래픽 디바이스의 물리자원을 논리적으로 분리하여 상기 가상머신에 할당하고,
    상기 구동하는 응용프로그램이 고화질 출력을 필요로 하는 경우,
    상기 가상머신에서 하이퍼바이저를 바이패스하고 상기 메모리 리매핑 장치에서 상기 그래픽 디바이스의 고유 메모리 주소값을 변환 및 관리하여 상기 가상머신에 제공함으로써, 상기 가상머신이 상기 그래픽 디바이스에 직접 접근하도록 하는 단계를 포함하는 것을 특징으로 하는 가상화 컴퓨터 환경에서의 고화질 프로그램 출력을 위한 방법.
  6. 삭제
  7. 삭제
  8. 제5항에 기재된 가상화 컴퓨터 환경에서의 고화질 프로그램 출력을 위한 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.

KR1020150023243A 2015-02-16 2015-02-16 가상화 환경에서 고화질 영상 출력을 위한 서버장치 및 방법 KR101672119B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150023243A KR101672119B1 (ko) 2015-02-16 2015-02-16 가상화 환경에서 고화질 영상 출력을 위한 서버장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150023243A KR101672119B1 (ko) 2015-02-16 2015-02-16 가상화 환경에서 고화질 영상 출력을 위한 서버장치 및 방법

Publications (2)

Publication Number Publication Date
KR20160101283A KR20160101283A (ko) 2016-08-25
KR101672119B1 true KR101672119B1 (ko) 2016-11-04

Family

ID=56884489

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150023243A KR101672119B1 (ko) 2015-02-16 2015-02-16 가상화 환경에서 고화질 영상 출력을 위한 서버장치 및 방법

Country Status (1)

Country Link
KR (1) KR101672119B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101899262B1 (ko) * 2017-11-14 2018-09-14 (주) 퓨전데이타 가상화 화면 최적화 시스템 및 방법
WO2024034751A1 (ko) * 2022-08-09 2024-02-15 엘지전자 주식회사 신호 처리 장치, 및 이를 구비하는 차량용 증강현실 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130155083A1 (en) 2011-11-29 2013-06-20 James McKenzie Methods and systems for maintaining state in a virtual machine when disconnected from graphics hardware

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9058292B2 (en) * 2004-12-29 2015-06-16 Intel Corporation System and method for one step address translation of graphics addresses in virtualization
KR20130143319A (ko) * 2012-06-21 2013-12-31 한국전자통신연구원 가상 머신 모니터 기반의 그래픽 분할 처리 장치 및 그 방법
KR101740327B1 (ko) * 2012-11-22 2017-06-08 한국전자통신연구원 소프트웨어 가상화를 이용하여 소프트웨어 서비스를 제공하기 위한 장치, 시스템 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130155083A1 (en) 2011-11-29 2013-06-20 James McKenzie Methods and systems for maintaining state in a virtual machine when disconnected from graphics hardware

Also Published As

Publication number Publication date
KR20160101283A (ko) 2016-08-25

Similar Documents

Publication Publication Date Title
US11792070B2 (en) Dynamic configuration in cloud computing environments
US9509501B2 (en) Storage encryption
US10120705B2 (en) Method for implementing GPU virtualization and related apparatus, and system
US9367947B2 (en) Remote rendering of three-dimensional images using virtual machines
US9400671B2 (en) Computer host with a baseboard management controller to manage virtual machines
US9135189B2 (en) Delivering GPU resources across machine boundaries
Rashid et al. Virtualization and its role in cloud computing environment
US12056513B2 (en) Virtual machine migration using multiple, synchronized streams of state data transferring via file descriptors
US20130093776A1 (en) Delivering a Single End User Experience to a Client from Multiple Servers
US9268588B2 (en) Optimizing virtual machine migration via identification and treatment of virtual memory swap file
KR101680702B1 (ko) 클라우드 기반 웹 호스팅 시스템
US10560535B2 (en) System and method for live migration of remote desktop session host sessions without data loss
CN103501295B (zh) 一种基于虚拟机迁移的远程访问方法和设备
EP3516841B1 (en) Remote computing system providing malicious file detection and mitigation features for virtual machines
US10917478B2 (en) Cloud enabling resources as a service
KR101672119B1 (ko) 가상화 환경에서 고화질 영상 출력을 위한 서버장치 및 방법
US20140195590A1 (en) Managing a logical client for a virtual machine
KR101899262B1 (ko) 가상화 화면 최적화 시스템 및 방법
US10284668B2 (en) Managing a logical client for an application
Zhou et al. Software-defined streaming-based code scheduling for transparent computing
KR101951913B1 (ko) 웹 가상화 시스템 및 서비스 방법
Zhou et al. A case for software-defined code scheduling based on transparent computing
Vijayakumar et al. Desktop Virtualization Solutions-A Comprehensive Survey
KR20170001963A (ko) Vdi플랫폼상에서 사용자 차별적 서비스 제공 방법 및 그 시스템

Legal Events

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

Payment date: 20190930

Year of fee payment: 4