KR20220003803A - Real-Time Dynamic Resource Allocation Method in a Hybrid Cloud-Based IoT Environment - Google Patents

Real-Time Dynamic Resource Allocation Method in a Hybrid Cloud-Based IoT Environment Download PDF

Info

Publication number
KR20220003803A
KR20220003803A KR1020200081477A KR20200081477A KR20220003803A KR 20220003803 A KR20220003803 A KR 20220003803A KR 1020200081477 A KR1020200081477 A KR 1020200081477A KR 20200081477 A KR20200081477 A KR 20200081477A KR 20220003803 A KR20220003803 A KR 20220003803A
Authority
KR
South Korea
Prior art keywords
state
hybrid cloud
cloud
resource allocation
virtual machines
Prior art date
Application number
KR1020200081477A
Other languages
Korean (ko)
Other versions
KR102368561B1 (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 KR1020200081477A priority Critical patent/KR102368561B1/en
Publication of KR20220003803A publication Critical patent/KR20220003803A/en
Application granted granted Critical
Publication of KR102368561B1 publication Critical patent/KR102368561B1/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/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
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • 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

Abstract

The present embodiments provide a dynamic resource allocation method of a hybrid cloud which receives data traffic and checks a state condition of a hybrid cloud according to the number of activated virtual machines and the number of tasks, thereby obtaining both accuracy and elasticity through a method of allocating the minimized number of virtual machines according to the data traffic to the hybrid cloud.

Description

하이브리드 클라우드 기반의 IoT 환경에서 실시간 동적 자원 할당 방법 {Real-Time Dynamic Resource Allocation Method in a Hybrid Cloud-Based IoT Environment}{Real-Time Dynamic Resource Allocation Method in a Hybrid Cloud-Based IoT Environment}

본 발명이 속하는 기술 분야는 하이브리드 클라우드 기반의 IoT 환경에서 실시간 동적 자원 할당 방법에 관한 것이다.The technical field to which the present invention pertains relates to a real-time dynamic resource allocation method in a hybrid cloud-based IoT environment.

이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The content described in this section merely provides background information for the present embodiment and does not constitute the prior art.

하이브리드 클라우드(Hybrid Cloud)는 공공 클라우드(Public Cloud) 및 개인 클라우드(Private Cloud) 환경이 조합된 것이다. 하이브리드 클라우드는 개인 클라우드를 통해 보안성, 데이터 프라이버시, 컴플라이언스(compliance)에 대하여 많은 통제 권한을 부여할 수 있다.A hybrid cloud is a combination of a public cloud and a private cloud environment. A hybrid cloud can give you a lot of control over security, data privacy, and compliance through a private cloud.

클라우드 컴퓨팅에서 가상 머신(Virtual Machine, VM) 등의 컴퓨팅 자원을 할당하는 방식은 정확성(Accuracy)과 탄력성(Elasticity) 측면을 모두 고려해야 한다. 태스크가 발생했을 때 정확하게 가상 머신을 할당할 수 있어야 하고, 동적 환경에서 할당하는 시간을 최소화할 필요가 있으나, 하이브리드 클라우드 환경에서 정확성과 탄력성을 동시에 만족시키는 자원 할당 방식이 없는 실정이다.The method of allocating computing resources such as virtual machines (VMs) in cloud computing must consider both Accuracy and Elasticity aspects. It is necessary to be able to accurately allocate a virtual machine when a task occurs, and to minimize the time allocated in a dynamic environment. However, there is no resource allocation method that satisfies both accuracy and elasticity in a hybrid cloud environment.

한국등록특허 제10-1720292호 (2017.03.21)Korean Patent Registration No. 10-1720292 (2017.03.21)

본 발명의 실시예들은 데이터 트래픽을 입력받고, 활성화된 가상 머신의 개수와 태스크의 개수에 따른 하이브리드 클라우드의 상태 조건을 체크하여 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 하이브리드 클라우드에 할당하는 방식을 통해서, 정확성과 탄력성을 모두 확보하는 데 주된 목적이 있다.Embodiments of the present invention receive data traffic, check the state condition of the hybrid cloud according to the number of activated virtual machines and the number of tasks, and allocate the minimized number of virtual machines according to data traffic to the hybrid cloud. Through this, the main purpose is to secure both accuracy and elasticity.

본 발명의 명시되지 않은 또 다른 목적들은 하기의 상세한 설명 및 그 효과로부터 용이하게 추론할 수 있는 범위 내에서 추가적으로 고려될 수 있다.Other objects not specified in the present invention may be additionally considered within the scope that can be easily inferred from the following detailed description and effects thereof.

본 실시예의 일 측면에 의하면, 개인 클라우드와 공공 클라우드가 결합된 하이브리드 클라우드의 동적 자원 할당 방법에 있어서, 데이터 트래픽을 입력받는 단계, 및 활성화된 가상 머신의 개수와 태스크의 개수에 따른 상기 하이브리드 클라우드의 상태 조건을 체크하여 상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당하는 단계를 포함한 동작들을 수행하는 동적 자원 할당 방법을 제공한다.According to an aspect of this embodiment, in a method for allocating a dynamic resource of a hybrid cloud in which a private cloud and a public cloud are combined, receiving data traffic, and the number of activated virtual machines and the number of tasks in the hybrid cloud There is provided a dynamic resource allocation method for performing operations including allocating the minimized number of virtual machines according to the data traffic to the hybrid cloud by checking a state condition.

상기 상태 조건은 (i) 예상 초과 상태, (ii) 초과 상태, (iii) 정상 상태, (iv) 부족 상태, (v) 예상 부족 상태로 구분될 수 있다.The state condition may be divided into (i) an expected excess state, (ii) an excess state, (iii) a steady state, (iv) a shortage state, and (v) an expected shortage state.

상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당하는 단계는, 상기 상태 조건이 상기 예상 초과 상태 또는 상기 예상 부족 상태이면, 상기 하이브리드 클라우드를 얼랑-C 공식(Erlang-C formula)으로 모델링하고, 상기 얼랑-C 공식에 상한을 적용하고 상기 상한에 미분을 적용하고 KKT(Karush-Kuhn-Tucker) 조건을 적용하여, 상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 예측할 수 있다.The step of allocating the minimized number of virtual machines according to the data traffic to the hybrid cloud includes, if the state condition is the expected excess state or the expected insufficient state, assigning the hybrid cloud to the Erlang-C formula The number of minimized virtual machines according to the data traffic can be predicted by modeling as

상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당하는 단계는, 상기 상태 조건이 상기 예상 초과 상태이면, 기설정된 대기 시간 이후에 상기 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당하고, 상기 상태 조건이 상기 예상 부족 상태이면, 즉각적으로 상기 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당할 수 있다.Allocating the minimized number of virtual machines according to the data traffic to the hybrid cloud may include allocating the minimized number of virtual machines to the hybrid cloud after a preset waiting time if the state condition exceeds the expected state. and, if the state condition is the expected shortage state, the minimized number of virtual machines may be immediately allocated to the hybrid cloud.

상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당하는 단계는, 상기 상태 조건이 상기 초과 상태 또는 상기 부족 상태이면, 상기 상태 조건이 상기 정상 상태가 될 때까지, CTMC(Continuous-Time Markov Chains) 모델을 적용하여 상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 산출할 수 있다.Allocating the minimized number of virtual machines according to the data traffic to the hybrid cloud may include, if the state condition is the excess state or the insufficient state, until the state condition becomes the steady state (Continuous- Time Markov Chains) model can be applied to calculate the minimized number of virtual machines according to the data traffic.

이상에서 설명한 바와 같이 본 발명의 실시예들에 의하면, 데이터 트래픽을 입력받고, 활성화된 가상 머신의 개수와 태스크의 개수에 따른 하이브리드 클라우드의 상태 조건을 체크하여 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 하이브리드 클라우드에 할당하는 방식을 통해서, 정확성과 탄력성을 모두 확보할 수 있는 효과가 있다.As described above, according to the embodiments of the present invention, the number of minimized virtual machines according to data traffic is received by receiving data traffic and checking the state condition of the hybrid cloud according to the number of activated virtual machines and the number of tasks. By allocating to the hybrid cloud, there is an effect of securing both accuracy and elasticity.

여기에서 명시적으로 언급되지 않은 효과라 하더라도, 본 발명의 기술적 특징에 의해 기대되는 이하의 명세서에서 기재된 효과 및 그 잠정적인 효과는 본 발명의 명세서에 기재된 것과 같이 취급된다.Even if it is an effect not explicitly mentioned herein, the effects described in the following specification expected by the technical features of the present invention and their potential effects are treated as if they were described in the specification of the present invention.

도 1은 하이브리드 클라우드를 예시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 하이브리드 클라우드의 동적 자원 할당 장치를 예시한 블록도이다.
도 3은 본 발명의 다른 실시예에 따른 하이브리드 클라우드의 동적 자원 할당 방법을 예시한 블록도이다.
도 4 내지 도 7은 본 발명의 실시예들에 따라 수행된 모의실험 결과를 도시한 것이다.
1 is a diagram illustrating a hybrid cloud.
2 is a block diagram illustrating an apparatus for dynamic resource allocation of a hybrid cloud according to an embodiment of the present invention.
3 is a block diagram illustrating a dynamic resource allocation method of a hybrid cloud according to another embodiment of the present invention.
4 to 7 show simulation results performed according to embodiments of the present invention.

이하, 본 발명을 설명함에 있어서 관련된 공지기능에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하고, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다.Hereinafter, in the description of the present invention, if it is determined that the subject matter of the present invention may be unnecessarily obscure as it is obvious to those skilled in the art with respect to related known functions, the detailed description thereof will be omitted, and some embodiments of the present invention will be described. It will be described in detail with reference to exemplary drawings.

도 1은 하이브리드 클라우드를 예시한 도면이다.1 is a diagram illustrating a hybrid cloud.

하이브리드 클라우드는 공공 클라우드 및 개인 클라우드 환경이 조합된 것이다. 데이터 트래픽은 IoT(Internet of Things) 장치로부터 개인 클라우드를 통해 공공 클라우드로 전달된다. 하이브리드 클라우드 환경에서 개인 클라우드는 사전에 데이터를 수신하고 복수의 클라우드에 태스크를 할당하는 브로커 역할을 한다.A hybrid cloud is a combination of public cloud and private cloud environments. Data traffic is passed from the Internet of Things (IoT) device to the public cloud through the private cloud. In a hybrid cloud environment, the private cloud acts as a broker that proactively receives data and assigns tasks to multiple clouds.

클라우드 컴퓨팅에서 가상 머신 등의 컴퓨팅 자원을 할당하는 방식은 정확성을 고려해야 한다. 클라우드 컴퓨팅에서 CTMC(Continuous-Time Markov Chains) 모델은 한 번에 하나의 가상 머신을 활성화 또는 비활성화시킨다.In cloud computing, the method of allocating computing resources such as virtual machines must consider accuracy. In cloud computing, the Continuous-Time Markov Chains (CTMC) model enables or disables one virtual machine at a time.

CTMC 모델은 확률을 이용하여 객체 상태를 시간에 따라 어떻게 변화할지를 모델링한다. 객체의 시간에 따른 서로 다른 상태를 어떻게 연결할지를 기술하는 것이 마코브 체인이며, 이들을 연결시켜주는 매개체 역할을 마코브 행렬이 한다. 시간 매개 변수가 연속시간(continuous time)이면 마코브 프로세스에 해당한다.The CTMC model uses probabilities to model how the state of an object changes over time. The Markov chain describes how to connect the different states of objects over time, and the Markov matrix serves as a medium that connects them. If the time parameter is continuous time, it corresponds to a Markov process.

클라우드 컴퓨팅에서 가상 머신 등의 컴퓨팅 자원을 할당하는 방식은 탄력성을 고려해야 한다. CTMC 모델을 이용한 자원 할당 방식은 정확하지만 탄력성 측면을 보완할 필요가 있다.In cloud computing, the method of allocating computing resources such as virtual machines must consider elasticity. Although the resource allocation method using the CTMC model is accurate, it is necessary to supplement the elasticity aspect.

본 실시예에 따른 동적 자원 할당 장치는 하이브리드 클라우드 환경을 얼랑-C 공식(Erlang-C formula) 또는 M/M/c 큐로 모델링하고 KKT(Karush-Kuhn-Tucker) 모델을 적용하여 탄력적인 자원 할당을 가능하게 한다. 하이브리드 클라우드 환경이 외부 브로커를 사용하도록 변경되더라도 동작 알고리즘 측면에서 차이가 없으므로 본 실시예에 따른 동적 자원 할당 장치를 그대로 적용할 수 있다.The dynamic resource allocation apparatus according to this embodiment models the hybrid cloud environment as an Erlang-C formula or M/M/c queue, and applies a KKT (Karush-Kuhn-Tucker) model to elastically allocate resources. make it possible Even if the hybrid cloud environment is changed to use an external broker, since there is no difference in the operation algorithm, the dynamic resource allocation apparatus according to the present embodiment can be applied as it is.

도 2는 본 발명의 일 실시예에 따른 하이브리드 클라우드의 동적 자원 할당 장치를 예시한 블록도이다.2 is a block diagram illustrating an apparatus for dynamic resource allocation of a hybrid cloud according to an embodiment of the present invention.

동적 자원 할당 장치(110)는 적어도 하나의 프로세서(120), 컴퓨터 판독 가능한 저장매체(130) 및 통신 버스(170)를 포함한다. The dynamic resource allocation apparatus 110 includes at least one processor 120 , a computer readable storage medium 130 , and a communication bus 170 .

프로세서(120)는 동적 자원 할당 장치(110)로 동작하도록 제어할 수 있다. 예컨대, 프로세서(120)는 컴퓨터 판독 가능한 저장 매체(130)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 컴퓨터 실행 가능 명령어는 프로세서(120)에 의해 실행되는 경우 동적 자원 할당 장치(110)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.The processor 120 may control to operate as the dynamic resource allocation apparatus 110 . For example, the processor 120 may execute one or more programs stored in the computer-readable storage medium 130 . The one or more programs may include one or more computer-executable instructions, which when executed by the processor 120 configure the dynamic resource allocation apparatus 110 to perform operations in accordance with the exemplary embodiment. can be

컴퓨터 판독 가능한 저장 매체(130)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능한 저장 매체(130)에 저장된 프로그램(140)은 프로세서(120)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독한 가능 저장 매체(130)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 호흡 구간 검출 장치(110)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer-readable storage medium 130 is configured to store computer-executable instructions or program code, program data, and/or other suitable form of information. The program 140 stored in the computer-readable storage medium 130 includes a set of instructions executable by the processor 120 . In one embodiment, computer-readable storage medium 130 includes memory (volatile memory, such as random access memory, non-volatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, It may be a flash memory device, other form of storage medium that is accessed by the breathing interval detection device 110 and can store desired information, or a suitable combination thereof.

통신 버스(170)는 프로세서(120), 컴퓨터 판독 가능한 저장 매체(140)를 포함하여 동적 자원 할당 장치(110)의 다른 다양한 컴포넌트들을 상호 연결한다.Communication bus 170 interconnects various other components of dynamic resource allocation device 110 including processor 120 and computer readable storage medium 140 .

동적 자원 할당 장치(110)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(150) 및 하나 이상의 통신 인터페이스(160)를 포함할 수 있다. 입출력 인터페이스(150) 및 통신 인터페이스(160)는 통신 버스(170)에 연결된다. 입출력 장치(미도시)는 입출력 인터페이스(150)를 통해 동적 자원 할당 장치(110)의 다른 컴포넌트들에 연결될 수 있다.The dynamic resource allocation device 110 may also include one or more input/output interfaces 150 and one or more communication interfaces 160 that provide interfaces for one or more input/output devices 24 . The input/output interface 150 and the communication interface 160 are connected to the communication bus 170 . The input/output device (not shown) may be connected to other components of the dynamic resource allocation device 110 through the input/output interface 150 .

동적 자원 할당 장치(110)는 하이브리드 클라우드 환경을 얼랑-C 공식(Erlang-C formula) 또는 M/M/c 큐로 모델링하고 KKT(Karush-Kuhn-Tucker) 모델을 적용하여 탄력적인 자원 할당을 가능하게 한다.The dynamic resource allocation device 110 models the hybrid cloud environment as an Erlang-C formula or M/M/c queue and applies a KKT (Karush-Kuhn-Tucker) model to enable elastic resource allocation. do.

얼랑-C 공식(Erlang-C formula)은 고객 전화가 푸아송 분포에 따라 시스템에 도착한다고 할 때 고객이 서비스를 받을 수 있는 확률을 규정한 공식이다. 시스템은 고객의 서비스를 요청받았을 때, 서비스 창구가 모두 통화 중일 때는 이 고객을 대기 행렬(queue)에 기억시키고 차례대로 서비스를 제공한다. 대기 행렬의 형태는 M/M/c 큐 등으로 정의될 수 있다.The Erlang-C formula is a formula that defines the probability that a customer can receive service when a customer call arrives at the system according to a Poisson distribution. When the system receives a customer's service request, when all service counters are busy, the system stores the customer in a queue and provides the service in turn. The form of the queue may be defined as an M/M/c queue or the like.

제약조건(constraint)을 가지는 최적화 문제에서 연립부등식 제한조건은 KKT 조건을 만족한다. KKT(Karush-Kuhn-Tucker) 조건은 (1) 모든 독립 변수 x1, x2, ... , xN에 대한 미분값이 0이다. (2) 모든 라그랑주 승수 λ1, ... ,λM과 제한조건 부등식(λ에 대한 미분값)의 곱이 0이다. (3) 라그랑주 승수는 음수가 아니어야 한다.In an optimization problem with constraints, the simultaneous inequality constraint satisfies the KKT condition. The KKT (Karush-Kuhn-Tucker) condition is (1) that the derivative of all independent variables x 1 , x 2 , ... , x N is 0. (2) The product of all Lagrange multipliers λ 1 , ... ,λ M and the constraint inequality (differential value with respect to λ) is zero. (3) Lagrange multipliers must not be negative.

동적 자원 할당 장치(110)는 얼랑-C 공식에 KKT 모델을 적용할 수 없는 문제를 해결하기 위해서 얼랑-C 공식에 대해서 근사치 예측을 통해 KKT 모델을 적용한다.In order to solve the problem that the KKT model cannot be applied to the Erlang-C formula, the dynamic resource allocation device 110 applies the KKT model through approximate prediction for the Erlang-C formula.

클라우드 컴퓨팅은 데이터가 가상 머신 간에 교환되므로 네트워크 지연을 피할 수 없다. 장비 지연(equipment delay, Tequip)은 상수값으로 표현될 수 있다. 전파 지연(propagation delay, Tprop)은 발신자와 가상 머신 간의 거리를 분할하여 도출될 수 있다. 전파 지연 Tprop은 데이터 크기에 독립적이다. 전송 지연(transmission delay, Ttrans)은 데이터 크기에 영향을 받는다.Cloud computing cannot avoid network delays as data is exchanged between virtual machines. Equipment delay (equipment delay, T equip ) may be expressed as a constant value. The propagation delay (T prop ) may be derived by dividing the distance between the sender and the virtual machine. The propagation delay T prop is independent of the data size. The transmission delay (T trans ) is affected by the data size.

Figure pat00001
Figure pat00001

L은 데이터 크기(비트 단위)이고 R은 평균 종단 밴드폭(bits per second, bps 단위)이다. 종단 네트워크 지연은 Tequip + Tprop + Ttrans로 표현된다.L is the data size (in bits) and R is the average terminal bandwidth (in bits per second, bps). The terminating network delay is expressed as T equip + T prop + T trans .

하이브리드 클라우드 모델에서는 태스크 처리를 요청하는 복수의 IoT 장치가 존재한다. k 번째 IoT 장치로부터 태스크 Xk의 도착은 푸아송 분포에 따르는 것으로 가정할 수 있다.In the hybrid cloud model, there are a plurality of IoT devices that request task processing. It may be assumed that the arrival of task X k from the k-th IoT device follows a Poisson distribution.

Figure pat00002
Figure pat00002

λ는 평균 도착 속도이고, n은 IoT 장치의 전체 개수를 의미한다. j 번째 클라우드에서 가상 머신의 서비스 속도는 동일하고 평균 μj를 갖는 지수적 분포를 따른다. 각 클라우드는 M/M/c 큐로 취급될 수 있다. 클라우드 서비스 속도 μj를 참고하여 인덱스 j=0은 개인 클라우드를 의미하고 인덱스 j가 0이 아닌 자연수이면 j 번째 공공 클라우드를 의미한다.λ is the average arrival rate, and n is the total number of IoT devices. In the j-th cloud, the service speeds of virtual machines are the same and follow an exponential distribution with mean μ j . Each cloud can be treated as an M/M/c queue. Referring to the cloud service speed μ j , index j=0 means a private cloud, and if index j is a natural number other than 0, it means the j-th public cloud.

처리된 데이터 크기는 다양하므로, IoT 장치로부터의 입력 데이터의 평균 데이터는 LI, 평균 출력 데이터는 데이터 트래픽 계수(data traffic coefficient, DTC)를 곱하여 LO로 표현될 수 있다.The processed data size may be varied so, represented by L O average data of the input data from the IoT device I L, the average output data is multiplied by the coefficient data traffic (data traffic coefficient, DTC).

Figure pat00003
Figure pat00003

개인 클라우드로부터 j 번째 클라우드로의 데이터 트래픽 계수는 αj라고 하고 반대 방향의 데이터 트래픽 계수는 βj라고 한다.Let the data traffic coefficient from the private cloud to the j-th cloud be α j and the data traffic coefficient in the opposite direction is β j .

하이브리드 클라우드의 설치 비용은 개인 클라우드에 대한 비용과 공공 클라우드에 대한 비용으로 두 배이다. 공공 클라우드에 대한 비용은 수학식 4와 같이 표현되고, 개인 클라우드에 대한 비용은 수학식 5와 같이 표현된다.The installation cost of a hybrid cloud is double the cost for a private cloud and the cost for a public cloud. The cost for the public cloud is expressed as Equation 4, and the cost for the private cloud is expressed as Equation 5.

Figure pat00004
Figure pat00004

Figure pat00005
는 렌탈 비용과 고정 소비 전력의 합이고,
Figure pat00006
는 동적 소비 전력이고, Nj는 j 번째 클라우드에서 가상 머신의 개수이다.
Figure pat00005
is the sum of rental cost and fixed power consumption,
Figure pat00006
is the dynamic power consumption, and N j is the number of virtual machines in the j-th cloud.

Figure pat00007
Figure pat00007

N0은 개인 클라우드에서 가상 머신의 개수이고,

Figure pat00008
는 가상 머신 별 구매 비용이다. 구매 비용은 네트워크 장비 비용, 가상 머신 소프트웨어 라이센스, 애플리케이션 소프트웨어 라이선스를 포함한다.
Figure pat00009
는 동적 소비 전력 총합이다.N 0 is the number of virtual machines in the private cloud,
Figure pat00008
is the purchase cost per virtual machine. The purchase cost includes the cost of network equipment, virtual machine software licenses, and application software licenses.
Figure pat00009
is the sum of dynamic power consumption.

Figure pat00010
Figure pat00010

수학식 6에서 괄호를

Figure pat00011
Figure pat00012
으로 치환한다.In Equation 6, parentheses
Figure pat00011
class
Figure pat00012
replace with

Figure pat00013
Figure pat00013

클라우드 모델에서 전처리(pre-processing)와 스케줄링(scheduling)을 합쳐서 준비작업(groundwork)이라고 한다. 준비작업의 서비스 시간은 파라미터 μG를 갖는 지수적 분포로 가정할 수 있다. 개인 클라우드의 모든 가상 머신은 필요한 태스크를 수행하고 남은 필요한 태스크를 수행하여 할당된 작업을 완료할 수 있다. 준비작업의 서비스 시간은 남은 태스크를 완료하는데 필요한 서비스 시간과 비교하여 상대적으로 적게 소요되는 것으로 가정한다.The combination of pre-processing and scheduling in the cloud model is called groundwork. The service time of the preparatory work can be assumed to be exponentially distributed with the parameter μ G . Any virtual machine in the private cloud can perform the necessary tasks and complete the tasks assigned to it by performing the remaining necessary tasks. It is assumed that the service time of the preparation work is relatively small compared to the service time required to complete the remaining tasks.

도착하는 입력 데이터 트래픽은 푸아송 분포를 따르므로, 개인 클라우드의 준비작업은 M/M/N0 큐 모델로 모델링될 수 있다. 준비작업의 지연 τG는 수학식 8과 같이 표현된다.Since the incoming input data traffic follows a Poisson distribution, the preparation of the private cloud can be modeled as an M/M/N 0 queue model. The delay τ G of the preparation work is expressed as in Equation (8).

Figure pat00014
Figure pat00014

C()는 얼랑-C 공식으로 정의되며 수학식 7과 같이 표현될 수 있다.C( ) is defined by the Erlang-C formula and can be expressed as Equation (7).

Figure pat00015
Figure pat00015

가상 머신 사용 ρG는 1보다 작아야 하고, 큐는 무한대로 증가한다.The virtual machine usage ρ G must be less than 1, and the queue grows to infinity.

Figure pat00016
Figure pat00016

준비작업이 완료되면, 개인 클라우드는 필요에 따라 전처리 데이터를 공공 클라우드로 전송한다. 개인 클라우드로부터 j 번째 공공 클라우드로 데이터를 전송하여 발생하는 전송 지연은 수학식 11과 같이 표현된다.When the preparatory work is completed, the private cloud transmits the pre-processing data to the public cloud as needed. The transmission delay caused by transmitting data from the private cloud to the j-th public cloud is expressed as Equation 11.

Figure pat00017
Figure pat00017

지연 시간은 수학식 12와 같이 표현된다.The delay time is expressed as Equation (12).

Figure pat00018
Figure pat00018

네트워크 처리 후 공공 클라우드는 남은 태스크를 처리한다. After network processing, the public cloud handles the remaining tasks.

(정리 1) j 번째 공공 클라우드로의 데이터 도착은 평균 속도 ωjλ를 갖는 푸아송 분포를 따른다. 각 공공 클라우드는 M/M/Nj 큐 모델로 모델링할 수 있다. j 번째 공공 클라우드에서 실행 시간은 수학식 13과 같이 표현된다.(Theorem 1) The arrival of data to the j-th public cloud follows a Poisson distribution with an average velocity ω j λ. Each public cloud can be modeled with an M/M/N j queue model. In the j-th public cloud, the execution time is expressed as Equation 13.

Figure pat00019
Figure pat00019

C()는 얼랑-C 공식으로 정의되며 수학식 14와 같이 표현된다.C() is defined by the Erlang-C formula and is expressed as Equation 14.

Figure pat00020
Figure pat00020

j 번째 공공 클라우드에서 남은 태스크를 완료하면, j 번째 공공 클라우드는 출력 데이터를 개인 클라우드로 역 전송한다. 전송 지연을 고려한 지연 시간은 수학식 15와 같이 표현된다.When the j-th public cloud completes the remaining tasks, the j-th public cloud sends the output data back to the private cloud. The delay time considering the transmission delay is expressed as Equation (15).

Figure pat00021
Figure pat00021

j 번째 공공 클라우드를 사용한 남은 태스크를 처리하는 데 필요한 시간은 수학식 16과 같이 표현된다.The time required to process the remaining task using the j-th public cloud is expressed as Equation 16.

Figure pat00022
Figure pat00022

τN = τ0j + τj0을 의미한다.τ N = τ 0j + τ j0 .

개인 클라우드를 사용할 때에도 준비작업이 필요하다.Preparatory work is also required when using a private cloud.

Figure pat00023
Figure pat00023

C()는 얼랑-C 공식으로 정의되며 수학식 18과 같이 표현된다.C() is defined by the Erlang-C formula and is expressed as Equation 18.

Figure pat00024
Figure pat00024

개인 클라우드에서 τN = 0이다.In the private cloud, τ N = 0.

Figure pat00025
Figure pat00025

최소 비용 하이브리드 클라우드 컴퓨팅 방식은 지연 임계치 D* 범위에서 작업을 완료해야 한다. 해결과제 P1의 목적은 지연 임계치를 만족하는 최소화된 가상 머신의 개수

Figure pat00026
를 찾는 것이다.The least cost hybrid cloud computing approach must complete tasks within the range of delay threshold D*. The goal of task P1 is to minimize the number of virtual machines that satisfy the delay threshold.
Figure pat00026
is to find

Figure pat00027
Figure pat00027

벡터 N = (N0, N1, ... , NM)이다. The vector N = (N 0 , N 1 , ... , N M ).

수학식 8, 13, 17에서 얼랑-C 공식이 미분 가능하지 않으므로, 해결과제 P1에 KKT 조건을 적용할 수 없다. 본 실시예에 따른 동적 자원 할당 장치는 얼랑-C 공식에 상한을 설정한다. 수학식 9, 14, 18에 대해서

Figure pat00028
,
Figure pat00029
,
Figure pat00030
상한을 설정하면 수학식 20, 21, 22와 같이 표현된다.In Equations 8, 13, and 17, since the Erlang-C formula is not differentiable, the KKT condition cannot be applied to the problem P1. The dynamic resource allocation apparatus according to the present embodiment sets an upper limit in the Erlang-C formula. About Equations 9, 14 and 18
Figure pat00028
,
Figure pat00029
,
Figure pat00030
When the upper limit is set, it is expressed as Equations 20, 21, and 22.

Figure pat00031
Figure pat00031

Figure pat00032
Figure pat00032

Figure pat00033
Figure pat00033

수학식 20, 21, 22를 미분하면 수학식 23, 24, 25와 같이 표현된다.Differentiating Equations 20, 21 and 22 is expressed as Equations 23, 24 and 25.

Figure pat00034
Figure pat00034

Figure pat00035
Figure pat00035

Figure pat00036
Figure pat00036

지연 시간에 얼랑-C 공식의 상한을 적용한 지연 상한을 수학식 26, 27, 28과 같이 표현할 수 있다.The upper limit of the delay obtained by applying the upper limit of the Erlang-C formula to the delay time can be expressed as Equations 26, 27, and 28.

Figure pat00037
Figure pat00037

Figure pat00038
Figure pat00038

Figure pat00039
Figure pat00039

벡터 g는 수학식 29와 같이 표현된다.The vector g is expressed as in Equation 29.

Figure pat00040
Figure pat00040

Figure pat00041
Figure pat00041

Figure pat00042
Figure pat00042

수학식 29, 30, 31을 통해 모든 j에 대한 부등식

Figure pat00043
을 설정할 수 있다. g는 미분 가능하므로, 해결과제 P1을 해결과제 P2로 치환할 수 있다. 해결과제 P2에 의해 3 개의 정리가 성립될 수 있다.Inequalities for all j through equations 29, 30 and 31
Figure pat00043
can be set. Since g is differentiable, the solution P1 can be substituted for the solution P2. Three theorems can be established by the solution task P2.

Figure pat00044
Figure pat00044

(정리 2) 해결과제 P2를 풀면서 찾은 해는 해결과제 P1의 제약조건을 만족시키는 데 충분하다.(Theorem 2) The solution found while solving the problem P2 is sufficient to satisfy the constraint of the problem P1.

(정리 3) 해결과제 P2의 부등식 제약조건은 모두 컨벡스(convex)하다. (Theorem 3) The inequality constraints of task P2 are all convex.

Figure pat00045
를 참조하면
Figure pat00046
는 수학식 32 및 수학식 33과 같이 표현되고, 분수를 분해하면 수학식 34와 같이 표현된다.
Figure pat00045
refer to
Figure pat00046
is expressed as in Equations 32 and 33, and when the fraction is decomposed, it is expressed as Equation 34.

Figure pat00047
Figure pat00047

Figure pat00048
Figure pat00048

Figure pat00049
Figure pat00049

(정리 4) KKT를 사용하여 최적화된 값을 찾으면,

Figure pat00050
는 해결과제 P2의 최적화된 전역 해(global optimal solutions)이다. (Theorem 4) Using KKT to find the optimized value,
Figure pat00050
is the global optimal solutions of the problem P2.

해결과제 P2에 대한 KKT 조건은 수학식 35, 36, 37과 같이 표현된다.The KKT condition for the solution task P2 is expressed as Equations 35, 36, and 37.

Figure pat00051
Figure pat00051

Figure pat00052
Figure pat00052

Figure pat00053
Figure pat00053

*는 해를 나타내고, π는

Figure pat00054
로 정의된 KKT의 곱셈 벡터이다.* represents the solution, π is
Figure pat00054
It is a multiplication vector of KKT defined as .

해의 타당성은 수학식 38과 같이 표현된다.The validity of the solution is expressed as in Equation 38.

Figure pat00055
Figure pat00055

Figure pat00056
Figure pat00056

Figure pat00057
Figure pat00057

Figure pat00058
Figure pat00058

수학식 37의 조건을 만족하려면 수학식 42를 만족해야 한다.In order to satisfy the condition of Equation 37, Equation 42 must be satisfied.

Figure pat00059
Figure pat00059

준비작업의 서비스 시간은 남은 태스크를 완료하는데 필요한 서비스 시간과 비교하여 상대적으로 적게 소요된다.The service time of the preparatory work is relatively small compared to the service time required to complete the remaining tasks.

Figure pat00060
Figure pat00060

Figure pat00061
는 임의의 작은 수
Figure pat00062
보다 작다.
Figure pat00061
is any small number
Figure pat00062
smaller than

Figure pat00063
Figure pat00063

Figure pat00064
Figure pat00064

이러한 과정을 거쳐 해는 수학식 46과 같이 표현된다.Through this process, the solution is expressed as Equation 46.

Figure pat00065
Figure pat00065

Figure pat00066
Figure pat00066

Figure pat00067
Figure pat00067

Figure pat00068
Figure pat00068

클라우드 컴퓨팅에서 자동 스케일링 방식을 적용할 수 있다.An automatic scaling method can be applied in cloud computing.

mj는 j 번째 클라우드에서 활성화된 가상 머신의 개수이다.m j is the number of virtual machines activated in the j-th cloud.

kj는 j 번째 클라우드에서 태스크의 개수이다.k j is the number of tasks in the j-th cloud.

(mj, kj)는 j 번째 클라우드의 상태이다.(m j , k j ) is the state of the j-th cloud.

[a(mj), b(mj)]는 j 번째 클라우드의 상태를 결정하는 정수이다. b(mj) > a(mj) >= m-1, b(mj) >= a((m+1)j), a(1j) < a(2j) < a(3j) < ... , b(1j) < b(2j) < b(3j) < ... 를 만족한다.[a(m j ), b(m j )] is an integer that determines the state of the j-th cloud. b(m j ) > a(m j ) >= m-1, b(m j ) >= a((m+1) j ), a(1 j ) < a(2 j ) < a(3 j ) ) < ... , b(1 j ) < b(2 j ) < b(3 j ) < ...

시계열적인 분석은 주기적인 워크로드에 적합하지 않다. 예컨대, IoT 장치는 밤시간보다 낮시간에 훨씬 더 많이 클라우드에 접근한다. 이러한 주기적인 워크로드를 고려할 수 있도록 지표 o(mj)와 u(mj)를 이용한 예상 초과 상태(likely-over-provisioned state) 및 예상 부족 상태(likely-under-provisioned state)를 더 포함하는 상태 조건을 설정한다.Time-series analysis is not suitable for periodic workloads. For example, IoT devices access the cloud much more during the day than during the night. In order to be able to consider these periodic workloads, it further includes a likely-over-provisioned state and a likely-under-provisioned state using the indicators o(m j ) and u(m j ). Set the state condition.

Figure pat00069
Figure pat00069

지표 o(mj)와 u(mj)는

Figure pat00070
Figure pat00071
으로 설정되고,
Figure pat00072
Figure pat00073
는 조절 가능한 임의의 양의 실수이다. o(mj)와 u(mj)는 주기적 워크로드 상황에서 활성화된 IoT 장치의 개수를 예측하는 데 적합하다. The indicators o(m j ) and u(m j ) are
Figure pat00070
and
Figure pat00071
is set to
Figure pat00072
and
Figure pat00073
is any adjustable real number. o(m j ) and u(m j ) are suitable for predicting the number of active IoT devices in a periodic workload situation.

도 3은 본 발명의 다른 실시예에 따른 하이브리드 클라우드의 동적 자원 할당 방법을 예시한 블록도이다. 하이브리드 클라우드의 동적 자원 할당 방법은 하이브리드 클라우드의 동적 자원 할당 장치에 의해 수행될 수 있다.3 is a block diagram illustrating a dynamic resource allocation method of a hybrid cloud according to another embodiment of the present invention. The hybrid cloud dynamic resource allocation method may be performed by a hybrid cloud dynamic resource allocation apparatus.

단계 S10에서, 동적 자원 할당 방법은 데이터 트래픽을 입력받는다.In step S10, the dynamic resource allocation method receives data traffic.

단계 S20에서, 동적 자원 할당 방법은 클라우드의 상태 조건이 정상 상태에 해당하는지 여부를 판단한다. 상태 조건이 정상 상태에 해당하지 않으면, 동적 자원 할당 방법은 하이브리드 클라우드에서 활성화된 가상 머신의 개수 및 태스크의 개수를 체크한다(S30).In step S20, the dynamic resource allocation method determines whether the state condition of the cloud corresponds to a normal state. If the state condition does not correspond to the normal state, the dynamic resource allocation method checks the number of virtual machines and the number of tasks activated in the hybrid cloud (S30).

단계 S40에서, 동적 자원 할당 방법은 클라우드의 상태 조건이 예상 초과 상태(likely-over-provisioned state)에 해당하는지 여부를 판단한다. 상태 조건이 예상 초과 상태에 해당하면, 동적 자원 할당 방법은 대기 시간 이후에, 얼랑-C 공식 모델링하고 상한을 적용하고 상한에 미분을 적용하고 KKT 조건을 적용하여 최적화된 개수를 할당한다(S50).In step S40, the dynamic resource allocation method determines whether the state condition of the cloud corresponds to a likely-over-provisioned state. If the state condition corresponds to the expected excess state, the dynamic resource allocation method allocates the optimized number after the waiting time by modeling the Erlang-C formula, applying the upper limit, applying the differential to the upper limit, and applying the KKT condition (S50) .

단계 S60에서, 동적 자원 할당 방법은 클라우드의 상태 조건이 예상 부족 상태(likely-under-provisioned state)에 해당하는지 여부를 판단한다. 상태 조건이 예상 부족 상태에 해당하면, 동적 자원 할당 방법은 즉각적으로, 얼랑-C 공식 모델링하고 상한을 적용하고 상한에 미분을 적용하고 KKT 조건을 적용하여 최적화된 개수를 할당한다(S70).In step S60, the dynamic resource allocation method determines whether the state condition of the cloud corresponds to a likely-under-provisioned state. If the state condition corresponds to the expected shortage state, the dynamic resource allocation method immediately allocates the optimized number by modeling the Erlang-C formula, applying the upper limit, applying the differential to the upper limit, and applying the KKT condition (S70).

단계 S80에서, 동적 자원 할당 방법은 클라우드의 상태 조건이 초과 상태(over-provisioned state) 또는 부족 상태(under-provisioned state)에 해당하는지 여부를 판단한다. 상태 조건이 초과 상태 또는 부족 상태에 해당하면, 동적 자원 할당 방법은 상태 조건이 정상 상태가 될 때까지, CTMC 모델을 적용하여 최적화된 개수를 할당한다(S90).In step S80, the dynamic resource allocation method determines whether the state condition of the cloud corresponds to an over-provisioned state or an under-provisioned state. If the state condition corresponds to the excess state or the insufficient state, the dynamic resource allocation method allocates an optimized number by applying the CTMC model until the state condition becomes a normal state (S90).

동적 자원 할당 방법을 슈도 코드로 표현하면 표 1과 같다.Table 1 shows the dynamic resource allocation method using pseudo codes.

Figure pat00074
Figure pat00074

도 4 내지 도 7은 본 발명의 실시예들에 따라 수행된 모의실험 결과를 도시한 것이다.4 to 7 show simulation results performed according to embodiments of the present invention.

클라우드 컴퓨팅의 자원 할당의 탄력성 측정은 수학식 51를 이용한다.The elasticity measurement of resource allocation of cloud computing uses Equation 51.

Figure pat00075
Figure pat00075

도 4 내지 도 7에 도시된 바와 같이, 본 실시예에 따른 동적 자원 할당 모델(MARS)이 CTMC 모델보다 탄력성 측면에서 우수한 효과가 있음을 쉽게 파악할 수 있다.As shown in FIGS. 4 to 7 , it can be easily understood that the dynamic resource allocation model (MARS) according to the present embodiment has a superior effect in terms of elasticity than the CTMC model.

동적 자원 할당 장치는 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합에 의해 로직회로 내에서 구현될 수 있고, 범용 또는 특정 목적 컴퓨터를 이용하여 구현될 수도 있다. 장치는 고정배선형(Hardwired) 기기, 필드 프로그램 가능한 게이트 어레이(Field Programmable Gate Array, FPGA), 주문형 반도체(Application Specific Integrated Circuit, ASIC) 등을 이용하여 구현될 수 있다. 또한, 장치는 하나 이상의 프로세서 및 컨트롤러를 포함한 시스템온칩(System on Chip, SoC)으로 구현될 수 있다.The dynamic resource allocation apparatus may be implemented in a logic circuit by hardware, firmware, software, or a combination thereof, or may be implemented using a general-purpose or special-purpose computer. The device may be implemented using a hardwired device, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or the like. In addition, the device may be implemented as a system on chip (SoC) including one or more processors and controllers.

동적 자원 할당 장치는 하드웨어적 요소가 마련된 컴퓨팅 디바이스 또는 서버에 소프트웨어, 하드웨어, 또는 이들의 조합하는 형태로 탑재될 수 있다. 컴퓨팅 디바이스 또는 서버는 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신장치, 프로그램을 실행하기 위한 데이터를 저장하는 메모리, 프로그램을 실행하여 연산 및 명령하기 위한 마이크로프로세서 등을 전부 또는 일부 포함한 다양한 장치를 의미할 수 있다.The dynamic resource allocation apparatus may be mounted on a computing device or server provided with hardware elements in the form of software, hardware, or a combination thereof. A computing device or server is all or part of a communication device such as a communication modem for performing communication with various devices or wired/wireless communication networks, a memory for storing data for executing a program, and a microprocessor for executing operations and commands by executing the program It can mean a variety of devices, including

도 3에서는 각각의 과정을 순차적으로 실행하는 것으로 기재하고 있으나 이는 예시적으로 설명한 것에 불과하고, 이 분야의 기술자라면 본 발명의 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 3에 기재된 순서를 변경하여 실행하거나 또는 하나 이상의 과정을 병렬적으로 실행하거나 다른 과정을 추가하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이다.Although it is described that each process is sequentially executed in FIG. 3, this is only illustratively described, and those skilled in the art change the order described in FIG. Alternatively, various modifications and variations may be applied by executing one or more processes in parallel or adding other processes.

본 실시예들에 따른 동작은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능한 매체에 기록될 수 있다. 컴퓨터 판독 가능한 매체는 실행을 위해 프로세서에 명령어를 제공하는 데 참여한 임의의 매체를 나타낸다. 컴퓨터 판독 가능한 매체는 프로그램 명령, 데이터 파일, 데이터 구조 또는 이들의 조합을 포함할 수 있다. 예를 들면, 자기 매체, 광기록 매체, 메모리 등이 있을 수 있다. 컴퓨터 프로그램은 네트워크로 연결된 컴퓨터 시스템 상에 분산되어 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 본 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드, 및 코드 세그먼트들은 본 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.The operations according to the present embodiments may be implemented in the form of program instructions that can be performed through various computer means and recorded in a computer-readable medium. Computer-readable medium represents any medium that participates in providing instructions to a processor for execution. Computer-readable media may include program instructions, data files, data structures, or a combination thereof. For example, there may be a magnetic medium, an optical recording medium, a memory, and the like. A computer program may be distributed over a networked computer system so that computer readable code is stored and executed in a distributed manner. Functional programs, codes, and code segments for implementing the present embodiment may be easily inferred by programmers in the art to which this embodiment belongs.

본 실시예들은 본 실시예의 기술 사상을 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The present embodiments are for explaining the technical idea of the present embodiment, and the scope of the technical idea of the present embodiment is not limited by these embodiments. The protection scope of this embodiment should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present embodiment.

Claims (5)

개인 클라우드와 공공 클라우드가 결합된 하이브리드 클라우드의 동적 자원 할당 방법에 있어서,
데이터 트래픽을 입력받는 단계; 및
활성화된 가상 머신의 개수와 태스크의 개수에 따른 상기 하이브리드 클라우드의 상태 조건을 체크하여 상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당하는 단계
를 포함한 동작들을 수행하는 동적 자원 할당 방법.
In the dynamic resource allocation method of a hybrid cloud in which a private cloud and a public cloud are combined,
receiving data traffic; and
Allocating the minimized number of virtual machines according to the data traffic to the hybrid cloud by checking a state condition of the hybrid cloud according to the number of activated virtual machines and the number of tasks
A dynamic resource allocation method for performing operations including
제1항에 있어서,
상기 상태 조건은 (i) 예상 초과 상태, (ii) 초과 상태, (iii) 정상 상태, (iv) 부족 상태, (v) 예상 부족 상태로 구분되는 것을 특징으로 하는 하이브리드 클라우드의 동적 자원 할당 방법.
According to claim 1,
The state condition is (i) an expected excess state, (ii) an excess state, (iii) a steady state, (iv) a shortage state, and (v) an expected shortage state.
제2항에 있어서,
상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당하는 단계는,
상기 상태 조건이 상기 예상 초과 상태 또는 상기 예상 부족 상태이면, 상기 하이브리드 클라우드를 얼랑-C 공식(Erlang-C formula)으로 모델링하고, 상기 얼랑-C 공식에 상한을 적용하고 상기 상한에 미분을 적용하고 KKT(Karush-Kuhn-Tucker) 조건을 적용하여, 상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 예측하는 것을 특징으로 하는 하이브리드 클라우드의 동적 자원 할당 방법.
3. The method of claim 2,
Allocating the minimized number of virtual machines according to the data traffic to the hybrid cloud comprises:
If the state condition is the expected excess state or the expected insufficient state, the hybrid cloud is modeled with an Erlang-C formula, an upper bound is applied to the Erlang-C formula, and a derivative is applied to the upper bound, and A dynamic resource allocation method of a hybrid cloud, characterized in that the number of minimized virtual machines according to the data traffic is predicted by applying a Karush-Kuhn-Tucker (KKT) condition.
제2항에 있어서,
상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당하는 단계는,
상기 상태 조건이 상기 예상 초과 상태이면, 기설정된 대기 시간 이후에 상기 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당하고,
상기 상태 조건이 상기 예상 부족 상태이면, 즉각적으로 상기 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당하는 것을 특징으로 하는 하이브리드 클라우드의 동적 자원 할당 방법.
3. The method of claim 2,
Allocating the minimized number of virtual machines according to the data traffic to the hybrid cloud comprises:
If the state condition is the expected excess state, allocating the minimized number of virtual machines to the hybrid cloud after a preset waiting time,
When the state condition is the expected shortage state, the dynamic resource allocation method of the hybrid cloud, characterized in that immediately allocating the minimized number of virtual machines to the hybrid cloud.
제2항에 있어서,
상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당하는 단계는,
상기 상태 조건이 상기 초과 상태 또는 상기 부족 상태이면, 상기 상태 조건이 상기 정상 상태가 될 때까지, CTMC(Continuous-Time Markov Chains) 모델을 적용하여 상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 산출하는 것을 특징으로 하는 하이브리드 클라우드의 동적 자원 할당 방법.
3. The method of claim 2,
Allocating the minimized number of virtual machines according to the data traffic to the hybrid cloud includes:
If the state condition is the excess state or the insufficient state, the number of minimized virtual machines according to the data traffic is calculated by applying a Continuous-Time Markov Chains (CTMC) model until the state condition becomes the steady state. Hybrid cloud dynamic resource allocation method, characterized in that.
KR1020200081477A 2020-07-02 2020-07-02 Real-Time Dynamic Resource Allocation Method in a Hybrid Cloud-Based IoT Environment KR102368561B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200081477A KR102368561B1 (en) 2020-07-02 2020-07-02 Real-Time Dynamic Resource Allocation Method in a Hybrid Cloud-Based IoT Environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200081477A KR102368561B1 (en) 2020-07-02 2020-07-02 Real-Time Dynamic Resource Allocation Method in a Hybrid Cloud-Based IoT Environment

Publications (2)

Publication Number Publication Date
KR20220003803A true KR20220003803A (en) 2022-01-11
KR102368561B1 KR102368561B1 (en) 2022-02-25

Family

ID=79355648

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200081477A KR102368561B1 (en) 2020-07-02 2020-07-02 Real-Time Dynamic Resource Allocation Method in a Hybrid Cloud-Based IoT Environment

Country Status (1)

Country Link
KR (1) KR102368561B1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150039764A1 (en) * 2013-07-31 2015-02-05 Anton Beloglazov System, Method and Computer Program Product for Energy-Efficient and Service Level Agreement (SLA)-Based Management of Data Centers for Cloud Computing
KR20160045388A (en) * 2014-10-17 2016-04-27 한국과학기술원 virtual machine allocation method using cloud service broker
KR20160073904A (en) * 2014-12-17 2016-06-27 경희대학교 산학협력단 Method for managing resource of cloud computing system
KR20160139082A (en) * 2015-05-26 2016-12-07 인하대학교 산학협력단 Method and System for Allocation of Resource and Reverse Auction Resource Allocation in hybrid Cloud Server
KR101720292B1 (en) 2015-11-19 2017-03-27 수원대학교산학협력단 Method for allocating cloud service resources using expectation values for service provider's profit
KR20180014271A (en) * 2016-07-28 2018-02-08 중앙대학교 산학협력단 Method and apparatus for cooperative spectrum sensing usnig directional antenna in cognitive radio network
KR102090911B1 (en) * 2019-12-16 2020-03-19 주식회사 케이비시스 System for providing cloud service based on container

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150039764A1 (en) * 2013-07-31 2015-02-05 Anton Beloglazov System, Method and Computer Program Product for Energy-Efficient and Service Level Agreement (SLA)-Based Management of Data Centers for Cloud Computing
KR20160045388A (en) * 2014-10-17 2016-04-27 한국과학기술원 virtual machine allocation method using cloud service broker
KR20160073904A (en) * 2014-12-17 2016-06-27 경희대학교 산학협력단 Method for managing resource of cloud computing system
KR20160139082A (en) * 2015-05-26 2016-12-07 인하대학교 산학협력단 Method and System for Allocation of Resource and Reverse Auction Resource Allocation in hybrid Cloud Server
KR101720292B1 (en) 2015-11-19 2017-03-27 수원대학교산학협력단 Method for allocating cloud service resources using expectation values for service provider's profit
KR20180014271A (en) * 2016-07-28 2018-02-08 중앙대학교 산학협력단 Method and apparatus for cooperative spectrum sensing usnig directional antenna in cognitive radio network
KR102090911B1 (en) * 2019-12-16 2020-03-19 주식회사 케이비시스 System for providing cloud service based on container

Also Published As

Publication number Publication date
KR102368561B1 (en) 2022-02-25

Similar Documents

Publication Publication Date Title
CN107025205B (en) Method and equipment for training model in distributed system
CN108089921B (en) Server for cloud big data operation architecture and operation resource optimization method thereof
US10402733B1 (en) Adaptive ensemble workload prediction model based on machine learning algorithms
US10102033B2 (en) Method and system for performance ticket reduction
US10540285B2 (en) Coordination of cache and memory reservation
US9632836B2 (en) Scheduling applications in a clustered computer system
US11150951B2 (en) Releasable resource based preemptive scheduling
EP4083800A1 (en) System and method for low latency node local scheduling in distributed resource management
US20140310712A1 (en) Sequential cooperation between map and reduce phases to improve data locality
US11429434B2 (en) Elastic execution of machine learning workloads using application based profiling
US20180176070A1 (en) System and method to handle events using historical data in serverless systems
US11055139B2 (en) Smart accelerator allocation and reclamation for deep learning jobs in a computing cluster
KR101471749B1 (en) Virtual machine allcoation of cloud service for fuzzy logic driven virtual machine resource evaluation apparatus and method
CN112087332B (en) Virtual network performance optimization system under cloud edge cooperation
US20230136661A1 (en) Task scheduling for machine-learning workloads
US9983908B1 (en) Adjusting allocation of selected resources for capped and uncapped virtual machines
CN105022668A (en) Job scheduling method and system
KR20190076693A (en) Automatic distributing and predicting usage for workload in heterogeneous cloud environment
US20210390405A1 (en) Microservice-based training systems in heterogeneous graphic processor unit (gpu) cluster and operating method thereof
KR102368561B1 (en) Real-Time Dynamic Resource Allocation Method in a Hybrid Cloud-Based IoT Environment
US10956228B2 (en) Task management using a virtual node
US11544589B2 (en) Use machine learning to verify and modify a specification of an integration interface for a software module
CN110222410A (en) A kind of electromagnetic environment emulation method based on Hadoop MapReduce
EP3096227A1 (en) Resource allocation method in distributed clouds
KR20170094899A (en) System and method for managing computing resources

Legal Events

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