KR101959055B1 - Cloud-to-Cloud migration of multiple virtual machines - Google Patents

Cloud-to-Cloud migration of multiple virtual machines Download PDF

Info

Publication number
KR101959055B1
KR101959055B1 KR1020170128518A KR20170128518A KR101959055B1 KR 101959055 B1 KR101959055 B1 KR 101959055B1 KR 1020170128518 A KR1020170128518 A KR 1020170128518A KR 20170128518 A KR20170128518 A KR 20170128518A KR 101959055 B1 KR101959055 B1 KR 101959055B1
Authority
KR
South Korea
Prior art keywords
virtual machines
virtual machine
migration
cloud
service
Prior art date
Application number
KR1020170128518A
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 KR1020170128518A priority Critical patent/KR101959055B1/en
Application granted granted Critical
Publication of KR101959055B1 publication Critical patent/KR101959055B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Disclosed is a method for migration of virtual machines. According to one embodiment of the present invention, the method comprises the steps of: monitoring traffic between virtual machines; analyzing dependencies between the virtual machines based on a result of monitoring traffic; determining a cloud-to-cloud migration order of clouds of the virtual machines based on a result of analyzing the dependencies; and performing the cloud-to-cloud migration of the virtual machines according to the determined migration order of the virtual machines.

Description

멀티 가상 머신의 클라우드간 마이그레이션{Cloud-to-Cloud migration of multiple virtual machines}Cloud-to-Cloud migration of multiple virtual machines

본 발명은 클라우드간 가상 머신의 마이그레이션 방법에 관한 것이다. 구체적으로, 가상 머신들간의 관계에 근거하여 서비스다운 시간을 최소로 하기 위한 가상 머신의 마이그레이션 방법에 관한 것이다.The present invention relates to a method of migrating a virtual machine between clouds. More particularly, the present invention relates to a migration method of a virtual machine for minimizing a service down time based on a relationship between virtual machines.

클라우딩 컴퓨팅의 복잡성 증가에 따라 가상화(virtualization)은 시스템의 효율적이고 유연한 관리를 위해 중요한 기술이 되고 있다. 가상화를 통해 하나의 물리적 서버 내에서 향상된 컴퓨터 성능과 네트워크 리소스를 갖춘 멀티 가상 머신 및 가상 네트워크를 생성할 수 있다. 따라서, 클라우드 자원을 고객에게 임대하는 클라우드 호스팅 서비스는 클라우드에서 고객의 다양한 애플리케이션을 실행하는데 점점 더 널리 사용되고 있다. 클라우드에 배포된 응용프로그램을 사용하면 사용자가 컴퓨터 또는 모바일 장치를 사용하고 어느 위치에서나 다양한 서비스에 액세스 할 수 있다.As the complexity of cloud computing increases, virtualization becomes an important technology for efficient and flexible management of the system. Virtualization allows you to create multiple virtual machines and virtual networks with enhanced computer performance and network resources within a single physical server. Thus, cloud hosting services, which lease cloud resources to customers, are becoming increasingly popular in the cloud to run a variety of customer applications. Applications deployed in the cloud allow users to use computers or mobile devices and access a variety of services from anywhere.

오늘날, 가상 머신(virtual machine, VM)이 호스팅하는 대부분의 서비스는 다중 계층 아키텍쳐를 기반으로 한다. 그리고 서비스 요구사항에 따라 각 계층은 복수의 가상 머신으로 구성된다. 일반적으로 특정의 서비스를 제공하기 위해서는 복수의 협력 가상 머신이 필요하다.Today, most services hosted by virtual machines (VMs) are based on a multi-tiered architecture. And each layer consists of multiple virtual machines according to service requirements. Generally, a plurality of collaborative virtual machines are required to provide a specific service.

따라서, 클라우드-클라우드간 마이그레이션 중에 여러 가상 머신들간의 종속성을 고려할 필요가 있다. 하나의 서비스를 구성하는 복수의 가상 머신 중 하나가 마이그레이션을 위해 중지되면, 해당 마이그레이션이 포함된 서비스를 사용자가 사용할 수 없다. 그리고 해당 서비스의 이용 불가 상태는 서비스에 포함되는 모든 협력 가상 머신의 마이그레이션이 완료될 때까지 지속된다. Therefore, it is necessary to consider dependencies between multiple virtual machines during a cloud-to-cloud migration. When one of a plurality of virtual machines constituting one service is stopped for migration, the service including the migration can not be used by the user. The unavailable state of the service continues until the migration of all cooperative virtual machines included in the service is completed.

클라우드간 가상머신 마이그레이션에 있어서, 서비스 중단 시간을 최소화할 수 있는 가상머신 마이그레이션 방법을 제안한다.We propose a virtual machine migration method that can minimize service downtime in virtual machine migration between clouds.

본 발명의 일 실시 예에 다른 가상머신 마이그레이션 방법은, 가상머신들간의 트래픽을 모니터링하는 단계, 상기 트래픽 모니터링 결과에 기초하여 가상머신들간의 종속성을 분석하는 단계, 상기 종속성 분석 결과에 기초하여 가상머신의 클라우드간 마이그레이션 순서를 결정하는 단계 및 상기 결정된 가상머신 마이그레이션 순서에 따라 클라우드간 가상머신 마이그레이션을 수행하는 단계를 포함한다.According to another aspect of the present invention, there is provided a virtual machine migration method including: monitoring traffic between virtual machines; analyzing dependencies between virtual machines based on the traffic monitoring result; Determining a cloud-to-cloud migration order of the virtual machines, and performing virtual-to-cloud machine migration according to the determined virtual machine migration order.

본 발명의 일 실시 예에 따른 가상머신 마이그레이션 방법을 이용하여 서비스 중단 시간을 최소화하여 클라우드간 가상머신 마이그레이션을 수행할 수 있다.The virtual machine migration method according to an embodiment of the present invention can minimize the service interruption time and perform the virtual machine migration between clouds.

도 1은 본 발명의 일 실시 예에 따른 가상머신 마이그레이션을 개략적으로 나타낸다.
도 2는 서비스 아키텍쳐의 일 예를 나타낸다.
도 3은 도 2에 도시된 서비스에 속한 가상머신의 마이크레이션 순서에 대한 두 가지 케이스를 나타낸다.
도 4는 도 3에 도시된 각 케이스 별 서비스 중단 시간을 나타낸다.
도 5는 가상머신들간 종속성을 찾아 각각의 가상머신 그룹으로 식별하는 과정을 나타내는 개념도이다.
도 6은 서브 그룹에서 마이그레이션 순서를 찾은 일 실시 예를 나타낸다.
도 7은 본 발명의 일 실시 예에 따른 클라우드간 가상머신 마이그레이션 시스템의 동작 방법을 나타내는 흐름도이다.
도 8은 본 발명의 일 실시 예에 따른 가상머신 마이그레이션 방법과, 기존의 방법간의 서비스 중단 시간을 비교한 그래프이다.
1 schematically illustrates a virtual machine migration according to an embodiment of the present invention.
Figure 2 shows an example of a service architecture.
FIG. 3 shows two cases of a microprocessing sequence of a virtual machine belonging to the service shown in FIG.
FIG. 4 shows the service interruption time for each case shown in FIG.
5 is a conceptual diagram illustrating a process of finding dependencies between virtual machines and identifying virtual machines as respective virtual machine groups.
FIG. 6 shows an embodiment in which a migration order is found in a subgroup.
FIG. 7 is a flowchart illustrating an operation method of a virtual machine migration system between clouds according to an embodiment of the present invention.
FIG. 8 is a graph comparing service interruption times between a method of migrating a virtual machine according to an embodiment of the present invention and an existing method.

이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 그러나 본 발명의 사상은 이하의 실시예에 제한되지 아니하며, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에 포함되는 다른 실시예를 구성요소의 부가, 변경, 삭제, 및 추가 등에 의해서 용이하게 제안할 수 있을 것이나, 이 또한 본 발명 사상의 범위 내에 포함된다고 할 것이다. Hereinafter, specific embodiments of the present invention will be described in detail with reference to the drawings. It should be understood, however, that there is no intention to limit the invention to the embodiments described below, and that those skilled in the art, upon reading and understanding the spirit of the invention, It is to be understood that this is also included within the scope of the present invention.

첨부 도면은 발명의 사상을 이해하기 쉽게 표현하기 위하여 전체적인 구조를 설명함에 있어서는 미소한 부분은 구체적으로 표현하지 않을 수도 있고, 미소한 부분을 설명함에 있어서는 전체적인 구조는 구체적으로 반영되지 않을 수도 있다. 또한, 설치 위치 등 구체적인 부분이 다르더라도 그 작용이 동일한 경우에는 동일한 명칭을 부여함으로써, 이해의 편의를 높일 수 있도록 한다. 또한, 동일한 구성이 복수 개가 있을 때에는 어느 하나의 구성에 대해서만 설명하고 다른 구성에 대해서는 동일한 설명이 적용되는 것으로 하고 그 설명을 생략한다. The accompanying drawings are merely exemplary and are not to be construed as limiting the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Further, even if specific parts such as installation positions are different, the same names are given when the functions are the same, so that the convenience of understanding can be improved. When there are a plurality of identical configurations, only one configuration will be described, and the same description will be applied to the other configurations, and a description thereof will be omitted.

도 1은 본 발명의 일 실시 예에 따른 가상머신 마이그레이션을 개략적으로 나타낸다.1 schematically illustrates a virtual machine migration according to an embodiment of the present invention.

상술한 바와 같이, 가상머신 마이그레이션 중 서비스 중단 시간을 줄이기 위한 방법을 이하에서 설명한다. 서비스 중단 시간을 줄이는데 도움이되는 중요한 요소 중 하나는 여러 가상머신의 마이그레이션 순서이다. 일부 가상머신이 동일한 서비스에 속하는 경우, 서비스 중단 시간을 줄이기 위해 동일한 서비스에 속하는 가상머신들을 짧은 시간안에 함께 마이그레이션하도록 스케줄하는 것이 바람직하다.As described above, a method for reducing service interruption time during virtual machine migration will be described below. One of the important factors that helps to reduce service downtime is the migration order of multiple virtual machines. If some virtual machines belong to the same service, it is desirable to schedule the virtual machines belonging to the same service to migrate together in a short time to reduce service downtime.

그러나, 클라우드 운영자가 서비스 배포의 복잡성으로 인해 가상머신들 간의 종속성을 판단하기 어려울 수 있다. 따라서 가상머신의 마이그레이션 순서를 결정하는 문제는 중요한 문제가 된다. 이하에서는 임의의 가상머신이 어떤 서비스에 속해있는지 알려지지 않은 경우, 복수의 가상머신들간 마이그레이션 순서를 결정하는 방법을 설명한다.However, cloud operators may find it difficult to determine the dependencies between virtual machines due to the complexity of service deployment. Therefore, the problem of determining the migration order of virtual machines becomes an important issue. Hereinafter, a method for determining a migration order between a plurality of virtual machines will be described in the case where it is unknown which virtual machine belongs to which service.

도 1에 도시된 바와 같이, 가상머신 간의 트래픽을 그래픽으로 표시하여 종속 가상머신을 판단한다. 그리고, 그래프 이론을 기반으로 가상머신간의 종속성을 분석하여 클라우드-클라우드간 마이그레이션 순서를 결정합니다.As shown in FIG. 1, the traffic between virtual machines is graphically displayed to determine a dependent virtual machine. It then analyzes the dependencies between virtual machines based on graph theory to determine the order of cloud-to-cloud migration.

도 2는 서비스 아키텍쳐의 일 예를 나타낸다.Figure 2 shows an example of a service architecture.

도 2에 도시된 바와 같이, 클라우드의 대부분의 서비스는 다중 계층 아키텍쳐를 기반으로 한다. 서비스의 다중 계층 아키텍쳐는 데이터 엑세스가 여러 수준으로 분리되어야 한다는 원칙에 기반한다. 또한, 서비스의 다중 계층 아키텍처는 보통 프론트 엔드, 비즈니스 로직 및 백엔드의 세가지 계층으로 구성된다. 서비스 요구 사항에 따라 각 계층은 복수의 가상머신으로 구성될 수 있다.As shown in FIG. 2, most of the services of the cloud are based on a multi-tier architecture. The multi-tiered architecture of services is based on the principle that data access must be separated at several levels. In addition, the multi-tiered architecture of the service usually consists of three layers: the front-end, the business logic and the back-end. Depending on service requirements, each tier can be composed of multiple virtual machines.

서비스가 제대로 작동하기 위해서는 서비스에 속한 모든 가상머신이 함께 실행되어야 한다. 그러나, 가상머신을 중지하지 않고 마이그레이션을 수행하는 것은 불가능하다. 따라서, 클라우드-클라우드간 마이그레이션은 클라우드에서 실행되는 서비스에 영향을 준다. 서비스의 다른 가상머신이 실행중인 경우에도 서비스의 첫번째 가상머신이 중지되면, 서비스를 사용할 수 없다. 따라서, 클라우드-클라우드간 마이그레이션으로 인한 서비스 중단 시간은 원본 클라우드에서 첫번째 가상머신이 중지된 시점과 대상 클라우드에서 마지막 가상머신이 재시작되는 시점 사이의 기간으로 측정된다.For a service to function properly, all virtual machines belonging to the service must be running together. However, it is impossible to perform the migration without stopping the virtual machine. Therefore, cloud-to-cloud migration affects services running in the cloud. If the first virtual machine of the service is stopped even if another virtual machine of the service is running, the service can not be used. Therefore, service downtime due to cloud-to-cloud migration is measured as the time between when the first virtual machine stopped in the original cloud and when the last virtual machine was restarted in the target cloud.

도 3은 도 2에 도시된 서비스에 속한 가상머신의 마이그레이션 순서에 대한 두 가지 케이스를 나타낸다. 서비스 중단 시간은 가상머신의 마이그레이션 순서에 따라 달라진다. 예를 들어, 도 3(b)에 도시된 바와 같이, 1 부터 11까지 인덱싱된 순서로 마이그레이션이 수행되는 경우, 서비스 1의 총 중단시간은 가상머신 1이 클라우드 A에서 중지되는 시간으로부터 가상머신 8이 클라우드 B에서 재시작하는 시간까지의 기간이다. 따라서 총 11개의 가상머신이 마이그레이션되어야 서비스 A의 재시작이 가능해진다.FIG. 3 shows two cases of a migration procedure of a virtual machine belonging to the service shown in FIG. Service downtime depends on the virtual machine's migration order. For example, as shown in FIG. 3 (b), when the migration is performed in the indexed order from 1 to 11, the total downtime of the service 1 is calculated from the time when the virtual machine 1 stops at the cloud A to the virtual machine 8 This is the period from the cloud B to the restarting time. Therefore, a total of 11 virtual machines must be migrated before service A can be restarted.

반면에, 도 3(a)에 도시된 바와 같이 동일한 서비스에 속하는 가상머신을 묶어 순차적으로 마이그레이션하는 경우(예를 들어 1 -> 3 -> 4 -> 7 -> 8 -> 2 …) 서비스 1은 5개의 가상머신이 클라우드 B로 마이그레이션 되면 바로 재시작된다.On the other hand, when the virtual machines belonging to the same service are grouped and migrated sequentially as shown in FIG. 3 (a) (for example, 1 -> 3 -> 4 -> 7 -> 8 -> 2 ...) Will be restarted as soon as the five virtual machines are migrated to CloudB.

도 4는 도 3에 도시된 각 케이스 별 서비스 중단 시간을 나타낸다. 도 4에 도시된 바와 같이, 케이스 2에 비하여 케이스 1의 서비스 중단시간이 짧은 것을 확인할 수 있다. 따라서, 가상머신의 마이그레이션에서 같은 서비스를 구성하는 가상머신들을 그룹화하여 마이그레이션하는 것이 서비스 중단 시간면에서 유리한것으로 판단할 수 있다.FIG. 4 shows the service interruption time for each case shown in FIG. As shown in Fig. 4, it can be seen that the service interruption time of the case 1 is shorter than that of the case 2. Fig. Therefore, it can be judged that grouping and migrating virtual machines constituting the same service in the virtual machine migration is advantageous in terms of service interruption time.

도 5는 가상머신들간 종속성을 찾아 각각의 가상머신 그룹으로 식별하는 과정을 나타내는 개념도이다.5 is a conceptual diagram illustrating a process of finding dependencies between virtual machines and identifying virtual machines as respective virtual machine groups.

서비스를 실행하면, 동일한 서비스에 해당하는 가상 머신들간에 데이터 트래픽이 생성된다. 또한 동일한 서비스에 해당하지 않는 일부 가상머신들은 서로 의존하기 때문에 클라우드의 가상머신간에 데이터 트래픽을 생성할 수 있다. 이러한 과정에서 가상머신 쌍이 데이터 트래픽이 있는 경우 해당 가상머신들간에 종속성이 있는 것으로 판단할 수 있다. When the service is executed, data traffic is generated between virtual machines corresponding to the same service. In addition, some virtual machines that are not part of the same service depend on each other, so data traffic can be created between virtual machines in the cloud. In this process, if the virtual machine pair has data traffic, it can be determined that there is a dependency between the virtual machines.

도 5(a)에서 알 수 있듯이, 가상머신들간의 종속성에 기반한 분리가능한 서브 그룹을 식별하는 것은 어렵다. 따라서, 서브 그룹의 식별을 위해 검색알고리즘을 이용해 도 5(b)에 도시된 서브 그래프로 나눈다.As can be seen in Figure 5 (a), it is difficult to identify a detachable subgroup based on dependencies between virtual machines. Therefore, the subgraph is divided into the subgraph shown in FIG. 5 (b) using the search algorithm for identifying the subgroup.

트래픽에 기반하여 분류된 그룹에는 하나 이상의 서비스에 포함되는 가상머신이 있을 수 있다. 예를 들어 제1 가상머신이 제1 서브그룹에 속하며, 제1 가상머신은 제1 서비스에 포함되는 동시에 제2 서비스에도 포함될 수 있다. 하나의 서브 그룹에 있는 모든 가상머신이 동일한 서비스에 포함되는 경우, 서브 그룹에서 가상머신의 마이그레이션 순서는 서비스 중단 시간의 차이를 만들지 않는다.A group classified based on traffic may have a virtual machine included in one or more services. For example, the first virtual machine belongs to the first sub-group, and the first virtual machine can be included in the first service and also included in the second service. If all virtual machines in a subgroup are included in the same service, the migration order of the virtual machines in the subgroup does not make a difference in service downtime.

그러나, 동일한 서브 그룹의 가상머신이 둘 이상의 서비스에 포함되는 경우, 동일한 서비스에 해당하는 가상머신이 연속적으로 마이그레이션되지 않을 수 있다. 따라서, 이를 해결하기 위해 본 발명에서 제안하는 알고리즘은 동일한 서비스에 포함되는 가상머신이 동일한 서비스에 포함되지 않는 가상머신과 비교하여 높은 통신 종속성을 가짐을 가정한다. 이를 바탕으로 이하 도 6에서 도시하는바와 같이 동일한 서브 그룹에서 가상머신의 마이그레이션 순서를 결정하기 위한 일 방법을 설명한다.However, if the same subgroup of virtual machines is included in more than one service, the virtual machines corresponding to the same service may not be continuously migrated. To solve this problem, it is assumed that the virtual machine included in the same service has a higher communication dependency than the virtual machine not included in the same service. 6, a method for determining a migration order of a virtual machine in the same subgroup will be described.

도 6은 서브 그룹에서 마이그레이션 순서를 찾은 일 실시 예를 나타낸다.FIG. 6 shows an embodiment in which a migration order is found in a subgroup.

마이그레이션 순서 결정은 다음의 세 단계로 이루어진다.Determining the migration order consists of the following three steps:

1) 트래픽 강도에 반비례하는 새 가중치를 분리된 서브 그래프의 모든 에지 가중치에 할당한다.1) Allocate a new weight inversely proportional to the traffic strength to all edge weights of the separate subgraphs.

2) 임의의 가상머신을 루트 노드로 선택한다.2) Select any virtual machine as the root node.

3) 루트 노드에서 시작하여 prim 알고리즘을 사용하여 마이그레이션 순서를 결정한다.3) Start at the root node and use the prim algorithm to determine the migration order.

Prim 알고리즘을 이용하여 마이그레이션 순서(minimum spanning tree, MST)를 찾는 과정은 도 6의 세번째 그래프에 도시되어 있다. Prim 알고리즘은 가중치가 적용된 무방향 그래프에 대한 MST를 판단한다. 즉, 트래픽 강도에 반비례하는 새로운 가중치에 기초하여 임의의 선택된 노드에서 시작하여 트리에서 가능한한 가장 가중치가 낮은 연결을 갖는 노드를 추가하는 방식으로 마이그레이션의 순서를 결정한다.The process of finding the minimum spanning tree (MST) using the Prim algorithm is shown in the third graph of FIG. The Prim algorithm determines the MST for a weightless applied directional graph. That is, the order of migration is determined in such a way that starting from any selected node based on the new weight inversely proportional to the traffic strength, and adding the node with the lowest weighted connection possible in the tree.

서브 그래프의 새로운 가중치는 트래픽 강도에 반비례하도록 설정되기 때문에, 동일한 서비스에 해당하는 가상머신들간의 가중치가 다른 서비스에 해당하는 가상머신들간의 가중치보다 작다. 따라서, prim 알고리즘은 먼저 동일한 서비스에 해당하는 가상머신을 찾은 후, 다른 서비스에 해당하는 다른 가상머신으로 이동한다. 따라서, prim 알고리즘이 MST를 찾는 순서에 따라 마이그레이션 순서가 결정된다.Since the new weight of the subgraph is set to be inversely proportional to the traffic intensity, the weight between virtual machines corresponding to the same service is smaller than the weight between virtual machines corresponding to other services. Therefore, the prim algorithm first finds a virtual machine corresponding to the same service, and then moves to another virtual machine corresponding to another service. Therefore, the migration order is determined according to the order in which the prim algorithm finds the MST.

도 7은 본 발명의 일 실시 예에 따른 클라우드간 가상머신 마이그레이션 시스템의 동작 방법을 나타내는 흐름도이다.FIG. 7 is a flowchart illustrating an operation method of a virtual machine migration system between clouds according to an embodiment of the present invention.

본 발명의 일 실시 예에 따른 클라우드간 가상머신 마이그레이션 시스템은 가성머신들간의 트래픽을 모니터링한다(S10). 상술한 바와 같이, 서로간에 종속성이 있을 확률이 높은 가상머신들간에는 트래픽 데이터가 많을 것이라는 전제하에서 가상머신들간의 트래픽을 모니터링한다.The inter-cloud virtual machine migration system according to an embodiment of the present invention monitors traffic between the spammers (S10). As described above, traffic between virtual machines is monitored on the assumption that there is a large amount of traffic data among virtual machines having a high probability of being dependent on each other.

클라우드간 가상머신 마이그레이션 시스템은 모니터링한 트래픽에 기초하여 가상머신들간의 종속성을 분석한다(S20). 가상머신들간 트래픽이 많을수록 해당 가상머신들간의 종속성이 있는 것으로 판단할 수 있다. 따라서, 클라우드간 가상머신 마이그레이션 시스템은 가상머신들간의 종속성을 트래픽 데이터에 기초하여 판단하고, 분석한 종속성에 기초하여 각 가상머신들을 분리가능한 그룹으로 나누어 식별할 수 있다. 그리고, 클라우드간 가상머신 마이그레이션 시스템은 분리가능한 가상머신 그룹을 서브 그래프로 표현하여 그들간의 연결관계를 표시할 수 있다.The cross-cloud virtual machine migration system analyzes the dependency between the virtual machines based on the monitored traffic (S20). As the traffic between virtual machines increases, it can be determined that there is a dependency between the virtual machines. Accordingly, the inter-cloud virtual machine migration system can determine the dependency between the virtual machines based on the traffic data, and identify each virtual machine by dividing each virtual machine into detachable groups based on the analyzed dependency. In addition, a virtual machine migration system between clouds can represent detachable virtual machine groups as a subgraph to indicate a connection relationship therebetween.

클라우드간 가상머신 마이그레이션 시스템은 종속성 분석 결과에 기초하여 가상머신의 마이그레이션 순서를 결정한다(S30). 일 실시 예에서, 가상머신의 마이그레이션 순서 결정 방법은 Prim 알고리즘에 따라 MST를 찾는 방법일 수 있다. 구체적으로, 1) 트래픽 강도에 반비례하는 새 가중치를 분리된 서브 그래프의 모든 에지 가중치에 할당하고, 2) 임의의 정점을 루트 노드로 선택하고, 3) 선택된 루트 노드에서 시작하여 prim 알고리즘을 사용하여 마이그레이션 순서를 결정할 수 있다.The cross-cloud virtual machine migration system determines the migration order of virtual machines based on the result of dependency analysis (S30). In one embodiment, the method of determining the migration order of the virtual machine may be a method of locating the MST according to the Prim algorithm. Specifically, we assign 1) a new weight inversely proportional to the traffic strength to all edge weights of a separate subgraph, 2) select any vertices as the root node, 3) start at the selected root node, You can determine the migration order.

클라우드간 가상머신 마이그레이션 시스템은 결정된 가상머신의 마이그레이션 순서에 따라 클라우드간 가상머신 마이그레이션을 수행한다. 단계 S30에서 결정된 마이그레이션 순서에 따르면 서비스 중단 시간을 최대한 줄일 수 있다.The cross-cloud virtual machine migration system performs virtual machine migration between clouds according to the migration order of the determined virtual machines. According to the migration order determined in step S30, the service interruption time can be minimized.

도 8은 본 발명의 일 실시 예에 따른 가상머신 마이그레이션 방법과, 기존의 방법간의 서비스 중단 시간을 비교한 그래프이다.FIG. 8 is a graph comparing service interruption times between a method of migrating a virtual machine according to an embodiment of the present invention and an existing method.

도 8의 (a)는 일반적인 방법을 통해 가상머신 마이그레이션을 수행하는 경우 서비스 중단 시간을 나타내고, (b)는 본 발명에서 제안하는 가상머신 마이그레이션 방법에 따른 서비스 중단 시간을 나타낸다. (a)에 도시된 바와 같이, 기존의 방법에 따라 가상머신 마이그레이션을 수행하는 경우, 서비스 1은 741초 중단되는 것을 확인할 수 있다. 반면에 (b)에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 가상머신 마이그레이션을 수행하는 경우 서비스 1이 315초 중단되는 것을 확인할 수 있다. 다른 서비스의 경우에도 서비스 1과 마찬가지로 서비스 중단시간이 줄어드는 것을 확인할 수 있다.FIG. 8A shows a service interruption time when a virtual machine migration is performed through a general method, and FIG. 8B shows a service interruption time according to a virtual machine migration method proposed in the present invention. As shown in (a), when the virtual machine migration is performed according to the existing method, it can be confirmed that the service 1 is stopped for 741 seconds. On the other hand, as shown in (b), when the virtual machine migration according to the embodiment of the present invention is performed, it can be confirmed that the service 1 is interrupted for 315 seconds. As with Service 1, it can be seen that service downtime is reduced even for other services.

전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는 단말기의 제어부(180)를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.The present invention described above can be embodied as computer-readable codes on a medium on which a program is recorded. The computer readable medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of the computer readable medium include a hard disk drive (HDD), a solid state disk (SSD), a silicon disk drive (SDD), a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, , And may also be implemented in the form of a carrier wave (e.g., transmission over the Internet). Also, the computer may include a control unit 180 of the terminal. Accordingly, the above description should not be construed in a limiting sense in all respects and should be considered illustrative. The scope of the present invention should be determined by rational interpretation of the appended claims, and all changes within the scope of equivalents of the present invention are included in the scope of the present invention.

Claims (4)

클라우드간 가상머신을 마이그레이션하기 위한 시스템의 동작 방법에 있어서,
하나 이상의 서비스를 호스팅하는 가상머신들간의 트래픽을 모니터링하는 단계;
상기 트래픽 모니터링 결과에 기초하여 가상머신들간의 종속성을 분석하는 단계;
상기 종속성 분석 결과에 기초하여 동일한 서비스에 속하는 가상머신이 연속되도록 가상머신의 클라우드간 마이그레이션 순서를 결정하는 단계; 및
상기 결정된 가상머신 마이그레이션 순서에 따라 클라우드간 가상머신 마이그레이션을 수행하는 단계를 포함하고,
상기 동일한 서비스에 속하는 가상머신들 중 어느 하나의 가상머신이 마이그레이션을 위해 중지되면, 상기 동일한 서비스가 중단되고,
상기 마이그레이션 순서를 결정하는 단계는,
상기 종속성 분석 결과에 기초하여 복수의 가상머신 중 같은 서비스를 구성하는 가상머신들을 그룹화 하고, 상기 복수의 가상머신 중 일부 가상머신들이 동일한 서비스에 속하는 경우 상기 동일한 서비스에 속하는 일부 가상머신들을 묶어 순차적으로 마이그레이션하도록 스케쥴링 하는
시스템의 동작 방법.
A method of operating a system for migrating a virtual machine between clouds,
Monitoring traffic between virtual machines hosting one or more services;
Analyzing dependencies between virtual machines based on the traffic monitoring result;
Determining a virtual machine's inter-cloud migration order such that virtual machines belonging to the same service are continuous based on the dependency analysis result; And
And performing a cross-cloud virtual machine migration according to the determined virtual machine migration order,
If any one of the virtual machines belonging to the same service is stopped for migration, the same service is stopped,
Wherein the step of determining the migration order comprises:
Grouping virtual machines constituting the same service among a plurality of virtual machines based on the result of the dependency analysis, and if some of the virtual machines belong to the same service, grouping some virtual machines belonging to the same service and sequentially Scheduling to Migrate
Method of operation of the system.
제 1 항에 있어서,
가상머신들간의 트래픽을 모니터링하는 단계는,
서비스를 실행하는 중에 생성되는 가상머신들간의 트래픽 데이터에 기초하여 가상머신들간 트래픽을 모니터링하는 단계를 포함하는
시스템의 동작 방법.
The method according to claim 1,
Wherein monitoring the traffic between virtual machines comprises:
Monitoring traffic between virtual machines based on traffic data between virtual machines created during execution of the service
Method of operation of the system.
제 1 항에 있어서,
상기 종속성 분석 결과에 기초하여 가상머신 마이그레이션 순서를 결정하는 단계는,
분석된 가상머신들간의 종속성에 따라 복수의 서브 그룹으로 가상머신을 분류하는 단계;
분류된 서브 그룹에 포함된 가상머신의 모든 에지에 트래픽 강도에 반비례하는 가중치를 할당하는 단계;
임의의 가상머신을 루트 노드로 선택하는 단계; 및
선택된 루트 노드에서 시작하여 minimum spanning tree를 찾는 단계를 포함하는
시스템의 동작 방법.
The method according to claim 1,
Wherein the step of determining a virtual machine migration order based on the dependency analysis result comprises:
Classifying the virtual machines into a plurality of subgroups according to the dependencies between the analyzed virtual machines;
Assigning a weight in inverse proportion to the traffic intensity to all edges of the virtual machine included in the classified subgroup;
Selecting an arbitrary virtual machine as a root node; And
Starting with the selected root node and finding a minimum spanning tree
Method of operation of the system.
제 3 항에 있어서,
상기 minimum spanning tree를 찾는 단계는 prim 알고리즘을 통해 수행되는
시스템의 동작 방법.
The method of claim 3,
The step of finding the minimum spanning tree is performed through the prim algorithm
Method of operation of the system.
KR1020170128518A 2017-10-02 2017-10-02 Cloud-to-Cloud migration of multiple virtual machines KR101959055B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170128518A KR101959055B1 (en) 2017-10-02 2017-10-02 Cloud-to-Cloud migration of multiple virtual machines

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170128518A KR101959055B1 (en) 2017-10-02 2017-10-02 Cloud-to-Cloud migration of multiple virtual machines

Publications (1)

Publication Number Publication Date
KR101959055B1 true KR101959055B1 (en) 2019-07-04

Family

ID=67259309

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170128518A KR101959055B1 (en) 2017-10-02 2017-10-02 Cloud-to-Cloud migration of multiple virtual machines

Country Status (1)

Country Link
KR (1) KR101959055B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799785A (en) * 2021-02-01 2021-05-14 糖纸伞科技有限公司 Virtual machine cluster migration method, device, equipment and medium
KR20230020052A (en) * 2021-08-02 2023-02-10 주식회사 이노그리드 Multi-cloud service method and system using failure prediction by artificial intelligence and big data platform
KR20230020641A (en) 2021-08-04 2023-02-13 주식회사 이노그리드 Timeline-based cloud data migration method and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130198355A1 (en) * 2012-01-31 2013-08-01 International Business Machines Corporation Interconnecting data centers for migration of virtual machines
US20140325036A1 (en) * 2013-04-29 2014-10-30 Telefonaktiebolaget L M Ericsson (Publ) Defining Disjoint Node Groups for Virtual Machines with Pre-Existing Placement Policies
KR20150131817A (en) * 2014-05-16 2015-11-25 한국전자통신연구원 Method and appratus for replacing location of virtual machine on virtual network
KR101578177B1 (en) * 2014-09-12 2015-12-16 성균관대학교산학협력단 Method and system for migration based on resource utilization rate in cloud computing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130198355A1 (en) * 2012-01-31 2013-08-01 International Business Machines Corporation Interconnecting data centers for migration of virtual machines
US20140325036A1 (en) * 2013-04-29 2014-10-30 Telefonaktiebolaget L M Ericsson (Publ) Defining Disjoint Node Groups for Virtual Machines with Pre-Existing Placement Policies
KR20150131817A (en) * 2014-05-16 2015-11-25 한국전자통신연구원 Method and appratus for replacing location of virtual machine on virtual network
KR101578177B1 (en) * 2014-09-12 2015-12-16 성균관대학교산학협력단 Method and system for migration based on resource utilization rate in cloud computing

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799785A (en) * 2021-02-01 2021-05-14 糖纸伞科技有限公司 Virtual machine cluster migration method, device, equipment and medium
KR20230020052A (en) * 2021-08-02 2023-02-10 주식회사 이노그리드 Multi-cloud service method and system using failure prediction by artificial intelligence and big data platform
KR102614848B1 (en) * 2021-08-02 2023-12-20 주식회사 이노그리드 Multi-cloud service method and system using failure prediction by artificial intelligence and big data platform
KR20230020641A (en) 2021-08-04 2023-02-13 주식회사 이노그리드 Timeline-based cloud data migration method and system

Similar Documents

Publication Publication Date Title
US11048560B2 (en) Replication management for expandable infrastructures
EP3803596B1 (en) Automatic cluster consolidation for efficient resource management
US11431788B2 (en) Pairwise comparison and migration of workloads for load balancing
US10162669B2 (en) Dynamic relocation of applications in a cloud application service model
US10474488B2 (en) Configuration of a cluster of hosts in virtualized computing environments
US10977086B2 (en) Workload placement and balancing within a containerized infrastructure
US10891168B2 (en) Automatically scaling up physical resources in a computing infrastructure
US10666516B2 (en) Constraint-based virtual network function placement
US10956230B2 (en) Workload placement with forecast
US9465635B2 (en) System and method for managing a virtualized computing environment
US8423646B2 (en) Network-aware virtual machine migration in datacenters
JP5352890B2 (en) Computer system operation management method, computer system, and computer-readable medium storing program
US10747581B2 (en) Virtual machine migration between software defined storage systems
US11755385B2 (en) Cross-cluster load balancer
CN116560846A (en) Resource oversubscription based on utilization patterns in computing systems
US11126461B2 (en) Techniques for container scheduling in a virtual environment
US10949765B2 (en) Automated inference of evidence from log information
KR101959055B1 (en) Cloud-to-Cloud migration of multiple virtual machines
US10725810B2 (en) Migrating virtualized computing instances that implement a logical multi-node application
KR102076626B1 (en) a virtual machine replacement method in cloud computing system
US11677814B1 (en) Systems and methods for cloud topology management during deployment of virtual applications
US11579942B2 (en) VGPU scheduling policy-aware migration