KR102613662B1 - A method for providing virtualization service based on greedy/optimal algorithm and a virtualization service provision system - Google Patents

A method for providing virtualization service based on greedy/optimal algorithm and a virtualization service provision system Download PDF

Info

Publication number
KR102613662B1
KR102613662B1 KR1020230042559A KR20230042559A KR102613662B1 KR 102613662 B1 KR102613662 B1 KR 102613662B1 KR 1020230042559 A KR1020230042559 A KR 1020230042559A KR 20230042559 A KR20230042559 A KR 20230042559A KR 102613662 B1 KR102613662 B1 KR 102613662B1
Authority
KR
South Korea
Prior art keywords
resources
user
optimal
information
service provision
Prior art date
Application number
KR1020230042559A
Other languages
Korean (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 KR1020230042559A priority Critical patent/KR102613662B1/en
Application granted granted Critical
Publication of KR102613662B1 publication Critical patent/KR102613662B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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
    • G06F2009/45591Monitoring or debugging support

Abstract

본 발명의 일 실시예에 따른 가상화 서비스 제공 시스템은, 이용자의 컴퓨팅 장치와 통신하여 이용자의 컴퓨팅 장치에 클라우드 서비스를 제공하기 위한 가상화 서비스 제공 방법을 구현하는 가상화 서비스 제공 시스템에 있어서, 이용자의 컴퓨팅 장치로부터 클라우드 서비스에 대한 요청정보를 수신하는 송수신모듈; 가상화 서비스 제공 방법이 구현되는데 필요한 정보가 저장되어 있는 저장모듈; 및 상기 요청정보를 기초로 물리서버의 적어도 일부 리소스를 가상화하는 제어모듈;을 포함하고, 상기 요청정보는, 개별 리소스의 클라우드 서비스 제공 요청을 포함하고, 상기 제어모듈은, 상기 요청정보에 따라 상기 요청정보에 대응되는 개별 리소스만을 가상화할 수 있다. A virtualization service provision system according to an embodiment of the present invention is a virtualization service provision system that implements a virtualization service provision method for communicating with a user's computing device to provide a cloud service to the user's computing device, comprising: A transmission/reception module that receives request information for cloud services from; A storage module that stores information necessary to implement a virtualization service provision method; and a control module that virtualizes at least some resources of the physical server based on the request information, wherein the request information includes a request to provide a cloud service for an individual resource, and the control module is configured to virtualize at least some resources of the physical server based on the request information. Only individual resources corresponding to the requested information can be virtualized.

Description

그리디/옵티멀 알고리즘에 기반한 가상화 서비스 제공 방법 및 가상화 서비스 제공 시스템 {A METHOD FOR PROVIDING VIRTUALIZATION SERVICE BASED ON GREEDY/OPTIMAL ALGORITHM AND A VIRTUALIZATION SERVICE PROVISION SYSTEM}Virtualization service provision method and virtualization service provision system based on greedy/optimal algorithm {A METHOD FOR PROVIDING VIRTUALIZATION SERVICE BASED ON GREEDY/OPTIMAL ALGORITHM AND A VIRTUALIZATION SERVICE PROVISION SYSTEM}

본 발명은 가상화 서비스 제공 시스템 및 가상화 서비스 제공 방법에 관한 것으로서, 더욱 상세하게는 이용자의 니즈에 맞게 리소스를 가상화하여 클라우드 서비스를 제공할 수 있는 가상화 서비스 제공 시스템 및 가상화 서비스 제공 방법에 대한 것이다. The present invention relates to a virtualization service provision system and a virtualization service provision method. More specifically, it relates to a virtualization service provision system and a virtualization service provision method that can provide cloud services by virtualizing resources to suit the needs of users.

인터넷 네트워크의 기술력이 증가되고, 재택 근무와 같이 컴퓨터 업무의 공간적 제약이 없어짐에 따라, 최근 클라우드 환경은 급격하게 성장하고 있다. 클라우드 서비스는 크게 가상머신을 제공하는 방식과 컨테이너를 통해 제공하는 방식으로 나누어지고 있다. 이러한 서비스를 제공하기 위해서, 서버 가상화 방식은 물리적 서버 위에 하이퍼바이저나 도커를 통해 물리적 서버의 리소스 전체를 가상화하는 방식으로 가상머신 또는 컨테이너를 생성하였다. 하지만, 이러한 가상화 방식은 컴퓨팅 리소스 전체(CPU, GPU, 메모리, 스토리지 등)를 사용하기 때문에 물리 서버 자원의 무분별한 낭비로 이루어질 수 있다. As Internet network technology increases and space restrictions for computer work, such as working from home, disappear, the cloud environment has recently grown rapidly. Cloud services are largely divided into those that provide virtual machines and those that provide them through containers. To provide these services, the server virtualization method creates virtual machines or containers by virtualizing all resources of the physical server through a hypervisor or Docker on the physical server. However, because this virtualization method uses all computing resources (CPU, GPU, memory, storage, etc.), it can result in indiscriminate waste of physical server resources.

본 발명은 상술한 문제점을 해결하기 위한 것으로, 개별적으로 리소스를 가상화하여 클라우드 서비스를 제공할 수 있는 가상화 서비스 제공 시스템 및 가상화 서비스 제공 방법을 제공하고자 한다. The present invention is intended to solve the above-described problems, and seeks to provide a virtualization service provision system and a virtualization service provision method that can provide cloud services by individually virtualizing resources.

본 발명의 일 실시예에 따른 가상화 서비스 제공 시스템은, 이용자의 컴퓨팅 장치와 통신하여 이용자의 컴퓨팅 장치에 클라우드 서비스를 제공하기 위한 가상화 서비스 제공 방법을 구현하는 가상화 서비스 제공 시스템에 있어서, 이용자의 컴퓨팅 장치로부터 클라우드 서비스에 대한 요청정보를 수신하는 송수신모듈; 가상화 서비스 제공 방법이 구현되는데 필요한 정보가 저장되어 있는 저장모듈; 및 상기 요청정보를 기초로 물리서버의 적어도 일부 리소스를 가상화하는 제어모듈;을 포함하고, 상기 요청정보는, 개별 리소스의 클라우드 서비스 제공 요청을 포함하고, 상기 제어모듈은, 상기 요청정보에 따라 상기 요청정보에 대응되는 개별 리소스만을 가상화할 수 있다. A virtualization service provision system according to an embodiment of the present invention is a virtualization service provision system that implements a virtualization service provision method for communicating with a user's computing device to provide a cloud service to the user's computing device, comprising: A transmission/reception module that receives request information for cloud services from; A storage module that stores information necessary to implement a virtualization service provision method; and a control module that virtualizes at least some resources of the physical server based on the request information, wherein the request information includes a request to provide a cloud service for an individual resource, and the control module is configured to virtualize at least some resources of the physical server based on the request information. Only individual resources corresponding to the requested information can be virtualized.

본 발명의 일 실시예에 따른 가상화 서비스 제공 시스템은, 이용자의 컴퓨팅 장치와 통신하여 이용자의 컴퓨팅 장치에 클라우드 서비스를 제공하기 위한 가상화 서비스 제공 시스템에 있어서, 이용자의 컴퓨팅 장치로부터 클라우드 서비스에 대한 요청정보를 수신하는 송수신모듈; 및 상기 요청정보를 기초로 물리서버의 적어도 일부 리소스를 가상화하는 제어모듈;을 포함하고, 상기 요청정보는, 개별 리소스의 클라우드 서비스 제공 요청을 포함하고, 상기 제어모듈은, 상기 요청정보에 따라 상기 요청정보에 대응되는 개별 리소스만을 가상화할 수 있다. A virtualization service provision system according to an embodiment of the present invention is a virtualization service provision system for providing a cloud service to a user's computing device by communicating with the user's computing device, where request information for a cloud service is received from the user's computing device. A transmitting and receiving module that receives; and a control module that virtualizes at least some resources of the physical server based on the request information, wherein the request information includes a request to provide a cloud service for an individual resource, and the control module is configured to virtualize at least some resources of the physical server based on the request information. Only individual resources corresponding to the requested information can be virtualized.

또한, 상기 요청정보는, 중앙처리장치에 대한 상세정보, 그래픽처리장치에 대한 상세정보, 주기억장치에 대한 상세정보 및 보조기억장치에 대한 상세정보 중 적어도 하나의 정보를 포함할 수 있다.Additionally, the request information may include at least one of detailed information on the central processing unit, detailed information on the graphics processing unit, detailed information on the main memory, and detailed information on the auxiliary memory.

또한, 상기 제어모듈은, 미리 정해진 방법에 따라 물리서버의 리소스를 할당하여 상기 요청정보에 따라 물리서버의 리소스를 가상화하고, 상기 미리 정해진 방법은, 이용자가 클라우드 서비스를 일정 리소스 이상 요청한다면, 그리디 알고리즘을 활용하여 물리서버의 리소스를 할당하고, 이용자가 클라우드 서비스를 일정 리소스 미만 요청한다면, 옵티멀 알고리즘을 활용하여 물리서버의 리소스를 할당할 수 있다. In addition, the control module allocates the resources of the physical server according to a predetermined method and virtualizes the resources of the physical server according to the request information, and the predetermined method is used if the user requests a cloud service over a certain amount of resources. The D algorithm can be used to allocate the resources of the physical server, and if the user requests cloud services less than a certain amount of resources, the optimal algorithm can be used to allocate the physical server's resources.

또한, 상기 송수신모듈이 이용자의 컴퓨팅 장치로부터 전달받은 동작정보를 기초로 미리 정해진 최적할당 방법으로 이용자에게 필요한 리소스 할당 방안인 최적방안을 산출하는 최적분석모듈;을 더 포함하고, 상기 미리 정해진 최적할당 방법은, 목적함수가 최소화되도록 상기 동작정보를 분석하며, 상기 목적함수는, 이용자의 서비스 비용과 관련된 제1 목적함수를 포함할 수 있다. In addition, the transmitting and receiving module further includes an optimal analysis module that calculates an optimal plan, which is a resource allocation plan necessary for the user, using a predetermined optimal allocation method based on operation information received from the user's computing device, and the predetermined optimal allocation method. The method analyzes the operation information to minimize an objective function, and the objective function may include a first objective function related to the user's service cost.

또한, 상기 최적분석모듈은, 이용자의 컴퓨팅 장치와 호환되지 않는 리소스는 배제하여 상기 최적방안을 산출할 수 있다. Additionally, the optimal analysis module can calculate the optimal solution by excluding resources that are not compatible with the user's computing device.

또한, 상기 제어모듈은, 일부의 물리서버에서는 물리서버의 개별 리소스 단위로 가상화를 진행하고, 나머지 물리서버에서는 물리서버의 전체 리소스 단위로 가상화를 진행하며, 상기 미리 정해진 최적할당 방법은, 개별 리소스 단위로 가상화를 진행할지, 통합 리소스 단위로 가상화를 진행할지 여부도 함께 고려하여 상기 최적방안을 산출하는 방법일 수 있다. In addition, the control module performs virtualization in units of individual resources of the physical servers in some physical servers, and virtualization in units of all resources of the physical servers in the remaining physical servers. The predetermined optimal allocation method is performed on individual resources. This may be a method of calculating the optimal method by also considering whether to proceed with virtualization in units or in units of integrated resources.

또한, 상기 최적분석모듈은, 상기 최적방안의 대상이 되는 물리서버의 리소스가 제1 한계조건이 만족되는 경우, 상기 최적방안과 다른 방안인 대체방안을 산출하며, 상기 대체방안은, 상기 최적방안이 개별 리소스 단위로 가상화되는 방안이라면, 통합 리소스 단위로 가상화하는 방안이고, 상기 최적방안이 통합 리소스 단위로 가상화되는 방안이라면, 개별 리소스 단위로 가상화하는 방안일 수 있다. In addition, the optimal analysis module calculates an alternative plan that is different from the optimal solution when the resource of the physical server that is the target of the optimal solution satisfies the first limit condition, and the alternative solution is the optimal solution. If the optimal method is virtualization in units of individual resources, it may be virtualization in units of integrated resources. If the optimal method is virtualization in units of integrated resources, it may be virtualization in units of individual resources.

또한, 상기 최적방안에 대한 서비스 비용을 산출하는 비용산출모듈; 및 이용자의 컴퓨팅 장치에 제공되는 인터페이스를 산출하는 인터페이스모듈;을 더 포함하고, 상기 비용산출모듈은, 상기 대체방안에 대한 서비스 할인가격과 상기 최적방안에 대한 서비스 정상가격을 산출하며, 상기 인터페이스모듈은, 상기 비용산출모듈에서 산출된 가격과 상기 대체방안과 상기 최적방안을 선택할 수 있는 인터페이스를 산출할 수 있다. In addition, a cost calculation module that calculates the service cost for the optimal method; and an interface module that calculates an interface provided to the user's computing device, wherein the cost calculation module calculates a service discount price for the alternative method and a normal service price for the optimal method, and the interface module It is possible to calculate the price calculated in the cost calculation module and an interface for selecting the alternative plan and the optimal plan.

본 발명의 일 실시예에 따른 가상화 서비스 제공 방법은, 가상화 서비스 제공 시스템에 의해 구현되며, 이용자의 컴퓨팅 장치에게 클라우드 서비스를 제공하기 위한, 가상화 서비스 제공 방법에 있어서, 송수신모듈에 의해, 이용자의 컴퓨팅 장치로부터 클라우드 서비스에 대한 요청정보가 수신하는 단계; 및 제어모듈에 의해, 상기 요청정보를 기초로 물리서버의 적어도 일부 리소스가 가상화되는 단계;를 포함하고, 상기 직접 요청정보는, 필요한 리소스를 지정한 이용자의 요청에 대한 정보로서, 개별 리소스의 클라우드 서비스 제공 요청을 포함하고, 상기 제어모듈은, 상기 직접 요청정보에 따라 상기 직접 요청정보에 대응되는 개별 리소스만을 가상화할 수 있다. A virtualization service provision method according to an embodiment of the present invention is implemented by a virtualization service provision system, and in the virtualization service provision method for providing a cloud service to a user's computing device, the user's computing device is implemented by a transmission/reception module. Receiving request information for a cloud service from a device; and virtualizing, by a control module, at least some resources of the physical server based on the request information, wherein the direct request information is information about a request from a user who has specified a necessary resource, and is a cloud service of an individual resource. It includes a provision request, and the control module can virtualize only individual resources corresponding to the direct request information according to the direct request information.

또한, 상기 최적분석모듈에 의해, 이용자의 컴퓨팅 장치로부터 전달받은 동작정보를 기초로 미리 정해진 최적할당 방법으로 이용자에게 필요한 리소스 할당 방안인 최적방안이 산출되는 단계;를 더 포함하고, 상기 미리 정해진 최적할당 방법은, 목적함수가 최소화되도록 상기 동작정보를 분석하며, 상기 목적함수는, 이용자의 서비스 비용과 관련된 제1 목적함수를 포함할 수 있다. In addition, it further includes calculating, by the optimal analysis module, an optimal plan, which is a resource allocation plan necessary for the user, using a predetermined optimal allocation method based on operation information received from the user's computing device, The allocation method analyzes the operation information to minimize the objective function, and the objective function may include a first objective function related to the user's service cost.

본 발명에 따른 리소스의 개별적 가상화를 구현한 가상화 서비스 제공 시스템 및 가상화 서비스 제공 방법은 이용자의 선택의 폭을 넓힐 수 있다. The virtualization service provision system and virtualization service provision method implementing individual virtualization of resources according to the present invention can expand the range of choices for users.

또한, 물리서버의 자원을 효율적으로 활용할 수 있다. Additionally, the resources of the physical server can be utilized efficiently.

또한, 클라우드 서비스 시장을 더욱 대중화할 수 있다. Additionally, it can further popularize the cloud service market.

대화할 수 있다.You can talk.

다만, 본 발명의 효과가 상술한 효과들로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.However, the effects of the present invention are not limited to the effects described above, and effects not mentioned can be clearly understood by those skilled in the art from this specification and the attached drawings.

도 1은 본 발명의 일 실시예에 따른 가상화 서비스 제공 시스템의 관계도
도 2는 본 발명의 일 실시예에 따른 가상화 서비스 제공 시스템의 구성도
도 3은 본 발명의 일 실시예에 따른 가상화 서비스 제공 시스템의 구성 관계도
도 4는 본 발명의 일 실시예에 따른 가상화 서비스 제공 방법의 순서도
1 is a relationship diagram of a virtualization service provision system according to an embodiment of the present invention.
Figure 2 is a configuration diagram of a virtualization service provision system according to an embodiment of the present invention.
Figure 3 is a configuration relationship diagram of a virtualization service provision system according to an embodiment of the present invention.
Figure 4 is a flowchart of a method for providing virtualization services according to an embodiment of the present invention.

이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 다만, 본 발명의 사상은 제시되는 실시예에 제한되지 아니하고, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서 다른 구성요소를 추가, 변경, 삭제 등을 통하여, 퇴보적인 다른 발명이나 본 발명 사상의 범위 내에 포함되는 다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본원 발명 사상 범위 내에 포함된다고 할 것이다.Hereinafter, specific embodiments of the present invention will be described in detail with reference to the drawings. However, the spirit of the present invention is not limited to the presented embodiments, and those skilled in the art who understand the spirit of the present invention may add, change, or delete other components within the scope of the same spirit, or create other degenerative inventions or this invention. Other embodiments that are included within the scope of the invention can be easily proposed, but this will also be said to be included within the scope of the invention of the present application.

또한, 각 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성요소는 동일한 참조부호를 사용하여 설명한다.In addition, components having the same function within the scope of the same idea shown in the drawings of each embodiment will be described using the same reference numerals.

도 1은 본 발명의 일 실시예에 따른 가상화 서비스 제공 시스템의 관계도이다. 1 is a relationship diagram of a virtualization service provision system according to an embodiment of the present invention.

도 1을 참조하면, 가상화 서비스 제공 시스템은 가상머신을 이용하여 이용자에게 클라우드 서비스를 원활하게 제공할 수 있도록 물리서버를 운영, 보수, 관리하고, 이용자에게 필요한 정보를 수집하고 송신할 수 있다. Referring to FIG. 1, the virtualization service provision system operates, maintains, and manages physical servers to smoothly provide cloud services to users using virtual machines, and can collect and transmit necessary information to users.

이를 위해서, 가상화 서비스 제공 시스템은 물리서버(200) 및/또는 이용자 컴퓨팅 장치(300)와 유/무선 네트워크로 연결될 수 있다. To this end, the virtualization service provision system may be connected to the physical server 200 and/or the user computing device 300 through a wired/wireless network.

본 발명에서의 네트워크라 함은 유선 공중망, 무선 이동 통신망, 또는 휴대 인터넷 등과 통합된 코어 망일 수도 있고, TCP/IP 프로토콜 및 그 상위 계층에 존재하는 여러 서비스, 즉 HTTP(Hyper Text Transfer Protocol), HTTPS(Hyper Text Transfer Protocol Secure), Telnet, FTP(File Transfer Protocol), DNS(Domain Name System), SMTP(Simple Mail Transfer Protocol) 등을 제공하는 전 세계적인 개방형 컴퓨터 네트워크 구조를 의미할 수 있으며, 이러한 예에 한정하지 않고 다양한 형태로 데이터를 송수신할 수 있는 데이터 통신망을 포괄적으로 의미하는 것이다.The network in the present invention may be a core network integrated with a wired public network, wireless mobile communication network, or mobile Internet, etc., and may include TCP/IP protocols and various services existing at the upper layer thereof, such as HTTP (Hyper Text Transfer Protocol) and HTTPS. (Hyper Text Transfer Protocol Secure), Telnet, FTP (File Transfer Protocol), DNS (Domain Name System), SMTP (Simple Mail Transfer Protocol), etc., which may refer to a worldwide open computer network structure, examples of which include It comprehensively refers to a data communication network that can transmit and receive data in various forms without limitation.

본 발명에서의 물리서버는 서버의 서버 환경을 수행하기 위한 다른 구성들이 포함될 수도 있다. 서버는 임의의 형태의 장치는 모두 포함할 수 있다. The physical server in the present invention may include other components to perform the server environment. A server can include any type of device.

일례로, 서버는 디지털 기기로서, 랩탑 컴퓨터, 노트북 컴퓨터, 데스크톱 컴퓨터, 웹 패드, 이동 전화기와 같이 프로세서를 탑재하고 메모리를 구비한 연산 능력을 갖춘 디지털 기기일 수 있다. For example, a server may be a digital device, such as a laptop computer, notebook computer, desktop computer, web pad, or mobile phone, equipped with a processor and equipped with memory and computing power.

일례로, 서버는 웹 서버일 수 있다. 다만, 이에 한정하지 않고, 서버의 종류는 통상의 기술자에게 자명한 수준에서 다양하게 변경 가능하다.In one example, the server may be a web server. However, it is not limited to this, and the type of server can be changed in various ways at a level that is obvious to a person skilled in the art.

도 2는 본 발명의 일 실시예에 따른 가상화 서비스 제공 시스템의 구성도이고, 도 3은 본 발명의 일 실시예에 따른 가상화 서비스 제공 시스템의 구성 관계도이다. FIG. 2 is a configuration diagram of a virtualization service provision system according to an embodiment of the present invention, and FIG. 3 is a configuration diagram of a virtualization service provision system according to an embodiment of the present invention.

도 2 및 도 3을 참조하면, 본 발명의 일 실시예에 따른 가상화 서비스 제공 시스템(100)은, 이용자의 컴퓨팅 장치와 통신하여 이용자의 컴퓨팅 장치에 클라우드 서비스를 제공하기 위한 가상화 서비스 제공 시스템(100)에 있어서, 이용자의 컴퓨팅 장치로부터 클라우드 서비스에 대한 요청정보를 수신하는 송수신모듈(110) 및 상기 요청정보를 기초로 물리서버(200)의 적어도 일부 리소스를 가상화하는 제어모듈(120)을 포함할 수 있다. Referring to Figures 2 and 3, the virtualization service provision system 100 according to an embodiment of the present invention is a virtualization service provision system 100 for providing a cloud service to the user's computing device by communicating with the user's computing device. ), which may include a transmission/reception module 110 that receives request information for a cloud service from the user's computing device, and a control module 120 that virtualizes at least some resources of the physical server 200 based on the request information. You can.

또한, 상기 가상화 서비스 제공 시스템(100)은 상기 송수신모듈(110)이 이용자의 컴퓨팅 장치로부터 전달받은 동작정보를 기초로 미리 정해진 최적할당 방법으로 이용자에게 필요한 리소스 할당 방안인 최적방안을 산출하는 최적분석모듈(130), 상기 최적방안에 대한 서비스 비용을 산출하는 비용산출모듈(140) 및 이용자의 컴퓨팅 장치에 제공되는 인터페이스를 산출하는 인터페이스모듈(150)을 더 포함할 수 있다. In addition, the virtualization service providing system 100 performs an optimal analysis in which the transmission/reception module 110 calculates an optimal plan, which is a resource allocation plan necessary for the user, using a predetermined optimal allocation method based on operation information received from the user's computing device. It may further include a module 130, a cost calculation module 140 that calculates the service cost for the optimal method, and an interface module 150 that calculates an interface provided to the user's computing device.

또한, 상기 가상화 서비스 제공 시스템(100)은 상기 최적방안을 산출하는 할당분석모델을 생성하는 모델생성모듈(160), 이용자의 악의성을 판단하는 유저분석모듈(170) 및 가상화 서비스 제공 방법이 구현되는데 필요한 모든 정보를 저장하는 저장모듈(180)을 더 포함할 수 있다. In addition, the virtualization service provision system 100 implements a model creation module 160 that generates an allocation analysis model for calculating the optimal solution, a user analysis module 170 that determines the user's maliciousness, and a virtualization service provision method. It may further include a storage module 180 that stores all necessary information.

송수신모듈(110)은 가상화 서비스 제공 방법이 구현되는데 필요한 정보를 이용자의 컴퓨팅 장치, 물리서버(200)와 송수신할 수 있다. The transmitting and receiving module 110 can transmit and receive information necessary to implement a virtualization service provision method with the user's computing device and the physical server 200.

일례로, 송수신모듈(110)은 셀룰러 모듈, WiFi 모듈, 블루투스 모듈, GNSS 모듈, NFC 모듈, RF 모듈, 5G 모듈, LTE 모듈, NB-IOT 모듈 및/또는 LoRa 모듈을 포함할 수 있다.For example, the transmitting and receiving module 110 may include a cellular module, WiFi module, Bluetooth module, GNSS module, NFC module, RF module, 5G module, LTE module, NB-IOT module, and/or LoRa module.

다만, 이에 한정하지 않고, 통신 모듈이 포함하는 모듈은 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.However, it is not limited to this, and the modules included in the communication module can be modified in various ways at a level that is obvious to those skilled in the art.

송수신모듈(110)은 이용자의 컴퓨팅 장치로부터 요청정보 및/또는 동작정보를 수신할 수 있다. The transmission/reception module 110 may receive request information and/or operation information from the user's computing device.

요청정보는 요청자가 클라우드 서비스를 컴퓨팅 장치를 통해 요청할 때, 컴퓨팅 장치로부터 발생될 수 있다. Request information may be generated from a computing device when a requester requests a cloud service through the computing device.

이를 위해서, 송수신모듈(110)은 인터페이스모듈(150)에서 산출된 인터페이스를 요청자의 컴퓨팅 장치로 전송할 수 있다. To this end, the transmission/reception module 110 may transmit the interface calculated by the interface module 150 to the requester's computing device.

요청정보에는 직접 요청 방식인지 간접 요청 방식인지에 대한 정보, 직접 요청일 경우 희망하는 리소스 자원에 대한 정보, 간접 요청일 경우 사용목적에 대한 정보 등을 포함할 수 있다. Request information may include information about whether it is a direct or indirect request method, information about the desired resource in the case of a direct request, and information about the purpose of use in the case of an indirect request.

직접 요청 방식은 요청자가 지원받고자 하는 리소스를 지정해서 요청하는 방식을 의미할 수 있다. The direct request method may refer to a method in which the requester specifies and requests the resource for which he or she wishes to receive support.

일례로, 직접 요청 방식을 통해 요청자는 보조기억장치의 10TB만 클라우드 서비스를 요청할 수 있다. For example, through the direct request method, the requester can request cloud services for only 10TB of auxiliary storage.

일례로, 직접 요청 방식을 통해 요청자는 주기억장치의 8GB만 클라우드 서비스를 요청할 수 있다. For example, through the direct request method, the requester can request cloud services for only 8GB of main memory.

리소스 자원에 대한 정보는 중앙처리장치(CPU)에 대한 상세정보, 그래픽처리장치(GPU)에 대한 상세정보, 주기억장치(RAM)에 대한 상세정보 및 보조기억장치(Storage)에 대한 상세정보 중 적어도 하나의 정보를 포함할 수 있다. Information on resources is at least one of detailed information on the central processing unit (CPU), detailed information on the graphics processing unit (GPU), detailed information on the main memory (RAM), and detailed information on the auxiliary storage device (Storage). Can contain one piece of information.

일례로, 중앙처리장치에 대한 상세정보일 경우, CPU의 코어수, CPU 메모리에 대한 구체적인 정보를 포함할 수 있다. For example, in the case of detailed information about the central processing unit, it may include specific information about the number of cores of the CPU and CPU memory.

일례로, 그래픽처리장치에 대한 상세정보일 경우, GPU속도, CPU메로리, CPU쿨링, CPU clock에 대한 구체적인 정보를 포함할 수 있다. For example, detailed information about the graphics processing unit may include specific information about GPU speed, CPU memory, CPU cooling, and CPU clock.

일례로, 보조기억장치에 대한 상세정보일 경우, Storage의 종류 및 Storage의 크기에 대한 구체적인 정보를 포함할 수 있다. For example, detailed information about an auxiliary storage device may include specific information about the type of storage and the size of the storage.

일례로, 주기억장치에 대한 상세정보일 경우, RAM 용량에 대한 구체적인 정보를 포함할 수 있다. For example, in the case of detailed information about the main memory, specific information about RAM capacity may be included.

간접 요청 방식은 요청자가 희망하는 컴퓨터 기능이 구현될 수 있도록 클라우드 서비스를 요청하는 방식을 의미할 수 있다.The indirect request method may refer to a method of requesting a cloud service so that the computer function desired by the requester can be implemented.

일례로, 간접 요청 방식을 통해 요청자는 동영상 편집 업무를 원활하게 할 수 있도록 이용자의 컴퓨팅 장치를 보완하는 클라우드 서비스를 요청할 수 있다. For example, through an indirect request method, a requester can request a cloud service that complements the user's computing device to facilitate video editing tasks.

문서 활동, 동영상 편집 활동, 포토샵 활동, 게임 활동 등의 활동 리스트들이 요청자의 컴퓨팅 장치에 표시될 수 있고, 요청자는 하나의 활동을 선택할 수 있다. A list of activities, such as document activity, video editing activity, Photoshop activity, game activity, etc., may be displayed on the requester's computing device, and the requestor may select one activity.

일례로, 간접 요청 방식을 통해 요청자는 현재 자신의 컴퓨팅 장치의 로그/메타데이터를 분석하여, 컴퓨팅 장치가 장애없이 동작될 수 있도록 이용자의 컴퓨팅 장치를 보완하는 클라우드 서비스를 요청할 수 있다. For example, through the indirect request method, the requester can analyze the log/metadata of the current computing device and request a cloud service that complements the user's computing device so that the computing device can operate without failure.

동작정보는 간접 요청 방식에 따라 이용자의 컴퓨팅 장치를 분석하기 위해 필요한 정보일 수 있다. Operation information may be information needed to analyze the user's computing device according to an indirect request method.

동작정보는 이용자의 컴퓨팅 장치에서 발생되는 모든 로그 데이터와 메트릭 데이터를 포함할 수 있다. Operational information may include all log data and metric data generated from the user's computing device.

또한, 동작정보는 이용자의 컴퓨팅 장치에 설치된 OS종류, 응용소프트웨어의 종류, 컴퓨팅 장치의 사양, 컴퓨팅 장치를 이루는 하드웨어 제품의 종류 및 사양에 대한 모든 정보들도 포함할 수 있다. Additionally, the operation information may include all information about the type of OS installed on the user's computing device, the type of application software, the specifications of the computing device, and the types and specifications of the hardware products that make up the computing device.

송수신모듈(110)은 물리서버(200)로부터 물리서버(200)가 가동되면서 발생되는 정보 및 물리서버(200)의 리소스 정보를 포함하는 가동정보를 수신할 수 있다. The transmission/reception module 110 may receive operation information including information generated as the physical server 200 operates and resource information of the physical server 200 from the physical server 200.

가동정보는 물리서버(200)에서 가동되는 가상머신들의 종류와 크기에 대한 정보를 포함할 수 있다. The operation information may include information about the types and sizes of virtual machines running on the physical server 200.

저장모듈(180)에는 물리서버(200)가 제공할 수 있는 전체 리소스에 대한 정보가 저장되어 있으며, 이러한 정보는 추후 최적분석모듈(130)로 전달될 수 있다. The storage module 180 stores information on all resources that the physical server 200 can provide, and this information can be transmitted to the optimal analysis module 130 at a later date.

최적분석모듈(130)은 물리서버(200)로부터 가동정보를 전달받음으로써, 물리서버(200)에서 클라우드 서비스로 제공할 수 있는 가용 리소스를 산출할 수 있다. By receiving operation information from the physical server 200, the optimal analysis module 130 can calculate available resources that the physical server 200 can provide as a cloud service.

모델생성모듈(160)은 이용자의 요청에 따라 최적방안을 산출할 수 있는 모델인 할당모델을 산출할 수 있다. The model creation module 160 can calculate an allocation model, which is a model that can calculate the optimal solution according to the user's request.

모델생성모듈(160)은 기계학습 및/또는 딥러닝을 이용하여 할당모델을 산출할 수 있다. The model generation module 160 can calculate an allocation model using machine learning and/or deep learning.

여기서, 딥러닝은 출력 레이어의 레이블 된 데이터(labeled data)를 이용하여 신경망의 가중치(weight)를 업데이트하는 알고리즘인 백 프로파게이션(Back Propagation) 알고리즘을 이용한 것일 수 있으나, 이에 한정하는 것은 아니다.Here, deep learning may use the Back Propagation algorithm, which is an algorithm that updates the weights of the neural network using labeled data of the output layer, but is not limited to this.

또한, 심층 신경망 및 백 프로파게이션(Back Progation) 알고리즘은 종래에 공지된 바와 같으므로, 이에 대한 구체적인 설명은 생략될 수 있다In addition, since the deep neural network and back propagation algorithm are known in the art, detailed description thereof may be omitted.

구체적인 일례로서, 모델생성모듈(160)은 외부 서버로부터 이용자 컴퓨팅 장치(300)의 사양과 로그/메트릭 데이터, 이용자의 컴퓨팅 활용 상황에 대한 정보와 클라우드 서비스 제공/신청 내역에 대한 정보를 기반으로 기계학습/딥러닝하여 할당모델을 생성할 수 있다. As a specific example, the model creation module 160 generates a machine based on the specifications of the user computing device 300, log/metric data, information on the user's computing usage status, and information on cloud service provision/application history from an external server. You can create an allocation model through learning/deep learning.

기계학습 및/또는 딥러닝의 구체적인 방법은 공지된 기술을 활용하는 것으로서, 이에 대한 자세한 설명은 생략될 수 있다. Specific methods of machine learning and/or deep learning utilize known technologies, and detailed descriptions thereof may be omitted.

할당모델은 목적함수가 최소화되는 방안을 최적방안으로 산출할 수 있다. The allocation model can calculate the method that minimizes the objective function as the optimal method.

목적함수는 이용자의 서비스 비용과 관련된 제1 목적함수 및 클라우드 서비스의 프로세스 지연율과 관련된 제2 목적함수를 구비할 수 있다. The objective function may include a first objective function related to the user's service cost and a second objective function related to the process delay rate of the cloud service.

제공되는 리소스의 숫자와 양이 많아질수록 서비스 비용이 올라갈 수 있다. As the number and amount of resources provided increases, service costs may rise.

반대로, 제공되는 리소스의 숫자와 양이 작아질수록 서비스 비용이 올라갈 수 있다. Conversely, as the number and amount of resources provided decrease, service costs may increase.

리소스의 종류와 형태에 따라 프로세스 지연율이 변경될 수 있다. The process delay rate may change depending on the type and type of resource.

할당모델은 입력되는 제약조건에 기초하여 최적방안을 산출할 수 있다. The allocation model can calculate the optimal solution based on the input constraints.

일례로, 제약조건은 할당되지 말아야 하는 리소스 종류, 리소스의 크기 등을 포함할 수 있다. For example, constraints may include the type of resource that should not be allocated, the size of the resource, etc.

최적분석모듈(130)은 할당모델을 이용하여 간접 요청 방식의 경우에 최적방안을 산출할 수 있다. The optimal analysis module 130 can calculate the optimal solution in the case of an indirect request method using an allocation model.

최적방안은 일차적으로 개별 리소스를 가상화하는 방식인지, 통합 리소스를 가상화하는 방식인지에 대한 방안을 포함할 수 있다. The optimal method may include a method of primarily virtualizing individual resources or virtualizing integrated resources.

만일 개별 리소스를 가상화하는 방식일 경우, 최적방안은 중앙처리장치, 그래픽처리장치, 주기억장치, 보조기억장치 중 적어도 하나에 대해서 어떠한 구체적인 상세정보를 가지도록 가상화하는 방안인지를 의미할 수 있다. In the case of a method of virtualizing individual resources, the optimal method may refer to a method of virtualizing at least one of the central processing unit, graphics processing unit, main memory, and auxiliary memory to have specific detailed information.

일례로, 최적방안은 보조기억장치를 40TB 크기로 가상화하여 클라우드 서비스를 제공하는 것일 수 있다. For example, the optimal solution may be to virtualize the auxiliary storage device to a size of 40TB and provide a cloud service.

일례로, 최적방안은 주기업장치를 8GB, 보조기억장치를 20TB 각각 가상화하여 클라우드 서비스를 제공하는 것일 수 있다.For example, the optimal solution may be to provide a cloud service by virtualizing 8GB of the main storage device and 20TB of auxiliary storage.

만일, 통합 리소스를 가상화하는 방식일 경우, 최적방안은 중앙처리장치, 그래픽처리장치, 주기억장치 및 보조기억장치가 하나의 가상머신에 포함되게 가상화되는 방식일 수 있다. If the method is to virtualize integrated resources, the optimal method may be to virtualize the central processing unit, graphics processing unit, main memory, and auxiliary memory into one virtual machine.

개별적으로 가상화되는 리소스의 숫자가 작아질수록 통합되게 가상화되는 리소스보다 클라우드 서비스 비용이 줄어들고, 프로세스 지연율이 줄어들 수 있다. As the number of individually virtualized resources decreases, cloud service costs can decrease and process delay rates can decrease compared to integrated virtualized resources.

다만, 개별적으로 가상화되는 리소스의 숫자가 많아질수록 통합되게 가상화되는 리소스보다 서비스 비용이 높아지고, 프로세스 지연율이 증가할 수 있다. However, as the number of individually virtualized resources increases, service costs may increase and process delay rates may increase compared to resources that are integratedly virtualized.

구체적인 일례로서, 한 종류의 리소스만 가상화되는 것과 한 종류의 리소스를 포함하여 모든 종류의 리소스가 가상화되는 것을 서로 비교한다면, 한 종류의 리소스만 가상화되는 경우가 비용과 프로세스 지연율이 낮을 수 있다. As a specific example, if only one type of resource is virtualized and all types of resources including one type of resource are virtualized, the cost and process delay rate may be lower when only one type of resource is virtualized.

이와 달리, 모든 종류의 리소스가 각각 가상화되는 것과 모든 종류의 리소스가 통합하여 가상화되는 것을 서로 비교한다면, 모든 종류 리소스가 각각 가상화되는 경우가 서비스 비용과 프로세스 지연율이 높을 수 있다. On the other hand, if all types of resources are individually virtualized and all types of resources are virtualized in an integrated manner, the service cost and process delay rate may be high in the case where all types of resources are individually virtualized.

따라서, 최적분석모듈(130)은 동작정보와 요청정보를 할당모델에 입력하여, 목적함수가 최소화되는 경우의 방안인 최적방안을 산출할 수 있다. Accordingly, the optimal analysis module 130 can input the operation information and request information into the allocation model and calculate the optimal method, which is a method when the objective function is minimized.

미리 정해진 최적할당 방법은 목적함수가 최소화되도록 상기 동작정보를 분석하는 방법일 수 있다. The predetermined optimal allocation method may be a method of analyzing the motion information so that the objective function is minimized.

미리 정해진 최적할당 방법은 개별 리소스 단위로 가상화를 진행할지, 통합 리소스 단위로 가상화를 진행할지 여부도 함께 고려하여 상기 최적방안을 산출하는 방법일 수 있다.The predetermined optimal allocation method may be a method of calculating the optimal method by also considering whether to proceed with virtualization in individual resource units or integrated resource units.

최적분석모듈(130)은 제약조건을 산출하여, 제약조건을 할당모델에 입력할 수 있다. The optimal analysis module 130 can calculate constraints and input the constraints into the allocation model.

최적분석모듈(130)은 이용자의 컴퓨팅 장치와 호환되지 않는 리소스는 배제하여 상기 최적방안을 산출할 수 있다. The optimal analysis module 130 can calculate the optimal solution by excluding resources that are not compatible with the user's computing device.

최적분석모듈(130)은 이용자의 컴퓨팅 장치와 호환되지 않는 리소스를 제약조건을 설정하여 할당모델에 입력할 수 있다. The optimal analysis module 130 can set constraints for resources that are incompatible with the user's computing device and input them into the allocation model.

일례로, 최적분석모듈(130)은 파일 시스템의 종류로 인해, 이용자의 컴퓨팅 장치에 설치된 OS와 호환되지 않는 파일시스템을 제공하는 스토리지 종류의 리소스는 배제하는 제약조건을 설정하여 할당모델에 입력할 수 있다. For example, the optimal analysis module 130 sets constraints that exclude resources of a storage type that provides a file system that is incompatible with the OS installed on the user's computing device due to the type of file system and inputs it into the allocation model. You can.

최적분석모듈(130)은 상기 최적방안의 대상이 되는 물리서버(200)의 리소스가 제1 한계조건이 만족되는 경우, 상기 최적방안과 다른 방안인 대체방안을 산출할 수 있다. When the resources of the physical server 200, which is the target of the optimal solution, satisfy the first limit condition, the optimal analysis module 130 can calculate an alternative plan that is different from the optimal solution.

제1 한계조건은 최적방안으로 제시된 물리서버(200)의 리소스 종류가 최적방안과 동일한 가상화 방식을 하도록 허가된 물리서버(200)에서 소정 기준인 제1 기준 이하로 가용 가능할 조건일 수 있다. The first limit condition may be a condition in which the resource type of the physical server 200 presented as the optimal plan is available at a level below the first standard, which is a predetermined standard, in the physical server 200 permitted to use the same virtualization method as the optimal plan.

구체적인 일례로, 최적방안이 10TB 스토리지 리소스만을 제공하는 방안일 경우, 개별 리소스 가상화만이 가능하도록 허가된 물리서버(200) 내의 스토리지 리소스의 가용 리소스가 1000TB 이하일 경우, 제1 한계조건이 만족될 수 있다. As a specific example, if the optimal solution is to provide only 10TB storage resources, the first limit condition can be satisfied if the available storage resources in the physical server 200, which is permitted to only virtualize individual resources, are 1000TB or less. there is.

제1 기준은 리소스의 종류, 물리서버(200)의 사양 및 개수에 따라서 다양하게 변형 가능할 수 있다. The first standard may be modified in various ways depending on the type of resource and the specifications and number of physical servers 200.

일례로, 중앙처리장치에 대한 제1 기준, 그래픽처리장치에 대한 제1 기준, 주기억장치에 대한 제1 기준 및 보조기억장치에 대한 제1 기준은 모두 상이할 수 있다. For example, the first standard for the central processing unit, the first standard for the graphics processing unit, the first standard for the main memory, and the first standard for the auxiliary memory may all be different.

최적분석모듈(130)은 제1 한계조건이 만족되는지 여부를 판단할 수 있다. The optimal analysis module 130 can determine whether the first limit condition is satisfied.

대체방안은 상기 최적방안이 개별 리소스 단위로 가상화되는 방안이라면, 통합 리소스 단위로 가상화하는 방안일 수 있다. An alternative method may be a method of virtualizing an integrated resource if the above optimal method is a method of virtualizing an individual resource unit.

또한, 상기 대체방안은 상기 최적방안이 통합 리소스 단위로 가상화되는 방안이라면, 개별 리소스 단위로 가상화하는 방안일 수 있다. In addition, the alternative method may be a method of virtualizing individual resources, if the optimal method is a method of virtualization in units of integrated resources.

제어모듈(120)에 의해 물리서버(200)는 리소스를 개별적으로 가상화하는 물리서버(200)(이하, 제1 물리서버(200)라고 칭함)와 리소스를 통합적으로 가상화하는 물리서버(200)(이하, 제2 물리서버(200)라고 칭함)로 구분하여 가상화하고 관리될 수 있다. By the control module 120, the physical server 200 is divided into a physical server 200 that individually virtualizes resources (hereinafter referred to as the first physical server 200) and a physical server 200 that virtualizes resources integratedly ( Hereinafter, it can be virtualized and managed by dividing it into a second physical server (hereinafter referred to as the second physical server 200).

즉, 제어모듈(120)은 일부의 물리서버(200)에서는 물리서버(200)의 개별 리소스 단위로 가상화를 진행하고, 나머지 물리서버(200)에서는 물리서버(200)의 전체 리소스 단위로 가상화를 진행할 수 있다.That is, the control module 120 performs virtualization in units of individual resources of the physical server 200 in some of the physical servers 200, and virtualization in units of the entire resource of the physical server 200 in the remaining physical servers 200. You can proceed.

이는, 물리서버(200)의 자원 효율성을 증대시키기 위함일 수 있다. This may be to increase the resource efficiency of the physical server 200.

다만, 이와 같은 분할 제어 방식은 한가지 방식으로 요청이 집중될 경우, 클라우드 서비스의 불량을 초래할 위험을 가지고 있다. However, this split control method has the risk of causing a defect in the cloud service if requests are concentrated in one method.

이를 위해, 제1 한계조건을 판단하고 대체방안을 산출하는 프로세스를 병행하는 것이 바람직할 수 있다. To this end, it may be desirable to carry out the process of determining the first limit condition and calculating an alternative solution in parallel.

전체 리소스 단위란 하나의 컴퓨팅 장치를 구성하는 기본 단위를 의미하는 것으로서, 기본적으로 CPU, GPU, RAM, STORAGE를 포함하는 구성일 수 있다. The overall resource unit refers to the basic unit that constitutes one computing device, and may basically include CPU, GPU, RAM, and STORAGE.

개별 리소스 단위란 하나의 컴퓨팅 장치를 이루는 세부 단위를 의미하는 것으로서, CPU, GPU, RAM, STORAGE 각각의 단위를 의미할 수 있다. An individual resource unit refers to a detailed unit that makes up one computing device and can refer to each unit of CPU, GPU, RAM, and STORAGE.

제어모듈은 요청정보를 기초로 물리서버의 적어도 일부 리소스를 가상화할 수 있다. 여기서, 적어도 일부 리소스를 가상화한다는 개념은 전체 리소스 단위 및 개별 리소스 단위를 모두 포함할 수 있다. The control module may virtualize at least some resources of the physical server based on request information. Here, the concept of virtualizing at least some resources may include both entire resource units and individual resource units.

최적분석모듈(130)은 제2 한계조건이 만족되는지 여부를 판단할 수 있다. The optimal analysis module 130 can determine whether the second limit condition is satisfied.

제2 한계조건은 최적방안으로 제시된 물리서버(200)의 리소스 종류가 최적방안과 동일한 가상화 방식을 하도록 허가된 물리서버(200)에서 소정 기준인 제2 기준 이하로 가용 가능할 조건일 수 있다. The second limit condition may be a condition in which the resource type of the physical server 200 presented as the optimal method is available at a level below the second standard, which is a predetermined standard, in the physical server 200 permitted to use the same virtualization method as the optimal method.

제2 기준은 리소스의 종류, 물리서버(200)의 사양 및 개수에 따라서 다양하게 변형 가능할 수 있다.The second standard may be modified in various ways depending on the type of resource and the specifications and number of physical servers 200.

일례로, 제2 기준은 제1 기준보다 더 낮을 수 있다. In one example, the second criterion may be lower than the first criterion.

제2 한계조건이 만족되는지에 따라 비용산출모듈(140)의 프로세스와 인터페이스모듈(150)의 프로세스가 달라질 수 있다. The process of the cost calculation module 140 and the process of the interface module 150 may vary depending on whether the second limit condition is satisfied.

제어모듈(120)은 직접 요청 방식일 경우 직접 요청한 리소스에 대해서 물리서버(200)를 가상화하고, 간접 요청 방식일 경우 최적방안 혹은 대체방안과 같이 리소스에 대해서 물리서버(200)를 가상화할 수 있다. In the case of a direct request method, the control module 120 virtualizes the physical server 200 for directly requested resources, and in the case of an indirect request method, the control module 120 can virtualize the physical server 200 for resources such as an optimal method or an alternative method. .

이용자 컴퓨팅 장치(300)는 물리서버(200)에 직접적으로 접속하거나, 송수신모듈(110)을 통해 물리서버(200)에 연결되어 가상화된 리소스를 사용할 수 있다. The user computing device 300 can connect directly to the physical server 200 or connect to the physical server 200 through the transmission/reception module 110 to use virtualized resources.

제어모듈(120)은 제1 물리서버(200)와 제2 물리서버(200)를 구분해서 물리서버(200)를 관리하고 가상화할 수 있다. The control module 120 can manage and virtualize the physical server 200 by distinguishing between the first physical server 200 and the second physical server 200.

제어모듈(120)은 제1 물리서버(200)에 대해서 반가상화 방식으로 리소스를 개별적으로 가상화할 수 있다. The control module 120 can individually virtualize resources for the first physical server 200 in a paravirtual method.

제어모듈(120)은 제2 물리서버(200)에 대해서 전가상화 및/또는 반가상화 방식으로 리소스를 가상화할 수 있다. The control module 120 may virtualize resources for the second physical server 200 using full-virtualization and/or para-virtualization.

다만, 이에 한정하지 않고, 제어모듈(120)이 가상화하는 방식은 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.However, it is not limited to this, and the virtualization method of the control module 120 can be modified in various ways at a level that is obvious to those skilled in the art.

제어모듈(120)은 미리 정해진 방법에 따라 물리서버(200)의 리소스를 할당하여 상기 요청정보에 따라 물리서버(200)의 리소스를 가상화할 수 있다. The control module 120 can allocate resources of the physical server 200 according to a predetermined method and virtualize the resources of the physical server 200 according to the request information.

미리 정해진 방법은 이용자가 클라우드 서비스를 일정 리소스 이상 요청한다면, 그리디 알고리즘을 활용하여 물리서버(200)의 리소스를 할당하는 방법일 수 있다. A predetermined method may be a method of allocating resources of the physical server 200 using a greedy algorithm if the user requests a cloud service exceeding a certain amount of resources.

또한, 미리 정해진 방법은 이용자가 클라우드 서비스를 일정 리소스 미만 요청한다면, 옵티멀 알고리즘을 활용하여 물리서버(200)의 리소스를 할당하는 방법일 수 있다. Additionally, the predetermined method may be a method of allocating resources of the physical server 200 using an optimal algorithm if the user requests less than a certain amount of cloud service resources.

그리디 알고리즘은 물리서버(200)의 전체 리소스 효율성을 고려한 리소스 할당 알고리즘으로서, 물리서버(200)의 리소스 할당 시간이 길지만 물리서버(200)의 리소스 할당 효율성을 높이는 알고리즘일 수 있다. The greedy algorithm is a resource allocation algorithm that considers the overall resource efficiency of the physical server 200. Although the resource allocation time of the physical server 200 is long, it may be an algorithm that increases the resource allocation efficiency of the physical server 200.

옵티멀 알고리즘은 요청 순서에 따라서 최선의 선택을 리소스 할당 알고리즘으로서, 물리서버(200)의 리소스 할당 시간이 짧지만 물리서버(200)의 리소스 할당 효율성은 낮아지는 알고리즘일 수 있다. The optimal algorithm is a resource allocation algorithm that selects the best according to the order of requests, and may be an algorithm that reduces the resource allocation time of the physical server 200 but reduces the resource allocation efficiency of the physical server 200.

사용자의 요청이 직접 요청 방식일 경우, 제어모듈(120)은 요청정보를 기초로 미리 정해진 방법 중 어느 알고리즘을 활용하여 물리서버(200) 리소스를 할당해야 하는지 판단할 수 있다. If the user's request is a direct request, the control module 120 may determine which algorithm among predetermined methods should be used to allocate resources of the physical server 200 based on the request information.

이와 달리, 사용자의 요청이 간접 요청 방식일 경우, 제어모듈(120)은 최적방안과 대체방안을 기초로 미리 정해진 방법 중 어느 알고리즘을 활용하여 물리서버(200) 리소스를 할당해야 하는지 판단할 수 있다. On the other hand, when the user's request is an indirect request method, the control module 120 can determine which algorithm among predetermined methods should be used to allocate the physical server 200 resources based on the optimal method and the alternative method. .

요청정보는 개별 리소스의 클라우드 서비스 제공 요청을 포함할 수 있다. Request information may include a request to provide a cloud service for an individual resource.

제어모듈(120)은 상기 요청정보에 따라 상기 요청정보에 대응되는 개별 리소스만을 가상화할 수 있다.The control module 120 may virtualize only individual resources corresponding to the request information according to the request information.

비용산출모듈(140)은 요청자에게 클라우드 서비스를 제공할 방안에 대해서 클라우드 서비스 비용을 산출할 수 있다. The cost calculation module 140 can calculate the cloud service cost for how to provide the cloud service to the requester.

일례로, 비용산출모듈(140)은 최적방안에 대한 클라우드 서비스 비용을 산출할 수 있다. For example, the cost calculation module 140 can calculate the cloud service cost for the optimal method.

일례로, 비용산출모듈(140)은 대체방안에 대한 클라우드 서비스 비용을 산출할 수 있다. For example, the cost calculation module 140 can calculate the cloud service cost for an alternative method.

서비스 비용은 미리 정해진 산출 방식에 의하 산정될 수 있다. Service costs can be calculated according to a predetermined calculation method.

리소스를 많이 이용할수록 서비스 비용을 올라갈 것이며, 이에 대한 자세한 설명은 공지된 기술과 중복되는 한도에서 생략될 수 있다. The more resources are used, the higher the service cost, and detailed explanations may be omitted to the extent that they overlap with known technologies.

비용산출모듈(140)은 상기 대체방안에 대한 서비스 할인가격과 상기 최적방안에 대한 서비스 정상가격을 산출할 수 있다. The cost calculation module 140 can calculate the service discount price for the alternative method and the normal service price for the optimal method.

비용산출모듈(140)은 대체방안의 정상가격과 최적방안의 정상가격 사이에 가격을 대체방안의 할인가격으로 산출할 수 있다. The cost calculation module 140 can calculate the price between the normal price of the alternative method and the normal price of the optimal method as the discount price of the alternative method.

이를 통해, 이용자에게 대체방안을 선택하도록 유도할 수 있다. Through this, users can be encouraged to choose an alternative method.

대체방안은 최적방안보다 가격은 더 비싸지만 가상화되는 리소스의 자원이 더 클 수 있다. The alternative solution may be more expensive than the optimal solution, but the resources being virtualized may be larger.

더 큰 리소스를 할인된 가격으로 제공함으로써, 이용자가 대체방안을 선택하도록 유도할 수 있으며, 물리서버(200)의 과부화를 예방할 수 있다.By providing larger resources at a discounted price, users can be encouraged to choose an alternative method and overload of the physical server 200 can be prevented.

비용산출모듈(140)은 이용자의 악의도를 반영하여 대체방안의 할인율을 조정할 수 있다. The cost calculation module 140 can adjust the discount rate of the alternative method by reflecting the user's malicious intent.

일례로, 비용산출모듈(140)은 이용자의 악의도가 높아질수록 대체방안의 정상가격에서 인가되는 할인율을 점점 낮출 수 있다. For example, the cost calculation module 140 may gradually lower the discount rate granted from the normal price of the alternative method as the user's malicious intent increases.

반대로, 비용산출모듈(140)은 이용자의 악의도가 낮아질수록 대체방안의 정상가격에서 인가되는 할인율을 점점 높일 수 있다. Conversely, the cost calculation module 140 can gradually increase the discount rate granted from the normal price of the alternative method as the user's malicious intent decreases.

이는, 이용자가 현행 할인 프로세스를 악용하는 것을 방지하기 위함일 수 있다. This may be to prevent users from abusing the current discount process.

인터페이스모듈(150)은 이용자가 컴퓨팅 장치를 통해 요청정보를 입력할 수 있는 인터페이스를 산출할 수 있다. The interface module 150 can produce an interface through which a user can input request information through a computing device.

인터페이스모듈(150)은 이용자가 이용하고 있는 클라우드 서비스의 현황 등을 살펴볼 수 있는 인터페이스를 산출할 수 있다.The interface module 150 can produce an interface that allows the user to check the status of the cloud service being used.

인터페이스모듈(150)은 이용자가 추천되는 최적방안을 승낙하고 결재할 수 있는 인터페이스를 산출할 수 있다. The interface module 150 can calculate an interface through which the user can accept and make payment for the recommended optimal plan.

인터페이스모듈(150)은 이용자가 최적방안과 대체방안을 비교하고 선택하고 결재할 수 있는 인터페이스를 산출할 수 있다. The interface module 150 can calculate an interface that allows users to compare, select, and pay for the optimal plan and alternative plans.

인터페이스모듈(150)은 비용산출모듈(140)에서 산출된 가격과 상기 대체방안과 상기 최적방안을 선택할 수 있는 인터페이스를 산출할 수 있다. The interface module 150 can calculate the price calculated by the cost calculation module 140 and an interface for selecting the alternative plan and the optimal plan.

유저분석모듈(170)은 이용자의 컴퓨팅 장치 사용상태 정보를 분석하여 이용자의 악의도를 산출할 수 있다. The user analysis module 170 can analyze the user's computing device usage status information and calculate the user's malicious intent.

사용상태 정보는 컴퓨팅 장치의 시계열적인 워크로드 패턴 정보, 컴퓨팅장치의 운영체제 설치 변경 정보 및 컴퓨팅 장치의 응용프로그램 설치 리스트 정보를 포함할 수 있다. The usage status information may include time-series workload pattern information of the computing device, operating system installation change information of the computing device, and application program installation list information of the computing device.

유저분석모듈(170)은 이용자가 운영체제를 변경한 이력이 있다면 악의성을 높여서 악의도를 산출할 수 있다. The user analysis module 170 can calculate the degree of malicious intent by increasing the maliciousness if the user has a history of changing the operating system.

대부분의 컴퓨터 유저는 운영체제를 변경하지 않고 사용한다. 만일, 운영체제를 바꾼 이력이 있다면, 대체방안을 최적방안의 정상가격으로 서비스 받고 싶은 악의성이 있다고 추측하는 것이 바람직할 수 있다. Most computer users use the operating system without changing it. If there is a history of changing the operating system, it may be desirable to assume that there is malicious intent to receive service with an alternative solution at the normal price of the optimal solution.

유저분석모듈(170)은 이용자가 컴퓨팅 장치를 이용하지 않는 시간대에 클라우드 서비스를 신청한 것이라면 악의성을 높여서 악의도를 산출할 수 있다. The user analysis module 170 can calculate the malicious intent by increasing the malicious intent if the user applied for the cloud service during a time when the computing device is not used.

유저분석모듈(170)은 이용자 컴퓨팅 장치(300)의 동작정보들을 기초로 이용자가 컴퓨팅 장치를 이용하지 않는 시간대를 산출할 수 있다. 물리서버(200)가 과부화가 되는 시간대를 파악하고, 해당 시간대에 이용하지도 않는 컴퓨팅 클라우드 서비스를 신청한 것이라면 이는 악의도를 높게 판단하는 것이 바람직할 수 있다. The user analysis module 170 may calculate a time period when the user does not use the computing device based on the operation information of the user computing device 300. It may be desirable to determine the time zone when the physical server 200 is overloaded, and to judge the malicious intent as high if the application is for a computing cloud service that is not used during that time zone.

유저분석모듈(170)은 이용자의 응용프로그램 설치 리스트와 이용자가 요청한 사용목적의 일치성을 기초로 악의성을 판단할 수 있다. The user analysis module 170 can determine maliciousness based on the consistency of the user's application program installation list and the purpose of use requested by the user.

유저분석모듈(170)은 응용프로그램 설치 리스트와 사용목적이 일치할수록 악의성을 높게 판단할 수 있으며, 응용프로그램 설치 리스트와 사용목적이 일치하지 않을수록 악의성을 낮게 판단할 수 있다. The user analysis module 170 can determine maliciousness to be higher as the application program installation list and usage purpose match, and as the application program installation list and usage purpose do not match, maliciousness can be judged to be lower.

이용자가 설치되지도 않은 프로그램과 관련된 것을 컴퓨팅 장치를 통해 사용한다고 하는 경우 악의성을 높게 판단하는 것이 바람직할 수 있다. If a user uses a computing device to do something related to a program that is not installed, it may be desirable to judge the maliciousness as high.

유저분석모듈(170)은 악의도를 산출하는 악의도산출모델을 기계학습 및/또는딥러닝을 이용하여 산출할 수 있다. The user analysis module 170 can calculate a malicious intent calculation model that calculates malicious intent using machine learning and/or deep learning.

이를 위해, 이용자의 컴퓨터 사용상태 정보와 이에 대한 악의도를 평가한 수많은 데이터들을 기계학습 및/또는 딥러닝하여 악의도산출모델이 산출될 수 있으며, 이에 대한 자세한 설명은 공지된 기술 범위 내에서 생략될 수 있다. For this purpose, a malicious intent calculation model can be calculated through machine learning and/or deep learning on numerous data evaluating the user's computer usage status information and malicious intent, and a detailed description thereof is omitted within the scope of known technology. It can be.

저장모듈(180)은 가상화 서비스 제공 방법에 구현되는데 필요한 모든 정보들을 저장할 수 있다. The storage module 180 can store all information necessary to implement a virtualization service provision method.

일례로, 저장 모듈은 내장 메모리 및/또는 외장 메모리를 포함할 수 있다.In one example, the storage module may include internal memory and/or external memory.

일례로, 내장 메모리는 휘발성 메모리(예: DRAM, SRAM, 또는 SDRAM 등), 비휘발성 메모리(예: OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, 플래시 메모리, 하드 드라이브, 또는 솔리드 스테이트 드라이브 (SSD) 중 적어도 하나를 포함할 수 있다For example, internal memory may include volatile memory (e.g., DRAM, SRAM, or SDRAM), non-volatile memory (e.g., one time programmable ROM (OTPROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, flash memory, hard memory, etc. may include at least one of a drive, or solid state drive (SSD)

외장 메모리는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱 등을 포함할 수 있다.External memory may be a flash drive, such as compact flash (CF), secure digital (SD), Micro-SD, Mini-SD, extreme digital (xD), multi-media card (MMC), or memory stick. It may include etc.

상술한 각각의 모듈들은 서로 유/무선으로 통신 가능하게 연결되어, 필요한 정보들을 상호 교환할 수 있다. Each of the above-described modules is connected to each other to enable wired/wireless communication, so that necessary information can be exchanged with each other.

이하, 각 모듈들이 구현하는 가상화 서비스 제공 방법에 대해서 자세하게 서술하도록 한다.Hereinafter, the virtualization service provision method implemented by each module will be described in detail.

도 4는 본 발명의 일 실시예에 따른 가상화 서비스 제공 방법의 순서도이다. Figure 4 is a flowchart of a method for providing a virtualization service according to an embodiment of the present invention.

이하, 상술한 내용과 중복되는 한도에서 자세한 설명은 생략될 수 있다.Hereinafter, detailed description may be omitted to the extent that it overlaps with the above-described content.

도 4를 참조하면, 본 발명의 일 실시예에 따른 가상화 서비스 제공 방법은, 가상화 서비스 제공 시스템에 의해 구현되며, 이용자의 컴퓨팅 장치에게 클라우드 서비스를 제공하기 위한, 가상화 서비스 제공 방법에 있어서, 송수신모듈에 의해, 이용자의 컴퓨팅 장치로부터 클라우드 서비스에 대한 직접 요청정보 또는 간접 요청정보가 수신하는 단계 및 제어모듈에 의해, 상기 요청정보를 기초로 물리서버의 일부 리소스가 가상화되는 단계를 포함할 수 있다. Referring to FIG. 4, the virtualization service provision method according to an embodiment of the present invention is implemented by a virtualization service provision system, and in the virtualization service provision method for providing a cloud service to a user's computing device, a transmission and reception module It may include receiving direct request information or indirect request information for a cloud service from the user's computing device and virtualizing some resources of the physical server based on the request information by a control module.

또한, 상기 가상화 서비스 제공 방법은, 상기 최적분석모듈에 의해, 이용자의 컴퓨팅 장치로부터 전달받은 동작정보를 기초로 미리 정해진 최적할당 방법으로 이용자에게 필요한 리소스 할당 방안인 최적방안이 산출되는 단계를 더 포함할 수 있다.In addition, the virtualization service provision method further includes calculating an optimal plan, which is a resource allocation plan required for the user, by the optimal analysis module using a predetermined optimal allocation method based on operation information received from the user's computing device. can do.

이용자는 자신의 컴퓨팅 장치를 통해 클라우드 서비스를 요청할 수 있으며, 이에 대한 요청정보를 송수신모듈이 수신할 수 있다. Users can request cloud services through their computing devices, and the transmission/reception module can receive request information.

만일, 송수신모듈이 직접 요청정보를 수신할 경우, 비용산출모듈은 직접 요청정보에 따른 클라우드 서비스를 제공하는 비용을 산출하며, 인터페이스모듈은 산출된 비용과 함께 이용자에게 클라우드 서비스의 승낙을 요청하는 인터페이스를 산할 수 있다. If the sending/receiving module directly receives the request information, the cost calculation module directly calculates the cost of providing the cloud service according to the requested information, and the interface module is an interface that requests the user to consent to the cloud service along with the calculated cost. can be calculated.

다음으로, 이용자가 송수신모듈로부터 전달받은 인터페이스를 통해 서비스를 승낙하는 경우, 제어모듈은 요청받은 사항에 대해서 물리머신을 가상화하여 이용자에게 클라우드 서비스를 제공할 수 있다. Next, when the user accepts the service through the interface received from the transmission/reception module, the control module can virtualize the physical machine for the requested information and provide the cloud service to the user.

만일, 송수신모듈인 간접 요청정보를 수신하는 경우, 최적분석모듈은 요청정보와 동작정보를 이용하여 최적방안을 산출할 수 있다. If the transmission/reception module receives indirect request information, the optimal analysis module can calculate the optimal solution using the request information and operation information.

또한, 최적분석모듈은 가동정보와 최적방안을 기초로 제1 한계조건이 만족되는지 여부를 판단할 수 있다. Additionally, the optimization analysis module can determine whether the first limit condition is satisfied based on the operation information and the optimal solution.

만일, 제1 한계조건이 만족되지 않는다면, 비용산출모듈은 최적방안에 대해서 정상가격을 산출하고, 인터페이스모듈은 최적방안과 정상가격을 이용자에서 표시될 수 있는 인터페이스를 산출할 수 있다. If the first limit condition is not satisfied, the cost calculation module can calculate the normal price for the optimal plan, and the interface module can calculate an interface that can display the optimal plan and normal price to the user.

이용자는 제공받은 인터페이스를 통해 최적방안을 승낙하고 결제하면, 제어모듈은 최적방안처럼 물리머신을 가상화하여 이용자에게 클라우드 서비스를 제공할 수 있다. If the user accepts the optimal plan and pays through the provided interface, the control module can virtualize the physical machine like the optimal plan and provide cloud services to the user.

만일, 제1 한계조건이 만족된다면, 최적분석모듈은 대안방안을 산출할 수 있다.If the first limit condition is satisfied, the optimal analysis module can calculate an alternative solution.

다음으로, 최적분석모듈은 제2 한계조건이 만족되는지 여부를 판단할 수 있다. Next, the optimal analysis module can determine whether the second limit condition is satisfied.

만일, 제2 한계조건이 만족되지 않는다면, 비용산출모듈은 최적방안의 정상가격과 대체방안의 할인가격을 산출할 수 있다. 인터페이스모듈은 최적방안의 정상가격과 대체방안의 할인가격이 이용자에게 표시되며 최적방안과 대체방안 중에서 선택할 수 있는 인터페이스를 산출할 수 다. If the second limit condition is not satisfied, the cost calculation module can calculate the normal price of the optimal method and the discounted price of the alternative method. The interface module displays the normal price of the optimal plan and the discounted price of the alternative plan to the user and can calculate an interface that allows users to select between the optimal plan and the alternative plan.

이용자는 제공받은 인터페이스를 통해 최적방안 혹은 대체방안을 선택하고 결제하면, 제어모듈은 선택된 방안처럼 물리머신을 가상화하여 이용자에게 클라우드 서비스를 제공할 수 있다. When the user selects the optimal plan or an alternative plan through the provided interface and makes a payment, the control module can provide a cloud service to the user by virtualizing the physical machine like the selected plan.

만일, 이용자가 대체방안을 선택하는 경우, 제어모듈은 이용자의 컴퓨팅 장치의 시계열적인 워크로드를 분석하여, 이용자가 워크로드가 증가하는 시간대에 필요한 만큼의 리소스를 가상화하여 클라우드 서비스를 지원할 수 있다. If the user selects an alternative method, the control module can support cloud services by analyzing the time-series workload of the user's computing device and virtualizing as many resources as necessary during times when the user's workload increases.

이러한, 클라우드 보완 서비스를 추가적으로 제공함으로써, 이용자가 대체방안을 선택하도록 유도할 수 있다. By additionally providing these complementary cloud services, users can be encouraged to choose an alternative method.

만일, 이용자가 최적방안을 선택하는 경우, 상술한 보완 서비스가 제공되지 않을 수 있다. If the user selects the optimal method, the above-mentioned complementary service may not be provided.

이러한, 보완 서비스 제공 여부는 인터페이스를 통해 이용자에게 안내될 때 함께 표시될 수 있다. Whether such complementary services are provided can be displayed together when the user is informed through the interface.

만일, 제2 한계조건이 만족된다면, 비용산출모듈은 최적방안 가격을 산출할 수 있다. 인터페이스모듈은 최적방안과 최적방안의 가격이 표시되는 인터페이스를 산출할 수 있다. If the second limit condition is satisfied, the cost calculation module can calculate the price of the optimal solution. The interface module can calculate an interface that displays the optimal plan and the price of the optimal plan.

이용자는 제공받은 인터페이스를 통해 최적방안과 최적방안의 가격을 보고 승낙하여 결재를 진행할 수 있다. Users can view the optimal plan and its price through the provided interface, accept it, and proceed with payment.

다만, 제어모듈은 승낙받은 최적방안과 다르게 대체방안을 기준으로 물리머신을 가상화하여 이용자에게 클라우드 서비스를 제공할 수 있다. However, the control module can provide cloud services to users by virtualizing the physical machine based on an alternative plan, different from the approved optimal plan.

이는, 이용자에게 더 좋은 서비스를 할인된 가격에 제공하는 것으로서, 물리서버 과부화와 이용자의 불만을 효과적으로 예방할 수 있다. This provides better services to users at a discounted price, effectively preventing physical server overload and user complaints.

제1 한계조건이 만족되어 진행되는 프로세스는 클라우드 서비스 제공자 입장에서는 손해일 수 있다. A process that proceeds when the first limit condition is satisfied may be detrimental to the cloud service provider.

따라서, 이는 물리서버가 위급한 상황일 때만 활용되야할 프로세스이어야 하며, 이를 악용하는 사례를 차단할 필요가 있다. Therefore, this should be a process that should be used only when the physical server is in an emergency, and cases of abuse of it need to be blocked.

따라서, 유저분석모듈은 제1 한계조건이 만족되어 최적방안의 가격으로 대체방안의 서비스를 받는 이용자 리스트를 저장하고, 제1 한계조건이 만족되어 제공받는 서비스의 횟수를 카운트할 수 있다. Accordingly, the user analysis module can store a list of users who receive services of an alternative plan at the price of the optimal plan when the first limit condition is satisfied, and count the number of times the service is provided when the first limit condition is satisfied.

유저분석모듈은 소정 횟수 이상으로 제1 한계조건이 만족되어 발생되는 클라우드 서비스를 받은 이용자에 대해서 악의도를 산출할 수 있다. The user analysis module can calculate the degree of malicious intent for users who have received the cloud service when the first limit condition is satisfied more than a predetermined number of times.

여기서, 소정 횟수는 3회일 수 있다. Here, the predetermined number of times may be 3 times.

다만, 이에 한정하지 않고, 소정 횟수는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.However, it is not limited to this, and the predetermined number of times can be modified in various ways at a level that is obvious to those skilled in the art.

비용산출모듈은 악의도가 소정 기준 이상인 이용자에 대해서, 제1 한계조건이 만족되고, 제2 한계조건이 만족되지 않은 경우 대체방안을 산출하기 위한 할인율을 악의도에 따라 조정할 수 있다. The cost calculation module can adjust the discount rate for calculating an alternative plan according to the malicious intent when the first limit condition is satisfied and the second limit condition is not satisfied for users whose malicious intent is higher than a predetermined standard.

이를 통해, 악의적인 사람이 반복적으로 할인혜택을 받는 것을 제한할 수 있다. Through this, it is possible to limit malicious people from repeatedly receiving discount benefits.

첨부된 도면은 본 발명의 기술적 사상을 보다 명확하게 표현하기 위해, 본 발명의 기술적 사상과 관련성이 없거나 떨어지는 구성에 대해서는 간략하게 표현하거나 생략하였다.In the attached drawings, in order to more clearly express the technical idea of the present invention, components that are unrelated or less relevant to the technical idea of the present invention are briefly expressed or omitted.

상기에서는 본 발명에 따른 실시예를 기준으로 본 발명의 구성과 특징을 설명하였으나 본 발명은 이에 한정되지 않으며, 본 발명의 사상과 범위 내에서 다양하게 변경 또는 변형할 수 있음은 본 발명이 속하는 기술분야의 당업자에게 명백한 것이며, 따라서 이와 같은 변경 또는 변형은 첨부된 특허청구범위에 속함을 밝혀둔다.In the above, the configuration and features of the present invention have been described based on the embodiments according to the present invention, but the present invention is not limited thereto, and various changes or modifications may be made within the spirit and scope of the present invention. It is obvious to those skilled in the art, and therefore, it is stated that such changes or modifications fall within the scope of the appended patent claims.

110 : 수집모듈 120 : 분석모듈
130 : 추천모듈 140 : 예측모듈
110: collection module 120: analysis module
130: Recommendation module 140: Prediction module

Claims (10)

이용자의 컴퓨팅 장치와 통신하여 이용자의 컴퓨팅 장치에 클라우드 서비스를 제공하기 위한 가상화 서비스 제공 방법을 구현하는 가상화 서비스 제공 시스템에 있어서,
이용자의 컴퓨팅 장치로부터 클라우드 서비스에 대한 요청정보를 수신하는 송수신모듈;
가상화 서비스 제공 방법이 구현되는데 필요한 정보가 저장되어 있는 저장모듈; 및
상기 요청정보를 기초로 물리서버의 적어도 일부 리소스를 가상화하는 제어모듈;을 포함하고,
상기 요청정보는,
개별 리소스의 클라우드 서비스 제공 요청을 포함하고,
상기 제어모듈은,
그리디 알고리즘 또는 옵티멀 알고리즘을 활용하여 물리서버의 리소스를 할당하는 방법인 미리 정해진 방법에 따라 물리서버의 리소스를 할당하며, 상기 요청정보에 따라 상기 요청정보에 대응되는 개별 리소스만을 가상화하고, 상기 요청정보를 기초로 상기 미리 정해진 방법 중 어느 알고리즘을 활용하여 물리서버의 리소스를 할당해야 하는지 판단하는,
가상화 서비스 제공 시스템.
In a virtualization service provision system that implements a virtualization service provision method for providing cloud services to a user's computing device by communicating with the user's computing device,
A transmitting and receiving module that receives request information for cloud services from the user's computing device;
A storage module that stores information necessary to implement a virtualization service provision method; and
It includes a control module that virtualizes at least some resources of the physical server based on the request information,
The requested information is,
Includes requests to provide cloud services for individual resources,
The control module is,
The resources of the physical server are allocated according to a predetermined method, which is a method of allocating the resources of the physical server using a greedy algorithm or an optimal algorithm, and according to the request information, only individual resources corresponding to the request information are virtualized, and the request Based on the information, determine which algorithm among the predetermined methods should be used to allocate the resources of the physical server,
Virtualization service provision system.
제1항에 있어서,
상기 요청정보는,
중앙처리장치에 대한 상세정보, 그래픽처리장치에 대한 상세정보, 주기억장치에 대한 상세정보 및 보조기억장치에 대한 상세정보 중 적어도 하나의 정보를 포함하는,
가상화 서비스 제공 시스템.
According to paragraph 1,
The requested information is,
Containing at least one of detailed information on the central processing unit, detailed information on the graphics processing unit, detailed information on the main memory, and detailed information on the auxiliary memory,
Virtualization service provision system.
제2항에 있어서,
상기 미리 정해진 방법은,
이용자가 클라우드 서비스를 일정 리소스 이상 요청한다면, 그리디 알고리즘을 활용하여 물리서버의 리소스를 할당하고,
이용자가 클라우드 서비스를 일정 리소스 미만 요청한다면, 옵티멀 알고리즘을 활용하여 물리서버의 리소스를 할당하는,
가상화 서비스 제공 시스템.
According to paragraph 2,
The predetermined method is,
If a user requests more than a certain amount of cloud service resources, the resources of the physical server are allocated using a greedy algorithm.
If the user requests less than a certain amount of cloud service resources, the optimal algorithm is used to allocate physical server resources.
Virtualization service provision system.
이용자의 컴퓨팅 장치와 통신하여 이용자의 컴퓨팅 장치에 클라우드 서비스를 제공하기 위한 가상화 서비스 제공 방법을 구현하는 가상화 서비스 제공 시스템에 있어서,
이용자의 컴퓨팅 장치로부터 클라우드 서비스에 대한 요청정보를 수신하는 송수신모듈;
가상화 서비스 제공 방법이 구현되는데 필요한 정보가 저장되어 있는 저장모듈;
상기 요청정보를 기초로 물리서버의 적어도 일부 리소스를 가상화하는 제어모듈; 및
상기 송수신모듈이 이용자의 컴퓨팅 장치로부터 전달받은 동작정보를 기초로 미리 정해진 최적할당 방법으로 이용자에게 필요한 리소스 할당 방안인 최적방안을 산출하는 최적분석모듈;을 포함하고,
상기 요청정보는,
개별 리소스의 클라우드 서비스 제공 요청을 포함하고,
상기 제어모듈은,
상기 요청정보에 따라 상기 요청정보에 대응되는 개별 리소스만을 가상화하며,
상기 미리 정해진 최적할당 방법은,
목적함수가 최소화되도록 상기 동작정보를 분석하며,
상기 목적함수는,
이용자의 서비스 비용과 관련된 제1 목적함수를 포함하는,
가상화 서비스 제공 시스템.
In a virtualization service provision system that implements a virtualization service provision method for providing cloud services to a user's computing device by communicating with the user's computing device,
A transmitting and receiving module that receives request information for cloud services from the user's computing device;
A storage module that stores information necessary to implement a virtualization service provision method;
a control module that virtualizes at least some resources of a physical server based on the request information; and
The transmitting and receiving module includes an optimal analysis module that calculates an optimal plan, which is a resource allocation plan necessary for the user, using a predetermined optimal allocation method based on operation information received from the user's computing device,
The requested information is,
Includes requests to provide cloud services for individual resources,
The control module is,
According to the request information, only individual resources corresponding to the request information are virtualized,
The predetermined optimal allocation method is,
Analyzing the operation information to minimize the objective function,
The objective function is,
Containing a first objective function related to the user's service cost,
Virtualization service provision system.
이용자의 컴퓨팅 장치와 통신하여 이용자의 컴퓨팅 장치에 클라우드 서비스를 제공하기 위한 가상화 서비스 제공 방법을 구현하는 가상화 서비스 제공 시스템에 있어서,
이용자의 컴퓨팅 장치로부터 클라우드 서비스에 대한 요청정보를 수신하는 송수신모듈;
가상화 서비스 제공 방법이 구현되는데 필요한 정보가 저장되어 있는 저장모듈;
상기 요청정보를 기초로 물리서버의 적어도 일부 리소스를 가상화하는 제어모듈; 및
상기 송수신모듈이 이용자의 컴퓨팅 장치로부터 전달받은 동작정보를 기초로 미리 정해진 최적할당 방법으로 이용자에게 필요한 리소스 할당 방안인 최적방안을 산출하는 최적분석모듈;을 포함하고,
상기 요청정보는,
개별 리소스의 클라우드 서비스 제공 요청을 포함하고,
상기 제어모듈은,
상기 요청정보에 따라 상기 요청정보에 대응되는 개별 리소스만을 가상화하며,
상기 최적분석모듈은,
이용자의 컴퓨팅 장치와 호환되지 않는 리소스는 배제하여 상기 최적방안을 산출하는,
가상화 서비스 제공 시스템.
In a virtualization service provision system that implements a virtualization service provision method for providing cloud services to a user's computing device by communicating with the user's computing device,
A transmitting and receiving module that receives request information for cloud services from the user's computing device;
A storage module that stores information necessary to implement a virtualization service provision method;
a control module that virtualizes at least some resources of a physical server based on the request information; and
The transmitting and receiving module includes an optimal analysis module that calculates an optimal plan, which is a resource allocation plan necessary for the user, using a predetermined optimal allocation method based on operation information received from the user's computing device,
The requested information is,
Includes requests to provide cloud services for individual resources,
The control module is,
According to the request information, only individual resources corresponding to the request information are virtualized,
The optimal analysis module is,
Calculating the optimal solution by excluding resources that are incompatible with the user's computing device,
Virtualization service provision system.
제4항에 있어서,
상기 미리 정해진 최적할당 방법은,
개별 리소스 단위로 가상화를 진행할지, 통합 리소스 단위로 가상화를 진행할지 여부도 함께 고려하여 상기 최적방안을 산출하는 방법인,
가상화 서비스 제공 시스템.
According to paragraph 4,
The predetermined optimal allocation method is,
A method of calculating the optimal method by considering whether to proceed with virtualization in individual resource units or integrated resource units,
Virtualization service provision system.
제4항 및 제5항 중 어느 한 항에 있어서,
상기 최적분석모듈은,
상기 최적방안의 대상이 되는 물리서버의 리소스가 제1 한계조건이 만족되는 경우, 상기 최적방안과 다른 방안인 대체방안을 산출하며,
상기 대체방안은,
상기 최적방안이 개별 리소스 단위로 가상화되는 방안이라면, 통합 리소스 단위로 가상화하는 방안이고,
상기 최적방안이 통합 리소스 단위로 가상화되는 방안이라면, 개별 리소스 단위로 가상화하는 방안인,
가상화 서비스 제공 시스템.
According to any one of paragraphs 4 and 5,
The optimal analysis module is,
If the resources of the physical server that are the target of the optimal plan satisfy the first limit condition, an alternative plan that is different from the optimal plan is calculated,
The alternative method is,
If the above optimal method is a method of virtualization in individual resource units, it is a method of virtualization in integrated resource units,
If the above optimal method is a method of virtualization in units of integrated resources, it is a method of virtualization in units of individual resources,
Virtualization service provision system.
제7항에 있어서,
상기 최적방안에 대한 서비스 비용을 산출하는 비용산출모듈; 및
이용자의 컴퓨팅 장치에 제공되는 인터페이스를 산출하는 인터페이스모듈;을 더 포함하고,
상기 비용산출모듈은,
상기 대체방안에 대한 서비스 할인가격과 상기 최적방안에 대한 서비스 정상가격을 산출하며,
상기 인터페이스모듈은,
상기 비용산출모듈에서 산출된 가격과 상기 대체방안과 상기 최적방안을 선택할 수 있는 인터페이스를 산출하는,
가상화 서비스 제공 시스템.
In clause 7,
A cost calculation module that calculates the service cost for the optimal method; and
It further includes an interface module that calculates an interface provided to the user's computing device,
The cost calculation module is,
Calculate the service discount price for the alternative method and the service normal price for the optimal method,
The interface module is,
Calculating an interface that allows you to select the price calculated from the cost calculation module and the alternative plan and the optimal plan,
Virtualization service provision system.
가상화 서비스 제공 시스템에 의해 구현되며, 이용자의 컴퓨팅 장치에게 클라우드 서비스를 제공하기 위한, 가상화 서비스 제공 방법에 있어서,
송수신모듈에 의해, 이용자의 컴퓨팅 장치로부터 클라우드 서비스에 대한 요청정보가 수신하는 단계; 및
제어모듈에 의해, 상기 요청정보를 기초로 물리서버의 일부 리소스가 가상화되는 단계;를 포함하고,
상기 요청정보는,
필요한 리소스를 지정한 이용자의 요청에 대한 정보로서, 개별 리소스의 클라우드 서비스 제공 요청을 포함하고,
상기 제어모듈은,
그리디 알고리즘 또는 옵티멀 알고리즘을 활용하여 물리서버의 리소스를 할당하는 방법인 미리 정해진 방법에 따라 물리서버의 리소스를 할당하며, 상기 요청정보에 따라 상기 요청정보에 대응되는 개별 리소스만을 가상화하고, 상기 요청정보를 기초로 미리 정해진 방법 중 어느 알고리즘을 활용하여 물리서버의 리소스를 할당해야 하는지 판단하는,
가상화 서비스 제공 방법.
In a virtualization service provision method implemented by a virtualization service provision system and for providing cloud services to a user's computing device,
Receiving request information for a cloud service from a user's computing device by a transmission/reception module; and
Comprising: virtualizing some resources of the physical server by a control module based on the request information,
The requested information is,
Information on requests from users who have specified required resources, including requests for cloud service provision of individual resources,
The control module is,
The resources of the physical server are allocated according to a predetermined method, which is a method of allocating the resources of the physical server using a greedy algorithm or an optimal algorithm, and according to the request information, only individual resources corresponding to the request information are virtualized, and the request Based on information, determine which algorithm among predetermined methods should be used to allocate physical server resources,
How to provide virtualization services.
가상화 서비스 제공 시스템에 의해 구현되며, 이용자의 컴퓨팅 장치에게 클라우드 서비스를 제공하기 위한, 가상화 서비스 제공 방법에 있어서,
송수신모듈에 의해, 이용자의 컴퓨팅 장치로부터 클라우드 서비스에 대한 요청정보가 수신하는 단계;
제어모듈에 의해, 상기 요청정보를 기초로 물리서버의 일부 리소스가 가상화되는 단계; 및
최적분석모듈에 의해, 이용자의 컴퓨팅 장치로부터 전달받은 동작정보를 기초로 미리 정해진 최적할당 방법으로 이용자에게 필요한 리소스 할당 방안인 최적방안이 산출되는 단계;를 포함하고,
상기 요청정보는,
필요한 리소스를 지정한 이용자의 요청에 대한 정보로서, 개별 리소스의 클라우드 서비스 제공 요청을 포함하고,
상기 제어모듈은,
상기 요청정보에 따라 상기 요청정보에 대응되는 개별 리소스만을 가상화하고,
상기 미리 정해진 최적할당 방법은,
목적함수가 최소화되도록 상기 동작정보를 분석하며,
상기 목적함수는,
이용자의 서비스 비용과 관련된 제1 목적함수를 포함하는,
가상화 서비스 제공 방법.
In a virtualization service provision method implemented by a virtualization service provision system and for providing cloud services to a user's computing device,
Receiving request information for a cloud service from a user's computing device by a transmission/reception module;
Virtualizing some resources of a physical server based on the request information by a control module; and
A step of calculating, by the optimal analysis module, an optimal plan, which is a resource allocation plan necessary for the user, using a predetermined optimal allocation method based on operation information received from the user's computing device,
The requested information is,
Information on requests from users who have specified required resources, including requests for cloud service provision of individual resources,
The control module is,
According to the request information, only individual resources corresponding to the request information are virtualized,
The predetermined optimal allocation method is,
Analyzing the operation information to minimize the objective function,
The objective function is,
Containing a first objective function related to the user's service cost,
How to provide virtualization services.
KR1020230042559A 2023-03-31 2023-03-31 A method for providing virtualization service based on greedy/optimal algorithm and a virtualization service provision system KR102613662B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230042559A KR102613662B1 (en) 2023-03-31 2023-03-31 A method for providing virtualization service based on greedy/optimal algorithm and a virtualization service provision system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230042559A KR102613662B1 (en) 2023-03-31 2023-03-31 A method for providing virtualization service based on greedy/optimal algorithm and a virtualization service provision system

Publications (1)

Publication Number Publication Date
KR102613662B1 true KR102613662B1 (en) 2023-12-14

Family

ID=89166891

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230042559A KR102613662B1 (en) 2023-03-31 2023-03-31 A method for providing virtualization service based on greedy/optimal algorithm and a virtualization service provision system

Country Status (1)

Country Link
KR (1) KR102613662B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140207944A1 (en) * 2013-01-24 2014-07-24 Hitachi, Ltd. Method and system for managing cloud computing environment
KR20170000567A (en) * 2015-06-24 2017-01-03 한국전자통신연구원 Apparatus and method for virtual desktop service
KR20190081306A (en) * 2017-12-29 2019-07-09 한국전자통신연구원 Method for allocating resource for bigdata analyzing software and apparatus for allocating virtual resource using the method
KR20200122589A (en) * 2019-04-18 2020-10-28 한국전자통신연구원 Apparatus and method for allocating cloud resources

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140207944A1 (en) * 2013-01-24 2014-07-24 Hitachi, Ltd. Method and system for managing cloud computing environment
KR20170000567A (en) * 2015-06-24 2017-01-03 한국전자통신연구원 Apparatus and method for virtual desktop service
KR20190081306A (en) * 2017-12-29 2019-07-09 한국전자통신연구원 Method for allocating resource for bigdata analyzing software and apparatus for allocating virtual resource using the method
KR20200122589A (en) * 2019-04-18 2020-10-28 한국전자통신연구원 Apparatus and method for allocating cloud resources

Similar Documents

Publication Publication Date Title
US10929165B2 (en) System and method for memory resizing in a virtual computing environment
US10365955B2 (en) Resource allocation in cloud environment
US8832239B2 (en) System, method and program product for optimizing virtual machine placement and configuration
AU2013305544B2 (en) Scaling a virtual machine instance
KR101977726B1 (en) APPARATUS AND METHOD FOR Virtual Desktop Services
US8001247B2 (en) System for trigger-based “gated” dynamic virtual and physical system provisioning
CN111052104B (en) Server request management
US8825863B2 (en) Virtual machine placement within a server farm
US8555276B2 (en) Systems and methods for transparently optimizing workloads
US20130086273A1 (en) Predictive two-dimensional autoscaling
KR101941282B1 (en) Method of allocating a virtual machine for virtual desktop service
US9152640B2 (en) Determining file allocation based on file operations
JP2014527221A (en) Application resource manager on the cloud
US9979780B1 (en) Method and apparatus for selection between multiple candidate clouds for job processing
WO2012125143A1 (en) Systems and methods for transparently optimizing workloads
US9703597B2 (en) Dynamic timeout period adjustment of service requests
KR101613513B1 (en) Virtual machine placing method and system for guarantee of network bandwidth
JP2011210134A (en) Management server, virtual machine management method and virtual machine management program
KR102613662B1 (en) A method for providing virtualization service based on greedy/optimal algorithm and a virtualization service provision system
KR102569885B1 (en) A cloud server operating system implementing individual virtualization of resources and a method for operating cloud server
KR102569867B1 (en) A virtual machine manegement method usign correlation analysis and a vitaul machine management sysyem implementing the same
US11023266B2 (en) Detecting and counteracting a multiprocessor effect in a virtual computing environment
Miraftabzadeh et al. Distributed algorithm with inherent intelligence for multi-cloud resource provisioning
US10158544B2 (en) Selecting communication channels based on categorizations and measurements
KR102442248B1 (en) Prediction system for resource management and resource usage of DaaS built on the basis of cloud infrastructure

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant