WO2022124467A1 - 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치 및 관리 방법 - Google Patents

오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치 및 관리 방법 Download PDF

Info

Publication number
WO2022124467A1
WO2022124467A1 PCT/KR2020/019209 KR2020019209W WO2022124467A1 WO 2022124467 A1 WO2022124467 A1 WO 2022124467A1 KR 2020019209 W KR2020019209 W KR 2020019209W WO 2022124467 A1 WO2022124467 A1 WO 2022124467A1
Authority
WO
WIPO (PCT)
Prior art keywords
container
migration
pod
orchestrator
computing node
Prior art date
Application number
PCT/KR2020/019209
Other languages
English (en)
French (fr)
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 대구대학교 산학협력단
Publication of WO2022124467A1 publication Critical patent/WO2022124467A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the following embodiments relate to a container management apparatus and a management method for process migration in an orchestrator environment.
  • Cloud computing is to provide system resources (IT resources) of virtualized computers through the cloud (Internet).
  • Internet-based computing it refers to a technology that processes information not with one's own computer but with another computer connected to the cloud (Internet).
  • Internet Provides shared computer processing resources and data to computers and other devices on demand.
  • Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services. Kubernetes facilitates both declarative configuration and automation. Kubernetes has a large, fast-growing ecosystem.
  • a container is made to make a logical partition (container) on the host OS and collect libraries or applications necessary to run the application into one, so that it can be used as if it were a separate server. It logically separates the host OS's resources, and multiple containers share and use it. Containers have low overhead, so they are lightweight and operate at high speed.
  • a container management apparatus and a management method for process migration that allow a process operating in an orchestrator environment of a computing node to operate in another computing node without stopping the operation of the process. have.
  • a container management apparatus and a management method for process migration in an orchestrator environment capable of generating at least one migration container for process migration.
  • a container management device for process migration in an orchestrator environment that allows the same Internet protocol address (IP address) as the container in which the processor is operated to be assigned to the migration container. and management methods.
  • IP address Internet protocol address
  • a container management apparatus for process migration in an orchestrator environment includes at least one processor, wherein the at least one processor is a first pod deployed to a first computing node.
  • a process is operated in the first migration container created inside the first container within, and the operated process is migrated to a second pod deployed in a second computing node.
  • the at least one processor may create a second migration container for migration in a second container in the second pod.
  • the at least one processor may allocate an Internet protocol address identical to an Internet protocol address (IP address) allocated to the first pod to the second migration container.
  • IP address Internet protocol address
  • the at least one processor may migrate a process operated in the first migration container to the second migration container without stopping the operation of the process.
  • operating the process in the first migration container created inside the first container in the first container in the first pod (pod) deployed to the first computing node and the operated process is executed by a second computing node It includes the step of migrating (migration) to the second pod (pod) deployed to.
  • the step of migrating the operated process to a second pod deployed to a second computing node includes a second migration container for migration inside a second container in the second pod. It may further include the step of generating.
  • the step of creating a second migration container for migration in a second container in the second pod includes an Internet protocol address (IP address) assigned to the first pod and The method may further include allocating the same Internet protocol address to the second migration container.
  • IP address Internet protocol address
  • the step of migrating the operated process to a second pod that is distributed to the second computing node includes the process operated in the first migration container without stopping the operation of the second process. It may include the step of migrating (migration) to the migration container.
  • FIG. 1 is a diagram illustrating a configuration of a container management apparatus for process migration in an orchestrator environment according to an embodiment.
  • FIG. 2 is a diagram illustrating a state in which a process is migrated according to an embodiment.
  • FIG. 3 is a flowchart illustrating a container management method for process migration in an orchestrator environment according to an embodiment.
  • first or second may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one element from another element, for example, without departing from the scope of the present invention, a first element may be called a second element, and similarly The second component may also be referred to as the first component.
  • 'communication', 'communication network' and 'network' may be used as the same meaning.
  • the above three terms refer to a wired/wireless short-distance and wide-area data transmission/reception network capable of transmitting and receiving files between a user terminal, terminals of other users, and a download server.
  • FIG. 1 is a diagram illustrating a configuration of a container management apparatus for process migration in an orchestrator environment according to an embodiment.
  • the orchestrator environment may be a Kubernetes environment, but the orchestrator environment is not limited thereto.
  • the container management apparatus 100 for process migration in an orchestrator environment includes a processor 110 , an input/output interface module 120 , and a memory 130 .
  • the processor 110 , the input/output interface module 120 , and the memory 130 constituting the container management apparatus 100 for process migration in an orchestrator environment according to an embodiment are interconnected and transmit data to each other. it is possible
  • the processor 110 may execute programs or instructions stored in the memory 130 .
  • an operation program eg, OS
  • OS for operating the container management apparatus 100 for process migration in the orchestrator environment
  • the processor 110 may execute a program for managing information on the container management apparatus 100 for process migration in an orchestrator environment.
  • the processor 110 may execute a program for managing the operation of the container management apparatus 100 for process migration in the orchestrator environment.
  • the processor 110 may execute a program for managing the operation of the input/output interface module 120 .
  • the processor 110 may distribute a first pod (Points of delivery, Pod, hereinafter referred to as a 'pod') to the first computing node.
  • Pod Points of delivery
  • the processor 110 may create at least one container (hereinafter, referred to as a 'container') (eg, a first container) in the arranged first pod.
  • a 'container' eg, a first container
  • the processor 110 may include at least one migration container (hereinafter referred to as a 'migration container') for migration in the at least one container (eg, the first container) created above (eg, a 'migration container') (eg, first migration container).
  • a 'migration container' for migration in the at least one container (eg, the first container) created above (eg, a 'migration container') (eg, first migration container).
  • the processor 110 is configured to generate the at least one migration container (eg, a first container) in the at least one container (eg, a first container) in the first pod disposed in the first computing node.
  • the process can be run in the first migration container).
  • the processor 110 includes information related to the first pod distributed to the first computing node (eg, the Internet Protocol address (IP address) of the first pod, the first migration container). All context information about the process, etc.) can be obtained.
  • IP address Internet Protocol address
  • the processor 110 may deploy a second pod to the second computing node.
  • the processor 110 may create at least one container (eg, a second container) in the distributed second pod.
  • the processor 110 may create at least one migration container (eg, a second migration container) for migration in the at least one container (eg, the second container).
  • the migration may mean transferring the process running in the computing node to another computing node without stopping the operation of the process, but the meaning of the migration is not limited thereto.
  • the processor 110 obtains the obtained information related to the first pod distributed to the first computing node (eg, the Internet Protocol address (IP address) of the first pod, the first migration At least one migration container (eg, second migration container) in at least one container (eg, second container) in the second pod based on all context information on processes operated in the container can create
  • IP address Internet Protocol address
  • the processor 110 generates at least one migration container (eg, the first pod) that has created the same Internet protocol address as the Internet protocol address (IP address) assigned to the first pod. 2 migration containers).
  • the processor 110 is configured in the at least one migration container (eg, the first migration container) created inside the at least one container (eg, the first container) in the first pod. All context information about the operated process may be transferred to the at least one migration container (eg, the second migration container) inside the at least one container (eg, the second container) in the second pod.
  • All context information about the operated process may be transferred to the at least one migration container (eg, the second migration container) inside the at least one container (eg, the second container) in the second pod.
  • the processor 110 stores all context information for the transferred process in at least one container (eg, a second container) within the second pod (eg, a second container) in the at least one migration container (eg, , in the second migration container).
  • the processor 110 executes a process operated in the first pod based on all context information on the restored process and at least one container in the second pod. (eg, the second container) may be executed in the at least one migration container (eg, the second migration container).
  • the processor 110 is the at least one migration container (eg, a first container) created in the at least one container (eg, a first container) in the first pod deployed to the first computing node ( For example, the at least one container (eg, the second container) in the second pod deployed to the second computing node without stopping the operation of the process operated in the first migration container)
  • Migration (hereinafter referred to as 'migration') may be performed to at least one migration container (eg, a second migration container).
  • the processor 110 is at least any one of the workload of the first pod distributed to the first computing node, network utilization, network transmission delay, schedule, and computing power of the computing node.
  • the at least one migration container eg, a first migration container
  • the input/output interface module 120 may be connected to an external device (eg, a server) through a network.
  • an external device eg, a server
  • the input/output interface module 120 may acquire data from an external device.
  • the input/output interface module 120 may transmit data to an external device.
  • the input/output interface module 120 may be connected to a computing node through a network.
  • the input/output interface module 120 may obtain data from a computing node.
  • the input/output interface module 120 may transmit data to the computing node.
  • the input/output interface module 120 may be provided integrally with the container management apparatus 100 .
  • the input/output interface module 120 may be provided separately from the container management device 100 .
  • the input/output interface module 120 may be a separate device to be communicatively connected to the container management device 100 .
  • the input/output interface module 120 may include a port (eg, a communication port) for connecting to an external device.
  • a port eg, a communication port
  • the input/output interface module 120 may include a monitor, a touch screen, a mouse, an electronic pen, a microphone, a keyboard, a speaker, an earphone, a headphone, or a touch pad.
  • the memory 130 may store data acquired through the input/output interface module 120 .
  • the memory 130 may store criteria for migrating processes.
  • the memory 130 may store a pod distributed by the processor 110 .
  • the memory 130 may store a container generated by the processor 110 .
  • the memory 130 may store a migration container generated by the processor 110 .
  • module' refers to a logical structural unit, and it is obvious to those skilled in the art that the present invention is not necessarily a physically separate component.
  • FIG. 2 is a diagram illustrating a state in which a process is transferred according to an embodiment.
  • the container management apparatus may create a first container 220 in the first pod 210 distributed to the first computing node 200 .
  • the container management apparatus may create the first migration container 230 in the first container 220 .
  • the container management apparatus may operate a process in the created first migration container 230 .
  • the container management apparatus may create the second container 260 in the second pod 250 distributed to the second computing node 240 .
  • the container management apparatus may create the second migration container 270 inside the created second container 260 .
  • the container management device may obtain information related to the first pod 210 distributed to the first computing node 200 (eg, an Internet protocol address (IP address) of the pod). have.
  • IP address Internet protocol address
  • the container management apparatus includes information related to the first pod 210 distributed to the obtained first computing node 200 (eg, the Internet protocol address (IP address) of the pod, the first A second migration container 270 may be created inside the second container 260 in the second pod 250 based on all context information on processes operated in the migration container 230 ).
  • IP address Internet protocol address
  • the container management apparatus may allocate an Internet protocol address identical to an Internet protocol address (IP address) allocated to the first pod 210 to the second migration container 270 .
  • IP address Internet protocol address
  • the container management device stores all context information about the process operated in the first migration container 230 created inside the first container 220 in the first pod 210 to the second migration container 270 . can be transferred to
  • the container management apparatus may restore all context information about the transferred process in the second migration container 270 .
  • the container management apparatus operates the process operated in the first pod 210 based on all context information on the restored and transferred process inside the second container 260 in the second pod 250 .
  • the second migration container 270 can be executed.
  • the container management device performs the operation of the process operated in the first migration container 230 created inside the first container 220 in the first pod 210 deployed to the first computing node 200 . It is possible to migrate to the second migration container 270 created inside the second container 260 in the second pod 250 deployed to the second computing node 240 without stopping.
  • the container management device is at least one of the workload of the first pod 210 distributed to the first computing node 200, network utilization, network transmission delay, schedule, and computing power of the computing node. It is possible to determine the transfer of the process operated in the first migration container 230 created inside the first container 220 in the first pod 210 deployed to the first computing node 200 based on the .
  • the container management apparatus may determine all transfer of the process.
  • the container management apparatus may determine to transfer a part of the process.
  • the container management device migrates the process determined to be moved from the first migration container 230 created inside the first container 220 in the first pod 210 to the second migration container 270 .
  • FIG. 3 is a flowchart illustrating a container management method for process migration in an orchestrator environment according to an embodiment.
  • the container management apparatus operates a process in the first migration container created inside the first container in the first pod (pod) distributed to the first computing node (300).
  • the container management apparatus may acquire information related to the first pod distributed to the first computing node (eg, an Internet protocol address (IP address) of the first pod).
  • IP address Internet protocol address
  • the container management apparatus may acquire all context information about the process operated in the first migration container.
  • the container management device creates a second migration container for migration in a second container in a second pod that distributes the operated process to the second computing node ( 310 ).
  • the container management device is configured to control the second pod based on the acquired information related to the first pod distributed to the first computing node (eg, an Internet protocol address (IP address) of the first pod).
  • IP address Internet protocol address
  • a second migration container may be created inside a second container in a pod.
  • the container management apparatus may allocate an Internet protocol address identical to an Internet protocol address (IP address) allocated to the first pod to the created second migration container.
  • IP address Internet protocol address
  • the container management device stores all context information about the process operated in the first migration container created inside the first container in the first pod, inside the second container in the second pod. can be transferred to the second migration container.
  • the container management apparatus may restore all context information on the previously migrated process from the second migration container inside the second container in the second pod.
  • the container management device migrates a process operated in the first migration container to the second migration container ( 320 ).
  • the container management apparatus executes the process operated in the first pod based on all context information on the restored and transferred process, the second container in the second pod, 2 You can run it in the migration container.
  • the container management device does not stop the operation of the processor operated in the first migration container created inside the first container in the first pod (pod) distributed to the first computing node without stopping the second It is possible to migrate to the second migration container created inside the second container in the second pod (pod) deployed to the computing node.
  • the process running in the first migration container created in the first container in the first pod may be stopped.
  • the container management device is based on at least one of a workload of the first pod disposed in the first computing node, network utilization, network transmission delay, schedule, and computing power of the computing node. It is possible to determine the transfer of the processor operated in the first migration container created inside the first container in the first pod (pod) disposed in the first computing node.
  • Such a computer program is stored in a computer readable storage medium (Computer Readable Media), read and executed by the computer, thereby implementing the embodiment of the present invention.
  • the storage medium of the computer program may include a magnetic recording medium, an optical recording medium, and the like.
  • a phrase referring to “at least one of” in a list of items refers to any combination of these items, including single members.
  • “at least one of a, b, or c:” means a, b, c, a-b, a-c, b-c, and a-b-c, as well as any combination with multiples of the same element (e.g., a-a , a-a-a, a-a-b, a-a-c, a-b-b, a-c-c, b-b, b-b-b, b-b-c, c-c, and c-c-c or any other ordering of a, b, and c).
  • determining encompasses a wide variety of operations. For example, “determining” may include calculating, computing, processing, deriving, examining, looking up (eg, looking up in a table, database, or other data structure), ascertaining, etc. . Also, “determining” may include receiving (eg, receiving information), accessing (accessing data in a memory), and the like. Also, “determining” may include resolving, choosing, choosing, establishing, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 일실시예에 따르면, 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치는, 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 제1 컴퓨팅 노드에 배포한 제1 포드(pod) 내의 제1 컨테이너 내부에 생성한 제1 마이그레이션 컨테이너에서 프로세스를 동작시키고, 상기 동작시킨 프로세스를 제2 컴퓨팅 노드에 배포한 제2 포드(pod)로 마이그레이션(migration)한다.

Description

오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치 및 관리 방법
아래의 실시예들은 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치 및 관리 방법에 관한 것이다.
클라우드 컴퓨팅(cloud computing)은 클라우드(인터넷)을 통해 가상화 된 컴퓨터의 시스템 리소스(IT 리소스)를 제공하는 것이다. 인터넷 기반 컴퓨팅의 일종으로 정보를 자신의 컴퓨터가 아닌 클라우드(인터넷)에 연결된 다른 컴퓨터로 처리하는 기술을 의미한다. 공유 컴퓨터 처리 자원과 데이터를 컴퓨터와 다른 장치들에 요청 시 제공해준다. 구성 가능한 컴퓨팅 자원(예: 컴퓨터 네트워크, 데이터 베이스, 서버, 스토리지, 애플리케이션, 서비스, 인텔리전스)에 대해 어디서나 접근할 수 있는, 주문형 접근(on-demand availability of computer system resources)을 가능케하는 모델이며 최소한의 관리 노력으로 빠르게 예비 및 릴리스를 가능케 한다.
쿠버네티스는 컨테이너화 된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼이다. 쿠버네티스는 선언적 구성과 자동화를 모두 용이하게 해준다. 쿠버네티스는 크고, 빠르게 성장하는 생태계를 가지고 있다.
컨테이너란 호스트 OS상에 논리적인 구획(컨테이너)을 만들고, 어플리케이션을 작동시키기 위해 필요한 라이브러리나 어플리케이션 등을 하나로 모아, 마치 별도의 서버인 것처럼 사용할 수 있게 만든 것이다. 호스트 OS의 리소스를 논리적으로 분리시키고, 여러 개의 컨테이너가 공유하여 사용한다. 컨테이너는 오버헤드가 적기 때문에 가볍고 고속으로 작동하는 것이 특징이다.
본 발명의 실시예에 따르면, 컴퓨팅 노드의 오케스트레이터 환경에서 동작하고 있는 프로세스를 상기 프로세스의 동작을 멈추지 않고 다른 컴퓨팅 노드에서 동작 할 수 있도록 하는 프로세스 마이그레이션을 위한 컨테이너 관리 장치 및 관리 방법을 제공할 수 있다.
또한, 본 발명의 다른 실시예에 따르면, 프로세스를 마이그레이션 하기 위한 적어도 하나의 마이그레이션 컨테이너를 생성할 수 있는 오케스트레이터 환경에서 프로세스 마이그레이션을 위한 컨테이너 관리 장치 및 관리 방법을 제공할 수 있다.
또한, 본 발명의 또 다른 실시예에 따르면, 프로세서를 동작시킨 컨테이너 와 동일한 인터넷 규약 주소(Internet Protocol address, IP address)를 마이그레이션 컨테이너에 할당할 수 있도록 하는 오케스트레이터 환경에서 프로세스 마이그레이션을 위한 컨테이너 관리 장치 및 관리 방법을 제공할 수 있다.
또한, 본 발명의 또 다른 실시예에 따르면, 프로세스에 대한 모든 context정보를 마이그레이션 컨테이너로 이전시킬 수 있도록 하는 오케스트레이터 환경에서 프로세스 마이그레이션을 위한 컨테이너 관리 장치 및 관리 방법을 제공할 수 있다.
본 발명의 일실시예에 따르면 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치는, 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 제1 컴퓨팅 노드에 배포한 제1 포드(pod) 내의 제1 컨테이너 내부에 생성한 제1 마이그레이션 컨테이너에서 프로세스를 동작시키고, 상기 동작시킨 프로세스를 제2 컴퓨팅 노드에 배포한 제2 포드(pod)로 마이그레이션(migration)한다.
또한, 상기 적어도 하나의 프로세서는, 상기 제2 포드(pod) 내의 제2 컨테이너 내부에 마이그레이션을 위한 제2 마이그레이션 컨테이너를 생성할 수 있다.
또한, 상기 적어도 하나의 프로세서는, 상기 제1 포드(pod)에 할당된 인터넷 규약 주소(Internet Protocol address, IP address)와 동일한 인터넷 규약 주소를 상기 제2 마이그레이션 컨테이너에 할당할 수 있다.
또한, 상기 적어도 하나의 프로세서는, 상기 제1 마이그레이션 컨테이너에서 동작시킨 프로세스를 상기 프로세스의 동작을 멈추게 하지 않고 상기 제2 마이그레이션 컨테이너로 마이그레이션(migration) 할 수 있다.
본 발명의 다른 실시예에 따르면, 제1 컴퓨팅 노드에 배포한 제1 포드(pod) 내의 제1 컨테이너 내부에 생성한 제1 마이그레이션 컨테이너에서 프로세스를 동작시키는 단계 및 상기 동작시킨 프로세스를 제2 컴퓨팅 노드에 배포한 제2 포드(pod)로 마이그레이션(migration)하는 단계를 포함한다.
또한, 상기 동작시킨 프로세스를 제2 컴퓨팅 노드에 배포한 제2 포드(pod)로 마이그레이션(migration)하는 단계는, 상기 제2 포드(pod) 내의 제2 컨테이너 내부에 마이그레이션을 위한 제2 마이그레이션 컨테이너를 생성하는 단계를 더 포함할 수 있다.
또한, 상기 제2 포드(pod) 내의 제2 컨테이너 내부에 마이그레이션을 위한 제2 마이그레이션 컨테이너를 생성하는 단계는, 상기 제1 포드(pod)에 할당된 인터넷 규약 주소(Internet Protocol address, IP address)와 동일한 인터넷 규약 주소를 상기 제2 마이그레이션 컨테이너에 할당하는 단계를 더 포함할 수 있다.
또한, 상기 동작시킨 프로세스를 제2 컴퓨팅 노드에 배포한 제2 포드(pod)로 마이그레이션(migration)하는 단계는, 상기 제1 마이그레이션 컨테이너에서 동작시킨 프로세스를 상기 프로세스의 동작을 멈추게 하지 않고 상기 제2 마이그레이션 컨테이너로 마이그레이션(migration)하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따르면, 컴퓨팅 노드에서 동작하고 있는 프로세스를 상기 프로세스의 동작을 멈추지 않고 다른 컴퓨팅 노드로 마이그레이션 할 수 있는 효과가 있다.
또한, 프로세스를 마이그레이션 하기 위한 적어도 하나의 마이그레이션 컨테이너를 생성할 수 있는 효과가 있다.
또한, 마이그레이션 컨테이너 내부에서 상기 제1 포드(pod)에서 동작한 것과 동일한 프로세스가 마이그레이션 한 시점부터 이어서 동작하는 효과가 있다.
또한, 프로세서를 동작시킨 포드(Pod)와 동일한 인터넷 규약 주소(Internet Protocol address, IP address)를 마이그레이션 컨테이너에 할당할 수 있는 효과가 있다.
또한, 프로세스에 대한 모든 context정보를 마이그레이션 컨테이너로 이전시킬 수 있는 효과가 있다.
도 1은 일실시예에 따른 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치의 구성을 나타내는 도면이다.
도 2는 일실시예에 따라 프로세스가 마이그레이션 되는 모습을 나타내는 도면이다.
도 3은 일실시예에 따른 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 방법을 나타내는 플로우 차트이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하의 설명에서 동일한 식별 기호는 동일한 구성을 의미하며, 불필요한 중복적인 설명 및 공지 기술에 대한 설명은 생략하기로 한다.
본 발명의 실시 예에서 '통신', '통신망' 및 '네트워크'는 동일한 의미로 사용될 수 있다. 상기 세 용어들은, 파일을 사용자 단말, 다른 사용자들의 단말 및 다운로드 서버 사이에서 송수신할 수 있는 유무선의 근거리 및 광역 데이터 송수신망을 의미한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 일실시예에 따른 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치의 구성을 나타내는 도면이다. 이때, 상기 오케스트레이터 환경은 쿠버네티스 환경일 수 있으나, 상기 오케스트레이터 환경이 이에 한정되는 것은 아니다.
도 1을 참조하면, 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치(100)는 프로세서(110), 입출력 인터페이스 모듈(120) 및 메모리(130)를 포함한다.
일실시예에 따른 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치(100)를 구성하는 프로세서(110), 입출력 인터페이스 모듈(120) 및 메모리(130)는 상호 연결되어 있으며, 상호 데이터를 전송하는 것이 가능하다.
일실시예에 따라, 프로세서(110)는 메모리(130)에 저장된 프로그램들 또는 명령들을 실행시킬 수 있다. 이때, 메모리(130)에는 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치(100)를 동작시키기 위한 동작프로그램(예컨대, OS)이 저장될 수 있다.
일실시예에 따라, 프로세서(110)는 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치(100)에 대한 정보를 관리하기 위한 프로그램을 실행시킬 수 있다.
일실시예에 따라, 프로세서(110)는 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치(100)의 동작을 관리하기 위한 프로그램을 실행시킬 수 있다.
일실시예에 따라, 프로세서(110)는 입출력 인터페이스 모듈(120)의 동작을 관리하기 위한 프로그램을 실행시킬 수 있다.
일실시예에 따라, 프로세서(110)는 제1 컴퓨팅 노드에 제1 포드(Points of delivery, Pod, 이하 '포드'라 한다)를 배포할 수 있다.
일실시예에 따라, 프로세서(110)는 상기 배치한 제1 포드(pod) 내에 적어도 하나의 컨테이너(Container, 이하 '컨테이너'라 한다)(예컨대, 제1 컨테이너)를 생성할 수 있다.
일실시예에 따라, 프로세서(110)는 상기 생성한 적어도 하나의 컨테이너(예컨대, 제1 컨테이너) 내부에 마이그레이션을 위한 적어도 하나의 마이그레이션 컨테이너(migration Container, 이하 '마이그레이션 컨테이너'라 한다)(예컨대, 제1 마이그레이션 컨테이너)를 생성할 수 있다.
일실시예에 따라, 프로세서(110)는 상기 제1 컴퓨팅 노드에 배치된 상기 제1 포드(pod) 내의 상기 적어도 하나의 컨테이너(예컨대, 제1 컨테이너) 내부에 생성한 상기 적어도 하나의 마이그레이션 컨테이너(예컨대, 제1 마이그레이션 컨테이너)에서 프로세스를 동작 시킬 수 있다.
일실시예에 따라, 프로세서(110)는 제1 컴퓨팅 노드에 배포한 제1 포드와 관련된 정보(예컨대, 제1 포드의 인터넷 규약 주소(Internet Protocol address, IP address), 제1 마이그레이션 컨테이너에서 동작시킨 프로세스에 대한 모든 context정보 등)를 획득할 수 있다.
일실시예에 따라, 프로세서(110)는 제2 컴퓨팅 노드에 제2 포드(pod)를 배포할 수 있다.
일실시예에 따라, 프로세서(110)는 상기 배포한 제2 포드 내에 적어도 하나의 컨테이너(예컨대, 제2 컨테이너)를 생성할 수 있다.
일실시예에 따라, 프로세서(110)는 상기 생성한 적어도 하나의 컨테이너(예컨대, 제2 컨테이너) 내부에 마이그레이션을 위한 적어도 하나의 마이그레이션 컨테이너(예컨대, 제2 마이그레이션 컨테이너)를 생성할 수 있다. 이때, 상기 마이그레이션은 컴퓨팅 노드에서 실행되고 있는 프로세스를 상기 프로세스의 동작을 멈추게 하지 않고 다른 컴퓨팅 노드로 이전시키는 것을 의미할 수 있으나, 상기 마이그레이션이 의미하는 것이 이에 한정되는 것은 아니다.
일실시예에 따라, 프로세서(110)는 상기 획득한 상기 제1 컴퓨팅 노드에 배포한 제1 포드와 관련된 정보(예컨대, 제1 포드의 인터넷 규약 주소(Internet Protocol address, IP address), 제1 마이그레이션 컨테이너에서 동작시킨 프로세스에 대한 모든 context정보 등)를 기초로 상기 제2 포드(pod) 내의 적어도 하나의 컨테이너(예컨대, 제2 컨테이너) 내부에 상기 적어도 하나의 마이그레이션 컨테이너(예컨대, 제2 마이그레이션 컨테이너)를 생성할 수 있다.
일실시예에 따라, 프로세서(110)는 상기 제1 포드(pod)에 할당된 인터넷 규약 주소(Internet Protocol address, IP address)와 동일한 인터넷 규약 주소를 상기 생성한 적어도 하나의 마이그레이션 컨테이너(예컨대, 제2 마이그레이션 컨테이너)에 할당할 수 있다.
일실시예에 따라, 프로세서(110)는 상기 제1 포드(pod) 내의 상기 적어도 하나의 컨테이너(예컨대, 제1 컨테이너) 내부에 생성한 상기 적어도 하나의 마이그레이션 컨테이너(예컨대, 제1 마이그레이션 컨테이너)에서 동작시킨 프로세스에 대한 모든 context정보를 상기 제2 포드(pod) 내의 적어도 하나의 컨테이너(예컨대, 제2 컨테이너) 내부에 상기 적어도 하나의 마이그레이션 컨테이너(예컨대, 제2 마이그레이션 컨테이너)로 이전시킬 수 있다.
일실시예에 따라, 프로세서(110)는 상기 이전시킨 프로세스에 대한 모든 context정보를 상기 제2 포드(pod) 내의 적어도 하나의 컨테이너(예컨대, 제2 컨테이너) 내부에 상기 적어도 하나의 마이그레이션 컨테이너(예컨대, 제2 마이그레이션 컨테이너)에서 복원할 수 있다.
일실시예에 따라, 프로세서(110)는 상기 복원한 상기 이전시킨 프로세스에 대한 모든 context정보를 기초로 상기 제1 포드(pod)에서 동작시킨 프로세스를 상기 제2 포드(pod) 내의 적어도 하나의 컨테이너(예컨대, 제2 컨테이너) 내부에 상기 적어도 하나의 마이그레이션 컨테이너(예컨대, 제2 마이그레이션 컨테이너)에서 실행시킬 수 있다.
일실시예에 따라, 프로세서(110)는 상기 제1 컴퓨팅 노드에 배포한 상기 제1 포드(pod) 내의 상기 적어도 하나의 컨테이너(예컨대, 제1 컨테이너) 내부에 생성한 상기 적어도 하나의 마이그레이션 컨테이너(예컨대, 제1 마이그레이션 컨테이너)에서 동작시킨 프로세스의 동작을 멈추게 하지 않고 상기 제2 컴퓨팅 노드에 배포한 상기 제2 포드(pod) 내의 상기 적어도 하나의 컨테이너(예컨대, 제2 컨테이너) 내부에 생성한 상기 적어도 하나의 마이그레이션 컨테이너(예컨대, 제2 마이그레이션 컨테이너)로 마이그레이션(migration, 이하 '마이그레이션'이라 한다)할 수 있다.
일실시예에 따라, 프로세서(110)는 상기 제1 컴퓨팅 노드에 배포한 상기 제1 포드(pod)의 워크로드, 네트워크 이용율(utilization), 네트워크 전송지연, 스케줄 및 컴퓨팅 노드의 컴퓨팅 파워 중 적어도 어느 하나를 기초로 상기 제1 컴퓨팅 노드에 배포한 상기 제1 포드(pod) 내의 상기 적어도 하나의 컨테이너(예컨대, 제1 컨테이너) 내부에 생성한 상기 적어도 하나의 마이그레이션 컨테이너(예컨대, 제1 마이그레이션 컨테이너)에서 동작시킨 상기 프로세스의 마이그레이션을 결정할 수 있다.
일실시예에 따라, 입출력 인터페이스 모듈(120)은 네트워크를 통하여 외부 장치(예컨대, 서버)와 연결될 수 있다.
일실시예에 따라, 입출력 인터페이스 모듈(120)은 외부 장치로부터 데이터를 획득할 수 있다.
일실시예에 따라, 입출력 인터페이스 모듈(120)은 외부 장치로 데이터를 전송할 수 있다.
일실시예에 따라, 입출력 인터페이스 모듈(120)은 네트워크를 통하여 컴퓨팅 노드와 연결될 수 있다.
일실시예에 따라, 입출력 인터페이스 모듈(120)은 컴퓨팅 노드로부터 데이터를 획득할 수 있다.
일실시예에 따라, 입출력 인터페이스 모듈(120)은 컴퓨팅 노드로 데이터를 전송할 수 있다.
일실시예에 따라, 입출력 인터페이스 모듈(120)은 컨테이너 관리 장치(100)와 일체형으로 제공될 수 있다.
입출력 인터페이스 모듈(120)은 컨테이너 관리 장치(100)에서 분리되어 제공될 수 있다.
입출력 인터페이스 모듈(120)은 컨테이너 관리 장치(100)와 통신적으로 연결될 별도의 장치일 수 있다.
입출력 인터페이스 모듈(120)은 외부 장치와 연결되기 위한 포트(예컨대, 통신 포트)를 포함할 수 있다.
입출력 인터페이스 모듈(120)은 모니터, 터치스크린, 마우스, 전자펜, 마이크로폰, 키보드, 스피커, 이어폰, 헤드폰 또는 터치패드를 포함할 수 있다.
메모리(130)는 입출력 인터페이스 모듈(120)을 통해 획득한 데이터를 저장할 수 있다.
메모리(130)는 프로세스를 마이그레이션 하기 위한 기준을 저장할 수 있다.
메모리(130)는 프로세서(110)가 배포한 포드(pod)를 저장할 수 있다.
메모리(130)는 프로세서(110)가 생성한 컨테이너(container)를 저장할 수 있다.
메모리(130)는 프로세서(110)가 생성한 마이그레이션 컨테이너(migration container)를 저장할 수 있다.
여기서 사용된 '모듈'이라는 용어는 논리적인 구성 단위를 나타내는 것으로서, 반드시 물리적으로 구분되는 구성 요소가 아니라는 점은 본 발명이 속하는 기술분야의 당업자에게 자명한 사항이다.
도 2는 일실시예에 따라 프로세스가 이전되는 모습을 나타내는 도면이다.
도 2를 참조하면, 일실시예에 따라 컨테이너 관리 장치는 제1 컴퓨팅 노드(200)에 배포한 제1 포드(210) 내에 제1 컨테이너(220)를 생성할 수 있다.
일실시예에 따라 컨테이너 관리 장치는 제1 컨테이너(220) 내부에 제1 마이그레이션 컨테이너(230)를 생성할 수 있다.
일실시예에 따라 컨테이너 관리 장치는 상기 생성한 제1 마이그레이션 컨테이너(230)에서 프로세스를 동작 시킬 수 있다.
일실시예에 따라 컨테이너 관리 장치는 제2 컴퓨팅 노드(240)에 배포한 제2 포드(250) 내에 제2 컨테이너(260)를 생성할 수 있다.
일실시예에 따라 컨테이너 관리 장치는 생성한 제2 컨테이너(260) 내부에 제2 마이그레이션 컨테이너(270)를 생성할 수 있다.
일실시예에 따라 컨테이너 관리 장치는 제1 컴퓨팅 노드(200)에 배포한 제1 포드(210)와 관련된 정보(예컨대, 포드의 인터넷 규약 주소(Internet Protocol address, IP address) 등)를 획득할 수 있다.
일실시예에 따라 컨테이너 관리 장치는 상기 획득한 제1 컴퓨팅 노드(200)에 배포한 제1 포드(210)와 관련된 정보(예컨대, 포드의 인터넷 규약 주소(Internet Protocol address, IP address), 제1 마이그레이션 컨테이너(230)에서 동작시킨 프로세스에 대한 모든 context정보 등)를 기초로 제2 포드(250) 내의 제2 컨테이너(260) 내부에 제2 마이그레이션 컨테이너(270)를 생성할 수 있다.
일실시예에 따라 컨테이너 관리 장치는 제1 포드(210)에 할당된 인터넷 규약 주소(Internet Protocol address, IP address)와 동일한 인터넷 규약 주소를 제2 마이그레이션 컨테이너(270)에 할당할 수 있다.
일실시예에 따라 컨테이너 관리 장치는 제1 포드(210) 내의 제1 컨테이너(220) 내부에 생성한 제1 마이그레이션 컨테이너(230)에서 동작시킨 프로세스에 대한 모든 context정보를 제2 마이그레이션 컨테이너(270)로 이전시킬 수 있다.
일실시예에 따라 컨테이너 관리 장치는 상기 이전시킨 프로세스에 대한 모든 context정보를 제2 마이그레이션 컨테이너(270)에서 복원할 수 있다.
일실시예에 따라 컨테이너 관리 장치는 상기 복원한 상기 이전시킨 프로세스에 대한 모든 context정보를 기초로 제1 포드(210)에서 동작시킨 상기 프로세스를 제2 포드(250) 내의 제2 컨테이너(260) 내부에 제2 마이그레이션 컨테이너(270)에서 실행시킬 수 있다.
일실시예에 따라 컨테이너 관리 장치는 제1 컴퓨팅 노드(200)에 배포한 제1 포드(210) 내의 제1 컨테이너(220) 내부에 생성한 제1 마이그레이션 컨테이너(230)에서 동작시킨 프로세스의 동작을 멈추게 하지 않고 제2 컴퓨팅 노드(240)에 배포한 제2 포드(250) 내의 제2 컨테이너(260) 내부에 생성한 2 마이그레이션 컨테이너(270)로 마이그레이션 할 수 있다.
일실시예에 따라 컨테이너 관리 장치는 제1 컴퓨팅 노드(200)에 배포한 제1 포드(210)의 워크로드, 네트워크 이용율(utilization), 네트워크 전송지연, 스케줄 및 컴퓨팅 노드의 컴퓨팅 파워 중 적어도 어느 하나를 기초로 제1 컴퓨팅 노드(200)에 배포한 제1 포드(210) 내의 제1 컨테이너(220) 내부에 생성한 제1 마이그레이션 컨테이너(230)에서 동작시킨 상기 프로세스의 이전을 결정할 수 있다.
일실시예에 따라 컨테이너 관리 장치는 상기 프로세스의 전부 이전을 결정할 수 있다.
일실시예에 따라 컨테이너 관리 장치는 상기 프로세스의 일부 이전을 결정할 수 있다.
일실시예에 따라 컨테이너 관리 장치는 상기 이전을 결정한 프로세스를 제1 포드(210) 내의 제1 컨테이너(220) 내부에 생성한 제1 마이그레이션 컨테이너(230)에서 제2 마이그레이션 컨테이너(270)로 마이그레이션 할 수 있다.
도 3은 일실시예에 따른 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 방법을 나타내는 플로우 차트이다.
도 3을 참조하면, 컨테이너 관리 장치가 제1 컴퓨팅 노드에 배포한 제1 포드(pod) 내의 제1 컨테이너 내부에 생성한 제1 마이그레이션 컨테이너에서 프로세스를 동작시킨다(300).
이때, 상기 컨테이너 관리 장치는 상기 제1 컴퓨팅 노드에 배포한 상기 제1 포드와 관련된 정보(예컨대, 제1 포드의 인터넷 규약 주소(Internet Protocol address, IP address) 등)를 획득할 수 있다.
또한, 상기 컨테이너 관리 장치는 상기 제1 마이그레이션 컨테이너에서 동작시킨 프로세스에 대한 모든 context정보를 획득할 수 있다.
컨테이너 관리 장치가 상기 동작시킨 프로세스를 제2 컴퓨팅 노드에 배포한 제2 포드(pod) 내의 제2 컨테이너 내부에 마이그레이션을 위한 제2 마이그레이션 컨테이너를 생성한다(310).
이때, 상기 컨테이너 관리 장치는 상기 획득한 상기 제1 컴퓨팅 노드에 배포한 제1 포드와 관련된 정보(예컨대, 제1 포드의 인터넷 규약 주소(Internet Protocol address, IP address) 등)를 기초로 상기 제2 포드(pod) 내의 제2 컨테이너 내부에 제2 마이그레이션 컨테이너를 생성할 수 있다.
또한, 상기 컨테이너 관리 장치는 상기 제1 포드(pod)에 할당된 인터넷 규약 주소(Internet Protocol address, IP address)와 동일한 인터넷 규약 주소를 상기 생성한 제2 마이그레이션 컨테이너에 할당할 수 있다.
또한, 상기 컨테이너 관리 장치는 상기 제1 포드(pod) 내의 상기 제1 컨테이너 내부에 생성한 상기 제1 마이그레이션 컨테이너에서 동작시킨 프로세스에 대한 모든 context정보를 상기 제2 포드(pod) 내의 제2 컨테이너 내부에 상기 제2 마이그레이션 컨테이너로 이전시킬 수 있다.
또한, 상기 컨테이너 관리 장치는 기 이전시킨 프로세스에 대한 모든 context정보를 상기 제2 포드(pod) 내의 상기 제2 컨테이너 내부의 상기 제2 마이그레이션 컨테이너에서 복원할 수 있다.
컨테이너 관리 장치가 상기 제1 마이그레이션 컨테이너에서 동작시킨 프로세스를 상기 제2 마이그레이션 컨테이너로 마이그레이션 한다(320).
이때, 상기 컨테이너 관리 장치는 상기 복원한 상기 이전시킨 프로세스에 대한 모든 context정보를 기초로 상기 제1 포드(pod)에서 동작시킨 프로세스를 상기 제2 포드(pod) 내의 상기 제2 컨테이너 내부의 상기 제2 마이그레이션 컨테이너에서 실행시킬 수 있다.
또한, 상기 컨테이너 관리 장치는 상기 제1 컴퓨팅 노드에 배포한 상기 제1 포드(pod) 내의 상기 제1 컨테이너 내부에 생성한 상기 제1 마이그레이션 컨테이너에서 동작시킨 상기 프로세서의 동작을 멈추게 하지 않고 상기 제2 컴퓨팅 노드에 배포한 상기 제2 포드(pod) 내의 상기 제2 컨테이너 내부에 생성한 상기 제2 마이그레이션 컨테이너로 마이그레이션 할 수 있다.
또한, 마이그레이션 컨테이너로 이전되어 복원된 프로세스가 실행될 때 상기 제1 포드(pod) 내의 상기 제1 컨테이너 내부에 생성한 상기 제1 마이그레이션 컨테이너에서 실행중인 프로세스를 멈추게 할 수 있다.
또한, 상기 컨테이너 관리 장치는 상기 제1 컴퓨팅 노드에 배치된 상기 제1 포드(pod)의 워크로드, 네트워크 이용율(utilization), 네트워크 전송지연, 스케줄 및 컴퓨팅 노드의 컴퓨팅 파워 중 적어도 어느 하나를 기초로 상기 제1 컴퓨팅 노드에 배치된 상기 제1 포드(pod) 내의 상기 제1 컨테이너 내부에 생성한 상기 제1 마이그레이션 컨테이너에서 동작시킨 상기 프로세서의 이전을 결정할 수 있다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 적어도 하나로 선택적으로 결합하여 동작할 수도 있다.
또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다.
이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다.
기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명에서 개시된 방법들은 상술된 방법을 달성하기 위한 하나 이상의 동작들 또는 단계들을 포함한다. 방법 동작들 및/또는 단계들은 청구항들의 범위를 벗어나지 않으면서 서로 상호 교환될 수도 있다. 다시 말해, 동작들 또는 단계들에 대한 특정 순서가 명시되지 않는 한, 특정 동작들 및/또는 단계들의 순서 및/또는 이용은 청구항들의 범위로부터 벗어남이 없이 수정될 수도 있다.
본 발명에서 이용되는 바와 같이, 아이템들의 리스트 중 "그 중 적어도 하나" 를 지칭하는 구절은 단일 멤버들을 포함하여, 이들 아이템들의 임의의 조합을 지칭한다. 일 예로서, "a, b, 또는 c: 중의 적어도 하나" 는 a, b, c, a-b, a-c, b-c, 및 a-b-c 뿐만 아니라 동일한 엘리먼트의 다수의 것들과의 임의의 조합 (예를 들어, a-a, a-a-a, a-a-b, a-a-c, a-b-b, a-c-c, b-b, b-b-b, b-b-c, c-c, 및 c-c-c 또는 a, b, 및 c 의 다른 임의의 순서 화한 것) 을 포함하도록 의도된다.
본 발명에서 이용되는 바와 같이, 용어 "결정하는"는 매우 다양한 동작들을 망라한다. 예를 들어, "결정하는"는 계산하는, 컴퓨팅, 프로세싱, 도출하는, 조사하는, 룩업하는 (예를 들어, 테이블, 데이터베이스, 또는 다른 데이터 구조에서 룩업하는), 확인하는 등을 포함할 수도 있다. 또한, "결정하는"은 수신하는 (예를 들면, 정보를 수신하는), 액세스하는 (메모리의 데이터에 액세스하는) 등을 포함할 수 있다. 또한, "결정하는"은 해결하는, 선택하는, 고르는, 확립하는 등을 포함할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.
따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (8)

  1. 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치는,
    적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    제1 컴퓨팅 노드에 배포한 제1 포드(pod) 내의 제1 컨테이너 내부에 생성한 제1 마이그레이션 컨테이너에서 프로세스를 동작시키고,
    상기 동작시킨 프로세스를 제2 컴퓨팅 노드에 배포한 제2 포드(pod)로 마이그레이션(migration)하는 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치.
  2. 제1항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제2 포드(pod) 내의 제2 컨테이너 내부에 마이그레이션을 위한 제2 마이그레이션 컨테이너를 생성하는 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치.
  3. 제2항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제1 포드(pod)에 할당된 인터넷 규약 주소(Internet Protocol address, IP address)와 동일한 인터넷 규약 주소를 상기 제2 마이그레이션 컨테이너에 할당하는 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치.
  4. 제2항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제1 포드(pod) 마이그레이션 컨테이너에서 동작시킨 프로세스를 상기 프로세스의 동작을 멈추게 하지 않고 상기 제2 마이그레이션 컨테이너로 마이그레이션(migration)하는 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치.
  5. 제1 컴퓨팅 노드에 배포한 제1 포드(pod) 내의 제1 컨테이너 내부에 생성한 제1 마이그레이션 컨테이너에서 프로세스를 동작시키는 단계; 및
    상기 동작시킨 프로세스를 제2 컴퓨팅 노드에 배포한 제2 포드(pod)로 마이그레이션(migration)하는 단계
    를 포함하는 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 방법.
  6. 제5항에 있어서,
    상기 동작시킨 프로세스를 제2 컴퓨팅 노드에 배포한 제2 포드(pod)로 마이그레이션(migration)하는 단계는,
    상기 제2 포드(pod) 내의 제2 컨테이너 내부에 마이그레이션을 위한 제2 마이그레이션 컨테이너를 생성하는 단계
    를 더 포함하는 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 방법.
  7. 제6항에 있어서,
    상기 제2 포드(pod) 내의 제2 컨테이너 내부에 마이그레이션을 위한 적어도 하나의 마이그레이션 컨테이너를 생성하는 단계는,
    상기 제1 포드(pod)에 할당된 인터넷 규약 주소(Internet Protocol address, IP address)와 동일한 인터넷 규약 주소를 상기 제2 마이그레이션 컨테이너에 할당하는 단계
    를 더 포함하는 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 방법.
  8. 제6항에 있어서,
    상기 동작시킨 프로세스를 제2 컴퓨팅 노드에 배포한 제2 포드(pod)로 마이그레이션(migration)하는 단계는,
    상기 제1 마이그레이션 컨테이너에서 동작시킨 프로세스를 상기 프로세스의 동작을 멈추게 하지 않고 상기 제2 마이그레이션 컨테이너로 마이그레이션(migration)하는 단계
    를 포함하는 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 방법.
PCT/KR2020/019209 2020-12-09 2020-12-28 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치 및 관리 방법 WO2022124467A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0171750 2020-12-09
KR1020200171750A KR102466231B1 (ko) 2020-12-09 2020-12-09 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치 및 관리 방법

Publications (1)

Publication Number Publication Date
WO2022124467A1 true WO2022124467A1 (ko) 2022-06-16

Family

ID=81973395

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/019209 WO2022124467A1 (ko) 2020-12-09 2020-12-28 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치 및 관리 방법

Country Status (2)

Country Link
KR (1) KR102466231B1 (ko)
WO (1) WO2022124467A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200073704A1 (en) * 2016-07-28 2020-03-05 International Business Machines Corporation Reducing service downtime during service migration
US20200117494A1 (en) * 2018-10-15 2020-04-16 Microsoft Technology Licensing, Llc Minimizing impact of migrating virtual services
US20200153898A1 (en) * 2018-11-13 2020-05-14 International Business Machines Corporation Automated infrastructure updates in a cluster environment that includes containers
US20200249864A1 (en) * 2016-09-09 2020-08-06 Veritas Technologies Llc Systems and methods for performing live migrations of software containers
US20200356397A1 (en) * 2019-05-09 2020-11-12 International Business Machines Corporation Dynamically changing containerized workload isolation in response to detection of a triggering factor

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190025802A (ko) 2017-09-02 2019-03-12 주식회사 제페코 클라우드 컴퓨팅 기반의 사업자간 매매정보 교류 및 전자결제시스템
EP3688595A1 (en) 2017-09-30 2020-08-05 Oracle International Corporation Binding, in an api registry, backend services endpoints to api functions
US10824466B2 (en) 2018-09-26 2020-11-03 International Business Machines Corporation Container migration
KR102245341B1 (ko) 2020-09-11 2021-04-28 한국전자기술연구원 클라우드 엣지 내 워크로드 분산을 위한 예측 모델 적용 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200073704A1 (en) * 2016-07-28 2020-03-05 International Business Machines Corporation Reducing service downtime during service migration
US20200249864A1 (en) * 2016-09-09 2020-08-06 Veritas Technologies Llc Systems and methods for performing live migrations of software containers
US20200117494A1 (en) * 2018-10-15 2020-04-16 Microsoft Technology Licensing, Llc Minimizing impact of migrating virtual services
US20200153898A1 (en) * 2018-11-13 2020-05-14 International Business Machines Corporation Automated infrastructure updates in a cluster environment that includes containers
US20200356397A1 (en) * 2019-05-09 2020-11-12 International Business Machines Corporation Dynamically changing containerized workload isolation in response to detection of a triggering factor

Also Published As

Publication number Publication date
KR20220081833A (ko) 2022-06-16
KR102466231B1 (ko) 2022-11-10

Similar Documents

Publication Publication Date Title
WO2014069827A1 (en) System and method for providing data analysis service in a cloud environment
WO2012111905A2 (ko) 맵 리듀스를 이용한 분산 메모리 클러스터 제어 장치 및 방법
WO2012057581A4 (ko) 클라우드 컴퓨팅 시스템 및 그의 데이터 동기화 방법
WO2014142553A1 (ko) 워크 로드에 따라 동적 자원 할당 가능한 상호 연결 패브릭 스위칭 장치 및 방법
WO2015127722A1 (zh) 一种基于云平台同步联系人的方法及系统
WO2016064158A1 (ko) 재구성 가능 프로세서 및 그 동작 방법
WO2014193037A1 (ko) 맵리듀스 연산 가속 시스템 및 방법
WO2019240400A1 (ko) 가상화 환경에서의 자원 할당 방법 및 장치
WO2012050293A1 (en) Method and apparatus for sharing contents using information of group change in content oriented network environment
WO2019132314A1 (ko) 무선 통신 시스템에서 네트워크 기능 가상화를 위한 장치 및 방법
WO2022059826A1 (ko) 디지털 트윈 환경 기반의 융합형 스마트-IoT 커넥티드 미들웨어 장치 및 제공 방법
WO2013176431A1 (ko) 단말을 서버에 할당하고 단말로의 효율적인 메시징을 위한 시스템 및 방법
WO2014003510A1 (ko) 토폴로지를 이용하여 데이터를 공유하는 장치 및 방법
WO2013027922A1 (ko) 클라우드 컴퓨팅 시스템의 압축 이미지 파일 관리 장치 및 방법
WO2014112831A1 (en) Method and system for dynamically changing page allocator
WO2020222407A1 (ko) 머신 러닝 플랫폼 관리 시스템 및 방법
WO2022124467A1 (ko) 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치 및 관리 방법
WO2018043767A1 (ko) 데이터 에이전트 컨테이너를 이용한 데이터 수집 방법 및 이의 시스템
WO2013085089A1 (ko) M2m 클라우드 환경에서 통신망 자원 활용 방법 및 그 시스템
WO2014092292A1 (ko) 클라우드 스트리밍 기반의 데이터 이동 방법, 시스템, 클라이언트 단말기 및 서비스장치
WO2013062272A2 (ko) 클라우드 서비스 제공 방법 및 장치
WO2021080110A1 (ko) 클라우드 환경에서 단말의 소속 식별 및 관리를 위한 시스템과 방법
WO2016153119A1 (ko) 폐쇄형 데이터 공유 서비스 데이터 관리 방법 및 시스템
WO2023080491A1 (ko) 애플리케이션 생성 서비스 제공 방법 및 장치
WO2022080706A1 (ko) 통신 네트워크 시스템 및 그것의 제어방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20965222

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20965222

Country of ref document: EP

Kind code of ref document: A1