KR20170047747A - 화면 압축 서비스 방법 및 그 방법을 수행하는 가상 네트워크 장치 - Google Patents

화면 압축 서비스 방법 및 그 방법을 수행하는 가상 네트워크 장치 Download PDF

Info

Publication number
KR20170047747A
KR20170047747A KR1020150148202A KR20150148202A KR20170047747A KR 20170047747 A KR20170047747 A KR 20170047747A KR 1020150148202 A KR1020150148202 A KR 1020150148202A KR 20150148202 A KR20150148202 A KR 20150148202A KR 20170047747 A KR20170047747 A KR 20170047747A
Authority
KR
South Korea
Prior art keywords
screen
component
virtual machine
virtual
screen compression
Prior art date
Application number
KR1020150148202A
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 KR1020150148202A priority Critical patent/KR20170047747A/ko
Priority to US15/174,351 priority patent/US20170116016A1/en
Publication of KR20170047747A publication Critical patent/KR20170047747A/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
    • 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
    • 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/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • G06F9/4445
    • 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/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • 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/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • G09G2370/042Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller for monitor identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 화면 압축 서비스 방법 및 그 방법을 수행하는 가상 네트워크 장치에 관한 것이다.
구체적으로, 화면 압축 서비스 방법은 가상 머신이 실행되는 클라우드 인프라와 별개로 존재하는 NFV 인프라를 구성하는 가상 네트워크 장치를 통해 원격으로 접속된 가상 머신의 원격 화면을 압축하고, 압축된 원격 화면을 사용자 단말에 전달하는 방법에 관한 것이다.

Description

화면 압축 서비스 방법 및 그 방법을 수행하는 가상 네트워크 장치{SCREEN COMPRESSION SERVICE METHOD AND VIRTUAL NETWORK APPARATUS FOR PERFORMING THE METHOD}
아래의 설명은 화면 압축 서비스 방법 및 그 방법을 수행하는 가상 네트워크 장치에 관한 것으로, 원격으로 접속한 가상 머신의 원격 화면을 보다 효율적으로 제공할 수 있는 서비스에 대한 방법 및 장치에 관한 것이다.
클라우드 기술은 사용자에 의해 활발히 사용됨에 따라 실제 상용화가 커짐으로서, 이에 따라 클라우드 가상화 플랫폼을 기반으로 가상 데스크탑 서비스(VDI: Virtual Desktop Infrastructure)가 활성화되고 있다.
여기서, 가상 데스크탑 서비스는 사용자가 개인용 데스크탑 또는 업무용 데스크탑을 실제 물리적 하드웨어로 이용하는 것이 아니라, 데스크탑 가상화 기술이 적용된 가상 머신을 이용한 데스크탑 서비스를 의미한다. 다시 말해, 사용자는 가상 머신을 제어하기 위한 원격 서버에 접속한 후, 가상 데스크탑 서비스를 통해 가상 머신에서 실행된 화면을 제공받음으로써, 본인의 데스크탑에서 사용하는 것과 동일한 서비스를 제공받는다.
이때, 가상 데스크탑 서비스는 보다 고품질의 서비스를 구현하고자 Remote Connection Server 기능을 수정 및 확장을 수행한다. 그러나, 가상 데스크탑 서비스를 Remote Connection Server 기능에 의하여 서버의 리소스를 사용하게 되고, 해당 원격 화면 전송에 사용되는 서버 자원 리소스를 관리할 수 없게 되거나 또는 하이퍼바이져 레벨에서 구현을 하게 되면, 서비스 기능의 수정 및 업데이트에 많은 제약이 따른다.
이러한 문제점을 해결하기 위해, 최근에는 네트워크 가상화(NFV: network function virtualiztion) 기반의 화면 전송 네트워크 기능 가상화 방법(VNF: virtual network function)이 제안되었다. 화면 전송 네트워크 기능 가상화 방법은 기존 서버에서 실행되는 많은 프로그램들이 가상 머신 내부에서 실행되어, 효율적으로 리소스 제어 및 관리가 가능해진 기술이다.
그러나, 화면 전송 네트워크 기능 가상화 방법은 cpu와 memory에 주로 의존적인 application들을 가상 머신 내부에서 실행하는 경우, 서비스 제공과 관련된 문제가 없었지만, 반대로, 네트워크 트래픽을 많이 사용하고, 고속으로 패킷처리를 하기 위해 전용 하드웨어를 쓰는 네트워크 장치들을(예: 스위치, 라우터, 방화벽 등) 가산 머신 내부에서 실행하는 경우, 네트워크 성능이 나오지 않아 성능 한계로 인해 거의 불가능하였다.
하지만, 네트워크 가상화 기술이 발전하면서, 가상 머신 안에서 실제 물리 네트워크 장치처럼 고속으로 트래픽을 처리할 수 있는 기술이 개발됨에 따라 전체적인 네트워크 장치 전체를 가상화 하는 시도가 진행되고 있다. 그렇지만, 개발된 기술은 가상 머신 내부에서의 처리를 위한 연구로써, 외부 처리에 대한 기술이 미비하거나 또는 이에 대한 연구가 진행되지 않은 상태 일수 있다.
따라서, 클라우드에서 실행되는 가상 머신을 원격에서 사용하기 위해, 적용할 수 있는 화면 전송 화면 전송 네트워크 기능 가상화 방법이 필요하다.
본 발명은 가상 데스크탑 서비스에서 발생하는 서버 자원 리소스 또는 서비스 기능의 수정 및 업데이트에 대한 문제점을 해결하기 위한 화면 압축 서비스 방법을 제공할 수 있다.
본 발명은 클라우드에서 실행되는 가상 머신을 원격으로 접속하고, 원격으로 접속된 가상 머신의 원격 화면을 보다 효율적으로 사용자 단말로 전송할 수 있는 화면 압축 서비스 방법을 제공할 수 있다.
일실시예에 따른 가상 네트워크 장치가 수행하는 화면 압축 서비스 방법은 사용자 단말로부터 원격 접속하고자 하는 적어도 하나의 가상 머신에 대한 식별 정보를 수신하는 단계; 상기 식별 정보에 기초하여 상기 적어도 하나의 가상 머신들 각각에 대응하는 적어도 하나의 화면 압축 컴포넌트를 결정하는 단계; 상기 적어도 하나의 가상 머신들 각각의 원격 화면을 상기 결정된 화면 압축 컴포넌트들로 압축하는 단계; 및 상기 압축된 원격 화면을 상기 사용자 단말에 전달하는 단계;를 포함할 수 있다.
일실시예에 따른 결정하는 단계는 상기 수신한 식별 정보에 따라 상기 가상 머신이 실행되는 클라우드 인프라의 위치를 고려하여 상기 가상 머신들에 대응하는 적어도 하나의 화면 압축 컴포넌트를 결정할 수 있다.
일실시예에 따른 화면 압축 컴포넌트를 결정하는 단계는 상기 화면 압축 컴포넌트를 결정하는 중개 컴포넌트가 마스터 타입으로 동작하는 경우, 슬레이브 타입으로 동작하는 중개 컴포넌트를 통해 가상 머신들에 대응하는 적어도 하나의 화면 압축 컴포넌트를 결정할 수 있다.
일실시예에 따른 슬레이브 타입으로 동작하는 중개 컴포넌트는 상기 마스터 타입으로 동작하는 중개 컴포넌트의 요청에 따라 슬레이브 타입의 중개 컴포넌트와 연동하는 화면 압축 컴포넌트 중 상기 식별 정보에 적합한 화면 압축 컴포넌트를 결정할 수 있다.
일실시예에 따른 마스터 타입으로 동작하는 중개 컴포넌트는 상기 슬레이브 타입으로 동작하는 중개 컴포넌트로부터 화면 압축 컴포넌트가 결정되지 않은 경우, 마스터 타입으로 동작하는 중개 컴포넌트와 연동하는 화면 압축 컴포넌트 중 상기 식별 정보에 적합한 화면 압축 컴포넌트를 결정할 수 있다.
일실시예에 따른 화면 압축 컴포넌트를 결정하는 단계는 상기 사용자 단말로부터 수신한 적어도 하나의 가상 머신에 대한 식별 정보의 개수에 대응하여 동일한 개수의 화면 압축 컴포넌트가 결정될 수 있다.
일실시예에 따른 화면 압축 컴포넌트들로 압축하는 단계는, 상기 결정된 적어도 하나의 화면 압축 컴포넌트에 대응하여 상기 가상 머신에 대한 화면 중개 요청을 수신하는 단계; 상기 화면 중개 요청에 대응하여 화면 압축 컴포넌트에 대응하는 가상 머신에 접속하는 단계; 및 상기 적어도 하나의 가상 머신들 각각의 원격 화면을 압축하는 단계를 포함할 수 있다.
일실시예에 따른 가상 네트워크 장치는 상기 클라우드 인프라에서 실행되는 가상 머신과의 접속을 가능하게 하기 위해 내부 통신이 가능한 내부 인터페이스 또는 외부 통신이 가능한 외부 인터페이스를 포함할 수 있다.
일실시예에 따른 외부 인터페이스는 상기 가상 머신이 실행되는 클라우드 인프라의 위치와 가상 네트워크 장치의 위치를 고려하여 최단 거리로 접속하기 위한 유동적인 IP 주소를 나타낼 수 있다.
일실시예에 따른 화면 압축 서비스 방법은 리소스 제어 및 관리가 가능한 네트워크 가상화 기반의 화면 전송 VNF을 활용함에 따라, 자원의 효율적 사용 및 관리, 자원 사용량 기준의 서비스 등이 가능해질 수 있다.
일실시예에 따른 화면 압축 서비스 방법은 클라우드 인프라와 별도의 구성으로 존재하는 NFV 인프라를 구축하고, 수정 시, NFV 인프라의 가상 네트워크 장치(SA NVF)만을 수정함에 따라 NFV 인프라에 대한 유지 및 보수가 편리해질 수 있다.
일실시예에 따른 화면 압축 서비스 방법은 NFV 인프라를 기반으로 가상 네트워크 장치를 제공하는 바, VNF의 규격을 갖는 다른 종류의 VNF와의 연동 및 확장이 용이할 수 있다.
도 1은 일실시예에 따른 클라우드 인프라와 연동하는 NFV 인프라를 도시한 도면이다.
도 2는 일실시예에 따른 NFV 인프라에 포함되는 가상 네트워크 장치에 대한 세부 구성을 도시한 도면이다.
도 3은 일실시예에 따른 가상 머신의 위치를 고려해 사용자에게 가상 네트워크 장치를 할당하는 동작을 설명하기 위한 도면이다.
도 4는 일실시예에 따른 중개 컴포넌트가 동작하는 상태(마스터 타입 또는 슬레이브 타입)에 따라 화면 압축 컴포넌트의 상태 정보를 업데이트하는 동작을 도시한 흐름도이다.
도 5는 일실시예에 따른 사용자 단말을 통해 화면 압축 서비스를 제공하는 절차를 도시한 흐름도이다.
도 6은 일실시예에 따른 도 5의 화면 압축 서비스의 동작 중 일부 동작에 대하여 확장된 개념을 도시한 흐름도이다.
도 7은 일실시예에 따른 가상 머신에 원격 접속을 요청하는 사용자 단말의 접속 요청 절차를 설명하기 위한 도면이다.
도 8은 일실시예에 따른 가상 머신과 가상 네트워크 장치가 내부 호스트를 통해 통신하는 형태를 도시한 도면이다.
도 9는 일실시예에 따른 가상 머신이 가상 스위치(virtual-switch)를 통해 외부에 연결되는 동작을 설명하기 위한 흐름도이다.
도 10은 일실시예에 따른 가상 머신의 위치와 가상 네트워크 장치의 위치를 고려하여 최단 거리로 접속하기 위한 유동적인 IP 주소에 관한 도면이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 일실시예에 따른 클라우드 인프라와 연동하는 NFV 인프라를 도시한 도면이다.
도 1을 참고하면, 가상 네트워크 장치(101)는 클라우드 인프라에서 실행되는 가상 머신(103)과 접속이 가능할 수 있다. 이때, 가상 네트워크 장치(101)는 NFV 프레임워크(NFV Framework)를 구성하는 하나의 파트로 구성될 수 있다. 그리고, 가상 네트워크 장치(101)는 클라우드 인프라와 별개로 존재하는 NFV 인프라에 설치될 수 있다. 즉, 가상 네트워크 장치(101)는 NFV 프레임워크(NFV Framework)를 구성하는 하나의 파트로 구성되어, NFV 인프라 내에 설치될 수 있다.
이러한, 가상 네트워크 장치(101)는 클라우드 인프라에 위치한 가상 머신(103)과 사용자 단말(102) 사이에서 다음과 같은 동작을 수행할 수 있다. 가상 네트워크 장치(101)는 사용자 단말(102)을 대신해 가상 머신(103)과 접속하고, 접속한 가상 머신(103)의 원격 화면을 수신할 수 있다. 그리고, 가상 네트워크 장치(101)는 수신한 가상 머신(103)의 원격 화면을 압축하여 사용자 단말(102)로 전달함으로써, 사용자는 사용자 단말(102)에서 동작하는 것과 동일한 서비스를 제공받는다.
구체적으로, 가상 네트워크 장치(101)는 가상 머신(103)에 접속하고자 하는 사용자 단말(102)로부터 원격 접속하고자 하는 적어도 하나의 가상 머신(103)에 대한 식별 정보를 수신할 수 있다. 여기서, 가상 머신(103)의 식별 정보는 가상 머신의 고유 번호, 가상 머신의 위치 주소, 가상 머신이 위치하는 클라우드 인프라의 위치 주소 등을 포함할 수 있다.
가상 네트워크 장치(101)는 수신한 식별 정보에 대응하여 가산 머신(103)과 접속할 수 있는 화면 압축 컴포넌트를 결정할 수 있다. 이 때, 화면 압축 컴포넌트는 화면 전송 네트워크 기능 가상화 방법(화면 전송 NVF)을 기반으로 구현된 구성으로써, 소프트웨어 형태의 가상 애플리케이션을 의미할 수 있다. 다시 말해, 화면 압축 컴포넌트는 하드웨어 구성이 소프트웨어 구성으로 가상화되어, 소프트웨어 형태로 동작하는 구성일 수 있다.
가상 네트워크 장치(101)는 적어도 하나의 가상 머신(103)들 각각에 대응하는 적어도 하나의 화면 압축 컴포넌트를 결정할 수 있다. 상세하게, 가상 머신(103)은 사용자가 실행하고자 하는 콘텐츠의 성향에 따라 하나의 가상 머신(103) 또는 복수의 가상 머신(103)을 통해 동작할 수 있다. 따라서, 가상 네트워크 장치(101)는 사용자 단말(102)로부터 수신한 가상 머신(103)에 대한 식별 정보에 기초하여 원격 접속하고자 하는 적어도 하나의 가상 머신(103)을 식별할 수 있다. 그리고, 가상 네트워크 장치(101)는 식별된 적어도 하나의 가상 머신(103)에 대응하여 사용자 단말(101)을 대신해 접속할 화면 압축 컴포넌트를 결정할 수 있다.
이후, 가상 네트워크 장치(101)는 적어도 하나의 가상 머신들 각각의 원격 화면을 결정된 화면 압축 컴포넌트들로 압축할 수 있다. 다시 말해, 가상 네트워크 장치(101)는 결정된 화면 압축 컴포넌트들을 통해서 각각의 가상 머신들과 접속하고, 접속된 가상 머신들로부터 각각의 원격 화면을 수신할 수 있다. 그리고, 가상 네트워크 장치(101)는 각각의 원격 화면을 수신한 화면 압축 컴포넌트들을 이용하여 원격 화면을 압축하고, 압축된 원격 화면을 사용자 단말에 전달할 수 있다.
결국, 가상 네트워크 장치(101)는 클라우드 인프라와 독립적인 형태로 운용되는 NFV 인프라에 설치되어, 사용자 단말(102)과 가상 머신(103)간에 원격 화면에 대한 중개 역할을 수행할 수 있다. 다시 말해, 본 발명은 가상 머신(103)의 원격 화면을 클라우드 인프라에서 압축하는 것이 아니라, 가상 네트워크 장치(101)라는 별도의 독립적인 구성을 구현함으로써, 사용자에게 가상 머신(103)의 원격 화면에 대한 화면 가속 서비스를 제공할 수 있다. 즉, 가상 네트워크 장치(101)는 NFV 프레임워크의 모듈화 표준에 맞추어 구현되어, 가상 머신(103)의 원격 화면에 대한 화면 전체를 동영상 스트림으로 압축하고, 압축된 동영상 스트림을 사용자 단말에 제공하는 기능을 수행할 수 있다.
또한, 가상 네트워크 장치(101)는 NFV 프레임워크의 모듈화 표준에 규격화 됨에 따라 가상 머신에 대한 서비스 기능의 확장 및 서비스 관리가 보다 편리해질 수 있다. 상세하게, 가상 네트워크 장치(101)는 클라우드 인프라로부터 가상 머신의 원격 화면을 수신함에 따라 가상 네트워크 장치(101)가 마치 원격 서버인 것처럼 동작할 수 있다. 이 때, 가상 네트워크 장치(101)는 사용자 단말(102)이 가상 머신(103)의 원격 화면을 원활하게 제공하기 위하여, 가상 머신(103)이 위치한 클라우드 인프라의 프로토콜에 맞춰 원격 화면뿐만 아니라, 소리, 키보드 마우스 등의 데이터도 중계할 수 있다.
그리고, 가상 네트워크 장치(101)는 위에서 언급한 바와 같이 마치 원격 서버인 것처럼 동작하는 것으로, 원격 화면의 압축 시, NFV 인프라에서 사용 가능한 별도의 서비스 기능을 추가로 부가함으로써, 가상 머신에 대한 서비스 기능의 확장시킬 수 있다. 즉, 가상 네트워크 장치(101)는 독립적인 NFV 인프라 시스템으로 구축되어, 가상 머신의 원격 화면을 NFV 프레임워크에 맞는 VNF 형태로 사용자 단말에 제공할 수 있다. 결국, 가상 네트워크 장치(101)는 VDI를 위한 화면 전송 서비스를 VNF화될 수 있다.
도 2는 일실시예에 따른 NFV 인프라에 포함되는 가상 네트워크 장치에 대한 세부 구성을 도시한 도면이다.
도 2를 참고하면, 가상 네트워크 장치(207, SA VNF: Screen Acceleration VNF)는 도 1을 통해 언급한 바와 같이 NFV 프레임워크(201)를 구성하는 하나의 파트로 구성될 수 있다. 이하에서는 가상 네트워크 장치(207)의 동작 흐름을 설명하기 위해, NFV 프레임워크(201)의 구성 요소들과 함께 가상 네트워크 장치(207)를 설명하도록 한다.
NFV 프레임워크(201)의 구성 요소는 OSS/BSS 블록(202), Orchestrator(203), VNFM(204), VIM(205), NFVI(206) 및 가상 네트워크 장치(207)를 포함할 수 있다. 여기서, NFV 프레임워크(201)의 구성 요소(블록)는 가상 네트워크 장치(207)와 연동 가능한 주변 시스템 기능으로, 가상 네트워크 장치(207)와 동일한 ETSI NVF 규격에 정의되었으며, 각각의 블록 간의 인터페이스는 규격에서 정의하는 제어/관리 기능을 제공할 수 있다.
VNFM(204)는 가상 네트워크 장치(207)를 관리 및 제어하는 기능을 수행할 수 있다. 이 때, VNFM(204)는 Orchestrator(203)의 제어에 의해 동작할 수 있으며, 관리자는 Orchestrator(203)를 통해 전체 NFV 인프라를 관리할 수 있다. 그리고, VNFM(204)는 NFV 인프라에 포함된 각각의 NFV 프레임워크(201) 내 가상 네트워크 장치(207)를 관리하는 중개자 역할을 수행할 수 있다.
NFVI(206)는 기존의 클라우드 인프라와 같이 가상화 자원을 제공하는 기능을 수행할 수 있으며, VIM(205)은 NFVI(206)를 제어할 수 있고, MANO가 요구하는 자원 제어 기능을 중개하는 역할을 수행할 수 있다.
OSS/BSS 블록(202)는 기존과 동일하게 operating support system/business supporting system의 동작을 수행하며, 가상화된 VNF 네트워크 장치도 결국 기존 물리 네트워크 장치와 동일하게 취급되므로, 기존처럼 OSS/BSS의 제어를 받을 수 있다.
가상 네트워크 장치(207)는 중개 컴포넌트(208) 및 화면 압축 컴포넌트(209)들을 포함할 수 있다. 일반적으로 NFV 인프라의 가상 네트워크 장치(207)에서, 가상 네트워크 장치(207)를 구성하는 각각의 컴포넌트는 개별적으로 각각 하나의 컨테이너(container)를 통해 실행될 수 있다.
마찬가지로, 본 발명에서 제안하는 가상 네트워크 장치(207)의 중개 컴포넌트(208) 및 화면 압축 컴포넌트(209)들은 각각 하나의 컨테이너 안에서 실행될 수 있다. 또한, 컨테이너는 가상 머신을 통해 구현하므로, 각각의 컨테이너는 각각의 가상 머신에서 실행된다고 볼 수 있으나, 가상 네트워크 장치(207)의 중개 컴포넌트(208) 및 화면 압축 컴포넌트(209)들이 사용되는 컨테이너는 가상 머신의 형태가 아닌 다른 형태의 가상화된 자원을 가진 컨테이너가 될 수 있다.
이러한 NFV 프레임워크(201)의 구성 요소를 기반으로 본 발명에서 제안하는 가상 네트워크 장치(207)는 다음과 같은 동작을 수행할 수 있다.
* 화면 압축 컴포넌트(Screen Compressing Component)
화면 압축 컴포넌트(209)는 사용자가 클라우드 인프라에서 실행되는 가상 머신과의 원격 접속을 원하는 경우, 사용자 단말을 대신하여 가상 머신에 접속할 수 있다. 그리고, 화면 압축 컴포넌트(209)는 사용자 단말을 대신해 접속한 가상 머신의 원격 화면을 수신하고, 수신한 원격 화면을 압축해 사용자 단말로 전송할 수 있다. 즉, 화면 압축 컴포넌트(209)는 실제적으로 가상 화면의 원격 화면을 압축하는 기능을 수행할 수 있다. 이때, 화면 압축 컴포넌트(209)는 가상 머신이 위치한 클라우드 인프라의 프로토콜에 맞춰 가상 머신의 원격 화면뿐만 아니라, 소리, 키보드, 마우스 등의 데이터로 중계할 수 있다.
또한, 화면 압축 컴포넌트(209)는 가상 머신에 원격 접속하고자 하는 사용자 단말의 요청이 많아지는 경우, 실시간으로 가상 머신과 접속하여 원격 화면을 중개해야 하는 빈도가 늘어나는 상황이 발생할 수 있다. 이러한 상황을 고려하여, 화면 압축 컴포넌트(209)는 사용자 단말로부터 요청 횟수에 대응하여 1개에서 N개로 증가될 수 있으며, 반대로, N개에서 1개로 감소될 수 있다.
결국, 화면 압축 컴포넌트(209)는 동적으로 컴포넌트의 수를 증가시키거나 감소시킬 수 있으며, Scale-out, Scale-in 기능을 scaling 작업이라고 정의할 수 있다. 또한, scaling 작업은 MANO의 요구에 따라 VIM(205)에서 NFVI(206)를 제어함으로써, 수행될 수 있으며, MANO의 요구는 운용자가 직접 명령을 내리거나 또는 가상 네트워크 장치(207)에서 VNFM에 요구하여 실행될 수 있다.
* 중개 컴포넌트(Broker Component)
중개 컴포넌트(208)는 화면 압축 컴포넌트(209)가 복수 개로 실행되고 있을 때, 복수 개로 실행되는 화면 압축 컴포넌트(209)들을 관리하고 중개해주는 역할을 수행할 수 있다.
구체적으로, 사용자가 가상 머신과의 원격 접속을 수행하고자 할 때, 중개 컴포넌트(208)는 사용자 단말과 접속되어, 사용자 단말로부터 원격 접속하고자 하는 가상 머신의 식별 정보를 수신할 수 있다. 그리고, 사용자 단말로부터 가상 화면의 원격 화면에 대한 압축 서비스 요청을 받으면, 중개 컴포넌트(208)는 압축 서비스 요청에 따라 실제 가상 머신의 원격 화면을 압축하여 사용자 단말로 전달할 수 있는 화면 압축 컴포넌트(209)를 결정할 수 있다. 그리고, 중개 컴포넌트(208)는 결정된 화면 압축 컴포넌트(209)를 사용자 단말에 전달할 수 있다.
이후, 사용자 단말은 중개 컴포넌트(208)로부터 전달된 화면 압축 컴포넌트(209)에 연결되고, 연결된 화면 압축 컴포넌트(209)로부터 가상 머신의 원격 화면에 대한 압축 서비스를 제공받을 수 있다.
또한, 중개 컴포넌트(208)는 사용자 단말과 화면 압축 컴포넌트(209)간에 중개 역할 뿐만 아니라, 화면 압축 컴포넌트를 실행/설정/제어/모니터링 등의 관리 동작도 수행할 수 있다.
도 3은 일실시예에 따른 가상 머신의 위치를 고려해 사용자에게 가상 네트워크 장치를 할당하는 동작을 설명하기 위한 도면이다.
도 3을 참고하면, 가상 네트워크 장치(301, 302, 302')는 NFV 인프라에서 실행될 수 있다. 그리고, NFV 인프라는 복수 개로 존재할 수 있다. 일례로, 가상 네트워크 장치(301, 302, 302')는 클라우드 인프라와 NFV 인프라가 설치된 데이터 센서(Data Center)에 설치될 수 있다. 이 때, 데이터 센서(301, 302, 302')는 복수 개로 분산되어 여러 지역에 존재할 수 있고, 이렇게 여러 지역에 분산되어 존재하는 경우, 가상 네트워크는 분산된 각 지역에 모두 설치될 수 있다. 따라서, 가상 네트워크 장치(301, 302, 302')는 여러 개로 분산되어 운용될 수 있다.
그리고, 가상 네트워크 장치(301, 302, 302')는 수신한 식별 정보에 따라 가상 머신이 실행되는 클라우드 인프라의 위치를 고려하여 상기 가상 머신들에 대응하는 적어도 하나의 화면 압축 컴포넌트를 결정할 수 있다. 다시 말해, 본 발명은 사용자 단말(102)이 요청한 가상 머신이 실행되는 데이터 센서와 동일하거나 또는 가장 가까운 지역에 위한 가상 네트워크 장치(301, 302, 302')를 사용자 단말에 할당하도록 제어할 수 있다.
이를 위해, 본 발명은 가상 네트워크 장치의 동작 상태를 마스터 타입(301) 또는 슬레이브 타입(302, 302')으로 구분함으로써, 사용자 단말의 위치에 따른 적합한 화면 압축 컴포넌트를 결정할 수 있다. 다시 말해, 가상 네트워크 장치는 가상 네트워크 장치를 구성하는 요소 중 중개 컴포넌트에 있어서, 마스터 타입(301)과 슬레이브 타입(302, 302')으로 구분하고, 구분된 타입에 따라 서로 다른 동작을 수행할 수 있다.
구체적으로, 사용자 단말은 클라우드 인프라에서 실행되는 가상 머신에 대한 원격 접속을 위한 가상 머신 원격 요청(VNF allocation query)을 라우터로 전송할 수 있다. 이 때, 라우터는 분산된 데이터 센터에 포함된 가상 네트워크 장치 중 마스터 타입으로 동작하는 중개 컴포넌트를 포함하는 가상 네트워크 장치(301)로 가상 머신 원격 요청을 전송할 수 있다.
마스터 타입의 가상 네트워크 장치(301)는 분산된 데이터 센서 내에서 슬레이브 타입으로 동작하는 가상 네트워크 장치(302, 302')의 현재 상태를 모니터링한 데이터를 확인할 수 있다. 여기서, 모니터링한 데이터를 확인한다는 것은 슬레이브 타입으로 동작하는 가상 네트워크 장치(302, 302')에 포함된 화면 원격 컴포넌트의 동작 여부 또는 동작 상태를 확인하는 것을 의미할 수 있다. 그리고, 마스터 타입의 가상 네트워크 장치(301)는 데이터를 기반으로 사용자 단말(102)이 요청한 가상 머신과 동일한 지역에 위치하는 슬레이브 타입의 가상 네트워크 장치(302)를 할당하고, 할당된 결과를 사용자 단말로 응답할 수 있다.
사용자 단말은 응답된 슬레이브 타입의 가상 네트워크 장치(302)와 접속하고, 접속된 슬레이브 타입의 가상 네트워크 장치(302)로부터 가상 머신의 원격 화면에 대한 화면 전송 서비스를 제공받을 수 있다. 이 때, 가상 네트워크 장치(301, 302, 302')를 분산된 운용으로 동작하는 이유는 사용자 단말의 위치에 가깝거나, 가상 머신에 가까운 지역의 가상 네트워크 장치를 제공함으로써, network data path를 짧게 만들고, bottleneck 가능성과 네트워크 부하 딜레이 등을 줄이는 등의 성능을 향상시키기 위한 것일 수 있다.
도 4는 일실시예에 따른 중개 컴포넌트가 동작하는 상태(마스터 또는 슬레이브)에 따라 화면 압축 컴포넌트의 상태 정보를 업데이트하는 동작을 도시한 흐름도이다.
도 4는 복수의 데이터 센터에 분산되어 설치된 NFV 인프라의 NFV 프레임워크(401, 402) 간에 사용자 단말의 화면 압축 서비스 요청에 따른 연동 동작을 설명하기 위한 흐름도이다. 여기서, NFV 프레임워크(401)와 NFV 프레임워크(402)는 서로 다른 데이터 센터에 설치된 NFV 인프라에 포함된 구성으로써, 중개 컴포넌트의 동작 상태에 따라 마스터 타입 또는 슬레이브 타입으로 동작할 수 있다.
그리고, 이러한 동작에 따라 마스터 타입의 중개 컴포넌트는 복수의 데이터 센터에 설치된 슬레이브 타입의 중개 컴포넌트를 통합적으로 관리하고, 슬레이브 타입의 중개 컴포넌트는 슬레이브 타입의 중개 컴포넌트가 포함된 가상 네트워크 장치의 화면 압축 컴포넌트의 상태를 관리할 수 있다. 이를 위해, 마스터 타입의 중개 컴포넌트는 슬레이브 타입의 컴포넌트에 대한 상태 정보를 모니터링하고, 슬레이브 타입의 컴포넌트는 화면 압축 컴포넌트를 모니터링하고 업데이트를 수행할 수 있다.
단계(407)에서, NFV 프레임워크1(401)에 포함된 VNFM/OSS는 가상 네트워크 장치를 제어하기 위한 제어 요청을 중개 컴포넌트(404)에 전달할 수 있다. 다시 말해, 사용자 단말은 가상 머신에 원격 접속하기 위한 요청을 NFV 프레임워크1(401)로 전달하면, NFV 프레임워크1(401)의 VNFM/OSS는 사용자 단말로부터 전달된 제어 메시지를 가상 네트워크 장치의 중개 컴포넌트(404)에 전달할 수 있다.
이때, 중개 컴포넌트(404)에 전달되는 제어 메시지의 종류는 초기시작 설정정보(install configuration), 실행 초기화(initialization), 재설정(reset), 서비스 설정(service configuration), 서비스 제어(start, stop, restart), 상태 모니터(status monitor) 등을 포함할 수 있다.
단계(408)에서, 중개 컴포넌트(404)는 VNFM/OSS로부터 전달된 제어 메시지에 포함된 요청 내용에 따라 내부 상태를 업데이트할 수 있다.
단계(409)에서, 중개 컴포넌트(404)는 필요에 따라, 중개 컴포넌트(404)가 관리하고 있는 화면 압축 컴포넌트로 제어 메시지를 전달할 수 있다.
단계(410)에서, 화면 압축 컴포넌트(405)는 중개 컴포넌트(404)로부터 수신한 제어 메시지에 대응하여 내부 상태를 업데이트할 수 있다. 이 때, 화면 압축 컴포넌트(405)는 현재 활성화된 화면 압축 컴포넌트의 개수에 대응하여 각각에 대한 내부 상태를 업데이트할 수 있다.
단계(411)에서, 화면 압축 컴포넌트(405)는 각각에 대한 내부 상태를 업데이트 한 후, 이에 대한 결과를 중개 컴포넌트(404)로 전달할 수 있다.
단계(412)에서, 중개 컴포넌트(404)는 화면 압축 컴포넌트(405)에 대한 내부 상태가 업데이트된 결과를 업데이트 할 수 있다.
단계(413)에서, 중개 컴포넌트(404)는 NFV 프레임워크2(402)에 포함된 중개 컴포넌트(406)로 업데이트된 중개 컴포넌트(404)의 상태 정보를 전달할 수 있다. 이 때, NFV 프레임워크1(401)의 중개 컴포넌트(404)는 슬레이브 타입으로 동작하며, NFV 프레임워크2(402)의 중개 컴포넌트(406)은 마스터 타입으로 동작할 수 있다. 그리고, NFV 프레임워크1(401)의 중개 컴포넌트(404)는 상태 정보에 대한 모니터링을 위해 업데이트된 결과를 NFV 프레임워크2(402)의 중개 컴포넌트(406)에 전달할 수 있다.
단계(414)에서, 중개 컴포넌트(405)는 NFV 프레임워크1(401)의 중개 컴포넌트(404)의 상태 정보를 업데이트할 수 있다.
단계(415)에서, 중개 컴포넌트(405)는 NFV 프레임워크1(401)의 중개 컴포넌트(404)의 상태 정보를 업데이트한 결과를 중개 컴포넌트(404)로 전달할 수 있다.
단계(416)에서, 중개 컴포넌트(404)는 단계(407)을 통해 요청된 제어 메시지에 대한 응답을 VNFM/OSS로 전달할 수 있다.
도 5는 일실시예에 따른 사용자 단말을 통해 화면 압축 서비스를 제공하는 절차를 도시한 흐름도이다.
도 5는 사용자 단말(501)로부터 가상 머신에 원격 접속하고자 하는 요청을 수신하고, 수신한 요청에 따라 결정된 화면 압축 컴포넌트를 사용자 단말(501)에 전송함으로써, 가상 머신의 원격 화면을 사용자 단말(501)에 제공하는 과정을 도시한 흐름도이다.
단계(508)에서, 사용자 단말(501)은 마스터 타입으로 동작하는 중개 컴포넌트(507)로 가상 머신에 원격 접속하기 위한 요청을 전달할 수 있다.
단계(509)에서, 마스터 타입으로 동작하는 중개 컴포넌트(507)는 사용자 단말(501)로부터 수신한 요청에 대응하여 슬레이브 타입으로 동작하는 중개 컴포넌트(502)를 결정할 수 있다. 이 때, 중개 컴포넌트(507)는 사용자 단말이 원격으로 접속하고자 하는 가상 머신이 설치된 클라우드 인프라의 위치를 고려하여 클라우드 인프라와 동일한 데이터 센터에 위치한 중개 컴포넌트(502) 또는 가상 머신과 인접하여 위치한 중개 컴포넌트(502)를 결정할 수 있다.
단계(510)에서, 마스터 타입으로 동작하는 중개 컴포넌트(507)는 결정한 슬레이브 타입으로 동작하는 중개 컴포넌트(502) 사용자 단말(501)에 대한 가상 머신 원격 요청을 전달할 수 있다. 다시 말해, 중개 컴포넌트(507)는 사용자 단말(501)에 대한 가상 머신 원격 요청에 따른 화면 원격 컴포넌트(503)에 대한 서비스 할당을 요청할 수 있다.
단계(511)에서, 슬레이브 타입으로 동작하는 중개 컴포넌트(502)는 가상 네트워크 장치(504)에 포함된 화면 압축 컴포넌트(503)의 상태를 확인할 수 있다. 다시 말해, 중개 컴포넌트(502)는 가상 네트워크 장치(504)에 포함된 화면 압축 컴포넌트(503) 중 가상 머신 원격 요청에 따라 동작할 수 있는 화면 압축 컴포넌트(503)가 존재하는지 여부를 확인할 수 있다.
단계(512)에서 슬레이브 타입으로 동작하는 중개 컴포넌트(502)는 가상 머신 원격 요청에 따라 동작을 수행할 수 있는 화면 압축 컴포넌트(503)로 서비스를 요청할 수 있다.
단계(513)에서, 화면 압축 컴포넌트(503)는 가상 머신에 대한 할당 결과를 중개 컴포넌트(502)로 전달할 수 있다.
단계(514)에서, 슬레이브 타입으로 동작하는 중개 컴포넌트(502)는 단계(510)을 통해 전달된 가상 머신 원격 요청에 대한 응답을 마스터 타입으로 동작하는 중개 컴포넌트(507)로 전달할 수 있다.
단계(515)에서, 마스터 타입으로 동작하는 중개 컴포넌트(507)는 슬레이브 타입으로 동작하는 중개 컴포넌트(502)를 통해 할당된 화면 압축 컴포넌트(503)를 포함하는 결과를 사용자 단말(501)로 전달할 수 있다.
단계(516)에서, 사용자 단말(501)은 중개 컴포넌트(507)로부터 전달된 결과에 따라 슬레이브 타입으로 동작하는 중개 컴포넌트(502)를 통해 화면 압축 컴포넌트(503)와 접속할 수 있다. 그리고, 사용자 단말(501)은 화면 압축 컴포넌트(503)를 통해 원격 접속하고자 했던 가상 머신에 대한 화면 압축 전송 서비스를 제공받을 수 있다.
도 6은 일실시예에 따른 도 5의 화면 압축 서비스의 동작 중 일부 동작에 대하여 확장된 개념을 도시한 흐름도이다.
도 6은 도 5의 개념과 연결되는 개념으로써, 마스터 타입으로 동작하는 중개 컴포넌트(607)에서 슬레이브 타입으로 동작하는 중개 컴포넌트(605)가 실행하지 않은 경우, 마스터 타입으로 동작하는 중개 컴포넌트(607)에서 해당 중개 컴포넌트가 포함된 가상 네트워크 장치(603)를 활성화시키기 위한 흐름도이다. 이는 단계(609 ~ 612)를 통해 설명하도록 한다.
단계(609)에서, 사용자 단말(604)는 마스터 타입으로 동작하는 중개 컴포넌트(607)로 원격 접속하고자 하는 가상 머신에 대한 원격 요청을 전달할 수 있다.
단계(610)에서, 중개 컴포넌트(607)는 슬레이트 타입으로 동작하는 중개 컴포넌트(605)가 존재하는지 여부를 확인할 수 있다. 여기서, 중개 컴포넌트(607)는 사용자 단말이 요청한 가상 머신에 인접하게 위치한 가상 네트워크 장치(603)가 존재하는지 여부를 판단하고, 이를 결정할 수 있다. 이 때, 중개 컴포넌트(607)는 상황에 따라 가상 네트워크 장치(603)에 대한 결정이 이루어지지 않을 수 있다.
다시 말해, 본 발명은 중개 컴포넌트(607)가 브로커를 할당할 때, 가상 머신에 인접하여 위치한 가상 네트워크 장치(603)가 실행되지 않은 상태 일 수 있다. 즉, 동적으로 관리되는 클라우드의 특성상 데이터 센터는 사용자가 아무도 쓰지 않는 상황일 때에는 해당 분산 클라우드 지역에 가상 네트워크 장치가 실행되고 있지 않을 수도 있다. 이때, 해당 지역에 사용자가 접속할 가상 머신이 실행되고 있어서 동일한 위치에 가상 네트워크 장치를 할당하고자 할 경우, 본 발명은 해당 서버에 존재하는 가상 네트워크 장치를 할당하기 위해, 중개 컴포넌트(607)가 VNFM(608)에 해당 지역에 가상 네트워크 장치를 실행하도록 요청할 수 있다.
이에 따라, 단계(611)에서, 중개 컴포넌트(607)는 가상 머신의 위치를 고려하여 가상 머신이 존재하는 데이터 센서에 위치한 가상 네트워크 장치 또는 가상 머신과 인접한 데이터 센서에 위치한 가성 네트워크 장치의 활성화 시키기 위한 요청을 VNFM(608)로 전달할 수 있다.
단계(612)에서, VNFM(608)는 중개 컴포넌트(607)로부터 전달된 요청에 따라 해당 가상 네트워크 장치(603)를 활성화시키고, 이에 대한 결과는 중개 컴포넌트(607)로 전달할 수 있다.
또한, 도 6은 슬레이브 타입으로 동작하는 중개 컴포넌트(605)가 존재하나, 화면 압축 컴포넌트(606)가 결정되지 않은 경우, 마스터 타입으로 동작하는 중개 컴포넌트(607)에서 화면 압축 컴포넌트를 결정하기 위해 VNFM(608)으로 이에 대한 요청을 전달하는 흐름도이다. 이는 단계(613 ~ 619)를 통해 설명하도록 한다.
단계(613)에서, 중개 컴포넌트(605)는 슬레이브 타입으로 동작하는 중개 컴포넌트(605)로 사용자 단말(501)에 대한 가상 머신 원격 요청을 전달할 수 있다.
단계(614)에서, 슬레이브 타입으로 동작하는 중개 컴포넌트(605)는 가상 네트워크 장치(603)에 포함된 화면 압축 컴포넌트(606)의 상태를 확인할 수 있다. 이 때, 중개 컴포넌트(605)는 가상 머신 원격 요청에 따른 화면 압축 컴포넌트(606)를 결정하지 못하는 경우가 발생할 수 있다. 이러한 경우는 현재 가상 네트워크 장치(603)에 포함된 화면 압축 컴포넌트(606)가 모두 실행 중이거나 또는 실행 중인 가상 네트워크 장치(603)에 포함된 화면 압축 컴포넌트(606)가 없는 경우일 수 있다.
단계(615)에서, 중개 컴포넌트(605)는 마스터 타입으로 동작하는 중개 컴포넌트(607)를 포함하는 NFV 프레임워크2(602)의 VNFM(608)으로 화면 압축 컴포넌트를 결정한 것을 요청할 수 있다. 다시 말해, 중개 컴포넌트(605)는 VNFM(608)로 가상 머신 원격 요청에 따른 화면 압축 컴포넌트(606)를 결정하기 위한 scaling 작업을 요청할 수 있다.
단계(616)에서, VNFM(608)는 scaling 작업 요청에 따라 중개 컴포넌트(605)로 결과를 전달할 수 있다.
단계(617)에서, 중개 컴포넌트(605)는 scaling 작업 요청에 따라 추가된 화면 압축 컴포넌트(606)로 가상 머신 원격 요청에 대한 서비스를 요청할 수 있다.
단계(618)에서, 화면 압축 컴포넌트(606)는 서비스 요청에 따른 결과를 중개 컴포넌트(605)로 전달할 수 있다.
단계(619)에서 중개 컴포넌트(605)는 단계(613)을 통해 전달된 가상 머신 원격 요청에 따른 응답을 마스터 타입으로 동작하는 중개 컴포넌트(607)로 전달할 수 있다.
단계(620)에서 마스터 타입으로 동작하는 중개 컴포넌트(607)는 단계(609)를 통해 전달된 가상 머신 원격 요청에 따른 응답을 사용자 단말(604)로 전달할 수 있다.
단계(620)에서, 사용자 단말(604)은 중개 컴포넌트(607)로부터 전달된 결과에 따라 슬레이브 타입으로 동작하는 중개 컴포넌트(605)를 통해 화면 압축 컴포넌트(606)와 접속할 수 있다.
도 7은 일실시예에 따른 가상 머신에 원격 접속을 요청하는 사용자 단말의 접속 요청 절차를 설명하기 위한 도면이다.
도 7을 참고하면, 사용자 단말(706)은 사용자가 원격 접속하고자 하는 가상 머신(704)과 연동하는 클라이언트 프로그램이 실행되는 단말일 수 있다. 그리고, 사용자 단말(706)은 가상 네트워크 장치로부터 클라이언트 프로그램을 통해 가상 머신(704)의 원격 화면을 제공받을 수 있다. 이를 위해, 사용자 단말(706)은 다음과 같은 동작을 수행할 수 있다.
사용자 단말(706)은 가상 네트워크 장치(701)에 포함된 중개 컴포넌트(702)에 접속하고, 접속된 중개 컴포넌트(702)로 가상 머신(704)과의 원격 접속을 위한 가상 머신의 식별 정보를 전달할 수 있다.
중개 컴포넌트(702)는 가상 네트워크 장치(701)에서 관리하는 화면 압축 컴포넌트(703)를 모니터링하여, 가상 머신(704)의 식별 정보에 대응하여 화면 압축 전송 서비스를 제공할 화면 압축 컴포넌트(703)를 결정할 수 있다.
화면 압축 컴포넌트(703)는 사용자 단말(706)을 대신하여 가상 머신(704)에 접속하고, 접속한 가상 머신(704)의 원격 화면을 수신 및 압축한 후, 압축된 원격 화면을 사용자 단말(706)로 전달할 수 있다.
이러한 동작을 수행하는 본 발명은 NFV 규격에 따라 정의될 수 있으며, VNF를 제공하기 위해서는 가상 네트워크 장치의 외부 통신 인터페이스를 정의할 수 있다. 다시 말해, 가상 네트워크 장치는 외부에 존재하는 사용자 단말(706)과의 통신을 수행하고, 클라우드 인프라와의 통신을 수행함에 따라 사용자 단말(706)과 클라우드 인프라와의 원활을 통신을 위하여 외부 통신 인터페이스를 정의할 수 있다.
가상 네트워크 장치(701)는 최소 두 개 이상의 네트워크 인터페이스를 포함할 수 있다. 다시 말해, 가상 네트워크 장치(701)는 클라우드 인프라에서 실행되는 가상 머신과의 접속을 가능하게 하기 위해 내부 통신이 가능한 내부 인터페이스 또는 외부 통신이 가능한 외부 인터페이스를 포함할 수 있다.
구체적으로, 가상 네트워크 장치(701)에 포함된 중개 컴포넌트(702)와 화면 압축 컴포넌트(703)는 가상 네트워크 장치(701)를 구성하는 NFV 프레임워크의 내부 구성 요소 간에 제어 및 관리를 연동하기 위한 가상 로컬 LAN을 최소 하나를 할당 받을 수 있다.
각각의 화면 압축 컴포넌트(703)는 내부 연동용 가상 로컬 LAN에서 통신할 수 있는 최소 하나의 내부 인터페이스를 포함할 수 있다. 이는 가상 머신이 복수 개로 존재하는 경우, 복수 개의 가상 머신에 대응하여 화면 압축 컴포넌트를 통해 수신한 원격 화면에 간에 연동을 수행해야 함에 따라 가상 로컬 LAN에서 통신할 수 있는 최소 하나의 내부 인터페이스를 포함할 수 있다.
그리고, 가상 네트워크 장치(701)에 포함된 중개 컴포넌트(702)와 화면 압축 컴포넌트(703)는 사용자 단말(706)과의 연동이 가능하기 위해, 최소 하나의 외부 인터페이스를 포함할 수 있다. 여기서, 외부 인터페이스는 외부에 존재하는 사용자 단말(706)과의 외부 통신을 가능하기 위한 것으로, Public IP 또는 가상적으로 Public IP 와 동일한 효과를 갖는 가상 Public IP를 포함할 수 있다. 일례로, 가상 Public IP는 OpenStack의 Floating IP 를 의미할 수 있다.
이하에서는 상술한 내부 인터페이스 및 외부 인터페이스에 기초하여 사용자 단말로 가상 머신의 원격 화면을 제공하는 흐름을 설명하도록 한다.
화면 압축 컴포넌트는 실제적으로 외부에 존재하는 클라우드 인프라에 속하는 가상 머신과 접속할 수 있다. 이 때, 화면 압축 컴포넌트는 가상 머신으로부터 가상 머신의 원격 화면(압축되지 않은 원본 데이터)을 수신함에 따라 네트워크 리소스의 소모가 많아지고, 이에 따라 화면 전송 성능의 저하가 발생할 수 있다. 이를 고려하여, 본 발명에서 제안하는 화면 압축 컴포넌트는 가상 머신이 실행되는 클라우드 인프라와 가상 머신에 접속하는 화면 압축 컴포넌트가 속하는 NFV 인프라에 대한 네트워크 경로를 최단 거리로 배치할 수 있다.
즉, 클라우드 인프라와 NFV 인프라를 동일 물리 호스트에 배치하여 가상 머신과 화면 압축 컴포넌트가 실행되는 가상 머신을 직접 연결시킬 수 있다. 결국, 본 발명은 가상 머신의 클라우드 인프라와 가상 네트워크 장치의 NFV 인프라를 동일한 인프라로 연동시키고, WAN으로 연결된 형태가 아닌 내부 LAN으로 연결함에 따라 화면 전송 성능을 향상시킬 수 있다.
도 8은 일실시예에 따른 가상 머신과 가상 네트워크 장치가 내부 호스트를 통해 통신하는 형태를 도시한 도면이다.
도 8을 참고하면, 가상 네트워크 장치(801)는 가상 머신(803)과 동일한 인프라 내에 설치되어 최단 경로를 통해 가상 머신의 원격 화면을 수신하고, 이에 대하여 압축된 원격 화면을 사용자 단말로 전송할 수 있다. 다시 말해, 본 발명은 가상 네트워크 장치(801)와 가상 머신(803)을 동일한 서버 호스트에 할당하여, 트래픽이 외부로 나가지 않고, 내부 호스트에서 직접 통신하도록 구현할 수 있다.
이러한 경우, 가상 머신(803)의 원격 화면과 가상 네트워크 장치가 실행되는 가상 머신(화면 원격 컴포넌트)을 전달하는 Remote Connection Server가 내부 호스트에서 직접 연결이 되어, 네트워크 부하 및 성능 저하를 최소화할 수 있다.
도 9는 일실시예에 따른 가상 머신이 가상 스위치(virtual-switch)를 통해 외부에 연결되는 동작을 설명하기 위한 흐름도이다.
도 9는 동일 호스트에서 가상 네트워크 장치와 Remote Connection Server간의 통신을 수행하기 위한 분산 라우터 기능으로써, OpenStack Neutron 노드의 Distributed Router 기능에 따른 외부와의 통신을 수행하기 위한 구조를 나타내고 있다.
다시 말해, 도 9에 도시된 가상 머신(901, 902)들은 Virtual-switch를 통해 호스트의 물리 NIC을 통해 외부에 연결될 수 있다. 이 때, 오른쪽에 위치한 가상 머신(901)은 NAT(network address translation)을 이용한 local network ip를 갖고, 오른쪽 VM은 virtual switch를 통해 내부적으로 Bridge-tunnel를 통해 외부로 연결될 수 있다. 이 때, 오른쪽에 위치한 가상 머신(901)은 network node 및 LAN VM의 경로를 가지며, network node를 통해 외부로 전달됨에 따라 별도의 호스트와의 통신 방법이 존재하지 않는다.
반면, 왼쪽에 위치한 가상 머신(902)은 Floating IP를 사용하여, 외부와의 직접 통신을 할 수 있는 외부 인터페이스를 포함할 수 있다. 이러한 경우, 가상 머신(902)은 External NIC를 기초로, External GW뿐만 아니라, LAN, Local Host 등의 외부로 연결이 가능할 수 있다.
이때, 가상 머신(902)은 외부 floating IP NS (name space)에서 네트워크 계층에서 라우팅 결정이 이루어지므로, 호스트에서 VM과 동일한 네트워크 LAN IP 대역을 갖는 경우, 가상 머신과 호스트간의 통신이 가능해질 수 있다. 따라서, 본 발명은 가상 네트워크 장치의 인터페이스와 호스트의 인터페이스가 같은 형태로 동일 external network LAN 에 연결된 인터페이스를 가지도록 할 수 있다.
결국, 가상 네트워크 장치의 화면 압축 컴포넌트는 클라우드 인프라에 존재하는 가상 머신과 원격 접속 수행 시, 최단 거리에 존재하는 가상 머신과 접속할 수 있다. 이 때, 서비스 제공자는 의도적으로 원격 VM과 동일한 서버 호스트에 SC 컴포넌트를 할당할 수 있다. 그리고, 가상 네트워크 장치는 호스트의 원격 서버와 통신하기 위해, OpenStack Neutron의 Distributed router에서 제공하는 Floating IP 방식의 external network를 할당 받을 수 있다. 또한, 가상 네트워크 장치는 현재 할당된 네트워크에 연결되는 하나의 가상 인터페이스를 가질 수 있다. 이 경우, 해당 인터페이스를 통해 호스트와 통신이 가능하도록 하기 위해, 호스트에도 동일한 external network LAN 대역의 IP를 하나 갖도록 할 수 있다.
본 발명은 가상 네트워크 장치(SA VNF)가 최적의 성능을 가지기 위해, 가상 네트워크 장치를 사용자가 요청한 가상 머신과 동일한 서버 호스트에 할당시킬 수 있으며, 이때 서로간 통신이 가능하도록 하기 위해, 분산 라우터 구조에서 동일한 화면 압축 컴포넌트와 호스트가 동일한 public IP를 갖는 특징적 형태를 가질 수 있다.
도 10은 일실시예에 따른 가상 머신의 위치와 가상 네트워크 장치의 위치를 고려하여 최단 거리로 접속하기 위한 유동적인 IP 주소에 관한 도면이다.
도 10은 가상 머신과 가상 네트워크 장치 간에 외부 통신으로 인하여 외부 노출에 의한 보안 위험으로부터 보안된 유동적인 IP 주소를 설명하기 위한 도면이다.
다시 말해, 본 발명은 가상 머신과 호스트에 동일한 External network LAN 대역을 할당하되, 해당 LAN이 외부 인터넷과 연결되지 않는 Private IP 대역인 10.x.x.x대역을 할당할 수 있다. 참고로, 본 발명은 Internet Assigned Numbers Authority (IANA)에서 할당한 private ip 대역은 다음의 세가지로 설정될 수 있다.
1. 10.0.0.0 - 10.255.255.255 (10/8 prefix)
2. 172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
3. 192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
여기서, Private IP대역은 홈 네트워크와 같이 내부 기기간의 통신용으로만 사용가능 하며, 호스트가 외부 통신에 노출될 위험 없이 VM과 통신이 가능해질 수 있다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
201: NFV 프레임워크
202: OSS/BSS
203: Management & orchestration(NANO)
204: VNF manager(VNFM)
205: Virtual infra manager(VIM)
206: Network function virtualization infrastructure(NFVI)
207: Screen Acceleration VNF
208: 중개 컴포넌트
209: 화면 압축 컴포넌트

Claims (9)

  1. 가상 네트워크 장치가 수행하는 화면 압축 서비스 방법에 있어서,
    사용자 단말로부터 원격 접속하고자 하는 적어도 하나의 가상 머신에 대한 식별 정보를 수신하는 단계;
    상기 식별 정보에 기초하여 상기 적어도 하나의 가상 머신들 각각에 대응하는 적어도 하나의 화면 압축 컴포넌트를 결정하는 단계;
    상기 적어도 하나의 가상 머신들 각각의 원격 화면을 상기 결정된 화면 압축 컴포넌트들로 압축하는 단계; 및
    상기 압축된 원격 화면을 상기 사용자 단말에 전달하는 단계;
    를 포함하는 화면 압축 서비스 방법.
  2. 제1항에 있어서,
    상기 결정하는 단계는,
    상기 수신한 식별 정보에 따라 상기 가상 머신이 실행되는 클라우드 인프라의 위치를 고려하여 상기 가상 머신들에 대응하는 적어도 하나의 화면 압축 컴포넌트를 결정하는 화면 압축 서비스 방법.
  3. 제1항에 있어서,
    상기 화면 압축 컴포넌트를 결정하는 단계는,
    상기 화면 압축 컴포넌트를 결정하는 중개 컴포넌트가 마스터 타입으로 동작하는 경우, 슬레이브 타입으로 동작하는 중개 컴포넌트를 통해 가상 머신들에 대응하는 적어도 하나의 화면 압축 컴포넌트를 결정하는 화면 압축 서비스 방법.
  4. 제3항에 있어서,
    상기 슬레이브 타입으로 동작하는 중개 컴포넌트는,
    상기 마스터 타입으로 동작하는 중개 컴포넌트의 요청에 따라 슬레이브 타입의 중개 컴포넌트와 연동하는 화면 압축 컴포넌트 중 상기 식별 정보에 적합한 화면 압축 컴포넌트를 결정하는 화면 압축 서비스 방법.
  5. 제3항에 있어서,
    상기 마스터 타입으로 동작하는 중개 컴포넌트는,
    상기 슬레이브 타입으로 동작하는 중개 컴포넌트로부터 화면 압축 컴포넌트가 결정되지 않은 경우, 마스터 타입으로 동작하는 중개 컴포넌트와 연동하는 화면 압축 컴포넌트 중 상기 식별 정보에 적합한 화면 압축 컴포넌트를 결정하는 화면 압축 서비스 방법.
  6. 제1항에 있어서,
    상기 화면 압축 컴포넌트를 결정하는 단계는,
    상기 사용자 단말로부터 수신한 적어도 하나의 가상 머신에 대한 식별 정보의 개수에 대응하여 동일한 개수의 화면 압축 컴포넌트가 결정되는 화면 압축 서비스 방법.
  7. 제1항에 있어서,
    상기 화면 압축 컴포넌트들로 압축하는 단계는,
    상기 결정된 적어도 하나의 화면 압축 컴포넌트에 대응하여 상기 가상 머신에 대한 화면 중개 요청을 수신하는 단계;
    상기 화면 중개 요청에 대응하여 화면 압축 컴포넌트에 대응하는 가상 머신에 접속하는 단계; 및
    상기 적어도 하나의 가상 머신들 각각의 원격 화면을 압축하는 단계
    를 포함하는 화면 압축 서비스 방법.
  8. 제1항에 있어서,
    상기 가상 네트워크 장치는,
    상기 클라우드 인프라에서 실행되는 가상 머신과의 접속을 가능하게 하기 위해 내부 통신이 가능한 내부 인터페이스 또는 외부 통신이 가능한 외부 인터페이스를 포함하는 화면 압축 서비스 방법.
  9. 제8항에 있어서,
    상기 외부 인터페이스는,
    상기 클라우드 인프라에서 실행되는 가상 머신의 위치와 가상 네트워크 장치의 위치를 고려하여 최단 거리로 접속하기 위한 유동적인 IP 주소를 나타내는 화면 압축 서비스 방법.
KR1020150148202A 2015-10-23 2015-10-23 화면 압축 서비스 방법 및 그 방법을 수행하는 가상 네트워크 장치 KR20170047747A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150148202A KR20170047747A (ko) 2015-10-23 2015-10-23 화면 압축 서비스 방법 및 그 방법을 수행하는 가상 네트워크 장치
US15/174,351 US20170116016A1 (en) 2015-10-23 2016-06-06 Screen compression service method and virtual network apparatus for performing the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150148202A KR20170047747A (ko) 2015-10-23 2015-10-23 화면 압축 서비스 방법 및 그 방법을 수행하는 가상 네트워크 장치

Publications (1)

Publication Number Publication Date
KR20170047747A true KR20170047747A (ko) 2017-05-08

Family

ID=58558784

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150148202A KR20170047747A (ko) 2015-10-23 2015-10-23 화면 압축 서비스 방법 및 그 방법을 수행하는 가상 네트워크 장치

Country Status (2)

Country Link
US (1) US20170116016A1 (ko)
KR (1) KR20170047747A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190139426A (ko) * 2018-06-08 2019-12-18 한국전자통신연구원 하드웨어 기반의 gpu를 이용한 가상 머신의 화면 전송 방법 및 이를 이용한 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11916758B2 (en) * 2019-08-02 2024-02-27 Cisco Technology, Inc. Network-assisted application-layer request flow management in service meshes

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9025898B2 (en) * 2009-04-06 2015-05-05 Red Hat Israel, Ltd. Dynamically selecting compression method for graphics remoting
US20110102443A1 (en) * 2009-11-04 2011-05-05 Microsoft Corporation Virtualized GPU in a Virtual Machine Environment
US8676949B2 (en) * 2009-11-25 2014-03-18 Citrix Systems, Inc. Methods for interfacing with a virtualized computing service over a network using a lightweight client
US9146884B2 (en) * 2009-12-10 2015-09-29 Microsoft Technology Licensing, Llc Push pull adaptive capture
TWI443581B (zh) * 2010-11-02 2014-07-01 Inst Information Industry 資源共享系統與方法
US9383891B2 (en) * 2012-03-28 2016-07-05 Skytap Methods and systems for an intermediate graphical desktop sharing protocol
US20160080451A1 (en) * 2014-03-10 2016-03-17 Gazoo, Inc. Real-time dynamic hyperlinking system and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190139426A (ko) * 2018-06-08 2019-12-18 한국전자통신연구원 하드웨어 기반의 gpu를 이용한 가상 머신의 화면 전송 방법 및 이를 이용한 장치

Also Published As

Publication number Publication date
US20170116016A1 (en) 2017-04-27

Similar Documents

Publication Publication Date Title
US11777790B2 (en) Communications methods and apparatus for migrating a network interface and/or IP address from one Pod to another Pod in a Kubernetes system
US10375015B2 (en) Methods and system for allocating an IP address for an instance in a network function virtualization (NFV) system
US11418512B2 (en) Method for virtual machine to access physical server in cloud computing system, apparatus, and system
US20220377045A1 (en) Network virtualization of containers in computing systems
EP3316532B1 (en) Computer device, system and method for implementing load balancing
US10313178B2 (en) Virtual network inter-container communication
JP5809696B2 (ja) 分散型仮想ネットワーク・ゲートウェイ
JP4972670B2 (ja) 仮想計算機システム、そのアクセス制御方法及び通信装置
US9934057B2 (en) Shadow VNICs for the control and observability of IO virtual functions
WO2016169218A1 (zh) 一种网关虚拟化方法、系统及计算机存储介质
JP2015156168A (ja) データセンタのリソース配分システム及びデータセンタのリソース配分方法
WO2017083194A1 (en) Scalable addressing mechanism for virtual machines
KR20170047747A (ko) 화면 압축 서비스 방법 및 그 방법을 수행하는 가상 네트워크 장치
US10979289B2 (en) Apparatuses and methods for remote computing node registration and authentication
CN109067573B (zh) 一种流量调度方法及装置
JP6013980B2 (ja) アドレス割当装置およびアドレス割当プログラム
CN112751717A (zh) 一种业务流量的管理系统以及方法
KR102409272B1 (ko) 가상 플랫폼 환경에서의 통신 대상 ip를 기반으로 공공 ip를 공유하는 방법 및 호스트 장치
CN112565158B (zh) 数据访问方法、装置、系统、电子设备及计算机可读介质
KR101001035B1 (ko) 터미널 환경의 서버 기반 컴퓨팅 시스템에서 다수의 사용자가 동일 ip접속으로 동일 응용 프로그램 실행시 충돌 오류를 방지하기 위한 가상 ip의 동적 할당 방법 및이를 위한 터미널 서버 장치
KR101196997B1 (ko) 가상의 ip주소를 이용한 터미널 서비스 제공 장치 및 그 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application