KR102569885B1 - 리소스의 개별적 가상화를 구현한 클라우드 서버 운영 시스템 및 클라우드 서버 운영 방법 - Google Patents

리소스의 개별적 가상화를 구현한 클라우드 서버 운영 시스템 및 클라우드 서버 운영 방법 Download PDF

Info

Publication number
KR102569885B1
KR102569885B1 KR1020220190619A KR20220190619A KR102569885B1 KR 102569885 B1 KR102569885 B1 KR 102569885B1 KR 1020220190619 A KR1020220190619 A KR 1020220190619A KR 20220190619 A KR20220190619 A KR 20220190619A KR 102569885 B1 KR102569885 B1 KR 102569885B1
Authority
KR
South Korea
Prior art keywords
resources
user
information
optimal
module
Prior art date
Application number
KR1020220190619A
Other languages
English (en)
Inventor
정광필
김용신
안상아
이태희
김영광
김민준
Original Assignee
오케스트로 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 오케스트로 주식회사 filed Critical 오케스트로 주식회사
Priority to KR1020220190619A priority Critical patent/KR102569885B1/ko
Application granted granted Critical
Publication of KR102569885B1 publication Critical patent/KR102569885B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/45562Creating, deleting, cloning virtual machine instances
    • 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

본 발명의 일 실시예에 따른 클라우드 서버 운영 시스템은, 이용자의 컴퓨팅 장치와 통신하여 이용자의 컴퓨팅 장치에 클라우드 서비스를 제공하기 위한 클라우드 서버 운영 시스템에 있어서, 이용자의 컴퓨팅 장치로부터 클라우드 서비스에 대한 요청정보를 수신하는 송수신모듈; 및 상기 요청정보를 기초로 물리서버의 일부 리소스를 가상화하는 제어모듈;을 포함하고, 상기 요청정보는, 개별 리소스의 클라우드 서비스 제공 요청을 포함하고, 상기 제어모듈은, 상기 요청정보에 따라 상기 요청정보에 대응되는 개별 리소스만을 가상화할 수 있다.

Description

리소스의 개별적 가상화를 구현한 클라우드 서버 운영 시스템 및 클라우드 서버 운영 방법 {A CLOUD SERVER OPERATING SYSTEM IMPLEMENTING INDIVIDUAL VIRTUALIZATION OF RESOURCES AND A METHOD FOR OPERATING CLOUD SERVER}
본 발명은 클라우드 서버 운영 시스템 및 클라우드 서비스 운영 방법에 관한 것으로서, 더욱 상세하게는 이용자의 니즈에 맞게 리소스를 가상화하여 클라우드 서비스를 제공할 수 있는 클라우드 서버 운영 시스템 및 클라우드 서비스 운영 방법에 대한 것이다.
인터넷 네트워크의 기술력이 증가되고, 재택 근무와 같이 컴퓨터 업무의 공간적 제약이 없어짐에 따라, 최근 클라우드 환경은 급격하게 성장하고 있다. 클라우드 서비스는 크게 가상머신을 제공하는 방식과 컨테이너를 통해 제공하는 방식으로 나누어지고 있다. 이러한 서비스를 제공하기 위해서, 서버 가상화 방식은 물리적 서버 위에 하이퍼바이저나 도커를 통해 물리적 서버의 리소스 전체를 가상화하는 방식으로 가상머신 또는 컨테이너를 생성하였다. 하지만, 이러한 가상화 방식은 컴퓨팅 리소스 전체(CPU, GPU, 메모리, 스토리지 등)를 사용하기 때문에 물리 서버 자원의 무분별한 낭비로 이루어질 수 있다.
본 발명은 상술한 문제점을 해결하기 위한 것으로, 개별적으로 리소스를 가상화하여 클라우드 서비스를 제공할 수 있는 클라우드 서버 운영 시스템 및 클라우드 서버 운영 방법을 제공하고자 한다.
본 발명의 일 실시예에 따른 클라우드 서버 운영 시스템은, 이용자의 컴퓨팅 장치와 통신하여 이용자의 컴퓨팅 장치에 클라우드 서비스를 제공하기 위한 클라우드 서버 운영 시스템에 있어서, 이용자의 컴퓨팅 장치로부터 클라우드 서비스에 대한 요청정보를 수신하는 송수신모듈; 및 상기 요청정보를 기초로 물리서버의 일부 리소스를 가상화하는 제어모듈;을 포함하고, 상기 요청정보는, 개별 리소스의 클라우드 서비스 제공 요청을 포함하고, 상기 제어모듈은, 상기 요청정보에 따라 상기 요청정보에 대응되는 개별 리소스만을 가상화할 수 있다.
또한, 상기 요청정보는, 중앙처리장치에 대한 상세정보, 그래픽처리장치에 대한 상세정보, 주기억장치에 대한 상세정보 및 보조기억장치에 대한 상세정보 중 적어도 하나의 정보를 포함할 수 있다.
또한, 상기 제어모듈은, 미리 정해진 방법에 따라 물리서버의 리소스를 할당하여 상기 요청정보에 따라 물리서버의 리소스를 가상화하고, 상기 미리 정해진 방법은, 이용자가 클라우드 서비스를 일정 리소스 이상 요청한다면, 그리디 알고리즘을 활용하여 물리서버의 리소스를 할당하고, 이용자가 클라우드 서비스를 일정 리소스 미만 요청한다면, 옵티멀 알고리즘을 활용하여 물리서버의 리소스를 할당할 수 있다.
또한, 상기 송수신모듈이 이용자의 컴퓨팅 장치로부터 전달받은 동작정보를 기초로 미리 정해진 최적할당 방법으로 이용자에게 필요한 리소스 할당 방안인 최적방안을 산출하는 최적분석모듈;을 더 포함하고, 상기 미리 정해진 최적할당 방법은, 목적함수가 최소화되도록 상기 동작정보를 분석하며, 상기 목적함수는, 이용자의 서비스 비용과 관련된 제1 목적함수를 포함할 수 있다.
또한, 상기 최적분석모듈은, 이용자의 컴퓨팅 장치와 호환되지 않는 리소스는 배제하여 상기 최적방안을 산출할 수 있다.
또한, 상기 제어모듈은, 일부의 물리서버에서는 물리서버의 개별 리소스 단위로 가상화를 진행하고, 나머지 물리서버에서는 물리서버의 전체 리소스 단위로 가상화를 진행하며, 상기 미리 정해진 최적할당 방법은, 개별 리소스 단위로 가상화를 진행할지, 통합 리소스 단위로 가상화를 진행할지 여부도 함께 고려하여 상기 최적방안을 산출하는 방법일 수 있다.
또한, 상기 최적분석모듈은, 상기 최적방안의 대상이 되는 물리서버의 리소스가 제1 한계조건이 만족되는 경우, 상기 최적방안과 다른 방안인 대체방안을 산출하며, 상기 대체방안은, 상기 최적방안이 개별 리소스 단위로 가상화되는 방안이라면, 통합 리소스 단위로 가상화하는 방안이고, 상기 최적방안이 통합 리소스 단위로 가상화되는 방안이라면, 개별 리소스 단위로 가상화하는 방안일 수 있다.
또한, 상기 최적방안에 대한 서비스 비용을 산출하는 비용산출모듈; 및 이용자의 컴퓨팅 장치에 제공되는 인터페이스를 산출하는 인터페이스모듈;을 더 포함하고, 상기 비용산출모듈은, 상기 대체방안에 대한 서비스 할인가격과 상기 최적방안에 대한 서비스 정상가격을 산출하며, 상기 인터페이스모듈은, 상기 비용산출모듈에서 산출된 가격과 상기 대체방안과 상기 최적방안을 선택할 수 있는 인터페이스를 산출할 수 있다.
본 발명의 일 실시예에 따른 클라우드 서버 운영 방법은, 클라우드 서버 운영 시스템에 의해 구현되며, 이용자의 컴퓨팅 장치에게 클라우드 서비스를 제공하기 위한, 클라우드 서버 운영 방법에 있어서, 송수신모듈에 의해, 이용자의 컴퓨팅 장치로부터 클라우드 서비스에 대한 요청정보가 수신하는 단계; 및 제어모듈에 의해, 상기 요청정보를 기초로 물리서버의 일부 리소스가 가상화되는 단계;를 포함하고, 상기 직접 요청정보는, 필요한 리소스를 지정한 이용자의 요청에 대한 정보로서, 개별 리소스의 클라우드 서비스 제공 요청을 포함하고, 상기 제어모듈은, 상기 직접 요청정보에 따라 상기 직접 요청정보에 대응되는 개별 리소스만을 가상화할 수 있다.
또한, 상기 최적분석모듈에 의해, 이용자의 컴퓨팅 장치로부터 전달받은 동작정보를 기초로 미리 정해진 최적할당 방법으로 이용자에게 필요한 리소스 할당 방안인 최적방안이 산출되는 단계;를 더 포함하고, 상기 미리 정해진 최적할당 방법은, 목적함수가 최소화되도록 상기 동작정보를 분석하며, 상기 목적함수는, 이용자의 서비스 비용과 관련된 제1 목적함수를 포함할 수 있다.
본 발명에 따른 리소스의 개별적 가상화를 구현한 클라우드 서버 운영 시스템 및 클라우드 서버 운영 방법은 이용자의 선택의 폭을 넓힐 수 있다.
또한, 물리서버의 자원을 효율적으로 활용할 수 있다.
또한, 클라우드 서비스 시장을 더욱 대중화할 수 있다.
대화할 수 있다.
다만, 본 발명의 효과가 상술한 효과들로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 클라우드 서버 운영 시스템의 관계도
도 2는 본 발명의 일 실시예에 따른 클라우드 서버 운영 시스템의 구성도
도 3은 본 발명의 일 실시예에 따른 클라우드 서버 운영 시스템의 구성 관계도
도 4는 본 발명의 일 실시예에 따른 클라우드 서버 운영 방법의 순서도
이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 다만, 본 발명의 사상은 제시되는 실시예에 제한되지 아니하고, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서 다른 구성요소를 추가, 변경, 삭제 등을 통하여, 퇴보적인 다른 발명이나 본 발명 사상의 범위 내에 포함되는 다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본원 발명 사상 범위 내에 포함된다고 할 것이다.
또한, 각 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성요소는 동일한 참조부호를 사용하여 설명한다.
도 1은 본 발명의 일 실시예에 따른 클라우드 서버 운영 시스템의 관계도이다.
도 1을 참조하면, 클라우드 서버 운영 시스템은 이용자에게 클라우드 서비를 원활하게 제공할 수 있도록 물리서버를 운영, 보수, 관리하고, 이용자에게 필요한 정보를 수집하고 송신할 수 있다.
이를 위해서, 클라우드 서버 운영 시스템은 물리서버(200) 및/또는 이용자 컴퓨팅 장치(300)와 유/무선 네트워크로 연결될 수 있다.
본 발명에서의 네트워크라 함은 유선 공중망, 무선 이동 통신망, 또는 휴대 인터넷 등과 통합된 코어 망일 수도 있고, 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) 등을 제공하는 전 세계적인 개방형 컴퓨터 네트워크 구조를 의미할 수 있으며, 이러한 예에 한정하지 않고 다양한 형태로 데이터를 송수신할 수 있는 데이터 통신망을 포괄적으로 의미하는 것이다.
본 발명에서의 물리서버는 서버의 서버 환경을 수행하기 위한 다른 구성들이 포함될 수도 있다. 서버는 임의의 형태의 장치는 모두 포함할 수 있다.
일례로, 서버는 디지털 기기로서, 랩탑 컴퓨터, 노트북 컴퓨터, 데스크톱 컴퓨터, 웹 패드, 이동 전화기와 같이 프로세서를 탑재하고 메모리를 구비한 연산 능력을 갖춘 디지털 기기일 수 있다.
일례로, 서버는 웹 서버일 수 있다. 다만, 이에 한정하지 않고, 서버의 종류는 통상의 기술자에게 자명한 수준에서 다양하게 변경 가능하다.
도 2는 본 발명의 일 실시예에 따른 클라우드 서버 운영 시스템의 구성도이고, 도 3은 본 발명의 일 실시예에 따른 클라우드 서버 운영 시스템의 구성 관계도이다.
도 2 및 도 3을 참조하면, 본 발명의 일 실시예에 따른 클라우드 서버 운영 시스템(100)은, 이용자의 컴퓨팅 장치와 통신하여 이용자의 컴퓨팅 장치에 클라우드 서비스를 제공하기 위한 클라우드 서버 운영 시스템(100)에 있어서, 이용자의 컴퓨팅 장치로부터 클라우드 서비스에 대한 요청정보를 수신하는 송수신모듈(110) 및 상기 요청정보를 기초로 물리서버(200)의 일부 리소스를 가상화하는 제어모듈(120)을 포함할 수 있다.
또한, 상기 클라우드 서버 운영 시스템(100)은 상기 송수신모듈(110)이 이용자의 컴퓨팅 장치로부터 전달받은 동작정보를 기초로 미리 정해진 최적할당 방법으로 이용자에게 필요한 리소스 할당 방안인 최적방안을 산출하는 최적분석모듈(130), 상기 최적방안에 대한 서비스 비용을 산출하는 비용산출모듈(140) 및 이용자의 컴퓨팅 장치에 제공되는 인터페이스를 산출하는 인터페이스모듈(150)을 더 포함할 수 있다.
또한, 상기 클라우드 서버 운영 시스템(100)은 상기 최적방안을 산출하는 할당분석모델을 생성하는 모델생성모듈(160), 이용자의 악의성을 판단하는 유저분석모듈(170) 및 클라우드 서버 운영 방법이 구현되는데 필요한 모든 정보를 저장하는 저장모듈(180)을 더 포함할 수 있다.
송수신모듈(110)은 클라우드 서버 운영 방법이 구현되는데 필요한 정보를 이용자의 컴퓨팅 장치, 물리서버(200)와 송수신할 수 있다.
일례로, 송수신모듈(110)은 셀룰러 모듈, WiFi 모듈, 블루투스 모듈, GNSS 모듈, NFC 모듈, RF 모듈, 5G 모듈, LTE 모듈, NB-IOT 모듈 및/또는 LoRa 모듈을 포함할 수 있다.
다만, 이에 한정하지 않고, 통신 모듈이 포함하는 모듈은 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
송수신모듈(110)은 이용자의 컴퓨팅 장치로부터 요청정보 및/또는 동작정보를 수신할 수 있다.
요청정보는 요청자가 클라우드 서비스를 컴퓨팅 장치를 통해 요청할 때, 컴퓨팅 장치로부터 발생될 수 있다.
이를 위해서, 송수신모듈(110)은 인터페이스모듈(150)에서 산출된 인터페이스를 요청자의 컴퓨팅 장치로 전송할 수 있다.
요청정보에는 직접 요청 방식인지 간접 요청 방식인지에 대한 정보, 직접 요청일 경우 희망하는 리소스 자원에 대한 정보, 간접 요청일 경우 사용목적에 대한 정보 등을 포함할 수 있다.
직접 요청 방식은 요청자가 지원받고자 하는 리소스를 지정해서 요청하는 방식을 의미할 수 있다.
일례로, 직접 요청 방식을 통해 요청자는 보조기억장치의 10TB만 클라우드 서비스를 요청할 수 있다.
일례로, 직접 요청 방식을 통해 요청자는 주기억장치의 8GB만 클라우드 서비스를 요청할 수 있다.
리소스 자원에 대한 정보는 중앙처리장치(CPU)에 대한 상세정보, 그래픽처리장치(GPU)에 대한 상세정보, 주기억장치(RAM)에 대한 상세정보 및 보조기억장치(Storage)에 대한 상세정보 중 적어도 하나의 정보를 포함할 수 있다.
일례로, 중앙처리장치에 대한 상세정보일 경우, CPU의 코어수, CPU 메모리에 대한 구체적인 정보를 포함할 수 있다.
일례로, 그래픽처리장치에 대한 상세정보일 경우, GPU속도, CPU메모리, CPU쿨링, CPU clock에 대한 구체적인 정보를 포함할 수 있다.
일례로, 보조기억장치에 대한 상세정보일 경우, Storage의 종류 및 Storage의 크기에 대한 구체적인 정보를 포함할 수 있다.
일례로, 주기억장치에 대한 상세정보일 경우, RAM 용량에 대한 구체적인 정보를 포함할 수 있다.
간접 요청 방식은 요청자가 희망하는 컴퓨터 기능이 구현될 수 있도록 클라우드 서비스를 요청하는 방식을 의미할 수 있다.
일례로, 간접 요청 방식을 통해 요청자는 동영상 편집 업무를 원활하게 할 수 있도록 이용자의 컴퓨팅 장치를 보완하는 클라우드 서비스를 요청할 수 있다.
문서 활동, 동영상 편집 활동, 포토샵 활동, 게임 활동 등의 활동 리스트들이 요청자의 컴퓨팅 장치에 표시될 수 있고, 요청자는 하나의 활동을 선택할 수 있다.
일례로, 간접 요청 방식을 통해 요청자는 현재 자신의 컴퓨팅 장치의 로그/메타데이터를 분석하여, 컴퓨팅 장치가 장애없이 동작될 수 있도록 이용자의 컴퓨팅 장치를 보완하는 클라우드 서비스를 요청할 수 있다.
동작정보는 간접 요청 방식에 따라 이용자의 컴퓨팅 장치를 분석하기 위해 필요한 정보일 수 있다.
동작정보는 이용자의 컴퓨팅 장치에서 발생되는 모든 로그 데이터와 메트릭 데이터를 포함할 수 있다.
또한, 동작정보는 이용자의 컴퓨팅 장치에 설치된 OS종류, 응용소프트웨어의 종류, 컴퓨팅 장치의 사양, 컴퓨팅 장치를 이루는 하드웨어 제품의 종류 및 사양에 대한 모든 정보들도 포함할 수 있다.
송수신모듈(110)은 물리서버(200)로부터 물리서버(200)가 가동되면서 발생되는 정보 및 물리서버(200)의 리소스 정보를 포함하는 가동정보를 수신할 수 있다.
가동정보는 물리서버(200)에서 가동되는 가상머신들의 종류와 크기에 대한 정보를 포함할 수 있다.
저장모듈(180)에는 물리서버(200)가 제공할 수 있는 전체 리소스에 대한 정보가 저장되어 있으며, 이러한 정보는 추후 최적분석모듈(130)로 전달될 수 있다.
최적분석모듈(130)은 물리서버(200)로부터 가동정보를 전달받음으로써, 물리서버(200)에서 클라우드 서비스로 제공할 수 있는 가용 리소스를 산출할 수 있다.
모델생성모듈(160)은 이용자의 요청에 따라 최적방안을 산출할 수 있는 모델인 할당모델을 산출할 수 있다.
모델생성모듈(160)은 기계학습 및/또는 딥러닝을 이용하여 할당모델을 산출할 수 있다.
여기서, 딥러닝은 출력 레이어의 레이블 된 데이터(labeled data)를 이용하여 신경망의 가중치(weight)를 업데이트하는 알고리즘인 백 프로파게이션(Back Propagation) 알고리즘을 이용한 것일 수 있으나, 이에 한정하는 것은 아니다.
또한, 심층 신경망 및 백 프로파게이션(Back Progation) 알고리즘은 종래에 공지된 바와 같으므로, 이에 대한 구체적인 설명은 생략될 수 있다
구체적인 일례로서, 모델생성모듈(160)은 외부 서버로부터 이용자 컴퓨팅 장치(300)의 사양과 로그/메트릭 데이터, 이용자의 컴퓨팅 활용 상황에 대한 정보와 클라우드 서비스 제공/신청 내역에 대한 정보를 기반으로 기계학습/딥러닝하여 할당모델을 생성할 수 있다.
기계학습 및/또는 딥러닝의 구체적인 방법은 공지된 기술을 활용하는 것으로서, 이에 대한 자세한 설명은 생략될 수 있다.
할당모델은 목적함수가 최소화되는 방안을 최적방안으로 산출할 수 있다.
목적함수는 이용자의 서비스 비용과 관련된 제1 목적함수 및 클라우드 서비스의 프로세스 지연율과 관련된 제2 목적함수를 구비할 수 있다.
제공되는 리소스의 숫자와 양이 많아질수록 서비스 비용이 올라갈 수 있다.
반대로, 제공되는 리소스의 숫자와 양이 작아질수록 서비스 비용이 올라갈 수 있다.
리소스의 종류와 형태에 따라 프로세스 지연율이 변경될 수 있다.
할당모델은 입력되는 제약조건에 기초하여 최적방안을 산출할 수 있다.
일례로, 제약조건은 할당되지 말아야 하는 리소스 종류, 리소스의 크기 등을 포함할 수 있다.
최적분석모듈(130)은 할당모델을 이용하여 간접 요청 방식의 경우에 최적방안을 산출할 수 있다.
최적방안은 일차적으로 개별 리소스를 가상화하는 방식인지, 통합 리소스를 가상화하는 방식인지에 대한 방안을 포함할 수 있다.
만일 개별 리소스를 가상화하는 방식일 경우, 최적방안은 중앙처리장치, 그래픽처리장치, 주기억장치, 보조기억장치 중 적어도 하나에 대해서 어떠한 구체적인 상세정보를 가지도록 가상화하는 방안인지를 의미할 수 있다.
일례로, 최적방안은 보조기억장치를 40TB 크기로 가상화하여 클라우드 서비스를 제공하는 것일 수 있다.
일례로, 최적방안은 주기업장치를 8GB, 보조기억장치를 20TB 각각 가상화하여 클라우드 서비스를 제공하는 것일 수 있다.
만일, 통합 리소스를 가상화하는 방식일 경우, 최적방안은 중앙처리장치, 그래픽처리장치, 주기억장치 및 보조기억장치가 하나의 가상머신에 포함되게 가상화되는 방식일 수 있다.
개별적으로 가상화되는 리소스의 숫자가 작아질수록 통합되게 가상화되는 리소스보다 클라우드 서비스 비용이 줄어들고, 프로세스 지연율이 줄어들 수 있다.
다만, 개별적으로 가상화되는 리소스의 숫자가 많아질수록 통합되게 가상화되는 리소스보다 서비스 비용이 높아지고, 프로세스 지연율이 증가할 수 있다.
구체적인 일례로서, 한 종류의 리소스만 가상화되는 것과 한 종류의 리소스를 포함하여 모든 종류의 리소스가 가상화되는 것을 서로 비교한다면, 한 종류의 리소스만 가상화되는 경우가 비용과 프로세스 지연율이 낮을 수 있다.
이와 달리, 모든 종류의 리소스가 각각 가상화되는 것과 모든 종류의 리소스가 통합하여 가상화되는 것을 서로 비교한다면, 모든 종류 리소스가 각각 가상화되는 경우가 서비스 비용과 프로세스 지연율이 높을 수 있다.
따라서, 최적분석모듈(130)은 동작정보와 요청정보를 할당모델에 입력하여, 목적함수가 최소화되는 경우의 방안인 최적방안을 산출할 수 있다.
미리 정해진 최적할당 방법은 목적함수가 최소화되도록 상기 동작정보를 분석하는 방법일 수 있다.
미리 정해진 최적할당 방법은 개별 리소스 단위로 가상화를 진행할지, 통합 리소스 단위로 가상화를 진행할지 여부도 함께 고려하여 상기 최적방안을 산출하는 방법일 수 있다.
최적분석모듈(130)은 제약조건을 산출하여, 제약조건을 할당모델에 입력할 수 있다.
최적분석모듈(130)은 이용자의 컴퓨팅 장치와 호환되지 않는 리소스는 배제하여 상기 최적방안을 산출할 수 있다.
최적분석모듈(130)은 이용자의 컴퓨팅 장치와 호환되지 않는 리소스를 제약조건을 설정하여 할당모델에 입력할 수 있다.
일례로, 최적분석모듈(130)은 파일 시스템의 종류로 인해, 이용자의 컴퓨팅 장치에 설치된 OS와 호환되지 않는 파일시스템을 제공하는 스토리지 종류의 리소스는 배제하는 제약조건을 설정하여 할당모델에 입력할 수 있다.
최적분석모듈(130)은 상기 최적방안의 대상이 되는 물리서버(200)의 리소스가 제1 한계조건이 만족되는 경우, 상기 최적방안과 다른 방안인 대체방안을 산출할 수 있다.
제1 한계조건은 최적방안으로 제시된 물리서버(200)의 리소스 종류가 최적방안과 동일한 가상화 방식을 하도록 허가된 물리서버(200)에서 소정 기준인 제1 기준 이하로 가용 가능할 조건일 수 있다.
구체적인 일례로, 최적방안이 10TB 스토리지 리소스만을 제공하는 방안일 경우, 개별 리소스 가상화만이 가능하도록 허가된 물리서버(200) 내의 스토리지 리소스의 가용 리소스가 1000TB 이하일 경우, 제1 한계조건이 만족될 수 있다.
제1 기준은 리소스의 종류, 물리서버(200)의 사양 및 개수에 따라서 다양하게 변형 가능할 수 있다.
일례로, 중앙처리장치에 대한 제1 기준, 그래픽처리장치에 대한 제1 기준, 주기억장치에 대한 제1 기준 및 보조기억장치에 대한 제1 기준은 모두 상이할 수 있다.
최적분석모듈(130)은 제1 한계조건이 만족되는지 여부를 판단할 수 있다.
대체방안은 상기 최적방안이 개별 리소스 단위로 가상화되는 방안이라면, 통합 리소스 단위로 가상화하는 방안일 수 있다.
또한, 상기 대체방안은 상기 최적방안이 통합 리소스 단위로 가상화되는 방안이라면, 개별 리소스 단위로 가상화하는 방안일 수 있다.
제어모듈(120)에 의해 물리서버(200)는 리소스를 개별적으로 가상화하는 물리서버(200)(이하, 제1 물리서버(200)라고 칭함)와 리소스를 통합적으로 가상화하는 물리서버(200)(이하, 제2 물리서버(200)라고 칭함)로 구분하여 가상화하고 관리될 수 있다.
즉, 제어모듈(120)은 일부의 물리서버(200)에서는 물리서버(200)의 개별 리소스 단위로 가상화를 진행하고, 나머지 물리서버(200)에서는 물리서버(200)의 전체 리소스 단위로 가상화를 진행할 수 있다.
이는, 물리서버(200)의 자원 효율성을 증대시키기 위함일 수 있다.
다만, 이와 같은 분할 제어 방식은 한가지 방식으로 요청이 집중될 경우, 클라우드 서비스의 불량을 초래할 위험을 가지고 있다.
이를 위해, 제1 한계조건을 판단하고 대체방안을 산출하는 프로세스를 병행하는 것이 바람직할 수 있다.
최적분석모듈(130)은 제2 한계조건이 만족되는지 여부를 판단할 수 있다.
제2 한계조건은 최적방안으로 제시된 물리서버(200)의 리소스 종류가 최적방안과 동일한 가상화 방식을 하도록 허가된 물리서버(200)에서 소정 기준인 제2 기준 이하로 가용 가능할 조건일 수 있다.
제2 기준은 리소스의 종류, 물리서버(200)의 사양 및 개수에 따라서 다양하게 변형 가능할 수 있다.
일례로, 제2 기준은 제1 기준보다 더 낮을 수 있다.
제2 한계조건이 만족되는지에 따라 비용산출모듈(140)의 프로세스와 인터페이스모듈(150)의 프로세스가 달라질 수 있다.
제어모듈(120)은 직접 요청 방식일 경우 직접 요청한 리소스에 대해서 물리서버(200)를 가상화하고, 간접 요청 방식일 경우 최적방안 혹은 대체방안과 같이 리소스에 대해서 물리서버(200)를 가상화할 수 있다.
이용자 컴퓨팅 장치(300)는 물리서버(200)에 직접적으로 접속하거나, 송수신모듈(110)을 통해 물리서버(200)에 연결되어 가상화된 리소스를 사용할 수 있다.
제어모듈(120)은 제1 물리서버(200)와 제2 물리서버(200)를 구분해서 물리서버(200)를 관리하고 가상화할 수 있다.
제어모듈(120)은 제1 물리서버(200)에 대해서 반가상화 방식으로 리소스를 개별적으로 가상화할 수 있다.
제어모듈(120)은 제2 물리서버(200)에 대해서 전가상화 및/또는 반가상화 방식으로 리소스를 가상화할 수 있다.
다만, 이에 한정하지 않고, 제어모듈(120)이 가상화하는 방식은 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
제어모듈(120)은 미리 정해진 방법에 따라 물리서버(200)의 리소스를 할당하여 상기 요청정보에 따라 물리서버(200)의 리소스를 가상화할 수 있다.
미리 정해진 방법은 이용자가 클라우드 서비스를 일정 리소스 이상 요청한다면, 그리디 알고리즘을 활용하여 물리서버(200)의 리소스를 할당하는 방법일 수 있다.
또한, 미리 정해진 방법은 이용자가 클라우드 서비스를 일정 리소스 미만 요청한다면, 옵티멀 알고리즘을 활용하여 물리서버(200)의 리소스를 할당하는 방법일 수 있다.
그리디 알고리즘은 물리서버(200)의 전체 리소스 효율성을 고려한 리소스 할당 알고리즘으로서, 물리서버(200)의 리소스 할당 시간이 길지만 물리서버(200)의 리소스 할당 효율성을 높이는 알고리즘일 수 있다.
옵티멀 알고리즘은 요청 순서에 따라서 최선의 선택을 리소스 할당 알고리즘으로서, 물리서버(200)의 리소스 할당 시간이 짧지만 물리서버(200)의 리소스 할당 효율성은 낮아지는 알고리즘일 수 있다.
사용자의 요청이 직접 요청 방식일 경우, 제어모듈(120)은 요청정보를 기초로 미리 정해진 방법 중 어느 알고리즘을 활용하여 물리서버(200) 리소스를 할당해야 하는지 판단할 수 있다.
이와 달리, 사용자의 요청이 간접 요청 방식일 경우, 제어모듈(120)은 최적방안과 대체방안을 기초로 미리 정해진 방법 중 어느 알고리즘을 활용하여 물리서버(200) 리소스를 할당해야 하는지 판단할 수 있다.
요청정보는 개별 리소스의 클라우드 서비스 제공 요청을 포함할 수 있다.
제어모듈(120)은 상기 요청정보에 따라 상기 요청정보에 대응되는 개별 리소스만을 가상화할 수 있다.
비용산출모듈(140)은 요청자에게 클라우드 서비스를 제공할 방안에 대해서 클라우드 서비스 비용을 산출할 수 있다.
일례로, 비용산출모듈(140)은 최적방안에 대한 클라우드 서비스 비용을 산출할 수 있다.
일례로, 비용산출모듈(140)은 대체방안에 대한 클라우드 서비스 비용을 산출할 수 있다.
서비스 비용은 미리 정해진 산출 방식에 의하 산정될 수 있다.
리소스를 많이 이용할수록 서비스 비용을 올라갈 것이며, 이에 대한 자세한 설명은 공지된 기술과 중복되는 한도에서 생략될 수 있다.
비용산출모듈(140)은 상기 대체방안에 대한 서비스 할인가격과 상기 최적방안에 대한 서비스 정상가격을 산출할 수 있다.
비용산출모듈(140)은 대체방안의 정상가격과 최적방안의 정상가격 사이에 가격을 대체방안의 할인가격으로 산출할 수 있다.
이를 통해, 이용자에게 대체방안을 선택하도록 유도할 수 있다.
대체방안은 최적방안보다 가격은 더 비싸지만 가상화되는 리소스의 자원이 더 클 수 있다.
더 큰 리소스를 할인된 가격으로 제공함으로써, 이용자가 대체방안을 선택하도록 유도할 수 있으며, 물리서버(200)의 과부화를 예방할 수 있다.
비용산출모듈(140)은 이용자의 악의도를 반영하여 대체방안의 할인율을 조정할 수 있다.
일례로, 비용산출모듈(140)은 이용자의 악의도가 높아질수록 대체방안의 정상가격에서 인가되는 할인율을 점점 낮출 수 있다.
반대로, 비용산출모듈(140)은 이용자의 악의도가 낮아질수록 대체방안의 정상가격에서 인가되는 할인율을 점점 높일 수 있다.
이는, 이용자가 현행 할인 프로세스를 악용하는 것을 방지하기 위함일 수 있다.
인터페이스모듈(150)은 이용자가 컴퓨팅 장치를 통해 요청정보를 입력할 수 있는 인터페이스를 산출할 수 있다.
인터페이스모듈(150)은 이용자가 이용하고 있는 클라우드 서비스의 현황 등을 살펴볼 수 있는 인터페이스를 산출할 수 있다.
인터페이스모듈(150)은 이용자가 추천되는 최적방안을 승낙하고 결재할 수 있는 인터페이스를 산출할 수 있다.
인터페이스모듈(150)은 이용자가 최적방안과 대체방안을 비교하고 선택하고 결재할 수 있는 인터페이스를 산출할 수 있다.
인터페이스모듈(150)은 비용산출모듈(140)에서 산출된 가격과 상기 대체방안과 상기 최적방안을 선택할 수 있는 인터페이스를 산출할 수 있다.
유저분석모듈(170)은 이용자의 컴퓨팅 장치 사용상태 정보를 분석하여 이용자의 악의도를 산출할 수 있다.
사용상태 정보는 컴퓨팅 장치의 시계열적인 워크로드 패턴 정보, 컴퓨팅장치의 운영체제 설치 변경 정보 및 컴퓨팅 장치의 응용프로그램 설치 리스트 정보를 포함할 수 있다.
유저분석모듈(170)은 이용자가 운영체제를 변경한 이력이 있다면 악의성을 높여서 악의도를 산출할 수 있다.
대부분의 컴퓨터 유저는 운영체제를 변경하지 않고 사용한다. 만일, 운영체제를 바꾼 이력이 있다면, 대체방안을 최적방안의 정상가격으로 서비스 받고 싶은 악의성이 있다고 추측하는 것이 바람직할 수 있다.
유저분석모듈(170)은 이용자가 컴퓨팅 장치를 이용하지 않는 시간대에 클라우드 서비스를 신청한 것이라면 악의성을 높여서 악의도를 산출할 수 있다.
유저분석모듈(170)은 이용자 컴퓨팅 장치(300)의 동작정보들을 기초로 이용자가 컴퓨팅 장치를 이용하지 않는 시간대를 산출할 수 있다. 물리서버(200)가 과부화가 되는 시간대를 파악하고, 해당 시간대에 이용하지도 않는 컴퓨팅 클라우드 서비스를 신청한 것이라면 이는 악의도를 높게 판단하는 것이 바람직할 수 있다.
유저분석모듈(170)은 이용자의 응용프로그램 설치 리스트와 이용자가 요청한 사용목적의 일치성을 기초로 악의성을 판단할 수 있다.
유저분석모듈(170)은 응용프로그램 설치 리스트와 사용목적이 일치할수록 악의성을 높게 판단할 수 있으며, 응용프로그램 설치 리스트와 사용목적이 일치하지 않을수록 악의성을 낮게 판단할 수 있다.
이용자가 설치되지도 않은 프로그램과 관련된 것을 컴퓨팅 장치를 통해 사용한다고 하는 경우 악의성을 높게 판단하는 것이 바람직할 수 있다.
유저분석모듈(170)은 악의도를 산출하는 악의도산출모델을 기계학습 및/또는딥러닝을 이용하여 산출할 수 있다.
이를 위해, 이용자의 컴퓨터 사용상태 정보와 이에 대한 악의도를 평가한 수 많은 데이터들을 기계학습 및/또는 딥러닝하여 악의도산출모델이 산출될 수 있으며, 이에 대한 자세한 설명은 공지된 기술 범위 내에서 생략될 수 있다.
저장모듈(180)은 클라우드 서버 운영 방법에 구현되는데 필요한 모든 정보들을 저장할 수 있다.
일례로, 저장 모듈은 내장 메모리 및/또는 외장 메모리를 포함할 수 있다.
일례로, 내장 메모리는 휘발성 메모리(예: DRAM, SRAM, 또는 SDRAM 등), 비휘발성 메모리(예: OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, 플래시 메모리, 하드 드라이브, 또는 솔리드 스테이트 드라이브 (SSD) 중 적어도 하나를 포함할 수 있다
외장 메모리는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱 등을 포함할 수 있다.
상술한 각각의 모듈들은 서로 유/무선으로 통신 가능하게 연결되어, 필요한 정보들을 상호 교환할 수 있다.
이하, 각 모듈들이 구현하는 클라우드 서버 운영 방법에 대해서 자세하게 서술하도록 한다.
도 4는 본 발명의 일 실시예에 따른 클라우드 서버 운영 방법의 순서도이다.
이하, 상술한 내용과 중복되는 한도에서 자세한 설명은 생략될 수 있다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 클라우드 서버 운영 방법은, 클라우드 서버 운영 시스템에 의해 구현되며, 이용자의 컴퓨팅 장치에게 클라우드 서비스를 제공하기 위한, 클라우드 서버 운영 방법에 있어서, 송수신모듈에 의해, 이용자의 컴퓨팅 장치로부터 클라우드 서비스에 대한 직접 요청정보 또는 간접 요청정보가 수신하는 단계 및 제어모듈에 의해, 상기 요청정보를 기초로 물리서버의 일부 리소스가 가상화되는 단계를 포함할 수 있다.
또한, 상기 클라우드 서버 운영 방법은, 상기 최적분석모듈에 의해, 이용자의 컴퓨팅 장치로부터 전달받은 동작정보를 기초로 미리 정해진 최적할당 방법으로 이용자에게 필요한 리소스 할당 방안인 최적방안이 산출되는 단계를 더 포함할 수 있다.
이용자는 자신의 컴퓨팅 장치를 통해 클라우드 서비스를 요청할 수 있으며, 이에 대한 요청정보를 송수신모듈이 수신할 수 있다.
만일, 송수신모듈이 직접 요청정보를 수신할 경우, 비용산출모듈은 직접 요청정보에 따른 클라우드 서비스를 제공하는 비용을 산출하며, 인터페이스모듈은 산출된 비용과 함께 이용자에게 클라우드 서비스의 승낙을 요청하는 인터페이스를 산할 수 있다.
다음으로, 이용자가 송수신모듈로부터 전달받은 인터페이스를 통해 서비스를 승낙하는 경우, 제어모듈은 요청받은 사항에 대해서 물리머신을 가상화하여 이용자에게 클라우드 서비스를 제공할 수 있다.
만일, 송수신모듈인 간접 요청정보를 수신하는 경우, 최적분석모듈은 요청정보와 동작정보를 이용하여 최적방안을 산출할 수 있다.
또한, 최적분석모듈은 가동정보와 최적방안을 기초로 제1 한계조건이 만족되는지 여부를 판단할 수 있다.
만일, 제1 한계조건이 만족되지 않는다면, 비용산출모듈은 최적방안에 대해서 정상가격을 산출하고, 인터페이스모듈은 최적방안과 정상가격을 이용자에서 표시될 수 있는 인터페이스를 산출할 수 있다.
이용자는 제공받은 인터페이스를 통해 최적방안을 승낙하고 결제하면, 제어모듈은 최적방안처럼 물리머신을 가상화하여 이용자에게 클라우드 서비스를 제공할 수 있다.
만일, 제1 한계조건이 만족된다면, 최적분석모듈은 대안방안을 산출할 수 있다.
다음으로, 최적분석모듈은 제2 한계조건이 만족되는지 여부를 판단할 수 있다.
만일, 제2 한계조건이 만족되지 않는다면, 비용산출모듈은 최적방안의 정상가격과 대체방안의 할인가격을 산출할 수 있다. 인터페이스모듈은 최적방안의 정상가격과 대체방안의 할인가격이 이용자에게 표시되며 최적방안과 대체방안 중에서 선택할 수 있는 인터페이스를 산출할 수 다.
이용자는 제공받은 인터페이스를 통해 최적방안 혹은 대체방안을 선택하고 결제하면, 제어모듈은 선택된 방안처럼 물리머신을 가상화하여 이용자에게 클라우드 서비스를 제공할 수 있다.
만일, 이용자가 대체방안을 선택하는 경우, 제어모듈은 이용자의 컴퓨팅 장치의 시계열적인 워크로드를 분석하여, 이용자가 워크로드가 증가하는 시간대에 필요한 만큼의 리소스를 가상화하여 클라우드 서비스를 지원할 수 있다.
이러한, 클라우드 보완 서비스를 추가적으로 제공함으로써, 이용자가 대체방안을 선택하도록 유도할 수 있다.
만일, 이용자가 최적방안을 선택하는 경우, 상술한 보완 서비스가 제공되지 않을 수 있다.
이러한, 보완 서비스 제공 여부는 인터페이스를 통해 이용자에게 안내될 때 함께 표시될 수 있다.
만일, 제2 한계조건이 만족된다면, 비용산출모듈은 최적방안 가격을 산출할 수 있다. 인터페이스모듈은 최적방안과 최적방안의 가격이 표시되는 인터페이스를 산출할 수 있다.
이용자는 제공받은 인터페이스를 통해 최적방안과 최적방안의 가격을 보고 승낙하여 결재를 진행할 수 있다.
다만, 제어모듈은 승낙받은 최적방안과 다르게 대체방안을 기준으로 물리머신을 가상화하여 이용자에게 클라우드 서비스를 제공할 수 있다.
이는, 이용자에게 더 좋은 서비스를 할인된 가격에 제공하는 것으로서, 물리서버 과부화와 이용자의 불만을 효과적으로 예방할 수 있다.
제1 한계조건이 만족되어 진행되는 프로세스는 클라우드 서비스 제공자 입장에서는 손해일 수 있다.
따라서, 이는 물리서버가 위급한 상황일 때만 활용되야할 프로세스이어야 하며, 이를 악용하는 사례를 차단할 필요가 있다.
따라서, 유저분석모듈은 제1 한계조건이 만족되어 최적방안의 가격으로 대체방안의 서비스를 받는 이용자 리스트를 저장하고, 제1 한계조건이 만족되어 제공받는 서비스의 횟수를 카운트할 수 있다.
유저분석모듈은 소정 횟수 이상으로 제1 한계조건이 만족되어 발생되는 클라우드 서비스를 받은 이용자에 대해서 악의도를 산출할 수 있다.
여기서, 소정 횟수는 3회일 수 있다.
다만, 이에 한정하지 않고, 소정 횟수는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
비용산출모듈은 악의도가 소정 기준 이상인 이용자에 대해서, 제1 한계조건이 만족되고, 제2 한계조건이 만족되지 않은 경우 대체방안을 산출하기 위한 할인율을 악의도에 따라 조정할 수 있다.
이를 통해, 악의적인 사람이 반복적으로 할인혜택을 받는 것을 제한할 수 있다.
첨부된 도면은 본 발명의 기술적 사상을 보다 명확하게 표현하기 위해, 본 발명의 기술적 사상과 관련성이 없거나 떨어지는 구성에 대해서는 간략하게 표현하거나 생략하였다.
상기에서는 본 발명에 따른 실시예를 기준으로 본 발명의 구성과 특징을 설명하였으나 본 발명은 이에 한정되지 않으며, 본 발명의 사상과 범위 내에서 다양하게 변경 또는 변형할 수 있음은 본 발명이 속하는 기술분야의 당업자에게 명백한 것이며, 따라서 이와 같은 변경 또는 변형은 첨부된 특허청구범위에 속함을 밝혀둔다.
110 : 수집모듈 120 : 분석모듈
130 : 추천모듈 140 : 예측모듈

Claims (10)

  1. 이용자의 컴퓨팅 장치와 통신하여 이용자의 컴퓨팅 장치에 클라우드 서비스를 제공하기 위한 클라우드 서버 운영 시스템에 있어서,
    이용자의 컴퓨팅 장치로부터 클라우드 서비스에 대한 요청정보를 수신하는 송수신모듈; 및
    상기 요청정보를 기초로 물리서버의 일부 리소스를 가상화하는 제어모듈;을 포함하고,
    상기 요청정보는,
    개별 리소스의 클라우드 서비스 제공 요청을 포함하고,
    상기 제어모듈은,
    상기 요청정보에 따라 상기 요청정보에 대응되는 개별 리소스만을 가상화하며, 미리 정해진 방법에 따라 물리서버의 리소스를 할당하여 상기 요청정보에 따라 물리서버의 리소스를 가상화하고,
    상기 미리 정해진 방법은,
    이용자가 클라우드 서비스를 일정 리소스 이상 요청한다면, 그리디 알고리즘을 활용하여 물리서버의 리소스를 할당하고,
    이용자가 클라우드 서비스를 일정 리소스 미만 요청한다면, 옵티멀 알고리즘을 활용하여 물리서버의 리소스를 할당하는 방법인,
    클라우드 서버 운영 시스템.
  2. 제1항에 있어서,
    상기 요청정보는,
    중앙처리장치에 대한 상세정보, 그래픽처리장치에 대한 상세정보, 주기억장치에 대한 상세정보 및 보조기억장치에 대한 상세정보 중 적어도 하나의 정보를 포함하는,
    클라우드 서버 운영 시스템.
  3. 제2항에 있어서,
    중앙처리장치에 대한 상세정보는,
    CPU 코어수 및 CPU 메모리에 대한 정보를 포함하고,
    그래픽처리장치에 대한 상세정보는,
    GPU속도, CPU메모리, CPU쿨링, CPU clock에 대한 정보이고,
    주기억장치에 대한 상세정보는,
    RAM 용량에 대한 정보를 포함하고,
    보조기억장치에 대한 상세정보는,
    Storage의 종류 및 storage의 크기에 대한 정보를 포함하는,
    클라우드 서버 운영 시스템.
  4. 이용자의 컴퓨팅 장치와 통신하여 이용자의 컴퓨팅 장치에 클라우드 서비스를 제공하기 위한 클라우드 서버 운영 시스템에 있어서,
    이용자의 컴퓨팅 장치로부터 클라우드 서비스에 대한 요청정보를 수신하는 송수신모듈;
    상기 요청정보를 기초로 물리서버의 일부 리소스를 가상화하는 제어모듈; 및
    상기 송수신모듈이 이용자의 컴퓨팅 장치로부터 전달받은 동작정보를 기초로 미리 정해진 최적할당 방법으로 이용자에게 필요한 리소스 할당 방안인 최적방안을 산출하는 최적분석모듈;를 포함하고,
    상기 요청정보는,
    개별 리소스의 클라우드 서비스 제공 요청을 포함하고,
    상기 제어모듈은,
    상기 요청정보에 따라 상기 요청정보에 대응되는 개별 리소스만을 가상화하고,
    상기 미리 정해진 최적할당 방법은,
    목적함수가 최소화되도록 상기 동작정보를 분석하며,
    상기 목적함수는,
    이용자의 서비스 비용과 관련된 제1 목적함수를 포함하는,
    클라우드 서버 운영 시스템.
  5. 제4항에 있어서,
    상기 최적분석모듈은,
    이용자의 컴퓨팅 장치와 호환되지 않는 리소스는 배제하여 상기 최적방안을 산출하는,
    클라우드 서버 운영 시스템.
  6. 제4항에 있어서,
    상기 제어모듈은,
    일부의 물리서버에서는 물리서버의 개별 리소스 단위로 가상화를 진행하고, 나머지 물리서버에서는 물리서버의 전체 리소스 단위로 가상화를 진행하며,
    상기 미리 정해진 최적할당 방법은,
    개별 리소스 단위로 가상화를 진행할지, 통합 리소스 단위로 가상화를 진행할지 여부도 함께 고려하여 상기 최적방안을 산출하는 방법인,
    클라우드 서버 운영 시스템.
  7. 제5항에 있어서,
    상기 최적분석모듈은,
    상기 최적방안의 대상이 되는 물리서버의 리소스가 제1 한계조건이 만족되는 경우, 상기 최적방안과 다른 방안인 대체방안을 산출하며,
    상기 대체방안은,
    상기 최적방안이 개별 리소스 단위로 가상화되는 방안이라면, 통합 리소스 단위로 가상화하는 방안이고,
    상기 최적방안이 통합 리소스 단위로 가상화되는 방안이라면, 개별 리소스 단위로 가상화하는 방안인,
    클라우드 서버 운영 시스템.
  8. 제7항에 있어서,
    상기 최적방안에 대한 서비스 비용을 산출하는 비용산출모듈; 및
    이용자의 컴퓨팅 장치에 제공되는 인터페이스를 산출하는 인터페이스모듈;을 더 포함하고,
    상기 비용산출모듈은,
    상기 대체방안에 대한 서비스 할인가격과 상기 최적방안에 대한 서비스 정상가격을 산출하며,
    상기 인터페이스모듈은,
    상기 비용산출모듈에서 산출된 가격과 상기 대체방안과 상기 최적방안을 선택할 수 있는 인터페이스를 산출하는,
    클라우드 서버 운영 시스템.
  9. 클라우드 서버 운영 시스템에 의해 구현되며, 이용자의 컴퓨팅 장치에게 클라우드 서비스를 제공하기 위한, 클라우드 서버 운영 방법에 있어서,
    송수신모듈에 의해, 이용자의 컴퓨팅 장치로부터 클라우드 서비스에 대한 요청정보가 수신하는 단계; 및
    제어모듈에 의해, 상기 요청정보를 기초로 물리서버의 일부 리소스가 가상화되는 단계;를 포함하고,
    상기 요청정보는,
    필요한 리소스를 지정한 이용자의 요청에 대한 정보로서, 개별 리소스의 클라우드 서비스 제공 요청을 포함하고,
    상기 제어모듈은,
    상기 요청정보에 따라 상기 요청정보에 대응되는 개별 리소스만을 가상화하며, 미리 정해진 방법에 따라 물리서버의 리소스를 할당하여 상기 요청정보에 따라 물리서버의 리소스를 가상화하고,
    상기 미리 정해진 방법은,
    이용자가 클라우드 서비스를 일정 리소스 이상 요청한다면, 그리디 알고리즘을 활용하여 물리서버의 리소스를 할당하고,
    이용자가 클라우드 서비스를 일정 리소스 미만 요청한다면, 옵티멀 알고리즘을 활용하여 물리서버의 리소스를 할당하는 방법인,
    클라우드 서버 운영 방법.
  10. 제9항에 있어서,
    최적분석모듈에 의해, 이용자의 컴퓨팅 장치로부터 전달받은 동작정보를 기초로 미리 정해진 최적할당 방법으로 이용자에게 필요한 리소스 할당 방안인 최적방안이 산출되는 단계;를 더 포함하고,
    상기 미리 정해진 최적할당 방법은,
    목적함수가 최소화되도록 상기 동작정보를 분석하며,
    상기 목적함수는,
    이용자의 서비스 비용과 관련된 제1 목적함수를 포함하는,
    클라우드 서버 운영 방법.
KR1020220190619A 2022-12-30 2022-12-30 리소스의 개별적 가상화를 구현한 클라우드 서버 운영 시스템 및 클라우드 서버 운영 방법 KR102569885B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220190619A KR102569885B1 (ko) 2022-12-30 2022-12-30 리소스의 개별적 가상화를 구현한 클라우드 서버 운영 시스템 및 클라우드 서버 운영 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220190619A KR102569885B1 (ko) 2022-12-30 2022-12-30 리소스의 개별적 가상화를 구현한 클라우드 서버 운영 시스템 및 클라우드 서버 운영 방법

Publications (1)

Publication Number Publication Date
KR102569885B1 true KR102569885B1 (ko) 2023-08-23

Family

ID=87848835

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220190619A KR102569885B1 (ko) 2022-12-30 2022-12-30 리소스의 개별적 가상화를 구현한 클라우드 서버 운영 시스템 및 클라우드 서버 운영 방법

Country Status (1)

Country Link
KR (1) KR102569885B1 (ko)

Citations (6)

* 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
KR20140110486A (ko) * 2013-03-08 2014-09-17 주식회사 알투소프트 모바일 클라우드 컴퓨팅 환경에서의 리소스 관리 시스템 및 그 방법
KR20170000567A (ko) * 2015-06-24 2017-01-03 한국전자통신연구원 가상 데스크탑 서비스를 위한 장치 및 방법
KR20190081306A (ko) * 2017-12-29 2019-07-09 한국전자통신연구원 빅데이터 분석 소프트웨어에 대한 자원 할당 방법, 상기 방법을 이용하는 가상화 자원 할당 장치
KR20200122589A (ko) * 2019-04-18 2020-10-28 한국전자통신연구원 클라우드 리소스 할당 장치 및 방법
KR20220044717A (ko) * 2019-08-07 2022-04-11 인텔 코포레이션 작업 스케줄링 효율을 향상시키기 위한 방법, 시스템, 제품 및 장치

Patent Citations (6)

* 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
KR20140110486A (ko) * 2013-03-08 2014-09-17 주식회사 알투소프트 모바일 클라우드 컴퓨팅 환경에서의 리소스 관리 시스템 및 그 방법
KR20170000567A (ko) * 2015-06-24 2017-01-03 한국전자통신연구원 가상 데스크탑 서비스를 위한 장치 및 방법
KR20190081306A (ko) * 2017-12-29 2019-07-09 한국전자통신연구원 빅데이터 분석 소프트웨어에 대한 자원 할당 방법, 상기 방법을 이용하는 가상화 자원 할당 장치
KR20200122589A (ko) * 2019-04-18 2020-10-28 한국전자통신연구원 클라우드 리소스 할당 장치 및 방법
KR20220044717A (ko) * 2019-08-07 2022-04-11 인텔 코포레이션 작업 스케줄링 효율을 향상시키기 위한 방법, 시스템, 제품 및 장치

Similar Documents

Publication Publication Date Title
US10929165B2 (en) System and method for memory resizing in a virtual computing environment
US10565083B2 (en) Simulating hosted application performance
US10365955B2 (en) Resource allocation in cloud environment
KR101977726B1 (ko) 가상 데스크탑 서비스 방법 및 장치
US8832239B2 (en) System, method and program product for optimizing virtual machine placement and configuration
US8825863B2 (en) Virtual machine placement within a server farm
US8555276B2 (en) Systems and methods for transparently optimizing workloads
US20100223383A1 (en) System for trigger-based "gated" dynamic virtual and physical system provisioning
US9152640B2 (en) Determining file allocation based on file operations
US11064041B2 (en) Apparatus for providing cloud service using cloud service brokerage based on multiple clouds and method thereof
JP2014527221A (ja) クラウド上のアプリケーション・リソース・マネージャ
US10666570B2 (en) Computing infrastructure resource-workload management methods and apparatuses
Lucas‐Simarro et al. Cost optimization of virtual infrastructures in dynamic multi‐cloud scenarios
US11144500B2 (en) Assignment of data within file systems
WO2012125143A1 (en) Systems and methods for transparently optimizing workloads
US20180026855A1 (en) Network management system, device, and method
JP2011210134A (ja) 管理サーバ、仮想マシン管理方法および仮想マシン管理プログラム
US9703597B2 (en) Dynamic timeout period adjustment of service requests
Sahal et al. Effective virtual machine configuration for cloud environment
US9501303B1 (en) Systems and methods for managing computing resources
KR102569885B1 (ko) 리소스의 개별적 가상화를 구현한 클라우드 서버 운영 시스템 및 클라우드 서버 운영 방법
Mahato et al. Distributed bandwidth selection approach for cooperative peer to peer multi-cloud platform
KR102613662B1 (ko) 그리디/옵티멀 알고리즘에 기반한 가상화 서비스 제공 방법 및 가상화 서비스 제공 시스템
KR20170081404A (ko) 가상 머신 추천 장치 및 방법
CN106775942B (zh) 一种云应用导向的固态盘缓存管理系统及方法

Legal Events

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