KR101546388B1 - Server and method for connecting session to virtual machine and, server for generating virtual machine - Google Patents

Server and method for connecting session to virtual machine and, server for generating virtual machine Download PDF

Info

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

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 어플리케이션을 실행할 가상 머신을 선택하는 가상 머신 선택부를 포함한다. A session management server for selecting a virtual machine to execute the application in response to an application execution request received from the device includes a statistical information extracting unit for extracting statistical information of each of a plurality of applications already executed by the plurality of virtual machines from a database, An application type determination unit for determining an application type corresponding to each of the plurality of virtual machines based on the extracted statistical information, a communication unit for receiving a request for execution of the first application from the device, 1 application to execute the virtual machine.

Description

가상 머신과 세션을 연결하는 서버 및 방법 그리고, 가상 머신을 생성하는 서버{SERVER AND METHOD FOR CONNECTING SESSION TO VIRTUAL MACHINE AND, SERVER FOR GENERATING VIRTUAL MACHINE}TECHNICAL FIELD [0001] The present invention relates to a server and method for connecting a virtual machine and a session, and a server for creating a virtual machine.

가상 머신과 세션을 연결하는 서버 및 방법 그리고, 가상 머신을 생성하는 서버에 관한 것이다. A server and method for connecting a virtual machine and a session, and a server for creating a virtual machine.

네트워크는 다양한 서비스 요구를 반영하기 위해 다수의 장치들이 복잡한 형태의 구조로 형성된다. 이로 인해, 다수의 서로 다른 장치들에 의해 여러 가지 서비스들이 동시에 수행되는 과정에서 다양한 인프라 및 자원의 제공이 요구될 수 있다. 이로 인해, 특정한 기능을 수행하는 서버들이 밀집되어 있는 데이터 센터 및 네트워크 인프라에 대하여 자원을 제어하고 관리하는 기술에 대한 요구도 증가하고 있다. In order to reflect various service demands, a plurality of devices are formed in a complicated structure. Accordingly, it is required to provide various infrastructures and resources in the process of performing various services simultaneously by a plurality of different devices. As a result, there is a growing demand for technologies to control and manage resources for data centers and network infrastructures in which servers performing specific functions are concentrated.

한편, 가상화 기술은 일반적으로 하나의 물리적인 장비를 여러 개의 장비처럼 사용하는 기술로, 가상화 기술을 이용하여 네트워크 등의 컴퓨팅 자원의 활용을 증가시키고, 대규모 데이터 센터의 관리를 위해 자원을 운영하고 관리할 수 있다. 또한, 이러한 가상화 기술을 통해 하나의 물리 장비를 이용하여 다수의 독립 실행 가능한 가상 머신을 생성하고, 생성된 각각의 가상 머신을 통해 서비스를 제공할 수 있다. 이에, 다수의 가상 머신에 대하여 가상 머신의 자원을 효율적으로 이용할 수 있는 방법이 요구된다. 가상 머신에 대한 자원을 관리하는 방법과 관련하여 한국공개특허 제2012-0072059호에는 가상화 네트워크에서 자원을 제어 하는 방법에 대한 구성이 개시되어 있다. Virtualization technology, on the other hand, is a technology that uses one physical device as multiple devices. It uses virtualization technology to increase the utilization of computing resources such as networks, and operates and manages resources for the management of large data centers. can do. In addition, through this virtualization technology, a plurality of stand-alone executable virtual machines can be created using one physical device, and services can be provided through each of the created virtual machines. Therefore, a method of efficiently utilizing resources of a virtual machine with respect to a plurality of virtual machines is required. Korean Patent Publication No. 2012-0072059 discloses a method for controlling resources in a virtual network in connection with a method for managing resources for a virtual machine.

어플리케이션의 유형에 따라 가상 머신 및 가상 머신 내의 자원을 할당하여 가상 머신에 대한 세션을 스케쥴링하고자 한다. 다양한 통계정보를 이용하여 가상 머신 상에 할당될 자원의 비율을 결정하고자 한다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다. We want to schedule sessions for virtual machines by allocating resources in virtual machines and virtual machines according to the type of application. We will use various statistical information to determine the ratio of resources to be allocated on the virtual machine. It is to be understood, however, that the technical scope of the present invention is not limited to the above-described technical problems, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는 복수의 가상 머신에 의하여 이미 실행된 복수의 어플리케이션 각각의 통계 정보를 데이터베이스로부터 추출하는 통계 정보 추출부, 추출된 통계 정보에 기초하여 복수의 가상 머신 각각에 대응하는 어플리케이션 유형을 결정하는 어플리케이션 유형 결정부, 디바이스로부터 제 1 어플리케이션의 실행 요청을 수신하는 통신부, 결정된 어플리케이션 유형에 기초하여 복수의 가상 머신 중 제 1 어플리케이션을 실행할 가상 머신을 선택하는 가상 머신 선택부를 포함하는 세션 관리 서버를 제공할 수 있다. As a means for achieving the above technical object, an embodiment of the present invention includes a statistical information extracting unit for extracting statistical information of each of a plurality of applications already executed by a plurality of virtual machines from a database, A communication unit for receiving an execution request of the first application from the device; a virtual machine for executing the first application among the plurality of virtual machines based on the determined application type; And a virtual machine selection unit for selecting a virtual machine.

또한, 본 발명의 다른 실시예에 있어서, 복수의 가상 머신에 의하여 이미 실행된 복수의 어플리케이션 각각의 통계 정보를 데이터베이스로부터 추출하는 단계, 추출된 통계 정보에 기초하여 복수의 가상 머신 각각에 대응하는 어플리케이션 유형을 결정하는 단계, 디바이스로부터 제 1 어플리케이션의 실행 요청을 수신하는 단계, 결정된 어플리케이션 유형에 기초하여 복수의 가상 머신 중 제 1 어플리케이션을 실행할 가상 머신을 선택하는 단계, 디바이스와의 세션을 선택된 가상 머신으로 요청하는 단계를 포함하는 세션 관리 방법을 제공할 수 있다. According to another embodiment of the present invention, there is provided a computer-readable recording medium storing a computer program for causing a computer to execute a process of extracting statistical information of each of a plurality of applications already executed by a plurality of virtual machines from a database, Selecting a virtual machine to execute a first one of a plurality of virtual machines based on the determined application type, selecting a virtual machine to execute the first application from among the plurality of virtual machines based on the selected virtual machine, The method comprising the steps of:

또한, 본 발명의 다른 실시예에 있어서, 복수의 가상 머신을 생성하는 가상 머신 생성부, 복수의 가상 머신에 의하여 이미 실행된 복수의 어플리케이션의 실행 이력에 기초하여 복수의 어플리케이션 각각의 통계 정보를 생성하는 통계 정보 생성부, 생성된 통계 정보를 세션 관리 서버와 연결된 데이터베이스로 저장시키고, 세션 관리 서버로부터 복수의 가상 머신 각각에 대응하는 어플리케이션 유형 정보를 수신하는 통신부, 세선 관리 서버로부터 디바이스와의 세션 연결을 요청받는 경우, 수신된 어플리케이션 유형 정보에 기초하여 디바이스와 복수의 가상 머신 중 어느 하나와 세션을 연결하는 세션 연결부를 포함하는 가상화 서버를 제공할 수 있다. According to another embodiment of the present invention, there is provided a virtual machine system including a virtual machine generation unit for generating a plurality of virtual machines, a plurality of virtual machines for generating statistical information of each of a plurality of applications based on execution histories of a plurality of applications already executed by the plurality of virtual machines A communication unit that stores the generated statistical information in a database connected to the session management server and receives application type information corresponding to each of the plurality of virtual machines from the session management server; A session connection unit for connecting a session with one of the plurality of virtual machines and the device based on the received application type information.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 어플리케이션의 유형에 따라 가상 머신 및 가상 머신 내의 자원을 할당하여 가상 머신에 대한 세션을 스케쥴링할 수 있다. 시간대 별 동시 접속 통계정보에 기초하여 가상 머신 상의 자원 할당 비율을 우선 지정하고 어플리케이션을 분배 및 설치할 수 있다. 사용자 세션 할당 시 사용자 구매 정보 및 사용자 웹 페이지 URL 접속 정보를 기반으로 유형을 나누어 세션을 스케쥴링함으로써, 가상 서버의 자원 활용 및 실행 성능을 최적화 할 수 있다. According to any one of the tasks of the present invention described above, a virtual machine and a resource in the virtual machine can be allocated according to the type of application to schedule a session for the virtual machine. It is possible to assign the resource allocation rate on the virtual machine based on the time-based concurrent access statistical information, and distribute and install the application. When allocating a user session, scheduling a session by dividing types based on user purchase information and user web page URL access information can optimize resource utilization and execution performance of the virtual server.

도 1은 본 발명의 일 실시예에 따른 가상화 시스템의 구성도이다.
도 2는 도 1에 도시된 세션 관리 서버의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 생성된 복수의 가상 머신을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 세션을 스케쥴링하는 과정을 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 세션을 연결하는 과정을 나타내는 도면이다.
도 6은 도 1에 도시된 가상화 서버의 구성도이다.
도 7은 본 발명의 일 실시예에 따른 세션 관리 방법을 나타내는 동작 흐름도이다.
1 is a configuration diagram of a virtualization system according to an embodiment of the present invention.
2 is a configuration diagram of the session management server shown in FIG.
Figure 3 is a diagram illustrating a plurality of virtual machines created in accordance with one embodiment of the present invention.
4 is a diagram illustrating a process of scheduling a session according to an embodiment of the present invention.
5 is a diagram illustrating a process of connecting sessions according to an embodiment of the present invention.
6 is a configuration diagram of the virtualization server shown in FIG.
7 is a flowchart illustrating a method of managing a session according to an exemplary embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.

도 1은 본 발명의 일 실시예에 따른 가상화 시스템의 구성도이다. 도 1을 참조하면, 가상화 시스템은 세션 관리 서버(10), 가상화 서버(20), 디바이스(30), 어플리케이션 저장소(40) 및 사용자 데이터베이스(50)를 포함한다. 다만, 이러한 도 1의 가상화 시스템은 본 발명의 일 실시예에 불과하므로, 도 1을 통해 본 발명이 한정 해석 되는 것은 아니다. 예를 들면, 사용자 데이터베이스(50)는 세션 관리 서버(10) 또는 가상화 서버(20) 내부에 포함될 수 있다. 1 is a configuration diagram of a virtualization system according to an embodiment of the present invention. Referring to FIG. 1, a virtualization system includes a session management server 10, a virtualization server 20, a device 30, an application repository 40, and a user database 50. However, since the virtualization system of FIG. 1 is only one embodiment of the present invention, the present invention is not limited to FIG. For example, the user database 50 may be included within the session management server 10 or the virtualization server 20.

사용자 데이터베이스(50)는 가상화 서버(30)로부터 수신된 사용자 별 어플리케이션의 사용 통계 정보 및 복수의 가상 머신 각각의 어플리케이션 실행 통계 정보를 저장할 수 있다. 사용자 데이터베이스(50)에 저장된 통계 정보는 1 시간 또는, 1일 등 소정 시간 간격으로 갱신될 수 있다. The user database 50 may store usage statistical information of the user-specific application received from the virtualization server 30 and application execution statistical information of each of the plurality of virtual machines. The statistical information stored in the user database 50 may be updated at predetermined time intervals such as one hour or one day.

어플리케이션 저장소(40)는 복수의 다양한 웹 어플리케이션을 저장하고 있으며, 가상화 서버(30)로부터의 웹 어플리케이션의 요청에 기초하여, 요청된 웹 어플리케이션을 가상화 서버(30)로 전송할 수 있다. The application repository 40 stores a plurality of various web applications and can transmit the requested web application to the virtualization server 30 based on a request of the web application from the virtualization server 30.

디바이스(30)는 방송 영상 및 광고 영상을 표시하는 장치로서, TV 스마트TV, IPTV, PC와 연결된 모니터 및 TV와 연결된 셋탑박스와 같은 방송 영상을 표시할 수 있는 장치를 포함한다. 그리고, 셋탑박스와 같은 장치는 TV 장치의 내부에 포함될 수 있으며, 외부 장치로서 TV 장치에 연결될 수 있다. 다만, 도 1에 개시된 디바이스(30)의 종류 및 형태는 설명의 편의를 위해 예시된 것에 불과하므로, 본원에서 이야기하는 디바이스(30)의 종류 및 형태가 도 1에 도시된 것으로 한정 해석되는 것은 아니다. The device 30 is a device for displaying broadcasting images and advertisement images, and includes devices for displaying broadcast images such as a TV smart TV, an IPTV, a monitor connected to a PC, and a set-top box connected to a TV. An apparatus such as a set-top box may be included inside the TV apparatus, and may be connected to the TV apparatus as an external apparatus. However, the type and form of the device 30 shown in FIG. 1 are merely exemplified for convenience of explanation, and therefore the type and the type of the device 30 described herein are not limited to those shown in FIG. 1 .

세션 관리 서버(10)는 복수의 가상 머신에 의하여 실행된 복수의 어플리케이션 각각의 통계 정보를 사용자 데이터베이스(50)로부터 추출할 수 있다. 일 예로, 세션 관리 서버(10)는 사용자 데이터베이스(50)로부터 어플리케이션 각각의 피크타임(Peak Time), 피크타임에서 어플리케이션을 이용한 사용자의 수 등의 다양한 통계 정보를 추출할 수 있다. The session management server 10 can extract statistical information of each of a plurality of applications executed by the plurality of virtual machines from the user database 50. [ For example, the session management server 10 can extract various statistical information such as a peak time of each application from the user database 50 and a number of users using the application at peak time.

세션 관리 서버(10)는 추출된 통계 정보에 기초하여 복수의 가상 머신 각각에 대응하는 어플리케이션 유형을 결정할 수 있다. 어플리케이션 유형은 어플리케이션의 전송 유형 및 어플리케이션의 형태 유형에 따라 결정될 수 있다. 세션 관리 서버(10)는 복수의 가상 머신 각각에 대응하는 어플리케이션 유형들 및 어플리케이션 유형들간의 자원 할당 비율을 결정할 수도 있다. The session management server 10 can determine an application type corresponding to each of the plurality of virtual machines based on the extracted statistical information. The application type may be determined according to the transmission type of the application and the type of the application. The session management server 10 may determine a resource allocation ratio between application types and application types corresponding to each of the plurality of virtual machines.

세션 관리 서버(10)는 디바이스(30)로부터 제 1 어플리케이션의 실행 요청을 수신할 수 있다. 예를 들면, 세션 관리 서버(10)는 IPTV로부터 스크린 영어 어플리케이션의 실행을 요청하는 실행 요청을 수신할 수 있고, 지도 또는, 교통 정보 어플리케이션의 실행 요청을 수신할 수 도 있다. The session management server 10 may receive a request for execution of the first application from the device 30. [ For example, the session management server 10 may receive an execution request for requesting execution of a screen English application from the IPTV, and may receive a request for execution of a map or a traffic information application.

세션 관리 서버(10)는 결정된 어플리케이션 유형에 기초하여 복수의 가상 머신 중 제 1 어플리케이션을 실행할 가상 머신을 선택할 수 있다. 예를 들어, 세션 관리 서버(10)는 어플리케이션의 전송 유형에 따라 결정된 복수의 가상 머신 중 지도 어플리케이션 또는 교통 정보 어플리케이션을 실행할 가상 머신을 선택할 수 있다. The session management server 10 can select a virtual machine to execute the first of the plurality of virtual machines based on the determined application type. For example, the session management server 10 can select a virtual machine to execute a map application or a traffic information application among a plurality of virtual machines determined according to the transmission type of the application.

이와 같은 세션 관리 서버(10)의 동작에 대해서는 도 2를 통해 보다 자세히 설명한다. The operation of the session management server 10 will be described in more detail with reference to FIG.

가상화 서버(20)는 복수의 가상 머신을 생성한다. 가상 머신은 가상화 기술을 통해 하나의 물리 장비를 이용하여 다수의 독립 실행이 가능한 논리적인 운영체제 또는 어플리케이션이다. 이러한 가상 머신은 물리 머신의 하드웨어 자원을 할당받아 가상의 실행 환경을 만들어, 서로 다른 운영체제 또는 어플리케이션을 실행할 수 있다. 가상화 서버(20)는 복수의 가상 머신을 생성할 수 있다. The virtualization server 20 creates a plurality of virtual machines. A virtual machine is a logical operating system or application that can use a single physical machine through virtualization technology to perform multiple independent operations. Such a virtual machine can allocate hardware resources of a physical machine to create a virtual execution environment and execute different operating systems or applications. The virtualization server 20 can create a plurality of virtual machines.

가상화 서버(20)는 복수의 가상 머신에 의하여 실행된 복수의 어플리케이션의 실행 이력에 기초하여 복수 어플리케이션 각각의 통계 정보를 생성할 수 있다. 생성된 통계 정보는 세션 관리 서버(10)와 연결된 사용자 데이터베이스(50)에 저장될 수 있다. The virtualization server 20 can generate the statistical information of each of the plurality of applications based on the execution histories of the plurality of applications executed by the plurality of virtual machines. The generated statistical information may be stored in the user database 50 connected to the session management server 10. [

가상화 서버(10)는 세션 관리 서버(10)로부터 복수의 가상 머신 각각에 대응하는 어플리케이션 유형 정보를 수신하고 세션 관리 서버(10)로부터 디바이스(30)와의 세션 연결을 요청 받는 경우, 수신된 어플리케이션 유형 정보에 기초하여 디바이스(30)와 복수의 가상 머신 중 어느 하나와 세션을 연결할 수 있다. When the virtualization server 10 receives the application type information corresponding to each of the plurality of virtual machines from the session management server 10 and receives a session connection with the device 30 from the session management server 10, Based on the information, the device 30 and the session can be connected to any one of the plurality of virtual machines.

이와 같은 가상화 서버(20)의 동작에 대해서는 도 6을 통해 다시 한번 설명된다. The operation of the virtualization server 20 will be described again with reference to FIG.

도 2는 도 1에 도시된 세션 관리 서버(10)의 구성도이다. 도 2를 참조하면, 디바이스(30)로부터 수신된 어플리케이션의 실행 요청에 대응하여 어플리케이션을 실행할 가상 머신을 선택하는 세션 관리 서버(10)는 통계 정보 추출부(11), 어플리케이션 유형 결정부(12), 통신부(13) 및 가상 머신 선택부(14)를 포함한다. 다만, 도 2에 도시된 구성 요소들을 기초로 하여 여러 가지 변형이 가능함은 본 발명의 일 실시예에 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 2 is a configuration diagram of the session management server 10 shown in FIG. 2, the session management server 10 for selecting a virtual machine to execute an application corresponding to an application execution request received from the device 30 includes a statistical information extracting unit 11, an application type determining unit 12, A communication unit 13, and a virtual machine selection unit 14. However, it should be understood by those skilled in the art that various modifications may be made based on the components shown in FIG. 2.

통계 정보 추출부(11)는 복수의 가상 머신에 의하여 이미 실행된 복수의 어플리케이션 각각의 통계 정보를 사용자 데이터베이스(50)로부터 추출한다. 또한, 통계 정보 추출부(11)는 사용자 데이터베이스(50)로부터 사용자에 의해 사용된 복수의 어플리케이션 각각의 통계 정보를 추출할 수도 있다. 예를 들어, 통계 정보 추출부(11)는 사용자 데이터베이스(50)로부터 복수의 어플리케이션 각각의 피크 타임(Peak Time), 피크 타임에서의 동시 접속자의 수, 최대 동시 접속자의 수 및 사용자에 의해 사용된 어플리케이션의 종류 등의 통계 정보를 로데이터로서 추출할 수 있다. 추출된 통계 정보는 1 시간, 1 일 등의 소정 시간 간격으로 주기적으로 갱신될 수 있다. The statistical information extracting unit (11) extracts statistical information of each of a plurality of applications already executed by the plurality of virtual machines from the user database (50). The statistical information extracting unit 11 may extract statistical information of each of a plurality of applications used by the user from the user database 50. [ For example, the statistical information extracting unit 11 extracts, from the user database 50, the peak time of each of the plurality of applications, the number of concurrent users at the peak time, the number of the maximum concurrent users, Statistical information such as the type of application can be extracted as data. The extracted statistical information can be periodically updated at predetermined time intervals such as 1 hour, 1 day, and so on.

어플리케이션 유형 결정부(12)는 추출된 통계 정보에 기초하여 복수의 가상 머신 각각에 대응하는 어플리케이션 유형을 결정할 수 있다. 이 때, 어플리케이션 유형 결정부(12)는 복수의 가상 머신 각각에 대응하는 어플리케이션 전송 유형 및 형태 유형을 결정하고, 결정된 어플리케이션의 전송 유형 및 형태 유형에 기초하여 가상 머신 각각에 대응하는 어플리케이션의 유형을 결정할 수 있다. 어플리케이션의 전송 유형은 이미지 전송 유형 및 스트리밍 전송 유형 중 어느 하나일 수 있고, 어플리케이션의 형태 유형은 페이지 형태 및 패키지 형태 중 어느 하나일 수 있다. The application type determination unit 12 can determine an application type corresponding to each of the plurality of virtual machines based on the extracted statistical information. At this time, the application type determination unit 12 determines the application transfer type and the type type corresponding to each of the plurality of virtual machines, and determines the type of the application corresponding to each of the virtual machines based on the transfer type and the type type of the determined application You can decide. The transmission type of the application may be either an image transmission type or a streaming transmission type, and an application type type may be either a page type or a package type.

예를 들면, 어플리케이션 유형 결정부(12)는 어플리케이션의 형태 및 전송 유형에 따라 스트리밍 전송 유형의 패키지 형태를 갖는 어플리케이션 유형, 스트리밍 전송 유형의 페이지 형태를 갖는 어플리케이션 유형, 이미지 전송 유형의 패키지 형태를 갖는 어플리케이션 유형 및 이미지 전송 유형의 페이지 형태를 갖는 어플리케이션 유형 중 어느 하나의 어플리케이션 유형을 결정할 수 있다. 다만, 결정된 어플리케이션 유형이 앞서 예시된 것들로 한정되지는 않는다. For example, the application type determination unit 12 may determine the application type having the streaming transmission type package type, the streaming transmission type application type having the page type, and the image transmission type package type according to the application type and transmission type An application type having an application type, and an application type having a page type of an image transmission type. However, the determined application type is not limited to those exemplified above.

어플리케이션 유형 결정부(12)는 추출된 통계 정보에 기초하여 복수의 가상 머신 각각에 대응하는 어플리케이션 유형들 및 어플리케이션 유형들 간의 자원 할당 비율을 결정할 수 있다. 이 경우, 어플리케이션 유형 결정부(12)는 복수의 가상 머신 각각의 자유 영역 또는, 백업 영역의 비율을 더 포함하는 자원 할당 비율을 결정할 수 있다. The application type determination unit 12 may determine a resource allocation ratio between application types and application types corresponding to each of the plurality of virtual machines based on the extracted statistical information. In this case, the application type determination unit 12 can determine the resource allocation ratio that further includes the free area of each of the plurality of virtual machines or the ratio of the backup area.

도 3은 본 발명의 일 실시예에 따른 생성된 복수의 가상 머신을 나타내는 도면이다. 도 3을 통해 예를 들면, 가상화 서버(20) 내에 가상 머신(VM) 1 내지 가상 머신 5의 복수의 가상 머신이 생성되어 있다. 어플리케이션 유형 결정부(12)는 이미지 전송 유형을 담당할 가상 머신 또는 스트리밍 전송 유형을 담당할 가상 머신을 결정할 수 있다. 즉, 가상 머신 1 내지 가상 머신 3을 이미지 전송 유형을 담당할 가상 머신으로 결정하고, 가상 머신 4 및 가상 머신 5를 스트리밍 전송 유형을 담당할 가상 머신으로 결정할 수 있다. 실제로, 이미지 전송 유형의 경우, 스트리밍 전송 유형과 비교하여 상대적으로 많은 메모리가 많이 요구된다. Figure 3 is a diagram illustrating a plurality of virtual machines created in accordance with one embodiment of the present invention. For example, in the virtualization server 20, a plurality of virtual machines (VM) 1 to a plurality of virtual machines 5 are created in FIG. The application type determination unit 12 may determine a virtual machine to be responsible for the image transmission type or a virtual machine to be responsible for the streaming transmission type. That is, the virtual machine 1 to the virtual machine 3 can be determined as the virtual machine to be responsible for the image transfer type, and the virtual machine 4 and the virtual machine 5 can be determined as the virtual machine to be responsible for the streaming transfer type. In fact, for the image transmission type, a relatively large amount of memory is required in comparison with the streaming transmission type.

이후, 어플리케이션 유형 결정부(12)는 가상 머신 별로 자원을 얼마나 쓰는지에 대한 통계 정보에 기초하여 각 가상 머신 별로 백업 공간을 확보하고, 어플리케이션 유형 별로 세션 비율을 결정할 수 있다. 즉, 어플리케이션 유형 결정부(12)는 이미지 전송 유형을 담당하는 가상 머신 1 내지 가상 머신 3에서 페이지 형태의 유형에 얼마나 자원을 할당하고, 패키지 형태의 유형에 얼마나 자원을 할당할지를 결정할 수 있다. 어플리케이션 유형 결정부(12)는 가상 머신 4 내지 가상 머신 5에서 페이지 형태의 유형에 얼마나 자원을 할당하고, 패키지 형태의 유형에 얼마나 자원을 할당할지를 결정할 수도 있다. Thereafter, the application type determination unit 12 secures a backup space for each virtual machine based on statistical information about how much resource is used for each virtual machine, and determines a session ratio for each application type. That is, the application type determination unit 12 can determine how much resources are allocated to the type of the page type and how much resources are allocated to the type of the package type in the virtual machine 1 to the virtual machine 3 that are responsible for the image transmission type. The application type determination unit 12 may determine how much resources are allocated to the type of page type and how much resources are allocated to the type of the package type in the virtual machine 4 or the virtual machine 5.

어플리케이션 유형 결정부(12)는 패키지 형태의 어플리케이션을 종류 별로 구분하고, 구분된 어플리케이션들을 담당할 가상 머신 또는 가상 머신 내의 자원 할당 비율을 결정할 수 있다. 보다 상세히 말하면, 어플리케이션 유형 결정부(12)는 패키지 형태의 어플리케이션 각각의 배포자, 패키지 형태의 어플리케이션 각각의 주 사용 시간 등의 패키지 어플리케이션 각각의 통계 정보에 기초하여 패키지 형태의 어플리케이션들을 A 내지 E로 구분한다. 여기서 A 내지 E는 어플리케이션의 제목일 수 있다. 이후, 어플리케이션 유형 결정부(12)는 이미지 전송 유형의 패키지 형태의 어플리케이션인 A 내지 C와 관련하여 가상 머신 1 내지 가상 머신 3 각각에서의 자원 비율을 결정하고, 스트리밍 전송 형태의 패키지 형태의 어플리케이션인 D 내지 E 와 관련하여, 가상 머신 4 내지 가상 머신 5 내에서의 자원 비율을 결정할 수 있다. The application type determination unit 12 may classify applications in a package type and determine resource allocation ratios in a virtual machine or a virtual machine to be responsible for the classified applications. More specifically, the application type determination unit 12 classifies applications in a package form into A to E based on the statistical information of each of the package applications, such as the main usage time of each of the distributor and the application in the package form, do. Where A through E may be the titles of the applications. Thereafter, the application type determination unit 12 determines the ratio of resources in each of the virtual machines 1 to 3 with respect to applications A to C in the form of a package of the image transmission type, D to E, the ratio of resources in the virtual machine 4 to the virtual machine 5 can be determined.

통신부(13)는 디바이스(30)로부터 제 1 어플리케이션의 실행 요청을 수신한다. 일 예를 들면, 통신부(13)는 IPTV 또는 IPTV의 셋탑박스로부터 스크린 영어 어플리케이션의 실행을 요청하는 요청 신호를 수신할 수 있다. 통신부(13)는 결정된 자원 할당 비율에 기초하여 가상화 서버(20)에 가상 머신에 대한 자원 할당을 요청할 수도 있다. The communication unit 13 receives a request for execution of the first application from the device 30. [ For example, the communication unit 13 may receive a request signal requesting execution of a screen English application from a set-top box of IPTV or IPTV. The communication unit 13 may request the virtualization server 20 to allocate resources to the virtual machine based on the determined resource allocation ratio.

가상 머신 선택부(14)는 결정된 어플리케이션 유형에 기초하여 복수의 가상 머신 중 제 1 어플리케이션을 실행할 가상 머신을 선택할 수 있다. 이 때, 가상 머신 선택부(14)는 추출된 통계 정보에 기초하여 복수의 가상 머신의 우선 순위 테이블을 생성하고, 생성된 우선 순위 테이블에 기초하여 제 1 어플리케이션을 실행할 가상 머신을 선택할 수 있다. 일 예로, 가상 머신 선택부(14)는 사용자의 웹 어플리케이션 구매 정보 및 웹 페이지 접속 정보를 이용하여 추출된 통계 정보에 기초하여 사용자의 웹 어플리케이션 사용 유형 별 가상 머신 접속 유형을 선정하고, 이에 따른 우선 순위 테이블 생성하여 가상 머신 별 배정 우선 순위를 결정할 수 있다. 가상 머신 선택부(14)는 결정된 우선 순위에 기초하여 스크린 영어 어플리케이션을 실행할 가상 머신을 선택할 수 있다. The virtual machine selection unit 14 can select a virtual machine to execute the first application among a plurality of virtual machines based on the determined application type. At this time, the virtual machine selection unit 14 can generate a priority table of a plurality of virtual machines based on the extracted statistical information, and can select a virtual machine to execute the first application based on the generated priority table. For example, the virtual machine selection unit 14 selects a virtual machine connection type for each web application usage type based on the statistical information extracted using the web application purchase information and the web page access information of the user, A ranking table can be generated and the allocation priority for each virtual machine can be determined. The virtual machine selection unit 14 can select a virtual machine to execute the screen English application based on the determined priority.

이후, 통신부(13)는 디바이스(30)와의 세션을 선택된 가상 머신으로 요청할 수 있다. 예를 들면, 통신부(13)는 스크린 영어 어플리케이션의 실행을 요청한 IPTV와 가상 머신 선택부(14)에 의해 선택된 스크린 영어 어플리케이션을 실행할 가상 머신으로 세션을 요청할 수 있다. Thereafter, the communication unit 13 can request a session with the device 30 to the selected virtual machine. For example, the communication unit 13 can request a session to a virtual machine that will execute the screen English application and the screen English application selected by the virtual machine selection unit 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)한다. 4 is a diagram illustrating a process of scheduling a session according to an embodiment of the present invention. 4, the device 30 requests the session management server 10 to connect an application (S401), and the session management server 10 requests a virtualization server to allocate a session based on the received connection request ( S402). The virtualization server 20 requests the session requested application in the application repository 40 in step S403 and the application repository 40 transmits the application in step S404 to the virtualization server 30. [ The virtualization server 20 installs and executes the transferred packaged application (S405), and transmits the virtualization information of the execution information of the application to the device 30 (S406). The device 30 can use the application through the virtualization server 20 based on the transmitted virtualization information. When the use of the application is completed, the device 30 requests the virtualization server 20 to terminate the application (S407), and the virtualization server 20 calculates the application usage statistic information of the user (S408) To the user database 50 (S409), and terminates the session with the device 30 (S410). When the session with the device 30 is terminated, the virtualization server 20 calculates application execution statistical information for each virtual machine used for executing the application (S411), and transmits the application execution statistical information for each virtual machine to the user database 50 (S412).

이후, 세션 관리 서버(10)는 사용자 데이터베이스(50)로부터 가상 머신 및 사용자의 통계 정보를 수신(S413)하고, 세션 관리 서버(10)는 수신된 통계 정보에 기초하여 가상 머신 접속 우선 순위 및 가상 머신 내 어플리케이션 별로 자원의 할당 비율에 대한 테이블을 도출(S414)한다. 세션 관리 서버(10)는 도출된 어플리케이션 자원 할당 비율에 기초하여 가상화 서버(20)에 자원의 할당을 요청(S415)하고, 가상화 서버(20)는 가상 머신 간 세션 마이그레이션(S416)을 통해 연결된 세션을 이동시키거나 또는 가상 머신 내의 어플리케이션을 이동시킨다. 가상화 서버(20)는 수신된 자원 할당 비율에 기초하여 어플리케이션 저장소(40)에 해당 어플리케이션을 요청(S417)하고, 요청된 어플리케이션을 수신(S418)한다. 그리고, 가상화 서버(20)는 가상 머신 별로 어플리케이션을 설치하고, 기존에 가상 머신에 설치된 어플리케이션을 정리(S419)한다. Thereafter, the session management server 10 receives the statistical information of the virtual machine and the user from the user database 50 (S413), and the session management server 10 receives the virtual machine connection priority and the virtual And derives a table of resource allocation ratios for each application in the machine (S414). The session management server 10 requests allocation of resources to the virtualization server 20 based on the derived application resource allocation ratio S415 and the virtualization server 20 performs the session migration Or moves the application in the virtual machine. The virtualization server 20 requests the application to the application repository 40 based on the received resource allocation ratio (S417), and receives the requested application (S418). Then, the virtualization server 20 installs the application for each virtual machine, and arranges the application installed in the virtual machine (S419).

세션 관리 서버(10)는 사용자 별 통계 정보에 기초하여 사용자 별 가상 머신 접속 우선 순위 테이블을 도출(S420)하고, 디바이스(30)로부터의 어플리케이션 연결 요청(S421)을 수신하는 경우, 도출된 접속 우선 순위에 기초하여 어플리케이션을 제공할 어느 하나의 가상 머신을 선택하여 가상화 서버(20)에 세션의 할당을 요청(S422)한다. The session management server 10 derives a virtual machine access priority table for each user based on the statistical information for each user in step S420 and receives an application connection request S421 from the device 30, Selects one virtual machine to provide the application based on the ranking, and requests the virtualization server 20 to allocate a session (S422).

다만, 도 4에 도시된 실시예는 본 발명의 다양한 실시예 중 어느 하나에 불과하므로, 도 4에 도시된 실시예로 본 발명이 한정되어서는 안된다. However, since the embodiment shown in FIG. 4 is only one of various embodiments of the present invention, the present invention should not be limited to the embodiment shown in FIG.

도 5는 본 발명의 일 실시예에 따른 세션을 연결하는 과정을 나타내는 도면이다. 도 5를 참조하면, 세션 관리 서버(10)는 디바이스(30)로부터 세션의 할당이 요청(S501)되면, 사용자의 어플리케이션 전송 타입별 이용율을 산정(S502)하고, 이미지 전송 유형의 이용율이 스트리밍 전송 유형 보다 많은 경우(S503), 패키지 형태의 유형의 이용율이 페이지 형태의 유형보다 높은 경우(S505) 등에 따라 어플리케이션의 타입 또는 유형을 분류한다. 다시 말하면, 세션 관리 서버(10)는 복수의 어플리케이션을 이미지 전송 유형의 패키지 형태인 어플리케이션 유형, 이미지 전송 유형의 페이지 형태인 어플리케이션 유형, 스트리밍 전송 유형의 패키지 형태인 어플리케이션 유형 및 스트리밍 전송 유형의 페이지 형태인 어플리케이션 유형으로 분류하여 어플리케이션의 유형을 결정할 수 있다. 5 is a diagram illustrating a process of connecting sessions according to an embodiment of the present invention. 5, the session management server 10 calculates a usage rate for each application transmission type of a user when a session is allocated (S501) from the device 30 (S502), and when the usage rate of the image transmission type is a streaming transmission (S503). When the usage rate of the type of the package type is higher than the type of the page type (S505), the type or type of the application is classified. In other words, the session management server 10 may manage a plurality of applications as an application type as a package type of image transmission type, an application type as a page type of an image transmission type, an application type as a package type of a streaming transmission type, The type of application can be determined.

세션 관리 서버(10)는 사용자의 구매 패키지, 어플리케이션 이용률 및 어플리케이션의 우선 순위를 산정(S506)하여 해당 어플리케이션의 유형 또는, 타입 별로 가상 머신을 배정(S507)한다. 그리고, 세션 관리 서버(10)는 가상 머신의 타입 및 사용자 어플리케이션의 존재 여부(S508)에 따라 가상화 서버(20)로 디바이스(30)에 세션을 할당할 것을 요청(S509)한다. The session management server 10 calculates a purchase package, an application utilization rate, and an application priority of the user (S506) and allocates a virtual machine by type or type of the application (S507). The session management server 10 requests the virtualization server 20 to allocate a session to the device 30 according to the type of the virtual machine and the existence of the user application (S508) (S509).

도 5에서 설명된 실시예는 본 발명의 일 실시예에 불과하며, 다양한 실시예가 더 존재할 수 있음은 본 발명이 속하는 기술분야의 속하는 당업자에게 자명하다. It should be apparent to those skilled in the art that the embodiment described in FIG. 5 is merely an embodiment of the present invention, and that various embodiments may be further included.

도 6은 도 1에 도시된 가상화 서버(20)의 구성도이다. 도 6에 도시된 가상화 서버(20)는 도 1에 도시된 여러 가지 구성들과 데이터의 송수신을 통해 동작한다. 따라서, 이하 생략된 내용이라고 하더라도, 도 1에 도시된 세션 관리 서버(10)에 관하여 이상에서 기술된 내용들은 도 6에 도시된 가상화 서버(20)의 동작에도 적용된다. 다시 말하면, 도 6의 가상화 서버(20)에 대하여 설명되지 아니한 사항은 도 1 내지 도 2를 통해 가상화 서버(20)에 대해 설명된 내용과 동일하거나 설명된 내용으로부터 당업자에 의해 용이하게 유추 가능하므로 이하 생략한다. 6 is a configuration diagram of the virtualization server 20 shown in FIG. The virtualization server 20 shown in FIG. 6 operates through transmission and reception of data with various configurations shown in FIG. Therefore, even if omitted below, the contents described above regarding the session management server 10 shown in Fig. 1 also apply to the operation of the virtualization server 20 shown in Fig. In other words, the matters not described with respect to the virtualization server 20 of FIG. 6 can be easily inferred by those skilled in the art from the same or described contents of the virtualization server 20 through FIGS. 1 and 2 Will be omitted.

도 6을 참조하면, 가상화 서버(20)는 가상 머신 생성부(21), 통계 정보 생성부(22), 통신부(23) 및 세션 연결부(24)를 포함한다. 6, the virtualization server 20 includes a virtual machine generation unit 21, a statistical information generation unit 22, a communication unit 23, and a session connection unit 24.

가상 머신 생성부(21)는 복수의 가상 머신을 생성한다. 이 때, 가상 머신 생성부(21)는 세션 관리 서버(10)로부터 수신된 어플리케이션 유형들 및 어플리케이션 유형들 간의 자원 할당 비율을 포함하는 어플리케이션 유형 정보에 기초하여 어플리케이션 유형에 대응하는 적어도 하나 이상의 가상 머신을 생성할 수 있다. The virtual machine creation unit 21 creates a plurality of virtual machines. At this time, the virtual machine generation unit 21 generates at least one virtual machine corresponding to the application type based on the application type information including the application types received from the session management server 10 and the resource allocation ratio between the application types Can be generated.

통계 정보 생성부(22)는 복수의 가상 머신에 의하여 이미 실행된 복수의 어플리케이션 실행 이력에 기초하여 복수의 어플리케이션 각각의 통계 정보를 생성한다. 통계 정보 생성부(22)는 사용자에 의해 사용된 복수의 어플리케이션 각각의 통계 정보를 생성할 수도 있다. The statistical information generating unit 22 generates statistical information of each of a plurality of applications based on a plurality of application execution histories already executed by the plurality of virtual machines. The statistical information generating unit 22 may generate statistical information of each of a plurality of applications used by the user.

통신부는 생성된 통계 정보를 세션 관리 서버(10)와 연결된 사용자 데이터베이스(50)로 저장시키고, 세션 관리 서버(10)로부터 복수의 가상 머신 각각에 대응하는 어플리케이션 유형 정보를 수신한다. The communication unit stores the generated statistical information in the user database 50 connected to the session management server 10 and receives the application type information corresponding to each of the plurality of virtual machines from the session management server 10. [

세션 연결부(24)는 세션 관리 서버(10)로부터 디바이스(30)와의 세션 연결을 요청받는 경우, 수신된 어플리케이션 유형 정보에 기초하여 디바이스(30)와 복수의 가상 머신 중 어느 하나와 세션을 연결한다. 복수의 가상 머신 중 어느 하나는 세션 관리 서버(10)에서 결정된 접속 우선 순위에 따라 선택된 가상 머신일 수 있다. When the session connection unit 24 is requested to establish a session connection with the device 30 from the session management server 10, the session connection unit 24 connects the session between the device 30 and one of the plurality of virtual machines based on the received application type information . Any one of the plurality of virtual machines may be a virtual machine selected according to the connection priority determined by the session management server 10. [

도 7은 본 발명의 일 실시예에 따른 세션 관리 방법을 나타내는 동작 흐름도이다. 도 1에 도시된 세션 관리 서버(10)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서 이하 생략된 내용이라고 하여도, 도 1 내지 도 2를 통해 세션 관리 서버(10)에 대하여 이상에서 기술된 내용은 도 7에서 설명되는 실시예에도 적용된다. 7 is a flowchart illustrating a method of managing a session according to an exemplary embodiment of the present invention. And the steps of the session management server 10 shown in FIG. Therefore, the contents described above for the session management server 10 through FIGS. 1 and 2 also apply to the embodiment described in FIG. 7, even if omitted in the following description.

도 7을 참조하면, 세션 관리 서버(10)는 복수의 가상 머신에 의하여 이미 실행된 복수의 어플리케이션 각각의 통계 정보를 사용자 데이터베이스(50)로부터 추출(S701)하고, 세션 관리 서버(10)는 추출된 통계 정보에 기초하여 복수의 가상 머신 각각에 대응하는 어플리케이션의 유형을 결정(S702)한다. 이후, 세션 관리 서버(10)는 디바이스(30)로부터 제 1 어플리케이션의 실행을 요청하는 실행 요청을 수신(S703)하고, 세션 관리 서버(10)는 결정된 어플리케이션 유형에 기초하여 복수의 가상 머신 중 제 1 어플리케이션을 실행할 가상 머신을 선택(S704)한다. 세션 관리 서버(10)는 디바이스(30)와의 세션을 선택된 가상 머신으로 요청(705)한다. 7, the session management server 10 extracts statistical information of each of a plurality of applications already executed by the plurality of virtual machines from the user database 50 (S701), and the session management server 10 extracts And determines the type of the application corresponding to each of the plurality of virtual machines based on the statistical information (S702). Thereafter, the session management server 10 receives an execution request for requesting execution of the first application from the device 30 (S703), and the session management server 10 receives the execution request for requesting execution of the first application from the device 30 1 virtual machine to execute the application (S704). The session management server 10 requests (705) a session with the device 30 to the selected virtual machine.

도 7을 통해 설명된 실시예에 따른 세션 관리 방법은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 엑세스 될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비 분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. The session management method according to the embodiment described with reference to FIG. 7 may also be implemented in the form of a recording medium including instructions executable by a computer such as a program module executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다. The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.

10: 세션 관리 서버
20: 가상화 서버
30: 디바이스
40: 어플리케이션 저장소
50: 사용자 데이터베이스
10: Session management server
20: Virtualization server
30: Device
40: Application Repository
50: User database

Claims (15)

디바이스로부터 수신된 어플리케이션의 실행 요청에 대응하여 상기 어플리케이션을 실행할 가상 머신을 선택하는 세션 관리 서버에 있어서,
복수의 가상 머신에 의하여 이미 실행된 복수의 어플리케이션 각각의 통계 정보를 데이터베이스로부터 추출하는 통계 정보 추출부;
상기 추출된 통계 정보에 기초하여 상기 복수의 가상 머신 각각에 대응하는 어플리케이션 유형을 결정하는 어플리케이션 유형 결정부; 및
상기 디바이스로부터 제 1 어플리케이션의 실행 요청을 수신하는 통신부;
상기 결정된 어플리케이션 유형에 기초하여 상기 복수의 가상 머신 중 상기 제 1 어플리케이션을 실행할 가상 머신을 선택하는 가상 머신 선택부를 포함하고,
상기 통신부는 상기 디바이스와의 세션을 상기 선택된 가상 머신으로 요청하고,
상기 어플리케이션 유형 결정부는 상기 복수의 가상 머신 각각에 대응하는 어플리케이션의 전송 유형을 결정하도록 구성되는 것인, 세션 관리 서버.
A session management server for selecting a virtual machine to execute the application in response to an execution request of an application received from a device,
A statistical information extracting unit for extracting statistical information of each of a plurality of applications already executed by a plurality of virtual machines from a database;
An application type determination unit for determining an application type corresponding to each of the plurality of virtual machines based on the extracted statistical information; And
A communication unit for receiving an execution request of the first application from the device;
And a virtual machine selection unit for selecting a virtual machine to execute the first application among the plurality of virtual machines based on the determined application type,
Wherein the communication unit requests a session with the device to the selected virtual machine,
Wherein the application type determination unit is configured to determine a transfer type of an application corresponding to each of the plurality of virtual machines.
제 1 항에 있어서,
상기 어플리케이션 유형 결정부는 상기 추출된 통계 정보에 기초하여 상기 복수의 가상 머신 각각에 대응하는 어플리케이션 유형들 및 상기 어플리케이션 유형들간의 자원 할당 비율을 결정하고,
상기 가상 머신 선택부는 상기 결정된 어플리케이션 유형들 및 상기 자원 할당 비율에 기초하여 상기 가상 머신을 선택하는 것인, 세션 관리 서버.
The method according to claim 1,
Wherein the application type determination unit determines application types corresponding to each of the plurality of virtual machines and a resource allocation ratio between the application types based on the extracted statistical information,
And the virtual machine selection unit selects the virtual machine based on the determined application types and the resource allocation ratio.
제 1 항에 있어서,
상기 통계 정보 추출부는 사용자에 의해 사용된 복수의 어플리케이션 각각의 통계 정보를 상기 데이터베이스로부터 추출하는 것인, 세션 관리 서버.
The method according to claim 1,
Wherein the statistical information extracting unit extracts statistical information of each of a plurality of applications used by a user from the database.
제 1 항에 있어서,
상기 어플리케이션의 전송 유형은 이미지 전송 유형 및 스트리밍 전송 유형 중 어느 하나인 것인, 세션 관리 서버.
The method according to claim 1,
Wherein the transmission type of the application is one of an image transmission type and a streaming transmission type.
제 2 항에 있어서,
상기 어플리케이션 유형 결정부는 상기 복수의 가상 머신 각각의 자유 영역의 비율을 더 포함하여 상기 어플리케이션 유형들 및 상기 어플리케이션 유형들 간의 자원 할당 비율을 결정하는 것인, 세션 관리 서버.
3. The method of claim 2,
Wherein the application type determination unit further includes a ratio of free areas of each of the plurality of virtual machines to determine a resource allocation ratio between the application types and the application types.
제 2 항에 있어서,
상기 어플리케이션 유형 결정부는 어플리케이션 형태 유형들 간의 자원 할당 비율을 결정하고,
상기 어플리케이션 형태 유형은 페이지 형태 유형 및 패키지 형태 유형 중 어느 하나인 것인, 세션 관리 서버.
3. The method of claim 2,
The application type determination unit determines a resource allocation rate between application type types,
Wherein the application type type is one of a page type type and a package type type.
디바이스로부터 수신된 어플리케이션의 실행 요청에 대응하여 상기 어플리케이션을 실행할 가상 머신을 선택하는 세션 관리 서버에 있어서,
복수의 가상 머신에 의하여 이미 실행된 복수의 어플리케이션 각각의 통계 정보를 데이터베이스로부터 추출하는 통계 정보 추출부;
상기 추출된 통계 정보에 기초하여 상기 복수의 가상 머신 각각에 대응하는 어플리케이션 유형을 결정하는 어플리케이션 유형 결정부; 및
상기 디바이스로부터 제 1 어플리케이션의 실행 요청을 수신하는 통신부;
상기 결정된 어플리케이션 유형에 기초하여 상기 복수의 가상 머신 중 상기 제 1 어플리케이션을 실행할 가상 머신을 선택하는 가상 머신 선택부를 포함하고,
상기 통신부는 상기 디바이스와의 세션을 상기 선택된 가상 머신으로 요청하고,
상기 통계 정보 추출부는 사용자에 의해 사용된 복수의 어플리케이션 각각의 통계 정보를 상기 데이터베이스로부터 추출하고,
상기 가상 머신 선택부는 상기 추출된 통계 정보에 기초하여 복수의 가상 머신의 우선 순위 테이블을 생성하고, 상기 생성된 우선 순위 테이블에 기초하여 상기 제 1 어플리케이션을 실행할 가상 머신을 선택하는 것인, 세션 관리 서버.
A session management server for selecting a virtual machine to execute the application in response to an execution request of an application received from a device,
A statistical information extracting unit for extracting statistical information of each of a plurality of applications already executed by a plurality of virtual machines from a database;
An application type determination unit for determining an application type corresponding to each of the plurality of virtual machines based on the extracted statistical information; And
A communication unit for receiving an execution request of the first application from the device;
And a virtual machine selection unit for selecting a virtual machine to execute the first application among the plurality of virtual machines based on the determined application type,
Wherein the communication unit requests a session with the device to the selected virtual machine,
Wherein the statistical information extracting unit extracts statistical information of each of a plurality of applications used by a user from the database,
Wherein the virtual machine selection unit generates a priority table of a plurality of virtual machines based on the extracted statistical information and selects a virtual machine to execute the first application based on the generated priority table, server.
제 2 항에 있어서,
상기 통신부는 상기 결정된 자원 할당 비율에 기초하여 가상화 서버에 상기 가상 머신에 대한 자원 할당을 요청하는 것인, 세션 관리 서버.
3. The method of claim 2,
Wherein the communication unit requests resource allocation for the virtual machine to the virtualization server based on the determined resource allocation ratio.
제 4 항에 있어서,
상기 어플리케이션 유형 결정부는 상기 결정된 어플리케이션 형태 유형 및 상기 어플리케이션의 전송 유형에 기초하여 상기 가상 머신 각각에 대응하는상기 어플리케이션 유형을 결정하는 것인, 세션 관리 서버.
5. The method of claim 4,
Wherein the application type determination unit determines the application type corresponding to each of the virtual machines based on the determined application type type and the transmission type of the application.
디바이스로부터 수신된 어플리케이션의 실행 요청에 대응하여 상기 어플리케이션을 실행할 가상 머신을 선택하는 세션 관리 방법에 있어서,
복수의 가상 머신에 의하여 이미 실행된 복수의 어플리케이션 각각의 통계 정보를 데이터베이스로부터 추출하는 단계;
상기 추출된 통계 정보에 기초하여 상기 복수의 가상 머신 각각에 대응하는 어플리케이션 유형 및 어플리케이션의 전송 유형을 결정하는 단계;
상기 디바이스로부터 제 1 어플리케이션의 실행 요청을 수신하는 단계;
상기 결정된 어플리케이션 유형에 기초하여 상기 복수의 가상 머신 중 상기 제 1 어플리케이션을 실행할 가상 머신을 선택하는 단계; 및
상기 디바이스와의 세션을 상기 선택된 가상 머신으로 요청하는 단계를 포함하는 세션 관리 방법.
A session management method for selecting a virtual machine to execute the application in response to an execution request of an application received from a device,
Extracting statistical information of each of a plurality of applications already executed by a plurality of virtual machines from a database;
Determining a transmission type of an application type and an application corresponding to each of the plurality of virtual machines based on the extracted statistical information;
Receiving an execution request of the first application from the device;
Selecting a virtual machine to execute the first application among the plurality of virtual machines based on the determined application type; And
And requesting a session with the device to the selected virtual machine.
제 10 항에 있어서,
상기 어플리케이션 유형을 결정하는 단계는 상기 추출된 통계 정보에 기초하여 상기 복수의 가상 머신 각각에 대응하는 어플리케이션 유형들 및 상기 어플리케이션 유형들간의 자원할당 비율을 결정하는 것인, 세션 관리 방법.
11. The method of claim 10,
Wherein the step of determining the application type determines application types corresponding to each of the plurality of virtual machines and a resource allocation ratio between the application types based on the extracted statistical information.
제 11 항에 있어서,
상기 가상 머신을 선택하는 단계는 상기 결정된 어플리케이션 유형들 및 상기 자원 할당 비율에 기초하여 상기 가상 머신을 선택하는 것인, 세션 관리 방법.
12. The method of claim 11,
Wherein the step of selecting the virtual machine selects the virtual machine based on the determined application types and the resource allocation ratio.
복수의 가상 머신을 포함하는 가상화 서버에 있어서,
복수의 가상 머신을 생성하는 가상 머신 생성부;
상기 복수의 가상 머신에 의하여 이미 실행된 복수의 어플리케이션의 실행 이력에 기초하여 상기 복수의 어플리케이션 각각의 통계 정보를 생성하는 통계 정보 생성부;
상기 생성된 통계 정보를 세션 관리 서버와 연결된 데이터베이스로 저장시키고, 상기 세션 관리 서버로부터 상기 복수의 가상 머신 각각에 대응하는 어플리케이션 유형 정보를 수신하는 통신부; 및
상기 세션 관리 서버로부터 디바이스와의 세션 연결을 요청받는 경우, 상기 수신된 어플리케이션 유형 정보에 기초하여 상기 디바이스와 상기 복수의 가상 머신 중 어느 하나와 세션을 연결하는 세션 연결부를 포함하고,
상기 통신부는 상기 세션 관리 서버로부터 상기 복수의 가상 머신 각각에 대응하는 어플리케이션의 전송 유형을 수신하도록 구성되는 것인, 가상화 서버.
In a virtualization server including a plurality of virtual machines,
A virtual machine generation unit for generating a plurality of virtual machines;
A statistical information generation unit configured to generate statistical information of each of the plurality of applications based on execution histories of a plurality of applications already executed by the plurality of virtual machines;
A communication unit for storing the generated statistical information in a database connected to the session management server and receiving application type information corresponding to each of the plurality of virtual machines from the session management server; And
And a session connection unit for connecting a session with any one of the plurality of virtual machines and the device based on the received application type information when a session connection with the device is requested from the session management server,
Wherein the communication unit is configured to receive a transfer type of an application corresponding to each of the plurality of virtual machines from the session management server.
제 13 항에 있어서,
상기 가상 머신 생성부는 상기 수신된 어플리케이션 유형 정보에 기초하여 상기 어플리케이션 유형 정보에 대응하는 적어도 하나 이상의 가상 머신을 생성하는 것인, 가상화 서버.
14. The method of claim 13,
Wherein the virtual machine creation unit creates at least one or more virtual machines corresponding to the application type information based on the received application type information.
제 14 항에 있어서,
상기 수신된 어플리케이션 유형 정보는 상기 어플리케이션 유형들 및 상기 어플리케이션 유형들 간의 자원 할당 비율을 포함하는 것인, 가상화 서버.
15. The method of claim 14,
Wherein the received application type information includes a resource allocation ratio between the application types and the application types.
KR1020120153766A 2012-12-26 2012-12-26 Server and method for connecting session to virtual machine and, server for generating virtual machine KR101546388B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120153766A KR101546388B1 (en) 2012-12-26 2012-12-26 Server and method for connecting session to virtual machine and, server for generating virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120153766A KR101546388B1 (en) 2012-12-26 2012-12-26 Server and method for connecting session to virtual machine and, server for generating virtual machine

Publications (2)

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

Family

ID=51734085

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120153766A KR101546388B1 (en) 2012-12-26 2012-12-26 Server and method for connecting session to virtual machine and, server for generating virtual machine

Country Status (1)

Country Link
KR (1) KR101546388B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672392B (en) * 2021-08-25 2023-07-25 国家电网有限公司信息通信分公司 Method and device for optimizing energy consumption, electronic equipment and computer readable storage medium

Also Published As

Publication number Publication date
KR20140083707A (en) 2014-07-04

Similar Documents

Publication Publication Date Title
WO2020238751A1 (en) Resource access method under serverless architecture, device, system, and storage medium
CN108337109B (en) Resource allocation method and device and resource allocation system
CN102082692B (en) Method and equipment for migrating virtual machines based on network data flow direction, and cluster system
US9699250B2 (en) Method and system for building an elastic cloud web server farm
US8250213B2 (en) Methods and apparatus to allocate resources associated with a distributive computing network
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
Wright et al. A constraints-based resource discovery model for multi-provider cloud environments
KR20170017049A (en) Cloud service broker and method thereof
US9104501B2 (en) Preparing parallel tasks to use a synchronization register
KR20210095690A (en) Resource management method and apparatus, electronic device and recording medium
CN112579622B (en) Method, device and equipment for processing service data
KR20130089779A (en) System for proving contents based on cloud computing and method thereof
KR101236477B1 (en) Method of processing data in asymetric cluster filesystem
EP3274859B1 (en) Cluster computing service assurance apparatus and method
CN102790784A (en) Distributed cache method and system and cache analyzing method and analyzing system
CN109992373B (en) Resource scheduling method, information management method and device and task deployment system
KR20190028210A (en) Cloud service method and system for deployment of artificial intelligence application using container
US20180367631A1 (en) Apparatus for providing cloud brokerage service based on multiple clouds and method thereof
KR20110133409A (en) System for adaptive mobile cloud service using the private virtual instance and construction method thereof
KR102389334B1 (en) Virtual machine provisioning system and method for cloud service
KR101386161B1 (en) Apparatus and method for managing compressed image file in cloud computing system
KR101546388B1 (en) Server and method for connecting session to virtual machine and, server for generating virtual machine
US20150286508A1 (en) Transparently routing job submissions between disparate environments

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