KR102154446B1 - 분산·협업형 컨테이너 플랫폼 환경에서의 자원 균등 배분을 위한 고속 스케줄링 방법 - Google Patents

분산·협업형 컨테이너 플랫폼 환경에서의 자원 균등 배분을 위한 고속 스케줄링 방법 Download PDF

Info

Publication number
KR102154446B1
KR102154446B1 KR1020190145665A KR20190145665A KR102154446B1 KR 102154446 B1 KR102154446 B1 KR 102154446B1 KR 1020190145665 A KR1020190145665 A KR 1020190145665A KR 20190145665 A KR20190145665 A KR 20190145665A KR 102154446 B1 KR102154446 B1 KR 102154446B1
Authority
KR
South Korea
Prior art keywords
idle
node
percentage
resource
executing
Prior art date
Application number
KR1020190145665A
Other languages
English (en)
Inventor
안재훈
김영환
Original Assignee
한국전자기술연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자기술연구원 filed Critical 한국전자기술연구원
Priority to KR1020190145665A priority Critical patent/KR102154446B1/ko
Application granted granted Critical
Publication of KR102154446B1 publication Critical patent/KR102154446B1/ko
Priority to US17/082,798 priority patent/US11429449B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/505Clust
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

클라우드 관리방법 및 클라우드 관리장치가 제공된다. 본 클라우드 관리방법에 따르면, 특정 서비스에 대한 자원 할당 요청을 수신하고, 복수개의 클러스터에 포함된 복수의 노드에 대한 가상 자원 사용 현황을 모니터링하여 클러스터별 노드별로 각 자원에 대한 유휴자원 현황점수를 산출하며, 산출된 유휴자원 현황점수에 기초하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정할 수 있게 되어, 연합 클러스터의 자원(Resource) 현황에 대한 점수를 부여하고 이를 기반으로 서비스 스케줄링 요청에 따른 자원 후보군 선정이 가능하며 서비스에 필요한 요구자원에 기반한 최적의 노드 선정이 가능해지게 된다.

Description

분산·협업형 컨테이너 플랫폼 환경에서의 자원 균등 배분을 위한 고속 스케줄링 방법 {Method for fast scheduling for resource balanced allocation on distributed and collaborative container platform environment}
본 발명은 클라우드 관리방법 및 장치에 관한 것으로, 더욱 상세하게는, 클라우드 플랫폼 환경에서 서비스 자원 스케줄링을 하기 위한 클라우드 관리장치 및 클라우드 관리방법에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
최근 앱 개발 및 서비스시 온프레미스 서버 환경을 구축하기 보다는 클라우드 환경을 이용하는 비율이 날로 증가하고 있다. 하지만, 클라우드 환경에서도 다양한 앱을 실행하는 데 있어 운영체제와 플랫폼의 제한사항에는 변화가 없으며 기존 느린 개발 프로세스와 유연하지 못한 앱 개발·배포방식에 대한 문제가 여전히 존재한다.
또한, 내부 자원을 효율적으로 사용하고 수초 단위의 민첩한 앱 배포 및 관리가 가능한 컨테이너 기반의 마이크로 서비스가 출현하였으나, 컨테이너 기반의 마이크로 서비스는 폭증하는 사용자의 트래픽에 대응하기에는 자원을 확장하는데 한계가 있다.
이러한 마이크로 서비스는 컨테이너 플랫폼간 서비스 이동도 불가능하며, 탄력적으로 서비스의 확장 및 가용성을 제공하고 지역적으로 분산된 컨테이너 플랫폼간에 협업이 필요함에 따라 자원의 유연한 확장이 어렵고 서비스 이동성 극대화가 어렵다는 문제점이 있다.
이러한 문제점을 해결하고자 분산·협업형 컨테이너 플랫폼 기술이 등장하였으나, 자원간 균등 배분을 위한 스케줄링이 아닌 라운드로빈 형식의 순차 배분으로 처리되고 있이므로, 여전히 문제점이 존재한다.
이에 따라, 클라우드의 대규모 분산 협업형 컨테이너 환경에서 자원을 균등하게 배분하기 위한 방안의 모색이 요청된다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 특정 서비스에 대한 자원 할당 요청을 수신하고, 복수개의 클러스터에 포함된 복수의 노드에 대한 가상 자원 사용 현황을 모니터링하여 클러스터별 노드별로 각 자원에 대한 유휴자원 현황점수를 산출하며, 산출된 유휴자원 현황점수에 기초하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하는 클라우드 관리방법 및 클라우드 관리장치를 제공함에 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 클라우드 플랫폼 환경에서 클라우드 관리장치에 의한 클라우드 관리방법은, 특정 서비스에 대한 자원 할당 요청을 수신하는 단계; 복수개의 클러스터에 포함된 복수의 노드에 대한 가상 자원 사용 현황을 모니터링하여 클러스터별 노드별로 각 자원에 대한 유휴자원 현황점수를 산출하는 단계; 및 산출된 유휴자원 현황점수에 기초하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하는 단계;를 포함한다.
그리고, 유휴자원 현황점수를 산출하는 단계는, 유휴 CPU 백분율, 유휴 메모리 백분율, 유휴 저장소 백분율, 및 유휴 네트워크 백분율을 고려하여 산출할 수도 있다.
또한, 결정하는 단계는, 보안 정도를 추가로 고려하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정할 수도 있다.
그리고, 결정하는 단계는, 장애 발생 횟수를 추가로 고려하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정할 수도 있다.
또한, 결정하는 단계는, 유휴 CPU 백분율, 유휴 메모리 백분율, 유휴 저장소 백분율, 및 유휴 네트워크 백분율, 보안 정도, 및 장애 발생 횟수에 각각 가중치를 부여하고, 가중치를 추가로 고려하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정할 수도 있다.
그리고, 각 클러스터는 서로 다른 지역에 위치하고, 결정하는 단계는, 각 클러스터의 지역을 추가로 고려하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정할 수도 있다.
또한, 결정하는 단계는, 요청된 특정 서비스에 의해 기설정된 보안정도 요건을 만족하고 기설정된 지역 내에 있는 클러스터의 노드들 중에서, 유휴자원 현황점수가 가장 높은 노드를, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드로 결정할 수도 있다.
그리고, 결정하는 단계는, 요청된 특정 서비스를 실행하기 위한 자원을 보유한 노드가 없을 경우, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드로 2개 이상의 노드를 결정할 수도 있다.
또한, 결정하는 단계는, 하나의 클러스터 내에 있는 2개 이상의 노드를 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드로 결정할 수도 있다.
한편, 본 발명의 일 실시예에 따른, 클라우드 플랫폼 환경에서 클라우드 관리장치에 의한 클라우드 관리방법이 실행되는 컴퓨터 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록매체는, 특정 서비스에 대한 자원 스케줄링 요청을 수신하는 단계; 복수개의 클러스터에 포함된 복수의 노드에 대한 가상 자원 사용 현황을 모니터링하여 클러스터별 노드별로 각 자원에 대한 유휴자원 현황점수를 산출하는 단계; 및 산출된 유휴자원 현황점수에 기초하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하는 단계;를 포함하는 클라우드 관리방법이 실행된다.
한편, 본 발명의 일 실시예에 따른, 클라우드 관리장치는, 특정 서비스에 대한 자원 할당 요청을 수신하는 통신부; 및 복수개의 클러스터에 포함된 복수의 노드에 대한 가상 자원 사용 현황을 모니터링하여 클러스터별 노드별로 각 자원에 대한 유휴자원 현황점수를 산출하고, 산출된 유휴자원 현황점수에 기초하여 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하는 제어부;를 포함한다.
한편, 본 발명의 일 실시예에 따른, 클라우드 시스템은, 특정 서비스에 대한 자원 할당 요청을 수신하고, 복수개의 클러스터에 포함된 복수의 노드에 대한 가상 자원 사용 현황을 모니터링하여 클러스터별 노드별로 각 자원에 대한 유휴자원 현황점수를 산출하고, 산출된 유휴자원 현황점수에 기초하여 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하는 클라우드 관리장치; 및 결정된 노드에 특정 서비스를 실행하기 위한 자원을 할당하는 클라우드 플랫폼;을 포함한다.
본 발명의 다양한 실시예에 따르면, 특정 서비스에 대한 자원 할당 요청을 수신하고, 복수개의 클러스터에 포함된 복수의 노드에 대한 가상 자원 사용 현황을 모니터링하여 클러스터별 노드별로 각 자원에 대한 유휴자원 현황점수를 산출하며, 산출된 유휴자원 현황점수에 기초하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하는 클라우드 관리방법 및 클라우드 관리장치를 제공할 수 있게 되어, 연합 클러스터의 자원(Resource) 현황에 대한 점수를 부여하고 이를 기반으로 서비스 스케줄링 요청에 따른 자원 후보군 선정이 가능하며 서비스에 필요한 요구자원에 기반한 최적의 노드 선정이 가능해지게 된다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에 서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시 예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 특징을 설명한다.
도 1은 본 발명의 일 실시예에 따른, 클라우드 시스템의 구성을 도시한 도면,
도 2는 본 발명의 일 실시예에 따른, 클라우드 플랫폼의 세부 구성을 도시한 도면,
도 3은 본 발명의 일 실시예에 따른, 클라우드 관리장치를 도시한 도면,
도 4는 본 발명의 일 실시예에 따른, 클라우드 관리방법을 설명하기 위해 제공되는 흐름도,
도 5는 본 발명의 일 실시예에 따른, 유휴자원 현황점수의 일 예를 도시한 도면,
도 6은 본 발명의 일 실시예에 따른, 유휴자원 현황점수 및 가중치를 적용하여 노드를 선택하는 과정을 도시한 도면,
도 7은 본 발명의 일 실시예에 따른, 서비스에 대한 자원 할당요청이 처리되는 과정을 상세하게 도시한 도면이다.
본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다.
다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.
따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을의미한다.
다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 기술되는 "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른, 클라우드 시스템의 구성을 도시한 도면이다. 도 1에 도시된 바와 같이, 클라우드 시스템에서, 클라우드 플랫폼(10)은 클라우드 관리장치(100)에 의해 관리된다. 구체적으로, 클라우드 관리장치(100)는 특정 서비스에 대한 자원 할당 요청을 수신하고, 복수개의 클러스터에 포함된 복수의 노드에 대한 가상 자원 사용 현황을 모니터링하여 클러스터별 노드별로 각 자원에 대한 유휴자원 현황점수를 산출하고, 산출된 유휴자원 현황점수에 기초하여 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정한다.
클라우드 관리장치(100)는 그 자체로 물리적으로 독립된 장치로 구현될 수 있을 뿐만 아니라, 어떤 장치나 시스템 또는 클라우드의 일부로 포함되어 있는 형태로 구현될 수도 있으며, 스마트폰이나 컴퓨터나 서버나 클라우드 등에 설치된 프로그램 또는 플랫폼 또는 프레임워크 또는 애플리케이션 등의 소프트웨어 형태로 구현될 수도 있음은 물론이다. 또한, 클라우드 관리장치(100)의 각 구성요소는 물리적 구성요소로 구현될 수도 있고 소프트웨어의 기능 형태의 구성요소로 구현될 수도 있다.
클라우드 플랫폼(10)은 복수개의 서버들로 구성되어 가상화를 통한 클라우드 서비스를 제공하는 플랫폼으로, 도커(Docker)와 쿠버네티스(Kubernetes) 등으로 구현될 수 있으며, 분산, 협업형 컨테이너 플랫폼 환경으로 구축된다.
도 1에 도시된 바와 같이, 클라우드 플랫폼(10)은 복수개의 클러스터로 구성되며, 하나의 클러스터에는 복수개의 노드가 포함된다. 그리고, 노드 내에는 적어도 하나의 포드(Pod)가 포함된다.
여기에서, 클러스터(Cluster)는 여러개의 서버를 하나의 서버인 것 처럼 보이도록 가상화한 것을 나타내며, 지역별로 위치되어 있을 수 있다, 구체적으로, 도 1의 클라우드 플랫폼(10)은 Cluster1과 Cluster2를 포함하며, Cluster1은 한국에 위치하고, Cluster2는 미국에 위치하는 것을 확인할 수 있다.
또한, 하나의 클러스터에는 복수개의 노드(Node)가 포함된 것을 확인할 수 있다. 노드(Node)는 실제 서비스(또는 컨테이너)가 실행되는 서버 단위를 나타낸다. 노드는 서비스를 생성하고 서비스 상태를 관리하는 역할을 수행하며, 복수개의 포드(Pod)로 구성된다.
이와 같은 구조의 클라우드 플랫폼(10)은 클라우드 관리장치(100)에 의해 결정된 노드에 특정 서비스를 실행하기 위한 자원을 할당하는 기능을 수행하게 된다.
또한, 클라우드 관리장치(100)는 전체 클러스터를 관리하는 마스터와 같은 기능을 수행하게 된다. 모든 명령은 마스터인 클라우드 관리장치(100)의 API 서버를 호출하고 노드는 클라우드 관리장치(100)와 통신하면서 필요한 작업을 수행한다. 특정 노드의 컨테이너에 명령하거나 로그를 조회할 때도 노드에 직접 명령하는 게 아니라 클라우드 관리장치(100)에 명령을 내리고 클라우드 관리장치(100)가 노드에 접속하여 대신 결과를 응답하게 된다.
노드 내에는 적어도 하나의 포드(Pod)를 포함하며 이와 같은 노드의 구조에 대해 도 2를 참고하여 더욱 상세히 설명한다. 도 2는 본 발명의 일 실시예에 따른, 클라우드 플랫폼(10)의 세부 구성을 도시한 도면이다.
도 2에 도시된 바와 같이, 클라우드 플랫폼(10)은 복수개의 노드(Node)(200)들을 포함하고, 노드 내에는 적어도 하나의 포드(Pod)(210)를 포함하고 있다.
노드(200)는 클라우드 관리장치(100)와 통신하면서 필요한 포드(210)를 생성하고 네트워크(215)와 스토리지(213)를 설정한다.
포드(210)는 가장 작은 배포단위이며, 실제 컨테이너들이 생성되는 곳이다. 포드(210)는 컨트롤러 또는 리플리카셋(ReplicaSet)에 의해 생성 및 관리되며 수백, 수천개로 확장할 수도 있다. 포드(210)는 각각에 라벨을 붙여 사용목적(GPU 특화, SSD 서버 등)을 정의할 수도 있다. 포드(210)는 쿠버네티스에서 배포할 수 있는 가장 작은 단위로 한 개 이상의 컨테이너(211)와 스토리지(213)와 네트워크(215) 속성을 가진다. 포드(210)에 속한 적어도 하나의 컨테이너(211)는 스토리지(213)와 네트워크(215)를 공유하고 서로 로컬호스트(localhost)로 접근할 수 있다.
클라우드 플랫폼(10)은 이와 같은 구조의 복수개의 클러스터, 노드 및 포드를 포함하게 된다.
이하에서는, 도 3을 참고하여, 클라우드 관리장치(100)의 구성에 대해 더욱 상세히 설명한다. 도 3은 본 발명의 일 실시예에 따른, 클라우드 관리장치(100)를 도시한 도면이다.
도 3에 도시된 바와 같이, 클라우드 관리장치(100)는 통신부(110)와 제어부(120)를 포함한다.
통신부(110)는 클라우드 플랫폼(10)과 통신 가능하도록 연결되며, 특정 서비스에 대한 자원 할당 요청을 수신한다. 여기에서 특정 서비스에 대한 자원 할당 요청은 해당 서비스에 필요한 자원 등에 대한 정보가 포함되어 있으며, 구체적으로, 특정 서비스에 대한 자원 할당 요청은 API버전정보, 종류 정보, 라벨 정보, CPU 필요량, 메모리 필요량, 스토리지 필요량, 정책 정보, 장애 발생 횟수에 대한 제한, 및 지역 정보 중 적어도 하나를 포함할 수 있다. 또한, 특정 서비스에 대한 자원 할당 요청은 자원 종류별 가중치에 대한 정보를 더 포함할 수도 있다.
통신부(110)는 블루투스, 와이파이(WIFI), 근거리무선통신(NFC), 셀룰러, LTE(Long-Term Evolution) 등 다양한 무선 통신 방식으로 통신을 수행할 수 있으며, 유선랜 등의 유선 통신으로 통신을 할 수도 있음은 물론이다.
제어부(120)는 클라우드 관리장치(100)의 전반적인 동작을 제어한다. 구체적으로, 제어부(120)는 복수개의 클러스터에 포함된 복수의 노드에 대한 가상 자원 사용 현황을 모니터링하여 클러스터별 노드별로 각 자원에 대한 유휴자원 현황점수를 산출하고, 산출된 유휴자원 현황점수에 기초하여 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하게 된다.
이외에 제어부(120)의 상세한 동작은 도 4를 참고하여 설명한다. 도 4는 본 발명의 일 실시예에 따른, 클라우드 관리방법을 설명하기 위해 제공되는 흐름도이다.
우선, 제어부(120)는 특정 서비스에 대한 자원 할당 요청을 수신한다(S410).
그리고, 제어부(120)는 복수개의 클러스터에 포함된 복수의 노드에 대한 가상 자원 사용 현황을 모니터링하여 클러스터별 노드별로 각 자원에 대한 유휴자원 현황점수를 산출한다(S420). 구체적으로, 제어부(120)는 유휴 CPU 백분율, 유휴 메모리 백분율, 유휴 저장소 백분율, 및 유휴 네트워크 백분율을 고려하여 유휴자원 현황점수를 산출할 수 있다. 또한, 제어부(120)는 보안 정도를 High와 Low의 두단계로 추가로 고려할 수도 있다. 구체적으로, 제어부(120)는 유휴 CPU 백분율, 유휴 메모리 백분율, 유휴 저장소 백분율, 및 유휴 네트워크 백분율을 모두 더한 값을 유휴자원 현황점수로 산출할 수 있다. 그리고, 제어부(120)는 보안 정도를 유휴자원 현황점수의 마지막에 표시할 수 있으며, 구체적으로, 보안 정도가 High인 경우는 유휴자원 현황점수 마지막에 'H'라고 표시하고, 보안 정도가 Low인 경우는 유휴자원 현황점수 마지막에 'L'이라고 표시할 수도 있다.
구체적인 유휴자원 현황점수 산정 방식에 대해 도 5를 참고하여 상세히 설명한다. 도 5는 본 발명의 일 실시예에 따른, 유휴자원 현황점수의 일 예를 도시한 도면이다.
도 5에는 Cluster1의 Node1 및 Node2와 Cluster2의 Node3 및 Node4의 유휴자원 현황점수를 산출한 표이다. 도 5에는 Node1 내지 Node4에 대해 각각의 유휴 CPU 백분율, 유휴 메모리 백분율, 유휴 저장소 백분율, 유휴 네트워크 백분율, 및 보안 정도가 표시되어 있다. 그리고, 유휴 CPU 백분율, 유휴 메모리 백분율, 유휴 저장소 백분율, 및 유휴 네트워크 백분율을 모두 더한 값을 유휴자원 현황점수로 산출하고, 보안 정도에 따라 마지막에 'H' 또는 'L'이 표시된 것을 확인할 수 있다.
도 5의 경우, 유휴자원 현황점수가 가장 높은 것은 Node4이므로, 제어부(120)는 다른 조건이 없다면 Node4를 서비스에 대한 자원 할당 노드로 결정된다. 하지만, 특정 서비스에 대한 자원 할당 요청에 보안이 높은 노드일 것을 조건으로 설정한 경우라면, 제어부(120)는 유휴자원 현황점수가 가장 낮더라도 보안 정도가 높은 Node3을 서비스에 대한 자원 할당 노드로 결정할 수도 있게 된다.
다시 도 4로 돌아가서, 제어부(120)는 산출된 유휴자원 현황점수에 기초하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정한다(S430). 이 때, 제어부(120)는 앞서 설명한 바와 같이 보안 정도를 추가로 고려하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정할 수도 있다.
또한, 제어부(120)는 장애 발생 횟수를 추가로 고려하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정할 수도 있다. 구체적으로, 제어부(120)는 노드별로 기설정된 기간동안 장애 발생 횟수를 확인하고, 장애 발생 횟수가 특정 횟수 이상인 노드는 자원 할당 대상에서 제외시킬 수도 있다. 예를 들어, 제어부(120)는 한달 동안 장애 발생 횟수가 10회 이상인 노드는 자원 할당 대상에서 제외시킬 수도 있다. 이와 같은, 장애 발생 횟수에 대한 제한은 사용자에 의해 설정되어 있을 수도 있고, 특정 서비스에 대한 자원 할당 요청 내에 포함되어 있을 수도 있다.
또한, 제어부(120)는 유휴 CPU 백분율, 유휴 메모리 백분율, 유휴 저장소 백분율, 유휴 네트워크 백분율, 보안 정도, 및 장애 발생 횟수에 각각 가중치를 부여하고, 가중치를 추가로 고려하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정할 수도 있다. 구체적으로, 제어부(120)는 유휴 CPU 백분율, 유휴 메모리 백분율, 유휴 저장소 백분율, 및 유휴 네트워크 백분율 각각에 서로 다른 가중치를 적용하여 더함으로써 유휴자원 현황점수를 산출할 수도 있다. 예를 들어, 유휴 CPU 백분율, 유휴 메모리 백분율, 유휴 저장소 백분율, 및 유휴 네트워크 백분율에 대한 가중치가 각각 가중치1, 가중치2, 가중치3, 가중치4인 경우, 유휴자원 현황점수는 아래와 같이 산출될 수 있다.
유휴자원 현황점수 = (유휴 CPU 백분율*가중치1) + (유휴 메모리 백분율*가중치2) + (유휴 저장소 백분율*가중치3) + (유휴 네트워크 백분율*가중치4)
구체적인 가중치 적용 방법에 대해 도 6을 참고하여 설명한다. 도 6은 본 발명의 일 실시예에 따른, 유휴자원 현황점수 및 가중치를 적용하여 노드를 선택하는 과정을 도시한 도면이다.
도 6의 경우, 자원 할당 요청에 메모리와 CPU에 대한 가중치가 각각 2와 1.5로 포함되어 있는 것을 확인할 수 있다. 따라서, 이 경우, 제어부(120)는 유휴 메모리 백분율에 2를 곱하고, 유휴 CPU 백분율에 1.5를 곱한 후에, 가중치가 적용된 유휴 CPU 백분율, 가중치가 적용된 유휴 메모리 백분율, 유휴 저장소 백분율, 및 유휴 네트워크 백분율을 모두 더하여 유휴자원 현황점수를 산출하게 되며, 그에 따라 랭킹을 부여하게 된다. 이와 같은 과정을 통해, Node4가 랭킹이 가장 높은, 즉 유휴 자원이 가장 많은 것으로 판단되므로, 제어부(120)는 Node4를 특정 서비스를 위한 자원 할당 노드로 결정하게 된다.
한편, 상술한 바와 같이, 각 클러스터는 서로 다른 지역에 위치할 수도 있다. 그리고, 제어부(120)는 각 클러스터의 지역을 추가로 고려하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정할 수도 있다. 구체적으로, 자원 할당 요청에는 지역 정보가 포함될 수 있으며, 제어부(120)는 그 지역 정보에 해당하는 지역에 있는 클러스터만을 자원 할당 대상으로 설정할 수도 있다. 예를 들어, 서비스가 특정 지역에서만 제공되는 경우, 그 지역에 가까운 클러스터를 이용하는 것이 속도나 효율 측면에서 좋기 때문에, 제어부(120)는 그 지역 정보에 해당하는 지역에 있는 클러스터만을 자원 할당 대상으로 설정하게 된다.
또한, 제어부(120)는 자원 할당 요청에 포함된 지역 정보에 해당하는 지역에 있는 클러스터를 자원 할당 대상에서 제외시키도록 설정할 수도 있다. 서비스가 특정 지역에서는 필요없는 경우, 그 지역에 가까운 클러스터를 이용하지 않도록 설정하기 위해, 제어부(120)는 그 지역 정보에 해당하는 지역에 있는 클러스터를 자원 할당 대상에서 제외되도록 설정하게 된다.
이와 같이, 제어부(120)는 다양한 조건들을 고려하여 특정 서비스를 실행하기 위한 자원을 할당할 노드로 결정한다. 구체적으로, 제어부(120)는 요청된 특정 서비스에 의해 기설정된 보안정도 요건을 만족하고 기설정된 지역 내에 있는 클러스터의 노드들 중에서, 유휴자원 현황점수가 가장 높은 노드를, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드로 결정할 수도 있으며, 추가로 지역 조건도 고려하여 결정할 수도 있게 된다.
한편, 제어부(120)는 요청된 특정 서비스를 실행하기 위한 자원을 보유한 노드가 없을 경우, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드로 2개 이상의 노드를 결정할 수도 있다. 이 경우, 제어부(120)는 하나의 클러스터 내에 있는 2개 이상의 노드를 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드로 결정할 수도 있다. 서로 다른 클러스터에서 하나의 서비스를 나누어 실행할 경우, 지역적 거리와 네트워크적 거리로 인하여 속도나 효율이 매우 떨어지게 되므로, 제어부(120)는 자원 할당 대상으로 2개 이상의 노드를 결정할 경우 하나의 클러스터 내에서 선정하게 된다. 이에 대해 도 7을 참고하여 더욱 상세하게 설명한다.
도 7은 본 발명의 일 실시예에 따른, 서비스에 대한 자원 할당요청이 처리되는 과정을 상세하게 도시한 도면이다.
도 7에 도시된 바와 같이, 클라우드 관리장치(100)는 특정 서비스를 실행하기 위한 자원 할당 요청(700)을 수신하고, 그에 대한 자원을 Cluster2의 Node3 및 Node4에 할당한 것을 확인할 수 있다.
구체적으로, 도 7에 따르면, 자원 할당 요청(700)에는 3개의 포드(710, 720, 730)의 할당이 필요한 것으로 포함되어 있으며, 2개의 포드(710, 720)는 Node3에 할당되고 1개의 포드(730)는 Node4에 할당된 것을 확인할 수 있다.
이와 같이, 제어부(120)는 요청된 특정 서비스를 실행하기 위한 자원을 보유한 노드가 없을 경우, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드로 2개 이상의 노드를 결정할 수도 있다.
또한, 클라우드 관리장치(100)는 도 7에 도시된 세부 과정들을 거쳐, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드로 2개 이상의 노드를 결정하고, 결정된 노드에 서비스 자원을 할당하게 된다.
이와 같은 과정을 통해, 클라우드 관리장치(100)는 연합 클러스터의 자원(Resource) 현황에 대한 점수를 부여하고 이를 기반으로 서비스 스케줄링 요청에 따른 자원 후보군 선정이 가능하며 서비스에 필요한 요구자원에 기반한 최적의 노드 선정이 가능해지게 된다.
한편, 본 실시예에 따른 장치의 기능 및 방법을 수행하게 하는 컴퓨터 프로그램을 수록한 컴퓨터로 읽을 수 있는 기록매체에도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다. 또한, 본 발명의 다양한 실시예에 따른 기술적 사상은 컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터로 읽을 수 있는 프로그래밍 언어 코드 형태로 구현될 수도 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터에 의해 읽을 수 있고 데이터를 저장할 수 있는 어떤 데이터 저장 장치이더라도 가능하다. 예를 들어, 컴퓨터로 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광디스크, 하드 디스크 드라이브, 플래시 메모리, 솔리드 스테이트 디스크(SSD) 등이 될 수 있음은 물론이다. 또한, 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터로 읽을 수 있는 코드 또는 프로그램은 컴퓨터간에 연결된 네트워크를 통해 전송될 수도 있다.
본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물은 다른 유형의 디지털 전자 회로로구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다.
따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 본 발명이속하는 분야의 통상의 기술자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
10 : 클라우드 플랫폼
100 : 클라우드 관리장치
110 : 통신부
120 : 제어부
200 ; 노드

Claims (12)

  1. 클라우드 플랫폼 환경에서 클라우드 관리장치에 의한 클라우드 관리방법에 있어서,
    특정 서비스에 대한 자원 할당 요청을 수신하는 단계;
    복수개의 클러스터에 포함된 복수의 노드에 대한 가상 자원 사용 현황을 모니터링하여 클러스터별 노드별로 각 자원에 대한 유휴자원 현황점수를 산출하는 단계; 및
    산출된 유휴자원 현황점수에 기초하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하는 단계;를 포함하고,
    유휴자원 현황점수를 산출하는 단계는,
    유휴 CPU 백분율, 유휴 메모리 백분율, 유휴 저장소 백분율, 및 유휴 네트워크 백분율을 고려하여 산출하고,
    결정하는 단계는,
    보안 정도를 추가로 고려하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하고,
    결정하는 단계는,
    장애 발생 횟수를 추가로 고려하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하며,
    결정하는 단계는,
    유휴 CPU 백분율, 유휴 메모리 백분율, 유휴 저장소 백분율, 및 유휴 네트워크 백분율, 보안 정도, 및 장애 발생 횟수에 각각 가중치를 부여하고, 가중치를 추가로 고려하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하는 것을 특징으로 하는 클라우드 관리방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 청구항 1에 있어서,
    각 클러스터는 서로 다른 지역에 위치하고,
    결정하는 단계는,
    각 클러스터의 지역을 추가로 고려하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하는 것을 특징으로 하는 클라우드 관리방법.
  7. 청구항 6에 있어서,
    결정하는 단계는,
    요청된 특정 서비스에 의해 기설정된 보안정도 요건을 만족하고 기설정된 지역 내에 있는 클러스터의 노드들 중에서, 유휴자원 현황점수가 가장 높은 노드를, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드로 결정하는 것을 특징으로 하는 클라우드 관리방법.
  8. 청구항 1에 있어서,
    결정하는 단계는,
    요청된 특정 서비스를 실행하기 위한 자원을 보유한 노드가 없을 경우, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드로 2개 이상의 노드를 결정하는 것을 특징으로 하는 클라우드 관리방법.
  9. 청구항 8에 있어서,
    결정하는 단계는,
    하나의 클러스터 내에 있는 2개 이상의 노드를 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드로 결정하는 것을 특징으로 하는 클라우드 관리방법.
  10. 클라우드 플랫폼 환경에서 클라우드 관리장치에 의한 클라우드 관리방법이 실행되는 컴퓨터 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록매체에 있어서,
    특정 서비스에 대한 자원 스케줄링 요청을 수신하는 단계;
    복수개의 클러스터에 포함된 복수의 노드에 대한 가상 자원 사용 현황을 모니터링하여 클러스터별 노드별로 각 자원에 대한 유휴자원 현황점수를 산출하는 단계; 및
    산출된 유휴자원 현황점수에 기초하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하는 단계;를 포함하고,
    유휴자원 현황점수를 산출하는 단계는,
    유휴 CPU 백분율, 유휴 메모리 백분율, 유휴 저장소 백분율, 및 유휴 네트워크 백분율을 고려하여 산출하고,
    결정하는 단계는,
    보안 정도를 추가로 고려하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하고,
    결정하는 단계는,
    장애 발생 횟수를 추가로 고려하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하며,
    결정하는 단계는,
    유휴 CPU 백분율, 유휴 메모리 백분율, 유휴 저장소 백분율, 및 유휴 네트워크 백분율, 보안 정도, 및 장애 발생 횟수에 각각 가중치를 부여하고, 가중치를 추가로 고려하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하는 것을 특징으로 하는 클라우드 관리방법이 실행되는 컴퓨터 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록매체.
  11. 특정 서비스에 대한 자원 할당 요청을 수신하는 통신부; 및
    복수개의 클러스터에 포함된 복수의 노드에 대한 가상 자원 사용 현황을 모니터링하여 클러스터별 노드별로 각 자원에 대한 유휴자원 현황점수를 산출하고, 산출된 유휴자원 현황점수에 기초하여 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하는 제어부;를 포함하고,
    제어부는,
    유휴 CPU 백분율, 유휴 메모리 백분율, 유휴 저장소 백분율, 및 유휴 네트워크 백분율을 고려하여 유휴자원 현황점수를 산출하고,
    보안 정도를 추가로 고려하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하고,
    장애 발생 횟수를 추가로 고려하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하며,
    유휴 CPU 백분율, 유휴 메모리 백분율, 유휴 저장소 백분율, 및 유휴 네트워크 백분율, 보안 정도, 및 장애 발생 횟수에 각각 가중치를 부여하고, 가중치를 추가로 고려하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하는 것을 특징으로 하는 클라우드 관리장치.
  12. 특정 서비스에 대한 자원 할당 요청을 수신하고, 복수개의 클러스터에 포함된 복수의 노드에 대한 가상 자원 사용 현황을 모니터링하여 클러스터별 노드별로 각 자원에 대한 유휴자원 현황점수를 산출하고, 산출된 유휴자원 현황점수에 기초하여 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하는 클라우드 관리장치; 및
    결정된 노드에 특정 서비스를 실행하기 위한 자원을 할당하는 클라우드 플랫폼;을 포함하고,
    클라우드 관리장치는,
    유휴 CPU 백분율, 유휴 메모리 백분율, 유휴 저장소 백분율, 및 유휴 네트워크 백분율을 고려하여 유휴자원 현황점수를 산출하고,
    보안 정도를 추가로 고려하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하고,
    장애 발생 횟수를 추가로 고려하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하며,
    유휴 CPU 백분율, 유휴 메모리 백분율, 유휴 저장소 백분율, 및 유휴 네트워크 백분율, 보안 정도, 및 장애 발생 횟수에 각각 가중치를 부여하고, 가중치를 추가로 고려하여, 요청된 특정 서비스를 실행하기 위한 자원을 할당할 노드를 결정하는 것을 특징으로 하는 클라우드 시스템.

KR1020190145665A 2019-11-14 2019-11-14 분산·협업형 컨테이너 플랫폼 환경에서의 자원 균등 배분을 위한 고속 스케줄링 방법 KR102154446B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190145665A KR102154446B1 (ko) 2019-11-14 2019-11-14 분산·협업형 컨테이너 플랫폼 환경에서의 자원 균등 배분을 위한 고속 스케줄링 방법
US17/082,798 US11429449B2 (en) 2019-11-14 2020-10-28 Method for fast scheduling for balanced resource allocation in distributed and collaborative container platform environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190145665A KR102154446B1 (ko) 2019-11-14 2019-11-14 분산·협업형 컨테이너 플랫폼 환경에서의 자원 균등 배분을 위한 고속 스케줄링 방법

Publications (1)

Publication Number Publication Date
KR102154446B1 true KR102154446B1 (ko) 2020-09-09

Family

ID=72451547

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190145665A KR102154446B1 (ko) 2019-11-14 2019-11-14 분산·협업형 컨테이너 플랫폼 환경에서의 자원 균등 배분을 위한 고속 스케줄링 방법

Country Status (2)

Country Link
US (1) US11429449B2 (ko)
KR (1) KR102154446B1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102260549B1 (ko) * 2020-09-10 2021-06-04 한국전자기술연구원 연합 컨테이너 환경에서 자원 사용률 및 지리적 위치 기반 로드밸런싱 방법
KR102260547B1 (ko) * 2020-09-10 2021-06-04 한국전자기술연구원 분산 협업형 클러스터내 최적합 클러스터 선정 스케줄링 방법
WO2022062650A1 (zh) * 2020-09-28 2022-03-31 苏州浪潮智能科技有限公司 基于kubernetes的计算设备共享方法、装置、设备及存储介质
KR20220098636A (ko) * 2021-01-04 2022-07-12 네이버 주식회사 페이지 캐시를 사용하는 컨테이너의 스케줄링을 위한 방법, 시스템, 및 컴퓨터 판독가능한 기록 매체
KR20220161070A (ko) * 2021-05-28 2022-12-06 주식회사 엘지유플러스 클라우드 환경에서 컨테이너 기반의 gpu 자원 공유 방법 및 장치
CN115510331A (zh) * 2022-11-15 2022-12-23 山东紫菜云数字科技有限公司 一种基于闲置量聚合的共享资源匹配方法
KR20230031598A (ko) * 2021-08-27 2023-03-07 부산대학교 산학협력단 컨테이너 기반 마이크로서비스 배치 중계자 시스템 및 방법
KR20230070567A (ko) * 2021-11-15 2023-05-23 한국전자기술연구원 대량의 dbms 태스크 연산 기반 오프로딩 스니펫 스케줄링 방법

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11861405B2 (en) * 2020-04-29 2024-01-02 Kyndryl, Inc. Multi-cluster container orchestration
US11144362B1 (en) * 2020-05-05 2021-10-12 International Business Machines Corporation Container scheduling in a container orchestration system
US11336588B2 (en) * 2020-06-26 2022-05-17 Red Hat, Inc. Metadata driven static determination of controller availability
CN113867919B (zh) * 2021-10-08 2024-05-07 中国联合网络通信集团有限公司 Kubernetes集群调度方法、系统、设备及介质
US11916998B2 (en) 2021-11-12 2024-02-27 Electronics And Telecommunications Research Institute Multi-cloud edge system
US11916807B2 (en) 2022-01-31 2024-02-27 Microsoft Technology Licensing, Llc Evaluation framework for cloud resource optimization
CN114356587B (zh) * 2022-03-17 2022-07-05 梯度云科技(北京)有限公司 算力任务跨区域调度方法、系统及设备
CN114710489A (zh) * 2022-03-31 2022-07-05 浪潮云信息技术股份公司 一种分布式云资源调度方法及装置、分布式云
CN114745392B (zh) * 2022-04-29 2024-06-25 阿里云计算有限公司 流量调度方法
CN114679460B (zh) * 2022-05-26 2022-09-20 天津理工大学 建筑运维监控报警系统
CN114791855B (zh) * 2022-06-23 2022-09-16 中航金网(北京)电子商务有限公司 云平台下的任务调度方法、装置、介质、设备和程序产品
CN114979282B (zh) * 2022-07-28 2023-01-20 北京金山云网络技术有限公司 任务调度方法、装置、存储介质以及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150074708A (ko) * 2013-12-24 2015-07-02 주식회사 케이티 클라우드 시스템에서의 가상 머신 배치 방법 및 장치
KR20150108230A (ko) * 2014-03-17 2015-09-25 한국전자통신연구원 클러스터 시스템 구축 방법 및 장치
KR20190056624A (ko) * 2017-11-17 2019-05-27 전자부품연구원 분산환경에서의 cda 프로토콜을 활용한 자원할당방법 및 이를 적용한 기록매체 및 분산처리장치
KR101987661B1 (ko) * 2018-07-19 2019-06-11 나무기술 주식회사 클라우드 플랫폼에서의 클러스터 리소스 할당 및 관리 방법
KR20190081306A (ko) * 2017-12-29 2019-07-09 한국전자통신연구원 빅데이터 분석 소프트웨어에 대한 자원 할당 방법, 상기 방법을 이용하는 가상화 자원 할당 장치
KR101998564B1 (ko) * 2018-07-19 2019-07-10 나무기술 주식회사 클라우드 플랫폼에서의 멀티 클러스터 프로비저닝 및 관리 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8590050B2 (en) * 2011-05-11 2013-11-19 International Business Machines Corporation Security compliant data storage management
US20130151535A1 (en) * 2011-12-09 2013-06-13 Canon Kabushiki Kaisha Distributed indexing of data
AU2018202772A1 (en) * 2017-04-21 2018-11-08 Hemant Passi Telecom Information Processing System and Method Thereof
US10754704B2 (en) * 2018-07-11 2020-08-25 International Business Machines Corporation Cluster load balancing based on assessment of future loading

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150074708A (ko) * 2013-12-24 2015-07-02 주식회사 케이티 클라우드 시스템에서의 가상 머신 배치 방법 및 장치
KR20150108230A (ko) * 2014-03-17 2015-09-25 한국전자통신연구원 클러스터 시스템 구축 방법 및 장치
KR20190056624A (ko) * 2017-11-17 2019-05-27 전자부품연구원 분산환경에서의 cda 프로토콜을 활용한 자원할당방법 및 이를 적용한 기록매체 및 분산처리장치
KR20190081306A (ko) * 2017-12-29 2019-07-09 한국전자통신연구원 빅데이터 분석 소프트웨어에 대한 자원 할당 방법, 상기 방법을 이용하는 가상화 자원 할당 장치
KR101987661B1 (ko) * 2018-07-19 2019-06-11 나무기술 주식회사 클라우드 플랫폼에서의 클러스터 리소스 할당 및 관리 방법
KR101998564B1 (ko) * 2018-07-19 2019-07-10 나무기술 주식회사 클라우드 플랫폼에서의 멀티 클러스터 프로비저닝 및 관리 방법

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102260547B1 (ko) * 2020-09-10 2021-06-04 한국전자기술연구원 분산 협업형 클러스터내 최적합 클러스터 선정 스케줄링 방법
US11575740B2 (en) 2020-09-10 2023-02-07 Korea Electronics Technology Institute Load balancing method based on resource utilization and geographic location in associative container environment
KR102260549B1 (ko) * 2020-09-10 2021-06-04 한국전자기술연구원 연합 컨테이너 환경에서 자원 사용률 및 지리적 위치 기반 로드밸런싱 방법
WO2022062650A1 (zh) * 2020-09-28 2022-03-31 苏州浪潮智能科技有限公司 基于kubernetes的计算设备共享方法、装置、设备及存储介质
KR20220098636A (ko) * 2021-01-04 2022-07-12 네이버 주식회사 페이지 캐시를 사용하는 컨테이너의 스케줄링을 위한 방법, 시스템, 및 컴퓨터 판독가능한 기록 매체
KR102456005B1 (ko) 2021-01-04 2022-10-18 네이버 주식회사 페이지 캐시를 사용하는 컨테이너의 스케줄링을 위한 방법, 시스템, 및 컴퓨터 판독가능한 기록 매체
KR102574043B1 (ko) * 2021-05-28 2023-09-01 주식회사 엘지유플러스 클라우드 환경에서 컨테이너 기반의 gpu 자원 공유 방법 및 장치
KR20220161070A (ko) * 2021-05-28 2022-12-06 주식회사 엘지유플러스 클라우드 환경에서 컨테이너 기반의 gpu 자원 공유 방법 및 장치
KR102621324B1 (ko) * 2021-08-27 2024-01-05 부산대학교 산학협력단 컨테이너 기반 마이크로서비스 배치 중계자 시스템 및 방법
KR20230031598A (ko) * 2021-08-27 2023-03-07 부산대학교 산학협력단 컨테이너 기반 마이크로서비스 배치 중계자 시스템 및 방법
KR20230070567A (ko) * 2021-11-15 2023-05-23 한국전자기술연구원 대량의 dbms 태스크 연산 기반 오프로딩 스니펫 스케줄링 방법
KR102628592B1 (ko) * 2021-11-15 2024-01-25 한국전자기술연구원 대량의 dbms 태스크 연산 기반 오프로딩 스니펫 스케줄링 방법
CN115510331A (zh) * 2022-11-15 2022-12-23 山东紫菜云数字科技有限公司 一种基于闲置量聚合的共享资源匹配方法

Also Published As

Publication number Publication date
US11429449B2 (en) 2022-08-30
US20210149737A1 (en) 2021-05-20

Similar Documents

Publication Publication Date Title
KR102154446B1 (ko) 분산·협업형 컨테이너 플랫폼 환경에서의 자원 균등 배분을 위한 고속 스케줄링 방법
US10104010B2 (en) Method and apparatus for allocating resources
CN112153700B (zh) 一种网络切片资源管理方法及设备
US20170250870A1 (en) Virtual network policy configuration method and system, and virtual network element and network administration system thereof
US9588789B2 (en) Management apparatus and workload distribution management method
US11106560B2 (en) Adaptive thresholds for containers
JP2018198068A (ja) 分散型クラウドにおける作業負荷移動に基づくプロファイルベースのsla保証
US20150309828A1 (en) Hypervisor manager for virtual machine management
EP3253027B1 (en) Resource allocation method and apparatus for virtual machines
US20170141944A1 (en) Verifier for network function virtualization resource allocation
KR102245341B1 (ko) 클라우드 엣지 내 워크로드 분산을 위한 예측 모델 적용 방법
US20220075665A1 (en) Scheduling method for selecting optimal cluster within cluster of distributed collaboration type
US11575740B2 (en) Load balancing method based on resource utilization and geographic location in associative container environment
US20140282540A1 (en) Performant host selection for virtualization centers
Abdah et al. QoS-aware service continuity in the virtualized edge
CN113348651A (zh) 切片的虚拟网络功能的动态云间放置
US9471389B2 (en) Dynamically tuning server placement
KR20210056655A (ko) 클라우드 엣지 환경에서 예측 기반 마이그레이션 후보 및 대상 선정 방법
US11314559B2 (en) Method for balanced scale out of resources in distributed and collaborative container platform environment
US20230367654A1 (en) Automatic node fungibility between compute and infrastructure nodes in edge zones
Al-Razgan et al. [Retracted] A Computational Offloading Method for Edge Server Computing and Resource Allocation Management
CN112655185A (zh) 软件定义网络中的服务分配的设备、方法和存储介质
KR102681047B1 (ko) 클라우드 엣지 플랫폼 적용에 따른 마이그레이션 우선 대상 선정 방법
US12028269B2 (en) Method for optimal resource selection based on available GPU resource analysis in large-scale container platform
US20230153170A1 (en) Method for rapid service deployment in hybrid cloud environment

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