KR101899262B1 - 가상화 화면 최적화 시스템 및 방법 - Google Patents

가상화 화면 최적화 시스템 및 방법 Download PDF

Info

Publication number
KR101899262B1
KR101899262B1 KR1020170151872A KR20170151872A KR101899262B1 KR 101899262 B1 KR101899262 B1 KR 101899262B1 KR 1020170151872 A KR1020170151872 A KR 1020170151872A KR 20170151872 A KR20170151872 A KR 20170151872A KR 101899262 B1 KR101899262 B1 KR 101899262B1
Authority
KR
South Korea
Prior art keywords
virtual machine
client
virtual
monitor
screen
Prior art date
Application number
KR1020170151872A
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 KR1020170151872A priority Critical patent/KR101899262B1/ko
Application granted granted Critical
Publication of KR101899262B1 publication Critical patent/KR101899262B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/2823
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 가상화 화면 최적화 시스템 및 방법에 관한 것이다. 개시된 가상화 화면 최적화 시스템 및 방법은, 접속한 클라이언트에 호스트 가상머신의 최적화된 화면을 제공하는 가상화 화면 최적화 시스템에 있어서, 접속하는 클라이언트에 대하여 데스크탑 가상화 환경을 제공하며 하나 이상의 가상머신 및 상기 가상머신을 관리하는 가상머신 관리자를 포함하는 호스트 서버 및 상기 호스트 서버로부터 가상화 서비스를 제공받는 가상머신 에이전트 및 클라이언트 운영프로그램을 포함하는 클라이언트를 포함하며, 상기 가상머신 에이전트는 상기 클라이언트 운영프로그램을 통하여 상기 클라이언트가 지니고 있는 디스플레이 정보를 수집하여, 상기 가상머신 관리자에 전송하고, 상기 가상머신 관리자는 전송받은 상기 클라이언트의 디스플레이 정보에 따라 상기 클라이언트의 가상머신에 최적화와 된 디스플레이 설정 변경명령을 전송하면, 상기 가상머신은 상기 디스플레이 설정 변경명령에 따라 디스플레이 설정을 변경하여 상기 가상머신 에이전트에 변경된 설정에 따른 디스플레이 값을 전송하여 상기 클라이언트에 최적화된 화면을 표시하는 것을 특징으로 하는 가상화 화면 최적화 시스템 및 방법을 제공한다. 본 발명에 의하면, 가상화 데스트탑 환경에서 사용자 단말기에 최적화된 이미지를 송출하거나 듀얼 모니터를 로컬 PC 환경과 동일하게 사용할 수 있는 가상화 화면 최적화 시스템 및 방법을 제공할 수 있다는 이점이 있다.

Description

가상화 화면 최적화 시스템 및 방법{SYSTEM AND METHOD FOR OPTIMIZING VIRTUAL DESKTOP INFRASTRUCTURE DISPLAY}
본 발명은 가상화 화면 최적화 시스템 및 방법에 관한 것으로, 더욱 상세하게는 가상화 환경에서 사용자에게 가장 최적화된 이미지를 제공하거나 듀얼모니터를 로컬 PC환경과 동일하게 사용할 수 있도록 하는 가상화 화면 최적화 시스템 및 방법에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
가상화(Virtualization)란 물리적으로 다른 시스템을 논리적으로 통합하거나 반대로 하나의 시스템을 논리적으로 분할해 자원을 효율적으로 사용케 하는 기술을 말하며, 최근에는 서버나 PC에서도 이러한 기능이 절대적으로 요구되고 있다.
가상화의 종류에는 어플리케이션 가상화, 데스크탑 가상화, 서버 가상화, 스토리지 가상화, 네트워크 가상화 등으로 구분될 수 있다.
어플리케이션 가상화는 사용자의 로컬PC에 필요한 어플리케이션을 매번 설치하지 않고도 가상화를 통해 제공하는 기술이다.
서버 가상화는 보통 평소 사용량이 아닌 최대 사용량에 맞춰 성능과 용량을 설계하기 때문에 평소에는 리소스가 많이 남는 서버의 특성을 이용하여, 피크 시간이 각기 다른 이런 서버들을 가상화하여 리소스 운영 효율을 획기적으로 높이는 기술이다.
스토리지 가상화는 예전에는 스토리지 서버에 고성능 레이드 컨트롤러를 설치하고 클러스터와 이중화를 통해 구성했다. 그러나 최근 스토리지 가상화 솔루션들은 레이드 카드의 기능을 가상화하고, 필요한 만큼 물리적 서버를 추가하는 것만으로 고성능과 확장성을 갖춘 가상화된 단일 스토리지를 구축할 수 있다. 스토리지 수요는 동영상, 문서, 사진 등 사용자가 생산하는 수많은 콘텐츠로 인해 지속적으로 늘고 있다. 인터넷 시대에 요구되는 좋은 스토리지는 지속적으로 늘어나는 용량에 대응하면서도 최소의 시간으로 검색이 가능해야 하고 동시에 데이터 소실 등에 대비한 안정성을 갖춰야 한다.
네트워크 가상화의 예로는 가상 사설망(VPN, virtual private network) 서비스가 대표적이다. 가상 사설망 서비스란 인터넷망을 전용선처럼 사용할 수 있도록 특수 통신체계와 암호화기법을 제공하는 서비스로 기업 본사와 지사 또는 지사 간에 전용망을 설치한 것과 같은 효과를 거둘 수 있으며, 기존 사설망의 고비용 부담을 해소하기 위해 사용한다. 기업의 통신망과 인터넷서비스 제공자와 연결만 하면 되기 때문에 별도로 값비싼 장비나 소프트웨어를 구입하고 관리할 필요가 없어, 기존 전용선에 비해 비용 절감효과를 얻을 수 있다. 뿐만 아니라 사용자의 이동성 보장과 편리한 네트워크 구성 등이 장점이 있다.
데스크탑 가상화(VDI, Virtual Desktop Infrastructure)는 도 1과 같이 기존 데스크탑 수준의 성능을 가진 가상머신들을 중앙의 서버에 생성하고 관리자에 의해 사용자들에게 할당하여, 사용자는 클라이언트 단말기인 데스크탑이나 다양한 모바일 기기를 이용해 할당받은 계정으로 인증하고 로그인하면 언제 어디서든 인터넷용 가상화 PC 또는 업무용 가상화 PC를 자신만의 가상 데스크탑처럼 사용할 수 있는 기술을 말한다.
데스크탑 가상화를 통하여 서버의 가상머신으로 접속하면 도 2와 같이 가상머신에서 구동되는 화면을 사용자 단말기의 모니터에 새로운 창을 형성하는 등으로 디스플레이 한다.
그러나, 기존의 원격접속방법은 사용자 단말기에 디스플레이되는 가상화 화면의 해상도가 고정되어 있어 가상화 화면의 전체 창크기를 조절할 경우, 도 3과 같이 스크롤바가 생기게 되고 원격데스크톱을 사용하는 사용자의 불편함을 야기하였다.
이러한 문제점을 해결하고자 종래의 데스크탑 가상화 업계에서는 여러가지 해결책이 제시되었다. 예컨대, 도 4와 같이 해상도를 고정으로 하고 전체 이미지 자체를 출력하는 형태가 제시되어 스크롤의 문제점이 해결되었다. 그러나, 이러한 방식은 도 5와 같이 로컬 PC의 해상도와 가상머신의 해상도가 차이가 생겨서, 같은 대상이 다른 크기로 보이게 되는 문제가 생기는 등 로컬 PC와의 디스플레이 통일성부족 등 또 다른 문제점이 발생하였다.
본 발명에서는, 전술한 가상화 환경에서의 디스플레이에 관한 기술적 제약을 해소시킬 수 있는 가상화 화면 최적화 시스템 및 방법을 제안하고자 한다.
한국등록특허 제10-1700821호, 2017년 1월 23일 공개(명칭: 스케일러블 원격화면 전송방법 및 그 장치) 한국등록특허 제10-1630638호, 2017년 6월 9일 공개(명칭: 화면 가상화 기반 어플리케이션 실행 시스템 및 방법) 한국공개특허 제10-2012-0097863호, 2012년 8월 5일 공개(명칭: 가상화 기술 기반 다중 디스플레이 구동 방법)
본 발명은 전술한 종래 기술의 문제점을 해결하기 위하여 제안된 것으로, 가상화 데스트탑 환경에서 사용자 단말기에 최적화된 이미지를 송출하는 가상화 화면 최적화 시스템 및 방법을 제공하는데 주된 목적이 있다.
또한, 본 발명의 다른 목적은 가상화 데스트탑 환경에서 사용자 단말기의 디스플레이 창 크기 변화에 따라 해상도를 가변할 수 있는 가상화 화면 최적화 시스템 및 방법을 제공하는데 있다.
또한, 본 발명의 다른 목적은 가상화 데스트탑 환경에서 듀얼 모니터를 로컬 PC환경과 동일하게 사용할 수 있도록 구현하는 가상화 화면 최적화 시스템 및 방법을 제공하는데 있다.
본 발명의 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
전술한 목적을 달성하기 위한 본 발명의 일 양상은, 접속한 클라이언트에 호스트 가상머신의 최적화된 화면을 제공하는 가상화 화면 최적화 시스템에 있어서, 접속하는 클라이언트에 대하여 데스크탑 가상화 환경을 제공하며 하나 이상의 가상머신 및 상기 가상머신을 관리하는 가상머신 관리자를 포함하는 호스트 서버; 및 상기 호스트 서버로부터 가상화 서비스를 제공받는 가상머신 에이전트 및 클라이언트 운영프로그램을 포함하는 클라이언트를 포함하며, 상기 가상머신 에이전트는 상기 클라이언트 운영프로그램을 통하여 상기 클라이언트가 지니고 있는 디스플레이 정보를 수집하여, 상기 가상머신 관리자에 전송하고, 상기 가상머신 관리자는 전송받은 상기 클라이언트의 디스플레이 정보에 따라 상기 클라이언트의 가상머신에 최적화와 된 디스플레이 설정 변경명령을 전송하면, 상기 가상머신은 상기 디스플레이 설정 변경명령에 따라 디스플레이 설정을 변경하여 상기 가상머신 에이전트에 변경된 설정에 따른 디스플레이 값을 전송하여 상기 클라이언트에 최적화된 화면을 표시하는 것을 특징으로 하는 가상화 화면 최적화 시스템을 제공한다.
클라이언트에 가상화 서비스를 제공하기 위한 컴퓨팅 환경을 구현하는 하나 이상의 가상머신; 및 서버의 하이퍼바이저 상에서 상기 하나 이상의 가상머신을 관리하는 가상머신 관리자를 포함하며, 상기 가상머신 관리자는 상기 클라이언트의 가상머신 에이전트가 수집하여 전송한 상기 클라이언트의 디스플레이 정보를 수신하여, 상기 디스플레이 정보에 최적화된 디스플레이 정보를 선택하여 상기 클라이언트의 가상머신에 디스플레이 변경명령을 전송하면, 상기 가상머신은 디스플레이 변경명령에 따른 변경된 디스플레이 값을 상기 클라이언트의 가상머신 에이전트에 전송하는 것을 특징으로 하는 가상화 화면 최적화를 위한 호스트 서버를 제공한다.
접속한 클라이언트에 호스트 가상머신의 최적화된 화면을 제공하는 가상화 화면 최적화 방법에 있어서, 클라이언트의 가상머신 에이전트가 수집한 클라이언트의 디스플레이 정보를 호스트 서버의 가상머신 관리자가 수신하는 단계; 상기 가상머신 관리자가 상기 호스트 서버의 클라이언트의 가상머신에 디스플레이 변경명령을 전송하는 단계; 상기 클라이언트의 가상머신은 상기 디스플레이 변경명령에 따라 디스플레이 설정을 변경하는 단계; 및 상기 클라이언트의 가상머신이 가상머신 에이전트에 변경된 디스플레이 설정값을 전송하는 단계를 포함하는 것을 특징으로 하는 가상화 화면 최적화 방법을 제공한다.
본 발명의 가상화 화면 최적화 시스템 및 방법에 의하면, 가상화 데스트탑 환경에서 사용자 단말기에 최적화된 이미지를 송출할 수 있다는 효과가 있다.
또한, 가상화 데스트탑 환경에서 사용자 단말기의 디스플레이 창 크기 변화에 따라 해상도를 가변할 수 있다는 효과가 있다.
또한, 가상화 데스트탑 환경에서 듀얼 모니터를 로컬 PC환경과 동일하게 사용할 수 있다는 효과가 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 특징을 설명한다.
도 1은 종래 기술에 따른 데스크탑 가상화를 설명한 도면이다.
도 2는 종래 기술에 따른 데스크탑 가상화의 원격접속 모습을 예시한 도면이다.
도 3은 종래 기술에 따른 데스크탑 가상화의 문제점을 예시한 도면이다.
도 4는 종래 기술에 따른 데스크탑 가상화의 또 다른 문제점을 예시한 도면이다.
도 5는 종래 기술에 따른 데스크탑 가상화의 또 다른 문제점을 설명한 도면이다.
도 6은 본 발명의 일 실시예에 따른 가상화 화면 최적화 시스템 및 방법을 예시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 가상화 화면 최적화 시스템 및 방법을 보다 상세히 설명한 도면이다.
도 8(a) 및 도 8(b)는 종래 기술에 따른 데스크탑 가상화의 듀얼 디스플레이 환경을 예시한 도면이다.
도 9는 종래 기술에 따른 데스크탑 가상화의 듀얼 디스플레이 환경의 문제점을 예시한 도면이다.
도 10은 본 발명의 다른 실시예에 따른 가상화 화면 최적화 시스템 및 방법을 보다 상세히 설명한 도면이다.
도 11은 본 발명의 다른 실시예에 따른 데스크탑 가상화의 듀얼 디스플레이 환경의 장점을 예시한 도면이다.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다.
몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함(comprising 또는 including)"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예에 대해 살펴보기로 한다.
도 6은 본 발명의 일 실시예에 따른 가상화 화면 최적화 시스템 및 방법을 예시한 도면이다.
데스크탑 가상화(VDI)는 자원을 제공하는 방식에 따라 크게 데디케이트(dedicate), 풀(pool) 방식의 두 가지 방식으로 구분될 수 있다.
데디케이트 방식은 사용자별로 가상화된 PC의 지정 영역을 할당하며, 사용자별로 접근할 수 있는 영역은 중앙의 PC, 서버에 정해져 있는 방식잉다.
데디케이트 방식을 사용하면 설치한 애플리케이션, 정보를 계속해서 자신의 시스템 안에 있는 것처럼 이용할 수 있다. 문제점은 가상화 서버, PC의 일정 영역이 악성코드에 감염되면 여기에 연계된 모든 시스템이 영향을 받을 수 있다는 점이다.
풀 방식은 중앙의 통제시스템이 별도의 영역을 두지 않고 모든 서버, 모든 PC를 관리하도록 하는 방식이다. 풀 방식은 가상화 공간의 영역이 별도로 지정돼 있지 않아 내 정보를 남겨둘 수 없다는 단점이 있다. 반면 중앙의 PC나 서버가 청정하게 시스템을 관리할 수 있다는 장점이 있다.
본 발명의 도면에서는 데디케이트 방식을 예로 들어 설명하지만, 이에 한정하지 않고 풀 방식 등에도 적용될 수 있다.
클라이언트(100)는 서버(200)를 통하여 데스크탑 가상화를 수행할 수 있도록 하는 장치로서, 데스크탑 가상화을 통하여 정보를 처리할 수 있는 모든 정보통신기기, 데스크톱(Desktop), 태블릿컴퓨터(Tablet PC), 노트북(Note book), 넷북(Net book), 멀티미디어 단말기, 유선 단말기, 고정형 단말기, IP(Internet Protocol) 단말기, 휴대폰, PMP(Portable Multimedia Player), MID(Mobile Internet Device), 스마트폰(Smart Phone) 및 정보통신 기기일 수 있다.
가상머신 에이전트(110)는 클라이언트(100)의 클라이언트 운영프로그램(120) 상에서 가상화 서비스를 지원하기 위한 시스템으로서, 주로 소프트웨어 프로그램으로 구현될 수 있다.
클라이언트 운영프로그램(120)은 클라이언트(100)에서 순차 처리되거나 동시 처리되는 프로그램군의 적재, 분할, 라이브러리 탐색, 기억 공간 사용과 시분할 등을 지시하는 프로그램을 말한다.
호스트 서버(200)는 통신망을 통하여 접속하는 클라이언트(100)에 대하여 중앙에서 데스크탑 가상화 환경을 제공하는 호스트 컴퓨터를 말한다. OS, 사용자 정보 및 데이터가 클라이언트(100)에 저장되는 것이 아니라, 구성이 가능한 컴퓨팅 자원들을 공유된 풀에 두고 클라이언트(100)의 요구에 따라 언제 어디서나 통신망을 통하여 쉽게 접근이 가능하도록 한다. 모든 클라이언트(100) 데이터는 IT 관리자가 중앙에서 관리하는 서버에서 실행되고 사용자는 전통적인 PC나 씬클라이언트 즉, 클라이언트(100)를 통하여 접근한다.
호스트 서버(200)는 단일 서버뿐 아니라 서버팜(Server Farm) 형태로 있을 수도 있다. 서버팜은 한 집단으로 수용되어 동작되는 서버 그룹으로 서버클러스터라고도 하며, 클라이언트망과 분리하여 따로 관리된다. 각 서버들은 어떤 서버가 중단되더라도 다른 서버가 즉시 대체되어 서비스의 중단을 막을 수 있어 서버 안정화에 유용하다.
호스트 서버(200) 내에는 하나 이상의 가상머신(Virtual Machine, VM, 210)이 존재한다. 가상머신(210)은 컴퓨팅 환경을 소프트웨어로 구현한 것, 즉 컴퓨터를 에뮬레이션하는 소프트웨어다. 가상머신(210) 상에서 운영 체제나 응용 프로그램을 설치 및 실행할 수 있다.
가상머신(210)은 중앙처리장치(CPU), 입출력장치(I/O) 등 컴퓨터의 모든 자원을 가상화하는 것이며, 1대의 컴퓨터상에서 여러 사용자의 클라이언트(100)가 접속하여 여러 개의 시스템을 동작시키는 것이 가능하다. 게스트 가상머신 상에는 운영체제로 게스트OS가 구동하며 CP/M, MS-DOS, Windows, 유닉스, 리눅스, VMS, OS/2 등 어떠한 운영체제도 될 수 있다.
또한, 게스트OS 상에서 구동되는 개별 응용프로그램인 어플리케이션 또는 웹 어플리케이션이 시스템의 기본적인 기능을 사용할 필요가 있을 때에 호출할 수 있는 서브루틴 또는 함수의 집합인 시스템 API(Application Program Interface)를 포함한다.
가상머신 관리자(220)는 하이퍼바이저(230) 상에서 하나 이상의 가상머신(210)의 실행을 관리한다.
하이퍼바이저(Hypervisor, 230)는 호스트 서버(200)에서 다수의 운영 체제(operating system)를 동시에 실행하기 위한 논리적 플랫폼(platform)이며, 중앙처리장치와 OS사이의 일종의 미들웨어(Middleware)이다. 가상화 머신 모니터(virtual machine monitor, 줄여서 VMM)라고도 불린다.
클라이언트(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) 등의 이동통신망 또는 그 명칭 여부에 불구하고 향후 구현될 어떠한 형태의 네트워크일 수 있다.
본 발명의 일실시예에서 가상머신 에이전트(110)는 클라이언트 운영프로그램(120)을 통하여 클라이언트(100)가 지니고 있는 디스플레이의 크기, 해상도 정보 혹은 제품모델 등 디스플레이 사양정보를 수집한다(S101).
가상머신 관리자(220)는 가상머신 에이전트(110)로부터 클라이언트(100)의 디스플레이 정보를 수신하면(S103), 가상머신 관리자(220)는 해당 클라이언트(100)의 가상머신(210)에 최적화된 디스플레이 해상도 값 변경명령을 전송한다(S105).
해당 클라이언트(100)의 가상머신(210)은 클라이언트(100)의 디스플레이 해상도값 변경명령에 따라 해상도를 변경하여(S107) 가상머신 에이전트(110)에 변경된 해상도에 따른 디스플레이 값을 전송한다(S109).
이를 통하여 사용자 클라이언트(100) 상에서는 화면에 최적화된 가상화 화면을 전송받아 구동할 수 있는 것이다(S111).
가상머신 에이전트(110), 가상머신(210) 및 가상머신 관리자(220) 간의 처리프로세스를 도 7을 참조하여 보다 상세하게 설명하면 다음과 같다.
도 7은 본 발명의 일 실시예에 따른 가상화 화면 최적화 시스템 및 방법을 보다 상세히 설명한 도면이다.
가상머신 관리자(220)의 메시지모듈(221), 더 상세하게는 메시지모듈(221) 의 Client Message 모듈에서는 가상머신 에이전트(110)로부터 전송받은 클라이언트(100)의 디스플레이 정보를 수신하고(S103) 이를 가상머신 관리자(220) 내의 제어모듈(222)에 전달한다(S104). 제어모듈(222)는 요청한 클라이언트(100)와 관련된 가상머신(210)의 가상모듈 내의 화면최적화 수행모듈(211)에 디스플레이 해상도 값 변경명령을 전송한다(S105). 제어모듈(222)은 수집된 메시지를 분석하여 가상머신(210)에게 명령을 전송할 수 있는 VDI 엔진일 수 있다.
화면최적화 수행모듈(211)은 디스플레이 해상도값 변경명령에 따라 장치관리자(212)에서 최적화된 해상도값을 찾아서 해상도를 변경한다(S107). 도 7에서는 1000*600으로 설정되었던 화면 해상도 값을 1200*800으로 변경하는 것을 예시하였다. 이는 윈도우즈 프로그램을 예로 들면 윈도우즈 레지스트리를 변경하는 방법으로 수행할 수 있다(HKEY_CURRENT_CONFIG -> Display -> Settings).
화면최적화 수행모듈(211)은 변경된 해상도에 따른 디스플레이 값을 가상머신 에이전트(110)에 전송하면(S109), 사용자 클라이언트(100) 상에서는 화면에 최적화된 가상화 화면을 전송받아 구동할 수 있는 것이다(S111)
본 발명의 다른 실시예는 듀얼 모니터 환경에서 가상화 화면 최적화를 제공하는 것이다. 최근에는 업무의 편의성을 위하여 모니터를 두대 설치하고 사용하는 듀얼 모니터 컴퓨팅 환경을 많이 이용하고 있다. 이는 하나의 모니터로는 인터넷 사이트를 검색하는 등 특정작업을 수행하면서 다른 모니터로는 문서작업 등 다른 작업을 수행할 수 있어서 업무의 효율성이 높여줄 수 있다.
그러나, 종래에는 가상화 시스템을 듀얼모니터 환경에 적용할 경우 도 8a 및 도 8b와 같은 문제점이 발생한다.
도 8a 및 도 8b는 종래 기술에 따른 데스크탑 가상화의 듀얼 디스플레이 환경을 예시한 도면이다.
도 8a는 한쪽의 모니터에서는 로컬 클라이언트 PC의 화면을 제공하고, 다른 한쪽의 모니터에서는 가상머신의 구동화면을 제공하는 사례를 보여준다.
도 8b는 두 개의 모니터에서 전부 가상머신의 구동화면을 보여주기 위하여, 두개의 모니터를 하나의 프로세스 창으로 인식하는 사례를 보여준다.
도 8b의 예는 듀얼 모니터를 모두 이용하여 두 개의 모니터 상에서 가상머신의 화면을 넓게 디스플레이할 수 있다는 장점이 있다. 이는 가상머신(210)이 클라이언트(100)의 듀얼 모니터를 하나의 장치로만 인식하기 때문이다. 하지만, 이 사례는 아래와 같은 문제점을 지니고 있다.
도 9는 종래 기술에 따른 데스크탑 가상화의 듀얼 디스플레이 환경의 문제점을 예시한 도면이다.
도 8b의 종래 구현에 따르면 가상화 화면을 최대화 하는 경우 가상머신(210)이 모니터 1,2를 모두 포함하여 최대화, 최소화를 하기 때문에 로컬 PC와 가상화 화면을 동시에 사용하는데에 불편함을 야기한다.
도 6 및 도 10을 참조하여 본 발명의 다른 실시예를 설명하면, 클라이언트(100)에 있는 가상머신 에이전트(110)는 클라이언트 운영프로그램(120)을 통하여 클라이언트(100)가 지니고 있는 디스플레이의 갯수 등 디스플레이 정보를 수집한다(S201).
가상머신 관리자(220)는 가상머신 에이전트(110)로부터 클라이언트(100)의 디스플레이의 갯수를 포함한 정보를 수신하면(S203), 가상머신 관리자(220)는 해당 클라이언트(100)의 가상머신(210)의 디바이스 장치에 인식된 모니터 정보에 따라, 모니터 추가 명령을 전송한다(S205).
보다 상세하게는 가상머신 관리자(220) 내의 메시지모듈(221)의 Client Message 모듈에서 가상머신 에이전트(110)로부터 전송받은 클라이언트(100)의 디스플레이 정보(본 실시예에서는 듀얼 모니터 사용정보)를 수신하고(S203) 이를 가상머신 관리자(220) 내의 제어모듈(222)에 전달한다(S204). 제어모듈(222)은 요청한 클라이언트(100)와 관련된 가상장치 에뮬레이터(223)에서 관리되고 있는 모니터 장치의 구성정보를 추가로 수신하여(S205), 가상머신(210)의 가상모듈 내의 화면최적화 수행모듈(211)로 모니터 추가명령을 전송한다(S206). 가상장치 에뮬레이터(223)는 모니터, 키보드, 마우스, 스피커, 그래픽카드 등을 관리하는 장치이다.
화면최적화 수행모듈(211)은 모니터 추가명령에 따라 장치관리자(212)에서 기존의 제1 가상모니터에 신규로 제2 가상모니터를 설치하여 듀얼모니터 환경으로 변경한다(S207).
화면최적화 수행모듈(211)은 제2 가상모니터 화면을 별도의 브라우저의 화면값으로 가상머신 에이전트(110)에 전송하면(S209), 사용자 클라이언트(100) 상에서는 제2 가상모니터 화면을 별도의 브라우저로 구동할 수 있는 것이다(S211).
도 11에서는 이러한 구현의 장점을 도면으로 설명한다.
도 11은 본 발명의 다른 실시예에 따른 데스크탑 가상화의 듀얼 디스플레이 환경의 장점을 예시한 도면이다.
제1, 제2 가상모니터로 구분된 가상의 듀얼 모니터 장치를 가상화 환경에서 인식하여 로컬PC처럼 동일하게 사용할 수 있다.
본 발명의 실시예에 의하면 제1, 제2 가상모니터는 각각 독립적으로 해상도가 최적화 설정되며 창 크기가 독자적으로 조절된다. 또한, 어느 하나의 가상모니터의 디스플레이 최대화 명령을 입력한 경우 종래의 기술과 같이 두 개의 화면에 모두 표시되는 것이 아닌 하나의 화면에만 최대화하게 되어 종래의 불편함이 해소된다.
도 6, 도 7 및 도 10을 기초로 한 설명에서는 단계 S101 내지 단계 S111, 단계 S201 내지 단계 S211을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 6, 도 7 및 도 10에 기재된 순서를 변경하여 실행하거나 단계 S101 내지 단계 S111, 단계 S201 내지 단계 S211 중 하나 이상의 단계를 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 6, 도 7 및 도 10은 시계열적인 순서로 한정되는 것은 아니다.
본 명세서에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명의 가상화 화면 최적화 시스템 및 방법에 따르면, 가상화 데스트탑 환경에서 사용자 단말기에 최적화된 이미지를 송출하거나 듀얼 모니터를 로컬 PC환경과 동일하게 사용할 수 있는 가상화 화면 최적화 시스템 및 방법을 제공하는 솔루션으로 활용 가능하다는 점에서, 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.
100: 클라이언트 110: 가상머신 에이전트
120: 클라이언트 운영프로그램 200: 호스트 서버
210: 가상머신 211: 화면최적화 수행모듈
212: 장치관리자 220: 가상머신 관리자
221: 메시지모듈 222: 제어모듈
223: 가상장치 에뮬레이터 230: 하이퍼바이저

Claims (14)

  1. 접속한 클라이언트에 호스트 가상머신의 최적화된 화면을 제공하는 가상화 화면 최적화 시스템에 있어서,
    접속하는 클라이언트에 대하여 데스크탑 가상화 환경을 제공하며 하나 이상의 가상머신 및 상기 가상머신을 관리하는 가상머신 관리자를 포함하는 호스트 서버; 및
    상기 호스트 서버로부터 가상화 서비스를 제공받는 가상머신 에이전트 및 클라이언트 운영프로그램을 포함하는 클라이언트를 포함하며,
    상기 가상머신 에이전트는 상기 클라이언트 운영프로그램을 통하여 상기 클라이언트가 지니고 있는 디스플레이 정보를 수집하여, 상기 가상머신 관리자에 전송하고, 상기 가상머신 관리자는 전송받은 상기 클라이언트의 디스플레이 정보에 따라 상기 클라이언트의 가상머신에 최적화된 디스플레이 설정 변경명령을 전송하면, 상기 가상머신은 상기 디스플레이 설정 변경명령에 따라 디스플레이 설정을 변경하여 상기 가상머신 에이전트에 변경된 설정에 따른 디스플레이 값을 전송하여 상기 클라이언트에 최적화된 화면을 표시하되,
    상기 가상머신 관리자는,
    상기 가상머신 에이전트로부터 전송받은 상기 클라이언트의 듀얼모니터 사용정보를 수신하고, 이를 상기 가상머신 관리자 내의 제어모듈에 전달하는 메시지모듈;
    상기 클라이언트의 모니터, 키보드, 마우스, 스피커 및 그래픽카드 중 어느 하나 이상을 관리하는 가상장치 에뮬레이터; 및
    상기 메시지모듈로부터 듀얼모니터 사용정보 및 상기 가상장치 에뮬레이터로부터 모니터 장치의 구성정보를 수신하여 상기 가상머신으로 가상 모니터 추가 명령을 전송하는 제어모듈을 포함하는 것을 특징으로 하는 가상화 화면 최적화 시스템.
  2. 제1항에 있어서,
    상기 가상머신은,
    상기 모니터 추가명령에 따라 제2 가상모니터 화면을 생성하여 별도의 브라우저의 화면값으로 상기 가상머신 에이전트로 전송하는 화면최적화 수행모듈; 및
    상기 클라이언트의 모니터 설정값을 관리하며 기존의 제1 가상모니터에 신규로 제2 가상모니터를 설치하여 듀얼모니터 환경으로 변경하는 장치관리자를 포함하는 것을 특징으로 하는 가상화 화면 최적화 시스템.
  3. 클라이언트에 가상화 서비스를 제공하기 위한 컴퓨팅 환경을 구현하는 하나 이상의 가상머신; 및
    서버의 하이퍼바이저 상에서 상기 하나 이상의 가상머신을 관리하는 가상머신 관리자를 포함하며,
    상기 가상머신 관리자는 상기 클라이언트의 가상머신 에이전트가 수집하여 전송한 상기 클라이언트의 디스플레이 정보를 수신하여, 상기 디스플레이 정보에 최적화된 디스플레이 정보를 선택하여 상기 클라이언트의 가상머신에 디스플레이 변경명령을 전송하면, 상기 가상머신은 디스플레이 변경명령에 따른 변경된 디스플레이 값을 상기 클라이언트의 가상머신 에이전트에 전송하되,
    상기 가상머신 관리자는,
    상기 가상머신 에이전트로부터 전송받은 상기 클라이언트의 듀얼모니터 사용정보를 수신하고, 이를 상기 가상머신 관리자 내의 제어모듈에 전달하는 메시지모듈;
    상기 클라이언트의 모니터, 키보드, 마우스, 스피커 및 그래픽카드 중 어느 하나 이상을 관리하는 가상장치 에뮬레이터; 및
    상기 메시지모듈로부터 듀얼모니터 사용정보 및 상기 가상장치 에뮬레이터로부터 모니터 장치의 구성정보를 수신하여 상기 가상머신으로 가상 모니터 추가 명령을 전송하는 제어모듈을 포함하는 것을 특징으로 하는 가상화 화면 최적화를 위한 호스트 서버.
  4. 제3항에 있어서,
    상기 가상머신은,
    상기 모니터 추가명령에 따라 제2 가상모니터 화면을 생성하여 별도의 브라우저의 화면값으로 상기 가상머신 에이전트로 전송하는 화면최적화 수행모듈; 및
    상기 클라이언트의 모니터 설정값을 관리하며 기존의 제1 가상모니터에 신규로 제2 가상모니터를 설치하여 듀얼모니터 환경으로 변경하는 장치관리자를 포함하는 것을 특징으로 하는 가상화 화면 최적화를 위한 호스트 서버.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
KR1020170151872A 2017-11-14 2017-11-14 가상화 화면 최적화 시스템 및 방법 KR101899262B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170151872A KR101899262B1 (ko) 2017-11-14 2017-11-14 가상화 화면 최적화 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170151872A KR101899262B1 (ko) 2017-11-14 2017-11-14 가상화 화면 최적화 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101899262B1 true KR101899262B1 (ko) 2018-09-14

Family

ID=63599450

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170151872A KR101899262B1 (ko) 2017-11-14 2017-11-14 가상화 화면 최적화 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101899262B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282366A (zh) * 2021-04-02 2021-08-20 中国船舶重工集团公司第七研究院 一种面向嵌入式虚拟化环境下的虚拟机静态放置方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120097863A (ko) 2011-02-25 2012-09-05 (주)세븐코아 가상화 기술 기반 다중 디스플레이 구동 방법
KR101630638B1 (ko) 2011-07-25 2016-06-15 엔트릭스 주식회사 화면 가상화 기반 어플리케이션 실행 시스템 및 방법
KR20160092136A (ko) * 2015-01-26 2016-08-04 한국전자통신연구원 가상 데스크탑 제공 방법 및 가상 데스크탑 제공 서버
KR20160101283A (ko) * 2015-02-16 2016-08-25 (주) 퓨전데이타 가상화 환경에서 고화질 영상 출력을 위한 서버장치 및 방법
KR101700821B1 (ko) 2012-08-21 2017-02-01 한국전자통신연구원 스케일러블 원격화면 전송방법 및 그 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120097863A (ko) 2011-02-25 2012-09-05 (주)세븐코아 가상화 기술 기반 다중 디스플레이 구동 방법
KR101630638B1 (ko) 2011-07-25 2016-06-15 엔트릭스 주식회사 화면 가상화 기반 어플리케이션 실행 시스템 및 방법
KR101700821B1 (ko) 2012-08-21 2017-02-01 한국전자통신연구원 스케일러블 원격화면 전송방법 및 그 장치
KR20160092136A (ko) * 2015-01-26 2016-08-04 한국전자통신연구원 가상 데스크탑 제공 방법 및 가상 데스크탑 제공 서버
KR20160101283A (ko) * 2015-02-16 2016-08-25 (주) 퓨전데이타 가상화 환경에서 고화질 영상 출력을 위한 서버장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282366A (zh) * 2021-04-02 2021-08-20 中国船舶重工集团公司第七研究院 一种面向嵌入式虚拟化环境下的虚拟机静态放置方法

Similar Documents

Publication Publication Date Title
US9069438B2 (en) Allocating virtual machines according to user-specific virtual machine metrics
US20240152382A1 (en) Bare metal computer for booting copies of vm images on multiple computing devices using a smart nic
US8631405B2 (en) Identification and placement of new virtual machines based on similarity of software configurations with hosted virtual machines
US11099865B2 (en) Auditing clipboard operations in virtual desktop environments
US20120144042A1 (en) Mechanism for migration of client-side virtual machine system resources
US9766913B2 (en) Method and system for managing peripheral devices for virtual desktops
WO2008073618B1 (en) Instant on platform
US20140359615A1 (en) Computer Host With a Baseboard Management Controller to Manage Virtual Machines
US9536332B2 (en) Display of graphical representations of legends in virtualized data formats
US10936352B2 (en) High performance application delivery to VDI desktops using attachable application containers
JP2013536518A (ja) クラウド・コンピューティング環境においてハイパーバイザの制御を可能にする方法
Devi et al. Security in virtual machine live migration for KVM
KR20150124001A (ko) 클라우드 기반 웹 호스팅 시스템
KR20140027741A (ko) 응용 서비스 제공 시스템 및 방법, 응용 서비스를 위한 서버 장치 및 클라이언트 장치
KR101899262B1 (ko) 가상화 화면 최적화 시스템 및 방법
US11263039B2 (en) High performance attachable writeable volumes in VDI desktops
KR101430729B1 (ko) 소프트웨어 지원 서버 및 그 방법
US9549019B2 (en) Managing a logical client for a virtual machine
KR101672119B1 (ko) 가상화 환경에서 고화질 영상 출력을 위한 서버장치 및 방법
KR101624700B1 (ko) 가상 운영체제 환경에서 다중화면 제어가 가능한 가상화 클라이언트
US10284668B2 (en) Managing a logical client for an application
Zhou et al. A case for software-defined code scheduling based on transparent computing
KR101951913B1 (ko) 웹 가상화 시스템 및 서비스 방법
Manvar et al. Low cost computing using virtualization for Remote Desktop
US11861388B2 (en) User profile management for non-domain joined instance virtual machines

Legal Events

Date Code Title Description
GRNT Written decision to grant