KR102092937B1 - 자원 예측 장치 및 클라우드 서버 - Google Patents

자원 예측 장치 및 클라우드 서버 Download PDF

Info

Publication number
KR102092937B1
KR102092937B1 KR1020160117966A KR20160117966A KR102092937B1 KR 102092937 B1 KR102092937 B1 KR 102092937B1 KR 1020160117966 A KR1020160117966 A KR 1020160117966A KR 20160117966 A KR20160117966 A KR 20160117966A KR 102092937 B1 KR102092937 B1 KR 102092937B1
Authority
KR
South Korea
Prior art keywords
resource
penalty cost
cost
direction value
virtual
Prior art date
Application number
KR1020160117966A
Other languages
English (en)
Other versions
KR20180029635A (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 KR1020160117966A priority Critical patent/KR102092937B1/ko
Publication of KR20180029635A publication Critical patent/KR20180029635A/ko
Application granted granted Critical
Publication of KR102092937B1 publication Critical patent/KR102092937B1/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/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

가상 자원에 대한 자원 요구량을 예측하는 장치는 클라우드 서버에서 기생성된 적어도 하나의 가상 머신에 의해 복수의 사용자 단말로부터의 요청이 처리되는 응답 시간에 기초하여 제 1 서비스 벌칙 비용(penalty cost)을 도출하고, 상기 클라우드 서버의 가상 자원을 통해 제공되는 CPU 공유량 및 메모리 공유량을 포함하는 자원 공유량에 기초하여 제 2 서비스 벌칙 비용을 도출하는 벌칙 비용 도출부, 상기 제 1 서비스 벌칙 비용 및 상기 제 2 서비스 벌칙 비용을 비교하여 요구되는 자원 예측값을 도출하는 자원 예측부 및 상기 자원 예측값에 기초하여 상기 클라우드 서버로 상기 가상 자원의 동적 할당을 요청하는 할당 요청부를 포함한다.

Description

자원 예측 장치 및 클라우드 서버{APPARATUS FOR PREDICTING RESOURCE AND CLOUD SERVER}
본 발명은 자원 예측 장치 및 클라우드 서버에 관한 것이다.
클라우드 컴퓨팅(Cloud Computing)이란 인터넷 기반으로 사용자가 필요한 소프트웨어를 자신의 컴퓨터에 설치하지 않고도 인터넷 접속을 통해 언제든 사용할 수 있고, 동시에 각종 정보통신 기기로 데이터를 손쉽게 공유할 수 있는 사용 환경을 말한다. 클라우드 컴퓨팅은 빅데이터의 처리를 위해 이용될 수 있고, 빅데이터의 처리를 위해서는 다수의 서버를 통한 분산 처리가 필수적이다.
이러한 클라우드 컴퓨팅 환경에서 데이터를 분산 처리하는 기술과 관련하여, 선행기술인 한국등록특허 제 10-1195123호는 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법에 대해 개시하고 있다.
서비스 제공자는 클라우드 컴퓨팅 환경을 제공하기 위해 고객과 서비스 수준 협약(SLA, Service Level Agreement)을 맺고, 서비스 수준 협약에 기초하여 사전에 정의된 수준의 서비스를 고객에게 제공할 수 있게 된다.
종래에는 정적 서비스 수준 협약에 따라 네트워크의 사정 등에 관계없이 동일한 서비스를 제공하였으며, 이로 인해 서비스 수준 벌칙 비용이 많이 발생한다는 단점을 가지고 있었다.
클라우드 기반의 데이터베이스로부터 사용자의 요구량을 예측하고, 예측된 결과값을 이용하여 다음에 제공할 자원의 양을 결정하는 자원 예측 장치 및 클라우드 서버를 제공하고자 한다. 정확한 자원 예측을 통해 클라우드 기반의 데이터베이스의 자원 공유량을 조절하여 필요한 만큼의 자원을 사용함으로써, 서비스에 소요되는 비용을 절감시키는 자원 예측 장치 및 클라우드 서버를 제공하고자 한다. 자원 공유량을 동적으로 조절함으로써, 사용자의 QoS를 만족시킬 수 있는 자원 예측 장치 및 클라우드 서버를 제공하고자 한다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는, 클라우드 서버에서 기생성된 적어도 하나의 가상 머신에 의해 복수의 사용자 단말로부터의 요청이 처리되는 응답 시간에 기초하여 제 1 서비스 벌칙 비용(penalty cost)을 도출하고, 상기 클라우드 서버의 가상 자원을 통해 제공되는 CPU 공유량 및 메모리 공유량을 포함하는 자원 공유량에 기초하여 제 2 서비스 벌칙 비용을 도출하는 벌칙 비용 도출부, 상기 제 1 서비스 벌칙 비용 및 상기 제 2 서비스 벌칙 비용을 비교하여 요구되는 자원 예측값을 도출하는 자원 예측부 및 상기 자원 예측값에 기초하여 상기 클라우드 서버로 상기 가상 자원의 동적 할당을 요청하는 할당 요청부를 포함하는 것인 자원 예측 장치를 제공할 수 있다.
일례에 따르면, 상기 자원 예측값은 상기 CPU 공유량에 대응되는 제 1 방향값 및 상기 메모리 공유량에 대응되는 제 2 방향값을 포함할 수 있다. 또한, 상기 자원 공유량은 상기 가상 머신의 수를 더 포함하고, 상기 자원 예측값은 상기 가상 머신의 수에 대응되는 제 3 방향값을 더 포함할 수 있다.
일례에 따르면, 상기 벌칙 비용 도출부는 상기 복수의 사용자 단말과 각각 대응되는 가상 머신에 의해 처리되는 요청에 대한 응답 시간이 기준값을 초과하는지 여부에 기초하여 상기 제 1 서비스 벌칙 비용을 도출할 수 있다. 상기 벌칙 비용 도출부는 상기 요청을 처리하는 가상 머신에 따라 가중치를 달리 적용하여 상기 제 1 서비스 벌칙 비용을 도출할 수 있다.
일례에 따르면, 상기 자원 예측부는 상기 CPU 공유량, 상기 메모리 공유량 및 상기 가상 머신의 수를 3차원 배열의 구성 요소로서 적용하고, 상기 3차원 배열을 이용하여 상기 제 1 서비스 벌칙 비용 및 상기 제 2 서비스 벌칙 비용으로부터 상기 제 1 방향값, 상기 제 2 방향값 및 상기 제 3 방향값을 도출할 수 있다.
일례에 따르면, 상기 자원 예측부는 상기 제 2 방향값을 조절하여 상기 메모리 공유량이 한계에 도달된 경우, 상기 제 1 방향값을 조절할 수 있다. 또한, 상기 자원 예측부는 상기 제 1 방향값을 조절하여 상기 CPU 공유량이 한계에 도달된 경우, 상기 제 3 방향값을 조절하고, 상기 할당 요청부는 상기 조절된 제 3 방향값에 따라 가상 머신의 추가 생성을 상기 클라우드 서버로 요청할 수 있다.
일례에 따르면, 상기 벌칙 비용 도출부는 상기 가상 머신의 수 및 성능 중 적어도 하나에 기초하여 추가되는 인프라스트럭처 비용을 도출하고, 상기 인프라스트럭처 비용을 상기 제 2 서비스 벌칙 비용에 추가할 수 있다. 상기 인프라스트럭처 비용은 상기 제 3 방향값에 따라 변경되는 것일 수 있다.
일례에 따르면, 상기 벌칙 비용 도출부는 상기 제 3 방향 값에 따라 가상 머신이 추가 생성되는 경우, 상기 가상 머신의 추가 생성에 따라 발생하는 지연 시간에 의한 지연 비용을 도출하고, 상기 지연 비용을 상기 제 2 서비스 벌칙 비용에 추가할 수 있다.
본 발명의 다른 실시예는, 기설정된 서비스 수준 협약에 기초하여 가상 자원으로부터 적어도 하나 이상의 가상 머신을 생성하는 가상 머신 생성부, 상기 생성된 가상 머신을 통해 복수의 사용자 단말로부터의 요청을 처리하는 처리부 및 자원 예측 장치로부터 전송받은 자원 예측값에 기초하여 상기 가상 자원을 동적으로 할당하는 할당부를 포함하고, 상기 자원 예측값은 상기 복수의 사용자 단말로부터의 요청이 상기 가상 머신에 의해 처리되는 응답 시간에 기초하여 도출된 제 1 서비스 벌칙 비용(penalty cost) 및 상기 클라우드 서버의 가상 자원을 통해 제공되는 CPU 공유량 및 메모리 공유량을 포함하는 자원 공유량에 기초하여 도출되는 제 2 서비스 벌칙 비용에 기초하여 상기 자원 예측 장치에 의해 도출되는 것인 클라우드 서버를 제공할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 클라우드 기반의 데이터베이스로부터 사용자의 요구량을 예측하고, 예측된 결과값을 이용하여 다음에 제공할 자원의 양을 결정하는 자원 예측 장치 및 클라우드 서버를 제공할 수 있다. 정확한 자원 예측을 통해 클라우드 기반의 데이터베이스의 자원 공유량을 조절하여 필요한 만큼의 자원을 사용함으로써, 서비스에 소요되는 비용을 절감시키는 자원 예측 장치 및 클라우드 서버를 제공할 수 있다. 자원 공유량을 동적으로 조절함으로써, 사용자의 QoS를 만족시킬 수 있는 자원 예측 장치 및 클라우드 서버를 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 자원 예측 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 자원 예측 장치의 구성도이다.
도 3a 및 도 3b는 본 발명의 일 실시예에 따른 제 1 서비스 벌칙 비용을 도출하는 과정을 설명하기 위한 예시적인 도면이다.
도 4a 및 도 4b는 본 발명의 일 실시예에 따른 지연 비용이 반영된 제 2 서비스 벌칙 비용을 설명하기 위한 예시적인 도면이다.
도 5는 본 발명의 일 실시예에 따른 자원 예측값을 도출하는 과정을 설명하기 위한 예시적인 도면이다.
도 6은 본 발명의 일 실시예에 따른 비용 정의 테이블을 도시한 예시적인 도면이다.
도 7은 본 발명의 일 실시예에 따른 기존의 정적 서비스 수준 협약 기술과 동적 서비스 수준 협약 기술을 비교한 예시적인 도면이다.
도 8은 본 발명의 일 실시예에 따른 자원 예측 장치에서 가상 자원에 대한 자원 요구량을 예측하는 방법의 순서도이다.
도 9는 본 발명의 일 실시예에 따른 클라우드 서버의 구성도이다.
도 10은 본 발명의 일 실시예에 따른 클라우드 서버에서 자원 예측 장치와 연동하여 가상 자원을 공유하는 방법의 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 자원 예측 시스템의 구성도이다. 도 1을 참조하면 복수의 사용자 단말(110), 자원 예측 장치(120) 및 클라우드 서버(130)를 포함할 수 있다. 도 1에 도시된 복수의 사용자 단말(110), 자원 예측 장치(120) 및 클라우드 서버(130)는 자원 예측 시스템(1)에 의하여 제어될 수 있는 구성요소들을 예시적으로 도시한 것이다.
도 1의 자원 예측 시스템(1)의 각 구성요소들은 일반적으로 네트워크(network)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 자원 예측 장치(120)는 네트워크를 통해 메인 서버(130)와 동시에 또는 시간 간격을 두고 연결될 수 있다.
네트워크는 단말들 및 서버들과 같은 각각의 노드 상호간에 정보교환이 가능한 연결구조를 의미하는 것으로, 이러한 네트워크의 일예는, Wi-Fi, 블루투스(Bluetooth), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 3G, 4G, 5G, LTE 등이 포함되나 이에 한정되지는 않는다.
복수의 사용자 단말(110)은 단말 내에서 발생되는 쿼리에 대한 처리를 클라우드 서버(130)로 요청할 수 있다. 복수의 사용자 단말(110)은 클라우드 서버(130)에 의해 생성된 가상 머신을 통해 처리된 요청에 대한 응답을 수신할 수 있다.
자원 예측 장치(120)는 클라우드 서버(130)에서 기생성된 적어도 하나의 가상 머신에 의해 복수의 사용자 단말(110)로부터의 요청이 처리되는 응답 시간에 기초하여 제 1 서비스 벌칙 비용(penalty cost)을 도출할 수 있다. 예를 들어, 자원 예측 장치(120)는 복수의 사용자 단말(110)과 각각 대응되는 가상 머신에 의해 처리되는 요청에 대한 응답 시간이 기준값을 초과하는지 여부에 기초하여 제 1 서비스 벌칙 비용을 도출할 수 있다. 자원 예측 장치(120)는 요청을 처리하는 가상 머신에 따라 가중치를 달리 적용하여 제 1 서비스 벌칙 비용을 도출할 수 있다.
자원 예측 장치(120)는 클라우드 서버(130)의 가상 자원을 통해 제공되는 CPU 공유량, 메모리 공유량 및 가상 머신의 수를 포함하는 자원 공유량에 기초하여 제 2 서비스 벌칙 비용을 도출할 수 있다. 자원 예측 장치(120)는 가상 머신의 수 및 성능 중 적어도 하나에 기초하여 추가되는 인프라스트럭처 비용을 도출하고, 인프라스트럭처 비용을 제 2 서비스 벌칙 비용에 추가할 수 있다. 또한, 자원 예측 장치(120)는 예측된 방향값에 따라 가상 머신이 추가 생성되는 경우, 가상 머신의 추가 생성에 따라 발생하는 지연 시간에 의한 지연 비용을 도출하고, 지연 비용을 제 2 서비스 벌칙 비용에 추가할 수 있다.
자원 예측 장치(120)는 제 1 서비스 벌칙 비용 및 제 2 서비스 벌칙 비용을 비교하여 요구되는 자원 예측값을 도출할 수 있다. 자원 예측값은 CPU 공유량에 대응되는 제 1 방향값, 메모리 공유량에 대응되는 제 2 방향값 및 가상 머신의 수에 대응되는 제 3 방향값을 포함할 수 있으며, 자원 예측 장치(120)는 CPU 공유량, 메모리 공유량 및 가상 머신의 수를 3차원 배열의 구성 요소로서 적용할 수 있다. 예를 들어, 자원 예측 장치(120)는 3차원 배열을 이용하여 제 1 서비스 벌칙 비용 및 제 2 서비스 벌칙 비용으로부터 제 1 방향값, 제 2 방향값 및 제 3 방향값을 도출할 수 있다. 이 때, 자원 예측 장치(120)는 제 2 방향값을 조절하여 메모리 공유량이 한계에 도달된 경우, 제 1 방향값을 조절하고, 제 1 방향값을 조절하여 CPU 공유량이 한계에 도달된 경우, 제 3 방향값을 조절할 수 있다. 또한, 자원 예측 장치(120)는 제 3 방향값에 따라 인프라스트럭처 비용을 변경할 수 있다.
자원 예측 장치(120)는 자원 예측값에 기초하여 클라우드 서버(130)로 가상 자원의 동적 할당을 요청할 수 있다. 예를 들어, 자원 예측 장치(120)는 제 1 방향값을 조절하여 CPU 공유량이 한계에 도달한 경우, 제 3 방향값을 조절함으로써, 가상 머신의 추가 생성을 클라우드 서버(130)로 요청할 수 있다.
클라우드 서버(130)는 기설정된 서비스 수준 협약에 기초하여 가상 자원으로부터 적어도 하나 이상의 가상 머신을 생성할 수 있다. 클라우드 서버(130)는 생성된 가상 머신을 통해 복수의 사용자 단말(110)로부터의 요청을 처리할 수 있다.
클라우드 서버(130)는 자원 예측 장치(120)로부터 전송받은 자원 예측값에 기초하여 가상 자원을 동적으로 할당할 수 있다. 예를 들어, 자원 예측 장치(120)에서 제 2 방향값을 조절하여 메모리 공유량이 한계에 도달한 경우 및 제 1 방향값을 조절하여 CPU 공유량이 한계에 도달한 경우 중 적어도 하나에 기초하여 제 3 방향값을 조절하는 경우, 클라우드 서버(130)는 조절된 제 3 방향값에 따라 가상 머신을 추가 생성할 수 있다. 이 때, 클라우드 서버(130)는 가상 머신의 수 및 성능 중 적어도 하나에 기초하여 추가되는 인프라스트럭처 비용을 더 고려하여 가상 자원을 동적으로 할당할 수 있다. 또한, 클라우드 서버(130)는 제 3 방향값에 따라 가상 머신의 수가 추가 생성되는 경우, 가상 머신의 추가 생성에 따라 발생하는 지연 시간에 기초하여 추가되는 지연 비용을 더 고려하여 가상 자원을 동적으로 할당할 수 있다.
도 2는 본 발명의 일 실시예에 따른 자원 예측 장치의 구성도이다. 도 2를 참조하면, 자원 예측 장치(120)는 벌칙 비용 도출부(210), 자원 예측부(220) 및 할당 요청부(230)를 포함할 수 있다.
벌칙 비용 도출부(210)는 평균 서비스 수준 협약 비용(Average SLA cost)의 계산에 필요한 제 1 서비스 벌칙 비용 및 제 2 서비스 벌칙 비용을 계산할 수 있다.
예를 들어, 벌칙 비용 도출부(210)는 클라우드 서버(130)에서 기생성된 적어도 하나의 가상 머신에 의해 복수의 사용자 단말(110)로부터의 요청이 처리되는 응답 시간에 기초하여 제 1 서비스 벌칙 비용을 도출할 수 있다. 제 1 서비스 벌칙 비용을 도출하는 과정에 대해서는 도 3a 및 도 3b를 통해 상세히 설명하도록 한다.
도 3a 및 도 3b는 본 발명의 일 실시예에 따른 제 1 서비스 벌칙 비용을 도출하는 과정을 설명하기 위한 예시적인 도면이다.
도 3a는 본 발명의 일 실시예에 따른 응답 시간에 따른 이득 비용 및 벌칙 비용을 도시한 예시적인 도면이다. 도 3a를 참조하면, 벌칙 비용 도출부(210)는 복수의 사용자 단말(110)과 각각 대응되는 가상 머신에 의해 처리되는 요청에 대한 응답 시간이 기준값을 초과하는지 여부에 기초하여 제 1 서비스 벌칙 비용을 도출할 수 있다. 이를 위해, 벌칙 비용 도출부(210)는 응답 시간(Xr)을 기준으로 이득 비용(300)과 벌칙 비용(310)을 계산할 수 있다.
[수학식 1]
Figure 112016089408303-pat00001
수학식 1은 제 1 서비스 벌칙 비용 값을 도출하는 식일 수 있다. 수학식 1을 참조하면, 벌칙 비용 도출부(210)는 응답 시간의 측정값이 서비스 수준 협약(SLA, Service Level Agreement)에 명시된 기준 값인 Xr보다 작으면 이득 비용(300)을 부여하고, 응답 시간의 측정값이 서비스 수준 협약(SLA)에 명시된 기준 값인 Xr보다 크면 벌칙 비용(310)을 부여할 수 있다. 벌칙 비용 도출부(210)는 이득 비용(300) 및 벌칙 비용(310)의 합을 1로 표현하여 수학식 1과 같이 정의할 수 있다.
[수학식 2]
Figure 112016089408303-pat00002
수학식 2는 평균 벌칙 비용 값을 도출하는 식일 수 있다. 수학식 2를 참조하면, 벌칙 비용 도출부(210)는 수학식 1에서 도출된 제 1 서비스 벌칙 비용 값을 대입하여 평균 서비스 벌칙 비용 값을 정의할 수 있다. 벌칙 비용 도출부(210)는 복수의 사용자 단말로부터의 요청이 발생할 때 마다, 수학식 1에서 도출된 제 1 서비스의 벌칙 비용 값을 계산하고, 계산된 결과 값을 총 요청 수로 나눔으로써, 평균 서비스 벌칙 비용 값을 도출할 수 있다. 예를 들어, 사용자 단말(110)로부터 10개의 요청이 발생되었으나, 이 중 1개의 요청이 처리되지 못하였다면, 1/10=0.1이라는 평균 서비스 벌칙 비용 값을 도출할 수 있다. 벌칙 비용 도출부(210)는 수학식 2를 통해 도출된 평균 서비스 벌칙 비용 값을 데이터베이스의 자원 공유량으로 계산된 평균 서비스 벌칙 비용 값과 비교할 수 있다.
도 3b는 본 발명의 일 실시예에 따른 가상 머신에 따라 가중치를 다르게 적용하는 과정을 설명하기 위한 예시적인 도면이다. 도 3b를 참조하면, 벌칙 비용 도출부(210)는 요청을 처리하는 가상 머신의 성능 또는 요청이 처리되는 응답 시간에 따라 가중치를 달리 적용하여 제 1 서비스 벌칙 비용을 도출할 수 있다. 예를 들어, 요청은 해당 가상 머신의 성능이 좋을수록 빠른 시간 내에 처리될 수 있다. 따라서 가중치는 요청이 처리되는 응답 시간에 따라 Slow(320), Normal(321), Fast(322)로 구분되어 요청마다 달리 적용될 수 있다.
[수학식 3]
Figure 112016089408303-pat00003
수학식 3은 가중치를 적용한 제 1 서비스 벌칙 비용 함수를 정의한 식일 수 있다. 수학식 3을 참조하면, 벌칙 비용 도출부(210)는 제 1 서비스 벌칙 비용 함수를 이용하여 시간 t 간격에서 i번째 평균 서비스 벌칙 비용을 계산할 수 있다.
[수학식 4]
Figure 112016089408303-pat00004
수학식 4는 전체 가중치가 적용된 제 1 서비스 벌칙 비용의 식일 수 있다. 수학식 4를 참조하면, 벌칙 비용 도출부(210)는 N개의 사용자 단말(110)의 개수가 주어진 경우, 전체 가중치를 적용하여 제 1 서비스 벌칙 비용을 계산할 수 있다.
다시 도 2로 돌아와서, 벌칙 비용 도출부(210)는 클라우드 서버(130)의 가상 자원을 통해 제공되는 CPU 공유량, 메모리 공유량 및 가상 머신의 수를 포함하는 자원 공유량에 기초하여 제 2 서비스 벌칙 비용을 도출할 수 있다.
[수학식 5]
Figure 112016089408303-pat00005
수학식 5는 제 2 서비스 벌칙 비용을 도출하는 식일 수 있다. 수학식 5를 참조하면, 벌칙 비용 도출부(210)는 현재 제공되고 있는 CPU 공유량, 메모리 공유량, 가상 머신의 복제 개수 및 요청률을 포함하는 자원 공유량을 이용하여 제 2 서비스 벌칙 비용을 계산할 수 있다. 수학식 4를 이용한 계산 결과에 따르면, CPU 공유량, 메모리 공유량, 가상 머신의 복제 개수가 증가하면, 평균 쿼리 비용이 증가하게 되며, 요청 입력 비율과 시스템 부하가 증가하게 됨으로써, 제 2 서비스 벌칙 비용이 증가하게 된다. 예를 들어, 수학식 4에 따르면, 1%의 CPU 공유량의 경우, 약 0.5%의 비용이 감소하고, 가상 머신의 복제 개수가 1대 증가하는 경우, 4.3%의 비용이 감소될 수 있다.
벌칙 비용 도출부(210)는 가상 머신의 수 및 성능 중 적어도 하나에 기초하여 추가되는 인프라스트럭처 비용을 도출하고, 인프라스트럭처 비용을 제 2 서비스 벌칙 비용에 추가할 수 있다. 가상 머신의 성능과 개수는 인프라스트럭처 비용에 영향을 주며, 가상 머신의 추가와 삭제는 서비스 수준 협약(SLA, Service Level Agreement)에 영향을 주게 된다.
[수학식 6]
Figure 112016089408303-pat00006
수학식 6는 가상 머신의 수(VM(t))를 반영한 인프라스트럭처 비용을 정의한 식일 수 있다.
[수학식 7]
Figure 112016089408303-pat00007
수학식 7은 변경 사항이 반영된 인프라스트럭처 비용을 정의한 식일 수 있다. 도 7을 참조하면, 다음 가상 머신에서 프로비저닝을 수행하면, 인프라스트럭처 비용이 변경될 수 있으며, 벌칙 비용 도출부(210)는 이전의 인프라스트럭처 비용과 가상 머신의 추가 또는 삭제를 인프라스트럭처 비용에 반영할 수 있다. 예를 들어, 가상 머신이 추가되는 경우 D3는 1이고, 가상 머신이 유지되는 경우 D3는 0이고, 가상 머신이 삭제되는 경우 D3는 -1일 수 있다.
벌칙 비용 도출부(210)는 자원 예측부(220)에서 도출된 가상 머신의 수에 대응되는 제 3 방향 값에 따라 가상 머신이 추가 생성되는 경우, 가상 머신의 추가 생성에 따라 발생하는 지연 시간에 의한 지연 비용을 도출하고, 지연 비용을 제 2 서비스 벌칙 비용에 추가할 수 있다. 예를 들어, 가상 머신이 추가 생성되는 경우, 추가 생성된 가상 머신은 기존의 가상 머신과 바로 연동되지 않고, IP 주소 할당부터 데이터베이스의 구축까지의 지연 시간이 발생된다. 이에 따라, 지연 시간 동안에 기존의 가상 머신의 데이터베이스로부터의 데이터 처리 요청이 들어오면, 처리 실패가 발생되기 때문에 지연 비용이 발생될 수 밖에 없다. 지연 비용에 대해서는 도 4a 및 도 4b를 통해 상세히 설명하도록 한다.
도 4a 및 도 4b는 본 발명의 일 실시예에 따른 지연 비용이 반영된 제 2 서비스 벌칙 비용을 설명하기 위한 예시적인 도면이다.
도 4a는 본 발명의 일 실시예에 따른 가상 머신의 시간에 따른 서비스 벌칙 비용을 도시한 예시적인 도면이다. 도 4a를 참조하면, 시간 간격(400)에 따른 평균 서비스 벌칙 비용(410)은 x축을 시간 간격(400), y축을 평균 서비스 벌칙 비용(410)으로 하여 가상 머신의 데이터베이스에 요청된 데이터에 대한 처리 정도를 나타낼 수 있다.
예를 들어, 가상 머신의 데이터베이스는 시간 간격(400) '80'에서부터 서비스 벌칙 비용(410)이 증가되는 것을 알 수 있다. 이 때, 증가된 서비스 벌칙 비용은 가상 머신의 데이터베이스에서 요청된 데이터를 처리하지 못함으로써, 데이터 처리의 한계에 도달(420)하여 발생된 것일 수 있다.
가상 머신의 데이터베이스는 시간 간격(400) '95'에서 가상 머신이 추가 생성된 가상 머신과 연동되면서, 서비스 벌칙 비용이 낮아지는 것을 알 수 있다.
[수학식 8]
Figure 112016089408303-pat00008
수학식 8은 가상 머신의 추가 생성 시 지연 시간을 도출하는 식일 수 있다. 수학식 8을 참조하면, 벌칙 비용 도출부(210)는 서비스 벌칙 비용의 증가를 예방하기 위해, 가상 머신의 추가 생성(D3= 1인 경우)에 따른 지연 시간을 도출할 수 있다.
도 4b는 본 발명의 일 실시예에 따른 가상 머신의 지연 시간에 따른 서비스 벌칙 비용의 차이 분포를 도시한 예시적인 도면이다. 도 4b를 참조하면, 벌칙 비용 도출부(210)는 지연 시간이 발생하기 시작한 전체 시간(T, 430) 중 지연 시간이 발생한 시간(435)에 대해 제 2 서비스 벌칙 비용(440)에 지연 비용(450)을 추가하여 도출할 수 있다.
다시 도 2로 돌아와서, 자원 예측부(220)는 제 1 서비스 벌칙 비용 및 제 2 서비스 벌칙 비용을 비교하여 요구되는 자원 예측값을 도출할 수 있다. 자원 예측값은 CPU 공유량에 대응되는 제 1 방향값, 메모리 공유량에 대응되는 제 2 방향값, 가상 머신의 수에 대응되는 제 3 방향값을 포함할 수 있다. 3차원 배열을 이용하여 방향값을 도출하는 과정에 대해서는 도 5를 통해 상세히 설명하도록 한다.
도 5는 본 발명의 일 실시예에 따른 자원 예측값을 도출하는 과정을 설명하기 위한 예시적인 도면이다. 도 5를 참조하면, 자원 예측부(220)는 CPU 공유량, 메모리 공유량 및 가상 머신의 수를 3차원 배열의 구성 요소로서 적용하고, 3차원 배열을 이용하여 제 1 서비스 벌칙 비용 및 제 2 서비스 벌칙 비용으로부터 제 1 방향값(500), 제 2 방향값(510) 및 제 3 방향값(520)을 도출할 수 있다. 이 때, 자원 예측부(220)는 제 2 방향값(510)을 조절함으로써 메모리 공유량이 한계에 도달한 경우, 제 1 방향값(500)을 조절할 수 있으며, 제 1 방향값(500)을 조절함으로써 CPU 공유량이 한계에 도달한 경우, 제 3 방향값(520)을 조절할 수 있다.
[수학식 9]
Figure 112016089408303-pat00009
수학식 9는 가상 머신의 데이터베이스 자원 공유량에 기초한 평균 벌칙 비용 식일 수 있다. 수학식 9를 참조하면, 자원 예측부(220)는 수학식 3에서 응답 시간에 따른 제 1 서비스 벌칙 비용이 도출되면, 도출된 결과 값을 수학식 9의 AC(i, t)에 대입할 수 있다. 수학식 9의 VM(t-1)은 가상 머신의 수이고, R(i, t)는 가상 머신의 요청 처리량을 나타내는 것일 수 있다.
자원 예측부(220)는 CPU 공유량, 메모리 공유량, 가상 머신의 수를 포함하는 자원 공유량을 알고 있으므로, 자원 공유량을 이용하여 제 1 방향값(500, di1), 제 2 방향값(510, di2)를 제외한 모든 파라미터 값을 도출할 수 있다.
이 때, 자원 예측부(220)는 제 1 방향값(500, di1), 제 2 방향값(510, di2)을 조절함으로써, 수학식 3에서 도출된 평균 서비스 벌칙 비용을 충족시킬 수 있다. 또한, 자원 예측부(220)는 가상 머신의 데이터베이스 공유 메모리의 크기를 늘리거나 줄일 수 있는 파라미터 변화 값인 제 2 방향값(510, di2)를 우선적으로 조절할 수 있고, 자원 공유량의 조절로 인하여 수학식 3의 평균 서비스 벌칙 비용을 충족시키지 못하는 경우, 제 1 방향값을 조절을 조절하여 조절된 제 1 방향값 및 제 2 방향값에 기초하여 할당 요청부(230)를 통해 클라우드 서버(130)로 가상 자원의 할당을 요청할 수 있다.
[수학식 10]
Figure 112016089408303-pat00010
수학식 10은 수학식 9로부터 가상머신의 수와 관련하여 확장된 수학식으로서 가상 머신의 데이터베이스 자원 공유량에 기초한 평균 벌칙 비용 식일 수 있다. 수학식 10를 참조하면, 자원 예측부(220)는 CPU 공유량, 메모리 공유량 및 가상 머신의 수를 3차원 배열의 구성 요소로서 적용할 수 있다.
자원 예측부(220)는 CPU 공유량, 메모리 공유량, 가상 머신의 수를 포함하는 자원 공유량을 알고 있으므로, 자원 공유량을 이용하여 제 1 방향값(di1), 제 2 방향값(di2) 및 제 3 방향값(di3)를 제외한 모든 파라미터 값을 도출할 수 있다. 이 때, 자원 예측부(220)는 제 1 방향값(di1), 제 2 방향값(di2) 및 제 3 방향값(di3)을 조절함으로써, 수학식 3에서 도출된 평균 서비스 벌칙 비용을 충족시킬 수 있다. 또한, 자원 예측부(220)는 가상 머신의 데이터베이스 공유 메모리의 크기를 늘리거나 줄일 수 있는 파라미터 변화 값인 제 2 방향값(di2)를 우선적으로 조절할 수 있고, 자원 공유량의 조절로 인하여 메모리 공유량이 한계에 도달된 경우, 수학식 3의 평균 서비스 벌칙 비용을 충족시키지 못하는 경우, 제 1 방향값을 조절할 수 있다. 또한, 자원 예측부(220)는 제 1 방향값을 조절하여 CPU 공유량이 한계에 도달된 경우, 제 3 방향값을 조절할 수 있다. 이 경우 할당 요청부(23)는 조절된 제 3 방향값에 따라 가상 머신의 추가 생성을 클라우드 서버(130)로 요청할 수 있다.
[수학식 11]
Figure 112016089408303-pat00011
수학식 11은 평균 서비스 벌칙 비용을 이용하여 서비스 수준 협약 비용을 변경하는 식일 수 있다. 수학식 11을 참조하면, 평균 서비스 벌칙 비용을 수학식 11에 대입함으로써, 서비스 수준 협약 비용 값이 달라지게 된다. 이 때, 가상 머신의 성능에 따라 가상 머신 상에 구축된 데이터베이스의 응답 시간이 달라지게 되고, 응답 시간에 따라 가상 머신의 가중치 w(i)가 달라지게 된다. 가중치는 클라우드 기반의 데이터 베이스의 응답 시간에 따라 응답 시간이 빠른 가상 머신에 높은 가중치를 부여하고, 응답 시간이 느린 가상 머신은 낮은 가중치를 부여하여 가중치가 높을수록 자원 공유량에 기여도가 클 수 있다.
[수학식 12]
Figure 112016089408303-pat00012
수학식 12은 다음 방향값을 도출하는 식일 수 있다. 수학식 12를 참조하면, 자원 예측부(220)는 수학식 11을 통해 평균 서비스 수준 비용 값이 도출되면, 동적으로 변한 평균 서비스 수준 협약 비용 값을 이용하여 다음 방향값을 도출할 수 있게 된다.
예를 들어, CPU 공유량이 20%이고, 메모리 공유량이 1024MB이고, 다음 자원 예측을 위한 3차원 배열값이 제 1 방향값(di1)= 10, 제 2 방향값(di2)= -100인 경우, 자원 예측부(220)는 다음 자원 예측값을 CPU 공유량 30%, 메모리 공유량 924MB로 예측할 수 있다. 자원 예측부(220)는 예측된 자원 공유량에 기초하여 다음 방향값을 도출할 수 있다.
자원 예측부(220)는 제 3 방향값에 따라 인프라스트럭처 비용을 변경할 수 있다.
[수학식 13]
Figure 112016089408303-pat00013
수학식 13은 인프라스트럭처 비용을 이용하여 다음 방향값을 도출하는 식일 수 있다. 자원 예측에 의하여 가상머신의 추가 생성을 요청할 때 인프라스트럭처에서는 다양한 성능의 가상 머신을 제공할 수 있다. 생성될 수 있는 가상 머신은 성능에 따라 비용이 다르기 때문에 이를 반영하기 위한 파라미터가 필요하다. 이에 따라, 수학식 13은 상기 파라미터를 인프라스트럭처 비용으로 정의하여 자원 예측에 반영할 수 있다.
또한, 자원 예측부(220)는 지연 시간에 따른 지연 비용에 따라 다음 자원 예측 방향을 도출할 수 있다.
[수학식 14]
Figure 112016089408303-pat00014
수학식 14는 지연 비용을 이용하여 다음 방향값을 도출하는 식일 수 있다. 지연 비용은 가상 머신에 대한 생성 요청으로부터 데이터베이스 연동까지 걸리는 시간을 정의할 수 있다. 즉, 지연 비용을 고려하여 자원 예측에 반영함으로써 클라우드 기반의 데이터베이스 확장에 걸리는 지연 시간에 따라 발생하는 응답 시간의 지연을 방지할 수 있다.
다시 도 2로 돌아와서, 할당 요청부(230)는 자원 예측값에 기초하여 클라우드 서버(130)로 가상 자원의 동적 할당을 요청할 수 있다. 예를 들어, 할당 요청부(230)는 자원 예측값에 따라 제 3 방향값이 조절되면, 가상 머신의 추가 생성을 클라우드 서버(130)로 요청할 수 있다.
도 6은 본 발명의 일 실시예에 따른 비용 정의 테이블을 도시한 예시적인 도면이다. 도 6을 참조하면, 자원 예측 장치(120)는 가상 머신의 성능에 따라 비용을 다르게 부과할 수 있다.
자원 예측 장치(120)는 가상 머신 수(610), 제 1 서비스 벌칙 비용 및 제 2 서비스 벌칙 비용을 포함하는 서비스 벌칙 비용(620), 인프라스트럭처 비용(630), 가상 머신의 평균 수(640)에 기초하여 총 서비스 수준 협약 비용(650)을 도출할 수 있다.
이 때, 총 서비스 수준 협약 비용이 낮을수록 낮은 비용으로 동일한 성능을 나타내며, 자원 예측 장치(120)는 총 서비스 수준 협약 비용을 고려하여 가상 머신의 수를 동적으로 변경할 수 있다. 예를 들어, 비용(c)가 'c=1'(600)의 경우, 비교적 낮은 가격과 낮은 성능의 가상 머신을 나타내며, 'c=3'(601)의 경우, 높은 가격과 높은 성능의 가상 머신을 나타낼 수 있다. 이 때, 자원 예측 장치(120)는 동적 서비스 수준 협약 방식을 이용함으로써, 총 서비스 수준 협약 비용을 낮아지도록 할 수 있으며, 이로 인해, 가상 머신의 데이터베이스의 자원 공유량과 가상 머신의 수를 동적으로 조절하여 낮은 비용으로 더 좋은 성능을 나타낼 수 있도록 할 수 있다.
도 7은 본 발명의 일 실시예에 따른 기존의 정적 서비스 수준 협약 기술과 동적 서비스 수준 협약 기술을 비교한 예시적인 도면이다. 도 7을 참조하면, 가상 머신의 수가 증가하는 경우, 본 발명에서 제시한 동적 서비스 수준 협약(720)에 의한 자원 공유량이 조절된 서비스 수준 협약 벌칙 비용이 기존의 정적 서비스 수준 협약(710)의 비용보다 적게 드는 것을 알 수 있다.
도 8은 본 발명의 일 실시예에 따른 자원 예측 장치에서 가상 자원에 대한 자원 요구량을 예측하는 방법의 순서도이다. 도 8에 도시된 실시예에 따른 자원 예측 장치(120)에서 수행되는 가상 자원에 대한 자원 요구량을 예측하는 방법은 도 1에 도시된 실시예에 따른 자원 예측 시스템(1)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 7에 도시된 실시예에 따른 자원 예측 장치(120)에 의해 수행되는 가상 자원에 대한 자원 요구량을 예측하는 방법에도 적용된다.
단계 S810에서 자원 예측 장치(120)는 클라우드 서버(130)에서 기생성된 적어도 하나의 가상 머신에 의해 복수의 사용자 단말(110)로부터의 요청이 처리되는 응답 시간에 기초하여 제 1 서비스 벌칙 비용(penalty cost)을 도출할 수 있다.
단계 S820에서 자원 예측 장치(120)는 클라우드 서버(130)의 가상 자원을 통해 제공되는 CPU 공유량 및 메모리 공유량을 포함하는 자원 공유량에 기초하여 제 2 서비스 벌칙 비용을 도출할 수 있다.
단계 S830에서 자원 예측 장치(120)는 제 1 서비스 벌칙 비용 및 제 2 서비스 벌칙 비용을 비교하여 요구되는 자원 예측값을 도출할 수 있다.
단계 S840에서 자원 예측 장치(120)는 자원 예측값에 기초하여 클라우드 서버(130)로 가상 자원의 동적 할당을 요청할 수 있다.
상술한 설명에서, 단계 S810 내지 S840은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
도 9는 본 발명의 일 실시예에 따른 클라우드 서버의 구성도이다. 도 9를 참조하면, 클라우드 서버(130)는 가상 머신 생성부(910), 처리부(920) 및 할당부(930)를 포함할 수 있다.
가상 머신 생성부(910)는 기설정된 서비스 수준 협약에 기초하여 가상 자원으로부터 적어도 하나 이상의 가상 머신을 생성할 수 있다. 기설정된 서비스 수준 협약은 가상 자원의 요구사항이 명시된 것일 수 있다. 가상 머신 생성부(910)는 기설정된 서비스 수준 협약을 분석하여 적어도 하나 이상의 가상 머신을 생성할 수 있다.
처리부(920)는 생성된 가상 머신을 통해 복수의 사용자 단말(110)로부터의 요청을 처리할 수 있다.
할당부(930)는 자원 예측 장치(120)로부터 전송받은 자원 예측값에 기초하여 가상 자원을 동적으로 할당할 수 있다. 자원 예측값은 복수의 사용자 단말(110)로부터의 요청이 가상 머신에 의해 처리되는 응답 시간에 기초하여 도출된 제 1 서비스 벌칙 비용 및 클라우드 서버(130)의 가상 자원을 통해 제공되는 CPU 공유량 및 메모리 공유량을 포함하는 자원 공유량에 기초하여 도출되는 제 2 서비스 벌칙 비용에 기초하여 자원 예측 장치(120)에 의해 도출되는 것으로, 자원 예측값은 CPU 공유량에 대응되는 제 1 방향값, 메모리 공유량에 대응되는 제 2 방향값 및 가상 머신의 수에 대응되는 제 3 방향값을 포함할 수 있다.
예를 들어, 자원 예측 장치(120)에서 제 2 방향값을 조절하여 메모리 공유량에 대해 한계에 도달한 경우 및 제 1 방향값을 조절하여 CPU 공유량에 대해 한계에 도달한 경우 중 적어도 하나에 기초하여 제 3 방향값을 조절한 경우, 할당부(930)는 조절된 제 3 방향값에 따라 가상 머신을 추가 생성할 수 있다. 이 때, 할당부(930)는 가상 머신의 수 및 성능 중 적어도 하나에 기초하여 추가되는 인프라스트럭처 비용을 더 고려하여 가상 자원을 동적으로 할당할 수 있다. 또한, 할당부(930)는 제 3 방향값에 따라 가상 머신의 수가 추가 생성되는 경우, 가상 머신의 추가 생성에 따라 발생되는 지연 시간에 기초하여 추가되는 지연 비용을 더 고려하여 가상 자원을 동적으로 할당할 수 있다.
도 10은 본 발명의 일 실시예에 따른 클라우드 서버에서 자원 예측 장치와 연동하여 가상 자원을 공유하는 방법의 순서도이다. 도 10에 도시된 실시예에 따른 클라우드 서버(130)에 의해 수행되는 자원 예측 장치(120)와 연동하여 가상 자원을 공유하는 방법은 도 1에 도시된 실시예에 따른 자원 예측 시스템(1)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 9에 도시된 실시예에 따른 클라우드 서버(130)에 의해 수행되는 자원 예측 장치(120)와 연동하여 가상 자원을 공유하는 방법에도 적용된다.
단계 S1010에서 클라우드 서버(130)는 기설정된 서비스 수준 협약에 기초하여 가상 자원으로부터 적어도 하나 이상의 가상 머신을 생성할 수 있다.
단계 S1020에서 클라우드 서버(130)는 생성된 가상 머신을 통해 복수의 사용자 단말(110)로부터 요청을 처리할 수 있다.
단계 S1030에서 클라우드 서버(130)는 자원 예측 장치(120)로부터 전송받은 자원 예측값에 기초하여 가상 자원을 동적으로 할당할 수 있다.
상술한 설명에서, 단계 S1010 내지 S1030은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
도 1 내지 도 10을 통해 설명된 자원 예측 장치에서 가상 자원에 대한 자원 요구량을 예측하는 방법 및 클라우드 서버에서 자원 예측 장치와 연동하여 가상 자원을 공유하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 1 내지 도 10을 통해 설명된 자원 예측 장치에서 가상 자원에 대한 자원 요구량을 예측하는 방법 및 클라우드 서버에서 자원 예측 장치와 연동하여 가상 자원을 공유하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
110: 사용자 단말
120: 자원 예측 장치
130: 클라우드 서버
210: 벌칙 비용 도출부
220: 자원 예측부
230: 할당 요청부
710: 가상 머신 생성부
720: 처리부
730: 할당부

Claims (18)

  1. 가상 자원에 대한 자원 요구량을 예측하는 장치에 있어서,
    클라우드 서버에서 기생성된 적어도 하나의 가상 머신에 의해 복수의 사용자 단말로부터의 요청이 처리되는 응답 시간에 기초하여 제 1 서비스 벌칙 비용(penalty cost)을 도출하고, 상기 클라우드 서버의 가상 자원을 통해 제공되는 CPU 공유량 및 메모리 공유량을 포함하는 자원 공유량에 기초하여 제 2 서비스 벌칙 비용을 도출하는 벌칙 비용 도출부;
    상기 제 1 서비스 벌칙 비용 및 상기 제 2 서비스 벌칙 비용을 비교하여 요구되는 자원 예측값을 도출하는 자원 예측부; 및
    상기 자원 예측값에 기초하여 상기 클라우드 서버로 상기 가상 자원의 동적 할당을 요청하는 할당 요청부
    를 포함하되,
    상기 자원 공유량은 상기 가상 머신의 수를 더 포함하고,
    상기 벌칙 비용 도출부는 상기 제 1 서비스 벌칙 비용 및 상기 제 2 서비스 벌칙 비용에 기초하여 평균 서비스 벌칙 비용을 도출하고,
    상기 자원 예측부는 상기 자원 공유량이 상기 도출된 평균 서비스 벌칙 비용을 충족하도록 하기 위한 상기 CPU 공유량에 대응되는 제 1 방향값, 상기 메모리 공유량에 대응되는 제 2 방향값 및 상기 가상 머신의 수에 대응되는 제 3 방향값을 포함하는 상기 자원 예측값을 도출하는 것인, 자원 예측 장치.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 벌칙 비용 도출부는 상기 복수의 사용자 단말과 각각 대응되는 가상 머신에 의해 처리되는 요청에 대한 응답 시간이 기준값을 초과하는지 여부에 기초하여 상기 제 1 서비스 벌칙 비용을 도출하는 것인, 자원 예측 장치.
  4. 제 3 항에 있어서,
    상기 벌칙 비용 도출부는 상기 요청을 처리하는 가상 머신에 따라 가중치를 달리 적용하여 상기 제 1 서비스 벌칙 비용을 도출하는 것인, 자원 예측 장치.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 자원 예측부는 상기 CPU 공유량, 상기 메모리 공유량 및 상기 가상 머신의 수를 3차원 배열의 구성 요소로서 적용하고,
    상기 3차원 배열을 이용하여 상기 자원 공유량이 상기 제 1 서비스 벌칙 비용 및 상기 제 2 서비스 벌칙 비용으로부터 도출된 상기 평균 서비스 벌칙 비용을 충족하도록 하기 위한 상기 제 1 방향값, 상기 제 2 방향값 및 상기 제 3 방향값을 도출하는 것인, 자원 예측 장치.
  7. 제 1 항에 있어서,
    상기 자원 예측부는 상기 제 2 방향값을 조절하여 상기 메모리 공유량이 한계에 도달된 경우, 상기 제 1 방향값을 조절하는 것인, 자원 예측 장치.
  8. 제 7 항에 있어서,
    상기 자원 예측부는 상기 제 1 방향값을 조절하여 상기 CPU 공유량이 한계에 도달된 경우, 상기 제 3 방향값을 조절하고,
    상기 할당 요청부는 상기 조절된 제 3 방향값에 따라 가상 머신의 추가 생성을 상기 클라우드 서버로 요청하는 것인, 자원 예측 장치.
  9. 제 1 항에 있어서,
    상기 벌칙 비용 도출부는 상기 가상 머신의 수 및 성능 중 적어도 하나에 기초하여 추가되는 인프라스트럭처 비용을 도출하고,
    상기 인프라스트럭처 비용을 상기 제 2 서비스 벌칙 비용에 추가하는 것인, 자원 예측 장치.
  10. 제 9 항에 있어서,
    상기 인프라스트럭처 비용은 상기 제 3 방향값에 따라 변경되는 것인, 자원 예측 장치.
  11. 제 10 항에 있어서,
    상기 벌칙 비용 도출부는 상기 제 3 방향 값에 따라 가상 머신이 추가 생성되는 경우, 상기 가상 머신의 추가 생성에 따라 발생하는 지연 시간에 의한 지연 비용을 도출하고,
    상기 지연 비용을 상기 제 2 서비스 벌칙 비용에 추가하는 것인, 자원 예측 장치.
  12. 자원 예측 장치와 연동하여 가상 자원을 공유하는 클라우드 서버에 있어서,
    기설정된 서비스 수준 협약에 기초하여 가상 자원으로부터 적어도 하나 이상의 가상 머신을 생성하는 가상 머신 생성부;
    상기 생성된 가상 머신을 통해 복수의 사용자 단말로부터의 요청을 처리하는 처리부; 및
    자원 예측 장치로부터 전송받은 자원 예측값에 기초하여 상기 가상 자원을 동적으로 할당하는 할당부
    를 포함하고,
    상기 자원 예측값은 상기 복수의 사용자 단말로부터의 요청이 상기 가상 머신에 의해 처리되는 응답 시간에 기초하여 도출된 제 1 서비스 벌칙 비용(penalty cost) 및 상기 클라우드 서버의 가상 자원을 통해 제공되는 CPU 공유량 및 메모리 공유량을 포함하는 자원 공유량에 기초하여 도출되는 제 2 서비스 벌칙 비용에 기초하여 상기 자원 예측 장치에 의해 도출되는 것이되,
    상기 자원 공유량은 상기 가상 머신의 수를 더 포함하고,
    상기 제 1 서비스 벌칙 비용 및 상기 제 2 서비스 벌칙 비용에 기초하여 상기 자원 예측 장치에 의해 평균 서비스 벌칙 비용이 도출되고,
    상기 자원 공유량이 상기 도출된 평균 서비스 벌칙 비용을 충족하도록 하기 위한 상기 CPU 공유량에 대응되는 제 1 방향값, 상기 메모리 공유량에 대응되는 제 2 방향값 및 상기 가상 머신의 수에 대응되는 제 3 방향값을 포함하는 상기 자원 예측값이 도출되는 것인, 클라우드 서버.
  13. 삭제
  14. 제 12 항에 있어서,
    상기 제 1 서비스 벌칙 비용은 상기 요청을 처리하는 가상 머신에 따라 가중치가 부가되어 도출되는 것인, 클라우드 서버.
  15. 삭제
  16. 제 12 항에 있어서,
    상기 제 3 방향값은 상기 제 2 방향값을 조절하여 상기 메모리 공유량에 대해 한계에 도달된 경우 및 제 1 방향값을 조절하여 상기 CPU 공유량에 대해 한계에 도달된 경우 중 적어도 하나에 기초하여 상기 자원 예측 장치에 의해 조절되고,
    상기 할당부는 상기 조절된 제 3 방향값에 따라 가상 머신을 추가 생성하는 것인, 클라우드 서버.
  17. 제 16 항에 있어서,
    상기 할당부는 상기 가상 머신의 수 및 성능 중 적어도 하나에 기초하여 추가되는 인프라스트럭처 비용을 더 고려하여 상기 가상 자원을 동적으로 할당하는 것인, 클라우드 서버.
  18. 제 17 항에 있어서,
    상기 할당부는 상기 제 3 방향값에 따라 가상 머신의 수가 추가 생성되는 경우, 상기 가상 머신의 추가 생성에 따라 발생하는 지연 시간에 기초하여 추가되는 지연 비용을 더 고려하여 상기 가상 자원을 동적으로 할당하는 것인, 클라우드 서버.
KR1020160117966A 2016-09-13 2016-09-13 자원 예측 장치 및 클라우드 서버 KR102092937B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160117966A KR102092937B1 (ko) 2016-09-13 2016-09-13 자원 예측 장치 및 클라우드 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160117966A KR102092937B1 (ko) 2016-09-13 2016-09-13 자원 예측 장치 및 클라우드 서버

Publications (2)

Publication Number Publication Date
KR20180029635A KR20180029635A (ko) 2018-03-21
KR102092937B1 true KR102092937B1 (ko) 2020-04-23

Family

ID=61900840

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160117966A KR102092937B1 (ko) 2016-09-13 2016-09-13 자원 예측 장치 및 클라우드 서버

Country Status (1)

Country Link
KR (1) KR102092937B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102261263B1 (ko) * 2019-12-23 2021-06-07 건국대학교 산학협력단 클라우드 자원 간 간섭 및 병목 현상 해소를 위한 클라우드 자원의 적응적 관리 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014130474A (ja) * 2012-12-28 2014-07-10 Fujitsu Ltd 情報処理システム制御装置、該プログラム、及び該方法
KR101471749B1 (ko) * 2013-03-27 2014-12-12 인하대학교 산학협력단 클라우드 서비스의 가상자원 할당을 위한 퍼지 로직 기반의 자원평가 장치 및 방법
KR101584005B1 (ko) * 2014-11-05 2016-01-11 수원대학교산학협력단 클라우드 컴퓨팅 환경에서 서비스 제공자의 총 경비에 대한 기대값을 고려한 동적 가상 머신 프로비져닝 방법
KR101630125B1 (ko) 2015-04-27 2016-06-13 수원대학교산학협력단 클라우드 컴퓨팅 자원관리 시스템에서의 자원 요구량 예측 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101343617B1 (ko) * 2011-12-28 2013-12-20 대전대학교 산학협력단 클라우드 환경에서 서비스품질 보장을 위한 서비스수준협약 관리방법
KR20150062634A (ko) * 2013-11-29 2015-06-08 고려대학교 산학협력단 클라우드 컴퓨팅 환경 내 오토 스케일링 시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014130474A (ja) * 2012-12-28 2014-07-10 Fujitsu Ltd 情報処理システム制御装置、該プログラム、及び該方法
KR101471749B1 (ko) * 2013-03-27 2014-12-12 인하대학교 산학협력단 클라우드 서비스의 가상자원 할당을 위한 퍼지 로직 기반의 자원평가 장치 및 방법
KR101584005B1 (ko) * 2014-11-05 2016-01-11 수원대학교산학협력단 클라우드 컴퓨팅 환경에서 서비스 제공자의 총 경비에 대한 기대값을 고려한 동적 가상 머신 프로비져닝 방법
KR101630125B1 (ko) 2015-04-27 2016-06-13 수원대학교산학협력단 클라우드 컴퓨팅 자원관리 시스템에서의 자원 요구량 예측 방법

Also Published As

Publication number Publication date
KR20180029635A (ko) 2018-03-21

Similar Documents

Publication Publication Date Title
US20190306255A1 (en) System and method for throttling service requests having non-uniform workloads
US10616370B2 (en) Adjusting cloud-based execution environment by neural network
Piao et al. A network-aware virtual machine placement and migration approach in cloud computing
JP6380110B2 (ja) リソース制御システム、制御パターン生成装置、制御装置、リソース制御方法及びプログラム
CN111464649B (zh) 一种访问请求回源方法和装置
Ahn et al. Competitive partial computation offloading for maximizing energy efficiency in mobile cloud computing
Yala et al. Cost and availability aware resource allocation and virtual function placement for CDNaaS provision
CN109951543A (zh) 一种cdn节点的数据查找方法、装置及网络设备
JPWO2018220708A1 (ja) 資源割当システム、管理装置、方法およびプログラム
CN111666131A (zh) 负载均衡分配方法、装置、计算机设备和存储介质
US20180152390A1 (en) Computing infrastructure resource-workload management methods and apparatuses
US11784942B2 (en) Dynamic allocation of edge network resources
JP2015011365A (ja) プロビジョニング装置、システム、プロビジョニング方法、および、プロビジョニングプログラム
Wanis et al. Efficient modeling and demand allocation for differentiated cloud virtual-network as-a service offerings
KR101613513B1 (ko) 네트워크 대역폭 및 cpu 이용률을 고려한 가상머신 배치 방법 및 시스템
Casetti et al. Arbitration among vertical services
Tennakoon et al. Cloud-based load balancing using double Q-learning for improved Quality of Service
KR102092937B1 (ko) 자원 예측 장치 및 클라우드 서버
Dechouniotis et al. A control‐theoretic approach towards joint admission control and resource allocation of cloud computing services
CN110430236B (zh) 一种部署业务的方法以及调度装置
KR100621787B1 (ko) 그리드에서 사용자의 QoS와 응용특성에 근거한동적자원 할당방법
CN115168017A (zh) 一种任务调度云平台及其任务调度方法
Wu et al. Adaptive processing rate based container provisioning for meshed micro-services in kubernetes clouds
Kolhar et al. Storage allocation scheme for virtual instances of cloud computing
CN110098978A (zh) 一种dns调度的测试方法、装置及网络设备

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant