KR102135208B1 - Virtual machine placement method using scheduling and virtual machine placement device implementing the same - Google Patents

Virtual machine placement method using scheduling and virtual machine placement device implementing the same Download PDF

Info

Publication number
KR102135208B1
KR102135208B1 KR1020190092851A KR20190092851A KR102135208B1 KR 102135208 B1 KR102135208 B1 KR 102135208B1 KR 1020190092851 A KR1020190092851 A KR 1020190092851A KR 20190092851 A KR20190092851 A KR 20190092851A KR 102135208 B1 KR102135208 B1 KR 102135208B1
Authority
KR
South Korea
Prior art keywords
physical server
virtual machine
virtual
load
predetermined
Prior art date
Application number
KR1020190092851A
Other languages
Korean (ko)
Inventor
윤호영
김영광
김민준
Original Assignee
오케스트로 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 오케스트로 주식회사 filed Critical 오케스트로 주식회사
Priority to KR1020190092851A priority Critical patent/KR102135208B1/en
Priority to KR1020200078477A priority patent/KR102316749B1/en
Application granted granted Critical
Publication of KR102135208B1 publication Critical patent/KR102135208B1/en
Priority to US16/939,385 priority patent/US11620150B2/en
Priority to US18/126,058 priority patent/US20230229486A1/en
Priority to US18/126,118 priority patent/US20230229487A1/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
    • 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/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

A virtual machine placement method according to one embodiment of the present invention is a method for placing a plurality of virtual machines on a first physical server and a second physical server in order to efficiently operate a physical server in which the virtual machine is installed, wherein the physical server includes the first physical server and the second physical server. The method includes the steps of: calculating virtual machine workload information, which is information related to a virtual machine workload which is a load of the physical server applied from the virtual machine by a predetermined workload calculation method based on information related to the operation of the first physical server and the second physical server; calculating initial predicted virtual load information, which is information related to an initial predicted virtual load associated with a load of the physical server applied from the virtual machine, which is predicted for a first predetermined period based on the virtual machine workload; calculating placement schedule information, which is information related to a placement schedule of the virtual machines on the first physical server and the second physical server, by a predetermined placement schedule calculation method; and placing the virtual machine while moving on the first physical server and the second physical server such that the virtual machine is placed on the first physical server and the second physical server according to the placement schedule calculated by the predetermined placement schedule calculation method. The predetermined placement schedule calculation method may be a method of calculating the placement schedule of the virtual machine when an objective function value is minimized based on the initial predicted virtual load information.

Description

스케줄링을 통한 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치 {VIRTUAL MACHINE PLACEMENT METHOD USING SCHEDULING AND VIRTUAL MACHINE PLACEMENT DEVICE IMPLEMENTING THE SAME}Virtual machine placement method through scheduling and virtual machine placement device implementing the same {VIRTUAL MACHINE PLACEMENT METHOD USING SCHEDULING AND VIRTUAL MACHINE PLACEMENT DEVICE IMPLEMENTING THE SAME}

본 발명은 스케줄링을 통한 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치에 관한 것으로서, 복수의 가상 머신이 각각 배치된 제1 물리 서버와 제2 물리 서버를 효율적으로 운용하기 위하여, 복수의 상기 가상 머신을 상기 제1 물리 서버와 상기 제2 물리 서버 상에 배치하기 위한 것이다.The present invention relates to a method for deploying a virtual machine through scheduling and a virtual machine placement device implementing the same, in order to efficiently operate a first physical server and a second physical server in which a plurality of virtual machines are respectively disposed, a plurality of the virtual machines It is for deploying a machine on the first physical server and the second physical server.

전 세계 전력사용량의 약 2%를 차지하는 데이터센터는 단일 건물 중 전력을 가장 많이 사용하는 고밀도 에너지 다소비 건물이지만, 안정성을 최우선시하는 보수적인 운영을 고수하여 비효율적인 운영 현황을 보이고 있다. 향후 사물인터넷, 빅 데이터, 클라우드 기술 등의 확산으로 인해 소규모의 데이터센터는 대규모의 데이터센터인 '하이퍼스케일', '메가' 데이터센터로 통합될 것으로 전망되는바, 인프라 확대에 따른 데이터센터 운영관리의 복잡성 또한 심화될 것으로 전망된다. 이에 불필요한 서버는 유휴 혹은 절전모드로 전환하고, 가용되는 서버를 최대한 안정적으로 운영함으로써 데이터센터 운영의 효율성을 극대화하며, 전력소비량을 줄여 운영비용 절감에 기여하기 위하여, 데이터센터에 배치된 수많은 가상 머신들의 배치를 적절하게 하는 것이 매우 중요하다.The data center, which accounts for about 2% of the world's electricity consumption, is a high-density energy-consuming building that consumes the most power among single buildings, but has maintained an inefficient operation by adhering to conservative operations that prioritize stability. Due to the proliferation of IoT, big data, and cloud technologies in the future, small data centers are expected to be integrated into'hyperscale' and'mega' data centers, which are large-scale data centers. The complexity of the project is also expected to deepen. To this end, unnecessary servers are switched to the idle or power saving mode, and the available servers are operated as reliably as possible to maximize the efficiency of the data center operation and to reduce the power consumption, contributing to the reduction of operating costs. It is very important to properly arrange them.

물리적 자원(Physical Machine, PM, 물리 서버)들을 논리적 자원(Virtual Machine, VM, 가상 머신)들로 구성하는 가상화 환경에서는 구동 중인 가상 머신을 다른 물리 서버로 이동시킬 수 있는데, 이를 라이브 마이그레이션이라고 한다. 이는 효율적인 데이터센터를 관리하는데 필수적인 관리 방법이다. 다만, 마이그레이션 할 경우 데이터 손실 위험, 리소스의 많은 부분이 차지되는 등의 단점도 있다.In a virtualized environment that organizes physical resources (Physical Machine, PM, and physical servers) into logical resources (Virtual Machine, VM, and virtual machines), a running virtual machine can be moved to another physical server, which is called live migration. This is an essential management method for managing an efficient data center. However, there are also disadvantages such as risk of data loss and a large portion of resources when migrating.

여기서, 기존의 연구(일본특허공보 특허 제5827594, 2015. 10. 23, 등록)들은 특정 시점을 기준으로 임의의 물리 서버에 임계 값 이상의 부하가 걸릴 경우 마이그레이션을 하여, 부하가 걸린 물리 서버의 부하를 저감시키는 방법으로 물리 서버들 간의 균형을 맞추고 있다. 하지만, 이러한 방법은 특정 가상 머신이 마이그레이션된 서버가 과 부화될 가능성이 매우 높아지며, 이로 인해 재차 마이그레이션 과정이 실행되는 것과 같이, 많은 횟수의 마이그레이션이 실행되는 문제가 있다.Here, the existing studies (Japanese Patent Publication No. 5827594, October 23, 2015, registration) are migrated when a load above a threshold is applied to any physical server based on a specific time point, and the load of the loaded physical server It is balancing the physical servers as a way to reduce the. However, this method has a very high possibility of overloading a server to which a specific virtual machine has been migrated, and as a result, many migrations are executed, such as the migration process being executed again.

본 발명의 해결하고자 하는 과제는 상기 문제점을 해결하기 위하여, 마이그레이션의 횟수를 적게 하여 데이터를 안정적으로 관리할 수 있는, 스케줄링을 통한 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치를 제공하고자 한다.In order to solve the above problems, an object of the present invention is to provide a method for deploying a virtual machine through scheduling, and a device for deploying a virtual machine implementing the same, which can stably manage data by reducing the number of migrations.

다만, 본 발명이 해결하고자 하는 과제가 상술한 과제로 제한되는 것은 아니며, 언급되지 아니한 과제들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.However, the problems to be solved by the present invention are not limited to the above-described problems, and the problems not mentioned can be clearly understood by those having ordinary knowledge in the technical field to which the present invention pertains from this specification and the accompanying drawings. There will be.

본 발명의 일 실시예에 따른 가상 머신 배치 방법은, 가상 머신이 설치된 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함. -를 효율적으로 운용하기 위하여, 복수의 상기 가상 머신을 상기 제1 물리 서버와 상기 제2 물리 서버 상에 배치하는 방법인 가상 머신 배치 방법에 있어서, 상기 제1 물리 서버와 상기 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크 로드 산출 방법에 의해 상기 가상 머신에 의해 부과되는 물리 서버의 부하인 가상 머신 워크 로드와 관련된 정보인 가상 머신 워크 로드 정보가 산출되는 단계; 상기 가상 머신 워크 로드를 기초로 미리 정해진 제1 기간 동안 예측되는 상기 가상 머신에 의해 부과되는 물리 서버의 부하와 연관된 최초 예측 가상 로드와 관련된 정보인 최초 예측 가상 로드 정보가 산출되는 단계; 미리 정해진 배치 일정 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치 일정과 관련된 정보인 배치 일정 정보가 산출되는 단계; 및 상기 미리 정해진 배치 일정 산출 방법에 의해 산출된 상기 배치 일정에 따라 상기 제1 물리 서버와 상기 제2 물리 서버 상에 상기 가상 머신이 배치되도록, 상기 가상 머신이 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 이동되면서 배치되는 단계;를 포함하고, 상기 미리 정해진 배치 일정 산출 방법은, 상기 최초 예측 가상 로드 정보를 기초로 목적 함수 값이 최소화될 때의 상기 가상 머신의 상기 배치 일정이 산출되는 방법일 수 있다.A virtual machine placement method according to an embodiment of the present invention includes a physical server on which a virtual machine is installed, wherein the physical server includes a first physical server and a second physical server. In order to operate efficiently, a method of deploying a plurality of the virtual machines on the first physical server and the second physical server, wherein the first physical server and the second physical server Calculating virtual machine workload information that is information related to a virtual machine workload that is a load of a physical server charged by the virtual machine by a predetermined workload calculation method based on information related to operation; Calculating initial predictive virtual load information that is information related to an initial predictive virtual load associated with a load of a physical server charged by the virtual machine predicted for a predetermined first period based on the virtual machine workload; Calculating batch schedule information that is information related to the batch schedule of the virtual machines on the first physical server and the second physical server by a predetermined batch schedule calculation method; And the virtual machine is disposed on the first physical server and the second physical server according to the arrangement schedule calculated by the predetermined arrangement schedule calculation method. Including the step of being moved while moving on the physical server, The predetermined batch schedule calculation method is a method for calculating the batch schedule of the virtual machine when the objective function value is minimized based on the initial predicted virtual load information. Can be

또한, 상기 목적 함수는, 상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 부하의 변화 량과 관련된 함수인 제1 목적 함수를 구비할 수 있다.In addition, the objective function may include a first objective function that is a function related to the amount of change in the load of the physical server calculated by the initial predictive virtual load during the predetermined first period.

또한, 상기 목적 함수는, 상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 부하들 간의 차이와 관련된 함수인 제2 목적 함수를 구비할 수 있다.Further, the objective function may include a second objective function that is a function related to a difference between loads of the physical server calculated by the initial predictive virtual load during the first predetermined period.

또한, 상기 목적 함수는, 상기 가상 머신이 상기 배치 일정에 따라 배치되기 위해서 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 상기 가상 머신이 배치 이동되는 횟수와 관련된 함수인 제3 목적 함수를 구비할 수 있다.In addition, the objective function may include a third objective function, which is a function related to the number of times the virtual machine is placed and moved on the first physical server and the second physical server in order to place the virtual machine according to the deployment schedule. Can.

또한, 상기 목적 함수는, 상기 미리 정해진 제1 기간 동안, 상기 제1 물리 서버의 가동 여부 및 상기 제2 물리 서버의 가동 여부와 관련된 함수인 제4 목적 함수를 구비할 수 있다.In addition, the objective function may include a fourth objective function that is a function related to whether the first physical server is activated and whether the second physical server is activated during the predetermined first period.

또한, 상기 목적 함수는, 상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 부하의 변화 량과 관련된 함수인 제1 목적 함수, 상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 부하들 간의 차이와 관련된 함수인 제2 목적 함수, 상기 가상 머신이 상기 탐색 배치로 배치되기 위해서 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 상기 가상 머신이 배치 이동되는 횟수와 관련된 함수인 제3 목적 함수 및 상기 미리 정해진 제1 기간 동안, 상기 제1 물리 서버의 가동 여부 및 상기 제2 물리 서버의 가동 여부와 관련된 함수인 제4 목적 함수를 구비할 수 있다.In addition, the objective function is a first objective function that is a function related to a change amount of a load of a physical server calculated by the initial predictive virtual load during the first predetermined period, and during the first predetermined period, the first A second objective function, which is a function related to a difference between loads of a physical server calculated by a predictive virtual load, and the virtual machine on the first physical server and the second physical server in order to place the virtual machine in the search arrangement. A third objective function, which is a function related to the number of times the batch is moved, and a fourth objective function, which is a function related to whether the first physical server is operating and whether the second physical server is operating, during the first predetermined period may be provided. have.

또한, 상기 배치 일정은, 상기 제1 목적 함수의 값이 최소인 상태를 기준으로, 상기 제2 목적 함수의 값, 상기 제3 목적 함수 및 제4 목적 함수의 값이 최소화되는 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 제1 배치 일정, 상기 제2 목적 함수의 값이 최소인 상태를 기준으로, 상기 제1 목적 함수의 값, 상기 제3 목적 함수 및 제4 목적 함수의 값이 최소화되는 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 제2 배치 일정, 상기 제3 목적 함수의 값이 최소인 상태를 기준으로, 상기 제1 목적 함수의 값, 상기 제2 목적 함수 및 제4 목적 함수의 값이 최소화되는 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 제3 배치 일정 및 상기 제4 목적 함수의 값이 최소인 상태를 기준으로, 상기 제1 목적 함수의 값, 상기 제2 목적 함수 및 제3 목적 함수의 값이 최소화되는 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 제4 배치 일정을 구비할 수 있다.In addition, the arrangement schedule is based on a state in which the value of the first objective function is minimum, the first physical server in which the values of the second objective function, the values of the third objective function, and the fourth objective function are minimized. And the first batch schedule, which is the placement of the virtual machine on the second physical server, and the value of the first objective function, the third objective function, and the fourth objective based on a state in which the value of the second objective function is minimum. Based on a state in which a value of the third object function is minimum and a second placement schedule, which is the placement of the virtual machine on the first physical server and the second physical server, where the value of the function is minimized, The value, the third batch schedule, which is the arrangement of the virtual machines on the first physical server and the second physical server, where the values of the second objective function and the fourth objective function are minimized, and the value of the fourth objective function are minimum. Based on the state, the fourth batch schedule which is an arrangement of the first physical server and the virtual machine on the second physical server, where the values of the first objective function, the values of the second objective function and the third objective function are minimized. It may be provided.

또한, 상기 미리 정해진 워크 로드 산출 방법은, CPU의 가동 정도만을 기초로 상기 가상 머신 워크 로드 정보가 산출되는 방법을 포함할 수 있다.In addition, the predetermined workload calculation method may include a method of calculating the virtual machine workload information based only on the degree of operation of the CPU.

또한, 상기 미리 정해진 배치 일정 산출 방법은, 임의의 물리 서버에 대해서 상기 물리 서버의 부하가 미리 정해진 범위 내에서만 부과되도록, 상기 가상 머신의 배치 일정이 산출되는 방법을 포함할 수 있다.In addition, the predetermined batch schedule calculation method may include a method of calculating the batch schedule of the virtual machine such that the load of the physical server is imposed only within a predetermined range for any physical server.

또한, 상기 미리 정해진 배치 산출 방법은, 상기 임의의 물리 서버에 대해서 상기 물리 서버의 부하가 미리 정해진 범위 내에서만 부과될 수 있도록, 상기 임의의 물리 서버의 부하가 제1 기준 이상 될 것으로 예측될 경우에는, 상기 임의의 물리 서버에 배치된 상기 가상 머신들 중 적어도 하나의 상기 가상 머신을 다른 물리 서버로 이동시키는 방법을 포함할 수 있다.In addition, in the predetermined batch calculation method, when the load of the arbitrary physical server is predicted to be greater than or equal to the first criterion, so that the load of the physical server may be charged only within a predetermined range for the arbitrary physical server. It may include a method of moving at least one of the virtual machines disposed on the arbitrary physical server to another physical server.

또한, 상기 미리 정해진 배치 산출 방법은, 상기 임의의 물리 서버에 대해서 상기 물리 서버의 부하가 미리 정해진 범위 내에서만 부과될 수 있도록, 상기 임의의 물리 서버의 부하가 제2 기준 이하 될 것으로 예측될 경우에는, 상기 임의의 물리 서버에 배치된 상기 가상 머신들 모두를 다른 물리 서버로 이동시키는 방법을 포함할 수 있다.In addition, in the predetermined batch calculation method, when the load of the physical server is predicted to be less than or equal to the second criterion, so that the load of the physical server can be charged only within a predetermined range for the arbitrary physical server. It may include a method of moving all of the virtual machines disposed on the arbitrary physical server to another physical server.

또한, 상기 미리 정해진 배치 산출 방법은, 가동되지 않는 상기 물리 서버가 가동되도록 하는 상기 가상 머신의 이동으로 인해 가동 중인 상기 물리 서버가 가동되지 않는 상태로 변화되지 않도록, 상기 배치 일정 정보가 산출되는 방법을 포함할 수 있다.In addition, the predetermined batch calculation method is a method in which the batch schedule information is calculated so that the physical server in operation is not changed to an inactive state due to movement of the virtual machine that causes the inactive physical server to start. It may include.

또한, 상기 배치 일정에 따라 상기 가상 머신이 상기 제1 물리 서버와 상기 제2 물리 서버에 배치되는 경우, 상기 물리 서버의 예측되는 부하와 연관된 선택 예측 가상 로드와 관련된 정보인 선택 예측 가상 로드 정보와 상기 가상 머신의 실제 워크 로드와 관련된 정보인 실제 가상 워크 로드 정보를 기초로 미리 정해진 점검 방법에 따라 상기 선택 예측 가상 로드 정보가 정상적으로 산출되었는지 여부를 판단하는 단계;를 더 포함할 수 있다. In addition, when the virtual machine is disposed on the first physical server and the second physical server according to the deployment schedule, the selection prediction virtual load information is information related to the selection prediction virtual load associated with the predicted load of the physical server. The method may further include determining whether the selection prediction virtual load information has been normally calculated according to a predetermined inspection method based on actual virtual workload information that is information related to the actual workload of the virtual machine.

또한, 상기 미리 정해진 점검 방법은, 상기 가상 머신의 실제 워크 로드가 대응되는 상기 선택 예측 가상 로드와 소정 값 이상 차이 날 경우 상기 선택 예측 가상 로드가 잘못 산출되었다고 판단하는 방법일 수 있다.Further, the predetermined checking method may be a method of determining that the selection prediction virtual load is incorrectly calculated when the actual workload of the virtual machine differs from the corresponding selection prediction virtual load by a predetermined value or more.

본 발명의 일 실시예에 따른 가상 머신 배치 장치는, 가상 머신이 설치되는 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함. - 를 효율적으로 운용하기 위하여, 복수의 상기 가상 머신을 상기 제1 물리 서버와 상기 제2 물리 서버 상에 배치하는 방법인 가상 머신 배치 방법을 구현하는 가상 머신 배치 장치에 있어서, 처리부; 및 상기 가상 머신 배치 방법을 수행하는 프로그램이 저장된 저장부;를 포함하고, 상기 가상 머신 배치 방법은, 상기 제1 물리 서버와 상기 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크 로드 산출 방법에 의해 상기 가상 머신에 의해 부과되는 물리 서버의 부하인 가상 머신 워크 로드와 관련된 정보인 가상 머신 워크 로드 정보가 산출되는 단계; 상기 가상 머신 워크 로드를 기초로 미리 정해진 제1 기간 동안 예측되는 상기 가상 머신에 의해 부과되는 물리 서버의 부하와 연관된 최초 예측 가상 로드와 관련된 정보인 최초 예측 가상 로드 정보가 산출되는 단계; 미리 정해진 배치 일정 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치 일정과 관련된 정보인 배치 일정 정보가 산출되는 단계; 및 상기 미리 정해진 배치 일정 산출 방법에 의해 산출된 상기 배치 일정에 따라 상기 제1 물리 서버와 상기 제2 물리 서버 상에 상기 가상 머신이 배치되도록, 상기 가상 머신이 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 이동되면서 배치되는 단계;를 포함하고, 상기 미리 정해진 배치 일정 산출 방법은, 상기 최초 예측 가상 로드 정보를 기초로 목적 함수 값이 최소화될 때의 상기 가상 머신의 상기 배치 일정이 산출되는 방법일 수 있다.Virtual machine placement apparatus according to an embodiment of the present invention, a physical server on which the virtual machine is installed-the physical server includes a first physical server and a second physical server. In order to operate efficiently, a virtual machine placement apparatus that implements a virtual machine placement method which is a method of placing a plurality of the virtual machines on the first physical server and the second physical server, comprising: a processing unit; And a storage unit in which a program for performing the virtual machine placement method is stored, wherein the virtual machine placement method calculates a predetermined workload based on information related to operations of the first physical server and the second physical server. Calculating virtual machine workload information that is information related to a virtual machine workload that is a load of a physical server charged by the virtual machine by a method; Calculating initial predictive virtual load information that is information related to an initial predictive virtual load associated with a load of a physical server charged by the virtual machine predicted for a predetermined first period based on the virtual machine workload; Calculating batch schedule information that is information related to the batch schedule of the virtual machines on the first physical server and the second physical server by a predetermined batch schedule calculation method; And the virtual machine is disposed on the first physical server and the second physical server according to the arrangement schedule calculated by the predetermined arrangement schedule calculation method. Including the step of being moved while moving on the physical server, The predetermined batch schedule calculation method is a method for calculating the batch schedule of the virtual machine when the objective function value is minimized based on the initial predicted virtual load information. Can be

본 발명에 따른 스케줄링을 통한 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치는 데이터 손실을 최소화할 수 있다.A virtual machine placement method through scheduling according to the present invention and a virtual machine placement device implementing the same can minimize data loss.

또한, 리소스의 소요를 최소화할 수 있다.In addition, resource consumption can be minimized.

또한, 데이터센터를 안정적으로 관리할 수 있다.In addition, the data center can be managed stably.

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

도 1은 본 발명의 일 실시예에 따른 가상 머신 배치 장치의 개념도 및 상기 가상 머신 배치 장치와 복수의 물리 서버와의 관계를 도시한 도면
도 2는 본 발명의 일 실시예에 따른 가상 머신 배치 방법의 순서도
도 3은 본 발명의 일 실시예에 따른 가상 머신 배치 방법 중에서 제1 목적 함수를 고려한 가상 머신 배치로서 달성되는 효과를 설명하기 위한 그래프
도 4는 본 발명의 일 실시예에 따른 가상 머신 배치 방법 중에서 제2 목적 함수를 고려한 가상 머신 배치로서 달성되는 효과를 설명하기 위한 그래프
도 5는 본 발명의 일 실시예에 따른 가상 머신 배치 방법 중에서 배치 일정 산출 단계를 설명하기 위한 도면
도 6은 본 발명의 일 실시예에 따른 가상 머신 배치 방법 중에서 예측 오류를 산출하는 방법을 설명하기 위한 그래프
1 is a conceptual diagram of a virtual machine placement apparatus according to an embodiment of the present invention, and a diagram showing a relationship between the virtual machine placement apparatus and a plurality of physical servers
Figure 2 is a flow diagram of a virtual machine deployment method according to an embodiment of the present invention
Figure 3 is a graph for explaining the effect achieved as a virtual machine deployment considering the first objective function among the virtual machine deployment method according to an embodiment of the present invention
Figure 4 is a graph for explaining the effect achieved as a virtual machine deployment considering the second objective function among the virtual machine deployment method according to an embodiment of the present invention
5 is a view for explaining a step of calculating a deployment schedule among a virtual machine deployment method according to an embodiment of the present invention
6 is a graph for explaining a method of calculating a prediction error among virtual machine placement methods according to an embodiment of the present invention

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

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

본 명세서에서 본 발명에 관련된 공지의 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에 이에 관한 자세한 설명은 생략하기로 한다.In the present specification, when it is determined that a detailed description of known configurations or functions related to the present invention may obscure the subject matter of the present invention, a detailed description thereof will be omitted.

도 1은 본 발명의 일 실시예에 따른 가상 머신 배치 장치의 개념도 및 상기 가상 머신 배치 장치와 복수의 물리 서버와의 관계를 도시한 도면이다.1 is a conceptual diagram of a virtual machine placement apparatus according to an embodiment of the present invention, and a diagram showing a relationship between the virtual machine placement apparatus and a plurality of physical servers.

도 1을 참조하면, 본 발명의 일 실시예에 따른 가상 머신 배치 장치(10)는 가상 머신을 배치하고 정렬하는데 필요한 정보(일례로, 데이터)를 처리하는 처리부(11), 가상 머신을 배치하고 정렬하는데 필요한 정보를 저장하는 저장부(12), 가상 머신을 배치하고 정렬하는데 필요한 정보를 수신하는 수신부(13) 및 가상 머신을 배치하고 정렬하는데 필요한 정보를 송신하는 송신부(14)를 구비할 수 있다.Referring to FIG. 1, a virtual machine placement apparatus 10 according to an embodiment of the present invention includes a processing unit 11 for processing information (for example, data) necessary for arranging and arranging a virtual machine, and placing a virtual machine It may include a storage unit 12 for storing information necessary for sorting, a receiving unit 13 for receiving information necessary for arranging and sorting virtual machines, and a transmitting unit 14 for transmitting information necessary for arranging and sorting virtual machines. have.

또한, 상기 가상 머신 배치 장치(10)는 외부로부터 입력되는 것들에 의해 발생되는 정보를 상기 수신부(13)로 전달하는 입력부(15) 및 후술하는 배치 일정을 표시하여 상기 배치 일정을 사용자에게 전달하는 매개체는 표시부(16)를 더 포함할 수 있다.In addition, the virtual machine arrangement device 10 displays the input unit 15 for transmitting the information generated by those input from the outside to the receiving unit 13 and the deployment schedule to be described later to deliver the deployment schedule to the user The medium may further include a display unit 16.

상기 처리부(11)는 상기 저장부에 저장되어 있는 정보를 기초로 상기 가상 머신 배치 방법이 구현되는데 필요한 모든 정보 처리와 같은 연산을 수행할 수 있다.The processing unit 11 may perform operations such as processing all information necessary to implement the virtual machine arrangement method based on information stored in the storage unit.

일례로, 상기 처리부(11)는 중앙처리장치(CPU)를 의미할 수 있다.In one example, the processing unit 11 may mean a central processing unit (CPU).

다만, 이에 한정하지 않고 상기 처리부(11)는 상기 가상 머신 배치 방법이 구현되는데 필요한 연산을 수행할 수 있는 모든 장치 혹은 부품을 포함할 수 있다.However, the present invention is not limited thereto, and the processing unit 11 may include all devices or components capable of performing calculations necessary to implement the virtual machine placement method.

상기 저장부(12)는 상기 가상 머신 배치 방법이 구현되는데 필요한 정보(데이터)가 저장되어 있을 수 있다.The storage unit 12 may store information (data) required to implement the virtual machine arrangement method.

상기 저장부(12)에는 상기 가상 머신 배치 방법을 수행하는 프로그램이 저장되어 있을 수 있다.In the storage unit 12, a program for performing the virtual machine placement method may be stored.

일례로, 상기 저장부(12)는 보조기억장치로서 하드디스크일 수 있다.In one example, the storage unit 12 may be a hard disk as an auxiliary storage device.

다만, 이에 한정하지 않고 상기 저장부(12)는 상기 가상 머신 배치 방법이 구현되는데 필요한 정보가 저장될 수 있는 모든 요소를 포함할 수 있다.However, the present invention is not limited thereto, and the storage unit 12 may include all elements capable of storing information required to implement the virtual machine arrangement method.

일례로, 상기 저장부(12)는 데이터베이스일 수 있다.For example, the storage unit 12 may be a database.

상기 수신부(13)는 물리 서버로부터 전달되는 정보를 수신할 수 있다.The receiver 13 may receive information transmitted from a physical server.

상기 수신부(13)는 상기 물리 서버의 작동과 관련된 정보를 대응되는 물리 서버로부터 전달받을 수 있다.The receiver 13 may receive information related to the operation of the physical server from a corresponding physical server.

상기 송신부(14)는 상기 물리 서버로 정보를 전달할 수 있다.The transmitter 14 may transmit information to the physical server.

상기 송신부(14)는 상기 처리부(11)가 산출한 제어 신호를 상기 물리 서버로 전달할 수 있다.The transmitter 14 may transmit a control signal calculated by the processor 11 to the physical server.

이로 인해 상기 가상 머신 배치 장치(10)는 하나의 물리 서버에 상에서 구동되는 가상 머신을 다른 물리 서버로 마이그레이션되도록, 각 각의 물리 서버에 제어 신호를 전달할 수 있다.For this reason, the virtual machine placement apparatus 10 may transmit a control signal to each physical server so that a virtual machine running on one physical server is migrated to another physical server.

일례로, 상기 입력부(15)는 키보드일 수 있다.In one example, the input unit 15 may be a keyboard.

다만, 이에 한정하지 않고 상기 입력부(15)의 종류는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.However, the present invention is not limited thereto, and the type of the input unit 15 may be variously modified at a level apparent to a person skilled in the art.

일례로, 상기 표시부(16)는 디스플레이일 수 있다.In one example, the display unit 16 may be a display.

다만, 이에 한정하지 않고 상기 표시부(16)의 종류는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.However, the type of the display unit 16 is not limited to this, and can be variously modified at a level apparent to those skilled in the art.

상기 가상 머신 배치 장치(10) 내의 구성은 서로 유선 및/또는 무선으로 연결될 수 있다.Configurations in the virtual machine placement apparatus 10 may be connected to each other by wire and/or wireless.

상기 가상 머신 배치 장치(10)는 각 각의 상기 물리 서버와 유선 및/또는 무선으로 연결될 수 있다.The virtual machine placement apparatus 10 may be connected to each of the physical servers by wire and/or wireless.

물리 서버는 가상 머신이 실행될 수 있는 하드웨어 플랫폼을 의미할 수 있다.A physical server can mean a hardware platform on which a virtual machine can run.

일례로, 상기 물리 서버는 통상적인 데스크톱, 서버 컴퓨터, 랩톱 컴퓨터 또는 휴대 전화 등과 같은 것일 수 있다.In one example, the physical server may be a typical desktop, server computer, laptop computer or mobile phone.

다만, 이에 한정하지 않고 상기 물리 서버는 가상 머신이 실행될 수 있는 모든 수단을 포함하는 개념일 수 있다.However, the present invention is not limited thereto, and the physical server may be a concept including all means in which the virtual machine can be executed.

본 발명의 일 실시예에 따른 가상 머신 배치 장치(10)는 제1 물리 서버(20), 제2 물리 서버(30) 및 제3 물리 서버(40)를 통제하고 관리하는 것을 기준으로 설명하나, 이에 본 발명이 한정되는 것은 아니고, 상기 가상 머신 배치 장치(10)가 관리 및 통제하는 물리 서버의 개수는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.The virtual machine placement apparatus 10 according to an embodiment of the present invention will be described based on controlling and managing the first physical server 20, the second physical server 30, and the third physical server 40, Accordingly, the present invention is not limited, and the number of physical servers managed and controlled by the virtual machine placement apparatus 10 can be variously modified at a level apparent to those skilled in the art.

도 1에 도시된 것에 따르면, 물리 서버는 제1 물리 서버(20), 제2 물리 서버(30) 및 제3 물리 서버(40)로 이루어지며, 상기 제1 물리 서버(20) 상에서는 제a 가상 머신(21), 제b 가상 머신(22) 및 제c 가상 머신(23)이 구동되고 있을 수 있으며, 상기 제2 물리 서버(30) 상에는 제d 가상 머신(31) 및 제e 가상 머신(32)이 구동되고 있을 수 있으며, 상기 제3 물리 서버(40) 상에는 제f 가상 머신(41) 및 제g 가상 머신(42)이 구동되고 있을 수 있다.According to FIG. 1, a physical server is composed of a first physical server 20, a second physical server 30, and a third physical server 40. On the first physical server 20, a physical virtual The machine 21, the b-th virtual machine 22, and the c-th virtual machine 23 may be running, and on the second physical server 30, the d virtual machine 31 and the e virtual machine 32 ) May be running, and the f-th virtual machine 41 and the g-th virtual machine 42 may be running on the third physical server 40.

이하, 가상 머신 배치 장치(10)를 이용하여 구현되는 가상 머신 배치 방법에 대해서 자세하게 서술하도록 한다.Hereinafter, a virtual machine deployment method implemented using the virtual machine deployment apparatus 10 will be described in detail.

도 2는 본 발명의 일 실시예에 따른 가상 머신 배치 방법의 순서도이다.2 is a flow chart of a virtual machine deployment method according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시예에 따른 가상 머신 배치 방법은, 가상 머신이 설치된 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함. -를 효율적으로 운용하기 위하여, 복수의 상기 가상 머신을 상기 제1 물리 서버와 상기 제2 물리 서버 상에 배치하는 방법인 가상 머신 배치 방법에 있어서, 상기 제1 물리 서버와 상기 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크 로드 산출 방법에 의해 상기 가상 머신에 의해 부과되는 물리 서버의 부하인 가상 머신 워크 로드와 관련된 정보인 가상 머신 워크 로드 정보가 산출되는 단계(S10), 상기 가상 머신 워크 로드를 기초로 미리 정해진 제1 기간 동안 예측되는 상기 가상 머신에 의해 부과되는 물리 서버의 부하와 연관된 최초 예측 가상 로드와 관련된 정보인 최초 예측 가상 로드 정보가 산출되는 단계(S20), 미리 정해진 배치 일정 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치 일정과 관련된 정보인 배치 일정 정보가 산출되는 단계(S30) 및 상기 미리 정해진 배치 일정 산출 방법에 의해 산출된 상기 배치 일정에 따라 상기 제1 물리 서버와 상기 제2 물리 서버 상에 상기 가상 머신이 배치되도록, 상기 가상 머신이 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 이동되면서 배치되는 단계(S50)를 포함할 수 있다.Referring to FIG. 2, a method for placing a virtual machine according to an embodiment of the present invention includes: a physical server on which a virtual machine is installed-the physical server includes a first physical server and a second physical server. In order to operate efficiently, a method of deploying a plurality of the virtual machines on the first physical server and the second physical server, wherein the first physical server and the second physical server Step (S10) of calculating virtual machine workload information, which is information related to a virtual machine workload, which is a load of a physical server charged by the virtual machine by a predetermined workload calculation method based on information related to operation (S10), the virtual Step S20 of calculating initial predictive virtual load information that is information related to an initial predictive virtual load associated with a load of a physical server charged by the virtual machine predicted for a predetermined first period based on a machine workload (S20), A step (S30) of calculating information related to a batch schedule of the virtual machines on the first physical server and the second physical server by a batch schedule calculating method is calculated (S30) and calculated by the predetermined batch schedule calculating method The virtual machine is disposed on the first physical server and the second physical server so that the virtual machine is disposed on the first physical server and the second physical server according to the deployment schedule (S50). It can contain.

또한, 상기 가상 머신 배치 방법은 상기 미리 정해진 배치 일정 산출 방법에 의해 산출된 복수의 배치 일정이 상기 표시부에 의해 표시되는 단계(S40)를 더 포함할 수 있다.In addition, the virtual machine arrangement method may further include a step (S40) of displaying a plurality of arrangement schedules calculated by the predetermined arrangement schedule calculation method by the display unit.

또한, 상기 가상 머신 배치 방법은 상기 표시부에 의해 표시된 상기 배치 일정 중에서 하나의 배치 일정인 선택된 배치 일정이 상기 입력부에 의해 입력되어, 선택된 배치 일정과 관련된 정보가 상기 처리부로 전달되는 단계(S50)를 더 포함할 수 있다.In addition, in the method for arranging the virtual machine, a selected batch schedule, which is one batch schedule among the batch schedules displayed by the display unit, is input by the input unit, and information related to the selected batch schedule is transmitted to the processing unit (S50). It may further include.

또한, 상기 가상 머신 배치 방법은 선택된 상기 배치 일정에 따라 상기 가상 머신이 상기 제1 물리 서버와 상기 제2 물리 서버에 배치되는 경우, 예측되는 물리 서버의 부하와 연관된 선택 예측 가상 로드와 관련된 정보인 선택 예측 가상 로드 정보와 가상 머신의 실제 워크 로드와 관련된 정보인 실제 가상 워크 로드 정보를 기초로 미리 정해진 점검 방법에 따라 상기 선택 예측 가상 로드 정보가 정상적으로 산출되었는지 여부를 판단하는 단계(S70)를 더 포함할 수 있다.In addition, the method for deploying the virtual machine is information related to the selective predictive virtual load associated with the load of the predicted physical server when the virtual machine is disposed on the first physical server and the second physical server according to the selected deployment schedule. Based on the selection prediction virtual load information and the actual virtual workload information that is information related to the actual workload of the virtual machine, determining whether the selection prediction virtual load information is normally calculated according to a predetermined check method (S70). It can contain.

상기 저장부에는 상기 제1 물리 서버의 작동 관련된 정보, 상기 제2 물리 서버의 작동과 관련된 정보 및 상기 제3 물리 서버의 작동과 관련된 정보가 저장되어 있을 수 있다.The storage unit may store information related to the operation of the first physical server, information related to the operation of the second physical server, and information related to the operation of the third physical server.

일례로, 상기 제1 물리 서버, 상기 제2 물리 서버 및 상기 제3 물리 서버의 작동과 관련된 정보는 시계열적으로 상기 저장부에 저장되어 있을 수 있다.For example, information related to the operation of the first physical server, the second physical server, and the third physical server may be stored in the storage unit in time series.

이를 위해 상기 제1 물리 서버, 상기 제2 물리 서버 및 상기 제3 물리 서버로부터 각 각의 작동과 관련된 정보를 상기 수신부가 전달받을 수 있다.To this end, the reception unit may receive information related to each operation from the first physical server, the second physical server, and the third physical server.

일례로, 작동과 관련된 정보는 물리 서버의 구성들의 가동률과 관련된 정보 일 수도 있다.In one example, the information related to the operation may be information related to the utilization rate of the components of the physical server.

상기 처리부는 상기 저장부에 저장된 각 각의 물리 서버들의 작동과 관련된 정보를 기초로 미리 정해진 워크 로드 산출 방법에 의해 상기 가상 머신에 의해 부과되는 물리 서버의 부하인 가상 머신 워크 로드와 관련된 정보인 가상 머신 워크 로드 정보를 산출(S10)할 수 있다.The processing unit is virtual information that is information related to a virtual machine workload that is a load of the physical server charged by the virtual machine by a predetermined workload calculation method based on information related to the operation of each physical server stored in the storage unit. The machine workload information can be calculated (S10).

가상 머신 워크 로드는 가상 머신이 물리 서버 상에서 구동되는 경우, 해당 물리 서버의 리소스의 부하를 의미할 수 있다.The virtual machine workload may mean a load of resources of the corresponding physical server when the virtual machine is running on the physical server.

상기 가상 머신 워크 로드는 상기 가상 머신이 상기 물리 서버 상에서 구동되는 경우 상기 물리 서버에 인가되는 부하를 의미할 수 있다.The virtual machine workload may mean a load applied to the physical server when the virtual machine is running on the physical server.

일례로, 상기 가상 머신 워크 로드는 상기 가상 머신이 상기 물리 서버에서 동작되는 것에 의해 상기 물리 서버의 중앙처리장치(CPU)에 부과되는 부하로서 산출될 수 있다.In one example, the virtual machine workload may be calculated as a load imposed on the central processing unit (CPU) of the physical server by operating the virtual machine on the physical server.

따라서, 상기 미리 정해진 워크 로드 산출 방법은 물리 서버의 중앙처리장치에 부과되는 부하로서 상기 가상 머신 워크 로드를 산출하는 방법을 포함할 수 있다.Accordingly, the predetermined workload calculation method may include a method of calculating the virtual machine workload as a load imposed on the central processing unit of the physical server.

다시 말해서, 상기 미리 정해진 워크 로드 산출 방법은 CPU의 가동 정도만을 기초로 상기 가상 머신 워크 로드 정보가 산출될 수 있다.In other words, in the predetermined workload calculation method, the virtual machine workload information may be calculated based only on the degree of operation of the CPU.

상기 미리 정해진 워크 로드 산출 방법 상에서는 하나의 가상 머신은 하나의 물리 서버 상에서만 실행될 수 있다고 가정할 수 있다.It can be assumed that one virtual machine can be executed only on one physical server on the above-mentioned predetermined workload calculation method.

일례로, 이는 하나의 가상 머신은 두 개의 물리 서버 상에서 구현될 수 없다는 것을 의미할 수 있다.In one example, this may mean that one virtual machine cannot be implemented on two physical servers.

물리 서버의 워크 로드라는 것의 의미는 상기 물리 서버에 부과되는 부하를 의미할 수 있다.The meaning of the workload of a physical server may mean a load imposed on the physical server.

일례로, 상기 물리 서버의 워크 로드는 상기 물리 서버의 중앙처리장치(CPU)에 부과되는 부하로서 산출될 수 있다.For example, the workload of the physical server may be calculated as a load imposed on the central processing unit (CPU) of the physical server.

일례로, 물리 서버의 워크 로드는 물리 서버에 배치되는 가상 머신들의 부하(워크 로드)인 가상 머신 워크 로드들의 합에 의해 산출될 수 있다.In one example, the workload of a physical server may be calculated by adding virtual machine workloads, which are loads (work loads) of virtual machines disposed on the physical server.

이는, 후술하는 예측하는데 필요한 기초 데이터를 단순화 함으로써, 후술하는 단계에서 예측의 정확도를 더욱 상승시킬 수 있다.This can further increase the accuracy of prediction in the steps described later by simplifying the basic data necessary for prediction described below.

상기 처리부는 상기 가상 머신 워크 로드 정보를 기초로 기준 시점에서부터 미래의 기간인 미리 정해진 제1 기간 동안 예측되는 상기 가상 머신에 의해 부과되는 물리 서버의 부하와 연관된 최초 예측 가상 로드와 관련된 정보인 최초 예측 가상 로드 정보를 산출(S20)할 수 있다.The processing unit is based on the virtual machine workload information, the first prediction associated with the load of the physical server charged by the virtual machine, which is predicted for a predetermined first period, which is a future period from a reference point in time, the first prediction that is information related to the virtual load Virtual load information may be calculated (S20).

일례로, 기준 시점은 가상 머신 워크 로드 정보 산출 시점일 수 있다.As an example, the reference time point may be a time point for calculating virtual machine workload information.

다만, 이에 한정하지 않고 상기 기준 시점은 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.However, the present invention is not limited thereto, and the reference point of view can be variously modified at a level apparent to those skilled in the art.

상기 최초 예측 가상 로드가 산출되기 위해서, 상기 미리 정해진 제1 기간 동안에 각 각의 상기 가상 머신들의 워크 로드인 가상 머신 워크 로드 정보가 예측될 수 있다.In order to calculate the initial predictive virtual load, virtual machine workload information that is a workload of each of the virtual machines during the first predetermined period may be predicted.

미리 정해진 제1 기간 동안의 가상 머신의 워크 로드를 예측하여, 이를 기준으로 가상 머신들을 재 배치 하는 이유로는, 특정 시점의 과부화를 기초로 마이그레이션을 할 경우, 마이그레이션의 횟수 증가 및 전반적인 물리 서버의 안정화를 구현할 수 없기 때문이다.The reason for predicting the workload of a virtual machine during a predetermined first period and re-deploying the virtual machines based on this is that when migrating based on the overload at a specific point in time, the number of migrations increases and overall physical server stabilization This is because it cannot be implemented.

따라서, 미래의 특정 시점이 아닌 특정 기간을 기초로 가상 머신을 물리 서버 상에 배치하여, 상술한 문제점을 효과적으로 해결할 수 있다.Therefore, the above-described problem can be effectively solved by arranging the virtual machine on the physical server based on a specific period rather than a specific time point in the future.

일례로, 미리 정해진 제1 기간은 3 개월일 수 있다.In one example, the predetermined first period may be 3 months.

다만, 이에 본 발명이 한정되는 것은 아니고 상기 미리 정해진 제1 기간은 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.However, the present invention is not limited thereto, and the predetermined first period can be variously modified at a level obvious to a person skilled in the art.

일례로, 상기 처리부는 상기 저장부에 저장된 상기 가상 머신 워크 로드 정보를 기초로 다중회귀모형, ARIMA 분석 또는 Deep Learning과 같은 알고리즘을 활용하여 상기 미리 정해진 제1 기간 동안의 가상 머신 워크 로드 정보를 산출할 수 있다.For example, the processing unit calculates virtual machine workload information for the first predetermined period using an algorithm such as multi-regression model, ARIMA analysis, or deep learning based on the virtual machine workload information stored in the storage unit. can do.

상기 처리부는 산출된 상기 미리 정해진 제1 기간 동안의 가상 머신 워크 로드 정보를 기초로 상기 미리 정해진 제1 기간 동안의 예측되는 물리 서버의 워크 로드를 산출할 수 있다. The processing unit may calculate a workload of the predicted physical server during the predetermined first period based on the calculated virtual machine workload information during the first predetermined period.

이는, 통상의 기술자에게 자명한 기술로서 이에 대한 자세한 설명은 생략될 수 있다.This is a technique obvious to a person skilled in the art, and a detailed description thereof may be omitted.

일례로, 최초 예측 가상 로드란 상기 가상 머신 워크 로드 정보 산출 시점에서부터 미리 정해진 제1 기간 동안 또는 임의의 시점에서부터 미리 정해진 제1 기간 동안 예측되는 가상 머신의 워크 로드를 의미할 수 있다.For example, the initial predictive virtual load may mean a workload of a virtual machine predicted for a first predetermined period from a time point when calculating the virtual machine workload information or for a first predetermined period from an arbitrary time point.

상기 처리부는 미리 정해진 배치 일정 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 배치 일정과 관련된 정보인 배치 일정 정보를 산출(S30)할 수 있다.The processing unit may calculate batch schedule information, which is information related to the batch schedule, which is the placement of the virtual machines on the first physical server and the second physical server, by a predetermined batch schedule calculation method (S30).

여기서, 상기 미리 정해진 배치 일정 산출 방법은, 상기 최초 예측 가상 로드 정보를 기초로 목적 함수 값이 최소화될 때의 상기 가상 머신의 상기 배치 일정이 산출되는 방법을 의미할 수 있다.Here, the predetermined batch schedule calculation method may mean a method of calculating the batch schedule of the virtual machine when an objective function value is minimized based on the initial predicted virtual load information.

상기 미리 정해진 배치 일정 산출 방법은 임의의 물리 서버에 대해서 상기 물리 서버의 부하가 미리 정해진 범위 내에서만 부과되도록, 상기 가상 머신의 배치 일정이 산출되는 방법을 포함할 수 있다. (제1 조건)The predetermined batch schedule calculation method may include a method of calculating the batch schedule of the virtual machine such that the load of the physical server is imposed only within a predetermined range for any physical server. (1st condition)

일례로, 상기 미리 정해진 범위는 물리 서버의 가동률(부하가 부과되는 정도)이 10% ~ 80%일 수 있다.As an example, the predetermined range may be 10% to 80% of the utilization rate of the physical server (the degree to which the load is imposed).

다만, 이에 한정하지 않고 상기 미리 정해진 범위는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.However, the present invention is not limited thereto, and the predetermined range may be variously modified at a level apparent to those skilled in the art.

상기 미리 정해진 배치 산출 방법은 상기 임의의 물리 서버에 대해서 상기 물리 서버의 부하가 미리 정해진 범위 내에서만 부과될 수 있도록, 상기 임의의 물리 서버의 부하가 제1 기준(X10, 도 3 및 도 4 참조) 이상 될 것으로 예측될 경우에는, 상기 임의의 물리 서버에 배치된 상기 가상 머신들 중 적어도 하나의 상기 가상 머신을 다른 물리 서버로 이동시키는 방법을 포함할 수 있다. (제1-1 조건)In the predetermined batch calculation method, the load of the arbitrary physical server is the first criterion (see X10, FIGS. 3 and 4) so that the load of the physical server can be charged only within a predetermined range for the arbitrary physical server. If it is predicted to be abnormal, it may include a method of moving at least one of the virtual machines disposed on the arbitrary physical server to another physical server. (Condition 1-1)

일례로, 상기 제1 기준(X10, 도 3 및 도 4 참조)은 상기 물리 서버의 가동률(부하가 부과되는 정도)이 80 %인 것을 의미할 수 있다.As an example, the first criterion (see X10, FIGS. 3 and 4) may mean that the utilization rate (a degree to which a load is applied) of the physical server is 80%.

상기 처리부는 상기 물리 서버의 부하가 제1 기준이 넘지 않도록 하는 해결 방법으로, 대상 물리 서버의 워크 로드가 제1 기준이 넘을 것으로 예측되는 시점을 기준으로, 상기 대상 물리 서버에 배치되는 적어도 하나의 가상 머신을 다른 물리 서버로 이전 하는 방법을 이용하여 상기 배치 일정을 산출할 수 있다. The processing unit is a solution to prevent the load of the physical server from exceeding the first criterion, based on a time point when the workload of the target physical server is predicted to exceed the first criterion, at least one disposed on the target physical server The deployment schedule can be calculated using a method of moving a virtual machine to another physical server.

이로 인해, 상기 물리 서버의 워크 로드(가동률)가 제1 기준을 넘어 과잉 부하가 인가되는 것을 효과적으로 예방할 수 있다.Due to this, it is possible to effectively prevent the workload (operation rate) of the physical server from being applied with an excessive load beyond the first criterion.

다만, 이에 한정하지 않고 상기 제1 기준은 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.However, the present invention is not limited thereto, and the first criterion can be variously modified at a level apparent to a person skilled in the art.

또한, 상기 미리 정해진 배치 산출 방법은 상기 임의의 물리 서버에 대해서 상기 물리 서버의 부하가 미리 정해진 범위 내에서만 부과될 수 있도록, 상기 임의의 물리 서버의 부하가 제2 기준(X20, 도 3 및 도 4 참조) 이하 될 것으로 예측될 경우에는, 상기 임의의 물리 서버에 배치된 상기 가상 머신들 모두를 다른 물리 서버로 이동시키는 방법을 포함할 수 있다. (제1-2 조건)In addition, in the predetermined batch calculation method, the load of the arbitrary physical server is the second criterion (X20, FIG. 3 and FIG. 3) so that the load of the physical server can be charged only within a predetermined range for the arbitrary physical server. 4) If it is predicted to be the following, it may include a method of moving all of the virtual machines disposed on the arbitrary physical server to another physical server. (Condition 1-2)

일례로, 상기 제2 기준(X20, 도 3 및 도 4 참조)은 상기 물리 서버의 가동률(부하가 부과되는 정도)이 10 %인 것을 의미할 수 있다.As an example, the second criterion (see X20, FIGS. 3 and 4) may mean that the utilization rate (a degree to which a load is applied) of the physical server is 10%.

상기 처리부는 상기 물리 서버 부하가 제2 기준 이하로 되지 않도록 하는 해결 방법으로, 대상 물리 서버의 워크 로드가 제2 기준 이하로 떨어질 것으로 예측되는 시점을 기준으로, 상기 대상 물리 서버에 배치되는 모든 가상 머신들을 다른 물리 서버로 이전하는 방법을 이용하여 상기 배치 일정을 산출할 수 있다.The processing unit is a solution to prevent the load of the physical server from falling below the second criterion, based on a time point when the workload of the target physical server is predicted to fall below the second criterion, all virtual servers disposed in the target physical server The deployment schedule can be calculated using a method of transferring machines to another physical server.

이는, 물리 서버가 가동되지 않는 조건의 개시 조건을 의미할 수 있다.This may mean a start condition of a condition in which the physical server is not operated.

다시 말하면, 상기 처리부는 상기 물리 서버 부하가 제2 기준 이하로 되지 않도록 하는 해결 방법으로, 대상 물리 서버에 배치된 가상 머신을 다른 물리 서버로 배치하여, 대상 물리 서버의 동작을 정지시킬 수 있다.In other words, the processing unit may stop the operation of the target physical server by disposing the virtual machine disposed on the target physical server as another physical server as a solution to prevent the physical server load from being lower than the second reference.

상기 미리 정해진 배치 산출 방법은 가동되지 않는 상기 물리 서버가 가동되도록 하는 상기 가상 머신의 이동으로 인해 가동 중인 상기 물리 서버가 가동되지 않는 상태로 변화되지 않도록, 상기 배치 일정 정보가 산출되는 방법을 포함할 수 있다. (제2 조건)The predetermined batch calculation method may include a method in which the batch schedule information is calculated so that the physical server in operation is not changed to an inactive state due to movement of the virtual machine that causes the inactive physical server to operate. Can. (Second condition)

하나의 물리 서버를 중단 시키는 것과 동시에 다른 물리 서버의 동작을 개시하게 되면, 물리 서버를 중단 시키는 것에 대한 이익이 없으며, 서버를 가동하는데 발생되는 전력 및 시간이 더 소요되기 문제가 발생된다.When the operation of another physical server is started simultaneously with stopping one physical server, there is no benefit of stopping the physical server, and a problem occurs that it takes more power and time to operate the server.

따라서, 제2 조건을 통해, 이와 같은 문제를 해결하고자 하는 것일 수 있다.Therefore, through the second condition, it may be intended to solve such a problem.

이에 대한 자세한 설명은 후술한다.This will be described in detail later.

또한, 상기 미리 정해진 배치 산출 방법으로 배치 일정을 산출하는 경우, 상기 미리 정해진 제1 기간 동안에 물리 서버들 간의 가상 머신의 이동이 허용되도록 배치 일정이 산출될 수 있다. (제3 조건)In addition, when calculating the batch schedule using the predetermined batch calculation method, the batch schedule may be calculated to allow movement of virtual machines between physical servers during the first predetermined period. (3rd condition)

다만, 가상 머신의 이동이 잦을 경우 데이터 손실이 유발될 수 있기 때문에, 상기 미리 정해진 제1 기간 동안의 하나의 가상 머신의 이동을 소정 횟수로 제한할 수 있다. (제4 조건)However, since data loss may occur when the virtual machine is frequently moved, the movement of one virtual machine during the first predetermined period may be limited to a predetermined number of times. (4th condition)

일례로, 소정 횟수는 2회일 수 있다.For example, the predetermined number of times may be two times.

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

또한, 상기 미리 정해진 배치 산출 방법으로 배치 일정을 산출하는 경우, 각 각의 물리 서버의 사양이 동일(homogenous 조건)하다고 가정하여 배치 일정을 산출할 수 있다. (제5 조건)In addition, when calculating the batch schedule using the predetermined batch calculation method, it is possible to calculate the batch schedule on the assumption that the specifications of each physical server are the same (homogenous condition). (The fifth condition)

상기 목적 함수는 제1 목적 함수, 제2 목적 함수, 제 3 목적 함수 및 제4 목적 함수를 구비할 수 있다. The objective function may include a first objective function, a second objective function, a third objective function, and a fourth objective function.

상기 처리부는 각 각의 목적 함수 값들이 최소 값을 갖는 비 지배해 4 개를 산출할 수 있다.The processing unit may calculate four non-dominant values of each objective function value having a minimum value.

따라서, 상기 미리 정해진 배치 일정 산출 방법에 의하면, 4 개의 배치 일정이 산출될 수 있다.Therefore, according to the predetermined batch schedule calculation method, four batch schedules can be calculated.

이하, 상기 미리 정해진 배치 일정 산출 방법에 대해서 자세하게 서술하도록 한다.Hereinafter, the method for calculating the predetermined batch schedule will be described in detail.

도 3은 본 발명의 일 실시예에 따른 가상 머신 배치 방법 중에서 제1 목적 함수를 고려한 가상 머신 배치로서 달성되는 효과를 설명하기 위한 그래프이다.3 is a graph for explaining the effect achieved as a virtual machine deployment considering a first objective function among the virtual machine deployment methods according to an embodiment of the present invention.

도 3을 참조하면, 상기 목적 함수는 상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 부하(워크 로드)의 변화 량과 관련된 함수인 제1 목적 함수를 구비할 수 있다.Referring to FIG. 3, the objective function may include a first objective function that is a function related to a change amount of a load (work load) of a physical server calculated by the initial predictive virtual load during the predetermined first period. have.

일례로, 도 3(a)는 제1 일정에 따라 가상 머신들이 제1 물리 서버 내지 제3 물리 서버에 배치되는 경우, 상기 제1 물리 서버 내지 제3 물리 서버의 워크 로드를 도시한 그래프이다.As an example, FIG. 3(a) is a graph illustrating workloads of the first to third physical servers when virtual machines are disposed on the first to third physical servers according to the first schedule.

또한, 도 3(b)는 제2 일정에 따라 가상 머신들이 제1 물리 서버 내지 제3 물리 서버에 배치되는 경우, 상기 제1 물리 서버 내지 제3 물리 서버의 워크 로드를 도시한 그래프이다.In addition, FIG. 3(b) is a graph showing workloads of the first to third physical servers when virtual machines are disposed on the first to third physical servers according to the second schedule.

각 각의 물리 서버의 워크 로드는 각 물리 서버에 설치된 가상 머신 워크 로드들의 합으로 산출될 수 있음을 상술된 내용에서 확인할 수 있다.It can be seen from the above that the workload of each physical server can be calculated as the sum of the virtual machine workloads installed in each physical server.

도 3(a)를 참조하면, 가상 머신들이 제1 일정에 따라 물리 서버 상에 배치되는 경우, 모든 물리 서버의 워크 로드가 제1 기준 미만(X10) 및 제2 기준 초과(X20)가 될 수 있다.Referring to FIG. 3(a), when virtual machines are disposed on a physical server according to a first schedule, workloads of all physical servers may be less than a first criterion (X10) and a second criterion (X20). have.

또한, 도 3(b)를 참조하면, 가상 머신들이 제2 일정에 따라 물리 서버 상에 배치되는 경우, 모든 물리 서버의 워크 로드가 제1 기준 미만(X10) 및 제2 기준 초과(X20)가 될 수 있다.Also, referring to FIG. 3(b), when virtual machines are disposed on a physical server according to a second schedule, workloads of all physical servers are less than the first criterion (X10) and greater than the second criterion (X20). Can be.

다만, 제2 일정을 기초로 하여 가상 머신들이 물리 서버에 배치되는 경우, 제1 일정을 기초로 가상 머신들이 물리 서버에 배치되는 경우보다, 각 각의 물리 서버의 워크 로드의 변화량(기울기)가 더 작을 수 있다.However, when the virtual machines are placed on the physical server based on the second schedule, the amount of change (slope) of the workload of each physical server is higher than when the virtual machines are placed on the physical server based on the first schedule. It can be smaller.

이는, 물리 서버 상의 가상 머신의 배치 일정으로서 제1 일정보다 제2 일정이 더 바람직한 일정일 수 있다.This may be a schedule in which the second schedule is more preferable than the first schedule as a schedule of placement of the virtual machine on the physical server.

또한, 상기 제2 일정이 도출되도록 하는 제1 목적 함수의 값이 상기 제1 일정이 도출되도록 하는 제1 목적 함수의 값 보다 더 작을 수 있다.In addition, the value of the first objective function that causes the second schedule to be derived may be smaller than the value of the first objective function that causes the first schedule to be derived.

만일 물리 서버의 워크 로드의 변화율이 크다면, 짧은 시간 동안만 물리 서버의 워크 로드가 임의의 기준이 넘어, 가상 머신의 마이그레이션(이전)이 이루어질 수 있다.If the rate of change of the workload of the physical server is large, the workload of the physical server exceeds a certain criterion for a short time and migration (previous) of the virtual machine can be performed.

이럴 경우, 앞서 상술한 가상 머신의 잦은 마이그레이션이 발생될 수 있으므로, 가상 머신의 데이터 손실의 위험성이 더욱 높아질 수 있다.In this case, since the frequent migration of the above-described virtual machine may occur, the risk of data loss of the virtual machine may be further increased.

제1 목적 함수는 이를 예방하기 위한 함수일 수 있다.The first objective function may be a function for preventing this.

도 4는 본 발명의 일 실시예에 따른 가상 머신 배치 방법 중에서 제2 목적 함수를 고려한 가상 머신 배치로서 달성되는 효과를 설명하기 위한 그래프이다.4 is a graph for explaining the effect achieved as a virtual machine deployment considering a second objective function among the virtual machine deployment methods according to an embodiment of the present invention.

도 4를 참조하면, 상기 목적 함수는 상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 부하(워크 로드)들 간의 차이와 관련된 함수인 제2 목적 함수를 구비할 수 있다.Referring to FIG. 4, the objective function may include a second objective function that is a function related to a difference between loads (work loads) of a physical server calculated by the initial predictive virtual load during the predetermined first period. have.

일례로, 도 4(a)는 제3 일정에 따라 가상 머신들이 제1 물리 서버 내지 제3 물리 서버에 배치되는 경우, 상기 제1 물리 서버 내지 제3 물리 서버의 워크 로드를 도시한 그래프이다.For example, FIG. 4(a) is a graph illustrating workloads of the first to third physical servers when virtual machines are disposed on the first to third physical servers according to the third schedule.

또한, 도 4(b)는 제4 일정에 따라 가상 머신들이 제1 물리 서버 내지 제3 물리 서버에 배치되는 경우, 상기 제1 물리 서버 내지 제3 물리 서버의 워크 로드를 도시한 그래프이다.In addition, FIG. 4(b) is a graph showing workloads of the first to third physical servers when the virtual machines are disposed on the first to third physical servers according to the fourth schedule.

각 각의 물리 서버의 워크 로드는 각 물리 서버에 설치된 가상 머신 워크 로드들의 합으로 산출될 수 있음을 상술된 내용에서 확인할 수 있다.It can be seen from the above that the workload of each physical server can be calculated as the sum of the virtual machine workloads installed in each physical server.

도 4(a)를 참조하면, 가상 머신들이 제3 일정에 따라 물리 서버 상에 배치되는 경우, 모든 물리 서버의 워크 로드가 제1 기준(X10) 미만 및 제2 기준(X20) 초과가 될 수 있다.Referring to FIG. 4(a), when virtual machines are disposed on a physical server according to a third schedule, workloads of all physical servers may be less than the first criterion (X10) and exceed the second criterion (X20). have.

또한, 도 4(b)를 참조하면, 가상 머신들이 제4 일정에 따라 물리 서버 상에 배치되는 경우, 모든 물리 서버의 워크 로드가 제1 기준(X10) 미만 및 제2 기준(X20) 초과가 될 수 있다.In addition, referring to FIG. 4(b), when virtual machines are disposed on a physical server according to a fourth schedule, workloads of all physical servers are less than the first criterion (X10) and greater than the second criterion (X20). Can be.

다만, 제4 일정을 기초로 하여 가상 머신들이 물리 서버에 배치되는 경우, 제3 일정을 기초로 가상 머신들이 물리 서버에 배치되는 경우보다, 각 각의 물리 서버의 워크 로드들 간의 차이가 더 작을 수 있다.However, when the virtual machines are placed on the physical server based on the fourth schedule, the difference between the workloads of each physical server is smaller than when the virtual machines are placed on the physical server based on the third schedule. Can.

이는, 물리 서버 상의 가상 머신의 배치 일정으로서 제3 일정보다 제4 일정이 더 바람직한 일정일 수 있다.This may be a schedule in which the fourth schedule is more preferable than the third schedule as a schedule of placement of the virtual machine on the physical server.

또한, 상기 제4 일정이 도출되도록 하는 제2 목적 함수의 값이 상기 제3 일정이 도출되도록 하는 제2 목적 함수의 값 보다 더 작을 수 있다.In addition, the value of the second objective function that causes the fourth schedule to be derived may be smaller than the value of the second objective function that causes the third schedule to be derived.

여기서, 물리 서버들 간의 워크 로드를 비교하기 위해서, 상기 미리 정해진 제1 기간 동안의 물리 서버의 워크 로드의 평균 값을 활용하여 물리 서버들이 서로 비교될 수 있다.Here, in order to compare the workload between the physical servers, the physical servers may be compared with each other by using the average value of the workload of the physical server during the first predetermined period.

제2 목적 함수의 의미는 물리 서버를 고르게 활용하고자 함일 수 있다.The meaning of the second objective function may be to use the physical server evenly.

상기 목적 함수는 상기 가상 머신이 상기 배치 일정에 따라 배치되기 위해서 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 상기 가상 머신이 배치 이동되는 횟수와 관련된 함수인 제3 목적 함수를 구비할 수 있다.The objective function may include a third objective function, which is a function related to the number of times the virtual machine is deployed and moved on the first physical server and the second physical server in order to place the virtual machine according to the deployment schedule.

다시 말하면, 상기 제3 목적 함수는 현재의 가상 머신들의 배치에서 배치 일정을 따라 배치되기 위하여 물리 서버들 사이에서 가상 머신의 이동 횟수와 관련될 수 있다.In other words, the third objective function may be related to the number of movements of the virtual machine between physical servers in order to be deployed according to the deployment schedule in the current virtual machine deployment.

상기 제3 목적 함수의 의미는, 상기 가상 머신의 이동 횟수를 최소하는 배치를 찾고자 함일 수 있다.The meaning of the third objective function may be to find an arrangement that minimizes the number of movements of the virtual machine.

가상 머신이 마이그레이션 될 때 마다 데이터 손실의 위험성을 항상 내포하고 있다.Whenever a virtual machine is migrated, there is always the risk of data loss.

제3 목적 함수의 의미는 데이터 손실 가능성을 최소화하는데 있을 수 있다.The meaning of the third objective function may be to minimize the possibility of data loss.

상기 목적 함수는 상기 미리 정해진 제1 기간 동안, 상기 제1 물리 서버의 가동 여부 및 상기 제2 물리 서버의 가동 여부와 관련된 함수인 제4 목적 함수를 구비할 수 있다.The objective function may include a fourth objective function that is a function related to whether the first physical server is activated and whether the second physical server is activated during the predetermined first period.

다시 말하면, 상기 제4 목적 함수는 상기 미리 정해진 제1 기간 동안 물리 서버의 가동 여부와 관련된 함수일 수 있다.In other words, the fourth objective function may be a function related to whether the physical server is operated during the predetermined first period.

제4 목적 함수가 작을수록 가동되지 않는 물리 서버의 개수 및 물리 서버의 가동되지 않는 시간이 최대로 될 수 있다.As the fourth objective function is smaller, the number of physical servers that are not operated and the time when the physical server is not operated may be maximized.

상기 제4 목적 함수가 최소일 경우, 모든 물리 서버에 대해서 물리 서버 한대 당 가동되지 않는 시간들의 총합이 최대로 될 수 있다.When the fourth objective function is minimum, the sum of the times of inactivity per physical server may be maximum for all physical servers.

제4 목적 함수의 의미는 서버 가동 시간을 최소화 하여 물리 서버 가동에 따란 전력 손실을 최소화 하는데 의미가 있을 수 있다.The meaning of the fourth objective function may be meaningful in minimizing server uptime and thus minimizing power loss due to physical server operation.

배치 일정은 제1 조건 내지 제5 조건이 만족되는 상태에서 각각의 목적 함수가 최소화될 수 있도록, 물리 서버들 상에서 가상 머신들이 어떻게 배치되는지에 대한 일정을 의미할 수 있다.The deployment schedule may mean a schedule for how virtual machines are deployed on physical servers so that each objective function can be minimized in a state in which the first to fifth conditions are satisfied.

상기 목적 함수는 상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 부하의 변화 량과 관련된 함수인 제1 목적 함수, 상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 부하들 간의 차이와 관련된 함수인 제2 목적 함수, 상기 가상 머신이 상기 탐색 배치로 배치되기 위해서 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 상기 가상 머신이 배치 이동되는 횟수와 관련된 함수인 제3 목적 함수 및 상기 미리 정해진 제1 기간 동안, 상기 제1 물리 서버의 가동 여부 및 상기 제2 물리 서버의 가동 여부와 관련된 함수인 제4 목적 함수를 구비할 수 있다.The objective function is a first objective function that is a function related to a change amount of a load of a physical server calculated by the initial predictive virtual load during the first predetermined period, and during the first predetermined period, the first predictive virtual load A second objective function, which is a function related to a difference between loads of the physical servers calculated by, the virtual machine is disposed on the first physical server and the second physical server in order to place the virtual machine in the search arrangement A third objective function, which is a function related to the number of times, and a fourth objective function, which is a function related to whether the first physical server is activated and whether the second physical server is activated, may be provided during the predetermined first period.

상기 표시부는 상기 처리부에서 전달되는 배치 일정들을 표시(S40)할 수 있다.The display unit may display batch schedules transmitted from the processing unit (S40).

상기 처리부는 제1 배치 일정과 관련된 정보인 제1 배치 일정 정보, 상기 제2 배치 일정과 관련된 정보인 제2 배치 일정 정보, 제3 배치 일정과 관련된 정보인 제3 배치 일정 정보 및 제4 배치 일정과 관련된 정보인 제4 배치 일정 정보를 산출한 뒤에 상기 표시부에 전달할 수 있다.The processing unit includes first batch schedule information, which is information related to the first batch schedule, second batch schedule information, which is information related to the second batch schedule, third batch schedule information and fourth batch schedule, which is information related to the third batch schedule. After calculating the fourth batch schedule information, which is related information, it may be transmitted to the display unit.

상기 배치 일정은 상기 제1 목적 함수의 값이 최소인 상태를 기준으로, 상기 제2 목적 함수의 값, 상기 제3 목적 함수 및 제4 목적 함수의 값이 최소화되는 물리 서버들(일례로, 제1 물리 서버와 상기 제2 물리 서버) 상의 상기 가상 머신의 배치인 제1 배치 일정, 상기 제2 목적 함수의 값이 최소인 상태를 기준으로, 상기 제1 목적 함수의 값, 상기 제3 목적 함수 및 제4 목적 함수의 값이 최소화되는 물리 서버들(일례로, 제1 물리 서버와 제2 물리 서버) 상의 상기 가상 머신의 배치인 제2 배치 일정, 상기 제3 목적 함수의 값이 최소인 상태를 기준으로, 상기 제1 목적 함수의 값, 상기 제2 목적 함수 및 제4 목적 함수의 값이 최소화되는 물리 서버들(일례로, 제1 물리 서버와 제2 물리 서버) 상의 상기 가상 머신의 배치인 제3 배치 일정 및 상기 제4 목적 함수의 값이 최소인 상태를 기준으로, 상기 제1 목적 함수의 값, 상기 제2 목적 함수 및 제3 목적 함수의 값이 최소화되는 물리 서버들(일례로, 제1 물리 서버와 제2 물리 서버) 상의 상기 가상 머신의 배치인 제4 배치 일정을 구비할 수 있다.The deployment schedule is based on a state in which the value of the first objective function is minimum, physical servers (eg, first, the values of the second objective function, the values of the third objective function, and the fourth objective function are minimized) 1 physical server and the 2nd physical server) based on a first deployment schedule, which is the placement of the virtual machine, and a state in which the value of the second objective function is minimum, the value of the first objective function, the third objective function And a second deployment schedule that is the placement of the virtual machine on the physical servers (eg, the first physical server and the second physical server) where the value of the fourth objective function is minimized, and the value of the third objective function is minimal. Based on the arrangement of the virtual machine on the physical servers (e.g., the first physical server and the second physical server) where the values of the first objective function, the values of the second objective function and the fourth objective function are minimized Physical servers (for example, the values of the first objective function, the values of the second objective function, and the third objective function are minimized based on the third batch schedule and the state in which the value of the fourth objective function is minimum) , A fourth deployment schedule, which is an arrangement of the virtual machines on the first physical server and the second physical server).

이하, 하나의 배치 일정을 예시로서 미리 정해진 배치 일정 산출 방법을 설명하도록 한다.Hereinafter, a method for calculating a predetermined batch schedule will be described as an example.

도 5는 본 발명의 일 실시예에 따른 가상 머신 배치 방법 중에서 배치 일정 산출 단계를 설명하기 위한 도면이다.5 is a view for explaining a step of calculating a batch schedule among the virtual machine deployment methods according to an embodiment of the present invention.

도 5는 미리 정해진 제1 기간 중에서 일정 기간에 대해서 물리 서버들에 배치되는 가상 머신들의 일정을 도식화한 도면이다.FIG. 5 is a diagram schematically illustrating the schedule of the virtual machines arranged in the physical servers for a predetermined period among the first predetermined periods.

일례로, 도 5에 도시된 예시는 제1 목적 함수가 최소화되는 것을 기준으로 하는 제1 배치 일정에 관한 것일 수 있으며, 이하, 이를 기준으로 서술하도록 한다.As an example, the example illustrated in FIG. 5 may relate to a first batch schedule based on the first objective function being minimized, and will be described below.

다만, 이는 하나의 예시적인 것으로서 이에 본 발명이 한정되지 않는 것은 자명하다.However, it is obvious that the present invention is not limited to this as an example.

일례로, 물리 서버는 제1 물리 서버(20), 제2 물리 서버(30) 및 제3 물리 서버(40)로 이루어질 수 있으며, 가상 머신은 제1 가상 머신(91), 제2 가상 머신(92), 제3 가상 머신(93), 제4 가상 머신(94), 제5 가상 머신(95), 제6 가상 머신(96) 및 제7 가상 머신(97)을 구비할 수 있다.In one example, the physical server may include a first physical server 20, a second physical server 30, and a third physical server 40, and the virtual machine includes a first virtual machine 91 and a second virtual machine ( 92), a third virtual machine 93, a fourth virtual machine 94, a fifth virtual machine 95, a sixth virtual machine 96 and a seventh virtual machine 97 may be provided.

일례로, 상기 처리부는 제1 목적 함수가 최소화되는 상태에서 다른 목적 함수가 최소화될 수 있도록 제1 시간 이전 시간인 제0 시간에는 제1 물리 서버(20)에는 제1 가상 머신(91)과 제2 가상 머신(92)이 배치되도록 하고, 제2 물리 서버(30)에는 제3 가상 머신(93), 제4 가상 머신(94) 및 제5 가상 머신(95)이 배치되도록 하고, 제3 물리 서버(40)에는 제6 가상 머신(96) 및 제7 가상 머신(97)이 배치되도록 배치 일정을 산출할 수 있다.For example, the processing unit may include a first virtual machine 91 and a first virtual server 91 at the first physical server 20 at a time before the first time so that other objective functions can be minimized while the first objective function is minimized. 2 to make the virtual machine 92 to be deployed, to the second physical server 30, the third virtual machine 93, the fourth virtual machine 94 and the fifth virtual machine 95 to be placed, the third physical The server 40 may calculate a deployment schedule such that the sixth virtual machine 96 and the seventh virtual machine 97 are arranged.

만일, 상기 제0 시간 대의 가상 머신들에 배치를 따를 경우, 제1 시간에는 제1 물리 서버의 워크 로드가 제2 기준 이하라고 예측될 수 있다.If the deployment is performed on the virtual machines in the 0th time zone, the workload of the first physical server may be predicted to be equal to or less than the second criterion at the first time.

이와 같을 경우, 제1-2 조건이 만족되는 경우로서, 제1 물리 서버(20)에 배치되어 있는 가상 머신들인 제1 가상 머신(91)과 제2 가상 머신(92)이 다른 물리 서버로 이동되도록 배치 일정이 산출될 수 있다.In this case, as the first-2 condition is satisfied, the first virtual machine 91 and the second virtual machine 92, which are virtual machines disposed on the first physical server 20, move to another physical server. The arrangement schedule can be calculated as much as possible.

여기서, 제1-2 조건 하에 가상 머신이 이전되는 경우, 제1 목적 함수가 최소화 되는 것을 기준으로 어느 물리 서버로 이전되는지가 결정될 수 있다.Here, when the virtual machine is transferred under the condition 1-2, it can be determined which physical server is transferred based on the first objective function being minimized.

이를 기초로 제1 가상 머신(91)은 제2 물리 서버(30)로 이동되고, 제2 가상 머신(92)은 제3 물리 서버(40)로 이동되도록 배치 일정이 산출될 수 있다.Based on this, the first virtual machine 91 may be moved to the second physical server 30, and the second virtual machine 92 may be moved to the third physical server 40 so that the deployment schedule can be calculated.

제1 시간에서의 마이그레이션에 의해 제2 시간에는 제1 물리 서버(20)는 가동되지 않도록 배치 일정이 산출될 수 있다.The deployment schedule may be calculated such that the first physical server 20 is not operated at the second time due to the migration at the first time.

일례로, 제2 물리 서버(30)에 제3 가상 서버(30), 제4 가상 서버(40), 제5 가상 서버(50) 및 제1 가상 서버(10)가 배치되고, 제3 물리 서버(40)에 제2 가상 서버(92), 제6 가상 서버(96) 및 제7 가상 서버(97)가 배치되었을 때, 제1 목적 함수가 최소인 상태에서 다른 목적 함수도 최소라고 가정할 경우, 제2 시간에서는 마이그레이션이 발생되지 않을 수 있다.For example, the third virtual server 30, the fourth virtual server 40, the fifth virtual server 50, and the first virtual server 10 are disposed on the second physical server 30, and the third physical server When the second virtual server 92, the sixth virtual server 96, and the seventh virtual server 97 are placed in (40), it is assumed that other objective functions are also minimal while the first objective function is minimal. , In the second time, migration may not occur.

이와 다르게, 제1 목적 함수가 최소인 상태에서 다른 목적 함수도 최소로 하기 위해, 제3 시간에서 제2 물리 서버(30)에 배치되어 있는 제1 가상 서버(91)가 제3 물리 서버(40)로 마이그레이션 되도록 배치 일정이 산출될 수 있다.Alternatively, in order to minimize other objective functions while the first objective function is minimal, the first virtual server 91 disposed at the second physical server 30 at the third time is the third physical server 40 ), the batch schedule can be calculated.

또한, 제1 목적 함수가 최소인 상태에서 다른 목적 함수도 최소로 하기 위해, 제4 시간에서 제2 물리 서버(30)에 배치되어 있는 제5 가상 서버(95)가 제3 물리 서버(40)로 마이그레이션 되도록 배치 일정이 산출될 수 있다.In addition, in order to minimize other objective functions while the first objective function is minimal, the fifth virtual server 95 disposed on the second physical server 30 at the fourth time is the third physical server 40. The batch schedule can be calculated to migrate to.

제2 시간 내지 제4 시간 동안 제1 물리 서버(20)는 가동되지 않을 수 있다.The first physical server 20 may not operate for the second to fourth hours.

이는 제4 목적 함수에 의한 영향으로 인해, 제2 시간 내지 제4 시간 동안 제1 물리 서버(20)가 가동되지 않도록 배치 일정이 산출되는 것일 수도 있다.This may be that the deployment schedule is calculated so that the first physical server 20 is not operated for the second to fourth hours due to the influence of the fourth objective function.

만일, 제4 시간 때의 가상 머신의 배치를 따를 경우 제5 시간 때에는 제3 물리 서버(40)의 워크 로드가 제1 기준이 이상이 된다고 예측될 수 있다.If the virtual machine arrangement at the fourth time is followed, it can be predicted that at the fifth time, the workload of the third physical server 40 is greater than or equal to the first criterion.

이와 같은 경우, 상기 제5 시간 때 제3 물리 서버(40)에 배치되는 가상 머신 중에서 적어도 하나가 다른 물리 서버로 이동되도록 배치 일정이 산출될 수 있다. (제1-1 조건)In this case, the deployment schedule may be calculated such that at least one of the virtual machines disposed on the third physical server 40 is moved to another physical server at the fifth time. (Condition 1-1)

또한, 만일, 제4 시간 때의 가상 머신의 배치를 따를 경우 제5 시간 때에는 제2 물리 서버(30)의 워크 로드가 제1 기준이 이상이 된다고 예측될 수 있다. (제1-1 조건)In addition, if the deployment of the virtual machine at the fourth time is followed, it can be predicted that at the fifth time, the workload of the second physical server 30 exceeds the first criterion. (Condition 1-1)

이와 같을 경우, 상기 제5 시간 때 제2 물리 서버(30)에 배치되는 가상 머신 중 적어도 하나가 다른 물리 서버로 이동되도록 배치 일정이 산출될 수 있다. (제1-1 조건)In this case, the deployment schedule may be calculated such that at least one of the virtual machines disposed on the second physical server 30 is moved to another physical server at the fifth time. (Condition 1-1)

다만, 제3 물리 서버(40)에 배치된 제1 가상 머신(91)은 제1 시간 및 제3 시간 때에 마이드레이션이 실시되었기 때문에, 제5 시간 때에는 마이그레이션 대상에서 제외될 수 있다. (제4 조건)However, since the first virtual machine 91 disposed on the third physical server 40 has been migrated at the first time and the third time, it may be excluded from migration at the fifth time. (4th condition)

또한, 상기 제2 물리 서버(30)에 배치된 제3 가상 머신(93)과 제4 가상 머신(94) 모두가 제1 물리 서버(20)에 이동되는 경우, 제2 물리 서버(30) 가동은 중단되고 제1 물리 서버(20)의 가동은 개시될 수 있다.In addition, when both the third virtual machine 93 and the fourth virtual machine 94 disposed on the second physical server 30 are moved to the first physical server 20, the second physical server 30 is operated. Is stopped and the operation of the first physical server 20 can be started.

이는 제2 조건이 만족되지 않기 때문에, 제2 물리 서버(30)에서는 제3 가상 머신(93)과 제4 가상 머신(94) 중 하나의 가상 머신 만이 제1 물리 서버(20)로 이동될 수 있다.Since the second condition is not satisfied, only one virtual machine among the third virtual machine 93 and the fourth virtual machine 94 can be moved to the first physical server 20 in the second physical server 30. have.

일례로, 제1 목적 함수가 최소화되는 상태에서 모든 목적 함수가 최소화되도록, 제1 조건 내지 제4 조건(구체적으로 제1-2 조건과 제2 조건)이 만족되도록, 제2 물리 서버(30)에서는 제3 가상 머신(93)이 제1 물리 서버(20)로 이동될 수 있고, 제3 물리 서버(40)에서는 제6 가상 머신(96)과 제7 가상 머신(97)이 제1 물리 서버(20)로 이동될 수 있다.In one example, the second physical server 30 so that all the objective functions are minimized while the first objective function is minimized, so that the first condition to the fourth condition (specifically, the first and second conditions and the second condition) are satisfied. In the third virtual machine 93 may be moved to the first physical server 20, in the third physical server 40, the sixth virtual machine 96 and the seventh virtual machine 97 are the first physical server It can be moved to (20).

제5 시간에서의 마이그레이션에 의해 목적 함수의 최소 값이 만족되어 제6 시간에는 마이그레이션이 발생되지 않도록 배치 일정이 산출될 수 있다.The batch schedule may be calculated so that the minimum value of the objective function is satisfied by the migration at the fifth time so that the migration does not occur at the sixth time.

여태까지, 제1 배치 일정을 기초로 기술을 하였지만, 이는 하나의 예시에 불과하고, 제2 배치 일정, 제3 배치 일정 및 제4 배치 일정을 기초로 일정이 산출되는 방식에 대한 자세한 설명은 상술한 내용과 중복되는 한도에서 생략될 수 있다.So far, descriptions have been made based on the first batch schedule, but this is only one example, and detailed descriptions of how the schedules are calculated based on the second batch schedule, the third batch schedule, and the fourth batch schedule are described above. It may be omitted to the extent that it overlaps with one content.

상기 표시부는 상기 제1 배치 일정, 상기 제2 배치 일정, 상기 제3 배치 일정 및 제4 배치 일정을 표시할 수 있다.The display unit may display the first batch schedule, the second batch schedule, the third batch schedule, and the fourth batch schedule.

4 개의 목적 함수들은 각 각 독립적인 함수로서 4 개의 비 지배해를 가질 수 있기 때문에, 상기 제1 배치 일정, 상기 제2 배치 일정, 상기 제3 배치 일정 및 제4 배치 일정은 서로 독립적인 해결 방법을 의미할 수 있다.Since the four objective functions can each have four non-dominant solutions as independent functions, the first batch schedule, the second batch schedule, the third batch schedule, and the fourth batch schedule are independent of each other. Can mean

작업자는 입력부를 통해 상기 제1 배치 일정, 제2 배치 일정, 제3 배치 일정 및 제4 배치 일정 중 하나의 배치 일정을 결정하여, 결정한 배치 일정을 선택 입력할 수 있다.The operator may select and input the determined batch schedule by determining one of the first batch schedule, the second batch schedule, the third batch schedule, and the fourth batch schedule.

상기 입력부는 선택된 배치 일정과 관련된 정보를 산출하여 해당 정보를 상기 처리부로 전달할 수 있다.The input unit may calculate information related to the selected batch schedule and transmit the information to the processing unit.

도 6은 본 발명의 일 실시예에 따른 가상 머신 배치 방법 중에서 예측 오류를 산출하는 방법을 설명하기 위한 그래프이다.6 is a graph for explaining a method of calculating a prediction error among virtual machine placement methods according to an embodiment of the present invention.

상기 처리부는 선택된 배치 일정을 기초로 가상 머신들을 물리 서버들 상에서 이동 시키면서 배치(S60)할 수 있다.The processing unit may deploy the virtual machines on the physical servers based on the selected deployment schedule (S60).

이러한 방법을 통해 상기 물리 서버의 자원이 일 물리 서버로 치우치지 않고 고르게 활용될 수 있다.Through this method, the resources of the physical server can be evenly utilized without being biased to one physical server.

또한, 본 발명의 일 실시예에 따른 가상 머신 배치 방법은 상기 배치 일정에 따라 상기 가상 머신이 상기 제1 물리 서버와 상기 제2 물리 서버에 배치되는 경우, 상기 물리 서버의 예측되는 부하와 연관된 선택 예측 가상 로드와 관련된 정보인 선택 예측 가상 로드 정보와 상기 가상 머신의 실제 워크 로드와 관련된 정보인 실제 가상 워크 로드 정보를 기초로 미리 정해진 점검 방법에 따라 상기 선택 예측 가상 로드 정보가 정상적으로 산출되었는지 여부를 판단하는 단계(S70)를 더 포함할 수 있다.In addition, the virtual machine placement method according to an embodiment of the present invention, when the virtual machine is disposed on the first physical server and the second physical server according to the deployment schedule, selection associated with the predicted load of the physical server Whether the selection prediction virtual load information has been normally calculated according to a predetermined check method based on the selection prediction virtual load information, which is information related to the prediction virtual load, and the actual virtual workload information, which is information related to the actual workload of the virtual machine. The determining step (S70) may be further included.

여기서, 선택 예측 가상 로드 정보는 상술한 최초 예측 가상 로드 정보들과 동일할 수 있다.Here, the selection prediction virtual load information may be the same as the initial prediction virtual load information described above.

다만, 이에 한정하지 않고 상기 선택 예측 가상 로드 정보는 최초 예측 가상 로드 정보와 일치되지 않을 수 있다.However, the present invention is not limited thereto, and the selection prediction virtual load information may not match the initial prediction virtual load information.

이와 같을 경우, 상기 처리부는 선택된 상기 배치 일정에 따라 상기 가상 머신들을 배치한 후, 소정 기간 동안의 상기 가상 머신들의 워크 로드를 예측하여 상기 선택 예측 가상 로드 정보를 산출할 수 있다.In this case, the processor may calculate the selection prediction virtual load information by predicting the workload of the virtual machines for a predetermined period after placing the virtual machines according to the selected deployment schedule.

상기 미리 정해진 점검 방법은 상기 가상 머신의 실제 워크 로드가 대응되는 상기 선택 예측 가상 로드와 소정 값 이상 차이 날 경우 상기 선택 예측 가상 로드가 잘못 산출되었다고 판단하는 방법일 수 있다.The predetermined checking method may be a method of determining that the selection prediction virtual load is incorrectly calculated when the actual workload of the virtual machine differs from the corresponding selection prediction virtual load by a predetermined value or more.

구체적인 일례로서, 도 6은 제a 가상 머신의 예측되는 워크 로드인 선택 예측 가상 로드를 나타내는 제1 워크 로드(Y10)와 제a 가상 머신의 실제 워크 로드를 나타내는 제2 워크 로드(Y20)에 대한 그래프일 수 있다.As a specific example, FIG. 6 illustrates a first workload Y10 representing a selective predictive virtual load, which is a predicted workload of a virtual machine, and a second workload Y20 representing a real workload of a virtual machine It can be a graph.

상기 처리부는 상기 제1 워크 로드와 상기 제2 워크 로드가 소정 워크 로드(소정 값, Y) 이상 차이날 경우 상기 제a 가상 머신의 워크 로드가 잘못 예측되었다고 판단할 수 있다.The processing unit may determine that the workload of the virtual machine is incorrectly predicted when the first workload and the second workload differ by more than a predetermined workload (predetermined value, Y).

상기 처리부가 상기 선택 예측 가상 로드가 잘못 산출되었다고 판단하는 경우, 상기 처리부는 상기 선택 예측 가상 로드가 잘못 산출되었다고 판단하는 시점인 재 판단 시점부터 미리 정해진 제2 기간 동안, 예측되는 상기 가상 머신에 의해 발생되는 물리 서버의 부하와 연관된 재 예측 가상 로드와 관련된 정보인 재 예측 가상 로드 정보를 산출(S80)할 수 있다.When the processing unit determines that the selection prediction virtual load has been incorrectly calculated, the processing unit determines the selection prediction virtual load has been incorrectly calculated by the predicted virtual machine for a second predetermined period from the re-determination time point. Re-prediction virtual load information that is information related to the re-prediction virtual load associated with the load of the generated physical server may be calculated (S80).

상기 처리부는 상기 재 예측 가상 로드 정보를 기초로 상술한 미리 정해진 배치 일정 산출 방법에 의해 배치 일정을 재 산출(S80)할 수 있으며, 이를 기초로 가상 머신들이 재 배치(S90)될 수 있도록, 소정의 연산을 할 수 있다.The processing unit may recalculate the batch schedule by the predetermined batch schedule calculation method described above based on the re-prediction virtual load information (S80), and based on this, the virtual machines may be re-positioned (S90). Can do the operation of

이에 대한 자세한 설명은 상술한 내용과 중복되는 한도에서 생략될 수 있다.A detailed description of this may be omitted in the limits overlapping with the above.

여기서, 미리 정해진 제2 기간은 상술한 상기 미리 정해진 제1 기간과 동일할 수도 있고 상이할 수도 있다.Here, the predetermined second period may be the same as or different from the aforementioned first predetermined period.

이와 같은 상기 가상 머신 배치 방법은 반복 연속적으로 이루어질 수 있다.Such a virtual machine placement method may be repeated continuously.

상기 가상 머신들이 재 배치(S90)되기 위하여 작업자는 복수의 배치 일정들 중에 하나의 배치 일정을 선택할 수 있으며, 상기 처리부는 선택된 배치 일정을 기초로 상기 가상 머신들을 재 배치(S90) 할 수 있다.In order for the virtual machines to be redeployed (S90), an operator may select one batch schedule from among a plurality of batch schedules, and the processing unit may redeploy the virtual machines (S90) based on the selected batch schedule.

이에 대한 자세한 설명은 상술한 내용과 중복되는 한도에서 생략될 수 있다.A detailed description of this may be omitted in the limits overlapping with the above.

본 발명의 일 실시예에 따른 가상 머신 배치 장치는 가상 머신이 설치되는 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함. - 를 효율적으로 운용하기 위하여, 복수의 상기 가상 머신을 상기 제1 물리 서버와 상기 제2 물리 서버 상에 배치하는 방법인 가상 머신 배치 방법을 구현하는 가상 머신 배치 장치에 있어서, 처리부; 및 상기 가상 머신 배치 방법을 수행하는 프로그램이 저장된 저장부;를 포함하고, 상기 가상 머신 배치 방법은, 상기 제1 물리 서버와 상기 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크 로드 산출 방법에 의해 상기 가상 머신에 의해 부과되는 물리 서버의 부하인 가상 머신 워크 로드와 관련된 정보인 가상 머신 워크 로드 정보가 산출되는 단계, 상기 가상 머신 워크 로드를 기초로 미리 정해진 제1 기간 동안 예측되는 상기 가상 머신에 의해 부과되는 물리 서버의 부하와 연관된 최초 예측 가상 로드와 관련된 정보인 최초 예측 가상 로드 정보가 산출되는 단계, 미리 정해진 배치 일정 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치 일정과 관련된 정보인 배치 일정 정보가 산출되는 단계 및 상기 미리 정해진 배치 일정 산출 방법에 의해 산출된 상기 배치 일정에 따라 상기 제1 물리 서버와 상기 제2 물리 서버 상에 상기 가상 머신이 배치되도록, 상기 가상 머신이 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 이동되면서 배치되는 단계를 포함하고, 상기 미리 정해진 배치 일정 산출 방법은, 상기 최초 예측 가상 로드 정보를 기초로 목적 함수 값이 최소화될 때의 상기 가상 머신의 상기 배치 일정이 산출되는 방법일 수 있다.Virtual machine placement apparatus according to an embodiment of the present invention is a physical server on which a virtual machine is installed-the physical server includes a first physical server and a second physical server. In order to operate efficiently, a virtual machine placement apparatus that implements a virtual machine placement method which is a method of placing a plurality of the virtual machines on the first physical server and the second physical server, comprising: a processing unit; And a storage unit in which a program for performing the virtual machine placement method is stored, wherein the virtual machine placement method calculates a predetermined workload based on information related to operations of the first physical server and the second physical server. Calculating virtual machine workload information, which is information related to a virtual machine workload, which is a load of a physical server charged by the virtual machine, by the method, and predicted for a first predetermined period based on the virtual machine workload Calculating first predictive virtual load information, which is information related to an initial predictive virtual load associated with a load of a physical server charged by a virtual machine, on the first physical server and the second physical server by a predetermined batch schedule calculation method The virtual machine on the first physical server and the second physical server according to the step of calculating the batch schedule information, which is information related to the batch schedule of the virtual machine, and the batch schedule calculated by the predetermined batch schedule calculation method. In order to be arranged, the virtual machine is disposed while being moved on the first physical server and the second physical server, and the predetermined batch schedule calculation method is based on the initial prediction virtual load information. When this is minimized, the placement schedule of the virtual machine may be calculated.

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

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

10 : 가상 머신 배치 장치 11 : 처리부
12 : 저장부 13 : 수신부
14 : 송신부 15 : 입력부
16 : 표시부
10: virtual machine placement device 11: processing unit
12: storage unit 13: receiving unit
14: transmitting unit 15: input unit
16: display unit

Claims (15)

삭제delete 가상 머신이 설치된 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함. -를 효율적으로 운용하기 위하여, 복수의 상기 가상 머신을 상기 제1 물리 서버와 상기 제2 물리 서버 상에 배치하는 방법인 가상 머신 배치 방법에 있어서,
상기 제1 물리 서버와 상기 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크 로드 산출 방법에 의해 상기 가상 머신에 의해 부과되는 물리 서버의 부하인 가상 머신 워크 로드와 관련된 정보인 가상 머신 워크 로드 정보가 산출되는 단계;
상기 가상 머신 워크 로드를 기초로 미리 정해진 제1 기간 동안 예측되는 상기 가상 머신에 의해 부과되는 물리 서버의 부하와 연관된 최초 예측 가상 로드와 관련된 정보인 최초 예측 가상 로드 정보가 산출되는 단계;
미리 정해진 배치 일정 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치 일정과 관련된 정보인 배치 일정 정보가 산출되는 단계; 및
상기 미리 정해진 배치 일정 산출 방법에 의해 산출된 상기 배치 일정에 따라 상기 제1 물리 서버와 상기 제2 물리 서버 상에 상기 가상 머신이 배치되도록, 상기 가상 머신이 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 이동되면서 배치되는 단계;를 포함하고,
상기 미리 정해진 배치 일정 산출 방법은,
상기 최초 예측 가상 로드 정보를 기초로 목적 함수 값이 최소화될 때의 상기 가상 머신의 상기 배치 일정이 산출되는 방법이며,
상기 미리 정해진 제1 기간 동안에 상기 물리 서버들 간의 상기 가상 머신의 이동이 허용되도록 상기 배치 일정이 산출되는 방법이고,
상기 목적 함수는,
상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 부하의 변화 량과 관련된 함수인 제1 목적 함수를 구비하는,
가상 머신 배치 방법.
Physical server on which a virtual machine is installed-The physical server includes a first physical server and a second physical server. In order to operate-efficiently, in the virtual machine placement method, which is a method of placing a plurality of the virtual machines on the first physical server and the second physical server,
A virtual machine work that is information related to a virtual machine workload that is a load of a physical server charged by the virtual machine by a predetermined workload calculation method based on information related to the operation of the first physical server and the second physical server. Calculating load information;
Calculating initial predictive virtual load information that is information related to an initial predictive virtual load associated with a load of a physical server charged by the virtual machine predicted for a predetermined first period based on the virtual machine workload;
Calculating batch schedule information that is information related to the batch schedule of the virtual machines on the first physical server and the second physical server by a predetermined batch schedule calculation method; And
The virtual machine is disposed on the first physical server and the second physical server so that the virtual machine is disposed on the first physical server and the second physical server according to the batch schedule calculated by the predetermined batch schedule calculation method. Included; being moved while moving on the server;
The predetermined batch schedule calculation method,
It is a method of calculating the placement schedule of the virtual machine when the objective function value is minimized based on the first predicted virtual load information,
The arrangement schedule is calculated such that movement of the virtual machine between the physical servers is allowed during the first predetermined period,
The objective function is,
During the predetermined first period, the first predictive virtual load is provided with a first objective function that is a function related to the amount of change in the load of the physical server,
How to deploy a virtual machine.
가상 머신이 설치된 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함. -를 효율적으로 운용하기 위하여, 복수의 상기 가상 머신을 상기 제1 물리 서버와 상기 제2 물리 서버 상에 배치하는 방법인 가상 머신 배치 방법에 있어서,
상기 제1 물리 서버와 상기 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크 로드 산출 방법에 의해 상기 가상 머신에 의해 부과되는 물리 서버의 부하인 가상 머신 워크 로드와 관련된 정보인 가상 머신 워크 로드 정보가 산출되는 단계;
상기 가상 머신 워크 로드를 기초로 미리 정해진 제1 기간 동안 예측되는 상기 가상 머신에 의해 부과되는 물리 서버의 부하와 연관된 최초 예측 가상 로드와 관련된 정보인 최초 예측 가상 로드 정보가 산출되는 단계;
미리 정해진 배치 일정 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치 일정과 관련된 정보인 배치 일정 정보가 산출되는 단계; 및
상기 미리 정해진 배치 일정 산출 방법에 의해 산출된 상기 배치 일정에 따라 상기 제1 물리 서버와 상기 제2 물리 서버 상에 상기 가상 머신이 배치되도록, 상기 가상 머신이 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 이동되면서 배치되는 단계;를 포함하고,
상기 미리 정해진 배치 일정 산출 방법은,
상기 최초 예측 가상 로드 정보를 기초로 목적 함수 값이 최소화될 때의 상기 가상 머신의 상기 배치 일정이 산출되는 방법이며,
상기 미리 정해진 제1 기간 동안에 상기 물리 서버들 간의 상기 가상 머신의 이동이 허용되도록 상기 배치 일정이 산출되는 방법이고,
상기 목적 함수는,
상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 부하들 간의 차이와 관련된 함수인 제2 목적 함수를 구비하는,
가상 머신 배치 방법.
Physical server on which a virtual machine is installed-The physical server includes a first physical server and a second physical server. In order to operate-efficiently, in the virtual machine placement method, which is a method of placing a plurality of the virtual machines on the first physical server and the second physical server,
A virtual machine work that is information related to a virtual machine workload that is a load of a physical server charged by the virtual machine by a predetermined workload calculation method based on information related to the operation of the first physical server and the second physical server. Calculating load information;
Calculating initial predictive virtual load information that is information related to an initial predictive virtual load associated with a load of a physical server charged by the virtual machine predicted for a predetermined first period based on the virtual machine workload;
Calculating batch schedule information that is information related to the batch schedule of the virtual machines on the first physical server and the second physical server by a predetermined batch schedule calculation method; And
The virtual machine is disposed on the first physical server and the second physical server so that the virtual machine is disposed on the first physical server and the second physical server according to the batch schedule calculated by the predetermined batch schedule calculation method. Included; being moved while moving on the server;
The predetermined batch schedule calculation method,
It is a method of calculating the placement schedule of the virtual machine when the objective function value is minimized based on the first predicted virtual load information,
The arrangement schedule is calculated such that movement of the virtual machine between the physical servers is allowed during the first predetermined period,
The objective function is,
And a second objective function that is a function related to a difference between loads of a physical server calculated by the initial predictive virtual load during the first predetermined period.
How to deploy a virtual machine.
가상 머신이 설치된 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함. -를 효율적으로 운용하기 위하여, 복수의 상기 가상 머신을 상기 제1 물리 서버와 상기 제2 물리 서버 상에 배치하는 방법인 가상 머신 배치 방법에 있어서,
상기 제1 물리 서버와 상기 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크 로드 산출 방법에 의해 상기 가상 머신에 의해 부과되는 물리 서버의 부하인 가상 머신 워크 로드와 관련된 정보인 가상 머신 워크 로드 정보가 산출되는 단계;
상기 가상 머신 워크 로드를 기초로 미리 정해진 제1 기간 동안 예측되는 상기 가상 머신에 의해 부과되는 물리 서버의 부하와 연관된 최초 예측 가상 로드와 관련된 정보인 최초 예측 가상 로드 정보가 산출되는 단계;
미리 정해진 배치 일정 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치 일정과 관련된 정보인 배치 일정 정보가 산출되는 단계; 및
상기 미리 정해진 배치 일정 산출 방법에 의해 산출된 상기 배치 일정에 따라 상기 제1 물리 서버와 상기 제2 물리 서버 상에 상기 가상 머신이 배치되도록, 상기 가상 머신이 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 이동되면서 배치되는 단계;를 포함하고,
상기 미리 정해진 배치 일정 산출 방법은,
상기 최초 예측 가상 로드 정보를 기초로 목적 함수 값이 최소화될 때의 상기 가상 머신의 상기 배치 일정이 산출되는 방법이며,
상기 미리 정해진 제1 기간 동안에 상기 물리 서버들 간의 상기 가상 머신의 이동이 허용되도록 상기 배치 일정이 산출되는 방법이며,
상기 목적 함수는,
상기 가상 머신이 상기 배치 일정에 따라 배치되기 위해서 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 상기 가상 머신이 배치 이동되는 횟수와 관련된 함수인 제3 목적 함수를 구비하는,
가상 머신 배치 방법.
Physical server on which a virtual machine is installed-The physical server includes a first physical server and a second physical server. In order to operate-efficiently, in the virtual machine placement method, which is a method of placing a plurality of the virtual machines on the first physical server and the second physical server,
A virtual machine work that is information related to a virtual machine workload that is a load of a physical server charged by the virtual machine by a predetermined workload calculation method based on information related to the operation of the first physical server and the second physical server. Calculating load information;
Calculating initial predictive virtual load information that is information related to an initial predictive virtual load associated with a load of a physical server charged by the virtual machine predicted for a predetermined first period based on the virtual machine workload;
Calculating batch schedule information that is information related to the batch schedule of the virtual machines on the first physical server and the second physical server by a predetermined batch schedule calculation method; And
The virtual machine is disposed on the first physical server and the second physical server so that the virtual machine is disposed on the first physical server and the second physical server according to the batch schedule calculated by the predetermined batch schedule calculation method. Included; being moved while moving on the server;
The predetermined batch schedule calculation method,
It is a method of calculating the placement schedule of the virtual machine when the objective function value is minimized based on the first predicted virtual load information,
The deployment schedule is calculated such that movement of the virtual machine between the physical servers is allowed during the first predetermined period,
The objective function is,
And a third objective function, which is a function related to the number of times the virtual machine is placed and moved on the first physical server and the second physical server in order for the virtual machine to be arranged according to the deployment schedule.
How to deploy a virtual machine.
제2항, 제3항 및 제4항 중 어느 한 항에 있어서,
상기 목적 함수는,
상기 미리 정해진 제1 기간 동안, 상기 제1 물리 서버의 가동 여부 및 상기 제2 물리 서버의 가동 여부와 관련된 함수인 제4 목적 함수를 더 구비하는,
가상 머신 배치 방법.
According to any one of claims 2, 3 and 4,
The objective function is,
During the first predetermined period, further comprising a fourth objective function that is a function related to whether the first physical server is running and whether the second physical server is running,
How to deploy a virtual machine.
가상 머신이 설치된 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함. -를 효율적으로 운용하기 위하여, 복수의 상기 가상 머신을 상기 제1 물리 서버와 상기 제2 물리 서버 상에 배치하는 방법인 가상 머신 배치 방법에 있어서,
상기 제1 물리 서버와 상기 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크 로드 산출 방법에 의해 상기 가상 머신에 의해 부과되는 물리 서버의 부하인 가상 머신 워크 로드와 관련된 정보인 가상 머신 워크 로드 정보가 산출되는 단계;
상기 가상 머신 워크 로드를 기초로 미리 정해진 제1 기간 동안 예측되는 상기 가상 머신에 의해 부과되는 물리 서버의 부하와 연관된 최초 예측 가상 로드와 관련된 정보인 최초 예측 가상 로드 정보가 산출되는 단계;
미리 정해진 배치 일정 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치 일정과 관련된 정보인 배치 일정 정보가 산출되는 단계; 및
상기 미리 정해진 배치 일정 산출 방법에 의해 산출된 상기 배치 일정에 따라 상기 제1 물리 서버와 상기 제2 물리 서버 상에 상기 가상 머신이 배치되도록, 상기 가상 머신이 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 이동되면서 배치되는 단계;를 포함하고,
상기 미리 정해진 배치 일정 산출 방법은,
상기 최초 예측 가상 로드 정보를 기초로 목적 함수 값이 최소화될 때의 상기 가상 머신의 상기 배치 일정이 산출되는 방법이며,상기 목적 함수는,
상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 부하의 변화량과 관련된 함수인 제1 목적 함수, 상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 부하들 간의 차이와 관련된 함수인 제2 목적 함수, 상기 가상 머신이 상기 배치 일정에 따라 배치되기 위해서 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 상기 가상 머신이 배치 이동되는 횟수와 관련된 함수인 제3 목적 함수 및 상기 미리 정해진 제1 기간 동안, 상기 제1 물리 서버의 가동 여부 및 상기 제2 물리 서버의 가동 여부와 관련된 함수인 제4 목적 함수를 구비하는,
가상 머신 배치 방법.
Physical server on which a virtual machine is installed-The physical server includes a first physical server and a second physical server. In order to operate-efficiently, in the virtual machine placement method, which is a method of placing a plurality of the virtual machines on the first physical server and the second physical server,
A virtual machine work that is information related to a virtual machine workload that is a load of a physical server charged by the virtual machine by a predetermined workload calculation method based on information related to the operation of the first physical server and the second physical server. Calculating load information;
Calculating initial predictive virtual load information that is information related to an initial predictive virtual load associated with a load of a physical server charged by the virtual machine predicted for a predetermined first period based on the virtual machine workload;
Calculating batch schedule information that is information related to the batch schedule of the virtual machines on the first physical server and the second physical server by a predetermined batch schedule calculation method; And
The virtual machine is disposed on the first physical server and the second physical server so that the virtual machine is disposed on the first physical server and the second physical server according to the batch schedule calculated by the predetermined batch schedule calculation method. Included; being moved while moving on the server;
The predetermined batch schedule calculation method,
The deployment schedule of the virtual machine when the objective function value is minimized based on the first predicted virtual load information is a method in which the objective function is calculated.
During the first predetermined period, a first objective function that is a function related to a change amount of a load of the physical server calculated by the first predictive virtual load, and during the first predetermined period, a physical calculated by the first predictive virtual load A second objective function, which is a function related to a difference between server loads, and a function related to the number of times the virtual machine is batch-moved on the first physical server and the second physical server in order to place the virtual machine according to the deployment schedule. And a third objective function and a fourth objective function that is a function related to whether the first physical server is operating and whether the second physical server is operating during the predetermined first period.
How to deploy a virtual machine.
제6항에 있어서,
상기 배치 일정은,
상기 제1 목적 함수의 값이 최소인 상태를 기준으로, 상기 제2 목적 함수의 값, 상기 제3 목적 함수 및 제4 목적 함수의 값이 최소화되는 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 제1 배치 일정,
상기 제2 목적 함수의 값이 최소인 상태를 기준으로, 상기 제1 목적 함수의 값, 상기 제3 목적 함수 및 제4 목적 함수의 값이 최소화되는 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 제2 배치 일정,
상기 제3 목적 함수의 값이 최소인 상태를 기준으로, 상기 제1 목적 함수의 값, 상기 제2 목적 함수 및 제4 목적 함수의 값이 최소화되는 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 제3 배치 일정 및
상기 제4 목적 함수의 값이 최소인 상태를 기준으로, 상기 제1 목적 함수의 값, 상기 제2 목적 함수 및 제3 목적 함수의 값이 최소화되는 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 제4 배치 일정을 구비하는,
가상 머신 배치 방법.
The method of claim 6,
The batch schedule,
On the basis of the state in which the value of the first objective function is minimum, the values of the second objective function, the values of the third objective function and the fourth objective function are minimized on the first physical server and the second physical server. The first batch schedule, which is the placement of the virtual machine,
On the basis of the state in which the value of the second objective function is minimum, the values of the first objective function, the values of the third objective function and the fourth objective function are minimized on the first physical server and the second physical server. A second deployment schedule, which is the deployment of the virtual machine,
On the basis of the state in which the value of the third objective function is minimum, the values of the first objective function, the values of the second objective function and the fourth objective function are minimized on the first physical server and the second physical server. The third batch schedule which is the placement of the virtual machine and
On the basis of the state in which the value of the fourth objective function is minimum, the values of the first objective function, the values of the second objective function and the third objective function are minimized on the first physical server and the second physical server. Having a fourth deployment schedule that is the deployment of the virtual machine,
How to deploy a virtual machine.
제6항에 있어서,
상기 미리 정해진 워크 로드 산출 방법은,
CPU의 가동 정도만을 기초로 상기 가상 머신 워크 로드 정보가 산출되는 방법을 포함하는,
가상 머신 배치 방법.
The method of claim 6,
The predetermined workload calculation method,
A method comprising calculating the virtual machine workload information based only on the degree of operation of the CPU,
How to deploy a virtual machine.
제6항에 있어서,
상기 미리 정해진 배치 일정 산출 방법은,
임의의 물리 서버에 대해서 상기 물리 서버의 부하가 미리 정해진 범위 내에서만 부과되도록, 상기 가상 머신의 배치 일정이 산출되는 방법을 포함하는,
가상 머신 배치 방법.
The method of claim 6,
The predetermined batch schedule calculation method,
Including a method for calculating the deployment schedule of the virtual machine, so that the load of the physical server for any physical server is charged only within a predetermined range,
How to deploy a virtual machine.
제9항에 있어서,
상기 미리 정해진 배치 산출 방법은,
상기 임의의 물리 서버에 대해서 상기 물리 서버의 부하가 미리 정해진 범위 내에서만 부과될 수 있도록, 상기 임의의 물리 서버의 부하가 제1 기준 이상 될 것으로 예측될 경우에는, 상기 임의의 물리 서버에 배치된 상기 가상 머신들 중 적어도 하나의 상기 가상 머신을 다른 물리 서버로 이동시키는 방법을 포함하는,
가상 머신 배치 방법.
The method of claim 9,
The predetermined batch calculation method,
When it is predicted that the load of the arbitrary physical server is greater than or equal to a first criterion, so that the load of the physical server may be charged only within a predetermined range for the arbitrary physical server, the physical server is disposed in the arbitrary physical server. And a method of moving the at least one of the virtual machines to another physical server.
How to deploy a virtual machine.
제9항에 있어서,
상기 미리 정해진 배치 산출 방법은,
상기 임의의 물리 서버에 대해서 상기 물리 서버의 부하가 미리 정해진 범위 내에서만 부과될 수 있도록, 상기 임의의 물리 서버의 부하가 제2 기준 이하 될 것으로 예측될 경우에는, 상기 임의의 물리 서버에 배치된 상기 가상 머신들 모두를 다른 물리 서버로 이동시키는 방법을 포함하는,
가상 머신 배치 방법.
The method of claim 9,
The predetermined batch calculation method,
When the load of the arbitrary physical server is predicted to be below a second criterion so that the load of the physical server can be charged only within a predetermined range for the arbitrary physical server, the physical server is disposed in the arbitrary physical server. A method comprising moving all of the virtual machines to different physical servers,
How to deploy a virtual machine.
제6항에 있어서,
상기 미리 정해진 배치 산출 방법은,
가동되지 않는 상기 물리 서버가 가동되도록 하는 상기 가상 머신의 이동으로 인해 가동 중인 상기 물리 서버가 가동되지 않는 상태로 변화되지 않도록, 상기 배치 일정 정보가 산출되는 방법을 포함하는,
가상 머신 배치 방법.
The method of claim 6,
The predetermined batch calculation method,
Including the method of calculating the batch schedule information, so that the physical server in operation is not changed to a non-operational state due to the movement of the virtual machine that causes the non-operational physical server to operate,
How to deploy a virtual machine.
가상 머신이 설치된 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함. -를 효율적으로 운용하기 위하여, 복수의 상기 가상 머신을 상기 제1 물리 서버와 상기 제2 물리 서버 상에 배치하는 방법인 가상 머신 배치 방법에 있어서,
상기 제1 물리 서버와 상기 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크 로드 산출 방법에 의해 상기 가상 머신에 의해 부과되는 물리 서버의 부하인 가상 머신 워크 로드와 관련된 정보인 가상 머신 워크 로드 정보가 산출되는 단계;
상기 가상 머신 워크 로드를 기초로 미리 정해진 제1 기간 동안 예측되는 상기 가상 머신에 의해 부과되는 물리 서버의 부하와 연관된 최초 예측 가상 로드와 관련된 정보인 최초 예측 가상 로드 정보가 산출되는 단계;
미리 정해진 배치 일정 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치 일정과 관련된 정보인 배치 일정 정보가 산출되는 단계;
상기 미리 정해진 배치 일정 산출 방법에 의해 산출된 상기 배치 일정에 따라 상기 제1 물리 서버와 상기 제2 물리 서버 상에 상기 가상 머신이 배치되도록, 상기 가상 머신이 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 이동되면서 배치되는 단계; 및
상기 배치 일정에 따라 상기 가상 머신이 상기 제1 물리 서버와 상기 제2 물리 서버에 배치되는 경우, 상기 물리 서버의 예측되는 부하와 연관된 선택 예측 가상 로드와 관련된 정보인 선택 예측 가상 로드 정보와 상기 가상 머신의 실제 워크 로드와 관련된 정보인 실제 가상 워크 로드 정보를 기초로 미리 정해진 점검 방법에 따라 상기 선택 예측 가상 로드 정보가 정상적으로 산출되었는지 여부를 판단하는 단계;를 포함하고,
상기 미리 정해진 배치 일정 산출 방법은,
상기 최초 예측 가상 로드 정보를 기초로 목적 함수 값이 최소화될 때의 상기 가상 머신의 상기 배치 일정이 산출되는 방법이며,
상기 미리 정해진 제1 기간 동안에 상기 물리 서버들 간의 상기 가상 머신의 이동이 허용되도록 상기 배치 일정이 산출되는 방법인,
가상 머신 배치 방법.
Physical server on which a virtual machine is installed-The physical server includes a first physical server and a second physical server. In order to operate-efficiently, in the virtual machine placement method, which is a method of placing a plurality of the virtual machines on the first physical server and the second physical server,
A virtual machine work that is information related to a virtual machine workload that is a load of a physical server charged by the virtual machine by a predetermined workload calculation method based on information related to the operation of the first physical server and the second physical server. Calculating load information;
Calculating initial predictive virtual load information that is information related to an initial predictive virtual load associated with a load of a physical server charged by the virtual machine predicted for a predetermined first period based on the virtual machine workload;
Calculating batch schedule information that is information related to the batch schedule of the virtual machines on the first physical server and the second physical server by a predetermined batch schedule calculation method;
The virtual machine is disposed on the first physical server and the second physical server so that the virtual machine is disposed on the first physical server and the second physical server according to the batch schedule calculated by the predetermined batch schedule calculation method. Deployed while being moved on the server; And
When the virtual machine is disposed on the first physical server and the second physical server according to the deployment schedule, the selection prediction virtual load information and the virtual information that is information related to the selection prediction virtual load associated with the predicted load of the physical server And determining whether the selection prediction virtual load information has been normally calculated according to a predetermined inspection method based on actual virtual workload information, which is information related to the actual workload of the machine.
The predetermined batch schedule calculation method,
It is a method of calculating the placement schedule of the virtual machine when the objective function value is minimized based on the first predicted virtual load information,
A method in which the deployment schedule is calculated to allow movement of the virtual machine between the physical servers during the first predetermined period,
How to deploy a virtual machine.
제13항에 있어서,
상기 미리 정해진 점검 방법은,
상기 가상 머신의 실제 워크 로드가 대응되는 상기 선택 예측 가상 로드와 소정 값 이상 차이 날 경우 상기 선택 예측 가상 로드가 잘못 산출되었다고 판단하는 방법인,
가상 머신 배치 방법.
The method of claim 13,
The predetermined inspection method,
A method of determining that the selection prediction virtual load is incorrectly calculated when the actual workload of the virtual machine differs from the corresponding selection prediction virtual load by a predetermined value or more,
How to deploy a virtual machine.
가상 머신이 설치되는 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함. - 를 효율적으로 운용하기 위하여, 복수의 상기 가상 머신을 상기 제1 물리 서버와 상기 제2 물리 서버 상에 배치하는 방법인 가상 머신 배치 방법을 구현하는 가상 머신 배치 장치에 있어서,
처리부; 및
상기 가상 머신 배치 방법을 수행하는 프로그램이 저장된 저장부;를 포함하고,
상기 가상 머신 배치 방법은,
상기 제1 물리 서버와 상기 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크 로드 산출 방법에 의해 상기 가상 머신에 의해 부과되는 물리 서버의 부하인 가상 머신 워크 로드와 관련된 정보인 가상 머신 워크 로드 정보가 산출되는 단계;
상기 가상 머신 워크 로드를 기초로 미리 정해진 제1 기간 동안 예측되는 상기 가상 머신에 의해 부과되는 물리 서버의 부하와 연관된 최초 예측 가상 로드와 관련된 정보인 최초 예측 가상 로드 정보가 산출되는 단계;
미리 정해진 배치 일정 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치 일정과 관련된 정보인 배치 일정 정보가 산출되는 단계; 및
상기 미리 정해진 배치 일정 산출 방법에 의해 산출된 상기 배치 일정에 따라 상기 제1 물리 서버와 상기 제2 물리 서버 상에 상기 가상 머신이 배치되도록, 상기 가상 머신이 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 이동되면서 배치되는 단계;를 포함하고,
상기 미리 정해진 배치 일정 산출 방법은,
상기 최초 예측 가상 로드 정보를 기초로 목적 함수 값이 최소화될 때의 상기 가상 머신의 상기 배치 일정이 산출되는 방법이며,
상기 미리 정해진 제1 기간 동안에 상기 물리 서버들 간의 상기 가상 머신의 이동이 허용되도록 상기 배치 일정이 산출되는 방법이고,
상기 목적 함수는,
상기 가상 머신이 상기 배치 일정에 따라 배치되기 위해서 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 상기 가상 머신이 배치 이동되는 횟수와 관련된 함수인 제3 목적 함수를 구비하는,
가상 머신 배치 장치.
Physical server on which the virtual machine is installed-the physical server includes a first physical server and a second physical server. In order to operate efficiently, a virtual machine placement device implementing a virtual machine placement method, which is a method of placing a plurality of the virtual machines on the first physical server and the second physical server,
Processing unit; And
Includes; a storage unit that stores a program for performing the virtual machine deployment method,
The virtual machine placement method,
A virtual machine work that is information related to a virtual machine workload that is a load of a physical server charged by the virtual machine by a predetermined workload calculation method based on information related to the operation of the first physical server and the second physical server. Calculating load information;
Calculating initial predictive virtual load information that is information related to an initial predictive virtual load associated with a load of a physical server charged by the virtual machine predicted for a predetermined first period based on the virtual machine workload;
Calculating batch schedule information that is information related to the batch schedule of the virtual machines on the first physical server and the second physical server by a predetermined batch schedule calculation method; And
The virtual machine is disposed on the first physical server and the second physical server so that the virtual machine is disposed on the first physical server and the second physical server according to the batch schedule calculated by the predetermined batch schedule calculation method. Included; being moved while moving on the server;
The predetermined batch schedule calculation method,
It is a method of calculating the placement schedule of the virtual machine when the objective function value is minimized based on the first predicted virtual load information,
The arrangement schedule is calculated such that movement of the virtual machine between the physical servers is allowed during the first predetermined period,
The objective function is,
And a third objective function, which is a function related to the number of times the virtual machine is placed and moved on the first physical server and the second physical server in order to place the virtual machine according to the deployment schedule.
Virtual machine placement device.
KR1020190092851A 2019-07-31 2019-07-31 Virtual machine placement method using scheduling and virtual machine placement device implementing the same KR102135208B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020190092851A KR102135208B1 (en) 2019-07-31 2019-07-31 Virtual machine placement method using scheduling and virtual machine placement device implementing the same
KR1020200078477A KR102316749B1 (en) 2019-07-31 2020-06-26 Virtual machine workload prediction method, virtual machine placement method and virtual machine placement device implementing the same
US16/939,385 US11620150B2 (en) 2019-07-31 2020-07-27 Virtual machine management method using virtual machine deployment simulation
US18/126,058 US20230229486A1 (en) 2019-07-31 2023-03-24 Virtual machine workload prediction method, virtual machine management method having the same and virtual machine management system implementing the same
US18/126,118 US20230229487A1 (en) 2019-07-31 2023-03-24 Virtual machine deployment method, virtual machine management method having the same and virtual machine management system implementing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190092851A KR102135208B1 (en) 2019-07-31 2019-07-31 Virtual machine placement method using scheduling and virtual machine placement device implementing the same

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020200078477A Division KR102316749B1 (en) 2019-07-31 2020-06-26 Virtual machine workload prediction method, virtual machine placement method and virtual machine placement device implementing the same

Publications (1)

Publication Number Publication Date
KR102135208B1 true KR102135208B1 (en) 2020-07-17

Family

ID=71832151

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190092851A KR102135208B1 (en) 2019-07-31 2019-07-31 Virtual machine placement method using scheduling and virtual machine placement device implementing the same

Country Status (1)

Country Link
KR (1) KR102135208B1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102381570B1 (en) * 2021-10-21 2022-04-01 오케스트로 주식회사 A virtaul machine placement system providng a deployment schedule reflecting uncertainty in forecasting and a method of virtaul machine placement
KR102403625B1 (en) * 2021-10-15 2022-05-30 오케스트로 주식회사 A virtual machine placement system implementing predictive management of virtual machinges in consideration of physical server performance degradation and a method of virtual machine placement
KR102403632B1 (en) * 2021-10-15 2022-05-30 오케스트로 주식회사 A virtual machine placement system implementing predictive migration of virtual machines considering hot spots and a method of virtual machine placement
KR102469718B1 (en) * 2021-10-29 2022-11-22 오케스트로 주식회사 A virtual machine placement system with anomaly monitoring function
KR102470086B1 (en) * 2021-10-28 2022-11-23 오케스트로 주식회사 A virtual machine placement system avoiding sla violation and a method of virtual machine placement
KR102470081B1 (en) * 2021-10-28 2022-11-23 오케스트로 주식회사 A virtual machine placement system based on light sizing and a virtual machine placement method using the same

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170787A (en) * 2010-02-22 2011-09-01 Nippon Telegraph & Telephone West Corp Device, method and control program for allocating resource
JP2011186701A (en) * 2010-03-08 2011-09-22 Nec Corp Resource allocation apparatus, resource allocation method and resource allocation program
KR20120023703A (en) * 2009-06-01 2012-03-13 후지쯔 가부시끼가이샤 Server control program, control server, virtual server distribution method
JP2012159928A (en) * 2011-01-31 2012-08-23 Internatl Business Mach Corp <Ibm> Information processing device, information processing system, arrangement configuration determination method, and program and recording medium therefor
JP2014006739A (en) * 2012-06-25 2014-01-16 Fujitsu Ltd Program, management server and virtual machine migration control method
KR101867487B1 (en) * 2016-12-23 2018-07-18 경희대학교 산학협력단 System and method of migration based fuzzy in cloud environment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120023703A (en) * 2009-06-01 2012-03-13 후지쯔 가부시끼가이샤 Server control program, control server, virtual server distribution method
JP2011170787A (en) * 2010-02-22 2011-09-01 Nippon Telegraph & Telephone West Corp Device, method and control program for allocating resource
JP2011186701A (en) * 2010-03-08 2011-09-22 Nec Corp Resource allocation apparatus, resource allocation method and resource allocation program
JP2012159928A (en) * 2011-01-31 2012-08-23 Internatl Business Mach Corp <Ibm> Information processing device, information processing system, arrangement configuration determination method, and program and recording medium therefor
JP2014006739A (en) * 2012-06-25 2014-01-16 Fujitsu Ltd Program, management server and virtual machine migration control method
KR101867487B1 (en) * 2016-12-23 2018-07-18 경희대학교 산학협력단 System and method of migration based fuzzy in cloud environment

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102403625B1 (en) * 2021-10-15 2022-05-30 오케스트로 주식회사 A virtual machine placement system implementing predictive management of virtual machinges in consideration of physical server performance degradation and a method of virtual machine placement
KR102403632B1 (en) * 2021-10-15 2022-05-30 오케스트로 주식회사 A virtual machine placement system implementing predictive migration of virtual machines considering hot spots and a method of virtual machine placement
KR102381570B1 (en) * 2021-10-21 2022-04-01 오케스트로 주식회사 A virtaul machine placement system providng a deployment schedule reflecting uncertainty in forecasting and a method of virtaul machine placement
KR102470086B1 (en) * 2021-10-28 2022-11-23 오케스트로 주식회사 A virtual machine placement system avoiding sla violation and a method of virtual machine placement
KR102470081B1 (en) * 2021-10-28 2022-11-23 오케스트로 주식회사 A virtual machine placement system based on light sizing and a virtual machine placement method using the same
KR102469718B1 (en) * 2021-10-29 2022-11-22 오케스트로 주식회사 A virtual machine placement system with anomaly monitoring function

Similar Documents

Publication Publication Date Title
KR102135208B1 (en) Virtual machine placement method using scheduling and virtual machine placement device implementing the same
CN106716365B (en) Heterogeneous thread scheduling
Paya et al. Energy-aware load balancing and application scaling for the cloud ecosystem
Ala’Anzy et al. Load balancing and server consolidation in cloud computing environments: a meta-study
Farahnakian et al. Using ant colony system to consolidate VMs for green cloud computing
US8489744B2 (en) Selecting a host from a host cluster for live migration of a virtual machine
US11088961B2 (en) Monitoring data streams and scaling computing resources based on the data streams
Strunk et al. Does live migration of virtual machines cost energy?
US8694638B2 (en) Selecting a host from a host cluster to run a virtual machine
EP2614436B1 (en) Controlled automatic healing of data-center services
KR102109088B1 (en) Calculation method of vitual machine prediction workload and prediction device implementing the same
US11403088B2 (en) Upgrade of hosts hosting application units of a container-based application based on analysis of the historical workload pattern of the cluster
KR102062157B1 (en) Vitual machine placement method and virtual machine placement device implementing the same
Ferdaus et al. Energy-aware virtual machine consolidation in IaaS cloud computing
KR20130019698A (en) Method for optimizing resource by using migration based on user&#39;s scheduler
KR102347375B1 (en) Virtual machine workload prediction method based on multiple prediction models
Dargie et al. Energy-aware service execution
Al Shayeji et al. An energy-aware virtual machine migration algorithm
KR102135209B1 (en) Virtual machine placement simulation method and virtual machine placement simulation device implementing the same
US10540202B1 (en) Transient sharing of available SAN compute capability
KR102126434B1 (en) Vitual machine placement method through workload prediction using deep learning and virtual machine placement device implementing the same
KR102316749B1 (en) Virtual machine workload prediction method, virtual machine placement method and virtual machine placement device implementing the same
US11656914B2 (en) Anticipating future resource consumption based on user sessions
CN111930516A (en) Load balancing method and related device
CN111782147A (en) Method and apparatus for cluster scale-up

Legal Events

Date Code Title Description
A107 Divisional application of patent
A107 Divisional application of patent
GRNT Written decision to grant