KR20190049059A - 클라우드 서비스 브로커리지 장치 및 방법 - Google Patents

클라우드 서비스 브로커리지 장치 및 방법 Download PDF

Info

Publication number
KR20190049059A
KR20190049059A KR1020170144492A KR20170144492A KR20190049059A KR 20190049059 A KR20190049059 A KR 20190049059A KR 1020170144492 A KR1020170144492 A KR 1020170144492A KR 20170144492 A KR20170144492 A KR 20170144492A KR 20190049059 A KR20190049059 A KR 20190049059A
Authority
KR
South Korea
Prior art keywords
cloud service
syntax
cloud
csb
query
Prior art date
Application number
KR1020170144492A
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 KR1020170144492A priority Critical patent/KR20190049059A/ko
Publication of KR20190049059A publication Critical patent/KR20190049059A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)

Abstract

클라우드 서비스 브로커리지 장치 및 방법이 개시된다. 본 발명의 일실시예에 따른 클라우드 서비스 브로커리지 장치는 사용자로부터 클라우드 플랫폼에 대한 클라우드 서비스 브로커리지 질의어(Cloud Service Brokerage-Query Language, CSB-QL)에 기반한 클라우드 서비스 요청을 입력 받는 사용자 인터페이스부; 상기 CSB-QL에 기반한 클라우드 서비스 요청을 처리하고, 처리 결과를 상기 사용자에게 반환하는 질의 처리부; 상기 CSB-QL에 기반한 클라우드 서비스 요청을 처리하기 위한 정보를 상기 질의 처리부에 제공하여 클라우드 서비스를 중개하는 서비스 중개부 및 상기 CSB-QL에 기반한 클라우드 서비스 요청을 이종의 클라우드 플랫폼들에게 공통적으로 수행하는 클라우드 연결 관리부를 포함한다.

Description

클라우드 서비스 브로커리지 장치 및 방법 {APPARATUS AND METHOD FOR CLOUD SERVICE BROKERAGE}
본 발명은 클라우드 컴퓨팅 기술에 관한 것으로, 보다 상세하게는 클라우드 서비스 브로커리지 기술에 관한 것이다.
클라우드 서비스 브로커리지 시스템(Cloud Service Brokerage system, CSB)은 이종의 다중 클라우드를 연계하여 클라우드 자원을 통합 관리하고, 다중 클라우드 기반의 서비스 배치, 운용 및 관리를 지원할 수 있다. 클라우드 서비스 브로커리지 시스템은 최근 오픈스택 클라우드, 아마존 클라우드, 구글 클라우드, 마이크로소프트 클라우드 등 다양한 클라우드 서비스 플랫폼의 출현으로 사용 방법의 차이 문제 및 사용자 서비스에 최적인 클라우드 서비스 검색 등의 문제를 해결할 수 있다.
또한, 클라우드 서비스 브로커리지 시스템은 사용자의 클라우드 서비스 라이프사이클 관리 지원을 위하여 관리도구와 같은 그래픽 사용자 인터페이스나 명령형 유틸리티 또는 프로그래밍 인터페이스 등을 제공한다.
그러나, 최근 클라우드 서비스는 빅데이터, IoT 및 AI 등과 같은 컴퓨팅 인프라의 이동에 따라 클라우드 서비스의 요청이 빈번하고 다양한 형태로 요구되고 있다. 이러한 요구에 따라, 클라우드 서비스 브로커리지 시스템은 사용자 인터페이스를 사용자의 단계적 조작 또는 고정된 프로그래밍을 통해 다양하고, 가변적으로 사용하기 어려운 문제점이 있다.
한편, 한국공개특허 제 10-2010-0137323 호“클라우드 스토리지를 제공하는 클라이언트, 중개 서버 및 방법”는 사용자가 자신이 보유한 단말에서 로컬 스토리지 및 다양한 이종의 스토리지를 구분하여 인지할 필요 없이, 여러가지 요구에 따라 동적으로 스토리지를 확장하여 이용하는 일래스틱 스토리지 프로비젼 기법을 제공하는 클라우드 시스템에 관하여 개시하고 있다.
본 발명은 질의어에 기반한 사용자 인터페이스를 통해 사용자와 클라우드 플랫폼 사이의 클라우드 서비스 브로커리지를 제공하는 것을 목적으로 한다.
또한, 본 발명은 단일 또는 이종의 클라우드 플랫폼에게 통합된 클라우드 서비스를 요청하고, 그 결과를 제공받는 것을 목적으로 한다.
또한, 본 발명은 단일 또는 이종의 클라우드 플랫폼에 대한 최적 환경 및 최저 비용의 클라우드 서비스를 사용자에게 제공하는 것을 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 클라우드 서비스 브로커리지 장치는 사용자로부터 클라우드 플랫폼에 대한 클라우드 서비스 브로커리지 질의어(Cloud Service Brokerage-Query Language, CSB-QL)에 기반한 클라우드 서비스 요청을 입력 받는 사용자 인터페이스부; 상기 CSB-QL에 기반한 클라우드 서비스 요청을 처리하고, 처리 결과를 상기 사용자에게 반환하는 질의 처리부; 상기 CSB-QL에 기반한 클라우드 서비스 요청을 처리하기 위한 정보를 상기 질의 처리부에 제공하여 클라우드 서비스를 중개하는 서비스 중개부 및 상기 CSB-QL에 기반한 클라우드 서비스 요청을 적어도 하나 이상의 클라우드 플랫폼들에게 공통적으로 수행하는 클라우드 연결 관리부를 포함한다.
이 때, 상기 CSB-QL은 상기 이종 클라우드 플랫폼들에 대한 동일한 클라우드 서비스 요청을 수행하기 위하여 리소스 종류와 질의 종류에 대한 질의어를 조합하여 생성된 구문에 상응할 수 있다.
이 때, 상기 리소스 종류는 상기 클라우드 서비스 요청을 수행하기 위한 대상을 정의한 것일 수 있다.
이 때, 상기 질의 종류는 상기 대상이 되는 리소스에게 상기 클라우드 서비스 요청을 수행하기 위한 명령어를 정의한 것일 수 있다.
이 때, 상기 CSB-QL의 구문 형식은 구조화 질의어(Structured Query Language, SQL)의 구문 형식에 상응할 수 있다.
이 때, 상기 질의 처리부는 상기 CSB-QL를 파싱한 파스트리에 기반하여 상기 구문의 오류를 검사하는 질의 파서부; 상기 파스트리에 기반하여 상기 구문의 정당성 검사를 수행하는 정당성 검증부 및 상기 오류 및 정당성 검사가 정상인 경우, 상기 구문을 수행하는 구문 수행부를 포함할 수 있다.
이 때, 상기 정당성 검증부는 상기 구문의 대상 리소스에 관한 존재 여부 및 접근 권한 여부를 상기 서비스 중개부로부터 수신한 상기 대상이 되는 리소스에 관한 정보에 기반하여 판단할 수 있다.
이 때, 상기 정당성 검증부는 상기 존재 여부 및 접근 권한 여부 중 적어도 하나라도 만족하지 않는 경우, 오류 결과를 출력할 수 있다.
이 때, 상기 구문 수행부는 상기 파스트리에 기반하여 상기 구문에 대한 실행 계획을 수립하고, 상기 실행 계획에 따라 상기 구문에 대한 단위 명령을 수행할 수 있다.
이 때, 상기 구문 수행부는 상기 단위 명령을 모두 수행하여 완료된 수행 결과를 취합하여 상기 사용자에게 제공할 수 있다.
또한, 상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 클라우드 서비스 브로커리 방법은 클라우드 서비스 브로커리지 장치를 이용하는 클라우드 서비스 브로커리지 방법에 있어서, 사용자로부터 클라우드 플랫폼에 대한 클라우드 서비스 브로커리지 질의어(Cloud Service Brokerage-Query Language, CSB-QL)에 기반한 클라우드 서비스 요청을 입력 받는 단계; 상기 CSB-QL에 기반한 클라우드 서비스 요청을 처리하는 단계 및 상기 CSB-QL에 기반한 클라우드 서비스 요청을 적어도 하나 이상의 클라우드 플랫폼들에게 공통적으로 수행하는 단계를 포함한다.
이 때, 상기 CSB-QL은 상기 이종 클라우드 플랫폼들에 대한 동일한 클라우드 서비스 요청을 수행하기 위하여 리소스 종류와 질의 종류에 대한 질의어를 조합하여 생성된 구문에 상응할 수 있다.
이 때, 상기 리소스 종류는 상기 클라우드 서비스 요청을 수행하기 위한 대상을 정의한 것일 수 있다.
이 때, 상기 질의 종류는 상기 대상이 되는 리소스에게 상기 클라우드 서비스 요청을 수행하기 위한 명령어를 정의한 것일 수 있다.
이 때, 상기 CSB-QL의 구문 형식은 구조화 질의어(Structured Query Language, SQL)의 구문 형식에 상응할 수 있다.
이 때, 상기 클라우드 서비스 요청을 처리하는 단계는 상기 CSB-QL를 파싱한 파스트리에 기반하여 상기 구문의 오류를 검사하는 단계; 상기 파스트리에 기반하여 상기 구문의 정당성 검사를 수행하는 단계 및 상기 오류 및 정당성 검사가 정상인 경우, 상기 구문을 수행하는 단계를 포함할 수 있다.
이 때, 상기 정당성 검사를 수행하는 단계는 상기 구문의 대상 리소스에 관한 존재 여부 및 접근 권한 여부를 상기 대상이 되는 리소스에 관한 정보에 기반하여 판단할 수 있다.
이 때, 상기 정당성 검사를 수행하는 단계는 상기 존재 여부 및 접근 권한 여부 중 적어도 하나라도 만족하지 않는 경우, 오류 결과를 출력할 수 있다.
이 때, 상기 구문을 수행하는 단계는 상기 파스트리에 기반하여 상기 구문에 대한 실행 계획을 수립하고, 상기 실행 계획에 따라 상기 구문에 대한 단위 명령을 수행할 수 있다.
이 때, 상기 구문을 수행하는 단계는 상기 단위 명령을 모두 수행하여 완료된 수행 결과를 취합하여 상기 사용자에게 제공할 수 있다.
본 발명은 질의어에 기반한 사용자 인터페이스를 통해 사용자와 클라우드 플랫폼 사이의 클라우드 서비스 브로커리지를 제공할 수 있다.
또한, 본 발명은 단일 또는 이종의 클라우드 플랫폼에게 통합된 클라우드 서비스를 요청하고, 그 결과를 제공받을 수 있다.
또한, 본 발명은 단일 또는 이종의 클라우드 플랫폼에 대한 최적 환경 및 최저 비용의 클라우드 서비스를 사용자에게 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 클라우드 서비스 브로커리지 시스템을 나타낸 도면이다.
도 2는 본 발명의 일실시예에 따른 클라우드 서비스 브로커리지 장치를 나타낸 블록도이다.
도 3은 도 2에 도시된 사용자 인터페이스부의 일 예를 세부적으로 나타낸 블록도이다.
도 4는 도 2에 도시된 질의 처리부의 일 예를 세부적으로 나타낸 블록도이다.
도 5는 본 발명의 일실시예에 따른 질의어를 입력받아 처리하는 구성을 나타낸 블록도이다.
도 6은 본 발명의 일실시예에 따른 클라우드 서비스 브로커리 방법을 나타낸 동작흐름도이다.
도 7은 도 6에 도시된 정당성 검사를 수행하는 단계의 일 예를 세부적으로 나타낸 동작흐름도이다.
도 8은 도 6에 도시된 질의 구문을 수행하는 단계의 일 예를 세부적으로 나타낸 동작흐름도이다.
도 9는 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 클라우드 서비스 브로커리지 시스템을 나타낸 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 클라우드 서비스 브로커리지(Cloud Service Brokerage, CSB) 시스템은 클라우드 서비스 브로커리지 장치(100)가클라우드 서비스 사용자의 클라우드 서비스 요청에 따라 클라우드 플랫폼의 클라우드 서비스를 중개할 수 있다.
이 때, 클라우드 플랫폼은 오픈스택 클라우드, 아마존 클라우드 및 구글 클라우드 등과 같은 다양한 이종의 클라우드 플랫폼에 상응할 수 있다.
이 때, 클라우드 서비스 브로커리지 장치(100)는 질의어를 이용한 클라우드서비스 요청에 따라 이종의 클라우드 플랫폼들에게 동일한 방법으로 제어 및 서비스 요청을 수행할 수 있다.
또한, 클라우드 서비스 브로커리지 사용자는 클라우드 서비스 제공자, 클라우드 서비스 고객 및 CSB 관리자 등을 포함할 수 있다.
CSB 관리자는 CSB 시스템을 운영 관리하는 사용자에 상응할 수 있다.
클라우드 서비스 제공자는 클라우드 서비스를 제공하는 사용자에 상응할 수 있다.
클라우드 서비스 고객은 클라우드 서비스를 제공받는 사용자에 상응할 수 있다. 각 유형의 사용자는 클라우드 서비스 브로커리지 장치(100)의 사용자 인터페이스를 이용하여 CSB 시스템의 운영 관리, 서비스 제공 대상 클라우드 서비스 플랫폼의 등록 관리, 그리고 가상 머신 및 네트워크 서비스 등의 클라우드 서비스를 요청 및 할당 받을 수 있다.
도 2는 본 발명의 일실시예에 따른 클라우드 서비스 브로커리지 장치를 나타낸 블록도이다. 도 3은 도 2에 도시된 사용자 인터페이스부의 일 예를 세부적으로 나타낸 블록도이다. 도 4는 도 2에 도시된 질의 처리부의 일 예를 세부적으로 나타낸 블록도이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 클라우드 서비스 브로커리지 장치(100)는, 질의 처리부(120), 서비스 중개부(130) 및 클라우드 연결 관리부(140)를 포함한다.
사용자 인터페이스부(110)는 사용자로부터 클라우드 플랫폼에 대한 클라우드 서비스 브로커리지 질의어(Cloud Service Brokerage-Query Language, CSB-QL)에 기반한 클라우드 서비스 요청을 입력 받을 수 있다.
도 3을 참조하면, 사용자 인터페이스부(110)는 그래픽 관리도구부(111), 질의 입력부(112), 프로그래밍 인터페이스부(113) 및 유틸리티부(114)를 포함할 수 있따.
그래픽 관리도구부(111)는 그래픽 기반의 편리한 인터페이스를 제공하는 그래픽 관리도구를 제공할 수 있다.
질의 입력부(112)는 클라우드 사용자로부터 클라우드 서비스 브로커리지 질의어(Cloud Service Brokerage-Query, Language, CSB-QL)를 입력 받을 수 있다.
이에 따라, 클라우드 서비스 브로커리지 사용자는 특별한 프로그래밍 개발이 필요 없고, 그래픽 관리도구를 통한 매뉴얼적인 방법이 아닌 질의어 형식의 가변적이고 다양한 서비스 요청을 수행할 수 있다.
이 때, 상기 CSB-QL은 상기 이종 클라우드 플랫폼들에 대한 동일한 클라우드 서비스 요청을 수행하기 위하여 리소스 종류와 질의 종류에 대한 질의어를 조합하여 생성된 구문에 상응할 수 있다.
이 때, 리소스 종류는 상기 클라우드 서비스 요청을 수행하기 위한 대상을 정의한 것일 수 있다.
대상 리소스 종류 리소스 설 명
클라우드 플랫폼 CLOUD 오픈스택, 아마존 클라우드 등의 클라우드 서비스 플랫폼
클라우드 서비스 VCL Virtual Cluster, 여러 개의 가상 머신 또는 컨테이너 머신으로 구성된 가상 클러스터
VM Virtual Machine, 가상 머신, 게스트 운영체제
CM Container Machine, 컨테이너 머신, 게스트 운영환경
SW Software, 사용자 소프트웨어
(예: mysql, tomcat)
모니터링 리소스 CPU-USG CPU 사용량
MEM-USG 메모리 사용량
DISK-USG 디스크 사용량
NET-USG 네트워크 사용량
표 1을 참조하면, 본 발명의 일실시예에 따른 클라우드 서비스 브로커리지 장치(100)가 제공하는 CSB-QL의 대상은 클라우드 서비스 자원인 것을 알 수 있다.
이 때, 클라우드 서비스 브로커리지 장치(100)는 이종의 클라우드 플랫폼에게 클라우드 서비스 요청을 통합하여 요청하기 위해서, 표 1과 같은 공통된 리소스 모델을 제공할 수 있다.
클라우드 서비스 사용자는 표 1과 같은 대상 리소스 종류에 기반하여 CSB-QL의 대상에 대한 리소스의 생성, 조회 및 삭제 등의 처리를 요청할 수 있다.
또한, 질의 종류는 상기 대상이 되는 리소스에게 상기 클라우드 서비스 요청을 수행하기 위한 명령어를 정의한 것일 수 있다.
질의 종류 질의어 설 명
서비스 자원 관리 CREATE CLOUD 등록 및 VCL, VM, CM 등 생성
DROP CLOUD 해제 및 VCL, VM, CM 등 삭제
가상클러스터 관리 INSERT VCL에 VM 또는 CM 추가
DELETE VCL에 VM 또는 CM 제거
서비스 정보 제공 SHOW CLOUD, VCL 목록 제공
DESC CLOUD, VCL, VM, CM 등 구성 정보 제공
SELECT 조건에 맞는 VM, CM 정보 및 모니터링 정보 제공
서비스 실행 제어 RUN VCL 및 VM, CM 실행
PAUSE VCL 및 VM, CM 잠시 멈춤
RESUME VCL 및 VM, CM 재개
STOP VCL 및 VM, CM 종료
SW 관리 INSTALL 특정 VCL 및 VM, CM에 SW 설치
UNINSTALL 특정 VCL 및 VM, CM에 SW 삭제
표 2를 참조하면, 본 발명의 일실시예에 따른 클라우드 서비스 브로커리지 장치(100)가 제공하는 CSB-QL의 질의 종류는 질의어로 사용 가능한 자원 대상 및 명령에 대한 규격을 질의어로 나타낸 것을 알 수 있다.
또한, CSB-QL의 구문 형식은 구조화 질의어(Structured Query Language, SQL)의 구문 형식에 상응할 수 있다.
질의어 예 시
CREATE <특정 오픈스택 클라우드(openstack01) 등록>
create CLOUD openstack01(provider openstack, url 10.10.10.02, user userid, password pw01);
<특정 VM(vm01) 생성>
create VM vm01(image image01, cpu 4, memory 14G, disk 100M);
<VM 10개 생성>
create VM vcl01*10 (image image01, cpu 4, memory 14G, disk 100M);
<VM 10개로 구성된(VM 2개+VM 8개) VCL 생성>
create VCL vcl02(2*(image image01, cpu 8, memory 32G, disk 1T),
8*(image image02, cpu 4, memory 14G, disk 100M));
DROP <특정 오픈스택 클라우드(openstack01) 삭제>
drop CLOUD openstack01;
<특정 VCL(vcl01) 삭제>
drop VCL vcl01;
<특정 VM(vm01) 삭제>
drop VM vm01;
INSERT <특정 VCL(vcl01)에 VM 2개(vm01, vm02) 추가>
insert into vcl01 values(vm01, vm02);
DELETE <VCL에 vm02 VM 삭제>
delete from vcl01 where name='vm02';
SHOW <등록된 클라우드 플랫폼 목록>
show clouds;
<생성된 VCL 목록>
show vcls;
DESC <VCL 구성 정보: 소속 VM 목록>
desc vcl01;
<VM 구성 정보 >
desc vm01;
SELECT <VCL 구성 중인 VM 중 메모리 50G 이상인 VM 목록>
select * from vcl01 where memory>50G;
<VCL 구성 중인 VM이 사용한 이미지 목록>
select image from vcl02;
<특정 클라우드에 생성된 VCL 목록>
select * from openstack01.vcl;
<특정 클라우드의 VCL 중 'image01'이미지 이용 VM 포함하는 VCL 목록>
select * from openstack01.vcl where image='image01';
<특정 VM(vm01)의 CPU, 메모리 사용량 정보: 100초 주기 제공>
select cpu-usg, mem-usg from vm01 with interval=100s;
RUN <특정 VCL(vlc01) 실행>
run vcl01;
<특정 VM(vm01) 실행>
run vm01;
PAUSE <특정 VCL(vlc01) 잠시 멈춤>
pause vcl01;
<특정 VM(vm01) 잠시 멈춤>
pause vm01;
RESUME <특정 VCL(vlc01) 재개>
resume vcl01;
<특정 VM(vm01) 재개>
resume vm01;
STOP <특정 VCL(vlc01) 종료>
stop vcl01;
<특정 VM(vm01) 종료>
stop vm01;
INSTALL <특정 VCL(vlc01)의 모든 VM에 mysql, tomcat 설치>
Install into vcl01values(mysql, tomcat);
<특정 VM(vm03)에 mysql 설치>
Install into vm03values(mysql);
UNINSTALL <특정 VCL(vlc01)의 모든 VM에서 mysql 삭제>
unInstall mysql from vcl02;
<특정 VM(vm03)에 mysql 삭제>
unInstall mysql from vm03;
표 3을 참조하면, 표 1과 표 2에서 기재된 CSB-QL의 대상 자원과 질의 종류에 기반하여 생성된 구문의 일 예를 나타낸 것을 알 수 있다.
이에 따라, 클라우드 서비스 사용자는 표 3에 기재된 구문뿐만 아니라 다양한 조합의 질의어를 이용한 클라우드 서비스 요청을 수행할 수 있다.
이 때, 클라우드 서비스 브로커리지 장치(100)는 질의어 입력부(120)를 통해 사용자로부터 CSB-QL가 조합된 구문을 입력 받아 클라우드 서비스 요청을 인식할 수 있고, 정상적인 클라우드 서비스 요청인 경우, 이종의 클라우드 플랫폼에게 공통적인 클라우드 서비스 요청을 수행할 수 있다.
프로그래밍 인터페이스부(113)는 자바, 레스트풀(Restful) 인터페이스 등과 같은 프로그래밍 인터페이스를 제공할 수 있다.
유틸리티부(114)는 터미널 상에서 동적으로 명령을 통한 제어를 제공할 수 있다.
질의 처리부(120)는 CSB-QL에 기반한 클라우드 서비스 요청을 처리하고, 처리 결과를 상기 사용자에게 반환할 수 있다.
이 때, 질의 처리부(120)는 서비스 중개부(130)의 세부 구성요소로 포함될 수도 있다.
이 때, 질의 처리부(120)는 질의 입력부(110)를 통해서 전달된 CSB-QL을 처리하여 결과를 반환할 수 있다.
이 때, 질의 처리부(120)는 CSB-QL 구문 분석(파싱)할 수 있고, 서비스 중개부(130)의 중개 엔진이 제공하는 기능 및 이를 위한 내부 인터페이스를 활용하여 질의 구문을 수행할 수도 있다.
도 4를 참조하면, 질의 처리부(120)는 질의 파서부(121), 정당성 검증부(122) 및 구문 수행부(123)를 포함할 수 있다.
질의 파서부(121)는 CSB-QL를 파싱한 파스트리에 기반하여 상기 구문의 오류를 검사할 수 있다.
정당성 검증부(122)는 파스트리에 기반하여 구문의 정당성 검사를 수행할 수 있다.
이 때, 정당성 검증부(122)는 파스트리를 순회하면서 구문의 정당성 검사를 수행할 수 있다.
이 때, 정당성 검증부(122)는 구문의 대상 리소스에 관한 존재 여부 및 접근 권한 여부를 서비스 중개부(130)로부터 수신한 상기 대상이 되는 리소스에 관한 정보에 기반하여 판단할 수 있다.
이 때, 정당성 검증부(122)는 구문의 대상 리소스에 관한 존재 여부 및 접근 권한 여부 중 적어도 하나라도 만족하지 않는 경우, 오류 결과를 출력할 수 있다.
구문 수행부(123)는 오류 및 정당성 검사가 정상인 경우, 구문을 수행할 수 있다.
이 때, 구문 수행부(123)는 파스트리에 기반하여 구문에 대한 실행 계획을 수립하고, 상기 실행 계획에 따라 상기 구문에 대한 단위 명령을 수행할 수 있다.
이 때, 구문 수행부(123)는 파스트리를 순회하면서 실행 순서 및 그룹화 등의 실행 계획을 수립할 수 있다.
이 때, 구문 수행부(123)는 단위 명령을 모두 수행하여 완료된 수행 결과를 취합하여 사용자에게 제공할 수 있다.
이 때, 구문 수행부(123)는 단위 명령을 순차적 또는 동시에 실행할 수 있다.
수행 결과는 질의어에 따라서 가상 머신 실행, 정지 등의 명령의 실행 결과일 수도 있고, 클라우드 서비스 자원 정보 및 실행 중인 가상 머신 목록 등의 정보를 제공할 수도 있다.
서비스 중개부(130)는 CSB-QL에 기반한 클라우드 서비스 요청을 처리하기 위한 정보를 질의 처리부(120)에 제공하여 클라우드 서비스를 중개할 수 있다.
이 때, 서비스 중개부(130)는 중개 정책 및 서비스 수준 협약서(Service Level Agreement, SLA) 기반의 클라우드 서비스 중개를 제공할 수 있다.
클라우드 연결 관리부(140)는 CSB-QL에 기반한 클라우드 서비스 요청을 이종의 클라우드 플랫폼들에게 공통적으로 수행할 수 있다.
도 5는 본 발명의 일실시예에 따른 질의어를 입력받아 처리하는 구성을 나타낸 블록도이다.
도 5를 참조하면, 질의어 입력부(120)는 사용자가 정의한 CSB-QL(10)을 입력 받아 질의 처리부(120)에 전달할 수 있다.
이 때, CSB-QL(10)은 표 3에 기재된 일 예와 마찬가지로 대상 자원의 질의어와 질의 종류에 대한 질의어를 다양하게 조합한 클라우드 서비스 요청에 관한 명령에 상응하는 것을 알 수 있다.
이 때, 질의 처리부(120)는 CSB-QL(10)을 입력 받아 구문 분석을 수행하고, 오류가 없는 것으로 판단된 경우, 그 결과를 다시 질의 입력부(112)에 반환하거나 사용자에게 전달할 수 있다.
이 때, 질의 처리부(120)는 CSB-QL(10)을 처리하기 위하여 서비스 중개부(130)로부터 서비스 중개 엔진이 제공하는 기능 및 이를 위한 내부 인터페이스를 이용하여 CSB-QL(10)을 처리할 수 있다.
도 6은 본 발명의 일실시예에 따른 클라우드 서비스 브로커리지 방법을 나타낸 동작흐름도이다. 도 7은 도 6에 도시된 정당성 검사를 수행하는 단계의 일 예를 세부적으로 나타낸 동작흐름도이다. 도 8은 도 6에 도시된 질의 구문을 수행하는 단계의 일 예를 세부적으로 나타낸 동작흐름도이다.
본 발명의 일실시예에 따른 클라우드 서비스 브로커리지 방법은 먼저 질의어를 파싱할 수 있다(S210).
즉, 단계(S210)는 사용자로부터 클라우드 플랫폼에 대한 클라우드 서비스 브로커리지 질의어(Cloud Service Brokerage-Query Language, CSB-QL)에 기반한 클라우드 서비스 요청을 입력 받아 CSB-QL을 파싱할 수 있다.
또한, 본 발명의 일실시예에 따른 클라우드 서비스 브로커리지 방법은 구문 오류를 검사할 수 있다(S220).
즉, 단계(S220)는 CSB-QL를 파싱한 파스트리에 기반하여 상기 구문의 오류를 검사할 수 있다.
이 때, 단계(S220)는 구문 오류가 존재하지 않는 경우, 정당성 검사를 수행할 수 있고(S230), 구문 오류가 존재하는 경우, 해당 절차를 종료할 수 있다.
또한, 본 발명의 일실시예에 따른 클라우드 서비스 브로커리지 방법은 정당성 검사를 수행할 수 있다(S230).
즉, 단계(S230)는 파스트리에 기반하여 구문의 정당성 검사를 수행할 수 있다.
이 때, 단계(S230)는 파스트리를 순회하면서 구문의 정당성 검사를 수행할 수 있다.
도 7을 참조하면, 단계(S230)는 정당성 검사를 수행하기 위하여 먼저 대상 자원의 존재 여부를 확인할 수 있다(S231).
이 때, 단계(S231)는 구문의 대상 리소스에 관한 존재 여부를 서비스 중개부(130)로부터 수신한 대상이 되는 리소스에 관한 정보에 기반하여 판단할 수 있다.
이 때, 단계(S231)는 구문의 대상 리소스가 존재하는 경우, 접근 권한이 존재하는지 여부를 확인할 수 있고(S232), 대상 리소스가 존재하지 않는 경우, 오류를 출력할 수 있다(S234).
또한, 단계(S232)는 구문에 대상 자원에 대한 접근 권한이 존재하는 지 여부를 확인할 수 있다.
이 때, 단계(S232)는 구문의 대상 리소스에 접근 권한이 존재하는 경우, 정당성 검사를 성공한 것으로 판단하여 구문을 출력할 수 있고(S233), 접근 권한이 존재하지 않는 경우, 오류를 출력할 수 있다(S234).
또한, 본 발명의 일실시예에 따른 클라우드 서비스 브로커리지 방법은 정당성 검사 결과 오류 발생했는지 확인할 수 있다(S240).
즉, 단계(S240)는 단계(S230)에서 수행된 구문의 정당성 검사 결과 오류가 발생한 경우, 해당 절차를 종료할 수 있고, 오류가 발생하지 않고 정상적인 구문이 출력된 경우, 구문을 수행할 수 있다(S250).
이 때, 단계(S250)는 구문에 대한 클라우드 서비스 요청을 단일 또는 이종의 클라우드 플랫폼들에게 공통적으로 수행할 수 있다.
이 때, 단계(S250)는 파스트리에 기반하여 상기 구문에 대한 실행 계획을 수립하고, 상기 실행 계획에 따라 상기 구문에 대한 단위 명령을 수행할 수 있다.
또한, 본 발명의 일실시예에 따른 클라우드 서비스 브로커리지 방법은 질의 결과를 출력할 수 있다(S260).
즉, 단계(S260)는 단위 명령을 모두 수행하여 완료된 수행 결과를 취합하여 클라우드 서비스 사용자에게 제공할 수 있다.
도 9는 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
도 9를 참조하면, 본 발명의 일실시예에 따른 클라우드 서비스 브로커리지 장치(100)는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1100)에서 구현될 수 있다. 도 4에 도시된 바와 같이, 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 인터페이스 입력 장치(1140), 사용자 인터페이스 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.
이상에서와 같이 본 발명에 따른 클라우드 서비스 브로커리지 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
100: 클라우드 서비스 브로커리지 장치
110: 사용자 인터페이스부 111: 그래픽 관리도구부
112: 질의 입력부 113: 프로그래밍 인터페이스부
114: 유틸리티부 120: 질의 처리부
121: 질의 파서부 122: 정당성 검증부
123: 구문 수행부
130: 서비스 중개부 140: 클라우드 연결 관리부
1100: 컴퓨터 시스템 1110: 프로세서
1120: 버스 1130: 메모리
1131: 롬 1132: 램
1140: 사용자 인터페이스 입력 장치
1150: 사용자 인터페이스 출력 장치
1160: 스토리지 1170: 네트워크 인터페이스
1180: 네트워크

Claims (20)

  1. 사용자로부터 클라우드 플랫폼에 대한 클라우드 서비스 브로커리지 질의어(Cloud Service Brokerage-Query Language, CSB-QL)에 기반한 클라우드 서비스 요청을 입력 받는 사용자 인터페이스부;
    상기 CSB-QL에 기반한 클라우드 서비스 요청을 처리하고, 처리 결과를 상기 사용자에게 반환하는 질의 처리부;
    상기 CSB-QL에 기반한 클라우드 서비스 요청을 처리하기 위한 정보를 상기 질의 처리부에 제공하여 클라우드 서비스를 중개하는 서비스 중개부; 및
    상기 CSB-QL에 기반한 클라우드 서비스 요청을 이종의 클라우드 플랫폼들에게 공통적으로 수행하는 클라우드 연결 관리부;
    를 포함하는 것을 특징으로 하는 클라우드 서비스 브로커리지 장치.
  2. 청구항 1에 있어서,
    상기 CSB-QL은
    상기 이종 클라우드 플랫폼들에 대한 동일한 클라우드 서비스 요청을 수행하기 위하여 리소스 종류와 질의 종류에 대한 질의어를 조합하여 생성된 구문에 상응하는 것을 특징으로 하는 클라우드 서비스 브로커리지 장치.
  3. 청구항 2에 있어서,
    상기 리소스 종류는
    상기 클라우드 서비스 요청을 수행하기 위한 대상을 정의한 것을 특징으로 하는 클라우드 서비스 브로커리지 장치.
  4. 청구항 3에 있어서,
    상기 질의 종류는
    상기 대상이 되는 리소스에게 상기 클라우드 서비스 요청을 수행하기 위한 명령어를 정의한 것을 특징으로 하는 클라우드 서비스 브로커리지 장치.
  5. 청구항 4에 있어서,
    상기 CSB-QL의 구문 형식은
    구조화 질의어(Structured Query Language, SQL)의 구문 형식에 상응하는 것을 특징으로 하는 클라우드 서비스 브로커리지 장치.
  6. 청구항 5에 있어서,
    상기 질의 처리부는
    상기 CSB-QL를 파싱한 파스트리에 기반하여 상기 구문의 오류를 검사하는 질의 파서부;
    상기 파스트리에 기반하여 상기 구문의 정당성 검사를 수행하는 정당성 검증부; 및
    상기 오류 및 정당성 검사가 정상인 경우, 상기 구문을 수행하는 구문 수행부;
    를 포함하는 것을 특징으로 하는 클라우드 서비스 브로커리지 장치.
  7. 청구항 8에 있어서,
    상기 정당성 검증부는
    상기 구문의 대상 리소스에 관한 존재 여부 및 접근 권한 여부를 상기 서비스 중개부로부터 수신한 상기 대상이 되는 리소스에 관한 정보에 기반하여 판단하는 것을 특징으로 하는 클라우드 서비스 브로커리지 장치.
  8. 청구항 7에 있어서,
    상기 정당성 검증부는
    상기 존재 여부 및 접근 권한 여부 중 적어도 하나라도 만족하지 않는 경우, 오류 결과를 출력하는 것을 특징으로 하는 것을 특징으로 하는 클라우드 서비스 브로커리지 장치.
  9. 청구항 8에 있어서,
    상기 구문 수행부는
    상기 파스트리에 기반하여 상기 구문에 대한 실행 계획을 수립하고, 상기 실행 계획에 따라 상기 구문에 대한 단위 명령을 수행하는 것을 특징으로 하는 클라우드 서비스 브로커리지 장치.
  10. 청구항 9에 있어서,
    상기 구문 수행부는
    상기 단위 명령을 모두 수행하여 완료된 수행 결과를 취합하여 상기 사용자에게 제공하는 것을 특징으로 하는 클라우드 서비스 브로커리지 장치.
  11. 클라우드 서비스 브로커리지 장치를 이용하는 클라우드 서비스 브로커리지 방법에 있어서,
    사용자로부터 클라우드 플랫폼에 대한 클라우드 서비스 브로커리지 질의어(Cloud Service Brokerage-Query Language, CSB-QL)에 기반한 클라우드 서비스 요청을 입력 받는 단계;
    상기 CSB-QL에 기반한 클라우드 서비스 요청을 처리하는 단계; 및
    상기 CSB-QL에 기반한 클라우드 서비스 요청을 적어도 하나 이상의 클라우드 플랫폼들에게 공통적으로 수행하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 서비스 브로커리지 방법.
  12. 청구항 11에 있어서,
    상기 CSB-QL은
    이종의 클라우드 플랫폼들에 대한 동일한 클라우드 서비스 요청을 수행하기 위하여 리소스 종류와 질의 종류에 대한 질의어를 조합하여 생성된 구문에 상응하는 것을 특징으로 하는 클라우드 서비스 브로커리지 방법.
  13. 청구항 12에 있어서,
    상기 리소스 종류는
    상기 클라우드 서비스 요청을 수행하기 위한 대상을 정의한 것을 특징으로 하는 클라우드 서비스 브로커리지 방법.
  14. 청구항 13에 있어서,
    상기 질의 종류는
    상기 대상이 되는 리소스에게 상기 클라우드 서비스 요청을 수행하기 위한 명령어를 정의한 것을 특징으로 하는 클라우드 서비스 브로커리지 방법.
  15. 청구항 14에 있어서,
    상기 CSB-QL의 구문 형식은
    구조화 질의어(Structured Query Language, SQL)의 구문 형식에 상응하는 것을 특징으로 하는 클라우드 서비스 브로커리지 방법.
  16. 청구항 15에 있어서,
    상기 클라우드 서비스 요청을 처리하는 단계는
    상기 CSB-QL를 파싱한 파스트리에 기반하여 상기 구문의 오류를 검사하는 단계;
    상기 파스트리에 기반하여 상기 구문의 정당성 검사를 수행하는 단계; 및
    상기 오류 및 정당성 검사가 정상인 경우, 상기 구문을 수행하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 서비스 브로커리지 방법.
  17. 청구항 18에 있어서,
    상기 정당성 검사를 수행하는 단계는
    상기 구문의 대상 리소스에 관한 존재 여부 및 접근 권한 여부를 상기 대상이 되는 리소스에 관한 정보에 기반하여 판단하는 것을 특징으로 하는 클라우드 서비스 브로커리지 방법.
  18. 청구항 17에 있어서,
    상기 정당성 검사를 수행하는 단계는
    상기 존재 여부 및 접근 권한 여부 중 적어도 하나라도 만족하지 않는 경우, 오류 결과를 출력하는 것을 특징으로 하는 것을 특징으로 하는 클라우드 서비스 브로커리지 방법.
  19. 청구항 18에 있어서,
    상기 구문을 수행하는 단계는
    상기 파스트리에 기반하여 상기 구문에 대한 실행 계획을 수립하고, 상기 실행 계획에 따라 상기 구문에 대한 단위 명령을 수행하는 것을 특징으로 하는 클라우드 서비스 브로커리지 방법.
  20. 청구항 19에 있어서,
    상기 구문을 수행하는 단계는
    상기 단위 명령을 모두 수행하여 완료된 수행 결과를 취합하여 상기 사용자에게 제공하는 것을 특징으로 하는 클라우드 서비스 브로커리지 방법.
KR1020170144492A 2017-11-01 2017-11-01 클라우드 서비스 브로커리지 장치 및 방법 KR20190049059A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170144492A KR20190049059A (ko) 2017-11-01 2017-11-01 클라우드 서비스 브로커리지 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170144492A KR20190049059A (ko) 2017-11-01 2017-11-01 클라우드 서비스 브로커리지 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20190049059A true KR20190049059A (ko) 2019-05-09

Family

ID=66546018

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170144492A KR20190049059A (ko) 2017-11-01 2017-11-01 클라우드 서비스 브로커리지 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20190049059A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102206847B1 (ko) * 2019-07-18 2021-01-25 메가존클라우드 주식회사 하이브리드 보안 시스템 및 통합보안방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102206847B1 (ko) * 2019-07-18 2021-01-25 메가존클라우드 주식회사 하이브리드 보안 시스템 및 통합보안방법

Similar Documents

Publication Publication Date Title
US11875173B2 (en) Execution of auxiliary functions in an on-demand network code execution system
US10884722B2 (en) Cross-environment application of tracing information for improved code execution
US10817331B2 (en) Execution of auxiliary functions in an on-demand network code execution system
US20230396669A1 (en) Technologies for transparent function as a service arbitration for edge systems
US11119813B1 (en) Mapreduce implementation using an on-demand network code execution system
US8612577B2 (en) Systems and methods for migrating software modules into one or more clouds
CN110191063B (zh) 服务请求的处理方法、装置、设备及存储介质
US8904005B2 (en) Indentifying service dependencies in a cloud deployment
US8260931B2 (en) Secure provisioning of resources in cloud infrastructure
JP2021529386A (ja) オンデマンドネットワークコード実行システム上での補助機能の実行
WO2019184164A1 (zh) 自动部署Kubernetes从节点的方法、装置、终端设备及可读存储介质
JP2018088293A (ja) 単一テナント及び複数テナント環境を提供するデータベースシステム
US8782795B1 (en) Secure tenant assessment of information technology infrastructure
CN104009880A (zh) Web测试方法、代理服务器和Web测试装置
US20220398119A1 (en) Apparatus and method for providing virtual multi-cloud service
US9898273B1 (en) Dynamically updating APIS based on updated configuration file of a computing system
KR20190049059A (ko) 클라우드 서비스 브로커리지 장치 및 방법
US20220335047A1 (en) System and method for dynamic memory allocation for query execution
US11456919B2 (en) Input and output for target device communication
WO2021232860A1 (zh) 通信方法、装置及系统
CN114780228A (zh) 一种混合云资源创建方法及系统
KR20150137766A (ko) 가상머신 스택 생성 시스템 및 방법
CN116089020B (zh) 虚拟机运行方法、扩容方法、扩容系统
KR102320258B1 (ko) 웹 애플리케이션 서비스 제공 시스템 및 그 서비스 제공 방법과 이를 위한 프로그램
CN108319500B (zh) 一种云计算系统的操作方法、装置及电子设备