KR102480731B1 - 클라우드 컴퓨팅의 다중 노드 환경을 위한 배치 스케줄링 장치 및 배치 스케줄링 방법 - Google Patents

클라우드 컴퓨팅의 다중 노드 환경을 위한 배치 스케줄링 장치 및 배치 스케줄링 방법 Download PDF

Info

Publication number
KR102480731B1
KR102480731B1 KR1020200171767A KR20200171767A KR102480731B1 KR 102480731 B1 KR102480731 B1 KR 102480731B1 KR 1020200171767 A KR1020200171767 A KR 1020200171767A KR 20200171767 A KR20200171767 A KR 20200171767A KR 102480731 B1 KR102480731 B1 KR 102480731B1
Authority
KR
South Korea
Prior art keywords
computing
node
pod
group
processor
Prior art date
Application number
KR1020200171767A
Other languages
English (en)
Other versions
KR20220081843A (ko
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 KR1020200171767A priority Critical patent/KR102480731B1/ko
Publication of KR20220081843A publication Critical patent/KR20220081843A/ko
Application granted granted Critical
Publication of KR102480731B1 publication Critical patent/KR102480731B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 일실시예에 따르면, 클라우드 컴퓨팅의 다중 노드 환경을 위한 배치 스케줄링 장치에 있어서, 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 적어도 2개 이상의 컴퓨팅 노드 각각에 포드(Pod)를 배치하고, 상기 적어도 2개 이상의 컴퓨팅 노드 중 적어도 어느 하나의 컴퓨팅 노드의 포드(Pod) 수용 가능 여부를 모니터링 하여 모니터링 결과를 생성하고, 상기 모니터링 결과를 기초로 상기 컴퓨팅 노드 각각에 배치한 포드(Pod) 중 적어도 어느 하나의 포드(Pod)를 상기 배치한 컴퓨팅 노드에서 다른 컴퓨팅 노드로 마이그레이션(migration)시킨다.

Description

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

Claims (10)

  1. 클라우드 컴퓨팅의 다중 노드 환경을 위한 배치 스케줄링 장치에 있어서,
    적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    적어도 2개 이상의 컴퓨팅 노드 각각에 포드(Pod)를 배치하고,
    상기 적어도 2개 이상의 컴퓨팅 노드 중 적어도 어느 하나의 컴퓨팅 노드의 포드(Pod) 수용 가능 여부를 모니터링 하여 모니터링 결과를 생성하고,
    상기 모니터링 결과를 기초로 상기 컴퓨팅 노드 각각에 배치한 포드(Pod) 중 적어도 어느 하나의 포드(Pod)를 상기 배치한 컴퓨팅 노드에서 다른 컴퓨팅 노드로 마이그레이션(migration)시키되,
    상기 적어도 하나의 프로세서는,
    상기 컴퓨팅 노드에 배치한 상기 적어도 어느 하나의 포드(Pod)와 동일한 인터넷 규약 주소를 상기 다른 컴퓨팅 노드의 포드에 할당하고,
    상기 컴퓨팅 노드에 배치한 상기 적어도 어느 하나의 포드(Pod)에서 동작하는 프로그램에 대한 모든 컨텍스트(context) 정보를 상기 다른 컴퓨팅 노드의 포드로 이전하는 클라우드 컴퓨팅의 다중 노드 환경을 위한 배치 스케줄링 장치.
  2. 제1항에 있어서,
    상기 적어도 하나의 프로세서는,
    미리 설정된 기준에 따라 컴퓨팅 노드를 그룹핑(grouping)하는 클라우드 컴퓨팅의 다중 노드 환경을 위한 배치 스케줄링 장치.
  3. 제2항에 있어서,
    상기 미리 설정된 기준은,
    지연 요구(delay requirement)인 클라우드 컴퓨팅의 다중 노드 환경을 위한 배치 스케줄링 장치.
  4. 제2항에 있어서,
    상기 적어도 하나의 프로세서는,
    저지연 서비스를 위한 컴퓨팅 노드 그룹을 결정하는 클라우드 컴퓨팅의 다중 노드 환경을 위한 배치 스케줄링 장치.
  5. 제1항에 있어서,
    상기 적어도 하나의 프로세서는,
    미리 설정된 시간 마다, 상기 적어도 2개 이상의 컴퓨팅 노드 중 적어도 어느 하나의 컴퓨팅 노드의 포드(Pod) 수용 가능 여부를 재모니터링 하는 클라우드 컴퓨팅의 다중 노드 환경을 위한 배치 스케줄링 장치.
  6. 적어도 하나의 프로세서를 포함하는 클라우드 컴퓨팅의 다중 노드 환경을 위한 배치 스케줄링 장치에서 수행되는 클라우드 컴퓨팅의 다중 노드 환경을 위한 배치 스케줄링 방법에 있어서,
    상기 적어도 하나의 프로세서가 적어도 2개 이상의 컴퓨팅 노드 각각에 포드(Pod)를 배치하는 단계;
    상기 적어도 하나의 프로세서가 상기 적어도 2개 이상의 컴퓨팅 노드의 자원을 모니터링 하여 모니터링 결과를 생성하는 단계; 및
    상기 적어도 하나의 프로세서가 상기 모니터링 결과를 기초로 상기 컴퓨팅 노드 각각에 배치한 포드(Pod) 중 적어도 어느 하나의 포드(Pod)를 상기 배치한 컴퓨팅 노드에서 다른 컴퓨팅 노드로 마이그레이션(migration)시키는 단계
    를 포함하되,
    상기 적어도 하나의 프로세서는,
    상기 컴퓨팅 노드에 배치한 상기 적어도 어느 하나의 포드(Pod)와 동일한 인터넷 규약 주소를 상기 다른 컴퓨팅 노드의 포드에 할당하고,
    상기 컴퓨팅 노드에 배치한 상기 적어도 어느 하나의 포드(Pod)에서 동작하는 프로그램에 대한 모든 컨텍스트(context) 정보를 상기 다른 컴퓨팅 노드의 포드로 이전하는 클라우드 컴퓨팅의 다중 노드 환경을 위한 배치 스케줄링 방법.
  7. 제6항에 있어서,
    상기 클라우드 컴퓨팅의 다중 노드 환경을 위한 배치 스케줄링 방법은,
    상기 적어도 하나의 프로세서가 적어도 2개 이상의 컴퓨팅 노드 각각에 포드(Pod)를 배치하는 단계 전에,
    상기 적어도 하나의 프로세서가 미리 설정된 기준에 따라 컴퓨팅 노드를 그룹핑(grouping)하는 단계
    를 더 포함하는 클라우드 컴퓨팅의 다중 노드 환경을 위한 배치 스케줄링 방법.
  8. 제7항에 있어서,
    상기 미리 설정된 기준은,
    지연 요구(delay requirement)인 클라우드 컴퓨팅의 다중 노드 환경을 위한 배치 스케줄링 방법.
  9. 제7항에 있어서,
    상기 적어도 하나의 프로세서가 상기 미리 설정된 기준에 따라 컴퓨팅 노드를 그룹핑(grouping)하는 단계는,
    상기 적어도 하나의 프로세서가 저지연 서비스를 위한 컴퓨팅 노드 그룹을 결정하는 단계
    를 더 포함하는 클라우드 컴퓨팅의 다중 노드 환경을 위한 배치 스케줄링 방법.
  10. 제6항에 있어서,
    상기 적어도 하나의 프로세서가 상기 적어도 2개 이상의 컴퓨팅 노드의 자원을 모니터링 하여 모니터링 결과를 생성하는 단계는,
    상기 적어도 하나의 프로세서가 미리 설정된 시간 마다, 상기 적어도 2개 이상의 컴퓨팅 노드 중 적어도 어느 하나의 컴퓨팅 노드의 포드(Pod) 수용 가능 여부를 재모니터링 하는 단계
    를 더 포함하는 클라우드 컴퓨팅의 다중 노드 환경을 위한 배치 스케줄링 방법.
KR1020200171767A 2020-12-09 2020-12-09 클라우드 컴퓨팅의 다중 노드 환경을 위한 배치 스케줄링 장치 및 배치 스케줄링 방법 KR102480731B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200171767A KR102480731B1 (ko) 2020-12-09 2020-12-09 클라우드 컴퓨팅의 다중 노드 환경을 위한 배치 스케줄링 장치 및 배치 스케줄링 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200171767A KR102480731B1 (ko) 2020-12-09 2020-12-09 클라우드 컴퓨팅의 다중 노드 환경을 위한 배치 스케줄링 장치 및 배치 스케줄링 방법

Publications (2)

Publication Number Publication Date
KR20220081843A KR20220081843A (ko) 2022-06-16
KR102480731B1 true KR102480731B1 (ko) 2022-12-22

Family

ID=82217553

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200171767A KR102480731B1 (ko) 2020-12-09 2020-12-09 클라우드 컴퓨팅의 다중 노드 환경을 위한 배치 스케줄링 장치 및 배치 스케줄링 방법

Country Status (1)

Country Link
KR (1) KR102480731B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014186624A (ja) 2013-03-25 2014-10-02 Kddi Corp マイグレーション処理方法及び処理装置
US20190102226A1 (en) * 2017-09-30 2019-04-04 Oracle International Corporation Dynamic node rebalancing between container platforms
US20190288915A1 (en) 2018-03-19 2019-09-19 Secure-24, Llc Discovery and migration planning techniques optimized by environmental analysis and criticality

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102348044B1 (ko) * 2015-02-13 2022-01-10 (주)아모레퍼시픽 번아웃증후군의 예방, 개선 또는 치료용 조성물
KR20190025802A (ko) 2017-09-02 2019-03-12 주식회사 제페코 클라우드 컴퓨팅 기반의 사업자간 매매정보 교류 및 전자결제시스템
KR102191586B1 (ko) * 2018-10-23 2020-12-15 포항공과대학교 산학협력단 블록체인 기반의 유휴 컴퓨팅 자원 공유를 통한 포그 컴퓨팅 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014186624A (ja) 2013-03-25 2014-10-02 Kddi Corp マイグレーション処理方法及び処理装置
US20190102226A1 (en) * 2017-09-30 2019-04-04 Oracle International Corporation Dynamic node rebalancing between container platforms
US20190288915A1 (en) 2018-03-19 2019-09-19 Secure-24, Llc Discovery and migration planning techniques optimized by environmental analysis and criticality

Also Published As

Publication number Publication date
KR20220081843A (ko) 2022-06-16

Similar Documents

Publication Publication Date Title
US11392400B2 (en) Enhanced migration of clusters based on data accessibility
US10347542B2 (en) Client-initiated leader election in distributed client-server systems
US9501309B2 (en) Monitoring hypervisor and provisioned instances of hosted virtual machines using monitoring templates
US10387179B1 (en) Environment aware scheduling
CN112424765B (zh) 用于用户定义的函数的容器框架
US20160204923A1 (en) Dynamically allocating compute nodes among cloud groups based on priority and policies
US9628505B2 (en) Deploying a security appliance system in a high availability environment without extra network burden
US10084670B2 (en) Network node on-demand link resources
US9678984B2 (en) File access for applications deployed in a cloud environment
US10171316B2 (en) Intelligently managing pattern contents across multiple racks based on workload and human interaction usage patterns
US20150088825A1 (en) Virtual machine storage replication schemes
KR20200080458A (ko) 클라우드 멀티-클러스터 장치
US10979488B2 (en) Method for increasing file transmission speed
US9106676B1 (en) Grid-based server messaging infrastructure
US11381665B2 (en) Tracking client sessions in publish and subscribe systems using a shared repository
KR102480731B1 (ko) 클라우드 컴퓨팅의 다중 노드 환경을 위한 배치 스케줄링 장치 및 배치 스케줄링 방법
US10353735B2 (en) Computing system including independent coupling facilities maintaining equivalency based on sequence values
KR102466231B1 (ko) 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치 및 관리 방법
US9413684B2 (en) Provisioning legacy systems network architecture resource communications through a group of servers in a data center
KR102466247B1 (ko) 오케스트레이터 환경에서 에이전트를 이용한 컨테이너 관리 장치 및 관리 방법
KR102426132B1 (ko) 클라우드 컴퓨팅 환경에서의 컨테이너 배치 장치 및 방법
US11875202B2 (en) Visualizing API invocation flows in containerized environments
Srikrishnan et al. A log data analytics based scheduling in open source cloud software

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