KR102260549B1 - 연합 컨테이너 환경에서 자원 사용률 및 지리적 위치 기반 로드밸런싱 방법 - Google Patents

연합 컨테이너 환경에서 자원 사용률 및 지리적 위치 기반 로드밸런싱 방법 Download PDF

Info

Publication number
KR102260549B1
KR102260549B1 KR1020200116090A KR20200116090A KR102260549B1 KR 102260549 B1 KR102260549 B1 KR 102260549B1 KR 1020200116090 A KR1020200116090 A KR 1020200116090A KR 20200116090 A KR20200116090 A KR 20200116090A KR 102260549 B1 KR102260549 B1 KR 102260549B1
Authority
KR
South Korea
Prior art keywords
cluster
score
service
available resource
clusters
Prior art date
Application number
KR1020200116090A
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 KR1020200116090A priority Critical patent/KR102260549B1/ko
Application granted granted Critical
Publication of KR102260549B1 publication Critical patent/KR102260549B1/ko
Priority to US17/467,804 priority patent/US11575740B2/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/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • 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/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

연합 컨테이너 환경에서 지리적으로 가깝고 자원 현황이 좋은 클러스터에서 서비스가 되도록 로드 밸런싱을 수행하기 위한 클라우드 관리방법 및 장치가 제공된다. 본 발명의 실시예에 따른 클라우드 관리방법은, 클라우드 관리장치가, 복수의 클러스터에 대한 가용 자원 현황을 모니터링하여, 가용 자원 비율이 임계값 미만인 제1 클러스터가 지원하는 제1 서비스를 보유하는 클러스터를 선별하는 단계; 클라우드 관리장치가, 클러스터 각각의 가용 자원 현황 및 지리적 근접도에 대한 점수를 산출하는 단계; 및 클라우드 관리장치가, 클러스터 선별 결과 및 점수 산출 결과를 기반으로, 제1 서비스의 로드 밸런싱을 수행하는 단계;를 포함한다. 이에 의해, 분산된 환경에서 요구되는 서비스의 응답 속도의 지연이 최소화 되도록 하고, 사용자의 요청이 있는 접근 위치와 서비스가 배포된 클러스터간의 지리적 친밀도(근접도) 분석을 통해 지리적으로 가까운 클러스터에서 서비스가 처리되도록 지원할 수 있다.

Description

연합 컨테이너 환경에서 자원 사용률 및 지리적 위치 기반 로드밸런싱 방법{Load balancing method based on resource utilization and geographic location in a associative container environment}
본 발명은 클라우드 관리방법 및 장치에 관한 것으로, 더욱 상세하게는 연합 컨테이너 환경에서 지리적으로 가깝고 자원 현황이 좋은 클러스터에서 서비스가 되도록 로드 밸런싱을 수행하기 위한 클라우드 관리방법 및 장치에 관한 것이다.
최근 앱 개발 및 서비스시 온프레미스 서버 환경을 구축하기 보다는 클라우드 환경을 이용하는 비율이 날로 증가하고 있다. 하지만, 클라우드 환경에서도 다양한 앱을 실행하는 데 있어 운영체제와 플랫폼의 제한사항에는 변화가 없으며 기존 느린 개발 프로세스와 유연하지 못한 앱 개발·배포방식에 대한 문제가 여전히 존재한다.
또한, 내부 자원을 효율적으로 사용하고 수초 단위의 민첩한 앱 배포 및 관리가 가능한 컨테이너 기반의 마이크로 서비스가 출현하였으나, 컨테이너 기반의 마이크로 서비스는 폭증하는 사용자의 트래픽에 대응하기에는 자원을 확장하는데 한계가 있다.
이러한 마이크로 서비스는 컨테이너 플랫폼간 서비스 이동도 불가능하며, 탄력적으로 서비스의 확장 및 가용성을 제공하고 지역적으로 분산된 컨테이너 플랫폼간에 협업이 필요함에 따라 자원의 유연한 확장이 어렵고 서비스 이동성 극대화가 어렵다는 문제점이 있다.
이러한 문제점을 해결하고자 분산 협업형 컨테이너 플랫폼 기술이 등장하였으나, 다중(연합) 클러스터 환경에 적합한 트래픽 분산(로드밸런싱) 기능이 없어, 여전히 문제점이 존재한다.
따라서, 연합 컨테이너 환경에 적합한 로드 밸런싱을 수행하기 위한 방안의 모색이 요청된다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 연합 컨테이너 환경에서 지리적으로 가깝고 자원 현황이 좋은 클러스터에서 서비스가 되도록 로드 밸런싱을 수행하기 위한 클라우드 관리방법 및 장치를 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 클라우드 관리방법은, 클라우드 관리장치가, 복수의 클러스터에 대한 가용 자원 현황을 모니터링하여, 가용 자원 비율이 임계값 미만인 제1 클러스터가 지원하는 제1 서비스를 보유하는 클러스터를 선별하는 단계; 클라우드 관리장치가, 클러스터 각각의 가용 자원 현황 및 지리적 근접도에 대한 점수를 산출하는 단계; 및 클라우드 관리장치가, 클러스터 선별 결과 및 점수 산출 결과를 기반으로, 제1 서비스의 로드 밸런싱을 수행하는 단계;를 포함한다.
이때, 클러스터를 선별하는 단계는, 인그레스 리소스(Ingress Resource)를 통해 제1 서비스를 보유하는 클러스터를 선별할 수 있다.
그리고 클러스터를 선별하는 단계는, 가용 자원 비율이 임계값 미만인 제1 클러스터 감지 이전에, 서비스별 보유 클러스터를 분류하여, map 형식으로 저장하고, 특정 서비스에 가용 자원 비율이 임계값 미만인 제1 클러스터가 발생하면, map에서 가용 자원 비율이 임계값 미만인 제1 클러스터가 발생하는 서비스를 보유하는 클러스터를 선별할 수 있다.
또한, 점수를 산출하는 단계는, 제1 서비스의 클라이언트 IP로부터 클라이언트가 속하는 지리 정보를 추출하고, 추출 결과와 선별된 클러스터 각각의 지리 정보와 비교하여, 국가 및 대륙의 동일 여부에 따라 지리적 근접도에 대한 점수를 산출할 수 있다.
그리고 점수를 산출하는 단계는, 서비스별 보유 클러스터가 분류되면, 가용 자원 비율이 임계값 미만인 제1 클러스터 감지 이전에, 클러스터 각각의 가용 자원을 계산하는 Resource Analytic Engine을 이용하여, 클러스터별 가용 자원 현황에 대한 점수를 산출할 수 있다.
또한, 점수를 산출하는 단계는, 클러스터 각각에 대해 CPU 자원 및 메모리 자원을 포함하는 가용 자원에 대한 점수를 산출할 수 있다.
그리고 점수를 산출하는 단계는, 복수의 가용 자원 중 어느 한 종류의 가용 자원에 가중치가 부여되면, 가중치가 부여된 가용 자원의 가용량이 다른 클러스터보다 많은 클러스터에 상대적으로 높은 점수를 부여할 수 있다.
또한, 점수를 산출하는 단계는, 클러스터별로 각각의 가용 자원 현황 및 지리적 근접도에 대한 점수가 산출되면, 클러스터별로 산출된 점수들을 합산하고, 클러스터별 트래픽 수신 비율에 따라 제1 서비스의 로드 밸런싱을 수행하기 위해, 하기 수식 1을 이용하여, 클러스터별 트래픽 수신 비율을 계산할 수 있다.
(수식 1)
Figure 112020096101823-pat00001
또한, 본 발명의 일 실시예에 따른, 클라우드 관리방법은, 제1 서비스의 로드 밸런싱을 수행 결과에 따라, 트래픽을 수신할 클러스터의 도메인을 클라이언트에게 반환하는 단계;를 더 포함하고, 이때, 반환하는 단계는, 도메인 반환 시, Status Code를 함께 반환함으로써, 클라이언트가 트래픽을 수신할 클러스터에 트래픽을 직통(direct)으로 전송하도록 할 수 있다.
한편, 본 발명의 다른 실시예에 따른, 클라우드 관리방법이 수행되는 컴퓨터 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록매체는, 복수의 클러스터에 대한 가용 자원 현황을 모니터링하여, 가용 자원 비율이 임계값 미만인 제1 클러스터가 지원하는 제1 서비스를 보유하는 클러스터를 선별하는 단계; 선별된 클러스터 각각의 가용 자원 현황 및 지리적 근접도에 대한 점수를 산출하는 단계; 및 점수 산출 결과를 기반으로, 제1 서비스의 로드 밸런싱을 수행하는 단계;를 포함하는 방법을 수행하는 컴퓨터 프로그램이 수록된다.
그리고 본 발명의 다른 실시예에 따른, 클라우드 관리장치는, 복수의 클러스터에 대한 가용 자원 현황을 수신하는 통신부; 및 통신부를 통해 수신된 복수의 클러스터에 대한 가용 자원 현황을 모니터링하여, 가용 자원 비율이 임계값 미만인 제1 클러스터가 지원하는 제1 서비스를 보유하는 클러스터를 선별하고, 선별된 클러스터 각각의 가용 자원 현황 및 지리적 근접도에 대한 점수를 산출하며, 점수 산출 결과를 기반으로, 제1 서비스의 로드 밸런싱을 수행하는 프로세서;를 포함한다.
본 발명의 다른 실시예에 따른, 클라우드 관리시스템은, 복수의 클러스터로 구성되는 클라우드 플랫폼; 및 복수의 클러스터에 대한 가용 자원 현황을 모니터링하여, 가용 자원 비율이 임계값 미만인 제1 클러스터가 지원하는 제1 서비스를 보유하는 클러스터를 선별하고, 선별된 클러스터 각각의 가용 자원 현황 및 지리적 근접도에 대한 점수를 산출하며, 점수 산출 결과를 기반으로, 제1 서비스의 로드 밸런싱을 수행하는 클라우드 관리장치;를 포함한다.
이상 설명한 바와 같이, 본 발명의 실시예들에 따르면, 분산된 환경에서 요구되는 서비스의 응답 속도의 지연이 최소화 되도록 하고, 사용자의 요청이 있는 접근 위치와 서비스가 배포된 클러스터간의 지리적 친밀도(근접도) 분석을 통해 지리적으로 가까운 클러스터에서 서비스가 처리되도록 지원할 수 있다.
도 1은, 본 발명의 일 실시예에 따른 클라우드 시스템의 구성의 설명에 제공된 도면,
도 2는 본 발명의 일 실시예에 따른, 클라우드 플랫폼의 세부 구성의 설명에 제공된 도면,
도 3은, 본 발명의 일 실시예에 따른, 클라우드 관리장치의 세부 구성의 설명에 제공된 도면,
도 4는, 본 발명의 일 실시예에 따른, 연합 컨테이너 환경에서 로드 밸런싱을 수행하는 과정의 설명에 제공된 도면,
도 5는, 본 발명의 일 실시예에 따른, 연합 컨테이너 환경에서 로드 밸런싱을 수행하는 과정의 설명에 제공된 흐름도,
도 6 내지 도 7은, 본 발명의 일 실시예에 따른, 로드 밸런싱을 수행하기 위해, 클러스터를 선별하는 과정 및 점수를 산출하는 과정의 설명에 제공된 도면,
도 8은 선별 결과가 map 형식으로 저장된 모습이 예시된 도면,
도 9는, 클러스터별 자원 점수 변화 및 트래픽 비율 변화가 예시된 도면,
도 10은 트래픽을 수신할 클러스터의 도메인을 클라이언트에게 반환하는 과정의 설명에 제공된 도면이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 1은, 본 발명의 일 실시예에 따른 클라우드 시스템의 구성의 설명에 제공된 도면이다.
본 실시예에 따른 클라우드 시스템은, 연합 컨테이너 환경에서 지리적으로 가깝고 자원 현황이 좋은 클러스터에서 서비스가 되도록 로드 밸런싱(트래픽분산)을 수행할 수 있다.
또한, 본 클라우드 시스템은, 로드 밸런싱을 위한 분석을 수행할 경우에 따른 지연 현상을 줄이기 위해 개별 분석 도구(엔진)을 통해 서비스 연결 클러스터 선정 작업을 처리할 수 있다.
이를 위해, 도 1에 도시된 바와 같이, 클라우드 시스템에서, 클라우드 플랫폼(10)은 클라우드 관리장치(100)에 의해 관리된다.
구체적으로, 클라우드 관리장치(100)는 복수의 클러스터에 대한 가용 자원 현황을 모니터링하여, 가용 자원 비율이 임계값 미만인 제1 클러스터가 지원하는 제1 서비스를 보유하는 클러스터를 선별하고, 선별된 클러스터 각각의 가용 자원 현황 및 지리적 근접도에 대한 점수를 산출하며, 점수 산출 결과를 기반으로, 제1 서비스의 로드 밸런싱을 수행할 수 있다.
여기서, 클라우드 관리장치(100)는 그 자체로 물리적으로 독립된 장치로 구현될 수 있을 뿐만 아니라, 어떤 장치나 시스템 또는 클라우드의 일부로 포함되어 있는 형태로 구현될 수도 있으며, 스마트폰이나 컴퓨터나 서버나 클라우드 등에 설치된 프로그램 또는 플랫폼 또는 프레임워크 또는 애플리케이션 등의 소프트웨어 형태로 구현될 수도 있음은 물론이다. 또한, 클라우드 관리장치(100)의 각 구성요소는 물리적 구성요소로 구현될 수도 있고 소프트웨어의 기능 형태의 구성요소로 구현될 수도 있다.
클라우드 플랫폼(10)은 복수개의 서버들로 구성되어 가상화를 통한 클라우드 서비스를 제공하는 플랫폼으로, 도커(Docker)와 쿠버네티스(Kubernetes) 등으로 구현될 수 있으며, 분산, 협업형 컨테이너 플랫폼 환경으로 구축된다.
도 1에 도시된 바와 같이, 클라우드 플랫폼(10)은 복수개의 클러스터로 구성되며, 하나의 클러스터에는 복수개의 노드가 포함된다. 그리고, 노드 내에는 적어도 하나의 포드(Pod)가 포함된다.
여기에서, 클러스터(Cluster)는 여러개의 서버를 하나의 서버인 것 처럼 보이도록 가상화한 것을 나타내며, 지역별로 위치되어 있을 수 있다, 구체적으로, 도 1의 클라우드 플랫폼(10)은 클러스터 1과 클러스터 2를 포함하며, 클러스터 1과 클러스터 2는 리전(region) 및 영역(zone)이 다르게 위치할 수 있다.
여기서, 리전은 대륙, 영역은 국가를 의미할 수 있다.
또한, 하나의 클러스터에는 복수개의 노드(Node)가 포함된다. 노드(Node)는 실제 서비스(또는 컨테이너)가 실행되는 서버 단위를 나타낸다. 노드는 서비스를 생성하고 서비스 상태를 관리하는 역할을 수행하며, 복수개의 포드(Pod)로 구성된다.
이와 같은 구조의 클라우드 플랫폼(10)은 클라우드 관리장치(100)에 의해 결정된 노드에 특정 서비스를 실행하기 위한 자원을 할당하는 기능을 수행하게 된다.
또한, 클라우드 관리장치(100)는 전체 클러스터를 관리하는 마스터와 같은 기능을 수행하게 된다. 모든 명령은 마스터인 클라우드 관리장치(100)의 API 서버를 호출하고 노드는 클라우드 관리장치(100)와 통신하면서 필요한 작업을 수행한다. 특정 노드의 컨테이너에 명령하거나 로그를 조회할 때도 노드에 직접 명령하는 게 아니라 클라우드 관리장치(100)에 명령을 내리고 클라우드 관리장치(100)가 노드에 접속하여 대신 결과를 응답하게 된다.
노드 내에는 적어도 하나의 포드(Pod)를 포함하며 이와 같은 노드의 구조에 대해 도 2를 참고하여 더욱 상세히 설명한다. 도 2는 본 발명의 일 실시예에 따른, 클라우드 플랫폼(10)의 세부 구성을 도시한 도면이다.
도 2에 도시된 바와 같이, 클라우드 플랫폼(10)은 복수개의 노드(200)들을 포함하고, 노드 내에는 적어도 하나의 포드(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) 등 다양한 무선 통신 방식으로 통신을 수행할 수 있으며, 유선랜 등의 유선 통신으로 통신을 할 수도 있음은 물론이다.
예를 들면, 통신부(110)는 특정 서비스에 대한 자원 할당 요청을 수신할 수 있다.
프로세서(120)는 클라우드 관리장치(100)의 전반적인 동작을 제어한다.
예를 들면, 프로세서(120)는, 마스터 클러스터(OpenMCP Cluster)의 역할을 수행하며, 통신부(110)를 통해 수신된 복수의 클러스터에 대한 가용 자원 현황을 모니터링하여, 가용 자원 비율이 임계값 미만인 제1 클러스터가 지원하는 제1 서비스를 보유하는 클러스터를 선별하고, 선별된 클러스터 각각의 가용 자원 현황 및 지리적 근접도에 대한 점수를 산출하며, 점수 산출 결과를 기반으로, 제1 서비스의 로드 밸런싱을 수행할 수 있다.
이를 위해, 프로세서(120)는, 클러스터 각각에 대해 가용 자원 현황에 대한 점수를 산출하기 위한 Resource Analytic Engine(121) 및 클러스터 선별 결과 및 점수 산출 결과를 기반으로 로드 밸런싱을 수행하기 위한 LoadBalancing Controller(122)을 포함할 수 있다.
도 4는, 본 발명의 일 실시예에 따른, 연합 컨테이너 환경에서 로드 밸런싱을 수행하는 과정의 설명에 제공된 도면이고, 도 5는, 본 발명의 일 실시예에 따른, 연합 컨테이너 환경에서 로드 밸런싱을 수행하는 과정의 설명에 제공된 흐름도이다.
본 실시예에 따른, 클라우드 관리방법은, 연합 컨테이너 환경에서 DNS(Domain Name System)를 통해, 클라이언트에게 트래픽을 수신할 각 클러스터 식별정보(#N)와 도메인(Domain)을 제공하면(S510), 각 클러스터가 클라이언트의 서비스를 지원하기 위해, 수신 비율에 따라 트래픽을 수신하게 된다(S520).
그리고 클라우드 관리장치(100)는, 트래픽을 수신하는 복수의 클러스터에 대한 가용 자원 현황을 모니터링하여(S530), 가용 자원 비율이 임계값 미만인 제1 클라스터가 존재하는지 판단한다(S540).
이때, 가용 자원 비율이 임계값 미만인 제1 클러스터가 존재하면(S540-Y), 클라우드 관리장치(100)는, 가용 자원 비율이 임계값 미만인 제1 클러스터가 지원하는 제1 서비스를 보유하는 클러스터를 선별하고(S550), 선별된 클러스터 또는 모든 클러스터 각각의 가용 자원 현황 및 지리적 근접도에 대한 점수를 산출하게 된다(S560).
그리고 클라우드 관리장치(100)는, 클러스터 선별 결과 및 점수 산출 결과를 기반으로, 연합 클러스터 내 지리적으로 가깝고 자원 현황이 좋은 클러스터를 이용하여 제1 서비스를 지원하기 위해, 제1 서비스의 로드 밸런싱을 수행할 수 있다(S570).
첨언하면, 도 4에서는 제1 서비스의 로드 밸런싱이 수행되어, 제1 클러스터의 트래픽 수신 비율이 59.37%, 제2 클러스터의 트래픽 수신 비율이 31.25%, 제3 클러스터의 트래픽 비율이 9.37%인 것을 나타낸다.
도 6 내지 도 7은, 본 발명의 일 실시예에 따른, 로드 밸런싱을 수행하기 위해, 클러스터를 선별하는 과정 및 점수를 산출하는 과정의 설명에 제공된 도면이고, 도 8은 선별 결과가 map 형식으로 저장된 모습이 예시된 도면이며, 도 9는 클러스터별 자원 점수 변화 및 트래픽 비율 변화가 예시된 도면이고, 도 10은, 트래픽을 수신할 클러스터의 도메인을 클라이언트에게 반환하는 과정의 설명에 제공된 도면이다.
이하에서는 도 6 내지 도 10을 참조하여, 클라우드 관리장치(100)가 가용 자원 비율이 임계값 미만인 제1 클러스터가 지원하는 제1 서비스를 보유하는 클러스터를 선별하는 과정 및 클라우드 관리장치(100)가 클러스터 각각의 가용 자원 현황 및 지리적 근접도에 대한 점수를 산출하는 과정을 더욱 상세히 설명하기로 한다.
클라우드 관리장치(100)는 전술한 바와 같이 가용 자원 비율이 임계값 미만인 제1 클러스터가 지원하는 제1 서비스의 로드 밸런싱을 수행하기 위해, 연합 클러스터를 구성하는 복수의 클러스터 중 제1 서비스가 배포된 클러스터를 선별하게 된다.
예를 들면, 클라우드 관리장치(100)는, 단일 클러스터에 포함되는 복수의 노드(Node) 및 포드(Pod)에 인그레스(Ingress)되는 인그레스 리소스(Ingress Resource)를 통해 제1 서비스를 보유하는 클러스터를 선별할 수 있다.
그리고 클라우드 관리장치(100)는, 가용 자원 비율이 임계값 미만인 제1 클러스터 감지 이전에, 서비스별 보유 클러스터를 분류하여, 도 8에 예시된 바와 같이 map 형식으로 저장하고, 특정 서비스에 가용 자원 비율이 임계값 미만인 제1 클러스터가 발생하면, map에서 가용 자원 비율이 임계값 미만인 제1 클러스터가 발생하는 서비스를 보유하는 클러스터를 선별할 수 있다.
첨언하면, 도 8은, A 클라이언트의 제1 서비스(service1)은 제1 클러스터(cluster1) 및 제2 클러스터(cluster2)가 보유 클러스터가며, B 클라이언트의 제2 서비스(service2)는 제2 클러스터(cluster2) 및 제3 클러스터(cluster3)이 보유 클러스터인 것으로 나타난다.
따라서, 클라우드 관리장치(100)는, 제1 클러스터가 가용 자원 비율이 임계값 미만인 경우, 제1 클러스터가 지원하는 제1 서비스를 보유하는 제1 클러스터와 제2 클러스터를 선별하여, 두 클러스터의 트래픽 수신 비율을 조정(로드 밸런싱)할 수 있다.
이때, map 형식으로 저장된 서비스별 보유 클러스터에 대한 정보는 새로운 서비스가 배포되거나, 기존에 실행 중인 서비스의 로드 밸런싱이 수행될 때마다, 클라우드 관리장치(100)에 의해, 추가 및 변경될 수 있다.
한편, 클라우드 관리장치(100)는, 제1 서비스와 같이 특정 서비스의 로드 밸런싱을 수행하기 위해, 선별된 클러스터 또는 모든 클러스터 각각의 가용 자원 현황 및 지리적 근접도에 대한 점수를 산출하게 된다.
이때, 점수 산출 과정은 기본적으로, 선별된 클러스터를 대상으로 수행되지만, 서비스별 보유 클러스터가 분류되는 경우에는, 가용 자원 비율이 임계값 미만인 제1 클러스터 감지 이전에, Resource Analytic Engine(121)을 이용하여, 모든 클러스터를 대상으로 클러스터별 가용 자원 현황에 대한 점수를 산출할 수 있다.
예를 들면, 클라우드 관리장치(100)는, 지리적으로 가까운 클러스터에 높은 점수를 부여하여, 우선적으로 트래픽을 할당하기 위해, 제1 서비스의 클라이언트 IP로부터 클라이언트가 속하는 지리 정보를 추출하고, 추출 결과와 선별된 클러스터 각각의 지리 정보와 비교하여, 국가 및 대륙의 동일 여부에 따라 지리적 근접도에 대한 점수를 산출할 수 있다.
즉, 클라우드 장치는, 제1 서비스의 클라이언트가 속하는 국가와 동일 국가에 속하는 클러스터에 가장 높은 점수를 부여하고, 제1 서비스의 클라이언트가 속하는 국가와 국가는 다르지만, 동일 대륙에 속하는 클러스터에 중간 점수를 부여하고, 제1 서비스의 클라이언트가 속하는 국가와 국가와 대륙이 모두 다른 클러스터에 가장 낮은 점수를 부여할 수 있다.
구체적으로 예를 들면, 제1 서비스가 아시아(대륙-리전)의 한국(국가-영역)에 위치하는 클라이언트인 경우, 한국에 속하는 클러스터에는 보통 점수(ex. 100)와 정책 정보에 포함된 지리적 근접도 가중치 점수를 합친 점수(ex. 100+@)를 부여하고, 같은 아시아에 속하는 중국의 클러스터에는 보통 점수(ex. 100)를 부여하고, 국가와 대륙이 다른 미국의 클러스터에는 보통 점수(ex. 100)에서 정책 정보에 포함된 지리적 근접도 가중치 점수를 뺀 점수(ex. 100-@)를 부여할 수 있다.
이때, 클라우드 관리장치(100)는, 하기와 같이 국가별 대륙 정보 테이블을 보유하여, 클라이언트의 대륙 정보를 추출할 수 있다.
ex.
Figure 112020096101823-pat00002
클라우드 관리장치(100)는, 상기와 같은 방식으로, 선별된 클러스터 또는 모든 클러스터 각각의 지리적 근접도에 대한 점수를 산출할 수 있다.
그리고 클라우드 관리장치(100)는, 클러스터 각각의 가용 자원을 계산하는 Resource Analytic Engine(121)을 이용하여, 클러스터별 가용 자원 현황에 대한 점수를 산출할 수 있다.
구체적으로, 클라우드 관리장치(100)는, 서비스별 보유 클러스터가 분류되면, 가용 자원 비율이 임계값 미만인 제1 클러스터 감지 이전에, Resource Analytic Engine(121)을 이용하여, 클러스터별 가용 자원 현황에 대한 점수를 산출할 수 있다.
이를 통해, 특정 서비스의 트래픽이 폭증하는 경우, 미리 계산된 클러스터별 가용 자원 현황에 대한 점수를 이용하여, 즉각적이고, 효과적으로 로드 밸런싱을 수행할 수 있어, 폭증하는 트래픽에 효과적으로 대응하게 된다.
또한, 클라우드 관리장치(100)는, 하기 수식을 이용하여, 클러스터 각각에 대해 CPU 자원 및 메모리 자원을 포함하는 가용 자원에 대한 점수를 산출할 수 있다.
(수식)
Figure 112020096101823-pat00003
이때, 클라우드 관리장치(100)는, CPU 자원 및 메모리 자원의 가용 자원을 하기 수식들을 이용하여 산출할 수 있다.
(수식)
Figure 112020096101823-pat00004
(수식)
Figure 112020096101823-pat00005
더불어, 클라우드 관리장치(100)는, 하기 수식을 이용하여 디스크(Disk) 자원의 가용 자원에 대하여 점수를 산출 수도 있다.
(수식)
Figure 112020096101823-pat00006
또한, 클라우드 관리장치(100)는, 복수의 가용 자원 중 어느 한 종류의 가용 자원에 가중치(Weight)가 부여되면, 가중치가 부여된 가용 자원의 가용량이 다른 클러스터보다 많은 클러스터에 상대적으로 높은 점수를 부여할 수 있다.
ex 1. Available_CPU = Available_CPU * CPU_Weight
ex 2. Available_Memory = Available_Memory * Memory_Weight
ex 3. Available_Disk = Available_Disk * Disk_Weight
즉, 클라우드 관리장치(100)는, 정책 정보에 포함된 가용 자원 가중치 점수에 따라, CPU 또는 메모리의 가용 자원에 가중치 점수가 부여되거나, CPU 및 메모리 각각에 서로 다른 가중치 점수가 부여될 수 있다.
그리고 클라우드 관리장치(100)는, 클러스터별로 각각의 가용 자원 현황 및 지리적 근접도에 대한 점수가 산출되면, 클러스터별로 산출된 점수들을 합산하고, 클러스터별 트래픽 수신 비율에 따라 제1 서비스의 로드 밸런싱을 수행하기 위해, 하기 수식을 이용하여, 클러스터별 트래픽 수신 비율을 계산할 수 있다.
(수식)
Figure 112020096101823-pat00007
이를 통해, 클라우드 관리장치(100)는, 클러스터별 트래픽 수신 비율이 계산되면, 계산 결과에 따라 도 9에 예시된 바와 같이 제1 서비스의 로드 밸런싱을 수행할 수 있다.
도 9는, 상기의 점수 산출 방법에 따라 각 클러스터별 점수들이 산출되어 합산되고, 합산된 결과에 따라, 트래픽 수신 비율이 계산되어, 로드 밸런싱이 수행된 모습이 예시된 도면이다.
한편, 클라우드 관리장치(100)는, 제1 서비스의 로드 밸런싱을 수행 결과에 따라, 트래픽을 수신할 클러스터의 도메인을 클라이언트에게 반환(redirect)하게 된다.
구체적으로, 클라우드 관리장치(100)는, 도메인 반환 시, Status Code를 함께 반환함으로써, 클라이언트가 트래픽을 수신할 클러스터에 트래픽을 다이렉트(direct)로 전송하도록 할 수 있다.
즉, 기존에는, 도 10a에 도시된 바와 같이 분산 환경에서의 요청에 대한 응답 처리 과정이 4단계로 이뤄졌다면, 본 실시예에 따른 클라우드 관리장치(100)는, 트래픽을 수신할 클러스터의 도메인을 클라이언트에게 반환하는 과정에서, 반환할 URL을 명시하고, Status Code ‘307’을 함께 반환함으로써, 클라이언트가 트래픽을 수신할 클러스터에 트래픽을 다이렉트(direct)로 전송할 수 있어, 도 10b에 도시된 바와 같이 분산 환경에서의 요청에 대한 응답 처리 과정이 3단계로 이뤄질 수 있다.
ex. http.Redirect(writer, request, url, 307)
이때, 클라이언트는 반환된 값을 통해 해당 클러스터에 트래픽을 다이렉트로 전송할 수 있다.
한편, 본 실시예에 따른 장치와 방법의 기능을 수행하게 하는 컴퓨터 프로그램을 수록한 컴퓨터로 읽을 수 있는 기록매체에도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다. 또한, 본 발명의 다양한 실시예에 따른 기술적 사상은 컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터로 읽을 수 있는 코드 형태로 구현될 수도 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터에 의해 읽을 수 있고 데이터를 저장할 수 있는 어떤 데이터 저장 장치이더라도 가능하다. 예를 들어, 컴퓨터로 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광디스크, 하드 디스크 드라이브, 등이 될 수 있음은 물론이다. 또한, 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터로 읽을 수 있는 코드 또는 프로그램은 컴퓨터간에 연결된 네트워크를 통해 전송될 수도 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
10 : 클라우드 플랫폼
100 : 클라우드 관리장치
110 : 통신부
120 : 프로세서
121 : Resource Analytic Engine
122 : LoadBalancing Controller
200 ; 노드

Claims (12)

  1. 클라우드 관리장치가, 복수의 클러스터에 대한 가용 자원 현황을 모니터링하여, 가용 자원 비율이 임계값 미만인 제1 클러스터가 지원하는 제1 서비스를 보유하는 클러스터를 선별하는 단계;
    클라우드 관리장치가, 선별된 클러스터 각각의 가용 자원 현황 및 지리적 근접도에 대한 점수를 산출하는 단계; 및
    클라우드 관리장치가, 점수 산출 결과를 기반으로, 제1 서비스의 로드 밸런싱을 수행하는 단계;를 포함하고,
    클러스터를 선별하는 단계는,
    인그레스 리소스(Ingress Resource)를 통해 제1 서비스를 보유하는 클러스터를 선별하고,
    클러스터를 선별하는 단계는,
    가용 자원 비율이 임계값 미만인 제1 클러스터 감지 이전에, 서비스별 보유 클러스터를 분류하여, map 형식으로 저장하고, 특정 서비스에 가용 자원 비율이 임계값 미만인 제1 클러스터가 발생하면, map에서 가용 자원 비율이 임계값 미만인 제1 클러스터가 발생하는 서비스를 보유하는 클러스터를 선별하고,
    점수를 산출하는 단계는,
    제1 서비스의 클라이언트 IP로부터 클라이언트가 속하는 지리 정보를 추출하고, 추출 결과와 선별된 클러스터 각각의 지리 정보와 비교하여, 국가 및 대륙의 동일 여부에 따라 지리적 근접도에 대한 점수를 산출하며,
    점수를 산출하는 단계는,
    지리적 근접도에 대한 점수 산출 시, 지리적으로 가까운 클러스터에 높은 점수를 부여하여 우선적으로 트래픽을 할당하기 위해, 제1 서비스의 클라이언트가 속하는 국가와 동일 국가에 속하는 클러스터에 가장 높은 점수를 부여하고, 제1 서비스의 클라이언트가 속하는 국가와 국가는 다르지만, 동일 대륙에 속하는 클러스터에 중간 점수를 부여하고, 제1 서비스의 클라이언트가 속하는 국가와 국가와 대륙이 모두 다른 클러스터에 가장 낮은 점수를 부여하고,
    점수를 산출하는 단계는,
    서비스별 보유 클러스터가 분류되면, 가용 자원 비율이 임계값 미만인 제1 클러스터 감지 이전에, 클러스터 각각의 가용 자원을 계산하는 Resource Analytic Engine을 이용하여, 클러스터별 가용 자원 현황에 대한 점수를 산출하고,
    점수를 산출하는 단계는,
    클러스터 각각에 대해 CPU 자원 및 메모리 자원을 포함하는 가용 자원에 대한 점수를 산출하며,
    점수를 산출하는 단계는,
    복수의 가용 자원 중 어느 한 종류의 가용 자원에 가중치가 부여되면, 가중치가 부여된 가용 자원의 가용량이 다른 클러스터보다 많은 클러스터에 상대적으로 높은 점수를 부여하고,
    점수를 산출하는 단계는,
    클러스터별로 각각의 가용 자원 현황 및 지리적 근접도에 대한 점수가 산출되면, 클러스터별로 산출된 점수들을 합산하고,
    클러스터별 트래픽 수신 비율에 따라 제1 서비스의 로드 밸런싱을 수행하기 위해, 하기 수식 1을 이용하여, 클러스터별 트래픽 수신 비율을 계산하는 것을 특징으로 하는 클라우드 관리방법.
    (수식 1)
    Figure 112021050175296-pat00019

  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 청구항 1에 있어서,
    제1 서비스의 로드 밸런싱을 수행 결과에 따라, 트래픽을 수신할 클러스터의 도메인을 클라이언트에게 반환(redirect)하는 단계;를 더 포함하고,
    반환하는 단계는,
    도메인 반환 시, Status Code를 함께 반환함으로써, 클라이언트가 트래픽을 수신할 클러스터에 트래픽을 다이렉트(direct)로 전송하도록 하는 것을 특징으로 하는 클라우드 관리방법.
  10. 복수의 클러스터에 대한 가용 자원 현황을 모니터링하여, 가용 자원 비율이 임계값 미만인 제1 클러스터가 지원하는 제1 서비스를 보유하는 클러스터를 선별하는 단계;
    선별된 클러스터 각각의 가용 자원 현황 및 지리적 근접도에 대한 점수를 산출하는 단계; 및
    점수 산출 결과를 기반으로, 제1 서비스의 로드 밸런싱을 수행하는 단계;를 포함하고,
    클러스터를 선별하는 단계는,
    인그레스 리소스(Ingress Resource)를 통해 제1 서비스를 보유하는 클러스터를 선별하고,
    클러스터를 선별하는 단계는,
    가용 자원 비율이 임계값 미만인 제1 클러스터 감지 이전에, 서비스별 보유 클러스터를 분류하여, map 형식으로 저장하고, 특정 서비스에 가용 자원 비율이 임계값 미만인 제1 클러스터가 발생하면, map에서 가용 자원 비율이 임계값 미만인 제1 클러스터가 발생하는 서비스를 보유하는 클러스터를 선별하고,
    점수를 산출하는 단계는,
    제1 서비스의 클라이언트 IP로부터 클라이언트가 속하는 지리 정보를 추출하고, 추출 결과와 선별된 클러스터 각각의 지리 정보와 비교하여, 국가 및 대륙의 동일 여부에 따라 지리적 근접도에 대한 점수를 산출하며,
    점수를 산출하는 단계는,
    지리적 근접도에 대한 점수 산출 시, 지리적으로 가까운 클러스터에 높은 점수를 부여하여 우선적으로 트래픽을 할당하기 위해, 제1 서비스의 클라이언트가 속하는 국가와 동일 국가에 속하는 클러스터에 가장 높은 점수를 부여하고, 제1 서비스의 클라이언트가 속하는 국가와 국가는 다르지만, 동일 대륙에 속하는 클러스터에 중간 점수를 부여하고, 제1 서비스의 클라이언트가 속하는 국가와 국가와 대륙이 모두 다른 클러스터에 가장 낮은 점수를 부여하고,
    점수를 산출하는 단계는,
    서비스별 보유 클러스터가 분류되면, 가용 자원 비율이 임계값 미만인 제1 클러스터 감지 이전에, 클러스터 각각의 가용 자원을 계산하는 Resource Analytic Engine을 이용하여, 클러스터별 가용 자원 현황에 대한 점수를 산출하고,
    점수를 산출하는 단계는,
    클러스터 각각에 대해 CPU 자원 및 메모리 자원을 포함하는 가용 자원에 대한 점수를 산출하며,
    점수를 산출하는 단계는,
    복수의 가용 자원 중 어느 한 종류의 가용 자원에 가중치가 부여되면, 가중치가 부여된 가용 자원의 가용량이 다른 클러스터보다 많은 클러스터에 상대적으로 높은 점수를 부여하고,
    점수를 산출하는 단계는,
    클러스터별로 각각의 가용 자원 현황 및 지리적 근접도에 대한 점수가 산출되면, 클러스터별로 산출된 점수들을 합산하고,
    클러스터별 트래픽 수신 비율에 따라 제1 서비스의 로드 밸런싱을 수행하기 위해, 하기 수식 1을 이용하여, 클러스터별 트래픽 수신 비율을 계산하는 것을 특징으로 하는 클라우드 관리방법이 수행되는 컴퓨터 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록매체.
    (수식 1)
    Figure 112021050175296-pat00020

  11. 복수의 클러스터에 대한 가용 자원 현황을 수신하는 통신부; 및
    통신부를 통해 수신된 복수의 클러스터에 대한 가용 자원 현황을 모니터링하여, 가용 자원 비율이 임계값 미만인 제1 클러스터가 지원하는 제1 서비스를 보유하는 클러스터를 선별하고, 선별된 클러스터 각각의 가용 자원 현황 및 지리적 근접도에 대한 점수를 산출하며, 점수 산출 결과를 기반으로, 제1 서비스의 로드 밸런싱을 수행하는 프로세서;를 포함하고,
    프로세서는,
    클러스터 선별 시, 인그레스 리소스(Ingress Resource)를 통해 제1 서비스를 보유하는 클러스터를 선별하고,
    프로세서는,
    가용 자원 비율이 임계값 미만인 제1 클러스터 감지 이전에, 서비스별 보유 클러스터를 분류하여, map 형식으로 저장하고, 특정 서비스에 가용 자원 비율이 임계값 미만인 제1 클러스터가 발생하면, map에서 가용 자원 비율이 임계값 미만인 제1 클러스터가 발생하는 서비스를 보유하는 클러스터를 선별하고,
    프로세서는,
    점수 산출 시, 제1 서비스의 클라이언트 IP로부터 클라이언트가 속하는 지리 정보를 추출하고, 추출 결과와 선별된 클러스터 각각의 지리 정보와 비교하여, 국가 및 대륙의 동일 여부에 따라 지리적 근접도에 대한 점수를 산출하며,
    프로세서는,
    지리적 근접도에 대한 점수 산출 시, 지리적으로 가까운 클러스터에 높은 점수를 부여하여 우선적으로 트래픽을 할당하기 위해, 제1 서비스의 클라이언트가 속하는 국가와 동일 국가에 속하는 클러스터에 가장 높은 점수를 부여하고, 제1 서비스의 클라이언트가 속하는 국가와 국가는 다르지만, 동일 대륙에 속하는 클러스터에 중간 점수를 부여하고, 제1 서비스의 클라이언트가 속하는 국가와 국가와 대륙이 모두 다른 클러스터에 가장 낮은 점수를 부여하고,
    프로세서는,
    서비스별 보유 클러스터가 분류되면, 가용 자원 비율이 임계값 미만인 제1 클러스터 감지 이전에, 클러스터 각각의 가용 자원을 계산하는 Resource Analytic Engine을 이용하여, 클러스터별 가용 자원 현황에 대한 점수를 산출하고,
    프로세서는,
    클러스터 각각에 대해 CPU 자원 및 메모리 자원을 포함하는 가용 자원에 대한 점수를 산출하며,
    프로세서는,
    복수의 가용 자원 중 어느 한 종류의 가용 자원에 가중치가 부여되면, 가중치가 부여된 가용 자원의 가용량이 다른 클러스터보다 많은 클러스터에 상대적으로 높은 점수를 부여하고,
    프로세서는,
    클러스터별로 각각의 가용 자원 현황 및 지리적 근접도에 대한 점수가 산출되면, 클러스터별로 산출된 점수들을 합산하고,
    클러스터별 트래픽 수신 비율에 따라 제1 서비스의 로드 밸런싱을 수행하기 위해, 하기 수식 1을 이용하여, 클러스터별 트래픽 수신 비율을 계산하는 것을 특징으로 하는 클라우드 관리장치.
    (수식 1)
    Figure 112021050175296-pat00021

  12. 복수의 클러스터로 구성되는 클라우드 플랫폼; 및
    복수의 클러스터에 대한 가용 자원 현황을 모니터링하여, 가용 자원 비율이 임계값 미만인 제1 클러스터가 지원하는 제1 서비스를 보유하는 클러스터를 선별하고, 선별된 클러스터 각각의 가용 자원 현황 및 지리적 근접도에 대한 점수를 산출하며, 점수 산출 결과를 기반으로, 제1 서비스의 로드 밸런싱을 수행하는 클라우드 관리장치;를 포함하고,
    클라우드 관리장치는,
    클러스터 선별 시, 인그레스 리소스(Ingress Resource)를 통해 제1 서비스를 보유하는 클러스터를 선별하고,
    클라우드 관리장치는,
    가용 자원 비율이 임계값 미만인 제1 클러스터 감지 이전에, 서비스별 보유 클러스터를 분류하여, map 형식으로 저장하고, 특정 서비스에 가용 자원 비율이 임계값 미만인 제1 클러스터가 발생하면, map에서 가용 자원 비율이 임계값 미만인 제1 클러스터가 발생하는 서비스를 보유하는 클러스터를 선별하고,
    클라우드 관리장치는,
    점수 산출 시, 제1 서비스의 클라이언트 IP로부터 클라이언트가 속하는 지리 정보를 추출하고, 추출 결과와 선별된 클러스터 각각의 지리 정보와 비교하여, 국가 및 대륙의 동일 여부에 따라 지리적 근접도에 대한 점수를 산출하며,
    클라우드 관리장치는,
    지리적 근접도에 대한 점수 산출 시, 지리적으로 가까운 클러스터에 높은 점수를 부여하여 우선적으로 트래픽을 할당하기 위해, 제1 서비스의 클라이언트가 속하는 국가와 동일 국가에 속하는 클러스터에 가장 높은 점수를 부여하고, 제1 서비스의 클라이언트가 속하는 국가와 국가는 다르지만, 동일 대륙에 속하는 클러스터에 중간 점수를 부여하고, 제1 서비스의 클라이언트가 속하는 국가와 국가와 대륙이 모두 다른 클러스터에 가장 낮은 점수를 부여하고,
    클라우드 관리장치는,
    서비스별 보유 클러스터가 분류되면, 가용 자원 비율이 임계값 미만인 제1 클러스터 감지 이전에, 클러스터 각각의 가용 자원을 계산하는 Resource Analytic Engine을 이용하여, 클러스터별 가용 자원 현황에 대한 점수를 산출하고,
    클라우드 관리장치는,
    클러스터 각각에 대해 CPU 자원 및 메모리 자원을 포함하는 가용 자원에 대한 점수를 산출하며,
    클라우드 관리장치는,
    복수의 가용 자원 중 어느 한 종류의 가용 자원에 가중치가 부여되면, 가중치가 부여된 가용 자원의 가용량이 다른 클러스터보다 많은 클러스터에 상대적으로 높은 점수를 부여하고,
    클라우드 관리장치는,
    클러스터별로 각각의 가용 자원 현황 및 지리적 근접도에 대한 점수가 산출되면, 클러스터별로 산출된 점수들을 합산하고,
    클러스터별 트래픽 수신 비율에 따라 제1 서비스의 로드 밸런싱을 수행하기 위해, 하기 수식 1을 이용하여, 클러스터별 트래픽 수신 비율을 계산하는 것을 특징으로 하는 클라우드 관리시스템.
    (수식 1)
    Figure 112021050175296-pat00022
KR1020200116090A 2020-09-10 2020-09-10 연합 컨테이너 환경에서 자원 사용률 및 지리적 위치 기반 로드밸런싱 방법 KR102260549B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200116090A KR102260549B1 (ko) 2020-09-10 2020-09-10 연합 컨테이너 환경에서 자원 사용률 및 지리적 위치 기반 로드밸런싱 방법
US17/467,804 US11575740B2 (en) 2020-09-10 2021-09-07 Load balancing method based on resource utilization and geographic location in associative container environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200116090A KR102260549B1 (ko) 2020-09-10 2020-09-10 연합 컨테이너 환경에서 자원 사용률 및 지리적 위치 기반 로드밸런싱 방법

Publications (1)

Publication Number Publication Date
KR102260549B1 true KR102260549B1 (ko) 2021-06-04

Family

ID=76392086

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200116090A KR102260549B1 (ko) 2020-09-10 2020-09-10 연합 컨테이너 환경에서 자원 사용률 및 지리적 위치 기반 로드밸런싱 방법

Country Status (2)

Country Link
US (1) US11575740B2 (ko)
KR (1) KR102260549B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023090807A1 (ko) * 2021-11-19 2023-05-25 에스케이 주식회사 모델 서버 스케일링을 제어하는 ai 모델 운영 장치 및 방법
WO2023090784A1 (ko) * 2021-11-19 2023-05-25 에스케이 주식회사 단일 엔드포인트를 이용한 ai 모델 운영 장치 및 방법
WO2023211539A1 (en) * 2022-04-28 2023-11-02 Microsoft Technology Licensing, Llc Dynamic on-demand datacenter creation
US11916998B2 (en) 2021-11-12 2024-02-27 Electronics And Telecommunications Research Institute Multi-cloud edge system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100589831B1 (ko) * 2003-11-06 2006-06-14 인터내셔널 비지네스 머신즈 코포레이션 서버의 클러스터를 작동시키는 방법 및 시스템과 컴퓨터판독 가능한 기록 매체
JP5667506B2 (ja) * 2011-04-27 2015-02-12 日本電信電話株式会社 クラスタシステムおよびソフトウェアアップデート方法
KR102013004B1 (ko) * 2012-02-03 2019-08-21 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 확장 가능한 환경에서의 동적 로드 밸런싱 기법
KR20200080458A (ko) * 2018-12-18 2020-07-07 주식회사 비디 클라우드 멀티-클러스터 장치
KR102154446B1 (ko) * 2019-11-14 2020-09-09 한국전자기술연구원 분산·협업형 컨테이너 플랫폼 환경에서의 자원 균등 배분을 위한 고속 스케줄링 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728748B1 (en) * 1998-12-01 2004-04-27 Network Appliance, Inc. Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet
US9154735B2 (en) * 2013-03-15 2015-10-06 Blue Jeans Network Provision of video conferencing with load balancing
US9906590B2 (en) * 2015-08-20 2018-02-27 Verizon Digital Media Services Inc. Intelligent predictive stream caching
US11706290B2 (en) * 2020-10-22 2023-07-18 Fastly, Inc. Direct server reply for infrastructure services

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100589831B1 (ko) * 2003-11-06 2006-06-14 인터내셔널 비지네스 머신즈 코포레이션 서버의 클러스터를 작동시키는 방법 및 시스템과 컴퓨터판독 가능한 기록 매체
JP5667506B2 (ja) * 2011-04-27 2015-02-12 日本電信電話株式会社 クラスタシステムおよびソフトウェアアップデート方法
KR102013004B1 (ko) * 2012-02-03 2019-08-21 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 확장 가능한 환경에서의 동적 로드 밸런싱 기법
KR20200080458A (ko) * 2018-12-18 2020-07-07 주식회사 비디 클라우드 멀티-클러스터 장치
KR102154446B1 (ko) * 2019-11-14 2020-09-09 한국전자기술연구원 분산·협업형 컨테이너 플랫폼 환경에서의 자원 균등 배분을 위한 고속 스케줄링 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11916998B2 (en) 2021-11-12 2024-02-27 Electronics And Telecommunications Research Institute Multi-cloud edge system
WO2023090807A1 (ko) * 2021-11-19 2023-05-25 에스케이 주식회사 모델 서버 스케일링을 제어하는 ai 모델 운영 장치 및 방법
WO2023090784A1 (ko) * 2021-11-19 2023-05-25 에스케이 주식회사 단일 엔드포인트를 이용한 ai 모델 운영 장치 및 방법
KR20230073611A (ko) * 2021-11-19 2023-05-26 에스케이 주식회사 단일 엔드포인트를 이용한 ai 모델 운영 장치 및 방법
KR102663094B1 (ko) 2021-11-19 2024-05-03 에스케이 주식회사 단일 엔드포인트를 이용한 ai 모델 운영 장치 및 방법
WO2023211539A1 (en) * 2022-04-28 2023-11-02 Microsoft Technology Licensing, Llc Dynamic on-demand datacenter creation

Also Published As

Publication number Publication date
US11575740B2 (en) 2023-02-07
US20220078231A1 (en) 2022-03-10

Similar Documents

Publication Publication Date Title
KR102260549B1 (ko) 연합 컨테이너 환경에서 자원 사용률 및 지리적 위치 기반 로드밸런싱 방법
KR102154446B1 (ko) 분산·협업형 컨테이너 플랫폼 환경에서의 자원 균등 배분을 위한 고속 스케줄링 방법
US10999776B2 (en) Application-based user equipment route selection policy mapping
CN113726846B (zh) 边缘云系统、资源调度方法、设备及存储介质
KR102009614B1 (ko) 통신 시스템, 기지국, 통신 방법, 및 프로그램을 저장한 비일시적 컴퓨터 판독가능 매체
KR102260547B1 (ko) 분산 협업형 클러스터내 최적합 클러스터 선정 스케줄링 방법
KR102245341B1 (ko) 클라우드 엣지 내 워크로드 분산을 위한 예측 모델 적용 방법
CN106375987A (zh) 一种网络切片的选择方法及系统
KR102101120B1 (ko) 사용자 특성을 반영한 클러스터 기반 가상 네트워크 기능의 자원 할당 방법
WO2017125025A1 (zh) 寻呼的方法、装置、系统及存储介质
CN102204353B (zh) 将首选飞蜂窝的群与用户设备进行关联的方法
CN107182098B (zh) 用于实现用户设备在无线接入点间切换的方法与设备
JP7345645B2 (ja) 分散型サービスに要求応答の正確な通信遅延保証を提供するシステム
JP2016527759A (ja) モビリティ管理エンティティを選択するための方法、装置、及びシステム
US20210144515A1 (en) Systems and methods for multi-access edge computing node selection
EP2709337B1 (en) Service data processing method, device and system
US20210105624A1 (en) Systems and methods for low latency cloud computing for mobile applications
US20200382910A1 (en) Method and device for ranking and geographically grouping inbuilding sectors
CN103841625A (zh) 一种wlan准入方法及装置
CN108781189B (zh) 一种负载均衡的方法及相关设备
CN113382032A (zh) 云节点变更、网络扩展、服务提供方法、设备及介质
US10880230B2 (en) Application distribution execution system based on network slicing, apparatus applied thereto, and method of operating apparatus
CN109756530B (zh) 目标应用服务器和地理位置信息的确定方法及装置
JP2016042230A (ja) コンテンツ送信プログラム、装置、及び方法
US11314559B2 (en) Method for balanced scale out of resources in distributed and collaborative container platform environment

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant