KR101913346B1 - 클라우드 환경에서의 클라우드 서버 관리 방법 및 장치 - Google Patents

클라우드 환경에서의 클라우드 서버 관리 방법 및 장치 Download PDF

Info

Publication number
KR101913346B1
KR101913346B1 KR1020170092685A KR20170092685A KR101913346B1 KR 101913346 B1 KR101913346 B1 KR 101913346B1 KR 1020170092685 A KR1020170092685 A KR 1020170092685A KR 20170092685 A KR20170092685 A KR 20170092685A KR 101913346 B1 KR101913346 B1 KR 101913346B1
Authority
KR
South Korea
Prior art keywords
server
cloud
cloud server
information
manager
Prior art date
Application number
KR1020170092685A
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 KR1020170092685A priority Critical patent/KR101913346B1/ko
Priority to US15/662,857 priority patent/US10474491B2/en
Application granted granted Critical
Publication of KR101913346B1 publication Critical patent/KR101913346B1/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/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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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]
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5048Automatic or semi-automatic definitions, e.g. definition templates
    • 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/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • H04L67/42
    • 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/45562Creating, deleting, cloning virtual machine instances
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0889Techniques to speed-up the configuration process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
    • 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/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer

Abstract

본 발명에 의한 클라우드 환경에서의 매니저 서버를 이용한 클라우드 서버 관리 방법은 상기 매니저 서버가 속한 클라우드 도메인 내의 제1 클라우드 서버로부터 상기 제1 클라우드 서버의 서버 템플릿 정보를 수신하는 단계, 상기 제1 클라우드 서버의 서버 템플릿 정보를 기반으로 상기 클라우드 도메인 내의 클라우드 서버에 대한 서버 설정 정보를 생성하는 단계 및 상기 클라우드 서버에 대한 서버 설정 정보를 상기 제1 클라우드 서버로 전송하여 상기 제1 클라우드 서버가 구동되도록 하는 단계를 포함한다.

Description

클라우드 환경에서의 클라우드 서버 관리 방법 및 장치{METHOD AND APPARATUS FOR MANAGING CLOUD SERVER IN CLOUD ENVIRONMENT}
본 발명은 클라우드 환경에서의 클라우드 서버 관리 방법 및 장치에 관한 것이다.
클라우드 시스템이란 인터넷상의 서버를 통하여 데이터 저장, 네트워크, 콘텐츠 사용 등 IT 관련 서비스를 한번에 사용할 수 있는 컴퓨팅 시스템을 의미한다. 다시 말해, 인터넷상의 서버에는 정보가 영구적으로 저장되고, 데스크 탑 PC, 태블릿 PC, 노트북, 넷북, 스마트폰 등의 IT 기기와 같은 클라이언트에는 일시적으로 보관되는 컴퓨팅 환경을 의미한다. 즉, 이용자의 모든 정보를 인터넷상의 서버에 저장하고, 이러한 정보를 각종 IT 기기를 통하여 언제 어디서든 이용할 수 있는 개념이다.
다시 말하면, 클라우드는 시스템은 구름(cloud)와 같이 무형의 형태로 존재하는 소프트웨어 등의 컴퓨팅 자원을 자신이 원하는 만큼 빌려 쓰고 이에 대한 일정한 대가를 지급하는 방식의 컴퓨팅 서비스로, 서로 다른 물리적인 위치에 존재하는 컴퓨팅 자원을 가상화 기술로 통합해 제공하는 기술을 말한다.
최근 클라우드 시스템의 사용이 확대됨에 따라 클라우드 시스템 상에서는 자유로이 서버가 추가되고(Scale Out) 제거되는(Scale In) 과정이 빈번하게 발생하고 있다. 따라서, 클라우드 시스템 내에 동적으로 서버가 추가되고 삭제될 수 있도록 하는 방안이 필요하다. 또한, 클라우드 시스템 내에 서버가 추가되고 삭제될 때에 서버들의 설정을 동적으로 처리하고 관리하는 방안이 필요하다.
본 발명은 클라우드 환경에서 매니저 서버를 이용하여 하나 이상의 클라우드 서버를 관리하는 방법을 제공한다.
본 발명은 클라우드 환경에서 클라우드 서버의 추가 및 삭제 과정을 동적으로 관리할 수 있는 매니저 서버를 제공한다.
본 발명은 클라우드 환경에서 매니저 서버를 통해서 클라우드 서버의 설정 정보를 교환함으로써 유동적으로 클라우드 서버의 설정을 갱신할 수 있는 클라우드 시스템 및 클라우드 서버 관리 방법을 제공한다.
본 발명에 따른 클라우드 서버 관리 방법은 클라우드 환경에서의 매니저 서버를 이용하여 수행되며, 상기 매니저 서버가 속한 클라우드 도메인 내의 제1 클라우드 서버로부터 상기 제1 클라우드 서버의 서버 템플릿(template) 정보를 수신하는 단계, 상기 제1 클라우드 서버의 서버 템플릿 정보를 기반으로 상기 클라우드 도메인 내의 클라우드 서버에 대한 서버 설정 정보를 생성하는 단계, 및 상기 클라우드 서버에 대한 서버 설정 정보를 상기 제1 클라우드 서버로 전송하여 상기 제1 클라우드 서버가 구동되도록 하는 단계를 포함한다.
일 실시예에 있어서, 상기 제1 클라우드 서버의 서버 템플릿 정보는, 상기 매니저 서버에 미리 저장된 서버 템플릿들 중 상기 제1 클라우드 서버에 적용될 서버 템플릿을 지시하는 정보를 포함할 수 있다.
일 실시예에 있어서, 상기 매니저 서버는 상기 클라우드 도메인 내 고정 IP 주소 정보를 가지며, 본 발명에 따른 클라우드 서버 관리 방법은 상기 제1 클라우드 서버가 상기 제1 클라우드 서버의 부팅 시 동적으로 IP 주소를 할당 받는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 클라우드 서버 관리 방법은, 상기 제1 클라우드 서버가, 상기 매니저 서버의 고정 IP 주소 정보를 기초로 하여 상기 매니저 서버로 상기 제1 클라우드 서버의 서버 템플릿 정보 및 상기 제1 클라우드 서버의 IP 주소 정보 중 적어도 하나를 전송하는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 클라우드 서버에 대한 서버 설정 정보를 생성하는 단계는, 상기 매니저 서버에 미리 저장된 서버 템플릿들 중 상기 수신한 제1 클라우드 서버의 서버 템플릿 정보에 기초하여 서버 템플릿을 추출하는 단계, 및 상기 추출된 서버 템플릿을 기초로 하여 상기 제1 클라우드 서버에 적용될 서버 설정 정보를 갱신하는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 제1 클라우드 서버에 적용될 서버 설정 정보를 갱신하는 단계는, 상기 도메인에 속하며 상기 제1 클라우드 서버와 구분되는 클라우드 서버에 대한 서버 설정 정보를 함께 갱신하는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 갱신된 클라우드 서버에 대한 서버 설정 정보를 상기 클라우드 도메인 내의 클라우드 서버들에게 전송하는 단계를 더 포함할 수 있다.
일 실시예에 있어서, 상기 제1 클라우드 서버가 구동되도록 하는 단계는, 상기 제1 클라우드 서버에 적용될 서버 설정 정보에 따라 상기 제1 클라우드 서버가 부팅되어 상기 제1 클라우드 서버의 구동에 필요한 애플리케이션을 실행하도록 하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 클라우드 서버 관리 방법은, 상기 제1 클라우드 서버가 구동됨에 따라 변하는 상태 정보를 상기 제1 클라우드 서버로부터 수신하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 클라우드 서버 관리 방법은, 상기 매니저 서버가 상기 클라우드 도메인 내의 클라우드 서버들의 연결 상태를 모니터링하는 단계, 상기 모니터링 결과를 기반으로 상기 클라우드 도메인 내에 속한 제2 클라우드 서버가 연결되지 않은 것으로 판단되면, 상기 제2 클라우드 서버의 서버 설정 정보를 삭제하여 상기 클라우드 도메인 내의 클라우드 서버에 대한 서버 설정 정보를 갱신하는 단계 및 상기 클라우드 도메인 내의 클라우드 서버에 상기 갱신된 서버 설정 정보를 전송하는 단계를 포함할 수 있다.
본 발명에 따른 클라우드 환경에서의 클라우드 서버 관리 방법을 제공하는 매니저 서버에 있어서, 상기 매니저 서버는, 상기 매니저 서버가 속한 클라우드 도메인 내의 제1 클라우드 서버로부터 상기 제1 클라우드 서버의 서버 템플릿 정보를 수신하여, 상기 제1 클라우드 서버의 서버 템플릿 정보를 기반으로 상기 클라우드 도메인 내의 제1 클라우드 서버에 대한 서버 설정 정보를 생성하는 서버 설정부, 및 상기 클라우드 서버에 대한 서버 설정 정보를 상기 제1 클라우드 서버로 전송하여 상기 제1 클라우드 서버가 구동되도록 하는 제어부를 포함한다.
일 실시예에 있어서, 상기 매니저 서버는 서버 템플릿을 저장하는 저장부를 더 포함하며, 실시예에 따라, 상기 서버 설정부는, 상기 제1 클라우드 서버로부터 수신한 서버 템플릿 정보에 기초하여 상기 저장부로부터 서버 템플릿을 추출하여 상기 서버 설정 정보를 생성할 수 있다.
일 실시예에 있어서, 상기 서버 설정부는, 상기 도메인에 속하며 상기 제1 클라우드 서버와 구분되는 클라우드 서버에 대한 서버 설정 정보를 갱신할 수 있다.
일 실시예에 있어서, 상기 제1 클라우드 서버는 상기 도메인에 최초로 접속되는 클라우드 서버에 상응할 수 있으며, 이 경우 상기 제어부는, 상기 제1 클라우드 서버가 상기 생성된 서버 설정 정보에 따라 부팅된 후에, 상기 제1 클라우드 서버의 요청에 따라 상기 제1 클라우드 서버의 구동에 필요한 애플리케이션을 제공할 수 있다.
본 발명에 따른 클라우드 환경에서의 클라우드 서버 관리 방법을 제공하는 클라우드 시스템은 클라우드 서버 및 매니저 서버를 포함할 수 있다. 클라우드 서버는 상기 매니저 서버가 속한 클라우드 도메인에 속하는 서버로서, 서버의 설정을 위한 서버 템플릿을 지시하는 서버 템플릿 정보를 상기 매니저 서버로 전송한다. 상기 매니저 서버는 상기 클라우드 서버로부터 수신한 서버 템플릿 정보를 기반으로 상기 클라우드 도메인 내의 클라우드 서버에 대한 서버 설정 정보를 생성하고, 상기 클라우드 서버에 대한 서버 설정 정보를 상기 클라우드 서버로 전송하여 상기 클라우드 서버가 구동되도록 한다.
일 실시예에 있어서, 상기 매니저 서버는 적어도 하나 이상의 서버 템플릿을 관리하고, 상기 서버 템플릿 정보에 따라 추출된 서버 템플릿에 기초하여 상기 서버 설정 정보를 생성할 수 있다.
일 실시예에 있어서, 상기 매니저 서버는 상기 도메인 내의 클라우드 서버들의 연결 상태를 모니터링하여 상기 서버 설정 정보를 갱신할 수 있다.
일 실시예에 있어서, 상기 클라우드 서버는, 상기 매니저 서버의 연결 상태 모니터링에 기초하여 요청된 질의에 응답하여 상기 서버 템플릿 정보와 함께 상기 클라우드 서버에 할당된 IP 정보를 전송할 수 있다.
일 실시예에 있어서, 상기 매니저 서버는 상기 클라우드 서버들의 연결 상태를 모니터링하여 연결 상태가 확인되지 않는 클라우드 서버의 연결 해제 정보를 포함하도록 서버 설정 정보를 갱신할 수 있다.
본 발명의 일 실시예에 의한 방법을 컴퓨터에서 실행시키기 위하여 매체에 저장된 프로그램을 포함한다.
본 발명은, 본 발명의 일 실시예에 의한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 포함한다.
본 발명에 의하면, 서버 설정 정보를 서버 템플릿 형식으로 제공하므로 새로운 서버 설정 정보를 지정하기 위하여 종래의 기술과 같이 새로운 클라우드 서버용 이미지를 생성하여 적용할 필요 없이 서버 템플릿을 이용하여 서버 설정 정보를 생성하거나 갱신할 수 있어서 유동적으로 클라우드 서버에 서버 설정 정보를 적용할 수 있다.
본 발명에 의하면, 서로 상이한 서버 설정 정보를 가지는 다중의 서버 템플릿을 구성할 수 있어서, 클라우드 도메인 내에서 서로 다른 서버 설정을 가진 클라우드 서버들을 용이하게 구성하고 운용할 수 있다.
본 발명에 의하면, 매니저 서버를 이용하여 클라우드 서버들과 상호 통신할 수 있어서, 클라우드 도메인 내 서버를 새로 추가하거나 삭제할 시 매니저 서버를 통해 용이하게 스케일 아웃 또는 스케일 인 과정을 수행할 수 있다. 또한, 매니저 서버를 통해 클라우드 도메인 내의 서버들의 수를 조정할 수 있어서 전체 클라우드 시스템을 구성하기 용이하다.
본 발명에 의하면, 매니저 서버를 이용하여 클라우드 서버들과 상호 통신할 수 있어서, 각 클라우드 서버와 동적으로 서버 설정 정보를 변경하여 적용할 수 있으며, 이에 따라 전체 클라우드 시스템을 효율적으로 관리할 수 있다.
도 1은 본 발명의 일 실시예에 따른 클라우드 시스템의 개략적인 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 클라우드 시스템에서 클라우드 서버 관리 방법을 제공하는 매니저 서버의 구성을 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 클라우드 환경에서의 클라우드 서버 관리 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 일 실시예에 따른 클라우드 시스템 상에서 클라우드 서버가 새로 추가되는 스케일 아웃 과정을 설명하기 위한 시퀀스 도면이다.
도 5는 본 발명의 일 실시예에 따른 클라우드 시스템 상에서 클라우드 서버가 삭제되는 스케일 인 과정을 설명하기 위한 시퀀스 도면이다.
이하에서 본 발명의 기술적 사상을 명확화하기 위하여 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명하도록 한다. 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성요소에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략할 것이다. 도면들 중 실질적으로 동일한 기능구성을 갖는 구성요소들에 대하여는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들을 부여하였다. 설명의 편의를 위하여 필요한 경우에는 장치와 방법을 함께 서술하도록 한다.
도 1은 본 발명의 일 실시예에 따른 클라우드 시스템의 개략적인 구성을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 클라우드 시스템(100)은 클라우드 환경에서 클라우드 서버 관리 방법을 제공하기 위한 것으로서, 하나의 매니저 서버(200) 및 적어도 하나 이상의 클라우드 서버들(300)을 포함할 수 있다. 이때, 클라우드 시스템(100)은 하나의 매니저 서버(200) 및 적어도 하나 이상의 클라우드 서버들(300)을 하나의 로지컬 도메인(Logical Domain)(400) 단위로 구성할 수 있다. 사용자는 도메인(400) 단위로 실제 클라우드 서비스 운용을 할 수 있다.
매니저 서버(200)는 도메인(400) 내의 클라우드 서버들(300)을 관리하는 서버로서, 각각의 클라우드 서버들(300)과 연결되어 클라우드 서버들(300)의 상태를 모니터링하고 관리할 수 있다. 일 실시예에 있어서, 매니저 서버(200)는 도메인(400) 내에 클라우드 서버가 새로 추가되는 스케일 아웃(Scale Out) 과정을 수행하고, 도메인(400) 내에서 클라우드 서버가 삭제되는 스케일 인(Scale In) 과정을 수행할 수 있다. 이에 대한 구체적인 동작 과정은 후술하도록 한다. 실시예에 따라 하나의 도메인(400)은 하나 이상의 매니저 서버(200)로 구성될 수도 있다.
적어도 하나 이상의 클라우드 서버들(300)은 클라이언트에게 클라우드 서비스를 제공하는 서버로서, 상황에 따라 도메인(400) 내에 새로 추가되거나 삭제될 수 있다.
매니저 서버(200)는 도메인(400) 상에서 고유한 IP 주소 정보를 가진다. 클라우드 서버(300)는 특정하게 정해지지 않은 유동 IP 주소 정보를 가지며, 도메인(400) 상에서 동적으로 IP 주소를 할당 받을 수 있다. 도메인(400) 내에서 복수 개의 클라우드 서버들(300)이 연결되는 경우에 각각은 상이한 IP 주소를 할당 받을 수 있다.
도 2는 본 발명의 일 실시예에 따른 클라우드 시스템에서 클라우드 서버 관리 방법을 제공하는 매니저 서버의 구성을 나타내는 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 매니저 서버(200)는 상술한 클라우드 시스템(100) 상의 도메인(400) 내에서 클라우드 서버(300)를 관리하는 서버로서, 서버 설정부(210), 저장부(220), 제어부(230) 및 모니터링부(240)를 포함할 수 있다.
서버 설정부(210)는 서버 설정 정보를 서버 템플릿(server template) 형식으로 미리 생성하여 저장부(220)에 저장해 둘 수 있다. 서버 설정 정보는 클라우드 서버에 적용될 웹 애플리케이션 서버의 종류, 서버 API 정보, 자바 환경에서 운영될 때 필요한 정보(예를 들어, 자바 가상 머신(JVM; Java Virtual Machine) 정보, 에이전트 정보 등) 및 자바 프로그램 컴포넌트들을 설정하기 위한 정보 등 클라우드 서버를 구동하고 운영하기 위해 필요한 정보들을 포함할 수 있다.
예를 들어, 서버 설정 정보는 서버의 EJB(Enterprise JavaBean) 엔진 정보, JMS(Java Message Service) 엔진 정보, 서블릿(servlet) 엔진 정보 등 서버에서 사용될 여러 가지 정보를 포함할 수 있으며, 리스너(listener), 커넥터(connector), 로깅(logging) 등과 같은 자바 환경에 필요한 전반적인 정보를 포함할 수 있다.
서버 설정부(210)는 서로 상이한 서버 설정 정보를 구성하여 각각의 서버 설정 정보에 대응되는 각각의 서버 템플릿을 생성할 수 있다. 일 실시예로, 서버 설정부(210)는 도메인(400) 내에서 클라우드 서버(300)의 운용 목적에 따라 웹 애플리케이션 서버의 종류, 서버 API 정보, 자바 환경에서 운영될 때 필요한 정보 등의 클라우드 서버에 설정될 정보를 다양하게 지정할 수 있으며, 이러한 설정 정보를 각각의 서버 템플릿으로 생성하여 관리할 수 있다. 따라서, 본 발명에서는 서로 상이한 서버 설정 정보를 가지는 다중의 서버 템플릿을 구성할 수 있어서, 도메인(400) 내에서 서로 다른 설정을 가진 클라우드 서버(300)들을 용이하게 구성하여 운용할 수 있다.
서버 설정부(210)는 서버 설정 정보를 생성할 수 있다. 이 경우, 새로운 서버 템플릿을 생성하여 서버 설정 정보를 지정할 수도 있고, 기존의 서버 템플릿을 수정하여 새로운 서버 설정 정보를 지정할 수도 있다. 본 발명의 일 실시예에 따르면, 기존의 서버 템플릿으로 이미 구동된 클라우드 서버의 경우, 서버 템플릿이 수정되더라도 수정된 서버 설정 정보에 영향 받지 않고 기존의 서버 템플릿에 지정된 서버 설정 정보에 따라 구동될 수 있다. 새로운 서버 템플릿을 적용하거나 수정된 서버 템플릿을 적용하고자 할 경우, 클라우드 서버를 재기동함으로써 새로운 자바 가상 머신을 구동하여 새로운 서버 설정 정보를 적용할 수 있다.
저장부(220)는 서버 설정부(210)에 의해 생성된 서버 템플릿을 저장하고 관리할 수 있다. 예를 들어, 저장부(220)는 서버 설정부(210)에 의해 생성된 서버 템플릿을 서버 템플릿 파일로 만들어서 저장할 수 있다. 실시예에 따라, 복수 개의 서버 템플릿들은 복수 개의 서버 템플릿 파일들로 저장될 수 있다.
실시예에 따라, 저장부(220)는 도메인(400)내의 클라우드 서버들(300)의 유동 IP 주소를 저장하여 관리할 수 있다. 클라우드 서버들(300)의 IP 주소를 관리함에 따라, 서버 설정 정보가 갱신되거나 변경되는 경우에 제어부(230)가 다수의 클라우드 서버들(300)에 갱신된 서버 설정 정보를 전송할 수 있도록 한다. 저장부(220)는 클라우드 서버들(300)의 상태 정보를 저장하여 관리할 수 있다.
제어부(230)는 매니저 서버(200)의 각 구성에 대한 동작을 전반적으로 제어하는 역할을 한다. 실시예에 따라, 제어부(230)는 도메인(400) 내에 새로 추가되거나 삭제되는 클라우드 서버에 대한 동작을 제어할 수 있다. 일 실시예에 있어서, 제어부(230)는 도메인(400) 내에 새로 추가되는 클라우드 서버를 서버 설정 정보에 따라 구동되도록 할 수 있다.
실시예에 따라, 제어부(230)는 통신 수단을 구비하여 도메인(400) 내의 클라우드 서버들(300)과 통신할 수 있다. 제어부(230)는 저장부(220)에 기록한 클라우드 서버들(300)의 IP 정보에 기초하여 클라우드 서버들(300)과 통신할 수 있다.
또한, 제어부(230)는 도메인(400) 내 클라우드 서버들의 연결 상태를 판단하여 연결이 끊어진 클라우드 서버에 대한 서버 설정 정보를 삭제하거나 해당 클라우드 서버의 연결이 해제되었다는 정보를 다른 클라우드 서버들에 전달되는 서버 설정 정보들에 반영할 수 있다. 클라우드 서버들의 연결 상태는 모니터링부(240)의 모니터링 결과를 기반으로 판단할 수 있다.
모니터링부(240)는 도메인(400) 내 모든 클라우드 서버들의 연결 상태를 모니터링할 수 있다. 일 실시예에 있어서, 도메인(400) 내에 새로 추가되는 클라우드 서버의 경우, 서버 설정 정보에 따라 구동되면 자신의 상태 정보를 모니터링부(240)로 전송할 수 있으며, 모니터링부(240)는 클라우드 서버의 상태 정보를 수신하여 클라우드 서버에 대한 연결 상태를 확인할 수 있다. 이때, 매니저 서버(200)는 클라우드 서버로부터 수신한 클라우드 서버의 상태 정보를 저장부(220)에 저장할 수도 있다.
실시예에 따라, 모니터링부(240)는 기 설정된 시간 간격을 가지고 도메인(400) 내의 클라우드 서버들의 연결 상태를 모니터링할 수 있다. 예를 들어, 모니터링부(240)는 0.5~1초 간격으로 클라우드 서버들의 연결 상태를 모니터링할 수 있다.
도 3은 본 발명의 일 실시예에 따른 클라우드 환경에서의 클라우드 서버 관리 방법을 설명하기 위한 순서도이다. 도 3의 방법은 상술한 도 1 및 도 2의 클라우드 시스템(100)의 매니저 서버(200)에 의해 수행될 수 있다. 또한 이하에서 설명하는 제1 클라우드 서버는, 매니저 서버(200)가 포함된 클라우드 도메인에 속하는 클라우드 서버로서, 도 1의 클라우드 서버(300)에 포함될 수 있으며 적어도 하나 이상의 클라우드 서버를 포함할 수 있다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 클라우드 환경에서의 클라우드 서버 관리 방법은 매니저 서버(200)가 속한 클라우드 도메인(400) 내의 제1 클라우드 서버로부터 제1 클라우드 서버의 서버 템플릿 정보를 수신하는 단계(S300), 제1 클라우드 서버의 서버 템플릿 정보를 기반으로 클라우드 도메인(400) 내의 클라우드 서버에 대한 서버 설정 정보를 생성하는 단계(S310), 및 클라우드 도메인(400) 내의 클라우드 서버에 대한 서버 설정 정보를 제1 클라우드 서버로 전송하여 제1 클라우드 서버가 구동되도록 하는 단계(S320)를 포함할 수 있다.
예를 들어, 제1 클라우드 서버는 도메인(400) 내에 새로이 추가된 클라우드 서버일 수 있다.
또한, 본 발명의 일 실시예에 따른 클라우드 환경에서의 클라우드 서버 관리 방법은 매니저 서버(200)가 속한 클라우드 도메인(400) 내에서 클라우드 서버가 삭제되는 스케일 인 과정을 수행할 수도 있다.
이하에서 클라우드 환경에서 클라우드 서버의 스케일 아웃 과정 및 스케일 인 과정에 대해 도 4 및 도 5를 참조하여 구체적으로 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 클라우드 시스템 상에서 클라우드 서버가 새로 추가되는 스케일 아웃 과정을 설명하기 위한 시퀀스 도면이다. 도 4의 과정은 상술한 도 1 및 도 2의 클라우드 시스템(100)의 매니저 서버(200)에 의해 수행될 수 있다.
도 4를 참조하면, 매니저 서버(200)가 속한 클라우드 도메인(400) 내에 새로 추가되는 제1 클라우드 서버(310)는 매니저 서버 정보 및 서버 설정 정보를 입력 받을 수 있다(S400). 제1 클라우드 서버(310)는 도 1에 도시한 복수 개의 클라우드 서버들(300)에 포함될 수 있다.
일 실시예에 있어서, 제1 클라우드 서버(310)는 임의의 머신(예를 들어, 자바 가상 머신)에서 구동될 수 있으며, 머신이 구동되기 전까지는 자신의 IP 주소 정보를 알 수 없다. 제1 클라우드 서버(310)가 클라우드 도메인(400) 내에 새로 추가되기 위해서 처음으로 부팅될 때에는 클라우드용 서버 이미지를 사용할 수 있다. 클라우드용 서버 이미지는 서버 구동에 필요한 라이브러리(library) 파일과 실행 파일만을 포함할 수 있다. 따라서, 제1 클라우드 서버(310)는 클라우드용 서버 이미지의 실행으로 부팅이 된 다음, 클라우드 도메인(400) 내의 매니저 서버 정보 및 서버 설정 정보를 입력 받아 매니저 서버(200)를 통해 서버 설정에 필요한 동작을 실행할 수 있다.
예를 들어, 매니저 서버(200)는 상술한 바와 같이 클라우드 도메인(400) 내에서 고정 IP 주소를 사용하므로, 제1 클라우드 서버(310)는 매니저 서버(200)의 고정 IP 주소를 매니저 서버 정보로 입력 받을 수 있다. 예를 들어, 매니저 서버 정보는 매니저 서버의 고정 IP 주소를 포함할 수 있다.
매니저 서버(200)의 서버 설정부(210)는 상술한 바와 같이 서버 설정 정보를 서버 템플릿 형식으로 미리 생성하여 저장하므로, 제1 클라우드 서버(310)는 매니저 서버(200)에 저장된 서버 템플릿들 중 제1 클라우드 서버(310)에 적용할 서버 템플릿을 지시하는 정보를 서버 템플릿 정보로 입력 받을 수 있다.
매니저 서버(200)는 제1 클라우드 서버(310)로부터 제1 클라우드 서버(310)에 대한 정보를 수신한다(S410). 이때, 제1 클라우드 서버(310)는 매니저 서버의 고정 IP 주소를 부팅 시에 입력 받음으로써 매니저 서버(200)와 통신할 수 있다. 이에 따라 제1 클라우드 서버(310)는 매니저 서버(200)의 고정 IP 주소로 제1 클라우드 서버(310)에 대한 정보를 전송할 수 있고, 매니저 서버(200)는 이를 수신할 수 있다.
제1 클라우드 서버에 대한 정보는 제1 클라우드 서버(310)에 적용될 서버 설정 정보와 제1 클라우드 서버의 IP 주소 정보를 포함할 수 있다. 일 실시예에 있어서, 제1 클라우드 서버(310)는 머신이 구동되기 전까지 자신의 IP 주소를 알 수 없으나, 클라우드 도메인(400) 내에 추가되어 부팅 시에는 동적으로 IP 주소를 할당 받을 수 있다. 따라서, 제1 클라우드 서버(310)는 동적으로 할당 받은 자신의 IP 주소 정보를 매니저 서버(200)로 전송할 수 있고, 이를 수신한 매니저 서버(200)는 제1 클라우드 서버의 IP 주소 정보를 파악할 수 있다. 본 발명에 따르면, 매니저 서버(200)가 클라우드 도메인(400) 내 새로 추가되는 클라우드 서버들(300)의 IP 주소 정보를 미리 파악할 수 있으므로, 클라우드 서버들(300)과의 상호 통신이 가능하여 용이하게 클라우드 서버(300)를 추가하거나 삭제하는 과정을 수행할 수 있다. 또한, 제1 클라우드 서버(310)에 적용될 서버 설정 정보는 상술한 바와 같이 매니저 서버(200)에 저장된 서버 템플릿들 중 제1 클라우드 서버에 적용할 서버 템플릿 정보에 의해 식별되는 서버 템플릿에 상응할 수 있다.
매니저 서버(200)는 제1 클라우드 서버(310)로부터 수신한 정보를 기반으로 클라우드 도메인(400) 내의 클라우드 서버(300)에 대한 서버 설정 정보를 생성한다(S420). 제1 클라우드 서버(310)로부터 수신한 정보는 상술한 바와 같이 제1 클라우드 서버(310)의 서버 템플릿 정보(서버 템플릿 이름) 및 제1 클라우드 서버의 IP 주소 정보를 포함할 수 있다. 실시예에 따라, 매니저 서버(200)가 생성하는 클라우드 서버(300)에 대한 서버 설정 정보는, 추가된 제1 클라우드 서버(310)에 대한 서버 설정 정보를 포함하여 도메인(400)에 포함된 다른 클라우드 서버들에 대한 서버 설정 정보를 포함할 수 있다.
보다 구체적으로, 매니저 서버(200)의 서버 설정부(210)는 저장부(220)로부터 미리 저장된 서버 템플릿들 중 제1 클라우드 서버(310)로부터 수신한 제1 클라우드 서버(310)의 서버 템플릿 정보에 대응되는 서버 템플릿을 추출할 수 있다. 다음으로, 매니저 서버(200)의 서버 설정부(210)는 추출된 서버 템플릿을 기초로 하여 제1 클라우드 서버에 적용될 서버 설정 정보를 생성할 수 있다. 실시예에 따라, 서버 설정부(210)에서 생성되는 제1 클라우드 서버에 적용될 서버 설정 정보는 저장부(220)로부터 추출된 서버 템플릿과 실질적으로 동일할 수 있다.
이때, 매니저 서버(200)의 서버 설정부(210)는 제1 클라우드 서버(310)에 적용될 서버 설정 정보를 포함하여 클라우드 도메인(400) 내의 모든 클라우드 서버(300)에 대한 서버 설정 정보를 갱신할 수 있다. 일례로, 클라우드 서버(300)에 대한 서버 설정 정보는 설정 파일에 기록되어 생성될 수 있다.
매니저 서버(200)는 클라우드 도메인(400) 내의 클라우드 서버(300)에 대한 서버 설정 정보를 제1 클라우드 서버(310)로 전송하고(S430), 제1 클라우드 서버(310)가 상기 서버 설정 정보에 따라 구동되도록 할 수 있다(S440).
일 실시예에 있어서, 매니저 서버(200)의 제어부(230)는 클라우드 서버(300)에 대한 서버 설정 정보에 포함되어 있는 제1 클라우드 서버(310)에 적용될 서버 설정 정보에 따라 제1 클라우드 서버(310)가 부팅되도록 서버 설정 값들을 적용시킬 수 있도록 하며, 이어서 제1 클라우드 서버(310)의 구동에 필요한 프로세스를 실행시킬 수 있도록 한다.
제1 클라우드 서버(310)는 클라우드 서버(300)에 대한 서버 설정 정보를 수신하여 부팅 시에 적용할 서버 설정 값들을 추출할 수 있고, 추출된 서버 설정 값들을 적용하여 서버 부팅을 완료할 수 있다. 예를 들어, 제1 클라우드 서버(310)는 자바 가상 머신에 대한 옵션이나 에이전트에 대한 옵션 등과 같은 서버 설정 값들을 추출하여 자바 가상 머신의 부팅 시에 적용할 수 있다.
서버 설정 정보에 따라 부팅이 완료된 다음, 제1 클라우드 서버(310)는 서버의 실제 구동에 필요한 애플리케이션을 매니저 서버(200)에 요청하여 실행시킬 수 있으며 이에 따라 정상적인 서버 구동을 시작할 수 있다.
제1 클라우드 서버(310)는 서버가 부팅됨에 따라 변하는 상태 정보 또는 서버가 구동됨에 따라 변하는 상태 정보를 매니저 서버(200)로 전송할 수 있고, 이를 수신한 매니저 서버(200)는 제1 클라우드 서버(310)의 상태 정보를 저장부(220)에 저장할 수 있다. 따라서, 매니저 서버(200)는 제1 클라우드 서버(310)의 상태 정보를 통해서 현재 부팅 진행 상황이나 애플리케이션의 구동 상태를 파악할 수 있으므로, 제1 클라우드 서버(310)의 스케일 아웃 과정을 용이하게 제어할 수 있게 된다.
매니저 서버(200)는 클라우드 서버(300)에 대한 서버 설정 정보를 클라우드 도메인(400) 내의 모든 클라우드 서버들(300)에게 전송할 수 있다. 이를 수신한 도메인(400) 내의 클라우드 서버들(300)은 갱신된 서버 설정 정보를 파악할 수 있다. 만일 자신의 서버 설정 정보가 갱신된 경우, 해당 클라우드 서버는 갱신된 서버 설정 정보에 따라 서버를 구동 시킬 수도 있다.
본 실시예에서는 매니저 서버(200)가 제1 클라우드 서버(310)로부터 제1 클라우드 서버(310)에 대한 정보를 수신하는 것으로 기재하였으나, 이는 하나의 예시일 뿐이다. 본 발명의 다른 실시예에서는 매니저 서버(200)가 클라우드 도메인(400) 내의 클라우드 서버들(300)의 연결 상태를 모니터링할 수 있고, 이를 통해서 클라우드 도메인(400) 내에 새로 추가되는 클라우드 서버를 파악할 수도 있다. 이 경우, 매니저 서버(200)는 새로 추가되는 클라우드 서버에게 서버 정보(예를 들어, 서버 템플릿 정보, 서버의 IP 주소 정보 등)를 전송할 것을 요청할 수도 있다. 또한, 매니저 서버(200)가 클라우드 도메인(400) 내의 클라우드 서버들(300)의 연결 상태를 모니터링함으로써, 클라우드 도메인(400) 내에서 삭제되는 클라우드 서버를 파악할 수도 있다. 이 경우, 매니저 서버(200)는 삭제되는 클라우드 서버의 서버 설정 정보를 삭제할 수도 있다. 다시 말해, 본 발명의 일 실시예에 따르면 매니저 서버(200)가 모니터링을 통해서 연결 상태가 변경되는 클라우드 서버를 발견할 경우, 연결 상태가 변경된 클라우드 서버에 대한 서버 설정 정보를 추가하거나 삭제하여 클라우드 도메인(400) 내의 모든 클라우드 서버에 대한 서버 설정 정보를 갱신할 수 있다.
도 5는 본 발명의 일 실시예에 따른 클라우드 시스템 상에서 클라우드 서버가 삭제되는 스케일 인 과정을 설명하기 위한 시퀀스 도면이다. 도 5의 과정은 상술한 도 1 및 도 2의 클라우드 시스템(100)의 매니저 서버(200)에 의해 수행될 수 있다.
도 5를 참조하면, 매니저 서버(200)는 클라우드 도메인(400) 내의 클라우드 서버들의 연결 상태를 모니터링할 수 있다(S500). 예를 들어, 매니저 서버(200)는 클라우드 도메인(400) 내의 모든 클라우드 서버들(300)의 연결 상태를 모니터링할 수 있다.
일 실시예에 있어서, 매니저 서버(200)의 모니터링부(240)는 상술한 바와 같이 클라우드 도메인(400) 내 모든 클라우드 서버들(300)로부터 상태 정보를 수신할 수 있으며, 수신한 상태 정보를 기반으로 클라우드 서버들(300)에 대한 연결 상태를 확인할 수 있다.
매니저 서버(200)는 모니터링 결과를 기반으로 클라우드 도메인(400) 내의 클라우드 서버들(300) 중 연결되지 않은 클라우드 서버가 존재하는지 판단할 수 있다(S510).
일 실시예에 있어서, 매니저 서버(200)가 클라우드 서버의 연결이 끊어진 경우에 발생하는 예외 처리(exception handling)에 관한 연결 상태 정보를 수신한 경우, 매니저 서버(200)의 제어부(230)는 해당 클라우드 서버가 클라우드 도메인 내에서 연결이 끊긴 것으로 판단할 수 있다. 다른 실시예에 있어서, 매니저 서버(200)의 제어부(230)가 주기적으로 헬스 체크(health check)를 실행하여, 클라우드 도메인(400) 내의 클라우드 서버들(300) 중 연결되지 않은 클라우드 서버가 존재하는지 판단할 수도 있다. 만일 헬스 체크가 실패한 클라우드 서버가 존재하는 경우, 매니저 서버(200)의 제어부(230)는 해당 클라우드 서버가 클라우드 도메인 내에서 연결이 끊긴 것으로 판단할 수 있다.
단계 S510에 의해서 매니저 서버(200)의 제어부(230)가 클라우드 도메인(400) 내의 제2 클라우드 서버(320)를 연결되지 않은 스케일 인된 것으로 판단한 경우, 매니저 서버(200)의 제어부(230)는 제2 클라우드 서버(320)의 서버 설정 정보를 삭제하도록 할 수 있다(S520). 매니저 서버(200)의 서버 설정부(210)에서는 클라우드 도메인(400) 내의 클라우드 서버(300)에 대한 서버 설정 정보로부터 제2 클라우드 서버(320)의 설정 정보를 삭제할 수 있고, 이에 따라 클라우드 서버(300)에 대한 서버 설정 정보를 갱신할 수 있다.
매니저 서버(200)는 갱신된 클라우드 서버(300)에 대한 서버 설정 정보를 클라우드 도메인(400) 내의 연결된 클라우드 서버들(300)에게 전송할 수 있다. 이를 수신한 클라우드 서버들(300)은 갱신된 서버 설정 정보를 파악할 수 있다. 예를 들어 자신의 서버 설정 정보가 갱신된 경우, 해당 클라우드 서버는 갱신된 서버 설정 정보에 따라 서버를 구동 시킬 수도 있다.
본 발명의 다양한 실시예들은 하나 이상의 프로세서에 의해 판독되어 실행될 수 있는 컴퓨터로 판독가능한 기록매체에 저장된 명령어로 구현될 수 있다. 컴퓨터로 판독가능한 기록매체는 정보를 저장하는 물리적 매체로, 휘발성 메모리, 비휘발성 메모리, 광학 저장 매체, 자기 디스크 저장 매체 등을 포함할 수 있다. 또한 본 발명의 다양한 실시 예들은 상술한 방법들을 수행하는 명령어들이 기록된 컴퓨터로 판독가능한 매체를 포함할 수 있다.
또한, 본 발명의 다양한 실시예들은 하드웨어와 펌웨어 또는 소프트웨어의 조합으로 구현될 수 있다.
지금까지 본 발명에 대하여 도면에 도시된 바람직한 실시예들을 중심으로 상세히 살펴보았다. 이러한 실시예들은 이 발명을 한정하려는 것이 아니라 예시적인 것에 불과하며, 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 진정한 기술적 보호범위는 전술한 설명이 아니라 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다. 비록 본 명세서에 특정한 용어들이 사용되었으나 이는 단지 본 발명의 개념을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 본 발명의 각 단계는 반드시 기재된 순서대로 수행되어야 할 필요는 없으며, 병렬적, 선택적 또는 개별적으로 수행될 수 있다.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 특허청구범위에서 청구하는 본 발명의 본질적인 기술사상에서 벗어나지 않는 범위에서 다양한 변형 형태 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 균등물은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 구성요소를 포함하는 것으로 이해되어야 한다.

Claims (20)

  1. 클라우드 환경에서의 매니저 서버를 이용한 클라우드 서버 관리 방법에 있어서,
    상기 매니저 서버가 속한 클라우드 도메인 내의 제1 클라우드 서버로부터 상기 제1 클라우드 서버의 서버 템플릿(template) 정보를 수신하는 단계;
    상기 제1 클라우드 서버의 서버 템플릿 정보를 기반으로 상기 클라우드 도메인 내의 클라우드 서버에 대한 서버 설정 정보를 생성하는 단계; 및
    상기 클라우드 서버에 대한 서버 설정 정보를 상기 제1 클라우드 서버로 전송하여 상기 제1 클라우드 서버가 구동되도록 하는 단계를 포함하는 것을 특징으로 하는 클라우드 서버 관리 방법.
  2. 제1항에 있어서,
    상기 제1 클라우드 서버의 서버 템플릿 정보는,
    상기 매니저 서버에 미리 저장된 서버 템플릿들 중 상기 제1 클라우드 서버에 적용될 서버 템플릿을 지시하는 정보를 포함하는 것을 특징으로 하는 클라우드 서버 관리 방법.
  3. 제1항에 있어서,
    상기 매니저 서버는 상기 클라우드 도메인 내 고정 IP 주소 정보를 가지며,
    상기 제1 클라우드 서버의 부팅 시 상기 제1 클라우드 서버가 동적으로 IP 주소를 할당 받는 단계를 포함하는 것을 특징으로 하는 클라우드 서버 관리 방법.
  4. 제3항에 있어서,
    상기 제1 클라우드 서버가, 상기 매니저 서버의 고정 IP 주소 정보를 기초로 하여 상기 매니저 서버로 상기 제1 클라우드 서버의 서버 템플릿 정보 및 상기 제1 클라우드 서버의 IP 주소 정보 중 적어도 하나를 전송하는 단계를 포함하는 것을 특징으로 하는 클라우드 서버 관리 방법.
  5. 제2항에 있어서,
    상기 클라우드 서버에 대한 서버 설정 정보를 생성하는 단계는,
    상기 매니저 서버에 미리 저장된 서버 템플릿들 중 상기 수신한 제1 클라우드 서버의 서버 템플릿 정보에 기초하여 서버 템플릿을 추출하는 단계; 및
    상기 추출된 서버 템플릿을 기초로 하여 상기 제1 클라우드 서버에 적용될 서버 설정 정보를 갱신하는 단계를 포함하는 것을 특징으로 하는 클라우드 서버 관리 방법.
  6. 제5항에 있어서,
    상기 제1 클라우드 서버에 적용될 서버 설정 정보를 갱신하는 단계는,
    상기 도메인에 속하며 상기 제1 클라우드 서버와 구분되는 클라우드 서버에 대한 서버 설정 정보를 함께 갱신하는 단계를 포함하는 것을 특징으로 하는 클라우드 서버 관리 방법.
  7. 제6항에 있어서,
    상기 갱신된 클라우드 서버에 대한 서버 설정 정보를 상기 클라우드 도메인 내의 클라우드 서버들에게 전송하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 서버 관리 방법.
  8. 제1항에 있어서,
    상기 제1 클라우드 서버가 구동되도록 하는 단계는,
    상기 제1 클라우드 서버에 적용될 서버 설정 정보에 따라 상기 제1 클라우드 서버가 부팅되어 상기 제1 클라우드 서버의 구동에 필요한 애플리케이션을 실행하도록 하는 단계를 포함하는 것을 특징으로 하는 클라우드 서버 관리 방법.
  9. 제1항에 있어서,
    상기 제1 클라우드 서버가 구동됨에 따라 변하는 상태 정보를 상기 제1 클라우드 서버로부터 수신하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 서버 관리 방법.
  10. 제1항에 있어서,
    상기 매니저 서버가 상기 클라우드 도메인 내의 클라우드 서버들의 연결 상태를 모니터링하는 단계;
    상기 모니터링 결과를 기반으로 상기 클라우드 도메인 내에 속한 제2 클라우드 서버가 연결되지 않은 것으로 판단되면, 상기 제2 클라우드 서버의 서버 설정 정보를 삭제하여 상기 클라우드 도메인 내의 클라우드 서버에 대한 서버 설정 정보를 갱신하는 단계; 및
    상기 클라우드 도메인 내의 클라우드 서버에 상기 갱신된 서버 설정 정보를 전송하는 단계를 포함하는 것을 특징으로 하는 클라우드 서버 관리 방법.
  11. 클라우드 환경에서의 클라우드 서버 관리 방법을 제공하는 매니저 서버에 있어서,
    상기 매니저 서버가 속한 클라우드 도메인 내의 제1 클라우드 서버로부터 상기 제1 클라우드 서버의 서버 템플릿 정보를 수신하여, 상기 제1 클라우드 서버의 서버 템플릿 정보를 기반으로 상기 클라우드 도메인 내의 제1 클라우드 서버에 대한 서버 설정 정보를 생성하는 서버 설정부; 및
    상기 클라우드 서버에 대한 서버 설정 정보를 상기 제1 클라우드 서버로 전송하여 상기 제1 클라우드 서버가 구동되도록 하는 제어부를 포함하는 것을 특징으로 하는 매니저 서버.
  12. 제11항에 있어서,
    서버 템플릿을 저장하는 저장부를 더 포함하며,
    상기 서버 설정부는,
    상기 제1 클라우드 서버로부터 수신한 서버 템플릿 정보에 기초하여 상기 저장부로부터 서버 템플릿을 추출하여 상기 서버 설정 정보를 생성하는 것을 특징으로 하는 매니저 서버.
  13. 제12항에 있어서,
    상기 서버 설정부는,
    상기 도메인에 속하며 상기 제1 클라우드 서버와 구분되는 클라우드 서버에 대한 서버 설정 정보를 갱신하는 것을 특징으로 하는 매니저 서버.
  14. 제12항에 있어서,
    상기 제1 클라우드 서버는 상기 도메인에 최초로 접속되는 클라우드 서버에 상응하며,
    상기 제어부는,
    상기 제1 클라우드 서버가 상기 생성된 서버 설정 정보에 따라 부팅된 후에, 상기 제1 클라우드 서버의 요청에 따라 상기 제1 클라우드 서버의 구동에 필요한 애플리케이션을 제공하는 것을 특징으로 하는 매니저 서버.
  15. 클라우드 환경에서의 클라우드 서버 관리 방법을 제공하는 클라우드 시스템에 있어서,
    매니저 서버가 속한 클라우드 도메인에 속하는 서버로서, 서버의 설정을 위한 서버 템플릿을 지시하는 서버 템플릿 정보를 상기 매니저 서버로 전송하는 클라우드 서버; 및
    상기 클라우드 서버로부터 수신한 서버 템플릿 정보를 기반으로 상기 클라우드 도메인 내의 클라우드 서버에 대한 서버 설정 정보를 생성하고, 상기 클라우드 서버에 대한 서버 설정 정보를 상기 클라우드 서버로 전송하여 상기 클라우드 서버가 구동되도록 하는 매니저 서버를 포함하는 것을 특징으로 하는 클라우드 시스템.
  16. 제15항에 있어서,
    상기 매니저 서버는 적어도 하나 이상의 서버 템플릿을 관리하고, 상기 서버 템플릿 정보에 따라 추출된 서버 템플릿에 기초하여 상기 서버 설정 정보를 생성하는 것을 특징으로 하는 클라우드 시스템.
  17. 제15항에 있어서,
    상기 매니저 서버는 상기 도메인 내의 클라우드 서버들의 연결 상태를 모니터링하여 상기 서버 설정 정보를 갱신하는 것을 특징으로 하는 클라우드 시스템.
  18. 제17항에 있어서,
    상기 클라우드 서버는, 상기 매니저 서버의 연결 상태 모니터링에 기초하여 요청된 질의에 응답하여 상기 서버 템플릿 정보와 함께 상기 클라우드 서버에 할당된 IP 정보를 전송하는 것을 특징으로 하는 클라우드 시스템.
  19. 제17항에 있어서,
    상기 매니저 서버는 상기 클라우드 서버들의 연결 상태를 모니터링하여 연결 상태가 확인되지 않는 클라우드 서버의 연결 해제 정보를 포함하도록 서버 설정 정보를 갱신하는 것을 특징으로 하는 클라우드 시스템.
  20. 제1항 내지 제10항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020170092685A 2017-07-21 2017-07-21 클라우드 환경에서의 클라우드 서버 관리 방법 및 장치 KR101913346B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170092685A KR101913346B1 (ko) 2017-07-21 2017-07-21 클라우드 환경에서의 클라우드 서버 관리 방법 및 장치
US15/662,857 US10474491B2 (en) 2017-07-21 2017-07-28 Method and apparatus for managing cloud server in cloud environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170092685A KR101913346B1 (ko) 2017-07-21 2017-07-21 클라우드 환경에서의 클라우드 서버 관리 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101913346B1 true KR101913346B1 (ko) 2018-10-30

Family

ID=64100780

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170092685A KR101913346B1 (ko) 2017-07-21 2017-07-21 클라우드 환경에서의 클라우드 서버 관리 방법 및 장치

Country Status (2)

Country Link
US (1) US10474491B2 (ko)
KR (1) KR101913346B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102179459B1 (ko) * 2019-06-18 2020-11-16 주식회사 홍익과학기술 멀티 클라우드 통합 관리 시스템 및 그 방법
KR20210094882A (ko) * 2020-01-22 2021-07-30 네이버클라우드 주식회사 부팅 중 통신 모듈 적용을 통한 원격 터미널 접속을 위한 방법 및 시스템
KR102363758B1 (ko) * 2020-12-01 2022-02-16 (주)모니터랩 프록시 장치 및 그 제어 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102297850B1 (ko) * 2017-10-27 2021-09-06 한국전자통신연구원 클라우드 서비스 브로커리지에 기반한 클라우드 서비스 제공 방법 및 장치 및 그 방법
CN113055500B (zh) * 2019-12-26 2022-08-30 中国电信股份有限公司 地址请求方法、装置及计算机可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120311579A1 (en) 2011-06-02 2012-12-06 Hon Hai Precision Industry Co., Ltd. System and method for updating virtual machine template

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120179904A1 (en) * 2011-01-11 2012-07-12 Safenet, Inc. Remote Pre-Boot Authentication
US20120297059A1 (en) * 2011-05-20 2012-11-22 Silverspore Llc Automated creation of monitoring configuration templates for cloud server images
US8560663B2 (en) * 2011-09-30 2013-10-15 Telefonaktiebolaget L M Ericsson (Publ) Using MPLS for virtual private cloud network isolation in openflow-enabled cloud computing
KR20140076956A (ko) 2012-12-13 2014-06-23 한국전자통신연구원 클라우드 네트워크의 노드 제어 시스템
KR101474872B1 (ko) 2014-01-09 2014-12-19 성균관대학교산학협력단 클라우드 상에 가상 클러스터들의 효율적 구축을 위한 탄력적 가상 클러스터 관리 방법, 이를 이용한 가상 클러스터 관리 장치 및 클라우드 시스템
US20160191617A1 (en) 2014-12-30 2016-06-30 International Business Machines Corporation Relocating an embedded cloud for fast configuration of a cloud computing environment
US10503493B2 (en) * 2017-05-16 2019-12-10 Oracle International Corporation Distributed versioning of applications using cloud-based systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120311579A1 (en) 2011-06-02 2012-12-06 Hon Hai Precision Industry Co., Ltd. System and method for updating virtual machine template

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102179459B1 (ko) * 2019-06-18 2020-11-16 주식회사 홍익과학기술 멀티 클라우드 통합 관리 시스템 및 그 방법
KR20210094882A (ko) * 2020-01-22 2021-07-30 네이버클라우드 주식회사 부팅 중 통신 모듈 적용을 통한 원격 터미널 접속을 위한 방법 및 시스템
KR20210109510A (ko) * 2020-01-22 2021-09-06 네이버클라우드 주식회사 부팅 중 통신 모듈 적용을 통한 원격 터미널 접속을 위한 방법 및 시스템
KR102331899B1 (ko) * 2020-01-22 2021-11-26 네이버클라우드 주식회사 부팅 중 통신 모듈 적용을 통한 원격 터미널 접속을 위한 방법 및 시스템
KR102411144B1 (ko) * 2020-01-22 2022-06-22 네이버클라우드 주식회사 부팅 중 통신 모듈 적용을 통한 원격 터미널 접속을 위한 방법 및 시스템
KR102363758B1 (ko) * 2020-12-01 2022-02-16 (주)모니터랩 프록시 장치 및 그 제어 방법

Also Published As

Publication number Publication date
US20190026139A1 (en) 2019-01-24
US10474491B2 (en) 2019-11-12

Similar Documents

Publication Publication Date Title
KR101913346B1 (ko) 클라우드 환경에서의 클라우드 서버 관리 방법 및 장치
US11755428B2 (en) Backup and recovery of application data of an application executing in a virtual machine
US9350610B2 (en) System and method for configuration management service
US9146755B2 (en) System and method for transporting platform independent power configuration parameters
US8726273B2 (en) Space efficient virtual machines
US11080041B1 (en) Operating system management for virtual workspaces
US8799890B2 (en) Generating a version identifier for a computing system based on software packages installed on the computing system
JP5708937B2 (ja) 構成情報管理システム、構成情報管理方法、及び構成情報管理用プログラム
JP7069672B2 (ja) アプリケーションの更新方法およびプログラム
US8423734B2 (en) Making automated use of data volume copy service targets
US9720719B2 (en) Method and system for optimizing virtual disk provisioning
CN107193607B (zh) 用于更新代码文件的方法和装置、存储介质、处理器以及终端
US9001364B2 (en) Management system, image forming apparatus, management system control method, and image forming apparatus control method for migration of setting values of an application that operates in the image forimng apparatus
US10402216B1 (en) Live support integration in a virtual machine based development environment
KR20110030447A (ko) 가상 머신 및 애플리케이션 수명들의 동기화
US20190073235A1 (en) Network system, patch file application method, and recording medium
US8745342B2 (en) Computer system for controlling backups using wide area network
US20120054743A1 (en) Information Processing Apparatus and Client Management Method
JP5346405B2 (ja) ネットワークシステム
US10108434B2 (en) Booting a computing device by streaming a desktop image over a network
US10430119B2 (en) Mechanism for multiple coexisting configurations support in virtual tape applications
CN111787126A (zh) 容器创建方法、服务器及存储介质
CN110221910B (zh) 用于执行mpi作业的方法和装置
CN112887440A (zh) 一种ip地址管理方法和装置
KR20160025282A (ko) 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템

Legal Events

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