KR102248443B1 - Method and system for supporting survice movement - Google Patents
Method and system for supporting survice movement Download PDFInfo
- Publication number
- KR102248443B1 KR102248443B1 KR1020190129761A KR20190129761A KR102248443B1 KR 102248443 B1 KR102248443 B1 KR 102248443B1 KR 1020190129761 A KR1020190129761 A KR 1020190129761A KR 20190129761 A KR20190129761 A KR 20190129761A KR 102248443 B1 KR102248443 B1 KR 102248443B1
- Authority
- KR
- South Korea
- Prior art keywords
- service
- node device
- work node
- work
- movement
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/301—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Abstract
서비스 이동 지원을 위한 방법 및 시스템이 개시된다. 일 실시예에 따른 서비스 이동 지원을 위한 방법은, 작업 노드 장치에서 수행중인 서비스가 상기 서비스의 자원 사용량 및 상기 서비스를 위한 최소 자원 요구량을 비교하는 단계와, 상기 서비스가 상기 비교 결과에 기초하여 상기 서비스의 이동을 위한 서비스 이동 요청 메시지를 생성하는 단계와, 상기 작업 노드 장치의 서비스 관리자가 상기 서비스 이동 요청 메시지에 응답하여 상기 서비스를 이동할 다른 작업 노드 장치에 대한 목적지 노드 요청 메시지를 생성하는 단계와, 상기 서비스 관리자가 상기 목적지 노드 요청 메시지를 작업 노드 장치들을 관리하는 마스터 노드 장치로 전송하는 단계를 포함한다.A method and system for supporting service movement are disclosed. A method for supporting service movement according to an embodiment includes the steps of comparing a resource usage of the service and a minimum resource request amount for the service by a service being performed in a work node device, and the service is determined based on the comparison result. Generating a service movement request message for moving a service, and generating a destination node request message for another work node device to which the service is to be moved in response to the service movement request message by a service manager of the work node device; and And transmitting, by the service manager, the destination node request message to a master node device that manages work node devices.
Description
아래 실시예들은 서비스 이동 지원을 위한 방법 및 시스템에 관한 것이다.The following embodiments relate to a method and system for supporting service movement.
클라우드 컴퓨팅은 인터넷을 통하여 원격지의 컴퓨팅 자원을 사용하고, 사용한 만큼 비용을 지불하는 형태의 컴퓨팅 방식이다. 사용자는 필요한 컴퓨팅 자원의 종류와 양을 선택하고, 클라우드 공급자는 요청된 컴퓨팅 자원만큼 프로비저닝(provisioning) 하여 사용자에게 컴퓨팅 환경을 제공한다.Cloud computing is a form of computing that uses remote computing resources through the Internet and pays for what they use. The user selects the type and amount of required computing resources, and the cloud provider provides a computing environment to the user by provisioning as much as the requested computing resources.
클라우드 컴퓨팅 환경에서는 가상화 기술을 통해 컴퓨팅 자원을 분할하여 단일 노드 상에 복수의 서비스들을 운용할 수 있다. 클라우드 컴퓨팅 환경에서 복수의 서비스들 각각은 가상 머신이나 컨테이너 기반의 독립된 환경으로 구성된다.In a cloud computing environment, a plurality of services can be operated on a single node by dividing computing resources through virtualization technology. In a cloud computing environment, each of a plurality of services is configured as an independent environment based on a virtual machine or container.
클라우드 컴퓨팅 환경에서의 서비스 품질은 서비스가 사용하는 자원량에 영향을 받는다. 서비스는 여러 작업이 포함될 수 있으며, 서비스의 작업 내용이나 수행 단계에 따라 서비스가 사용하는 자원의 종류나 필요한 자원의 양이 다를 수 있다.The quality of service in a cloud computing environment is affected by the amount of resources used by the service. A service may include several tasks, and the type of resources used by the service or the amount of resources required may differ depending on the task content or execution stage of the service.
클라우드 공급자는 사용자와 일정 수준 이상의 서비스를 제공한다는 내용의 서비스 수준 협약을 맺는다. 기존 클라우드 플랫폼에서 제공하는 서비스 수준 협약의 경우 서버의 운용 시간이나 API 요청에 따른 응답률, I/O 성공률 등 서버의 가용성 측면에 집중된 경향이 있다. 이는 서비스가 클라우드 서버에서 동작한다는 것은 보장할 수 있지만, 실제로 서비스의 응용 수준에서의 품질을 보장한다고 할 수는 없다.The cloud provider enters into a service level agreement with users to provide a certain level of service. In the case of service level agreements provided by existing cloud platforms, there is a tendency to focus on server availability, such as server operation time, response rate according to API requests, and I/O success rate. This can guarantee that the service operates on the cloud server, but it cannot be said to guarantee the quality at the application level of the service.
클라우드 공급자는 사용자가 선택한 자원 요구 사항을 수용할 수 있는 노드를 선정해 자원을 할당한다. 원칙적으로, 서비스의 요구 사항보다 자원이 부족한 노드에는 서비스를 할당할 수 없다. 하지만, 클라우드 공급자는 노드에서 운영되는 서비스들이 동시에 최대치의 자원을 요구하지 않는다는 가정 하에 서비스를 할당한다. 즉, 클라우드 공급자는 노드의 효율성을 높이기 위해 노드의 총 컴퓨팅 자원량을 조금 상회하도록 서비스를 할당한다. 이러한 경우, 노드의 상황에 따라 서비스들 간에 성능 간섭이 발생하거나 전체 서비스들이 요구한 자원의 총 합이 노드의 가용 자원을 상회하여 서비스의 품질을 보장하지 못할 가능성이 있다.The cloud provider allocates resources by selecting a node that can accommodate the resource requirements selected by the user. In principle, services cannot be allocated to nodes that have less resources than the service requirements. However, the cloud provider allocates services under the assumption that the services operated in the node do not require the maximum amount of resources at the same time. In other words, the cloud provider allocates services to slightly exceed the total amount of computing resources of the node in order to increase the efficiency of the node. In this case, there is a possibility that performance interference may occur between services depending on the situation of the node, or the total sum of resources requested by all services exceeds the available resources of the node, and thus the quality of service may not be guaranteed.
기존의 클라우드 컴퓨팅 플랫폼의 경우 부하가 있는 서비스를 대상으로 스케일 인/아웃을 통해 서비스를 확장하거나 다른 노드로 서비스를 이동하여 동작하도록 지원하고 있다. 기존의 클라우드 컴퓨팅 플랫폼은 부하가 있는 서비스가 충분한 자원을 확보할 수 있도록 지원하지만 서비스를 이동하거나 확장하는 과정에서 다른 서비스에 영향을 줄 수 있는 가능성이 있다. 따라서, 범용적인 서비스 품질 보장을 위해 특정 서비스가 많은 자원을 사용할 때 다른 서비스가 서비스 품질을 만족하는지 확인할 필요가 있다. 결과적으로, 동적으로 상황이 변하는 클라우드 컴퓨팅 환경에서 서비스가 품질 보장에 필요한 최소한의 자원을 사용할 수 있도록 지원하는 방법이 필요하다.In the case of the existing cloud computing platform, the service is expanded through scale-in/out for a service with a load, or the service is moved to another node to operate. Existing cloud computing platforms support services under load to secure enough resources, but there is a possibility that other services may be affected in the process of moving or expanding services. Therefore, in order to guarantee general service quality, it is necessary to check whether another service satisfies the service quality when a specific service uses many resources. As a result, there is a need for a method of supporting services to use the minimum resources necessary for quality assurance in a cloud computing environment that dynamically changes circumstances.
하지만, 서비스의 품질을 만족하기 위한 최소한의 컴퓨팅 자원 정보는 서비스를 개발하는 서비스 제공자만이 알 수 있다. 그러므로 클라우드 관리자가 각 서비스의 최소 자원 요구량을 파악하여 자원을 조정하는 방식으로 응용 수준의 서비스 품질을 보장하기에는 어려움이 있다.However, only the service provider who develops the service can know the minimum computing resource information for satisfying the quality of service. Therefore, it is difficult for the cloud administrator to ensure the service quality at the application level by adjusting the resources by grasping the minimum resource requirements of each service.
실시예들은 서비스에서 직접 서비스의 자원 사용량을 확인하고, 자원 사용량이 최소 자원 요구량에 미치지 못하는 경우 서비스가 다른 작업 노드 장치로 이동을 요청함으로써, 클라우드 컴퓨팅 환경에서 수행되는 서비스의 품질을 유지할 수 있다.In embodiments, the service directly checks the resource usage of the service, and when the resource usage does not meet the minimum resource requirement, the service requests the movement to another work node device, thereby maintaining the quality of the service performed in the cloud computing environment.
일 실시예에 따른 서비스 이동 지원을 위한 방법은, 작업 노드 장치에서 수행중인 서비스가 상기 서비스의 자원 사용량 및 상기 서비스를 위한 최소 자원 요구량을 비교하는 단계와, 상기 서비스가 상기 비교 결과에 기초하여 상기 서비스의 이동을 위한 서비스 이동 요청 메시지를 생성하는 단계와, 상기 작업 노드 장치의 서비스 관리자가 상기 서비스 이동 요청 메시지에 응답하여 상기 서비스를 이동할 다른 작업 노드 장치에 대한 목적지 노드 요청 메시지를 생성하는 단계와, 상기 서비스 관리자가 상기 목적지 노드 요청 메시지를 작업 노드 장치들을 관리하는 마스터 노드 장치로 전송하는 단계를 포함한다.A method for supporting service movement according to an embodiment includes the steps of comparing a resource usage of the service and a minimum resource request amount for the service by a service being performed in a work node device, and the service is determined based on the comparison result. Generating a service movement request message for moving a service, and generating a destination node request message for another work node device to which the service is to be moved in response to the service movement request message by a service manager of the work node device; and And transmitting, by the service manager, the destination node request message to a master node device that manages work node devices.
상기 방법은, 상기 서비스 관리자가 상기 마스터 노드 장치로부터 상기 목적지 노드 요청 메시지에 응답하여 전송된 서비스 복구 메시지에 응답하여 상기 서비스를 복구하는 단계를 더 포함할 수 있다.The method may further include, by the service manager, restoring the service in response to a service restoration message transmitted in response to the destination node request message from the master node device.
상기 방법은, 상기 서비스 관리자가 상기 서비스 이동 요청 메시지에 응답하여 상기 서비스를 상기 마스터 노드 장치가 관리하는 작업 노드 장치들이 공유하는 공유 볼륨에 저장하는 단계를 더 포함할 수 있다.The method may further include storing the service in a shared volume shared by work node devices managed by the master node device in response to the service movement request message by the service manager.
상기 저장하는 단계는, 상기 서비스를 상기 작업 노드 장치에서 수행된 지점에 이어 상기 다른 작업 노드 장치에서 상기 수행된 지점부터 재수행하기 위한 체크포인트를 저장하는 단계를 포함할 수 있다.The storing may include storing a checkpoint for re-performing the service from the point performed by the other work node device following the point performed by the work node device.
상기 복구하는 단계는, 상기 마스터 노드 장치로부터 상기 서비스 복구 메시지를 수신하는 단계와, 상기 서비스 복구 메시지에 응답하여 상기 공유 볼륨에 저장된 서비스를 상기 체크포인트에 따라 복구하는 단계를 포함할 수 있다.The restoring may include receiving the service restoration message from the master node device, and restoring a service stored in the shared volume according to the checkpoint in response to the service restoration message.
상기 서비스 복구 메시지는, 상기 마스터 노드 장치가 상기 목적지 노드 요청 메시지에 응답하여 상기 마스터 노드 장치가 관리하는 작업 노드 장치들 중에서 어느 하나를 선택한 경우 생성되고, 상기 어느 하나에 전송될 수 있다.The service recovery message may be generated when the master node device selects any one of the work node devices managed by the master node device in response to the destination node request message, and may be transmitted to any one of the operation node devices.
상기 서비스 복구 메시지는, 상기 마스터 노드 장치가 상기 최소 자원 요구량 및 상기 마스터 노드 장치가 관리하는 작업 노드 장치들의 사용 가능한 자원 정보를 수신하고, 상기 최소 자원 요구량 및 상기 사용 가능한 자원 정보에 기초하여 상기 마스터 노드 장치가 관리하는 작업 노드 장치들 중에서 어느 하나를 선택한 경우 생성될 수 있다.In the service recovery message, the master node device receives the minimum resource request amount and available resource information of work node devices managed by the master node device, and the master node device receives the minimum resource request amount and the available resource information. It can be created when any one of the work node devices managed by the node device is selected.
상기 비교하는 단계는, 상기 서비스가 상기 자원 사용량을 검사하는 단계;The comparing may include checking, by the service, the resource usage;
상기 자원 사용량을 이용하여 상기 서비스가 사용중인 복수의 자원들을 각각 계산하는 단계와, 상기 서비스가 사용중인 복수의 자원들 간의 관계에 기초하여 상기 서비스에 필요한 상기 복수의 자원들 각각의 필요량을 계산하는 단계와, 상기 필요량을 상기 최소 자원 요구량에 적용하는 단계를 포함할 수 있다.Calculating a plurality of resources being used by the service using the resource usage, and calculating a required amount of each of the plurality of resources required for the service based on a relationship between the plurality of resources being used by the service And applying the required amount to the minimum resource requirement.
상기 방법은, 상기 서비스 관리자가 사용자의 요청에 의해 컨테이너가 생성된 상기 서비스를 등록하는 단계를 더 포함할 수 있다.The method may further include the step of registering, by the service manager, the service for which a container has been created at the request of a user.
상기 방법은, 상기 서비스 관리자가 상기 서비스의 수행이 종료되면 상기 서비스를 등록 해제하는 단계를 더 포함할 수 있다.The method may further include the step of deregistering the service when the service manager ends the execution of the service.
일 실시예에 따른 작업 노드 장치는, 서비스 이동 지원을 위한 인스트럭션들을 저장하는 메모리와, 상기 인스트럭션들을 실행하기 위한 프로세서를 포함하고, 상기 프로세서는, 서비스의 자원 사용량 및 상기 서비스를 위한 최소 자원 요구량을 비교하고, 상기 비교 결과에 기초하여 상기 서비스의 이동을 위한 서비스 이동 요청 메시지를 생성하는 서비스와, 상기 서비스 이동 요청 메시지에 응답하여 상기 서비스를 이동할 다른 작업 노드 장치에 대한 목적지 노드 요청 메시지를 생성하고, 상기 목적지 노드 요청 메시지를 작업 노드 장치들을 관리하는 마스터 노드 장치로 전송하는 서비스 관리자를 실행한다.A work node device according to an embodiment includes a memory for storing instructions for supporting service movement, and a processor for executing the instructions, and the processor includes a resource usage of a service and a minimum resource requirement for the service. Compare and generate a service for generating a service movement request message for moving the service based on the comparison result, and a destination node request message for another work node device to which the service is to be moved in response to the service movement request message, and , Executes a service manager that transmits the destination node request message to a master node device that manages work node devices.
상기 서비스 관리자는, 상기 마스터 노드 장치로부터 상기 목적지 노드 요청 메시지에 응답하여 전송된 서비스 복구 메시지에 응답하여 상기 서비스를 복구할 수 있다.The service manager may restore the service in response to a service restoration message transmitted in response to the destination node request message from the master node device.
상기 서비스 관리자는, 상기 서비스 이동 요청 메시지에 응답하여 상기 서비스를 상기 마스터 노드 장치가 관리하는 작업 노드 장치들이 공유하는 공유 볼륨에 저장할 수 있다.The service manager may store the service in a shared volume shared by work node devices managed by the master node device in response to the service movement request message.
상기 서비스 관리자는, 상기 서비스를 상기 작업 노드 장치에서 수행된 지점에 이어 상기 다른 작업 노드 장치에서 상기 수행된 지점부터 재수행하기 위한 체크포인트를 저장할 수 있다.The service manager may store a checkpoint for re-performing the service from a point performed by the work node device and then from a point performed by the other work node device.
상기 서비스 관리자는, 상기 마스터 노드 장치로부터 상기 서비스 복구 메시지를 수신하고, 상기 서비스 복구 메시지에 응답하여 상기 공유 볼륨에 저장된 서비스를 상기 체크포인트에 따라 복구할 수 있다.The service manager may receive the service recovery message from the master node device and restore a service stored in the shared volume according to the checkpoint in response to the service recovery message.
상기 서비스 복구 메시지는, 상기 마스터 노드 장치가 상기 목적지 노드 요청 메시지에 응답하여 상기 마스터 노드 장치가 관리하는 작업 노드 장치들 중에서 어느 하나를 선택한 경우 생성되고, 상기 어느 하나에 전송될 수 있다.The service recovery message may be generated when the master node device selects any one of the work node devices managed by the master node device in response to the destination node request message, and may be transmitted to any one of the operation node devices.
상기 서비스 복구 메시지는, 상기 마스터 노드 장치가 상기 최소 자원 요구량 및 상기 마스터 노드 장치가 관리하는 작업 노드 장치들의 사용 가능한 자원 정보를 수신하고, 상기 최소 자원 요구량 및 상기 사용 가능한 자원 정보에 기초하여 상기 마스터 노드 장치가 관리하는 작업 노드 장치들 중에서 어느 하나를 선택한 경우 생성될 수 있다.In the service recovery message, the master node device receives the minimum resource request amount and available resource information of work node devices managed by the master node device, and the master node device receives the minimum resource request amount and the available resource information. It can be created when any one of the work node devices managed by the node device is selected.
상기 서비스는, 상기 자원 사용량을 검사하고, 상기 자원 사용량을 이용하여 상기 서비스가 사용중인 복수의 자원들 각각을 계산하고, 상기 서비스가 사용중인 복수의 자원들 간의 관계에 기초하여 상기 서비스에 필요한 상기 복수의 자원들 각각의 필요량을 계산하고, 상기 필요량을 상기 최소 자원 요구량에 적용할 수 있다.The service checks the resource usage, calculates each of a plurality of resources being used by the service using the resource usage, and the service required for the service based on a relationship between a plurality of resources being used by the service. A required amount of each of a plurality of resources may be calculated, and the required amount may be applied to the minimum resource required amount.
상기 서비스 관리자는, 사용자의 요청에 의해 컨테이너가 생성된 상기 서비스를 등록할 수 있다.The service manager may register the service for which the container was created at the request of a user.
상기 서비스 관리자는, 상기 서비스의 수행이 종료되면 상기 서비스를 등록 해제할 수 있다.The service manager may deregister the service when execution of the service is terminated.
도 1은 일 실시예에 따른 서비스 이동 지원을 위한 시스템을 나타낸 도면이다.
도 2는 도 1에 도시된 작업 노드 장치를 개략적으로 나타낸 도면이다.
도 3은 도 2에 도시된 프로세서를 개략적으로 나타낸 도면이다.
도 4는 도 3에 도시된 서비스를 개략적으로 나타낸 도면이다.
도 5는 도 3에 도시된 서비스 관리자를 개략적으로 나타낸 도면이다.
도 6은 도 4에 도시된 자원 검사 모듈의 동작을 상세하게 설명하기 위한 순서도이다.
도 7은 도 1에 도시된 마스터 노드 장치를 개략적으로 나타낸 도면이다.
도 8은 도 7에 도시된 노드 관리자를 개략적으로 나타낸 도면이다.
도 9는 서비스 이동 지원을 위한 시스템의 전체 동작을 설명하기 위한 순서도이다.1 is a diagram illustrating a system for supporting service movement according to an embodiment.
FIG. 2 is a diagram schematically illustrating a work node device illustrated in FIG. 1.
FIG. 3 is a schematic diagram of the processor shown in FIG. 2.
FIG. 4 is a diagram schematically illustrating the service shown in FIG. 3.
5 is a diagram schematically illustrating the service manager shown in FIG. 3.
6 is a flowchart for explaining in detail the operation of the resource check module shown in FIG. 4.
7 is a diagram schematically illustrating a master node device shown in FIG. 1.
FIG. 8 is a diagram schematically illustrating the node manager shown in FIG. 7.
9 is a flowchart illustrating the overall operation of a system for supporting service movement.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, since various changes may be made to the embodiments, the scope of the patent application is not limited or limited by these embodiments. It is to be understood that all changes, equivalents, or substitutes to the embodiments are included in the scope of the rights.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used for illustrative purposes only and should not be construed as limiting. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present specification, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof does not preclude in advance.
제1 또는 제2등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해서 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 실시예의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various elements, but the elements should not be limited by terms. The terms are only for the purpose of distinguishing one component from other components, for example, without departing from the scope of rights according to the concept of the embodiment, the first component may be named as the second component, and similarly The second component may also be referred to as a first component.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiment belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in the present application. Does not.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same reference numerals are assigned to the same components regardless of the reference numerals, and redundant descriptions thereof will be omitted. In describing the embodiments, when it is determined that a detailed description of related known technologies may unnecessarily obscure the subject matter of the embodiments, the detailed description thereof will be omitted.
본 명세서에서의 모듈(module)은 본 명세서에서 설명되는 각 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 특정 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예를 들어 프로세서 또는 마이크로 프로세서를 의미할 수 있다.A module in the present specification may mean hardware capable of performing functions and operations according to each name described in the present specification, or may mean a computer program code capable of performing a specific function and operation. Or, it may mean an electronic recording medium, for example, a processor or a microprocessor in which a computer program code capable of performing a specific function and operation is mounted.
다시 말해, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.In other words, a module may mean a functional and/or structural combination of hardware for performing the technical idea of the present invention and/or software for driving the hardware.
도 1은 일 실시예에 따른 서비스 이동 지원을 위한 시스템을 나타낸 도면이다.1 is a diagram illustrating a system for supporting service movement according to an embodiment.
서비스 이동 지원을 위한 시스템(10)은 작업 노드 장치(100) 및 마스터 노드 장치(200)를 포함한다.The
서비스 이동 지원을 위한 시스템(10)은 클라우드 컴퓨팅 운용 환경에서 동일한 작업 노드 장치 상에 동작하는 복수의 서비스들 간의 간섭 상황이나 작업 노드 장치의 가용 자원이 부족한 상황이 발생하는 경우, 응용 수준에서 서비스 품질을 유지할 수 있다. 즉, 서비스 이동 지원을 위한 시스템(10)은 서비스 스스로 서비스 품질을 유지할 수 없다고 판단하는 경우 서비스가 수행되는 작업 노드 장치의 변경을 요청함으로써, 서비스가 품질을 유지할 수 있는 자원을 확보하고 동작할 수 있다.The
작업 노드 장치(100)는 수행되는 복수의 서비스들 중에서 자원을 많이 사용하는 어느 하나 이상의 서비스들로 인하여 다른 하나 이상의 서비스들이 수행되는데 영향을 받는 경우, 다른 하나 이상의 서비스들을 다른 작업 노드 장치로 이동시킬 수 있다. 작업 노드 장치(100)는 다른 하나 이상의 서비스들을 다른 작업 노드 장치로 이동시키기 위하여 마스터 노드 장치(200)로 목적지 노드 요청 메시지를 전송할 수 있다.The
작업 노드 장치(100)는 마스터 노드 장치(200)로부터 전송되는 서비스 복구 메시지에 응답하여 다른 하나 이상의 서비스들을 복구하여 수행할 수 있다. 복구한다는 것은 작업 노드 장치(100)가 이동된 서비스들을 이동되기 전까지 수행된 지점에 이어 재수행할 수 있다는 것을 의미할 수 있다. 예를 들어, 작업 노드 장치(100)는 이동된 서비스들이 이동되기 전 30% 지점까지 작업이 수행된 경우, 30% 지점에서부터 다시 서비스를 재수행할 수 있다.The
작업 노드 장치(100)는 복수의 작업 노드 장치들(100-1 내지 100-n)을 포함할 수 있다. 작업 노드 장치들(100-1 내지 100-n)은 각각이 작업 노드 장치(100)와 동일한 동작을 수행할 수 있다.The
마스터 노드 장치(200)는 작업 노드 장치들(100-1 내지 100-n)을 관리할 수 있다. 마스터 노드 장치(200)는 작업 노드 장치들(100-1 내지 100-n) 각각의 자원 사용량에 기초하여 서비스가 이동할 작업 노드 장치(100)를 선택할 수 있다.The
마스터 노드 장치(200)는 작업 노드 장치들(100-1 내지 100-n) 중에서 어느 하나로부터 목적지 노드 요청 메시지를 수신할 수 있다. 마스터 노드 장치(200)는 목적지 노드 요청 메시지에 응답하여 마스터 노드 장치(200)가 관리하는 작업 노드 장치들(100-1 내지 100-n) 중에서 서비스의 품질을 보장할 수 있는 다른 하나를 선택할 수 있다. 마스터 노드 장치(200)는 작업 노드 장치들(100-1 내지 100-n) 중에서 다른 하나를 선택한 경우 서비스 복구 메시지를 생성할 수 있다.The
예를 들어, 마스터 노드 장치(200)는 서비스가 필요로 하는 최소 자원 요구량 및 작업 노드 장치들(100-1 내지 100-n)의 사용 가능한 자원 정보를 수신할 수 있다. 마스터 노드 장치(200)는 서비스가 필요로 하는 최소 자원 요구량 및 작업 노드 장치들(100-1 내지 100-n)의 사용 가능한 자원 정보에 기초하여 작업 노드 장치들(100-1 내지 100-n) 중에서 다른 하나를 선택한 경우 서비스 복구 메시지를 생성할 수 있다.For example, the
마스터 노드 장치(200)는 작업 노드 장치들(100-1 내지 100-n) 중에서 선택한 작업 노드 장치로 서비스 복구 메시지를 전송할 수 있다.The
도 2는 도 1에 도시된 작업 노드 장치를 개략적으로 나타낸 도면이고, 도 3은 프로세서를 개략적으로 나타낸 도면이다.FIG. 2 is a diagram schematically illustrating a work node device illustrated in FIG. 1, and FIG. 3 is a diagram schematically illustrating a processor.
작업 노드 장치(100)는 프로세서(110), 및 메모리(150)를 포함할 수 있다.The
프로세서(110)는 중앙처리장치, 어플리케이션 프로세서, 또는 커뮤니케이션 프로세서(communication processor) 중 하나 또는 그 이상을 포함할 수 있다.The
프로세서(110)는 작업 노드 장치(100)의 적어도 하나의 다른 구성요소들의 제어에 관한 연산이나 데이터 처리를 실행할 수 있다. 예를 들어, 프로세서(110)는 메모리(150)에 저장된 어플리케이션 및/또는 소프트웨어 등(예를 들어, 서비스 및 서비스 관리자)을 실행할 수 있다.The
프로세서(110)는 수신한 데이터 및 메모리(250)에 저장된 데이터를 처리할 수 있다. 프로세서(110)는 메모리(150)에 저장된 데이터를 처리할 수 있다. 프로세서(110)는 메모리(150)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(110)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.The
프로세서(110)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.The
예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.For example, a data processing device implemented in hardware is a microprocessor, a central processing unit, a processor core, a multi-core processor, and a multiprocessor. , Application-Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA).
메모리(150)는 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(150)는, 작업 노드 장치(100)의 적어도 하나의 다른 구성요소에 관계된 명령 및/또는 데이터를 저장할 수 있다.The
메모리(510)는 소프트웨어(software) 및/또는 프로그램(program) 등을 저장할 수 있다. 예를 들어, 메모리(150)는 서비스 이동 지원을 위한 어플리케이션 및 소프트 웨어 등(예를 들어, 서비스 및 서비스 관리자)을 저장할 수 있다.The memory 510 may store software and/or a program. For example, the
프로세서(110)는 서비스(111) 및 서비스 관리자(115)를 실행할 수 있다.The
서비스(111)는 서비스(111)의 자원 사용량을 검사할 수 있다. 서비스(111)는 자원 사용량을 이용하여 서비스(111)가 사용중인 복수의 자원들을 각각 계산할 수 있다. 예를 들어, 서비스(111)가 사용중인 복수의 자원들은 CPU 사용량, 메모리 사용량, 스토리지 사용량, 네트워크 사용량 등일 수 있다. 서비스(111)는 서비스(111)가 사용중인 복수의 자원들 간의 관계에 기초하여 서비스(111)에 필요한 복수의 자원들 각각의 필요량을 계산할 수 있다. 서비스(111)는 필요량을 최소 자원 요구량에 적용할 수 있다.The
서비스(111)는 서비스(111)의 자원 사용량 및 서비스(111)를 위한 최소 자원 요구량을 비교할 수 있다. 서비스(111)는 비교 결과에 기초하여 서비스(111)의 이동을 위한 서비스 이동 요청 메시지를 생성할 수 있다. 예를 들어, 서비스(111)는 자원 사용량이 최소 자원 요구량 이하인 경우, 서비스 이동 요청 메시지를 생성할 수 있다. 서비스(111)는 작업 노드 장치(100)에서 복수개가 수행될 수 있다.The
서비스(111)는 서비스 이동 요청 메시지를 서비스 관리자(115)로 전송할 수 있다.The
서비스 관리자(115)는 사용자의 요청에 의해 컨테이너가 생성된 서비스(111)를 등록할 수 있다.The
서비스 관리자(115)는 서비스 이동 요청 메시지에 응답하여 서비스(111)를 이동할 다른 작업 노드 장치에 대한 목적지 노드 요청 메시지를 생성할 수 있다. 즉, 목적지 노드 요청 메시지는 마스터 노드 장치(200)에게 서비스 이동 요청 메시지를 생성한 서비스가 이동할 다른 작업 노드 장치(100)를 요청하는 메시지일 수 있다.The
서비스 관리자(115)는 목적지 노드 요청 메시지를 작업 노드 장치들(100-1 내지 100-n)을 관리하는 마스터 노드 장치(200)로 전송할 수 있다.The
서비스 관리자(115)는 서비스 이동 요청 메시지에 응답하여 서비스(111)를 마스터 노드 장치(200)가 관리하는 작업 노드 장치들(100-1 내지 100-n)이 공유하는 공유 볼륨에 저장할 수 있다. 서비스 관리자(115)는 서비스(111)를 수행된 지점에 이어 다른 작업 노드 장치에서 수행된 지점부터 재수행하기 위한 체크포인트를 저장할 수 있다.The
서비스 관리자(115)는 마스터 노드 장치(200)로부터 목적지 노드 요청 메시지에 응답하여 전송된 서비스 복구 메시지에 응답하여 서비스(111)를 복구할 수 있다. 서비스 관리자(115)는 마스터 노드 장치(200)로부터 서비스 복구 메시지를 수신할 수 있다. 서비스 관리자(115)는 서비스 복구 메시지에 응답하여 공유 볼륨에 저장된 서비스를 체크포인트에 따라 복구할 수 있다.The
서비스 관리자(115)는 서비스(115)의 수행이 종료되면 서비스(111)를 등록 해제할 수 있다.The
도 4는 도 3에 도시된 서비스를 개략적으로 나타낸 도면이다.FIG. 4 is a diagram schematically illustrating the service shown in FIG. 3.
서비스(111)는 전처리 모듈(1111), 자원 검사 모듈(1113) 및 서비스 수행 모듈(1115)을 포함할 수 있다.The
전처리 모듈(1111)은 서비스(111)를 서비스 관리자(115)에 등록하고 서비스 컨테이너의 정보를 전송할 수 있다. 전처리 모듈(1111)은 서비스(111)의 자원 사용량 검사를 수행하는 자원 검사 모듈(1113)을 스레드로 생성할 수 있다. 전처리 모듈(1111)은 자원 검사 모듈(1113)이 생성되면 서비스 수행 모듈(1115)을 활성화시켜 서비스(111)가 수행될 수 있도록 동작할 수 있다.The
자원 검사 모듈(1113)은 서비스 제공자가 서비스 품질 만족을 위해 정한 서비스(111)의 최소 자원 요구량을 기반으로 서비스(111)가 사용하는 자원 사용량과 비교할 수 있다. 자원 검사 모듈(1113)은 서비스(111)의 현재 자원 사용량이 최소 자원 요구량에 일정 시간 이상 미달하는 경우, 서비스(111)의 품질이 보장되고 있지 않다고 판단할 수 있다.The
자원 검사 모듈(1113)은 서비스의 품질이 보장되고 있지 않은 경우, 서비스 관리자(115)에게 서비스 이동 요청 메시지를 전송할 수 있다. 예를 들어, 서비스 이동 요청 메시지가 증가하여 처리할 작업이 많아지는 경우, 서비스(111)의 품질 만족을 위해 최소 자원 요구량도 증가할 필요가 있다. 이에, 자원 검사 모듈(1113)은 서비스(111)가 사용하는 복수의 자원들 간의 관계에 따라 서비스(111)의 품질 보장을 위해 필요한 복수의 자원들 각각의 필요량을 계산할 수 있다. 자원 검사 모듈(1113)은 복수의 자원들 각각의 필요량을 최소 자원 요구량에 적용할 수 있다. 따라서, 서비스 제공자가 초기에 명시한 최소 자원 요구량은 일정하게 유지되지 않고 처리량(throughoutput)에 따라 최소 자원 요구량이 변경될 수 있다.When the quality of service is not guaranteed, the
서비스 수행 모듈(1115)은 서비스를 수행하는 비즈니스 로직(Business logic)일 수 있다.The
도 5는 도 3에 도시된 서비스 관리자를 개략적으로 나타낸 도면이다.5 is a diagram schematically illustrating the service manager shown in FIG. 3.
서비스 관리자(115)는 관리 모듈(1151), 메시지 처리 모듈(1153), 체크포인트 수행 모듈(1155) 및 공유 볼륨(1157)을 포함할 수 있다.The
관리 모듈(1151)은 서비스(111)의 정보를 관리할 수 있다. 관리 모듈(1151)은 서비스(111)의 등록 요청을 처리하고 키:값 구조로 서비스의 정보를 관리할 수 있다. 즉, 서비스(111)는 컨테이너 단위로 구성되고 작업 노드 장치(100)에 속하기 때문에, 작업 노드 장치(100) 안에서만 구별되면 되므로 컨테이너의 ID를 키 값으로 사용할 수 있다. 키 값은 컨테이너의 정보로, 사용한 이미지 ID, 초기 수행 명령어, 마운트 경로, 할당된 네트워크 주소와 같은 컨테이너 구성 정보를 포함할 수 있다.The
메시지 처리 모듈(1153)은 각 장치가 제공하는 기능을 RESTful API 형태로 공개하고 각 URL 패턴마다 특정한 함수를 호출하는 기능을 수행할 수 있다. 예를 들어, 메시지 처리 모듈(1153)은 서비스(111)나 서비스 관리자(115)로부터 요청 메시지가 발생하는 경우, 요청된 URL 패턴과 일치하는 함수를 호출할 수 있다. 메시지 처리 모듈(1153)은 관련 파라미터들을 URL 패턴 뒤에 JSON 포맷으로 붙여 전송할 수 있다. 관련 파라미터들은 파싱을 거쳐 함수 호출 시 전달될 수 있다.The
체크포인트 수행 모듈(1155)은 서비스(111)로부터 서비스 이동 요청 메시지가 전송되면, 수행중인 서비스(111)의 상태를 저장할 수 있다. 즉, 체크포인트 수행 모듈(1155)은 서비스(111) 및 체크포인트를 공유 볼륨(1157)에 저장할 수 있다.When a service movement request message is transmitted from the
체크포인트 수행 모듈(1155)은 노드 관리자(211)로부터 복구 요청 메시지를 수신하면 저장된 서비스(111)의 상태를 기반으로 서비스(111)를 복구할 수 있다. 체크 포인트 수행 모듈(1155)은 서비스(111)를 복구하는 경우 컨테이너 단위로 체크포인트를 수행할 수 있다. 예를 들어, 체크포인트 된 컨테이너의 상태 정보는 컨테이너 ID의 앞 12자리를 이름으로 가지는 파일로 저장될 수 있다. 이 파일은 모든 작업 노드가 공유할 수 있는 공유 볼륨에 저장될 수 있다. 즉, 체크포인트 수행 모듈(1155)은 서비스(111)를 복구하는 경우 체크포인트된 컨테이너 ID를 기반으로 저장된 파일을 공유 볼륨(1157)으로부터 수신하여 컨테이너 복구를 수행할 수 있다.The
공유 볼륨(1157)은 서비스(111)의 상태를 저장할 수 있다. 즉, 공유 볼륨(1157)은 서비스(111) 및 체크포인트를 저장할 수 있다. 예를 들어, 공유 볼륨(1157)은 작업 노드 장치들(100-1 내지 100-n)이 모두 공유할 수 있다. 공유 볼륨(1157)은 서비스 복구 메시지를 수신한 작업 노드 장치(100)로 서비스(111) 및 체크포인트를 송신할 수 있다.The shared
도 6은 도 4에 도시된 자원 검사 모듈의 동작을 상세하게 설명하기 위한 순서도이다.6 is a flowchart for explaining in detail the operation of the resource check module shown in FIG. 4.
자원 검사 모듈(1113)은 동작이 시작되면 서비스 이동 조건을 판별하기 위하여 필요한 변수를 선언하고 초기화할 수 있다(610). 필요한 변수는 N(샘플 수), CNT(서비스 이동을 판단하기 위한 임계값), 기준자원사용량(서비스를 유지하는데 드는 기본 자원의 양), 상대적자원사용비 값(CPU를 기준으로 다른 자원의 사용비율 값)을 포함할 수 있다. 구체적으로, 기준자원사용량은 동작하는 서비스(111)가 최소한의 서비스 품질을 만족하기 위해 서비스 제공자가 정한 자원 사용량(CPU, 메모리, 네트워크 등)을 의미할 수 있다. 상대적자원사용비는 CPU 사용량 대비 필요한 메모리, 네트워크 자원의 비율을 의미할 수 있다.When the operation starts, the
자원 검사 모듈(1113)은 부모 프로세스 및 자식 프로세스의 CPU 사용량을 총합하여 CUR_RES 변수에 저장할 수 있다(615).The
자원 검사 모듈(1113)은 CUR_RES 값을 평균 값 계산을 위해 RES_LIST 변수에 저장할 수 있다(620).The
자원 검사 모듈(1113)은 RES_LIST 변수에서 최근 N개의 값을 대상으로 이동 평균 필터를 적용해 CPU 사용 평균을 계산하여 SMA_RES 변수에 저장할 수 있다(625). SMA_RES 변수는 현재 서비스의 최근 N개의 값에 대한 평균 CPU 사용량을 의미할 수 있다.The
자원 검사 모듈(1113)은 서비스(111)는 수행하는 작업에 따라 수행 단계 값을 가질 수 있으므로, 수행 단계 값을 서비스의 수행 단계를 나타내는 P 변수에 저장할 수 있다(630).The
자원 검사 모듈(1113)은 SMA_RES 값에서 P 단계의 기준자원사용량 값(CPU 값)을 빼고 차이를 DIFF 변수에 저장할 수 있다(635). DIFF 값은 서비스의 평균 CPU 사용량 값과 P 단계의 서비스가 필요로 하는 CPU 자원 값의 차이를 의미할 수 있다. DIFF 값은 CPU 사용량 차이만 나타내므로 이 차이를 메모리와 네트워크 자원에 반영할 필요가 있다.The
자원 검사 모듈(1113)은 DIFF 값에 수행 단계 P 에서의 상대적자원사용비를 곱하여 최종적으로 반영해야 할 메모리 자원과 네트워크 자원의 비율을 계산할 수 있다. 자원 검사 모듈(1113)은 최종적으로 반영해야 할 메모리 자원과 네트워크 자원의 비율을 APPLY_RATE_LIST 변수에 저장할 수 있다(640).The
자원 검사 모듈(1113)은 APPLY_RATE_LIST 값을 사용하여 P 단계에서 서비스가 CPU 자원을 SMA_RES 만큼 사용할 때 서비스의 품질 보장을 위해 필요한 메모리, 네트워크 자원을 계산할 수 있다. 따라서, 자원 검사 모듈(1113)은 P 단계에서 기준자원사용량에 APPLY_RATE_LIST 값을 곱해 필요한 메모리와 네트워크 자원을 계산할 수 있다.The
자원 검사 모듈(1113)은 SMA_RES 값과 계산된 메모리, 네트워크 자원 값을 MIN_GRT_RES 변수에 저장할 수 있다(645). MIN_GRT_RES 값은 CPU 평균 사용량이 SMA_RES인 서비스의 품질 만족에 필요한 자원의 값을 의미할 수 있다.The
자원 검사 모듈(1113)은 MIN_GRT_RES 값이 서비스 제공자가 정한 기준자원사용량을 초과하는지 여부를 판단할 수 있다(650).The
자원 검사 모듈(1113)은 MIN_GRT_RES 값이 서비스 제공자가 정한 기준자원사용량보다 작다면 MIN_GRT_RES 값에 P 단계일 때의 기준자원사용량을 대입할 수 있다(655).If the MIN_GRT_RES value is smaller than the reference resource usage determined by the service provider, the
자원 검사 모듈(1113)은 MIN_GRT_RES 값이 서비스 제공자가 정한 기준자원사용량보다 크다면 현재 자원 사용량과 MIN_GRT_RES 값을 비교할 수 있다(660).If the MIN_GRT_RES value is greater than the reference resource usage determined by the service provider, the
자원 검사 모듈(1113)은 현재 자원 사용량이 MIN_GRT_RES 값 보다 크다면, CNT 값을 복구하고 검사를 반복 수행할 수 있다(665).If the current resource usage is greater than the MIN_GRT_RES value, the
자원 검사 모듈(1113)은 현재 자원 사용량이 MIN_GRT_RES 값 보다 작다면 CNT가 0보다 큰지 여부를 판단할 수 있다(670).If the current resource usage is less than the MIN_GRT_RES value, the
자원 검사 모듈(1113)은 CNT가 0 보다 크다면 CNT 값을 감소시키고 검사를 반복 수행할 수 있다(675).If the CNT is greater than 0, the
자원 검사 모듈(1113)은 만약 CNT가 0 이하인 경우, 일정 기간 동안 자원을 충분히 사용하지 못해 서비스 품질을 만족할 수 없다고 판단하여 서비스 이동을 요청할 수 있다(680).If the CNT is equal to or less than 0, the
자원 검사 모듈(1113)은 서비스 수행 완료 시점까지 상술한 동작을 반복할 수 있다.The
도 7은 도 1에 도시된 마스터 노드 장치를 개략적으로 나타낸 도면이다.7 is a diagram schematically illustrating a master node device shown in FIG. 1.
마스터 노드 장치(200)는 프로세서(210), 및 메모리(250)를 포함할 수 있다.The
프로세서(210)는 중앙처리장치, 어플리케이션 프로세서, 또는 커뮤니케이션 프로세서(communication processor) 중 하나 또는 그 이상을 포함할 수 있다.The
프로세서(210)는 마스터 노드 장치(200)의 적어도 하나의 다른 구성요소들의 제어에 관한 연산이나 데이터 처리를 실행할 수 있다. 예를 들어, 프로세서(210)는 메모리(250)에 저장된 어플리케이션 및/또는 소프트웨어 등(예를 들어, 노드 관리자)을 실행할 수 있다.The
프로세서(210)는 수신한 데이터 및 메모리(250)에 저장된 데이터를 처리할 수 있다. 프로세서(210)는 메모리(250)에 저장된 데이터를 처리할 수 있다. 프로세서(210)는 메모리(250)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(210)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.The
프로세서(210)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.The
예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.For example, a data processing device implemented in hardware is a microprocessor, a central processing unit, a processor core, a multi-core processor, and a multiprocessor. , Application-Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA).
프로세서(210)는 노드 관리자(211)를 포함할 수 있다. 예를 들어, 프로세서(210)는 노드 관리자(2110)를 실행할 수 있다.The
노드 관리자(211)는 작업 노드 장치들(100-1 내지 100-n)에 관한 정보를 저장할 수 있다. 노드 관리자(211)는 목적지 노드 요청 메시지에 응답하여 서비스 복구 메시지를 전송할 수 있다.The
메모리(250)는 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(250)는, 마스터 노드 장치(200)의 적어도 하나의 다른 구성요소에 관계된 명령 및/또는 데이터를 저장할 수 있다.The
메모리(250)는 소프트웨어(software) 및/또는 프로그램(program) 등을 저장할 수 있다. 예를 들어, 메모리(250)는 작업 노드 장치들(100-1 내지 100-n)의 관리를 위한 어플리케이션 및 소프트웨어 등을 저장할 수 있다.The
도 8은 도 7에 도시된 노드 관리자를 개략적으로 나타낸 도면이다.FIG. 8 is a diagram schematically illustrating the node manager shown in FIG. 7.
노드 관리자(211)는 관리 모듈(2111), 메시지 처리 모듈(2113) 및 노드 선택 모듈(2115)을 포함할 수 있다.The
관리 모듈(2111)은 작업 노드 장치들(100-1 내지 100-n)의 정보를 관리할 수 있다. 관리 모듈(2111)은 작업 노드 장치들(100-1 내지 100-n)의 등록 요청을 처리하고 키:값 구조로 작업 노드 정보를 관리할 수 있다. 예를 들어, 키는 작업 노드 장치들(100-1 내지 100-n)마다 부여되는 고유한 값일 수 있다. 고유한 값은 작업 노드 장치들(100-1 내지 100-n)의 정보로 작업 노드 장치들(100-1 내지 100-n)의 하드웨어 구성 정보와 가용 자원 정보, 네트워크 주소를 포함할 수 있다.The
메시지 처리 모듈(2113)은 메시지 처리 모듈(1153)의 동작과 동일한 동작을 수행할 수 있다. 이에, 메시지 처리 모듈(2113)에 관한 상세한 설명은 생략한다. 메시지 처리 모듈(2113)은 메시지 처리 모듈(1153)과 공개된 RESTful API와 제공하는 기능에 차이가 있을 수 있다.The
노드 선택 모듈(2115)은 목적지 노드 요청 메시지를 수신한 경우 최종적으로 서비스(111)를 작업 노드 장치들(100-1 내지 100-n) 중에서 작업 노드 장치로 이동할지 결정할 수 있다. 노드 선택 모듈(2115)은 서비스(111)의 최소 자원 요구량과 작업 노드 장치들(100-1 내지 100-n)의 자원 사용량을 전송받아 작업 노드 장치들(100-1 내지 100-n) 중에서 서비스(111)가 이동할 작업 노드 장치를 선택할 수 있다. 노드 선택 모듈(2115)은 선택한 작업 노드 장치로 서비스(111)의 복구를 요청하는 서비스 복구 메시지를 전송할 수 있다.When receiving the destination node request message, the
도 9는 서비스 이동 지원을 위한 시스템의 전체 동작을 설명하기 위한 순서도이다. 도 9에서는 설명의 편의를 위해 현재 서비스(111)가 작업 노드 장치(100-1)에서 실행되고 있는 것으로 가정한다.9 is a flowchart illustrating the overall operation of a system for supporting service movement. In FIG. 9, for convenience of description, it is assumed that the
마스터 노드 장치(200)의 노드 관리자(211)가 실행될 수 있다(910). 작업 노드 장치(100)의 서비스 관리자(115)가 수행되어 작업 노드 장치(100-1)를 노드 관리자(211)에 등록할 수 있다(915).The
서비스 관리자(115)는 사용자 요청에 의해 서비스(111)를 위한 컨테이너가 생성되면 서비스(111)를 등록할 수 있다(920).The
서비스(111)는 서비스 관리자(115)에 서비스(111)가 등록되면 자원 검사 스레드를 생성하고 서비스(111)를 수행할 수 있다(925 및 930)When the
서비스(111)는 자원 검사 스레드를 통해 현재 서비스(111)의 자원 사용량을 획득할 수 있다. 서비스(111)는 자원 사용량을 서비스(111)를 위한 최소 자원 요구량과 비교하여 서비스(111)의 이동 여부를 판단할 수 있다(935).The
서비스(111)는 서비스(111)의 이동이 필요하다고 판단하면 서비스 관리자(115)로 서비스 이동 요청 메시지를 전송할 수 있다(940).If the
서비스 관리자(115)는 서비스(111)의 상태를 공유 볼륨(1157)에 저장할 수 있다(945). 서비스 관리자(115)는 노드 관리자(211)에게 서비스 이동 요청 메시지를 전송할 수 있다.The
노드 관리자(211)는 작업 노드 장치들(100-2 내지 100-n) 중에서 서비스(111)를 이동시킬 작업 노드 장치(100)를 선택할 수 있다(950). 노드 관리자(211)는 서비스(111)를 복구할 선택된 작업 노드 장치의 서비스 관리자(115)로 공유 볼륨(1157)에 저장된 서비스에 대하여 복구를 요청하는 서비스 복구 요청 메시지를 전송한다.The
서비스 관리자(115)는 서비스 복구 요청 메시지에 응답하여 공유 볼륨(1157)에 저장된 서비스(111)를 체크포인트에 따라 복구하여 수행할 수 있다(955).The
서비스 관리자(115)는 서비스(111)가 수행이 완료되었는지 여부를 판단할 수 있다(960).The
서비스 관리자(115)는 서비스(111)가 수행이 완료된 경우 서비스(111)를 종료 및 등록 해제할 수 있다(965, 970)When the
서비스 이동 지원을 위한 시스템(10)은 서비스 이동을 위한 조건 만족 시 마다 서비스 이동 요청, 체크포인트 생성, 이동할 작업 노드 장치 선택 및 서비스 복구 과정을 반복하여 수행할 수 있다. 도 9의 순서도는 하나의 서비스에 대한 생성 및 종료 과정으로 노드 관리자(211)와 서비스 관리자(115)는 종료하지 않을 수 있다.The
상술한 바와 같이, 서비스 이동 지원을 위한 시스템(10)은 서비스 간 성능 간섭이나 노드의 가용 자원이 부족한 상황이 발생하더라도 서비스 품질을 위한 최소한의 자원을 서비스가 사용할 수 있도록 보장할 수 있다.As described above, the
서비스 이동 지원을 위한 시스템(10)은 서비스가 다양한 작업을 수행하거나, 수행 단계에 따라 서비스 품질을 만족하기 위한 자원 요구 사항이 변경되더라도 서비스가 수행되는데 필요한 자원을 확보할 수 있다.The
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operation of the embodiment, and vice versa.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to operate as desired or processed independently or collectively. You can command the device. Software and/or data may be interpreted by a processing device or, to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodyed in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited drawings, a person of ordinary skill in the art can apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order from the described method, and/or components such as systems, structures, devices, circuits, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and claims and equivalents fall within the scope of the following claims.
Claims (20)
상기 서비스가 상기 비교 결과에 기초하여 상기 서비스의 이동을 위한 서비스 이동 요청 메시지를 생성하는 단계;
상기 작업 노드 장치의 서비스 관리자가 상기 서비스 이동 요청 메시지에 응답하여 상기 서비스를 이동할 다른 작업 노드 장치에 대한 목적지 노드 요청 메시지를 생성하는 단계; 및
상기 서비스 관리자가 상기 목적지 노드 요청 메시지를 작업 노드 장치들을 관리하는 마스터 노드 장치로 전송하는 단계
를 포함하는, 서비스 이동 지원 방법.
Comparing a resource usage of the service and a minimum resource request amount for the service by a service being performed in the work node device;
Generating, by the service, a service movement request message for movement of the service based on the comparison result;
Generating, by the service manager of the work node device, a destination node request message for another work node device to which the service is to be moved in response to the service movement request message; And
Transmitting, by the service manager, the destination node request message to a master node device that manages work node devices.
Including, the service movement support method.
상기 서비스 관리자가 상기 마스터 노드 장치로부터 상기 목적지 노드 요청 메시지에 응답하여 전송된 서비스 복구 메시지에 응답하여 상기 서비스를 복구하는 단계
를 더 포함하는 서비스 이동 지원 방법.
The method of claim 1,
Restoring, by the service manager, the service in response to a service restoration message transmitted in response to the destination node request message from the master node device.
Service movement support method further comprising a.
상기 서비스 관리자가 상기 서비스 이동 요청 메시지에 응답하여 상기 서비스를 상기 마스터 노드 장치가 관리하는 작업 노드 장치들이 공유하는 공유 볼륨에 저장하는 단계
를 더 포함하는 서비스 이동 지원 방법.
The method of claim 2,
Storing the service in a shared volume shared by work node devices managed by the master node device in response to the service movement request message by the service manager
Service movement support method further comprising a.
상기 저장하는 단계는,
상기 서비스를 상기 작업 노드 장치에서 수행된 지점에 이어 상기 다른 작업 노드 장치에서 상기 수행된 지점부터 재수행하기 위한 체크포인트를 저장하는 단계
를 포함하는 서비스 이동 지원 방법.
The method of claim 3,
The storing step,
Storing a checkpoint for re-performing the service from the point performed by the other work node device following the point performed by the work node device
Service movement support method comprising a.
상기 복구하는 단계는,
상기 마스터 노드 장치로부터 상기 서비스 복구 메시지를 수신하는 단계; 및
상기 서비스 복구 메시지에 응답하여 상기 공유 볼륨에 저장된 서비스를 상기 체크포인트에 따라 복구하는 단계
를 포함하는 서비스 이동 지원 방법.
The method of claim 4,
The recovering step,
Receiving the service recovery message from the master node device; And
Restoring the service stored in the shared volume according to the checkpoint in response to the service restoration message
Service movement support method comprising a.
상기 서비스 복구 메시지는,
상기 마스터 노드 장치가 상기 목적지 노드 요청 메시지에 응답하여 상기 마스터 노드 장치가 관리하는 작업 노드 장치들 중에서 어느 하나를 선택한 경우 생성되고, 상기 어느 하나에 전송되는
서비스 이동 지원 방법.
The method of claim 2,
The service recovery message,
Generated when the master node device selects any one of the work node devices managed by the master node device in response to the destination node request message, and transmitted to any one of the
How to support service mobility.
상기 서비스 복구 메시지는,
상기 마스터 노드 장치가 상기 최소 자원 요구량 및 상기 마스터 노드 장치가 관리하는 작업 노드 장치들의 사용 가능한 자원 정보를 수신하고, 상기 최소 자원 요구량 및 상기 사용 가능한 자원 정보에 기초하여 상기 마스터 노드 장치가 관리하는 작업 노드 장치들 중에서 어느 하나를 선택한 경우 생성되는
서비스 이동 지원 방법.
The method of claim 6,
The service recovery message,
The master node device receives the minimum resource request amount and available resource information of work node devices managed by the master node device, and the master node device manages it based on the minimum resource request amount and the available resource information Generated when any one of the node devices is selected
How to support service mobility.
상기 비교하는 단계는,
상기 서비스가 상기 자원 사용량을 검사하는 단계;
상기 자원 사용량을 이용하여 상기 서비스가 사용중인 복수의 자원들을 계산하는 단계;
상기 서비스가 사용중인 복수의 자원들 간의 관계에 기초하여 상기 서비스에 필요한 상기 복수의 자원들 각각의 필요량을 계산하는 단계
상기 필요량을 상기 최소 자원 요구량에 적용하는 단계
를 포함하는 서비스 이동 지원 방법.
The method of claim 1,
The comparing step,
The service checking the resource usage;
Calculating a plurality of resources being used by the service by using the resource usage;
Calculating a required amount of each of the plurality of resources required for the service based on the relationship between the plurality of resources being used by the service
Applying the required amount to the minimum resource requirement
Service movement support method comprising a.
상기 서비스 관리자가 사용자의 요청에 의해 컨테이너가 생성된 상기 서비스를 등록하는 단계
를 더 포함하는 서비스 이동 지원 방법.
The method of claim 1,
The service manager registering the service for which the container was created at the request of the user
Service movement support method further comprising a.
상기 서비스 관리자가 상기 서비스의 수행이 종료되면 상기 서비스를 등록 해제하는 단계
를 더 포함하는 서비스 이동 지원 방법.
The method of claim 9,
Step of deregistering the service when the service manager ends the execution of the service
Service movement support method further comprising a.
상기 인스트럭션들을 실행하기 위한 프로세서
를 포함하고,
상기 프로세서는,
서비스의 자원 사용량 및 상기 서비스를 위한 최소 자원 요구량을 비교하고, 상기 비교 결과에 기초하여 상기 서비스의 이동을 위한 서비스 이동 요청 메시지를 생성하는 서비스; 및
상기 서비스 이동 요청 메시지에 응답하여 상기 서비스를 이동할 다른 작업 노드 장치에 대한 목적지 노드 요청 메시지를 생성하고, 상기 목적지 노드 요청 메시지를 작업 노드 장치들을 관리하는 마스터 노드 장치로 전송하는 서비스 관리자
를 실행하는 서비스 이동 지원을 위한 작업 노드 장치.
A memory for storing instructions for supporting service movement; And
A processor for executing the instructions
Including,
The processor,
A service that compares a resource usage of a service and a minimum resource request amount for the service, and generates a service movement request message for movement of the service based on the comparison result; And
A service manager that generates a destination node request message for another work node device to which the service is to be moved in response to the service movement request message, and transmits the destination node request message to a master node device that manages work node devices
A work node device for supporting movement of services running.
상기 서비스 관리자는,
상기 마스터 노드 장치로부터 상기 목적지 노드 요청 메시지에 응답하여 전송된 서비스 복구 메시지에 응답하여 상기 서비스를 복구하는
서비스 이동 지원을 위한 작업 노드 장치.
The method of claim 11,
The service manager,
Restoring the service in response to a service restoration message transmitted in response to the destination node request message from the master node device
Work node device for service movement support.
상기 서비스 관리자는,
상기 서비스 이동 요청 메시지에 응답하여 상기 서비스를 상기 마스터 노드 장치가 관리하는 작업 노드 장치들이 공유하는 공유 볼륨에 저장하는
서비스 이동 지원을 위한 작업 노드 장치.
The method of claim 12,
The service manager,
In response to the service movement request message, storing the service in a shared volume shared by work node devices managed by the master node device
Work node device for service movement support.
상기 서비스 관리자는,
상기 서비스를 상기 작업 노드 장치에서 수행된 지점에 이어 상기 다른 작업 노드 장치에서 상기 수행된 지점부터 재수행하기 위한 체크포인트를 저장하는
서비스 이동 지원을 위한 작업 노드 장치.
The method of claim 13,
The service manager,
Storing a checkpoint for re-performing the service from the point performed by the other work node device following the point performed by the work node device
Work node device for service movement support.
상기 서비스 관리자는,
상기 마스터 노드 장치로부터 상기 서비스 복구 메시지를 수신하고,
상기 서비스 복구 메시지에 응답하여 상기 공유 볼륨에 저장된 서비스를 상기 체크포인트에 따라 복구하는
서비스 이동 지원을 위한 작업 노드 장치.
The method of claim 14,
The service manager,
Receiving the service recovery message from the master node device,
Restoring the service stored in the shared volume according to the checkpoint in response to the service restoration message
Work node device for service movement support.
상기 서비스 복구 메시지는,
상기 마스터 노드 장치가 상기 목적지 노드 요청 메시지에 응답하여 상기 마스터 노드 장치가 관리하는 작업 노드 장치들 중에서 어느 하나를 선택한 경우 생성되고, 상기 어느 하나에 전송되는
서비스 이동 지원을 위한 작업 노드 장치.
The method of claim 12,
The service recovery message,
Generated when the master node device selects any one of the work node devices managed by the master node device in response to the destination node request message, and transmitted to any one of the
Work node device for service movement support.
상기 서비스 복구 메시지는,
상기 마스터 노드 장치가 상기 최소 자원 요구량 및 상기 마스터 노드 장치가 관리하는 작업 노드 장치들의 사용 가능한 자원 정보를 수신하고, 상기 최소 자원 요구량 및 상기 사용 가능한 자원 정보에 기초하여 상기 마스터 노드 장치가 관리하는 작업 노드 장치들 중에서 어느 하나를 선택한 경우 생성되는
서비스 이동 지원을 위한 작업 노드 장치.
The method of claim 16,
The service recovery message,
The master node device receives the minimum resource request amount and available resource information of work node devices managed by the master node device, and the master node device manages it based on the minimum resource request amount and the available resource information Generated when any one of the node devices is selected
Work node device for service movement support.
상기 서비스는,
상기 자원 사용량을 검사하고,
상기 자원 사용량을 이용하여 상기 서비스가 사용중인 복수의 자원들을 각각 계산하고,
상기 서비스가 사용중인 복수의 자원들 간의 관계에 기초하여 상기 서비스에 필요한 상기 복수의 자원들 각각의 필요량을 계산하고,
상기 필요량을 상기 최소 자원 요구량에 적용하는
서비스 이동 지원을 위한 작업 노드 장치.
The method of claim 11,
The above services are:
Check the resource usage,
Each of a plurality of resources being used by the service is calculated using the resource usage,
Calculate a required amount of each of the plurality of resources required for the service based on the relationship between the plurality of resources in use by the service,
Applying the required amount to the minimum resource requirement
Work node device for service movement support.
상기 서비스 관리자는,
사용자의 요청에 의해 컨테이너가 생성된 상기 서비스를 등록하는
서비스 이동 지원을 위한 작업 노드 장치.
The method of claim 11,
The service manager,
Registering the service created by the container at the request of the user
Work node device for service movement support.
상기 서비스 관리자는,
상기 서비스의 수행이 종료되면 상기 서비스를 등록 해제하는
서비스 이동 지원을 위한 작업 노드 장치.The method of claim 19,
The service manager,
When the execution of the service is terminated, the service is unregistered.
Work node device for service movement support.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190129761A KR102248443B1 (en) | 2019-10-18 | 2019-10-18 | Method and system for supporting survice movement |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190129761A KR102248443B1 (en) | 2019-10-18 | 2019-10-18 | Method and system for supporting survice movement |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210046251A KR20210046251A (en) | 2021-04-28 |
KR102248443B1 true KR102248443B1 (en) | 2021-05-04 |
Family
ID=75720891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190129761A KR102248443B1 (en) | 2019-10-18 | 2019-10-18 | Method and system for supporting survice movement |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102248443B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102559351B1 (en) * | 2022-12-30 | 2023-07-25 | 주식회사 에스티씨랩 | Resource optimization system and entry management server using traffic spike flattening technology based on digital service |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101256918B1 (en) * | 2011-12-15 | 2013-04-25 | 숭실대학교산학협력단 | Method for enhancing scalability and availability of cloud services and the system thereby |
KR101264895B1 (en) * | 2011-05-12 | 2013-05-15 | 성균관대학교산학협력단 | Virtual machine migration processing apparatus and method thereof |
KR101578177B1 (en) | 2014-09-12 | 2015-12-16 | 성균관대학교산학협력단 | Method and system for migration based on resource utilization rate in cloud computing |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9116759B2 (en) * | 2011-02-18 | 2015-08-25 | Ab Initio Technology Llc | Restarting data processing systems |
KR101343617B1 (en) * | 2011-12-28 | 2013-12-20 | 대전대학교 산학협력단 | Management Method of Service Level Agreement for Guarantee of Quality of Service in Cloud Environment |
-
2019
- 2019-10-18 KR KR1020190129761A patent/KR102248443B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101264895B1 (en) * | 2011-05-12 | 2013-05-15 | 성균관대학교산학협력단 | Virtual machine migration processing apparatus and method thereof |
KR101256918B1 (en) * | 2011-12-15 | 2013-04-25 | 숭실대학교산학협력단 | Method for enhancing scalability and availability of cloud services and the system thereby |
KR101578177B1 (en) | 2014-09-12 | 2015-12-16 | 성균관대학교산학협력단 | Method and system for migration based on resource utilization rate in cloud computing |
Also Published As
Publication number | Publication date |
---|---|
KR20210046251A (en) | 2021-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11385939B2 (en) | Method and system for modeling and analyzing computing resource requirements of software applications in a shared and distributed computing environment | |
EP2893443B1 (en) | Re-configuration in cloud computing environments | |
US9626172B2 (en) | Deploying a cluster | |
US9413604B2 (en) | Instance host configuration | |
US10819589B2 (en) | System and a method for optimized server-less service virtualization | |
US9201644B2 (en) | Distributed update service | |
US9697050B2 (en) | System and method for scaling for a large number of concurrent users | |
US10630556B2 (en) | Discovering and publishing device changes in a cloud environment | |
US20110029810A1 (en) | Automated failure recovery of subsystems in a management system | |
EP2948865B1 (en) | Instance host configuration | |
JP7086065B2 (en) | Application link extension methods, devices, and systems | |
US11507417B2 (en) | Job scheduling based on job execution history | |
US8966025B2 (en) | Instance configuration on remote platforms | |
Ganga et al. | A fault tolerent approach in scientific workflow systems based on cloud computing | |
US8027817B2 (en) | Simulation management within a grid infrastructure | |
US10798186B2 (en) | Dynamic generation of network routing configuration with service requirements | |
US20180219794A1 (en) | Deploying a cloud service with capacity reservation followed by activation | |
WO2017017937A1 (en) | Deployment device, deployment method, and recording medium | |
KR102248443B1 (en) | Method and system for supporting survice movement | |
Meroufel et al. | Optimization of checkpointing/recovery strategy in cloud computing with adaptive storage management | |
US9342291B1 (en) | Distributed update service | |
Samir et al. | Autoscaling recovery actions for container‐based clusters | |
US11762706B1 (en) | Computing environment pooling | |
Abbes et al. | Fault tolerance based on the publish-subscribe paradigm for the bonjourgrid middleware | |
CN116089020B (en) | Virtual machine operation method, capacity expansion method and capacity expansion system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |