KR102524540B1 - 멀티 클라우드 서비스 플랫폼 장치 및 방법 - Google Patents

멀티 클라우드 서비스 플랫폼 장치 및 방법 Download PDF

Info

Publication number
KR102524540B1
KR102524540B1 KR1020200046740A KR20200046740A KR102524540B1 KR 102524540 B1 KR102524540 B1 KR 102524540B1 KR 1020200046740 A KR1020200046740 A KR 1020200046740A KR 20200046740 A KR20200046740 A KR 20200046740A KR 102524540 B1 KR102524540 B1 KR 102524540B1
Authority
KR
South Korea
Prior art keywords
cloud
service
cloud infrastructure
mcis
clouds
Prior art date
Application number
KR1020200046740A
Other languages
English (en)
Other versions
KR20210128722A (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 KR1020200046740A priority Critical patent/KR102524540B1/ko
Priority to US17/166,726 priority patent/US11966768B2/en
Publication of KR20210128722A publication Critical patent/KR20210128722A/ko
Application granted granted Critical
Publication of KR102524540B1 publication Critical patent/KR102524540B1/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/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/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3428Benchmarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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
    • 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
    • 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
    • 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/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

멀티 클라우드 서비스 플랫폼 장치 및 방법이 개시된다. 본 발명의 일실시예에 따른 멀티 클라우드 서비스 플랫폼 장치는 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리를 포함하고, 상기 적어도 하나 이상의 프로그램은 사용자 클라이언트 장치로부터 서비스 요청을 수신하고, 복수개의 클라우드들을 이용하여 상기 서비스 요청에 상응하는 멀티 클라우드 인프라 서비스를 생성하고, 상기 멀티 클라우드 인프라 서비스를 제공하기 위해 상기 복수개의 클라우드들을 멀티 클라우드 인프라로 연동시키고, 상기 멀티 클라우드 인프라 서비스에 상응하는 멀티 클라우드 애플리케이션 실행 환경을 생성한다.

Description

멀리 클라우드 서비스 플랫폼 장치 및 방법 {APPARATUS AND METHOD FOR MULTI-CLOUD SERVICE PLATFORM}
본 발명은 멀티 클라우드 서비스 플랫폼 기술에 관한 것으로, 보다 상세하게는 클라우드 컴퓨팅 환경에서 다수의 클라우드 컴퓨팅 장치의 자원 및 서비스를 효과적으로 운영 관리하고, 애플리케이션을 운영을 지원하는 소프트웨어 플랫폼 기술에 관한 것이다.
기존에는 비지니스를 위한 클라우드 서비스 및 컴퓨팅 자원은 주로 단일 클라우드 또는 데이터센터에 의존적으로 사용하고 있다. 단일 클라우드는 서비스 중단 등에 따른 리스크, 제한적인 컴퓨팅 자원 및 서비스, 특정 클라우드 서비스 제공자에 대한 의존성 등의 문제가 발생되고 있다. 단일 클라우드 서비스는 사용자가 직접 VM(Virtual Machine) 생성 요청, VM 그룹 네트워크 연결, 애플리케이션 실행환경 구성, VM/실행환경 모니터링, 자원 스케일링 등을 각 클라우드 마다 요청해야 한다는 단점이 있다.
따라서, 다수의 다중 클라우드를 활용하는 멀티 클라우드(클라우드 또는 클라우드 서비스 사업자를 여러 개 활용한 SW 개발, 운영 등)를 이용하는 사용자 및 비즈니스가 늘어나고 있다.
즉, 미래 비지니스를 위한 클라우드 서비스 및 컴퓨팅 자원은 단일 클라우드만 활용하지 않고 다양한 멀티 클라우드들을 연계 활용함으로써 사용자에게 최상의 클라우드 서비스를 제공할 수 있는 멀티 클라우드 기반의 컴퓨팅 플랫폼이 필요하다.
한편, 한국공개특허 제 10-2019-0088594호“멀티 DRM을 지원하는 클라우드 기반 미디어 서비스 운용 방법 및 상기 방법을 수행하기 위한 기록 매체”는 콘텐츠 제공자가 DRM(Digital Right Management) 기술을 구입하여 여러 미디어 서비스 플랫폼에 적용시킬 수 있는 멀티 DRM을 지원하는 클라우드 기반 미디어 서비스 운용 방법 및 상기 방법을 수행하기 위한 기록 매체에 관하여 개시하고 있다.
본 발명은 멀티 클라우드의 자원 및 서비스를 공통적으로 운영 및 관리하고, 사용자가 애플리케이션을 손쉽게 개발 및 배포할 수 있도록 애플리케이션 실행 환경을 제공하는 것을 목적으로 한다.
또한, 본 발명은 멀티 클라우드 인프라의 연동, 제어, 관리 및 플러그인 기반의 클라우드 동적 확장을 제공하는 것을 목적으로 한다.
또한, 본 발명은 사용자 요구사항에 적합한 멀티 클라우드 인프라 서비스 통합 관리를 제공하는 것을 목적으로 한다.
또한, 본 발명은 멀티 클라우드 인프라 서비스와 애플리케이션의 편리한 관리 환경, 품질 및 가용성을 보장하는 것을 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 멀티 클라우드 서비스 플랫폼 장치는 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리를 포함하고, 상기 적어도 하나 이상의 프로그램은 사용자 클라이언트 장치로부터 서비스 요청을 수신하고, 복수개의 클라우드들을 이용하여 상기 서비스 요청에 상응하는 멀티 클라우드 인프라 서비스를 생성하고, 상기 멀티 클라우드 인프라 서비스를 제공하기 위해 상기 복수개의 클라우드들을 멀티 클라우드 인프라로 연동시키고, 상기 멀티 클라우드 인프라 서비스에 상응하는 멀티 클라우드 애플리케이션 실행 환경을 생성할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 복수개의 클라우드들에 포함된 컴퓨팅 머신들 중 상기 서비스 요청에 상응하는 컴퓨팅 머신들을 이용하여 상기 멀티 클라우드 인프라 서비스를 생성할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 컴퓨팅 머신들의 사양에 관한 정적 정보와 상기 컴퓨팅 머신들의 벤치 마킹 수행 결과에 관한 동적 성능 정보를 수집하여 상기 서비스 요청에 상응하는지 판단할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 컴퓨팅 머신들 간의 네트워크 지연 정보를 수집하여 기설정된 지연 시간 이내의 컴퓨팅 머신들을 선택할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 복수개의 클라우드들에 상응하는 공통 인터페이스 규격의 클라우드 드라이버를 이용하여 상기 복수개의 클라우드들을 상기 멀티 클라우드 인프라로 연동시킬 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 공유 라이브러리에 상기 복수개의 클라우드들의 클라우드 드라이버들을 등록하고, 상기 공통 클라우드 드라이버 공유 라이브러리에 등록된 클라우드 드라이버들을 이용하여 상기 복수개의 클라우드들을 상기 멀티 클라우드 인프라로 연동시킬 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 멀티 클라우드 인프라 서비스에 상응하는 애플리케이션 이미지를 이용하여 멀티 클라우드 애플리케이션 실행 환경을 생성할 수 있다.
또한, 상기의 목적을 달성하기 위한 본 발명의 일실시예에 따른 멀티 클라우드 서비스 플랫폼 방법은 멀티 클라우드 서비스 플랫폼 장치의 멀티 클라우드 서비스 플랫폼 방법에 있어서, 사용자 클라이언트 장치로부터 서비스 요청을 수신하는 단계; 복수개의 클라우드들을 이용하여 상기 서비스 요청에 상응하는 멀티 클라우드 인프라 서비스를 생성하는 단계; 상기 멀티 클라우드 인프라 서비스를 제공하기 위해 상기 복수개의 클라우드들을 멀티 클라우드 인프라로 연동시키는 단계 및 상기 멀티 클라우드 인프라 서비스에 상응하는 멀티 클라우드 애플리케이션 실행 환경을 생성하는 단계를 포함한다.
이 때, 상기 멀티 클라우드 인프라 서비스를 생성하는 단계는 상기 복수개의 클라우드들에 포함된 컴퓨팅 머신들 중 상기 서비스 요청에 상응하는 컴퓨팅 머신들을 이용하여 상기 멀티 클라우드 인프라 서비스를 생성할 수 있다.
이 때, 상기 멀티 클라우드 인프라 서비스를 생성하는 단계는 상기 컴퓨팅 머신들의 사양에 관한 정적 정보와 상기 컴퓨팅 머신들의 벤치 마킹 수행 결과에 관한 동적 성능 정보를 수집하여 상기 서비스 요청에 상응하는지 판단할 수 있다.
이 때, 상기 멀티 클라우드 인프라 서비스를 생성하는 단계는 상기 컴퓨팅 머신들 간의 네트워크 지연 정보를 수집하여 기설정된 지연 시간 이내의 컴퓨팅 머신들을 선택할 수 있다.
이 때, 상기 멀티 클라우드 인프라로 연동시키는 단계는 상기 복수개의 클라우드들에 상응하는 공통 인터페이스 규격의 클라우드 드라이버를 이용하여 상기 복수개의 클라우드들을 상기 멀티 클라우드 인프라로 연동시킬 수 있다.
이 때, 상기 멀티 클라우드 인프라로 연동시키는 단계는 공유 라이브러리에 상기 복수개의 클라우드들의 클라우드 드라이버들을 등록하고, 상기 공통 클라우드 드라이버 공유 라이브러리에 등록된 클라우드 드라이버들을 이용하여 상기 복수개의 클라우드들을 상기 멀티 클라우드 인프라로 연동시킬 수 있다.
이 때, 상기 멀티 클라우드 애플리케이션 실행 환경을 생성하는 단계는 상기 멀티 클라우드 인프라 서비스에 상응하는 애플리케이션 이미지를 이용하여 멀티 클라우드 애플리케이션 실행 환경을 생성할 수 있다.
본 발명은 멀티 클라우드의 자원 및 서비스를 공통적으로 운영 및 관리하고, 사용자가 애플리케이션을 손쉽게 개발 및 배포할 수 있도록 애플리케이션 실행 환경을 제공할 수 있다.
또한, 본 발명은 멀티 클라우드 인프라의 연동, 제어, 관리 및 플러그인 기반의 클라우드 동적 확장을 제공할 수 있다.
또한, 본 발명은 사용자 요구사항에 적합한 멀티 클라우드 인프라 서비스 통합 관리를 제공할 수 있다.
또한, 본 발명은 멀티 클라우드 인프라 서비스와 애플리케이션의 편리한 관리 환경, 품질 및 가용성을 보장할 수 있다.
도 1은 멀티 클라우드 시스템의 일 예를 나타낸 도면이다.
도 2는 본 발명의 일실시예에 따른 멀티 클라우드 서비스 플랫폼 시스템을 나타낸 도면이다.
도 3은 본 발명의 일실시예에 따른 멀티 클라우드 서비스 플랫폼 장치를 나타낸 블록도이다.
도 4는 본 발명의 일실시예에 따른 멀티 클라우드 서비스 플랫폼 장치의 동작 과정을 나타낸 도면이다.
도 5는 본 발명의 일실시예에 따른 멀티 클라우드 인프라 자원과 멀티 클라우드 인프라 서비스의 관계를 나타낸 도면이다.
도 6은 본 발명의 일실시예에 따른 멀티 클라우드 인프라 서비스 통합 관리 기능을 나타낸 도면이다.
도 7은 도 3에 도시된 MCIS 관리부의 일 예를 세부적으로 나타낸 블록도이다.
도 8은 본 발명의 일실시예에 따른 MCIS 통합 연결 기능을 나타낸 도면이다.
도 9는 본 발명의 일실시예에 따른 MCIS 통합 최적 배치 스케줄링 기능을 나타낸 도면이다.
도 10은 본 발명의 일실시예에 따른 MCIS 라이프사이클 상태 및 변화를 나타낸 도면이다.
도 11은 멀티 클라우드 사용자 환경을 나타낸 도면이다.
도 12는 도 3에 도시된 인프라 연동부의 사용자 환경을 나타낸 도면이다.
도 13은 도 3에 도시된 인프라 연동부의 일 예를 세부적으로 나타낸 블록도이다.
도 14는 도 13에 도시된 인프라 연동 정보 관리부의 일 예를 세부적으로 나타낸 블록도이다.
도 15는 도 13에 도시된 인프라 공통 제어 관리부의 일 예를 세부적으로 나타낸 블록도이다.
도 16은 도 13에 도시된 클라우드 드라이버 공통 인터페이스의 일 예를 세부적으로 나타낸 블록도이다.
도 17은 도 13에 도시된 연동 이력 정보 관리부의 일 예를 세부적으로 나타낸 블록도이다.
도 18은 도 16에 도시된 클라우드 드라이버 인터페이스의 일 예를 세부적으로 나타낸 도면이다.
도 19는 본 발명의 일실시예에 따른 동적 플러그인 기반 신규 클라우드 드라이버 관리 기능을 나타낸 도면이다.
도 20은 도 3에 도시된 애플리케이션 관리부의 일 예를 세부적으로 나타낸 블록도이다.
도 21은 본 발명의 일실시예에 따른 멀티 클라우드 애플리케이션 실행 환경을 나타낸 도면이다.
도 22는 도 3에 도시된 모니터링부의 일 예를 세부적으로 나타낸 블록도이다.
도 23은 본 발명의 일실시예에 따른 멀티 클라우드 서비스 플랫폼 방법을 나타낸 동작흐름도이다.
도 24는 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 멀티 클라우드 시스템의 일 예를 나타낸 도면이다.
도 1을 참조하면, 일반적인 멀티 클라우드 시스템은 사용자(USER)가 직접 VM 생성, VM 그룹 네트워크 연결, 애플리케이션 실행환경 구성, VM/실행환경 모니터링 및 자원 스케일링 등을 각 클라우드들 마다 요청하는 것을 알 수 있다.
도 2는 본 발명의 일실시예에 따른 멀티 클라우드 서비스 플랫폼 시스템을 나타낸 도면이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 멀티 클라우드 서비스 플랫폼 시스템은 멀티 클라우드 서비스 플랫폼 장치(100), 복수개의 클라우드들 및 클라우드 네이티브 애플리케이션을 포함한다.
사용자 클라이언트 장치(10)는 멀티 클라우드 서비스 플랫폼 장치(100)에게 서비스 생성 및 서비스 관리를 요청할 수 있다.
멀티 클라우드 서비스 플랫폼 장치(100)는 멀티 클라우드 인프라 자원을 스케줄링 할 수 있다.
이 때, 멀티 클라우드 서비스 플랫폼 장치(100)는 멀티 클라우드를 연동하여 멀티 클라우드 인프라 서비스의 생성을 요청할 수 있다.
이 때, 멀티 클라우드 서비스 플랫폼 장치(100)는 멀티 클라우드를 모니터링 한 정보를 수집할 수 있다.
이 때, 멀티 클라우드 서비스 플랫폼 장치(100)는 로드 분산(로드 밸런서)과 자원 스케줄링을 이용하여 멀티 클라우드 인프라 서비스를 위한 통합 연동 기능을 제공할 수 있다.
이 때, 멀티 클라우드 서비스 플랫폼 장치(100)는 멀티 클라우드 인프라 연동을 지원할 수 있다.
이 때, 멀티 클라우드 서비스 플랫폼 장치(100)는 다양한 클라우드 인프라의 연동 및 플러그인 기반의 클라우드 동적 확장을 제공할 수 있다.
이 때, 멀티 클라우드 서비스 플랫폼 장치(100)는 다양한 클라우드 인프라에 대한 동일 방식의 제어 및 관리를 제공할 수 있다.
이 때, 멀티 클라우드 서비스 플랫폼 장치(100)는 멀티 클라우드 인프라 서비스 통합 관리를 지원할 수 있다.
이 때, 멀티 클라우드 서비스 플랫폼 장치(100)는 사용자 요구사항에 적합한 멀티 클라우드 인프라 서비스의 최적 배치를 제공할 수 있다.
이 때, 멀티 클라우드 서비스 플랫폼 장치(100)는 다양한 클라우드 인프라 서비스에 대한 단일점 관리(single point management)를 지원할 수 있다.
이 때, 멀티 클라우드 서비스 플랫폼 장치(100)는 멀티 클라우드 인프라 서비스를 위한 통합 연동(VPN, 로드 밸런서 등) 기능을 제공할 수 있다.
이 때, 멀티 클라우드 서비스 플랫폼 장치(100)는 멀티 클라우드 통합 모니터링을 지원할 수 있다.
이 때, 멀티 클라우드 서비스 플랫폼 장치(100)는 멀티 클라우드 인프라 서비스와 애플리케이션의 다양한 상태 정보를 제공할 수 있다.
이 때, 멀티 클라우드 서비스 플랫폼 장치(100)는 멀티 클라우드 애플리케이션 통합 관리를 지원할 수 있다.
이 때, 멀티 클라우드 서비스 플랫폼 장치(100)는 최적의 멀티 클라우드 애플리케이션 실행환경 및 편리한 관리 환경을 제공할 수 있다.
이 때, 멀티 클라우드 서비스 플랫폼 장치(100)는 멀티 클라우드 애플리케이션 품질 및 가용성을 보장할 수 있다.
이 때, 멀티 클라우드 서비스 플랫폼 장치(100)는 멀티 클라우드 서비스 공통 서브시스템을 위한 개방형 API 및 도구를 제공할 수 있다.
이 때, 멀티 클라우드 서비스 플랫폼 장치(100)는 멀티 클라우드의 서비스 및 자원 관리를 위한 개방형 API를 제공할 수 있다.
이 때, 멀티 클라우드 서비스 플랫폼 장치(100)는 멀티 클라우드 환경의 사용 편의성을 위한 웹 UI 및 CLI 를 제공할 수 있다.
이 때, 멀티 클라우드 서비스 플랫폼 장치(100)는 서브시스템 구조 및 마이크로 서비스 기반 아키텍처를 제공할 수 있다.
도 3은 본 발명의 일실시예에 따른 멀티 클라우드 서비스 플랫폼 장치를 나타낸 블록도이다.
도 3을 참조하면, 본 발명의 일실시예에 따른 멀티 클라우드 서비스 플랫폼 장치(100)는 API 처리부(110), API 중계부(120), MCIS 관리부(130), 인프라 연동부(140), 애플리케이션 관리부(150) 및 모니터링부(160)를 포함한다.
MCIS 관리부(130), 인프라 연동부(140), 애플리케이션 관리부(150) 및 모니터링부(160)는 개별 서브시스템으로 플랫폼의 코어 기능을 제공할 수 있다.
MCIS 관리부(130), 인프라 연동부(140), 애플리케이션 관리부(150) 및 모니터링부(160)은 마이크로서비스 형태로 각 서브 시스템을 실현 가능하게 할 수 있다.
마이크로서비스 형태는 개별 기능 모듈을 독립적인 서비스 단위로 구조화하여, 유연한 통합 및 개발 복잡도 완화한 SW 아키텍처에 상응할 수 있다.
MCIS 관리부(130), 인프라 연동부(140), 애플리케이션 관리부(150) 및 모니터링부(160)은 각 운영정보 관리기인 DB 관리기 1 내지 4(130a, 140a, 150a, 160a)를 통해 내부 운영정보를 관리할 수 있다.
API 처리부(110)는 사용자 클라이언트 장치(10)로부터 서비스 요청을 수신할 수 있다.
이 때, API 처리부(110)는 시스템을 활용을 위한 개방형 API 제공 및 관리 편의성을 위한 웹 UI(USER INTERFACE) 및 CLI(COMMAND-LINE INTERFACE) 를 제공할 수 있다.
이 때, API 처리부(110)는 사용자 클라이언트 장치(10)에게 웹 UI 및 CLI 및 개방형 API를 통해 멀티 클라우드 인프라 서비스의 기능들을 제공할 수 있다.
이 때, API 처리부(110)는 플랫폼 형태 및 SW(20)에게 개방형 API를 통해 멀티 클라우드 인프라 서비스의 기능들을 제공할 수 있다.
예를 들어, 플랫폼 및 SW(20)는 멀티 클라우드 관리 플랫폼(Multi Cloud Management Platform, MCMP) 및 클라우드 브로커리지 플랫폼(Cloud Service Brokerage Platform, CSB) 등을 포함할 수 있다.
이 때, API 처리부(110)는 플랫폼의 사용자 인터페이스를 제공할 수 있다.
API 중계부(120)는 서브시스템 간의 API 중계를 통한 연동 및 기능 확장 편의성을 제공할 수 있다.
API 중계부(120)는 서브시스템 간에 필요한 기능들을 요청 받고, 그 결과를 반환할 수 있다.
MCIS 관리부(130)는 복수개의 클라우드들을 이용하여 상기 서비스 요청에 상응하는 멀티 클라우드 인프라 서비스(MULIT CLOUD INFRA SERVICE, MCIS)를 생성할 수 있다.
이 때, MCIS 관리부(130)는 사용자의 요구사항을 기반으로 최적 배치를 지원하는 멀티 클라우드 인프라 서비스의 운용 및 통합 관리를 제공할 수 있다.
이 때, MCIS 관리부(130)는 상기 복수개의 클라우드들에 포함된 컴퓨팅 머신들 중 상기 서비스 요청에 상응하는 컴퓨팅 머신들을 이용하여 상기 멀티 클라우드 인프라 서비스를 생성할 수 있다.
이 때, 컴퓨팅 머신의 종류는 가상 머신 및 컨테이너 머신 등에 상응할 수 있다. 본 발명의 상세한 설명에서는 컴퓨팅 머신의 일 예로 가상 머신(Virtual Machine, VM)을 예로 들어 설명한다.
이 때, MCIS 관리부(130)는 상기 컴퓨팅 머신들의 사양에 관한 정적 정보와 상기 컴퓨팅 머신들의 벤치 마킹 수행 결과에 관한 동적 성능 정보를 수집하여 상기 서비스 요청에 상응하는지 판단할 수 있다.
이 때, MCIS 관리부(130)는 상기 컴퓨팅 머신들 간의 네트워크 지연 정보를 수집하여 기설정된 지연 시간 이내의 컴퓨팅 머신들을 선택할 수 있다.
인프라 연동부(140)는 상기 멀티 클라우드 인프라 서비스를 제공하기 위해 상기 복수개의 클라우드들을 멀티 클라우드 인프라로 연동시킬 수 있다.
이 때, 인프라 연동부(140)는 플러그인 방식으로 이종 멀티 클라우드 인프라를 연동하고 단일 방식으로 관리 및 제어할 수 있다.
이 때, 인프라 연동부(140)는 상기 복수개의 클라우드들에 상응하는 공통 인터페이스 규격의 클라우드 드라이버를 이용하여 상기 복수개의 클라우드들을 상기 멀티 클라우드 인프라로 연동시킬 수 있다.
이 때, 인프라 연동부(140)는 공유 라이브러리에 상기 복수개의 클라우드들의 클라우드 드라이버들을 등록하고, 상기 공통 클라우드 드라이버 공유 라이브러리에 등록된 클라우드 드라이버들을 이용하여 상기 복수개의 클라우드들을 상기 멀티 클라우드 인프라로 연동시킬 수 있다.
애플리케이션 관리부(150)는 상기 멀티 클라우드 인프라 서비스에 상응하는 멀티 클라우드 애플리케이션 실행 환경을 생성할 수 있다.
이 때, 애플리케이션 관리부(150)는 애플리케이션 안정성 및 품질보장을 지원하는 멀티 클라우드 애플리케이션 운용 및 관리를 지원할 수 있다.
이 때, 애플리케이션 관리부(150)는 상기 멀티 클라우드 인프라 서비스에 상응하는 애플리케이션 이미지를 이용하여 멀티 클라우드 애플리케이션 실행 환경을 생성할 수 있다.
모니터링부(160)는 멀티 클라우드 인프라 서비스, MCIS에 포함된 컴퓨팅 자원, 애플리케이션 워크로드 및 애플리케이션 실행환경에 대한 모니터링을 제공할 수 있다.
이 때, 모니터링부(160)는 멀티 클라우드 인프라 서비스 및 멀티 클라우드 애플리케이션의 관리 최적화를 위한 모니터링 정보를 제공할 수 있다.
도 4는 본 발명의 일실시예에 따른 멀티 클라우드 서비스 플랫폼 장치의 동작 과정을 나타낸 도면이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 멀티 클라우드 서비스 플랫폼 장치(100)의 동작 과정을 나타낸 것을 알 수 있다.
API 처리부(110)는 사용자 클라이언트 장치(10)로부터 서비스 요청을 수신하고 API 중계부(120)에 전달할 수 있다.
API 중계부(120)는 MCIS 관리부(130), 인프라 연동부(140), 애플리케이션 관리부(150) 및 모니터링부(160)에게 서브 시스템 런타임을 위한 공통 기능을 제공할 수 있다.
인프라 연동부(140)는 MCIS 관리부(130), 애플리케이션 관리부(150) 및 모니터링부(160)에게 다양한 클라우드들을 연동하여 단일 방식의 제어 및 관리를 지원할 수 있다.
이 때, 인프라 연동부(140)는 API 처리부(110)에게 개방형 API 를 제공할 수 있다.
MCIS 관리부(130)는 애플리케이션 관리부(150)에게 MCIS를 제공할 수 있다.
이 때, MCIS 관리부(130)는 API 처리부(110)에게 개방형 API 를 제공할 수 있다.
애플리케이션 관리부(150)는 API 처리부(110)에게 개방형 API 를 제공할 수 있다.
모니터링부(160)는 MCIS 관리부(130)에게 MCIS 모니터링 정보를 제공할 수 있다.
이 때, 모니터링부(160)는 애플리케이션 관리부(150)에게 애플리케이션 모니터링 정보를 제공할 수 있다.
이 때, 모니터링부(160)는 API 처리부(110)에게 개방형 API 를 제공할 수 있다.
도 5는 본 발명의 일실시예에 따른 멀티 클라우드 인프라 자원과 멀티 클라우드 인프라 서비스의 관계를 나타낸 도면이다.
도 5를 참조하면, MCIS 관리부(130)의 통합 관리의 대상인 멀티 클라우드 인프라 자원과 서비스의 개념을 나타낸 것을 알 수 있다.
멀티 클라우드 인프라 자원(Multi-Cloud Infra Resource, MCIR)은 다수의 클라우드 상에서 제공되는 MCIS를 생성 및 운용하기 위한 클라우드 인프라 자원들을 포함할 수 있다.
클라우드 인프라 자원은 이미지, VM 사양, 네트워크 및 VM 접속을 위한 자원 등을 포함할 수 있다.
멀티 클라우드 인프라 서비스(Multi-Cloud Infra Service, MCIS)는 지역적으로 격리된 다수의 클라우드 상에서 단일 목적(응용서비스, 애플리케이션 등)을 위하여 상호 연계된 하나 이상의 클라우드 인프라 서비스(가상 머신(Virtual Machine, VM), 컨테이너 머신(Container Machine, CM) 등) 그룹에 상응할 수 있다.
멀티 클라우드 인프라 자원은 멀티 클라우드 인프라 서비스를 구성하기 위해서 사용될 수 있다.
사용자 자원은 사용자 편의를 위해 시스템에 등록된 자원에 상응할 수 있다.
클라우드 인프라 자원은 클라우드 서비스 제공자의 자원에 상응할 수 있다.
멀티 클라우드 인프라 서비스는 하나 이상의 클라우드 인프라 서비스의 논리적 그룹에 상응할 수 있다.
도 6은 본 발명의 일실시예에 따른 멀티 클라우드 인프라 서비스 통합 관리 기능을 나타낸 도면이다.
도 6을 참조하면, MCIS 관리부(130)가 제공하는 기능들을 나타낸 것을 알 수 있다.
MCIS 관리부(130)는 사용자의 다양한 요구사항에 따라 최적의 MCIR을 배치 및 스케줄링 할 수 있다.
이 때, MCIS 관리부(130)는 다수의 클라우드 서비스 제공자를 통해서 실제 VM을 프로비저닝할 수 있다.
이 때, MCIS 관리부(130)는 생성된 VM들을 MCIS 형태로 구성하여 MCIS의 라이프사이클을 관리할 수 있다.
이 때, MCIS 관리부(130)는 최적의 MCIS 배치 및 스케줄링을 위해서 MCIS 배치 계획을 위한 정적 정보 및 동적 정보를 수집할 수 있다.
정적 정보는 메타데이터를 통해 수집할 수 있는 변경이 빈번하지 않은 정보를 포함할 수 있다.
동적 정보는 정보의 변경이 빈번하여 측정을 통해서 수집이 필요한 정보를 포함할 수 있다.
이 때, MCIS 관리부(130)는 정적 정보 및 동적 정보를 기반으로 VM을 최적으로 배치하고, 멀티 클라우드에 걸쳐 지역적으로 떨어진 VM들을 고려한 MCIS 단위의 최적 배치를 지원할 수 있다.
도 7은 도 3에 도시된 MCIS 관리부의 일 예를 세부적으로 나타낸 블록도이다. 도 8은 본 발명의 일실시예에 따른 MCIS 통합 연결 기능을 나타낸 도면이다. 도 9는 본 발명의 일실시예에 따른 MCIS 통합 최적 배치 스케줄링 기능을 나타낸 도면이다. 도 10은 본 발명의 일실시예에 따른 MCIS 라이프사이클 상태 및 변화를 나타낸 도면이다.
도 7을 참조하면, MCIS 관리부(130)는 네임스페이스 관리부(131), 자원 관리부(132), MCIS 프로비저닝 관리부(133), MCIS 라이프사이클 관리부(134), MCIS 자동 제어부(135), MCIS 통합 연결부(136) 및 MCIS 통합 관리 개방형 API 런타임 처리부(1300)를 포함할 수 있다.
네임스페이스 관리부(131)는 개체들이 어떤 이름 공간에 속해 있는지를 네임스페이스(Namespace)를 통해 지정할 수 있다.
이 때, 네임스페이스 관리부(131)는 이름이 같은 개체라도 다른 네임스페이스에 속해 있으면, 네임스페이스를 지정하여 이름이 같은 개체들도 구분할 수 있다.
이 때, 네임스페이스 관리부(131)는 사용자의 모든 MCIR 및 MCIS를 네임스페이스를 통해서 논리적으로 분리할 수 있다.
이 때, 네임스페이스 관리부(131)는 지정된 네임스페이스에 따라서 객체들을 검색 및 제어할 수 있다.
예를 들면, 네임스페이스 관리부(131)는 사용자의 프로젝트에 따라 다른 네임스페이스를 지정하여, 각 프로젝트의 MCIR과 MCIS를 격리시킬 수 있다.
이 때, 네임스페이스 관리부(131)는 사용자 클라이언트 장치(10)에게 네임스페이스 객체를 생성, 조회, 삭제할 수 있도록 관리 기능을 제공할 수 있다.
이 때, 네임스페이스 관리부(131)는 네임스페이스 객체 생성 기능을 이용하여 사용자 클라이언트 장치(10)가 요청한 네임스페이스의 이름과, 기생성된 범용 고유 식별자(UUID) 정보를 가진 정보 객체를 생성할 수 있다.
이 때, 네임스페이스 관리부(131)는 사용자 클라이언트 장치(10)에게 네임스페이스 객체 조회 기능을 제공하여 네임스페이스 전체 리스트를 제공할 수 있다.
이 때, 네임스페이스 관리부(131)는 네임스페이스의 이름을 통해서 UUID를 특정할 수 있다.
특정된 UUID는 MCIR 및 MCIS에 대한 조회 요청과 제어 요청 시 필요한 기본 정보를 포함할 수 있다.
이 때, 네임스페이스 관리부(131)는 네임스페이스 객체의 삭제 기능을 이용하여 네임스페이스에 포함되어 있는 MCIR 및 MCIS에 대한 정보를 조회할 수 있다.
이 때, 네임스페이스 관리부(131)는 네임스페이스에 MCIR 및 MCIS 중 어느 하나라도 존재한다면 네임스페이스의 삭제를 불허할 수 있다.
이 때, 네임스페이스 관리부(131)는 네임스페이스를 지정하고 있는 MCIR과 MCIS가 미리 모두 제거되어야 네임스페이스를 삭제할 수 있다.
자원 관리부(132)는 각 클라우드가 인프라 서비스를 제공하기 위해 사용하는 클라우드 인프라 자원을 중앙에서 관리할 수 있는 기능을 제공할 수 있다.
이 때, 자원 관리부(132)는 MCIS의 구성 및 설정에 사용하기 위한 객체로서 각 클라우드의 인프라 자원을 관리할 수 있다.
이 때, 자원 관리부(132)는 MCIR의 다양한 자원 종류(이미지, VM 사양, 네트워크, VM 접속을 위한 자원 등)에 대해서 생성, 등록, 조회, 삭제 등의 기능을 제공할 수 있다.
이 때, 자원 관리부(132)는 MCIS에 포함될 수 있는 VM의 이미지 자원을 관리할 수 있다.
이 때, 자원 관리부(132)는 VM 이미지를 시스템에 등록할 수 있다.
등록된 이미지는 아이디를 가진 시스템의 객체가 될 수 있다.
이 때, 등록된 이미지는 VM 생성 시 파라미터로 사용될 수 있다.
이 때, 자원 관리부(132)는 사용자 클라이언트 장치(10)에게 이미지를 등록, 조회, 삭제할 수 있는 관리 기능을 제공할 수 있다.
또한, 자원 관리부(132)는 MCIS에 포함될 수 있는 VM의 VM 사양 자원을 관리할 수 있다.
VM 사양 자원은 클라우드 서비스 제공자가 VM의 사양을 정의한 객체에 상응할 수 있다.
이 때, 자원 관리부(132)는 사용자 클라이언트 장치(10)로부터 VM 사양 자원을 등록 받을 수 있다.
등록된 VM 사양 자원은 아이디를 가진 시스템의 객체가 될 수 있다.
등록된 VM 사양 자원은 관리되는 VM의 사양이 선택된 경우, 상기 VM의 사양에 해당하는 VM 사양 객체는 클라우드 서비스 제공자에 따라 여러 개 일 수 있다.
상기 VM 사양 객체는 VM 생성 시 파라미터로 사용될 수 있다.
이 때, 자원 관리부(132)는 사용자 클라이언트 장치(10)에게 VM 사양 자원에 대해 조회 및 삭제할 수 있는 관리 기능을 제공할 수 있다.
이 때, 자원 관리부(132)는 vCPU 개수, 메모리 크기 및 스토리지 크기 중 적어도 하나를 시스템에서 관리하는 주요 사양 요소로 포함할 수 있다.
또한, 자원 관리부(132)는 MCIS에 포함될 수 있는 가상 네트워크 자원을 관리할 수 있다.
가상 네트워크 자원은 클라우드 서비스 제공자가 가상 네트워크 자원을 정의한 객체에 상응할 수 있다.
이 때, 자원 관리부(132)는 사용자 클라이언트 장치(10)로부터 클라우드 서비스 제공자가 제공하는 가상 네트워크 자원을 등록 받을 수 있다.
등록된 가상 네트워크 자원은 아이디를 가진 시스템의 객체가 될 수 있다.
가상 네트워크 자원은 VM 생성 시 파라미터로 사용될 수 있다.
이 때, 자원 관리부(132)는 사용자 클라이언트 장치(10)에게 가상 네트워크 자원에 대해 조회 및 삭제할 수 있는 관리 기능을 제공할 수 있다.
또한, 자원 관리부(132)는 MCIS에 포함된 VM에 접속하기 위한 자원을 관리(등록, 조회, 삭제)할 수 있다.
VM 접속에 관련된 자원은 네트워크 보안 그룹(접속 가능한 네트워크 포트를 지정한 아이템 그룹) 및 VM에 시큐어 셸(Secure Shell, SSH)을 통한 접속을 위한 접속 보안키 등을 포함할 수 있다.
MCIS 프로비저닝 관리부(133)는 MCIS를 생성하는 모든 절차를 관리할 수 있다.
이 때, MCIS 프로비저닝 관리부(133)는 MCIS를 생성하기 위해서 MCIS의 구성 요소가 되는 VM들을 생성할 수 있고, 생성된 VM들을 설정하고 MCIS라는 논리적인 객체에 포함시킬 수 있다.
이 때, MCIS 프로비저닝 관리부(133)는 개별 VM을 생성하기 위해서 VM을 최적으로 배치 및 스케줄링 할 수 있고, MCIS 단위의 서비스 요구 사항에 최적으로 부합하는 VM들을 선택함으로써 사용자에게 최적의 MCIS를 프로비저닝 할 수 있다.
이 때, MCIS 프로비저닝 관리부(133)는 MCIS 배치 요구 사항을 검토할 수 있다.
이 때, MCIS 프로비저닝 관리부(133)는 사용자 클라이언트 장치(10)가 요청한 MCIS에 대한 배치 요구 사항에 대한 오류를 검토하고, MCIS 관리부(130)에서 관리하는 정보를 기반으로 프로비저닝 가능 여부를 판단할 수 있다.
이 때, MCIS 프로비저닝 관리부(133)는 프로비저닝이 불가능한 사용자의 요구 사항이 포함된 경우에는 MCIS 프로비저닝을 수행하지 않고, 사용자 클라이언트 장치(10)에게 프로비저닝 불가함을 통보할 수 있다.
또한, MCIS 프로비저닝 관리부(133)는 MCIS 배치 정보를 수집할 수 있다.
MCIS 배치 정보는 정적 정보 및 동적 정보를 포함할 수 있다.
정적 정보는 사양, 위치, 가격 등이 포함할 수 있고, 동적 정보는 성능 정보 등을 포함할 수 있다.
이 때, MCIS 프로비저닝 관리부(133)는 VM 사양에 대해서 정적 정보를 수집하고, VM 벤치마킹 등을 통해서 동적 성능 정보를 주기적으로 수집할 수 있다.
이 때, MCIS 프로비저닝 관리부(133)는 수집된 정보를 MCIS 최적 배치 스케줄링 알고리즘의 기반 데이터로 제공할 수 있다.
또한, MCIS 프로비저닝 관리부(133)는 MCIS 최적 배치 스케줄링을 수행할 수 있다.
MCIS 최적 배치 스케줄링 알고리즘은 다양한 요소를 기준으로 최적 배치를 수행할 수 있는 알고리즘들이 포함될 수 있다.
이 때, MCIS 프로비저닝 관리부(133)는 MCIS 단위의 최적 배치를 지원할 수 있다.
이 때, MCIS 프로비저닝 관리부(133)는 멀티 클라우드에 걸친 VM 간의 네트워크 지연 정보를 수집하여, 사용자가 요청한 MCIS 내의 모든 VM들의 네트워크 지연 시간을 특정 ms 내로 만족시키는 배치 기능을 제공할 수 있다.
도 9를 참조하면, VM 간 네트워크 지연 기반 배치의 예시를 나타낸 것을 알 수 있다. MCIS에 40ms 미만의 상호 네트워크 지연 속도를 명시하면, MCIS 통합 최적 배치 기능은 VM 간의 네트워크 지연 속도 정보를 통해서 제약을 만족하는 VM들로만 MCIS를 최적 구성할 수 있다.
또한, MCIS 프로비저닝 관리부(133)는 MCIS의 최적 구성을 위해서 각 VM의 최적 배치 조건으로 VM 사양 기반 배치 알고리즘, VM 위치 기반 배치 알고리즘, VM 가격 기반 배치 알고리즘, VM 성능 기반 배치 알고리즘 및 VM 복합 조건 기반 배치 등을 제공할 수 있다.
VM 사양 기반 배치 알고리즘은 사용자 클라이언트 장치(10)가 요청한 VM의 사양을 기반으로 VM의 추천 및 배치를 수행할 수 있다.
VM 위치 기반 배치 알고리즘은 사용자 클라이언트 장치(10)가 요청한 지역에 가까운 순으로 최적의 VM의 추천 및 배치를 수행할 수 있다.
VM 가격 기반 배치 알고리즘은 사용자 클라이언트 장치(10)가 요청한 사양을 기준으로 해당 사양을 가장 저렴하게 제공할 수 있는 순으로 VM의 추천 및 배치를 수행할 수 있다.
VM 성능 기반 배치 알고리즘은 MCIS 배치 정보 수집 기능(성능 벤치마킹 등)을 통해서 제공되는 정보를 이용하여 사용자 클라이언트 장치(10)가 요청한 성능 기준으로 VM의 추천 및 배치를 수행할 수 있다.
예를 들어, VM의 성능 요소는 계산 성능, 메모리 읽기/쓰기 성능 및 파일 IO 성능 등을 포함할 수 있다.
VM 복합 조건 기반 배치 알고리즘은 상기에서 설명한 여러 가지 요소를 복합적으로 고려해야 하는 경우 사용할 수 있는 알고리즘이며, 상기에서 설명한 알고리즘들의 가중합(각 알고리즘에 대한 사용자의 선호도를 표현할 수 있는 수식. weighted-sum)을 통해서 VM의 추천 및 배치를 수행할 수 있다.
또한, MCIS 프로비저닝 관리부(133)는 MCIS를 생성할 수 있다.
이 때, MCIS 프로비저닝 관리부(133)는 MCIS 객체를 생성하고, 인프라 연동부(140)의 VM 생성 기능을 이용하여 MCIS 객체에 포함되는 VM을 생성할 수 있다.
이 때, MCIS 프로비저닝 관리부(133)는 생성 요청 단계와 생성 설정 단계를 통해 MCIS를 생성할 수 있다.
이 때, MCIS 프로비저닝 관리부(133)는 사용자 클라이언트 장치(10)가 요청한 VM들이 모두 생성되고 나면, MCIS 객체에 해당 VM들에 대한 생성 및 접속 정보를 입력하고 사용자 클라이언트 장치(10)에게 반환할 수 있다.
MCIS 라이프사이클 관리부(134)는 MCIS가 생성되고 사용자 클라이언트 장치(10)에게 프로비저닝 된 이후, MCIS의 라이프사이클 및 MCIS의 상태에 관한 관리 및 제어 기능을 제공할 수 있다.
이 때, MCIS 라이프사이클 관리부(134)는 각 MCIS 및 포함된 VM에 대해서 MCIS 라이프사이클(Lifecycle)에 대한 상태(동작 상태, 중지 상태, 종료 상태 등)를 관리할 수 있다
이 때, MCIS 라이프사이클 관리부(134)는 MCIS의 라이프사이클 상태와 클라우드 서비스 제공자가 관리하는 실제 VM의 라이프사이클 상태가 동일한지 확인하고, MCIS의 라이프사이클 상태와 실제 VM의 라이프사이클 상태를 동기화할 수 있다.
이 때, MCIS 라이프사이클 관리부(134)는 사용자 클라이언트 장치(10)로부터 요청 받은 라이프사이클에 관련된 제어 요청을 수행할 수 있다.
도 10을 참조하면, MCIS의 라이프사이클 상태의 일 예를 나타낸 것을 알 수 있다. 라이프사이클 상태는 전이 상태와 최종 상태를 포함할 수 있다.
전이 상태는 Creating(생성 진행 상태), Suspending(중지 진행 상태), Resuming(재개 진행 상태), Rebooting(재시작 진행 상태) 및 Terminating(종료 진행 상태)를 포함할 수 있다.
Creating(생성 진행 상태)는 MCIS가 생성되는 중간 상태를 나타낼 수 있다.
Suspending(중지 진행 상태)는 MCIS를 일시 중지하기 위한 중간 상태를 나타낼 수 있다.
Resuming(재개 진행 상태)는 MCIS를 다시 실행하기 위한 중간 상태를 나타낼 수 있다.
Rebooting(재시작 진행 상태)는 MCIS를 재부팅하는 상태를 나타낼 수 있다.
Terminating(종료 진행 상태)는 MCIS의 종료를 실행하고 있는 중간 상태를 나타낼 수 있다.
최종 상태는 Running(동작 상태), Suspended(중지 상태), Failed(실패 상태) 및 Terminated(종료 상태)를 포함할 수 있다.
Running(동작 상태)는 MCIS가 동작중인 상태를 나타낼 수 있다.
Suspended(중지 상태)는 MCIS가 중지된 상태를 나타낼 수 있다.
Failed(실패 상태)는 MCIS가 오류로 인해 중단된 상태를 나타낼 수 있다.
Terminated(종료 상태)는 MCIS가 종료된 상태를 나타낼 수 있다.
MCIS 자동 제어부(135)는 MCIS를 사용자가 명시한 규칙에 따라서 자동으로 제어할 수 있다.
이 때, MCIS 자동 제어부(135)는 사용자 클라이언트 장치(10)로부터 MCIS를 자동으로 제어하기 위한 상태 조건을 수신하고, 상기 상태 조건이 만족 또는 불만족 되는 경우, 특정 액션이 자동적으로 수행되도록 제시할 수 있다.
이 때, MCIS 자동 제어부(135)는 사용자 클라이언트 장치(10)의 다양한 조건 및 액션을 수행하기 위한 기능적 메커니즘을 제공할 수 있다.
이 때, MCIS 자동 제어부(135)는 MCIS 자동 제어 요구 사항을 관리 할 수 있다.
이 때, MCIS 자동 제어부(135)는 사용자 클라이언트 장치(10)가 요청하는 MCIS 자동 제어 요구 사항을 등록, 조회, 삭제할 수 있다.
또한, MCIS 자동 제어부(135)는 MCIS 제어 조건을 판단할 수 있다.
이 때, MCIS 자동 제어부(135)는 MCIS의 현재 상태가 사용자 클라이언트 장치(10)가 요청한 상태 조건에 부합하는지 여부를 모니터링을 통해서 지속적으로 확인하고, 부합 여부 확인 시, 자동 제어를 위한 트리거링을 수행할 수 있다.
또한, MCIS 자동 제어부(135)는 MCIS 제어 액션을 실행할 수 있다.
이 때, MCIS 자동 제어부(135)는 자동 제어가 트리거링 되었을 때, 사용자 클라이언트 장치(10)가 요청한 액션을 수행할 수 있다.
MCIS 통합 연결부(136)는 멀티 클라우드 기반으로 지역적으로 떨어진 VM들이 포함된 MCIS를 기준으로 분산 애플리케이션 실행을 지원할 수 있다.
도 8을 참조하면, MCIS 통합 연결부(136)는 분산 애플리케이션 실행을 지원하기 위해 동일 서브넷 네트워크 환경을 제공하고, 클라우드 간의 부하를 분산하여 MCIS의 가용성을 향상시킬 수 있다.
이 때, MCIS 통합 연결부(136)는 MCIS 동일 서브넷 환경 구성 기능 및 MCIS 로드 밸런싱 기능 등을 수행할 수 있다.
이 때, MCIS 통합 연결부(136)는 사용자 클라이언트 장치(10)에게 동일 서브넷 환경 구성 기능 및 로드 밸런싱 기능 중 적어도 하나를 선택 받을 수 있고, 사용자 클라이언트 장치(10)가 선택한 기능을 이용하여 MCIS 를 배치시킬 수 있다.
이 때, MCIS 통합 연결부(136)는 배치가 완료된 MCIS 를 기준으로 통합 연결 서비스 환경을 생성할 수 있다.
MCIS 통합 관리 개방형 API 런타임 처리부(1300)는 타 서브시스템이나 사용자에게 MCIS의 기능을 제공하고, 이를 위해 개방형 API 런타임 서버를 포함할 수 있다.
이 때, MCIS 통합 관리 개방형 API 런타임 처리부(1300)는 타 서브시스템의 기능을 활용하기 위한 개방형 API 클라이언트를 포함할 수 있다.
또한, MCIS 관리부(130)는 VM 및 자원 생성을 위해서 인프라 연동부(140)와 통신하고, MCIR의 현황을 공유하기 위해서 모니터링부(160)와 통신할 수 있다.
이 때, MCIS 관리부(130)는 타 서브시스템의 기능을 통신을 통해 사용할 수 있고, 그 사이에는 이들의 통신을 중계하기 위한 중계기를 더 포함할 수 있다.
도 11은 멀티 클라우드 사용자 환경을 나타낸 도면이다.
도 11을 참조하면, 멀티 클라우드 서비스 사용자 환경은 클라우드 인프라 별 전문 사용 능력을 보유한 사용자/응용 또는 전문 개발자에 의해 개발된 전용 프로그램을 통해서만 클라우드들을 활용할 수 있다. 전문 개발자는 각기 다른 연결 및 인증 방법과 자원을 사용하기 위한 조건 및 구성 방법, 그리고 클라우드 별로 서로 다른 사용자 API를 이용한 복잡한 개발 및 시험이 필요하다. 도 11에 도시된 멀티 클라우드 서비스 개발 방법 및 서비스 사용자 환경은 멀티 클라우드 컴퓨팅 활용 초기에는 가능할 수 있지만, 멀티 클라우드 서비스 수요 및 사용자가 점차 증가되면 서비스 개발 및 운영에 문제가 발생할 수 있다.
도 12는 도 3에 도시된 인프라 연동부의 사용자 환경을 나타낸 도면이다.
도 12를 참조하면, 멀티 클라우드 서비스 플랫폼 장치(100)의 인프라 연동부(140)는 이종 연동 문제를 해결할 수 있다.
인프라 연동부(140)는 사용자 클라이언트 장치(10) 및 타 서브시스템에게 서로 다른 클라우드 인프라에 대한 단일 방식의 연동 및 제어 관리 방법 등을 제공할 수 있다.
이 때, 인프라 연동부(140)는 공통 인터페이스-드라이버 기반의 공통 API 제공으로 단일 방식 제어 관리를 제공할 수 있다.
이 때, 인프라 연동부(140)는 동적 플러그인 방식의 신규 클라우드 동적 추가 제공으로 무정지 클라우드 자원을 확장시킬 수 있다.
이 때, 인프라 연동부(140)는 클라우드 연동 이력 정보를 제공하여 클라우드 인프라 선택 정확도 향상을 지원할 수 있다.
도 13은 도 3에 도시된 인프라 연동부의 일 예를 세부적으로 나타낸 블록도이다. 도 14는 도 13에 도시된 인프라 연동 정보 관리부의 일 예를 세부적으로 나타낸 블록도이다. 도 15는 도 13에 도시된 인프라 공통 제어 관리부의 일 예를 세부적으로 나타낸 블록도이다. 도 16은 도 13에 도시된 클라우드 드라이버 공통 인터페이스의 일 예를 세부적으로 나타낸 블록도이다. 도 17은 도 13에 도시된 연동 이력 정보 관리부의 일 예를 세부적으로 나타낸 블록도이다. 도 18은 도 16에 도시된 클라우드 드라이버 인터페이스의 일 예를 세부적으로 나타낸 도면이다.
도 13을 참조하면, 인프라 연동부(140)는 인프라 연동 정보 관리부(141), 인프라 연동 이력 정보 관리부(142), 인프라 공통 제어 관리부(143) 및 클라우드 드라이버(144)를 포함할 수 있다.
인프라 연동 정보 관리부(141)는 멀티 클라우드 환경에서 서로 다른 클라우드 연동 정보를 통합 관리하고, 다양한 클라우드 인프라에 쉽고 빠르게 연결할 수 있는 클라우드 인프라 연동 정보를 관리할 수 있다.
클라우드 인프라 연동 정보는 클라우드 드라이버 정보, 클라우드 인프라 인증 정보 및 클라우드 서비스 리전(Region) 정보 등을 포함할 수 있다.
도 14를 참조하면, 인프라 연동 정보 관리부(141)는 연동 정보 관리 개방형 API 런타임부, 클라우드 드라이버 정보 관리부, 클라우드 인프라 인증 정보 관리부, 클라우드 인프라 리젼 정보 관리부, 클라우드 인프라 연결 설정 정보 관리부 및 클라우드 인프라 연동 정보 운영 관리부를 포함할 수 있다.
연동 정보 관리 개방형 API 런타임부는 사용자에게 클라우드 인프라 연동 정보 통합 관리 기능을 제공하기 위하여 개방형 API 런타임 서버 및 개방형 API 클라이언트를 제공할 수 있다.
이 때, 연동 정보 관리 개방형 API 런타임부는 REST 또는 gRPC 기반의 사용자 API를 사용하는 사용자 클라이언트 장치(10)에게 연동 정보 통합 관리 기능을 제공할 수 있다.
이 때, 연동 정보 관리 개방형 API 런타임부는 클라우드 드라이버 정보, 크리덴셜 정보 및 리전 정보를 인프라 공통 제어 관리부(143)에게 제공할 수 있다.
클라우드 드라이버 정보 관리부는 클라우드 인프라 연동을 위한 드라이버 정보 관리 기능을 제공할 수 있다.
드라이버 정보 관리 기능은 클라우드 드라이버 정보를 등록, 제공, 변경 및 삭제 기능을 포함할 수 있다.
클라우드 드라이버 정보는 드라이버 이름, CSP(Cloud Service Provider) 이름 및 드라이버 라이브러리 경로 등을 포함할 수 있다.
클라우드 인프라 인증 정보 관리부는 클라우드 인프라 연결 및 인증을 위한 크리덴셜(Credential) 정보 관리 기능을 제공할 수 있다.
크리덴셜(Credential) 정보 관리 기능은 클라우드 인증 정보 등록, 제공, 변경 및 삭제 기능을 포함할 수 있다.
클라우드 인증 정보는 크리덴셜 이름, 클라우드 인프라 서비스 엔드 포인트 및 클라우드 인프라 크리덴셜 정보 등을 포함할 수 있다.
클라우드 인프라 리젼 정보 관리부는 연동 대상 클라우드 인프라 서비스의 리젼 정보 관리 기능을 제공할 수 있다.
리전 정보 관리 기능은 클라우드 리전(Region) 정보 등록, 제공 및 삭제 기능을 포함할 수 있다.
리전 정보는 존(Zone) 정보를 더 포함할 수 있다
클라우드 인프라 연결 설정 정보 관리는 클라우드 인프라 연결을 위해 필요한 클라우드 연결 설정 정보를 등록, 제공, 변경, 삭제 및 관리할 수 있다.
클라우드 연결 설정 정보는 클라우드 연결 설정 이름, 클라우드 드라이버 이름, 클라우드 크리덴셜 이름, 클라우드 리전 이름 등을 포함할 수 있다.
클라우드 인프라 연동 정보 운영 관리부는 클라우드 인프라 연동 정보 통합 관리를 위한 운영 정보를 관리하는 기능을 제공할 수 있다.
이 때, 클라우드 인프라 연동 정보 운영 관리부는 CB-Store 기반으로 DB 관리기(140a)에 포함된 운영 정보를 관리할 수 있다.
운영 정보는 상기에서 설명한 클라우드 드라이버 정보, 크리덴셜 정보 및 리전 정보 등을 포함할 수 있다.
인프라 연동 이력 정보 관리부(142)는 다양한 클라우드 인프라 연동 이력 정보를 수집하고 제공할 수 있다.
클라우드 인프라 연동 이력 정보는 클라우드 인프라 및 가상 머신에 대한 연결 및 함수 호출에 대한 서비스 대응 이력 정보를 포함할 수 있다
이 때, 클라우드 인프라 연동 이력 정보는 응답 속도 및 오류 메시지 등을 포함할 수 있다.
이 때, 사용자 클라이언트 장치(10)는 클라우드 인프라 연동 이력 정보를 이용하여 클라우드 인프라 서비스 품질 예측 및 특정 클라우드 인프라의 자원 선택 시 정확도를 향상시킬 수 있다.
도 17을 참조하면, 인프라 연동 이력 정보 관리부(142)는 클라우드 인프라 연동 이력 정보 제공 기능 및 클라우드 인프라 연동 이력 정보 수집 기능을 제공할 수 있다.
클라우드 인프라 연동 이력 정보 제공 기능은 클라우드 인프라 연동 이력 정보 제공 및 시각화, 가상 머신 명령 실행 이력 정보 제공 및 시각화를 제공할 수 있다.
클라우드 인프라 연동 이력 정보 수집 기능은 클라우드 인프라 연동 이력 정보 및 가상 머신 명령 실행 이력 정보를 수집할 수 있다.
인프라 공통 제어 관리부(143)는 서로 다른 기능 및 API를 제공하기 위한 멀티 클라우드 인프라 자원 및 가상 머신에 대한 단일 방식 공통 API를 통한 제어 및 관리 기능을 제공할 수 있다.
이 때, 인프라 공통 제어 관리부(143)는 단일 방식 제어를 위해서 클라우드 드라이버 공통 인터페이스(143a)와 이를 구현한 드라이버 플러그인 구조를 제공할 수 있다.
이 때, 인프라 공통 제어 관리부(143)는 시스템 운영 중에 신규 클라우드 드라이버를 연동할 수 있는 동적 확장 가능한 라이브러리 구조를 제공할 수 있다.
도 15를 참조하면, 인프라 공통 제어 관리부(143)는 클라우드 드라이버 관리부, 클라우드 드라이버 공통 인터페이스 및 가상 머신 명령 원격 관리부를 포함할 수 있다.
클라우드 드라이버 관리부는 연동 대상 클라우드 인프라의 드라이버를 관리할 수 있다.
클라우드 드라이버 관리부는 클라우드 드라이버 적재 기능을 이용하여 공유 라이브러리 형태의 클라우드 드라이버를 동적으로 메모리에 적재할 수 있다.
클라우드 드라이버 관리부는 클라우드 드라이버 제공 기능을 이용하여 적재된 클라우드 드라이버를 제공할 수 있다.
클라우드 드라이버 관리부는 클라우드 드라이버 하적 기능을 이용하여 적재된 클라우드 드라이버를 메모리에서 제거할 수 있다.
클라우드 드라이버 공통 인터페이스부는 클라우드 인프라 자원 및 가상 머신에 대한 단일 제어 및 관리를 위하여 공통 인터페이스를 제공할 수 있다.
도 16을 참조하면, 클라우드 드라이버 공통 인터페이스부(143a)의 일 예를 세부적으로 나타낸 것을 알 수 있다.
클라우드 드라이버 공통 인터페이스부(143)는 클라우드 드라이버 인터페이스부, 클라우드 연결 관리 인터페이스부, 클라우드 인프라 자원 인터페이스부 및 가상 머신 라이프사이클 제어 인터페이스부를 포함할 수 있다.
클라우드 드라이버 인터페이스부는 클라우드 드라이버 버전 정보를 제공할 수 있다.
이 때, 클라우드 드라이버 인터페이스부는 클라우드 드라이버 제공 기능 목록을 제공할 수 있다.
이 때, 클라우드 드라이버 인터페이스부는 대상 클라우드 연결 객체 생성 및 클라우드 연결 관리 인터페이스를 제공할 수 있다.
클라우드 연결 관리 인터페이스부는 현재 클라우드 연결 상태 정보를 제공할 수 있다.
이 때, 클라우드 연결 관리 인터페이스부는 클라우드 인프라 자원 자원 제어 인터페이스를 제공할 수 있다.
클라우드 연결 관리 인터페이스부는 가상 머신 라이프사이클 제어 인터페이스를 제공할 수 있다.
클라우드 인프라 자원 제어 인터페이스부는 이미지 자원 제어 인터페이스, 네트워크 자원 제어 인터페이스, NIC(Network Interface Card) 자원 제어 인터페이스, 보안그룹 자원 제어 인터페이스, 공인 IP(Public IP) 자원 제어 인터페이스 및 키페어(KeyPair) 자원 제어 인터페이스를 제공할 수 있다.
이미지 자원 제어 인터페이스는 대상 클라우드의 이미지 생성, 목록, 상세 정보 제공 및 이미지 삭제 등을 제공할 수 있다.
네트워크 자원 제어 인터페이스는 대상 클라우드의 네트워크 자원 생성, 목록, 상세 정보 제공 및 네트워크 삭제 등을 제공할 수 있다.
NIC(Network Interface Card) 자원 제어 인터페이스는 대상 클라우드의 네트워크 카드 자원 생성, 목록, 상세 정보 제공 및 NIC 삭제 등을 제공할 수 있다.
보안그룹 자원 제어 인터페이스는 대상 클라우드의 방화벽 등 보안그룹(SecurityGroup) 생성, 목록, 상세 정보 제공 및 보안그룹 삭제 등을 제공할 수 있다.
공인 IP(Public IP) 자원 제어 인터페이스는 대상 클라우드의 공인 IP 자원 생성, 목록, 상세 정보 제공 및 공인 IP 삭제 등을 제공할 수 있다.
키페어(KeyPair) 자원 제어 인터페이스는 대상 클라우드의 키페어 자원 생성, 목록, 상세 정보 제공 및 키페어 삭제 등을 제공할 수 있다.
가상 머신 라이프사이클 제어 인터페이스부는 가상 머신 목록, 특정 가상 머신 세부 정보, 가상 머신 상태 목록, 특정 가상 머신 상태 정보, 가상 머신 가동 및 종료, 가상 머신 중지 및 재개, 가상 머신 재가동 기능 등을 제공할 수 있다.
다시 도 15를 참조하면, 가상 머신 명령 원격 관리부는 사용자 클라이언트 장치(10)가 실행 중인 가상 머신의 내부에 명령 실행 기능을 제공할 수 있다.
이 때, 가상 머신 명령 원격 관리부는 가상 머신 파일 복사 및 가상 머신 내부 명령 실행 기능을 제공할 수 있다.
가상 머신 파일 복사 기능은 명령어와 같은 로컬의 특정 파일을 가상 머신 내부로 복사할 수 있다.
이 때, 가상 머신 파일 복사 기능은 가상 머신 내부에 존재하는 파일을 로컬로 복사할 수 있다.
가상 머신 내부 명령 실행 기능은 원격지의 가상 머신에 존재하는 유틸리티 및 스크립트 등 내부 명령을 수행할 수 있다.
클라우드 드라이버(144)는 클라우드 드라이버 공통 인터페이스 규격을 준수하여 개발된 동적 라이브러리를 포함할 수 있고, 대상 클라우드의 연결 및 제어 기능을 제공할 수 있다.
도 18을 참조하면, 클라우드 드라이버는 클라우드 드라이버 공통 인터페이스에 상응하는 공유 라이브러리(Shared Library) 형태로 구현될 수 있다.
개별 드라이버의 제공 기능은 클라우드 드라이버 공통 인터페이스와 동일하거나 일부를 제공할 수 있다.
사용자 클라이언트 장치(10)는 클라우드 드라이버가 제공하는 기능 목록을 확인할 수 있다.
이 때, 사용자 클라이언트 장치(10)는 기능 목록을 이용하여 드라이버의 특정 기능 제공 여부를 판단할 수 있다.
멀티 클라우드 인프라 플랫폼 장치(100)는 사용자 응용 또는 운영 목적에 따라 하나의 클라우드 인프라에 다수의 클라우드 드라이버를 개발 및 플러그인하여 운영할 수 있다.
클라우드 드라이버는 플러그인 기반 공통 API 및 공통 제어 기능 및 드라이버 동적 추가 기반 클라우드 인프라 동적 확장 기능을 제공할 수 있다.
플러그인 기반 공통 API 및 공통 제어 기능은 서로 다른 클라우드 인프라의 연결 방법 및 인터페이스를 사용자 클라이언트 장치(10)에게 공통 API 및 공통 제어 기능을 제공하기 위한 드라이버 방식의 플러그인 메커니즘을 제공할 수 있다.
드라이버 방식은 동일한 공통 인터페이스를 이용하여 서로 다른 드라이버를 구현하더라도 사용자 클라이언트 장치(10)에게 단일 인터페이스만을 이용하여 기능을 제공 할 수 있다.
드라이버 동적 추가 기반 클라우드 인프라 동적 확장 기능은 시스템 운영 중단 없이 신규 클라우드 인프라의 연동이 가능하도록 클라우드 인프라 동적 확장 기능을 제공할 수 있다.
도 19는 본 발명의 일실시예에 따른 동적 플러그인 기반 신규 클라우드 드라이버 관리 기능을 나타낸 도면이다.
도 19를 참조하면, 인프라 연동부(140)는 클라우드 공통 인터페이스를 구현한 신규 클라우드 드라이버 공유 라이브러리를 생성하고, 시스템이 운영 중인 로컬 파일 시스템에 복사할 수 있다.
인프라 연동 정보 관리부(141)는 클라우드 드라이버 정보 관리 기능을 이용하여 신규 클라우드 드라이버의 이름 및 경로 등을 등록할 수 있다.
사용자 클라이언트 장치(10)는 신규 클라우드 인프라를 활용하기 위하여 인프라 공통 제어 관리부(143)의 클라우드 드라이버 관리 기능을 이용하여 신규 클라우드 드라이버 객체를 선택할 수 있다.
인프라 연동 정보 관리부(141)는 선택된 신규 클라우드 드라이버 객체에 상응하는 신규 클라우드 라이브러리로부터 신규 클라우드 드라이버를 인프라 공통 제어 관리부(143)의 클라우드 드라이버 관리부에 동적으로 적재할 수 있다.
이 때, 사용자 클라이언트 장치(10)는 클라우드 드라이버 인터페이스를 통해 드라이버 공통 API를 호출하면, 클라우드 드라이버 인터페이스는 클라우드 드라이버 관리부에 적재된 신규 클라우드 드라이버 API를 호출할 수 있다.
이 때, 신규 클라우드 드라이버는 최종적으로 신규 클라우드 인프라의 API를 호출하여 자원 및 가상 머신을 사용자 클라이언트 장치(10)에게 제공할 수 있다.
도 20은 도 3에 도시된 애플리케이션 관리부의 일 예를 세부적으로 나타낸 블록도이다. 도 21은 본 발명의 일실시예에 따른 멀티 클라우드 애플리케이션 실행 환경을 나타낸 도면이다.
도 20를 참조하면, 애플리케이션 관리부(150)는 애플리케이션 이미지 관리부(151), 애플리케이션 실행환경 프로비저닝 관리부(152), 애플리케이션 실행환경 관리부(153) 및 애플리케이션 통합 관리 개방형 API 런타임 처리부(1500)를 포함할 수 있다.
애플리케이션 이미지 관리부(151)는 애플리케이션의 소스코드 또는 애플리케이션이 배포된 컨테이너 환경을 이미지로 생성하는 기능을 제공할 수 있다.
이 때, 애플리케이션 이미지 관리부(151)는 앱 이미지를 애플리케이션 이미지 저장소(150a)에 저장할 수 있는 기능과 필요에 따라 애플리케이션 이미지 저장소(150a)에 저장된 이미지를 가져오는 기능을 제공할 수 있다.
애플리케이션 실행환경 프로비저닝 관리부(152)는 MCIS 관리부(130)를 통해서 MCIS(예를 들어, 멀티 클라우드에 걸친 VM 들로 구성된 컴퓨팅자원 풀)를 생성 및 관리하고, 생성된 MCIS 위에 애플리케이션 실행환경(컨테이너 등)을 배치 및 생성할 수 있다.
이 때, 애플리케이션 실행환경 프로비저닝 관리부(152)는 컨테이너 생성시, 필요에 따라 애플리케이션 이미지 관리부(151)를 통해서 사용자가 필요한 애플리케이션 이미지를 가져오고(Pulling), 이미지 및 설정에 따라 해당 애플리케이션을 컨테이너에 배치할 수 있다.
애플리케이션 실행환경 관리부(153)는 애플리케이션 실행환경에 대한 자원 사용량을 모니터링하고, 사용자가 정의한 정책에 따라서 모니터링 정보를 활용하고 상태를 검증하여, 사용자가 정의한 정책의 액션을 수행할 수 있다.
예를 들어, 사용자가 정의한 정책은 애플리케이션 실행환경의 CPU 사용량이 95% 이상인 경우에는 동일한 애플리케이션을 신규 실행환경을 통하여 확장하는 정책 등을 예로 들 수 있다.
도 21를 참조하면, 애플리케이션 실행환경 관리부(153)는 멀티 클라우드 인프라 서비스(MCIS) 위에 멀티 클라우드 애플리케이션 실행 환경을 제공할 수 있다.
이 때, 애플리케이션 실행환경 관리부(153)는 애플리케이션 이미지 저장소(150a)를 통해서 이미지화 되어 있는 애플리케이션(앱 이미지)을 멀티 클라우드 인프라에 걸친 실행환경에서 구동될 수 있도록 컨테이너에 배치하고, 운영 관리를 제공할 수 있다.
도 22는 도 3에 도시된 모니터링부의 일 예를 세부적으로 나타낸 블록도이다.
도 22를 참조하면, 모니터링부(160)는 멀티 클라우드 인프라 서비스(MCIS) 및 MCIS에 포함된 컴퓨팅 자원에 대한 모니터링을 제공할 수 있다.
이 때, 모니터링부(160)는 MCIS 관리부(130)를 통해서 MCIS 모니터링 대상 리스트를 확인하고, 대상이 되는 MCIS 및 내부 컴퓨팅 자원(예를 들면 VM)에 모니터링 에이전트를 설치하고, MCIS 모니터링 데이터를 에이전트를 통해서 수집 및 저장할 수 있다.
또한, 모니터링부(160)는 애플리케이션의 워크로드를 애플리케이션 실행환경 모니터링을 통해서 확인할 수 있다.
이 때, 모니터링부(160)는 애플리케이션 관리부(150)를 통해서 모니터링 대상 실행환경(예를 들면, 컨테이너) 리스트를 확인하고, 모든 컨테이너를 관리하고 있는 모니터링 API 또는 모니터링 에이전트 설치를 통해서 모니터링 데이터를 수집 및 저장할 수 있다.
모니터링부(160)는 수집 및 저장된 모니터링 데이터를 API를 통해 제공할 수 있고, 기설정된 조건에 따라 특정 외부 서비스에 제공할 수도 있다.
도 23은 본 발명의 일실시예에 따른 멀티 클라우드 서비스 플랫폼 방법을 나타낸 동작흐름도이다.
도 23을 참조하면, 본 발명의 일실시예에 따른 멀티 클라우드 서비스 플랫폼 방법은 사용자 요청을 수신할 수 있다(S210).
즉, 단계(S210)는 사용자 클라이언트 장치(10)로부터 서비스 요청을 수신할 수 있다.
이 때, 단계(S210)는 시스템을 활용을 위한 개방형 API 제공 및 관리 편의성을 위한 웹 UI(USER INTERFACE) 및 CLI(COMMAND-LINE INTERFACE) 를 제공할 수 있다.
이 때, 단계(S210)는 사용자 클라이언트 장치(10)에게 웹 UI 및 CLI 및 개방형 API를 통해 멀티 클라우드 인프라 서비스의 기능들을 제공할 수 있다.
이 때, 단계(S210)는 플랫폼 형태 및 SW(20)에게 개방형 API를 통해 멀티 클라우드 인프라 서비스의 기능들을 제공할 수 있다.
예를 들어, 플랫폼 및 SW(20)는 멀티 클라우드 관리 플랫폼(Multi Cloud Management Platform, MCMP) 및 클라우드 브로커리지 플랫폼(Cloud Service Brokerage Platform, CSB) 등을 포함할 수 있다.
이 때, 단계(S210)는 는 플랫폼의 사용자 인터페이스를 제공할 수 있다.
이 때, 단계(S210)는 서브시스템 간의 API 중계를 통한 연동 및 기능 확장 편의성을 제공할 수 있다.
이 때, 단계(S210)는 서브시스템 간에 필요한 기능들을 요청 받고, 그 결과를 반환할 수 있다.
또한, 본 발명의 일실시예에 따른 멀티 클라우드 서비스 플랫폼 방법은 멀티 클라우드 인프라 서비스를 생성할 수 있다(S220).
즉, 단계(S220)는 복수개의 클라우드들을 이용하여 상기 서비스 요청에 상응하는 멀티 클라우드 인프라 서비스(MULIT CLOUD INFRA SERVICE, MCIS)를 생성할 수 있다.
이 때, 단계(S220)는 사용자의 요구사항을 기반으로 최적 배치를 지원하는 멀티 클라우드 인프라 서비스의 운용 및 통합 관리를 제공할 수 있다.
이 때, 단계(S220)는 상기 복수개의 클라우드들에 포함된 컴퓨팅 머신들 중 상기 서비스 요청에 상응하는 컴퓨팅 머신들을 이용하여 상기 멀티 클라우드 인프라 서비스를 생성할 수 있다.
이 때, 컴퓨팅 머신의 종류는 가상 머신 및 컨테이너 머신 등에 상응할 수 있다.
이 때, 단계(S220)는 상기 컴퓨팅 머신들의 사양에 관한 정적 정보와 상기 컴퓨팅 머신들의 벤치 마킹 수행 결과에 관한 동적 성능 정보를 수집하여 상기 서비스 요청에 상응하는지 판단할 수 있다.
이 때, 단계(S220)는 상기 컴퓨팅 머신들 간의 네트워크 지연 정보를 수집하여 기설정된 지연 시간 이내의 컴퓨팅 머신들을 선택할 수 있다.
또한, 본 발명의 일실시예에 따른 멀티 클라우드 서비스 플랫폼 방법은 멀티 클라우드 인프라를 연동시킬 수 있다(S230).
즉, 단계(S230)는 상기 멀티 클라우드 인프라 서비스를 제공하기 위해 상기 복수개의 클라우드들을 멀티 클라우드 인프라로 연동시킬 수 있다.
이 때, 단계(S230)는 플러그인 방식으로 이종 멀티 클라우드 인프라를 연동하고 단일 방식으로 관리 및 제어할 수 있다.
이 때, 단계(S230)는 상기 복수개의 클라우드들에 상응하는 공통 인터페이스 규격의 클라우드 드라이버를 이용하여 상기 복수개의 클라우드들을 상기 멀티 클라우드 인프라로 연동시킬 수 있다.
이 때, 단계(S230)는 공유 라이브러리에 상기 복수개의 클라우드들의 클라우드 드라이버들을 등록하고, 상기 공통 클라우드 드라이버 공유 라이브러리에 등록된 클라우드 드라이버들을 이용하여 상기 복수개의 클라우드들을 상기 멀티 클라우드 인프라로 연동시킬 수 있다.
이 때, 단계(S230)는 멀티 클라우드 인프라 서비스 및 MCIS에 포함된 컴퓨팅 자원에 대한 모니터링을 제공할 수 있다.
이 때, 단계(S230)는 멀티 클라우드 인프라 서비스의 관리 최적화를 위한 모니터링 정보를 제공할 수 있다.
또한, 본 발명의 일실시예에 따른 멀티 클라우드 서비스 플랫폼 방법은 멀티 클라우드 애플리케이션 실행환경을 생성할 수 있다(S240).
즉, 단계(S240)는 상기 멀티 클라우드 인프라 서비스에 상응하는 멀티 클라우드 애플리케이션 실행 환경을 생성할 수 있다.
이 때, 단계(S240)는 애플리케이션 안정성 및 품질보장을 지원하는 멀티 클라우드 애플리케이션 운용 및 관리를 지원할 수 있다.
이 때, 단계(S240)는 상기 멀티 클라우드 인프라 서비스에 상응하는 애플리케이션 이미지를 이용하여 멀티 클라우드 애플리케이션 실행 환경을 생성할 수 있다.
이 때, 단계(S240)는 애플리케이션 워크로드 및 애플리케이션 실행환경에 대한 모니터링을 제공할 수 있다.
이 때, 단계(S240)는 멀티 클라우드 애플리케이션의 관리 최적화를 위한 모니터링 정보를 제공할 수 있다.
도 24는 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
도 24를 참조하면, 본 발명의 일실시예에 따른 멀티 클라우드 서비스 플랫폼 장치는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1100)에서 구현될 수 있다. 도 24에 도시된 바와 같이, 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 인터페이스 입력 장치(1140), 사용자 인터페이스 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.
본 발명의 일실시예에 따른 멀티 클라우드 서비스 플랫폼 장치는 하나 이상의 프로세서(1110); 및 상기 하나 이상의 프로세서(1110)에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리(1130)를 포함하고, 상기 적어도 하나 이상의 프로그램은 사용자 클라이언트 장치로부터 서비스 요청을 수신하고, 복수개의 클라우드들을 이용하여 상기 서비스 요청에 상응하는 멀티 클라우드 인프라 서비스를 생성하고, 상기 멀티 클라우드 인프라 서비스를 제공하기 위해 상기 복수개의 클라우드들을 멀티 클라우드 인프라로 연동시키고, 상기 멀티 클라우드 인프라 서비스에 상응하는 멀티 클라우드 애플리케이션 실행 환경을 생성할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 복수개의 클라우드들에 포함된 컴퓨팅 머신들 중 상기 서비스 요청에 상응하는 컴퓨팅 머신들을 이용하여 상기 멀티 클라우드 인프라 서비스를 생성할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 컴퓨팅 머신들의 사양에 관한 정적 정보와 상기 컴퓨팅 머신들의 벤치 마킹 수행 결과에 관한 동적 성능 정보를 수집하여 상기 서비스 요청에 상응하는지 판단할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 컴퓨팅 머신들 간의 네트워크 지연 정보를 수집하여 기설정된 지연 시간 이내의 컴퓨팅 머신들을 선택할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 복수개의 클라우드들에 상응하는 공통 인터페이스 규격의 클라우드 드라이버를 이용하여 상기 복수개의 클라우드들을 상기 멀티 클라우드 인프라로 연동시킬 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 공유 라이브러리에 상기 복수개의 클라우드들의 클라우드 드라이버들을 등록하고, 상기 공통 클라우드 드라이버 공유 라이브러리에 등록된 클라우드 드라이버들을 이용하여 상기 복수개의 클라우드들을 상기 멀티 클라우드 인프라로 연동시킬 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 멀티 클라우드 인프라 서비스에 상응하는 애플리케이션 이미지를 이용하여 멀티 클라우드 애플리케이션 실행 환경을 생성할 수 있다.
이상에서와 같이 본 발명의 일실시예에 따른 멀티 클라우드 서비스 플랫폼 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
10: 사용자 클라이언트 장치
100: 멀티 클라우드 서비스 플랫폼 장치
110: API 처리부 120: API 중계부
130: MCIS 관리부 140: 인프라 연동부
150: 애플리케이션 관리부 160: 모니터링부
1100: 컴퓨터 시스템 1110: 프로세서
1120: 버스 1130: 메모리
1131: 롬 1132: 램
1140: 사용자 인터페이스 입력 장치
1150: 사용자 인터페이스 출력 장치
1160: 스토리지 1170: 네트워크 인터페이스
1180: 네트워크

Claims (14)

  1. 하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리;
    를 포함하고,
    상기 적어도 하나 이상의 프로그램은
    사용자 클라이언트 장치로부터 서비스 요청을 수신하고,
    복수개의 클라우드들을 이용하여 상기 서비스 요청에 상응하는 멀티 클라우드 인프라 서비스를 생성하고,
    상기 멀티 클라우드 인프라 서비스를 제공하기 위해 상기 복수개의 클라우드들을 멀티 클라우드 인프라로 연동시키고,
    상기 멀티 클라우드 인프라 서비스에 상응하는 멀티 클라우드 애플리케이션 실행 환경을 생성하고,
    상기 적어도 하나 이상의 프로그램은
    상기 복수개의 클라우드들에 포함된 컴퓨팅 머신들 중 상기 서비스 요청에 상응하는 컴퓨팅 머신들을 이용하여 상기 멀티 클라우드 인프라 서비스를 생성하고,
    상기 컴퓨팅 머신들의 사양에 관한 정적 정보와 상기 컴퓨팅 머신들의 벤치 마킹 수행 결과에 관한 동적 성능 정보를 수집하여 상기 서비스 요청에 상응하는지 판단하고,
    상기 컴퓨팅 머신들 간의 네트워크 지연 정보를 수집하여 기설정된 지연 시간 이내의 컴퓨팅 머신들을 선택하고,
    상기 정적 정보, 상기 동적 성능 정보 및 상기 네트워크 지연 정보를 기반으로 상기 서비스 요청의 요구 사항을 만족시키도록 상기 컴퓨팅 머신들의 배치를 수행하여 상기 멀티 클라우드 인프라 서비스를 생성하는 것을 특징으로 하는 멀티 클라우드 서비스 플랫폼 장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 청구항 1에 있어서,
    상기 적어도 하나 이상의 프로그램은
    상기 복수개의 클라우드들에 상응하는 공통 인터페이스 규격의 클라우드 드라이버를 이용하여 상기 복수개의 클라우드들을 상기 멀티 클라우드 인프라로 연동시키는 것을 특징으로 하는 멀티 클라우드 서비스 플랫폼 장치.
  6. 청구항 5에 있어서,
    상기 적어도 하나 이상의 프로그램은
    공유 라이브러리에 상기 복수개의 클라우드들의 클라우드 드라이버들을 등록하고, 상기 공유 라이브러리에 등록된 클라우드 드라이버들을 이용하여 상기 복수개의 클라우드들을 상기 멀티 클라우드 인프라로 연동시키는 것을 특징으로 하는 멀티 클라우드 서비스 플랫폼 장치.
  7. 청구항 1에 있어서,
    상기 적어도 하나 이상의 프로그램은
    상기 멀티 클라우드 인프라 서비스에 상응하는 애플리케이션 이미지를 이용하여 멀티 클라우드 애플리케이션 실행 환경을 생성하는 것을 특징으로 하는 멀티 클라우드 서비스 플랫폼 장치.
  8. 멀티 클라우드 서비스 플랫폼 장치의 멀티 클라우드 서비스 플랫폼 방법에 있어서,
    사용자 클라이언트 장치로부터 서비스 요청을 수신하는 단계;
    복수개의 클라우드들을 이용하여 상기 서비스 요청에 상응하는 멀티 클라우드 인프라 서비스를 생성하는 단계;
    상기 멀티 클라우드 인프라 서비스를 제공하기 위해 상기 복수개의 클라우드들을 멀티 클라우드 인프라로 연동시키는 단계; 및
    상기 멀티 클라우드 인프라 서비스에 상응하는 멀티 클라우드 애플리케이션 실행 환경을 생성하는 단계;
    를 포함하고,
    상기 멀티 클라우드 인프라 서비스를 생성하는 단계는
    상기 복수개의 클라우드들에 포함된 컴퓨팅 머신들 중 상기 서비스 요청에 상응하는 컴퓨팅 머신들을 이용하여 상기 멀티 클라우드 인프라 서비스를 생성하고,
    상기 컴퓨팅 머신들의 사양에 관한 정적 정보와 상기 컴퓨팅 머신들의 벤치 마킹 수행 결과에 관한 동적 성능 정보를 수집하여 상기 서비스 요청에 상응하는지 판단하고,
    상기 컴퓨팅 머신들 간의 네트워크 지연 정보를 수집하여 기설정된 지연 시간 이내의 컴퓨팅 머신들을 선택하고,
    상기 정적 정보, 상기 동적 성능 정보 및 상기 네트워크 지연 정보를 기반으로 상기 서비스 요청의 요구 사항을 만족시키도록 상기 컴퓨팅 머신들의 배치를 수행하여 상기 멀티 클라우드 인프라 서비스를 생성하는 것을 특징으로 하는 멀티 클라우드 서비스 플랫폼 방법.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 청구항 8에 있어서,
    상기 멀티 클라우드 인프라로 연동시키는 단계는
    상기 복수개의 클라우드들에 상응하는 공통 인터페이스 규격의 클라우드 드라이버를 이용하여 상기 복수개의 클라우드들을 상기 멀티 클라우드 인프라로 연동시키는 것을 특징으로 하는 멀티 클라우드 서비스 플랫폼 방법.
  13. 청구항 12에 있어서,
    상기 멀티 클라우드 인프라로 연동시키는 단계는
    공유 라이브러리에 상기 복수개의 클라우드들의 클라우드 드라이버들을 등록하고, 상기 공유 라이브러리에 등록된 클라우드 드라이버들을 이용하여 상기 복수개의 클라우드들을 상기 멀티 클라우드 인프라로 연동시키는 것을 특징으로 하는 멀티 클라우드 서비스 플랫폼 방법.
  14. 청구항 8에 있어서,
    상기 멀티 클라우드 애플리케이션 실행 환경을 생성하는 단계는
    상기 멀티 클라우드 인프라 서비스에 상응하는 애플리케이션 이미지를 이용하여 멀티 클라우드 애플리케이션 실행 환경을 생성하는 것을 특징으로 하는 멀티 클라우드 서비스 플랫폼 방법.
KR1020200046740A 2020-04-17 2020-04-17 멀티 클라우드 서비스 플랫폼 장치 및 방법 KR102524540B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200046740A KR102524540B1 (ko) 2020-04-17 2020-04-17 멀티 클라우드 서비스 플랫폼 장치 및 방법
US17/166,726 US11966768B2 (en) 2020-04-17 2021-02-03 Apparatus and method for multi-cloud service platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200046740A KR102524540B1 (ko) 2020-04-17 2020-04-17 멀티 클라우드 서비스 플랫폼 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20210128722A KR20210128722A (ko) 2021-10-27
KR102524540B1 true KR102524540B1 (ko) 2023-04-24

Family

ID=78082475

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200046740A KR102524540B1 (ko) 2020-04-17 2020-04-17 멀티 클라우드 서비스 플랫폼 장치 및 방법

Country Status (2)

Country Link
US (1) US11966768B2 (ko)
KR (1) KR102524540B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11409555B2 (en) * 2020-03-12 2022-08-09 At&T Intellectual Property I, L.P. Application deployment in multi-cloud environment
US11727034B2 (en) * 2020-06-08 2023-08-15 Mongodb, Inc. Cross-cloud deployments
US11973824B2 (en) * 2021-09-23 2024-04-30 Shanghai Anviz Technology Co., Ltd. Method for data transmission of audio and video in end-to-end system
CN115297127B (zh) * 2022-07-26 2023-07-18 浪潮软件科技有限公司 一种解决异构多云统一调度及管理的方法及装置
CN115426292B (zh) * 2022-09-01 2023-04-14 在云上(南京)智能科技有限公司 一种适用于多云管理的运维系统及其方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101479978B1 (ko) 2013-07-09 2015-01-08 한국과학기술정보연구원 적응적 평가를 반영한 클라우드 자원 분배 방법 및 장치
JP2015184991A (ja) * 2014-03-25 2015-10-22 日本電信電話株式会社 リソース管理装置、リソース管理方法およびリソース管理プログラム
JP2016028479A (ja) 2011-03-30 2016-02-25 アマゾン・テクノロジーズ、インコーポレイテッド オフロードデバイスベースのパケット処理のためのフレームワークおよびインターフェース
KR101826498B1 (ko) * 2017-05-02 2018-02-07 나무기술 주식회사 클라우드 플랫폼 시스템

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110214124A1 (en) * 2010-02-26 2011-09-01 James Michael Ferris Systems and methods for generating cross-cloud computing appliances
US9128626B2 (en) * 2010-10-01 2015-09-08 Peter Chacko Distributed virtual storage cloud architecture and a method thereof
US8774213B2 (en) 2011-03-30 2014-07-08 Amazon Technologies, Inc. Frameworks and interfaces for offload device-based packet processing
KR20120116773A (ko) 2011-04-13 2012-10-23 주식회사 케이티 클라우드 컴퓨팅 서비스 센터 추천 방법
KR101844786B1 (ko) * 2011-12-14 2018-04-06 한국전자통신연구원 클라우드 시스템 간의 인프라 공유 지원 장치 및 방법
KR101741229B1 (ko) 2012-06-27 2017-05-29 한국전자통신연구원 멀티서비스를 위한 홈 클라우드 게이트웨이 장치 및 서비스 제공 방법
US9621435B2 (en) * 2012-09-07 2017-04-11 Oracle International Corporation Declarative and extensible model for provisioning of cloud based services
KR102020049B1 (ko) 2013-01-11 2019-11-04 한국전자통신연구원 멀티 테넌트 클라우드 서비스의 서비스 품질을 보장하기 위한 스위치, 방법 및 상기 스위치를 포함하는 시스템
US9417901B2 (en) 2013-01-11 2016-08-16 Electronics And Telecommunications Research Institute Switch and method for guaranteeing quality of service of multi-tenant cloud service and system having the same switch
US9705816B2 (en) 2013-07-09 2017-07-11 Korea Institute Of Science & Technology Information (Kisti) Method and apparatus for allocating resource reflecting adaptive evaluation in cloud computing for high-throughput computing
KR20150082932A (ko) 2014-01-08 2015-07-16 한국전자통신연구원 가상 머신의 구성 관리 지원 장치 및 방법과, 그 구성 관리 지원 장치를 이용한 클라우드 서비스 중개 장치 및 방법
US9430213B2 (en) * 2014-03-11 2016-08-30 Cliqr Technologies, Inc. Apparatus, systems and methods for cross-cloud software migration and deployment
KR20160045388A (ko) * 2014-10-17 2016-04-27 한국과학기술원 클라우드 서비스 브로커를 이용한 가상 머신 할당 방법
KR102364712B1 (ko) * 2015-04-03 2022-02-18 한국전자통신연구원 분산 클라우드 환경에서 서비스 오케스트레이션 시스템 및 방법
US10452451B2 (en) 2016-06-10 2019-10-22 Board Of Regents, The University Of Texas System Systems and methods for scheduling of workload-aware jobs on multi-clouds
KR102263366B1 (ko) * 2017-06-15 2021-06-11 한국전자통신연구원 다중 클라우드 기반의 클라우드 브로커리지를 이용한 클라우드 서비스 제공 장치 및 그 방법
US20190205182A1 (en) * 2017-12-28 2019-07-04 General Electric Company Unified monitoring interface
KR20190088594A (ko) 2018-01-19 2019-07-29 숭실대학교산학협력단 멀티 drm을 지원하는 클라우드 기반 미디어 서비스 운용 방법 및 상기 방법을 수행하기 위한 기록 매체
US11727034B2 (en) * 2020-06-08 2023-08-15 Mongodb, Inc. Cross-cloud deployments

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016028479A (ja) 2011-03-30 2016-02-25 アマゾン・テクノロジーズ、インコーポレイテッド オフロードデバイスベースのパケット処理のためのフレームワークおよびインターフェース
KR101479978B1 (ko) 2013-07-09 2015-01-08 한국과학기술정보연구원 적응적 평가를 반영한 클라우드 자원 분배 방법 및 장치
JP2015184991A (ja) * 2014-03-25 2015-10-22 日本電信電話株式会社 リソース管理装置、リソース管理方法およびリソース管理プログラム
KR101826498B1 (ko) * 2017-05-02 2018-02-07 나무기술 주식회사 클라우드 플랫폼 시스템

Also Published As

Publication number Publication date
US20210326161A1 (en) 2021-10-21
US11966768B2 (en) 2024-04-23
KR20210128722A (ko) 2021-10-27

Similar Documents

Publication Publication Date Title
KR102524540B1 (ko) 멀티 클라우드 서비스 플랫폼 장치 및 방법
US11038778B2 (en) Methods and systems that provision distributed applications that invoke functions provided by a distributed-function-as-a-service feature
JP6614340B2 (ja) ネットワーク機能仮想化管理オーケストレーション装置と方法とプログラム
US10873623B2 (en) Dynamically modifying a cluster of computing nodes used for distributed execution of a program
JP6954267B2 (ja) ネットワーク機能仮想化管理オーケストレーション装置と方法とプログラム
US11321130B2 (en) Container orchestration in decentralized network computing environments
CN106537338B (zh) 自扩展云
US9542222B2 (en) Resource broker system for dynamically deploying and managing software services in a virtual environment based on resource usage and service level agreement
JP6329547B2 (ja) クラウドコンピューティング環境で使用するサービス管理エンジンを提供するためのシステムおよび方法
US8321558B1 (en) Dynamically monitoring and modifying distributed execution of programs
US8762999B2 (en) Guest-initiated resource allocation request based on comparison of host hardware information and projected workload requirement
US8104038B1 (en) Matching descriptions of resources with workload requirements
US20200314168A1 (en) Distributed code execution involving a serverless computing infrastructure
Yamato et al. Development of template management technology for easy deployment of virtual resources on OpenStack
US20160048436A1 (en) Method and apparatus for verifying configuration
CN110661647A (zh) 一种生命周期管理方法及装置
US9959157B1 (en) Computing instance migration
US20220357997A1 (en) Methods and apparatus to improve cloud management
Hadley et al. Multibox: Lightweight containers for vendor-independent multi-cloud deployments
JP2017068480A (ja) ジョブ管理方法、ジョブ管理装置及びプログラム
US11750451B2 (en) Batch manager for complex workflows
US20210081245A1 (en) System and method of dynamic context workflow automation
CN116724543A (zh) 容器集群的管理方法和装置
CN114816665B (zh) 混合编排系统及超融合架构下虚拟机容器资源混合编排方法
US20230067168A1 (en) Network service construction graphical user interface, apparatus and method

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