KR20140083707A - 가상 머신과 세션을 연결하는 서버 및 방법 그리고, 가상 머신을 생성하는 서버 - Google Patents

가상 머신과 세션을 연결하는 서버 및 방법 그리고, 가상 머신을 생성하는 서버 Download PDF

Info

Publication number
KR20140083707A
KR20140083707A KR1020120153766A KR20120153766A KR20140083707A KR 20140083707 A KR20140083707 A KR 20140083707A KR 1020120153766 A KR1020120153766 A KR 1020120153766A KR 20120153766 A KR20120153766 A KR 20120153766A KR 20140083707 A KR20140083707 A KR 20140083707A
Authority
KR
South Korea
Prior art keywords
application
type
virtual machine
virtual machines
statistical information
Prior art date
Application number
KR1020120153766A
Other languages
English (en)
Other versions
KR101546388B1 (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 KR1020120153766A priority Critical patent/KR101546388B1/ko
Publication of KR20140083707A publication Critical patent/KR20140083707A/ko
Application granted granted Critical
Publication of KR101546388B1 publication Critical patent/KR101546388B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

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 Hardware Design (AREA)
  • Computer And Data Communications (AREA)

Abstract

디바이스로부터 수신된 어플리케이션의 실행 요청에 대응하여 상기 어플리케이션을 실행할 가상 머신을 선택하는 세션 관리 서버는 복수의 가상 머신에 의하여 이미 실행된 복수의 어플리케이션 각각의 통계 정보를 데이터베이스로부터 추출하는 통계 정보 추출부, 추출된 통계 정보에 기초하여 복수의 가상 머신 각각에 대응하는 어플리케이션 유형을 결정하는 어플리케이션 유형 결정부, 디바이스로부터 제 1 어플리케이션의 실행 요청을 수신하는 통신부, 결정된 어플리케이션 유형에 기초하여 복수의 가상 머신 중 제 1 어플리케이션을 실행할 가상 머신을 선택하는 가상 머신 선택부를 포함한다.

Description

가상 머신과 세션을 연결하는 서버 및 방법 그리고, 가상 머신을 생성하는 서버{SERVER AND METHOD FOR CONNECTING SESSION TO VIRTUAL MACHINE AND, SERVER FOR GENERATING VIRTUAL MACHINE}
가상 머신과 세션을 연결하는 서버 및 방법 그리고, 가상 머신을 생성하는 서버에 관한 것이다.
네트워크는 다양한 서비스 요구를 반영하기 위해 다수의 장치들이 복잡한 형태의 구조로 형성된다. 이로 인해, 다수의 서로 다른 장치들에 의해 여러 가지 서비스들이 동시에 수행되는 과정에서 다양한 인프라 및 자원의 제공이 요구될 수 있다. 이로 인해, 특정한 기능을 수행하는 서버들이 밀집되어 있는 데이터 센터 및 네트워크 인프라에 대하여 자원을 제어하고 관리하는 기술에 대한 요구도 증가하고 있다.
한편, 가상화 기술은 일반적으로 하나의 물리적인 장비를 여러 개의 장비처럼 사용하는 기술로, 가상화 기술을 이용하여 네트워크 등의 컴퓨팅 자원의 활용을 증가시키고, 대규모 데이터 센터의 관리를 위해 자원을 운영하고 관리할 수 있다. 또한, 이러한 가상화 기술을 통해 하나의 물리 장비를 이용하여 다수의 독립 실행 가능한 가상 머신을 생성하고, 생성된 각각의 가상 머신을 통해 서비스를 제공할 수 있다. 이에, 다수의 가상 머신에 대하여 가상 머신의 자원을 효율적으로 이용할 수 있는 방법이 요구된다. 가상 머신에 대한 자원을 관리하는 방법과 관련하여 한국공개특허 제2012-0072059호에는 가상화 네트워크에서 자원을 제어 하는 방법에 대한 구성이 개시되어 있다.
어플리케이션의 유형에 따라 가상 머신 및 가상 머신 내의 자원을 할당하여 가상 머신에 대한 세션을 스케쥴링하고자 한다. 다양한 통계정보를 이용하여 가상 머신 상에 할당될 자원의 비율을 결정하고자 한다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는 복수의 가상 머신에 의하여 이미 실행된 복수의 어플리케이션 각각의 통계 정보를 데이터베이스로부터 추출하는 통계 정보 추출부, 추출된 통계 정보에 기초하여 복수의 가상 머신 각각에 대응하는 어플리케이션 유형을 결정하는 어플리케이션 유형 결정부, 디바이스로부터 제 1 어플리케이션의 실행 요청을 수신하는 통신부, 결정된 어플리케이션 유형에 기초하여 복수의 가상 머신 중 제 1 어플리케이션을 실행할 가상 머신을 선택하는 가상 머신 선택부를 포함하는 세션 관리 서버를 제공할 수 있다.
또한, 본 발명의 다른 실시예에 있어서, 복수의 가상 머신에 의하여 이미 실행된 복수의 어플리케이션 각각의 통계 정보를 데이터베이스로부터 추출하는 단계, 추출된 통계 정보에 기초하여 복수의 가상 머신 각각에 대응하는 어플리케이션 유형을 결정하는 단계, 디바이스로부터 제 1 어플리케이션의 실행 요청을 수신하는 단계, 결정된 어플리케이션 유형에 기초하여 복수의 가상 머신 중 제 1 어플리케이션을 실행할 가상 머신을 선택하는 단계, 디바이스와의 세션을 선택된 가상 머신으로 요청하는 단계를 포함하는 세션 관리 방법을 제공할 수 있다.
또한, 본 발명의 다른 실시예에 있어서, 복수의 가상 머신을 생성하는 가상 머신 생성부, 복수의 가상 머신에 의하여 이미 실행된 복수의 어플리케이션의 실행 이력에 기초하여 복수의 어플리케이션 각각의 통계 정보를 생성하는 통계 정보 생성부, 생성된 통계 정보를 세션 관리 서버와 연결된 데이터베이스로 저장시키고, 세션 관리 서버로부터 복수의 가상 머신 각각에 대응하는 어플리케이션 유형 정보를 수신하는 통신부, 세선 관리 서버로부터 디바이스와의 세션 연결을 요청받는 경우, 수신된 어플리케이션 유형 정보에 기초하여 디바이스와 복수의 가상 머신 중 어느 하나와 세션을 연결하는 세션 연결부를 포함하는 가상화 서버를 제공할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 어플리케이션의 유형에 따라 가상 머신 및 가상 머신 내의 자원을 할당하여 가상 머신에 대한 세션을 스케쥴링할 수 있다. 시간대 별 동시 접속 통계정보에 기초하여 가상 머신 상의 자원 할당 비율을 우선 지정하고 어플리케이션을 분배 및 설치할 수 있다. 사용자 세션 할당 시 사용자 구매 정보 및 사용자 웹 페이지 URL 접속 정보를 기반으로 유형을 나누어 세션을 스케쥴링함으로써, 가상 서버의 자원 활용 및 실행 성능을 최적화 할 수 있다.
도 1은 본 발명의 일 실시예에 따른 가상화 시스템의 구성도이다.
도 2는 도 1에 도시된 세션 관리 서버의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 생성된 복수의 가상 머신을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 세션을 스케쥴링하는 과정을 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 세션을 연결하는 과정을 나타내는 도면이다.
도 6은 도 1에 도시된 가상화 서버의 구성도이다.
도 7은 본 발명의 일 실시예에 따른 세션 관리 방법을 나타내는 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 일 실시예에 따른 가상화 시스템의 구성도이다. 도 1을 참조하면, 가상화 시스템은 세션 관리 서버(10), 가상화 서버(20), 디바이스(30), 어플리케이션 저장소(40) 및 사용자 데이터베이스(50)를 포함한다. 다만, 이러한 도 1의 가상화 시스템은 본 발명의 일 실시예에 불과하므로, 도 1을 통해 본 발명이 한정 해석 되는 것은 아니다. 예를 들면, 사용자 데이터베이스(50)는 세션 관리 서버(10) 또는 가상화 서버(20) 내부에 포함될 수 있다.
사용자 데이터베이스(50)는 가상화 서버(30)로부터 수신된 사용자 별 어플리케이션의 사용 통계 정보 및 복수의 가상 머신 각각의 어플리케이션 실행 통계 정보를 저장할 수 있다. 사용자 데이터베이스(50)에 저장된 통계 정보는 1 시간 또는, 1일 등 소정 시간 간격으로 갱신될 수 있다.
어플리케이션 저장소(40)는 복수의 다양한 웹 어플리케이션을 저장하고 있으며, 가상화 서버(30)로부터의 웹 어플리케이션의 요청에 기초하여, 요청된 웹 어플리케이션을 가상화 서버(30)로 전송할 수 있다.
디바이스(30)는 방송 영상 및 광고 영상을 표시하는 장치로서, TV 스마트TV, IPTV, PC와 연결된 모니터 및 TV와 연결된 셋탑박스와 같은 방송 영상을 표시할 수 있는 장치를 포함한다. 그리고, 셋탑박스와 같은 장치는 TV 장치의 내부에 포함될 수 있으며, 외부 장치로서 TV 장치에 연결될 수 있다. 다만, 도 1에 개시된 디바이스(30)의 종류 및 형태는 설명의 편의를 위해 예시된 것에 불과하므로, 본원에서 이야기하는 디바이스(30)의 종류 및 형태가 도 1에 도시된 것으로 한정 해석되는 것은 아니다.
세션 관리 서버(10)는 복수의 가상 머신에 의하여 실행된 복수의 어플리케이션 각각의 통계 정보를 사용자 데이터베이스(50)로부터 추출할 수 있다. 일 예로, 세션 관리 서버(10)는 사용자 데이터베이스(50)로부터 어플리케이션 각각의 피크타임(Peak Time), 피크타임에서 어플리케이션을 이용한 사용자의 수 등의 다양한 통계 정보를 추출할 수 있다.
세션 관리 서버(10)는 추출된 통계 정보에 기초하여 복수의 가상 머신 각각에 대응하는 어플리케이션 유형을 결정할 수 있다. 어플리케이션 유형은 어플리케이션의 전송 유형 및 어플리케이션의 형태 유형에 따라 결정될 수 있다. 세션 관리 서버(10)는 복수의 가상 머신 각각에 대응하는 어플리케이션 유형들 및 어플리케이션 유형들간의 자원 할당 비율을 결정할 수도 있다.
세션 관리 서버(10)는 디바이스(30)로부터 제 1 어플리케이션의 실행 요청을 수신할 수 있다. 예를 들면, 세션 관리 서버(10)는 IPTV로부터 스크린 영어 어플리케이션의 실행을 요청하는 실행 요청을 수신할 수 있고, 지도 또는, 교통 정보 어플리케이션의 실행 요청을 수신할 수 도 있다.
세션 관리 서버(10)는 결정된 어플리케이션 유형에 기초하여 복수의 가상 머신 중 제 1 어플리케이션을 실행할 가상 머신을 선택할 수 있다. 예를 들어, 세션 관리 서버(10)는 어플리케이션의 전송 유형에 따라 결정된 복수의 가상 머신 중 지도 어플리케이션 또는 교통 정보 어플리케이션을 실행할 가상 머신을 선택할 수 있다.
이와 같은 세션 관리 서버(10)의 동작에 대해서는 도 2를 통해 보다 자세히 설명한다.
가상화 서버(20)는 복수의 가상 머신을 생성한다. 가상 머신은 가상화 기술을 통해 하나의 물리 장비를 이용하여 다수의 독립 실행이 가능한 논리적인 운영체제 또는 어플리케이션이다. 이러한 가상 머신은 물리 머신의 하드웨어 자원을 할당받아 가상의 실행 환경을 만들어, 서로 다른 운영체제 또는 어플리케이션을 실행할 수 있다. 가상화 서버(20)는 복수의 가상 머신을 생성할 수 있다.
가상화 서버(20)는 복수의 가상 머신에 의하여 실행된 복수의 어플리케이션의 실행 이력에 기초하여 복수 어플리케이션 각각의 통계 정보를 생성할 수 있다. 생성된 통계 정보는 세션 관리 서버(10)와 연결된 사용자 데이터베이스(50)에 저장될 수 있다.
가상화 서버(10)는 세션 관리 서버(10)로부터 복수의 가상 머신 각각에 대응하는 어플리케이션 유형 정보를 수신하고 세션 관리 서버(10)로부터 디바이스(30)와의 세션 연결을 요청 받는 경우, 수신된 어플리케이션 유형 정보에 기초하여 디바이스(30)와 복수의 가상 머신 중 어느 하나와 세션을 연결할 수 있다.
이와 같은 가상화 서버(20)의 동작에 대해서는 도 6을 통해 다시 한번 설명된다.
도 2는 도 1에 도시된 세션 관리 서버(10)의 구성도이다. 도 2를 참조하면, 디바이스(30)로부터 수신된 어플리케이션의 실행 요청에 대응하여 어플리케이션을 실행할 가상 머신을 선택하는 세션 관리 서버(10)는 통계 정보 추출부(11), 어플리케이션 유형 결정부(12), 통신부(13) 및 가상 머신 선택부(14)를 포함한다. 다만, 도 2에 도시된 구성 요소들을 기초로 하여 여러 가지 변형이 가능함은 본 발명의 일 실시예에 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
통계 정보 추출부(11)는 복수의 가상 머신에 의하여 이미 실행된 복수의 어플리케이션 각각의 통계 정보를 사용자 데이터베이스(50)로부터 추출한다. 또한, 통계 정보 추출부(11)는 사용자 데이터베이스(50)로부터 사용자에 의해 사용된 복수의 어플리케이션 각각의 통계 정보를 추출할 수도 있다. 예를 들어, 통계 정보 추출부(11)는 사용자 데이터베이스(50)로부터 복수의 어플리케이션 각각의 피크 타임(Peak Time), 피크 타임에서의 동시 접속자의 수, 최대 동시 접속자의 수 및 사용자에 의해 사용된 어플리케이션의 종류 등의 통계 정보를 로데이터로서 추출할 수 있다. 추출된 통계 정보는 1 시간, 1 일 등의 소정 시간 간격으로 주기적으로 갱신될 수 있다.
어플리케이션 유형 결정부(12)는 추출된 통계 정보에 기초하여 복수의 가상 머신 각각에 대응하는 어플리케이션 유형을 결정할 수 있다. 이 때, 어플리케이션 유형 결정부(12)는 복수의 가상 머신 각각에 대응하는 어플리케이션 전송 유형 및 형태 유형을 결정하고, 결정된 어플리케이션의 전송 유형 및 형태 유형에 기초하여 가상 머신 각각에 대응하는 어플리케이션의 유형을 결정할 수 있다. 어플리케이션의 전송 유형은 이미지 전송 유형 및 스트리밍 전송 유형 중 어느 하나일 수 있고, 어플리케이션의 형태 유형은 페이지 형태 및 패키지 형태 중 어느 하나일 수 있다.
예를 들면, 어플리케이션 유형 결정부(12)는 어플리케이션의 형태 및 전송 유형에 따라 스트리밍 전송 유형의 패키지 형태를 갖는 어플리케이션 유형, 스트리밍 전송 유형의 페이지 형태를 갖는 어플리케이션 유형, 이미지 전송 유형의 패키지 형태를 갖는 어플리케이션 유형 및 이미지 전송 유형의 페이지 형태를 갖는 어플리케이션 유형 중 어느 하나의 어플리케이션 유형을 결정할 수 있다. 다만, 결정된 어플리케이션 유형이 앞서 예시된 것들로 한정되지는 않는다.
어플리케이션 유형 결정부(12)는 추출된 통계 정보에 기초하여 복수의 가상 머신 각각에 대응하는 어플리케이션 유형들 및 어플리케이션 유형들 간의 자원 할당 비율을 결정할 수 있다. 이 경우, 어플리케이션 유형 결정부(12)는 복수의 가상 머신 각각의 자유 영역 또는, 백업 영역의 비율을 더 포함하는 자원 할당 비율을 결정할 수 있다.
도 3은 본 발명의 일 실시예에 따른 생성된 복수의 가상 머신을 나타내는 도면이다. 도 3을 통해 예를 들면, 가상화 서버(20) 내에 가상 머신(VM) 1 내지 가상 머신 5의 복수의 가상 머신이 생성되어 있다. 어플리케이션 유형 결정부(12)는 이미지 전송 유형을 담당할 가상 머신 또는 스트리밍 전송 유형을 담당할 가상 머신을 결정할 수 있다. 즉, 가상 머신 1 내지 가상 머신 3을 이미지 전송 유형을 담당할 가상 머신으로 결정하고, 가상 머신 4 및 가상 머신 5를 스트리밍 전송 유형을 담당할 가상 머신으로 결정할 수 있다. 실제로, 이미지 전송 유형의 경우, 스트리밍 전송 유형과 비교하여 상대적으로 많은 메모리가 많이 요구된다.
이후, 어플리케이션 유형 결정부(12)는 가상 머신 별로 자원을 얼마나 쓰는지에 대한 통계 정보에 기초하여 각 가상 머신 별로 백업 공간을 확보하고, 어플리케이션 유형 별로 세션 비율을 결정할 수 있다. 즉, 어플리케이션 유형 결정부(12)는 이미지 전송 유형을 담당하는 가상 머신 1 내지 가상 머신 3에서 페이지 형태의 유형에 얼마나 자원을 할당하고, 패키지 형태의 유형에 얼마나 자원을 할당할지를 결정할 수 있다. 어플리케이션 유형 결정부(12)는 가상 머신 4 내지 가상 머신 5에서 페이지 형태의 유형에 얼마나 자원을 할당하고, 패키지 형태의 유형에 얼마나 자원을 할당할지를 결정할 수도 있다.
어플리케이션 유형 결정부(12)는 패키지 형태의 어플리케이션을 종류 별로 구분하고, 구분된 어플리케이션들을 담당할 가상 머신 또는 가상 머신 내의 자원 할당 비율을 결정할 수 있다. 보다 상세히 말하면, 어플리케이션 유형 결정부(12)는 패키지 형태의 어플리케이션 각각의 배포자, 패키지 형태의 어플리케이션 각각의 주 사용 시간 등의 패키지 어플리케이션 각각의 통계 정보에 기초하여 패키지 형태의 어플리케이션들을 A 내지 E로 구분한다. 여기서 A 내지 E는 어플리케이션의 제목일 수 있다. 이후, 어플리케이션 유형 결정부(12)는 이미지 전송 유형의 패키지 형태의 어플리케이션인 A 내지 C와 관련하여 가상 머신 1 내지 가상 머신 3 각각에서의 자원 비율을 결정하고, 스트리밍 전송 형태의 패키지 형태의 어플리케이션인 D 내지 E 와 관련하여, 가상 머신 4 내지 가상 머신 5 내에서의 자원 비율을 결정할 수 있다.
통신부(13)는 디바이스(30)로부터 제 1 어플리케이션의 실행 요청을 수신한다. 일 예를 들면, 통신부(13)는 IPTV 또는 IPTV의 셋탑박스로부터 스크린 영어 어플리케이션의 실행을 요청하는 요청 신호를 수신할 수 있다. 통신부(13)는 결정된 자원 할당 비율에 기초하여 가상화 서버(20)에 가상 머신에 대한 자원 할당을 요청할 수도 있다.
가상 머신 선택부(14)는 결정된 어플리케이션 유형에 기초하여 복수의 가상 머신 중 제 1 어플리케이션을 실행할 가상 머신을 선택할 수 있다. 이 때, 가상 머신 선택부(14)는 추출된 통계 정보에 기초하여 복수의 가상 머신의 우선 순위 테이블을 생성하고, 생성된 우선 순위 테이블에 기초하여 제 1 어플리케이션을 실행할 가상 머신을 선택할 수 있다. 일 예로, 가상 머신 선택부(14)는 사용자의 웹 어플리케이션 구매 정보 및 웹 페이지 접속 정보를 이용하여 추출된 통계 정보에 기초하여 사용자의 웹 어플리케이션 사용 유형 별 가상 머신 접속 유형을 선정하고, 이에 따른 우선 순위 테이블 생성하여 가상 머신 별 배정 우선 순위를 결정할 수 있다. 가상 머신 선택부(14)는 결정된 우선 순위에 기초하여 스크린 영어 어플리케이션을 실행할 가상 머신을 선택할 수 있다.
이후, 통신부(13)는 디바이스(30)와의 세션을 선택된 가상 머신으로 요청할 수 있다. 예를 들면, 통신부(13)는 스크린 영어 어플리케이션의 실행을 요청한 IPTV와 가상 머신 선택부(14)에 의해 선택된 스크린 영어 어플리케이션을 실행할 가상 머신으로 세션을 요청할 수 있다.
도 4는 본 발명의 일 실시예에 따른 세션을 스케쥴링하는 과정을 나타내는 도면이다. 도 4를 참조하면 디바이스(30)는 세션 관리 서버(10)에 어플리케이션의 연결을 요청(S401)하고, 세션 관리 서버(10)는 수신된 연결 요청에 기초하여 가상화 서버에 세션의 할당을 요청(S402)한다. 가상화 서버(20)는 어플리케이션 저장소(40)에 세션 요청된 어플리케이션을 요청(S403)하고, 어플리케이션 저장소(40)는 가상화 서버(30)에 해당 어플리케이션을 전송(S404)한다. 가상화 서버(20)는 전송된 패키지 어플리케이션을 설치하여 실행(S405)하고, 디바이스(30)에 해당 어플리케이션의 실행 정보의 가상화 정보를 전송(S406)한다. 디바이스(30)는 전송된 가상화 정보에 기초하여 가상화 서버(20)를 통해 해당 어플리케이션을 이용할 수 있다. 디바이스(30)는 어플리케이션의 사용이 완료되면, 가상화 서버(20)에 어플리케이션의 종료를 요청(S407)하고, 가상화 서버(20)는 사용자의 어플리케이션 사용 통계 정보를 계산(S408)하여, 통계 정보를 사용자 데이터베이스(50)에 전송(S409)하고, 디바이스(30)와의 세션을 종료(S410)한다. 가상화 서버(20)는 디바이스(30)와의 세션이 종료되면, 어플리케이션 실행에 사용된 가상 머신 별 어플리케이션 실행 통계 정보를 계산(S411)하여, 사용자 데이터베이스(50)에 가상 머신 별 어플리케이션 실행 통계 정보를 전송(S412)한다.
이후, 세션 관리 서버(10)는 사용자 데이터베이스(50)로부터 가상 머신 및 사용자의 통계 정보를 수신(S413)하고, 세션 관리 서버(10)는 수신된 통계 정보에 기초하여 가상 머신 접속 우선 순위 및 가상 머신 내 어플리케이션 별로 자원의 할당 비율에 대한 테이블을 도출(S414)한다. 세션 관리 서버(10)는 도출된 어플리케이션 자원 할당 비율에 기초하여 가상화 서버(20)에 자원의 할당을 요청(S415)하고, 가상화 서버(20)는 가상 머신 간 세션 마이그레이션(S416)을 통해 연결된 세션을 이동시키거나 또는 가상 머신 내의 어플리케이션을 이동시킨다. 가상화 서버(20)는 수신된 자원 할당 비율에 기초하여 어플리케이션 저장소(40)에 해당 어플리케이션을 요청(S417)하고, 요청된 어플리케이션을 수신(S418)한다. 그리고, 가상화 서버(20)는 가상 머신 별로 어플리케이션을 설치하고, 기존에 가상 머신에 설치된 어플리케이션을 정리(S419)한다.
세션 관리 서버(10)는 사용자 별 통계 정보에 기초하여 사용자 별 가상 머신 접속 우선 순위 테이블을 도출(S420)하고, 디바이스(30)로부터의 어플리케이션 연결 요청(S421)을 수신하는 경우, 도출된 접속 우선 순위에 기초하여 어플리케이션을 제공할 어느 하나의 가상 머신을 선택하여 가상화 서버(20)에 세션의 할당을 요청(S422)한다.
다만, 도 4에 도시된 실시예는 본 발명의 다양한 실시예 중 어느 하나에 불과하므로, 도 4에 도시된 실시예로 본 발명이 한정되어서는 안된다.
도 5는 본 발명의 일 실시예에 따른 세션을 연결하는 과정을 나타내는 도면이다. 도 5를 참조하면, 세션 관리 서버(10)는 디바이스(30)로부터 세션의 할당이 요청(S501)되면, 사용자의 어플리케이션 전송 타입별 이용율을 산정(S502)하고, 이미지 전송 유형의 이용율이 스트리밍 전송 유형 보다 많은 경우(S503), 패키지 형태의 유형의 이용율이 페이지 형태의 유형보다 높은 경우(S505) 등에 따라 어플리케이션의 타입 또는 유형을 분류한다. 다시 말하면, 세션 관리 서버(10)는 복수의 어플리케이션을 이미지 전송 유형의 패키지 형태인 어플리케이션 유형, 이미지 전송 유형의 페이지 형태인 어플리케이션 유형, 스트리밍 전송 유형의 패키지 형태인 어플리케이션 유형 및 스트리밍 전송 유형의 페이지 형태인 어플리케이션 유형으로 분류하여 어플리케이션의 유형을 결정할 수 있다.
세션 관리 서버(10)는 사용자의 구매 패키지, 어플리케이션 이용률 및 어플리케이션의 우선 순위를 산정(S506)하여 해당 어플리케이션의 유형 또는, 타입 별로 가상 머신을 배정(S507)한다. 그리고, 세션 관리 서버(10)는 가상 머신의 타입 및 사용자 어플리케이션의 존재 여부(S508)에 따라 가상화 서버(20)로 디바이스(30)에 세션을 할당할 것을 요청(S509)한다.
도 5에서 설명된 실시예는 본 발명의 일 실시예에 불과하며, 다양한 실시예가 더 존재할 수 있음은 본 발명이 속하는 기술분야의 속하는 당업자에게 자명하다.
도 6은 도 1에 도시된 가상화 서버(20)의 구성도이다. 도 6에 도시된 가상화 서버(20)는 도 1에 도시된 여러 가지 구성들과 데이터의 송수신을 통해 동작한다. 따라서, 이하 생략된 내용이라고 하더라도, 도 1에 도시된 세션 관리 서버(10)에 관하여 이상에서 기술된 내용들은 도 6에 도시된 가상화 서버(20)의 동작에도 적용된다. 다시 말하면, 도 6의 가상화 서버(20)에 대하여 설명되지 아니한 사항은 도 1 내지 도 2를 통해 가상화 서버(20)에 대해 설명된 내용과 동일하거나 설명된 내용으로부터 당업자에 의해 용이하게 유추 가능하므로 이하 생략한다.
도 6을 참조하면, 가상화 서버(20)는 가상 머신 생성부(21), 통계 정보 생성부(22), 통신부(23) 및 세션 연결부(24)를 포함한다.
가상 머신 생성부(21)는 복수의 가상 머신을 생성한다. 이 때, 가상 머신 생성부(21)는 세션 관리 서버(10)로부터 수신된 어플리케이션 유형들 및 어플리케이션 유형들 간의 자원 할당 비율을 포함하는 어플리케이션 유형 정보에 기초하여 어플리케이션 유형에 대응하는 적어도 하나 이상의 가상 머신을 생성할 수 있다.
통계 정보 생성부(22)는 복수의 가상 머신에 의하여 이미 실행된 복수의 어플리케이션 실행 이력에 기초하여 복수의 어플리케이션 각각의 통계 정보를 생성한다. 통계 정보 생성부(22)는 사용자에 의해 사용된 복수의 어플리케이션 각각의 통계 정보를 생성할 수도 있다.
통신부는 생성된 통계 정보를 세션 관리 서버(10)와 연결된 사용자 데이터베이스(50)로 저장시키고, 세션 관리 서버(10)로부터 복수의 가상 머신 각각에 대응하는 어플리케이션 유형 정보를 수신한다.
세션 연결부(24)는 세션 관리 서버(10)로부터 디바이스(30)와의 세션 연결을 요청받는 경우, 수신된 어플리케이션 유형 정보에 기초하여 디바이스(30)와 복수의 가상 머신 중 어느 하나와 세션을 연결한다. 복수의 가상 머신 중 어느 하나는 세션 관리 서버(10)에서 결정된 접속 우선 순위에 따라 선택된 가상 머신일 수 있다.
도 7은 본 발명의 일 실시예에 따른 세션 관리 방법을 나타내는 동작 흐름도이다. 도 1에 도시된 세션 관리 서버(10)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서 이하 생략된 내용이라고 하여도, 도 1 내지 도 2를 통해 세션 관리 서버(10)에 대하여 이상에서 기술된 내용은 도 7에서 설명되는 실시예에도 적용된다.
도 7을 참조하면, 세션 관리 서버(10)는 복수의 가상 머신에 의하여 이미 실행된 복수의 어플리케이션 각각의 통계 정보를 사용자 데이터베이스(50)로부터 추출(S701)하고, 세션 관리 서버(10)는 추출된 통계 정보에 기초하여 복수의 가상 머신 각각에 대응하는 어플리케이션의 유형을 결정(S702)한다. 이후, 세션 관리 서버(10)는 디바이스(30)로부터 제 1 어플리케이션의 실행을 요청하는 실행 요청을 수신(S703)하고, 세션 관리 서버(10)는 결정된 어플리케이션 유형에 기초하여 복수의 가상 머신 중 제 1 어플리케이션을 실행할 가상 머신을 선택(S704)한다. 세션 관리 서버(10)는 디바이스(30)와의 세션을 선택된 가상 머신으로 요청(705)한다.
도 7을 통해 설명된 실시예에 따른 세션 관리 방법은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 엑세스 될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비 분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10: 세션 관리 서버
20: 가상화 서버
30: 디바이스
40: 어플리케이션 저장소
50: 사용자 데이터베이스

Claims (15)

  1. 디바이스로부터 수신된 어플리케이션의 실행 요청에 대응하여 상기 어플리케이션을 실행할 가상 머신을 선택하는 세션 관리 서버에 있어서,
    복수의 가상 머신에 의하여 이미 실행된 복수의 어플리케이션 각각의 통계 정보를 데이터베이스로부터 추출하는 통계 정보 추출부;
    상기 추출된 통계 정보에 기초하여 상기 복수의 가상 머신 각각에 대응하는 어플리케이션 유형을 결정하는 어플리케이션 유형 결정부; 및
    상기 디바이스로부터 제 1 어플리케이션의 실행 요청을 수신하는 통신부;
    상기 결정된 어플리케이션 유형에 기초하여 상기 복수의 가상 머신 중 상기 제 1 어플리케이션을 실행할 가상 머신을 선택하는 가상 머신 선택부를 포함하고,
    상기 통신부는 상기 디바이스와의 세션을 상기 선택된 가상 머신으로 요청하는 것인, 세션 관리 서버.
  2. 제 1 항에 있어서,
    상기 어플리케이션 유형 결정부는 상기 추출된 통계 정보에 기초하여 상기 복수의 가상 머신 각각에 대응하는 어플리케이션 유형들 및 상기 어플리케이션 유형들간의 자원 할당 비율을 결정하고,
    상기 가상 머신 선택부는 상기 결정된 어플리케이션 유형들 및 상기 자원 할당 비율에 기초하여 상기 가상 머신을 선택하는 것인, 세션 관리 서버.
  3. 제 1 항에 있어서,
    상기 통계 정보 추출부는 사용자에 의해 사용된 복수의 어플리케이션 각각의 통계 정보를 상기 데이터베이스로부터 추출하는 것인, 세션 관리 서버.
  4. 제 1 항에 있어서,
    상기 어플리케이션 유형 결정부는 상기 복수의 가상 머신 각각에 대응하는 어플리케이션의 전송 유형을 결정하고,
    상기 어플리케이션의 전송 유형은 이미지 전송 유형 및 스트리밍 전송 유형 중 어느 하나인 것인, 세션 관리 서버.
  5. 제 2 항에 있어서,
    상기 어플리케이션 유형 결정부는 상기 복수의 가상 머신 각각의 자유 영역의 비율을 더 포함하여 상기 어플리케이션 유형들 및 상기 어플리케이션 유형들 간의 자원 할당 비율을 결정하는 것인, 세션 관리 서버.
  6. 제 2 항에 있어서,
    상기 어플리케이션 유형 결정부는 어플리케이션 형태 유형들 간의 자원 할당 비율을 결정하고,
    상기 어플리케이션 형태 유형은 페이지 형태 유형 및 패키지 형태 유형 중 어느 하나인 것인, 세션 관리 서버.
  7. 제 3 항에 있어서,
    상기 가상 머신 선택부는 상기 추출된 통계 정보에 기초하여 복수의 가상 머신의 우선 순위 테이블을 생성하고, 상기 생성된 우선 순위 테이블에 기초하여 상기 제 1 어플리케이션을 실행할 가상 머신을 선택하는 것인, 세션 관리 서버.
  8. 제 2 항에 있어서,
    상기 통신부는 상기 결정된 자원 할당 비율에 기초하여 가상화 서버에 상기 가상 머신에 대한 자원 할당을 요청하는 것인, 세션 관리 서버.
  9. 제 4 항에 있어서,
    상기 어플리케이션 유형 결정부는 상기 결정된 어플리케이션 형태 유형 및 상기 어플리케이션의 전송 유형에 기초하여 상기 가상 머신 각각에 대응하는상기 어플리케이션 유형을 결정하는 것인, 세션 관리 서버.
  10. 디바이스로부터 수신된 어플리케이션의 실행 요청에 대응하여 상기 어플리케이션을 실행할 가상 머신을 선택하는 세션 관리 방법에 있어서,
    복수의 가상 머신에 의하여 이미 실행된 복수의 어플리케이션 각각의 통계 정보를 데이터베이스로부터 추출하는 단계;
    상기 추출된 통계 정보에 기초하여 상기 복수의 가상 머신 각각에 대응하는 어플리케이션 유형을 결정하는 단계;
    상기 디바이스로부터 제 1 어플리케이션의 실행 요청을 수신하는 단계;
    상기 결정된 어플리케이션 유형에 기초하여 상기 복수의 가상 머신 중 상기 제 1 어플리케이션을 실행할 가상 머신을 선택하는 단계; 및
    상기 디바이스와의 세션을 상기 선택된 가상 머신으로 요청하는 단계를 포함하는 세션 관리 방법.
  11. 제 10 항에 있어서,
    상기 어플리케이션 유형을 결정하는 단계는 상기 추출된 통계 정보에 기초하여 상기 복수의 가상 머신 각각에 대응하는 어플리케이션 유형들 및 상기 어플리케이션 유형들간의 자원할당 비율을 결정하는 것인, 세션 관리 방법.
  12. 제 11 항에 있어서,
    상기 가상 머신을 선택하는 단계는 상기 결정된 어플리케이션 유형들 및 상기 자원 할당 비율에 기초하여 상기 가상 머신을 선택하는 것인, 세션 관리 방법.
  13. 복수의 가상 머신을 포함하는 가상화 서버에 있어서,
    복수의 가상 머신을 생성하는 가상 머신 생성부;
    상기 복수의 가상 머신에 의하여 이미 실행된 복수의 어플리케이션의 실행 이력에 기초하여 상기 복수의 어플리케이션 각각의 통계 정보를 생성하는 통계 정보 생성부;
    상기 생성된 통계 정보를 세션 관리 서버와 연결된 데이터베이스로 저장시키고, 상기 세션 관리 서버로부터 상기 복수의 가상 머신 각각에 대응하는 어플리케이션 유형 정보를 수신하는 통신부; 및
    상기 세션 관리 서버로부터 디바이스와의 세션 연결을 요청받는 경우, 상기 수신된 어플리케이션 유형 정보에 기초하여 상기 디바이스와 상기 복수의 가상 머신 중 어느 하나와 세션을 연결하는 세션 연결부를 포함하는 가상화 서버.
  14. 제 13 항에 있어서,
    상기 가상 머신 생성부는 상기 수신된 어플리케이션 유형 정보에 기초하여 상기 어플리케이션 유형 정보에 대응하는 적어도 하나 이상의 가상 머신을 생성하는 것인, 가상화 서버.
  15. 제 14 항에 있어서,
    상기 수신된 어플리케이션 유형 정보는 상기 어플리케이션 유형들 및 상기 어플리케이션 유형들 간의 자원 할당 비율을 포함하는 것인, 가상화 서버.
KR1020120153766A 2012-12-26 2012-12-26 가상 머신과 세션을 연결하는 서버 및 방법 그리고, 가상 머신을 생성하는 서버 KR101546388B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120153766A KR101546388B1 (ko) 2012-12-26 2012-12-26 가상 머신과 세션을 연결하는 서버 및 방법 그리고, 가상 머신을 생성하는 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120153766A KR101546388B1 (ko) 2012-12-26 2012-12-26 가상 머신과 세션을 연결하는 서버 및 방법 그리고, 가상 머신을 생성하는 서버

Publications (2)

Publication Number Publication Date
KR20140083707A true KR20140083707A (ko) 2014-07-04
KR101546388B1 KR101546388B1 (ko) 2015-08-21

Family

ID=51734085

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120153766A KR101546388B1 (ko) 2012-12-26 2012-12-26 가상 머신과 세션을 연결하는 서버 및 방법 그리고, 가상 머신을 생성하는 서버

Country Status (1)

Country Link
KR (1) KR101546388B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672392A (zh) * 2021-08-25 2021-11-19 国家电网有限公司信息通信分公司 能耗优化的方法及装置、电子设备及计算机可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672392A (zh) * 2021-08-25 2021-11-19 国家电网有限公司信息通信分公司 能耗优化的方法及装置、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
KR101546388B1 (ko) 2015-08-21

Similar Documents

Publication Publication Date Title
WO2020238751A1 (zh) 无服务器架构下的资源访问方法、设备、系统及存储介质
CN108337109B (zh) 一种资源分配方法及装置和资源分配系统
US9699250B2 (en) Method and system for building an elastic cloud web server farm
CN102082692B (zh) 基于网络数据流向的虚拟机迁移方法、设备和集群系统
US9665410B2 (en) Processing of application programming interface traffic
US10261811B2 (en) Systems and methods for contextually allocating emulation resources
US11064041B2 (en) Apparatus for providing cloud service using cloud service brokerage based on multiple clouds and method thereof
US20120167081A1 (en) Application Service Performance in Cloud Computing
KR20170017049A (ko) 클라우드 서비스 중개장치 및 그 방법
US9672069B2 (en) Dynamic zone-based cloud management
KR20210095690A (ko) 리소스 관리 방법과 장치, 전자 디바이스 및 기록 매체
CN112579622B (zh) 业务数据的处理方法、装置及设备
US20130152101A1 (en) Preparing parallel tasks to use a synchronization register
KR20130089779A (ko) 클라우드 컴퓨팅 기반의 혼합형 콘텐츠 제공 방법 및 그 장치
EP3274859B1 (en) Cluster computing service assurance apparatus and method
KR101236477B1 (ko) 비대칭 클러스터 파일 시스템의 데이터 처리 방법
CN109992373B (zh) 资源调度方法、信息管理方法和装置及任务部署系统
KR20190028210A (ko) 컨테이너 기반 인공지능 어플리케이션을 배포하는 클라우드 서비스 방법과 시스템
KR20110133409A (ko) 개인 가상 인스턴스를 이용한 적응형 모바일 클라우드 시스템 및 그 구성 방법
KR102389334B1 (ko) 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법
CN112035244A (zh) 在多租户环境中虚拟节点集群的部署
KR101386161B1 (ko) 클라우드 컴퓨팅 시스템의 압축 이미지 파일 관리 장치 및 방법
KR101546388B1 (ko) 가상 머신과 세션을 연결하는 서버 및 방법 그리고, 가상 머신을 생성하는 서버
KR102492793B1 (ko) 가상 데스크탑 서비스 제공 시스템 및 가상 데스크탑 서비스 제공 방법
KR101277273B1 (ko) 자원 관리 시스템을 이용한 단말 장치간 자원 할당 방법 및 이를 위한 자원 관리 서버

Legal Events

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

Payment date: 20180801

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190731

Year of fee payment: 5