KR20210058471A - 클라우드 시스템 및 그 제어방법 - Google Patents

클라우드 시스템 및 그 제어방법 Download PDF

Info

Publication number
KR20210058471A
KR20210058471A KR1020190145959A KR20190145959A KR20210058471A KR 20210058471 A KR20210058471 A KR 20210058471A KR 1020190145959 A KR1020190145959 A KR 1020190145959A KR 20190145959 A KR20190145959 A KR 20190145959A KR 20210058471 A KR20210058471 A KR 20210058471A
Authority
KR
South Korea
Prior art keywords
virtual machine
container
resource consumption
service request
additional
Prior art date
Application number
KR1020190145959A
Other languages
English (en)
Other versions
KR102284264B1 (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 KR1020190145959A priority Critical patent/KR102284264B1/ko
Publication of KR20210058471A publication Critical patent/KR20210058471A/ko
Application granted granted Critical
Publication of KR102284264B1 publication Critical patent/KR102284264B1/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/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/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/5055Allocation 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 software capabilities, i.e. software resources associated or available to the machine
    • 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)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 클라우드 시스템 및 그 제어방법에 관한 것이다. 본 발명에 따른 외부의 서비스 요청에 대응하여 가상 머신(VM)에서 동작하는 컨테이너를 이용하여 처리하는 클라우드 시스템이 수행하는 제어방법은, 새로운 컨테이너가 등록될 때마다 해당 컨테이너에 대한 분석을 통해 자원 소모 예상치를 판단하는 단계와; 서비스 요청에 대응되는 컨테이너를 상기 가상 머신상에 배치한 후 실행시키는 단계와; 상기 가상 머신의 자원 소모 잔량과 상기 단계에서 판단된 각 컨테이너의 자원 소모 예상치 중 적어도 어느 하나를 비교하여 추가 서비스 요청시 자원 부족 여부를 예측하는 단계와; 상기 단계에서 자원 부족이 예측된 경우 추가 가상 머신을 미리 생성하는 단계를 포함하는 것을 특징으로 한다.

Description

클라우드 시스템 및 그 제어방법{CLOUD SYSTEM AND CONTROL METHOD THEREOF}
본 발명은 클라우드 시스템 및 그 제어방법에 관한 것으로, 보다 상세하게는 외부의의 서비스 요청에 대응하여 가상 머신(VM)에서 동작하는 컨테이너를 이용하여 처리하는 클라우드 시스템 및 그 제어방법에 관한 것이다.
일명 클라우드 컴퓨팅 또는 클라우드 시스템이란 "클라우드", 즉 인터넷을 통해 서버, 저장소, 소프트웨어, 분석 등의 컴퓨팅 서비스를 제공하는 것을 의미한다. 예를 들어 네이버의 엔드라이브, 구글 Docs, 윈도우를 설치하면 함께 설치되는 OneDrive 등이 이런 서비스의 대표적인 예라 할 수 있다는데, 현재 많은 사용자들이 클라우드 기능을 손쉽게 사용하고 있다.
클라우드 서비스를 이용하는 사람들이 기하급수적으로 늘어나면서 서버 및 데이터 센터에서 처리할 수 있는 데이터의 양을 넘어서기 시작하고, 이에 더해 수집한 데이터를 분석하고 송신하는 과정에서 발생하는 데이터 지연 현상이 발생되고 있다.
이러한 종래의 클라우드 컴퓨팅에서의 문제점 특히 데이터 처리 속도 및 용량과 관련된 문제를 해결할 방식 중 하나로서 엣지 컴퓨팅이 도입된 바 있다.
포그 컴퓨팅, MEC(Mobile Edge Computing) 등 여러 가지로 불리는 엣지 컴퓨팅은 말단 기기, 즉 '엣지'에서 컴퓨팅을 수행하는 것을 의미한다.
클라우드 컴퓨팅처럼 데이터를 처리하고 연산하는 곳이 멀리 떨어진 데이터 센터에 있는 게 아니라, 사용자들이 사용하는 단말 장치들과 가까운 곳에 컴퓨팅 장치가 위치한다는 것을 의미한다.
특히 지금까지 '엣지'에 위치한 장비들이 단순히 데이터 전송의 역할만을 수행하거나 데이터 저장의 역할만 수행한다면, 엣지 컴퓨팅에서는 이 '엣지' 장비에 컴퓨팅 능력을 부가하여 데이터 분석까지도 할 수 있도록 하고 있다.
이러한 엣지 컴퓨팅은 그 단독으로 구성되기 보다는 클라우드의 한 변형된 형태로 이용되는데, 이러한 엣지 컴퓨팅이 포함된 클라우드 시스템에서는 다양한 서비스 제공시 '컨테이너'기반으로 처리하고 있다.
여기서 컨테이너는 일종의 가상화 기술의 하나로서, 각 서비스 제공에 필요한 데이터, 프로그램, 정보들을 포함하고 있으므로, 동일한 컨테이너는 서버 운영체제 버전 등에 상관없이 동일한 기능을 수행할 수 있어서 널리 이용되고 있다.
즉, 각 서비스를 다양한 서버에서 제공되도록 하는 경우, 예를 들어 설정값이나 기타 서비스 제공을 위해 필요한 것들을 서버마다 새로 설정해야 하는 부담을 이러한 컨테이너를 이용함으로써 줄일 수 있는 것이다.
이러한 컨테이너는 가상화 기술을 이용하여 각각의 가상 머신 상에서 구동될 수 있다.
즉, 클라우드 시스템은 복수 개의 가상 머신을 구비할 수 있고, 그 각각의 가상 머신에 마찬가지로 복수 개의 컨테이너를 배치 및 실행시킬 수 있는 것이다.
따라서 컨테이너의 구동이 이처럼 가상 머신상에서 이루어지는데 가상 머신의 생성되는 데는 다소 시간이 걸리게 된다. 따라서 서비스 요청이 있는 경우 그 서비스 제공을 위한 컨테이너를 배치할 가상 머신을 그때서야 생성하는 것은 서비스 제공 지연을 초래하여 바람직하지 않다.
따라서 컨테이너가 배치될 가상 머신을 미리 생성해 둘 필요가 있는데, 아직 서비스 요청이 많지도 않은데 미리 가상 머신을 몇 개씩 생성해 두는 것은 자원 효율성 측면에서 상당히 안 좋은 것이다.
따라서 필요한 시점을 정확히 예측하여 가상 머신을 적당한 시점에 미리 생성하는 방안의 제시가 요청되고 있다.
공개특허 제10-2015-0068554호
본 발명은 상기한 종래의 요청에 부응하기 위해 안출된 것으로서, 그 목적은 컨테이너가 배치 및 실행되는 가상 머신의 생성 시점을 정확히 예측하여 미리 준비해 두는 클라우드 시스템 및 그 방법을 제공하는 것이다.
상기한 목적을 달성하기 위해 본 발명에 따른 외부의 서비스 요청에 대응하여 가상 머신(VM)에서 동작하는 컨테이너를 이용하여 처리하는 클라우드 시스템이 수행하는 제어방법은, 새로운 컨테이너가 등록될 때마다 해당 컨테이너에 대한 분석을 통해 자원 소모 예상치를 판단하는 단계와; 서비스 요청에 대응되는 컨테이너를 상기 가상 머신상에 배치한 후 실행시키는 단계와; 상기 가상 머신의 자원 소모 잔량과 상기 단계에서 판단된 각 컨테이너의 자원 소모 예상치 중 적어도 어느 하나를 비교하여 추가 서비스 요청시 자원 부족 여부를 예측하는 단계와; 상기 단계에서 자원 부족이 예측된 경우 추가 가상 머신을 미리 생성하는 단계를 포함하여 이루어진다.
여기서, 새로운 서비스 요청이 발생한 경우, 그 새로운 서비스 요청에 대응되는 컨테이너를 상기 단계에서 미리 생성된 추가 가상 머신에 배치한 후, 실행시키는 단계를 더 포함할 수 있다.
여기서, 새로운 서비스 요청이 발생한 경우, 그 새로운 서비스 요청에 대응되는 컨테이너에 대해 상기 단계에서 판단된 자원 소모 예상치와 현재 가상 머신의 자원 소모 잔량을 비교하여 자원 소모 잔량이 더 작은 경우, 그 새로운 서비스 요청에 대응되는 컨테이너를 상기 단계에서 미리 생성된 추가 가상 머신에 배치한 후, 실행시킬 수 있다.
여기서, 바로 직전에 상기 가상 머신에 배치된 컨테이너에 대응되는 자원 소모 예상치를 상기 가상 머신의 자원 소모 잔량과 비교하여 추가 서비스 요청시 자원 부족 여부를 예측할 수 있다.
여기서, 기 설정된 시간 동안 상기 가상 머신에 가장 많이 추가 배치된 컨테이너에 대응되는 자원 소모 예상치를 상기 가상 머신의 자원 소모 잔량과 선별적으로 비교하여 추가 서비스 요청시 자원 부족 여부를 예측할 수 있다.
또, 상기한 목적을 달성하기 위해 본 발명에 따른 외부의 서비스 요청에 대응하여 가상 머신(VM)에서 동작하는 컨테이너를 이용하여 처리하는 클라우드 시스템은, 새로운 컨테이너가 등록될 때마다 해당 컨테이너에 대한 분석을 통해 자원 소모 예상치를 판단하는 판단부와; 서비스 요청에 대응되는 컨테이너를 상기 가상 머신상에 배치한 후 실행시키는 컨테이너 배치 실행부와; 상기 판단부에서 판단된 각 컨테이너의 자원 소모 예상치 중 적어도 어느 하나와 상기 가상 머신의 자원 소모 잔량을 비교하여 추가 서비스 요청시 자원 부족 여부를 예측하는 자원 부족 예측부와; 상기 자원 부족 예측부에서 자원 부족이 예측된 경우 추가 가상 머신을 미리 생성하는 가상 머신 관리부를 포함하여 구성된다.
여기서, 상기 컨테이너 배치 실행부는, 상기 추가 가상 머신이 미리 생성된 이후 새로운 서비스 요청이 발생한 경우, 그 새로운 서비스 요청에 대응되는 컨테이너를 상기 추가 가상 머신에 배치한 후 실행시킬 수 있다.
여기서, 상기 컨테이너 배치 실행부는 새로운 서비스 요청이 발생한 경우, 그 새로운 서비스 요청에 대응되는 컨테이너에 대해 상기 판단부에서 판단된 자원 소모 예상치와 현재 가상 머신의 자원 소모 잔량을 비교하여 자원 소모 잔량이 더 작은 경우, 그 새로운 서비스 요청에 대응되는 컨테이너를 상기 추가 가상 머신에 배치한 후 실행시킬 수 있다.
여기서, 상기 자원 부족 예측부는, 상기 컨테이너 배치 실행부에 의해 바로 직전에 상기 가상 머신에 배치된 컨테이너에 대응되는 자원 소모 예상치를 상기 가상 머신의 자원 소모 잔량과 비교하여 추가 서비스 요청시 자원 부족 여부를 예측할 수 있다.
여기서, 상기 자원 부족 예측부는, 기 설정된 시간 동안 상기 가상 머신에 가장 많이 추가 배치된 컨테이너에 대응되는 자원 소모 예상치를 상기 가상 머신의 자원 소모 잔량과 비교하여 추가 서비스 요청시 자원 부족 여부를 예측할 수 있다.
이상 설명한 바와 같이 본 발명에 따르면, 가상 머신의 스케일 아웃 상황을 미리 예측하여 추가 가상 머신을 적당한 시점에 미리 생성함으로써 새로운 서비스 요청에 따른 처리를 신속히 할 수 있음과 아울러, 불필요하게 많은 가상 머신을 미리 생성하지 않아도 되므로 자원 효율성을 증대된다.
도 1은 본 발명의 일 실시예에 따른 클라우드 시스템을 포함하는 전체 시스템의 개략 구성도이고,
도 2는 도 1의 클라우드 시스템의 기능블록도이고,
도 3은 본 발명의 일 실시예에 따른 클라우드 시스템의 제어흐름도이고,
도 4는 추가로 가상 머신이 생성된 상태를 나타낸 도면이다.
이하에서는 첨부도면을 참조하여 본 발명에 대해 상세히 설명한다.
이하 본 발명에 따른 각 실시예는 본 발명의 이해를 돕기 위한 하나의 예에 불과하고, 본 발명이 이러한 실시예에 한정되는 것은 아니다. 특히 본 발명은 각 실시예에 포함되는 개별 구성, 개별 기능, 또는 개별 단계 중 적어도 어느 하나 이상의 조합으로 구성될 수 있다.
특히, 편의상 청구 범위의 일부 청구항에는 '(a)'와 같은 알파벳을 포함시켰으나, 이러한 알파벳이 각 단계의 순서를 규정하는 것은 아니다.
또한 이하 본 발명에 따른 각 실시예에서 언급하는 각 신호는 한 번의 연결 등에 의해 전송되는 하나의 신호를 의미할 수도 있지만, 후술하는 특정 기능 수행을 목적으로 전송되는 일련의 신호 그룹을 의미할 수도 있다. 즉, 각 실시예에서는 소정의 시간 간격을 두고 전송되거나 상대 장치로부터의 응답 신호를 수신한 이후에 전송되는 복수 개의 신호들이 편의상 하나의 신호명으로 표현될 수 있는 것이다.
본 발명의 일 실시예에 따른 클라우드 시스템(100)을 포함하는 전체 시스템의 개략 구성은 도 1에 도시된 바와 같다.
동 도면에 도시된 바와 같이 전체 시스템은 사용자 단말기(200)와, 클라우드 시스템(100)을 포함하여 구성될 수 있다.
여기서 사용자 단말기(200)는 각종 서비스를 요청하여 이용하는 고객들이 이용하는 것으로서, 예를 들어 스마트폰과 같은 무선 통신 단말기, 또는 댁내에 구비된 컴퓨터일 수 있는데, 이에 한정되는 것은 아니다.
클라우드 시스템(100)은 이러한 사용자 단말기(200)로부터의 각종 요청을 처리하는 것으로서, 예를 들어 웹 서비스, 파일 저장 서비스, 메신저 서비스 등 다양한 서비스를 제공할 수 있다.
특히 클라우드 시스템(100)은 컨테이너를 이용하여 이러한 각종 서비스를 처리하는데, 이러한 클라우드 시스템(100)의 구체적인 기능 블록의 일 예는 도 2에 도시된 바와 같다.
동 도면에 도시된 바와 같이, 클라우드 시스템(100)은 판단부(110), 컨테이너 배치 실행부(120), 자원 부족 예측부(130), 가상 머신 관리부(140)를 포함하여 구성될 수 있고, 더 나아가 컨테이너 등록부(150), 서비스 요청 수신부(160), 저장부(170)를 더 포함할 수 있다.
우선, 저장부(170)는 클라우드 시스템(100)의 동작에 필요한 각종 설정 정보, 데이터, 애플리케이션을 저장하고, 또한 클라우드 시스템(100)의 동작 중 새로 발생하거나 외부로부터 수신되는 정보를 저장하는 기능을 수행한다.
특히 저장부(170)에는 후술하는 각종 컨테이너가 등록되고 또한 가상 머신이 생성 및 저장될 수 있다.
서비스 요청 수신부(160)는 사용자 단말기(200)로부터 서비스 요청 신호를 수신하는 기능을 수행한다.
예를 들어 사용자 단말기(200)로부터 웹 서비스 요청, 파일 제공 서비스 요청, 메신저 서비스 요청 등의 각종 요청 신호를 수신하는 기능을 수행하는 것이다.
컨테이너 등록부(150)는 관리자의 요청에 따라 각종 컨테이너를 저장부(170)에 등록하는 기능을 수행한다.
여기서 컨테이너는 상술한 바와 같이 사용자 단말기(200)의 각 서비스 요청을 처리하는 기본 단위에 해당하는 것으로서, 컨테이너 그 자체는 공지된 기술에 해당하므로 보다 상세한 설명은 생략한다.
판단부(110)는 이처럼 새로운 컨테이너가 저장부(170)에 등록될 때마다 해당 컨테이너에 대한 분석을 수행하여 자원 소모 예상치를 판단하는 기능을 수행한다.
여기서 컨테이너 분석은 컨테이너 그 자체에 대한 분석과 컨테이너와 관련된 정보의 분석을 포함한다.
예를 들어 컨테이너에 그 자체에 해당 컨테이너 기능 수행을 위해 필요한 정보들이 포함되어 있는 경우, 판단부(110)는 그 컨테이너에 포함된 정보들을 분석하여 해당 컨테이너의 동작시 필요한 자원 소모 예상치를 판단할 수 있다.
또는 각 컨테이너의 종류별 기능을 매핑시킨 별도의 테이블이 존재하는 경우 판단부(110)는 새로운 컨테이너가 등록될 때마다 해당 테이블을 참조하여 그 새로 등록된 컨테이너의 자원 소모 예상치를 판단할 수 있는 것이다.
여기서 자원 소모 예상치는 각 컨테이너의 동작시 필요한 시스템 자원의 소모량을 예상한 값으로서, 예를 들어 CPU, 메모리, 네트워크 자원 등에 대한 소모량을 예상한 것일 수 있다.
컨테이너 배치 실행부(120)는 서비스 요청 수신부(160)에 수신된 서비스 요청에 대응되는 컨테이너를 가상 머신상에 배치한 후 실행시키는 기능을 수행한다. 즉, 저장부(170)에 등록되어 있던 컨테이너는 특정 가상 머신에 배치된 후에야 비로소 동작할 수 있고, 이에 따라 사용자 단말기(200)의 서비스 요청을 처리할 수 있다.
특히, 컨테이너 배치 실행부(120)는 어느 하나의 가상 머신이 생성되어 적어도 하나의 컨테이너가 해당 가상 머신상에 배치 및 동작하고 있는 상태에서, 후술하는 바와 같이 추가 가상 머신이 미리 생성된 경우, 새로운 서비스 요청이 발생하면 그 새로운 서비스 요청에 대응되는 컨테이너를 기존의 가상 머신 또는 새로운 가상 머신 중 어느 하나에 배치하여 실행되도록 할 수 있다.
구체적으로 컨테이너 배치 실행부(120)는 새로운 서비스 요청이 발생한 경우, 그 새로운 서비스 요청에 대응되는 컨테이너에 대해 판단부(110)에서 판단된 자원 소모 예상치와 현재 가상 머신의 자원 소모 잔량을 비교하여 자원 소모 잔량이 더 작은 경우, 그 새로운 서비스 요청에 대응되는 컨테이너를 추가 가상 머신에 배치한 후 실행시킬 수 있다.
여기서 가상 머신의 자원 소모 잔량은 현재의 가상 머신에 대응되는 자원 할당량 중 기 배치된 컨테이너 등에 의해 소모된 양을 차감하여 남은 것을 의미한다.
자원 부족 예측부(130)는 판단부(110)에서 판단된 각 컨테이너의 자원 소모 예상치 중 적어도 어느 하나와 가상 머신의 자원 소모 잔량을 비교하여 추가 서비스 요청시 자원 부족 여부를 예측하는 기능을 수행한다.
즉, 본 실시예에서는 각 컨테이너는 가상 머신상에 배치 및 실행되는데, 각 가상 머신마다 자원 할당량이 정해져 있는 경우, 각 컨테이너는 자신이 배치된 가상 머신의 자원 할당량 범위 이내에서 실행될 수 있는데, 자원 부족 예측부(130)는 이러한 상황을 미리 예측하는 것이다.
예를 들어 자원 부족 예측부(130)는 컨테이너 배치 실행부(120)에 의해 바로 직전에 가상 머신에 배치된 컨테이너에 대응되는 자원 소모 예상치를 가상 머신의 자원 소모 잔량과 비교하여 추가 서비스 요청시 자원 부족 여부를 예측할 수 있다.
특히, 자원 부족 예측부(130)는 기 설정된 시간 동안 상기 가상 머신에 가장 많이 추가 배치된 컨테이너에 대응되는 자원 소모 예상치를 현재 이용되고 있는 가상 머신의 자원 소모 잔량과 비교하여 추가 서비스 요청시 자원 부족 여부를 예측할 수 있다.
즉, 상술한 예는 동일한 컨테이너가 추가로 생성될 수 있다는 가정하에 설명한 것으로서, 예를 들어 A라는 컨테이너가 가상 머신에 배치 및 실행된 상태에서 B라는 컨테이너가 추가로 가상 머신에 배치 및 실행되는 경우, 자원 부족 예측부(130)는 그 B 컨테이너에 대해 판단된 자원 소모 예상치와 현재의 가상 머신의 자원 소모 잔량을 비교하여 자원 부족 여부를 예측할 수 있는 것이다.
한편, 가상 머신 관리부(140)는 컨테이너가 배치 및 실행되는 일종의 공간인 각 가상 머신을 관리하는 것으로서, 각 가상 머신의 생성 또는 소멸 처리를 수행할 수 있다.
특히, 가상 머신 관리부(140)는 자원 부족 예측부(130)에서 자원 부족이 예측된 경우 추가 가상 머신을 미리 생성할 수 있다.
이때 가상 머신 관리부(140)는 미리 추가 생성된 가상 머신은 동작시키지 않고 잠시 오프 상태로 두고서, 추후 새로운 컨테이너 배치가 필요한 시점에 온 상태로 전환시킬 수 있다.
이하에서는 도 3을 참조하여 본 발명의 일 실시예에 따른 클라우드 시스템(100)의 제어 과정을 설명한다.
새로운 컨테이너 등록이 감지되면, 클라우드 시스템(100)은 해당 컨테이너를 분석하여 자원 소모 예상치를 판단하여 저장한다.
이후, 사용자 단말기(200)로부터 서비스 요청이 감지된 경우 그 요청된 서비스에 대응되는 컨테이너를 현재 생성되어 있는 가상 머신에 배치하여 실행시킨다.
이러한 컨테이너의 동작에 의해 서비스 제공이 이루어지는 것이다.
한편, 클라우드 시스템(100)은 새로운 컨테이너가 가상 머신에 배치 및 실행된 경우, 기 등록된 각 컨테이너의 자원 소모 예상치와 현재 가상 머신의 자원 소모 잔량을 비교한다.
비교 결과 가상 머신의 자원 소모 잔량이 더 작은 경우, 클라우드 시스템(100)은 추가 가상 머신을 미리 생성하여 대기 상태로 둔다.
예를 들어 클라우드 시스템(100)은 기 등록된 컨테이너의 자원 소모 예상치 각각과 가상 머신의 자원 소모 잔량을 비교하여 어느 하나의 컨테이너의 자원 소모 예상치라도 가상 머신의 자원 소모 잔량보다 더 큰 경우 추가 가상 머신을 생성할 수 있다.
도 4를 참조하면, 컨테이너 저장소에 복수 개의 컨테이너가 등록되어 있는 상태에서, 현재 A 컨테이너가 배치 및 구동되어 있던 가상 머신에 새로운 서비스 요청에 따라 B 컨테이너가 배치 및 구동되는 경우, 클라우드 시스템(100)은 현재의 가상 머신의 자원 소모 잔량과 컨테이너 저장소에 저장되어 있는 각 컨테이너들의 자원 소모 예상치를 비교하고, 비교 결과 어느 하나의 컨테이너에 대한 자원 소모 예상치라도 가상 머신의 자원 소모 잔량보다 더 큰 경우 클라우드 시스템(100)은 도 4에 도시된 바와 같이 추가 가상 머신을 미리 생성하여 대기 상태로 둘 수 있는 것이다.
또 다른 예로써, 클라우드 시스템(100)은 바로 이전에 배치 및 실행된 컨테이너의 자원 소모 예상치와 가상 머신의 자원 소모 잔량만을 우선적으로 비교하여 자원 소모 예상치가 더 큰 경우 추가 가상 머신을 생성할 수도 있다.
이어서 사용자 단말기(200)로부터 또 다른 서비스 요청이 감지된 경우, 클라우드 시스템(100)은 그 또 다른 서비스 요청에 대응되는 컨테이너를 새로 생성되어 대기 상태로 있던 가상 머신에 배치하여 실행시킨다.
한편, 상술한 각 실시예를 수행하는 과정은 소정의 기록 매체(예를 들어 컴퓨터로 판독 가능한)에 저장된 프로그램 또는 애플리케이션에 의해 이루어질 수 있음은 물론이다. 여기서 기록 매체는 RAM(Random Access Memory)과 같은 전자적 기록 매체, 하드 디스크와 같은 자기적 기록 매체, CD(Compact Disk)와 같은 광학적 기록 매체 등을 모두 포함한다.
이때, 기록 매체에 저장된 프로그램은 컴퓨터나 스마트폰 등과 같은 하드웨어 상에서 실행되어 상술한 각 실시예를 수행할 수 있다. 특히, 상술한 본 발명에 따른 클라우드 시스템(100)의 기능 블록 중 적어도 어느 하나는 이러한 프로그램 또는 애플리케이션에 의해 구현될 수 있다.
또한, 본 발명은 상기한 특정 실시예에 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위 내에서 여러 가지로 변형 및 수정하여 실시할 수 있는 것이다. 이러한 변형 및 수정이 첨부되는 특허청구범위에 속한다면 본 발명에 포함된다는 것은 자명할 것이다.
100 : 클라우드 시스템 200 : 사용자 단말기
110 : 판단부 120 : 컨테이너 배치 실행부
130 : 자원 부족 예측부 140 : 가상 머신 관리부
150 : 컨테이너 등록부 160 : 서비스 요청 수신부
170 : 저장부

Claims (11)

  1. 외부의 서비스 요청에 대응하여 가상 머신(VM)에서 동작하는 컨테이너를 이용하여 처리하는 클라우드 시스템이 수행하는 제어방법에 있어서,
    (a) 새로운 컨테이너가 등록될 때마다 해당 컨테이너에 대한 분석을 통해 자원 소모 예상치를 판단하는 단계와;
    (b) 서비스 요청에 대응되는 컨테이너를 상기 가상 머신상에 배치한 후 실행시키는 단계와;
    (c) 상기 가상 머신의 자원 소모 잔량과 상기 (a) 단계에서 판단된 각 컨테이너의 자원 소모 예상치 중 적어도 어느 하나를 비교하여 추가 서비스 요청시 자원 부족 여부를 예측하는 단계와;
    (d) 상기 (c) 단계에서 자원 부족이 예측된 경우 추가 가상 머신을 미리 생성하는 단계를 포함하는 것을 특징으로 하는 클라우드 시스템의 제어방법.
  2. 제1항에 있어서,
    (e) 상기 (d) 단계 이후에, 새로운 서비스 요청이 발생한 경우, 그 새로운 서비스 요청에 대응되는 컨테이너를 상기 (d) 단계에서 미리 생성된 추가 가상 머신에 배치한 후, 실행시키는 단계를 더 포함하는 것을 특징으로 하는 클라우드 시스템의 제어방법.
  3. 제2항에 있어서,
    상기 (e) 단계에서는 새로운 서비스 요청이 발생한 경우, 그 새로운 서비스 요청에 대응되는 컨테이너에 대해 상기 (a) 단계에서 판단된 자원 소모 예상치와 현재 가상 머신의 자원 소모 잔량을 비교하여 자원 소모 잔량이 더 작은 경우, 그 새로운 서비스 요청에 대응되는 컨테이너를 상기 (d) 단계에서 미리 생성된 추가 가상 머신에 배치한 후, 실행시키는 것을 특징으로 하는 클라우드 시스템의 제어방법.
  4. 제1항에 있어서,
    상기 (c) 단계에서는, 상기 (b) 단계에서 바로 직전에 상기 가상 머신에 배치된 컨테이너에 대응되는 자원 소모 예상치를 상기 가상 머신의 자원 소모 잔량과 비교하여 추가 서비스 요청시 자원 부족 여부를 예측하는 것을 특징으로 하는 클라우드 시스템의 제어방법.
  5. 제1항에 있어서,
    상기 (c) 단계에서는, 기 설정된 시간 동안 상기 가상 머신에 가장 많이 추가 배치된 컨테이너에 대응되는 자원 소모 예상치를 상기 가상 머신의 자원 소모 잔량과 선별적으로 비교하여 추가 서비스 요청시 자원 부족 여부를 예측하는 것을 특징으로 하는 클라우드 시스템의 제어방법.
  6. 하드웨어와 결합되어 제1항 내지 제5항 중 어느 한 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능 기록 매체에 저장된 응용 프로그램.
  7. 외부의 서비스 요청에 대응하여 가상 머신(VM)에서 동작하는 컨테이너를 이용하여 처리하는 클라우드 시스템에 있어서,
    새로운 컨테이너가 등록될 때마다 해당 컨테이너에 대한 분석을 통해 자원 소모 예상치를 판단하는 판단부와;
    서비스 요청에 대응되는 컨테이너를 상기 가상 머신상에 배치한 후 실행시키는 컨테이너 배치 실행부와;
    상기 판단부에서 판단된 각 컨테이너의 자원 소모 예상치 중 적어도 어느 하나와 상기 가상 머신의 자원 소모 잔량을 비교하여 추가 서비스 요청시 자원 부족 여부를 예측하는 자원 부족 예측부와;
    상기 자원 부족 예측부에서 자원 부족이 예측된 경우 추가 가상 머신을 미리 생성하는 가상 머신 관리부를 포함하는 것을 특징으로 하는 클라우드 시스템.
  8. 제7항에 있어서,
    상기 컨테이너 배치 실행부는, 상기 추가 가상 머신이 미리 생성된 이후 새로운 서비스 요청이 발생한 경우, 그 새로운 서비스 요청에 대응되는 컨테이너를 상기 추가 가상 머신에 배치한 후 실행시키는 것을 특징으로 하는 클라우드 시스템.
  9. 제8항에 있어서,
    상기 컨테이너 배치 실행부는 새로운 서비스 요청이 발생한 경우, 그 새로운 서비스 요청에 대응되는 컨테이너에 대해 상기 판단부에서 판단된 자원 소모 예상치와 현재 가상 머신의 자원 소모 잔량을 비교하여 자원 소모 잔량이 더 작은 경우, 그 새로운 서비스 요청에 대응되는 컨테이너를 상기 추가 가상 머신에 배치한 후 실행시키는 것을 특징으로 하는 클라우드 시스템.
  10. 제7항에 있어서,
    상기 자원 부족 예측부는, 상기 컨테이너 배치 실행부에 의해 바로 직전에 상기 가상 머신에 배치된 컨테이너에 대응되는 자원 소모 예상치를 상기 가상 머신의 자원 소모 잔량과 비교하여 추가 서비스 요청시 자원 부족 여부를 예측하는 것을 특징으로 하는 클라우드 시스템.
  11. 제7항에 있어서,
    상기 자원 부족 예측부는, 기 설정된 시간 동안 상기 가상 머신에 가장 많이 추가 배치된 컨테이너에 대응되는 자원 소모 예상치를 상기 가상 머신의 자원 소모 잔량과 비교하여 추가 서비스 요청시 자원 부족 여부를 예측하는 것을 특징으로 하는 클라우드 시스템.
KR1020190145959A 2019-11-14 2019-11-14 클라우드 시스템 및 그 제어방법 KR102284264B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190145959A KR102284264B1 (ko) 2019-11-14 2019-11-14 클라우드 시스템 및 그 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190145959A KR102284264B1 (ko) 2019-11-14 2019-11-14 클라우드 시스템 및 그 제어방법

Publications (2)

Publication Number Publication Date
KR20210058471A true KR20210058471A (ko) 2021-05-24
KR102284264B1 KR102284264B1 (ko) 2021-08-02

Family

ID=76152914

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190145959A KR102284264B1 (ko) 2019-11-14 2019-11-14 클라우드 시스템 및 그 제어방법

Country Status (1)

Country Link
KR (1) KR102284264B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230064733A (ko) * 2021-11-04 2023-05-11 (주)아이티아이즈 가상 의료 서비스용 공통플랫폼 제공 방법 및 장치

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140086436A (ko) * 2012-12-28 2014-07-08 삼성에스디에스 주식회사 가상 클러스터의 동적 확장 시스템, 방법 및 그 프로그램이 저장된 기록매체
KR20150068554A (ko) 2013-12-11 2015-06-22 주식회사 케이티 클라우드 기반의 가상머신 이미지 서비스 제공 방법 및 시스템
KR20160043706A (ko) * 2014-10-14 2016-04-22 삼성에스디에스 주식회사 가상 머신 스케일링 장치 및 그 방법
KR101740490B1 (ko) * 2015-12-29 2017-05-26 경희대학교 산학협력단 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 시스템 및 그 방법
KR20180096310A (ko) * 2017-02-21 2018-08-29 에스케이텔레콤 주식회사 성능 제어 방법 및 이를 위한 장치
KR101987661B1 (ko) * 2018-07-19 2019-06-11 나무기술 주식회사 클라우드 플랫폼에서의 클러스터 리소스 할당 및 관리 방법
KR20190070659A (ko) * 2017-12-13 2019-06-21 주식회사 넥스클라우드 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치 및 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140086436A (ko) * 2012-12-28 2014-07-08 삼성에스디에스 주식회사 가상 클러스터의 동적 확장 시스템, 방법 및 그 프로그램이 저장된 기록매체
KR20150068554A (ko) 2013-12-11 2015-06-22 주식회사 케이티 클라우드 기반의 가상머신 이미지 서비스 제공 방법 및 시스템
KR20160043706A (ko) * 2014-10-14 2016-04-22 삼성에스디에스 주식회사 가상 머신 스케일링 장치 및 그 방법
KR101740490B1 (ko) * 2015-12-29 2017-05-26 경희대학교 산학협력단 클라우드 컴퓨팅 환경에서의 사전 오토 스케일링 시스템 및 그 방법
KR20180096310A (ko) * 2017-02-21 2018-08-29 에스케이텔레콤 주식회사 성능 제어 방법 및 이를 위한 장치
KR20190070659A (ko) * 2017-12-13 2019-06-21 주식회사 넥스클라우드 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치 및 방법
KR101987661B1 (ko) * 2018-07-19 2019-06-11 나무기술 주식회사 클라우드 플랫폼에서의 클러스터 리소스 할당 및 관리 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230064733A (ko) * 2021-11-04 2023-05-11 (주)아이티아이즈 가상 의료 서비스용 공통플랫폼 제공 방법 및 장치

Also Published As

Publication number Publication date
KR102284264B1 (ko) 2021-08-02

Similar Documents

Publication Publication Date Title
US20210266237A1 (en) Methods, systems, and apparatus to scale in and/or scale out resources managed by a cloud automation system
US10255110B2 (en) Node selection for a new application in a multi-tenant cloud hosting environment
US20210111957A1 (en) Methods, systems and apparatus to propagate node configuration changes to services in a distributed environment
US10013267B1 (en) Pre-triggers for code execution environments
EP3281360B1 (en) Virtualized network function monitoring
US8782215B2 (en) Performance testing in a cloud environment
CN110058966B (zh) 用于数据备份的方法、设备和计算机程序产品
US10365953B2 (en) Tracking and utilizing facts about a node of a multi-tenant cloud hosting environment
US20140366004A1 (en) Remote Debugging in a Cloud Computing Environment
US20130019015A1 (en) Application Resource Manager over a Cloud
US20200034178A1 (en) Virtualization agnostic orchestration in a virtual computing system
US9990214B2 (en) Dynamic agent delivery
US11556369B2 (en) Virtual machine deployment method and OMM virtual machine
US9547520B1 (en) Virtual machine load balancing
US10067862B2 (en) Tracking asynchronous entry points for an application
US11683391B2 (en) Predicting microservices required for incoming requests
US20210042148A1 (en) Dynamic insertion of variablized secrets in a pipeline integration system
KR102284264B1 (ko) 클라우드 시스템 및 그 제어방법
US10248406B2 (en) Locale object management
CN110120963B (zh) 一种数据处理方法、装置、设备和机器可读介质
US9668082B2 (en) Virtual machine based on a mobile device
US20150295851A1 (en) Authorization review system
JP6349786B2 (ja) 仮想計算機管理装置、仮想計算機管理方法、及び仮想計算機管理プログラム
CN111741097B (zh) 一种租户独占节点的方法、计算机设备及存储介质
KR102193157B1 (ko) 컨테이너 서비스 제공을 위한 장치 및 방법

Legal Events

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