KR102426132B1 - Apparatus and method for containers arrangement in cloud computing - Google Patents
Apparatus and method for containers arrangement in cloud computing Download PDFInfo
- Publication number
- KR102426132B1 KR102426132B1 KR1020190145794A KR20190145794A KR102426132B1 KR 102426132 B1 KR102426132 B1 KR 102426132B1 KR 1020190145794 A KR1020190145794 A KR 1020190145794A KR 20190145794 A KR20190145794 A KR 20190145794A KR 102426132 B1 KR102426132 B1 KR 102426132B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- container
- processor
- groups
- cloud computing
- 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/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- 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/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Container Filling Or Packaging Operations (AREA)
- Stacking Of Articles And Auxiliary Devices (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명의 일실시예에 따르면, , 클라우드 컴퓨팅 환경에서의 컨테이너 배치 장치에 있어서, 적어도 하나의 명령어를 포함하는 메모리 및 상기 메모리와 작동적으로 연결되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 명령어가 상기 적어도 하나의 프로세서에서 실행되면, 상기 적어도 하나의 프로세서는, 미리 설정된 기준에 따라 노드를 그룹핑(grouping)하여 적어도 2개 이상의 노드 그룹을 생성하고, 상기 생성한 적어도 2개 이상의 노드 그룹 각각에 대한 컨테이너 배치 기준을 결정하고, 상기 결정한 컨테이너 배치 기준과 컨테이너 서비스의 특성을 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 포함된 노드에 컨테이너를 배치한다.According to an embodiment of the present invention, in a container deployment apparatus in a cloud computing environment, a memory including at least one instruction and at least one processor operatively connected to the memory, the at least one When an instruction is executed in the at least one processor, the at least one processor creates at least two or more node groups by grouping nodes according to a preset criterion, and each of the generated at least two or more node groups A container arrangement criterion is determined for , and a container is arranged in a node included in one node group among the at least two or more node groups based on the determined container arrangement criterion and the characteristics of the container service.
Description
아래의 실시예들은 클라우드 컴퓨팅 환경에서의 컨테이너 배치 장치 및 방법에 관한 것이다.The following embodiments relate to an apparatus and method for container deployment in a cloud computing environment.
클라우드 컴퓨팅(영어: cloud computing)은 클라우드(인터넷)을 통해 가상화 된 컴퓨터의 시스템 리소스(IT 리소스)를 제공하는 것이다. 인터넷 기반 컴퓨팅의 일종으로 정보를 자신의 컴퓨터가 아닌 클라우드(인터넷)에 연결된 다른 컴퓨터로 처리하는 기술을 의미한다. 공유 컴퓨터 처리 자원과 데이터를 컴퓨터와 다른 장치들에 요청 시 제공해준다. 구성 가능한 컴퓨팅 자원(예: 컴퓨터 네트워크, 데이터 베이스, 서버, 스토리지, 애플리케이션, 서비스, 인텔리전스)에 대해 어디서나 접근할 수 있는, 주문형 접근(on-demand availability of computer system resources)을 가능케하는 모델이며 최소한의 관리 노력으로 빠르게 예비 및 릴리스를 가능케 한다. Cloud computing (English: cloud computing) is to provide system resources (IT resources) of virtualized computers through the cloud (Internet). As a type of 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). Provides shared computer processing resources and data to computers and other devices on demand. A model that enables ubiquitous, on-demand availability of computer system resources to configurable computing resources (e.g., computer networks, databases, servers, storage, applications, services, and intelligence), with minimal Administrative effort enables rapid provisioning and release.
컨테이너란 호스트 OS상에 논리적인 구획(컨테이너)을 만들고, 어플리케이션을 작동시키기 위해 필요한 라이브러리나 어플리케이션 등을 하나로 모아, 마치 별도의 서버인 것처럼 사용할 수 있게 만든 것이다. 호스트 OS의 리소스를 논리적으로 분리시키고, 여러 개의 컨테이너가 공유하여 사용한다. 컨테이너는 오버헤드가 적기 때문에 가볍고 고속으로 작동하는 것이 특징이다.A container is a thing that makes a logical partition (container) on the host OS and collects libraries or applications necessary to run an 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 is shared and used by multiple containers. Containers are characterized by being lightweight and operating at high speed because of low overhead.
본 발명의 실시예에 따르면, 미리 설정된 기준에 따라 노드를 그룹핑하여 적어도 2개 이상의 노드 그룹을 생성할 수 있다.According to an embodiment of the present invention, at least two or more node groups may be created by grouping nodes according to preset criteria.
또한, 본 발명의 다른 실시예에 따르면, 생성한 적어도 2개 이상의 노드 그룹 각각에 대한 컨테이너 배치 조건을 결정할 수 있다.Also, according to another embodiment of the present invention, a container arrangement condition for each of the at least two or more node groups created may be determined.
또한, 본 발명의 또 다른 실시예에 따르면, 결정한 컨테이너 배치 조건과 컨테이너 서비스의 특성을 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 포함된 노드에 컨테이너를 배치할 수 있다.Also, according to another embodiment of the present invention, a container may be arranged in a node included in one node group among the at least two or more node groups based on the determined container arrangement condition and the characteristics of the container service.
또한, 본 발명의 또 다른 실시예에 따르면, 적어도 2개 이상의 노드 그룹 각각의 컨테이너 수용 가능 여부를 모니터링 할 수 있다.In addition, according to another embodiment of the present invention, it is possible to monitor whether each of the containers of at least two or more node groups can be accommodated.
또한, 본 발명의 또 다른 실시예에 따르면, 모니터링 결과를 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 포함된 적어도 하나의 노드를 다른 노드 그룹으로 재배치할 수 있다.Also, according to another embodiment of the present invention, at least one node included in one node group among the at least two or more node groups may be relocated to another node group based on the monitoring result.
본 발명의 일실시예에 따르면, 클라우드 컴퓨팅 환경에서의 컨테이너 배치 장치에 있어서, 적어도 하나의 명령어를 포함하는 메모리 및 상기 메모리와 작동적으로 연결되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 명령어가 상기 적어도 하나의 프로세서에서 실행되면, 상기 적어도 하나의 프로세서는, 미리 설정된 기준에 따라 노드를 그룹핑(grouping)하여 적어도 2개 이상의 노드 그룹을 생성하고, 상기 생성한 적어도 2개 이상의 노드 그룹 각각에 대한 컨테이너 배치 기준을 결정하고, 상기 결정한 컨테이너 배치 기준과 컨테이너 서비스의 특성을 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 포함된 노드에 컨테이너를 배치한다.According to an embodiment of the present invention, in a container deployment apparatus in a cloud computing environment, a memory including at least one instruction and at least one processor operatively connected to the memory, the at least one instruction is executed in the at least one processor, the at least one processor creates at least two or more node groups by grouping nodes according to a preset criterion, and A container arrangement criterion is determined for a container, and the container is arranged in a node included in one node group among the at least two or more node groups based on the determined container arrangement criterion and the characteristics of the container service.
또한, 상기 미리 설정된 기준은, 지연 요구(delay requirement)일 수 있다.In addition, the preset criterion may be a delay requirement.
또한, 상기 컨테이너 배치 기준은, 상기 적어도 2개 이상의 노드 그룹 각각의 네트워크 리소스 사용량을 기초로 결정될 수 있다.Also, the container arrangement criterion may be determined based on network resource usage of each of the at least two or more node groups.
또한, 상기 적어도 하나의 프로세서는, 상기 적어도 2개 이상의 노드 그룹 각각의 컨테이너 수용 가능 여부를 모니터링 하고, 상기 모니터링 결과를 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 포함된 적어도 하나의 노드를 다른 노드 그룹으로 재배치할 수 있다.In addition, the at least one processor monitors whether each container can be accommodated in the at least two or more node groups, and based on the monitoring result, at least one of the at least one node group included in the at least two or more node groups. A node can be relocated to another node group.
또한, 상기 적어도 하나의 프로세서는, 미리 설정된 시간 마다, 상기 적어도 2개 이상의 노드 그룹 각각의 컨테이너 수용 가능 여부를 재모니터링 하고, 상기 재모니터링 결과를 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 재배치한 상기 적어도 하나의 노드를 재배치 전 노드 그룹에 다시 배치할 수 있다.In addition, the at least one processor re-monitors whether each container of the at least two or more node groups can be accommodated every preset time, and based on the re-monitoring result, one node of the at least two or more node groups The at least one node relocated to the group may be relocated to the node group prior to relocation.
본 발명의 다른 실시예에 따르면, 미리 설정된 기준에 따라 노드를 그룹핑(grouping)하여 적어도 2개 이상의 노드 그룹을 생성하는 단계, 상기 생성한 적어도 2개 이상의 노드 그룹 각각에 대한 컨테이너 배치 기준을 결정하는 단계 및 상기 결정한 컨테이너 배치 기준과 컨테이너 서비스의 특성을 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 포함된 노드에 컨테이너를 배치하는 단계를 포함한다.According to another embodiment of the present invention, generating at least two or more node groups by grouping nodes according to a preset criterion, determining a container arrangement criterion for each of the created at least two or more node groups and arranging a container in a node included in one of the at least two or more node groups based on the determined container placement criteria and container service characteristics.
또한, 상기 미리 설정된 기준은, 지연 요구(delay requirement)일 수 있다.In addition, the preset criterion may be a delay requirement.
또한, 상기 컨테이너 배치 기준은, 상기 적어도 2개 이상의 노드 그룹 각각의 네트워크 리소스 사용량을 기초로 결정될 수 일다.In addition, the container arrangement criterion may be determined based on the network resource usage of each of the at least two or more node groups.
또한, 상기 클라우드 컴퓨팅 환경에서의 컨테이너 배치 방법은, 상기 적어도 2개 이상의 노드 그룹 각각의 컨테이너 수용 가능 여부를 모니터링 하는 단계 및 상기 모니터링 결과를 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 포함된 적어도 하나의 노드를 다른 노드 그룹으로 재배치하는 단계를 더 포함할 수 있다.In addition, the container arrangement method in the cloud computing environment includes the steps of monitoring whether each of the at least two or more node groups can accommodate a container, and based on the monitoring result, in one node group of the at least two or more node groups. The method may further include relocating the included at least one node to another node group.
또한, 상기 클라우드 컴퓨팅 환경에서의 컨테이너 배치 방법은, 미리 설정된 시간 마다, 상기 적어도 2개 이상의 노드 그룹 각각의 컨테이너 수용 가능 여부를 재모니터링 하는 단계 및 상기 모니터링 결과를 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 재배치한 상기 적어도 하나의 노드를 재배치 전 노드 그룹에 다시 배치하는 단계를 더 포함할 수 있다.In addition, the container arrangement method in the cloud computing environment includes the steps of re-monitoring whether each of the at least two or more node groups can accommodate a container at every preset time, and the at least two or more node groups based on the monitoring result The method may further include relocating the at least one node relocated to one node group in the node group before relocation.
본 발명의 일실시예에 따르면, 미리 설정된 기준에 따라 노드를 그룹핑하여 적어도 2개 이상의 노드 그룹을 생성할 수 있는 효과가 있다.According to an embodiment of the present invention, there is an effect that at least two or more node groups can be created by grouping nodes according to a preset criterion.
또한, 생성한 적어도 2개 이상의 노드 그룹 각각에 대한 컨테이너 배치 조건을 결정할 수 있는 효과가 있다.In addition, there is an effect of determining a container arrangement condition for each of the generated at least two or more node groups.
또한, 결정한 컨테이너 배치 조건과 컨테이너 서비스의 특성을 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 포함된 노드에 컨테이너를 배치할 수 있는 효과가 있다.In addition, there is an effect that the container can be arranged in a node included in one node group among the at least two or more node groups based on the determined container arrangement condition and the characteristics of the container service.
또한, 적어도 2개 이상의 노드 그룹 각각의 컨테이너 수용 가능 여부를 모니터링 할 수 있는 효과가 있다.In addition, there is an effect that it is possible to monitor whether the container can be accommodated in each of at least two or more node groups.
또한, 모니터링 결과를 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 포함된 적어도 하나의 노드를 다른 노드 그룹으로 재배치할 수 있는 효과가 있다.Also, there is an effect that at least one node included in one node group among the at least two or more node groups can be relocated to another node group based on the monitoring result.
도 1은 일실시예에 따른 클라우드 컴퓨팅 환경에서의 컨테이너 배치 장치의 구성을 나타내는 도면이다.
도 2는 일실시예에 따른 클라우드 컴퓨팅 환경에서의 컨테이너 배치 방법을 나타내는 플로우 차트이다.
도 3은 일실시예에 따라, 미리 설정된 기준에 따라 노드를 그룹핑하여 노드 그룹을 생성한 모습을 나타내는 도면이다.
도 4는 일실시예에 따라, 컨테이너 배치 조건에 따라 노드 그룹에 포함된 노드에 컨테이너들이 배치된 모습을 나타내는 도면이다.
도 5는 일실시예에 따라, 하나의 노드 그룹에 포함된 노드를 다른 노드 그룹으로 재배치하는 모습을 나타내는 도면이다.1 is a diagram showing the configuration of a container arrangement apparatus in a cloud computing environment according to an embodiment.
2 is a flowchart illustrating a container arrangement method in a cloud computing environment according to an embodiment.
3 is a diagram illustrating a state in which a node group is created by grouping nodes according to a preset criterion, according to an embodiment.
4 is a diagram illustrating a state in which containers are arranged in nodes included in a node group according to container arrangement conditions, according to an exemplary embodiment.
5 is a diagram illustrating a state in which a node included in one node group is rearranged into another node group, according to an embodiment.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.Specific structural or functional descriptions for the embodiments according to the concept of the present invention disclosed in this specification are only exemplified for the purpose of explaining the embodiments according to the concept of the present invention, and the embodiments according to the concept of the present invention are It may be implemented in various forms and is not limited to the embodiments described herein.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Since the embodiments according to the concept of the present invention may have various changes and may have various forms, the embodiments will be illustrated in the drawings and described in detail herein. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosed forms, and includes all modifications, equivalents, or substitutes included in the spirit and scope of the present invention.
제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 the terms. The above terms are used only for the purpose of distinguishing one element from other elements, 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.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but it is understood that other components may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle. Other expressions describing the relationship between elements, such as "between" and "immediately between" or "neighboring to" and "directly adjacent to", etc., should be interpreted similarly.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.The terms used herein are used only to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise.
본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.As used herein, terms such as “comprise” or “have” are intended to designate that the described feature, number, step, operation, component, part, or combination thereof exists, and includes one or more other features or numbers. , it is to be understood that it does not preclude the possibility of the presence or addition of steps, operations, components, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.Unless defined otherwise, 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 this invention belongs.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present specification. does not
이하의 설명에서 동일한 식별 기호는 동일한 구성을 의미하며, 불필요한 중복적인 설명 및 공지 기술에 대한 설명은 생략하기로 한다.In the following description, the same identification symbols mean the same configuration, and unnecessary redundant descriptions and descriptions of well-known technologies will be omitted.
본 발명의 실시 예에서 '통신', '통신망' 및 '네트워크'는 동일한 의미로 사용될 수 있다. 상기 세 용어들은, 파일을 사용자 단말, 다른 사용자들의 단말 및 다운로드 서버 사이에서 송수신할 수 있는 유무선의 근거리 및 광역 데이터 송수신망을 의미한다.In an embodiment of the present invention, '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.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.Hereinafter, the present invention will be described in detail by describing preferred embodiments of the present invention with reference to the accompanying drawings.
도 1은 일실시예에 따른 클라우드 컴퓨팅 환경에서의 컨테이너 배치 장치의 구성을 나타내는 도면이다.1 is a diagram showing the configuration of a container arrangement apparatus in a cloud computing environment according to an embodiment.
도 1을 참조하면, 일실시예에 따른 클라우드 컴퓨팅 환경에서의 컨테이너 배치 장치(100)는 프로세서(110), 입출력 인터페이스 모듈(120) 및 메모리(130)를 포함한다.Referring to FIG. 1 , a
일실시예에 따른 클라우드 컴퓨팅 환경에서의 컨테이너 배치 장치(100)를 구성하는 프로세서(110), 입출력 인터페이스 모듈(120) 및 메모리(130)는 상호 연결되어 있으며, 상호 데이터를 전송하는 것이 가능하다.The
프로세서(110)는 메모리(130)에 저장된 프로그램들 또는 명령들을 실행시킬 수 있다. 이때, 메모리(130)에는 컨테이너 배치 장치(100)를 동작시키기 위한 동작프로그램(예컨대, OS)이 저장될 수 있다.The
프로세서(110)는 컨테이너 배치 장치(100)에 대한 정보를 관리하기 위한 프로그램을 실행시킬 수 있다.The
프로세서(110)는 컨테이너 배치 장치(100)의 동작을 관리하기 위한 프로그램을 실행시킬 수 있다.The
프로세서(110)는 입출력 인터페이스 모듈(120)의 동작을 관리하기 위한 프로그램을 실행시킬 수 있다.The
프로세서(110)는 미리 설정된 기준에 따라 노드를 그룹핑(grouping)하여 적어도 2개 이상의 노드 그룹을 생성할 수 있다. 이때, 상기 미리 설정된 기준은 지연 요구(delay requirement)일 수 있으나, 상기 미리 설정된 기준이 이에 한정되는 것은 아니다.The
일실시예에 따라, 프로세서(110)는 지연 요구(delay requirement)에 따라 노드를 3개의 그룹으로 그룹핑 할 수 있다. 이때, 상기 3개의 그룹은 엄격한 노드 그룹(Stringent Node Group), 중간 노드 그룹(Medium Node Group) 및 느슨한 노드 그룹(Loose Node Group)일 수 있다. 또한, 엄격한 노드 그룹(Stringent Node Group)에 대한 지연 요구(delay requirement)는 10ms미만이고, 중간 노드 그룹(Medium Node Group)에 대한 지연 요구(delay requirement)는 30ms미만이며, 느슨한 노드 그룹(Loose Node Group)에 대한 지연 요구(delay requirement)는 30ms이상일 수 있다.According to an embodiment, the
프로세서(110)는 상기 생성한 적어도 2개 이상의 노드 그룹 각각에 대한 컨테이너 배치 기준을 결정할 수 있다.The
프로세서(110)는 상기 생성한 적어도 2개 이상의 노드 그룹 각각에 대한 컨테이너 배치 기준을 결정하기 위하여 하기 [수학식 1] 또는 [수학식 2]를 이용할 수 있다.The
여기서, 은 대상 노드의 최대 레이턴시(Latency)이고, 은 특정 노드 n의 현재 네트워크 유틸리제이션(network utilization)이고, 는 특정 컨테이너의 요구 네트워크 유틸리제이션(network utilization)이며, 는 특정 네트워크 유틸리제이션(network utilization) 값 x에 따른 레이턴시(latency) 함수이다.here, is the maximum latency of the target node, is the current network utilization of a specific node n, is the required network utilization of a particular container, is a latency function according to a specific network utilization value x.
일실시예에 따라, 프로세서(110)는 엄격한 노드 그룹(Stringent Node Group)에서 선택된 노드에 [수학식 1]에 따라 컨테이너를 배치할 수 있다. 이때, [수학식 1]에 따른 컨테이너 배치는 네트워크 리소스(Network Resource) 사용량이 낮은 노드를 우선적으로 선정하여 배치될 컨테이너에 최적의 조건을 제공할 수 있다.According to an embodiment, the
일실시예에 따라, 프로세서(110)는 중간 노드 그룹(Medium Node Group) 및 느슨한 노드 그룹(Loose Node Group)에서 선택된 노드에 [수학식 2]에 따라 컨테이너를 배치할 수 있다. 이때, [수학식 2]에 따른 컨테이너 배치는 네트워크 리소스(Network Resource) 사용량이 높은 노드를 우선적으로 선정하여 한 노드의 자원을 최대한 사용할 수 있다.According to an embodiment, the
프로세서(110)는 상기 결정한 컨테이너 배치 기준과 컨테이너 서비스의 특성을 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 포함된 노드에 컨테이너를 배치할 수 있다. 이때, 상기 컨테이너 서비스는 상기 컨테이너에 포함된 어플리케이션 등의 동작으로 인해 제공되는 서비스를 통칭한다. The
일실시예에 따라, 프로세서(110)는 10ms미만의 지연 요구(delay requirement)가 요구되는 컨테이너 서비스에 해당하는 컨테이너를 엄격한 노드 그룹(Stringent Node Group)에 포함된 노드에 배치할 수 있다.According to an embodiment, the
일실시예에 따라, 프로세서(110)는 10ms이상 30ms미만의 지연 요구(delay requirement)가 요구되는 컨테이너 서비스에 해당하는 컨테이너를 중간 노드 그룹(Medium Node Group)에 포함된 노드에 배치할 수 있다.According to an embodiment, the
일실시예에 따라, 프로세서(110)는 30ms이상의 지연 요구(delay requirement)가 허용되는 컨테이너 서비스에 해당하는 컨테이너를 느슨한 노드 그룹(Loose Node Group)에 포함된 노드에 배치할 수 있다.According to an embodiment, the
프로세서(110)는 상기 적어도 2개 이상의 노드 그룹 각각의 컨테이너 수용 가능 여부를 모니터링할 수 있다.The
일실시예에 따라, 프로세서(110)는 상기 적어도 2개 이상의 노드 그룹 각각에 포함된 노드의 수, 상기 적어도 2개 이상의 노드 그룹 각각에 포함된 노드에 수용된 컨테이너의 수 및 상기 적어도 2개 이상의 노드 그룹 각각에 포함된 컨테이너가 수용되지 않은 예비된(reserved) 노드의 수를 모니터링할 수 있다.According to an embodiment, the
프로세서(110)는 상기 모니터링 결과를 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 포함된 적어도 하나의 노드를 다른 노드 그룹으로 재배치할 수 있다.The
복수개의 노드 그룹 중 더 이상 컨테이너를 수용할 수 없는 적어도 하나의 노드 그룹이 존재하고, 상기 복수개의 노드 그룹 중 적어도 다른 어느 하나의 노드 그룹에 컨테이너가 수용되지 않은 예비된(reserved) 노드가 포함된 경우, 일실시예에 따라, 프로세서(110)는 상기 복수개의 노드 그룹 중 적어도 다른 어느 하나의 노드 그룹에 포함된 컨테이너가 수용되지 않은 예비된(reserved) 노드를 빌려(borrow) 상기 복수개의 노드 그룹 중 더 이상 컨테이너를 수용할 수 없는 노드 그룹으로 재배치할 수 있다. 이때, 상기 예비된(reserved) 노드에는 재배치된 노드 그룹의 컨테이너 배치 기준이 적용될 수 있다.At least one node group that can no longer accommodate containers among the plurality of node groups exists, and at least one other node group among the plurality of node groups includes a reserved node in which no container is accommodated. In this case, according to an embodiment, the
프로세서(110)는 미리 설정된 시간 마다, 상기 적어도 2개 이상의 노드 그룹 각각의 컨테이너 수용 가능 여부를 재모니터링 할 수 있다. 이때, 상기 미리 설정된 시간은 컨테이너 서비스의 특성에 따라 변경된다.The
프로세서(110)는 상기 모니터링 결과를 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 재배치한 상기 적어도 하나의 노드를 재배치 전 노드 그룹에 다시 배치할 수 있다.The
일실시예에 따라, 프로세서(110)는 복수개의 노드 그룹 중 더 이상 컨테이너를 수용할 수 없었던 적어도 하나의 노드 그룹에 포함된 컨테이너 서비스가 종료되어 상기 복수개의 노드 그룹 중 더 이상 컨테이너를 수용할 수 없었던 적어도 하나의 노드 그룹의 리소스 부족이 해결되었는지를 모니터링할 수 있다. According to an embodiment, the
일실시예에 따라, 프로세서(110)는 상기 복수개의 노드 그룹 중 더 이상 컨테이너를 수용할 수 없었던 적어도 하나의 노드 그룹의 리소스 부족이 해결된 경우, 재배치한 상기 적어도 하나의 노드를 상기 복수개의 노드 그룹 중 재배치 전 노드 그룹에 다시 배치할 수 있다.According to an embodiment, when the resource shortage of at least one node group that can no longer accommodate the container among the plurality of node groups is resolved, the
입출력 인터페이스 모듈(120)은 네트워크를 통하여 외부 장치(예컨대, 서버)와 연결될 수 있다.The input/
입출력 인터페이스 모듈(120)은 외부 장치로부터 데이터를 획득할 수 있다.The input/
입출력 인터페이스 모듈(120)은 외부 장치로 데이터를 전송할 수 있다.The input/
입출력 인터페이스 모듈(120)은 컨테이너 배치(100)와 일체형으로 제공될 수 있다.The input/
입출력 인터페이스 모듈(120)은 컨테이너 배치(100)에서 분리되어 제공될 수 있다.The input/
입출력 인터페이스 모듈(120)은 컨테이너 배치(100)와 통신적으로 연결될 별도의 장치일 수 있다.The input/
입출력 인터페이스 모듈(120)은 외부 장치와 연결되기 위한 포트(예컨대, 통신 포트)를 포함할 수 있다.The input/
입출력 인터페이스 모듈(120)은 모니터, 터치스크린, 마우스, 전자펜, 마이크로폰, 키보드, 스피커, 이어폰, 헤드폰 또는 터치패드를 포함할 수 있다.The input/
메모리(130)는 입출력 인터페이스 모듈(120)을 통해 획득한 데이터를 저장할 수 있다.The memory 130 may store data acquired through the input/
메모리(130)는 프로세서(110)가 노드 그룹을 생성하기 위한 기준을 저장할 수 있다.The memory 130 may store criteria for the
메모리(130)는 프로세서(110)가 결정한 노드 그룹 각각에 대한 컨테이너 배치 기준을 저장할 수 있다.The memory 130 may store container placement criteria for each node group determined by the
메모리(130)는 프로세서(110)가 모니터링한 노드 그룹 각각의 컨테이너 수용 가능 여부를 저장할 수 있다.The memory 130 may store whether containers of each node group monitored by the
메모리(130)는 프로세서(110)가 재배치한 노드를 저장할 수 있다.The memory 130 may store the node rearranged by the
메모리(130)는 프로세서(110)가 재모니터링한 노드 그룹 각각의 컨테이너 수용 가능 여부를 저장할 수 있다.The memory 130 may store whether containers of each node group re-monitored by the
메모리(130)는 프로세서(110)가 재배치한 노드가 원래의 노드로 다시 배치되었는지 여부를 저장할 수 있다.The memory 130 may store whether the node relocated by the
여기서 사용된 '모듈'이라는 용어는 논리적인 구성 단위를 나타내는 것으로서, 반드시 물리적으로 구분되는 구성 요소가 아니라는 점은 본 발명이 속하는 기술분야의 당업자에게 자명한 사항이다.As used herein, the term '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.
도 2는 일실시예에 따른 클라우드 컴퓨팅 환경에서의 컨테이너 배치 방법을 나타내는 플로우 차트이다.2 is a flowchart illustrating a container arrangement method in a cloud computing environment according to an embodiment.
도 2를 참조하면, 일실시예에 따른 클라우드 컴퓨팅 환경에서의 컨테이너 배치 장치가 미리 설정된 기준에 따라 노드를 그룹핑(grouping)하여 적어도 2개 이상의 노드 그룹을 생성한다(200).Referring to FIG. 2 , a container arrangement apparatus in a cloud computing environment according to an embodiment groups nodes according to preset criteria to create at least two or more node groups ( 200 ).
이때, 상기 미리 설정된 기준은 지연 요구(delay requirement)일 수 있다.In this case, the preset criterion may be a delay requirement.
또한, 상기 컨테이너 배치 장치는 지연 요구(delay requirement)에 따라 노드를 3개의 그룹으로 그룹핑 할 수 있다. 이때, 상기 3개의 그룹은 엄격한 노드 그룹(Stringent Node Group), 중간 노드 그룹(Medium Node Group) 및 느슨한 노드 그룹(Loose Node Group)일 수 있다.Also, the container arrangement apparatus may group nodes into three groups according to a delay requirement. In this case, the three groups may be a stringent node group, a medium node group, and a loose node group.
컨테이너 배치 장치가 상기 생성한 적어도 2개 이상의 노드 그룹 각각에 대한 컨테이너 배치 기준을 결정한다(210).The container arrangement apparatus determines a container arrangement criterion for each of the at least two or more node groups created above ( 210 ).
이때, 상기 컨테이너 배치 기준은 상기 적어도 2개 이상의 노드 그룹 각각의 네트워크 리소스 사용량을 기초로 결정될 수 있다.In this case, the container arrangement criterion may be determined based on the network resource usage of each of the at least two or more node groups.
컨테이너 배치 장치가 상기 결정한 컨테이너 배치 기준과 컨테이너 서비스의 특성을 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 포함된 노드에 컨테이너를 배치한다(220).The container arrangement apparatus arranges a container in a node included in one node group among the at least two or more node groups based on the determined container arrangement standard and the characteristics of the container service ( 220 ).
이때, 상기 컨테이너 배치 장치는 10ms미만의 지연 요구(delay requirement)가 요구되는 컨테이너 서비스에 해당하는 컨테이너를 엄격한 노드 그룹(Stringent Node Group)에 포함된 노드에 배치할 수 있다.In this case, the container arrangement apparatus may arrange a container corresponding to a container service requiring a delay requirement of less than 10 ms to a node included in a stringent node group.
또한, 상기 컨테이너 배치 장치는 10ms이상 30ms미만의 지연 요구(delay requirement)가 요구되는 컨테이너 서비스에 해당하는 컨테이너를 중간 노드 그룹(Medium Node Group)에 포함된 노드에 배치할 수 있다.In addition, the container arrangement apparatus may arrange a container corresponding to a container service for which a delay requirement of 10 ms or more and less than 30 ms is required in a node included in a Medium Node Group.
또한, 상기 컨테이너 배치 장치는 30ms이상의 지연 요구(delay requirement)가 허용되는 컨테이너 서비스에 해당하는 컨테이너를 느슨한 노드 그룹(Loose Node Group)에 포함된 노드에 배치할 수 있다.In addition, the container arrangement apparatus may arrange a container corresponding to a container service allowing a delay requirement of 30 ms or more to a node included in a loose node group.
컨테이너 배치 장치가 상기 적어도 2개 이상의 노드 그룹 각각의 컨테이너 수용 가능 여부를 모니터링한다(230).The container arrangement device monitors whether containers of each of the at least two or more node groups can be accommodated ( 230 ).
이때, 상기 컨테이너 배치 장치는 상기 적어도 2개 이상의 노드 그룹 각각에 수용된 노드의 수, 상기 적어도 2개 이상의 노드 그룹 각각에 포함된 노드에 수용된 컨테이너의 수 및 상기 적어도 2개 이상의 노드 그룹 각각에 포함된 컨테이너가 수용되지 않은 예비된(reserved) 노드의 수를 모니터링할 수 있다.In this case, the container arrangement device includes the number of nodes accommodated in each of the at least two or more node groups, the number of containers accommodated in the nodes included in each of the at least two or more node groups, and each of the at least two or more node groups. It is possible to monitor the number of reserved nodes for which the container is not accommodated.
컨테이너 배치 장치가 상기 모니터링 결과를 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 포함된 적어도 하나의 노드를 다른 노드 그룹으로 재배치한다(240).The container arrangement apparatus relocates at least one node included in one node group among the at least two or more node groups to another node group based on the monitoring result (240).
여기서, 복수개의 노드 그룹 중 더 이상 컨테이너를 수용할 수 없는 적어도 하나의 노드 그룹이 존재하고, 상기 복수개의 노드 그룹 중 적어도 다른 어느 하나의 노드 그룹에 컨테이너가 수용되지 않은 예비된(reserved) 노드가 포함된 경우, 상기 컨테이너 배치 장치는 상기 복수개의 노드 그룹 중 적어도 다른 어느 하나의 노드 그룹에 포함된 컨테이너가 수용되지 않은 예비된(reserved) 노드를 빌려(borrow) 상기 복수개의 노드 그룹 중 더 이상 컨테이너를 수용할 수 없는 노드 그룹으로 재배치할 수 있다.Here, there is at least one node group that can no longer accommodate a container among a plurality of node groups, and a reserved node in which a container is not accommodated in at least one other node group among the plurality of node groups If included, the container arrangement device borrows a reserved node in which a container included in at least one other node group among the plurality of node groups is not accommodated and no longer contains any more containers among the plurality of node groups. can be relocated to an unacceptable node group.
컨테이너 배치 장치가 미리 설정된 시간 마다, 상기 적어도 2개 이상의 노드 그룹 각각의 컨테이너 수용 가능 여부를 재모니터링한다(250).The container arrangement apparatus re-monitors whether the container can be accommodated in each of the at least two or more node groups at preset times ( 250 ).
이때, 상기 미리 설정된 시간은 컨테이너 서비스의 특성에 따라 변경된다.In this case, the preset time is changed according to the characteristics of the container service.
컨테이너 배치 장치가 상기 재모니터링 결과를 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 재배치한 상기 적어도 하나의 노드를 재배치 전 노드 그룹에 다시 배치한다(260).The container arrangement device re-arranges the at least one node relocated to one node group among the at least two or more node groups based on the re-monitoring result in the node group before the relocation ( 260 ).
이때, 상기 컨테이너 배치 장치는 상기 복수개의 노드 그룹 중 더 이상 컨테이너를 수용할 수 없었던 적어도 하나의 노드 그룹의 리소스 부족이 해결된 경우, 재배치한 상기 적어도 하나의 노드를 상기 복수개의 노드 그룹 중 재배치 전 노드 그룹에 다시 배치할 수 있다.In this case, when the resource shortage of at least one node group that could no longer accommodate the container among the plurality of node groups is resolved, the container arrangement apparatus relocates the relocated at least one node among the plurality of node groups before relocating. You can redeploy it to a nodegroup.
도 3은 일실시예에 따라, 미리 설정된 기준에 따라 노드를 그룹핑하여 노드 그룹을 생성한 모습을 나타내는 도면이다.3 is a diagram illustrating a state in which a node group is created by grouping nodes according to a preset criterion, according to an embodiment.
도 3을 참조하면, 컨테이너 배치 장치는 지연 요구(delay requirement)에 따라 노드들(301, 302, 303, 311, 312, 313, 321, 322, 323)을 3개의 그룹(300, 310, 320)으로 그룹핑 할 수 있다. 이때, 상기 3개의 그룹(300, 310, 320)은 엄격한 노드 그룹(Stringent Node Group)(300), 중간 노드 그룹(Medium Node Group)(310) 및 느슨한 노드 그룹(Loose Node Group)(320)일 수 있다. 또한, 엄격한 노드 그룹(Stringent Node Group)(300)에 대한 지연 요구(delay requirement)는 10ms미만이고, 중간 노드 그룹(Medium Node Group)(310)에 대한 지연 요구(delay requirement)는 30ms미만이며, 느슨한 노드 그룹(Loose Node Group)(320)에 대한 지연 요구(delay requirement)는 30ms이상일 수 있다.Referring to Figure 3, the container arrangement apparatus according to the delay requirement (delay requirement) nodes (301, 302, 303, 311, 312, 313, 321, 322, 323) three groups (300, 310, 320) can be grouped by At this time, the three
컨테이너 배치 장치는 그룹핑이 완료된 이후라도 3개의 그룹(300, 310, 320)에 포함된 노드들(301, 302, 303, 311, 312, 313, 321, 322, 323) 중 적어도 어느 하나의 노드를 다른 그룹으로 재배치할 수 있다.Even after the grouping is completed, the container arrangement device selects at least one node among the
도 4는 일실시예에 따라, 컨테이너 배치 조건에 따라 노드 그룹에 포함된 노드에 컨테이너들이 배치된 모습을 나타내는 도면이다.4 is a diagram illustrating a state in which containers are arranged in nodes included in a node group according to container arrangement conditions, according to an embodiment.
도 4를 참조하면, 일실시예에 따라 도 4 (a)는 엄격한 노드 그룹(Stringent Node Group)에서 컨테이너가 배치되는 모습을 나타내며, 도 4 (b)는 중간 노드 그룹(Medium Node Group) 및 느슨한 노드 그룹(Loose Node Group)에서 컨테이너가 배치되는 모습을 나타낸다.Referring to FIG. 4, according to an embodiment, FIG. 4 (a) shows a state in which containers are arranged in a strict node group (Stringent Node Group), and FIG. 4 (b) is a medium node group and a loose node group. It shows how containers are arranged in a Loose Node Group.
컨테이너 배치 장치는 노드 그룹(400, 410) 각각에 대한 컨테이너 배치 기준을 결정하기 위하여 하기 상기 [수학식 1] 또는 상기 [수학식 2]를 이용할 수 있다.The container arrangement apparatus may use the following [Equation 1] or [Equation 2] to determine a container arrangement criterion for each of the
도 4 (a)를 참조하면, 컨테이너 배치 장치는 엄격한 노드 그룹(Stringent Node Group)(400)에서 상기 [수학식 1]에 따라 컨테이너를 배치할 수 있다. Referring to FIG. 4A , the container arrangement apparatus may arrange containers according to
컨테이너 배치 장치는 상기 [수학식 1]에 따라, 네트워크 리소스(Network Resource) 사용량이 낮은 노드(401. 402)에 컨테이너를 우선적으로 배치할 수 있다.According to
컨테이너 배치 장치는 네트워크 리소스(Network Resource) 사용량이 모두 같은 경우, 엄격한 노드 그룹(Stringent Node Group) 미리 설정된 첫 번째 노드에 컨테이너를 배치할 수 있다.The container placement device may place the container on the first node that is preset in a Stringent Node Group when the network resource usage is all the same.
도 4 (b)를 참조하면, 컨테이너 배치 장치는 중간 노드 그룹(Medium Node Group) 및 느슨한 노드 그룹(Loose Node Group)(410)에서 상기 [수학식 2]에 따라 컨테이너를 배치할 수 있다. Referring to FIG. 4B , the container arrangement apparatus may arrange containers according to
컨테이너 배치 장치는 상기 [수학식 2]에 따라, 네트워크 리소스(Network Resource) 사용량이 높은 노드(411)에 컨테이너를 우선적으로 배치할 수 있다.According to
컨테이너 배치 장치가 상기 [수학식 2]에 따라 컨테이너를 배치하는 경우, 컨테이너를 배치하지 않은 예비된 노드(reserved node)(412)가 생성될 수 있다.When the container arrangement apparatus arranges containers according to
도 5는 일실시예에 따라, 노드 그룹에 포함된 노드를 다른 노드 그룹으로 재배치하는 모습을 나타내는 도면이다.5 is a diagram illustrating a state in which a node included in a node group is rearranged into another node group, according to an embodiment.
도 5를 참조하면, 컨테이너 배치 장치는 노드 그룹(500, 510 ,520) 각각의 컨테이너 수용 가능 여부를 모니터링할 수 있다.Referring to FIG. 5 , the container arrangement apparatus may monitor whether each of the
컨테이너 배치 장치는 노드 그룹 각각에 포함된 노드에 수용된 컨테이너의 수(501, 511, 521) 및 노드 그룹 각각에 포함된 컨테이너가 수용되지 않은 예비된(reserved) 노드(512, 522)의 수를 모니터링할 수 있다.The container placement device monitors the number of containers accommodated in the node included in each node group (501, 511, 521) and the number of reserved nodes (512, 522) in which the container included in each node group is not accommodated. can do.
컨테이너 배치 장치는 상기 모니터링 결과(502)를 기초로 노드 그룹 각각에 포함된 컨테이너가 수용되지 않은 예비된(reserved) 노드(512, 522)를 빌려(513, 523) 더 이상 컨테이너를 수용할 수 없는 노드 그룹(500)으로 재배치할 수 있다. 이때, 상기 예비된(reserved) 노드(512, 522)에는 재배치된 노드 그룹(500)의 컨테이너 배치 기준이 적용될 수 있다.Based on the
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 적어도 하나로 선택적으로 결합하여 동작할 수도 있다. In the above, even though all the components constituting the embodiment of the present invention are described as being combined or operating in combination, the present invention is not necessarily limited to this embodiment. That is, within the scope of the object of the present invention, all the components may operate by selectively combining at least one.
또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. In addition, although all the components may be implemented as one independent hardware, some or all of the components are selectively combined to perform some or all of the functions of one or a plurality of pieces of hardware. It may be implemented as a computer program having Codes and code segments constituting the computer program can be easily deduced by those skilled in the art of the present invention.
이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 등이 포함될 수 있다.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.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. In addition, terms such as "comprises", "comprises" or "have" described above mean that the corresponding component may be embedded, unless otherwise stated, excluding other components. Rather, it should be construed as being able to include other components further.
기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.All terms, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs, unless otherwise defined. Terms commonly used, such as those defined in the dictionary, should be interpreted as being consistent with the meaning of the context of the related art, and are not interpreted in an ideal or excessively formal meaning unless explicitly defined in the present invention.
본 발명에서 개시된 방법들은 상술된 방법을 달성하기 위한 하나 이상의 동작들 또는 단계들을 포함한다. 방법 동작들 및/또는 단계들은 청구항들의 범위를 벗어나지 않으면서 서로 상호 교환될 수도 있다. 다시 말해, 동작들 또는 단계들에 대한 특정 순서가 명시되지 않는 한, 특정 동작들 및/또는 단계들의 순서 및/또는 이용은 청구항들의 범위로부터 벗어남이 없이 수정될 수도 있다.The methods disclosed herein include one or more acts or steps for achieving the method described above. Method acts and/or steps may be interchanged with each other without departing from the scope of the claims. In other words, unless a specific order for acts or steps is specified, the order and/or use of specific acts and/or steps may be modified without departing from the scope of the claims.
본 발명에서 이용되는 바와 같이, 아이템들의 리스트 중 "그 중 적어도 하나" 를 지칭하는 구절은 단일 멤버들을 포함하여, 이들 아이템들의 임의의 조합을 지칭한다. 일 예로서, "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 의 다른 임의의 순서 화한 것) 을 포함하도록 의도된다.As used herein, a phrase referring to “at least one of” in a list of items refers to any combination of these items, including single members. As an example, “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).
본 발명에서 이용되는 바와 같이, 용어 "결정하는"는 매우 다양한 동작들을 망라한다. 예를 들어, "결정하는"는 계산하는, 컴퓨팅, 프로세싱, 도출하는, 조사하는, 룩업하는 (예를 들어, 테이블, 데이터베이스, 또는 다른 데이터 구조에서 룩업하는), 확인하는 등을 포함할 수도 있다. 또한, "결정하는"은 수신하는 (예를 들면, 정보를 수신하는), 액세스하는 (메모리의 데이터에 액세스하는) 등을 포함할 수 있다. 또한, "결정하는"은 해결하는, 선택하는, 고르는, 확립하는 등을 포함할 수 있다.As used herein, the term “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.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. The above description is merely illustrative of the technical spirit of the present invention, and various modifications and variations will be possible without departing from the essential characteristics of the present invention by those skilled in the art to which the present invention pertains.
따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Therefore, the embodiments disclosed in the present invention are not intended to limit the technical spirit of the present invention, but to illustrate, and the scope of the technical spirit of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.
100... 컨테이너 배치 장치100... container placement device
Claims (10)
적어도 하나의 명령어를 포함하는 메모리; 및
상기 메모리와 작동적으로 연결되는 적어도 하나의 프로세서를 포함하고,
상기 적어도 하나의 명령어가 상기 적어도 하나의 프로세서에서 실행되면,
상기 적어도 하나의 프로세서는,
미리 설정된 기준에 따라 노드를 그룹핑(grouping)하여 적어도 2개 이상의 노드 그룹을 생성하고,
상기 생성한 적어도 2개 이상의 노드 그룹 각각에 대한 컨테이너 배치 기준을 결정하고,
상기 결정한 컨테이너 배치 기준과 컨테이너 서비스의 특성을 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 포함된 노드에 컨테이너를 배치하되,
상기 미리 설정된 기준은,
지연 요구(delay requirement)이고,
상기 적어도 하나의 프로세서는,
상기 지연 요구에 따라 상기 노드를 엄격한 노드 그룹, 중간 노드 그룹 및 느슨한 노드 그룹으로 그룹핑하고,
상기 적어도 하나의 프로세서는,
다음 수학식을 이용하여 상기 엄격한 노드 그룹에서 선택된 노드에 대한 컨테이너 배치 기준을 결정하고,
[수학식]
상기 적어도 하나의 프로세서는,
다음 수학식을 이용하여 상기 중간 노드 그룹 및 느슨한 노드 그룹에서 선택된 노드에 대한 컨테이너 배치 기준을 결정하는
[수학식]
(여기서, 은 대상 노드의 최대 레이턴시(Latency)이고, 은 특정 노드 n의 현재 네트워크 유틸리제이션(network utilization)이고, 는 특정 컨테이너의 요구 네트워크 유틸리제이션(network utilization)이며, 는 특정 네트워크 유틸리제이션(network utilization) 값 x에 따른 레이턴시(latency) 함수이다.)
클라우드 컴퓨팅 환경에서의 컨테이너 배치 장치.A container deployment device in a cloud computing environment, comprising:
a memory containing at least one instruction; and
at least one processor operatively coupled to the memory;
When the at least one instruction is executed in the at least one processor,
The at least one processor,
Create at least two or more node groups by grouping nodes according to preset criteria,
determining container placement criteria for each of the generated at least two or more node groups,
Deploying a container in a node included in one node group among the at least two or more node groups based on the determined container placement criteria and container service characteristics,
The preset criterion is
is a delay requirement,
the at least one processor,
grouping the nodes into strict node groups, intermediate node groups and loose node groups according to the delay request;
the at least one processor,
Determining a container placement criterion for a node selected from the strict node group using the following equation,
[Equation]
the at least one processor,
Determining container placement criteria for nodes selected from the intermediate node group and the loose node group using the following equation
[Equation]
(here, is the maximum latency of the target node, is the current network utilization of a specific node n, is the required network utilization of a particular container, is a function of latency according to a specific network utilization value x.)
Container deployment device in cloud computing environment.
상기 컨테이너 배치 기준은,
상기 적어도 2개 이상의 노드 그룹 각각의 네트워크 리소스 사용량을 기초로 결정되는 클라우드 컴퓨팅 환경에서의 컨테이너 배치 장치.According to claim 1,
The container placement criteria are:
A container deployment device in a cloud computing environment that is determined based on the network resource usage of each of the at least two or more node groups.
상기 적어도 하나의 프로세서는,
상기 적어도 2개 이상의 노드 그룹 각각의 컨테이너 수용 가능 여부를 모니터링 하고,
상기 모니터링 결과를 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 포함된 적어도 하나의 노드를 다른 노드 그룹으로 재배치하는 클라우드 컴퓨팅 환경에서의 컨테이너 배치 장치.According to claim 1,
the at least one processor,
monitoring whether the container can be accommodated in each of the at least two or more node groups,
A container arrangement apparatus in a cloud computing environment for relocating at least one node included in one node group among the at least two or more node groups to another node group based on the monitoring result.
상기 적어도 하나의 프로세서는,
미리 설정된 시간 마다, 상기 적어도 2개 이상의 노드 그룹 각각의 컨테이너 수용 가능 여부를 재모니터링 하고,
상기 재모니터링 결과를 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 재배치한 상기 적어도 하나의 노드를 재배치 전 노드 그룹에 다시 배치하는 클라우드 컴퓨팅 환경에서의 컨테이너 배치 장치.5. The method of claim 4,
the at least one processor,
At each preset time, re-monitoring whether the container can be accommodated in each of the at least two or more node groups,
A container arrangement apparatus in a cloud computing environment for relocating the at least one node relocated to one node group among the at least two or more node groups based on the re-monitoring result to a node group before relocation.
상기 적어도 하나의 프로세서가 미리 설정된 기준에 따라 노드를 그룹핑(grouping)하여 적어도 2개 이상의 노드 그룹을 생성하는 단계;
상기 적어도 하나의 프로세서가 상기 생성한 적어도 2개 이상의 노드 그룹 각각에 대한 컨테이너 배치 기준을 결정하는 단계; 및
상기 적어도 하나의 프로세서가 상기 결정한 컨테이너 배치 기준과 컨테이너 서비스의 특성을 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 포함된 노드에 컨테이너를 배치하는 단계
를 포함하되,
상기 미리 설정된 기준은,
지연 요구(delay requirement)이고,
상기 적어도 하나의 프로세서는,
상기 지연 요구에 따라 상기 노드를 엄격한 노드 그룹, 중간 노드 그룹 및 느슨한 노드 그룹으로 그룹핑하고,
상기 적어도 하나의 프로세서는,
다음 수학식을 이용하여 상기 엄격한 노드 그룹에서 선택된 노드에 대한 컨테이너 배치 기준을 결정하고,
[수학식]
상기 적어도 하나의 프로세서는,
다음 수학식을 이용하여 상기 중간 노드 그룹 및 느슨한 노드 그룹에서 선택된 노드에 대한 컨테이너 배치 기준을 결정하는
[수학식]
(여기서, 은 대상 노드의 최대 레이턴시(Latency)이고, 은 특정 노드 n의 현재 네트워크 유틸리제이션(network utilization)이고, 는 특정 컨테이너의 요구 네트워크 유틸리제이션(network utilization)이며, 는 특정 네트워크 유틸리제이션(network utilization) 값 x에 따른 레이턴시(latency) 함수이다.)
클라우드 컴퓨팅 환경에서의 컨테이너 배치 방법.A method for container deployment in a cloud computing environment, which is performed in a container deployment device in a cloud computing environment including a memory including at least one instruction and at least one processor, the method comprising:
generating, by the at least one processor, at least two or more node groups by grouping nodes according to a preset criterion;
determining, by the at least one processor, container placement criteria for each of the at least two or more node groups; and
arranging, by the at least one processor, a container in a node included in one node group among the at least two or more node groups based on the determined container placement criterion and container service characteristics;
including,
The preset criterion is
is a delay requirement,
the at least one processor,
grouping the nodes into strict node groups, intermediate node groups and loose node groups according to the delay request;
the at least one processor,
Determining a container placement criterion for a node selected from the strict node group using the following equation,
[Equation]
the at least one processor,
Determining container placement criteria for nodes selected from the intermediate node group and the loose node group using the following equation
[Equation]
(here, is the maximum latency of the target node, is the current network utilization of a specific node n, is the required network utilization of a particular container, is a function of latency according to a specific network utilization value x.)
How to deploy containers in a cloud computing environment.
상기 컨테이너 배치 기준은,
상기 적어도 2개 이상의 노드 그룹 각각의 네트워크 리소스 사용량을 기초로 결정되는 클라우드 컴퓨팅 환경에서의 컨테이너 배치 방법.7. The method of claim 6,
The container placement criteria are:
A container placement method in a cloud computing environment determined based on the network resource usage of each of the at least two or more node groups.
상기 클라우드 컴퓨팅 환경에서의 컨테이너 배치 방법은,
상기 적어도 하나의 프로세서가 상기 적어도 2개 이상의 노드 그룹 각각의 컨테이너 수용 가능 여부를 모니터링 하는 단계; 및
상기 적어도 하나의 프로세서가 상기 모니터링 결과를 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 포함된 적어도 하나의 노드를 다른 노드 그룹으로 재배치하는 단계
를 더 포함하는 클라우드 컴퓨팅 환경에서의 컨테이너 배치 방법.7. The method of claim 6,
The container deployment method in the cloud computing environment,
monitoring, by the at least one processor, whether containers of each of the at least two or more node groups can be accommodated; and
Relocating, by the at least one processor, at least one node included in one node group among the at least two or more node groups to another node group based on the monitoring result
Container deployment method in a cloud computing environment further comprising a.
상기 클라우드 컴퓨팅 환경에서의 컨테이너 배치 방법은,
상기 적어도 하나의 프로세서가 미리 설정된 시간 마다, 상기 적어도 2개 이상의 노드 그룹 각각의 컨테이너 수용 가능 여부를 재모니터링 하는 단계; 및
상기 적어도 하나의 프로세서가 상기 재모니터링 결과를 기초로 상기 적어도 2개 이상의 노드 그룹 중 하나의 노드 그룹에 재배치한 상기 적어도 하나의 노드를 재배치 전 노드 그룹에 다시 배치하는 단계
를 더 포함하는 클라우드 컴퓨팅 환경에서의 컨테이너 배치 방법.10. The method of claim 9,
The container deployment method in the cloud computing environment,
re-monitoring, by the at least one processor, whether containers of each of the at least two or more node groups can be accommodated every preset time; and
Re-arranging, by the at least one processor, the at least one node relocated to one node group among the at least two or more node groups based on the re-monitoring result in a node group prior to relocation;
Container deployment method in a cloud computing environment further comprising a.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190145794A KR102426132B1 (en) | 2019-11-14 | 2019-11-14 | Apparatus and method for containers arrangement in cloud computing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190145794A KR102426132B1 (en) | 2019-11-14 | 2019-11-14 | Apparatus and method for containers arrangement in cloud computing |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210058401A KR20210058401A (en) | 2021-05-24 |
KR102426132B1 true KR102426132B1 (en) | 2022-07-26 |
Family
ID=76153154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190145794A KR102426132B1 (en) | 2019-11-14 | 2019-11-14 | Apparatus and method for containers arrangement in cloud computing |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102426132B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016536690A (en) | 2013-11-11 | 2016-11-24 | アマゾン・テクノロジーズ・インコーポレーテッド | Partition-based data stream processing framework |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150043377A (en) * | 2012-08-07 | 2015-04-22 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | System and method for tuning a cloud computing system |
KR101694518B1 (en) * | 2013-08-05 | 2017-01-23 | 한국전자통신연구원 | System and method for virtual machine placement and management on cluster system |
KR20170072552A (en) * | 2015-12-17 | 2017-06-27 | 에스케이텔레콤 주식회사 | Method and apparatus for servicing container in cloud development |
KR20170139872A (en) * | 2016-06-10 | 2017-12-20 | 삼성에스디에스 주식회사 | Multi-tenant based system and method for providing services |
KR20190025802A (en) | 2017-09-02 | 2019-03-12 | 주식회사 제페코 | Enterprise Business and Communication system Using Cloud-Computing |
KR20190070659A (en) * | 2017-12-13 | 2019-06-21 | 주식회사 넥스클라우드 | Cloud computing apparatus for supporting resource allocation based on container and cloud computing method for the same |
-
2019
- 2019-11-14 KR KR1020190145794A patent/KR102426132B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016536690A (en) | 2013-11-11 | 2016-11-24 | アマゾン・テクノロジーズ・インコーポレーテッド | Partition-based data stream processing framework |
Also Published As
Publication number | Publication date |
---|---|
KR20210058401A (en) | 2021-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10324749B2 (en) | Optimizing runtime performance of an application workload by minimizing network input/output communications between virtual machines on different clouds in a hybrid cloud topology during cloud bursting | |
EP2989543B1 (en) | Method and device for updating client | |
US9942087B2 (en) | Application resiliency using APIs | |
CN104714847A (en) | Dynamically Change Cloud Environment Configurations Based on Moving Workloads | |
US20130227085A1 (en) | Terminal and method for using cloud services | |
JP2005056391A (en) | Method and system for balancing workload of computing environment | |
KR101719500B1 (en) | Acceleration based on cached flows | |
US10346291B2 (en) | Testing web applications using clusters | |
CN103631636A (en) | Enabling multi-tenancy for a commerce server | |
US20070198697A1 (en) | Method of refactoring methods within an application | |
US10230594B2 (en) | Intelligently managing pattern contents across multiple racks based on workload and human interaction usage patterns | |
US9792146B2 (en) | Iterative anti-collocation of network resources using prioritized graph coloring | |
KR102426132B1 (en) | Apparatus and method for containers arrangement in cloud computing | |
CN108959285B (en) | Database main key acquisition method and device, storage medium and electronic equipment | |
KR102480731B1 (en) | Device and method for arrangement scheduling for multi node environment of cloud computing | |
JP2023553278A (en) | Automatic generation of affinity and anti-affinity rules | |
KR102466247B1 (en) | Device and method for management container for using agent in orchestrator | |
US11822555B2 (en) | Signaling and resolution model for multi-level session-based description descriptors | |
KR20220081833A (en) | Device and method for management container for process migration in orchestrator | |
US11910412B2 (en) | Media sink capabilities description | |
KR101816630B1 (en) | Hybrid distributed storage system with storage device selection function | |
Ranaweera et al. | Delay Distribution Based Remote Data Fetch Scheme for Hadoop Clusters in Public Cloud | |
US20210103484A1 (en) | System and method for optimizing bulk data operation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |